PHPackages                             aternos/renderchest - PHPackages - PHPackages  [Skip to content](#main-content)[PHPackages](/)[Directory](/)[Categories](/categories)[Trending](/trending)[Leaderboard](/leaderboard)[Changelog](/changelog)[Analyze](/analyze)[Collections](/collections)[Log in](/login)[Sign up](/register)

1. [Directory](/)
2. /
3. [Image &amp; Media](/categories/media)
4. /
5. aternos/renderchest

ActiveLibrary[Image &amp; Media](/categories/media)

aternos/renderchest
===================

PHP library for rendering icons for Minecraft items directly from Minecraft's assets

v5.0.0(3mo ago)292742MITPHPPHP &gt;=8.1

Since Mar 15Pushed 2mo ago1 watchersCompare

[ Source](https://github.com/aternosorg/renderchest)[ Packagist](https://packagist.org/packages/aternos/renderchest)[ RSS](/packages/aternos-renderchest/feed)WikiDiscussions master Synced 3w ago

READMEChangelog (10)Dependencies (2)Versions (62)Used By (0)

renderchest
===========

[](#renderchest)

Renderchest is a PHP library for rendering icons for Minecraft items directly from Minecraft's assets. A CSS library for using the icons in web pages is also generated.

### Builtin models

[](#builtin-models)

While most block/item models in Minecraft are saved in Minecraft's JSON model format nowadays, some models are still hard-coded in Java (e.g. chests, shulker boxes).
These models are inaccessible to the game's resource pack system and cannot be rendered by renderchest. Renderchest therefore includes a number of built-in model files to replace these hard-coded models.

Renderchest also includes model files for the heads of most mobs. These models can be used by rendering the `mobheads` namespace.

### Tinting

[](#tinting)

Some textures are dynamically tinted by the game (e.g. vegetation and grass blocks). This information can't be extracted from the asset files and therefore is hard-coded in renderchest.

### Requirements

[](#requirements)

- PHP 8.1+
- ext-imagick
- ext-pcntl (optional, allows more efficient multithreading)

### Windows support

[](#windows-support)

While Renderchest will generally work on Windows, it will be much slower since asynchronous tasks are not supported. It is therefore recommended to use the [Windows Subsystem for Linux](https://learn.microsoft.com/en-us/windows/wsl/install) to run renderchest on Windows.

### Usage

[](#usage)

To use renderchest, a valid Minecraft assets directory is required. It can be extracted from a Minecraft client jar file.

### CLI usage

[](#cli-usage)

#### Installation

[](#installation)

```
git clone https://github.com/aternosorg/renderchest.git
cd renderchest
composer install
```

#### Rendering icons

[](#rendering-icons)

```
./renderchest --assets path/to/assets/root --output path/to/output/dir --namespace minecraft
```

```
OPTIONS
  --assets, -a       Assets folder to use. Multiple assets folders are possible,
                     but a base assets folder extracted from the Minecraft jar
                     should always be included.
  --fallback         Create a set of fallback textures as PNGs. Default: false
  --format, -f       Output image format. Default: webp
  --help, -?         Display this help.
  --item-list, -i    Create a JSON file containing the names of all rendered
                     items.
  --namespace, -n    Asset namespace that the items should be rendered from.
                     Default: minecraft
  --output, -o       Output directory
  --prefix, -p       Prefix to use for CSS classes. Default: rc-
  --quality, -q      When generating very small icons, small issues (like
                     z-fighting of faces close to each other) can occur. This
                     option allows rendering images in a higher resolution and
                     scaling them down for the final icon. Default: 2
  --size, -s         Size of the generated item icons. Default: 64

```

Renderchest uses [Taskmaster](https://github.com/aternosorg/taskmaster) for asynchronous tasks, which can be configured [using environment variables](https://github.com/aternosorg/taskmaster#defining-workers-using-environment-variables).

#### Using resource packs

[](#using-resource-packs)

Resource packs can be added by specifying multiple asset paths. It is also important to always include the base assets folder extracted from the Minecraft jar.

```
./renderchest --assets path/to/resource-pack/assets --assets path/to/assets/root --output path/to/output/dir --namespace minecraft
```

Make sure to use the path to the assets folder within your resource pack, not the root of the resource pack.

### Using the generated CSS library

[](#using-the-generated-css-library)

The generated CSS library can be used to display the rendered icons in web pages. All generated CSS classes are prefixed with `rc-` by default. Whenever a CSS class name contains a namespaced ID, the namespace is separated from the ID by an underscore (e.g. `minecraft:stone` -&gt; `minecraft_stone`).

```

```

The `rc-item` class is required for all icons. Additionally, a class for the item/block is required.

Enchanted items can be displayed by adding the `rc-enchanted` class.

```

```

#### Armor trims

[](#armor-trims)

Armor trims can be displayed by adding a `rc-trim-[material]` class.

```

```

#### Decorated pots

[](#decorated-pots)

Decorated pots can be displayed by adding `rc-pot-1-[material-1]` and `rc-pot-2-[material-3]` classes.

```

```

Only the first and third material are required because the other sides of the pot are not visible.

#### Crossbow projectiles

[](#crossbow-projectiles)

Crossbow projectiles can be displayed by adding `rc-projectile-[material]` classes.

```

```

#### Dynamic tinting

[](#dynamic-tinting)

Icons can consist of two layers, which can be separately tinted using CSS. This is necessary whenever colors can change dynamically based on item properties (e.g. dyed leather armor or potions).

Dynamic colors can be added by setting the `--rc-layer-1-tint` and `--rc-layer-2-tint` CSS variables.

```

```

### Using renderchest as a library

[](#using-renderchest-as-a-library)

#### Installation

[](#installation-1)

```
composer require aternos/renderchest
```

When using renderchest as a library, the `ItemLibraryGenerator` class can be used to replicate the functionality of the CLI tool.

```
ItemLibraryGenerator::fromAssetsFolders(["path/to/assets"], "path/to/output")
    ->setNamespaces(["minecraft"])
    ->setSize(64)
    ->setQuality(2)
    ->setFormat("webp")
    ->render();
```

It is also possible to load specific models from a resource manager instead of rendering everything.

```
$resourceManager = new \Aternos\Renderchest\Resource\FolderResourceManager(["path/to/assets"]);
$model = $resourceManager->getModel(new \Aternos\Renderchest\Resource\ResourceLocator("minecraft", "item/stone"));

$image = $model->render(64, 64, \Aternos\Renderchest\Vector\Matrix4::identity(), \Aternos\Renderchest\Vector\Matrix4::identity());
```

The `$outer` and `$inner` parameters of the `render` method can be used to apply transformations to the rendered model before or after the GUI display transformation is applied.

###  Health Score

50

—

FairBetter than 95% of packages

Maintenance83

Actively maintained with recent releases

Popularity26

Limited adoption so far

Community9

Small or concentrated contributor base

Maturity68

Established project with proven stability

 Bus Factor1

Top contributor holds 100% of commits — single point of failure

How is this calculated?**Maintenance (25%)** — Last commit recency, latest release date, and issue-to-star ratio. Uses a 2-year decay window.

**Popularity (30%)** — Total and monthly downloads, GitHub stars, and forks. Logarithmic scaling prevents top-heavy scores.

**Community (15%)** — Contributors, dependents, forks, watchers, and maintainers. Measures real ecosystem engagement.

**Maturity (30%)** — Project age, version count, PHP version support, and release stability.

###  Release Activity

Cadence

Every ~19 days

Recently: every ~10 days

Total

60

Last Release

69d ago

Major Versions

v1.5.0 → v2.0.02023-10-30

1.21.4.x-dev → v3.0.02024-11-27

v3.12.1 → v4.0.02026-01-23

v4.0.0 → v5.0.02026-03-05

### Community

Maintainers

![](https://www.gravatar.com/avatar/182e603c02f308d1036a1ecaba0b994665e87d13a86ff4550a96c9189a92c544?d=identicon)[aternos](/maintainers/aternos)

---

Top Contributors

[![KurtThiemann](https://avatars.githubusercontent.com/u/26512466?v=4)](https://github.com/KurtThiemann "KurtThiemann (94 commits)")

---

Tags

cssiconrenderminecraftitem

### Embed Badge

![Health badge](/badges/aternos-renderchest/health.svg)

```
[![Health](https://phpackages.com/badges/aternos-renderchest/health.svg)](https://phpackages.com/packages/aternos-renderchest)
```

###  Alternatives

[jkphl/iconizr

A PHP command line tool for converting SVG images to a set of CSS icons (SVG &amp; PNG, single icons and / or CSS sprites) with support for image optimization and Sass output

4869.0k](/packages/jkphl-iconizr)[jaysalvat/image2css

Pointless Image To CSS box-shadow Converter

7151.5k](/packages/jaysalvat-image2css)[lordelph/icofileloader

High quality PHP package for reading and converting any .ico icon file, particularly website favicons

40137.4k](/packages/lordelph-icofileloader)[urlbox/screenshots

Use urlbox to easily generate website thumbnail screenshots from a URL

11258.7k](/packages/urlbox-screenshots)[eskandari/persianrender

PersianRender,Free persian letter conertor for using in php GD, etc.

2615.9k](/packages/eskandari-persianrender)[libre3d/render-3d

Wrapper library to help render preview images for common 3D file formats.

331.4k](/packages/libre3d-render-3d)

PHPackages © 2026

[Directory](/)[Categories](/categories)[Trending](/trending)[Changelog](/changelog)[Analyze](/analyze)
