java-topology/defects/minecraft/patch/minecraft-0003-redstone-wire-deque-hashset.patch

20 lines
1.1 KiB
Diff

# UNDF: UNDF-2026-000000392
--- a/src/main/java/net/minecraft/world/level/redstone/ExperimentalRedstoneWireEvaluator.java
+++ b/src/main/java/net/minecraft/world/level/redstone/ExperimentalRedstoneWireEvaluator.java
@@ -12,8 +12,12 @@ public class ExperimentalRedstoneWireEvaluator extends RedstoneWireEvaluator {
private final Deque<BlockPos> wiresToTurnOff = new ArrayDeque<>();
+ private final Set<BlockPos> wiresToTurnOffSet = new HashSet<>();
private final Deque<BlockPos> wiresToTurnOn = new ArrayDeque<>();
+ private final Set<BlockPos> wiresToTurnOnSet = new HashSet<>();
private final Object2IntMap<BlockPos> updatedWires = new Object2IntLinkedOpenHashMap<>();
@@ -31,10 +35,10 @@ public class ExperimentalRedstoneWireEvaluator extends RedstoneWireEvaluator {
- if (!this.wiresToTurnOff.contains(pos)) {
+ if (this.wiresToTurnOffSet.add(pos)) {
this.wiresToTurnOff.add(pos);
}
- if (!this.wiresToTurnOn.contains(pos)) {
+ if (this.wiresToTurnOnSet.add(pos)) {
this.wiresToTurnOn.add(pos);
}