eccentricdevotion / TARDIS

A Spigot / Paper plugin for all Doctor Who fans - create and use a TARDIS! It's bigger on the inside!
GNU General Public License v3.0
79 stars 27 forks source link

Time Rotors for all original TARDISes #826

Closed MagmaBro123 closed 3 months ago

MagmaBro123 commented 3 months ago

Add more time rotors.

We have the 1st and12th's, but no 10th, etc.

eccentricdevotion commented 3 months ago

We have 1st, 9/10th, 11th and 12th https://tardis.pages.dev/time-rotor

doctormysterio12 commented 3 months ago

why not add an api for custom rotors similar to custom models and allow us to put our own in?

what's the requirements? an "off" mode, then an integer of how many stages of animation? Could that be configurable?

Also, the time rotor could be linked to the tardis flight, not the handbrake, so the animation would be smoother to stop when the Tardis lands, rather than depending on when the handbrake is applied

eccentricdevotion commented 3 months ago

Example _custom_timerotors.yml config entry:

# add FuzzyLeo's classic time rotor
classic:

  # 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
  off_custom_model_data: 10000010

  # 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
  animated_material: YELLOW_DYE

  # 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
  animation_sequence: 0,1,2,3,4,5,6,7

  # animation frame rate in server ticks
  frame_rate: 6
eccentricdevotion commented 3 months ago

https://tardis.pages.dev/custom-rotors

doctormysterio12 commented 3 months ago

How does one spawn in a custom rotor?

eccentricdevotion commented 3 months ago

From discord discussion...

Craft one and place it. Should come up in tab completion for the /trecipe command. The time rotor recipes are all pretty generic, the plugin generates a recipe from the material you specify in the time rotor config