Resource Packs

Resource packs allow you to customize the model/texture of blocks and items.

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.

For block models, make sure you set the "Use for particles" option as well.
  1. 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.

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.

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.

Last updated