diff --git a/patches/server/0128-Add-option-to-make-parrots-stay-on-shoulders-despite.patch b/patches/server/0128-Add-option-to-make-parrots-stay-on-shoulders-despite.patch index f6e6df4935..4341ca031a 100644 --- a/patches/server/0128-Add-option-to-make-parrots-stay-on-shoulders-despite.patch +++ b/patches/server/0128-Add-option-to-make-parrots-stay-on-shoulders-despite.patch @@ -14,20 +14,18 @@ To be converted into a Paper-API event at some point in the future? public net.minecraft.world.entity.player.Player removeEntitiesOnShoulder()V diff --git a/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java b/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java -index 8a8f073a29daf7cb36e5fd0e4d4e5932636bb04f..c459d32e85aaea647e3dc5239e1c4e106a69ad46 100644 +index 8a8f073a29daf7cb36e5fd0e4d4e5932636bb04f..cb49090cacca331a0f3eb419de86f4562621bcae 100644 --- a/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java +++ b/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java -@@ -2342,6 +2342,13 @@ public class ServerGamePacketListenerImpl extends ServerCommonPacketListenerImpl +@@ -2342,6 +2342,11 @@ public class ServerGamePacketListenerImpl extends ServerCommonPacketListenerImpl switch (packet.getAction()) { case PRESS_SHIFT_KEY: this.player.setShiftKeyDown(true); -+ -+ // Paper start - Add option to make parrots stay -+ if (this.player.level().paperConfig().entities.behavior.parrotsAreUnaffectedByPlayerMovement) { -+ this.player.removeEntitiesOnShoulder(); -+ } -+ // Paper end - Add option to make parrots stay -+ ++ // Paper start - Add option to make parrots stay ++ if (this.player.level().paperConfig().entities.behavior.parrotsAreUnaffectedByPlayerMovement) { ++ this.player.removeEntitiesOnShoulder(); ++ } ++ // Paper end - Add option to make parrots stay break; case RELEASE_SHIFT_KEY: this.player.setShiftKeyDown(false); diff --git a/patches/server/0150-Add-PlayerJumpEvent.patch b/patches/server/0150-Add-PlayerJumpEvent.patch index 5d7e98b9d6..c3a6510729 100644 --- a/patches/server/0150-Add-PlayerJumpEvent.patch +++ b/patches/server/0150-Add-PlayerJumpEvent.patch @@ -5,7 +5,7 @@ Subject: [PATCH] Add PlayerJumpEvent diff --git a/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java b/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java -index c459d32e85aaea647e3dc5239e1c4e106a69ad46..85b81b06e834e1575588a2a7e840a8bcc65c3306 100644 +index cb49090cacca331a0f3eb419de86f4562621bcae..8beb2773ba6ca8c37f1d7c63c98cfcb26d0d3b3f 100644 --- a/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java +++ b/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java @@ -1270,7 +1270,34 @@ public class ServerGamePacketListenerImpl extends ServerCommonPacketListenerImpl diff --git a/patches/server/0160-AsyncTabCompleteEvent.patch b/patches/server/0160-AsyncTabCompleteEvent.patch index a10bfdb711..80e25173b8 100644 --- a/patches/server/0160-AsyncTabCompleteEvent.patch +++ b/patches/server/0160-AsyncTabCompleteEvent.patch @@ -16,7 +16,7 @@ Also adds isCommand and getLocation to the sync TabCompleteEvent Co-authored-by: Aikar diff --git a/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java b/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java -index 85b81b06e834e1575588a2a7e840a8bcc65c3306..f2b6162562a2f35c8f610c9386172984ae30bf17 100644 +index 8beb2773ba6ca8c37f1d7c63c98cfcb26d0d3b3f..cbdf69371a65339294b3ffd3514bb0bf8c03ff36 100644 --- a/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java +++ b/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java @@ -720,21 +720,58 @@ public class ServerGamePacketListenerImpl extends ServerCommonPacketListenerImpl diff --git a/patches/server/0185-Expand-World.spawnParticle-API-and-add-Builder.patch b/patches/server/0185-Expand-World.spawnParticle-API-and-add-Builder.patch index eacc37f6ea..0baeb8eaad 100644 --- a/patches/server/0185-Expand-World.spawnParticle-API-and-add-Builder.patch +++ b/patches/server/0185-Expand-World.spawnParticle-API-and-add-Builder.patch @@ -10,7 +10,7 @@ Adds an option to control the force mode of the particle. This adds a new Builder API which is much friendlier to use. diff --git a/src/main/java/net/minecraft/server/level/ServerLevel.java b/src/main/java/net/minecraft/server/level/ServerLevel.java -index 9cb02b168384f597fce1251696e77a1e74f0d774..e80dc81423538e7e8a5510e5d82e97ab2097c225 100644 +index 9cb02b168384f597fce1251696e77a1e74f0d774..95c3b8524faac2218a4966965d4a8e322c0bdcd7 100644 --- a/src/main/java/net/minecraft/server/level/ServerLevel.java +++ b/src/main/java/net/minecraft/server/level/ServerLevel.java @@ -1542,12 +1542,17 @@ public class ServerLevel extends Level implements ServerEntityGetter, WorldGenLe @@ -20,7 +20,7 @@ index 9cb02b168384f597fce1251696e77a1e74f0d774..e80dc81423538e7e8a5510e5d82e97ab + // Paper start - Particle API + return this.sendParticlesSource(this.players, sender, t0, flag, flag1, d0, d1, d2, i, d3, d4, d5, d6); + } -+ public int sendParticlesSource(List receivers, ServerPlayer sender, T t0, boolean flag, boolean flag1, double d0, double d1, double d2, int i, double d3, double d4, double d5, double d6) { ++ public int sendParticlesSource(List receivers, @Nullable ServerPlayer sender, T t0, boolean flag, boolean flag1, double d0, double d1, double d2, int i, double d3, double d4, double d5, double d6) { + // Paper end - Particle API // CraftBukkit end ClientboundLevelParticlesPacket packetplayoutworldparticles = new ClientboundLevelParticlesPacket(t0, flag, flag1, d0, d1, d2, (float) d3, (float) d4, (float) d5, (float) d6, i); diff --git a/patches/server/0201-Expand-Explosions-API.patch b/patches/server/0201-Expand-Explosions-API.patch index b10058e3c2..52b7ff6bf0 100644 --- a/patches/server/0201-Expand-Explosions-API.patch +++ b/patches/server/0201-Expand-Explosions-API.patch @@ -9,7 +9,7 @@ Co-authored-by: Esoteric Enderman <90862990+EsotericEnderman@users.noreply.githu Co-authored-by: Bjarne Koll diff --git a/src/main/java/net/minecraft/server/level/ServerLevel.java b/src/main/java/net/minecraft/server/level/ServerLevel.java -index e80dc81423538e7e8a5510e5d82e97ab2097c225..74f7467caf7d86011f0b8aea7a8c1f5c644f690a 100644 +index 95c3b8524faac2218a4966965d4a8e322c0bdcd7..1c15dc6143ce00aa4a8cdc6468d9fba0e398ec43 100644 --- a/src/main/java/net/minecraft/server/level/ServerLevel.java +++ b/src/main/java/net/minecraft/server/level/ServerLevel.java @@ -1425,6 +1425,11 @@ public class ServerLevel extends Level implements ServerEntityGetter, WorldGenLe diff --git a/patches/server/0206-InventoryCloseEvent-Reason-API.patch b/patches/server/0206-InventoryCloseEvent-Reason-API.patch index 39b8f269e4..a7895495df 100644 --- a/patches/server/0206-InventoryCloseEvent-Reason-API.patch +++ b/patches/server/0206-InventoryCloseEvent-Reason-API.patch @@ -7,7 +7,7 @@ Allows you to determine why an inventory was closed, enabling plugin developers to "confirm" things based on if it was player triggered close or not. diff --git a/src/main/java/net/minecraft/server/level/ServerLevel.java b/src/main/java/net/minecraft/server/level/ServerLevel.java -index 74f7467caf7d86011f0b8aea7a8c1f5c644f690a..99db41834d7e8fb8fbbe83bd70a4b8d7c016c3e2 100644 +index 1c15dc6143ce00aa4a8cdc6468d9fba0e398ec43..2ed077ba041f9d1a629320cd41b87ba19f3803d0 100644 --- a/src/main/java/net/minecraft/server/level/ServerLevel.java +++ b/src/main/java/net/minecraft/server/level/ServerLevel.java @@ -1210,7 +1210,7 @@ public class ServerLevel extends Level implements ServerEntityGetter, WorldGenLe @@ -75,10 +75,10 @@ index 1ebd8d20e510b7af2cdf461fff9eb949a0017ae6..0a5aeb9b50dfec3b791040348f6a9e92 this.doCloseContainer(); } diff --git a/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java b/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java -index f2b6162562a2f35c8f610c9386172984ae30bf17..b4edc64f3eacdbfb6187106989d190303b0541ac 100644 +index cbdf69371a65339294b3ffd3514bb0bf8c03ff36..405dec328cf591f533600ed9e2aa7360a4a8e96d 100644 --- a/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java +++ b/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java -@@ -2714,10 +2714,15 @@ public class ServerGamePacketListenerImpl extends ServerCommonPacketListenerImpl +@@ -2712,10 +2712,15 @@ public class ServerGamePacketListenerImpl extends ServerCommonPacketListenerImpl @Override public void handleContainerClose(ServerboundContainerClosePacket packet) { diff --git a/patches/server/0220-Break-up-and-make-tab-spam-limits-configurable.patch b/patches/server/0220-Break-up-and-make-tab-spam-limits-configurable.patch index 300f431158..f0179371ee 100644 --- a/patches/server/0220-Break-up-and-make-tab-spam-limits-configurable.patch +++ b/patches/server/0220-Break-up-and-make-tab-spam-limits-configurable.patch @@ -22,7 +22,7 @@ to take the burden of this into their own hand without having to rely on plugins doing unsafe things. diff --git a/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java b/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java -index b4edc64f3eacdbfb6187106989d190303b0541ac..0e1abdd619f26dbc334061f5f13ba126ee3006b5 100644 +index 405dec328cf591f533600ed9e2aa7360a4a8e96d..5f3d7ea96d690b68897d9092c624c77e49822af4 100644 --- a/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java +++ b/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java @@ -276,6 +276,7 @@ public class ServerGamePacketListenerImpl extends ServerCommonPacketListenerImpl diff --git a/patches/server/0223-Add-Debug-Entities-option-to-debug-dupe-uuid-issues.patch b/patches/server/0223-Add-Debug-Entities-option-to-debug-dupe-uuid-issues.patch index 9074301896..1abf86051d 100644 --- a/patches/server/0223-Add-Debug-Entities-option-to-debug-dupe-uuid-issues.patch +++ b/patches/server/0223-Add-Debug-Entities-option-to-debug-dupe-uuid-issues.patch @@ -5,7 +5,7 @@ Subject: [PATCH] Add Debug Entities option to debug dupe uuid issues diff --git a/src/main/java/net/minecraft/server/level/ServerLevel.java b/src/main/java/net/minecraft/server/level/ServerLevel.java -index 99db41834d7e8fb8fbbe83bd70a4b8d7c016c3e2..967357ec91036a03407eb7e410f717112fe96b16 100644 +index 2ed077ba041f9d1a629320cd41b87ba19f3803d0..52e2137f759e52d210abda7b47c1fd4b5f831d1f 100644 --- a/src/main/java/net/minecraft/server/level/ServerLevel.java +++ b/src/main/java/net/minecraft/server/level/ServerLevel.java @@ -1172,6 +1172,12 @@ public class ServerLevel extends Level implements ServerEntityGetter, WorldGenLe diff --git a/patches/server/0256-Add-option-to-prevent-players-from-moving-into-unloa.patch b/patches/server/0256-Add-option-to-prevent-players-from-moving-into-unloa.patch index 84c4327a00..7ad3e12b37 100644 --- a/patches/server/0256-Add-option-to-prevent-players-from-moving-into-unloa.patch +++ b/patches/server/0256-Add-option-to-prevent-players-from-moving-into-unloa.patch @@ -6,7 +6,7 @@ Subject: [PATCH] Add option to prevent players from moving into unloaded diff --git a/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java b/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java -index 0e1abdd619f26dbc334061f5f13ba126ee3006b5..8aacca1e3b310125a618de02b9277aedc949268f 100644 +index 5f3d7ea96d690b68897d9092c624c77e49822af4..a87ea0f22b44c2fb67fd51bc8c9b0067aacac7de 100644 --- a/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java +++ b/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java @@ -500,9 +500,9 @@ public class ServerGamePacketListenerImpl extends ServerCommonPacketListenerImpl diff --git a/patches/unapplied/server/0257-Reset-players-airTicks-on-respawn.patch b/patches/server/0257-Reset-players-airTicks-on-respawn.patch similarity index 84% rename from patches/unapplied/server/0257-Reset-players-airTicks-on-respawn.patch rename to patches/server/0257-Reset-players-airTicks-on-respawn.patch index 1755009e76..f5b4175d65 100644 --- a/patches/unapplied/server/0257-Reset-players-airTicks-on-respawn.patch +++ b/patches/server/0257-Reset-players-airTicks-on-respawn.patch @@ -5,10 +5,10 @@ Subject: [PATCH] Reset players airTicks on respawn diff --git a/src/main/java/net/minecraft/server/level/ServerPlayer.java b/src/main/java/net/minecraft/server/level/ServerPlayer.java -index 419476f7ee7c55552655ef0098da0ddbc2434361..90587b5acee5c2d854604b53ef83c5f7d8c87a08 100644 +index e73377782c388c9f750f0548f3c427bc52246fbc..d54213bab1099bb96c8175f0c03a1b034cc41ce2 100644 --- a/src/main/java/net/minecraft/server/level/ServerPlayer.java +++ b/src/main/java/net/minecraft/server/level/ServerPlayer.java -@@ -3052,6 +3052,7 @@ public class ServerPlayer extends net.minecraft.world.entity.player.Player { +@@ -3032,6 +3032,7 @@ public class ServerPlayer extends net.minecraft.world.entity.player.Player { this.setHealth(this.getMaxHealth()); this.stopUsingItem(); // CraftBukkit - SPIGOT-6682: Clear active item on reset diff --git a/patches/unapplied/server/0258-Don-t-sleep-after-profile-lookups-if-not-needed.patch b/patches/server/0258-Don-t-sleep-after-profile-lookups-if-not-needed.patch similarity index 100% rename from patches/unapplied/server/0258-Don-t-sleep-after-profile-lookups-if-not-needed.patch rename to patches/server/0258-Don-t-sleep-after-profile-lookups-if-not-needed.patch diff --git a/patches/unapplied/server/0259-Improve-Server-Thread-Pool-and-Thread-Priorities.patch b/patches/server/0259-Improve-Server-Thread-Pool-and-Thread-Priorities.patch similarity index 75% rename from patches/unapplied/server/0259-Improve-Server-Thread-Pool-and-Thread-Priorities.patch rename to patches/server/0259-Improve-Server-Thread-Pool-and-Thread-Priorities.patch index 5096a0a4a5..006c49494d 100644 --- a/patches/unapplied/server/0259-Improve-Server-Thread-Pool-and-Thread-Priorities.patch +++ b/patches/server/0259-Improve-Server-Thread-Pool-and-Thread-Priorities.patch @@ -38,7 +38,7 @@ index 0000000000000000000000000000000000000000..b60f59cf5cc8eb84a6055b7861857dec + } +} diff --git a/src/main/java/net/minecraft/Util.java b/src/main/java/net/minecraft/Util.java -index 8cac2075077b1d9c2b01e09c99780ff9e204abb2..dbf79a018260a006bf5d16608b35bcbea9adb963 100644 +index 3d5bca1b637234df48ca3228c7ffbce21116a0c7..e78f40f7f10a2ed0675b3cb9a2c5730dbc0141db 100644 --- a/src/main/java/net/minecraft/Util.java +++ b/src/main/java/net/minecraft/Util.java @@ -92,7 +92,7 @@ public class Util { @@ -50,41 +50,29 @@ index 8cac2075077b1d9c2b01e09c99780ff9e204abb2..dbf79a018260a006bf5d16608b35bcbe private static final TracingExecutor IO_POOL = makeIoExecutor("IO-Worker-", false); private static final TracingExecutor DOWNLOAD_POOL = makeIoExecutor("Download-", true); // Paper start - don't submit BLOCKING PROFILE LOOKUPS to the world gen thread -@@ -163,15 +163,28 @@ public class Util { +@@ -163,15 +163,16 @@ public class Util { return FILENAME_DATE_TIME_FORMATTER.format(ZonedDateTime.now()); } - private static TracingExecutor makeExecutor(String name) { -- int i = Mth.clamp(Runtime.getRuntime().availableProcessors() - 1, 1, getMaxThreads()); -+ private static TracingExecutor makeExecutor(String s, final int priorityModifier) { // Paper - Perf: add priority ++ private static TracingExecutor makeExecutor(String name, final int priorityModifier) { // Paper - Perf: add priority + int i = maxAllowedExecutorThreads(); +- ExecutorService executorService; + // Paper start - Perf: use simpler thread pool that allows 1 thread and reduce worldgen thread worker count for low core count CPUs -+ int cpus = Runtime.getRuntime().availableProcessors() / 2; -+ int i; -+ if (cpus <= 4) { -+ i = cpus <= 2 ? 1 : 2; -+ } else if (cpus <= 8) { -+ // [5, 8] -+ i = Math.max(3, cpus - 2); -+ } else { -+ i = cpus * 2 / 3; -+ } -+ i = Math.min(8, i); -+ i = Integer.getInteger("Paper.WorkerThreadCount", i); -+ - ExecutorService executorService; ++ final ExecutorService executorService; if (i <= 0) { executorService = MoreExecutors.newDirectExecutorService(); } else { - AtomicInteger atomicInteger = new AtomicInteger(1); - executorService = new ForkJoinPool(i, pool -> { - final String string2 = "Worker-" + name + "-" + atomicInteger.getAndIncrement(); -+ executorService = Executors.newFixedThreadPool(i, target -> new io.papermc.paper.util.ServerWorkerThread(target, s, priorityModifier)); ++ executorService = Executors.newFixedThreadPool(i, target -> new io.papermc.paper.util.ServerWorkerThread(target, name, priorityModifier)); + } + /* final String string2 = "Worker-" + name + "-" + atomicInteger.getAndIncrement(); ForkJoinWorkerThread forkJoinWorkerThread = new ForkJoinWorkerThread(pool) { @Override protected void onStart() { -@@ -193,7 +206,7 @@ public class Util { +@@ -193,13 +194,26 @@ public class Util { forkJoinWorkerThread.setName(string2); return forkJoinWorkerThread; }, Util::onThreadException, true); @@ -93,8 +81,28 @@ index 8cac2075077b1d9c2b01e09c99780ff9e204abb2..dbf79a018260a006bf5d16608b35bcbe return new TracingExecutor(executorService); } + + public static int maxAllowedExecutorThreads() { +- return Mth.clamp(Runtime.getRuntime().availableProcessors() - 1, 1, getMaxThreads()); ++ // Paper start - Perf: use simpler thread pool that allows 1 thread and reduce worldgen thread worker count for low core count CPUs ++ final int cpus = Runtime.getRuntime().availableProcessors() / 2; ++ int maxExecutorThreads; ++ if (cpus <= 4) { ++ maxExecutorThreads = cpus <= 2 ? 1 : 2; ++ } else if (cpus <= 8) { ++ // [5, 8] ++ maxExecutorThreads = Math.max(3, cpus - 2); ++ } else { ++ maxExecutorThreads = cpus * 2 / 3; ++ } ++ maxExecutorThreads = Math.min(8, maxExecutorThreads); ++ return Integer.getInteger("Paper.WorkerThreadCount", maxExecutorThreads); ++ // Paper end - Perf: use simpler thread pool that allows 1 thread and reduce worldgen thread worker count for low core count CPUs + } + + private static int getMaxThreads() { diff --git a/src/main/java/net/minecraft/server/MinecraftServer.java b/src/main/java/net/minecraft/server/MinecraftServer.java -index af20a16e18673a629fc3033d8e7e07eba855b1c7..2a4f8075867a302afd98bdf9ac8b11622c29082d 100644 +index 65dee566937104e301b917d037f2db456751801c..848f0faa50a5c4d6fbfe5fe1e168d1946fd9c28c 100644 --- a/src/main/java/net/minecraft/server/MinecraftServer.java +++ b/src/main/java/net/minecraft/server/MinecraftServer.java @@ -332,6 +332,7 @@ public abstract class MinecraftServer extends ReentrantBlockableEventLoop> 4, blockposition.getZ() >> 4) == null) { + this.player.connection.ackBlockChangesUpTo(packet.getSequence()); + return; + } + // Paper end - Don't allow digging into unloaded chunks - this.player.gameMode.handleBlockBreakAction(blockposition, packetplayinblockdig_enumplayerdigtype, packet.getDirection(), this.player.level().getMaxY(), packet.getSequence()); - this.player.connection.ackBlockChangesUpTo(packet.getSequence()); - return; + this.player.gameMode.handleBlockBreakAction(blockposition, packetplayinblockdig_enumplayerdigtype, packet.getDirection(), this.player.level().getMaxY(), packet.getSequence()); + this.player.connection.ackBlockChangesUpTo(packet.getSequence()); + return; diff --git a/patches/unapplied/server/0264-Make-the-default-permission-message-configurable.patch b/patches/server/0264-Make-the-default-permission-message-configurable.patch similarity index 100% rename from patches/unapplied/server/0264-Make-the-default-permission-message-configurable.patch rename to patches/server/0264-Make-the-default-permission-message-configurable.patch diff --git a/patches/unapplied/server/0265-force-entity-dismount-during-teleportation.patch b/patches/server/0265-force-entity-dismount-during-teleportation.patch similarity index 89% rename from patches/unapplied/server/0265-force-entity-dismount-during-teleportation.patch rename to patches/server/0265-force-entity-dismount-during-teleportation.patch index 3cd8ed1fac..50b9d2ccc6 100644 --- a/patches/unapplied/server/0265-force-entity-dismount-during-teleportation.patch +++ b/patches/server/0265-force-entity-dismount-during-teleportation.patch @@ -20,10 +20,10 @@ this is going to be the best soultion all around. Improvements/suggestions welcome! diff --git a/src/main/java/net/minecraft/server/level/ServerPlayer.java b/src/main/java/net/minecraft/server/level/ServerPlayer.java -index 90587b5acee5c2d854604b53ef83c5f7d8c87a08..a2342c9cfa8db2c012a77cc95378e3adb2a98287 100644 +index d54213bab1099bb96c8175f0c03a1b034cc41ce2..2db5ef211ac36d5aa7f337dd4a5c2600796d8b66 100644 --- a/src/main/java/net/minecraft/server/level/ServerPlayer.java +++ b/src/main/java/net/minecraft/server/level/ServerPlayer.java -@@ -2826,9 +2826,15 @@ public class ServerPlayer extends net.minecraft.world.entity.player.Player { +@@ -2806,9 +2806,15 @@ public class ServerPlayer extends net.minecraft.world.entity.player.Player { @Override public void stopRiding() { @@ -41,10 +41,10 @@ index 90587b5acee5c2d854604b53ef83c5f7d8c87a08..a2342c9cfa8db2c012a77cc95378e3ad Iterator iterator = entityliving.getActiveEffects().iterator(); diff --git a/src/main/java/net/minecraft/world/entity/Entity.java b/src/main/java/net/minecraft/world/entity/Entity.java -index e67d8da5be50e07cb0473b7bfe6d381da044155a..a430a3e2c3b4ae53cad1fbaf4dd71b9e2f24ccf7 100644 +index 87ab16a82b4ba58fd469eb845d79e9ad98cf45bc..3cc210dc92f74c37f4de6eaf31ff3ec7aa11248a 100644 --- a/src/main/java/net/minecraft/world/entity/Entity.java +++ b/src/main/java/net/minecraft/world/entity/Entity.java -@@ -2822,17 +2822,28 @@ public abstract class Entity implements SyncedDataHolder, Nameable, EntityAccess +@@ -2852,17 +2852,28 @@ public abstract class Entity implements SyncedDataHolder, Nameable, EntityAccess } public void removeVehicle() { @@ -75,7 +75,7 @@ index e67d8da5be50e07cb0473b7bfe6d381da044155a..a430a3e2c3b4ae53cad1fbaf4dd71b9e } protected void addPassenger(Entity passenger) { -@@ -2857,7 +2868,10 @@ public abstract class Entity implements SyncedDataHolder, Nameable, EntityAccess +@@ -2887,7 +2898,10 @@ public abstract class Entity implements SyncedDataHolder, Nameable, EntityAccess } } @@ -87,7 +87,7 @@ index e67d8da5be50e07cb0473b7bfe6d381da044155a..a430a3e2c3b4ae53cad1fbaf4dd71b9e if (entity.getVehicle() == this) { throw new IllegalStateException("Use x.stopRiding(y), not y.removePassenger(x)"); } else { -@@ -2867,7 +2881,7 @@ public abstract class Entity implements SyncedDataHolder, Nameable, EntityAccess +@@ -2897,7 +2911,7 @@ public abstract class Entity implements SyncedDataHolder, Nameable, EntityAccess if (this.getBukkitEntity() instanceof Vehicle && entity.getBukkitEntity() instanceof LivingEntity) { VehicleExitEvent event = new VehicleExitEvent( (Vehicle) this.getBukkitEntity(), @@ -96,7 +96,7 @@ index e67d8da5be50e07cb0473b7bfe6d381da044155a..a430a3e2c3b4ae53cad1fbaf4dd71b9e ); // Suppress during worldgen if (this.valid) { -@@ -2880,7 +2894,7 @@ public abstract class Entity implements SyncedDataHolder, Nameable, EntityAccess +@@ -2910,7 +2924,7 @@ public abstract class Entity implements SyncedDataHolder, Nameable, EntityAccess } } @@ -106,10 +106,10 @@ index e67d8da5be50e07cb0473b7bfe6d381da044155a..a430a3e2c3b4ae53cad1fbaf4dd71b9e if (this.valid) { Bukkit.getPluginManager().callEvent(event); diff --git a/src/main/java/net/minecraft/world/entity/LivingEntity.java b/src/main/java/net/minecraft/world/entity/LivingEntity.java -index 7ba5e60eae4fc230c86956ed8ee895c9e1585d42..901336aac08f4c49328316aeccb7c48a591ed6b0 100644 +index df7dce2bff49023d22622c90795428222dc489ce..782c187d2b4f706463a1e643f1976512104797a6 100644 --- a/src/main/java/net/minecraft/world/entity/LivingEntity.java +++ b/src/main/java/net/minecraft/world/entity/LivingEntity.java -@@ -3757,9 +3757,15 @@ public abstract class LivingEntity extends Entity implements Attackable { +@@ -3768,9 +3768,15 @@ public abstract class LivingEntity extends Entity implements Attackable { @Override public void stopRiding() { @@ -127,7 +127,7 @@ index 7ba5e60eae4fc230c86956ed8ee895c9e1585d42..901336aac08f4c49328316aeccb7c48a this.dismountVehicle(entity); } diff --git a/src/main/java/net/minecraft/world/entity/monster/Shulker.java b/src/main/java/net/minecraft/world/entity/monster/Shulker.java -index 04e973430bf5706d5264423c24d73b903bc3f0aa..dc1870baf172982ebb34eccd4ee79497f48f8050 100644 +index b2149a977f30524bd526eafa248b2ca369ae4648..74fa6d2b569b42ac2dbb7efb10df658b9ffeecc4 100644 --- a/src/main/java/net/minecraft/world/entity/monster/Shulker.java +++ b/src/main/java/net/minecraft/world/entity/monster/Shulker.java @@ -289,7 +289,13 @@ public class Shulker extends AbstractGolem implements VariantHolder> { diff --git a/patches/unapplied/server/0269-Replace-OfflinePlayer-getLastPlayed.patch b/patches/server/0269-Replace-OfflinePlayer-getLastPlayed.patch similarity index 96% rename from patches/unapplied/server/0269-Replace-OfflinePlayer-getLastPlayed.patch rename to patches/server/0269-Replace-OfflinePlayer-getLastPlayed.patch index 37ad223e8b..6cc9f04ae6 100644 --- a/patches/unapplied/server/0269-Replace-OfflinePlayer-getLastPlayed.patch +++ b/patches/server/0269-Replace-OfflinePlayer-getLastPlayed.patch @@ -16,10 +16,10 @@ intent to remove) and replace it with two new methods, clearly named and documented as to their purpose. diff --git a/src/main/java/net/minecraft/server/level/ServerPlayer.java b/src/main/java/net/minecraft/server/level/ServerPlayer.java -index a2342c9cfa8db2c012a77cc95378e3adb2a98287..9d6910c6a685d1c8f6804cfe086c958a0fcb0526 100644 +index 2db5ef211ac36d5aa7f337dd4a5c2600796d8b66..ae922d01caae4b2ed42641ae5039abe33603fa29 100644 --- a/src/main/java/net/minecraft/server/level/ServerPlayer.java +++ b/src/main/java/net/minecraft/server/level/ServerPlayer.java -@@ -296,6 +296,7 @@ public class ServerPlayer extends net.minecraft.world.entity.player.Player { +@@ -294,6 +294,7 @@ public class ServerPlayer extends net.minecraft.world.entity.player.Player { private int containerCounter; public boolean wonGame; private int containerUpdateDelay; // Paper - Configurable container update tick rate @@ -106,7 +106,7 @@ index f6b2ca92fd3510a76cbf56d0ea55aa6caaf12ba1..e0d342a0ddd140b342f7af138c71596c public Location getLastDeathLocation() { if (this.getData().contains("LastDeathLocation", 10)) { diff --git a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java -index 054892e472636d1a5c7f06c46ee28ebe4736f24d..5cdd18e071f069adc8137561c164bd533dea7c7c 100644 +index 63cc339b42c47879401628c8d0e0f62bd7dd76b4..d5f89783d12c61967637ed1e87037710df563308 100644 --- a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java +++ b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java @@ -215,6 +215,7 @@ public class CraftPlayer extends CraftHumanEntity implements Player { diff --git a/patches/unapplied/server/0270-Workaround-for-vehicle-tracking-issue-on-disconnect.patch b/patches/server/0270-Workaround-for-vehicle-tracking-issue-on-disconnect.patch similarity index 86% rename from patches/unapplied/server/0270-Workaround-for-vehicle-tracking-issue-on-disconnect.patch rename to patches/server/0270-Workaround-for-vehicle-tracking-issue-on-disconnect.patch index 809a66aefa..ff52e9af11 100644 --- a/patches/unapplied/server/0270-Workaround-for-vehicle-tracking-issue-on-disconnect.patch +++ b/patches/server/0270-Workaround-for-vehicle-tracking-issue-on-disconnect.patch @@ -5,10 +5,10 @@ Subject: [PATCH] Workaround for vehicle tracking issue on disconnect diff --git a/src/main/java/net/minecraft/server/level/ServerPlayer.java b/src/main/java/net/minecraft/server/level/ServerPlayer.java -index 9d6910c6a685d1c8f6804cfe086c958a0fcb0526..3fbdc6394c1f431d1bf8ee13513a69b96f69bdd9 100644 +index ae922d01caae4b2ed42641ae5039abe33603fa29..71352f1b86c594ea2edf5d1735410054d909291a 100644 --- a/src/main/java/net/minecraft/server/level/ServerPlayer.java +++ b/src/main/java/net/minecraft/server/level/ServerPlayer.java -@@ -2078,6 +2078,13 @@ public class ServerPlayer extends net.minecraft.world.entity.player.Player { +@@ -2061,6 +2061,13 @@ public class ServerPlayer extends net.minecraft.world.entity.player.Player { public void disconnect() { this.disconnected = true; this.ejectPassengers(); diff --git a/patches/unapplied/server/0271-Dont-block-Player-remove-if-the-handle-is-a-custom-p.patch b/patches/server/0271-Dont-block-Player-remove-if-the-handle-is-a-custom-p.patch similarity index 92% rename from patches/unapplied/server/0271-Dont-block-Player-remove-if-the-handle-is-a-custom-p.patch rename to patches/server/0271-Dont-block-Player-remove-if-the-handle-is-a-custom-p.patch index 9a7359c010..0c4a2ca7f9 100644 --- a/patches/unapplied/server/0271-Dont-block-Player-remove-if-the-handle-is-a-custom-p.patch +++ b/patches/server/0271-Dont-block-Player-remove-if-the-handle-is-a-custom-p.patch @@ -8,7 +8,7 @@ We just add a check to ensure that the CraftPlayer's handle is a ServerPlayer diff --git a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java -index 5cdd18e071f069adc8137561c164bd533dea7c7c..7c7f66ea38babab7b04e76d14e19cc0dac9c4b54 100644 +index d5f89783d12c61967637ed1e87037710df563308..e548834f2bd6e1e0a510a14040cc6aca63e2e6f5 100644 --- a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java +++ b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java @@ -229,8 +229,12 @@ public class CraftPlayer extends CraftHumanEntity implements Player { diff --git a/patches/unapplied/server/0272-BlockDestroyEvent.patch b/patches/server/0272-BlockDestroyEvent.patch similarity index 92% rename from patches/unapplied/server/0272-BlockDestroyEvent.patch rename to patches/server/0272-BlockDestroyEvent.patch index 6e560f06f5..371106a466 100644 --- a/patches/unapplied/server/0272-BlockDestroyEvent.patch +++ b/patches/server/0272-BlockDestroyEvent.patch @@ -11,10 +11,10 @@ floating in the air. This can replace many uses of BlockPhysicsEvent diff --git a/src/main/java/net/minecraft/world/level/Level.java b/src/main/java/net/minecraft/world/level/Level.java -index 924b496aaaa19c7ef69498730725ae9287e46e28..0f4b9b5d3e34b5e08f9ca2f78c5e8bcec9f5a85e 100644 +index 09bcffea6b9510a108c5e7d2a32d2930c6abe6b3..7d1d009def581b83794425892f454b4d2a76c634 100644 --- a/src/main/java/net/minecraft/world/level/Level.java +++ b/src/main/java/net/minecraft/world/level/Level.java -@@ -24,6 +24,7 @@ import net.minecraft.core.registries.Registries; +@@ -25,6 +25,7 @@ import net.minecraft.core.registries.Registries; import net.minecraft.network.protocol.Packet; import net.minecraft.resources.ResourceKey; import net.minecraft.resources.ResourceLocation; @@ -22,7 +22,7 @@ index 924b496aaaa19c7ef69498730725ae9287e46e28..0f4b9b5d3e34b5e08f9ca2f78c5e8bce import net.minecraft.server.MinecraftServer; import net.minecraft.server.level.FullChunkStatus; import net.minecraft.server.level.ServerLevel; -@@ -574,9 +575,26 @@ public abstract class Level implements LevelAccessor, AutoCloseable { +@@ -575,9 +576,26 @@ public abstract class Level implements LevelAccessor, AutoCloseable { return false; } else { FluidState fluid = this.getFluidState(pos); diff --git a/patches/unapplied/server/0273-Async-command-map-building.patch b/patches/server/0273-Async-command-map-building.patch similarity index 98% rename from patches/unapplied/server/0273-Async-command-map-building.patch rename to patches/server/0273-Async-command-map-building.patch index 5fb46253e8..48ea8c3ab1 100644 --- a/patches/unapplied/server/0273-Async-command-map-building.patch +++ b/patches/server/0273-Async-command-map-building.patch @@ -83,7 +83,7 @@ index 2008fd542eaf1c2fac776ae1751c227a3b6dde4b..6212d94503023f7bb5ca21785cbb69ba } } diff --git a/src/main/java/net/minecraft/server/MinecraftServer.java b/src/main/java/net/minecraft/server/MinecraftServer.java -index 9a9291282f7ec99be9badf8b32fab5f0ea0f1037..feb45369b41b597fd603c12f3da23759923b6a6d 100644 +index 698536a52e9e61d20556b4bc58de256e89726180..d69af4ad646134fa79dea8a845f2311a9a0cb086 100644 --- a/src/main/java/net/minecraft/server/MinecraftServer.java +++ b/src/main/java/net/minecraft/server/MinecraftServer.java @@ -944,6 +944,7 @@ public abstract class MinecraftServer extends ReentrantBlockableEventLoop { @@ -67,7 +67,7 @@ index 97b48186a48ca037645d4a5ae84e3a95fd413a33..a04cfa09d9f8594a7ad3120855efe164 String s1 = connection.getLoggableAddress(this.server.logIPs()); diff --git a/src/main/java/net/minecraft/world/entity/Entity.java b/src/main/java/net/minecraft/world/entity/Entity.java -index a430a3e2c3b4ae53cad1fbaf4dd71b9e2f24ccf7..49310b11116259193a93aca37da9c6a6949eb948 100644 +index 3cc210dc92f74c37f4de6eaf31ff3ec7aa11248a..e932bd4c922d7015bba0ef06e349d74f5c1a209c 100644 --- a/src/main/java/net/minecraft/world/entity/Entity.java +++ b/src/main/java/net/minecraft/world/entity/Entity.java @@ -256,6 +256,7 @@ public abstract class Entity implements SyncedDataHolder, Nameable, EntityAccess @@ -78,7 +78,7 @@ index a430a3e2c3b4ae53cad1fbaf4dd71b9e2f24ccf7..49310b11116259193a93aca37da9c6a6 private CraftEntity bukkitEntity; -@@ -2391,6 +2392,9 @@ public abstract class Entity implements SyncedDataHolder, Nameable, EntityAccess +@@ -2414,6 +2415,9 @@ public abstract class Entity implements SyncedDataHolder, Nameable, EntityAccess } nbttagcompound.put("Paper.Origin", this.newDoubleList(origin.getX(), origin.getY(), origin.getZ())); } @@ -88,7 +88,7 @@ index a430a3e2c3b4ae53cad1fbaf4dd71b9e2f24ccf7..49310b11116259193a93aca37da9c6a6 // Save entity's from mob spawner status if (spawnedViaMobSpawner) { nbttagcompound.putBoolean("Paper.FromMobSpawner", true); -@@ -2538,6 +2542,26 @@ public abstract class Entity implements SyncedDataHolder, Nameable, EntityAccess +@@ -2563,6 +2567,26 @@ public abstract class Entity implements SyncedDataHolder, Nameable, EntityAccess } spawnedViaMobSpawner = nbt.getBoolean("Paper.FromMobSpawner"); // Restore entity's from mob spawner status @@ -116,7 +116,7 @@ index a430a3e2c3b4ae53cad1fbaf4dd71b9e2f24ccf7..49310b11116259193a93aca37da9c6a6 } catch (Throwable throwable) { diff --git a/src/main/java/net/minecraft/world/entity/EntityType.java b/src/main/java/net/minecraft/world/entity/EntityType.java -index 8f4ec4f0ea7ff2f9a952120785aea65f6559f897..989b766bc166141a391e0a7c1a5eb815e20acfac 100644 +index 768edafa018961ce38306f87e5cfe6aa99537305..d62c17c01f39d41d7cd422d37326a66791804090 100644 --- a/src/main/java/net/minecraft/world/entity/EntityType.java +++ b/src/main/java/net/minecraft/world/entity/EntityType.java @@ -433,7 +433,7 @@ public class EntityType implements FeatureElement, EntityTypeT @@ -173,7 +173,7 @@ index 2eecdcbea3d51b1fb6e0c3db0667464a699ca0df..c68ddccd5fbe27f6a62cedbdc2337f1b this.discard(EntityRemoveEvent.Cause.HIT); // CraftBukkit - add Bukkit remove cause } diff --git a/src/main/java/net/minecraft/world/entity/projectile/Projectile.java b/src/main/java/net/minecraft/world/entity/projectile/Projectile.java -index 6c7f644738548da30908a08dcfde8142b597c0b7..80637835a35dbfd7c7458b246ddee9d836e5101a 100644 +index 23b7894761ef8871a7771e228b39ff01702afbcd..ae18b23e07b1aa7505b54f0512b1612e5f3da6db 100644 --- a/src/main/java/net/minecraft/world/entity/projectile/Projectile.java +++ b/src/main/java/net/minecraft/world/entity/projectile/Projectile.java @@ -214,7 +214,12 @@ public abstract class Projectile extends Entity implements TraceableEntity { @@ -247,20 +247,20 @@ index fc26713a869d0c1fad1634ef4a6c6282fef5aa31..4f8224841865f956aaa969ab7f543c80 } } diff --git a/src/main/java/net/minecraft/world/level/block/entity/SculkShriekerBlockEntity.java b/src/main/java/net/minecraft/world/level/block/entity/SculkShriekerBlockEntity.java -index dc6b18527222d23e9719e2210b684a1aa797c70d..ea53c25c350c0cf8e0360ea409cd1f69a62054a8 100644 +index 32f0493bac35e8c931ba2950f604a1f2cdd883c6..4bc3eded897b067e00c8e310c1be603aa7097ac4 100644 --- a/src/main/java/net/minecraft/world/level/block/entity/SculkShriekerBlockEntity.java +++ b/src/main/java/net/minecraft/world/level/block/entity/SculkShriekerBlockEntity.java -@@ -189,7 +189,7 @@ public class SculkShriekerBlockEntity extends BlockEntity implements GameEventLi - +@@ -190,7 +190,7 @@ public class SculkShriekerBlockEntity extends BlockEntity implements GameEventLi private boolean trySummonWarden(ServerLevel world) { return this.warningLevel >= 4 -- && SpawnUtil.trySpawnMob(EntityType.WARDEN, EntitySpawnReason.TRIGGERED, world, this.getBlockPos(), 20, 5, 6, SpawnUtil.Strategy.ON_TOP_OF_COLLIDER) -+ && SpawnUtil.trySpawnMob(EntityType.WARDEN, EntitySpawnReason.TRIGGERED, world, this.getBlockPos(), 20, 5, 6, SpawnUtil.Strategy.ON_TOP_OF_COLLIDER, org.bukkit.event.entity.CreatureSpawnEvent.SpawnReason.NATURAL, null) // Paper - Entity#getEntitySpawnReason + && SpawnUtil.trySpawnMob( +- EntityType.WARDEN, EntitySpawnReason.TRIGGERED, world, this.getBlockPos(), 20, 5, 6, SpawnUtil.Strategy.ON_TOP_OF_COLLIDER, false ++ EntityType.WARDEN, EntitySpawnReason.TRIGGERED, world, this.getBlockPos(), 20, 5, 6, SpawnUtil.Strategy.ON_TOP_OF_COLLIDER, false, org.bukkit.event.entity.CreatureSpawnEvent.SpawnReason.NATURAL, null // Paper - Entity#getEntitySpawnReason + ) .isPresent(); } - diff --git a/src/main/java/net/minecraft/world/level/block/entity/trialspawner/TrialSpawner.java b/src/main/java/net/minecraft/world/level/block/entity/trialspawner/TrialSpawner.java -index f0163b7fa8b27823db9df5b8d2b6adcb63023164..de9d00ec932c8d07b28dd68ac9b8e6d5b94f7a8d 100644 +index 150a525772dd87f0aca39ad74f0bcefa0693d7d8..476caf7fb4f0124daa35822f2161e11620f18621 100644 --- a/src/main/java/net/minecraft/world/level/block/entity/trialspawner/TrialSpawner.java +++ b/src/main/java/net/minecraft/world/level/block/entity/trialspawner/TrialSpawner.java @@ -231,6 +231,7 @@ public final class TrialSpawner { diff --git a/patches/unapplied/server/0278-Fire-event-on-GS4-query.patch b/patches/server/0278-Fire-event-on-GS4-query.patch similarity index 100% rename from patches/unapplied/server/0278-Fire-event-on-GS4-query.patch rename to patches/server/0278-Fire-event-on-GS4-query.patch diff --git a/patches/unapplied/server/0279-Add-PlayerPostRespawnEvent.patch b/patches/server/0279-Add-PlayerPostRespawnEvent.patch similarity index 100% rename from patches/unapplied/server/0279-Add-PlayerPostRespawnEvent.patch rename to patches/server/0279-Add-PlayerPostRespawnEvent.patch diff --git a/patches/unapplied/server/0280-Server-Tick-Events.patch b/patches/server/0280-Server-Tick-Events.patch similarity index 94% rename from patches/unapplied/server/0280-Server-Tick-Events.patch rename to patches/server/0280-Server-Tick-Events.patch index f137fe9a78..1b3c36ca3d 100644 --- a/patches/unapplied/server/0280-Server-Tick-Events.patch +++ b/patches/server/0280-Server-Tick-Events.patch @@ -6,7 +6,7 @@ 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 feb45369b41b597fd603c12f3da23759923b6a6d..2690048e2ac612f0d1261bcdecf5f745ebbddec2 100644 +index d69af4ad646134fa79dea8a845f2311a9a0cb086..a7eeb4f3098a4bea05592890b5fecbfbac3090e4 100644 --- a/src/main/java/net/minecraft/server/MinecraftServer.java +++ b/src/main/java/net/minecraft/server/MinecraftServer.java @@ -1481,6 +1481,7 @@ public abstract class MinecraftServer extends ReentrantBlockableEventLoop type, Level world) { super(type, world); this.remainingCooldownBeforeLocatingNewFlower = Mth.nextInt(this.random, 20, 60); diff --git a/patches/unapplied/server/0307-Improve-Block-breakNaturally-API.patch b/patches/server/0307-Improve-Block-breakNaturally-API.patch similarity index 100% rename from patches/unapplied/server/0307-Improve-Block-breakNaturally-API.patch rename to patches/server/0307-Improve-Block-breakNaturally-API.patch diff --git a/patches/unapplied/server/0308-Optimise-getChunkAt-calls-for-loaded-chunks.patch b/patches/server/0308-Optimise-getChunkAt-calls-for-loaded-chunks.patch similarity index 100% rename from patches/unapplied/server/0308-Optimise-getChunkAt-calls-for-loaded-chunks.patch rename to patches/server/0308-Optimise-getChunkAt-calls-for-loaded-chunks.patch diff --git a/patches/unapplied/server/0309-Add-debug-for-sync-chunk-loads.patch b/patches/server/0309-Add-debug-for-sync-chunk-loads.patch similarity index 98% rename from patches/unapplied/server/0309-Add-debug-for-sync-chunk-loads.patch rename to patches/server/0309-Add-debug-for-sync-chunk-loads.patch index 224d9b01ef..f3652f680c 100644 --- a/patches/unapplied/server/0309-Add-debug-for-sync-chunk-loads.patch +++ b/patches/server/0309-Add-debug-for-sync-chunk-loads.patch @@ -314,10 +314,10 @@ index 2bd7f0554bdf668930c990156f65e97e4b64d8bc..6a2af3cd3aebe525a5ff41a801929547 ChunkAccess ichunkaccess1 = (ChunkAccess) chunkresult.orElse(null); // CraftBukkit - decompile error diff --git a/src/main/java/net/minecraft/server/level/ServerLevel.java b/src/main/java/net/minecraft/server/level/ServerLevel.java -index 32117fe89ca946658a7d292b4a470736a09bfa62..af3adf1bf771c2327b2972a4f9db9df4c4775f1a 100644 +index 6430e759c3d89033418f79c7f7aacb8ca5a5135b..578d284a3e39368c5285eafe84056b081a240e3d 100644 --- a/src/main/java/net/minecraft/server/level/ServerLevel.java +++ b/src/main/java/net/minecraft/server/level/ServerLevel.java -@@ -415,6 +415,13 @@ public class ServerLevel extends Level implements ServerEntityGetter, WorldGenLe +@@ -416,6 +416,13 @@ public class ServerLevel extends Level implements ServerEntityGetter, WorldGenLe this.getCraftServer().addWorld(this.getWorld()); // CraftBukkit } diff --git a/patches/unapplied/server/0310-Improve-java-version-check.patch b/patches/server/0310-Improve-java-version-check.patch similarity index 95% rename from patches/unapplied/server/0310-Improve-java-version-check.patch rename to patches/server/0310-Improve-java-version-check.patch index f25e71069d..13df515e7c 100644 --- a/patches/unapplied/server/0310-Improve-java-version-check.patch +++ b/patches/server/0310-Improve-java-version-check.patch @@ -6,7 +6,7 @@ Subject: [PATCH] Improve java version check Co-Authored-By: MiniDigger diff --git a/src/main/java/org/bukkit/craftbukkit/Main.java b/src/main/java/org/bukkit/craftbukkit/Main.java -index 2a95a42ade0e82a509f08e2bec7f0c64f55b185c..6eb053f88860ce8693a7baa35eddc9e3fccaced3 100644 +index bb3203dc75df1e480b221fb2de44909759bbf07f..d84afe883d5af0800b5c85649a691bc811c2e357 100644 --- a/src/main/java/org/bukkit/craftbukkit/Main.java +++ b/src/main/java/org/bukkit/craftbukkit/Main.java @@ -203,11 +203,20 @@ public class Main { diff --git a/patches/unapplied/server/0311-Add-ThrownEggHatchEvent.patch b/patches/server/0311-Add-ThrownEggHatchEvent.patch similarity index 100% rename from patches/unapplied/server/0311-Add-ThrownEggHatchEvent.patch rename to patches/server/0311-Add-ThrownEggHatchEvent.patch diff --git a/patches/unapplied/server/0312-Entity-Jump-API.patch b/patches/server/0312-Entity-Jump-API.patch similarity index 90% rename from patches/unapplied/server/0312-Entity-Jump-API.patch rename to patches/server/0312-Entity-Jump-API.patch index c4fbb06bf0..8fe49892fd 100644 --- a/patches/unapplied/server/0312-Entity-Jump-API.patch +++ b/patches/server/0312-Entity-Jump-API.patch @@ -7,10 +7,10 @@ Subject: [PATCH] Entity Jump API public net.minecraft.world.entity.LivingEntity jumping diff --git a/src/main/java/net/minecraft/world/entity/LivingEntity.java b/src/main/java/net/minecraft/world/entity/LivingEntity.java -index caf74116e44a9e3269cec9b65708e604403ffc77..559c949f5ddf086877a798a7e8eb492c329b62c8 100644 +index 4e6bd9f2e8a1a3b3db8e7fff88eefe88a0f2be65..043d4e85b7021c7bec724c3aef76d1278a7d34d5 100644 --- a/src/main/java/net/minecraft/world/entity/LivingEntity.java +++ b/src/main/java/net/minecraft/world/entity/LivingEntity.java -@@ -3538,8 +3538,10 @@ public abstract class LivingEntity extends Entity implements Attackable { +@@ -3549,8 +3549,10 @@ public abstract class LivingEntity extends Entity implements Attackable { } else if (this.isInLava() && (!this.onGround() || d3 > d4)) { this.jumpInLiquid(FluidTags.LAVA); } else if ((this.onGround() || flag && d3 <= d4) && this.noJumpDelay == 0) { @@ -36,10 +36,10 @@ index 0b0887b7d2c69138617bee6ec3145f0a83b8734d..705c26ceff9371b09311bd7fa796c0ef } diff --git a/src/main/java/net/minecraft/world/entity/monster/Ravager.java b/src/main/java/net/minecraft/world/entity/monster/Ravager.java -index 32973d9c7bf4c4105d7bd82d3723e0b70cd79644..c661ae4e5c07494c7de852cc8d01f0f9839c1590 100644 +index 6c909ea334310f1f9b2d9a2e2cc2f23f2badba37..772476d44ee72aed1ba35d10fe51f0ffda34d3f8 100644 --- a/src/main/java/net/minecraft/world/entity/monster/Ravager.java +++ b/src/main/java/net/minecraft/world/entity/monster/Ravager.java -@@ -174,7 +174,9 @@ public class Ravager extends Raider { +@@ -171,7 +171,9 @@ public class Ravager extends Raider { } if (!flag && this.onGround()) { @@ -50,7 +50,7 @@ index 32973d9c7bf4c4105d7bd82d3723e0b70cd79644..c661ae4e5c07494c7de852cc8d01f0f9 } } diff --git a/src/main/java/org/bukkit/craftbukkit/entity/CraftLivingEntity.java b/src/main/java/org/bukkit/craftbukkit/entity/CraftLivingEntity.java -index c4c83b4e17aac23794fdb51acfba4e7ef8451e2c..81034513faa3bd4f306430bc48532ba671a7b94b 100644 +index db21f7eeeca48f1df95b37ffa7e9bf7f71f37d5d..c763d3524794a2505a6296917d34b6f7e737402d 100644 --- a/src/main/java/org/bukkit/craftbukkit/entity/CraftLivingEntity.java +++ b/src/main/java/org/bukkit/craftbukkit/entity/CraftLivingEntity.java @@ -993,4 +993,20 @@ public class CraftLivingEntity extends CraftEntity implements LivingEntity { diff --git a/patches/unapplied/server/0313-Add-option-to-nerf-pigmen-from-nether-portals.patch b/patches/server/0313-Add-option-to-nerf-pigmen-from-nether-portals.patch similarity index 89% rename from patches/unapplied/server/0313-Add-option-to-nerf-pigmen-from-nether-portals.patch rename to patches/server/0313-Add-option-to-nerf-pigmen-from-nether-portals.patch index a5fe2fd06d..2bbd5a37f8 100644 --- a/patches/unapplied/server/0313-Add-option-to-nerf-pigmen-from-nether-portals.patch +++ b/patches/server/0313-Add-option-to-nerf-pigmen-from-nether-portals.patch @@ -5,7 +5,7 @@ Subject: [PATCH] Add option to nerf pigmen from nether portals diff --git a/src/main/java/net/minecraft/world/entity/Entity.java b/src/main/java/net/minecraft/world/entity/Entity.java -index 49310b11116259193a93aca37da9c6a6949eb948..8cea6fccdea8965e372983ab3cf8ba61911e439f 100644 +index e932bd4c922d7015bba0ef06e349d74f5c1a209c..a330a603349f7f9d694cef66f67ba465e3110a1c 100644 --- a/src/main/java/net/minecraft/world/entity/Entity.java +++ b/src/main/java/net/minecraft/world/entity/Entity.java @@ -407,6 +407,7 @@ public abstract class Entity implements SyncedDataHolder, Nameable, EntityAccess @@ -16,7 +16,7 @@ index 49310b11116259193a93aca37da9c6a6949eb948..8cea6fccdea8965e372983ab3cf8ba61 public boolean spawnedViaMobSpawner; // Paper - Yes this name is similar to above, upstream took the better one // Paper start - Entity origin API @javax.annotation.Nullable -@@ -2399,6 +2400,9 @@ public abstract class Entity implements SyncedDataHolder, Nameable, EntityAccess +@@ -2422,6 +2423,9 @@ public abstract class Entity implements SyncedDataHolder, Nameable, EntityAccess if (spawnedViaMobSpawner) { nbttagcompound.putBoolean("Paper.FromMobSpawner", true); } @@ -26,7 +26,7 @@ index 49310b11116259193a93aca37da9c6a6949eb948..8cea6fccdea8965e372983ab3cf8ba61 // Paper end return nbttagcompound; } catch (Throwable throwable) { -@@ -2542,6 +2546,7 @@ public abstract class Entity implements SyncedDataHolder, Nameable, EntityAccess +@@ -2567,6 +2571,7 @@ public abstract class Entity implements SyncedDataHolder, Nameable, EntityAccess } spawnedViaMobSpawner = nbt.getBoolean("Paper.FromMobSpawner"); // Restore entity's from mob spawner status @@ -35,7 +35,7 @@ index 49310b11116259193a93aca37da9c6a6949eb948..8cea6fccdea8965e372983ab3cf8ba61 String spawnReasonName = nbt.getString("Paper.SpawnReason"); try { diff --git a/src/main/java/net/minecraft/world/level/block/NetherPortalBlock.java b/src/main/java/net/minecraft/world/level/block/NetherPortalBlock.java -index 5d4c0d7fec42bf843b11875f7a09bcb9279b3b54..dea13596eb8a3b7bc69c19545b2227b4c45ed241 100644 +index a8cb0d5019d06de64b2cc30e6830bbd6ad43a155..e404722c119631e31c0519111ccd5f1682c2638d 100644 --- a/src/main/java/net/minecraft/world/level/block/NetherPortalBlock.java +++ b/src/main/java/net/minecraft/world/level/block/NetherPortalBlock.java @@ -89,6 +89,10 @@ public class NetherPortalBlock extends Block implements Portal { diff --git a/patches/unapplied/server/0314-Make-the-GUI-graph-fancier.patch b/patches/server/0314-Make-the-GUI-graph-fancier.patch similarity index 100% rename from patches/unapplied/server/0314-Make-the-GUI-graph-fancier.patch rename to patches/server/0314-Make-the-GUI-graph-fancier.patch diff --git a/patches/unapplied/server/0315-add-hand-to-BlockMultiPlaceEvent.patch b/patches/server/0315-add-hand-to-BlockMultiPlaceEvent.patch similarity index 100% rename from patches/unapplied/server/0315-add-hand-to-BlockMultiPlaceEvent.patch rename to patches/server/0315-add-hand-to-BlockMultiPlaceEvent.patch diff --git a/patches/unapplied/server/0316-Validate-tripwire-hook-placement-before-update.patch b/patches/server/0316-Validate-tripwire-hook-placement-before-update.patch similarity index 100% rename from patches/unapplied/server/0316-Validate-tripwire-hook-placement-before-update.patch rename to patches/server/0316-Validate-tripwire-hook-placement-before-update.patch diff --git a/patches/unapplied/server/0317-Add-option-to-allow-iron-golems-to-spawn-in-air.patch b/patches/server/0317-Add-option-to-allow-iron-golems-to-spawn-in-air.patch similarity index 100% rename from patches/unapplied/server/0317-Add-option-to-allow-iron-golems-to-spawn-in-air.patch rename to patches/server/0317-Add-option-to-allow-iron-golems-to-spawn-in-air.patch diff --git a/patches/unapplied/server/0318-Configurable-chance-of-villager-zombie-infection.patch b/patches/server/0318-Configurable-chance-of-villager-zombie-infection.patch similarity index 100% rename from patches/unapplied/server/0318-Configurable-chance-of-villager-zombie-infection.patch rename to patches/server/0318-Configurable-chance-of-villager-zombie-infection.patch diff --git a/patches/unapplied/server/0319-Optimise-Chunk-getFluid.patch b/patches/server/0319-Optimise-Chunk-getFluid.patch similarity index 92% rename from patches/unapplied/server/0319-Optimise-Chunk-getFluid.patch rename to patches/server/0319-Optimise-Chunk-getFluid.patch index b81a71067c..05f68c017f 100644 --- a/patches/unapplied/server/0319-Optimise-Chunk-getFluid.patch +++ b/patches/server/0319-Optimise-Chunk-getFluid.patch @@ -8,10 +8,10 @@ faster on its own, however removing the try catch makes it easier to inline due to code size diff --git a/src/main/java/net/minecraft/world/level/chunk/LevelChunk.java b/src/main/java/net/minecraft/world/level/chunk/LevelChunk.java -index a1b6c13d496519ef6ce240036cec6642626903b9..d4bd4cbc5c4773659662a6d7a09b21a99463c1fb 100644 +index 31696856600db18d1dc401b7fa72a7c9ff219304..b6fb9014d0e4de35b0f5a7e9e99f9db7ec89edcd 100644 --- a/src/main/java/net/minecraft/world/level/chunk/LevelChunk.java +++ b/src/main/java/net/minecraft/world/level/chunk/LevelChunk.java -@@ -293,18 +293,20 @@ public class LevelChunk extends ChunkAccess { +@@ -298,18 +298,20 @@ public class LevelChunk extends ChunkAccess { } public FluidState getFluidState(int x, int y, int z) { @@ -38,7 +38,7 @@ index a1b6c13d496519ef6ce240036cec6642626903b9..d4bd4cbc5c4773659662a6d7a09b21a9 } catch (Throwable throwable) { CrashReport crashreport = CrashReport.forThrowable(throwable, "Getting fluid state"); CrashReportCategory crashreportsystemdetails = crashreport.addCategory("Block being got"); -@@ -314,6 +316,7 @@ public class LevelChunk extends ChunkAccess { +@@ -319,6 +321,7 @@ public class LevelChunk extends ChunkAccess { }); throw new ReportedException(crashreport); } diff --git a/patches/unapplied/server/0320-Set-spigots-verbose-world-setting-to-false-by-def.patch b/patches/server/0320-Set-spigots-verbose-world-setting-to-false-by-def.patch similarity index 100% rename from patches/unapplied/server/0320-Set-spigots-verbose-world-setting-to-false-by-def.patch rename to patches/server/0320-Set-spigots-verbose-world-setting-to-false-by-def.patch diff --git a/patches/unapplied/server/0321-Add-tick-times-API-and-mspt-command.patch b/patches/server/0321-Add-tick-times-API-and-mspt-command.patch similarity index 98% rename from patches/unapplied/server/0321-Add-tick-times-API-and-mspt-command.patch rename to patches/server/0321-Add-tick-times-API-and-mspt-command.patch index 0a4e7fd4e5..fc732e1f3d 100644 --- a/patches/unapplied/server/0321-Add-tick-times-API-and-mspt-command.patch +++ b/patches/server/0321-Add-tick-times-API-and-mspt-command.patch @@ -125,7 +125,7 @@ index 72f2e81b9905a0d57ed8e2a88578f62d5235c456..7b58b2d6297800c2dcdbf7539e5ab8e7 public static void registerCommands(final MinecraftServer server) { diff --git a/src/main/java/net/minecraft/server/MinecraftServer.java b/src/main/java/net/minecraft/server/MinecraftServer.java -index 2690048e2ac612f0d1261bcdecf5f745ebbddec2..7a4ab569090c758f6d707173aa68dd4de87f3654 100644 +index a7eeb4f3098a4bea05592890b5fecbfbac3090e4..e1a15f3721e3c661be0185d65073a39f293f0589 100644 --- a/src/main/java/net/minecraft/server/MinecraftServer.java +++ b/src/main/java/net/minecraft/server/MinecraftServer.java @@ -263,6 +263,11 @@ public abstract class MinecraftServer extends ReentrantBlockableEventLoop entitytypes = entity.getType(); int i = entitytypes.clientTrackingRange() * 16; diff --git a/src/main/java/net/minecraft/server/level/ServerLevel.java b/src/main/java/net/minecraft/server/level/ServerLevel.java -index af3adf1bf771c2327b2972a4f9db9df4c4775f1a..161b556e5c5f3719b5623e71876a2250abc7f391 100644 +index 578d284a3e39368c5285eafe84056b081a240e3d..eb65b1768c46f3cc3f490b06c2215044aebab178 100644 --- a/src/main/java/net/minecraft/server/level/ServerLevel.java +++ b/src/main/java/net/minecraft/server/level/ServerLevel.java -@@ -2207,7 +2207,7 @@ public class ServerLevel extends Level implements ServerEntityGetter, WorldGenLe +@@ -2213,7 +2213,7 @@ public class ServerLevel extends Level implements ServerEntityGetter, WorldGenLe public void onTrackingStart(Entity entity) { org.spigotmc.AsyncCatcher.catchOp("entity register"); // Spigot @@ -37,7 +37,7 @@ index af3adf1bf771c2327b2972a4f9db9df4c4775f1a..161b556e5c5f3719b5623e71876a2250 if (entity instanceof ServerPlayer entityplayer) { ServerLevel.this.players.add(entityplayer); ServerLevel.this.updateSleepingPlayerList(); -@@ -2237,6 +2237,7 @@ public class ServerLevel extends Level implements ServerEntityGetter, WorldGenLe +@@ -2243,6 +2243,7 @@ public class ServerLevel extends Level implements ServerEntityGetter, WorldGenLe entity.updateDynamicGameEventListener(DynamicGameEventListener::add); entity.inWorld = true; // CraftBukkit - Mark entity as in world entity.valid = true; // CraftBukkit diff --git a/patches/unapplied/server/0328-Don-t-tick-dead-players.patch b/patches/server/0328-Don-t-tick-dead-players.patch similarity index 85% rename from patches/unapplied/server/0328-Don-t-tick-dead-players.patch rename to patches/server/0328-Don-t-tick-dead-players.patch index a283819a3e..f9381a4e08 100644 --- a/patches/unapplied/server/0328-Don-t-tick-dead-players.patch +++ b/patches/server/0328-Don-t-tick-dead-players.patch @@ -7,10 +7,10 @@ Causes sync chunk loads and who knows what all else. This is safe because Spectators are skipped in unloaded chunks too in vanilla. diff --git a/src/main/java/net/minecraft/server/level/ServerPlayer.java b/src/main/java/net/minecraft/server/level/ServerPlayer.java -index a4c6f458703cdd794d2825e81ce00e5af63d21bd..9f3a7ba170b729fad228e212436f15bb8169f906 100644 +index df409f2dc2c49282f128a9fdd9c248a2f6d9a7c9..957266d14ce2b9b99f7c97289458fc837e4d665a 100644 --- a/src/main/java/net/minecraft/server/level/ServerPlayer.java +++ b/src/main/java/net/minecraft/server/level/ServerPlayer.java -@@ -993,7 +993,7 @@ public class ServerPlayer extends net.minecraft.world.entity.player.Player { +@@ -990,7 +990,7 @@ public class ServerPlayer extends net.minecraft.world.entity.player.Player { public void doTick() { try { diff --git a/patches/unapplied/server/0329-Dead-Player-s-shouldn-t-be-able-to-move.patch b/patches/server/0329-Dead-Player-s-shouldn-t-be-able-to-move.patch similarity index 84% rename from patches/unapplied/server/0329-Dead-Player-s-shouldn-t-be-able-to-move.patch rename to patches/server/0329-Dead-Player-s-shouldn-t-be-able-to-move.patch index 068a5a06f9..705855f9ab 100644 --- a/patches/unapplied/server/0329-Dead-Player-s-shouldn-t-be-able-to-move.patch +++ b/patches/server/0329-Dead-Player-s-shouldn-t-be-able-to-move.patch @@ -7,10 +7,10 @@ This fixes a lot of game state issues where packets were delayed for processing due to 1.15's new queue but processed while dead. diff --git a/src/main/java/net/minecraft/world/entity/player/Player.java b/src/main/java/net/minecraft/world/entity/player/Player.java -index 4d8929a1f5390af10fbde1dcc13c0136b0a3a745..917ac21794f1aabc6e95ab2fff2ea7547b9778a8 100644 +index 858f123934021b7a3911d3d5cfcb8352293a8302..c23b8f00d7ce3a46f9d104ffae5e4c6124a111ce 100644 --- a/src/main/java/net/minecraft/world/entity/player/Player.java +++ b/src/main/java/net/minecraft/world/entity/player/Player.java -@@ -1143,7 +1143,7 @@ public abstract class Player extends LivingEntity { +@@ -1146,7 +1146,7 @@ public abstract class Player extends LivingEntity { @Override protected boolean isImmobile() { diff --git a/patches/unapplied/server/0330-Don-t-move-existing-players-to-world-spawn.patch b/patches/server/0330-Don-t-move-existing-players-to-world-spawn.patch similarity index 92% rename from patches/unapplied/server/0330-Don-t-move-existing-players-to-world-spawn.patch rename to patches/server/0330-Don-t-move-existing-players-to-world-spawn.patch index e7da8ffb65..918a46fbf7 100644 --- a/patches/unapplied/server/0330-Don-t-move-existing-players-to-world-spawn.patch +++ b/patches/server/0330-Don-t-move-existing-players-to-world-spawn.patch @@ -13,10 +13,10 @@ By skipping this, we avoid potential for a large spike on server start. public net.minecraft.server.level.ServerPlayer fudgeSpawnLocation(Lnet/minecraft/server/level/ServerLevel;)V diff --git a/src/main/java/net/minecraft/server/level/ServerPlayer.java b/src/main/java/net/minecraft/server/level/ServerPlayer.java -index 9f3a7ba170b729fad228e212436f15bb8169f906..5437ccea0205c23435de3584b26ee5a48afc5d1b 100644 +index 957266d14ce2b9b99f7c97289458fc837e4d665a..21f7b26bbf2b3e231032b7a09fa6e82f8244f495 100644 --- a/src/main/java/net/minecraft/server/level/ServerPlayer.java +++ b/src/main/java/net/minecraft/server/level/ServerPlayer.java -@@ -419,7 +419,7 @@ public class ServerPlayer extends net.minecraft.world.entity.player.Player { +@@ -417,7 +417,7 @@ public class ServerPlayer extends net.minecraft.world.entity.player.Player { this.server = server; this.stats = server.getPlayerList().getPlayerStats(this); this.advancements = server.getPlayerList().getPlayerAdvancements(this); @@ -25,7 +25,7 @@ index 9f3a7ba170b729fad228e212436f15bb8169f906..5437ccea0205c23435de3584b26ee5a4 this.updateOptions(clientOptions); this.object = null; -@@ -856,7 +856,7 @@ public class ServerPlayer extends net.minecraft.world.entity.player.Player { +@@ -854,7 +854,7 @@ public class ServerPlayer extends net.minecraft.world.entity.player.Player { position = Vec3.atCenterOf(world.getSharedSpawnPos()); } this.setLevel(world); diff --git a/patches/unapplied/server/0331-Optimize-Pathfinding.patch b/patches/server/0331-Optimize-Pathfinding.patch similarity index 100% rename from patches/unapplied/server/0331-Optimize-Pathfinding.patch rename to patches/server/0331-Optimize-Pathfinding.patch diff --git a/patches/unapplied/server/0332-Reduce-Either-Optional-allocation.patch b/patches/server/0332-Reduce-Either-Optional-allocation.patch similarity index 100% rename from patches/unapplied/server/0332-Reduce-Either-Optional-allocation.patch rename to patches/server/0332-Reduce-Either-Optional-allocation.patch diff --git a/patches/unapplied/server/0333-Reduce-memory-footprint-of-CompoundTag.patch b/patches/server/0333-Reduce-memory-footprint-of-CompoundTag.patch similarity index 100% rename from patches/unapplied/server/0333-Reduce-memory-footprint-of-CompoundTag.patch rename to patches/server/0333-Reduce-memory-footprint-of-CompoundTag.patch diff --git a/patches/unapplied/server/0334-Prevent-opening-inventories-when-frozen.patch b/patches/server/0334-Prevent-opening-inventories-when-frozen.patch similarity index 86% rename from patches/unapplied/server/0334-Prevent-opening-inventories-when-frozen.patch rename to patches/server/0334-Prevent-opening-inventories-when-frozen.patch index bcbb0054b2..5df9fdb825 100644 --- a/patches/unapplied/server/0334-Prevent-opening-inventories-when-frozen.patch +++ b/patches/server/0334-Prevent-opening-inventories-when-frozen.patch @@ -5,19 +5,19 @@ Subject: [PATCH] Prevent opening inventories when frozen diff --git a/src/main/java/net/minecraft/server/level/ServerPlayer.java b/src/main/java/net/minecraft/server/level/ServerPlayer.java -index 5437ccea0205c23435de3584b26ee5a48afc5d1b..0c68c0a9ec9b353b353eff0c36af2993df5f59b3 100644 +index 21f7b26bbf2b3e231032b7a09fa6e82f8244f495..ba6dbbd56f5b0c2eb5566172e64fbf258f146ef0 100644 --- a/src/main/java/net/minecraft/server/level/ServerPlayer.java +++ b/src/main/java/net/minecraft/server/level/ServerPlayer.java -@@ -938,7 +938,7 @@ public class ServerPlayer extends net.minecraft.world.entity.player.Player { - containerUpdateDelay = this.level().paperConfig().tickRates.containerUpdate; +@@ -935,7 +935,7 @@ public class ServerPlayer extends net.minecraft.world.entity.player.Player { + this.containerUpdateDelay = this.level().paperConfig().tickRates.containerUpdate; } // Paper end - Configurable container update tick rate -- if (!this.level().isClientSide && !this.containerMenu.stillValid(this)) { -+ if (!this.level().isClientSide && this.containerMenu != this.inventoryMenu && (this.isImmobile() || !this.containerMenu.stillValid(this))) { // Paper - Prevent opening inventories when frozen +- if (!this.containerMenu.stillValid(this)) { ++ if (this.containerMenu != this.inventoryMenu && (this.isImmobile() || !this.containerMenu.stillValid(this))) { // Paper - Prevent opening inventories when frozen this.closeContainer(org.bukkit.event.inventory.InventoryCloseEvent.Reason.CANT_USE); // Paper - Inventory close reason this.containerMenu = this.inventoryMenu; } -@@ -1903,7 +1903,7 @@ public class ServerPlayer extends net.minecraft.world.entity.player.Player { +@@ -1886,7 +1886,7 @@ public class ServerPlayer extends net.minecraft.world.entity.player.Player { } else { // CraftBukkit start this.containerMenu = container; diff --git a/patches/unapplied/server/0335-Don-t-run-entity-collision-code-if-not-needed.patch b/patches/server/0335-Don-t-run-entity-collision-code-if-not-needed.patch similarity index 93% rename from patches/unapplied/server/0335-Don-t-run-entity-collision-code-if-not-needed.patch rename to patches/server/0335-Don-t-run-entity-collision-code-if-not-needed.patch index 2ee05c9c08..1f1a31479b 100644 --- a/patches/unapplied/server/0335-Don-t-run-entity-collision-code-if-not-needed.patch +++ b/patches/server/0335-Don-t-run-entity-collision-code-if-not-needed.patch @@ -12,10 +12,10 @@ The entity's current team collision rule causes them to NEVER collide. Co-authored-by: Owen1212055 <23108066+Owen1212055@users.noreply.github.com> diff --git a/src/main/java/net/minecraft/world/entity/LivingEntity.java b/src/main/java/net/minecraft/world/entity/LivingEntity.java -index 559c949f5ddf086877a798a7e8eb492c329b62c8..428881b560f30cd7804dfc660a62f0ec94bd7f4c 100644 +index 043d4e85b7021c7bec724c3aef76d1278a7d34d5..77c924d5eecd8ee7fae0c6b49d46a6c91abc969a 100644 --- a/src/main/java/net/minecraft/world/entity/LivingEntity.java +++ b/src/main/java/net/minecraft/world/entity/LivingEntity.java -@@ -3682,10 +3682,24 @@ public abstract class LivingEntity extends Entity implements Attackable { +@@ -3693,10 +3693,24 @@ public abstract class LivingEntity extends Entity implements Attackable { if (!(world instanceof ServerLevel worldserver)) { this.level().getEntities(EntityTypeTest.forClass(net.minecraft.world.entity.player.Player.class), this.getBoundingBox(), EntitySelector.pushableBy(this)).forEach(this::doPush); } else { diff --git a/patches/unapplied/server/0336-Implement-Player-Client-Options-API.patch b/patches/server/0336-Implement-Player-Client-Options-API.patch similarity index 96% rename from patches/unapplied/server/0336-Implement-Player-Client-Options-API.patch rename to patches/server/0336-Implement-Player-Client-Options-API.patch index 16b7e0f349..bafe2fdfae 100644 --- a/patches/unapplied/server/0336-Implement-Player-Client-Options-API.patch +++ b/patches/server/0336-Implement-Player-Client-Options-API.patch @@ -88,10 +88,10 @@ index 0000000000000000000000000000000000000000..b6f4400df3d8ec7e06a996de54f8cabb + } +} diff --git a/src/main/java/net/minecraft/server/level/ServerPlayer.java b/src/main/java/net/minecraft/server/level/ServerPlayer.java -index 0c68c0a9ec9b353b353eff0c36af2993df5f59b3..eebf44c7124c4f48b6d48562a00633b1e8ff9b00 100644 +index ba6dbbd56f5b0c2eb5566172e64fbf258f146ef0..d00d43697d7fc5b7fa162fd4e773f21fb5594087 100644 --- a/src/main/java/net/minecraft/server/level/ServerPlayer.java +++ b/src/main/java/net/minecraft/server/level/ServerPlayer.java -@@ -420,7 +420,7 @@ public class ServerPlayer extends net.minecraft.world.entity.player.Player { +@@ -418,7 +418,7 @@ public class ServerPlayer extends net.minecraft.world.entity.player.Player { this.stats = server.getPlayerList().getPlayerStats(this); this.advancements = server.getPlayerList().getPlayerAdvancements(this); // this.moveTo(this.adjustSpawnLocation(world, world.getSharedSpawnPos()).getBottomCenter(), 0.0F, 0.0F); // Paper - Don't move existing players to world spawn @@ -100,7 +100,7 @@ index 0c68c0a9ec9b353b353eff0c36af2993df5f59b3..eebf44c7124c4f48b6d48562a00633b1 this.object = null; // CraftBukkit start -@@ -2405,6 +2405,19 @@ public class ServerPlayer extends net.minecraft.world.entity.player.Player { +@@ -2385,6 +2385,19 @@ public class ServerPlayer extends net.minecraft.world.entity.player.Player { } public void updateOptions(ClientInformation clientOptions) { @@ -120,7 +120,7 @@ index 0c68c0a9ec9b353b353eff0c36af2993df5f59b3..eebf44c7124c4f48b6d48562a00633b1 // CraftBukkit start if (this.getMainArm() != clientOptions.mainHand()) { PlayerChangedMainHandEvent event = new PlayerChangedMainHandEvent(this.getBukkitEntity(), this.getMainArm() == HumanoidArm.LEFT ? MainHand.LEFT : MainHand.RIGHT); -@@ -2415,6 +2428,11 @@ public class ServerPlayer extends net.minecraft.world.entity.player.Player { +@@ -2395,6 +2408,11 @@ public class ServerPlayer extends net.minecraft.world.entity.player.Player { this.server.server.getPluginManager().callEvent(event); } // CraftBukkit end @@ -133,7 +133,7 @@ index 0c68c0a9ec9b353b353eff0c36af2993df5f59b3..eebf44c7124c4f48b6d48562a00633b1 this.adventure$locale = java.util.Objects.requireNonNullElse(net.kyori.adventure.translation.Translator.parseLocale(this.language), java.util.Locale.US); // Paper this.requestedViewDistance = clientOptions.viewDistance(); diff --git a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java -index 7c7f66ea38babab7b04e76d14e19cc0dac9c4b54..574bcdd1d10c0341afc324822d9cd28af3fc2fdd 100644 +index e548834f2bd6e1e0a510a14040cc6aca63e2e6f5..589c78cf8acc8868be686123ac893421b4848239 100644 --- a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java +++ b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java @@ -658,6 +658,30 @@ public class CraftPlayer extends CraftHumanEntity implements Player { diff --git a/patches/unapplied/server/0337-Don-t-crash-if-player-is-attempted-to-be-removed-fro.patch b/patches/server/0337-Don-t-crash-if-player-is-attempted-to-be-removed-fro.patch similarity index 92% rename from patches/unapplied/server/0337-Don-t-crash-if-player-is-attempted-to-be-removed-fro.patch rename to patches/server/0337-Don-t-crash-if-player-is-attempted-to-be-removed-fro.patch index 0db5556d5a..fac3a9bc22 100644 --- a/patches/unapplied/server/0337-Don-t-crash-if-player-is-attempted-to-be-removed-fro.patch +++ b/patches/server/0337-Don-t-crash-if-player-is-attempted-to-be-removed-fro.patch @@ -7,7 +7,7 @@ Subject: [PATCH] Don't crash if player is attempted to be removed from I suspect it deals with teleporting as it uses players current x/y/z diff --git a/src/main/java/net/minecraft/server/level/DistanceManager.java b/src/main/java/net/minecraft/server/level/DistanceManager.java -index 6c2339d6a93172e25040c4868a3a47473a1f5336..f7c2c03749d6be25bf33afd61e1da120770b3432 100644 +index e7bca3db8c7d29fe984decddda83569ef921cc31..c24644d5a77d87ae6c139f9598feafea308f2158 100644 --- a/src/main/java/net/minecraft/server/level/DistanceManager.java +++ b/src/main/java/net/minecraft/server/level/DistanceManager.java @@ -281,8 +281,8 @@ public abstract class DistanceManager { diff --git a/patches/unapplied/server/0338-Fire-PlayerJoinEvent-when-Player-is-actually-ready.patch b/patches/server/0338-Fire-PlayerJoinEvent-when-Player-is-actually-ready.patch similarity index 97% rename from patches/unapplied/server/0338-Fire-PlayerJoinEvent-when-Player-is-actually-ready.patch rename to patches/server/0338-Fire-PlayerJoinEvent-when-Player-is-actually-ready.patch index 40a942f17c..4e4817d0f1 100644 --- a/patches/unapplied/server/0338-Fire-PlayerJoinEvent-when-Player-is-actually-ready.patch +++ b/patches/server/0338-Fire-PlayerJoinEvent-when-Player-is-actually-ready.patch @@ -43,10 +43,10 @@ index 914e9e0af7533cbf487ea0413da447d5eb8d527b..69f54e812794b23e5f54606da86f7116 EntityType entitytypes = entity.getType(); int i = entitytypes.clientTrackingRange() * 16; diff --git a/src/main/java/net/minecraft/server/level/ServerPlayer.java b/src/main/java/net/minecraft/server/level/ServerPlayer.java -index eebf44c7124c4f48b6d48562a00633b1e8ff9b00..8c80a852ed00c2bf79bb68da9d535af425893deb 100644 +index d00d43697d7fc5b7fa162fd4e773f21fb5594087..07b1bc1a06ac1fec83ba76a73b3cc1bd8f560208 100644 --- a/src/main/java/net/minecraft/server/level/ServerPlayer.java +++ b/src/main/java/net/minecraft/server/level/ServerPlayer.java -@@ -317,6 +317,7 @@ public class ServerPlayer extends net.minecraft.world.entity.player.Player { +@@ -315,6 +315,7 @@ public class ServerPlayer extends net.minecraft.world.entity.player.Player { public double maxHealthCache; public boolean joining = true; public boolean sentListPacket = false; diff --git a/patches/unapplied/server/0339-Move-player-to-spawn-point-if-spawn-in-unloaded-worl.patch b/patches/server/0339-Move-player-to-spawn-point-if-spawn-in-unloaded-worl.patch similarity index 97% rename from patches/unapplied/server/0339-Move-player-to-spawn-point-if-spawn-in-unloaded-worl.patch rename to patches/server/0339-Move-player-to-spawn-point-if-spawn-in-unloaded-worl.patch index 6c67ce040e..938cb46bbe 100644 --- a/patches/unapplied/server/0339-Move-player-to-spawn-point-if-spawn-in-unloaded-worl.patch +++ b/patches/server/0339-Move-player-to-spawn-point-if-spawn-in-unloaded-worl.patch @@ -84,10 +84,10 @@ index ac5725230b04bc1a333863e251fe86580f909ea9..54de4e701adea123c0fdfb5787e95169 } // Paper end - Entity#getEntitySpawnReason diff --git a/src/main/java/net/minecraft/world/entity/Entity.java b/src/main/java/net/minecraft/world/entity/Entity.java -index 8cea6fccdea8965e372983ab3cf8ba61911e439f..dce9bdf371ebbfd4407ac7ca940df29777384232 100644 +index a330a603349f7f9d694cef66f67ba465e3110a1c..e5c280df931fc712e41f4decfeb2871b870d2e4a 100644 --- a/src/main/java/net/minecraft/world/entity/Entity.java +++ b/src/main/java/net/minecraft/world/entity/Entity.java -@@ -2503,27 +2503,8 @@ public abstract class Entity implements SyncedDataHolder, Nameable, EntityAccess +@@ -2528,27 +2528,8 @@ public abstract class Entity implements SyncedDataHolder, Nameable, EntityAccess } // CraftBukkit end diff --git a/patches/unapplied/server/0340-Add-PlayerAttackEntityCooldownResetEvent.patch b/patches/server/0340-Add-PlayerAttackEntityCooldownResetEvent.patch similarity index 92% rename from patches/unapplied/server/0340-Add-PlayerAttackEntityCooldownResetEvent.patch rename to patches/server/0340-Add-PlayerAttackEntityCooldownResetEvent.patch index 83513aec23..4851f70e32 100644 --- a/patches/unapplied/server/0340-Add-PlayerAttackEntityCooldownResetEvent.patch +++ b/patches/server/0340-Add-PlayerAttackEntityCooldownResetEvent.patch @@ -5,10 +5,10 @@ Subject: [PATCH] Add PlayerAttackEntityCooldownResetEvent diff --git a/src/main/java/net/minecraft/world/entity/LivingEntity.java b/src/main/java/net/minecraft/world/entity/LivingEntity.java -index 428881b560f30cd7804dfc660a62f0ec94bd7f4c..06cac1b4c9e97cade7dd6e7971ca06e934b495ac 100644 +index 77c924d5eecd8ee7fae0c6b49d46a6c91abc969a..52a1581a301a3aa481b4fe4afc978b0e426e814b 100644 --- a/src/main/java/net/minecraft/world/entity/LivingEntity.java +++ b/src/main/java/net/minecraft/world/entity/LivingEntity.java -@@ -2353,7 +2353,17 @@ public abstract class LivingEntity extends Entity implements Attackable { +@@ -2364,7 +2364,17 @@ public abstract class LivingEntity extends Entity implements Attackable { } if (damagesource.getEntity() instanceof net.minecraft.world.entity.player.Player) { diff --git a/patches/unapplied/server/0341-Don-t-fire-BlockFade-on-worldgen-threads.patch b/patches/server/0341-Don-t-fire-BlockFade-on-worldgen-threads.patch similarity index 94% rename from patches/unapplied/server/0341-Don-t-fire-BlockFade-on-worldgen-threads.patch rename to patches/server/0341-Don-t-fire-BlockFade-on-worldgen-threads.patch index cafa4896df..92b514b27e 100644 --- a/patches/unapplied/server/0341-Don-t-fire-BlockFade-on-worldgen-threads.patch +++ b/patches/server/0341-Don-t-fire-BlockFade-on-worldgen-threads.patch @@ -5,7 +5,7 @@ Subject: [PATCH] Don't fire BlockFade on worldgen threads diff --git a/src/main/java/net/minecraft/world/level/block/FireBlock.java b/src/main/java/net/minecraft/world/level/block/FireBlock.java -index f44457c0d75efe323cc8242ef5173a3d5067fad0..065d6164b5c9d65d20e7790c607d77e9ad70dfef 100644 +index 422e5750669457bea6e4b8de799d289e8e315a09..bd7835a8b470662b32cc28a4d8f777d4bb8dc60c 100644 --- a/src/main/java/net/minecraft/world/level/block/FireBlock.java +++ b/src/main/java/net/minecraft/world/level/block/FireBlock.java @@ -108,6 +108,7 @@ public class FireBlock extends BaseFireBlock { diff --git a/patches/unapplied/server/0342-Add-phantom-creative-and-insomniac-controls.patch b/patches/server/0342-Add-phantom-creative-and-insomniac-controls.patch similarity index 97% rename from patches/unapplied/server/0342-Add-phantom-creative-and-insomniac-controls.patch rename to patches/server/0342-Add-phantom-creative-and-insomniac-controls.patch index eed8a10b78..3d6d830fae 100644 --- a/patches/unapplied/server/0342-Add-phantom-creative-and-insomniac-controls.patch +++ b/patches/server/0342-Add-phantom-creative-and-insomniac-controls.patch @@ -17,7 +17,7 @@ index 3a4c1d4afddd7d8d1f43554a7a08855686cadf56..b8d57e25851dd7da905100dfd4022e4b private EntitySelector() {} // Paper start - Affects Spawning API diff --git a/src/main/java/net/minecraft/world/entity/monster/Phantom.java b/src/main/java/net/minecraft/world/entity/monster/Phantom.java -index 748f07c7036fe5955d76e28c4e7d23f8c0235d5f..d0820b3a561db7e1e5667594b2b6ea13214dfa58 100644 +index 93013ca49e56f3ac47d67d0c48d87d53fca32a4f..1171a4e45bed0455b29b2cf012fbc2883b16d061 100644 --- a/src/main/java/net/minecraft/world/entity/monster/Phantom.java +++ b/src/main/java/net/minecraft/world/entity/monster/Phantom.java @@ -550,6 +550,7 @@ public class Phantom extends FlyingMob implements Enemy { diff --git a/patches/unapplied/server/0343-Fix-item-duplication-and-teleport-issues.patch b/patches/server/0343-Fix-item-duplication-and-teleport-issues.patch similarity index 89% rename from patches/unapplied/server/0343-Fix-item-duplication-and-teleport-issues.patch rename to patches/server/0343-Fix-item-duplication-and-teleport-issues.patch index 8b468ae1a2..459708b9ce 100644 --- a/patches/unapplied/server/0343-Fix-item-duplication-and-teleport-issues.patch +++ b/patches/server/0343-Fix-item-duplication-and-teleport-issues.patch @@ -16,10 +16,10 @@ So even if something NEW comes up, it would be impossible to drop the same item twice because the source was destroyed. diff --git a/src/main/java/net/minecraft/world/entity/Entity.java b/src/main/java/net/minecraft/world/entity/Entity.java -index dce9bdf371ebbfd4407ac7ca940df29777384232..5ed8a86b6525992a3e8ffa63feef82e29180f0e9 100644 +index e5c280df931fc712e41f4decfeb2871b870d2e4a..15d084e983e8cdfd00dda7fcc2d3c6fac9317cf2 100644 --- a/src/main/java/net/minecraft/world/entity/Entity.java +++ b/src/main/java/net/minecraft/world/entity/Entity.java -@@ -2631,11 +2631,12 @@ public abstract class Entity implements SyncedDataHolder, Nameable, EntityAccess +@@ -2656,11 +2656,12 @@ public abstract class Entity implements SyncedDataHolder, Nameable, EntityAccess } else { // CraftBukkit start - Capture drops for death event if (this instanceof net.minecraft.world.entity.LivingEntity && !((net.minecraft.world.entity.LivingEntity) this).forceDrops) { @@ -34,7 +34,7 @@ index dce9bdf371ebbfd4407ac7ca940df29777384232..5ed8a86b6525992a3e8ffa63feef82e2 entityitem.setDefaultPickUpDelay(); // CraftBukkit start -@@ -3463,6 +3464,12 @@ public abstract class Entity implements SyncedDataHolder, Nameable, EntityAccess +@@ -3493,6 +3494,12 @@ public abstract class Entity implements SyncedDataHolder, Nameable, EntityAccess public Entity teleport(TeleportTransition teleportTarget) { Level world = this.level(); @@ -47,7 +47,7 @@ index dce9bdf371ebbfd4407ac7ca940df29777384232..5ed8a86b6525992a3e8ffa63feef82e2 if (world instanceof ServerLevel worldserver) { if (!this.isRemoved()) { // CraftBukkit start -@@ -3551,6 +3558,11 @@ public abstract class Entity implements SyncedDataHolder, Nameable, EntityAccess +@@ -3581,6 +3588,11 @@ public abstract class Entity implements SyncedDataHolder, Nameable, EntityAccess gameprofilerfiller.pop(); return null; } else { @@ -59,7 +59,7 @@ index dce9bdf371ebbfd4407ac7ca940df29777384232..5ed8a86b6525992a3e8ffa63feef82e2 entity.restoreFrom(this); this.removeAfterChangingDimensions(); // CraftBukkit start - Forward the CraftEntity to the new entity -@@ -3663,6 +3675,7 @@ public abstract class Entity implements SyncedDataHolder, Nameable, EntityAccess +@@ -3693,6 +3705,7 @@ public abstract class Entity implements SyncedDataHolder, Nameable, EntityAccess } public boolean canTeleport(Level from, Level to) { @@ -68,23 +68,23 @@ index dce9bdf371ebbfd4407ac7ca940df29777384232..5ed8a86b6525992a3e8ffa63feef82e2 Iterator iterator = this.getPassengers().iterator(); diff --git a/src/main/java/net/minecraft/world/entity/LivingEntity.java b/src/main/java/net/minecraft/world/entity/LivingEntity.java -index 06cac1b4c9e97cade7dd6e7971ca06e934b495ac..911dcfb9b34d94e38db71c17022b8a8c1e707eb7 100644 +index 52a1581a301a3aa481b4fe4afc978b0e426e814b..9a4bcbfde22ea3c7761099152db8f793c01aedb5 100644 --- a/src/main/java/net/minecraft/world/entity/LivingEntity.java +++ b/src/main/java/net/minecraft/world/entity/LivingEntity.java -@@ -1765,9 +1765,9 @@ public abstract class LivingEntity extends Entity implements Attackable { +@@ -1776,9 +1776,9 @@ public abstract class LivingEntity extends Entity implements Attackable { // Paper start org.bukkit.event.entity.EntityDeathEvent deathEvent = this.dropAllDeathLoot(worldserver, damageSource); if (deathEvent == null || !deathEvent.isCancelled()) { -- if (this.deathScore >= 0 && entityliving != null) { -- entityliving.awardKillScore(this, this.deathScore, damageSource); +- if (entityliving != null) { +- entityliving.awardKillScore(this, damageSource); - } -+ // if (this.deathScore >= 0 && entityliving != null) { // Paper - Fix item duplication and teleport issues; moved to be run earlier in #dropAllDeathLoot before destroying the drop items in CraftEventFactory#callEntityDeathEvent -+ // entityliving.awardKillScore(this, this.deathScore, damageSource); -+ // } ++ //if (entityliving != null) { // Paper - Fix item duplication and teleport issues; moved to be run earlier in #dropAllDeathLoot before destroying the drop items in CraftEventFactory#callEntityDeathEvent ++ // entityliving.awardKillScore(this, damageSource); ++ //} // Paper start - clear equipment if event is not cancelled if (this instanceof Mob) { for (EquipmentSlot slot : this.clearedEquipmentSlots) { -@@ -1861,8 +1861,13 @@ public abstract class LivingEntity extends Entity implements Attackable { +@@ -1872,8 +1872,13 @@ public abstract class LivingEntity extends Entity implements Attackable { this.dropCustomDeathLoot(world, damageSource, flag); this.clearEquipmentSlots = prev; // Paper } diff --git a/patches/unapplied/server/0344-Villager-Restocks-API.patch b/patches/server/0344-Villager-Restocks-API.patch similarity index 100% rename from patches/unapplied/server/0344-Villager-Restocks-API.patch rename to patches/server/0344-Villager-Restocks-API.patch diff --git a/patches/unapplied/server/0346-Set-cap-on-JDK-per-thread-native-byte-buffer-cache.patch b/patches/server/0345-Set-cap-on-JDK-per-thread-native-byte-buffer-cache.patch similarity index 93% rename from patches/unapplied/server/0346-Set-cap-on-JDK-per-thread-native-byte-buffer-cache.patch rename to patches/server/0345-Set-cap-on-JDK-per-thread-native-byte-buffer-cache.patch index d9be497c9d..e423cfabe1 100644 --- a/patches/unapplied/server/0346-Set-cap-on-JDK-per-thread-native-byte-buffer-cache.patch +++ b/patches/server/0345-Set-cap-on-JDK-per-thread-native-byte-buffer-cache.patch @@ -17,7 +17,7 @@ keeping long lived large direct buffers in cache. Set system properly at server startup if not set already to help protect from this. diff --git a/src/main/java/org/bukkit/craftbukkit/Main.java b/src/main/java/org/bukkit/craftbukkit/Main.java -index 6eb053f88860ce8693a7baa35eddc9e3fccaced3..29838b7c28409776e124641878def8d6d87630f5 100644 +index d84afe883d5af0800b5c85649a691bc811c2e357..dd2e1ff287ccb86b7ba714604672d2f3d7ef8c61 100644 --- a/src/main/java/org/bukkit/craftbukkit/Main.java +++ b/src/main/java/org/bukkit/craftbukkit/Main.java @@ -27,6 +27,7 @@ public class Main { diff --git a/patches/unapplied/server/0347-misc-debugging-dumps.patch b/patches/server/0346-misc-debugging-dumps.patch similarity index 98% rename from patches/unapplied/server/0347-misc-debugging-dumps.patch rename to patches/server/0346-misc-debugging-dumps.patch index 1f99d1c3dc..fc898c3359 100644 --- a/patches/unapplied/server/0347-misc-debugging-dumps.patch +++ b/patches/server/0346-misc-debugging-dumps.patch @@ -49,7 +49,7 @@ index 642d5c6849debc5a266605b0df30d55222339438..b34abf66c7dc756e88e08637af976f77 StackTraceElement[] astacktraceelement = exception.getStackTrace(); diff --git a/src/main/java/net/minecraft/server/MinecraftServer.java b/src/main/java/net/minecraft/server/MinecraftServer.java -index 7a4ab569090c758f6d707173aa68dd4de87f3654..c84a5bdbea0497231c78c9a0230cdf70e30a2ff3 100644 +index e1a15f3721e3c661be0185d65073a39f293f0589..8e205796d0c9abbf01bf6ec191e2dfc7b972a0dd 100644 --- a/src/main/java/net/minecraft/server/MinecraftServer.java +++ b/src/main/java/net/minecraft/server/MinecraftServer.java @@ -929,6 +929,7 @@ public abstract class MinecraftServer extends ReentrantBlockableEventLoop set) { diff --git a/patches/unapplied/server/0349-Implement-Mob-Goal-API.patch b/patches/server/0348-Implement-Mob-Goal-API.patch similarity index 99% rename from patches/unapplied/server/0349-Implement-Mob-Goal-API.patch rename to patches/server/0348-Implement-Mob-Goal-API.patch index d4a5da1492..c0213e9da3 100644 --- a/patches/unapplied/server/0349-Implement-Mob-Goal-API.patch +++ b/patches/server/0348-Implement-Mob-Goal-API.patch @@ -5,7 +5,7 @@ Subject: [PATCH] Implement Mob Goal API diff --git a/build.gradle.kts b/build.gradle.kts -index cb100e337521fd278893ec775606f128717105f7..d253682a020cc5cb41c9fdae48adf5c85258be62 100644 +index 221c7dace9950bd4e57299eeff46b2ee4cd05258..3be55cc6e95c02fb43d6e1cd13d05e4e4857ac6b 100644 --- a/build.gradle.kts +++ b/build.gradle.kts @@ -54,6 +54,7 @@ dependencies { diff --git a/patches/unapplied/server/0350-Add-villager-reputation-API.patch b/patches/server/0349-Add-villager-reputation-API.patch similarity index 100% rename from patches/unapplied/server/0350-Add-villager-reputation-API.patch rename to patches/server/0349-Add-villager-reputation-API.patch diff --git a/patches/unapplied/server/0351-ExperienceOrb-merging-stacking-API-and-fixes.patch b/patches/server/0350-ExperienceOrb-merging-stacking-API-and-fixes.patch similarity index 95% rename from patches/unapplied/server/0351-ExperienceOrb-merging-stacking-API-and-fixes.patch rename to patches/server/0350-ExperienceOrb-merging-stacking-API-and-fixes.patch index 41ff454c98..83f8e86f82 100644 --- a/patches/unapplied/server/0351-ExperienceOrb-merging-stacking-API-and-fixes.patch +++ b/patches/server/0350-ExperienceOrb-merging-stacking-API-and-fixes.patch @@ -21,10 +21,10 @@ Co-authored-by: Aikar Co-authored-by: Jake Potrebic diff --git a/src/main/java/net/minecraft/world/entity/ExperienceOrb.java b/src/main/java/net/minecraft/world/entity/ExperienceOrb.java -index 9d9e3daebc5da0af627c3d3cdb50029aacbc587b..3a7af27bb1ce0cbe56bd3760cd400083daf98d4c 100644 +index 9ef7227c2b88f9d0e92e70b33bbd97e22bd71eca..42e8dc24e5cb7b02639d4b80f831b8856f0f45d5 100644 --- a/src/main/java/net/minecraft/world/entity/ExperienceOrb.java +++ b/src/main/java/net/minecraft/world/entity/ExperienceOrb.java -@@ -245,6 +245,7 @@ public class ExperienceOrb extends Entity { +@@ -247,6 +247,7 @@ public class ExperienceOrb extends Entity { } private static boolean tryMergeToExisting(ServerLevel world, Vec3 pos, int amount) { @@ -32,7 +32,7 @@ index 9d9e3daebc5da0af627c3d3cdb50029aacbc587b..3a7af27bb1ce0cbe56bd3760cd400083 AABB axisalignedbb = AABB.ofSize(pos, 1.0D, 1.0D, 1.0D); int j = world.getRandom().nextInt(40); List list = world.getEntities(EntityTypeTest.forClass(ExperienceOrb.class), axisalignedbb, (entityexperienceorb) -> { -@@ -271,6 +272,11 @@ public class ExperienceOrb extends Entity { +@@ -273,6 +274,11 @@ public class ExperienceOrb extends Entity { } private void merge(ExperienceOrb other) { @@ -44,7 +44,7 @@ index 9d9e3daebc5da0af627c3d3cdb50029aacbc587b..3a7af27bb1ce0cbe56bd3760cd400083 this.count += other.count; this.age = Math.min(this.age, other.age); other.discard(EntityRemoveEvent.Cause.MERGE); // CraftBukkit - add Bukkit remove cause -@@ -364,7 +370,7 @@ public class ExperienceOrb extends Entity { +@@ -366,7 +372,7 @@ public class ExperienceOrb extends Entity { int l = amount - k * amount / j; if (l > 0) { diff --git a/patches/unapplied/server/0352-Fix-PotionEffect-ignores-icon-flag.patch b/patches/server/0351-Fix-PotionEffect-ignores-icon-flag.patch similarity index 97% rename from patches/unapplied/server/0352-Fix-PotionEffect-ignores-icon-flag.patch rename to patches/server/0351-Fix-PotionEffect-ignores-icon-flag.patch index 9dff9c741c..6d08a4cd68 100644 --- a/patches/unapplied/server/0352-Fix-PotionEffect-ignores-icon-flag.patch +++ b/patches/server/0351-Fix-PotionEffect-ignores-icon-flag.patch @@ -6,7 +6,7 @@ Subject: [PATCH] Fix PotionEffect ignores icon flag Co-authored-by: Tamion <70228790+notTamion@users.noreply.github.com> diff --git a/src/main/java/org/bukkit/craftbukkit/entity/CraftLivingEntity.java b/src/main/java/org/bukkit/craftbukkit/entity/CraftLivingEntity.java -index 81034513faa3bd4f306430bc48532ba671a7b94b..35130dc4e20ef644b5764091fcbccda2e4da780b 100644 +index c763d3524794a2505a6296917d34b6f7e737402d..1873b5c22d3b351b6120cb832c6ff045d9ad38f0 100644 --- a/src/main/java/org/bukkit/craftbukkit/entity/CraftLivingEntity.java +++ b/src/main/java/org/bukkit/craftbukkit/entity/CraftLivingEntity.java @@ -494,7 +494,7 @@ public class CraftLivingEntity extends CraftEntity implements LivingEntity { diff --git a/patches/unapplied/server/0353-Potential-bed-API.patch b/patches/server/0352-Potential-bed-API.patch similarity index 100% rename from patches/unapplied/server/0353-Potential-bed-API.patch rename to patches/server/0352-Potential-bed-API.patch diff --git a/patches/unapplied/server/0354-Wait-for-Async-Tasks-during-shutdown.patch b/patches/server/0353-Wait-for-Async-Tasks-during-shutdown.patch similarity index 97% rename from patches/unapplied/server/0354-Wait-for-Async-Tasks-during-shutdown.patch rename to patches/server/0353-Wait-for-Async-Tasks-during-shutdown.patch index e26fbcde1f..c5497b4e08 100644 --- a/patches/unapplied/server/0354-Wait-for-Async-Tasks-during-shutdown.patch +++ b/patches/server/0353-Wait-for-Async-Tasks-during-shutdown.patch @@ -10,7 +10,7 @@ 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 c84a5bdbea0497231c78c9a0230cdf70e30a2ff3..c2ba34f6d5765fd8574a61825a6aab8fdd98a0f2 100644 +index 8e205796d0c9abbf01bf6ec191e2dfc7b972a0dd..84999223df47a9eccbcec4e1ea80786090d8d9c5 100644 --- a/src/main/java/net/minecraft/server/MinecraftServer.java +++ b/src/main/java/net/minecraft/server/MinecraftServer.java @@ -955,6 +955,7 @@ public abstract class MinecraftServer extends ReentrantBlockableEventLoop diff --git a/src/main/java/net/minecraft/world/entity/Entity.java b/src/main/java/net/minecraft/world/entity/Entity.java -index 5ed8a86b6525992a3e8ffa63feef82e29180f0e9..9833c1876a6fdce15326f10ff9a44ab3587eaf32 100644 +index 15d084e983e8cdfd00dda7fcc2d3c6fac9317cf2..54650ee682cc307a515e558cc2bd8041aeed01f0 100644 --- a/src/main/java/net/minecraft/world/entity/Entity.java +++ b/src/main/java/net/minecraft/world/entity/Entity.java @@ -678,8 +678,8 @@ public abstract class Entity implements SyncedDataHolder, Nameable, EntityAccess @@ -19,8 +19,8 @@ index 5ed8a86b6525992a3e8ffa63feef82e29180f0e9..9833c1876a6fdce15326f10ff9a44ab3 + // this.setBoundingBox(this.makeBoundingBox()); // Paper - Block invalid positions and bounding box; move into setPosRaw } - protected AABB makeBoundingBox() { -@@ -4442,7 +4442,29 @@ public abstract class Entity implements SyncedDataHolder, Nameable, EntityAccess + protected final AABB makeBoundingBox() { +@@ -4468,7 +4468,29 @@ public abstract class Entity implements SyncedDataHolder, Nameable, EntityAccess return this.getZ((2.0D * this.random.nextDouble() - 1.0D) * widthScale); } @@ -50,7 +50,7 @@ index 5ed8a86b6525992a3e8ffa63feef82e29180f0e9..9833c1876a6fdce15326f10ff9a44ab3 if (this.position.x != x || this.position.y != y || this.position.z != z) { this.position = new Vec3(x, y, z); int i = Mth.floor(x); -@@ -4460,6 +4482,12 @@ public abstract class Entity implements SyncedDataHolder, Nameable, EntityAccess +@@ -4486,6 +4508,12 @@ public abstract class Entity implements SyncedDataHolder, Nameable, EntityAccess this.levelCallback.onMove(); } diff --git a/patches/unapplied/server/0369-Fix-Per-World-Difficulty-Remembering-Difficulty.patch b/patches/server/0368-Fix-Per-World-Difficulty-Remembering-Difficulty.patch similarity index 95% rename from patches/unapplied/server/0369-Fix-Per-World-Difficulty-Remembering-Difficulty.patch rename to patches/server/0368-Fix-Per-World-Difficulty-Remembering-Difficulty.patch index 9f8d3ba3ec..cf9db52420 100644 --- a/patches/unapplied/server/0369-Fix-Per-World-Difficulty-Remembering-Difficulty.patch +++ b/patches/server/0368-Fix-Per-World-Difficulty-Remembering-Difficulty.patch @@ -8,7 +8,7 @@ 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 c2ba34f6d5765fd8574a61825a6aab8fdd98a0f2..74515a58cd698ebca3ee98bd89a8f9de477736e7 100644 +index 84999223df47a9eccbcec4e1ea80786090d8d9c5..83848e30eeff52ccad591deb0d9e3a8ba1a122ed 100644 --- a/src/main/java/net/minecraft/server/MinecraftServer.java +++ b/src/main/java/net/minecraft/server/MinecraftServer.java @@ -850,7 +850,7 @@ public abstract class MinecraftServer extends ReentrantBlockableEventLoop> { diff --git a/patches/unapplied/server/0397-Fix-hex-colors-not-working-in-some-kick-messages.patch b/patches/server/0396-Fix-hex-colors-not-working-in-some-kick-messages.patch similarity index 100% rename from patches/unapplied/server/0397-Fix-hex-colors-not-working-in-some-kick-messages.patch rename to patches/server/0396-Fix-hex-colors-not-working-in-some-kick-messages.patch diff --git a/patches/unapplied/server/0398-Add-more-Evoker-API.patch b/patches/server/0397-Add-more-Evoker-API.patch similarity index 100% rename from patches/unapplied/server/0398-Add-more-Evoker-API.patch rename to patches/server/0397-Add-more-Evoker-API.patch diff --git a/patches/unapplied/server/0399-Add-methods-to-get-translation-keys.patch b/patches/server/0398-Add-methods-to-get-translation-keys.patch similarity index 100% rename from patches/unapplied/server/0399-Add-methods-to-get-translation-keys.patch rename to patches/server/0398-Add-methods-to-get-translation-keys.patch diff --git a/patches/unapplied/server/0400-Create-HoverEvent-from-ItemStack-Entity.patch b/patches/server/0399-Create-HoverEvent-from-ItemStack-Entity.patch similarity index 94% rename from patches/unapplied/server/0400-Create-HoverEvent-from-ItemStack-Entity.patch rename to patches/server/0399-Create-HoverEvent-from-ItemStack-Entity.patch index 66d23bfd33..d487492e0c 100644 --- a/patches/unapplied/server/0400-Create-HoverEvent-from-ItemStack-Entity.patch +++ b/patches/server/0399-Create-HoverEvent-from-ItemStack-Entity.patch @@ -5,10 +5,10 @@ Subject: [PATCH] Create HoverEvent from ItemStack Entity diff --git a/src/main/java/org/bukkit/craftbukkit/inventory/CraftItemFactory.java b/src/main/java/org/bukkit/craftbukkit/inventory/CraftItemFactory.java -index b407968b111ff9cb9f428319d211e5d9c4c99138..cab7a3d21699605cb7fc480830d7529f70e69e88 100644 +index 77150a80d3523a923e2c9ccadda4887d6d960799..68798c90f2a116d82f6f25e920c54c929df6fca9 100644 --- a/src/main/java/org/bukkit/craftbukkit/inventory/CraftItemFactory.java +++ b/src/main/java/org/bukkit/craftbukkit/inventory/CraftItemFactory.java -@@ -249,4 +249,44 @@ public final class CraftItemFactory implements ItemFactory { +@@ -251,4 +251,44 @@ public final class CraftItemFactory implements ItemFactory { return nms != null ? nms.getItem().getName(nms).getString() : null; } // Paper end - add getI18NDisplayName diff --git a/patches/unapplied/server/0401-Cache-block-data-strings.patch b/patches/server/0400-Cache-block-data-strings.patch similarity index 93% rename from patches/unapplied/server/0401-Cache-block-data-strings.patch rename to patches/server/0400-Cache-block-data-strings.patch index 2e9678dd02..89a3e25bc6 100644 --- a/patches/unapplied/server/0401-Cache-block-data-strings.patch +++ b/patches/server/0400-Cache-block-data-strings.patch @@ -5,7 +5,7 @@ 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 74515a58cd698ebca3ee98bd89a8f9de477736e7..19708fe528c2c2794bc26f4c789dd32dbb3ba32b 100644 +index 83848e30eeff52ccad591deb0d9e3a8ba1a122ed..6292256864aa0a265a73c0ef2af642d4ab387ccc 100644 --- a/src/main/java/net/minecraft/server/MinecraftServer.java +++ b/src/main/java/net/minecraft/server/MinecraftServer.java @@ -2184,6 +2184,7 @@ public abstract class MinecraftServer extends ReentrantBlockableEventLoop%s", nms, bukkit); } diff --git a/patches/unapplied/server/0402-Fix-Entity-Teleportation-and-cancel-velocity-if-tele.patch b/patches/server/0401-Fix-Entity-Teleportation-and-cancel-velocity-if-tele.patch similarity index 94% rename from patches/unapplied/server/0402-Fix-Entity-Teleportation-and-cancel-velocity-if-tele.patch rename to patches/server/0401-Fix-Entity-Teleportation-and-cancel-velocity-if-tele.patch index 4ced839378..fa6d3ee774 100644 --- a/patches/unapplied/server/0402-Fix-Entity-Teleportation-and-cancel-velocity-if-tele.patch +++ b/patches/server/0401-Fix-Entity-Teleportation-and-cancel-velocity-if-tele.patch @@ -9,10 +9,10 @@ as this is how Vanilla teleports entities. Cancel any pending motion when teleported. diff --git a/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java b/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java -index 00ce20359f6d73acf3f1016806e5f4f3b6d01bcd..1754e413dc1b7a18b3fc0b981eae11283b2106e5 100644 +index 417930ad0ffe395e9211a6bf1e6c192af659471b..6f96f1522ae552940cf279194bd84630c3e4853c 100644 --- a/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java +++ b/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java -@@ -685,7 +685,7 @@ public class ServerGamePacketListenerImpl extends ServerCommonPacketListenerImpl +@@ -680,7 +680,7 @@ public class ServerGamePacketListenerImpl extends ServerCommonPacketListenerImpl return; } @@ -22,7 +22,7 @@ index 00ce20359f6d73acf3f1016806e5f4f3b6d01bcd..1754e413dc1b7a18b3fc0b981eae1128 this.lastGoodY = this.awaitingPositionFromClient.y; this.lastGoodZ = this.awaitingPositionFromClient.z; diff --git a/src/main/java/net/minecraft/world/entity/Entity.java b/src/main/java/net/minecraft/world/entity/Entity.java -index 9833c1876a6fdce15326f10ff9a44ab3587eaf32..e56ee4ee930bb788fb7b0e254798308571802ab4 100644 +index 54650ee682cc307a515e558cc2bd8041aeed01f0..65a7d4f564cd608af3829d09c1739eb933024691 100644 --- a/src/main/java/net/minecraft/world/entity/Entity.java +++ b/src/main/java/net/minecraft/world/entity/Entity.java @@ -180,6 +180,7 @@ public abstract class Entity implements SyncedDataHolder, Nameable, EntityAccess @@ -33,7 +33,7 @@ index 9833c1876a6fdce15326f10ff9a44ab3587eaf32..e56ee4ee930bb788fb7b0e2547983085 static boolean isLevelAtLeast(CompoundTag tag, int level) { return tag.contains("Bukkit.updateLevel") && tag.getInt("Bukkit.updateLevel") >= level; } -@@ -1944,6 +1945,13 @@ public abstract class Entity implements SyncedDataHolder, Nameable, EntityAccess +@@ -1967,6 +1968,13 @@ public abstract class Entity implements SyncedDataHolder, Nameable, EntityAccess } public void moveTo(double x, double y, double z, float yaw, float pitch) { @@ -85,7 +85,7 @@ index ec122fa4e443290ff973797740172e07f8e736ca..609c768ba4d22e346acbc9422ce41e3b this.entity.setYHeadRot(location.getYaw()); diff --git a/src/main/java/org/bukkit/craftbukkit/entity/CraftLivingEntity.java b/src/main/java/org/bukkit/craftbukkit/entity/CraftLivingEntity.java -index 5beee554567d36f2a3b871cf6ec3ecb3d2353592..db15382f35464de43a2fe0a41aca070a8c834777 100644 +index 0aa3fd9dce0cf90b1f74551c864e9ebf326eb1f3..e979681142bd08aeb00a98b79789a8f41b2a37af 100644 --- a/src/main/java/org/bukkit/craftbukkit/entity/CraftLivingEntity.java +++ b/src/main/java/org/bukkit/craftbukkit/entity/CraftLivingEntity.java @@ -603,6 +603,7 @@ public class CraftLivingEntity extends CraftEntity implements LivingEntity { diff --git a/patches/unapplied/server/0403-Add-additional-open-container-api-to-HumanEntity.patch b/patches/server/0402-Add-additional-open-container-api-to-HumanEntity.patch similarity index 100% rename from patches/unapplied/server/0403-Add-additional-open-container-api-to-HumanEntity.patch rename to patches/server/0402-Add-additional-open-container-api-to-HumanEntity.patch diff --git a/patches/unapplied/server/0404-Cache-DataFixerUpper-Rewrite-Rules-on-demand.patch b/patches/server/0403-Cache-DataFixerUpper-Rewrite-Rules-on-demand.patch similarity index 100% rename from patches/unapplied/server/0404-Cache-DataFixerUpper-Rewrite-Rules-on-demand.patch rename to patches/server/0403-Cache-DataFixerUpper-Rewrite-Rules-on-demand.patch diff --git a/patches/unapplied/server/0405-Extend-block-drop-capture-to-capture-all-items-added.patch b/patches/server/0404-Extend-block-drop-capture-to-capture-all-items-added.patch similarity index 94% rename from patches/unapplied/server/0405-Extend-block-drop-capture-to-capture-all-items-added.patch rename to patches/server/0404-Extend-block-drop-capture-to-capture-all-items-added.patch index 493fb97397..a483ce60ab 100644 --- a/patches/unapplied/server/0405-Extend-block-drop-capture-to-capture-all-items-added.patch +++ b/patches/server/0404-Extend-block-drop-capture-to-capture-all-items-added.patch @@ -6,10 +6,10 @@ Subject: [PATCH] Extend block drop capture to capture all items added to the diff --git a/src/main/java/net/minecraft/server/level/ServerLevel.java b/src/main/java/net/minecraft/server/level/ServerLevel.java -index 9a6a9508673edcb2eda8b3e4802fd9502a7514d5..b2777f49f658914d2211edd29ac3661f57ef18e0 100644 +index f01fe053888f7f5124c6b157044dfd46ea98ae23..1ed0940d8bdc4210992a335b3691c1cd3a13580a 100644 --- a/src/main/java/net/minecraft/server/level/ServerLevel.java +++ b/src/main/java/net/minecraft/server/level/ServerLevel.java -@@ -1198,6 +1198,12 @@ public class ServerLevel extends Level implements ServerEntityGetter, WorldGenLe +@@ -1199,6 +1199,12 @@ public class ServerLevel extends Level implements ServerEntityGetter, WorldGenLe // WorldServer.LOGGER.warn("Tried to add entity {} but it was marked as removed already", EntityTypes.getKey(entity.getType())); // CraftBukkit return false; } else { diff --git a/patches/unapplied/server/0406-Expose-the-Entity-Counter-to-allow-plugins-to-use-va.patch b/patches/server/0405-Expose-the-Entity-Counter-to-allow-plugins-to-use-va.patch similarity index 85% rename from patches/unapplied/server/0406-Expose-the-Entity-Counter-to-allow-plugins-to-use-va.patch rename to patches/server/0405-Expose-the-Entity-Counter-to-allow-plugins-to-use-va.patch index ace3484e57..f242388ac5 100644 --- a/patches/unapplied/server/0406-Expose-the-Entity-Counter-to-allow-plugins-to-use-va.patch +++ b/patches/server/0405-Expose-the-Entity-Counter-to-allow-plugins-to-use-va.patch @@ -6,10 +6,10 @@ Subject: [PATCH] Expose the Entity Counter to allow plugins to use valid and diff --git a/src/main/java/net/minecraft/world/entity/Entity.java b/src/main/java/net/minecraft/world/entity/Entity.java -index e56ee4ee930bb788fb7b0e254798308571802ab4..8f103dc563110f04563487f90fe02de4288a99a7 100644 +index 65a7d4f564cd608af3829d09c1739eb933024691..1bf13cf7aff50f8e67bba579228e5b63ba234421 100644 --- a/src/main/java/net/minecraft/world/entity/Entity.java +++ b/src/main/java/net/minecraft/world/entity/Entity.java -@@ -4734,4 +4734,10 @@ public abstract class Entity implements SyncedDataHolder, Nameable, EntityAccess +@@ -4760,4 +4760,10 @@ public abstract class Entity implements SyncedDataHolder, Nameable, EntityAccess void accept(Entity entity, double x, double y, double z); } @@ -21,7 +21,7 @@ index e56ee4ee930bb788fb7b0e254798308571802ab4..8f103dc563110f04563487f90fe02de4 + // Paper end - Expose entity id counter } diff --git a/src/main/java/org/bukkit/craftbukkit/util/CraftMagicNumbers.java b/src/main/java/org/bukkit/craftbukkit/util/CraftMagicNumbers.java -index b50d1ddfd23bf1af16d86e5edcb72196b4674868..09a6a0c06580aea9e7be8de2189673d1a476f411 100644 +index 1e41803952f2410c8f1e213d8be8d141773853d3..78bc460fff7d537109883f1469500f6f536c598e 100644 --- a/src/main/java/org/bukkit/craftbukkit/util/CraftMagicNumbers.java +++ b/src/main/java/org/bukkit/craftbukkit/util/CraftMagicNumbers.java @@ -527,6 +527,11 @@ public final class CraftMagicNumbers implements UnsafeValues { diff --git a/patches/unapplied/server/0407-Lazily-track-plugin-scoreboards-by-default.patch b/patches/server/0406-Lazily-track-plugin-scoreboards-by-default.patch similarity index 100% rename from patches/unapplied/server/0407-Lazily-track-plugin-scoreboards-by-default.patch rename to patches/server/0406-Lazily-track-plugin-scoreboards-by-default.patch diff --git a/patches/unapplied/server/0408-Entity-isTicking.patch b/patches/server/0407-Entity-isTicking.patch similarity index 90% rename from patches/unapplied/server/0408-Entity-isTicking.patch rename to patches/server/0407-Entity-isTicking.patch index 8c21802ef0..bb0184cc69 100644 --- a/patches/unapplied/server/0408-Entity-isTicking.patch +++ b/patches/server/0407-Entity-isTicking.patch @@ -5,10 +5,10 @@ Subject: [PATCH] Entity#isTicking diff --git a/src/main/java/net/minecraft/world/entity/Entity.java b/src/main/java/net/minecraft/world/entity/Entity.java -index 8f103dc563110f04563487f90fe02de4288a99a7..20289623062acd34afb0ca5fc7daaf032ec1f418 100644 +index 1bf13cf7aff50f8e67bba579228e5b63ba234421..6970e85853954c240bc89407e2aaafdd888bc334 100644 --- a/src/main/java/net/minecraft/world/entity/Entity.java +++ b/src/main/java/net/minecraft/world/entity/Entity.java -@@ -4739,5 +4739,9 @@ public abstract class Entity implements SyncedDataHolder, Nameable, EntityAccess +@@ -4765,5 +4765,9 @@ public abstract class Entity implements SyncedDataHolder, Nameable, EntityAccess public static int nextEntityId() { return ENTITY_COUNTER.incrementAndGet(); } diff --git a/patches/unapplied/server/0409-Fix-deop-kicking-non-whitelisted-player-when-white-l.patch b/patches/server/0408-Fix-deop-kicking-non-whitelisted-player-when-white-l.patch similarity index 94% rename from patches/unapplied/server/0409-Fix-deop-kicking-non-whitelisted-player-when-white-l.patch rename to patches/server/0408-Fix-deop-kicking-non-whitelisted-player-when-white-l.patch index 4c6974971b..70bf2759a9 100644 --- a/patches/unapplied/server/0409-Fix-deop-kicking-non-whitelisted-player-when-white-l.patch +++ b/patches/server/0408-Fix-deop-kicking-non-whitelisted-player-when-white-l.patch @@ -6,7 +6,7 @@ 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 19708fe528c2c2794bc26f4c789dd32dbb3ba32b..8364a52db57b43ba503cb8109c35a261de347109 100644 +index 6292256864aa0a265a73c0ef2af642d4ab387ccc..c036c391172ffb4b14b7a5f77776a68e3670775c 100644 --- a/src/main/java/net/minecraft/server/MinecraftServer.java +++ b/src/main/java/net/minecraft/server/MinecraftServer.java @@ -2309,13 +2309,14 @@ public abstract class MinecraftServer extends ReentrantBlockableEventLoop 1.0D) { -@@ -1320,9 +1338,9 @@ public class ServerGamePacketListenerImpl extends ServerCommonPacketListenerImpl +@@ -1374,9 +1392,9 @@ public class ServerGamePacketListenerImpl extends ServerCommonPacketListenerImpl AABB axisalignedbb = this.player.getBoundingBox(); diff --git a/patches/unapplied/server/0413-Optimise-getType-calls.patch b/patches/server/0412-Optimise-getType-calls.patch similarity index 98% rename from patches/unapplied/server/0413-Optimise-getType-calls.patch rename to patches/server/0412-Optimise-getType-calls.patch index 2edc8fa421..da94b3a7b4 100644 --- a/patches/unapplied/server/0413-Optimise-getType-calls.patch +++ b/patches/server/0412-Optimise-getType-calls.patch @@ -66,7 +66,7 @@ index fabdec2d66cc6d676ed58fa570e2c318ab0927e2..1002123cd0c6f57cecc4e80f5f21cc6f public void setFlag(int flag) { diff --git a/src/main/java/org/bukkit/craftbukkit/block/data/CraftBlockData.java b/src/main/java/org/bukkit/craftbukkit/block/data/CraftBlockData.java -index 628f26e98449bf508306265d569376cae6279284..cabf3146b0dd5790536cb9995de6a876d7ab3f50 100644 +index 22b8603a0eb7e981ca3483b37d3b7af28f300dfd..4982950b13cdf1668c0a662b80faf9f700ed584b 100644 --- a/src/main/java/org/bukkit/craftbukkit/block/data/CraftBlockData.java +++ b/src/main/java/org/bukkit/craftbukkit/block/data/CraftBlockData.java @@ -63,7 +63,7 @@ public class CraftBlockData implements BlockData { diff --git a/patches/unapplied/server/0414-Villager-resetOffers.patch b/patches/server/0413-Villager-resetOffers.patch similarity index 94% rename from patches/unapplied/server/0414-Villager-resetOffers.patch rename to patches/server/0413-Villager-resetOffers.patch index 2b919a8646..1c9cac618a 100644 --- a/patches/unapplied/server/0414-Villager-resetOffers.patch +++ b/patches/server/0413-Villager-resetOffers.patch @@ -5,7 +5,7 @@ Subject: [PATCH] Villager#resetOffers diff --git a/src/main/java/net/minecraft/world/entity/npc/AbstractVillager.java b/src/main/java/net/minecraft/world/entity/npc/AbstractVillager.java -index 3cdd48c35d50fa3107e0f2bf439e75b7f306b3d1..c8231e421e6c3f1cf8a5aaf8cc64741abe868f41 100644 +index e5ce76abb09c91b881dee732c5985c53db552dfc..deac9d6389493213e2b0cc8e2b6ae0c9f055c011 100644 --- a/src/main/java/net/minecraft/world/entity/npc/AbstractVillager.java +++ b/src/main/java/net/minecraft/world/entity/npc/AbstractVillager.java @@ -114,6 +114,13 @@ public abstract class AbstractVillager extends AgeableMob implements InventoryCa diff --git a/patches/unapplied/server/0415-Retain-block-place-order-when-capturing-blockstates.patch b/patches/server/0414-Retain-block-place-order-when-capturing-blockstates.patch similarity index 89% rename from patches/unapplied/server/0415-Retain-block-place-order-when-capturing-blockstates.patch rename to patches/server/0414-Retain-block-place-order-when-capturing-blockstates.patch index 6da68ddaf2..8816366bcc 100644 --- a/patches/unapplied/server/0415-Retain-block-place-order-when-capturing-blockstates.patch +++ b/patches/server/0414-Retain-block-place-order-when-capturing-blockstates.patch @@ -10,10 +10,10 @@ In general, look at making this logic more robust (i.e properly handling cases where a captured entry is overriden) - but for now this will do. diff --git a/src/main/java/net/minecraft/world/level/Level.java b/src/main/java/net/minecraft/world/level/Level.java -index 1e22ee380237a33c506316e3cfe3f6efb7f9ae4a..71e9c1504d4b85ffb695401974748d56fefb66e6 100644 +index 36d183d6b52185405f3dbf67d09bc21631e86870..2f82f77ba6530dcdb98037aa627ef3cead758b2e 100644 --- a/src/main/java/net/minecraft/world/level/Level.java +++ b/src/main/java/net/minecraft/world/level/Level.java -@@ -153,7 +153,7 @@ public abstract class Level implements LevelAccessor, AutoCloseable { +@@ -154,7 +154,7 @@ public abstract class Level implements LevelAccessor, AutoCloseable { public boolean captureBlockStates = false; public boolean captureTreeGeneration = false; public Map capturedBlockStates = new java.util.LinkedHashMap<>(); // Paper diff --git a/patches/unapplied/server/0416-Fix-item-locations-dropped-from-campfires.patch b/patches/server/0415-Fix-item-locations-dropped-from-campfires.patch similarity index 100% rename from patches/unapplied/server/0416-Fix-item-locations-dropped-from-campfires.patch rename to patches/server/0415-Fix-item-locations-dropped-from-campfires.patch diff --git a/patches/unapplied/server/0417-Fix-bell-block-entity-memory-leak.patch b/patches/server/0416-Fix-bell-block-entity-memory-leak.patch similarity index 100% rename from patches/unapplied/server/0417-Fix-bell-block-entity-memory-leak.patch rename to patches/server/0416-Fix-bell-block-entity-memory-leak.patch diff --git a/patches/unapplied/server/0418-Avoid-error-bubbling-up-when-item-stack-is-empty-in-.patch b/patches/server/0417-Avoid-error-bubbling-up-when-item-stack-is-empty-in-.patch similarity index 97% rename from patches/unapplied/server/0418-Avoid-error-bubbling-up-when-item-stack-is-empty-in-.patch rename to patches/server/0417-Avoid-error-bubbling-up-when-item-stack-is-empty-in-.patch index 67b54defca..8498d60497 100644 --- a/patches/unapplied/server/0418-Avoid-error-bubbling-up-when-item-stack-is-empty-in-.patch +++ b/patches/server/0417-Avoid-error-bubbling-up-when-item-stack-is-empty-in-.patch @@ -8,7 +8,7 @@ This can realistically only happen if there's custom loot active on fishing which can return 0 items. This would disconnect the player who's fishing. diff --git a/src/main/java/net/minecraft/world/entity/projectile/FishingHook.java b/src/main/java/net/minecraft/world/entity/projectile/FishingHook.java -index 9d24d4c3802c525546dae92530c9c5b3cf77924e..536196a740f607adda2a5ae7f644981ac26bef98 100644 +index d0c7dc98ead5c9c52e9d24afe59874b8c512a165..966ba1a9c2e7923a970ce3799a5e2ef6ca36bf84 100644 --- a/src/main/java/net/minecraft/world/entity/projectile/FishingHook.java +++ b/src/main/java/net/minecraft/world/entity/projectile/FishingHook.java @@ -511,9 +511,15 @@ public class FishingHook extends Projectile { diff --git a/patches/unapplied/server/0419-Add-getOfflinePlayerIfCached-String.patch b/patches/server/0418-Add-getOfflinePlayerIfCached-String.patch similarity index 100% rename from patches/unapplied/server/0419-Add-getOfflinePlayerIfCached-String.patch rename to patches/server/0418-Add-getOfflinePlayerIfCached-String.patch diff --git a/patches/unapplied/server/0420-Add-ignore-discounts-API.patch b/patches/server/0419-Add-ignore-discounts-API.patch similarity index 99% rename from patches/unapplied/server/0420-Add-ignore-discounts-API.patch rename to patches/server/0419-Add-ignore-discounts-API.patch index 84103c5a2e..a25e1bf557 100644 --- a/patches/unapplied/server/0420-Add-ignore-discounts-API.patch +++ b/patches/server/0419-Add-ignore-discounts-API.patch @@ -5,7 +5,7 @@ Subject: [PATCH] Add ignore discounts API diff --git a/src/main/java/net/minecraft/world/entity/npc/Villager.java b/src/main/java/net/minecraft/world/entity/npc/Villager.java -index 82ed0ce824e84ea09ea963caa61fbb75f6ce6fe7..f51078e4b9e6267fa43795d009f5d149b86acb5a 100644 +index 77c8c09b3d74b0dd88321bdfdf19d0f089d4e432..27db2878073d1d77813574adfc54d1d686fc7088 100644 --- a/src/main/java/net/minecraft/world/entity/npc/Villager.java +++ b/src/main/java/net/minecraft/world/entity/npc/Villager.java @@ -490,6 +490,7 @@ public class Villager extends AbstractVillager implements ReputationEventHandler diff --git a/patches/unapplied/server/0421-Toggle-for-removing-existing-dragon.patch b/patches/server/0420-Toggle-for-removing-existing-dragon.patch similarity index 100% rename from patches/unapplied/server/0421-Toggle-for-removing-existing-dragon.patch rename to patches/server/0420-Toggle-for-removing-existing-dragon.patch diff --git a/patches/unapplied/server/0422-Fix-client-lag-on-advancement-loading.patch b/patches/server/0421-Fix-client-lag-on-advancement-loading.patch similarity index 95% rename from patches/unapplied/server/0422-Fix-client-lag-on-advancement-loading.patch rename to patches/server/0421-Fix-client-lag-on-advancement-loading.patch index c7284e1f8b..4866bbae4b 100644 --- a/patches/unapplied/server/0422-Fix-client-lag-on-advancement-loading.patch +++ b/patches/server/0421-Fix-client-lag-on-advancement-loading.patch @@ -15,7 +15,7 @@ manually reload the advancement data for all players, which normally takes place as a part of the datapack reloading. diff --git a/src/main/java/org/bukkit/craftbukkit/util/CraftMagicNumbers.java b/src/main/java/org/bukkit/craftbukkit/util/CraftMagicNumbers.java -index 09a6a0c06580aea9e7be8de2189673d1a476f411..e88b384e3d640dd77e419611f3c0e588fbf4f406 100644 +index 78bc460fff7d537109883f1469500f6f536c598e..5f0fd1d4fe419435ac7293106c0ebb5382d64074 100644 --- a/src/main/java/org/bukkit/craftbukkit/util/CraftMagicNumbers.java +++ b/src/main/java/org/bukkit/craftbukkit/util/CraftMagicNumbers.java @@ -318,7 +318,13 @@ public final class CraftMagicNumbers implements UnsafeValues { diff --git a/patches/unapplied/server/0423-Item-no-age-no-player-pickup.patch b/patches/server/0422-Item-no-age-no-player-pickup.patch similarity index 100% rename from patches/unapplied/server/0423-Item-no-age-no-player-pickup.patch rename to patches/server/0422-Item-no-age-no-player-pickup.patch diff --git a/patches/unapplied/server/0424-Beacon-API-custom-effect-ranges.patch b/patches/server/0423-Beacon-API-custom-effect-ranges.patch similarity index 100% rename from patches/unapplied/server/0424-Beacon-API-custom-effect-ranges.patch rename to patches/server/0423-Beacon-API-custom-effect-ranges.patch diff --git a/patches/unapplied/server/0425-Add-API-for-quit-reason.patch b/patches/server/0424-Add-API-for-quit-reason.patch similarity index 95% rename from patches/unapplied/server/0425-Add-API-for-quit-reason.patch rename to patches/server/0424-Add-API-for-quit-reason.patch index c4ca4510d4..858ecc745a 100644 --- a/patches/unapplied/server/0425-Add-API-for-quit-reason.patch +++ b/patches/server/0424-Add-API-for-quit-reason.patch @@ -5,7 +5,7 @@ Subject: [PATCH] Add API for quit reason diff --git a/src/main/java/net/minecraft/network/Connection.java b/src/main/java/net/minecraft/network/Connection.java -index 134810ac91d828d67759cd1ed56f11b71e292917..ba41646a5edb57c4d9766df08bbc57016e2de189 100644 +index f9158826f16e45c81714c2e0a284828bc5bb95c8..448bde861b4190a678a8ccb63cade43c4a3d6ad9 100644 --- a/src/main/java/net/minecraft/network/Connection.java +++ b/src/main/java/net/minecraft/network/Connection.java @@ -167,8 +167,10 @@ public class Connection extends SimpleChannelInboundHandler> { @@ -28,10 +28,10 @@ index 134810ac91d828d67759cd1ed56f11b71e292917..ba41646a5edb57c4d9766df08bbc5701 Connection.LOGGER.debug("Failed to sent packet", throwable); if (this.getSending() == PacketFlow.CLIENTBOUND) { diff --git a/src/main/java/net/minecraft/server/level/ServerPlayer.java b/src/main/java/net/minecraft/server/level/ServerPlayer.java -index 02ad5331783097d97473ef2a1f2e28b07baae8e4..46de03e961438faaf44b8bd39aed7535daef1bf9 100644 +index 475ad396d842617b53ccf59fd07bfe1682852e50..6344947f445e1da19d21de67a51b88de65eceb7a 100644 --- a/src/main/java/net/minecraft/server/level/ServerPlayer.java +++ b/src/main/java/net/minecraft/server/level/ServerPlayer.java -@@ -323,6 +323,7 @@ public class ServerPlayer extends net.minecraft.world.entity.player.Player { +@@ -321,6 +321,7 @@ public class ServerPlayer extends net.minecraft.world.entity.player.Player { public boolean isRealPlayer; // Paper public com.destroystokyo.paper.event.entity.PlayerNaturallySpawnCreaturesEvent playerNaturallySpawnedEvent; // Paper - PlayerNaturallySpawnCreaturesEvent public @Nullable String clientBrandName = null; // Paper - Brand support diff --git a/patches/unapplied/server/0426-Add-Wandering-Trader-spawn-rate-config-options.patch b/patches/server/0425-Add-Wandering-Trader-spawn-rate-config-options.patch similarity index 100% rename from patches/unapplied/server/0426-Add-Wandering-Trader-spawn-rate-config-options.patch rename to patches/server/0425-Add-Wandering-Trader-spawn-rate-config-options.patch diff --git a/patches/unapplied/server/0427-Add-Destroy-Speed-API.patch b/patches/server/0426-Add-Destroy-Speed-API.patch similarity index 98% rename from patches/unapplied/server/0427-Add-Destroy-Speed-API.patch rename to patches/server/0426-Add-Destroy-Speed-API.patch index d7c93744a0..251968d61c 100644 --- a/patches/unapplied/server/0427-Add-Destroy-Speed-API.patch +++ b/patches/server/0426-Add-Destroy-Speed-API.patch @@ -35,10 +35,10 @@ index a2fe7149a837040cf9f23eb426d398a5f90be394..27a7852a5d3f8c8960f098646ff5587c private Collection getModifiersOrEmpty(AttributeModifier.Operation operation) { diff --git a/src/main/java/org/bukkit/craftbukkit/block/data/CraftBlockData.java b/src/main/java/org/bukkit/craftbukkit/block/data/CraftBlockData.java -index cabf3146b0dd5790536cb9995de6a876d7ab3f50..0cf033e1b559506bd902a2159adef2b279c18798 100644 +index 4982950b13cdf1668c0a662b80faf9f700ed584b..78071859e9b745b2497fec7761888b4e65a208a1 100644 --- a/src/main/java/org/bukkit/craftbukkit/block/data/CraftBlockData.java +++ b/src/main/java/org/bukkit/craftbukkit/block/data/CraftBlockData.java -@@ -729,4 +729,35 @@ public class CraftBlockData implements BlockData { +@@ -730,4 +730,35 @@ public class CraftBlockData implements BlockData { public BlockState createBlockState() { return CraftBlockStates.getBlockState(this.state, null); } diff --git a/patches/unapplied/server/0428-Fix-Player-spawnParticle-x-y-z-precision-loss.patch b/patches/server/0427-Fix-Player-spawnParticle-x-y-z-precision-loss.patch similarity index 68% rename from patches/unapplied/server/0428-Fix-Player-spawnParticle-x-y-z-precision-loss.patch rename to patches/server/0427-Fix-Player-spawnParticle-x-y-z-precision-loss.patch index fbc3a45203..92b41a4864 100644 --- a/patches/unapplied/server/0428-Fix-Player-spawnParticle-x-y-z-precision-loss.patch +++ b/patches/server/0427-Fix-Player-spawnParticle-x-y-z-precision-loss.patch @@ -5,15 +5,15 @@ Subject: [PATCH] Fix Player spawnParticle x/y/z precision loss diff --git a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java -index ee510171f58aca1ca18053fbd5a55cc2ab23a422..0ec00d64947359c08d2315ebaebd76aee548b512 100644 +index 42ee772b76b7601ad59378c81277fe0c60e4438b..0aaea6091c5828782ed606d250423f3d75b9b27f 100644 --- a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java +++ b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java -@@ -2724,7 +2724,7 @@ public class CraftPlayer extends CraftHumanEntity implements Player { +@@ -2709,7 +2709,7 @@ public class CraftPlayer extends CraftHumanEntity implements Player { @Override public void spawnParticle(Particle particle, double x, double y, double z, int count, double offsetX, double offsetY, double offsetZ, double extra, T data, boolean force) { -- ClientboundLevelParticlesPacket packetplayoutworldparticles = new ClientboundLevelParticlesPacket(CraftParticle.createParticleParam(particle, data), force, (float) x, (float) y, (float) z, (float) offsetX, (float) offsetY, (float) offsetZ, (float) extra, count); -+ ClientboundLevelParticlesPacket packetplayoutworldparticles = new ClientboundLevelParticlesPacket(CraftParticle.createParticleParam(particle, data), force, x, y, z, (float) offsetX, (float) offsetY, (float) offsetZ, (float) extra, count); // Paper - fix x/y/z precision loss +- ClientboundLevelParticlesPacket packetplayoutworldparticles = new ClientboundLevelParticlesPacket(CraftParticle.createParticleParam(particle, data), false, force, (float) x, (float) y, (float) z, (float) offsetX, (float) offsetY, (float) offsetZ, (float) extra, count); ++ ClientboundLevelParticlesPacket packetplayoutworldparticles = new ClientboundLevelParticlesPacket(CraftParticle.createParticleParam(particle, data), false, force, x, y, z, (float) offsetX, (float) offsetY, (float) offsetZ, (float) extra, count); // Paper - fix x/y/z precision loss this.getHandle().connection.send(packetplayoutworldparticles); } diff --git a/patches/unapplied/server/0429-Add-LivingEntity-clearActiveItem.patch b/patches/server/0428-Add-LivingEntity-clearActiveItem.patch similarity index 90% rename from patches/unapplied/server/0429-Add-LivingEntity-clearActiveItem.patch rename to patches/server/0428-Add-LivingEntity-clearActiveItem.patch index 3c6621ccfa..f470d50f88 100644 --- a/patches/unapplied/server/0429-Add-LivingEntity-clearActiveItem.patch +++ b/patches/server/0428-Add-LivingEntity-clearActiveItem.patch @@ -5,7 +5,7 @@ Subject: [PATCH] Add LivingEntity#clearActiveItem diff --git a/src/main/java/org/bukkit/craftbukkit/entity/CraftLivingEntity.java b/src/main/java/org/bukkit/craftbukkit/entity/CraftLivingEntity.java -index db15382f35464de43a2fe0a41aca070a8c834777..de41ee2cc1be6ef412ec15c79a65cbca653b35d3 100644 +index e979681142bd08aeb00a98b79789a8f41b2a37af..c19694876007f711dfdcf58ef435a839b1e31d72 100644 --- a/src/main/java/org/bukkit/craftbukkit/entity/CraftLivingEntity.java +++ b/src/main/java/org/bukkit/craftbukkit/entity/CraftLivingEntity.java @@ -967,6 +967,13 @@ public class CraftLivingEntity extends CraftEntity implements LivingEntity { diff --git a/patches/unapplied/server/0430-Add-PlayerItemCooldownEvent.patch b/patches/server/0429-Add-PlayerItemCooldownEvent.patch similarity index 100% rename from patches/unapplied/server/0430-Add-PlayerItemCooldownEvent.patch rename to patches/server/0429-Add-PlayerItemCooldownEvent.patch diff --git a/patches/unapplied/server/0431-Significantly-improve-performance-of-the-end-generat.patch b/patches/server/0430-Significantly-improve-performance-of-the-end-generat.patch similarity index 100% rename from patches/unapplied/server/0431-Significantly-improve-performance-of-the-end-generat.patch rename to patches/server/0430-Significantly-improve-performance-of-the-end-generat.patch diff --git a/patches/unapplied/server/0432-More-lightning-API.patch b/patches/server/0431-More-lightning-API.patch similarity index 100% rename from patches/unapplied/server/0432-More-lightning-API.patch rename to patches/server/0431-More-lightning-API.patch diff --git a/patches/unapplied/server/0433-Climbing-should-not-bypass-cramming-gamerule.patch b/patches/server/0432-Climbing-should-not-bypass-cramming-gamerule.patch similarity index 92% rename from patches/unapplied/server/0433-Climbing-should-not-bypass-cramming-gamerule.patch rename to patches/server/0432-Climbing-should-not-bypass-cramming-gamerule.patch index f1a1607dd7..b79a107f9e 100644 --- a/patches/unapplied/server/0433-Climbing-should-not-bypass-cramming-gamerule.patch +++ b/patches/server/0432-Climbing-should-not-bypass-cramming-gamerule.patch @@ -5,10 +5,10 @@ Subject: [PATCH] Climbing should not bypass cramming gamerule diff --git a/src/main/java/net/minecraft/world/entity/Entity.java b/src/main/java/net/minecraft/world/entity/Entity.java -index 20289623062acd34afb0ca5fc7daaf032ec1f418..7a4aaa56f8d547ebc537657855d5fcdb4ef21e36 100644 +index 6970e85853954c240bc89407e2aaafdd888bc334..b30bc225fe971aed01c7552f66e0c231cfc35d8c 100644 --- a/src/main/java/net/minecraft/world/entity/Entity.java +++ b/src/main/java/net/minecraft/world/entity/Entity.java -@@ -2196,6 +2196,12 @@ public abstract class Entity implements SyncedDataHolder, Nameable, EntityAccess +@@ -2219,6 +2219,12 @@ public abstract class Entity implements SyncedDataHolder, Nameable, EntityAccess } public boolean isPushable() { @@ -44,10 +44,10 @@ index b8d57e25851dd7da905100dfd4022e4b99fd7f02..721321a19ce056f82de2bef44a8791dc } else if (entity1 instanceof Player && entity instanceof Player && !io.papermc.paper.configuration.GlobalConfiguration.get().collisions.enablePlayerCollisions) { // Paper - Configurable player collision return false; diff --git a/src/main/java/net/minecraft/world/entity/LivingEntity.java b/src/main/java/net/minecraft/world/entity/LivingEntity.java -index e3322e8897f361b3fbf8d7188207271906a84c46..b725bd297ed40aa8ccf3ad77f8652b39980efcf2 100644 +index f592bee9f71580ec248e4b7485c938f3b83aeb9d..d7e5c2d5935a86bab9987c36df8e1b957fe90ba0 100644 --- a/src/main/java/net/minecraft/world/entity/LivingEntity.java +++ b/src/main/java/net/minecraft/world/entity/LivingEntity.java -@@ -3711,7 +3711,7 @@ public abstract class LivingEntity extends Entity implements Attackable { +@@ -3722,7 +3722,7 @@ public abstract class LivingEntity extends Entity implements Attackable { return; } // Paper end - don't run getEntities if we're not going to use its result @@ -56,7 +56,7 @@ index e3322e8897f361b3fbf8d7188207271906a84c46..b725bd297ed40aa8ccf3ad77f8652b39 if (!list.isEmpty()) { // Paper - don't run getEntities if we're not going to use its result; moved up -@@ -3916,9 +3916,16 @@ public abstract class LivingEntity extends Entity implements Attackable { +@@ -3923,9 +3923,16 @@ public abstract class LivingEntity extends Entity implements Attackable { return !this.isRemoved() && this.collides; // CraftBukkit } @@ -88,10 +88,10 @@ index d8a2fbb33f4b77ffb1b3c928a369c2824ad815d7..60c2868f255d372226e0c1389caaa547 } diff --git a/src/main/java/net/minecraft/world/entity/animal/Parrot.java b/src/main/java/net/minecraft/world/entity/animal/Parrot.java -index 9a187b9b20e4e5ee4cdb7df31629faee9d3ebb60..8883894da73c7d5975a8826d23ee7f542db98b0b 100644 +index e9219921fe63a05bee4b6e18d5c1558cbcd88220..a2f0b79599799ad2aa85aff821d8ac76a8e650bd 100644 --- a/src/main/java/net/minecraft/world/entity/animal/Parrot.java +++ b/src/main/java/net/minecraft/world/entity/animal/Parrot.java -@@ -364,8 +364,8 @@ public class Parrot extends ShoulderRidingEntity implements VariantHolder 0L && this.server.getPlayerIdleTimeout() > 0 && Util.getMillis() - this.player.getLastActionTime() > (long) this.server.getPlayerIdleTimeout() * 1000L * 60L) { this.player.resetLastActionTime(); // CraftBukkit - SPIGOT-854 -@@ -3088,6 +3090,14 @@ public class ServerGamePacketListenerImpl extends ServerCommonPacketListenerImpl +@@ -3155,6 +3157,14 @@ public class ServerGamePacketListenerImpl extends ServerCommonPacketListenerImpl @Override public void handlePlaceRecipe(ServerboundPlaceRecipePacket packet) { diff --git a/patches/unapplied/server/0437-Fix-CraftSound-backwards-compatibility.patch b/patches/server/0436-Fix-CraftSound-backwards-compatibility.patch similarity index 100% rename from patches/unapplied/server/0437-Fix-CraftSound-backwards-compatibility.patch rename to patches/server/0436-Fix-CraftSound-backwards-compatibility.patch diff --git a/patches/unapplied/server/0438-Player-Chunk-Load-Unload-Events.patch b/patches/server/0437-Player-Chunk-Load-Unload-Events.patch similarity index 100% rename from patches/unapplied/server/0438-Player-Chunk-Load-Unload-Events.patch rename to patches/server/0437-Player-Chunk-Load-Unload-Events.patch diff --git a/patches/unapplied/server/0439-Optimize-Dynamic-get-Missing-Keys.patch b/patches/server/0438-Optimize-Dynamic-get-Missing-Keys.patch similarity index 100% rename from patches/unapplied/server/0439-Optimize-Dynamic-get-Missing-Keys.patch rename to patches/server/0438-Optimize-Dynamic-get-Missing-Keys.patch diff --git a/patches/unapplied/server/0440-Expose-LivingEntity-hurt-direction.patch b/patches/server/0439-Expose-LivingEntity-hurt-direction.patch similarity index 90% rename from patches/unapplied/server/0440-Expose-LivingEntity-hurt-direction.patch rename to patches/server/0439-Expose-LivingEntity-hurt-direction.patch index 604bb654f0..3720327ae5 100644 --- a/patches/unapplied/server/0440-Expose-LivingEntity-hurt-direction.patch +++ b/patches/server/0439-Expose-LivingEntity-hurt-direction.patch @@ -5,10 +5,10 @@ Subject: [PATCH] Expose LivingEntity hurt direction diff --git a/src/main/java/net/minecraft/world/entity/player/Player.java b/src/main/java/net/minecraft/world/entity/player/Player.java -index 917ac21794f1aabc6e95ab2fff2ea7547b9778a8..78bb666dbc5ccd84820e1c7b382249510dd5795c 100644 +index c23b8f00d7ce3a46f9d104ffae5e4c6124a111ce..136a6b8e2065c7bada396e0f54f91c841a85c3d8 100644 --- a/src/main/java/net/minecraft/world/entity/player/Player.java +++ b/src/main/java/net/minecraft/world/entity/player/Player.java -@@ -188,7 +188,7 @@ public abstract class Player extends LivingEntity { +@@ -191,7 +191,7 @@ public abstract class Player extends LivingEntity { private Optional lastDeathLocation; @Nullable public FishingHook fishing; @@ -36,7 +36,7 @@ index 8012ee71e1ce9f174eb5c4ac9eb8372b81e0a78c..42c41cd4b280839a35f77e04d0dc6a06 public int getSleepTicks() { return this.getHandle().sleepCounter; diff --git a/src/main/java/org/bukkit/craftbukkit/entity/CraftLivingEntity.java b/src/main/java/org/bukkit/craftbukkit/entity/CraftLivingEntity.java -index de41ee2cc1be6ef412ec15c79a65cbca653b35d3..ff3b53eff8f5fc1e02e7b30d59ff27dfe8f5d431 100644 +index c19694876007f711dfdcf58ef435a839b1e31d72..1ca252f36500322d56c0c12b6ec80c069214c0e8 100644 --- a/src/main/java/org/bukkit/craftbukkit/entity/CraftLivingEntity.java +++ b/src/main/java/org/bukkit/craftbukkit/entity/CraftLivingEntity.java @@ -1024,4 +1024,16 @@ public class CraftLivingEntity extends CraftEntity implements LivingEntity { diff --git a/patches/unapplied/server/0441-Add-OBSTRUCTED-reason-to-BedEnterResult.patch b/patches/server/0440-Add-OBSTRUCTED-reason-to-BedEnterResult.patch similarity index 100% rename from patches/unapplied/server/0441-Add-OBSTRUCTED-reason-to-BedEnterResult.patch rename to patches/server/0440-Add-OBSTRUCTED-reason-to-BedEnterResult.patch diff --git a/patches/unapplied/server/0442-Fix-crash-from-invalid-ingredient-lists-in-VillagerA.patch b/patches/server/0441-Fix-crash-from-invalid-ingredient-lists-in-VillagerA.patch similarity index 93% rename from patches/unapplied/server/0442-Fix-crash-from-invalid-ingredient-lists-in-VillagerA.patch rename to patches/server/0441-Fix-crash-from-invalid-ingredient-lists-in-VillagerA.patch index 8c0b0c171b..3122449eed 100644 --- a/patches/unapplied/server/0442-Fix-crash-from-invalid-ingredient-lists-in-VillagerA.patch +++ b/patches/server/0441-Fix-crash-from-invalid-ingredient-lists-in-VillagerA.patch @@ -6,7 +6,7 @@ Subject: [PATCH] Fix crash from invalid ingredient lists in diff --git a/src/main/java/net/minecraft/world/entity/npc/AbstractVillager.java b/src/main/java/net/minecraft/world/entity/npc/AbstractVillager.java -index c8231e421e6c3f1cf8a5aaf8cc64741abe868f41..39cb40b077e9c07471437d5bec16ba9a7e6bce52 100644 +index deac9d6389493213e2b0cc8e2b6ae0c9f055c011..5ea56c6048a356d84472ef0e744af41fe063ccc7 100644 --- a/src/main/java/net/minecraft/world/entity/npc/AbstractVillager.java +++ b/src/main/java/net/minecraft/world/entity/npc/AbstractVillager.java @@ -273,7 +273,11 @@ public abstract class AbstractVillager extends AgeableMob implements InventoryCa diff --git a/patches/unapplied/server/0443-Add-TargetHitEvent.patch b/patches/server/0442-Add-TargetHitEvent.patch similarity index 100% rename from patches/unapplied/server/0443-Add-TargetHitEvent.patch rename to patches/server/0442-Add-TargetHitEvent.patch diff --git a/patches/unapplied/server/0444-MC-4-Fix-item-position-desync.patch b/patches/server/0443-MC-4-Fix-item-position-desync.patch similarity index 93% rename from patches/unapplied/server/0444-MC-4-Fix-item-position-desync.patch rename to patches/server/0443-MC-4-Fix-item-position-desync.patch index a4ce339757..d954756c7a 100644 --- a/patches/unapplied/server/0444-MC-4-Fix-item-position-desync.patch +++ b/patches/server/0443-MC-4-Fix-item-position-desync.patch @@ -28,10 +28,10 @@ index 488ebd443903af812913437f1ade3002093f2470..a043ac10834562d357ef0b5aded2e916 public Vec3 decode(long x, long y, long z) { diff --git a/src/main/java/net/minecraft/world/entity/Entity.java b/src/main/java/net/minecraft/world/entity/Entity.java -index 7a4aaa56f8d547ebc537657855d5fcdb4ef21e36..e08d20b65fdea46be94228b4b10ba1cb7b3beeb6 100644 +index b30bc225fe971aed01c7552f66e0c231cfc35d8c..341cfedfb06ac0a18b8cca1df5aa4f72b1455737 100644 --- a/src/main/java/net/minecraft/world/entity/Entity.java +++ b/src/main/java/net/minecraft/world/entity/Entity.java -@@ -4479,6 +4479,16 @@ public abstract class Entity implements SyncedDataHolder, Nameable, EntityAccess +@@ -4505,6 +4505,16 @@ public abstract class Entity implements SyncedDataHolder, Nameable, EntityAccess return; } // Paper end - Block invalid positions and bounding box diff --git a/patches/unapplied/server/0445-Additional-Block-Material-API.patch b/patches/server/0444-Additional-Block-Material-API.patch similarity index 100% rename from patches/unapplied/server/0445-Additional-Block-Material-API.patch rename to patches/server/0444-Additional-Block-Material-API.patch diff --git a/patches/unapplied/server/0446-API-to-get-Material-from-Boats-and-Minecarts.patch b/patches/server/0445-API-to-get-Material-from-Boats-and-Minecarts.patch similarity index 100% rename from patches/unapplied/server/0446-API-to-get-Material-from-Boats-and-Minecarts.patch rename to patches/server/0445-API-to-get-Material-from-Boats-and-Minecarts.patch diff --git a/patches/unapplied/server/0345-Validate-PickItem-Packet-and-kick-for-invalid.patch b/patches/unapplied/server/0345-Validate-PickItem-Packet-and-kick-for-invalid.patch deleted file mode 100644 index 6b1b7c3df3..0000000000 --- a/patches/unapplied/server/0345-Validate-PickItem-Packet-and-kick-for-invalid.patch +++ /dev/null @@ -1,26 +0,0 @@ -From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 -From: Aikar -Date: Sat, 2 May 2020 03:09:46 -0400 -Subject: [PATCH] Validate PickItem Packet and kick for invalid - - -diff --git a/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java b/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java -index 8a58c1bdda065edd7b8560cd43e805de3fe0b178..59c12f6d5d96835b4b37ed5a761f25f8f147c54a 100644 ---- a/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java -+++ b/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java -@@ -906,7 +906,14 @@ public class ServerGamePacketListenerImpl extends ServerCommonPacketListenerImpl - @Override - public void handlePickItem(ServerboundPickItemPacket packet) { - PacketUtils.ensureRunningOnSameThread(packet, this, this.player.serverLevel()); -- this.player.getInventory().pickSlot(packet.getSlot()); -+ // Paper start - validate pick item position -+ if (!(packet.getSlot() >= 0 && packet.getSlot() < this.player.getInventory().items.size())) { -+ ServerGamePacketListenerImpl.LOGGER.warn("{} tried to set an invalid carried item", this.player.getName().getString()); -+ this.disconnect(Component.literal("Invalid hotbar selection (Hacking?)")); -+ return; -+ } -+ this.player.getInventory().pickSlot(packet.getSlot()); // Paper - Diff above if changed -+ // Paper end - validate pick item position - int i = this.player.getInventory().selected; - - this.player.connection.send(this.player.getInventory().createInventoryUpdatePacket(i));