0708fa363b
Upstream has released updates that appears to apply and compile correctly. This update has not been tested by PaperMC and as with ANY update, please do your own testing CraftBukkit Changes: eb2e6578 SPIGOT-5116: Fix concurrent modification exception inside ChunkMapDistance 989f9b3d SPIGOT-4849: Fix server crash when accessing chunks during chunk load/unload/populate events f554183c SPIGOT-5171: Don't fire PlayerTeleportEvent if not actually moving 2349feb8 SPIGOT-5163: Cancelling PlayerBucketFillEvent visually removes the targeted block Spigot Changes: 9a643a6a Remove DataWatcher Locking
25 lines
1.2 KiB
Diff
25 lines
1.2 KiB
Diff
From dac39792514978b124764723c37284f751849373 Mon Sep 17 00:00:00 2001
|
|
From: Brokkonaut <hannos17@gmx.de>
|
|
Date: Tue, 25 Sep 2018 06:53:43 +0200
|
|
Subject: [PATCH] Avoid dimension id collisions
|
|
|
|
getDimensionId() returns the dimension id - 1. So without this patch
|
|
we would reuse an existing dimension id, if some other dimension was
|
|
unloaded before.
|
|
|
|
diff --git a/src/main/java/org/bukkit/craftbukkit/CraftServer.java b/src/main/java/org/bukkit/craftbukkit/CraftServer.java
|
|
index da8cb53ab..752427d91 100644
|
|
--- a/src/main/java/org/bukkit/craftbukkit/CraftServer.java
|
|
+++ b/src/main/java/org/bukkit/craftbukkit/CraftServer.java
|
|
@@ -976,7 +976,7 @@ public final class CraftServer implements Server {
|
|
boolean used = false;
|
|
do {
|
|
for (WorldServer server : console.getWorlds()) {
|
|
- used = server.getWorldProvider().getDimensionManager().getDimensionID() == dimension;
|
|
+ used = server.getWorldProvider().getDimensionManager().getDimensionID() + 1 == dimension; // Paper - getDimensionID returns the dimension - 1, so we have to add 1
|
|
if (used) {
|
|
dimension++;
|
|
break;
|
|
--
|
|
2.22.0
|
|
|