Bunny Ears
Bunny Ears is a client-side-only mod that allows you to customize armor models by renaming items. Add your own models through resource packs, share them with friends - and voila! Instead of a boring helmet, you'll have bunny ears!
How to Use
Rename an armor piece on an anvil to one of the names supported by your resource pack. Instead of the standard armor model, your custom model will be displayed! The mod can even load different models depending on the item's durability.
This mod changes all armor models, not just the helmet!
Adding Custom Models
To create a custom hat, create a resource pack with the following content:
- Model
- Texture
hats.json
file
Model
The mod uses the same model format as blocks and items. The model must be saved at assets/[namespace]/models/hat/[model_name].json
Tips for creating models:
- The player's head is 8x8x8 and centered under the 0,0 plane, facing north
- Textures the size of a block or item (16x16) are most compatible. If larger textures are needed, keep the image size a power of two (e.g., 32x32 or 64x64)
Texture
The texture for each model is defined in the model itself. They don't need to be registered separately. You can use existing block textures or create your own.
For example, texture ID bunnyears:head/bunny_ears
loads a texture from assets/bunnyears/textures/head/bunny_ears.png
JSON
Register the model by adding an entry to assets/bunnyears/hats.json
. The JSON file must contain:
[equipment_slot]
: name of the item slot. Can be"head"
,"chest"
,"legs"
, or"feet"
[body_part]
: body part to display the model. Can be"head_part"
,"chest_part"
,"left_arm_part"
,"right_arm_part"
,"left_leg_part"
, or"right_leg_part"
. Contains one or more of the following:damage
: minimum durability damage to apply the model. Optional. Defaults to 0.model
: namespaced ID of the model. Required.
Example
The following example hats.json file is located at assets/bunnyears/hats.json
.
It specifies that head items with the custom name "bunny" should display the model from assets/bunnyears/models/head/bunny_ears.json
when the item has no damage.
The hat will use the model from assets/bunnyears/models/head/bunny_ears_one_down.json
when the item has at least 65% damage.
The hat will use the model from assets/bunnyears/models/head/bunny_ears_both_down.json
when the item has at least 75% damage.
Additionally, a head item with this custom name will display a chest model from assets/bunnyears/models/chest/bunny_tail.json
. The chestplate armor model will still be displayed.
Next, the file specifies that leg items with the custom name "bunny" should display models from assets/bunnyears/models/left_leg/bunny_left_leg.json
and assets/bunnyears/models/right_leg/bunny_right_leg.json
.
There are no entries under chest
or feet
, so this resource pack will not register additional models for these equipment slots.
{
"head": { // equipment slot
"bunny": { // custom head item name
"head_part": [ // models to display on head
{
"model": "bunnyears:head/bunny_ears" // model location
},
{
"damage": 65, // minimum damage percentage to select this model, defaults to 0
"model": "bunnyears:head/bunny_ears_one_down"
},
{
"damage": 75,
"model": "bunnyears:head/bunny_ears_both_down"
}
],
"chest_part": [ // models to display on chest
{
"model": "bunnyears:chest/bunny_tail"
}
],
"left_arm_part": [], // models to display on left arm, not required
"right_arm_part": [] // models to display on right arm, not required
}
},
"chest": {},
"legs": {
"bunny": {
"left_leg_part": [
{
"model": "bunnyears:left_leg/bunny_left_leg"
}
],
"right_leg_part": [
{
"model": "bunnyears:right_leg/bunny_right_leg"
}
]
}
},
"feet": {}
}