Skip to content

GearsDatapacks/mcanim

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

16 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

MCAnim - A Minecraft animation library by Gears

MCAnim is a Minecraft datapack library that aims to make it easy to run certain animations in your Minecraft world. It currently only supports display entity interpolation, but I plan on expanding it to include particle utility functions later.

Current features:

  • Animation playing
    There are four ways to play animations: generic, scale, translate and rotate. Generic allows you to apply many animations including modifying duration at the same time. Called by running first the command data modify storage mcanim:api/display_animation/generic animation set value {}, and replacing the {} with your data. This supports setting the duration property, which decides the length of the animation, and any other property will be treated as an animation. Scale and translate do the same, but take x, y and z properties instead. Rotate converts the x, y and z values into a quaternion first. Then run the function mcanim:api/display_animation/<function> as the entity you want to animate, to see it play.

  • Rotation and quaternions
    Rotation also takes x, y and z components in degrees, but as Minecraft uses quaternions for rotation, it automatically converts the angles given into quaternions. This can be done manually by setting the mcanim:api/maths/xyz_to_quaternion target to {x, y, z} or [x, y, z], where you give each property the desired value. Then run function mcanim:api/maths/xyz_to_quaternion. The result will be in mcanim:api/maths/xyz_to_quaternion output

    The same feature exists the other way around, converting a quaternion to its x, y and z components.
    NOTE: This feature is currently not working properly. The output values will be inaccurate, so it is suggested not to use this.
    Similar to the above, set mcanim:api/maths/quaternion_to_xyz target to [x, y, z, w] or {x, y, z, w} (w is ignored, so optional). Then run function mcanim:api/maths/quaternion_to_xyz. As expected, the resulting array: [x, y, z] is found in mcanim:api/maths/quaternion_to_xyz output

Those are all of the features currently implemented, if you would like to suggest more or report a bug, please create an issue on the github page.