From 5c877113018dca5d02ed86be8088cbf6d5bec94e Mon Sep 17 00:00:00 2001 From: Jake Potrebic Date: Wed, 15 Feb 2023 15:00:22 -0800 Subject: [PATCH] Make sure Registry is loaded after Bukkit.setServer() (#8853) --- patches/server/0004-Test-changes.patch | 16 +++++++------- patches/server/0548-Add-PaperRegistry.patch | 4 ++-- .../0549-Add-StructuresLocateEvent.patch | 22 +++++++++---------- .../server/0583-Expand-world-key-API.patch | 8 +++---- .../server/0617-Add-basic-Datapack-API.patch | 6 ++--- ...x-and-optimise-world-force-upgrading.patch | 6 ++--- ...aper-mobcaps-and-paper-playermobcaps.patch | 4 ++-- ...llow-delegation-to-vanilla-chunk-gen.patch | 4 ++-- ...vanilla-BiomeProvider-from-WorldInfo.patch | 4 ++-- ...-command-sender-which-forwards-feedb.patch | 4 ++-- ...date-calls-to-CraftServer-getSpawnLi.patch | 4 ++-- patches/server/0799-Add-GameEvent-tags.patch | 6 ++--- ...o-worldlist-before-initing-the-world.patch | 4 ++-- patches/server/0807-Custom-Potion-Mixes.patch | 6 ++--- .../0818-Fix-saving-in-unloadWorld.patch | 4 ++-- .../0834-WorldCreator-keepSpawnLoaded.patch | 4 ++-- ...n-on-world-create-while-being-ticked.patch | 8 +++---- ...broadcast-messages-to-command-blocks.patch | 4 ++-- ...9-Add-Velocity-IP-Forwarding-Support.patch | 4 ++-- ...-Add-missing-isFuel-Material-entries.patch | 4 ++-- 20 files changed, 63 insertions(+), 63 deletions(-) diff --git a/patches/server/0004-Test-changes.patch b/patches/server/0004-Test-changes.patch index 8b7b3c1213..bdbc536649 100644 --- a/patches/server/0004-Test-changes.patch +++ b/patches/server/0004-Test-changes.patch @@ -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 BIOMES; - - static { +@@ -49,6 +48,7 @@ public abstract class AbstractTestingBase { + LayeredRegistryAccess 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); diff --git a/patches/server/0548-Add-PaperRegistry.patch b/patches/server/0548-Add-PaperRegistry.patch index 943aa745fd..ae05218e82 100644 --- a/patches/server/0548-Add-PaperRegistry.patch +++ b/patches/server/0548-Add-PaperRegistry.patch @@ -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 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"); diff --git a/patches/server/0549-Add-StructuresLocateEvent.patch b/patches/server/0549-Add-StructuresLocateEvent.patch index e7f6799caa..5ce8fd2458 100644 --- a/patches/server/0549-Add-StructuresLocateEvent.patch +++ b/patches/server/0549-Add-StructuresLocateEvent.patch @@ -105,18 +105,18 @@ index b6df6077107759963ee8205dddb90501d5ccb4d6..29032374f0e71a41a2de260d402b6fbf ChunkGeneratorStructureState chunkgeneratorstructurestate = world.getChunkSource().getGeneratorState(); Map>> 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 DIRECT_CODEC = BuiltInRegistries.STRUCTURE_TYPE.byNameCodec().dispatch(Structure::type, StructureType::codec); - public static final Codec> 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 RecordCodecBuilder settingsCodec(RecordCodecBuilder.Instance 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 diff --git a/patches/server/0583-Expand-world-key-API.patch b/patches/server/0583-Expand-world-key-API.patch index 002ecb48ac..16a4acb662 100644 --- a/patches/server/0583-Expand-world-key-API.patch +++ b/patches/server/0583-Expand-world-key-API.patch @@ -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; } diff --git a/patches/server/0617-Add-basic-Datapack-API.patch b/patches/server/0617-Add-basic-Datapack-API.patch index cbb3458c60..3ec30a4fca 100644 --- a/patches/server/0617-Add-basic-Datapack-API.patch +++ b/patches/server/0617-Add-basic-Datapack-API.patch @@ -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; } diff --git a/patches/server/0623-Fix-and-optimise-world-force-upgrading.patch b/patches/server/0623-Fix-and-optimise-world-force-upgrading.patch index fea31cc874..86817075ca 100644 --- a/patches/server/0623-Fix-and-optimise-world-force-upgrading.patch +++ b/patches/server/0623-Fix-and-optimise-world-force-upgrading.patch @@ -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 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); } diff --git a/patches/server/0698-Add-paper-mobcaps-and-paper-playermobcaps.patch b/patches/server/0698-Add-paper-mobcaps-and-paper-playermobcaps.patch index 32fc9d3302..429460305e 100644 --- a/patches/server/0698-Add-paper-mobcaps-and-paper-playermobcaps.patch +++ b/patches/server/0698-Add-paper-mobcaps-and-paper-playermobcaps.patch @@ -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) { diff --git a/patches/server/0759-Allow-delegation-to-vanilla-chunk-gen.patch b/patches/server/0759-Allow-delegation-to-vanilla-chunk-gen.patch index c8c346c8fd..2e5f60104c 100644 --- a/patches/server/0759-Allow-delegation-to-vanilla-chunk-gen.patch +++ b/patches/server/0759-Allow-delegation-to-vanilla-chunk-gen.patch @@ -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 } diff --git a/patches/server/0779-Expose-vanilla-BiomeProvider-from-WorldInfo.patch b/patches/server/0779-Expose-vanilla-BiomeProvider-from-WorldInfo.patch index 48f5027b97..e5587a9723 100644 --- a/patches/server/0779-Expose-vanilla-BiomeProvider-from-WorldInfo.patch +++ b/patches/server/0779-Expose-vanilla-BiomeProvider-from-WorldInfo.patch @@ -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 list = ImmutableList.of(new PhantomSpawner(), new PatrolSpawner(), new CatSpawner(), new VillageSiege(), new WanderingTraderSpawner(worlddata)); LevelStem worlddimension = iregistry.get(actualDimension); diff --git a/patches/server/0794-API-for-creating-command-sender-which-forwards-feedb.patch b/patches/server/0794-API-for-creating-command-sender-which-forwards-feedb.patch index 3e52cb21e5..12292a1e11 100644 --- a/patches/server/0794-API-for-creating-command-sender-which-forwards-feedb.patch +++ b/patches/server/0794-API-for-creating-command-sender-which-forwards-feedb.patch @@ -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; } diff --git a/patches/server/0798-Add-missing-Validate-calls-to-CraftServer-getSpawnLi.patch b/patches/server/0798-Add-missing-Validate-calls-to-CraftServer-getSpawnLi.patch index 4de2c32cbb..b4268d2e86 100644 --- a/patches/server/0798-Add-missing-Validate-calls-to-CraftServer-getSpawnLi.patch +++ b/patches/server/0798-Add-missing-Validate-calls-to-CraftServer-getSpawnLi.patch @@ -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 diff --git a/patches/server/0799-Add-GameEvent-tags.patch b/patches/server/0799-Add-GameEvent-tags.patch index 0fedca5942..bbfc00eff1 100644 --- a/patches/server/0799-Add-GameEvent-tags.patch +++ b/patches/server/0799-Add-GameEvent-tags.patch @@ -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) 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> entityTags = BuiltInRegistries.ENTITY_TYPE; return entityTags.getTags().map(pair -> (org.bukkit.Tag) new CraftEntityTag(entityTags, pair.getFirst())).collect(ImmutableList.toImmutableList()); } diff --git a/patches/server/0805-Put-world-into-worldlist-before-initing-the-world.patch b/patches/server/0805-Put-world-into-worldlist-before-initing-the-world.patch index 84ba26d468..11d08826f7 100644 --- a/patches/server/0805-Put-world-into-worldlist-before-initing-the-world.patch +++ b/patches/server/0805-Put-world-into-worldlist-before-initing-the-world.patch @@ -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; } diff --git a/patches/server/0807-Custom-Potion-Mixes.patch b/patches/server/0807-Custom-Potion-Mixes.patch index b5a930038c..9661edfacf 100644 --- a/patches/server/0807-Custom-Potion-Mixes.patch +++ b/patches/server/0807-Custom-Potion-Mixes.patch @@ -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; } diff --git a/patches/server/0818-Fix-saving-in-unloadWorld.patch b/patches/server/0818-Fix-saving-in-unloadWorld.patch index 839307504c..865278aff6 100644 --- a/patches/server/0818-Fix-saving-in-unloadWorld.patch +++ b/patches/server/0818-Fix-saving-in-unloadWorld.patch @@ -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) { diff --git a/patches/server/0834-WorldCreator-keepSpawnLoaded.patch b/patches/server/0834-WorldCreator-keepSpawnLoaded.patch index c1bc70c683..0a89608d83 100644 --- a/patches/server/0834-WorldCreator-keepSpawnLoaded.patch +++ b/patches/server/0834-WorldCreator-keepSpawnLoaded.patch @@ -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 diff --git a/patches/server/0850-Throw-exception-on-world-create-while-being-ticked.patch b/patches/server/0850-Throw-exception-on-world-create-while-being-ticked.patch index 3428f78332..69ce4aea60 100644 --- a/patches/server/0850-Throw-exception-on-world-create-while-being-ticked.patch +++ b/patches/server/0850-Throw-exception-on-world-create-while-being-ticked.patch @@ -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(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) { diff --git a/patches/server/0857-Don-t-broadcast-messages-to-command-blocks.patch b/patches/server/0857-Don-t-broadcast-messages-to-command-blocks.patch index b09d0677d4..090a42f9d6 100644 --- a/patches/server/0857-Don-t-broadcast-messages-to-command-blocks.patch +++ b/patches/server/0857-Don-t-broadcast-messages-to-command-blocks.patch @@ -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 recipients = new HashSet<>(); for (Permissible permissible : this.getPluginManager().getPermissionSubscriptions(permission)) { diff --git a/patches/server/0879-Add-Velocity-IP-Forwarding-Support.patch b/patches/server/0879-Add-Velocity-IP-Forwarding-Support.patch index fd40cb4bfa..2b5942ed72 100644 --- a/patches/server/0879-Add-Velocity-IP-Forwarding-Support.patch +++ b/patches/server/0879-Add-Velocity-IP-Forwarding-Support.patch @@ -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 diff --git a/patches/server/0960-Add-missing-isFuel-Material-entries.patch b/patches/server/0960-Add-missing-isFuel-Material-entries.patch index 8e0f359547..a23eee50fd 100644 --- a/patches/server/0960-Add-missing-isFuel-Material-entries.patch +++ b/patches/server/0960-Add-missing-isFuel-Material-entries.patch @@ -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