Record Class ModelAnimation

java.lang.Object
java.lang.Record
kr.toxicity.model.api.data.raw.ModelAnimation
Record Components:
name - the name of the animation
loop - the loop mode (e.g., play_once, loop, hold)
override - whether this animation should override others
uuid - the unique identifier of the animation
length - the total length of the animation in seconds
animators - a map of animators, keyed by the UUID of the bone group they affect

@Internal public record ModelAnimation(@NotNull String name, AnimationIterator.Type loop, boolean override, @NotNull String uuid, float length, @Nullable Map<String, ModelAnimator> animators) extends Record
Represents a raw animation definition from a model file.

This record holds the properties of an animation, such as its name, length, loop mode, and the animators that define the keyframes for each bone group.

Since:
1.15.2
  • Constructor Details

    • ModelAnimation

      public ModelAnimation(@NotNull @NotNull String name, @Nullable AnimationIterator.Type loop, boolean override, @NotNull @NotNull String uuid, float length, @Nullable @Nullable Map<String, ModelAnimator> animators)
      Creates an instance of a ModelAnimation record class.
      Parameters:
      name - the value for the name record component
      loop - the value for the loop record component
      override - the value for the override record component
      uuid - the value for the uuid record component
      length - the value for the length record component
      animators - the value for the animators record component
  • Method Details

    • toBlueprint

      @NotNull public @NotNull BlueprintAnimation toBlueprint(@NotNull @NotNull ModelLoadContext context, @NotNull @NotNull List<BlueprintElement> children)
      Converts this raw animation data into a processed BlueprintAnimation.
      Parameters:
      context - the model loading context
      children - the list of root blueprint elements
      Returns:
      the blueprint animation
      Since:
      1.15.2
    • loop

      @NotNull public AnimationIterator.Type loop()
      Returns the loop mode of the animation.
      Returns:
      the loop mode, defaulting to AnimationIterator.Type.PLAY_ONCE if null
      Since:
      1.15.2
    • animators

      @NotNull public @NotNull Map<String, ModelAnimator> animators()
      Returns the map of animators for this animation.
      Returns:
      the animators, or an empty map if null
      Since:
      1.15.2
    • toString

      public final String toString()
      Returns a string representation of this record class. The representation contains the name of the class, followed by the name and value of each of the record components.
      Specified by:
      toString in class Record
      Returns:
      a string representation of this object
    • hashCode

      public final int hashCode()
      Returns a hash code value for this object. The value is derived from the hash code of each of the record components.
      Specified by:
      hashCode in class Record
      Returns:
      a hash code value for this object
    • equals

      public final boolean equals(Object o)
      Indicates whether some other object is "equal to" this one. The objects are equal if the other object is of the same class and if all the record components are equal. Reference components are compared with Objects::equals(Object,Object); primitive components are compared with the compare method from their corresponding wrapper classes.
      Specified by:
      equals in class Record
      Parameters:
      o - the object with which to compare
      Returns:
      true if this object is the same as the o argument; false otherwise.
    • name

      @NotNull public @NotNull String name()
      Returns the value of the name record component.
      Returns:
      the value of the name record component
    • override

      public boolean override()
      Returns the value of the override record component.
      Returns:
      the value of the override record component
    • uuid

      @NotNull public @NotNull String uuid()
      Returns the value of the uuid record component.
      Returns:
      the value of the uuid record component
    • length

      public float length()
      Returns the value of the length record component.
      Returns:
      the value of the length record component