Minecraft texture renderer.

0.2.1 2021-08-15 06:57 UTC

This package is auto-updated.

Last update: 2024-02-15 12:37:48 UTC


Minecraft texture renderer written in pure PHP.


composer require blessing/texture-renderer


At all the code examples below, we assume you've prepared your texture source as the variable $source. The source can be a file path, a URL, or a string represents texture binary.

High Level API

All the high level APIs will return a GD resource.

use Blessing\Minecraft;

$m = new Minecraft();
$resource = $m->renderSkin($source, /* optional */ $ratio, /* optional */ $isAlex);
$resource = $m->renderCape($source, $height);
$resource = $m->render2dAvatar($source, /* optional */ $ratio);
$resource = $m->render3dAvatar($source, /* optional */ $ratio);

Low Level API

This library contains two renderers: skin renderer and cape renderer.

Skin Renderer

The constructor of the skin renderer can accept many parameters (all are optional). For example, you can specify $ratio, $headOnly, $horizontalRotation, $verticalRotation. For details, please check out the source code.

use Blessing\Renderer\SkinRenderer;

$renderer = new SkinRenderer();
$resource = $renderer->render($source, $isAlex);  // returns GD resource

As you can see above, the second parameter of the render method will tell the renderer whether your texture is of Alex model or not. Default value is false.

Cape Renderer

Two arguments below are necessary.

The $height stands for the height of rendered image.

use Blessing\Renderer\CapeRenderer;

$renderer = new CapeRenderer();
$resource = $renderer->render($source, $height);  // returns GD resource

Utility Functions


This utility can be used to detect if a texture is an alex texture.

use Blessing\Renderer\TextureUtil;

$isAlex = TextureUtil::isAlex($texture); // returns bool type


MIT License

2020-present (c) The Blessing Skin Team