MCAnim

MCAnim

Data pack

A library for display entity animation in Minecraft

Server LibraryUtility

239 downloads
4 followers
Createda year ago
Updated2 days ago

Follow Save
Host your Minecraft server on BisectHosting - get 25% off your first month with code MODRINTH.

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.

External resources



Project members

GearsDatapacks

Owner


Technical information

License
LGPL-3.0-or-later
Project ID