From 461f02dce2102fa86eb8bac5ea19f06dc2f180df Mon Sep 17 00:00:00 2001 From: Lulu13022002 <41980282+Lulu13022002@users.noreply.github.com> Date: Thu, 20 Jun 2024 18:03:09 +0200 Subject: [PATCH] Experimental annotation changes (#10914) * Experimental annotation changes * wind charge damage type is not experimental anymore --- .../Add-missing-wind-charge-damage-type.patch | 18 +-- ... => Experimental-annotations-change.patch} | 129 +++++++++++++++++- ...ntroduce-registry-entry-and-builders.patch | 12 +- 3 files changed, 135 insertions(+), 24 deletions(-) rename patches/api/{add-missing-Experimental-annotations.patch => Experimental-annotations-change.patch} (54%) diff --git a/patches/api/Add-missing-wind-charge-damage-type.patch b/patches/api/Add-missing-wind-charge-damage-type.patch index 908e0b7b00..2a1fb0a45b 100644 --- a/patches/api/Add-missing-wind-charge-damage-type.patch +++ b/patches/api/Add-missing-wind-charge-damage-type.patch @@ -12,23 +12,7 @@ index 0000000000000000000000000000000000000000..00000000000000000000000000000000 public static final DamageType BAD_RESPAWN_POINT = getDamageType("bad_respawn_point"); public static final DamageType OUTSIDE_BORDER = getDamageType("outside_border"); public static final DamageType GENERIC_KILL = getDamageType("generic_kill"); -+ // Paper start -+ @org.jetbrains.annotations.Nullable -+ DamageType WIND_CHARGE = getExperimentalDamageType("wind_charge"); -+ // Paper end ++ DamageType WIND_CHARGE = getDamageType("wind_charge"); // Paper @NotNull private static DamageType getDamageType(@NotNull String key) { -@@ -0,0 +0,0 @@ public interface DamageType extends Keyed, Translatable { - return Preconditions.checkNotNull(Registry.DAMAGE_TYPE.get(namespacedKey), "No DamageType found for %s. This is a bug.", namespacedKey); - } - -+ // Paper start -+ private static @org.jetbrains.annotations.Nullable DamageType getExperimentalDamageType(@NotNull String key) { -+ return Registry.DAMAGE_TYPE.get(NamespacedKey.minecraft(key)); -+ } -+ // Paper end -+ - /** - * {@inheritDoc} - *

diff --git a/patches/api/add-missing-Experimental-annotations.patch b/patches/api/Experimental-annotations-change.patch similarity index 54% rename from patches/api/add-missing-Experimental-annotations.patch rename to patches/api/Experimental-annotations-change.patch index f8847a7749..865a913cb2 100644 --- a/patches/api/add-missing-Experimental-annotations.patch +++ b/patches/api/Experimental-annotations-change.patch @@ -1,7 +1,7 @@ From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 From: Jake Potrebic Date: Sat, 9 Dec 2023 11:47:53 -0800 -Subject: [PATCH] add missing Experimental annotations +Subject: [PATCH] Experimental annotations change diff --git a/src/main/java/org/bukkit/FeatureFlag.java b/src/main/java/org/bukkit/FeatureFlag.java @@ -68,6 +68,132 @@ index 0000000000000000000000000000000000000000..00000000000000000000000000000000 Tag ENTITY_TYPES_CAN_TURN_IN_BOATS = Bukkit.getTag(REGISTRY_ENTITY_TYPES, NamespacedKey.minecraft("can_turn_in_boats"), EntityType.class); /** * Vanilla tag representing all entities sensitive to illager enchantments. +diff --git a/src/main/java/org/bukkit/block/Crafter.java b/src/main/java/org/bukkit/block/Crafter.java +index 0000000000000000000000000000000000000000..0000000000000000000000000000000000000000 100644 +--- a/src/main/java/org/bukkit/block/Crafter.java ++++ b/src/main/java/org/bukkit/block/Crafter.java +@@ -0,0 +0,0 @@ import org.jetbrains.annotations.ApiStatus; + /** + * Represents a captured state of a crafter. + */ +-@ApiStatus.Experimental + public interface Crafter extends Container, com.destroystokyo.paper.loottable.LootableBlockInventory { // Paper - LootTable API + + /** +diff --git a/src/main/java/org/bukkit/block/TrialSpawner.java b/src/main/java/org/bukkit/block/TrialSpawner.java +index 0000000000000000000000000000000000000000..0000000000000000000000000000000000000000 100644 +--- a/src/main/java/org/bukkit/block/TrialSpawner.java ++++ b/src/main/java/org/bukkit/block/TrialSpawner.java +@@ -0,0 +0,0 @@ import org.jetbrains.annotations.ApiStatus; + /** + * Represents a captured state of a trial spawner. + */ +-@ApiStatus.Experimental + public interface TrialSpawner extends TileState { + } +diff --git a/src/main/java/org/bukkit/block/Vault.java b/src/main/java/org/bukkit/block/Vault.java +index 0000000000000000000000000000000000000000..0000000000000000000000000000000000000000 100644 +--- a/src/main/java/org/bukkit/block/Vault.java ++++ b/src/main/java/org/bukkit/block/Vault.java +@@ -0,0 +0,0 @@ import org.jetbrains.annotations.ApiStatus; + /** + * Represents a captured state of a trial spawner. + */ +-@ApiStatus.Experimental + public interface Vault extends TileState { + } +diff --git a/src/main/java/org/bukkit/entity/AbstractWindCharge.java b/src/main/java/org/bukkit/entity/AbstractWindCharge.java +index 0000000000000000000000000000000000000000..0000000000000000000000000000000000000000 100644 +--- a/src/main/java/org/bukkit/entity/AbstractWindCharge.java ++++ b/src/main/java/org/bukkit/entity/AbstractWindCharge.java +@@ -0,0 +0,0 @@ import org.jetbrains.annotations.ApiStatus; + /** + * Represents a Wind Charge. + */ +-@ApiStatus.Experimental + public interface AbstractWindCharge extends Fireball { + + /** +diff --git a/src/main/java/org/bukkit/entity/Bogged.java b/src/main/java/org/bukkit/entity/Bogged.java +index 0000000000000000000000000000000000000000..0000000000000000000000000000000000000000 100644 +--- a/src/main/java/org/bukkit/entity/Bogged.java ++++ b/src/main/java/org/bukkit/entity/Bogged.java +@@ -0,0 +0,0 @@ import org.jetbrains.annotations.ApiStatus; + /** + * Represents a Bogged Skeleton. + */ +-@ApiStatus.Experimental + public interface Bogged extends AbstractSkeleton, io.papermc.paper.entity.Shearable { // Paper - Shear API + } +diff --git a/src/main/java/org/bukkit/entity/Breeze.java b/src/main/java/org/bukkit/entity/Breeze.java +index 0000000000000000000000000000000000000000..0000000000000000000000000000000000000000 100644 +--- a/src/main/java/org/bukkit/entity/Breeze.java ++++ b/src/main/java/org/bukkit/entity/Breeze.java +@@ -0,0 +0,0 @@ import org.jetbrains.annotations.ApiStatus; + /** + * Represents a Breeze. Whoosh! + */ +-@ApiStatus.Experimental + public interface Breeze extends Monster { + } +diff --git a/src/main/java/org/bukkit/entity/BreezeWindCharge.java b/src/main/java/org/bukkit/entity/BreezeWindCharge.java +index 0000000000000000000000000000000000000000..0000000000000000000000000000000000000000 100644 +--- a/src/main/java/org/bukkit/entity/BreezeWindCharge.java ++++ b/src/main/java/org/bukkit/entity/BreezeWindCharge.java +@@ -0,0 +0,0 @@ import org.jetbrains.annotations.ApiStatus; + /** + * Represents a Wind Charge. + */ +-@ApiStatus.Experimental + public interface BreezeWindCharge extends AbstractWindCharge { + + } +diff --git a/src/main/java/org/bukkit/entity/OminousItemSpawner.java b/src/main/java/org/bukkit/entity/OminousItemSpawner.java +index 0000000000000000000000000000000000000000..0000000000000000000000000000000000000000 100644 +--- a/src/main/java/org/bukkit/entity/OminousItemSpawner.java ++++ b/src/main/java/org/bukkit/entity/OminousItemSpawner.java +@@ -0,0 +0,0 @@ import org.jetbrains.annotations.Nullable; + /** + * Represents an ominous item spawner. + */ +-@ApiStatus.Experimental + public interface OminousItemSpawner extends Entity { + + /** +diff --git a/src/main/java/org/bukkit/entity/WindCharge.java b/src/main/java/org/bukkit/entity/WindCharge.java +index 0000000000000000000000000000000000000000..0000000000000000000000000000000000000000 100644 +--- a/src/main/java/org/bukkit/entity/WindCharge.java ++++ b/src/main/java/org/bukkit/entity/WindCharge.java +@@ -0,0 +0,0 @@ import org.jetbrains.annotations.ApiStatus; + /** + * Represents a Wind Charge. + */ +-@ApiStatus.Experimental + public interface WindCharge extends AbstractWindCharge { + + } +diff --git a/src/main/java/org/bukkit/event/inventory/InventoryType.java b/src/main/java/org/bukkit/event/inventory/InventoryType.java +index 0000000000000000000000000000000000000000..0000000000000000000000000000000000000000 100644 +--- a/src/main/java/org/bukkit/event/inventory/InventoryType.java ++++ b/src/main/java/org/bukkit/event/inventory/InventoryType.java +@@ -0,0 +0,0 @@ public enum InventoryType { + /** + * A crafter inventory, with 9 CRAFTING slots. + */ +- @ApiStatus.Experimental + CRAFTER(9, "Crafter"), + /** + * The new smithing inventory, with 3 CRAFTING slots and 1 RESULT slot. +diff --git a/src/main/java/org/bukkit/inventory/CrafterInventory.java b/src/main/java/org/bukkit/inventory/CrafterInventory.java +index 0000000000000000000000000000000000000000..0000000000000000000000000000000000000000 100644 +--- a/src/main/java/org/bukkit/inventory/CrafterInventory.java ++++ b/src/main/java/org/bukkit/inventory/CrafterInventory.java +@@ -0,0 +0,0 @@ import org.jetbrains.annotations.ApiStatus; + /** + * Interface to the inventory of a Crafter. + */ +-@ApiStatus.Experimental + public interface CrafterInventory extends Inventory { } diff --git a/src/main/java/org/bukkit/inventory/meta/BundleMeta.java b/src/main/java/org/bukkit/inventory/meta/BundleMeta.java index 0000000000000000000000000000000000000000..0000000000000000000000000000000000000000 100644 --- a/src/main/java/org/bukkit/inventory/meta/BundleMeta.java @@ -107,6 +233,7 @@ index 0000000000000000000000000000000000000000..00000000000000000000000000000000 + @org.jetbrains.annotations.ApiStatus.Experimental // Paper - add missing annotation JUNGLE_TEMPLE(32, "jungle_temple"), + @org.bukkit.MinecraftExperimental(org.bukkit.MinecraftExperimental.Requires.TRADE_REBALANCE) // Paper - add missing annotation ++ @org.jetbrains.annotations.ApiStatus.Experimental // Paper - add missing annotation SWAMP_HUT(33, "swamp_hut"), TRIAL_CHAMBERS(34, "trial_chambers") ; diff --git a/patches/api/Introduce-registry-entry-and-builders.patch b/patches/api/Introduce-registry-entry-and-builders.patch index 85e5b1400b..cc6749ac03 100644 --- a/patches/api/Introduce-registry-entry-and-builders.patch +++ b/patches/api/Introduce-registry-entry-and-builders.patch @@ -74,11 +74,11 @@ index 0000000000000000000000000000000000000000..00000000000000000000000000000000 + * Provides the registry key set referencing the item types this enchantment can be applied to when + * enchanting in an enchantment table. + *

-+ * If this value is null, {@link #supportedItems()} will be sourced instead in the context of an enchantment table. ++ * If this value is {@code null}, {@link #supportedItems()} will be sourced instead in the context of an enchantment table. + * Additionally, the tag {@link io.papermc.paper.registry.keys.tags.EnchantmentTagKeys#IN_ENCHANTING_TABLE} defines + * which enchantments can even show up in an enchantment table. + * -+ * @return the tag key. ++ * @return the registry key set. + */ + @Nullable RegistryKeySet primaryItems(); + @@ -127,7 +127,7 @@ index 0000000000000000000000000000000000000000..00000000000000000000000000000000 + * information. + *

+ * -+ * @return The anvil cost of this enchantment ++ * @return the anvil cost of this enchantment + */ + @Range(from = 0, to = Integer.MAX_VALUE) int anvilCost(); + @@ -189,7 +189,7 @@ index 0000000000000000000000000000000000000000..00000000000000000000000000000000 + * {@link io.papermc.paper.registry.keys.tags.ItemTypeTagKeys#ENCHANTABLE_ARMOR} and + * {@link io.papermc.paper.registry.keys.tags.ItemTypeTagKeys#ENCHANTABLE_SWORD}. + * -+ * @param supportedItems the tag key representing the supported items. ++ * @param supportedItems the registry key set representing the supported items. + * @return this builder. + * @see RegistrySet#keySet(RegistryKey, TypedKey[]) + * @see io.papermc.paper.registry.event.RegistryFreezeEvent#getOrCreateTag(TagKey) @@ -210,7 +210,7 @@ index 0000000000000000000000000000000000000000..00000000000000000000000000000000 + * Additionally, the tag {@link io.papermc.paper.registry.keys.tags.EnchantmentTagKeys#IN_ENCHANTING_TABLE} defines + * which enchantments can even show up in an enchantment table. + * -+ * @param primaryItems the tag key representing the primary items. ++ * @param primaryItems the registry key set representing the primary items. + * @return this builder. + * @see RegistrySet#keySet(RegistryKey, TypedKey[]) + * @see io.papermc.paper.registry.event.RegistryFreezeEvent#getOrCreateTag(TagKey) @@ -270,7 +270,7 @@ index 0000000000000000000000000000000000000000..00000000000000000000000000000000 + * See https://minecraft.wiki/w/Anvil_mechanics for more information. + *

+ * -+ * @param anvilCost The anvil cost of this enchantment ++ * @param anvilCost the anvil cost of this enchantment + * @return this builder. + * @see Enchantment#getAnvilCost() + */