diff --git a/src/main/java/com/atsuishio/superbwarfare/block/entity/FuMO25BlockEntity.java b/src/main/java/com/atsuishio/superbwarfare/block/entity/FuMO25BlockEntity.java index 0cd88bb02..88c82da09 100644 --- a/src/main/java/com/atsuishio/superbwarfare/block/entity/FuMO25BlockEntity.java +++ b/src/main/java/com/atsuishio/superbwarfare/block/entity/FuMO25BlockEntity.java @@ -32,7 +32,7 @@ import org.jetbrains.annotations.NotNull; import org.jetbrains.annotations.Nullable; import software.bernie.geckolib.animatable.GeoBlockEntity; import software.bernie.geckolib.animatable.instance.AnimatableInstanceCache; -import software.bernie.geckolib.animation.AnimatableManager; +import software.bernie.geckolib.animation.*; import software.bernie.geckolib.util.GeckoLibUtil; import javax.annotation.ParametersAreNonnullByDefault; @@ -218,8 +218,16 @@ public class FuMO25BlockEntity extends BlockEntity implements MenuProvider, GeoB return ClientboundBlockEntityDataPacket.create(this); } + private PlayState predicate(AnimationState event) { + if (this.getBlockState().getValue(FuMO25Block.POWERED)) { + return event.setAndContinue(RawAnimation.begin().thenLoop("animation.fumo_25.rot")); + } + return PlayState.STOP; + } + @Override - public void registerControllers(AnimatableManager.ControllerRegistrar controllers) { + public void registerControllers(AnimatableManager.ControllerRegistrar data) { + data.add(new AnimationController<>(this, "controller", 0, this::predicate)); } @Override diff --git a/src/main/java/com/atsuishio/superbwarfare/client/model/block/FuMO25Model.java b/src/main/java/com/atsuishio/superbwarfare/client/model/block/FuMO25Model.java index c17cf4c83..14e4e8100 100644 --- a/src/main/java/com/atsuishio/superbwarfare/client/model/block/FuMO25Model.java +++ b/src/main/java/com/atsuishio/superbwarfare/client/model/block/FuMO25Model.java @@ -8,7 +8,7 @@ import software.bernie.geckolib.model.GeoModel; public class FuMO25Model extends GeoModel { @Override public ResourceLocation getAnimationResource(FuMO25BlockEntity animatable) { - return null; + return Mod.loc("animations/fumo_25.animation.json"); } @Override diff --git a/src/main/java/com/atsuishio/superbwarfare/client/renderer/block/FuMO25BlockEntityRenderer.java b/src/main/java/com/atsuishio/superbwarfare/client/renderer/block/FuMO25BlockEntityRenderer.java index 090d1792f..f8d8a3f3e 100644 --- a/src/main/java/com/atsuishio/superbwarfare/client/renderer/block/FuMO25BlockEntityRenderer.java +++ b/src/main/java/com/atsuishio/superbwarfare/client/renderer/block/FuMO25BlockEntityRenderer.java @@ -1,15 +1,11 @@ package com.atsuishio.superbwarfare.client.renderer.block; -import com.atsuishio.superbwarfare.block.FuMO25Block; import com.atsuishio.superbwarfare.block.entity.FuMO25BlockEntity; import com.atsuishio.superbwarfare.client.model.block.FuMO25Model; -import com.mojang.blaze3d.vertex.PoseStack; -import com.mojang.blaze3d.vertex.VertexConsumer; import net.minecraft.client.renderer.MultiBufferSource; import net.minecraft.client.renderer.RenderType; import net.minecraft.resources.ResourceLocation; import org.jetbrains.annotations.NotNull; -import software.bernie.geckolib.cache.object.GeoBone; import software.bernie.geckolib.renderer.GeoBlockRenderer; @@ -32,14 +28,4 @@ public class FuMO25BlockEntityRenderer extends GeoBlockRenderer