diff --git a/sakura-server/src/main/java/me/samsuik/sakura/redstone/RedstoneNetwork.java b/sakura-server/src/main/java/me/samsuik/sakura/redstone/RedstoneNetwork.java index f5f3875..ff53618 100644 --- a/sakura-server/src/main/java/me/samsuik/sakura/redstone/RedstoneNetwork.java +++ b/sakura-server/src/main/java/me/samsuik/sakura/redstone/RedstoneNetwork.java @@ -156,7 +156,7 @@ public final class RedstoneNetwork { } } - public boolean applyFromCache(Level level) { + public boolean applyFromCache(Level level, WorldConfiguration.Misc.RedstoneImplementation redstoneImplementation) { this.expiry.refresh(level.getGameTime()); if (!this.isRegistered() || !this.verifyWiresInNetwork(level)) { return false; @@ -167,7 +167,7 @@ public final class RedstoneNetwork { int updateFrom = 0; for (RedstoneWireUpdate wireUpdate : this.wireUpdates) { - if (wireUpdate.canSkipWireUpdate()) { + if (wireUpdate.canSkipWireUpdate() && redstoneImplementation != WorldConfiguration.Misc.RedstoneImplementation.VANILLA) { updateFrom = wireUpdate.getUpdateIndex(); continue; } diff --git a/sakura-server/src/main/java/me/samsuik/sakura/redstone/RedstoneWireCache.java b/sakura-server/src/main/java/me/samsuik/sakura/redstone/RedstoneWireCache.java index e0fab83..ae78d38 100644 --- a/sakura-server/src/main/java/me/samsuik/sakura/redstone/RedstoneWireCache.java +++ b/sakura-server/src/main/java/me/samsuik/sakura/redstone/RedstoneWireCache.java @@ -56,7 +56,7 @@ public final class RedstoneWireCache { if (network != null) { try { this.updatingNetwork = network; - return network.applyFromCache(this.level); + return network.applyFromCache(this.level, localConfig.redstoneImplementation); } finally { this.updatingNetwork = null; }