From 1f44c2c501f0fd529fafd395b4f311e47ce57f12 Mon Sep 17 00:00:00 2001 From: Reider745 <70357814+Reider745@users.noreply.github.com> Date: Sat, 4 May 2024 09:58:26 +0300 Subject: [PATCH] =?UTF-8?q?Fixed:=20RedstoneSignal=20=D0=B2=D1=8B=D0=B7?= =?UTF-8?q?=D1=8B=D0=B2=D0=B0=D0=BB=D1=81=D1=8F=20=D0=B4=D0=BE=20=D0=BF?= =?UTF-8?q?=D0=B5=D1=80=D0=B2=D0=BE=D0=B3=D0=BE=20=D1=82=D0=B8=D0=BA=D0=B0?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../java/com/reider745/event/EventListener.java | 13 ++++++++----- src/main/java/com/reider745/hooks/ServerHooks.java | 3 +++ 2 files changed, 11 insertions(+), 5 deletions(-) diff --git a/src/main/java/com/reider745/event/EventListener.java b/src/main/java/com/reider745/event/EventListener.java index 41356aac..4ed29af8 100644 --- a/src/main/java/com/reider745/event/EventListener.java +++ b/src/main/java/com/reider745/event/EventListener.java @@ -62,6 +62,7 @@ public class EventListener implements Listener { public static Object dealingEvent = null; public static final int FORM_REJOIN_EXCEPTION = 2560; + public static boolean isFirstTickEnd = false; public static void consumeEvent(Event event, CallbackHelper.ICallbackApply apply, boolean isPrevent) { CallbackHelper.apply(event, apply, isPrevent); @@ -115,12 +116,14 @@ public class EventListener implements Listener { @EventHandler(priority = EventPriority.HIGHEST) public void onRedstoneUpdate(RedstoneUpdateEvent event) { - Block block = event.getBlock(); - Level level = event.getBlock().getLevel(); - int signal = level.isBlockIndirectlyGettingPowered(block); + if(isFirstTickEnd){ + Block block = event.getBlock(); + Level level = event.getBlock().getLevel(); + int signal = level.isBlockIndirectlyGettingPowered(block); - consumeEvent(event, () -> NativeCallback.onRedstoneSignalChange((int) block.x, (int) block.y, (int) block.z, - signal, !event.getBlock().isPowerSource(), level)); + consumeEvent(event, () -> NativeCallback.onRedstoneSignalChange((int) block.x, (int) block.y, (int) block.z, + signal, !event.getBlock().isPowerSource(), level)); + } } @EventHandler(priority = EventPriority.HIGHEST) diff --git a/src/main/java/com/reider745/hooks/ServerHooks.java b/src/main/java/com/reider745/hooks/ServerHooks.java index 56658862..679d0f9c 100644 --- a/src/main/java/com/reider745/hooks/ServerHooks.java +++ b/src/main/java/com/reider745/hooks/ServerHooks.java @@ -12,6 +12,7 @@ import com.reider745.api.hooks.TypeHook; import com.reider745.api.hooks.annotation.Inject; import com.reider745.api.hooks.annotation.Hooks; import com.reider745.entity.EntityMotion; +import com.reider745.event.EventListener; import com.zhekasmirnov.horizon.runtime.logger.Logger; import com.zhekasmirnov.innercore.api.NativeCallback; @@ -70,6 +71,8 @@ public class ServerHooks implements HookClass { try { EntityMotion.tick(); NativeCallback.onTick(); + + EventListener.isFirstTickEnd = true; } catch (Exception e) { Logger.warning("IC-TICK", e.getCause()); }