diff --git a/patches/unapplied/server/0424-incremental-chunk-and-player-saving.patch b/patches/server/0424-incremental-chunk-and-player-saving.patch similarity index 85% rename from patches/unapplied/server/0424-incremental-chunk-and-player-saving.patch rename to patches/server/0424-incremental-chunk-and-player-saving.patch index 5b5117df17..e51a56080a 100644 --- a/patches/unapplied/server/0424-incremental-chunk-and-player-saving.patch +++ b/patches/server/0424-incremental-chunk-and-player-saving.patch @@ -5,10 +5,10 @@ Subject: [PATCH] incremental chunk and player saving diff --git a/src/main/java/net/minecraft/server/MinecraftServer.java b/src/main/java/net/minecraft/server/MinecraftServer.java -index 219e191ff4d590aee9b7a704ba6fe84c3c12f43a..a5353af5ff47b5be7dac9a4e55989ad9490cf30f 100644 +index 87e0cc467a2139e763130a375387b6df46336992..a82f7dd2cbc2f6311b810f117f0970a47db85818 100644 --- a/src/main/java/net/minecraft/server/MinecraftServer.java +++ b/src/main/java/net/minecraft/server/MinecraftServer.java -@@ -855,7 +855,7 @@ public abstract class MinecraftServer extends ReentrantBlockableEventLoop 0 && this.tickCount % this.autosavePeriod == 0) { // CraftBukkit + --this.ticksUntilAutosave; +- // CraftBukkit start +- if (this.autosavePeriod > 0 && this.ticksUntilAutosave <= 0) { +- this.ticksUntilAutosave = this.autosavePeriod; +- // CraftBukkit end - MinecraftServer.LOGGER.debug("Autosave started"); - this.profiler.push("save"); - this.saveEverything(true, false, false); @@ -53,10 +56,10 @@ index 219e191ff4d590aee9b7a704ba6fe84c3c12f43a..a5353af5ff47b5be7dac9a4e55989ad9 // Paper start - move executeAll() into full server tick timing try (co.aikar.timings.Timing ignored = MinecraftTimings.processTasksTimer.startTiming()) { diff --git a/src/main/java/net/minecraft/server/level/ServerChunkCache.java b/src/main/java/net/minecraft/server/level/ServerChunkCache.java -index e27067e72a49e127aa4abb17f5ed1df09f943f3c..4e58f31e4852a0811f85596653f6db630a75b069 100644 +index 3a8a4757b9b39b48cbedd65620a114130ae6ab1c..e725dd92ae15f62b078bda3572d0663468f37939 100644 --- a/src/main/java/net/minecraft/server/level/ServerChunkCache.java +++ b/src/main/java/net/minecraft/server/level/ServerChunkCache.java -@@ -452,6 +452,15 @@ public class ServerChunkCache extends ChunkSource { +@@ -450,6 +450,15 @@ public class ServerChunkCache extends ChunkSource { } // Paper - Timings } @@ -73,10 +76,10 @@ index e27067e72a49e127aa4abb17f5ed1df09f943f3c..4e58f31e4852a0811f85596653f6db63 public void close() throws IOException { // CraftBukkit start diff --git a/src/main/java/net/minecraft/server/level/ServerLevel.java b/src/main/java/net/minecraft/server/level/ServerLevel.java -index 58a44898144af605e6e7d9253d99149ddc12bcbd..c1214a8f53428c19ca1fc72942f5040066f45b12 100644 +index 8dc958dca402346d94d84c3d5c073cf00c438cee..d9fafffc52b5db0b55022c02b9321d47a2b49827 100644 --- a/src/main/java/net/minecraft/server/level/ServerLevel.java +++ b/src/main/java/net/minecraft/server/level/ServerLevel.java -@@ -1283,6 +1283,37 @@ public class ServerLevel extends Level implements WorldGenLevel { +@@ -1302,6 +1302,37 @@ public class ServerLevel extends Level implements WorldGenLevel { return !this.server.isUnderSpawnProtection(this, pos, player) && this.getWorldBorder().isWithinBounds(pos); } @@ -115,22 +118,22 @@ index 58a44898144af605e6e7d9253d99149ddc12bcbd..c1214a8f53428c19ca1fc72942f50400 // Paper start - rewrite chunk system - add close param this.save(progressListener, flush, savingDisabled, false); diff --git a/src/main/java/net/minecraft/server/level/ServerPlayer.java b/src/main/java/net/minecraft/server/level/ServerPlayer.java -index a3c1797549e3b149f425f857bbf8564c5ef1e30e..2c2b1aef3f510edb9bb124581739f06692ab5673 100644 +index 898403dad5e9bac4b565e1c75871245fe5cd7908..25c5f23b859961c792b2ec08404171eea1aedba7 100644 --- a/src/main/java/net/minecraft/server/level/ServerPlayer.java +++ b/src/main/java/net/minecraft/server/level/ServerPlayer.java -@@ -184,6 +184,7 @@ import org.bukkit.inventory.MainHand; +@@ -190,6 +190,7 @@ import org.bukkit.inventory.MainHand; public class ServerPlayer extends Player { private static final Logger LOGGER = LogUtils.getLogger(); + public long lastSave = MinecraftServer.currentTick; // Paper private static final int NEUTRAL_MOB_DEATH_NOTIFICATION_RADII_XZ = 32; private static final int NEUTRAL_MOB_DEATH_NOTIFICATION_RADII_Y = 10; - public ServerGamePacketListenerImpl connection; + private static final int FLY_STAT_RECORDING_SPEED = 25; diff --git a/src/main/java/net/minecraft/server/players/PlayerList.java b/src/main/java/net/minecraft/server/players/PlayerList.java -index ac6c1c1cf0d736c31a4e3666cb9e10ba8bc1c7c5..3c7257d745406b4675155d7990a6661db7391d6b 100644 +index ac5e83589b812290032773755f51c89107ccb5a4..ccf715d1ddb029ebadbab88be8ef1e914b5220be 100644 --- a/src/main/java/net/minecraft/server/players/PlayerList.java +++ b/src/main/java/net/minecraft/server/players/PlayerList.java -@@ -554,6 +554,7 @@ public abstract class PlayerList { +@@ -552,6 +552,7 @@ public abstract class PlayerList { protected void save(ServerPlayer player) { if (!player.getBukkitEntity().isPersistent()) return; // CraftBukkit @@ -138,7 +141,7 @@ index ac6c1c1cf0d736c31a4e3666cb9e10ba8bc1c7c5..3c7257d745406b4675155d7990a6661d this.playerIo.save(player); ServerStatsCounter serverstatisticmanager = (ServerStatsCounter) player.getStats(); // CraftBukkit -@@ -1151,10 +1152,22 @@ public abstract class PlayerList { +@@ -1149,10 +1150,22 @@ public abstract class PlayerList { } public void saveAll() { diff --git a/patches/unapplied/server/0425-Support-old-UUID-format-for-NBT.patch b/patches/server/0425-Support-old-UUID-format-for-NBT.patch similarity index 91% rename from patches/unapplied/server/0425-Support-old-UUID-format-for-NBT.patch rename to patches/server/0425-Support-old-UUID-format-for-NBT.patch index fe9c23b739..d261c78922 100644 --- a/patches/unapplied/server/0425-Support-old-UUID-format-for-NBT.patch +++ b/patches/server/0425-Support-old-UUID-format-for-NBT.patch @@ -8,10 +8,10 @@ We have stored UUID in plenty of places that did not get DFU'd So just look for old format and load it if it exists. diff --git a/src/main/java/net/minecraft/nbt/CompoundTag.java b/src/main/java/net/minecraft/nbt/CompoundTag.java -index ad0251b73d21b36bf19e9aa649817b4da2d0a6b4..84fc2adf591f02a14862f7c1cd645c2efde55c3d 100644 +index 135530bc9d7ecd0348ace6474f4ca6d2e1bad283..e464ada187fd1f15efef29a0e5033aeb0c688059 100644 --- a/src/main/java/net/minecraft/nbt/CompoundTag.java +++ b/src/main/java/net/minecraft/nbt/CompoundTag.java -@@ -233,6 +233,12 @@ public class CompoundTag implements Tag { +@@ -237,6 +237,12 @@ public class CompoundTag implements Tag { } public void putUUID(String key, UUID value) { @@ -24,7 +24,7 @@ index ad0251b73d21b36bf19e9aa649817b4da2d0a6b4..84fc2adf591f02a14862f7c1cd645c2e this.tags.put(key, NbtUtils.createUUID(value)); } -@@ -241,10 +247,20 @@ public class CompoundTag implements Tag { +@@ -245,10 +251,20 @@ public class CompoundTag implements Tag { * You must use {@link #hasUUID(String)} before or else it will throw an NPE. */ public UUID getUUID(String key) { diff --git a/patches/unapplied/server/0426-Convert-legacy-attributes-in-Item-Meta.patch b/patches/server/0426-Convert-legacy-attributes-in-Item-Meta.patch similarity index 95% rename from patches/unapplied/server/0426-Convert-legacy-attributes-in-Item-Meta.patch rename to patches/server/0426-Convert-legacy-attributes-in-Item-Meta.patch index 84a140d2ee..52c687a7a5 100644 --- a/patches/unapplied/server/0426-Convert-legacy-attributes-in-Item-Meta.patch +++ b/patches/server/0426-Convert-legacy-attributes-in-Item-Meta.patch @@ -30,10 +30,10 @@ index d4dba8c733c7560e5108b8d239b52e593f8debec..ea48f1119a940056c37d1d203437bfbf public CraftAttributeMap(AttributeMap handle) { this.handle = handle; diff --git a/src/main/java/org/bukkit/craftbukkit/inventory/CraftMetaItem.java b/src/main/java/org/bukkit/craftbukkit/inventory/CraftMetaItem.java -index e29134181d5b032311fe163b48fbe53f1298c6fd..33772b435557caed9e024547f101fc0b16668b8f 100644 +index 4e1f436cbe47ba08c731be781fb372b20c497de6..f66104abef112ed1056f6f70b38c1d7865431a6c 100644 --- a/src/main/java/org/bukkit/craftbukkit/inventory/CraftMetaItem.java +++ b/src/main/java/org/bukkit/craftbukkit/inventory/CraftMetaItem.java -@@ -484,7 +484,7 @@ class CraftMetaItem implements ItemMeta, Damageable, Repairable, BlockDataMeta { +@@ -485,7 +485,7 @@ class CraftMetaItem implements ItemMeta, Damageable, Repairable, BlockDataMeta { AttributeModifier attribMod = CraftAttributeInstance.convert(nmsModifier); diff --git a/patches/unapplied/server/0427-Remove-some-streams-from-structures.patch b/patches/server/0427-Remove-some-streams-from-structures.patch similarity index 100% rename from patches/unapplied/server/0427-Remove-some-streams-from-structures.patch rename to patches/server/0427-Remove-some-streams-from-structures.patch diff --git a/patches/unapplied/server/0428-Remove-streams-from-classes-related-villager-gossip.patch b/patches/server/0428-Remove-streams-from-classes-related-villager-gossip.patch similarity index 100% rename from patches/unapplied/server/0428-Remove-streams-from-classes-related-villager-gossip.patch rename to patches/server/0428-Remove-streams-from-classes-related-villager-gossip.patch diff --git a/patches/unapplied/server/0429-Support-components-in-ItemMeta.patch b/patches/server/0429-Support-components-in-ItemMeta.patch similarity index 90% rename from patches/unapplied/server/0429-Support-components-in-ItemMeta.patch rename to patches/server/0429-Support-components-in-ItemMeta.patch index b2eb6e8d9c..b9a53bc4e5 100644 --- a/patches/unapplied/server/0429-Support-components-in-ItemMeta.patch +++ b/patches/server/0429-Support-components-in-ItemMeta.patch @@ -5,10 +5,10 @@ Subject: [PATCH] Support components in ItemMeta diff --git a/src/main/java/org/bukkit/craftbukkit/inventory/CraftMetaItem.java b/src/main/java/org/bukkit/craftbukkit/inventory/CraftMetaItem.java -index 33772b435557caed9e024547f101fc0b16668b8f..0766b991079bfda1558cc17b75ff3dd06c1ad725 100644 +index f66104abef112ed1056f6f70b38c1d7865431a6c..9c20c225ba46f2126a43e2f879f4849081cae90a 100644 --- a/src/main/java/org/bukkit/craftbukkit/inventory/CraftMetaItem.java +++ b/src/main/java/org/bukkit/craftbukkit/inventory/CraftMetaItem.java -@@ -878,11 +878,23 @@ class CraftMetaItem implements ItemMeta, Damageable, Repairable, BlockDataMeta { +@@ -879,11 +879,23 @@ class CraftMetaItem implements ItemMeta, Damageable, Repairable, BlockDataMeta { return CraftChatMessage.fromJSONComponent(this.displayName); } @@ -32,7 +32,7 @@ index 33772b435557caed9e024547f101fc0b16668b8f..0766b991079bfda1558cc17b75ff3dd0 @Override public boolean hasDisplayName() { return this.displayName != null; -@@ -1025,6 +1037,14 @@ class CraftMetaItem implements ItemMeta, Damageable, Repairable, BlockDataMeta { +@@ -1026,6 +1038,14 @@ class CraftMetaItem implements ItemMeta, Damageable, Repairable, BlockDataMeta { return this.lore == null ? null : new ArrayList(Lists.transform(this.lore, CraftChatMessage::fromJSONComponent)); } @@ -47,7 +47,7 @@ index 33772b435557caed9e024547f101fc0b16668b8f..0766b991079bfda1558cc17b75ff3dd0 @Override public void setLore(List lore) { if (lore == null || lore.isEmpty()) { -@@ -1039,6 +1059,21 @@ class CraftMetaItem implements ItemMeta, Damageable, Repairable, BlockDataMeta { +@@ -1040,6 +1060,21 @@ class CraftMetaItem implements ItemMeta, Damageable, Repairable, BlockDataMeta { } } @@ -69,7 +69,7 @@ index 33772b435557caed9e024547f101fc0b16668b8f..0766b991079bfda1558cc17b75ff3dd0 @Override public boolean hasCustomModelData() { return this.customModelData != null; -@@ -1507,6 +1542,11 @@ class CraftMetaItem implements ItemMeta, Damageable, Repairable, BlockDataMeta { +@@ -1508,6 +1543,11 @@ class CraftMetaItem implements ItemMeta, Damageable, Repairable, BlockDataMeta { } for (Object object : addFrom) { diff --git a/patches/unapplied/server/0430-Improve-fix-EntityTargetLivingEntityEvent.patch b/patches/server/0430-Improve-fix-EntityTargetLivingEntityEvent.patch similarity index 100% rename from patches/unapplied/server/0430-Improve-fix-EntityTargetLivingEntityEvent.patch rename to patches/server/0430-Improve-fix-EntityTargetLivingEntityEvent.patch diff --git a/patches/unapplied/server/0431-Add-entity-liquid-API.patch b/patches/server/0431-Add-entity-liquid-API.patch similarity index 90% rename from patches/unapplied/server/0431-Add-entity-liquid-API.patch rename to patches/server/0431-Add-entity-liquid-API.patch index bebefdb57e..8989db3c09 100644 --- a/patches/unapplied/server/0431-Add-entity-liquid-API.patch +++ b/patches/server/0431-Add-entity-liquid-API.patch @@ -8,10 +8,10 @@ public net.minecraft.world.entity.Entity isInRain()Z public net.minecraft.world.entity.Entity isInBubbleColumn()Z diff --git a/src/main/java/org/bukkit/craftbukkit/entity/CraftEntity.java b/src/main/java/org/bukkit/craftbukkit/entity/CraftEntity.java -index e1f75dfcb22918d953d35d345280c61301688ac7..0498a83ceb4c009b76086dc44f80395efaab797e 100644 +index b06c338ee9205d1f4d562571aba83c83f9abd20b..ded0332f5be000e31962e34033e69d17eed51280 100644 --- a/src/main/java/org/bukkit/craftbukkit/entity/CraftEntity.java +++ b/src/main/java/org/bukkit/craftbukkit/entity/CraftEntity.java -@@ -1328,5 +1328,40 @@ public abstract class CraftEntity implements org.bukkit.entity.Entity { +@@ -1372,5 +1372,40 @@ public abstract class CraftEntity implements org.bukkit.entity.Entity { public org.bukkit.event.entity.CreatureSpawnEvent.SpawnReason getEntitySpawnReason() { return getHandle().spawnReason; } diff --git a/patches/unapplied/server/0432-Update-itemstack-legacy-name-and-lore.patch b/patches/server/0432-Update-itemstack-legacy-name-and-lore.patch similarity index 92% rename from patches/unapplied/server/0432-Update-itemstack-legacy-name-and-lore.patch rename to patches/server/0432-Update-itemstack-legacy-name-and-lore.patch index 2c58b8b314..10c31f8e0d 100644 --- a/patches/unapplied/server/0432-Update-itemstack-legacy-name-and-lore.patch +++ b/patches/server/0432-Update-itemstack-legacy-name-and-lore.patch @@ -5,10 +5,10 @@ Subject: [PATCH] Update itemstack legacy name and lore diff --git a/src/main/java/net/minecraft/world/item/ItemStack.java b/src/main/java/net/minecraft/world/item/ItemStack.java -index 877951fd07dece86fa59aee6f38a787722756688..abaafcff3f7a5e710319c93313a4ecf9874b7ef8 100644 +index 19e8d10727fc4838cd8261dfec92f3828ea5b09f..b5080861a4aa34a95618bcee7723bd3ec34b09c4 100644 --- a/src/main/java/net/minecraft/world/item/ItemStack.java +++ b/src/main/java/net/minecraft/world/item/ItemStack.java -@@ -172,6 +172,44 @@ public final class ItemStack { +@@ -195,6 +195,44 @@ public final class ItemStack { list.sort((java.util.Comparator) enchantSorter); // Paper } catch (Exception ignored) {} } @@ -53,9 +53,9 @@ index 877951fd07dece86fa59aee6f38a787722756688..abaafcff3f7a5e710319c93313a4ecf9 // Paper end public ItemStack(ItemLike item) { -@@ -223,6 +261,7 @@ public final class ItemStack { +@@ -244,6 +282,7 @@ public final class ItemStack { + if (nbttagcompound.contains("tag", 10)) { this.tag = nbttagcompound.getCompound("tag").copy(); - // CraftBukkit end this.processEnchantOrder(this.tag); // Paper + this.processText(); // Paper this.getItem().verifyTagAfterLoad(this.tag); diff --git a/patches/unapplied/server/0433-Add-PrepareResultEvent.patch b/patches/server/0433-Add-PrepareResultEvent.patch similarity index 98% rename from patches/unapplied/server/0433-Add-PrepareResultEvent.patch rename to patches/server/0433-Add-PrepareResultEvent.patch index 911e4ae943..6f521aff59 100644 --- a/patches/unapplied/server/0433-Add-PrepareResultEvent.patch +++ b/patches/server/0433-Add-PrepareResultEvent.patch @@ -94,10 +94,10 @@ index 9c2fe69ced7a46bbd8b0fbe10fa67d0a39b0f375..70ecc3f673ebd56b65ad901e10f40c28 private void setupRecipeList(Container input, ItemStack stack) { diff --git a/src/main/java/org/bukkit/craftbukkit/event/CraftEventFactory.java b/src/main/java/org/bukkit/craftbukkit/event/CraftEventFactory.java -index c634a4b0d835df3ad6129ca03e11668f715ab8d2..265a30230c0dde7bb48f5ed0e6ebb91556d5b51f 100644 +index 839deebc72a575eea5db4decd82c8c8b1884e621..ce0d05009a9b88607a143ad40421d70148491817 100644 --- a/src/main/java/org/bukkit/craftbukkit/event/CraftEventFactory.java +++ b/src/main/java/org/bukkit/craftbukkit/event/CraftEventFactory.java -@@ -1718,26 +1718,53 @@ public class CraftEventFactory { +@@ -1717,26 +1717,53 @@ public class CraftEventFactory { return event; } diff --git a/patches/unapplied/server/0434-Don-t-check-chunk-for-portal-on-world-gen-entity-add.patch b/patches/server/0434-Don-t-check-chunk-for-portal-on-world-gen-entity-add.patch similarity index 85% rename from patches/unapplied/server/0434-Don-t-check-chunk-for-portal-on-world-gen-entity-add.patch rename to patches/server/0434-Don-t-check-chunk-for-portal-on-world-gen-entity-add.patch index e9ae4d3181..abea401531 100644 --- a/patches/unapplied/server/0434-Don-t-check-chunk-for-portal-on-world-gen-entity-add.patch +++ b/patches/server/0434-Don-t-check-chunk-for-portal-on-world-gen-entity-add.patch @@ -5,10 +5,10 @@ Subject: [PATCH] Don't check chunk for portal on world gen entity add diff --git a/src/main/java/net/minecraft/world/entity/LivingEntity.java b/src/main/java/net/minecraft/world/entity/LivingEntity.java -index 109c381adefd61c69768ce1572873b2e629aff0e..2b0178507a39c95fff94bea382bacebb8c40f1b7 100644 +index 4b1366a456e7132d438fc99bd62e1dd77e35b35f..90c66f87e721ef34bf3f47b601456fece3064225 100644 --- a/src/main/java/net/minecraft/world/entity/LivingEntity.java +++ b/src/main/java/net/minecraft/world/entity/LivingEntity.java -@@ -3508,7 +3508,7 @@ public abstract class LivingEntity extends Entity implements Attackable { +@@ -3510,7 +3510,7 @@ public abstract class LivingEntity extends Entity implements Attackable { Entity entity = this.getVehicle(); super.stopRiding(suppressCancellation); // Paper - suppress diff --git a/patches/unapplied/server/0435-Fix-arrows-never-despawning-MC-125757.patch b/patches/server/0435-Fix-arrows-never-despawning-MC-125757.patch similarity index 86% rename from patches/unapplied/server/0435-Fix-arrows-never-despawning-MC-125757.patch rename to patches/server/0435-Fix-arrows-never-despawning-MC-125757.patch index 7ac2958bcd..abed4b5fa6 100644 --- a/patches/unapplied/server/0435-Fix-arrows-never-despawning-MC-125757.patch +++ b/patches/server/0435-Fix-arrows-never-despawning-MC-125757.patch @@ -9,10 +9,10 @@ instead of getting stuck in a never despawn state (bubble columns, etc). diff --git a/src/main/java/net/minecraft/world/entity/projectile/AbstractArrow.java b/src/main/java/net/minecraft/world/entity/projectile/AbstractArrow.java -index a8caa11bd0ef045b29cc3cb452dec9fd41948045..53de7f516aee20cb7b5db0648dea1c38d74e5d96 100644 +index 385cbee1d30735152cccb0d85a77a12fabfd9427..004c130fc03dc01ef75fabdb4ef1ef711e33cb95 100644 --- a/src/main/java/net/minecraft/world/entity/projectile/AbstractArrow.java +++ b/src/main/java/net/minecraft/world/entity/projectile/AbstractArrow.java -@@ -200,6 +200,7 @@ public abstract class AbstractArrow extends Projectile { +@@ -207,6 +207,7 @@ public abstract class AbstractArrow extends Projectile { ++this.inGroundTime; } else { diff --git a/patches/unapplied/server/0436-Thread-Safe-Vanilla-Command-permission-checking.patch b/patches/server/0436-Thread-Safe-Vanilla-Command-permission-checking.patch similarity index 88% rename from patches/unapplied/server/0436-Thread-Safe-Vanilla-Command-permission-checking.patch rename to patches/server/0436-Thread-Safe-Vanilla-Command-permission-checking.patch index b99c971369..20e912e98a 100644 --- a/patches/unapplied/server/0436-Thread-Safe-Vanilla-Command-permission-checking.patch +++ b/patches/server/0436-Thread-Safe-Vanilla-Command-permission-checking.patch @@ -26,19 +26,19 @@ index 20a7cdf87f307878d66922aaac0c60cff218e46c..39844531b03eb8a6c70700b4ecbf0ff1 } // CraftBukkit end diff --git a/src/main/java/net/minecraft/commands/CommandSourceStack.java b/src/main/java/net/minecraft/commands/CommandSourceStack.java -index e6bf044a0de278c568835e6150ce07ed0e39a44e..7dfd18cfda943ea4486249e20d9763b8465c9601 100644 +index 75b7b3cf90d1d67203ae19dc3302f06a57470f92..e58c2844356c71973d81b460a21aab795b506d77 100644 --- a/src/main/java/net/minecraft/commands/CommandSourceStack.java +++ b/src/main/java/net/minecraft/commands/CommandSourceStack.java -@@ -64,7 +64,7 @@ public class CommandSourceStack implements SharedSuggestionProvider, com.destroy +@@ -64,7 +64,7 @@ public class CommandSourceStack implements ExecutionCommandSource currentCommand = new java.util.concurrent.ConcurrentHashMap<>(); // CraftBukkit // Paper public boolean bypassSelectorPermissions = false; // Paper public CommandSourceStack(CommandSource output, Vec3 pos, Vec2 rot, ServerLevel world, int level, String name, Component displayName, MinecraftServer server, @Nullable Entity entity) { -@@ -199,9 +199,11 @@ public class CommandSourceStack implements SharedSuggestionProvider, com.destroy +@@ -193,9 +193,11 @@ public class CommandSourceStack implements ExecutionCommandSource implements CriterionTrigger { @@ -39,7 +39,7 @@ index 8ae5d6bc6aa3b0bd51a88bf1ce27a01aad881b43..f0367a9cce13ef576fbb7023c0aba6eb } } -@@ -39,7 +39,7 @@ public abstract class SimpleCriterionTrigger predicate, DeserializationContext predicateDeserializer); -@@ -52,7 +52,7 @@ public abstract class SimpleCriterionTrigger predicate) { PlayerAdvancements playerAdvancements = player.getAdvancements(); - Set> set = this.players.get(playerAdvancements); @@ -58,10 +55,10 @@ index 8ae5d6bc6aa3b0bd51a88bf1ce27a01aad881b43..f0367a9cce13ef576fbb7023c0aba6eb LootContext lootContext = EntityPredicate.createContext(player, player); List> list = null; diff --git a/src/main/java/net/minecraft/server/PlayerAdvancements.java b/src/main/java/net/minecraft/server/PlayerAdvancements.java -index 6487bf016e646ca772b667a2a81c85e82c027c05..d03db10517b2df98b40ab48e450333960508aabf 100644 +index f6daa77856f5d57b1a3b38e709bff47214372973..f29ddc244cfa5eba9b2903d40d8509731fc18287 100644 --- a/src/main/java/net/minecraft/server/PlayerAdvancements.java +++ b/src/main/java/net/minecraft/server/PlayerAdvancements.java -@@ -64,6 +64,7 @@ public class PlayerAdvancements { +@@ -63,6 +63,7 @@ public class PlayerAdvancements { private AdvancementHolder lastSelectedTab; private boolean isFirstPacket = true; private final Codec codec; diff --git a/patches/unapplied/server/0441-Optimize-NetworkManager-Exception-Handling.patch b/patches/server/0441-Optimize-NetworkManager-Exception-Handling.patch similarity index 92% rename from patches/unapplied/server/0441-Optimize-NetworkManager-Exception-Handling.patch rename to patches/server/0441-Optimize-NetworkManager-Exception-Handling.patch index ff42b6bac8..a98c46b0d8 100644 --- a/patches/unapplied/server/0441-Optimize-NetworkManager-Exception-Handling.patch +++ b/patches/server/0441-Optimize-NetworkManager-Exception-Handling.patch @@ -5,10 +5,10 @@ Subject: [PATCH] Optimize NetworkManager Exception Handling diff --git a/src/main/java/net/minecraft/network/ConnectionProtocol.java b/src/main/java/net/minecraft/network/ConnectionProtocol.java -index 749d2a94d07727feb6e09e8461fc457b48c5b5f7..c9a6b5be8f0e382c373bd4ecbff1269d5cf6c850 100644 +index ac1aa37329bd4d411964ea34ea8147f6db945b9a..41899d6c141895fc6c2c5da763bbe36864d557f7 100644 --- a/src/main/java/net/minecraft/network/ConnectionProtocol.java +++ b/src/main/java/net/minecraft/network/ConnectionProtocol.java -@@ -336,6 +336,7 @@ public enum ConnectionProtocol { +@@ -341,6 +341,7 @@ public enum ConnectionProtocol { @Nullable public Packet createPacket(int id, FriendlyByteBuf buf) { diff --git a/patches/unapplied/server/0442-Fix-some-rails-connecting-improperly.patch b/patches/server/0442-Fix-some-rails-connecting-improperly.patch similarity index 92% rename from patches/unapplied/server/0442-Fix-some-rails-connecting-improperly.patch rename to patches/server/0442-Fix-some-rails-connecting-improperly.patch index 1db425010e..f7cfa8c509 100644 --- a/patches/unapplied/server/0442-Fix-some-rails-connecting-improperly.patch +++ b/patches/server/0442-Fix-some-rails-connecting-improperly.patch @@ -5,10 +5,10 @@ Subject: [PATCH] Fix some rails connecting improperly diff --git a/src/main/java/net/minecraft/world/level/block/BaseRailBlock.java b/src/main/java/net/minecraft/world/level/block/BaseRailBlock.java -index 682e1cd0f4307bcc716ab82e375bd04cde095aa0..547d09c3a1cd0c5401aacb78886896365ba192e7 100644 +index d8dd9f26fe4344541d0544e35bbc66c5d567a80b..dcf49e21208c78b471e6c38cdb0746a0c88fe5a7 100644 --- a/src/main/java/net/minecraft/world/level/block/BaseRailBlock.java +++ b/src/main/java/net/minecraft/world/level/block/BaseRailBlock.java -@@ -64,6 +64,7 @@ public abstract class BaseRailBlock extends Block implements SimpleWaterloggedBl +@@ -68,6 +68,7 @@ public abstract class BaseRailBlock extends Block implements SimpleWaterloggedBl state = this.updateDir(world, pos, state, true); if (this.isStraight) { world.neighborChanged(state, pos, this, pos, notify); @@ -17,10 +17,10 @@ index 682e1cd0f4307bcc716ab82e375bd04cde095aa0..547d09c3a1cd0c5401aacb7888689636 return state; diff --git a/src/main/java/net/minecraft/world/level/block/DetectorRailBlock.java b/src/main/java/net/minecraft/world/level/block/DetectorRailBlock.java -index fe9b6c89a1f0c98a9c73a409f2aca6a4a1c0f9e7..932a2c279f46c951182d2604b525b473b6945895 100644 +index 41452abc7b761858ff2f3ff6a833b09c16fded4f..8eff69cb70ba094f9dcc0849f0436d4a3498fceb 100644 --- a/src/main/java/net/minecraft/world/level/block/DetectorRailBlock.java +++ b/src/main/java/net/minecraft/world/level/block/DetectorRailBlock.java -@@ -70,6 +70,7 @@ public class DetectorRailBlock extends BaseRailBlock { +@@ -77,6 +77,7 @@ public class DetectorRailBlock extends BaseRailBlock { private void checkPressed(Level world, BlockPos pos, BlockState state) { if (this.canSurvive(state, world, pos)) { diff --git a/patches/unapplied/server/0443-Fix-regex-mistake-in-CB-NBT-int-deserialization.patch b/patches/server/0443-Fix-regex-mistake-in-CB-NBT-int-deserialization.patch similarity index 100% rename from patches/unapplied/server/0443-Fix-regex-mistake-in-CB-NBT-int-deserialization.patch rename to patches/server/0443-Fix-regex-mistake-in-CB-NBT-int-deserialization.patch diff --git a/patches/unapplied/server/0444-Brand-support.patch b/patches/server/0444-Brand-support.patch similarity index 89% rename from patches/unapplied/server/0444-Brand-support.patch rename to patches/server/0444-Brand-support.patch index f05ccbba27..9ad004d88f 100644 --- a/patches/unapplied/server/0444-Brand-support.patch +++ b/patches/server/0444-Brand-support.patch @@ -5,19 +5,19 @@ Subject: [PATCH] Brand support diff --git a/src/main/java/net/minecraft/server/level/ServerPlayer.java b/src/main/java/net/minecraft/server/level/ServerPlayer.java -index 2c2b1aef3f510edb9bb124581739f06692ab5673..567bfcdf5c946d09bb8188435ee13930082dccf5 100644 +index 25c5f23b859961c792b2ec08404171eea1aedba7..478abaffd1a80949b96f1c1774c98134be92e5ac 100644 --- a/src/main/java/net/minecraft/server/level/ServerPlayer.java +++ b/src/main/java/net/minecraft/server/level/ServerPlayer.java -@@ -271,6 +271,7 @@ public class ServerPlayer extends Player { +@@ -278,6 +278,7 @@ public class ServerPlayer extends Player { public boolean isRealPlayer; // Paper public final com.destroystokyo.paper.util.misc.PooledLinkedHashSets.PooledObjectLinkedOpenHashSet cachedSingleHashSet; // Paper - public PlayerNaturallySpawnCreaturesEvent playerNaturallySpawnedEvent; // Paper + public com.destroystokyo.paper.event.entity.PlayerNaturallySpawnCreaturesEvent playerNaturallySpawnedEvent; // Paper + public @Nullable String clientBrandName = null; // Paper - Brand name // Paper start - replace player chunk loader private final java.util.concurrent.atomic.AtomicReference viewDistances = new java.util.concurrent.atomic.AtomicReference<>(new io.papermc.paper.chunk.system.RegionizedPlayerChunkLoader.ViewDistances(-1, -1, -1)); diff --git a/src/main/java/net/minecraft/server/network/ServerCommonPacketListenerImpl.java b/src/main/java/net/minecraft/server/network/ServerCommonPacketListenerImpl.java -index d25b6431ce617d90fd1d6489a308d6630b92c175..96ee68e6656a59d959ad7a7e78f5a3752d6e3dbb 100644 +index 6b53e65308fb4118ef2d78ec9d171722ba2301f5..2d0ce31011ce1dbbf3c86f09bbf9a41a6e4a158f 100644 --- a/src/main/java/net/minecraft/server/network/ServerCommonPacketListenerImpl.java +++ b/src/main/java/net/minecraft/server/network/ServerCommonPacketListenerImpl.java @@ -54,6 +54,7 @@ public abstract class ServerCommonPacketListenerImpl implements ServerCommonPack @@ -57,10 +57,10 @@ index d25b6431ce617d90fd1d6489a308d6630b92c175..96ee68e6656a59d959ad7a7e78f5a375 } catch (Exception ex) { ServerGamePacketListenerImpl.LOGGER.error("Couldn\'t dispatch custom payload", ex); diff --git a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java -index 7c40718a53d2ef480441fd053de7c45971efe416..5e0fc3fd8e55b3dd238b38105fc6da75bfb709fc 100644 +index e00e595677ce0b4e9e1e12883b06f99f55af7d31..16476b8d20619d8526658db24ed3de60a151ffcf 100644 --- a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java +++ b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java -@@ -3011,6 +3011,13 @@ public class CraftPlayer extends CraftHumanEntity implements Player { +@@ -3026,6 +3026,13 @@ public class CraftPlayer extends CraftHumanEntity implements Player { // Paper end }; diff --git a/patches/unapplied/server/0445-Add-playPickupItemAnimation-to-LivingEntity.patch b/patches/server/0445-Add-playPickupItemAnimation-to-LivingEntity.patch similarity index 83% rename from patches/unapplied/server/0445-Add-playPickupItemAnimation-to-LivingEntity.patch rename to patches/server/0445-Add-playPickupItemAnimation-to-LivingEntity.patch index 5e9439a17f..4f99ae26b9 100644 --- a/patches/unapplied/server/0445-Add-playPickupItemAnimation-to-LivingEntity.patch +++ b/patches/server/0445-Add-playPickupItemAnimation-to-LivingEntity.patch @@ -5,10 +5,10 @@ Subject: [PATCH] Add playPickupItemAnimation to LivingEntity diff --git a/src/main/java/org/bukkit/craftbukkit/entity/CraftLivingEntity.java b/src/main/java/org/bukkit/craftbukkit/entity/CraftLivingEntity.java -index 38cad5b0d7e6018adda56b3292280738c46622e9..c8e729e949e7a8301f17768d6ae3f3ce940bb73a 100644 +index f5b9d1fe0d672e11b6295aefc9e182606dbebf88..95406737a6c72fd118a0022e07cdf15936e3911a 100644 --- a/src/main/java/org/bukkit/craftbukkit/entity/CraftLivingEntity.java +++ b/src/main/java/org/bukkit/craftbukkit/entity/CraftLivingEntity.java -@@ -920,5 +920,10 @@ public class CraftLivingEntity extends CraftEntity implements LivingEntity { +@@ -925,5 +925,10 @@ public class CraftLivingEntity extends CraftEntity implements LivingEntity { ((Mob) getHandle()).getJumpControl().jump(); } } diff --git a/patches/unapplied/server/0446-Don-t-require-FACING-data.patch b/patches/server/0446-Don-t-require-FACING-data.patch similarity index 100% rename from patches/unapplied/server/0446-Don-t-require-FACING-data.patch rename to patches/server/0446-Don-t-require-FACING-data.patch diff --git a/patches/unapplied/server/0447-Fix-SpawnChangeEvent-not-firing-for-all-use-cases.patch b/patches/server/0447-Fix-SpawnChangeEvent-not-firing-for-all-use-cases.patch similarity index 88% rename from patches/unapplied/server/0447-Fix-SpawnChangeEvent-not-firing-for-all-use-cases.patch rename to patches/server/0447-Fix-SpawnChangeEvent-not-firing-for-all-use-cases.patch index a61469e2b4..ce59435ff9 100644 --- a/patches/unapplied/server/0447-Fix-SpawnChangeEvent-not-firing-for-all-use-cases.patch +++ b/patches/server/0447-Fix-SpawnChangeEvent-not-firing-for-all-use-cases.patch @@ -5,10 +5,10 @@ Subject: [PATCH] Fix SpawnChangeEvent not firing for all use-cases diff --git a/src/main/java/net/minecraft/server/level/ServerLevel.java b/src/main/java/net/minecraft/server/level/ServerLevel.java -index c1214a8f53428c19ca1fc72942f5040066f45b12..d3f0cb141ce0942e55e395bfd2e7c3e2c2e48952 100644 +index d9fafffc52b5db0b55022c02b9321d47a2b49827..a9a724f1e586c7e04e88bc1ff8dff442d83aaf16 100644 --- a/src/main/java/net/minecraft/server/level/ServerLevel.java +++ b/src/main/java/net/minecraft/server/level/ServerLevel.java -@@ -1996,9 +1996,11 @@ public class ServerLevel extends Level implements WorldGenLevel { +@@ -2020,9 +2020,11 @@ public class ServerLevel extends Level implements WorldGenLevel { public void setDefaultSpawnPos(BlockPos pos, float angle) { // Paper - configurable spawn radius BlockPos prevSpawn = this.getSharedSpawnPos(); @@ -21,10 +21,10 @@ index c1214a8f53428c19ca1fc72942f5040066f45b12..d3f0cb141ce0942e55e395bfd2e7c3e2 // if this keepSpawnInMemory is false a plugin has already removed our tickets, do not re-add this.removeTicketsForSpawn(this.paperConfig().spawn.keepSpawnLoadedRange * 16, prevSpawn); diff --git a/src/main/java/org/bukkit/craftbukkit/CraftWorld.java b/src/main/java/org/bukkit/craftbukkit/CraftWorld.java -index 8306f8cce689260111fbf88b31515440a44d3a8c..787f78e663017eae375d7eaee9d1508913598829 100644 +index 2d90be2537faf281adc50f856daf3b4e8b842568..16df867ff996d33dc08831200d172633c9d68612 100644 --- a/src/main/java/org/bukkit/craftbukkit/CraftWorld.java +++ b/src/main/java/org/bukkit/craftbukkit/CraftWorld.java -@@ -262,12 +262,14 @@ public class CraftWorld extends CraftRegionAccessor implements World { +@@ -263,12 +263,14 @@ public class CraftWorld extends CraftRegionAccessor implements World { @Override public boolean setSpawnLocation(int x, int y, int z, float angle) { try { diff --git a/patches/unapplied/server/0448-Add-moon-phase-API.patch b/patches/server/0448-Add-moon-phase-API.patch similarity index 80% rename from patches/unapplied/server/0448-Add-moon-phase-API.patch rename to patches/server/0448-Add-moon-phase-API.patch index 594d395ebb..8a5548fc82 100644 --- a/patches/unapplied/server/0448-Add-moon-phase-API.patch +++ b/patches/server/0448-Add-moon-phase-API.patch @@ -5,10 +5,10 @@ Subject: [PATCH] Add moon phase API diff --git a/src/main/java/org/bukkit/craftbukkit/CraftRegionAccessor.java b/src/main/java/org/bukkit/craftbukkit/CraftRegionAccessor.java -index f92f726d2ab63694bad0d6eb0ee718ae6194144f..f0360d00918d115008775c41fb586d553c1e2b41 100644 +index 53385eb0fb6c79052f508f8feeff7cbd8559c19f..6433ac4053e7c39aa4ec73db4159422e501c9d21 100644 --- a/src/main/java/org/bukkit/craftbukkit/CraftRegionAccessor.java +++ b/src/main/java/org/bukkit/craftbukkit/CraftRegionAccessor.java -@@ -981,4 +981,11 @@ public abstract class CraftRegionAccessor implements RegionAccessor { +@@ -1015,4 +1015,11 @@ public abstract class CraftRegionAccessor implements RegionAccessor { throw new IllegalArgumentException("Cannot spawn an entity for " + clazz.getName()); } diff --git a/patches/unapplied/server/0449-Do-not-let-the-server-load-chunks-from-newer-version.patch b/patches/server/0449-Do-not-let-the-server-load-chunks-from-newer-version.patch similarity index 100% rename from patches/unapplied/server/0449-Do-not-let-the-server-load-chunks-from-newer-version.patch rename to patches/server/0449-Do-not-let-the-server-load-chunks-from-newer-version.patch diff --git a/patches/unapplied/server/0450-Prevent-headless-pistons-from-being-created.patch b/patches/server/0450-Prevent-headless-pistons-from-being-created.patch similarity index 92% rename from patches/unapplied/server/0450-Prevent-headless-pistons-from-being-created.patch rename to patches/server/0450-Prevent-headless-pistons-from-being-created.patch index a044172f14..246b9b7cf5 100644 --- a/patches/unapplied/server/0450-Prevent-headless-pistons-from-being-created.patch +++ b/patches/server/0450-Prevent-headless-pistons-from-being-created.patch @@ -6,10 +6,10 @@ Subject: [PATCH] Prevent headless pistons from being created Prevent headless pistons from being created by explosions or tree/mushroom growth. diff --git a/src/main/java/net/minecraft/world/level/Explosion.java b/src/main/java/net/minecraft/world/level/Explosion.java -index 93529defa5d36bb9b4c69eedda9b7ac3d0a189ce..e6e7ac7c5c31b6ff16a7bae6cc0706d31ea16c07 100644 +index b7cf13fe4a0af243c0e76d75439b28d5018dadb9..4f3b04e62de66c4b18e5e9a988dea7c3e7b85aa1 100644 --- a/src/main/java/net/minecraft/world/level/Explosion.java +++ b/src/main/java/net/minecraft/world/level/Explosion.java -@@ -184,6 +184,15 @@ public class Explosion { +@@ -206,6 +206,15 @@ public class Explosion { if (f > 0.0F && this.damageCalculator.shouldBlockExplode(this, this.level, blockposition, iblockdata, f)) { set.add(blockposition); diff --git a/patches/unapplied/server/0451-Add-BellRingEvent.patch b/patches/server/0451-Add-BellRingEvent.patch similarity index 93% rename from patches/unapplied/server/0451-Add-BellRingEvent.patch rename to patches/server/0451-Add-BellRingEvent.patch index 539214613a..ce008b49dd 100644 --- a/patches/unapplied/server/0451-Add-BellRingEvent.patch +++ b/patches/server/0451-Add-BellRingEvent.patch @@ -7,7 +7,7 @@ Add a new event, BellRingEvent, to trigger whenever a player rings a village bell. Passes along the bell block and the player who rang it. diff --git a/src/main/java/org/bukkit/craftbukkit/event/CraftEventFactory.java b/src/main/java/org/bukkit/craftbukkit/event/CraftEventFactory.java -index 265a30230c0dde7bb48f5ed0e6ebb91556d5b51f..e2b09b575416a47277c53c6d49572d0845cb8a72 100644 +index ce0d05009a9b88607a143ad40421d70148491817..bb7ec8b5a76155ec5a6bfa29eda4e395cf3f23d2 100644 --- a/src/main/java/org/bukkit/craftbukkit/event/CraftEventFactory.java +++ b/src/main/java/org/bukkit/craftbukkit/event/CraftEventFactory.java @@ -369,10 +369,11 @@ public class CraftEventFactory { diff --git a/patches/unapplied/server/0452-Add-zombie-targets-turtle-egg-config.patch b/patches/server/0452-Add-zombie-targets-turtle-egg-config.patch similarity index 100% rename from patches/unapplied/server/0452-Add-zombie-targets-turtle-egg-config.patch rename to patches/server/0452-Add-zombie-targets-turtle-egg-config.patch diff --git a/patches/unapplied/server/0453-Buffer-joins-to-world.patch b/patches/server/0453-Buffer-joins-to-world.patch similarity index 100% rename from patches/unapplied/server/0453-Buffer-joins-to-world.patch rename to patches/server/0453-Buffer-joins-to-world.patch diff --git a/patches/unapplied/server/0454-Eigencraft-redstone-implementation.patch b/patches/server/0454-Eigencraft-redstone-implementation.patch similarity index 99% rename from patches/unapplied/server/0454-Eigencraft-redstone-implementation.patch rename to patches/server/0454-Eigencraft-redstone-implementation.patch index 5991ef0146..0022f6b8df 100644 --- a/patches/unapplied/server/0454-Eigencraft-redstone-implementation.patch +++ b/patches/server/0454-Eigencraft-redstone-implementation.patch @@ -986,10 +986,10 @@ index 0000000000000000000000000000000000000000..22a2547810d0c029f29685faddf7ac21 + } +} 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 8a18aab3115d2ee1e888769518704f2a5aa1d4cc..a0ae3635ae8c3fd3ac17dd9fa614ec84c7b1b0ca 100644 +index 7cc1410803c0054566ce2849e0b04b14e5b0ab92..5ffb1453bf332e8035abacc97ab36d78e1248484 100644 --- a/src/main/java/net/minecraft/world/level/block/RedStoneWireBlock.java +++ b/src/main/java/net/minecraft/world/level/block/RedStoneWireBlock.java -@@ -252,6 +252,116 @@ public class RedStoneWireBlock extends Block { +@@ -259,6 +259,116 @@ public class RedStoneWireBlock extends Block { return floor.isFaceSturdy(world, pos, Direction.UP) || floor.is(Blocks.HOPPER); } @@ -1106,7 +1106,7 @@ index 8a18aab3115d2ee1e888769518704f2a5aa1d4cc..a0ae3635ae8c3fd3ac17dd9fa614ec84 private void updatePowerStrength(Level world, BlockPos pos, BlockState state) { int i = this.calculateTargetStrength(world, pos); -@@ -321,6 +431,7 @@ public class RedStoneWireBlock extends Block { +@@ -328,6 +438,7 @@ public class RedStoneWireBlock extends Block { return Math.max(i, j - 1); } @@ -1114,7 +1114,7 @@ index 8a18aab3115d2ee1e888769518704f2a5aa1d4cc..a0ae3635ae8c3fd3ac17dd9fa614ec84 private int getWireSignal(BlockState state) { return state.is((Block) this) ? (Integer) state.getValue(RedStoneWireBlock.POWER) : 0; } -@@ -343,7 +454,7 @@ public class RedStoneWireBlock extends Block { +@@ -350,7 +461,7 @@ 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) { @@ -1123,7 +1123,7 @@ index 8a18aab3115d2ee1e888769518704f2a5aa1d4cc..a0ae3635ae8c3fd3ac17dd9fa614ec84 Iterator iterator = Direction.Plane.VERTICAL.iterator(); while (iterator.hasNext()) { -@@ -370,7 +481,7 @@ public class RedStoneWireBlock extends Block { +@@ -377,7 +488,7 @@ public class RedStoneWireBlock extends Block { world.updateNeighborsAt(pos.relative(enumdirection), this); } @@ -1132,7 +1132,7 @@ index 8a18aab3115d2ee1e888769518704f2a5aa1d4cc..a0ae3635ae8c3fd3ac17dd9fa614ec84 this.updateNeighborsOfNeighboringWires(world, pos); } } -@@ -405,7 +516,7 @@ public class RedStoneWireBlock extends Block { +@@ -412,7 +523,7 @@ public class RedStoneWireBlock extends Block { public void neighborChanged(BlockState state, Level world, BlockPos pos, Block sourceBlock, BlockPos sourcePos, boolean notify) { if (!world.isClientSide) { if (state.canSurvive(world, pos)) { diff --git a/patches/unapplied/server/0455-Fix-hex-colors-not-working-in-some-kick-messages.patch b/patches/server/0455-Fix-hex-colors-not-working-in-some-kick-messages.patch similarity index 95% rename from patches/unapplied/server/0455-Fix-hex-colors-not-working-in-some-kick-messages.patch rename to patches/server/0455-Fix-hex-colors-not-working-in-some-kick-messages.patch index 17c5c43c44..176fafac47 100644 --- a/patches/unapplied/server/0455-Fix-hex-colors-not-working-in-some-kick-messages.patch +++ b/patches/server/0455-Fix-hex-colors-not-working-in-some-kick-messages.patch @@ -25,10 +25,10 @@ index e8cf9eafe0908bc9b716d9b6ead97828a43413ec..2ee5c884571228a353120f658f1a2d39 this.connection.send(new ClientboundLoginDisconnectPacket(ichatmutablecomponent)); diff --git a/src/main/java/net/minecraft/server/network/ServerLoginPacketListenerImpl.java b/src/main/java/net/minecraft/server/network/ServerLoginPacketListenerImpl.java -index 673652231a65e9441ee882c86656b86a86547488..97e91910c2c30b4f838e78794c9107bdfe8d7668 100644 +index 615fb00e50f3c434809f8e1b201d457b9beae8fd..c58fc7d950ea2aa136c3922fb14e4f183f45f2d3 100644 --- a/src/main/java/net/minecraft/server/network/ServerLoginPacketListenerImpl.java +++ b/src/main/java/net/minecraft/server/network/ServerLoginPacketListenerImpl.java -@@ -97,7 +97,7 @@ public class ServerLoginPacketListenerImpl implements ServerLoginPacketListener, +@@ -99,7 +99,7 @@ public class ServerLoginPacketListenerImpl implements ServerLoginPacketListener, // CraftBukkit start @Deprecated public void disconnect(String s) { diff --git a/patches/unapplied/server/0456-PortalCreateEvent-needs-to-know-its-entity.patch b/patches/server/0456-PortalCreateEvent-needs-to-know-its-entity.patch similarity index 89% rename from patches/unapplied/server/0456-PortalCreateEvent-needs-to-know-its-entity.patch rename to patches/server/0456-PortalCreateEvent-needs-to-know-its-entity.patch index a8f5144e8d..3a22b97d19 100644 --- a/patches/unapplied/server/0456-PortalCreateEvent-needs-to-know-its-entity.patch +++ b/patches/server/0456-PortalCreateEvent-needs-to-know-its-entity.patch @@ -5,10 +5,10 @@ Subject: [PATCH] PortalCreateEvent needs to know its entity diff --git a/src/main/java/net/minecraft/world/item/ItemStack.java b/src/main/java/net/minecraft/world/item/ItemStack.java -index abaafcff3f7a5e710319c93313a4ecf9874b7ef8..a9707ecebb175663acb0f7285c759d938c5dae8b 100644 +index b5080861a4aa34a95618bcee7723bd3ec34b09c4..385b7e907c535a153d86fbec11eb3070edf66dd4 100644 --- a/src/main/java/net/minecraft/world/item/ItemStack.java +++ b/src/main/java/net/minecraft/world/item/ItemStack.java -@@ -457,7 +457,7 @@ public final class ItemStack { +@@ -478,7 +478,7 @@ public final class ItemStack { net.minecraft.world.level.block.state.BlockState block = world.getBlockState(newblockposition); if (!(block.getBlock() instanceof BaseEntityBlock)) { // Containers get placed automatically @@ -18,10 +18,10 @@ index abaafcff3f7a5e710319c93313a4ecf9874b7ef8..a9707ecebb175663acb0f7285c759d93 world.notifyAndUpdatePhysics(newblockposition, null, oldBlock, block, world.getBlockState(newblockposition), updateFlag, 512); // send null chunk as chunk.k() returns false by this point 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 2bc31c28d0d5469476699b69efa6e07325f2a852..4066dd6a638cf2186c628905915f635326442b3e 100644 +index e707553bbddf84bc48ec7186da00c3eb0632946d..0e56fbe8836020a0e36c0b6df01ae82d0aa8cf38 100644 --- a/src/main/java/net/minecraft/world/level/block/BaseFireBlock.java +++ b/src/main/java/net/minecraft/world/level/block/BaseFireBlock.java -@@ -138,20 +138,23 @@ public abstract class BaseFireBlock extends Block { +@@ -142,20 +142,23 @@ public abstract class BaseFireBlock extends Block { super.entityInside(state, world, pos, entity); } @@ -52,10 +52,10 @@ index 2bc31c28d0d5469476699b69efa6e07325f2a852..4066dd6a638cf2186c628905915f6353 } 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 893ff998afaa47500a03ae55ce45e9862ab1cc18..a3021fbc570ae47eb6b0d4a89388c8ed893aced7 100644 +index 8fce3ad36a6ee8166f4abd9e0e369b641d487af9..3fb197ee3bfd3f36881b7d67f7a37f035bb27daf 100644 --- a/src/main/java/net/minecraft/world/level/block/FireBlock.java +++ b/src/main/java/net/minecraft/world/level/block/FireBlock.java -@@ -13,6 +13,7 @@ import net.minecraft.server.level.ServerLevel; +@@ -14,6 +14,7 @@ import net.minecraft.server.level.ServerLevel; import net.minecraft.tags.BiomeTags; import net.minecraft.util.RandomSource; import net.minecraft.world.item.context.BlockPlaceContext; @@ -63,7 +63,7 @@ index 893ff998afaa47500a03ae55ce45e9862ab1cc18..a3021fbc570ae47eb6b0d4a89388c8ed import net.minecraft.world.level.BlockGetter; import net.minecraft.world.level.GameRules; import net.minecraft.world.level.Level; -@@ -361,9 +362,11 @@ public class FireBlock extends BaseFireBlock { +@@ -368,9 +369,11 @@ public class FireBlock extends BaseFireBlock { } @Override @@ -79,18 +79,18 @@ index 893ff998afaa47500a03ae55ce45e9862ab1cc18..a3021fbc570ae47eb6b0d4a89388c8ed private static int getFireTickDelay(RandomSource random) { 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 a5942b6683d38f067f8ca1dfbe467b72df242632..96bdf69c8788aa0b1dff64789e6f13c856ee99ff 100644 +index c64213fe3ec0bd34cd1b31ae18eff1fecbcf63d6..31dc96c371953eb7ca3d3b444b123ade1f24c909 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 -@@ -40,6 +40,7 @@ import net.minecraft.world.item.DyeColor; +@@ -43,6 +43,7 @@ import net.minecraft.world.item.DyeColor; import net.minecraft.world.item.Item; import net.minecraft.world.item.ItemStack; import net.minecraft.world.item.context.BlockPlaceContext; +import net.minecraft.world.item.context.UseOnContext; import net.minecraft.world.level.BlockGetter; import net.minecraft.world.level.EmptyBlockGetter; - import net.minecraft.world.level.Level; -@@ -143,6 +144,12 @@ public abstract class BlockBehaviour implements FeatureElement { + import net.minecraft.world.level.Explosion; +@@ -163,6 +164,12 @@ public abstract class BlockBehaviour implements FeatureElement { DebugPackets.sendNeighborsUpdatePacket(world, pos); } @@ -104,7 +104,7 @@ index a5942b6683d38f067f8ca1dfbe467b72df242632..96bdf69c8788aa0b1dff64789e6f13c8 @Deprecated public void onPlace(BlockState state, Level world, BlockPos pos, BlockState oldState, boolean notify) { diff --git a/src/main/java/net/minecraft/world/level/portal/PortalShape.java b/src/main/java/net/minecraft/world/level/portal/PortalShape.java -index bc0dfa8efe0b2a891c000e750f436db632607ada..c461e0d04047db9c0c5ecc04063cebd38bf96ec2 100644 +index 9fc4997277dd199cf6cffccceb3a9735398c5356..590cd053a1b1c2a489772a2879998725fe0d783c 100644 --- a/src/main/java/net/minecraft/world/level/portal/PortalShape.java +++ b/src/main/java/net/minecraft/world/level/portal/PortalShape.java @@ -11,6 +11,7 @@ import net.minecraft.tags.BlockTags; diff --git a/patches/unapplied/server/0457-Add-more-Evoker-API.patch b/patches/server/0457-Add-more-Evoker-API.patch similarity index 100% rename from patches/unapplied/server/0457-Add-more-Evoker-API.patch rename to patches/server/0457-Add-more-Evoker-API.patch diff --git a/patches/unapplied/server/0458-Add-methods-to-get-translation-keys.patch b/patches/server/0458-Add-methods-to-get-translation-keys.patch similarity index 94% rename from patches/unapplied/server/0458-Add-methods-to-get-translation-keys.patch rename to patches/server/0458-Add-methods-to-get-translation-keys.patch index 5f785eb079..de4abafd78 100644 --- a/patches/unapplied/server/0458-Add-methods-to-get-translation-keys.patch +++ b/patches/server/0458-Add-methods-to-get-translation-keys.patch @@ -10,10 +10,10 @@ public org.bukkit.craftbukkit.inventory.CraftMetaFirework getNBT(Lorg/bukkit/Fir Co-authored-by: MeFisto94 diff --git a/src/main/java/org/bukkit/craftbukkit/block/CraftBlock.java b/src/main/java/org/bukkit/craftbukkit/block/CraftBlock.java -index 35e264172688be6cf6e82d948f591893d97a43aa..8313d6de11427a4340ac9fc4f3a04070a5c80cd8 100644 +index d0b1a419c9bc73066d79459dc3e5998160f8038b..a7783474afef0a2bab7e99e475c6d130bb88b01c 100644 --- a/src/main/java/org/bukkit/craftbukkit/block/CraftBlock.java +++ b/src/main/java/org/bukkit/craftbukkit/block/CraftBlock.java -@@ -668,5 +668,10 @@ public class CraftBlock implements Block { +@@ -669,5 +669,10 @@ public class CraftBlock implements Block { public org.bukkit.SoundGroup getBlockSoundGroup() { return org.bukkit.craftbukkit.CraftSoundGroup.getSoundGroup(this.getNMS().getSoundType()); } @@ -25,10 +25,10 @@ index 35e264172688be6cf6e82d948f591893d97a43aa..8313d6de11427a4340ac9fc4f3a04070 // Paper end } diff --git a/src/main/java/org/bukkit/craftbukkit/enchantments/CraftEnchantment.java b/src/main/java/org/bukkit/craftbukkit/enchantments/CraftEnchantment.java -index 9ae78a0fe829c7487a945a801dbbca2375da1cbb..5b09e7e08c61b10044ac5f481bf10bb79feda8a3 100644 +index b54bd4e85042955448a2e76b379d370eefdff383..e8f03a40db4505c1e7f2aeb8946c207833acd416 100644 --- a/src/main/java/org/bukkit/craftbukkit/enchantments/CraftEnchantment.java +++ b/src/main/java/org/bukkit/craftbukkit/enchantments/CraftEnchantment.java -@@ -194,6 +194,11 @@ public class CraftEnchantment extends Enchantment { +@@ -161,6 +161,11 @@ public class CraftEnchantment extends Enchantment { public net.kyori.adventure.text.Component displayName(int level) { return io.papermc.paper.adventure.PaperAdventure.asAdventure(getHandle().getFullname(level)); } @@ -39,7 +39,7 @@ index 9ae78a0fe829c7487a945a801dbbca2375da1cbb..5b09e7e08c61b10044ac5f481bf10bb7 + } // Paper end - public net.minecraft.world.item.enchantment.Enchantment getHandle() { + @Override diff --git a/src/test/java/io/papermc/paper/world/TranslationKeyTest.java b/src/test/java/io/papermc/paper/world/TranslationKeyTest.java index 7f8b6462d2a1bbd39a870d2543bebc135f7eb45b..dbd1dc4453bd26fb6116b62f6ccbf69e92e09fc4 100644 --- a/src/test/java/io/papermc/paper/world/TranslationKeyTest.java diff --git a/patches/unapplied/server/0459-Create-HoverEvent-from-ItemStack-Entity.patch b/patches/server/0459-Create-HoverEvent-from-ItemStack-Entity.patch similarity index 94% rename from patches/unapplied/server/0459-Create-HoverEvent-from-ItemStack-Entity.patch rename to patches/server/0459-Create-HoverEvent-from-ItemStack-Entity.patch index 9abcb54dc7..b2004f6a12 100644 --- a/patches/unapplied/server/0459-Create-HoverEvent-from-ItemStack-Entity.patch +++ b/patches/server/0459-Create-HoverEvent-from-ItemStack-Entity.patch @@ -5,10 +5,10 @@ Subject: [PATCH] Create HoverEvent from ItemStack Entity diff --git a/src/main/java/org/bukkit/craftbukkit/inventory/CraftItemFactory.java b/src/main/java/org/bukkit/craftbukkit/inventory/CraftItemFactory.java -index 8a89fd0f771e0df439dc9070df7dfa6f2cbd5de2..2251c06ae08a846129b1cef4842c112708a6ecf4 100644 +index b6f5e63c7e7e45dd3eb15bad5c6bee9d5417311e..866106d0d773e407a0cdd8614818cba4ab910040 100644 --- a/src/main/java/org/bukkit/craftbukkit/inventory/CraftItemFactory.java +++ b/src/main/java/org/bukkit/craftbukkit/inventory/CraftItemFactory.java -@@ -530,4 +530,41 @@ public final class CraftItemFactory implements ItemFactory { +@@ -533,4 +533,41 @@ public final class CraftItemFactory implements ItemFactory { return nms != null ? net.minecraft.locale.Language.getInstance().getOrDefault(nms.getItem().getDescriptionId(nms)) : null; } // Paper end - add getI18NDisplayName diff --git a/patches/unapplied/server/0460-Cache-block-data-strings.patch b/patches/server/0460-Cache-block-data-strings.patch similarity index 90% rename from patches/unapplied/server/0460-Cache-block-data-strings.patch rename to patches/server/0460-Cache-block-data-strings.patch index bec929642c..cede9b658d 100644 --- a/patches/unapplied/server/0460-Cache-block-data-strings.patch +++ b/patches/server/0460-Cache-block-data-strings.patch @@ -5,10 +5,10 @@ Subject: [PATCH] Cache block data strings diff --git a/src/main/java/net/minecraft/server/MinecraftServer.java b/src/main/java/net/minecraft/server/MinecraftServer.java -index a5353af5ff47b5be7dac9a4e55989ad9490cf30f..3ce983b0e93c1f70acaa22c800273fe625b20454 100644 +index a82f7dd2cbc2f6311b810f117f0970a47db85818..2616d771a8a95dac4440b74933c8aa7b83a9bbd1 100644 --- a/src/main/java/net/minecraft/server/MinecraftServer.java +++ b/src/main/java/net/minecraft/server/MinecraftServer.java -@@ -2049,6 +2049,7 @@ public abstract class MinecraftServer extends ReentrantBlockableEventLoop%s", nms, bukkit); } diff --git a/patches/unapplied/server/0461-Fix-Entity-Teleportation-and-cancel-velocity-if-tele.patch b/patches/server/0461-Fix-Entity-Teleportation-and-cancel-velocity-if-tele.patch similarity index 83% rename from patches/unapplied/server/0461-Fix-Entity-Teleportation-and-cancel-velocity-if-tele.patch rename to patches/server/0461-Fix-Entity-Teleportation-and-cancel-velocity-if-tele.patch index e3fb5a8319..6c481919d5 100644 --- a/patches/unapplied/server/0461-Fix-Entity-Teleportation-and-cancel-velocity-if-tele.patch +++ b/patches/server/0461-Fix-Entity-Teleportation-and-cancel-velocity-if-tele.patch @@ -9,10 +9,10 @@ as this is how Vanilla teleports entities. Cancel any pending motion when teleported. diff --git a/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java b/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java -index 0080136d9aaead083fd1d94d2f7a0df250e3d9d8..7854073fccf6c3c2eff1acf0e4e6eac0dfcb9919 100644 +index 110456e28adeeef790940b9281801d9926244b37..2663d2e433946c2c9a36d223cb7e704272716a80 100644 --- a/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java +++ b/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java -@@ -657,7 +657,7 @@ public class ServerGamePacketListenerImpl extends ServerCommonPacketListenerImpl +@@ -660,7 +660,7 @@ public class ServerGamePacketListenerImpl extends ServerCommonPacketListenerImpl return; } @@ -21,7 +21,7 @@ index 0080136d9aaead083fd1d94d2f7a0df250e3d9d8..7854073fccf6c3c2eff1acf0e4e6eac0 this.lastGoodX = this.awaitingPositionFromClient.x; this.lastGoodY = this.awaitingPositionFromClient.y; this.lastGoodZ = this.awaitingPositionFromClient.z; -@@ -1557,7 +1557,7 @@ public class ServerGamePacketListenerImpl extends ServerCommonPacketListenerImpl +@@ -1584,7 +1584,7 @@ public class ServerGamePacketListenerImpl extends ServerCommonPacketListenerImpl // CraftBukkit end this.awaitingTeleportTime = this.tickCount; @@ -31,10 +31,10 @@ index 0080136d9aaead083fd1d94d2f7a0df250e3d9d8..7854073fccf6c3c2eff1acf0e4e6eac0 } diff --git a/src/main/java/net/minecraft/world/entity/Entity.java b/src/main/java/net/minecraft/world/entity/Entity.java -index 78af47c54f8dd3b1b4f81b740bcd438132c27947..d751bae633161abf9aa63197239e519c00676edf 100644 +index 76a1803f806d3bf1a54dae15d8155d6a0920cf07..2693057247bc2640c043db1baf50c579d4058a68 100644 --- a/src/main/java/net/minecraft/world/entity/Entity.java +++ b/src/main/java/net/minecraft/world/entity/Entity.java -@@ -159,6 +159,7 @@ public abstract class Entity implements Nameable, EntityAccess, CommandSource { +@@ -160,6 +160,7 @@ public abstract class Entity implements Nameable, EntityAccess, CommandSource, S // CraftBukkit start private static final int CURRENT_LEVEL = 2; @@ -42,7 +42,7 @@ index 78af47c54f8dd3b1b4f81b740bcd438132c27947..d751bae633161abf9aa63197239e519c static boolean isLevelAtLeast(CompoundTag tag, int level) { return tag.contains("Bukkit.updateLevel") && tag.getInt("Bukkit.updateLevel") >= level; } -@@ -1864,6 +1865,13 @@ public abstract class Entity implements Nameable, EntityAccess, CommandSource { +@@ -1869,6 +1870,13 @@ public abstract class Entity implements Nameable, EntityAccess, CommandSource, S } public void moveTo(double x, double y, double z, float yaw, float pitch) { @@ -57,10 +57,10 @@ index 78af47c54f8dd3b1b4f81b740bcd438132c27947..d751bae633161abf9aa63197239e519c this.setYRot(yaw); this.setXRot(pitch); diff --git a/src/main/java/net/minecraft/world/level/BaseSpawner.java b/src/main/java/net/minecraft/world/level/BaseSpawner.java -index 369298dfd437c1c83801f3d4ba63484ee1b969fe..ae2b95f53e875716489821dc9b0a3a35039bfcc9 100644 +index 41f549f16f69f9bc50a004096e6c3c0f6e4d4eaf..9ec83d6eeff22c2ce25374a83f581a675d4fd067 100644 --- a/src/main/java/net/minecraft/world/level/BaseSpawner.java +++ b/src/main/java/net/minecraft/world/level/BaseSpawner.java -@@ -167,6 +167,7 @@ public abstract class BaseSpawner { +@@ -169,6 +169,7 @@ public abstract class BaseSpawner { return; } @@ -69,10 +69,10 @@ index 369298dfd437c1c83801f3d4ba63484ee1b969fe..ae2b95f53e875716489821dc9b0a3a35 if (entity instanceof Mob) { Mob entityinsentient = (Mob) entity; diff --git a/src/main/java/org/bukkit/craftbukkit/entity/CraftEntity.java b/src/main/java/org/bukkit/craftbukkit/entity/CraftEntity.java -index 0498a83ceb4c009b76086dc44f80395efaab797e..747445306a19db2b89fa7cdfc5dcd7f361a69f54 100644 +index ded0332f5be000e31962e34033e69d17eed51280..370011b7de936a427f211edf306a5b6f3b8ea1a0 100644 --- a/src/main/java/org/bukkit/craftbukkit/entity/CraftEntity.java +++ b/src/main/java/org/bukkit/craftbukkit/entity/CraftEntity.java -@@ -579,7 +579,7 @@ public abstract class CraftEntity implements org.bukkit.entity.Entity { +@@ -586,7 +586,7 @@ public abstract class CraftEntity implements org.bukkit.entity.Entity { } // entity.setLocation() throws no event, and so cannot be cancelled diff --git a/patches/unapplied/server/0462-Add-additional-open-container-api-to-HumanEntity.patch b/patches/server/0462-Add-additional-open-container-api-to-HumanEntity.patch similarity index 95% rename from patches/unapplied/server/0462-Add-additional-open-container-api-to-HumanEntity.patch rename to patches/server/0462-Add-additional-open-container-api-to-HumanEntity.patch index 63c8f421ec..9096a46047 100644 --- a/patches/unapplied/server/0462-Add-additional-open-container-api-to-HumanEntity.patch +++ b/patches/server/0462-Add-additional-open-container-api-to-HumanEntity.patch @@ -5,10 +5,10 @@ Subject: [PATCH] Add additional open container api to HumanEntity diff --git a/src/main/java/org/bukkit/craftbukkit/entity/CraftHumanEntity.java b/src/main/java/org/bukkit/craftbukkit/entity/CraftHumanEntity.java -index 4ac714e39804fc8d269a717e8abf98f5814319e8..d41e37afeab1e8bb098c6ed012b10b113c4a4715 100644 +index 9541ebf81c3c2c282c6d04f5e51b309e69d0802e..2609da834c014e82d0038de580d50163dd0c5687 100644 --- a/src/main/java/org/bukkit/craftbukkit/entity/CraftHumanEntity.java +++ b/src/main/java/org/bukkit/craftbukkit/entity/CraftHumanEntity.java -@@ -461,6 +461,70 @@ public class CraftHumanEntity extends CraftLivingEntity implements HumanEntity { +@@ -462,6 +462,70 @@ public class CraftHumanEntity extends CraftLivingEntity implements HumanEntity { return this.getHandle().containerMenu.getBukkitView(); } diff --git a/patches/unapplied/server/0463-Cache-DataFixerUpper-Rewrite-Rules-on-demand.patch b/patches/server/0463-Cache-DataFixerUpper-Rewrite-Rules-on-demand.patch similarity index 100% rename from patches/unapplied/server/0463-Cache-DataFixerUpper-Rewrite-Rules-on-demand.patch rename to patches/server/0463-Cache-DataFixerUpper-Rewrite-Rules-on-demand.patch diff --git a/patches/unapplied/server/0464-Extend-block-drop-capture-to-capture-all-items-added.patch b/patches/server/0464-Extend-block-drop-capture-to-capture-all-items-added.patch similarity index 91% rename from patches/unapplied/server/0464-Extend-block-drop-capture-to-capture-all-items-added.patch rename to patches/server/0464-Extend-block-drop-capture-to-capture-all-items-added.patch index f647fd0ee3..8484d72776 100644 --- a/patches/unapplied/server/0464-Extend-block-drop-capture-to-capture-all-items-added.patch +++ b/patches/server/0464-Extend-block-drop-capture-to-capture-all-items-added.patch @@ -6,10 +6,10 @@ Subject: [PATCH] Extend block drop capture to capture all items added to the diff --git a/src/main/java/net/minecraft/server/level/ServerLevel.java b/src/main/java/net/minecraft/server/level/ServerLevel.java -index d3f0cb141ce0942e55e395bfd2e7c3e2c2e48952..dd5ac4b4c30afab7b376947548722050fb3af106 100644 +index a9a724f1e586c7e04e88bc1ff8dff442d83aaf16..2ce0a851bc0989bb0fe294b92a9aa428c38ba266 100644 --- a/src/main/java/net/minecraft/server/level/ServerLevel.java +++ b/src/main/java/net/minecraft/server/level/ServerLevel.java -@@ -1509,6 +1509,12 @@ public class ServerLevel extends Level implements WorldGenLevel { +@@ -1528,6 +1528,12 @@ 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 { @@ -23,7 +23,7 @@ index d3f0cb141ce0942e55e395bfd2e7c3e2c2e48952..dd5ac4b4c30afab7b376947548722050 if (spawnReason != null && !CraftEventFactory.doEntityAddEventCalling(this, entity, spawnReason)) { return false; diff --git a/src/main/java/net/minecraft/server/level/ServerPlayerGameMode.java b/src/main/java/net/minecraft/server/level/ServerPlayerGameMode.java -index 1685dd08ef6331e133d752cd9ce3874c9eda5a05..49828aa38e06d7a2f0c7c5b7c4be374996ef4524 100644 +index a9ede0d719e866655ab48fb5d0263c7d1bdcff60..c61754976fab6654f55b1403d769eb1721871dca 100644 --- a/src/main/java/net/minecraft/server/level/ServerPlayerGameMode.java +++ b/src/main/java/net/minecraft/server/level/ServerPlayerGameMode.java @@ -431,10 +431,12 @@ public class ServerPlayerGameMode { diff --git a/patches/unapplied/server/0465-Expose-the-Entity-Counter-to-allow-plugins-to-use-va.patch b/patches/server/0465-Expose-the-Entity-Counter-to-allow-plugins-to-use-va.patch similarity index 78% rename from patches/unapplied/server/0465-Expose-the-Entity-Counter-to-allow-plugins-to-use-va.patch rename to patches/server/0465-Expose-the-Entity-Counter-to-allow-plugins-to-use-va.patch index 00859614c6..900933f30e 100644 --- a/patches/unapplied/server/0465-Expose-the-Entity-Counter-to-allow-plugins-to-use-va.patch +++ b/patches/server/0465-Expose-the-Entity-Counter-to-allow-plugins-to-use-va.patch @@ -6,10 +6,10 @@ Subject: [PATCH] Expose the Entity Counter to allow plugins to use valid and diff --git a/src/main/java/net/minecraft/world/entity/Entity.java b/src/main/java/net/minecraft/world/entity/Entity.java -index d751bae633161abf9aa63197239e519c00676edf..14a3163e0e82eed9bf91b5c703774547f125c3c5 100644 +index 2693057247bc2640c043db1baf50c579d4058a68..fa48ed90623106065f4b84f2ffbf889ae70842eb 100644 --- a/src/main/java/net/minecraft/world/entity/Entity.java +++ b/src/main/java/net/minecraft/world/entity/Entity.java -@@ -4451,4 +4451,10 @@ public abstract class Entity implements Nameable, EntityAccess, CommandSource { +@@ -4493,4 +4493,10 @@ public abstract class Entity implements Nameable, EntityAccess, CommandSource, S void accept(Entity entity, double x, double y, double z); } @@ -21,10 +21,10 @@ index d751bae633161abf9aa63197239e519c00676edf..14a3163e0e82eed9bf91b5c703774547 + // Paper end } diff --git a/src/main/java/org/bukkit/craftbukkit/util/CraftMagicNumbers.java b/src/main/java/org/bukkit/craftbukkit/util/CraftMagicNumbers.java -index a78c6610be6e89dd89881867b8b91ed9cece7562..d40ea1a394c483abe18915446d61b3f1f496af53 100644 +index a394298df60ddd0aa709f9e250520da9db8c9589..5d1df87177b3d6a5f4c4b1f12bbbba7b597f2911 100644 --- a/src/main/java/org/bukkit/craftbukkit/util/CraftMagicNumbers.java +++ b/src/main/java/org/bukkit/craftbukkit/util/CraftMagicNumbers.java -@@ -507,6 +507,11 @@ public final class CraftMagicNumbers implements UnsafeValues { +@@ -504,6 +504,11 @@ public final class CraftMagicNumbers implements UnsafeValues { Preconditions.checkArgument(dataVersion <= getDataVersion(), "Newer version! Server downgrades are not supported!"); return compound; } diff --git a/patches/unapplied/server/0466-Lazily-track-plugin-scoreboards-by-default.patch b/patches/server/0466-Lazily-track-plugin-scoreboards-by-default.patch similarity index 91% rename from patches/unapplied/server/0466-Lazily-track-plugin-scoreboards-by-default.patch rename to patches/server/0466-Lazily-track-plugin-scoreboards-by-default.patch index 88b6225968..2f7c4855e1 100644 --- a/patches/unapplied/server/0466-Lazily-track-plugin-scoreboards-by-default.patch +++ b/patches/server/0466-Lazily-track-plugin-scoreboards-by-default.patch @@ -14,10 +14,10 @@ this breaks your workflow you can always force all scoreboards to be tracked wit settings.track-plugin-scoreboards in paper.yml. diff --git a/src/main/java/org/bukkit/craftbukkit/scoreboard/CraftScoreboard.java b/src/main/java/org/bukkit/craftbukkit/scoreboard/CraftScoreboard.java -index 3f09420ba9268ac1dc5440c0739744370c0de319..052389310826ee6b97cf27dfd952e0101fb2d097 100644 +index 7791fb5b39702798fc0006fcff9c6041980eb191..885addfdbae3730626b4f6b9781945496783c389 100644 --- a/src/main/java/org/bukkit/craftbukkit/scoreboard/CraftScoreboard.java +++ b/src/main/java/org/bukkit/craftbukkit/scoreboard/CraftScoreboard.java -@@ -18,6 +18,7 @@ import org.bukkit.scoreboard.Team; +@@ -20,6 +20,7 @@ import org.bukkit.scoreboard.Team; public final class CraftScoreboard implements org.bukkit.scoreboard.Scoreboard { final Scoreboard board; @@ -25,7 +25,7 @@ index 3f09420ba9268ac1dc5440c0739744370c0de319..052389310826ee6b97cf27dfd952e010 CraftScoreboard(Scoreboard board) { this.board = board; -@@ -50,6 +51,12 @@ public final class CraftScoreboard implements org.bukkit.scoreboard.Scoreboard { +@@ -52,6 +53,12 @@ public final class CraftScoreboard implements org.bukkit.scoreboard.Scoreboard { Preconditions.checkArgument(renderType != null, "RenderType cannot be null"); Preconditions.checkArgument(name.length() <= Short.MAX_VALUE, "The name '%s' is longer than the limit of 32767 characters (%s)", name, name.length()); Preconditions.checkArgument(this.board.getObjective(name) == null, "An objective of name '%s' already exists", name); @@ -35,11 +35,11 @@ index 3f09420ba9268ac1dc5440c0739744370c0de319..052389310826ee6b97cf27dfd952e010 + this.registeredGlobally = true; + } + // Paper end - net.minecraft.world.scores.Objective objective = this.board.addObjective(name, ((CraftCriteria) criteria).criteria, io.papermc.paper.adventure.PaperAdventure.asVanilla(displayName), CraftScoreboardTranslations.fromBukkitRender(renderType)); + net.minecraft.world.scores.Objective objective = this.board.addObjective(name, ((CraftCriteria) criteria).criteria, io.papermc.paper.adventure.PaperAdventure.asVanilla(displayName), CraftScoreboardTranslations.fromBukkitRender(renderType), true, null); return new CraftObjective(this, objective); } diff --git a/src/main/java/org/bukkit/craftbukkit/scoreboard/CraftScoreboardManager.java b/src/main/java/org/bukkit/craftbukkit/scoreboard/CraftScoreboardManager.java -index ea838766d1a7620c3722876bfb819b731db11638..f06f011375b9be307a858ccb6579f74942b1d325 100644 +index 40e348cae063bc1a814f8fcc3a2688c135f23bb5..c7ca6210d6ae37fe95068c9baa5fb654f95307e0 100644 --- a/src/main/java/org/bukkit/craftbukkit/scoreboard/CraftScoreboardManager.java +++ b/src/main/java/org/bukkit/craftbukkit/scoreboard/CraftScoreboardManager.java @@ -30,6 +30,7 @@ public final class CraftScoreboardManager implements ScoreboardManager { diff --git a/patches/unapplied/server/0467-Entity-isTicking.patch b/patches/server/0467-Entity-isTicking.patch similarity index 77% rename from patches/unapplied/server/0467-Entity-isTicking.patch rename to patches/server/0467-Entity-isTicking.patch index dbb82c6624..8c369bbc3f 100644 --- a/patches/unapplied/server/0467-Entity-isTicking.patch +++ b/patches/server/0467-Entity-isTicking.patch @@ -5,10 +5,10 @@ Subject: [PATCH] Entity#isTicking diff --git a/src/main/java/net/minecraft/world/entity/Entity.java b/src/main/java/net/minecraft/world/entity/Entity.java -index 14a3163e0e82eed9bf91b5c703774547f125c3c5..79ce14647009a667ee64dc5ed8a9c1c8dabe2a6d 100644 +index fa48ed90623106065f4b84f2ffbf889ae70842eb..f0158217eceeaf73555a741957324ce0258fa6b2 100644 --- a/src/main/java/net/minecraft/world/entity/Entity.java +++ b/src/main/java/net/minecraft/world/entity/Entity.java -@@ -4456,5 +4456,9 @@ public abstract class Entity implements Nameable, EntityAccess, CommandSource { +@@ -4498,5 +4498,9 @@ public abstract class Entity implements Nameable, EntityAccess, CommandSource, S public static int nextEntityId() { return ENTITY_COUNTER.incrementAndGet(); } @@ -19,10 +19,10 @@ index 14a3163e0e82eed9bf91b5c703774547f125c3c5..79ce14647009a667ee64dc5ed8a9c1c8 // 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 747445306a19db2b89fa7cdfc5dcd7f361a69f54..fb0cde02f2fc143d69f926131b2fb3dc69bfdea3 100644 +index 370011b7de936a427f211edf306a5b6f3b8ea1a0..2979678d8640324f5c28e4051bbb3b61b81a1e71 100644 --- a/src/main/java/org/bukkit/craftbukkit/entity/CraftEntity.java +++ b/src/main/java/org/bukkit/craftbukkit/entity/CraftEntity.java -@@ -1363,5 +1363,10 @@ public abstract class CraftEntity implements org.bukkit.entity.Entity { +@@ -1407,5 +1407,10 @@ public abstract class CraftEntity implements org.bukkit.entity.Entity { public boolean isInLava() { return getHandle().isInLava(); } diff --git a/patches/unapplied/server/0468-Fix-deop-kicking-non-whitelisted-player-when-white-l.patch b/patches/server/0468-Fix-deop-kicking-non-whitelisted-player-when-white-l.patch similarity index 90% rename from patches/unapplied/server/0468-Fix-deop-kicking-non-whitelisted-player-when-white-l.patch rename to patches/server/0468-Fix-deop-kicking-non-whitelisted-player-when-white-l.patch index 3f7af9b6a5..1749b211f0 100644 --- a/patches/unapplied/server/0468-Fix-deop-kicking-non-whitelisted-player-when-white-l.patch +++ b/patches/server/0468-Fix-deop-kicking-non-whitelisted-player-when-white-l.patch @@ -6,10 +6,10 @@ Subject: [PATCH] Fix deop kicking non-whitelisted player when white list is diff --git a/src/main/java/net/minecraft/server/MinecraftServer.java b/src/main/java/net/minecraft/server/MinecraftServer.java -index 3ce983b0e93c1f70acaa22c800273fe625b20454..331cc75f4802b7c6a2903d506e58d887ba15921d 100644 +index 2616d771a8a95dac4440b74933c8aa7b83a9bbd1..f73ad3b85ed46913c10891edd3a52b9ad694e5e2 100644 --- a/src/main/java/net/minecraft/server/MinecraftServer.java +++ b/src/main/java/net/minecraft/server/MinecraftServer.java -@@ -2132,13 +2132,14 @@ public abstract class MinecraftServer extends ReentrantBlockableEventLoop 1.0D) { -@@ -1301,9 +1323,9 @@ public class ServerGamePacketListenerImpl extends ServerCommonPacketListenerImpl +@@ -1328,9 +1350,9 @@ public class ServerGamePacketListenerImpl extends ServerCommonPacketListenerImpl AABB axisalignedbb = this.player.getBoundingBox(); diff --git a/patches/unapplied/server/0472-Optimise-getType-calls.patch b/patches/server/0472-Optimise-getType-calls.patch similarity index 95% rename from patches/unapplied/server/0472-Optimise-getType-calls.patch rename to patches/server/0472-Optimise-getType-calls.patch index 3ac5b9ed7e..a83aa2af21 100644 --- a/patches/unapplied/server/0472-Optimise-getType-calls.patch +++ b/patches/server/0472-Optimise-getType-calls.patch @@ -41,10 +41,10 @@ index 089f2a4780a0e3515c032d08a1bb2ea375ebdce1..30f6d74e867869b0070de83fe988672a @Override diff --git a/src/main/java/org/bukkit/craftbukkit/block/CraftBlock.java b/src/main/java/org/bukkit/craftbukkit/block/CraftBlock.java -index 8313d6de11427a4340ac9fc4f3a04070a5c80cd8..848f089e559e4feb67dea9148291f70460da9e9d 100644 +index a7783474afef0a2bab7e99e475c6d130bb88b01c..aa644231425b9622437538b5c092d4064a40cced 100644 --- a/src/main/java/org/bukkit/craftbukkit/block/CraftBlock.java +++ b/src/main/java/org/bukkit/craftbukkit/block/CraftBlock.java -@@ -219,7 +219,7 @@ public class CraftBlock implements Block { +@@ -220,7 +220,7 @@ public class CraftBlock implements Block { @Override public Material getType() { @@ -67,7 +67,7 @@ index a193583f596c0a587cd0c2d6eac994226ee4fde0..aca63719790429d3d7c7c59a1931a982 public void setFlag(int flag) { diff --git a/src/main/java/org/bukkit/craftbukkit/block/data/CraftBlockData.java b/src/main/java/org/bukkit/craftbukkit/block/data/CraftBlockData.java -index 448f90b7e15bca1fd0bcc70164e2ee9cb95f7c4e..3aa4a2ac3b81abc1446b7f7dae7f636438341790 100644 +index c673e311a5508c7264a8765c266892f9d346d39a..d6ba9030b0736afda9f7d2effa95d6d63e983b34 100644 --- a/src/main/java/org/bukkit/craftbukkit/block/data/CraftBlockData.java +++ b/src/main/java/org/bukkit/craftbukkit/block/data/CraftBlockData.java @@ -59,7 +59,7 @@ public class CraftBlockData implements BlockData { diff --git a/patches/unapplied/server/0473-Villager-resetOffers.patch b/patches/server/0473-Villager-resetOffers.patch similarity index 100% rename from patches/unapplied/server/0473-Villager-resetOffers.patch rename to patches/server/0473-Villager-resetOffers.patch diff --git a/patches/unapplied/server/0474-Retain-block-place-order-when-capturing-blockstates.patch b/patches/server/0474-Retain-block-place-order-when-capturing-blockstates.patch similarity index 89% rename from patches/unapplied/server/0474-Retain-block-place-order-when-capturing-blockstates.patch rename to patches/server/0474-Retain-block-place-order-when-capturing-blockstates.patch index beeaff12c5..4394091ee3 100644 --- a/patches/unapplied/server/0474-Retain-block-place-order-when-capturing-blockstates.patch +++ b/patches/server/0474-Retain-block-place-order-when-capturing-blockstates.patch @@ -10,10 +10,10 @@ In general, look at making this logic more robust (i.e properly handling cases where a captured entry is overriden) - but for now this will do. diff --git a/src/main/java/net/minecraft/world/level/Level.java b/src/main/java/net/minecraft/world/level/Level.java -index 7825f6185a9a73dd395cdb6d86947d33d8512200..e22214b99472b23ffc95c011b19bdb59e2d9bb40 100644 +index 121f82c3e27d0c1e935871ab0e7c994393e73398..bdf11c543fe8904585eda72dc92206ac22daff58 100644 --- a/src/main/java/net/minecraft/world/level/Level.java +++ b/src/main/java/net/minecraft/world/level/Level.java -@@ -157,7 +157,7 @@ public abstract class Level implements LevelAccessor, AutoCloseable { +@@ -160,7 +160,7 @@ public abstract class Level implements LevelAccessor, AutoCloseable { public boolean captureBlockStates = false; public boolean captureTreeGeneration = false; public Map capturedBlockStates = new java.util.LinkedHashMap<>(); // Paper diff --git a/patches/unapplied/server/0475-Reduce-blockpos-allocation-from-pathfinding.patch b/patches/server/0475-Reduce-blockpos-allocation-from-pathfinding.patch similarity index 86% rename from patches/unapplied/server/0475-Reduce-blockpos-allocation-from-pathfinding.patch rename to patches/server/0475-Reduce-blockpos-allocation-from-pathfinding.patch index e1ea18140b..a3846cba0b 100644 --- a/patches/unapplied/server/0475-Reduce-blockpos-allocation-from-pathfinding.patch +++ b/patches/server/0475-Reduce-blockpos-allocation-from-pathfinding.patch @@ -5,10 +5,10 @@ Subject: [PATCH] Reduce blockpos allocation from pathfinding diff --git a/src/main/java/net/minecraft/world/level/pathfinder/WalkNodeEvaluator.java b/src/main/java/net/minecraft/world/level/pathfinder/WalkNodeEvaluator.java -index 10503d6d8b6daf645cf4360ee289d5e25144c976..3583fcf5284bc5883308876dbd9886664b391e28 100644 +index 8e90b284fb576738b834626bb52c9962ccbc5ad2..2aca9b193db5dadc4fb90b8d7548277b698924aa 100644 --- a/src/main/java/net/minecraft/world/level/pathfinder/WalkNodeEvaluator.java +++ b/src/main/java/net/minecraft/world/level/pathfinder/WalkNodeEvaluator.java -@@ -473,7 +473,7 @@ public class WalkNodeEvaluator extends NodeEvaluator { +@@ -479,7 +479,7 @@ public class WalkNodeEvaluator extends NodeEvaluator { return BlockPathTypes.DANGER_FIRE; } @@ -17,7 +17,7 @@ index 10503d6d8b6daf645cf4360ee289d5e25144c976..3583fcf5284bc5883308876dbd988666 return BlockPathTypes.WATER_BORDER; } -@@ -504,7 +504,7 @@ public class WalkNodeEvaluator extends NodeEvaluator { +@@ -510,7 +510,7 @@ public class WalkNodeEvaluator extends NodeEvaluator { } else if (blockState.is(Blocks.COCOA)) { return BlockPathTypes.COCOA; } else if (!blockState.is(Blocks.WITHER_ROSE) && !blockState.is(Blocks.POINTED_DRIPSTONE)) { diff --git a/patches/unapplied/server/0476-Fix-item-locations-dropped-from-campfires.patch b/patches/server/0476-Fix-item-locations-dropped-from-campfires.patch similarity index 100% rename from patches/unapplied/server/0476-Fix-item-locations-dropped-from-campfires.patch rename to patches/server/0476-Fix-item-locations-dropped-from-campfires.patch diff --git a/patches/unapplied/server/0477-Fixed-TileEntityBell-memory-leak.patch b/patches/server/0477-Fixed-TileEntityBell-memory-leak.patch similarity index 100% rename from patches/unapplied/server/0477-Fixed-TileEntityBell-memory-leak.patch rename to patches/server/0477-Fixed-TileEntityBell-memory-leak.patch diff --git a/patches/unapplied/server/0478-Avoid-error-bubbling-up-when-item-stack-is-empty-in-.patch b/patches/server/0478-Avoid-error-bubbling-up-when-item-stack-is-empty-in-.patch similarity index 100% rename from patches/unapplied/server/0478-Avoid-error-bubbling-up-when-item-stack-is-empty-in-.patch rename to patches/server/0478-Avoid-error-bubbling-up-when-item-stack-is-empty-in-.patch diff --git a/patches/unapplied/server/0479-Add-getOfflinePlayerIfCached-String.patch b/patches/server/0479-Add-getOfflinePlayerIfCached-String.patch similarity index 89% rename from patches/unapplied/server/0479-Add-getOfflinePlayerIfCached-String.patch rename to patches/server/0479-Add-getOfflinePlayerIfCached-String.patch index bb87f2c5ac..779a1fcb5a 100644 --- a/patches/unapplied/server/0479-Add-getOfflinePlayerIfCached-String.patch +++ b/patches/server/0479-Add-getOfflinePlayerIfCached-String.patch @@ -5,10 +5,10 @@ Subject: [PATCH] Add getOfflinePlayerIfCached(String) diff --git a/src/main/java/org/bukkit/craftbukkit/CraftServer.java b/src/main/java/org/bukkit/craftbukkit/CraftServer.java -index c71a409a457deea6817b863ddbb8bcbf64206544..475e623d2d42f372b12cf50c2b26b4d2dc203072 100644 +index d355b46f23201163b70995a883994fcea1ac1689..561436bdff6b1a46b37cad519885c952da7e5b5d 100644 --- a/src/main/java/org/bukkit/craftbukkit/CraftServer.java +++ b/src/main/java/org/bukkit/craftbukkit/CraftServer.java -@@ -1877,6 +1877,28 @@ public final class CraftServer implements Server { +@@ -1909,6 +1909,28 @@ public final class CraftServer implements Server { return result; } diff --git a/patches/unapplied/server/0480-Add-ignore-discounts-API.patch b/patches/server/0480-Add-ignore-discounts-API.patch similarity index 99% rename from patches/unapplied/server/0480-Add-ignore-discounts-API.patch rename to patches/server/0480-Add-ignore-discounts-API.patch index 94293b80ce..84d0e086b7 100644 --- a/patches/unapplied/server/0480-Add-ignore-discounts-API.patch +++ b/patches/server/0480-Add-ignore-discounts-API.patch @@ -5,7 +5,7 @@ Subject: [PATCH] Add ignore discounts API diff --git a/src/main/java/net/minecraft/world/entity/npc/Villager.java b/src/main/java/net/minecraft/world/entity/npc/Villager.java -index cc829161404c0f98a403c5219d5c535de1d5c5ba..f58be4e2529759cc64df2c70a69ef56eabbb762d 100644 +index c0aa370367856a159412dd141f683b7d51e11c8b..363d1f469862c2e980624ff69f74be015c19412d 100644 --- a/src/main/java/net/minecraft/world/entity/npc/Villager.java +++ b/src/main/java/net/minecraft/world/entity/npc/Villager.java @@ -508,6 +508,7 @@ public class Villager extends AbstractVillager implements ReputationEventHandler diff --git a/patches/unapplied/server/0481-Toggle-for-removing-existing-dragon.patch b/patches/server/0481-Toggle-for-removing-existing-dragon.patch similarity index 100% rename from patches/unapplied/server/0481-Toggle-for-removing-existing-dragon.patch rename to patches/server/0481-Toggle-for-removing-existing-dragon.patch diff --git a/patches/unapplied/server/0482-Fix-client-lag-on-advancement-loading.patch b/patches/server/0482-Fix-client-lag-on-advancement-loading.patch similarity index 91% rename from patches/unapplied/server/0482-Fix-client-lag-on-advancement-loading.patch rename to patches/server/0482-Fix-client-lag-on-advancement-loading.patch index 9d922ffc2f..0b59c874f4 100644 --- a/patches/unapplied/server/0482-Fix-client-lag-on-advancement-loading.patch +++ b/patches/server/0482-Fix-client-lag-on-advancement-loading.patch @@ -15,10 +15,10 @@ manually reload the advancement data for all players, which normally takes place as a part of the datapack reloading. diff --git a/src/main/java/org/bukkit/craftbukkit/util/CraftMagicNumbers.java b/src/main/java/org/bukkit/craftbukkit/util/CraftMagicNumbers.java -index d40ea1a394c483abe18915446d61b3f1f496af53..fc8c1e46a2cfb4fc3095d249ba249d6eb4bbb1b2 100644 +index 5d1df87177b3d6a5f4c4b1f12bbbba7b597f2911..5930cc6af2d73e6301b0ebe59ea53e0a7ea2098a 100644 --- a/src/main/java/org/bukkit/craftbukkit/util/CraftMagicNumbers.java +++ b/src/main/java/org/bukkit/craftbukkit/util/CraftMagicNumbers.java -@@ -332,7 +332,13 @@ public final class CraftMagicNumbers implements UnsafeValues { +@@ -329,7 +329,13 @@ public final class CraftMagicNumbers implements UnsafeValues { Bukkit.getLogger().log(Level.SEVERE, "Error saving advancement " + key, ex); } diff --git a/patches/unapplied/server/0483-Item-no-age-no-player-pickup.patch b/patches/server/0483-Item-no-age-no-player-pickup.patch similarity index 94% rename from patches/unapplied/server/0483-Item-no-age-no-player-pickup.patch rename to patches/server/0483-Item-no-age-no-player-pickup.patch index 8ab619bbbd..f7228c3b99 100644 --- a/patches/unapplied/server/0483-Item-no-age-no-player-pickup.patch +++ b/patches/server/0483-Item-no-age-no-player-pickup.patch @@ -5,7 +5,7 @@ Subject: [PATCH] Item no age & no player pickup diff --git a/src/main/java/org/bukkit/craftbukkit/entity/CraftItem.java b/src/main/java/org/bukkit/craftbukkit/entity/CraftItem.java -index 7b11db70668951e5331b6d6b99f616e163d7d7d6..953d3762292a4c15b063f9e237edf2f5c5362cb7 100644 +index 4456b7c438cadb4bfabad030b6871b3a8a7fd439..cbdac5a439795d429a1364a7eafc4783cff51d54 100644 --- a/src/main/java/org/bukkit/craftbukkit/entity/CraftItem.java +++ b/src/main/java/org/bukkit/craftbukkit/entity/CraftItem.java @@ -9,6 +9,11 @@ import org.bukkit.inventory.ItemStack; diff --git a/patches/unapplied/server/0484-Optimize-Pathfinder-Remove-Streams-Optimized-collect.patch b/patches/server/0484-Optimize-Pathfinder-Remove-Streams-Optimized-collect.patch similarity index 100% rename from patches/unapplied/server/0484-Optimize-Pathfinder-Remove-Streams-Optimized-collect.patch rename to patches/server/0484-Optimize-Pathfinder-Remove-Streams-Optimized-collect.patch diff --git a/patches/unapplied/server/0485-Beacon-API-custom-effect-ranges.patch b/patches/server/0485-Beacon-API-custom-effect-ranges.patch similarity index 100% rename from patches/unapplied/server/0485-Beacon-API-custom-effect-ranges.patch rename to patches/server/0485-Beacon-API-custom-effect-ranges.patch diff --git a/patches/unapplied/server/0486-Add-API-for-quit-reason.patch b/patches/server/0486-Add-API-for-quit-reason.patch similarity index 90% rename from patches/unapplied/server/0486-Add-API-for-quit-reason.patch rename to patches/server/0486-Add-API-for-quit-reason.patch index fb77faf050..0b31510646 100644 --- a/patches/unapplied/server/0486-Add-API-for-quit-reason.patch +++ b/patches/server/0486-Add-API-for-quit-reason.patch @@ -25,19 +25,19 @@ index f9d7fec242a059a3b056c569ffaf214a361716d6..33a3c657bd390b9e8bc23af93c1107f5 Connection.LOGGER.debug("Failed to sent packet", throwable); if (this.getSending() == PacketFlow.CLIENTBOUND) { diff --git a/src/main/java/net/minecraft/server/level/ServerPlayer.java b/src/main/java/net/minecraft/server/level/ServerPlayer.java -index 567bfcdf5c946d09bb8188435ee13930082dccf5..bf637aae0dcd701dd31568b3c84851349c4c5a0a 100644 +index 478abaffd1a80949b96f1c1774c98134be92e5ac..063742400f3065ace62b64b42d952517ae00ea1f 100644 --- a/src/main/java/net/minecraft/server/level/ServerPlayer.java +++ b/src/main/java/net/minecraft/server/level/ServerPlayer.java -@@ -272,6 +272,7 @@ public class ServerPlayer extends Player { +@@ -279,6 +279,7 @@ public class ServerPlayer extends Player { public final com.destroystokyo.paper.util.misc.PooledLinkedHashSets.PooledObjectLinkedOpenHashSet cachedSingleHashSet; // Paper - public PlayerNaturallySpawnCreaturesEvent playerNaturallySpawnedEvent; // Paper + public com.destroystokyo.paper.event.entity.PlayerNaturallySpawnCreaturesEvent playerNaturallySpawnedEvent; // Paper public @Nullable String clientBrandName = null; // Paper - Brand name + public org.bukkit.event.player.PlayerQuitEvent.QuitReason quitReason = null; // Paper - there are a lot of changes to do if we change all methods leading to the event // Paper start - replace player chunk loader private final java.util.concurrent.atomic.AtomicReference viewDistances = new java.util.concurrent.atomic.AtomicReference<>(new io.papermc.paper.chunk.system.RegionizedPlayerChunkLoader.ViewDistances(-1, -1, -1)); diff --git a/src/main/java/net/minecraft/server/network/ServerCommonPacketListenerImpl.java b/src/main/java/net/minecraft/server/network/ServerCommonPacketListenerImpl.java -index 96ee68e6656a59d959ad7a7e78f5a3752d6e3dbb..d660041805bcd1bb97cf347d8b1cfe5c65469f56 100644 +index 2d0ce31011ce1dbbf3c86f09bbf9a41a6e4a158f..156e49d682be26f0962cae960acaef613bd6ebba 100644 --- a/src/main/java/net/minecraft/server/network/ServerCommonPacketListenerImpl.java +++ b/src/main/java/net/minecraft/server/network/ServerCommonPacketListenerImpl.java @@ -302,6 +302,7 @@ public abstract class ServerCommonPacketListenerImpl implements ServerCommonPack @@ -49,10 +49,10 @@ index 96ee68e6656a59d959ad7a7e78f5a3752d6e3dbb..d660041805bcd1bb97cf347d8b1cfe5c this.connection.disconnect(ichatbasecomponent); })); diff --git a/src/main/java/net/minecraft/server/players/PlayerList.java b/src/main/java/net/minecraft/server/players/PlayerList.java -index e9b5d987c1891ba269ba6beec57c1e0fb65dbb4d..9174b356fcd0a4ae33e4b9e0cb085bbdba31a20d 100644 +index 7f05a1c3847c36699d3c9acbb1d7cd05363c94c5..f57be0d9111582b279f5ee6988f56068b9b63968 100644 --- a/src/main/java/net/minecraft/server/players/PlayerList.java +++ b/src/main/java/net/minecraft/server/players/PlayerList.java -@@ -581,7 +581,7 @@ public abstract class PlayerList { +@@ -579,7 +579,7 @@ public abstract class PlayerList { entityplayer.closeContainer(org.bukkit.event.inventory.InventoryCloseEvent.Reason.DISCONNECT); // Paper } diff --git a/patches/unapplied/server/0487-Add-Wandering-Trader-spawn-rate-config-options.patch b/patches/server/0487-Add-Wandering-Trader-spawn-rate-config-options.patch similarity index 100% rename from patches/unapplied/server/0487-Add-Wandering-Trader-spawn-rate-config-options.patch rename to patches/server/0487-Add-Wandering-Trader-spawn-rate-config-options.patch diff --git a/patches/unapplied/server/0488-Expose-world-spawn-angle.patch b/patches/server/0488-Expose-world-spawn-angle.patch similarity index 87% rename from patches/unapplied/server/0488-Expose-world-spawn-angle.patch rename to patches/server/0488-Expose-world-spawn-angle.patch index c2242a53f8..3185d4efb6 100644 --- a/patches/unapplied/server/0488-Expose-world-spawn-angle.patch +++ b/patches/server/0488-Expose-world-spawn-angle.patch @@ -5,10 +5,10 @@ Subject: [PATCH] Expose world spawn angle diff --git a/src/main/java/net/minecraft/server/players/PlayerList.java b/src/main/java/net/minecraft/server/players/PlayerList.java -index 9174b356fcd0a4ae33e4b9e0cb085bbdba31a20d..9cb8d94e81fd9ce5e3d09a6bae4fb8beaae09454 100644 +index f57be0d9111582b279f5ee6988f56068b9b63968..5d1af62e7d06f1fbcfe1eec0293ca3065a88454f 100644 --- a/src/main/java/net/minecraft/server/players/PlayerList.java +++ b/src/main/java/net/minecraft/server/players/PlayerList.java -@@ -853,7 +853,7 @@ public abstract class PlayerList { +@@ -851,7 +851,7 @@ public abstract class PlayerList { if (location == null) { worldserver1 = this.server.getLevel(Level.OVERWORLD); blockposition = entityplayer1.getSpawnPoint(worldserver1); diff --git a/patches/unapplied/server/0489-Add-Destroy-Speed-API.patch b/patches/server/0489-Add-Destroy-Speed-API.patch similarity index 89% rename from patches/unapplied/server/0489-Add-Destroy-Speed-API.patch rename to patches/server/0489-Add-Destroy-Speed-API.patch index eda1608ac3..135f2eafc9 100644 --- a/patches/unapplied/server/0489-Add-Destroy-Speed-API.patch +++ b/patches/server/0489-Add-Destroy-Speed-API.patch @@ -6,10 +6,10 @@ Subject: [PATCH] Add Destroy Speed API Co-authored-by: Jake Potrebic 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 3aa4a2ac3b81abc1446b7f7dae7f636438341790..5b67d4dd280688093d7e36e59e5b2ec6ebdc796c 100644 +index d6ba9030b0736afda9f7d2effa95d6d63e983b34..79c469d461ce9df0994214ebc8b157a095a4c848 100644 --- a/src/main/java/org/bukkit/craftbukkit/block/data/CraftBlockData.java +++ b/src/main/java/org/bukkit/craftbukkit/block/data/CraftBlockData.java -@@ -689,4 +689,19 @@ public class CraftBlockData implements BlockData { +@@ -696,4 +696,19 @@ public class CraftBlockData implements BlockData { public BlockState createBlockState() { return CraftBlockStates.getBlockState(this.state, null); } diff --git a/patches/unapplied/server/0490-Fix-Player-spawnParticle-x-y-z-precision-loss.patch b/patches/server/0490-Fix-Player-spawnParticle-x-y-z-precision-loss.patch similarity index 89% rename from patches/unapplied/server/0490-Fix-Player-spawnParticle-x-y-z-precision-loss.patch rename to patches/server/0490-Fix-Player-spawnParticle-x-y-z-precision-loss.patch index 4c5c5e4400..f8e184e16f 100644 --- a/patches/unapplied/server/0490-Fix-Player-spawnParticle-x-y-z-precision-loss.patch +++ b/patches/server/0490-Fix-Player-spawnParticle-x-y-z-precision-loss.patch @@ -5,10 +5,10 @@ Subject: [PATCH] Fix Player spawnParticle x/y/z precision loss diff --git a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java -index 5e0fc3fd8e55b3dd238b38105fc6da75bfb709fc..9ba0165896e819ebb4482cc34113b72ecb466c43 100644 +index 16476b8d20619d8526658db24ed3de60a151ffcf..3c0295db596da4fd743730fc5a74f1b4c5b60a98 100644 --- a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java +++ b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java -@@ -2526,7 +2526,7 @@ public class CraftPlayer extends CraftHumanEntity implements Player { +@@ -2541,7 +2541,7 @@ public class CraftPlayer extends CraftHumanEntity implements Player { if (data != null) { Preconditions.checkArgument(particle.getDataType().isInstance(data), "data (%s) should be %s", data.getClass(), particle.getDataType()); } diff --git a/patches/unapplied/server/0491-Add-LivingEntity-clearActiveItem.patch b/patches/server/0491-Add-LivingEntity-clearActiveItem.patch similarity index 84% rename from patches/unapplied/server/0491-Add-LivingEntity-clearActiveItem.patch rename to patches/server/0491-Add-LivingEntity-clearActiveItem.patch index ee851be253..099d2c057a 100644 --- a/patches/unapplied/server/0491-Add-LivingEntity-clearActiveItem.patch +++ b/patches/server/0491-Add-LivingEntity-clearActiveItem.patch @@ -5,10 +5,10 @@ Subject: [PATCH] Add LivingEntity#clearActiveItem diff --git a/src/main/java/org/bukkit/craftbukkit/entity/CraftLivingEntity.java b/src/main/java/org/bukkit/craftbukkit/entity/CraftLivingEntity.java -index c8e729e949e7a8301f17768d6ae3f3ce940bb73a..a654f22a6c331cd69290b99e6c73f3ed611c58a5 100644 +index 95406737a6c72fd118a0022e07cdf15936e3911a..66c762c13a70f917e06795dcee85cae66cd316d4 100644 --- a/src/main/java/org/bukkit/craftbukkit/entity/CraftLivingEntity.java +++ b/src/main/java/org/bukkit/craftbukkit/entity/CraftLivingEntity.java -@@ -887,6 +887,13 @@ public class CraftLivingEntity extends CraftEntity implements LivingEntity { +@@ -892,6 +892,13 @@ public class CraftLivingEntity extends CraftEntity implements LivingEntity { return getHandle().getUseItem().asBukkitMirror(); } diff --git a/patches/unapplied/server/0492-Add-PlayerItemCooldownEvent.patch b/patches/server/0492-Add-PlayerItemCooldownEvent.patch similarity index 100% rename from patches/unapplied/server/0492-Add-PlayerItemCooldownEvent.patch rename to patches/server/0492-Add-PlayerItemCooldownEvent.patch diff --git a/patches/unapplied/server/0493-Significantly-improve-performance-of-the-end-generat.patch b/patches/server/0493-Significantly-improve-performance-of-the-end-generat.patch similarity index 100% rename from patches/unapplied/server/0493-Significantly-improve-performance-of-the-end-generat.patch rename to patches/server/0493-Significantly-improve-performance-of-the-end-generat.patch diff --git a/patches/unapplied/server/0494-More-lightning-API.patch b/patches/server/0494-More-lightning-API.patch similarity index 100% rename from patches/unapplied/server/0494-More-lightning-API.patch rename to patches/server/0494-More-lightning-API.patch diff --git a/patches/unapplied/server/0495-Climbing-should-not-bypass-cramming-gamerule.patch b/patches/server/0495-Climbing-should-not-bypass-cramming-gamerule.patch similarity index 80% rename from patches/unapplied/server/0495-Climbing-should-not-bypass-cramming-gamerule.patch rename to patches/server/0495-Climbing-should-not-bypass-cramming-gamerule.patch index a9899d4d3d..6f67ee4787 100644 --- a/patches/unapplied/server/0495-Climbing-should-not-bypass-cramming-gamerule.patch +++ b/patches/server/0495-Climbing-should-not-bypass-cramming-gamerule.patch @@ -5,10 +5,10 @@ Subject: [PATCH] Climbing should not bypass cramming gamerule diff --git a/src/main/java/net/minecraft/world/entity/Entity.java b/src/main/java/net/minecraft/world/entity/Entity.java -index 79ce14647009a667ee64dc5ed8a9c1c8dabe2a6d..4841e57256092b5c8b71fa1dc56b61f790837cdd 100644 +index f0158217eceeaf73555a741957324ce0258fa6b2..90621d3dfe8660f9b389ed292a3582a5dbb726bd 100644 --- a/src/main/java/net/minecraft/world/entity/Entity.java +++ b/src/main/java/net/minecraft/world/entity/Entity.java -@@ -2057,6 +2057,12 @@ public abstract class Entity implements Nameable, EntityAccess, CommandSource { +@@ -2062,6 +2062,12 @@ public abstract class Entity implements Nameable, EntityAccess, CommandSource, S } public boolean isPushable() { @@ -22,21 +22,20 @@ index 79ce14647009a667ee64dc5ed8a9c1c8dabe2a6d..4841e57256092b5c8b71fa1dc56b61f7 } diff --git a/src/main/java/net/minecraft/world/entity/EntitySelector.java b/src/main/java/net/minecraft/world/entity/EntitySelector.java -index d15e62da0307728a7c2be191a27f87da1bb29f49..de06ae3e8757c923a6f3f475a34885d2f15af46e 100644 +index 68e4440765636295a74ea942862d772d47282ad6..93a41156a01a1638f3ef469b1518a07e7961f378 100644 --- a/src/main/java/net/minecraft/world/entity/EntitySelector.java +++ b/src/main/java/net/minecraft/world/entity/EntitySelector.java -@@ -45,11 +45,17 @@ public final class EntitySelector { +@@ -46,11 +46,16 @@ public final class EntitySelector { } public static Predicate pushableBy(Entity entity) { + // Paper start - ignoreClimbing param + return pushable(entity, false); + } -+ + public static Predicate pushable(Entity entity, boolean ignoreClimbing) { + // Paper end - Team scoreboardteambase = entity.getTeam(); - Team.CollisionRule scoreboardteambase_enumteampush = scoreboardteambase == null ? Team.CollisionRule.ALWAYS : scoreboardteambase.getCollisionRule(); + PlayerTeam scoreboardteam = entity.getTeam(); + Team.CollisionRule scoreboardteambase_enumteampush = scoreboardteam == null ? Team.CollisionRule.ALWAYS : scoreboardteam.getCollisionRule(); return (Predicate) (scoreboardteambase_enumteampush == Team.CollisionRule.NEVER ? Predicates.alwaysFalse() : EntitySelector.NO_SPECTATORS.and((entity1) -> { - if (!entity1.canCollideWithBukkit(entity) || !entity.canCollideWithBukkit(entity1)) { // CraftBukkit - collidable API @@ -45,10 +44,10 @@ index d15e62da0307728a7c2be191a27f87da1bb29f49..de06ae3e8757c923a6f3f475a34885d2 } else if (entity.level().isClientSide && (!(entity1 instanceof Player) || !((Player) entity1).isLocalPlayer())) { return false; diff --git a/src/main/java/net/minecraft/world/entity/LivingEntity.java b/src/main/java/net/minecraft/world/entity/LivingEntity.java -index 2b0178507a39c95fff94bea382bacebb8c40f1b7..7b68fd746338fadba2b3e9aee4df5fb965299f1a 100644 +index 90c66f87e721ef34bf3f47b601456fece3064225..bf617621c88c68198709d1ed238622c3fcec89bd 100644 --- a/src/main/java/net/minecraft/world/entity/LivingEntity.java +++ b/src/main/java/net/minecraft/world/entity/LivingEntity.java -@@ -3424,7 +3424,7 @@ public abstract class LivingEntity extends Entity implements Attackable { +@@ -3426,7 +3426,7 @@ public abstract class LivingEntity extends Entity implements Attackable { return; } // Paper end - don't run getEntities if we're not going to use its result @@ -57,7 +56,7 @@ index 2b0178507a39c95fff94bea382bacebb8c40f1b7..7b68fd746338fadba2b3e9aee4df5fb9 if (!list.isEmpty()) { // Paper - moved up -@@ -3614,9 +3614,16 @@ public abstract class LivingEntity extends Entity implements Attackable { +@@ -3616,9 +3616,16 @@ public abstract class LivingEntity extends Entity implements Attackable { return !this.isRemoved() && this.collides; // CraftBukkit } @@ -76,10 +75,10 @@ index 2b0178507a39c95fff94bea382bacebb8c40f1b7..7b68fd746338fadba2b3e9aee4df5fb9 // CraftBukkit start - collidable API diff --git a/src/main/java/net/minecraft/world/entity/ambient/Bat.java b/src/main/java/net/minecraft/world/entity/ambient/Bat.java -index 867717f130b6fcd48f39d40b10b3f514dbb8798c..5beaa849a250ea005733250ad3edfa8382224667 100644 +index bc9a710a92662b1f69b0f5b289780fe0a0d5ed32..6b614818b14ecfc8fc82b523eeb7e21fdf9bf1ba 100644 --- a/src/main/java/net/minecraft/world/entity/ambient/Bat.java +++ b/src/main/java/net/minecraft/world/entity/ambient/Bat.java -@@ -87,7 +87,7 @@ public class Bat extends AmbientCreature { +@@ -90,7 +90,7 @@ public class Bat extends AmbientCreature { } @Override @@ -89,10 +88,10 @@ index 867717f130b6fcd48f39d40b10b3f514dbb8798c..5beaa849a250ea005733250ad3edfa83 } diff --git a/src/main/java/net/minecraft/world/entity/animal/Parrot.java b/src/main/java/net/minecraft/world/entity/animal/Parrot.java -index e110931ee13ac3e64e455eaa7a30b96d9464df58..397264d31992fd43bd57736c25693ae001330b6d 100644 +index fbad0e512b990c3d6885ecf92766ba6fd851cc20..4c34edc55fa0e136ccf49a3aef001f413274dfac 100644 --- a/src/main/java/net/minecraft/world/entity/animal/Parrot.java +++ b/src/main/java/net/minecraft/world/entity/animal/Parrot.java -@@ -382,8 +382,8 @@ public class Parrot extends ShoulderRidingEntity implements VariantHolder { +@@ -157,7 +157,7 @@ public class Boat extends VehicleEntity implements VariantHolder { } @Override diff --git a/patches/unapplied/server/0496-Added-missing-default-perms-for-commands.patch b/patches/server/0496-Added-missing-default-perms-for-commands.patch similarity index 100% rename from patches/unapplied/server/0496-Added-missing-default-perms-for-commands.patch rename to patches/server/0496-Added-missing-default-perms-for-commands.patch diff --git a/patches/unapplied/server/0497-Add-PlayerShearBlockEvent.patch b/patches/server/0497-Add-PlayerShearBlockEvent.patch similarity index 93% rename from patches/unapplied/server/0497-Add-PlayerShearBlockEvent.patch rename to patches/server/0497-Add-PlayerShearBlockEvent.patch index 56a84bee18..a3a7ee694b 100644 --- a/patches/unapplied/server/0497-Add-PlayerShearBlockEvent.patch +++ b/patches/server/0497-Add-PlayerShearBlockEvent.patch @@ -5,10 +5,10 @@ Subject: [PATCH] Add PlayerShearBlockEvent diff --git a/src/main/java/net/minecraft/world/level/block/BeehiveBlock.java b/src/main/java/net/minecraft/world/level/block/BeehiveBlock.java -index 9d61c9ada132af89292a5da7d3cce7777a961c13..61539bd963acf46f5f05865b235f9dbc05c771c3 100644 +index 44e72176a0da08a77fa192ee31c0fcd53f0dc22d..f82cd3677da96d3cf051c983d08a8ff302400b18 100644 --- a/src/main/java/net/minecraft/world/level/block/BeehiveBlock.java +++ b/src/main/java/net/minecraft/world/level/block/BeehiveBlock.java -@@ -120,7 +120,7 @@ public class BeehiveBlock extends BaseEntityBlock { +@@ -127,7 +127,7 @@ public class BeehiveBlock extends BaseEntityBlock { } public static void dropHoneycomb(Level world, BlockPos pos) { @@ -17,7 +17,7 @@ index 9d61c9ada132af89292a5da7d3cce7777a961c13..61539bd963acf46f5f05865b235f9dbc } @Override -@@ -133,8 +133,19 @@ public class BeehiveBlock extends BaseEntityBlock { +@@ -140,8 +140,19 @@ public class BeehiveBlock extends BaseEntityBlock { Item item = itemstack.getItem(); if (itemstack.is(Items.SHEARS)) { @@ -39,10 +39,10 @@ index 9d61c9ada132af89292a5da7d3cce7777a961c13..61539bd963acf46f5f05865b235f9dbc entityhuman1.broadcastBreakEvent(hand); }); diff --git a/src/main/java/net/minecraft/world/level/block/PumpkinBlock.java b/src/main/java/net/minecraft/world/level/block/PumpkinBlock.java -index 0e8cbe7a465edc31b78b7e47a928435f9c2b6bd9..4568d1659dda897de5f6c2059629a4718d401e63 100644 +index df11efd22682c2ed799dabf15d2cfa5973e8dca9..58bc92f70892a1ff1af3bd2c1b6d8eb57e92aced 100644 --- a/src/main/java/net/minecraft/world/level/block/PumpkinBlock.java +++ b/src/main/java/net/minecraft/world/level/block/PumpkinBlock.java -@@ -27,13 +27,24 @@ public class PumpkinBlock extends StemGrownBlock { +@@ -35,13 +35,24 @@ public class PumpkinBlock extends Block { ItemStack itemStack = player.getItemInHand(hand); if (itemStack.is(Items.SHEARS)) { if (!world.isClientSide) { diff --git a/patches/unapplied/server/0498-Limit-recipe-packets.patch b/patches/server/0498-Limit-recipe-packets.patch similarity index 90% rename from patches/unapplied/server/0498-Limit-recipe-packets.patch rename to patches/server/0498-Limit-recipe-packets.patch index fe3937e4ca..9545338a32 100644 --- a/patches/unapplied/server/0498-Limit-recipe-packets.patch +++ b/patches/server/0498-Limit-recipe-packets.patch @@ -5,10 +5,10 @@ Subject: [PATCH] Limit recipe packets diff --git a/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java b/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java -index 12f88573544269bc7276ca51d7f31be98bd60654..d8ae73b68e449a2ab7e39acf3c120248948480d6 100644 +index bace3a1d8e2e4b2b36f1b4cb80bb5c3bb473ad47..08ff8e489d86030dac403b405b016b77d7f81598 100644 --- a/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java +++ b/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java -@@ -254,6 +254,7 @@ public class ServerGamePacketListenerImpl extends ServerCommonPacketListenerImpl +@@ -258,6 +258,7 @@ public class ServerGamePacketListenerImpl extends ServerCommonPacketListenerImpl // CraftBukkit start - multithreaded fields private final AtomicInteger chatSpamTickCount = new AtomicInteger(); private final java.util.concurrent.atomic.AtomicInteger tabSpamLimiter = new java.util.concurrent.atomic.AtomicInteger(); // Paper - configurable tab spam limits @@ -16,7 +16,7 @@ index 12f88573544269bc7276ca51d7f31be98bd60654..d8ae73b68e449a2ab7e39acf3c120248 // CraftBukkit end private int dropSpamTickCount; private double firstGoodX; -@@ -375,6 +376,7 @@ public class ServerGamePacketListenerImpl extends ServerCommonPacketListenerImpl +@@ -378,6 +379,7 @@ public class ServerGamePacketListenerImpl extends ServerCommonPacketListenerImpl // CraftBukkit start for (int spam; (spam = this.chatSpamTickCount.get()) > 0 && !this.chatSpamTickCount.compareAndSet(spam, spam - 1); ) ; if (tabSpamLimiter.get() > 0) tabSpamLimiter.getAndDecrement(); // Paper - split to seperate variable @@ -24,7 +24,7 @@ index 12f88573544269bc7276ca51d7f31be98bd60654..d8ae73b68e449a2ab7e39acf3c120248 /* Use thread-safe field access instead if (this.chatSpamTickCount > 0) { --this.chatSpamTickCount; -@@ -2975,6 +2977,14 @@ public class ServerGamePacketListenerImpl extends ServerCommonPacketListenerImpl +@@ -2983,6 +2985,14 @@ public class ServerGamePacketListenerImpl extends ServerCommonPacketListenerImpl @Override public void handlePlaceRecipe(ServerboundPlaceRecipePacket packet) { diff --git a/patches/unapplied/server/0499-Fix-CraftSound-backwards-compatibility.patch b/patches/server/0499-Fix-CraftSound-backwards-compatibility.patch similarity index 100% rename from patches/unapplied/server/0499-Fix-CraftSound-backwards-compatibility.patch rename to patches/server/0499-Fix-CraftSound-backwards-compatibility.patch diff --git a/patches/unapplied/server/0500-Player-Chunk-Load-Unload-Events.patch b/patches/server/0500-Player-Chunk-Load-Unload-Events.patch similarity index 100% rename from patches/unapplied/server/0500-Player-Chunk-Load-Unload-Events.patch rename to patches/server/0500-Player-Chunk-Load-Unload-Events.patch diff --git a/patches/unapplied/server/0501-Optimize-Dynamic-get-Missing-Keys.patch b/patches/server/0501-Optimize-Dynamic-get-Missing-Keys.patch similarity index 100% rename from patches/unapplied/server/0501-Optimize-Dynamic-get-Missing-Keys.patch rename to patches/server/0501-Optimize-Dynamic-get-Missing-Keys.patch diff --git a/patches/unapplied/server/0502-Expose-LivingEntity-hurt-direction.patch b/patches/server/0502-Expose-LivingEntity-hurt-direction.patch similarity index 81% rename from patches/unapplied/server/0502-Expose-LivingEntity-hurt-direction.patch rename to patches/server/0502-Expose-LivingEntity-hurt-direction.patch index 4ff58cbd93..42d8addf4e 100644 --- a/patches/unapplied/server/0502-Expose-LivingEntity-hurt-direction.patch +++ b/patches/server/0502-Expose-LivingEntity-hurt-direction.patch @@ -5,10 +5,10 @@ Subject: [PATCH] Expose LivingEntity hurt direction diff --git a/src/main/java/net/minecraft/world/entity/player/Player.java b/src/main/java/net/minecraft/world/entity/player/Player.java -index fb3f65feab6f5febf58be71f0b9b1a4381958f1d..6c498338d3918afb4f7ad5bac013f6dbb43594c2 100644 +index 4bac05cb48d81dc9776d90502b6f12285b92122b..2957b3929c1e92af1b1a2636b83b757a0fbc789d 100644 --- a/src/main/java/net/minecraft/world/entity/player/Player.java +++ b/src/main/java/net/minecraft/world/entity/player/Player.java -@@ -183,7 +183,7 @@ public abstract class Player extends LivingEntity { +@@ -178,7 +178,7 @@ public abstract class Player extends LivingEntity { private Optional lastDeathLocation; @Nullable public FishingHook fishing; @@ -18,10 +18,10 @@ index fb3f65feab6f5febf58be71f0b9b1a4381958f1d..6c498338d3918afb4f7ad5bac013f6db public boolean affectsSpawning = true; // Paper end diff --git a/src/main/java/org/bukkit/craftbukkit/entity/CraftHumanEntity.java b/src/main/java/org/bukkit/craftbukkit/entity/CraftHumanEntity.java -index d41e37afeab1e8bb098c6ed012b10b113c4a4715..408c23c8310c464baebfb1f4adafe56a01645a5a 100644 +index 2609da834c014e82d0038de580d50163dd0c5687..6a5f5c00f9276337ddee8c8d1458a429bc5443d9 100644 --- a/src/main/java/org/bukkit/craftbukkit/entity/CraftHumanEntity.java +++ b/src/main/java/org/bukkit/craftbukkit/entity/CraftHumanEntity.java -@@ -126,6 +126,13 @@ public class CraftHumanEntity extends CraftLivingEntity implements HumanEntity { +@@ -127,6 +127,13 @@ public class CraftHumanEntity extends CraftLivingEntity implements HumanEntity { } } @@ -36,10 +36,10 @@ index d41e37afeab1e8bb098c6ed012b10b113c4a4715..408c23c8310c464baebfb1f4adafe56a public int getSleepTicks() { return this.getHandle().sleepCounter; diff --git a/src/main/java/org/bukkit/craftbukkit/entity/CraftLivingEntity.java b/src/main/java/org/bukkit/craftbukkit/entity/CraftLivingEntity.java -index a654f22a6c331cd69290b99e6c73f3ed611c58a5..810f06b3dc7148f9d71635981b3be79659fd0906 100644 +index 66c762c13a70f917e06795dcee85cae66cd316d4..4fc1ea695611e636349ea9d4d4ae48bab93d3b98 100644 --- a/src/main/java/org/bukkit/craftbukkit/entity/CraftLivingEntity.java +++ b/src/main/java/org/bukkit/craftbukkit/entity/CraftLivingEntity.java -@@ -932,5 +932,15 @@ public class CraftLivingEntity extends CraftEntity implements LivingEntity { +@@ -937,5 +937,15 @@ public class CraftLivingEntity extends CraftEntity implements LivingEntity { public void playPickupItemAnimation(org.bukkit.entity.Item item, int quantity) { getHandle().take(((CraftItem) item).getHandle(), quantity); } diff --git a/patches/unapplied/server/0503-Add-OBSTRUCTED-reason-to-BedEnterResult.patch b/patches/server/0503-Add-OBSTRUCTED-reason-to-BedEnterResult.patch similarity index 91% rename from patches/unapplied/server/0503-Add-OBSTRUCTED-reason-to-BedEnterResult.patch rename to patches/server/0503-Add-OBSTRUCTED-reason-to-BedEnterResult.patch index f6295463bd..6e3ee38c71 100644 --- a/patches/unapplied/server/0503-Add-OBSTRUCTED-reason-to-BedEnterResult.patch +++ b/patches/server/0503-Add-OBSTRUCTED-reason-to-BedEnterResult.patch @@ -5,7 +5,7 @@ Subject: [PATCH] Add OBSTRUCTED reason to BedEnterResult diff --git a/src/main/java/org/bukkit/craftbukkit/event/CraftEventFactory.java b/src/main/java/org/bukkit/craftbukkit/event/CraftEventFactory.java -index e2b09b575416a47277c53c6d49572d0845cb8a72..84f23d00a42af612d4ef636d8841db089e77270f 100644 +index bb7ec8b5a76155ec5a6bfa29eda4e395cf3f23d2..c4dd2ab7afe61d354418dc5475c3b444609ccd80 100644 --- a/src/main/java/org/bukkit/craftbukkit/event/CraftEventFactory.java +++ b/src/main/java/org/bukkit/craftbukkit/event/CraftEventFactory.java @@ -304,6 +304,10 @@ public class CraftEventFactory { diff --git a/patches/unapplied/server/0504-Do-not-crash-from-invalid-ingredient-lists-in-Villag.patch b/patches/server/0504-Do-not-crash-from-invalid-ingredient-lists-in-Villag.patch similarity index 100% rename from patches/unapplied/server/0504-Do-not-crash-from-invalid-ingredient-lists-in-Villag.patch rename to patches/server/0504-Do-not-crash-from-invalid-ingredient-lists-in-Villag.patch diff --git a/patches/unapplied/server/0505-Add-PlayerTradeEvent-and-PlayerPurchaseEvent.patch b/patches/server/0505-Add-PlayerTradeEvent-and-PlayerPurchaseEvent.patch similarity index 97% rename from patches/unapplied/server/0505-Add-PlayerTradeEvent-and-PlayerPurchaseEvent.patch rename to patches/server/0505-Add-PlayerTradeEvent-and-PlayerPurchaseEvent.patch index d4c042a0ed..f32afc053e 100644 --- a/patches/unapplied/server/0505-Add-PlayerTradeEvent-and-PlayerPurchaseEvent.patch +++ b/patches/server/0505-Add-PlayerTradeEvent-and-PlayerPurchaseEvent.patch @@ -37,10 +37,10 @@ index 73bc45000b5285ccf5b06e2f372d6c82bf843b82..5a591c439c5cef6b7e7e6f836ab813cb CriteriaTriggers.TRADE.trigger((ServerPlayer) this.tradingPlayer, this, offer.getResult()); } diff --git a/src/main/java/net/minecraft/world/inventory/AbstractContainerMenu.java b/src/main/java/net/minecraft/world/inventory/AbstractContainerMenu.java -index 35b2e4853c2791a39ebfd75c4c0208c998a43160..877b80ef3028acd9a783adf933286be0a86227bf 100644 +index 52e57fa3b25dce10c17682964cbd4bcb4c130dc6..c6ac55cdece9e2901e5d17a23408171c6c49ff69 100644 --- a/src/main/java/net/minecraft/world/inventory/AbstractContainerMenu.java +++ b/src/main/java/net/minecraft/world/inventory/AbstractContainerMenu.java -@@ -756,6 +756,14 @@ public abstract class AbstractContainerMenu { +@@ -760,6 +760,14 @@ public abstract class AbstractContainerMenu { public abstract boolean stillValid(Player player); protected boolean moveItemStackTo(ItemStack stack, int startIndex, int endIndex, boolean fromLast) { @@ -55,7 +55,7 @@ index 35b2e4853c2791a39ebfd75c4c0208c998a43160..877b80ef3028acd9a783adf933286be0 boolean flag1 = false; int k = startIndex; -@@ -778,18 +786,27 @@ public abstract class AbstractContainerMenu { +@@ -782,18 +790,27 @@ public abstract class AbstractContainerMenu { slot = (Slot) this.slots.get(k); itemstack1 = slot.getItem(); @@ -83,7 +83,7 @@ index 35b2e4853c2791a39ebfd75c4c0208c998a43160..877b80ef3028acd9a783adf933286be0 flag1 = true; } } -@@ -820,14 +837,33 @@ public abstract class AbstractContainerMenu { +@@ -824,14 +841,33 @@ public abstract class AbstractContainerMenu { slot = (Slot) this.slots.get(k); itemstack1 = slot.getItem(); diff --git a/patches/unapplied/server/0506-Implement-TargetHitEvent.patch b/patches/server/0506-Implement-TargetHitEvent.patch similarity index 91% rename from patches/unapplied/server/0506-Implement-TargetHitEvent.patch rename to patches/server/0506-Implement-TargetHitEvent.patch index 78722933d9..917dc86b41 100644 --- a/patches/unapplied/server/0506-Implement-TargetHitEvent.patch +++ b/patches/server/0506-Implement-TargetHitEvent.patch @@ -5,10 +5,10 @@ Subject: [PATCH] Implement TargetHitEvent diff --git a/src/main/java/net/minecraft/world/level/block/TargetBlock.java b/src/main/java/net/minecraft/world/level/block/TargetBlock.java -index fdaba168dd1ed25ed8d5b4cdd89d4ad801b10388..69eaf1341d282c4783dab84533ea2c053deed529 100644 +index 5ea231aadfafdfc6d08aae472827ff1e3d62f4eb..3fdc994a9b27eb099e5483c019d673c1b390434c 100644 --- a/src/main/java/net/minecraft/world/level/block/TargetBlock.java +++ b/src/main/java/net/minecraft/world/level/block/TargetBlock.java -@@ -35,6 +35,10 @@ public class TargetBlock extends Block { +@@ -42,6 +42,10 @@ public class TargetBlock extends Block { @Override public void onProjectileHit(Level world, BlockState state, BlockHitResult hit, Projectile projectile) { int i = updateRedstoneOutput(world, state, hit, projectile); @@ -19,7 +19,7 @@ index fdaba168dd1ed25ed8d5b4cdd89d4ad801b10388..69eaf1341d282c4783dab84533ea2c05 Entity entity = projectile.getOwner(); if (entity instanceof ServerPlayer serverPlayer) { serverPlayer.awardStat(Stats.TARGET_HIT); -@@ -46,6 +50,20 @@ public class TargetBlock extends Block { +@@ -53,6 +57,20 @@ public class TargetBlock extends Block { private static int updateRedstoneOutput(LevelAccessor world, BlockState state, BlockHitResult hitResult, Entity entity) { int i = getRedstoneStrength(hitResult, hitResult.getLocation()); int j = entity instanceof AbstractArrow ? 20 : 8; diff --git a/patches/unapplied/server/0507-MC-4-Fix-item-position-desync.patch b/patches/server/0507-MC-4-Fix-item-position-desync.patch similarity index 91% rename from patches/unapplied/server/0507-MC-4-Fix-item-position-desync.patch rename to patches/server/0507-MC-4-Fix-item-position-desync.patch index cd869dfa25..f253480e4a 100644 --- a/patches/unapplied/server/0507-MC-4-Fix-item-position-desync.patch +++ b/patches/server/0507-MC-4-Fix-item-position-desync.patch @@ -28,10 +28,10 @@ index 05ac41e136da43284fb24a6b698ebd36318278fb..33d9131e9c75ef23cd637f5d6c39a270 public Vec3 decode(long x, long y, long z) { diff --git a/src/main/java/net/minecraft/world/entity/Entity.java b/src/main/java/net/minecraft/world/entity/Entity.java -index 4841e57256092b5c8b71fa1dc56b61f790837cdd..8ba9dc9c1fe2c2589178ec54b5ff2d19a7a8c633 100644 +index 90621d3dfe8660f9b389ed292a3582a5dbb726bd..e68874f8d3d7628d11c1164849a4f835399d2452 100644 --- a/src/main/java/net/minecraft/world/entity/Entity.java +++ b/src/main/java/net/minecraft/world/entity/Entity.java -@@ -4227,6 +4227,16 @@ public abstract class Entity implements Nameable, EntityAccess, CommandSource { +@@ -4269,6 +4269,16 @@ public abstract class Entity implements Nameable, EntityAccess, CommandSource, S return; } // Paper end - rewrite chunk system diff --git a/patches/unapplied/server/0508-Additional-Block-Material-API-s.patch b/patches/server/0508-Additional-Block-Material-API-s.patch similarity index 89% rename from patches/unapplied/server/0508-Additional-Block-Material-API-s.patch rename to patches/server/0508-Additional-Block-Material-API-s.patch index 051b8a644d..d688dc87dc 100644 --- a/patches/unapplied/server/0508-Additional-Block-Material-API-s.patch +++ b/patches/server/0508-Additional-Block-Material-API-s.patch @@ -9,10 +9,10 @@ process to do this in the Bukkit API Adds API for buildable, replaceable, burnable too. diff --git a/src/main/java/org/bukkit/craftbukkit/block/CraftBlock.java b/src/main/java/org/bukkit/craftbukkit/block/CraftBlock.java -index 848f089e559e4feb67dea9148291f70460da9e9d..1d637f5be518a054767154296fb7905bdbc175ec 100644 +index aa644231425b9622437538b5c092d4064a40cced..98e87dc15e2ed23f6897ba6359846ff5bc32b655 100644 --- a/src/main/java/org/bukkit/craftbukkit/block/CraftBlock.java +++ b/src/main/java/org/bukkit/craftbukkit/block/CraftBlock.java -@@ -439,6 +439,25 @@ public class CraftBlock implements Block { +@@ -440,6 +440,25 @@ public class CraftBlock implements Block { return this.getNMS().liquid(); } diff --git a/patches/unapplied/server/0509-Fix-harming-potion-dupe.patch b/patches/server/0509-Fix-harming-potion-dupe.patch similarity index 96% rename from patches/unapplied/server/0509-Fix-harming-potion-dupe.patch rename to patches/server/0509-Fix-harming-potion-dupe.patch index 7b2d745291..545b594e94 100644 --- a/patches/unapplied/server/0509-Fix-harming-potion-dupe.patch +++ b/patches/server/0509-Fix-harming-potion-dupe.patch @@ -8,7 +8,7 @@ Before this patch, instant effects would be applied before the potion ItemStack This patch makes it so that instant effects are applied after the potion ItemStack is removed, and the glass bottle is only put into the player's inventory if the player is not dead. Otherwise, the glass bottle is dropped on the ground. diff --git a/src/main/java/net/minecraft/world/item/PotionItem.java b/src/main/java/net/minecraft/world/item/PotionItem.java -index 84723e0e04cde81d695b95ea6a29bc875fb58ff1..8c79ca75089e739d4899421106833e42e4e57280 100644 +index bb19a00c24e92058e05076b2ca0278dcae1890ae..d7ef159cc44787558ba41964f57a79f048371e97 100644 --- a/src/main/java/net/minecraft/world/item/PotionItem.java +++ b/src/main/java/net/minecraft/world/item/PotionItem.java @@ -50,6 +50,7 @@ public class PotionItem extends Item { diff --git a/patches/unapplied/server/0510-Implement-API-to-get-Material-from-Boats-and-Minecar.patch b/patches/server/0510-Implement-API-to-get-Material-from-Boats-and-Minecar.patch similarity index 100% rename from patches/unapplied/server/0510-Implement-API-to-get-Material-from-Boats-and-Minecar.patch rename to patches/server/0510-Implement-API-to-get-Material-from-Boats-and-Minecar.patch diff --git a/patches/unapplied/server/0511-Cache-burn-durations.patch b/patches/server/0511-Cache-burn-durations.patch similarity index 100% rename from patches/unapplied/server/0511-Cache-burn-durations.patch rename to patches/server/0511-Cache-burn-durations.patch diff --git a/patches/server/0512-Allow-disabling-mob-spawner-spawn-egg-transformation.patch b/patches/server/0512-Allow-disabling-mob-spawner-spawn-egg-transformation.patch new file mode 100644 index 0000000000..5fedca1570 --- /dev/null +++ b/patches/server/0512-Allow-disabling-mob-spawner-spawn-egg-transformation.patch @@ -0,0 +1,26 @@ +From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 +From: BrodyBeckwith +Date: Fri, 9 Oct 2020 20:30:12 -0400 +Subject: [PATCH] Allow disabling mob spawner spawn egg transformation + + +diff --git a/src/main/java/net/minecraft/world/item/SpawnEggItem.java b/src/main/java/net/minecraft/world/item/SpawnEggItem.java +index 8176b64e49166cc24ef7f011881fda38bc68c2a4..591291d3d872d505a6031048c21b2cbeeb5394b2 100644 +--- a/src/main/java/net/minecraft/world/item/SpawnEggItem.java ++++ b/src/main/java/net/minecraft/world/item/SpawnEggItem.java +@@ -63,6 +63,7 @@ public class SpawnEggItem extends Item { + EntityType entitytypes; + + if (tileentity instanceof Spawner) { ++ if (!world.paperConfig().entities.spawning.disableMobSpawnerSpawnEggTransformation) { // Paper - add condition + Spawner spawner = (Spawner) tileentity; + + entitytypes = this.getType(itemstack.getTag()); +@@ -71,6 +72,7 @@ public class SpawnEggItem extends Item { + world.gameEvent((Entity) context.getPlayer(), GameEvent.BLOCK_CHANGE, blockposition); + itemstack.shrink(1); + return InteractionResult.CONSUME; ++ } // Paper - end if + } else { + BlockPos blockposition1; + diff --git a/patches/unapplied/server/0513-Fix-Not-a-string-Map-Conversion-spam.patch b/patches/server/0513-Fix-Not-a-string-Map-Conversion-spam.patch similarity index 100% rename from patches/unapplied/server/0513-Fix-Not-a-string-Map-Conversion-spam.patch rename to patches/server/0513-Fix-Not-a-string-Map-Conversion-spam.patch diff --git a/patches/unapplied/server/0514-Implement-PlayerFlowerPotManipulateEvent.patch b/patches/server/0514-Implement-PlayerFlowerPotManipulateEvent.patch similarity index 92% rename from patches/unapplied/server/0514-Implement-PlayerFlowerPotManipulateEvent.patch rename to patches/server/0514-Implement-PlayerFlowerPotManipulateEvent.patch index 75632f7d24..0ef6459121 100644 --- a/patches/unapplied/server/0514-Implement-PlayerFlowerPotManipulateEvent.patch +++ b/patches/server/0514-Implement-PlayerFlowerPotManipulateEvent.patch @@ -5,10 +5,10 @@ Subject: [PATCH] Implement PlayerFlowerPotManipulateEvent diff --git a/src/main/java/net/minecraft/world/level/block/FlowerPotBlock.java b/src/main/java/net/minecraft/world/level/block/FlowerPotBlock.java -index 9a8fc69de43fcfeebcb31c895fa4b5868952fa0a..b229b21b4a9b953983e743f345e46e4235e2809d 100644 +index c450faf8c043665eab020141f3c27e3d9890cb86..f8d76e05a1b5ed25cbe8e2adeb63a748ff0fe3d7 100644 --- a/src/main/java/net/minecraft/world/level/block/FlowerPotBlock.java +++ b/src/main/java/net/minecraft/world/level/block/FlowerPotBlock.java -@@ -52,6 +52,25 @@ public class FlowerPotBlock extends Block { +@@ -66,6 +66,25 @@ public class FlowerPotBlock extends Block { boolean bl = blockState.is(Blocks.AIR); boolean bl2 = this.isEmpty(); if (bl != bl2) { diff --git a/patches/unapplied/server/0515-Fix-interact-event-not-being-called-sometimes.patch b/patches/server/0515-Fix-interact-event-not-being-called-sometimes.patch similarity index 94% rename from patches/unapplied/server/0515-Fix-interact-event-not-being-called-sometimes.patch rename to patches/server/0515-Fix-interact-event-not-being-called-sometimes.patch index 8ba9b9c78d..688d7fdcd5 100644 --- a/patches/unapplied/server/0515-Fix-interact-event-not-being-called-sometimes.patch +++ b/patches/server/0515-Fix-interact-event-not-being-called-sometimes.patch @@ -11,10 +11,10 @@ Subject: [PATCH] Fix interact event not being called sometimes Co-authored-by: Moulberry diff --git a/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java b/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java -index d8ae73b68e449a2ab7e39acf3c120248948480d6..11f62618aa36cbc7c12e477d6a8c773c86e59a21 100644 +index 08ff8e489d86030dac403b405b016b77d7f81598..f26d43404a613807cef765897e17192651b9e1a8 100644 --- a/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java +++ b/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java -@@ -1734,7 +1734,7 @@ public class ServerGamePacketListenerImpl extends ServerCommonPacketListenerImpl +@@ -1761,7 +1761,7 @@ public class ServerGamePacketListenerImpl extends ServerCommonPacketListenerImpl MutableComponent ichatmutablecomponent = Component.translatable("build.tooHigh", i - 1).withStyle(ChatFormatting.RED); this.player.sendSystemMessage(ichatmutablecomponent, true); @@ -23,7 +23,7 @@ index d8ae73b68e449a2ab7e39acf3c120248948480d6..11f62618aa36cbc7c12e477d6a8c773c this.player.swing(enumhand, true); } } -@@ -2296,13 +2296,20 @@ public class ServerGamePacketListenerImpl extends ServerCommonPacketListenerImpl +@@ -2304,13 +2304,20 @@ public class ServerGamePacketListenerImpl extends ServerCommonPacketListenerImpl double d3 = this.player.gameMode.getGameModeForPlayer() == GameType.CREATIVE ? 5.0D : 4.5D; // SPIGOT-5607: Only call interact event if no block or entity is being clicked. Use bukkit ray trace method, because it handles blocks and entities at the same time // SPIGOT-7429: Make sure to call PlayerInteractEvent for spectators and non-pickable entities diff --git a/patches/unapplied/server/0516-Zombie-API-breaking-doors.patch b/patches/server/0516-Zombie-API-breaking-doors.patch similarity index 100% rename from patches/unapplied/server/0516-Zombie-API-breaking-doors.patch rename to patches/server/0516-Zombie-API-breaking-doors.patch diff --git a/patches/unapplied/server/0517-Fix-nerfed-slime-when-splitting.patch b/patches/server/0517-Fix-nerfed-slime-when-splitting.patch similarity index 90% rename from patches/unapplied/server/0517-Fix-nerfed-slime-when-splitting.patch rename to patches/server/0517-Fix-nerfed-slime-when-splitting.patch index d2beca8665..02b201e9ce 100644 --- a/patches/unapplied/server/0517-Fix-nerfed-slime-when-splitting.patch +++ b/patches/server/0517-Fix-nerfed-slime-when-splitting.patch @@ -5,7 +5,7 @@ Subject: [PATCH] Fix nerfed slime when splitting diff --git a/src/main/java/net/minecraft/world/entity/monster/Slime.java b/src/main/java/net/minecraft/world/entity/monster/Slime.java -index 4677e47e4a84d09025cfb9327c1ed3bead1a3feb..21311d67565443b4ef59f8676f616237d28a8084 100644 +index fa014c04cc51a55345a1c50098f486161051741d..37724831ba9db2d0fb2e7756816e0355bc760815 100644 --- a/src/main/java/net/minecraft/world/entity/monster/Slime.java +++ b/src/main/java/net/minecraft/world/entity/monster/Slime.java @@ -243,6 +243,7 @@ public class Slime extends Mob implements Enemy { diff --git a/patches/unapplied/server/0518-Add-EntityLoadCrossbowEvent.patch b/patches/server/0518-Add-EntityLoadCrossbowEvent.patch similarity index 100% rename from patches/unapplied/server/0518-Add-EntityLoadCrossbowEvent.patch rename to patches/server/0518-Add-EntityLoadCrossbowEvent.patch diff --git a/patches/unapplied/server/0519-Added-WorldGameRuleChangeEvent.patch b/patches/server/0519-Added-WorldGameRuleChangeEvent.patch similarity index 92% rename from patches/unapplied/server/0519-Added-WorldGameRuleChangeEvent.patch rename to patches/server/0519-Added-WorldGameRuleChangeEvent.patch index fadf4b1d55..551deb10be 100644 --- a/patches/unapplied/server/0519-Added-WorldGameRuleChangeEvent.patch +++ b/patches/server/0519-Added-WorldGameRuleChangeEvent.patch @@ -18,10 +18,10 @@ index c8c358531dbc167e249bac2af246c5e34fbdd4df..307854468ac985560b4c63b6e9897c44 return Component.translatable("commands.gamerule.set", key.getId(), t0.toString()); }, true); diff --git a/src/main/java/net/minecraft/world/level/GameRules.java b/src/main/java/net/minecraft/world/level/GameRules.java -index 6a1001cb708a7f779a801428d2b00fbcde888bc1..2e240ad721928a9a68370114ba61c21884ef1472 100644 +index 334001cb749600c973c82391e1c11f0e40bd2dfb..2a480026c3bfb06e6556fe5b11d9712c8e02debe 100644 --- a/src/main/java/net/minecraft/world/level/GameRules.java +++ b/src/main/java/net/minecraft/world/level/GameRules.java -@@ -281,10 +281,10 @@ public class GameRules { +@@ -285,10 +285,10 @@ public class GameRules { this.type = type; } @@ -35,7 +35,7 @@ index 6a1001cb708a7f779a801428d2b00fbcde888bc1..2e240ad721928a9a68370114ba61c218 this.onChanged(((CommandSourceStack) context.getSource()).getServer()); } -@@ -342,8 +342,11 @@ public class GameRules { +@@ -346,8 +346,11 @@ public class GameRules { } @Override @@ -49,7 +49,7 @@ index 6a1001cb708a7f779a801428d2b00fbcde888bc1..2e240ad721928a9a68370114ba61c218 } public boolean get() { -@@ -407,8 +410,11 @@ public class GameRules { +@@ -411,8 +414,11 @@ public class GameRules { } @Override @@ -64,10 +64,10 @@ index 6a1001cb708a7f779a801428d2b00fbcde888bc1..2e240ad721928a9a68370114ba61c218 public int get() { diff --git a/src/main/java/org/bukkit/craftbukkit/CraftWorld.java b/src/main/java/org/bukkit/craftbukkit/CraftWorld.java -index 787f78e663017eae375d7eaee9d1508913598829..b4e1a0990ca8a9d4a17012ff3bae367e046ae27f 100644 +index 16df867ff996d33dc08831200d172633c9d68612..cb9db52f7dba755146713be45cb66905e065336f 100644 --- a/src/main/java/org/bukkit/craftbukkit/CraftWorld.java +++ b/src/main/java/org/bukkit/craftbukkit/CraftWorld.java -@@ -1873,8 +1873,13 @@ public class CraftWorld extends CraftRegionAccessor implements World { +@@ -1879,8 +1879,13 @@ public class CraftWorld extends CraftRegionAccessor implements World { if (!this.isGameRule(rule)) return false; @@ -82,7 +82,7 @@ index 787f78e663017eae375d7eaee9d1508913598829..b4e1a0990ca8a9d4a17012ff3bae367e handle.onChanged(this.getHandle().getServer()); return true; } -@@ -1910,8 +1915,12 @@ public class CraftWorld extends CraftRegionAccessor implements World { +@@ -1916,8 +1921,12 @@ public class CraftWorld extends CraftRegionAccessor implements World { if (!this.isGameRule(rule.getName())) return false; diff --git a/patches/unapplied/server/0520-Added-ServerResourcesReloadedEvent.patch b/patches/server/0520-Added-ServerResourcesReloadedEvent.patch similarity index 93% rename from patches/unapplied/server/0520-Added-ServerResourcesReloadedEvent.patch rename to patches/server/0520-Added-ServerResourcesReloadedEvent.patch index 490a9f39f8..cb19b400e4 100644 --- a/patches/unapplied/server/0520-Added-ServerResourcesReloadedEvent.patch +++ b/patches/server/0520-Added-ServerResourcesReloadedEvent.patch @@ -5,10 +5,10 @@ Subject: [PATCH] Added ServerResourcesReloadedEvent diff --git a/src/main/java/net/minecraft/server/MinecraftServer.java b/src/main/java/net/minecraft/server/MinecraftServer.java -index 331cc75f4802b7c6a2903d506e58d887ba15921d..27c7c696647271ffed345e339822526730a9523b 100644 +index f73ad3b85ed46913c10891edd3a52b9ad694e5e2..c063dece36e110691297b38635a9d14d70c4e391 100644 --- a/src/main/java/net/minecraft/server/MinecraftServer.java +++ b/src/main/java/net/minecraft/server/MinecraftServer.java -@@ -2009,7 +2009,13 @@ public abstract class MinecraftServer extends ReentrantBlockableEventLoop completablefuture = CompletableFuture.supplyAsync(() -> { Stream stream = dataPacks.stream(); // CraftBukkit - decompile error -@@ -2050,6 +2056,7 @@ public abstract class MinecraftServer extends ReentrantBlockableEventLoop { this.getServer().execute(() -> { diff --git a/patches/unapplied/server/0528-Fix-villager-boat-exploit.patch b/patches/server/0528-Fix-villager-boat-exploit.patch similarity index 88% rename from patches/unapplied/server/0528-Fix-villager-boat-exploit.patch rename to patches/server/0528-Fix-villager-boat-exploit.patch index e4f758d90a..11379f98f0 100644 --- a/patches/unapplied/server/0528-Fix-villager-boat-exploit.patch +++ b/patches/server/0528-Fix-villager-boat-exploit.patch @@ -5,10 +5,10 @@ Subject: [PATCH] Fix villager boat exploit diff --git a/src/main/java/net/minecraft/server/players/PlayerList.java b/src/main/java/net/minecraft/server/players/PlayerList.java -index 9cb8d94e81fd9ce5e3d09a6bae4fb8beaae09454..270e3aec3c477a80ea6f5e2e83337585a1dc9821 100644 +index 5d1af62e7d06f1fbcfe1eec0293ca3065a88454f..0d6ee2bce8e4243912e9c90999002a7efd68ac71 100644 --- a/src/main/java/net/minecraft/server/players/PlayerList.java +++ b/src/main/java/net/minecraft/server/players/PlayerList.java -@@ -606,6 +606,14 @@ public abstract class PlayerList { +@@ -604,6 +604,14 @@ public abstract class PlayerList { PlayerList.LOGGER.debug("Removing player mount"); entityplayer.stopRiding(); entity.getPassengersAndSelf().forEach((entity1) -> { diff --git a/patches/unapplied/server/0529-Add-sendOpLevel-API.patch b/patches/server/0529-Add-sendOpLevel-API.patch similarity index 84% rename from patches/unapplied/server/0529-Add-sendOpLevel-API.patch rename to patches/server/0529-Add-sendOpLevel-API.patch index 15617bc2f6..65851e6f15 100644 --- a/patches/unapplied/server/0529-Add-sendOpLevel-API.patch +++ b/patches/server/0529-Add-sendOpLevel-API.patch @@ -5,10 +5,10 @@ Subject: [PATCH] Add sendOpLevel API diff --git a/src/main/java/net/minecraft/server/players/PlayerList.java b/src/main/java/net/minecraft/server/players/PlayerList.java -index 270e3aec3c477a80ea6f5e2e83337585a1dc9821..705c0f7b601d025dfd7bbe1e69aec558f4bdb3f7 100644 +index 0d6ee2bce8e4243912e9c90999002a7efd68ac71..c76245eccdfbfc22c8c5bc9c04471259769b3ab1 100644 --- a/src/main/java/net/minecraft/server/players/PlayerList.java +++ b/src/main/java/net/minecraft/server/players/PlayerList.java -@@ -1101,6 +1101,11 @@ public abstract class PlayerList { +@@ -1099,6 +1099,11 @@ public abstract class PlayerList { } private void sendPlayerPermissionLevel(ServerPlayer player, int permissionLevel) { @@ -20,7 +20,7 @@ index 270e3aec3c477a80ea6f5e2e83337585a1dc9821..705c0f7b601d025dfd7bbe1e69aec558 if (player.connection != null) { byte b0; -@@ -1115,8 +1120,10 @@ public abstract class PlayerList { +@@ -1113,8 +1118,10 @@ public abstract class PlayerList { player.connection.send(new ClientboundEntityEventPacket(player, b0)); } @@ -32,10 +32,10 @@ index 270e3aec3c477a80ea6f5e2e83337585a1dc9821..705c0f7b601d025dfd7bbe1e69aec558 public boolean isWhiteListed(GameProfile profile) { diff --git a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java -index 9ba0165896e819ebb4482cc34113b72ecb466c43..c7090918ef8ad62742f44eb98756dc9a59d30a45 100644 +index 3c0295db596da4fd743730fc5a74f1b4c5b60a98..5e502235fc72b7cacf1b460065bd0d0f68add5f3 100644 --- a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java +++ b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java -@@ -628,6 +628,15 @@ public class CraftPlayer extends CraftHumanEntity implements Player { +@@ -635,6 +635,15 @@ public class CraftPlayer extends CraftHumanEntity implements Player { } // Paper end diff --git a/patches/unapplied/server/0530-TODO-Registry-Modification-API.patch b/patches/server/0530-TODO-Registry-Modification-API.patch similarity index 82% rename from patches/unapplied/server/0530-TODO-Registry-Modification-API.patch rename to patches/server/0530-TODO-Registry-Modification-API.patch index c247dad753..6ad8645be8 100644 --- a/patches/unapplied/server/0530-TODO-Registry-Modification-API.patch +++ b/patches/server/0530-TODO-Registry-Modification-API.patch @@ -5,10 +5,10 @@ Subject: [PATCH] TODO Registry Modification API diff --git a/src/main/java/org/bukkit/craftbukkit/CraftRegistry.java b/src/main/java/org/bukkit/craftbukkit/CraftRegistry.java -index 5f40159ecb2e235ba5a821c33c9ec3ce72860a7a..004bfaa563d901e042bf31cfac2993188f1190ff 100644 +index e374fdde3eda6b88793efbdc57f2a31bcbca7274..47b5930adf1870125b1ec063895b0652890a06de 100644 --- a/src/main/java/org/bukkit/craftbukkit/CraftRegistry.java +++ b/src/main/java/org/bukkit/craftbukkit/CraftRegistry.java -@@ -62,6 +62,7 @@ public class CraftRegistry implements Registry { +@@ -72,6 +72,7 @@ public class CraftRegistry implements Registry { if (bukkitClass == TrimPattern.class) { return new CraftRegistry<>(TrimPattern.class, registryHolder.registryOrThrow(Registries.TRIM_PATTERN), CraftTrimPattern::new); } diff --git a/patches/unapplied/server/0531-Add-StructuresLocateEvent.patch b/patches/server/0531-Add-StructuresLocateEvent.patch similarity index 98% rename from patches/unapplied/server/0531-Add-StructuresLocateEvent.patch rename to patches/server/0531-Add-StructuresLocateEvent.patch index 47d435b995..0f39403821 100644 --- a/patches/unapplied/server/0531-Add-StructuresLocateEvent.patch +++ b/patches/server/0531-Add-StructuresLocateEvent.patch @@ -76,10 +76,10 @@ index 4da303d7e15496f04f0e27bfb613176bc2a72b76..3c7920721914588a3e7eaf1faff46f73 Map>> map = new Object2ObjectArrayMap(); Iterator iterator = structures.iterator(); diff --git a/src/main/java/org/bukkit/craftbukkit/CraftRegistry.java b/src/main/java/org/bukkit/craftbukkit/CraftRegistry.java -index 004bfaa563d901e042bf31cfac2993188f1190ff..f527bfd1530e5605b80b05293b806530c3a96b7b 100644 +index 47b5930adf1870125b1ec063895b0652890a06de..253b4cf66e94faf0bc8861318ae7549f52cd29d1 100644 --- a/src/main/java/org/bukkit/craftbukkit/CraftRegistry.java +++ b/src/main/java/org/bukkit/craftbukkit/CraftRegistry.java -@@ -63,6 +63,11 @@ public class CraftRegistry implements Registry { +@@ -73,6 +73,11 @@ public class CraftRegistry implements Registry { return new CraftRegistry<>(TrimPattern.class, registryHolder.registryOrThrow(Registries.TRIM_PATTERN), CraftTrimPattern::new); } // TODO registry modification API diff --git a/patches/unapplied/server/0532-Collision-option-for-requiring-a-player-participant.patch b/patches/server/0532-Collision-option-for-requiring-a-player-participant.patch similarity index 81% rename from patches/unapplied/server/0532-Collision-option-for-requiring-a-player-participant.patch rename to patches/server/0532-Collision-option-for-requiring-a-player-participant.patch index f0ac75fa2c..817dd32f23 100644 --- a/patches/unapplied/server/0532-Collision-option-for-requiring-a-player-participant.patch +++ b/patches/server/0532-Collision-option-for-requiring-a-player-participant.patch @@ -5,10 +5,10 @@ Subject: [PATCH] Collision option for requiring a player participant diff --git a/src/main/java/net/minecraft/world/entity/Entity.java b/src/main/java/net/minecraft/world/entity/Entity.java -index 8ba9dc9c1fe2c2589178ec54b5ff2d19a7a8c633..3213555082444edcfbfd5db25aac50738f644d3d 100644 +index e68874f8d3d7628d11c1164849a4f835399d2452..3aa34902d4325c1ac2ad9d64ae2e5fa36a6d88e9 100644 --- a/src/main/java/net/minecraft/world/entity/Entity.java +++ b/src/main/java/net/minecraft/world/entity/Entity.java -@@ -1927,6 +1927,7 @@ public abstract class Entity implements Nameable, EntityAccess, CommandSource { +@@ -1932,6 +1932,7 @@ public abstract class Entity implements Nameable, EntityAccess, CommandSource, S public void push(Entity entity) { if (!this.isPassengerOfSameVehicle(entity)) { if (!entity.noPhysics && !this.noPhysics) { @@ -17,10 +17,10 @@ index 8ba9dc9c1fe2c2589178ec54b5ff2d19a7a8c633..3213555082444edcfbfd5db25aac5073 double d1 = entity.getZ() - this.getZ(); double d2 = Mth.absMax(d0, d1); 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 a719ea3cd6714686ead9c1817e9592733a980444..350d931f99bea1291f890d87fca6ae644c1a9fe9 100644 +index bf9963eb59269223a9e322773f3543640645ae9f..e3745cc43b48ff59a1659a9f88ad118b34f7f22b 100644 --- a/src/main/java/net/minecraft/world/entity/vehicle/AbstractMinecart.java +++ b/src/main/java/net/minecraft/world/entity/vehicle/AbstractMinecart.java -@@ -840,6 +840,7 @@ public abstract class AbstractMinecart extends Entity { +@@ -792,6 +792,7 @@ public abstract class AbstractMinecart extends VehicleEntity { public void push(Entity entity) { if (!this.level().isClientSide) { if (!entity.noPhysics && !this.noPhysics) { @@ -29,10 +29,10 @@ index a719ea3cd6714686ead9c1817e9592733a980444..350d931f99bea1291f890d87fca6ae64 // CraftBukkit start VehicleEntityCollisionEvent collisionEvent = new VehicleEntityCollisionEvent((Vehicle) this.getBukkitEntity(), entity.getBukkitEntity()); diff --git a/src/main/java/net/minecraft/world/entity/vehicle/Boat.java b/src/main/java/net/minecraft/world/entity/vehicle/Boat.java -index 7c233b03bac04520f0be9148fcd12282680bd39d..d958715094c8581c5b008568f8384169c507290b 100644 +index 6b0ec9da5a368775924f5b97c74acc5bfd609fa1..8b0efc4d78a04effddae0799b7ee5759ed5c720f 100644 --- a/src/main/java/net/minecraft/world/entity/vehicle/Boat.java +++ b/src/main/java/net/minecraft/world/entity/vehicle/Boat.java -@@ -265,6 +265,7 @@ public class Boat extends Entity implements VariantHolder { +@@ -207,6 +207,7 @@ public class Boat extends VehicleEntity implements VariantHolder { @Override public void push(Entity entity) { diff --git a/patches/unapplied/server/0533-Remove-ProjectileHitEvent-call-when-fireballs-dead.patch b/patches/server/0533-Remove-ProjectileHitEvent-call-when-fireballs-dead.patch similarity index 87% rename from patches/unapplied/server/0533-Remove-ProjectileHitEvent-call-when-fireballs-dead.patch rename to patches/server/0533-Remove-ProjectileHitEvent-call-when-fireballs-dead.patch index 3f7c51ddfe..345522a05d 100644 --- a/patches/unapplied/server/0533-Remove-ProjectileHitEvent-call-when-fireballs-dead.patch +++ b/patches/server/0533-Remove-ProjectileHitEvent-call-when-fireballs-dead.patch @@ -7,10 +7,10 @@ The duplicate ProjectileHitEvent in EntityFireball was removed. The event was always called before the duplicate call. diff --git a/src/main/java/net/minecraft/world/entity/projectile/AbstractHurtingProjectile.java b/src/main/java/net/minecraft/world/entity/projectile/AbstractHurtingProjectile.java -index b430d508e69de01d8271a73e0ed41865dcf012c4..6c9a8f062f989db022154155e8a05b334a0510da 100644 +index 503bf8d19dd17619f620e0bbe5331b9fe93f37b1..c4ecc5faa4f61e7974e8c475762924a89615b377 100644 --- a/src/main/java/net/minecraft/world/entity/projectile/AbstractHurtingProjectile.java +++ b/src/main/java/net/minecraft/world/entity/projectile/AbstractHurtingProjectile.java -@@ -88,7 +88,7 @@ public abstract class AbstractHurtingProjectile extends Projectile { +@@ -99,7 +99,7 @@ public abstract class AbstractHurtingProjectile extends Projectile { // CraftBukkit start - Fire ProjectileHitEvent if (this.isRemoved()) { diff --git a/patches/unapplied/server/0534-Return-chat-component-with-empty-text-instead-of-thr.patch b/patches/server/0534-Return-chat-component-with-empty-text-instead-of-thr.patch similarity index 92% rename from patches/unapplied/server/0534-Return-chat-component-with-empty-text-instead-of-thr.patch rename to patches/server/0534-Return-chat-component-with-empty-text-instead-of-thr.patch index 17e9def19b..ea9a7d39b0 100644 --- a/patches/unapplied/server/0534-Return-chat-component-with-empty-text-instead-of-thr.patch +++ b/patches/server/0534-Return-chat-component-with-empty-text-instead-of-thr.patch @@ -6,7 +6,7 @@ Subject: [PATCH] Return chat component with empty text instead of throwing diff --git a/src/main/java/net/minecraft/world/inventory/AbstractContainerMenu.java b/src/main/java/net/minecraft/world/inventory/AbstractContainerMenu.java -index 877b80ef3028acd9a783adf933286be0a86227bf..1a19c6dc49cac784ca56d92ec755d6ead9811b20 100644 +index c6ac55cdece9e2901e5d17a23408171c6c49ff69..b22cf4636108794092d8e289368b72a10a16d3cd 100644 --- a/src/main/java/net/minecraft/world/inventory/AbstractContainerMenu.java +++ b/src/main/java/net/minecraft/world/inventory/AbstractContainerMenu.java @@ -89,7 +89,12 @@ public abstract class AbstractContainerMenu { diff --git a/patches/unapplied/server/0535-Make-schedule-command-per-world.patch b/patches/server/0535-Make-schedule-command-per-world.patch similarity index 84% rename from patches/unapplied/server/0535-Make-schedule-command-per-world.patch rename to patches/server/0535-Make-schedule-command-per-world.patch index 8e29559590..25654c4b85 100644 --- a/patches/unapplied/server/0535-Make-schedule-command-per-world.patch +++ b/patches/server/0535-Make-schedule-command-per-world.patch @@ -5,11 +5,11 @@ Subject: [PATCH] Make schedule command per-world diff --git a/src/main/java/net/minecraft/server/commands/ScheduleCommand.java b/src/main/java/net/minecraft/server/commands/ScheduleCommand.java -index e4b4cea196cc3274317cd93351ec50196d318ee9..20d1cf83438272ad774a805b4b3b87546485c787 100644 +index 569b645c6d795401c974069d0be7195590cd354a..6fae14c03cb75375cee726df7f3ba9ab586c17f4 100644 --- a/src/main/java/net/minecraft/server/commands/ScheduleCommand.java +++ b/src/main/java/net/minecraft/server/commands/ScheduleCommand.java -@@ -31,7 +31,7 @@ public class ScheduleCommand { - return Component.translatable("commands.schedule.cleared.failure", object); +@@ -30,7 +30,7 @@ public class ScheduleCommand { + return Component.translatableEscape("commands.schedule.cleared.failure", object); }); private static final SuggestionProvider SUGGEST_SCHEDULE = (commandcontext, suggestionsbuilder) -> { - return SharedSuggestionProvider.suggest((Iterable) ((CommandSourceStack) commandcontext.getSource()).getServer().getWorldData().overworldData().getScheduledEvents().getEventsIds(), suggestionsbuilder); @@ -17,7 +17,7 @@ index e4b4cea196cc3274317cd93351ec50196d318ee9..20d1cf83438272ad774a805b4b3b8754 }; public ScheduleCommand() {} -@@ -86,7 +86,7 @@ public class ScheduleCommand { +@@ -85,7 +85,7 @@ public class ScheduleCommand { } private static int remove(CommandSourceStack source, String eventName) throws CommandSyntaxException { diff --git a/patches/unapplied/server/0536-Configurable-max-leash-distance.patch b/patches/server/0536-Configurable-max-leash-distance.patch similarity index 100% rename from patches/unapplied/server/0536-Configurable-max-leash-distance.patch rename to patches/server/0536-Configurable-max-leash-distance.patch diff --git a/patches/unapplied/server/0537-Implement-BlockPreDispenseEvent.patch b/patches/server/0537-Implement-BlockPreDispenseEvent.patch similarity index 86% rename from patches/unapplied/server/0537-Implement-BlockPreDispenseEvent.patch rename to patches/server/0537-Implement-BlockPreDispenseEvent.patch index 9950944d95..601692f41b 100644 --- a/patches/unapplied/server/0537-Implement-BlockPreDispenseEvent.patch +++ b/patches/server/0537-Implement-BlockPreDispenseEvent.patch @@ -5,10 +5,10 @@ Subject: [PATCH] Implement BlockPreDispenseEvent diff --git a/src/main/java/net/minecraft/world/level/block/DispenserBlock.java b/src/main/java/net/minecraft/world/level/block/DispenserBlock.java -index 5cf5b451fecb1ff04d0c4aca1fb0b702c7f99bdf..9b1e51c1d95da885c80c6d05000d83436b7bcfb4 100644 +index 21c37ad365e09a296c3e7a2d0cde7a29ced09c33..52e92ffd6bf5d3d721807a0b3a8e2d301951f934 100644 --- a/src/main/java/net/minecraft/world/level/block/DispenserBlock.java +++ b/src/main/java/net/minecraft/world/level/block/DispenserBlock.java -@@ -98,6 +98,7 @@ public class DispenserBlock extends BaseEntityBlock { +@@ -104,6 +104,7 @@ public class DispenserBlock extends BaseEntityBlock { DispenseItemBehavior idispensebehavior = this.getDispenseMethod(itemstack); if (idispensebehavior != DispenseItemBehavior.NOOP) { @@ -17,10 +17,10 @@ index 5cf5b451fecb1ff04d0c4aca1fb0b702c7f99bdf..9b1e51c1d95da885c80c6d05000d8343 tileentitydispenser.setItem(i, idispensebehavior.dispense(sourceblock, itemstack)); } diff --git a/src/main/java/org/bukkit/craftbukkit/event/CraftEventFactory.java b/src/main/java/org/bukkit/craftbukkit/event/CraftEventFactory.java -index ba4c8e74e0e073b48b5cf1fad86eb670bc35586f..772de0a5e9c5bb6532becfb322011b9b6d896996 100644 +index 7b6ed5812a9ea1ba1a4a2183c1568e9c60cc9c21..63a8ef00c6b3cc39165324e16e90c8ff4db7ece7 100644 --- a/src/main/java/org/bukkit/craftbukkit/event/CraftEventFactory.java +++ b/src/main/java/org/bukkit/craftbukkit/event/CraftEventFactory.java -@@ -2051,5 +2051,11 @@ public class CraftEventFactory { +@@ -2050,5 +2050,11 @@ public class CraftEventFactory { io.papermc.paper.event.block.BlockFailedDispenseEvent event = new io.papermc.paper.event.block.BlockFailedDispenseEvent(block); return event.callEvent(); } diff --git a/patches/unapplied/server/0538-Added-firing-of-PlayerChangeBeaconEffectEvent.patch b/patches/server/0538-Added-firing-of-PlayerChangeBeaconEffectEvent.patch similarity index 100% rename from patches/unapplied/server/0538-Added-firing-of-PlayerChangeBeaconEffectEvent.patch rename to patches/server/0538-Added-firing-of-PlayerChangeBeaconEffectEvent.patch diff --git a/patches/unapplied/server/0539-Add-toggle-for-always-placing-the-dragon-egg.patch b/patches/server/0539-Add-toggle-for-always-placing-the-dragon-egg.patch similarity index 100% rename from patches/unapplied/server/0539-Add-toggle-for-always-placing-the-dragon-egg.patch rename to patches/server/0539-Add-toggle-for-always-placing-the-dragon-egg.patch diff --git a/patches/unapplied/server/0540-Added-PlayerStonecutterRecipeSelectEvent.patch b/patches/server/0540-Added-PlayerStonecutterRecipeSelectEvent.patch similarity index 100% rename from patches/unapplied/server/0540-Added-PlayerStonecutterRecipeSelectEvent.patch rename to patches/server/0540-Added-PlayerStonecutterRecipeSelectEvent.patch diff --git a/patches/unapplied/server/0541-Add-dropLeash-variable-to-EntityUnleashEvent.patch b/patches/server/0541-Add-dropLeash-variable-to-EntityUnleashEvent.patch similarity index 92% rename from patches/unapplied/server/0541-Add-dropLeash-variable-to-EntityUnleashEvent.patch rename to patches/server/0541-Add-dropLeash-variable-to-EntityUnleashEvent.patch index 611e5093da..eccf0f6011 100644 --- a/patches/unapplied/server/0541-Add-dropLeash-variable-to-EntityUnleashEvent.patch +++ b/patches/server/0541-Add-dropLeash-variable-to-EntityUnleashEvent.patch @@ -5,10 +5,10 @@ Subject: [PATCH] Add dropLeash variable to EntityUnleashEvent diff --git a/src/main/java/net/minecraft/world/entity/Mob.java b/src/main/java/net/minecraft/world/entity/Mob.java -index 20007742739eb57fd36865526aa79ccebfca0b99..2e8b1d7b81e212a7b06f4844d0633241dc4b77bf 100644 +index d330b6d291cd2967358e892ccbc480bb3bd8022d..764a5dd85e3fb581b1e713ce9b148be1874d55be 100644 --- a/src/main/java/net/minecraft/world/entity/Mob.java +++ b/src/main/java/net/minecraft/world/entity/Mob.java -@@ -1304,12 +1304,15 @@ public abstract class Mob extends LivingEntity implements Targeting { +@@ -1305,12 +1305,15 @@ public abstract class Mob extends LivingEntity implements Targeting { return InteractionResult.PASS; } else if (this.getLeashHolder() == player) { // CraftBukkit start - fire PlayerUnleashEntityEvent @@ -26,21 +26,21 @@ index 20007742739eb57fd36865526aa79ccebfca0b99..2e8b1d7b81e212a7b06f4844d0633241 this.gameEvent(GameEvent.ENTITY_INTERACT, player); return InteractionResult.sidedSuccess(this.level().isClientSide); } else { -@@ -1477,8 +1480,11 @@ public abstract class Mob extends LivingEntity implements Targeting { +@@ -1478,8 +1481,11 @@ public abstract class Mob extends LivingEntity implements Targeting { if (this.leashHolder != null) { if (!this.isAlive() || !this.leashHolder.isAlive()) { - this.level().getCraftServer().getPluginManager().callEvent(new EntityUnleashEvent(this.getBukkitEntity(), (!this.isAlive()) ? UnleashReason.PLAYER_UNLEASH : UnleashReason.HOLDER_GONE)); // CraftBukkit -- this.dropLeash(true, true); +- this.dropLeash(true, !this.leashHolder.pluginRemoved);// CraftBukkit - SPIGOT-7487: Don't drop leash, when the holder was removed by a plugin + // Paper start - drop leash variable -+ EntityUnleashEvent event = new EntityUnleashEvent(this.getBukkitEntity(), (!this.isAlive()) ? EntityUnleashEvent.UnleashReason.PLAYER_UNLEASH : EntityUnleashEvent.UnleashReason.HOLDER_GONE, true); ++ EntityUnleashEvent event = new EntityUnleashEvent(this.getBukkitEntity(), (!this.isAlive()) ? EntityUnleashEvent.UnleashReason.PLAYER_UNLEASH : EntityUnleashEvent.UnleashReason.HOLDER_GONE, !this.leashHolder.pluginRemoved); + this.level().getCraftServer().getPluginManager().callEvent(event); // CraftBukkit + this.dropLeash(true, event.isDropLeash()); + // Paper end } } -@@ -1541,8 +1547,11 @@ public abstract class Mob extends LivingEntity implements Targeting { +@@ -1542,8 +1548,11 @@ public abstract class Mob extends LivingEntity implements Targeting { boolean flag1 = super.startRiding(entity, force); if (flag1 && this.isLeashed()) { @@ -54,7 +54,7 @@ index 20007742739eb57fd36865526aa79ccebfca0b99..2e8b1d7b81e212a7b06f4844d0633241 } return flag1; -@@ -1731,8 +1740,11 @@ public abstract class Mob extends LivingEntity implements Targeting { +@@ -1733,8 +1742,11 @@ public abstract class Mob extends LivingEntity implements Targeting { @Override protected void removeAfterChangingDimensions() { super.removeAfterChangingDimensions(); @@ -122,10 +122,10 @@ index 16784fcc853e23689a854e7dc6c03ed8182a164e..4eb97572a97a8d98af37c4223f42fc63 flag1 = true; } diff --git a/src/main/java/org/bukkit/craftbukkit/event/CraftEventFactory.java b/src/main/java/org/bukkit/craftbukkit/event/CraftEventFactory.java -index 772de0a5e9c5bb6532becfb322011b9b6d896996..571d9d48f4d4f45e47f17928d106432b438ff95d 100644 +index 63a8ef00c6b3cc39165324e16e90c8ff4db7ece7..6581fe79ce30ea9462c989289e3757d478f95ea8 100644 --- a/src/main/java/org/bukkit/craftbukkit/event/CraftEventFactory.java +++ b/src/main/java/org/bukkit/craftbukkit/event/CraftEventFactory.java -@@ -1641,8 +1641,10 @@ public class CraftEventFactory { +@@ -1640,8 +1640,10 @@ public class CraftEventFactory { Bukkit.getPluginManager().callEvent(new PlayerRecipeBookSettingsChangeEvent(player.getBukkitEntity(), bukkitType, open, filter)); } diff --git a/patches/unapplied/server/0542-Reset-shield-blocking-on-dimension-change.patch b/patches/server/0542-Reset-shield-blocking-on-dimension-change.patch similarity index 83% rename from patches/unapplied/server/0542-Reset-shield-blocking-on-dimension-change.patch rename to patches/server/0542-Reset-shield-blocking-on-dimension-change.patch index 77d3f29709..4f5662626d 100644 --- a/patches/unapplied/server/0542-Reset-shield-blocking-on-dimension-change.patch +++ b/patches/server/0542-Reset-shield-blocking-on-dimension-change.patch @@ -5,10 +5,10 @@ Subject: [PATCH] Reset shield blocking on dimension change diff --git a/src/main/java/net/minecraft/server/level/ServerPlayer.java b/src/main/java/net/minecraft/server/level/ServerPlayer.java -index bf637aae0dcd701dd31568b3c84851349c4c5a0a..86b870e8316d2c27861c85ee5a8f7ddd857e8297 100644 +index 063742400f3065ace62b64b42d952517ae00ea1f..e460d3f66ef58e0788fd9dfb35a6ce0e3c171289 100644 --- a/src/main/java/net/minecraft/server/level/ServerPlayer.java +++ b/src/main/java/net/minecraft/server/level/ServerPlayer.java -@@ -1242,6 +1242,11 @@ public class ServerPlayer extends Player { +@@ -1246,6 +1246,11 @@ public class ServerPlayer extends Player { this.level().getCraftServer().getPluginManager().callEvent(changeEvent); // CraftBukkit end } diff --git a/patches/unapplied/server/0543-add-DragonEggFormEvent.patch b/patches/server/0543-add-DragonEggFormEvent.patch similarity index 100% rename from patches/unapplied/server/0543-add-DragonEggFormEvent.patch rename to patches/server/0543-add-DragonEggFormEvent.patch diff --git a/patches/unapplied/server/0544-EntityMoveEvent.patch b/patches/server/0544-EntityMoveEvent.patch similarity index 87% rename from patches/unapplied/server/0544-EntityMoveEvent.patch rename to patches/server/0544-EntityMoveEvent.patch index 3df3a5972e..ef35d6716b 100644 --- a/patches/unapplied/server/0544-EntityMoveEvent.patch +++ b/patches/server/0544-EntityMoveEvent.patch @@ -5,10 +5,10 @@ Subject: [PATCH] EntityMoveEvent diff --git a/src/main/java/net/minecraft/server/MinecraftServer.java b/src/main/java/net/minecraft/server/MinecraftServer.java -index 27c7c696647271ffed345e339822526730a9523b..ced37ae135b8b856665819a7b618f62f18bb0199 100644 +index c063dece36e110691297b38635a9d14d70c4e391..5f440e3d3a750c65d0d13834eca553b8f5a521a6 100644 --- a/src/main/java/net/minecraft/server/MinecraftServer.java +++ b/src/main/java/net/minecraft/server/MinecraftServer.java -@@ -1491,6 +1491,7 @@ public abstract class MinecraftServer extends ReentrantBlockableEventLoop 0; // Paper @@ -17,10 +17,10 @@ index 27c7c696647271ffed345e339822526730a9523b..ced37ae135b8b856665819a7b618f62f this.profiler.push(() -> { return worldserver + " " + worldserver.dimension().location(); diff --git a/src/main/java/net/minecraft/server/level/ServerLevel.java b/src/main/java/net/minecraft/server/level/ServerLevel.java -index 3e06d5d172260cef78413398328fcec1965ab469..3dd92b6ca926a04fabf552eb8c1f12ff4d90070f 100644 +index b02cb4229533568ed270737aa8cd792f23a44524..86f6c89459ba0f7b304348f22e2c3ad5b47014c4 100644 --- a/src/main/java/net/minecraft/server/level/ServerLevel.java +++ b/src/main/java/net/minecraft/server/level/ServerLevel.java -@@ -220,6 +220,7 @@ public class ServerLevel extends Level implements WorldGenLevel { +@@ -222,6 +222,7 @@ public class ServerLevel extends Level implements WorldGenLevel { public final LevelStorageSource.LevelStorageAccess convertable; public final UUID uuid; public boolean hasPhysicsEvent = true; // Paper @@ -29,10 +29,10 @@ index 3e06d5d172260cef78413398328fcec1965ab469..3dd92b6ca926a04fabf552eb8c1f12ff final Throwable thr = new Throwable(entity + " Added to world at " + new java.util.Date()); io.papermc.paper.util.StacktraceDeobfuscator.INSTANCE.deobfuscateThrowable(thr); diff --git a/src/main/java/net/minecraft/world/entity/LivingEntity.java b/src/main/java/net/minecraft/world/entity/LivingEntity.java -index 7b68fd746338fadba2b3e9aee4df5fb965299f1a..002591d6cafd909783db95f000530d3b93a04ff6 100644 +index bf617621c88c68198709d1ed238622c3fcec89bd..e112880d8389c059a5daa572cb7906d767279084 100644 --- a/src/main/java/net/minecraft/world/entity/LivingEntity.java +++ b/src/main/java/net/minecraft/world/entity/LivingEntity.java -@@ -3359,6 +3359,20 @@ public abstract class LivingEntity extends Entity implements Attackable { +@@ -3361,6 +3361,20 @@ public abstract class LivingEntity extends Entity implements Attackable { this.pushEntities(); this.level().getProfiler().pop(); diff --git a/patches/unapplied/server/0545-added-option-to-disable-pathfinding-updates-on-block.patch b/patches/server/0545-added-option-to-disable-pathfinding-updates-on-block.patch similarity index 80% rename from patches/unapplied/server/0545-added-option-to-disable-pathfinding-updates-on-block.patch rename to patches/server/0545-added-option-to-disable-pathfinding-updates-on-block.patch index b1a87f859b..4aedbe63b9 100644 --- a/patches/unapplied/server/0545-added-option-to-disable-pathfinding-updates-on-block.patch +++ b/patches/server/0545-added-option-to-disable-pathfinding-updates-on-block.patch @@ -5,10 +5,10 @@ Subject: [PATCH] added option to disable pathfinding updates on block changes diff --git a/src/main/java/net/minecraft/server/level/ServerLevel.java b/src/main/java/net/minecraft/server/level/ServerLevel.java -index 3dd92b6ca926a04fabf552eb8c1f12ff4d90070f..bc7bed7f98723a68c1d919020e9e88ad2213d7b8 100644 +index 86f6c89459ba0f7b304348f22e2c3ad5b47014c4..b3f8607221c3508fa8a8435bec1d490c7b05cd91 100644 --- a/src/main/java/net/minecraft/server/level/ServerLevel.java +++ b/src/main/java/net/minecraft/server/level/ServerLevel.java -@@ -1654,6 +1654,7 @@ public class ServerLevel extends Level implements WorldGenLevel { +@@ -1673,6 +1673,7 @@ public class ServerLevel extends Level implements WorldGenLevel { } this.getChunkSource().blockChanged(pos); @@ -16,7 +16,7 @@ index 3dd92b6ca926a04fabf552eb8c1f12ff4d90070f..bc7bed7f98723a68c1d919020e9e88ad VoxelShape voxelshape = oldState.getCollisionShape(this, pos); VoxelShape voxelshape1 = newState.getCollisionShape(this, pos); -@@ -1695,6 +1696,7 @@ public class ServerLevel extends Level implements WorldGenLevel { +@@ -1714,6 +1715,7 @@ public class ServerLevel extends Level implements WorldGenLevel { } } diff --git a/patches/unapplied/server/0546-Inline-shift-direction-fields.patch b/patches/server/0546-Inline-shift-direction-fields.patch similarity index 100% rename from patches/unapplied/server/0546-Inline-shift-direction-fields.patch rename to patches/server/0546-Inline-shift-direction-fields.patch diff --git a/patches/unapplied/server/0547-Allow-adding-items-to-BlockDropItemEvent.patch b/patches/server/0547-Allow-adding-items-to-BlockDropItemEvent.patch similarity index 95% rename from patches/unapplied/server/0547-Allow-adding-items-to-BlockDropItemEvent.patch rename to patches/server/0547-Allow-adding-items-to-BlockDropItemEvent.patch index e7d78b6fdc..69df7592ec 100644 --- a/patches/unapplied/server/0547-Allow-adding-items-to-BlockDropItemEvent.patch +++ b/patches/server/0547-Allow-adding-items-to-BlockDropItemEvent.patch @@ -5,7 +5,7 @@ Subject: [PATCH] Allow adding items to BlockDropItemEvent diff --git a/src/main/java/org/bukkit/craftbukkit/event/CraftEventFactory.java b/src/main/java/org/bukkit/craftbukkit/event/CraftEventFactory.java -index 571d9d48f4d4f45e47f17928d106432b438ff95d..e09fe6cb64556820fe50e5a771c9f91eebdb8da4 100644 +index 6581fe79ce30ea9462c989289e3757d478f95ea8..9bb9be0c73386c3f1c49f8831402789e92e23c0f 100644 --- a/src/main/java/org/bukkit/craftbukkit/event/CraftEventFactory.java +++ b/src/main/java/org/bukkit/craftbukkit/event/CraftEventFactory.java @@ -453,13 +453,30 @@ public class CraftEventFactory { diff --git a/patches/unapplied/server/0548-Add-getMainThreadExecutor-to-BukkitScheduler.patch b/patches/server/0548-Add-getMainThreadExecutor-to-BukkitScheduler.patch similarity index 100% rename from patches/unapplied/server/0548-Add-getMainThreadExecutor-to-BukkitScheduler.patch rename to patches/server/0548-Add-getMainThreadExecutor-to-BukkitScheduler.patch diff --git a/patches/unapplied/server/0549-living-entity-allow-attribute-registration.patch b/patches/server/0549-living-entity-allow-attribute-registration.patch similarity index 94% rename from patches/unapplied/server/0549-living-entity-allow-attribute-registration.patch rename to patches/server/0549-living-entity-allow-attribute-registration.patch index d9d31ae912..2902130e92 100644 --- a/patches/unapplied/server/0549-living-entity-allow-attribute-registration.patch +++ b/patches/server/0549-living-entity-allow-attribute-registration.patch @@ -38,10 +38,10 @@ index ea48f1119a940056c37d1d203437bfbfdf13663b..a3f989fd1775adbb84d197c51e22c188 + // Paper end } diff --git a/src/main/java/org/bukkit/craftbukkit/entity/CraftLivingEntity.java b/src/main/java/org/bukkit/craftbukkit/entity/CraftLivingEntity.java -index 810f06b3dc7148f9d71635981b3be79659fd0906..62700f1190bda9cb05514096e426eb3eeb87504c 100644 +index 4fc1ea695611e636349ea9d4d4ae48bab93d3b98..23e1d67bb239fb1ceb66d7b4a69bdba4917fa19c 100644 --- a/src/main/java/org/bukkit/craftbukkit/entity/CraftLivingEntity.java +++ b/src/main/java/org/bukkit/craftbukkit/entity/CraftLivingEntity.java -@@ -710,6 +710,13 @@ public class CraftLivingEntity extends CraftEntity implements LivingEntity { +@@ -715,6 +715,13 @@ public class CraftLivingEntity extends CraftEntity implements LivingEntity { return this.getHandle().craftAttributes.getAttribute(attribute); } diff --git a/patches/unapplied/server/0550-fix-dead-slime-setSize-invincibility.patch b/patches/server/0550-fix-dead-slime-setSize-invincibility.patch similarity index 100% rename from patches/unapplied/server/0550-fix-dead-slime-setSize-invincibility.patch rename to patches/server/0550-fix-dead-slime-setSize-invincibility.patch diff --git a/patches/unapplied/server/0551-Merchant-getRecipes-should-return-an-immutable-list.patch b/patches/server/0551-Merchant-getRecipes-should-return-an-immutable-list.patch similarity index 100% rename from patches/unapplied/server/0551-Merchant-getRecipes-should-return-an-immutable-list.patch rename to patches/server/0551-Merchant-getRecipes-should-return-an-immutable-list.patch diff --git a/patches/unapplied/server/0552-Expose-Tracked-Players.patch b/patches/server/0552-Expose-Tracked-Players.patch similarity index 87% rename from patches/unapplied/server/0552-Expose-Tracked-Players.patch rename to patches/server/0552-Expose-Tracked-Players.patch index 8c34b0992c..b261dee925 100644 --- a/patches/unapplied/server/0552-Expose-Tracked-Players.patch +++ b/patches/server/0552-Expose-Tracked-Players.patch @@ -5,10 +5,10 @@ Subject: [PATCH] Expose Tracked Players diff --git a/src/main/java/org/bukkit/craftbukkit/entity/CraftEntity.java b/src/main/java/org/bukkit/craftbukkit/entity/CraftEntity.java -index fb0cde02f2fc143d69f926131b2fb3dc69bfdea3..b23338739b7badbb4fae1428a02a67625133b6e0 100644 +index 2979678d8640324f5c28e4051bbb3b61b81a1e71..92893d2c9bb921ab40fd8a53300d71fac417eb83 100644 --- a/src/main/java/org/bukkit/craftbukkit/entity/CraftEntity.java +++ b/src/main/java/org/bukkit/craftbukkit/entity/CraftEntity.java -@@ -1368,5 +1368,18 @@ public abstract class CraftEntity implements org.bukkit.entity.Entity { +@@ -1412,5 +1412,18 @@ public abstract class CraftEntity implements org.bukkit.entity.Entity { public boolean isTicking() { return getHandle().isTicking(); } diff --git a/patches/unapplied/server/0553-Remove-streams-from-SensorNearest.patch b/patches/server/0553-Remove-streams-from-SensorNearest.patch similarity index 100% rename from patches/unapplied/server/0553-Remove-streams-from-SensorNearest.patch rename to patches/server/0553-Remove-streams-from-SensorNearest.patch diff --git a/patches/unapplied/server/0554-Improve-ServerGUI.patch b/patches/server/0554-Improve-ServerGUI.patch similarity index 98% rename from patches/unapplied/server/0554-Improve-ServerGUI.patch rename to patches/server/0554-Improve-ServerGUI.patch index cb4eed5f13..35918b7e36 100644 --- a/patches/unapplied/server/0554-Improve-ServerGUI.patch +++ b/patches/server/0554-Improve-ServerGUI.patch @@ -59,10 +59,10 @@ index 2e93eec8733c5b548a15269a322fe4dd1f189b7d..dd9f611efc95f7d06fd3011fedd5d031 public void windowClosing(WindowEvent windowevent) { if (!servergui.isClosing.getAndSet(true)) { diff --git a/src/main/java/net/minecraft/server/gui/StatsComponent.java b/src/main/java/net/minecraft/server/gui/StatsComponent.java -index 4c5059805715bbca53196bcabd7eda550a46c34d..88f10d729aa1e0a01790521821d691a0ecd373a2 100644 +index 7938029cb7aa6f09f78fb1c648357c36edb68510..4073484fefbf1ec6072013f6903f9237eb3ebfbc 100644 --- a/src/main/java/net/minecraft/server/gui/StatsComponent.java +++ b/src/main/java/net/minecraft/server/gui/StatsComponent.java -@@ -35,8 +35,17 @@ public class StatsComponent extends JComponent { +@@ -36,8 +36,17 @@ public class StatsComponent extends JComponent { private void tick() { long l = Runtime.getRuntime().totalMemory() - Runtime.getRuntime().freeMemory(); @@ -74,13 +74,13 @@ index 4c5059805715bbca53196bcabd7eda550a46c34d..88f10d729aa1e0a01790521821d691a0 + tpsAvg[g] = format( tps[g] ); + } this.msgs[0] = "Memory use: " + l / 1024L / 1024L + " mb (" + Runtime.getRuntime().freeMemory() * 100L / Runtime.getRuntime().maxMemory() + "% free)"; - this.msgs[1] = "Avg tick: " + DECIMAL_FORMAT.format(this.getAverage(this.server.tickTimes) * 1.0E-6D) + " ms"; + this.msgs[1] = "Avg tick: " + DECIMAL_FORMAT.format((double)this.server.getAverageTickTimeNanos() / (double)TimeUtil.NANOSECONDS_PER_MILLISECOND) + " ms"; + this.msgs[2] = "TPS from last 1m, 5m, 15m: " + String.join(", ", tpsAvg); + // Paper end this.values[this.vp++ & 255] = (int)(l * 100L / Runtime.getRuntime().maxMemory()); this.repaint(); } -@@ -76,4 +85,10 @@ public class StatsComponent extends JComponent { +@@ -67,4 +76,10 @@ public class StatsComponent extends JComponent { public void close() { this.timer.stop(); } diff --git a/patches/unapplied/server/0555-fix-converting-txt-to-json-file.patch b/patches/server/0555-fix-converting-txt-to-json-file.patch similarity index 93% rename from patches/unapplied/server/0555-fix-converting-txt-to-json-file.patch rename to patches/server/0555-fix-converting-txt-to-json-file.patch index b90cade101..4dd2dcb8f6 100644 --- a/patches/unapplied/server/0555-fix-converting-txt-to-json-file.patch +++ b/patches/server/0555-fix-converting-txt-to-json-file.patch @@ -21,7 +21,7 @@ index a20d47f54f12dfc0a5f76dd969238e34c958b618..935dac757280731bfeb0a8f033cbe315 this.saveUserBanList(); this.loadIpBanList(); diff --git a/src/main/java/net/minecraft/server/dedicated/DedicatedServer.java b/src/main/java/net/minecraft/server/dedicated/DedicatedServer.java -index 9e631002278e21f1e0a3989573e7d5b2e1a82dd8..4a088f998befc0f3e21f28da74bba14475b0e1c8 100644 +index ac918da8234553e4d88664b240feddc1fea8bd6b..e92708f60fec876c62e720420f133a9b28c6f66f 100644 --- a/src/main/java/net/minecraft/server/dedicated/DedicatedServer.java +++ b/src/main/java/net/minecraft/server/dedicated/DedicatedServer.java @@ -198,6 +198,12 @@ public class DedicatedServer extends MinecraftServer implements ServerInterface @@ -48,10 +48,10 @@ index 9e631002278e21f1e0a3989573e7d5b2e1a82dd8..4a088f998befc0f3e21f28da74bba144 if (!OldUsersConverter.serverReadyAfterUserconversion(this)) { return false; diff --git a/src/main/java/net/minecraft/server/players/PlayerList.java b/src/main/java/net/minecraft/server/players/PlayerList.java -index 705c0f7b601d025dfd7bbe1e69aec558f4bdb3f7..3cea14fa4a2f5346955c65864e24442c008ebcfa 100644 +index c76245eccdfbfc22c8c5bc9c04471259769b3ab1..d2573260e4fa4f0c410bf92fe590a4b0d1b679c9 100644 --- a/src/main/java/net/minecraft/server/players/PlayerList.java +++ b/src/main/java/net/minecraft/server/players/PlayerList.java -@@ -178,6 +178,7 @@ public abstract class PlayerList { +@@ -176,6 +176,7 @@ public abstract class PlayerList { this.maxPlayers = maxPlayers; this.playerIo = saveHandler; } diff --git a/patches/unapplied/server/0556-Add-worldborder-events.patch b/patches/server/0556-Add-worldborder-events.patch similarity index 100% rename from patches/unapplied/server/0556-Add-worldborder-events.patch rename to patches/server/0556-Add-worldborder-events.patch diff --git a/patches/unapplied/server/0557-added-PlayerNameEntityEvent.patch b/patches/server/0557-added-PlayerNameEntityEvent.patch similarity index 100% rename from patches/unapplied/server/0557-added-PlayerNameEntityEvent.patch rename to patches/server/0557-added-PlayerNameEntityEvent.patch diff --git a/patches/unapplied/server/0558-Prevent-grindstones-from-overstacking-items.patch b/patches/server/0558-Prevent-grindstones-from-overstacking-items.patch similarity index 100% rename from patches/unapplied/server/0558-Prevent-grindstones-from-overstacking-items.patch rename to patches/server/0558-Prevent-grindstones-from-overstacking-items.patch diff --git a/patches/unapplied/server/0559-Add-recipe-to-cook-events.patch b/patches/server/0559-Add-recipe-to-cook-events.patch similarity index 100% rename from patches/unapplied/server/0559-Add-recipe-to-cook-events.patch rename to patches/server/0559-Add-recipe-to-cook-events.patch diff --git a/patches/unapplied/server/0560-Add-Block-isValidTool.patch b/patches/server/0560-Add-Block-isValidTool.patch similarity index 81% rename from patches/unapplied/server/0560-Add-Block-isValidTool.patch rename to patches/server/0560-Add-Block-isValidTool.patch index ff5e330151..5f36fb047c 100644 --- a/patches/unapplied/server/0560-Add-Block-isValidTool.patch +++ b/patches/server/0560-Add-Block-isValidTool.patch @@ -5,10 +5,10 @@ Subject: [PATCH] Add Block#isValidTool diff --git a/src/main/java/org/bukkit/craftbukkit/block/CraftBlock.java b/src/main/java/org/bukkit/craftbukkit/block/CraftBlock.java -index 1d637f5be518a054767154296fb7905bdbc175ec..a33e7114ac902ae66a31e0298e7c13af2d11b07c 100644 +index 98e87dc15e2ed23f6897ba6359846ff5bc32b655..2034858a53c4c887da334cdc7713997daa01124f 100644 --- a/src/main/java/org/bukkit/craftbukkit/block/CraftBlock.java +++ b/src/main/java/org/bukkit/craftbukkit/block/CraftBlock.java -@@ -692,5 +692,9 @@ public class CraftBlock implements Block { +@@ -693,5 +693,9 @@ public class CraftBlock implements Block { public String translationKey() { return this.getNMS().getBlock().getDescriptionId(); } diff --git a/patches/unapplied/server/0561-Allow-using-signs-inside-spawn-protection.patch b/patches/server/0561-Allow-using-signs-inside-spawn-protection.patch similarity index 91% rename from patches/unapplied/server/0561-Allow-using-signs-inside-spawn-protection.patch rename to patches/server/0561-Allow-using-signs-inside-spawn-protection.patch index 2734a5afe5..bd595b3ecc 100644 --- a/patches/unapplied/server/0561-Allow-using-signs-inside-spawn-protection.patch +++ b/patches/server/0561-Allow-using-signs-inside-spawn-protection.patch @@ -5,10 +5,10 @@ Subject: [PATCH] Allow using signs inside spawn protection diff --git a/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java b/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java -index 11f62618aa36cbc7c12e477d6a8c773c86e59a21..f4f492bc554c0abea75e613fbfc7e06c54cf47f4 100644 +index f26d43404a613807cef765897e17192651b9e1a8..c74dc67cd67597ffe25b1460590015674bce20d5 100644 --- a/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java +++ b/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java -@@ -1726,7 +1726,7 @@ public class ServerGamePacketListenerImpl extends ServerCommonPacketListenerImpl +@@ -1753,7 +1753,7 @@ public class ServerGamePacketListenerImpl extends ServerCommonPacketListenerImpl int i = this.player.level().getMaxBuildHeight(); if (blockposition.getY() < i) { diff --git a/patches/unapplied/server/0562-Expand-world-key-API.patch b/patches/server/0562-Expand-world-key-API.patch similarity index 85% rename from patches/unapplied/server/0562-Expand-world-key-API.patch rename to patches/server/0562-Expand-world-key-API.patch index 6b7e8f4699..6711571fad 100644 --- a/patches/unapplied/server/0562-Expand-world-key-API.patch +++ b/patches/server/0562-Expand-world-key-API.patch @@ -5,10 +5,10 @@ Subject: [PATCH] Expand world key API diff --git a/src/main/java/org/bukkit/craftbukkit/CraftRegionAccessor.java b/src/main/java/org/bukkit/craftbukkit/CraftRegionAccessor.java -index f0360d00918d115008775c41fb586d553c1e2b41..970c85656c398b72e225fb755833e2887c04a68c 100644 +index 6433ac4053e7c39aa4ec73db4159422e501c9d21..31969ed9b6f8660dc969eab83d11c24d5932cef0 100644 --- a/src/main/java/org/bukkit/craftbukkit/CraftRegionAccessor.java +++ b/src/main/java/org/bukkit/craftbukkit/CraftRegionAccessor.java -@@ -987,5 +987,10 @@ public abstract class CraftRegionAccessor implements RegionAccessor { +@@ -1021,5 +1021,10 @@ public abstract class CraftRegionAccessor implements RegionAccessor { public io.papermc.paper.world.MoonPhase getMoonPhase() { return io.papermc.paper.world.MoonPhase.getPhase(this.getHandle().dayTime() / 24000L); } @@ -20,10 +20,10 @@ index f0360d00918d115008775c41fb586d553c1e2b41..970c85656c398b72e225fb755833e288 // Paper end } diff --git a/src/main/java/org/bukkit/craftbukkit/CraftServer.java b/src/main/java/org/bukkit/craftbukkit/CraftServer.java -index 475e623d2d42f372b12cf50c2b26b4d2dc203072..dda032b2b4e7b699d62b6bec43aa120d8b385700 100644 +index 561436bdff6b1a46b37cad519885c952da7e5b5d..f9e8882b1a85fbdf1901d96b4e8ce69ba230ae65 100644 --- a/src/main/java/org/bukkit/craftbukkit/CraftServer.java +++ b/src/main/java/org/bukkit/craftbukkit/CraftServer.java -@@ -1141,9 +1141,15 @@ public final class CraftServer implements Server { +@@ -1136,9 +1136,15 @@ public final class CraftServer implements Server { File folder = new File(this.getWorldContainer(), name); World world = this.getWorld(name); @@ -41,7 +41,7 @@ index 475e623d2d42f372b12cf50c2b26b4d2dc203072..dda032b2b4e7b699d62b6bec43aa120d if (folder.exists()) { Preconditions.checkArgument(folder.isDirectory(), "File (%s) exists and isn't a folder", name); -@@ -1230,7 +1236,7 @@ public final class CraftServer implements Server { +@@ -1262,7 +1268,7 @@ public final class CraftServer implements Server { } else if (name.equals(levelName + "_the_end")) { worldKey = net.minecraft.world.level.Level.END; } else { @@ -50,7 +50,7 @@ index 475e623d2d42f372b12cf50c2b26b4d2dc203072..dda032b2b4e7b699d62b6bec43aa120d } ServerLevel internal = (ServerLevel) new ServerLevel(this.console, this.console.executor, worldSession, worlddata, worldKey, worlddimension, this.getServer().progressListenerFactory.create(11), -@@ -1323,6 +1329,15 @@ public final class CraftServer implements Server { +@@ -1355,6 +1361,15 @@ public final class CraftServer implements Server { return null; } @@ -67,10 +67,10 @@ index 475e623d2d42f372b12cf50c2b26b4d2dc203072..dda032b2b4e7b699d62b6bec43aa120d // Check if a World already exists with the UID. if (this.getWorld(world.getUID()) != null) { diff --git a/src/main/java/org/bukkit/craftbukkit/util/CraftMagicNumbers.java b/src/main/java/org/bukkit/craftbukkit/util/CraftMagicNumbers.java -index fc8c1e46a2cfb4fc3095d249ba249d6eb4bbb1b2..9c8d50e072db0551182dd7ea31eca11c1371702a 100644 +index 5930cc6af2d73e6301b0ebe59ea53e0a7ea2098a..d18498628ed4a42660f8c10cc5b9e12b671163f6 100644 --- a/src/main/java/org/bukkit/craftbukkit/util/CraftMagicNumbers.java +++ b/src/main/java/org/bukkit/craftbukkit/util/CraftMagicNumbers.java -@@ -518,6 +518,11 @@ public final class CraftMagicNumbers implements UnsafeValues { +@@ -515,6 +515,11 @@ public final class CraftMagicNumbers implements UnsafeValues { public int nextEntityId() { return net.minecraft.world.entity.Entity.nextEntityId(); } diff --git a/patches/unapplied/server/0563-Add-fast-alternative-constructor-for-Rotations.patch b/patches/server/0563-Add-fast-alternative-constructor-for-Rotations.patch similarity index 100% rename from patches/unapplied/server/0563-Add-fast-alternative-constructor-for-Rotations.patch rename to patches/server/0563-Add-fast-alternative-constructor-for-Rotations.patch diff --git a/patches/unapplied/server/0564-Item-Rarity-API.patch b/patches/server/0564-Item-Rarity-API.patch similarity index 94% rename from patches/unapplied/server/0564-Item-Rarity-API.patch rename to patches/server/0564-Item-Rarity-API.patch index 370339eb5f..8fa580570c 100644 --- a/patches/unapplied/server/0564-Item-Rarity-API.patch +++ b/patches/server/0564-Item-Rarity-API.patch @@ -7,10 +7,10 @@ Subject: [PATCH] Item Rarity API public net.minecraft.world.item.Item rarity diff --git a/src/main/java/org/bukkit/craftbukkit/util/CraftMagicNumbers.java b/src/main/java/org/bukkit/craftbukkit/util/CraftMagicNumbers.java -index 9c8d50e072db0551182dd7ea31eca11c1371702a..38dbbc1977aa29292a89e8f9d8baf6030d89d7d1 100644 +index d18498628ed4a42660f8c10cc5b9e12b671163f6..2a6e1c9d184f7884ae16f4f575a657303867a60f 100644 --- a/src/main/java/org/bukkit/craftbukkit/util/CraftMagicNumbers.java +++ b/src/main/java/org/bukkit/craftbukkit/util/CraftMagicNumbers.java -@@ -523,6 +523,20 @@ public final class CraftMagicNumbers implements UnsafeValues { +@@ -520,6 +520,20 @@ public final class CraftMagicNumbers implements UnsafeValues { public String getMainLevelName() { return ((net.minecraft.server.dedicated.DedicatedServer) net.minecraft.server.MinecraftServer.getServer()).getProperties().levelName; } diff --git a/patches/unapplied/server/0565-Drop-carried-item-when-player-has-disconnected.patch b/patches/server/0565-Drop-carried-item-when-player-has-disconnected.patch similarity index 88% rename from patches/unapplied/server/0565-Drop-carried-item-when-player-has-disconnected.patch rename to patches/server/0565-Drop-carried-item-when-player-has-disconnected.patch index 8d13fb736c..54d57e13b2 100644 --- a/patches/unapplied/server/0565-Drop-carried-item-when-player-has-disconnected.patch +++ b/patches/server/0565-Drop-carried-item-when-player-has-disconnected.patch @@ -7,10 +7,10 @@ Fixes disappearance of held items, when a player gets disconnected and PlayerDro Closes #5036 diff --git a/src/main/java/net/minecraft/server/players/PlayerList.java b/src/main/java/net/minecraft/server/players/PlayerList.java -index 3cea14fa4a2f5346955c65864e24442c008ebcfa..504bed9e3baa3bdd1c4d913d033ac8d0bd7cfc24 100644 +index d2573260e4fa4f0c410bf92fe590a4b0d1b679c9..f76bdc288c9c8ac24030eb9c6ad8b1c92d42e1c0 100644 --- a/src/main/java/net/minecraft/server/players/PlayerList.java +++ b/src/main/java/net/minecraft/server/players/PlayerList.java -@@ -599,6 +599,14 @@ public abstract class PlayerList { +@@ -597,6 +597,14 @@ public abstract class PlayerList { } // Paper end diff --git a/patches/unapplied/server/0566-forced-whitelist-use-configurable-kick-message.patch b/patches/server/0566-forced-whitelist-use-configurable-kick-message.patch similarity index 87% rename from patches/unapplied/server/0566-forced-whitelist-use-configurable-kick-message.patch rename to patches/server/0566-forced-whitelist-use-configurable-kick-message.patch index 0d27e71091..dfe9eda9fc 100644 --- a/patches/unapplied/server/0566-forced-whitelist-use-configurable-kick-message.patch +++ b/patches/server/0566-forced-whitelist-use-configurable-kick-message.patch @@ -5,10 +5,10 @@ Subject: [PATCH] forced whitelist: use configurable kick message diff --git a/src/main/java/net/minecraft/server/MinecraftServer.java b/src/main/java/net/minecraft/server/MinecraftServer.java -index ced37ae135b8b856665819a7b618f62f18bb0199..992aa1fa85f0b0240d317773be5086e64889996a 100644 +index 5f440e3d3a750c65d0d13834eca553b8f5a521a6..36ca381445102fee1960410aa56e8b2a28dca615 100644 --- a/src/main/java/net/minecraft/server/MinecraftServer.java +++ b/src/main/java/net/minecraft/server/MinecraftServer.java -@@ -2148,7 +2148,7 @@ public abstract class MinecraftServer extends ReentrantBlockableEventLoop -Date: Fri, 9 Oct 2020 20:30:12 -0400 -Subject: [PATCH] Allow disabling mob spawner spawn egg transformation - - -diff --git a/src/main/java/net/minecraft/world/item/SpawnEggItem.java b/src/main/java/net/minecraft/world/item/SpawnEggItem.java -index aa54f33495dbda7afe035881893ae3e95c91447f..741719301e6fc91a598e74342810c4185e6fde26 100644 ---- a/src/main/java/net/minecraft/world/item/SpawnEggItem.java -+++ b/src/main/java/net/minecraft/world/item/SpawnEggItem.java -@@ -61,7 +61,7 @@ public class SpawnEggItem extends Item { - Direction enumdirection = context.getClickedFace(); - BlockState iblockdata = world.getBlockState(blockposition); - -- if (iblockdata.is(Blocks.SPAWNER)) { -+ if (!world.paperConfig().entities.spawning.disableMobSpawnerSpawnEggTransformation && iblockdata.is(Blocks.SPAWNER)) { // Paper - BlockEntity tileentity = world.getBlockEntity(blockposition); - - if (tileentity instanceof SpawnerBlockEntity) {