Info
This page assumes you have looked at the AzAnimator Basics page
You can find working examples here
The AzBlockAnimator is a framework specifically designed to handle animations for BlockEntity instances in AzureLib. By extending the base functionality of AzAnimator, it provides an easy-to-use API for creating animation systems tailored to blocks.
Overview of AzBlockAnimator
The AzBlockAnimator builds on the generic animation system outlined in the AzAnimator but focuses explicitly on animating block entities. It simplifies block animation setup and configuration by abstracting much of the common functionality.
Key Features
- Purpose-built for animating
BlockEntityinstances. - Maintains compatibility with AzureLib's baked animation and MoLang systems.
- Fully integrates with the
AzAnimatorAPIs, including animation controllers and context handling.
Constructor
The AzBlockAnimator requires a configuration object (AzAnimatorConfig) to initialize:
public AzBlockAnimator(AzAnimatorConfig config) { super(config); }
To simplify setup, you can use the defaultConfig for common scenarios:
public YourBlockEntityAnimator() { super(AzAnimatorConfig.defaultConfig()); }
Example: YourBlockEntityAnimator
Below is a working example of a custom animator for a block entity, YourBlockEntity, using the AzBlockAnimator.
java public class YourBlockEntityAnimator extends AzBlockAnimator<YourBlockEntity> {private static final ResourceLocation ANIMATIONS = CommonMod.modResource("animations/block/yourblockentity.animation.json");public YourBlockEntityAnimator() {super(AzAnimatorConfig.defaultConfig());}@Overridepublic void registerControllers(AzAnimationControllerContainer<YourBlockEntity> animationControllerContainer) {animationControllerContainer.add(AzAnimationController.builder(this, "base_controller").build());}@Overridepublic @NotNull ResourceLocation getAnimationLocation(YourBlockEntity animatable) {return ANIMATIONS;}}