aboutsummaryrefslogtreecommitdiffhomepage
path: root/patches/api
diff options
context:
space:
mode:
authorJake Potrebic <[email protected]>2024-10-31 20:35:06 -0700
committerJake Potrebic <[email protected]>2024-10-31 20:35:06 -0700
commit16d7d73bd590d4c0e99124feae8a46225222a541 (patch)
tree894302e9467e695ad70320a265124b4b298fc64c /patches/api
parent1de01302d4014430384f2887b2af56fa655c1734 (diff)
downloadPaper-16d7d73bd590d4c0e99124feae8a46225222a541.tar.gz
Paper-16d7d73bd590d4c0e99124feae8a46225222a541.zip
bunch more general fixes
Diffstat (limited to 'patches/api')
-rw-r--r--patches/api/0004-Code-Generation.patch17
-rw-r--r--patches/api/0465-Fix-issues-with-recipe-API.patch15
-rw-r--r--patches/api/0468-General-ItemMeta-fixes.patch11
-rw-r--r--patches/api/0483-Deprecate-for-removal-all-OldEnum-related-methods.patch75
4 files changed, 113 insertions, 5 deletions
diff --git a/patches/api/0004-Code-Generation.patch b/patches/api/0004-Code-Generation.patch
index cc7000b9c6..e265943f63 100644
--- a/patches/api/0004-Code-Generation.patch
+++ b/patches/api/0004-Code-Generation.patch
@@ -85,10 +85,10 @@ index 0000000000000000000000000000000000000000..2512dba27edfdccbc4430815b6cba048
+}
diff --git a/src/main/java/io/papermc/paper/registry/RegistryKey.java b/src/main/java/io/papermc/paper/registry/RegistryKey.java
new file mode 100644
-index 0000000000000000000000000000000000000000..8410d7213370f01cbedbf7fac29bac96f150c49a
+index 0000000000000000000000000000000000000000..fdef87eec3765523b00c987d4c1ccc289882e95d
--- /dev/null
+++ b/src/main/java/io/papermc/paper/registry/RegistryKey.java
-@@ -0,0 +1,179 @@
+@@ -0,0 +1,188 @@
+package io.papermc.paper.registry;
+
+import net.kyori.adventure.key.Keyed;
@@ -204,6 +204,17 @@ index 0000000000000000000000000000000000000000..8410d7213370f01cbedbf7fac29bac96
+ * @see io.papermc.paper.registry.keys.MenuTypeKeys
+ */
+ RegistryKey<MenuType> MENU = create("menu");
++ /**
++ * Built-in registry for attributes.
++ * @see io.papermc.paper.registry.keys.AttributeKeys
++ */
++ RegistryKey<Attribute> ATTRIBUTE = create("attribute");
++ /**
++ * Built-in registry for fluids.
++ * @see io.papermc.paper.registry.keys.FluidKeys
++ */
++ RegistryKey<Fluid> FLUID = create("fluid");
++
+
+
+ /* ********************** *
@@ -260,13 +271,11 @@ index 0000000000000000000000000000000000000000..8410d7213370f01cbedbf7fac29bac96
+ * API-only Registries *
+ * ******************* */
+ RegistryKey<Art> PAINTING_VARIANT = create("painting_variant");
-+ RegistryKey<Attribute> ATTRIBUTE = create("attribute");
+ RegistryKey<EntityType> ENTITY_TYPE = create("entity_type");
+ RegistryKey<Particle> PARTICLE_TYPE = create("particle_type");
+ RegistryKey<PotionType> POTION = create("potion");
+ RegistryKey<Sound> SOUND_EVENT = create("sound_event");
+ RegistryKey<MemoryKey<?>> MEMORY_MODULE_TYPE = create("memory_module_type");
-+ RegistryKey<Fluid> FLUID = create("fluid");
+}
diff --git a/src/main/java/io/papermc/paper/registry/RegistryKeyImpl.java b/src/main/java/io/papermc/paper/registry/RegistryKeyImpl.java
new file mode 100644
diff --git a/patches/api/0465-Fix-issues-with-recipe-API.patch b/patches/api/0465-Fix-issues-with-recipe-API.patch
index 646143b638..f8c42742cb 100644
--- a/patches/api/0465-Fix-issues-with-recipe-API.patch
+++ b/patches/api/0465-Fix-issues-with-recipe-API.patch
@@ -441,3 +441,18 @@ index bc3440eb72127824b3961fbdae583bb61385f65e..17b33f8e6e3dc6a22686a498fa944382
return (StonecuttingRecipe) this;
}
+diff --git a/src/main/java/org/bukkit/inventory/TransmuteRecipe.java b/src/main/java/org/bukkit/inventory/TransmuteRecipe.java
+index 5a8616792ade898c702daf471a2511c0f467df5c..8484b045ce4bf5292cda7d512c5ee3a86480049b 100644
+--- a/src/main/java/org/bukkit/inventory/TransmuteRecipe.java
++++ b/src/main/java/org/bukkit/inventory/TransmuteRecipe.java
+@@ -26,8 +26,8 @@ public class TransmuteRecipe extends CraftingRecipe implements ComplexRecipe {
+ */
+ public TransmuteRecipe(@NotNull NamespacedKey key, @NotNull Material result, @NotNull RecipeChoice input, @NotNull RecipeChoice material) {
+ super(key, checkResult(new ItemStack(result)));
+- this.input = input;
+- this.material = material;
++ this.input = input.validate(false).clone(); // Paper
++ this.material = material.validate(false).clone(); // Paper
+ }
+
+ /**
diff --git a/patches/api/0468-General-ItemMeta-fixes.patch b/patches/api/0468-General-ItemMeta-fixes.patch
index 953fd2e49c..c6e38d89da 100644
--- a/patches/api/0468-General-ItemMeta-fixes.patch
+++ b/patches/api/0468-General-ItemMeta-fixes.patch
@@ -112,9 +112,18 @@ index ff6818b6d9e0207eafdd749928f33aeac3f27191..992f39da07bafe9769effaa7dc6adc01
* Checks to see if this item has a maximum amount of damage.
*
diff --git a/src/main/java/org/bukkit/inventory/meta/ItemMeta.java b/src/main/java/org/bukkit/inventory/meta/ItemMeta.java
-index afdcc2d67d55f2f07c913816e1f5b290d1415357..fc089b796f5a0f2e1ab081cc710e4bb5c3f5ee7b 100644
+index afdcc2d67d55f2f07c913816e1f5b290d1415357..3fdba38fd5e75ddcbfca9cee70a606bfa4a539bf 100644
--- a/src/main/java/org/bukkit/inventory/meta/ItemMeta.java
+++ b/src/main/java/org/bukkit/inventory/meta/ItemMeta.java
+@@ -328,7 +328,7 @@ public interface ItemMeta extends Cloneable, ConfigurationSerializable, Persiste
+ /**
+ * Sets the enchantable. Higher values allow higher enchantments.
+ *
+- * @param enchantable enchantable value
++ * @param enchantable enchantable value, must be positive
+ */
+ void setEnchantable(@Nullable Integer enchantable);
+
@@ -877,8 +877,9 @@ public interface ItemMeta extends Cloneable, ConfigurationSerializable, Persiste
/**
diff --git a/patches/api/0483-Deprecate-for-removal-all-OldEnum-related-methods.patch b/patches/api/0483-Deprecate-for-removal-all-OldEnum-related-methods.patch
index bac872611c..abb2e9d9f4 100644
--- a/patches/api/0483-Deprecate-for-removal-all-OldEnum-related-methods.patch
+++ b/patches/api/0483-Deprecate-for-removal-all-OldEnum-related-methods.patch
@@ -4,6 +4,81 @@ Date: Sat, 7 Sep 2024 11:14:31 -0700
Subject: [PATCH] Deprecate for removal all OldEnum-related methods
+diff --git a/src/main/java/org/bukkit/Fluid.java b/src/main/java/org/bukkit/Fluid.java
+index dff295a4ca877b172f04c60de734c1551afdb5a7..a3ff4fefaf50f3e99a69ba68cbe8e30c95dac5df 100644
+--- a/src/main/java/org/bukkit/Fluid.java
++++ b/src/main/java/org/bukkit/Fluid.java
+@@ -43,7 +43,7 @@ public interface Fluid extends OldEnum<Fluid>, Keyed {
+ * @deprecated only for backwards compatibility, use {@link Registry#get(NamespacedKey)} instead.
+ */
+ @NotNull
+- @Deprecated(since = "1.21.3")
++ @Deprecated(since = "1.21.3", forRemoval = true) @org.jetbrains.annotations.ApiStatus.ScheduledForRemoval(inVersion = "1.22") // Paper - will be removed via asm-utils
+ static Fluid valueOf(@NotNull String name) {
+ Fluid fluid = Bukkit.getUnsafe().get(Registry.FLUID, NamespacedKey.fromString(name.toLowerCase(Locale.ROOT)));
+ Preconditions.checkArgument(fluid != null, "No fluid found with the name %s", name);
+@@ -55,7 +55,7 @@ public interface Fluid extends OldEnum<Fluid>, Keyed {
+ * @deprecated use {@link Registry#iterator()}.
+ */
+ @NotNull
+- @Deprecated(since = "1.21.3")
++ @Deprecated(since = "1.21.3", forRemoval = true) @org.jetbrains.annotations.ApiStatus.ScheduledForRemoval(inVersion = "1.22") // Paper - will be removed via asm-utils
+ static Fluid[] values() {
+ return Lists.newArrayList(Registry.FLUID).toArray(new Fluid[0]);
+ }
+diff --git a/src/main/java/org/bukkit/attribute/Attribute.java b/src/main/java/org/bukkit/attribute/Attribute.java
+index 21f9998b472dc18eb308554f5cdf467f6675f2f0..521f035409ee61a9ad73d39bec938f2938892570 100644
+--- a/src/main/java/org/bukkit/attribute/Attribute.java
++++ b/src/main/java/org/bukkit/attribute/Attribute.java
+@@ -156,7 +156,7 @@ public interface Attribute extends OldEnum<Attribute>, Keyed, Translatable, net.
+ * @deprecated only for backwards compatibility, use {@link Registry#get(NamespacedKey)} instead.
+ */
+ @NotNull
+- @Deprecated(since = "1.21.3")
++ @Deprecated(since = "1.21.3", forRemoval = true) @org.jetbrains.annotations.ApiStatus.ScheduledForRemoval(inVersion = "1.22") // Paper - will be removed via asm-utils
+ static Attribute valueOf(@NotNull String name) {
+ Attribute attribute = Bukkit.getUnsafe().get(Registry.ATTRIBUTE, NamespacedKey.fromString(name.toLowerCase(Locale.ROOT)));
+ Preconditions.checkArgument(attribute != null, "No attribute found with the name %s", name);
+@@ -168,7 +168,7 @@ public interface Attribute extends OldEnum<Attribute>, Keyed, Translatable, net.
+ * @deprecated use {@link Registry#iterator()}.
+ */
+ @NotNull
+- @Deprecated(since = "1.21.3")
++ @Deprecated(since = "1.21.3", forRemoval = true) @org.jetbrains.annotations.ApiStatus.ScheduledForRemoval(inVersion = "1.22") // Paper - will be removed via asm-utils
+ static Attribute[] values() {
+ return Lists.newArrayList(Registry.ATTRIBUTE).toArray(new Attribute[0]);
+ }
+diff --git a/src/main/java/org/bukkit/block/Biome.java b/src/main/java/org/bukkit/block/Biome.java
+index b352886e697a1c9869226b583da5240592575064..464f8f81ba907a61588e4ab869e4f8269830195a 100644
+--- a/src/main/java/org/bukkit/block/Biome.java
++++ b/src/main/java/org/bukkit/block/Biome.java
+@@ -97,7 +97,7 @@ public interface Biome extends OldEnum<Biome>, Keyed, net.kyori.adventure.transl
+ *
+ * @deprecated Biome is no longer an enum, custom biomes will have their own biome instance.
+ */
+- @Deprecated(since = "1.21.3")
++ @Deprecated(since = "1.21.3", forRemoval = true) @ApiStatus.ScheduledForRemoval(inVersion = "1.22") // Paper - will be removed via asm-utils
+ Biome CUSTOM = Bukkit.getUnsafe().getCustomBiome();
+
+ @NotNull
+@@ -111,7 +111,7 @@ public interface Biome extends OldEnum<Biome>, Keyed, net.kyori.adventure.transl
+ * @deprecated only for backwards compatibility, use {@link Registry#get(NamespacedKey)} instead.
+ */
+ @NotNull
+- @Deprecated(since = "1.21.3")
++ @Deprecated(since = "1.21.3", forRemoval = true) @ApiStatus.ScheduledForRemoval(inVersion = "1.22") // Paper - will be removed via asm-utils
+ static Biome valueOf(@NotNull String name) {
+ if ("CUSTOM".equals(name)) {
+ return Biome.CUSTOM;
+@@ -127,7 +127,7 @@ public interface Biome extends OldEnum<Biome>, Keyed, net.kyori.adventure.transl
+ * @deprecated use {@link Registry#iterator()}.
+ */
+ @NotNull
+- @Deprecated(since = "1.21.3")
++ @Deprecated(since = "1.21.3", forRemoval = true) @org.jetbrains.annotations.ApiStatus.ScheduledForRemoval(inVersion = "1.22") // Paper - will be removed via asm-utils
+ static Biome[] values() {
+ return Lists.newArrayList(Registry.BIOME).toArray(new Biome[0]);
+ }
diff --git a/src/main/java/org/bukkit/block/banner/PatternType.java b/src/main/java/org/bukkit/block/banner/PatternType.java
index eb192030832e1741850871bec9bf999f014b6fc1..70904d6c43b93cb7b9d74d20666fac93a6b4996c 100644
--- a/src/main/java/org/bukkit/block/banner/PatternType.java