diff --git a/src/main/java/com/atsuishio/superbwarfare/Mod.java b/src/main/java/com/atsuishio/superbwarfare/Mod.java index 7c4471212..accd10a61 100644 --- a/src/main/java/com/atsuishio/superbwarfare/Mod.java +++ b/src/main/java/com/atsuishio/superbwarfare/Mod.java @@ -1,6 +1,7 @@ package com.atsuishio.superbwarfare; import com.atsuishio.superbwarfare.api.event.RegisterContainersEvent; +import com.atsuishio.superbwarfare.block.entity.FuMO25BlockEntity; import com.atsuishio.superbwarfare.client.MouseMovementHandler; import com.atsuishio.superbwarfare.client.renderer.molang.MolangVariable; import com.atsuishio.superbwarfare.client.sound.ModSoundInstances; @@ -26,6 +27,8 @@ import net.neoforged.neoforge.common.NeoForge; import net.neoforged.neoforge.event.tick.ServerTickEvent; import org.apache.logging.log4j.LogManager; import org.apache.logging.log4j.Logger; +import software.bernie.geckolib.constant.dataticket.SerializableDataTicket; +import software.bernie.geckolib.util.GeckoLibUtil; import java.util.AbstractMap; import java.util.ArrayList; @@ -72,6 +75,8 @@ public class Mod { bus.addListener(NetworkRegistry::register); + registerDataTickets(); + if (FMLEnvironment.dist == Dist.CLIENT) { CompatHolder.hasMod(CompatHolder.CLOTH_CONFIG, ClothConfigHelper::registerScreen); } @@ -126,4 +131,7 @@ public class Mod { event.enqueueWork(ModSoundInstances::init); } + private void registerDataTickets() { + FuMO25BlockEntity.FUMO25_TICK = GeckoLibUtil.addDataTicket(SerializableDataTicket.ofDouble(loc("fumo25_tick"))); + } } 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 d66d3e79a..904b2a93d 100644 --- a/src/main/java/com/atsuishio/superbwarfare/block/entity/FuMO25BlockEntity.java +++ b/src/main/java/com/atsuishio/superbwarfare/block/entity/FuMO25BlockEntity.java @@ -33,6 +33,7 @@ import org.jetbrains.annotations.Nullable; import software.bernie.geckolib.animatable.GeoBlockEntity; import software.bernie.geckolib.animatable.instance.AnimatableInstanceCache; import software.bernie.geckolib.animation.*; +import software.bernie.geckolib.constant.dataticket.SerializableDataTicket; import software.bernie.geckolib.util.GeckoLibUtil; import javax.annotation.ParametersAreNonnullByDefault; @@ -41,6 +42,8 @@ import java.util.List; public class FuMO25BlockEntity extends BlockEntity implements MenuProvider, GeoBlockEntity { + public static SerializableDataTicket FUMO25_TICK; + private final AnimatableInstanceCache cache = GeckoLibUtil.createInstanceCache(this); public static final int MAX_ENERGY = 1000000; @@ -155,6 +158,7 @@ public class FuMO25BlockEntity extends BlockEntity implements MenuProvider, GeoB if (radar.tick >= 200) { radar.tick = 0; + radar.setAnimData(FUMO25_TICK, (double) radar.tick); } if (radar.time <= 0 && radar.type != FuncType.NORMAL) {