diff --git a/patches/api/0006-Adventure.patch b/patches/api/0006-Adventure.patch index dbb8f58c58..e7fba0f826 100644 --- a/patches/api/0006-Adventure.patch +++ b/patches/api/0006-Adventure.patch @@ -4327,10 +4327,10 @@ index 5adbe0514129abf3cfbc4b29a213f522359fe2e1..72ebc29db42d08d1d0361dba462fc8a5 /** diff --git a/src/main/java/org/bukkit/inventory/InventoryView.java b/src/main/java/org/bukkit/inventory/InventoryView.java -index 5b479ff2abe8cdd5e889803c73a713bc9855bc0b..5954dff2134654bb0ccc3b4c3b51a8e1ca77f6c9 100644 +index 278259e211b926283ee6dfef6f96e11ddbcbf275..ebc14022c9ef9b0b3331ee53e96a32667e4762e0 100644 --- a/src/main/java/org/bukkit/inventory/InventoryView.java +++ b/src/main/java/org/bukkit/inventory/InventoryView.java -@@ -267,12 +267,26 @@ public interface InventoryView { +@@ -269,12 +269,26 @@ public interface InventoryView { */ public boolean setProperty(@NotNull Property prop, int value); diff --git a/patches/api/0053-Fix-upstream-javadocs.patch b/patches/api/0053-Fix-upstream-javadocs.patch index 25d3e035cf..7d51adc5a1 100644 --- a/patches/api/0053-Fix-upstream-javadocs.patch +++ b/patches/api/0053-Fix-upstream-javadocs.patch @@ -416,7 +416,7 @@ index 4e1fb0974d061d5bb64899cac576318d2e6f8bf6..539b3527d0c66611e21712f29b90fba9 public int getEntityId(); diff --git a/src/main/java/org/bukkit/entity/HumanEntity.java b/src/main/java/org/bukkit/entity/HumanEntity.java -index 274f3ccbc39d4d6ff0665abf334d526317275dd0..a7bfaa874cbd3fc8d24fffe2f7f14594b37fa18c 100644 +index 8fdfa1d79daf464f8e364fd9e19d1de3a2a6848c..195a7fa0ea8e056cbde7b9152cc014d2c94353ff 100644 --- a/src/main/java/org/bukkit/entity/HumanEntity.java +++ b/src/main/java/org/bukkit/entity/HumanEntity.java @@ -22,6 +22,11 @@ import org.jetbrains.annotations.Nullable; @@ -687,7 +687,7 @@ index be0a2d1f234d8265d98e54e518a994957b1f3ab7..4e3c406ba883aae553e8d69b6b719b87 * than BLOCK_CANBUILD, as this refers to a player, not universe-physics * rule like cactus on dirt. diff --git a/src/main/java/org/bukkit/event/enchantment/PrepareItemEnchantEvent.java b/src/main/java/org/bukkit/event/enchantment/PrepareItemEnchantEvent.java -index fc2120e03737f5882d6ae916db93fdcf4939b2ba..f2edd4a9357832e9dec3fb0aafa006335d7b289b 100644 +index 035c647f4d4e3c34f171bb7d7fa6b2b7b3442669..7ae338bcecff2ce25939035181457ced505b3a49 100644 --- a/src/main/java/org/bukkit/event/enchantment/PrepareItemEnchantEvent.java +++ b/src/main/java/org/bukkit/event/enchantment/PrepareItemEnchantEvent.java @@ -81,7 +81,7 @@ public class PrepareItemEnchantEvent extends InventoryEvent implements Cancellab @@ -999,7 +999,7 @@ index 9013d043503d175004ad276799e5935b7fa59dc4..ceae092eb782698803c6c3df41267dde public class InventoryOpenEvent extends InventoryEvent implements Cancellable { private static final HandlerList handlers = new HandlerList(); diff --git a/src/main/java/org/bukkit/event/inventory/PrepareAnvilEvent.java b/src/main/java/org/bukkit/event/inventory/PrepareAnvilEvent.java -index 6782024735a885ba0b1b4dba4a576740c1410366..8977f7609431c3c46324a82de84d4a32f4b71c57 100644 +index 08a7c564fe5d3d232998d1789d4d4723a59c1430..8a5be3f0322ac19aeac3f00df54add0e73bc87ed 100644 --- a/src/main/java/org/bukkit/event/inventory/PrepareAnvilEvent.java +++ b/src/main/java/org/bukkit/event/inventory/PrepareAnvilEvent.java @@ -24,6 +24,20 @@ public class PrepareAnvilEvent extends PrepareInventoryResultEvent { @@ -1022,7 +1022,7 @@ index 6782024735a885ba0b1b4dba4a576740c1410366..8977f7609431c3c46324a82de84d4a32 + @NotNull @Override - public HandlerList getHandlers() { + public AnvilView getView() { diff --git a/src/main/java/org/bukkit/event/player/PlayerResourcePackStatusEvent.java b/src/main/java/org/bukkit/event/player/PlayerResourcePackStatusEvent.java index e4c32b21ab013703a6a1b07a1ad564d914ebe83f..e58fecf0fe54db06e0e944027923a352fd8005d8 100644 --- a/src/main/java/org/bukkit/event/player/PlayerResourcePackStatusEvent.java @@ -1430,7 +1430,7 @@ index f1918027c3a8735b31566856218611656b56db20..476fe14faa39f02444cab8ad95d44010 * @return the currently held item * @see #getItemInMainHand() diff --git a/src/main/java/org/bukkit/inventory/ShapedRecipe.java b/src/main/java/org/bukkit/inventory/ShapedRecipe.java -index a601bc38e322e5810cf883708541e2d199f09ebb..d89068a37de1dcad0b82dee09cc7829109921a05 100644 +index 16c10d75dd28f6bbe843935e8bc91f2bccbd360a..c414ccf03572d48f5c096516fc60a59bb1e8efd7 100644 --- a/src/main/java/org/bukkit/inventory/ShapedRecipe.java +++ b/src/main/java/org/bukkit/inventory/ShapedRecipe.java @@ -24,8 +24,6 @@ public class ShapedRecipe extends CraftingRecipe { @@ -1442,8 +1442,8 @@ index a601bc38e322e5810cf883708541e2d199f09ebb..d89068a37de1dcad0b82dee09cc78291 * @see ShapedRecipe#setIngredient(char, RecipeChoice) * @deprecated Recipes must have keys. Use {@link #ShapedRecipe(NamespacedKey, ItemStack)} * instead. -@@ -44,8 +42,6 @@ public class ShapedRecipe extends CraftingRecipe { - * @param result The item you want the recipe to create. +@@ -45,8 +43,6 @@ public class ShapedRecipe extends CraftingRecipe { + * @exception IllegalArgumentException if the {@code result} is an empty item (AIR) * @see ShapedRecipe#shape(String...) * @see ShapedRecipe#setIngredient(char, Material) - * @see ShapedRecipe#setIngredient(char, Material, int) @@ -1452,12 +1452,12 @@ index a601bc38e322e5810cf883708541e2d199f09ebb..d89068a37de1dcad0b82dee09cc78291 */ public ShapedRecipe(@NotNull NamespacedKey key, @NotNull ItemStack result) { diff --git a/src/main/java/org/bukkit/inventory/ShapelessRecipe.java b/src/main/java/org/bukkit/inventory/ShapelessRecipe.java -index 3d50775da447175b2a94ed9056ef36aa1e69c2eb..03839302c94adc3175d0a88065cd230257ffd20d 100644 +index bc924ae23fa10d87537aebbfd126aa44f199b65c..b7f46a048633945dc71e8efec9a7ebeed5832fd7 100644 --- a/src/main/java/org/bukkit/inventory/ShapelessRecipe.java +++ b/src/main/java/org/bukkit/inventory/ShapelessRecipe.java -@@ -30,11 +30,8 @@ public class ShapelessRecipe extends CraftingRecipe { - * @param key the unique recipe key +@@ -31,11 +31,8 @@ public class ShapelessRecipe extends CraftingRecipe { * @param result The item you want the recipe to create. + * @exception IllegalArgumentException if the {@code result} is an empty item (AIR) * @see ShapelessRecipe#addIngredient(Material) - * @see ShapelessRecipe#addIngredient(MaterialData) - * @see ShapelessRecipe#addIngredient(Material,int) @@ -1467,8 +1467,8 @@ index 3d50775da447175b2a94ed9056ef36aa1e69c2eb..03839302c94adc3175d0a88065cd2302 + * @see ShapelessRecipe#addIngredient(RecipeChoice) */ public ShapelessRecipe(@NotNull NamespacedKey key, @NotNull ItemStack result) { - super(key, result); -@@ -174,7 +171,7 @@ public class ShapelessRecipe extends CraftingRecipe { + super(key, checkResult(result)); +@@ -175,7 +172,7 @@ public class ShapelessRecipe extends CraftingRecipe { /** * Removes multiple instances of an ingredient from the list. If there are diff --git a/patches/api/0059-Shoulder-Entities-Release-API.patch b/patches/api/0059-Shoulder-Entities-Release-API.patch index b7f5537f79..6ac15e28ab 100644 --- a/patches/api/0059-Shoulder-Entities-Release-API.patch +++ b/patches/api/0059-Shoulder-Entities-Release-API.patch @@ -5,10 +5,10 @@ Subject: [PATCH] Shoulder Entities Release API diff --git a/src/main/java/org/bukkit/entity/HumanEntity.java b/src/main/java/org/bukkit/entity/HumanEntity.java -index a7bfaa874cbd3fc8d24fffe2f7f14594b37fa18c..8cc6f8547380d567aef7910ef309193bd79ced09 100644 +index 195a7fa0ea8e056cbde7b9152cc014d2c94353ff..85eec2e57b03c11f4737addb0fa88b7bf29dc9e5 100644 --- a/src/main/java/org/bukkit/entity/HumanEntity.java +++ b/src/main/java/org/bukkit/entity/HumanEntity.java -@@ -335,6 +335,26 @@ public interface HumanEntity extends LivingEntity, AnimalTamer, InventoryHolder +@@ -337,6 +337,26 @@ public interface HumanEntity extends LivingEntity, AnimalTamer, InventoryHolder */ public int getExpToLevel(); diff --git a/patches/api/0075-Display-warning-on-deprecated-recipe-API.patch b/patches/api/0075-Display-warning-on-deprecated-recipe-API.patch index 94f1cdd1f2..c751b7334b 100644 --- a/patches/api/0075-Display-warning-on-deprecated-recipe-API.patch +++ b/patches/api/0075-Display-warning-on-deprecated-recipe-API.patch @@ -10,25 +10,25 @@ on the players login. Plugin authors need to define a key to keep it consistent between server restarts. diff --git a/src/main/java/org/bukkit/inventory/ShapedRecipe.java b/src/main/java/org/bukkit/inventory/ShapedRecipe.java -index 9f9c67e935940833bbfe58e6bfa398e6c86980d5..71e494177473c62449aafda1699b26a0c4c81a68 100644 +index c414ccf03572d48f5c096516fc60a59bb1e8efd7..e9bac744c5b173e6767e2de8480a6697969fdbb0 100644 --- a/src/main/java/org/bukkit/inventory/ShapedRecipe.java +++ b/src/main/java/org/bukkit/inventory/ShapedRecipe.java @@ -31,6 +31,7 @@ public class ShapedRecipe extends CraftingRecipe { @Deprecated public ShapedRecipe(@NotNull ItemStack result) { - super(NamespacedKey.randomKey(), result); + this(NamespacedKey.randomKey(), result); + new Throwable("Warning: A plugin is creating a recipe using a Deprecated method. This will cause you to receive warnings stating 'Tried to load unrecognized recipe: bukkit:'. Please ask the author to give their recipe a static key using NamespacedKey.").printStackTrace(); // Paper } /** diff --git a/src/main/java/org/bukkit/inventory/ShapelessRecipe.java b/src/main/java/org/bukkit/inventory/ShapelessRecipe.java -index 03839302c94adc3175d0a88065cd230257ffd20d..d6e38c7ccfe3b6e85eafb611da20b1a29fb74d97 100644 +index b7f46a048633945dc71e8efec9a7ebeed5832fd7..a7513c1aa09b88e3f99e7db40661fd83e682de96 100644 --- a/src/main/java/org/bukkit/inventory/ShapelessRecipe.java +++ b/src/main/java/org/bukkit/inventory/ShapelessRecipe.java @@ -20,6 +20,7 @@ public class ShapelessRecipe extends CraftingRecipe { @Deprecated public ShapelessRecipe(@NotNull ItemStack result) { - super(NamespacedKey.randomKey(), result); + this(NamespacedKey.randomKey(), result); + new Throwable("Warning: A plugin is creating a recipe using a Deprecated method. This will cause you to receive warnings stating 'Tried to load unrecognized recipe: bukkit:'. Please ask the author to give their recipe a static key using NamespacedKey.").printStackTrace(); // Paper } diff --git a/patches/api/0092-Add-openSign-method-to-HumanEntity.patch b/patches/api/0092-Add-openSign-method-to-HumanEntity.patch index d519918aba..3fdf10fbfc 100644 --- a/patches/api/0092-Add-openSign-method-to-HumanEntity.patch +++ b/patches/api/0092-Add-openSign-method-to-HumanEntity.patch @@ -5,10 +5,10 @@ Subject: [PATCH] Add openSign method to HumanEntity diff --git a/src/main/java/org/bukkit/entity/HumanEntity.java b/src/main/java/org/bukkit/entity/HumanEntity.java -index 8cc6f8547380d567aef7910ef309193bd79ced09..48bb08cc7c0af6ebb905d1e175ada0fd7944ca48 100644 +index 85eec2e57b03c11f4737addb0fa88b7bf29dc9e5..58dbe34ab1b603c2cd53af1625c1f82f8890da01 100644 --- a/src/main/java/org/bukkit/entity/HumanEntity.java +++ b/src/main/java/org/bukkit/entity/HumanEntity.java -@@ -496,6 +496,26 @@ public interface HumanEntity extends LivingEntity, AnimalTamer, InventoryHolder +@@ -498,6 +498,26 @@ public interface HumanEntity extends LivingEntity, AnimalTamer, InventoryHolder */ @Deprecated public void setShoulderEntityRight(@Nullable Entity entity); diff --git a/patches/api/0114-LivingEntity-Active-Item-API.patch b/patches/api/0114-LivingEntity-Active-Item-API.patch index f98f5d9a7e..0081842496 100644 --- a/patches/api/0114-LivingEntity-Active-Item-API.patch +++ b/patches/api/0114-LivingEntity-Active-Item-API.patch @@ -9,10 +9,10 @@ such as a bow or eating food. Co-authored-by: Jake Potrebic diff --git a/src/main/java/org/bukkit/entity/HumanEntity.java b/src/main/java/org/bukkit/entity/HumanEntity.java -index 48bb08cc7c0af6ebb905d1e175ada0fd7944ca48..ee3086661e11d3d8faec30590be7131648d3b82a 100644 +index 58dbe34ab1b603c2cd53af1625c1f82f8890da01..9cbb9093e7d8cd21eef6a23c265d68d7d0ee97b8 100644 --- a/src/main/java/org/bukkit/entity/HumanEntity.java +++ b/src/main/java/org/bukkit/entity/HumanEntity.java -@@ -325,7 +325,9 @@ public interface HumanEntity extends LivingEntity, AnimalTamer, InventoryHolder +@@ -327,7 +327,9 @@ public interface HumanEntity extends LivingEntity, AnimalTamer, InventoryHolder * blocking). * * @return Whether their hand is raised diff --git a/patches/api/0117-InventoryCloseEvent-Reason-API.patch b/patches/api/0117-InventoryCloseEvent-Reason-API.patch index ed0568548a..1be4583340 100644 --- a/patches/api/0117-InventoryCloseEvent-Reason-API.patch +++ b/patches/api/0117-InventoryCloseEvent-Reason-API.patch @@ -7,10 +7,10 @@ Allows you to determine why an inventory was closed, enabling plugin developers to "confirm" things based on if it was player triggered close or not. diff --git a/src/main/java/org/bukkit/entity/HumanEntity.java b/src/main/java/org/bukkit/entity/HumanEntity.java -index ee3086661e11d3d8faec30590be7131648d3b82a..25cd03f2f3dc0aaa67173c0f3ebfe56402489e24 100644 +index 9cbb9093e7d8cd21eef6a23c265d68d7d0ee97b8..3985798654a3085c128144e46f7113b7744b8d14 100644 --- a/src/main/java/org/bukkit/entity/HumanEntity.java +++ b/src/main/java/org/bukkit/entity/HumanEntity.java -@@ -185,6 +185,15 @@ public interface HumanEntity extends LivingEntity, AnimalTamer, InventoryHolder +@@ -187,6 +187,15 @@ public interface HumanEntity extends LivingEntity, AnimalTamer, InventoryHolder */ public void closeInventory(); diff --git a/patches/api/0160-Add-ItemStack-Recipe-API-helper-methods.patch b/patches/api/0160-Add-ItemStack-Recipe-API-helper-methods.patch index 14e94043d2..78e75fc75c 100644 --- a/patches/api/0160-Add-ItemStack-Recipe-API-helper-methods.patch +++ b/patches/api/0160-Add-ItemStack-Recipe-API-helper-methods.patch @@ -22,10 +22,10 @@ index a98fc2ffdae1a2f8f3a312bed95268e105f7f791..91bfeffcdbe47208c7d0ddbe013cd0f1 public static class ExactChoice implements RecipeChoice { diff --git a/src/main/java/org/bukkit/inventory/ShapedRecipe.java b/src/main/java/org/bukkit/inventory/ShapedRecipe.java -index 1ef513d4d03ce677ee9c77b91e2cc5553ab91e0b..1012656948e9bf2aa18867cc2409616f3f21501e 100644 +index e9bac744c5b173e6767e2de8480a6697969fdbb0..fa03cf187db29896f5af046b311f67881aee0ff4 100644 --- a/src/main/java/org/bukkit/inventory/ShapedRecipe.java +++ b/src/main/java/org/bukkit/inventory/ShapedRecipe.java -@@ -179,6 +179,13 @@ public class ShapedRecipe extends CraftingRecipe { +@@ -180,6 +180,13 @@ public class ShapedRecipe extends CraftingRecipe { return this; } @@ -40,10 +40,10 @@ index 1ef513d4d03ce677ee9c77b91e2cc5553ab91e0b..1012656948e9bf2aa18867cc2409616f * Get a copy of the ingredients map. * diff --git a/src/main/java/org/bukkit/inventory/ShapelessRecipe.java b/src/main/java/org/bukkit/inventory/ShapelessRecipe.java -index d6e38c7ccfe3b6e85eafb611da20b1a29fb74d97..b8ac602cd2718d615ec243ce648951a1a46c26ec 100644 +index a7513c1aa09b88e3f99e7db40661fd83e682de96..63a233cc819d8d6995d14b9dbfabc14d89af54cc 100644 --- a/src/main/java/org/bukkit/inventory/ShapelessRecipe.java +++ b/src/main/java/org/bukkit/inventory/ShapelessRecipe.java -@@ -131,6 +131,40 @@ public class ShapelessRecipe extends CraftingRecipe { +@@ -132,6 +132,40 @@ public class ShapelessRecipe extends CraftingRecipe { return this; } @@ -84,7 +84,7 @@ index d6e38c7ccfe3b6e85eafb611da20b1a29fb74d97..b8ac602cd2718d615ec243ce648951a1 /** * Removes an ingredient from the list. * -@@ -154,7 +188,7 @@ public class ShapelessRecipe extends CraftingRecipe { +@@ -155,7 +189,7 @@ public class ShapelessRecipe extends CraftingRecipe { */ @NotNull public ShapelessRecipe removeIngredient(@NotNull Material ingredient) { @@ -93,7 +93,7 @@ index d6e38c7ccfe3b6e85eafb611da20b1a29fb74d97..b8ac602cd2718d615ec243ce648951a1 } /** -@@ -181,7 +215,7 @@ public class ShapelessRecipe extends CraftingRecipe { +@@ -182,7 +216,7 @@ public class ShapelessRecipe extends CraftingRecipe { */ @NotNull public ShapelessRecipe removeIngredient(int count, @NotNull Material ingredient) { diff --git a/patches/api/0166-Fix-Spigot-annotation-mistakes.patch b/patches/api/0166-Fix-Spigot-annotation-mistakes.patch index da580bdf21..e7952ac8d4 100644 --- a/patches/api/0166-Fix-Spigot-annotation-mistakes.patch +++ b/patches/api/0166-Fix-Spigot-annotation-mistakes.patch @@ -453,7 +453,7 @@ index 48aecc9421c500137bbef1dfe3bec8de277c3ff9..aff858346776386f1288b648b221404f return note; } diff --git a/src/main/java/org/bukkit/Registry.java b/src/main/java/org/bukkit/Registry.java -index 3bd96bbd35b657a6030d744e86622e616c2c3b08..5529e227781cd2411de9c6581a1cb1255ce9bb20 100644 +index d1906d150a7d4c4852e085d6fd480aec317c22e4..e9edc8c17cbd29cfdad31df13acb15bab2304735 100644 --- a/src/main/java/org/bukkit/Registry.java +++ b/src/main/java/org/bukkit/Registry.java @@ -220,14 +220,12 @@ public interface Registry extends Iterable { @@ -1067,16 +1067,28 @@ index 53119742beda00a38111063243665bb995ae2188..2d084214e991fecc51f8e18e3d733e43 public class CampfireStartEvent extends InventoryBlockStartEvent { private static final HandlerList handlers = new HandlerList(); +diff --git a/src/main/java/org/bukkit/event/block/CrafterCraftEvent.java b/src/main/java/org/bukkit/event/block/CrafterCraftEvent.java +index f4efb2190ae4b1fa1823d5c97ad518c6d34f0a1a..3d6c0ecc70a748b8508b55513f9d5fa6b4bd6353 100644 +--- a/src/main/java/org/bukkit/event/block/CrafterCraftEvent.java ++++ b/src/main/java/org/bukkit/event/block/CrafterCraftEvent.java +@@ -17,6 +17,7 @@ public class CrafterCraftEvent extends BlockEvent implements Cancellable { + private ItemStack result; + private boolean cancelled; + ++ @org.jetbrains.annotations.ApiStatus.Internal // Paper - fix upstream annotation mistakes + public CrafterCraftEvent(@NotNull Block theBlock, @NotNull CraftingRecipe recipe, @NotNull ItemStack result) { + super(theBlock); + this.result = result; diff --git a/src/main/java/org/bukkit/event/enchantment/PrepareItemEnchantEvent.java b/src/main/java/org/bukkit/event/enchantment/PrepareItemEnchantEvent.java -index f2edd4a9357832e9dec3fb0aafa006335d7b289b..f05ce4fd6c4bbd79edc5f65e7edd1e4a63e93fb8 100644 +index 7ae338bcecff2ce25939035181457ced505b3a49..27564727edbd9f093e3a021ce6f30e1146a8ddbb 100644 --- a/src/main/java/org/bukkit/event/enchantment/PrepareItemEnchantEvent.java +++ b/src/main/java/org/bukkit/event/enchantment/PrepareItemEnchantEvent.java @@ -23,7 +23,7 @@ public class PrepareItemEnchantEvent extends InventoryEvent implements Cancellab private boolean cancelled; private final Player enchanter; -- public PrepareItemEnchantEvent(@NotNull final Player enchanter, @NotNull InventoryView view, @NotNull final Block table, @NotNull final ItemStack item, @NotNull final EnchantmentOffer[] offers, final int bonus) { -+ public PrepareItemEnchantEvent(@NotNull final Player enchanter, @NotNull InventoryView view, @NotNull final Block table, @NotNull final ItemStack item, @org.jetbrains.annotations.Nullable final EnchantmentOffer @NotNull [] offers, final int bonus) { // Paper - offers can contain null values +- public PrepareItemEnchantEvent(@NotNull final Player enchanter, @NotNull EnchantmentView view, @NotNull final Block table, @NotNull final ItemStack item, @NotNull final EnchantmentOffer[] offers, final int bonus) { ++ public PrepareItemEnchantEvent(@NotNull final Player enchanter, @NotNull EnchantmentView view, @NotNull final Block table, @NotNull final ItemStack item, @org.jetbrains.annotations.Nullable final EnchantmentOffer @NotNull [] offers, final int bonus) { // Paper - offers can contain null values super(view); this.enchanter = enchanter; this.table = table; @@ -1497,10 +1509,10 @@ index f1a48eab1a357ae64545e1f1dc941c383cff8707..466d1bd7089b76f48f953e1a51c611ec /** * Checks if the inventory contains any ItemStacks with the given diff --git a/src/main/java/org/bukkit/inventory/InventoryView.java b/src/main/java/org/bukkit/inventory/InventoryView.java -index 5954dff2134654bb0ccc3b4c3b51a8e1ca77f6c9..72f93377b60a3b6a08b8c8264ee7313e89c15da0 100644 +index ebc14022c9ef9b0b3331ee53e96a32667e4762e0..2b2c5faabce1628bd2e82a840dc97fe79bb57856 100644 --- a/src/main/java/org/bukkit/inventory/InventoryView.java +++ b/src/main/java/org/bukkit/inventory/InventoryView.java -@@ -121,9 +121,9 @@ public interface InventoryView { +@@ -123,9 +123,9 @@ public interface InventoryView { * Gets the id of this view. * * @return the id of this view @@ -1512,7 +1524,7 @@ index 5954dff2134654bb0ccc3b4c3b51a8e1ca77f6c9..72f93377b60a3b6a08b8c8264ee7313e public int getId() { return id; } -@@ -193,10 +193,10 @@ public interface InventoryView { +@@ -195,10 +195,10 @@ public interface InventoryView { /** * Get the item on the cursor of one of the viewing players. * @@ -1627,10 +1639,10 @@ index 476fe14faa39f02444cab8ad95d4401033dc6938..2c54660dc1fbc7c1232096797a23cae1 /** diff --git a/src/main/java/org/bukkit/inventory/ShapedRecipe.java b/src/main/java/org/bukkit/inventory/ShapedRecipe.java -index 1012656948e9bf2aa18867cc2409616f3f21501e..aa3b3070126f1c492f004ec7599eeb379b58f207 100644 +index fa03cf187db29896f5af046b311f67881aee0ff4..295d82dd73b600e9436d2bbec0e11dbeaf78bbf4 100644 --- a/src/main/java/org/bukkit/inventory/ShapedRecipe.java +++ b/src/main/java/org/bukkit/inventory/ShapedRecipe.java -@@ -106,8 +106,10 @@ public class ShapedRecipe extends CraftingRecipe { +@@ -107,8 +107,10 @@ public class ShapedRecipe extends CraftingRecipe { * @return The changed recipe, so you can chain calls. * @throws IllegalArgumentException if the {@code key} is a space character * @throws IllegalArgumentException if the {@code key} does not appear in the shape. @@ -1641,7 +1653,7 @@ index 1012656948e9bf2aa18867cc2409616f3f21501e..aa3b3070126f1c492f004ec7599eeb37 public ShapedRecipe setIngredient(char key, @NotNull MaterialData ingredient) { return setIngredient(key, ingredient.getItemType(), ingredient.getData()); } -@@ -190,7 +192,9 @@ public class ShapedRecipe extends CraftingRecipe { +@@ -191,7 +193,9 @@ public class ShapedRecipe extends CraftingRecipe { * Get a copy of the ingredients map. * * @return The mapping of character to ingredients. @@ -1652,10 +1664,10 @@ index 1012656948e9bf2aa18867cc2409616f3f21501e..aa3b3070126f1c492f004ec7599eeb37 public Map getIngredientMap() { HashMap result = new HashMap(); diff --git a/src/main/java/org/bukkit/inventory/ShapelessRecipe.java b/src/main/java/org/bukkit/inventory/ShapelessRecipe.java -index b8ac602cd2718d615ec243ce648951a1a46c26ec..beb798482479c58a8628c314b510ab6349576ce8 100644 +index 63a233cc819d8d6995d14b9dbfabc14d89af54cc..3bf5064cd6ceb05ea98b18993da46c67be140115 100644 --- a/src/main/java/org/bukkit/inventory/ShapelessRecipe.java +++ b/src/main/java/org/bukkit/inventory/ShapelessRecipe.java -@@ -43,8 +43,10 @@ public class ShapelessRecipe extends CraftingRecipe { +@@ -44,8 +44,10 @@ public class ShapelessRecipe extends CraftingRecipe { * * @param ingredient The ingredient to add. * @return The changed recipe, so you can chain calls. @@ -1666,7 +1678,7 @@ index b8ac602cd2718d615ec243ce648951a1a46c26ec..beb798482479c58a8628c314b510ab63 public ShapelessRecipe addIngredient(@NotNull MaterialData ingredient) { return addIngredient(1, ingredient); } -@@ -80,8 +82,10 @@ public class ShapelessRecipe extends CraftingRecipe { +@@ -81,8 +83,10 @@ public class ShapelessRecipe extends CraftingRecipe { * @param count How many to add (can't be more than 9!) * @param ingredient The ingredient to add. * @return The changed recipe, so you can chain calls. @@ -1677,7 +1689,7 @@ index b8ac602cd2718d615ec243ce648951a1a46c26ec..beb798482479c58a8628c314b510ab63 public ShapelessRecipe addIngredient(int count, @NotNull MaterialData ingredient) { return addIngredient(count, ingredient.getItemType(), ingredient.getData()); } -@@ -198,8 +202,10 @@ public class ShapelessRecipe extends CraftingRecipe { +@@ -199,8 +203,10 @@ public class ShapelessRecipe extends CraftingRecipe { * * @param ingredient The ingredient to remove * @return The changed recipe. @@ -1688,7 +1700,7 @@ index b8ac602cd2718d615ec243ce648951a1a46c26ec..beb798482479c58a8628c314b510ab63 public ShapelessRecipe removeIngredient(@NotNull MaterialData ingredient) { return removeIngredient(ingredient.getItemType(), ingredient.getData()); } -@@ -226,8 +232,10 @@ public class ShapelessRecipe extends CraftingRecipe { +@@ -227,8 +233,10 @@ public class ShapelessRecipe extends CraftingRecipe { * @param count The number of copies to remove. * @param ingredient The ingredient to remove. * @return The changed recipe. @@ -1699,7 +1711,7 @@ index b8ac602cd2718d615ec243ce648951a1a46c26ec..beb798482479c58a8628c314b510ab63 public ShapelessRecipe removeIngredient(int count, @NotNull MaterialData ingredient) { return removeIngredient(count, ingredient.getItemType(), ingredient.getData()); } -@@ -277,7 +285,9 @@ public class ShapelessRecipe extends CraftingRecipe { +@@ -278,7 +286,9 @@ public class ShapelessRecipe extends CraftingRecipe { * Get the list of ingredients used for this recipe. * * @return The input list diff --git a/patches/api/0185-Add-item-slot-convenience-methods.patch b/patches/api/0185-Add-item-slot-convenience-methods.patch index 20638212e8..8da43fffbf 100644 --- a/patches/api/0185-Add-item-slot-convenience-methods.patch +++ b/patches/api/0185-Add-item-slot-convenience-methods.patch @@ -6,12 +6,12 @@ Subject: [PATCH] Add item slot convenience methods Co-authored-by: Janet Blackquill diff --git a/src/main/java/org/bukkit/inventory/AnvilInventory.java b/src/main/java/org/bukkit/inventory/AnvilInventory.java -index 52519cd877017704b53d36088d4d4c28f8f27397..c60be4fd24c7fdf65251dd6169e5e1ac3b588d95 100644 +index 4f484df010dabf03ac4712996a0fd4d8f3649b59..f1f97a85ec713c05c882d7588f4a3e4a017f4795 100644 --- a/src/main/java/org/bukkit/inventory/AnvilInventory.java +++ b/src/main/java/org/bukkit/inventory/AnvilInventory.java -@@ -63,4 +63,64 @@ public interface AnvilInventory extends Inventory { - * @param levels the maximum experience cost +@@ -78,4 +78,64 @@ public interface AnvilInventory extends Inventory { */ + @Deprecated(forRemoval = true, since = "1.21") void setMaximumRepairCost(int levels); + + // Paper start diff --git a/patches/api/0190-Potential-bed-API.patch b/patches/api/0190-Potential-bed-API.patch index 42350ac7bd..1cbb7daffa 100644 --- a/patches/api/0190-Potential-bed-API.patch +++ b/patches/api/0190-Potential-bed-API.patch @@ -8,10 +8,10 @@ Adds a new method to fetch the location of a player's bed without generating any getPotentialBedLocation - Gets the last known location of a player's bed. This does not preform any check if the bed is still valid and does not load any chunks. diff --git a/src/main/java/org/bukkit/entity/HumanEntity.java b/src/main/java/org/bukkit/entity/HumanEntity.java -index 25cd03f2f3dc0aaa67173c0f3ebfe56402489e24..ccaaf2b6f6424ec7c7d298ceabdc3e60a7917705 100644 +index 3985798654a3085c128144e46f7113b7744b8d14..11c5846848a6631a9376934622caeadd448b0391 100644 --- a/src/main/java/org/bukkit/entity/HumanEntity.java +++ b/src/main/java/org/bukkit/entity/HumanEntity.java -@@ -275,6 +275,19 @@ public interface HumanEntity extends LivingEntity, AnimalTamer, InventoryHolder +@@ -277,6 +277,19 @@ public interface HumanEntity extends LivingEntity, AnimalTamer, InventoryHolder */ public int getSleepTicks(); diff --git a/patches/api/0196-Add-PrepareResultEvent-PrepareGrindstoneEvent.patch b/patches/api/0196-Add-PrepareResultEvent-PrepareGrindstoneEvent.patch index 95fb3a46ed..10dd96ba7d 100644 --- a/patches/api/0196-Add-PrepareResultEvent-PrepareGrindstoneEvent.patch +++ b/patches/api/0196-Add-PrepareResultEvent-PrepareGrindstoneEvent.patch @@ -93,7 +93,7 @@ index 0000000000000000000000000000000000000000..c305c606bef93866993095cec5f50e19 + } +} diff --git a/src/main/java/org/bukkit/event/inventory/PrepareAnvilEvent.java b/src/main/java/org/bukkit/event/inventory/PrepareAnvilEvent.java -index 8977f7609431c3c46324a82de84d4a32f4b71c57..d884ecf40af964e718168ac055dd6c672d108eb1 100644 +index 8a5be3f0322ac19aeac3f00df54add0e73bc87ed..d2b4b2e9385e7c1e0e1e42886481b99ecc8dcf8e 100644 --- a/src/main/java/org/bukkit/event/inventory/PrepareAnvilEvent.java +++ b/src/main/java/org/bukkit/event/inventory/PrepareAnvilEvent.java @@ -10,9 +10,9 @@ import org.jetbrains.annotations.Nullable; @@ -106,10 +106,10 @@ index 8977f7609431c3c46324a82de84d4a32f4b71c57..d884ecf40af964e718168ac055dd6c67 - private static final HandlerList handlers = new HandlerList(); + // Paper - move HandlerList to PrepareInventoryResultEvent - public PrepareAnvilEvent(@NotNull InventoryView inventory, @Nullable ItemStack result) { + public PrepareAnvilEvent(@NotNull AnvilView inventory, @Nullable ItemStack result) { super(inventory, result); -@@ -38,14 +38,5 @@ public class PrepareAnvilEvent extends PrepareInventoryResultEvent { - super.setResult(result); +@@ -44,14 +44,5 @@ public class PrepareAnvilEvent extends PrepareInventoryResultEvent { + return (AnvilView) super.getView(); } - @NotNull diff --git a/patches/api/0204-Add-additional-open-container-api-to-HumanEntity.patch b/patches/api/0204-Add-additional-open-container-api-to-HumanEntity.patch index c81c83391c..3fe46b8c28 100644 --- a/patches/api/0204-Add-additional-open-container-api-to-HumanEntity.patch +++ b/patches/api/0204-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/entity/HumanEntity.java b/src/main/java/org/bukkit/entity/HumanEntity.java -index ccaaf2b6f6424ec7c7d298ceabdc3e60a7917705..b980d55b68ed9da78c5cd19f369bb00dccbf08e1 100644 +index 11c5846848a6631a9376934622caeadd448b0391..f20b0a439c4d5cd2c6caa70a46b1b49f8ab23425 100644 --- a/src/main/java/org/bukkit/entity/HumanEntity.java +++ b/src/main/java/org/bukkit/entity/HumanEntity.java -@@ -180,6 +180,92 @@ public interface HumanEntity extends LivingEntity, AnimalTamer, InventoryHolder +@@ -182,6 +182,92 @@ public interface HumanEntity extends LivingEntity, AnimalTamer, InventoryHolder @Nullable public InventoryView openMerchant(@NotNull Merchant merchant, boolean force); diff --git a/patches/api/0220-Expose-LivingEntity-hurt-direction.patch b/patches/api/0220-Expose-LivingEntity-hurt-direction.patch index 4d2cb26c38..d8800e48d1 100644 --- a/patches/api/0220-Expose-LivingEntity-hurt-direction.patch +++ b/patches/api/0220-Expose-LivingEntity-hurt-direction.patch @@ -5,10 +5,10 @@ Subject: [PATCH] Expose LivingEntity hurt direction diff --git a/src/main/java/org/bukkit/entity/HumanEntity.java b/src/main/java/org/bukkit/entity/HumanEntity.java -index b980d55b68ed9da78c5cd19f369bb00dccbf08e1..4d6ceca22d98a3e46aa26ef26176c5417a5ccf35 100644 +index f20b0a439c4d5cd2c6caa70a46b1b49f8ab23425..937c136f2499bd1660989d14c0f50a7ef9a1a2b6 100644 --- a/src/main/java/org/bukkit/entity/HumanEntity.java +++ b/src/main/java/org/bukkit/entity/HumanEntity.java -@@ -354,6 +354,16 @@ public interface HumanEntity extends LivingEntity, AnimalTamer, InventoryHolder +@@ -356,6 +356,16 @@ public interface HumanEntity extends LivingEntity, AnimalTamer, InventoryHolder */ public void setCooldown(@NotNull Material material, int ticks); diff --git a/patches/api/0236-Add-RegistryAccess-for-managing-registries.patch b/patches/api/0236-Add-RegistryAccess-for-managing-registries.patch index f0864c18fa..a931d297be 100644 --- a/patches/api/0236-Add-RegistryAccess-for-managing-registries.patch +++ b/patches/api/0236-Add-RegistryAccess-for-managing-registries.patch @@ -206,10 +206,22 @@ index e0f652117e585882693736de8165ae9c689e1d68..fbe14c327ee9c1ac07893853ca7c699e return server.getRegistry(tClass); } diff --git a/src/main/java/org/bukkit/Registry.java b/src/main/java/org/bukkit/Registry.java -index 5529e227781cd2411de9c6581a1cb1255ce9bb20..f99e68f160deba42e2833fa0f81df4c17bf68ec7 100644 +index e9edc8c17cbd29cfdad31df13acb15bab2304735..d855e703339e6f6e50fcb19e8954a9434e718b2f 100644 --- a/src/main/java/org/bukkit/Registry.java +++ b/src/main/java/org/bukkit/Registry.java -@@ -102,7 +102,7 @@ public interface Registry extends Iterable { +@@ -87,8 +87,10 @@ public interface Registry extends Iterable { + * Server banner patterns. + * + * @see PatternType ++ * @deprecated use {@link io.papermc.paper.registry.RegistryAccess#getRegistry(io.papermc.paper.registry.RegistryKey)} with {@link io.papermc.paper.registry.RegistryKey#BANNER_PATTERN} + */ +- Registry BANNER_PATTERN = Objects.requireNonNull(Bukkit.getRegistry(PatternType.class), "No registry present for Pattern Type. This is a bug."); ++ @Deprecated(since = "1.21") // Paper ++ Registry BANNER_PATTERN = Objects.requireNonNull(io.papermc.paper.registry.RegistryAccess.registryAccess().getRegistry(PatternType.class), "No registry present for PatternType. This is a bug."); // Paper + /** + * Server biomes. + * +@@ -102,7 +104,7 @@ public interface Registry extends Iterable { * @apiNote BlockType is not ready for public usage yet */ @ApiStatus.Internal @@ -218,7 +230,7 @@ index 5529e227781cd2411de9c6581a1cb1255ce9bb20..f99e68f160deba42e2833fa0f81df4c1 /** * Custom boss bars. * -@@ -134,13 +134,15 @@ public interface Registry extends Iterable { +@@ -134,13 +136,15 @@ public interface Registry extends Iterable { * * @see Cat.Type */ @@ -236,7 +248,7 @@ index 5529e227781cd2411de9c6581a1cb1255ce9bb20..f99e68f160deba42e2833fa0f81df4c1 /** * Server entity types. * -@@ -152,7 +154,7 @@ public interface Registry extends Iterable { +@@ -152,7 +156,7 @@ public interface Registry extends Iterable { * * @see MusicInstrument */ @@ -245,7 +257,7 @@ index 5529e227781cd2411de9c6581a1cb1255ce9bb20..f99e68f160deba42e2833fa0f81df4c1 /** * Server item types. * -@@ -160,7 +162,7 @@ public interface Registry extends Iterable { +@@ -160,7 +164,7 @@ public interface Registry extends Iterable { * @apiNote ItemType is not ready for public usage yet */ @ApiStatus.Internal @@ -254,7 +266,7 @@ index 5529e227781cd2411de9c6581a1cb1255ce9bb20..f99e68f160deba42e2833fa0f81df4c1 /** * Default server loot tables. * -@@ -178,7 +180,7 @@ public interface Registry extends Iterable { +@@ -178,7 +182,7 @@ public interface Registry extends Iterable { * * @see PotionEffectType */ @@ -263,7 +275,7 @@ index 5529e227781cd2411de9c6581a1cb1255ce9bb20..f99e68f160deba42e2833fa0f81df4c1 /** * Server particles. * -@@ -201,14 +203,16 @@ public interface Registry extends Iterable { +@@ -201,14 +205,16 @@ public interface Registry extends Iterable { * Server structures. * * @see Structure @@ -282,7 +294,7 @@ index 5529e227781cd2411de9c6581a1cb1255ce9bb20..f99e68f160deba42e2833fa0f81df4c1 /** * Sound keys. * -@@ -219,40 +223,47 @@ public interface Registry extends Iterable { +@@ -219,40 +225,47 @@ public interface Registry extends Iterable { * Trim materials. * * @see TrimMaterial @@ -337,7 +349,7 @@ index 5529e227781cd2411de9c6581a1cb1255ce9bb20..f99e68f160deba42e2833fa0f81df4c1 /** * Memory Keys. * -@@ -289,25 +300,27 @@ public interface Registry extends Iterable { +@@ -289,25 +302,27 @@ public interface Registry extends Iterable { * * @see Frog.Variant */ diff --git a/patches/api/0256-add-isDeeplySleeping-to-HumanEntity.patch b/patches/api/0256-add-isDeeplySleeping-to-HumanEntity.patch index e561fa1dba..14754cc21c 100644 --- a/patches/api/0256-add-isDeeplySleeping-to-HumanEntity.patch +++ b/patches/api/0256-add-isDeeplySleeping-to-HumanEntity.patch @@ -5,10 +5,10 @@ Subject: [PATCH] add isDeeplySleeping to HumanEntity diff --git a/src/main/java/org/bukkit/entity/HumanEntity.java b/src/main/java/org/bukkit/entity/HumanEntity.java -index 4d6ceca22d98a3e46aa26ef26176c5417a5ccf35..58c842a1fd946d94ae29c7d2439aaf77e47f69b4 100644 +index 937c136f2499bd1660989d14c0f50a7ef9a1a2b6..b1b18886fc63a4854c2858ff9869da70e92dae26 100644 --- a/src/main/java/org/bukkit/entity/HumanEntity.java +++ b/src/main/java/org/bukkit/entity/HumanEntity.java -@@ -364,6 +364,15 @@ public interface HumanEntity extends LivingEntity, AnimalTamer, InventoryHolder +@@ -366,6 +366,15 @@ public interface HumanEntity extends LivingEntity, AnimalTamer, InventoryHolder void setHurtDirection(float hurtDirection); // Paper end diff --git a/patches/api/0329-More-PotionEffectType-API.patch b/patches/api/0329-More-PotionEffectType-API.patch index d80151aec0..c361faf34d 100644 --- a/patches/api/0329-More-PotionEffectType-API.patch +++ b/patches/api/0329-More-PotionEffectType-API.patch @@ -5,10 +5,10 @@ Subject: [PATCH] More PotionEffectType API diff --git a/src/main/java/org/bukkit/Registry.java b/src/main/java/org/bukkit/Registry.java -index a583d26883c8b7012203e128cd64113df94307c1..4d3e0b90579b33ff93fc565e8ee99a01b690c62b 100644 +index 5dbbc4eb764650395c6ebaaf5fdf0466ca107439..0ee9a8728035217bb95c7fba917b45a5ef2ea533 100644 --- a/src/main/java/org/bukkit/Registry.java +++ b/src/main/java/org/bukkit/Registry.java -@@ -321,6 +321,33 @@ public interface Registry extends Iterable { +@@ -323,6 +323,33 @@ public interface Registry extends Iterable { * @see GameEvent */ Registry GAME_EVENT = io.papermc.paper.registry.RegistryAccess.registryAccess().getRegistry(io.papermc.paper.registry.RegistryKey.GAME_EVENT); // Paper diff --git a/patches/api/0352-Add-Player-getFishHook.patch b/patches/api/0352-Add-Player-getFishHook.patch index 61c4560da5..0e0d38d513 100644 --- a/patches/api/0352-Add-Player-getFishHook.patch +++ b/patches/api/0352-Add-Player-getFishHook.patch @@ -5,10 +5,10 @@ Subject: [PATCH] Add Player#getFishHook diff --git a/src/main/java/org/bukkit/entity/HumanEntity.java b/src/main/java/org/bukkit/entity/HumanEntity.java -index 58c842a1fd946d94ae29c7d2439aaf77e47f69b4..294de2c073167e7186fbf1d6885fe5951351cc9c 100644 +index b1b18886fc63a4854c2858ff9869da70e92dae26..773651350c17cae9058346a590eda758071b7447 100644 --- a/src/main/java/org/bukkit/entity/HumanEntity.java +++ b/src/main/java/org/bukkit/entity/HumanEntity.java -@@ -392,6 +392,13 @@ public interface HumanEntity extends LivingEntity, AnimalTamer, InventoryHolder +@@ -394,6 +394,13 @@ public interface HumanEntity extends LivingEntity, AnimalTamer, InventoryHolder @Nullable public Location getPotentialBedLocation(); // Paper end diff --git a/patches/api/0392-Add-Shearable-API.patch b/patches/api/0392-Add-Shearable-API.patch index 06e4cefb44..e39ebc2481 100644 --- a/patches/api/0392-Add-Shearable-API.patch +++ b/patches/api/0392-Add-Shearable-API.patch @@ -54,15 +54,15 @@ index 0000000000000000000000000000000000000000..0d5793790ab6a47525ad330335173612 + boolean readyToBeSheared(); +} diff --git a/src/main/java/org/bukkit/entity/Bogged.java b/src/main/java/org/bukkit/entity/Bogged.java -index a89f104aa2b2244c075a72c698a9b616c57eaf7c..a36bb84c17120bc578ab01d45f6f12fb1faf9548 100644 +index 8b75a505a55a96a5795ac31a2d37307add12cd9e..6296a6f3f3e794677fd3a626376f357c740ec356 100644 --- a/src/main/java/org/bukkit/entity/Bogged.java +++ b/src/main/java/org/bukkit/entity/Bogged.java @@ -6,5 +6,5 @@ import org.jetbrains.annotations.ApiStatus; * Represents a Bogged Skeleton. */ @ApiStatus.Experimental --public interface Bogged extends AbstractSkeleton { -+public interface Bogged extends AbstractSkeleton, io.papermc.paper.entity.Shearable { // Paper - Shear API +-public interface Bogged extends AbstractSkeleton, Shearable { ++public interface Bogged extends AbstractSkeleton, Shearable, io.papermc.paper.entity.Shearable { // Paper - Shear API } diff --git a/src/main/java/org/bukkit/entity/MushroomCow.java b/src/main/java/org/bukkit/entity/MushroomCow.java index cef1700834643fe28ed5737578d91ecefbe99e2f..86c0043ef4e1288b6fe2f68a9b6d01c3de2c3454 100644 @@ -77,19 +77,52 @@ index cef1700834643fe28ed5737578d91ecefbe99e2f..86c0043ef4e1288b6fe2f68a9b6d01c3 /** * Checks for the presence of custom potion effects to be applied to the +diff --git a/src/main/java/org/bukkit/entity/Shearable.java b/src/main/java/org/bukkit/entity/Shearable.java +index 0215d20f81bfbef080f86ce46147a38f71310f65..9967c8a52ddd2c7e10db49a3f166731373f1ba45 100644 +--- a/src/main/java/org/bukkit/entity/Shearable.java ++++ b/src/main/java/org/bukkit/entity/Shearable.java +@@ -2,20 +2,30 @@ package org.bukkit.entity; + + /** + * Represents an entity which can be shorn with shears. ++ * @deprecated Spigots shearable API miserably fails at capturing all entities that may be sheared by a player, like ++ * mushroom cows which, once sheared, convert into normal cows. For such entities, methods like ++ * {@link #setSheared(boolean)} or {@link #isSheared()} make no sense, making this API and interface dead API from ++ * the get-go. + */ ++@Deprecated(forRemoval = true, since = "1.21") + public interface Shearable { + + /** + * Gets whether the entity is in its sheared state. + * + * @return Whether the entity is sheared. ++ * @deprecated Use {@link io.papermc.paper.entity.Shearable#readyToBeSheared()} instead. + */ ++ @Deprecated(forRemoval = true, since = "1.21") + boolean isSheared(); + + /** + * Sets whether the entity is in its sheared state. + * + * @param flag Whether to shear the entity ++ * @deprecated Use {@link io.papermc.paper.entity.Shearable#shear()} instead if applicable. ++ * Some entities cannot be "unsheared". + */ ++ @Deprecated(forRemoval = true, since = "1.21") + void setSheared(boolean flag); + } diff --git a/src/main/java/org/bukkit/entity/Sheep.java b/src/main/java/org/bukkit/entity/Sheep.java -index f4ce312ccd927a8b64f4266b35a0a53b85e591f3..97388d46cee225dedc0b61a12e7b60b3424732c8 100644 +index 46bc1a0ed9ee320c68a38362c1fa1f31319f01d8..01a0e5b1bb18d7a28d68329c2e2ab78a8df45f8e 100644 --- a/src/main/java/org/bukkit/entity/Sheep.java +++ b/src/main/java/org/bukkit/entity/Sheep.java -@@ -5,7 +5,7 @@ import org.bukkit.material.Colorable; +@@ -5,5 +5,5 @@ import org.bukkit.material.Colorable; /** * Represents a Sheep. */ --public interface Sheep extends Animals, Colorable { -+public interface Sheep extends Animals, Colorable, io.papermc.paper.entity.Shearable { // Paper - Shear API - - /** - * @return Whether the sheep is sheared. +-public interface Sheep extends Animals, Colorable, Shearable { ++public interface Sheep extends Animals, Colorable, Shearable, io.papermc.paper.entity.Shearable { // Paper - Shear API + } diff --git a/src/main/java/org/bukkit/entity/Snowman.java b/src/main/java/org/bukkit/entity/Snowman.java index 10f8f6d45ae9280651c3ebddd1f90acbd7d6ff29..7fbfdb07585c7b28acea1f0c1f58ada0cc744441 100644 --- a/src/main/java/org/bukkit/entity/Snowman.java diff --git a/patches/api/0430-Experimental-annotations-change.patch b/patches/api/0430-Experimental-annotations-change.patch index 59788de534..9ea8f3a126 100644 --- a/patches/api/0430-Experimental-annotations-change.patch +++ b/patches/api/0430-Experimental-annotations-change.patch @@ -104,7 +104,7 @@ index 60fbacee263e55f91ac977f020e390d46024723a..ecff691c3a0878659fb051926ef769ce /** diff --git a/src/main/java/org/bukkit/entity/Bogged.java b/src/main/java/org/bukkit/entity/Bogged.java -index a36bb84c17120bc578ab01d45f6f12fb1faf9548..719bccf8638f8ad358d37fa7eeccbc4c08d32868 100644 +index 6296a6f3f3e794677fd3a626376f357c740ec356..7d993f8bd18ec1d3260d12f0ff8078a86ee4867d 100644 --- a/src/main/java/org/bukkit/entity/Bogged.java +++ b/src/main/java/org/bukkit/entity/Bogged.java @@ -5,6 +5,5 @@ import org.jetbrains.annotations.ApiStatus; @@ -112,7 +112,7 @@ index a36bb84c17120bc578ab01d45f6f12fb1faf9548..719bccf8638f8ad358d37fa7eeccbc4c * Represents a Bogged Skeleton. */ -@ApiStatus.Experimental - public interface Bogged extends AbstractSkeleton, io.papermc.paper.entity.Shearable { // Paper - Shear API + public interface Bogged extends AbstractSkeleton, Shearable, io.papermc.paper.entity.Shearable { // Paper - Shear API } diff --git a/src/main/java/org/bukkit/entity/Breeze.java b/src/main/java/org/bukkit/entity/Breeze.java index a75e725805c193a408683885cba83ca168347165..254bc6e18961a72f471334cc0535e3c7a9d70012 100644 diff --git a/patches/api/0432-Improve-Registry.patch b/patches/api/0432-Improve-Registry.patch index 4c5275651a..5e72c2ab2a 100644 --- a/patches/api/0432-Improve-Registry.patch +++ b/patches/api/0432-Improve-Registry.patch @@ -31,10 +31,10 @@ index 62d2b3f950860dee0898d77b0a29635c3f9a7e23..704dba92f9246ef398ed8d162ebee3cf @Override public @NotNull String translationKey() { diff --git a/src/main/java/org/bukkit/Registry.java b/src/main/java/org/bukkit/Registry.java -index 4d3e0b90579b33ff93fc565e8ee99a01b690c62b..36a8f6082f111a1cbb25e0ff3c968a89f02611a0 100644 +index 0ee9a8728035217bb95c7fba917b45a5ef2ea533..cd1e38debbec745dd13cd895327f544dcf42594d 100644 --- a/src/main/java/org/bukkit/Registry.java +++ b/src/main/java/org/bukkit/Registry.java -@@ -357,6 +357,79 @@ public interface Registry extends Iterable { +@@ -359,6 +359,79 @@ public interface Registry extends Iterable { @Nullable T get(@NotNull NamespacedKey key); @@ -114,7 +114,7 @@ index 4d3e0b90579b33ff93fc565e8ee99a01b690c62b..36a8f6082f111a1cbb25e0ff3c968a89 /** * Returns a new stream, which contains all registry items, which are registered to the registry. * -@@ -431,5 +504,12 @@ public interface Registry extends Iterable { +@@ -433,5 +506,12 @@ public interface Registry extends Iterable { public Class getType() { return this.type; } @@ -128,12 +128,12 @@ index 4d3e0b90579b33ff93fc565e8ee99a01b690c62b..36a8f6082f111a1cbb25e0ff3c968a89 } } diff --git a/src/main/java/org/bukkit/block/banner/PatternType.java b/src/main/java/org/bukkit/block/banner/PatternType.java -index 6a6be0287255cf38a735bfc83ec91644dc96b903..1883183157c875d87656fdc86a589e9b95dc4895 100644 +index 9e90572745909538e942b7fbe788b5286c6cc9a3..100f93358e0a1fa8507775a2afd29314ff353a87 100644 --- a/src/main/java/org/bukkit/block/banner/PatternType.java +++ b/src/main/java/org/bukkit/block/banner/PatternType.java -@@ -69,6 +69,13 @@ public enum PatternType implements Keyed { - this.key = NamespacedKey.minecraft(key); - } +@@ -56,6 +56,13 @@ public interface PatternType extends OldEnum, Keyed { + PatternType FLOW = getType("flow"); + PatternType GUSTER = getType("guster"); + // Paper start - deprecate getKey + /** @@ -144,7 +144,7 @@ index 6a6be0287255cf38a735bfc83ec91644dc96b903..1883183157c875d87656fdc86a589e9b + // Paper end - deprecate getKey @Override @NotNull - public NamespacedKey getKey() { + public NamespacedKey getKey(); diff --git a/src/main/java/org/bukkit/generator/structure/Structure.java b/src/main/java/org/bukkit/generator/structure/Structure.java index 1a766e68713d4014783b3224b9395644116784fa..978054ee364f9a3330525b9b50da5325ebb6ef57 100644 --- a/src/main/java/org/bukkit/generator/structure/Structure.java diff --git a/patches/api/0469-Fix-issues-with-recipe-API.patch b/patches/api/0469-Fix-issues-with-recipe-API.patch index 2635c201c9..00a981bf9c 100644 --- a/patches/api/0469-Fix-issues-with-recipe-API.patch +++ b/patches/api/0469-Fix-issues-with-recipe-API.patch @@ -40,18 +40,18 @@ index f7fa79393aef40027446b78bac8e9490cfafd8bc..07906ca1a9b39fcc6774870daa498402 } diff --git a/src/main/java/org/bukkit/inventory/CraftingRecipe.java b/src/main/java/org/bukkit/inventory/CraftingRecipe.java -index e4bf772f7e06f38215bee68f089b15a4fcb12817..37024b4736dd3897490ca51d08cf07901b01d59f 100644 +index 1b7b07715067014bf3d35002ae1655793248b426..5bf55b40fbf6ec708f37d90bd0853fe7dd8fffd9 100644 --- a/src/main/java/org/bukkit/inventory/CraftingRecipe.java +++ b/src/main/java/org/bukkit/inventory/CraftingRecipe.java -@@ -18,7 +18,7 @@ public abstract class CraftingRecipe implements Recipe, Keyed { - - protected CraftingRecipe(@NotNull NamespacedKey key, @NotNull ItemStack result) { - Preconditions.checkArgument(key != null, "key cannot be null"); +@@ -99,7 +99,7 @@ public abstract class CraftingRecipe implements Recipe, Keyed { + @ApiStatus.Internal + @NotNull + protected static ItemStack checkResult(@NotNull ItemStack result) { - Preconditions.checkArgument(result.getType() != Material.AIR, "Recipe must have non-AIR result."); + Preconditions.checkArgument(!result.isEmpty(), "Recipe cannot have an empty result."); // Paper - this.key = key; - this.output = new ItemStack(result); + return result; } + } diff --git a/src/main/java/org/bukkit/inventory/EmptyRecipeChoice.java b/src/main/java/org/bukkit/inventory/EmptyRecipeChoice.java new file mode 100644 index 0000000000000000000000000000000000000000..ed0ab6163f47ec843ba4f7ea4a98bb2fa315eaa1 @@ -211,10 +211,10 @@ index 91bfeffcdbe47208c7d0ddbe013cd0f11fddfa32..e7796054f3f65f5bea7f93c75320195f } } diff --git a/src/main/java/org/bukkit/inventory/ShapedRecipe.java b/src/main/java/org/bukkit/inventory/ShapedRecipe.java -index aa3b3070126f1c492f004ec7599eeb379b58f207..1815de38654dd134abde3dd9bd0b018b91247bd5 100644 +index 295d82dd73b600e9436d2bbec0e11dbeaf78bbf4..c0105d716985acef497d60b5c631a56b4ca5847b 100644 --- a/src/main/java/org/bukkit/inventory/ShapedRecipe.java +++ b/src/main/java/org/bukkit/inventory/ShapedRecipe.java -@@ -177,14 +177,15 @@ public class ShapedRecipe extends CraftingRecipe { +@@ -178,14 +178,15 @@ public class ShapedRecipe extends CraftingRecipe { Preconditions.checkArgument(key != ' ', "Space in recipe shape must represent no ingredient"); Preconditions.checkArgument(ingredients.containsKey(key), "Symbol does not appear in the shape:", key); @@ -233,10 +233,10 @@ index aa3b3070126f1c492f004ec7599eeb379b58f207..1815de38654dd134abde3dd9bd0b018b // Paper end diff --git a/src/main/java/org/bukkit/inventory/ShapelessRecipe.java b/src/main/java/org/bukkit/inventory/ShapelessRecipe.java -index beb798482479c58a8628c314b510ab6349576ce8..8251170314ab25c26270208e453b4e3909435754 100644 +index 3bf5064cd6ceb05ea98b18993da46c67be140115..79db6dbc0367de2eaa397674624c765d5aeb8fa5 100644 --- a/src/main/java/org/bukkit/inventory/ShapelessRecipe.java +++ b/src/main/java/org/bukkit/inventory/ShapelessRecipe.java -@@ -131,7 +131,7 @@ public class ShapelessRecipe extends CraftingRecipe { +@@ -132,7 +132,7 @@ public class ShapelessRecipe extends CraftingRecipe { public ShapelessRecipe addIngredient(@NotNull RecipeChoice ingredient) { Preconditions.checkArgument(ingredients.size() + 1 <= 9, "Shapeless recipes cannot have more than 9 ingredients"); @@ -245,7 +245,7 @@ index beb798482479c58a8628c314b510ab6349576ce8..8251170314ab25c26270208e453b4e39 return this; } -@@ -144,6 +144,8 @@ public class ShapelessRecipe extends CraftingRecipe { +@@ -145,6 +145,8 @@ public class ShapelessRecipe extends CraftingRecipe { @NotNull public ShapelessRecipe addIngredient(int count, @NotNull ItemStack item) { Preconditions.checkArgument(ingredients.size() + count <= 9, "Shapeless recipes cannot have more than 9 ingredients"); diff --git a/patches/api/0472-General-ItemMeta-fixes.patch b/patches/api/0472-General-ItemMeta-fixes.patch index 5339131e31..3e2a3cfb11 100644 --- a/patches/api/0472-General-ItemMeta-fixes.patch +++ b/patches/api/0472-General-ItemMeta-fixes.patch @@ -19,6 +19,27 @@ index 637fa73d4366c2d88e2716e5c8d3465706d788a7..0f03c546ecdd6383fb36a362d18d6fb5 this.flicker = flicker; this.trail = trail; this.colors = colors; +diff --git a/src/main/java/org/bukkit/inventory/ItemType.java b/src/main/java/org/bukkit/inventory/ItemType.java +index a6d1dde422de98f178c0c9add99e01203a35e5cb..01ec84248a681180088fb1d7d22b80f8572b0305 100644 +--- a/src/main/java/org/bukkit/inventory/ItemType.java ++++ b/src/main/java/org/bukkit/inventory/ItemType.java +@@ -31,6 +31,7 @@ import org.bukkit.inventory.meta.MapMeta; + import org.bukkit.inventory.meta.MusicInstrumentMeta; + import org.bukkit.inventory.meta.OminousBottleMeta; + import org.bukkit.inventory.meta.PotionMeta; ++import org.bukkit.inventory.meta.ShieldMeta; + import org.bukkit.inventory.meta.SkullMeta; + import org.bukkit.inventory.meta.SpawnEggMeta; + import org.bukkit.inventory.meta.SuspiciousStewMeta; +@@ -1893,7 +1894,7 @@ public interface ItemType extends Keyed, Translatable, net.kyori.adventure.trans + /** + * ItemMeta: {@link BlockStateMeta} + */ +- ItemType.Typed SHIELD = getItemType("shield"); ++ ItemType.Typed SHIELD = getItemType("shield"); // Paper - update shield to its new meta + ItemType.Typed TOTEM_OF_UNDYING = getItemType("totem_of_undying"); + ItemType.Typed SHULKER_SHELL = getItemType("shulker_shell"); + ItemType.Typed IRON_NUGGET = getItemType("iron_nugget"); diff --git a/src/main/java/org/bukkit/inventory/meta/Damageable.java b/src/main/java/org/bukkit/inventory/meta/Damageable.java index ff6818b6d9e0207eafdd749928f33aeac3f27191..992f39da07bafe9769effaa7dc6adc018c89329d 100644 --- a/src/main/java/org/bukkit/inventory/meta/Damageable.java diff --git a/patches/api/0475-Registry-Modification-API.patch b/patches/api/0475-Registry-Modification-API.patch index b364107ae4..899814f754 100644 --- a/patches/api/0475-Registry-Modification-API.patch +++ b/patches/api/0475-Registry-Modification-API.patch @@ -790,10 +790,10 @@ index 0000000000000000000000000000000000000000..11d19e339c7c62f2eb4467277552c27e +record TagKeyImpl(RegistryKey registryKey, Key key) implements TagKey { +} diff --git a/src/main/java/org/bukkit/Registry.java b/src/main/java/org/bukkit/Registry.java -index fcc9664fd1fe081c9c70bcd7e511c60d987b44f9..8e306d05e372855929d30456ed2d27a04d55ac42 100644 +index cd1e38debbec745dd13cd895327f544dcf42594d..c0428edee6ecbbd646c0e58da39a7ca476914fd1 100644 --- a/src/main/java/org/bukkit/Registry.java +++ b/src/main/java/org/bukkit/Registry.java -@@ -356,6 +356,27 @@ public interface Registry extends Iterable { +@@ -358,6 +358,27 @@ public interface Registry extends Iterable { */ @Nullable T get(@NotNull NamespacedKey key); @@ -821,7 +821,7 @@ index fcc9664fd1fe081c9c70bcd7e511c60d987b44f9..8e306d05e372855929d30456ed2d27a0 // Paper start - improve Registry /** -@@ -430,6 +451,34 @@ public interface Registry extends Iterable { +@@ -432,6 +453,34 @@ public interface Registry extends Iterable { } // Paper end - improve Registry @@ -856,7 +856,7 @@ index fcc9664fd1fe081c9c70bcd7e511c60d987b44f9..8e306d05e372855929d30456ed2d27a0 /** * Returns a new stream, which contains all registry items, which are registered to the registry. * -@@ -511,5 +560,23 @@ public interface Registry extends Iterable { +@@ -513,5 +562,23 @@ public interface Registry extends Iterable { return value.getKey(); } // Paper end - improve Registry diff --git a/patches/api/0476-Introduce-registry-entry-and-builders.patch b/patches/api/0476-Introduce-registry-entry-and-builders.patch index e97c9cef4e..44bdb4b36f 100644 --- a/patches/api/0476-Introduce-registry-entry-and-builders.patch +++ b/patches/api/0476-Introduce-registry-entry-and-builders.patch @@ -480,10 +480,10 @@ index 6c9689baca1763e2ef79495d38618d587e792434..4583092c2d1ffe95be2831c5d5f0e904 + // Paper end } diff --git a/src/main/java/org/bukkit/inventory/ItemType.java b/src/main/java/org/bukkit/inventory/ItemType.java -index 94587a97fcea81a43b160b01d2c81cef2b7f4413..6bc1853ada3ea38bc36cb31fbb5ce246347fe5d4 100644 +index 01ec84248a681180088fb1d7d22b80f8572b0305..0168f0a14a3e899e84c5e36963ff79950ab580fb 100644 --- a/src/main/java/org/bukkit/inventory/ItemType.java +++ b/src/main/java/org/bukkit/inventory/ItemType.java -@@ -46,7 +46,7 @@ import org.jetbrains.annotations.Nullable; +@@ -47,7 +47,7 @@ import org.jetbrains.annotations.Nullable; * official replacement for the aforementioned enum. Entirely incompatible * changes may occur. Do not use this API in plugins. */ diff --git a/patches/api/0483-Fix-PickupStatus-getting-reset.patch b/patches/api/0481-Fix-PickupStatus-getting-reset.patch similarity index 100% rename from patches/api/0483-Fix-PickupStatus-getting-reset.patch rename to patches/api/0481-Fix-PickupStatus-getting-reset.patch diff --git a/patches/api/0481-Move-CraftComplexRecipe-to-extend-CraftingRecipe.patch b/patches/api/0481-Move-CraftComplexRecipe-to-extend-CraftingRecipe.patch deleted file mode 100644 index 7bf99722cc..0000000000 --- a/patches/api/0481-Move-CraftComplexRecipe-to-extend-CraftingRecipe.patch +++ /dev/null @@ -1,27 +0,0 @@ -From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 -From: Bjarne Koll -Date: Fri, 19 Jul 2024 19:09:21 +0200 -Subject: [PATCH] Move CraftComplexRecipe to extend CraftingRecipe - -A craft complex recipe wraps a CustomRecipe, which itself is a -CraftingRecipe. -As such, this complex recipe should also be a crafting recipe. - -diff --git a/src/main/java/org/bukkit/inventory/CraftingRecipe.java b/src/main/java/org/bukkit/inventory/CraftingRecipe.java -index 37024b4736dd3897490ca51d08cf07901b01d59f..afa3de9ab78d01c448d450d8afbc7b1e7e62754c 100644 ---- a/src/main/java/org/bukkit/inventory/CraftingRecipe.java -+++ b/src/main/java/org/bukkit/inventory/CraftingRecipe.java -@@ -11,8 +11,11 @@ import org.jetbrains.annotations.NotNull; - * Represents a shaped or shapeless crafting recipe. - */ - public abstract class CraftingRecipe implements Recipe, Keyed { -- private final NamespacedKey key; -- private final ItemStack output; -+ // Paper - make CraftComplexRecipe extend CraftingRecipe - start -+ protected NamespacedKey key; -+ protected ItemStack output; -+ protected CraftingRecipe() {} -+ // Paper - make CraftComplexRecipe extend CraftingRecipe - end - private String group = ""; - private CraftingBookCategory category = CraftingBookCategory.MISC; - diff --git a/patches/api/0482-Add-CrafterCraftEvent.patch b/patches/api/0482-Add-CrafterCraftEvent.patch deleted file mode 100644 index c91ab8393d..0000000000 --- a/patches/api/0482-Add-CrafterCraftEvent.patch +++ /dev/null @@ -1,97 +0,0 @@ -From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 -From: ploppyperson -Date: Thu, 18 Jul 2024 16:37:58 +0200 -Subject: [PATCH] Add CrafterCraftEvent - -Ports the currently proposed CrafterCraftEvent -from upstream. -The type is experimental to account for spigot -potentially changing some api contracts, however -the event is required for a stable release and -waiting on spigot's PR queue is not an option. - -See: https://hub.spigotmc.org/stash/projects/SPIGOT/repos/bukkit/pull-requests/1044/overview - -diff --git a/src/main/java/org/bukkit/event/block/CrafterCraftEvent.java b/src/main/java/org/bukkit/event/block/CrafterCraftEvent.java -new file mode 100644 -index 0000000000000000000000000000000000000000..8dec6d16aa3c3579eadd77f637c9afa54ee9a90f ---- /dev/null -+++ b/src/main/java/org/bukkit/event/block/CrafterCraftEvent.java -@@ -0,0 +1,77 @@ -+package org.bukkit.event.block; -+ -+import org.bukkit.block.Block; -+import org.bukkit.event.Cancellable; -+import org.bukkit.event.HandlerList; -+import org.bukkit.inventory.CraftingRecipe; -+import org.bukkit.inventory.ItemStack; -+import org.jetbrains.annotations.NotNull; -+ -+/** -+ * Event called when a Crafter is about to craft an item -+ * @apiNote Currently still experimental as it is ported from an open, not merged, spigot PR. -+ * The event was pulled to allow protection plugins and the likes to properly manage crafters. -+ * The type remains experimental as upstream *may* change the event before pulling it, resulting in a breaking change. -+ */ -+@org.jetbrains.annotations.ApiStatus.Experimental -+public class CrafterCraftEvent extends BlockEvent implements Cancellable { -+ -+ private static final HandlerList handlers = new HandlerList(); -+ private boolean cancelled; -+ private ItemStack result; -+ private final CraftingRecipe recipe; -+ -+ @org.jetbrains.annotations.ApiStatus.Internal // Paper - internal constructor. -+ public CrafterCraftEvent(@NotNull Block theBlock, @NotNull CraftingRecipe recipe, @NotNull ItemStack result) { -+ super(theBlock); -+ this.result = result; -+ this.recipe = recipe; -+ } -+ -+ /** -+ * Gets the result for the craft -+ * @return the result for the craft -+ */ -+ @NotNull -+ public ItemStack getResult() { -+ return result.clone(); -+ } -+ -+ /** -+ * Sets the result of the craft -+ * @param result the result of the craft -+ */ -+ public void setResult(@NotNull ItemStack result) { -+ this.result = result.clone(); -+ } -+ -+ /** -+ * The recipe that was used to craft this item -+ * @return the recipe that was used to craft this item -+ */ -+ @NotNull -+ public CraftingRecipe getRecipe() { -+ return recipe; -+ } -+ -+ @NotNull -+ @Override -+ public HandlerList getHandlers() { -+ return handlers; -+ } -+ -+ @Override -+ public boolean isCancelled() { -+ return cancelled; -+ } -+ -+ @Override -+ public void setCancelled(boolean cancel) { -+ this.cancelled = cancel; -+ } -+ -+ @NotNull -+ public static HandlerList getHandlerList() { -+ return handlers; -+ } -+} diff --git a/patches/server/0003-Build-system-changes.patch b/patches/server/0003-Build-system-changes.patch index 505d9bbbb0..3e04e97c06 100644 --- a/patches/server/0003-Build-system-changes.patch +++ b/patches/server/0003-Build-system-changes.patch @@ -131,10 +131,10 @@ index feca36209fd2405fab70f564f63e627b8b78ac18..396ec10a76bdadbf5be2f0e15e88eed4 public static PackRepository createPackRepository(Path dataPacksPath, DirectoryValidator symlinkFinder) { diff --git a/src/main/java/org/bukkit/craftbukkit/Main.java b/src/main/java/org/bukkit/craftbukkit/Main.java -index 82b8485a4781105bce874485119110576d1e2d63..a07e26caf48acf9ef193a74497a201166bfbe098 100644 +index 9bae4835882a7c1b5a623d57330c36cc61b9b6d1..273a6658deacbf00f6cc498cf3fcd20d144bd9e4 100644 --- a/src/main/java/org/bukkit/craftbukkit/Main.java +++ b/src/main/java/org/bukkit/craftbukkit/Main.java -@@ -210,7 +210,7 @@ public class Main { +@@ -199,7 +199,7 @@ public class Main { } if (Main.class.getPackage().getImplementationVendor() != null && System.getProperty("IReallyKnowWhatIAmDoingISwear") == null) { diff --git a/patches/server/0004-Test-changes.patch b/patches/server/0004-Test-changes.patch index a4b4a61e66..97ddef9404 100644 --- a/patches/server/0004-Test-changes.patch +++ b/patches/server/0004-Test-changes.patch @@ -351,6 +351,22 @@ index ebcb65cb74acdb9d1bcf2b4b3551a2dc6d809bc9..7d9dbed7281099b78d7f898885b37cdc } @Test +diff --git a/src/test/java/org/bukkit/support/AbstractTestingBase.java b/src/test/java/org/bukkit/support/AbstractTestingBase.java +index 544307fe34cbcfa286a7d7b30900ebea127d189e..5bda0bc976920f224586f2c0e083b771c676e307 100644 +--- a/src/test/java/org/bukkit/support/AbstractTestingBase.java ++++ b/src/test/java/org/bukkit/support/AbstractTestingBase.java +@@ -53,6 +53,11 @@ public abstract class AbstractTestingBase { + MultiPackResourceManager resourceManager = new MultiPackResourceManager(PackType.SERVER_DATA, resourceRepository.getAvailablePacks().stream().map(Pack::open).toList()); + // add tags and loot tables for unit tests + LayeredRegistryAccess layers = RegistryLayer.createRegistryAccess(); ++ // Paper start - load registry here to ensure bukkit object registry are correctly delayed if needed ++ try { ++ Class.forName("org.bukkit.Registry"); ++ } catch (ClassNotFoundException ignored) {} ++ // Paper end - load registry here to ensure bukkit object registry are correctly delayed if needed + layers = WorldLoader.loadAndReplaceLayer(resourceManager, layers, RegistryLayer.WORLDGEN, RegistryDataLoader.WORLDGEN_REGISTRIES); + REGISTRY_CUSTOM = layers.compositeAccess().freeze(); + // Register vanilla pack diff --git a/src/test/java/org/bukkit/support/DummyServer.java b/src/test/java/org/bukkit/support/DummyServer.java index 1acdf5bc439c073c1777c2c4f5743ae082f4a621..183d30e3d3d413b05c762f374a964498d6ffdec4 100644 --- a/src/test/java/org/bukkit/support/DummyServer.java diff --git a/patches/server/0005-Paper-config-files.patch b/patches/server/0005-Paper-config-files.patch index 8fa709f084..38b5d938a5 100644 --- a/patches/server/0005-Paper-config-files.patch +++ b/patches/server/0005-Paper-config-files.patch @@ -5065,7 +5065,7 @@ index e8fac2863c5feb875cf0c78f062b4b87acbcb49b..751900e0c2a946ba4291174c81b2bdbd world.serverLevelData.setDifficulty(config.difficulty); world.setSpawnSettings(config.spawnMonsters, config.spawnAnimals); diff --git a/src/main/java/org/bukkit/craftbukkit/Main.java b/src/main/java/org/bukkit/craftbukkit/Main.java -index a07e26caf48acf9ef193a74497a201166bfbe098..dbcde37cfdeb6141c3f5c4f8b95d60fca91c7977 100644 +index 273a6658deacbf00f6cc498cf3fcd20d144bd9e4..cf06abf508fab734f5945e1d292c01512a50749e 100644 --- a/src/main/java/org/bukkit/craftbukkit/Main.java +++ b/src/main/java/org/bukkit/craftbukkit/Main.java @@ -142,6 +142,19 @@ public class Main { @@ -5190,10 +5190,10 @@ index 0000000000000000000000000000000000000000..0396589795da1f83ddf62426236dde9a + } +} diff --git a/src/test/java/org/bukkit/support/AbstractTestingBase.java b/src/test/java/org/bukkit/support/AbstractTestingBase.java -index 544307fe34cbcfa286a7d7b30900ebea127d189e..1b1d51a68c0abe7d8f0aa1172064192c71ae645e 100644 +index 5bda0bc976920f224586f2c0e083b771c676e307..4e9612600822bc1b52b8528dff2783d43385ec73 100644 --- a/src/test/java/org/bukkit/support/AbstractTestingBase.java +++ b/src/test/java/org/bukkit/support/AbstractTestingBase.java -@@ -63,6 +63,7 @@ public abstract class AbstractTestingBase { +@@ -68,6 +68,7 @@ public abstract class AbstractTestingBase { BIOMES = REGISTRY_CUSTOM.registryOrThrow(Registries.BIOME); DummyServer.setup(); diff --git a/patches/server/0009-MC-Utils.patch b/patches/server/0009-MC-Utils.patch index 1cda21bd7d..64c984e330 100644 --- a/patches/server/0009-MC-Utils.patch +++ b/patches/server/0009-MC-Utils.patch @@ -5064,7 +5064,7 @@ index 12db4c5db3d7951df984db03d09d14d808e58699..44d4aee059d74676bffb8b6bc6f6ad4d @Override public float getBukkitYaw() { diff --git a/src/main/java/net/minecraft/world/item/ItemStack.java b/src/main/java/net/minecraft/world/item/ItemStack.java -index 15f0b0977fe7b41e29346df9d49120f14f02ea43..b6cb1de08e955dfc99a0cb736b2ed456c99fde5c 100644 +index d7a3f704cce228c50d26f1ecd98e819eca561bfc..3457e1c9791b294b5e4dab478d90cdd1a1cf7fef 100644 --- a/src/main/java/net/minecraft/world/item/ItemStack.java +++ b/src/main/java/net/minecraft/world/item/ItemStack.java @@ -953,6 +953,25 @@ public final class ItemStack implements DataComponentHolder { @@ -5351,10 +5351,10 @@ index 497792978bdf0e6a53d772304770e8df3e7416ea..c5454b92ca2565461c799d7340160f9f public WorldBorder getWorldBorder() { return this.level.getWorldBorder(); 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 9569d9d1c8f809420e08038e5bc38c2c7887ff90..d5d638d955dbcc1034bc79aace77d43e20db5995 100644 +index e0594a1c381487b43bfc55212044e1b3122cee66..59fcaca90b67c03e1a6799e58061dbae3b1f1ceb 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 -@@ -834,12 +834,14 @@ public abstract class BlockBehaviour implements FeatureElement { +@@ -841,12 +841,14 @@ public abstract class BlockBehaviour implements FeatureElement { } } @@ -5369,7 +5369,7 @@ index 9569d9d1c8f809420e08038e5bc38c2c7887ff90..d5d638d955dbcc1034bc79aace77d43e this.legacySolid = this.calculateSolid(); } -@@ -886,8 +888,8 @@ public abstract class BlockBehaviour implements FeatureElement { +@@ -893,8 +895,8 @@ public abstract class BlockBehaviour implements FeatureElement { return this.getBlock().getOcclusionShape(this.asState(), world, pos); } diff --git a/patches/server/0010-Adventure.patch b/patches/server/0010-Adventure.patch index 1b2fc84f62..1352a5e435 100644 --- a/patches/server/0010-Adventure.patch +++ b/patches/server/0010-Adventure.patch @@ -3242,7 +3242,7 @@ index ed54c81a3269360acce674aa4e1d54ccb2461841..c9c849534c3998cfcab7ddcb12a71ccb } diff --git a/src/main/java/net/minecraft/world/item/ItemStack.java b/src/main/java/net/minecraft/world/item/ItemStack.java -index b6cb1de08e955dfc99a0cb736b2ed456c99fde5c..abf502b8395bb0a8a32c1fdcd62532790deb1c6e 100644 +index 3457e1c9791b294b5e4dab478d90cdd1a1cf7fef..1138d238caa18171b6562cc748c92cec03bfbb97 100644 --- a/src/main/java/net/minecraft/world/item/ItemStack.java +++ b/src/main/java/net/minecraft/world/item/ItemStack.java @@ -183,7 +183,15 @@ public final class ItemStack implements DataComponentHolder { @@ -3628,7 +3628,7 @@ index 69c62699e3412f2730e3db65f196099d77698980..4878a1b085a83dd4a8ffdc86250b8fb4 // Paper end } diff --git a/src/main/java/org/bukkit/craftbukkit/Main.java b/src/main/java/org/bukkit/craftbukkit/Main.java -index 2122d7316f55ab5bec7058fe1b8ee3ceb42deea7..43790f555743e9945c1b82cf8f2f4719feedc165 100644 +index 42a1a0588e2b506082499ac9791d039089a64631..9c1fab8db74757e1fb57d4f47099ba6e1536cd6d 100644 --- a/src/main/java/org/bukkit/craftbukkit/Main.java +++ b/src/main/java/org/bukkit/craftbukkit/Main.java @@ -20,6 +20,12 @@ public class Main { @@ -4677,10 +4677,10 @@ index 5725b0281ac53a2354b233223259d6784353bc6e..9ef939b76d06874b856e0c850addb364 @Override public int getLineWidth() { diff --git a/src/main/java/org/bukkit/craftbukkit/event/CraftEventFactory.java b/src/main/java/org/bukkit/craftbukkit/event/CraftEventFactory.java -index 39aad2d00227d94aa1d24c27a10d916b7d64888d..63e20db8ad84b332a4962d5cea83f1064b7c1a3d 100644 +index 938a7ee49a727d5929d1d049c61d2881cf24ff9c..78f4bb474c85e32448a385e108707d92082bfe02 100644 --- a/src/main/java/org/bukkit/craftbukkit/event/CraftEventFactory.java +++ b/src/main/java/org/bukkit/craftbukkit/event/CraftEventFactory.java -@@ -911,7 +911,7 @@ public class CraftEventFactory { +@@ -915,7 +915,7 @@ public class CraftEventFactory { return event; } @@ -4689,7 +4689,7 @@ index 39aad2d00227d94aa1d24c27a10d916b7d64888d..63e20db8ad84b332a4962d5cea83f106 CraftPlayer entity = victim.getBukkitEntity(); CraftDamageSource bukkitDamageSource = new CraftDamageSource(damageSource); PlayerDeathEvent event = new PlayerDeathEvent(entity, bukkitDamageSource, drops, victim.getExpReward(damageSource.getEntity()), 0, deathMessage); -@@ -944,7 +944,7 @@ public class CraftEventFactory { +@@ -948,7 +948,7 @@ public class CraftEventFactory { * Server methods */ public static ServerListPingEvent callServerListPingEvent(SocketAddress address, String motd, int numPlayers, int maxPlayers) { @@ -4803,10 +4803,10 @@ index c9cc23757a9fcc58d30b2915d4c5cfbc7d1c767a..fc0e1212022d1aa3506699b60ef33819 return this.title; } diff --git a/src/main/java/org/bukkit/craftbukkit/inventory/CraftInventoryView.java b/src/main/java/org/bukkit/craftbukkit/inventory/CraftInventoryView.java -index 6871fbde3498f18274029638e0cd27d1a78bb1d7..5888a44d7f1f06e6308b068e57c295de366061cd 100644 +index 07d406de7123593dc470af2723f2a9a2dc2157b0..01fbd8a55866af3e371c8a2eef23ef6e9ca3226d 100644 --- a/src/main/java/org/bukkit/craftbukkit/inventory/CraftInventoryView.java +++ b/src/main/java/org/bukkit/craftbukkit/inventory/CraftInventoryView.java -@@ -73,6 +73,13 @@ public class CraftInventoryView extends CraftAbstractInventoryView { +@@ -73,6 +73,13 @@ public class CraftInventoryView extends CraftAb return CraftItemStack.asCraftMirror(this.container.getSlot(slot).getItem()); } @@ -5165,10 +5165,10 @@ index c71a4971f127fdfc753306019313ce1a31201120..fd3b12477c30d1eabdbe57ea77902793 + // Paper end } diff --git a/src/main/java/org/bukkit/craftbukkit/inventory/CraftMetaItem.java b/src/main/java/org/bukkit/craftbukkit/inventory/CraftMetaItem.java -index e56e6d07f297491c8f92598b8105bfebead7a0a1..86a5e4f7b2a0d50d0a58d88e10a277cfbd09bf9d 100644 +index 1c5d63fb6a9ed5cc40d735793cf5889e189feadf..568d6fab743039b20715d8181555f52baa05f0f3 100644 --- a/src/main/java/org/bukkit/craftbukkit/inventory/CraftMetaItem.java +++ b/src/main/java/org/bukkit/craftbukkit/inventory/CraftMetaItem.java -@@ -952,6 +952,18 @@ class CraftMetaItem implements ItemMeta, Damageable, Repairable, BlockDataMeta { +@@ -959,6 +959,18 @@ class CraftMetaItem implements ItemMeta, Damageable, Repairable, BlockDataMeta { return !(this.hasDisplayName() || this.hasItemName() || this.hasLocalizedName() || this.hasEnchants() || (this.lore != null) || this.hasCustomModelData() || this.hasBlockData() || this.hasRepairCost() || !this.unhandledTags.build().isEmpty() || !this.removedTags.isEmpty() || !this.persistentDataContainer.isEmpty() || this.hideFlag != 0 || this.isHideTooltip() || this.isUnbreakable() || this.hasEnchantmentGlintOverride() || this.isFireResistant() || this.hasMaxStackSize() || this.hasRarity() || this.hasFood() || this.hasTool() || this.hasDamage() || this.hasMaxDamage() || this.hasAttributeModifiers() || this.customTag != null); } @@ -5187,7 +5187,7 @@ index e56e6d07f297491c8f92598b8105bfebead7a0a1..86a5e4f7b2a0d50d0a58d88e10a277cf @Override public String getDisplayName() { return CraftChatMessage.fromComponent(this.displayName); -@@ -982,6 +994,18 @@ class CraftMetaItem implements ItemMeta, Damageable, Repairable, BlockDataMeta { +@@ -989,6 +1001,18 @@ class CraftMetaItem implements ItemMeta, Damageable, Repairable, BlockDataMeta { return this.itemName != null; } @@ -5206,7 +5206,7 @@ index e56e6d07f297491c8f92598b8105bfebead7a0a1..86a5e4f7b2a0d50d0a58d88e10a277cf @Override public String getLocalizedName() { return this.getDisplayName(); -@@ -1001,6 +1025,18 @@ class CraftMetaItem implements ItemMeta, Damageable, Repairable, BlockDataMeta { +@@ -1008,6 +1032,18 @@ class CraftMetaItem implements ItemMeta, Damageable, Repairable, BlockDataMeta { return this.lore != null && !this.lore.isEmpty(); } diff --git a/patches/server/0011-Use-TerminalConsoleAppender-for-console-improvements.patch b/patches/server/0011-Use-TerminalConsoleAppender-for-console-improvements.patch index 05265dfcf1..f2b824516b 100644 --- a/patches/server/0011-Use-TerminalConsoleAppender-for-console-improvements.patch +++ b/patches/server/0011-Use-TerminalConsoleAppender-for-console-improvements.patch @@ -423,7 +423,7 @@ index bec1fdabbc3727c1f7297b2d23914a5179f4adcb..17df1085e29429b202a6f9003343b15b @Override public PluginCommand getPluginCommand(String name) { diff --git a/src/main/java/org/bukkit/craftbukkit/Main.java b/src/main/java/org/bukkit/craftbukkit/Main.java -index 43790f555743e9945c1b82cf8f2f4719feedc165..26dfb02286e836cad0242c71f743265d55d9d032 100644 +index 9c1fab8db74757e1fb57d4f47099ba6e1536cd6d..3eecea2e6df217ccf2c432d02022c53443a37014 100644 --- a/src/main/java/org/bukkit/craftbukkit/Main.java +++ b/src/main/java/org/bukkit/craftbukkit/Main.java @@ -13,7 +13,6 @@ import java.util.logging.Logger; @@ -434,7 +434,7 @@ index 43790f555743e9945c1b82cf8f2f4719feedc165..26dfb02286e836cad0242c71f743265d public class Main { public static boolean useJline = true; -@@ -207,6 +206,8 @@ public class Main { +@@ -196,6 +195,8 @@ public class Main { } try { @@ -443,7 +443,7 @@ index 43790f555743e9945c1b82cf8f2f4719feedc165..26dfb02286e836cad0242c71f743265d // This trick bypasses Maven Shade's clever rewriting of our getProperty call when using String literals String jline_UnsupportedTerminal = new String(new char[]{'j', 'l', 'i', 'n', 'e', '.', 'U', 'n', 's', 'u', 'p', 'p', 'o', 'r', 't', 'e', 'd', 'T', 'e', 'r', 'm', 'i', 'n', 'a', 'l'}); String jline_terminal = new String(new char[]{'j', 'l', 'i', 'n', 'e', '.', 't', 'e', 'r', 'm', 'i', 'n', 'a', 'l'}); -@@ -224,9 +225,18 @@ public class Main { +@@ -213,9 +214,18 @@ public class Main { // This ensures the terminal literal will always match the jline implementation System.setProperty(jline.TerminalFactory.JLINE_TERMINAL, jline.UnsupportedTerminal.class.getName()); } @@ -462,7 +462,7 @@ index 43790f555743e9945c1b82cf8f2f4719feedc165..26dfb02286e836cad0242c71f743265d } if (Main.class.getPackage().getImplementationVendor() != null && System.getProperty("IReallyKnowWhatIAmDoingISwear") == null) { -@@ -242,6 +252,7 @@ public class Main { +@@ -231,6 +241,7 @@ public class Main { } } diff --git a/patches/server/0021-Hook-into-CB-plugin-rewrites.patch b/patches/server/0021-Hook-into-CB-plugin-rewrites.patch index 6c6939c01e..8f4c15153f 100644 --- a/patches/server/0021-Hook-into-CB-plugin-rewrites.patch +++ b/patches/server/0021-Hook-into-CB-plugin-rewrites.patch @@ -8,7 +8,7 @@ our own relocation. Also lets us rewrite NMS calls for when we're debugging in an IDE pre-relocate. diff --git a/src/main/java/org/bukkit/craftbukkit/util/Commodore.java b/src/main/java/org/bukkit/craftbukkit/util/Commodore.java -index 4afaab8978d4c4d9b0e9339f1bea9a9a9963d20d..421ddf6ca955215dff77655a7eda62eb9d90aa92 100644 +index f80625a2b1dc266131ba3bfda9a918c72a592d82..ebc160fd4c8aed95087130bb6fddc1d4f83c6f87 100644 --- a/src/main/java/org/bukkit/craftbukkit/util/Commodore.java +++ b/src/main/java/org/bukkit/craftbukkit/util/Commodore.java @@ -11,6 +11,7 @@ import java.util.Arrays; @@ -27,7 +27,7 @@ index 4afaab8978d4c4d9b0e9339f1bea9a9a9963d20d..421ddf6ca955215dff77655a7eda62eb import joptsimple.OptionParser; import joptsimple.OptionSet; import joptsimple.OptionSpec; -@@ -99,6 +101,40 @@ public class Commodore { +@@ -100,6 +102,40 @@ public class Commodore { private static final Map METHOD_REROUTE = Commodore.createReroutes(MethodRerouting.class); private static final Map ENUM_METHOD_REROUTE = Commodore.createReroutes(EnumEvil.class); @@ -68,7 +68,7 @@ index 4afaab8978d4c4d9b0e9339f1bea9a9a9963d20d..421ddf6ca955215dff77655a7eda62eb public static void main(String[] args) { OptionParser parser = new OptionParser(); OptionSpec inputFlag = parser.acceptsAll(Arrays.asList("i", "input")).withRequiredArg().ofType(File.class).required(); -@@ -252,9 +288,49 @@ public class Commodore { +@@ -253,9 +289,49 @@ public class Commodore { } return new MethodVisitor(this.api, super.visitMethod(access, name, desc, signature, exceptions)) { @@ -118,7 +118,7 @@ index 4afaab8978d4c4d9b0e9339f1bea9a9a9963d20d..421ddf6ca955215dff77655a7eda62eb name = FieldRename.rename(pluginVersion, owner, name); if (modern) { -@@ -374,6 +450,13 @@ public class Commodore { +@@ -375,6 +451,13 @@ public class Commodore { return; } @@ -132,7 +132,7 @@ index 4afaab8978d4c4d9b0e9339f1bea9a9a9963d20d..421ddf6ca955215dff77655a7eda62eb if (modern) { if (owner.equals("org/bukkit/Material") || (instantiatedMethodType != null && instantiatedMethodType.getDescriptor().startsWith("(Lorg/bukkit/Material;)"))) { switch (name) { -@@ -470,6 +553,13 @@ public class Commodore { +@@ -471,6 +554,13 @@ public class Commodore { @Override public void visitLdcInsn(Object value) { @@ -146,7 +146,7 @@ index 4afaab8978d4c4d9b0e9339f1bea9a9a9963d20d..421ddf6ca955215dff77655a7eda62eb if (value instanceof String && ((String) value).equals("com.mysql.jdbc.Driver")) { super.visitLdcInsn("com.mysql.cj.jdbc.Driver"); return; -@@ -480,6 +570,14 @@ public class Commodore { +@@ -481,6 +571,14 @@ public class Commodore { @Override public void visitInvokeDynamicInsn(String name, String descriptor, Handle bootstrapMethodHandle, Object... bootstrapMethodArguments) { @@ -161,7 +161,7 @@ index 4afaab8978d4c4d9b0e9339f1bea9a9a9963d20d..421ddf6ca955215dff77655a7eda62eb if (bootstrapMethodHandle.getOwner().equals("java/lang/invoke/LambdaMetafactory") && bootstrapMethodHandle.getName().equals("metafactory") && bootstrapMethodArguments.length == 3) { Type samMethodType = (Type) bootstrapMethodArguments[0]; -@@ -496,7 +594,7 @@ public class Commodore { +@@ -497,7 +595,7 @@ public class Commodore { methodArgs.add(new Handle(newOpcode, newOwner, newName, newDescription, newItf)); methodArgs.add(newInstantiated); @@ -170,7 +170,7 @@ index 4afaab8978d4c4d9b0e9339f1bea9a9a9963d20d..421ddf6ca955215dff77655a7eda62eb }, implMethod.getTag(), implMethod.getOwner(), implMethod.getName(), implMethod.getDesc(), implMethod.isInterface(), samMethodType, instantiatedMethodType); return; } -@@ -547,6 +645,12 @@ public class Commodore { +@@ -548,6 +646,12 @@ public class Commodore { @Override public FieldVisitor visitField(int access, String name, String descriptor, String signature, Object value) { diff --git a/patches/server/0022-Remap-reflection-calls-in-plugins-using-internals.patch b/patches/server/0022-Remap-reflection-calls-in-plugins-using-internals.patch index ed625b27de..a1af0e562f 100644 --- a/patches/server/0022-Remap-reflection-calls-in-plugins-using-internals.patch +++ b/patches/server/0022-Remap-reflection-calls-in-plugins-using-internals.patch @@ -645,10 +645,10 @@ index 242811578a786e3807a1a7019d472d5a68f87116..0b65fdf53124f3dd042b2363b1b8df8e return traceElements; } diff --git a/src/main/java/org/bukkit/craftbukkit/util/Commodore.java b/src/main/java/org/bukkit/craftbukkit/util/Commodore.java -index 421ddf6ca955215dff77655a7eda62eb9d90aa92..8a1570ceb4755a1872911751943c84b8f06eb4c2 100644 +index ebc160fd4c8aed95087130bb6fddc1d4f83c6f87..65f64de05a88844e62b5a0dd1e2f53edfb4e0c1f 100644 --- a/src/main/java/org/bukkit/craftbukkit/util/Commodore.java +++ b/src/main/java/org/bukkit/craftbukkit/util/Commodore.java -@@ -102,36 +102,26 @@ public class Commodore { +@@ -103,36 +103,26 @@ public class Commodore { private static final Map ENUM_METHOD_REROUTE = Commodore.createReroutes(EnumEvil.class); // Paper start - Plugin rewrites @@ -696,7 +696,7 @@ index 421ddf6ca955215dff77655a7eda62eb9d90aa92..8a1570ceb4755a1872911751943c84b8 } // Paper end - Plugin rewrites -@@ -214,6 +204,7 @@ public class Commodore { +@@ -215,6 +205,7 @@ public class Commodore { visitor = new LimitedClassRemapper(cw, new SimpleRemapper(Commodore.ENUM_RENAMES)); } diff --git a/patches/server/0026-Support-components-in-ItemMeta.patch b/patches/server/0026-Support-components-in-ItemMeta.patch index beae574f9a..680fd5d70f 100644 --- a/patches/server/0026-Support-components-in-ItemMeta.patch +++ b/patches/server/0026-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 86a5e4f7b2a0d50d0a58d88e10a277cfbd09bf9d..46e1fabf85cc0d92f79a7adf24e5724dc1dc08a9 100644 +index 568d6fab743039b20715d8181555f52baa05f0f3..7ae3cdb80335cbeb0ff695eb719a170651586722 100644 --- a/src/main/java/org/bukkit/craftbukkit/inventory/CraftMetaItem.java +++ b/src/main/java/org/bukkit/craftbukkit/inventory/CraftMetaItem.java -@@ -969,11 +969,23 @@ class CraftMetaItem implements ItemMeta, Damageable, Repairable, BlockDataMeta { +@@ -976,11 +976,23 @@ class CraftMetaItem implements ItemMeta, Damageable, Repairable, BlockDataMeta { return CraftChatMessage.fromComponent(this.displayName); } @@ -32,7 +32,7 @@ index 86a5e4f7b2a0d50d0a58d88e10a277cfbd09bf9d..46e1fabf85cc0d92f79a7adf24e5724d @Override public boolean hasDisplayName() { return this.displayName != null; -@@ -1147,6 +1159,14 @@ class CraftMetaItem implements ItemMeta, Damageable, Repairable, BlockDataMeta { +@@ -1154,6 +1166,14 @@ class CraftMetaItem implements ItemMeta, Damageable, Repairable, BlockDataMeta { return this.lore == null ? null : new ArrayList(Lists.transform(this.lore, CraftChatMessage::fromComponent)); } @@ -47,7 +47,7 @@ index 86a5e4f7b2a0d50d0a58d88e10a277cfbd09bf9d..46e1fabf85cc0d92f79a7adf24e5724d @Override public void setLore(List lore) { if (lore == null || lore.isEmpty()) { -@@ -1161,6 +1181,21 @@ class CraftMetaItem implements ItemMeta, Damageable, Repairable, BlockDataMeta { +@@ -1168,6 +1188,21 @@ class CraftMetaItem implements ItemMeta, Damageable, Repairable, BlockDataMeta { } } @@ -69,7 +69,7 @@ index 86a5e4f7b2a0d50d0a58d88e10a277cfbd09bf9d..46e1fabf85cc0d92f79a7adf24e5724d @Override public boolean hasCustomModelData() { return this.customModelData != null; -@@ -1873,6 +1908,11 @@ class CraftMetaItem implements ItemMeta, Damageable, Repairable, BlockDataMeta { +@@ -1880,6 +1915,11 @@ class CraftMetaItem implements ItemMeta, Damageable, Repairable, BlockDataMeta { } for (Object object : addFrom) { diff --git a/patches/server/0033-Expose-server-build-information.patch b/patches/server/0033-Expose-server-build-information.patch index 2a0bceab6c..978c66d922 100644 --- a/patches/server/0033-Expose-server-build-information.patch +++ b/patches/server/0033-Expose-server-build-information.patch @@ -659,7 +659,7 @@ index acab477a4a026799319054c2eb4d0f2c99ab3d83..2a36e562967ec6174efe456e489c50ca public List getOnlinePlayers() { return this.playerView; diff --git a/src/main/java/org/bukkit/craftbukkit/Main.java b/src/main/java/org/bukkit/craftbukkit/Main.java -index 1c8049bbc08be77673d375205bd42a346ff951b8..1aa75b11ee3297e379baa111cf53e1cfcd8b016e 100644 +index 8da38624b5867ce88bdb3036e1ed6d99fc626f31..2097be352dc585b805dc73194cec095627f311bc 100644 --- a/src/main/java/org/bukkit/craftbukkit/Main.java +++ b/src/main/java/org/bukkit/craftbukkit/Main.java @@ -15,6 +15,7 @@ import joptsimple.OptionSet; @@ -670,7 +670,7 @@ index 1c8049bbc08be77673d375205bd42a346ff951b8..1aa75b11ee3297e379baa111cf53e1cf public static boolean useJline = true; public static boolean useConsole = true; -@@ -252,15 +253,17 @@ public class Main { +@@ -241,15 +242,17 @@ public class Main { deadline.add(Calendar.DAY_OF_YEAR, -14); if (buildDate.before(deadline.getTime())) { System.err.println("*** Error, this build is outdated ***"); diff --git a/patches/server/0070-Handle-Item-Meta-Inconsistencies.patch b/patches/server/0070-Handle-Item-Meta-Inconsistencies.patch index 17e1d51ed5..00c91ac5e5 100644 --- a/patches/server/0070-Handle-Item-Meta-Inconsistencies.patch +++ b/patches/server/0070-Handle-Item-Meta-Inconsistencies.patch @@ -149,7 +149,7 @@ index 17fa2d3db112762bcb8b941b69b8ddcc53f47224..6c76aeddb34239a5acc204a17b2aa2d8 static Map getEnchantments(net.minecraft.world.item.ItemStack item) { diff --git a/src/main/java/org/bukkit/craftbukkit/inventory/CraftMetaItem.java b/src/main/java/org/bukkit/craftbukkit/inventory/CraftMetaItem.java -index 46e1fabf85cc0d92f79a7adf24e5724dc1dc08a9..69be26f8f47854f39cfed0559d944ef4f983c0f3 100644 +index 7ae3cdb80335cbeb0ff695eb719a170651586722..97c40582bca095532fff9a81515f38ea4ac527e0 100644 --- a/src/main/java/org/bukkit/craftbukkit/inventory/CraftMetaItem.java +++ b/src/main/java/org/bukkit/craftbukkit/inventory/CraftMetaItem.java @@ -6,6 +6,7 @@ import com.google.common.collect.ImmutableList; @@ -197,7 +197,7 @@ index 46e1fabf85cc0d92f79a7adf24e5724dc1dc08a9..69be26f8f47854f39cfed0559d944ef4 tag.entrySet().forEach((entry) -> { Holder id = entry.getKey(); -@@ -729,13 +731,13 @@ class CraftMetaItem implements ItemMeta, Damageable, Repairable, BlockDataMeta { +@@ -736,13 +738,13 @@ class CraftMetaItem implements ItemMeta, Damageable, Repairable, BlockDataMeta { return modifiers; } @@ -213,7 +213,7 @@ index 46e1fabf85cc0d92f79a7adf24e5724dc1dc08a9..69be26f8f47854f39cfed0559d944ef4 for (Map.Entry entry : ench.entrySet()) { Enchantment enchantment = CraftEnchantment.stringToBukkit(entry.getKey().toString()); if ((enchantment != null) && (entry.getValue() instanceof Integer)) { -@@ -1072,14 +1074,14 @@ class CraftMetaItem implements ItemMeta, Damageable, Repairable, BlockDataMeta { +@@ -1079,14 +1081,14 @@ class CraftMetaItem implements ItemMeta, Damageable, Repairable, BlockDataMeta { @Override public Map getEnchants() { @@ -230,7 +230,7 @@ index 46e1fabf85cc0d92f79a7adf24e5724dc1dc08a9..69be26f8f47854f39cfed0559d944ef4 } if (ignoreRestrictions || level >= ench.getStartLevel() && level <= ench.getMaxLevel()) { -@@ -1679,7 +1681,7 @@ class CraftMetaItem implements ItemMeta, Damageable, Repairable, BlockDataMeta { +@@ -1686,7 +1688,7 @@ class CraftMetaItem implements ItemMeta, Damageable, Repairable, BlockDataMeta { clone.customModelData = this.customModelData; clone.blockData = this.blockData; if (this.enchantments != null) { @@ -239,7 +239,7 @@ index 46e1fabf85cc0d92f79a7adf24e5724dc1dc08a9..69be26f8f47854f39cfed0559d944ef4 } if (this.hasAttributeModifiers()) { clone.attributeModifiers = LinkedHashMultimap.create(this.attributeModifiers); -@@ -2028,4 +2030,22 @@ class CraftMetaItem implements ItemMeta, Damageable, Repairable, BlockDataMeta { +@@ -2036,4 +2038,22 @@ class CraftMetaItem implements ItemMeta, Damageable, Repairable, BlockDataMeta { return (result != null) ? result : Optional.empty(); } diff --git a/patches/server/0083-Add-PlayerUseUnknownEntityEvent.patch b/patches/server/0083-Add-PlayerUseUnknownEntityEvent.patch index fd354e6963..3ac4e0b315 100644 --- a/patches/server/0083-Add-PlayerUseUnknownEntityEvent.patch +++ b/patches/server/0083-Add-PlayerUseUnknownEntityEvent.patch @@ -59,10 +59,10 @@ index 64db7e017b41bffcaac202ee4ecfd7df46d69331..14a821bfc6b20475889d3138b8da9e6b @Override diff --git a/src/main/java/org/bukkit/craftbukkit/event/CraftEventFactory.java b/src/main/java/org/bukkit/craftbukkit/event/CraftEventFactory.java -index 63e20db8ad84b332a4962d5cea83f1064b7c1a3d..bb296f649afd143adad47595479532cfdd778b71 100644 +index 78f4bb474c85e32448a385e108707d92082bfe02..b68068c783f782258f86e5ecf54664916f069e38 100644 --- a/src/main/java/org/bukkit/craftbukkit/event/CraftEventFactory.java +++ b/src/main/java/org/bukkit/craftbukkit/event/CraftEventFactory.java -@@ -1901,4 +1901,13 @@ public class CraftEventFactory { +@@ -1915,4 +1915,13 @@ public class CraftEventFactory { Bukkit.getPluginManager().callEvent(new EntityRemoveEvent(entity.getBukkitEntity(), cause)); } diff --git a/patches/server/0108-Add-EntityZapEvent.patch b/patches/server/0108-Add-EntityZapEvent.patch index 9349d4820b..3f2644e38f 100644 --- a/patches/server/0108-Add-EntityZapEvent.patch +++ b/patches/server/0108-Add-EntityZapEvent.patch @@ -28,10 +28,10 @@ index 63c10be6eacd7108b8b4795d76bf624e0614440a..243eb1e54293c763a06febff551c0513 entitywitch.finalizeSpawn(world, world.getCurrentDifficultyAt(entitywitch.blockPosition()), MobSpawnType.CONVERSION, (SpawnGroupData) null); entitywitch.setNoAi(this.isNoAi()); diff --git a/src/main/java/org/bukkit/craftbukkit/event/CraftEventFactory.java b/src/main/java/org/bukkit/craftbukkit/event/CraftEventFactory.java -index bb296f649afd143adad47595479532cfdd778b71..5cf1b15160647b6e8e42a167502643882a231c55 100644 +index b68068c783f782258f86e5ecf54664916f069e38..44c416f812867f19a26aeefc5710a7aef9dfdf64 100644 --- a/src/main/java/org/bukkit/craftbukkit/event/CraftEventFactory.java +++ b/src/main/java/org/bukkit/craftbukkit/event/CraftEventFactory.java -@@ -1211,6 +1211,14 @@ public class CraftEventFactory { +@@ -1215,6 +1215,14 @@ public class CraftEventFactory { return !event.isCancelled(); } diff --git a/patches/server/0112-Add-source-to-PlayerExpChangeEvent.patch b/patches/server/0112-Add-source-to-PlayerExpChangeEvent.patch index d472f677f5..46f6c063c9 100644 --- a/patches/server/0112-Add-source-to-PlayerExpChangeEvent.patch +++ b/patches/server/0112-Add-source-to-PlayerExpChangeEvent.patch @@ -18,10 +18,10 @@ index 56402312e44d12c859e2c4b39902d31b7cfd1573..25a45e680f9fdea90f43d59de87a3a50 --this.count; diff --git a/src/main/java/org/bukkit/craftbukkit/event/CraftEventFactory.java b/src/main/java/org/bukkit/craftbukkit/event/CraftEventFactory.java -index 5cf1b15160647b6e8e42a167502643882a231c55..6ffc5b9eb2fa084c7cf397d944e6fc1d8d770dbb 100644 +index 44c416f812867f19a26aeefc5710a7aef9dfdf64..a83b7f350bf20f944de92df76e112aaa49dc608d 100644 --- a/src/main/java/org/bukkit/craftbukkit/event/CraftEventFactory.java +++ b/src/main/java/org/bukkit/craftbukkit/event/CraftEventFactory.java -@@ -1164,6 +1164,17 @@ public class CraftEventFactory { +@@ -1168,6 +1168,17 @@ public class CraftEventFactory { return event; } diff --git a/patches/server/0113-Add-ProjectileCollideEvent.patch b/patches/server/0113-Add-ProjectileCollideEvent.patch index 867e422520..4a6b57dae0 100644 --- a/patches/server/0113-Add-ProjectileCollideEvent.patch +++ b/patches/server/0113-Add-ProjectileCollideEvent.patch @@ -6,13 +6,13 @@ Subject: [PATCH] Add ProjectileCollideEvent Deprecated now and replaced with ProjectileHitEvent diff --git a/src/main/java/org/bukkit/craftbukkit/event/CraftEventFactory.java b/src/main/java/org/bukkit/craftbukkit/event/CraftEventFactory.java -index 6ffc5b9eb2fa084c7cf397d944e6fc1d8d770dbb..50a4e657508e21717a61900660d85203d9373e19 100644 +index a83b7f350bf20f944de92df76e112aaa49dc608d..b5b237c56575e8ceb3e6471deec1e7712891a8e0 100644 --- a/src/main/java/org/bukkit/craftbukkit/event/CraftEventFactory.java +++ b/src/main/java/org/bukkit/craftbukkit/event/CraftEventFactory.java -@@ -1308,6 +1308,17 @@ public class CraftEventFactory { - return CraftItemStack.asNMSCopy(bitem); +@@ -1321,6 +1321,16 @@ public class CraftEventFactory { + Bukkit.getPluginManager().callEvent(crafterCraftEvent); + return crafterCraftEvent; } - + // Paper start + @Deprecated + public static com.destroystokyo.paper.event.entity.ProjectileCollideEvent callProjectileCollideEvent(Entity entity, EntityHitResult position) { @@ -23,11 +23,10 @@ index 6ffc5b9eb2fa084c7cf397d944e6fc1d8d770dbb..50a4e657508e21717a61900660d85203 + return event; + } + // Paper end -+ + public static ProjectileLaunchEvent callProjectileLaunchEvent(Entity entity) { Projectile bukkitEntity = (Projectile) entity.getBukkitEntity(); - ProjectileLaunchEvent event = new ProjectileLaunchEvent(bukkitEntity); -@@ -1332,8 +1343,15 @@ public class CraftEventFactory { +@@ -1346,8 +1356,15 @@ public class CraftEventFactory { if (position.getType() == HitResult.Type.ENTITY) { hitEntity = ((EntityHitResult) position).getEntity().getBukkitEntity(); } diff --git a/patches/server/0146-Fix-this-stupid-bullshit.patch b/patches/server/0146-Fix-this-stupid-bullshit.patch index 2e5a252a99..35f07c8aba 100644 --- a/patches/server/0146-Fix-this-stupid-bullshit.patch +++ b/patches/server/0146-Fix-this-stupid-bullshit.patch @@ -31,10 +31,10 @@ index 8f1992188f7fd9e735569e099b36a7eafed47aae..061c89b985dafc79c808dd5f0e296b9f Bootstrap.isBootstrapped = true; Instant instant = Instant.now(); diff --git a/src/main/java/org/bukkit/craftbukkit/Main.java b/src/main/java/org/bukkit/craftbukkit/Main.java -index fcc7cdd0adfcaa135d08ea36746dca980590d6eb..4c8d98598b5cdcdbe4a778f1ec142e3a7ab33196 100644 +index 837db57c19df3d5c986a52edf3d9d8105cc87cde..446403f73fb1b5687d587889e6f32dce464d05a6 100644 --- a/src/main/java/org/bukkit/craftbukkit/Main.java +++ b/src/main/java/org/bukkit/craftbukkit/Main.java -@@ -260,10 +260,12 @@ public class Main { +@@ -249,10 +249,12 @@ public class Main { Calendar deadline = Calendar.getInstance(); deadline.add(Calendar.DAY_OF_YEAR, -14); if (buildDate.before(deadline.getTime())) { diff --git a/patches/server/0169-Add-ArmorStand-Item-Meta.patch b/patches/server/0169-Add-ArmorStand-Item-Meta.patch index b6aa22ecaf..554e001492 100644 --- a/patches/server/0169-Add-ArmorStand-Item-Meta.patch +++ b/patches/server/0169-Add-ArmorStand-Item-Meta.patch @@ -13,7 +13,7 @@ starting point for future additions in this area. Fixes GH-559 diff --git a/src/main/java/org/bukkit/craftbukkit/inventory/CraftItemMetas.java b/src/main/java/org/bukkit/craftbukkit/inventory/CraftItemMetas.java -index 85aab880fdb2f23d09096f8f2b1ede4f068fa023..4ae9930c2d74e5b1e3ad0c2ecf6556dc59cbf23c 100644 +index eef3517833ff5c0cf41b89973ebc972b8ed31e0f..c9fbc01be0b0e7fd1cafb091d06496f4ba1e7c2c 100644 --- a/src/main/java/org/bukkit/craftbukkit/inventory/CraftItemMetas.java +++ b/src/main/java/org/bukkit/craftbukkit/inventory/CraftItemMetas.java @@ -1,5 +1,6 @@ @@ -22,8 +22,8 @@ index 85aab880fdb2f23d09096f8f2b1ede4f068fa023..4ae9930c2d74e5b1e3ad0c2ecf6556dc +import com.destroystokyo.paper.inventory.meta.ArmorStandMeta; import java.util.function.BiFunction; import java.util.function.Function; - import net.minecraft.world.item.ItemStack; -@@ -95,7 +96,7 @@ public final class CraftItemMetas { + import net.minecraft.world.item.BannerItem; +@@ -102,7 +103,7 @@ public final class CraftItemMetas { item -> new CraftMetaSpawnEgg(item.getComponentsPatch()), (type, meta) -> meta instanceof CraftMetaSpawnEgg spawnEgg ? spawnEgg : new CraftMetaSpawnEgg(meta)); @@ -272,7 +272,7 @@ index c4f12f96e39cb6189799a796b4cb2cb4f0b92392..59bdac414e8205ed608f79ef0d1502ac + // Paper end } diff --git a/src/test/java/org/bukkit/craftbukkit/inventory/ItemMetaTest.java b/src/test/java/org/bukkit/craftbukkit/inventory/ItemMetaTest.java -index 99a555ca72cd95d760d68072242203deeddd0ce1..a1d8da4e0de3f84194f28d7d18fa795d53714590 100644 +index b46032190dbb0d47ee3c1a11959f6278ddf5eb5a..0715f43f3f8235d28a12b9d49d78c765a946c53f 100644 --- a/src/test/java/org/bukkit/craftbukkit/inventory/ItemMetaTest.java +++ b/src/test/java/org/bukkit/craftbukkit/inventory/ItemMetaTest.java @@ -364,6 +364,7 @@ public class ItemMetaTest extends AbstractTestingBase { diff --git a/patches/server/0176-Player.setPlayerProfile-API.patch b/patches/server/0176-Player.setPlayerProfile-API.patch index d847c9d191..21f5229b12 100644 --- a/patches/server/0176-Player.setPlayerProfile-API.patch +++ b/patches/server/0176-Player.setPlayerProfile-API.patch @@ -220,10 +220,10 @@ index 4602c3d0be94f0146a2b205268f70aaf85410f20..422c25577a0d95b31b5528fad8fc9b3a public void onEntityRemove(Entity entity) { this.invertedVisibilityEntities.remove(entity.getUUID()); diff --git a/src/main/java/org/bukkit/craftbukkit/util/Commodore.java b/src/main/java/org/bukkit/craftbukkit/util/Commodore.java -index 8a1570ceb4755a1872911751943c84b8f06eb4c2..38339b8b1b3b70bbbf0259d7095b02ee8c22b609 100644 +index 65f64de05a88844e62b5a0dd1e2f53edfb4e0c1f..e1b86308f737b957b6d00bc902b91856694b7cbf 100644 --- a/src/main/java/org/bukkit/craftbukkit/util/Commodore.java +++ b/src/main/java/org/bukkit/craftbukkit/util/Commodore.java -@@ -448,6 +448,13 @@ public class Commodore { +@@ -449,6 +449,13 @@ public class Commodore { } // Paper end - Rewrite plugins diff --git a/patches/server/0192-WitchReadyPotionEvent.patch b/patches/server/0192-WitchReadyPotionEvent.patch index 8bbf7b47e0..56d606d8f3 100644 --- a/patches/server/0192-WitchReadyPotionEvent.patch +++ b/patches/server/0192-WitchReadyPotionEvent.patch @@ -22,10 +22,10 @@ index a14e00d55930628333cc63b18727ea56dbdc4ee3..f6d01d21745391595d61b191832be4c2 this.setUsingItem(true); if (!this.isSilent()) { diff --git a/src/main/java/org/bukkit/craftbukkit/event/CraftEventFactory.java b/src/main/java/org/bukkit/craftbukkit/event/CraftEventFactory.java -index 50a4e657508e21717a61900660d85203d9373e19..1c53b872b30bcd8535b8686015935025a4c9837f 100644 +index b5b237c56575e8ceb3e6471deec1e7712891a8e0..cfdabb93c2d30845af9108552ed9bee9929250ce 100644 --- a/src/main/java/org/bukkit/craftbukkit/event/CraftEventFactory.java +++ b/src/main/java/org/bukkit/craftbukkit/event/CraftEventFactory.java -@@ -1947,4 +1947,14 @@ public class CraftEventFactory { +@@ -1960,4 +1960,14 @@ public class CraftEventFactory { ).callEvent(); } // Paper end - PlayerUseUnknownEntityEvent diff --git a/patches/server/0202-Add-entity-knockback-events.patch b/patches/server/0202-Add-entity-knockback-events.patch index 2fa28dc910..19f7aa3388 100644 --- a/patches/server/0202-Add-entity-knockback-events.patch +++ b/patches/server/0202-Add-entity-knockback-events.patch @@ -273,10 +273,10 @@ index 6476c644d3da824c5ee4190cb45cde678ff1188f..a5f4ecb96c508b94a92a43c864c075f6 // CraftBukkit end entity.setDeltaMovement(entity.getDeltaMovement().add(vec3d1)); diff --git a/src/main/java/org/bukkit/craftbukkit/event/CraftEventFactory.java b/src/main/java/org/bukkit/craftbukkit/event/CraftEventFactory.java -index 1c53b872b30bcd8535b8686015935025a4c9837f..0888692736ef62e741aa41d3a72b9b8c3075dfcd 100644 +index cfdabb93c2d30845af9108552ed9bee9929250ce..e1b7bd5c23ba79b84ad257b7fb45e251da3978e5 100644 --- a/src/main/java/org/bukkit/craftbukkit/event/CraftEventFactory.java +++ b/src/main/java/org/bukkit/craftbukkit/event/CraftEventFactory.java -@@ -1909,19 +1909,33 @@ public class CraftEventFactory { +@@ -1922,19 +1922,33 @@ public class CraftEventFactory { return event; } diff --git a/patches/server/0208-InventoryCloseEvent-Reason-API.patch b/patches/server/0208-InventoryCloseEvent-Reason-API.patch index 02104aa8f1..080360b9f4 100644 --- a/patches/server/0208-InventoryCloseEvent-Reason-API.patch +++ b/patches/server/0208-InventoryCloseEvent-Reason-API.patch @@ -96,7 +96,7 @@ index 72edfb965aca81c2d2442b794b42baa04ec713b3..a954d3b0ff0917d857002dba70c54b3f this.player.doCloseContainer(); } diff --git a/src/main/java/net/minecraft/server/players/PlayerList.java b/src/main/java/net/minecraft/server/players/PlayerList.java -index 9019e25f61d4fdb7c5d12ea7630b0bc23827ab6e..38cf3cf1cc7ebae4b6ca8a89dc026b5b4f0b4c2b 100644 +index 26cee48ea3650aaf87fd2ba9c70d4ca9a88e2d87..25dee4848c8b2cff74075c6d26d384e71f706627 100644 --- a/src/main/java/net/minecraft/server/players/PlayerList.java +++ b/src/main/java/net/minecraft/server/players/PlayerList.java @@ -510,7 +510,7 @@ public abstract class PlayerList { @@ -178,10 +178,10 @@ index 326f36726c124385145c469566c2089439b5dd0f..0b4c5a2604f61a34b5666a9a83a2e644 // Check if the fromWorld and toWorld are the same. diff --git a/src/main/java/org/bukkit/craftbukkit/event/CraftEventFactory.java b/src/main/java/org/bukkit/craftbukkit/event/CraftEventFactory.java -index 0888692736ef62e741aa41d3a72b9b8c3075dfcd..7fa68654c2e0c87dd779a1354fc103be4d7d7a46 100644 +index e1b7bd5c23ba79b84ad257b7fb45e251da3978e5..ad271871b207b425ef8d599fe74a67d065d66686 100644 --- a/src/main/java/org/bukkit/craftbukkit/event/CraftEventFactory.java +++ b/src/main/java/org/bukkit/craftbukkit/event/CraftEventFactory.java -@@ -1277,7 +1277,7 @@ public class CraftEventFactory { +@@ -1281,7 +1281,7 @@ public class CraftEventFactory { public static AbstractContainerMenu callInventoryOpenEvent(ServerPlayer player, AbstractContainerMenu container, boolean cancelled) { if (player.containerMenu != player.inventoryMenu) { // fire INVENTORY_CLOSE if one already open @@ -190,7 +190,7 @@ index 0888692736ef62e741aa41d3a72b9b8c3075dfcd..7fa68654c2e0c87dd779a1354fc103be } CraftServer server = player.level().getCraftServer(); -@@ -1464,8 +1464,18 @@ public class CraftEventFactory { +@@ -1477,8 +1477,18 @@ public class CraftEventFactory { return event; } diff --git a/patches/server/0217-Vanished-players-don-t-have-rights.patch b/patches/server/0217-Vanished-players-don-t-have-rights.patch index b81b6e54e3..3ee31bb1d3 100644 --- a/patches/server/0217-Vanished-players-don-t-have-rights.patch +++ b/patches/server/0217-Vanished-players-don-t-have-rights.patch @@ -89,10 +89,10 @@ index a9227581ec78a56e96dc3a342006e4a649906326..5929b450a26e7c3cf63de3dc1d0e67cb public boolean isClientSide() { return this.isClientSide; diff --git a/src/main/java/org/bukkit/craftbukkit/event/CraftEventFactory.java b/src/main/java/org/bukkit/craftbukkit/event/CraftEventFactory.java -index 7fa68654c2e0c87dd779a1354fc103be4d7d7a46..a221ae7ec1a7db9c38037fa71ea35b5309b99973 100644 +index ad271871b207b425ef8d599fe74a67d065d66686..d1b473ef83df0ed4ae7cd9dd0525dac5e8a41223 100644 --- a/src/main/java/org/bukkit/craftbukkit/event/CraftEventFactory.java +++ b/src/main/java/org/bukkit/craftbukkit/event/CraftEventFactory.java -@@ -1314,6 +1314,14 @@ public class CraftEventFactory { +@@ -1327,6 +1327,14 @@ public class CraftEventFactory { Projectile projectile = (Projectile) entity.getBukkitEntity(); org.bukkit.entity.Entity collided = position.getEntity().getBukkitEntity(); com.destroystokyo.paper.event.entity.ProjectileCollideEvent event = new com.destroystokyo.paper.event.entity.ProjectileCollideEvent(projectile, collided); diff --git a/patches/server/0235-Optimize-CraftBlockData-Creation.patch b/patches/server/0235-Optimize-CraftBlockData-Creation.patch index 8f037e052a..501971aa29 100644 --- a/patches/server/0235-Optimize-CraftBlockData-Creation.patch +++ b/patches/server/0235-Optimize-CraftBlockData-Creation.patch @@ -7,10 +7,10 @@ Avoids a hashmap lookup by cacheing a reference to the CraftBlockData and cloning it when one is needed. 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 4ac248f9f5f4f7aa95ddd6e3c3dab1ce94e73d66..d02f7a547dbe8943f82c07103b1fff203e4533c2 100644 +index 59fcaca90b67c03e1a6799e58061dbae3b1f1ceb..46dd499c2023ec482ae7204d2894fb4100d9233b 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 -@@ -813,6 +813,14 @@ public abstract class BlockBehaviour implements FeatureElement { +@@ -820,6 +820,14 @@ public abstract class BlockBehaviour implements FeatureElement { this.instrument = blockbase_info.instrument; this.replaceable = blockbase_info.replaceable; } diff --git a/patches/server/0243-Improve-death-events.patch b/patches/server/0243-Improve-death-events.patch index ccf6f18a9d..235279b5fe 100644 --- a/patches/server/0243-Improve-death-events.patch +++ b/patches/server/0243-Improve-death-events.patch @@ -443,10 +443,10 @@ index 92f9502a2d5721ebb1757a069a0f138db66628d7..6c5bd88777ff79c7408cf5ffed0f099a public void injectScaledMaxHealth(Collection collection, boolean force) { diff --git a/src/main/java/org/bukkit/craftbukkit/event/CraftEventFactory.java b/src/main/java/org/bukkit/craftbukkit/event/CraftEventFactory.java -index a221ae7ec1a7db9c38037fa71ea35b5309b99973..d3baf38cf45d13eeffedcc697468842e3ac117d3 100644 +index d1b473ef83df0ed4ae7cd9dd0525dac5e8a41223..a9a2b35378d6654ba00a48737f596553445214aa 100644 --- a/src/main/java/org/bukkit/craftbukkit/event/CraftEventFactory.java +++ b/src/main/java/org/bukkit/craftbukkit/event/CraftEventFactory.java -@@ -897,9 +897,16 @@ public class CraftEventFactory { +@@ -901,9 +901,16 @@ public class CraftEventFactory { CraftLivingEntity entity = (CraftLivingEntity) victim.getBukkitEntity(); CraftDamageSource bukkitDamageSource = new CraftDamageSource(damageSource); EntityDeathEvent event = new EntityDeathEvent(entity, bukkitDamageSource, drops, victim.getExpReward(damageSource.getEntity())); @@ -463,7 +463,7 @@ index a221ae7ec1a7db9c38037fa71ea35b5309b99973..d3baf38cf45d13eeffedcc697468842e victim.expToDrop = event.getDroppedExp(); for (org.bukkit.inventory.ItemStack stack : event.getDrops()) { -@@ -917,7 +924,14 @@ public class CraftEventFactory { +@@ -921,7 +928,14 @@ public class CraftEventFactory { PlayerDeathEvent event = new PlayerDeathEvent(entity, bukkitDamageSource, drops, victim.getExpReward(damageSource.getEntity()), 0, deathMessage); event.setKeepInventory(keepInventory); event.setKeepLevel(victim.keepLevel); // SPIGOT-2222: pre-set keepLevel @@ -478,7 +478,7 @@ index a221ae7ec1a7db9c38037fa71ea35b5309b99973..d3baf38cf45d13eeffedcc697468842e victim.keepLevel = event.getKeepLevel(); victim.newLevel = event.getNewLevel(); -@@ -940,6 +954,31 @@ public class CraftEventFactory { +@@ -944,6 +958,31 @@ public class CraftEventFactory { return event; } diff --git a/patches/server/0316-Improve-java-version-check.patch b/patches/server/0316-Improve-java-version-check.patch index 4bd8947722..3d9eed5372 100644 --- a/patches/server/0316-Improve-java-version-check.patch +++ b/patches/server/0316-Improve-java-version-check.patch @@ -6,42 +6,31 @@ Subject: [PATCH] Improve java version check Co-Authored-By: MiniDigger diff --git a/src/main/java/org/bukkit/craftbukkit/Main.java b/src/main/java/org/bukkit/craftbukkit/Main.java -index 8245b38d37b4cee6f4e7b61d7af40a18e54a3f43..e226eda5efc0e45e59cb5f6251ed008b67d5299a 100644 +index 446403f73fb1b5687d587889e6f32dce464d05a6..ed167d0d399924d54d9ff99c10ab8ee093efc149 100644 --- a/src/main/java/org/bukkit/craftbukkit/Main.java +++ b/src/main/java/org/bukkit/craftbukkit/Main.java -@@ -203,23 +203,27 @@ public class Main { +@@ -203,11 +203,20 @@ public class Main { return; } -+ // Paper start - Improve java version check -+ boolean skip = Boolean.getBoolean("Paper.IgnoreJavaVersion"); - float javaVersion = Float.parseFloat(System.getProperty("java.class.version")); -- if (javaVersion < 61.0) { -- System.err.println("Unsupported Java detected (" + javaVersion + "). This version of Minecraft requires at least Java 17. Check your Java version with the command 'java -version'."); -- return; -- } +- float javaVersion = Float.parseFloat(System.getProperty("java.class.version")); - if (javaVersion > 66.0) { - System.err.println("Unsupported Java detected (" + javaVersion + "). Only up to Java 22 is supported."); -+ boolean isOldVersion = javaVersion < 61.0; -+ if (!skip && isOldVersion) { -+ System.err.println("Unsupported Java detected (" + javaVersion + "). This version of Minecraft requires at least Java 21. Check your Java version with the command 'java -version'. For more info see https://docs.papermc.io/misc/java-install"); - return; - } - String javaVersionName = System.getProperty("java.version"); - // J2SE SDK/JRE Version String Naming Convention - boolean isPreRelease = javaVersionName.contains("-"); -- if (isPreRelease && javaVersion == 61.0) { -- System.err.println("Unsupported Java detected (" + javaVersionName + "). You are running an outdated, pre-release version. Only general availability versions of Java are supported. Please update your Java version."); -+ if (!skip && isPreRelease) { -+ System.err.println("Unsupported Java detected (" + javaVersionName + "). You are running an unsupported, non official, version. Only general availability versions of Java are supported. Please update your Java version. See https://docs.papermc.io/paper/faq#unsupported-java-detected-what-do-i-do for more information."); - return; - } - -+ if (skip && (isOldVersion || isPreRelease)) { -+ System.err.println("Unsupported Java detected ("+ javaVersionName + "), but the check was skipped. Proceed with caution! "); -+ } -+ // Paper end - Improve java version check +- return; ++ // Paper start - Improve java version check ++ boolean skip = Boolean.getBoolean("Paper.IgnoreJavaVersion"); ++ String javaVersionName = System.getProperty("java.version"); ++ // J2SE SDK/JRE Version String Naming Convention ++ boolean isPreRelease = javaVersionName.contains("-"); ++ if (isPreRelease) { ++ if (!skip) { ++ System.err.println("Unsupported Java detected (" + javaVersionName + "). You are running an unsupported, non official, version. Only general availability versions of Java are supported. Please update your Java version. See https://docs.papermc.io/paper/faq#unsupported-java-detected-what-do-i-do for more information."); ++ return; ++ } + ++ System.err.println("Unsupported Java detected ("+ javaVersionName + "), but the check was skipped. Proceed with caution! "); + } ++ // Paper end - Improve java version check + try { // Paper start - Handled by TerminalConsoleAppender - /* diff --git a/patches/server/0321-add-hand-to-BlockMultiPlaceEvent.patch b/patches/server/0321-add-hand-to-BlockMultiPlaceEvent.patch index a80da71d1f..ca43013242 100644 --- a/patches/server/0321-add-hand-to-BlockMultiPlaceEvent.patch +++ b/patches/server/0321-add-hand-to-BlockMultiPlaceEvent.patch @@ -5,10 +5,10 @@ Subject: [PATCH] add hand to BlockMultiPlaceEvent diff --git a/src/main/java/org/bukkit/craftbukkit/event/CraftEventFactory.java b/src/main/java/org/bukkit/craftbukkit/event/CraftEventFactory.java -index d3baf38cf45d13eeffedcc697468842e3ac117d3..3ba695a29dcf9e7137dae16835e6f7a375d560f7 100644 +index a9a2b35378d6654ba00a48737f596553445214aa..7d21f3ec394b53461ca5fb73449b551fbe6e96aa 100644 --- a/src/main/java/org/bukkit/craftbukkit/event/CraftEventFactory.java +++ b/src/main/java/org/bukkit/craftbukkit/event/CraftEventFactory.java -@@ -406,13 +406,18 @@ public class CraftEventFactory { +@@ -410,13 +410,18 @@ public class CraftEventFactory { } org.bukkit.inventory.ItemStack item; diff --git a/patches/server/0349-Fix-item-duplication-and-teleport-issues.patch b/patches/server/0349-Fix-item-duplication-and-teleport-issues.patch index 9e2640a497..3482c69ed8 100644 --- a/patches/server/0349-Fix-item-duplication-and-teleport-issues.patch +++ b/patches/server/0349-Fix-item-duplication-and-teleport-issues.patch @@ -124,10 +124,10 @@ index 92bb0c63330ad3a4cb13b2dc655020714e9b1ffd..cc1189c2d7dc57ba8f29aad4ba5d2a07 } } diff --git a/src/main/java/org/bukkit/craftbukkit/event/CraftEventFactory.java b/src/main/java/org/bukkit/craftbukkit/event/CraftEventFactory.java -index 3ba695a29dcf9e7137dae16835e6f7a375d560f7..e0cbef395c479da40dc7079835f0eae1ee122da1 100644 +index 7d21f3ec394b53461ca5fb73449b551fbe6e96aa..408f677337759f529fa41f6ba2b516b71a7940f1 100644 --- a/src/main/java/org/bukkit/craftbukkit/event/CraftEventFactory.java +++ b/src/main/java/org/bukkit/craftbukkit/event/CraftEventFactory.java -@@ -899,6 +899,11 @@ public class CraftEventFactory { +@@ -903,6 +903,11 @@ public class CraftEventFactory { } public static EntityDeathEvent callEntityDeathEvent(net.minecraft.world.entity.LivingEntity victim, DamageSource damageSource, List drops) { @@ -139,7 +139,7 @@ index 3ba695a29dcf9e7137dae16835e6f7a375d560f7..e0cbef395c479da40dc7079835f0eae1 CraftLivingEntity entity = (CraftLivingEntity) victim.getBukkitEntity(); CraftDamageSource bukkitDamageSource = new CraftDamageSource(damageSource); EntityDeathEvent event = new EntityDeathEvent(entity, bukkitDamageSource, drops, victim.getExpReward(damageSource.getEntity())); -@@ -913,11 +918,13 @@ public class CraftEventFactory { +@@ -917,11 +922,13 @@ public class CraftEventFactory { playDeathSound(victim, event); // Paper end victim.expToDrop = event.getDroppedExp(); diff --git a/patches/server/0357-ExperienceOrb-merging-stacking-API-and-fixes.patch b/patches/server/0357-ExperienceOrb-merging-stacking-API-and-fixes.patch index 4afcd62001..6d45bdaa2f 100644 --- a/patches/server/0357-ExperienceOrb-merging-stacking-API-and-fixes.patch +++ b/patches/server/0357-ExperienceOrb-merging-stacking-API-and-fixes.patch @@ -77,10 +77,10 @@ index 5a7d314ec0562e472f5dc45924a7b24841cff126..650e4a01cecc4cc08e7ff9ebcc4c3670 public java.util.UUID getTriggerEntityId() { return getHandle().triggerEntityId; diff --git a/src/main/java/org/bukkit/craftbukkit/event/CraftEventFactory.java b/src/main/java/org/bukkit/craftbukkit/event/CraftEventFactory.java -index e0cbef395c479da40dc7079835f0eae1ee122da1..ec364ab90df6276c1976e876337636f4bb06d097 100644 +index 408f677337759f529fa41f6ba2b516b71a7940f1..1177a9310f686f3b4d75a713cdac75c5628e8bbb 100644 --- a/src/main/java/org/bukkit/craftbukkit/event/CraftEventFactory.java +++ b/src/main/java/org/bukkit/craftbukkit/event/CraftEventFactory.java -@@ -708,15 +708,29 @@ public class CraftEventFactory { +@@ -712,15 +712,29 @@ public class CraftEventFactory { if (entity instanceof net.minecraft.world.entity.ExperienceOrb xp) { double radius = world.spigotConfig.expMerge; if (radius > 0) { diff --git a/patches/server/0379-Add-BlockStateMeta-clearBlockState.patch b/patches/server/0379-Add-BlockStateMeta-clearBlockState.patch index 802f698e6f..680235a49a 100644 --- a/patches/server/0379-Add-BlockStateMeta-clearBlockState.patch +++ b/patches/server/0379-Add-BlockStateMeta-clearBlockState.patch @@ -5,10 +5,10 @@ Subject: [PATCH] Add BlockStateMeta#clearBlockState diff --git a/src/main/java/org/bukkit/craftbukkit/inventory/CraftMetaBlockState.java b/src/main/java/org/bukkit/craftbukkit/inventory/CraftMetaBlockState.java -index 80ace77a9b11d63a1b2271c868c59711f5d2f89d..4faada5f974214f3054dc1bec9c79e2600c8df48 100644 +index 301d883a7626e3abd222517400367fc40d6fa2bd..23dbc56edf0d16cf07ced2899942abae28397694 100644 --- a/src/main/java/org/bukkit/craftbukkit/inventory/CraftMetaBlockState.java +++ b/src/main/java/org/bukkit/craftbukkit/inventory/CraftMetaBlockState.java -@@ -195,6 +195,13 @@ public class CraftMetaBlockState extends CraftMetaItem implements BlockStateMeta +@@ -198,6 +198,13 @@ public class CraftMetaBlockState extends CraftMetaItem implements BlockStateMeta return this.blockEntityTag != null; } @@ -22,3 +22,21 @@ index 80ace77a9b11d63a1b2271c868c59711f5d2f89d..4faada5f974214f3054dc1bec9c79e26 @Override public BlockState getBlockState() { return (this.blockEntityTag != null) ? this.blockEntityTag.copy() : CraftMetaBlockState.getBlockState(this.material, null); +diff --git a/src/main/java/org/bukkit/craftbukkit/inventory/CraftMetaShield.java b/src/main/java/org/bukkit/craftbukkit/inventory/CraftMetaShield.java +index 3542c6e72f5ff459d50b73fa210ea835f52dfa49..c8eec04685456d89cb41466cddcc3975d0ceeb29 100644 +--- a/src/main/java/org/bukkit/craftbukkit/inventory/CraftMetaShield.java ++++ b/src/main/java/org/bukkit/craftbukkit/inventory/CraftMetaShield.java +@@ -257,6 +257,13 @@ public class CraftMetaShield extends CraftMetaItem implements ShieldMeta, BlockS + this.banner = (Banner) blockState; + } + ++ // Paper start - add method to clear block state ++ @Override ++ public void clearBlockState() { ++ this.banner = null; ++ } ++ // Paper end - add method to clear block state ++ + private static Banner getBlockState(DyeColor color) { + BlockPos pos = BlockPos.ZERO; + Material stateMaterial = CraftMetaShield.shieldToBannerHack(color); diff --git a/patches/server/0380-Convert-legacy-attributes-in-Item-Meta.patch b/patches/server/0380-Convert-legacy-attributes-in-Item-Meta.patch index b929596c4e..76437f1a9b 100644 --- a/patches/server/0380-Convert-legacy-attributes-in-Item-Meta.patch +++ b/patches/server/0380-Convert-legacy-attributes-in-Item-Meta.patch @@ -30,10 +30,10 @@ index de40e522960469b98f987bd688489740446d9f85..5678d2007d5adf45dec0638c5dd848b6 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 69be26f8f47854f39cfed0559d944ef4f983c0f3..0b87cfbdf039ee5bc017d2b1783c7c4853047952 100644 +index 97c40582bca095532fff9a81515f38ea4ac527e0..5c76ba7f9ceb285d27e18369172612205be96224 100644 --- a/src/main/java/org/bukkit/craftbukkit/inventory/CraftMetaItem.java +++ b/src/main/java/org/bukkit/craftbukkit/inventory/CraftMetaItem.java -@@ -695,7 +695,7 @@ class CraftMetaItem implements ItemMeta, Damageable, Repairable, BlockDataMeta { +@@ -702,7 +702,7 @@ class CraftMetaItem implements ItemMeta, Damageable, Repairable, BlockDataMeta { AttributeModifier attribMod = CraftAttributeInstance.convert(nmsModifier); diff --git a/patches/server/0384-Add-PrepareResultEvent.patch b/patches/server/0384-Add-PrepareResultEvent.patch index 05484fe151..24f55e8025 100644 --- a/patches/server/0384-Add-PrepareResultEvent.patch +++ b/patches/server/0384-Add-PrepareResultEvent.patch @@ -8,7 +8,7 @@ Adds a new event for all crafting stations that generate a result slot item Anvil, Grindstone and Smithing now extend this event diff --git a/src/main/java/net/minecraft/world/inventory/AnvilMenu.java b/src/main/java/net/minecraft/world/inventory/AnvilMenu.java -index c6ec9fc6ccde2a5c086a2bfe32686954c074c31d..7198dc9ffc9a37dab3654e12aa497c442a9993c5 100644 +index ffda2c984c5683edb38a56f04c53b0ea339e08fc..d685511104ac552dfc9ae2111e1bfb60fa812102 100644 --- a/src/main/java/net/minecraft/world/inventory/AnvilMenu.java +++ b/src/main/java/net/minecraft/world/inventory/AnvilMenu.java @@ -327,6 +327,7 @@ public class AnvilMenu extends ItemCombinerMenu { @@ -56,7 +56,7 @@ index 62432c347b86fc79ab529a7dde66bef32d0424dd..be840717e180b6b5abd14db6cc926334 } diff --git a/src/main/java/net/minecraft/world/inventory/LoomMenu.java b/src/main/java/net/minecraft/world/inventory/LoomMenu.java -index fb7027985c6442fc50573e96031a05a3c64f4426..4bd720a97da27c4fd97788d4c504c0174f0f6c25 100644 +index 69ed0753c224cb7746762b4b94c4d79d608951b8..2de558dd205a1078fdcac1bce256d059b9bf5d5f 100644 --- a/src/main/java/net/minecraft/world/inventory/LoomMenu.java +++ b/src/main/java/net/minecraft/world/inventory/LoomMenu.java @@ -249,7 +249,8 @@ public class LoomMenu extends AbstractContainerMenu { @@ -82,7 +82,7 @@ index 0735705def4f9505b7f16df2497cc78bbf5a8373..86e51fcce767d265ee0d3beb611be211 @Override diff --git a/src/main/java/net/minecraft/world/inventory/StonecutterMenu.java b/src/main/java/net/minecraft/world/inventory/StonecutterMenu.java -index 04d9793a83c724350f74616558f650082f9805d9..bb29107cb15e2ec644a14cabb3cf91f4bde5471d 100644 +index 30ea1f9e97db86a2ad7baeea4f5a76c821874daa..5b4f03128499b0c1a4b8c5f5ccd17e4bdb391e81 100644 --- a/src/main/java/net/minecraft/world/inventory/StonecutterMenu.java +++ b/src/main/java/net/minecraft/world/inventory/StonecutterMenu.java @@ -182,6 +182,7 @@ public class StonecutterMenu extends AbstractContainerMenu { @@ -94,13 +94,13 @@ index 04d9793a83c724350f74616558f650082f9805d9..bb29107cb15e2ec644a14cabb3cf91f4 private static SingleRecipeInput createRecipeInput(Container inventory) { diff --git a/src/main/java/org/bukkit/craftbukkit/event/CraftEventFactory.java b/src/main/java/org/bukkit/craftbukkit/event/CraftEventFactory.java -index ec364ab90df6276c1976e876337636f4bb06d097..3159e52006ad348bfce4905dcb0987222e4894a5 100644 +index 1177a9310f686f3b4d75a713cdac75c5628e8bbb..838ad7bc8a7488adf52d462e1a3f2faa275bebd0 100644 --- a/src/main/java/org/bukkit/craftbukkit/event/CraftEventFactory.java +++ b/src/main/java/org/bukkit/craftbukkit/event/CraftEventFactory.java -@@ -1666,6 +1666,12 @@ public class CraftEventFactory { +@@ -1679,6 +1679,12 @@ public class CraftEventFactory { } - public static PrepareAnvilEvent callPrepareAnvilEvent(InventoryView view, ItemStack item) { + public static PrepareAnvilEvent callPrepareAnvilEvent(AnvilView view, ItemStack item) { + // Paper start - Add PrepareResultEvent + if (true) { + view.getTopInventory().setItem(net.minecraft.world.inventory.AnvilMenu.RESULT_SLOT, CraftItemStack.asCraftMirror(item)); @@ -110,7 +110,7 @@ index ec364ab90df6276c1976e876337636f4bb06d097..3159e52006ad348bfce4905dcb098722 PrepareAnvilEvent event = new PrepareAnvilEvent(view, CraftItemStack.asCraftMirror(item).clone()); event.getView().getPlayer().getServer().getPluginManager().callEvent(event); event.getInventory().setItem(2, event.getResult()); -@@ -1673,6 +1679,12 @@ public class CraftEventFactory { +@@ -1686,6 +1692,12 @@ public class CraftEventFactory { } public static PrepareGrindstoneEvent callPrepareGrindstoneEvent(InventoryView view, ItemStack item) { @@ -123,7 +123,7 @@ index ec364ab90df6276c1976e876337636f4bb06d097..3159e52006ad348bfce4905dcb098722 PrepareGrindstoneEvent event = new PrepareGrindstoneEvent(view, CraftItemStack.asCraftMirror(item).clone()); event.getView().getPlayer().getServer().getPluginManager().callEvent(event); event.getInventory().setItem(2, event.getResult()); -@@ -1680,12 +1692,39 @@ public class CraftEventFactory { +@@ -1693,12 +1705,39 @@ public class CraftEventFactory { } public static PrepareSmithingEvent callPrepareSmithingEvent(InventoryView view, ItemStack item) { @@ -145,8 +145,8 @@ index ec364ab90df6276c1976e876337636f4bb06d097..3159e52006ad348bfce4905dcb098722 + InventoryView view = container.getBukkitView(); + org.bukkit.inventory.ItemStack origItem = view.getTopInventory().getItem(resultSlot); + CraftItemStack result = origItem != null ? CraftItemStack.asCraftCopy(origItem) : null; -+ if (view.getTopInventory() instanceof org.bukkit.inventory.AnvilInventory) { -+ event = new PrepareAnvilEvent(view, result); ++ if (view.getTopInventory() instanceof org.bukkit.inventory.AnvilInventory && view instanceof AnvilView anvilView) { ++ event = new PrepareAnvilEvent(anvilView, result); + } else if (view.getTopInventory() instanceof org.bukkit.inventory.GrindstoneInventory) { + event = new PrepareGrindstoneEvent(view, result); + } else if (view.getTopInventory() instanceof org.bukkit.inventory.SmithingInventory) { diff --git a/patches/server/0401-Add-BellRingEvent.patch b/patches/server/0401-Add-BellRingEvent.patch index 934d70c696..1e306374a2 100644 --- a/patches/server/0401-Add-BellRingEvent.patch +++ b/patches/server/0401-Add-BellRingEvent.patch @@ -7,10 +7,10 @@ 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 3159e52006ad348bfce4905dcb0987222e4894a5..c803948c713fa898430f478dddfb2a75f6d355ef 100644 +index a3e359d174e4c175e49a6e7c03cbca0661cf8b34..2596159784a6ae0502b9a1b5a7cc573966021380 100644 --- a/src/main/java/org/bukkit/craftbukkit/event/CraftEventFactory.java +++ b/src/main/java/org/bukkit/craftbukkit/event/CraftEventFactory.java -@@ -372,10 +372,11 @@ public class CraftEventFactory { +@@ -376,10 +376,11 @@ public class CraftEventFactory { return tradeSelectEvent; } diff --git a/patches/server/0406-Add-more-Evoker-API.patch b/patches/server/0405-Add-more-Evoker-API.patch similarity index 100% rename from patches/server/0406-Add-more-Evoker-API.patch rename to patches/server/0405-Add-more-Evoker-API.patch diff --git a/patches/server/0405-PortalCreateEvent-needs-to-know-its-entity.patch b/patches/server/0405-PortalCreateEvent-needs-to-know-its-entity.patch deleted file mode 100644 index 2a196acb45..0000000000 --- a/patches/server/0405-PortalCreateEvent-needs-to-know-its-entity.patch +++ /dev/null @@ -1,119 +0,0 @@ -From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 -From: Mariell Hoversholm -Date: Fri, 21 Aug 2020 20:57:54 +0200 -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 cc8825acea0d84b36194313656a6f70d8c049072..7f7445a2b68fd2e6e5fcd509d950a0f8d680c1fe 100644 ---- a/src/main/java/net/minecraft/world/item/ItemStack.java -+++ b/src/main/java/net/minecraft/world/item/ItemStack.java -@@ -522,7 +522,7 @@ public final class ItemStack implements DataComponentHolder { - net.minecraft.world.level.block.state.BlockState block = world.getBlockState(newblockposition); - - if (!(block.getBlock() instanceof BaseEntityBlock)) { // Containers get placed automatically -- block.onPlace(world, newblockposition, oldBlock, true); -+ block.onPlace(world, newblockposition, oldBlock, true, context); // Paper - pass context - } - - 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 e499a5eb843af3e2417bcb31add3c63443c0deff..993538f613e52ecd009f01e7b68fddba76b6a3e8 100644 ---- a/src/main/java/net/minecraft/world/level/block/BaseFireBlock.java -+++ b/src/main/java/net/minecraft/world/level/block/BaseFireBlock.java -@@ -144,12 +144,19 @@ public abstract class BaseFireBlock extends Block { - - @Override - protected void onPlace(BlockState state, Level world, BlockPos pos, BlockState oldState, boolean notify) { -+ // Paper start - UseOnContext param -+ this.onPlace(state, world, pos, oldState, notify, null); -+ } -+ -+ @Override -+ protected void onPlace(BlockState state, Level world, BlockPos pos, BlockState oldState, boolean notify, @javax.annotation.Nullable net.minecraft.world.item.context.UseOnContext context) { -+ // Paper end - UseOnContext param - if (!oldState.is(state.getBlock())) { - if (BaseFireBlock.inPortalDimension(world)) { - Optional optional = PortalShape.findEmptyPortalShape(world, pos, Direction.Axis.X); - - if (optional.isPresent()) { -- ((PortalShape) optional.get()).createPortalBlocks(); -+ ((PortalShape) optional.get()).createPortalBlocks(context); // Paper - pass context param - return; - } - } -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 ceaa2a7048afc4955d3695af5291e83a79d83c5d..5dad1aa26a8908cba6a08398a4bad27f31d4c2c0 100644 ---- a/src/main/java/net/minecraft/world/level/block/FireBlock.java -+++ b/src/main/java/net/minecraft/world/level/block/FireBlock.java -@@ -368,8 +368,10 @@ public class FireBlock extends BaseFireBlock { - } - - @Override -- protected void onPlace(BlockState state, Level world, BlockPos pos, BlockState oldState, boolean notify) { -- super.onPlace(state, world, pos, oldState, notify); -+ // Paper start - UseOnContext param -+ protected void onPlace(BlockState state, Level world, BlockPos pos, BlockState oldState, boolean notify, net.minecraft.world.item.context.UseOnContext context) { -+ super.onPlace(state, world, pos, oldState, notify, context); -+ // Paper end - UseOnContext param - world.scheduleTick(pos, (Block) this, FireBlock.getFireTickDelay(world.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 34f03184f018d00be7c5884f29f98a9ebe461475..6fe078fdf619c4df664f1dce6a0f5d202c21b35e 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 -@@ -154,6 +154,12 @@ public abstract class BlockBehaviour implements FeatureElement { - DebugPackets.sendNeighborsUpdatePacket(world, pos); - } - -+ // Paper start - UseOnContext param -+ protected void onPlace(BlockState state, Level world, BlockPos pos, BlockState oldState, boolean notify, net.minecraft.world.item.context.UseOnContext context) { -+ this.onPlace(state, world, pos, oldState, notify); -+ } -+ // Paper end - UseOnContext param -+ - protected void onPlace(BlockState state, Level world, BlockPos pos, BlockState oldState, boolean notify) { - org.spigotmc.AsyncCatcher.catchOp("block onPlace"); // Spigot - } -@@ -1080,6 +1086,12 @@ public abstract class BlockBehaviour implements FeatureElement { - this.getBlock().updateIndirectNeighbourShapes(this.asState(), world, pos, flags, maxUpdateDepth); - } - -+ // Paper start -+ public void onPlace(Level world, BlockPos pos, BlockState state, boolean notify, net.minecraft.world.item.context.UseOnContext context) { -+ this.getBlock().onPlace(this.asState(), world, pos, state, notify, context); -+ } -+ // Paper end -+ - public void onPlace(Level world, BlockPos pos, BlockState state, boolean notify) { - this.getBlock().onPlace(this.asState(), world, pos, state, 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 bb22b12b05de29bed00e433630c91f233fa9a366..57139a0b8adcd1ea25cd100be78402681856ee75 100644 ---- a/src/main/java/net/minecraft/world/level/portal/PortalShape.java -+++ b/src/main/java/net/minecraft/world/level/portal/PortalShape.java -@@ -189,7 +189,14 @@ public class PortalShape { - } - - // CraftBukkit start - return boolean -+ @io.papermc.paper.annotation.DoNotUse @Deprecated // Paper - public boolean createPortalBlocks() { -+ // Paper start - UseOnContext param -+ return this.createPortalBlocks(null); -+ } -+ -+ public boolean createPortalBlocks(@Nullable net.minecraft.world.item.context.UseOnContext useOnContext) { -+ // Paper end - UseOnContext param - org.bukkit.World bworld = this.level.getMinecraftWorld().getWorld(); - - // Copy below for loop -@@ -199,7 +206,7 @@ public class PortalShape { - this.blocks.setBlock(blockposition, iblockdata, 18); - }); - -- PortalCreateEvent event = new PortalCreateEvent((java.util.List) (java.util.List) this.blocks.getList(), bworld, null, PortalCreateEvent.CreateReason.FIRE); -+ PortalCreateEvent event = new PortalCreateEvent((java.util.List) (java.util.List) blocks.getList(), bworld, useOnContext == null || useOnContext.getPlayer() == null ? null : useOnContext.getPlayer().getBukkitEntity(), PortalCreateEvent.CreateReason.FIRE); // Paper - pass entity param - this.level.getMinecraftWorld().getServer().server.getPluginManager().callEvent(event); - - if (event.isCancelled()) { diff --git a/patches/server/0407-Add-methods-to-get-translation-keys.patch b/patches/server/0406-Add-methods-to-get-translation-keys.patch similarity index 100% rename from patches/server/0407-Add-methods-to-get-translation-keys.patch rename to patches/server/0406-Add-methods-to-get-translation-keys.patch diff --git a/patches/server/0408-Create-HoverEvent-from-ItemStack-Entity.patch b/patches/server/0407-Create-HoverEvent-from-ItemStack-Entity.patch similarity index 100% rename from patches/server/0408-Create-HoverEvent-from-ItemStack-Entity.patch rename to patches/server/0407-Create-HoverEvent-from-ItemStack-Entity.patch diff --git a/patches/server/0409-Cache-block-data-strings.patch b/patches/server/0408-Cache-block-data-strings.patch similarity index 100% rename from patches/server/0409-Cache-block-data-strings.patch rename to patches/server/0408-Cache-block-data-strings.patch diff --git a/patches/server/0410-Fix-Entity-Teleportation-and-cancel-velocity-if-tele.patch b/patches/server/0409-Fix-Entity-Teleportation-and-cancel-velocity-if-tele.patch similarity index 100% rename from patches/server/0410-Fix-Entity-Teleportation-and-cancel-velocity-if-tele.patch rename to patches/server/0409-Fix-Entity-Teleportation-and-cancel-velocity-if-tele.patch diff --git a/patches/server/0411-Add-additional-open-container-api-to-HumanEntity.patch b/patches/server/0410-Add-additional-open-container-api-to-HumanEntity.patch similarity index 100% rename from patches/server/0411-Add-additional-open-container-api-to-HumanEntity.patch rename to patches/server/0410-Add-additional-open-container-api-to-HumanEntity.patch diff --git a/patches/server/0412-Cache-DataFixerUpper-Rewrite-Rules-on-demand.patch b/patches/server/0411-Cache-DataFixerUpper-Rewrite-Rules-on-demand.patch similarity index 100% rename from patches/server/0412-Cache-DataFixerUpper-Rewrite-Rules-on-demand.patch rename to patches/server/0411-Cache-DataFixerUpper-Rewrite-Rules-on-demand.patch diff --git a/patches/server/0413-Extend-block-drop-capture-to-capture-all-items-added.patch b/patches/server/0412-Extend-block-drop-capture-to-capture-all-items-added.patch similarity index 100% rename from patches/server/0413-Extend-block-drop-capture-to-capture-all-items-added.patch rename to patches/server/0412-Extend-block-drop-capture-to-capture-all-items-added.patch diff --git a/patches/server/0414-Expose-the-Entity-Counter-to-allow-plugins-to-use-va.patch b/patches/server/0413-Expose-the-Entity-Counter-to-allow-plugins-to-use-va.patch similarity index 100% rename from patches/server/0414-Expose-the-Entity-Counter-to-allow-plugins-to-use-va.patch rename to patches/server/0413-Expose-the-Entity-Counter-to-allow-plugins-to-use-va.patch diff --git a/patches/server/0415-Lazily-track-plugin-scoreboards-by-default.patch b/patches/server/0414-Lazily-track-plugin-scoreboards-by-default.patch similarity index 100% rename from patches/server/0415-Lazily-track-plugin-scoreboards-by-default.patch rename to patches/server/0414-Lazily-track-plugin-scoreboards-by-default.patch diff --git a/patches/server/0416-Entity-isTicking.patch b/patches/server/0415-Entity-isTicking.patch similarity index 100% rename from patches/server/0416-Entity-isTicking.patch rename to patches/server/0415-Entity-isTicking.patch diff --git a/patches/server/0417-Fix-deop-kicking-non-whitelisted-player-when-white-l.patch b/patches/server/0416-Fix-deop-kicking-non-whitelisted-player-when-white-l.patch similarity index 100% rename from patches/server/0417-Fix-deop-kicking-non-whitelisted-player-when-white-l.patch rename to patches/server/0416-Fix-deop-kicking-non-whitelisted-player-when-white-l.patch diff --git a/patches/server/0418-Fix-Concurrency-issue-in-ShufflingList.patch b/patches/server/0417-Fix-Concurrency-issue-in-ShufflingList.patch similarity index 100% rename from patches/server/0418-Fix-Concurrency-issue-in-ShufflingList.patch rename to patches/server/0417-Fix-Concurrency-issue-in-ShufflingList.patch diff --git a/patches/server/0419-Reset-Ender-Crystals-on-Dragon-Spawn.patch b/patches/server/0418-Reset-Ender-Crystals-on-Dragon-Spawn.patch similarity index 100% rename from patches/server/0419-Reset-Ender-Crystals-on-Dragon-Spawn.patch rename to patches/server/0418-Reset-Ender-Crystals-on-Dragon-Spawn.patch diff --git a/patches/server/0420-Fix-for-large-move-vectors-crashing-server.patch b/patches/server/0419-Fix-for-large-move-vectors-crashing-server.patch similarity index 100% rename from patches/server/0420-Fix-for-large-move-vectors-crashing-server.patch rename to patches/server/0419-Fix-for-large-move-vectors-crashing-server.patch diff --git a/patches/server/0421-Optimise-getType-calls.patch b/patches/server/0420-Optimise-getType-calls.patch similarity index 100% rename from patches/server/0421-Optimise-getType-calls.patch rename to patches/server/0420-Optimise-getType-calls.patch diff --git a/patches/server/0422-Villager-resetOffers.patch b/patches/server/0421-Villager-resetOffers.patch similarity index 100% rename from patches/server/0422-Villager-resetOffers.patch rename to patches/server/0421-Villager-resetOffers.patch diff --git a/patches/server/0423-Retain-block-place-order-when-capturing-blockstates.patch b/patches/server/0422-Retain-block-place-order-when-capturing-blockstates.patch similarity index 93% rename from patches/server/0423-Retain-block-place-order-when-capturing-blockstates.patch rename to patches/server/0422-Retain-block-place-order-when-capturing-blockstates.patch index e7d46e41eb..bac1a1074b 100644 --- a/patches/server/0423-Retain-block-place-order-when-capturing-blockstates.patch +++ b/patches/server/0422-Retain-block-place-order-when-capturing-blockstates.patch @@ -10,7 +10,7 @@ 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 5a3a89c568d42a2adbc2b6e2631fd4b70e54f0bf..cfd5d3e50197b38d0ffef6debbb7f5b4b208382a 100644 +index 60b04a16c6cb0a7109bda5c16e23c1d56ab7afad..144d243e0d6ba3ae3f0b0bf457fa516e2b4f416f 100644 --- a/src/main/java/net/minecraft/world/level/Level.java +++ b/src/main/java/net/minecraft/world/level/Level.java @@ -152,7 +152,7 @@ public abstract class Level implements LevelAccessor, AutoCloseable { diff --git a/patches/server/0424-Fix-item-locations-dropped-from-campfires.patch b/patches/server/0423-Fix-item-locations-dropped-from-campfires.patch similarity index 100% rename from patches/server/0424-Fix-item-locations-dropped-from-campfires.patch rename to patches/server/0423-Fix-item-locations-dropped-from-campfires.patch diff --git a/patches/server/0425-Fix-bell-block-entity-memory-leak.patch b/patches/server/0424-Fix-bell-block-entity-memory-leak.patch similarity index 100% rename from patches/server/0425-Fix-bell-block-entity-memory-leak.patch rename to patches/server/0424-Fix-bell-block-entity-memory-leak.patch diff --git a/patches/server/0426-Avoid-error-bubbling-up-when-item-stack-is-empty-in-.patch b/patches/server/0425-Avoid-error-bubbling-up-when-item-stack-is-empty-in-.patch similarity index 100% rename from patches/server/0426-Avoid-error-bubbling-up-when-item-stack-is-empty-in-.patch rename to patches/server/0425-Avoid-error-bubbling-up-when-item-stack-is-empty-in-.patch diff --git a/patches/server/0427-Add-getOfflinePlayerIfCached-String.patch b/patches/server/0426-Add-getOfflinePlayerIfCached-String.patch similarity index 100% rename from patches/server/0427-Add-getOfflinePlayerIfCached-String.patch rename to patches/server/0426-Add-getOfflinePlayerIfCached-String.patch diff --git a/patches/server/0428-Add-ignore-discounts-API.patch b/patches/server/0427-Add-ignore-discounts-API.patch similarity index 100% rename from patches/server/0428-Add-ignore-discounts-API.patch rename to patches/server/0427-Add-ignore-discounts-API.patch diff --git a/patches/server/0429-Toggle-for-removing-existing-dragon.patch b/patches/server/0428-Toggle-for-removing-existing-dragon.patch similarity index 100% rename from patches/server/0429-Toggle-for-removing-existing-dragon.patch rename to patches/server/0428-Toggle-for-removing-existing-dragon.patch diff --git a/patches/server/0430-Fix-client-lag-on-advancement-loading.patch b/patches/server/0429-Fix-client-lag-on-advancement-loading.patch similarity index 95% rename from patches/server/0430-Fix-client-lag-on-advancement-loading.patch rename to patches/server/0429-Fix-client-lag-on-advancement-loading.patch index 80a48d30b1..f93c34b2cb 100644 --- a/patches/server/0430-Fix-client-lag-on-advancement-loading.patch +++ b/patches/server/0429-Fix-client-lag-on-advancement-loading.patch @@ -15,7 +15,7 @@ manually reload the advancement data for all players, which normally takes place as a part of the datapack reloading. diff --git a/src/main/java/org/bukkit/craftbukkit/util/CraftMagicNumbers.java b/src/main/java/org/bukkit/craftbukkit/util/CraftMagicNumbers.java -index 22fc5bf2024f70f85cc278ddd374bff0a6d626fa..12c4f68623119427a30c1eec28b4aff0400aa8c0 100644 +index 2979277847635c0bef54d06be30e5051557cc5e9..5fe9b94c342a91d6fb3bc582ac7e84cb25b90a9e 100644 --- a/src/main/java/org/bukkit/craftbukkit/util/CraftMagicNumbers.java +++ b/src/main/java/org/bukkit/craftbukkit/util/CraftMagicNumbers.java @@ -317,7 +317,13 @@ public final class CraftMagicNumbers implements UnsafeValues { diff --git a/patches/server/0431-Item-no-age-no-player-pickup.patch b/patches/server/0430-Item-no-age-no-player-pickup.patch similarity index 100% rename from patches/server/0431-Item-no-age-no-player-pickup.patch rename to patches/server/0430-Item-no-age-no-player-pickup.patch diff --git a/patches/server/0432-Beacon-API-custom-effect-ranges.patch b/patches/server/0431-Beacon-API-custom-effect-ranges.patch similarity index 100% rename from patches/server/0432-Beacon-API-custom-effect-ranges.patch rename to patches/server/0431-Beacon-API-custom-effect-ranges.patch diff --git a/patches/server/0433-Add-API-for-quit-reason.patch b/patches/server/0432-Add-API-for-quit-reason.patch similarity index 98% rename from patches/server/0433-Add-API-for-quit-reason.patch rename to patches/server/0432-Add-API-for-quit-reason.patch index 6a3fe2a2e8..22a6ea3114 100644 --- a/patches/server/0433-Add-API-for-quit-reason.patch +++ b/patches/server/0432-Add-API-for-quit-reason.patch @@ -52,7 +52,7 @@ index a3c67bdc2c08b3550534f37d15b0db90b479e34f..24bf661e76fb421a8be565d9ea68edf7 this.connection.disconnect(disconnectiondetails); })); diff --git a/src/main/java/net/minecraft/server/players/PlayerList.java b/src/main/java/net/minecraft/server/players/PlayerList.java -index 51426da5f3e7b9f8631880a04cef0a58b00233df..ec080eb8e3930b6c5cc08c3061535b379a99a7d1 100644 +index c322d8284b4d17d6b9a949d85849892d7c88817e..f11309e0a067546aa5b14272156087664dbdd021 100644 --- a/src/main/java/net/minecraft/server/players/PlayerList.java +++ b/src/main/java/net/minecraft/server/players/PlayerList.java @@ -570,7 +570,7 @@ public abstract class PlayerList { diff --git a/patches/server/0434-Add-Wandering-Trader-spawn-rate-config-options.patch b/patches/server/0433-Add-Wandering-Trader-spawn-rate-config-options.patch similarity index 100% rename from patches/server/0434-Add-Wandering-Trader-spawn-rate-config-options.patch rename to patches/server/0433-Add-Wandering-Trader-spawn-rate-config-options.patch diff --git a/patches/server/0435-Add-Destroy-Speed-API.patch b/patches/server/0434-Add-Destroy-Speed-API.patch similarity index 100% rename from patches/server/0435-Add-Destroy-Speed-API.patch rename to patches/server/0434-Add-Destroy-Speed-API.patch diff --git a/patches/server/0436-Fix-Player-spawnParticle-x-y-z-precision-loss.patch b/patches/server/0435-Fix-Player-spawnParticle-x-y-z-precision-loss.patch similarity index 93% rename from patches/server/0436-Fix-Player-spawnParticle-x-y-z-precision-loss.patch rename to patches/server/0435-Fix-Player-spawnParticle-x-y-z-precision-loss.patch index 60ac65b823..ed356df971 100644 --- a/patches/server/0436-Fix-Player-spawnParticle-x-y-z-precision-loss.patch +++ b/patches/server/0435-Fix-Player-spawnParticle-x-y-z-precision-loss.patch @@ -5,7 +5,7 @@ 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 99799563942693ae36188092d76054fdff97d4ca..766242aa6930b37630be77e421b4b5675c5feb0d 100644 +index 1292e7b9889777448b728ef3bb3ae4cb25d42d61..a3b1a19fb28dfba93ae04ea0859f744ede1579f6 100644 --- a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java +++ b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java @@ -2707,7 +2707,7 @@ public class CraftPlayer extends CraftHumanEntity implements Player { diff --git a/patches/server/0437-Add-LivingEntity-clearActiveItem.patch b/patches/server/0436-Add-LivingEntity-clearActiveItem.patch similarity index 100% rename from patches/server/0437-Add-LivingEntity-clearActiveItem.patch rename to patches/server/0436-Add-LivingEntity-clearActiveItem.patch diff --git a/patches/server/0438-Add-PlayerItemCooldownEvent.patch b/patches/server/0437-Add-PlayerItemCooldownEvent.patch similarity index 100% rename from patches/server/0438-Add-PlayerItemCooldownEvent.patch rename to patches/server/0437-Add-PlayerItemCooldownEvent.patch diff --git a/patches/server/0439-Significantly-improve-performance-of-the-end-generat.patch b/patches/server/0438-Significantly-improve-performance-of-the-end-generat.patch similarity index 100% rename from patches/server/0439-Significantly-improve-performance-of-the-end-generat.patch rename to patches/server/0438-Significantly-improve-performance-of-the-end-generat.patch diff --git a/patches/server/0440-More-lightning-API.patch b/patches/server/0439-More-lightning-API.patch similarity index 100% rename from patches/server/0440-More-lightning-API.patch rename to patches/server/0439-More-lightning-API.patch diff --git a/patches/server/0441-Climbing-should-not-bypass-cramming-gamerule.patch b/patches/server/0440-Climbing-should-not-bypass-cramming-gamerule.patch similarity index 100% rename from patches/server/0441-Climbing-should-not-bypass-cramming-gamerule.patch rename to patches/server/0440-Climbing-should-not-bypass-cramming-gamerule.patch diff --git a/patches/server/0442-Add-missing-default-perms-for-commands.patch b/patches/server/0441-Add-missing-default-perms-for-commands.patch similarity index 100% rename from patches/server/0442-Add-missing-default-perms-for-commands.patch rename to patches/server/0441-Add-missing-default-perms-for-commands.patch diff --git a/patches/server/0443-Add-PlayerShearBlockEvent.patch b/patches/server/0442-Add-PlayerShearBlockEvent.patch similarity index 100% rename from patches/server/0443-Add-PlayerShearBlockEvent.patch rename to patches/server/0442-Add-PlayerShearBlockEvent.patch diff --git a/patches/server/0444-Limit-recipe-packets.patch b/patches/server/0443-Limit-recipe-packets.patch similarity index 100% rename from patches/server/0444-Limit-recipe-packets.patch rename to patches/server/0443-Limit-recipe-packets.patch diff --git a/patches/server/0445-Fix-CraftSound-backwards-compatibility.patch b/patches/server/0444-Fix-CraftSound-backwards-compatibility.patch similarity index 100% rename from patches/server/0445-Fix-CraftSound-backwards-compatibility.patch rename to patches/server/0444-Fix-CraftSound-backwards-compatibility.patch diff --git a/patches/server/0446-Player-Chunk-Load-Unload-Events.patch b/patches/server/0445-Player-Chunk-Load-Unload-Events.patch similarity index 100% rename from patches/server/0446-Player-Chunk-Load-Unload-Events.patch rename to patches/server/0445-Player-Chunk-Load-Unload-Events.patch diff --git a/patches/server/0447-Optimize-Dynamic-get-Missing-Keys.patch b/patches/server/0446-Optimize-Dynamic-get-Missing-Keys.patch similarity index 100% rename from patches/server/0447-Optimize-Dynamic-get-Missing-Keys.patch rename to patches/server/0446-Optimize-Dynamic-get-Missing-Keys.patch diff --git a/patches/server/0448-Expose-LivingEntity-hurt-direction.patch b/patches/server/0447-Expose-LivingEntity-hurt-direction.patch similarity index 100% rename from patches/server/0448-Expose-LivingEntity-hurt-direction.patch rename to patches/server/0447-Expose-LivingEntity-hurt-direction.patch diff --git a/patches/server/0449-Add-OBSTRUCTED-reason-to-BedEnterResult.patch b/patches/server/0448-Add-OBSTRUCTED-reason-to-BedEnterResult.patch similarity index 86% rename from patches/server/0449-Add-OBSTRUCTED-reason-to-BedEnterResult.patch rename to patches/server/0448-Add-OBSTRUCTED-reason-to-BedEnterResult.patch index 5affb3e4f5..e2b1ac7753 100644 --- a/patches/server/0449-Add-OBSTRUCTED-reason-to-BedEnterResult.patch +++ b/patches/server/0448-Add-OBSTRUCTED-reason-to-BedEnterResult.patch @@ -5,10 +5,10 @@ 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 c803948c713fa898430f478dddfb2a75f6d355ef..21c8dcf66847c83f38b57a592cf3b58a68a5657f 100644 +index 2596159784a6ae0502b9a1b5a7cc573966021380..2be5135d3e17c3344ffbdb3f2f55d45eb6753c61 100644 --- a/src/main/java/org/bukkit/craftbukkit/event/CraftEventFactory.java +++ b/src/main/java/org/bukkit/craftbukkit/event/CraftEventFactory.java -@@ -307,6 +307,10 @@ public class CraftEventFactory { +@@ -311,6 +311,10 @@ public class CraftEventFactory { return BedEnterResult.TOO_FAR_AWAY; case NOT_SAFE: return BedEnterResult.NOT_SAFE; diff --git a/patches/server/0450-Fix-crash-from-invalid-ingredient-lists-in-VillagerA.patch b/patches/server/0449-Fix-crash-from-invalid-ingredient-lists-in-VillagerA.patch similarity index 100% rename from patches/server/0450-Fix-crash-from-invalid-ingredient-lists-in-VillagerA.patch rename to patches/server/0449-Fix-crash-from-invalid-ingredient-lists-in-VillagerA.patch diff --git a/patches/server/0451-Add-TargetHitEvent.patch b/patches/server/0450-Add-TargetHitEvent.patch similarity index 100% rename from patches/server/0451-Add-TargetHitEvent.patch rename to patches/server/0450-Add-TargetHitEvent.patch diff --git a/patches/server/0452-MC-4-Fix-item-position-desync.patch b/patches/server/0451-MC-4-Fix-item-position-desync.patch similarity index 100% rename from patches/server/0452-MC-4-Fix-item-position-desync.patch rename to patches/server/0451-MC-4-Fix-item-position-desync.patch diff --git a/patches/server/0453-Additional-Block-Material-API.patch b/patches/server/0452-Additional-Block-Material-API.patch similarity index 100% rename from patches/server/0453-Additional-Block-Material-API.patch rename to patches/server/0452-Additional-Block-Material-API.patch diff --git a/patches/server/0454-Fix-harming-potion-dupe.patch b/patches/server/0453-Fix-harming-potion-dupe.patch similarity index 100% rename from patches/server/0454-Fix-harming-potion-dupe.patch rename to patches/server/0453-Fix-harming-potion-dupe.patch diff --git a/patches/server/0455-API-to-get-Material-from-Boats-and-Minecarts.patch b/patches/server/0454-API-to-get-Material-from-Boats-and-Minecarts.patch similarity index 100% rename from patches/server/0455-API-to-get-Material-from-Boats-and-Minecarts.patch rename to patches/server/0454-API-to-get-Material-from-Boats-and-Minecarts.patch diff --git a/patches/server/0456-Allow-disabling-mob-spawner-spawn-egg-transformation.patch b/patches/server/0455-Allow-disabling-mob-spawner-spawn-egg-transformation.patch similarity index 100% rename from patches/server/0456-Allow-disabling-mob-spawner-spawn-egg-transformation.patch rename to patches/server/0455-Allow-disabling-mob-spawner-spawn-egg-transformation.patch diff --git a/patches/server/0457-Fix-Not-a-string-Map-Conversion-spam.patch b/patches/server/0456-Fix-Not-a-string-Map-Conversion-spam.patch similarity index 100% rename from patches/server/0457-Fix-Not-a-string-Map-Conversion-spam.patch rename to patches/server/0456-Fix-Not-a-string-Map-Conversion-spam.patch diff --git a/patches/server/0458-Add-PlayerFlowerPotManipulateEvent.patch b/patches/server/0457-Add-PlayerFlowerPotManipulateEvent.patch similarity index 100% rename from patches/server/0458-Add-PlayerFlowerPotManipulateEvent.patch rename to patches/server/0457-Add-PlayerFlowerPotManipulateEvent.patch diff --git a/patches/server/0459-Fix-interact-event-not-being-called-sometimes.patch b/patches/server/0458-Fix-interact-event-not-being-called-sometimes.patch similarity index 100% rename from patches/server/0459-Fix-interact-event-not-being-called-sometimes.patch rename to patches/server/0458-Fix-interact-event-not-being-called-sometimes.patch diff --git a/patches/server/0460-Zombie-API-breaking-doors.patch b/patches/server/0459-Zombie-API-breaking-doors.patch similarity index 100% rename from patches/server/0460-Zombie-API-breaking-doors.patch rename to patches/server/0459-Zombie-API-breaking-doors.patch diff --git a/patches/server/0461-Fix-nerfed-slime-when-splitting.patch b/patches/server/0460-Fix-nerfed-slime-when-splitting.patch similarity index 100% rename from patches/server/0461-Fix-nerfed-slime-when-splitting.patch rename to patches/server/0460-Fix-nerfed-slime-when-splitting.patch diff --git a/patches/server/0462-Add-EntityLoadCrossbowEvent.patch b/patches/server/0461-Add-EntityLoadCrossbowEvent.patch similarity index 100% rename from patches/server/0462-Add-EntityLoadCrossbowEvent.patch rename to patches/server/0461-Add-EntityLoadCrossbowEvent.patch diff --git a/patches/server/0463-Add-WorldGameRuleChangeEvent.patch b/patches/server/0462-Add-WorldGameRuleChangeEvent.patch similarity index 100% rename from patches/server/0463-Add-WorldGameRuleChangeEvent.patch rename to patches/server/0462-Add-WorldGameRuleChangeEvent.patch diff --git a/patches/server/0464-Add-ServerResourcesReloadedEvent.patch b/patches/server/0463-Add-ServerResourcesReloadedEvent.patch similarity index 100% rename from patches/server/0464-Add-ServerResourcesReloadedEvent.patch rename to patches/server/0463-Add-ServerResourcesReloadedEvent.patch diff --git a/patches/server/0465-Add-world-settings-for-mobs-picking-up-loot.patch b/patches/server/0464-Add-world-settings-for-mobs-picking-up-loot.patch similarity index 100% rename from patches/server/0465-Add-world-settings-for-mobs-picking-up-loot.patch rename to patches/server/0464-Add-world-settings-for-mobs-picking-up-loot.patch diff --git a/patches/server/0466-Add-BlockFailedDispenseEvent.patch b/patches/server/0465-Add-BlockFailedDispenseEvent.patch similarity index 92% rename from patches/server/0466-Add-BlockFailedDispenseEvent.patch rename to patches/server/0465-Add-BlockFailedDispenseEvent.patch index 835b80d34d..2b4d4bdeac 100644 --- a/patches/server/0466-Add-BlockFailedDispenseEvent.patch +++ b/patches/server/0465-Add-BlockFailedDispenseEvent.patch @@ -20,7 +20,7 @@ index c7256ffbe57c594556ee85134c9ab166f8c0e0c7..94bcbaf7daf7dfe566f508d1170a4339 ItemStack itemstack = tileentitydispenser.getItem(i); DispenseItemBehavior idispensebehavior = this.getDispenseMethod(world, itemstack); diff --git a/src/main/java/net/minecraft/world/level/block/DropperBlock.java b/src/main/java/net/minecraft/world/level/block/DropperBlock.java -index a1599eae0d8e9f0298fc6996ad03b0d6ba78f04f..083ddfb8fffa04dad6eeca2274f290a08e62b5eb 100644 +index a08e8571f3a83afc80c2f1758a9029cd28ed6947..91b514967405115f22edf4255775361a672e5c2f 100644 --- a/src/main/java/net/minecraft/world/level/block/DropperBlock.java +++ b/src/main/java/net/minecraft/world/level/block/DropperBlock.java @@ -60,6 +60,7 @@ public class DropperBlock extends DispenserBlock { @@ -32,10 +32,10 @@ index a1599eae0d8e9f0298fc6996ad03b0d6ba78f04f..083ddfb8fffa04dad6eeca2274f290a0 } else { ItemStack itemstack = tileentitydispenser.getItem(i); diff --git a/src/main/java/org/bukkit/craftbukkit/event/CraftEventFactory.java b/src/main/java/org/bukkit/craftbukkit/event/CraftEventFactory.java -index 21c8dcf66847c83f38b57a592cf3b58a68a5657f..19ca8953facd69a5720652c3bcf1e1e3be34a3a3 100644 +index 2be5135d3e17c3344ffbdb3f2f55d45eb6753c61..c01d4302e145c779cc4031927ab555e1c7748155 100644 --- a/src/main/java/org/bukkit/craftbukkit/event/CraftEventFactory.java +++ b/src/main/java/org/bukkit/craftbukkit/event/CraftEventFactory.java -@@ -2098,4 +2098,12 @@ public class CraftEventFactory { +@@ -2111,4 +2111,12 @@ public class CraftEventFactory { return org.bukkit.craftbukkit.inventory.CraftItemStack.asNMSCopy(event.getPotion()); } // Paper end - WitchReadyPotionEvent diff --git a/patches/server/0467-Add-PlayerLecternPageChangeEvent.patch b/patches/server/0466-Add-PlayerLecternPageChangeEvent.patch similarity index 96% rename from patches/server/0467-Add-PlayerLecternPageChangeEvent.patch rename to patches/server/0466-Add-PlayerLecternPageChangeEvent.patch index 2e62d2becf..15052d962d 100644 --- a/patches/server/0467-Add-PlayerLecternPageChangeEvent.patch +++ b/patches/server/0466-Add-PlayerLecternPageChangeEvent.patch @@ -5,7 +5,7 @@ Subject: [PATCH] Add PlayerLecternPageChangeEvent diff --git a/src/main/java/net/minecraft/world/inventory/LecternMenu.java b/src/main/java/net/minecraft/world/inventory/LecternMenu.java -index 19858ecd7cfaaf0fb09552292bf573bb02b3a6ec..ccba06c419732c63f6b255f5f8c1f7a95f3ecbee 100644 +index 1b3119751617366cf753008d38be566cd7ee2453..df4ae5d37b9aa5b8fb26c5773a47a5a85f831982 100644 --- a/src/main/java/net/minecraft/world/inventory/LecternMenu.java +++ b/src/main/java/net/minecraft/world/inventory/LecternMenu.java @@ -64,6 +64,7 @@ public class LecternMenu extends AbstractContainerMenu { diff --git a/patches/server/0468-Add-PlayerLoomPatternSelectEvent.patch b/patches/server/0467-Add-PlayerLoomPatternSelectEvent.patch similarity index 96% rename from patches/server/0468-Add-PlayerLoomPatternSelectEvent.patch rename to patches/server/0467-Add-PlayerLoomPatternSelectEvent.patch index 4d74c20681..fbbc2f6ae8 100644 --- a/patches/server/0468-Add-PlayerLoomPatternSelectEvent.patch +++ b/patches/server/0467-Add-PlayerLoomPatternSelectEvent.patch @@ -5,7 +5,7 @@ Subject: [PATCH] Add PlayerLoomPatternSelectEvent diff --git a/src/main/java/net/minecraft/world/inventory/LoomMenu.java b/src/main/java/net/minecraft/world/inventory/LoomMenu.java -index 4bd720a97da27c4fd97788d4c504c0174f0f6c25..72ad78659a373213ed1f37498754adaf18f1f68b 100644 +index 2de558dd205a1078fdcac1bce256d059b9bf5d5f..f76ef029132c6a08d4e70585bc440eccdc626b16 100644 --- a/src/main/java/net/minecraft/world/inventory/LoomMenu.java +++ b/src/main/java/net/minecraft/world/inventory/LoomMenu.java @@ -174,8 +174,32 @@ public class LoomMenu extends AbstractContainerMenu { diff --git a/patches/server/0469-Configurable-door-breaking-difficulty.patch b/patches/server/0468-Configurable-door-breaking-difficulty.patch similarity index 100% rename from patches/server/0469-Configurable-door-breaking-difficulty.patch rename to patches/server/0468-Configurable-door-breaking-difficulty.patch diff --git a/patches/server/0470-Empty-commands-shall-not-be-dispatched.patch b/patches/server/0469-Empty-commands-shall-not-be-dispatched.patch similarity index 100% rename from patches/server/0470-Empty-commands-shall-not-be-dispatched.patch rename to patches/server/0469-Empty-commands-shall-not-be-dispatched.patch diff --git a/patches/server/0471-Remove-stale-POIs.patch b/patches/server/0470-Remove-stale-POIs.patch similarity index 100% rename from patches/server/0471-Remove-stale-POIs.patch rename to patches/server/0470-Remove-stale-POIs.patch diff --git a/patches/server/0472-Fix-villager-boat-exploit.patch b/patches/server/0471-Fix-villager-boat-exploit.patch similarity index 93% rename from patches/server/0472-Fix-villager-boat-exploit.patch rename to patches/server/0471-Fix-villager-boat-exploit.patch index 8f9249892b..e835b1ee94 100644 --- a/patches/server/0472-Fix-villager-boat-exploit.patch +++ b/patches/server/0471-Fix-villager-boat-exploit.patch @@ -5,7 +5,7 @@ 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 ec080eb8e3930b6c5cc08c3061535b379a99a7d1..846132dad557b04a3d52184cfb1c0dd35673f8c6 100644 +index f11309e0a067546aa5b14272156087664dbdd021..44422100246a61f8353f26d5149f3e96c8832fea 100644 --- a/src/main/java/net/minecraft/server/players/PlayerList.java +++ b/src/main/java/net/minecraft/server/players/PlayerList.java @@ -595,6 +595,14 @@ public abstract class PlayerList { diff --git a/patches/server/0473-Add-sendOpLevel-API.patch b/patches/server/0472-Add-sendOpLevel-API.patch similarity index 92% rename from patches/server/0473-Add-sendOpLevel-API.patch rename to patches/server/0472-Add-sendOpLevel-API.patch index 25dff52343..d1c8e24cc4 100644 --- a/patches/server/0473-Add-sendOpLevel-API.patch +++ b/patches/server/0472-Add-sendOpLevel-API.patch @@ -5,7 +5,7 @@ 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 846132dad557b04a3d52184cfb1c0dd35673f8c6..5100b2d00452f97849239ca32164eed4345e4024 100644 +index 44422100246a61f8353f26d5149f3e96c8832fea..3c7d31725c4a5dd7728fa394f88d37a0e493e919 100644 --- a/src/main/java/net/minecraft/server/players/PlayerList.java +++ b/src/main/java/net/minecraft/server/players/PlayerList.java @@ -1062,6 +1062,11 @@ public abstract class PlayerList { @@ -32,7 +32,7 @@ index 846132dad557b04a3d52184cfb1c0dd35673f8c6..5100b2d00452f97849239ca32164eed4 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 766242aa6930b37630be77e421b4b5675c5feb0d..7652da85170cd5a64d1b443430b85c388e2939a9 100644 +index a3b1a19fb28dfba93ae04ea0859f744ede1579f6..963ae66acc25602e15134d30d3e496802b17dc41 100644 --- a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java +++ b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java @@ -677,6 +677,15 @@ public class CraftPlayer extends CraftHumanEntity implements Player { diff --git a/patches/server/0474-Add-RegistryAccess-for-managing-Registries.patch b/patches/server/0473-Add-RegistryAccess-for-managing-Registries.patch similarity index 98% rename from patches/server/0474-Add-RegistryAccess-for-managing-Registries.patch rename to patches/server/0473-Add-RegistryAccess-for-managing-Registries.patch index 1c7e1f531e..0ee306bcf5 100644 --- a/patches/server/0474-Add-RegistryAccess-for-managing-Registries.patch +++ b/patches/server/0473-Add-RegistryAccess-for-managing-Registries.patch @@ -12,10 +12,10 @@ public net.minecraft.server.RegistryLayer STATIC_ACCESS diff --git a/src/main/java/io/papermc/paper/registry/PaperRegistries.java b/src/main/java/io/papermc/paper/registry/PaperRegistries.java new file mode 100644 -index 0000000000000000000000000000000000000000..ead718efde812846fefec3e86d896fef7deb3d97 +index 0000000000000000000000000000000000000000..675f5d03478907e3d8284cbea191f01c1eb15769 --- /dev/null +++ b/src/main/java/io/papermc/paper/registry/PaperRegistries.java -@@ -0,0 +1,141 @@ +@@ -0,0 +1,143 @@ +package io.papermc.paper.registry; + +import io.papermc.paper.adventure.PaperAdventure; @@ -35,10 +35,12 @@ index 0000000000000000000000000000000000000000..ead718efde812846fefec3e86d896fef +import org.bukkit.Keyed; +import org.bukkit.MusicInstrument; +import org.bukkit.block.BlockType; ++import org.bukkit.block.banner.PatternType; +import org.bukkit.craftbukkit.CraftGameEvent; +import org.bukkit.craftbukkit.CraftJukeboxSong; +import org.bukkit.craftbukkit.CraftMusicInstrument; +import org.bukkit.craftbukkit.block.CraftBlockType; ++import org.bukkit.craftbukkit.block.banner.CraftPatternType; +import org.bukkit.craftbukkit.damage.CraftDamageType; +import org.bukkit.craftbukkit.enchantments.CraftEnchantment; +import org.bukkit.craftbukkit.entity.CraftCat; @@ -102,12 +104,12 @@ index 0000000000000000000000000000000000000000..ead718efde812846fefec3e86d896fef + entry(Registries.WOLF_VARIANT, RegistryKey.WOLF_VARIANT, Wolf.Variant.class, CraftWolf.CraftVariant::new).delayed(), + entry(Registries.ENCHANTMENT, RegistryKey.ENCHANTMENT, Enchantment.class, CraftEnchantment::new).withSerializationUpdater(FieldRename.ENCHANTMENT_RENAME).delayed(), + entry(Registries.JUKEBOX_SONG, RegistryKey.JUKEBOX_SONG, JukeboxSong.class, CraftJukeboxSong::new).delayed(), ++ entry(Registries.BANNER_PATTERN, RegistryKey.BANNER_PATTERN, PatternType.class, CraftPatternType::new).delayed(), + + // api-only + apiOnly(Registries.BIOME, RegistryKey.BIOME, () -> org.bukkit.Registry.BIOME), + apiOnly(Registries.PAINTING_VARIANT, RegistryKey.PAINTING_VARIANT, () -> org.bukkit.Registry.ART), + apiOnly(Registries.ATTRIBUTE, RegistryKey.ATTRIBUTE, () -> org.bukkit.Registry.ATTRIBUTE), -+ apiOnly(Registries.BANNER_PATTERN, RegistryKey.BANNER_PATTERN, () -> org.bukkit.Registry.BANNER_PATTERN), + apiOnly(Registries.ENTITY_TYPE, RegistryKey.ENTITY_TYPE, () -> org.bukkit.Registry.ENTITY_TYPE), + apiOnly(Registries.PARTICLE_TYPE, RegistryKey.PARTICLE_TYPE, () -> org.bukkit.Registry.PARTICLE_TYPE), + apiOnly(Registries.POTION, RegistryKey.POTION, () -> org.bukkit.Registry.POTION), @@ -727,10 +729,10 @@ index 1dd22f11b7e2983a3069dea94c0f02b43ff1f736..397bdacab9517354875ebc0bc68d3505 String string = Registries.elementsDirPath(type.registryKey()); SimpleJsonResourceReloadListener.scanDirectory(resourceManager, string, GSON, map); diff --git a/src/main/java/org/bukkit/craftbukkit/CraftRegistry.java b/src/main/java/org/bukkit/craftbukkit/CraftRegistry.java -index 10ce6b9f748b69283e03454e9b1ed0b7df379a17..002449e66f83a419afa8357d2e7192670eaf869e 100644 +index a9832482500f08df30568ecbc65e4496ee01b414..154733684a53ff84ca8c2a994b96b68733e9fba5 100644 --- a/src/main/java/org/bukkit/craftbukkit/CraftRegistry.java +++ b/src/main/java/org/bukkit/craftbukkit/CraftRegistry.java -@@ -118,75 +118,12 @@ public class CraftRegistry implements Registry { +@@ -120,78 +120,12 @@ public class CraftRegistry implements Registry { + ", this can happen if a plugin creates its own registry entry with out properly registering it."); } @@ -796,6 +798,9 @@ index 10ce6b9f748b69283e03454e9b1ed0b7df379a17..002449e66f83a419afa8357d2e719267 - if (bukkitClass == MapCursor.Type.class) { - return new CraftRegistry<>(MapCursor.Type.class, registryHolder.registryOrThrow(Registries.MAP_DECORATION_TYPE), CraftMapCursor.CraftType::new, FieldRename.NONE); - } +- if (bukkitClass == PatternType.class) { +- return new CraftRegistry<>(PatternType.class, registryHolder.registryOrThrow(Registries.BANNER_PATTERN), CraftPatternType::new, FieldRename.NONE); +- } - - return null; - } @@ -809,7 +814,7 @@ index 10ce6b9f748b69283e03454e9b1ed0b7df379a17..002449e66f83a419afa8357d2e719267 } if (bukkit instanceof Registry.SimpleRegistry simple) { -@@ -212,23 +149,21 @@ public class CraftRegistry implements Registry { +@@ -217,23 +151,21 @@ public class CraftRegistry implements Registry { return bukkit.get(namespacedKey); } @@ -893,10 +898,10 @@ index 1f58b92c17d28e14621e8dc28042a5368f1f4a1f..ef80e6b4dff557daaab1b9fde4d8d401 // PatternType private static final FieldRenameData PATTERN_TYPE_DATA = FieldRenameData.Builder.newBuilder() diff --git a/src/main/java/org/bukkit/craftbukkit/util/Commodore.java b/src/main/java/org/bukkit/craftbukkit/util/Commodore.java -index 38339b8b1b3b70bbbf0259d7095b02ee8c22b609..9fffb9c9161caad8eb62a99b37d0f31862b568a5 100644 +index e1b86308f737b957b6d00bc902b91856694b7cbf..0cb2b616e0fa060b7aae6c47502f75ee7647e917 100644 --- a/src/main/java/org/bukkit/craftbukkit/util/Commodore.java +++ b/src/main/java/org/bukkit/craftbukkit/util/Commodore.java -@@ -189,20 +189,10 @@ public class Commodore { +@@ -190,20 +190,10 @@ public class Commodore { public static byte[] convert(byte[] b, final String pluginName, final ApiVersion pluginVersion, final Set activeCompatibilities) { final boolean modern = pluginVersion.isNewerThanOrSameAs(ApiVersion.FLATTENING); @@ -917,7 +922,7 @@ index 38339b8b1b3b70bbbf0259d7095b02ee8c22b609..9fffb9c9161caad8eb62a99b37d0f318 visitor = io.papermc.paper.pluginremap.reflect.ReflectionRemapper.visitor(visitor); // Paper cr.accept(new ClassRemapper(new ClassVisitor(Opcodes.ASM9, visitor) { -@@ -269,15 +259,6 @@ public class Commodore { +@@ -270,15 +260,6 @@ public class Commodore { @Override public MethodVisitor visitMethod(int access, String name, String desc, String signature, String[] exceptions) { @@ -1157,7 +1162,7 @@ index bfbd80b60ac5df500d03c80de57e38aa7548dd46..cce9e2226ef554c10e1df1dbaa179165 when(instance.getTag(any(), any(), any())).then(mock -> { String registry = mock.getArgument(0); diff --git a/src/test/java/org/bukkit/support/provider/RegistriesArgumentProvider.java b/src/test/java/org/bukkit/support/provider/RegistriesArgumentProvider.java -index b4d2546094a154af8fca2f63d02090ed9cb355a5..38b0e091234a00d57e9e9d4fb3eac6afb7343477 100644 +index 9d6c3d91b505a683b353577bf39f869173243459..c1f886c906a9f9313d97a223f719095fa2624c57 100644 --- a/src/test/java/org/bukkit/support/provider/RegistriesArgumentProvider.java +++ b/src/test/java/org/bukkit/support/provider/RegistriesArgumentProvider.java @@ -1,6 +1,7 @@ @@ -1168,7 +1173,7 @@ index b4d2546094a154af8fca2f63d02090ed9cb355a5..38b0e091234a00d57e9e9d4fb3eac6af import java.util.List; import java.util.stream.Stream; import net.minecraft.core.registries.Registries; -@@ -56,34 +57,34 @@ public class RegistriesArgumentProvider implements ArgumentsProvider { +@@ -59,35 +60,34 @@ public class RegistriesArgumentProvider implements ArgumentsProvider { private static final List DATA = Lists.newArrayList(); static { @@ -1191,6 +1196,8 @@ index b4d2546094a154af8fca2f63d02090ed9cb355a5..38b0e091234a00d57e9e9d4fb3eac6af - register(Frog.Variant.class, Registries.FROG_VARIANT, CraftFrog.CraftVariant.class, FrogVariant.class); - register(Cat.Type.class, Registries.CAT_VARIANT, CraftCat.CraftType.class, CatVariant.class); - register(MapCursor.Type.class, Registries.MAP_DECORATION_TYPE, CraftMapCursor.CraftType.class, MapDecorationType.class); +- register(PatternType.class, Registries.BANNER_PATTERN, CraftPatternType.class, BannerPattern.class); +- + // Order: RegistryKey, Bukkit class, Minecraft Registry key, CraftBukkit class, Minecraft class + register(RegistryKey.ENCHANTMENT, Enchantment.class, Registries.ENCHANTMENT, CraftEnchantment.class, net.minecraft.world.item.enchantment.Enchantment.class); + register(RegistryKey.GAME_EVENT, GameEvent.class, Registries.GAME_EVENT, CraftGameEvent.class, net.minecraft.world.level.gameevent.GameEvent.class); @@ -1210,7 +1217,7 @@ index b4d2546094a154af8fca2f63d02090ed9cb355a5..38b0e091234a00d57e9e9d4fb3eac6af + register(RegistryKey.FROG_VARIANT, Frog.Variant.class, Registries.FROG_VARIANT, CraftFrog.CraftVariant.class, FrogVariant.class); + register(RegistryKey.CAT_VARIANT, Cat.Type.class, Registries.CAT_VARIANT, CraftCat.CraftType.class, CatVariant.class); + register(RegistryKey.MAP_DECORATION_TYPE, MapCursor.Type.class, Registries.MAP_DECORATION_TYPE, CraftMapCursor.CraftType.class, MapDecorationType.class); - ++ register(RegistryKey.BANNER_PATTERN, PatternType.class, Registries.BANNER_PATTERN, CraftPatternType.class, BannerPattern.class); } - private static void register(Class bukkit, ResourceKey registry, Class craft, Class minecraft) { diff --git a/patches/server/0475-Add-StructuresLocateEvent.patch b/patches/server/0474-Add-StructuresLocateEvent.patch similarity index 100% rename from patches/server/0475-Add-StructuresLocateEvent.patch rename to patches/server/0474-Add-StructuresLocateEvent.patch diff --git a/patches/server/0476-Collision-option-for-requiring-a-player-participant.patch b/patches/server/0475-Collision-option-for-requiring-a-player-participant.patch similarity index 100% rename from patches/server/0476-Collision-option-for-requiring-a-player-participant.patch rename to patches/server/0475-Collision-option-for-requiring-a-player-participant.patch diff --git a/patches/server/0477-Remove-ProjectileHitEvent-call-when-fireballs-dead.patch b/patches/server/0476-Remove-ProjectileHitEvent-call-when-fireballs-dead.patch similarity index 100% rename from patches/server/0477-Remove-ProjectileHitEvent-call-when-fireballs-dead.patch rename to patches/server/0476-Remove-ProjectileHitEvent-call-when-fireballs-dead.patch diff --git a/patches/server/0478-Return-chat-component-with-empty-text-instead-of-thr.patch b/patches/server/0477-Return-chat-component-with-empty-text-instead-of-thr.patch similarity index 100% rename from patches/server/0478-Return-chat-component-with-empty-text-instead-of-thr.patch rename to patches/server/0477-Return-chat-component-with-empty-text-instead-of-thr.patch diff --git a/patches/server/0479-Make-schedule-command-per-world.patch b/patches/server/0478-Make-schedule-command-per-world.patch similarity index 100% rename from patches/server/0479-Make-schedule-command-per-world.patch rename to patches/server/0478-Make-schedule-command-per-world.patch diff --git a/patches/server/0480-Configurable-max-leash-distance.patch b/patches/server/0479-Configurable-max-leash-distance.patch similarity index 100% rename from patches/server/0480-Configurable-max-leash-distance.patch rename to patches/server/0479-Configurable-max-leash-distance.patch diff --git a/patches/server/0481-Add-BlockPreDispenseEvent.patch b/patches/server/0480-Add-BlockPreDispenseEvent.patch similarity index 92% rename from patches/server/0481-Add-BlockPreDispenseEvent.patch rename to patches/server/0480-Add-BlockPreDispenseEvent.patch index a1d2d79f35..b60aca7f7d 100644 --- a/patches/server/0481-Add-BlockPreDispenseEvent.patch +++ b/patches/server/0480-Add-BlockPreDispenseEvent.patch @@ -17,7 +17,7 @@ index 94bcbaf7daf7dfe566f508d1170a433930d9d49a..f6edfea463b3725d3a79aca38825e86d tileentitydispenser.setItem(i, idispensebehavior.dispense(sourceblock, itemstack)); } diff --git a/src/main/java/net/minecraft/world/level/block/DropperBlock.java b/src/main/java/net/minecraft/world/level/block/DropperBlock.java -index 083ddfb8fffa04dad6eeca2274f290a08e62b5eb..45fafee2cf1893dccf477939dad05e9e1938ec8c 100644 +index 91b514967405115f22edf4255775361a672e5c2f..ddecf443df3679e3098eb54edd19585a0512e342 100644 --- a/src/main/java/net/minecraft/world/level/block/DropperBlock.java +++ b/src/main/java/net/minecraft/world/level/block/DropperBlock.java @@ -71,6 +71,7 @@ public class DropperBlock extends DispenserBlock { @@ -29,10 +29,10 @@ index 083ddfb8fffa04dad6eeca2274f290a08e62b5eb..45fafee2cf1893dccf477939dad05e9e } else { // CraftBukkit start - Fire event when pushing items into other inventories diff --git a/src/main/java/org/bukkit/craftbukkit/event/CraftEventFactory.java b/src/main/java/org/bukkit/craftbukkit/event/CraftEventFactory.java -index 19ca8953facd69a5720652c3bcf1e1e3be34a3a3..5c511fe60bf59ca1fe773b8c9c39bc88eebf2752 100644 +index c01d4302e145c779cc4031927ab555e1c7748155..97a17f2b782196b51ebbc6740aad1768fc73f7ba 100644 --- a/src/main/java/org/bukkit/craftbukkit/event/CraftEventFactory.java +++ b/src/main/java/org/bukkit/craftbukkit/event/CraftEventFactory.java -@@ -2105,5 +2105,11 @@ public class CraftEventFactory { +@@ -2118,5 +2118,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/server/0482-Add-PlayerChangeBeaconEffectEvent.patch b/patches/server/0481-Add-PlayerChangeBeaconEffectEvent.patch similarity index 96% rename from patches/server/0482-Add-PlayerChangeBeaconEffectEvent.patch rename to patches/server/0481-Add-PlayerChangeBeaconEffectEvent.patch index b3444419ee..1903c21ba8 100644 --- a/patches/server/0482-Add-PlayerChangeBeaconEffectEvent.patch +++ b/patches/server/0481-Add-PlayerChangeBeaconEffectEvent.patch @@ -5,7 +5,7 @@ Subject: [PATCH] Add PlayerChangeBeaconEffectEvent diff --git a/src/main/java/net/minecraft/world/inventory/BeaconMenu.java b/src/main/java/net/minecraft/world/inventory/BeaconMenu.java -index c2fa423e14fc08c10483415baa2148af269c3758..5b6133f6758d322713321b7e918db0c3e0d4be51 100644 +index 7c4d2c184d9a1e4a1856e6771d39db384381e300..396559c281eee9e8c677cb222721414e8d9e12a2 100644 --- a/src/main/java/net/minecraft/world/inventory/BeaconMenu.java +++ b/src/main/java/net/minecraft/world/inventory/BeaconMenu.java @@ -171,12 +171,25 @@ public class BeaconMenu extends AbstractContainerMenu { diff --git a/patches/server/0483-Add-toggle-for-always-placing-the-dragon-egg.patch b/patches/server/0482-Add-toggle-for-always-placing-the-dragon-egg.patch similarity index 100% rename from patches/server/0483-Add-toggle-for-always-placing-the-dragon-egg.patch rename to patches/server/0482-Add-toggle-for-always-placing-the-dragon-egg.patch diff --git a/patches/server/0484-Add-PlayerStonecutterRecipeSelectEvent.patch b/patches/server/0483-Add-PlayerStonecutterRecipeSelectEvent.patch similarity index 97% rename from patches/server/0484-Add-PlayerStonecutterRecipeSelectEvent.patch rename to patches/server/0483-Add-PlayerStonecutterRecipeSelectEvent.patch index ec46b8f54b..0c96d8fa15 100644 --- a/patches/server/0484-Add-PlayerStonecutterRecipeSelectEvent.patch +++ b/patches/server/0483-Add-PlayerStonecutterRecipeSelectEvent.patch @@ -6,7 +6,7 @@ Subject: [PATCH] Add PlayerStonecutterRecipeSelectEvent Co-Authored-By: MiniDigger diff --git a/src/main/java/net/minecraft/world/inventory/StonecutterMenu.java b/src/main/java/net/minecraft/world/inventory/StonecutterMenu.java -index bb29107cb15e2ec644a14cabb3cf91f4bde5471d..977ccef3c9fa7685209f3eca894a3b69501ebcc1 100644 +index 5b4f03128499b0c1a4b8c5f5ccd17e4bdb391e81..37e75c02c374314372630f4bda0b92519809f2a4 100644 --- a/src/main/java/net/minecraft/world/inventory/StonecutterMenu.java +++ b/src/main/java/net/minecraft/world/inventory/StonecutterMenu.java @@ -64,7 +64,7 @@ public class StonecutterMenu extends AbstractContainerMenu { diff --git a/patches/server/0485-Expand-EntityUnleashEvent.patch b/patches/server/0484-Expand-EntityUnleashEvent.patch similarity index 98% rename from patches/server/0485-Expand-EntityUnleashEvent.patch rename to patches/server/0484-Expand-EntityUnleashEvent.patch index b83bd1bb30..4c9e6f4afd 100644 --- a/patches/server/0485-Expand-EntityUnleashEvent.patch +++ b/patches/server/0484-Expand-EntityUnleashEvent.patch @@ -121,10 +121,10 @@ index 3c0af74ed65610b1d5e3b72fdcf28c5a3423f0da..01173fc7177d78588978e087e63efda0 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 5c511fe60bf59ca1fe773b8c9c39bc88eebf2752..204c6ef33725eee1c582fdbc4e29caface0f27e9 100644 +index 97a17f2b782196b51ebbc6740aad1768fc73f7ba..2786398e99af94d8dc1251009cdb5fa71206bcf3 100644 --- a/src/main/java/org/bukkit/craftbukkit/event/CraftEventFactory.java +++ b/src/main/java/org/bukkit/craftbukkit/event/CraftEventFactory.java -@@ -1583,8 +1583,10 @@ public class CraftEventFactory { +@@ -1596,8 +1596,10 @@ public class CraftEventFactory { Bukkit.getPluginManager().callEvent(new PlayerRecipeBookSettingsChangeEvent(player.getBukkitEntity(), bukkitType, open, filter)); } diff --git a/patches/server/0486-Reset-shield-blocking-on-dimension-change.patch b/patches/server/0485-Reset-shield-blocking-on-dimension-change.patch similarity index 100% rename from patches/server/0486-Reset-shield-blocking-on-dimension-change.patch rename to patches/server/0485-Reset-shield-blocking-on-dimension-change.patch diff --git a/patches/server/0487-Add-DragonEggFormEvent.patch b/patches/server/0486-Add-DragonEggFormEvent.patch similarity index 100% rename from patches/server/0487-Add-DragonEggFormEvent.patch rename to patches/server/0486-Add-DragonEggFormEvent.patch diff --git a/patches/server/0488-Add-EntityMoveEvent.patch b/patches/server/0487-Add-EntityMoveEvent.patch similarity index 100% rename from patches/server/0488-Add-EntityMoveEvent.patch rename to patches/server/0487-Add-EntityMoveEvent.patch diff --git a/patches/server/0489-added-option-to-disable-pathfinding-updates-on-block.patch b/patches/server/0488-added-option-to-disable-pathfinding-updates-on-block.patch similarity index 100% rename from patches/server/0489-added-option-to-disable-pathfinding-updates-on-block.patch rename to patches/server/0488-added-option-to-disable-pathfinding-updates-on-block.patch diff --git a/patches/server/0490-Inline-shift-direction-fields.patch b/patches/server/0489-Inline-shift-direction-fields.patch similarity index 100% rename from patches/server/0490-Inline-shift-direction-fields.patch rename to patches/server/0489-Inline-shift-direction-fields.patch diff --git a/patches/server/0491-Allow-adding-items-to-BlockDropItemEvent.patch b/patches/server/0490-Allow-adding-items-to-BlockDropItemEvent.patch similarity index 93% rename from patches/server/0491-Allow-adding-items-to-BlockDropItemEvent.patch rename to patches/server/0490-Allow-adding-items-to-BlockDropItemEvent.patch index e58287a5fb..9b70fab956 100644 --- a/patches/server/0491-Allow-adding-items-to-BlockDropItemEvent.patch +++ b/patches/server/0490-Allow-adding-items-to-BlockDropItemEvent.patch @@ -5,10 +5,10 @@ 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 204c6ef33725eee1c582fdbc4e29caface0f27e9..3d64a514b4932bf80953b8e18b0fc9fd14868021 100644 +index 2786398e99af94d8dc1251009cdb5fa71206bcf3..4f05f8d73b824cd2985e6c6d90338fc7479ef2a5 100644 --- a/src/main/java/org/bukkit/craftbukkit/event/CraftEventFactory.java +++ b/src/main/java/org/bukkit/craftbukkit/event/CraftEventFactory.java -@@ -456,13 +456,30 @@ public class CraftEventFactory { +@@ -460,13 +460,30 @@ public class CraftEventFactory { } public static void handleBlockDropItemEvent(Block block, BlockState state, ServerPlayer player, List items) { diff --git a/patches/server/0492-Add-getMainThreadExecutor-to-BukkitScheduler.patch b/patches/server/0491-Add-getMainThreadExecutor-to-BukkitScheduler.patch similarity index 100% rename from patches/server/0492-Add-getMainThreadExecutor-to-BukkitScheduler.patch rename to patches/server/0491-Add-getMainThreadExecutor-to-BukkitScheduler.patch diff --git a/patches/server/0493-living-entity-allow-attribute-registration.patch b/patches/server/0492-living-entity-allow-attribute-registration.patch similarity index 100% rename from patches/server/0493-living-entity-allow-attribute-registration.patch rename to patches/server/0492-living-entity-allow-attribute-registration.patch diff --git a/patches/server/0494-fix-dead-slime-setSize-invincibility.patch b/patches/server/0493-fix-dead-slime-setSize-invincibility.patch similarity index 100% rename from patches/server/0494-fix-dead-slime-setSize-invincibility.patch rename to patches/server/0493-fix-dead-slime-setSize-invincibility.patch diff --git a/patches/server/0495-Merchant-getRecipes-should-return-an-immutable-list.patch b/patches/server/0494-Merchant-getRecipes-should-return-an-immutable-list.patch similarity index 100% rename from patches/server/0495-Merchant-getRecipes-should-return-an-immutable-list.patch rename to patches/server/0494-Merchant-getRecipes-should-return-an-immutable-list.patch diff --git a/patches/server/0496-Expose-Tracked-Players.patch b/patches/server/0495-Expose-Tracked-Players.patch similarity index 100% rename from patches/server/0496-Expose-Tracked-Players.patch rename to patches/server/0495-Expose-Tracked-Players.patch diff --git a/patches/server/0497-Improve-ServerGUI.patch b/patches/server/0496-Improve-ServerGUI.patch similarity index 100% rename from patches/server/0497-Improve-ServerGUI.patch rename to patches/server/0496-Improve-ServerGUI.patch diff --git a/patches/server/0498-fix-converting-txt-to-json-file.patch b/patches/server/0497-fix-converting-txt-to-json-file.patch similarity index 97% rename from patches/server/0498-fix-converting-txt-to-json-file.patch rename to patches/server/0497-fix-converting-txt-to-json-file.patch index efc09dd833..dde0a0677e 100644 --- a/patches/server/0498-fix-converting-txt-to-json-file.patch +++ b/patches/server/0497-fix-converting-txt-to-json-file.patch @@ -48,7 +48,7 @@ index 2b1d7a2360a9ee7bca9d93a2dc8c61d1648a8348..d5153f804cfcfd1a70c46975e3fb1e50 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 5100b2d00452f97849239ca32164eed4345e4024..6ef0e5c607c1b7ef9ba6a9f5c7bc452ce9a84250 100644 +index 3c7d31725c4a5dd7728fa394f88d37a0e493e919..59c30bb1fd19b718662dd10b0eb9dcd5ed79e400 100644 --- a/src/main/java/net/minecraft/server/players/PlayerList.java +++ b/src/main/java/net/minecraft/server/players/PlayerList.java @@ -179,6 +179,7 @@ public abstract class PlayerList { diff --git a/patches/server/0499-Add-worldborder-events.patch b/patches/server/0498-Add-worldborder-events.patch similarity index 100% rename from patches/server/0499-Add-worldborder-events.patch rename to patches/server/0498-Add-worldborder-events.patch diff --git a/patches/server/0500-Add-PlayerNameEntityEvent.patch b/patches/server/0499-Add-PlayerNameEntityEvent.patch similarity index 100% rename from patches/server/0500-Add-PlayerNameEntityEvent.patch rename to patches/server/0499-Add-PlayerNameEntityEvent.patch diff --git a/patches/server/0501-Add-recipe-to-cook-events.patch b/patches/server/0500-Add-recipe-to-cook-events.patch similarity index 100% rename from patches/server/0501-Add-recipe-to-cook-events.patch rename to patches/server/0500-Add-recipe-to-cook-events.patch diff --git a/patches/server/0502-Add-Block-isValidTool.patch b/patches/server/0501-Add-Block-isValidTool.patch similarity index 100% rename from patches/server/0502-Add-Block-isValidTool.patch rename to patches/server/0501-Add-Block-isValidTool.patch diff --git a/patches/server/0503-Allow-using-signs-inside-spawn-protection.patch b/patches/server/0502-Allow-using-signs-inside-spawn-protection.patch similarity index 100% rename from patches/server/0503-Allow-using-signs-inside-spawn-protection.patch rename to patches/server/0502-Allow-using-signs-inside-spawn-protection.patch diff --git a/patches/server/0504-Expand-world-key-API.patch b/patches/server/0503-Expand-world-key-API.patch similarity index 100% rename from patches/server/0504-Expand-world-key-API.patch rename to patches/server/0503-Expand-world-key-API.patch diff --git a/patches/server/0505-Add-fast-alternative-constructor-for-Rotations.patch b/patches/server/0504-Add-fast-alternative-constructor-for-Rotations.patch similarity index 100% rename from patches/server/0505-Add-fast-alternative-constructor-for-Rotations.patch rename to patches/server/0504-Add-fast-alternative-constructor-for-Rotations.patch diff --git a/patches/server/0506-Drop-carried-item-when-player-has-disconnected.patch b/patches/server/0505-Drop-carried-item-when-player-has-disconnected.patch similarity index 93% rename from patches/server/0506-Drop-carried-item-when-player-has-disconnected.patch rename to patches/server/0505-Drop-carried-item-when-player-has-disconnected.patch index 757cfd681e..5a79f00284 100644 --- a/patches/server/0506-Drop-carried-item-when-player-has-disconnected.patch +++ b/patches/server/0505-Drop-carried-item-when-player-has-disconnected.patch @@ -7,7 +7,7 @@ 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 6ef0e5c607c1b7ef9ba6a9f5c7bc452ce9a84250..7ef760cb1c88f557947e9b88409a2935666f86f0 100644 +index 59c30bb1fd19b718662dd10b0eb9dcd5ed79e400..0cbd4e6bc9b3695fd2ff0b943a69b8fd393e0f36 100644 --- a/src/main/java/net/minecraft/server/players/PlayerList.java +++ b/src/main/java/net/minecraft/server/players/PlayerList.java @@ -588,6 +588,14 @@ public abstract class PlayerList { diff --git a/patches/server/0507-forced-whitelist-use-configurable-kick-message.patch b/patches/server/0506-forced-whitelist-use-configurable-kick-message.patch similarity index 100% rename from patches/server/0507-forced-whitelist-use-configurable-kick-message.patch rename to patches/server/0506-forced-whitelist-use-configurable-kick-message.patch diff --git a/patches/server/0508-Don-t-ignore-result-of-PlayerEditBookEvent.patch b/patches/server/0507-Don-t-ignore-result-of-PlayerEditBookEvent.patch similarity index 100% rename from patches/server/0508-Don-t-ignore-result-of-PlayerEditBookEvent.patch rename to patches/server/0507-Don-t-ignore-result-of-PlayerEditBookEvent.patch diff --git a/patches/server/0509-Expose-protocol-version.patch b/patches/server/0508-Expose-protocol-version.patch similarity index 100% rename from patches/server/0509-Expose-protocol-version.patch rename to patches/server/0508-Expose-protocol-version.patch diff --git a/patches/server/0510-Enhance-console-tab-completions-for-brigadier-comman.patch b/patches/server/0509-Enhance-console-tab-completions-for-brigadier-comman.patch similarity index 100% rename from patches/server/0510-Enhance-console-tab-completions-for-brigadier-comman.patch rename to patches/server/0509-Enhance-console-tab-completions-for-brigadier-comman.patch diff --git a/patches/server/0511-Fix-PlayerItemConsumeEvent-cancelling-properly.patch b/patches/server/0510-Fix-PlayerItemConsumeEvent-cancelling-properly.patch similarity index 100% rename from patches/server/0511-Fix-PlayerItemConsumeEvent-cancelling-properly.patch rename to patches/server/0510-Fix-PlayerItemConsumeEvent-cancelling-properly.patch diff --git a/patches/server/0512-Add-bypass-host-check.patch b/patches/server/0511-Add-bypass-host-check.patch similarity index 100% rename from patches/server/0512-Add-bypass-host-check.patch rename to patches/server/0511-Add-bypass-host-check.patch diff --git a/patches/server/0513-Set-area-affect-cloud-rotation.patch b/patches/server/0512-Set-area-affect-cloud-rotation.patch similarity index 100% rename from patches/server/0513-Set-area-affect-cloud-rotation.patch rename to patches/server/0512-Set-area-affect-cloud-rotation.patch diff --git a/patches/server/0514-add-isDeeplySleeping-to-HumanEntity.patch b/patches/server/0513-add-isDeeplySleeping-to-HumanEntity.patch similarity index 100% rename from patches/server/0514-add-isDeeplySleeping-to-HumanEntity.patch rename to patches/server/0513-add-isDeeplySleeping-to-HumanEntity.patch diff --git a/patches/server/0515-add-consumeFuel-to-FurnaceBurnEvent.patch b/patches/server/0514-add-consumeFuel-to-FurnaceBurnEvent.patch similarity index 100% rename from patches/server/0515-add-consumeFuel-to-FurnaceBurnEvent.patch rename to patches/server/0514-add-consumeFuel-to-FurnaceBurnEvent.patch diff --git a/patches/server/0516-add-get-set-drop-chance-to-EntityEquipment.patch b/patches/server/0515-add-get-set-drop-chance-to-EntityEquipment.patch similarity index 100% rename from patches/server/0516-add-get-set-drop-chance-to-EntityEquipment.patch rename to patches/server/0515-add-get-set-drop-chance-to-EntityEquipment.patch diff --git a/patches/server/0517-fix-PigZombieAngerEvent-cancellation.patch b/patches/server/0516-fix-PigZombieAngerEvent-cancellation.patch similarity index 100% rename from patches/server/0517-fix-PigZombieAngerEvent-cancellation.patch rename to patches/server/0516-fix-PigZombieAngerEvent-cancellation.patch diff --git a/patches/server/0518-fix-PlayerItemHeldEvent-firing-twice.patch b/patches/server/0517-fix-PlayerItemHeldEvent-firing-twice.patch similarity index 100% rename from patches/server/0518-fix-PlayerItemHeldEvent-firing-twice.patch rename to patches/server/0517-fix-PlayerItemHeldEvent-firing-twice.patch diff --git a/patches/server/0519-Add-PlayerDeepSleepEvent.patch b/patches/server/0518-Add-PlayerDeepSleepEvent.patch similarity index 100% rename from patches/server/0519-Add-PlayerDeepSleepEvent.patch rename to patches/server/0518-Add-PlayerDeepSleepEvent.patch diff --git a/patches/server/0520-More-World-API.patch b/patches/server/0519-More-World-API.patch similarity index 100% rename from patches/server/0520-More-World-API.patch rename to patches/server/0519-More-World-API.patch diff --git a/patches/server/0521-Add-PlayerBedFailEnterEvent.patch b/patches/server/0520-Add-PlayerBedFailEnterEvent.patch similarity index 100% rename from patches/server/0521-Add-PlayerBedFailEnterEvent.patch rename to patches/server/0520-Add-PlayerBedFailEnterEvent.patch diff --git a/patches/server/0522-Implement-methods-to-convert-between-Component-and-B.patch b/patches/server/0521-Implement-methods-to-convert-between-Component-and-B.patch similarity index 100% rename from patches/server/0522-Implement-methods-to-convert-between-Component-and-B.patch rename to patches/server/0521-Implement-methods-to-convert-between-Component-and-B.patch diff --git a/patches/server/0523-Expand-PlayerRespawnEvent-fix-passed-parameter-issue.patch b/patches/server/0522-Expand-PlayerRespawnEvent-fix-passed-parameter-issue.patch similarity index 100% rename from patches/server/0523-Expand-PlayerRespawnEvent-fix-passed-parameter-issue.patch rename to patches/server/0522-Expand-PlayerRespawnEvent-fix-passed-parameter-issue.patch diff --git a/patches/server/0524-Introduce-beacon-activation-deactivation-events.patch b/patches/server/0523-Introduce-beacon-activation-deactivation-events.patch similarity index 100% rename from patches/server/0524-Introduce-beacon-activation-deactivation-events.patch rename to patches/server/0523-Introduce-beacon-activation-deactivation-events.patch diff --git a/patches/server/0525-Add-Channel-initialization-listeners.patch b/patches/server/0524-Add-Channel-initialization-listeners.patch similarity index 100% rename from patches/server/0525-Add-Channel-initialization-listeners.patch rename to patches/server/0524-Add-Channel-initialization-listeners.patch diff --git a/patches/server/0526-Send-empty-commands-if-tab-completion-is-disabled.patch b/patches/server/0525-Send-empty-commands-if-tab-completion-is-disabled.patch similarity index 100% rename from patches/server/0526-Send-empty-commands-if-tab-completion-is-disabled.patch rename to patches/server/0525-Send-empty-commands-if-tab-completion-is-disabled.patch diff --git a/patches/server/0527-Add-more-WanderingTrader-API.patch b/patches/server/0526-Add-more-WanderingTrader-API.patch similarity index 100% rename from patches/server/0527-Add-more-WanderingTrader-API.patch rename to patches/server/0526-Add-more-WanderingTrader-API.patch diff --git a/patches/server/0528-Add-EntityBlockStorage-clearEntities.patch b/patches/server/0527-Add-EntityBlockStorage-clearEntities.patch similarity index 100% rename from patches/server/0528-Add-EntityBlockStorage-clearEntities.patch rename to patches/server/0527-Add-EntityBlockStorage-clearEntities.patch diff --git a/patches/server/0529-Add-Adventure-message-to-PlayerAdvancementDoneEvent.patch b/patches/server/0528-Add-Adventure-message-to-PlayerAdvancementDoneEvent.patch similarity index 100% rename from patches/server/0529-Add-Adventure-message-to-PlayerAdvancementDoneEvent.patch rename to patches/server/0528-Add-Adventure-message-to-PlayerAdvancementDoneEvent.patch diff --git a/patches/server/0530-Add-HiddenPotionEffect-API.patch b/patches/server/0529-Add-HiddenPotionEffect-API.patch similarity index 100% rename from patches/server/0530-Add-HiddenPotionEffect-API.patch rename to patches/server/0529-Add-HiddenPotionEffect-API.patch diff --git a/patches/server/0531-Inventory-close.patch b/patches/server/0530-Inventory-close.patch similarity index 100% rename from patches/server/0531-Inventory-close.patch rename to patches/server/0530-Inventory-close.patch diff --git a/patches/server/0532-Add-a-should-burn-in-sunlight-API-for-Phantoms-and-S.patch b/patches/server/0531-Add-a-should-burn-in-sunlight-API-for-Phantoms-and-S.patch similarity index 100% rename from patches/server/0532-Add-a-should-burn-in-sunlight-API-for-Phantoms-and-S.patch rename to patches/server/0531-Add-a-should-burn-in-sunlight-API-for-Phantoms-and-S.patch diff --git a/patches/server/0533-Add-basic-Datapack-API.patch b/patches/server/0532-Add-basic-Datapack-API.patch similarity index 100% rename from patches/server/0533-Add-basic-Datapack-API.patch rename to patches/server/0532-Add-basic-Datapack-API.patch diff --git a/patches/server/0534-Add-environment-variable-to-disable-server-gui.patch b/patches/server/0533-Add-environment-variable-to-disable-server-gui.patch similarity index 100% rename from patches/server/0534-Add-environment-variable-to-disable-server-gui.patch rename to patches/server/0533-Add-environment-variable-to-disable-server-gui.patch diff --git a/patches/server/0535-Expand-PlayerGameModeChangeEvent.patch b/patches/server/0534-Expand-PlayerGameModeChangeEvent.patch similarity index 100% rename from patches/server/0535-Expand-PlayerGameModeChangeEvent.patch rename to patches/server/0534-Expand-PlayerGameModeChangeEvent.patch diff --git a/patches/server/0536-ItemStack-repair-check-API.patch b/patches/server/0535-ItemStack-repair-check-API.patch similarity index 100% rename from patches/server/0536-ItemStack-repair-check-API.patch rename to patches/server/0535-ItemStack-repair-check-API.patch diff --git a/patches/server/0537-More-Enchantment-API.patch b/patches/server/0536-More-Enchantment-API.patch similarity index 100% rename from patches/server/0537-More-Enchantment-API.patch rename to patches/server/0536-More-Enchantment-API.patch diff --git a/patches/server/0538-Move-range-check-for-block-placing-up.patch b/patches/server/0537-Move-range-check-for-block-placing-up.patch similarity index 100% rename from patches/server/0538-Move-range-check-for-block-placing-up.patch rename to patches/server/0537-Move-range-check-for-block-placing-up.patch diff --git a/patches/server/0539-Add-Mob-lookAt-API.patch b/patches/server/0538-Add-Mob-lookAt-API.patch similarity index 100% rename from patches/server/0539-Add-Mob-lookAt-API.patch rename to patches/server/0538-Add-Mob-lookAt-API.patch diff --git a/patches/server/0540-Correctly-check-if-bucket-dispenses-will-succeed-for.patch b/patches/server/0539-Correctly-check-if-bucket-dispenses-will-succeed-for.patch similarity index 100% rename from patches/server/0540-Correctly-check-if-bucket-dispenses-will-succeed-for.patch rename to patches/server/0539-Correctly-check-if-bucket-dispenses-will-succeed-for.patch diff --git a/patches/server/0541-Add-Unix-domain-socket-support.patch b/patches/server/0540-Add-Unix-domain-socket-support.patch similarity index 100% rename from patches/server/0541-Add-Unix-domain-socket-support.patch rename to patches/server/0540-Add-Unix-domain-socket-support.patch diff --git a/patches/server/0542-Add-EntityInsideBlockEvent.patch b/patches/server/0541-Add-EntityInsideBlockEvent.patch similarity index 99% rename from patches/server/0542-Add-EntityInsideBlockEvent.patch rename to patches/server/0541-Add-EntityInsideBlockEvent.patch index 5080baf21f..0e0939b39f 100644 --- a/patches/server/0542-Add-EntityInsideBlockEvent.patch +++ b/patches/server/0541-Add-EntityInsideBlockEvent.patch @@ -5,10 +5,10 @@ Subject: [PATCH] Add EntityInsideBlockEvent 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 993538f613e52ecd009f01e7b68fddba76b6a3e8..c36e64c3df09f14ffb06b81ef20c5e200e386e50 100644 +index 779d188bac9744889c1f4f554b300311e0effa29..0c5409af685ef1f251db3d9f9e21295c82a1e02a 100644 --- a/src/main/java/net/minecraft/world/level/block/BaseFireBlock.java +++ b/src/main/java/net/minecraft/world/level/block/BaseFireBlock.java -@@ -124,6 +124,7 @@ public abstract class BaseFireBlock extends Block { +@@ -125,6 +125,7 @@ public abstract class BaseFireBlock extends Block { @Override protected void entityInside(BlockState state, Level world, BlockPos pos, Entity entity) { diff --git a/patches/server/0543-Improve-item-default-attribute-API.patch b/patches/server/0542-Improve-item-default-attribute-API.patch similarity index 100% rename from patches/server/0543-Improve-item-default-attribute-API.patch rename to patches/server/0542-Improve-item-default-attribute-API.patch diff --git a/patches/server/0544-Add-cause-to-Weather-ThunderChangeEvents.patch b/patches/server/0543-Add-cause-to-Weather-ThunderChangeEvents.patch similarity index 100% rename from patches/server/0544-Add-cause-to-Weather-ThunderChangeEvents.patch rename to patches/server/0543-Add-cause-to-Weather-ThunderChangeEvents.patch diff --git a/patches/server/0545-More-Lidded-Block-API.patch b/patches/server/0544-More-Lidded-Block-API.patch similarity index 100% rename from patches/server/0545-More-Lidded-Block-API.patch rename to patches/server/0544-More-Lidded-Block-API.patch diff --git a/patches/server/0546-Limit-item-frame-cursors-on-maps.patch b/patches/server/0545-Limit-item-frame-cursors-on-maps.patch similarity index 100% rename from patches/server/0546-Limit-item-frame-cursors-on-maps.patch rename to patches/server/0545-Limit-item-frame-cursors-on-maps.patch diff --git a/patches/server/0547-Add-PlayerKickEvent-causes.patch b/patches/server/0546-Add-PlayerKickEvent-causes.patch similarity index 100% rename from patches/server/0547-Add-PlayerKickEvent-causes.patch rename to patches/server/0546-Add-PlayerKickEvent-causes.patch diff --git a/patches/server/0548-Add-PufferFishStateChangeEvent.patch b/patches/server/0547-Add-PufferFishStateChangeEvent.patch similarity index 100% rename from patches/server/0548-Add-PufferFishStateChangeEvent.patch rename to patches/server/0547-Add-PufferFishStateChangeEvent.patch diff --git a/patches/server/0549-Fix-PlayerBucketEmptyEvent-result-itemstack.patch b/patches/server/0548-Fix-PlayerBucketEmptyEvent-result-itemstack.patch similarity index 100% rename from patches/server/0549-Fix-PlayerBucketEmptyEvent-result-itemstack.patch rename to patches/server/0548-Fix-PlayerBucketEmptyEvent-result-itemstack.patch diff --git a/patches/server/0550-Synchronize-PalettedContainer-instead-of-ThreadingDe.patch b/patches/server/0549-Synchronize-PalettedContainer-instead-of-ThreadingDe.patch similarity index 100% rename from patches/server/0550-Synchronize-PalettedContainer-instead-of-ThreadingDe.patch rename to patches/server/0549-Synchronize-PalettedContainer-instead-of-ThreadingDe.patch diff --git a/patches/server/0551-Add-option-to-fix-items-merging-through-walls.patch b/patches/server/0550-Add-option-to-fix-items-merging-through-walls.patch similarity index 100% rename from patches/server/0551-Add-option-to-fix-items-merging-through-walls.patch rename to patches/server/0550-Add-option-to-fix-items-merging-through-walls.patch diff --git a/patches/server/0552-Add-BellRevealRaiderEvent.patch b/patches/server/0551-Add-BellRevealRaiderEvent.patch similarity index 100% rename from patches/server/0552-Add-BellRevealRaiderEvent.patch rename to patches/server/0551-Add-BellRevealRaiderEvent.patch diff --git a/patches/server/0553-Fix-invulnerable-end-crystals.patch b/patches/server/0552-Fix-invulnerable-end-crystals.patch similarity index 100% rename from patches/server/0553-Fix-invulnerable-end-crystals.patch rename to patches/server/0552-Fix-invulnerable-end-crystals.patch diff --git a/patches/server/0554-Add-ElderGuardianAppearanceEvent.patch b/patches/server/0553-Add-ElderGuardianAppearanceEvent.patch similarity index 100% rename from patches/server/0554-Add-ElderGuardianAppearanceEvent.patch rename to patches/server/0553-Add-ElderGuardianAppearanceEvent.patch diff --git a/patches/server/0555-Optimize-Biome-Mob-Lookups-for-Mob-Spawning.patch b/patches/server/0554-Optimize-Biome-Mob-Lookups-for-Mob-Spawning.patch similarity index 100% rename from patches/server/0555-Optimize-Biome-Mob-Lookups-for-Mob-Spawning.patch rename to patches/server/0554-Optimize-Biome-Mob-Lookups-for-Mob-Spawning.patch diff --git a/patches/server/0556-Line-Of-Sight-Changes.patch b/patches/server/0555-Line-Of-Sight-Changes.patch similarity index 100% rename from patches/server/0556-Line-Of-Sight-Changes.patch rename to patches/server/0555-Line-Of-Sight-Changes.patch diff --git a/patches/server/0557-add-per-world-spawn-limits.patch b/patches/server/0556-add-per-world-spawn-limits.patch similarity index 100% rename from patches/server/0557-add-per-world-spawn-limits.patch rename to patches/server/0556-add-per-world-spawn-limits.patch diff --git a/patches/server/0558-Fix-potions-splash-events.patch b/patches/server/0557-Fix-potions-splash-events.patch similarity index 98% rename from patches/server/0558-Fix-potions-splash-events.patch rename to patches/server/0557-Fix-potions-splash-events.patch index dfcd16159d..d086a3db0a 100644 --- a/patches/server/0558-Fix-potions-splash-events.patch +++ b/patches/server/0557-Fix-potions-splash-events.patch @@ -143,10 +143,10 @@ index be787a5b52e90796d4f06e17e564f4324807c3e6..cb34cc9443da56c0497c7a0192c8b836 public boolean isLingering() { diff --git a/src/main/java/org/bukkit/craftbukkit/event/CraftEventFactory.java b/src/main/java/org/bukkit/craftbukkit/event/CraftEventFactory.java -index 3d64a514b4932bf80953b8e18b0fc9fd14868021..be9fc7a0f5b4ad651847a20367cdc82b8f67ff29 100644 +index 4f05f8d73b824cd2985e6c6d90338fc7479ef2a5..61caedf05b28b2ba351e231c5f76e4df1ebd271a 100644 --- a/src/main/java/org/bukkit/craftbukkit/event/CraftEventFactory.java +++ b/src/main/java/org/bukkit/craftbukkit/event/CraftEventFactory.java -@@ -880,6 +880,32 @@ public class CraftEventFactory { +@@ -884,6 +884,32 @@ public class CraftEventFactory { return event; } diff --git a/patches/server/0559-Add-more-LimitedRegion-API.patch b/patches/server/0558-Add-more-LimitedRegion-API.patch similarity index 100% rename from patches/server/0559-Add-more-LimitedRegion-API.patch rename to patches/server/0558-Add-more-LimitedRegion-API.patch diff --git a/patches/server/0560-Fix-PlayerDropItemEvent-using-wrong-item.patch b/patches/server/0559-Fix-PlayerDropItemEvent-using-wrong-item.patch similarity index 100% rename from patches/server/0560-Fix-PlayerDropItemEvent-using-wrong-item.patch rename to patches/server/0559-Fix-PlayerDropItemEvent-using-wrong-item.patch diff --git a/patches/server/0561-Missing-Entity-API.patch b/patches/server/0560-Missing-Entity-API.patch similarity index 100% rename from patches/server/0561-Missing-Entity-API.patch rename to patches/server/0560-Missing-Entity-API.patch diff --git a/patches/server/0562-Fix-return-value-of-Block-applyBoneMeal-always-being.patch b/patches/server/0561-Fix-return-value-of-Block-applyBoneMeal-always-being.patch similarity index 100% rename from patches/server/0562-Fix-return-value-of-Block-applyBoneMeal-always-being.patch rename to patches/server/0561-Fix-return-value-of-Block-applyBoneMeal-always-being.patch diff --git a/patches/server/0563-Use-getChunkIfLoadedImmediately-in-places.patch b/patches/server/0562-Use-getChunkIfLoadedImmediately-in-places.patch similarity index 97% rename from patches/server/0563-Use-getChunkIfLoadedImmediately-in-places.patch rename to patches/server/0562-Use-getChunkIfLoadedImmediately-in-places.patch index 0fb834902a..b2446b7c2b 100644 --- a/patches/server/0563-Use-getChunkIfLoadedImmediately-in-places.patch +++ b/patches/server/0562-Use-getChunkIfLoadedImmediately-in-places.patch @@ -21,7 +21,7 @@ index 055650b315d53b56798ded7af2054c3e8e3ee319..c72687fb23e8d01639cce7d79e3f9780 @Override diff --git a/src/main/java/net/minecraft/world/level/Level.java b/src/main/java/net/minecraft/world/level/Level.java -index cfd5d3e50197b38d0ffef6debbb7f5b4b208382a..ed1fc466151ebebf7c3ac135c6893f4ea9a55a52 100644 +index 144d243e0d6ba3ae3f0b0bf457fa516e2b4f416f..20a14b4163807b806bf2ce5a88d3c35098bed929 100644 --- a/src/main/java/net/minecraft/world/level/Level.java +++ b/src/main/java/net/minecraft/world/level/Level.java @@ -180,6 +180,13 @@ public abstract class Level implements LevelAccessor, AutoCloseable { diff --git a/patches/server/0564-Fix-commands-from-signs-not-firing-command-events.patch b/patches/server/0563-Fix-commands-from-signs-not-firing-command-events.patch similarity index 100% rename from patches/server/0564-Fix-commands-from-signs-not-firing-command-events.patch rename to patches/server/0563-Fix-commands-from-signs-not-firing-command-events.patch diff --git a/patches/server/0565-Add-PlayerArmSwingEvent.patch b/patches/server/0564-Add-PlayerArmSwingEvent.patch similarity index 100% rename from patches/server/0565-Add-PlayerArmSwingEvent.patch rename to patches/server/0564-Add-PlayerArmSwingEvent.patch diff --git a/patches/server/0566-Fix-kick-event-leave-message-not-being-sent.patch b/patches/server/0565-Fix-kick-event-leave-message-not-being-sent.patch similarity index 98% rename from patches/server/0566-Fix-kick-event-leave-message-not-being-sent.patch rename to patches/server/0565-Fix-kick-event-leave-message-not-being-sent.patch index 7b01621edd..73566101ba 100644 --- a/patches/server/0566-Fix-kick-event-leave-message-not-being-sent.patch +++ b/patches/server/0565-Fix-kick-event-leave-message-not-being-sent.patch @@ -101,7 +101,7 @@ index 0a5cad166e852888208125a80b5e2d5e7e9a3a82..dd728c297335581ad69c94f768ec5201 this.server.getPlayerList().broadcastSystemMessage(PaperAdventure.asVanilla(quitMessage), false); // Paper end diff --git a/src/main/java/net/minecraft/server/players/PlayerList.java b/src/main/java/net/minecraft/server/players/PlayerList.java -index 0474b88416e0d016da38909196d32fe992b37d00..5b449dd681390eb7aee229a3b6366dcbb96ce2d7 100644 +index 46f46685081c3c164bd4ba306dfb1220a4e13e52..b36cb031b153c452c7f030105f6963072b5858fc 100644 --- a/src/main/java/net/minecraft/server/players/PlayerList.java +++ b/src/main/java/net/minecraft/server/players/PlayerList.java @@ -561,6 +561,11 @@ public abstract class PlayerList { diff --git a/patches/server/0567-Don-t-apply-cramming-damage-to-players.patch b/patches/server/0566-Don-t-apply-cramming-damage-to-players.patch similarity index 100% rename from patches/server/0567-Don-t-apply-cramming-damage-to-players.patch rename to patches/server/0566-Don-t-apply-cramming-damage-to-players.patch diff --git a/patches/server/0568-Rate-options-and-timings-for-sensors-and-behaviors.patch b/patches/server/0567-Rate-options-and-timings-for-sensors-and-behaviors.patch similarity index 100% rename from patches/server/0568-Rate-options-and-timings-for-sensors-and-behaviors.patch rename to patches/server/0567-Rate-options-and-timings-for-sensors-and-behaviors.patch diff --git a/patches/server/0569-Add-missing-forceDrop-toggles.patch b/patches/server/0568-Add-missing-forceDrop-toggles.patch similarity index 100% rename from patches/server/0569-Add-missing-forceDrop-toggles.patch rename to patches/server/0568-Add-missing-forceDrop-toggles.patch diff --git a/patches/server/0570-Stinger-API.patch b/patches/server/0569-Stinger-API.patch similarity index 100% rename from patches/server/0570-Stinger-API.patch rename to patches/server/0569-Stinger-API.patch diff --git a/patches/server/0571-Add-System.out-err-catcher.patch b/patches/server/0570-Add-System.out-err-catcher.patch similarity index 98% rename from patches/server/0571-Add-System.out-err-catcher.patch rename to patches/server/0570-Add-System.out-err-catcher.patch index 1a4bfc12d1..905517df95 100644 --- a/patches/server/0571-Add-System.out-err-catcher.patch +++ b/patches/server/0570-Add-System.out-err-catcher.patch @@ -105,7 +105,7 @@ index 0000000000000000000000000000000000000000..a8e813ca89b033f061e695288b3383bd + } +} diff --git a/src/main/java/org/bukkit/craftbukkit/CraftServer.java b/src/main/java/org/bukkit/craftbukkit/CraftServer.java -index d0eefb53fb88c56d72dea68269bd2b0ce6fd1c1b..0fc2e453c63b63e12f33cde28ad5afea5657ac57 100644 +index 691ad3df67ff32528ac18c2927e96c91db25741e..c57428b235f7bc0444ba0024d05c7c15b5e74fc4 100644 --- a/src/main/java/org/bukkit/craftbukkit/CraftServer.java +++ b/src/main/java/org/bukkit/craftbukkit/CraftServer.java @@ -307,6 +307,7 @@ public final class CraftServer implements Server { diff --git a/patches/server/0572-Prevent-AFK-kick-while-watching-end-credits.patch b/patches/server/0571-Prevent-AFK-kick-while-watching-end-credits.patch similarity index 100% rename from patches/server/0572-Prevent-AFK-kick-while-watching-end-credits.patch rename to patches/server/0571-Prevent-AFK-kick-while-watching-end-credits.patch diff --git a/patches/server/0573-Allow-skipping-writing-of-comments-to-server.propert.patch b/patches/server/0572-Allow-skipping-writing-of-comments-to-server.propert.patch similarity index 100% rename from patches/server/0573-Allow-skipping-writing-of-comments-to-server.propert.patch rename to patches/server/0572-Allow-skipping-writing-of-comments-to-server.propert.patch diff --git a/patches/server/0574-Add-PlayerSetSpawnEvent.patch b/patches/server/0573-Add-PlayerSetSpawnEvent.patch similarity index 99% rename from patches/server/0574-Add-PlayerSetSpawnEvent.patch rename to patches/server/0573-Add-PlayerSetSpawnEvent.patch index 4b9bd3eb51..75839ec637 100644 --- a/patches/server/0574-Add-PlayerSetSpawnEvent.patch +++ b/patches/server/0573-Add-PlayerSetSpawnEvent.patch @@ -154,7 +154,7 @@ index e9eec0e4e2e533e4ddc7f52a16a1b2b1ce21d6da..db4bdce4eae9a91babe95c28cb0f6c96 public SectionPos getLastSectionPos() { diff --git a/src/main/java/net/minecraft/server/players/PlayerList.java b/src/main/java/net/minecraft/server/players/PlayerList.java -index 5b449dd681390eb7aee229a3b6366dcbb96ce2d7..2eced5d3b539dfd072b8b4eafb34f21f849b1bd5 100644 +index b36cb031b153c452c7f030105f6963072b5858fc..d4fa173cebcef5fa86e5d077c2bad8e831392bf0 100644 --- a/src/main/java/net/minecraft/server/players/PlayerList.java +++ b/src/main/java/net/minecraft/server/players/PlayerList.java @@ -841,7 +841,7 @@ public abstract class PlayerList { diff --git a/patches/server/0575-Make-hoppers-respect-inventory-max-stack-size.patch b/patches/server/0574-Make-hoppers-respect-inventory-max-stack-size.patch similarity index 91% rename from patches/server/0575-Make-hoppers-respect-inventory-max-stack-size.patch rename to patches/server/0574-Make-hoppers-respect-inventory-max-stack-size.patch index a062b815e2..c5b4e66926 100644 --- a/patches/server/0575-Make-hoppers-respect-inventory-max-stack-size.patch +++ b/patches/server/0574-Make-hoppers-respect-inventory-max-stack-size.patch @@ -5,10 +5,10 @@ Subject: [PATCH] Make hoppers respect inventory max stack size diff --git a/src/main/java/net/minecraft/world/level/block/entity/HopperBlockEntity.java b/src/main/java/net/minecraft/world/level/block/entity/HopperBlockEntity.java -index 6d948b6151c6194bdba1cd461960397615c4bc40..0d6132abd49d66fbf84c046e09144cb33651be15 100644 +index 1c8a08e317591413426285874de74f4de54efa07..542a5501ac94f57810d34e0f769a9a7855604f91 100644 --- a/src/main/java/net/minecraft/world/level/block/entity/HopperBlockEntity.java +++ b/src/main/java/net/minecraft/world/level/block/entity/HopperBlockEntity.java -@@ -487,15 +487,17 @@ public class HopperBlockEntity extends RandomizableContainerBlockEntity implemen +@@ -495,15 +495,17 @@ public class HopperBlockEntity extends RandomizableContainerBlockEntity implemen if (itemstack1.isEmpty()) { // Spigot start - SPIGOT-6693, InventorySubcontainer#setItem diff --git a/patches/server/0576-Optimize-entity-tracker-passenger-checks.patch b/patches/server/0575-Optimize-entity-tracker-passenger-checks.patch similarity index 100% rename from patches/server/0576-Optimize-entity-tracker-passenger-checks.patch rename to patches/server/0575-Optimize-entity-tracker-passenger-checks.patch diff --git a/patches/server/0577-Config-option-for-Piglins-guarding-chests.patch b/patches/server/0576-Config-option-for-Piglins-guarding-chests.patch similarity index 100% rename from patches/server/0577-Config-option-for-Piglins-guarding-chests.patch rename to patches/server/0576-Config-option-for-Piglins-guarding-chests.patch diff --git a/patches/server/0578-Add-EntityDamageItemEvent.patch b/patches/server/0577-Add-EntityDamageItemEvent.patch similarity index 98% rename from patches/server/0578-Add-EntityDamageItemEvent.patch rename to patches/server/0577-Add-EntityDamageItemEvent.patch index d9c3b86a2a..e289bb08f8 100644 --- a/patches/server/0578-Add-EntityDamageItemEvent.patch +++ b/patches/server/0577-Add-EntityDamageItemEvent.patch @@ -5,7 +5,7 @@ Subject: [PATCH] Add EntityDamageItemEvent diff --git a/src/main/java/net/minecraft/world/item/ItemStack.java b/src/main/java/net/minecraft/world/item/ItemStack.java -index 7f7445a2b68fd2e6e5fcd509d950a0f8d680c1fe..ebc5f2e8d59da4bec25ff156ec95fe49366be59c 100644 +index 2ee949e1b0015c62499c557d5e359df4b9de6027..14d6e4548703b9b8640913f77406fff85f28d7ef 100644 --- a/src/main/java/net/minecraft/world/item/ItemStack.java +++ b/src/main/java/net/minecraft/world/item/ItemStack.java @@ -646,14 +646,14 @@ public final class ItemStack implements DataComponentHolder { diff --git a/patches/server/0579-Optimize-indirect-passenger-iteration.patch b/patches/server/0578-Optimize-indirect-passenger-iteration.patch similarity index 100% rename from patches/server/0579-Optimize-indirect-passenger-iteration.patch rename to patches/server/0578-Optimize-indirect-passenger-iteration.patch diff --git a/patches/server/0580-Configurable-item-frame-map-cursor-update-interval.patch b/patches/server/0579-Configurable-item-frame-map-cursor-update-interval.patch similarity index 100% rename from patches/server/0580-Configurable-item-frame-map-cursor-update-interval.patch rename to patches/server/0579-Configurable-item-frame-map-cursor-update-interval.patch diff --git a/patches/server/0581-Change-EnderEye-target-without-changing-other-things.patch b/patches/server/0580-Change-EnderEye-target-without-changing-other-things.patch similarity index 100% rename from patches/server/0581-Change-EnderEye-target-without-changing-other-things.patch rename to patches/server/0580-Change-EnderEye-target-without-changing-other-things.patch diff --git a/patches/server/0582-Add-BlockBreakBlockEvent.patch b/patches/server/0581-Add-BlockBreakBlockEvent.patch similarity index 100% rename from patches/server/0582-Add-BlockBreakBlockEvent.patch rename to patches/server/0581-Add-BlockBreakBlockEvent.patch diff --git a/patches/server/0583-Option-to-prevent-data-components-copy-in-smithing-r.patch b/patches/server/0582-Option-to-prevent-data-components-copy-in-smithing-r.patch similarity index 100% rename from patches/server/0583-Option-to-prevent-data-components-copy-in-smithing-r.patch rename to patches/server/0582-Option-to-prevent-data-components-copy-in-smithing-r.patch diff --git a/patches/server/0584-More-CommandBlock-API.patch b/patches/server/0583-More-CommandBlock-API.patch similarity index 100% rename from patches/server/0584-More-CommandBlock-API.patch rename to patches/server/0583-More-CommandBlock-API.patch diff --git a/patches/server/0585-Add-missing-team-sidebar-display-slots.patch b/patches/server/0584-Add-missing-team-sidebar-display-slots.patch similarity index 100% rename from patches/server/0585-Add-missing-team-sidebar-display-slots.patch rename to patches/server/0584-Add-missing-team-sidebar-display-slots.patch diff --git a/patches/server/0586-Add-back-EntityPortalExitEvent.patch b/patches/server/0585-Add-back-EntityPortalExitEvent.patch similarity index 100% rename from patches/server/0586-Add-back-EntityPortalExitEvent.patch rename to patches/server/0585-Add-back-EntityPortalExitEvent.patch diff --git a/patches/server/0587-Add-methods-to-find-targets-for-lightning-strikes.patch b/patches/server/0586-Add-methods-to-find-targets-for-lightning-strikes.patch similarity index 100% rename from patches/server/0587-Add-methods-to-find-targets-for-lightning-strikes.patch rename to patches/server/0586-Add-methods-to-find-targets-for-lightning-strikes.patch diff --git a/patches/server/0588-Get-entity-default-attributes.patch b/patches/server/0587-Get-entity-default-attributes.patch similarity index 100% rename from patches/server/0588-Get-entity-default-attributes.patch rename to patches/server/0587-Get-entity-default-attributes.patch diff --git a/patches/server/0589-Left-handed-API.patch b/patches/server/0588-Left-handed-API.patch similarity index 100% rename from patches/server/0589-Left-handed-API.patch rename to patches/server/0588-Left-handed-API.patch diff --git a/patches/server/0590-Add-more-advancement-API.patch b/patches/server/0589-Add-more-advancement-API.patch similarity index 98% rename from patches/server/0590-Add-more-advancement-API.patch rename to patches/server/0589-Add-more-advancement-API.patch index 160686a23d..ed610abf5d 100644 --- a/patches/server/0590-Add-more-advancement-API.patch +++ b/patches/server/0589-Add-more-advancement-API.patch @@ -164,10 +164,10 @@ index 8ca86852319d7463f60832bc98b825b0b4325995..62ada73302c6b3ce3fb2dcc8c31a1d9c private final DisplayInfo handle; diff --git a/src/main/java/org/bukkit/craftbukkit/util/Commodore.java b/src/main/java/org/bukkit/craftbukkit/util/Commodore.java -index 9fffb9c9161caad8eb62a99b37d0f31862b568a5..72eca2c6e2107f695ad6c1d85e02dae1890ea410 100644 +index 0cb2b616e0fa060b7aae6c47502f75ee7647e917..17d6a4cdd16d34f83e0752c3bdaee08288425a07 100644 --- a/src/main/java/org/bukkit/craftbukkit/util/Commodore.java +++ b/src/main/java/org/bukkit/craftbukkit/util/Commodore.java -@@ -434,6 +434,11 @@ public class Commodore { +@@ -435,6 +435,11 @@ public class Commodore { super.visitMethodInsn(opcode, owner, name, "()Lcom/destroystokyo/paper/profile/PlayerProfile;", itf); return; } diff --git a/patches/server/0591-Add-ItemFactory-getSpawnEgg-API.patch b/patches/server/0590-Add-ItemFactory-getSpawnEgg-API.patch similarity index 96% rename from patches/server/0591-Add-ItemFactory-getSpawnEgg-API.patch rename to patches/server/0590-Add-ItemFactory-getSpawnEgg-API.patch index e31dc566fb..c4fffcd5cc 100644 --- a/patches/server/0591-Add-ItemFactory-getSpawnEgg-API.patch +++ b/patches/server/0590-Add-ItemFactory-getSpawnEgg-API.patch @@ -37,10 +37,10 @@ index eabb8b42b890224dd19b879ff276e9908674310d..803a19063c03627dbea79cb1c395ae35 + // Paper end - old getSpawnEgg API } diff --git a/src/main/java/org/bukkit/craftbukkit/util/Commodore.java b/src/main/java/org/bukkit/craftbukkit/util/Commodore.java -index 72eca2c6e2107f695ad6c1d85e02dae1890ea410..b67dfb358a9c1ae26793557ca2151357db4b1691 100644 +index 17d6a4cdd16d34f83e0752c3bdaee08288425a07..157fbe09ab22f3218d9d3f72e8c0a5a3d727eaeb 100644 --- a/src/main/java/org/bukkit/craftbukkit/util/Commodore.java +++ b/src/main/java/org/bukkit/craftbukkit/util/Commodore.java -@@ -441,6 +441,15 @@ public class Commodore { +@@ -442,6 +442,15 @@ public class Commodore { } // Paper end diff --git a/patches/server/0592-Add-critical-damage-API.patch b/patches/server/0591-Add-critical-damage-API.patch similarity index 96% rename from patches/server/0592-Add-critical-damage-API.patch rename to patches/server/0591-Add-critical-damage-API.patch index e738b6fb6e..0cb51d12e2 100644 --- a/patches/server/0592-Add-critical-damage-API.patch +++ b/patches/server/0591-Add-critical-damage-API.patch @@ -61,10 +61,10 @@ index 746bb8a36bd6c6ef953289576af499caad588d79..57ebb96707748e90810dc07471f9769f int k = entity.getRemainingFireTicks(); diff --git a/src/main/java/org/bukkit/craftbukkit/event/CraftEventFactory.java b/src/main/java/org/bukkit/craftbukkit/event/CraftEventFactory.java -index be9fc7a0f5b4ad651847a20367cdc82b8f67ff29..76be6bf839bb6aec7f2ab0295a3509fb106a95bf 100644 +index 61caedf05b28b2ba351e231c5f76e4df1ebd271a..4180b86620aa18a95e0793f646515779801a343e 100644 --- a/src/main/java/org/bukkit/craftbukkit/event/CraftEventFactory.java +++ b/src/main/java/org/bukkit/craftbukkit/event/CraftEventFactory.java -@@ -1074,7 +1074,7 @@ public class CraftEventFactory { +@@ -1078,7 +1078,7 @@ public class CraftEventFactory { return CraftEventFactory.callEntityDamageEvent(source.getDirectBlock(), source.getDirectBlockState(), entity, DamageCause.BLOCK_EXPLOSION, bukkitDamageSource, modifiers, modifierFunctions, cancelled); } DamageCause damageCause = (damager.getBukkitEntity() instanceof org.bukkit.entity.TNTPrimed) ? DamageCause.BLOCK_EXPLOSION : DamageCause.ENTITY_EXPLOSION; @@ -73,7 +73,7 @@ index be9fc7a0f5b4ad651847a20367cdc82b8f67ff29..76be6bf839bb6aec7f2ab0295a3509fb } else if (damager != null || source.getDirectEntity() != null) { DamageCause cause = (source.isSweep()) ? DamageCause.ENTITY_SWEEP_ATTACK : DamageCause.ENTITY_ATTACK; -@@ -1100,7 +1100,7 @@ public class CraftEventFactory { +@@ -1104,7 +1104,7 @@ public class CraftEventFactory { cause = DamageCause.MAGIC; } @@ -82,7 +82,7 @@ index be9fc7a0f5b4ad651847a20367cdc82b8f67ff29..76be6bf839bb6aec7f2ab0295a3509fb } else if (source.is(DamageTypes.FELL_OUT_OF_WORLD)) { return CraftEventFactory.callEntityDamageEvent(source.getDirectBlock(), source.getDirectBlockState(), entity, DamageCause.VOID, bukkitDamageSource, modifiers, modifierFunctions, cancelled); } else if (source.is(DamageTypes.LAVA)) { -@@ -1160,13 +1160,13 @@ public class CraftEventFactory { +@@ -1164,13 +1164,13 @@ public class CraftEventFactory { cause = DamageCause.CUSTOM; } diff --git a/patches/server/0593-Fix-issues-with-mob-conversion.patch b/patches/server/0592-Fix-issues-with-mob-conversion.patch similarity index 100% rename from patches/server/0593-Fix-issues-with-mob-conversion.patch rename to patches/server/0592-Fix-issues-with-mob-conversion.patch diff --git a/patches/server/0594-Add-hasCollision-methods-to-various-places.patch b/patches/server/0593-Add-hasCollision-methods-to-various-places.patch similarity index 100% rename from patches/server/0594-Add-hasCollision-methods-to-various-places.patch rename to patches/server/0593-Add-hasCollision-methods-to-various-places.patch diff --git a/patches/server/0595-Goat-ram-API.patch b/patches/server/0594-Goat-ram-API.patch similarity index 100% rename from patches/server/0595-Goat-ram-API.patch rename to patches/server/0594-Goat-ram-API.patch diff --git a/patches/server/0596-Add-API-for-resetting-a-single-score.patch b/patches/server/0595-Add-API-for-resetting-a-single-score.patch similarity index 100% rename from patches/server/0596-Add-API-for-resetting-a-single-score.patch rename to patches/server/0595-Add-API-for-resetting-a-single-score.patch diff --git a/patches/server/0597-Add-Raw-Byte-Entity-Serialization.patch b/patches/server/0596-Add-Raw-Byte-Entity-Serialization.patch similarity index 100% rename from patches/server/0597-Add-Raw-Byte-Entity-Serialization.patch rename to patches/server/0596-Add-Raw-Byte-Entity-Serialization.patch diff --git a/patches/server/0598-Vanilla-command-permission-fixes.patch b/patches/server/0597-Vanilla-command-permission-fixes.patch similarity index 100% rename from patches/server/0598-Vanilla-command-permission-fixes.patch rename to patches/server/0597-Vanilla-command-permission-fixes.patch diff --git a/patches/server/0599-Do-not-run-close-logic-for-inventories-on-chunk-unlo.patch b/patches/server/0598-Do-not-run-close-logic-for-inventories-on-chunk-unlo.patch similarity index 100% rename from patches/server/0599-Do-not-run-close-logic-for-inventories-on-chunk-unlo.patch rename to patches/server/0598-Do-not-run-close-logic-for-inventories-on-chunk-unlo.patch diff --git a/patches/server/0600-Fix-GameProfileCache-concurrency.patch b/patches/server/0599-Fix-GameProfileCache-concurrency.patch similarity index 100% rename from patches/server/0600-Fix-GameProfileCache-concurrency.patch rename to patches/server/0599-Fix-GameProfileCache-concurrency.patch diff --git a/patches/server/0601-Improve-and-expand-AsyncCatcher.patch b/patches/server/0600-Improve-and-expand-AsyncCatcher.patch similarity index 100% rename from patches/server/0601-Improve-and-expand-AsyncCatcher.patch rename to patches/server/0600-Improve-and-expand-AsyncCatcher.patch diff --git a/patches/server/0602-Add-paper-mobcaps-and-paper-playermobcaps.patch b/patches/server/0601-Add-paper-mobcaps-and-paper-playermobcaps.patch similarity index 100% rename from patches/server/0602-Add-paper-mobcaps-and-paper-playermobcaps.patch rename to patches/server/0601-Add-paper-mobcaps-and-paper-playermobcaps.patch diff --git a/patches/server/0603-Sanitize-ResourceLocation-error-logging.patch b/patches/server/0602-Sanitize-ResourceLocation-error-logging.patch similarity index 100% rename from patches/server/0603-Sanitize-ResourceLocation-error-logging.patch rename to patches/server/0602-Sanitize-ResourceLocation-error-logging.patch diff --git a/patches/server/0604-Manually-inline-methods-in-BlockPosition.patch b/patches/server/0603-Manually-inline-methods-in-BlockPosition.patch similarity index 100% rename from patches/server/0604-Manually-inline-methods-in-BlockPosition.patch rename to patches/server/0603-Manually-inline-methods-in-BlockPosition.patch diff --git a/patches/server/0605-Name-craft-scheduler-threads-according-to-the-plugin.patch b/patches/server/0604-Name-craft-scheduler-threads-according-to-the-plugin.patch similarity index 100% rename from patches/server/0605-Name-craft-scheduler-threads-according-to-the-plugin.patch rename to patches/server/0604-Name-craft-scheduler-threads-according-to-the-plugin.patch diff --git a/patches/server/0606-Make-sure-inlined-getChunkAt-has-inlined-logic-for-l.patch b/patches/server/0605-Make-sure-inlined-getChunkAt-has-inlined-logic-for-l.patch similarity index 94% rename from patches/server/0606-Make-sure-inlined-getChunkAt-has-inlined-logic-for-l.patch rename to patches/server/0605-Make-sure-inlined-getChunkAt-has-inlined-logic-for-l.patch index b950818c7b..23f6d7b245 100644 --- a/patches/server/0606-Make-sure-inlined-getChunkAt-has-inlined-logic-for-l.patch +++ b/patches/server/0605-Make-sure-inlined-getChunkAt-has-inlined-logic-for-l.patch @@ -10,7 +10,7 @@ chunks did get inlined, but the standard CPS.getChunkAt method was not inlined. diff --git a/src/main/java/net/minecraft/world/level/Level.java b/src/main/java/net/minecraft/world/level/Level.java -index ed1fc466151ebebf7c3ac135c6893f4ea9a55a52..38bcf9f410e8a9d47c7d486c28dbc16a6225b650 100644 +index 20a14b4163807b806bf2ce5a88d3c35098bed929..b4111bcc6a676dc42b233761aa667708669c2ab8 100644 --- a/src/main/java/net/minecraft/world/level/Level.java +++ b/src/main/java/net/minecraft/world/level/Level.java @@ -352,7 +352,14 @@ public abstract class Level implements LevelAccessor, AutoCloseable { diff --git a/patches/server/0607-Don-t-read-neighbour-chunk-data-off-disk-when-conver.patch b/patches/server/0606-Don-t-read-neighbour-chunk-data-off-disk-when-conver.patch similarity index 100% rename from patches/server/0607-Don-t-read-neighbour-chunk-data-off-disk-when-conver.patch rename to patches/server/0606-Don-t-read-neighbour-chunk-data-off-disk-when-conver.patch diff --git a/patches/server/0608-Don-t-lookup-fluid-state-when-raytracing-skip-air-bl.patch b/patches/server/0607-Don-t-lookup-fluid-state-when-raytracing-skip-air-bl.patch similarity index 100% rename from patches/server/0608-Don-t-lookup-fluid-state-when-raytracing-skip-air-bl.patch rename to patches/server/0607-Don-t-lookup-fluid-state-when-raytracing-skip-air-bl.patch diff --git a/patches/server/0609-Time-scoreboard-search.patch b/patches/server/0608-Time-scoreboard-search.patch similarity index 100% rename from patches/server/0609-Time-scoreboard-search.patch rename to patches/server/0608-Time-scoreboard-search.patch diff --git a/patches/server/0610-Oprimise-map-impl-for-tracked-players.patch b/patches/server/0609-Oprimise-map-impl-for-tracked-players.patch similarity index 100% rename from patches/server/0610-Oprimise-map-impl-for-tracked-players.patch rename to patches/server/0609-Oprimise-map-impl-for-tracked-players.patch diff --git a/patches/server/0611-Add-missing-InventoryType.patch b/patches/server/0610-Add-missing-InventoryType.patch similarity index 100% rename from patches/server/0611-Add-missing-InventoryType.patch rename to patches/server/0610-Add-missing-InventoryType.patch diff --git a/patches/server/0612-Optimise-BlockSoil-nearby-water-lookup.patch b/patches/server/0611-Optimise-BlockSoil-nearby-water-lookup.patch similarity index 100% rename from patches/server/0612-Optimise-BlockSoil-nearby-water-lookup.patch rename to patches/server/0611-Optimise-BlockSoil-nearby-water-lookup.patch diff --git a/patches/server/0613-Fix-merchant-inventory-not-closing-on-entity-removal.patch b/patches/server/0612-Fix-merchant-inventory-not-closing-on-entity-removal.patch similarity index 100% rename from patches/server/0613-Fix-merchant-inventory-not-closing-on-entity-removal.patch rename to patches/server/0612-Fix-merchant-inventory-not-closing-on-entity-removal.patch diff --git a/patches/server/0614-Check-requirement-before-suggesting-root-nodes.patch b/patches/server/0613-Check-requirement-before-suggesting-root-nodes.patch similarity index 100% rename from patches/server/0614-Check-requirement-before-suggesting-root-nodes.patch rename to patches/server/0613-Check-requirement-before-suggesting-root-nodes.patch diff --git a/patches/server/0615-Don-t-respond-to-ServerboundCommandSuggestionPacket-.patch b/patches/server/0614-Don-t-respond-to-ServerboundCommandSuggestionPacket-.patch similarity index 100% rename from patches/server/0615-Don-t-respond-to-ServerboundCommandSuggestionPacket-.patch rename to patches/server/0614-Don-t-respond-to-ServerboundCommandSuggestionPacket-.patch diff --git a/patches/server/0616-Add-packet-limiter-config.patch b/patches/server/0615-Add-packet-limiter-config.patch similarity index 100% rename from patches/server/0616-Add-packet-limiter-config.patch rename to patches/server/0615-Add-packet-limiter-config.patch diff --git a/patches/server/0617-Fix-setPatternColor-on-tropical-fish-bucket-meta.patch b/patches/server/0616-Fix-setPatternColor-on-tropical-fish-bucket-meta.patch similarity index 100% rename from patches/server/0617-Fix-setPatternColor-on-tropical-fish-bucket-meta.patch rename to patches/server/0616-Fix-setPatternColor-on-tropical-fish-bucket-meta.patch diff --git a/patches/server/0618-Ensure-valid-vehicle-status.patch b/patches/server/0617-Ensure-valid-vehicle-status.patch similarity index 100% rename from patches/server/0618-Ensure-valid-vehicle-status.patch rename to patches/server/0617-Ensure-valid-vehicle-status.patch diff --git a/patches/server/0619-Prevent-softlocked-end-exit-portal-generation.patch b/patches/server/0618-Prevent-softlocked-end-exit-portal-generation.patch similarity index 100% rename from patches/server/0619-Prevent-softlocked-end-exit-portal-generation.patch rename to patches/server/0618-Prevent-softlocked-end-exit-portal-generation.patch diff --git a/patches/server/0620-Fix-CocaoDecorator-causing-a-crash-when-trying-to-ge.patch b/patches/server/0619-Fix-CocaoDecorator-causing-a-crash-when-trying-to-ge.patch similarity index 100% rename from patches/server/0620-Fix-CocaoDecorator-causing-a-crash-when-trying-to-ge.patch rename to patches/server/0619-Fix-CocaoDecorator-causing-a-crash-when-trying-to-ge.patch diff --git a/patches/server/0621-Don-t-log-debug-logging-being-disabled.patch b/patches/server/0620-Don-t-log-debug-logging-being-disabled.patch similarity index 100% rename from patches/server/0621-Don-t-log-debug-logging-being-disabled.patch rename to patches/server/0620-Don-t-log-debug-logging-being-disabled.patch diff --git a/patches/server/0622-fix-various-menus-with-empty-level-accesses.patch b/patches/server/0621-fix-various-menus-with-empty-level-accesses.patch similarity index 100% rename from patches/server/0622-fix-various-menus-with-empty-level-accesses.patch rename to patches/server/0621-fix-various-menus-with-empty-level-accesses.patch diff --git a/patches/server/0623-Preserve-overstacked-loot.patch b/patches/server/0622-Preserve-overstacked-loot.patch similarity index 100% rename from patches/server/0623-Preserve-overstacked-loot.patch rename to patches/server/0622-Preserve-overstacked-loot.patch diff --git a/patches/server/0624-Update-head-rotation-in-missing-places.patch b/patches/server/0623-Update-head-rotation-in-missing-places.patch similarity index 100% rename from patches/server/0624-Update-head-rotation-in-missing-places.patch rename to patches/server/0623-Update-head-rotation-in-missing-places.patch diff --git a/patches/server/0625-prevent-unintended-light-block-manipulation.patch b/patches/server/0624-prevent-unintended-light-block-manipulation.patch similarity index 100% rename from patches/server/0625-prevent-unintended-light-block-manipulation.patch rename to patches/server/0624-prevent-unintended-light-block-manipulation.patch diff --git a/patches/server/0626-Fix-CraftCriteria-defaults-map.patch b/patches/server/0625-Fix-CraftCriteria-defaults-map.patch similarity index 100% rename from patches/server/0626-Fix-CraftCriteria-defaults-map.patch rename to patches/server/0625-Fix-CraftCriteria-defaults-map.patch diff --git a/patches/server/0627-Fix-upstreams-block-state-factories.patch b/patches/server/0626-Fix-upstreams-block-state-factories.patch similarity index 100% rename from patches/server/0627-Fix-upstreams-block-state-factories.patch rename to patches/server/0626-Fix-upstreams-block-state-factories.patch diff --git a/patches/server/0628-Configurable-feature-seeds.patch b/patches/server/0627-Configurable-feature-seeds.patch similarity index 100% rename from patches/server/0628-Configurable-feature-seeds.patch rename to patches/server/0627-Configurable-feature-seeds.patch diff --git a/patches/server/0629-Add-root-admin-user-detection.patch b/patches/server/0628-Add-root-admin-user-detection.patch similarity index 100% rename from patches/server/0629-Add-root-admin-user-detection.patch rename to patches/server/0628-Add-root-admin-user-detection.patch diff --git a/patches/server/0630-don-t-attempt-to-teleport-dead-entities.patch b/patches/server/0629-don-t-attempt-to-teleport-dead-entities.patch similarity index 100% rename from patches/server/0630-don-t-attempt-to-teleport-dead-entities.patch rename to patches/server/0629-don-t-attempt-to-teleport-dead-entities.patch diff --git a/patches/server/0631-Prevent-excessive-velocity-through-repeated-crits.patch b/patches/server/0630-Prevent-excessive-velocity-through-repeated-crits.patch similarity index 100% rename from patches/server/0631-Prevent-excessive-velocity-through-repeated-crits.patch rename to patches/server/0630-Prevent-excessive-velocity-through-repeated-crits.patch diff --git a/patches/server/0632-Remove-client-side-code-using-deprecated-for-removal.patch b/patches/server/0631-Remove-client-side-code-using-deprecated-for-removal.patch similarity index 100% rename from patches/server/0632-Remove-client-side-code-using-deprecated-for-removal.patch rename to patches/server/0631-Remove-client-side-code-using-deprecated-for-removal.patch diff --git a/patches/server/0633-Fix-Spigot-growth-modifiers.patch b/patches/server/0632-Fix-Spigot-growth-modifiers.patch similarity index 100% rename from patches/server/0633-Fix-Spigot-growth-modifiers.patch rename to patches/server/0632-Fix-Spigot-growth-modifiers.patch diff --git a/patches/server/0634-Prevent-ContainerOpenersCounter-openCount-from-going.patch b/patches/server/0633-Prevent-ContainerOpenersCounter-openCount-from-going.patch similarity index 100% rename from patches/server/0634-Prevent-ContainerOpenersCounter-openCount-from-going.patch rename to patches/server/0633-Prevent-ContainerOpenersCounter-openCount-from-going.patch diff --git a/patches/server/0635-Add-PlayerItemFrameChangeEvent.patch b/patches/server/0634-Add-PlayerItemFrameChangeEvent.patch similarity index 100% rename from patches/server/0635-Add-PlayerItemFrameChangeEvent.patch rename to patches/server/0634-Add-PlayerItemFrameChangeEvent.patch diff --git a/patches/server/0636-Optimize-HashMapPalette.patch b/patches/server/0635-Optimize-HashMapPalette.patch similarity index 100% rename from patches/server/0636-Optimize-HashMapPalette.patch rename to patches/server/0635-Optimize-HashMapPalette.patch diff --git a/patches/server/0637-Fix-ChunkSnapshot-isSectionEmpty-int-and-optimize-Pa.patch b/patches/server/0636-Fix-ChunkSnapshot-isSectionEmpty-int-and-optimize-Pa.patch similarity index 100% rename from patches/server/0637-Fix-ChunkSnapshot-isSectionEmpty-int-and-optimize-Pa.patch rename to patches/server/0636-Fix-ChunkSnapshot-isSectionEmpty-int-and-optimize-Pa.patch diff --git a/patches/server/0638-Add-more-Campfire-API.patch b/patches/server/0637-Add-more-Campfire-API.patch similarity index 100% rename from patches/server/0638-Add-more-Campfire-API.patch rename to patches/server/0637-Add-more-Campfire-API.patch diff --git a/patches/server/0639-Only-write-chunk-data-to-disk-if-it-serializes-witho.patch b/patches/server/0638-Only-write-chunk-data-to-disk-if-it-serializes-witho.patch similarity index 100% rename from patches/server/0639-Only-write-chunk-data-to-disk-if-it-serializes-witho.patch rename to patches/server/0638-Only-write-chunk-data-to-disk-if-it-serializes-witho.patch diff --git a/patches/server/0640-Forward-CraftEntity-in-teleport-command.patch b/patches/server/0639-Forward-CraftEntity-in-teleport-command.patch similarity index 100% rename from patches/server/0640-Forward-CraftEntity-in-teleport-command.patch rename to patches/server/0639-Forward-CraftEntity-in-teleport-command.patch diff --git a/patches/server/0641-Improve-scoreboard-entries.patch b/patches/server/0640-Improve-scoreboard-entries.patch similarity index 100% rename from patches/server/0641-Improve-scoreboard-entries.patch rename to patches/server/0640-Improve-scoreboard-entries.patch diff --git a/patches/server/0642-Entity-powdered-snow-API.patch b/patches/server/0641-Entity-powdered-snow-API.patch similarity index 100% rename from patches/server/0642-Entity-powdered-snow-API.patch rename to patches/server/0641-Entity-powdered-snow-API.patch diff --git a/patches/server/0643-Add-API-for-item-entity-health.patch b/patches/server/0642-Add-API-for-item-entity-health.patch similarity index 100% rename from patches/server/0643-Add-API-for-item-entity-health.patch rename to patches/server/0642-Add-API-for-item-entity-health.patch diff --git a/patches/server/0644-Configurable-max-block-light-for-monster-spawning.patch b/patches/server/0643-Configurable-max-block-light-for-monster-spawning.patch similarity index 100% rename from patches/server/0644-Configurable-max-block-light-for-monster-spawning.patch rename to patches/server/0643-Configurable-max-block-light-for-monster-spawning.patch diff --git a/patches/server/0645-Fix-sticky-pistons-and-BlockPistonRetractEvent.patch b/patches/server/0644-Fix-sticky-pistons-and-BlockPistonRetractEvent.patch similarity index 100% rename from patches/server/0645-Fix-sticky-pistons-and-BlockPistonRetractEvent.patch rename to patches/server/0644-Fix-sticky-pistons-and-BlockPistonRetractEvent.patch diff --git a/patches/server/0646-Expose-isFuel-and-canSmelt-methods-to-FurnaceInvento.patch b/patches/server/0645-Expose-isFuel-and-canSmelt-methods-to-FurnaceInvento.patch similarity index 100% rename from patches/server/0646-Expose-isFuel-and-canSmelt-methods-to-FurnaceInvento.patch rename to patches/server/0645-Expose-isFuel-and-canSmelt-methods-to-FurnaceInvento.patch diff --git a/patches/server/0647-Bucketable-API.patch b/patches/server/0646-Bucketable-API.patch similarity index 100% rename from patches/server/0647-Bucketable-API.patch rename to patches/server/0646-Bucketable-API.patch diff --git a/patches/server/0648-Validate-usernames.patch b/patches/server/0647-Validate-usernames.patch similarity index 97% rename from patches/server/0648-Validate-usernames.patch rename to patches/server/0647-Validate-usernames.patch index 08d6e377eb..788e0c2a0d 100644 --- a/patches/server/0648-Validate-usernames.patch +++ b/patches/server/0647-Validate-usernames.patch @@ -32,7 +32,7 @@ index baedae23865ea80c6546d1f6f439e1d7712258b9..e9cd90b6bb2f57d605323add43f12962 GameProfile gameprofile = this.server.getSingleplayerProfile(); diff --git a/src/main/java/net/minecraft/server/players/PlayerList.java b/src/main/java/net/minecraft/server/players/PlayerList.java -index 2eced5d3b539dfd072b8b4eafb34f21f849b1bd5..97257e44163ed565b5f1152f0738649b1adbeb07 100644 +index d4fa173cebcef5fa86e5d077c2bad8e831392bf0..9563fc34579992b74451f32e8cbb24b19d1ee19e 100644 --- a/src/main/java/net/minecraft/server/players/PlayerList.java +++ b/src/main/java/net/minecraft/server/players/PlayerList.java @@ -670,7 +670,7 @@ public abstract class PlayerList { diff --git a/patches/server/0649-Make-water-animal-spawn-height-configurable.patch b/patches/server/0648-Make-water-animal-spawn-height-configurable.patch similarity index 100% rename from patches/server/0649-Make-water-animal-spawn-height-configurable.patch rename to patches/server/0648-Make-water-animal-spawn-height-configurable.patch diff --git a/patches/server/0650-Expose-vanilla-BiomeProvider-from-WorldInfo.patch b/patches/server/0649-Expose-vanilla-BiomeProvider-from-WorldInfo.patch similarity index 100% rename from patches/server/0650-Expose-vanilla-BiomeProvider-from-WorldInfo.patch rename to patches/server/0649-Expose-vanilla-BiomeProvider-from-WorldInfo.patch diff --git a/patches/server/0651-Add-config-option-for-worlds-affected-by-time-cmd.patch b/patches/server/0650-Add-config-option-for-worlds-affected-by-time-cmd.patch similarity index 100% rename from patches/server/0651-Add-config-option-for-worlds-affected-by-time-cmd.patch rename to patches/server/0650-Add-config-option-for-worlds-affected-by-time-cmd.patch diff --git a/patches/server/0652-Add-missing-IAE-check-for-PersistentDataContainer-ha.patch b/patches/server/0651-Add-missing-IAE-check-for-PersistentDataContainer-ha.patch similarity index 100% rename from patches/server/0652-Add-missing-IAE-check-for-PersistentDataContainer-ha.patch rename to patches/server/0651-Add-missing-IAE-check-for-PersistentDataContainer-ha.patch diff --git a/patches/server/0653-Multiple-Entries-with-Scoreboards.patch b/patches/server/0652-Multiple-Entries-with-Scoreboards.patch similarity index 100% rename from patches/server/0653-Multiple-Entries-with-Scoreboards.patch rename to patches/server/0652-Multiple-Entries-with-Scoreboards.patch diff --git a/patches/server/0654-Reset-placed-block-on-exception.patch b/patches/server/0653-Reset-placed-block-on-exception.patch similarity index 100% rename from patches/server/0654-Reset-placed-block-on-exception.patch rename to patches/server/0653-Reset-placed-block-on-exception.patch diff --git a/patches/server/0655-Add-configurable-height-for-slime-spawn.patch b/patches/server/0654-Add-configurable-height-for-slime-spawn.patch similarity index 100% rename from patches/server/0655-Add-configurable-height-for-slime-spawn.patch rename to patches/server/0654-Add-configurable-height-for-slime-spawn.patch diff --git a/patches/server/0656-Fix-xp-reward-for-baby-zombies.patch b/patches/server/0655-Fix-xp-reward-for-baby-zombies.patch similarity index 100% rename from patches/server/0656-Fix-xp-reward-for-baby-zombies.patch rename to patches/server/0655-Fix-xp-reward-for-baby-zombies.patch diff --git a/patches/server/0657-Multi-Block-Change-API-Implementation.patch b/patches/server/0656-Multi-Block-Change-API-Implementation.patch similarity index 97% rename from patches/server/0657-Multi-Block-Change-API-Implementation.patch rename to patches/server/0656-Multi-Block-Change-API-Implementation.patch index 6cf3af0bc9..edfcf23bd1 100644 --- a/patches/server/0657-Multi-Block-Change-API-Implementation.patch +++ b/patches/server/0656-Multi-Block-Change-API-Implementation.patch @@ -24,7 +24,7 @@ index 926ff9be3d9e3f5d620e4c7ccb22b9f64865ff8c..1a37654aff9a9c86c9f7af10a1cf7213 buf.writeLong(this.sectionPos.asLong()); buf.writeVarInt(this.positions.length); diff --git a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java -index 395d5b5378e122c820fd4632180cf4f859e1f502..1ffbb31f2926a1b076ab213cb32dd19c7b0f8768 100644 +index 37f220976b1f1b0a423d7354e6730b6ad8096495..4b7b812a0203ef8a586c0e0cee10c41935487309 100644 --- a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java +++ b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java @@ -930,6 +930,32 @@ public class CraftPlayer extends CraftHumanEntity implements Player { diff --git a/patches/server/0658-Fix-NotePlayEvent.patch b/patches/server/0657-Fix-NotePlayEvent.patch similarity index 100% rename from patches/server/0658-Fix-NotePlayEvent.patch rename to patches/server/0657-Fix-NotePlayEvent.patch diff --git a/patches/server/0659-Freeze-Tick-Lock-API.patch b/patches/server/0658-Freeze-Tick-Lock-API.patch similarity index 100% rename from patches/server/0659-Freeze-Tick-Lock-API.patch rename to patches/server/0658-Freeze-Tick-Lock-API.patch diff --git a/patches/server/0660-More-PotionEffectType-API.patch b/patches/server/0659-More-PotionEffectType-API.patch similarity index 100% rename from patches/server/0660-More-PotionEffectType-API.patch rename to patches/server/0659-More-PotionEffectType-API.patch diff --git a/patches/server/0661-Use-a-CHM-for-StructureTemplate.Pallete-cache.patch b/patches/server/0660-Use-a-CHM-for-StructureTemplate.Pallete-cache.patch similarity index 100% rename from patches/server/0661-Use-a-CHM-for-StructureTemplate.Pallete-cache.patch rename to patches/server/0660-Use-a-CHM-for-StructureTemplate.Pallete-cache.patch diff --git a/patches/server/0662-API-for-creating-command-sender-which-forwards-feedb.patch b/patches/server/0661-API-for-creating-command-sender-which-forwards-feedb.patch similarity index 100% rename from patches/server/0662-API-for-creating-command-sender-which-forwards-feedb.patch rename to patches/server/0661-API-for-creating-command-sender-which-forwards-feedb.patch diff --git a/patches/server/0663-Add-missing-structure-set-seed-configs.patch b/patches/server/0662-Add-missing-structure-set-seed-configs.patch similarity index 100% rename from patches/server/0663-Add-missing-structure-set-seed-configs.patch rename to patches/server/0662-Add-missing-structure-set-seed-configs.patch diff --git a/patches/server/0664-Fix-cancelled-powdered-snow-bucket-placement.patch b/patches/server/0663-Fix-cancelled-powdered-snow-bucket-placement.patch similarity index 95% rename from patches/server/0664-Fix-cancelled-powdered-snow-bucket-placement.patch rename to patches/server/0663-Fix-cancelled-powdered-snow-bucket-placement.patch index d4169a6e7a..1080cc2e2e 100644 --- a/patches/server/0664-Fix-cancelled-powdered-snow-bucket-placement.patch +++ b/patches/server/0663-Fix-cancelled-powdered-snow-bucket-placement.patch @@ -8,7 +8,7 @@ snow bucket didn't revert grass that became snowy because of the placement. diff --git a/src/main/java/net/minecraft/world/item/ItemStack.java b/src/main/java/net/minecraft/world/item/ItemStack.java -index ebc5f2e8d59da4bec25ff156ec95fe49366be59c..823146a66de8ce13e6dc6faf2fd135480bd51c3a 100644 +index 14d6e4548703b9b8640913f77406fff85f28d7ef..eeba6d3aeb50bc7ee6dcfe7cc18eee2487d47357 100644 --- a/src/main/java/net/minecraft/world/item/ItemStack.java +++ b/src/main/java/net/minecraft/world/item/ItemStack.java @@ -422,7 +422,7 @@ public final class ItemStack implements DataComponentHolder { diff --git a/patches/server/0665-Add-missing-Validate-calls-to-CraftServer-getSpawnLi.patch b/patches/server/0664-Add-missing-Validate-calls-to-CraftServer-getSpawnLi.patch similarity index 100% rename from patches/server/0665-Add-missing-Validate-calls-to-CraftServer-getSpawnLi.patch rename to patches/server/0664-Add-missing-Validate-calls-to-CraftServer-getSpawnLi.patch diff --git a/patches/server/0666-Add-GameEvent-tags.patch b/patches/server/0665-Add-GameEvent-tags.patch similarity index 100% rename from patches/server/0666-Add-GameEvent-tags.patch rename to patches/server/0665-Add-GameEvent-tags.patch diff --git a/patches/server/0667-Execute-chunk-tasks-fairly-for-worlds-while-waiting-.patch b/patches/server/0666-Execute-chunk-tasks-fairly-for-worlds-while-waiting-.patch similarity index 100% rename from patches/server/0667-Execute-chunk-tasks-fairly-for-worlds-while-waiting-.patch rename to patches/server/0666-Execute-chunk-tasks-fairly-for-worlds-while-waiting-.patch diff --git a/patches/server/0668-Furnace-RecipesUsed-API.patch b/patches/server/0667-Furnace-RecipesUsed-API.patch similarity index 100% rename from patches/server/0668-Furnace-RecipesUsed-API.patch rename to patches/server/0667-Furnace-RecipesUsed-API.patch diff --git a/patches/server/0669-Configurable-sculk-sensor-listener-range.patch b/patches/server/0668-Configurable-sculk-sensor-listener-range.patch similarity index 100% rename from patches/server/0669-Configurable-sculk-sensor-listener-range.patch rename to patches/server/0668-Configurable-sculk-sensor-listener-range.patch diff --git a/patches/server/0670-Add-missing-block-data-mins-and-maxes.patch b/patches/server/0669-Add-missing-block-data-mins-and-maxes.patch similarity index 100% rename from patches/server/0670-Add-missing-block-data-mins-and-maxes.patch rename to patches/server/0669-Add-missing-block-data-mins-and-maxes.patch diff --git a/patches/server/0671-Option-to-have-default-CustomSpawners-in-custom-worl.patch b/patches/server/0670-Option-to-have-default-CustomSpawners-in-custom-worl.patch similarity index 100% rename from patches/server/0671-Option-to-have-default-CustomSpawners-in-custom-worl.patch rename to patches/server/0670-Option-to-have-default-CustomSpawners-in-custom-worl.patch diff --git a/patches/server/0672-Put-world-into-worldlist-before-initing-the-world.patch b/patches/server/0671-Put-world-into-worldlist-before-initing-the-world.patch similarity index 100% rename from patches/server/0672-Put-world-into-worldlist-before-initing-the-world.patch rename to patches/server/0671-Put-world-into-worldlist-before-initing-the-world.patch diff --git a/patches/server/0673-Custom-Potion-Mixes.patch b/patches/server/0672-Custom-Potion-Mixes.patch similarity index 99% rename from patches/server/0673-Custom-Potion-Mixes.patch rename to patches/server/0672-Custom-Potion-Mixes.patch index 8cd0b19f49..89fb9f45a5 100644 --- a/patches/server/0673-Custom-Potion-Mixes.patch +++ b/patches/server/0672-Custom-Potion-Mixes.patch @@ -108,7 +108,7 @@ index 04286e907ff14cc8c45dbfc6ab12f520afcca2ca..8142e4a238066404f3d1685f9cee1a2b this.getPlayerList().reloadResources(); this.functionManager.replaceLibrary(this.resources.managers.getFunctionLibrary()); diff --git a/src/main/java/net/minecraft/world/inventory/BrewingStandMenu.java b/src/main/java/net/minecraft/world/inventory/BrewingStandMenu.java -index a7c33675c3777cfbeeecbb3a123a0b03195e679c..93c4657f345b6d3442b1f2ab17b2703ded86b525 100644 +index 993abd8b0b80bfc7a1ce936eaaf3e0804fc9e0a4..eb2cdb36366e376b4e91aea847170b82ca26d274 100644 --- a/src/main/java/net/minecraft/world/inventory/BrewingStandMenu.java +++ b/src/main/java/net/minecraft/world/inventory/BrewingStandMenu.java @@ -53,9 +53,11 @@ public class BrewingStandMenu extends AbstractContainerMenu { diff --git a/patches/server/0674-Force-close-world-loading-screen.patch b/patches/server/0673-Force-close-world-loading-screen.patch similarity index 95% rename from patches/server/0674-Force-close-world-loading-screen.patch rename to patches/server/0673-Force-close-world-loading-screen.patch index 83d9e2f203..28475526c4 100644 --- a/patches/server/0674-Force-close-world-loading-screen.patch +++ b/patches/server/0673-Force-close-world-loading-screen.patch @@ -10,7 +10,7 @@ so we do not need that. The client only needs the chunk it is currently in to be loaded to close the loading screen, so we just send an empty one. diff --git a/src/main/java/net/minecraft/server/players/PlayerList.java b/src/main/java/net/minecraft/server/players/PlayerList.java -index 97257e44163ed565b5f1152f0738649b1adbeb07..d21d9a66ab7197ea4fa324a9af64a1457d8e602b 100644 +index 9563fc34579992b74451f32e8cbb24b19d1ee19e..2916328a5b94783e68688756b5ad7685f180e27f 100644 --- a/src/main/java/net/minecraft/server/players/PlayerList.java +++ b/src/main/java/net/minecraft/server/players/PlayerList.java @@ -394,6 +394,16 @@ public abstract class PlayerList { diff --git a/patches/server/0675-Fix-falling-block-spawn-methods.patch b/patches/server/0674-Fix-falling-block-spawn-methods.patch similarity index 100% rename from patches/server/0675-Fix-falling-block-spawn-methods.patch rename to patches/server/0674-Fix-falling-block-spawn-methods.patch diff --git a/patches/server/0676-Expose-furnace-minecart-push-values.patch b/patches/server/0675-Expose-furnace-minecart-push-values.patch similarity index 100% rename from patches/server/0676-Expose-furnace-minecart-push-values.patch rename to patches/server/0675-Expose-furnace-minecart-push-values.patch diff --git a/patches/server/0677-Fix-cancelling-ProjectileHitEvent-for-piercing-arrow.patch b/patches/server/0676-Fix-cancelling-ProjectileHitEvent-for-piercing-arrow.patch similarity index 100% rename from patches/server/0677-Fix-cancelling-ProjectileHitEvent-for-piercing-arrow.patch rename to patches/server/0676-Fix-cancelling-ProjectileHitEvent-for-piercing-arrow.patch diff --git a/patches/server/0678-More-Projectile-API.patch b/patches/server/0677-More-Projectile-API.patch similarity index 99% rename from patches/server/0678-More-Projectile-API.patch rename to patches/server/0677-More-Projectile-API.patch index 34a555256e..1fb8d2e9f1 100644 --- a/patches/server/0678-More-Projectile-API.patch +++ b/patches/server/0677-More-Projectile-API.patch @@ -713,10 +713,10 @@ index e374b9f40eddca13b30855d25a2030f8df98138f..4fc893378fb0568ddcffc7593d66df6b // Paper end } diff --git a/src/main/java/org/bukkit/craftbukkit/event/CraftEventFactory.java b/src/main/java/org/bukkit/craftbukkit/event/CraftEventFactory.java -index 76be6bf839bb6aec7f2ab0295a3509fb106a95bf..3504b19a3748c64a6c93c86aa0b4a7a140996e06 100644 +index 4180b86620aa18a95e0793f646515779801a343e..ffc55cf79d0e7f90ba2816d7604477f018d75ecd 100644 --- a/src/main/java/org/bukkit/craftbukkit/event/CraftEventFactory.java +++ b/src/main/java/org/bukkit/craftbukkit/event/CraftEventFactory.java -@@ -837,19 +837,19 @@ public class CraftEventFactory { +@@ -841,19 +841,19 @@ public class CraftEventFactory { /** * PotionSplashEvent */ @@ -739,7 +739,7 @@ index 76be6bf839bb6aec7f2ab0295a3509fb106a95bf..3504b19a3748c64a6c93c86aa0b4a7a1 hitEntity = ((EntityHitResult) position).getEntity().getBukkitEntity(); } -@@ -858,20 +858,20 @@ public class CraftEventFactory { +@@ -862,20 +862,20 @@ public class CraftEventFactory { return event; } diff --git a/patches/server/0679-Fix-swamp-hut-cat-generation-deadlock.patch b/patches/server/0678-Fix-swamp-hut-cat-generation-deadlock.patch similarity index 100% rename from patches/server/0679-Fix-swamp-hut-cat-generation-deadlock.patch rename to patches/server/0678-Fix-swamp-hut-cat-generation-deadlock.patch diff --git a/patches/server/0680-Don-t-allow-vehicle-movement-from-players-while-tele.patch b/patches/server/0679-Don-t-allow-vehicle-movement-from-players-while-tele.patch similarity index 100% rename from patches/server/0680-Don-t-allow-vehicle-movement-from-players-while-tele.patch rename to patches/server/0679-Don-t-allow-vehicle-movement-from-players-while-tele.patch diff --git a/patches/server/0681-Implement-getComputedBiome-API.patch b/patches/server/0680-Implement-getComputedBiome-API.patch similarity index 100% rename from patches/server/0681-Implement-getComputedBiome-API.patch rename to patches/server/0680-Implement-getComputedBiome-API.patch diff --git a/patches/server/0682-Make-some-itemstacks-nonnull.patch b/patches/server/0681-Make-some-itemstacks-nonnull.patch similarity index 100% rename from patches/server/0682-Make-some-itemstacks-nonnull.patch rename to patches/server/0681-Make-some-itemstacks-nonnull.patch diff --git a/patches/server/0683-Implement-enchantWithLevels-API.patch b/patches/server/0682-Implement-enchantWithLevels-API.patch similarity index 100% rename from patches/server/0683-Implement-enchantWithLevels-API.patch rename to patches/server/0682-Implement-enchantWithLevels-API.patch diff --git a/patches/server/0684-Fix-saving-in-unloadWorld.patch b/patches/server/0683-Fix-saving-in-unloadWorld.patch similarity index 100% rename from patches/server/0684-Fix-saving-in-unloadWorld.patch rename to patches/server/0683-Fix-saving-in-unloadWorld.patch diff --git a/patches/server/0685-Buffer-OOB-setBlock-calls.patch b/patches/server/0684-Buffer-OOB-setBlock-calls.patch similarity index 100% rename from patches/server/0685-Buffer-OOB-setBlock-calls.patch rename to patches/server/0684-Buffer-OOB-setBlock-calls.patch diff --git a/patches/server/0686-Add-TameableDeathMessageEvent.patch b/patches/server/0685-Add-TameableDeathMessageEvent.patch similarity index 100% rename from patches/server/0686-Add-TameableDeathMessageEvent.patch rename to patches/server/0685-Add-TameableDeathMessageEvent.patch diff --git a/patches/server/0687-Fix-new-block-data-for-EntityChangeBlockEvent.patch b/patches/server/0686-Fix-new-block-data-for-EntityChangeBlockEvent.patch similarity index 99% rename from patches/server/0687-Fix-new-block-data-for-EntityChangeBlockEvent.patch rename to patches/server/0686-Fix-new-block-data-for-EntityChangeBlockEvent.patch index 7e7e38c837..48633dc491 100644 --- a/patches/server/0687-Fix-new-block-data-for-EntityChangeBlockEvent.patch +++ b/patches/server/0686-Fix-new-block-data-for-EntityChangeBlockEvent.patch @@ -196,10 +196,10 @@ index edc20745649b0837f1371c8d29e71fc0c8e5528f..932831bb5632ead5850842fc77192c84 } // CraftBukkit end diff --git a/src/main/java/org/bukkit/craftbukkit/event/CraftEventFactory.java b/src/main/java/org/bukkit/craftbukkit/event/CraftEventFactory.java -index 3504b19a3748c64a6c93c86aa0b4a7a140996e06..55eee3a7d922f8c298b4653d733e30edc12005c5 100644 +index ffc55cf79d0e7f90ba2816d7604477f018d75ecd..697ef7d19cca2d3f51ccff9e4ab14d87a7ddaf00 100644 --- a/src/main/java/org/bukkit/craftbukkit/event/CraftEventFactory.java +++ b/src/main/java/org/bukkit/craftbukkit/event/CraftEventFactory.java -@@ -1374,11 +1374,11 @@ public class CraftEventFactory { +@@ -1378,11 +1378,11 @@ public class CraftEventFactory { return event; } diff --git a/patches/server/0688-fix-player-loottables-running-when-mob-loot-gamerule.patch b/patches/server/0687-fix-player-loottables-running-when-mob-loot-gamerule.patch similarity index 100% rename from patches/server/0688-fix-player-loottables-running-when-mob-loot-gamerule.patch rename to patches/server/0687-fix-player-loottables-running-when-mob-loot-gamerule.patch diff --git a/patches/server/0689-Ensure-entity-passenger-world-matches-ridden-entity.patch b/patches/server/0688-Ensure-entity-passenger-world-matches-ridden-entity.patch similarity index 100% rename from patches/server/0689-Ensure-entity-passenger-world-matches-ridden-entity.patch rename to patches/server/0688-Ensure-entity-passenger-world-matches-ridden-entity.patch diff --git a/patches/server/0690-cache-resource-keys.patch b/patches/server/0689-cache-resource-keys.patch similarity index 100% rename from patches/server/0690-cache-resource-keys.patch rename to patches/server/0689-cache-resource-keys.patch diff --git a/patches/server/0691-Allow-changing-the-EnderDragon-podium.patch b/patches/server/0690-Allow-changing-the-EnderDragon-podium.patch similarity index 100% rename from patches/server/0691-Allow-changing-the-EnderDragon-podium.patch rename to patches/server/0690-Allow-changing-the-EnderDragon-podium.patch diff --git a/patches/server/0692-Fix-NBT-pieces-overriding-a-block-entity-during-worl.patch b/patches/server/0691-Fix-NBT-pieces-overriding-a-block-entity-during-worl.patch similarity index 100% rename from patches/server/0692-Fix-NBT-pieces-overriding-a-block-entity-during-worl.patch rename to patches/server/0691-Fix-NBT-pieces-overriding-a-block-entity-during-worl.patch diff --git a/patches/server/0693-Prevent-tile-entity-copies-loading-chunks.patch b/patches/server/0692-Prevent-tile-entity-copies-loading-chunks.patch similarity index 100% rename from patches/server/0693-Prevent-tile-entity-copies-loading-chunks.patch rename to patches/server/0692-Prevent-tile-entity-copies-loading-chunks.patch diff --git a/patches/server/0694-Use-username-instead-of-display-name-in-PlayerList-g.patch b/patches/server/0693-Use-username-instead-of-display-name-in-PlayerList-g.patch similarity index 100% rename from patches/server/0694-Use-username-instead-of-display-name-in-PlayerList-g.patch rename to patches/server/0693-Use-username-instead-of-display-name-in-PlayerList-g.patch diff --git a/patches/server/0695-Expand-PlayerItemDamageEvent.patch b/patches/server/0694-Expand-PlayerItemDamageEvent.patch similarity index 94% rename from patches/server/0695-Expand-PlayerItemDamageEvent.patch rename to patches/server/0694-Expand-PlayerItemDamageEvent.patch index bf458d8c9b..d550002186 100644 --- a/patches/server/0695-Expand-PlayerItemDamageEvent.patch +++ b/patches/server/0694-Expand-PlayerItemDamageEvent.patch @@ -5,7 +5,7 @@ Subject: [PATCH] Expand PlayerItemDamageEvent diff --git a/src/main/java/net/minecraft/world/item/ItemStack.java b/src/main/java/net/minecraft/world/item/ItemStack.java -index 823146a66de8ce13e6dc6faf2fd135480bd51c3a..d825c2e3808e44db9935dab4e7b528146c6d83c2 100644 +index eeba6d3aeb50bc7ee6dcfe7cc18eee2487d47357..598507684aed7978fa2e9bae0d959c7d0f9e53d6 100644 --- a/src/main/java/net/minecraft/world/item/ItemStack.java +++ b/src/main/java/net/minecraft/world/item/ItemStack.java @@ -650,10 +650,11 @@ public final class ItemStack implements DataComponentHolder { diff --git a/patches/server/0696-WorldCreator-keepSpawnLoaded.patch b/patches/server/0695-WorldCreator-keepSpawnLoaded.patch similarity index 100% rename from patches/server/0696-WorldCreator-keepSpawnLoaded.patch rename to patches/server/0695-WorldCreator-keepSpawnLoaded.patch diff --git a/patches/server/0697-Fix-CME-in-CraftPersistentDataTypeRegistry.patch b/patches/server/0696-Fix-CME-in-CraftPersistentDataTypeRegistry.patch similarity index 100% rename from patches/server/0697-Fix-CME-in-CraftPersistentDataTypeRegistry.patch rename to patches/server/0696-Fix-CME-in-CraftPersistentDataTypeRegistry.patch diff --git a/patches/server/0698-Trigger-bee_nest_destroyed-trigger-in-the-correct-pl.patch b/patches/server/0697-Trigger-bee_nest_destroyed-trigger-in-the-correct-pl.patch similarity index 100% rename from patches/server/0698-Trigger-bee_nest_destroyed-trigger-in-the-correct-pl.patch rename to patches/server/0697-Trigger-bee_nest_destroyed-trigger-in-the-correct-pl.patch diff --git a/patches/server/0699-Add-EntityDyeEvent-and-CollarColorable-interface.patch b/patches/server/0698-Add-EntityDyeEvent-and-CollarColorable-interface.patch similarity index 100% rename from patches/server/0699-Add-EntityDyeEvent-and-CollarColorable-interface.patch rename to patches/server/0698-Add-EntityDyeEvent-and-CollarColorable-interface.patch diff --git a/patches/server/0700-Fire-CauldronLevelChange-on-initial-fill.patch b/patches/server/0699-Fire-CauldronLevelChange-on-initial-fill.patch similarity index 100% rename from patches/server/0700-Fire-CauldronLevelChange-on-initial-fill.patch rename to patches/server/0699-Fire-CauldronLevelChange-on-initial-fill.patch diff --git a/patches/server/0701-fix-powder-snow-cauldrons-not-turning-to-water.patch b/patches/server/0700-fix-powder-snow-cauldrons-not-turning-to-water.patch similarity index 100% rename from patches/server/0701-fix-powder-snow-cauldrons-not-turning-to-water.patch rename to patches/server/0700-fix-powder-snow-cauldrons-not-turning-to-water.patch diff --git a/patches/server/0702-Add-PlayerStopUsingItemEvent.patch b/patches/server/0701-Add-PlayerStopUsingItemEvent.patch similarity index 100% rename from patches/server/0702-Add-PlayerStopUsingItemEvent.patch rename to patches/server/0701-Add-PlayerStopUsingItemEvent.patch diff --git a/patches/server/0703-Don-t-tick-markers.patch b/patches/server/0702-Don-t-tick-markers.patch similarity index 100% rename from patches/server/0703-Don-t-tick-markers.patch rename to patches/server/0702-Don-t-tick-markers.patch diff --git a/patches/server/0704-Expand-FallingBlock-API.patch b/patches/server/0703-Expand-FallingBlock-API.patch similarity index 100% rename from patches/server/0704-Expand-FallingBlock-API.patch rename to patches/server/0703-Expand-FallingBlock-API.patch diff --git a/patches/server/0705-Add-support-for-Proxy-Protocol.patch b/patches/server/0704-Add-support-for-Proxy-Protocol.patch similarity index 100% rename from patches/server/0705-Add-support-for-Proxy-Protocol.patch rename to patches/server/0704-Add-support-for-Proxy-Protocol.patch diff --git a/patches/server/0706-Fix-OfflinePlayer-getBedSpawnLocation.patch b/patches/server/0705-Fix-OfflinePlayer-getBedSpawnLocation.patch similarity index 100% rename from patches/server/0706-Fix-OfflinePlayer-getBedSpawnLocation.patch rename to patches/server/0705-Fix-OfflinePlayer-getBedSpawnLocation.patch diff --git a/patches/server/0707-Fix-FurnaceInventory-for-smokers-and-blast-furnaces.patch b/patches/server/0706-Fix-FurnaceInventory-for-smokers-and-blast-furnaces.patch similarity index 100% rename from patches/server/0707-Fix-FurnaceInventory-for-smokers-and-blast-furnaces.patch rename to patches/server/0706-Fix-FurnaceInventory-for-smokers-and-blast-furnaces.patch diff --git a/patches/server/0708-Sanitize-sent-BlockEntity-NBT.patch b/patches/server/0707-Sanitize-sent-BlockEntity-NBT.patch similarity index 100% rename from patches/server/0708-Sanitize-sent-BlockEntity-NBT.patch rename to patches/server/0707-Sanitize-sent-BlockEntity-NBT.patch diff --git a/patches/server/0709-Disable-component-selector-resolving-in-books-by-def.patch b/patches/server/0708-Disable-component-selector-resolving-in-books-by-def.patch similarity index 100% rename from patches/server/0709-Disable-component-selector-resolving-in-books-by-def.patch rename to patches/server/0708-Disable-component-selector-resolving-in-books-by-def.patch diff --git a/patches/server/0710-Prevent-entity-loading-causing-async-lookups.patch b/patches/server/0709-Prevent-entity-loading-causing-async-lookups.patch similarity index 100% rename from patches/server/0710-Prevent-entity-loading-causing-async-lookups.patch rename to patches/server/0709-Prevent-entity-loading-causing-async-lookups.patch diff --git a/patches/server/0711-Throw-exception-on-world-create-while-being-ticked.patch b/patches/server/0710-Throw-exception-on-world-create-while-being-ticked.patch similarity index 100% rename from patches/server/0711-Throw-exception-on-world-create-while-being-ticked.patch rename to patches/server/0710-Throw-exception-on-world-create-while-being-ticked.patch diff --git a/patches/server/0712-Dont-resent-entity-on-art-update.patch b/patches/server/0711-Dont-resent-entity-on-art-update.patch similarity index 100% rename from patches/server/0712-Dont-resent-entity-on-art-update.patch rename to patches/server/0711-Dont-resent-entity-on-art-update.patch diff --git a/patches/server/0713-Add-WardenAngerChangeEvent.patch b/patches/server/0712-Add-WardenAngerChangeEvent.patch similarity index 100% rename from patches/server/0713-Add-WardenAngerChangeEvent.patch rename to patches/server/0712-Add-WardenAngerChangeEvent.patch diff --git a/patches/server/0714-Add-option-for-strict-advancement-dimension-checks.patch b/patches/server/0713-Add-option-for-strict-advancement-dimension-checks.patch similarity index 100% rename from patches/server/0714-Add-option-for-strict-advancement-dimension-checks.patch rename to patches/server/0713-Add-option-for-strict-advancement-dimension-checks.patch diff --git a/patches/server/0715-Add-missing-important-BlockStateListPopulator-method.patch b/patches/server/0714-Add-missing-important-BlockStateListPopulator-method.patch similarity index 100% rename from patches/server/0715-Add-missing-important-BlockStateListPopulator-method.patch rename to patches/server/0714-Add-missing-important-BlockStateListPopulator-method.patch diff --git a/patches/server/0716-Nameable-Banner-API.patch b/patches/server/0715-Nameable-Banner-API.patch similarity index 100% rename from patches/server/0716-Nameable-Banner-API.patch rename to patches/server/0715-Nameable-Banner-API.patch diff --git a/patches/server/0717-Don-t-broadcast-messages-to-command-blocks.patch b/patches/server/0716-Don-t-broadcast-messages-to-command-blocks.patch similarity index 100% rename from patches/server/0717-Don-t-broadcast-messages-to-command-blocks.patch rename to patches/server/0716-Don-t-broadcast-messages-to-command-blocks.patch diff --git a/patches/server/0718-Prevent-empty-items-from-being-added-to-world.patch b/patches/server/0717-Prevent-empty-items-from-being-added-to-world.patch similarity index 100% rename from patches/server/0718-Prevent-empty-items-from-being-added-to-world.patch rename to patches/server/0717-Prevent-empty-items-from-being-added-to-world.patch diff --git a/patches/server/0719-Fix-CCE-for-SplashPotion-and-LingeringPotion-spawnin.patch b/patches/server/0718-Fix-CCE-for-SplashPotion-and-LingeringPotion-spawnin.patch similarity index 100% rename from patches/server/0719-Fix-CCE-for-SplashPotion-and-LingeringPotion-spawnin.patch rename to patches/server/0718-Fix-CCE-for-SplashPotion-and-LingeringPotion-spawnin.patch diff --git a/patches/server/0720-Add-Player-getFishHook.patch b/patches/server/0719-Add-Player-getFishHook.patch similarity index 100% rename from patches/server/0720-Add-Player-getFishHook.patch rename to patches/server/0719-Add-Player-getFishHook.patch diff --git a/patches/server/0721-Do-not-sync-load-chunk-for-dynamic-game-event-listen.patch b/patches/server/0720-Do-not-sync-load-chunk-for-dynamic-game-event-listen.patch similarity index 100% rename from patches/server/0721-Do-not-sync-load-chunk-for-dynamic-game-event-listen.patch rename to patches/server/0720-Do-not-sync-load-chunk-for-dynamic-game-event-listen.patch diff --git a/patches/server/0722-Add-various-missing-EntityDropItemEvent-calls.patch b/patches/server/0721-Add-various-missing-EntityDropItemEvent-calls.patch similarity index 100% rename from patches/server/0722-Add-various-missing-EntityDropItemEvent-calls.patch rename to patches/server/0721-Add-various-missing-EntityDropItemEvent-calls.patch diff --git a/patches/server/0723-Fix-Bee-flower-NPE.patch b/patches/server/0722-Fix-Bee-flower-NPE.patch similarity index 100% rename from patches/server/0723-Fix-Bee-flower-NPE.patch rename to patches/server/0722-Fix-Bee-flower-NPE.patch diff --git a/patches/server/0724-Fix-Spigot-Config-not-using-commands.spam-exclusions.patch b/patches/server/0723-Fix-Spigot-Config-not-using-commands.spam-exclusions.patch similarity index 100% rename from patches/server/0724-Fix-Spigot-Config-not-using-commands.spam-exclusions.patch rename to patches/server/0723-Fix-Spigot-Config-not-using-commands.spam-exclusions.patch diff --git a/patches/server/0725-More-Teleport-API.patch b/patches/server/0724-More-Teleport-API.patch similarity index 98% rename from patches/server/0725-More-Teleport-API.patch rename to patches/server/0724-More-Teleport-API.patch index 658e715895..3c95df3508 100644 --- a/patches/server/0725-More-Teleport-API.patch +++ b/patches/server/0724-More-Teleport-API.patch @@ -29,7 +29,7 @@ index 8f65943161a6621f8f7926c48322e26a854ae139..58fd502c2a735d4a102de451a002cfd6 d0 = to.getX(); d1 = to.getY(); diff --git a/src/main/java/org/bukkit/craftbukkit/entity/CraftEntity.java b/src/main/java/org/bukkit/craftbukkit/entity/CraftEntity.java -index 47f24e390efd8eb4cb7f62b5203825f4160772b7..243ac4253a1541dba52126bad96682e43c6f48a1 100644 +index 4c09f2529dd8eb7ac7d260d177f5292ff2339442..94051ae8ea93ab144f3767345b1cda0438d2afc6 100644 --- a/src/main/java/org/bukkit/craftbukkit/entity/CraftEntity.java +++ b/src/main/java/org/bukkit/craftbukkit/entity/CraftEntity.java @@ -221,15 +221,36 @@ public abstract class CraftEntity implements org.bukkit.entity.Entity { @@ -112,7 +112,7 @@ index 47f24e390efd8eb4cb7f62b5203825f4160772b7..243ac4253a1541dba52126bad96682e4 private final org.bukkit.entity.Entity.Spigot spigot = new org.bukkit.entity.Entity.Spigot() { diff --git a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java -index 1ffbb31f2926a1b076ab213cb32dd19c7b0f8768..7f449bc5a0644709b426dba70a5afccc26a37de8 100644 +index 4b7b812a0203ef8a586c0e0cee10c41935487309..d2f6fb41b16468bf03675b3a331c707e21f8c9ce 100644 --- a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java +++ b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java @@ -1286,13 +1286,101 @@ public class CraftPlayer extends CraftHumanEntity implements Player { diff --git a/patches/server/0726-Add-EntityPortalReadyEvent.patch b/patches/server/0725-Add-EntityPortalReadyEvent.patch similarity index 100% rename from patches/server/0726-Add-EntityPortalReadyEvent.patch rename to patches/server/0725-Add-EntityPortalReadyEvent.patch diff --git a/patches/server/0727-Don-t-use-level-random-in-entity-constructors.patch b/patches/server/0726-Don-t-use-level-random-in-entity-constructors.patch similarity index 100% rename from patches/server/0727-Don-t-use-level-random-in-entity-constructors.patch rename to patches/server/0726-Don-t-use-level-random-in-entity-constructors.patch diff --git a/patches/server/0728-Send-block-entities-after-destroy-prediction.patch b/patches/server/0727-Send-block-entities-after-destroy-prediction.patch similarity index 100% rename from patches/server/0728-Send-block-entities-after-destroy-prediction.patch rename to patches/server/0727-Send-block-entities-after-destroy-prediction.patch diff --git a/patches/server/0729-Warn-on-plugins-accessing-faraway-chunks.patch b/patches/server/0728-Warn-on-plugins-accessing-faraway-chunks.patch similarity index 98% rename from patches/server/0729-Warn-on-plugins-accessing-faraway-chunks.patch rename to patches/server/0728-Warn-on-plugins-accessing-faraway-chunks.patch index b405c21a44..5030feaf00 100644 --- a/patches/server/0729-Warn-on-plugins-accessing-faraway-chunks.patch +++ b/patches/server/0728-Warn-on-plugins-accessing-faraway-chunks.patch @@ -5,7 +5,7 @@ Subject: [PATCH] Warn on plugins accessing faraway chunks diff --git a/src/main/java/net/minecraft/world/level/Level.java b/src/main/java/net/minecraft/world/level/Level.java -index 38bcf9f410e8a9d47c7d486c28dbc16a6225b650..210c3b6167dac93e550fe849e34b5aa404ab6dce 100644 +index b4111bcc6a676dc42b233761aa667708669c2ab8..cc92d2e8b77c75da1d8b850c3bc251e8ac221c24 100644 --- a/src/main/java/net/minecraft/world/level/Level.java +++ b/src/main/java/net/minecraft/world/level/Level.java @@ -339,7 +339,7 @@ public abstract class Level implements LevelAccessor, AutoCloseable { diff --git a/patches/server/0730-Custom-Chat-Completion-Suggestions-API.patch b/patches/server/0729-Custom-Chat-Completion-Suggestions-API.patch similarity index 94% rename from patches/server/0730-Custom-Chat-Completion-Suggestions-API.patch rename to patches/server/0729-Custom-Chat-Completion-Suggestions-API.patch index eb2cf4cb83..45789f37e1 100644 --- a/patches/server/0730-Custom-Chat-Completion-Suggestions-API.patch +++ b/patches/server/0729-Custom-Chat-Completion-Suggestions-API.patch @@ -5,7 +5,7 @@ Subject: [PATCH] Custom Chat Completion Suggestions API diff --git a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java -index 7f449bc5a0644709b426dba70a5afccc26a37de8..7a4ae758616225002cc14060753bb691ee1d94bb 100644 +index d2f6fb41b16468bf03675b3a331c707e21f8c9ce..5f3045630197f6d515bc66f7fa8014814dbfd8a7 100644 --- a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java +++ b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java @@ -691,6 +691,24 @@ public class CraftPlayer extends CraftHumanEntity implements Player { diff --git a/patches/server/0731-Add-and-fix-missing-BlockFadeEvents.patch b/patches/server/0730-Add-and-fix-missing-BlockFadeEvents.patch similarity index 100% rename from patches/server/0731-Add-and-fix-missing-BlockFadeEvents.patch rename to patches/server/0730-Add-and-fix-missing-BlockFadeEvents.patch diff --git a/patches/server/0732-Collision-API.patch b/patches/server/0731-Collision-API.patch similarity index 100% rename from patches/server/0732-Collision-API.patch rename to patches/server/0731-Collision-API.patch diff --git a/patches/server/0733-Fix-suggest-command-message-for-brigadier-syntax-exc.patch b/patches/server/0732-Fix-suggest-command-message-for-brigadier-syntax-exc.patch similarity index 100% rename from patches/server/0733-Fix-suggest-command-message-for-brigadier-syntax-exc.patch rename to patches/server/0732-Fix-suggest-command-message-for-brigadier-syntax-exc.patch diff --git a/patches/server/0734-Block-Ticking-API.patch b/patches/server/0733-Block-Ticking-API.patch similarity index 100% rename from patches/server/0734-Block-Ticking-API.patch rename to patches/server/0733-Block-Ticking-API.patch diff --git a/patches/server/0735-Add-Velocity-IP-Forwarding-Support.patch b/patches/server/0734-Add-Velocity-IP-Forwarding-Support.patch similarity index 100% rename from patches/server/0735-Add-Velocity-IP-Forwarding-Support.patch rename to patches/server/0734-Add-Velocity-IP-Forwarding-Support.patch diff --git a/patches/server/0736-Add-NamespacedKey-biome-methods.patch b/patches/server/0735-Add-NamespacedKey-biome-methods.patch similarity index 100% rename from patches/server/0736-Add-NamespacedKey-biome-methods.patch rename to patches/server/0735-Add-NamespacedKey-biome-methods.patch diff --git a/patches/server/0737-Fix-plugin-loggers-on-server-shutdown.patch b/patches/server/0736-Fix-plugin-loggers-on-server-shutdown.patch similarity index 96% rename from patches/server/0737-Fix-plugin-loggers-on-server-shutdown.patch rename to patches/server/0736-Fix-plugin-loggers-on-server-shutdown.patch index 18da0811b4..3a9d6b48df 100644 --- a/patches/server/0737-Fix-plugin-loggers-on-server-shutdown.patch +++ b/patches/server/0736-Fix-plugin-loggers-on-server-shutdown.patch @@ -49,7 +49,7 @@ index acdba56f025fe729398c5549175baad8e6818f62..3aba668f9a34cabc26063c61660ab22f } diff --git a/src/main/java/org/bukkit/craftbukkit/Main.java b/src/main/java/org/bukkit/craftbukkit/Main.java -index b9b93a4e20eed028b76eab4dcb9610ae05f22faf..1acc0a579804dee7bb3d0f755c24240413ed7540 100644 +index ba95452f99e542638c3a3f7bbfdf6e79849014c5..618f4b2e1d012b647b3e7bf359c8ecdd7f159e63 100644 --- a/src/main/java/org/bukkit/craftbukkit/Main.java +++ b/src/main/java/org/bukkit/craftbukkit/Main.java @@ -19,6 +19,12 @@ public class Main { diff --git a/patches/server/0738-Stop-large-look-changes-from-crashing-the-server.patch b/patches/server/0737-Stop-large-look-changes-from-crashing-the-server.patch similarity index 100% rename from patches/server/0738-Stop-large-look-changes-from-crashing-the-server.patch rename to patches/server/0737-Stop-large-look-changes-from-crashing-the-server.patch diff --git a/patches/server/0739-Fire-EntityChangeBlockEvent-in-more-places.patch b/patches/server/0738-Fire-EntityChangeBlockEvent-in-more-places.patch similarity index 100% rename from patches/server/0739-Fire-EntityChangeBlockEvent-in-more-places.patch rename to patches/server/0738-Fire-EntityChangeBlockEvent-in-more-places.patch diff --git a/patches/server/0740-Missing-eating-regain-reason.patch b/patches/server/0739-Missing-eating-regain-reason.patch similarity index 100% rename from patches/server/0740-Missing-eating-regain-reason.patch rename to patches/server/0739-Missing-eating-regain-reason.patch diff --git a/patches/server/0741-Missing-effect-cause.patch b/patches/server/0740-Missing-effect-cause.patch similarity index 100% rename from patches/server/0741-Missing-effect-cause.patch rename to patches/server/0740-Missing-effect-cause.patch diff --git a/patches/server/0742-Added-byte-array-serialization-deserialization-for-P.patch b/patches/server/0741-Added-byte-array-serialization-deserialization-for-P.patch similarity index 100% rename from patches/server/0742-Added-byte-array-serialization-deserialization-for-P.patch rename to patches/server/0741-Added-byte-array-serialization-deserialization-for-P.patch diff --git a/patches/server/0743-Add-a-consumer-parameter-to-ProjectileSource-launchP.patch b/patches/server/0742-Add-a-consumer-parameter-to-ProjectileSource-launchP.patch similarity index 100% rename from patches/server/0743-Add-a-consumer-parameter-to-ProjectileSource-launchP.patch rename to patches/server/0742-Add-a-consumer-parameter-to-ProjectileSource-launchP.patch diff --git a/patches/server/0744-Call-BlockPhysicsEvent-more-often.patch b/patches/server/0743-Call-BlockPhysicsEvent-more-often.patch similarity index 100% rename from patches/server/0744-Call-BlockPhysicsEvent-more-often.patch rename to patches/server/0743-Call-BlockPhysicsEvent-more-often.patch diff --git a/patches/server/0745-Configurable-chat-thread-limit.patch b/patches/server/0744-Configurable-chat-thread-limit.patch similarity index 100% rename from patches/server/0745-Configurable-chat-thread-limit.patch rename to patches/server/0744-Configurable-chat-thread-limit.patch diff --git a/patches/server/0746-Mitigate-effects-of-WorldCreator-keepSpawnLoaded-ret.patch b/patches/server/0745-Mitigate-effects-of-WorldCreator-keepSpawnLoaded-ret.patch similarity index 91% rename from patches/server/0746-Mitigate-effects-of-WorldCreator-keepSpawnLoaded-ret.patch rename to patches/server/0745-Mitigate-effects-of-WorldCreator-keepSpawnLoaded-ret.patch index f517c5483b..aaf56a3c17 100644 --- a/patches/server/0746-Mitigate-effects-of-WorldCreator-keepSpawnLoaded-ret.patch +++ b/patches/server/0745-Mitigate-effects-of-WorldCreator-keepSpawnLoaded-ret.patch @@ -7,10 +7,10 @@ Subject: [PATCH] Mitigate effects of WorldCreator#keepSpawnLoaded ret type TODO: Remove in 1.21? diff --git a/src/main/java/org/bukkit/craftbukkit/util/Commodore.java b/src/main/java/org/bukkit/craftbukkit/util/Commodore.java -index b67dfb358a9c1ae26793557ca2151357db4b1691..a28bd14454a599014f24ed21210a8a185ac624db 100644 +index 157fbe09ab22f3218d9d3f72e8c0a5a3d727eaeb..cae5c865388aca8041233ca52b25ecf68cd37494 100644 --- a/src/main/java/org/bukkit/craftbukkit/util/Commodore.java +++ b/src/main/java/org/bukkit/craftbukkit/util/Commodore.java -@@ -439,6 +439,12 @@ public class Commodore { +@@ -440,6 +440,12 @@ public class Commodore { super.visitMethodInsn(Opcodes.INVOKEVIRTUAL, runtimeCbPkgPrefix() + "advancement/CraftAdvancement", "getDisplay0", desc, false); return; } diff --git a/patches/server/0747-fix-Jigsaw-block-kicking-user.patch b/patches/server/0746-fix-Jigsaw-block-kicking-user.patch similarity index 100% rename from patches/server/0747-fix-Jigsaw-block-kicking-user.patch rename to patches/server/0746-fix-Jigsaw-block-kicking-user.patch diff --git a/patches/server/0748-use-BlockFormEvent-for-mud-converting-into-clay.patch b/patches/server/0747-use-BlockFormEvent-for-mud-converting-into-clay.patch similarity index 100% rename from patches/server/0748-use-BlockFormEvent-for-mud-converting-into-clay.patch rename to patches/server/0747-use-BlockFormEvent-for-mud-converting-into-clay.patch diff --git a/patches/server/0749-Add-getDrops-to-BlockState.patch b/patches/server/0748-Add-getDrops-to-BlockState.patch similarity index 100% rename from patches/server/0749-Add-getDrops-to-BlockState.patch rename to patches/server/0748-Add-getDrops-to-BlockState.patch diff --git a/patches/server/0750-Fix-a-bunch-of-vanilla-bugs.patch b/patches/server/0749-Fix-a-bunch-of-vanilla-bugs.patch similarity index 98% rename from patches/server/0750-Fix-a-bunch-of-vanilla-bugs.patch rename to patches/server/0749-Fix-a-bunch-of-vanilla-bugs.patch index 074c1a9d45..197bab1c24 100644 --- a/patches/server/0750-Fix-a-bunch-of-vanilla-bugs.patch +++ b/patches/server/0749-Fix-a-bunch-of-vanilla-bugs.patch @@ -85,7 +85,7 @@ index 6854ca4d4fec2b4fa541c3fabf63787665572609..e7b444a10b244828827b3c66c5346520 } diff --git a/src/main/java/net/minecraft/server/level/ChunkMap.java b/src/main/java/net/minecraft/server/level/ChunkMap.java -index b953def299faf1a13e1893d17a476f36e2d6337a..d409791325771909faaef0dffb0f7f02d1bf71af 100644 +index 071e9ef3680c5dc492c6142ccd05f6788ebc3035..61fda6927f060cdf8bcfddaaa08bbbe2c514c630 100644 --- a/src/main/java/net/minecraft/server/level/ChunkMap.java +++ b/src/main/java/net/minecraft/server/level/ChunkMap.java @@ -1027,7 +1027,7 @@ public class ChunkMap extends ChunkStorage implements ChunkHolder.PlayerProvider @@ -124,7 +124,7 @@ index 6abecaac8407b992d208a9108e11fd4954a4106f..03d89f326d320c5d778c3d1e2db7d6b8 this.player.server.getPlayerList().broadcastAll(new ClientboundPlayerInfoUpdatePacket(ClientboundPlayerInfoUpdatePacket.Action.UPDATE_GAME_MODE, this.player), this.player); // CraftBukkit this.level.updateSleepingPlayerList(); diff --git a/src/main/java/net/minecraft/server/players/PlayerList.java b/src/main/java/net/minecraft/server/players/PlayerList.java -index d430e6c08bae0a630e71c11c9eae26bef85bde36..a929b8f1c452db08a64e4be53b488cf2676e0a94 100644 +index b0a1f6cf2cc96a2ddc8232f929c134501d99411e..84add5cc89ec912389500b6140a39d6b7ddc9e86 100644 --- a/src/main/java/net/minecraft/server/players/PlayerList.java +++ b/src/main/java/net/minecraft/server/players/PlayerList.java @@ -260,7 +260,7 @@ public abstract class PlayerList { @@ -249,7 +249,7 @@ index 08dcc94c9eca9a5fd61055f05b7737ba5840b5bf..e0e5046c84941a8d17e18c177f3daea9 return 1; } diff --git a/src/main/java/net/minecraft/world/inventory/BeaconMenu.java b/src/main/java/net/minecraft/world/inventory/BeaconMenu.java -index 5b6133f6758d322713321b7e918db0c3e0d4be51..6173c689013ab02c83ca6ff1fde2b1e47f3e7820 100644 +index 396559c281eee9e8c677cb222721414e8d9e12a2..8b0ebf659f6b219ce2a5d10b0d79f9b89b47c911 100644 --- a/src/main/java/net/minecraft/world/inventory/BeaconMenu.java +++ b/src/main/java/net/minecraft/world/inventory/BeaconMenu.java @@ -178,6 +178,11 @@ public class BeaconMenu extends AbstractContainerMenu { diff --git a/patches/server/0751-Remove-unnecessary-onTrackingStart-during-navigation.patch b/patches/server/0750-Remove-unnecessary-onTrackingStart-during-navigation.patch similarity index 100% rename from patches/server/0751-Remove-unnecessary-onTrackingStart-during-navigation.patch rename to patches/server/0750-Remove-unnecessary-onTrackingStart-during-navigation.patch diff --git a/patches/server/0752-Fix-custom-piglin-loved-items.patch b/patches/server/0751-Fix-custom-piglin-loved-items.patch similarity index 100% rename from patches/server/0752-Fix-custom-piglin-loved-items.patch rename to patches/server/0751-Fix-custom-piglin-loved-items.patch diff --git a/patches/server/0753-EntityPickupItemEvent-fixes.patch b/patches/server/0752-EntityPickupItemEvent-fixes.patch similarity index 100% rename from patches/server/0753-EntityPickupItemEvent-fixes.patch rename to patches/server/0752-EntityPickupItemEvent-fixes.patch diff --git a/patches/server/0754-Correctly-handle-interactions-with-items-on-cooldown.patch b/patches/server/0753-Correctly-handle-interactions-with-items-on-cooldown.patch similarity index 94% rename from patches/server/0754-Correctly-handle-interactions-with-items-on-cooldown.patch rename to patches/server/0753-Correctly-handle-interactions-with-items-on-cooldown.patch index cc9068cb42..e533866d2a 100644 --- a/patches/server/0754-Correctly-handle-interactions-with-items-on-cooldown.patch +++ b/patches/server/0753-Correctly-handle-interactions-with-items-on-cooldown.patch @@ -30,10 +30,10 @@ index 03d89f326d320c5d778c3d1e2db7d6b88753faec..717d015dd4637dd9d568b751be1dc104 this.interactResult = event.useItemInHand() == Event.Result.DENY; this.interactPosition = blockposition.immutable(); diff --git a/src/main/java/org/bukkit/craftbukkit/event/CraftEventFactory.java b/src/main/java/org/bukkit/craftbukkit/event/CraftEventFactory.java -index 55eee3a7d922f8c298b4653d733e30edc12005c5..82b98a9b6418614283ac512f59586877f577b35b 100644 +index 697ef7d19cca2d3f51ccff9e4ab14d87a7ddaf00..668becf24a16af6b834d05608787c8f9420e9ad3 100644 --- a/src/main/java/org/bukkit/craftbukkit/event/CraftEventFactory.java +++ b/src/main/java/org/bukkit/craftbukkit/event/CraftEventFactory.java -@@ -550,6 +550,12 @@ public class CraftEventFactory { +@@ -554,6 +554,12 @@ public class CraftEventFactory { } public static PlayerInteractEvent callPlayerInteractEvent(net.minecraft.world.entity.player.Player who, Action action, BlockPos position, Direction direction, ItemStack itemstack, boolean cancelledBlock, InteractionHand hand, Vec3 targetPos) { @@ -46,7 +46,7 @@ index 55eee3a7d922f8c298b4653d733e30edc12005c5..82b98a9b6418614283ac512f59586877 Player player = (who == null) ? null : (Player) who.getBukkitEntity(); CraftItemStack itemInHand = CraftItemStack.asCraftMirror(itemstack); -@@ -584,6 +590,11 @@ public class CraftEventFactory { +@@ -588,6 +594,11 @@ public class CraftEventFactory { if (cancelledBlock) { event.setUseInteractedBlock(Event.Result.DENY); } diff --git a/patches/server/0755-Add-PlayerInventorySlotChangeEvent.patch b/patches/server/0754-Add-PlayerInventorySlotChangeEvent.patch similarity index 100% rename from patches/server/0755-Add-PlayerInventorySlotChangeEvent.patch rename to patches/server/0754-Add-PlayerInventorySlotChangeEvent.patch diff --git a/patches/server/0756-Elder-Guardian-appearance-API.patch b/patches/server/0755-Elder-Guardian-appearance-API.patch similarity index 90% rename from patches/server/0756-Elder-Guardian-appearance-API.patch rename to patches/server/0755-Elder-Guardian-appearance-API.patch index 05ca8f144b..8f007ec892 100644 --- a/patches/server/0756-Elder-Guardian-appearance-API.patch +++ b/patches/server/0755-Elder-Guardian-appearance-API.patch @@ -5,7 +5,7 @@ Subject: [PATCH] Elder Guardian appearance API diff --git a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java -index 7a4ae758616225002cc14060753bb691ee1d94bb..3566c607c7d66eb8d64cdcd77204b6b132287f58 100644 +index 5f3045630197f6d515bc66f7fa8014814dbfd8a7..2ec75a25de34b68e7c14416a06facce6a169bac7 100644 --- a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java +++ b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java @@ -3298,6 +3298,13 @@ public class CraftPlayer extends CraftHumanEntity implements Player { diff --git a/patches/server/0757-Allow-changing-bed-s-occupied-property.patch b/patches/server/0756-Allow-changing-bed-s-occupied-property.patch similarity index 100% rename from patches/server/0757-Allow-changing-bed-s-occupied-property.patch rename to patches/server/0756-Allow-changing-bed-s-occupied-property.patch diff --git a/patches/server/0758-Add-entity-knockback-API.patch b/patches/server/0757-Add-entity-knockback-API.patch similarity index 100% rename from patches/server/0758-Add-entity-knockback-API.patch rename to patches/server/0757-Add-entity-knockback-API.patch diff --git a/patches/server/0759-Detect-headless-JREs.patch b/patches/server/0758-Detect-headless-JREs.patch similarity index 100% rename from patches/server/0759-Detect-headless-JREs.patch rename to patches/server/0758-Detect-headless-JREs.patch diff --git a/patches/server/0760-fix-entity-vehicle-collision-event-not-called.patch b/patches/server/0759-fix-entity-vehicle-collision-event-not-called.patch similarity index 100% rename from patches/server/0760-fix-entity-vehicle-collision-event-not-called.patch rename to patches/server/0759-fix-entity-vehicle-collision-event-not-called.patch diff --git a/patches/server/0761-Add-EntityToggleSitEvent.patch b/patches/server/0760-Add-EntityToggleSitEvent.patch similarity index 100% rename from patches/server/0761-Add-EntityToggleSitEvent.patch rename to patches/server/0760-Add-EntityToggleSitEvent.patch diff --git a/patches/server/0762-Add-fire-tick-delay-option.patch b/patches/server/0761-Add-fire-tick-delay-option.patch similarity index 66% rename from patches/server/0762-Add-fire-tick-delay-option.patch rename to patches/server/0761-Add-fire-tick-delay-option.patch index 848f831f0e..2ad454d1c6 100644 --- a/patches/server/0762-Add-fire-tick-delay-option.patch +++ b/patches/server/0761-Add-fire-tick-delay-option.patch @@ -5,7 +5,7 @@ Subject: [PATCH] Add fire-tick-delay option diff --git a/src/main/java/net/minecraft/world/level/block/FireBlock.java b/src/main/java/net/minecraft/world/level/block/FireBlock.java -index 5dad1aa26a8908cba6a08398a4bad27f31d4c2c0..4d467ecf0dd8006b9fa4fb8fb5aadc0622a1e512 100644 +index 9db6df5f28be559a324ead2fcfbe189eac076e2e..0a77a470d78f68e8397f29f298e7f52fbd7ba9a2 100644 --- a/src/main/java/net/minecraft/world/level/block/FireBlock.java +++ b/src/main/java/net/minecraft/world/level/block/FireBlock.java @@ -171,7 +171,7 @@ public class FireBlock extends BaseFireBlock { @@ -13,16 +13,16 @@ index 5dad1aa26a8908cba6a08398a4bad27f31d4c2c0..4d467ecf0dd8006b9fa4fb8fb5aadc06 @Override protected void tick(BlockState state, ServerLevel world, BlockPos pos, RandomSource random) { - world.scheduleTick(pos, (Block) this, FireBlock.getFireTickDelay(world.random)); -+ world.scheduleTick(pos, this, FireBlock.getFireTickDelay(world)); // Paper - Add fire-tick-delay option ++ world.scheduleTick(pos, (Block) this, FireBlock.getFireTickDelay(world)); // Paper - Add fire-tick-delay option if (world.getGameRules().getBoolean(GameRules.RULE_DOFIRETICK)) { if (!state.canSurvive(world, pos)) { this.fireExtinguished(world, pos); // CraftBukkit - invalid place location @@ -372,11 +372,11 @@ public class FireBlock extends BaseFireBlock { - protected void onPlace(BlockState state, Level world, BlockPos pos, BlockState oldState, boolean notify, net.minecraft.world.item.context.UseOnContext context) { - super.onPlace(state, world, pos, oldState, notify, context); - // Paper end - UseOnContext param -- world.scheduleTick(pos, (Block) this, FireBlock.getFireTickDelay(world.random)); -+ world.scheduleTick(pos, this, FireBlock.getFireTickDelay(world)); // Paper - Add fire-tick-delay option + protected void onPlace(BlockState iblockdata, Level world, BlockPos blockposition, BlockState iblockdata1, boolean flag, UseOnContext context) { + super.onPlace(iblockdata, world, blockposition, iblockdata1, flag, context); + // CraftBukkit end +- world.scheduleTick(blockposition, (Block) this, FireBlock.getFireTickDelay(world.random)); ++ world.scheduleTick(blockposition, (Block) this, FireBlock.getFireTickDelay(world)); // Paper - Add fire-tick-delay option } - private static int getFireTickDelay(RandomSource random) { diff --git a/patches/server/0763-Add-Moving-Piston-API.patch b/patches/server/0762-Add-Moving-Piston-API.patch similarity index 100% rename from patches/server/0763-Add-Moving-Piston-API.patch rename to patches/server/0762-Add-Moving-Piston-API.patch diff --git a/patches/server/0764-Ignore-impossible-spawn-tick.patch b/patches/server/0763-Ignore-impossible-spawn-tick.patch similarity index 100% rename from patches/server/0764-Ignore-impossible-spawn-tick.patch rename to patches/server/0763-Ignore-impossible-spawn-tick.patch diff --git a/patches/server/0765-Fix-EntityArgument-suggestion-permissions-to-align-w.patch b/patches/server/0764-Fix-EntityArgument-suggestion-permissions-to-align-w.patch similarity index 100% rename from patches/server/0765-Fix-EntityArgument-suggestion-permissions-to-align-w.patch rename to patches/server/0764-Fix-EntityArgument-suggestion-permissions-to-align-w.patch diff --git a/patches/server/0766-Fix-EntityCombustEvent-cancellation-cant-fully-preve.patch b/patches/server/0765-Fix-EntityCombustEvent-cancellation-cant-fully-preve.patch similarity index 92% rename from patches/server/0766-Fix-EntityCombustEvent-cancellation-cant-fully-preve.patch rename to patches/server/0765-Fix-EntityCombustEvent-cancellation-cant-fully-preve.patch index d0cf5c9861..77c18397b3 100644 --- a/patches/server/0766-Fix-EntityCombustEvent-cancellation-cant-fully-preve.patch +++ b/patches/server/0765-Fix-EntityCombustEvent-cancellation-cant-fully-preve.patch @@ -21,10 +21,10 @@ index 43a2570196619bd239170de586626a7112066430..655a0f2328b641ce41c64e9bb1456e05 // CraftBukkit end } diff --git a/src/main/java/net/minecraft/world/level/block/BaseFireBlock.java b/src/main/java/net/minecraft/world/level/block/BaseFireBlock.java -index c36e64c3df09f14ffb06b81ef20c5e200e386e50..bdf432850f8228ed42b09afea79ecc5c1055c930 100644 +index 0c5409af685ef1f251db3d9f9e21295c82a1e02a..8b5918dc07f17ae5001c03dc743128fd9520b819 100644 --- a/src/main/java/net/minecraft/world/level/block/BaseFireBlock.java +++ b/src/main/java/net/minecraft/world/level/block/BaseFireBlock.java -@@ -134,6 +134,10 @@ public abstract class BaseFireBlock extends Block { +@@ -135,6 +135,10 @@ public abstract class BaseFireBlock extends Block { if (!event.isCancelled()) { entity.igniteForSeconds(event.getDuration(), false); diff --git a/patches/server/0767-Add-PrePlayerAttackEntityEvent.patch b/patches/server/0766-Add-PrePlayerAttackEntityEvent.patch similarity index 100% rename from patches/server/0767-Add-PrePlayerAttackEntityEvent.patch rename to patches/server/0766-Add-PrePlayerAttackEntityEvent.patch diff --git a/patches/server/0768-ensure-reset-EnderDragon-boss-event-name.patch b/patches/server/0767-ensure-reset-EnderDragon-boss-event-name.patch similarity index 100% rename from patches/server/0768-ensure-reset-EnderDragon-boss-event-name.patch rename to patches/server/0767-ensure-reset-EnderDragon-boss-event-name.patch diff --git a/patches/server/0769-Add-Player-Warden-Warning-API.patch b/patches/server/0768-Add-Player-Warden-Warning-API.patch similarity index 95% rename from patches/server/0769-Add-Player-Warden-Warning-API.patch rename to patches/server/0768-Add-Player-Warden-Warning-API.patch index 647754a109..84244f79e4 100644 --- a/patches/server/0769-Add-Player-Warden-Warning-API.patch +++ b/patches/server/0768-Add-Player-Warden-Warning-API.patch @@ -10,7 +10,7 @@ public net.minecraft.world.entity.monster.warden.WardenSpawnTracker cooldownTick public net.minecraft.world.entity.monster.warden.WardenSpawnTracker increaseWarningLevel()V diff --git a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java -index 3566c607c7d66eb8d64cdcd77204b6b132287f58..cc631c6882ee623cb1191b9d422a7adc4fa742a2 100644 +index 2ec75a25de34b68e7c14416a06facce6a169bac7..cdcdb55f896bb4128f258bf2aee91dc60100b6de 100644 --- a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java +++ b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java @@ -3303,6 +3303,41 @@ public class CraftPlayer extends CraftHumanEntity implements Player { diff --git a/patches/server/0770-More-vanilla-friendly-methods-to-update-trades.patch b/patches/server/0769-More-vanilla-friendly-methods-to-update-trades.patch similarity index 100% rename from patches/server/0770-More-vanilla-friendly-methods-to-update-trades.patch rename to patches/server/0769-More-vanilla-friendly-methods-to-update-trades.patch diff --git a/patches/server/0771-Add-paper-dumplisteners-command.patch b/patches/server/0770-Add-paper-dumplisteners-command.patch similarity index 100% rename from patches/server/0771-Add-paper-dumplisteners-command.patch rename to patches/server/0770-Add-paper-dumplisteners-command.patch diff --git a/patches/server/0772-check-global-player-list-where-appropriate.patch b/patches/server/0771-check-global-player-list-where-appropriate.patch similarity index 100% rename from patches/server/0772-check-global-player-list-where-appropriate.patch rename to patches/server/0771-check-global-player-list-where-appropriate.patch diff --git a/patches/server/0773-Fix-async-entity-add-due-to-fungus-trees.patch b/patches/server/0772-Fix-async-entity-add-due-to-fungus-trees.patch similarity index 100% rename from patches/server/0773-Fix-async-entity-add-due-to-fungus-trees.patch rename to patches/server/0772-Fix-async-entity-add-due-to-fungus-trees.patch diff --git a/patches/server/0774-ItemStack-damage-API.patch b/patches/server/0773-ItemStack-damage-API.patch similarity index 98% rename from patches/server/0774-ItemStack-damage-API.patch rename to patches/server/0773-ItemStack-damage-API.patch index 24e6ad94dd..965c0e9084 100644 --- a/patches/server/0774-ItemStack-damage-API.patch +++ b/patches/server/0773-ItemStack-damage-API.patch @@ -11,7 +11,7 @@ the logic associated with damaging them public net.minecraft.world.entity.LivingEntity entityEventForEquipmentBreak(Lnet/minecraft/world/entity/EquipmentSlot;)B diff --git a/src/main/java/net/minecraft/world/item/ItemStack.java b/src/main/java/net/minecraft/world/item/ItemStack.java -index d825c2e3808e44db9935dab4e7b528146c6d83c2..57510b85caf8914290ab0afb89cfb773158715b8 100644 +index 598507684aed7978fa2e9bae0d959c7d0f9e53d6..7c52ae813bfe47983ca94f4daf68f17e899949da 100644 --- a/src/main/java/net/minecraft/world/item/ItemStack.java +++ b/src/main/java/net/minecraft/world/item/ItemStack.java @@ -647,11 +647,16 @@ public final class ItemStack implements DataComponentHolder { diff --git a/patches/server/0775-Friction-API.patch b/patches/server/0774-Friction-API.patch similarity index 100% rename from patches/server/0775-Friction-API.patch rename to patches/server/0774-Friction-API.patch diff --git a/patches/server/0776-Ability-to-control-player-s-insomnia-and-phantoms.patch b/patches/server/0775-Ability-to-control-player-s-insomnia-and-phantoms.patch similarity index 100% rename from patches/server/0776-Ability-to-control-player-s-insomnia-and-phantoms.patch rename to patches/server/0775-Ability-to-control-player-s-insomnia-and-phantoms.patch diff --git a/patches/server/0777-Fix-premature-player-kicks-on-shutdown.patch b/patches/server/0776-Fix-premature-player-kicks-on-shutdown.patch similarity index 100% rename from patches/server/0777-Fix-premature-player-kicks-on-shutdown.patch rename to patches/server/0776-Fix-premature-player-kicks-on-shutdown.patch diff --git a/patches/server/0778-Sync-offhand-slot-in-menus.patch b/patches/server/0777-Sync-offhand-slot-in-menus.patch similarity index 100% rename from patches/server/0778-Sync-offhand-slot-in-menus.patch rename to patches/server/0777-Sync-offhand-slot-in-menus.patch diff --git a/patches/server/0779-Player-Entity-Tracking-Events.patch b/patches/server/0778-Player-Entity-Tracking-Events.patch similarity index 100% rename from patches/server/0779-Player-Entity-Tracking-Events.patch rename to patches/server/0778-Player-Entity-Tracking-Events.patch diff --git a/patches/server/0780-Limit-pet-look-distance.patch b/patches/server/0779-Limit-pet-look-distance.patch similarity index 100% rename from patches/server/0780-Limit-pet-look-distance.patch rename to patches/server/0779-Limit-pet-look-distance.patch diff --git a/patches/server/0781-fix-Instruments.patch b/patches/server/0780-fix-Instruments.patch similarity index 96% rename from patches/server/0781-fix-Instruments.patch rename to patches/server/0780-fix-Instruments.patch index fd5c343d0b..3c7adaddd6 100644 --- a/patches/server/0781-fix-Instruments.patch +++ b/patches/server/0780-fix-Instruments.patch @@ -6,7 +6,7 @@ Subject: [PATCH] fix Instruments properly handle Player#playNote diff --git a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java -index cc631c6882ee623cb1191b9d422a7adc4fa742a2..c426dbff75f0ad3889594fba9a66669fc71b63e8 100644 +index cdcdb55f896bb4128f258bf2aee91dc60100b6de..fc0db6deca6ff3b8e083fccd312e6ff3b5a78616 100644 --- a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java +++ b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java @@ -768,7 +768,10 @@ public class CraftPlayer extends CraftHumanEntity implements Player { diff --git a/patches/server/0782-Improve-inlining-for-some-hot-BlockBehavior-and-Flui.patch b/patches/server/0781-Improve-inlining-for-some-hot-BlockBehavior-and-Flui.patch similarity index 92% rename from patches/server/0782-Improve-inlining-for-some-hot-BlockBehavior-and-Flui.patch rename to patches/server/0781-Improve-inlining-for-some-hot-BlockBehavior-and-Flui.patch index d563036457..420107d5c3 100644 --- a/patches/server/0782-Improve-inlining-for-some-hot-BlockBehavior-and-Flui.patch +++ b/patches/server/0781-Improve-inlining-for-some-hot-BlockBehavior-and-Flui.patch @@ -6,10 +6,10 @@ Subject: [PATCH] Improve inlining for some hot BlockBehavior and FluidState diff --git a/src/main/java/net/minecraft/world/level/block/state/BlockBehaviour.java b/src/main/java/net/minecraft/world/level/block/state/BlockBehaviour.java -index 6fe078fdf619c4df664f1dce6a0f5d202c21b35e..9d6cc0b8dbc451dfff1ddd8e7be32d11434cdb69 100644 +index 46dd499c2023ec482ae7204d2894fb4100d9233b..a8bec3c405732e5863cf717b1fe948d00837bed2 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 -@@ -906,15 +906,15 @@ public abstract class BlockBehaviour implements FeatureElement { +@@ -907,15 +907,15 @@ public abstract class BlockBehaviour implements FeatureElement { return this.shapeExceedsCube; // Paper - moved into shape cache init } @@ -28,7 +28,7 @@ index 6fe078fdf619c4df664f1dce6a0f5d202c21b35e..9d6cc0b8dbc451dfff1ddd8e7be32d11 return this.isAir; } -@@ -998,7 +998,7 @@ public abstract class BlockBehaviour implements FeatureElement { +@@ -999,7 +999,7 @@ public abstract class BlockBehaviour implements FeatureElement { } } @@ -37,7 +37,7 @@ index 6fe078fdf619c4df664f1dce6a0f5d202c21b35e..9d6cc0b8dbc451dfff1ddd8e7be32d11 return this.canOcclude; } -@@ -1214,11 +1214,11 @@ public abstract class BlockBehaviour implements FeatureElement { +@@ -1215,11 +1215,11 @@ public abstract class BlockBehaviour implements FeatureElement { return this.getBlock().builtInRegistryHolder().is(key); } diff --git a/patches/server/0783-Fix-inconsistencies-in-dispense-events-regarding-sta.patch b/patches/server/0782-Fix-inconsistencies-in-dispense-events-regarding-sta.patch similarity index 100% rename from patches/server/0783-Fix-inconsistencies-in-dispense-events-regarding-sta.patch rename to patches/server/0782-Fix-inconsistencies-in-dispense-events-regarding-sta.patch diff --git a/patches/server/0784-Add-BlockLockCheckEvent.patch b/patches/server/0783-Add-BlockLockCheckEvent.patch similarity index 100% rename from patches/server/0784-Add-BlockLockCheckEvent.patch rename to patches/server/0783-Add-BlockLockCheckEvent.patch diff --git a/patches/server/0785-Add-Sneaking-API-for-Entities.patch b/patches/server/0784-Add-Sneaking-API-for-Entities.patch similarity index 91% rename from patches/server/0785-Add-Sneaking-API-for-Entities.patch rename to patches/server/0784-Add-Sneaking-API-for-Entities.patch index a8db30ee3c..aaee22c056 100644 --- a/patches/server/0785-Add-Sneaking-API-for-Entities.patch +++ b/patches/server/0784-Add-Sneaking-API-for-Entities.patch @@ -5,7 +5,7 @@ Subject: [PATCH] Add Sneaking API for Entities diff --git a/src/main/java/org/bukkit/craftbukkit/entity/CraftEntity.java b/src/main/java/org/bukkit/craftbukkit/entity/CraftEntity.java -index 7c223042595c7cd5ccc554211657d9375833122b..3c1e199316ae283210529d4d27b4f9d70b4d9404 100644 +index f950102a324d07aeba260bfa82fe88728f2362e5..ac513d3162a0794f226abc80bff21c799fe5802c 100644 --- a/src/main/java/org/bukkit/craftbukkit/entity/CraftEntity.java +++ b/src/main/java/org/bukkit/craftbukkit/entity/CraftEntity.java @@ -874,6 +874,18 @@ public abstract class CraftEntity implements org.bukkit.entity.Entity { diff --git a/patches/server/0786-Improve-logging-and-errors.patch b/patches/server/0785-Improve-logging-and-errors.patch similarity index 100% rename from patches/server/0786-Improve-logging-and-errors.patch rename to patches/server/0785-Improve-logging-and-errors.patch diff --git a/patches/server/0787-Improve-PortalEvents.patch b/patches/server/0786-Improve-PortalEvents.patch similarity index 100% rename from patches/server/0787-Improve-PortalEvents.patch rename to patches/server/0786-Improve-PortalEvents.patch diff --git a/patches/server/0788-Add-config-option-for-spider-worldborder-climbing.patch b/patches/server/0787-Add-config-option-for-spider-worldborder-climbing.patch similarity index 100% rename from patches/server/0788-Add-config-option-for-spider-worldborder-climbing.patch rename to patches/server/0787-Add-config-option-for-spider-worldborder-climbing.patch diff --git a/patches/server/0789-Add-missing-SpigotConfig-logCommands-check.patch b/patches/server/0788-Add-missing-SpigotConfig-logCommands-check.patch similarity index 100% rename from patches/server/0789-Add-missing-SpigotConfig-logCommands-check.patch rename to patches/server/0788-Add-missing-SpigotConfig-logCommands-check.patch diff --git a/patches/server/0790-Fix-NPE-on-Allay-stopDancing-while-not-dancing.patch b/patches/server/0789-Fix-NPE-on-Allay-stopDancing-while-not-dancing.patch similarity index 100% rename from patches/server/0790-Fix-NPE-on-Allay-stopDancing-while-not-dancing.patch rename to patches/server/0789-Fix-NPE-on-Allay-stopDancing-while-not-dancing.patch diff --git a/patches/server/0791-Flying-Fall-Damage.patch b/patches/server/0790-Flying-Fall-Damage.patch similarity index 96% rename from patches/server/0791-Flying-Fall-Damage.patch rename to patches/server/0790-Flying-Fall-Damage.patch index f7fc90f3fd..1731871405 100644 --- a/patches/server/0791-Flying-Fall-Damage.patch +++ b/patches/server/0790-Flying-Fall-Damage.patch @@ -26,7 +26,7 @@ index ad334f149fe1b44d4ebe48489dcd2811ff1b5cd0..950ce40d268d89ff3c503116081db6c9 } else { if (fallDistance >= 2.0F) { diff --git a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java -index c426dbff75f0ad3889594fba9a66669fc71b63e8..cb191389007ccaae2e3af1defc5e95ee571c46ac 100644 +index fc0db6deca6ff3b8e083fccd312e6ff3b5a78616..78ab37d1359e1d44bd921428038c733b77171cd2 100644 --- a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java +++ b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java @@ -2581,6 +2581,19 @@ public class CraftPlayer extends CraftHumanEntity implements Player { diff --git a/patches/server/0792-Expose-pre-collision-moving-velocity-to-VehicleBlock.patch b/patches/server/0791-Expose-pre-collision-moving-velocity-to-VehicleBlock.patch similarity index 100% rename from patches/server/0792-Expose-pre-collision-moving-velocity-to-VehicleBlock.patch rename to patches/server/0791-Expose-pre-collision-moving-velocity-to-VehicleBlock.patch diff --git a/patches/server/0793-config-for-disabling-entity-tag-tags.patch b/patches/server/0792-config-for-disabling-entity-tag-tags.patch similarity index 100% rename from patches/server/0793-config-for-disabling-entity-tag-tags.patch rename to patches/server/0792-config-for-disabling-entity-tag-tags.patch diff --git a/patches/server/0794-Use-single-player-info-update-packet-on-join.patch b/patches/server/0793-Use-single-player-info-update-packet-on-join.patch similarity index 97% rename from patches/server/0794-Use-single-player-info-update-packet-on-join.patch rename to patches/server/0793-Use-single-player-info-update-packet-on-join.patch index 4552daec45..02e36f9270 100644 --- a/patches/server/0794-Use-single-player-info-update-packet-on-join.patch +++ b/patches/server/0793-Use-single-player-info-update-packet-on-join.patch @@ -18,7 +18,7 @@ index 1b486d09bd1a84835183a6c8181933fcabb3373f..62b022a72954eeecfa141f4ec93ccb44 } diff --git a/src/main/java/net/minecraft/server/players/PlayerList.java b/src/main/java/net/minecraft/server/players/PlayerList.java -index a929b8f1c452db08a64e4be53b488cf2676e0a94..2ea29c9491186d7a25ed3eed99ee4a488bcaa272 100644 +index 84add5cc89ec912389500b6140a39d6b7ddc9e86..944c727fd7770fe4c06af67304005664a7ab9e8a 100644 --- a/src/main/java/net/minecraft/server/players/PlayerList.java +++ b/src/main/java/net/minecraft/server/players/PlayerList.java @@ -361,6 +361,7 @@ public abstract class PlayerList { diff --git a/patches/server/0795-Correctly-shrink-items-during-EntityResurrectEvent.patch b/patches/server/0794-Correctly-shrink-items-during-EntityResurrectEvent.patch similarity index 100% rename from patches/server/0795-Correctly-shrink-items-during-EntityResurrectEvent.patch rename to patches/server/0794-Correctly-shrink-items-during-EntityResurrectEvent.patch diff --git a/patches/server/0796-Win-Screen-API.patch b/patches/server/0795-Win-Screen-API.patch similarity index 93% rename from patches/server/0796-Win-Screen-API.patch rename to patches/server/0795-Win-Screen-API.patch index 95dd061087..7ab535106b 100644 --- a/patches/server/0796-Win-Screen-API.patch +++ b/patches/server/0795-Win-Screen-API.patch @@ -7,7 +7,7 @@ Subject: [PATCH] Win Screen API public net.minecraft.server.level.ServerPlayer seenCredits diff --git a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java -index cb191389007ccaae2e3af1defc5e95ee571c46ac..756ba61af10b552c5c0bf86e506a31df0f0ce6f5 100644 +index 78ab37d1359e1d44bd921428038c733b77171cd2..384165d6747c61d0d306fa63773cbca560dfae9b 100644 --- a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java +++ b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java @@ -1305,6 +1305,25 @@ public class CraftPlayer extends CraftHumanEntity implements Player { diff --git a/patches/server/0797-Remove-CraftItemStack-setAmount-null-assignment.patch b/patches/server/0796-Remove-CraftItemStack-setAmount-null-assignment.patch similarity index 100% rename from patches/server/0797-Remove-CraftItemStack-setAmount-null-assignment.patch rename to patches/server/0796-Remove-CraftItemStack-setAmount-null-assignment.patch diff --git a/patches/server/0798-Fix-force-opening-enchantment-tables.patch b/patches/server/0797-Fix-force-opening-enchantment-tables.patch similarity index 100% rename from patches/server/0798-Fix-force-opening-enchantment-tables.patch rename to patches/server/0797-Fix-force-opening-enchantment-tables.patch diff --git a/patches/server/0799-Add-Entity-Body-Yaw-API.patch b/patches/server/0798-Add-Entity-Body-Yaw-API.patch similarity index 100% rename from patches/server/0799-Add-Entity-Body-Yaw-API.patch rename to patches/server/0798-Add-Entity-Body-Yaw-API.patch diff --git a/patches/server/0800-Fix-MC-157464-Prevent-sleeping-villagers-moving-towa.patch b/patches/server/0799-Fix-MC-157464-Prevent-sleeping-villagers-moving-towa.patch similarity index 100% rename from patches/server/0800-Fix-MC-157464-Prevent-sleeping-villagers-moving-towa.patch rename to patches/server/0799-Fix-MC-157464-Prevent-sleeping-villagers-moving-towa.patch diff --git a/patches/server/0801-Add-EntityFertilizeEggEvent.patch b/patches/server/0800-Add-EntityFertilizeEggEvent.patch similarity index 97% rename from patches/server/0801-Add-EntityFertilizeEggEvent.patch rename to patches/server/0800-Add-EntityFertilizeEggEvent.patch index 8c4e26f04a..241552c5fe 100644 --- a/patches/server/0801-Add-EntityFertilizeEggEvent.patch +++ b/patches/server/0800-Add-EntityFertilizeEggEvent.patch @@ -69,10 +69,10 @@ index d34d8fe70379dcad9540739ec0ae1c94f01fc46b..fadd341ff398886a4da102eefa1beb95 this.playSound(SoundEvents.SNIFFER_EGG_PLOP, 1.0F, (this.random.nextFloat() - this.random.nextFloat()) * 0.2F + 0.5F); } // Paper - Call EntityDropItemEvent diff --git a/src/main/java/org/bukkit/craftbukkit/event/CraftEventFactory.java b/src/main/java/org/bukkit/craftbukkit/event/CraftEventFactory.java -index 82b98a9b6418614283ac512f59586877f577b35b..b35c6393c3af2519be648e75c7d09038cf94ccbf 100644 +index 668becf24a16af6b834d05608787c8f9420e9ad3..8a1f52eeace48ed65bdc077923d0763d5e4369b6 100644 --- a/src/main/java/org/bukkit/craftbukkit/event/CraftEventFactory.java +++ b/src/main/java/org/bukkit/craftbukkit/event/CraftEventFactory.java -@@ -2168,4 +2168,28 @@ public class CraftEventFactory { +@@ -2181,4 +2181,28 @@ public class CraftEventFactory { return event.callEvent(); } // Paper end diff --git a/patches/server/0802-Fix-HumanEntity-drop-not-updating-the-client-inv.patch b/patches/server/0801-Fix-HumanEntity-drop-not-updating-the-client-inv.patch similarity index 100% rename from patches/server/0802-Fix-HumanEntity-drop-not-updating-the-client-inv.patch rename to patches/server/0801-Fix-HumanEntity-drop-not-updating-the-client-inv.patch diff --git a/patches/server/0803-Add-CompostItemEvent-and-EntityCompostItemEvent.patch b/patches/server/0802-Add-CompostItemEvent-and-EntityCompostItemEvent.patch similarity index 100% rename from patches/server/0803-Add-CompostItemEvent-and-EntityCompostItemEvent.patch rename to patches/server/0802-Add-CompostItemEvent-and-EntityCompostItemEvent.patch diff --git a/patches/server/0804-Correctly-handle-ArmorStand-invisibility.patch b/patches/server/0803-Correctly-handle-ArmorStand-invisibility.patch similarity index 100% rename from patches/server/0804-Correctly-handle-ArmorStand-invisibility.patch rename to patches/server/0803-Correctly-handle-ArmorStand-invisibility.patch diff --git a/patches/server/0805-Fix-advancement-triggers-for-entity-damage.patch b/patches/server/0804-Fix-advancement-triggers-for-entity-damage.patch similarity index 100% rename from patches/server/0805-Fix-advancement-triggers-for-entity-damage.patch rename to patches/server/0804-Fix-advancement-triggers-for-entity-damage.patch diff --git a/patches/server/0806-Fix-text-display-error-on-spawn.patch b/patches/server/0805-Fix-text-display-error-on-spawn.patch similarity index 100% rename from patches/server/0806-Fix-text-display-error-on-spawn.patch rename to patches/server/0805-Fix-text-display-error-on-spawn.patch diff --git a/patches/server/0807-Fix-inventories-returning-null-Locations.patch b/patches/server/0806-Fix-inventories-returning-null-Locations.patch similarity index 97% rename from patches/server/0807-Fix-inventories-returning-null-Locations.patch rename to patches/server/0806-Fix-inventories-returning-null-Locations.patch index eabfae28c5..23413d6b03 100644 --- a/patches/server/0807-Fix-inventories-returning-null-Locations.patch +++ b/patches/server/0806-Fix-inventories-returning-null-Locations.patch @@ -30,7 +30,7 @@ index c26161784359ea167e11de8aa58eda3b4851059c..6632cf24ebe6d147950a1fdb87666093 } diff --git a/src/main/java/net/minecraft/world/inventory/BeaconMenu.java b/src/main/java/net/minecraft/world/inventory/BeaconMenu.java -index 6173c689013ab02c83ca6ff1fde2b1e47f3e7820..1b6fd16d8c6195c6f7b65c7621d5f9bd15c46a75 100644 +index 8b0ebf659f6b219ce2a5d10b0d79f9b89b47c911..a735aeeb59f79154ce797c6e2f5600305f46d217 100644 --- a/src/main/java/net/minecraft/world/inventory/BeaconMenu.java +++ b/src/main/java/net/minecraft/world/inventory/BeaconMenu.java @@ -52,6 +52,12 @@ public class BeaconMenu extends AbstractContainerMenu { diff --git a/patches/server/0808-Add-Shearable-API.patch b/patches/server/0807-Add-Shearable-API.patch similarity index 98% rename from patches/server/0808-Add-Shearable-API.patch rename to patches/server/0807-Add-Shearable-API.patch index 675a1bf358..069dcbaf2e 100644 --- a/patches/server/0808-Add-Shearable-API.patch +++ b/patches/server/0807-Add-Shearable-API.patch @@ -32,7 +32,7 @@ index 0000000000000000000000000000000000000000..bcf254e3c81cf1e401bddc850fb24ad2 + } +} diff --git a/src/main/java/org/bukkit/craftbukkit/entity/CraftBogged.java b/src/main/java/org/bukkit/craftbukkit/entity/CraftBogged.java -index b252236369315502278e9b7c93709a347ec16636..93481e2828f945b11ae9a20a8e5286232b449fa9 100644 +index 0139e85c0751564bb4d2847b7b2e48f75fee9e53..e8e4704304504e69c7964dcd4df8ce5db9e92bf6 100644 --- a/src/main/java/org/bukkit/craftbukkit/entity/CraftBogged.java +++ b/src/main/java/org/bukkit/craftbukkit/entity/CraftBogged.java @@ -4,7 +4,7 @@ import org.bukkit.craftbukkit.CraftServer; diff --git a/patches/server/0809-Fix-SpawnEggMeta-get-setSpawnedType.patch b/patches/server/0808-Fix-SpawnEggMeta-get-setSpawnedType.patch similarity index 100% rename from patches/server/0809-Fix-SpawnEggMeta-get-setSpawnedType.patch rename to patches/server/0808-Fix-SpawnEggMeta-get-setSpawnedType.patch diff --git a/patches/server/0810-Fix-crash-relating-to-bad-recipes-in-furnace-like-ti.patch b/patches/server/0809-Fix-crash-relating-to-bad-recipes-in-furnace-like-ti.patch similarity index 100% rename from patches/server/0810-Fix-crash-relating-to-bad-recipes-in-furnace-like-ti.patch rename to patches/server/0809-Fix-crash-relating-to-bad-recipes-in-furnace-like-ti.patch diff --git a/patches/server/0811-Treat-sequence-violations-like-they-should-be.patch b/patches/server/0810-Treat-sequence-violations-like-they-should-be.patch similarity index 100% rename from patches/server/0811-Treat-sequence-violations-like-they-should-be.patch rename to patches/server/0810-Treat-sequence-violations-like-they-should-be.patch diff --git a/patches/server/0812-Prevent-causing-expired-keys-from-impacting-new-join.patch b/patches/server/0811-Prevent-causing-expired-keys-from-impacting-new-join.patch similarity index 100% rename from patches/server/0812-Prevent-causing-expired-keys-from-impacting-new-join.patch rename to patches/server/0811-Prevent-causing-expired-keys-from-impacting-new-join.patch diff --git a/patches/server/0813-Prevent-GameEvents-being-fired-from-unloaded-chunks.patch b/patches/server/0812-Prevent-GameEvents-being-fired-from-unloaded-chunks.patch similarity index 100% rename from patches/server/0813-Prevent-GameEvents-being-fired-from-unloaded-chunks.patch rename to patches/server/0812-Prevent-GameEvents-being-fired-from-unloaded-chunks.patch diff --git a/patches/server/0814-Use-array-for-gamerule-storage.patch b/patches/server/0813-Use-array-for-gamerule-storage.patch similarity index 100% rename from patches/server/0814-Use-array-for-gamerule-storage.patch rename to patches/server/0813-Use-array-for-gamerule-storage.patch diff --git a/patches/server/0815-Fix-a-couple-of-upstream-bed-issues.patch b/patches/server/0814-Fix-a-couple-of-upstream-bed-issues.patch similarity index 100% rename from patches/server/0815-Fix-a-couple-of-upstream-bed-issues.patch rename to patches/server/0814-Fix-a-couple-of-upstream-bed-issues.patch diff --git a/patches/server/0816-Fix-demo-flag-not-enabling-demo-mode.patch b/patches/server/0815-Fix-demo-flag-not-enabling-demo-mode.patch similarity index 100% rename from patches/server/0816-Fix-demo-flag-not-enabling-demo-mode.patch rename to patches/server/0815-Fix-demo-flag-not-enabling-demo-mode.patch diff --git a/patches/server/0817-Add-Mob-Experience-reward-API.patch b/patches/server/0816-Add-Mob-Experience-reward-API.patch similarity index 100% rename from patches/server/0817-Add-Mob-Experience-reward-API.patch rename to patches/server/0816-Add-Mob-Experience-reward-API.patch diff --git a/patches/server/0818-Break-redstone-on-top-of-trap-doors-early.patch b/patches/server/0817-Break-redstone-on-top-of-trap-doors-early.patch similarity index 100% rename from patches/server/0818-Break-redstone-on-top-of-trap-doors-early.patch rename to patches/server/0817-Break-redstone-on-top-of-trap-doors-early.patch diff --git a/patches/server/0819-Avoid-Lazy-Initialization-for-Enum-Fields.patch b/patches/server/0818-Avoid-Lazy-Initialization-for-Enum-Fields.patch similarity index 100% rename from patches/server/0819-Avoid-Lazy-Initialization-for-Enum-Fields.patch rename to patches/server/0818-Avoid-Lazy-Initialization-for-Enum-Fields.patch diff --git a/patches/server/0820-More-accurate-isInOpenWater-impl.patch b/patches/server/0819-More-accurate-isInOpenWater-impl.patch similarity index 100% rename from patches/server/0820-More-accurate-isInOpenWater-impl.patch rename to patches/server/0819-More-accurate-isInOpenWater-impl.patch diff --git a/patches/server/0821-Expand-PlayerItemMendEvent.patch b/patches/server/0820-Expand-PlayerItemMendEvent.patch similarity index 97% rename from patches/server/0821-Expand-PlayerItemMendEvent.patch rename to patches/server/0820-Expand-PlayerItemMendEvent.patch index 6437d9ecb4..5ce5d5fde3 100644 --- a/patches/server/0821-Expand-PlayerItemMendEvent.patch +++ b/patches/server/0820-Expand-PlayerItemMendEvent.patch @@ -49,10 +49,10 @@ index 384165d6747c61d0d306fa63773cbca560dfae9b..e7235efba6b68917a646083c150655cb } } diff --git a/src/main/java/org/bukkit/craftbukkit/event/CraftEventFactory.java b/src/main/java/org/bukkit/craftbukkit/event/CraftEventFactory.java -index b35c6393c3af2519be648e75c7d09038cf94ccbf..23e24853e8540cecb2145471d548cad1b2539447 100644 +index 8a1f52eeace48ed65bdc077923d0763d5e4369b6..bbc5143940b5f028051cb5897a5b510e35a5d354 100644 --- a/src/main/java/org/bukkit/craftbukkit/event/CraftEventFactory.java +++ b/src/main/java/org/bukkit/craftbukkit/event/CraftEventFactory.java -@@ -1280,10 +1280,10 @@ public class CraftEventFactory { +@@ -1284,10 +1284,10 @@ public class CraftEventFactory { return event; } diff --git a/patches/server/0822-Refresh-ProjectileSource-for-projectiles.patch b/patches/server/0821-Refresh-ProjectileSource-for-projectiles.patch similarity index 100% rename from patches/server/0822-Refresh-ProjectileSource-for-projectiles.patch rename to patches/server/0821-Refresh-ProjectileSource-for-projectiles.patch diff --git a/patches/server/0823-Add-transient-modifier-API.patch b/patches/server/0822-Add-transient-modifier-API.patch similarity index 100% rename from patches/server/0823-Add-transient-modifier-API.patch rename to patches/server/0822-Add-transient-modifier-API.patch diff --git a/patches/server/0824-Fix-block-place-logic.patch b/patches/server/0823-Fix-block-place-logic.patch similarity index 97% rename from patches/server/0824-Fix-block-place-logic.patch rename to patches/server/0823-Fix-block-place-logic.patch index 3796cc773d..accea4ee7c 100644 --- a/patches/server/0824-Fix-block-place-logic.patch +++ b/patches/server/0823-Fix-block-place-logic.patch @@ -22,7 +22,7 @@ index 7d76cdc59984b156628273c8357485eb10046007..7180996027f70aef7afe32fb2adfce64 itemstack.consume(1, entityhuman); return InteractionResult.sidedSuccess(world.isClientSide); diff --git a/src/main/java/net/minecraft/world/level/Level.java b/src/main/java/net/minecraft/world/level/Level.java -index 210c3b6167dac93e550fe849e34b5aa404ab6dce..ed1c50d31fc077e4e009719fa622a44edefcdf2c 100644 +index cc92d2e8b77c75da1d8b850c3bc251e8ac221c24..0a3e56302470f239d4840e4e32d2a0ce4611ff65 100644 --- a/src/main/java/net/minecraft/world/level/Level.java +++ b/src/main/java/net/minecraft/world/level/Level.java @@ -552,17 +552,18 @@ public abstract class Level implements LevelAccessor, AutoCloseable { diff --git a/patches/server/0825-Fix-spigot-sound-playing-for-BlockItem-ItemStacks.patch b/patches/server/0824-Fix-spigot-sound-playing-for-BlockItem-ItemStacks.patch similarity index 94% rename from patches/server/0825-Fix-spigot-sound-playing-for-BlockItem-ItemStacks.patch rename to patches/server/0824-Fix-spigot-sound-playing-for-BlockItem-ItemStacks.patch index 89ec0d95ff..42a45f0c62 100644 --- a/patches/server/0825-Fix-spigot-sound-playing-for-BlockItem-ItemStacks.patch +++ b/patches/server/0824-Fix-spigot-sound-playing-for-BlockItem-ItemStacks.patch @@ -5,7 +5,7 @@ Subject: [PATCH] Fix spigot sound playing for BlockItem ItemStacks diff --git a/src/main/java/net/minecraft/world/item/ItemStack.java b/src/main/java/net/minecraft/world/item/ItemStack.java -index 57510b85caf8914290ab0afb89cfb773158715b8..8777e634a69825302da7ed5031a344b80724783e 100644 +index 7c52ae813bfe47983ca94f4daf68f17e899949da..7cb7443aa60b9a552d8d9b67ddbf8b3e54af24e8 100644 --- a/src/main/java/net/minecraft/world/item/ItemStack.java +++ b/src/main/java/net/minecraft/world/item/ItemStack.java @@ -571,7 +571,11 @@ public final class ItemStack implements DataComponentHolder { diff --git a/patches/server/0826-Call-BlockGrowEvent-for-missing-blocks.patch b/patches/server/0825-Call-BlockGrowEvent-for-missing-blocks.patch similarity index 100% rename from patches/server/0826-Call-BlockGrowEvent-for-missing-blocks.patch rename to patches/server/0825-Call-BlockGrowEvent-for-missing-blocks.patch diff --git a/patches/server/0827-Don-t-enforce-icanhasbukkit-default-if-alias-block-e.patch b/patches/server/0826-Don-t-enforce-icanhasbukkit-default-if-alias-block-e.patch similarity index 94% rename from patches/server/0827-Don-t-enforce-icanhasbukkit-default-if-alias-block-e.patch rename to patches/server/0826-Don-t-enforce-icanhasbukkit-default-if-alias-block-e.patch index 5c55e8560a..90edb8680f 100644 --- a/patches/server/0827-Don-t-enforce-icanhasbukkit-default-if-alias-block-e.patch +++ b/patches/server/0826-Don-t-enforce-icanhasbukkit-default-if-alias-block-e.patch @@ -5,7 +5,7 @@ Subject: [PATCH] Don't enforce icanhasbukkit default if alias block exists diff --git a/src/main/java/org/bukkit/craftbukkit/CraftServer.java b/src/main/java/org/bukkit/craftbukkit/CraftServer.java -index 32d2e6a4ce092fee061b65d3c839c2da83865908..7197cbf15ff9382cbc59c4a58e2f189c8cacbaaa 100644 +index f63d6b4d759fbbc5f5c5dd6b39179af93f49d10f..ed6210d2490f8584c21537eaa380d990fb73e03d 100644 --- a/src/main/java/org/bukkit/craftbukkit/CraftServer.java +++ b/src/main/java/org/bukkit/craftbukkit/CraftServer.java @@ -355,7 +355,11 @@ public final class CraftServer implements Server { diff --git a/patches/server/0828-fix-MapLike-spam-for-missing-key-selector.patch b/patches/server/0827-fix-MapLike-spam-for-missing-key-selector.patch similarity index 100% rename from patches/server/0828-fix-MapLike-spam-for-missing-key-selector.patch rename to patches/server/0827-fix-MapLike-spam-for-missing-key-selector.patch diff --git a/patches/server/0829-Fix-sniffer-removeExploredLocation.patch b/patches/server/0828-Fix-sniffer-removeExploredLocation.patch similarity index 100% rename from patches/server/0829-Fix-sniffer-removeExploredLocation.patch rename to patches/server/0828-Fix-sniffer-removeExploredLocation.patch diff --git a/patches/server/0830-Add-method-to-remove-all-active-potion-effects.patch b/patches/server/0829-Add-method-to-remove-all-active-potion-effects.patch similarity index 100% rename from patches/server/0830-Add-method-to-remove-all-active-potion-effects.patch rename to patches/server/0829-Add-method-to-remove-all-active-potion-effects.patch diff --git a/patches/server/0831-Fix-incorrect-crafting-result-amount-for-fireworks.patch b/patches/server/0830-Fix-incorrect-crafting-result-amount-for-fireworks.patch similarity index 100% rename from patches/server/0831-Fix-incorrect-crafting-result-amount-for-fireworks.patch rename to patches/server/0830-Fix-incorrect-crafting-result-amount-for-fireworks.patch diff --git a/patches/server/0832-Add-event-for-player-editing-sign.patch b/patches/server/0831-Add-event-for-player-editing-sign.patch similarity index 98% rename from patches/server/0832-Add-event-for-player-editing-sign.patch rename to patches/server/0831-Add-event-for-player-editing-sign.patch index 231c6c0fc3..8c26ae27ea 100644 --- a/patches/server/0832-Add-event-for-player-editing-sign.patch +++ b/patches/server/0831-Add-event-for-player-editing-sign.patch @@ -5,7 +5,7 @@ Subject: [PATCH] Add event for player editing sign diff --git a/src/main/java/net/minecraft/world/item/ItemStack.java b/src/main/java/net/minecraft/world/item/ItemStack.java -index 8777e634a69825302da7ed5031a344b80724783e..a6ca820adf6e86f8358967d8d3b2e45cd1135b2c 100644 +index 7cb7443aa60b9a552d8d9b67ddbf8b3e54af24e8..1016541b8f01cdb45ae96fbb777c6c38598fcc35 100644 --- a/src/main/java/net/minecraft/world/item/ItemStack.java +++ b/src/main/java/net/minecraft/world/item/ItemStack.java @@ -550,7 +550,7 @@ public final class ItemStack implements DataComponentHolder { diff --git a/patches/server/0833-Only-tick-item-frames-if-players-can-see-it.patch b/patches/server/0832-Only-tick-item-frames-if-players-can-see-it.patch similarity index 100% rename from patches/server/0833-Only-tick-item-frames-if-players-can-see-it.patch rename to patches/server/0832-Only-tick-item-frames-if-players-can-see-it.patch diff --git a/patches/server/0834-Fix-cmd-permission-levels-for-command-blocks.patch b/patches/server/0833-Fix-cmd-permission-levels-for-command-blocks.patch similarity index 100% rename from patches/server/0834-Fix-cmd-permission-levels-for-command-blocks.patch rename to patches/server/0833-Fix-cmd-permission-levels-for-command-blocks.patch diff --git a/patches/server/0835-Add-option-to-disable-block-updates.patch b/patches/server/0834-Add-option-to-disable-block-updates.patch similarity index 100% rename from patches/server/0835-Add-option-to-disable-block-updates.patch rename to patches/server/0834-Add-option-to-disable-block-updates.patch diff --git a/patches/server/0836-Call-missing-BlockDispenseEvent.patch b/patches/server/0835-Call-missing-BlockDispenseEvent.patch similarity index 97% rename from patches/server/0836-Call-missing-BlockDispenseEvent.patch rename to patches/server/0835-Call-missing-BlockDispenseEvent.patch index ae85dc5678..b1e8b7b6fb 100644 --- a/patches/server/0836-Call-missing-BlockDispenseEvent.patch +++ b/patches/server/0835-Call-missing-BlockDispenseEvent.patch @@ -50,10 +50,10 @@ index 96db0b1041a4c0f054d4f3f2bdced960b119664e..78951f50188528718cdb3dbbaabe3f9f for (int k = 0; k < 5; ++k) { worldserver.sendParticles(ParticleTypes.SPLASH, (double) blockposition.getX() + worldserver.random.nextDouble(), (double) (blockposition.getY() + 1), (double) blockposition.getZ() + worldserver.random.nextDouble(), 1, 0.0D, 0.0D, 0.0D, 1.0D); diff --git a/src/main/java/org/bukkit/craftbukkit/event/CraftEventFactory.java b/src/main/java/org/bukkit/craftbukkit/event/CraftEventFactory.java -index 23e24853e8540cecb2145471d548cad1b2539447..1f73ee4e284ca6b0bd6d387337a4c1084f3210e5 100644 +index bbc5143940b5f028051cb5897a5b510e35a5d354..fd648c176733dcaa03d2bbec4000381d58fc357e 100644 --- a/src/main/java/org/bukkit/craftbukkit/event/CraftEventFactory.java +++ b/src/main/java/org/bukkit/craftbukkit/event/CraftEventFactory.java -@@ -2169,6 +2169,32 @@ public class CraftEventFactory { +@@ -2182,6 +2182,32 @@ public class CraftEventFactory { } // Paper end diff --git a/patches/server/0837-Don-t-load-chunks-for-supporting-block-checks.patch b/patches/server/0836-Don-t-load-chunks-for-supporting-block-checks.patch similarity index 100% rename from patches/server/0837-Don-t-load-chunks-for-supporting-block-checks.patch rename to patches/server/0836-Don-t-load-chunks-for-supporting-block-checks.patch diff --git a/patches/server/0838-Optimize-player-lookups-for-beacons.patch b/patches/server/0837-Optimize-player-lookups-for-beacons.patch similarity index 100% rename from patches/server/0838-Optimize-player-lookups-for-beacons.patch rename to patches/server/0837-Optimize-player-lookups-for-beacons.patch diff --git a/patches/server/0839-Add-Sign-getInteractableSideFor.patch b/patches/server/0838-Add-Sign-getInteractableSideFor.patch similarity index 100% rename from patches/server/0839-Add-Sign-getInteractableSideFor.patch rename to patches/server/0838-Add-Sign-getInteractableSideFor.patch diff --git a/patches/server/0840-fix-item-meta-for-tadpole-buckets.patch b/patches/server/0839-fix-item-meta-for-tadpole-buckets.patch similarity index 93% rename from patches/server/0840-fix-item-meta-for-tadpole-buckets.patch rename to patches/server/0839-fix-item-meta-for-tadpole-buckets.patch index 0fc39b3ea1..43d485644b 100644 --- a/patches/server/0840-fix-item-meta-for-tadpole-buckets.patch +++ b/patches/server/0839-fix-item-meta-for-tadpole-buckets.patch @@ -5,10 +5,10 @@ Subject: [PATCH] fix item meta for tadpole buckets diff --git a/src/main/java/org/bukkit/craftbukkit/inventory/CraftItemMetas.java b/src/main/java/org/bukkit/craftbukkit/inventory/CraftItemMetas.java -index 4ae9930c2d74e5b1e3ad0c2ecf6556dc59cbf23c..a6c78854c10362864c2297de903ab9594cdb1eb6 100644 +index c9fbc01be0b0e7fd1cafb091d06496f4ba1e7c2c..a4c4ba0d02f9a072236ce86c1e98e2c60b059cb8 100644 --- a/src/main/java/org/bukkit/craftbukkit/inventory/CraftItemMetas.java +++ b/src/main/java/org/bukkit/craftbukkit/inventory/CraftItemMetas.java -@@ -286,7 +286,7 @@ public final class CraftItemMetas { +@@ -263,7 +263,7 @@ public final class CraftItemMetas { if (itemType == ItemType.SUSPICIOUS_STEW) { return CraftItemMetas.asType(CraftItemMetas.SUSPICIOUS_STEW_META_DATA); } @@ -30,7 +30,7 @@ index 27af7ca9d62bdb4a24be5af139c181d7bc271ba5..3ff0340c40e9dc9a6e690de15ccade7a Material.GLOW_ITEM_FRAME, Material.PAINTING diff --git a/src/test/java/org/bukkit/craftbukkit/inventory/ItemMetaTest.java b/src/test/java/org/bukkit/craftbukkit/inventory/ItemMetaTest.java -index a1d8da4e0de3f84194f28d7d18fa795d53714590..d6018439015583fa0344c7c01b2e60a13de29795 100644 +index 0715f43f3f8235d28a12b9d49d78c765a946c53f..b6da1c2902139d4c7b01ac7b3407d4f6ac3990e2 100644 --- a/src/test/java/org/bukkit/craftbukkit/inventory/ItemMetaTest.java +++ b/src/test/java/org/bukkit/craftbukkit/inventory/ItemMetaTest.java @@ -208,6 +208,27 @@ public class ItemMetaTest extends AbstractTestingBase { diff --git a/patches/server/0841-Fix-BanList-API.patch b/patches/server/0840-Fix-BanList-API.patch similarity index 99% rename from patches/server/0841-Fix-BanList-API.patch rename to patches/server/0840-Fix-BanList-API.patch index 780f2ca5be..b3274235b6 100644 --- a/patches/server/0841-Fix-BanList-API.patch +++ b/patches/server/0840-Fix-BanList-API.patch @@ -208,7 +208,7 @@ index 172202accf4448a933fcf1ff820316c7910dd7f7..50ee7656580d386db473c054f5c5ec57 return null; } diff --git a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java -index b3faca24fa8bdb22d1bf3e581d0396bc444a9f5f..28536a8bfab2c8bdde03852efa0e41cf19a37a9c 100644 +index e7235efba6b68917a646083c150655cb42a738e5..32e1830464395cb1f462777f3fb14e766c5e3217 100644 --- a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java +++ b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java @@ -1747,23 +1747,23 @@ public class CraftPlayer extends CraftHumanEntity implements Player { diff --git a/patches/server/0842-Determine-lava-and-water-fluid-explosion-resistance-.patch b/patches/server/0841-Determine-lava-and-water-fluid-explosion-resistance-.patch similarity index 100% rename from patches/server/0842-Determine-lava-and-water-fluid-explosion-resistance-.patch rename to patches/server/0841-Determine-lava-and-water-fluid-explosion-resistance-.patch diff --git a/patches/server/0843-Fix-possible-NPE-on-painting-creation.patch b/patches/server/0842-Fix-possible-NPE-on-painting-creation.patch similarity index 100% rename from patches/server/0843-Fix-possible-NPE-on-painting-creation.patch rename to patches/server/0842-Fix-possible-NPE-on-painting-creation.patch diff --git a/patches/server/0844-Only-set-despawnTimer-for-Wandering-Traders-spawned-.patch b/patches/server/0843-Only-set-despawnTimer-for-Wandering-Traders-spawned-.patch similarity index 100% rename from patches/server/0844-Only-set-despawnTimer-for-Wandering-Traders-spawned-.patch rename to patches/server/0843-Only-set-despawnTimer-for-Wandering-Traders-spawned-.patch diff --git a/patches/server/0845-ExperienceOrb-should-call-EntitySpawnEvent.patch b/patches/server/0844-ExperienceOrb-should-call-EntitySpawnEvent.patch similarity index 89% rename from patches/server/0845-ExperienceOrb-should-call-EntitySpawnEvent.patch rename to patches/server/0844-ExperienceOrb-should-call-EntitySpawnEvent.patch index 83756a84b2..54f3923604 100644 --- a/patches/server/0845-ExperienceOrb-should-call-EntitySpawnEvent.patch +++ b/patches/server/0844-ExperienceOrb-should-call-EntitySpawnEvent.patch @@ -5,10 +5,10 @@ Subject: [PATCH] ExperienceOrb should call EntitySpawnEvent diff --git a/src/main/java/org/bukkit/craftbukkit/event/CraftEventFactory.java b/src/main/java/org/bukkit/craftbukkit/event/CraftEventFactory.java -index 1f73ee4e284ca6b0bd6d387337a4c1084f3210e5..35afad4e995f7e94d7a4541157b237c73d1b9635 100644 +index fd648c176733dcaa03d2bbec4000381d58fc357e..3f9a309d4d0685aec0fabb16a1bd51931048525b 100644 --- a/src/main/java/org/bukkit/craftbukkit/event/CraftEventFactory.java +++ b/src/main/java/org/bukkit/craftbukkit/event/CraftEventFactory.java -@@ -740,7 +740,8 @@ public class CraftEventFactory { +@@ -744,7 +744,8 @@ public class CraftEventFactory { // Spigot start - SPIGOT-7523: Merge after spawn event and only merge if the event was not cancelled (gets checked above) if (entity instanceof net.minecraft.world.entity.ExperienceOrb xp) { double radius = world.spigotConfig.expMerge; diff --git a/patches/server/0846-Make-Amethyst-throw-both-Spread-and-Grow-Events.patch b/patches/server/0845-Make-Amethyst-throw-both-Spread-and-Grow-Events.patch similarity index 100% rename from patches/server/0846-Make-Amethyst-throw-both-Spread-and-Grow-Events.patch rename to patches/server/0845-Make-Amethyst-throw-both-Spread-and-Grow-Events.patch diff --git a/patches/server/0847-Add-whitelist-events.patch b/patches/server/0846-Add-whitelist-events.patch similarity index 100% rename from patches/server/0847-Add-whitelist-events.patch rename to patches/server/0846-Add-whitelist-events.patch diff --git a/patches/server/0848-Implement-PlayerFailMoveEvent.patch b/patches/server/0847-Implement-PlayerFailMoveEvent.patch similarity index 100% rename from patches/server/0848-Implement-PlayerFailMoveEvent.patch rename to patches/server/0847-Implement-PlayerFailMoveEvent.patch diff --git a/patches/server/0849-Folia-scheduler-and-owned-region-API.patch b/patches/server/0848-Folia-scheduler-and-owned-region-API.patch similarity index 100% rename from patches/server/0849-Folia-scheduler-and-owned-region-API.patch rename to patches/server/0848-Folia-scheduler-and-owned-region-API.patch diff --git a/patches/server/0850-Only-erase-allay-memory-on-non-item-targets.patch b/patches/server/0849-Only-erase-allay-memory-on-non-item-targets.patch similarity index 100% rename from patches/server/0850-Only-erase-allay-memory-on-non-item-targets.patch rename to patches/server/0849-Only-erase-allay-memory-on-non-item-targets.patch diff --git a/patches/server/0851-API-for-updating-recipes-on-clients.patch b/patches/server/0850-API-for-updating-recipes-on-clients.patch similarity index 100% rename from patches/server/0851-API-for-updating-recipes-on-clients.patch rename to patches/server/0850-API-for-updating-recipes-on-clients.patch diff --git a/patches/server/0852-Fix-rotation-when-spawning-display-entities.patch b/patches/server/0851-Fix-rotation-when-spawning-display-entities.patch similarity index 100% rename from patches/server/0852-Fix-rotation-when-spawning-display-entities.patch rename to patches/server/0851-Fix-rotation-when-spawning-display-entities.patch diff --git a/patches/server/0853-Only-capture-actual-tree-growth.patch b/patches/server/0852-Only-capture-actual-tree-growth.patch similarity index 96% rename from patches/server/0853-Only-capture-actual-tree-growth.patch rename to patches/server/0852-Only-capture-actual-tree-growth.patch index 74ca9ab6b6..c8bdd0bb61 100644 --- a/patches/server/0853-Only-capture-actual-tree-growth.patch +++ b/patches/server/0852-Only-capture-actual-tree-growth.patch @@ -17,7 +17,7 @@ index 78951f50188528718cdb3dbbaabe3f9f2760ffe3..7826e2a52da47914aca39fef958b8f39 } } diff --git a/src/main/java/net/minecraft/world/item/ItemStack.java b/src/main/java/net/minecraft/world/item/ItemStack.java -index a6ca820adf6e86f8358967d8d3b2e45cd1135b2c..780b2fada591fb1b504fbf4828c31ec0dd1c25db 100644 +index 1016541b8f01cdb45ae96fbb777c6c38598fcc35..11c507b399f97c4c0bbe220e8a3c1cdb851c8a0a 100644 --- a/src/main/java/net/minecraft/world/item/ItemStack.java +++ b/src/main/java/net/minecraft/world/item/ItemStack.java @@ -466,6 +466,7 @@ public final class ItemStack implements DataComponentHolder { @@ -29,7 +29,7 @@ index a6ca820adf6e86f8358967d8d3b2e45cd1135b2c..780b2fada591fb1b504fbf4828c31ec0 entityhuman.awardStat(Stats.ITEM_USED.get(item)); // SPIGOT-7236 - award stat } diff --git a/src/main/java/net/minecraft/world/level/Level.java b/src/main/java/net/minecraft/world/level/Level.java -index ed1c50d31fc077e4e009719fa622a44edefcdf2c..8337f2f1d650fc7efb830a7034e3676dc0695ee4 100644 +index 0a3e56302470f239d4840e4e32d2a0ce4611ff65..3f87e60c0d43703a8450b5920dac59a970809397 100644 --- a/src/main/java/net/minecraft/world/level/Level.java +++ b/src/main/java/net/minecraft/world/level/Level.java @@ -1378,4 +1378,14 @@ public abstract class Level implements LevelAccessor, AutoCloseable { diff --git a/patches/server/0854-Use-correct-source-for-mushroom-block-spread-event.patch b/patches/server/0853-Use-correct-source-for-mushroom-block-spread-event.patch similarity index 100% rename from patches/server/0854-Use-correct-source-for-mushroom-block-spread-event.patch rename to patches/server/0853-Use-correct-source-for-mushroom-block-spread-event.patch diff --git a/patches/server/0855-Respect-randomizeData-on-more-entities-when-spawning.patch b/patches/server/0854-Respect-randomizeData-on-more-entities-when-spawning.patch similarity index 100% rename from patches/server/0855-Respect-randomizeData-on-more-entities-when-spawning.patch rename to patches/server/0854-Respect-randomizeData-on-more-entities-when-spawning.patch diff --git a/patches/server/0856-Use-correct-seed-on-api-world-load.patch b/patches/server/0855-Use-correct-seed-on-api-world-load.patch similarity index 100% rename from patches/server/0856-Use-correct-seed-on-api-world-load.patch rename to patches/server/0855-Use-correct-seed-on-api-world-load.patch diff --git a/patches/server/0857-Remove-UpgradeData-neighbour-ticks-outside-of-range.patch b/patches/server/0856-Remove-UpgradeData-neighbour-ticks-outside-of-range.patch similarity index 100% rename from patches/server/0857-Remove-UpgradeData-neighbour-ticks-outside-of-range.patch rename to patches/server/0856-Remove-UpgradeData-neighbour-ticks-outside-of-range.patch diff --git a/patches/server/0858-Cache-map-ids-on-item-frames.patch b/patches/server/0857-Cache-map-ids-on-item-frames.patch similarity index 100% rename from patches/server/0858-Cache-map-ids-on-item-frames.patch rename to patches/server/0857-Cache-map-ids-on-item-frames.patch diff --git a/patches/server/0859-Fix-custom-statistic-criteria-creation.patch b/patches/server/0858-Fix-custom-statistic-criteria-creation.patch similarity index 100% rename from patches/server/0859-Fix-custom-statistic-criteria-creation.patch rename to patches/server/0858-Fix-custom-statistic-criteria-creation.patch diff --git a/patches/server/0860-Bandaid-fix-for-Effect.patch b/patches/server/0859-Bandaid-fix-for-Effect.patch similarity index 98% rename from patches/server/0860-Bandaid-fix-for-Effect.patch rename to patches/server/0859-Bandaid-fix-for-Effect.patch index 37c8fc587f..9dd7805368 100644 --- a/patches/server/0860-Bandaid-fix-for-Effect.patch +++ b/patches/server/0859-Bandaid-fix-for-Effect.patch @@ -81,7 +81,7 @@ index 0c5a583f2ced1ae5e1e92a045ef2ef1cd5b35496..5c83ca573ccaa75a1d4e8129c96a24e3 // Special case: the axis is optional for ELECTRIC_SPARK Preconditions.checkArgument(effect.getData() == null || effect == Effect.ELECTRIC_SPARK, "Wrong kind of data for the %s effect", effect); diff --git a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java -index 28536a8bfab2c8bdde03852efa0e41cf19a37a9c..cb41fad4b94c4da64a699dc1b0848fc08ff2c456 100644 +index 32e1830464395cb1f462777f3fb14e766c5e3217..9cf67deacf9d01e3835705260a358513987fc3ba 100644 --- a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java +++ b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java @@ -917,7 +917,7 @@ public class CraftPlayer extends CraftHumanEntity implements Player { diff --git a/patches/server/0861-SculkCatalyst-bloom-API.patch b/patches/server/0860-SculkCatalyst-bloom-API.patch similarity index 100% rename from patches/server/0861-SculkCatalyst-bloom-API.patch rename to patches/server/0860-SculkCatalyst-bloom-API.patch diff --git a/patches/server/0862-API-for-an-entity-s-scoreboard-name.patch b/patches/server/0861-API-for-an-entity-s-scoreboard-name.patch similarity index 100% rename from patches/server/0862-API-for-an-entity-s-scoreboard-name.patch rename to patches/server/0861-API-for-an-entity-s-scoreboard-name.patch diff --git a/patches/server/0863-Deprecate-and-replace-methods-with-old-StructureType.patch b/patches/server/0862-Deprecate-and-replace-methods-with-old-StructureType.patch similarity index 100% rename from patches/server/0863-Deprecate-and-replace-methods-with-old-StructureType.patch rename to patches/server/0862-Deprecate-and-replace-methods-with-old-StructureType.patch diff --git a/patches/server/0864-Don-t-tab-complete-namespaced-commands-if-send-names.patch b/patches/server/0863-Don-t-tab-complete-namespaced-commands-if-send-names.patch similarity index 100% rename from patches/server/0864-Don-t-tab-complete-namespaced-commands-if-send-names.patch rename to patches/server/0863-Don-t-tab-complete-namespaced-commands-if-send-names.patch diff --git a/patches/server/0865-Properly-handle-BlockBreakEvent-isDropItems.patch b/patches/server/0864-Properly-handle-BlockBreakEvent-isDropItems.patch similarity index 100% rename from patches/server/0865-Properly-handle-BlockBreakEvent-isDropItems.patch rename to patches/server/0864-Properly-handle-BlockBreakEvent-isDropItems.patch diff --git a/patches/server/0866-Fire-entity-death-event-for-ender-dragon.patch b/patches/server/0865-Fire-entity-death-event-for-ender-dragon.patch similarity index 100% rename from patches/server/0866-Fire-entity-death-event-for-ender-dragon.patch rename to patches/server/0865-Fire-entity-death-event-for-ender-dragon.patch diff --git a/patches/server/0867-Configurable-entity-tracking-range-by-Y-coordinate.patch b/patches/server/0866-Configurable-entity-tracking-range-by-Y-coordinate.patch similarity index 100% rename from patches/server/0867-Configurable-entity-tracking-range-by-Y-coordinate.patch rename to patches/server/0866-Configurable-entity-tracking-range-by-Y-coordinate.patch diff --git a/patches/server/0868-Add-Listing-API-for-Player.patch b/patches/server/0867-Add-Listing-API-for-Player.patch similarity index 98% rename from patches/server/0868-Add-Listing-API-for-Player.patch rename to patches/server/0867-Add-Listing-API-for-Player.patch index bb270bf016..f33015a234 100644 --- a/patches/server/0868-Add-Listing-API-for-Player.patch +++ b/patches/server/0867-Add-Listing-API-for-Player.patch @@ -82,7 +82,7 @@ index 6247a21c9c391abf1f6db3482c659593e4f29355..9ccca41bf23efadba5329cc584bbcdca static class EntryBuilder { diff --git a/src/main/java/net/minecraft/server/players/PlayerList.java b/src/main/java/net/minecraft/server/players/PlayerList.java -index be6bf7afa3cea4ed48f363e89ccd079062edc8d9..9b1a6d8351fb473eec75a2fd08fb892b770e3586 100644 +index 1b83d8f723410c405746faa59783e6ba7a66fd56..eec536d493575f593dd71c63944b047566f3822d 100644 --- a/src/main/java/net/minecraft/server/players/PlayerList.java +++ b/src/main/java/net/minecraft/server/players/PlayerList.java @@ -359,14 +359,22 @@ public abstract class PlayerList { @@ -119,7 +119,7 @@ index be6bf7afa3cea4ed48f363e89ccd079062edc8d9..9b1a6d8351fb473eec75a2fd08fb892b // Paper end - Use single player info update packet on join player.sentListPacket = true; diff --git a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java -index cb41fad4b94c4da64a699dc1b0848fc08ff2c456..c80cbc9dece765091b2ad9281bdc061df8b491dc 100644 +index 9cf67deacf9d01e3835705260a358513987fc3ba..78dcc656807cafa52707ef4139fe6176f6f16021 100644 --- a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java +++ b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java @@ -201,6 +201,7 @@ public class CraftPlayer extends CraftHumanEntity implements Player { diff --git a/patches/server/0869-Configurable-Region-Compression-Format.patch b/patches/server/0868-Configurable-Region-Compression-Format.patch similarity index 100% rename from patches/server/0869-Configurable-Region-Compression-Format.patch rename to patches/server/0868-Configurable-Region-Compression-Format.patch diff --git a/patches/server/0870-Add-BlockFace-to-BlockDamageEvent.patch b/patches/server/0869-Add-BlockFace-to-BlockDamageEvent.patch similarity index 94% rename from patches/server/0870-Add-BlockFace-to-BlockDamageEvent.patch rename to patches/server/0869-Add-BlockFace-to-BlockDamageEvent.patch index f2de8e9aa8..3a44f17ce6 100644 --- a/patches/server/0870-Add-BlockFace-to-BlockDamageEvent.patch +++ b/patches/server/0869-Add-BlockFace-to-BlockDamageEvent.patch @@ -18,10 +18,10 @@ index c680f081ba548f84f07a968a46811090c53e57e3..d839f8df658c894f144ba4637d290ffb if (blockEvent.isCancelled()) { // Let the client know the block still exists diff --git a/src/main/java/org/bukkit/craftbukkit/event/CraftEventFactory.java b/src/main/java/org/bukkit/craftbukkit/event/CraftEventFactory.java -index 35afad4e995f7e94d7a4541157b237c73d1b9635..9d7bcd7a99cfda0776d267bada384304558fa6fe 100644 +index 3f9a309d4d0685aec0fabb16a1bd51931048525b..3dae4bc26ac6de7ee07eeca7763e2078cb2b7101 100644 --- a/src/main/java/org/bukkit/craftbukkit/event/CraftEventFactory.java +++ b/src/main/java/org/bukkit/craftbukkit/event/CraftEventFactory.java -@@ -655,13 +655,13 @@ public class CraftEventFactory { +@@ -659,13 +659,13 @@ public class CraftEventFactory { /** * BlockDamageEvent */ diff --git a/patches/server/0871-Fix-NPE-on-Boat-getStatus.patch b/patches/server/0870-Fix-NPE-on-Boat-getStatus.patch similarity index 100% rename from patches/server/0871-Fix-NPE-on-Boat-getStatus.patch rename to patches/server/0870-Fix-NPE-on-Boat-getStatus.patch diff --git a/patches/server/0872-Expand-Pose-API.patch b/patches/server/0871-Expand-Pose-API.patch similarity index 100% rename from patches/server/0872-Expand-Pose-API.patch rename to patches/server/0871-Expand-Pose-API.patch diff --git a/patches/server/0873-More-DragonBattle-API.patch b/patches/server/0872-More-DragonBattle-API.patch similarity index 100% rename from patches/server/0873-More-DragonBattle-API.patch rename to patches/server/0872-More-DragonBattle-API.patch diff --git a/patches/server/0874-Add-PlayerPickItemEvent.patch b/patches/server/0873-Add-PlayerPickItemEvent.patch similarity index 100% rename from patches/server/0874-Add-PlayerPickItemEvent.patch rename to patches/server/0873-Add-PlayerPickItemEvent.patch diff --git a/patches/server/0875-Allow-trident-custom-damage.patch b/patches/server/0874-Allow-trident-custom-damage.patch similarity index 100% rename from patches/server/0875-Allow-trident-custom-damage.patch rename to patches/server/0874-Allow-trident-custom-damage.patch diff --git a/patches/server/0876-Expose-hand-in-BlockCanBuildEvent.patch b/patches/server/0875-Expose-hand-in-BlockCanBuildEvent.patch similarity index 100% rename from patches/server/0876-Expose-hand-in-BlockCanBuildEvent.patch rename to patches/server/0875-Expose-hand-in-BlockCanBuildEvent.patch diff --git a/patches/server/0877-Optimize-nearest-structure-border-iteration.patch b/patches/server/0876-Optimize-nearest-structure-border-iteration.patch similarity index 100% rename from patches/server/0877-Optimize-nearest-structure-border-iteration.patch rename to patches/server/0876-Optimize-nearest-structure-border-iteration.patch diff --git a/patches/server/0878-Implement-OfflinePlayer-isConnected.patch b/patches/server/0877-Implement-OfflinePlayer-isConnected.patch similarity index 94% rename from patches/server/0878-Implement-OfflinePlayer-isConnected.patch rename to patches/server/0877-Implement-OfflinePlayer-isConnected.patch index 2d00249134..96316a2a2a 100644 --- a/patches/server/0878-Implement-OfflinePlayer-isConnected.patch +++ b/patches/server/0877-Implement-OfflinePlayer-isConnected.patch @@ -23,7 +23,7 @@ index 4d654c4f0b6210a9841427789ba70ce5d1d308be..9d93130f23addb18b97d7f5ec013faef public String getName() { Player player = this.getPlayer(); diff --git a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java -index c80cbc9dece765091b2ad9281bdc061df8b491dc..a996f721fa0794a4551ff1e99ea1b66a723bfaff 100644 +index 78dcc656807cafa52707ef4139fe6176f6f16021..a2dd33a9bb61427005e1edb1dcb1dfa23030d0ee 100644 --- a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java +++ b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java @@ -256,6 +256,13 @@ public class CraftPlayer extends CraftHumanEntity implements Player { diff --git a/patches/server/0879-Fix-inventory-desync.patch b/patches/server/0878-Fix-inventory-desync.patch similarity index 100% rename from patches/server/0879-Fix-inventory-desync.patch rename to patches/server/0878-Fix-inventory-desync.patch diff --git a/patches/server/0880-Add-titleOverride-to-InventoryOpenEvent.patch b/patches/server/0879-Add-titleOverride-to-InventoryOpenEvent.patch similarity index 97% rename from patches/server/0880-Add-titleOverride-to-InventoryOpenEvent.patch rename to patches/server/0879-Add-titleOverride-to-InventoryOpenEvent.patch index 629f589fc2..e9c3aa9d42 100644 --- a/patches/server/0880-Add-titleOverride-to-InventoryOpenEvent.patch +++ b/patches/server/0879-Add-titleOverride-to-InventoryOpenEvent.patch @@ -79,10 +79,10 @@ index 12ab8f7cde88cd6ce3ad474fe2843d5d30c3c0d7..c1bad887d1340ebc7c63fda3dceff929 if (!player.isImmobile()) player.connection.send(new ClientboundOpenScreenPacket(container.containerId, windowType, io.papermc.paper.adventure.PaperAdventure.asVanilla(adventure$title))); // Paper - Prevent opening inventories when frozen player.containerMenu = container; diff --git a/src/main/java/org/bukkit/craftbukkit/event/CraftEventFactory.java b/src/main/java/org/bukkit/craftbukkit/event/CraftEventFactory.java -index 9d7bcd7a99cfda0776d267bada384304558fa6fe..6ca59ba6a713e452d146182d143b99b07696af8b 100644 +index 3dae4bc26ac6de7ee07eeca7763e2078cb2b7101..a8365c67e28d530734b8527ce67d83decee41beb 100644 --- a/src/main/java/org/bukkit/craftbukkit/event/CraftEventFactory.java +++ b/src/main/java/org/bukkit/craftbukkit/event/CraftEventFactory.java -@@ -1397,10 +1397,21 @@ public class CraftEventFactory { +@@ -1401,10 +1401,21 @@ public class CraftEventFactory { } public static AbstractContainerMenu callInventoryOpenEvent(ServerPlayer player, AbstractContainerMenu container) { @@ -105,7 +105,7 @@ index 9d7bcd7a99cfda0776d267bada384304558fa6fe..6ca59ba6a713e452d146182d143b99b0 if (player.containerMenu != player.inventoryMenu) { // fire INVENTORY_CLOSE if one already open player.connection.handleContainerClose(new ServerboundContainerClosePacket(player.containerMenu.containerId), InventoryCloseEvent.Reason.OPEN_NEW); // Paper - Inventory close reason } -@@ -1415,10 +1426,10 @@ public class CraftEventFactory { +@@ -1419,10 +1430,10 @@ public class CraftEventFactory { if (event.isCancelled()) { container.transferTo(player.containerMenu, craftPlayer); diff --git a/patches/server/0881-Configure-sniffer-egg-hatch-time.patch b/patches/server/0880-Configure-sniffer-egg-hatch-time.patch similarity index 100% rename from patches/server/0881-Configure-sniffer-egg-hatch-time.patch rename to patches/server/0880-Configure-sniffer-egg-hatch-time.patch diff --git a/patches/server/0882-Do-crystal-portal-proximity-check-before-entity-look.patch b/patches/server/0881-Do-crystal-portal-proximity-check-before-entity-look.patch similarity index 100% rename from patches/server/0882-Do-crystal-portal-proximity-check-before-entity-look.patch rename to patches/server/0881-Do-crystal-portal-proximity-check-before-entity-look.patch diff --git a/patches/server/0883-Skip-POI-finding-if-stuck-in-vehicle.patch b/patches/server/0882-Skip-POI-finding-if-stuck-in-vehicle.patch similarity index 100% rename from patches/server/0883-Skip-POI-finding-if-stuck-in-vehicle.patch rename to patches/server/0882-Skip-POI-finding-if-stuck-in-vehicle.patch diff --git a/patches/server/0884-Add-slot-sanity-checks-in-container-clicks.patch b/patches/server/0883-Add-slot-sanity-checks-in-container-clicks.patch similarity index 100% rename from patches/server/0884-Add-slot-sanity-checks-in-container-clicks.patch rename to patches/server/0883-Add-slot-sanity-checks-in-container-clicks.patch diff --git a/patches/server/0885-Call-BlockRedstoneEvents-for-lecterns.patch b/patches/server/0884-Call-BlockRedstoneEvents-for-lecterns.patch similarity index 100% rename from patches/server/0885-Call-BlockRedstoneEvents-for-lecterns.patch rename to patches/server/0884-Call-BlockRedstoneEvents-for-lecterns.patch diff --git a/patches/server/0886-Allow-proper-checking-of-empty-item-stacks.patch b/patches/server/0885-Allow-proper-checking-of-empty-item-stacks.patch similarity index 100% rename from patches/server/0886-Allow-proper-checking-of-empty-item-stacks.patch rename to patches/server/0885-Allow-proper-checking-of-empty-item-stacks.patch diff --git a/patches/server/0887-Fix-silent-equipment-change-for-mobs.patch b/patches/server/0886-Fix-silent-equipment-change-for-mobs.patch similarity index 100% rename from patches/server/0887-Fix-silent-equipment-change-for-mobs.patch rename to patches/server/0886-Fix-silent-equipment-change-for-mobs.patch diff --git a/patches/server/0888-Fix-spigot-s-Forced-Stats.patch b/patches/server/0887-Fix-spigot-s-Forced-Stats.patch similarity index 100% rename from patches/server/0888-Fix-spigot-s-Forced-Stats.patch rename to patches/server/0887-Fix-spigot-s-Forced-Stats.patch diff --git a/patches/server/0889-Add-missing-InventoryHolders-to-inventories.patch b/patches/server/0888-Add-missing-InventoryHolders-to-inventories.patch similarity index 97% rename from patches/server/0889-Add-missing-InventoryHolders-to-inventories.patch rename to patches/server/0888-Add-missing-InventoryHolders-to-inventories.patch index ae956d4693..abdf8c8bea 100644 --- a/patches/server/0889-Add-missing-InventoryHolders-to-inventories.patch +++ b/patches/server/0888-Add-missing-InventoryHolders-to-inventories.patch @@ -77,7 +77,7 @@ index 428e454116804c27496cfbf796edd44780890d33..4c7e91977fa590abfe7eb3704d8008ed + // Paper end - Add missing InventoryHolders } diff --git a/src/main/java/net/minecraft/world/inventory/BeaconMenu.java b/src/main/java/net/minecraft/world/inventory/BeaconMenu.java -index 1b6fd16d8c6195c6f7b65c7621d5f9bd15c46a75..7f513e8c4f81524aee9326ddbbc6bec0b3fa1b27 100644 +index a735aeeb59f79154ce797c6e2f5600305f46d217..b93c118d957f0a2f40e2f31fd6400bd69438cf72 100644 --- a/src/main/java/net/minecraft/world/inventory/BeaconMenu.java +++ b/src/main/java/net/minecraft/world/inventory/BeaconMenu.java @@ -42,7 +42,7 @@ public class BeaconMenu extends AbstractContainerMenu { @@ -148,10 +148,10 @@ index 85e336637db8643fc5aca1dba724c9b341cbf46f..12b466ccb7c36021cf807c4f3fd2bcb0 @Override public Optional evaluate(BiFunction getter) { diff --git a/src/main/java/net/minecraft/world/inventory/EnchantmentMenu.java b/src/main/java/net/minecraft/world/inventory/EnchantmentMenu.java -index 6f88ce0076460215f5c1a965aa2bd7050071b611..c1b9c3ad2cccfa520e9d73b786142624ac5f3380 100644 +index 2fa009b33bccd6aeee30f23f9207ab039740d95d..fff1c39920e7d7051dfe3dd39c77865d3bdf113e 100644 --- a/src/main/java/net/minecraft/world/inventory/EnchantmentMenu.java +++ b/src/main/java/net/minecraft/world/inventory/EnchantmentMenu.java -@@ -66,7 +66,7 @@ public class EnchantmentMenu extends AbstractContainerMenu { +@@ -63,7 +63,7 @@ public class EnchantmentMenu extends AbstractContainerMenu { public EnchantmentMenu(int syncId, Inventory playerInventory, ContainerLevelAccess context) { super(MenuType.ENCHANTMENT, syncId); @@ -206,7 +206,7 @@ index be840717e180b6b5abd14db6cc9263349737f9a3..7de5e47f9a54263734eeef855a2dc07e public void setChanged() { super.setChanged(); diff --git a/src/main/java/net/minecraft/world/inventory/LoomMenu.java b/src/main/java/net/minecraft/world/inventory/LoomMenu.java -index 72ad78659a373213ed1f37498754adaf18f1f68b..4f3f6ea43030853bd9df067358a1f4d16c40e6d4 100644 +index f76ef029132c6a08d4e70585bc440eccdc626b16..7d7b4e53682107a1a75a7aa205be1e6bfdc8c551 100644 --- a/src/main/java/net/minecraft/world/inventory/LoomMenu.java +++ b/src/main/java/net/minecraft/world/inventory/LoomMenu.java @@ -73,7 +73,7 @@ public class LoomMenu extends AbstractContainerMenu { @@ -261,7 +261,7 @@ index d4592218d761eb38402e3d95c642e80a708cb333..4c4266a85c38e41e6c7e6144a68624f4 public ResultContainer() { this.itemStacks = NonNullList.withSize(1, ItemStack.EMPTY); diff --git a/src/main/java/net/minecraft/world/inventory/StonecutterMenu.java b/src/main/java/net/minecraft/world/inventory/StonecutterMenu.java -index 977ccef3c9fa7685209f3eca894a3b69501ebcc1..5ddae1afab0a68465ea60395c84b0997ee994f88 100644 +index 37e75c02c374314372630f4bda0b92519809f2a4..5a0015f761f6a25d7bb7b9cfe7a9b4771a6a37ec 100644 --- a/src/main/java/net/minecraft/world/inventory/StonecutterMenu.java +++ b/src/main/java/net/minecraft/world/inventory/StonecutterMenu.java @@ -69,7 +69,7 @@ public class StonecutterMenu extends AbstractContainerMenu { diff --git a/patches/server/0890-Do-not-read-tile-entities-in-chunks-that-are-positio.patch b/patches/server/0889-Do-not-read-tile-entities-in-chunks-that-are-positio.patch similarity index 100% rename from patches/server/0890-Do-not-read-tile-entities-in-chunks-that-are-positio.patch rename to patches/server/0889-Do-not-read-tile-entities-in-chunks-that-are-positio.patch diff --git a/patches/server/0891-Add-missing-logs-for-log-ips-config-option.patch b/patches/server/0890-Add-missing-logs-for-log-ips-config-option.patch similarity index 100% rename from patches/server/0891-Add-missing-logs-for-log-ips-config-option.patch rename to patches/server/0890-Add-missing-logs-for-log-ips-config-option.patch diff --git a/patches/server/0892-Fix-race-condition-on-UpgradeData.BlockFixers-class-.patch b/patches/server/0891-Fix-race-condition-on-UpgradeData.BlockFixers-class-.patch similarity index 100% rename from patches/server/0892-Fix-race-condition-on-UpgradeData.BlockFixers-class-.patch rename to patches/server/0891-Fix-race-condition-on-UpgradeData.BlockFixers-class-.patch diff --git a/patches/server/0893-Fix-NPE-in-AdvancementProgress-getDateAwarded.patch b/patches/server/0892-Fix-NPE-in-AdvancementProgress-getDateAwarded.patch similarity index 100% rename from patches/server/0893-Fix-NPE-in-AdvancementProgress-getDateAwarded.patch rename to patches/server/0892-Fix-NPE-in-AdvancementProgress-getDateAwarded.patch diff --git a/patches/server/0894-Fix-team-sidebar-objectives-not-being-cleared.patch b/patches/server/0893-Fix-team-sidebar-objectives-not-being-cleared.patch similarity index 100% rename from patches/server/0894-Fix-team-sidebar-objectives-not-being-cleared.patch rename to patches/server/0893-Fix-team-sidebar-objectives-not-being-cleared.patch diff --git a/patches/server/0895-Fix-missing-map-initialize-event-call.patch b/patches/server/0894-Fix-missing-map-initialize-event-call.patch similarity index 100% rename from patches/server/0895-Fix-missing-map-initialize-event-call.patch rename to patches/server/0894-Fix-missing-map-initialize-event-call.patch diff --git a/patches/server/0896-Update-entity-data-when-attaching-firework-to-entity.patch b/patches/server/0895-Update-entity-data-when-attaching-firework-to-entity.patch similarity index 100% rename from patches/server/0896-Update-entity-data-when-attaching-firework-to-entity.patch rename to patches/server/0895-Update-entity-data-when-attaching-firework-to-entity.patch diff --git a/patches/server/0897-Fix-UnsafeValues-loadAdvancement.patch b/patches/server/0896-Fix-UnsafeValues-loadAdvancement.patch similarity index 96% rename from patches/server/0897-Fix-UnsafeValues-loadAdvancement.patch rename to patches/server/0896-Fix-UnsafeValues-loadAdvancement.patch index d8143eab89..bee9e36bfe 100644 --- a/patches/server/0897-Fix-UnsafeValues-loadAdvancement.patch +++ b/patches/server/0896-Fix-UnsafeValues-loadAdvancement.patch @@ -5,7 +5,7 @@ Subject: [PATCH] Fix UnsafeValues#loadAdvancement diff --git a/src/main/java/org/bukkit/craftbukkit/util/CraftMagicNumbers.java b/src/main/java/org/bukkit/craftbukkit/util/CraftMagicNumbers.java -index 48eeac0795c479ebb2ff64005b1405421131fcd7..1d98c0e9f138f122aa73e2f1dd6d485d7865720d 100644 +index 398068e8ffa77ac7199baf7aaab5b60c9dc639f5..9449fe944c7a06a8fdeaf0a0dfc7280950fdb6db 100644 --- a/src/main/java/org/bukkit/craftbukkit/util/CraftMagicNumbers.java +++ b/src/main/java/org/bukkit/craftbukkit/util/CraftMagicNumbers.java @@ -302,9 +302,30 @@ public final class CraftMagicNumbers implements UnsafeValues { diff --git a/patches/server/0898-Add-player-idle-duration-API.patch b/patches/server/0897-Add-player-idle-duration-API.patch similarity index 91% rename from patches/server/0898-Add-player-idle-duration-API.patch rename to patches/server/0897-Add-player-idle-duration-API.patch index 9e5130fc3a..0c646e1e0a 100644 --- a/patches/server/0898-Add-player-idle-duration-API.patch +++ b/patches/server/0897-Add-player-idle-duration-API.patch @@ -6,7 +6,7 @@ Subject: [PATCH] Add player idle duration API Implements API for getting and resetting a player's idle duration. diff --git a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java -index a996f721fa0794a4551ff1e99ea1b66a723bfaff..e443e260afbda55cc9888efd60d9b5f56dcbf55b 100644 +index a2dd33a9bb61427005e1edb1dcb1dfa23030d0ee..f474b6f880b8d03d6b6a29203509ac0fdd9faaf1 100644 --- a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java +++ b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java @@ -3419,6 +3419,18 @@ public class CraftPlayer extends CraftHumanEntity implements Player { diff --git a/patches/server/0899-Don-t-check-if-we-can-see-non-visible-entities.patch b/patches/server/0898-Don-t-check-if-we-can-see-non-visible-entities.patch similarity index 100% rename from patches/server/0899-Don-t-check-if-we-can-see-non-visible-entities.patch rename to patches/server/0898-Don-t-check-if-we-can-see-non-visible-entities.patch diff --git a/patches/server/0900-Fix-NPE-in-SculkBloomEvent-world-access.patch b/patches/server/0899-Fix-NPE-in-SculkBloomEvent-world-access.patch similarity index 100% rename from patches/server/0900-Fix-NPE-in-SculkBloomEvent-world-access.patch rename to patches/server/0899-Fix-NPE-in-SculkBloomEvent-world-access.patch diff --git a/patches/server/0901-Allow-null-itemstack-for-Player-sendEquipmentChange.patch b/patches/server/0900-Allow-null-itemstack-for-Player-sendEquipmentChange.patch similarity index 90% rename from patches/server/0901-Allow-null-itemstack-for-Player-sendEquipmentChange.patch rename to patches/server/0900-Allow-null-itemstack-for-Player-sendEquipmentChange.patch index ec4d42387a..fdde374c47 100644 --- a/patches/server/0901-Allow-null-itemstack-for-Player-sendEquipmentChange.patch +++ b/patches/server/0900-Allow-null-itemstack-for-Player-sendEquipmentChange.patch @@ -5,7 +5,7 @@ Subject: [PATCH] Allow null itemstack for Player#sendEquipmentChange diff --git a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java -index e443e260afbda55cc9888efd60d9b5f56dcbf55b..f337c32fa4521d6ddd1c4d6102404db389f23b71 100644 +index f474b6f880b8d03d6b6a29203509ac0fdd9faaf1..51b524d3c7cd5e0f59056c1fd8f71171732945b8 100644 --- a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java +++ b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java @@ -1127,7 +1127,7 @@ public class CraftPlayer extends CraftHumanEntity implements Player { diff --git a/patches/server/0902-Optimize-VarInts.patch b/patches/server/0901-Optimize-VarInts.patch similarity index 100% rename from patches/server/0902-Optimize-VarInts.patch rename to patches/server/0901-Optimize-VarInts.patch diff --git a/patches/server/0903-Add-API-to-get-the-collision-shape-of-a-block-before.patch b/patches/server/0902-Add-API-to-get-the-collision-shape-of-a-block-before.patch similarity index 100% rename from patches/server/0903-Add-API-to-get-the-collision-shape-of-a-block-before.patch rename to patches/server/0902-Add-API-to-get-the-collision-shape-of-a-block-before.patch diff --git a/patches/server/0904-Add-predicate-for-blocks-when-raytracing.patch b/patches/server/0903-Add-predicate-for-blocks-when-raytracing.patch similarity index 100% rename from patches/server/0904-Add-predicate-for-blocks-when-raytracing.patch rename to patches/server/0903-Add-predicate-for-blocks-when-raytracing.patch diff --git a/patches/server/0905-Broadcast-take-item-packets-with-collector-as-source.patch b/patches/server/0904-Broadcast-take-item-packets-with-collector-as-source.patch similarity index 100% rename from patches/server/0905-Broadcast-take-item-packets-with-collector-as-source.patch rename to patches/server/0904-Broadcast-take-item-packets-with-collector-as-source.patch diff --git a/patches/server/0906-Expand-LingeringPotion-API.patch b/patches/server/0905-Expand-LingeringPotion-API.patch similarity index 100% rename from patches/server/0906-Expand-LingeringPotion-API.patch rename to patches/server/0905-Expand-LingeringPotion-API.patch diff --git a/patches/server/0907-Fix-strikeLightningEffect-powers-lightning-rods-and-.patch b/patches/server/0906-Fix-strikeLightningEffect-powers-lightning-rods-and-.patch similarity index 100% rename from patches/server/0907-Fix-strikeLightningEffect-powers-lightning-rods-and-.patch rename to patches/server/0906-Fix-strikeLightningEffect-powers-lightning-rods-and-.patch diff --git a/patches/server/0908-Add-hand-to-fish-event-for-all-player-interactions.patch b/patches/server/0907-Add-hand-to-fish-event-for-all-player-interactions.patch similarity index 100% rename from patches/server/0908-Add-hand-to-fish-event-for-all-player-interactions.patch rename to patches/server/0907-Add-hand-to-fish-event-for-all-player-interactions.patch diff --git a/patches/server/0909-Fix-several-issues-with-EntityBreedEvent.patch b/patches/server/0908-Fix-several-issues-with-EntityBreedEvent.patch similarity index 100% rename from patches/server/0909-Fix-several-issues-with-EntityBreedEvent.patch rename to patches/server/0908-Fix-several-issues-with-EntityBreedEvent.patch diff --git a/patches/server/0910-Add-UUID-attribute-modifier-API.patch b/patches/server/0909-Add-UUID-attribute-modifier-API.patch similarity index 100% rename from patches/server/0910-Add-UUID-attribute-modifier-API.patch rename to patches/server/0909-Add-UUID-attribute-modifier-API.patch diff --git a/patches/server/0911-Fix-missing-event-call-for-entity-teleport-API.patch b/patches/server/0910-Fix-missing-event-call-for-entity-teleport-API.patch similarity index 93% rename from patches/server/0911-Fix-missing-event-call-for-entity-teleport-API.patch rename to patches/server/0910-Fix-missing-event-call-for-entity-teleport-API.patch index 79cebb8989..d567759368 100644 --- a/patches/server/0911-Fix-missing-event-call-for-entity-teleport-API.patch +++ b/patches/server/0910-Fix-missing-event-call-for-entity-teleport-API.patch @@ -5,7 +5,7 @@ Subject: [PATCH] Fix missing event call for entity teleport API diff --git a/src/main/java/org/bukkit/craftbukkit/entity/CraftEntity.java b/src/main/java/org/bukkit/craftbukkit/entity/CraftEntity.java -index a8b9b50991361160880b9fc0a94cad30c319e62e..b8eb9166e44da8745a056bf68f2f9316ce25d7a7 100644 +index 580427bf1521ac9fef37f7464e12a7bfe4fbfb10..9ca1fee03bfa557f1df7388c6043c9ec6d02a79a 100644 --- a/src/main/java/org/bukkit/craftbukkit/entity/CraftEntity.java +++ b/src/main/java/org/bukkit/craftbukkit/entity/CraftEntity.java @@ -258,6 +258,17 @@ public abstract class CraftEntity implements org.bukkit.entity.Entity { diff --git a/patches/server/0912-Lazily-create-LootContext-for-criterions.patch b/patches/server/0911-Lazily-create-LootContext-for-criterions.patch similarity index 100% rename from patches/server/0912-Lazily-create-LootContext-for-criterions.patch rename to patches/server/0911-Lazily-create-LootContext-for-criterions.patch diff --git a/patches/server/0913-Don-t-fire-sync-events-during-worldgen.patch b/patches/server/0912-Don-t-fire-sync-events-during-worldgen.patch similarity index 100% rename from patches/server/0913-Don-t-fire-sync-events-during-worldgen.patch rename to patches/server/0912-Don-t-fire-sync-events-during-worldgen.patch diff --git a/patches/server/0914-Add-Structure-check-API.patch b/patches/server/0913-Add-Structure-check-API.patch similarity index 100% rename from patches/server/0914-Add-Structure-check-API.patch rename to patches/server/0913-Add-Structure-check-API.patch diff --git a/patches/server/0915-Fix-CraftMetaItem-getAttributeModifier-duplication-c.patch b/patches/server/0914-Fix-CraftMetaItem-getAttributeModifier-duplication-c.patch similarity index 89% rename from patches/server/0915-Fix-CraftMetaItem-getAttributeModifier-duplication-c.patch rename to patches/server/0914-Fix-CraftMetaItem-getAttributeModifier-duplication-c.patch index ad38c13cd7..32e393d2a8 100644 --- a/patches/server/0915-Fix-CraftMetaItem-getAttributeModifier-duplication-c.patch +++ b/patches/server/0914-Fix-CraftMetaItem-getAttributeModifier-duplication-c.patch @@ -5,10 +5,10 @@ Subject: [PATCH] Fix CraftMetaItem#getAttributeModifier duplication check diff --git a/src/main/java/org/bukkit/craftbukkit/inventory/CraftMetaItem.java b/src/main/java/org/bukkit/craftbukkit/inventory/CraftMetaItem.java -index 0b87cfbdf039ee5bc017d2b1783c7c4853047952..5a455354561389194b0e61c03f4b2e9285b17a3b 100644 +index 5c76ba7f9ceb285d27e18369172612205be96224..11f55ef2645d50bbc24bd245ffe3ac98180315d8 100644 --- a/src/main/java/org/bukkit/craftbukkit/inventory/CraftMetaItem.java +++ b/src/main/java/org/bukkit/craftbukkit/inventory/CraftMetaItem.java -@@ -1405,7 +1405,7 @@ class CraftMetaItem implements ItemMeta, Damageable, Repairable, BlockDataMeta { +@@ -1412,7 +1412,7 @@ class CraftMetaItem implements ItemMeta, Damageable, Repairable, BlockDataMeta { Preconditions.checkNotNull(modifier, "AttributeModifier cannot be null"); this.checkAttributeList(); for (Map.Entry entry : this.attributeModifiers.entries()) { diff --git a/patches/server/0916-Restore-vanilla-entity-drops-behavior.patch b/patches/server/0915-Restore-vanilla-entity-drops-behavior.patch similarity index 98% rename from patches/server/0916-Restore-vanilla-entity-drops-behavior.patch rename to patches/server/0915-Restore-vanilla-entity-drops-behavior.patch index 41f35bee2a..6e06cd8067 100644 --- a/patches/server/0916-Restore-vanilla-entity-drops-behavior.patch +++ b/patches/server/0915-Restore-vanilla-entity-drops-behavior.patch @@ -152,10 +152,10 @@ index 5bcb9a53ebebeef4bd6ec2458df4b63002ebd804..2f398750bfee5758ad8b1367b6fc1436 } } diff --git a/src/main/java/org/bukkit/craftbukkit/event/CraftEventFactory.java b/src/main/java/org/bukkit/craftbukkit/event/CraftEventFactory.java -index 6ca59ba6a713e452d146182d143b99b07696af8b..be1fa84dfdec0e31f9e2ca47ad3719dd6678b49c 100644 +index a8365c67e28d530734b8527ce67d83decee41beb..5ba2fb40e4db033a069b7368b481ac81be109e94 100644 --- a/src/main/java/org/bukkit/craftbukkit/event/CraftEventFactory.java +++ b/src/main/java/org/bukkit/craftbukkit/event/CraftEventFactory.java -@@ -969,18 +969,24 @@ public class CraftEventFactory { +@@ -973,18 +973,24 @@ public class CraftEventFactory { } public static EntityDeathEvent callEntityDeathEvent(net.minecraft.world.entity.LivingEntity victim, DamageSource damageSource) { @@ -184,7 +184,7 @@ index 6ca59ba6a713e452d146182d143b99b07696af8b..be1fa84dfdec0e31f9e2ca47ad3719dd populateFields(victim, event); // Paper - make cancellable CraftWorld world = (CraftWorld) entity.getWorld(); Bukkit.getServer().getPluginManager().callEvent(event); -@@ -994,20 +1000,24 @@ public class CraftEventFactory { +@@ -998,20 +1004,24 @@ public class CraftEventFactory { victim.expToDrop = event.getDroppedExp(); lootCheck.run(); // Paper - advancement triggers before destroying items @@ -213,7 +213,7 @@ index 6ca59ba6a713e452d146182d143b99b07696af8b..be1fa84dfdec0e31f9e2ca47ad3719dd event.setKeepInventory(keepInventory); event.setKeepLevel(victim.keepLevel); // SPIGOT-2222: pre-set keepLevel populateFields(victim, event); // Paper - make cancellable -@@ -1025,16 +1035,14 @@ public class CraftEventFactory { +@@ -1029,16 +1039,14 @@ public class CraftEventFactory { victim.expToDrop = event.getDroppedExp(); victim.newExp = event.getNewExp(); diff --git a/patches/server/0917-Dont-resend-blocks-on-interactions.patch b/patches/server/0916-Dont-resend-blocks-on-interactions.patch similarity index 99% rename from patches/server/0917-Dont-resend-blocks-on-interactions.patch rename to patches/server/0916-Dont-resend-blocks-on-interactions.patch index 3e498be31c..822d354138 100644 --- a/patches/server/0917-Dont-resend-blocks-on-interactions.patch +++ b/patches/server/0916-Dont-resend-blocks-on-interactions.patch @@ -149,7 +149,7 @@ index 6caed156ed0cfe0017d578f58cb963ee68272d78..321188173918d0d60858a258400dfd68 return false; } diff --git a/src/main/java/net/minecraft/world/item/ItemStack.java b/src/main/java/net/minecraft/world/item/ItemStack.java -index 780b2fada591fb1b504fbf4828c31ec0dd1c25db..fa4bdf8bdbd6eaeb854e62a2acb45d7998e4aa2b 100644 +index 11c507b399f97c4c0bbe220e8a3c1cdb851c8a0a..ebe470ca361ec5747a843b60d82f567d41d7c9fa 100644 --- a/src/main/java/net/minecraft/world/item/ItemStack.java +++ b/src/main/java/net/minecraft/world/item/ItemStack.java @@ -500,10 +500,12 @@ public final class ItemStack implements DataComponentHolder { diff --git a/patches/server/0918-add-more-scoreboard-API.patch b/patches/server/0917-add-more-scoreboard-API.patch similarity index 100% rename from patches/server/0918-add-more-scoreboard-API.patch rename to patches/server/0917-add-more-scoreboard-API.patch diff --git a/patches/server/0919-Improve-Registry.patch b/patches/server/0918-Improve-Registry.patch similarity index 94% rename from patches/server/0919-Improve-Registry.patch rename to patches/server/0918-Improve-Registry.patch index d912757a1f..bebb963725 100644 --- a/patches/server/0919-Improve-Registry.patch +++ b/patches/server/0918-Improve-Registry.patch @@ -5,10 +5,10 @@ Subject: [PATCH] Improve Registry diff --git a/src/main/java/org/bukkit/craftbukkit/CraftRegistry.java b/src/main/java/org/bukkit/craftbukkit/CraftRegistry.java -index 002449e66f83a419afa8357d2e7192670eaf869e..b6c7522ff8522cdadf3b291a9c2ac87c60b85d2a 100644 +index 154733684a53ff84ca8c2a994b96b68733e9fba5..1da61e0392ec1e15c0ab9d7d71b2b2b682d10130 100644 --- a/src/main/java/org/bukkit/craftbukkit/CraftRegistry.java +++ b/src/main/java/org/bukkit/craftbukkit/CraftRegistry.java -@@ -151,6 +151,7 @@ public class CraftRegistry implements Registry { +@@ -153,6 +153,7 @@ public class CraftRegistry implements Registry { private final Class bukkitClass; // Paper - relax preload class private final Map cache = new HashMap<>(); @@ -16,7 +16,7 @@ index 002449e66f83a419afa8357d2e7192670eaf869e..b6c7522ff8522cdadf3b291a9c2ac87c private final net.minecraft.core.Registry minecraftRegistry; private final BiFunction minecraftToBukkit; private final BiFunction serializationUpdater; // Paper - rename to make it *clear* what it is *only* for -@@ -199,6 +200,7 @@ public class CraftRegistry implements Registry { +@@ -201,6 +202,7 @@ public class CraftRegistry implements Registry { } this.cache.put(namespacedKey, bukkit); @@ -24,7 +24,7 @@ index 002449e66f83a419afa8357d2e7192670eaf869e..b6c7522ff8522cdadf3b291a9c2ac87c return bukkit; } -@@ -221,4 +223,11 @@ public class CraftRegistry implements Registry { +@@ -223,4 +225,11 @@ public class CraftRegistry implements Registry { return this.minecraftToBukkit.apply(namespacedKey, minecraft); } diff --git a/patches/server/0920-Fix-NPE-on-null-loc-for-EntityTeleportEvent.patch b/patches/server/0919-Fix-NPE-on-null-loc-for-EntityTeleportEvent.patch similarity index 100% rename from patches/server/0920-Fix-NPE-on-null-loc-for-EntityTeleportEvent.patch rename to patches/server/0919-Fix-NPE-on-null-loc-for-EntityTeleportEvent.patch diff --git a/patches/server/0921-Add-experience-points-API.patch b/patches/server/0920-Add-experience-points-API.patch similarity index 97% rename from patches/server/0921-Add-experience-points-API.patch rename to patches/server/0920-Add-experience-points-API.patch index f29e610a9b..92be0f2b48 100644 --- a/patches/server/0921-Add-experience-points-API.patch +++ b/patches/server/0920-Add-experience-points-API.patch @@ -18,7 +18,7 @@ index 950ce40d268d89ff3c503116081db6c9ccd65329..454b29d8c9e42e328933aa578f49d28f // Paper start - send while respecting visibility private static void sendSoundEffect(Player fromEntity, double x, double y, double z, SoundEvent soundEffect, SoundSource soundCategory, float volume, float pitch) { diff --git a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java -index f337c32fa4521d6ddd1c4d6102404db389f23b71..4d3838c5184296451089697fd3f7438a7f1be762 100644 +index 51b524d3c7cd5e0f59056c1fd8f71171732945b8..1490d15f1ffa83653b20a4bb47584c4c554a3384 100644 --- a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java +++ b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java @@ -1921,6 +1921,49 @@ public class CraftPlayer extends CraftHumanEntity implements Player { diff --git a/patches/server/0922-Add-drops-to-shear-events.patch b/patches/server/0921-Add-drops-to-shear-events.patch similarity index 99% rename from patches/server/0922-Add-drops-to-shear-events.patch rename to patches/server/0921-Add-drops-to-shear-events.patch index 6741c44832..d434c31a11 100644 --- a/patches/server/0922-Add-drops-to-shear-events.patch +++ b/patches/server/0921-Add-drops-to-shear-events.patch @@ -317,10 +317,10 @@ index dc6230458e09f7555eee7f6a567ff60ad454666b..9d50b9ac8084f3db1844cc7ad1ce9153 public boolean readyForShearing() { return !this.isSheared() && this.isAlive(); diff --git a/src/main/java/org/bukkit/craftbukkit/event/CraftEventFactory.java b/src/main/java/org/bukkit/craftbukkit/event/CraftEventFactory.java -index be1fa84dfdec0e31f9e2ca47ad3719dd6678b49c..d7bf00745a9016d0fe0c1d39ffaaac44276251d4 100644 +index 5ba2fb40e4db033a069b7368b481ac81be109e94..5af27ba31f293ba6bcac37047b760db1c3bd8c5f 100644 --- a/src/main/java/org/bukkit/craftbukkit/event/CraftEventFactory.java +++ b/src/main/java/org/bukkit/craftbukkit/event/CraftEventFactory.java -@@ -1676,20 +1676,20 @@ public class CraftEventFactory { +@@ -1689,20 +1689,20 @@ public class CraftEventFactory { player.level().getCraftServer().getPluginManager().callEvent(event); } diff --git a/patches/server/0923-Add-PlayerShieldDisableEvent.patch b/patches/server/0922-Add-PlayerShieldDisableEvent.patch similarity index 100% rename from patches/server/0923-Add-PlayerShieldDisableEvent.patch rename to patches/server/0922-Add-PlayerShieldDisableEvent.patch diff --git a/patches/server/0924-Validate-ResourceLocation-in-NBT-reading.patch b/patches/server/0923-Validate-ResourceLocation-in-NBT-reading.patch similarity index 100% rename from patches/server/0924-Validate-ResourceLocation-in-NBT-reading.patch rename to patches/server/0923-Validate-ResourceLocation-in-NBT-reading.patch diff --git a/patches/server/0925-Properly-handle-experience-dropping-on-block-break.patch b/patches/server/0924-Properly-handle-experience-dropping-on-block-break.patch similarity index 97% rename from patches/server/0925-Properly-handle-experience-dropping-on-block-break.patch rename to patches/server/0924-Properly-handle-experience-dropping-on-block-break.patch index 21b63430dd..c5ffca5d89 100644 --- a/patches/server/0925-Properly-handle-experience-dropping-on-block-break.patch +++ b/patches/server/0924-Properly-handle-experience-dropping-on-block-break.patch @@ -68,10 +68,10 @@ index c083dc8b2a69c3747b250d13f1a28ad22b5e6119..bf52c36f31992a01a7403d8c85151327 } 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 9d6cc0b8dbc451dfff1ddd8e7be32d11434cdb69..87289d8ab94705999c67457a28538e7a5576acc3 100644 +index a8bec3c405732e5863cf717b1fe948d00837bed2..240c250a93289776686d09d7eae17c07d7278da5 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 -@@ -1118,6 +1118,7 @@ public abstract class BlockBehaviour implements FeatureElement { +@@ -1119,6 +1119,7 @@ public abstract class BlockBehaviour implements FeatureElement { public void spawnAfterBreak(ServerLevel world, BlockPos pos, ItemStack tool, boolean dropExperience) { this.getBlock().spawnAfterBreak(this.asState(), world, pos, tool, dropExperience); diff --git a/patches/server/0926-Fixup-NamespacedKey-handling.patch b/patches/server/0925-Fixup-NamespacedKey-handling.patch similarity index 87% rename from patches/server/0926-Fixup-NamespacedKey-handling.patch rename to patches/server/0925-Fixup-NamespacedKey-handling.patch index fb00b008ce..92a61d5a1e 100644 --- a/patches/server/0926-Fixup-NamespacedKey-handling.patch +++ b/patches/server/0925-Fixup-NamespacedKey-handling.patch @@ -5,7 +5,7 @@ Subject: [PATCH] Fixup NamespacedKey handling diff --git a/src/main/java/net/minecraft/world/inventory/LoomMenu.java b/src/main/java/net/minecraft/world/inventory/LoomMenu.java -index 4f3f6ea43030853bd9df067358a1f4d16c40e6d4..531336c44c46555fef8c001fe8ca00c93624ad42 100644 +index 7d7b4e53682107a1a75a7aa205be1e6bfdc8c551..0e954dfe82ed263cbe63dbf49ff49e83f38228b8 100644 --- a/src/main/java/net/minecraft/world/inventory/LoomMenu.java +++ b/src/main/java/net/minecraft/world/inventory/LoomMenu.java @@ -171,12 +171,28 @@ public class LoomMenu extends AbstractContainerMenu { @@ -52,10 +52,10 @@ index e34deaf398dc6722c3128bdd6b9bc16da2d33bf7..f028daa4f23a1f1868c9922991259739 public static NamespacedKey minecraftToBukkitKey(ResourceKey minecraft) { diff --git a/src/main/java/org/bukkit/craftbukkit/CraftRegistry.java b/src/main/java/org/bukkit/craftbukkit/CraftRegistry.java -index b6c7522ff8522cdadf3b291a9c2ac87c60b85d2a..fc9aec589414bf8d3f672183928235b5b51d1a02 100644 +index 1da61e0392ec1e15c0ab9d7d71b2b2b682d10130..c2824cc07b761958a0df4b110bdfc53bd853b9e7 100644 --- a/src/main/java/org/bukkit/craftbukkit/CraftRegistry.java +++ b/src/main/java/org/bukkit/craftbukkit/CraftRegistry.java -@@ -118,6 +118,16 @@ public class CraftRegistry implements Registry { +@@ -120,6 +120,16 @@ public class CraftRegistry implements Registry { + ", this can happen if a plugin creates its own registry entry with out properly registering it."); } @@ -143,6 +143,27 @@ index 478059eb3ad76b41e6a20e9b489a2a4fb19e7c7c..3599ef1675b6091e9b67fb5241886460 }); } +diff --git a/src/main/java/org/bukkit/craftbukkit/inventory/CraftMetaShield.java b/src/main/java/org/bukkit/craftbukkit/inventory/CraftMetaShield.java +index c8eec04685456d89cb41466cddcc3975d0ceeb29..bcd6cc29e4e621805cbd923d747f652ced240c6d 100644 +--- a/src/main/java/org/bukkit/craftbukkit/inventory/CraftMetaShield.java ++++ b/src/main/java/org/bukkit/craftbukkit/inventory/CraftMetaShield.java +@@ -17,6 +17,7 @@ import org.bukkit.block.BlockState; + import org.bukkit.block.banner.Pattern; + import org.bukkit.block.banner.PatternType; + import org.bukkit.configuration.serialization.DelegateDeserialization; ++import org.bukkit.craftbukkit.CraftRegistry; + import org.bukkit.craftbukkit.block.CraftBlockStates; + import org.bukkit.craftbukkit.block.banner.CraftPatternType; + import org.bukkit.inventory.meta.BlockStateMeta; +@@ -53,7 +54,7 @@ public class CraftMetaShield extends CraftMetaItem implements ShieldMeta, BlockS + for (int i = 0; i < Math.min(patterns.size(), 20); i++) { + BannerPatternLayers.Layer p = patterns.get(i); + DyeColor color = DyeColor.getByWoolData((byte) p.color().getId()); +- PatternType pattern = CraftPatternType.minecraftHolderToBukkit(p.pattern()); ++ PatternType pattern = CraftRegistry.unwrapAndConvertHolder(io.papermc.paper.registry.RegistryKey.BANNER_PATTERN, p.pattern()).orElse(null); // Paper - fix upstream not being correct + + if (color != null && pattern != null) { + this.addPattern(new Pattern(color, pattern)); diff --git a/src/main/java/org/bukkit/craftbukkit/potion/CraftPotionType.java b/src/main/java/org/bukkit/craftbukkit/potion/CraftPotionType.java index 82a50b06c08b632f77d73745e1fa9bd22dfd950a..f1d8ed4a2b8959873b02d57f6a40323a841f3d7f 100644 --- a/src/main/java/org/bukkit/craftbukkit/potion/CraftPotionType.java diff --git a/patches/server/0927-Expose-LootTable-of-DecoratedPot.patch b/patches/server/0926-Expose-LootTable-of-DecoratedPot.patch similarity index 100% rename from patches/server/0927-Expose-LootTable-of-DecoratedPot.patch rename to patches/server/0926-Expose-LootTable-of-DecoratedPot.patch diff --git a/patches/server/0928-Reduce-allocation-of-Vec3D-by-entity-tracker.patch b/patches/server/0927-Reduce-allocation-of-Vec3D-by-entity-tracker.patch similarity index 100% rename from patches/server/0928-Reduce-allocation-of-Vec3D-by-entity-tracker.patch rename to patches/server/0927-Reduce-allocation-of-Vec3D-by-entity-tracker.patch diff --git a/patches/server/0929-Add-PlayerTradeEvent-and-PlayerPurchaseEvent.patch b/patches/server/0928-Add-PlayerTradeEvent-and-PlayerPurchaseEvent.patch similarity index 99% rename from patches/server/0929-Add-PlayerTradeEvent-and-PlayerPurchaseEvent.patch rename to patches/server/0928-Add-PlayerTradeEvent-and-PlayerPurchaseEvent.patch index a58beffec5..42c7c99313 100644 --- a/patches/server/0929-Add-PlayerTradeEvent-and-PlayerPurchaseEvent.patch +++ b/patches/server/0928-Add-PlayerTradeEvent-and-PlayerPurchaseEvent.patch @@ -107,7 +107,7 @@ index 4c7e91977fa590abfe7eb3704d8008ed6d4e3ab3..32910f677b0522ac8ec513fa0d00b714 break; } diff --git a/src/main/java/net/minecraft/world/inventory/MerchantMenu.java b/src/main/java/net/minecraft/world/inventory/MerchantMenu.java -index ecefd4075c097e2118ec23e87baf36465c40f85f..2992e86f5f83431e230162380b33721df785ba91 100644 +index e45ab844afdf1a65f23eeff4c4d6cd9e3a8a28e2..5de2030452b96a4df7ce0be82f07e002db595dee 100644 --- a/src/main/java/net/minecraft/world/inventory/MerchantMenu.java +++ b/src/main/java/net/minecraft/world/inventory/MerchantMenu.java @@ -135,12 +135,12 @@ public class MerchantMenu extends AbstractContainerMenu { diff --git a/patches/server/0930-Add-ShulkerDuplicateEvent.patch b/patches/server/0929-Add-ShulkerDuplicateEvent.patch similarity index 100% rename from patches/server/0930-Add-ShulkerDuplicateEvent.patch rename to patches/server/0929-Add-ShulkerDuplicateEvent.patch diff --git a/patches/server/0931-Add-api-for-spawn-egg-texture-colors.patch b/patches/server/0930-Add-api-for-spawn-egg-texture-colors.patch similarity index 100% rename from patches/server/0931-Add-api-for-spawn-egg-texture-colors.patch rename to patches/server/0930-Add-api-for-spawn-egg-texture-colors.patch diff --git a/patches/server/0932-Add-Lifecycle-Event-system.patch b/patches/server/0931-Add-Lifecycle-Event-system.patch similarity index 100% rename from patches/server/0932-Add-Lifecycle-Event-system.patch rename to patches/server/0931-Add-Lifecycle-Event-system.patch diff --git a/patches/server/0933-ItemStack-Tooltip-API.patch b/patches/server/0932-ItemStack-Tooltip-API.patch similarity index 100% rename from patches/server/0933-ItemStack-Tooltip-API.patch rename to patches/server/0932-ItemStack-Tooltip-API.patch diff --git a/patches/server/0934-Add-getChunkSnapshot-includeLightData-parameter.patch b/patches/server/0933-Add-getChunkSnapshot-includeLightData-parameter.patch similarity index 100% rename from patches/server/0934-Add-getChunkSnapshot-includeLightData-parameter.patch rename to patches/server/0933-Add-getChunkSnapshot-includeLightData-parameter.patch diff --git a/patches/server/0935-Add-FluidState-API.patch b/patches/server/0934-Add-FluidState-API.patch similarity index 100% rename from patches/server/0935-Add-FluidState-API.patch rename to patches/server/0934-Add-FluidState-API.patch diff --git a/patches/server/0936-add-number-format-api.patch b/patches/server/0935-add-number-format-api.patch similarity index 100% rename from patches/server/0936-add-number-format-api.patch rename to patches/server/0935-add-number-format-api.patch diff --git a/patches/server/0937-improve-BanList-types.patch b/patches/server/0936-improve-BanList-types.patch similarity index 100% rename from patches/server/0937-improve-BanList-types.patch rename to patches/server/0936-improve-BanList-types.patch diff --git a/patches/server/0938-Expanded-Hopper-API.patch b/patches/server/0937-Expanded-Hopper-API.patch similarity index 100% rename from patches/server/0938-Expanded-Hopper-API.patch rename to patches/server/0937-Expanded-Hopper-API.patch diff --git a/patches/server/0939-Add-BlockBreakProgressUpdateEvent.patch b/patches/server/0938-Add-BlockBreakProgressUpdateEvent.patch similarity index 100% rename from patches/server/0939-Add-BlockBreakProgressUpdateEvent.patch rename to patches/server/0938-Add-BlockBreakProgressUpdateEvent.patch diff --git a/patches/server/0940-Deprecate-ItemStack-setType.patch b/patches/server/0939-Deprecate-ItemStack-setType.patch similarity index 100% rename from patches/server/0940-Deprecate-ItemStack-setType.patch rename to patches/server/0939-Deprecate-ItemStack-setType.patch diff --git a/patches/server/0941-Add-CartographyItemEvent.patch b/patches/server/0940-Add-CartographyItemEvent.patch similarity index 100% rename from patches/server/0941-Add-CartographyItemEvent.patch rename to patches/server/0940-Add-CartographyItemEvent.patch diff --git a/patches/server/0942-More-Raid-API.patch b/patches/server/0941-More-Raid-API.patch similarity index 100% rename from patches/server/0942-More-Raid-API.patch rename to patches/server/0941-More-Raid-API.patch diff --git a/patches/server/0943-Add-onboarding-message-for-initial-server-start.patch b/patches/server/0942-Add-onboarding-message-for-initial-server-start.patch similarity index 100% rename from patches/server/0943-Add-onboarding-message-for-initial-server-start.patch rename to patches/server/0942-Add-onboarding-message-for-initial-server-start.patch diff --git a/patches/server/0944-Configurable-max-block-fluid-ticks.patch b/patches/server/0943-Configurable-max-block-fluid-ticks.patch similarity index 100% rename from patches/server/0944-Configurable-max-block-fluid-ticks.patch rename to patches/server/0943-Configurable-max-block-fluid-ticks.patch diff --git a/patches/server/0945-Fix-bees-aging-inside-hives.patch b/patches/server/0944-Fix-bees-aging-inside-hives.patch similarity index 100% rename from patches/server/0945-Fix-bees-aging-inside-hives.patch rename to patches/server/0944-Fix-bees-aging-inside-hives.patch diff --git a/patches/server/0946-Disable-memory-reserve-allocating.patch b/patches/server/0945-Disable-memory-reserve-allocating.patch similarity index 100% rename from patches/server/0946-Disable-memory-reserve-allocating.patch rename to patches/server/0945-Disable-memory-reserve-allocating.patch diff --git a/patches/server/0947-Fire-EntityDamageByEntityEvent-for-unowned-wither-sk.patch b/patches/server/0946-Fire-EntityDamageByEntityEvent-for-unowned-wither-sk.patch similarity index 100% rename from patches/server/0947-Fire-EntityDamageByEntityEvent-for-unowned-wither-sk.patch rename to patches/server/0946-Fire-EntityDamageByEntityEvent-for-unowned-wither-sk.patch diff --git a/patches/server/0948-Fix-DamageSource-API.patch b/patches/server/0947-Fix-DamageSource-API.patch similarity index 99% rename from patches/server/0948-Fix-DamageSource-API.patch rename to patches/server/0947-Fix-DamageSource-API.patch index d9d164622a..13022d2d45 100644 --- a/patches/server/0948-Fix-DamageSource-API.patch +++ b/patches/server/0947-Fix-DamageSource-API.patch @@ -220,10 +220,10 @@ index 4c6e15535fa40aad8cf1920f392589404f9ba79c..35eb95ef6fb6a0f7ea63351e90741c48 } } diff --git a/src/main/java/org/bukkit/craftbukkit/event/CraftEventFactory.java b/src/main/java/org/bukkit/craftbukkit/event/CraftEventFactory.java -index d7bf00745a9016d0fe0c1d39ffaaac44276251d4..67aa8ebd1c4915fc7f18e3cf263eedf9b671a632 100644 +index 5af27ba31f293ba6bcac37047b760db1c3bd8c5f..c21acdf5b445a7f24e0d7a6dfd07a097cb6a95b4 100644 --- a/src/main/java/org/bukkit/craftbukkit/event/CraftEventFactory.java +++ b/src/main/java/org/bukkit/craftbukkit/event/CraftEventFactory.java -@@ -1088,7 +1088,7 @@ public class CraftEventFactory { +@@ -1092,7 +1092,7 @@ public class CraftEventFactory { private static EntityDamageEvent handleEntityDamageEvent(Entity entity, DamageSource source, Map modifiers, Map> modifierFunctions, boolean cancelled) { CraftDamageSource bukkitDamageSource = new CraftDamageSource(source); diff --git a/patches/server/0949-Fix-creation-of-invalid-block-entity-during-world-ge.patch b/patches/server/0948-Fix-creation-of-invalid-block-entity-during-world-ge.patch similarity index 100% rename from patches/server/0949-Fix-creation-of-invalid-block-entity-during-world-ge.patch rename to patches/server/0948-Fix-creation-of-invalid-block-entity-during-world-ge.patch diff --git a/patches/server/0950-Fix-possible-StackOverflowError-for-some-dispenses.patch b/patches/server/0949-Fix-possible-StackOverflowError-for-some-dispenses.patch similarity index 100% rename from patches/server/0950-Fix-possible-StackOverflowError-for-some-dispenses.patch rename to patches/server/0949-Fix-possible-StackOverflowError-for-some-dispenses.patch diff --git a/patches/server/0951-Improve-tag-parser-handling.patch b/patches/server/0950-Improve-tag-parser-handling.patch similarity index 100% rename from patches/server/0951-Improve-tag-parser-handling.patch rename to patches/server/0950-Improve-tag-parser-handling.patch diff --git a/patches/server/0952-Item-Mutation-Fixes.patch b/patches/server/0951-Item-Mutation-Fixes.patch similarity index 90% rename from patches/server/0952-Item-Mutation-Fixes.patch rename to patches/server/0951-Item-Mutation-Fixes.patch index 0e20a90a87..bad3be61f9 100644 --- a/patches/server/0952-Item-Mutation-Fixes.patch +++ b/patches/server/0951-Item-Mutation-Fixes.patch @@ -5,10 +5,10 @@ Subject: [PATCH] Item Mutation Fixes diff --git a/src/main/java/net/minecraft/world/inventory/EnchantmentMenu.java b/src/main/java/net/minecraft/world/inventory/EnchantmentMenu.java -index c1b9c3ad2cccfa520e9d73b786142624ac5f3380..07223046761cb2186d75de8edc03a91d2e8e8b2f 100644 +index fff1c39920e7d7051dfe3dd39c77865d3bdf113e..1ef014b29645ed09ccffb898f1819428c3dc6259 100644 --- a/src/main/java/net/minecraft/world/inventory/EnchantmentMenu.java +++ b/src/main/java/net/minecraft/world/inventory/EnchantmentMenu.java -@@ -235,7 +235,7 @@ public class EnchantmentMenu extends AbstractContainerMenu { +@@ -232,7 +232,7 @@ public class EnchantmentMenu extends AbstractContainerMenu { return false; } else if (this.costs[id] > 0 && !itemstack.isEmpty() && (player.experienceLevel >= j && player.experienceLevel >= this.costs[id] || player.getAbilities().instabuild)) { this.access.execute((world, blockposition) -> { @@ -17,7 +17,7 @@ index c1b9c3ad2cccfa520e9d73b786142624ac5f3380..07223046761cb2186d75de8edc03a91d List list = this.getEnchantmentList(world.registryAccess(), itemstack, id, this.costs[id]); // CraftBukkit start -@@ -258,10 +258,16 @@ public class EnchantmentMenu extends AbstractContainerMenu { +@@ -255,10 +255,16 @@ public class EnchantmentMenu extends AbstractContainerMenu { return; } // CraftBukkit end diff --git a/patches/server/0953-Per-world-ticks-per-spawn-settings.patch b/patches/server/0952-Per-world-ticks-per-spawn-settings.patch similarity index 94% rename from patches/server/0953-Per-world-ticks-per-spawn-settings.patch rename to patches/server/0952-Per-world-ticks-per-spawn-settings.patch index ea163724cf..0d7c9ea5b4 100644 --- a/patches/server/0953-Per-world-ticks-per-spawn-settings.patch +++ b/patches/server/0952-Per-world-ticks-per-spawn-settings.patch @@ -5,7 +5,7 @@ Subject: [PATCH] Per world ticks per spawn settings diff --git a/src/main/java/net/minecraft/world/level/Level.java b/src/main/java/net/minecraft/world/level/Level.java -index 2f1acea765d1b6726863cdc89707ca6148548493..81bdb6e64e04641f741c2c3350236685b097ec7a 100644 +index 471fd54edf6aa962d997878ee638974f7f594fa8..b7bf7b3b91046c81467aeb483087e12b6d9191bf 100644 --- a/src/main/java/net/minecraft/world/level/Level.java +++ b/src/main/java/net/minecraft/world/level/Level.java @@ -186,6 +186,15 @@ public abstract class Level implements LevelAccessor, AutoCloseable { diff --git a/patches/server/0954-Properly-track-the-changed-item-from-dispense-events.patch b/patches/server/0953-Properly-track-the-changed-item-from-dispense-events.patch similarity index 100% rename from patches/server/0954-Properly-track-the-changed-item-from-dispense-events.patch rename to patches/server/0953-Properly-track-the-changed-item-from-dispense-events.patch diff --git a/patches/server/0955-Protect-Bedrock-and-End-Portal-Frames-from-being-des.patch b/patches/server/0954-Protect-Bedrock-and-End-Portal-Frames-from-being-des.patch similarity index 97% rename from patches/server/0955-Protect-Bedrock-and-End-Portal-Frames-from-being-des.patch rename to patches/server/0954-Protect-Bedrock-and-End-Portal-Frames-from-being-des.patch index 3fdb9f8fe4..419e036508 100644 --- a/patches/server/0955-Protect-Bedrock-and-End-Portal-Frames-from-being-des.patch +++ b/patches/server/0954-Protect-Bedrock-and-End-Portal-Frames-from-being-des.patch @@ -107,10 +107,10 @@ index e6bfbe2588e0c2a1be14e38d654e889d392ad4db..e0c62227b279a5fe0f3868fbf9ce8c78 world.playSound((Player) null, pos, SoundEvents.PISTON_CONTRACT, SoundSource.BLOCKS, 0.5F, world.random.nextFloat() * 0.15F + 0.6F); 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 87289d8ab94705999c67457a28538e7a5576acc3..fe7dc02ea55c2bcd39d12bfd4d315f0b8c7014c3 100644 +index 240c250a93289776686d09d7eae17c07d7278da5..f2036917c5ba9f536087d7ee559704055469730e 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 -@@ -173,7 +173,7 @@ public abstract class BlockBehaviour implements FeatureElement { +@@ -174,7 +174,7 @@ public abstract class BlockBehaviour implements FeatureElement { } protected void onExplosionHit(BlockState state, Level world, BlockPos pos, Explosion explosion, BiConsumer stackMerger) { @@ -119,7 +119,7 @@ index 87289d8ab94705999c67457a28538e7a5576acc3..fe7dc02ea55c2bcd39d12bfd4d315f0b Block block = state.getBlock(); boolean flag = explosion.getIndirectSourceEntity() instanceof Player; -@@ -253,7 +253,7 @@ public abstract class BlockBehaviour implements FeatureElement { +@@ -254,7 +254,7 @@ public abstract class BlockBehaviour implements FeatureElement { } protected boolean canBeReplaced(BlockState state, BlockPlaceContext context) { @@ -128,7 +128,7 @@ index 87289d8ab94705999c67457a28538e7a5576acc3..fe7dc02ea55c2bcd39d12bfd4d315f0b } protected boolean canBeReplaced(BlockState state, Fluid fluid) { -@@ -882,6 +882,12 @@ public abstract class BlockBehaviour implements FeatureElement { +@@ -883,6 +883,12 @@ public abstract class BlockBehaviour implements FeatureElement { return this.legacySolid; } @@ -141,7 +141,7 @@ index 87289d8ab94705999c67457a28538e7a5576acc3..fe7dc02ea55c2bcd39d12bfd4d315f0b public boolean isValidSpawn(BlockGetter world, BlockPos pos, EntityType type) { return this.getBlock().properties.isValidSpawn.test(this.asState(), world, pos, type); } -@@ -985,7 +991,7 @@ public abstract class BlockBehaviour implements FeatureElement { +@@ -986,7 +992,7 @@ public abstract class BlockBehaviour implements FeatureElement { } public PushReaction getPistonPushReaction() { diff --git a/patches/server/0956-Fix-tripwire-disarming-not-working-as-intended.patch b/patches/server/0955-Fix-tripwire-disarming-not-working-as-intended.patch similarity index 100% rename from patches/server/0956-Fix-tripwire-disarming-not-working-as-intended.patch rename to patches/server/0955-Fix-tripwire-disarming-not-working-as-intended.patch diff --git a/patches/server/0957-Add-config-for-mobs-immune-to-default-effects.patch b/patches/server/0956-Add-config-for-mobs-immune-to-default-effects.patch similarity index 100% rename from patches/server/0957-Add-config-for-mobs-immune-to-default-effects.patch rename to patches/server/0956-Add-config-for-mobs-immune-to-default-effects.patch diff --git a/patches/server/0958-Deep-clone-nbt-tags-in-PDC.patch b/patches/server/0957-Deep-clone-nbt-tags-in-PDC.patch similarity index 94% rename from patches/server/0958-Deep-clone-nbt-tags-in-PDC.patch rename to patches/server/0957-Deep-clone-nbt-tags-in-PDC.patch index f833a51efa..f559f0cd9d 100644 --- a/patches/server/0958-Deep-clone-nbt-tags-in-PDC.patch +++ b/patches/server/0957-Deep-clone-nbt-tags-in-PDC.patch @@ -5,7 +5,7 @@ Subject: [PATCH] Deep clone nbt tags in PDC diff --git a/src/main/java/org/bukkit/craftbukkit/inventory/CraftMetaItem.java b/src/main/java/org/bukkit/craftbukkit/inventory/CraftMetaItem.java -index 5a455354561389194b0e61c03f4b2e9285b17a3b..2cf89147025066f34c12b9956d18451487fb2799 100644 +index 11f55ef2645d50bbc24bd245ffe3ac98180315d8..ba49ac74a19ee1f14706c7f769aac35fa821ef7d 100644 --- a/src/main/java/org/bukkit/craftbukkit/inventory/CraftMetaItem.java +++ b/src/main/java/org/bukkit/craftbukkit/inventory/CraftMetaItem.java @@ -322,7 +322,7 @@ class CraftMetaItem implements ItemMeta, Damageable, Repairable, BlockDataMeta { @@ -17,7 +17,7 @@ index 5a455354561389194b0e61c03f4b2e9285b17a3b..2cf89147025066f34c12b9956d184514 this.customTag = meta.customTag; -@@ -1690,7 +1690,7 @@ class CraftMetaItem implements ItemMeta, Damageable, Repairable, BlockDataMeta { +@@ -1697,7 +1697,7 @@ class CraftMetaItem implements ItemMeta, Damageable, Repairable, BlockDataMeta { clone.customTag = this.customTag.copy(); } clone.removedTags = Sets.newHashSet(this.removedTags); diff --git a/patches/server/0959-Support-old-UUID-format-for-NBT.patch b/patches/server/0958-Support-old-UUID-format-for-NBT.patch similarity index 97% rename from patches/server/0959-Support-old-UUID-format-for-NBT.patch rename to patches/server/0958-Support-old-UUID-format-for-NBT.patch index a38c2a7f7b..68ff8a5255 100644 --- a/patches/server/0959-Support-old-UUID-format-for-NBT.patch +++ b/patches/server/0958-Support-old-UUID-format-for-NBT.patch @@ -8,7 +8,7 @@ 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 df246d69591e1a5822a0109c99b0f67996da71fa..4e005b7b062e3231f564d284887ea1c2783a4e7d 100644 +index e88161e662d5605b50aead673c9b3794874e5f7f..d7bb00a946346dff0b0269cbd65276e146a63fb0 100644 --- a/src/main/java/net/minecraft/nbt/CompoundTag.java +++ b/src/main/java/net/minecraft/nbt/CompoundTag.java @@ -232,6 +232,12 @@ public class CompoundTag implements Tag { diff --git a/patches/server/0960-Fix-shield-disable-inconsistency.patch b/patches/server/0959-Fix-shield-disable-inconsistency.patch similarity index 100% rename from patches/server/0960-Fix-shield-disable-inconsistency.patch rename to patches/server/0959-Fix-shield-disable-inconsistency.patch diff --git a/patches/server/0961-Handle-Large-Packets-disconnecting-client.patch b/patches/server/0960-Handle-Large-Packets-disconnecting-client.patch similarity index 100% rename from patches/server/0961-Handle-Large-Packets-disconnecting-client.patch rename to patches/server/0960-Handle-Large-Packets-disconnecting-client.patch diff --git a/patches/server/0962-Fix-ItemFlags.patch b/patches/server/0961-Fix-ItemFlags.patch similarity index 94% rename from patches/server/0962-Fix-ItemFlags.patch rename to patches/server/0961-Fix-ItemFlags.patch index d750443ba5..46e55a9780 100644 --- a/patches/server/0962-Fix-ItemFlags.patch +++ b/patches/server/0961-Fix-ItemFlags.patch @@ -33,7 +33,7 @@ index 73fe41322e0349ad1d46a760f621b6c91112e90e..19af55ec2bf62b70bd3be44f499b32f5 @Override diff --git a/src/main/java/org/bukkit/craftbukkit/inventory/CraftMetaItem.java b/src/main/java/org/bukkit/craftbukkit/inventory/CraftMetaItem.java -index 2cf89147025066f34c12b9956d18451487fb2799..078b75f027b99a8a2a6a3ee19d087acc03eefe12 100644 +index ba49ac74a19ee1f14706c7f769aac35fa821ef7d..6f3ab40a9d0bccd9a2c439bf0e200ba5cf0f5f6e 100644 --- a/src/main/java/org/bukkit/craftbukkit/inventory/CraftMetaItem.java +++ b/src/main/java/org/bukkit/craftbukkit/inventory/CraftMetaItem.java @@ -245,6 +245,12 @@ class CraftMetaItem implements ItemMeta, Damageable, Repairable, BlockDataMeta { @@ -81,7 +81,7 @@ index 2cf89147025066f34c12b9956d18451487fb2799..078b75f027b99a8a2a6a3ee19d087acc Set, Optional>> keys = tag.entrySet(); for (Map.Entry, Optional> key : keys) { -@@ -620,7 +644,15 @@ class CraftMetaItem implements ItemMeta, Damageable, Repairable, BlockDataMeta { +@@ -627,7 +651,15 @@ class CraftMetaItem implements ItemMeta, Damageable, Repairable, BlockDataMeta { try { CompoundTag unhandledTag = NbtIo.readCompressed(buf, NbtAccounter.unlimitedHeap()); DataComponentPatch unhandledPatch = DataComponentPatch.CODEC.parse(MinecraftServer.getDefaultRegistryAccess().createSerializationContext(NbtOps.INSTANCE), unhandledTag).result().get(); @@ -98,7 +98,7 @@ index 2cf89147025066f34c12b9956d18451487fb2799..078b75f027b99a8a2a6a3ee19d087acc for (Entry, Optional> entry : unhandledPatch.entrySet()) { // Move removed unhandled tags to dedicated removedTags -@@ -863,6 +895,15 @@ class CraftMetaItem implements ItemMeta, Damageable, Repairable, BlockDataMeta { +@@ -870,6 +902,15 @@ class CraftMetaItem implements ItemMeta, Damageable, Repairable, BlockDataMeta { itemTag.put(CraftMetaItem.MAX_DAMAGE, this.maxDamage); } @@ -114,7 +114,7 @@ index 2cf89147025066f34c12b9956d18451487fb2799..078b75f027b99a8a2a6a3ee19d087acc for (Map.Entry, Optional> e : this.unhandledTags.build().entrySet()) { e.getValue().ifPresent((value) -> { itemTag.builder.set((DataComponentType) e.getKey(), value); -@@ -951,7 +992,7 @@ class CraftMetaItem implements ItemMeta, Damageable, Repairable, BlockDataMeta { +@@ -958,7 +999,7 @@ class CraftMetaItem implements ItemMeta, Damageable, Repairable, BlockDataMeta { @Overridden boolean isEmpty() { @@ -123,7 +123,7 @@ index 2cf89147025066f34c12b9956d18451487fb2799..078b75f027b99a8a2a6a3ee19d087acc } // Paper start -@@ -1621,6 +1662,8 @@ class CraftMetaItem implements ItemMeta, Damageable, Repairable, BlockDataMeta { +@@ -1628,6 +1669,8 @@ class CraftMetaItem implements ItemMeta, Damageable, Repairable, BlockDataMeta { && (this.hasJukeboxPlayable() ? that.hasJukeboxPlayable() && this.jukebox.equals(that.jukebox) : !that.hasJukeboxPlayable()) && (this.hasDamage() ? that.hasDamage() && this.damage == that.damage : !that.hasDamage()) && (this.hasMaxDamage() ? that.hasMaxDamage() && this.maxDamage.equals(that.maxDamage) : !that.hasMaxDamage()) @@ -132,7 +132,7 @@ index 2cf89147025066f34c12b9956d18451487fb2799..078b75f027b99a8a2a6a3ee19d087acc && (this.version == that.version); } -@@ -1666,6 +1709,8 @@ class CraftMetaItem implements ItemMeta, Damageable, Repairable, BlockDataMeta { +@@ -1673,6 +1716,8 @@ class CraftMetaItem implements ItemMeta, Damageable, Repairable, BlockDataMeta { hash = 61 * hash + (this.hasDamage() ? this.damage : 0); hash = 61 * hash + (this.hasMaxDamage() ? 1231 : 1237); hash = 61 * hash + (this.hasAttributeModifiers() ? this.attributeModifiers.hashCode() : 0); @@ -141,7 +141,7 @@ index 2cf89147025066f34c12b9956d18451487fb2799..078b75f027b99a8a2a6a3ee19d087acc hash = 61 * hash + this.version; return hash; } -@@ -1710,6 +1755,14 @@ class CraftMetaItem implements ItemMeta, Damageable, Repairable, BlockDataMeta { +@@ -1717,6 +1762,14 @@ class CraftMetaItem implements ItemMeta, Damageable, Repairable, BlockDataMeta { clone.damage = this.damage; clone.maxDamage = this.maxDamage; clone.version = this.version; @@ -156,7 +156,7 @@ index 2cf89147025066f34c12b9956d18451487fb2799..078b75f027b99a8a2a6a3ee19d087acc return clone; } catch (CloneNotSupportedException e) { throw new Error(e); -@@ -1827,6 +1880,16 @@ class CraftMetaItem implements ItemMeta, Damageable, Repairable, BlockDataMeta { +@@ -1834,6 +1887,16 @@ class CraftMetaItem implements ItemMeta, Damageable, Repairable, BlockDataMeta { } } @@ -173,7 +173,7 @@ index 2cf89147025066f34c12b9956d18451487fb2799..078b75f027b99a8a2a6a3ee19d087acc if (!this.unhandledTags.isEmpty()) { Tag unhandled = DataComponentPatch.CODEC.encodeStart(MinecraftServer.getDefaultRegistryAccess().createSerializationContext(NbtOps.INSTANCE), this.unhandledTags.build()).getOrThrow(IllegalStateException::new); try { -@@ -1837,6 +1900,14 @@ class CraftMetaItem implements ItemMeta, Damageable, Repairable, BlockDataMeta { +@@ -1844,6 +1907,14 @@ class CraftMetaItem implements ItemMeta, Damageable, Repairable, BlockDataMeta { Logger.getLogger(CraftMetaItem.class.getName()).log(Level.SEVERE, null, ex); } } @@ -188,7 +188,7 @@ index 2cf89147025066f34c12b9956d18451487fb2799..078b75f027b99a8a2a6a3ee19d087acc if (!this.removedTags.isEmpty()) { RegistryAccess registryAccess = CraftRegistry.getMinecraftRegistry(); -@@ -1990,6 +2061,8 @@ class CraftMetaItem implements ItemMeta, Damageable, Repairable, BlockDataMeta { +@@ -1997,6 +2068,8 @@ class CraftMetaItem implements ItemMeta, Damageable, Repairable, BlockDataMeta { CraftMetaItem.MAX_DAMAGE.TYPE, CraftMetaItem.CUSTOM_DATA.TYPE, CraftMetaItem.ATTRIBUTES.TYPE, diff --git a/patches/server/0963-Fix-Player-setBlockUpdate.patch b/patches/server/0962-Fix-Player-setBlockUpdate.patch similarity index 95% rename from patches/server/0963-Fix-Player-setBlockUpdate.patch rename to patches/server/0962-Fix-Player-setBlockUpdate.patch index 81049f5c54..af479baa93 100644 --- a/patches/server/0963-Fix-Player-setBlockUpdate.patch +++ b/patches/server/0962-Fix-Player-setBlockUpdate.patch @@ -18,7 +18,7 @@ index 397eb1a101bd60f49dbb2fa8eddf28f6f233167f..e28bc898786542f695017ff0a0366768 } diff --git a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java -index 4d3838c5184296451089697fd3f7438a7f1be762..94524dee7e3ff78d378bd7812c49d041d07e138d 100644 +index 1490d15f1ffa83653b20a4bb47584c4c554a3384..29c5855b9d31e803eb856584b92dfd35f6fad39a 100644 --- a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java +++ b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java @@ -1118,6 +1118,7 @@ public class CraftPlayer extends CraftHumanEntity implements Player { diff --git a/patches/server/0964-Fix-helmet-damage-reduction-inconsistencies.patch b/patches/server/0963-Fix-helmet-damage-reduction-inconsistencies.patch similarity index 87% rename from patches/server/0964-Fix-helmet-damage-reduction-inconsistencies.patch rename to patches/server/0963-Fix-helmet-damage-reduction-inconsistencies.patch index 065e1dca21..d394f07802 100644 --- a/patches/server/0964-Fix-helmet-damage-reduction-inconsistencies.patch +++ b/patches/server/0963-Fix-helmet-damage-reduction-inconsistencies.patch @@ -7,10 +7,10 @@ Affect the falling stalactite damage type where the reduction is not applied like in Vanilla diff --git a/src/main/java/org/bukkit/craftbukkit/event/CraftEventFactory.java b/src/main/java/org/bukkit/craftbukkit/event/CraftEventFactory.java -index 67aa8ebd1c4915fc7f18e3cf263eedf9b671a632..0ab53d46f0b8f3f3791dd01766738522c86932e8 100644 +index c21acdf5b445a7f24e0d7a6dfd07a097cb6a95b4..10598b112b66d660f1b1362d9af1ac85201cd0af 100644 --- a/src/main/java/org/bukkit/craftbukkit/event/CraftEventFactory.java +++ b/src/main/java/org/bukkit/craftbukkit/event/CraftEventFactory.java -@@ -1222,7 +1222,7 @@ public class CraftEventFactory { +@@ -1226,7 +1226,7 @@ public class CraftEventFactory { modifiers.put(DamageModifier.FREEZING, freezingModifier); modifierFunctions.put(DamageModifier.FREEZING, freezing); } diff --git a/patches/server/0965-Revert-to-vanilla-handling-of-LivingEntity-actuallyH.patch b/patches/server/0964-Revert-to-vanilla-handling-of-LivingEntity-actuallyH.patch similarity index 100% rename from patches/server/0965-Revert-to-vanilla-handling-of-LivingEntity-actuallyH.patch rename to patches/server/0964-Revert-to-vanilla-handling-of-LivingEntity-actuallyH.patch diff --git a/patches/server/0966-improve-checking-handled-tags-in-itemmeta.patch b/patches/server/0965-improve-checking-handled-tags-in-itemmeta.patch similarity index 95% rename from patches/server/0966-improve-checking-handled-tags-in-itemmeta.patch rename to patches/server/0965-improve-checking-handled-tags-in-itemmeta.patch index 6e7216cfea..9284b050d0 100644 --- a/patches/server/0966-improve-checking-handled-tags-in-itemmeta.patch +++ b/patches/server/0965-improve-checking-handled-tags-in-itemmeta.patch @@ -5,10 +5,10 @@ Subject: [PATCH] improve checking handled tags in itemmeta diff --git a/src/main/java/org/bukkit/craftbukkit/inventory/CraftItemMetas.java b/src/main/java/org/bukkit/craftbukkit/inventory/CraftItemMetas.java -index a6c78854c10362864c2297de903ab9594cdb1eb6..251aac8690f15be2ad0e3f6399676205b7d7860c 100644 +index a4c4ba0d02f9a072236ce86c1e98e2c60b059cb8..0930d827e96e0b41296d7723238e6735106fd3d5 100644 --- a/src/main/java/org/bukkit/craftbukkit/inventory/CraftItemMetas.java +++ b/src/main/java/org/bukkit/craftbukkit/inventory/CraftItemMetas.java -@@ -32,116 +32,116 @@ import org.bukkit.inventory.meta.TropicalFishBucketMeta; +@@ -39,120 +39,120 @@ import org.bukkit.inventory.meta.TropicalFishBucketMeta; public final class CraftItemMetas { @@ -107,6 +107,11 @@ index a6c78854c10362864c2297de903ab9594cdb1eb6..251aac8690f15be2ad0e3f6399676205 + (item, extras) -> new CraftMetaBlockState(item.getComponentsPatch(), CraftItemType.minecraftToBukkit(item.getItem()), extras), (type, meta) -> new CraftMetaBlockState(meta, type.asMaterial())); + private static final ItemMetaData SHIELD_META_DATA = new ItemMetaData<>(ShieldMeta.class, +- item -> new CraftMetaShield(item.getComponentsPatch()), ++ (item, extras) -> new CraftMetaShield(item.getComponentsPatch(), extras), + (type, meta) -> new CraftMetaShield(meta)); + private static final ItemMetaData TROPICAL_FISH_BUCKET_META_DATA = new ItemMetaData<>(TropicalFishBucketMeta.class, - item -> new CraftMetaTropicalFishBucket(item.getComponentsPatch()), + (item, extras) -> new CraftMetaTropicalFishBucket(item.getComponentsPatch(), extras), @@ -286,10 +291,10 @@ index c56fb1eeea79176c4dbb1e9c0a8023f86220fe6a..1c17fb294d83d99ae657eff6a8a986bf getOrEmpty(tag, CraftMetaBanner.PATTERNS).ifPresent((entityTag) -> { List patterns = entityTag.layers(); diff --git a/src/main/java/org/bukkit/craftbukkit/inventory/CraftMetaBlockState.java b/src/main/java/org/bukkit/craftbukkit/inventory/CraftMetaBlockState.java -index 4faada5f974214f3054dc1bec9c79e2600c8df48..d7e5491cc0296563fb9fdf28d64b21a10c08ea4a 100644 +index 23dbc56edf0d16cf07ced2899942abae28397694..ed6e9d1f2d42392d92f4e3ae6f67c8d4ed700fb5 100644 --- a/src/main/java/org/bukkit/craftbukkit/inventory/CraftMetaBlockState.java +++ b/src/main/java/org/bukkit/craftbukkit/inventory/CraftMetaBlockState.java -@@ -69,8 +69,8 @@ public class CraftMetaBlockState extends CraftMetaItem implements BlockStateMeta +@@ -70,8 +70,8 @@ public class CraftMetaBlockState extends CraftMetaItem implements BlockStateMeta this.blockEntityTag = te.blockEntityTag; } @@ -301,7 +306,7 @@ index 4faada5f974214f3054dc1bec9c79e2600c8df48..d7e5491cc0296563fb9fdf28d64b21a1 getOrEmpty(tag, CraftMetaBlockState.BLOCK_ENTITY_TAG).ifPresent((nbt) -> { diff --git a/src/main/java/org/bukkit/craftbukkit/inventory/CraftMetaBook.java b/src/main/java/org/bukkit/craftbukkit/inventory/CraftMetaBook.java -index 552ebe67f87b48734adf0da8ef78dcac9dd670a2..e064af399dcae40b4f35aa993d356b1462f91d6c 100644 +index 32e5188442551b3e72e1d4826d836d622d0e438a..257c835bc280eee9ee73ae75b5249bb568a687d0 100644 --- a/src/main/java/org/bukkit/craftbukkit/inventory/CraftMetaBook.java +++ b/src/main/java/org/bukkit/craftbukkit/inventory/CraftMetaBook.java @@ -64,8 +64,8 @@ public class CraftMetaBook extends CraftMetaItem implements BookMeta, WritableBo @@ -316,7 +321,7 @@ index 552ebe67f87b48734adf0da8ef78dcac9dd670a2..e064af399dcae40b4f35aa993d356b14 getOrEmpty(tag, CraftMetaBook.BOOK_CONTENT).ifPresent((writable) -> { List> pages = writable.pages(); diff --git a/src/main/java/org/bukkit/craftbukkit/inventory/CraftMetaBookSigned.java b/src/main/java/org/bukkit/craftbukkit/inventory/CraftMetaBookSigned.java -index 162997fc80dfe2df1f13c802c1b610f04cb9d05a..806c1cbee7c4e23eee38c8f400ec2d924c9a360c 100644 +index fd3b12477c30d1eabdbe57ea779027931e9dd957..cbb3d80cc7cd81b2505dff999a0baede737165f7 100644 --- a/src/main/java/org/bukkit/craftbukkit/inventory/CraftMetaBookSigned.java +++ b/src/main/java/org/bukkit/craftbukkit/inventory/CraftMetaBookSigned.java @@ -78,8 +78,8 @@ public class CraftMetaBookSigned extends CraftMetaItem implements BookMeta { @@ -451,7 +456,7 @@ index 8c1d2d0521da52f9a1262f5433da21700b9b0454..9600b23666668d7d581e2920a4e03e59 getOrEmpty(tag, CraftMetaFirework.FIREWORKS).ifPresent((fireworks) -> { this.power = fireworks.flightDuration(); diff --git a/src/main/java/org/bukkit/craftbukkit/inventory/CraftMetaItem.java b/src/main/java/org/bukkit/craftbukkit/inventory/CraftMetaItem.java -index 078b75f027b99a8a2a6a3ee19d087acc03eefe12..1903a6948242e2dc40302a0acb9171fc3cc3000e 100644 +index 6f3ab40a9d0bccd9a2c439bf0e200ba5cf0f5f6e..bee2f2f5675b8aaeb2a04ada1f6dba9aa9a14ed3 100644 --- a/src/main/java/org/bukkit/craftbukkit/inventory/CraftMetaItem.java +++ b/src/main/java/org/bukkit/craftbukkit/inventory/CraftMetaItem.java @@ -339,7 +339,7 @@ class CraftMetaItem implements ItemMeta, Damageable, Repairable, BlockDataMeta { @@ -481,7 +486,7 @@ index 078b75f027b99a8a2a6a3ee19d087acc03eefe12..1903a6948242e2dc40302a0acb9171fc key.getValue().ifPresent((value) -> { this.unhandledTags.set((DataComponentType) key.getKey(), value); }); -@@ -2036,67 +2043,75 @@ class CraftMetaItem implements ItemMeta, Damageable, Repairable, BlockDataMeta { +@@ -2043,68 +2050,76 @@ class CraftMetaItem implements ItemMeta, Damageable, Repairable, BlockDataMeta { this.version = version; } @@ -521,6 +526,7 @@ index 078b75f027b99a8a2a6a3ee19d087acc03eefe12..1903a6948242e2dc40302a0acb9171fc - CraftMetaMap.MAP_COLOR.TYPE, - CraftMetaMap.MAP_ID.TYPE, - CraftMetaPotion.POTION_CONTENTS.TYPE, +- CraftMetaShield.BASE_COLOR.TYPE, - CraftMetaSkull.SKULL_PROFILE.TYPE, - CraftMetaSkull.NOTE_BLOCK_SOUND.TYPE, - CraftMetaSpawnEgg.ENTITY_TAG.TYPE, @@ -579,7 +585,8 @@ index 078b75f027b99a8a2a6a3ee19d087acc03eefe12..1903a6948242e2dc40302a0acb9171fc + map.put(CraftMetaArmor.class, Set.of(CraftMetaArmor.TRIM.TYPE)); + map.put(CraftMetaArmorStand.class, Set.of(CraftMetaArmorStand.ENTITY_TAG.TYPE)); + map.put(CraftMetaAxolotlBucket.class, Set.of(CraftMetaAxolotlBucket.ENTITY_TAG.TYPE, CraftMetaAxolotlBucket.BUCKET_ENTITY_TAG.TYPE)); -+ map.put(CraftMetaBanner.class, Set.of(/*CraftMetaBlockState.BLOCK_ENTITY_TAG.NBT, */CraftMetaBanner.PATTERNS.TYPE)); // banner uses same tag as block state ++ map.put(CraftMetaBanner.class, Set.of(CraftMetaBanner.PATTERNS.TYPE)); // banner uses same tag as block state ++ map.put(CraftMetaShield.class, Set.of(CraftMetaShield.BASE_COLOR.TYPE, CraftMetaBanner.PATTERNS.TYPE)); + map.put(CraftMetaBlockState.class, Set.of(CraftMetaBlockState.BLOCK_ENTITY_TAG.TYPE)); + map.put(CraftMetaBook.class, Set.of(CraftMetaBook.BOOK_CONTENT.TYPE)); + map.put(CraftMetaBookSigned.class, Set.of(CraftMetaBookSigned.BOOK_CONTENT.TYPE)); @@ -706,6 +713,21 @@ index d1cb8d520b6d7b0981d70412def71e7aab04560a..7f9182809f6e67ff571db0f365bc7e05 getOrEmpty(tag, CraftMetaPotion.POTION_CONTENTS).ifPresent((potionContents) -> { potionContents.potion().ifPresent((potion) -> { this.type = CraftPotionType.minecraftHolderToBukkit(potion); +diff --git a/src/main/java/org/bukkit/craftbukkit/inventory/CraftMetaShield.java b/src/main/java/org/bukkit/craftbukkit/inventory/CraftMetaShield.java +index c10609472c1b86c3abb19a62bef4c9ce436307ea..d2b74daa5788c1e6d9eaddb47bc3a062287ba036 100644 +--- a/src/main/java/org/bukkit/craftbukkit/inventory/CraftMetaShield.java ++++ b/src/main/java/org/bukkit/craftbukkit/inventory/CraftMetaShield.java +@@ -42,8 +42,8 @@ public class CraftMetaShield extends CraftMetaItem implements ShieldMeta, BlockS + } + } + +- CraftMetaShield(DataComponentPatch tag) { +- super(tag); ++ CraftMetaShield(DataComponentPatch tag, java.util.Set> extraHandledDcts) { // Paper - improve checking handled tags in item meta ++ super(tag, extraHandledDcts); // Paper - improve checking handled tags in item meta + + getOrEmpty(tag, CraftMetaShield.BASE_COLOR).ifPresent((color) -> { + this.banner = CraftMetaShield.getBlockState(DyeColor.getByWoolData((byte) color.getId())); diff --git a/src/main/java/org/bukkit/craftbukkit/inventory/CraftMetaSkull.java b/src/main/java/org/bukkit/craftbukkit/inventory/CraftMetaSkull.java index d6e161374e0235031128a6ee86d1ffa875ea48aa..ab860f1179fa2618c8fbc30ac5f48ff78b8abb60 100644 --- a/src/main/java/org/bukkit/craftbukkit/inventory/CraftMetaSkull.java @@ -722,7 +744,7 @@ index d6e161374e0235031128a6ee86d1ffa875ea48aa..ab860f1179fa2618c8fbc30ac5f48ff7 getOrEmpty(tag, CraftMetaSkull.SKULL_PROFILE).ifPresent((resolvableProfile) -> { this.setProfile(resolvableProfile.gameProfile()); diff --git a/src/main/java/org/bukkit/craftbukkit/inventory/CraftMetaSpawnEgg.java b/src/main/java/org/bukkit/craftbukkit/inventory/CraftMetaSpawnEgg.java -index 2c6ee95edea9dc959d8d31d689dc27fea4080467..e4b8637e6d82e2ce7cfee2130e6422f0ef4e1fbc 100644 +index 6c2c3b514be0dab47f3e44f65bdc6a3574e59b7c..8ddf091b3ff1262b6c97e8fe72e0a80db5e1037d 100644 --- a/src/main/java/org/bukkit/craftbukkit/inventory/CraftMetaSpawnEgg.java +++ b/src/main/java/org/bukkit/craftbukkit/inventory/CraftMetaSpawnEgg.java @@ -33,8 +33,8 @@ public class CraftMetaSpawnEgg extends CraftMetaItem implements SpawnEggMeta { diff --git a/patches/server/0967-General-ItemMeta-fixes.patch b/patches/server/0966-General-ItemMeta-fixes.patch similarity index 82% rename from patches/server/0967-General-ItemMeta-fixes.patch rename to patches/server/0966-General-ItemMeta-fixes.patch index 321e5f3b03..7730aa8d80 100644 --- a/patches/server/0967-General-ItemMeta-fixes.patch +++ b/patches/server/0966-General-ItemMeta-fixes.patch @@ -12,7 +12,7 @@ public net/minecraft/world/level/block/entity/BlockEntity saveId(Lnet/minecraft/ Co-authored-by: GhastCraftHD diff --git a/src/main/java/net/minecraft/world/item/ItemStack.java b/src/main/java/net/minecraft/world/item/ItemStack.java -index fa4bdf8bdbd6eaeb854e62a2acb45d7998e4aa2b..8309d2f7872ccdbc9d76f0fbf481411f74080148 100644 +index ebe470ca361ec5747a843b60d82f567d41d7c9fa..f9a4bebb321207abb00b1af1c17ebda623cc950e 100644 --- a/src/main/java/net/minecraft/world/item/ItemStack.java +++ b/src/main/java/net/minecraft/world/item/ItemStack.java @@ -1275,6 +1275,11 @@ public final class ItemStack implements DataComponentHolder { @@ -158,10 +158,10 @@ index 1c17fb294d83d99ae657eff6a8a986bf72c6ec47..b9d6a4a8f78a0e26d888b6bfdff25c3a for (Pattern p : this.patterns) { diff --git a/src/main/java/org/bukkit/craftbukkit/inventory/CraftMetaBlockState.java b/src/main/java/org/bukkit/craftbukkit/inventory/CraftMetaBlockState.java -index d7e5491cc0296563fb9fdf28d64b21a10c08ea4a..224ea52574b80bb087c5c62eaf1d46261c1252af 100644 +index ed6e9d1f2d42392d92f4e3ae6f67c8d4ed700fb5..d8ec01c65c6a57accf1b510499f9446e73c2f7e4 100644 --- a/src/main/java/org/bukkit/craftbukkit/inventory/CraftMetaBlockState.java +++ b/src/main/java/org/bukkit/craftbukkit/inventory/CraftMetaBlockState.java -@@ -50,9 +50,24 @@ public class CraftMetaBlockState extends CraftMetaItem implements BlockStateMeta +@@ -51,9 +51,24 @@ public class CraftMetaBlockState extends CraftMetaItem implements BlockStateMeta @ItemMetaKey.Specific(ItemMetaKey.Specific.To.NBT) static final ItemMetaKeyType BLOCK_ENTITY_TAG = new ItemMetaKeyType<>(DataComponents.BLOCK_ENTITY_DATA, "BlockEntityTag"); @@ -181,13 +181,13 @@ index d7e5491cc0296563fb9fdf28d64b21a10c08ea4a..224ea52574b80bb087c5c62eaf1d4626 + this.blockEntityTag = this.blockEntityTag != null ? this.blockEntityTag : CustomData.EMPTY; + } + private Material materialForBlockEntityType() { -+ return (this.material != Material.SHIELD) ? this.material : CraftMetaBlockState.shieldToBannerHack(); ++ return this.material; + } + // Paper end private CompoundTag internalTag; CraftMetaBlockState(CraftMetaItem meta, Material material) { -@@ -61,41 +76,61 @@ public class CraftMetaBlockState extends CraftMetaItem implements BlockStateMeta +@@ -62,41 +77,61 @@ public class CraftMetaBlockState extends CraftMetaItem implements BlockStateMeta if (!(meta instanceof CraftMetaBlockState) || ((CraftMetaBlockState) meta).material != material) { @@ -262,19 +262,16 @@ index d7e5491cc0296563fb9fdf28d64b21a10c08ea4a..224ea52574b80bb087c5c62eaf1d4626 } } -@@ -108,7 +143,10 @@ public class CraftMetaBlockState extends CraftMetaItem implements BlockStateMeta - } else { +@@ -110,7 +145,7 @@ public class CraftMetaBlockState extends CraftMetaItem implements BlockStateMeta this.material = Material.AIR; } -- this.blockEntityTag = CraftMetaBlockState.getBlockState(this.material, this.internalTag); -+ // Paper start -+ if (this.internalTag != null) { // legacy -+ this.setBlockState(CraftMetaBlockState.getBlockState(this.material, this.internalTag)); -+ } - this.internalTag = null; + if (this.internalTag != null) { +- this.blockEntityTag = CraftMetaBlockState.getBlockState(this.material, this.internalTag); ++ this.setBlockState(CraftMetaBlockState.getBlockState(this.material, this.internalTag)); // Paper - general item meta fixes - pass through setter + this.internalTag = null; + } } - -@@ -116,13 +154,21 @@ public class CraftMetaBlockState extends CraftMetaItem implements BlockStateMeta +@@ -119,13 +154,21 @@ public class CraftMetaBlockState extends CraftMetaItem implements BlockStateMeta void applyToItem(CraftMetaItem.Applicator tag) { super.applyToItem(tag); @@ -301,7 +298,7 @@ index d7e5491cc0296563fb9fdf28d64b21a10c08ea4a..224ea52574b80bb087c5c62eaf1d4626 } @Override -@@ -131,14 +177,29 @@ public class CraftMetaBlockState extends CraftMetaItem implements BlockStateMeta +@@ -134,14 +177,29 @@ public class CraftMetaBlockState extends CraftMetaItem implements BlockStateMeta if (tag.contains(CraftMetaBlockState.BLOCK_ENTITY_TAG.NBT, CraftMagicNumbers.NBT.TAG_COMPOUND)) { this.internalTag = tag.getCompound(CraftMetaBlockState.BLOCK_ENTITY_TAG.NBT); @@ -333,7 +330,7 @@ index d7e5491cc0296563fb9fdf28d64b21a10c08ea4a..224ea52574b80bb087c5c62eaf1d4626 } @Override -@@ -152,9 +213,10 @@ public class CraftMetaBlockState extends CraftMetaItem implements BlockStateMeta +@@ -155,9 +213,10 @@ public class CraftMetaBlockState extends CraftMetaItem implements BlockStateMeta int applyHash() { final int original; int hash = original = super.applyHash(); @@ -347,7 +344,7 @@ index d7e5491cc0296563fb9fdf28d64b21a10c08ea4a..224ea52574b80bb087c5c62eaf1d4626 return original != hash ? CraftMetaBlockState.class.hashCode() ^ hash : hash; } -@@ -166,45 +228,71 @@ public class CraftMetaBlockState extends CraftMetaItem implements BlockStateMeta +@@ -169,45 +228,71 @@ public class CraftMetaBlockState extends CraftMetaItem implements BlockStateMeta if (meta instanceof CraftMetaBlockState) { CraftMetaBlockState that = (CraftMetaBlockState) meta; @@ -429,9 +426,9 @@ index d7e5491cc0296563fb9fdf28d64b21a10c08ea4a..224ea52574b80bb087c5c62eaf1d4626 } private static CraftBlockEntityState getBlockState(Material material, CompoundTag blockEntityTag) { -@@ -234,7 +322,23 @@ public class CraftMetaBlockState extends CraftMetaItem implements BlockStateMeta +@@ -237,7 +322,23 @@ public class CraftMetaBlockState extends CraftMetaItem implements BlockStateMeta Class blockStateType = CraftBlockStates.getBlockStateType(stateMaterial); - Preconditions.checkArgument(blockStateType == blockState.getClass() && blockState instanceof CraftBlockEntityState, "Invalid blockState for " + this.material); + Preconditions.checkArgument(blockStateType == blockState.getClass() && blockState instanceof CraftBlockEntityState, "Invalid blockState for %s", this.material); - this.blockEntityTag = (CraftBlockEntityState) blockState; + // Paper start - when a new BlockState is set, the components from that block entity @@ -453,7 +450,7 @@ index d7e5491cc0296563fb9fdf28d64b21a10c08ea4a..224ea52574b80bb087c5c62eaf1d4626 + // Paper end } - private static Material shieldToBannerHack() { + private static Material shieldToBannerHack(CompoundTag tag) { diff --git a/src/main/java/org/bukkit/craftbukkit/inventory/CraftMetaBook.java b/src/main/java/org/bukkit/craftbukkit/inventory/CraftMetaBook.java index 257c835bc280eee9ee73ae75b5249bb568a687d0..70f20de37c1f8d57a8d9fe00dcd864fdd9948ec2 100644 --- a/src/main/java/org/bukkit/craftbukkit/inventory/CraftMetaBook.java @@ -805,7 +802,7 @@ index 9600b23666668d7d581e2920a4e03e59cc2339fb..0eceacbb096481d3bd31f5f99e964c88 } } diff --git a/src/main/java/org/bukkit/craftbukkit/inventory/CraftMetaItem.java b/src/main/java/org/bukkit/craftbukkit/inventory/CraftMetaItem.java -index 1903a6948242e2dc40302a0acb9171fc3cc3000e..a9acbb181dd72238b63fb08fda1b3bc0d246e36e 100644 +index bee2f2f5675b8aaeb2a04ada1f6dba9aa9a14ed3..67181b215312f1f572d6ac5afd289c6540b12829 100644 --- a/src/main/java/org/bukkit/craftbukkit/inventory/CraftMetaItem.java +++ b/src/main/java/org/bukkit/craftbukkit/inventory/CraftMetaItem.java @@ -182,9 +182,10 @@ class CraftMetaItem implements ItemMeta, Damageable, Repairable, BlockDataMeta { @@ -851,7 +848,7 @@ index 1903a6948242e2dc40302a0acb9171fc3cc3000e..a9acbb181dd72238b63fb08fda1b3bc0 CraftMetaItem.getOrEmpty(tag, CraftMetaItem.NAME).ifPresent((component) -> { this.displayName = component; }); -@@ -791,7 +797,7 @@ class CraftMetaItem implements ItemMeta, Damageable, Repairable, BlockDataMeta { +@@ -798,7 +804,7 @@ class CraftMetaItem implements ItemMeta, Damageable, Repairable, BlockDataMeta { Map mods = SerializableMeta.getObject(Map.class, map, key.BUKKIT, true); Multimap result = LinkedHashMultimap.create(); if (mods == null) { @@ -860,7 +857,7 @@ index 1903a6948242e2dc40302a0acb9171fc3cc3000e..a9acbb181dd72238b63fb08fda1b3bc0 } for (Object obj : mods.keySet()) { -@@ -894,7 +900,7 @@ class CraftMetaItem implements ItemMeta, Damageable, Repairable, BlockDataMeta { +@@ -901,7 +907,7 @@ class CraftMetaItem implements ItemMeta, Damageable, Repairable, BlockDataMeta { itemTag.put(CraftMetaItem.JUKEBOX_PLAYABLE, this.jukebox.getHandle()); } @@ -869,7 +866,7 @@ index 1903a6948242e2dc40302a0acb9171fc3cc3000e..a9acbb181dd72238b63fb08fda1b3bc0 itemTag.put(CraftMetaItem.DAMAGE, this.damage); } -@@ -959,10 +965,8 @@ class CraftMetaItem implements ItemMeta, Damageable, Repairable, BlockDataMeta { +@@ -966,10 +972,8 @@ class CraftMetaItem implements ItemMeta, Damageable, Repairable, BlockDataMeta { } void applyModifiers(Multimap modifiers, CraftMetaItem.Applicator tag) { @@ -882,7 +879,7 @@ index 1903a6948242e2dc40302a0acb9171fc3cc3000e..a9acbb181dd72238b63fb08fda1b3bc0 return; } -@@ -999,7 +1003,7 @@ class CraftMetaItem implements ItemMeta, Damageable, Repairable, BlockDataMeta { +@@ -1006,7 +1010,7 @@ class CraftMetaItem implements ItemMeta, Damageable, Repairable, BlockDataMeta { @Overridden boolean isEmpty() { @@ -891,7 +888,7 @@ index 1903a6948242e2dc40302a0acb9171fc3cc3000e..a9acbb181dd72238b63fb08fda1b3bc0 } // Paper start -@@ -1095,6 +1099,7 @@ class CraftMetaItem implements ItemMeta, Damageable, Repairable, BlockDataMeta { +@@ -1102,6 +1106,7 @@ class CraftMetaItem implements ItemMeta, Damageable, Repairable, BlockDataMeta { @Override public void lore(final List lore) { @@ -899,7 +896,7 @@ index 1903a6948242e2dc40302a0acb9171fc3cc3000e..a9acbb181dd72238b63fb08fda1b3bc0 this.lore = lore != null ? io.papermc.paper.adventure.PaperAdventure.asVanilla(lore) : null; } // Paper end -@@ -1153,7 +1158,7 @@ class CraftMetaItem implements ItemMeta, Damageable, Repairable, BlockDataMeta { +@@ -1160,7 +1165,7 @@ class CraftMetaItem implements ItemMeta, Damageable, Repairable, BlockDataMeta { @Override public void removeEnchantments() { if (this.hasEnchants()) { @@ -908,7 +905,7 @@ index 1903a6948242e2dc40302a0acb9171fc3cc3000e..a9acbb181dd72238b63fb08fda1b3bc0 } } -@@ -1219,6 +1224,7 @@ class CraftMetaItem implements ItemMeta, Damageable, Repairable, BlockDataMeta { +@@ -1226,6 +1231,7 @@ class CraftMetaItem implements ItemMeta, Damageable, Repairable, BlockDataMeta { // Paper end @Override public void setLore(List lore) { @@ -916,7 +913,7 @@ index 1903a6948242e2dc40302a0acb9171fc3cc3000e..a9acbb181dd72238b63fb08fda1b3bc0 if (lore == null || lore.isEmpty()) { this.lore = null; } else { -@@ -1234,6 +1240,7 @@ class CraftMetaItem implements ItemMeta, Damageable, Repairable, BlockDataMeta { +@@ -1241,6 +1247,7 @@ class CraftMetaItem implements ItemMeta, Damageable, Repairable, BlockDataMeta { // Paper start @Override public void setLoreComponents(List lore) { @@ -924,7 +921,7 @@ index 1903a6948242e2dc40302a0acb9171fc3cc3000e..a9acbb181dd72238b63fb08fda1b3bc0 if (lore == null) { this.lore = null; } else { -@@ -1375,7 +1382,7 @@ class CraftMetaItem implements ItemMeta, Damageable, Repairable, BlockDataMeta { +@@ -1382,7 +1389,7 @@ class CraftMetaItem implements ItemMeta, Damageable, Repairable, BlockDataMeta { @Override public FoodComponent getFood() { @@ -933,7 +930,7 @@ index 1903a6948242e2dc40302a0acb9171fc3cc3000e..a9acbb181dd72238b63fb08fda1b3bc0 } @Override -@@ -1431,7 +1438,7 @@ class CraftMetaItem implements ItemMeta, Damageable, Repairable, BlockDataMeta { +@@ -1438,7 +1445,7 @@ class CraftMetaItem implements ItemMeta, Damageable, Repairable, BlockDataMeta { @Override public Multimap getAttributeModifiers(@Nullable EquipmentSlot slot) { @@ -942,7 +939,7 @@ index 1903a6948242e2dc40302a0acb9171fc3cc3000e..a9acbb181dd72238b63fb08fda1b3bc0 SetMultimap result = LinkedHashMultimap.create(); for (Map.Entry entry : this.attributeModifiers.entries()) { if (entry.getValue().getSlot() == null || entry.getValue().getSlot() == slot) { -@@ -1444,6 +1451,7 @@ class CraftMetaItem implements ItemMeta, Damageable, Repairable, BlockDataMeta { +@@ -1451,6 +1458,7 @@ class CraftMetaItem implements ItemMeta, Damageable, Repairable, BlockDataMeta { @Override public Collection getAttributeModifiers(@Nonnull Attribute attribute) { Preconditions.checkNotNull(attribute, "Attribute cannot be null"); @@ -950,7 +947,7 @@ index 1903a6948242e2dc40302a0acb9171fc3cc3000e..a9acbb181dd72238b63fb08fda1b3bc0 return this.attributeModifiers.containsKey(attribute) ? ImmutableList.copyOf(this.attributeModifiers.get(attribute)) : null; } -@@ -1451,22 +1459,33 @@ class CraftMetaItem implements ItemMeta, Damageable, Repairable, BlockDataMeta { +@@ -1458,22 +1466,33 @@ class CraftMetaItem implements ItemMeta, Damageable, Repairable, BlockDataMeta { public boolean addAttributeModifier(@Nonnull Attribute attribute, @Nonnull AttributeModifier modifier) { Preconditions.checkNotNull(attribute, "Attribute cannot be null"); Preconditions.checkNotNull(modifier, "AttributeModifier cannot be null"); @@ -988,7 +985,7 @@ index 1903a6948242e2dc40302a0acb9171fc3cc3000e..a9acbb181dd72238b63fb08fda1b3bc0 Iterator> iterator = attributeModifiers.entries().iterator(); while (iterator.hasNext()) { -@@ -1476,6 +1495,7 @@ class CraftMetaItem implements ItemMeta, Damageable, Repairable, BlockDataMeta { +@@ -1483,6 +1502,7 @@ class CraftMetaItem implements ItemMeta, Damageable, Repairable, BlockDataMeta { iterator.remove(); continue; } @@ -996,7 +993,7 @@ index 1903a6948242e2dc40302a0acb9171fc3cc3000e..a9acbb181dd72238b63fb08fda1b3bc0 this.attributeModifiers.put(next.getKey(), next.getValue()); } } -@@ -1483,13 +1503,13 @@ class CraftMetaItem implements ItemMeta, Damageable, Repairable, BlockDataMeta { +@@ -1490,13 +1510,13 @@ class CraftMetaItem implements ItemMeta, Damageable, Repairable, BlockDataMeta { @Override public boolean removeAttributeModifier(@Nonnull Attribute attribute) { Preconditions.checkNotNull(attribute, "Attribute cannot be null"); @@ -1012,7 +1009,7 @@ index 1903a6948242e2dc40302a0acb9171fc3cc3000e..a9acbb181dd72238b63fb08fda1b3bc0 int removed = 0; Iterator> iter = this.attributeModifiers.entries().iterator(); -@@ -1509,7 +1529,7 @@ class CraftMetaItem implements ItemMeta, Damageable, Repairable, BlockDataMeta { +@@ -1516,7 +1536,7 @@ class CraftMetaItem implements ItemMeta, Damageable, Repairable, BlockDataMeta { public boolean removeAttributeModifier(@Nonnull Attribute attribute, @Nonnull AttributeModifier modifier) { Preconditions.checkNotNull(attribute, "Attribute cannot be null"); Preconditions.checkNotNull(modifier, "AttributeModifier cannot be null"); @@ -1021,7 +1018,7 @@ index 1903a6948242e2dc40302a0acb9171fc3cc3000e..a9acbb181dd72238b63fb08fda1b3bc0 int removed = 0; Iterator> iter = this.attributeModifiers.entries().iterator(); -@@ -1531,7 +1551,7 @@ class CraftMetaItem implements ItemMeta, Damageable, Repairable, BlockDataMeta { +@@ -1538,7 +1558,7 @@ class CraftMetaItem implements ItemMeta, Damageable, Repairable, BlockDataMeta { @Override public String getAsString() { @@ -1030,7 +1027,7 @@ index 1903a6948242e2dc40302a0acb9171fc3cc3000e..a9acbb181dd72238b63fb08fda1b3bc0 this.applyToItem(tag); DataComponentPatch patch = tag.build(); Tag nbt = DataComponentPatch.CODEC.encodeStart(MinecraftServer.getDefaultRegistryAccess().createSerializationContext(NbtOps.INSTANCE), patch).getOrThrow(); -@@ -1540,7 +1560,7 @@ class CraftMetaItem implements ItemMeta, Damageable, Repairable, BlockDataMeta { +@@ -1547,7 +1567,7 @@ class CraftMetaItem implements ItemMeta, Damageable, Repairable, BlockDataMeta { @Override public String getAsComponentString() { @@ -1039,7 +1036,7 @@ index 1903a6948242e2dc40302a0acb9171fc3cc3000e..a9acbb181dd72238b63fb08fda1b3bc0 this.applyToItem(tag); DataComponentPatch patch = tag.build(); -@@ -1580,6 +1600,7 @@ class CraftMetaItem implements ItemMeta, Damageable, Repairable, BlockDataMeta { +@@ -1587,6 +1607,7 @@ class CraftMetaItem implements ItemMeta, Damageable, Repairable, BlockDataMeta { if (first == null || second == null) { return false; } @@ -1047,7 +1044,7 @@ index 1903a6948242e2dc40302a0acb9171fc3cc3000e..a9acbb181dd72238b63fb08fda1b3bc0 for (Map.Entry entry : first.entries()) { if (!second.containsEntry(entry.getKey(), entry.getValue())) { return false; -@@ -1595,19 +1616,33 @@ class CraftMetaItem implements ItemMeta, Damageable, Repairable, BlockDataMeta { +@@ -1602,19 +1623,33 @@ class CraftMetaItem implements ItemMeta, Damageable, Repairable, BlockDataMeta { @Override public boolean hasDamage() { @@ -1083,7 +1080,7 @@ index 1903a6948242e2dc40302a0acb9171fc3cc3000e..a9acbb181dd72238b63fb08fda1b3bc0 @Override public boolean hasMaxDamage() { return this.maxDamage != null; -@@ -1621,6 +1656,7 @@ class CraftMetaItem implements ItemMeta, Damageable, Repairable, BlockDataMeta { +@@ -1628,6 +1663,7 @@ class CraftMetaItem implements ItemMeta, Damageable, Repairable, BlockDataMeta { @Override public void setMaxDamage(Integer maxDamage) { @@ -1091,7 +1088,7 @@ index 1903a6948242e2dc40302a0acb9171fc3cc3000e..a9acbb181dd72238b63fb08fda1b3bc0 this.maxDamage = maxDamage; } -@@ -1652,7 +1688,7 @@ class CraftMetaItem implements ItemMeta, Damageable, Repairable, BlockDataMeta { +@@ -1659,7 +1695,7 @@ class CraftMetaItem implements ItemMeta, Damageable, Repairable, BlockDataMeta { && (this.hasCustomModelData() ? that.hasCustomModelData() && this.customModelData.equals(that.customModelData) : !that.hasCustomModelData()) && (this.hasBlockData() ? that.hasBlockData() && this.blockData.equals(that.blockData) : !that.hasBlockData()) && (this.hasRepairCost() ? that.hasRepairCost() && this.repairCost == that.repairCost : !that.hasRepairCost()) @@ -1100,7 +1097,7 @@ index 1903a6948242e2dc40302a0acb9171fc3cc3000e..a9acbb181dd72238b63fb08fda1b3bc0 && (this.unhandledTags.equals(that.unhandledTags)) && (this.removedTags.equals(that.removedTags)) && (Objects.equals(this.customTag, that.customTag)) -@@ -1667,7 +1703,7 @@ class CraftMetaItem implements ItemMeta, Damageable, Repairable, BlockDataMeta { +@@ -1674,7 +1710,7 @@ class CraftMetaItem implements ItemMeta, Damageable, Repairable, BlockDataMeta { && (this.hasFood() ? that.hasFood() && this.food.equals(that.food) : !that.hasFood()) && (this.hasTool() ? that.hasTool() && this.tool.equals(that.tool) : !that.hasTool()) && (this.hasJukeboxPlayable() ? that.hasJukeboxPlayable() && this.jukebox.equals(that.jukebox) : !that.hasJukeboxPlayable()) @@ -1109,7 +1106,7 @@ index 1903a6948242e2dc40302a0acb9171fc3cc3000e..a9acbb181dd72238b63fb08fda1b3bc0 && (this.hasMaxDamage() ? that.hasMaxDamage() && this.maxDamage.equals(that.maxDamage) : !that.hasMaxDamage()) && (this.canPlaceOnPredicates != null ? that.canPlaceOnPredicates != null && this.canPlaceOnPredicates.equals(that.canPlaceOnPredicates) : that.canPlaceOnPredicates == null) // Paper && (this.canBreakPredicates != null ? that.canBreakPredicates != null && this.canBreakPredicates.equals(that.canBreakPredicates) : that.canBreakPredicates == null) // Paper -@@ -1713,9 +1749,9 @@ class CraftMetaItem implements ItemMeta, Damageable, Repairable, BlockDataMeta { +@@ -1720,9 +1756,9 @@ class CraftMetaItem implements ItemMeta, Damageable, Repairable, BlockDataMeta { hash = 61 * hash + (this.hasFood() ? this.food.hashCode() : 0); hash = 61 * hash + (this.hasTool() ? this.tool.hashCode() : 0); hash = 61 * hash + (this.hasJukeboxPlayable() ? this.jukebox.hashCode() : 0); @@ -1122,7 +1119,7 @@ index 1903a6948242e2dc40302a0acb9171fc3cc3000e..a9acbb181dd72238b63fb08fda1b3bc0 hash = 61 * hash + (this.canPlaceOnPredicates != null ? this.canPlaceOnPredicates.hashCode() : 0); // Paper hash = 61 * hash + (this.canBreakPredicates != null ? this.canBreakPredicates.hashCode() : 0); // Paper hash = 61 * hash + this.version; -@@ -1735,7 +1771,7 @@ class CraftMetaItem implements ItemMeta, Damageable, Repairable, BlockDataMeta { +@@ -1742,7 +1778,7 @@ class CraftMetaItem implements ItemMeta, Damageable, Repairable, BlockDataMeta { if (this.enchantments != null) { clone.enchantments = new EnchantmentMap(this.enchantments); // Paper } @@ -1131,7 +1128,7 @@ index 1903a6948242e2dc40302a0acb9171fc3cc3000e..a9acbb181dd72238b63fb08fda1b3bc0 clone.attributeModifiers = LinkedHashMultimap.create(this.attributeModifiers); } if (this.customTag != null) { -@@ -1863,7 +1899,7 @@ class CraftMetaItem implements ItemMeta, Damageable, Repairable, BlockDataMeta { +@@ -1870,7 +1906,7 @@ class CraftMetaItem implements ItemMeta, Damageable, Repairable, BlockDataMeta { builder.put(CraftMetaItem.JUKEBOX_PLAYABLE.BUKKIT, this.jukebox); } @@ -1140,7 +1137,7 @@ index 1903a6948242e2dc40302a0acb9171fc3cc3000e..a9acbb181dd72238b63fb08fda1b3bc0 builder.put(CraftMetaItem.DAMAGE.BUKKIT, this.damage); } -@@ -1964,7 +2000,7 @@ class CraftMetaItem implements ItemMeta, Damageable, Repairable, BlockDataMeta { +@@ -1971,7 +2007,7 @@ class CraftMetaItem implements ItemMeta, Damageable, Repairable, BlockDataMeta { } static void serializeModifiers(Multimap modifiers, ImmutableMap.Builder builder, ItemMetaKey key) { @@ -1149,7 +1146,7 @@ index 1903a6948242e2dc40302a0acb9171fc3cc3000e..a9acbb181dd72238b63fb08fda1b3bc0 return; } -@@ -2046,7 +2082,7 @@ class CraftMetaItem implements ItemMeta, Damageable, Repairable, BlockDataMeta { +@@ -2053,7 +2089,7 @@ class CraftMetaItem implements ItemMeta, Damageable, Repairable, BlockDataMeta { // Paper start - improve checking handled tags @org.jetbrains.annotations.VisibleForTesting public static final Map, Set>> HANDLED_DCTS_PER_TYPE = new HashMap<>(); @@ -1158,7 +1155,7 @@ index 1903a6948242e2dc40302a0acb9171fc3cc3000e..a9acbb181dd72238b63fb08fda1b3bc0 CraftMetaItem.NAME.TYPE, CraftMetaItem.ITEM_NAME.TYPE, CraftMetaItem.LORE.TYPE, -@@ -2114,7 +2150,12 @@ class CraftMetaItem implements ItemMeta, Damageable, Repairable, BlockDataMeta { +@@ -2122,7 +2158,12 @@ class CraftMetaItem implements ItemMeta, Damageable, Repairable, BlockDataMeta { // Paper end - improve checking handled data component types protected static Optional getOrEmpty(DataComponentPatch tag, ItemMetaKeyType type) { @@ -1390,6 +1387,306 @@ index 7f9182809f6e67ff571db0f365bc7e05f600775a..01c49df291f721bab3acb788ff2f2787 } @Override +diff --git a/src/main/java/org/bukkit/craftbukkit/inventory/CraftMetaShield.java b/src/main/java/org/bukkit/craftbukkit/inventory/CraftMetaShield.java +index 967d8940aec0065bce496d5d7a8c73de5733bd2c..57a2dc0581d1e59ce201d84ca0c0f7606577bf4c 100644 +--- a/src/main/java/org/bukkit/craftbukkit/inventory/CraftMetaShield.java ++++ b/src/main/java/org/bukkit/craftbukkit/inventory/CraftMetaShield.java +@@ -28,17 +28,29 @@ public class CraftMetaShield extends CraftMetaItem implements ShieldMeta, BlockS + + static final ItemMetaKeyType BASE_COLOR = new ItemMetaKeyType<>(DataComponents.BASE_COLOR, "Base", "base-color"); + +- private Banner banner; ++ // Paper start - general item meta fixes - decoupled base colour and patterns ++ private @org.jetbrains.annotations.Nullable List patterns; ++ private @org.jetbrains.annotations.Nullable DyeColor baseColor; ++ ++ // An empty pattern list is the same as the default on the Shield item, and will hence not be present in the data components of the stack. ++ private boolean hasPatterns() { ++ return this.patterns != null && !this.patterns.isEmpty(); ++ } ++ // Paper end - general item meta fixes - decoupled base colour and patterns + + CraftMetaShield(CraftMetaItem meta) { + super(meta); + + if (meta instanceof CraftMetaShield craftMetaShield) { +- if (craftMetaShield.banner != null) { +- this.banner = (Banner) craftMetaShield.banner.copy(); +- } ++ // Paper start - general item meta fixes - decoupled base colour and patterns ++ if (craftMetaShield.patterns != null) this.patterns = new ArrayList<>(craftMetaShield.getPatterns()); ++ if (craftMetaShield.baseColor != null) this.baseColor = craftMetaShield.baseColor; ++ // Paper end - general item meta fixes - decoupled base colour and patterns + } else if (meta instanceof CraftMetaBlockState state && state.hasBlockState() && state.getBlockState() instanceof Banner banner) { +- this.banner = (Banner) banner.copy(); ++ // Paper start - general item meta fixes - decoupled base colour and patterns ++ this.patterns = banner.getPatterns(); ++ this.baseColor = banner.getBaseColor(); ++ // Paper end - general item meta fixes - decoupled base colour and patterns + } + } + +@@ -46,7 +58,7 @@ public class CraftMetaShield extends CraftMetaItem implements ShieldMeta, BlockS + super(tag, extraHandledDcts); // Paper - improve checking handled tags in item meta + + getOrEmpty(tag, CraftMetaShield.BASE_COLOR).ifPresent((color) -> { +- this.banner = CraftMetaShield.getBlockState(DyeColor.getByWoolData((byte) color.getId())); ++ this.baseColor = DyeColor.getByWoolData((byte) color.getId()); // Paper - general item meta fixes - decoupled base colour and patterns + }); + + getOrEmpty(tag, CraftMetaBanner.PATTERNS).ifPresent((entityTag) -> { +@@ -68,7 +80,7 @@ public class CraftMetaShield extends CraftMetaItem implements ShieldMeta, BlockS + + String baseColor = SerializableMeta.getString(map, CraftMetaShield.BASE_COLOR.BUKKIT, true); + if (baseColor != null) { +- this.banner = CraftMetaShield.getBlockState(DyeColor.valueOf(baseColor)); ++ this.baseColor = DyeColor.valueOf(baseColor); // Paper - general item meta fixes - decoupled base colour and patterns + } + + Iterable rawPatternList = SerializableMeta.getObject(Iterable.class, map, CraftMetaBanner.PATTERNS.BUKKIT, true); +@@ -86,13 +98,14 @@ public class CraftMetaShield extends CraftMetaItem implements ShieldMeta, BlockS + void applyToItem(CraftMetaItem.Applicator tag) { + super.applyToItem(tag); + +- if (this.banner != null) { +- tag.put(CraftMetaShield.BASE_COLOR, net.minecraft.world.item.DyeColor.byId(this.banner.getBaseColor().getWoolData())); +- +- if (this.banner.numberOfPatterns() > 0) { ++ // Paper start - general item meta fixes - decoupled base colour and patterns ++ if (this.baseColor != null) tag.put(CraftMetaShield.BASE_COLOR, net.minecraft.world.item.DyeColor.byId(this.baseColor.getWoolData())); ++ if (this.patterns != null && !this.patterns.isEmpty()) { ++ { ++ // Paper end - general item meta fixes - decoupled base colour and patterns + List newPatterns = new ArrayList<>(); + +- for (Pattern p : this.banner.getPatterns()) { ++ for (Pattern p : this.patterns) { // Paper - general item meta fixes - decoupled base colour and patterns + newPatterns.add(new BannerPatternLayers.Layer(CraftPatternType.bukkitToMinecraftHolder(p.getPattern()), net.minecraft.world.item.DyeColor.byId(p.getColor().getWoolData()))); + } + +@@ -103,108 +116,84 @@ public class CraftMetaShield extends CraftMetaItem implements ShieldMeta, BlockS + + @Override + public List getPatterns() { +- if (this.banner == null) { ++ if (this.patterns == null) { // Paper - general item meta fixes - decoupled base colour and patterns + return new ArrayList<>(); + } + +- return this.banner.getPatterns(); ++ return new ArrayList<>(this.patterns); // Paper - general item meta fixes - decoupled base colour and patterns + } + + @Override + public void setPatterns(List patterns) { +- if (this.banner == null) { +- if (patterns.isEmpty()) { +- return; +- } +- +- this.banner = CraftMetaShield.getBlockState(null); +- } +- +- this.banner.setPatterns(patterns); ++ this.patterns = new ArrayList<>(patterns); // Paper - general item meta fixes - decoupled base colour and patterns + } + + @Override + public void addPattern(Pattern pattern) { +- if (this.banner == null) { +- this.banner = CraftMetaShield.getBlockState(null); +- } +- +- this.banner.addPattern(pattern); ++ // Paper start - general item meta fixes - decoupled base colour and patterns ++ if (this.patterns == null) this.patterns = new ArrayList<>(); ++ this.patterns.add(pattern); ++ // Paper end - general item meta fixes - decoupled base colour and patterns + } + + @Override + public Pattern getPattern(int i) { +- if (this.banner == null) { ++ if (this.patterns == null) { // Paper - general item meta fixes - decoupled base colour and patterns + throw new IndexOutOfBoundsException(i); + } + +- return this.banner.getPattern(i); ++ return this.patterns.get(i); // Paper - general item meta fixes - decoupled base colour and patterns + } + + @Override + public Pattern removePattern(int i) { +- if (this.banner == null) { ++ if (this.patterns == null) { // Paper - general item meta fixes - decoupled base colour and patterns + throw new IndexOutOfBoundsException(i); + } + +- return this.banner.removePattern(i); ++ return this.patterns.remove(i); // Paper - general item meta fixes - decoupled base colour and patterns + } + + @Override + public void setPattern(int i, Pattern pattern) { +- if (this.banner == null) { ++ if (this.patterns == null) { // Paper - general item meta fixes - decoupled base colour and patterns + throw new IndexOutOfBoundsException(i); + } + +- this.banner.setPattern(i, pattern); ++ this.patterns.set(i, pattern); // Paper - general item meta fixes - decoupled base colour and patterns + } + + @Override + public int numberOfPatterns() { +- if (this.banner == null) { ++ if (this.patterns == null) { // Paper - general item meta fixes - decoupled base colour and patterns + return 0; + } + +- return this.banner.numberOfPatterns(); ++ return this.patterns.size(); // Paper - general item meta fixes - decoupled base colour and patterns + } + + @Override + public DyeColor getBaseColor() { +- if (this.banner == null) { +- return null; +- } +- +- return this.banner.getBaseColor(); ++ return this.baseColor; // Paper - general item meta fixes - decoupled base colour and patterns + } + + @Override + public void setBaseColor(DyeColor baseColor) { +- if (baseColor == null) { +- if (this.banner.numberOfPatterns() > 0) { +- this.banner.setBaseColor(DyeColor.WHITE); +- } else { +- this.banner = null; +- } +- } else { +- if (this.banner == null) { +- this.banner = CraftMetaShield.getBlockState(baseColor); +- } +- +- this.banner.setBaseColor(baseColor); +- } ++ this.baseColor = baseColor; // Paper - general item meta fixes - decoupled base colour and patterns + } + + @Override + ImmutableMap.Builder serialize(ImmutableMap.Builder builder) { + super.serialize(builder); + +- if (this.banner != null) { +- builder.put(CraftMetaShield.BASE_COLOR.BUKKIT, this.banner.getBaseColor().toString()); +- +- if (this.banner.numberOfPatterns() > 0) { +- builder.put(CraftMetaBanner.PATTERNS.BUKKIT, this.banner.getPatterns()); +- } ++ // Paper start - general item meta fixes - decoupled base colour and patterns ++ if (this.baseColor != null) { ++ builder.put(CraftMetaShield.BASE_COLOR.BUKKIT, this.baseColor.toString()); ++ } ++ if (hasPatterns()) { ++ builder.put(CraftMetaBanner.PATTERNS.BUKKIT, this.patterns); + } ++ // Paper end - general item meta fixes - decoupled base colour and patterns + + return builder; + } +@@ -213,8 +202,13 @@ public class CraftMetaShield extends CraftMetaItem implements ShieldMeta, BlockS + int applyHash() { + final int original; + int hash = original = super.applyHash(); +- if (this.banner != null) { +- hash = 61 * hash + this.banner.hashCode(); ++ // Paper start - general item meta fixes - decoupled base colour and patterns ++ if (this.baseColor != null) { ++ hash = 61 * hash + this.baseColor.hashCode(); ++ } ++ if (hasPatterns()) { ++ hash = 61 * hash + this.patterns.hashCode(); ++ // Paper end - general item meta fixes - decoupled base colour and patterns + } + return original != hash ? CraftMetaShield.class.hashCode() ^ hash : hash; + } +@@ -225,29 +219,33 @@ public class CraftMetaShield extends CraftMetaItem implements ShieldMeta, BlockS + return false; + } + if (meta instanceof CraftMetaShield that) { +- return Objects.equal(this.banner, that.banner); ++ return Objects.equal(this.baseColor, that.baseColor) && Objects.equal(this.hasPatterns(), that.hasPatterns()); // Paper - general item meta fixes - decoupled base colour and patterns + } + return true; + } + + @Override + boolean notUncommon(CraftMetaItem meta) { +- return super.notUncommon(meta) && (meta instanceof CraftMetaShield || this.banner == null); ++ return super.notUncommon(meta) && (meta instanceof CraftMetaShield || (this.baseColor == null && !hasPatterns())); // Paper - general item meta fixes - decoupled base colour and patterns + } + + @Override + boolean isEmpty() { +- return super.isEmpty() && this.banner == null; ++ return super.isEmpty() && this.baseColor == null && !hasPatterns(); // Paper - general item meta fixes - decoupled base colour and patterns + } + + @Override + public boolean hasBlockState() { +- return this.banner != null; ++ return this.baseColor != null || hasPatterns(); // Paper - general item meta fixes - decoupled base colour and patterns + } + + @Override + public BlockState getBlockState() { +- return (this.banner != null) ? this.banner.copy() : CraftMetaShield.getBlockState(null); ++ // Paper start - general item meta fixes - decoupled base colour and patterns ++ final Banner banner = CraftMetaShield.getBlockState(this.baseColor); ++ if (this.patterns != null) banner.setPatterns(this.patterns); ++ return banner; ++ // Paper end - general item meta fixes - decoupled base colour and patterns + } + + @Override +@@ -255,13 +253,18 @@ public class CraftMetaShield extends CraftMetaItem implements ShieldMeta, BlockS + Preconditions.checkArgument(blockState != null, "blockState must not be null"); + Preconditions.checkArgument(blockState instanceof Banner, "Invalid blockState"); + +- this.banner = (Banner) blockState; ++ // Paper start - general item meta fixes - decoupled base colour and patterns ++ final Banner banner = (Banner) blockState; ++ this.baseColor = banner.getBaseColor(); ++ this.patterns = banner.getPatterns(); ++ // Paper end - general item meta fixes - decoupled base colour and patterns + } + + // Paper start - add method to clear block state + @Override + public void clearBlockState() { +- this.banner = null; ++ this.baseColor = null; ++ this.patterns = null; + } + // Paper end - add method to clear block state + +@@ -275,9 +278,10 @@ public class CraftMetaShield extends CraftMetaItem implements ShieldMeta, BlockS + @Override + public CraftMetaShield clone() { + CraftMetaShield meta = (CraftMetaShield) super.clone(); +- if (this.banner != null) { +- meta.banner = (Banner) this.banner.copy(); +- } ++ // Paper start - general item meta fixes - decoupled base colour and patterns ++ meta.baseColor = this.baseColor; ++ meta.patterns = this.patterns == null ? null : new ArrayList<>(this.patterns); ++ // Paper start - general item meta fixes - decoupled base colour and patterns + return meta; + } + diff --git a/src/main/java/org/bukkit/craftbukkit/inventory/CraftMetaSkull.java b/src/main/java/org/bukkit/craftbukkit/inventory/CraftMetaSkull.java index ab860f1179fa2618c8fbc30ac5f48ff78b8abb60..7de2ed297d0b2bf8adf2058e75a9b594ec2197bd 100644 --- a/src/main/java/org/bukkit/craftbukkit/inventory/CraftMetaSkull.java @@ -1458,10 +1755,10 @@ index 17705059b81942e4df43a4a5180092e09c985ade..80e6b85a107d5236edba99540cb5074e } diff --git a/src/main/java/org/bukkit/craftbukkit/inventory/SerializableMeta.java b/src/main/java/org/bukkit/craftbukkit/inventory/SerializableMeta.java -index b7e93a6ec72ec3e3390fefa52fda0c2cd8e17c0c..758778650bebf7b96eefab42543e812849124b2f 100644 +index e00b757d6059715e8697428008fcb3e6e7abbe2e..dcf02bd0f7f4c67f5ab98003cc932b960704eef1 100644 --- a/src/main/java/org/bukkit/craftbukkit/inventory/SerializableMeta.java +++ b/src/main/java/org/bukkit/craftbukkit/inventory/SerializableMeta.java -@@ -128,4 +128,21 @@ public final class SerializableMeta implements ConfigurationSerializable { +@@ -136,4 +136,21 @@ public final class SerializableMeta implements ConfigurationSerializable { } throw new IllegalArgumentException(field + "(" + object + ") is not a valid " + clazz); } @@ -1484,10 +1781,10 @@ index b7e93a6ec72ec3e3390fefa52fda0c2cd8e17c0c..758778650bebf7b96eefab42543e8128 + // Paper end - General ItemMeta Fixes } diff --git a/src/main/java/org/bukkit/craftbukkit/inventory/components/CraftFoodComponent.java b/src/main/java/org/bukkit/craftbukkit/inventory/components/CraftFoodComponent.java -index 63fc9138dc3388ceb9acf672b3f75ba0976e8e54..5986aa3588487c2caef4c895f8883e38a674b61c 100644 +index 92cad73219e11dc5922630769f9dd3a329ea6da1..bde61de7eda72b2e24ddef56ff93a0b46c08670c 100644 --- a/src/main/java/org/bukkit/craftbukkit/inventory/components/CraftFoodComponent.java +++ b/src/main/java/org/bukkit/craftbukkit/inventory/components/CraftFoodComponent.java -@@ -109,6 +109,7 @@ public final class CraftFoodComponent implements FoodComponent { +@@ -114,6 +114,7 @@ public final class CraftFoodComponent implements FoodComponent { @Override public void setEatSeconds(float eatSeconds) { @@ -1495,7 +1792,7 @@ index 63fc9138dc3388ceb9acf672b3f75ba0976e8e54..5986aa3588487c2caef4c895f8883e38 this.handle = new FoodProperties(this.handle.nutrition(), this.handle.saturation(), this.handle.canAlwaysEat(), eatSeconds, this.handle.usingConvertsTo(), this.handle.effects()); } -@@ -119,6 +120,7 @@ public final class CraftFoodComponent implements FoodComponent { +@@ -124,6 +125,7 @@ public final class CraftFoodComponent implements FoodComponent { @Override public void setUsingConvertsTo(ItemStack item) { @@ -1503,7 +1800,7 @@ index 63fc9138dc3388ceb9acf672b3f75ba0976e8e54..5986aa3588487c2caef4c895f8883e38 this.handle = new FoodProperties(this.handle.nutrition(), this.handle.saturation(), this.handle.canAlwaysEat(), this.handle.eatSeconds(), Optional.ofNullable(item).map(CraftItemStack::asNMSCopy), this.handle.effects()); } -@@ -134,6 +136,7 @@ public final class CraftFoodComponent implements FoodComponent { +@@ -139,6 +141,7 @@ public final class CraftFoodComponent implements FoodComponent { @Override public FoodEffect addEffect(PotionEffect effect, float probability) { @@ -1561,7 +1858,7 @@ index 6bed0a5c8d9f1ca72678cdf4699128e441a24541..8e03e14d0e65bfdf2196a08220d1408b assertEquals(itemMeta, new CraftMetaItem(compound.build(), null)); // Paper diff --git a/src/test/java/org/bukkit/craftbukkit/inventory/ItemMetaTest.java b/src/test/java/org/bukkit/craftbukkit/inventory/ItemMetaTest.java -index d6018439015583fa0344c7c01b2e60a13de29795..aabe3730fa582f442ee0544dd1a9f3123f719c68 100644 +index b6da1c2902139d4c7b01ac7b3407d4f6ac3990e2..1a582ee78334835df79f93cc9fd3669c347d8b3a 100644 --- a/src/test/java/org/bukkit/craftbukkit/inventory/ItemMetaTest.java +++ b/src/test/java/org/bukkit/craftbukkit/inventory/ItemMetaTest.java @@ -66,7 +66,7 @@ import org.junit.jupiter.api.Test; diff --git a/patches/server/0968-Expose-hasColor-to-leather-armor.patch b/patches/server/0967-Expose-hasColor-to-leather-armor.patch similarity index 100% rename from patches/server/0968-Expose-hasColor-to-leather-armor.patch rename to patches/server/0967-Expose-hasColor-to-leather-armor.patch diff --git a/patches/server/0969-Added-API-to-get-player-ha-proxy-address.patch b/patches/server/0968-Added-API-to-get-player-ha-proxy-address.patch similarity index 97% rename from patches/server/0969-Added-API-to-get-player-ha-proxy-address.patch rename to patches/server/0968-Added-API-to-get-player-ha-proxy-address.patch index 305f6bd981..3b19743dfc 100644 --- a/patches/server/0969-Added-API-to-get-player-ha-proxy-address.patch +++ b/patches/server/0968-Added-API-to-get-player-ha-proxy-address.patch @@ -35,7 +35,7 @@ index 96355e1da8feb6687ea0069dda4a82fcd7e25e8a..1f696644b958538e9f5d568a2e4bba69 } else { super.channelRead(ctx, msg); diff --git a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java -index 94524dee7e3ff78d378bd7812c49d041d07e138d..65a6952d48f40f3fd73d6693b61be9d29741f2f6 100644 +index 29c5855b9d31e803eb856584b92dfd35f6fad39a..12010a078542b7e89f0f4c0e7983eb15e75c4f1f 100644 --- a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java +++ b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java @@ -265,7 +265,7 @@ public class CraftPlayer extends CraftHumanEntity implements Player { diff --git a/patches/server/0970-More-Chest-Block-API.patch b/patches/server/0969-More-Chest-Block-API.patch similarity index 100% rename from patches/server/0970-More-Chest-Block-API.patch rename to patches/server/0969-More-Chest-Block-API.patch diff --git a/patches/server/0971-Print-data-component-type-on-encoding-error.patch b/patches/server/0970-Print-data-component-type-on-encoding-error.patch similarity index 100% rename from patches/server/0971-Print-data-component-type-on-encoding-error.patch rename to patches/server/0970-Print-data-component-type-on-encoding-error.patch diff --git a/patches/server/0972-Brigadier-based-command-API.patch b/patches/server/0971-Brigadier-based-command-API.patch similarity index 100% rename from patches/server/0972-Brigadier-based-command-API.patch rename to patches/server/0971-Brigadier-based-command-API.patch diff --git a/patches/server/0973-Fix-issues-with-Recipe-API.patch b/patches/server/0972-Fix-issues-with-Recipe-API.patch similarity index 100% rename from patches/server/0973-Fix-issues-with-Recipe-API.patch rename to patches/server/0972-Fix-issues-with-Recipe-API.patch diff --git a/patches/server/0974-Fix-equipment-slot-and-group-API.patch b/patches/server/0973-Fix-equipment-slot-and-group-API.patch similarity index 96% rename from patches/server/0974-Fix-equipment-slot-and-group-API.patch rename to patches/server/0973-Fix-equipment-slot-and-group-API.patch index 05b6eafa06..a843a57c9f 100644 --- a/patches/server/0974-Fix-equipment-slot-and-group-API.patch +++ b/patches/server/0973-Fix-equipment-slot-and-group-API.patch @@ -52,10 +52,10 @@ index 9d74577af071954e1e37201a96368c1360076209..eafa54c870c3e2aef30c3f9f96f51660 throw new IllegalArgumentException("Not implemented. This is a bug"); } diff --git a/src/main/java/org/bukkit/craftbukkit/inventory/CraftMetaItem.java b/src/main/java/org/bukkit/craftbukkit/inventory/CraftMetaItem.java -index a9acbb181dd72238b63fb08fda1b3bc0d246e36e..d87bfdda1f06a94e97465c105d28989e1d64e1e0 100644 +index 18d2531bade0bdd3da7116679b38a687c2f664ca..5a3162740b572f55431fbe3d9d41c5cb38ad338d 100644 --- a/src/main/java/org/bukkit/craftbukkit/inventory/CraftMetaItem.java +++ b/src/main/java/org/bukkit/craftbukkit/inventory/CraftMetaItem.java -@@ -1441,7 +1441,7 @@ class CraftMetaItem implements ItemMeta, Damageable, Repairable, BlockDataMeta { +@@ -1448,7 +1448,7 @@ class CraftMetaItem implements ItemMeta, Damageable, Repairable, BlockDataMeta { if (this.attributeModifiers == null) return LinkedHashMultimap.create(); // Paper - don't change the components SetMultimap result = LinkedHashMultimap.create(); for (Map.Entry entry : this.attributeModifiers.entries()) { @@ -64,7 +64,7 @@ index a9acbb181dd72238b63fb08fda1b3bc0d246e36e..d87bfdda1f06a94e97465c105d28989e result.put(entry.getKey(), entry.getValue()); } } -@@ -1515,9 +1515,7 @@ class CraftMetaItem implements ItemMeta, Damageable, Repairable, BlockDataMeta { +@@ -1522,9 +1522,7 @@ class CraftMetaItem implements ItemMeta, Damageable, Repairable, BlockDataMeta { while (iter.hasNext()) { Map.Entry entry = iter.next(); diff --git a/patches/server/0975-Allow-Bukkit-plugin-to-use-Paper-PluginLoader-API.patch b/patches/server/0974-Allow-Bukkit-plugin-to-use-Paper-PluginLoader-API.patch similarity index 97% rename from patches/server/0975-Allow-Bukkit-plugin-to-use-Paper-PluginLoader-API.patch rename to patches/server/0974-Allow-Bukkit-plugin-to-use-Paper-PluginLoader-API.patch index 980c3dc8a0..8b39d13b43 100644 --- a/patches/server/0975-Allow-Bukkit-plugin-to-use-Paper-PluginLoader-API.patch +++ b/patches/server/0974-Allow-Bukkit-plugin-to-use-Paper-PluginLoader-API.patch @@ -5,7 +5,7 @@ Subject: [PATCH] Allow Bukkit plugin to use Paper PluginLoader API diff --git a/src/main/java/io/papermc/paper/plugin/loader/PaperClasspathBuilder.java b/src/main/java/io/papermc/paper/plugin/loader/PaperClasspathBuilder.java -index f9d4b33050a6fe8c2dabe8e5eec075d95dc513e0..dc106685ecb483c33c06e4f83eda27be58251aad 100644 +index f871a329eb52da077f58d0ceaaabd3349f84cad0..21a0a4e29c0eb1b4f7dc89ad3df481ca89dbf1a4 100644 --- a/src/main/java/io/papermc/paper/plugin/loader/PaperClasspathBuilder.java +++ b/src/main/java/io/papermc/paper/plugin/loader/PaperClasspathBuilder.java @@ -41,15 +41,7 @@ public class PaperClasspathBuilder implements PluginClasspathBuilder { @@ -76,7 +76,7 @@ index 75a2b687d58d76b94f8bec111df8613f120ff74b..0fd1040ed376f19c6d5326767baaf304 throw ex; } catch (Throwable ex) { diff --git a/src/main/java/io/papermc/paper/plugin/provider/type/spigot/SpigotPluginProviderFactory.java b/src/main/java/io/papermc/paper/plugin/provider/type/spigot/SpigotPluginProviderFactory.java -index fdb52ad85cfaa1d53aadcad72cec3d3c8c12c058..38075b7348ad7ca3cfece2bfae63e0cce827c694 100644 +index 1bf0fa1530b8e5f94d726d0313b7a00f675b500c..9edf79dffd2836b40d41da4437c18d6145853f89 100644 --- a/src/main/java/io/papermc/paper/plugin/provider/type/spigot/SpigotPluginProviderFactory.java +++ b/src/main/java/io/papermc/paper/plugin/provider/type/spigot/SpigotPluginProviderFactory.java @@ -1,9 +1,18 @@ diff --git a/patches/server/0976-Prevent-sending-oversized-item-data-in-equipment-and.patch b/patches/server/0975-Prevent-sending-oversized-item-data-in-equipment-and.patch similarity index 100% rename from patches/server/0976-Prevent-sending-oversized-item-data-in-equipment-and.patch rename to patches/server/0975-Prevent-sending-oversized-item-data-in-equipment-and.patch diff --git a/patches/server/0977-Prevent-NPE-if-hooked-entity-was-cleared.patch b/patches/server/0976-Prevent-NPE-if-hooked-entity-was-cleared.patch similarity index 100% rename from patches/server/0977-Prevent-NPE-if-hooked-entity-was-cleared.patch rename to patches/server/0976-Prevent-NPE-if-hooked-entity-was-cleared.patch diff --git a/patches/server/0978-Fix-cancelling-BlockPlaceEvent-calling-onRemove.patch b/patches/server/0977-Fix-cancelling-BlockPlaceEvent-calling-onRemove.patch similarity index 94% rename from patches/server/0978-Fix-cancelling-BlockPlaceEvent-calling-onRemove.patch rename to patches/server/0977-Fix-cancelling-BlockPlaceEvent-calling-onRemove.patch index 8af7943ca8..42e5eac389 100644 --- a/patches/server/0978-Fix-cancelling-BlockPlaceEvent-calling-onRemove.patch +++ b/patches/server/0977-Fix-cancelling-BlockPlaceEvent-calling-onRemove.patch @@ -5,7 +5,7 @@ Subject: [PATCH] Fix cancelling BlockPlaceEvent calling onRemove diff --git a/src/main/java/net/minecraft/world/item/ItemStack.java b/src/main/java/net/minecraft/world/item/ItemStack.java -index 8309d2f7872ccdbc9d76f0fbf481411f74080148..de32bf4947af8d2ec64e8799580a129b038dd35e 100644 +index f9a4bebb321207abb00b1af1c17ebda623cc950e..bb28e35c0d53fcc0145518123795d54ff59514a8 100644 --- a/src/main/java/net/minecraft/world/item/ItemStack.java +++ b/src/main/java/net/minecraft/world/item/ItemStack.java @@ -494,9 +494,11 @@ public final class ItemStack implements DataComponentHolder { @@ -21,7 +21,7 @@ index 8309d2f7872ccdbc9d76f0fbf481411f74080148..de32bf4947af8d2ec64e8799580a129b // Brute force all possible updates diff --git a/src/main/java/net/minecraft/world/level/Level.java b/src/main/java/net/minecraft/world/level/Level.java -index c6c9400fa155831ab11d0f059971d0123617e622..e27d3547d1e19c137e05e6b8d075127a8bafb237 100644 +index a2877f3eb206ab9ccb93e3606f1c9b3401def5d6..e5abde76c354c3dd9940dd4e5ae3fe8b6a2b4680 100644 --- a/src/main/java/net/minecraft/world/level/Level.java +++ b/src/main/java/net/minecraft/world/level/Level.java @@ -151,6 +151,7 @@ public abstract class Level implements LevelAccessor, AutoCloseable { diff --git a/patches/server/0979-Add-missing-fishing-event-state.patch b/patches/server/0978-Add-missing-fishing-event-state.patch similarity index 100% rename from patches/server/0979-Add-missing-fishing-event-state.patch rename to patches/server/0978-Add-missing-fishing-event-state.patch diff --git a/patches/server/0980-Deprecate-InvAction-HOTBAR_MOVE_AND_READD.patch b/patches/server/0979-Deprecate-InvAction-HOTBAR_MOVE_AND_READD.patch similarity index 100% rename from patches/server/0980-Deprecate-InvAction-HOTBAR_MOVE_AND_READD.patch rename to patches/server/0979-Deprecate-InvAction-HOTBAR_MOVE_AND_READD.patch diff --git a/patches/server/0981-Fix-sending-disconnect-packet-in-phases-where-it-doe.patch b/patches/server/0980-Fix-sending-disconnect-packet-in-phases-where-it-doe.patch similarity index 100% rename from patches/server/0981-Fix-sending-disconnect-packet-in-phases-where-it-doe.patch rename to patches/server/0980-Fix-sending-disconnect-packet-in-phases-where-it-doe.patch diff --git a/patches/server/0982-Adopt-MaterialRerouting.patch b/patches/server/0981-Adopt-MaterialRerouting.patch similarity index 100% rename from patches/server/0982-Adopt-MaterialRerouting.patch rename to patches/server/0981-Adopt-MaterialRerouting.patch diff --git a/patches/server/0983-Suspicious-Effect-Entry-API.patch b/patches/server/0982-Suspicious-Effect-Entry-API.patch similarity index 100% rename from patches/server/0983-Suspicious-Effect-Entry-API.patch rename to patches/server/0982-Suspicious-Effect-Entry-API.patch diff --git a/patches/server/0984-check-if-itemstack-is-stackable-first.patch b/patches/server/0983-check-if-itemstack-is-stackable-first.patch similarity index 100% rename from patches/server/0984-check-if-itemstack-is-stackable-first.patch rename to patches/server/0983-check-if-itemstack-is-stackable-first.patch diff --git a/patches/server/0985-Fix-removing-recipes-from-RecipeIterator.patch b/patches/server/0984-Fix-removing-recipes-from-RecipeIterator.patch similarity index 100% rename from patches/server/0985-Fix-removing-recipes-from-RecipeIterator.patch rename to patches/server/0984-Fix-removing-recipes-from-RecipeIterator.patch diff --git a/patches/server/0986-Configurable-damage-tick-when-blocking-with-shield.patch b/patches/server/0985-Configurable-damage-tick-when-blocking-with-shield.patch similarity index 100% rename from patches/server/0986-Configurable-damage-tick-when-blocking-with-shield.patch rename to patches/server/0985-Configurable-damage-tick-when-blocking-with-shield.patch diff --git a/patches/server/0987-Properly-remove-the-experimental-smithing-inventory-.patch b/patches/server/0986-Properly-remove-the-experimental-smithing-inventory-.patch similarity index 100% rename from patches/server/0987-Properly-remove-the-experimental-smithing-inventory-.patch rename to patches/server/0986-Properly-remove-the-experimental-smithing-inventory-.patch diff --git a/patches/server/0988-Moonrise-optimisation-patches.patch b/patches/server/0987-Moonrise-optimisation-patches.patch similarity index 99% rename from patches/server/0988-Moonrise-optimisation-patches.patch rename to patches/server/0987-Moonrise-optimisation-patches.patch index 8e70453dec..f027d72f2c 100644 --- a/patches/server/0988-Moonrise-optimisation-patches.patch +++ b/patches/server/0987-Moonrise-optimisation-patches.patch @@ -28981,10 +28981,10 @@ index d775ab8b0d37797f29e650842191d40691fb7afc..a7108b2be0746aa1f0e574d8c6f5ffad public void animateTick(BlockState state, Level world, BlockPos pos, 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 fe7dc02ea55c2bcd39d12bfd4d315f0b8c7014c3..ded6d148110fe3fbb6272ce44582a28472dd49a6 100644 +index f2036917c5ba9f536087d7ee559704055469730e..d0109633e8bdf109cfc9178963d7b6cf92f8b189 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 -@@ -762,7 +762,7 @@ public abstract class BlockBehaviour implements FeatureElement { +@@ -763,7 +763,7 @@ public abstract class BlockBehaviour implements FeatureElement { boolean test(BlockState state, BlockGetter world, BlockPos pos); } @@ -28993,7 +28993,7 @@ index fe7dc02ea55c2bcd39d12bfd4d315f0b8c7014c3..ded6d148110fe3fbb6272ce44582a284 private final int lightEmission; private final boolean useShapeForLightOcclusion; -@@ -794,6 +794,76 @@ public abstract class BlockBehaviour implements FeatureElement { +@@ -795,6 +795,76 @@ public abstract class BlockBehaviour implements FeatureElement { private FluidState fluidState; private boolean isRandomlyTicking; @@ -29070,7 +29070,7 @@ index fe7dc02ea55c2bcd39d12bfd4d315f0b8c7014c3..ded6d148110fe3fbb6272ce44582a284 protected BlockStateBase(Block block, Reference2ObjectArrayMap, Comparable> propertyMap, MapCodec codec) { super(block, propertyMap, codec); this.fluidState = Fluids.EMPTY.defaultFluidState(); -@@ -858,6 +928,43 @@ public abstract class BlockBehaviour implements FeatureElement { +@@ -859,6 +929,43 @@ public abstract class BlockBehaviour implements FeatureElement { this.shapeExceedsCube = this.cache == null || this.cache.largeCollisionShape; // Paper - moved from actual method to here this.legacySolid = this.calculateSolid(); diff --git a/patches/server/0989-Rewrite-dataconverter-system.patch b/patches/server/0988-Rewrite-dataconverter-system.patch similarity index 100% rename from patches/server/0989-Rewrite-dataconverter-system.patch rename to patches/server/0988-Rewrite-dataconverter-system.patch diff --git a/patches/server/0990-disable-forced-empty-world-ticks.patch b/patches/server/0989-disable-forced-empty-world-ticks.patch similarity index 100% rename from patches/server/0990-disable-forced-empty-world-ticks.patch rename to patches/server/0989-disable-forced-empty-world-ticks.patch diff --git a/patches/server/0991-Optimize-isInWorldBounds-and-getBlockState-for-inlin.patch b/patches/server/0990-Optimize-isInWorldBounds-and-getBlockState-for-inlin.patch similarity index 98% rename from patches/server/0991-Optimize-isInWorldBounds-and-getBlockState-for-inlin.patch rename to patches/server/0990-Optimize-isInWorldBounds-and-getBlockState-for-inlin.patch index ed5debe49c..3046e40be7 100644 --- a/patches/server/0991-Optimize-isInWorldBounds-and-getBlockState-for-inlin.patch +++ b/patches/server/0990-Optimize-isInWorldBounds-and-getBlockState-for-inlin.patch @@ -29,7 +29,7 @@ index 02367ef1371dde94ff6c4cd40bd32e800d6ccaaf..7b0fc7135bc107103dcaed6dc0707b18 this.x = x; this.y = y; diff --git a/src/main/java/net/minecraft/world/level/Level.java b/src/main/java/net/minecraft/world/level/Level.java -index a016fb2140d6a43172c3fbc623b23f6d57798d9e..5b893b93a3495b13ae266fb8054d0a454cf02660 100644 +index 347334130e99dbf938d570bd36440a96f92d475a..c69ed3e899fc8d48afeb731bb3b2d97b5969e6e3 100644 --- a/src/main/java/net/minecraft/world/level/Level.java +++ b/src/main/java/net/minecraft/world/level/Level.java @@ -824,7 +824,7 @@ public abstract class Level implements LevelAccessor, AutoCloseable, ca.spottedl diff --git a/patches/server/0992-Improve-Maps-in-item-frames-performance-and-bug-fixe.patch b/patches/server/0991-Improve-Maps-in-item-frames-performance-and-bug-fixe.patch similarity index 100% rename from patches/server/0992-Improve-Maps-in-item-frames-performance-and-bug-fixe.patch rename to patches/server/0991-Improve-Maps-in-item-frames-performance-and-bug-fixe.patch diff --git a/patches/server/0993-Strip-raytracing-for-EntityLiving-hasLineOfSight.patch b/patches/server/0992-Strip-raytracing-for-EntityLiving-hasLineOfSight.patch similarity index 98% rename from patches/server/0993-Strip-raytracing-for-EntityLiving-hasLineOfSight.patch rename to patches/server/0992-Strip-raytracing-for-EntityLiving-hasLineOfSight.patch index 23a10511a6..38ce2a6066 100644 --- a/patches/server/0993-Strip-raytracing-for-EntityLiving-hasLineOfSight.patch +++ b/patches/server/0992-Strip-raytracing-for-EntityLiving-hasLineOfSight.patch @@ -62,7 +62,7 @@ index bb8e962e63c7a2d931f9bd7f7c002aa35cfa5fd3..0fa131a6c98adb498fc8d534e0e39647 default BlockHitResult clip(ClipContext raytrace1, BlockPos blockposition) { // Paper start - Add predicate for blocks when raytracing diff --git a/src/main/java/net/minecraft/world/level/Level.java b/src/main/java/net/minecraft/world/level/Level.java -index 5b893b93a3495b13ae266fb8054d0a454cf02660..77b7c252d27f527d9b51e8419abe7af1d4b51d29 100644 +index c69ed3e899fc8d48afeb731bb3b2d97b5969e6e3..574175449af5b767f28e95ff8708ed37fedf4c7d 100644 --- a/src/main/java/net/minecraft/world/level/Level.java +++ b/src/main/java/net/minecraft/world/level/Level.java @@ -816,10 +816,87 @@ public abstract class Level implements LevelAccessor, AutoCloseable, ca.spottedl diff --git a/patches/server/0994-Optimize-Network-Manager-and-add-advanced-packet-sup.patch b/patches/server/0993-Optimize-Network-Manager-and-add-advanced-packet-sup.patch similarity index 100% rename from patches/server/0994-Optimize-Network-Manager-and-add-advanced-packet-sup.patch rename to patches/server/0993-Optimize-Network-Manager-and-add-advanced-packet-sup.patch diff --git a/patches/server/0995-Allow-Saving-of-Oversized-Chunks.patch b/patches/server/0994-Allow-Saving-of-Oversized-Chunks.patch similarity index 100% rename from patches/server/0995-Allow-Saving-of-Oversized-Chunks.patch rename to patches/server/0994-Allow-Saving-of-Oversized-Chunks.patch diff --git a/patches/server/0996-Flat-bedrock-generator-settings.patch b/patches/server/0995-Flat-bedrock-generator-settings.patch similarity index 100% rename from patches/server/0996-Flat-bedrock-generator-settings.patch rename to patches/server/0995-Flat-bedrock-generator-settings.patch diff --git a/patches/server/0997-Entity-Activation-Range-2.0.patch b/patches/server/0996-Entity-Activation-Range-2.0.patch similarity index 100% rename from patches/server/0997-Entity-Activation-Range-2.0.patch rename to patches/server/0996-Entity-Activation-Range-2.0.patch diff --git a/patches/server/0998-Optional-per-player-mob-spawns.patch b/patches/server/0997-Optional-per-player-mob-spawns.patch similarity index 100% rename from patches/server/0998-Optional-per-player-mob-spawns.patch rename to patches/server/0997-Optional-per-player-mob-spawns.patch diff --git a/patches/server/0999-Anti-Xray.patch b/patches/server/0998-Anti-Xray.patch similarity index 100% rename from patches/server/0999-Anti-Xray.patch rename to patches/server/0998-Anti-Xray.patch diff --git a/patches/server/1000-Eigencraft-redstone-implementation.patch b/patches/server/0999-Eigencraft-redstone-implementation.patch similarity index 100% rename from patches/server/1000-Eigencraft-redstone-implementation.patch rename to patches/server/0999-Eigencraft-redstone-implementation.patch diff --git a/patches/server/1001-Add-Alternate-Current-redstone-implementation.patch b/patches/server/1000-Add-Alternate-Current-redstone-implementation.patch similarity index 100% rename from patches/server/1001-Add-Alternate-Current-redstone-implementation.patch rename to patches/server/1000-Add-Alternate-Current-redstone-implementation.patch diff --git a/patches/server/1002-Improve-cancelling-PreCreatureSpawnEvent-with-per-pl.patch b/patches/server/1001-Improve-cancelling-PreCreatureSpawnEvent-with-per-pl.patch similarity index 100% rename from patches/server/1002-Improve-cancelling-PreCreatureSpawnEvent-with-per-pl.patch rename to patches/server/1001-Improve-cancelling-PreCreatureSpawnEvent-with-per-pl.patch diff --git a/patches/server/1003-Use-Velocity-compression-and-cipher-natives.patch b/patches/server/1002-Use-Velocity-compression-and-cipher-natives.patch similarity index 100% rename from patches/server/1003-Use-Velocity-compression-and-cipher-natives.patch rename to patches/server/1002-Use-Velocity-compression-and-cipher-natives.patch diff --git a/patches/server/1004-Optimize-Collision-to-not-load-chunks.patch b/patches/server/1003-Optimize-Collision-to-not-load-chunks.patch similarity index 100% rename from patches/server/1004-Optimize-Collision-to-not-load-chunks.patch rename to patches/server/1003-Optimize-Collision-to-not-load-chunks.patch diff --git a/patches/server/1005-Optimize-GoalSelector-Goal.Flag-Set-operations.patch b/patches/server/1004-Optimize-GoalSelector-Goal.Flag-Set-operations.patch similarity index 100% rename from patches/server/1005-Optimize-GoalSelector-Goal.Flag-Set-operations.patch rename to patches/server/1004-Optimize-GoalSelector-Goal.Flag-Set-operations.patch diff --git a/patches/server/1006-Optimize-Hoppers.patch b/patches/server/1005-Optimize-Hoppers.patch similarity index 94% rename from patches/server/1006-Optimize-Hoppers.patch rename to patches/server/1005-Optimize-Hoppers.patch index dc55a79c71..4d6c370ff4 100644 --- a/patches/server/1006-Optimize-Hoppers.patch +++ b/patches/server/1005-Optimize-Hoppers.patch @@ -62,7 +62,7 @@ index 4a4ce372dd105d07f58d7d93d856cb3969969806..fb3dcce4e1888f96fdd260740d9d9559 this.profiler.push(() -> { String s = String.valueOf(worldserver); diff --git a/src/main/java/net/minecraft/world/item/ItemStack.java b/src/main/java/net/minecraft/world/item/ItemStack.java -index de32bf4947af8d2ec64e8799580a129b038dd35e..0f2b3c5ca88478a541bf9e61ae61cc99a7d08836 100644 +index bb28e35c0d53fcc0145518123795d54ff59514a8..3254124180df02d787202f4b00a4c52d40c6e7cf 100644 --- a/src/main/java/net/minecraft/world/item/ItemStack.java +++ b/src/main/java/net/minecraft/world/item/ItemStack.java @@ -809,10 +809,16 @@ public final class ItemStack implements DataComponentHolder { @@ -105,7 +105,7 @@ index cd3b952a228c09077c2e74183a34ddb32811280b..c0563260277f9f4bd9ff08993b2efb4b } diff --git a/src/main/java/net/minecraft/world/level/block/entity/HopperBlockEntity.java b/src/main/java/net/minecraft/world/level/block/entity/HopperBlockEntity.java -index 0d6132abd49d66fbf84c046e09144cb33651be15..53f9d28bf3c6aafd4fdd6c12e0285500fe7350ce 100644 +index 542a5501ac94f57810d34e0f769a9a7855604f91..cab403efd471bb61835224eea4e99570d34dcaaa 100644 --- a/src/main/java/net/minecraft/world/level/block/entity/HopperBlockEntity.java +++ b/src/main/java/net/minecraft/world/level/block/entity/HopperBlockEntity.java @@ -156,6 +156,43 @@ public class HopperBlockEntity extends RandomizableContainerBlockEntity implemen @@ -370,7 +370,7 @@ index 0d6132abd49d66fbf84c046e09144cb33651be15..53f9d28bf3c6aafd4fdd6c12e0285500 private static boolean ejectItems(Level world, BlockPos pos, HopperBlockEntity blockEntity) { Container iinventory = HopperBlockEntity.getAttachedContainer(world, pos, blockEntity); -@@ -209,48 +443,51 @@ public class HopperBlockEntity extends RandomizableContainerBlockEntity implemen +@@ -209,52 +443,55 @@ public class HopperBlockEntity extends RandomizableContainerBlockEntity implemen if (HopperBlockEntity.isFullContainer(iinventory, enumdirection)) { return false; } else { @@ -400,6 +400,7 @@ index 0d6132abd49d66fbf84c046e09144cb33651be15..53f9d28bf3c6aafd4fdd6c12e0285500 - blockEntity.setCooldown(world.spigotConfig.hopperTransfer); // Delay hopper checks // Spigot - return false; - } +- int origCount = event.getItem().getAmount(); // Spigot - ItemStack itemstack1 = HopperBlockEntity.addItem(blockEntity, iinventory, CraftItemStack.asNMSCopy(event.getItem()), enumdirection); - // CraftBukkit end - @@ -409,7 +410,10 @@ index 0d6132abd49d66fbf84c046e09144cb33651be15..53f9d28bf3c6aafd4fdd6c12e0285500 - } - - itemstack.setCount(j); -- if (j == 1) { +- // Spigot start +- itemstack.shrink(origCount - itemstack1.getCount()); +- if (j <= world.spigotConfig.hopperAmount) { +- // Spigot end - blockEntity.setItem(i, itemstack); - } - } @@ -444,6 +448,7 @@ index 0d6132abd49d66fbf84c046e09144cb33651be15..53f9d28bf3c6aafd4fdd6c12e0285500 + // blockEntity.setCooldown(world.spigotConfig.hopperTransfer); // Delay hopper checks // Spigot + // return false; + // } ++ // int origCount = event.getItem().getAmount(); // Spigot + // ItemStack itemstack1 = HopperBlockEntity.addItem(blockEntity, iinventory, CraftItemStack.asNMSCopy(event.getItem()), enumdirection); + // // CraftBukkit end + @@ -453,7 +458,10 @@ index 0d6132abd49d66fbf84c046e09144cb33651be15..53f9d28bf3c6aafd4fdd6c12e0285500 + // } + + // itemstack.setCount(j); -+ // if (j == 1) { ++ // // Spigot start ++ // itemstack.shrink(origCount - itemstack1.getCount()); ++ // if (j <= world.spigotConfig.hopperAmount) { ++ // // Spigot end + // blockEntity.setItem(i, itemstack); + // } + // } @@ -464,7 +472,7 @@ index 0d6132abd49d66fbf84c046e09144cb33651be15..53f9d28bf3c6aafd4fdd6c12e0285500 } } } -@@ -301,7 +538,6 @@ public class HopperBlockEntity extends RandomizableContainerBlockEntity implemen +@@ -305,7 +542,6 @@ public class HopperBlockEntity extends RandomizableContainerBlockEntity implemen return false; } } @@ -472,7 +480,7 @@ index 0d6132abd49d66fbf84c046e09144cb33651be15..53f9d28bf3c6aafd4fdd6c12e0285500 return true; } -@@ -312,6 +548,7 @@ public class HopperBlockEntity extends RandomizableContainerBlockEntity implemen +@@ -316,6 +552,7 @@ public class HopperBlockEntity extends RandomizableContainerBlockEntity implemen if (iinventory != null) { Direction enumdirection = Direction.DOWN; @@ -480,7 +488,7 @@ index 0d6132abd49d66fbf84c046e09144cb33651be15..53f9d28bf3c6aafd4fdd6c12e0285500 int[] aint = HopperBlockEntity.getSlots(iinventory, enumdirection); int i = aint.length; -@@ -347,45 +584,48 @@ public class HopperBlockEntity extends RandomizableContainerBlockEntity implemen +@@ -351,49 +588,52 @@ public class HopperBlockEntity extends RandomizableContainerBlockEntity implemen ItemStack itemstack = iinventory.getItem(i); if (!itemstack.isEmpty() && HopperBlockEntity.canTakeItemFromContainer(ihopper, iinventory, itemstack, i, enumdirection)) { @@ -511,6 +519,7 @@ index 0d6132abd49d66fbf84c046e09144cb33651be15..53f9d28bf3c6aafd4fdd6c12e0285500 - - return false; - } +- int origCount = event.getItem().getAmount(); // Spigot - ItemStack itemstack1 = HopperBlockEntity.addItem(iinventory, ihopper, CraftItemStack.asNMSCopy(event.getItem()), null); - // CraftBukkit end - @@ -520,7 +529,10 @@ index 0d6132abd49d66fbf84c046e09144cb33651be15..53f9d28bf3c6aafd4fdd6c12e0285500 - } - - itemstack.setCount(j); -- if (j == 1) { +- // Spigot start +- itemstack.shrink(origCount - itemstack1.getCount()); +- if (j <= world.spigotConfig.hopperAmount) { +- // Spigot end - iinventory.setItem(i, itemstack); - } + // Paper start - Perf: Optimize Hoppers @@ -552,6 +564,7 @@ index 0d6132abd49d66fbf84c046e09144cb33651be15..53f9d28bf3c6aafd4fdd6c12e0285500 + + // return false; + // } ++ // int origCount = event.getItem().getAmount(); // Spigot + // ItemStack itemstack1 = HopperBlockEntity.addItem(iinventory, ihopper, CraftItemStack.asNMSCopy(event.getItem()), null); + // // CraftBukkit end + @@ -561,14 +574,17 @@ index 0d6132abd49d66fbf84c046e09144cb33651be15..53f9d28bf3c6aafd4fdd6c12e0285500 + // } + + // itemstack.setCount(j); -+ // if (j == 1) { ++ // // Spigot start ++ // itemstack.shrink(origCount - itemstack1.getCount()); ++ // if (j <= world.spigotConfig.hopperAmount) { ++ // // Spigot end + // iinventory.setItem(i, itemstack); + // } + // Paper end - Perf: Optimize Hoppers } return false; -@@ -394,12 +634,14 @@ public class HopperBlockEntity extends RandomizableContainerBlockEntity implemen +@@ -402,12 +642,14 @@ public class HopperBlockEntity extends RandomizableContainerBlockEntity implemen public static boolean addItem(Container inventory, ItemEntity itemEntity) { boolean flag = false; // CraftBukkit start @@ -584,7 +600,7 @@ index 0d6132abd49d66fbf84c046e09144cb33651be15..53f9d28bf3c6aafd4fdd6c12e0285500 ItemStack itemstack = itemEntity.getItem().copy(); ItemStack itemstack1 = HopperBlockEntity.addItem((Container) null, inventory, itemstack, (Direction) null); -@@ -493,7 +735,9 @@ public class HopperBlockEntity extends RandomizableContainerBlockEntity implemen +@@ -501,7 +743,9 @@ public class HopperBlockEntity extends RandomizableContainerBlockEntity implemen stack = stack.split(to.getMaxStackSize()); } // Spigot end @@ -594,7 +610,7 @@ index 0d6132abd49d66fbf84c046e09144cb33651be15..53f9d28bf3c6aafd4fdd6c12e0285500 stack = leftover; // Paper - Make hoppers respect inventory max stack size flag = true; } else if (HopperBlockEntity.canMergeItems(itemstack1, stack)) { -@@ -573,14 +817,20 @@ public class HopperBlockEntity extends RandomizableContainerBlockEntity implemen +@@ -581,14 +825,20 @@ public class HopperBlockEntity extends RandomizableContainerBlockEntity implemen @Nullable public static Container getContainerAt(Level world, BlockPos pos) { @@ -617,7 +633,7 @@ index 0d6132abd49d66fbf84c046e09144cb33651be15..53f9d28bf3c6aafd4fdd6c12e0285500 iinventory = HopperBlockEntity.getEntityContainer(world, x, y, z); } -@@ -615,13 +865,13 @@ public class HopperBlockEntity extends RandomizableContainerBlockEntity implemen +@@ -623,13 +873,13 @@ public class HopperBlockEntity extends RandomizableContainerBlockEntity implemen @Nullable private static Container getEntityContainer(Level world, double x, double y, double z) { diff --git a/patches/server/1007-Entity-load-save-limit-per-chunk.patch b/patches/server/1006-Entity-load-save-limit-per-chunk.patch similarity index 100% rename from patches/server/1007-Entity-load-save-limit-per-chunk.patch rename to patches/server/1006-Entity-load-save-limit-per-chunk.patch diff --git a/patches/server/1008-Optimize-Voxel-Shape-Merging.patch b/patches/server/1007-Optimize-Voxel-Shape-Merging.patch similarity index 100% rename from patches/server/1008-Optimize-Voxel-Shape-Merging.patch rename to patches/server/1007-Optimize-Voxel-Shape-Merging.patch diff --git a/patches/server/1009-Optimize-Bit-Operations-by-inlining.patch b/patches/server/1008-Optimize-Bit-Operations-by-inlining.patch similarity index 100% rename from patches/server/1009-Optimize-Bit-Operations-by-inlining.patch rename to patches/server/1008-Optimize-Bit-Operations-by-inlining.patch diff --git a/patches/server/1010-Remove-streams-from-hot-code.patch b/patches/server/1009-Remove-streams-from-hot-code.patch similarity index 100% rename from patches/server/1010-Remove-streams-from-hot-code.patch rename to patches/server/1009-Remove-streams-from-hot-code.patch diff --git a/patches/server/1011-Optimize-Pathfinder-Remove-Streams-Optimized-collect.patch b/patches/server/1010-Optimize-Pathfinder-Remove-Streams-Optimized-collect.patch similarity index 100% rename from patches/server/1011-Optimize-Pathfinder-Remove-Streams-Optimized-collect.patch rename to patches/server/1010-Optimize-Pathfinder-Remove-Streams-Optimized-collect.patch diff --git a/patches/server/1012-Custom-table-implementation-for-blockstate-state-loo.patch b/patches/server/1011-Custom-table-implementation-for-blockstate-state-loo.patch similarity index 100% rename from patches/server/1012-Custom-table-implementation-for-blockstate-state-loo.patch rename to patches/server/1011-Custom-table-implementation-for-blockstate-state-loo.patch diff --git a/patches/server/1013-Fix-entity-type-tags-suggestions-in-selectors.patch b/patches/server/1012-Fix-entity-type-tags-suggestions-in-selectors.patch similarity index 100% rename from patches/server/1013-Fix-entity-type-tags-suggestions-in-selectors.patch rename to patches/server/1012-Fix-entity-type-tags-suggestions-in-selectors.patch diff --git a/patches/server/1014-Handle-Oversized-block-entities-in-chunks.patch b/patches/server/1013-Handle-Oversized-block-entities-in-chunks.patch similarity index 100% rename from patches/server/1014-Handle-Oversized-block-entities-in-chunks.patch rename to patches/server/1013-Handle-Oversized-block-entities-in-chunks.patch diff --git a/patches/server/1015-API-for-checking-sent-chunks.patch b/patches/server/1014-API-for-checking-sent-chunks.patch similarity index 100% rename from patches/server/1015-API-for-checking-sent-chunks.patch rename to patches/server/1014-API-for-checking-sent-chunks.patch diff --git a/patches/server/1016-Check-distance-in-entity-interactions.patch b/patches/server/1015-Check-distance-in-entity-interactions.patch similarity index 100% rename from patches/server/1016-Check-distance-in-entity-interactions.patch rename to patches/server/1015-Check-distance-in-entity-interactions.patch diff --git a/patches/server/1017-Configurable-Sand-Duping.patch b/patches/server/1016-Configurable-Sand-Duping.patch similarity index 100% rename from patches/server/1017-Configurable-Sand-Duping.patch rename to patches/server/1016-Configurable-Sand-Duping.patch diff --git a/patches/server/1018-Optimise-general-POI-access.patch b/patches/server/1017-Optimise-general-POI-access.patch similarity index 100% rename from patches/server/1018-Optimise-general-POI-access.patch rename to patches/server/1017-Optimise-general-POI-access.patch diff --git a/patches/server/1019-Improve-performance-of-mass-crafts.patch b/patches/server/1018-Improve-performance-of-mass-crafts.patch similarity index 100% rename from patches/server/1019-Improve-performance-of-mass-crafts.patch rename to patches/server/1018-Improve-performance-of-mass-crafts.patch diff --git a/patches/server/1020-Properly-resend-entities.patch b/patches/server/1019-Properly-resend-entities.patch similarity index 100% rename from patches/server/1020-Properly-resend-entities.patch rename to patches/server/1019-Properly-resend-entities.patch diff --git a/patches/server/1021-Registry-Modification-API.patch b/patches/server/1020-Registry-Modification-API.patch similarity index 99% rename from patches/server/1021-Registry-Modification-API.patch rename to patches/server/1020-Registry-Modification-API.patch index 8c55ac4526..f478968684 100644 --- a/patches/server/1021-Registry-Modification-API.patch +++ b/patches/server/1020-Registry-Modification-API.patch @@ -9,7 +9,7 @@ public net.minecraft.resources.RegistryOps lookupProvider public net.minecraft.resources.RegistryOps$HolderLookupAdapter diff --git a/src/main/java/io/papermc/paper/registry/PaperRegistries.java b/src/main/java/io/papermc/paper/registry/PaperRegistries.java -index ead718efde812846fefec3e86d896fef7deb3d97..722e3786f5b36f9b9ccff4028a58c3893c7960d6 100644 +index 675f5d03478907e3d8284cbea191f01c1eb15769..32ade3ed8533b127e8f5c1cc8b3466249e5444a3 100644 --- a/src/main/java/io/papermc/paper/registry/PaperRegistries.java +++ b/src/main/java/io/papermc/paper/registry/PaperRegistries.java @@ -2,6 +2,7 @@ package io.papermc.paper.registry; @@ -20,7 +20,7 @@ index ead718efde812846fefec3e86d896fef7deb3d97..722e3786f5b36f9b9ccff4028a58c389 import java.util.Collections; import java.util.IdentityHashMap; import java.util.List; -@@ -54,6 +55,7 @@ import org.checkerframework.framework.qual.DefaultQualifier; +@@ -56,6 +57,7 @@ import org.checkerframework.framework.qual.DefaultQualifier; import static io.papermc.paper.registry.entry.RegistryEntry.apiOnly; import static io.papermc.paper.registry.entry.RegistryEntry.entry; @@ -28,7 +28,7 @@ index ead718efde812846fefec3e86d896fef7deb3d97..722e3786f5b36f9b9ccff4028a58c389 @DefaultQualifier(NonNull.class) public final class PaperRegistries { -@@ -136,6 +138,15 @@ public final class PaperRegistries { +@@ -138,6 +140,15 @@ public final class PaperRegistries { return ResourceKey.create((ResourceKey>) PaperRegistries.registryToNms(typedKey.registryKey()), PaperAdventure.asVanilla(typedKey.key())); } @@ -1311,10 +1311,10 @@ index 397bdacab9517354875ebc0bc68d35059b3c318b..908431652a0fea79b5a0cee1efd0c7a7 return writableRegistry; }, diff --git a/src/main/java/org/bukkit/craftbukkit/CraftRegistry.java b/src/main/java/org/bukkit/craftbukkit/CraftRegistry.java -index fc9aec589414bf8d3f672183928235b5b51d1a02..0f3c46b8bb93fc42160300c9988d04bed68f493b 100644 +index c2824cc07b761958a0df4b110bdfc53bd853b9e7..cacbb35d365c66881f2a42d099bb88c494b584ee 100644 --- a/src/main/java/org/bukkit/craftbukkit/CraftRegistry.java +++ b/src/main/java/org/bukkit/craftbukkit/CraftRegistry.java -@@ -163,11 +163,11 @@ public class CraftRegistry implements Registry { +@@ -165,11 +165,11 @@ public class CraftRegistry implements Registry { private final Map cache = new HashMap<>(); private final Map byValue = new java.util.IdentityHashMap<>(); // Paper - improve Registry private final net.minecraft.core.Registry minecraftRegistry; @@ -1328,7 +1328,7 @@ index fc9aec589414bf8d3f672183928235b5b51d1a02..0f3c46b8bb93fc42160300c9988d04be this.bukkitClass = bukkitClass; this.minecraftRegistry = minecraftRegistry; this.minecraftToBukkit = minecraftToBukkit; -@@ -240,4 +240,17 @@ public class CraftRegistry implements Registry { +@@ -242,4 +242,17 @@ public class CraftRegistry implements Registry { return this.byValue.get(value); } // Paper end - improve Registry diff --git a/patches/server/1022-Add-registry-entry-and-builders.patch b/patches/server/1021-Add-registry-entry-and-builders.patch similarity index 98% rename from patches/server/1022-Add-registry-entry-and-builders.patch rename to patches/server/1021-Add-registry-entry-and-builders.patch index cbb53a94e4..ff658dd1be 100644 --- a/patches/server/1022-Add-registry-entry-and-builders.patch +++ b/patches/server/1021-Add-registry-entry-and-builders.patch @@ -5,7 +5,7 @@ Subject: [PATCH] Add registry entry and builders diff --git a/src/main/java/io/papermc/paper/registry/PaperRegistries.java b/src/main/java/io/papermc/paper/registry/PaperRegistries.java -index 722e3786f5b36f9b9ccff4028a58c3893c7960d6..745536f79b376c385247682042ae455d4a0f4ee5 100644 +index 32ade3ed8533b127e8f5c1cc8b3466249e5444a3..6ec9d9b9acf557aa2ebf39d38a14225b0205fae1 100644 --- a/src/main/java/io/papermc/paper/registry/PaperRegistries.java +++ b/src/main/java/io/papermc/paper/registry/PaperRegistries.java @@ -1,6 +1,8 @@ @@ -17,7 +17,7 @@ index 722e3786f5b36f9b9ccff4028a58c3893c7960d6..745536f79b376c385247682042ae455d import io.papermc.paper.registry.entry.RegistryEntry; import io.papermc.paper.registry.tag.TagKey; import java.util.Collections; -@@ -66,7 +68,7 @@ public final class PaperRegistries { +@@ -68,7 +70,7 @@ public final class PaperRegistries { static { REGISTRY_ENTRIES = List.of( // built-ins @@ -26,15 +26,15 @@ index 722e3786f5b36f9b9ccff4028a58c3893c7960d6..745536f79b376c385247682042ae455d entry(Registries.INSTRUMENT, RegistryKey.INSTRUMENT, MusicInstrument.class, CraftMusicInstrument::new), entry(Registries.MOB_EFFECT, RegistryKey.MOB_EFFECT, PotionEffectType.class, CraftPotionEffectType::new), entry(Registries.STRUCTURE_TYPE, RegistryKey.STRUCTURE_TYPE, StructureType.class, CraftStructureType::new), -@@ -84,7 +86,7 @@ public final class PaperRegistries { +@@ -86,7 +88,7 @@ public final class PaperRegistries { entry(Registries.TRIM_PATTERN, RegistryKey.TRIM_PATTERN, TrimPattern.class, CraftTrimPattern::new).delayed(), entry(Registries.DAMAGE_TYPE, RegistryKey.DAMAGE_TYPE, DamageType.class, CraftDamageType::new).delayed(), entry(Registries.WOLF_VARIANT, RegistryKey.WOLF_VARIANT, Wolf.Variant.class, CraftWolf.CraftVariant::new).delayed(), - entry(Registries.ENCHANTMENT, RegistryKey.ENCHANTMENT, Enchantment.class, CraftEnchantment::new).withSerializationUpdater(FieldRename.ENCHANTMENT_RENAME).delayed(), + writable(Registries.ENCHANTMENT, RegistryKey.ENCHANTMENT, Enchantment.class, CraftEnchantment::new, PaperEnchantmentRegistryEntry.PaperBuilder::new).withSerializationUpdater(FieldRename.ENCHANTMENT_RENAME).delayed(), entry(Registries.JUKEBOX_SONG, RegistryKey.JUKEBOX_SONG, JukeboxSong.class, CraftJukeboxSong::new).delayed(), + entry(Registries.BANNER_PATTERN, RegistryKey.BANNER_PATTERN, PatternType.class, CraftPatternType::new).delayed(), - // api-only diff --git a/src/main/java/io/papermc/paper/registry/data/PaperEnchantmentRegistryEntry.java b/src/main/java/io/papermc/paper/registry/data/PaperEnchantmentRegistryEntry.java new file mode 100644 index 0000000000000000000000000000000000000000..b9501554a0738776c265852184c7dbae3fe98c8c diff --git a/patches/server/1023-Improved-Watchdog-Support.patch b/patches/server/1022-Improved-Watchdog-Support.patch similarity index 100% rename from patches/server/1023-Improved-Watchdog-Support.patch rename to patches/server/1022-Improved-Watchdog-Support.patch diff --git a/patches/server/1024-Proxy-ItemStack-to-CraftItemStack.patch b/patches/server/1023-Proxy-ItemStack-to-CraftItemStack.patch similarity index 100% rename from patches/server/1024-Proxy-ItemStack-to-CraftItemStack.patch rename to patches/server/1023-Proxy-ItemStack-to-CraftItemStack.patch diff --git a/patches/server/1025-Make-a-PDC-view-accessible-directly-from-ItemStack.patch b/patches/server/1024-Make-a-PDC-view-accessible-directly-from-ItemStack.patch similarity index 100% rename from patches/server/1025-Make-a-PDC-view-accessible-directly-from-ItemStack.patch rename to patches/server/1024-Make-a-PDC-view-accessible-directly-from-ItemStack.patch diff --git a/patches/server/1026-Prioritize-Minecraft-commands-in-function-parsing-an.patch b/patches/server/1025-Prioritize-Minecraft-commands-in-function-parsing-an.patch similarity index 100% rename from patches/server/1026-Prioritize-Minecraft-commands-in-function-parsing-an.patch rename to patches/server/1025-Prioritize-Minecraft-commands-in-function-parsing-an.patch diff --git a/patches/server/1027-optimize-dirt-and-snow-spreading.patch b/patches/server/1026-optimize-dirt-and-snow-spreading.patch similarity index 100% rename from patches/server/1027-optimize-dirt-and-snow-spreading.patch rename to patches/server/1026-optimize-dirt-and-snow-spreading.patch diff --git a/patches/server/1028-Fix-NPE-for-Jukebox-setRecord.patch b/patches/server/1027-Fix-NPE-for-Jukebox-setRecord.patch similarity index 100% rename from patches/server/1028-Fix-NPE-for-Jukebox-setRecord.patch rename to patches/server/1027-Fix-NPE-for-Jukebox-setRecord.patch diff --git a/patches/server/1029-Fix-CraftWorld-isChunkGenerated.patch b/patches/server/1028-Fix-CraftWorld-isChunkGenerated.patch similarity index 100% rename from patches/server/1029-Fix-CraftWorld-isChunkGenerated.patch rename to patches/server/1028-Fix-CraftWorld-isChunkGenerated.patch diff --git a/patches/server/1030-fix-horse-inventories.patch b/patches/server/1029-fix-horse-inventories.patch similarity index 100% rename from patches/server/1030-fix-horse-inventories.patch rename to patches/server/1029-fix-horse-inventories.patch diff --git a/patches/server/1031-Only-call-EntityDamageEvents-before-actuallyHurt.patch b/patches/server/1030-Only-call-EntityDamageEvents-before-actuallyHurt.patch similarity index 100% rename from patches/server/1031-Only-call-EntityDamageEvents-before-actuallyHurt.patch rename to patches/server/1030-Only-call-EntityDamageEvents-before-actuallyHurt.patch diff --git a/patches/server/1032-Fix-entity-tracker-desync-when-new-players-are-added.patch b/patches/server/1031-Fix-entity-tracker-desync-when-new-players-are-added.patch similarity index 100% rename from patches/server/1032-Fix-entity-tracker-desync-when-new-players-are-added.patch rename to patches/server/1031-Fix-entity-tracker-desync-when-new-players-are-added.patch diff --git a/patches/server/1033-Lag-compensation-ticks.patch b/patches/server/1032-Lag-compensation-ticks.patch similarity index 100% rename from patches/server/1033-Lag-compensation-ticks.patch rename to patches/server/1032-Lag-compensation-ticks.patch diff --git a/patches/server/1034-Detail-more-information-in-watchdog-dumps.patch b/patches/server/1033-Detail-more-information-in-watchdog-dumps.patch similarity index 100% rename from patches/server/1034-Detail-more-information-in-watchdog-dumps.patch rename to patches/server/1033-Detail-more-information-in-watchdog-dumps.patch diff --git a/patches/server/1035-Write-SavedData-IO-async.patch b/patches/server/1034-Write-SavedData-IO-async.patch similarity index 100% rename from patches/server/1035-Write-SavedData-IO-async.patch rename to patches/server/1034-Write-SavedData-IO-async.patch diff --git a/patches/server/1036-Correctly-call-PlayerItemBreakEvent.patch b/patches/server/1035-Correctly-call-PlayerItemBreakEvent.patch similarity index 95% rename from patches/server/1036-Correctly-call-PlayerItemBreakEvent.patch rename to patches/server/1035-Correctly-call-PlayerItemBreakEvent.patch index 6637cd6cd0..5dd198b395 100644 --- a/patches/server/1036-Correctly-call-PlayerItemBreakEvent.patch +++ b/patches/server/1035-Correctly-call-PlayerItemBreakEvent.patch @@ -17,7 +17,7 @@ stack to not disrupt potential new vanilla changes that might depend on this behaviour. diff --git a/src/main/java/net/minecraft/world/item/ItemStack.java b/src/main/java/net/minecraft/world/item/ItemStack.java -index 0f2b3c5ca88478a541bf9e61ae61cc99a7d08836..2c312c0b741fb96a008881e9e01fa660a1fb63ab 100644 +index 3254124180df02d787202f4b00a4c52d40c6e7cf..d1340691d508c21c15237ec4a4626e9219d7c4f7 100644 --- a/src/main/java/net/minecraft/world/item/ItemStack.java +++ b/src/main/java/net/minecraft/world/item/ItemStack.java @@ -731,8 +731,10 @@ public final class ItemStack implements DataComponentHolder { diff --git a/patches/server/1037-Add-ItemType-getItemRarity.patch b/patches/server/1036-Add-ItemType-getItemRarity.patch similarity index 100% rename from patches/server/1037-Add-ItemType-getItemRarity.patch rename to patches/server/1036-Add-ItemType-getItemRarity.patch diff --git a/patches/server/1038-Incremental-chunk-and-player-saving.patch b/patches/server/1037-Incremental-chunk-and-player-saving.patch similarity index 100% rename from patches/server/1038-Incremental-chunk-and-player-saving.patch rename to patches/server/1037-Incremental-chunk-and-player-saving.patch diff --git a/patches/server/1039-Attempt-to-recalculate-regionfile-header-if-it-is-co.patch b/patches/server/1038-Attempt-to-recalculate-regionfile-header-if-it-is-co.patch similarity index 100% rename from patches/server/1039-Attempt-to-recalculate-regionfile-header-if-it-is-co.patch rename to patches/server/1038-Attempt-to-recalculate-regionfile-header-if-it-is-co.patch diff --git a/patches/server/1042-Bundle-spark.patch b/patches/server/1039-Bundle-spark.patch similarity index 100% rename from patches/server/1042-Bundle-spark.patch rename to patches/server/1039-Bundle-spark.patch diff --git a/patches/server/1043-Add-plugin-info-at-startup.patch b/patches/server/1040-Add-plugin-info-at-startup.patch similarity index 100% rename from patches/server/1043-Add-plugin-info-at-startup.patch rename to patches/server/1040-Add-plugin-info-at-startup.patch diff --git a/patches/server/1040-Move-CraftComplexRecipe-to-extend-CraftingRecipe.patch b/patches/server/1040-Move-CraftComplexRecipe-to-extend-CraftingRecipe.patch deleted file mode 100644 index 3e85c7f987..0000000000 --- a/patches/server/1040-Move-CraftComplexRecipe-to-extend-CraftingRecipe.patch +++ /dev/null @@ -1,50 +0,0 @@ -From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 -From: Bjarne Koll -Date: Fri, 19 Jul 2024 17:27:38 +0200 -Subject: [PATCH] Move CraftComplexRecipe to extend CraftingRecipe - -A craft complex recipe wraps a CustomRecipe, which itself is a -CraftingRecipe. -As such, this complex recipe should also be a crafting recipe. - -diff --git a/src/main/java/net/minecraft/world/item/crafting/CustomRecipe.java b/src/main/java/net/minecraft/world/item/crafting/CustomRecipe.java -index b57a2ba09f160409b5df9a2ae7ec159af3e4bf93..69a7e500c725e9da950df30f2cc4ff5f72e527d0 100644 ---- a/src/main/java/net/minecraft/world/item/crafting/CustomRecipe.java -+++ b/src/main/java/net/minecraft/world/item/crafting/CustomRecipe.java -@@ -34,7 +34,12 @@ public abstract class CustomRecipe implements CraftingRecipe { - // CraftBukkit start - @Override - public Recipe toBukkitRecipe(NamespacedKey id) { -- return new org.bukkit.craftbukkit.inventory.CraftComplexRecipe(id, this); -+ // Paper - make CraftComplexRecipe extend CraftingRecipe - start -+ final org.bukkit.craftbukkit.inventory.CraftComplexRecipe recipe = new org.bukkit.craftbukkit.inventory.CraftComplexRecipe(id, this); -+ recipe.setGroup(this.getGroup()); -+ recipe.setCategory(org.bukkit.craftbukkit.inventory.CraftRecipe.getCategory(this.category())); -+ return recipe; -+ // Paper - make CraftComplexRecipe extend CraftingRecipe - end - } - // CraftBukkit end - } -diff --git a/src/main/java/org/bukkit/craftbukkit/inventory/CraftComplexRecipe.java b/src/main/java/org/bukkit/craftbukkit/inventory/CraftComplexRecipe.java -index dcaeaa3367351eb54e2cf8e62be19ecc125a4bb4..05f42ec6177218960b22dc2c224f63cbf37d696f 100644 ---- a/src/main/java/org/bukkit/craftbukkit/inventory/CraftComplexRecipe.java -+++ b/src/main/java/org/bukkit/craftbukkit/inventory/CraftComplexRecipe.java -@@ -9,12 +9,17 @@ import org.bukkit.craftbukkit.util.CraftNamespacedKey; - import org.bukkit.inventory.ComplexRecipe; - import org.bukkit.inventory.ItemStack; - --public class CraftComplexRecipe implements CraftRecipe, ComplexRecipe { -+public class CraftComplexRecipe extends org.bukkit.inventory.CraftingRecipe implements CraftRecipe, ComplexRecipe { // Paper - make CraftComplexRecipe extend CraftingRecipe - - private final NamespacedKey key; - private final CustomRecipe recipe; - - public CraftComplexRecipe(NamespacedKey key, CustomRecipe recipe) { -+ // Paper - make CraftComplexRecipe extend CraftingRecipe - start -+ super(); -+ super.key = key; -+ super.output = ItemStack.empty(); -+ // Paper - make CraftComplexRecipe extend CraftingRecipe - end - this.key = key; - this.recipe = recipe; - } diff --git a/patches/server/1041-Add-CrafterCraftEvent.patch b/patches/server/1041-Add-CrafterCraftEvent.patch deleted file mode 100644 index 28eb5f5746..0000000000 --- a/patches/server/1041-Add-CrafterCraftEvent.patch +++ /dev/null @@ -1,31 +0,0 @@ -From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 -From: ploppyperson -Date: Thu, 18 Jul 2024 16:38:48 +0200 -Subject: [PATCH] Add CrafterCraftEvent - -While not a one-to-one copy from the proposed commit upstream, -the patch calls the preemtively pulled CrafterCraftEvent. - -See: https://hub.spigotmc.org/stash/projects/SPIGOT/repos/craftbukkit/pull-requests/1450/overview - -diff --git a/src/main/java/net/minecraft/world/level/block/CrafterBlock.java b/src/main/java/net/minecraft/world/level/block/CrafterBlock.java -index 6c24b25a7c8ce6e34aceb5702f1a0a6732ebca44..391a6af36d4c27a04000b31583297a25b89125d3 100644 ---- a/src/main/java/net/minecraft/world/level/block/CrafterBlock.java -+++ b/src/main/java/net/minecraft/world/level/block/CrafterBlock.java -@@ -163,6 +163,16 @@ public class CrafterBlock extends BaseEntityBlock { - } else { - RecipeHolder recipeHolder = optional.get(); - ItemStack itemStack = recipeHolder.value().assemble(var11, world.registryAccess()); -+ // Paper start - call CrafterCraftEvent -+ final org.bukkit.event.block.CrafterCraftEvent event = new org.bukkit.event.block.CrafterCraftEvent( -+ org.bukkit.craftbukkit.block.CraftBlock.at(world, pos), -+ (org.bukkit.inventory.CraftingRecipe) recipeHolder.toBukkitRecipe(), -+ org.bukkit.craftbukkit.inventory.CraftItemStack.asCraftMirror(itemStack) -+ ); -+ if (!event.callEvent()) return; -+ -+ itemStack = org.bukkit.craftbukkit.inventory.CraftItemStack.unwrap(event.getResult()); -+ // Paper end - call CrafterCraftEvent - if (itemStack.isEmpty()) { - world.levelEvent(1050, pos, 0); - } else { diff --git a/patches/server/1044-Make-interaction-leniency-distance-configurable.patch b/patches/server/1041-Make-interaction-leniency-distance-configurable.patch similarity index 100% rename from patches/server/1044-Make-interaction-leniency-distance-configurable.patch rename to patches/server/1041-Make-interaction-leniency-distance-configurable.patch diff --git a/patches/server/1045-Fix-PickupStatus-getting-reset.patch b/patches/server/1042-Fix-PickupStatus-getting-reset.patch similarity index 100% rename from patches/server/1045-Fix-PickupStatus-getting-reset.patch rename to patches/server/1042-Fix-PickupStatus-getting-reset.patch diff --git a/patches/server/1046-Check-for-block-type-in-SculkSensorBlock-canActivate.patch b/patches/server/1043-Check-for-block-type-in-SculkSensorBlock-canActivate.patch similarity index 100% rename from patches/server/1046-Check-for-block-type-in-SculkSensorBlock-canActivate.patch rename to patches/server/1043-Check-for-block-type-in-SculkSensorBlock-canActivate.patch diff --git a/work/Bukkit b/work/Bukkit index 3a3bea5205..2ec53f498e 160000 --- a/work/Bukkit +++ b/work/Bukkit @@ -1 +1 @@ -Subproject commit 3a3bea52057e094e4060239ad8a5ce16cf4c8dcb +Subproject commit 2ec53f498e32b3af989cb24672fc54dfab087154 diff --git a/work/CraftBukkit b/work/CraftBukkit index 403accd563..8ee6fd1b8d 160000 --- a/work/CraftBukkit +++ b/work/CraftBukkit @@ -1 +1 @@ -Subproject commit 403accd56333f091f4ef8b5f870591785e26cdfe +Subproject commit 8ee6fd1b8db9896590aa321d0199453de1fc35db diff --git a/work/Spigot b/work/Spigot index 5bbef5ad33..fb8fb722a3 160000 --- a/work/Spigot +++ b/work/Spigot @@ -1 +1 @@ -Subproject commit 5bbef5ad33ea0f6a5f743ce123b385d3d22ff3f9 +Subproject commit fb8fb722a327a2f9f097f2ded700ac5de8157408