diff --git a/src/main/java/com/alrex/parcool/common/action/ActionProcessor.java b/src/main/java/com/alrex/parcool/common/action/ActionProcessor.java index 21f37d4a..1d6be97c 100644 --- a/src/main/java/com/alrex/parcool/common/action/ActionProcessor.java +++ b/src/main/java/com/alrex/parcool/common/action/ActionProcessor.java @@ -49,7 +49,6 @@ public class ActionProcessor { private int staminaSyncCoolTimeTick = 0; - @SubscribeEvent public void onTick(PlayerTickEvent.Post event) { var player = event.getEntity(); Parkourability parkourability = Parkourability.get(player); @@ -99,6 +98,7 @@ public void onTick(PlayerTickEvent.Post event) { animation.tick(clientPlayer, parkourability); } + @OnlyIn(Dist.CLIENT) private void onTick$doPostProcessInClient(PlayerTickEvent event, Parkourability parkourability) { if (!(event.getEntity() instanceof LocalPlayer player)) return; staminaSyncCoolTimeTick++; @@ -251,6 +251,7 @@ private void saveSynchronizationState(Action action, ByteBuffer buffer) { buffer.flip(); } + @OnlyIn(Dist.CLIENT) private void consumeStamina(Player player, int value) { if (player instanceof LocalPlayer localPlayer) { LocalStamina.get(localPlayer).consume(localPlayer, value); @@ -260,7 +261,6 @@ private void consumeStamina(Player player, int value) { // ==== @OnlyIn(Dist.CLIENT) - @SubscribeEvent public void onRenderTick(RenderFrameEvent.Pre event) { Player clientPlayer = Minecraft.getInstance().player; if (clientPlayer == null) return; @@ -278,7 +278,6 @@ public void onRenderTick(RenderFrameEvent.Pre event) { } @OnlyIn(Dist.CLIENT) - @SubscribeEvent public void onViewRender(ViewportEvent.ComputeCameraAngles event) { LocalPlayer player = Minecraft.getInstance().player; if (player == null) return; diff --git a/src/main/java/com/alrex/parcool/common/registries/EventBusForgeRegistry.java b/src/main/java/com/alrex/parcool/common/registries/EventBusForgeRegistry.java index 53f01b2a..343a755c 100644 --- a/src/main/java/com/alrex/parcool/common/registries/EventBusForgeRegistry.java +++ b/src/main/java/com/alrex/parcool/common/registries/EventBusForgeRegistry.java @@ -8,6 +8,8 @@ import net.neoforged.bus.api.IEventBus; public class EventBusForgeRegistry { + private static final ActionProcessor ACTION_PROCESSOR = new ActionProcessor(); + public static void register(IEventBus bus) { bus.register(ParCoolBrewingRecipe.class); bus.register(PlayerJumpHandler.class); @@ -15,7 +17,8 @@ public static void register(IEventBus bus) { bus.register(PlayerVisibilityHandler.class); bus.register(PlayerDamageHandler.class); bus.register(PlayerCloneHandler.class); - bus.register(new ActionProcessor()); + + bus.addListener(ACTION_PROCESSOR::onTick); } public static void registerClient(IEventBus bus) { @@ -25,5 +28,8 @@ public static void registerClient(IEventBus bus) { bus.register(PlayerJoinHandler.class); bus.register(HUDManager.getInstance()); bus.register(InputHandler.class); + + bus.addListener(ACTION_PROCESSOR::onRenderTick); + bus.addListener(ACTION_PROCESSOR::onViewRender); } }