aboutsummaryrefslogtreecommitdiffhomepage
path: root/patches
diff options
context:
space:
mode:
authorShane Freeder <[email protected]>2021-12-03 00:26:54 +0000
committerShane Freeder <[email protected]>2021-12-03 00:26:54 +0000
commitcfa5b37fa86220b30bdd94981ca30a1bd2e2e95d (patch)
treebce752c55444b113dd7d506d9ad2b04fadb2934f /patches
parent057adb04f18f319dafeecd2e4294dd090c8360d1 (diff)
downloadPaper-cfa5b37fa86220b30bdd94981ca30a1bd2e2e95d.tar.gz
Paper-cfa5b37fa86220b30bdd94981ca30a1bd2e2e95d.zip
Updated Upstream (CraftBukkit)
Upstream has released updates that appear 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: 03b725233 SPIGOT-6823: Fix loading custom world in combination with superflat 359d0533a #970: Correct typo in README.md 110492932 Fix per-world worldborder command
Diffstat (limited to 'patches')
-rw-r--r--patches/server/0004-Paper-config-files.patch12
-rw-r--r--patches/server/0005-MC-Dev-fixes.patch8
-rw-r--r--patches/server/0006-MC-Utils.patch18
-rw-r--r--patches/server/0010-Timings-v2.patch30
-rw-r--r--patches/server/0011-Add-command-line-option-to-load-extra-plugin-jars-no.patch6
-rw-r--r--patches/server/0012-Adventure.patch22
-rw-r--r--patches/server/0020-Show-Paper-in-client-crashes-server-lists-and-Mojang.patch8
-rw-r--r--patches/server/0025-Further-improve-server-tick-loop.patch16
-rw-r--r--patches/server/0034-Optimize-explosions.patch6
-rw-r--r--patches/server/0047-Ensure-commands-are-not-ran-async.patch6
-rw-r--r--patches/server/0049-Expose-server-CommandMap.patch4
-rw-r--r--patches/server/0054-Add-velocity-warnings.patch4
-rw-r--r--patches/server/0062-Default-loading-permissions.yml-before-plugins.patch6
-rw-r--r--patches/server/0063-Allow-Reloading-of-Custom-Permissions.patch4
-rw-r--r--patches/server/0064-Remove-Metadata-on-reload.patch4
-rw-r--r--patches/server/0073-Only-process-BlockPhysicsEvent-if-a-plugin-has-a-lis.patch8
-rw-r--r--patches/server/0085-Configurable-Player-Collision.patch6
-rw-r--r--patches/server/0090-remove-null-possibility-for-getServer-singleton.patch6
-rw-r--r--patches/server/0095-Optimize-UserCache-Thread-Safe.patch4
-rw-r--r--patches/server/0103-Add-setting-for-proxy-online-mode-status.patch4
-rw-r--r--patches/server/0112-Allow-Reloading-of-Command-Aliases.patch4
-rw-r--r--patches/server/0134-Properly-handle-async-calls-to-restart-the-server.patch6
-rw-r--r--patches/server/0136-Add-configuration-option-to-prevent-player-names-fro.patch4
-rw-r--r--patches/server/0137-Use-TerminalConsoleAppender-for-console-improvements.patch20
-rw-r--r--patches/server/0142-Add-UnknownCommandEvent.patch4
-rw-r--r--patches/server/0143-Basic-PlayerProfile-API.patch6
-rw-r--r--patches/server/0169-AsyncTabCompleteEvent.patch6
-rw-r--r--patches/server/0182-Implement-extended-PaperServerListPingEvent.patch4
-rw-r--r--patches/server/0185-getPlayerUniqueId-API.patch4
-rw-r--r--patches/server/0243-Add-Early-Warning-Feature-to-WatchDog.patch10
-rw-r--r--patches/server/0258-Asynchronous-chunk-IO-and-loading.patch6
-rw-r--r--patches/server/0280-Add-Velocity-IP-Forwarding-Support.patch4
-rw-r--r--patches/server/0286-Improve-Server-Thread-Pool-and-Thread-Priorities.patch4
-rw-r--r--patches/server/0287-Optimize-World-Time-Updates.patch4
-rw-r--r--patches/server/0292-Make-the-default-permission-message-configurable.patch4
-rw-r--r--patches/server/0320-Server-Tick-Events.patch6
-rw-r--r--patches/server/0327-Fix-CraftServer-isPrimaryThread-and-MinecraftServer-.patch8
-rw-r--r--patches/server/0330-Configurable-Keep-Spawn-Loaded-range-per-world.patch8
-rw-r--r--patches/server/0334-Expose-the-internal-current-tick.patch4
-rw-r--r--patches/server/0349-Optimize-Hoppers.patch6
-rw-r--r--patches/server/0361-Increase-Light-Queue-Size.patch6
-rw-r--r--patches/server/0363-Anti-Xray.patch6
-rw-r--r--patches/server/0384-Add-tick-times-API-and-mspt-command.patch10
-rw-r--r--patches/server/0385-Expose-MinecraftServer-isRunning.patch4
-rw-r--r--patches/server/0396-Improved-Watchdog-Support.patch30
-rw-r--r--patches/server/0416-Expose-game-version.patch4
-rw-r--r--patches/server/0419-misc-debugging-dumps.patch12
-rw-r--r--patches/server/0421-Implement-Mob-Goal-API.patch4
-rw-r--r--patches/server/0428-Wait-for-Async-Tasks-during-shutdown.patch8
-rw-r--r--patches/server/0453-Fix-Per-World-Difficulty-Remembering-Difficulty.patch14
-rw-r--r--patches/server/0458-Add-Plugin-Tickets-to-API-Chunk-Methods.patch6
-rw-r--r--patches/server/0459-incremental-chunk-and-player-saving.patch8
-rw-r--r--patches/server/0488-Add-setMaxPlayers-API.patch4
-rw-r--r--patches/server/0505-Cache-block-data-strings.patch4
-rw-r--r--patches/server/0514-Fix-deop-kicking-non-whitelisted-player-when-white-l.patch4
-rw-r--r--patches/server/0527-Add-getOfflinePlayerIfCached-String.patch4
-rw-r--r--patches/server/0570-Added-ServerResourcesReloadedEvent.patch6
-rw-r--r--patches/server/0596-EntityMoveEvent.patch4
-rw-r--r--patches/server/0617-Implement-Keyed-on-World.patch6
-rw-r--r--patches/server/0623-forced-whitelist-use-configurable-kick-message.patch4
-rw-r--r--patches/server/0657-Add-basic-Datapack-API.patch8
-rw-r--r--patches/server/0662-Fix-and-optimise-world-force-upgrading.patch12
-rw-r--r--patches/server/0670-Add-PlayerKickEvent-causes.patch6
-rw-r--r--patches/server/0701-Add-System.out-err-catcher.patch4
-rw-r--r--patches/server/0755-Execute-chunk-tasks-mid-tick.patch6
-rw-r--r--patches/server/0766-Use-correct-LevelStem-registry-when-loading-default-.patch4
-rw-r--r--patches/server/0816-Fix-removing-recipes.patch4
67 files changed, 248 insertions, 248 deletions
diff --git a/patches/server/0004-Paper-config-files.patch b/patches/server/0004-Paper-config-files.patch
index 9e5606ff14..fbe7c09bdb 100644
--- a/patches/server/0004-Paper-config-files.patch
+++ b/patches/server/0004-Paper-config-files.patch
@@ -629,10 +629,10 @@ index dc2cb18ec926e2eed1caa8e2106e70bcb04f6c0f..a497b281d03c097587b21e9f141a6a66
Main.LOGGER.info("Forcing world upgrade! {}", session.getLevelId()); // CraftBukkit
WorldUpgrader worldupgrader = new WorldUpgrader(session, dataFixer, generatorOptions, eraseCache);
diff --git a/src/main/java/net/minecraft/server/MinecraftServer.java b/src/main/java/net/minecraft/server/MinecraftServer.java
-index 5c03d8f93d6a5c63434f1992ed401bf0421a47c9..15e6c1d87e8a165b8a9e3bc72796109fd1e2e063 100644
+index ebb914e7cf3e5ba2d862e341392e904f325d720a..b3629065ebbe601802703b8671b24c7156f12d03 100644
--- a/src/main/java/net/minecraft/server/MinecraftServer.java
+++ b/src/main/java/net/minecraft/server/MinecraftServer.java
-@@ -601,6 +601,7 @@ public abstract class MinecraftServer extends ReentrantBlockableEventLoop<TickTa
+@@ -602,6 +602,7 @@ public abstract class MinecraftServer extends ReentrantBlockableEventLoop<TickTa
}
this.forceDifficulty();
for (ServerLevel worldserver : this.getAllLevels()) {
@@ -714,10 +714,10 @@ index aaf71bfb582d1d86d67205618825411babd2625a..f18ae5b80c930c3a7c2da079b9926ab2
this.world = new CraftWorld((ServerLevel) this, gen, biomeProvider, env);
this.ticksPerAnimalSpawns = this.getCraftServer().getTicksPerAnimalSpawns(); // CraftBukkit
diff --git a/src/main/java/org/bukkit/craftbukkit/CraftServer.java b/src/main/java/org/bukkit/craftbukkit/CraftServer.java
-index 70ec18340b9e9bde6784fc5929a1db61ccb39b34..0cd31f82fcaab925db6dcada3e9b42a48fe04c67 100644
+index ae0e8dc6fd3f8323c34df83450a16fc3c44a9e5e..980e5abe159ebfdf5334332b8d8201c0c0b66a7b 100644
--- a/src/main/java/org/bukkit/craftbukkit/CraftServer.java
+++ b/src/main/java/org/bukkit/craftbukkit/CraftServer.java
-@@ -844,6 +844,7 @@ public final class CraftServer implements Server {
+@@ -842,6 +842,7 @@ public final class CraftServer implements Server {
}
org.spigotmc.SpigotConfig.init((File) console.options.valueOf("spigot-settings")); // Spigot
@@ -725,7 +725,7 @@ index 70ec18340b9e9bde6784fc5929a1db61ccb39b34..0cd31f82fcaab925db6dcada3e9b42a4
for (ServerLevel world : this.console.getAllLevels()) {
world.serverLevelData.setDifficulty(config.difficulty);
world.setSpawnSettings(config.spawnMonsters, config.spawnAnimals);
-@@ -883,12 +884,14 @@ public final class CraftServer implements Server {
+@@ -881,12 +882,14 @@ public final class CraftServer implements Server {
world.ticksPerAmbientSpawns = this.getTicksPerAmbientSpawns();
}
world.spigotConfig.init(); // Spigot
@@ -740,7 +740,7 @@ index 70ec18340b9e9bde6784fc5929a1db61ccb39b34..0cd31f82fcaab925db6dcada3e9b42a4
this.overrideAllCommandBlockCommands = this.commandsConfiguration.getStringList("command-block-overrides").contains("*");
this.ignoreVanillaPermissions = this.commandsConfiguration.getBoolean("ignore-vanilla-permissions");
-@@ -2296,4 +2299,35 @@ public final class CraftServer implements Server {
+@@ -2293,4 +2296,35 @@ public final class CraftServer implements Server {
return this.spigot;
}
// Spigot end
diff --git a/patches/server/0005-MC-Dev-fixes.patch b/patches/server/0005-MC-Dev-fixes.patch
index 0a6b3d81de..ef93a30268 100644
--- a/patches/server/0005-MC-Dev-fixes.patch
+++ b/patches/server/0005-MC-Dev-fixes.patch
@@ -168,10 +168,10 @@ index 11d3d7d1a42f342bcbdc313fd39b379ceec3c0eb..f6e043810e654db6497be6720a9fbfb9
public void write(FriendlyByteBuf buf) {
buf.writeInt(this.playerId);
diff --git a/src/main/java/net/minecraft/server/MinecraftServer.java b/src/main/java/net/minecraft/server/MinecraftServer.java
-index 15e6c1d87e8a165b8a9e3bc72796109fd1e2e063..18f1bfed979e756a62ff8f5ee434d8270ab987d4 100644
+index b3629065ebbe601802703b8671b24c7156f12d03..4d13345f3caa0c8ec55de465fc486d50b43d1e24 100644
--- a/src/main/java/net/minecraft/server/MinecraftServer.java
+++ b/src/main/java/net/minecraft/server/MinecraftServer.java
-@@ -1727,7 +1727,7 @@ public abstract class MinecraftServer extends ReentrantBlockableEventLoop<TickTa
+@@ -1728,7 +1728,7 @@ public abstract class MinecraftServer extends ReentrantBlockableEventLoop<TickTa
PackRepository resourcepackrepository = this.packRepository;
Objects.requireNonNull(this.packRepository);
@@ -220,7 +220,7 @@ index 93d9b14eb8793b8ee2193f7525306a5e4f1900f6..63f283f32bdad02299d4a16c305a28c3
return poiSet.isValid;
}), PoiRecord.codec(updateListener).listOf().fieldOf("Records").forGetter((poiSet) -> {
diff --git a/src/main/java/net/minecraft/world/item/crafting/RecipeManager.java b/src/main/java/net/minecraft/world/item/crafting/RecipeManager.java
-index 28d35bde3207b1c06bd97e7c1cdc3f687a28bbf6..32263bc80fba1a0df6ea387d8e9c3cf27b29bbb1 100644
+index 8daab331dd33c7095ddd9582b091310551003fd7..ef7bde78c134ec4ad464b5b6516626109c362989 100644
--- a/src/main/java/net/minecraft/world/item/crafting/RecipeManager.java
+++ b/src/main/java/net/minecraft/world/item/crafting/RecipeManager.java
@@ -77,7 +77,7 @@ public class RecipeManager extends SimpleJsonResourceReloadListener {
@@ -306,7 +306,7 @@ index 0f7950458dc2dfac51ed0d56f1790395f0b03bc2..fa4544541b9c5f163b633596e73a5197
@Nullable
private Biome.Precipitation precipitation;
diff --git a/src/main/java/net/minecraft/world/level/chunk/PalettedContainer.java b/src/main/java/net/minecraft/world/level/chunk/PalettedContainer.java
-index 86b326be30b4d1569878bad01665f465ba2c7ef6..71fbb476ad081424cc8807c01818f332887ae366 100644
+index 57bc78e1a189386443abb02744e88b2fdf803a95..911bf2b7bbe627f98d21681b0c6d5b8a5170c8a8 100644
--- a/src/main/java/net/minecraft/world/level/chunk/PalettedContainer.java
+++ b/src/main/java/net/minecraft/world/level/chunk/PalettedContainer.java
@@ -278,10 +278,6 @@ public class PalettedContainer<T> implements PaletteResize<T> {
diff --git a/patches/server/0006-MC-Utils.patch b/patches/server/0006-MC-Utils.patch
index 135b52226f..ad27f73c75 100644
--- a/patches/server/0006-MC-Utils.patch
+++ b/patches/server/0006-MC-Utils.patch
@@ -4995,10 +4995,10 @@ index 0000000000000000000000000000000000000000..ff4def7ec3dcfa30fdc0135bd1add8e4
+ }
+}
diff --git a/src/main/java/net/minecraft/server/MinecraftServer.java b/src/main/java/net/minecraft/server/MinecraftServer.java
-index 18f1bfed979e756a62ff8f5ee434d8270ab987d4..2361a92630d2639d602bc1434b061ad9a969130b 100644
+index 4d13345f3caa0c8ec55de465fc486d50b43d1e24..02ef6a24565f776986a745a1fa0f58f537e4e8f8 100644
--- a/src/main/java/net/minecraft/server/MinecraftServer.java
+++ b/src/main/java/net/minecraft/server/MinecraftServer.java
-@@ -294,6 +294,7 @@ public abstract class MinecraftServer extends ReentrantBlockableEventLoop<TickTa
+@@ -295,6 +295,7 @@ public abstract class MinecraftServer extends ReentrantBlockableEventLoop<TickTa
public final double[] recentTps = new double[ 3 ];
public final SlackActivityAccountant slackActivityAccountant = new SlackActivityAccountant();
// Spigot end
@@ -5006,7 +5006,7 @@ index 18f1bfed979e756a62ff8f5ee434d8270ab987d4..2361a92630d2639d602bc1434b061ad9
public static <S extends MinecraftServer> S spin(Function<Thread, S> serverFactory) {
AtomicReference<S> atomicreference = new AtomicReference();
-@@ -948,6 +949,9 @@ public abstract class MinecraftServer extends ReentrantBlockableEventLoop<TickTa
+@@ -949,6 +950,9 @@ public abstract class MinecraftServer extends ReentrantBlockableEventLoop<TickTa
MinecraftServer.LOGGER.error("Failed to unlock level {}", this.storageSource.getLevelId(), ioexception1);
}
// Spigot start
@@ -5016,7 +5016,7 @@ index 18f1bfed979e756a62ff8f5ee434d8270ab987d4..2361a92630d2639d602bc1434b061ad9
if (org.spigotmc.SpigotConfig.saveUserCacheOnStopOnly) {
MinecraftServer.LOGGER.info("Saving usercache.json");
this.getProfileCache().save();
-@@ -1010,6 +1014,7 @@ public abstract class MinecraftServer extends ReentrantBlockableEventLoop<TickTa
+@@ -1011,6 +1015,7 @@ public abstract class MinecraftServer extends ReentrantBlockableEventLoop<TickTa
this.lastOverloadWarning = this.nextTickTime;
}
@@ -5024,7 +5024,7 @@ index 18f1bfed979e756a62ff8f5ee434d8270ab987d4..2361a92630d2639d602bc1434b061ad9
if ( tickCount++ % MinecraftServer.SAMPLE_INTERVAL == 0 )
{
double currentTps = 1E3 / ( curTime - tickSection ) * MinecraftServer.SAMPLE_INTERVAL;
-@@ -1233,7 +1238,7 @@ public abstract class MinecraftServer extends ReentrantBlockableEventLoop<TickTa
+@@ -1234,7 +1239,7 @@ public abstract class MinecraftServer extends ReentrantBlockableEventLoop<TickTa
MinecraftServer.LOGGER.debug("Autosave finished");
SpigotTimings.worldSaveTimer.stopTiming(); // Spigot
}
@@ -5033,7 +5033,7 @@ index 18f1bfed979e756a62ff8f5ee434d8270ab987d4..2361a92630d2639d602bc1434b061ad9
this.profiler.push("tallying");
long l = this.tickTimes[this.tickCount % 100] = Util.getNanos() - i;
-@@ -1296,6 +1301,11 @@ public abstract class MinecraftServer extends ReentrantBlockableEventLoop<TickTa
+@@ -1297,6 +1302,11 @@ public abstract class MinecraftServer extends ReentrantBlockableEventLoop<TickTa
try {
worldserver.timings.doTick.startTiming(); // Spigot
worldserver.tick(shouldKeepTicking);
@@ -6066,7 +6066,7 @@ index 04204239808a6479b6354520abcead24bcd40dc8..5d189257f494eb12b5fd98b12da6dd09
public BlockState getBlockState(BlockPos pos) {
return this.getChunk(SectionPos.blockToSectionCoord(pos.getX()), SectionPos.blockToSectionCoord(pos.getZ())).getBlockState(pos);
diff --git a/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java b/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java
-index cf596d49cf21f66245095753f38aebaaa680259b..0251908052d6221dc9fdab38ff8cfb3b7be8d28b 100644
+index 46cc3dc2d9f51dac1b84941d7549080e24c057bc..5996549250d666405ab113403faeb422b6e38c8c 100644
--- a/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java
+++ b/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java
@@ -217,9 +217,9 @@ public class ServerGamePacketListenerImpl implements ServerPlayerConnection, Ser
@@ -6101,7 +6101,7 @@ index a4c5edee297af6d68d518b77f706732b5ccbe4de..7bf4bf5cb2c1b54a7e2733091f48f3a8
@Override
public void tell(R runnable) {
diff --git a/src/main/java/net/minecraft/world/entity/Entity.java b/src/main/java/net/minecraft/world/entity/Entity.java
-index 6cedaffa7de69c3ca0eb8435cdcb5d25b57cefc9..6478a8225bbf434e25c4b159cb890d39892e32d8 100644
+index 4d44f37f77932e9f80906dce30c90ec1eca83df9..1788ecdfd426021dabdb3823e5c5ee49c31f4b8c 100644
--- a/src/main/java/net/minecraft/world/entity/Entity.java
+++ b/src/main/java/net/minecraft/world/entity/Entity.java
@@ -301,6 +301,11 @@ public abstract class Entity implements Nameable, EntityAccess, CommandSource {
@@ -6964,7 +6964,7 @@ index 0000000000000000000000000000000000000000..909b2c98e7a9117d2f737245e4661792
+ }
+}
diff --git a/src/main/java/org/bukkit/craftbukkit/util/CraftMagicNumbers.java b/src/main/java/org/bukkit/craftbukkit/util/CraftMagicNumbers.java
-index acd449c44170772b8ebed18b1c040c753ae78d91..7413580313063af81ca6ec5f1ac4ef252847cf33 100644
+index 9d57eda5d5c16004776c2e23837425cfe9184476..b39819d579c548318f1539702fb2df97b052b63a 100644
--- a/src/main/java/org/bukkit/craftbukkit/util/CraftMagicNumbers.java
+++ b/src/main/java/org/bukkit/craftbukkit/util/CraftMagicNumbers.java
@@ -88,8 +88,17 @@ public final class CraftMagicNumbers implements UnsafeValues {
diff --git a/patches/server/0010-Timings-v2.patch b/patches/server/0010-Timings-v2.patch
index ab7a766670..a1beaaa783 100644
--- a/patches/server/0010-Timings-v2.patch
+++ b/patches/server/0010-Timings-v2.patch
@@ -772,7 +772,7 @@ index b3a6aeba2363d283f03982cf749f25cfa11a5052..449f1b2f5dca350dc0912e14c8c2bf3e
PacketUtils.LOGGER.debug("Ignoring packet due to disconnection: {}", packet);
}
diff --git a/src/main/java/net/minecraft/server/MinecraftServer.java b/src/main/java/net/minecraft/server/MinecraftServer.java
-index 2361a92630d2639d602bc1434b061ad9a969130b..f63468868f13ddfeef3fe395c3dc011f191eeda8 100644
+index 02ef6a24565f776986a745a1fa0f58f537e4e8f8..844f24fd16aac25bf681bd3e98f0737be62bead6 100644
--- a/src/main/java/net/minecraft/server/MinecraftServer.java
+++ b/src/main/java/net/minecraft/server/MinecraftServer.java
@@ -179,7 +179,7 @@ import org.bukkit.craftbukkit.generator.CustomWorldChunkManager;
@@ -784,7 +784,7 @@ index 2361a92630d2639d602bc1434b061ad9a969130b..f63468868f13ddfeef3fe395c3dc011f
import org.spigotmc.SlackActivityAccountant; // Spigot
public abstract class MinecraftServer extends ReentrantBlockableEventLoop<TickTask> implements CommandSource, AutoCloseable {
-@@ -897,6 +897,7 @@ public abstract class MinecraftServer extends ReentrantBlockableEventLoop<TickTa
+@@ -898,6 +898,7 @@ public abstract class MinecraftServer extends ReentrantBlockableEventLoop<TickTa
}
// CraftBukkit end
MinecraftServer.LOGGER.info("Stopping server");
@@ -792,7 +792,7 @@ index 2361a92630d2639d602bc1434b061ad9a969130b..f63468868f13ddfeef3fe395c3dc011f
// CraftBukkit start
if (this.server != null) {
this.server.disablePlugins();
-@@ -1103,9 +1104,21 @@ public abstract class MinecraftServer extends ReentrantBlockableEventLoop<TickTa
+@@ -1104,9 +1105,21 @@ public abstract class MinecraftServer extends ReentrantBlockableEventLoop<TickTa
private boolean haveTime() {
// CraftBukkit start
@@ -814,7 +814,7 @@ index 2361a92630d2639d602bc1434b061ad9a969130b..f63468868f13ddfeef3fe395c3dc011f
private void executeModerately() {
this.runAllTasks();
java.util.concurrent.locks.LockSupport.parkNanos("executing tasks", 1000L);
-@@ -1113,9 +1126,9 @@ public abstract class MinecraftServer extends ReentrantBlockableEventLoop<TickTa
+@@ -1114,9 +1127,9 @@ public abstract class MinecraftServer extends ReentrantBlockableEventLoop<TickTa
// CraftBukkit end
protected void waitUntilNextTick() {
@@ -826,7 +826,7 @@ index 2361a92630d2639d602bc1434b061ad9a969130b..f63468868f13ddfeef3fe395c3dc011f
});
}
-@@ -1201,10 +1214,18 @@ public abstract class MinecraftServer extends ReentrantBlockableEventLoop<TickTa
+@@ -1202,10 +1215,18 @@ public abstract class MinecraftServer extends ReentrantBlockableEventLoop<TickTa
public void onServerExit() {}
public void tickServer(BooleanSupplier shouldKeepTicking) {
@@ -846,7 +846,7 @@ index 2361a92630d2639d602bc1434b061ad9a969130b..f63468868f13ddfeef3fe395c3dc011f
++this.tickCount;
this.tickChildren(shouldKeepTicking);
if (i - this.lastServerStatus >= 5000000000L) {
-@@ -1230,15 +1251,18 @@ public abstract class MinecraftServer extends ReentrantBlockableEventLoop<TickTa
+@@ -1231,15 +1252,18 @@ public abstract class MinecraftServer extends ReentrantBlockableEventLoop<TickTa
}
if (this.autosavePeriod > 0 && this.tickCount % this.autosavePeriod == 0) { // CraftBukkit
@@ -867,7 +867,7 @@ index 2361a92630d2639d602bc1434b061ad9a969130b..f63468868f13ddfeef3fe395c3dc011f
this.profiler.push("tallying");
long l = this.tickTimes[this.tickCount % 100] = Util.getNanos() - i;
-@@ -1249,30 +1273,29 @@ public abstract class MinecraftServer extends ReentrantBlockableEventLoop<TickTa
+@@ -1250,30 +1274,29 @@ public abstract class MinecraftServer extends ReentrantBlockableEventLoop<TickTa
this.profiler.pop();
org.spigotmc.WatchdogThread.tick(); // Spigot
this.slackActivityAccountant.tickEnded(l); // Spigot
@@ -906,7 +906,7 @@ index 2361a92630d2639d602bc1434b061ad9a969130b..f63468868f13ddfeef3fe395c3dc011f
// Send time updates to everyone, it will get the right time from the world the player is in.
if (this.tickCount % 20 == 0) {
for (int i = 0; i < this.getPlayerList().players.size(); ++i) {
-@@ -1280,7 +1303,7 @@ public abstract class MinecraftServer extends ReentrantBlockableEventLoop<TickTa
+@@ -1281,7 +1304,7 @@ public abstract class MinecraftServer extends ReentrantBlockableEventLoop<TickTa
entityplayer.connection.send(new ClientboundSetTimePacket(entityplayer.level.getGameTime(), entityplayer.getPlayerTime(), entityplayer.level.getGameRules().getBoolean(GameRules.RULE_DAYLIGHT))); // Add support for per player time
}
}
@@ -915,7 +915,7 @@ index 2361a92630d2639d602bc1434b061ad9a969130b..f63468868f13ddfeef3fe395c3dc011f
while (iterator.hasNext()) {
ServerLevel worldserver = (ServerLevel) iterator.next();
-@@ -1326,24 +1349,24 @@ public abstract class MinecraftServer extends ReentrantBlockableEventLoop<TickTa
+@@ -1327,24 +1350,24 @@ public abstract class MinecraftServer extends ReentrantBlockableEventLoop<TickTa
}
this.profiler.popPush("connection");
@@ -1333,7 +1333,7 @@ index d3beb7624daace9b6180a6721033a77df4faee04..9584f09f44445d91ee259f2a50b1fecf
this.entityManager.saveAll();
} else {
diff --git a/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java b/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java
-index 0251908052d6221dc9fdab38ff8cfb3b7be8d28b..7f9b560a415eec4008d0fdcfa427c3df8f974e43 100644
+index 5996549250d666405ab113403faeb422b6e38c8c..d2d7d4f506b2eacc5672c5eace1c9b9cdf6c8167 100644
--- a/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java
+++ b/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java
@@ -207,6 +207,7 @@ import org.bukkit.inventory.EquipmentSlot;
@@ -1412,7 +1412,7 @@ index 287a9b9827be0cf556aa5b1091e3520212ac7ba1..30a0335d1debaac45701149d243de05e
public UserWhiteList getWhiteList() {
diff --git a/src/main/java/net/minecraft/world/entity/Entity.java b/src/main/java/net/minecraft/world/entity/Entity.java
-index 97a154a106c7084e2a70d39e8b4c336db8cd51c6..85e96c00f4574a5b98c20634f21372d8829d9fdb 100644
+index 93b2c3c68f39c859f60488404f4114131264ee24..23e5342814e954d1d62017ec0bd5411da77418d8 100644
--- a/src/main/java/net/minecraft/world/entity/Entity.java
+++ b/src/main/java/net/minecraft/world/entity/Entity.java
@@ -125,7 +125,6 @@ import org.bukkit.craftbukkit.event.CraftPortalEvent;
@@ -1649,7 +1649,7 @@ index c9e6cb9f5c3eae53140236e09768ff759e27ace0..5147f67c87ba3b8912a8ae24f876a9e9
private String descriptionId;
@Nullable
diff --git a/src/main/java/net/minecraft/world/level/block/entity/BlockEntity.java b/src/main/java/net/minecraft/world/level/block/entity/BlockEntity.java
-index 23f0a89b01d02a5757a90f0232cafa8e1cd7cf85..53830d4f51365973092194ab38344ad13e84470a 100644
+index d33c2d2ec285179614d21a255cea394682e4cc2c..65aedffad9bef4ab80eb835e9c05b6d411f6bb15 100644
--- a/src/main/java/net/minecraft/world/level/block/entity/BlockEntity.java
+++ b/src/main/java/net/minecraft/world/level/block/entity/BlockEntity.java
@@ -22,10 +22,12 @@ import org.bukkit.inventory.InventoryHolder;
@@ -1713,10 +1713,10 @@ index ed639dbb4ea94839390778654c7dd0437bac41ac..1729af83b979e35a585c8d049b14dc23
};
}
diff --git a/src/main/java/org/bukkit/craftbukkit/CraftServer.java b/src/main/java/org/bukkit/craftbukkit/CraftServer.java
-index 0cd31f82fcaab925db6dcada3e9b42a48fe04c67..734fbbd27dc3bfed223ea03f246ebfb87a46225a 100644
+index 980e5abe159ebfdf5334332b8d8201c0c0b66a7b..59e619f745f62dec5a5fe304bbea75690a0b1663 100644
--- a/src/main/java/org/bukkit/craftbukkit/CraftServer.java
+++ b/src/main/java/org/bukkit/craftbukkit/CraftServer.java
-@@ -2268,12 +2268,31 @@ public final class CraftServer implements Server {
+@@ -2265,12 +2265,31 @@ public final class CraftServer implements Server {
private final org.bukkit.Server.Spigot spigot = new org.bukkit.Server.Spigot()
{
@@ -2114,7 +2114,7 @@ index e52ef47b783785dc214746b678e7b549aea9a274..3d90b3426873a3528af14f7f1ab0adae
this.value = value;
}
diff --git a/src/main/java/org/bukkit/craftbukkit/util/CraftMagicNumbers.java b/src/main/java/org/bukkit/craftbukkit/util/CraftMagicNumbers.java
-index 7413580313063af81ca6ec5f1ac4ef252847cf33..b44be4d7080f940d7416392885bb49253c91d2a8 100644
+index b39819d579c548318f1539702fb2df97b052b63a..a73185be22c73ffd746fe2abcfbf07796328960c 100644
--- a/src/main/java/org/bukkit/craftbukkit/util/CraftMagicNumbers.java
+++ b/src/main/java/org/bukkit/craftbukkit/util/CraftMagicNumbers.java
@@ -173,6 +173,12 @@ public final class CraftMagicNumbers implements UnsafeValues {
diff --git a/patches/server/0011-Add-command-line-option-to-load-extra-plugin-jars-no.patch b/patches/server/0011-Add-command-line-option-to-load-extra-plugin-jars-no.patch
index 002b6a3cf0..4199809e61 100644
--- a/patches/server/0011-Add-command-line-option-to-load-extra-plugin-jars-no.patch
+++ b/patches/server/0011-Add-command-line-option-to-load-extra-plugin-jars-no.patch
@@ -7,10 +7,10 @@ Subject: [PATCH] Add command line option to load extra plugin jars not in the
ex: java -jar paperclip.jar nogui -add-plugin=/path/to/plugin.jar -add-plugin=/path/to/another/plugin_jar.jar
diff --git a/src/main/java/org/bukkit/craftbukkit/CraftServer.java b/src/main/java/org/bukkit/craftbukkit/CraftServer.java
-index 734fbbd27dc3bfed223ea03f246ebfb87a46225a..98efa73682ceee3590c225fbd4dc57b8ab0aec17 100644
+index 59e619f745f62dec5a5fe304bbea75690a0b1663..23cba4bd17742733659aef498aa39d12ef48ca1d 100644
--- a/src/main/java/org/bukkit/craftbukkit/CraftServer.java
+++ b/src/main/java/org/bukkit/craftbukkit/CraftServer.java
-@@ -405,10 +405,15 @@ public final class CraftServer implements Server {
+@@ -403,10 +403,15 @@ public final class CraftServer implements Server {
public void loadPlugins() {
this.pluginManager.registerInterface(JavaPluginLoader.class);
@@ -29,7 +29,7 @@ index 734fbbd27dc3bfed223ea03f246ebfb87a46225a..98efa73682ceee3590c225fbd4dc57b8
for (Plugin plugin : plugins) {
try {
String message = String.format("Loading %s", plugin.getDescription().getFullName());
-@@ -423,6 +428,35 @@ public final class CraftServer implements Server {
+@@ -421,6 +426,35 @@ public final class CraftServer implements Server {
}
}
diff --git a/patches/server/0012-Adventure.patch b/patches/server/0012-Adventure.patch
index 3fbeeec314..fbfcbfb107 100644
--- a/patches/server/0012-Adventure.patch
+++ b/patches/server/0012-Adventure.patch
@@ -1312,7 +1312,7 @@ index 925ffbddd5475be7fe00570d861b615f707434b4..a3436596d05547a60c9906c92f709bb5
// CraftBukkit end
this.chatVisibility = packet.chatVisibility();
diff --git a/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java b/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java
-index 7f9b560a415eec4008d0fdcfa427c3df8f974e43..11687dc95f606750e9042b043f333e3b00eb171c 100644
+index d2d7d4f506b2eacc5672c5eace1c9b9cdf6c8167..b38431701e9dd36e8e6eddac434b3cb88e0f23c8 100644
--- a/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java
+++ b/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java
@@ -160,6 +160,8 @@ import org.apache.logging.log4j.LogManager;
@@ -1718,10 +1718,10 @@ index 9af14095fa8dbc75fadb84c5a1d263039994e441..3b35ec1df648a3de920ea0c159623880
}
collection = icons;
diff --git a/src/main/java/org/bukkit/craftbukkit/CraftServer.java b/src/main/java/org/bukkit/craftbukkit/CraftServer.java
-index 98efa73682ceee3590c225fbd4dc57b8ab0aec17..dea0b0d3164737b72d84679f2128fc82e1e03230 100644
+index 23cba4bd17742733659aef498aa39d12ef48ca1d..cf79b158c7fbbb3ccddd4472eceb27d6f238f489 100644
--- a/src/main/java/org/bukkit/craftbukkit/CraftServer.java
+++ b/src/main/java/org/bukkit/craftbukkit/CraftServer.java
-@@ -626,8 +626,10 @@ public final class CraftServer implements Server {
+@@ -624,8 +624,10 @@ public final class CraftServer implements Server {
}
@Override
@@ -1732,7 +1732,7 @@ index 98efa73682ceee3590c225fbd4dc57b8ab0aec17..dea0b0d3164737b72d84679f2128fc82
}
@Override
-@@ -1463,7 +1465,15 @@ public final class CraftServer implements Server {
+@@ -1460,7 +1462,15 @@ public final class CraftServer implements Server {
return this.configuration.getInt("settings.spawn-radius", -1);
}
@@ -1748,7 +1748,7 @@ index 98efa73682ceee3590c225fbd4dc57b8ab0aec17..dea0b0d3164737b72d84679f2128fc82
public String getShutdownMessage() {
return this.configuration.getString("settings.shutdown-message");
}
-@@ -1621,7 +1631,20 @@ public final class CraftServer implements Server {
+@@ -1618,7 +1628,20 @@ public final class CraftServer implements Server {
}
@Override
@@ -1769,7 +1769,7 @@ index 98efa73682ceee3590c225fbd4dc57b8ab0aec17..dea0b0d3164737b72d84679f2128fc82
Set<CommandSender> recipients = new HashSet<>();
for (Permissible permissible : this.getPluginManager().getPermissionSubscriptions(permission)) {
if (permissible instanceof CommandSender && permissible.hasPermission(permission)) {
-@@ -1629,14 +1652,14 @@ public final class CraftServer implements Server {
+@@ -1626,14 +1649,14 @@ public final class CraftServer implements Server {
}
}
@@ -1786,7 +1786,7 @@ index 98efa73682ceee3590c225fbd4dc57b8ab0aec17..dea0b0d3164737b72d84679f2128fc82
for (CommandSender recipient : recipients) {
recipient.sendMessage(message);
-@@ -1872,6 +1895,14 @@ public final class CraftServer implements Server {
+@@ -1869,6 +1892,14 @@ public final class CraftServer implements Server {
return CraftInventoryCreator.INSTANCE.createInventory(owner, type);
}
@@ -1801,7 +1801,7 @@ index 98efa73682ceee3590c225fbd4dc57b8ab0aec17..dea0b0d3164737b72d84679f2128fc82
@Override
public Inventory createInventory(InventoryHolder owner, InventoryType type, String title) {
Validate.isTrue(type.isCreatable(), "Cannot open an inventory of type ", type);
-@@ -1884,13 +1915,28 @@ public final class CraftServer implements Server {
+@@ -1881,13 +1912,28 @@ public final class CraftServer implements Server {
return CraftInventoryCreator.INSTANCE.createInventory(owner, size);
}
@@ -1830,7 +1830,7 @@ index 98efa73682ceee3590c225fbd4dc57b8ab0aec17..dea0b0d3164737b72d84679f2128fc82
public Merchant createMerchant(String title) {
return new CraftMerchantCustom(title == null ? InventoryType.MERCHANT.getDefaultTitle() : title);
}
-@@ -1939,6 +1985,12 @@ public final class CraftServer implements Server {
+@@ -1936,6 +1982,12 @@ public final class CraftServer implements Server {
return Thread.currentThread().equals(console.serverThread) || this.console.hasStopped() || !org.spigotmc.AsyncCatcher.enabled; // All bets are off if we have shut down (e.g. due to watchdog)
}
@@ -1843,7 +1843,7 @@ index 98efa73682ceee3590c225fbd4dc57b8ab0aec17..dea0b0d3164737b72d84679f2128fc82
@Override
public String getMotd() {
return this.console.getMotd();
-@@ -2382,5 +2434,15 @@ public final class CraftServer implements Server {
+@@ -2379,5 +2431,15 @@ public final class CraftServer implements Server {
return null;
}
}
@@ -3500,7 +3500,7 @@ index f9b7b8f7ccc95b73967a51420fd6ce88d80d75fe..0de5a46423ae0403dcbfca630dfd7c5a
boolean hadFormat = false;
diff --git a/src/main/java/org/bukkit/craftbukkit/util/CraftMagicNumbers.java b/src/main/java/org/bukkit/craftbukkit/util/CraftMagicNumbers.java
-index b44be4d7080f940d7416392885bb49253c91d2a8..62a02985080fb27cd8cfdc68fcf89f7df12fdc12 100644
+index a73185be22c73ffd746fe2abcfbf07796328960c..ec507e6ce6784441561d142dbdd145be80c66fcd 100644
--- a/src/main/java/org/bukkit/craftbukkit/util/CraftMagicNumbers.java
+++ b/src/main/java/org/bukkit/craftbukkit/util/CraftMagicNumbers.java
@@ -57,6 +57,33 @@ public final class CraftMagicNumbers implements UnsafeValues {
diff --git a/patches/server/0020-Show-Paper-in-client-crashes-server-lists-and-Mojang.patch b/patches/server/0020-Show-Paper-in-client-crashes-server-lists-and-Mojang.patch
index 0776c819e0..0ded9fbd57 100644
--- a/patches/server/0020-Show-Paper-in-client-crashes-server-lists-and-Mojang.patch
+++ b/patches/server/0020-Show-Paper-in-client-crashes-server-lists-and-Mojang.patch
@@ -19,10 +19,10 @@ index 2c53a400611c78236c5a1c1270d27c02e94251bf..a1d5c0f8fe2adb2ee56f3217e089211e
if (outputStream != null) {
try {
diff --git a/src/main/java/net/minecraft/server/MinecraftServer.java b/src/main/java/net/minecraft/server/MinecraftServer.java
-index 37ace477c170be9453ab65976085837faa312255..15163398f96b4eda94d99b4b48ab2b06622bd2af 100644
+index 844f24fd16aac25bf681bd3e98f0737be62bead6..f1dfb56d0158d36b583b5ee5596235540b2cb11c 100644
--- a/src/main/java/net/minecraft/server/MinecraftServer.java
+++ b/src/main/java/net/minecraft/server/MinecraftServer.java
-@@ -1426,7 +1426,7 @@ public abstract class MinecraftServer extends ReentrantBlockableEventLoop<TickTa
+@@ -1427,7 +1427,7 @@ public abstract class MinecraftServer extends ReentrantBlockableEventLoop<TickTa
@DontObfuscate
public String getServerModName() {
@@ -32,10 +32,10 @@ index 37ace477c170be9453ab65976085837faa312255..15163398f96b4eda94d99b4b48ab2b06
public SystemReport fillSystemReport(SystemReport details) {
diff --git a/src/main/java/org/bukkit/craftbukkit/CraftServer.java b/src/main/java/org/bukkit/craftbukkit/CraftServer.java
-index dea0b0d3164737b72d84679f2128fc82e1e03230..4b44fb9584f1b85ff183e52542154c7fd7f46332 100644
+index cf79b158c7fbbb3ccddd4472eceb27d6f238f489..cfdc78fe0820d47d8af055e844b08ea003d74368 100644
--- a/src/main/java/org/bukkit/craftbukkit/CraftServer.java
+++ b/src/main/java/org/bukkit/craftbukkit/CraftServer.java
-@@ -251,7 +251,7 @@ import org.yaml.snakeyaml.error.MarkedYAMLException;
+@@ -249,7 +249,7 @@ import org.yaml.snakeyaml.error.MarkedYAMLException;
import net.md_5.bungee.api.chat.BaseComponent; // Spigot
public final class CraftServer implements Server {
diff --git a/patches/server/0025-Further-improve-server-tick-loop.patch b/patches/server/0025-Further-improve-server-tick-loop.patch
index f9ace426ec..96d013f7d2 100644
--- a/patches/server/0025-Further-improve-server-tick-loop.patch
+++ b/patches/server/0025-Further-improve-server-tick-loop.patch
@@ -12,10 +12,10 @@ Previous implementation did not calculate TPS correctly.
Switch to a realistic rolling average and factor in std deviation as an extra reporting variable
diff --git a/src/main/java/net/minecraft/server/MinecraftServer.java b/src/main/java/net/minecraft/server/MinecraftServer.java
-index 15163398f96b4eda94d99b4b48ab2b06622bd2af..608b6218f5c59ecb3e7137121b8c4c2188479297 100644
+index f1dfb56d0158d36b583b5ee5596235540b2cb11c..b86ceda8f7376334987955095234bdecec5af414 100644
--- a/src/main/java/net/minecraft/server/MinecraftServer.java
+++ b/src/main/java/net/minecraft/server/MinecraftServer.java
-@@ -281,7 +281,7 @@ public abstract class MinecraftServer extends ReentrantBlockableEventLoop<TickTa
+@@ -282,7 +282,7 @@ public abstract class MinecraftServer extends ReentrantBlockableEventLoop<TickTa
public org.bukkit.command.ConsoleCommandSender console;
public org.bukkit.command.RemoteConsoleCommandSender remoteConsole;
public ConsoleReader reader;
@@ -24,7 +24,7 @@ index 15163398f96b4eda94d99b4b48ab2b06622bd2af..608b6218f5c59ecb3e7137121b8c4c21
public java.util.Queue<Runnable> processQueue = new java.util.concurrent.ConcurrentLinkedQueue<Runnable>();
public int autosavePeriod;
public Commands vanillaCommandDispatcher;
-@@ -290,7 +290,7 @@ public abstract class MinecraftServer extends ReentrantBlockableEventLoop<TickTa
+@@ -291,7 +291,7 @@ public abstract class MinecraftServer extends ReentrantBlockableEventLoop<TickTa
// Spigot start
public static final int TPS = 20;
public static final int TICK_TIME = 1000000000 / MinecraftServer.TPS;
@@ -33,7 +33,7 @@ index 15163398f96b4eda94d99b4b48ab2b06622bd2af..608b6218f5c59ecb3e7137121b8c4c21
public final double[] recentTps = new double[ 3 ];
public final SlackActivityAccountant slackActivityAccountant = new SlackActivityAccountant();
// Spigot end
-@@ -990,6 +990,57 @@ public abstract class MinecraftServer extends ReentrantBlockableEventLoop<TickTa
+@@ -991,6 +991,57 @@ public abstract class MinecraftServer extends ReentrantBlockableEventLoop<TickTa
{
return ( avg * exp ) + ( tps * ( 1 - exp ) );
}
@@ -91,7 +91,7 @@ index 15163398f96b4eda94d99b4b48ab2b06622bd2af..608b6218f5c59ecb3e7137121b8c4c21
// Spigot End
protected void runServer() {
-@@ -1002,26 +1053,33 @@ public abstract class MinecraftServer extends ReentrantBlockableEventLoop<TickTa
+@@ -1003,26 +1054,33 @@ public abstract class MinecraftServer extends ReentrantBlockableEventLoop<TickTa
// Spigot start
Arrays.fill( recentTps, 20 );
@@ -133,7 +133,7 @@ index 15163398f96b4eda94d99b4b48ab2b06622bd2af..608b6218f5c59ecb3e7137121b8c4c21
tickSection = curTime;
}
// Spigot end
-@@ -1031,7 +1089,8 @@ public abstract class MinecraftServer extends ReentrantBlockableEventLoop<TickTa
+@@ -1032,7 +1090,8 @@ public abstract class MinecraftServer extends ReentrantBlockableEventLoop<TickTa
this.debugCommandProfiler = new MinecraftServer.TimeProfiler(Util.getNanos(), this.tickCount);
}
@@ -144,10 +144,10 @@ index 15163398f96b4eda94d99b4b48ab2b06622bd2af..608b6218f5c59ecb3e7137121b8c4c21
this.startMetricsRecordingTick();
this.profiler.push("tick");
diff --git a/src/main/java/org/bukkit/craftbukkit/CraftServer.java b/src/main/java/org/bukkit/craftbukkit/CraftServer.java
-index 4b44fb9584f1b85ff183e52542154c7fd7f46332..4a1e0fbf9213497dfd730f3e6600719b5cdc1703 100644
+index cfdc78fe0820d47d8af055e844b08ea003d74368..528687b7672ebf6e25fc0fc120fffe158e543bb3 100644
--- a/src/main/java/org/bukkit/craftbukkit/CraftServer.java
+++ b/src/main/java/org/bukkit/craftbukkit/CraftServer.java
-@@ -2350,6 +2350,17 @@ public final class CraftServer implements Server {
+@@ -2347,6 +2347,17 @@ public final class CraftServer implements Server {
return CraftMagicNumbers.INSTANCE;
}
diff --git a/patches/server/0034-Optimize-explosions.patch b/patches/server/0034-Optimize-explosions.patch
index 7e47a7eaaa..f49080ba5a 100644
--- a/patches/server/0034-Optimize-explosions.patch
+++ b/patches/server/0034-Optimize-explosions.patch
@@ -25,10 +25,10 @@ index bc35bdd9cbd544ae2ab27ad042d7d1b3166db9a6..2b0a75dc2e292e655ca3300f64bc1211
+ }
}
diff --git a/src/main/java/net/minecraft/server/MinecraftServer.java b/src/main/java/net/minecraft/server/MinecraftServer.java
-index 608b6218f5c59ecb3e7137121b8c4c2188479297..5cf85636e089a4bf2422d76b8df52c1166d3f148 100644
+index b86ceda8f7376334987955095234bdecec5af414..9d6daeba112e68c64c2b5d7d0c7717766913fd56 100644
--- a/src/main/java/net/minecraft/server/MinecraftServer.java
+++ b/src/main/java/net/minecraft/server/MinecraftServer.java
-@@ -1405,6 +1405,7 @@ public abstract class MinecraftServer extends ReentrantBlockableEventLoop<TickTa
+@@ -1406,6 +1406,7 @@ public abstract class MinecraftServer extends ReentrantBlockableEventLoop<TickTa
this.profiler.pop();
this.profiler.pop();
@@ -135,7 +135,7 @@ index 996e02be9f3150ba125d52e3d544599c2b8dd968..688ebb68209beb4550293f72b1fa7b39
+ // Paper end
}
diff --git a/src/main/java/net/minecraft/world/level/Level.java b/src/main/java/net/minecraft/world/level/Level.java
-index 1195a4b79103d62ed4f8c91dd36ccd77fa561f01..d8da1dfdc58726eda01e1bfb059c144e98ce7fe8 100644
+index 8a2d18524e089cdc07125e424b37f1b629e591a6..4c049a41035824a9affdf25495a658a0c58dcd75 100644
--- a/src/main/java/net/minecraft/world/level/Level.java
+++ b/src/main/java/net/minecraft/world/level/Level.java
@@ -156,6 +156,7 @@ public abstract class Level implements LevelAccessor, AutoCloseable {
diff --git a/patches/server/0047-Ensure-commands-are-not-ran-async.patch b/patches/server/0047-Ensure-commands-are-not-ran-async.patch
index 3ac6671edf..67a69a8c77 100644
--- a/patches/server/0047-Ensure-commands-are-not-ran-async.patch
+++ b/patches/server/0047-Ensure-commands-are-not-ran-async.patch
@@ -14,7 +14,7 @@ big slowdown in execution but throwing an exception at same time to raise awaren
that it is happening so that plugin authors can fix their code to stop executing commands async.
diff --git a/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java b/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java
-index 11687dc95f606750e9042b043f333e3b00eb171c..38909ef14fcfd4b93d83512f4cacbe2c3fe431a1 100644
+index b38431701e9dd36e8e6eddac434b3cb88e0f23c8..63ba639701b703392ce2be973e2a53ba76e4fd46 100644
--- a/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java
+++ b/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java
@@ -1852,6 +1852,29 @@ public class ServerGamePacketListenerImpl implements ServerPlayerConnection, Ser
@@ -48,10 +48,10 @@ index 11687dc95f606750e9042b043f333e3b00eb171c..38909ef14fcfd4b93d83512f4cacbe2c
} else if (this.player.getChatVisibility() == ChatVisiblity.SYSTEM) {
// Do nothing, this is coming from a plugin
diff --git a/src/main/java/org/bukkit/craftbukkit/CraftServer.java b/src/main/java/org/bukkit/craftbukkit/CraftServer.java
-index 4a1e0fbf9213497dfd730f3e6600719b5cdc1703..199969e2052918c17c9fb2088013150046e20ff2 100644
+index 528687b7672ebf6e25fc0fc120fffe158e543bb3..99c1ca9a93092465c08723b919aa61dff747bd66 100644
--- a/src/main/java/org/bukkit/craftbukkit/CraftServer.java
+++ b/src/main/java/org/bukkit/craftbukkit/CraftServer.java
-@@ -830,6 +830,28 @@ public final class CraftServer implements Server {
+@@ -828,6 +828,28 @@ public final class CraftServer implements Server {
Validate.notNull(commandLine, "CommandLine cannot be null");
org.spigotmc.AsyncCatcher.catchOp("command dispatch"); // Spigot
diff --git a/patches/server/0049-Expose-server-CommandMap.patch b/patches/server/0049-Expose-server-CommandMap.patch
index 9455336ac5..98e8252fb7 100644
--- a/patches/server/0049-Expose-server-CommandMap.patch
+++ b/patches/server/0049-Expose-server-CommandMap.patch
@@ -5,10 +5,10 @@ Subject: [PATCH] Expose server CommandMap
diff --git a/src/main/java/org/bukkit/craftbukkit/CraftServer.java b/src/main/java/org/bukkit/craftbukkit/CraftServer.java
-index 199969e2052918c17c9fb2088013150046e20ff2..99b86fe800e6015d5342f8510ec24ad757e67ec7 100644
+index 99c1ca9a93092465c08723b919aa61dff747bd66..d30b04375eaed44ae63b3e60ab9ac8a42478a604 100644
--- a/src/main/java/org/bukkit/craftbukkit/CraftServer.java
+++ b/src/main/java/org/bukkit/craftbukkit/CraftServer.java
-@@ -1968,6 +1968,7 @@ public final class CraftServer implements Server {
+@@ -1965,6 +1965,7 @@ public final class CraftServer implements Server {
return this.helpMap;
}
diff --git a/patches/server/0054-Add-velocity-warnings.patch b/patches/server/0054-Add-velocity-warnings.patch
index a18ca8fe30..73bcf10eab 100644
--- a/patches/server/0054-Add-velocity-warnings.patch
+++ b/patches/server/0054-Add-velocity-warnings.patch
@@ -5,10 +5,10 @@ Subject: [PATCH] Add velocity warnings
diff --git a/src/main/java/org/bukkit/craftbukkit/CraftServer.java b/src/main/java/org/bukkit/craftbukkit/CraftServer.java
-index 99b86fe800e6015d5342f8510ec24ad757e67ec7..a5ed49072d5e4d1555c7eb0e2433b69f4f238703 100644
+index d30b04375eaed44ae63b3e60ab9ac8a42478a604..41729294bf394a609c25e135b0697e0306f5c098 100644
--- a/src/main/java/org/bukkit/craftbukkit/CraftServer.java
+++ b/src/main/java/org/bukkit/craftbukkit/CraftServer.java
-@@ -289,6 +289,7 @@ public final class CraftServer implements Server {
+@@ -287,6 +287,7 @@ public final class CraftServer implements Server {
public boolean ignoreVanillaPermissions = false;
private final List<CraftPlayer> playerView;
public int reloadCount;
diff --git a/patches/server/0062-Default-loading-permissions.yml-before-plugins.patch b/patches/server/0062-Default-loading-permissions.yml-before-plugins.patch
index 35956793ba..3fe39f5ba7 100644
--- a/patches/server/0062-Default-loading-permissions.yml-before-plugins.patch
+++ b/patches/server/0062-Default-loading-permissions.yml-before-plugins.patch
@@ -30,10 +30,10 @@ index 701a2ffd04df48d437b2cb963dd150af99725b6e..817d4572c9991992b720b3ba163188ac
+ }
}
diff --git a/src/main/java/org/bukkit/craftbukkit/CraftServer.java b/src/main/java/org/bukkit/craftbukkit/CraftServer.java
-index a5ed49072d5e4d1555c7eb0e2433b69f4f238703..1fddd631be42b84f115e6555b5a4e81e003a526f 100644
+index 41729294bf394a609c25e135b0697e0306f5c098..fb220fb9567bbbbeb0ec5515359a5b5308df2e1b 100644
--- a/src/main/java/org/bukkit/craftbukkit/CraftServer.java
+++ b/src/main/java/org/bukkit/craftbukkit/CraftServer.java
-@@ -462,6 +462,7 @@ public final class CraftServer implements Server {
+@@ -460,6 +460,7 @@ public final class CraftServer implements Server {
if (type == PluginLoadOrder.STARTUP) {
this.helpMap.clear();
this.helpMap.initializeGeneralTopics();
@@ -41,7 +41,7 @@ index a5ed49072d5e4d1555c7eb0e2433b69f4f238703..1fddd631be42b84f115e6555b5a4e81e
}
Plugin[] plugins = this.pluginManager.getPlugins();
-@@ -481,7 +482,7 @@ public final class CraftServer implements Server {
+@@ -479,7 +480,7 @@ public final class CraftServer implements Server {
this.commandMap.registerServerAliases();
DefaultPermissions.registerCorePermissions();
CraftDefaultPermissions.registerCorePermissions();
diff --git a/patches/server/0063-Allow-Reloading-of-Custom-Permissions.patch b/patches/server/0063-Allow-Reloading-of-Custom-Permissions.patch
index 2a6573d8f6..2194983a11 100644
--- a/patches/server/0063-Allow-Reloading-of-Custom-Permissions.patch
+++ b/patches/server/0063-Allow-Reloading-of-Custom-Permissions.patch
@@ -6,10 +6,10 @@ Subject: [PATCH] Allow Reloading of Custom Permissions
https://github.com/PaperMC/Paper/issues/49
diff --git a/src/main/java/org/bukkit/craftbukkit/CraftServer.java b/src/main/java/org/bukkit/craftbukkit/CraftServer.java
-index 1fddd631be42b84f115e6555b5a4e81e003a526f..f1d8ed4fad48025132fa018f54d2a5a88096d60a 100644
+index fb220fb9567bbbbeb0ec5515359a5b5308df2e1b..8e0e98506a647428a06b1cda094c7e00990bdfe8 100644
--- a/src/main/java/org/bukkit/craftbukkit/CraftServer.java
+++ b/src/main/java/org/bukkit/craftbukkit/CraftServer.java
-@@ -2480,5 +2480,23 @@ public final class CraftServer implements Server {
+@@ -2477,5 +2477,23 @@ public final class CraftServer implements Server {
}
return this.adventure$audiences;
}
diff --git a/patches/server/0064-Remove-Metadata-on-reload.patch b/patches/server/0064-Remove-Metadata-on-reload.patch
index c923e8ae5a..c2126e2192 100644
--- a/patches/server/0064-Remove-Metadata-on-reload.patch
+++ b/patches/server/0064-Remove-Metadata-on-reload.patch
@@ -7,10 +7,10 @@ Metadata is not meant to persist reload as things break badly with non primitive
This will remove metadata on reload so it does not crash everything if a plugin uses it.
diff --git a/src/main/java/org/bukkit/craftbukkit/CraftServer.java b/src/main/java/org/bukkit/craftbukkit/CraftServer.java
-index f1d8ed4fad48025132fa018f54d2a5a88096d60a..7aaa2d191446c9f790b6d7f3f0bf1997209c7664 100644
+index 8e0e98506a647428a06b1cda094c7e00990bdfe8..448544b7d290e8e98322833ec55b467e43209cae 100644
--- a/src/main/java/org/bukkit/craftbukkit/CraftServer.java
+++ b/src/main/java/org/bukkit/craftbukkit/CraftServer.java
-@@ -947,8 +947,16 @@ public final class CraftServer implements Server {
+@@ -945,8 +945,16 @@ public final class CraftServer implements Server {
world.paperConfig.init(); // Paper
}
diff --git a/patches/server/0073-Only-process-BlockPhysicsEvent-if-a-plugin-has-a-lis.patch b/patches/server/0073-Only-process-BlockPhysicsEvent-if-a-plugin-has-a-lis.patch
index 65ed294a10..5ad51fdc46 100644
--- a/patches/server/0073-Only-process-BlockPhysicsEvent-if-a-plugin-has-a-lis.patch
+++ b/patches/server/0073-Only-process-BlockPhysicsEvent-if-a-plugin-has-a-lis.patch
@@ -6,10 +6,10 @@ Subject: [PATCH] Only process BlockPhysicsEvent if a plugin has a listener
Saves on some object allocation and processing when no plugin listens to this
diff --git a/src/main/java/net/minecraft/server/MinecraftServer.java b/src/main/java/net/minecraft/server/MinecraftServer.java
-index 5cf85636e089a4bf2422d76b8df52c1166d3f148..697f2e6c10a74cb60191ed8c1cb563360089c8ea 100644
+index 9d6daeba112e68c64c2b5d7d0c7717766913fd56..b8938c4118b61758874624229b6986956f30cc8e 100644
--- a/src/main/java/net/minecraft/server/MinecraftServer.java
+++ b/src/main/java/net/minecraft/server/MinecraftServer.java
-@@ -1366,6 +1366,7 @@ public abstract class MinecraftServer extends ReentrantBlockableEventLoop<TickTa
+@@ -1367,6 +1367,7 @@ public abstract class MinecraftServer extends ReentrantBlockableEventLoop<TickTa
while (iterator.hasNext()) {
ServerLevel worldserver = (ServerLevel) iterator.next();
@@ -18,7 +18,7 @@ index 5cf85636e089a4bf2422d76b8df52c1166d3f148..697f2e6c10a74cb60191ed8c1cb56336
this.profiler.push(() -> {
return worldserver + " " + worldserver.dimension().location();
diff --git a/src/main/java/net/minecraft/server/level/ServerLevel.java b/src/main/java/net/minecraft/server/level/ServerLevel.java
-index 9f7bbd602c19f317d05cd8b72453c2e37d8acff5..bd53d00db453767fb43ba0e50c0dc0a7730d55a4 100644
+index 180e04c6e5d52ed5e0f5da06c1de1b925511e51c..2f406dc2264bcaa584c56780e3f015f476102845 100644
--- a/src/main/java/net/minecraft/server/level/ServerLevel.java
+++ b/src/main/java/net/minecraft/server/level/ServerLevel.java
@@ -205,6 +205,7 @@ public class ServerLevel extends Level implements WorldGenLevel {
@@ -30,7 +30,7 @@ index 9f7bbd602c19f317d05cd8b72453c2e37d8acff5..bd53d00db453767fb43ba0e50c0dc0a7
@Override public LevelChunk getChunkIfLoaded(int x, int z) { // Paper - this was added in world too but keeping here for NMS ABI
return this.chunkSource.getChunk(x, z, false);
diff --git a/src/main/java/net/minecraft/world/level/Level.java b/src/main/java/net/minecraft/world/level/Level.java
-index f652b3f04ee80b1bc8ac6873cb93e8ea34082cdc..2cc265cb984160047a44261ebbf5ff718bdf6b0c 100644
+index 7ee958e6a4f16780aa746ce0eb8cb8ee27df08e1..609dd263ca6ee3287492a39a74d49ec01339956c 100644
--- a/src/main/java/net/minecraft/world/level/Level.java
+++ b/src/main/java/net/minecraft/world/level/Level.java
@@ -475,7 +475,7 @@ public abstract class Level implements LevelAccessor, AutoCloseable {
diff --git a/patches/server/0085-Configurable-Player-Collision.patch b/patches/server/0085-Configurable-Player-Collision.patch
index 1b29cd2def..97eeb56d5d 100644
--- a/patches/server/0085-Configurable-Player-Collision.patch
+++ b/patches/server/0085-Configurable-Player-Collision.patch
@@ -32,7 +32,7 @@ index 8993d8809c109212ab278e15c09cebab9e89342f..005a3058c51a41a39f050b1817e2079b
buf.writeComponent(this.playerPrefix);
buf.writeComponent(this.playerSuffix);
diff --git a/src/main/java/net/minecraft/server/MinecraftServer.java b/src/main/java/net/minecraft/server/MinecraftServer.java
-index 697f2e6c10a74cb60191ed8c1cb563360089c8ea..d2941bb9bfb0517a05942714015bdf72da0a775d 100644
+index b8938c4118b61758874624229b6986956f30cc8e..8ba4af81f19e20c7d949edc72c0827bab22c19cb 100644
--- a/src/main/java/net/minecraft/server/MinecraftServer.java
+++ b/src/main/java/net/minecraft/server/MinecraftServer.java
@@ -159,6 +159,7 @@ import net.minecraft.world.level.storage.loot.LootTables;
@@ -43,7 +43,7 @@ index 697f2e6c10a74cb60191ed8c1cb563360089c8ea..d2941bb9bfb0517a05942714015bdf72
import org.apache.commons.lang3.Validate;
import org.apache.logging.log4j.LogManager;
import org.apache.logging.log4j.Logger;
-@@ -608,6 +609,20 @@ public abstract class MinecraftServer extends ReentrantBlockableEventLoop<TickTa
+@@ -609,6 +610,20 @@ public abstract class MinecraftServer extends ReentrantBlockableEventLoop<TickTa
this.server.getPluginManager().callEvent(new org.bukkit.event.world.WorldLoadEvent(worldserver.getWorld()));
}
@@ -65,7 +65,7 @@ index 697f2e6c10a74cb60191ed8c1cb563360089c8ea..d2941bb9bfb0517a05942714015bdf72
this.server.getPluginManager().callEvent(new ServerLoadEvent(ServerLoadEvent.LoadType.STARTUP));
this.connection.acceptConnections();
diff --git a/src/main/java/net/minecraft/server/players/PlayerList.java b/src/main/java/net/minecraft/server/players/PlayerList.java
-index db52eb4df917c9ad3ba807e40f1d44ea9c52aae8..e4ebac252ac25bd51acfc6a0e9513c96ef4cfd95 100644
+index 484f3ca9da6d17c12b8b19883ea8a93ec0d4fb1a..78a03125e5563bfd3baa3912d593ab71054ab606 100644
--- a/src/main/java/net/minecraft/server/players/PlayerList.java
+++ b/src/main/java/net/minecraft/server/players/PlayerList.java
@@ -87,6 +87,7 @@ import net.minecraft.world.level.storage.PlayerDataStorage;
diff --git a/patches/server/0090-remove-null-possibility-for-getServer-singleton.patch b/patches/server/0090-remove-null-possibility-for-getServer-singleton.patch
index 1929f73392..db7b1d93db 100644
--- a/patches/server/0090-remove-null-possibility-for-getServer-singleton.patch
+++ b/patches/server/0090-remove-null-possibility-for-getServer-singleton.patch
@@ -6,7 +6,7 @@ Subject: [PATCH] remove null possibility for getServer singleton
to stop IDE complaining about potential NPE
diff --git a/src/main/java/net/minecraft/server/MinecraftServer.java b/src/main/java/net/minecraft/server/MinecraftServer.java
-index 0bbefc2643f7db64389c4e1ee3419abcc967ee98..fecc9f721f3fb136212f6e8ed7e3e11e8eda8323 100644
+index 8ba4af81f19e20c7d949edc72c0827bab22c19cb..375045935b7b9a3a8fd8f8f897763caf75e59813 100644
--- a/src/main/java/net/minecraft/server/MinecraftServer.java
+++ b/src/main/java/net/minecraft/server/MinecraftServer.java
@@ -185,6 +185,7 @@ import org.spigotmc.SlackActivityAccountant; // Spigot
@@ -17,7 +17,7 @@ index 0bbefc2643f7db64389c4e1ee3419abcc967ee98..fecc9f721f3fb136212f6e8ed7e3e11e
public static final Logger LOGGER = LogManager.getLogger();
public static final String VANILLA_BRAND = "vanilla";
private static final float AVERAGE_TICK_TIME_SMOOTHING = 0.8F;
-@@ -319,6 +320,7 @@ public abstract class MinecraftServer extends ReentrantBlockableEventLoop<TickTa
+@@ -320,6 +321,7 @@ public abstract class MinecraftServer extends ReentrantBlockableEventLoop<TickTa
public MinecraftServer(OptionSet options, DataPackConfig datapackconfiguration, Thread thread, RegistryAccess.RegistryHolder iregistrycustom_dimension, LevelStorageSource.LevelStorageAccess convertable_conversionsession, WorldData savedata, PackRepository resourcepackrepository, Proxy proxy, DataFixer datafixer, ServerResources datapackresources, @Nullable MinecraftSessionService minecraftsessionservice, @Nullable GameProfileRepository gameprofilerepository, @Nullable GameProfileCache usercache, ChunkProgressListenerFactory worldloadlistenerfactory) {
super("Server");
@@ -25,7 +25,7 @@ index 0bbefc2643f7db64389c4e1ee3419abcc967ee98..fecc9f721f3fb136212f6e8ed7e3e11e
this.metricsRecorder = InactiveMetricsRecorder.INSTANCE;
this.profiler = this.metricsRecorder.getProfiler();
this.onMetricsRecordingStopped = (methodprofilerresults) -> {
-@@ -2258,7 +2260,7 @@ public abstract class MinecraftServer extends ReentrantBlockableEventLoop<TickTa
+@@ -2259,7 +2261,7 @@ public abstract class MinecraftServer extends ReentrantBlockableEventLoop<TickTa
@Deprecated
public static MinecraftServer getServer() {
diff --git a/patches/server/0095-Optimize-UserCache-Thread-Safe.patch b/patches/server/0095-Optimize-UserCache-Thread-Safe.patch
index 7de7176f80..cf5958dea8 100644
--- a/patches/server/0095-Optimize-UserCache-Thread-Safe.patch
+++ b/patches/server/0095-Optimize-UserCache-Thread-Safe.patch
@@ -12,10 +12,10 @@ the user never changed the default setting for Spigot's save on stop only.
1.17: TODO does this need the synchronized blocks anymore?
diff --git a/src/main/java/net/minecraft/server/MinecraftServer.java b/src/main/java/net/minecraft/server/MinecraftServer.java
-index 9a58a678b07bb45ee0e608fdd662b13fcc04d31c..625a133eacf38fb8b11f4451e063dc21150f0e79 100644
+index 375045935b7b9a3a8fd8f8f897763caf75e59813..370e9a840a9c8abf8804755c0395d51fd576ee49 100644
--- a/src/main/java/net/minecraft/server/MinecraftServer.java
+++ b/src/main/java/net/minecraft/server/MinecraftServer.java
-@@ -972,7 +972,7 @@ public abstract class MinecraftServer extends ReentrantBlockableEventLoop<TickTa
+@@ -973,7 +973,7 @@ public abstract class MinecraftServer extends ReentrantBlockableEventLoop<TickTa
} catch (java.lang.InterruptedException ignored) {} // Paper
if (org.spigotmc.SpigotConfig.saveUserCacheOnStopOnly) {
MinecraftServer.LOGGER.info("Saving usercache.json");
diff --git a/patches/server/0103-Add-setting-for-proxy-online-mode-status.patch b/patches/server/0103-Add-setting-for-proxy-online-mode-status.patch
index 0ee99e71c7..65b6725618 100644
--- a/patches/server/0103-Add-setting-for-proxy-online-mode-status.patch
+++ b/patches/server/0103-Add-setting-for-proxy-online-mode-status.patch
@@ -67,10 +67,10 @@ index 876658b685ea09adb4c01d436da56daadb7eedaa..5445cb5910ec63408dc4379eec5e12d3
} else {
String[] astring1 = astring;
diff --git a/src/main/java/org/bukkit/craftbukkit/CraftServer.java b/src/main/java/org/bukkit/craftbukkit/CraftServer.java
-index 7aaa2d191446c9f790b6d7f3f0bf1997209c7664..c85312d9dfd577d3cb57de5a65efc8385d07ff05 100644
+index 448544b7d290e8e98322833ec55b467e43209cae..921fc7003d2a77f195f5febe674383803950fb96 100644
--- a/src/main/java/org/bukkit/craftbukkit/CraftServer.java
+++ b/src/main/java/org/bukkit/craftbukkit/CraftServer.java
-@@ -1711,7 +1711,7 @@ public final class CraftServer implements Server {
+@@ -1708,7 +1708,7 @@ public final class CraftServer implements Server {
// Spigot Start
GameProfile profile = null;
// Only fetch an online UUID in online mode
diff --git a/patches/server/0112-Allow-Reloading-of-Command-Aliases.patch b/patches/server/0112-Allow-Reloading-of-Command-Aliases.patch
index a995a41f34..6ba08be805 100644
--- a/patches/server/0112-Allow-Reloading-of-Command-Aliases.patch
+++ b/patches/server/0112-Allow-Reloading-of-Command-Aliases.patch
@@ -6,10 +6,10 @@ Subject: [PATCH] Allow Reloading of Command Aliases
Reload the aliases stored in commands.yml
diff --git a/src/main/java/org/bukkit/craftbukkit/CraftServer.java b/src/main/java/org/bukkit/craftbukkit/CraftServer.java
-index c85312d9dfd577d3cb57de5a65efc8385d07ff05..18c04dd01a57693ddf7befe31645166442b02011 100644
+index 921fc7003d2a77f195f5febe674383803950fb96..2faf65a0bf3a14c891b9c603f831b66926bde87e 100644
--- a/src/main/java/org/bukkit/craftbukkit/CraftServer.java
+++ b/src/main/java/org/bukkit/craftbukkit/CraftServer.java
-@@ -2506,5 +2506,24 @@ public final class CraftServer implements Server {
+@@ -2503,5 +2503,24 @@ public final class CraftServer implements Server {
DefaultPermissions.registerCorePermissions();
CraftDefaultPermissions.registerCorePermissions();
}
diff --git a/patches/server/0134-Properly-handle-async-calls-to-restart-the-server.patch b/patches/server/0134-Properly-handle-async-calls-to-restart-the-server.patch
index 7fa4775b1b..d82ad563d0 100644
--- a/patches/server/0134-Properly-handle-async-calls-to-restart-the-server.patch
+++ b/patches/server/0134-Properly-handle-async-calls-to-restart-the-server.patch
@@ -30,7 +30,7 @@ will have plugins and worlds saving to the disk has a high potential to result
in corruption/dataloss.
diff --git a/src/main/java/net/minecraft/server/MinecraftServer.java b/src/main/java/net/minecraft/server/MinecraftServer.java
-index 0adfdaf3edcd10a3a7566947d58d83c623107d94..6d57327ca2450352a0ff153da00cc1d3b3ac1aca 100644
+index 370e9a840a9c8abf8804755c0395d51fd576ee49..0cf83ee46754197b2b639d07bff9a0d21566a641 100644
--- a/src/main/java/net/minecraft/server/MinecraftServer.java
+++ b/src/main/java/net/minecraft/server/MinecraftServer.java
@@ -229,6 +229,7 @@ public abstract class MinecraftServer extends ReentrantBlockableEventLoop<TickTa
@@ -41,7 +41,7 @@ index 0adfdaf3edcd10a3a7566947d58d83c623107d94..6d57327ca2450352a0ff153da00cc1d3
private boolean stopped;
private int tickCount;
protected final Proxy proxy;
-@@ -928,7 +929,7 @@ public abstract class MinecraftServer extends ReentrantBlockableEventLoop<TickTa
+@@ -929,7 +930,7 @@ public abstract class MinecraftServer extends ReentrantBlockableEventLoop<TickTa
if (this.playerList != null) {
MinecraftServer.LOGGER.info("Saving players");
this.playerList.saveAll();
@@ -50,7 +50,7 @@ index 0adfdaf3edcd10a3a7566947d58d83c623107d94..6d57327ca2450352a0ff153da00cc1d3
try { Thread.sleep(100); } catch (InterruptedException ex) {} // CraftBukkit - SPIGOT-625 - give server at least a chance to send packets
}
-@@ -991,6 +992,12 @@ public abstract class MinecraftServer extends ReentrantBlockableEventLoop<TickTa
+@@ -992,6 +993,12 @@ public abstract class MinecraftServer extends ReentrantBlockableEventLoop<TickTa
}
public void halt(boolean flag) {
diff --git a/patches/server/0136-Add-configuration-option-to-prevent-player-names-fro.patch b/patches/server/0136-Add-configuration-option-to-prevent-player-names-fro.patch
index 7e85cdf6ca..bf57b56e62 100644
--- a/patches/server/0136-Add-configuration-option-to-prevent-player-names-fro.patch
+++ b/patches/server/0136-Add-configuration-option-to-prevent-player-names-fro.patch
@@ -20,10 +20,10 @@ index 5e23ff0c5e44427a996281ae42fc12c28649e158..7a69f9d9bb9c05474d8fbab22d626529
+ }
}
diff --git a/src/main/java/org/bukkit/craftbukkit/CraftServer.java b/src/main/java/org/bukkit/craftbukkit/CraftServer.java
-index 18c04dd01a57693ddf7befe31645166442b02011..67c4a3da2d896ef4a82dd666b7d51fb8d6c0be67 100644
+index 2faf65a0bf3a14c891b9c603f831b66926bde87e..93e3d587f7d1d621e8aedb8e53f38a8df21b5587 100644
--- a/src/main/java/org/bukkit/craftbukkit/CraftServer.java
+++ b/src/main/java/org/bukkit/craftbukkit/CraftServer.java
-@@ -2525,5 +2525,10 @@ public final class CraftServer implements Server {
+@@ -2522,5 +2522,10 @@ public final class CraftServer implements Server {
commandMap.registerServerAliases();
return true;
}
diff --git a/patches/server/0137-Use-TerminalConsoleAppender-for-console-improvements.patch b/patches/server/0137-Use-TerminalConsoleAppender-for-console-improvements.patch
index ea27dc968f..e754aaa2e0 100644
--- a/patches/server/0137-Use-TerminalConsoleAppender-for-console-improvements.patch
+++ b/patches/server/0137-Use-TerminalConsoleAppender-for-console-improvements.patch
@@ -112,7 +112,7 @@ index 0000000000000000000000000000000000000000..685deaa0e5d1ddc13e3a7c0471b1cfcf
+
+}
diff --git a/src/main/java/net/minecraft/server/MinecraftServer.java b/src/main/java/net/minecraft/server/MinecraftServer.java
-index 6d57327ca2450352a0ff153da00cc1d3b3ac1aca..ad857dc0929bdc11a4be58e1bc2fa6be95eea4c3 100644
+index 0cf83ee46754197b2b639d07bff9a0d21566a641..123da97204af4bb40f98e09a5102227fb1359fd2 100644
--- a/src/main/java/net/minecraft/server/MinecraftServer.java
+++ b/src/main/java/net/minecraft/server/MinecraftServer.java
@@ -9,6 +9,7 @@ import com.mojang.authlib.GameProfile;
@@ -132,7 +132,7 @@ index 6d57327ca2450352a0ff153da00cc1d3b3ac1aca..ad857dc0929bdc11a4be58e1bc2fa6be
import joptsimple.OptionSet;
import net.minecraft.resources.RegistryReadOps;
import net.minecraft.server.bossevents.CustomBossEvents;
-@@ -283,7 +284,7 @@ public abstract class MinecraftServer extends ReentrantBlockableEventLoop<TickTa
+@@ -284,7 +285,7 @@ public abstract class MinecraftServer extends ReentrantBlockableEventLoop<TickTa
public OptionSet options;
public org.bukkit.command.ConsoleCommandSender console;
public org.bukkit.command.RemoteConsoleCommandSender remoteConsole;
@@ -141,9 +141,9 @@ index 6d57327ca2450352a0ff153da00cc1d3b3ac1aca..ad857dc0929bdc11a4be58e1bc2fa6be
public static int currentTick = 0; // Paper - Further improve tick loop
public java.util.Queue<Runnable> processQueue = new java.util.concurrent.ConcurrentLinkedQueue<Runnable>();
public int autosavePeriod;
-@@ -366,7 +367,9 @@ public abstract class MinecraftServer extends ReentrantBlockableEventLoop<TickTa
- this.options = options;
+@@ -368,7 +369,9 @@ public abstract class MinecraftServer extends ReentrantBlockableEventLoop<TickTa
this.datapackconfiguration = datapackconfiguration;
+ this.registryreadops = RegistryReadOps.createAndLoad(NbtOps.INSTANCE, datapackresources.getResourceManager(), iregistrycustom_dimension);
this.vanillaCommandDispatcher = datapackresources.commands; // CraftBukkit
+ // Paper start - Handled by TerminalConsoleAppender
// Try to see if we're actually running in a terminal, disable jline if not
@@ -151,7 +151,7 @@ index 6d57327ca2450352a0ff153da00cc1d3b3ac1aca..ad857dc0929bdc11a4be58e1bc2fa6be
if (System.console() == null && System.getProperty("jline.terminal") == null) {
System.setProperty("jline.terminal", "jline.UnsupportedTerminal");
Main.useJline = false;
-@@ -387,6 +390,8 @@ public abstract class MinecraftServer extends ReentrantBlockableEventLoop<TickTa
+@@ -389,6 +392,8 @@ public abstract class MinecraftServer extends ReentrantBlockableEventLoop<TickTa
MinecraftServer.LOGGER.warn((String) null, ex);
}
}
@@ -160,7 +160,7 @@ index 6d57327ca2450352a0ff153da00cc1d3b3ac1aca..ad857dc0929bdc11a4be58e1bc2fa6be
Runtime.getRuntime().addShutdownHook(new org.bukkit.craftbukkit.util.ServerShutdownThread(this));
}
// CraftBukkit end
-@@ -1174,7 +1179,7 @@ public abstract class MinecraftServer extends ReentrantBlockableEventLoop<TickTa
+@@ -1175,7 +1180,7 @@ public abstract class MinecraftServer extends ReentrantBlockableEventLoop<TickTa
org.spigotmc.WatchdogThread.doStop(); // Spigot
// CraftBukkit start - Restore terminal to original settings
try {
@@ -169,7 +169,7 @@ index 6d57327ca2450352a0ff153da00cc1d3b3ac1aca..ad857dc0929bdc11a4be58e1bc2fa6be
} catch (Exception ignored) {
}
// CraftBukkit end
-@@ -1562,7 +1567,7 @@ public abstract class MinecraftServer extends ReentrantBlockableEventLoop<TickTa
+@@ -1563,7 +1568,7 @@ public abstract class MinecraftServer extends ReentrantBlockableEventLoop<TickTa
@Override
public void sendMessage(Component message, UUID sender) {
@@ -244,7 +244,7 @@ index 6e635a1cf5091aa7c4697de2a08414e053cc51a5..093b510293fdad471fd3dc9727b50699
this.bans = new UserBanList(PlayerList.USERBANLIST_FILE);
diff --git a/src/main/java/org/bukkit/craftbukkit/CraftServer.java b/src/main/java/org/bukkit/craftbukkit/CraftServer.java
-index 67c4a3da2d896ef4a82dd666b7d51fb8d6c0be67..abbc9db66ea8ff6b7210584ed1fc1d154e256c40 100644
+index 93e3d587f7d1d621e8aedb8e53f38a8df21b5587..8bad6fa590cfe47e1216a160531f4cd101c9450f 100644
--- a/src/main/java/org/bukkit/craftbukkit/CraftServer.java
+++ b/src/main/java/org/bukkit/craftbukkit/CraftServer.java
@@ -48,7 +48,6 @@ import java.util.logging.Level;
@@ -255,7 +255,7 @@ index 67c4a3da2d896ef4a82dd666b7d51fb8d6c0be67..abbc9db66ea8ff6b7210584ed1fc1d15
import net.minecraft.advancements.Advancement;
import net.minecraft.commands.CommandSourceStack;
import net.minecraft.commands.Commands;
-@@ -62,6 +61,7 @@ import net.minecraft.resources.RegistryReadOps;
+@@ -60,6 +59,7 @@ import net.minecraft.resources.RegistryReadOps;
import net.minecraft.resources.ResourceKey;
import net.minecraft.resources.ResourceLocation;
import net.minecraft.server.ConsoleInput;
@@ -263,7 +263,7 @@ index 67c4a3da2d896ef4a82dd666b7d51fb8d6c0be67..abbc9db66ea8ff6b7210584ed1fc1d15
import net.minecraft.server.MinecraftServer;
import net.minecraft.server.bossevents.CustomBossEvent;
import net.minecraft.server.commands.ReloadCommand;
-@@ -1290,9 +1290,13 @@ public final class CraftServer implements Server {
+@@ -1287,9 +1287,13 @@ public final class CraftServer implements Server {
return this.logger;
}
diff --git a/patches/server/0142-Add-UnknownCommandEvent.patch b/patches/server/0142-Add-UnknownCommandEvent.patch
index 44ca208151..2aca1dacb0 100644
--- a/patches/server/0142-Add-UnknownCommandEvent.patch
+++ b/patches/server/0142-Add-UnknownCommandEvent.patch
@@ -5,10 +5,10 @@ Subject: [PATCH] Add UnknownCommandEvent
diff --git a/src/main/java/org/bukkit/craftbukkit/CraftServer.java b/src/main/java/org/bukkit/craftbukkit/CraftServer.java
-index abbc9db66ea8ff6b7210584ed1fc1d154e256c40..a9fc22d89720879d45dc724540ab0084d75c223d 100644
+index 8bad6fa590cfe47e1216a160531f4cd101c9450f..e873cc1e27fc3fe65e7bb07c5bec7f599c32be32 100644
--- a/src/main/java/org/bukkit/craftbukkit/CraftServer.java
+++ b/src/main/java/org/bukkit/craftbukkit/CraftServer.java
-@@ -860,7 +860,13 @@ public final class CraftServer implements Server {
+@@ -858,7 +858,13 @@ public final class CraftServer implements Server {
// Spigot start
if (!org.spigotmc.SpigotConfig.unknownCommandMessage.isEmpty()) {
diff --git a/patches/server/0143-Basic-PlayerProfile-API.patch b/patches/server/0143-Basic-PlayerProfile-API.patch
index d3f0e29cce..8a6505cbf6 100644
--- a/patches/server/0143-Basic-PlayerProfile-API.patch
+++ b/patches/server/0143-Basic-PlayerProfile-API.patch
@@ -491,10 +491,10 @@ index 00f783aafd81fa7e836e4eea5bfeac7434f33b0f..3789441e2df9410aa1c6efe59054aaba
String s1 = name.toLowerCase(Locale.ROOT);
GameProfileCache.GameProfileInfo usercache_usercacheentry = (GameProfileCache.GameProfileInfo) this.profilesByName.get(s1);
diff --git a/src/main/java/org/bukkit/craftbukkit/CraftServer.java b/src/main/java/org/bukkit/craftbukkit/CraftServer.java
-index a9fc22d89720879d45dc724540ab0084d75c223d..0d9b0b1ac87602a0ee77e14be27e1346a975a1d0 100644
+index e873cc1e27fc3fe65e7bb07c5bec7f599c32be32..0c1378bbee14a9fc3c81288e963e2709238830ae 100644
--- a/src/main/java/org/bukkit/craftbukkit/CraftServer.java
+++ b/src/main/java/org/bukkit/craftbukkit/CraftServer.java
-@@ -250,6 +250,9 @@ import org.yaml.snakeyaml.error.MarkedYAMLException;
+@@ -248,6 +248,9 @@ import org.yaml.snakeyaml.error.MarkedYAMLException;
import net.md_5.bungee.api.chat.BaseComponent; // Spigot
@@ -504,7 +504,7 @@ index a9fc22d89720879d45dc724540ab0084d75c223d..0d9b0b1ac87602a0ee77e14be27e1346
public final class CraftServer implements Server {
private final String serverName = "Paper"; // Paper
private final String serverVersion;
-@@ -2540,5 +2543,24 @@ public final class CraftServer implements Server {
+@@ -2537,5 +2540,24 @@ public final class CraftServer implements Server {
public boolean suggestPlayerNamesWhenNullTabCompletions() {
return com.destroystokyo.paper.PaperConfig.suggestPlayersWhenNullTabCompletions;
}
diff --git a/patches/server/0169-AsyncTabCompleteEvent.patch b/patches/server/0169-AsyncTabCompleteEvent.patch
index dcc0d9b79b..3ae4fcaac3 100644
--- a/patches/server/0169-AsyncTabCompleteEvent.patch
+++ b/patches/server/0169-AsyncTabCompleteEvent.patch
@@ -14,7 +14,7 @@ completion, such as offline players.
Also adds isCommand and getLocation to the sync TabCompleteEvent
diff --git a/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java b/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java
-index 7e80a929bc0ddcf94f27f4febedf10ad07a531ff..f97125ad82bc1ec850af9bdd92973942fc470bc1 100644
+index 898846546819ff71586cc1e038140047d2797e33..c795469d3221505faeabb5d06f35549c161f4f48 100644
--- a/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java
+++ b/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java
@@ -701,10 +701,10 @@ public class ServerGamePacketListenerImpl implements ServerPlayerConnection, Ser
@@ -72,10 +72,10 @@ index 7e80a929bc0ddcf94f27f4febedf10ad07a531ff..f97125ad82bc1ec850af9bdd92973942
@Override
diff --git a/src/main/java/org/bukkit/craftbukkit/CraftServer.java b/src/main/java/org/bukkit/craftbukkit/CraftServer.java
-index 0d9b0b1ac87602a0ee77e14be27e1346a975a1d0..c0270955c05baea285676615a5a75c165e00ffed 100644
+index 0c1378bbee14a9fc3c81288e963e2709238830ae..57feb89a7dffb14f1e006b62e131604bd67797f9 100644
--- a/src/main/java/org/bukkit/craftbukkit/CraftServer.java
+++ b/src/main/java/org/bukkit/craftbukkit/CraftServer.java
-@@ -2060,7 +2060,7 @@ public final class CraftServer implements Server {
+@@ -2057,7 +2057,7 @@ public final class CraftServer implements Server {
offers = this.tabCompleteChat(player, message);
}
diff --git a/patches/server/0182-Implement-extended-PaperServerListPingEvent.patch b/patches/server/0182-Implement-extended-PaperServerListPingEvent.patch
index 0439db9000..4e408188c6 100644
--- a/patches/server/0182-Implement-extended-PaperServerListPingEvent.patch
+++ b/patches/server/0182-Implement-extended-PaperServerListPingEvent.patch
@@ -190,7 +190,7 @@ index 67455a5ba75c9b816213e44d6872c5ddf8e27e98..23efad80934930beadf15e65781551d4
public ClientboundStatusResponsePacket(ServerStatus metadata) {
diff --git a/src/main/java/net/minecraft/server/MinecraftServer.java b/src/main/java/net/minecraft/server/MinecraftServer.java
-index ad857dc0929bdc11a4be58e1bc2fa6be95eea4c3..bfccbe7391e895dde3449c37025a0accf48df6d3 100644
+index 123da97204af4bb40f98e09a5102227fb1359fd2..f6050e8ee4b43e0405933f6f7f0c234978c0639e 100644
--- a/src/main/java/net/minecraft/server/MinecraftServer.java
+++ b/src/main/java/net/minecraft/server/MinecraftServer.java
@@ -2,6 +2,9 @@ package net.minecraft.server;
@@ -203,7 +203,7 @@ index ad857dc0929bdc11a4be58e1bc2fa6be95eea4c3..bfccbe7391e895dde3449c37025a0acc
import com.google.common.collect.Lists;
import com.google.common.collect.Maps;
import com.google.common.collect.Sets;
-@@ -1320,7 +1323,7 @@ public abstract class MinecraftServer extends ReentrantBlockableEventLoop<TickTa
+@@ -1321,7 +1324,7 @@ public abstract class MinecraftServer extends ReentrantBlockableEventLoop<TickTa
this.lastServerStatus = i;
this.status.setPlayers(new ServerStatus.Players(this.getMaxPlayers(), this.getPlayerCount()));
if (!this.hidesOnlinePlayers()) {
diff --git a/patches/server/0185-getPlayerUniqueId-API.patch b/patches/server/0185-getPlayerUniqueId-API.patch
index 51bcc8969b..2379d92611 100644
--- a/patches/server/0185-getPlayerUniqueId-API.patch
+++ b/patches/server/0185-getPlayerUniqueId-API.patch
@@ -9,10 +9,10 @@ In Offline Mode, will return an Offline UUID
This is a more performant way to obtain a UUID for a name than loading an OfflinePlayer
diff --git a/src/main/java/org/bukkit/craftbukkit/CraftServer.java b/src/main/java/org/bukkit/craftbukkit/CraftServer.java
-index c0270955c05baea285676615a5a75c165e00ffed..294e90195cd0d00ca6d77136d886797cb39cfca5 100644
+index 57feb89a7dffb14f1e006b62e131604bd67797f9..03cd3fa77ca0f4c6c1f84a7866c7cd72c8f81f2e 100644
--- a/src/main/java/org/bukkit/craftbukkit/CraftServer.java
+++ b/src/main/java/org/bukkit/craftbukkit/CraftServer.java
-@@ -1713,6 +1713,25 @@ public final class CraftServer implements Server {
+@@ -1710,6 +1710,25 @@ public final class CraftServer implements Server {
return recipients.size();
}
diff --git a/patches/server/0243-Add-Early-Warning-Feature-to-WatchDog.patch b/patches/server/0243-Add-Early-Warning-Feature-to-WatchDog.patch
index 8305b599c0..d32440ccbf 100644
--- a/patches/server/0243-Add-Early-Warning-Feature-to-WatchDog.patch
+++ b/patches/server/0243-Add-Early-Warning-Feature-to-WatchDog.patch
@@ -36,10 +36,10 @@ index 1508afe593a1b62e3a33455707e2552468786614..73b49d24cd428e2328d56f5f42333a25
public static int tabSpamLimit = 500;
private static void tabSpamLimiters() {
diff --git a/src/main/java/net/minecraft/server/MinecraftServer.java b/src/main/java/net/minecraft/server/MinecraftServer.java
-index bfccbe7391e895dde3449c37025a0accf48df6d3..746d8eb657808bfaa92654c36093abd9b67a0288 100644
+index f6050e8ee4b43e0405933f6f7f0c234978c0639e..d42db22e74e36a8a701a322c7bac5c73a7675508 100644
--- a/src/main/java/net/minecraft/server/MinecraftServer.java
+++ b/src/main/java/net/minecraft/server/MinecraftServer.java
-@@ -1084,6 +1084,7 @@ public abstract class MinecraftServer extends ReentrantBlockableEventLoop<TickTa
+@@ -1085,6 +1085,7 @@ public abstract class MinecraftServer extends ReentrantBlockableEventLoop<TickTa
this.updateStatusIcon(this.status);
// Spigot start
@@ -48,10 +48,10 @@ index bfccbe7391e895dde3449c37025a0accf48df6d3..746d8eb657808bfaa92654c36093abd9
long start = System.nanoTime(), curTime, tickSection = start; // Paper - Further improve server tick loop
lastTick = start - TICK_TIME; // Paper
diff --git a/src/main/java/org/bukkit/craftbukkit/CraftServer.java b/src/main/java/org/bukkit/craftbukkit/CraftServer.java
-index 294e90195cd0d00ca6d77136d886797cb39cfca5..199397a95fc2fbc0b64bcad81c79f24b4d1fb98a 100644
+index 03cd3fa77ca0f4c6c1f84a7866c7cd72c8f81f2e..e4af349ab368ab561f6ef929395020fc260fe159 100644
--- a/src/main/java/org/bukkit/craftbukkit/CraftServer.java
+++ b/src/main/java/org/bukkit/craftbukkit/CraftServer.java
-@@ -878,6 +878,7 @@ public final class CraftServer implements Server {
+@@ -876,6 +876,7 @@ public final class CraftServer implements Server {
@Override
public void reload() {
@@ -59,7 +59,7 @@ index 294e90195cd0d00ca6d77136d886797cb39cfca5..199397a95fc2fbc0b64bcad81c79f24b
this.reloadCount++;
this.configuration = YamlConfiguration.loadConfiguration(this.getConfigFile());
this.commandsConfiguration = YamlConfiguration.loadConfiguration(this.getCommandsConfigFile());
-@@ -996,6 +997,7 @@ public final class CraftServer implements Server {
+@@ -994,6 +995,7 @@ public final class CraftServer implements Server {
this.enablePlugins(PluginLoadOrder.STARTUP);
this.enablePlugins(PluginLoadOrder.POSTWORLD);
this.getPluginManager().callEvent(new ServerLoadEvent(ServerLoadEvent.LoadType.RELOAD));
diff --git a/patches/server/0258-Asynchronous-chunk-IO-and-loading.patch b/patches/server/0258-Asynchronous-chunk-IO-and-loading.patch
index 8a93ed28b5..ec3861f998 100644
--- a/patches/server/0258-Asynchronous-chunk-IO-and-loading.patch
+++ b/patches/server/0258-Asynchronous-chunk-IO-and-loading.patch
@@ -2291,10 +2291,10 @@ index 4ab820c43ddc79f5a280e2d4b322a667b9ba725f..e0c1e4e38ff49429a587c59afb86e95c
DedicatedServer dedicatedserver1 = new DedicatedServer(optionset, datapackconfiguration1, thread, iregistrycustom_dimension, convertable_conversionsession, resourcepackrepository, datapackresources, null, dedicatedserversettings, DataFixers.getDataFixer(), minecraftsessionservice, gameprofilerepository, usercache, LoggerChunkProgressListener::new);
diff --git a/src/main/java/net/minecraft/server/MinecraftServer.java b/src/main/java/net/minecraft/server/MinecraftServer.java
-index 746d8eb657808bfaa92654c36093abd9b67a0288..3380aca80bdda5edf8809f6fe36eaf5ba40a68ae 100644
+index d42db22e74e36a8a701a322c7bac5c73a7675508..534c02bc7f4fe925d2e12257e88001801a63444c 100644
--- a/src/main/java/net/minecraft/server/MinecraftServer.java
+++ b/src/main/java/net/minecraft/server/MinecraftServer.java
-@@ -984,7 +984,7 @@ public abstract class MinecraftServer extends ReentrantBlockableEventLoop<TickTa
+@@ -985,7 +985,7 @@ public abstract class MinecraftServer extends ReentrantBlockableEventLoop<TickTa
this.getProfileCache().save(false); // Paper
}
// Spigot end
@@ -2848,7 +2848,7 @@ index 0d536d72ac918fbd403397ff369d10143ee9c204..be677d437d17b74c6188ce1bd5fc6fdc
private final String name;
private final Comparator<T> comparator;
diff --git a/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java b/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java
-index c8a5cd52689b2cd81a2206f0f71623d784c379ce..7ed73ea4a5f7383c953ee3e28ce8f234d8ff941e 100644
+index 5706d52d89bcec1d5da44ebf24f1b94cad59d359..136b5972f4faa4f43bc49b9c282a6578d31aed55 100644
--- a/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java
+++ b/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java
@@ -710,6 +710,13 @@ public class ServerGamePacketListenerImpl implements ServerPlayerConnection, Ser
diff --git a/patches/server/0280-Add-Velocity-IP-Forwarding-Support.patch b/patches/server/0280-Add-Velocity-IP-Forwarding-Support.patch
index 84926c4f93..f9d4659fad 100644
--- a/patches/server/0280-Add-Velocity-IP-Forwarding-Support.patch
+++ b/patches/server/0280-Add-Velocity-IP-Forwarding-Support.patch
@@ -225,10 +225,10 @@ index 67b300574655854249c1f7440f56a6e8f0fad351..bb767f5b626225e70a8af273384bb74d
}
diff --git a/src/main/java/org/bukkit/craftbukkit/CraftServer.java b/src/main/java/org/bukkit/craftbukkit/CraftServer.java
-index 199397a95fc2fbc0b64bcad81c79f24b4d1fb98a..b006441a23e0de7c090c38aa76744bbd146298d3 100644
+index e4af349ab368ab561f6ef929395020fc260fe159..5eaf046724b7354b84c9a40f73c2f4d3d21fc601 100644
--- a/src/main/java/org/bukkit/craftbukkit/CraftServer.java
+++ b/src/main/java/org/bukkit/craftbukkit/CraftServer.java
-@@ -746,7 +746,7 @@ public final class CraftServer implements Server {
+@@ -744,7 +744,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/0286-Improve-Server-Thread-Pool-and-Thread-Priorities.patch b/patches/server/0286-Improve-Server-Thread-Pool-and-Thread-Priorities.patch
index 8cf0bc2452..a5a3f8742a 100644
--- a/patches/server/0286-Improve-Server-Thread-Pool-and-Thread-Priorities.patch
+++ b/patches/server/0286-Improve-Server-Thread-Pool-and-Thread-Priorities.patch
@@ -58,10 +58,10 @@ index 3ed0bf0485266c0a2b459f5cc1940f85f74e3624..b9775bc4e601fe1be8e514222e56ae78
return executorService;
}
diff --git a/src/main/java/net/minecraft/server/MinecraftServer.java b/src/main/java/net/minecraft/server/MinecraftServer.java
-index 3380aca80bdda5edf8809f6fe36eaf5ba40a68ae..98a45d058afe89b824ecfa5b9e75e351291f0a1e 100644
+index 534c02bc7f4fe925d2e12257e88001801a63444c..dd03544da48a2d8276e3dd16eb1985a251a9cfba 100644
--- a/src/main/java/net/minecraft/server/MinecraftServer.java
+++ b/src/main/java/net/minecraft/server/MinecraftServer.java
-@@ -319,6 +319,7 @@ public abstract class MinecraftServer extends ReentrantBlockableEventLoop<TickTa
+@@ -320,6 +320,7 @@ public abstract class MinecraftServer extends ReentrantBlockableEventLoop<TickTa
S s0 = serverFactory.apply(thread); // CraftBukkit - decompile error
atomicreference.set(s0);
diff --git a/patches/server/0287-Optimize-World-Time-Updates.patch b/patches/server/0287-Optimize-World-Time-Updates.patch
index 2f602b525c..c72e1def0d 100644
--- a/patches/server/0287-Optimize-World-Time-Updates.patch
+++ b/patches/server/0287-Optimize-World-Time-Updates.patch
@@ -8,10 +8,10 @@ the updates per world, so that we can re-use the same packet
object for every player unless they have per-player time enabled.
diff --git a/src/main/java/net/minecraft/server/MinecraftServer.java b/src/main/java/net/minecraft/server/MinecraftServer.java
-index 98a45d058afe89b824ecfa5b9e75e351291f0a1e..521a3ecf6d8cf0066fb1de771e44f20fc71bd8a0 100644
+index dd03544da48a2d8276e3dd16eb1985a251a9cfba..0c899c5f2d896d32aed7d165773ff2cd4a78f112 100644
--- a/src/main/java/net/minecraft/server/MinecraftServer.java
+++ b/src/main/java/net/minecraft/server/MinecraftServer.java
-@@ -1390,12 +1390,24 @@ public abstract class MinecraftServer extends ReentrantBlockableEventLoop<TickTa
+@@ -1391,12 +1391,24 @@ public abstract class MinecraftServer extends ReentrantBlockableEventLoop<TickTa
MinecraftTimings.timeUpdateTimer.startTiming(); // Spigot // Paper
// Send time updates to everyone, it will get the right time from the world the player is in.
diff --git a/patches/server/0292-Make-the-default-permission-message-configurable.patch b/patches/server/0292-Make-the-default-permission-message-configurable.patch
index 2d53c4d792..f3b57ffd55 100644
--- a/patches/server/0292-Make-the-default-permission-message-configurable.patch
+++ b/patches/server/0292-Make-the-default-permission-message-configurable.patch
@@ -42,10 +42,10 @@ index 1015fcc6c77bd64c3f3cbf234e85a6602dbfa0d7..769353df1fcdaacecd80085165a1d72f
Object val = config.get("settings.save-player-data");
if (val instanceof Boolean) {
diff --git a/src/main/java/org/bukkit/craftbukkit/CraftServer.java b/src/main/java/org/bukkit/craftbukkit/CraftServer.java
-index b006441a23e0de7c090c38aa76744bbd146298d3..b0b01f9c6c209faf6e400aa8aa221260cb80d12a 100644
+index 5eaf046724b7354b84c9a40f73c2f4d3d21fc601..fac71467445f192eed02118495c423b62fe486dc 100644
--- a/src/main/java/org/bukkit/craftbukkit/CraftServer.java
+++ b/src/main/java/org/bukkit/craftbukkit/CraftServer.java
-@@ -2565,6 +2565,11 @@ public final class CraftServer implements Server {
+@@ -2562,6 +2562,11 @@ public final class CraftServer implements Server {
return com.destroystokyo.paper.PaperConfig.suggestPlayersWhenNullTabCompletions;
}
diff --git a/patches/server/0320-Server-Tick-Events.patch b/patches/server/0320-Server-Tick-Events.patch
index cd565f887a..0bfdc4234f 100644
--- a/patches/server/0320-Server-Tick-Events.patch
+++ b/patches/server/0320-Server-Tick-Events.patch
@@ -6,10 +6,10 @@ Subject: [PATCH] Server Tick Events
Fires event at start and end of a server tick
diff --git a/src/main/java/net/minecraft/server/MinecraftServer.java b/src/main/java/net/minecraft/server/MinecraftServer.java
-index 521a3ecf6d8cf0066fb1de771e44f20fc71bd8a0..1db2c308584f231509bb75c41cdbc3beab28f92f 100644
+index 0c899c5f2d896d32aed7d165773ff2cd4a78f112..bc9937642a46ecd766a45ccb037de993dafa3608 100644
--- a/src/main/java/net/minecraft/server/MinecraftServer.java
+++ b/src/main/java/net/minecraft/server/MinecraftServer.java
-@@ -1318,6 +1318,7 @@ public abstract class MinecraftServer extends ReentrantBlockableEventLoop<TickTa
+@@ -1319,6 +1319,7 @@ public abstract class MinecraftServer extends ReentrantBlockableEventLoop<TickTa
});
isOversleep = false;MinecraftTimings.serverOversleep.stopTiming();
// Paper end
@@ -17,7 +17,7 @@ index 521a3ecf6d8cf0066fb1de771e44f20fc71bd8a0..1db2c308584f231509bb75c41cdbc3be
++this.tickCount;
this.tickChildren(shouldKeepTicking);
-@@ -1356,6 +1357,11 @@ public abstract class MinecraftServer extends ReentrantBlockableEventLoop<TickTa
+@@ -1357,6 +1358,11 @@ public abstract class MinecraftServer extends ReentrantBlockableEventLoop<TickTa
this.runAllTasks();
}
// Paper end
diff --git a/patches/server/0327-Fix-CraftServer-isPrimaryThread-and-MinecraftServer-.patch b/patches/server/0327-Fix-CraftServer-isPrimaryThread-and-MinecraftServer-.patch
index de3fc61eaf..c4aac81c87 100644
--- a/patches/server/0327-Fix-CraftServer-isPrimaryThread-and-MinecraftServer-.patch
+++ b/patches/server/0327-Fix-CraftServer-isPrimaryThread-and-MinecraftServer-.patch
@@ -16,10 +16,10 @@ handling that should have been handled synchronously will be handled
synchronously when the server gets shut down.
diff --git a/src/main/java/net/minecraft/server/MinecraftServer.java b/src/main/java/net/minecraft/server/MinecraftServer.java
-index 1db2c308584f231509bb75c41cdbc3beab28f92f..8a2d49f210370490946b68d213fb504b74f37384 100644
+index bc9937642a46ecd766a45ccb037de993dafa3608..bd8e654c1580a0ac7dd411b9f1dcad4a20d1d3e5 100644
--- a/src/main/java/net/minecraft/server/MinecraftServer.java
+++ b/src/main/java/net/minecraft/server/MinecraftServer.java
-@@ -2286,7 +2286,7 @@ public abstract class MinecraftServer extends ReentrantBlockableEventLoop<TickTa
+@@ -2287,7 +2287,7 @@ public abstract class MinecraftServer extends ReentrantBlockableEventLoop<TickTa
// CraftBukkit start
@Override
public boolean isSameThread() {
@@ -29,10 +29,10 @@ index 1db2c308584f231509bb75c41cdbc3beab28f92f..8a2d49f210370490946b68d213fb504b
public boolean isDebugging() {
diff --git a/src/main/java/org/bukkit/craftbukkit/CraftServer.java b/src/main/java/org/bukkit/craftbukkit/CraftServer.java
-index b0b01f9c6c209faf6e400aa8aa221260cb80d12a..634c50378d860808081868b2d20145d3b01259a7 100644
+index fac71467445f192eed02118495c423b62fe486dc..e41d52071bbfbcb6cb37920fe5edf164dc281567 100644
--- a/src/main/java/org/bukkit/craftbukkit/CraftServer.java
+++ b/src/main/java/org/bukkit/craftbukkit/CraftServer.java
-@@ -2049,7 +2049,7 @@ public final class CraftServer implements Server {
+@@ -2046,7 +2046,7 @@ public final class CraftServer implements Server {
@Override
public boolean isPrimaryThread() {
diff --git a/patches/server/0330-Configurable-Keep-Spawn-Loaded-range-per-world.patch b/patches/server/0330-Configurable-Keep-Spawn-Loaded-range-per-world.patch
index f27e0a210d..e7144f69bd 100644
--- a/patches/server/0330-Configurable-Keep-Spawn-Loaded-range-per-world.patch
+++ b/patches/server/0330-Configurable-Keep-Spawn-Loaded-range-per-world.patch
@@ -6,7 +6,7 @@ Subject: [PATCH] Configurable Keep Spawn Loaded range per world
This lets you disable it for some worlds and lower it for others.
diff --git a/src/main/java/com/destroystokyo/paper/PaperWorldConfig.java b/src/main/java/com/destroystokyo/paper/PaperWorldConfig.java
-index 92a5e0357328b5d472afd181a77a7ec7b593b88c..624860b6eb087ee412bae3c1aed51a7a65c8af83 100644
+index eb44aef0aecf65f5c1b19f42bf85a3a263965a7c..5589ee42959e3665dd5df9049fe108b6f6629608 100644
--- a/src/main/java/com/destroystokyo/paper/PaperWorldConfig.java
+++ b/src/main/java/com/destroystokyo/paper/PaperWorldConfig.java
@@ -56,6 +56,12 @@ public class PaperWorldConfig {
@@ -23,10 +23,10 @@ index 92a5e0357328b5d472afd181a77a7ec7b593b88c..624860b6eb087ee412bae3c1aed51a7a
config.addDefault("world-settings.default." + path, def);
return config.getBoolean("world-settings." + worldName + "." + path, config.getBoolean("world-settings.default." + path));
diff --git a/src/main/java/net/minecraft/server/MinecraftServer.java b/src/main/java/net/minecraft/server/MinecraftServer.java
-index 8a2d49f210370490946b68d213fb504b74f37384..c6409dfa739f0056484e70d2be4cd448e868d6bb 100644
+index bd8e654c1580a0ac7dd411b9f1dcad4a20d1d3e5..7576047ea9695434ca06ca8fefde0dce68980be8 100644
--- a/src/main/java/net/minecraft/server/MinecraftServer.java
+++ b/src/main/java/net/minecraft/server/MinecraftServer.java
-@@ -759,35 +759,36 @@ public abstract class MinecraftServer extends ReentrantBlockableEventLoop<TickTa
+@@ -760,35 +760,36 @@ public abstract class MinecraftServer extends ReentrantBlockableEventLoop<TickTa
// CraftBukkit start
public void prepareLevels(ChunkProgressListener worldloadlistener, ServerLevel worldserver) {
@@ -75,7 +75,7 @@ index 8a2d49f210370490946b68d213fb504b74f37384..c6409dfa739f0056484e70d2be4cd448
if (true) {
ServerLevel worldserver1 = worldserver;
-@@ -810,7 +811,7 @@ public abstract class MinecraftServer extends ReentrantBlockableEventLoop<TickTa
+@@ -811,7 +812,7 @@ public abstract class MinecraftServer extends ReentrantBlockableEventLoop<TickTa
// this.nextTickTime = SystemUtils.getMillis() + 10L;
this.executeModerately();
// CraftBukkit end
diff --git a/patches/server/0334-Expose-the-internal-current-tick.patch b/patches/server/0334-Expose-the-internal-current-tick.patch
index 075b596ba7..02ad581b23 100644
--- a/patches/server/0334-Expose-the-internal-current-tick.patch
+++ b/patches/server/0334-Expose-the-internal-current-tick.patch
@@ -5,10 +5,10 @@ Subject: [PATCH] Expose the internal current tick
diff --git a/src/main/java/org/bukkit/craftbukkit/CraftServer.java b/src/main/java/org/bukkit/craftbukkit/CraftServer.java
-index 634c50378d860808081868b2d20145d3b01259a7..8d1cbefc82f64a120eeea8c6bdd6361ffa513099 100644
+index e41d52071bbfbcb6cb37920fe5edf164dc281567..20214d98ab5449798c3d045b4d1133ff5d939c11 100644
--- a/src/main/java/org/bukkit/craftbukkit/CraftServer.java
+++ b/src/main/java/org/bukkit/craftbukkit/CraftServer.java
-@@ -2588,5 +2588,10 @@ public final class CraftServer implements Server {
+@@ -2585,5 +2585,10 @@ public final class CraftServer implements Server {
}
return new com.destroystokyo.paper.profile.CraftPlayerProfile(uuid, name);
}
diff --git a/patches/server/0349-Optimize-Hoppers.patch b/patches/server/0349-Optimize-Hoppers.patch
index 655aef5fad..6aa517130f 100644
--- a/patches/server/0349-Optimize-Hoppers.patch
+++ b/patches/server/0349-Optimize-Hoppers.patch
@@ -13,7 +13,7 @@ Subject: [PATCH] Optimize Hoppers
* Remove Streams from Item Suck In and restore restore 1.12 AABB checks which is simpler and no voxel allocations (was doing TWO Item Suck ins)
diff --git a/src/main/java/com/destroystokyo/paper/PaperWorldConfig.java b/src/main/java/com/destroystokyo/paper/PaperWorldConfig.java
-index 0b99f20ec760692a350acd4f78dd060e30d88b50..fc2eaf571212586205f0edc57076a5ebc5e01ec0 100644
+index 3e3a48a636c225ec113c1c64f6ffc8a37ad9169e..94336c6a644bf913d366baa71c2372eb67b6e2cd 100644
--- a/src/main/java/com/destroystokyo/paper/PaperWorldConfig.java
+++ b/src/main/java/com/destroystokyo/paper/PaperWorldConfig.java
@@ -511,5 +511,17 @@ public class PaperWorldConfig {
@@ -35,10 +35,10 @@ index 0b99f20ec760692a350acd4f78dd060e30d88b50..fc2eaf571212586205f0edc57076a5eb
}
diff --git a/src/main/java/net/minecraft/server/MinecraftServer.java b/src/main/java/net/minecraft/server/MinecraftServer.java
-index c6409dfa739f0056484e70d2be4cd448e868d6bb..e31eab1baaa77dfb6a3e804481d91b91b6878f65 100644
+index 7576047ea9695434ca06ca8fefde0dce68980be8..f71a1401d229b32557f0444ce45cfa47ffa2fde4 100644
--- a/src/main/java/net/minecraft/server/MinecraftServer.java
+++ b/src/main/java/net/minecraft/server/MinecraftServer.java
-@@ -1420,6 +1420,7 @@ public abstract class MinecraftServer extends ReentrantBlockableEventLoop<TickTa
+@@ -1421,6 +1421,7 @@ public abstract class MinecraftServer extends ReentrantBlockableEventLoop<TickTa
while (iterator.hasNext()) {
ServerLevel worldserver = (ServerLevel) iterator.next();
worldserver.hasPhysicsEvent = org.bukkit.event.block.BlockPhysicsEvent.getHandlerList().getRegisteredListeners().length > 0; // Paper
diff --git a/patches/server/0361-Increase-Light-Queue-Size.patch b/patches/server/0361-Increase-Light-Queue-Size.patch
index 1b3abd00bd..2b9e2a045a 100644
--- a/patches/server/0361-Increase-Light-Queue-Size.patch
+++ b/patches/server/0361-Increase-Light-Queue-Size.patch
@@ -14,7 +14,7 @@ light engine on shutdown...
The queue size only puts a cap on max loss, doesn't solve that problem.
diff --git a/src/main/java/com/destroystokyo/paper/PaperWorldConfig.java b/src/main/java/com/destroystokyo/paper/PaperWorldConfig.java
-index fc2eaf571212586205f0edc57076a5ebc5e01ec0..a6f282df404b2babd436dbace0246997cc6e2af2 100644
+index 94336c6a644bf913d366baa71c2372eb67b6e2cd..723adafaf82a664b8bfff9d7d11e43e3eafafa6e 100644
--- a/src/main/java/com/destroystokyo/paper/PaperWorldConfig.java
+++ b/src/main/java/com/destroystokyo/paper/PaperWorldConfig.java
@@ -523,5 +523,10 @@ public class PaperWorldConfig {
@@ -29,10 +29,10 @@ index fc2eaf571212586205f0edc57076a5ebc5e01ec0..a6f282df404b2babd436dbace0246997
}
diff --git a/src/main/java/net/minecraft/server/MinecraftServer.java b/src/main/java/net/minecraft/server/MinecraftServer.java
-index e31eab1baaa77dfb6a3e804481d91b91b6878f65..b80a7d98d4b088e3cc98c3d6f9b053974a71c568 100644
+index f71a1401d229b32557f0444ce45cfa47ffa2fde4..b3d3e023d10fe6bb964fe7a3d1cbb96d6a406283 100644
--- a/src/main/java/net/minecraft/server/MinecraftServer.java
+++ b/src/main/java/net/minecraft/server/MinecraftServer.java
-@@ -812,7 +812,7 @@ public abstract class MinecraftServer extends ReentrantBlockableEventLoop<TickTa
+@@ -813,7 +813,7 @@ public abstract class MinecraftServer extends ReentrantBlockableEventLoop<TickTa
this.executeModerately();
// CraftBukkit end
if (worldserver.getWorld().getKeepSpawnInMemory()) worldloadlistener.stop(); // Paper
diff --git a/patches/server/0363-Anti-Xray.patch b/patches/server/0363-Anti-Xray.patch
index 8899542a7a..2b007fe70b 100644
--- a/patches/server/0363-Anti-Xray.patch
+++ b/patches/server/0363-Anti-Xray.patch
@@ -5,7 +5,7 @@ Subject: [PATCH] Anti-Xray
diff --git a/src/main/java/com/destroystokyo/paper/PaperWorldConfig.java b/src/main/java/com/destroystokyo/paper/PaperWorldConfig.java
-index a6f282df404b2babd436dbace0246997cc6e2af2..6b8f7fec3307bc643a1bdd1fb9f0572fdb9da560 100644
+index 723adafaf82a664b8bfff9d7d11e43e3eafafa6e..1cdfba84abcee02c0ac49367c97544bc4758715b 100644
--- a/src/main/java/com/destroystokyo/paper/PaperWorldConfig.java
+++ b/src/main/java/com/destroystokyo/paper/PaperWorldConfig.java
@@ -1,11 +1,13 @@
@@ -1596,10 +1596,10 @@ index 7bc1219523eeb0880493e6fb42692f1fdb30c110..d6efa18ba9c032858071f6c87f1bdc0c
}
diff --git a/src/main/java/org/bukkit/craftbukkit/CraftServer.java b/src/main/java/org/bukkit/craftbukkit/CraftServer.java
-index 8d1cbefc82f64a120eeea8c6bdd6361ffa513099..6a16faf62f6d93c1ada5942e5886b37bd9f78c83 100644
+index 20214d98ab5449798c3d045b4d1133ff5d939c11..0287df105ee4a2d415a343e1b54b4dd9e369e5d0 100644
--- a/src/main/java/org/bukkit/craftbukkit/CraftServer.java
+++ b/src/main/java/org/bukkit/craftbukkit/CraftServer.java
-@@ -2204,7 +2204,7 @@ public final class CraftServer implements Server {
+@@ -2201,7 +2201,7 @@ public final class CraftServer implements Server {
public ChunkGenerator.ChunkData createChunkData(World world) {
Validate.notNull(world, "World cannot be null");
ServerLevel handle = ((CraftWorld) world).getHandle();
diff --git a/patches/server/0384-Add-tick-times-API-and-mspt-command.patch b/patches/server/0384-Add-tick-times-API-and-mspt-command.patch
index c58f7b3e41..1558ef8254 100644
--- a/patches/server/0384-Add-tick-times-API-and-mspt-command.patch
+++ b/patches/server/0384-Add-tick-times-API-and-mspt-command.patch
@@ -87,7 +87,7 @@ index 4875e323e8ba52cf91259262b8418310061718ad..a074df5708624bd4b0bc2ad3dcbd4bc4
version = getInt("config-version", 24);
set("config-version", 24);
diff --git a/src/main/java/net/minecraft/server/MinecraftServer.java b/src/main/java/net/minecraft/server/MinecraftServer.java
-index b80a7d98d4b088e3cc98c3d6f9b053974a71c568..64370c9c5e443f8e84e7f2f018c56f0223eb4b24 100644
+index b3d3e023d10fe6bb964fe7a3d1cbb96d6a406283..51b8b23892d9a57c1502a7cd9dbde033bae1ff03 100644
--- a/src/main/java/net/minecraft/server/MinecraftServer.java
+++ b/src/main/java/net/minecraft/server/MinecraftServer.java
@@ -245,6 +245,11 @@ public abstract class MinecraftServer extends ReentrantBlockableEventLoop<TickTa
@@ -102,7 +102,7 @@ index b80a7d98d4b088e3cc98c3d6f9b053974a71c568..64370c9c5e443f8e84e7f2f018c56f02
@Nullable
private KeyPair keyPair;
@Nullable
-@@ -1369,6 +1374,12 @@ public abstract class MinecraftServer extends ReentrantBlockableEventLoop<TickTa
+@@ -1370,6 +1375,12 @@ public abstract class MinecraftServer extends ReentrantBlockableEventLoop<TickTa
this.averageTickTime = this.averageTickTime * 0.8F + (float) l / 1000000.0F * 0.19999999F;
long i1 = Util.getNanos();
@@ -115,7 +115,7 @@ index b80a7d98d4b088e3cc98c3d6f9b053974a71c568..64370c9c5e443f8e84e7f2f018c56f02
this.frameTimer.logFrameDuration(i1 - i);
this.profiler.pop();
org.spigotmc.WatchdogThread.tick(); // Spigot
-@@ -2461,4 +2472,29 @@ public abstract class MinecraftServer extends ReentrantBlockableEventLoop<TickTa
+@@ -2462,4 +2473,29 @@ public abstract class MinecraftServer extends ReentrantBlockableEventLoop<TickTa
};
}
}
@@ -146,10 +146,10 @@ index b80a7d98d4b088e3cc98c3d6f9b053974a71c568..64370c9c5e443f8e84e7f2f018c56f02
+ // Paper end
}
diff --git a/src/main/java/org/bukkit/craftbukkit/CraftServer.java b/src/main/java/org/bukkit/craftbukkit/CraftServer.java
-index 6a16faf62f6d93c1ada5942e5886b37bd9f78c83..1e80d1691ff62ec60b8ba71e526ef51b7a1a1c6c 100644
+index 0287df105ee4a2d415a343e1b54b4dd9e369e5d0..3a741fd48aea32b017b2a14e64c47ef1b0af04c7 100644
--- a/src/main/java/org/bukkit/craftbukkit/CraftServer.java
+++ b/src/main/java/org/bukkit/craftbukkit/CraftServer.java
-@@ -2426,6 +2426,16 @@ public final class CraftServer implements Server {
+@@ -2423,6 +2423,16 @@ public final class CraftServer implements Server {
net.minecraft.server.MinecraftServer.getServer().tps15.getAverage()
};
}
diff --git a/patches/server/0385-Expose-MinecraftServer-isRunning.patch b/patches/server/0385-Expose-MinecraftServer-isRunning.patch
index fa5dde5768..d9e70fe0a3 100644
--- a/patches/server/0385-Expose-MinecraftServer-isRunning.patch
+++ b/patches/server/0385-Expose-MinecraftServer-isRunning.patch
@@ -6,10 +6,10 @@ Subject: [PATCH] Expose MinecraftServer#isRunning
This allows for plugins to detect if the server is actually turning off in onDisable rather than just plugins reloading.
diff --git a/src/main/java/org/bukkit/craftbukkit/CraftServer.java b/src/main/java/org/bukkit/craftbukkit/CraftServer.java
-index 1e80d1691ff62ec60b8ba71e526ef51b7a1a1c6c..53c7e3bed9f116d9287b2881ca6c7c31346e22e6 100644
+index 3a741fd48aea32b017b2a14e64c47ef1b0af04c7..8a0e1e7ac1c447d6e9b8807054aaa86820171e7b 100644
--- a/src/main/java/org/bukkit/craftbukkit/CraftServer.java
+++ b/src/main/java/org/bukkit/craftbukkit/CraftServer.java
-@@ -2603,5 +2603,10 @@ public final class CraftServer implements Server {
+@@ -2600,5 +2600,10 @@ public final class CraftServer implements Server {
public int getCurrentTick() {
return net.minecraft.server.MinecraftServer.currentTick;
}
diff --git a/patches/server/0396-Improved-Watchdog-Support.patch b/patches/server/0396-Improved-Watchdog-Support.patch
index 98e58095e1..e9c78c9e2f 100644
--- a/patches/server/0396-Improved-Watchdog-Support.patch
+++ b/patches/server/0396-Improved-Watchdog-Support.patch
@@ -71,10 +71,10 @@ index c54530d1c66845b190a9cb6d06f985943bb4dbe1..35c9b3e6c5a2d11b4dbd491b16647df1
cause = cause.getCause();
}
diff --git a/src/main/java/net/minecraft/server/MinecraftServer.java b/src/main/java/net/minecraft/server/MinecraftServer.java
-index 64370c9c5e443f8e84e7f2f018c56f0223eb4b24..cab914abbc6c655895f09d71f253889a0dcc4e02 100644
+index 51b8b23892d9a57c1502a7cd9dbde033bae1ff03..7049126dabd8bd497b7a63f8b0980e0252638c23 100644
--- a/src/main/java/net/minecraft/server/MinecraftServer.java
+++ b/src/main/java/net/minecraft/server/MinecraftServer.java
-@@ -297,7 +297,7 @@ public abstract class MinecraftServer extends ReentrantBlockableEventLoop<TickTa
+@@ -298,7 +298,7 @@ public abstract class MinecraftServer extends ReentrantBlockableEventLoop<TickTa
public java.util.Queue<Runnable> processQueue = new java.util.concurrent.ConcurrentLinkedQueue<Runnable>();
public int autosavePeriod;
public Commands vanillaCommandDispatcher;
@@ -83,7 +83,7 @@ index 64370c9c5e443f8e84e7f2f018c56f0223eb4b24..cab914abbc6c655895f09d71f253889a
// CraftBukkit end
// Spigot start
public static final int TPS = 20;
-@@ -308,6 +308,9 @@ public abstract class MinecraftServer extends ReentrantBlockableEventLoop<TickTa
+@@ -309,6 +309,9 @@ public abstract class MinecraftServer extends ReentrantBlockableEventLoop<TickTa
// Spigot end
public static long currentTickLong = 0L; // Paper
@@ -93,7 +93,7 @@ index 64370c9c5e443f8e84e7f2f018c56f0223eb4b24..cab914abbc6c655895f09d71f253889a
public static <S extends MinecraftServer> S spin(Function<Thread, S> serverFactory) {
AtomicReference<S> atomicreference = new AtomicReference();
Thread thread = new Thread(() -> {
-@@ -914,6 +917,7 @@ public abstract class MinecraftServer extends ReentrantBlockableEventLoop<TickTa
+@@ -915,6 +918,7 @@ public abstract class MinecraftServer extends ReentrantBlockableEventLoop<TickTa
// CraftBukkit start
private boolean hasStopped = false;
@@ -101,7 +101,7 @@ index 64370c9c5e443f8e84e7f2f018c56f0223eb4b24..cab914abbc6c655895f09d71f253889a
private final Object stopLock = new Object();
public final boolean hasStopped() {
synchronized (this.stopLock) {
-@@ -928,6 +932,19 @@ public abstract class MinecraftServer extends ReentrantBlockableEventLoop<TickTa
+@@ -929,6 +933,19 @@ public abstract class MinecraftServer extends ReentrantBlockableEventLoop<TickTa
if (this.hasStopped) return;
this.hasStopped = true;
}
@@ -121,7 +121,7 @@ index 64370c9c5e443f8e84e7f2f018c56f0223eb4b24..cab914abbc6c655895f09d71f253889a
// CraftBukkit end
MinecraftServer.LOGGER.info("Stopping server");
MinecraftTimings.stopServer(); // Paper
-@@ -991,7 +1008,18 @@ public abstract class MinecraftServer extends ReentrantBlockableEventLoop<TickTa
+@@ -992,7 +1009,18 @@ public abstract class MinecraftServer extends ReentrantBlockableEventLoop<TickTa
this.getProfileCache().save(false); // Paper
}
// Spigot end
@@ -140,7 +140,7 @@ index 64370c9c5e443f8e84e7f2f018c56f0223eb4b24..cab914abbc6c655895f09d71f253889a
}
public String getLocalIp() {
-@@ -1084,6 +1112,7 @@ public abstract class MinecraftServer extends ReentrantBlockableEventLoop<TickTa
+@@ -1085,6 +1113,7 @@ public abstract class MinecraftServer extends ReentrantBlockableEventLoop<TickTa
protected void runServer() {
try {
@@ -148,7 +148,7 @@ index 64370c9c5e443f8e84e7f2f018c56f0223eb4b24..cab914abbc6c655895f09d71f253889a
if (this.initServer()) {
this.nextTickTime = Util.getMillis();
this.status.setDescription(new TextComponent(this.motd));
-@@ -1091,6 +1120,18 @@ public abstract class MinecraftServer extends ReentrantBlockableEventLoop<TickTa
+@@ -1092,6 +1121,18 @@ public abstract class MinecraftServer extends ReentrantBlockableEventLoop<TickTa
this.updateStatusIcon(this.status);
// Spigot start
@@ -167,7 +167,7 @@ index 64370c9c5e443f8e84e7f2f018c56f0223eb4b24..cab914abbc6c655895f09d71f253889a
org.spigotmc.WatchdogThread.hasStarted = true; // Paper
Arrays.fill( recentTps, 20 );
long start = System.nanoTime(), curTime, tickSection = start; // Paper - Further improve server tick loop
-@@ -1148,6 +1189,12 @@ public abstract class MinecraftServer extends ReentrantBlockableEventLoop<TickTa
+@@ -1149,6 +1190,12 @@ public abstract class MinecraftServer extends ReentrantBlockableEventLoop<TickTa
this.onServerCrash((CrashReport) null);
}
} catch (Throwable throwable) {
@@ -180,7 +180,7 @@ index 64370c9c5e443f8e84e7f2f018c56f0223eb4b24..cab914abbc6c655895f09d71f253889a
MinecraftServer.LOGGER.error("Encountered an unexpected exception", throwable);
// Spigot Start
if ( throwable.getCause() != null )
-@@ -1187,14 +1234,14 @@ public abstract class MinecraftServer extends ReentrantBlockableEventLoop<TickTa
+@@ -1188,14 +1235,14 @@ public abstract class MinecraftServer extends ReentrantBlockableEventLoop<TickTa
this.profileCache.clearExecutor();
}
@@ -198,7 +198,7 @@ index 64370c9c5e443f8e84e7f2f018c56f0223eb4b24..cab914abbc6c655895f09d71f253889a
}
}
-@@ -1233,6 +1280,12 @@ public abstract class MinecraftServer extends ReentrantBlockableEventLoop<TickTa
+@@ -1234,6 +1281,12 @@ public abstract class MinecraftServer extends ReentrantBlockableEventLoop<TickTa
@Override
public TickTask wrapRunnable(Runnable runnable) {
@@ -211,7 +211,7 @@ index 64370c9c5e443f8e84e7f2f018c56f0223eb4b24..cab914abbc6c655895f09d71f253889a
return new TickTask(this.tickCount, runnable);
}
-@@ -1461,6 +1514,7 @@ public abstract class MinecraftServer extends ReentrantBlockableEventLoop<TickTa
+@@ -1462,6 +1515,7 @@ public abstract class MinecraftServer extends ReentrantBlockableEventLoop<TickTa
try {
crashreport = CrashReport.forThrowable(throwable, "Exception ticking world");
} catch (Throwable t) {
@@ -219,7 +219,7 @@ index 64370c9c5e443f8e84e7f2f018c56f0223eb4b24..cab914abbc6c655895f09d71f253889a
throw new RuntimeException("Error generating crash report", t);
}
// Spigot End
-@@ -1896,7 +1950,8 @@ public abstract class MinecraftServer extends ReentrantBlockableEventLoop<TickTa
+@@ -1897,7 +1951,8 @@ public abstract class MinecraftServer extends ReentrantBlockableEventLoop<TickTa
this.packRepository.setSelected(datapacks);
this.worldData.setDataPackConfig(MinecraftServer.getSelectedPacks(this.packRepository));
datapackresources.updateGlobals();
@@ -323,10 +323,10 @@ index a80762a8acc5669dd9531d6514032318bae725f6..f7388d37b467d1c153fcf8002eedd204
final String msg = String.format("BlockEntity threw exception at %s:%s,%s,%s", LevelChunk.this.getLevel().getWorld().getName(), this.getPos().getX(), this.getPos().getY(), this.getPos().getZ());
net.minecraft.server.MinecraftServer.LOGGER.error(msg, throwable);
diff --git a/src/main/java/org/bukkit/craftbukkit/CraftServer.java b/src/main/java/org/bukkit/craftbukkit/CraftServer.java
-index 53c7e3bed9f116d9287b2881ca6c7c31346e22e6..406452c014e3bf9639a4e6ce20052c22da390c09 100644
+index 8a0e1e7ac1c447d6e9b8807054aaa86820171e7b..264d1202d2efc6aeb89be17f74c0f1423d80be1d 100644
--- a/src/main/java/org/bukkit/craftbukkit/CraftServer.java
+++ b/src/main/java/org/bukkit/craftbukkit/CraftServer.java
-@@ -2049,7 +2049,7 @@ public final class CraftServer implements Server {
+@@ -2046,7 +2046,7 @@ public final class CraftServer implements Server {
@Override
public boolean isPrimaryThread() {
diff --git a/patches/server/0416-Expose-game-version.patch b/patches/server/0416-Expose-game-version.patch
index b95057d6ec..3e86dd3397 100644
--- a/patches/server/0416-Expose-game-version.patch
+++ b/patches/server/0416-Expose-game-version.patch
@@ -5,10 +5,10 @@ Subject: [PATCH] Expose game version
diff --git a/src/main/java/org/bukkit/craftbukkit/CraftServer.java b/src/main/java/org/bukkit/craftbukkit/CraftServer.java
-index 406452c014e3bf9639a4e6ce20052c22da390c09..0790dda63aa76b2f5e0133338f9f5accf8a6bdb9 100644
+index 264d1202d2efc6aeb89be17f74c0f1423d80be1d..af05f2fe686fbdd52f7e536e7f14e96b157de6ca 100644
--- a/src/main/java/org/bukkit/craftbukkit/CraftServer.java
+++ b/src/main/java/org/bukkit/craftbukkit/CraftServer.java
-@@ -579,6 +579,13 @@ public final class CraftServer implements Server {
+@@ -577,6 +577,13 @@ public final class CraftServer implements Server {
return this.bukkitVersion;
}
diff --git a/patches/server/0419-misc-debugging-dumps.patch b/patches/server/0419-misc-debugging-dumps.patch
index c33ba2d26e..76ce5f9ca6 100644
--- a/patches/server/0419-misc-debugging-dumps.patch
+++ b/patches/server/0419-misc-debugging-dumps.patch
@@ -29,10 +29,10 @@ index 0000000000000000000000000000000000000000..2d5494d2813b773e60ddba6790b750a9
+ }
+}
diff --git a/src/main/java/net/minecraft/server/MinecraftServer.java b/src/main/java/net/minecraft/server/MinecraftServer.java
-index cab914abbc6c655895f09d71f253889a0dcc4e02..7792947e9eb8e2d5d4b3ccda4fa135bf57951a94 100644
+index 7049126dabd8bd497b7a63f8b0980e0252638c23..d613d9bbd2096788cd0f7e3a8aa901e44a4e25ff 100644
--- a/src/main/java/net/minecraft/server/MinecraftServer.java
+++ b/src/main/java/net/minecraft/server/MinecraftServer.java
-@@ -918,6 +918,7 @@ public abstract class MinecraftServer extends ReentrantBlockableEventLoop<TickTa
+@@ -919,6 +919,7 @@ public abstract class MinecraftServer extends ReentrantBlockableEventLoop<TickTa
// CraftBukkit start
private boolean hasStopped = false;
public volatile boolean hasFullyShutdown = false; // Paper
@@ -40,7 +40,7 @@ index cab914abbc6c655895f09d71f253889a0dcc4e02..7792947e9eb8e2d5d4b3ccda4fa135bf
private final Object stopLock = new Object();
public final boolean hasStopped() {
synchronized (this.stopLock) {
-@@ -932,6 +933,7 @@ public abstract class MinecraftServer extends ReentrantBlockableEventLoop<TickTa
+@@ -933,6 +934,7 @@ public abstract class MinecraftServer extends ReentrantBlockableEventLoop<TickTa
if (this.hasStopped) return;
this.hasStopped = true;
}
@@ -48,7 +48,7 @@ index cab914abbc6c655895f09d71f253889a0dcc4e02..7792947e9eb8e2d5d4b3ccda4fa135bf
// Paper start - kill main thread, and kill it hard
shutdownThread = Thread.currentThread();
org.spigotmc.WatchdogThread.doStop(); // Paper
-@@ -1040,6 +1042,8 @@ public abstract class MinecraftServer extends ReentrantBlockableEventLoop<TickTa
+@@ -1041,6 +1043,8 @@ public abstract class MinecraftServer extends ReentrantBlockableEventLoop<TickTa
}
public void safeShutdown(boolean flag, boolean isRestarting) {
this.isRestarting = isRestarting;
@@ -74,10 +74,10 @@ index 301042e7a0d372a914f27ec0988dd938cf2a8262..1766a22e65af2e08611a9435c7384377
this.connection.send(new ClientboundDisconnectPacket(chatmessage));
this.connection.disconnect(chatmessage);
diff --git a/src/main/java/org/bukkit/craftbukkit/CraftServer.java b/src/main/java/org/bukkit/craftbukkit/CraftServer.java
-index 0790dda63aa76b2f5e0133338f9f5accf8a6bdb9..00432e3fa7a0306ba30ebbd60cb1af52cb91204c 100644
+index af05f2fe686fbdd52f7e536e7f14e96b157de6ca..134f9efd6267c3baeabc110f75d7182b0f78fa77 100644
--- a/src/main/java/org/bukkit/craftbukkit/CraftServer.java
+++ b/src/main/java/org/bukkit/craftbukkit/CraftServer.java
-@@ -999,6 +999,7 @@ public final class CraftServer implements Server {
+@@ -997,6 +997,7 @@ public final class CraftServer implements Server {
plugin.getDescription().getFullName(),
"This plugin is not properly shutting down its async tasks when it is being reloaded. This may cause conflicts with the newly loaded version of the plugin"
));
diff --git a/patches/server/0421-Implement-Mob-Goal-API.patch b/patches/server/0421-Implement-Mob-Goal-API.patch
index a84ff862f1..9f93314478 100644
--- a/patches/server/0421-Implement-Mob-Goal-API.patch
+++ b/patches/server/0421-Implement-Mob-Goal-API.patch
@@ -785,10 +785,10 @@ index 4379b9948f1eecfe6fd7dea98e298ad5f761019a..3f081183521603824430709886a9cc31
LOOK,
JUMP,
diff --git a/src/main/java/org/bukkit/craftbukkit/CraftServer.java b/src/main/java/org/bukkit/craftbukkit/CraftServer.java
-index 00432e3fa7a0306ba30ebbd60cb1af52cb91204c..29d553d34eac8a0b6f2481a4254efb6d56d42eea 100644
+index 134f9efd6267c3baeabc110f75d7182b0f78fa77..1fc14d579e00534c5eb6ffb67fd61fd0685edb5a 100644
--- a/src/main/java/org/bukkit/craftbukkit/CraftServer.java
+++ b/src/main/java/org/bukkit/craftbukkit/CraftServer.java
-@@ -2616,5 +2616,11 @@ public final class CraftServer implements Server {
+@@ -2613,5 +2613,11 @@ public final class CraftServer implements Server {
public boolean isStopping() {
return net.minecraft.server.MinecraftServer.getServer().hasStopped();
}
diff --git a/patches/server/0428-Wait-for-Async-Tasks-during-shutdown.patch b/patches/server/0428-Wait-for-Async-Tasks-during-shutdown.patch
index e7b63cb21a..4dc23f673d 100644
--- a/patches/server/0428-Wait-for-Async-Tasks-during-shutdown.patch
+++ b/patches/server/0428-Wait-for-Async-Tasks-during-shutdown.patch
@@ -10,10 +10,10 @@ Adds a 5 second grace period for any async tasks to finish and warns
if any are still running after that delay just as reload does.
diff --git a/src/main/java/net/minecraft/server/MinecraftServer.java b/src/main/java/net/minecraft/server/MinecraftServer.java
-index 7792947e9eb8e2d5d4b3ccda4fa135bf57951a94..7bac10fca1c44768bb7c93362b331f89afbba702 100644
+index d613d9bbd2096788cd0f7e3a8aa901e44a4e25ff..faee8e2a29b4c9cbd62185f401ac7bbd40d8df76 100644
--- a/src/main/java/net/minecraft/server/MinecraftServer.java
+++ b/src/main/java/net/minecraft/server/MinecraftServer.java
-@@ -953,6 +953,7 @@ public abstract class MinecraftServer extends ReentrantBlockableEventLoop<TickTa
+@@ -954,6 +954,7 @@ public abstract class MinecraftServer extends ReentrantBlockableEventLoop<TickTa
// CraftBukkit start
if (this.server != null) {
this.server.disablePlugins();
@@ -22,10 +22,10 @@ index 7792947e9eb8e2d5d4b3ccda4fa135bf57951a94..7bac10fca1c44768bb7c93362b331f89
// CraftBukkit end
if (this.getConnection() != null) {
diff --git a/src/main/java/org/bukkit/craftbukkit/CraftServer.java b/src/main/java/org/bukkit/craftbukkit/CraftServer.java
-index 29d553d34eac8a0b6f2481a4254efb6d56d42eea..6c55c5430ab7e221ec25ef50818a07327d4c9e46 100644
+index 1fc14d579e00534c5eb6ffb67fd61fd0685edb5a..9815401cc7e4438d44c6d812190f181300001802 100644
--- a/src/main/java/org/bukkit/craftbukkit/CraftServer.java
+++ b/src/main/java/org/bukkit/craftbukkit/CraftServer.java
-@@ -1008,6 +1008,35 @@ public final class CraftServer implements Server {
+@@ -1006,6 +1006,35 @@ public final class CraftServer implements Server {
org.spigotmc.WatchdogThread.hasStarted = true; // Paper - Disable watchdog early timeout on reload
}
diff --git a/patches/server/0453-Fix-Per-World-Difficulty-Remembering-Difficulty.patch b/patches/server/0453-Fix-Per-World-Difficulty-Remembering-Difficulty.patch
index ae51cdc948..06d917f25e 100644
--- a/patches/server/0453-Fix-Per-World-Difficulty-Remembering-Difficulty.patch
+++ b/patches/server/0453-Fix-Per-World-Difficulty-Remembering-Difficulty.patch
@@ -8,10 +8,10 @@ makes it so that the server keeps the last difficulty used instead
of restoring the server.properties every single load.
diff --git a/src/main/java/net/minecraft/server/MinecraftServer.java b/src/main/java/net/minecraft/server/MinecraftServer.java
-index 7bac10fca1c44768bb7c93362b331f89afbba702..4351dd9c293d1db48c87c5df28bcb2b9a59583f7 100644
+index faee8e2a29b4c9cbd62185f401ac7bbd40d8df76..918fdf14080338983b8725bf2619088fd23c332a 100644
--- a/src/main/java/net/minecraft/server/MinecraftServer.java
+++ b/src/main/java/net/minecraft/server/MinecraftServer.java
-@@ -823,7 +823,7 @@ public abstract class MinecraftServer extends ReentrantBlockableEventLoop<TickTa
+@@ -824,7 +824,7 @@ public abstract class MinecraftServer extends ReentrantBlockableEventLoop<TickTa
chunkproviderserver.getLightEngine().setTaskPerBatch(worldserver.paperConfig.lightQueueSize); // Paper - increase light queue size
// CraftBukkit start
// this.updateMobSpawningFlags();
@@ -20,7 +20,7 @@ index 7bac10fca1c44768bb7c93362b331f89afbba702..4351dd9c293d1db48c87c5df28bcb2b9
this.forceTicks = false;
// CraftBukkit end
-@@ -1699,11 +1699,14 @@ public abstract class MinecraftServer extends ReentrantBlockableEventLoop<TickTa
+@@ -1700,11 +1700,14 @@ public abstract class MinecraftServer extends ReentrantBlockableEventLoop<TickTa
}
}
@@ -40,7 +40,7 @@ index 7bac10fca1c44768bb7c93362b331f89afbba702..4351dd9c293d1db48c87c5df28bcb2b9
}
}
-@@ -1717,7 +1720,7 @@ public abstract class MinecraftServer extends ReentrantBlockableEventLoop<TickTa
+@@ -1718,7 +1721,7 @@ public abstract class MinecraftServer extends ReentrantBlockableEventLoop<TickTa
while (iterator.hasNext()) {
ServerLevel worldserver = (ServerLevel) iterator.next();
@@ -81,7 +81,7 @@ index 2b7ba5d8dda0297c8b35a0cea68c3ae10188e3f2..e968b880e435b8753314d85b919a0abc
@Override
diff --git a/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java b/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java
-index dd29bad410ff74ce3f1f94bc60560cf10b12375f..0bcafeb8008bd2556bcdc556b17d00ff936d7aa9 100644
+index 22a10327a690263a8756ffa3098b816c4be20e54..4e73fae8276be9874c61a456a2648828d39dd1cb 100644
--- a/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java
+++ b/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java
@@ -3028,7 +3028,7 @@ public class ServerGamePacketListenerImpl implements ServerPlayerConnection, Ser
@@ -94,10 +94,10 @@ index dd29bad410ff74ce3f1f94bc60560cf10b12375f..0bcafeb8008bd2556bcdc556b17d00ff
}
diff --git a/src/main/java/org/bukkit/craftbukkit/CraftServer.java b/src/main/java/org/bukkit/craftbukkit/CraftServer.java
-index 6c55c5430ab7e221ec25ef50818a07327d4c9e46..1a0070045e34430f8d36ce2debde2bb41e731158 100644
+index 9815401cc7e4438d44c6d812190f181300001802..34abd017ac54ae7f12f8d6ffacfd7af90d7f9cad 100644
--- a/src/main/java/org/bukkit/craftbukkit/CraftServer.java
+++ b/src/main/java/org/bukkit/craftbukkit/CraftServer.java
-@@ -923,8 +923,8 @@ public final class CraftServer implements Server {
+@@ -921,8 +921,8 @@ public final class CraftServer implements Server {
org.spigotmc.SpigotConfig.init((File) console.options.valueOf("spigot-settings")); // Spigot
com.destroystokyo.paper.PaperConfig.init((File) console.options.valueOf("paper-settings")); // Paper
for (ServerLevel world : this.console.getAllLevels()) {
diff --git a/patches/server/0458-Add-Plugin-Tickets-to-API-Chunk-Methods.patch b/patches/server/0458-Add-Plugin-Tickets-to-API-Chunk-Methods.patch
index 05d7b13d1c..3143c5e86e 100644
--- a/patches/server/0458-Add-Plugin-Tickets-to-API-Chunk-Methods.patch
+++ b/patches/server/0458-Add-Plugin-Tickets-to-API-Chunk-Methods.patch
@@ -22,10 +22,10 @@ wants it to collect even faster, they can restore that setting back to 1 instead
Not adding it to .getType() though to keep behavior consistent with vanilla for performance reasons.
diff --git a/src/main/java/org/bukkit/craftbukkit/CraftServer.java b/src/main/java/org/bukkit/craftbukkit/CraftServer.java
-index 1a0070045e34430f8d36ce2debde2bb41e731158..2208b4da8293fc3627d6330f5061757ab4fab52b 100644
+index 34abd017ac54ae7f12f8d6ffacfd7af90d7f9cad..f71b244b4d8afa1d109061de5c23f32f67539a93 100644
--- a/src/main/java/org/bukkit/craftbukkit/CraftServer.java
+++ b/src/main/java/org/bukkit/craftbukkit/CraftServer.java
-@@ -373,7 +373,7 @@ public final class CraftServer implements Server {
+@@ -371,7 +371,7 @@ public final class CraftServer implements Server {
this.ambientSpawn = this.configuration.getInt("spawn-limits.ambient");
console.autosavePeriod = this.configuration.getInt("ticks-per.autosave");
this.warningState = WarningState.value(this.configuration.getString("settings.deprecated-verbose"));
@@ -34,7 +34,7 @@ index 1a0070045e34430f8d36ce2debde2bb41e731158..2208b4da8293fc3627d6330f5061757a
this.minimumAPI = this.configuration.getString("settings.minimum-api");
this.loadIcon();
}
-@@ -903,7 +903,7 @@ public final class CraftServer implements Server {
+@@ -901,7 +901,7 @@ public final class CraftServer implements Server {
this.waterUndergroundCreatureSpawn = this.configuration.getInt("spawn-limits.water-underground-creature");
this.ambientSpawn = this.configuration.getInt("spawn-limits.ambient");
this.warningState = WarningState.value(this.configuration.getString("settings.deprecated-verbose"));
diff --git a/patches/server/0459-incremental-chunk-and-player-saving.patch b/patches/server/0459-incremental-chunk-and-player-saving.patch
index 7253f7cb58..4c58cdfe3d 100644
--- a/patches/server/0459-incremental-chunk-and-player-saving.patch
+++ b/patches/server/0459-incremental-chunk-and-player-saving.patch
@@ -24,7 +24,7 @@ index ebbbffd209c6796bc608992e293035141a122d1f..4fb6b2153117f54a2b0ca940de4c0ee2
+ }
}
diff --git a/src/main/java/com/destroystokyo/paper/PaperWorldConfig.java b/src/main/java/com/destroystokyo/paper/PaperWorldConfig.java
-index d7e2d0625fe113387f9475688d38be515673d986..7029f424e9a0280421a880c5e64e4dfa4f8f0e92 100644
+index d6d549df6e8920c936dd0d1b7ba828dbebc60b32..8b4b521a84c8623665d21d0340bca7665953d20b 100644
--- a/src/main/java/com/destroystokyo/paper/PaperWorldConfig.java
+++ b/src/main/java/com/destroystokyo/paper/PaperWorldConfig.java
@@ -64,6 +64,21 @@ public class PaperWorldConfig {
@@ -50,10 +50,10 @@ index d7e2d0625fe113387f9475688d38be515673d986..7029f424e9a0280421a880c5e64e4dfa
config.addDefault("world-settings.default." + path, def);
return config.getBoolean("world-settings." + worldName + "." + path, config.getBoolean("world-settings.default." + path));
diff --git a/src/main/java/net/minecraft/server/MinecraftServer.java b/src/main/java/net/minecraft/server/MinecraftServer.java
-index 4351dd9c293d1db48c87c5df28bcb2b9a59583f7..faa6f999f620712b90df465e0dc68e4ff35f94af 100644
+index 918fdf14080338983b8725bf2619088fd23c332a..95842327aa08d4717f86e9dcc0519ab24c41ca14 100644
--- a/src/main/java/net/minecraft/server/MinecraftServer.java
+++ b/src/main/java/net/minecraft/server/MinecraftServer.java
-@@ -901,7 +901,7 @@ public abstract class MinecraftServer extends ReentrantBlockableEventLoop<TickTa
+@@ -902,7 +902,7 @@ public abstract class MinecraftServer extends ReentrantBlockableEventLoop<TickTa
try {
this.isSaving = true;
@@ -62,7 +62,7 @@ index 4351dd9c293d1db48c87c5df28bcb2b9a59583f7..faa6f999f620712b90df465e0dc68e4f
flag3 = this.saveAllChunks(suppressLogs, flush, force);
} finally {
this.isSaving = false;
-@@ -1408,13 +1408,28 @@ public abstract class MinecraftServer extends ReentrantBlockableEventLoop<TickTa
+@@ -1409,13 +1409,28 @@ public abstract class MinecraftServer extends ReentrantBlockableEventLoop<TickTa
}
}
diff --git a/patches/server/0488-Add-setMaxPlayers-API.patch b/patches/server/0488-Add-setMaxPlayers-API.patch
index 8d7468426d..960ac5bd01 100644
--- a/patches/server/0488-Add-setMaxPlayers-API.patch
+++ b/patches/server/0488-Add-setMaxPlayers-API.patch
@@ -18,10 +18,10 @@ index c75218775bb5e9745b863ef1db5280a4a3f2bed9..a1077445ab7d416dc61db85742e44719
private int simulationDistance;
private boolean allowCheatsForAllPlayers;
diff --git a/src/main/java/org/bukkit/craftbukkit/CraftServer.java b/src/main/java/org/bukkit/craftbukkit/CraftServer.java
-index 2208b4da8293fc3627d6330f5061757ab4fab52b..1ffadc1da10872655449a8d63590b9c4ca2df7ae 100644
+index f71b244b4d8afa1d109061de5c23f32f67539a93..80843004e01ae8ce66823daa1062c997f135baf3 100644
--- a/src/main/java/org/bukkit/craftbukkit/CraftServer.java
+++ b/src/main/java/org/bukkit/craftbukkit/CraftServer.java
-@@ -674,6 +674,13 @@ public final class CraftServer implements Server {
+@@ -672,6 +672,13 @@ public final class CraftServer implements Server {
return this.playerList.getMaxPlayers();
}
diff --git a/patches/server/0505-Cache-block-data-strings.patch b/patches/server/0505-Cache-block-data-strings.patch
index dc4c599bdf..cb7563b976 100644
--- a/patches/server/0505-Cache-block-data-strings.patch
+++ b/patches/server/0505-Cache-block-data-strings.patch
@@ -5,10 +5,10 @@ Subject: [PATCH] Cache block data strings
diff --git a/src/main/java/net/minecraft/server/MinecraftServer.java b/src/main/java/net/minecraft/server/MinecraftServer.java
-index faa6f999f620712b90df465e0dc68e4ff35f94af..3b7306bddfff966e7a91277c420fcce7c253b349 100644
+index 95842327aa08d4717f86e9dcc0519ab24c41ca14..135b3e44fb6054d360327a0ce46decc451974e30 100644
--- a/src/main/java/net/minecraft/server/MinecraftServer.java
+++ b/src/main/java/net/minecraft/server/MinecraftServer.java
-@@ -1978,6 +1978,7 @@ public abstract class MinecraftServer extends ReentrantBlockableEventLoop<TickTa
+@@ -1979,6 +1979,7 @@ public abstract class MinecraftServer extends ReentrantBlockableEventLoop<TickTa
this.getPlayerList().reloadResources();
this.functionManager.replaceLibrary(this.resources.getFunctionLibrary());
this.structureManager.onResourceManagerReload(this.resources.getResourceManager());
diff --git a/patches/server/0514-Fix-deop-kicking-non-whitelisted-player-when-white-l.patch b/patches/server/0514-Fix-deop-kicking-non-whitelisted-player-when-white-l.patch
index 6c243f99ff..d71261900a 100644
--- a/patches/server/0514-Fix-deop-kicking-non-whitelisted-player-when-white-l.patch
+++ b/patches/server/0514-Fix-deop-kicking-non-whitelisted-player-when-white-l.patch
@@ -6,10 +6,10 @@ Subject: [PATCH] Fix deop kicking non-whitelisted player when white list is
diff --git a/src/main/java/net/minecraft/server/MinecraftServer.java b/src/main/java/net/minecraft/server/MinecraftServer.java
-index 3b7306bddfff966e7a91277c420fcce7c253b349..0e9336e005aa8f26d6e2c6356987e38bd5691b9a 100644
+index 135b3e44fb6054d360327a0ce46decc451974e30..b75522558c5277c2e8ec725e5b12eb6d4cb2c36c 100644
--- a/src/main/java/net/minecraft/server/MinecraftServer.java
+++ b/src/main/java/net/minecraft/server/MinecraftServer.java
-@@ -2044,13 +2044,14 @@ public abstract class MinecraftServer extends ReentrantBlockableEventLoop<TickTa
+@@ -2045,13 +2045,14 @@ public abstract class MinecraftServer extends ReentrantBlockableEventLoop<TickTa
if (this.isEnforceWhitelist()) {
PlayerList playerlist = source.getServer().getPlayerList();
UserWhiteList whitelist = playerlist.getWhiteList();
diff --git a/patches/server/0527-Add-getOfflinePlayerIfCached-String.patch b/patches/server/0527-Add-getOfflinePlayerIfCached-String.patch
index 41c32cbec3..c6e56654aa 100644
--- a/patches/server/0527-Add-getOfflinePlayerIfCached-String.patch
+++ b/patches/server/0527-Add-getOfflinePlayerIfCached-String.patch
@@ -5,10 +5,10 @@ Subject: [PATCH] Add getOfflinePlayerIfCached(String)
diff --git a/src/main/java/org/bukkit/craftbukkit/CraftServer.java b/src/main/java/org/bukkit/craftbukkit/CraftServer.java
-index 1ffadc1da10872655449a8d63590b9c4ca2df7ae..553a427810bda77adb972cb39504be5baff1474b 100644
+index 80843004e01ae8ce66823daa1062c997f135baf3..8535bb6523ef8736970f064ee2b52563a4c9726f 100644
--- a/src/main/java/org/bukkit/craftbukkit/CraftServer.java
+++ b/src/main/java/org/bukkit/craftbukkit/CraftServer.java
-@@ -1808,6 +1808,28 @@ public final class CraftServer implements Server {
+@@ -1805,6 +1805,28 @@ public final class CraftServer implements Server {
return result;
}
diff --git a/patches/server/0570-Added-ServerResourcesReloadedEvent.patch b/patches/server/0570-Added-ServerResourcesReloadedEvent.patch
index d819afe8b3..4c706db0bd 100644
--- a/patches/server/0570-Added-ServerResourcesReloadedEvent.patch
+++ b/patches/server/0570-Added-ServerResourcesReloadedEvent.patch
@@ -5,10 +5,10 @@ Subject: [PATCH] Added ServerResourcesReloadedEvent
diff --git a/src/main/java/net/minecraft/server/MinecraftServer.java b/src/main/java/net/minecraft/server/MinecraftServer.java
-index 0e9336e005aa8f26d6e2c6356987e38bd5691b9a..276795ef5b504bea56d6b533385ed55f7fd02ddb 100644
+index b75522558c5277c2e8ec725e5b12eb6d4cb2c36c..b5b7bb3c0147f95ac4036e7d2aa8f26ac755f4df 100644
--- a/src/main/java/net/minecraft/server/MinecraftServer.java
+++ b/src/main/java/net/minecraft/server/MinecraftServer.java
-@@ -1957,7 +1957,13 @@ public abstract class MinecraftServer extends ReentrantBlockableEventLoop<TickTa
+@@ -1958,7 +1958,13 @@ public abstract class MinecraftServer extends ReentrantBlockableEventLoop<TickTa
return this.functionManager;
}
@@ -22,7 +22,7 @@ index 0e9336e005aa8f26d6e2c6356987e38bd5691b9a..276795ef5b504bea56d6b533385ed55f
CompletableFuture<Void> completablefuture = CompletableFuture.supplyAsync(() -> {
Stream<String> stream = datapacks.stream(); // CraftBukkit - decompile error
PackRepository resourcepackrepository = this.packRepository;
-@@ -1973,6 +1979,7 @@ public abstract class MinecraftServer extends ReentrantBlockableEventLoop<TickTa
+@@ -1974,6 +1980,7 @@ public abstract class MinecraftServer extends ReentrantBlockableEventLoop<TickTa
this.packRepository.setSelected(datapacks);
this.worldData.setDataPackConfig(MinecraftServer.getSelectedPacks(this.packRepository));
datapackresources.updateGlobals();
diff --git a/patches/server/0596-EntityMoveEvent.patch b/patches/server/0596-EntityMoveEvent.patch
index 72725055d3..664a76875f 100644
--- a/patches/server/0596-EntityMoveEvent.patch
+++ b/patches/server/0596-EntityMoveEvent.patch
@@ -5,10 +5,10 @@ Subject: [PATCH] EntityMoveEvent
diff --git a/src/main/java/net/minecraft/server/MinecraftServer.java b/src/main/java/net/minecraft/server/MinecraftServer.java
-index 276795ef5b504bea56d6b533385ed55f7fd02ddb..2a0aabd4ca39ecada4d50de338421bc7a2a658f8 100644
+index b5b7bb3c0147f95ac4036e7d2aa8f26ac755f4df..18830fa8e43c70c9da417eb771d553353b06bb48 100644
--- a/src/main/java/net/minecraft/server/MinecraftServer.java
+++ b/src/main/java/net/minecraft/server/MinecraftServer.java
-@@ -1504,6 +1504,7 @@ public abstract class MinecraftServer extends ReentrantBlockableEventLoop<TickTa
+@@ -1505,6 +1505,7 @@ public abstract class MinecraftServer extends ReentrantBlockableEventLoop<TickTa
while (iterator.hasNext()) {
ServerLevel worldserver = (ServerLevel) iterator.next();
worldserver.hasPhysicsEvent = org.bukkit.event.block.BlockPhysicsEvent.getHandlerList().getRegisteredListeners().length > 0; // Paper
diff --git a/patches/server/0617-Implement-Keyed-on-World.patch b/patches/server/0617-Implement-Keyed-on-World.patch
index ddaaa97283..cbc6409a40 100644
--- a/patches/server/0617-Implement-Keyed-on-World.patch
+++ b/patches/server/0617-Implement-Keyed-on-World.patch
@@ -5,10 +5,10 @@ Subject: [PATCH] Implement Keyed on World
diff --git a/src/main/java/org/bukkit/craftbukkit/CraftServer.java b/src/main/java/org/bukkit/craftbukkit/CraftServer.java
-index 553a427810bda77adb972cb39504be5baff1474b..86816736595c269e3a2e8a849d67a0836a3f1593 100644
+index 8535bb6523ef8736970f064ee2b52563a4c9726f..203ba9f883941cd4f421b2c53ee153ecc02cd16c 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 {
+@@ -1236,7 +1236,7 @@ public final class CraftServer implements Server {
} else if (name.equals(levelName + "_the_end")) {
worldKey = net.minecraft.world.level.Level.END;
} else {
@@ -17,7 +17,7 @@ index 553a427810bda77adb972cb39504be5baff1474b..86816736595c269e3a2e8a849d67a083
}
ServerLevel internal = (ServerLevel) new ServerLevel(this.console, console.executor, worldSession, worlddata, worldKey, dimensionmanager, this.getServer().progressListenerFactory.create(11),
-@@ -1331,6 +1331,15 @@ public final class CraftServer implements Server {
+@@ -1328,6 +1328,15 @@ public final class CraftServer implements Server {
return null;
}
diff --git a/patches/server/0623-forced-whitelist-use-configurable-kick-message.patch b/patches/server/0623-forced-whitelist-use-configurable-kick-message.patch
index 3923abbafd..0e9fa76a3f 100644
--- a/patches/server/0623-forced-whitelist-use-configurable-kick-message.patch
+++ b/patches/server/0623-forced-whitelist-use-configurable-kick-message.patch
@@ -5,7 +5,7 @@ Subject: [PATCH] forced whitelist: use configurable kick message
diff --git a/src/main/java/net/minecraft/server/MinecraftServer.java b/src/main/java/net/minecraft/server/MinecraftServer.java
-index 2a0aabd4ca39ecada4d50de338421bc7a2a658f8..6a733008e0d94654dd9973a112e860b7af8b875c 100644
+index 18830fa8e43c70c9da417eb771d553353b06bb48..5de82c5d7da2ca6eeee4b804b916fa9d385cc25c 100644
--- a/src/main/java/net/minecraft/server/MinecraftServer.java
+++ b/src/main/java/net/minecraft/server/MinecraftServer.java
@@ -73,7 +73,6 @@ import net.minecraft.nbt.NbtOps;
@@ -16,7 +16,7 @@ index 2a0aabd4ca39ecada4d50de338421bc7a2a658f8..6a733008e0d94654dd9973a112e860b7
import net.minecraft.network.protocol.game.ClientboundChangeDifficultyPacket;
import net.minecraft.network.protocol.game.ClientboundSetTimePacket;
import net.minecraft.network.protocol.status.ServerStatus;
-@@ -2060,7 +2059,7 @@ public abstract class MinecraftServer extends ReentrantBlockableEventLoop<TickTa
+@@ -2061,7 +2060,7 @@ public abstract class MinecraftServer extends ReentrantBlockableEventLoop<TickTa
ServerPlayer entityplayer = (ServerPlayer) iterator.next();
if (!whitelist.isWhiteListed(entityplayer.getGameProfile()) && !this.getPlayerList().isOp(entityplayer.getGameProfile())) { // Paper - Fix kicking ops when whitelist is reloaded (MC-171420)
diff --git a/patches/server/0657-Add-basic-Datapack-API.patch b/patches/server/0657-Add-basic-Datapack-API.patch
index 37c756662f..50b1e96420 100644
--- a/patches/server/0657-Add-basic-Datapack-API.patch
+++ b/patches/server/0657-Add-basic-Datapack-API.patch
@@ -92,10 +92,10 @@ index 0000000000000000000000000000000000000000..cf4374493c11057451a62a655514415c
+ }
+}
diff --git a/src/main/java/org/bukkit/craftbukkit/CraftServer.java b/src/main/java/org/bukkit/craftbukkit/CraftServer.java
-index 86816736595c269e3a2e8a849d67a0836a3f1593..c8e8db3052c1f16da0bc0858955fcdec0491c9af 100644
+index 203ba9f883941cd4f421b2c53ee153ecc02cd16c..c1a28d8d52afcfd60223b59107ce92e1037f5ba6 100644
--- a/src/main/java/org/bukkit/craftbukkit/CraftServer.java
+++ b/src/main/java/org/bukkit/craftbukkit/CraftServer.java
-@@ -292,6 +292,7 @@ public final class CraftServer implements Server {
+@@ -290,6 +290,7 @@ public final class CraftServer implements Server {
public boolean ignoreVanillaPermissions = false;
private final List<CraftPlayer> playerView;
public int reloadCount;
@@ -103,7 +103,7 @@ index 86816736595c269e3a2e8a849d67a0836a3f1593..c8e8db3052c1f16da0bc0858955fcdec
public static Exception excessiveVelEx; // Paper - Velocity warnings
static {
-@@ -376,6 +377,7 @@ public final class CraftServer implements Server {
+@@ -374,6 +375,7 @@ public final class CraftServer implements Server {
TicketType.PLUGIN.timeout = Math.min(20, this.configuration.getInt("chunk-gc.period-in-ticks")); // Paper - cap plugin loads to 1 second
this.minimumAPI = this.configuration.getString("settings.minimum-api");
this.loadIcon();
@@ -111,7 +111,7 @@ index 86816736595c269e3a2e8a849d67a0836a3f1593..c8e8db3052c1f16da0bc0858955fcdec
}
public boolean getCommandBlockOverride(String command) {
-@@ -2689,5 +2691,11 @@ public final class CraftServer implements Server {
+@@ -2686,5 +2688,11 @@ public final class CraftServer implements Server {
public com.destroystokyo.paper.entity.ai.MobGoals getMobGoals() {
return mobGoals;
}
diff --git a/patches/server/0662-Fix-and-optimise-world-force-upgrading.patch b/patches/server/0662-Fix-and-optimise-world-force-upgrading.patch
index 94b3eb0a66..5e80e687bc 100644
--- a/patches/server/0662-Fix-and-optimise-world-force-upgrading.patch
+++ b/patches/server/0662-Fix-and-optimise-world-force-upgrading.patch
@@ -274,10 +274,10 @@ index f685ab3cc6e4fd76e8dec3d2d3627a13715cda44..36a1d58dd238c835ce3cc9c2376a86a0
Main.LOGGER.info("Forcing world upgrade! {}", session.getLevelId()); // CraftBukkit
WorldUpgrader worldupgrader = new WorldUpgrader(session, dataFixer, generatorOptions, eraseCache);
diff --git a/src/main/java/net/minecraft/server/MinecraftServer.java b/src/main/java/net/minecraft/server/MinecraftServer.java
-index 6a733008e0d94654dd9973a112e860b7af8b875c..c3e4c2634d11621000204b6deddd2dbe32202239 100644
+index 5de82c5d7da2ca6eeee4b804b916fa9d385cc25c..e03018882da878ddc51986733cfd6ea1c1815e9b 100644
--- a/src/main/java/net/minecraft/server/MinecraftServer.java
+++ b/src/main/java/net/minecraft/server/MinecraftServer.java
-@@ -556,11 +556,7 @@ public abstract class MinecraftServer extends ReentrantBlockableEventLoop<TickTa
+@@ -557,11 +557,7 @@ public abstract class MinecraftServer extends ReentrantBlockableEventLoop<TickTa
worlddata = new PrimaryLevelData(worldsettings, generatorsettings, Lifecycle.stable());
}
worlddata.checkName(name); // CraftBukkit - Migration did not rewrite the level.dat; This forces 1.8 to take the last loaded world as respawn (in this case the end)
@@ -290,7 +290,7 @@ index 6a733008e0d94654dd9973a112e860b7af8b875c..c3e4c2634d11621000204b6deddd2dbe
ServerLevelData iworlddataserver = worlddata;
WorldGenSettings generatorsettings = worlddata.worldGenSettings();
-@@ -592,6 +588,14 @@ public abstract class MinecraftServer extends ReentrantBlockableEventLoop<TickTa
+@@ -593,6 +589,14 @@ public abstract class MinecraftServer extends ReentrantBlockableEventLoop<TickTa
}
}
@@ -359,10 +359,10 @@ index 2ee32657a49937418b352a138aca21fbb27857e6..7b4f3c30cfc4bf68cc872598726f7f7e
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 c8e8db3052c1f16da0bc0858955fcdec0491c9af..5bd8115430ceb8924460fe05294d7c96303cb7e8 100644
+index c1a28d8d52afcfd60223b59107ce92e1037f5ba6..febad6c8687b33d13dcd55bfe6390eda6d605a45 100644
--- a/src/main/java/org/bukkit/craftbukkit/CraftServer.java
+++ b/src/main/java/org/bukkit/craftbukkit/CraftServer.java
-@@ -1200,12 +1200,7 @@ public final class CraftServer implements Server {
+@@ -1197,12 +1197,7 @@ public final class CraftServer implements Server {
}
worlddata.checkName(name);
worlddata.setModdedInfo(this.console.getServerModName(), this.console.getModdedStatus().shouldReportAsModified());
@@ -376,7 +376,7 @@ index c8e8db3052c1f16da0bc0858955fcdec0491c9af..5bd8115430ceb8924460fe05294d7c96
long j = BiomeManager.obfuscateSeed(creator.seed());
List<CustomSpawner> list = ImmutableList.of(new PhantomSpawner(), new PatrolSpawner(), new CatSpawner(), new VillageSiege(), new WanderingTraderSpawner(worlddata));
-@@ -1234,6 +1229,14 @@ public final class CraftServer implements Server {
+@@ -1231,6 +1226,14 @@ public final class CraftServer implements Server {
}
}
diff --git a/patches/server/0670-Add-PlayerKickEvent-causes.patch b/patches/server/0670-Add-PlayerKickEvent-causes.patch
index f5bd612f9e..6a8613e513 100644
--- a/patches/server/0670-Add-PlayerKickEvent-causes.patch
+++ b/patches/server/0670-Add-PlayerKickEvent-causes.patch
@@ -5,10 +5,10 @@ Subject: [PATCH] Add PlayerKickEvent causes
diff --git a/src/main/java/net/minecraft/server/MinecraftServer.java b/src/main/java/net/minecraft/server/MinecraftServer.java
-index c3e4c2634d11621000204b6deddd2dbe32202239..5af9607665cfa3283b781eb037fa3f7b0eaff46b 100644
+index e03018882da878ddc51986733cfd6ea1c1815e9b..088334869cb62797a1e1d1bbb6187f03189d852d 100644
--- a/src/main/java/net/minecraft/server/MinecraftServer.java
+++ b/src/main/java/net/minecraft/server/MinecraftServer.java
-@@ -2063,7 +2063,7 @@ public abstract class MinecraftServer extends ReentrantBlockableEventLoop<TickTa
+@@ -2064,7 +2064,7 @@ public abstract class MinecraftServer extends ReentrantBlockableEventLoop<TickTa
ServerPlayer entityplayer = (ServerPlayer) iterator.next();
if (!whitelist.isWhiteListed(entityplayer.getGameProfile()) && !this.getPlayerList().isOp(entityplayer.getGameProfile())) { // Paper - Fix kicking ops when whitelist is reloaded (MC-171420)
@@ -57,7 +57,7 @@ index 708ac03d5a849bf09c49547306e4a8c5a5ef8d91..5a8df368a4a25839cd4ac9be6972da2e
}
diff --git a/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java b/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java
-index 311df240858d4416306a795d893bdf7da403e90b..85e24920e774e84f9fa63a4fb088c07caf2833da 100644
+index ed2154c6987f6b94e1bcf6e1f91985a82d34fea0..6c52ee394ecfbc6f36032ebc9632650daa292fba 100644
--- a/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java
+++ b/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java
@@ -319,7 +319,7 @@ public class ServerGamePacketListenerImpl implements ServerPlayerConnection, Ser
diff --git a/patches/server/0701-Add-System.out-err-catcher.patch b/patches/server/0701-Add-System.out-err-catcher.patch
index ff3261501c..efb52379da 100644
--- a/patches/server/0701-Add-System.out-err-catcher.patch
+++ b/patches/server/0701-Add-System.out-err-catcher.patch
@@ -105,7 +105,7 @@ index 0000000000000000000000000000000000000000..76d0d00cd6742991e3f3ec827a75ee87
+ }
+}
diff --git a/src/main/java/org/bukkit/craftbukkit/CraftServer.java b/src/main/java/org/bukkit/craftbukkit/CraftServer.java
-index 5bd8115430ceb8924460fe05294d7c96303cb7e8..1d7d3dbf7f6857d9853112844b70692e92e9c89d 100644
+index febad6c8687b33d13dcd55bfe6390eda6d605a45..88166a778b30e7d3ff6a63e1162232b68a11f17f 100644
--- a/src/main/java/org/bukkit/craftbukkit/CraftServer.java
+++ b/src/main/java/org/bukkit/craftbukkit/CraftServer.java
@@ -18,6 +18,7 @@ import com.mojang.serialization.Lifecycle;
@@ -116,7 +116,7 @@ index 5bd8115430ceb8924460fe05294d7c96303cb7e8..1d7d3dbf7f6857d9853112844b70692e
import it.unimi.dsi.fastutil.objects.Object2ObjectLinkedOpenHashMap;
import java.awt.image.BufferedImage;
import java.io.File;
-@@ -294,6 +295,7 @@ public final class CraftServer implements Server {
+@@ -292,6 +293,7 @@ public final class CraftServer implements Server {
public int reloadCount;
private final io.papermc.paper.datapack.PaperDatapackManager datapackManager; // Paper
public static Exception excessiveVelEx; // Paper - Velocity warnings
diff --git a/patches/server/0755-Execute-chunk-tasks-mid-tick.patch b/patches/server/0755-Execute-chunk-tasks-mid-tick.patch
index ef13dfd332..0f2185edb1 100644
--- a/patches/server/0755-Execute-chunk-tasks-mid-tick.patch
+++ b/patches/server/0755-Execute-chunk-tasks-mid-tick.patch
@@ -19,10 +19,10 @@ index b27021a42cbed3f0648a8d0903d00d03922ae221..eada966d7f108a6081be7a848f5c1dfc
private MinecraftTimings() {}
diff --git a/src/main/java/net/minecraft/server/MinecraftServer.java b/src/main/java/net/minecraft/server/MinecraftServer.java
-index 5af9607665cfa3283b781eb037fa3f7b0eaff46b..72dd906395679cc52f1b5ba5b03c1fd7a86e51c1 100644
+index 088334869cb62797a1e1d1bbb6187f03189d852d..c245c1f4611f7273c8da629f774e0c64e9f98fc2 100644
--- a/src/main/java/net/minecraft/server/MinecraftServer.java
+++ b/src/main/java/net/minecraft/server/MinecraftServer.java
-@@ -331,6 +331,76 @@ public abstract class MinecraftServer extends ReentrantBlockableEventLoop<TickTa
+@@ -332,6 +332,76 @@ public abstract class MinecraftServer extends ReentrantBlockableEventLoop<TickTa
return s0;
}
@@ -99,7 +99,7 @@ index 5af9607665cfa3283b781eb037fa3f7b0eaff46b..72dd906395679cc52f1b5ba5b03c1fd7
public MinecraftServer(OptionSet options, DataPackConfig datapackconfiguration, Thread thread, RegistryAccess.RegistryHolder iregistrycustom_dimension, LevelStorageSource.LevelStorageAccess convertable_conversionsession, WorldData savedata, PackRepository resourcepackrepository, Proxy proxy, DataFixer datafixer, ServerResources datapackresources, @Nullable MinecraftSessionService minecraftsessionservice, @Nullable GameProfileRepository gameprofilerepository, @Nullable GameProfileCache usercache, ChunkProgressListenerFactory worldloadlistenerfactory) {
super("Server");
SERVER = this; // Paper - better singleton
-@@ -1311,6 +1381,7 @@ public abstract class MinecraftServer extends ReentrantBlockableEventLoop<TickTa
+@@ -1312,6 +1382,7 @@ public abstract class MinecraftServer extends ReentrantBlockableEventLoop<TickTa
private boolean pollTaskInternal() {
if (super.pollTask()) {
diff --git a/patches/server/0766-Use-correct-LevelStem-registry-when-loading-default-.patch b/patches/server/0766-Use-correct-LevelStem-registry-when-loading-default-.patch
index c769a8f3bb..7cd2d9c9f6 100644
--- a/patches/server/0766-Use-correct-LevelStem-registry-when-loading-default-.patch
+++ b/patches/server/0766-Use-correct-LevelStem-registry-when-loading-default-.patch
@@ -6,10 +6,10 @@ Subject: [PATCH] Use correct LevelStem registry when loading default
diff --git a/src/main/java/net/minecraft/server/MinecraftServer.java b/src/main/java/net/minecraft/server/MinecraftServer.java
-index 72dd906395679cc52f1b5ba5b03c1fd7a86e51c1..893badbe321fa974cb82f5f11ab590bb3827f8b8 100644
+index c245c1f4611f7273c8da629f774e0c64e9f98fc2..481a5dbad82f3f8dd5b1bf8ab207d82ec73d5bbd 100644
--- a/src/main/java/net/minecraft/server/MinecraftServer.java
+++ b/src/main/java/net/minecraft/server/MinecraftServer.java
-@@ -634,7 +634,14 @@ public abstract class MinecraftServer extends ReentrantBlockableEventLoop<TickTa
+@@ -635,7 +635,14 @@ public abstract class MinecraftServer extends ReentrantBlockableEventLoop<TickTa
long i = generatorsettings.seed();
long j = BiomeManager.obfuscateSeed(i);
List<CustomSpawner> list = ImmutableList.of(new PhantomSpawner(), new PatrolSpawner(), new CatSpawner(), new VillageSiege(), new WanderingTraderSpawner(iworlddataserver));
diff --git a/patches/server/0816-Fix-removing-recipes.patch b/patches/server/0816-Fix-removing-recipes.patch
index e2a279a4be..d7712c6588 100644
--- a/patches/server/0816-Fix-removing-recipes.patch
+++ b/patches/server/0816-Fix-removing-recipes.patch
@@ -5,10 +5,10 @@ Subject: [PATCH] Fix removing recipes
diff --git a/src/main/java/org/bukkit/craftbukkit/CraftServer.java b/src/main/java/org/bukkit/craftbukkit/CraftServer.java
-index 1d7d3dbf7f6857d9853112844b70692e92e9c89d..d938dc26886aa8a64c11db5e49fe5639bc27e1fb 100644
+index 88166a778b30e7d3ff6a63e1162232b68a11f17f..02e25451737841001363f4697fd05b1e2c6240cd 100644
--- a/src/main/java/org/bukkit/craftbukkit/CraftServer.java
+++ b/src/main/java/org/bukkit/craftbukkit/CraftServer.java
-@@ -1534,6 +1534,7 @@ public final class CraftServer implements Server {
+@@ -1531,6 +1531,7 @@ public final class CraftServer implements Server {
ResourceLocation mcKey = CraftNamespacedKey.toMinecraft(recipeKey);
for (Object2ObjectLinkedOpenHashMap<ResourceLocation, net.minecraft.world.item.crafting.Recipe<?>> recipes : this.getServer().getRecipeManager().recipes.values()) {
if (recipes.remove(mcKey) != null) {