Calculate correct redstone offset when merging regions

It should be offset = to - from, not from - to. This should
fix redstone freezing randomly when merging regions.

Fixes https://github.com/PaperMC/Folia/issues/35
This commit is contained in:
Spottedleaf 2023-04-03 19:13:29 -07:00
parent 6d18e8e9b6
commit 4b0c614847

View File

@ -5171,7 +5171,7 @@ index 0000000000000000000000000000000000000000..ac043fbc74874c205b821c3d2d011b92
+} +}
diff --git a/src/main/java/io/papermc/paper/threadedregions/RegionizedWorldData.java b/src/main/java/io/papermc/paper/threadedregions/RegionizedWorldData.java diff --git a/src/main/java/io/papermc/paper/threadedregions/RegionizedWorldData.java b/src/main/java/io/papermc/paper/threadedregions/RegionizedWorldData.java
new file mode 100644 new file mode 100644
index 0000000000000000000000000000000000000000..82788131d513c1cc23de93fd4e3c44ea610ca66c index 0000000000000000000000000000000000000000..f8eae93448d1d1c70bff68ff106139b61f0171c4
--- /dev/null --- /dev/null
+++ b/src/main/java/io/papermc/paper/threadedregions/RegionizedWorldData.java +++ b/src/main/java/io/papermc/paper/threadedregions/RegionizedWorldData.java
@@ -0,0 +1,649 @@ @@ -0,0 +1,649 @@
@ -5247,7 +5247,7 @@ index 0000000000000000000000000000000000000000..82788131d513c1cc23de93fd4e3c44ea
+ into.connections.add(conn); + into.connections.add(conn);
+ } + }
+ // time + // time
+ final long fromRedstoneTimeOffset = from.redstoneTime - into.redstoneTime; + final long fromRedstoneTimeOffset = into.redstoneTime - from.redstoneTime;
+ // entities + // entities
+ for (final ServerPlayer player : from.localPlayers) { + for (final ServerPlayer player : from.localPlayers) {
+ into.localPlayers.add(player); + into.localPlayers.add(player);