From 866eb80b91062574f8b13532b3d8e3dfeab3fbe8 Mon Sep 17 00:00:00 2001 From: 17146 <1714673995@qq.com> Date: Fri, 30 May 2025 16:06:16 +0800 Subject: [PATCH] =?UTF-8?q?=E6=B7=BB=E5=8A=A0data=20ticket?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/main/java/com/atsuishio/superbwarfare/Mod.java | 8 ++++++++ .../superbwarfare/block/entity/FuMO25BlockEntity.java | 4 ++++ 2 files changed, 12 insertions(+) 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) {