Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/skyjay1/bunny-ears
Customizable cosmetic hats and ears
https://github.com/skyjay1/bunny-ears
Last synced: about 1 month ago
JSON representation
Customizable cosmetic hats and ears
- Host: GitHub
- URL: https://github.com/skyjay1/bunny-ears
- Owner: skyjay1
- License: gpl-3.0
- Created: 2022-08-12T05:26:35.000Z (over 2 years ago)
- Default Branch: forge-1.19
- Last Pushed: 2022-08-19T20:42:53.000Z (over 2 years ago)
- Last Synced: 2024-11-04T03:25:03.743Z (3 months ago)
- Language: Java
- Size: 107 KB
- Stars: 1
- Watchers: 1
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
# Bunny Ears
This is a small but powerful client-side mod that can display armor using custom models. Users can define their own models using a resource pack.
Note: all users must have the mod and the same resource pack in order to see models on another player.
## Adding Custom Models
To add a custom hat, create a resource pack with the following:
- [Model](#model)
- [Texture](#texture)
- [hats.json](#json)### Model
This mod uses the same model format as blocks and items. The model must be saved under `assets/[namespace]/models/hat/[model_name].json`
Tips for designing your model:
- The player head is 8x8x8 and is centered underneath the 0,0 plane _facing north_.
- Textures that are the same size as a block or item (16x16) are the most compatible. If larger textures are required, keep the image size a power of 2 (eg, 32x32 or 64x64)### Texture
The texture for each model is defined in the model itself. These do not need to be registered anywhere.
### JSON
Register the model by adding an entry to `assets/bunnyears/hats.json`. The JSON file must contain the following:
- `[equipment_slot]`: the name of an item equipment slot. Can be `"head"`, `"chest"`, `"legs"`, or `"feet"`
- `[item_name]`: the custom name of the item that displays a custom model. Required. Contains one or more of the following:
- `[body_part]`: the body part to render the model. Can be `"head_part"`, `"chest_part"`, `"left_arm_part"`, `"right_arm_part"`, `"left_leg_part"`, or `"left_arm_part"`. Contains one or more of the following:
- `damage`: the minimum amount of durability damage for the model to apply. Optional. Defaults to 0.
- `model`: the namespaced ID of the model. Required.#### Example
The following is a valid hats file located at `assets/bunnyears/hats.json`.
It specifies that head items with the custom name "bunny" should display the model at `assets/bunnyears/models/head/bunny_ears.json` when the item has no damage.
The hat will use the model at `assets/bunnyears/models/head/bunny_ears_one_down.json` when the item has at least 65% damage.
The hat will use the model at `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 render a chest model at `assets/bunnyears/models/chest/bunny_tail.json`. The chestplate armor model will still render.Next, the file specifies that leg items with the custom name "bunny" should display the models at `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 any additional models for those equipment slots.
```
{
"head": {
"bunny": {
"head_part": [
{
"model": "bunnyears:head/bunny_ears"
},
{
"damage": 65,
"model": "bunnyears:head/bunny_ears_one_down"
},
{
"damage": 75,
"model": "bunnyears:head/bunny_ears_both_down"
}
],
"chest_part": [
{
"model": "bunnyears:chest/bunny_tail"
}
],
"left_arm_part": [ ],
"right_arm_part": [ ]
}
},
"chest": { },
"legs": {
"bunny": {
"left_leg_part": [
{
"model": "bunnyears:left_leg/bunny_left_leg"
}
],
"right_leg_part": [
{
"model": "bunnyears:right_leg/bunny_right_leg"
}
]
}
},
"feet": { }
}
```