diff --git a/patches/unapplied/server/0801-Add-EntityDyeEvent-and-CollarColorable-interface.patch b/patches/server/0800-Add-EntityDyeEvent-and-CollarColorable-interface.patch similarity index 100% rename from patches/unapplied/server/0801-Add-EntityDyeEvent-and-CollarColorable-interface.patch rename to patches/server/0800-Add-EntityDyeEvent-and-CollarColorable-interface.patch diff --git a/patches/unapplied/server/0802-Fire-CauldronLevelChange-on-initial-fill.patch b/patches/server/0801-Fire-CauldronLevelChange-on-initial-fill.patch similarity index 91% rename from patches/unapplied/server/0802-Fire-CauldronLevelChange-on-initial-fill.patch rename to patches/server/0801-Fire-CauldronLevelChange-on-initial-fill.patch index bcc871d7bc..2d6f6a9296 100644 --- a/patches/unapplied/server/0802-Fire-CauldronLevelChange-on-initial-fill.patch +++ b/patches/server/0801-Fire-CauldronLevelChange-on-initial-fill.patch @@ -7,10 +7,10 @@ Also don't fire level events or game events if stalactite drip is cancelled diff --git a/src/main/java/net/minecraft/world/level/block/CauldronBlock.java b/src/main/java/net/minecraft/world/level/block/CauldronBlock.java -index 53089c3a36bf2c0ec1bc9b436884deff0c30f028..2f85b893dd0abc39fcedec65acc89e1567faf6f0 100644 +index 588b3e911d9b22dad2928ea9e32e8a8a3a8e9b96..a821a981adbebdcf22997731b9bbea3d033cd2b1 100644 --- a/src/main/java/net/minecraft/world/level/block/CauldronBlock.java +++ b/src/main/java/net/minecraft/world/level/block/CauldronBlock.java -@@ -36,10 +36,18 @@ public class CauldronBlock extends AbstractCauldronBlock { +@@ -43,10 +43,18 @@ public class CauldronBlock extends AbstractCauldronBlock { public void handlePrecipitation(BlockState state, Level world, BlockPos pos, Biome.Precipitation precipitation) { if (CauldronBlock.shouldHandlePrecipitation(world, precipitation)) { if (precipitation == Biome.Precipitation.RAIN) { @@ -31,7 +31,7 @@ index 53089c3a36bf2c0ec1bc9b436884deff0c30f028..2f85b893dd0abc39fcedec65acc89e15 world.gameEvent((Entity) null, GameEvent.BLOCK_CHANGE, pos); } -@@ -57,11 +65,19 @@ public class CauldronBlock extends AbstractCauldronBlock { +@@ -64,11 +72,19 @@ public class CauldronBlock extends AbstractCauldronBlock { if (fluid == Fluids.WATER) { iblockdata1 = Blocks.WATER_CAULDRON.defaultBlockState(); @@ -54,10 +54,10 @@ index 53089c3a36bf2c0ec1bc9b436884deff0c30f028..2f85b893dd0abc39fcedec65acc89e15 } diff --git a/src/main/java/net/minecraft/world/level/block/LayeredCauldronBlock.java b/src/main/java/net/minecraft/world/level/block/LayeredCauldronBlock.java -index 24d2da792bc498adf4251555a538df4cafe2e827..14164aa59fa5e315788cd7a207228081a05fd18f 100644 +index a8b2c49ebf531d730d681ca3bceb4dc74b433fdb..7daf2ec30fd31023d326a6149661f38bfc1d646b 100644 --- a/src/main/java/net/minecraft/world/level/block/LayeredCauldronBlock.java +++ b/src/main/java/net/minecraft/world/level/block/LayeredCauldronBlock.java -@@ -91,7 +91,13 @@ public class LayeredCauldronBlock extends AbstractCauldronBlock { +@@ -101,7 +101,13 @@ public class LayeredCauldronBlock extends AbstractCauldronBlock { } // CraftBukkit start @@ -72,7 +72,7 @@ index 24d2da792bc498adf4251555a538df4cafe2e827..14164aa59fa5e315788cd7a207228081 CraftBlockState newState = CraftBlockStates.getBlockState(world, blockposition); newState.setData(newBlock); -@@ -104,7 +110,7 @@ public class LayeredCauldronBlock extends AbstractCauldronBlock { +@@ -114,7 +120,7 @@ public class LayeredCauldronBlock extends AbstractCauldronBlock { return false; } newState.update(true); diff --git a/patches/unapplied/server/0803-fix-powder-snow-cauldrons-not-turning-to-water.patch b/patches/server/0802-fix-powder-snow-cauldrons-not-turning-to-water.patch similarity index 50% rename from patches/unapplied/server/0803-fix-powder-snow-cauldrons-not-turning-to-water.patch rename to patches/server/0802-fix-powder-snow-cauldrons-not-turning-to-water.patch index fec28b7e17..23bd154f1b 100644 --- a/patches/unapplied/server/0803-fix-powder-snow-cauldrons-not-turning-to-water.patch +++ b/patches/server/0802-fix-powder-snow-cauldrons-not-turning-to-water.patch @@ -7,10 +7,10 @@ Powder snow cauldrons should turn to water when extinguishing an entity diff --git a/src/main/java/net/minecraft/world/level/block/LayeredCauldronBlock.java b/src/main/java/net/minecraft/world/level/block/LayeredCauldronBlock.java -index 14164aa59fa5e315788cd7a207228081a05fd18f..2932419b7ca3f066b1db329829af36ba31e17c65 100644 +index 7daf2ec30fd31023d326a6149661f38bfc1d646b..43a72941ab553c154633144d358fb204765257f5 100644 --- a/src/main/java/net/minecraft/world/level/block/LayeredCauldronBlock.java +++ b/src/main/java/net/minecraft/world/level/block/LayeredCauldronBlock.java -@@ -64,7 +64,7 @@ public class LayeredCauldronBlock extends AbstractCauldronBlock { +@@ -69,7 +69,7 @@ public class LayeredCauldronBlock extends AbstractCauldronBlock { if (!world.isClientSide && entity.isOnFire() && this.isEntityInsideContent(state, pos, entity)) { // CraftBukkit start if (entity.mayInteract(world, pos)) { @@ -19,13 +19,17 @@ index 14164aa59fa5e315788cd7a207228081a05fd18f..2932419b7ca3f066b1db329829af36ba return; } } -@@ -74,9 +74,15 @@ public class LayeredCauldronBlock extends AbstractCauldronBlock { +@@ -79,6 +79,7 @@ public class LayeredCauldronBlock extends AbstractCauldronBlock { } + @Deprecated // Paper - use #handleEntityOnFireInsideWithEvent - protected void handleEntityOnFireInside(BlockState state, Level world, BlockPos pos) { - LayeredCauldronBlock.lowerFillLevel(state, world, pos); + private void handleEntityOnFireInside(BlockState state, Level world, BlockPos pos) { + if (this.precipitationType == Biome.Precipitation.SNOW) { + LayeredCauldronBlock.lowerFillLevel((BlockState) Blocks.WATER_CAULDRON.defaultBlockState().setValue(LayeredCauldronBlock.LEVEL, (Integer) state.getValue(LayeredCauldronBlock.LEVEL)), world, pos); +@@ -87,6 +88,11 @@ public class LayeredCauldronBlock extends AbstractCauldronBlock { + } + } + // Paper start + protected boolean handleEntityOnFireInsideWithEvent(BlockState state, Level world, BlockPos pos, Entity entity) { @@ -35,22 +39,3 @@ index 14164aa59fa5e315788cd7a207228081a05fd18f..2932419b7ca3f066b1db329829af36ba public static void lowerFillLevel(BlockState state, Level world, BlockPos pos) { // CraftBukkit start -diff --git a/src/main/java/net/minecraft/world/level/block/PowderSnowCauldronBlock.java b/src/main/java/net/minecraft/world/level/block/PowderSnowCauldronBlock.java -index 54c8f2ccadd685b43d7ee032a95bfcf193357ce9..7f6b240bbbb773ca49e0e6290169cc81f5529af5 100644 ---- a/src/main/java/net/minecraft/world/level/block/PowderSnowCauldronBlock.java -+++ b/src/main/java/net/minecraft/world/level/block/PowderSnowCauldronBlock.java -@@ -16,7 +16,14 @@ public class PowderSnowCauldronBlock extends LayeredCauldronBlock { - } - - @Override -+ @Deprecated // Paper - use #handleEntityOnFireInsideWithEvent - protected void handleEntityOnFireInside(BlockState state, Level world, BlockPos pos) { - lowerFillLevel(Blocks.WATER_CAULDRON.defaultBlockState().setValue(LEVEL, state.getValue(LEVEL)), world, pos); - } -+ // Paper - replace powdered snow with water (taken from #handleEntityOnFireInside) -+ @Override -+ protected boolean handleEntityOnFireInsideWithEvent(BlockState state, Level world, BlockPos pos, net.minecraft.world.entity.Entity entity) { -+ return super.handleEntityOnFireInsideWithEvent(Blocks.WATER_CAULDRON.defaultBlockState().setValue(LEVEL, state.getValue(LEVEL)), world, pos, entity); -+ } -+ // Paper end - } diff --git a/patches/unapplied/server/0804-Add-PlayerStopUsingItemEvent.patch b/patches/server/0803-Add-PlayerStopUsingItemEvent.patch similarity index 85% rename from patches/unapplied/server/0804-Add-PlayerStopUsingItemEvent.patch rename to patches/server/0803-Add-PlayerStopUsingItemEvent.patch index 3134b2b297..622fc353c2 100644 --- a/patches/unapplied/server/0804-Add-PlayerStopUsingItemEvent.patch +++ b/patches/server/0803-Add-PlayerStopUsingItemEvent.patch @@ -5,10 +5,10 @@ Subject: [PATCH] Add PlayerStopUsingItemEvent diff --git a/src/main/java/net/minecraft/world/entity/LivingEntity.java b/src/main/java/net/minecraft/world/entity/LivingEntity.java -index 6aec9841fbb41ba448b7c77723f7081b6dfba884..351f6c554a3d50ebe2572671c433be5750ac6dd8 100644 +index b8c7f0077118825848bddee8279e252914929d35..a21de30eef397308e3f4866a16cc588012e16f50 100644 --- a/src/main/java/net/minecraft/world/entity/LivingEntity.java +++ b/src/main/java/net/minecraft/world/entity/LivingEntity.java -@@ -4023,6 +4023,7 @@ public abstract class LivingEntity extends Entity implements Attackable { +@@ -4025,6 +4025,7 @@ public abstract class LivingEntity extends Entity implements Attackable { public void releaseUsingItem() { if (!this.useItem.isEmpty()) { diff --git a/patches/unapplied/server/0805-Don-t-tick-markers.patch b/patches/server/0804-Don-t-tick-markers.patch similarity index 95% rename from patches/unapplied/server/0805-Don-t-tick-markers.patch rename to patches/server/0804-Don-t-tick-markers.patch index 1ca6770933..a99d1e88a5 100644 --- a/patches/unapplied/server/0805-Don-t-tick-markers.patch +++ b/patches/server/0804-Don-t-tick-markers.patch @@ -23,10 +23,10 @@ index ff99336e0b8131ae161cfa5c4fc83c6905e3dbc8..5f43aedc6596e2b1ac7af97115157147 } }); diff --git a/src/main/java/net/minecraft/server/level/ServerLevel.java b/src/main/java/net/minecraft/server/level/ServerLevel.java -index 9cc9815aab6d0548c45e380ad3a90130c1d731d7..990e05590e0de258ae8b03335b2d888bc6be0229 100644 +index b9b7896c2f850f9a02900932ea9255dc0aa07e26..cc91327050998c5e725ee71ac8b91b41a8b01bdf 100644 --- a/src/main/java/net/minecraft/server/level/ServerLevel.java +++ b/src/main/java/net/minecraft/server/level/ServerLevel.java -@@ -2552,6 +2552,7 @@ public class ServerLevel extends Level implements WorldGenLevel { +@@ -2593,6 +2593,7 @@ public class ServerLevel extends Level implements WorldGenLevel { } public void onTickingStart(Entity entity) { diff --git a/patches/unapplied/server/0806-Expand-FallingBlock-API.patch b/patches/server/0805-Expand-FallingBlock-API.patch similarity index 98% rename from patches/unapplied/server/0806-Expand-FallingBlock-API.patch rename to patches/server/0805-Expand-FallingBlock-API.patch index 69b20741d3..2a31126860 100644 --- a/patches/unapplied/server/0806-Expand-FallingBlock-API.patch +++ b/patches/server/0805-Expand-FallingBlock-API.patch @@ -13,7 +13,7 @@ public net.minecraft.world.entity.item.FallingBlockEntity blockState Co-authored-by: Lukas Planz diff --git a/src/main/java/net/minecraft/world/entity/item/FallingBlockEntity.java b/src/main/java/net/minecraft/world/entity/item/FallingBlockEntity.java -index 5164c2bfb32275beff01b6e76dfbd9d031231bc6..e6f75a9cac46c8e3ddba664a9d5b27b665a94cb4 100644 +index fc33d05cf1a3cceb220dab1ee1da33ffe37834db..45c07733f03b5c11f6d8e820f65dc950c70d9a67 100644 --- a/src/main/java/net/minecraft/world/entity/item/FallingBlockEntity.java +++ b/src/main/java/net/minecraft/world/entity/item/FallingBlockEntity.java @@ -66,6 +66,7 @@ public class FallingBlockEntity extends Entity { diff --git a/patches/unapplied/server/0807-Do-not-accept-invalid-client-settings.patch b/patches/server/0806-Do-not-accept-invalid-client-settings.patch similarity index 90% rename from patches/unapplied/server/0807-Do-not-accept-invalid-client-settings.patch rename to patches/server/0806-Do-not-accept-invalid-client-settings.patch index 37641891a3..d73134c103 100644 --- a/patches/unapplied/server/0807-Do-not-accept-invalid-client-settings.patch +++ b/patches/server/0806-Do-not-accept-invalid-client-settings.patch @@ -5,10 +5,10 @@ Subject: [PATCH] Do not accept invalid client settings diff --git a/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java b/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java -index ab0a3fed682f6b2cd5e60224c3a0d2a55c69efe8..ac87735ff07ee0833727cdf8b62f443ce16a3216 100644 +index 600362fdc2d7b1f1f5614018af3339165c24d8a2..1b4fe753a4c4fc38b963720c2a7a9a4538550d32 100644 --- a/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java +++ b/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java -@@ -3312,6 +3312,13 @@ public class ServerGamePacketListenerImpl extends ServerCommonPacketListenerImpl +@@ -3320,6 +3320,13 @@ public class ServerGamePacketListenerImpl extends ServerCommonPacketListenerImpl @Override public void handleClientInformation(ServerboundClientInformationPacket packet) { PacketUtils.ensureRunningOnSameThread(packet, this, this.player.serverLevel()); diff --git a/patches/unapplied/server/0808-Add-support-for-Proxy-Protocol.patch b/patches/server/0807-Add-support-for-Proxy-Protocol.patch similarity index 100% rename from patches/unapplied/server/0808-Add-support-for-Proxy-Protocol.patch rename to patches/server/0807-Add-support-for-Proxy-Protocol.patch diff --git a/patches/unapplied/server/0809-Fix-OfflinePlayer-getBedSpawnLocation.patch b/patches/server/0808-Fix-OfflinePlayer-getBedSpawnLocation.patch similarity index 100% rename from patches/unapplied/server/0809-Fix-OfflinePlayer-getBedSpawnLocation.patch rename to patches/server/0808-Fix-OfflinePlayer-getBedSpawnLocation.patch diff --git a/patches/unapplied/server/0810-Fix-FurnaceInventory-for-smokers-and-blast-furnaces.patch b/patches/server/0809-Fix-FurnaceInventory-for-smokers-and-blast-furnaces.patch similarity index 85% rename from patches/unapplied/server/0810-Fix-FurnaceInventory-for-smokers-and-blast-furnaces.patch rename to patches/server/0809-Fix-FurnaceInventory-for-smokers-and-blast-furnaces.patch index 59fabed7e4..0a25f626ba 100644 --- a/patches/unapplied/server/0810-Fix-FurnaceInventory-for-smokers-and-blast-furnaces.patch +++ b/patches/server/0809-Fix-FurnaceInventory-for-smokers-and-blast-furnaces.patch @@ -5,10 +5,10 @@ Subject: [PATCH] Fix FurnaceInventory for smokers and blast furnaces diff --git a/src/main/java/org/bukkit/craftbukkit/inventory/util/CraftTileInventoryConverter.java b/src/main/java/org/bukkit/craftbukkit/inventory/util/CraftTileInventoryConverter.java -index 54e61b9b058bee2167461aaaf828ed7a00949c29..53421f780ac8bc2a67f64671fcad632fcdb8bede 100644 +index e97166d3008cae7897519eaaf56b39c927661098..b835782c9c9b8b47a3ce8727e376f795286299a3 100644 --- a/src/main/java/org/bukkit/craftbukkit/inventory/util/CraftTileInventoryConverter.java +++ b/src/main/java/org/bukkit/craftbukkit/inventory/util/CraftTileInventoryConverter.java -@@ -65,7 +65,7 @@ public abstract class CraftTileInventoryConverter implements CraftInventoryCreat +@@ -66,7 +66,7 @@ public abstract class CraftTileInventoryConverter implements CraftInventoryCreat return new CraftInventory(tileEntity); } @@ -17,7 +17,7 @@ index 54e61b9b058bee2167461aaaf828ed7a00949c29..53421f780ac8bc2a67f64671fcad632f @Override public Container getTileEntity() { -@@ -73,6 +73,11 @@ public abstract class CraftTileInventoryConverter implements CraftInventoryCreat +@@ -74,6 +74,11 @@ public abstract class CraftTileInventoryConverter implements CraftInventoryCreat return furnace; } @@ -29,7 +29,7 @@ index 54e61b9b058bee2167461aaaf828ed7a00949c29..53421f780ac8bc2a67f64671fcad632f // Paper start @Override public Inventory createInventory(InventoryHolder owner, InventoryType type, net.kyori.adventure.text.Component title) { -@@ -170,7 +175,7 @@ public abstract class CraftTileInventoryConverter implements CraftInventoryCreat +@@ -171,7 +176,7 @@ public abstract class CraftTileInventoryConverter implements CraftInventoryCreat } } @@ -38,7 +38,7 @@ index 54e61b9b058bee2167461aaaf828ed7a00949c29..53421f780ac8bc2a67f64671fcad632f @Override public Container getTileEntity() { -@@ -186,7 +191,7 @@ public abstract class CraftTileInventoryConverter implements CraftInventoryCreat +@@ -187,7 +192,7 @@ public abstract class CraftTileInventoryConverter implements CraftInventoryCreat } } diff --git a/patches/unapplied/server/0811-Sanitize-Sent-BlockEntity-NBT.patch b/patches/server/0810-Sanitize-Sent-BlockEntity-NBT.patch similarity index 100% rename from patches/unapplied/server/0811-Sanitize-Sent-BlockEntity-NBT.patch rename to patches/server/0810-Sanitize-Sent-BlockEntity-NBT.patch diff --git a/patches/unapplied/server/0812-Disable-component-selector-resolving-in-books-by-def.patch b/patches/server/0811-Disable-component-selector-resolving-in-books-by-def.patch similarity index 100% rename from patches/unapplied/server/0812-Disable-component-selector-resolving-in-books-by-def.patch rename to patches/server/0811-Disable-component-selector-resolving-in-books-by-def.patch diff --git a/patches/unapplied/server/0813-Prevent-entity-loading-causing-async-lookups.patch b/patches/server/0812-Prevent-entity-loading-causing-async-lookups.patch similarity index 93% rename from patches/unapplied/server/0813-Prevent-entity-loading-causing-async-lookups.patch rename to patches/server/0812-Prevent-entity-loading-causing-async-lookups.patch index 00b5ed1faf..4b8810c4c7 100644 --- a/patches/unapplied/server/0813-Prevent-entity-loading-causing-async-lookups.patch +++ b/patches/server/0812-Prevent-entity-loading-causing-async-lookups.patch @@ -5,10 +5,10 @@ Subject: [PATCH] Prevent entity loading causing async lookups diff --git a/src/main/java/net/minecraft/world/entity/Entity.java b/src/main/java/net/minecraft/world/entity/Entity.java -index 82311b1f91af8cf1bfdf6036e5ac4334716dfeaf..31d4c3627230f27b955348828d86e86b28ed02e6 100644 +index f5fa686060d40b0e8eddb910464c31085c3ee7c1..3dc4345abb975b555931614642be910785f98a7c 100644 --- a/src/main/java/net/minecraft/world/entity/Entity.java +++ b/src/main/java/net/minecraft/world/entity/Entity.java -@@ -796,6 +796,7 @@ public abstract class Entity implements Nameable, EntityAccess, CommandSource { +@@ -801,6 +801,7 @@ public abstract class Entity implements Nameable, EntityAccess, CommandSource, S public void baseTick() { this.level().getProfiler().push("entityBaseTick"); diff --git a/patches/unapplied/server/0814-Throw-exception-on-world-create-while-being-ticked.patch b/patches/server/0813-Throw-exception-on-world-create-while-being-ticked.patch similarity index 84% rename from patches/unapplied/server/0814-Throw-exception-on-world-create-while-being-ticked.patch rename to patches/server/0813-Throw-exception-on-world-create-while-being-ticked.patch index ec69d526bf..633a31ff73 100644 --- a/patches/unapplied/server/0814-Throw-exception-on-world-create-while-being-ticked.patch +++ b/patches/server/0813-Throw-exception-on-world-create-while-being-ticked.patch @@ -7,10 +7,10 @@ There are no plans to support creating worlds while worlds are being ticked themselvess. diff --git a/src/main/java/net/minecraft/server/MinecraftServer.java b/src/main/java/net/minecraft/server/MinecraftServer.java -index 18041f137157ca95639c0511f225bbb58356fe2b..47c984495a66fdbb10dea6bab33da78f4ab70a38 100644 +index 752e2b122c41e513aee590699c6d4624bbbfc12a..00de78e06b4583880e00f57823a4929eb1484e7a 100644 --- a/src/main/java/net/minecraft/server/MinecraftServer.java +++ b/src/main/java/net/minecraft/server/MinecraftServer.java -@@ -304,6 +304,7 @@ public abstract class MinecraftServer extends ReentrantBlockableEventLoop S spin(Function serverFactory) { AtomicReference atomicreference = new AtomicReference(); -@@ -1470,7 +1471,7 @@ public abstract class MinecraftServer extends ReentrantBlockableEventLoop 0; // Paper -@@ -1548,6 +1551,7 @@ public abstract class MinecraftServer extends ReentrantBlockableEventLoop(this.worlds.values()); } @@ -60,7 +60,7 @@ index fc4866d60368b60528dfc3e7cab7892f82680ec7..5c84ce0ec10d00a0c36b2e2fa66ca738 public DedicatedPlayerList getHandle() { return this.playerList; } -@@ -1137,6 +1142,7 @@ public final class CraftServer implements Server { +@@ -1132,6 +1137,7 @@ public final class CraftServer implements Server { @Override public World createWorld(WorldCreator creator) { Preconditions.checkState(this.console.getAllLevels().iterator().hasNext(), "Cannot create additional worlds on STARTUP"); @@ -68,7 +68,7 @@ index fc4866d60368b60528dfc3e7cab7892f82680ec7..5c84ce0ec10d00a0c36b2e2fa66ca738 Preconditions.checkArgument(creator != null, "WorldCreator cannot be null"); String name = creator.name(); -@@ -1277,6 +1283,7 @@ public final class CraftServer implements Server { +@@ -1309,6 +1315,7 @@ public final class CraftServer implements Server { @Override public boolean unloadWorld(World world, boolean save) { diff --git a/patches/unapplied/server/0815-Add-Alternate-Current-redstone-implementation.patch b/patches/server/0814-Add-Alternate-Current-redstone-implementation.patch similarity index 98% rename from patches/unapplied/server/0815-Add-Alternate-Current-redstone-implementation.patch rename to patches/server/0814-Add-Alternate-Current-redstone-implementation.patch index 370be3b183..43ec0625a2 100644 --- a/patches/unapplied/server/0815-Add-Alternate-Current-redstone-implementation.patch +++ b/patches/server/0814-Add-Alternate-Current-redstone-implementation.patch @@ -725,7 +725,7 @@ index 0000000000000000000000000000000000000000..5a7209f05b549c222f6c9bc2af2a3579 +} diff --git a/src/main/java/alternate/current/wire/WireHandler.java b/src/main/java/alternate/current/wire/WireHandler.java new file mode 100644 -index 0000000000000000000000000000000000000000..dbd0f5eee8b7f0590817673ee5f9a529bd5184cd +index 0000000000000000000000000000000000000000..02d0a3c3edd36b636163c5c912b26336fe87d16c --- /dev/null +++ b/src/main/java/alternate/current/wire/WireHandler.java @@ -0,0 +1,1150 @@ @@ -1027,7 +1027,7 @@ index 0000000000000000000000000000000000000000..dbd0f5eee8b7f0590817673ee5f9a529 + } + + /** -+ * Retrieve the {@link alternate.current.wire.Node Node} that represents the ++ * Retrieve the {@link Node Node} that represents the + * block at the given position in the level. + */ + private Node getOrAddNode(BlockPos pos) { @@ -1046,7 +1046,7 @@ index 0000000000000000000000000000000000000000..dbd0f5eee8b7f0590817673ee5f9a529 + } + + /** -+ * Remove and return the {@link alternate.current.wire.Node Node} at the given ++ * Remove and return the {@link Node Node} at the given + * position. + */ + private Node removeNode(BlockPos pos) { @@ -1054,7 +1054,7 @@ index 0000000000000000000000000000000000000000..dbd0f5eee8b7f0590817673ee5f9a529 + } + + /** -+ * Return a {@link alternate.current.wire.Node Node} that represents the block ++ * Return a {@link Node Node} that represents the block + * at the given position. + */ + private Node getNextNode(BlockPos pos) { @@ -1063,8 +1063,8 @@ index 0000000000000000000000000000000000000000..dbd0f5eee8b7f0590817673ee5f9a529 + + /** + * Return a node that represents the given position and block state. If it is a -+ * wire, then create a new {@link alternate.current.wire.WireNode WireNode}. -+ * Otherwise, grab the next {@link alternate.current.wire.Node Node} from the ++ * wire, then create a new {@link WireNode WireNode}. ++ * Otherwise, grab the next {@link Node Node} from the + * cache and update it. + */ + private Node getNextNode(BlockPos pos, BlockState state) { @@ -2008,10 +2008,10 @@ index 0000000000000000000000000000000000000000..33cd90c30c22200a4e1ae64f40a0bf78 + } +} diff --git a/src/main/java/net/minecraft/server/level/ServerLevel.java b/src/main/java/net/minecraft/server/level/ServerLevel.java -index 990e05590e0de258ae8b03335b2d888bc6be0229..244601cd37006b8abdf5bf9dd849d54c24928499 100644 +index cc91327050998c5e725ee71ac8b91b41a8b01bdf..9c63f83d2a907afa630b4e05ea486db4d63ff8ec 100644 --- a/src/main/java/net/minecraft/server/level/ServerLevel.java +++ b/src/main/java/net/minecraft/server/level/ServerLevel.java -@@ -222,6 +222,7 @@ public class ServerLevel extends Level implements WorldGenLevel { +@@ -224,6 +224,7 @@ public class ServerLevel extends Level implements WorldGenLevel { public final UUID uuid; public boolean hasPhysicsEvent = true; // Paper public boolean hasEntityMoveEvent = false; // Paper @@ -2019,8 +2019,8 @@ index 990e05590e0de258ae8b03335b2d888bc6be0229..244601cd37006b8abdf5bf9dd849d54c public static Throwable getAddToWorldStackTrace(Entity entity) { final Throwable thr = new Throwable(entity + " Added to world at " + new java.util.Date()); io.papermc.paper.util.StacktraceDeobfuscator.INSTANCE.deobfuscateThrowable(thr); -@@ -2541,6 +2542,13 @@ public class ServerLevel extends Level implements WorldGenLevel { - return this.randomSequences; +@@ -2580,6 +2581,13 @@ public class ServerLevel extends Level implements WorldGenLevel { + return crashreportsystemdetails; } + // Paper start - optimize redstone (Alternate Current) @@ -2034,10 +2034,10 @@ index 990e05590e0de258ae8b03335b2d888bc6be0229..244601cd37006b8abdf5bf9dd849d54c EntityCallbacks() {} diff --git a/src/main/java/net/minecraft/world/level/Level.java b/src/main/java/net/minecraft/world/level/Level.java -index 330ce28f128ff2e5ca80f0938ac3ea7b195e9d82..412f2283a85c39bfb730c73376ec663a79fb9187 100644 +index dbabf221bb0d49a2632728a6d04ff3e55a7d5898..7886c49b1b224469b8b542023891b2645b69ec71 100644 --- a/src/main/java/net/minecraft/world/level/Level.java +++ b/src/main/java/net/minecraft/world/level/Level.java -@@ -1856,4 +1856,14 @@ public abstract class Level implements LevelAccessor, AutoCloseable { +@@ -1876,4 +1876,14 @@ public abstract class Level implements LevelAccessor, AutoCloseable { return ret; } // Paper end @@ -2053,10 +2053,10 @@ index 330ce28f128ff2e5ca80f0938ac3ea7b195e9d82..412f2283a85c39bfb730c73376ec663a + // Paper end - optimize redstone (Alternate Current) } diff --git a/src/main/java/net/minecraft/world/level/block/RedStoneWireBlock.java b/src/main/java/net/minecraft/world/level/block/RedStoneWireBlock.java -index a0ae3635ae8c3fd3ac17dd9fa614ec84c7b1b0ca..2b054439b7a763d5a3fbb5dbfe197cb9a9a3525c 100644 +index 5ffb1453bf332e8035abacc97ab36d78e1248484..507be06ad51b7a212e28d3ca6680e0e4b00f4233 100644 --- a/src/main/java/net/minecraft/world/level/block/RedStoneWireBlock.java +++ b/src/main/java/net/minecraft/world/level/block/RedStoneWireBlock.java -@@ -252,7 +252,7 @@ public class RedStoneWireBlock extends Block { +@@ -259,7 +259,7 @@ public class RedStoneWireBlock extends Block { return floor.isFaceSturdy(world, pos, Direction.UP) || floor.is(Blocks.HOPPER); } @@ -2065,7 +2065,7 @@ index a0ae3635ae8c3fd3ac17dd9fa614ec84c7b1b0ca..2b054439b7a763d5a3fbb5dbfe197cb9 // The bulk of the new functionality is found in RedstoneWireTurbo.java com.destroystokyo.paper.util.RedstoneWireTurbo turbo = new com.destroystokyo.paper.util.RedstoneWireTurbo(this); -@@ -454,7 +454,13 @@ public class RedStoneWireBlock extends Block { +@@ -461,7 +461,13 @@ public class RedStoneWireBlock extends Block { @Override public void onPlace(BlockState state, Level world, BlockPos pos, BlockState oldState, boolean notify) { if (!oldState.is(state.getBlock()) && !world.isClientSide) { @@ -2080,7 +2080,7 @@ index a0ae3635ae8c3fd3ac17dd9fa614ec84c7b1b0ca..2b054439b7a763d5a3fbb5dbfe197cb9 Iterator iterator = Direction.Plane.VERTICAL.iterator(); while (iterator.hasNext()) { -@@ -481,7 +487,13 @@ public class RedStoneWireBlock extends Block { +@@ -488,7 +494,13 @@ public class RedStoneWireBlock extends Block { world.updateNeighborsAt(pos.relative(enumdirection), this); } @@ -2095,7 +2095,7 @@ index a0ae3635ae8c3fd3ac17dd9fa614ec84c7b1b0ca..2b054439b7a763d5a3fbb5dbfe197cb9 this.updateNeighborsOfNeighboringWires(world, pos); } } -@@ -515,8 +527,14 @@ public class RedStoneWireBlock extends Block { +@@ -522,8 +534,14 @@ public class RedStoneWireBlock extends Block { @Override public void neighborChanged(BlockState state, Level world, BlockPos pos, Block sourceBlock, BlockPos sourcePos, boolean notify) { if (!world.isClientSide) { diff --git a/patches/unapplied/server/0816-Dont-resent-entity-on-art-update.patch b/patches/server/0815-Dont-resent-entity-on-art-update.patch similarity index 100% rename from patches/unapplied/server/0816-Dont-resent-entity-on-art-update.patch rename to patches/server/0815-Dont-resent-entity-on-art-update.patch diff --git a/patches/unapplied/server/0817-Add-WardenAngerChangeEvent.patch b/patches/server/0816-Add-WardenAngerChangeEvent.patch similarity index 94% rename from patches/unapplied/server/0817-Add-WardenAngerChangeEvent.patch rename to patches/server/0816-Add-WardenAngerChangeEvent.patch index eb11b51339..8e13bfe2f5 100644 --- a/patches/unapplied/server/0817-Add-WardenAngerChangeEvent.patch +++ b/patches/server/0816-Add-WardenAngerChangeEvent.patch @@ -18,10 +18,10 @@ index 02abc5f387d781094bd2f39233444add3a470be1..ece82743df21f0b776382821ad75dee9 if (bl) { int j = this.angerByUuid.removeInt(entity.getUUID()); diff --git a/src/main/java/net/minecraft/world/entity/monster/warden/Warden.java b/src/main/java/net/minecraft/world/entity/monster/warden/Warden.java -index 2d9ceee41f7b0bd57e1bad26169c506b274019b9..b2bc3a832c310448046ccde37a04918aa6d63197 100644 +index b5185fcb635fbf5e5ed9d6cc9cc517cb46ada5aa..9f1b7c629644931074293151ed58a523ca6d488c 100644 --- a/src/main/java/net/minecraft/world/entity/monster/warden/Warden.java +++ b/src/main/java/net/minecraft/world/entity/monster/warden/Warden.java -@@ -487,6 +487,15 @@ public class Warden extends Monster implements VibrationSystem { +@@ -488,6 +488,15 @@ public class Warden extends Monster implements VibrationSystem { @VisibleForTesting public void increaseAngerAt(@Nullable Entity entity, int amount, boolean listening) { if (!this.isNoAi() && this.canTargetEntity(entity)) { diff --git a/patches/unapplied/server/0818-Add-option-for-strict-advancement-dimension-checks.patch b/patches/server/0817-Add-option-for-strict-advancement-dimension-checks.patch similarity index 89% rename from patches/unapplied/server/0818-Add-option-for-strict-advancement-dimension-checks.patch rename to patches/server/0817-Add-option-for-strict-advancement-dimension-checks.patch index 919ba3b905..6a46cf623e 100644 --- a/patches/unapplied/server/0818-Add-option-for-strict-advancement-dimension-checks.patch +++ b/patches/server/0817-Add-option-for-strict-advancement-dimension-checks.patch @@ -11,10 +11,10 @@ distance trigger. This adds a config option to ignore that and use the exact dimension key of the worlds involved. diff --git a/src/main/java/net/minecraft/advancements/critereon/LocationPredicate.java b/src/main/java/net/minecraft/advancements/critereon/LocationPredicate.java -index d4a673a9fb604876c554f955ed13ad31a2adb217..e75b3df4db9cb618aef4837acb8cde92ed5a4b01 100644 +index 5f9cb2c7a2874e423087d04d3360af0364692b5c..f81aa5adf9a499cef6dc45bf3f9de2df3dc61460 100644 --- a/src/main/java/net/minecraft/advancements/critereon/LocationPredicate.java +++ b/src/main/java/net/minecraft/advancements/critereon/LocationPredicate.java -@@ -30,7 +30,7 @@ public record LocationPredicate(Optional po +@@ -25,7 +25,7 @@ public record LocationPredicate(Optional po public boolean matches(ServerLevel world, double x, double y, double z) { if (this.position.isPresent() && !this.position.get().matches(x, y, z)) { return false; @@ -24,10 +24,10 @@ index d4a673a9fb604876c554f955ed13ad31a2adb217..e75b3df4db9cb618aef4837acb8cde92 } else { BlockPos blockPos = BlockPos.containing(x, y, z); diff --git a/src/main/java/net/minecraft/server/level/ServerPlayer.java b/src/main/java/net/minecraft/server/level/ServerPlayer.java -index edd8eb7e9b4c676bd823a5081f3f23f8eda13eba..fdd8ae699ebffcce391321d0c0d48a2bf171de12 100644 +index b6142c9f4474749be495ca0638e7b45fad327ce1..4895f0c507aac0c473ecca951f206a5b2182ad97 100644 --- a/src/main/java/net/minecraft/server/level/ServerPlayer.java +++ b/src/main/java/net/minecraft/server/level/ServerPlayer.java -@@ -1316,6 +1316,12 @@ public class ServerPlayer extends Player { +@@ -1320,6 +1320,12 @@ public class ServerPlayer extends Player { ResourceKey maindimensionkey = CraftDimensionUtil.getMainDimensionKey(origin); ResourceKey maindimensionkey1 = CraftDimensionUtil.getMainDimensionKey(this.level()); diff --git a/patches/unapplied/server/0819-Add-missing-important-BlockStateListPopulator-method.patch b/patches/server/0818-Add-missing-important-BlockStateListPopulator-method.patch similarity index 97% rename from patches/unapplied/server/0819-Add-missing-important-BlockStateListPopulator-method.patch rename to patches/server/0818-Add-missing-important-BlockStateListPopulator-method.patch index c18323e95f..70241cc9b8 100644 --- a/patches/unapplied/server/0819-Add-missing-important-BlockStateListPopulator-method.patch +++ b/patches/server/0818-Add-missing-important-BlockStateListPopulator-method.patch @@ -53,7 +53,7 @@ index ffe6881d93153838cd23f125980b832e6fd1d0eb..f5cbe9ae5802fa48e57092b1e5ca8a5f + // Paper end } diff --git a/src/main/java/org/bukkit/craftbukkit/util/DummyGeneratorAccess.java b/src/main/java/org/bukkit/craftbukkit/util/DummyGeneratorAccess.java -index d5861dfa771c4eb217e082e3c832c3a6c603710d..1233788274f1cbdaa564d3145214b4908ae1f573 100644 +index 187eda2dd40785eb09528c86718d6b4fd3ab252c..32594b4ebe8ab4c820e588573f5e01b08c57984f 100644 --- a/src/main/java/org/bukkit/craftbukkit/util/DummyGeneratorAccess.java +++ b/src/main/java/org/bukkit/craftbukkit/util/DummyGeneratorAccess.java @@ -274,4 +274,13 @@ public class DummyGeneratorAccess implements WorldGenLevel { diff --git a/patches/unapplied/server/0820-Nameable-Banner-API.patch b/patches/server/0819-Nameable-Banner-API.patch similarity index 100% rename from patches/unapplied/server/0820-Nameable-Banner-API.patch rename to patches/server/0819-Nameable-Banner-API.patch diff --git a/patches/unapplied/server/0821-Don-t-broadcast-messages-to-command-blocks.patch b/patches/server/0820-Don-t-broadcast-messages-to-command-blocks.patch similarity index 88% rename from patches/unapplied/server/0821-Don-t-broadcast-messages-to-command-blocks.patch rename to patches/server/0820-Don-t-broadcast-messages-to-command-blocks.patch index 5025c61620..c5919aa53c 100644 --- a/patches/unapplied/server/0821-Don-t-broadcast-messages-to-command-blocks.patch +++ b/patches/server/0820-Don-t-broadcast-messages-to-command-blocks.patch @@ -8,7 +8,7 @@ in command blocks, and if called asynchronously, would throw an error diff --git a/src/main/java/net/minecraft/world/level/BaseCommandBlock.java b/src/main/java/net/minecraft/world/level/BaseCommandBlock.java -index e05eb08a9c229b371887676da510df948b896a85..ceeedbd88c56c08ec8b047c9ca2f14cc581e12ad 100644 +index c56f5173fda6b38c2dcaea196217f2f5a7d7c641..d4ff8c6b7801e33be4ff69b8bae13c09f4872c4b 100644 --- a/src/main/java/net/minecraft/world/level/BaseCommandBlock.java +++ b/src/main/java/net/minecraft/world/level/BaseCommandBlock.java @@ -172,6 +172,7 @@ public abstract class BaseCommandBlock implements CommandSource { @@ -20,10 +20,10 @@ index e05eb08a9c229b371887676da510df948b896a85..ceeedbd88c56c08ec8b047c9ca2f14cc Date date = new Date(); diff --git a/src/main/java/org/bukkit/craftbukkit/CraftServer.java b/src/main/java/org/bukkit/craftbukkit/CraftServer.java -index 5c84ce0ec10d00a0c36b2e2fa66ca7387139efda..8148d1cddc6f062cfc3938f2b185be0ed3afe3ab 100644 +index 0759824929144805d55b4953863eacd5ae1542e0..7c8d21499d49aa88ad771e98a8e5302d1b3a3229 100644 --- a/src/main/java/org/bukkit/craftbukkit/CraftServer.java +++ b/src/main/java/org/bukkit/craftbukkit/CraftServer.java -@@ -1840,7 +1840,7 @@ public final class CraftServer implements Server { +@@ -1872,7 +1872,7 @@ public final class CraftServer implements Server { // Paper end Set recipients = new HashSet<>(); for (Permissible permissible : this.getPluginManager().getPermissionSubscriptions(permission)) { diff --git a/patches/unapplied/server/0822-Prevent-empty-items-from-being-added-to-world.patch b/patches/server/0821-Prevent-empty-items-from-being-added-to-world.patch similarity index 89% rename from patches/unapplied/server/0822-Prevent-empty-items-from-being-added-to-world.patch rename to patches/server/0821-Prevent-empty-items-from-being-added-to-world.patch index 1dbf234136..ef8820e5fa 100644 --- a/patches/unapplied/server/0822-Prevent-empty-items-from-being-added-to-world.patch +++ b/patches/server/0821-Prevent-empty-items-from-being-added-to-world.patch @@ -7,10 +7,10 @@ The previous solution caused a bunch of bandaid fixes inorder to resolve edge ca Just simply prevent them from being added to the world instead. diff --git a/src/main/java/net/minecraft/server/level/ServerLevel.java b/src/main/java/net/minecraft/server/level/ServerLevel.java -index 244601cd37006b8abdf5bf9dd849d54c24928499..1f1cdf5516eab738e5d434eb5f2933ff3d7a1359 100644 +index 9c63f83d2a907afa630b4e05ea486db4d63ff8ec..60eb96c274ac1b899de9b6f79eaab8596aee012c 100644 --- a/src/main/java/net/minecraft/server/level/ServerLevel.java +++ b/src/main/java/net/minecraft/server/level/ServerLevel.java -@@ -1559,6 +1559,7 @@ public class ServerLevel extends Level implements WorldGenLevel { +@@ -1583,6 +1583,7 @@ public class ServerLevel extends Level implements WorldGenLevel { // 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/0823-Fix-CCE-for-SplashPotion-and-LingeringPotion-spawnin.patch b/patches/server/0822-Fix-CCE-for-SplashPotion-and-LingeringPotion-spawnin.patch similarity index 100% rename from patches/unapplied/server/0823-Fix-CCE-for-SplashPotion-and-LingeringPotion-spawnin.patch rename to patches/server/0822-Fix-CCE-for-SplashPotion-and-LingeringPotion-spawnin.patch diff --git a/patches/unapplied/server/0824-Add-Player-getFishHook.patch b/patches/server/0823-Add-Player-getFishHook.patch similarity index 86% rename from patches/unapplied/server/0824-Add-Player-getFishHook.patch rename to patches/server/0823-Add-Player-getFishHook.patch index 8823cf2f88..5f52bca7aa 100644 --- a/patches/unapplied/server/0824-Add-Player-getFishHook.patch +++ b/patches/server/0823-Add-Player-getFishHook.patch @@ -5,10 +5,10 @@ Subject: [PATCH] Add Player#getFishHook diff --git a/src/main/java/org/bukkit/craftbukkit/entity/CraftHumanEntity.java b/src/main/java/org/bukkit/craftbukkit/entity/CraftHumanEntity.java -index e8e61fb73792f8f7fb0266df93dbaf552114b492..9531094aa2b551e5576b0af494cc141fd8cac007 100644 +index bd2c3425cb17d14ccb6f8390997cc07de354468c..1bfd3f66bf5f269685774b7cd75112ba3429c484 100644 --- a/src/main/java/org/bukkit/craftbukkit/entity/CraftHumanEntity.java +++ b/src/main/java/org/bukkit/craftbukkit/entity/CraftHumanEntity.java -@@ -161,6 +161,15 @@ public class CraftHumanEntity extends CraftLivingEntity implements HumanEntity { +@@ -162,6 +162,15 @@ public class CraftHumanEntity extends CraftLivingEntity implements HumanEntity { return new Location(worldServer.getWorld(), bed.getX(), bed.getY(), bed.getZ()); } // Paper end diff --git a/patches/unapplied/server/0825-Do-not-sync-load-chunk-for-dynamic-game-event-listen.patch b/patches/server/0824-Do-not-sync-load-chunk-for-dynamic-game-event-listen.patch similarity index 100% rename from patches/unapplied/server/0825-Do-not-sync-load-chunk-for-dynamic-game-event-listen.patch rename to patches/server/0824-Do-not-sync-load-chunk-for-dynamic-game-event-listen.patch diff --git a/patches/unapplied/server/0826-Add-various-missing-EntityDropItemEvent-calls.patch b/patches/server/0825-Add-various-missing-EntityDropItemEvent-calls.patch similarity index 89% rename from patches/unapplied/server/0826-Add-various-missing-EntityDropItemEvent-calls.patch rename to patches/server/0825-Add-various-missing-EntityDropItemEvent-calls.patch index fd440d0178..3fe01f546e 100644 --- a/patches/unapplied/server/0826-Add-various-missing-EntityDropItemEvent-calls.patch +++ b/patches/server/0825-Add-various-missing-EntityDropItemEvent-calls.patch @@ -5,14 +5,14 @@ Subject: [PATCH] Add various missing EntityDropItemEvent calls diff --git a/src/main/java/net/minecraft/world/entity/Entity.java b/src/main/java/net/minecraft/world/entity/Entity.java -index 31d4c3627230f27b955348828d86e86b28ed02e6..ba787852ba551130d3200b6f930861c7c35fe7c0 100644 +index 3dc4345abb975b555931614642be910785f98a7c..97bd7295c1e9af1666cb16c77f54b92947610724 100644 --- a/src/main/java/net/minecraft/world/entity/Entity.java +++ b/src/main/java/net/minecraft/world/entity/Entity.java -@@ -2672,6 +2672,14 @@ public abstract class Entity implements Nameable, EntityAccess, CommandSource { +@@ -2701,6 +2701,14 @@ public abstract class Entity implements Nameable, EntityAccess, CommandSource, S stack.setCount(0); // Paper - destroy this item - if this ever leaks due to game bugs, ensure it doesn't dupe entityitem.setDefaultPickUpDelay(); -+ // Paper start ++ // Paper start + return this.spawnAtLocation(entityitem); + } + } @@ -24,10 +24,10 @@ index 31d4c3627230f27b955348828d86e86b28ed02e6..ba787852ba551130d3200b6f930861c7 EntityDropItemEvent event = new EntityDropItemEvent(this.getBukkitEntity(), (org.bukkit.entity.Item) entityitem.getBukkitEntity()); Bukkit.getPluginManager().callEvent(event); diff --git a/src/main/java/net/minecraft/world/entity/animal/Dolphin.java b/src/main/java/net/minecraft/world/entity/animal/Dolphin.java -index 2f62498432bc90cbbc3f206dca41bb276f46f247..c528cb7c18650863eaf8e2c6c0d9276c02712cc9 100644 +index fb5e200499a1a73fd40c8b7c81185f48381f49e4..e555fd8ca61e1ce7a52ecd475cc3ea11dedcab08 100644 --- a/src/main/java/net/minecraft/world/entity/animal/Dolphin.java +++ b/src/main/java/net/minecraft/world/entity/animal/Dolphin.java -@@ -597,7 +597,7 @@ public class Dolphin extends WaterAnimal { +@@ -592,7 +592,7 @@ public class Dolphin extends WaterAnimal { float f2 = 0.02F * Dolphin.this.random.nextFloat(); entityitem.setDeltaMovement((double) (0.3F * -Mth.sin(Dolphin.this.getYRot() * 0.017453292F) * Mth.cos(Dolphin.this.getXRot() * 0.017453292F) + Mth.cos(f1) * f2), (double) (0.3F * Mth.sin(Dolphin.this.getXRot() * 0.017453292F) * 1.5F), (double) (0.3F * Mth.cos(Dolphin.this.getYRot() * 0.017453292F) * Mth.cos(Dolphin.this.getXRot() * 0.017453292F) + Mth.sin(f1) * f2)); @@ -37,12 +37,12 @@ index 2f62498432bc90cbbc3f206dca41bb276f46f247..c528cb7c18650863eaf8e2c6c0d9276c } } diff --git a/src/main/java/net/minecraft/world/entity/animal/Fox.java b/src/main/java/net/minecraft/world/entity/animal/Fox.java -index 74c5eec21fe447c525e204b504f40d0d363039bb..e21bf5b02a4d9e6e23ffd42a1da8a3a5f2ac05db 100644 +index 6124209f50300eeaab45b66c2f1a5b2944119450..96799179b0dd1886f0cdc386f04e152a19b3337d 100644 --- a/src/main/java/net/minecraft/world/entity/animal/Fox.java +++ b/src/main/java/net/minecraft/world/entity/animal/Fox.java @@ -509,14 +509,14 @@ public class Fox extends Animal implements VariantHolder { entityitem.setPickUpDelay(40); - entityitem.setThrower(this.getUUID()); + entityitem.setThrower(this); this.playSound(SoundEvents.FOX_SPIT, 1.0F, 1.0F); - this.level().addFreshEntity(entityitem); + this.spawnAtLocation(entityitem); // Paper - call EntityDropItemEvent diff --git a/patches/unapplied/server/0828-Fix-Bee-flower-NPE.patch b/patches/server/0826-Fix-Bee-flower-NPE.patch similarity index 85% rename from patches/unapplied/server/0828-Fix-Bee-flower-NPE.patch rename to patches/server/0826-Fix-Bee-flower-NPE.patch index bbc40a996b..7e9696d0ac 100644 --- a/patches/unapplied/server/0828-Fix-Bee-flower-NPE.patch +++ b/patches/server/0826-Fix-Bee-flower-NPE.patch @@ -5,10 +5,10 @@ Subject: [PATCH] Fix Bee flower NPE diff --git a/src/main/java/net/minecraft/world/entity/animal/Bee.java b/src/main/java/net/minecraft/world/entity/animal/Bee.java -index 63678ff2e40d2ba0a5e97539394b18f97368f8cf..9a7956befc346e1b58f064213800fd099a052fc6 100644 +index c534589762b1361bae7c446dfec8dbbf542485fb..a87a34b0c4c8e5d0cf079025c230b1434c919b54 100644 --- a/src/main/java/net/minecraft/world/entity/animal/Bee.java +++ b/src/main/java/net/minecraft/world/entity/animal/Bee.java -@@ -803,7 +803,7 @@ public class Bee extends Animal implements NeutralMob, FlyingAnimal { +@@ -810,7 +810,7 @@ public class Bee extends Animal implements NeutralMob, FlyingAnimal { ++this.pollinatingTicks; if (this.pollinatingTicks > 600) { Bee.this.savedFlowerPos = null; diff --git a/patches/unapplied/server/0829-Fix-Spigot-Config-not-using-commands.spam-exclusions.patch b/patches/server/0827-Fix-Spigot-Config-not-using-commands.spam-exclusions.patch similarity index 87% rename from patches/unapplied/server/0829-Fix-Spigot-Config-not-using-commands.spam-exclusions.patch rename to patches/server/0827-Fix-Spigot-Config-not-using-commands.spam-exclusions.patch index 66722589c2..43a59b1d67 100644 --- a/patches/unapplied/server/0829-Fix-Spigot-Config-not-using-commands.spam-exclusions.patch +++ b/patches/server/0827-Fix-Spigot-Config-not-using-commands.spam-exclusions.patch @@ -5,10 +5,10 @@ Subject: [PATCH] Fix Spigot Config not using commands.spam-exclusions diff --git a/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java b/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java -index c518f78af7612f59af7f02fcf2ba5ef274f9694d..10bb9364b6ebdd21c4a3602af5c3887871dc0548 100644 +index 1b4fe753a4c4fc38b963720c2a7a9a4538550d32..7d35d44f0e95a0ce7bc57e9a306b8a8ab36fce5c 100644 --- a/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java +++ b/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java -@@ -2369,7 +2369,7 @@ public class ServerGamePacketListenerImpl extends ServerCommonPacketListenerImpl +@@ -2377,7 +2377,7 @@ public class ServerGamePacketListenerImpl extends ServerCommonPacketListenerImpl } // Spigot end // this.chatSpamTickCount += 20; diff --git a/patches/unapplied/server/0830-More-Teleport-API.patch b/patches/server/0828-More-Teleport-API.patch similarity index 94% rename from patches/unapplied/server/0830-More-Teleport-API.patch rename to patches/server/0828-More-Teleport-API.patch index ba7ea43504..98d30af840 100644 --- a/patches/unapplied/server/0830-More-Teleport-API.patch +++ b/patches/server/0828-More-Teleport-API.patch @@ -5,10 +5,10 @@ Subject: [PATCH] More Teleport API diff --git a/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java b/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java -index 10bb9364b6ebdd21c4a3602af5c3887871dc0548..ffc6b7e7349ea1088b9ed5e13686d7bd9483aa1c 100644 +index 7d35d44f0e95a0ce7bc57e9a306b8a8ab36fce5c..6726fc470843b900ce7b15268cdcbf4881a8fcd0 100644 --- a/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java +++ b/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java -@@ -1606,11 +1606,17 @@ public class ServerGamePacketListenerImpl extends ServerCommonPacketListenerImpl +@@ -1633,11 +1633,17 @@ public class ServerGamePacketListenerImpl extends ServerCommonPacketListenerImpl return false; // CraftBukkit - Return event status } @@ -29,10 +29,10 @@ index 10bb9364b6ebdd21c4a3602af5c3887871dc0548..ffc6b7e7349ea1088b9ed5e13686d7bd d0 = to.getX(); d1 = to.getY(); diff --git a/src/main/java/org/bukkit/craftbukkit/entity/CraftEntity.java b/src/main/java/org/bukkit/craftbukkit/entity/CraftEntity.java -index 28cda0cc2e179b3f03d4bee3ca6c24c3f831214a..e02c454ba75f440342d85b466426b9363992d923 100644 +index d4fffcc5bb746df8dc177780f15ff4dbca64c018..ed30e079c23f564cbd0a45b38586bd12e17c525e 100644 --- a/src/main/java/org/bukkit/craftbukkit/entity/CraftEntity.java +++ b/src/main/java/org/bukkit/craftbukkit/entity/CraftEntity.java -@@ -566,15 +566,36 @@ public abstract class CraftEntity implements org.bukkit.entity.Entity { +@@ -573,15 +573,36 @@ public abstract class CraftEntity implements org.bukkit.entity.Entity { @Override public boolean teleport(Location location, TeleportCause cause) { @@ -72,10 +72,10 @@ index 28cda0cc2e179b3f03d4bee3ca6c24c3f831214a..e02c454ba75f440342d85b466426b936 // Let the server handle cross world teleports if (location.getWorld() != null && !location.getWorld().equals(this.getWorld())) { diff --git a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java -index 5dc7ec4275ca7377ba25f508c2ffdb0427ca441f..2b4f34e5889bac44f724935b6e1fc330a75bd9d6 100644 +index d73f94b37472da28a8c3dda9574d95954033785b..ec18039f7a5577d290c2d5da23aa734ddde62332 100644 --- a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java +++ b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java -@@ -1202,13 +1202,101 @@ public class CraftPlayer extends CraftHumanEntity implements Player { +@@ -1209,13 +1209,101 @@ public class CraftPlayer extends CraftHumanEntity implements Player { @Override public void setRotation(float yaw, float pitch) { @@ -178,7 +178,7 @@ index 5dc7ec4275ca7377ba25f508c2ffdb0427ca441f..2b4f34e5889bac44f724935b6e1fc330 location.checkFinite(); ServerPlayer entity = this.getHandle(); -@@ -1221,7 +1309,7 @@ public class CraftPlayer extends CraftHumanEntity implements Player { +@@ -1228,7 +1316,7 @@ public class CraftPlayer extends CraftHumanEntity implements Player { return false; } @@ -187,7 +187,7 @@ index 5dc7ec4275ca7377ba25f508c2ffdb0427ca441f..2b4f34e5889bac44f724935b6e1fc330 return false; } -@@ -1239,7 +1327,7 @@ public class CraftPlayer extends CraftHumanEntity implements Player { +@@ -1246,7 +1334,7 @@ public class CraftPlayer extends CraftHumanEntity implements Player { } // If this player is riding another entity, we must dismount before teleporting. @@ -196,7 +196,7 @@ index 5dc7ec4275ca7377ba25f508c2ffdb0427ca441f..2b4f34e5889bac44f724935b6e1fc330 // SPIGOT-5509: Wakeup, similar to riding if (this.isSleeping()) { -@@ -1255,13 +1343,13 @@ public class CraftPlayer extends CraftHumanEntity implements Player { +@@ -1262,13 +1350,13 @@ public class CraftPlayer extends CraftHumanEntity implements Player { ServerLevel toWorld = ((CraftWorld) to.getWorld()).getHandle(); // Close any foreign inventory diff --git a/patches/unapplied/server/0831-Add-EntityPortalReadyEvent.patch b/patches/server/0829-Add-EntityPortalReadyEvent.patch similarity index 84% rename from patches/unapplied/server/0831-Add-EntityPortalReadyEvent.patch rename to patches/server/0829-Add-EntityPortalReadyEvent.patch index cbc5fd7f5e..1eb1a2e389 100644 --- a/patches/unapplied/server/0831-Add-EntityPortalReadyEvent.patch +++ b/patches/server/0829-Add-EntityPortalReadyEvent.patch @@ -5,10 +5,10 @@ Subject: [PATCH] Add EntityPortalReadyEvent diff --git a/src/main/java/net/minecraft/world/entity/Entity.java b/src/main/java/net/minecraft/world/entity/Entity.java -index ba787852ba551130d3200b6f930861c7c35fe7c0..ce765fbe067d56ce0e5ae0bfade01f3b50e004be 100644 +index 97bd7295c1e9af1666cb16c77f54b92947610724..4ef45d704107d03a506627da80ebfeb41a0945f8 100644 --- a/src/main/java/net/minecraft/world/entity/Entity.java +++ b/src/main/java/net/minecraft/world/entity/Entity.java -@@ -3074,6 +3074,13 @@ public abstract class Entity implements Nameable, EntityAccess, CommandSource { +@@ -3103,6 +3103,13 @@ public abstract class Entity implements Nameable, EntityAccess, CommandSource, S if (true && !this.isPassenger() && this.portalTime++ >= i) { // CraftBukkit this.level().getProfiler().push("portal"); this.portalTime = i; @@ -22,7 +22,7 @@ index ba787852ba551130d3200b6f930861c7c35fe7c0..ce765fbe067d56ce0e5ae0bfade01f3b this.setPortalCooldown(); // CraftBukkit start if (this instanceof ServerPlayer) { -@@ -3081,6 +3088,7 @@ public abstract class Entity implements Nameable, EntityAccess, CommandSource { +@@ -3110,6 +3117,7 @@ public abstract class Entity implements Nameable, EntityAccess, CommandSource, S } else { this.changeDimension(worldserver1); } diff --git a/patches/unapplied/server/0832-Don-t-use-level-random-in-entity-constructors.patch b/patches/server/0830-Don-t-use-level-random-in-entity-constructors.patch similarity index 87% rename from patches/unapplied/server/0832-Don-t-use-level-random-in-entity-constructors.patch rename to patches/server/0830-Don-t-use-level-random-in-entity-constructors.patch index 380c4d5c5d..d895b4283c 100644 --- a/patches/unapplied/server/0832-Don-t-use-level-random-in-entity-constructors.patch +++ b/patches/server/0830-Don-t-use-level-random-in-entity-constructors.patch @@ -9,10 +9,10 @@ should be supported. Some entities (for whatever reason) use the level's random in some places. diff --git a/src/main/java/net/minecraft/world/entity/item/ItemEntity.java b/src/main/java/net/minecraft/world/entity/item/ItemEntity.java -index d70abca10e84b86310ce5e4d72eb939331dc00e4..1a06d8c839e94fe2c1920035d606b62e0dc5cfba 100644 +index fc14a2eb464675f8fb0bff916992687adb4e3d25..6b18f23b57c7000dce9726df98a509ee9477f6d2 100644 --- a/src/main/java/net/minecraft/world/entity/item/ItemEntity.java +++ b/src/main/java/net/minecraft/world/entity/item/ItemEntity.java -@@ -64,7 +64,12 @@ public class ItemEntity extends Entity implements TraceableEntity { +@@ -66,7 +66,12 @@ public class ItemEntity extends Entity implements TraceableEntity { } public ItemEntity(Level world, double x, double y, double z, ItemStack stack) { @@ -27,10 +27,10 @@ index d70abca10e84b86310ce5e4d72eb939331dc00e4..1a06d8c839e94fe2c1920035d606b62e public ItemEntity(Level world, double x, double y, double z, ItemStack stack, double velocityX, double velocityY, double velocityZ) { diff --git a/src/main/java/net/minecraft/world/entity/item/PrimedTnt.java b/src/main/java/net/minecraft/world/entity/item/PrimedTnt.java -index 57f9bf73ee14bc8811d0192543caf2b02e890ee0..4ce3e69970dd9eb251d0538a2d233ca30e9e5e47 100644 +index d9ed22e9853eebdf6c517b41787a27a1a56a0871..c3e47426382296d650fa00ce0bc1a82bf23c7877 100644 --- a/src/main/java/net/minecraft/world/entity/item/PrimedTnt.java +++ b/src/main/java/net/minecraft/world/entity/item/PrimedTnt.java -@@ -36,7 +36,7 @@ public class PrimedTnt extends Entity implements TraceableEntity { +@@ -43,7 +43,7 @@ public class PrimedTnt extends Entity implements TraceableEntity { public PrimedTnt(Level world, double x, double y, double z, @Nullable LivingEntity igniter) { this(EntityType.TNT, world); this.setPos(x, y, z); diff --git a/patches/unapplied/server/0833-Send-block-entities-after-destroy-prediction.patch b/patches/server/0831-Send-block-entities-after-destroy-prediction.patch similarity index 95% rename from patches/unapplied/server/0833-Send-block-entities-after-destroy-prediction.patch rename to patches/server/0831-Send-block-entities-after-destroy-prediction.patch index 4e4fdd357f..d33910dc3d 100644 --- a/patches/unapplied/server/0833-Send-block-entities-after-destroy-prediction.patch +++ b/patches/server/0831-Send-block-entities-after-destroy-prediction.patch @@ -7,7 +7,7 @@ Minecraft's prediction system does not handle block entities, so if we are manua block breaking we need to set it after the prediction is finished. This fixes block entities not showing when cancelling the BlockBreakEvent. diff --git a/src/main/java/net/minecraft/server/level/ServerPlayerGameMode.java b/src/main/java/net/minecraft/server/level/ServerPlayerGameMode.java -index 6cd4e043de742bd9c84dd6408dc80598aedaa3a4..b965df96bd92c0e3ab20f46f5a3712fcb0fb9fce 100644 +index bf9b185e3defb496022c20ec60a84a4f6f99d5be..4e1ed252bf400ec991f95b02984f01a9689f2989 100644 --- a/src/main/java/net/minecraft/server/level/ServerPlayerGameMode.java +++ b/src/main/java/net/minecraft/server/level/ServerPlayerGameMode.java @@ -62,6 +62,8 @@ public class ServerPlayerGameMode { @@ -57,10 +57,10 @@ index 6cd4e043de742bd9c84dd6408dc80598aedaa3a4..b965df96bd92c0e3ab20f46f5a3712fc } } diff --git a/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java b/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java -index ffc6b7e7349ea1088b9ed5e13686d7bd9483aa1c..372015adb4f198c131d1a5f239e75f862ab5fdd7 100644 +index 6726fc470843b900ce7b15268cdcbf4881a8fcd0..d7f551d8cae2055b82782905a14d649e44e8bcec 100644 --- a/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java +++ b/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java -@@ -1752,8 +1752,28 @@ public class ServerGamePacketListenerImpl extends ServerCommonPacketListenerImpl +@@ -1779,8 +1779,28 @@ public class ServerGamePacketListenerImpl extends ServerCommonPacketListenerImpl return; } // Paper end - Don't allow digging in unloaded chunks diff --git a/patches/unapplied/server/0834-Warn-on-plugins-accessing-faraway-chunks.patch b/patches/server/0832-Warn-on-plugins-accessing-faraway-chunks.patch similarity index 87% rename from patches/unapplied/server/0834-Warn-on-plugins-accessing-faraway-chunks.patch rename to patches/server/0832-Warn-on-plugins-accessing-faraway-chunks.patch index ad5f6ed830..3f6448421c 100644 --- a/patches/unapplied/server/0834-Warn-on-plugins-accessing-faraway-chunks.patch +++ b/patches/server/0832-Warn-on-plugins-accessing-faraway-chunks.patch @@ -5,10 +5,10 @@ Subject: [PATCH] Warn on plugins accessing faraway chunks diff --git a/src/main/java/net/minecraft/world/level/Level.java b/src/main/java/net/minecraft/world/level/Level.java -index 412f2283a85c39bfb730c73376ec663a79fb9187..a28da797e3ea01eacb378f65da3cfc75cb6b1830 100644 +index 7886c49b1b224469b8b542023891b2645b69ec71..d26216ad6395f6d74a7fa4d080f5edfd44605ae4 100644 --- a/src/main/java/net/minecraft/world/level/Level.java +++ b/src/main/java/net/minecraft/world/level/Level.java -@@ -810,7 +810,7 @@ public abstract class Level implements LevelAccessor, AutoCloseable { +@@ -813,7 +813,7 @@ public abstract class Level implements LevelAccessor, AutoCloseable { } private static boolean isInWorldBoundsHorizontal(BlockPos pos) { @@ -18,10 +18,10 @@ index 412f2283a85c39bfb730c73376ec663a79fb9187..a28da797e3ea01eacb378f65da3cfc75 private static boolean isOutsideSpawnableHeight(int y) { diff --git a/src/main/java/org/bukkit/craftbukkit/CraftWorld.java b/src/main/java/org/bukkit/craftbukkit/CraftWorld.java -index 70be0eb5dd0928ee24ec8dfb92f811c19b27cdd5..3df9f69e4297ef0f412191f8a0c1cb17311f4de3 100644 +index 3f4145bef3ef0d0d54914c1f6ebd216622d9a747..c77fec78636805a496ecea3e56f26290dbcbffff 100644 --- a/src/main/java/org/bukkit/craftbukkit/CraftWorld.java +++ b/src/main/java/org/bukkit/craftbukkit/CraftWorld.java -@@ -312,9 +312,24 @@ public class CraftWorld extends CraftRegionAccessor implements World { +@@ -313,9 +313,24 @@ public class CraftWorld extends CraftRegionAccessor implements World { public boolean setSpawnLocation(int x, int y, int z) { return this.setSpawnLocation(x, y, z, 0.0F); } @@ -46,7 +46,7 @@ index 70be0eb5dd0928ee24ec8dfb92f811c19b27cdd5..3df9f69e4297ef0f412191f8a0c1cb17 // Paper start - add ticket to hold chunk for a little while longer if plugin accesses it net.minecraft.world.level.chunk.LevelChunk chunk = this.world.getChunkSource().getChunkAtIfLoadedImmediately(x, z); if (chunk == null) { -@@ -429,6 +444,7 @@ public class CraftWorld extends CraftRegionAccessor implements World { +@@ -430,6 +445,7 @@ public class CraftWorld extends CraftRegionAccessor implements World { @Override public boolean regenerateChunk(int x, int z) { org.spigotmc.AsyncCatcher.catchOp("chunk regenerate"); // Spigot @@ -54,7 +54,7 @@ index 70be0eb5dd0928ee24ec8dfb92f811c19b27cdd5..3df9f69e4297ef0f412191f8a0c1cb17 // Paper start - implement regenerateChunk method final ServerLevel serverLevel = this.world; final net.minecraft.server.level.ServerChunkCache serverChunkCache = serverLevel.getChunkSource(); -@@ -524,6 +540,7 @@ public class CraftWorld extends CraftRegionAccessor implements World { +@@ -525,6 +541,7 @@ public class CraftWorld extends CraftRegionAccessor implements World { @Override public boolean loadChunk(int x, int z, boolean generate) { org.spigotmc.AsyncCatcher.catchOp("chunk load"); // Spigot @@ -62,7 +62,7 @@ index 70be0eb5dd0928ee24ec8dfb92f811c19b27cdd5..3df9f69e4297ef0f412191f8a0c1cb17 // Paper start - Optimize this method ChunkPos chunkPos = new ChunkPos(x, z); ChunkAccess immediate = world.getChunkSource().getChunkAtIfLoadedImmediately(x, z); // Paper -@@ -587,6 +604,7 @@ public class CraftWorld extends CraftRegionAccessor implements World { +@@ -588,6 +605,7 @@ public class CraftWorld extends CraftRegionAccessor implements World { @Override public boolean addPluginChunkTicket(int x, int z, Plugin plugin) { @@ -70,7 +70,7 @@ index 70be0eb5dd0928ee24ec8dfb92f811c19b27cdd5..3df9f69e4297ef0f412191f8a0c1cb17 Preconditions.checkArgument(plugin != null, "null plugin"); Preconditions.checkArgument(plugin.isEnabled(), "plugin is not enabled"); -@@ -655,6 +673,7 @@ public class CraftWorld extends CraftRegionAccessor implements World { +@@ -656,6 +674,7 @@ public class CraftWorld extends CraftRegionAccessor implements World { @Override public void setChunkForceLoaded(int x, int z, boolean forced) { @@ -78,7 +78,7 @@ index 70be0eb5dd0928ee24ec8dfb92f811c19b27cdd5..3df9f69e4297ef0f412191f8a0c1cb17 this.getHandle().setChunkForced(x, z, forced); } -@@ -967,6 +986,7 @@ public class CraftWorld extends CraftRegionAccessor implements World { +@@ -968,6 +987,7 @@ public class CraftWorld extends CraftRegionAccessor implements World { @Override public int getHighestBlockYAt(int x, int z, org.bukkit.HeightMap heightMap) { @@ -86,7 +86,7 @@ index 70be0eb5dd0928ee24ec8dfb92f811c19b27cdd5..3df9f69e4297ef0f412191f8a0c1cb17 // Transient load for this tick return this.world.getChunk(x >> 4, z >> 4).getHeight(CraftHeightMap.toNMS(heightMap), x, z); } -@@ -2414,6 +2434,7 @@ public class CraftWorld extends CraftRegionAccessor implements World { +@@ -2420,6 +2440,7 @@ public class CraftWorld extends CraftRegionAccessor implements World { // Spigot end // Paper start public java.util.concurrent.CompletableFuture getChunkAtAsync(int x, int z, boolean gen, boolean urgent) { diff --git a/patches/unapplied/server/0835-Custom-Chat-Completion-Suggestions-API.patch b/patches/server/0833-Custom-Chat-Completion-Suggestions-API.patch similarity index 90% rename from patches/unapplied/server/0835-Custom-Chat-Completion-Suggestions-API.patch rename to patches/server/0833-Custom-Chat-Completion-Suggestions-API.patch index 9608ba1c46..cd2e6bc626 100644 --- a/patches/unapplied/server/0835-Custom-Chat-Completion-Suggestions-API.patch +++ b/patches/server/0833-Custom-Chat-Completion-Suggestions-API.patch @@ -5,10 +5,10 @@ Subject: [PATCH] Custom Chat Completion Suggestions API diff --git a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java -index 2b4f34e5889bac44f724935b6e1fc330a75bd9d6..337dbf8e5a2537e1d617d355a9a0f79171a69524 100644 +index ec18039f7a5577d290c2d5da23aa734ddde62332..50d3de2bb715e7de8243174f66d92e45bae10683 100644 --- a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java +++ b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java -@@ -642,6 +642,24 @@ public class CraftPlayer extends CraftHumanEntity implements Player { +@@ -649,6 +649,24 @@ public class CraftPlayer extends CraftHumanEntity implements Player { } // Paper end - sendOpLevel API diff --git a/patches/unapplied/server/0836-Add-and-fix-missing-BlockFadeEvents.patch b/patches/server/0834-Add-and-fix-missing-BlockFadeEvents.patch similarity index 89% rename from patches/unapplied/server/0836-Add-and-fix-missing-BlockFadeEvents.patch rename to patches/server/0834-Add-and-fix-missing-BlockFadeEvents.patch index dd7008cfb5..45acbcd56f 100644 --- a/patches/unapplied/server/0836-Add-and-fix-missing-BlockFadeEvents.patch +++ b/patches/server/0834-Add-and-fix-missing-BlockFadeEvents.patch @@ -10,10 +10,10 @@ potentially waterlogged block states fading. Co-authored-by: Lulu13022002 <41980282+Lulu13022002@users.noreply.github.com diff --git a/src/main/java/net/minecraft/world/level/block/FrogspawnBlock.java b/src/main/java/net/minecraft/world/level/block/FrogspawnBlock.java -index 834c5e3fbff3819f3f72e95a1072d9b9e57f25b3..294d22b6b27e96b59c77527efcfefa9410b756e4 100644 +index a4ca58384ae2a39ec568b153cc1a4f7704136108..0a2de99c22cfcc96a664dc2afe7379987ea815db 100644 --- a/src/main/java/net/minecraft/world/level/block/FrogspawnBlock.java +++ b/src/main/java/net/minecraft/world/level/block/FrogspawnBlock.java -@@ -85,6 +85,11 @@ public class FrogspawnBlock extends Block { +@@ -92,6 +92,11 @@ public class FrogspawnBlock extends Block { } private void hatchFrogspawn(ServerLevel world, BlockPos pos, RandomSource random) { @@ -26,10 +26,10 @@ index 834c5e3fbff3819f3f72e95a1072d9b9e57f25b3..294d22b6b27e96b59c77527efcfefa94 world.playSound((Player)null, pos, SoundEvents.FROGSPAWN_HATCH, SoundSource.BLOCKS, 1.0F, 1.0F); this.spawnTadpoles(world, pos, random); diff --git a/src/main/java/net/minecraft/world/level/block/ScaffoldingBlock.java b/src/main/java/net/minecraft/world/level/block/ScaffoldingBlock.java -index f99082c58743e8b73e263655dbebc34e904c45bc..e9358522e526505d5c200e19b193bbcf5ee10826 100644 +index f660e58badfcc2a90e6dd618428a21bf5ad34969..13ee09f93ec325e416a2b29e3608e870e7f06aed 100644 --- a/src/main/java/net/minecraft/world/level/block/ScaffoldingBlock.java +++ b/src/main/java/net/minecraft/world/level/block/ScaffoldingBlock.java -@@ -96,7 +96,7 @@ public class ScaffoldingBlock extends Block implements SimpleWaterloggedBlock { +@@ -103,7 +103,7 @@ public class ScaffoldingBlock extends Block implements SimpleWaterloggedBlock { int i = ScaffoldingBlock.getDistance(world, pos); BlockState iblockdata1 = (BlockState) ((BlockState) state.setValue(ScaffoldingBlock.DISTANCE, i)).setValue(ScaffoldingBlock.BOTTOM, this.isBottom(world, pos, i)); @@ -39,10 +39,10 @@ index f99082c58743e8b73e263655dbebc34e904c45bc..e9358522e526505d5c200e19b193bbcf FallingBlockEntity.fall(world, pos, iblockdata1); } else { diff --git a/src/main/java/net/minecraft/world/level/block/SnifferEggBlock.java b/src/main/java/net/minecraft/world/level/block/SnifferEggBlock.java -index 1e115adfcfee518667559100d04050f5e71c8a23..8aaa3cb2248a02b5ee25251cc837a145edd34341 100644 +index 615ee22b4948d6a4869dc8b2111f48056969dd79..3cedc349e79665d3d471c92b5dca25c9e66ca0bf 100644 --- a/src/main/java/net/minecraft/world/level/block/SnifferEggBlock.java +++ b/src/main/java/net/minecraft/world/level/block/SnifferEggBlock.java -@@ -54,12 +54,26 @@ public class SnifferEggBlock extends Block { +@@ -61,12 +61,26 @@ public class SnifferEggBlock extends Block { return this.getHatchLevel(state) == 2; } diff --git a/patches/unapplied/server/0837-Collision-API.patch b/patches/server/0835-Collision-API.patch similarity index 88% rename from patches/unapplied/server/0837-Collision-API.patch rename to patches/server/0835-Collision-API.patch index 590aa862ed..2628a16abb 100644 --- a/patches/unapplied/server/0837-Collision-API.patch +++ b/patches/server/0835-Collision-API.patch @@ -5,10 +5,10 @@ Subject: [PATCH] Collision API diff --git a/src/main/java/org/bukkit/craftbukkit/CraftRegionAccessor.java b/src/main/java/org/bukkit/craftbukkit/CraftRegionAccessor.java -index 5a94a06bb531fe7805b43b5033a1d6edeee3b883..8cc1d7f5c5f8e9b9d6f7ab26025acf7237262959 100644 +index 681d29902a14b36e4b72e1ca530e131e1aaf273f..0b7faa5b0fce81fd1790341599c632ffc5b171f3 100644 --- a/src/main/java/org/bukkit/craftbukkit/CraftRegionAccessor.java +++ b/src/main/java/org/bukkit/craftbukkit/CraftRegionAccessor.java -@@ -1021,5 +1021,12 @@ public abstract class CraftRegionAccessor implements RegionAccessor { +@@ -1055,5 +1055,12 @@ public abstract class CraftRegionAccessor implements RegionAccessor { return this.getHandle().clip(new net.minecraft.world.level.ClipContext(start, end, net.minecraft.world.level.ClipContext.Block.COLLIDER, net.minecraft.world.level.ClipContext.Fluid.NONE, null)).getType() == net.minecraft.world.phys.HitResult.Type.MISS; } @@ -22,10 +22,10 @@ index 5a94a06bb531fe7805b43b5033a1d6edeee3b883..8cc1d7f5c5f8e9b9d6f7ab26025acf72 // Paper end } diff --git a/src/main/java/org/bukkit/craftbukkit/entity/CraftEntity.java b/src/main/java/org/bukkit/craftbukkit/entity/CraftEntity.java -index e02c454ba75f440342d85b466426b9363992d923..4199bc76c1f304e19fa7c3b7763d31b56a57221b 100644 +index ed30e079c23f564cbd0a45b38586bd12e17c525e..1075c90e51cfea5823a74c07847545e227968ad2 100644 --- a/src/main/java/org/bukkit/craftbukkit/entity/CraftEntity.java +++ b/src/main/java/org/bukkit/craftbukkit/entity/CraftEntity.java -@@ -1435,4 +1435,19 @@ public abstract class CraftEntity implements org.bukkit.entity.Entity { +@@ -1479,4 +1479,19 @@ public abstract class CraftEntity implements org.bukkit.entity.Entity { return getHandle().isInPowderSnow || getHandle().wasInPowderSnow; // depending on the location in the entity "tick" either could be needed. } // Paper end diff --git a/patches/server/0836-Fix-suggest-command-message-for-brigadier-syntax-exc.patch b/patches/server/0836-Fix-suggest-command-message-for-brigadier-syntax-exc.patch new file mode 100644 index 0000000000..85b6c4e151 --- /dev/null +++ b/patches/server/0836-Fix-suggest-command-message-for-brigadier-syntax-exc.patch @@ -0,0 +1,20 @@ +From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 +From: chickeneer +Date: Mon, 1 Aug 2022 20:13:02 -0500 +Subject: [PATCH] Fix suggest command message for brigadier syntax exceptions + +This is a bug accidentally introduced in upstream CB + +diff --git a/src/main/java/net/minecraft/commands/Commands.java b/src/main/java/net/minecraft/commands/Commands.java +index 0299b79f3643bf8c4f4da176c20fec64f4601228..6bab6dd39ac316f43768f24fef6490073e6c9bb7 100644 +--- a/src/main/java/net/minecraft/commands/Commands.java ++++ b/src/main/java/net/minecraft/commands/Commands.java +@@ -392,7 +392,7 @@ public class Commands { + if (commandsyntaxexception.getInput() != null && commandsyntaxexception.getCursor() >= 0) { + int i = Math.min(commandsyntaxexception.getInput().length(), commandsyntaxexception.getCursor()); + MutableComponent ichatmutablecomponent = Component.empty().withStyle(ChatFormatting.GRAY).withStyle((chatmodifier) -> { +- return chatmodifier.withClickEvent(new ClickEvent(ClickEvent.Action.SUGGEST_COMMAND, label)); // CraftBukkit ++ return chatmodifier.withClickEvent(new ClickEvent(ClickEvent.Action.SUGGEST_COMMAND, "/" + label)); // CraftBukkit // Paper + }); + + if (i > 10) { diff --git a/patches/unapplied/server/0839-Block-Ticking-API.patch b/patches/server/0837-Block-Ticking-API.patch similarity index 84% rename from patches/unapplied/server/0839-Block-Ticking-API.patch rename to patches/server/0837-Block-Ticking-API.patch index 4511a8454a..f899661a15 100644 --- a/patches/unapplied/server/0839-Block-Ticking-API.patch +++ b/patches/server/0837-Block-Ticking-API.patch @@ -5,10 +5,10 @@ Subject: [PATCH] Block Ticking API diff --git a/src/main/java/org/bukkit/craftbukkit/block/CraftBlock.java b/src/main/java/org/bukkit/craftbukkit/block/CraftBlock.java -index 8f588ce8de7304dbb48bca01ed331f65ba25fef8..11cc7e640774c6098c247382da8520d62ba19c32 100644 +index 6d10396347b69d9243ab902ecc68ede93fa17b7d..0a96b00a98227714ef99005e0a223765feae8fe9 100644 --- a/src/main/java/org/bukkit/craftbukkit/block/CraftBlock.java +++ b/src/main/java/org/bukkit/craftbukkit/block/CraftBlock.java -@@ -708,5 +708,21 @@ public class CraftBlock implements Block { +@@ -709,5 +709,21 @@ public class CraftBlock implements Block { public boolean isValidTool(ItemStack itemStack) { return getDrops(itemStack).size() != 0; } @@ -31,10 +31,10 @@ index 8f588ce8de7304dbb48bca01ed331f65ba25fef8..11cc7e640774c6098c247382da8520d6 // Paper end } 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 5b67d4dd280688093d7e36e59e5b2ec6ebdc796c..0bf863f597f3657a0f158756a2a91bda7eb453f6 100644 +index 79c469d461ce9df0994214ebc8b157a095a4c848..28a798e497c2c12794169068e69b56dd954978f3 100644 --- a/src/main/java/org/bukkit/craftbukkit/block/data/CraftBlockData.java +++ b/src/main/java/org/bukkit/craftbukkit/block/data/CraftBlockData.java -@@ -704,4 +704,11 @@ public class CraftBlockData implements BlockData { +@@ -711,4 +711,11 @@ public class CraftBlockData implements BlockData { return speed; } // Paper end - destroy speed API diff --git a/patches/unapplied/server/0840-Add-Velocity-IP-Forwarding-Support.patch b/patches/server/0838-Add-Velocity-IP-Forwarding-Support.patch similarity index 95% rename from patches/unapplied/server/0840-Add-Velocity-IP-Forwarding-Support.patch rename to patches/server/0838-Add-Velocity-IP-Forwarding-Support.patch index 88aa921852..37a848e94f 100644 --- a/patches/unapplied/server/0840-Add-Velocity-IP-Forwarding-Support.patch +++ b/patches/server/0838-Add-Velocity-IP-Forwarding-Support.patch @@ -95,7 +95,7 @@ index 0000000000000000000000000000000000000000..a34381122de53123169927e181df6628 + } +} diff --git a/src/main/java/net/minecraft/server/dedicated/DedicatedServer.java b/src/main/java/net/minecraft/server/dedicated/DedicatedServer.java -index 72c685ed3ece3752e34fc0ae25c7278ec131a505..4454944ba851216c8c88fe76ee910a2da52a2292 100644 +index 5264235c1547c78b8123e2efb07dcb77486cc5bf..db363bca264e37c29fda58291246aba0d3759de0 100644 --- a/src/main/java/net/minecraft/server/dedicated/DedicatedServer.java +++ b/src/main/java/net/minecraft/server/dedicated/DedicatedServer.java @@ -274,13 +274,20 @@ public class DedicatedServer extends MinecraftServer implements ServerInterface @@ -123,10 +123,10 @@ index 72c685ed3ece3752e34fc0ae25c7278ec131a505..4454944ba851216c8c88fe76ee910a2d DedicatedServer.LOGGER.warn("While this makes the game possible to play without internet access, it also opens up the ability for hackers to connect with any username they choose."); } diff --git a/src/main/java/net/minecraft/server/network/ServerLoginPacketListenerImpl.java b/src/main/java/net/minecraft/server/network/ServerLoginPacketListenerImpl.java -index 5ff49a0f2f42b63d606c7d9205c0e63fe39e163f..aac84898d2563bfb45c7d0884d65be2346d2911e 100644 +index 5c767318ff3f589ecebb9608ce173fa578e330a5..83605748ca8cf68c0fc6d99c34f3091183c7a059 100644 --- a/src/main/java/net/minecraft/server/network/ServerLoginPacketListenerImpl.java +++ b/src/main/java/net/minecraft/server/network/ServerLoginPacketListenerImpl.java -@@ -62,6 +62,7 @@ public class ServerLoginPacketListenerImpl implements ServerLoginPacketListener, +@@ -64,6 +64,7 @@ public class ServerLoginPacketListenerImpl implements ServerLoginPacketListener, private final String serverId; private ServerPlayer player; // CraftBukkit public boolean iKnowThisMayNotBeTheBestIdeaButPleaseDisableUsernameValidation = false; // Paper - username validation overriding @@ -134,7 +134,7 @@ index 5ff49a0f2f42b63d606c7d9205c0e63fe39e163f..aac84898d2563bfb45c7d0884d65be23 public ServerLoginPacketListenerImpl(MinecraftServer server, Connection connection) { this.state = ServerLoginPacketListenerImpl.State.HELLO; -@@ -175,6 +176,16 @@ public class ServerLoginPacketListenerImpl implements ServerLoginPacketListener, +@@ -177,6 +178,16 @@ public class ServerLoginPacketListenerImpl implements ServerLoginPacketListener, this.state = ServerLoginPacketListenerImpl.State.KEY; this.connection.send(new ClientboundHelloPacket("", this.server.getKeyPair().getPublic().getEncoded(), this.challenge)); } else { @@ -151,7 +151,7 @@ index 5ff49a0f2f42b63d606c7d9205c0e63fe39e163f..aac84898d2563bfb45c7d0884d65be23 // Spigot start // Paper start - Cache authenticator threads authenticatorPool.execute(new Runnable() { -@@ -318,6 +329,12 @@ public class ServerLoginPacketListenerImpl implements ServerLoginPacketListener, +@@ -314,6 +325,12 @@ public class ServerLoginPacketListenerImpl implements ServerLoginPacketListener, public class LoginHandler { public void fireEvents(GameProfile gameprofile) throws Exception { @@ -164,7 +164,7 @@ index 5ff49a0f2f42b63d606c7d9205c0e63fe39e163f..aac84898d2563bfb45c7d0884d65be23 String playerName = gameprofile.getName(); java.net.InetAddress address = ((java.net.InetSocketAddress) ServerLoginPacketListenerImpl.this.connection.getRemoteAddress()).getAddress(); java.net.InetAddress rawAddress = ((java.net.InetSocketAddress) ServerLoginPacketListenerImpl.this.connection.channel.remoteAddress()).getAddress(); // Paper -@@ -367,6 +384,49 @@ public class ServerLoginPacketListenerImpl implements ServerLoginPacketListener, +@@ -363,6 +380,49 @@ public class ServerLoginPacketListenerImpl implements ServerLoginPacketListener, @Override public void handleCustomQueryPacket(ServerboundCustomQueryAnswerPacket packet) { @@ -215,10 +215,10 @@ index 5ff49a0f2f42b63d606c7d9205c0e63fe39e163f..aac84898d2563bfb45c7d0884d65be23 } diff --git a/src/main/java/org/bukkit/craftbukkit/CraftServer.java b/src/main/java/org/bukkit/craftbukkit/CraftServer.java -index 8148d1cddc6f062cfc3938f2b185be0ed3afe3ab..7376d3acb27edd7209916e9e9df4ce9b9514e50c 100644 +index 7c8d21499d49aa88ad771e98a8e5302d1b3a3229..97a32d1d4bc4042c72c488eee92dff69f8336464 100644 --- a/src/main/java/org/bukkit/craftbukkit/CraftServer.java +++ b/src/main/java/org/bukkit/craftbukkit/CraftServer.java -@@ -807,7 +807,7 @@ public final class CraftServer implements Server { +@@ -802,7 +802,7 @@ public final class CraftServer implements Server { @Override public long getConnectionThrottle() { // Spigot Start - Automatically set connection throttle for bungee configurations diff --git a/patches/unapplied/server/0841-Use-thread-safe-random-in-ServerLoginPacketListenerI.patch b/patches/server/0839-Use-thread-safe-random-in-ServerLoginPacketListenerI.patch similarity index 67% rename from patches/unapplied/server/0841-Use-thread-safe-random-in-ServerLoginPacketListenerI.patch rename to patches/server/0839-Use-thread-safe-random-in-ServerLoginPacketListenerI.patch index c067fd1eaf..f069b0f0e0 100644 --- a/patches/unapplied/server/0841-Use-thread-safe-random-in-ServerLoginPacketListenerI.patch +++ b/patches/server/0839-Use-thread-safe-random-in-ServerLoginPacketListenerI.patch @@ -5,11 +5,11 @@ Subject: [PATCH] Use thread safe random in ServerLoginPacketListenerImpl diff --git a/src/main/java/net/minecraft/server/network/ServerLoginPacketListenerImpl.java b/src/main/java/net/minecraft/server/network/ServerLoginPacketListenerImpl.java -index aac84898d2563bfb45c7d0884d65be2346d2911e..1c4f272219e68373eaae93fc5ea9af7d8f3fd6f9 100644 +index 83605748ca8cf68c0fc6d99c34f3091183c7a059..601691db6943ae78530d01468e581760f2331b43 100644 --- a/src/main/java/net/minecraft/server/network/ServerLoginPacketListenerImpl.java +++ b/src/main/java/net/minecraft/server/network/ServerLoginPacketListenerImpl.java -@@ -50,6 +50,7 @@ public class ServerLoginPacketListenerImpl implements ServerLoginPacketListener, - static final Logger LOGGER = LogUtils.getLogger(); +@@ -52,6 +52,7 @@ public class ServerLoginPacketListenerImpl implements ServerLoginPacketListener, + private static final java.util.concurrent.ExecutorService authenticatorPool = java.util.concurrent.Executors.newCachedThreadPool(new com.google.common.util.concurrent.ThreadFactoryBuilder().setNameFormat("User Authenticator #%d").setUncaughtExceptionHandler(new DefaultUncaughtExceptionHandler(LOGGER)).build()); // Paper - Cache authenticator threads private static final int MAX_TICKS_BEFORE_LOGIN = 600; private static final Component DISCONNECT_UNEXPECTED_QUERY = Component.translatable("multiplayer.disconnect.unexpected_query_response"); + private static final RandomSource RANDOM = new org.bukkit.craftbukkit.util.RandomSourceWrapper(new java.util.Random()); // Paper - This is called across threads, make safe diff --git a/patches/unapplied/server/0842-Add-NamespacedKey-biome-methods.patch b/patches/server/0840-Add-NamespacedKey-biome-methods.patch similarity index 92% rename from patches/unapplied/server/0842-Add-NamespacedKey-biome-methods.patch rename to patches/server/0840-Add-NamespacedKey-biome-methods.patch index 6c282cba3f..c6af412c83 100644 --- a/patches/unapplied/server/0842-Add-NamespacedKey-biome-methods.patch +++ b/patches/server/0840-Add-NamespacedKey-biome-methods.patch @@ -6,10 +6,10 @@ Subject: [PATCH] Add NamespacedKey biome methods Co-authored-by: Thonk <30448663+ExcessiveAmountsOfZombies@users.noreply.github.com> diff --git a/src/main/java/org/bukkit/craftbukkit/util/CraftMagicNumbers.java b/src/main/java/org/bukkit/craftbukkit/util/CraftMagicNumbers.java -index 170fd09370ebf8c14116933fd505c8096904a281..ef317919818f9387dc394dd703fc028eaf37ec63 100644 +index ef59fcd13f8835001fcc6fba6165ffd6c35784fa..7cfb8ffd7d107aef20a86d044b453c49e9f59b7f 100644 --- a/src/main/java/org/bukkit/craftbukkit/util/CraftMagicNumbers.java +++ b/src/main/java/org/bukkit/craftbukkit/util/CraftMagicNumbers.java -@@ -604,6 +604,19 @@ public final class CraftMagicNumbers implements UnsafeValues { +@@ -601,6 +601,19 @@ public final class CraftMagicNumbers implements UnsafeValues { Preconditions.checkArgument(material.isBlock(), material + " is not a block"); return getBlock(material).hasCollision; } diff --git a/patches/unapplied/server/0843-Fix-plugin-loggers-on-server-shutdown.patch b/patches/server/0841-Fix-plugin-loggers-on-server-shutdown.patch similarity index 89% rename from patches/unapplied/server/0843-Fix-plugin-loggers-on-server-shutdown.patch rename to patches/server/0841-Fix-plugin-loggers-on-server-shutdown.patch index 84e13de76c..5dc623a782 100644 --- a/patches/unapplied/server/0843-Fix-plugin-loggers-on-server-shutdown.patch +++ b/patches/server/0841-Fix-plugin-loggers-on-server-shutdown.patch @@ -37,10 +37,10 @@ index 0000000000000000000000000000000000000000..c1d3bac79bb8b4796c013ff4472f75dc + } +} diff --git a/src/main/java/net/minecraft/server/MinecraftServer.java b/src/main/java/net/minecraft/server/MinecraftServer.java -index 47c984495a66fdbb10dea6bab33da78f4ab70a38..ebc35224004375b77039342926876a408995b04d 100644 +index 00de78e06b4583880e00f57823a4929eb1484e7a..92468b925a742b8e4ab741c39677fb3656f8481b 100644 --- a/src/main/java/net/minecraft/server/MinecraftServer.java +++ b/src/main/java/net/minecraft/server/MinecraftServer.java -@@ -980,6 +980,7 @@ public abstract class MinecraftServer extends ReentrantBlockableEventLoop diff --git a/src/main/java/net/minecraft/world/entity/LivingEntity.java b/src/main/java/net/minecraft/world/entity/LivingEntity.java -index 351f6c554a3d50ebe2572671c433be5750ac6dd8..e2ccf8badc02b5a21e3fcd6fcac76155d29e472c 100644 +index a21de30eef397308e3f4866a16cc588012e16f50..ece2f45427462587e28ba770178e13d7037e6668 100644 --- a/src/main/java/net/minecraft/world/entity/LivingEntity.java +++ b/src/main/java/net/minecraft/world/entity/LivingEntity.java -@@ -3059,37 +3059,15 @@ public abstract class LivingEntity extends Entity implements Attackable { +@@ -3056,37 +3056,15 @@ public abstract class LivingEntity extends Entity implements Attackable { this.level().getProfiler().pop(); this.level().getProfiler().push("rangeChecks"); @@ -54,10 +54,10 @@ index 351f6c554a3d50ebe2572671c433be5750ac6dd8..e2ccf8badc02b5a21e3fcd6fcac76155 this.level().getProfiler().pop(); this.animStep += f2; 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 24b549cb21926a02d736f0bbb991006b9453068d..6d7ac0c8c171834fa8da94f158258a4774d80ec4 100644 +index 621cb07c02cf318bf1b72c14724a42e0987d5b2f..5d779e75a1516487c53d96744613f292b0ccd1f7 100644 --- a/src/main/java/net/minecraft/world/entity/projectile/Projectile.java +++ b/src/main/java/net/minecraft/world/entity/projectile/Projectile.java -@@ -251,13 +251,7 @@ public abstract class Projectile extends Entity implements TraceableEntity { +@@ -271,13 +271,7 @@ public abstract class Projectile extends Entity implements TraceableEntity { } protected static float lerpRotation(float prevRot, float newRot) { diff --git a/patches/unapplied/server/0845-Fire-EntityChangeBlockEvent-in-more-places.patch b/patches/server/0843-Fire-EntityChangeBlockEvent-in-more-places.patch similarity index 93% rename from patches/unapplied/server/0845-Fire-EntityChangeBlockEvent-in-more-places.patch rename to patches/server/0843-Fire-EntityChangeBlockEvent-in-more-places.patch index 4f0d9f51f2..68bb448890 100644 --- a/patches/unapplied/server/0845-Fire-EntityChangeBlockEvent-in-more-places.patch +++ b/patches/server/0843-Fire-EntityChangeBlockEvent-in-more-places.patch @@ -6,7 +6,7 @@ Subject: [PATCH] Fire EntityChangeBlockEvent in more places Co-authored-by: ChristopheG <61288881+chrisgdt@users.noreply.github.com> diff --git a/src/main/java/net/minecraft/world/entity/LightningBolt.java b/src/main/java/net/minecraft/world/entity/LightningBolt.java -index 21cdbd96ecbe2a6c8f7b2e3f20aed6c175f3732b..471275c5362b61ce8b5b9dd5c85b3e93cabd3f76 100644 +index 80740ca823915fb2c854f13445d81964e0e971e5..255fb5e922c63130708e4bcab208b4db52a58387 100644 --- a/src/main/java/net/minecraft/world/entity/LightningBolt.java +++ b/src/main/java/net/minecraft/world/entity/LightningBolt.java @@ -98,7 +98,7 @@ public class LightningBolt extends Entity { @@ -96,15 +96,15 @@ index 2c443b421e342ebfbdf941a431ba20560521920b..91b68ee3605afdb845405e455c869e48 world.gameEvent(GameEvent.BLOCK_PLACE, blockPos3, GameEvent.Context.of(entity, blockState)); world.playSound((Player)null, entity, SoundEvents.FROG_LAY_SPAWN, SoundSource.BLOCKS, 1.0F, 1.0F); diff --git a/src/main/java/net/minecraft/world/item/AxeItem.java b/src/main/java/net/minecraft/world/item/AxeItem.java -index 2f8ae1786a4c4438515c59fa56acaefdff60703d..18898e16ec42f6b694b06e09d9174b60d62450d7 100644 +index db507638a97b5a33df712c54daff35b21922c0dd..2e75fd06e9e379eb95ebfe55086ffc327706ab2f 100644 --- a/src/main/java/net/minecraft/world/item/AxeItem.java +++ b/src/main/java/net/minecraft/world/item/AxeItem.java -@@ -54,6 +54,11 @@ public class AxeItem extends DiggerItem { - } - - if (optional4.isPresent()) { +@@ -38,6 +38,11 @@ public class AxeItem extends DiggerItem { + return InteractionResult.PASS; + } else { + ItemStack itemStack = context.getItemInHand(); + // Paper start - EntityChangeBlockEvent -+ if (!org.bukkit.craftbukkit.event.CraftEventFactory.callEntityChangeBlockEvent(player, blockPos, optional4.get())) { ++ if (!org.bukkit.craftbukkit.event.CraftEventFactory.callEntityChangeBlockEvent(player, blockPos, optional.get())) { + return InteractionResult.PASS; + } + // Paper end @@ -128,7 +128,7 @@ index 1fddc9025a9e5079f05dd6c86f6ca43c5d51d9c3..6d45e3ebea6721b9c168fea572e9bd61 Block.pushEntitiesUp(iblockdata, iblockdata1, world, blockposition); world.setBlock(blockposition, iblockdata1, 2); diff --git a/src/main/java/net/minecraft/world/item/HoneycombItem.java b/src/main/java/net/minecraft/world/item/HoneycombItem.java -index 5ab115834cddb9ab3209c11bd0fe657b06a02eb2..eaa263db594d5cf8758c8205ea06bbd37d56cdd4 100644 +index 78bdf7c0a058e84cafcd831c6d6f5123c0f168b0..e0cae3b6848af74fefc37a1e3183c501155c4710 100644 --- a/src/main/java/net/minecraft/world/item/HoneycombItem.java +++ b/src/main/java/net/minecraft/world/item/HoneycombItem.java @@ -39,6 +39,14 @@ public class HoneycombItem extends Item implements SignApplicator { @@ -147,7 +147,7 @@ index 5ab115834cddb9ab3209c11bd0fe657b06a02eb2..eaa263db594d5cf8758c8205ea06bbd3 CriteriaTriggers.ITEM_USED_ON_BLOCK.trigger((ServerPlayer)player, blockPos, itemStack); } diff --git a/src/main/java/net/minecraft/world/item/PotionItem.java b/src/main/java/net/minecraft/world/item/PotionItem.java -index 8c79ca75089e739d4899421106833e42e4e57280..88df7093c47f2a90f79a55797a04d7e4f51ed549 100644 +index d7ef159cc44787558ba41964f57a79f048371e97..0a61a03c4aa9a66548896126b6f72c7a3474ba5a 100644 --- a/src/main/java/net/minecraft/world/item/PotionItem.java +++ b/src/main/java/net/minecraft/world/item/PotionItem.java @@ -107,6 +107,12 @@ public class PotionItem extends Item { @@ -199,10 +199,10 @@ index 32995cb5efdad0bc34ecacacb78cccd21220ba8d..21212462e6b415e96536a27b2c009d15 level.gameEvent(GameEvent.BLOCK_CHANGE, blockPos, GameEvent.Context.of(player, blockState3)); if (player != null) { diff --git a/src/main/java/net/minecraft/world/level/block/ComposterBlock.java b/src/main/java/net/minecraft/world/level/block/ComposterBlock.java -index 4f24d5453522c68c22f15beed87e5237163c701a..38cb52d185e543c4df9eebfcd856df6fa80ba0ed 100644 +index 6cccdd1d19488275ff3fe90838cf1c31e844d517..413b307acaad5823b9e06f49fa2faf561f5f7b9a 100644 --- a/src/main/java/net/minecraft/world/level/block/ComposterBlock.java +++ b/src/main/java/net/minecraft/world/level/block/ComposterBlock.java -@@ -231,6 +231,11 @@ public class ComposterBlock extends Block implements WorldlyContainerHolder { +@@ -238,6 +238,11 @@ public class ComposterBlock extends Block implements WorldlyContainerHolder { if (i < 8 && ComposterBlock.COMPOSTABLES.containsKey(itemstack.getItem())) { if (i < 7 && !world.isClientSide) { BlockState iblockdata1 = ComposterBlock.addItem(player, state, world, pos, itemstack); @@ -214,7 +214,7 @@ index 4f24d5453522c68c22f15beed87e5237163c701a..38cb52d185e543c4df9eebfcd856df6f world.levelEvent(1500, pos, state != iblockdata1 ? 1 : 0); player.awardStat(Stats.ITEM_USED.get(itemstack.getItem())); -@@ -254,11 +259,16 @@ public class ComposterBlock extends Block implements WorldlyContainerHolder { +@@ -261,11 +266,16 @@ public class ComposterBlock extends Block implements WorldlyContainerHolder { if (i < 7 && ComposterBlock.COMPOSTABLES.containsKey(stack.getItem())) { // CraftBukkit start double rand = world.getRandom().nextDouble(); @@ -233,7 +233,7 @@ index 4f24d5453522c68c22f15beed87e5237163c701a..38cb52d185e543c4df9eebfcd856df6f // CraftBukkit end stack.shrink(1); -@@ -299,11 +309,13 @@ public class ComposterBlock extends Block implements WorldlyContainerHolder { +@@ -306,11 +316,13 @@ public class ComposterBlock extends Block implements WorldlyContainerHolder { return iblockdata1; } @@ -247,7 +247,7 @@ index 4f24d5453522c68c22f15beed87e5237163c701a..38cb52d185e543c4df9eebfcd856df6f static BlockState addItem(@Nullable Entity entity, BlockState iblockdata, LevelAccessor generatoraccess, BlockPos blockposition, ItemStack itemstack, double rand) { // CraftBukkit end int i = (Integer) iblockdata.getValue(ComposterBlock.LEVEL); -@@ -314,6 +326,11 @@ public class ComposterBlock extends Block implements WorldlyContainerHolder { +@@ -321,6 +333,11 @@ public class ComposterBlock extends Block implements WorldlyContainerHolder { } else { int j = i + 1; BlockState iblockdata1 = (BlockState) iblockdata.setValue(ComposterBlock.LEVEL, j); @@ -260,7 +260,7 @@ index 4f24d5453522c68c22f15beed87e5237163c701a..38cb52d185e543c4df9eebfcd856df6f generatoraccess.setBlock(blockposition, iblockdata1, 3); generatoraccess.gameEvent(GameEvent.BLOCK_CHANGE, blockposition, GameEvent.Context.of(entity, iblockdata1)); diff --git a/src/main/java/org/bukkit/craftbukkit/util/DummyGeneratorAccess.java b/src/main/java/org/bukkit/craftbukkit/util/DummyGeneratorAccess.java -index 1233788274f1cbdaa564d3145214b4908ae1f573..23ee60e8843a6a05e7ae6512248a57ec2a08321b 100644 +index 32594b4ebe8ab4c820e588573f5e01b08c57984f..a5e34c25e00e7f770bcb6e15ed0bbfe8f369a68a 100644 --- a/src/main/java/org/bukkit/craftbukkit/util/DummyGeneratorAccess.java +++ b/src/main/java/org/bukkit/craftbukkit/util/DummyGeneratorAccess.java @@ -120,7 +120,7 @@ public class DummyGeneratorAccess implements WorldGenLevel { diff --git a/patches/unapplied/server/0846-Missing-eating-regain-reason.patch b/patches/server/0844-Missing-eating-regain-reason.patch similarity index 100% rename from patches/unapplied/server/0846-Missing-eating-regain-reason.patch rename to patches/server/0844-Missing-eating-regain-reason.patch diff --git a/patches/unapplied/server/0847-Missing-effect-cause.patch b/patches/server/0845-Missing-effect-cause.patch similarity index 90% rename from patches/unapplied/server/0847-Missing-effect-cause.patch rename to patches/server/0845-Missing-effect-cause.patch index c5a77c1456..2e4ef13ae7 100644 --- a/patches/unapplied/server/0847-Missing-effect-cause.patch +++ b/patches/server/0845-Missing-effect-cause.patch @@ -5,10 +5,10 @@ Subject: [PATCH] Missing effect cause diff --git a/src/main/java/net/minecraft/world/entity/animal/axolotl/Axolotl.java b/src/main/java/net/minecraft/world/entity/animal/axolotl/Axolotl.java -index 21b414201539a1625001b8676d51b8afb67506bb..d5b97d4316390028f54aa9bb9fa52b0b003e32a0 100644 +index af5db5da4e5b2fd90a5cf0ca3c92e87ba82d4779..387006271c246362b0df1bfcadca7b7096660003 100644 --- a/src/main/java/net/minecraft/world/entity/animal/axolotl/Axolotl.java +++ b/src/main/java/net/minecraft/world/entity/animal/axolotl/Axolotl.java -@@ -424,7 +424,7 @@ public class Axolotl extends Animal implements LerpingModel, VariantHolder registry = world.registryAccess().registryOrThrow(Registries.TEMPLATE_POOL); diff --git a/patches/unapplied/server/0854-use-BlockFormEvent-for-mud-converting-into-clay.patch b/patches/server/0852-use-BlockFormEvent-for-mud-converting-into-clay.patch similarity index 92% rename from patches/unapplied/server/0854-use-BlockFormEvent-for-mud-converting-into-clay.patch rename to patches/server/0852-use-BlockFormEvent-for-mud-converting-into-clay.patch index 39be29edef..443d960dbb 100644 --- a/patches/unapplied/server/0854-use-BlockFormEvent-for-mud-converting-into-clay.patch +++ b/patches/server/0852-use-BlockFormEvent-for-mud-converting-into-clay.patch @@ -5,10 +5,10 @@ Subject: [PATCH] use BlockFormEvent for mud converting into clay diff --git a/src/main/java/net/minecraft/world/level/block/PointedDripstoneBlock.java b/src/main/java/net/minecraft/world/level/block/PointedDripstoneBlock.java -index 741aef7f4fbe1eba8db1eb4eb2ab255906863c66..cd943997f11f5ea5c600fdc6db96043fb0fa713c 100644 +index e59f9b83606da83f15924477ea2a2c4b74e7d892..bd22d3fdecbc992b11073a74d854b7d1b43c3f6a 100644 --- a/src/main/java/net/minecraft/world/level/block/PointedDripstoneBlock.java +++ b/src/main/java/net/minecraft/world/level/block/PointedDripstoneBlock.java -@@ -211,10 +211,13 @@ public class PointedDripstoneBlock extends Block implements Fallable, SimpleWate +@@ -220,10 +220,13 @@ public class PointedDripstoneBlock extends Block implements Fallable, SimpleWate if (((PointedDripstoneBlock.FluidInfo) optional.get()).sourceState.is(Blocks.MUD) && fluidtype == Fluids.WATER) { BlockState iblockdata1 = Blocks.CLAY.defaultBlockState(); diff --git a/patches/unapplied/server/0855-Add-getDrops-to-BlockState.patch b/patches/server/0853-Add-getDrops-to-BlockState.patch similarity index 100% rename from patches/unapplied/server/0855-Add-getDrops-to-BlockState.patch rename to patches/server/0853-Add-getDrops-to-BlockState.patch diff --git a/patches/unapplied/server/0856-Fix-a-bunch-of-vanilla-bugs.patch b/patches/server/0854-Fix-a-bunch-of-vanilla-bugs.patch similarity index 88% rename from patches/unapplied/server/0856-Fix-a-bunch-of-vanilla-bugs.patch rename to patches/server/0854-Fix-a-bunch-of-vanilla-bugs.patch index 199e551422..c5a92a5053 100644 --- a/patches/unapplied/server/0856-Fix-a-bunch-of-vanilla-bugs.patch +++ b/patches/server/0854-Fix-a-bunch-of-vanilla-bugs.patch @@ -66,9 +66,6 @@ https://bugs.mojang.com/browse/MC-174630 https://bugs.mojang.com/browse/MC-153086 Fix the beacon deactivation sound always playing when broken -https://bugs.mojang.com/browse/MC-259321 - Fix spawners checking max nearby entities with correct type - https://bugs.mojang.com/browse/MC-200092 Fix yaw being ignored for a player's first spawn pos @@ -78,7 +75,7 @@ public net/minecraft/world/entity/Mob leashInfoTag Co-authored-by: William Blake Galbreath diff --git a/src/main/java/net/minecraft/core/dispenser/DispenseItemBehavior.java b/src/main/java/net/minecraft/core/dispenser/DispenseItemBehavior.java -index b5ea499b78970ec1575893e3b52900bf34feb3ec..e9db6b5096e7368b4a32a0e86eebccac15ab443b 100644 +index 9f220c99d7374ab3d9db222346694342d3e926c1..d9077127757886e5d5e8d63a46fe27f2bfba1420 100644 --- a/src/main/java/net/minecraft/core/dispenser/DispenseItemBehavior.java +++ b/src/main/java/net/minecraft/core/dispenser/DispenseItemBehavior.java @@ -351,7 +351,7 @@ public interface DispenseItemBehavior { @@ -130,12 +127,12 @@ index b71be5e7e18f884cf35cc3a940c87e744e00f811..81d3d664d4397e528a02e50469622c4f return this.anyPlayerCloseEnoughForSpawning(pos, false); } diff --git a/src/main/java/net/minecraft/server/level/ServerLevel.java b/src/main/java/net/minecraft/server/level/ServerLevel.java -index 1f1cdf5516eab738e5d434eb5f2933ff3d7a1359..c5f0439133f3ab609324f21f68027edebed049c5 100644 +index 60eb96c274ac1b899de9b6f79eaab8596aee012c..80283588344ae3ba4a58d4be2c0bfc769cbcd78d 100644 --- a/src/main/java/net/minecraft/server/level/ServerLevel.java +++ b/src/main/java/net/minecraft/server/level/ServerLevel.java -@@ -1005,7 +1005,7 @@ public class ServerLevel extends Level implements WorldGenLevel { +@@ -1028,7 +1028,7 @@ public class ServerLevel extends Level implements WorldGenLevel { } else { - AABB axisalignedbb = (new AABB(blockposition1, new BlockPos(blockposition1.getX(), this.getMaxBuildHeight(), blockposition1.getZ()))).inflate(3.0D); + AABB axisalignedbb = AABB.encapsulatingFullBlocks(blockposition1, new BlockPos(blockposition1.atY(this.getMaxBuildHeight()))).inflate(3.0D); List list = this.getEntitiesOfClass(LivingEntity.class, axisalignedbb, (entityliving) -> { - return entityliving != null && entityliving.isAlive() && this.canSeeSky(entityliving.blockPosition()); + return entityliving != null && entityliving.isAlive() && this.canSeeSky(entityliving.blockPosition()) && !entityliving.isSpectator(); // Paper - Fix lightning being able to hit spectators (MC-262422) @@ -143,10 +140,10 @@ index 1f1cdf5516eab738e5d434eb5f2933ff3d7a1359..c5f0439133f3ab609324f21f68027ede if (!list.isEmpty()) { diff --git a/src/main/java/net/minecraft/server/level/ServerPlayer.java b/src/main/java/net/minecraft/server/level/ServerPlayer.java -index fdd8ae699ebffcce391321d0c0d48a2bf171de12..0d8d17c03af1ebe033f4e3a4743e018bd819efdb 100644 +index 4895f0c507aac0c473ecca951f206a5b2182ad97..c0306e2cca4289fae6ebd4a1b232c235f6fe06cb 100644 --- a/src/main/java/net/minecraft/server/level/ServerPlayer.java +++ b/src/main/java/net/minecraft/server/level/ServerPlayer.java -@@ -461,14 +461,14 @@ public class ServerPlayer extends Player { +@@ -468,14 +468,14 @@ public class ServerPlayer extends Player { BlockPos blockposition1 = PlayerRespawnLogic.getOverworldRespawnPos(world, blockposition.getX() + j2 - i, blockposition.getZ() + k2 - i); if (blockposition1 != null) { @@ -164,7 +161,7 @@ index fdd8ae699ebffcce391321d0c0d48a2bf171de12..0d8d17c03af1ebe033f4e3a4743e018b while (!world.noCollision(this, this.getBoundingBox(), true) && this.getY() < (double) (world.getMaxBuildHeight() - 1)) { // Paper - make sure this loads chunks, we default to NOT loading now this.setPos(this.getX(), this.getY() + 1.0D, this.getZ()); diff --git a/src/main/java/net/minecraft/server/level/ServerPlayerGameMode.java b/src/main/java/net/minecraft/server/level/ServerPlayerGameMode.java -index b965df96bd92c0e3ab20f46f5a3712fcb0fb9fce..411215e353d89f49b52c74de7b0ca99c8b776cdb 100644 +index 4e1ed252bf400ec991f95b02984f01a9689f2989..805c9b9b0e89002b97e1e11e1e6e2435315b8f2c 100644 --- a/src/main/java/net/minecraft/server/level/ServerPlayerGameMode.java +++ b/src/main/java/net/minecraft/server/level/ServerPlayerGameMode.java @@ -92,7 +92,7 @@ public class ServerPlayerGameMode { @@ -222,7 +219,7 @@ index 784a894688f98f9d0368a36d456c5c94e1ee3695..a85885ee51df585fa11ae9f8fcd67ff2 } diff --git a/src/main/java/net/minecraft/world/entity/ai/goal/EatBlockGoal.java b/src/main/java/net/minecraft/world/entity/ai/goal/EatBlockGoal.java -index b0caf52d00d8cd76550ab116291f8e11144a5e59..93bbda61f0eb2dd52573602b1f9cc7b031d1fc5a 100644 +index d802985f1431be4332c07f0dab88feebedea4ce2..4e2c23ccdf4e4a4d65b291dbe20952bae1838bff 100644 --- a/src/main/java/net/minecraft/world/entity/ai/goal/EatBlockGoal.java +++ b/src/main/java/net/minecraft/world/entity/ai/goal/EatBlockGoal.java @@ -31,6 +31,11 @@ public class EatBlockGoal extends Goal { @@ -285,7 +282,7 @@ index 363892e0c26bab89d2abaa44d8736e2fd84d292f..111a244087e24f25ba8524a46a228da1 } diff --git a/src/main/java/net/minecraft/world/entity/animal/horse/AbstractHorse.java b/src/main/java/net/minecraft/world/entity/animal/horse/AbstractHorse.java -index a974b57dfb007d14194c566421216003ffb0c5d6..09e9c0e55c789f03a4b64136f28154bd114db6f5 100644 +index bd0165d9ca52665a52fbd9678ed895bf4bed2fe7..8fe5a4ccf474c094b8081828c93e8973cdabb6ed 100644 --- a/src/main/java/net/minecraft/world/entity/animal/horse/AbstractHorse.java +++ b/src/main/java/net/minecraft/world/entity/animal/horse/AbstractHorse.java @@ -252,7 +252,13 @@ public abstract class AbstractHorse extends Animal implements ContainerListener, @@ -304,10 +301,10 @@ index a974b57dfb007d14194c566421216003ffb0c5d6..09e9c0e55c789f03a4b64136f28154bd public void equipArmor(Player player, ItemStack stack) { diff --git a/src/main/java/net/minecraft/world/entity/decoration/ItemFrame.java b/src/main/java/net/minecraft/world/entity/decoration/ItemFrame.java -index a86472cce8e8fcde16d761842fe443a619f6e305..b42c060a5d8d68b5773a8a5e38c59707a277d9bb 100644 +index 63ef00eb6f93a471de1e9c2355099d9dd3a71dd9..6849429c3577f36eb699083375824ae5633f8d06 100644 --- a/src/main/java/net/minecraft/world/entity/decoration/ItemFrame.java +++ b/src/main/java/net/minecraft/world/entity/decoration/ItemFrame.java -@@ -287,6 +287,14 @@ public class ItemFrame extends HangingEntity { +@@ -282,6 +282,14 @@ public class ItemFrame extends HangingEntity { } } @@ -422,49 +419,13 @@ index ca6a2b9840c9ade87ec8effab01d4f184fe876b7..43129ecefcc8beccbcf2978f262b1ce8 entity.level().gameEvent(entity, GameEvent.EQUIP, entity.position()); stack.shrink(1); } -diff --git a/src/main/java/net/minecraft/world/level/BaseSpawner.java b/src/main/java/net/minecraft/world/level/BaseSpawner.java -index ae2b95f53e875716489821dc9b0a3a35039bfcc9..e4a5871d8f07e2b4c12b94b6372afe3a34b13071 100644 ---- a/src/main/java/net/minecraft/world/level/BaseSpawner.java -+++ b/src/main/java/net/minecraft/world/level/BaseSpawner.java -@@ -46,6 +46,22 @@ public abstract class BaseSpawner { - public int requiredPlayerRange = 16; - public int spawnRange = 4; - private int tickDelay = 0; // Paper -+ // Paper start - ported from 1.20.3 Fix MC-259321 -+ static net.minecraft.world.level.entity.EntityTypeTest forExactClass(Class clazz) { -+ return new net.minecraft.world.level.entity.EntityTypeTest<>() { -+ @Nullable -+ @Override -+ public T tryCast(B entity) { -+ return (T)(clazz.equals(entity.getClass()) ? entity : null); -+ } -+ -+ @Override -+ public Class getBaseClass() { -+ return clazz; -+ } -+ }; -+ } -+ // Paper end - - public BaseSpawner() {} - -@@ -160,7 +176,7 @@ public abstract class BaseSpawner { - return; - } - -- int k = world.getEntitiesOfClass(entity.getClass(), (new AABB((double) pos.getX(), (double) pos.getY(), (double) pos.getZ(), (double) (pos.getX() + 1), (double) (pos.getY() + 1), (double) (pos.getZ() + 1))).inflate((double) this.spawnRange)).size(); -+ int k = world.getEntities(forExactClass(entity.getClass()), (new AABB((double) pos.getX(), (double) pos.getY(), (double) pos.getZ(), (double) (pos.getX() + 1), (double) (pos.getY() + 1), (double) (pos.getZ() + 1))).inflate((double) this.spawnRange), net.minecraft.world.entity.EntitySelector.NO_SPECTATORS).size(); // Paper - Fix MC-259321 (only count exact entity types for nearby checks) - - if (k >= this.maxNearbyEntities) { - this.delay(world, pos); diff --git a/src/main/java/net/minecraft/world/level/block/AzaleaBlock.java b/src/main/java/net/minecraft/world/level/block/AzaleaBlock.java -index eba153ad0025d92ffb5d8de65f69a8e812b81533..087f3b3cc180e16195efdc0b402701fd9f5d78b4 100644 +index 6e45582f8ea7dd2a46f58369c5581764538bff0d..3ecc92439fc85d224ff52f41c5e34079e042a5e6 100644 --- a/src/main/java/net/minecraft/world/level/block/AzaleaBlock.java +++ b/src/main/java/net/minecraft/world/level/block/AzaleaBlock.java -@@ -45,4 +45,11 @@ public class AzaleaBlock extends BushBlock implements BonemealableBlock { +@@ -51,4 +51,11 @@ public class AzaleaBlock extends BushBlock implements BonemealableBlock { public void performBonemeal(ServerLevel world, RandomSource random, BlockPos pos, BlockState state) { - TREE_GROWER.growTree(world, world.getChunkSource().getGenerator(), pos, state, random); + TreeGrower.AZALEA.growTree(world, world.getChunkSource().getGenerator(), pos, state, random); } + + // Paper start - Fix MC-224454 @@ -475,10 +436,10 @@ index eba153ad0025d92ffb5d8de65f69a8e812b81533..087f3b3cc180e16195efdc0b402701fd + // Paper end } diff --git a/src/main/java/net/minecraft/world/level/block/LayeredCauldronBlock.java b/src/main/java/net/minecraft/world/level/block/LayeredCauldronBlock.java -index 2932419b7ca3f066b1db329829af36ba31e17c65..e11eced0bf15dfecaf64f5e1c28e973c38746095 100644 +index 43a72941ab553c154633144d358fb204765257f5..b5e4beb21e1669e5af4da4c3b55a56f83ec5db4f 100644 --- a/src/main/java/net/minecraft/world/level/block/LayeredCauldronBlock.java +++ b/src/main/java/net/minecraft/world/level/block/LayeredCauldronBlock.java -@@ -63,7 +63,7 @@ public class LayeredCauldronBlock extends AbstractCauldronBlock { +@@ -68,7 +68,7 @@ public class LayeredCauldronBlock extends AbstractCauldronBlock { if (!new io.papermc.paper.event.entity.EntityInsideBlockEvent(entity.getBukkitEntity(), org.bukkit.craftbukkit.block.CraftBlock.at(world, pos)).callEvent()) { return; } // Paper if (!world.isClientSide && entity.isOnFire() && this.isEntityInsideContent(state, pos, entity)) { // CraftBukkit start diff --git a/patches/unapplied/server/0857-Remove-unnecessary-onTrackingStart-during-navigation.patch b/patches/server/0855-Remove-unnecessary-onTrackingStart-during-navigation.patch similarity index 87% rename from patches/unapplied/server/0857-Remove-unnecessary-onTrackingStart-during-navigation.patch rename to patches/server/0855-Remove-unnecessary-onTrackingStart-during-navigation.patch index 01440eb492..650345f057 100644 --- a/patches/unapplied/server/0857-Remove-unnecessary-onTrackingStart-during-navigation.patch +++ b/patches/server/0855-Remove-unnecessary-onTrackingStart-during-navigation.patch @@ -5,10 +5,10 @@ Subject: [PATCH] Remove unnecessary onTrackingStart during navigation warning diff --git a/src/main/java/net/minecraft/server/level/ServerLevel.java b/src/main/java/net/minecraft/server/level/ServerLevel.java -index c5f0439133f3ab609324f21f68027edebed049c5..45b41d000bae08125ea8e6fb39b9f9fc037a6137 100644 +index 80283588344ae3ba4a58d4be2c0bfc769cbcd78d..ba30421e53f935e2860564f8e3748160d64e3665 100644 --- a/src/main/java/net/minecraft/server/level/ServerLevel.java +++ b/src/main/java/net/minecraft/server/level/ServerLevel.java -@@ -2588,7 +2588,7 @@ public class ServerLevel extends Level implements WorldGenLevel { +@@ -2629,7 +2629,7 @@ public class ServerLevel extends Level implements WorldGenLevel { if (entity instanceof Mob) { Mob entityinsentient = (Mob) entity; @@ -17,7 +17,7 @@ index c5f0439133f3ab609324f21f68027edebed049c5..45b41d000bae08125ea8e6fb39b9f9fc String s = "onTrackingStart called during navigation iteration"; Util.logAndPauseIfInIde("onTrackingStart called during navigation iteration", new IllegalStateException("onTrackingStart called during navigation iteration")); -@@ -2673,7 +2673,7 @@ public class ServerLevel extends Level implements WorldGenLevel { +@@ -2714,7 +2714,7 @@ public class ServerLevel extends Level implements WorldGenLevel { if (entity instanceof Mob) { Mob entityinsentient = (Mob) entity; diff --git a/patches/unapplied/server/0858-Fix-custom-piglin-loved-items.patch b/patches/server/0856-Fix-custom-piglin-loved-items.patch similarity index 100% rename from patches/unapplied/server/0858-Fix-custom-piglin-loved-items.patch rename to patches/server/0856-Fix-custom-piglin-loved-items.patch diff --git a/patches/unapplied/server/0859-EntityPickupItemEvent-fixes.patch b/patches/server/0857-EntityPickupItemEvent-fixes.patch similarity index 100% rename from patches/unapplied/server/0859-EntityPickupItemEvent-fixes.patch rename to patches/server/0857-EntityPickupItemEvent-fixes.patch diff --git a/patches/unapplied/server/0860-Correctly-handle-interactions-with-items-on-cooldown.patch b/patches/server/0858-Correctly-handle-interactions-with-items-on-cooldown.patch similarity index 94% rename from patches/unapplied/server/0860-Correctly-handle-interactions-with-items-on-cooldown.patch rename to patches/server/0858-Correctly-handle-interactions-with-items-on-cooldown.patch index 355445bded..9846be7ee8 100644 --- a/patches/unapplied/server/0860-Correctly-handle-interactions-with-items-on-cooldown.patch +++ b/patches/server/0858-Correctly-handle-interactions-with-items-on-cooldown.patch @@ -5,7 +5,7 @@ Subject: [PATCH] Correctly handle interactions with items on cooldown diff --git a/src/main/java/net/minecraft/server/level/ServerPlayerGameMode.java b/src/main/java/net/minecraft/server/level/ServerPlayerGameMode.java -index 411215e353d89f49b52c74de7b0ca99c8b776cdb..e8ad6a1e497f399c5d8cd6a6ec192ddc932e3fb9 100644 +index 805c9b9b0e89002b97e1e11e1e6e2435315b8f2c..f58386e952d29a16d160b628a23efbe102791277 100644 --- a/src/main/java/net/minecraft/server/level/ServerPlayerGameMode.java +++ b/src/main/java/net/minecraft/server/level/ServerPlayerGameMode.java @@ -516,6 +516,7 @@ public class ServerPlayerGameMode { @@ -30,7 +30,7 @@ index 411215e353d89f49b52c74de7b0ca99c8b776cdb..e8ad6a1e497f399c5d8cd6a6ec192ddc this.interactResult = event.useItemInHand() == Event.Result.DENY; this.interactPosition = blockposition.immutable(); diff --git a/src/main/java/org/bukkit/craftbukkit/event/CraftEventFactory.java b/src/main/java/org/bukkit/craftbukkit/event/CraftEventFactory.java -index 914fb155cbd79d0a1c4fbd5389ae3a15e76cad61..5f35eed82193e1868102cdfa931f1cb2c7662185 100644 +index 2b0a969b185dd959067d8828254f9c48f5b49161..1854933bb3400f44da835364edda51d430da2160 100644 --- a/src/main/java/org/bukkit/craftbukkit/event/CraftEventFactory.java +++ b/src/main/java/org/bukkit/craftbukkit/event/CraftEventFactory.java @@ -546,7 +546,13 @@ public class CraftEventFactory { diff --git a/patches/unapplied/server/0861-Add-PlayerInventorySlotChangeEvent.patch b/patches/server/0859-Add-PlayerInventorySlotChangeEvent.patch similarity index 93% rename from patches/unapplied/server/0861-Add-PlayerInventorySlotChangeEvent.patch rename to patches/server/0859-Add-PlayerInventorySlotChangeEvent.patch index b78b0f44e3..97b8e694c5 100644 --- a/patches/unapplied/server/0861-Add-PlayerInventorySlotChangeEvent.patch +++ b/patches/server/0859-Add-PlayerInventorySlotChangeEvent.patch @@ -5,10 +5,10 @@ Subject: [PATCH] Add PlayerInventorySlotChangeEvent diff --git a/src/main/java/net/minecraft/server/level/ServerPlayer.java b/src/main/java/net/minecraft/server/level/ServerPlayer.java -index 0d8d17c03af1ebe033f4e3a4743e018bd819efdb..04961c33f4d89c491c5b6eb2a53b948feca17807 100644 +index c0306e2cca4289fae6ebd4a1b232c235f6fe06cb..51a7ce409c00f586058d4b7b0e3dba17f3b6900b 100644 --- a/src/main/java/net/minecraft/server/level/ServerPlayer.java +++ b/src/main/java/net/minecraft/server/level/ServerPlayer.java -@@ -372,6 +372,25 @@ public class ServerPlayer extends Player { +@@ -379,6 +379,25 @@ public class ServerPlayer extends Player { } } @@ -35,7 +35,7 @@ index 0d8d17c03af1ebe033f4e3a4743e018bd819efdb..04961c33f4d89c491c5b6eb2a53b948f @Override public void dataChanged(AbstractContainerMenu handler, int property, int value) {} diff --git a/src/main/java/net/minecraft/world/inventory/AbstractContainerMenu.java b/src/main/java/net/minecraft/world/inventory/AbstractContainerMenu.java -index 1a19c6dc49cac784ca56d92ec755d6ead9811b20..176c8048f2fb3822fc14af9bfe5676c9d0768ca3 100644 +index b22cf4636108794092d8e289368b72a10a16d3cd..c18348f4ea79b15b081cf7ba3bd9d77212aa086e 100644 --- a/src/main/java/net/minecraft/world/inventory/AbstractContainerMenu.java +++ b/src/main/java/net/minecraft/world/inventory/AbstractContainerMenu.java @@ -302,7 +302,7 @@ public abstract class AbstractContainerMenu { diff --git a/patches/unapplied/server/0862-Elder-Guardian-appearance-API.patch b/patches/server/0860-Elder-Guardian-appearance-API.patch similarity index 84% rename from patches/unapplied/server/0862-Elder-Guardian-appearance-API.patch rename to patches/server/0860-Elder-Guardian-appearance-API.patch index 902812d23d..eb7f790973 100644 --- a/patches/unapplied/server/0862-Elder-Guardian-appearance-API.patch +++ b/patches/server/0860-Elder-Guardian-appearance-API.patch @@ -5,10 +5,10 @@ Subject: [PATCH] Elder Guardian appearance API diff --git a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java -index 337dbf8e5a2537e1d617d355a9a0f79171a69524..52dc37b5127a3ae3a3948c645968365fd0dc0908 100644 +index 50d3de2bb715e7de8243174f66d92e45bae10683..6885b8995906e9fbb94316db5b1ba764f287d942 100644 --- a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java +++ b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java -@@ -3164,6 +3164,13 @@ public class CraftPlayer extends CraftHumanEntity implements Player { +@@ -3179,6 +3179,13 @@ public class CraftPlayer extends CraftHumanEntity implements Player { } // Paper end diff --git a/patches/unapplied/server/0863-Allow-changing-bed-s-occupied-property.patch b/patches/server/0861-Allow-changing-bed-s-occupied-property.patch similarity index 100% rename from patches/unapplied/server/0863-Allow-changing-bed-s-occupied-property.patch rename to patches/server/0861-Allow-changing-bed-s-occupied-property.patch diff --git a/patches/unapplied/server/0864-Add-entity-knockback-API.patch b/patches/server/0862-Add-entity-knockback-API.patch similarity index 85% rename from patches/unapplied/server/0864-Add-entity-knockback-API.patch rename to patches/server/0862-Add-entity-knockback-API.patch index 725aa8ba1e..1fcd00b6ec 100644 --- a/patches/unapplied/server/0864-Add-entity-knockback-API.patch +++ b/patches/server/0862-Add-entity-knockback-API.patch @@ -5,10 +5,10 @@ Subject: [PATCH] Add entity knockback API diff --git a/src/main/java/org/bukkit/craftbukkit/entity/CraftLivingEntity.java b/src/main/java/org/bukkit/craftbukkit/entity/CraftLivingEntity.java -index c9396a55fddba47124ad5aebe7f816d99a03659c..1de9516fc3b6decca250b103abf85a4a8dcea6b2 100644 +index bd58fdd7001e41418f4bbc881274814cf9fe79c3..3e99b80bb8d20198e905b18985941e3d32121e5d 100644 --- a/src/main/java/org/bukkit/craftbukkit/entity/CraftLivingEntity.java +++ b/src/main/java/org/bukkit/craftbukkit/entity/CraftLivingEntity.java -@@ -1032,5 +1032,11 @@ public class CraftLivingEntity extends CraftEntity implements LivingEntity { +@@ -1037,5 +1037,11 @@ public class CraftLivingEntity extends CraftEntity implements LivingEntity { } throw new IllegalArgumentException(entityCategory + " is an unrecognized entity category"); } diff --git a/patches/unapplied/server/0865-Detect-headless-JREs.patch b/patches/server/0863-Detect-headless-JREs.patch similarity index 94% rename from patches/unapplied/server/0865-Detect-headless-JREs.patch rename to patches/server/0863-Detect-headless-JREs.patch index 21cb522e88..a686a1859b 100644 --- a/patches/unapplied/server/0865-Detect-headless-JREs.patch +++ b/patches/server/0863-Detect-headless-JREs.patch @@ -27,10 +27,10 @@ index 6bd0afddbcc461149dfe9a5c7a86fff6ea13a5f1..148d233f4f5278ff39eacdaa0f4f0e7d + } } diff --git a/src/main/java/net/minecraft/server/Main.java b/src/main/java/net/minecraft/server/Main.java -index 963e9887bda7bbcd9555fcbb17d63362ef1be5a6..ae0e39461e416cecd8e6904cb2fa69ad55a510e1 100644 +index 62f4c2c9485f7700a46f33cf9d158ce3d0552185..4a451d6d5b11f10db9c583823c4d742f4a69970c 100644 --- a/src/main/java/net/minecraft/server/Main.java +++ b/src/main/java/net/minecraft/server/Main.java -@@ -178,6 +178,18 @@ public class Main { +@@ -175,6 +175,18 @@ public class Main { return; } diff --git a/patches/unapplied/server/0866-fixed-entity-vehicle-collision-event-not-called.patch b/patches/server/0864-fixed-entity-vehicle-collision-event-not-called.patch similarity index 86% rename from patches/unapplied/server/0866-fixed-entity-vehicle-collision-event-not-called.patch rename to patches/server/0864-fixed-entity-vehicle-collision-event-not-called.patch index ebd0cc3b2c..d24d5b3681 100644 --- a/patches/unapplied/server/0866-fixed-entity-vehicle-collision-event-not-called.patch +++ b/patches/server/0864-fixed-entity-vehicle-collision-event-not-called.patch @@ -5,10 +5,10 @@ Subject: [PATCH] fixed entity vehicle collision event not called diff --git a/src/main/java/net/minecraft/world/entity/vehicle/AbstractMinecart.java b/src/main/java/net/minecraft/world/entity/vehicle/AbstractMinecart.java -index 350d931f99bea1291f890d87fca6ae644c1a9fe9..44a6118d3bd67a95180f750c17967561946e2e87 100644 +index e3745cc43b48ff59a1659a9f88ad118b34f7f22b..48b1cddfca671ac8bcb93a1b60518a4ee9e977e2 100644 --- a/src/main/java/net/minecraft/world/entity/vehicle/AbstractMinecart.java +++ b/src/main/java/net/minecraft/world/entity/vehicle/AbstractMinecart.java -@@ -149,7 +149,15 @@ public abstract class AbstractMinecart extends Entity { +@@ -168,7 +168,15 @@ public abstract class AbstractMinecart extends VehicleEntity { @Override public boolean canCollideWith(Entity other) { diff --git a/patches/unapplied/server/0867-optimized-dirt-and-snow-spreading.patch b/patches/server/0865-optimized-dirt-and-snow-spreading.patch similarity index 92% rename from patches/unapplied/server/0867-optimized-dirt-and-snow-spreading.patch rename to patches/server/0865-optimized-dirt-and-snow-spreading.patch index 08a3761309..e2c360d692 100644 --- a/patches/unapplied/server/0867-optimized-dirt-and-snow-spreading.patch +++ b/patches/server/0865-optimized-dirt-and-snow-spreading.patch @@ -5,10 +5,10 @@ Subject: [PATCH] optimized dirt and snow spreading diff --git a/src/main/java/net/minecraft/world/level/block/SpreadingSnowyDirtBlock.java b/src/main/java/net/minecraft/world/level/block/SpreadingSnowyDirtBlock.java -index 1fe07f8f9b28faf076209f7ad235fd5dc948b294..9bbb9f8e917288bb0d11661a1399a05631ebcce0 100644 +index f38524cbcaa908644d901bf0929331d6dfd99ed9..1acdf9dad2621a20b077c5f88dab5e0f8688a38f 100644 --- a/src/main/java/net/minecraft/world/level/block/SpreadingSnowyDirtBlock.java +++ b/src/main/java/net/minecraft/world/level/block/SpreadingSnowyDirtBlock.java -@@ -18,8 +18,13 @@ public abstract class SpreadingSnowyDirtBlock extends SnowyDirtBlock { +@@ -19,8 +19,13 @@ public abstract class SpreadingSnowyDirtBlock extends SnowyDirtBlock { } private static boolean canBeGrass(BlockState state, LevelReader world, BlockPos pos) { @@ -23,8 +23,8 @@ index 1fe07f8f9b28faf076209f7ad235fd5dc948b294..9bbb9f8e917288bb0d11661a1399a056 if (iblockdata1.is(Blocks.SNOW) && (Integer) iblockdata1.getValue(SnowLayerBlock.LAYERS) == 1) { return true; -@@ -33,15 +38,27 @@ public abstract class SpreadingSnowyDirtBlock extends SnowyDirtBlock { - } +@@ -37,15 +42,27 @@ public abstract class SpreadingSnowyDirtBlock extends SnowyDirtBlock { + protected abstract MapCodec codec(); private static boolean canPropagate(BlockState state, LevelReader world, BlockPos pos) { + // Paper start @@ -53,7 +53,7 @@ index 1fe07f8f9b28faf076209f7ad235fd5dc948b294..9bbb9f8e917288bb0d11661a1399a056 // CraftBukkit start if (org.bukkit.craftbukkit.event.CraftEventFactory.callBlockFadeEvent(world, pos, Blocks.DIRT.defaultBlockState()).isCancelled()) { return; -@@ -54,9 +71,19 @@ public abstract class SpreadingSnowyDirtBlock extends SnowyDirtBlock { +@@ -58,9 +75,19 @@ public abstract class SpreadingSnowyDirtBlock extends SnowyDirtBlock { for (int i = 0; i < 4; ++i) { BlockPos blockposition1 = pos.offset(random.nextInt(3) - 1, random.nextInt(5) - 3, random.nextInt(3) - 1); diff --git a/patches/unapplied/server/0868-Added-EntityToggleSitEvent.patch b/patches/server/0866-Added-EntityToggleSitEvent.patch similarity index 96% rename from patches/unapplied/server/0868-Added-EntityToggleSitEvent.patch rename to patches/server/0866-Added-EntityToggleSitEvent.patch index 31eaca5429..69127e6467 100644 --- a/patches/unapplied/server/0868-Added-EntityToggleSitEvent.patch +++ b/patches/server/0866-Added-EntityToggleSitEvent.patch @@ -5,7 +5,7 @@ Subject: [PATCH] Added EntityToggleSitEvent diff --git a/src/main/java/net/minecraft/world/entity/TamableAnimal.java b/src/main/java/net/minecraft/world/entity/TamableAnimal.java -index 9fb11df7131f400e6e631146c32efccea83adf56..1282911b97292cde30dff83de756bc91bf319cb2 100644 +index 1999cda5876bb12283d8c91a1b3e737c0d27bc38..1611a54bb68af34bfcbfd17028f564b7332aa489 100644 --- a/src/main/java/net/minecraft/world/entity/TamableAnimal.java +++ b/src/main/java/net/minecraft/world/entity/TamableAnimal.java @@ -67,7 +67,7 @@ public abstract class TamableAnimal extends Animal implements OwnableEntity { @@ -31,7 +31,7 @@ index 9fb11df7131f400e6e631146c32efccea83adf56..1282911b97292cde30dff83de756bc91 if (inSittingPose) { this.entityData.set(DATA_FLAGS_ID, (byte)(b | 1)); diff --git a/src/main/java/net/minecraft/world/entity/animal/Fox.java b/src/main/java/net/minecraft/world/entity/animal/Fox.java -index e21bf5b02a4d9e6e23ffd42a1da8a3a5f2ac05db..9e2af80c6a87f5849710266149cbca8cabfad4f8 100644 +index 96799179b0dd1886f0cdc386f04e152a19b3337d..d17c69a857f083350cc9e9ec2b5dbe0a1482c85f 100644 --- a/src/main/java/net/minecraft/world/entity/animal/Fox.java +++ b/src/main/java/net/minecraft/world/entity/animal/Fox.java @@ -433,7 +433,7 @@ public class Fox extends Animal implements VariantHolder { diff --git a/patches/unapplied/server/0869-Add-fire-tick-delay-option.patch b/patches/server/0867-Add-fire-tick-delay-option.patch similarity index 88% rename from patches/unapplied/server/0869-Add-fire-tick-delay-option.patch rename to patches/server/0867-Add-fire-tick-delay-option.patch index 7649d101c9..a18fb56ba7 100644 --- a/patches/unapplied/server/0869-Add-fire-tick-delay-option.patch +++ b/patches/server/0867-Add-fire-tick-delay-option.patch @@ -5,10 +5,10 @@ Subject: [PATCH] Add fire-tick-delay option 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 a3021fbc570ae47eb6b0d4a89388c8ed893aced7..2c7847aebabe14da44b9a42f5ecae77858fb9dd3 100644 +index 3fb197ee3bfd3f36881b7d67f7a37f035bb27daf..8c0db5219ff30bdfae61b4b9f6033c8e28d21ee1 100644 --- a/src/main/java/net/minecraft/world/level/block/FireBlock.java +++ b/src/main/java/net/minecraft/world/level/block/FireBlock.java -@@ -165,7 +165,7 @@ public class FireBlock extends BaseFireBlock { +@@ -172,7 +172,7 @@ public class FireBlock extends BaseFireBlock { @Override public void tick(BlockState state, ServerLevel world, BlockPos pos, RandomSource random) { @@ -17,7 +17,7 @@ index a3021fbc570ae47eb6b0d4a89388c8ed893aced7..2c7847aebabe14da44b9a42f5ecae778 if (world.getGameRules().getBoolean(GameRules.RULE_DOFIRETICK)) { if (!state.canSurvive(world, pos)) { this.fireExtinguished(world, pos); // CraftBukkit - invalid place location -@@ -366,11 +366,13 @@ public class FireBlock extends BaseFireBlock { +@@ -373,11 +373,13 @@ public class FireBlock extends BaseFireBlock { public void onPlace(BlockState iblockdata, Level world, BlockPos blockposition, BlockState iblockdata1, boolean flag, UseOnContext itemActionContext) { super.onPlace(iblockdata, world, blockposition, iblockdata1, flag, itemActionContext); // Paper end diff --git a/patches/unapplied/server/0870-Add-Moving-Piston-API.patch b/patches/server/0868-Add-Moving-Piston-API.patch similarity index 100% rename from patches/unapplied/server/0870-Add-Moving-Piston-API.patch rename to patches/server/0868-Add-Moving-Piston-API.patch diff --git a/patches/unapplied/server/0871-Ignore-impossible-spawn-tick.patch b/patches/server/0869-Ignore-impossible-spawn-tick.patch similarity index 84% rename from patches/unapplied/server/0871-Ignore-impossible-spawn-tick.patch rename to patches/server/0869-Ignore-impossible-spawn-tick.patch index d793df84a4..fb255aaec0 100644 --- a/patches/unapplied/server/0871-Ignore-impossible-spawn-tick.patch +++ b/patches/server/0869-Ignore-impossible-spawn-tick.patch @@ -5,10 +5,10 @@ Subject: [PATCH] Ignore impossible spawn tick diff --git a/src/main/java/net/minecraft/world/level/BaseSpawner.java b/src/main/java/net/minecraft/world/level/BaseSpawner.java -index e4a5871d8f07e2b4c12b94b6372afe3a34b13071..6eca4a9b3cf462a4d18f32619bbcdfda0fa2ebc5 100644 +index 9ec83d6eeff22c2ce25374a83f581a675d4fd067..d88a23984dcea9c2119bdc245013af8b25448da3 100644 --- a/src/main/java/net/minecraft/world/level/BaseSpawner.java +++ b/src/main/java/net/minecraft/world/level/BaseSpawner.java -@@ -96,6 +96,7 @@ public abstract class BaseSpawner { +@@ -82,6 +82,7 @@ public abstract class BaseSpawner { } public void serverTick(ServerLevel world, BlockPos pos) { diff --git a/patches/unapplied/server/0872-Track-projectile-source-for-fireworks-from-dispenser.patch b/patches/server/0870-Track-projectile-source-for-fireworks-from-dispenser.patch similarity index 93% rename from patches/unapplied/server/0872-Track-projectile-source-for-fireworks-from-dispenser.patch rename to patches/server/0870-Track-projectile-source-for-fireworks-from-dispenser.patch index fe9f8e5826..aa366ccef9 100644 --- a/patches/unapplied/server/0872-Track-projectile-source-for-fireworks-from-dispenser.patch +++ b/patches/server/0870-Track-projectile-source-for-fireworks-from-dispenser.patch @@ -5,7 +5,7 @@ Subject: [PATCH] Track projectile source for fireworks from dispensers diff --git a/src/main/java/net/minecraft/core/dispenser/DispenseItemBehavior.java b/src/main/java/net/minecraft/core/dispenser/DispenseItemBehavior.java -index e9db6b5096e7368b4a32a0e86eebccac15ab443b..f9ab6d4f6e7f430d41b79227e74136a3e980f340 100644 +index d9077127757886e5d5e8d63a46fe27f2bfba1420..b65d0c2ac5b4f7eb3da85b693c354463c6f49694 100644 --- a/src/main/java/net/minecraft/core/dispenser/DispenseItemBehavior.java +++ b/src/main/java/net/minecraft/core/dispenser/DispenseItemBehavior.java @@ -517,6 +517,7 @@ public interface DispenseItemBehavior { diff --git a/patches/unapplied/server/0873-Fix-EntityArgument-suggestion-permissions-to-align-w.patch b/patches/server/0871-Fix-EntityArgument-suggestion-permissions-to-align-w.patch similarity index 100% rename from patches/unapplied/server/0873-Fix-EntityArgument-suggestion-permissions-to-align-w.patch rename to patches/server/0871-Fix-EntityArgument-suggestion-permissions-to-align-w.patch diff --git a/patches/unapplied/server/0874-Fix-EntityCombustEvent-cancellation-cant-fully-preve.patch b/patches/server/0872-Fix-EntityCombustEvent-cancellation-cant-fully-preve.patch similarity index 82% rename from patches/unapplied/server/0874-Fix-EntityCombustEvent-cancellation-cant-fully-preve.patch rename to patches/server/0872-Fix-EntityCombustEvent-cancellation-cant-fully-preve.patch index 4cdf356e6f..35cca1d29e 100644 --- a/patches/unapplied/server/0874-Fix-EntityCombustEvent-cancellation-cant-fully-preve.patch +++ b/patches/server/0872-Fix-EntityCombustEvent-cancellation-cant-fully-preve.patch @@ -6,10 +6,10 @@ Subject: [PATCH] Fix EntityCombustEvent cancellation cant fully prevent diff --git a/src/main/java/net/minecraft/world/entity/Entity.java b/src/main/java/net/minecraft/world/entity/Entity.java -index ce765fbe067d56ce0e5ae0bfade01f3b50e004be..a8750ba7720896685f9956194e43bb83a97670a8 100644 +index 4ef45d704107d03a506627da80ebfeb41a0945f8..a59d738a8697ed06c445b0837b887aabcd92e366 100644 --- a/src/main/java/net/minecraft/world/entity/Entity.java +++ b/src/main/java/net/minecraft/world/entity/Entity.java -@@ -3353,6 +3353,10 @@ public abstract class Entity implements Nameable, EntityAccess, CommandSource { +@@ -3382,6 +3382,10 @@ public abstract class Entity implements Nameable, EntityAccess, CommandSource, S pluginManager.callEvent(entityCombustEvent); if (!entityCombustEvent.isCancelled()) { this.setSecondsOnFire(entityCombustEvent.getDuration(), false); @@ -21,10 +21,10 @@ index ce765fbe067d56ce0e5ae0bfade01f3b50e004be..a8750ba7720896685f9956194e43bb83 // CraftBukkit end } diff --git a/src/main/java/net/minecraft/world/level/block/BaseFireBlock.java b/src/main/java/net/minecraft/world/level/block/BaseFireBlock.java -index f89234dbfd03ba5192423bb75d58f8951f289761..c8f935efdfd48d4440828a7b2f0e25449fe90688 100644 +index 02cbb25b8b1fdaf6e2b771067ca132245eab13dc..116dc2ac4c0176244eb8fc22a471d2b9ede72822 100644 --- a/src/main/java/net/minecraft/world/level/block/BaseFireBlock.java +++ b/src/main/java/net/minecraft/world/level/block/BaseFireBlock.java -@@ -130,6 +130,10 @@ public abstract class BaseFireBlock extends Block { +@@ -134,6 +134,10 @@ public abstract class BaseFireBlock extends Block { if (!event.isCancelled()) { entity.setSecondsOnFire(event.getDuration(), false); diff --git a/patches/unapplied/server/0875-Prevent-compass-from-loading-chunks.patch b/patches/server/0873-Prevent-compass-from-loading-chunks.patch similarity index 100% rename from patches/unapplied/server/0875-Prevent-compass-from-loading-chunks.patch rename to patches/server/0873-Prevent-compass-from-loading-chunks.patch diff --git a/patches/unapplied/server/0876-Add-PrePlayerAttackEntityEvent.patch b/patches/server/0874-Add-PrePlayerAttackEntityEvent.patch similarity index 89% rename from patches/unapplied/server/0876-Add-PrePlayerAttackEntityEvent.patch rename to patches/server/0874-Add-PrePlayerAttackEntityEvent.patch index 59e72b4db1..d23dc93447 100644 --- a/patches/unapplied/server/0876-Add-PrePlayerAttackEntityEvent.patch +++ b/patches/server/0874-Add-PrePlayerAttackEntityEvent.patch @@ -5,10 +5,10 @@ Subject: [PATCH] Add PrePlayerAttackEntityEvent 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 85799b95bab12b5a060246f20364e9440e56a3ed..f9a308490e1cd7745dc12369c6041f0ae9e0b1e1 100644 +index bce494bb7bc1ce20809ac7d355f04aa7aad78308..078dd3ccf046d3ee5ef41108e9db4736182778f1 100644 --- a/src/main/java/net/minecraft/world/entity/player/Player.java +++ b/src/main/java/net/minecraft/world/entity/player/Player.java -@@ -1245,8 +1245,17 @@ public abstract class Player extends LivingEntity { +@@ -1240,8 +1240,17 @@ public abstract class Player extends LivingEntity { } public void attack(Entity target) { diff --git a/patches/unapplied/server/0877-ensure-reset-EnderDragon-boss-event-name.patch b/patches/server/0875-ensure-reset-EnderDragon-boss-event-name.patch similarity index 100% rename from patches/unapplied/server/0877-ensure-reset-EnderDragon-boss-event-name.patch rename to patches/server/0875-ensure-reset-EnderDragon-boss-event-name.patch diff --git a/patches/unapplied/server/0878-fix-MC-252817-green-map-markers-do-not-disappear.patch b/patches/server/0876-fix-MC-252817-green-map-markers-do-not-disappear.patch similarity index 87% rename from patches/unapplied/server/0878-fix-MC-252817-green-map-markers-do-not-disappear.patch rename to patches/server/0876-fix-MC-252817-green-map-markers-do-not-disappear.patch index 9780023a35..02dc8427c2 100644 --- a/patches/unapplied/server/0878-fix-MC-252817-green-map-markers-do-not-disappear.patch +++ b/patches/server/0876-fix-MC-252817-green-map-markers-do-not-disappear.patch @@ -6,10 +6,10 @@ Subject: [PATCH] fix MC-252817 (green map markers do not disappear). this bug is caused by the fact that the itemframe's item is set to empty before the green marker is requested to be removed. this is fixed by getting the mapid from this method's parameter, rather than the air block now stored by the item frame. diff --git a/src/main/java/net/minecraft/world/entity/decoration/ItemFrame.java b/src/main/java/net/minecraft/world/entity/decoration/ItemFrame.java -index b42c060a5d8d68b5773a8a5e38c59707a277d9bb..dcf245387f59ce730cb2cfb5fc0e837a20d3dfe5 100644 +index 6849429c3577f36eb699083375824ae5633f8d06..9c11d0af958ec47408d238d34d30750d29ecdd88 100644 --- a/src/main/java/net/minecraft/world/entity/decoration/ItemFrame.java +++ b/src/main/java/net/minecraft/world/entity/decoration/ItemFrame.java -@@ -296,7 +296,9 @@ public class ItemFrame extends HangingEntity { +@@ -291,7 +291,9 @@ public class ItemFrame extends HangingEntity { // Paper end private void removeFramedMap(ItemStack itemstack) { @@ -20,7 +20,7 @@ index b42c060a5d8d68b5773a8a5e38c59707a277d9bb..dcf245387f59ce730cb2cfb5fc0e837a MapItemSavedData worldmap = MapItem.getSavedData(i, this.level()); if (worldmap != null) { -@@ -314,7 +316,12 @@ public class ItemFrame extends HangingEntity { +@@ -309,7 +311,12 @@ public class ItemFrame extends HangingEntity { public OptionalInt getFramedMapId() { ItemStack itemstack = this.getItem(); diff --git a/patches/unapplied/server/0879-Add-Player-Warden-Warning-API.patch b/patches/server/0877-Add-Player-Warden-Warning-API.patch similarity index 93% rename from patches/unapplied/server/0879-Add-Player-Warden-Warning-API.patch rename to patches/server/0877-Add-Player-Warden-Warning-API.patch index deafe191dc..0932857cee 100644 --- a/patches/unapplied/server/0879-Add-Player-Warden-Warning-API.patch +++ b/patches/server/0877-Add-Player-Warden-Warning-API.patch @@ -10,10 +10,10 @@ public net.minecraft.world.entity.monster.warden.WardenSpawnTracker cooldownTick public net.minecraft.world.entity.monster.warden.WardenSpawnTracker increaseWarningLevel()V diff --git a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java -index 52dc37b5127a3ae3a3948c645968365fd0dc0908..68f12f6352cd19a2a681f7008ec91746323f7af6 100644 +index 6885b8995906e9fbb94316db5b1ba764f287d942..003ff30116a6b91e244af12e51aa5dd0925c778e 100644 --- a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java +++ b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java -@@ -3169,6 +3169,41 @@ public class CraftPlayer extends CraftHumanEntity implements Player { +@@ -3184,6 +3184,41 @@ public class CraftPlayer extends CraftHumanEntity implements Player { public void showElderGuardian(boolean silent) { if (getHandle().connection != null) getHandle().connection.send(new ClientboundGameEventPacket(ClientboundGameEventPacket.GUARDIAN_ELDER_EFFECT, silent ? 0F : 1F)); } diff --git a/patches/unapplied/server/0880-More-vanilla-friendly-methods-to-update-trades.patch b/patches/server/0878-More-vanilla-friendly-methods-to-update-trades.patch similarity index 97% rename from patches/unapplied/server/0880-More-vanilla-friendly-methods-to-update-trades.patch rename to patches/server/0878-More-vanilla-friendly-methods-to-update-trades.patch index 667a65e357..fef9414a8f 100644 --- a/patches/unapplied/server/0880-More-vanilla-friendly-methods-to-update-trades.patch +++ b/patches/server/0878-More-vanilla-friendly-methods-to-update-trades.patch @@ -5,7 +5,7 @@ Subject: [PATCH] More vanilla friendly methods to update trades 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 f58be4e2529759cc64df2c70a69ef56eabbb762d..cbe2a37f74f4fb2abd0b3297699e54335aaed64f 100644 +index 363d1f469862c2e980624ff69f74be015c19412d..11935e5b16324af572b07c5b173708f5a91f8289 100644 --- a/src/main/java/net/minecraft/world/entity/npc/Villager.java +++ b/src/main/java/net/minecraft/world/entity/npc/Villager.java @@ -944,6 +944,12 @@ public class Villager extends AbstractVillager implements ReputationEventHandler diff --git a/patches/unapplied/server/0881-Add-paper-dumplisteners-command.patch b/patches/server/0879-Add-paper-dumplisteners-command.patch similarity index 100% rename from patches/unapplied/server/0881-Add-paper-dumplisteners-command.patch rename to patches/server/0879-Add-paper-dumplisteners-command.patch diff --git a/patches/unapplied/server/0882-check-global-player-list-where-appropriate.patch b/patches/server/0880-check-global-player-list-where-appropriate.patch similarity index 93% rename from patches/unapplied/server/0882-check-global-player-list-where-appropriate.patch rename to patches/server/0880-check-global-player-list-where-appropriate.patch index 1d57c0835d..01c76e7a95 100644 --- a/patches/unapplied/server/0882-check-global-player-list-where-appropriate.patch +++ b/patches/server/0880-check-global-player-list-where-appropriate.patch @@ -7,10 +7,10 @@ Makes certain entities check all players when searching for a player instead of just checking players in their world. diff --git a/src/main/java/net/minecraft/server/level/ServerLevel.java b/src/main/java/net/minecraft/server/level/ServerLevel.java -index 45b41d000bae08125ea8e6fb39b9f9fc037a6137..2ef86ad041d496f2d04b163fde1fa277b990b85e 100644 +index ba30421e53f935e2860564f8e3748160d64e3665..56f1bbeaab24975b76026ebb5a4c73b62635c730 100644 --- a/src/main/java/net/minecraft/server/level/ServerLevel.java +++ b/src/main/java/net/minecraft/server/level/ServerLevel.java -@@ -2710,4 +2710,12 @@ public class ServerLevel extends Level implements WorldGenLevel { +@@ -2751,4 +2751,12 @@ public class ServerLevel extends Level implements WorldGenLevel { entity.updateDynamicGameEventListener(DynamicGameEventListener::move); } } @@ -24,10 +24,10 @@ index 45b41d000bae08125ea8e6fb39b9f9fc037a6137..2ef86ad041d496f2d04b163fde1fa277 + // Paper end } diff --git a/src/main/java/net/minecraft/world/entity/LivingEntity.java b/src/main/java/net/minecraft/world/entity/LivingEntity.java -index e2ccf8badc02b5a21e3fcd6fcac76155d29e472c..a73fdae75a8ef1b5c0aa7c05bd1ec9081634f565 100644 +index ece2f45427462587e28ba770178e13d7037e6668..9ea6c0b250c361949a7f2d2c6b5fb2eeac7c650a 100644 --- a/src/main/java/net/minecraft/world/entity/LivingEntity.java +++ b/src/main/java/net/minecraft/world/entity/LivingEntity.java -@@ -3676,7 +3676,7 @@ public abstract class LivingEntity extends Entity implements Attackable { +@@ -3678,7 +3678,7 @@ public abstract class LivingEntity extends Entity implements Attackable { } public void onItemPickup(ItemEntity item) { diff --git a/patches/unapplied/server/0883-Fix-async-entity-add-due-to-fungus-trees.patch b/patches/server/0881-Fix-async-entity-add-due-to-fungus-trees.patch similarity index 88% rename from patches/unapplied/server/0883-Fix-async-entity-add-due-to-fungus-trees.patch rename to patches/server/0881-Fix-async-entity-add-due-to-fungus-trees.patch index 9328aa3cf5..c0f4e92ef9 100644 --- a/patches/unapplied/server/0883-Fix-async-entity-add-due-to-fungus-trees.patch +++ b/patches/server/0881-Fix-async-entity-add-due-to-fungus-trees.patch @@ -5,7 +5,7 @@ Subject: [PATCH] Fix async entity add due to fungus trees diff --git a/src/main/java/net/minecraft/server/level/WorldGenRegion.java b/src/main/java/net/minecraft/server/level/WorldGenRegion.java -index 78284a89900e6b3ee0c066d00ba3ddf043b63401..50ed7cfe1ecef6d075ba484804827cec83ba2bf2 100644 +index 49c7825156afd053df1b7721a63070b51427aff2..14a5492428eac823a295ef3746d0aca6fbdab4ec 100644 --- a/src/main/java/net/minecraft/server/level/WorldGenRegion.java +++ b/src/main/java/net/minecraft/server/level/WorldGenRegion.java @@ -249,6 +249,7 @@ public class WorldGenRegion implements WorldGenLevel { @@ -17,10 +17,10 @@ index 78284a89900e6b3ee0c066d00ba3ddf043b63401..50ed7cfe1ecef6d075ba484804827cec BlockEntity tileentity = iblockdata.hasBlockEntity() ? this.getBlockEntity(pos) : null; diff --git a/src/main/java/org/bukkit/craftbukkit/CraftRegionAccessor.java b/src/main/java/org/bukkit/craftbukkit/CraftRegionAccessor.java -index 8cc1d7f5c5f8e9b9d6f7ab26025acf7237262959..7ef90fbdbcdb12ae0f3837fb003112115ab7ecfe 100644 +index 0b7faa5b0fce81fd1790341599c632ffc5b171f3..096e1cc920f5f48fe59b9419827c3cbb7adefe14 100644 --- a/src/main/java/org/bukkit/craftbukkit/CraftRegionAccessor.java +++ b/src/main/java/org/bukkit/craftbukkit/CraftRegionAccessor.java -@@ -402,10 +402,10 @@ public abstract class CraftRegionAccessor implements RegionAccessor { +@@ -405,10 +405,10 @@ public abstract class CraftRegionAccessor implements RegionAccessor { ((ChorusFlowerBlock) Blocks.CHORUS_FLOWER).generatePlant(access, pos, random, 8); return true; case CRIMSON_FUNGUS: diff --git a/patches/unapplied/server/0884-ItemStack-damage-API.patch b/patches/server/0882-ItemStack-damage-API.patch similarity index 95% rename from patches/unapplied/server/0884-ItemStack-damage-API.patch rename to patches/server/0882-ItemStack-damage-API.patch index e141be6346..c5fd883258 100644 --- a/patches/unapplied/server/0884-ItemStack-damage-API.patch +++ b/patches/server/0882-ItemStack-damage-API.patch @@ -11,10 +11,10 @@ the logic associated with damaging them public net.minecraft.world.entity.LivingEntity entityEventForEquipmentBreak(Lnet/minecraft/world/entity/EquipmentSlot;)B diff --git a/src/main/java/org/bukkit/craftbukkit/entity/CraftLivingEntity.java b/src/main/java/org/bukkit/craftbukkit/entity/CraftLivingEntity.java -index 1de9516fc3b6decca250b103abf85a4a8dcea6b2..80463de09f649c28bc5a96712b2ea370a62b8baa 100644 +index 3e99b80bb8d20198e905b18985941e3d32121e5d..14ff9f9951bbb567ad76198477d61d22d522dac9 100644 --- a/src/main/java/org/bukkit/craftbukkit/entity/CraftLivingEntity.java +++ b/src/main/java/org/bukkit/craftbukkit/entity/CraftLivingEntity.java -@@ -1033,6 +1033,53 @@ public class CraftLivingEntity extends CraftEntity implements LivingEntity { +@@ -1038,6 +1038,53 @@ public class CraftLivingEntity extends CraftEntity implements LivingEntity { throw new IllegalArgumentException(entityCategory + " is an unrecognized entity category"); } diff --git a/patches/unapplied/server/0885-Friction-API.patch b/patches/server/0883-Friction-API.patch similarity index 86% rename from patches/unapplied/server/0885-Friction-API.patch rename to patches/server/0883-Friction-API.patch index 0fb6bc63d5..3311783f69 100644 --- a/patches/unapplied/server/0885-Friction-API.patch +++ b/patches/server/0883-Friction-API.patch @@ -5,10 +5,10 @@ Subject: [PATCH] Friction API diff --git a/src/main/java/net/minecraft/world/entity/LivingEntity.java b/src/main/java/net/minecraft/world/entity/LivingEntity.java -index a73fdae75a8ef1b5c0aa7c05bd1ec9081634f565..e579d9cc70115a3fb3388adb309847faa1f9aaab 100644 +index 9ea6c0b250c361949a7f2d2c6b5fb2eeac7c650a..58fdbdcc5de9f93230669d93778c4c1392e0a4cf 100644 --- a/src/main/java/net/minecraft/world/entity/LivingEntity.java +++ b/src/main/java/net/minecraft/world/entity/LivingEntity.java -@@ -262,6 +262,7 @@ public abstract class LivingEntity extends Entity implements Attackable { +@@ -261,6 +261,7 @@ public abstract class LivingEntity extends Entity implements Attackable { public boolean bukkitPickUpLoot; public org.bukkit.craftbukkit.entity.CraftLivingEntity getBukkitLivingEntity() { return (org.bukkit.craftbukkit.entity.CraftLivingEntity) super.getBukkitEntity(); } // Paper public boolean silentDeath = false; // Paper - mark entity as dying silently for cancellable death event @@ -16,7 +16,7 @@ index a73fdae75a8ef1b5c0aa7c05bd1ec9081634f565..e579d9cc70115a3fb3388adb309847fa @Override public float getBukkitYaw() { -@@ -717,7 +718,7 @@ public abstract class LivingEntity extends Entity implements Attackable { +@@ -716,7 +717,7 @@ public abstract class LivingEntity extends Entity implements Attackable { } public boolean shouldDiscardFriction() { @@ -25,7 +25,7 @@ index a73fdae75a8ef1b5c0aa7c05bd1ec9081634f565..e579d9cc70115a3fb3388adb309847fa } public void setDiscardFriction(boolean noDrag) { -@@ -761,6 +762,11 @@ public abstract class LivingEntity extends Entity implements Attackable { +@@ -760,6 +761,11 @@ public abstract class LivingEntity extends Entity implements Attackable { @Override public void addAdditionalSaveData(CompoundTag nbt) { @@ -37,7 +37,7 @@ index a73fdae75a8ef1b5c0aa7c05bd1ec9081634f565..e579d9cc70115a3fb3388adb309847fa nbt.putFloat("Health", this.getHealth()); nbt.putShort("HurtTime", (short) this.hurtTime); nbt.putInt("HurtByTimestamp", this.lastHurtByMobTimestamp); -@@ -803,6 +809,15 @@ public abstract class LivingEntity extends Entity implements Attackable { +@@ -802,6 +808,15 @@ public abstract class LivingEntity extends Entity implements Attackable { absorptionAmount = 0; } this.internalSetAbsorptionAmount(absorptionAmount); @@ -54,10 +54,10 @@ index a73fdae75a8ef1b5c0aa7c05bd1ec9081634f565..e579d9cc70115a3fb3388adb309847fa if (nbt.contains("Attributes", 9) && this.level() != null && !this.level().isClientSide) { this.getAttributes().load(nbt.getList("Attributes", 10)); diff --git a/src/main/java/net/minecraft/world/entity/item/ItemEntity.java b/src/main/java/net/minecraft/world/entity/item/ItemEntity.java -index 1a06d8c839e94fe2c1920035d606b62e0dc5cfba..eb0351aa12eebcefab1d1d14641fc3c60cbbcab8 100644 +index 6b18f23b57c7000dce9726df98a509ee9477f6d2..a39db702063887cf530f272deaf4f334047cc7d4 100644 --- a/src/main/java/net/minecraft/world/entity/item/ItemEntity.java +++ b/src/main/java/net/minecraft/world/entity/item/ItemEntity.java -@@ -55,6 +55,7 @@ public class ItemEntity extends Entity implements TraceableEntity { +@@ -57,6 +57,7 @@ public class ItemEntity extends Entity implements TraceableEntity { private int lastTick = MinecraftServer.currentTick - 1; // CraftBukkit public boolean canMobPickup = true; // Paper private int despawnRate = -1; // Paper @@ -65,7 +65,7 @@ index 1a06d8c839e94fe2c1920035d606b62e0dc5cfba..eb0351aa12eebcefab1d1d14641fc3c6 public ItemEntity(EntityType type, Level world) { super(type, world); -@@ -160,7 +161,11 @@ public class ItemEntity extends Entity implements TraceableEntity { +@@ -178,7 +179,11 @@ public class ItemEntity extends Entity implements TraceableEntity { this.move(MoverType.SELF, this.getDeltaMovement()); float f1 = 0.98F; @@ -78,7 +78,7 @@ index 1a06d8c839e94fe2c1920035d606b62e0dc5cfba..eb0351aa12eebcefab1d1d14641fc3c6 f1 = this.level().getBlockState(this.getBlockPosBelowThatAffectsMyMovement()).getBlock().getFriction() * 0.98F; } -@@ -369,6 +374,11 @@ public class ItemEntity extends Entity implements TraceableEntity { +@@ -387,6 +392,11 @@ public class ItemEntity extends Entity implements TraceableEntity { @Override public void addAdditionalSaveData(CompoundTag nbt) { @@ -90,8 +90,8 @@ index 1a06d8c839e94fe2c1920035d606b62e0dc5cfba..eb0351aa12eebcefab1d1d14641fc3c6 nbt.putShort("Health", (short) this.health); nbt.putShort("Age", (short) this.age); nbt.putShort("PickupDelay", (short) this.pickupDelay); -@@ -402,6 +412,17 @@ public class ItemEntity extends Entity implements TraceableEntity { - this.thrower = nbt.getUUID("Thrower"); +@@ -421,6 +431,17 @@ public class ItemEntity extends Entity implements TraceableEntity { + this.cachedThrower = null; } + // Paper start @@ -109,7 +109,7 @@ index 1a06d8c839e94fe2c1920035d606b62e0dc5cfba..eb0351aa12eebcefab1d1d14641fc3c6 this.setItem(ItemStack.of(nbttagcompound1)); diff --git a/src/main/java/org/bukkit/craftbukkit/entity/CraftItem.java b/src/main/java/org/bukkit/craftbukkit/entity/CraftItem.java -index 073643d7f83b974509cf2dd4ea41e3dd9cb90a0d..f444e843535ec68ede0f05e7e7ef182ce872342b 100644 +index b1bbab951ef9a3d2bd98cc54665ba824263542eb..81498941748d646ebe6495f4a7ce6953532144c6 100644 --- a/src/main/java/org/bukkit/craftbukkit/entity/CraftItem.java +++ b/src/main/java/org/bukkit/craftbukkit/entity/CraftItem.java @@ -99,6 +99,18 @@ public class CraftItem extends CraftEntity implements Item { @@ -132,10 +132,10 @@ index 073643d7f83b974509cf2dd4ea41e3dd9cb90a0d..f444e843535ec68ede0f05e7e7ef182c public int getHealth() { return this.getHandle().health; diff --git a/src/main/java/org/bukkit/craftbukkit/entity/CraftLivingEntity.java b/src/main/java/org/bukkit/craftbukkit/entity/CraftLivingEntity.java -index 80463de09f649c28bc5a96712b2ea370a62b8baa..4591d57052e2d0499d441efa13e8b43c606665b0 100644 +index 14ff9f9951bbb567ad76198477d61d22d522dac9..edb086d479f2485b3ec7a6fffe2c7e4a15f0c319 100644 --- a/src/main/java/org/bukkit/craftbukkit/entity/CraftLivingEntity.java +++ b/src/main/java/org/bukkit/craftbukkit/entity/CraftLivingEntity.java -@@ -1080,6 +1080,18 @@ public class CraftLivingEntity extends CraftEntity implements LivingEntity { +@@ -1085,6 +1085,18 @@ public class CraftLivingEntity extends CraftEntity implements LivingEntity { }); } diff --git a/patches/unapplied/server/0886-Ability-to-control-player-s-insomnia-and-phantoms.patch b/patches/server/0884-Ability-to-control-player-s-insomnia-and-phantoms.patch similarity index 96% rename from patches/unapplied/server/0886-Ability-to-control-player-s-insomnia-and-phantoms.patch rename to patches/server/0884-Ability-to-control-player-s-insomnia-and-phantoms.patch index a019ee3c47..c5ec7d4e2f 100644 --- a/patches/unapplied/server/0886-Ability-to-control-player-s-insomnia-and-phantoms.patch +++ b/patches/server/0884-Ability-to-control-player-s-insomnia-and-phantoms.patch @@ -5,10 +5,10 @@ Subject: [PATCH] Ability to control player's insomnia and phantoms diff --git a/src/main/java/net/minecraft/world/entity/EntitySelector.java b/src/main/java/net/minecraft/world/entity/EntitySelector.java -index de06ae3e8757c923a6f3f475a34885d2f15af46e..3ff999734d14e2b6e7828e117f5ee32a60c26bc1 100644 +index 93a41156a01a1638f3ef469b1518a07e7961f378..2986c3b1c9dd7f3a00ed7f25b25bfc2b513b35eb 100644 --- a/src/main/java/net/minecraft/world/entity/EntitySelector.java +++ b/src/main/java/net/minecraft/world/entity/EntitySelector.java -@@ -27,7 +27,18 @@ public final class EntitySelector { +@@ -28,7 +28,18 @@ public final class EntitySelector { return !entity.isSpectator(); }; public static final Predicate CAN_BE_COLLIDED_WITH = EntitySelector.NO_SPECTATORS.and(Entity::canBeCollidedWith); diff --git a/patches/unapplied/server/0887-Fix-player-kick-on-shutdown.patch b/patches/server/0885-Fix-player-kick-on-shutdown.patch similarity index 92% rename from patches/unapplied/server/0887-Fix-player-kick-on-shutdown.patch rename to patches/server/0885-Fix-player-kick-on-shutdown.patch index f5de61909f..236f62d6c1 100644 --- a/patches/unapplied/server/0887-Fix-player-kick-on-shutdown.patch +++ b/patches/server/0885-Fix-player-kick-on-shutdown.patch @@ -9,10 +9,10 @@ also check if all packets are ignored during the shutdown process. See net.minecraft.network.Connection#channelRead0(ChannelHandlerContext, Packet) and net.minecraft.util.thread.BlockableEventLoop#executeIfPossible(Runnable) diff --git a/src/main/java/net/minecraft/network/protocol/PacketUtils.java b/src/main/java/net/minecraft/network/protocol/PacketUtils.java -index 6ac03dee902051a26493dba468d6a2f5cecfe066..9a49f5271ec1d9de17632bfffe8309cb1ba0d8b1 100644 +index 7297bca9224c12d7ace0e1967340d99436afafc1..c5c734b9eb80d1cdf0e9fd8a043f2b6d1f4cbffe 100644 --- a/src/main/java/net/minecraft/network/protocol/PacketUtils.java +++ b/src/main/java/net/minecraft/network/protocol/PacketUtils.java -@@ -43,7 +43,7 @@ public class PacketUtils { +@@ -44,7 +44,7 @@ public class PacketUtils { public static void ensureRunningOnSameThread(Packet packet, T listener, BlockableEventLoop engine) throws RunningOnDifferentThreadException { if (!engine.isSameThread()) { diff --git a/patches/unapplied/server/0888-Sync-offhand-slot-in-menus.patch b/patches/server/0886-Sync-offhand-slot-in-menus.patch similarity index 92% rename from patches/unapplied/server/0888-Sync-offhand-slot-in-menus.patch rename to patches/server/0886-Sync-offhand-slot-in-menus.patch index e1efbb9c06..2dc65d0d3e 100644 --- a/patches/unapplied/server/0888-Sync-offhand-slot-in-menus.patch +++ b/patches/server/0886-Sync-offhand-slot-in-menus.patch @@ -8,10 +8,10 @@ offhand slot isn't sent. This is not correct because you *can* put stuff into th by pressing the offhand swap item diff --git a/src/main/java/net/minecraft/server/level/ServerPlayer.java b/src/main/java/net/minecraft/server/level/ServerPlayer.java -index 04961c33f4d89c491c5b6eb2a53b948feca17807..113089a7d087ecb0508b5f05e708dca1c3296735 100644 +index 51a7ce409c00f586058d4b7b0e3dba17f3b6900b..cca1f44ba8cefcc0ee3e6dadd175bd67b311b2de 100644 --- a/src/main/java/net/minecraft/server/level/ServerPlayer.java +++ b/src/main/java/net/minecraft/server/level/ServerPlayer.java -@@ -341,6 +341,13 @@ public class ServerPlayer extends Player { +@@ -348,6 +348,13 @@ public class ServerPlayer extends Player { } @@ -26,7 +26,7 @@ index 04961c33f4d89c491c5b6eb2a53b948feca17807..113089a7d087ecb0508b5f05e708dca1 public void sendSlotChange(AbstractContainerMenu handler, int slot, ItemStack stack) { ServerPlayer.this.connection.send(new ClientboundContainerSetSlotPacket(handler.containerId, handler.incrementStateId(), slot, stack)); diff --git a/src/main/java/net/minecraft/world/inventory/AbstractContainerMenu.java b/src/main/java/net/minecraft/world/inventory/AbstractContainerMenu.java -index 176c8048f2fb3822fc14af9bfe5676c9d0768ca3..3ef712299fe248602b0b117c0a8e285cdf4e05c2 100644 +index c18348f4ea79b15b081cf7ba3bd9d77212aa086e..9ee3c2e0dcfaa4280be4973479c6490ded33809c 100644 --- a/src/main/java/net/minecraft/world/inventory/AbstractContainerMenu.java +++ b/src/main/java/net/minecraft/world/inventory/AbstractContainerMenu.java @@ -200,6 +200,7 @@ public abstract class AbstractContainerMenu { diff --git a/patches/unapplied/server/0889-Player-Entity-Tracking-Events.patch b/patches/server/0887-Player-Entity-Tracking-Events.patch similarity index 100% rename from patches/unapplied/server/0889-Player-Entity-Tracking-Events.patch rename to patches/server/0887-Player-Entity-Tracking-Events.patch diff --git a/patches/unapplied/server/0890-Limit-pet-look-distance.patch b/patches/server/0888-Limit-pet-look-distance.patch similarity index 100% rename from patches/unapplied/server/0890-Limit-pet-look-distance.patch rename to patches/server/0888-Limit-pet-look-distance.patch diff --git a/patches/unapplied/server/0891-Properly-resend-entities.patch b/patches/server/0889-Properly-resend-entities.patch similarity index 95% rename from patches/unapplied/server/0891-Properly-resend-entities.patch rename to patches/server/0889-Properly-resend-entities.patch index 89573864bd..6faa03c578 100644 --- a/patches/unapplied/server/0891-Properly-resend-entities.patch +++ b/patches/server/0889-Properly-resend-entities.patch @@ -85,10 +85,10 @@ index d088479d160dbd2fc90b48a30553be141db8eef2..ccb7d92b6c36b6225a2e640f8cea6c0d public static class DataItem { diff --git a/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java b/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java -index 372015adb4f198c131d1a5f239e75f862ab5fdd7..d63451592c34429c1c827ff8e16989347e2efdaa 100644 +index d7f551d8cae2055b82782905a14d649e44e8bcec..199a9e1d082ab937e2be9fd5abdd0891b7b78024 100644 --- a/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java +++ b/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java -@@ -2649,7 +2649,7 @@ public class ServerGamePacketListenerImpl extends ServerCommonPacketListenerImpl +@@ -2657,7 +2657,7 @@ public class ServerGamePacketListenerImpl extends ServerCommonPacketListenerImpl // Entity in bucket - SPIGOT-4048 and SPIGOT-6859a if ((entity instanceof Bucketable && entity instanceof LivingEntity && origItem != null && origItem.asItem() == Items.WATER_BUCKET) && (event.isCancelled() || ServerGamePacketListenerImpl.this.player.getInventory().getSelected() == null || ServerGamePacketListenerImpl.this.player.getInventory().getSelected().getItem() != origItem)) { @@ -98,10 +98,10 @@ index 372015adb4f198c131d1a5f239e75f862ab5fdd7..d63451592c34429c1c827ff8e1698934 } diff --git a/src/main/java/net/minecraft/server/players/PlayerList.java b/src/main/java/net/minecraft/server/players/PlayerList.java -index 80d1c6850e7ce3d48cf54297ffcf9f5a2903d216..fd0164d843c2c73d7eaddbaf72d2021ff94ca38c 100644 +index 5afafee10b32b7f09757b5d60ad58e35cd467c17..53f9286d37215af55ab17c447327b13464c7a79d 100644 --- a/src/main/java/net/minecraft/server/players/PlayerList.java +++ b/src/main/java/net/minecraft/server/players/PlayerList.java -@@ -378,7 +378,7 @@ public abstract class PlayerList { +@@ -376,7 +376,7 @@ public abstract class PlayerList { ((ServerLevel)player.level()).getChunkSource().chunkMap.addEntity(player); // Paper - track entity now // CraftBukkit end @@ -125,10 +125,10 @@ index 37596c7b65f280be00e8e59ae18bd1aceae21080..eca18540aeb0b0d4098477d73b14c78a } entity.playSound(((Bucketable) entity).getPickupSound(), 1.0F, 1.0F); diff --git a/src/main/java/org/bukkit/craftbukkit/entity/CraftEntity.java b/src/main/java/org/bukkit/craftbukkit/entity/CraftEntity.java -index 4199bc76c1f304e19fa7c3b7763d31b56a57221b..37b1eb5ba224e4de28c49c04d218c3951b1bbfd1 100644 +index 1075c90e51cfea5823a74c07847545e227968ad2..c0f11fb8de8c15f8b07023fc05a7856413bc8036 100644 --- a/src/main/java/org/bukkit/craftbukkit/entity/CraftEntity.java +++ b/src/main/java/org/bukkit/craftbukkit/entity/CraftEntity.java -@@ -1258,7 +1258,11 @@ public abstract class CraftEntity implements org.bukkit.entity.Entity { +@@ -1302,7 +1302,11 @@ public abstract class CraftEntity implements org.bukkit.entity.Entity { return; } diff --git a/patches/unapplied/server/0892-Fixes-and-additions-to-the-SpawnReason-API.patch b/patches/server/0890-Fixes-and-additions-to-the-SpawnReason-API.patch similarity index 89% rename from patches/unapplied/server/0892-Fixes-and-additions-to-the-SpawnReason-API.patch rename to patches/server/0890-Fixes-and-additions-to-the-SpawnReason-API.patch index 2e8a508b26..4bdb479cd7 100644 --- a/patches/unapplied/server/0892-Fixes-and-additions-to-the-SpawnReason-API.patch +++ b/patches/server/0890-Fixes-and-additions-to-the-SpawnReason-API.patch @@ -8,10 +8,10 @@ Fixes some wrong reasons, and adds missing spawn reasons for entities. Co-authored-by: Doc diff --git a/src/main/java/net/minecraft/world/entity/EntityType.java b/src/main/java/net/minecraft/world/entity/EntityType.java -index b1a5f160f5bd4da271f212f02c3c977a5e576b99..e6cddde3e5b87d114cda5d4c6de5f71ee96e933d 100644 +index 823f3b3093cffb49ccdcbcfbe6d348009a553ad7..e754a294645e1af9e39bde32dd1387cd54335e7e 100644 --- a/src/main/java/net/minecraft/world/entity/EntityType.java +++ b/src/main/java/net/minecraft/world/entity/EntityType.java -@@ -349,7 +349,7 @@ public class EntityType implements FeatureElement, EntityTypeT +@@ -353,7 +353,7 @@ public class EntityType implements FeatureElement, EntityTypeT @Nullable public T spawn(ServerLevel world, @Nullable ItemStack stack, @Nullable Player player, BlockPos pos, MobSpawnType spawnReason, boolean alignPosition, boolean invertY) { // CraftBukkit start @@ -34,10 +34,10 @@ index 9652e3385ad10e5d825dd141f6be3522c596916d..6256ce68d6ecada66745fb09360cba2b this.discard(); } diff --git a/src/main/java/net/minecraft/world/level/block/CarvedPumpkinBlock.java b/src/main/java/net/minecraft/world/level/block/CarvedPumpkinBlock.java -index 41a74780ce9edc8442732b04785396c245ee5c32..23c487e295b3b736d8800f0c884324c9b18a5373 100644 +index 8f38965b42a20ac39cb1170278562070ebf2f958..a63733fa01dc58b3c0abb28c1cd88c8b0a456083 100644 --- a/src/main/java/net/minecraft/world/level/block/CarvedPumpkinBlock.java +++ b/src/main/java/net/minecraft/world/level/block/CarvedPumpkinBlock.java -@@ -85,7 +85,17 @@ public class CarvedPumpkinBlock extends HorizontalDirectionalBlock { +@@ -92,7 +92,17 @@ public class CarvedPumpkinBlock extends HorizontalDirectionalBlock { // clearPatternBlocks(world, shapedetector_shapedetectorcollection); // CraftBukkit - moved down entity.moveTo((double) pos.getX() + 0.5D, (double) pos.getY() + 0.05D, (double) pos.getZ() + 0.5D, 0.0F, 0.0F); // CraftBukkit start @@ -57,10 +57,10 @@ index 41a74780ce9edc8442732b04785396c245ee5c32..23c487e295b3b736d8800f0c884324c9 } CarvedPumpkinBlock.clearPatternBlocks(world, patternResult); // CraftBukkit - from above diff --git a/src/main/java/net/minecraft/world/level/block/FrogspawnBlock.java b/src/main/java/net/minecraft/world/level/block/FrogspawnBlock.java -index 294d22b6b27e96b59c77527efcfefa9410b756e4..bebcdc70c4cb01764428836fff76f03b94f2eae8 100644 +index 0a2de99c22cfcc96a664dc2afe7379987ea815db..6fc8d7f93141d85d8aecc97314e747624beb5e6c 100644 --- a/src/main/java/net/minecraft/world/level/block/FrogspawnBlock.java +++ b/src/main/java/net/minecraft/world/level/block/FrogspawnBlock.java -@@ -110,7 +110,7 @@ public class FrogspawnBlock extends Block { +@@ -117,7 +117,7 @@ public class FrogspawnBlock extends Block { int k = random.nextInt(1, 361); tadpole.moveTo(d, (double)pos.getY() - 0.5D, e, (float)k, 0.0F); tadpole.setPersistenceRequired(); @@ -70,10 +70,10 @@ index 294d22b6b27e96b59c77527efcfefa9410b756e4..bebcdc70c4cb01764428836fff76f03b } diff --git a/src/main/java/net/minecraft/world/level/block/SnifferEggBlock.java b/src/main/java/net/minecraft/world/level/block/SnifferEggBlock.java -index 8aaa3cb2248a02b5ee25251cc837a145edd34341..ecb8224beb0ee65855c7529b69ea56b7b6674664 100644 +index 3cedc349e79665d3d471c92b5dca25c9e66ca0bf..6c025c0fac9bd6373b99e374b773ca626d47ee6d 100644 --- a/src/main/java/net/minecraft/world/level/block/SnifferEggBlock.java +++ b/src/main/java/net/minecraft/world/level/block/SnifferEggBlock.java -@@ -81,7 +81,7 @@ public class SnifferEggBlock extends Block { +@@ -88,7 +88,7 @@ public class SnifferEggBlock extends Block { Vec3 vec3 = pos.getCenter(); sniffer.setBaby(true); sniffer.moveTo(vec3.x(), vec3.y(), vec3.z(), Mth.wrapDegrees(world.random.nextFloat() * 360.0F), 0.0F); diff --git a/patches/unapplied/server/0893-fix-Instruments.patch b/patches/server/0891-fix-Instruments.patch similarity index 94% rename from patches/unapplied/server/0893-fix-Instruments.patch rename to patches/server/0891-fix-Instruments.patch index ba5053ee6e..54d02ec7aa 100644 --- a/patches/unapplied/server/0893-fix-Instruments.patch +++ b/patches/server/0891-fix-Instruments.patch @@ -6,10 +6,10 @@ Subject: [PATCH] fix Instruments properly handle Player#playNote diff --git a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java -index 68f12f6352cd19a2a681f7008ec91746323f7af6..98f8ffe3e69d563fb7dd07f3c42476d52239fff4 100644 +index 003ff30116a6b91e244af12e51aa5dd0925c778e..a25cdcb4468d16a064ea290c0a397ea8cf0864ad 100644 --- a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java +++ b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java -@@ -719,7 +719,10 @@ public class CraftPlayer extends CraftHumanEntity implements Player { +@@ -726,7 +726,10 @@ public class CraftPlayer extends CraftHumanEntity implements Player { Sound instrumentSound = instrument.getSound(); if (instrumentSound == null) return; diff --git a/patches/unapplied/server/0894-Improve-inlining-for-some-hot-BlockBehavior-and-Flui.patch b/patches/server/0892-Improve-inlining-for-some-hot-BlockBehavior-and-Flui.patch similarity index 89% rename from patches/unapplied/server/0894-Improve-inlining-for-some-hot-BlockBehavior-and-Flui.patch rename to patches/server/0892-Improve-inlining-for-some-hot-BlockBehavior-and-Flui.patch index 6c0d7471d6..e454a32d6d 100644 --- a/patches/unapplied/server/0894-Improve-inlining-for-some-hot-BlockBehavior-and-Flui.patch +++ b/patches/server/0892-Improve-inlining-for-some-hot-BlockBehavior-and-Flui.patch @@ -6,10 +6,10 @@ Subject: [PATCH] Improve inlining for some hot BlockBehavior and FluidState diff --git a/src/main/java/net/minecraft/world/level/block/state/BlockBehaviour.java b/src/main/java/net/minecraft/world/level/block/state/BlockBehaviour.java -index fc28bca0d31b01287f38405f795da577c6c89105..e6a4a5898ffdcb2aa2bc01371a6d7dbc06d610ce 100644 +index 84d7aeafafe1497d96dca2238b579007cbe27146..3ab8b99837b1d1faea722c598b0228b2780be8b1 100644 --- a/src/main/java/net/minecraft/world/level/block/state/BlockBehaviour.java +++ b/src/main/java/net/minecraft/world/level/block/state/BlockBehaviour.java -@@ -1011,15 +1011,15 @@ public abstract class BlockBehaviour implements FeatureElement { +@@ -1078,15 +1078,15 @@ public abstract class BlockBehaviour implements FeatureElement { return this.shapeExceedsCube; // Paper - moved into shape cache init } @@ -28,7 +28,7 @@ index fc28bca0d31b01287f38405f795da577c6c89105..e6a4a5898ffdcb2aa2bc01371a6d7dbc return this.isAir; } -@@ -1103,7 +1103,7 @@ public abstract class BlockBehaviour implements FeatureElement { +@@ -1170,7 +1170,7 @@ public abstract class BlockBehaviour implements FeatureElement { } } @@ -37,8 +37,8 @@ index fc28bca0d31b01287f38405f795da577c6c89105..e6a4a5898ffdcb2aa2bc01371a6d7dbc return this.canOcclude; } -@@ -1303,11 +1303,11 @@ public abstract class BlockBehaviour implements FeatureElement { - return this.getBlock() == block; +@@ -1378,11 +1378,11 @@ public abstract class BlockBehaviour implements FeatureElement { + return this.getBlock().builtInRegistryHolder().is(key); } - public FluidState getFluidState() { diff --git a/patches/unapplied/server/0895-Fix-inconsistencies-in-dispense-events-regarding-sta.patch b/patches/server/0893-Fix-inconsistencies-in-dispense-events-regarding-sta.patch similarity index 86% rename from patches/unapplied/server/0895-Fix-inconsistencies-in-dispense-events-regarding-sta.patch rename to patches/server/0893-Fix-inconsistencies-in-dispense-events-regarding-sta.patch index f318df5bb3..0b3ae447f6 100644 --- a/patches/unapplied/server/0895-Fix-inconsistencies-in-dispense-events-regarding-sta.patch +++ b/patches/server/0893-Fix-inconsistencies-in-dispense-events-regarding-sta.patch @@ -47,10 +47,10 @@ index e22d71c371952e91b838d10206d3dcdf9dc8716d..155bd3d6d9c7d3cac7fd04de82103012 } diff --git a/src/main/java/net/minecraft/core/dispenser/BoatDispenseItemBehavior.java b/src/main/java/net/minecraft/core/dispenser/BoatDispenseItemBehavior.java -index eb3b91a49d7831d7a3cbbee9323723956d3d3e00..80dbeb0a988c749feaaba26ce5ad93c181d88a5d 100644 +index 90e1914599b43c8bf813596b3b428d8be3bac1b5..6df0db8b4cdab23494ea34236949ece4989110a3 100644 --- a/src/main/java/net/minecraft/core/dispenser/BoatDispenseItemBehavior.java +++ b/src/main/java/net/minecraft/core/dispenser/BoatDispenseItemBehavior.java -@@ -57,7 +57,7 @@ public class BoatDispenseItemBehavior extends DefaultDispenseItemBehavior { +@@ -58,7 +58,7 @@ public class BoatDispenseItemBehavior extends DefaultDispenseItemBehavior { // Object object = this.isChestBoat ? new ChestBoat(worldserver, d1, d2 + d4, d3) : new EntityBoat(worldserver, d1, d2 + d4, d3); // CraftBukkit start @@ -59,7 +59,7 @@ index eb3b91a49d7831d7a3cbbee9323723956d3d3e00..80dbeb0a988c749feaaba26ce5ad93c1 org.bukkit.block.Block block = CraftBlock.at(worldserver, pointer.pos()); CraftItemStack craftItem = CraftItemStack.asCraftMirror(itemstack1); -@@ -67,12 +67,13 @@ public class BoatDispenseItemBehavior extends DefaultDispenseItemBehavior { +@@ -68,12 +68,13 @@ public class BoatDispenseItemBehavior extends DefaultDispenseItemBehavior { } if (event.isCancelled()) { @@ -75,8 +75,8 @@ index eb3b91a49d7831d7a3cbbee9323723956d3d3e00..80dbeb0a988c749feaaba26ce5ad93c1 // Chain to handler for new item ItemStack eventStack = CraftItemStack.asNMSCopy(event.getItem()); DispenseItemBehavior idispensebehavior = (DispenseItemBehavior) DispenserBlock.DISPENSER_REGISTRY.get(eventStack.getItem()); -@@ -87,8 +88,7 @@ public class BoatDispenseItemBehavior extends DefaultDispenseItemBehavior { - +@@ -89,8 +90,7 @@ public class BoatDispenseItemBehavior extends DefaultDispenseItemBehavior { + EntityType.createDefaultStackConfig(worldserver, stack, (Player) null).accept(object); ((Boat) object).setVariant(this.type); ((Boat) object).setYRot(enumdirection.toYRot()); - if (!worldserver.addFreshEntity((Entity) object)) stack.grow(1); // CraftBukkit @@ -86,7 +86,7 @@ index eb3b91a49d7831d7a3cbbee9323723956d3d3e00..80dbeb0a988c749feaaba26ce5ad93c1 } diff --git a/src/main/java/net/minecraft/core/dispenser/DispenseItemBehavior.java b/src/main/java/net/minecraft/core/dispenser/DispenseItemBehavior.java -index f9ab6d4f6e7f430d41b79227e74136a3e980f340..c0baec6ae9bd90410f47aa04d7c7704233375d1a 100644 +index b65d0c2ac5b4f7eb3da85b693c354463c6f49694..dd017c33ff89a516022378160410bc41cce9222e 100644 --- a/src/main/java/net/minecraft/core/dispenser/DispenseItemBehavior.java +++ b/src/main/java/net/minecraft/core/dispenser/DispenseItemBehavior.java @@ -217,7 +217,7 @@ public interface DispenseItemBehavior { @@ -333,7 +333,15 @@ index f9ab6d4f6e7f430d41b79227e74136a3e980f340..c0baec6ae9bd90410f47aa04d7c77042 BlockDispenseEvent event = new BlockDispenseEvent(block, craftItem.clone(), new org.bukkit.util.Vector(x, y, z)); if (!DispenserBlock.eventFired) { -@@ -694,7 +704,7 @@ public interface DispenseItemBehavior { +@@ -631,6 +641,7 @@ public interface DispenseItemBehavior { + return stack; + } + ++ boolean shrink = true; // Paper + if (!event.getItem().equals(craftItem)) { + // Chain to handler for new item + ItemStack eventStack = CraftItemStack.asNMSCopy(event.getItem()); +@@ -694,7 +705,7 @@ public interface DispenseItemBehavior { // CraftBukkit start org.bukkit.block.Block bukkitBlock = CraftBlock.at(worldserver, pointer.pos()); @@ -342,7 +350,17 @@ index f9ab6d4f6e7f430d41b79227e74136a3e980f340..c0baec6ae9bd90410f47aa04d7c77042 BlockDispenseEvent event = new BlockDispenseEvent(bukkitBlock, craftItem.clone(), new org.bukkit.util.Vector(blockposition.getX(), blockposition.getY(), blockposition.getZ())); if (!DispenserBlock.eventFired) { -@@ -802,7 +812,7 @@ public interface DispenseItemBehavior { +@@ -752,7 +763,9 @@ public interface DispenseItemBehavior { + return stack; + } + ++ boolean shrink = true; // Paper + if (!event.getItem().equals(craftItem)) { ++ shrink = false; // Paper - shrink below (this was actually missing and should be here, added it commented out just for less confusion) + // Chain to handler for new item + ItemStack eventStack = CraftItemStack.asNMSCopy(event.getItem()); + DispenseItemBehavior idispensebehavior = (DispenseItemBehavior) DispenserBlock.DISPENSER_REGISTRY.get(eventStack.getItem()); +@@ -802,7 +815,7 @@ public interface DispenseItemBehavior { BlockPos blockposition = pointer.pos().relative((Direction) pointer.state().getValue(DispenserBlock.FACING)); // CraftBukkit start org.bukkit.block.Block block = CraftBlock.at(worldserver, pointer.pos()); @@ -351,7 +369,15 @@ index f9ab6d4f6e7f430d41b79227e74136a3e980f340..c0baec6ae9bd90410f47aa04d7c77042 BlockDispenseEvent event = new BlockDispenseEvent(block, craftItem.clone(), new org.bukkit.util.Vector(0, 0, 0)); if (!DispenserBlock.eventFired) { -@@ -868,7 +878,7 @@ public interface DispenseItemBehavior { +@@ -813,6 +826,7 @@ public interface DispenseItemBehavior { + return stack; + } + ++ boolean shrink = true; // Paper + if (!event.getItem().equals(craftItem)) { + // Chain to handler for new item + ItemStack eventStack = CraftItemStack.asNMSCopy(event.getItem()); +@@ -868,7 +882,7 @@ public interface DispenseItemBehavior { // CraftBukkit start // EntityTNTPrimed entitytntprimed = new EntityTNTPrimed(worldserver, (double) blockposition.getX() + 0.5D, (double) blockposition.getY(), (double) blockposition.getZ() + 0.5D, (EntityLiving) null); @@ -360,7 +386,7 @@ index f9ab6d4f6e7f430d41b79227e74136a3e980f340..c0baec6ae9bd90410f47aa04d7c77042 org.bukkit.block.Block block = CraftBlock.at(worldserver, pointer.pos()); CraftItemStack craftItem = CraftItemStack.asCraftMirror(itemstack1); -@@ -878,12 +888,13 @@ public interface DispenseItemBehavior { +@@ -878,12 +892,13 @@ public interface DispenseItemBehavior { } if (event.isCancelled()) { @@ -376,7 +402,7 @@ index f9ab6d4f6e7f430d41b79227e74136a3e980f340..c0baec6ae9bd90410f47aa04d7c77042 // Chain to handler for new item ItemStack eventStack = CraftItemStack.asNMSCopy(event.getItem()); DispenseItemBehavior idispensebehavior = (DispenseItemBehavior) DispenserBlock.DISPENSER_REGISTRY.get(eventStack.getItem()); -@@ -899,7 +910,7 @@ public interface DispenseItemBehavior { +@@ -899,7 +914,7 @@ public interface DispenseItemBehavior { worldserver.addFreshEntity(entitytntprimed); worldserver.playSound((Player) null, entitytntprimed.getX(), entitytntprimed.getY(), entitytntprimed.getZ(), SoundEvents.TNT_PRIMED, SoundSource.BLOCKS, 1.0F, 1.0F); worldserver.gameEvent((Entity) null, GameEvent.ENTITY_PLACE, blockposition); @@ -385,7 +411,7 @@ index f9ab6d4f6e7f430d41b79227e74136a3e980f340..c0baec6ae9bd90410f47aa04d7c77042 return stack; } }); -@@ -926,7 +937,7 @@ public interface DispenseItemBehavior { +@@ -926,7 +941,7 @@ public interface DispenseItemBehavior { // CraftBukkit start org.bukkit.block.Block bukkitBlock = CraftBlock.at(worldserver, pointer.pos()); @@ -394,7 +420,19 @@ index f9ab6d4f6e7f430d41b79227e74136a3e980f340..c0baec6ae9bd90410f47aa04d7c77042 BlockDispenseEvent event = new BlockDispenseEvent(bukkitBlock, craftItem.clone(), new org.bukkit.util.Vector(blockposition.getX(), blockposition.getY(), blockposition.getZ())); if (!DispenserBlock.eventFired) { -@@ -975,7 +986,7 @@ public interface DispenseItemBehavior { +@@ -934,9 +949,11 @@ public interface DispenseItemBehavior { + } + + if (event.isCancelled()) { ++ // stack.grow(1); // Paper - shrink below (this was actually missing and should be here, added it commented out just for less confusion) + return stack; + } + ++ boolean shrink = true; // Paper + if (!event.getItem().equals(craftItem)) { + // Chain to handler for new item + ItemStack eventStack = CraftItemStack.asNMSCopy(event.getItem()); +@@ -975,7 +992,7 @@ public interface DispenseItemBehavior { // CraftBukkit start org.bukkit.block.Block bukkitBlock = CraftBlock.at(worldserver, pointer.pos()); @@ -403,7 +441,15 @@ index f9ab6d4f6e7f430d41b79227e74136a3e980f340..c0baec6ae9bd90410f47aa04d7c77042 BlockDispenseEvent event = new BlockDispenseEvent(bukkitBlock, craftItem.clone(), new org.bukkit.util.Vector(blockposition.getX(), blockposition.getY(), blockposition.getZ())); if (!DispenserBlock.eventFired) { -@@ -1048,7 +1059,7 @@ public interface DispenseItemBehavior { +@@ -986,6 +1003,7 @@ public interface DispenseItemBehavior { + return stack; + } + ++ boolean shrink = true; // Paper + if (!event.getItem().equals(craftItem)) { + // Chain to handler for new item + ItemStack eventStack = CraftItemStack.asNMSCopy(event.getItem()); +@@ -1048,7 +1066,7 @@ public interface DispenseItemBehavior { // CraftBukkit start org.bukkit.block.Block bukkitBlock = CraftBlock.at(worldserver, pointer.pos()); @@ -412,6 +458,14 @@ index f9ab6d4f6e7f430d41b79227e74136a3e980f340..c0baec6ae9bd90410f47aa04d7c77042 BlockDispenseEvent event = new BlockDispenseEvent(bukkitBlock, craftItem.clone(), new org.bukkit.util.Vector(blockposition.getX(), blockposition.getY(), blockposition.getZ())); if (!DispenserBlock.eventFired) { +@@ -1059,6 +1077,7 @@ public interface DispenseItemBehavior { + return stack; + } + ++ boolean shrink = true; // Paper + if (!event.getItem().equals(craftItem)) { + // Chain to handler for new item + ItemStack eventStack = CraftItemStack.asNMSCopy(event.getItem()); diff --git a/src/main/java/net/minecraft/core/dispenser/ShulkerBoxDispenseBehavior.java b/src/main/java/net/minecraft/core/dispenser/ShulkerBoxDispenseBehavior.java index f84987c36a16df19286d6f1badfb1ffb9cc7e770..6f2adf2334e35e8a617a4ced0c1af2abf32bbd8d 100644 --- a/src/main/java/net/minecraft/core/dispenser/ShulkerBoxDispenseBehavior.java @@ -463,10 +517,10 @@ index a745dc02ae25bcf10cee954b6e53f8b106fd045d..42d87800a328f71c5127ce5599ca4c71 } } diff --git a/src/main/java/net/minecraft/world/item/MinecartItem.java b/src/main/java/net/minecraft/world/item/MinecartItem.java -index 496900fc805e7e3f6206777c9c9b0260839dd9b0..a33395dc5a94d89b5ab273c7832813b6ff9ea3b7 100644 +index 9bcca21ba03dc838f3e857018adee9506d8bb6a3..3aa73cd44aa8c86b78c35bc1788e4f83018c49ed 100644 --- a/src/main/java/net/minecraft/world/item/MinecartItem.java +++ b/src/main/java/net/minecraft/world/item/MinecartItem.java -@@ -64,7 +64,7 @@ public class MinecartItem extends Item { +@@ -65,7 +65,7 @@ public class MinecartItem extends Item { // CraftBukkit start // EntityMinecartAbstract entityminecartabstract = EntityMinecartAbstract.createMinecart(worldserver, d0, d1 + d3, d2, ((ItemMinecart) itemstack.getItem()).type); @@ -475,7 +529,7 @@ index 496900fc805e7e3f6206777c9c9b0260839dd9b0..a33395dc5a94d89b5ab273c7832813b6 org.bukkit.block.Block block2 = CraftBlock.at(worldserver, pointer.pos()); CraftItemStack craftItem = CraftItemStack.asCraftMirror(itemstack1); -@@ -74,12 +74,13 @@ public class MinecartItem extends Item { +@@ -75,12 +75,13 @@ public class MinecartItem extends Item { } if (event.isCancelled()) { @@ -491,9 +545,9 @@ index 496900fc805e7e3f6206777c9c9b0260839dd9b0..a33395dc5a94d89b5ab273c7832813b6 // Chain to handler for new item ItemStack eventStack = CraftItemStack.asNMSCopy(event.getItem()); DispenseItemBehavior idispensebehavior = (DispenseItemBehavior) DispenserBlock.DISPENSER_REGISTRY.get(eventStack.getItem()); -@@ -96,8 +97,7 @@ public class MinecartItem extends Item { - entityminecartabstract.setCustomName(stack.getHoverName()); - } +@@ -93,8 +94,7 @@ public class MinecartItem extends Item { + itemstack1 = CraftItemStack.asNMSCopy(event.getItem()); + AbstractMinecart entityminecartabstract = AbstractMinecart.createMinecart(worldserver, event.getVelocity().getX(), event.getVelocity().getY(), event.getVelocity().getZ(), ((MinecartItem) itemstack1.getItem()).type, itemstack1, (Player) null); - if (!worldserver.addFreshEntity(entityminecartabstract)) stack.grow(1); - // itemstack.shrink(1); // CraftBukkit - handled during event processing diff --git a/patches/unapplied/server/0896-Add-BlockLockCheckEvent.patch b/patches/server/0894-Add-BlockLockCheckEvent.patch similarity index 100% rename from patches/unapplied/server/0896-Add-BlockLockCheckEvent.patch rename to patches/server/0894-Add-BlockLockCheckEvent.patch diff --git a/patches/unapplied/server/0897-Add-Sneaking-API-for-Entities.patch b/patches/server/0895-Add-Sneaking-API-for-Entities.patch similarity index 86% rename from patches/unapplied/server/0897-Add-Sneaking-API-for-Entities.patch rename to patches/server/0895-Add-Sneaking-API-for-Entities.patch index 50bc8ae29c..1ef0037098 100644 --- a/patches/unapplied/server/0897-Add-Sneaking-API-for-Entities.patch +++ b/patches/server/0895-Add-Sneaking-API-for-Entities.patch @@ -5,10 +5,10 @@ Subject: [PATCH] Add Sneaking API for Entities diff --git a/src/main/java/org/bukkit/craftbukkit/entity/CraftEntity.java b/src/main/java/org/bukkit/craftbukkit/entity/CraftEntity.java -index 37b1eb5ba224e4de28c49c04d218c3951b1bbfd1..a42be7d446e7066b5451f58834901672c293a34b 100644 +index c0f11fb8de8c15f8b07023fc05a7856413bc8036..908da9217c6553301c22ca0415924d2aebe993ef 100644 --- a/src/main/java/org/bukkit/craftbukkit/entity/CraftEntity.java +++ b/src/main/java/org/bukkit/craftbukkit/entity/CraftEntity.java -@@ -1218,6 +1218,18 @@ public abstract class CraftEntity implements org.bukkit.entity.Entity { +@@ -1226,6 +1226,18 @@ public abstract class CraftEntity implements org.bukkit.entity.Entity { return Pose.values()[this.getHandle().getPose().ordinal()]; } diff --git a/patches/unapplied/server/0898-Improve-logging-and-errors.patch b/patches/server/0896-Improve-logging-and-errors.patch similarity index 94% rename from patches/unapplied/server/0898-Improve-logging-and-errors.patch rename to patches/server/0896-Improve-logging-and-errors.patch index c9d0447c0a..724903ebb6 100644 --- a/patches/unapplied/server/0898-Improve-logging-and-errors.patch +++ b/patches/server/0896-Improve-logging-and-errors.patch @@ -28,10 +28,10 @@ index 938fe76677139e7e99698b61691bfcadf70dbd87..5cf3732d2197b381ae9256d8bed03a75 private boolean tryInsert(AdvancementHolder advancement) { diff --git a/src/main/java/net/minecraft/server/ServerAdvancementManager.java b/src/main/java/net/minecraft/server/ServerAdvancementManager.java -index ebcd2bbcf8f25c52de3deaff32a8522dbf662141..8189c549edd14a351fc5e75be23da7378bbd3532 100644 +index 536f0c496ce36ca3248fc6eeac9bbd77214a36f9..5e24c1e712eb16d0d5343760a65310bd79d1020c 100644 --- a/src/main/java/net/minecraft/server/ServerAdvancementManager.java +++ b/src/main/java/net/minecraft/server/ServerAdvancementManager.java -@@ -63,6 +63,7 @@ public class ServerAdvancementManager extends SimpleJsonResourceReloadListener { +@@ -66,6 +66,7 @@ public class ServerAdvancementManager extends SimpleJsonResourceReloadListener { AdvancementTree advancementtree = new AdvancementTree(); advancementtree.addAll(this.advancements.values()); @@ -40,10 +40,10 @@ index ebcd2bbcf8f25c52de3deaff32a8522dbf662141..8189c549edd14a351fc5e75be23da737 while (iterator.hasNext()) { diff --git a/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java b/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java -index d63451592c34429c1c827ff8e16989347e2efdaa..e87e99569fe5d6d916faa385b1793db858ab39b7 100644 +index 199a9e1d082ab937e2be9fd5abdd0891b7b78024..57526743fd14cef2510e3b446d4421bad28fe437 100644 --- a/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java +++ b/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java -@@ -3386,7 +3386,7 @@ public class ServerGamePacketListenerImpl extends ServerCommonPacketListenerImpl +@@ -3394,7 +3394,7 @@ public class ServerGamePacketListenerImpl extends ServerCommonPacketListenerImpl this.resetPlayerChatState(remotechatsession_a.validate(this.player.getGameProfile(), signaturevalidator)); } catch (ProfilePublicKey.ValidationException profilepublickey_b) { @@ -70,7 +70,7 @@ index 89aa86a49eda563c82ccedc99641e699f8e578b0..4822f94ce183a99ad9e0d1bdc6c5708d set.add(string); } else { diff --git a/src/main/java/net/minecraft/world/item/crafting/RecipeManager.java b/src/main/java/net/minecraft/world/item/crafting/RecipeManager.java -index bf16c44e2d61dccb662eceeef89a143a25ba40b0..43aacadcf8be10432a61c83f69ee86580c86d0a3 100644 +index 4259181bab2dc4f2d0409b56fdf81d966003376d..93e7d350a4176250d9ae3f0e1e7e6a4197d613b0 100644 --- a/src/main/java/net/minecraft/world/item/crafting/RecipeManager.java +++ b/src/main/java/net/minecraft/world/item/crafting/RecipeManager.java @@ -84,7 +84,7 @@ public class RecipeManager extends SimpleJsonResourceReloadListener { diff --git a/patches/unapplied/server/0899-Improve-PortalEvents.patch b/patches/server/0897-Improve-PortalEvents.patch similarity index 86% rename from patches/unapplied/server/0899-Improve-PortalEvents.patch rename to patches/server/0897-Improve-PortalEvents.patch index 3bd889f3cd..8f61fb9118 100644 --- a/patches/unapplied/server/0899-Improve-PortalEvents.patch +++ b/patches/server/0897-Improve-PortalEvents.patch @@ -5,10 +5,10 @@ Subject: [PATCH] Improve PortalEvents diff --git a/src/main/java/net/minecraft/world/entity/Entity.java b/src/main/java/net/minecraft/world/entity/Entity.java -index a8750ba7720896685f9956194e43bb83a97670a8..5c9a015401312a7f8bbc2974337a665e5726c41d 100644 +index a59d738a8697ed06c445b0837b887aabcd92e366..fab6f1a470334e0a2a552ff12da70f463888d7f1 100644 --- a/src/main/java/net/minecraft/world/entity/Entity.java +++ b/src/main/java/net/minecraft/world/entity/Entity.java -@@ -3736,7 +3736,14 @@ public abstract class Entity implements Nameable, EntityAccess, CommandSource { +@@ -3769,7 +3769,14 @@ public abstract class Entity implements Nameable, EntityAccess, CommandSource, S Location enter = bukkitEntity.getLocation(); Location exit = CraftLocation.toBukkit(exitPosition, exitWorldServer.getWorld()); diff --git a/patches/unapplied/server/0900-Add-config-option-for-spider-worldborder-climbing.patch b/patches/server/0898-Add-config-option-for-spider-worldborder-climbing.patch similarity index 87% rename from patches/unapplied/server/0900-Add-config-option-for-spider-worldborder-climbing.patch rename to patches/server/0898-Add-config-option-for-spider-worldborder-climbing.patch index 370838dfe6..098c8b986a 100644 --- a/patches/unapplied/server/0900-Add-config-option-for-spider-worldborder-climbing.patch +++ b/patches/server/0898-Add-config-option-for-spider-worldborder-climbing.patch @@ -5,10 +5,10 @@ Subject: [PATCH] Add config option for spider worldborder climbing diff --git a/src/main/java/net/minecraft/world/entity/Entity.java b/src/main/java/net/minecraft/world/entity/Entity.java -index 5c9a015401312a7f8bbc2974337a665e5726c41d..a71376b5c7a6e59eeac3a4e0b29cac69ed99f8f1 100644 +index fab6f1a470334e0a2a552ff12da70f463888d7f1..a84811f050378840206f7c2c4591bcd0b948c8fa 100644 --- a/src/main/java/net/minecraft/world/entity/Entity.java +++ b/src/main/java/net/minecraft/world/entity/Entity.java -@@ -403,6 +403,7 @@ public abstract class Entity implements Nameable, EntityAccess, CommandSource { +@@ -408,6 +408,7 @@ public abstract class Entity implements Nameable, EntityAccess, CommandSource, S @javax.annotation.Nullable private UUID originWorld; public boolean freezeLocked = false; // Paper - Freeze Tick Lock API @@ -16,7 +16,7 @@ index 5c9a015401312a7f8bbc2974337a665e5726c41d..a71376b5c7a6e59eeac3a4e0b29cac69 public void setOrigin(@javax.annotation.Nonnull Location location) { this.origin = location.toVector(); -@@ -1476,7 +1477,7 @@ public abstract class Entity implements Nameable, EntityAccess, CommandSource { +@@ -1481,7 +1482,7 @@ public abstract class Entity implements Nameable, EntityAccess, CommandSource, S null, null ); diff --git a/patches/unapplied/server/0901-Add-missing-SpigotConfig-logCommands-check.patch b/patches/server/0899-Add-missing-SpigotConfig-logCommands-check.patch similarity index 88% rename from patches/unapplied/server/0901-Add-missing-SpigotConfig-logCommands-check.patch rename to patches/server/0899-Add-missing-SpigotConfig-logCommands-check.patch index 6bdf638285..724b61cca9 100644 --- a/patches/unapplied/server/0901-Add-missing-SpigotConfig-logCommands-check.patch +++ b/patches/server/0899-Add-missing-SpigotConfig-logCommands-check.patch @@ -5,10 +5,10 @@ Subject: [PATCH] Add missing SpigotConfig logCommands check diff --git a/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java b/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java -index e87e99569fe5d6d916faa385b1793db858ab39b7..5654bc0390f3c205bca3ea1f225eba1a39216005 100644 +index 57526743fd14cef2510e3b446d4421bad28fe437..40e69eaf83b7e18718fc347ea10766c27c345d1e 100644 --- a/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java +++ b/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java -@@ -2113,7 +2113,9 @@ public class ServerGamePacketListenerImpl extends ServerCommonPacketListenerImpl +@@ -2139,7 +2139,9 @@ public class ServerGamePacketListenerImpl extends ServerCommonPacketListenerImpl private void performChatCommand(ServerboundChatCommandPacket packet, LastSeenMessages lastSeenMessages) { // CraftBukkit start String command = "/" + packet.command(); diff --git a/patches/unapplied/server/0902-Fix-NPE-on-Allay-stopDancing-while-not-dancing.patch b/patches/server/0900-Fix-NPE-on-Allay-stopDancing-while-not-dancing.patch similarity index 100% rename from patches/unapplied/server/0902-Fix-NPE-on-Allay-stopDancing-while-not-dancing.patch rename to patches/server/0900-Fix-NPE-on-Allay-stopDancing-while-not-dancing.patch diff --git a/patches/unapplied/server/0903-Flying-Fall-Damage.patch b/patches/server/0901-Flying-Fall-Damage.patch similarity index 83% rename from patches/unapplied/server/0903-Flying-Fall-Damage.patch rename to patches/server/0901-Flying-Fall-Damage.patch index 3b2d52c0ba..02ce411796 100644 --- a/patches/unapplied/server/0903-Flying-Fall-Damage.patch +++ b/patches/server/0901-Flying-Fall-Damage.patch @@ -5,10 +5,10 @@ Subject: [PATCH] Flying Fall Damage 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 f9a308490e1cd7745dc12369c6041f0ae9e0b1e1..481c3e321cfc0f20bb1c4c6942b8bdbd23c06339 100644 +index 078dd3ccf046d3ee5ef41108e9db4736182778f1..82978c058c64563eb091fe9efbe42ade2b9a9225 100644 --- a/src/main/java/net/minecraft/world/entity/player/Player.java +++ b/src/main/java/net/minecraft/world/entity/player/Player.java -@@ -186,6 +186,7 @@ public abstract class Player extends LivingEntity { +@@ -181,6 +181,7 @@ public abstract class Player extends LivingEntity { public float hurtDir; // Paper - protected -> public // Paper start public boolean affectsSpawning = true; @@ -16,7 +16,7 @@ index f9a308490e1cd7745dc12369c6041f0ae9e0b1e1..481c3e321cfc0f20bb1c4c6942b8bdbd // Paper end // CraftBukkit start -@@ -1764,7 +1765,7 @@ public abstract class Player extends LivingEntity { +@@ -1679,7 +1680,7 @@ public abstract class Player extends LivingEntity { @Override public boolean causeFallDamage(float fallDistance, float damageMultiplier, DamageSource damageSource) { @@ -26,10 +26,10 @@ index f9a308490e1cd7745dc12369c6041f0ae9e0b1e1..481c3e321cfc0f20bb1c4c6942b8bdbd } else { if (fallDistance >= 2.0F) { diff --git a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java -index 98f8ffe3e69d563fb7dd07f3c42476d52239fff4..b2b50317569364504d51fd02442a30b75069e88a 100644 +index a25cdcb4468d16a064ea290c0a397ea8cf0864ad..8bcb8e6aaeb245b118acad32d78e1c6704eb12f3 100644 --- a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java +++ b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java -@@ -2398,6 +2398,19 @@ public class CraftPlayer extends CraftHumanEntity implements Player { +@@ -2413,6 +2413,19 @@ public class CraftPlayer extends CraftHumanEntity implements Player { this.getHandle().onUpdateAbilities(); } diff --git a/patches/unapplied/server/0904-Add-exploded-block-state-to-BlockExplodeEvent-and-En.patch b/patches/server/0902-Add-exploded-block-state-to-BlockExplodeEvent-and-En.patch similarity index 86% rename from patches/unapplied/server/0904-Add-exploded-block-state-to-BlockExplodeEvent-and-En.patch rename to patches/server/0902-Add-exploded-block-state-to-BlockExplodeEvent-and-En.patch index 3f33ed3a18..f08125ea62 100644 --- a/patches/unapplied/server/0904-Add-exploded-block-state-to-BlockExplodeEvent-and-En.patch +++ b/patches/server/0902-Add-exploded-block-state-to-BlockExplodeEvent-and-En.patch @@ -41,23 +41,23 @@ index 8bde8c581796ed11809b80b9a30a33df86116745..4604f8b38460e9113e966889a679d454 public DamageSource outOfBorder() { diff --git a/src/main/java/net/minecraft/world/level/Explosion.java b/src/main/java/net/minecraft/world/level/Explosion.java -index e6e7ac7c5c31b6ff16a7bae6cc0706d31ea16c07..c1eafcc5b0e6486a6bffc497091e1d48b6b31a7e 100644 +index 4f3b04e62de66c4b18e5e9a988dea7c3e7b85aa1..a7f9617b1f9777b3eafa719ed898366d192101d6 100644 --- a/src/main/java/net/minecraft/world/level/Explosion.java +++ b/src/main/java/net/minecraft/world/level/Explosion.java -@@ -345,7 +345,7 @@ public class Explosion { +@@ -368,7 +368,7 @@ public class Explosion { bukkitBlocks = event.blockList(); - yield = event.getYield(); + this.yield = event.getYield(); } else { -- BlockExplodeEvent event = new BlockExplodeEvent(location.getBlock(), blockList, this.blockInteraction == Explosion.BlockInteraction.DESTROY_WITH_DECAY ? 1.0F / this.radius : 1.0F); -+ BlockExplodeEvent event = new BlockExplodeEvent(location.getBlock(), blockList, this.blockInteraction == Explosion.BlockInteraction.DESTROY_WITH_DECAY ? 1.0F / this.radius : 1.0F, this.damageSource.explodedBlockState); // Paper - exploded block state +- BlockExplodeEvent event = new BlockExplodeEvent(location.getBlock(), blockList, this.yield); ++ BlockExplodeEvent event = new BlockExplodeEvent(location.getBlock(), blockList, this.yield, this.damageSource.explodedBlockState); // Paper - exploded block state this.level.getCraftServer().getPluginManager().callEvent(event); - cancelled = event.isCancelled(); + this.wasCanceled = event.isCancelled(); bukkitBlocks = event.blockList(); diff --git a/src/main/java/net/minecraft/world/level/block/BedBlock.java b/src/main/java/net/minecraft/world/level/block/BedBlock.java -index a605c9739ebc8e60bd668ff67c760cca9bd210dc..69839965926c511b6396a0041b6e7295ebf5209b 100644 +index 0e63fa3b49b1a275254cf108a51ab18e816aad49..2deb0d861a5f66d177068f37dd56da5cf692633e 100644 --- a/src/main/java/net/minecraft/world/level/block/BedBlock.java +++ b/src/main/java/net/minecraft/world/level/block/BedBlock.java -@@ -86,6 +86,7 @@ public class BedBlock extends HorizontalDirectionalBlock implements EntityBlock +@@ -96,6 +96,7 @@ public class BedBlock extends HorizontalDirectionalBlock implements EntityBlock // CraftBukkit - moved world and biome check into EntityHuman if (false && !BedBlock.canSetSpawn(world)) { @@ -65,7 +65,7 @@ index a605c9739ebc8e60bd668ff67c760cca9bd210dc..69839965926c511b6396a0041b6e7295 world.removeBlock(pos, false); BlockPos blockposition1 = pos.relative(((Direction) state.getValue(BedBlock.FACING)).getOpposite()); -@@ -95,7 +96,7 @@ public class BedBlock extends HorizontalDirectionalBlock implements EntityBlock +@@ -105,7 +106,7 @@ public class BedBlock extends HorizontalDirectionalBlock implements EntityBlock Vec3 vec3d = pos.getCenter(); @@ -74,7 +74,7 @@ index a605c9739ebc8e60bd668ff67c760cca9bd210dc..69839965926c511b6396a0041b6e7295 return InteractionResult.SUCCESS; } else if ((Boolean) state.getValue(BedBlock.OCCUPIED)) { if (!this.kickVillagerOutOfBed(world, pos)) { -@@ -137,6 +138,7 @@ public class BedBlock extends HorizontalDirectionalBlock implements EntityBlock +@@ -147,6 +148,7 @@ public class BedBlock extends HorizontalDirectionalBlock implements EntityBlock private InteractionResult explodeBed(BlockState iblockdata, Level world, BlockPos blockposition) { { { @@ -82,7 +82,7 @@ index a605c9739ebc8e60bd668ff67c760cca9bd210dc..69839965926c511b6396a0041b6e7295 world.removeBlock(blockposition, false); BlockPos blockposition1 = blockposition.relative(((Direction) iblockdata.getValue(BedBlock.FACING)).getOpposite()); -@@ -146,7 +148,7 @@ public class BedBlock extends HorizontalDirectionalBlock implements EntityBlock +@@ -156,7 +158,7 @@ public class BedBlock extends HorizontalDirectionalBlock implements EntityBlock Vec3 vec3d = blockposition.getCenter(); @@ -92,10 +92,10 @@ index a605c9739ebc8e60bd668ff67c760cca9bd210dc..69839965926c511b6396a0041b6e7295 } } diff --git a/src/main/java/net/minecraft/world/level/block/RespawnAnchorBlock.java b/src/main/java/net/minecraft/world/level/block/RespawnAnchorBlock.java -index b9903c29bdea8d1e3b6fce0e97be6bd9493cfdf4..2ed78cf83c0ae66a6ddba1ff307da89a24b0d0a8 100644 +index c83ffba568f33323b0f8b9a03fa0b7bbbfed4355..797ece59c10bdb60a86f71ca3b7bb95dbe0f1078 100644 --- a/src/main/java/net/minecraft/world/level/block/RespawnAnchorBlock.java +++ b/src/main/java/net/minecraft/world/level/block/RespawnAnchorBlock.java -@@ -124,6 +124,7 @@ public class RespawnAnchorBlock extends Block { +@@ -131,6 +131,7 @@ public class RespawnAnchorBlock extends Block { } private void explode(BlockState state, Level world, final BlockPos explodedPos) { @@ -103,7 +103,7 @@ index b9903c29bdea8d1e3b6fce0e97be6bd9493cfdf4..2ed78cf83c0ae66a6ddba1ff307da89a world.removeBlock(explodedPos, false); Stream stream = Direction.Plane.HORIZONTAL.stream(); // CraftBukkit - decompile error -@@ -140,7 +141,7 @@ public class RespawnAnchorBlock extends Block { +@@ -147,7 +148,7 @@ public class RespawnAnchorBlock extends Block { }; Vec3 vec3d = explodedPos.getCenter(); @@ -113,10 +113,10 @@ index b9903c29bdea8d1e3b6fce0e97be6bd9493cfdf4..2ed78cf83c0ae66a6ddba1ff307da89a public static boolean canSetSpawn(Level world) { diff --git a/src/main/java/org/bukkit/craftbukkit/block/CraftBlockStates.java b/src/main/java/org/bukkit/craftbukkit/block/CraftBlockStates.java -index e44cd3b8eef25a3e7eedbe8ae597d74585ecd627..e3b07d623cd64de9645f2372f1e08757edc1a9ed 100644 +index 000724a070f7f053c14cb53ecc45f0ee14454c53..9271ff2a9ea05569e3c81886399aa7ab47efb05d 100644 --- a/src/main/java/org/bukkit/craftbukkit/block/CraftBlockStates.java +++ b/src/main/java/org/bukkit/craftbukkit/block/CraftBlockStates.java -@@ -273,6 +273,12 @@ public final class CraftBlockStates { +@@ -277,6 +277,12 @@ public final class CraftBlockStates { BlockEntity tileEntity = (blockEntityTag == null) ? null : BlockEntity.loadStatic(blockPosition, blockData, blockEntityTag); return CraftBlockStates.getBlockState(null, blockPosition, blockData, tileEntity); } @@ -130,7 +130,7 @@ index e44cd3b8eef25a3e7eedbe8ae597d74585ecd627..e3b07d623cd64de9645f2372f1e08757 // See BlockStateFactory#createBlockState(World, BlockPosition, IBlockData, TileEntity) private static CraftBlockState getBlockState(World world, BlockPos blockPosition, net.minecraft.world.level.block.state.BlockState blockData, BlockEntity tileEntity) { diff --git a/src/main/java/org/bukkit/craftbukkit/event/CraftEventFactory.java b/src/main/java/org/bukkit/craftbukkit/event/CraftEventFactory.java -index 5f35eed82193e1868102cdfa931f1cb2c7662185..bd3893f3ad3d8150c1b23ad01ccce3b1dcb25b1b 100644 +index 1854933bb3400f44da835364edda51d430da2160..6b49ae3b64bc2b62996e5d82c8cf81c94c2e7578 100644 --- a/src/main/java/org/bukkit/craftbukkit/event/CraftEventFactory.java +++ b/src/main/java/org/bukkit/craftbukkit/event/CraftEventFactory.java @@ -1048,7 +1048,7 @@ public class CraftEventFactory { diff --git a/patches/unapplied/server/0905-Expose-pre-collision-moving-velocity-to-VehicleBlock.patch b/patches/server/0903-Expose-pre-collision-moving-velocity-to-VehicleBlock.patch similarity index 83% rename from patches/unapplied/server/0905-Expose-pre-collision-moving-velocity-to-VehicleBlock.patch rename to patches/server/0903-Expose-pre-collision-moving-velocity-to-VehicleBlock.patch index 21fec49df9..d10e0424ef 100644 --- a/patches/unapplied/server/0905-Expose-pre-collision-moving-velocity-to-VehicleBlock.patch +++ b/patches/server/0903-Expose-pre-collision-moving-velocity-to-VehicleBlock.patch @@ -6,10 +6,10 @@ Subject: [PATCH] Expose pre-collision moving velocity to diff --git a/src/main/java/net/minecraft/world/entity/Entity.java b/src/main/java/net/minecraft/world/entity/Entity.java -index a71376b5c7a6e59eeac3a4e0b29cac69ed99f8f1..6e65b0291f215e1f0295854abffbe63b82117c0c 100644 +index a84811f050378840206f7c2c4591bcd0b948c8fa..133b9aca368959cbad3d87c5f4ab1cc447b66859 100644 --- a/src/main/java/net/minecraft/world/entity/Entity.java +++ b/src/main/java/net/minecraft/world/entity/Entity.java -@@ -1156,7 +1156,7 @@ public abstract class Entity implements Nameable, EntityAccess, CommandSource { +@@ -1161,7 +1161,7 @@ public abstract class Entity implements Nameable, EntityAccess, CommandSource, S } if (!bl.getType().isAir()) { diff --git a/patches/unapplied/server/0906-config-for-disabling-entity-tag-tags.patch b/patches/server/0904-config-for-disabling-entity-tag-tags.patch similarity index 89% rename from patches/unapplied/server/0906-config-for-disabling-entity-tag-tags.patch rename to patches/server/0904-config-for-disabling-entity-tag-tags.patch index acdda06756..e97b239097 100644 --- a/patches/unapplied/server/0906-config-for-disabling-entity-tag-tags.patch +++ b/patches/server/0904-config-for-disabling-entity-tag-tags.patch @@ -5,10 +5,10 @@ Subject: [PATCH] config for disabling entity tag tags diff --git a/src/main/java/net/minecraft/world/entity/EntityType.java b/src/main/java/net/minecraft/world/entity/EntityType.java -index e6cddde3e5b87d114cda5d4c6de5f71ee96e933d..73871f456a85bda1e51f54986d0e61fb629822e8 100644 +index e754a294645e1af9e39bde32dd1387cd54335e7e..940b8d0b89d7e55c938aefbe80ee71b0db3dacb8 100644 --- a/src/main/java/net/minecraft/world/entity/EntityType.java +++ b/src/main/java/net/minecraft/world/entity/EntityType.java -@@ -493,6 +493,13 @@ public class EntityType implements FeatureElement, EntityTypeT +@@ -497,6 +497,13 @@ public class EntityType implements FeatureElement, EntityTypeT if (world.isClientSide || !entity.onlyOpCanSetNbt() || player != null && minecraftserver.getPlayerList().isOp(player.getGameProfile())) { CompoundTag nbttagcompound1 = entity.saveWithoutId(new CompoundTag()); UUID uuid = entity.getUUID(); diff --git a/patches/unapplied/server/0907-Use-single-player-info-update-packet-on-join.patch b/patches/server/0905-Use-single-player-info-update-packet-on-join.patch similarity index 85% rename from patches/unapplied/server/0907-Use-single-player-info-update-packet-on-join.patch rename to patches/server/0905-Use-single-player-info-update-packet-on-join.patch index 42b8a145e8..74150e3040 100644 --- a/patches/unapplied/server/0907-Use-single-player-info-update-packet-on-join.patch +++ b/patches/server/0905-Use-single-player-info-update-packet-on-join.patch @@ -5,23 +5,23 @@ Subject: [PATCH] Use single player info update packet on join diff --git a/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java b/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java -index 5654bc0390f3c205bca3ea1f225eba1a39216005..4fae5949e1fabb387595a1e0449b0c0ec368f74e 100644 +index 40e69eaf83b7e18718fc347ea10766c27c345d1e..b5165fb442c1d292b20fe3cded2103e90a6147bf 100644 --- a/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java +++ b/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java -@@ -3416,7 +3416,7 @@ public class ServerGamePacketListenerImpl extends ServerCommonPacketListenerImpl +@@ -3424,7 +3424,7 @@ public class ServerGamePacketListenerImpl extends ServerCommonPacketListenerImpl this.signedMessageDecoder = session.createMessageDecoder(this.player.getUUID()); - this.chatMessageChain.append((executor) -> { + this.chatMessageChain.append(() -> { this.player.setChatSession(session); - this.server.getPlayerList().broadcastAll(new ClientboundPlayerInfoUpdatePacket(EnumSet.of(ClientboundPlayerInfoUpdatePacket.Action.INITIALIZE_CHAT), List.of(this.player))); + this.server.getPlayerList().broadcastAll(new ClientboundPlayerInfoUpdatePacket(EnumSet.of(ClientboundPlayerInfoUpdatePacket.Action.INITIALIZE_CHAT), List.of(this.player)), this.player); // Paper - return CompletableFuture.completedFuture((Object) null); }); } + diff --git a/src/main/java/net/minecraft/server/players/PlayerList.java b/src/main/java/net/minecraft/server/players/PlayerList.java -index fd0164d843c2c73d7eaddbaf72d2021ff94ca38c..12bb0c619762ca9fc080ae884ce29de477dbcdc2 100644 +index 53f9286d37215af55ab17c447327b13464c7a79d..a3f63e83f193acf6164ab1b099d5217afd043ddc 100644 --- a/src/main/java/net/minecraft/server/players/PlayerList.java +++ b/src/main/java/net/minecraft/server/players/PlayerList.java -@@ -360,6 +360,7 @@ public abstract class PlayerList { +@@ -358,6 +358,7 @@ public abstract class PlayerList { // CraftBukkit start - sendAll above replaced with this loop ClientboundPlayerInfoUpdatePacket packet = ClientboundPlayerInfoUpdatePacket.createPlayerInitializing(List.of(player)); @@ -29,7 +29,7 @@ index fd0164d843c2c73d7eaddbaf72d2021ff94ca38c..12bb0c619762ca9fc080ae884ce29de4 for (int i = 0; i < this.players.size(); ++i) { ServerPlayer entityplayer1 = (ServerPlayer) this.players.get(i); -@@ -367,12 +368,17 @@ public abstract class PlayerList { +@@ -365,12 +366,17 @@ public abstract class PlayerList { entityplayer1.connection.send(packet); } diff --git a/patches/unapplied/server/0908-Correctly-shrink-items-during-EntityResurrectEvent.patch b/patches/server/0906-Correctly-shrink-items-during-EntityResurrectEvent.patch similarity index 92% rename from patches/unapplied/server/0908-Correctly-shrink-items-during-EntityResurrectEvent.patch rename to patches/server/0906-Correctly-shrink-items-during-EntityResurrectEvent.patch index 7b2e2d63ae..a5fbba3317 100644 --- a/patches/unapplied/server/0908-Correctly-shrink-items-during-EntityResurrectEvent.patch +++ b/patches/server/0906-Correctly-shrink-items-during-EntityResurrectEvent.patch @@ -22,10 +22,10 @@ This patch corrects this behaviour by only shrinking the item if a totem of undying was found and the event was called uncancelled. diff --git a/src/main/java/net/minecraft/world/entity/LivingEntity.java b/src/main/java/net/minecraft/world/entity/LivingEntity.java -index e579d9cc70115a3fb3388adb309847faa1f9aaab..719f03fe96956c3fc34bbabdfa6c46bc6aca0bc1 100644 +index 58fdbdcc5de9f93230669d93778c4c1392e0a4cf..840f8dddc693263a08a965f8d3a6ccecaa53bee5 100644 --- a/src/main/java/net/minecraft/world/entity/LivingEntity.java +++ b/src/main/java/net/minecraft/world/entity/LivingEntity.java -@@ -1611,7 +1611,7 @@ public abstract class LivingEntity extends Entity implements Attackable { +@@ -1610,7 +1610,7 @@ public abstract class LivingEntity extends Entity implements Attackable { this.level().getCraftServer().getPluginManager().callEvent(event); if (!event.isCancelled()) { diff --git a/patches/unapplied/server/0909-Win-Screen-API.patch b/patches/server/0907-Win-Screen-API.patch similarity index 88% rename from patches/unapplied/server/0909-Win-Screen-API.patch rename to patches/server/0907-Win-Screen-API.patch index fc2f014086..2c9cf5e3f0 100644 --- a/patches/unapplied/server/0909-Win-Screen-API.patch +++ b/patches/server/0907-Win-Screen-API.patch @@ -7,10 +7,10 @@ Subject: [PATCH] Win Screen API public net.minecraft.server.level.ServerPlayer seenCredits diff --git a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java -index b2b50317569364504d51fd02442a30b75069e88a..e37affe585e207eeb1d69feabbfa99218e08022b 100644 +index 8bcb8e6aaeb245b118acad32d78e1c6704eb12f3..79d83a194084ffda06a0bbc29354911ef3ea1b28 100644 --- a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java +++ b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java -@@ -1221,6 +1221,25 @@ public class CraftPlayer extends CraftHumanEntity implements Player { +@@ -1228,6 +1228,25 @@ public class CraftPlayer extends CraftHumanEntity implements Player { this.getHandle().connection.send(packet); } diff --git a/patches/unapplied/server/0910-Remove-CraftItemStack-setAmount-null-assignment.patch b/patches/server/0908-Remove-CraftItemStack-setAmount-null-assignment.patch similarity index 93% rename from patches/unapplied/server/0910-Remove-CraftItemStack-setAmount-null-assignment.patch rename to patches/server/0908-Remove-CraftItemStack-setAmount-null-assignment.patch index 76965d3ef0..57ac3fc4a3 100644 --- a/patches/unapplied/server/0910-Remove-CraftItemStack-setAmount-null-assignment.patch +++ b/patches/server/0908-Remove-CraftItemStack-setAmount-null-assignment.patch @@ -16,7 +16,7 @@ with less than zero amounts, so this code doesn't create a problem with operations on the vanilla ItemStack. diff --git a/src/main/java/org/bukkit/craftbukkit/inventory/CraftItemStack.java b/src/main/java/org/bukkit/craftbukkit/inventory/CraftItemStack.java -index 5f8f601f5711f4e7aa3f3a6ca047fd75264d0d04..b758cf51923f9e227c287680287dc18525bed4a0 100644 +index 4dd17b98239edcd7cefd3533a40152e2348e747a..220ccd03d6f326b3747602e0e4e7ffee8173dc03 100644 --- a/src/main/java/org/bukkit/craftbukkit/inventory/CraftItemStack.java +++ b/src/main/java/org/bukkit/craftbukkit/inventory/CraftItemStack.java @@ -157,7 +157,7 @@ public final class CraftItemStack extends ItemStack { diff --git a/patches/unapplied/server/0911-Fix-force-opening-enchantment-tables.patch b/patches/server/0909-Fix-force-opening-enchantment-tables.patch similarity index 91% rename from patches/unapplied/server/0911-Fix-force-opening-enchantment-tables.patch rename to patches/server/0909-Fix-force-opening-enchantment-tables.patch index 7bdc01b518..4bc99d0580 100644 --- a/patches/unapplied/server/0911-Fix-force-opening-enchantment-tables.patch +++ b/patches/server/0909-Fix-force-opening-enchantment-tables.patch @@ -5,10 +5,10 @@ Subject: [PATCH] Fix force-opening enchantment tables diff --git a/src/main/java/org/bukkit/craftbukkit/entity/CraftHumanEntity.java b/src/main/java/org/bukkit/craftbukkit/entity/CraftHumanEntity.java -index 9531094aa2b551e5576b0af494cc141fd8cac007..e6326a7cefee568d7639cd3d0166910f8b965b80 100644 +index 1bfd3f66bf5f269685774b7cd75112ba3429c484..15b6f7cfd9d7dcabe4e69a017d6b22dd14584b99 100644 --- a/src/main/java/org/bukkit/craftbukkit/entity/CraftHumanEntity.java +++ b/src/main/java/org/bukkit/craftbukkit/entity/CraftHumanEntity.java -@@ -402,7 +402,18 @@ public class CraftHumanEntity extends CraftLivingEntity implements HumanEntity { +@@ -403,7 +403,18 @@ public class CraftHumanEntity extends CraftLivingEntity implements HumanEntity { // If there isn't an enchant table we can force create one, won't be very useful though. BlockPos pos = CraftLocation.toBlockPosition(location); diff --git a/patches/unapplied/server/0912-Add-Entity-Body-Yaw-API.patch b/patches/server/0910-Add-Entity-Body-Yaw-API.patch similarity index 86% rename from patches/unapplied/server/0912-Add-Entity-Body-Yaw-API.patch rename to patches/server/0910-Add-Entity-Body-Yaw-API.patch index 61b2d6dbdf..f368bd7003 100644 --- a/patches/unapplied/server/0912-Add-Entity-Body-Yaw-API.patch +++ b/patches/server/0910-Add-Entity-Body-Yaw-API.patch @@ -5,10 +5,10 @@ Subject: [PATCH] Add Entity Body Yaw API diff --git a/src/main/java/org/bukkit/craftbukkit/entity/CraftEntity.java b/src/main/java/org/bukkit/craftbukkit/entity/CraftEntity.java -index a42be7d446e7066b5451f58834901672c293a34b..f02b6803e1fe9f3a18e47cd7b5e6776eb6fe183a 100644 +index 908da9217c6553301c22ca0415924d2aebe993ef..fd2af6fefb990181a06de7864ea8a229c2a84bc4 100644 --- a/src/main/java/org/bukkit/craftbukkit/entity/CraftEntity.java +++ b/src/main/java/org/bukkit/craftbukkit/entity/CraftEntity.java -@@ -1450,6 +1450,31 @@ public abstract class CraftEntity implements org.bukkit.entity.Entity { +@@ -1494,6 +1494,31 @@ public abstract class CraftEntity implements org.bukkit.entity.Entity { public boolean isInPowderedSnow() { return getHandle().isInPowderSnow || getHandle().wasInPowderSnow; // depending on the location in the entity "tick" either could be needed. } @@ -41,10 +41,10 @@ index a42be7d446e7066b5451f58834901672c293a34b..f02b6803e1fe9f3a18e47cd7b5e6776e // Paper Start - Collision API @Override diff --git a/src/main/java/org/bukkit/craftbukkit/entity/CraftLivingEntity.java b/src/main/java/org/bukkit/craftbukkit/entity/CraftLivingEntity.java -index 4591d57052e2d0499d441efa13e8b43c606665b0..1ad5a4703f7164bb530262e1459dc73302cc8e48 100644 +index edb086d479f2485b3ec7a6fffe2c7e4a15f0c319..c7381ceae2d15738b72d6bb48ea7d40f7de11c3e 100644 --- a/src/main/java/org/bukkit/craftbukkit/entity/CraftLivingEntity.java +++ b/src/main/java/org/bukkit/craftbukkit/entity/CraftLivingEntity.java -@@ -1072,6 +1072,16 @@ public class CraftLivingEntity extends CraftEntity implements LivingEntity { +@@ -1077,6 +1077,16 @@ public class CraftLivingEntity extends CraftEntity implements LivingEntity { this.damageItemStack0(this.getHandle().getItemBySlot(nmsSlot), amount, nmsSlot); } diff --git a/patches/unapplied/server/0913-Fix-MC-157464-Prevent-sleeping-villagers-moving-towa.patch b/patches/server/0911-Fix-MC-157464-Prevent-sleeping-villagers-moving-towa.patch similarity index 100% rename from patches/unapplied/server/0913-Fix-MC-157464-Prevent-sleeping-villagers-moving-towa.patch rename to patches/server/0911-Fix-MC-157464-Prevent-sleeping-villagers-moving-towa.patch diff --git a/patches/unapplied/server/0914-Update-the-flag-when-a-captured-block-state-is-outda.patch b/patches/server/0912-Update-the-flag-when-a-captured-block-state-is-outda.patch similarity index 83% rename from patches/unapplied/server/0914-Update-the-flag-when-a-captured-block-state-is-outda.patch rename to patches/server/0912-Update-the-flag-when-a-captured-block-state-is-outda.patch index 9af995e790..cab62dd1c1 100644 --- a/patches/unapplied/server/0914-Update-the-flag-when-a-captured-block-state-is-outda.patch +++ b/patches/server/0912-Update-the-flag-when-a-captured-block-state-is-outda.patch @@ -5,10 +5,10 @@ Subject: [PATCH] Update the flag when a captured block state is outdated diff --git a/src/main/java/net/minecraft/world/level/Level.java b/src/main/java/net/minecraft/world/level/Level.java -index a28da797e3ea01eacb378f65da3cfc75cb6b1830..6942c0e42814b995971bbe9bd3bd396e121989dd 100644 +index d26216ad6395f6d74a7fa4d080f5edfd44605ae4..f45b5fccb994a0d333aec772461ff0580a28261b 100644 --- a/src/main/java/net/minecraft/world/level/Level.java +++ b/src/main/java/net/minecraft/world/level/Level.java -@@ -920,6 +920,7 @@ public abstract class Level implements LevelAccessor, AutoCloseable { +@@ -923,6 +923,7 @@ public abstract class Level implements LevelAccessor, AutoCloseable { blockstate = CapturedBlockState.getTreeBlockState(this, pos, flags); this.capturedBlockStates.put(pos.immutable(), blockstate); } diff --git a/patches/unapplied/server/0915-Add-EntityFertilizeEggEvent.patch b/patches/server/0913-Add-EntityFertilizeEggEvent.patch similarity index 92% rename from patches/unapplied/server/0915-Add-EntityFertilizeEggEvent.patch rename to patches/server/0913-Add-EntityFertilizeEggEvent.patch index 2e6f8c4c7b..be2678238a 100644 --- a/patches/unapplied/server/0915-Add-EntityFertilizeEggEvent.patch +++ b/patches/server/0913-Add-EntityFertilizeEggEvent.patch @@ -5,10 +5,10 @@ Subject: [PATCH] Add EntityFertilizeEggEvent diff --git a/src/main/java/net/minecraft/world/entity/animal/Turtle.java b/src/main/java/net/minecraft/world/entity/animal/Turtle.java -index 5f57f13d50e051c621e401b63c0b55b3a2a73fa3..490472bb618e9ac07da5883a71dff8920525b1e2 100644 +index f8c1dfc8e121a406955348a1ec00c264d73e73f7..d8056421249c8e75e96a55ec07dce84d2bba9c5c 100644 --- a/src/main/java/net/minecraft/world/entity/animal/Turtle.java +++ b/src/main/java/net/minecraft/world/entity/animal/Turtle.java -@@ -450,6 +450,10 @@ public class Turtle extends Animal { +@@ -445,6 +445,10 @@ public class Turtle extends Animal { if (entityplayer == null && this.partner.getLoveCause() != null) { entityplayer = this.partner.getLoveCause(); } @@ -19,7 +19,7 @@ index 5f57f13d50e051c621e401b63c0b55b3a2a73fa3..490472bb618e9ac07da5883a71dff892 if (entityplayer != null) { entityplayer.awardStat(Stats.ANIMALS_BRED); -@@ -464,7 +468,7 @@ public class Turtle extends Animal { +@@ -459,7 +463,7 @@ public class Turtle extends Animal { RandomSource randomsource = this.animal.getRandom(); if (this.level.getGameRules().getBoolean(GameRules.RULE_DOMOBLOOT)) { @@ -29,10 +29,10 @@ index 5f57f13d50e051c621e401b63c0b55b3a2a73fa3..490472bb618e9ac07da5883a71dff892 } diff --git a/src/main/java/net/minecraft/world/entity/animal/frog/Frog.java b/src/main/java/net/minecraft/world/entity/animal/frog/Frog.java -index 7d1e6427ab5f2dabe9072d092d733b0ff34e0b44..5000ebc5f19dee72a86360062b822aecd60beb47 100644 +index 90e4e0ec0c7b0ece23c4b53f5f12b1f24e1c18ad..295769d039f2a1e4f48912a60f9dbe267d8992c1 100644 --- a/src/main/java/net/minecraft/world/entity/animal/frog/Frog.java +++ b/src/main/java/net/minecraft/world/entity/animal/frog/Frog.java -@@ -244,7 +244,12 @@ public class Frog extends Animal implements VariantHolder { +@@ -239,7 +239,12 @@ public class Frog extends Animal implements VariantHolder { @Override public void spawnChildFromBreeding(ServerLevel world, Animal other) { @@ -69,10 +69,10 @@ index 36b3945832733b5ad66d25aa3a31335234d2acff..47a5125e44cea1ece84657cdb874807f this.playSound(SoundEvents.SNIFFER_EGG_PLOP, 1.0F, (this.random.nextFloat() - this.random.nextFloat()) * 0.2F + 0.5F); } // Paper diff --git a/src/main/java/org/bukkit/craftbukkit/event/CraftEventFactory.java b/src/main/java/org/bukkit/craftbukkit/event/CraftEventFactory.java -index bd3893f3ad3d8150c1b23ad01ccce3b1dcb25b1b..c6447735475075cad123428dbc6eece55a2a7d82 100644 +index 6b49ae3b64bc2b62996e5d82c8cf81c94c2e7578..4f4e58d900d6fa0e437acee0eb600ba4a9e842c4 100644 --- a/src/main/java/org/bukkit/craftbukkit/event/CraftEventFactory.java +++ b/src/main/java/org/bukkit/craftbukkit/event/CraftEventFactory.java -@@ -2096,4 +2096,29 @@ public class CraftEventFactory { +@@ -2095,4 +2095,29 @@ public class CraftEventFactory { return event.callEvent(); } // Paper end diff --git a/patches/unapplied/server/0916-Fix-HumanEntity-drop-not-updating-the-client-inv.patch b/patches/server/0914-Fix-HumanEntity-drop-not-updating-the-client-inv.patch similarity index 90% rename from patches/unapplied/server/0916-Fix-HumanEntity-drop-not-updating-the-client-inv.patch rename to patches/server/0914-Fix-HumanEntity-drop-not-updating-the-client-inv.patch index 1a7f1ab11a..543615dd57 100644 --- a/patches/unapplied/server/0916-Fix-HumanEntity-drop-not-updating-the-client-inv.patch +++ b/patches/server/0914-Fix-HumanEntity-drop-not-updating-the-client-inv.patch @@ -7,10 +7,10 @@ Subject: [PATCH] Fix HumanEntity#drop not updating the client inv public net.minecraft.server.level.ServerPlayer containerSynchronizer diff --git a/src/main/java/org/bukkit/craftbukkit/entity/CraftHumanEntity.java b/src/main/java/org/bukkit/craftbukkit/entity/CraftHumanEntity.java -index e6326a7cefee568d7639cd3d0166910f8b965b80..8a6095850cece3203eeae474dbf32090f698a32e 100644 +index 15b6f7cfd9d7dcabe4e69a017d6b22dd14584b99..c6b3bc218ac440cc66dee97c21b3db4ad86938be 100644 --- a/src/main/java/org/bukkit/craftbukkit/entity/CraftHumanEntity.java +++ b/src/main/java/org/bukkit/craftbukkit/entity/CraftHumanEntity.java -@@ -755,8 +755,15 @@ public class CraftHumanEntity extends CraftLivingEntity implements HumanEntity { +@@ -756,8 +756,15 @@ public class CraftHumanEntity extends CraftLivingEntity implements HumanEntity { // Paper end @Override public boolean dropItem(boolean dropAll) { diff --git a/patches/unapplied/server/0917-Add-CompostItemEvent-and-EntityCompostItemEvent.patch b/patches/server/0915-Add-CompostItemEvent-and-EntityCompostItemEvent.patch similarity index 90% rename from patches/unapplied/server/0917-Add-CompostItemEvent-and-EntityCompostItemEvent.patch rename to patches/server/0915-Add-CompostItemEvent-and-EntityCompostItemEvent.patch index 1291727de8..efa34d8b7c 100644 --- a/patches/unapplied/server/0917-Add-CompostItemEvent-and-EntityCompostItemEvent.patch +++ b/patches/server/0915-Add-CompostItemEvent-and-EntityCompostItemEvent.patch @@ -5,10 +5,10 @@ Subject: [PATCH] Add CompostItemEvent and EntityCompostItemEvent diff --git a/src/main/java/net/minecraft/world/level/block/ComposterBlock.java b/src/main/java/net/minecraft/world/level/block/ComposterBlock.java -index 38cb52d185e543c4df9eebfcd856df6fa80ba0ed..10d3912ef043eefdf89105332e29b0d2bf4a5539 100644 +index 413b307acaad5823b9e06f49fa2faf561f5f7b9a..de8b5cab7925c1c46478952ed2cb2bd40f9a9c48 100644 --- a/src/main/java/net/minecraft/world/level/block/ComposterBlock.java +++ b/src/main/java/net/minecraft/world/level/block/ComposterBlock.java -@@ -321,7 +321,21 @@ public class ComposterBlock extends Block implements WorldlyContainerHolder { +@@ -328,7 +328,21 @@ public class ComposterBlock extends Block implements WorldlyContainerHolder { int i = (Integer) iblockdata.getValue(ComposterBlock.LEVEL); float f = ComposterBlock.COMPOSTABLES.getFloat(itemstack.getItem()); @@ -31,7 +31,7 @@ index 38cb52d185e543c4df9eebfcd856df6fa80ba0ed..10d3912ef043eefdf89105332e29b0d2 return iblockdata; } else { int j = i + 1; -@@ -471,6 +485,11 @@ public class ComposterBlock extends Block implements WorldlyContainerHolder { +@@ -478,6 +492,11 @@ public class ComposterBlock extends Block implements WorldlyContainerHolder { this.changed = true; BlockState iblockdata = ComposterBlock.addItem((Entity) null, this.state, this.level, this.pos, itemstack); diff --git a/patches/unapplied/server/0918-Correctly-handle-ArmorStand-invisibility.patch b/patches/server/0916-Correctly-handle-ArmorStand-invisibility.patch similarity index 100% rename from patches/unapplied/server/0918-Correctly-handle-ArmorStand-invisibility.patch rename to patches/server/0916-Correctly-handle-ArmorStand-invisibility.patch diff --git a/patches/unapplied/server/0919-Fix-advancement-triggers-for-entity-damage.patch b/patches/server/0917-Fix-advancement-triggers-for-entity-damage.patch similarity index 93% rename from patches/unapplied/server/0919-Fix-advancement-triggers-for-entity-damage.patch rename to patches/server/0917-Fix-advancement-triggers-for-entity-damage.patch index c55eac7b90..a12dbbcc1a 100644 --- a/patches/unapplied/server/0919-Fix-advancement-triggers-for-entity-damage.patch +++ b/patches/server/0917-Fix-advancement-triggers-for-entity-damage.patch @@ -23,10 +23,10 @@ index f054d67a637b204de604fadc0d321f5c9816d808..fc5f1e1b445f0a55a35a31d58a90920a return !this.getResponse(); diff --git a/src/main/java/net/minecraft/world/entity/LivingEntity.java b/src/main/java/net/minecraft/world/entity/LivingEntity.java -index 719f03fe96956c3fc34bbabdfa6c46bc6aca0bc1..371f6d2539eac7161a86bb64763b4ee228eccbdf 100644 +index 840f8dddc693263a08a965f8d3a6ccecaa53bee5..f359f63ac8cf3133b63096dad4e3142c6c4b1cbf 100644 --- a/src/main/java/net/minecraft/world/entity/LivingEntity.java +++ b/src/main/java/net/minecraft/world/entity/LivingEntity.java -@@ -2304,7 +2304,7 @@ public abstract class LivingEntity extends Entity implements Attackable { +@@ -2301,7 +2301,7 @@ public abstract class LivingEntity extends Entity implements Attackable { // Duplicate triggers if blocking if (event.getDamage(DamageModifier.BLOCKING) < 0) { if (this instanceof ServerPlayer) { @@ -35,7 +35,7 @@ index 719f03fe96956c3fc34bbabdfa6c46bc6aca0bc1..371f6d2539eac7161a86bb64763b4ee2 f2 = (float) -event.getDamage(DamageModifier.BLOCKING); if (f2 > 0.0F && f2 < 3.4028235E37F) { ((ServerPlayer) this).awardStat(Stats.DAMAGE_BLOCKED_BY_SHIELD, Math.round(originalDamage * 10.0F)); -@@ -2312,7 +2312,7 @@ public abstract class LivingEntity extends Entity implements Attackable { +@@ -2309,7 +2309,7 @@ public abstract class LivingEntity extends Entity implements Attackable { } if (damagesource.getEntity() instanceof ServerPlayer) { diff --git a/patches/unapplied/server/0920-Fix-text-display-error-on-spawn.patch b/patches/server/0918-Fix-text-display-error-on-spawn.patch similarity index 88% rename from patches/unapplied/server/0920-Fix-text-display-error-on-spawn.patch rename to patches/server/0918-Fix-text-display-error-on-spawn.patch index 43191b58fb..359b41bd67 100644 --- a/patches/unapplied/server/0920-Fix-text-display-error-on-spawn.patch +++ b/patches/server/0918-Fix-text-display-error-on-spawn.patch @@ -5,10 +5,10 @@ Subject: [PATCH] Fix text display error on spawn diff --git a/src/main/java/net/minecraft/world/entity/Display.java b/src/main/java/net/minecraft/world/entity/Display.java -index 355800fe33a24b47379a14139711459a54e90c5a..ec4325b90b5707e97927b95064ef4dd840b2a538 100644 +index dcbaa06f807ba3c1b64c96b3c2dd84d46d6be751..58de4a3ff0b5494fa576a902f33de4cd38b9c7be 100644 --- a/src/main/java/net/minecraft/world/entity/Display.java +++ b/src/main/java/net/minecraft/world/entity/Display.java -@@ -862,7 +862,7 @@ public abstract class Display extends Entity { +@@ -864,7 +864,7 @@ public abstract class Display extends Entity { byte b = loadFlag((byte)0, nbt, "shadow", (byte)1); b = loadFlag(b, nbt, "see_through", (byte)2); b = loadFlag(b, nbt, "default_background", (byte)4); diff --git a/patches/unapplied/server/0921-Fix-certain-inventories-returning-null-Locations.patch b/patches/server/0919-Fix-certain-inventories-returning-null-Locations.patch similarity index 96% rename from patches/unapplied/server/0921-Fix-certain-inventories-returning-null-Locations.patch rename to patches/server/0919-Fix-certain-inventories-returning-null-Locations.patch index c5b7ef9a42..47b96132fa 100644 --- a/patches/unapplied/server/0921-Fix-certain-inventories-returning-null-Locations.patch +++ b/patches/server/0919-Fix-certain-inventories-returning-null-Locations.patch @@ -9,7 +9,7 @@ when a block or entity location is readily available Co-authored-by: Lukas Planz diff --git a/src/main/java/net/minecraft/world/SimpleContainer.java b/src/main/java/net/minecraft/world/SimpleContainer.java -index e938e46a142f3764f8224a1fd035e7d541b59c56..9d1ee40456a8d7001eee654a62e62cab2626305a 100644 +index d5eeb2fcb119b815213aeffb3811d4a843502e50..061e870e0cdd5bf00351b7e8104361bce86809f3 100644 --- a/src/main/java/net/minecraft/world/SimpleContainer.java +++ b/src/main/java/net/minecraft/world/SimpleContainer.java @@ -63,6 +63,16 @@ public class SimpleContainer implements Container, StackedContentsCompatible { diff --git a/patches/unapplied/server/0922-Add-Shearable-API.patch b/patches/server/0920-Add-Shearable-API.patch similarity index 100% rename from patches/unapplied/server/0922-Add-Shearable-API.patch rename to patches/server/0920-Add-Shearable-API.patch diff --git a/patches/unapplied/server/0923-Fix-SpawnEggMeta-get-setSpawnedType.patch b/patches/server/0921-Fix-SpawnEggMeta-get-setSpawnedType.patch similarity index 85% rename from patches/unapplied/server/0923-Fix-SpawnEggMeta-get-setSpawnedType.patch rename to patches/server/0921-Fix-SpawnEggMeta-get-setSpawnedType.patch index 6a85431dfa..682696f502 100644 --- a/patches/unapplied/server/0923-Fix-SpawnEggMeta-get-setSpawnedType.patch +++ b/patches/server/0921-Fix-SpawnEggMeta-get-setSpawnedType.patch @@ -5,13 +5,13 @@ Subject: [PATCH] Fix SpawnEggMeta#get/setSpawnedType diff --git a/src/main/java/org/bukkit/craftbukkit/inventory/CraftMetaSpawnEgg.java b/src/main/java/org/bukkit/craftbukkit/inventory/CraftMetaSpawnEgg.java -index f4ae4f7b927679c58322f0ec582bb9a5f6c236ec..18b9dcdc2b4bfacd4705085c947a5204a7a3cca3 100644 +index 50a5321a59895739d3d42f2d06ac9d1b43480cfa..7ff690f386b7fb9e090c86a28f649119505af7b9 100644 --- a/src/main/java/org/bukkit/craftbukkit/inventory/CraftMetaSpawnEgg.java +++ b/src/main/java/org/bukkit/craftbukkit/inventory/CraftMetaSpawnEgg.java -@@ -216,6 +216,31 @@ public class CraftMetaSpawnEgg extends CraftMetaItem implements SpawnEggMeta { +@@ -219,6 +219,30 @@ public class CraftMetaSpawnEgg extends CraftMetaItem implements SpawnEggMeta { + public void setSpawnedType(EntityType type) { throw new UnsupportedOperationException("Must change item type to set spawned type"); } - + // Paper start + @Override + public EntityType getCustomSpawnedType() { @@ -36,7 +36,6 @@ index f4ae4f7b927679c58322f0ec582bb9a5f6c236ec..18b9dcdc2b4bfacd4705085c947a5204 + } + } + // Paper end -+ + @Override - boolean equalsCommon(CraftMetaItem meta) { - if (!super.equalsCommon(meta)) { + public EntitySnapshot getSpawnedEntity() { diff --git a/patches/unapplied/server/0924-Optimize-Hoppers.patch b/patches/server/0922-Optimize-Hoppers.patch similarity index 98% rename from patches/unapplied/server/0924-Optimize-Hoppers.patch rename to patches/server/0922-Optimize-Hoppers.patch index 82b7c42ec0..ab1d2d8d01 100644 --- a/patches/unapplied/server/0924-Optimize-Hoppers.patch +++ b/patches/server/0922-Optimize-Hoppers.patch @@ -50,10 +50,10 @@ index 0000000000000000000000000000000000000000..5c42823726e70ce6c9d0121d07431548 + } +} diff --git a/src/main/java/net/minecraft/server/MinecraftServer.java b/src/main/java/net/minecraft/server/MinecraftServer.java -index ebc35224004375b77039342926876a408995b04d..9fff00b3706a97ba71a80f2ba39577b229325e02 100644 +index 92468b925a742b8e4ab741c39677fb3656f8481b..69f21266bb0a7c42ba4e12b71acf12a4ee99bd1a 100644 --- a/src/main/java/net/minecraft/server/MinecraftServer.java +++ b/src/main/java/net/minecraft/server/MinecraftServer.java -@@ -1509,6 +1509,7 @@ public abstract class MinecraftServer extends ReentrantBlockableEventLoop 0; // Paper @@ -62,10 +62,10 @@ index ebc35224004375b77039342926876a408995b04d..9fff00b3706a97ba71a80f2ba39577b2 this.profiler.push(() -> { diff --git a/src/main/java/net/minecraft/world/item/ItemStack.java b/src/main/java/net/minecraft/world/item/ItemStack.java -index f83c60f94d6eeec50aefa59a39f6230953fe5b7e..e0e80f94a005fb21cce76059f66cf4c7ee0f2bfc 100644 +index 784fa09e7bba8b4997960f4804b90d38aaa0f247..dac6a4c3715b8b85180bffad8495247fa56d4650 100644 --- a/src/main/java/net/minecraft/world/item/ItemStack.java +++ b/src/main/java/net/minecraft/world/item/ItemStack.java -@@ -728,10 +728,16 @@ public final class ItemStack { +@@ -749,10 +749,16 @@ public final class ItemStack { } public ItemStack copy() { @@ -723,10 +723,10 @@ index f98367830e87d5f1428448931f756d9277699563..d4dcf7fe26474ae07374e7761d823bc5 @Override diff --git a/src/main/java/net/minecraft/world/level/block/entity/RandomizableContainerBlockEntity.java b/src/main/java/net/minecraft/world/level/block/entity/RandomizableContainerBlockEntity.java -index e11618247ad889fa8fadbb2c7addd0de94caf249..081691f9710ff1115e4308f79ed49fbc38941193 100644 +index a7c9301cfb3e15ebea9b3ca23ce97a936f0e351c..720fc332431f53999023ddba5b143f3e629ed1ae 100644 --- a/src/main/java/net/minecraft/world/level/block/entity/RandomizableContainerBlockEntity.java +++ b/src/main/java/net/minecraft/world/level/block/entity/RandomizableContainerBlockEntity.java -@@ -95,12 +95,19 @@ public abstract class RandomizableContainerBlockEntity extends BaseContainerBloc +@@ -47,12 +47,19 @@ public abstract class RandomizableContainerBlockEntity extends BaseContainerBloc @Override public boolean isEmpty() { this.unpackLootTable((Player)null); diff --git a/patches/unapplied/server/0925-Fix-beehives-generating-from-using-bonemeal.patch b/patches/server/0923-Fix-beehives-generating-from-using-bonemeal.patch similarity index 93% rename from patches/unapplied/server/0925-Fix-beehives-generating-from-using-bonemeal.patch rename to patches/server/0923-Fix-beehives-generating-from-using-bonemeal.patch index ebf4eed61e..ff3d54d587 100644 --- a/patches/unapplied/server/0925-Fix-beehives-generating-from-using-bonemeal.patch +++ b/patches/server/0923-Fix-beehives-generating-from-using-bonemeal.patch @@ -5,10 +5,10 @@ Subject: [PATCH] Fix beehives generating from using bonemeal diff --git a/src/main/java/net/minecraft/world/item/ItemStack.java b/src/main/java/net/minecraft/world/item/ItemStack.java -index e0e80f94a005fb21cce76059f66cf4c7ee0f2bfc..c73b57ffd622ccc2e6c570cf874ed118108b899b 100644 +index dac6a4c3715b8b85180bffad8495247fa56d4650..cf10350530683c2294e4892ac7239559f0aa4c32 100644 --- a/src/main/java/net/minecraft/world/item/ItemStack.java +++ b/src/main/java/net/minecraft/world/item/ItemStack.java -@@ -401,6 +401,7 @@ public final class ItemStack { +@@ -422,6 +422,7 @@ public final class ItemStack { } for (CraftBlockState blockstate : blocks) { world.setBlock(blockstate.getPosition(),blockstate.getHandle(), blockstate.getFlag()); // SPIGOT-7248 - manual update to avoid physics where appropriate diff --git a/patches/unapplied/server/0926-Fix-crash-relating-to-bad-recipes-in-furnace-like-ti.patch b/patches/server/0924-Fix-crash-relating-to-bad-recipes-in-furnace-like-ti.patch similarity index 100% rename from patches/unapplied/server/0926-Fix-crash-relating-to-bad-recipes-in-furnace-like-ti.patch rename to patches/server/0924-Fix-crash-relating-to-bad-recipes-in-furnace-like-ti.patch diff --git a/patches/unapplied/server/0927-Treat-sequence-violations-like-they-should-be.patch b/patches/server/0925-Treat-sequence-violations-like-they-should-be.patch similarity index 86% rename from patches/unapplied/server/0927-Treat-sequence-violations-like-they-should-be.patch rename to patches/server/0925-Treat-sequence-violations-like-they-should-be.patch index 8dc7f3c4f3..dd36787406 100644 --- a/patches/unapplied/server/0927-Treat-sequence-violations-like-they-should-be.patch +++ b/patches/server/0925-Treat-sequence-violations-like-they-should-be.patch @@ -5,10 +5,10 @@ Subject: [PATCH] Treat sequence violations like they should be diff --git a/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java b/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java -index 4fae5949e1fabb387595a1e0449b0c0ec368f74e..bb0d66c30903ee0601bd3327e82744a2fb5aceb4 100644 +index b5165fb442c1d292b20fe3cded2103e90a6147bf..0e60bab1166d50d18940cab2bb68963324901279 100644 --- a/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java +++ b/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java -@@ -2012,6 +2012,7 @@ public class ServerGamePacketListenerImpl extends ServerCommonPacketListenerImpl +@@ -2039,6 +2039,7 @@ public class ServerGamePacketListenerImpl extends ServerCommonPacketListenerImpl public void ackBlockChangesUpTo(int sequence) { if (sequence < 0) { diff --git a/patches/unapplied/server/0928-remove-duplicate-animate-packet-for-records.patch b/patches/server/0926-remove-duplicate-animate-packet-for-records.patch similarity index 91% rename from patches/unapplied/server/0928-remove-duplicate-animate-packet-for-records.patch rename to patches/server/0926-remove-duplicate-animate-packet-for-records.patch index 0958982027..9254f5b8cf 100644 --- a/patches/unapplied/server/0928-remove-duplicate-animate-packet-for-records.patch +++ b/patches/server/0926-remove-duplicate-animate-packet-for-records.patch @@ -5,7 +5,7 @@ Subject: [PATCH] remove duplicate animate packet for records diff --git a/src/main/java/net/minecraft/world/item/RecordItem.java b/src/main/java/net/minecraft/world/item/RecordItem.java -index af6d00adfe9b528f9854fbed174f7ae1f44522a6..a088111762fd36d4e6a8303e964b06c610590b44 100644 +index eca08037fd2742e6e969f91367a0ae053f61a23b..d2ea1b1ea4ac37af09985e1c9da14049c262df7a 100644 --- a/src/main/java/net/minecraft/world/item/RecordItem.java +++ b/src/main/java/net/minecraft/world/item/RecordItem.java @@ -46,7 +46,7 @@ public class RecordItem extends Item { diff --git a/patches/unapplied/server/0929-Prevent-causing-expired-keys-from-impacting-new-join.patch b/patches/server/0927-Prevent-causing-expired-keys-from-impacting-new-join.patch similarity index 81% rename from patches/unapplied/server/0929-Prevent-causing-expired-keys-from-impacting-new-join.patch rename to patches/server/0927-Prevent-causing-expired-keys-from-impacting-new-join.patch index a5c7f14af4..724f4990a3 100644 --- a/patches/unapplied/server/0929-Prevent-causing-expired-keys-from-impacting-new-join.patch +++ b/patches/server/0927-Prevent-causing-expired-keys-from-impacting-new-join.patch @@ -5,7 +5,7 @@ Subject: [PATCH] Prevent causing expired keys from impacting new joins diff --git a/src/main/java/net/minecraft/network/protocol/game/ClientboundPlayerInfoUpdatePacket.java b/src/main/java/net/minecraft/network/protocol/game/ClientboundPlayerInfoUpdatePacket.java -index 40ac5cf19934207f06755fbea02d4626d7aa0511..32e3f347e2e025e2675e9410116386e472bd6a79 100644 +index 0e54e8faa48751a651b953bec72543a94edf74bc..aa1c6de4d6cb7bbca33d25895c54707d220ab62a 100644 --- a/src/main/java/net/minecraft/network/protocol/game/ClientboundPlayerInfoUpdatePacket.java +++ b/src/main/java/net/minecraft/network/protocol/game/ClientboundPlayerInfoUpdatePacket.java @@ -96,7 +96,13 @@ public class ClientboundPlayerInfoUpdatePacket implements Packet { serialized.gameMode = GameType.byId(buf.readVarInt()); diff --git a/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java b/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java -index bb0d66c30903ee0601bd3327e82744a2fb5aceb4..dc50f0c4514cc239a4639a03e4edbda5c258b867 100644 +index 0e60bab1166d50d18940cab2bb68963324901279..28c61453d37132f9bab143202b7d59d368020f6a 100644 --- a/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java +++ b/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java -@@ -284,6 +284,7 @@ public class ServerGamePacketListenerImpl extends ServerCommonPacketListenerImpl - private final AtomicReference lastChatTimeStamp; +@@ -287,6 +287,7 @@ public class ServerGamePacketListenerImpl extends ServerCommonPacketListenerImpl + private int knownMovePacketCount; @Nullable private RemoteChatSession chatSession; + private boolean hasLoggedExpiry = false; // Paper private SignedMessageChain.Decoder signedMessageDecoder; - private final LastSeenMessagesValidator lastSeenMessages; - private final MessageSignatureCache messageSignatureCache; -@@ -393,6 +394,13 @@ public class ServerGamePacketListenerImpl extends ServerCommonPacketListenerImpl + private final LastSeenMessagesValidator lastSeenMessages = new LastSeenMessagesValidator(20); + private final MessageSignatureCache messageSignatureCache = MessageSignatureCache.createDefault(); +@@ -396,6 +397,13 @@ public class ServerGamePacketListenerImpl extends ServerCommonPacketListenerImpl this.disconnect(Component.translatable("multiplayer.disconnect.idling"), org.bukkit.event.player.PlayerKickEvent.Cause.IDLING); // Paper - kick event cause } @@ -49,11 +49,11 @@ index bb0d66c30903ee0601bd3327e82744a2fb5aceb4..dc50f0c4514cc239a4639a03e4edbda5 } public void resetPosition() { -@@ -3414,6 +3422,7 @@ public class ServerGamePacketListenerImpl extends ServerCommonPacketListenerImpl +@@ -3422,6 +3430,7 @@ public class ServerGamePacketListenerImpl extends ServerCommonPacketListenerImpl private void resetPlayerChatState(RemoteChatSession session) { this.chatSession = session; + this.hasLoggedExpiry = false; // Paper this.signedMessageDecoder = session.createMessageDecoder(this.player.getUUID()); - this.chatMessageChain.append((executor) -> { + this.chatMessageChain.append(() -> { this.player.setChatSession(session); diff --git a/patches/unapplied/server/0930-Prevent-GameEvents-being-fired-from-unloaded-chunks.patch b/patches/server/0928-Prevent-GameEvents-being-fired-from-unloaded-chunks.patch similarity index 84% rename from patches/unapplied/server/0930-Prevent-GameEvents-being-fired-from-unloaded-chunks.patch rename to patches/server/0928-Prevent-GameEvents-being-fired-from-unloaded-chunks.patch index 5e05bf1713..ae18dbdcf7 100644 --- a/patches/unapplied/server/0930-Prevent-GameEvents-being-fired-from-unloaded-chunks.patch +++ b/patches/server/0928-Prevent-GameEvents-being-fired-from-unloaded-chunks.patch @@ -5,10 +5,10 @@ Subject: [PATCH] Prevent GameEvents being fired from unloaded chunks diff --git a/src/main/java/net/minecraft/server/level/ServerLevel.java b/src/main/java/net/minecraft/server/level/ServerLevel.java -index 2ef86ad041d496f2d04b163fde1fa277b990b85e..deebfe66d9c0f799043c3458a0108dc18bfdf15f 100644 +index 56f1bbeaab24975b76026ebb5a4c73b62635c730..b0576234320042b0c9c1f326671b76fa3a2a6915 100644 --- a/src/main/java/net/minecraft/server/level/ServerLevel.java +++ b/src/main/java/net/minecraft/server/level/ServerLevel.java -@@ -1696,6 +1696,11 @@ public class ServerLevel extends Level implements WorldGenLevel { +@@ -1720,6 +1720,11 @@ public class ServerLevel extends Level implements WorldGenLevel { @Override public void gameEvent(GameEvent event, Vec3 emitterPos, GameEvent.Context emitter) { diff --git a/patches/unapplied/server/0931-Use-array-for-gamerule-storage.patch b/patches/server/0929-Use-array-for-gamerule-storage.patch similarity index 92% rename from patches/unapplied/server/0931-Use-array-for-gamerule-storage.patch rename to patches/server/0929-Use-array-for-gamerule-storage.patch index 5c50da11c5..6750b6a93a 100644 --- a/patches/unapplied/server/0931-Use-array-for-gamerule-storage.patch +++ b/patches/server/0929-Use-array-for-gamerule-storage.patch @@ -5,10 +5,10 @@ Subject: [PATCH] Use array for gamerule storage diff --git a/src/main/java/net/minecraft/world/level/GameRules.java b/src/main/java/net/minecraft/world/level/GameRules.java -index 1a72fc5368731be617f9cab72e9e756d5b2a27ee..6639902efb85b4f49f26ba5f90556fb871ef8a0e 100644 +index 6c1af24f2f02ef5fe1be135b4071362f2297147a..4f2fa47d094348bb8f86a86e808019ddba56e187 100644 --- a/src/main/java/net/minecraft/world/level/GameRules.java +++ b/src/main/java/net/minecraft/world/level/GameRules.java -@@ -110,6 +110,7 @@ public class GameRules { +@@ -114,6 +114,7 @@ public class GameRules { public static final GameRules.Key RULE_DO_VINES_SPREAD = GameRules.register("doVinesSpread", GameRules.Category.UPDATES, GameRules.BooleanValue.create(true)); public static final GameRules.Key RULE_ENDER_PEARLS_VANISH_ON_DEATH = GameRules.register("enderPearlsVanishOnDeath", GameRules.Category.PLAYER, GameRules.BooleanValue.create(true)); private final Map, GameRules.Value> rules; @@ -16,7 +16,7 @@ index 1a72fc5368731be617f9cab72e9e756d5b2a27ee..6639902efb85b4f49f26ba5f90556fb8 private static > GameRules.Key register(String name, GameRules.Category category, GameRules.Type type) { GameRules.Key gamerules_gamerulekey = new GameRules.Key<>(name, category); -@@ -128,17 +129,30 @@ public class GameRules { +@@ -132,17 +133,30 @@ public class GameRules { } public GameRules() { @@ -50,7 +50,7 @@ index 1a72fc5368731be617f9cab72e9e756d5b2a27ee..6639902efb85b4f49f26ba5f90556fb8 } public CompoundTag createTag() { -@@ -197,6 +211,10 @@ public class GameRules { +@@ -201,6 +215,10 @@ public class GameRules { } public static final class Key> { diff --git a/patches/unapplied/server/0932-Fix-a-couple-of-upstream-bed-issues.patch b/patches/server/0930-Fix-a-couple-of-upstream-bed-issues.patch similarity index 87% rename from patches/unapplied/server/0932-Fix-a-couple-of-upstream-bed-issues.patch rename to patches/server/0930-Fix-a-couple-of-upstream-bed-issues.patch index f4a4393fa2..6f14d13eb0 100644 --- a/patches/unapplied/server/0932-Fix-a-couple-of-upstream-bed-issues.patch +++ b/patches/server/0930-Fix-a-couple-of-upstream-bed-issues.patch @@ -10,10 +10,10 @@ but then replaced it with a bed, you could respawn at the bed in that world. diff --git a/src/main/java/net/minecraft/world/level/block/BedBlock.java b/src/main/java/net/minecraft/world/level/block/BedBlock.java -index 69839965926c511b6396a0041b6e7295ebf5209b..d40500f9a807cab0b2fb6fa9032f33f4fb74c895 100644 +index 2deb0d861a5f66d177068f37dd56da5cf692633e..04b1aa22ac1df39d274f27d9c93e0492a8a673f8 100644 --- a/src/main/java/net/minecraft/world/level/block/BedBlock.java +++ b/src/main/java/net/minecraft/world/level/block/BedBlock.java -@@ -99,6 +99,7 @@ public class BedBlock extends HorizontalDirectionalBlock implements EntityBlock +@@ -109,6 +109,7 @@ public class BedBlock extends HorizontalDirectionalBlock implements EntityBlock world.explode((Entity) null, world.damageSources().badRespawnPointExplosion(vec3d, explodedBlockState), (ExplosionDamageCalculator) null, vec3d, 5.0F, true, Level.ExplosionInteraction.BLOCK); return InteractionResult.SUCCESS; } else if ((Boolean) state.getValue(BedBlock.OCCUPIED)) { @@ -21,7 +21,7 @@ index 69839965926c511b6396a0041b6e7295ebf5209b..d40500f9a807cab0b2fb6fa9032f33f4 if (!this.kickVillagerOutOfBed(world, pos)) { player.displayClientMessage(Component.translatable("block.minecraft.bed.occupied"), true); } -@@ -156,8 +157,7 @@ public class BedBlock extends HorizontalDirectionalBlock implements EntityBlock +@@ -166,8 +167,7 @@ public class BedBlock extends HorizontalDirectionalBlock implements EntityBlock // CraftBukkit end public static boolean canSetSpawn(Level world) { diff --git a/patches/unapplied/server/0933-Fix-demo-flag-not-enabling-demo-mode.patch b/patches/server/0931-Fix-demo-flag-not-enabling-demo-mode.patch similarity index 88% rename from patches/unapplied/server/0933-Fix-demo-flag-not-enabling-demo-mode.patch rename to patches/server/0931-Fix-demo-flag-not-enabling-demo-mode.patch index 1c9d5aefe4..7810e020e8 100644 --- a/patches/unapplied/server/0933-Fix-demo-flag-not-enabling-demo-mode.patch +++ b/patches/server/0931-Fix-demo-flag-not-enabling-demo-mode.patch @@ -6,10 +6,10 @@ Subject: [PATCH] Fix demo flag not enabling demo mode https://github.com/PaperMC/Paper/issues/9046 diff --git a/src/main/java/net/minecraft/server/Main.java b/src/main/java/net/minecraft/server/Main.java -index ae0e39461e416cecd8e6904cb2fa69ad55a510e1..ec268189b19b6fa5c4521f96ce211a531db35ec5 100644 +index 4a451d6d5b11f10db9c583823c4d742f4a69970c..7573c12a77797146c51ef2dfe4b2a636df45e21a 100644 --- a/src/main/java/net/minecraft/server/Main.java +++ b/src/main/java/net/minecraft/server/Main.java -@@ -308,7 +308,9 @@ public class Main { +@@ -333,7 +333,9 @@ public class Main { /* dedicatedserver1.setPort((Integer) optionset.valueOf(optionspec10)); diff --git a/patches/unapplied/server/0934-Add-Mob-Experience-reward-API.patch b/patches/server/0932-Add-Mob-Experience-reward-API.patch similarity index 100% rename from patches/unapplied/server/0934-Add-Mob-Experience-reward-API.patch rename to patches/server/0932-Add-Mob-Experience-reward-API.patch diff --git a/patches/unapplied/server/0935-Break-redstone-on-top-of-trap-doors-early.patch b/patches/server/0933-Break-redstone-on-top-of-trap-doors-early.patch similarity index 94% rename from patches/unapplied/server/0935-Break-redstone-on-top-of-trap-doors-early.patch rename to patches/server/0933-Break-redstone-on-top-of-trap-doors-early.patch index ff295ff960..905055e24f 100644 --- a/patches/unapplied/server/0935-Break-redstone-on-top-of-trap-doors-early.patch +++ b/patches/server/0933-Break-redstone-on-top-of-trap-doors-early.patch @@ -7,10 +7,10 @@ This logic hooks into the neighbour update which should be invoked as a result of redstone powering the trap door. diff --git a/src/main/java/net/minecraft/world/level/block/TrapDoorBlock.java b/src/main/java/net/minecraft/world/level/block/TrapDoorBlock.java -index 761bbb448acf1c3bf03d728f1a285b89963e61e1..d2f3af70449b0b24734433533167cae444ec4bde 100644 +index 98566a0d8776bd460abc28d56c5df7d6b7ff0506..ab5d25e2e1e86804c91885739c4f86770c40143c 100644 --- a/src/main/java/net/minecraft/world/level/block/TrapDoorBlock.java +++ b/src/main/java/net/minecraft/world/level/block/TrapDoorBlock.java -@@ -124,7 +124,26 @@ public class TrapDoorBlock extends HorizontalDirectionalBlock implements SimpleW +@@ -153,7 +153,26 @@ public class TrapDoorBlock extends HorizontalDirectionalBlock implements SimpleW flag1 = eventRedstone.getNewCurrent() > 0; } // CraftBukkit end diff --git a/patches/unapplied/server/0936-Fix-DamageCause-for-Falling-Blocks.patch b/patches/server/0934-Fix-DamageCause-for-Falling-Blocks.patch similarity index 92% rename from patches/unapplied/server/0936-Fix-DamageCause-for-Falling-Blocks.patch rename to patches/server/0934-Fix-DamageCause-for-Falling-Blocks.patch index 1c7d33b3e0..dd2af9d821 100644 --- a/patches/unapplied/server/0936-Fix-DamageCause-for-Falling-Blocks.patch +++ b/patches/server/0934-Fix-DamageCause-for-Falling-Blocks.patch @@ -5,7 +5,7 @@ Subject: [PATCH] Fix DamageCause for Falling Blocks diff --git a/src/main/java/org/bukkit/craftbukkit/event/CraftEventFactory.java b/src/main/java/org/bukkit/craftbukkit/event/CraftEventFactory.java -index c6447735475075cad123428dbc6eece55a2a7d82..975e288911779f2acc943acf32eeecd306f10dde 100644 +index 4f4e58d900d6fa0e437acee0eb600ba4a9e842c4..cb2c5c54668cc83e2b0019462be89a1928924b4b 100644 --- a/src/main/java/org/bukkit/craftbukkit/event/CraftEventFactory.java +++ b/src/main/java/org/bukkit/craftbukkit/event/CraftEventFactory.java @@ -1088,6 +1088,11 @@ public class CraftEventFactory { diff --git a/patches/unapplied/server/0937-Avoid-Lazy-Initialization-for-Enum-Fields.patch b/patches/server/0935-Avoid-Lazy-Initialization-for-Enum-Fields.patch similarity index 100% rename from patches/unapplied/server/0937-Avoid-Lazy-Initialization-for-Enum-Fields.patch rename to patches/server/0935-Avoid-Lazy-Initialization-for-Enum-Fields.patch diff --git a/patches/unapplied/server/0938-More-accurate-isInOpenWater-impl.patch b/patches/server/0936-More-accurate-isInOpenWater-impl.patch similarity index 100% rename from patches/unapplied/server/0938-More-accurate-isInOpenWater-impl.patch rename to patches/server/0936-More-accurate-isInOpenWater-impl.patch diff --git a/patches/unapplied/server/0939-Fix-concurrenct-access-to-lookups-field-in-RegistryO.patch b/patches/server/0937-Fix-concurrenct-access-to-lookups-field-in-RegistryO.patch similarity index 100% rename from patches/unapplied/server/0939-Fix-concurrenct-access-to-lookups-field-in-RegistryO.patch rename to patches/server/0937-Fix-concurrenct-access-to-lookups-field-in-RegistryO.patch diff --git a/patches/unapplied/server/0940-Optimise-recalcBlockCounts-for-empty-sections.patch b/patches/server/0938-Optimise-recalcBlockCounts-for-empty-sections.patch similarity index 100% rename from patches/unapplied/server/0940-Optimise-recalcBlockCounts-for-empty-sections.patch rename to patches/server/0938-Optimise-recalcBlockCounts-for-empty-sections.patch diff --git a/patches/unapplied/server/0941-Expand-PlayerItemMendEvent.patch b/patches/server/0939-Expand-PlayerItemMendEvent.patch similarity index 91% rename from patches/unapplied/server/0941-Expand-PlayerItemMendEvent.patch rename to patches/server/0939-Expand-PlayerItemMendEvent.patch index 58b7e2c215..240c65570c 100644 --- a/patches/unapplied/server/0941-Expand-PlayerItemMendEvent.patch +++ b/patches/server/0939-Expand-PlayerItemMendEvent.patch @@ -5,12 +5,12 @@ Subject: [PATCH] Expand PlayerItemMendEvent diff --git a/src/main/java/net/minecraft/world/entity/ExperienceOrb.java b/src/main/java/net/minecraft/world/entity/ExperienceOrb.java -index 37cd883f4920d5e1e58900ebdcfd4495a0abd2ae..6dac7cd4c9abfbde299f5d279acc2739195fc312 100644 +index cab5636fe6be9ee7f23ffbd5a399d2aeea1cd538..fb74f13ab2a977224e843a468ea8c72d923a75eb 100644 --- a/src/main/java/net/minecraft/world/entity/ExperienceOrb.java +++ b/src/main/java/net/minecraft/world/entity/ExperienceOrb.java @@ -337,7 +337,7 @@ public class ExperienceOrb extends Entity { ItemStack itemstack = (ItemStack) entry.getValue(); - int j = Math.min(this.xpToDurability(this.value), itemstack.getDamageValue()); + int j = Math.min(this.xpToDurability(amount), itemstack.getDamageValue()); // CraftBukkit start - org.bukkit.event.player.PlayerItemMendEvent event = CraftEventFactory.callPlayerItemMendEvent(player, this, itemstack, entry.getKey(), j); + org.bukkit.event.player.PlayerItemMendEvent event = CraftEventFactory.callPlayerItemMendEvent(player, this, itemstack, entry.getKey(), j, this::durabilityToXp); // Paper @@ -33,10 +33,10 @@ index 37cd883f4920d5e1e58900ebdcfd4495a0abd2ae..6dac7cd4c9abfbde299f5d279acc2739 return k > 0 ? this.repairPlayerItems(player, k) : 0; } else { diff --git a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java -index e37affe585e207eeb1d69feabbfa99218e08022b..adc90af7ee07ce5f714bfc92b870c4d78e5c6dc9 100644 +index 79d83a194084ffda06a0bbc29354911ef3ea1b28..4c4594e96c57ae374bcf2d70004bd12d1da1b758 100644 --- a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java +++ b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java -@@ -1743,11 +1743,11 @@ public class CraftPlayer extends CraftHumanEntity implements Player { +@@ -1750,11 +1750,11 @@ public class CraftPlayer extends CraftHumanEntity implements Player { orb.setPosRaw(handle.getX(), handle.getY(), handle.getZ()); int i = Math.min(orb.xpToDurability(amount), itemstack.getDamageValue()); @@ -51,7 +51,7 @@ index e37affe585e207eeb1d69feabbfa99218e08022b..adc90af7ee07ce5f714bfc92b870c4d7 } } diff --git a/src/main/java/org/bukkit/craftbukkit/event/CraftEventFactory.java b/src/main/java/org/bukkit/craftbukkit/event/CraftEventFactory.java -index 975e288911779f2acc943acf32eeecd306f10dde..81066d1d4e7a5818018469d5659c15dc2d5a43bf 100644 +index cb2c5c54668cc83e2b0019462be89a1928924b4b..4c14bcf9396b4ee9649c4647b485797f6fce06f3 100644 --- a/src/main/java/org/bukkit/craftbukkit/event/CraftEventFactory.java +++ b/src/main/java/org/bukkit/craftbukkit/event/CraftEventFactory.java @@ -1324,10 +1324,10 @@ public class CraftEventFactory { diff --git a/patches/unapplied/server/0942-Refresh-ProjectileSource-for-projectiles.patch b/patches/server/0940-Refresh-ProjectileSource-for-projectiles.patch similarity index 82% rename from patches/unapplied/server/0942-Refresh-ProjectileSource-for-projectiles.patch rename to patches/server/0940-Refresh-ProjectileSource-for-projectiles.patch index 2332b94d12..321c994382 100644 --- a/patches/unapplied/server/0942-Refresh-ProjectileSource-for-projectiles.patch +++ b/patches/server/0940-Refresh-ProjectileSource-for-projectiles.patch @@ -14,11 +14,11 @@ clearing the owner. Co-authored-by: Warrior <50800980+Warriorrrr@users.noreply.github.com> diff --git a/src/main/java/net/minecraft/world/entity/Entity.java b/src/main/java/net/minecraft/world/entity/Entity.java -index 6e65b0291f215e1f0295854abffbe63b82117c0c..e8a21de2434aa089079827eca16d803993d05c65 100644 +index 133b9aca368959cbad3d87c5f4ab1cc447b66859..dfa077ad2e632bc71be41917d5923edae12f7738 100644 --- a/src/main/java/net/minecraft/world/entity/Entity.java +++ b/src/main/java/net/minecraft/world/entity/Entity.java -@@ -382,6 +382,7 @@ public abstract class Entity implements Nameable, EntityAccess, CommandSource { - public boolean valid; +@@ -384,6 +384,7 @@ public abstract class Entity implements Nameable, EntityAccess, CommandSource, S + public boolean inWorld = false; public boolean generation; public int maxAirTicks = this.getDefaultMaxAirSupply(); // CraftBukkit - SPIGOT-6907: re-implement LivingEntity#setMaximumAir() + @Nullable // Paper @@ -26,10 +26,10 @@ index 6e65b0291f215e1f0295854abffbe63b82117c0c..e8a21de2434aa089079827eca16d8039 public boolean lastDamageCancelled; // SPIGOT-5339, SPIGOT-6252, SPIGOT-6777: Keep track if the event was canceled public boolean persistentInvisibility = false; 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 6d7ac0c8c171834fa8da94f158258a4774d80ec4..a90317100d32974e481e14476843f66997a2cf3a 100644 +index 5d779e75a1516487c53d96744613f292b0ccd1f7..1502bc8fe938de7e69530610e5cc6c265f7e97a1 100644 --- a/src/main/java/net/minecraft/world/entity/projectile/Projectile.java +++ b/src/main/java/net/minecraft/world/entity/projectile/Projectile.java -@@ -49,14 +49,31 @@ public abstract class Projectile extends Entity implements TraceableEntity { +@@ -50,14 +50,31 @@ public abstract class Projectile extends Entity implements TraceableEntity { this.ownerUUID = entity.getUUID(); this.cachedOwner = entity; } @@ -61,16 +61,16 @@ index 6d7ac0c8c171834fa8da94f158258a4774d80ec4..a90317100d32974e481e14476843f669 if (this.cachedOwner != null && !this.cachedOwner.isRemoved()) { + this.refreshProjectileSource(false); // Paper return this.cachedOwner; - } else if (this.ownerUUID != null && this.level() instanceof ServerLevel) { - this.cachedOwner = ((ServerLevel) this.level()).getEntity(this.ownerUUID); -@@ -72,6 +89,7 @@ public abstract class Projectile extends Entity implements TraceableEntity { + } else { + if (this.ownerUUID != null) { +@@ -79,6 +96,7 @@ public abstract class Projectile extends Entity implements TraceableEntity { + } + } + // Paper end ++ this.refreshProjectileSource(false); // Paper + return this.cachedOwner; } } - // Paper end -+ this.refreshProjectileSource(false); // Paper - return this.cachedOwner; - } else { - return null; diff --git a/src/main/java/org/bukkit/craftbukkit/entity/AbstractProjectile.java b/src/main/java/org/bukkit/craftbukkit/entity/AbstractProjectile.java index 2c376687349825833e6d9a5ca92ce6afb98c36a3..0f7ae4a5c672039828454bf18c770dd99e250212 100644 --- a/src/main/java/org/bukkit/craftbukkit/entity/AbstractProjectile.java diff --git a/patches/unapplied/server/0943-Add-transient-modifier-API.patch b/patches/server/0941-Add-transient-modifier-API.patch similarity index 95% rename from patches/unapplied/server/0943-Add-transient-modifier-API.patch rename to patches/server/0941-Add-transient-modifier-API.patch index e3b704e242..8144e5dc44 100644 --- a/patches/unapplied/server/0943-Add-transient-modifier-API.patch +++ b/patches/server/0941-Add-transient-modifier-API.patch @@ -21,7 +21,7 @@ index 12135ffeacd648f6bc4d7d327059ea1a7e8c79c4..52439f4b959c74027eb191a3af960c70 public void removeModifier(AttributeModifier modifier) { throw new UnsupportedOperationException("Cannot modify default attributes"); diff --git a/src/main/java/org/bukkit/craftbukkit/attribute/CraftAttributeInstance.java b/src/main/java/org/bukkit/craftbukkit/attribute/CraftAttributeInstance.java -index e828ef7df04de98628e59e93c0431ea0e10199f8..0029412b1242879deb898524001bb4cc7550fa78 100644 +index a88acd3ebc0f11f9b5caca3fbf2401ca5eb3f553..e0faf9bf55f95ab21bd3452cee73196ae7ba8122 100644 --- a/src/main/java/org/bukkit/craftbukkit/attribute/CraftAttributeInstance.java +++ b/src/main/java/org/bukkit/craftbukkit/attribute/CraftAttributeInstance.java @@ -50,6 +50,14 @@ public class CraftAttributeInstance implements AttributeInstance { diff --git a/patches/unapplied/server/0944-Fix-block-place-logic.patch b/patches/server/0942-Fix-block-place-logic.patch similarity index 88% rename from patches/unapplied/server/0944-Fix-block-place-logic.patch rename to patches/server/0942-Fix-block-place-logic.patch index 43ff2d8260..0de9661a5e 100644 --- a/patches/unapplied/server/0944-Fix-block-place-logic.patch +++ b/patches/server/0942-Fix-block-place-logic.patch @@ -22,10 +22,10 @@ index e581dc10f3c805f7f8b6e4c842092609e7e1a0f8..6819cea2858f0035a4fbf3671612d43f if ((entityhuman == null || !entityhuman.getAbilities().instabuild) && itemstack != ItemStack.EMPTY) { // CraftBukkit itemstack.shrink(1); diff --git a/src/main/java/net/minecraft/world/item/ItemStack.java b/src/main/java/net/minecraft/world/item/ItemStack.java -index c73b57ffd622ccc2e6c570cf874ed118108b899b..efa73faab21c301a99cfe58c3d822d961ea4d2a5 100644 +index cf10350530683c2294e4892ac7239559f0aa4c32..345b6a54e62eba5a12134c74a0eeb9b92ca27500 100644 --- a/src/main/java/net/minecraft/world/item/ItemStack.java +++ b/src/main/java/net/minecraft/world/item/ItemStack.java -@@ -472,13 +472,7 @@ public final class ItemStack { +@@ -493,13 +493,7 @@ public final class ItemStack { if (tileentity instanceof JukeboxBlockEntity) { JukeboxBlockEntity tileentityjukebox = (JukeboxBlockEntity) tileentity; @@ -35,16 +35,16 @@ index c73b57ffd622ccc2e6c570cf874ed118108b899b..efa73faab21c301a99cfe58c3d822d96 - record.setCount(1); - } - -- tileentityjukebox.setFirstItem(record); -+ tileentityjukebox.setFirstItem(this.copy()); // Paper - sync this with record item, jukebox has now an inventory +- tileentityjukebox.setTheItem(record); ++ tileentityjukebox.setTheItem(this.copy()); // Paper - sync this with record item, jukebox has now an inventory world.gameEvent(GameEvent.BLOCK_CHANGE, blockposition, GameEvent.Context.of(entityhuman, world.getBlockState(blockposition))); } diff --git a/src/main/java/net/minecraft/world/level/Level.java b/src/main/java/net/minecraft/world/level/Level.java -index 6942c0e42814b995971bbe9bd3bd396e121989dd..169fc7b1aaf2cefec3ddab53fcec912e0ec0117a 100644 +index f45b5fccb994a0d333aec772461ff0580a28261b..74e68160dc650c0426785b0f88892c29edadb29c 100644 --- a/src/main/java/net/minecraft/world/level/Level.java +++ b/src/main/java/net/minecraft/world/level/Level.java -@@ -1035,17 +1035,18 @@ public abstract class Level implements LevelAccessor, AutoCloseable { +@@ -1038,17 +1038,18 @@ public abstract class Level implements LevelAccessor, AutoCloseable { // CraftBukkit start iblockdata1.updateIndirectNeighbourShapes(this, blockposition, k, j - 1); // Don't call an event for the old block to limit event spam CraftWorld world = ((ServerLevel) this).getWorld(); diff --git a/patches/unapplied/server/0945-Fix-spigot-sound-playing-for-BlockItem-ItemStacks.patch b/patches/server/0943-Fix-spigot-sound-playing-for-BlockItem-ItemStacks.patch similarity index 90% rename from patches/unapplied/server/0945-Fix-spigot-sound-playing-for-BlockItem-ItemStacks.patch rename to patches/server/0943-Fix-spigot-sound-playing-for-BlockItem-ItemStacks.patch index da9489efd3..9cd1ca2e92 100644 --- a/patches/unapplied/server/0945-Fix-spigot-sound-playing-for-BlockItem-ItemStacks.patch +++ b/patches/server/0943-Fix-spigot-sound-playing-for-BlockItem-ItemStacks.patch @@ -5,10 +5,10 @@ Subject: [PATCH] Fix spigot sound playing for BlockItem ItemStacks diff --git a/src/main/java/net/minecraft/world/item/ItemStack.java b/src/main/java/net/minecraft/world/item/ItemStack.java -index efa73faab21c301a99cfe58c3d822d961ea4d2a5..6e2c62336537fba187fbbb47c1f52f935683c0d5 100644 +index 345b6a54e62eba5a12134c74a0eeb9b92ca27500..ef2f9cae4b06a020f0b9209b69316733df055438 100644 --- a/src/main/java/net/minecraft/world/item/ItemStack.java +++ b/src/main/java/net/minecraft/world/item/ItemStack.java -@@ -523,7 +523,11 @@ public final class ItemStack { +@@ -544,7 +544,11 @@ public final class ItemStack { // SPIGOT-1288 - play sound stripped from ItemBlock if (this.item instanceof BlockItem) { diff --git a/patches/unapplied/server/0946-Ignore-inline-definitions-of-trim-material-pattern.patch b/patches/server/0944-Ignore-inline-definitions-of-trim-material-pattern.patch similarity index 100% rename from patches/unapplied/server/0946-Ignore-inline-definitions-of-trim-material-pattern.patch rename to patches/server/0944-Ignore-inline-definitions-of-trim-material-pattern.patch diff --git a/patches/unapplied/server/0827-Add-some-minimal-debug-information-to-chat-packet-er.patch b/patches/unapplied/server/0827-Add-some-minimal-debug-information-to-chat-packet-er.patch deleted file mode 100644 index 7ae9ebbdd4..0000000000 --- a/patches/unapplied/server/0827-Add-some-minimal-debug-information-to-chat-packet-er.patch +++ /dev/null @@ -1,20 +0,0 @@ -From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 -From: Shane Freeder -Date: Wed, 6 Jul 2022 05:52:22 +0100 -Subject: [PATCH] Add some minimal debug information to chat packet errors - -TODO: potentially add some kick leeway - -diff --git a/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java b/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java -index ac87735ff07ee0833727cdf8b62f443ce16a3216..c518f78af7612f59af7f02fcf2ba5ef274f9694d 100644 ---- a/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java -+++ b/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java -@@ -2149,7 +2149,7 @@ public class ServerGamePacketListenerImpl extends ServerCommonPacketListenerImpl - - private Optional tryHandleChat(String message, Instant timestamp, LastSeenMessages.Update acknowledgment) { - if (!this.updateChatOrder(timestamp)) { -- ServerGamePacketListenerImpl.LOGGER.warn("{} sent out-of-order chat: '{}'", this.player.getName().getString(), message); -+ ServerGamePacketListenerImpl.LOGGER.warn("{} sent out-of-order chat: '{}': {} > {}", this.player.getName().getString(), message, this.lastChatTimeStamp.get().getEpochSecond(), timestamp.getEpochSecond()); // Paper - this.server.scheduleOnMain(() -> { // Paper - push to main - this.disconnect(Component.translatable("multiplayer.disconnect.out_of_order_chat"), org.bukkit.event.player.PlayerKickEvent.Cause.OUT_OF_ORDER_CHAT); // Paper - kick event causes - }); // Paper - push to main diff --git a/patches/unapplied/server/0838-Fix-suggest-command-message-for-brigadier-syntax-exc.patch b/patches/unapplied/server/0838-Fix-suggest-command-message-for-brigadier-syntax-exc.patch deleted file mode 100644 index bffcadeb49..0000000000 --- a/patches/unapplied/server/0838-Fix-suggest-command-message-for-brigadier-syntax-exc.patch +++ /dev/null @@ -1,20 +0,0 @@ -From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 -From: chickeneer -Date: Mon, 1 Aug 2022 20:13:02 -0500 -Subject: [PATCH] Fix suggest command message for brigadier syntax exceptions - -This is a bug accidentally introduced in upstream CB - -diff --git a/src/main/java/net/minecraft/commands/Commands.java b/src/main/java/net/minecraft/commands/Commands.java -index c704761bd5dae98f7c77780a4f7058b737fdb664..3eec879bf3975636739b2491cc05b8177032d16d 100644 ---- a/src/main/java/net/minecraft/commands/Commands.java -+++ b/src/main/java/net/minecraft/commands/Commands.java -@@ -348,7 +348,7 @@ public class Commands { - if (commandsyntaxexception.getInput() != null && commandsyntaxexception.getCursor() >= 0) { - int j = Math.min(commandsyntaxexception.getInput().length(), commandsyntaxexception.getCursor()); - MutableComponent ichatmutablecomponent = Component.empty().withStyle(ChatFormatting.GRAY).withStyle((chatmodifier) -> { -- return chatmodifier.withClickEvent(new ClickEvent(ClickEvent.Action.SUGGEST_COMMAND, label)); // CraftBukkit -+ return chatmodifier.withClickEvent(new ClickEvent(ClickEvent.Action.SUGGEST_COMMAND, "/" + label)); // CraftBukkit // Paper - }); - - if (j > 10) {