Skip to content

Resource Conventions

Moth edited this page Aug 9, 2026 · 1 revision

Resource Conventions

Butterfly API uses normal Minecraft 1.21.11 resource locations.

This page collects the resource paths used by the systems documented elsewhere in the wiki.

Item Resources

Minecraft 1.21.11 uses both an item definition and an item model.

For an item named:

example_item

the common paths are:

assets/<modid>/items/example_item.json
assets/<modid>/models/item/example_item.json

This also applies to block items.

Separate GUI and Held Models

Items using Butterfly's separate GUI and held model helper use:

assets/<modid>/items/<id>.json
assets/<modid>/models/item/<id>.json
assets/<modid>/models/item/<id>_held.json

The GUI model acts as the fallback for inventory, ground, fixed, and other contexts.

The held model is used in:

firstperson_lefthand
firstperson_righthand
thirdperson_lefthand
thirdperson_righthand

See Items.

Block Resources

Common block resources are:

assets/<modid>/blockstates/<id>.json
assets/<modid>/models/block/<id>.json
assets/<modid>/textures/block/<id>.png

Block loot tables are commonly stored at:

data/<modid>/loot_table/blocks/<id>.json

Recipes are commonly stored at:

data/<modid>/recipe/<id>.json

See Blocks and Multiblocks.

Creative Tab Translations

A simple creative tab uses the default translation key:

itemGroup.<modid>.<path>

For example:

itemGroup.example_mod.main

Translations belong in:

assets/<modid>/lang/en_us.json

Example:

{
  "itemGroup.example_mod.main": "Example Mod"
}

Creative Tab Categories

Category translation keys can follow patterns such as:

itemGroup.<modid>.category.<category>

Example:

itemGroup.example_mod.category.materials

And:

{
  "itemGroup.example_mod.category.materials": "Materials"
}

See Creative Tabs.

Creative Tab Backgrounds

A custom creative tab background can use a texture such as:

assets/<modid>/textures/gui/example_tab.png

and be referenced with:

.backgroundTexture(
        MOD.id("textures/gui/example_tab.png")
)

Sounds

Sound definitions belong in:

assets/<modid>/sounds.json

Sound files are stored under:

assets/<modid>/sounds/

For example:

assets/example_mod/sounds/silk_chime.ogg

Plush Resources

A plush normally uses:

assets/<modid>/blockstates/<plush>.json
assets/<modid>/models/block/<plush>.json
assets/<modid>/models/item/<plush>.json
assets/<modid>/items/<plush>.json
assets/<modid>/textures/block/<plush>.png
assets/<modid>/sounds.json
assets/<modid>/sounds/<plush>_honk.ogg

data/<modid>/loot_table/blocks/<plush>.json
data/<modid>/recipe/<plush>.json

The default plush sound ID is:

<modid>:<plush_path>_honk

See Plush Resources.

Enchantments

Enchantments are data-driven in Minecraft 1.21.11.

Entries belong under:

data/<modid>/enchantment/

Painting Variants

Painting variants are also data-driven.

Entries belong under:

data/<modid>/painting_variant/

Troubleshooting Resource Problems

If an item or block item model is missing, make sure both of these exist:

assets/<modid>/items/<id>.json
assets/<modid>/models/item/<id>.json

If a plush model is missing, verify that all plush resource files use the exact same plush ID.

See Troubleshooting for more common resource problems.

Related Pages

Clone this wiki locally