Skip to main content

Custom Time Rotors

As of version 5.5.0 you can add custom time rotor models for the TARDIS console.

Custom time rotor models are defined in plugins/TARDIS/custom_time_rotors.yml, an example entry is shown below:

/plugins/TARDIS/custom_time_rotors.yml
classic:
off_custom_model_data: 10000010
animated_material: YELLOW_DYE
animation_sequence: 0,1,2,3,4,5,6,7
frame_rate: 6
ConfigTypeDefault
classic:
off_custom_model_datanumber10000010
Custom model data for the rotor's inventory item and off state model, must be added as a "custom_model_data" predicate in assets/minecraft/models/item/light_gray_dye.json - must be higher than 10000009
animated_materialstringYELLOW_DYE
The material of the animated rotor item, animation states will need to be set with "custom_model_data" predicates in assets/minecraft/models/item/[animated_material].json, starting at 1021. Material must be unique for each rotor, the plugin already uses BLACK_DYE, ORANGE_DYE, BROWN_DYE, GRAY_DYE, CYAN_DYE, LIGHT_BLUE_DYE, BLUE_DYE, WHITE_DYE
animation_sequencestring0,1,2,3,4,5,6,7
A comma separated list of frame numbers where the number is added to the starting animation frame to get the "custom_model_data" predicate e.g. 1021 + 3 = 1024
frame_ratenumber6
The animation frame rate in server ticks

Example model overrides

Inventory item / off state go in light_gray_dye.json:

assets/minecraft/models/item/light_gray_dye.json
{
"parent": "minecraft:item/generated",
"textures": {
"layer0": "minecraft:item/light_gray_dye"
},
"overrides": [
# {other predicates}...
{"predicate": {"custom_model_data": 10000010}, "model": "tardis:item/time_rotor/classic/classic_0"}
]
}

Animation states go in yellow_dye.json:

assets/minecraft/models/item/yellow_dye.json
{
"parent": "minecraft:item/generated",
"textures": {
"layer0": "minecraft:item/yellow_dye"
},
"overrides": [
# {other predicates}...
{"predicate": {"custom_model_data":1021}, "model": "tardis:item/time_rotor/classic/classic_0"},
{"predicate": {"custom_model_data":1022}, "model": "tardis:item/time_rotor/classic/classic_1"},
{"predicate": {"custom_model_data":1023}, "model": "tardis:item/time_rotor/classic/classic_2"},
{"predicate": {"custom_model_data":1024}, "model": "tardis:item/time_rotor/classic/classic_3"},
{"predicate": {"custom_model_data":1025}, "model": "tardis:item/time_rotor/classic/classic_4"},
{"predicate": {"custom_model_data":1026}, "model": "tardis:item/time_rotor/classic/classic_5"},
{"predicate": {"custom_model_data":1027}, "model": "tardis:item/time_rotor/classic/classic_6"},
{"predicate": {"custom_model_data":1028}, "model": "tardis:item/time_rotor/classic/classic_7"},
# {other predicates}...
]
}

Placing custom rotors

  • Craft one and place it - see Adding a time rotor.
  • Use tab completion for the /trecipe command to see the recipe.
  • Time rotor recipes are all generic, the plugin generates a recipe from the animated_material you specify in the custom time rotor config.