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()); }