From 8567061d4565d9d8c88a76f1460ae147a6e6aa83 Mon Sep 17 00:00:00 2001 From: 17146 <1714673995@qq.com> Date: Mon, 19 May 2025 00:52:25 +0800 Subject: [PATCH] =?UTF-8?q?=E5=B0=9D=E8=AF=95=E4=BF=AE=E6=94=B9molang?= =?UTF-8?q?=E5=86=99=E6=B3=95?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/main/java/com/atsuishio/superbwarfare/Mod.java | 3 +-- .../client/model/item/InsidiousItemModel.java | 8 ++++++++ .../client/renderer/molang/MolangVariable.java | 5 ++++- 3 files changed, 13 insertions(+), 3 deletions(-) diff --git a/src/main/java/com/atsuishio/superbwarfare/Mod.java b/src/main/java/com/atsuishio/superbwarfare/Mod.java index 74b3bd711..28f5a300f 100644 --- a/src/main/java/com/atsuishio/superbwarfare/Mod.java +++ b/src/main/java/com/atsuishio/superbwarfare/Mod.java @@ -71,8 +71,6 @@ public class Mod { bus.addListener(NetworkRegistry::register); - MolangVariable.register(); - if (FMLEnvironment.dist == Dist.CLIENT) { CompatHolder.hasMod(CompatHolder.CLOTH_CONFIG, ClothConfigHelper::registerScreen); } @@ -123,6 +121,7 @@ public class Mod { public void onClientSetup(final FMLClientSetupEvent event) { MouseMovementHandler.init(); + MolangVariable.register(); } } diff --git a/src/main/java/com/atsuishio/superbwarfare/client/model/item/InsidiousItemModel.java b/src/main/java/com/atsuishio/superbwarfare/client/model/item/InsidiousItemModel.java index 81e00392b..65816d3b9 100644 --- a/src/main/java/com/atsuishio/superbwarfare/client/model/item/InsidiousItemModel.java +++ b/src/main/java/com/atsuishio/superbwarfare/client/model/item/InsidiousItemModel.java @@ -3,6 +3,7 @@ package com.atsuishio.superbwarfare.client.model.item; import com.atsuishio.superbwarfare.Mod; import com.atsuishio.superbwarfare.client.AnimationHelper; import com.atsuishio.superbwarfare.client.overlay.CrossHairOverlay; +import com.atsuishio.superbwarfare.client.renderer.molang.MolangVariable; import com.atsuishio.superbwarfare.event.ClientEventHandler; import com.atsuishio.superbwarfare.item.gun.GunItem; import com.atsuishio.superbwarfare.item.gun.rifle.InsidiousItem; @@ -13,6 +14,7 @@ import net.minecraft.world.entity.player.Player; import net.minecraft.world.item.ItemStack; import software.bernie.geckolib.animation.AnimationState; import software.bernie.geckolib.cache.object.GeoBone; +import software.bernie.geckolib.loading.math.MathParser; import software.bernie.geckolib.model.GeoModel; public class InsidiousItemModel extends GeoModel { @@ -89,4 +91,10 @@ public class InsidiousItemModel extends GeoModel { AnimationHelper.handleReloadShakeAnimation(stack, main, camera, numR, numP); ClientEventHandler.handleReloadShake(Mth.RAD_TO_DEG * camera.getRotX(), Mth.RAD_TO_DEG * camera.getRotY(), Mth.RAD_TO_DEG * camera.getRotZ()); } + + @Override + public void applyMolangQueries(AnimationState animationState, double animTime) { + super.applyMolangQueries(animationState, animTime); + MathParser.setVariable(MolangVariable.SBW_SYSTEM_TIME, System::currentTimeMillis); + } } diff --git a/src/main/java/com/atsuishio/superbwarfare/client/renderer/molang/MolangVariable.java b/src/main/java/com/atsuishio/superbwarfare/client/renderer/molang/MolangVariable.java index 15de8f8a8..e65af74d3 100644 --- a/src/main/java/com/atsuishio/superbwarfare/client/renderer/molang/MolangVariable.java +++ b/src/main/java/com/atsuishio/superbwarfare/client/renderer/molang/MolangVariable.java @@ -6,8 +6,11 @@ import software.bernie.geckolib.loading.math.value.Variable; import java.util.function.DoubleSupplier; public class MolangVariable { + + public static final String SBW_SYSTEM_TIME = "sbw.system_time"; + public static void register() { - register("sbw.system_time", System::currentTimeMillis); + register(SBW_SYSTEM_TIME, () -> 0); } private static void register(String name, DoubleSupplier supplier) {