尝试修改molang写法

This commit is contained in:
17146 2025-05-19 00:52:25 +08:00 committed by Light_Quanta
parent 9bd832bf92
commit 8567061d45
No known key found for this signature in database
GPG key ID: 11A39A1B8C890959
3 changed files with 13 additions and 3 deletions

View file

@ -71,8 +71,6 @@ public class Mod {
bus.addListener(NetworkRegistry::register); bus.addListener(NetworkRegistry::register);
MolangVariable.register();
if (FMLEnvironment.dist == Dist.CLIENT) { if (FMLEnvironment.dist == Dist.CLIENT) {
CompatHolder.hasMod(CompatHolder.CLOTH_CONFIG, ClothConfigHelper::registerScreen); CompatHolder.hasMod(CompatHolder.CLOTH_CONFIG, ClothConfigHelper::registerScreen);
} }
@ -123,6 +121,7 @@ public class Mod {
public void onClientSetup(final FMLClientSetupEvent event) { public void onClientSetup(final FMLClientSetupEvent event) {
MouseMovementHandler.init(); MouseMovementHandler.init();
MolangVariable.register();
} }
} }

View file

@ -3,6 +3,7 @@ package com.atsuishio.superbwarfare.client.model.item;
import com.atsuishio.superbwarfare.Mod; import com.atsuishio.superbwarfare.Mod;
import com.atsuishio.superbwarfare.client.AnimationHelper; import com.atsuishio.superbwarfare.client.AnimationHelper;
import com.atsuishio.superbwarfare.client.overlay.CrossHairOverlay; 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.event.ClientEventHandler;
import com.atsuishio.superbwarfare.item.gun.GunItem; import com.atsuishio.superbwarfare.item.gun.GunItem;
import com.atsuishio.superbwarfare.item.gun.rifle.InsidiousItem; 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 net.minecraft.world.item.ItemStack;
import software.bernie.geckolib.animation.AnimationState; import software.bernie.geckolib.animation.AnimationState;
import software.bernie.geckolib.cache.object.GeoBone; import software.bernie.geckolib.cache.object.GeoBone;
import software.bernie.geckolib.loading.math.MathParser;
import software.bernie.geckolib.model.GeoModel; import software.bernie.geckolib.model.GeoModel;
public class InsidiousItemModel extends GeoModel<InsidiousItem> { public class InsidiousItemModel extends GeoModel<InsidiousItem> {
@ -89,4 +91,10 @@ public class InsidiousItemModel extends GeoModel<InsidiousItem> {
AnimationHelper.handleReloadShakeAnimation(stack, main, camera, numR, numP); 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()); 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<InsidiousItem> animationState, double animTime) {
super.applyMolangQueries(animationState, animTime);
MathParser.setVariable(MolangVariable.SBW_SYSTEM_TIME, System::currentTimeMillis);
}
} }

View file

@ -6,8 +6,11 @@ import software.bernie.geckolib.loading.math.value.Variable;
import java.util.function.DoubleSupplier; import java.util.function.DoubleSupplier;
public class MolangVariable { public class MolangVariable {
public static final String SBW_SYSTEM_TIME = "sbw.system_time";
public static void register() { public static void register() {
register("sbw.system_time", System::currentTimeMillis); register(SBW_SYSTEM_TIME, () -> 0);
} }
private static void register(String name, DoubleSupplier supplier) { private static void register(String name, DoubleSupplier supplier) {