> For the complete documentation index, see [llms.txt](https://resource.colingrimes.me/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://resource.colingrimes.me/resource-packs.md).

# Resource Packs

### File Structure

* **Blocks**: `assets/minecraft/models/block` - This directory contains JSON files defining the appearances of blocks placed in the world.
* **Items**: `assets/minecraft/models/item` - This directory is for JSON files that determine how items (without a block form) appear in the game, such as in inventories or when held.

### Block Bench

An easy-to-use 3D modeling application where you can model, texture, and animate 3D block-based models with an intuitive interface.

**Exports**: BlockBench can export models as a single JSON file, which includes not just the model's geometry but also its texture mapping and, importantly, display settings for how the model should appear when held or in inventory.

**Texture Mapping:**

1. To define the texture mapping of a model, double-click the created texture.

<figure><img src="/files/nEPnjB2AioGxj8U8N7zW" alt="" width="364"><figcaption><p>For block models, make sure you set the "Use for particles" option as well.</p></figcaption></figure>

2. From here, you can define the `name` of your texture, whether it's a `block` or `item` texture, and the `namespace` that you store your custom textures.

<figure><img src="/files/JgCQW8ek8ru6SNbtWTXm" alt="" width="375"><figcaption></figcaption></figure>

{% hint style="info" %}
If you are making a custom model with your texture, you can customize the `name` and `namespace` for organization purposes.

However, if you are creating the texture just to replace an existing Minecraft texture, the `name` must correspond to an existing texture and the `namespace` must be `minecraft`.
{% endhint %}

### **Handling Block and Item Models**

* **Blocks with Item Forms**: When creating a custom block that also has an item form (e.g., a custom ore), you typically place your model in the `models/block` directory. Minecraft automatically uses this model for the item representation, leveraging the `display` settings within the JSON file to adjust its appearance in the inventory, hand, etc.
* **Items Without Block Forms**: For items that don't have a corresponding block in the game (e.g., tools or food), their models go directly into `models/item`. These models define how the item appears in various contexts without needing to be placed as a block.
