diff --git a/patches/api/0005-Adventure.patch b/patches/api/0005-Adventure.patch index b87d3e92ab..f593875871 100644 --- a/patches/api/0005-Adventure.patch +++ b/patches/api/0005-Adventure.patch @@ -1384,10 +1384,10 @@ index ac5e263d737973af077e3406a84a84baca4370db..2d91924b7f5ef16a91d40cdc1bfc3d68 + // Paper end } diff --git a/src/main/java/org/bukkit/UnsafeValues.java b/src/main/java/org/bukkit/UnsafeValues.java -index 01e11f882abb6c631f810584aa23646042688435..4f339debf113d103ffe0b5fdb03dfc82eafd1bd5 100644 +index ba69db36a2a7640fc2a63a1d9fd1b204e00d7ce7..876072a6c91bd02c9c7de53556419b8e1ac48f27 100644 --- a/src/main/java/org/bukkit/UnsafeValues.java +++ b/src/main/java/org/bukkit/UnsafeValues.java -@@ -22,6 +22,15 @@ import org.bukkit.plugin.PluginDescriptionFile; +@@ -23,6 +23,15 @@ import org.bukkit.plugin.PluginDescriptionFile; */ @Deprecated public interface UnsafeValues { @@ -3705,21 +3705,21 @@ index f89d71b77d1200314df6ca23614d5ca6fb15ceb3..af4a7ce37eb10bab06eadb6583c7894b + // Paper end } diff --git a/src/main/java/org/bukkit/inventory/ItemStack.java b/src/main/java/org/bukkit/inventory/ItemStack.java -index 7b904dd2c0a660df8874d4800919e16981877163..d168a836d655b369f67200d7afe101b56ff815b1 100644 +index d80b0a52968920b990a75cff85e436a16d782500..9da047582e9648d84875b6d3c136960bbb97b70e 100644 --- a/src/main/java/org/bukkit/inventory/ItemStack.java +++ b/src/main/java/org/bukkit/inventory/ItemStack.java -@@ -22,7 +22,7 @@ import org.jetbrains.annotations.Nullable; +@@ -23,7 +23,7 @@ import org.jetbrains.annotations.Nullable; * use this class to encapsulate Materials for which {@link Material#isItem()} * returns false. */ --public class ItemStack implements Cloneable, ConfigurationSerializable { -+public class ItemStack implements Cloneable, ConfigurationSerializable, net.kyori.adventure.text.event.HoverEventSource { // Paper +-public class ItemStack implements Cloneable, ConfigurationSerializable, Translatable { ++public class ItemStack implements Cloneable, ConfigurationSerializable, Translatable, net.kyori.adventure.text.event.HoverEventSource { // Paper private Material type = Material.AIR; private int amount = 0; private MaterialData data = null; -@@ -595,4 +595,21 @@ public class ItemStack implements Cloneable, ConfigurationSerializable { - - return true; +@@ -602,4 +602,21 @@ public class ItemStack implements Cloneable, ConfigurationSerializable, Translat + public String getTranslationKey() { + return Bukkit.getUnsafe().getTranslationKey(this); } + + // Paper start diff --git a/patches/api/0008-Timings-v2.patch b/patches/api/0008-Timings-v2.patch index 51af360b9f..5b6f5bf932 100644 --- a/patches/api/0008-Timings-v2.patch +++ b/patches/api/0008-Timings-v2.patch @@ -2834,10 +2834,10 @@ index 892e03189957b0072827be4fd485dd98352334e8..ac087402c90dad4b3c499fcf8507e50e * Sends the component to the player * diff --git a/src/main/java/org/bukkit/UnsafeValues.java b/src/main/java/org/bukkit/UnsafeValues.java -index 4f339debf113d103ffe0b5fdb03dfc82eafd1bd5..d45cc92ca30e79173f30aae10724beeec6d22398 100644 +index 876072a6c91bd02c9c7de53556419b8e1ac48f27..33c005a11e1ee241c1146e2cc291d523b1dd744e 100644 --- a/src/main/java/org/bukkit/UnsafeValues.java +++ b/src/main/java/org/bukkit/UnsafeValues.java -@@ -32,6 +32,7 @@ public interface UnsafeValues { +@@ -33,6 +33,7 @@ public interface UnsafeValues { net.kyori.adventure.text.Component resolveWithContext(net.kyori.adventure.text.Component component, org.bukkit.command.CommandSender context, org.bukkit.entity.Entity scoreboardSubject, boolean bypassPermissions) throws java.io.IOException; // Paper end @@ -2845,10 +2845,10 @@ index 4f339debf113d103ffe0b5fdb03dfc82eafd1bd5..d45cc92ca30e79173f30aae10724beee Material toLegacy(Material material); Material fromLegacy(Material material); -@@ -87,4 +88,12 @@ public interface UnsafeValues { - Multimap getDefaultAttributeModifiers(Material material, EquipmentSlot slot); +@@ -96,4 +97,12 @@ public interface UnsafeValues { + String getTranslationKey(EntityType entityType); - CreativeCategory getCreativeCategory(Material material); + String getTranslationKey(ItemStack itemStack); + + // Paper start + /** diff --git a/patches/api/0012-Version-Command-2.0.patch b/patches/api/0012-Version-Command-2.0.patch index e1dd11c10e..802400840a 100644 --- a/patches/api/0012-Version-Command-2.0.patch +++ b/patches/api/0012-Version-Command-2.0.patch @@ -56,10 +56,10 @@ index 0000000000000000000000000000000000000000..a736d7bcdc5861a01b66ba36158db1c7 + } +} diff --git a/src/main/java/org/bukkit/UnsafeValues.java b/src/main/java/org/bukkit/UnsafeValues.java -index d45cc92ca30e79173f30aae10724beeec6d22398..c67d2e96e30261e480f1df96464befac03d78a69 100644 +index 33c005a11e1ee241c1146e2cc291d523b1dd744e..5183d3b1893fdcad9a475b747cb34df5653774fd 100644 --- a/src/main/java/org/bukkit/UnsafeValues.java +++ b/src/main/java/org/bukkit/UnsafeValues.java -@@ -95,5 +95,12 @@ public interface UnsafeValues { +@@ -104,5 +104,12 @@ public interface UnsafeValues { * @return name */ String getTimingsServerName(); diff --git a/patches/api/0065-Add-getI18NDisplayName-API.patch b/patches/api/0065-Add-getI18NDisplayName-API.patch index ea4187110a..529bea034e 100644 --- a/patches/api/0065-Add-getI18NDisplayName-API.patch +++ b/patches/api/0065-Add-getI18NDisplayName-API.patch @@ -32,10 +32,10 @@ index af4a7ce37eb10bab06eadb6583c7894b3ec55ae6..159e5a908b35b84b7fabc36581e093d9 // Paper end } diff --git a/src/main/java/org/bukkit/inventory/ItemStack.java b/src/main/java/org/bukkit/inventory/ItemStack.java -index d168a836d655b369f67200d7afe101b56ff815b1..edf5cd3734011de9130139e542ebc44bcc67f396 100644 +index 9da047582e9648d84875b6d3c136960bbb97b70e..87f7942082ad943a97058f58c09ea2fe9caf5bfe 100644 --- a/src/main/java/org/bukkit/inventory/ItemStack.java +++ b/src/main/java/org/bukkit/inventory/ItemStack.java -@@ -611,5 +611,20 @@ public class ItemStack implements Cloneable, ConfigurationSerializable, net.kyor +@@ -618,5 +618,20 @@ public class ItemStack implements Cloneable, ConfigurationSerializable, Translat public @NotNull net.kyori.adventure.text.Component displayName() { return Bukkit.getServer().getItemFactory().displayName(this); } diff --git a/patches/api/0066-ensureServerConversions-API.patch b/patches/api/0066-ensureServerConversions-API.patch index 95f1933756..0f74f77359 100644 --- a/patches/api/0066-ensureServerConversions-API.patch +++ b/patches/api/0066-ensureServerConversions-API.patch @@ -29,10 +29,10 @@ index 159e5a908b35b84b7fabc36581e093d9aa4c4b67..66ffc658dba85942f179760dc6c50258 // Paper end } diff --git a/src/main/java/org/bukkit/inventory/ItemStack.java b/src/main/java/org/bukkit/inventory/ItemStack.java -index edf5cd3734011de9130139e542ebc44bcc67f396..8b76d7ca596ea261c0ca3b9fe2fbf5507c3883e3 100644 +index 87f7942082ad943a97058f58c09ea2fe9caf5bfe..9d32283ee612a50b8a2bfe5151f42c9f181ede4c 100644 --- a/src/main/java/org/bukkit/inventory/ItemStack.java +++ b/src/main/java/org/bukkit/inventory/ItemStack.java -@@ -536,7 +536,7 @@ public class ItemStack implements Cloneable, ConfigurationSerializable, net.kyor +@@ -537,7 +537,7 @@ public class ItemStack implements Cloneable, ConfigurationSerializable, Translat } } @@ -41,7 +41,7 @@ index edf5cd3734011de9130139e542ebc44bcc67f396..8b76d7ca596ea261c0ca3b9fe2fbf550 } /** -@@ -612,6 +612,19 @@ public class ItemStack implements Cloneable, ConfigurationSerializable, net.kyor +@@ -619,6 +619,19 @@ public class ItemStack implements Cloneable, ConfigurationSerializable, Translat return Bukkit.getServer().getItemFactory().displayName(this); } diff --git a/patches/api/0075-API-to-get-a-BlockState-without-a-snapshot.patch b/patches/api/0075-API-to-get-a-BlockState-without-a-snapshot.patch index 41c8e70b83..8f748c0ed1 100644 --- a/patches/api/0075-API-to-get-a-BlockState-without-a-snapshot.patch +++ b/patches/api/0075-API-to-get-a-BlockState-without-a-snapshot.patch @@ -9,10 +9,10 @@ on the real tile entity. This is useful for where performance is needed diff --git a/src/main/java/org/bukkit/block/Block.java b/src/main/java/org/bukkit/block/Block.java -index b4094e042c1619cfcdd68c27f82979a7562ddf55..d29bdc125dba0128d93d57e8d9393b970e6c00a9 100644 +index f8e12868f2e629cdf4784f0157fdb2f8e7b01f99..61ce341daec63392f040b70cd12662379b2f1ebd 100644 --- a/src/main/java/org/bukkit/block/Block.java +++ b/src/main/java/org/bukkit/block/Block.java -@@ -271,6 +271,16 @@ public interface Block extends Metadatable { +@@ -272,6 +272,16 @@ public interface Block extends Metadatable, Translatable { @NotNull BlockState getState(); diff --git a/patches/api/0109-ItemStack-getMaxItemUseDuration.patch b/patches/api/0109-ItemStack-getMaxItemUseDuration.patch index 2335189f45..13fc1407e6 100644 --- a/patches/api/0109-ItemStack-getMaxItemUseDuration.patch +++ b/patches/api/0109-ItemStack-getMaxItemUseDuration.patch @@ -6,10 +6,10 @@ Subject: [PATCH] ItemStack#getMaxItemUseDuration Allows you to determine how long it takes to use a usable/consumable item diff --git a/src/main/java/org/bukkit/inventory/ItemStack.java b/src/main/java/org/bukkit/inventory/ItemStack.java -index 8b76d7ca596ea261c0ca3b9fe2fbf5507c3883e3..54d7c4b78f7fb01d8c11c19f038642b155334770 100644 +index 9d32283ee612a50b8a2bfe5151f42c9f181ede4c..53d99d214652ae1636f28a179a5b66edc0f8f229 100644 --- a/src/main/java/org/bukkit/inventory/ItemStack.java +++ b/src/main/java/org/bukkit/inventory/ItemStack.java -@@ -639,5 +639,13 @@ public class ItemStack implements Cloneable, ConfigurationSerializable, net.kyor +@@ -646,5 +646,13 @@ public class ItemStack implements Cloneable, ConfigurationSerializable, Translat public String getI18NDisplayName() { return Bukkit.getServer().getItemFactory().getI18NDisplayName(this); } diff --git a/patches/api/0117-ItemStack-API-additions-for-quantity-flags-lore.patch b/patches/api/0117-ItemStack-API-additions-for-quantity-flags-lore.patch index d8bba965f1..21bfeaac9b 100644 --- a/patches/api/0117-ItemStack-API-additions-for-quantity-flags-lore.patch +++ b/patches/api/0117-ItemStack-API-additions-for-quantity-flags-lore.patch @@ -5,7 +5,7 @@ Subject: [PATCH] ItemStack API additions for quantity/flags/lore diff --git a/src/main/java/org/bukkit/inventory/ItemStack.java b/src/main/java/org/bukkit/inventory/ItemStack.java -index 54d7c4b78f7fb01d8c11c19f038642b155334770..7559f75dcc6665fa3d19d6e53a141a214407d1c5 100644 +index 53d99d214652ae1636f28a179a5b66edc0f8f229..a70de962712c14cb895708e89ad3811041728935 100644 --- a/src/main/java/org/bukkit/inventory/ItemStack.java +++ b/src/main/java/org/bukkit/inventory/ItemStack.java @@ -3,6 +3,7 @@ package org.bukkit.inventory; @@ -16,7 +16,7 @@ index 54d7c4b78f7fb01d8c11c19f038642b155334770..7559f75dcc6665fa3d19d6e53a141a21 import java.util.Map; import org.bukkit.Bukkit; import org.bukkit.Material; -@@ -647,5 +648,185 @@ public class ItemStack implements Cloneable, ConfigurationSerializable, net.kyor +@@ -654,5 +655,185 @@ public class ItemStack implements Cloneable, ConfigurationSerializable, Translat // Requires access to NMS return ensureServerConversions().getMaxItemUseDuration(); } diff --git a/patches/api/0124-Add-an-asterisk-to-legacy-API-plugins.patch b/patches/api/0124-Add-an-asterisk-to-legacy-API-plugins.patch index f9f9578ccb..7279975212 100644 --- a/patches/api/0124-Add-an-asterisk-to-legacy-API-plugins.patch +++ b/patches/api/0124-Add-an-asterisk-to-legacy-API-plugins.patch @@ -7,10 +7,10 @@ Not here to name and shame, only so server admins can be aware of which plugins have and haven't been updated. diff --git a/src/main/java/org/bukkit/UnsafeValues.java b/src/main/java/org/bukkit/UnsafeValues.java -index c67d2e96e30261e480f1df96464befac03d78a69..81da1def96d18704303cadd72261a1b2fcbb9fc5 100644 +index 5183d3b1893fdcad9a475b747cb34df5653774fd..4af059f9b32d2a0913e6d88c6a93e101018e88a2 100644 --- a/src/main/java/org/bukkit/UnsafeValues.java +++ b/src/main/java/org/bukkit/UnsafeValues.java -@@ -102,5 +102,11 @@ public interface UnsafeValues { +@@ -111,5 +111,11 @@ public interface UnsafeValues { default com.destroystokyo.paper.util.VersionFetcher getVersionFetcher() { return new com.destroystokyo.paper.util.VersionFetcher.DummyVersionFetcher(); } diff --git a/patches/api/0139-Allow-Blocks-to-be-accessed-via-a-long-key.patch b/patches/api/0139-Allow-Blocks-to-be-accessed-via-a-long-key.patch index 1a41281590..e0eadf4d4b 100644 --- a/patches/api/0139-Allow-Blocks-to-be-accessed-via-a-long-key.patch +++ b/patches/api/0139-Allow-Blocks-to-be-accessed-via-a-long-key.patch @@ -50,7 +50,7 @@ index 943c3364f6b931fe11f9a6099504590b2da34657..16a604b6315daff228c827fe02b1234c * @return A new location where X/Y/Z are the center of the block */ diff --git a/src/main/java/org/bukkit/World.java b/src/main/java/org/bukkit/World.java -index 8c71be9c39ec6aae07b088a63e71cc2ae44b0412..25e38f0f4fe36193dcc968ef7619bc8c0e705fb2 100644 +index 7d6c923ea603a3193865e6a34b41617ac7016d19..00651d5486f1de886df7a4a01aaf272ceb0fa82a 100644 --- a/src/main/java/org/bukkit/World.java +++ b/src/main/java/org/bukkit/World.java @@ -95,6 +95,40 @@ public interface World extends RegionAccessor, WorldInfo, PluginMessageRecipient @@ -95,10 +95,10 @@ index 8c71be9c39ec6aae07b088a63e71cc2ae44b0412..25e38f0f4fe36193dcc968ef7619bc8c * Gets the highest non-empty (impassable) coordinate at the given * coordinates. diff --git a/src/main/java/org/bukkit/block/Block.java b/src/main/java/org/bukkit/block/Block.java -index d29bdc125dba0128d93d57e8d9393b970e6c00a9..b101f5264bdde8bd14913d5161c1047020830f8d 100644 +index 61ce341daec63392f040b70cd12662379b2f1ebd..0be73b2f45c9aab6e73bcb7a76136ec6e2428163 100644 --- a/src/main/java/org/bukkit/block/Block.java +++ b/src/main/java/org/bukkit/block/Block.java -@@ -155,6 +155,82 @@ public interface Block extends Metadatable { +@@ -156,6 +156,82 @@ public interface Block extends Metadatable, Translatable { */ int getZ(); diff --git a/patches/api/0155-Implement-furnace-cook-speed-multiplier-API.patch b/patches/api/0155-Implement-furnace-cook-speed-multiplier-API.patch index 709ba414da..dd6ed2012a 100644 --- a/patches/api/0155-Implement-furnace-cook-speed-multiplier-API.patch +++ b/patches/api/0155-Implement-furnace-cook-speed-multiplier-API.patch @@ -37,23 +37,22 @@ index ac3b24c5c99eeb1435d785efade728dd40947da5..dbdf3dbe9517b09a7965cf9d65cae1ed @Override public FurnaceInventory getInventory(); diff --git a/src/main/java/org/bukkit/event/inventory/FurnaceStartSmeltEvent.java b/src/main/java/org/bukkit/event/inventory/FurnaceStartSmeltEvent.java -index 533a33dbd4c4c3c07fe759206dc288efec5cd531..f13f1b4daa99fb86b60acc94d0406dcd8cb4d98b 100644 +index 1440c6115520d692faf75455df35b92aa8734491..1e55f50f04de78ae0b8832a8021ffc7327676e8e 100644 --- a/src/main/java/org/bukkit/event/inventory/FurnaceStartSmeltEvent.java +++ b/src/main/java/org/bukkit/event/inventory/FurnaceStartSmeltEvent.java -@@ -13,11 +13,18 @@ public class FurnaceStartSmeltEvent extends BlockEvent { +@@ -15,10 +15,17 @@ public class FurnaceStartSmeltEvent extends InventoryBlockStartEvent { private final CookingRecipe recipe; private int totalCookTime; + @Deprecated // Paper - furnace cook speed multiplier public FurnaceStartSmeltEvent(@NotNull final Block furnace, @NotNull ItemStack source, @NotNull final CookingRecipe recipe) { -+ // Paper start - furnace cook speed multiplier ++ // Paper start + this(furnace, source, recipe, recipe.getCookingTime()); + } + -+ public FurnaceStartSmeltEvent(@NotNull final Block furnace, @NotNull ItemStack source, @NotNull CookingRecipe recipe, int cookingTime) { ++ public FurnaceStartSmeltEvent(final @NotNull Block furnace, final @NotNull ItemStack source, final @NotNull CookingRecipe recipe, final int cookingTime) { + // Paper end - super(furnace); - this.source = source; + super(furnace, source); this.recipe = recipe; - this.totalCookTime = recipe.getCookingTime(); + this.totalCookTime = cookingTime; // Paper - furnace cook speed multiplier diff --git a/patches/api/0156-Material-API-additions.patch b/patches/api/0156-Material-API-additions.patch index bbda411f80..92dc2c0e98 100644 --- a/patches/api/0156-Material-API-additions.patch +++ b/patches/api/0156-Material-API-additions.patch @@ -5,7 +5,7 @@ Subject: [PATCH] Material API additions diff --git a/src/main/java/org/bukkit/Material.java b/src/main/java/org/bukkit/Material.java -index bcf746a611fbfa66b12b31a12710c423ba39d42c..cd09fa22e6322770bcb582ba00a384c5ca0fd8d8 100644 +index d1cb98a43e1135c53fd4ae544272ff6225f387f6..a4a85c62e87c18e38ba16e3966a41e6631ec8add 100644 --- a/src/main/java/org/bukkit/Material.java +++ b/src/main/java/org/bukkit/Material.java @@ -112,6 +112,7 @@ import org.jetbrains.annotations.Nullable; @@ -13,10 +13,10 @@ index bcf746a611fbfa66b12b31a12710c423ba39d42c..cd09fa22e6322770bcb582ba00a384c5 * An enum of all material IDs accepted by the official server and client */ +@SuppressWarnings({"DeprecatedIsStillUsed", "deprecation"}) // Paper - public enum Material implements Keyed { + public enum Material implements Keyed, Translatable { // AIR(9648, 0), -@@ -4273,6 +4274,22 @@ public enum Material implements Keyed { +@@ -4273,6 +4274,22 @@ public enum Material implements Keyed, Translatable { } } diff --git a/patches/api/0176-Fix-Spigot-annotation-mistakes.patch b/patches/api/0176-Fix-Spigot-annotation-mistakes.patch index 8999c40c36..a4ef2fafcd 100644 --- a/patches/api/0176-Fix-Spigot-annotation-mistakes.patch +++ b/patches/api/0176-Fix-Spigot-annotation-mistakes.patch @@ -79,10 +79,10 @@ index 20978b269a7757a561d6b872cc77898b44bbd272..2b9a117804a8ca54b47e51e23359bd6e if (this.world == null) { return null; diff --git a/src/main/java/org/bukkit/Material.java b/src/main/java/org/bukkit/Material.java -index cd09fa22e6322770bcb582ba00a384c5ca0fd8d8..a7d36ef22724f0ce3add61ab314e09e6465077d4 100644 +index a4a85c62e87c18e38ba16e3966a41e6631ec8add..e883bb46461eb40b018ebe8c07caff96046fd11d 100644 --- a/src/main/java/org/bukkit/Material.java +++ b/src/main/java/org/bukkit/Material.java -@@ -4303,11 +4303,11 @@ public enum Material implements Keyed { +@@ -4303,11 +4303,11 @@ public enum Material implements Keyed, Translatable { } /** @@ -96,7 +96,7 @@ index cd09fa22e6322770bcb582ba00a384c5ca0fd8d8..a7d36ef22724f0ce3add61ab314e09e6 public boolean isLegacy() { return legacy; } -@@ -4378,8 +4378,10 @@ public enum Material implements Keyed { +@@ -4378,8 +4378,10 @@ public enum Material implements Keyed, Translatable { * Gets the MaterialData class associated with this Material * * @return MaterialData associated with this Material @@ -144,6 +144,22 @@ index f43209cf7b752c26718c303ca8c3e1c7d9912ad3..f0094e6fb05e526736629ad3181c8d2c public enum NetherWartsState { /** +diff --git a/src/main/java/org/bukkit/Registry.java b/src/main/java/org/bukkit/Registry.java +index ea80520c19cd3dd6aa25665c748d96fd4a3f6e40..ff1fcdaccbca81602278a0b52670f7b895ba22b7 100644 +--- a/src/main/java/org/bukkit/Registry.java ++++ b/src/main/java/org/bukkit/Registry.java +@@ -229,8 +229,11 @@ public interface Registry extends Iterable { + * + * @param input non-null input + * @return registered object or null if does not exist ++ * @deprecated this method's behavior is broken and not useful. If you want to get an object ++ * based on its vanilla name, or a key, wrap it in a {@link NamespacedKey} object and use {@link #get(NamespacedKey)} + */ + @Nullable ++ @Deprecated(forRemoval = true) // Paper + default T match(@NotNull String input) { + Preconditions.checkArgument(input != null, "input must not be null"); + diff --git a/src/main/java/org/bukkit/SandstoneType.java b/src/main/java/org/bukkit/SandstoneType.java index 6277451c3c6c551078c237cd767b6d70c4f585ea..10f5cfb1885833a1d2c1027c03974da45ab28e2f 100644 --- a/src/main/java/org/bukkit/SandstoneType.java @@ -671,18 +687,18 @@ index 66ffc658dba85942f179760dc6c50258e24ab903..50fe28b48d885c782278bdb53a0bbae3 /** diff --git a/src/main/java/org/bukkit/inventory/ItemStack.java b/src/main/java/org/bukkit/inventory/ItemStack.java -index 7559f75dcc6665fa3d19d6e53a141a214407d1c5..515f623b3b6e76dbf24ec1d204f7983adb100858 100644 +index a70de962712c14cb895708e89ad3811041728935..b15645cd56c245214bb5b87b36395fbc8e86e3d3 100644 --- a/src/main/java/org/bukkit/inventory/ItemStack.java +++ b/src/main/java/org/bukkit/inventory/ItemStack.java -@@ -7,6 +7,7 @@ import java.util.List; // Paper - import java.util.Map; +@@ -8,6 +8,7 @@ import java.util.Map; import org.bukkit.Bukkit; import org.bukkit.Material; + import org.bukkit.Translatable; +import org.bukkit.UndefinedNullability; import org.bukkit.Utility; import org.bukkit.configuration.serialization.ConfigurationSerializable; import org.bukkit.enchantments.Enchantment; -@@ -67,6 +68,7 @@ public class ItemStack implements Cloneable, ConfigurationSerializable, net.kyor +@@ -68,6 +69,7 @@ public class ItemStack implements Cloneable, ConfigurationSerializable, Translat * @param damage durability / damage * @deprecated see {@link #setDurability(short)} */ @@ -690,7 +706,7 @@ index 7559f75dcc6665fa3d19d6e53a141a214407d1c5..515f623b3b6e76dbf24ec1d204f7983a public ItemStack(@NotNull final Material type, final int amount, final short damage) { this(type, amount, damage, null); } -@@ -168,8 +170,10 @@ public class ItemStack implements Cloneable, ConfigurationSerializable, net.kyor +@@ -169,8 +171,10 @@ public class ItemStack implements Cloneable, ConfigurationSerializable, Translat * Gets the MaterialData for this stack of items * * @return MaterialData for this item @@ -701,7 +717,7 @@ index 7559f75dcc6665fa3d19d6e53a141a214407d1c5..515f623b3b6e76dbf24ec1d204f7983a public MaterialData getData() { Material mat = Bukkit.getUnsafe().toLegacy(getType()); if (data == null && mat != null && mat.getData() != null) { -@@ -183,7 +187,9 @@ public class ItemStack implements Cloneable, ConfigurationSerializable, net.kyor +@@ -184,7 +188,9 @@ public class ItemStack implements Cloneable, ConfigurationSerializable, Translat * Sets the MaterialData for this stack of items * * @param data New MaterialData for this item @@ -711,7 +727,7 @@ index 7559f75dcc6665fa3d19d6e53a141a214407d1c5..515f623b3b6e76dbf24ec1d204f7983a public void setData(@Nullable MaterialData data) { if (data == null) { this.data = data; -@@ -545,7 +551,7 @@ public class ItemStack implements Cloneable, ConfigurationSerializable, net.kyor +@@ -546,7 +552,7 @@ public class ItemStack implements Cloneable, ConfigurationSerializable, Translat * * @return a copy of the current ItemStack's ItemData */ diff --git a/patches/api/0181-Add-BlockSoundGroup-interface.patch b/patches/api/0181-Add-BlockSoundGroup-interface.patch index 1d34e11a3b..d7e1a7c6c0 100644 --- a/patches/api/0181-Add-BlockSoundGroup-interface.patch +++ b/patches/api/0181-Add-BlockSoundGroup-interface.patch @@ -76,10 +76,10 @@ index 0000000000000000000000000000000000000000..ec36942128cbacae171584c89480b4aa + Sound getFallSound(); +} diff --git a/src/main/java/org/bukkit/block/Block.java b/src/main/java/org/bukkit/block/Block.java -index b101f5264bdde8bd14913d5161c1047020830f8d..db441e463b02ee734f85c855f5538cd41041dbae 100644 +index 0be73b2f45c9aab6e73bcb7a76136ec6e2428163..3107abe94bb94b03b2e285c75ab0b7fdc7c0bc87 100644 --- a/src/main/java/org/bukkit/block/Block.java +++ b/src/main/java/org/bukkit/block/Block.java -@@ -606,4 +606,25 @@ public interface Block extends Metadatable { +@@ -607,4 +607,25 @@ public interface Block extends Metadatable, Translatable { * @return true if the block data can be placed here */ boolean canPlace(@NotNull BlockData data); diff --git a/patches/api/0185-Improve-Block-breakNaturally-API.patch b/patches/api/0185-Improve-Block-breakNaturally-API.patch index 8bf4a34007..01e9249c42 100644 --- a/patches/api/0185-Improve-Block-breakNaturally-API.patch +++ b/patches/api/0185-Improve-Block-breakNaturally-API.patch @@ -10,10 +10,10 @@ Adds bool param to trigger exp drops for blocks Co-authored-by: William Blake Galbreath diff --git a/src/main/java/org/bukkit/block/Block.java b/src/main/java/org/bukkit/block/Block.java -index db441e463b02ee734f85c855f5538cd41041dbae..af705e45204975a342e1454156ba143ed52cecdc 100644 +index 3107abe94bb94b03b2e285c75ab0b7fdc7c0bc87..06ef9e133125d80127e1dbd6ae0eda89fa08a1d7 100644 --- a/src/main/java/org/bukkit/block/Block.java +++ b/src/main/java/org/bukkit/block/Block.java -@@ -480,6 +480,52 @@ public interface Block extends Metadatable { +@@ -481,6 +481,52 @@ public interface Block extends Metadatable, Translatable { */ boolean breakNaturally(@Nullable ItemStack tool); diff --git a/patches/api/0192-Add-Raw-Byte-ItemStack-Serialization.patch b/patches/api/0192-Add-Raw-Byte-ItemStack-Serialization.patch index 923dca3f3f..d2e64b3c1a 100644 --- a/patches/api/0192-Add-Raw-Byte-ItemStack-Serialization.patch +++ b/patches/api/0192-Add-Raw-Byte-ItemStack-Serialization.patch @@ -6,10 +6,10 @@ Subject: [PATCH] Add Raw Byte ItemStack Serialization Serializes using NBT which is safer for server data migrations than bukkits format. diff --git a/src/main/java/org/bukkit/UnsafeValues.java b/src/main/java/org/bukkit/UnsafeValues.java -index 81da1def96d18704303cadd72261a1b2fcbb9fc5..5453b2ae459b2d5171ef7129c29891b721ee8e0b 100644 +index 4af059f9b32d2a0913e6d88c6a93e101018e88a2..bdc68e164a8d25a068bc51c04ba17b65a558ba78 100644 --- a/src/main/java/org/bukkit/UnsafeValues.java +++ b/src/main/java/org/bukkit/UnsafeValues.java -@@ -108,5 +108,9 @@ public interface UnsafeValues { +@@ -117,5 +117,9 @@ public interface UnsafeValues { static boolean isLegacyPlugin(org.bukkit.plugin.Plugin plugin) { return !Bukkit.getUnsafe().isSupportedApiVersion(plugin.getDescription().getAPIVersion()); } @@ -20,10 +20,10 @@ index 81da1def96d18704303cadd72261a1b2fcbb9fc5..5453b2ae459b2d5171ef7129c29891b7 // Paper end } diff --git a/src/main/java/org/bukkit/inventory/ItemStack.java b/src/main/java/org/bukkit/inventory/ItemStack.java -index 515f623b3b6e76dbf24ec1d204f7983adb100858..d3334c62bf39abf17ee7f3e68e106fd637ffdf00 100644 +index b15645cd56c245214bb5b87b36395fbc8e86e3d3..7c280d7beeb42dca52e36e77bbd41742b2572710 100644 --- a/src/main/java/org/bukkit/inventory/ItemStack.java +++ b/src/main/java/org/bukkit/inventory/ItemStack.java -@@ -632,6 +632,30 @@ public class ItemStack implements Cloneable, ConfigurationSerializable, net.kyor +@@ -639,6 +639,30 @@ public class ItemStack implements Cloneable, ConfigurationSerializable, Translat return Bukkit.getServer().getItemFactory().ensureServerConversions(this); } diff --git a/patches/api/0221-Add-methods-to-get-translation-keys.patch b/patches/api/0221-Add-methods-to-get-translation-keys.patch index bfeb3be141..0f9e2fd1aa 100644 --- a/patches/api/0221-Add-methods-to-get-translation-keys.patch +++ b/patches/api/0221-Add-methods-to-get-translation-keys.patch @@ -144,80 +144,68 @@ index 0a66077d152a3c89fa7a277663969767798eb100..b02490737409eb80a2d2fb275c9a60b6 + // Paper end } diff --git a/src/main/java/org/bukkit/Material.java b/src/main/java/org/bukkit/Material.java -index a7d36ef22724f0ce3add61ab314e09e6465077d4..4d496c7c088a75b79a25e7397b47600a8c104cf4 100644 +index e883bb46461eb40b018ebe8c07caff96046fd11d..89af89e5fb49e202e80ea7688c62f8e119f4ddfe 100644 --- a/src/main/java/org/bukkit/Material.java +++ b/src/main/java/org/bukkit/Material.java @@ -113,7 +113,7 @@ import org.jetbrains.annotations.Nullable; * An enum of all material IDs accepted by the official server and client */ @SuppressWarnings({"DeprecatedIsStillUsed", "deprecation"}) // Paper --public enum Material implements Keyed { -+public enum Material implements Keyed, net.kyori.adventure.translation.Translatable { // Paper +-public enum Material implements Keyed, Translatable { ++public enum Material implements Keyed, Translatable, net.kyori.adventure.translation.Translatable { // Paper // AIR(9648, 0), STONE(22948), -@@ -4288,6 +4288,23 @@ public enum Material implements Keyed { +@@ -4288,6 +4288,15 @@ public enum Material implements Keyed, Translatable { } return false; } + -+ /** -+ * Return the translation key for the Material, so the client can translate it into the active -+ * locale when using a TranslatableComponent. -+ * @return the translation key -+ * @deprecated use {@link #translationKey()} -+ */ -+ @NotNull -+ @Deprecated -+ public String getTranslationKey() { -+ return this.translationKey(); -+ } -+ + @Override + public @NotNull String translationKey() { -+ return Bukkit.getUnsafe().getTranslationKey(this); ++ if (this.isItem()) { ++ return Bukkit.getUnsafe().getItemTranslationKey(this); ++ } else { ++ return Bukkit.getUnsafe().getBlockTranslationKey(this); ++ } + } // Paper end /** -diff --git a/src/main/java/org/bukkit/UnsafeValues.java b/src/main/java/org/bukkit/UnsafeValues.java -index 5453b2ae459b2d5171ef7129c29891b721ee8e0b..b518720355d8a8dcd55cb755e4e1fa9fc3dfc52b 100644 ---- a/src/main/java/org/bukkit/UnsafeValues.java -+++ b/src/main/java/org/bukkit/UnsafeValues.java -@@ -112,5 +112,34 @@ public interface UnsafeValues { - byte[] serializeItem(ItemStack item); +@@ -10596,9 +10605,11 @@ public enum Material implements Keyed, Translatable { + * material + * @see #getBlockTranslationKey() + * @see #getItemTranslationKey() ++ * @deprecated use {@link #translationKey()} + */ + @Override + @NotNull ++ @Deprecated(forRemoval = true) // Paper + public String getTranslationKey() { + if (this.isItem()) { + return Bukkit.getUnsafe().getItemTranslationKey(this); +diff --git a/src/main/java/org/bukkit/Translatable.java b/src/main/java/org/bukkit/Translatable.java +index e3faa2c675c85a9cbdbbb1debec0ff81c58a1bbd..fd1629c2d2028a88fb3d56b0aeb833d17235080a 100644 +--- a/src/main/java/org/bukkit/Translatable.java ++++ b/src/main/java/org/bukkit/Translatable.java +@@ -5,14 +5,18 @@ import org.jetbrains.annotations.NotNull; + /** + * Represents an object with a text representation that can be translated by the + * Minecraft client. ++ * @deprecated use {@link net.kyori.adventure.translation.Translatable} + */ ++@Deprecated(forRemoval = true) // Paper + public interface Translatable { - ItemStack deserializeItem(byte[] data); -+ -+ /** -+ * Return the translation key for the Material, so the client can translate it into the active -+ * locale when using a {@link net.kyori.adventure.text.TranslatableComponent}. -+ * @return the translation key -+ */ -+ String getTranslationKey(Material mat); -+ -+ /** -+ * Return the translation key for the Block, so the client can translate it into the active -+ * locale when using a {@link net.kyori.adventure.text.TranslatableComponent}. -+ * @return the translation key -+ */ -+ String getTranslationKey(org.bukkit.block.Block block); -+ -+ /** -+ * Return the translation key for the EntityType, so the client can translate it into the active -+ * locale when using a {@link net.kyori.adventure.text.TranslatableComponent}.
-+ * This is null, when the EntityType isn't known to NMS (custom entities) -+ * @return the translation key -+ */ -+ String getTranslationKey(org.bukkit.entity.EntityType type); -+ -+ /** -+ * Return the translation key for the ItemStack, so the client can translate it into the active -+ * locale when using a {@link net.kyori.adventure.text.TranslatableComponent}.
-+ * @return the translation key -+ */ -+ String getTranslationKey(ItemStack itemStack); - // Paper end + /** + * Get the translation key, suitable for use in a translation component. + * + * @return the translation key ++ * @deprecated look for a {@code translationKey()} method instead + */ + @NotNull ++ @Deprecated(forRemoval = true) // Paper + String getTranslationKey(); } diff --git a/src/main/java/org/bukkit/attribute/Attribute.java b/src/main/java/org/bukkit/attribute/Attribute.java index 13eac9ad2c1672051635d1c35cc49239252e7a61..107e36ef02a9481954bd770ce9a55a0b1e84be7a 100644 @@ -269,31 +257,28 @@ index 02c5fcbc76b2db6bf4eb7580456b5658c08272b4..d56e1b50dd7da18f40278cec4bfdc941 + // Paper end } diff --git a/src/main/java/org/bukkit/block/Block.java b/src/main/java/org/bukkit/block/Block.java -index af705e45204975a342e1454156ba143ed52cecdc..ce3b81c5d83c9747ea0e3410c932460d11bf5c55 100644 +index 06ef9e133125d80127e1dbd6ae0eda89fa08a1d7..35ed58bce2589bb097dd0f6bf2a6ebd76dc31fcd 100644 --- a/src/main/java/org/bukkit/block/Block.java +++ b/src/main/java/org/bukkit/block/Block.java -@@ -31,7 +31,7 @@ import org.jetbrains.annotations.Nullable; +@@ -32,7 +32,7 @@ import org.jetbrains.annotations.Nullable; * (i.e. lighting and power) may not be able to be safely accessed during world * generation when used in cases like BlockPhysicsEvent!!!! */ --public interface Block extends Metadatable { -+public interface Block extends Metadatable, net.kyori.adventure.translation.Translatable { // Paper - translatable +-public interface Block extends Metadatable, Translatable { ++public interface Block extends Metadatable, Translatable, net.kyori.adventure.translation.Translatable { // Paper - translatable /** * Gets the metadata for this block -@@ -672,5 +672,15 @@ public interface Block extends Metadatable { +@@ -673,5 +673,12 @@ public interface Block extends Metadatable, Translatable { * @return the sound group for this block */ @NotNull org.bukkit.SoundGroup getBlockSoundGroup(); + + /** -+ * Return the translation key for the Block, so the client can translate it into the active -+ * locale when using a TranslatableComponent. -+ * @return the translation key + * @deprecated use {@link #translationKey()} + */ + @NotNull -+ @Deprecated ++ @Deprecated(forRemoval = true) + String getTranslationKey(); // Paper end } @@ -326,36 +311,28 @@ index 4d5f0837bd0e02a30c943d8969fb6b13452322e0..a39f9c078f42451bd122f3e3729d10ca // Paper end } diff --git a/src/main/java/org/bukkit/entity/EntityType.java b/src/main/java/org/bukkit/entity/EntityType.java -index df9d315cfaf968527fc8bc26dadd88f64a408cde..50d9442ffafdfabd4904dafae7daaeadcedee75b 100644 +index 2caa5f82e206b231fd9e9f5508c3713816e5a0e4..80897ed8641a2bdc4e3557e20f3a8ae4b8c5da69 100644 --- a/src/main/java/org/bukkit/entity/EntityType.java +++ b/src/main/java/org/bukkit/entity/EntityType.java -@@ -20,7 +20,7 @@ import org.jetbrains.annotations.Contract; +@@ -22,7 +22,7 @@ import org.jetbrains.annotations.Contract; import org.jetbrains.annotations.NotNull; import org.jetbrains.annotations.Nullable; --public enum EntityType implements Keyed { -+public enum EntityType implements Keyed, net.kyori.adventure.translation.Translatable { // Paper - translatable +-public enum EntityType implements Keyed, Translatable { ++public enum EntityType implements Keyed, Translatable, net.kyori.adventure.translation.Translatable { // Paper - translatable // These strings MUST match the strings in nms.EntityTypes and are case sensitive. /** -@@ -425,4 +425,27 @@ public enum EntityType implements Keyed { - public boolean isAlive() { - return living; +@@ -430,7 +430,19 @@ public enum EntityType implements Keyed, Translatable { + + @Override + @NotNull ++ @Deprecated(forRemoval = true) // Paper + public String getTranslationKey() { + return Bukkit.getUnsafe().getTranslationKey(this); } -+ // Paper start -+ /** -+ * Return the translation key for the EntityType, so the client can translate it into the active -+ * locale when using a TranslatableComponent.
-+ * This is null, when the EntityType isn't known to NMS (custom entities) -+ * @return the translation key -+ * @deprecated use {@link #translationKey()} -+ */ -+ @Deprecated -+ @Nullable -+ public String getTranslationKey() { -+ return org.bukkit.Bukkit.getUnsafe().getTranslationKey(this); -+ } + ++ // Paper start + /** + * @throws IllegalArgumentException if the entity does not have a translation key (is probably a custom entity) + */ @@ -473,38 +450,32 @@ index 5bd252c0ae3b09fe141d131360c67bb9bfbf5422..78587d9fabe6371a23a7963917b054db + } diff --git a/src/main/java/org/bukkit/inventory/ItemStack.java b/src/main/java/org/bukkit/inventory/ItemStack.java -index d3334c62bf39abf17ee7f3e68e106fd637ffdf00..d6eafaa58b19ab44dfdef1baa58fa89c5b761b65 100644 +index 7c280d7beeb42dca52e36e77bbd41742b2572710..03a15727c85a08c0c79965be249373a11f31ce6e 100644 --- a/src/main/java/org/bukkit/inventory/ItemStack.java +++ b/src/main/java/org/bukkit/inventory/ItemStack.java -@@ -24,7 +24,7 @@ import org.jetbrains.annotations.Nullable; +@@ -25,7 +25,7 @@ import org.jetbrains.annotations.Nullable; * use this class to encapsulate Materials for which {@link Material#isItem()} * returns false. */ --public class ItemStack implements Cloneable, ConfigurationSerializable, net.kyori.adventure.text.event.HoverEventSource { // Paper -+public class ItemStack implements Cloneable, ConfigurationSerializable, net.kyori.adventure.text.event.HoverEventSource, net.kyori.adventure.translation.Translatable { // Paper +-public class ItemStack implements Cloneable, ConfigurationSerializable, Translatable, net.kyori.adventure.text.event.HoverEventSource { // Paper ++public class ItemStack implements Cloneable, ConfigurationSerializable, Translatable, net.kyori.adventure.text.event.HoverEventSource, net.kyori.adventure.translation.Translatable { // Paper private Material type = Material.AIR; private int amount = 0; private MaterialData data = null; -@@ -858,5 +858,30 @@ public class ItemStack implements Cloneable, ConfigurationSerializable, net.kyor +@@ -606,6 +606,7 @@ public class ItemStack implements Cloneable, ConfigurationSerializable, Translat + + @Override + @NotNull ++ @Deprecated(forRemoval = true) // Paper + public String getTranslationKey() { + return Bukkit.getUnsafe().getTranslationKey(this); + } +@@ -865,5 +866,16 @@ public class ItemStack implements Cloneable, ConfigurationSerializable, Translat ItemMeta itemMeta = getItemMeta(); return itemMeta != null && itemMeta.hasItemFlag(flag); } + + /** -+ * Gets the translation key for this itemstack. -+ * This is not the same as getting the translation key -+ * for the material of this itemstack. -+ * -+ * @return the translation key -+ * @deprecated use {@link #translationKey()} -+ */ -+ @NotNull -+ @Deprecated -+ public String getTranslationKey() { -+ return this.translationKey(); -+ } -+ -+ /** + * {@inheritDoc} + *

