Make sure Registry is loaded after Bukkit.setServer() (#8853)

This commit is contained in:
Jake Potrebic 2023-02-15 15:00:22 -08:00 committed by GitHub
parent 03a4e7ac75
commit 5c87711301
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
20 changed files with 63 additions and 63 deletions

View file

@ -118,7 +118,7 @@ index 0000000000000000000000000000000000000000..8dd0df8c2cc25d37a2590a0787268223
+ }
+}
diff --git a/src/test/java/org/bukkit/support/AbstractTestingBase.java b/src/test/java/org/bukkit/support/AbstractTestingBase.java
index 492c1ec28a9f1facb117d05245b32231554385ad..007239914bd48263b83112c2b82a5d6406dcdbdc 100644
index 492c1ec28a9f1facb117d05245b32231554385ad..8013cc99c063d2ca0c578c093e3112676f5361b7 100644
--- a/src/test/java/org/bukkit/support/AbstractTestingBase.java
+++ b/src/test/java/org/bukkit/support/AbstractTestingBase.java
@@ -2,7 +2,6 @@ package org.bukkit.support;
@ -129,14 +129,14 @@ index 492c1ec28a9f1facb117d05245b32231554385ad..007239914bd48263b83112c2b82a5d64
import java.util.List;
import net.minecraft.SharedConstants;
import net.minecraft.commands.Commands;
@@ -41,6 +40,7 @@ public abstract class AbstractTestingBase {
public static final Registry<Biome> BIOMES;
static {
@@ -49,6 +48,7 @@ public abstract class AbstractTestingBase {
LayeredRegistryAccess<RegistryLayer> layers = RegistryLayer.createRegistryAccess();
layers = WorldLoader.loadAndReplaceLayer(resourceManager, layers, RegistryLayer.WORLDGEN, RegistryDataLoader.WORLDGEN_REGISTRIES);
REGISTRY_CUSTOM = layers.compositeAccess().freeze();
+ io.papermc.paper.testing.DummyServer.setup(); // Paper
SharedConstants.tryDetectVersion();
Bootstrap.bootStrap();
// Set up resource manager
// Register vanilla pack
DATA_PACK = ReloadableServerResources.loadResources(resourceManager, REGISTRY_CUSTOM, FeatureFlags.REGISTRY.allFlags(), Commands.CommandSelection.DEDICATED, 0, MoreExecutors.directExecutor(), MoreExecutors.directExecutor()).join();
// Bind tags
@@ -56,7 +56,6 @@ public abstract class AbstractTestingBase {
// Biome shortcut
BIOMES = REGISTRY_CUSTOM.registryOrThrow(Registries.BIOME);

View file

@ -221,13 +221,13 @@ index 4b7afdfea75e1023f68c1f9dbaf2db23010a0c30..c375ad0211ea5f3a1a80944a920d4e39
/**
diff --git a/src/test/java/org/bukkit/support/AbstractTestingBase.java b/src/test/java/org/bukkit/support/AbstractTestingBase.java
index 3d9ece71fecd5151bb3862282f6021df2d73e3dc..b71602a088de181296dcabed0ac3a2b193ed15e6 100644
index 1caa4ce02cd396160f0d9d5461de8290e7c078bb..a19c1e8253b0dd0da77008f892b68187acd17c4a 100644
--- a/src/test/java/org/bukkit/support/AbstractTestingBase.java
+++ b/src/test/java/org/bukkit/support/AbstractTestingBase.java
@@ -49,6 +49,15 @@ public abstract class AbstractTestingBase {
LayeredRegistryAccess<RegistryLayer> layers = RegistryLayer.createRegistryAccess();
layers = WorldLoader.loadAndReplaceLayer(resourceManager, layers, RegistryLayer.WORLDGEN, RegistryDataLoader.WORLDGEN_REGISTRIES);
REGISTRY_CUSTOM = layers.compositeAccess().freeze();
io.papermc.paper.testing.DummyServer.setup(); // Paper
+ // Paper start
+ try {
+ java.lang.reflect.Field field = io.papermc.paper.registry.PaperRegistry.class.getDeclaredField("REGISTRY_ACCESS");

View file

@ -105,18 +105,18 @@ index b6df6077107759963ee8205dddb90501d5ccb4d6..29032374f0e71a41a2de260d402b6fbf
ChunkGeneratorStructureState chunkgeneratorstructurestate = world.getChunkSource().getGeneratorState();
Map<StructurePlacement, Set<Holder<Structure>>> map = new Object2ObjectArrayMap();
Iterator iterator = structures.iterator();
diff --git a/src/main/java/net/minecraft/world/level/levelgen/structure/Structure.java b/src/main/java/net/minecraft/world/level/levelgen/structure/Structure.java
index 8eaa1a57e904fe7e540b311c6c5c36b755f021fc..92730afcda6f779d0c440c7a8d50bb792b57d2d3 100644
--- a/src/main/java/net/minecraft/world/level/levelgen/structure/Structure.java
+++ b/src/main/java/net/minecraft/world/level/levelgen/structure/Structure.java
@@ -42,6 +42,7 @@ public abstract class Structure {
public static final Codec<Structure> DIRECT_CODEC = BuiltInRegistries.STRUCTURE_TYPE.byNameCodec().dispatch(Structure::type, StructureType::codec);
public static final Codec<Holder<Structure>> CODEC = RegistryFileCodec.create(Registries.STRUCTURE, DIRECT_CODEC);
protected final Structure.StructureSettings settings;
+ static { io.papermc.paper.world.structure.PaperConfiguredStructure.init(); } // Paper
diff --git a/src/main/java/org/bukkit/craftbukkit/CraftServer.java b/src/main/java/org/bukkit/craftbukkit/CraftServer.java
index 6c2ea3e0cf385d6893faf5430b29dbe2589786b0..c05dab188b35a138ce230b92d366083e1ffca604 100644
--- a/src/main/java/org/bukkit/craftbukkit/CraftServer.java
+++ b/src/main/java/org/bukkit/craftbukkit/CraftServer.java
@@ -317,6 +317,7 @@ public final class CraftServer implements Server {
this.structureManager = new CraftStructureManager(console.getStructureManager());
public static <S extends Structure> RecordCodecBuilder<S, Structure.StructureSettings> settingsCodec(RecordCodecBuilder.Instance<S> instance) {
return Structure.StructureSettings.CODEC.forGetter((feature) -> {
Bukkit.setServer(this);
+ io.papermc.paper.world.structure.PaperConfiguredStructure.init(); // Paper
// Register all the Enchantments and PotionTypes now so we can stop new registration immediately after
Enchantments.SHARPNESS.getClass();
diff --git a/src/test/java/io/papermc/paper/world/structure/ConfiguredStructureTest.java b/src/test/java/io/papermc/paper/world/structure/ConfiguredStructureTest.java
new file mode 100644
index 0000000000000000000000000000000000000000..cb077ac5e24d6632c46927fef8ecd20f150d3596

View file

@ -20,10 +20,10 @@ index 3e4ac4020c9f51e634eadd43243d34267bea4b22..ce52ae980309ecddf597e14b759b77ea
// Paper end
}
diff --git a/src/main/java/org/bukkit/craftbukkit/CraftServer.java b/src/main/java/org/bukkit/craftbukkit/CraftServer.java
index 6c2ea3e0cf385d6893faf5430b29dbe2589786b0..2dbfd750088dbf7a15fc147d9f215c19e505c96b 100644
index c05dab188b35a138ce230b92d366083e1ffca604..0e1967a8842924ab0b683e482ccd9b0e4825936a 100644
--- a/src/main/java/org/bukkit/craftbukkit/CraftServer.java
+++ b/src/main/java/org/bukkit/craftbukkit/CraftServer.java
@@ -1156,9 +1156,15 @@ public final class CraftServer implements Server {
@@ -1157,9 +1157,15 @@ public final class CraftServer implements Server {
File folder = new File(this.getWorldContainer(), name);
World world = this.getWorld(name);
@ -41,7 +41,7 @@ index 6c2ea3e0cf385d6893faf5430b29dbe2589786b0..2dbfd750088dbf7a15fc147d9f215c19
if ((folder.exists()) && (!folder.isDirectory())) {
throw new IllegalArgumentException("File exists with the name '" + name + "' and isn't a folder");
@@ -1247,7 +1253,7 @@ public final class CraftServer implements Server {
@@ -1248,7 +1254,7 @@ public final class CraftServer implements Server {
} else if (name.equals(levelName + "_the_end")) {
worldKey = net.minecraft.world.level.Level.END;
} else {
@ -50,7 +50,7 @@ index 6c2ea3e0cf385d6893faf5430b29dbe2589786b0..2dbfd750088dbf7a15fc147d9f215c19
}
ServerLevel internal = (ServerLevel) new ServerLevel(this.console, console.executor, worldSession, worlddata, worldKey, worlddimension, this.getServer().progressListenerFactory.create(11),
@@ -1339,6 +1345,15 @@ public final class CraftServer implements Server {
@@ -1340,6 +1346,15 @@ public final class CraftServer implements Server {
return null;
}

View file

@ -92,7 +92,7 @@ index 0000000000000000000000000000000000000000..cf4374493c11057451a62a655514415c
+ }
+}
diff --git a/src/main/java/org/bukkit/craftbukkit/CraftServer.java b/src/main/java/org/bukkit/craftbukkit/CraftServer.java
index 2dbfd750088dbf7a15fc147d9f215c19e505c96b..f28e588489088e948e70f87951e07728e600f737 100644
index 0e1967a8842924ab0b683e482ccd9b0e4825936a..0cd970a62a9dd98031805bd73af22b6ff0de4aed 100644
--- a/src/main/java/org/bukkit/craftbukkit/CraftServer.java
+++ b/src/main/java/org/bukkit/craftbukkit/CraftServer.java
@@ -295,6 +295,7 @@ public final class CraftServer implements Server {
@ -103,7 +103,7 @@ index 2dbfd750088dbf7a15fc147d9f215c19e505c96b..f28e588489088e948e70f87951e07728
public static Exception excessiveVelEx; // Paper - Velocity warnings
static {
@@ -381,6 +382,7 @@ public final class CraftServer implements Server {
@@ -382,6 +383,7 @@ public final class CraftServer implements Server {
if (this.configuration.getBoolean("settings.use-map-color-cache")) {
MapPalette.setMapColorCache(new CraftMapColorCache(this.logger));
}
@ -111,7 +111,7 @@ index 2dbfd750088dbf7a15fc147d9f215c19e505c96b..f28e588489088e948e70f87951e07728
}
public boolean getCommandBlockOverride(String command) {
@@ -2797,5 +2799,11 @@ public final class CraftServer implements Server {
@@ -2798,5 +2800,11 @@ public final class CraftServer implements Server {
public com.destroystokyo.paper.entity.ai.MobGoals getMobGoals() {
return mobGoals;
}

View file

@ -359,10 +359,10 @@ index b294ef87fb93e7f4651dc04128124f297575860d..65fd57609e45ccd49ebfc1ba80d25243
return this.regionCache.getAndMoveToFirst(ChunkPos.asLong(chunkcoordintpair.getRegionX(), chunkcoordintpair.getRegionZ()));
}
diff --git a/src/main/java/org/bukkit/craftbukkit/CraftServer.java b/src/main/java/org/bukkit/craftbukkit/CraftServer.java
index f28e588489088e948e70f87951e07728e600f737..e8f7b418b942a6a36e615dbcaf9bb18257c34ee4 100644
index 0cd970a62a9dd98031805bd73af22b6ff0de4aed..ad2ce80a64e7e975b029a5bf897661f499538ebb 100644
--- a/src/main/java/org/bukkit/craftbukkit/CraftServer.java
+++ b/src/main/java/org/bukkit/craftbukkit/CraftServer.java
@@ -1232,12 +1232,7 @@ public final class CraftServer implements Server {
@@ -1233,12 +1233,7 @@ public final class CraftServer implements Server {
worlddata.customDimensions = iregistry;
worlddata.checkName(name);
worlddata.setModdedInfo(this.console.getServerModName(), this.console.getModdedStatus().shouldReportAsModified());
@ -376,7 +376,7 @@ index f28e588489088e948e70f87951e07728e600f737..e8f7b418b942a6a36e615dbcaf9bb182
long j = BiomeManager.obfuscateSeed(creator.seed());
List<CustomSpawner> list = ImmutableList.of(new PhantomSpawner(), new PatrolSpawner(), new CatSpawner(), new VillageSiege(), new WanderingTraderSpawner(worlddata));
@@ -1248,6 +1243,13 @@ public final class CraftServer implements Server {
@@ -1249,6 +1244,13 @@ public final class CraftServer implements Server {
biomeProvider = generator.getDefaultBiomeProvider(worldInfo);
}

View file

@ -286,10 +286,10 @@ index bf3fb416d36a19958033cdbf5cc313556fa0201b..0a49769bfa83d0b9c435e3ab4bba8597
// Paper start - add parameters and int ret type
spawnCategoryForChunk(group, world, chunk, checker, runner, Integer.MAX_VALUE, null);
diff --git a/src/main/java/org/bukkit/craftbukkit/CraftServer.java b/src/main/java/org/bukkit/craftbukkit/CraftServer.java
index caa9885dd942fc5b82ba6b820d89f1b1a7ffda20..9ab3f3a490e55211670e2847f03bd4f8229162da 100644
index 2ef6971bae1a25b7da7e0c45404aaf576fe9de1f..498f75af09272855c6d648c4bbbd0d6736e71643 100644
--- a/src/main/java/org/bukkit/craftbukkit/CraftServer.java
+++ b/src/main/java/org/bukkit/craftbukkit/CraftServer.java
@@ -2183,6 +2183,11 @@ public final class CraftServer implements Server {
@@ -2184,6 +2184,11 @@ public final class CraftServer implements Server {
@Override
public int getSpawnLimit(SpawnCategory spawnCategory) {

View file

@ -5,10 +5,10 @@ Subject: [PATCH] Allow delegation to vanilla chunk gen
diff --git a/src/main/java/org/bukkit/craftbukkit/CraftServer.java b/src/main/java/org/bukkit/craftbukkit/CraftServer.java
index 9ab3f3a490e55211670e2847f03bd4f8229162da..74c2bb3de8b5bfc3b285a19a322cfe308a9b88f2 100644
index 498f75af09272855c6d648c4bbbd0d6736e71643..4de2392f51b30c3778011e3fcb4f21dbf723e731 100644
--- a/src/main/java/org/bukkit/craftbukkit/CraftServer.java
+++ b/src/main/java/org/bukkit/craftbukkit/CraftServer.java
@@ -2356,6 +2356,90 @@ public final class CraftServer implements Server {
@@ -2357,6 +2357,90 @@ public final class CraftServer implements Server {
return new OldCraftChunkData(world.getMinHeight(), world.getMaxHeight(), handle.registryAccess().registryOrThrow(Registries.BIOME), world); // Paper - Anti-Xray - Add parameters
}

View file

@ -18,10 +18,10 @@ index 0868805c78d991c602d8f1d1b5aeb5c790c13384..6986d5475b090bca60b5ae892512fd5e
biomeProvider = gen.getDefaultBiomeProvider(worldInfo);
}
diff --git a/src/main/java/org/bukkit/craftbukkit/CraftServer.java b/src/main/java/org/bukkit/craftbukkit/CraftServer.java
index 74c2bb3de8b5bfc3b285a19a322cfe308a9b88f2..9d8b856132f20d94b928d4e343ede2e027e122b0 100644
index 4de2392f51b30c3778011e3fcb4f21dbf723e731..cc23a36accc9b05a0c37b241acb98cf596cffbe4 100644
--- a/src/main/java/org/bukkit/craftbukkit/CraftServer.java
+++ b/src/main/java/org/bukkit/craftbukkit/CraftServer.java
@@ -1239,7 +1239,7 @@ public final class CraftServer implements Server {
@@ -1240,7 +1240,7 @@ public final class CraftServer implements Server {
List<CustomSpawner> list = ImmutableList.of(new PhantomSpawner(), new PatrolSpawner(), new CatSpawner(), new VillageSiege(), new WanderingTraderSpawner(worlddata));
LevelStem worlddimension = iregistry.get(actualDimension);

View file

@ -122,10 +122,10 @@ index 0000000000000000000000000000000000000000..e3a5f1ec376319bdfda87fa27ae217bf
+ }
+}
diff --git a/src/main/java/org/bukkit/craftbukkit/CraftServer.java b/src/main/java/org/bukkit/craftbukkit/CraftServer.java
index 9d8b856132f20d94b928d4e343ede2e027e122b0..a03bb7341d07c39d2a8740823e4cf341b294236e 100644
index cc23a36accc9b05a0c37b241acb98cf596cffbe4..25922e6adb9c1482ec2e7a90c3c3ab55bbb0f455 100644
--- a/src/main/java/org/bukkit/craftbukkit/CraftServer.java
+++ b/src/main/java/org/bukkit/craftbukkit/CraftServer.java
@@ -2017,6 +2017,13 @@ public final class CraftServer implements Server {
@@ -2018,6 +2018,13 @@ public final class CraftServer implements Server {
return console.console;
}

View file

@ -6,10 +6,10 @@ Subject: [PATCH] Add missing Validate calls to CraftServer#getSpawnLimit
Copies appropriate checks from CraftWorld#getSpawnLimit
diff --git a/src/main/java/org/bukkit/craftbukkit/CraftServer.java b/src/main/java/org/bukkit/craftbukkit/CraftServer.java
index a03bb7341d07c39d2a8740823e4cf341b294236e..40e2a38317403d19ab53cb623aa1ba2502d6a4a7 100644
index 25922e6adb9c1482ec2e7a90c3c3ab55bbb0f455..351b69772cf6acbb72a6766737519d14637d3c58 100644
--- a/src/main/java/org/bukkit/craftbukkit/CraftServer.java
+++ b/src/main/java/org/bukkit/craftbukkit/CraftServer.java
@@ -2191,6 +2191,8 @@ public final class CraftServer implements Server {
@@ -2192,6 +2192,8 @@ public final class CraftServer implements Server {
@Override
public int getSpawnLimit(SpawnCategory spawnCategory) {
// Paper start

View file

@ -46,10 +46,10 @@ index 0000000000000000000000000000000000000000..e7d9fd2702a1ce96596580fff8f5ee4f
+ }
+}
diff --git a/src/main/java/org/bukkit/craftbukkit/CraftServer.java b/src/main/java/org/bukkit/craftbukkit/CraftServer.java
index 40e2a38317403d19ab53cb623aa1ba2502d6a4a7..42ca82adacc079044c50106c7490d341f16bbbbc 100644
index 351b69772cf6acbb72a6766737519d14637d3c58..3c0ec36f569de79f909db40f3c2262afe6102e2c 100644
--- a/src/main/java/org/bukkit/craftbukkit/CraftServer.java
+++ b/src/main/java/org/bukkit/craftbukkit/CraftServer.java
@@ -2602,6 +2602,15 @@ public final class CraftServer implements Server {
@@ -2603,6 +2603,15 @@ public final class CraftServer implements Server {
return (org.bukkit.Tag<T>) new CraftEntityTag(BuiltInRegistries.ENTITY_TYPE, entityTagKey);
}
}
@ -65,7 +65,7 @@ index 40e2a38317403d19ab53cb623aa1ba2502d6a4a7..42ca82adacc079044c50106c7490d341
default -> throw new IllegalArgumentException();
}
@@ -2634,6 +2643,13 @@ public final class CraftServer implements Server {
@@ -2635,6 +2644,13 @@ public final class CraftServer implements Server {
net.minecraft.core.Registry<EntityType<?>> entityTags = BuiltInRegistries.ENTITY_TYPE;
return entityTags.getTags().map(pair -> (org.bukkit.Tag<T>) new CraftEntityTag(entityTags, pair.getFirst())).collect(ImmutableList.toImmutableList());
}

View file

@ -23,10 +23,10 @@ index d2409599c9d9765a2e1dc7418339923049abc416..f42d7d9e11542370489fcc8dc42ea6ec
if (worlddata.getCustomBossEvents() != null) {
diff --git a/src/main/java/org/bukkit/craftbukkit/CraftServer.java b/src/main/java/org/bukkit/craftbukkit/CraftServer.java
index 42ca82adacc079044c50106c7490d341f16bbbbc..0aab988ca42d0acdce003c3c69396737181e7104 100644
index 3c0ec36f569de79f909db40f3c2262afe6102e2c..d64d81dd51d6cfd21f01d8811d7d18205f7cd233 100644
--- a/src/main/java/org/bukkit/craftbukkit/CraftServer.java
+++ b/src/main/java/org/bukkit/craftbukkit/CraftServer.java
@@ -1268,10 +1268,11 @@ public final class CraftServer implements Server {
@@ -1269,10 +1269,11 @@ public final class CraftServer implements Server {
return null;
}

View file

@ -164,7 +164,7 @@ index cf2b6487a640a7a613f3b3604ca7b1063b3ff102..0bab2693b91d5bab222c7db8bc6965cc
@Override
diff --git a/src/main/java/org/bukkit/craftbukkit/CraftServer.java b/src/main/java/org/bukkit/craftbukkit/CraftServer.java
index 0aab988ca42d0acdce003c3c69396737181e7104..5eb52dce4ab8cf970dc5b4cddf7a38fbef689df1 100644
index d64d81dd51d6cfd21f01d8811d7d18205f7cd233..ed68a09222d32c35f81d9d22337db0935ee166f9 100644
--- a/src/main/java/org/bukkit/craftbukkit/CraftServer.java
+++ b/src/main/java/org/bukkit/craftbukkit/CraftServer.java
@@ -298,6 +298,7 @@ public final class CraftServer implements Server {
@ -175,7 +175,7 @@ index 0aab988ca42d0acdce003c3c69396737181e7104..5eb52dce4ab8cf970dc5b4cddf7a38fb
static {
ConfigurationSerialization.registerClass(CraftOfflinePlayer.class);
@@ -324,7 +325,7 @@ public final class CraftServer implements Server {
@@ -325,7 +326,7 @@ public final class CraftServer implements Server {
Enchantments.SHARPNESS.getClass();
org.bukkit.enchantments.Enchantment.stopAcceptingRegistrations();
@ -184,7 +184,7 @@ index 0aab988ca42d0acdce003c3c69396737181e7104..5eb52dce4ab8cf970dc5b4cddf7a38fb
MobEffects.BLINDNESS.getClass();
PotionEffectType.stopAcceptingRegistrations();
// Ugly hack :(
@@ -2923,5 +2924,10 @@ public final class CraftServer implements Server {
@@ -2924,5 +2925,10 @@ public final class CraftServer implements Server {
return datapackManager;
}

View file

@ -6,10 +6,10 @@ Subject: [PATCH] Fix saving in unloadWorld
Change savingDisabled to false to ensure ServerLevel's saving logic gets called when unloadWorld is called with save = true
diff --git a/src/main/java/org/bukkit/craftbukkit/CraftServer.java b/src/main/java/org/bukkit/craftbukkit/CraftServer.java
index 5eb52dce4ab8cf970dc5b4cddf7a38fbef689df1..63e90208c094345a25746448ff86fb7d3eb21580 100644
index ed68a09222d32c35f81d9d22337db0935ee166f9..6688f8b92a5da150066adff3a4ff5719899ee8c1 100644
--- a/src/main/java/org/bukkit/craftbukkit/CraftServer.java
+++ b/src/main/java/org/bukkit/craftbukkit/CraftServer.java
@@ -1316,7 +1316,7 @@ public final class CraftServer implements Server {
@@ -1317,7 +1317,7 @@ public final class CraftServer implements Server {
try {
if (save) {

View file

@ -5,10 +5,10 @@ Subject: [PATCH] WorldCreator#keepSpawnLoaded
diff --git a/src/main/java/org/bukkit/craftbukkit/CraftServer.java b/src/main/java/org/bukkit/craftbukkit/CraftServer.java
index 63e90208c094345a25746448ff86fb7d3eb21580..3e00f74b43b5459e8e1b6dff1e25d38933dde3dc 100644
index 6688f8b92a5da150066adff3a4ff5719899ee8c1..492e7d420a73b02bbff52705d432eab998527c86 100644
--- a/src/main/java/org/bukkit/craftbukkit/CraftServer.java
+++ b/src/main/java/org/bukkit/craftbukkit/CraftServer.java
@@ -1275,6 +1275,7 @@ public final class CraftServer implements Server {
@@ -1276,6 +1276,7 @@ public final class CraftServer implements Server {
internal.setSpawnSettings(true, true);
// Paper - move up

View file

@ -45,10 +45,10 @@ index a8b3f0e8be414c4ea92cc85c9811ecd42e5ce9c1..0e04083ff0598451c66731b1518b2eb6
this.profiler.popPush("connection");
MinecraftTimings.connectionTimer.startTiming(); // Spigot
diff --git a/src/main/java/org/bukkit/craftbukkit/CraftServer.java b/src/main/java/org/bukkit/craftbukkit/CraftServer.java
index 3e00f74b43b5459e8e1b6dff1e25d38933dde3dc..22b30f8ae67bad1b8fb50be835c134ec275e14f9 100644
index 492e7d420a73b02bbff52705d432eab998527c86..5e8b7d4edce921053f33eafdcf9786d0601c4d0d 100644
--- a/src/main/java/org/bukkit/craftbukkit/CraftServer.java
+++ b/src/main/java/org/bukkit/craftbukkit/CraftServer.java
@@ -868,6 +868,11 @@ public final class CraftServer implements Server {
@@ -869,6 +869,11 @@ public final class CraftServer implements Server {
return new ArrayList<World>(this.worlds.values());
}
@ -60,7 +60,7 @@ index 3e00f74b43b5459e8e1b6dff1e25d38933dde3dc..22b30f8ae67bad1b8fb50be835c134ec
public DedicatedPlayerList getHandle() {
return this.playerList;
}
@@ -1152,6 +1157,7 @@ public final class CraftServer implements Server {
@@ -1153,6 +1158,7 @@ public final class CraftServer implements Server {
@Override
public World createWorld(WorldCreator creator) {
Preconditions.checkState(this.console.getAllLevels().iterator().hasNext(), "Cannot create additional worlds on STARTUP");
@ -68,7 +68,7 @@ index 3e00f74b43b5459e8e1b6dff1e25d38933dde3dc..22b30f8ae67bad1b8fb50be835c134ec
Validate.notNull(creator, "Creator may not be null");
String name = creator.name();
@@ -1290,6 +1296,7 @@ public final class CraftServer implements Server {
@@ -1291,6 +1297,7 @@ public final class CraftServer implements Server {
@Override
public boolean unloadWorld(World world, boolean save) {

View file

@ -20,10 +20,10 @@ index 7c7e5f3c0f9cd1f16192a8fc8163da9b2d9519d5..888936385196a178ab8b730fd5e4fff4
Date date = new Date();
diff --git a/src/main/java/org/bukkit/craftbukkit/CraftServer.java b/src/main/java/org/bukkit/craftbukkit/CraftServer.java
index 22b30f8ae67bad1b8fb50be835c134ec275e14f9..4585fe9467c1866ad6746e44b45f77d614be8201 100644
index 5e8b7d4edce921053f33eafdcf9786d0601c4d0d..c604e8269080ead3d5b3d9a4136b78e1222da600 100644
--- a/src/main/java/org/bukkit/craftbukkit/CraftServer.java
+++ b/src/main/java/org/bukkit/craftbukkit/CraftServer.java
@@ -1790,7 +1790,7 @@ public final class CraftServer implements Server {
@@ -1791,7 +1791,7 @@ public final class CraftServer implements Server {
// Paper end
Set<CommandSender> recipients = new HashSet<>();
for (Permissible permissible : this.getPluginManager().getPermissionSubscriptions(permission)) {

View file

@ -213,10 +213,10 @@ index 0bedd9eadbfe1ce290f22d6c648571e25e3ae0e9..093822a5256e8e919350a000239a3e92
}
diff --git a/src/main/java/org/bukkit/craftbukkit/CraftServer.java b/src/main/java/org/bukkit/craftbukkit/CraftServer.java
index 4585fe9467c1866ad6746e44b45f77d614be8201..bfc4ee36befb925ab4eb6b96f5c1aa6c76bf711f 100644
index c604e8269080ead3d5b3d9a4136b78e1222da600..f938095d999412d88fa3fcf76b87253034124cb9 100644
--- a/src/main/java/org/bukkit/craftbukkit/CraftServer.java
+++ b/src/main/java/org/bukkit/craftbukkit/CraftServer.java
@@ -797,7 +797,7 @@ public final class CraftServer implements Server {
@@ -798,7 +798,7 @@ public final class CraftServer implements Server {
@Override
public long getConnectionThrottle() {
// Spigot Start - Automatically set connection throttle for bungee configurations

View file

@ -5,10 +5,10 @@ Subject: [PATCH] Add missing isFuel Material entries
diff --git a/src/test/java/org/bukkit/support/AbstractTestingBase.java b/src/test/java/org/bukkit/support/AbstractTestingBase.java
index b71602a088de181296dcabed0ac3a2b193ed15e6..f06402ae62c91d5a33dca2e4c9f807e3dc2d311f 100644
index a19c1e8253b0dd0da77008f892b68187acd17c4a..5b4c93bb313019ad44eb8283865be45c69d99984 100644
--- a/src/test/java/org/bukkit/support/AbstractTestingBase.java
+++ b/src/test/java/org/bukkit/support/AbstractTestingBase.java
@@ -44,7 +44,12 @@ public abstract class AbstractTestingBase {
@@ -43,7 +43,12 @@ public abstract class AbstractTestingBase {
SharedConstants.tryDetectVersion();
Bootstrap.bootStrap();
// Set up resource manager