70ce6ce831
This makes it easier for downstream projects (forks) to replace the version fetching system with their own. It is as simple as implementing an interface and overriding the default implementation of org.bukkit.UnsafeValues#getVersionFetcher() It also makes it easier for us to organize things like the version history feature. Lastly I have updated the paper implementation to check against the site API rather than against jenkins.
25 lines
1.2 KiB
Diff
25 lines
1.2 KiB
Diff
From 598cd2370f3c79ea2a7e1145c1e71a52157bea96 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 eb8eecde6..c97bf8a05 100644
|
|
--- a/src/main/java/org/bukkit/craftbukkit/CraftServer.java
|
|
+++ b/src/main/java/org/bukkit/craftbukkit/CraftServer.java
|
|
@@ -971,7 +971,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.21.0
|
|
|