+ * This is not the same as getting the translation key diff --git a/patches/api/0224-Expose-the-Entity-Counter-to-allow-plugins-to-use-va.patch b/patches/api/0224-Expose-the-Entity-Counter-to-allow-plugins-to-use-va.patch index 0d12123896..7653717c83 100644 --- a/patches/api/0224-Expose-the-Entity-Counter-to-allow-plugins-to-use-va.patch +++ b/patches/api/0224-Expose-the-Entity-Counter-to-allow-plugins-to-use-va.patch @@ -6,13 +6,13 @@ Subject: [PATCH] Expose the Entity Counter to allow plugins to use valid and diff --git a/src/main/java/org/bukkit/UnsafeValues.java b/src/main/java/org/bukkit/UnsafeValues.java -index b518720355d8a8dcd55cb755e4e1fa9fc3dfc52b..824833a04df15551c8dd9ddfa8d4c1c9cf6d49c0 100644 +index bdc68e164a8d25a068bc51c04ba17b65a558ba78..7a6c22b9845798580635a938c28adf01908e04a0 100644 --- a/src/main/java/org/bukkit/UnsafeValues.java +++ b/src/main/java/org/bukkit/UnsafeValues.java -@@ -141,5 +141,12 @@ public interface UnsafeValues { - * @return the translation key - */ - String getTranslationKey(ItemStack itemStack); +@@ -121,5 +121,12 @@ public interface UnsafeValues { + byte[] serializeItem(ItemStack item); + + ItemStack deserializeItem(byte[] data); + + /** + * Creates and returns the next EntityId available. diff --git a/patches/api/0234-Add-Destroy-Speed-API.patch b/patches/api/0234-Add-Destroy-Speed-API.patch index a7835cadaa..bdf9933289 100644 --- a/patches/api/0234-Add-Destroy-Speed-API.patch +++ b/patches/api/0234-Add-Destroy-Speed-API.patch @@ -6,12 +6,12 @@ Subject: [PATCH] Add Destroy Speed API Co-authored-by: Jake Potrebic diff --git a/src/main/java/org/bukkit/block/Block.java b/src/main/java/org/bukkit/block/Block.java -index 2c837ea822f3b0c4ec312f0c956fe1b778cbd5e9..4a408361ac86b8c490942686c2709817338f4f59 100644 +index 35ed58bce2589bb097dd0f6bf2a6ebd76dc31fcd..ded1daaef53882a80e618f4ed97b50fd0ee4786c 100644 --- a/src/main/java/org/bukkit/block/Block.java +++ b/src/main/java/org/bukkit/block/Block.java -@@ -682,5 +682,29 @@ public interface Block extends Metadatable, net.kyori.adventure.translation.Tran +@@ -680,5 +680,29 @@ public interface Block extends Metadatable, Translatable, net.kyori.adventure.tr @NotNull - @Deprecated + @Deprecated(forRemoval = true) String getTranslationKey(); + + /** diff --git a/patches/api/0245-Additional-Block-Material-API-s.patch b/patches/api/0245-Additional-Block-Material-API-s.patch index fe8d819d32..5d7efccc1f 100644 --- a/patches/api/0245-Additional-Block-Material-API-s.patch +++ b/patches/api/0245-Additional-Block-Material-API-s.patch @@ -9,10 +9,10 @@ process to do this in the Bukkit API Adds API for buildable, replaceable, burnable too. diff --git a/src/main/java/org/bukkit/block/Block.java b/src/main/java/org/bukkit/block/Block.java -index 4a408361ac86b8c490942686c2709817338f4f59..43a0e57a6db702b2a40e151f151bfaa63b9d95d5 100644 +index ded1daaef53882a80e618f4ed97b50fd0ee4786c..4abd16a4e99ae0380b67c86b9744d71423053b5e 100644 --- a/src/main/java/org/bukkit/block/Block.java +++ b/src/main/java/org/bukkit/block/Block.java -@@ -438,6 +438,42 @@ public interface Block extends Metadatable, net.kyori.adventure.translation.Tran +@@ -439,6 +439,42 @@ public interface Block extends Metadatable, Translatable, net.kyori.adventure.tr */ boolean isLiquid(); diff --git a/patches/api/0257-Add-PaperRegistry.patch b/patches/api/0257-Add-PaperRegistry.patch index c5486a380d..d4857c45ed 100644 --- a/patches/api/0257-Add-PaperRegistry.patch +++ b/patches/api/0257-Add-PaperRegistry.patch @@ -91,10 +91,10 @@ index 0000000000000000000000000000000000000000..f29e76a6b66ddfec12ddf8db6dcb2df6 + } +} diff --git a/src/main/java/org/bukkit/UnsafeValues.java b/src/main/java/org/bukkit/UnsafeValues.java -index 824833a04df15551c8dd9ddfa8d4c1c9cf6d49c0..3d5185a1a3a5e5e1b1428ddbedec38f908f5870a 100644 +index 7a6c22b9845798580635a938c28adf01908e04a0..1b6fe8fadcf4860cd3411c0433bc775de3a870ad 100644 --- a/src/main/java/org/bukkit/UnsafeValues.java +++ b/src/main/java/org/bukkit/UnsafeValues.java -@@ -148,5 +148,15 @@ public interface UnsafeValues { +@@ -128,5 +128,15 @@ public interface UnsafeValues { * Use this when sending custom packets, so that there are no collisions on the client or server. */ public int nextEntityId(); diff --git a/patches/api/0258-Add-StructuresLocateEvent.patch b/patches/api/0258-Add-StructuresLocateEvent.patch index 267a1b8045..9f5a511014 100644 --- a/patches/api/0258-Add-StructuresLocateEvent.patch +++ b/patches/api/0258-Add-StructuresLocateEvent.patch @@ -443,10 +443,10 @@ index 0000000000000000000000000000000000000000..5a43e40b7311ed2acb51f6ba8b12d1f3 + } +} diff --git a/src/main/java/org/bukkit/Registry.java b/src/main/java/org/bukkit/Registry.java -index a77320257b691c3a380f7c59c350382c0c0fe863..ec59aa76488a1500ab3df46c98ba7b1d4179df4e 100644 +index ff1fcdaccbca81602278a0b52670f7b895ba22b7..9e39c028b3d7bea4f2998d6ed8d53d88361ccfcd 100644 --- a/src/main/java/org/bukkit/Registry.java +++ b/src/main/java/org/bukkit/Registry.java -@@ -210,6 +210,13 @@ public interface Registry extends Iterable { +@@ -211,6 +211,13 @@ public interface Registry extends Iterable { return GameEvent.getByKey(key); } }; diff --git a/patches/api/0272-Cache-the-result-of-Material-isBlock.patch b/patches/api/0272-Cache-the-result-of-Material-isBlock.patch index 62e0c5fb00..4ba6e74321 100644 --- a/patches/api/0272-Cache-the-result-of-Material-isBlock.patch +++ b/patches/api/0272-Cache-the-result-of-Material-isBlock.patch @@ -5,10 +5,10 @@ Subject: [PATCH] Cache the result of Material#isBlock diff --git a/src/main/java/org/bukkit/Material.java b/src/main/java/org/bukkit/Material.java -index 4d496c7c088a75b79a25e7397b47600a8c104cf4..b1214775680099c8255b45ed0285568572f12895 100644 +index 89af89e5fb49e202e80ea7688c62f8e119f4ddfe..7e447f8be7dc9768df487e1f7f4b9aafedb33e2d 100644 --- a/src/main/java/org/bukkit/Material.java +++ b/src/main/java/org/bukkit/Material.java -@@ -4232,6 +4232,7 @@ public enum Material implements Keyed, net.kyori.adventure.translation.Translata +@@ -4232,6 +4232,7 @@ public enum Material implements Keyed, Translatable, net.kyori.adventure.transla public final Class data; private final boolean legacy; private final NamespacedKey key; @@ -16,7 +16,7 @@ index 4d496c7c088a75b79a25e7397b47600a8c104cf4..b1214775680099c8255b45ed02855685 private Material(final int id) { this(id, 64); -@@ -4438,6 +4439,11 @@ public enum Material implements Keyed, net.kyori.adventure.translation.Translata +@@ -4430,6 +4431,11 @@ public enum Material implements Keyed, Translatable, net.kyori.adventure.transla * @return true if this material is a block */ public boolean isBlock() { @@ -28,7 +28,7 @@ index 4d496c7c088a75b79a25e7397b47600a8c104cf4..b1214775680099c8255b45ed02855685 switch (this) { // case ACACIA_BUTTON: -@@ -5593,6 +5599,7 @@ public enum Material implements Keyed, net.kyori.adventure.translation.Translata +@@ -5585,6 +5591,7 @@ public enum Material implements Keyed, Translatable, net.kyori.adventure.transla static { for (Material material : values()) { BY_NAME.put(material.name(), material); diff --git a/patches/api/0276-Add-Block-isValidTool.patch b/patches/api/0276-Add-Block-isValidTool.patch index 1ba9ed8d9a..84a641142e 100644 --- a/patches/api/0276-Add-Block-isValidTool.patch +++ b/patches/api/0276-Add-Block-isValidTool.patch @@ -5,10 +5,10 @@ Subject: [PATCH] Add Block#isValidTool diff --git a/src/main/java/org/bukkit/block/Block.java b/src/main/java/org/bukkit/block/Block.java -index 43a0e57a6db702b2a40e151f151bfaa63b9d95d5..c847bc83c0911007d226f1a8c6f1d0cefa9a1689 100644 +index 4abd16a4e99ae0380b67c86b9744d71423053b5e..96a3466181a6829e1868b5f5249349e8fd2cdd09 100644 --- a/src/main/java/org/bukkit/block/Block.java +++ b/src/main/java/org/bukkit/block/Block.java -@@ -229,6 +229,15 @@ public interface Block extends Metadatable, net.kyori.adventure.translation.Tran +@@ -230,6 +230,15 @@ public interface Block extends Metadatable, Translatable, net.kyori.adventure.tr public static int getBlockKeyZ(long packed) { return (int) ((packed << 10) >> 37); } diff --git a/patches/api/0277-Expand-world-key-API.patch b/patches/api/0277-Expand-world-key-API.patch index c9288c202d..ea1cc66c9b 100644 --- a/patches/api/0277-Expand-world-key-API.patch +++ b/patches/api/0277-Expand-world-key-API.patch @@ -78,10 +78,10 @@ index 02b898d441c42771903d5839c3cde544b1a25778..1a3b4f20c7126caf8a34040028f73508 * Create a new virtual {@link WorldBorder}. *

diff --git a/src/main/java/org/bukkit/UnsafeValues.java b/src/main/java/org/bukkit/UnsafeValues.java -index 3d5185a1a3a5e5e1b1428ddbedec38f908f5870a..b359a7bff658c4b3ff569e78e0751dc07437bb48 100644 +index 1b6fe8fadcf4860cd3411c0433bc775de3a870ad..027bbfe33011f26914852750b6f0a7200818dc95 100644 --- a/src/main/java/org/bukkit/UnsafeValues.java +++ b/src/main/java/org/bukkit/UnsafeValues.java -@@ -158,5 +158,10 @@ public interface UnsafeValues { +@@ -138,5 +138,10 @@ public interface UnsafeValues { * @throws IllegalArgumentException if there isn't a registry for that type */ @org.jetbrains.annotations.NotNull Registry registryFor(Class classOfT); diff --git a/patches/api/0278-Item-Rarity-API.patch b/patches/api/0278-Item-Rarity-API.patch index 3e3fcac796..22b88307e4 100644 --- a/patches/api/0278-Item-Rarity-API.patch +++ b/patches/api/0278-Item-Rarity-API.patch @@ -39,12 +39,12 @@ index 0000000000000000000000000000000000000000..74ef8395cc040ce488c2acaa416db202 + } +} diff --git a/src/main/java/org/bukkit/Material.java b/src/main/java/org/bukkit/Material.java -index b1214775680099c8255b45ed0285568572f12895..6fbbc3525574abd5189c9032f7d64dc55c0dfa80 100644 +index 7e447f8be7dc9768df487e1f7f4b9aafedb33e2d..eb8aa093148eea3b2fcafe06e8f1277ebbe2f275 100644 --- a/src/main/java/org/bukkit/Material.java +++ b/src/main/java/org/bukkit/Material.java -@@ -4306,6 +4306,17 @@ public enum Material implements Keyed, net.kyori.adventure.translation.Translata - public @NotNull String translationKey() { - return Bukkit.getUnsafe().getTranslationKey(this); +@@ -4298,6 +4298,17 @@ public enum Material implements Keyed, Translatable, net.kyori.adventure.transla + return Bukkit.getUnsafe().getBlockTranslationKey(this); + } } + + /** @@ -61,10 +61,10 @@ index b1214775680099c8255b45ed0285568572f12895..6fbbc3525574abd5189c9032f7d64dc5 /** diff --git a/src/main/java/org/bukkit/UnsafeValues.java b/src/main/java/org/bukkit/UnsafeValues.java -index b359a7bff658c4b3ff569e78e0751dc07437bb48..bc8e86f83423a0abdfe3516076636b02192e7501 100644 +index 027bbfe33011f26914852750b6f0a7200818dc95..2768aee1ec52037c32a7873a3018e659604175ce 100644 --- a/src/main/java/org/bukkit/UnsafeValues.java +++ b/src/main/java/org/bukkit/UnsafeValues.java -@@ -163,5 +163,22 @@ public interface UnsafeValues { +@@ -143,5 +143,22 @@ public interface UnsafeValues { * Just don't use it. */ @org.jetbrains.annotations.NotNull String getMainLevelName(); @@ -88,10 +88,10 @@ index b359a7bff658c4b3ff569e78e0751dc07437bb48..bc8e86f83423a0abdfe3516076636b02 // Paper end } diff --git a/src/main/java/org/bukkit/inventory/ItemStack.java b/src/main/java/org/bukkit/inventory/ItemStack.java -index d6eafaa58b19ab44dfdef1baa58fa89c5b761b65..75bd1f7a5a30d21ae61836072ec057a95b7c288b 100644 +index 03a15727c85a08c0c79965be249373a11f31ce6e..c6378a880eac9f444c66f640260e8d410efd015b 100644 --- a/src/main/java/org/bukkit/inventory/ItemStack.java +++ b/src/main/java/org/bukkit/inventory/ItemStack.java -@@ -883,5 +883,15 @@ public class ItemStack implements Cloneable, ConfigurationSerializable, net.kyor +@@ -877,5 +877,15 @@ public class ItemStack implements Cloneable, ConfigurationSerializable, Translat public @NotNull String translationKey() { return Bukkit.getUnsafe().getTranslationKey(this); } diff --git a/patches/api/0279-Expose-protocol-version.patch b/patches/api/0279-Expose-protocol-version.patch index ec1f242ac2..36702be6d1 100644 --- a/patches/api/0279-Expose-protocol-version.patch +++ b/patches/api/0279-Expose-protocol-version.patch @@ -5,10 +5,10 @@ Subject: [PATCH] Expose protocol version diff --git a/src/main/java/org/bukkit/UnsafeValues.java b/src/main/java/org/bukkit/UnsafeValues.java -index bc8e86f83423a0abdfe3516076636b02192e7501..8650d5b9bd322f0b67382fcd7900f922c5134a97 100644 +index 2768aee1ec52037c32a7873a3018e659604175ce..c63de60fd3c6b5c2cf3b5b01288d8309d9e6d02b 100644 --- a/src/main/java/org/bukkit/UnsafeValues.java +++ b/src/main/java/org/bukkit/UnsafeValues.java -@@ -180,5 +180,12 @@ public interface UnsafeValues { +@@ -160,5 +160,12 @@ public interface UnsafeValues { * @return the itemstack rarity */ public io.papermc.paper.inventory.ItemRarity getItemStackRarity(ItemStack itemStack); diff --git a/patches/api/0297-ItemStack-repair-check-API.patch b/patches/api/0297-ItemStack-repair-check-API.patch index ad6d09f01e..d9dee9799f 100644 --- a/patches/api/0297-ItemStack-repair-check-API.patch +++ b/patches/api/0297-ItemStack-repair-check-API.patch @@ -5,10 +5,10 @@ Subject: [PATCH] ItemStack repair check API diff --git a/src/main/java/org/bukkit/UnsafeValues.java b/src/main/java/org/bukkit/UnsafeValues.java -index 8650d5b9bd322f0b67382fcd7900f922c5134a97..6f4e02065bcb4130f5a30de01f3adbe3513c1d70 100644 +index c63de60fd3c6b5c2cf3b5b01288d8309d9e6d02b..ee20f8cd7c260540f4fa9235343841ddd6e72eba 100644 --- a/src/main/java/org/bukkit/UnsafeValues.java +++ b/src/main/java/org/bukkit/UnsafeValues.java -@@ -181,6 +181,16 @@ public interface UnsafeValues { +@@ -161,6 +161,16 @@ public interface UnsafeValues { */ public io.papermc.paper.inventory.ItemRarity getItemStackRarity(ItemStack itemStack); @@ -26,10 +26,10 @@ index 8650d5b9bd322f0b67382fcd7900f922c5134a97..6f4e02065bcb4130f5a30de01f3adbe3 * Returns the server's protocol version. * diff --git a/src/main/java/org/bukkit/inventory/ItemStack.java b/src/main/java/org/bukkit/inventory/ItemStack.java -index 75bd1f7a5a30d21ae61836072ec057a95b7c288b..0d0d7bda2d4fafffd3e80a359019626ab44031d0 100644 +index c6378a880eac9f444c66f640260e8d410efd015b..b731ac4f6cd82d8476e4040a2204f58b0f63a0d3 100644 --- a/src/main/java/org/bukkit/inventory/ItemStack.java +++ b/src/main/java/org/bukkit/inventory/ItemStack.java -@@ -893,5 +893,27 @@ public class ItemStack implements Cloneable, ConfigurationSerializable, net.kyor +@@ -887,5 +887,27 @@ public class ItemStack implements Cloneable, ConfigurationSerializable, Translat public io.papermc.paper.inventory.ItemRarity getRarity() { return Bukkit.getUnsafe().getItemStackRarity(this); } diff --git a/patches/api/0301-ItemStack-editMeta.patch b/patches/api/0301-ItemStack-editMeta.patch index a6b2d88a10..b3170677e6 100644 --- a/patches/api/0301-ItemStack-editMeta.patch +++ b/patches/api/0301-ItemStack-editMeta.patch @@ -5,10 +5,10 @@ Subject: [PATCH] ItemStack#editMeta diff --git a/src/main/java/org/bukkit/inventory/ItemStack.java b/src/main/java/org/bukkit/inventory/ItemStack.java -index 0d0d7bda2d4fafffd3e80a359019626ab44031d0..77ef41527a05e2d7899633ef7fa813774dd15bd9 100644 +index b731ac4f6cd82d8476e4040a2204f58b0f63a0d3..84ea952cdee1eaec5572641e09fdd85930ddeb47 100644 --- a/src/main/java/org/bukkit/inventory/ItemStack.java +++ b/src/main/java/org/bukkit/inventory/ItemStack.java -@@ -546,6 +546,50 @@ public class ItemStack implements Cloneable, ConfigurationSerializable, net.kyor +@@ -547,6 +547,50 @@ public class ItemStack implements Cloneable, ConfigurationSerializable, Translat return result.ensureServerConversions(); // Paper } diff --git a/patches/api/0303-Attributes-API-for-item-defaults.patch b/patches/api/0303-Attributes-API-for-item-defaults.patch index fb2164214c..cf9f6bf7b3 100644 --- a/patches/api/0303-Attributes-API-for-item-defaults.patch +++ b/patches/api/0303-Attributes-API-for-item-defaults.patch @@ -5,10 +5,10 @@ Subject: [PATCH] Attributes API for item defaults diff --git a/src/main/java/org/bukkit/Material.java b/src/main/java/org/bukkit/Material.java -index 6fbbc3525574abd5189c9032f7d64dc55c0dfa80..bdc51797e3e3c8ffb1db842e29ddb86beeec48ec 100644 +index eb8aa093148eea3b2fcafe06e8f1277ebbe2f275..9c6291531d3081bf601364815fdd0a9b801eee50 100644 --- a/src/main/java/org/bukkit/Material.java +++ b/src/main/java/org/bukkit/Material.java -@@ -4317,6 +4317,21 @@ public enum Material implements Keyed, net.kyori.adventure.translation.Translata +@@ -4309,6 +4309,21 @@ public enum Material implements Keyed, Translatable, net.kyori.adventure.transla public io.papermc.paper.inventory.ItemRarity getItemRarity() { return Bukkit.getUnsafe().getItemRarity(this); } @@ -31,10 +31,10 @@ index 6fbbc3525574abd5189c9032f7d64dc55c0dfa80..bdc51797e3e3c8ffb1db842e29ddb86b /** diff --git a/src/main/java/org/bukkit/UnsafeValues.java b/src/main/java/org/bukkit/UnsafeValues.java -index 6f4e02065bcb4130f5a30de01f3adbe3513c1d70..4e3eac5f06a6ded0f152f1744fcebfeef6b48814 100644 +index ee20f8cd7c260540f4fa9235343841ddd6e72eba..dc1dc789c6f8eebc026ca990ed44fa7c6cb88f19 100644 --- a/src/main/java/org/bukkit/UnsafeValues.java +++ b/src/main/java/org/bukkit/UnsafeValues.java -@@ -191,6 +191,18 @@ public interface UnsafeValues { +@@ -171,6 +171,18 @@ public interface UnsafeValues { */ public boolean isValidRepairItemStack(@org.jetbrains.annotations.NotNull ItemStack itemToBeRepaired, @org.jetbrains.annotations.NotNull ItemStack repairMaterial); diff --git a/patches/api/0331-Get-entity-default-attributes.patch b/patches/api/0331-Get-entity-default-attributes.patch index b4b4a952ea..502c1f8c5a 100644 --- a/patches/api/0331-Get-entity-default-attributes.patch +++ b/patches/api/0331-Get-entity-default-attributes.patch @@ -5,10 +5,10 @@ Subject: [PATCH] Get entity default attributes diff --git a/src/main/java/org/bukkit/UnsafeValues.java b/src/main/java/org/bukkit/UnsafeValues.java -index 4e3eac5f06a6ded0f152f1744fcebfeef6b48814..68b560af277d4913306fb1b9c88c2fadcd2f446a 100644 +index dc1dc789c6f8eebc026ca990ed44fa7c6cb88f19..edcf0ca00aaf9d9ad26eb7fb04075fba101169fd 100644 --- a/src/main/java/org/bukkit/UnsafeValues.java +++ b/src/main/java/org/bukkit/UnsafeValues.java -@@ -209,5 +209,22 @@ public interface UnsafeValues { +@@ -189,5 +189,22 @@ public interface UnsafeValues { * @return the server's protocol version */ int getProtocolVersion(); @@ -32,10 +32,10 @@ index 4e3eac5f06a6ded0f152f1744fcebfeef6b48814..68b560af277d4913306fb1b9c88c2fad // Paper end } diff --git a/src/main/java/org/bukkit/entity/EntityType.java b/src/main/java/org/bukkit/entity/EntityType.java -index 50d9442ffafdfabd4904dafae7daaeadcedee75b..5a0c96875d9c3bd32b4649a3fccd43af1ccb195b 100644 +index 80897ed8641a2bdc4e3557e20f3a8ae4b8c5da69..4915c1064a9b6bf1d485f9e6e42b9f6e4e12f236 100644 --- a/src/main/java/org/bukkit/entity/EntityType.java +++ b/src/main/java/org/bukkit/entity/EntityType.java -@@ -447,5 +447,24 @@ public enum EntityType implements Keyed, net.kyori.adventure.translation.Transla +@@ -444,5 +444,24 @@ public enum EntityType implements Keyed, Translatable, net.kyori.adventure.trans Preconditions.checkArgument(this != UNKNOWN, "UNKNOWN entities do not have translation keys"); return org.bukkit.Bukkit.getUnsafe().getTranslationKey(this); } diff --git a/patches/api/0337-Add-isCollidable-methods-to-various-places.patch b/patches/api/0337-Add-isCollidable-methods-to-various-places.patch index 4607f0597e..dbc60870ba 100644 --- a/patches/api/0337-Add-isCollidable-methods-to-various-places.patch +++ b/patches/api/0337-Add-isCollidable-methods-to-various-places.patch @@ -5,10 +5,10 @@ Subject: [PATCH] Add isCollidable methods to various places diff --git a/src/main/java/org/bukkit/Material.java b/src/main/java/org/bukkit/Material.java -index bdc51797e3e3c8ffb1db842e29ddb86beeec48ec..56459876a7736bd3a015e0aba511313997f9ec65 100644 +index 9c6291531d3081bf601364815fdd0a9b801eee50..33371518fc8c5d97625f3d528ba8fee25d8c9c00 100644 --- a/src/main/java/org/bukkit/Material.java +++ b/src/main/java/org/bukkit/Material.java -@@ -4332,6 +4332,16 @@ public enum Material implements Keyed, net.kyori.adventure.translation.Translata +@@ -4324,6 +4324,16 @@ public enum Material implements Keyed, Translatable, net.kyori.adventure.transla public Multimap getItemAttributes(@NotNull EquipmentSlot equipmentSlot) { return Bukkit.getUnsafe().getItemAttributes(this, equipmentSlot); } @@ -26,10 +26,10 @@ index bdc51797e3e3c8ffb1db842e29ddb86beeec48ec..56459876a7736bd3a015e0aba5113139 /** diff --git a/src/main/java/org/bukkit/UnsafeValues.java b/src/main/java/org/bukkit/UnsafeValues.java -index 68b560af277d4913306fb1b9c88c2fadcd2f446a..9fd64aa7f2487b07fe0a6873bd57a0ed483499a3 100644 +index edcf0ca00aaf9d9ad26eb7fb04075fba101169fd..4b0b1afcf3f8fa8929311dae47df91d0b7dd6fdc 100644 --- a/src/main/java/org/bukkit/UnsafeValues.java +++ b/src/main/java/org/bukkit/UnsafeValues.java -@@ -226,5 +226,14 @@ public interface UnsafeValues { +@@ -206,5 +206,14 @@ public interface UnsafeValues { * @throws IllegalArgumentException if the entity does not exist of have default attributes (use {@link #hasDefaultEntityAttributes(NamespacedKey)} first) */ @org.jetbrains.annotations.NotNull org.bukkit.attribute.Attributable getDefaultEntityAttributes(@org.jetbrains.annotations.NotNull NamespacedKey entityKey); @@ -45,10 +45,10 @@ index 68b560af277d4913306fb1b9c88c2fadcd2f446a..9fd64aa7f2487b07fe0a6873bd57a0ed // Paper end } diff --git a/src/main/java/org/bukkit/block/Block.java b/src/main/java/org/bukkit/block/Block.java -index c847bc83c0911007d226f1a8c6f1d0cefa9a1689..cff39708e66208921da15d12d94407d6b6950298 100644 +index 96a3466181a6829e1868b5f5249349e8fd2cdd09..cda6e7d8e032b3edc919995141dc260b1ea82810 100644 --- a/src/main/java/org/bukkit/block/Block.java +++ b/src/main/java/org/bukkit/block/Block.java -@@ -481,6 +481,13 @@ public interface Block extends Metadatable, net.kyori.adventure.translation.Tran +@@ -482,6 +482,13 @@ public interface Block extends Metadatable, Translatable, net.kyori.adventure.tr * @return true if block is solid */ boolean isSolid(); diff --git a/patches/api/0340-Add-Raw-Byte-Entity-Serialization.patch b/patches/api/0340-Add-Raw-Byte-Entity-Serialization.patch index 27fcb0fc86..9be43fece0 100644 --- a/patches/api/0340-Add-Raw-Byte-Entity-Serialization.patch +++ b/patches/api/0340-Add-Raw-Byte-Entity-Serialization.patch @@ -5,10 +5,10 @@ Subject: [PATCH] Add Raw Byte Entity Serialization diff --git a/src/main/java/org/bukkit/UnsafeValues.java b/src/main/java/org/bukkit/UnsafeValues.java -index 9fd64aa7f2487b07fe0a6873bd57a0ed483499a3..aa252abe42c184914d6b50ad1f94ba7ada22d7df 100644 +index 4b0b1afcf3f8fa8929311dae47df91d0b7dd6fdc..dda436f61b174bf1bd94033a09468626f099ee3a 100644 --- a/src/main/java/org/bukkit/UnsafeValues.java +++ b/src/main/java/org/bukkit/UnsafeValues.java -@@ -113,6 +113,14 @@ public interface UnsafeValues { +@@ -122,6 +122,14 @@ public interface UnsafeValues { ItemStack deserializeItem(byte[] data); @@ -21,8 +21,8 @@ index 9fd64aa7f2487b07fe0a6873bd57a0ed483499a3..aa252abe42c184914d6b50ad1f94ba7a + org.bukkit.entity.Entity deserializeEntity(byte[] data, World world, boolean preserveUUID); + /** - * Return the translation key for the Material, so the client can translate it into the active - * locale when using a {@link net.kyori.adventure.text.TranslatableComponent}. + * Creates and returns the next EntityId available. + *

diff --git a/src/main/java/org/bukkit/entity/Entity.java b/src/main/java/org/bukkit/entity/Entity.java index e3218b5c170e1916a991aa1fae6a4f4e26dc034d..570d446869022008d01ba382e85ec69fcb25f99d 100644 --- a/src/main/java/org/bukkit/entity/Entity.java diff --git a/patches/api/0361-More-PotionEffectType-API.patch b/patches/api/0361-More-PotionEffectType-API.patch index aa6840470d..81fe72fe80 100644 --- a/patches/api/0361-More-PotionEffectType-API.patch +++ b/patches/api/0361-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 ec59aa76488a1500ab3df46c98ba7b1d4179df4e..56a90dbf1a61dce615ee0f712851bf01de06b28c 100644 +index 9e39c028b3d7bea4f2998d6ed8d53d88361ccfcd..3dc747080b7bfea4b04b5a47cc7ae4698c758802 100644 --- a/src/main/java/org/bukkit/Registry.java +++ b/src/main/java/org/bukkit/Registry.java -@@ -216,6 +216,25 @@ public interface Registry extends Iterable { +@@ -217,6 +217,25 @@ public interface Registry extends Iterable { * @see io.papermc.paper.world.structure.ConfiguredStructure */ Registry CONFIGURED_STRUCTURE = Bukkit.getRegistry(io.papermc.paper.world.structure.ConfiguredStructure.class); diff --git a/patches/api/0372-Add-getComputedBiome-API.patch b/patches/api/0372-Add-getComputedBiome-API.patch index b192af7101..98dc77cad2 100644 --- a/patches/api/0372-Add-getComputedBiome-API.patch +++ b/patches/api/0372-Add-getComputedBiome-API.patch @@ -51,10 +51,10 @@ index 43b53c21af01e0f496c8aaacff82dfdfadaf40f6..3f7e860de4e28745fcdf8d2f41f4a8c2 * Sets the {@link Biome} at the given {@link Location}. * diff --git a/src/main/java/org/bukkit/block/Block.java b/src/main/java/org/bukkit/block/Block.java -index cff39708e66208921da15d12d94407d6b6950298..e405c279f6135c94c775a856ab88fd3cace6bd5c 100644 +index cda6e7d8e032b3edc919995141dc260b1ea82810..13485933b8b897b5a9b35f337b43eab5c968f13a 100644 --- a/src/main/java/org/bukkit/block/Block.java +++ b/src/main/java/org/bukkit/block/Block.java -@@ -370,10 +370,22 @@ public interface Block extends Metadatable, net.kyori.adventure.translation.Tran +@@ -371,10 +371,22 @@ public interface Block extends Metadatable, Translatable, net.kyori.adventure.tr * Returns the biome that this block resides in * * @return Biome type containing this block diff --git a/patches/api/0373-Add-enchantWithLevels-API.patch b/patches/api/0373-Add-enchantWithLevels-API.patch index 394fcb62bf..42506ea030 100644 --- a/patches/api/0373-Add-enchantWithLevels-API.patch +++ b/patches/api/0373-Add-enchantWithLevels-API.patch @@ -32,10 +32,10 @@ index 2acafae468fcbb7213d6b6c30803a3924a3bbc30..40edff7c93b6bf75de81102326667135 * Creates a hover event for the given item. * diff --git a/src/main/java/org/bukkit/inventory/ItemStack.java b/src/main/java/org/bukkit/inventory/ItemStack.java -index 77ef41527a05e2d7899633ef7fa813774dd15bd9..b8a344fd900dcbd4b28085a54b85b16c742e9c6f 100644 +index 84ea952cdee1eaec5572641e09fdd85930ddeb47..6f33145f1ccc7645616f310a68676207318c2a58 100644 --- a/src/main/java/org/bukkit/inventory/ItemStack.java +++ b/src/main/java/org/bukkit/inventory/ItemStack.java -@@ -648,6 +648,24 @@ public class ItemStack implements Cloneable, ConfigurationSerializable, net.kyor +@@ -656,6 +656,24 @@ public class ItemStack implements Cloneable, ConfigurationSerializable, Translat } // Paper start diff --git a/patches/api/0391-Block-Ticking-API.patch b/patches/api/0391-Block-Ticking-API.patch index 01e89b8a66..b6f73760b2 100644 --- a/patches/api/0391-Block-Ticking-API.patch +++ b/patches/api/0391-Block-Ticking-API.patch @@ -5,10 +5,10 @@ Subject: [PATCH] Block Ticking API diff --git a/src/main/java/org/bukkit/block/Block.java b/src/main/java/org/bukkit/block/Block.java -index 0b02bfce9ee01c6beb14348129ab86c751c01e54..aba40431c5a1ae43106a678445483e0653e130d1 100644 +index 13485933b8b897b5a9b35f337b43eab5c968f13a..390a2a2611df35a9ea6f1eb996b47e2aa4597ff0 100644 --- a/src/main/java/org/bukkit/block/Block.java +++ b/src/main/java/org/bukkit/block/Block.java -@@ -588,6 +588,21 @@ public interface Block extends Metadatable, net.kyori.adventure.translation.Tran +@@ -589,6 +589,21 @@ public interface Block extends Metadatable, Translatable, net.kyori.adventure.tr * @return true if the block was destroyed */ boolean breakNaturally(@NotNull ItemStack tool, boolean triggerEffect, boolean dropExperience); @@ -31,10 +31,10 @@ index 0b02bfce9ee01c6beb14348129ab86c751c01e54..aba40431c5a1ae43106a678445483e06 /** diff --git a/src/main/java/org/bukkit/block/data/BlockData.java b/src/main/java/org/bukkit/block/data/BlockData.java -index 62273e32e87b0dbc568747a67156366d4d4972bd..bd987bd0a29618dfe07de50b194fd6fa694628ec 100644 +index e7ea3f9a60968f257c631bbefcc31653e6ae3728..dcfd515af841cbb957a9a651b6350c88840c041e 100644 --- a/src/main/java/org/bukkit/block/data/BlockData.java +++ b/src/main/java/org/bukkit/block/data/BlockData.java -@@ -151,4 +151,14 @@ public interface BlockData extends Cloneable { +@@ -199,4 +199,14 @@ public interface BlockData extends Cloneable { * @return true if the face is sturdy and can support a block, false otherwise */ boolean isFaceSturdy(@NotNull BlockFace face, @NotNull BlockSupport support); diff --git a/patches/api/0392-Add-NamespacedKey-biome-methods.patch b/patches/api/0392-Add-NamespacedKey-biome-methods.patch index 89d36528f2..aa346d768f 100644 --- a/patches/api/0392-Add-NamespacedKey-biome-methods.patch +++ b/patches/api/0392-Add-NamespacedKey-biome-methods.patch @@ -6,10 +6,10 @@ Subject: [PATCH] Add NamespacedKey biome methods Co-authored-by: Thonk <30448663+ExcessiveAmountsOfZombies@users.noreply.github.com> diff --git a/src/main/java/org/bukkit/UnsafeValues.java b/src/main/java/org/bukkit/UnsafeValues.java -index aa252abe42c184914d6b50ad1f94ba7ada22d7df..854be548e5a645e7312e6e9390d5255f8b1d61e6 100644 +index dda436f61b174bf1bd94033a09468626f099ee3a..0f4a642a851eace1f3694b9bc0027c2ffdff3695 100644 --- a/src/main/java/org/bukkit/UnsafeValues.java +++ b/src/main/java/org/bukkit/UnsafeValues.java -@@ -243,5 +243,32 @@ public interface UnsafeValues { +@@ -223,5 +223,32 @@ public interface UnsafeValues { * @throws IllegalArgumentException if {@link Material#isBlock()} is false */ boolean isCollidable(@org.jetbrains.annotations.NotNull Material material); diff --git a/patches/api/0399-Add-getDrops-to-BlockState-and-isPreferredTool-to-Bl.patch b/patches/api/0399-Add-getDrops-to-BlockState.patch similarity index 66% rename from patches/api/0399-Add-getDrops-to-BlockState-and-isPreferredTool-to-Bl.patch rename to patches/api/0399-Add-getDrops-to-BlockState.patch index c23b7577e0..48f3a99f04 100644 --- a/patches/api/0399-Add-getDrops-to-BlockState-and-isPreferredTool-to-Bl.patch +++ b/patches/api/0399-Add-getDrops-to-BlockState.patch @@ -1,8 +1,10 @@ From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 From: MelnCat Date: Fri, 12 Aug 2022 23:24:53 -0700 -Subject: [PATCH] Add getDrops to BlockState and isPreferredTool to BlockData +Subject: [PATCH] Add getDrops to BlockState +Originally added isPreferredTool to BlockData but +upstream added that. diff --git a/src/main/java/org/bukkit/block/BlockState.java b/src/main/java/org/bukkit/block/BlockState.java index 10cbe71917bc32cca61748bcb0aa3395c554dbf8..37ca7b6b0fcee8bec12026ec3715dcc47400cc11 100644 @@ -43,24 +45,3 @@ index 10cbe71917bc32cca61748bcb0aa3395c554dbf8..37ca7b6b0fcee8bec12026ec3715dcc4 + java.util.@org.jetbrains.annotations.Unmodifiable Collection getDrops(@NotNull org.bukkit.inventory.ItemStack tool, @Nullable org.bukkit.entity.Entity entity); // Paper end } -diff --git a/src/main/java/org/bukkit/block/data/BlockData.java b/src/main/java/org/bukkit/block/data/BlockData.java -index bd987bd0a29618dfe07de50b194fd6fa694628ec..b166d053b3c44f06cb1f5b643e7f7e117eb21d17 100644 ---- a/src/main/java/org/bukkit/block/data/BlockData.java -+++ b/src/main/java/org/bukkit/block/data/BlockData.java -@@ -160,5 +160,16 @@ public interface BlockData extends Cloneable { - * @return is ticked randomly - */ - boolean isRandomlyTicked(); -+ -+ /** -+ * Returns if the given item is a preferred choice to break this block. -+ * -+ * In some cases this determines if a block will drop anything or extra -+ * loot. -+ * -+ * @param tool The tool or item used for breaking this block -+ * @return true if the tool is preferred for breaking this block -+ */ -+ boolean isPreferredTool(@NotNull org.bukkit.inventory.ItemStack tool); - // Paper end - } diff --git a/patches/api/0412-ItemStack-damage-API.patch b/patches/api/0412-ItemStack-damage-API.patch index fc4b8c7020..18ce400014 100644 --- a/patches/api/0412-ItemStack-damage-API.patch +++ b/patches/api/0412-ItemStack-damage-API.patch @@ -8,7 +8,7 @@ to simulate damage done to an itemstack and all the logic associated with damaging them diff --git a/src/main/java/org/bukkit/entity/LivingEntity.java b/src/main/java/org/bukkit/entity/LivingEntity.java -index b18a833019c81b8e46535a1b4c42ba3987a97c90..717c7419d872286e38b6919503ab0e6537c55387 100644 +index f5a4160afb75549dd56a237cf99ec733efef9b4c..285b4028eb45439c052d6a2e9001a8c0bfacd49a 100644 --- a/src/main/java/org/bukkit/entity/LivingEntity.java +++ b/src/main/java/org/bukkit/entity/LivingEntity.java @@ -1082,5 +1082,48 @@ public interface LivingEntity extends Attributable, Damageable, ProjectileSource @@ -61,10 +61,10 @@ index b18a833019c81b8e46535a1b4c42ba3987a97c90..717c7419d872286e38b6919503ab0e65 // Paper end } diff --git a/src/main/java/org/bukkit/inventory/ItemStack.java b/src/main/java/org/bukkit/inventory/ItemStack.java -index b8a344fd900dcbd4b28085a54b85b16c742e9c6f..870c0ddd101094a3bce1ebf5ec4d42c51053db84 100644 +index 6f33145f1ccc7645616f310a68676207318c2a58..449d6e1995eedbfaeffdc5d1f1c2295378006aa8 100644 --- a/src/main/java/org/bukkit/inventory/ItemStack.java +++ b/src/main/java/org/bukkit/inventory/ItemStack.java -@@ -977,5 +977,19 @@ public class ItemStack implements Cloneable, ConfigurationSerializable, net.kyor +@@ -971,5 +971,19 @@ public class ItemStack implements Cloneable, ConfigurationSerializable, Translat public boolean canRepair(@NotNull ItemStack toBeRepaired) { return Bukkit.getUnsafe().isValidRepairItemStack(toBeRepaired, this); } diff --git a/patches/api/0418-Mark-experimental-api-as-such.patch b/patches/api/0418-Mark-experimental-api-as-such.patch index a75596d1c2..f9ae383a2e 100644 --- a/patches/api/0418-Mark-experimental-api-as-such.patch +++ b/patches/api/0418-Mark-experimental-api-as-such.patch @@ -5,10 +5,10 @@ Subject: [PATCH] Mark experimental api as such diff --git a/src/main/java/org/bukkit/Material.java b/src/main/java/org/bukkit/Material.java -index 56459876a7736bd3a015e0aba511313997f9ec65..e5b94299793ba7cb9071a3f3a35ddbe08b0b9906 100644 +index 33371518fc8c5d97625f3d528ba8fee25d8c9c00..7eb5413ea1d94ddacd98edb57074611dac94a41c 100644 --- a/src/main/java/org/bukkit/Material.java +++ b/src/main/java/org/bukkit/Material.java -@@ -154,9 +154,11 @@ public enum Material implements Keyed, net.kyori.adventure.translation.Translata +@@ -154,9 +154,11 @@ public enum Material implements Keyed, Translatable, net.kyori.adventure.transla ACACIA_PLANKS(31312), DARK_OAK_PLANKS(20869), MANGROVE_PLANKS(7078), @@ -20,7 +20,7 @@ index 56459876a7736bd3a015e0aba511313997f9ec65..e5b94299793ba7cb9071a3f3a35ddbe0 BAMBOO_MOSAIC(10715), /** * BlockData: {@link Sapling} -@@ -352,6 +354,7 @@ public enum Material implements Keyed, net.kyori.adventure.translation.Translata +@@ -352,6 +354,7 @@ public enum Material implements Keyed, Translatable, net.kyori.adventure.transla /** * BlockData: {@link Orientable} */ @@ -28,7 +28,7 @@ index 56459876a7736bd3a015e0aba511313997f9ec65..e5b94299793ba7cb9071a3f3a35ddbe0 BAMBOO_BLOCK(20770, Orientable.class), /** * BlockData: {@link Orientable} -@@ -428,6 +431,7 @@ public enum Material implements Keyed, net.kyori.adventure.translation.Translata +@@ -428,6 +431,7 @@ public enum Material implements Keyed, Translatable, net.kyori.adventure.transla /** * BlockData: {@link Orientable} */ @@ -36,7 +36,7 @@ index 56459876a7736bd3a015e0aba511313997f9ec65..e5b94299793ba7cb9071a3f3a35ddbe0 STRIPPED_BAMBOO_BLOCK(14799, Orientable.class), /** * BlockData: {@link Orientable} -@@ -622,10 +626,12 @@ public enum Material implements Keyed, net.kyori.adventure.translation.Translata +@@ -622,10 +626,12 @@ public enum Material implements Keyed, Translatable, net.kyori.adventure.transla /** * BlockData: {@link Slab} */ @@ -49,7 +49,7 @@ index 56459876a7736bd3a015e0aba511313997f9ec65..e5b94299793ba7cb9071a3f3a35ddbe0 BAMBOO_MOSAIC_SLAB(22118, Slab.class), /** * BlockData: {@link Slab} -@@ -712,6 +718,7 @@ public enum Material implements Keyed, net.kyori.adventure.translation.Translata +@@ -712,6 +718,7 @@ public enum Material implements Keyed, Translatable, net.kyori.adventure.transla /** * BlockData: {@link ChiseledBookshelf} */ @@ -57,7 +57,7 @@ index 56459876a7736bd3a015e0aba511313997f9ec65..e5b94299793ba7cb9071a3f3a35ddbe0 CHISELED_BOOKSHELF(8099, ChiseledBookshelf.class), MOSSY_COBBLESTONE(21900), OBSIDIAN(32723), -@@ -805,6 +812,7 @@ public enum Material implements Keyed, net.kyori.adventure.translation.Translata +@@ -805,6 +812,7 @@ public enum Material implements Keyed, Translatable, net.kyori.adventure.transla /** * BlockData: {@link Fence} */ @@ -65,7 +65,7 @@ index 56459876a7736bd3a015e0aba511313997f9ec65..e5b94299793ba7cb9071a3f3a35ddbe0 BAMBOO_FENCE(17207, Fence.class), /** * BlockData: {@link Fence} -@@ -981,10 +989,12 @@ public enum Material implements Keyed, net.kyori.adventure.translation.Translata +@@ -981,10 +989,12 @@ public enum Material implements Keyed, Translatable, net.kyori.adventure.transla /** * BlockData: {@link Stairs} */ @@ -78,7 +78,7 @@ index 56459876a7736bd3a015e0aba511313997f9ec65..e5b94299793ba7cb9071a3f3a35ddbe0 BAMBOO_MOSAIC_STAIRS(20977, Stairs.class), /** * BlockData: {@link Stairs} -@@ -1828,6 +1838,7 @@ public enum Material implements Keyed, net.kyori.adventure.translation.Translata +@@ -1828,6 +1838,7 @@ public enum Material implements Keyed, Translatable, net.kyori.adventure.transla /** * BlockData: {@link Switch} */ @@ -86,7 +86,7 @@ index 56459876a7736bd3a015e0aba511313997f9ec65..e5b94299793ba7cb9071a3f3a35ddbe0 BAMBOO_BUTTON(21810, Switch.class), /** * BlockData: {@link Switch} -@@ -1884,6 +1895,7 @@ public enum Material implements Keyed, net.kyori.adventure.translation.Translata +@@ -1884,6 +1895,7 @@ public enum Material implements Keyed, Translatable, net.kyori.adventure.transla /** * BlockData: {@link Powerable} */ @@ -94,7 +94,7 @@ index 56459876a7736bd3a015e0aba511313997f9ec65..e5b94299793ba7cb9071a3f3a35ddbe0 BAMBOO_PRESSURE_PLATE(26740, Powerable.class), /** * BlockData: {@link Powerable} -@@ -1928,6 +1940,7 @@ public enum Material implements Keyed, net.kyori.adventure.translation.Translata +@@ -1928,6 +1940,7 @@ public enum Material implements Keyed, Translatable, net.kyori.adventure.transla /** * BlockData: {@link Door} */ @@ -102,7 +102,7 @@ index 56459876a7736bd3a015e0aba511313997f9ec65..e5b94299793ba7cb9071a3f3a35ddbe0 BAMBOO_DOOR(19971, Door.class), /** * BlockData: {@link Door} -@@ -1972,6 +1985,7 @@ public enum Material implements Keyed, net.kyori.adventure.translation.Translata +@@ -1972,6 +1985,7 @@ public enum Material implements Keyed, Translatable, net.kyori.adventure.transla /** * BlockData: {@link TrapDoor} */ @@ -110,7 +110,7 @@ index 56459876a7736bd3a015e0aba511313997f9ec65..e5b94299793ba7cb9071a3f3a35ddbe0 BAMBOO_TRAPDOOR(9174, TrapDoor.class), /** * BlockData: {@link TrapDoor} -@@ -2012,6 +2026,7 @@ public enum Material implements Keyed, net.kyori.adventure.translation.Translata +@@ -2012,6 +2026,7 @@ public enum Material implements Keyed, Translatable, net.kyori.adventure.transla /** * BlockData: {@link Gate} */ @@ -118,7 +118,7 @@ index 56459876a7736bd3a015e0aba511313997f9ec65..e5b94299793ba7cb9071a3f3a35ddbe0 BAMBOO_FENCE_GATE(14290, Gate.class), /** * BlockData: {@link Gate} -@@ -2060,7 +2075,9 @@ public enum Material implements Keyed, net.kyori.adventure.translation.Translata +@@ -2060,7 +2075,9 @@ public enum Material implements Keyed, Translatable, net.kyori.adventure.transla DARK_OAK_CHEST_BOAT(8733, 1), MANGROVE_BOAT(20792, 1), MANGROVE_CHEST_BOAT(18572, 1), @@ -128,7 +128,7 @@ index 56459876a7736bd3a015e0aba511313997f9ec65..e5b94299793ba7cb9071a3f3a35ddbe0 BAMBOO_CHEST_RAFT(20056, 1), /** * BlockData: {@link StructureBlock} -@@ -2194,6 +2211,7 @@ public enum Material implements Keyed, net.kyori.adventure.translation.Translata +@@ -2194,6 +2211,7 @@ public enum Material implements Keyed, Translatable, net.kyori.adventure.transla /** * BlockData: {@link Sign} */ @@ -136,7 +136,7 @@ index 56459876a7736bd3a015e0aba511313997f9ec65..e5b94299793ba7cb9071a3f3a35ddbe0 BAMBOO_SIGN(26139, 16, Sign.class), /** * BlockData: {@link Sign} -@@ -2206,42 +2224,52 @@ public enum Material implements Keyed, net.kyori.adventure.translation.Translata +@@ -2206,42 +2224,52 @@ public enum Material implements Keyed, Translatable, net.kyori.adventure.transla /** * BlockData: {@link HangingSign} */ @@ -189,7 +189,7 @@ index 56459876a7736bd3a015e0aba511313997f9ec65..e5b94299793ba7cb9071a3f3a35ddbe0 WARPED_HANGING_SIGN(8195, 16, HangingSign.class), BUCKET(15215, 16), WATER_BUCKET(8802, 1), -@@ -2265,6 +2293,7 @@ public enum Material implements Keyed, net.kyori.adventure.translation.Translata +@@ -2265,6 +2293,7 @@ public enum Material implements Keyed, Translatable, net.kyori.adventure.transla EGG(21603, 16), COMPASS(24139), RECOVERY_COMPASS(12710), @@ -197,7 +197,7 @@ index 56459876a7736bd3a015e0aba511313997f9ec65..e5b94299793ba7cb9071a3f3a35ddbe0 BUNDLE(16835, 1), FISHING_ROD(4167, 1, 64), CLOCK(14980), -@@ -2405,6 +2434,7 @@ public enum Material implements Keyed, net.kyori.adventure.translation.Translata +@@ -2405,6 +2434,7 @@ public enum Material implements Keyed, Translatable, net.kyori.adventure.transla BEE_SPAWN_EGG(22924), BLAZE_SPAWN_EGG(4759), CAT_SPAWN_EGG(29583), @@ -205,7 +205,7 @@ index 56459876a7736bd3a015e0aba511313997f9ec65..e5b94299793ba7cb9071a3f3a35ddbe0 CAMEL_SPAWN_EGG(14760), CAVE_SPIDER_SPAWN_EGG(23341), CHICKEN_SPAWN_EGG(5462), -@@ -2515,6 +2545,7 @@ public enum Material implements Keyed, net.kyori.adventure.translation.Translata +@@ -2515,6 +2545,7 @@ public enum Material implements Keyed, Translatable, net.kyori.adventure.transla /** * BlockData: {@link Rotatable} */ @@ -213,7 +213,7 @@ index 56459876a7736bd3a015e0aba511313997f9ec65..e5b94299793ba7cb9071a3f3a35ddbe0 PIGLIN_HEAD(5512, Rotatable.class), NETHER_STAR(12469), PUMPKIN_PIE(28725), -@@ -2916,46 +2947,57 @@ public enum Material implements Keyed, net.kyori.adventure.translation.Translata +@@ -2916,46 +2947,57 @@ public enum Material implements Keyed, Translatable, net.kyori.adventure.transla /** * BlockData: {@link WallSign} */ @@ -271,7 +271,7 @@ index 56459876a7736bd3a015e0aba511313997f9ec65..e5b94299793ba7cb9071a3f3a35ddbe0 BAMBOO_WALL_HANGING_SIGN(6669, WallHangingSign.class), /** * BlockData: {@link RedstoneWallTorch} -@@ -3063,6 +3105,7 @@ public enum Material implements Keyed, net.kyori.adventure.translation.Translata +@@ -3063,6 +3105,7 @@ public enum Material implements Keyed, Translatable, net.kyori.adventure.transla /** * BlockData: {@link Directional} */ @@ -427,10 +427,10 @@ index 17e4e0a822d4372e0a98612294ec0bd728830164..f827d8f508441a035974974d34450879 /** diff --git a/src/main/java/org/bukkit/entity/EntityType.java b/src/main/java/org/bukkit/entity/EntityType.java -index 5a0c96875d9c3bd32b4649a3fccd43af1ccb195b..b507b715f9b28b98e32f6589344a5066d1009f64 100644 +index 4915c1064a9b6bf1d485f9e6e42b9f6e4e12f236..91664b99f1158cb8a2e3c72ec082bf3c39487649 100644 --- a/src/main/java/org/bukkit/entity/EntityType.java +++ b/src/main/java/org/bukkit/entity/EntityType.java -@@ -276,6 +276,7 @@ public enum EntityType implements Keyed, net.kyori.adventure.translation.Transla +@@ -278,6 +278,7 @@ public enum EntityType implements Keyed, Translatable, net.kyori.adventure.trans FROG("frog", Frog.class, -1), TADPOLE("tadpole", Tadpole.class, -1), WARDEN("warden", Warden.class, -1), diff --git a/patches/api/0430-Add-missing-isFuel-Material-entries.patch b/patches/api/0430-Add-missing-isFuel-Material-entries.patch index fa67c695f0..e240cc62ea 100644 --- a/patches/api/0430-Add-missing-isFuel-Material-entries.patch +++ b/patches/api/0430-Add-missing-isFuel-Material-entries.patch @@ -5,10 +5,10 @@ Subject: [PATCH] Add missing isFuel Material entries diff --git a/src/main/java/org/bukkit/Material.java b/src/main/java/org/bukkit/Material.java -index e5b94299793ba7cb9071a3f3a35ddbe08b0b9906..ee471fbd7c2138cd330b2c64da4e77b3414ec913 100644 +index 7eb5413ea1d94ddacd98edb57074611dac94a41c..6bbb47d1f9d8d45326232024e82a0ebaf764fae7 100644 --- a/src/main/java/org/bukkit/Material.java +++ b/src/main/java/org/bukkit/Material.java -@@ -7467,6 +7467,7 @@ public enum Material implements Keyed, net.kyori.adventure.translation.Translata +@@ -7459,6 +7459,7 @@ public enum Material implements Keyed, Translatable, net.kyori.adventure.transla case ACACIA_DOOR: case ACACIA_FENCE: case ACACIA_FENCE_GATE: @@ -16,7 +16,7 @@ index e5b94299793ba7cb9071a3f3a35ddbe08b0b9906..ee471fbd7c2138cd330b2c64da4e77b3 case ACACIA_LOG: case ACACIA_PLANKS: case ACACIA_PRESSURE_PLATE: -@@ -7478,9 +7479,27 @@ public enum Material implements Keyed, net.kyori.adventure.translation.Translata +@@ -7470,9 +7471,27 @@ public enum Material implements Keyed, Translatable, net.kyori.adventure.transla case ACACIA_WOOD: case AZALEA: case BAMBOO: @@ -44,7 +44,7 @@ index e5b94299793ba7cb9071a3f3a35ddbe08b0b9906..ee471fbd7c2138cd330b2c64da4e77b3 case BARREL: case BIRCH_BOAT: case BIRCH_BUTTON: -@@ -7488,6 +7507,7 @@ public enum Material implements Keyed, net.kyori.adventure.translation.Translata +@@ -7480,6 +7499,7 @@ public enum Material implements Keyed, Translatable, net.kyori.adventure.transla case BIRCH_DOOR: case BIRCH_FENCE: case BIRCH_FENCE_GATE: @@ -52,7 +52,7 @@ index e5b94299793ba7cb9071a3f3a35ddbe08b0b9906..ee471fbd7c2138cd330b2c64da4e77b3 case BIRCH_LOG: case BIRCH_PLANKS: case BIRCH_PRESSURE_PLATE: -@@ -7528,6 +7548,7 @@ public enum Material implements Keyed, net.kyori.adventure.translation.Translata +@@ -7520,6 +7540,7 @@ public enum Material implements Keyed, Translatable, net.kyori.adventure.transla case DARK_OAK_DOOR: case DARK_OAK_FENCE: case DARK_OAK_FENCE_GATE: @@ -60,7 +60,7 @@ index e5b94299793ba7cb9071a3f3a35ddbe08b0b9906..ee471fbd7c2138cd330b2c64da4e77b3 case DARK_OAK_LOG: case DARK_OAK_PLANKS: case DARK_OAK_PRESSURE_PLATE: -@@ -7556,6 +7577,7 @@ public enum Material implements Keyed, net.kyori.adventure.translation.Translata +@@ -7548,6 +7569,7 @@ public enum Material implements Keyed, Translatable, net.kyori.adventure.transla case JUNGLE_DOOR: case JUNGLE_FENCE: case JUNGLE_FENCE_GATE: @@ -68,7 +68,7 @@ index e5b94299793ba7cb9071a3f3a35ddbe08b0b9906..ee471fbd7c2138cd330b2c64da4e77b3 case JUNGLE_LOG: case JUNGLE_PLANKS: case JUNGLE_PRESSURE_PLATE: -@@ -7587,6 +7609,7 @@ public enum Material implements Keyed, net.kyori.adventure.translation.Translata +@@ -7579,6 +7601,7 @@ public enum Material implements Keyed, Translatable, net.kyori.adventure.transla case MANGROVE_DOOR: case MANGROVE_FENCE: case MANGROVE_FENCE_GATE: @@ -76,7 +76,7 @@ index e5b94299793ba7cb9071a3f3a35ddbe08b0b9906..ee471fbd7c2138cd330b2c64da4e77b3 case MANGROVE_LOG: case MANGROVE_PLANKS: case MANGROVE_PRESSURE_PLATE: -@@ -7604,6 +7627,7 @@ public enum Material implements Keyed, net.kyori.adventure.translation.Translata +@@ -7596,6 +7619,7 @@ public enum Material implements Keyed, Translatable, net.kyori.adventure.transla case OAK_DOOR: case OAK_FENCE: case OAK_FENCE_GATE: @@ -84,7 +84,7 @@ index e5b94299793ba7cb9071a3f3a35ddbe08b0b9906..ee471fbd7c2138cd330b2c64da4e77b3 case OAK_LOG: case OAK_PLANKS: case OAK_PRESSURE_PLATE: -@@ -7633,6 +7657,7 @@ public enum Material implements Keyed, net.kyori.adventure.translation.Translata +@@ -7625,6 +7649,7 @@ public enum Material implements Keyed, Translatable, net.kyori.adventure.transla case SPRUCE_DOOR: case SPRUCE_FENCE: case SPRUCE_FENCE_GATE: @@ -92,7 +92,7 @@ index e5b94299793ba7cb9071a3f3a35ddbe08b0b9906..ee471fbd7c2138cd330b2c64da4e77b3 case SPRUCE_LOG: case SPRUCE_PLANKS: case SPRUCE_PRESSURE_PLATE: -@@ -7645,6 +7670,7 @@ public enum Material implements Keyed, net.kyori.adventure.translation.Translata +@@ -7637,6 +7662,7 @@ public enum Material implements Keyed, Translatable, net.kyori.adventure.transla case STICK: case STRIPPED_ACACIA_LOG: case STRIPPED_ACACIA_WOOD: diff --git a/patches/api/0431-Fix-HandlerList-for-InventoryBlockStartEvent-subclas.patch b/patches/api/0431-Fix-HandlerList-for-InventoryBlockStartEvent-subclas.patch new file mode 100644 index 0000000000..98799cd97d --- /dev/null +++ b/patches/api/0431-Fix-HandlerList-for-InventoryBlockStartEvent-subclas.patch @@ -0,0 +1,93 @@ +From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 +From: Jake Potrebic +Date: Tue, 7 Feb 2023 08:20:27 -0800 +Subject: [PATCH] Fix HandlerList for InventoryBlockStartEvent subclasses + + +diff --git a/src/main/java/org/bukkit/event/block/BrewingStartEvent.java b/src/main/java/org/bukkit/event/block/BrewingStartEvent.java +index 9e54ef5b60bf5583c12e1edfa76f19013a5b2a65..fe6573d8fca0aa8d8f37f8b476fc45adc786795f 100644 +--- a/src/main/java/org/bukkit/event/block/BrewingStartEvent.java ++++ b/src/main/java/org/bukkit/event/block/BrewingStartEvent.java +@@ -10,7 +10,7 @@ import org.jetbrains.annotations.NotNull; + */ + public class BrewingStartEvent extends InventoryBlockStartEvent { + +- private static final HandlerList handlers = new HandlerList(); ++ // Paper - remove HandlerList + private int brewingTime; + + public BrewingStartEvent(@NotNull final Block furnace, @NotNull ItemStack source, int brewingTime) { +@@ -36,14 +36,5 @@ public class BrewingStartEvent extends InventoryBlockStartEvent { + this.brewingTime = brewTime; + } + +- @NotNull +- @Override +- public HandlerList getHandlers() { +- return handlers; +- } +- +- @NotNull +- public static HandlerList getHandlerList() { +- return handlers; +- } ++ // Paper - remove HandlerList + } +diff --git a/src/main/java/org/bukkit/event/block/CampfireStartEvent.java b/src/main/java/org/bukkit/event/block/CampfireStartEvent.java +index 53119742beda00a38111063243665bb995ae2188..1f7a8bf65e9ac3188f759f9b3c4d6edbf255942a 100644 +--- a/src/main/java/org/bukkit/event/block/CampfireStartEvent.java ++++ b/src/main/java/org/bukkit/event/block/CampfireStartEvent.java +@@ -11,7 +11,7 @@ import org.jetbrains.annotations.NotNull; + */ + public class CampfireStartEvent extends InventoryBlockStartEvent { + +- private static final HandlerList handlers = new HandlerList(); ++ // Paper - remove HandlerList + private int cookingTime; + private CampfireRecipe campfireRecipe; + +@@ -49,14 +49,5 @@ public class CampfireStartEvent extends InventoryBlockStartEvent { + this.cookingTime = cookTime; + } + +- @NotNull +- @Override +- public HandlerList getHandlers() { +- return handlers; +- } +- +- @NotNull +- public static HandlerList getHandlerList() { +- return handlers; +- } ++ // Paper - remove HandlerList + } +diff --git a/src/main/java/org/bukkit/event/inventory/FurnaceStartSmeltEvent.java b/src/main/java/org/bukkit/event/inventory/FurnaceStartSmeltEvent.java +index 1e55f50f04de78ae0b8832a8021ffc7327676e8e..e6ebc17c438f231d67e44a5390d06a8dafba6dfd 100644 +--- a/src/main/java/org/bukkit/event/inventory/FurnaceStartSmeltEvent.java ++++ b/src/main/java/org/bukkit/event/inventory/FurnaceStartSmeltEvent.java +@@ -11,7 +11,7 @@ import org.jetbrains.annotations.NotNull; + * Called when a Furnace starts smelting. + */ + public class FurnaceStartSmeltEvent extends InventoryBlockStartEvent { +- private static final HandlerList handlers = new HandlerList(); ++ // Paper - remove HandlerList + private final CookingRecipe recipe; + private int totalCookTime; + +@@ -56,14 +56,5 @@ public class FurnaceStartSmeltEvent extends InventoryBlockStartEvent { + this.totalCookTime = cookTime; + } + +- @NotNull +- @Override +- public HandlerList getHandlers() { +- return handlers; +- } +- +- @NotNull +- public static HandlerList getHandlerList() { +- return handlers; +- } ++ // Paper - remove HandlerList + } diff --git a/patches/server/0009-MC-Utils.patch b/patches/server/0009-MC-Utils.patch index 87e3b7ac56..6949088e48 100644 --- a/patches/server/0009-MC-Utils.patch +++ b/patches/server/0009-MC-Utils.patch @@ -7618,13 +7618,13 @@ index 0000000000000000000000000000000000000000..909b2c98e7a9117d2f737245e4661792 + } +} diff --git a/src/main/java/org/bukkit/craftbukkit/util/CraftMagicNumbers.java b/src/main/java/org/bukkit/craftbukkit/util/CraftMagicNumbers.java -index 5499bdbd0d5e81f2e7dcf784eb80217082090010..ef2640eb9e98e9ce81abc604cc1c2264e0137ef6 100644 +index 8ded1f61a6088cf57847a409421e92e2d2007158..b39ded554ee86bf840ce04eba58ac19d40226c9f 100644 --- a/src/main/java/org/bukkit/craftbukkit/util/CraftMagicNumbers.java +++ b/src/main/java/org/bukkit/craftbukkit/util/CraftMagicNumbers.java -@@ -99,8 +99,17 @@ public final class CraftMagicNumbers implements UnsafeValues { +@@ -102,8 +102,17 @@ public final class CraftMagicNumbers implements UnsafeValues { + private static final BiMap FLUIDTYPE_FLUID = HashBiMap.create(); private static final Map MATERIAL_ITEM = new HashMap<>(); private static final Map MATERIAL_BLOCK = new HashMap<>(); - private static final Map MATERIAL_FLUID = new HashMap<>(); + // Paper start + private static final Map> ENTITY_TYPE_ENTITY_TYPES = new HashMap<>(); + private static final Map, org.bukkit.entity.EntityType> ENTITY_TYPES_ENTITY_TYPE = new HashMap<>(); @@ -7639,7 +7639,7 @@ index 5499bdbd0d5e81f2e7dcf784eb80217082090010..ef2640eb9e98e9ce81abc604cc1c2264 for (Block block : BuiltInRegistries.BLOCK) { BLOCK_MATERIAL.put(block, Material.getMaterial(BuiltInRegistries.BLOCK.getKey(block).getPath().toUpperCase(Locale.ROOT))); } -@@ -166,6 +175,14 @@ public final class CraftMagicNumbers implements UnsafeValues { +@@ -167,6 +176,14 @@ public final class CraftMagicNumbers implements UnsafeValues { public static ResourceLocation key(Material mat) { return CraftNamespacedKey.toMinecraft(mat.getKey()); } diff --git a/patches/server/0010-Adventure.patch b/patches/server/0010-Adventure.patch index 2d505563dd..53b00c9e02 100644 --- a/patches/server/0010-Adventure.patch +++ b/patches/server/0010-Adventure.patch @@ -4563,10 +4563,10 @@ index 78ea79b66cc9e90402ef5cdc2e5e04e0c74b1c26..4fede2161792ba3e7cdf0cc5a1f53318 boolean hadFormat = false; diff --git a/src/main/java/org/bukkit/craftbukkit/util/CraftMagicNumbers.java b/src/main/java/org/bukkit/craftbukkit/util/CraftMagicNumbers.java -index ef2640eb9e98e9ce81abc604cc1c2264e0137ef6..92cf1be3a9e188307e6d4e8e710fa67af2bafa9d 100644 +index b39ded554ee86bf840ce04eba58ac19d40226c9f..750f4b3930278c291f10015c7a8a8df57d04a286 100644 --- a/src/main/java/org/bukkit/craftbukkit/util/CraftMagicNumbers.java +++ b/src/main/java/org/bukkit/craftbukkit/util/CraftMagicNumbers.java -@@ -68,6 +68,43 @@ public final class CraftMagicNumbers implements UnsafeValues { +@@ -72,6 +72,43 @@ public final class CraftMagicNumbers implements UnsafeValues { private CraftMagicNumbers() {} diff --git a/patches/server/0013-Timings-v2.patch b/patches/server/0013-Timings-v2.patch index 22dc8f536b..5d8af4d353 100644 --- a/patches/server/0013-Timings-v2.patch +++ b/patches/server/0013-Timings-v2.patch @@ -2021,10 +2021,10 @@ index e52ef47b783785dc214746b678e7b549aea9a274..3d90b3426873a3528af14f7f1ab0adae this.value = value; } diff --git a/src/main/java/org/bukkit/craftbukkit/util/CraftMagicNumbers.java b/src/main/java/org/bukkit/craftbukkit/util/CraftMagicNumbers.java -index 92cf1be3a9e188307e6d4e8e710fa67af2bafa9d..c25f893ef1215a22c8bfa575e4711b9c92a25f0b 100644 +index 750f4b3930278c291f10015c7a8a8df57d04a286..702ab12f93e422b1ba9d544084fa7712e776c751 100644 --- a/src/main/java/org/bukkit/craftbukkit/util/CraftMagicNumbers.java +++ b/src/main/java/org/bukkit/craftbukkit/util/CraftMagicNumbers.java -@@ -221,6 +221,12 @@ public final class CraftMagicNumbers implements UnsafeValues { +@@ -222,6 +222,12 @@ public final class CraftMagicNumbers implements UnsafeValues { } // Paper end // ======================================================================== @@ -2037,8 +2037,8 @@ index 92cf1be3a9e188307e6d4e8e710fa67af2bafa9d..c25f893ef1215a22c8bfa575e4711b9c public static byte toLegacyData(BlockState data) { return CraftLegacy.toLegacyData(data); -@@ -413,6 +419,13 @@ public final class CraftMagicNumbers implements UnsafeValues { - return CreativeCategory.BUILDING_BLOCKS; // TODO: Figure out what to do with this +@@ -437,6 +443,13 @@ public final class CraftMagicNumbers implements UnsafeValues { + return nmsItemStack.getItem().getDescriptionId(nmsItemStack); } + // Paper start diff --git a/patches/server/0027-Implement-Paper-VersionChecker.patch b/patches/server/0027-Implement-Paper-VersionChecker.patch index cf9aa20c14..b8c3cd87f4 100644 --- a/patches/server/0027-Implement-Paper-VersionChecker.patch +++ b/patches/server/0027-Implement-Paper-VersionChecker.patch @@ -140,10 +140,10 @@ index 0000000000000000000000000000000000000000..351159bbdb0c8045f4983f54dee34430 + } +} diff --git a/src/main/java/org/bukkit/craftbukkit/util/CraftMagicNumbers.java b/src/main/java/org/bukkit/craftbukkit/util/CraftMagicNumbers.java -index c25f893ef1215a22c8bfa575e4711b9c92a25f0b..176d5bdc5bf048940ceb46dd0a69d9fb7d39821f 100644 +index 702ab12f93e422b1ba9d544084fa7712e776c751..cbb161e3daa0250ae2e12e3cec972708fccaeadc 100644 --- a/src/main/java/org/bukkit/craftbukkit/util/CraftMagicNumbers.java +++ b/src/main/java/org/bukkit/craftbukkit/util/CraftMagicNumbers.java -@@ -424,6 +424,11 @@ public final class CraftMagicNumbers implements UnsafeValues { +@@ -448,6 +448,11 @@ public final class CraftMagicNumbers implements UnsafeValues { public String getTimingsServerName() { return io.papermc.paper.configuration.GlobalConfiguration.get().timings.serverName; } diff --git a/patches/server/0222-Add-CraftMagicNumbers.isSupportedApiVersion.patch b/patches/server/0222-Add-CraftMagicNumbers.isSupportedApiVersion.patch index ed7c5137a2..1ee7037234 100644 --- a/patches/server/0222-Add-CraftMagicNumbers.isSupportedApiVersion.patch +++ b/patches/server/0222-Add-CraftMagicNumbers.isSupportedApiVersion.patch @@ -5,10 +5,10 @@ Subject: [PATCH] Add CraftMagicNumbers.isSupportedApiVersion() diff --git a/src/main/java/org/bukkit/craftbukkit/util/CraftMagicNumbers.java b/src/main/java/org/bukkit/craftbukkit/util/CraftMagicNumbers.java -index 176d5bdc5bf048940ceb46dd0a69d9fb7d39821f..9c189cc0596301c16e84f7df39b983a4392583d2 100644 +index cbb161e3daa0250ae2e12e3cec972708fccaeadc..4d74e7755d3812746d9e9014046c5c22f400deec 100644 --- a/src/main/java/org/bukkit/craftbukkit/util/CraftMagicNumbers.java +++ b/src/main/java/org/bukkit/craftbukkit/util/CraftMagicNumbers.java -@@ -429,6 +429,11 @@ public final class CraftMagicNumbers implements UnsafeValues { +@@ -453,6 +453,11 @@ public final class CraftMagicNumbers implements UnsafeValues { public com.destroystokyo.paper.util.VersionFetcher getVersionFetcher() { return new com.destroystokyo.paper.PaperVersionFetcher(); } diff --git a/patches/server/0247-Optimize-CraftBlockData-Creation.patch b/patches/server/0247-Optimize-CraftBlockData-Creation.patch index 5f248143e3..10aba9b7b7 100644 --- a/patches/server/0247-Optimize-CraftBlockData-Creation.patch +++ b/patches/server/0247-Optimize-CraftBlockData-Creation.patch @@ -26,10 +26,10 @@ index 5bba39a066ede470cebc92724735c86ecfd4239d..c53b80cba9ea658d20e527a9bfcd6b5d // Paper start protected boolean shapeExceedsCube = true; diff --git a/src/main/java/org/bukkit/craftbukkit/block/data/CraftBlockData.java b/src/main/java/org/bukkit/craftbukkit/block/data/CraftBlockData.java -index 953fe30e445885809caa16161262089a7786057b..6182ce8c32a334d3488c03f42bf3befcc0b80503 100644 +index 919a8a5ff0129a17f7f2b04aefe104d942da6e17..198a3f04ad6864460b9e7dd42444fab423a4ad8f 100644 --- a/src/main/java/org/bukkit/craftbukkit/block/data/CraftBlockData.java +++ b/src/main/java/org/bukkit/craftbukkit/block/data/CraftBlockData.java -@@ -542,7 +542,17 @@ public class CraftBlockData implements BlockData { +@@ -545,7 +545,17 @@ public class CraftBlockData implements BlockData { return craft; } diff --git a/patches/server/0315-Implement-CraftBlockSoundGroup.patch b/patches/server/0315-Implement-CraftBlockSoundGroup.patch index 640d4c0575..65d89b1928 100644 --- a/patches/server/0315-Implement-CraftBlockSoundGroup.patch +++ b/patches/server/0315-Implement-CraftBlockSoundGroup.patch @@ -50,12 +50,12 @@ index 0000000000000000000000000000000000000000..c5b07ec346105d1b95c1c938ffca12a2 + } +} diff --git a/src/main/java/org/bukkit/craftbukkit/block/CraftBlock.java b/src/main/java/org/bukkit/craftbukkit/block/CraftBlock.java -index 13da02b84d7e748d61fdf5db01d92a8d8cd5c799..2e3b675dca8cec906d533141e158e5db6ae87042 100644 +index 0951e0836ef16c99505c884ea80e5bd23873b7e6..ee8315595faae22c63c97748d8047038a671263e 100644 --- a/src/main/java/org/bukkit/craftbukkit/block/CraftBlock.java +++ b/src/main/java/org/bukkit/craftbukkit/block/CraftBlock.java -@@ -646,4 +646,16 @@ public class CraftBlock implements Block { - - return iblockdata.canSurvive(world, this.position); +@@ -647,4 +647,16 @@ public class CraftBlock implements Block { + public String getTranslationKey() { + return this.getNMS().getBlock().getDescriptionId(); } + + // Paper start diff --git a/patches/server/0366-Add-Raw-Byte-ItemStack-Serialization.patch b/patches/server/0366-Add-Raw-Byte-ItemStack-Serialization.patch index a6b7853876..57aeeeb569 100644 --- a/patches/server/0366-Add-Raw-Byte-ItemStack-Serialization.patch +++ b/patches/server/0366-Add-Raw-Byte-ItemStack-Serialization.patch @@ -6,10 +6,10 @@ Subject: [PATCH] Add Raw Byte ItemStack Serialization Serializes using NBT which is safer for server data migrations than bukkits format. diff --git a/src/main/java/org/bukkit/craftbukkit/util/CraftMagicNumbers.java b/src/main/java/org/bukkit/craftbukkit/util/CraftMagicNumbers.java -index 9c189cc0596301c16e84f7df39b983a4392583d2..7a017d69bec0fb1e17c47d7edcfce4b1c6836693 100644 +index 4d74e7755d3812746d9e9014046c5c22f400deec..10c26e104827502cc40488455af3f493f4ddb4f1 100644 --- a/src/main/java/org/bukkit/craftbukkit/util/CraftMagicNumbers.java +++ b/src/main/java/org/bukkit/craftbukkit/util/CraftMagicNumbers.java -@@ -434,6 +434,52 @@ public final class CraftMagicNumbers implements UnsafeValues { +@@ -458,6 +458,52 @@ public final class CraftMagicNumbers implements UnsafeValues { public boolean isSupportedApiVersion(String apiVersion) { return apiVersion != null && SUPPORTED_API.contains(apiVersion); } diff --git a/patches/server/0473-Add-methods-to-get-translation-keys.patch b/patches/server/0473-Add-methods-to-get-translation-keys.patch index 83fd650c84..7816dbd087 100644 --- a/patches/server/0473-Add-methods-to-get-translation-keys.patch +++ b/patches/server/0473-Add-methods-to-get-translation-keys.patch @@ -10,22 +10,17 @@ public org.bukkit.craftbukkit.inventory.CraftMetaFirework getNBT(Lorg/bukkit/Fir Co-authored-by: MeFisto94 diff --git a/src/main/java/org/bukkit/craftbukkit/block/CraftBlock.java b/src/main/java/org/bukkit/craftbukkit/block/CraftBlock.java -index 3123a8d52236757c3e7ca3b099cc664485cb3c72..eba015c33dcf63ff85569eb7ee7e6b3def2b05ac 100644 +index ac543a4c6bc21435de3c6721af37fd5f554e403e..1f780a326f4982d4be1855516fb1461b4d90bcc6 100644 --- a/src/main/java/org/bukkit/craftbukkit/block/CraftBlock.java +++ b/src/main/java/org/bukkit/craftbukkit/block/CraftBlock.java -@@ -693,5 +693,15 @@ public class CraftBlock implements Block { +@@ -694,5 +694,10 @@ public class CraftBlock implements Block { public org.bukkit.SoundGroup getBlockSoundGroup() { return org.bukkit.craftbukkit.CraftSoundGroup.getSoundGroup(this.getNMS().getSoundType()); } + + @Override -+ public String getTranslationKey() { -+ return this.translationKey(); -+ } -+ -+ @Override + public String translationKey() { -+ return org.bukkit.Bukkit.getUnsafe().getTranslationKey(this); ++ return this.getNMS().getBlock().getDescriptionId(); + } // Paper end } @@ -45,41 +40,6 @@ index e8334e2264510f5101e80b4f130e7ae1442560d7..57decf4156f176ebcc988478c17856cb // Paper end public net.minecraft.world.item.enchantment.Enchantment getHandle() { -diff --git a/src/main/java/org/bukkit/craftbukkit/util/CraftMagicNumbers.java b/src/main/java/org/bukkit/craftbukkit/util/CraftMagicNumbers.java -index 7a017d69bec0fb1e17c47d7edcfce4b1c6836693..d85526b8ddd26b2113dd8df7bf2d58ff432d86bc 100644 ---- a/src/main/java/org/bukkit/craftbukkit/util/CraftMagicNumbers.java -+++ b/src/main/java/org/bukkit/craftbukkit/util/CraftMagicNumbers.java -@@ -480,6 +480,30 @@ public final class CraftMagicNumbers implements UnsafeValues { - Preconditions.checkArgument(dataVersion <= getDataVersion(), "Newer version! Server downgrades are not supported!"); - return compound; - } -+ -+ @Override -+ public String getTranslationKey(Material mat) { -+ if (mat.isBlock()) { -+ return getBlock(mat).getDescriptionId(); -+ } -+ return getItem(mat).getDescriptionId(); -+ } -+ -+ @Override -+ public String getTranslationKey(org.bukkit.block.Block block) { -+ return ((org.bukkit.craftbukkit.block.CraftBlock)block).getNMS().getBlock().getDescriptionId(); -+ } -+ -+ @Override -+ public String getTranslationKey(org.bukkit.entity.EntityType type) { -+ return net.minecraft.world.entity.EntityType.byString(type.getName()).map(net.minecraft.world.entity.EntityType::getDescriptionId).orElse(null); -+ } -+ -+ @Override -+ public String getTranslationKey(org.bukkit.inventory.ItemStack itemStack) { -+ net.minecraft.world.item.ItemStack nmsItemStack = CraftItemStack.asNMSCopy(itemStack); -+ return nmsItemStack.getItem().getDescriptionId(nmsItemStack); -+ } - // Paper end - - /** diff --git a/src/test/java/io/papermc/paper/world/TranslationKeyTest.java b/src/test/java/io/papermc/paper/world/TranslationKeyTest.java index fab3063fffa959ac7f0eb5937f2fae94d11b6591..4cc8ca5dd95e9cccd08ada057a9592a1421f434a 100644 --- a/src/test/java/io/papermc/paper/world/TranslationKeyTest.java diff --git a/patches/server/0475-Cache-block-data-strings.patch b/patches/server/0475-Cache-block-data-strings.patch index a3a8b3d59a..3191156197 100644 --- a/patches/server/0475-Cache-block-data-strings.patch +++ b/patches/server/0475-Cache-block-data-strings.patch @@ -17,10 +17,10 @@ index 8e101269ca2edf5f3cc9c1ccedd03afaf1392d19..8ce413404930cca3a470bb58d73b9bd0 if (this.isSameThread()) { diff --git a/src/main/java/org/bukkit/craftbukkit/block/data/CraftBlockData.java b/src/main/java/org/bukkit/craftbukkit/block/data/CraftBlockData.java -index 6182ce8c32a334d3488c03f42bf3befcc0b80503..45c90505c778bfdebf0884190a422d12a0673d71 100644 +index 198a3f04ad6864460b9e7dd42444fab423a4ad8f..14b8d0754955747d5a755eaf628e861929f5f47f 100644 --- a/src/main/java/org/bukkit/craftbukkit/block/data/CraftBlockData.java +++ b/src/main/java/org/bukkit/craftbukkit/block/data/CraftBlockData.java -@@ -509,9 +509,39 @@ public class CraftBlockData implements BlockData { +@@ -512,9 +512,39 @@ public class CraftBlockData implements BlockData { Preconditions.checkState(CraftBlockData.MAP.put(nms, bukkit) == null, "Duplicate mapping %s->%s", nms, bukkit); } diff --git a/patches/server/0480-Expose-the-Entity-Counter-to-allow-plugins-to-use-va.patch b/patches/server/0480-Expose-the-Entity-Counter-to-allow-plugins-to-use-va.patch index b1c0921595..17912b6159 100644 --- a/patches/server/0480-Expose-the-Entity-Counter-to-allow-plugins-to-use-va.patch +++ b/patches/server/0480-Expose-the-Entity-Counter-to-allow-plugins-to-use-va.patch @@ -21,14 +21,15 @@ index 873206bb65b2412d3066a0f7e35fe0684e29661a..d170254265a789998be96ce1dcaf71c9 + // Paper end } diff --git a/src/main/java/org/bukkit/craftbukkit/util/CraftMagicNumbers.java b/src/main/java/org/bukkit/craftbukkit/util/CraftMagicNumbers.java -index d85526b8ddd26b2113dd8df7bf2d58ff432d86bc..0fc844b717a466e7ac0438bbf04371bba6a19ee2 100644 +index 10c26e104827502cc40488455af3f493f4ddb4f1..97de89745a8bd6526a136506c6d17e5056a9d8d9 100644 --- a/src/main/java/org/bukkit/craftbukkit/util/CraftMagicNumbers.java +++ b/src/main/java/org/bukkit/craftbukkit/util/CraftMagicNumbers.java -@@ -504,6 +504,10 @@ public final class CraftMagicNumbers implements UnsafeValues { - net.minecraft.world.item.ItemStack nmsItemStack = CraftItemStack.asNMSCopy(itemStack); - return nmsItemStack.getItem().getDescriptionId(nmsItemStack); +@@ -504,6 +504,11 @@ public final class CraftMagicNumbers implements UnsafeValues { + Preconditions.checkArgument(dataVersion <= getDataVersion(), "Newer version! Server downgrades are not supported!"); + return compound; } + ++ @Override + public int nextEntityId() { + return net.minecraft.world.entity.Entity.nextEntityId(); + } diff --git a/patches/server/0487-Optimise-getType-calls.patch b/patches/server/0487-Optimise-getType-calls.patch index 67393fc6a5..1bf130189f 100644 --- a/patches/server/0487-Optimise-getType-calls.patch +++ b/patches/server/0487-Optimise-getType-calls.patch @@ -41,7 +41,7 @@ index 484e5d5a2793d18eb49b73898d944776a1ec48e8..05512cc19eb213b6be5c869e133376ee @Override diff --git a/src/main/java/org/bukkit/craftbukkit/block/CraftBlock.java b/src/main/java/org/bukkit/craftbukkit/block/CraftBlock.java -index eba015c33dcf63ff85569eb7ee7e6b3def2b05ac..01827f2398cec6e18ab490e664360beed9dbca83 100644 +index 1f780a326f4982d4be1855516fb1461b4d90bcc6..998cb47c4d3d1c67467469e661f80d231d17c04a 100644 --- a/src/main/java/org/bukkit/craftbukkit/block/CraftBlock.java +++ b/src/main/java/org/bukkit/craftbukkit/block/CraftBlock.java @@ -226,7 +226,7 @@ public class CraftBlock implements Block { @@ -67,10 +67,10 @@ index 0a755f38fae9dc84440f43113920c5b4c6d8218b..7b9e943b391c061782fccd2b8d705cee public void setFlag(int flag) { diff --git a/src/main/java/org/bukkit/craftbukkit/block/data/CraftBlockData.java b/src/main/java/org/bukkit/craftbukkit/block/data/CraftBlockData.java -index 45c90505c778bfdebf0884190a422d12a0673d71..3399e8cdf2230bd71444abb43829c54d7277ce36 100644 +index 14b8d0754955747d5a755eaf628e861929f5f47f..7acf213194f61d04cffabaaee6c1372bfa2e1933 100644 --- a/src/main/java/org/bukkit/craftbukkit/block/data/CraftBlockData.java +++ b/src/main/java/org/bukkit/craftbukkit/block/data/CraftBlockData.java -@@ -50,7 +50,7 @@ public class CraftBlockData implements BlockData { +@@ -53,7 +53,7 @@ public class CraftBlockData implements BlockData { @Override public Material getMaterial() { diff --git a/patches/server/0491-Fix-item-locations-dropped-from-campfires.patch b/patches/server/0491-Fix-item-locations-dropped-from-campfires.patch index ec0156c522..db503bc46a 100644 --- a/patches/server/0491-Fix-item-locations-dropped-from-campfires.patch +++ b/patches/server/0491-Fix-item-locations-dropped-from-campfires.patch @@ -6,10 +6,10 @@ Subject: [PATCH] Fix item locations dropped from campfires Fixes #4259 by not flooring the blockposition among other weirdness diff --git a/src/main/java/net/minecraft/world/level/block/entity/CampfireBlockEntity.java b/src/main/java/net/minecraft/world/level/block/entity/CampfireBlockEntity.java -index 9ef6b391268a99303aa853623d43c96073a13c9e..c6ae14009463b2d64acd4d3beb86d3233bcbae66 100644 +index 683958d65e4b926231b68c68744af13ef18fba8a..b07b83f4c16e85304b5da7a245810dd2741398e7 100644 --- a/src/main/java/net/minecraft/world/level/block/entity/CampfireBlockEntity.java +++ b/src/main/java/net/minecraft/world/level/block/entity/CampfireBlockEntity.java -@@ -79,7 +79,11 @@ public class CampfireBlockEntity extends BlockEntity implements Clearable { +@@ -81,7 +81,11 @@ public class CampfireBlockEntity extends BlockEntity implements Clearable { result = blockCookEvent.getResult(); itemstack1 = CraftItemStack.asNMSCopy(result); // CraftBukkit end diff --git a/patches/server/0498-Fix-client-lag-on-advancement-loading.patch b/patches/server/0498-Fix-client-lag-on-advancement-loading.patch index 6702720a1d..fd96d05210 100644 --- a/patches/server/0498-Fix-client-lag-on-advancement-loading.patch +++ b/patches/server/0498-Fix-client-lag-on-advancement-loading.patch @@ -15,10 +15,10 @@ manually reload the advancement data for all players, which normally takes place as a part of the datapack reloading. diff --git a/src/main/java/org/bukkit/craftbukkit/util/CraftMagicNumbers.java b/src/main/java/org/bukkit/craftbukkit/util/CraftMagicNumbers.java -index 0fc844b717a466e7ac0438bbf04371bba6a19ee2..00cffc8666cc5e0694da2a3d2a2efab457781374 100644 +index 97de89745a8bd6526a136506c6d17e5056a9d8d9..4b7afdfea75e1023f68c1f9dbaf2db23010a0c30 100644 --- a/src/main/java/org/bukkit/craftbukkit/util/CraftMagicNumbers.java +++ b/src/main/java/org/bukkit/craftbukkit/util/CraftMagicNumbers.java -@@ -344,7 +344,13 @@ public final class CraftMagicNumbers implements UnsafeValues { +@@ -345,7 +345,13 @@ public final class CraftMagicNumbers implements UnsafeValues { Bukkit.getLogger().log(Level.SEVERE, "Error saving advancement " + key, ex); } diff --git a/patches/server/0505-Add-Destroy-Speed-API.patch b/patches/server/0505-Add-Destroy-Speed-API.patch index 503c7fb25f..92681b95f5 100644 --- a/patches/server/0505-Add-Destroy-Speed-API.patch +++ b/patches/server/0505-Add-Destroy-Speed-API.patch @@ -6,12 +6,12 @@ Subject: [PATCH] Add Destroy Speed API Co-authored-by: Jake Potrebic diff --git a/src/main/java/org/bukkit/craftbukkit/block/CraftBlock.java b/src/main/java/org/bukkit/craftbukkit/block/CraftBlock.java -index 01827f2398cec6e18ab490e664360beed9dbca83..ac831b22930ad02951186b6326b0c542de4c9881 100644 +index 998cb47c4d3d1c67467469e661f80d231d17c04a..c3ab1a60f60806e2b91b633bf89389cf434443ce 100644 --- a/src/main/java/org/bukkit/craftbukkit/block/CraftBlock.java +++ b/src/main/java/org/bukkit/craftbukkit/block/CraftBlock.java -@@ -703,5 +703,26 @@ public class CraftBlock implements Block { +@@ -699,5 +699,26 @@ public class CraftBlock implements Block { public String translationKey() { - return org.bukkit.Bukkit.getUnsafe().getTranslationKey(this); + return this.getNMS().getBlock().getDescriptionId(); } + + @Override diff --git a/patches/server/0548-Add-PaperRegistry.patch b/patches/server/0548-Add-PaperRegistry.patch index 6553c4cfb1..943aa745fd 100644 --- a/patches/server/0548-Add-PaperRegistry.patch +++ b/patches/server/0548-Add-PaperRegistry.patch @@ -205,10 +205,10 @@ index 04137173ca7034b9dff37a68518e8b6fb0330188..9b1bde95e8303e5d4adfe92f09240df8 // Paper start if (Thread.currentThread() != this.serverThread) { diff --git a/src/main/java/org/bukkit/craftbukkit/util/CraftMagicNumbers.java b/src/main/java/org/bukkit/craftbukkit/util/CraftMagicNumbers.java -index 00cffc8666cc5e0694da2a3d2a2efab457781374..2ba9cac66413ddc0a830dbb2b2644ed9d40c9c99 100644 +index 4b7afdfea75e1023f68c1f9dbaf2db23010a0c30..c375ad0211ea5f3a1a80944a920d4e394b06f7f6 100644 --- a/src/main/java/org/bukkit/craftbukkit/util/CraftMagicNumbers.java +++ b/src/main/java/org/bukkit/craftbukkit/util/CraftMagicNumbers.java -@@ -514,6 +514,11 @@ public final class CraftMagicNumbers implements UnsafeValues { +@@ -515,6 +515,11 @@ public final class CraftMagicNumbers implements UnsafeValues { public int nextEntityId() { return net.minecraft.world.entity.Entity.nextEntityId(); } @@ -221,7 +221,7 @@ index 00cffc8666cc5e0694da2a3d2a2efab457781374..2ba9cac66413ddc0a830dbb2b2644ed9 /** diff --git a/src/test/java/org/bukkit/support/AbstractTestingBase.java b/src/test/java/org/bukkit/support/AbstractTestingBase.java -index a18b0bd17ec3dd021136ec873d93692fffa74dad..a41c386a60d004f065d837aaf10d1d6c0e2f8976 100644 +index 3d9ece71fecd5151bb3862282f6021df2d73e3dc..b71602a088de181296dcabed0ac3a2b193ed15e6 100644 --- a/src/test/java/org/bukkit/support/AbstractTestingBase.java +++ b/src/test/java/org/bukkit/support/AbstractTestingBase.java @@ -49,6 +49,15 @@ public abstract class AbstractTestingBase { diff --git a/patches/server/0580-Add-recipe-to-cook-events.patch b/patches/server/0580-Add-recipe-to-cook-events.patch index 71eccd16a2..c031ab7d5e 100644 --- a/patches/server/0580-Add-recipe-to-cook-events.patch +++ b/patches/server/0580-Add-recipe-to-cook-events.patch @@ -18,10 +18,10 @@ index 34e375ab81b539ece769c943768342dbb542d0bb..0aa436da54050db81bdcb9f447660a88 if (furnaceSmeltEvent.isCancelled()) { diff --git a/src/main/java/net/minecraft/world/level/block/entity/CampfireBlockEntity.java b/src/main/java/net/minecraft/world/level/block/entity/CampfireBlockEntity.java -index c6ae14009463b2d64acd4d3beb86d3233bcbae66..06df710f58ca7d55b19c0db9d393a73ca6e5aa79 100644 +index b07b83f4c16e85304b5da7a245810dd2741398e7..0f7e765263a09a3f8b021bbac8d062c72ab3bdc0 100644 --- a/src/main/java/net/minecraft/world/level/block/entity/CampfireBlockEntity.java +++ b/src/main/java/net/minecraft/world/level/block/entity/CampfireBlockEntity.java -@@ -60,7 +60,9 @@ public class CampfireBlockEntity extends BlockEntity implements Clearable { +@@ -62,7 +62,9 @@ public class CampfireBlockEntity extends BlockEntity implements Clearable { if (campfire.cookingProgress[i] >= campfire.cookingTime[i]) { SimpleContainer inventorysubcontainer = new SimpleContainer(new ItemStack[]{itemstack}); @@ -32,7 +32,7 @@ index c6ae14009463b2d64acd4d3beb86d3233bcbae66..06df710f58ca7d55b19c0db9d393a73c return recipecampfire.assemble(inventorysubcontainer); }).orElse(itemstack); -@@ -69,7 +71,7 @@ public class CampfireBlockEntity extends BlockEntity implements Clearable { +@@ -71,7 +73,7 @@ public class CampfireBlockEntity extends BlockEntity implements Clearable { CraftItemStack source = CraftItemStack.asCraftMirror(itemstack); org.bukkit.inventory.ItemStack result = CraftItemStack.asBukkitCopy(itemstack1); diff --git a/patches/server/0581-Add-Block-isValidTool.patch b/patches/server/0581-Add-Block-isValidTool.patch index 7ec4cf1dcf..eb96ef70ea 100644 --- a/patches/server/0581-Add-Block-isValidTool.patch +++ b/patches/server/0581-Add-Block-isValidTool.patch @@ -5,10 +5,10 @@ Subject: [PATCH] Add Block#isValidTool diff --git a/src/main/java/org/bukkit/craftbukkit/block/CraftBlock.java b/src/main/java/org/bukkit/craftbukkit/block/CraftBlock.java -index 30b5a78a93405f3a03624ed1331670770aaa3765..974ab329f92f488aba0999cef25e3b8e7e062209 100644 +index 23a9469ff63f1be7ab0091b2c86a614eaeba9f55..e8d96c1e5dde67436fba1bfc6585c3e4a5c1a63c 100644 --- a/src/main/java/org/bukkit/craftbukkit/block/CraftBlock.java +++ b/src/main/java/org/bukkit/craftbukkit/block/CraftBlock.java -@@ -743,5 +743,9 @@ public class CraftBlock implements Block { +@@ -739,5 +739,9 @@ public class CraftBlock implements Block { } return speed; } diff --git a/patches/server/0583-Expand-world-key-API.patch b/patches/server/0583-Expand-world-key-API.patch index a4b749f3c2..002ecb48ac 100644 --- a/patches/server/0583-Expand-world-key-API.patch +++ b/patches/server/0583-Expand-world-key-API.patch @@ -67,10 +67,10 @@ index 6c2ea3e0cf385d6893faf5430b29dbe2589786b0..2dbfd750088dbf7a15fc147d9f215c19 // Check if a World already exists with the UID. if (this.getWorld(world.getUID()) != null) { diff --git a/src/main/java/org/bukkit/craftbukkit/util/CraftMagicNumbers.java b/src/main/java/org/bukkit/craftbukkit/util/CraftMagicNumbers.java -index 2ba9cac66413ddc0a830dbb2b2644ed9d40c9c99..4b8642d20341067ee149fbe9a23e64042127a2b2 100644 +index c375ad0211ea5f3a1a80944a920d4e394b06f7f6..abb860bb13774c93f2e87d81b0665225672cda5d 100644 --- a/src/main/java/org/bukkit/craftbukkit/util/CraftMagicNumbers.java +++ b/src/main/java/org/bukkit/craftbukkit/util/CraftMagicNumbers.java -@@ -519,6 +519,11 @@ public final class CraftMagicNumbers implements UnsafeValues { +@@ -520,6 +520,11 @@ public final class CraftMagicNumbers implements UnsafeValues { public Registry registryFor(Class classOfT) { return io.papermc.paper.registry.PaperRegistry.getRegistry(classOfT); } diff --git a/patches/server/0585-Item-Rarity-API.patch b/patches/server/0585-Item-Rarity-API.patch index a67daea35e..968bfaf360 100644 --- a/patches/server/0585-Item-Rarity-API.patch +++ b/patches/server/0585-Item-Rarity-API.patch @@ -7,10 +7,10 @@ Subject: [PATCH] Item Rarity API public net.minecraft.world.item.Item rarity diff --git a/src/main/java/org/bukkit/craftbukkit/util/CraftMagicNumbers.java b/src/main/java/org/bukkit/craftbukkit/util/CraftMagicNumbers.java -index 4b8642d20341067ee149fbe9a23e64042127a2b2..f31723187a7189cf1c9213f74f094ad196421a80 100644 +index abb860bb13774c93f2e87d81b0665225672cda5d..d0d851dff3a42939ca4591fdf7e7afcdc728ff13 100644 --- a/src/main/java/org/bukkit/craftbukkit/util/CraftMagicNumbers.java +++ b/src/main/java/org/bukkit/craftbukkit/util/CraftMagicNumbers.java -@@ -524,6 +524,20 @@ public final class CraftMagicNumbers implements UnsafeValues { +@@ -525,6 +525,20 @@ public final class CraftMagicNumbers implements UnsafeValues { public String getMainLevelName() { return ((net.minecraft.server.dedicated.DedicatedServer) net.minecraft.server.MinecraftServer.getServer()).getProperties().levelName; } diff --git a/patches/server/0591-Expose-protocol-version.patch b/patches/server/0591-Expose-protocol-version.patch index 59694eb52c..6c0b4f54e4 100644 --- a/patches/server/0591-Expose-protocol-version.patch +++ b/patches/server/0591-Expose-protocol-version.patch @@ -5,10 +5,10 @@ Subject: [PATCH] Expose protocol version diff --git a/src/main/java/org/bukkit/craftbukkit/util/CraftMagicNumbers.java b/src/main/java/org/bukkit/craftbukkit/util/CraftMagicNumbers.java -index f31723187a7189cf1c9213f74f094ad196421a80..46be2c75d68abaccc78e2120a0f45d344050c76d 100644 +index d0d851dff3a42939ca4591fdf7e7afcdc728ff13..a61f42ddf4bcd00294a1aa050c9dc50d67379c44 100644 --- a/src/main/java/org/bukkit/craftbukkit/util/CraftMagicNumbers.java +++ b/src/main/java/org/bukkit/craftbukkit/util/CraftMagicNumbers.java -@@ -538,6 +538,11 @@ public final class CraftMagicNumbers implements UnsafeValues { +@@ -539,6 +539,11 @@ public final class CraftMagicNumbers implements UnsafeValues { public io.papermc.paper.inventory.ItemRarity getItemStackRarity(org.bukkit.inventory.ItemStack itemStack) { return io.papermc.paper.inventory.ItemRarity.values()[getItem(itemStack.getType()).getRarity(CraftItemStack.asNMSCopy(itemStack)).ordinal()]; } diff --git a/patches/server/0620-ItemStack-repair-check-API.patch b/patches/server/0620-ItemStack-repair-check-API.patch index 1716a87abc..de9e083c3a 100644 --- a/patches/server/0620-ItemStack-repair-check-API.patch +++ b/patches/server/0620-ItemStack-repair-check-API.patch @@ -5,10 +5,10 @@ Subject: [PATCH] ItemStack repair check API diff --git a/src/main/java/org/bukkit/craftbukkit/util/CraftMagicNumbers.java b/src/main/java/org/bukkit/craftbukkit/util/CraftMagicNumbers.java -index 46be2c75d68abaccc78e2120a0f45d344050c76d..d7ebb29138352661f4fb3fb4561d96dab812b1b7 100644 +index a61f42ddf4bcd00294a1aa050c9dc50d67379c44..7aaa292f6495a9431687617251cae726675f063a 100644 --- a/src/main/java/org/bukkit/craftbukkit/util/CraftMagicNumbers.java +++ b/src/main/java/org/bukkit/craftbukkit/util/CraftMagicNumbers.java -@@ -539,6 +539,14 @@ public final class CraftMagicNumbers implements UnsafeValues { +@@ -540,6 +540,14 @@ public final class CraftMagicNumbers implements UnsafeValues { return io.papermc.paper.inventory.ItemRarity.values()[getItem(itemStack.getType()).getRarity(CraftItemStack.asNMSCopy(itemStack)).ordinal()]; } diff --git a/patches/server/0627-Attributes-API-for-item-defaults.patch b/patches/server/0627-Attributes-API-for-item-defaults.patch index bb66b43c47..0cd0c44b09 100644 --- a/patches/server/0627-Attributes-API-for-item-defaults.patch +++ b/patches/server/0627-Attributes-API-for-item-defaults.patch @@ -5,10 +5,10 @@ Subject: [PATCH] Attributes API for item defaults diff --git a/src/main/java/org/bukkit/craftbukkit/util/CraftMagicNumbers.java b/src/main/java/org/bukkit/craftbukkit/util/CraftMagicNumbers.java -index d7ebb29138352661f4fb3fb4561d96dab812b1b7..ec49b0719491f52057818a6fc2b4d3f16c7fc440 100644 +index 7aaa292f6495a9431687617251cae726675f063a..9a5ac0794cca60b6457e15caf797c506719877a3 100644 --- a/src/main/java/org/bukkit/craftbukkit/util/CraftMagicNumbers.java +++ b/src/main/java/org/bukkit/craftbukkit/util/CraftMagicNumbers.java -@@ -547,6 +547,19 @@ public final class CraftMagicNumbers implements UnsafeValues { +@@ -548,6 +548,19 @@ public final class CraftMagicNumbers implements UnsafeValues { return CraftMagicNumbers.getItem(itemToBeRepaired.getType()).isValidRepairItem(CraftItemStack.asNMSCopy(itemToBeRepaired), CraftItemStack.asNMSCopy(repairMaterial)); } diff --git a/patches/server/0684-Get-entity-default-attributes.patch b/patches/server/0684-Get-entity-default-attributes.patch index aeeb38dc20..90242f825b 100644 --- a/patches/server/0684-Get-entity-default-attributes.patch +++ b/patches/server/0684-Get-entity-default-attributes.patch @@ -81,10 +81,10 @@ index 0000000000000000000000000000000000000000..cf9d28ea97d93cec05c9fb768d59e283 + } +} diff --git a/src/main/java/org/bukkit/craftbukkit/util/CraftMagicNumbers.java b/src/main/java/org/bukkit/craftbukkit/util/CraftMagicNumbers.java -index ec49b0719491f52057818a6fc2b4d3f16c7fc440..30ac1162851331526f3fc00332eded67be48e1d4 100644 +index 9a5ac0794cca60b6457e15caf797c506719877a3..690d2ddff8b0cb31d35f2c3b4a26b6e92ce686da 100644 --- a/src/main/java/org/bukkit/craftbukkit/util/CraftMagicNumbers.java +++ b/src/main/java/org/bukkit/craftbukkit/util/CraftMagicNumbers.java -@@ -564,6 +564,18 @@ public final class CraftMagicNumbers implements UnsafeValues { +@@ -565,6 +565,18 @@ public final class CraftMagicNumbers implements UnsafeValues { public int getProtocolVersion() { return net.minecraft.SharedConstants.getCurrentVersion().getProtocolVersion(); } diff --git a/patches/server/0690-Add-isCollidable-methods-to-various-places.patch b/patches/server/0690-Add-isCollidable-methods-to-various-places.patch index eda75c590e..3ec2e6e213 100644 --- a/patches/server/0690-Add-isCollidable-methods-to-various-places.patch +++ b/patches/server/0690-Add-isCollidable-methods-to-various-places.patch @@ -7,7 +7,7 @@ Subject: [PATCH] Add isCollidable methods to various places public net.minecraft.world.level.block.state.BlockBehaviour hasCollision diff --git a/src/main/java/org/bukkit/craftbukkit/block/CraftBlock.java b/src/main/java/org/bukkit/craftbukkit/block/CraftBlock.java -index 60aa47a78b9d5921dffd1e205c0b69f453a94851..b7496922faee8bc5d82f3f5922f6fb2fe44a8d2f 100644 +index 4cfefcd6dc1ccdc9ecc52c9965fef5a3e339f862..5343ae3cdda55d7e0b41747c7eccb52e6828f6c9 100644 --- a/src/main/java/org/bukkit/craftbukkit/block/CraftBlock.java +++ b/src/main/java/org/bukkit/craftbukkit/block/CraftBlock.java @@ -482,6 +482,11 @@ public class CraftBlock implements Block { @@ -39,10 +39,10 @@ index 7b9e943b391c061782fccd2b8d705ceec8db50fe..966ac60daebb7bb211ab8096fc0c5f33 + // Paper end } diff --git a/src/main/java/org/bukkit/craftbukkit/util/CraftMagicNumbers.java b/src/main/java/org/bukkit/craftbukkit/util/CraftMagicNumbers.java -index 30ac1162851331526f3fc00332eded67be48e1d4..abffb2328a0a85a6a5c664d58d2738b833b9431d 100644 +index 690d2ddff8b0cb31d35f2c3b4a26b6e92ce686da..594828d3d395899bbb2c05e34911ad763393461a 100644 --- a/src/main/java/org/bukkit/craftbukkit/util/CraftMagicNumbers.java +++ b/src/main/java/org/bukkit/craftbukkit/util/CraftMagicNumbers.java -@@ -576,6 +576,12 @@ public final class CraftMagicNumbers implements UnsafeValues { +@@ -577,6 +577,12 @@ public final class CraftMagicNumbers implements UnsafeValues { var supplier = net.minecraft.world.entity.ai.attributes.DefaultAttributes.getSupplier((net.minecraft.world.entity.EntityType) net.minecraft.core.registries.BuiltInRegistries.ENTITY_TYPE.get(CraftNamespacedKey.toMinecraft(bukkitEntityKey))); return new io.papermc.paper.attribute.UnmodifiableAttributeMap(supplier); } diff --git a/patches/server/0693-Add-Raw-Byte-Entity-Serialization.patch b/patches/server/0693-Add-Raw-Byte-Entity-Serialization.patch index 0cbcce0f60..26892ff6c7 100644 --- a/patches/server/0693-Add-Raw-Byte-Entity-Serialization.patch +++ b/patches/server/0693-Add-Raw-Byte-Entity-Serialization.patch @@ -45,10 +45,10 @@ index f1ee89047e8cd916c762b91162842e3f981856b3..726a4ae7ab928eda3ae1c1e98f342157 // Paper end } diff --git a/src/main/java/org/bukkit/craftbukkit/util/CraftMagicNumbers.java b/src/main/java/org/bukkit/craftbukkit/util/CraftMagicNumbers.java -index abffb2328a0a85a6a5c664d58d2738b833b9431d..90dbc63a7472b923ed4faca5ac52f9438126fa63 100644 +index 594828d3d395899bbb2c05e34911ad763393461a..34e4d36024900ae174170c0a0f18b8dda8dd52f2 100644 --- a/src/main/java/org/bukkit/craftbukkit/util/CraftMagicNumbers.java +++ b/src/main/java/org/bukkit/craftbukkit/util/CraftMagicNumbers.java -@@ -459,6 +459,29 @@ public final class CraftMagicNumbers implements UnsafeValues { +@@ -483,6 +483,29 @@ public final class CraftMagicNumbers implements UnsafeValues { return CraftItemStack.asCraftMirror(net.minecraft.world.item.ItemStack.of(ca.spottedleaf.dataconverter.minecraft.MCDataConverter.convertTag(ca.spottedleaf.dataconverter.minecraft.datatypes.MCTypeRegistry.ITEM_STACK, compound, dataVersion, getDataVersion()))); } diff --git a/patches/server/0763-Add-more-Campfire-API.patch b/patches/server/0763-Add-more-Campfire-API.patch index 5761fef3d0..db98ffe8ae 100644 --- a/patches/server/0763-Add-more-Campfire-API.patch +++ b/patches/server/0763-Add-more-Campfire-API.patch @@ -5,10 +5,10 @@ Subject: [PATCH] Add more Campfire API diff --git a/src/main/java/net/minecraft/world/level/block/entity/CampfireBlockEntity.java b/src/main/java/net/minecraft/world/level/block/entity/CampfireBlockEntity.java -index 06df710f58ca7d55b19c0db9d393a73ca6e5aa79..830326496e2f961682daadc7a7859247042b4cdd 100644 +index 0f7e765263a09a3f8b021bbac8d062c72ab3bdc0..01d8f1c985223eec83beb4a84a710d1bf8d70849 100644 --- a/src/main/java/net/minecraft/world/level/block/entity/CampfireBlockEntity.java +++ b/src/main/java/net/minecraft/world/level/block/entity/CampfireBlockEntity.java -@@ -39,6 +39,7 @@ public class CampfireBlockEntity extends BlockEntity implements Clearable { +@@ -41,6 +41,7 @@ public class CampfireBlockEntity extends BlockEntity implements Clearable { public final int[] cookingProgress; public final int[] cookingTime; private final RecipeManager.CachedCheck quickCheck; @@ -16,7 +16,7 @@ index 06df710f58ca7d55b19c0db9d393a73ca6e5aa79..830326496e2f961682daadc7a7859247 public CampfireBlockEntity(BlockPos pos, BlockState state) { super(BlockEntityType.CAMPFIRE, pos, state); -@@ -46,6 +47,7 @@ public class CampfireBlockEntity extends BlockEntity implements Clearable { +@@ -48,6 +49,7 @@ public class CampfireBlockEntity extends BlockEntity implements Clearable { this.cookingProgress = new int[4]; this.cookingTime = new int[4]; this.quickCheck = RecipeManager.createCheck(RecipeType.CAMPFIRE_COOKING); @@ -24,7 +24,7 @@ index 06df710f58ca7d55b19c0db9d393a73ca6e5aa79..830326496e2f961682daadc7a7859247 } public static void cookTick(Level world, BlockPos pos, BlockState state, CampfireBlockEntity campfire) { -@@ -56,7 +58,9 @@ public class CampfireBlockEntity extends BlockEntity implements Clearable { +@@ -58,7 +60,9 @@ public class CampfireBlockEntity extends BlockEntity implements Clearable { if (!itemstack.isEmpty()) { flag = true; @@ -34,7 +34,7 @@ index 06df710f58ca7d55b19c0db9d393a73ca6e5aa79..830326496e2f961682daadc7a7859247 if (campfire.cookingProgress[i] >= campfire.cookingTime[i]) { SimpleContainer inventorysubcontainer = new SimpleContainer(new ItemStack[]{itemstack}); -@@ -165,6 +169,16 @@ public class CampfireBlockEntity extends BlockEntity implements Clearable { +@@ -167,6 +171,16 @@ public class CampfireBlockEntity extends BlockEntity implements Clearable { System.arraycopy(aint, 0, this.cookingTime, 0, Math.min(this.cookingTime.length, aint.length)); } @@ -51,7 +51,7 @@ index 06df710f58ca7d55b19c0db9d393a73ca6e5aa79..830326496e2f961682daadc7a7859247 } @Override -@@ -173,6 +187,13 @@ public class CampfireBlockEntity extends BlockEntity implements Clearable { +@@ -175,6 +189,13 @@ public class CampfireBlockEntity extends BlockEntity implements Clearable { ContainerHelper.saveAllItems(nbt, this.items, true); nbt.putIntArray("CookingTimes", this.cookingProgress); nbt.putIntArray("CookingTotalTimes", this.cookingTime); diff --git a/patches/server/0807-Custom-Potion-Mixes.patch b/patches/server/0807-Custom-Potion-Mixes.patch index f9e77e980d..b5a930038c 100644 --- a/patches/server/0807-Custom-Potion-Mixes.patch +++ b/patches/server/0807-Custom-Potion-Mixes.patch @@ -151,10 +151,10 @@ index 421c2131fec0b7266c773c3f1983308f6921df6b..12d9556a11ac4ef2e7a62fcd2686d868 addContainer(Items.POTION); addContainer(Items.SPLASH_POTION); diff --git a/src/main/java/net/minecraft/world/level/block/entity/BrewingStandBlockEntity.java b/src/main/java/net/minecraft/world/level/block/entity/BrewingStandBlockEntity.java -index 3d688e334c7287f41460bd866bfd1155e8bb55d2..55006724ccec9f3de828ec18693728e9741ff65f 100644 +index cf2b6487a640a7a613f3b3604ca7b1063b3ff102..0bab2693b91d5bab222c7db8bc6965ccde954003 100644 --- a/src/main/java/net/minecraft/world/level/block/entity/BrewingStandBlockEntity.java +++ b/src/main/java/net/minecraft/world/level/block/entity/BrewingStandBlockEntity.java -@@ -335,7 +335,7 @@ public class BrewingStandBlockEntity extends BaseContainerBlockEntity implements +@@ -340,7 +340,7 @@ public class BrewingStandBlockEntity extends BaseContainerBlockEntity implements @Override public boolean canPlaceItem(int slot, ItemStack stack) { diff --git a/patches/server/0808-Fix-Fluid-tags-isTagged-method.patch b/patches/server/0808-Fix-Fluid-tags-isTagged-method.patch deleted file mode 100644 index adf5cdf802..0000000000 --- a/patches/server/0808-Fix-Fluid-tags-isTagged-method.patch +++ /dev/null @@ -1,32 +0,0 @@ -From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 -From: Jake Potrebic -Date: Tue, 1 Mar 2022 12:45:50 -0800 -Subject: [PATCH] Fix Fluid tags isTagged method - - -diff --git a/src/main/java/org/bukkit/craftbukkit/tag/CraftFluidTag.java b/src/main/java/org/bukkit/craftbukkit/tag/CraftFluidTag.java -index 89cb1ec575c0f58e9934d98b056621348dbbe27a..cdd474e9b0363641839a66d3e61fec46c735879a 100644 ---- a/src/main/java/org/bukkit/craftbukkit/tag/CraftFluidTag.java -+++ b/src/main/java/org/bukkit/craftbukkit/tag/CraftFluidTag.java -@@ -16,7 +16,7 @@ public class CraftFluidTag extends CraftTag ResourceKey.create(Registries.ENTITY_TYPE, CraftNamespacedKey.toMinecraft(type.getKey())))).is(tag); // Paper - cache key } - @Override -diff --git a/src/main/java/org/bukkit/craftbukkit/tag/CraftFluidTag.java b/src/main/java/org/bukkit/craftbukkit/tag/CraftFluidTag.java -index cdd474e9b0363641839a66d3e61fec46c735879a..1a987b3c8f044dfd217e984dc122582095367e46 100644 ---- a/src/main/java/org/bukkit/craftbukkit/tag/CraftFluidTag.java -+++ b/src/main/java/org/bukkit/craftbukkit/tag/CraftFluidTag.java -@@ -14,9 +14,10 @@ public class CraftFluidTag extends CraftTag> KEY_CACHE = Collections.synchronizedMap(new java.util.EnumMap<>(Fluid.class)); // Paper - @Override - public boolean isTagged(Fluid fluid) { -- return registry.getHolderOrThrow(net.minecraft.resources.ResourceKey.create(net.minecraft.core.Registry.FLUID_REGISTRY, org.bukkit.craftbukkit.util.CraftNamespacedKey.toMinecraft(fluid.getKey()))).is(tag); // Paper -+ return registry.getHolderOrThrow(KEY_CACHE.computeIfAbsent(fluid, f -> net.minecraft.resources.ResourceKey.create(net.minecraft.core.registries.Registries.FLUID, org.bukkit.craftbukkit.util.CraftNamespacedKey.toMinecraft(f.getKey())))).is(tag); // Paper - cache key - } - @Override diff --git a/patches/server/0827-Allow-to-change-the-podium-for-the-EnderDragon.patch b/patches/server/0826-Allow-to-change-the-podium-for-the-EnderDragon.patch similarity index 100% rename from patches/server/0827-Allow-to-change-the-podium-for-the-EnderDragon.patch rename to patches/server/0826-Allow-to-change-the-podium-for-the-EnderDragon.patch diff --git a/patches/server/0828-Fix-NBT-pieces-overriding-a-block-entity-during-worl.patch b/patches/server/0827-Fix-NBT-pieces-overriding-a-block-entity-during-worl.patch similarity index 100% rename from patches/server/0828-Fix-NBT-pieces-overriding-a-block-entity-during-worl.patch rename to patches/server/0827-Fix-NBT-pieces-overriding-a-block-entity-during-worl.patch diff --git a/patches/server/0829-Fix-StructureGrowEvent-species-for-RED_MUSHROOM.patch b/patches/server/0828-Fix-StructureGrowEvent-species-for-RED_MUSHROOM.patch similarity index 100% rename from patches/server/0829-Fix-StructureGrowEvent-species-for-RED_MUSHROOM.patch rename to patches/server/0828-Fix-StructureGrowEvent-species-for-RED_MUSHROOM.patch diff --git a/patches/server/0830-Prevent-tile-entity-copies-loading-chunks.patch b/patches/server/0829-Prevent-tile-entity-copies-loading-chunks.patch similarity index 100% rename from patches/server/0830-Prevent-tile-entity-copies-loading-chunks.patch rename to patches/server/0829-Prevent-tile-entity-copies-loading-chunks.patch diff --git a/patches/server/0831-Use-username-instead-of-display-name-in-PlayerList-g.patch b/patches/server/0830-Use-username-instead-of-display-name-in-PlayerList-g.patch similarity index 100% rename from patches/server/0831-Use-username-instead-of-display-name-in-PlayerList-g.patch rename to patches/server/0830-Use-username-instead-of-display-name-in-PlayerList-g.patch diff --git a/patches/server/0832-Fix-slime-spawners-not-spawning-outside-slime-chunks.patch b/patches/server/0831-Fix-slime-spawners-not-spawning-outside-slime-chunks.patch similarity index 100% rename from patches/server/0832-Fix-slime-spawners-not-spawning-outside-slime-chunks.patch rename to patches/server/0831-Fix-slime-spawners-not-spawning-outside-slime-chunks.patch diff --git a/patches/server/0833-Pass-ServerLevel-for-gamerule-callbacks.patch b/patches/server/0832-Pass-ServerLevel-for-gamerule-callbacks.patch similarity index 100% rename from patches/server/0833-Pass-ServerLevel-for-gamerule-callbacks.patch rename to patches/server/0832-Pass-ServerLevel-for-gamerule-callbacks.patch diff --git a/patches/server/0834-Add-pre-unbreaking-amount-to-PlayerItemDamageEvent.patch b/patches/server/0833-Add-pre-unbreaking-amount-to-PlayerItemDamageEvent.patch similarity index 100% rename from patches/server/0834-Add-pre-unbreaking-amount-to-PlayerItemDamageEvent.patch rename to patches/server/0833-Add-pre-unbreaking-amount-to-PlayerItemDamageEvent.patch diff --git a/patches/server/0835-WorldCreator-keepSpawnLoaded.patch b/patches/server/0834-WorldCreator-keepSpawnLoaded.patch similarity index 100% rename from patches/server/0835-WorldCreator-keepSpawnLoaded.patch rename to patches/server/0834-WorldCreator-keepSpawnLoaded.patch diff --git a/patches/server/0836-Fix-NPE-for-BlockDataMeta-getBlockData.patch b/patches/server/0835-Fix-NPE-for-BlockDataMeta-getBlockData.patch similarity index 100% rename from patches/server/0836-Fix-NPE-for-BlockDataMeta-getBlockData.patch rename to patches/server/0835-Fix-NPE-for-BlockDataMeta-getBlockData.patch diff --git a/patches/server/0837-Trigger-bee_nest_destroyed-trigger-in-the-correct-pl.patch b/patches/server/0836-Trigger-bee_nest_destroyed-trigger-in-the-correct-pl.patch similarity index 100% rename from patches/server/0837-Trigger-bee_nest_destroyed-trigger-in-the-correct-pl.patch rename to patches/server/0836-Trigger-bee_nest_destroyed-trigger-in-the-correct-pl.patch diff --git a/patches/server/0838-Add-EntityDyeEvent-and-CollarColorable-interface.patch b/patches/server/0837-Add-EntityDyeEvent-and-CollarColorable-interface.patch similarity index 100% rename from patches/server/0838-Add-EntityDyeEvent-and-CollarColorable-interface.patch rename to patches/server/0837-Add-EntityDyeEvent-and-CollarColorable-interface.patch diff --git a/patches/server/0839-Fire-CauldronLevelChange-on-initial-fill.patch b/patches/server/0838-Fire-CauldronLevelChange-on-initial-fill.patch similarity index 100% rename from patches/server/0839-Fire-CauldronLevelChange-on-initial-fill.patch rename to patches/server/0838-Fire-CauldronLevelChange-on-initial-fill.patch diff --git a/patches/server/0840-fix-powder-snow-cauldrons-not-turning-to-water.patch b/patches/server/0839-fix-powder-snow-cauldrons-not-turning-to-water.patch similarity index 100% rename from patches/server/0840-fix-powder-snow-cauldrons-not-turning-to-water.patch rename to patches/server/0839-fix-powder-snow-cauldrons-not-turning-to-water.patch diff --git a/patches/server/0841-Add-PlayerStopUsingItemEvent.patch b/patches/server/0840-Add-PlayerStopUsingItemEvent.patch similarity index 100% rename from patches/server/0841-Add-PlayerStopUsingItemEvent.patch rename to patches/server/0840-Add-PlayerStopUsingItemEvent.patch diff --git a/patches/server/0842-FallingBlock-auto-expire-setting.patch b/patches/server/0841-FallingBlock-auto-expire-setting.patch similarity index 100% rename from patches/server/0842-FallingBlock-auto-expire-setting.patch rename to patches/server/0841-FallingBlock-auto-expire-setting.patch diff --git a/patches/server/0843-Don-t-tick-markers.patch b/patches/server/0842-Don-t-tick-markers.patch similarity index 100% rename from patches/server/0843-Don-t-tick-markers.patch rename to patches/server/0842-Don-t-tick-markers.patch diff --git a/patches/server/0844-Do-not-accept-invalid-client-settings.patch b/patches/server/0843-Do-not-accept-invalid-client-settings.patch similarity index 100% rename from patches/server/0844-Do-not-accept-invalid-client-settings.patch rename to patches/server/0843-Do-not-accept-invalid-client-settings.patch diff --git a/patches/server/0845-Add-support-for-Proxy-Protocol.patch b/patches/server/0844-Add-support-for-Proxy-Protocol.patch similarity index 100% rename from patches/server/0845-Add-support-for-Proxy-Protocol.patch rename to patches/server/0844-Add-support-for-Proxy-Protocol.patch diff --git a/patches/server/0846-Fix-OfflinePlayer-getBedSpawnLocation.patch b/patches/server/0845-Fix-OfflinePlayer-getBedSpawnLocation.patch similarity index 100% rename from patches/server/0846-Fix-OfflinePlayer-getBedSpawnLocation.patch rename to patches/server/0845-Fix-OfflinePlayer-getBedSpawnLocation.patch diff --git a/patches/server/0847-Fix-FurnaceInventory-for-smokers-and-blast-furnaces.patch b/patches/server/0846-Fix-FurnaceInventory-for-smokers-and-blast-furnaces.patch similarity index 100% rename from patches/server/0847-Fix-FurnaceInventory-for-smokers-and-blast-furnaces.patch rename to patches/server/0846-Fix-FurnaceInventory-for-smokers-and-blast-furnaces.patch diff --git a/patches/server/0848-Sanitize-Sent-BlockEntity-NBT.patch b/patches/server/0847-Sanitize-Sent-BlockEntity-NBT.patch similarity index 100% rename from patches/server/0848-Sanitize-Sent-BlockEntity-NBT.patch rename to patches/server/0847-Sanitize-Sent-BlockEntity-NBT.patch diff --git a/patches/server/0849-Prevent-entity-loading-causing-async-lookups.patch b/patches/server/0848-Prevent-entity-loading-causing-async-lookups.patch similarity index 100% rename from patches/server/0849-Prevent-entity-loading-causing-async-lookups.patch rename to patches/server/0848-Prevent-entity-loading-causing-async-lookups.patch diff --git a/patches/server/0850-Disable-component-selector-resolving-in-books-by-def.patch b/patches/server/0849-Disable-component-selector-resolving-in-books-by-def.patch similarity index 100% rename from patches/server/0850-Disable-component-selector-resolving-in-books-by-def.patch rename to patches/server/0849-Disable-component-selector-resolving-in-books-by-def.patch diff --git a/patches/server/0851-Throw-exception-on-world-create-while-being-ticked.patch b/patches/server/0850-Throw-exception-on-world-create-while-being-ticked.patch similarity index 100% rename from patches/server/0851-Throw-exception-on-world-create-while-being-ticked.patch rename to patches/server/0850-Throw-exception-on-world-create-while-being-ticked.patch diff --git a/patches/server/0852-Add-Alternate-Current-redstone-implementation.patch b/patches/server/0851-Add-Alternate-Current-redstone-implementation.patch similarity index 100% rename from patches/server/0852-Add-Alternate-Current-redstone-implementation.patch rename to patches/server/0851-Add-Alternate-Current-redstone-implementation.patch diff --git a/patches/server/0853-Dont-resent-entity-on-art-update.patch b/patches/server/0852-Dont-resent-entity-on-art-update.patch similarity index 100% rename from patches/server/0853-Dont-resent-entity-on-art-update.patch rename to patches/server/0852-Dont-resent-entity-on-art-update.patch diff --git a/patches/server/0854-Add-WardenAngerChangeEvent.patch b/patches/server/0853-Add-WardenAngerChangeEvent.patch similarity index 100% rename from patches/server/0854-Add-WardenAngerChangeEvent.patch rename to patches/server/0853-Add-WardenAngerChangeEvent.patch diff --git a/patches/server/0855-Add-option-for-strict-advancement-dimension-checks.patch b/patches/server/0854-Add-option-for-strict-advancement-dimension-checks.patch similarity index 100% rename from patches/server/0855-Add-option-for-strict-advancement-dimension-checks.patch rename to patches/server/0854-Add-option-for-strict-advancement-dimension-checks.patch diff --git a/patches/server/0856-Add-missing-important-BlockStateListPopulator-method.patch b/patches/server/0855-Add-missing-important-BlockStateListPopulator-method.patch similarity index 100% rename from patches/server/0856-Add-missing-important-BlockStateListPopulator-method.patch rename to patches/server/0855-Add-missing-important-BlockStateListPopulator-method.patch diff --git a/patches/server/0857-Nameable-Banner-API.patch b/patches/server/0856-Nameable-Banner-API.patch similarity index 100% rename from patches/server/0857-Nameable-Banner-API.patch rename to patches/server/0856-Nameable-Banner-API.patch diff --git a/patches/server/0858-Don-t-broadcast-messages-to-command-blocks.patch b/patches/server/0857-Don-t-broadcast-messages-to-command-blocks.patch similarity index 100% rename from patches/server/0858-Don-t-broadcast-messages-to-command-blocks.patch rename to patches/server/0857-Don-t-broadcast-messages-to-command-blocks.patch diff --git a/patches/server/0859-Prevent-empty-items-from-being-added-to-world.patch b/patches/server/0858-Prevent-empty-items-from-being-added-to-world.patch similarity index 100% rename from patches/server/0859-Prevent-empty-items-from-being-added-to-world.patch rename to patches/server/0858-Prevent-empty-items-from-being-added-to-world.patch diff --git a/patches/server/0860-Fix-CCE-for-SplashPotion-and-LingeringPotion-spawnin.patch b/patches/server/0859-Fix-CCE-for-SplashPotion-and-LingeringPotion-spawnin.patch similarity index 100% rename from patches/server/0860-Fix-CCE-for-SplashPotion-and-LingeringPotion-spawnin.patch rename to patches/server/0859-Fix-CCE-for-SplashPotion-and-LingeringPotion-spawnin.patch diff --git a/patches/server/0861-Don-t-print-component-in-resource-pack-rejection-mes.patch b/patches/server/0860-Don-t-print-component-in-resource-pack-rejection-mes.patch similarity index 100% rename from patches/server/0861-Don-t-print-component-in-resource-pack-rejection-mes.patch rename to patches/server/0860-Don-t-print-component-in-resource-pack-rejection-mes.patch diff --git a/patches/server/0862-Add-Player-getFishHook.patch b/patches/server/0861-Add-Player-getFishHook.patch similarity index 100% rename from patches/server/0862-Add-Player-getFishHook.patch rename to patches/server/0861-Add-Player-getFishHook.patch diff --git a/patches/server/0863-Do-not-sync-load-chunk-for-dynamic-game-event-listen.patch b/patches/server/0862-Do-not-sync-load-chunk-for-dynamic-game-event-listen.patch similarity index 100% rename from patches/server/0863-Do-not-sync-load-chunk-for-dynamic-game-event-listen.patch rename to patches/server/0862-Do-not-sync-load-chunk-for-dynamic-game-event-listen.patch diff --git a/patches/server/0864-Add-various-missing-EntityDropItemEvent-calls.patch b/patches/server/0863-Add-various-missing-EntityDropItemEvent-calls.patch similarity index 100% rename from patches/server/0864-Add-various-missing-EntityDropItemEvent-calls.patch rename to patches/server/0863-Add-various-missing-EntityDropItemEvent-calls.patch diff --git a/patches/server/0865-Add-some-minimal-debug-information-to-chat-packet-er.patch b/patches/server/0864-Add-some-minimal-debug-information-to-chat-packet-er.patch similarity index 100% rename from patches/server/0865-Add-some-minimal-debug-information-to-chat-packet-er.patch rename to patches/server/0864-Add-some-minimal-debug-information-to-chat-packet-er.patch diff --git a/patches/server/0866-Fix-Bee-flower-NPE.patch b/patches/server/0865-Fix-Bee-flower-NPE.patch similarity index 100% rename from patches/server/0866-Fix-Bee-flower-NPE.patch rename to patches/server/0865-Fix-Bee-flower-NPE.patch diff --git a/patches/server/0867-Fix-Spigot-Config-not-using-commands.spam-exclusions.patch b/patches/server/0866-Fix-Spigot-Config-not-using-commands.spam-exclusions.patch similarity index 100% rename from patches/server/0867-Fix-Spigot-Config-not-using-commands.spam-exclusions.patch rename to patches/server/0866-Fix-Spigot-Config-not-using-commands.spam-exclusions.patch diff --git a/patches/server/0868-More-Teleport-API.patch b/patches/server/0867-More-Teleport-API.patch similarity index 100% rename from patches/server/0868-More-Teleport-API.patch rename to patches/server/0867-More-Teleport-API.patch diff --git a/patches/server/0869-Add-EntityPortalReadyEvent.patch b/patches/server/0868-Add-EntityPortalReadyEvent.patch similarity index 100% rename from patches/server/0869-Add-EntityPortalReadyEvent.patch rename to patches/server/0868-Add-EntityPortalReadyEvent.patch diff --git a/patches/server/0870-Don-t-use-level-random-in-entity-constructors.patch b/patches/server/0869-Don-t-use-level-random-in-entity-constructors.patch similarity index 100% rename from patches/server/0870-Don-t-use-level-random-in-entity-constructors.patch rename to patches/server/0869-Don-t-use-level-random-in-entity-constructors.patch diff --git a/patches/server/0871-Send-block-entities-after-destroy-prediction.patch b/patches/server/0870-Send-block-entities-after-destroy-prediction.patch similarity index 100% rename from patches/server/0871-Send-block-entities-after-destroy-prediction.patch rename to patches/server/0870-Send-block-entities-after-destroy-prediction.patch diff --git a/patches/server/0872-Warn-on-plugins-accessing-faraway-chunks.patch b/patches/server/0871-Warn-on-plugins-accessing-faraway-chunks.patch similarity index 100% rename from patches/server/0872-Warn-on-plugins-accessing-faraway-chunks.patch rename to patches/server/0871-Warn-on-plugins-accessing-faraway-chunks.patch diff --git a/patches/server/0873-Custom-Chat-Completion-Suggestions-API.patch b/patches/server/0872-Custom-Chat-Completion-Suggestions-API.patch similarity index 100% rename from patches/server/0873-Custom-Chat-Completion-Suggestions-API.patch rename to patches/server/0872-Custom-Chat-Completion-Suggestions-API.patch diff --git a/patches/server/0874-Add-missing-BlockFadeEvents.patch b/patches/server/0873-Add-missing-BlockFadeEvents.patch similarity index 100% rename from patches/server/0874-Add-missing-BlockFadeEvents.patch rename to patches/server/0873-Add-missing-BlockFadeEvents.patch diff --git a/patches/server/0875-Collision-API.patch b/patches/server/0874-Collision-API.patch similarity index 100% rename from patches/server/0875-Collision-API.patch rename to patches/server/0874-Collision-API.patch diff --git a/patches/server/0876-Fix-suggest-command-message-for-brigadier-syntax-exc.patch b/patches/server/0875-Fix-suggest-command-message-for-brigadier-syntax-exc.patch similarity index 100% rename from patches/server/0876-Fix-suggest-command-message-for-brigadier-syntax-exc.patch rename to patches/server/0875-Fix-suggest-command-message-for-brigadier-syntax-exc.patch diff --git a/patches/server/0877-Remove-invalid-signature-login-stacktrace.patch b/patches/server/0876-Remove-invalid-signature-login-stacktrace.patch similarity index 100% rename from patches/server/0877-Remove-invalid-signature-login-stacktrace.patch rename to patches/server/0876-Remove-invalid-signature-login-stacktrace.patch diff --git a/patches/server/0878-Add-async-catcher-to-PlayerConnection-internalTelepo.patch b/patches/server/0877-Add-async-catcher-to-PlayerConnection-internalTelepo.patch similarity index 100% rename from patches/server/0878-Add-async-catcher-to-PlayerConnection-internalTelepo.patch rename to patches/server/0877-Add-async-catcher-to-PlayerConnection-internalTelepo.patch diff --git a/patches/server/0879-Block-Ticking-API.patch b/patches/server/0878-Block-Ticking-API.patch similarity index 85% rename from patches/server/0879-Block-Ticking-API.patch rename to patches/server/0878-Block-Ticking-API.patch index 5827f7c67d..e742ff3265 100644 --- a/patches/server/0879-Block-Ticking-API.patch +++ b/patches/server/0878-Block-Ticking-API.patch @@ -5,10 +5,10 @@ Subject: [PATCH] Block Ticking API diff --git a/src/main/java/org/bukkit/craftbukkit/block/CraftBlock.java b/src/main/java/org/bukkit/craftbukkit/block/CraftBlock.java -index 87dfc2fd1e2ff9e9449f1ce00dfb63e3e88839cd..350cbf64c17938021002d5fd67176c44b398231e 100644 +index 0d30b388d8d93a6dbbf8dfb30d26eb44c73e1e4e..962c950ca9c7e047a3aec215d4faa73676049d36 100644 --- a/src/main/java/org/bukkit/craftbukkit/block/CraftBlock.java +++ b/src/main/java/org/bukkit/craftbukkit/block/CraftBlock.java -@@ -760,5 +760,21 @@ public class CraftBlock implements Block { +@@ -756,5 +756,21 @@ public class CraftBlock implements Block { public boolean isValidTool(ItemStack itemStack) { return getDrops(itemStack).size() != 0; } @@ -31,10 +31,10 @@ index 87dfc2fd1e2ff9e9449f1ce00dfb63e3e88839cd..350cbf64c17938021002d5fd67176c44 // Paper end } diff --git a/src/main/java/org/bukkit/craftbukkit/block/data/CraftBlockData.java b/src/main/java/org/bukkit/craftbukkit/block/data/CraftBlockData.java -index 3399e8cdf2230bd71444abb43829c54d7277ce36..6f7ee97e381e80d6e8cf6b9c3f40b5e25f6bf64b 100644 +index 7acf213194f61d04cffabaaee6c1372bfa2e1933..0a04366b3f472bc4ce20ed814dc326b278119c74 100644 --- a/src/main/java/org/bukkit/craftbukkit/block/data/CraftBlockData.java +++ b/src/main/java/org/bukkit/craftbukkit/block/data/CraftBlockData.java -@@ -617,4 +617,10 @@ public class CraftBlockData implements BlockData { +@@ -652,4 +652,10 @@ public class CraftBlockData implements BlockData { return this.state.isFaceSturdy(EmptyBlockGetter.INSTANCE, BlockPos.ZERO, CraftBlock.blockFaceToNotch(face), CraftBlockSupport.toNMS(support)); } diff --git a/patches/server/0880-Add-Velocity-IP-Forwarding-Support.patch b/patches/server/0879-Add-Velocity-IP-Forwarding-Support.patch similarity index 100% rename from patches/server/0880-Add-Velocity-IP-Forwarding-Support.patch rename to patches/server/0879-Add-Velocity-IP-Forwarding-Support.patch diff --git a/patches/server/0881-Use-thread-safe-random-in-ServerLoginPacketListenerI.patch b/patches/server/0880-Use-thread-safe-random-in-ServerLoginPacketListenerI.patch similarity index 100% rename from patches/server/0881-Use-thread-safe-random-in-ServerLoginPacketListenerI.patch rename to patches/server/0880-Use-thread-safe-random-in-ServerLoginPacketListenerI.patch diff --git a/patches/server/0882-Add-NamespacedKey-biome-methods.patch b/patches/server/0881-Add-NamespacedKey-biome-methods.patch similarity index 92% rename from patches/server/0882-Add-NamespacedKey-biome-methods.patch rename to patches/server/0881-Add-NamespacedKey-biome-methods.patch index ae8b1ea77d..82abc8c239 100644 --- a/patches/server/0882-Add-NamespacedKey-biome-methods.patch +++ b/patches/server/0881-Add-NamespacedKey-biome-methods.patch @@ -6,10 +6,10 @@ Subject: [PATCH] Add NamespacedKey biome methods Co-authored-by: Thonk <30448663+ExcessiveAmountsOfZombies@users.noreply.github.com> diff --git a/src/main/java/org/bukkit/craftbukkit/util/CraftMagicNumbers.java b/src/main/java/org/bukkit/craftbukkit/util/CraftMagicNumbers.java -index 73e82653e0a68560c25ae41ade4c58111cbcd276..daeaa30cdd64f5cb775304e82f2390684c02a9d3 100644 +index 34e4d36024900ae174170c0a0f18b8dda8dd52f2..c51a7f7489a37093e4096b28bfc1031ba6a2b8c2 100644 --- a/src/main/java/org/bukkit/craftbukkit/util/CraftMagicNumbers.java +++ b/src/main/java/org/bukkit/craftbukkit/util/CraftMagicNumbers.java -@@ -605,6 +605,19 @@ public final class CraftMagicNumbers implements UnsafeValues { +@@ -606,6 +606,19 @@ public final class CraftMagicNumbers implements UnsafeValues { Preconditions.checkArgument(material.isBlock(), material + " is not a block"); return getBlock(material).hasCollision; } diff --git a/patches/server/0883-Fix-plugin-loggers-on-server-shutdown.patch b/patches/server/0882-Fix-plugin-loggers-on-server-shutdown.patch similarity index 100% rename from patches/server/0883-Fix-plugin-loggers-on-server-shutdown.patch rename to patches/server/0882-Fix-plugin-loggers-on-server-shutdown.patch diff --git a/patches/server/0884-Workaround-for-client-lag-spikes-MC-162253.patch b/patches/server/0883-Workaround-for-client-lag-spikes-MC-162253.patch similarity index 100% rename from patches/server/0884-Workaround-for-client-lag-spikes-MC-162253.patch rename to patches/server/0883-Workaround-for-client-lag-spikes-MC-162253.patch diff --git a/patches/server/0885-Stop-large-look-changes-from-crashing-the-server.patch b/patches/server/0884-Stop-large-look-changes-from-crashing-the-server.patch similarity index 100% rename from patches/server/0885-Stop-large-look-changes-from-crashing-the-server.patch rename to patches/server/0884-Stop-large-look-changes-from-crashing-the-server.patch diff --git a/patches/server/0886-Add-custom-destroyerIdentity-to-sendBlockDamage.patch b/patches/server/0885-Add-custom-destroyerIdentity-to-sendBlockDamage.patch similarity index 100% rename from patches/server/0886-Add-custom-destroyerIdentity-to-sendBlockDamage.patch rename to patches/server/0885-Add-custom-destroyerIdentity-to-sendBlockDamage.patch diff --git a/patches/server/0887-Fix-EndDragonFight-killed-statuses-should-be-false-f.patch b/patches/server/0886-Fix-EndDragonFight-killed-statuses-should-be-false-f.patch similarity index 100% rename from patches/server/0887-Fix-EndDragonFight-killed-statuses-should-be-false-f.patch rename to patches/server/0886-Fix-EndDragonFight-killed-statuses-should-be-false-f.patch diff --git a/patches/server/0888-Fire-EntityChangeBlockEvent-in-more-places.patch b/patches/server/0887-Fire-EntityChangeBlockEvent-in-more-places.patch similarity index 100% rename from patches/server/0888-Fire-EntityChangeBlockEvent-in-more-places.patch rename to patches/server/0887-Fire-EntityChangeBlockEvent-in-more-places.patch diff --git a/patches/server/0889-Missing-eating-regain-reason.patch b/patches/server/0888-Missing-eating-regain-reason.patch similarity index 100% rename from patches/server/0889-Missing-eating-regain-reason.patch rename to patches/server/0888-Missing-eating-regain-reason.patch diff --git a/patches/server/0890-Missing-effect-cause.patch b/patches/server/0889-Missing-effect-cause.patch similarity index 100% rename from patches/server/0890-Missing-effect-cause.patch rename to patches/server/0889-Missing-effect-cause.patch diff --git a/patches/server/0891-Added-byte-array-serialization-deserialization-for-P.patch b/patches/server/0890-Added-byte-array-serialization-deserialization-for-P.patch similarity index 100% rename from patches/server/0891-Added-byte-array-serialization-deserialization-for-P.patch rename to patches/server/0890-Added-byte-array-serialization-deserialization-for-P.patch diff --git a/patches/server/0892-Add-a-consumer-parameter-to-ProjectileSource-launchP.patch b/patches/server/0891-Add-a-consumer-parameter-to-ProjectileSource-launchP.patch similarity index 100% rename from patches/server/0892-Add-a-consumer-parameter-to-ProjectileSource-launchP.patch rename to patches/server/0891-Add-a-consumer-parameter-to-ProjectileSource-launchP.patch diff --git a/patches/server/0893-Call-BlockPhysicsEvent-more-often.patch b/patches/server/0892-Call-BlockPhysicsEvent-more-often.patch similarity index 100% rename from patches/server/0893-Call-BlockPhysicsEvent-more-often.patch rename to patches/server/0892-Call-BlockPhysicsEvent-more-often.patch diff --git a/patches/server/0894-Configurable-chat-thread-limit.patch b/patches/server/0893-Configurable-chat-thread-limit.patch similarity index 100% rename from patches/server/0894-Configurable-chat-thread-limit.patch rename to patches/server/0893-Configurable-chat-thread-limit.patch diff --git a/patches/server/0895-Mitigate-effects-of-WorldCreator-keepSpawnLoaded-ret.patch b/patches/server/0894-Mitigate-effects-of-WorldCreator-keepSpawnLoaded-ret.patch similarity index 100% rename from patches/server/0895-Mitigate-effects-of-WorldCreator-keepSpawnLoaded-ret.patch rename to patches/server/0894-Mitigate-effects-of-WorldCreator-keepSpawnLoaded-ret.patch diff --git a/patches/server/0896-Set-position-before-player-sending-on-dimension-chan.patch b/patches/server/0895-Set-position-before-player-sending-on-dimension-chan.patch similarity index 100% rename from patches/server/0896-Set-position-before-player-sending-on-dimension-chan.patch rename to patches/server/0895-Set-position-before-player-sending-on-dimension-chan.patch diff --git a/patches/server/0897-fix-Jigsaw-block-kicking-user.patch b/patches/server/0896-fix-Jigsaw-block-kicking-user.patch similarity index 100% rename from patches/server/0897-fix-Jigsaw-block-kicking-user.patch rename to patches/server/0896-fix-Jigsaw-block-kicking-user.patch diff --git a/patches/server/0898-use-BlockFormEvent-for-mud-converting-into-clay.patch b/patches/server/0897-use-BlockFormEvent-for-mud-converting-into-clay.patch similarity index 100% rename from patches/server/0898-use-BlockFormEvent-for-mud-converting-into-clay.patch rename to patches/server/0897-use-BlockFormEvent-for-mud-converting-into-clay.patch diff --git a/patches/server/0899-Add-getDrops-to-BlockState-and-isPreferredTool-to-Bl.patch b/patches/server/0898-Add-getDrops-to-BlockState.patch similarity index 66% rename from patches/server/0899-Add-getDrops-to-BlockState-and-isPreferredTool-to-Bl.patch rename to patches/server/0898-Add-getDrops-to-BlockState.patch index d11dd661b3..a83779ec9a 100644 --- a/patches/server/0899-Add-getDrops-to-BlockState-and-isPreferredTool-to-Bl.patch +++ b/patches/server/0898-Add-getDrops-to-BlockState.patch @@ -1,8 +1,10 @@ From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 From: MelnCat Date: Fri, 12 Aug 2022 23:24:37 -0700 -Subject: [PATCH] Add getDrops to BlockState and isPreferredTool to BlockData +Subject: [PATCH] Add getDrops to BlockState +Originally added isPreferredTool to BlockData but +upstream added that. diff --git a/src/main/java/org/bukkit/craftbukkit/block/CraftBlockState.java b/src/main/java/org/bukkit/craftbukkit/block/CraftBlockState.java index 966ac60daebb7bb211ab8096fc0c5f33db67320a..a8ab1d3ee81664193be39d2735d6495136e0e310 100644 @@ -42,20 +44,3 @@ index 966ac60daebb7bb211ab8096fc0c5f33db67320a..a8ab1d3ee81664193be39d2735d64951 + } // Paper end } -diff --git a/src/main/java/org/bukkit/craftbukkit/block/data/CraftBlockData.java b/src/main/java/org/bukkit/craftbukkit/block/data/CraftBlockData.java -index 6f7ee97e381e80d6e8cf6b9c3f40b5e25f6bf64b..1fefe185800dd48dd328697127405e0844543e5e 100644 ---- a/src/main/java/org/bukkit/craftbukkit/block/data/CraftBlockData.java -+++ b/src/main/java/org/bukkit/craftbukkit/block/data/CraftBlockData.java -@@ -623,4 +623,12 @@ public class CraftBlockData implements BlockData { - return this.state.isRandomlyTicking(); - } - // Paper end -+ -+ // Paper start - Preferred tool API -+ @Override -+ public boolean isPreferredTool(org.bukkit.inventory.ItemStack item) { -+ net.minecraft.world.item.ItemStack nms = org.bukkit.craftbukkit.inventory.CraftItemStack.asNMSCopy(item); -+ return !state.requiresCorrectToolForDrops() || nms.isCorrectToolForDrops(state); -+ } -+ // Paper end - } diff --git a/patches/server/0900-Fix-a-bunch-of-vanilla-bugs.patch b/patches/server/0899-Fix-a-bunch-of-vanilla-bugs.patch similarity index 100% rename from patches/server/0900-Fix-a-bunch-of-vanilla-bugs.patch rename to patches/server/0899-Fix-a-bunch-of-vanilla-bugs.patch diff --git a/patches/server/0901-Remove-unnecessary-onTrackingStart-during-navigation.patch b/patches/server/0900-Remove-unnecessary-onTrackingStart-during-navigation.patch similarity index 100% rename from patches/server/0901-Remove-unnecessary-onTrackingStart-during-navigation.patch rename to patches/server/0900-Remove-unnecessary-onTrackingStart-during-navigation.patch diff --git a/patches/server/0902-Fix-custom-piglin-loved-items.patch b/patches/server/0901-Fix-custom-piglin-loved-items.patch similarity index 100% rename from patches/server/0902-Fix-custom-piglin-loved-items.patch rename to patches/server/0901-Fix-custom-piglin-loved-items.patch diff --git a/patches/server/0903-EntityPickupItemEvent-fixes.patch b/patches/server/0902-EntityPickupItemEvent-fixes.patch similarity index 100% rename from patches/server/0903-EntityPickupItemEvent-fixes.patch rename to patches/server/0902-EntityPickupItemEvent-fixes.patch diff --git a/patches/server/0904-Correctly-handle-interactions-with-items-on-cooldown.patch b/patches/server/0903-Correctly-handle-interactions-with-items-on-cooldown.patch similarity index 100% rename from patches/server/0904-Correctly-handle-interactions-with-items-on-cooldown.patch rename to patches/server/0903-Correctly-handle-interactions-with-items-on-cooldown.patch diff --git a/patches/server/0905-Add-PlayerInventorySlotChangeEvent.patch b/patches/server/0904-Add-PlayerInventorySlotChangeEvent.patch similarity index 100% rename from patches/server/0905-Add-PlayerInventorySlotChangeEvent.patch rename to patches/server/0904-Add-PlayerInventorySlotChangeEvent.patch diff --git a/patches/server/0906-Elder-Guardian-appearance-API.patch b/patches/server/0905-Elder-Guardian-appearance-API.patch similarity index 100% rename from patches/server/0906-Elder-Guardian-appearance-API.patch rename to patches/server/0905-Elder-Guardian-appearance-API.patch diff --git a/patches/server/0907-Allow-changing-bed-s-occupied-property.patch b/patches/server/0906-Allow-changing-bed-s-occupied-property.patch similarity index 100% rename from patches/server/0907-Allow-changing-bed-s-occupied-property.patch rename to patches/server/0906-Allow-changing-bed-s-occupied-property.patch diff --git a/patches/server/0908-Add-entity-knockback-API.patch b/patches/server/0907-Add-entity-knockback-API.patch similarity index 100% rename from patches/server/0908-Add-entity-knockback-API.patch rename to patches/server/0907-Add-entity-knockback-API.patch diff --git a/patches/server/0909-Detect-headless-JREs.patch b/patches/server/0908-Detect-headless-JREs.patch similarity index 100% rename from patches/server/0909-Detect-headless-JREs.patch rename to patches/server/0908-Detect-headless-JREs.patch diff --git a/patches/server/0910-fixed-entity-vehicle-collision-event-not-called.patch b/patches/server/0909-fixed-entity-vehicle-collision-event-not-called.patch similarity index 100% rename from patches/server/0910-fixed-entity-vehicle-collision-event-not-called.patch rename to patches/server/0909-fixed-entity-vehicle-collision-event-not-called.patch diff --git a/patches/server/0911-optimized-dirt-and-snow-spreading.patch b/patches/server/0910-optimized-dirt-and-snow-spreading.patch similarity index 100% rename from patches/server/0911-optimized-dirt-and-snow-spreading.patch rename to patches/server/0910-optimized-dirt-and-snow-spreading.patch diff --git a/patches/server/0912-Added-EntityToggleSitEvent.patch b/patches/server/0911-Added-EntityToggleSitEvent.patch similarity index 100% rename from patches/server/0912-Added-EntityToggleSitEvent.patch rename to patches/server/0911-Added-EntityToggleSitEvent.patch diff --git a/patches/server/0913-Add-fire-tick-delay-option.patch b/patches/server/0912-Add-fire-tick-delay-option.patch similarity index 100% rename from patches/server/0913-Add-fire-tick-delay-option.patch rename to patches/server/0912-Add-fire-tick-delay-option.patch diff --git a/patches/server/0914-Add-Moving-Piston-API.patch b/patches/server/0913-Add-Moving-Piston-API.patch similarity index 100% rename from patches/server/0914-Add-Moving-Piston-API.patch rename to patches/server/0913-Add-Moving-Piston-API.patch diff --git a/patches/server/0915-Ignore-impossible-spawn-tick.patch b/patches/server/0914-Ignore-impossible-spawn-tick.patch similarity index 100% rename from patches/server/0915-Ignore-impossible-spawn-tick.patch rename to patches/server/0914-Ignore-impossible-spawn-tick.patch diff --git a/patches/server/0916-Track-projectile-source-for-fireworks-from-dispenser.patch b/patches/server/0915-Track-projectile-source-for-fireworks-from-dispenser.patch similarity index 100% rename from patches/server/0916-Track-projectile-source-for-fireworks-from-dispenser.patch rename to patches/server/0915-Track-projectile-source-for-fireworks-from-dispenser.patch diff --git a/patches/server/0917-Fix-EntityArgument-suggestion-permissions-to-align-w.patch b/patches/server/0916-Fix-EntityArgument-suggestion-permissions-to-align-w.patch similarity index 100% rename from patches/server/0917-Fix-EntityArgument-suggestion-permissions-to-align-w.patch rename to patches/server/0916-Fix-EntityArgument-suggestion-permissions-to-align-w.patch diff --git a/patches/server/0918-Fix-EntityCombustEvent-cancellation-cant-fully-preve.patch b/patches/server/0917-Fix-EntityCombustEvent-cancellation-cant-fully-preve.patch similarity index 100% rename from patches/server/0918-Fix-EntityCombustEvent-cancellation-cant-fully-preve.patch rename to patches/server/0917-Fix-EntityCombustEvent-cancellation-cant-fully-preve.patch diff --git a/patches/server/0919-Prevent-compass-from-loading-chunks.patch b/patches/server/0918-Prevent-compass-from-loading-chunks.patch similarity index 100% rename from patches/server/0919-Prevent-compass-from-loading-chunks.patch rename to patches/server/0918-Prevent-compass-from-loading-chunks.patch diff --git a/patches/server/0920-Add-PrePlayerAttackEntityEvent.patch b/patches/server/0919-Add-PrePlayerAttackEntityEvent.patch similarity index 100% rename from patches/server/0920-Add-PrePlayerAttackEntityEvent.patch rename to patches/server/0919-Add-PrePlayerAttackEntityEvent.patch diff --git a/patches/server/0921-ensure-reset-EnderDragon-boss-event-name.patch b/patches/server/0920-ensure-reset-EnderDragon-boss-event-name.patch similarity index 100% rename from patches/server/0921-ensure-reset-EnderDragon-boss-event-name.patch rename to patches/server/0920-ensure-reset-EnderDragon-boss-event-name.patch diff --git a/patches/server/0922-fix-MC-252817-green-map-markers-do-not-disappear.patch b/patches/server/0921-fix-MC-252817-green-map-markers-do-not-disappear.patch similarity index 100% rename from patches/server/0922-fix-MC-252817-green-map-markers-do-not-disappear.patch rename to patches/server/0921-fix-MC-252817-green-map-markers-do-not-disappear.patch diff --git a/patches/server/0923-Add-Player-Warden-Warning-API.patch b/patches/server/0922-Add-Player-Warden-Warning-API.patch similarity index 100% rename from patches/server/0923-Add-Player-Warden-Warning-API.patch rename to patches/server/0922-Add-Player-Warden-Warning-API.patch diff --git a/patches/server/0924-More-vanilla-friendly-methods-to-update-trades.patch b/patches/server/0923-More-vanilla-friendly-methods-to-update-trades.patch similarity index 100% rename from patches/server/0924-More-vanilla-friendly-methods-to-update-trades.patch rename to patches/server/0923-More-vanilla-friendly-methods-to-update-trades.patch diff --git a/patches/server/0925-Add-paper-dumplisteners-command.patch b/patches/server/0924-Add-paper-dumplisteners-command.patch similarity index 100% rename from patches/server/0925-Add-paper-dumplisteners-command.patch rename to patches/server/0924-Add-paper-dumplisteners-command.patch diff --git a/patches/server/0926-check-global-player-list-where-appropriate.patch b/patches/server/0925-check-global-player-list-where-appropriate.patch similarity index 100% rename from patches/server/0926-check-global-player-list-where-appropriate.patch rename to patches/server/0925-check-global-player-list-where-appropriate.patch diff --git a/patches/server/0927-Fix-async-entity-add-due-to-fungus-trees.patch b/patches/server/0926-Fix-async-entity-add-due-to-fungus-trees.patch similarity index 100% rename from patches/server/0927-Fix-async-entity-add-due-to-fungus-trees.patch rename to patches/server/0926-Fix-async-entity-add-due-to-fungus-trees.patch diff --git a/patches/server/0928-ItemStack-damage-API.patch b/patches/server/0927-ItemStack-damage-API.patch similarity index 100% rename from patches/server/0928-ItemStack-damage-API.patch rename to patches/server/0927-ItemStack-damage-API.patch diff --git a/patches/server/0929-Friction-API.patch b/patches/server/0928-Friction-API.patch similarity index 100% rename from patches/server/0929-Friction-API.patch rename to patches/server/0928-Friction-API.patch diff --git a/patches/server/0930-Ability-to-control-player-s-insomnia-and-phantoms.patch b/patches/server/0929-Ability-to-control-player-s-insomnia-and-phantoms.patch similarity index 100% rename from patches/server/0930-Ability-to-control-player-s-insomnia-and-phantoms.patch rename to patches/server/0929-Ability-to-control-player-s-insomnia-and-phantoms.patch diff --git a/patches/server/0931-Fix-player-kick-on-shutdown.patch b/patches/server/0930-Fix-player-kick-on-shutdown.patch similarity index 100% rename from patches/server/0931-Fix-player-kick-on-shutdown.patch rename to patches/server/0930-Fix-player-kick-on-shutdown.patch diff --git a/patches/server/0932-Sync-offhand-slot-in-menus.patch b/patches/server/0931-Sync-offhand-slot-in-menus.patch similarity index 100% rename from patches/server/0932-Sync-offhand-slot-in-menus.patch rename to patches/server/0931-Sync-offhand-slot-in-menus.patch diff --git a/patches/server/0933-Player-Entity-Tracking-Events.patch b/patches/server/0932-Player-Entity-Tracking-Events.patch similarity index 100% rename from patches/server/0933-Player-Entity-Tracking-Events.patch rename to patches/server/0932-Player-Entity-Tracking-Events.patch diff --git a/patches/server/0934-Limit-pet-look-distance.patch b/patches/server/0933-Limit-pet-look-distance.patch similarity index 100% rename from patches/server/0934-Limit-pet-look-distance.patch rename to patches/server/0933-Limit-pet-look-distance.patch diff --git a/patches/server/0935-Properly-resend-entities.patch b/patches/server/0934-Properly-resend-entities.patch similarity index 100% rename from patches/server/0935-Properly-resend-entities.patch rename to patches/server/0934-Properly-resend-entities.patch diff --git a/patches/server/0936-Fixes-and-additions-to-the-SpawnReason-API.patch b/patches/server/0935-Fixes-and-additions-to-the-SpawnReason-API.patch similarity index 100% rename from patches/server/0936-Fixes-and-additions-to-the-SpawnReason-API.patch rename to patches/server/0935-Fixes-and-additions-to-the-SpawnReason-API.patch diff --git a/patches/server/0937-fix-Instruments.patch b/patches/server/0936-fix-Instruments.patch similarity index 100% rename from patches/server/0937-fix-Instruments.patch rename to patches/server/0936-fix-Instruments.patch diff --git a/patches/server/0938-Fix-chunk-snapshot-biome-getter.patch b/patches/server/0937-Fix-chunk-snapshot-biome-getter.patch similarity index 100% rename from patches/server/0938-Fix-chunk-snapshot-biome-getter.patch rename to patches/server/0937-Fix-chunk-snapshot-biome-getter.patch diff --git a/patches/server/0939-Improve-inlining-for-some-hot-BlockBehavior-and-Flui.patch b/patches/server/0938-Improve-inlining-for-some-hot-BlockBehavior-and-Flui.patch similarity index 100% rename from patches/server/0939-Improve-inlining-for-some-hot-BlockBehavior-and-Flui.patch rename to patches/server/0938-Improve-inlining-for-some-hot-BlockBehavior-and-Flui.patch diff --git a/patches/server/0940-Fix-MapLike-Codec-missing-key-selector.patch b/patches/server/0939-Fix-MapLike-Codec-missing-key-selector.patch similarity index 100% rename from patches/server/0940-Fix-MapLike-Codec-missing-key-selector.patch rename to patches/server/0939-Fix-MapLike-Codec-missing-key-selector.patch diff --git a/patches/server/0941-Fix-inconsistencies-in-dispense-events-regarding-sta.patch b/patches/server/0940-Fix-inconsistencies-in-dispense-events-regarding-sta.patch similarity index 100% rename from patches/server/0941-Fix-inconsistencies-in-dispense-events-regarding-sta.patch rename to patches/server/0940-Fix-inconsistencies-in-dispense-events-regarding-sta.patch diff --git a/patches/server/0942-Improve-logging-and-errors.patch b/patches/server/0941-Improve-logging-and-errors.patch similarity index 100% rename from patches/server/0942-Improve-logging-and-errors.patch rename to patches/server/0941-Improve-logging-and-errors.patch diff --git a/patches/server/0943-Fix-explosion-yield-with-new-gamerules.patch b/patches/server/0942-Fix-explosion-yield-with-new-gamerules.patch similarity index 100% rename from patches/server/0943-Fix-explosion-yield-with-new-gamerules.patch rename to patches/server/0942-Fix-explosion-yield-with-new-gamerules.patch diff --git a/patches/server/0944-Add-BlockLockCheckEvent.patch b/patches/server/0943-Add-BlockLockCheckEvent.patch similarity index 100% rename from patches/server/0944-Add-BlockLockCheckEvent.patch rename to patches/server/0943-Add-BlockLockCheckEvent.patch diff --git a/patches/server/0945-Add-Sneaking-API-for-Entities.patch b/patches/server/0944-Add-Sneaking-API-for-Entities.patch similarity index 100% rename from patches/server/0945-Add-Sneaking-API-for-Entities.patch rename to patches/server/0944-Add-Sneaking-API-for-Entities.patch diff --git a/patches/server/0946-Improve-PortalEvents.patch b/patches/server/0945-Improve-PortalEvents.patch similarity index 100% rename from patches/server/0946-Improve-PortalEvents.patch rename to patches/server/0945-Improve-PortalEvents.patch diff --git a/patches/server/0947-Add-exploded-block-state-to-BlockExplodeEvent.patch b/patches/server/0946-Add-exploded-block-state-to-BlockExplodeEvent.patch similarity index 100% rename from patches/server/0947-Add-exploded-block-state-to-BlockExplodeEvent.patch rename to patches/server/0946-Add-exploded-block-state-to-BlockExplodeEvent.patch diff --git a/patches/server/0948-Add-config-option-for-spider-worldborder-climbing.patch b/patches/server/0947-Add-config-option-for-spider-worldborder-climbing.patch similarity index 100% rename from patches/server/0948-Add-config-option-for-spider-worldborder-climbing.patch rename to patches/server/0947-Add-config-option-for-spider-worldborder-climbing.patch diff --git a/patches/server/0949-Add-missing-SpigotConfig-logCommands-check.patch b/patches/server/0948-Add-missing-SpigotConfig-logCommands-check.patch similarity index 100% rename from patches/server/0949-Add-missing-SpigotConfig-logCommands-check.patch rename to patches/server/0948-Add-missing-SpigotConfig-logCommands-check.patch diff --git a/patches/server/0950-Fix-NPE-on-Allay-stopDancing-while-not-dancing.patch b/patches/server/0949-Fix-NPE-on-Allay-stopDancing-while-not-dancing.patch similarity index 100% rename from patches/server/0950-Fix-NPE-on-Allay-stopDancing-while-not-dancing.patch rename to patches/server/0949-Fix-NPE-on-Allay-stopDancing-while-not-dancing.patch diff --git a/patches/server/0951-Flying-Fall-Damage.patch b/patches/server/0950-Flying-Fall-Damage.patch similarity index 100% rename from patches/server/0951-Flying-Fall-Damage.patch rename to patches/server/0950-Flying-Fall-Damage.patch diff --git a/patches/server/0952-Expose-pre-collision-moving-velocity-to-VehicleBlock.patch b/patches/server/0951-Expose-pre-collision-moving-velocity-to-VehicleBlock.patch similarity index 100% rename from patches/server/0952-Expose-pre-collision-moving-velocity-to-VehicleBlock.patch rename to patches/server/0951-Expose-pre-collision-moving-velocity-to-VehicleBlock.patch diff --git a/patches/server/0953-config-for-disabling-entity-tag-tags.patch b/patches/server/0952-config-for-disabling-entity-tag-tags.patch similarity index 100% rename from patches/server/0953-config-for-disabling-entity-tag-tags.patch rename to patches/server/0952-config-for-disabling-entity-tag-tags.patch diff --git a/patches/server/0954-Use-single-player-info-update-packet-on-join.patch b/patches/server/0953-Use-single-player-info-update-packet-on-join.patch similarity index 100% rename from patches/server/0954-Use-single-player-info-update-packet-on-join.patch rename to patches/server/0953-Use-single-player-info-update-packet-on-join.patch diff --git a/patches/server/0955-Correctly-shrink-items-during-EntityResurrectEvent.patch b/patches/server/0954-Correctly-shrink-items-during-EntityResurrectEvent.patch similarity index 100% rename from patches/server/0955-Correctly-shrink-items-during-EntityResurrectEvent.patch rename to patches/server/0954-Correctly-shrink-items-during-EntityResurrectEvent.patch diff --git a/patches/server/0956-Add-Player-sendEquipmentChange-Map-API.patch b/patches/server/0955-Add-Player-sendEquipmentChange-Map-API.patch similarity index 100% rename from patches/server/0956-Add-Player-sendEquipmentChange-Map-API.patch rename to patches/server/0955-Add-Player-sendEquipmentChange-Map-API.patch diff --git a/patches/server/0957-Win-Screen-API.patch b/patches/server/0956-Win-Screen-API.patch similarity index 100% rename from patches/server/0957-Win-Screen-API.patch rename to patches/server/0956-Win-Screen-API.patch diff --git a/patches/server/0958-Remove-CraftItemStack-setAmount-null-assignment.patch b/patches/server/0957-Remove-CraftItemStack-setAmount-null-assignment.patch similarity index 100% rename from patches/server/0958-Remove-CraftItemStack-setAmount-null-assignment.patch rename to patches/server/0957-Remove-CraftItemStack-setAmount-null-assignment.patch diff --git a/patches/server/0959-Fix-force-opening-enchantment-tables.patch b/patches/server/0958-Fix-force-opening-enchantment-tables.patch similarity index 100% rename from patches/server/0959-Fix-force-opening-enchantment-tables.patch rename to patches/server/0958-Fix-force-opening-enchantment-tables.patch diff --git a/patches/server/0960-Add-Entity-Body-Yaw-API.patch b/patches/server/0959-Add-Entity-Body-Yaw-API.patch similarity index 100% rename from patches/server/0960-Add-Entity-Body-Yaw-API.patch rename to patches/server/0959-Add-Entity-Body-Yaw-API.patch diff --git a/patches/server/0961-Add-missing-isFuel-Material-entries.patch b/patches/server/0960-Add-missing-isFuel-Material-entries.patch similarity index 94% rename from patches/server/0961-Add-missing-isFuel-Material-entries.patch rename to patches/server/0960-Add-missing-isFuel-Material-entries.patch index c7898bdfbf..8e0f359547 100644 --- a/patches/server/0961-Add-missing-isFuel-Material-entries.patch +++ b/patches/server/0960-Add-missing-isFuel-Material-entries.patch @@ -5,7 +5,7 @@ Subject: [PATCH] Add missing isFuel Material entries diff --git a/src/test/java/org/bukkit/support/AbstractTestingBase.java b/src/test/java/org/bukkit/support/AbstractTestingBase.java -index a41c386a60d004f065d837aaf10d1d6c0e2f8976..c74ea594248450c76ccec097aa090bd05f94661e 100644 +index b71602a088de181296dcabed0ac3a2b193ed15e6..f06402ae62c91d5a33dca2e4c9f807e3dc2d311f 100644 --- a/src/test/java/org/bukkit/support/AbstractTestingBase.java +++ b/src/test/java/org/bukkit/support/AbstractTestingBase.java @@ -44,7 +44,12 @@ public abstract class AbstractTestingBase { diff --git a/work/Bukkit b/work/Bukkit index 22f8c20898..37262de84b 160000 --- a/work/Bukkit +++ b/work/Bukkit @@ -1 +1 @@ -Subproject commit 22f8c20898698bdd5fe348404a49d0cad36fef0b +Subproject commit 37262de84b9613e61809f31691e6f9db48dce0a8 diff --git a/work/CraftBukkit b/work/CraftBukkit index 39462a8985..a50301aa51 160000 --- a/work/CraftBukkit +++ b/work/CraftBukkit @@ -1 +1 @@ -Subproject commit 39462a898595280d1a1c6197c2ad66082434ba80 +Subproject commit a50301aa51aab7aa25869d921fa0c6a65eeda547