diff --git a/paper-api/src/main/java/org/bukkit/FeatureFlag.java b/paper-api/src/main/java/org/bukkit/FeatureFlag.java index 5269df59f0..6b68c92ec8 100644 --- a/paper-api/src/main/java/org/bukkit/FeatureFlag.java +++ b/paper-api/src/main/java/org/bukkit/FeatureFlag.java @@ -13,7 +13,6 @@ public interface FeatureFlag extends Keyed { public static final FeatureFlag VANILLA = Bukkit.getUnsafe().getFeatureFlag(NamespacedKey.minecraft("vanilla")); - @MinecraftExperimental public static final FeatureFlag BUNDLE = Bukkit.getUnsafe().getFeatureFlag(NamespacedKey.minecraft("bundle")); /** @@ -22,12 +21,9 @@ public interface FeatureFlag extends Keyed { * @deprecated not available since 1.20 */ @Deprecated - @MinecraftExperimental public static final FeatureFlag UPDATE_1_20 = Bukkit.getUnsafe().getFeatureFlag(NamespacedKey.minecraft("update_1_20")); - @MinecraftExperimental public static final FeatureFlag TRADE_REBALANCE = Bukkit.getUnsafe().getFeatureFlag(NamespacedKey.minecraft("trade_rebalance")); - @MinecraftExperimental public static final FeatureFlag UPDATE_121 = Bukkit.getUnsafe().getFeatureFlag(NamespacedKey.minecraft("update_1_21")); } diff --git a/paper-api/src/main/java/org/bukkit/Material.java b/paper-api/src/main/java/org/bukkit/Material.java index d593dbace4..fe9c5ccdba 100644 --- a/paper-api/src/main/java/org/bukkit/Material.java +++ b/paper-api/src/main/java/org/bukkit/Material.java @@ -7,6 +7,7 @@ import java.lang.reflect.Constructor; import java.util.Locale; import java.util.Map; import java.util.function.Consumer; +import org.bukkit.MinecraftExperimental.Requires; import org.bukkit.attribute.Attribute; import org.bukkit.attribute.AttributeModifier; import org.bukkit.block.Block; @@ -143,55 +144,55 @@ public enum Material implements Keyed, Translatable { /** * BlockData: {@link Slab} */ - @MinecraftExperimental + @MinecraftExperimental(Requires.UPDATE_1_21) TUFF_SLAB(19305, Slab.class), /** * BlockData: {@link Stairs} */ - @MinecraftExperimental + @MinecraftExperimental(Requires.UPDATE_1_21) TUFF_STAIRS(11268, Stairs.class), /** * BlockData: {@link Wall} */ - @MinecraftExperimental + @MinecraftExperimental(Requires.UPDATE_1_21) TUFF_WALL(24395, Wall.class), - @MinecraftExperimental + @MinecraftExperimental(Requires.UPDATE_1_21) CHISELED_TUFF(15831), - @MinecraftExperimental + @MinecraftExperimental(Requires.UPDATE_1_21) POLISHED_TUFF(17801), /** * BlockData: {@link Slab} */ - @MinecraftExperimental + @MinecraftExperimental(Requires.UPDATE_1_21) POLISHED_TUFF_SLAB(31096, Slab.class), /** * BlockData: {@link Stairs} */ - @MinecraftExperimental + @MinecraftExperimental(Requires.UPDATE_1_21) POLISHED_TUFF_STAIRS(7964, Stairs.class), /** * BlockData: {@link Wall} */ - @MinecraftExperimental + @MinecraftExperimental(Requires.UPDATE_1_21) POLISHED_TUFF_WALL(28886, Wall.class), - @MinecraftExperimental + @MinecraftExperimental(Requires.UPDATE_1_21) TUFF_BRICKS(26276), /** * BlockData: {@link Slab} */ - @MinecraftExperimental + @MinecraftExperimental(Requires.UPDATE_1_21) TUFF_BRICK_SLAB(11843, Slab.class), /** * BlockData: {@link Stairs} */ - @MinecraftExperimental + @MinecraftExperimental(Requires.UPDATE_1_21) TUFF_BRICK_STAIRS(30753, Stairs.class), /** * BlockData: {@link Wall} */ - @MinecraftExperimental + @MinecraftExperimental(Requires.UPDATE_1_21) TUFF_BRICK_WALL(11761, Wall.class), - @MinecraftExperimental + @MinecraftExperimental(Requires.UPDATE_1_21) CHISELED_TUFF_BRICKS(8601), DRIPSTONE_BLOCK(26227), /** @@ -297,7 +298,7 @@ public enum Material implements Keyed, Translatable { /** * BlockData: {@link Waterlogged} */ - @MinecraftExperimental + @MinecraftExperimental(Requires.UPDATE_1_21) HEAVY_CORE(15788, Waterlogged.class), AMETHYST_BLOCK(18919), BUDDING_AMETHYST(13963), @@ -309,13 +310,13 @@ public enum Material implements Keyed, Translatable { EXPOSED_COPPER(28488), WEATHERED_COPPER(19699), OXIDIZED_COPPER(19490), - @MinecraftExperimental + @MinecraftExperimental(Requires.UPDATE_1_21) CHISELED_COPPER(12143), - @MinecraftExperimental + @MinecraftExperimental(Requires.UPDATE_1_21) EXPOSED_CHISELED_COPPER(4570), - @MinecraftExperimental + @MinecraftExperimental(Requires.UPDATE_1_21) WEATHERED_CHISELED_COPPER(30876), - @MinecraftExperimental + @MinecraftExperimental(Requires.UPDATE_1_21) OXIDIZED_CHISELED_COPPER(27719), CUT_COPPER(32519), EXPOSED_CUT_COPPER(18000), @@ -357,13 +358,13 @@ public enum Material implements Keyed, Translatable { WAXED_EXPOSED_COPPER(27989), WAXED_WEATHERED_COPPER(5960), WAXED_OXIDIZED_COPPER(25626), - @MinecraftExperimental + @MinecraftExperimental(Requires.UPDATE_1_21) WAXED_CHISELED_COPPER(7500), - @MinecraftExperimental + @MinecraftExperimental(Requires.UPDATE_1_21) WAXED_EXPOSED_CHISELED_COPPER(30658), - @MinecraftExperimental + @MinecraftExperimental(Requires.UPDATE_1_21) WAXED_WEATHERED_CHISELED_COPPER(5970), - @MinecraftExperimental + @MinecraftExperimental(Requires.UPDATE_1_21) WAXED_OXIDIZED_CHISELED_COPPER(7735), WAXED_CUT_COPPER(11030), WAXED_EXPOSED_CUT_COPPER(30043), @@ -2104,42 +2105,42 @@ public enum Material implements Keyed, Translatable { /** * BlockData: {@link Door} */ - @MinecraftExperimental + @MinecraftExperimental(Requires.UPDATE_1_21) COPPER_DOOR(26809, Door.class), /** * BlockData: {@link Door} */ - @MinecraftExperimental + @MinecraftExperimental(Requires.UPDATE_1_21) EXPOSED_COPPER_DOOR(13236, Door.class), /** * BlockData: {@link Door} */ - @MinecraftExperimental + @MinecraftExperimental(Requires.UPDATE_1_21) WEATHERED_COPPER_DOOR(10208, Door.class), /** * BlockData: {@link Door} */ - @MinecraftExperimental + @MinecraftExperimental(Requires.UPDATE_1_21) OXIDIZED_COPPER_DOOR(5348, Door.class), /** * BlockData: {@link Door} */ - @MinecraftExperimental + @MinecraftExperimental(Requires.UPDATE_1_21) WAXED_COPPER_DOOR(9954, Door.class), /** * BlockData: {@link Door} */ - @MinecraftExperimental + @MinecraftExperimental(Requires.UPDATE_1_21) WAXED_EXPOSED_COPPER_DOOR(20748, Door.class), /** * BlockData: {@link Door} */ - @MinecraftExperimental + @MinecraftExperimental(Requires.UPDATE_1_21) WAXED_WEATHERED_COPPER_DOOR(25073, Door.class), /** * BlockData: {@link Door} */ - @MinecraftExperimental + @MinecraftExperimental(Requires.UPDATE_1_21) WAXED_OXIDIZED_COPPER_DOOR(23888, Door.class), /** * BlockData: {@link TrapDoor} @@ -2192,42 +2193,42 @@ public enum Material implements Keyed, Translatable { /** * BlockData: {@link TrapDoor} */ - @MinecraftExperimental + @MinecraftExperimental(Requires.UPDATE_1_21) COPPER_TRAPDOOR(12110, TrapDoor.class), /** * BlockData: {@link TrapDoor} */ - @MinecraftExperimental + @MinecraftExperimental(Requires.UPDATE_1_21) EXPOSED_COPPER_TRAPDOOR(19219, TrapDoor.class), /** * BlockData: {@link TrapDoor} */ - @MinecraftExperimental + @MinecraftExperimental(Requires.UPDATE_1_21) WEATHERED_COPPER_TRAPDOOR(28254, TrapDoor.class), /** * BlockData: {@link TrapDoor} */ - @MinecraftExperimental + @MinecraftExperimental(Requires.UPDATE_1_21) OXIDIZED_COPPER_TRAPDOOR(26518, TrapDoor.class), /** * BlockData: {@link TrapDoor} */ - @MinecraftExperimental + @MinecraftExperimental(Requires.UPDATE_1_21) WAXED_COPPER_TRAPDOOR(12626, TrapDoor.class), /** * BlockData: {@link TrapDoor} */ - @MinecraftExperimental + @MinecraftExperimental(Requires.UPDATE_1_21) WAXED_EXPOSED_COPPER_TRAPDOOR(11010, TrapDoor.class), /** * BlockData: {@link TrapDoor} */ - @MinecraftExperimental + @MinecraftExperimental(Requires.UPDATE_1_21) WAXED_WEATHERED_COPPER_TRAPDOOR(30709, TrapDoor.class), /** * BlockData: {@link TrapDoor} */ - @MinecraftExperimental + @MinecraftExperimental(Requires.UPDATE_1_21) WAXED_OXIDIZED_COPPER_TRAPDOOR(21450, TrapDoor.class), /** * BlockData: {@link Gate} @@ -2634,7 +2635,7 @@ public enum Material implements Keyed, Translatable { /** * BlockData: {@link Crafter} */ - @MinecraftExperimental + @MinecraftExperimental(Requires.UPDATE_1_21) CRAFTER(25243, Crafter.class), FILLED_MAP(23504), SHEARS(27971, 1, 238), @@ -2674,9 +2675,9 @@ public enum Material implements Keyed, Translatable { BAT_SPAWN_EGG(14607), BEE_SPAWN_EGG(22924), BLAZE_SPAWN_EGG(4759), - @MinecraftExperimental + @MinecraftExperimental(Requires.UPDATE_1_21) BOGGED_SPAWN_EGG(12042), - @MinecraftExperimental + @MinecraftExperimental(Requires.UPDATE_1_21) BREEZE_SPAWN_EGG(7580), CAT_SPAWN_EGG(29583), CAMEL_SPAWN_EGG(14760), @@ -2752,11 +2753,11 @@ public enum Material implements Keyed, Translatable { ZOMBIFIED_PIGLIN_SPAWN_EGG(6626), EXPERIENCE_BOTTLE(12858), FIRE_CHARGE(4842), - @MinecraftExperimental + @MinecraftExperimental(Requires.UPDATE_1_21) WIND_CHARGE(23928), WRITABLE_BOOK(13393, 1), WRITTEN_BOOK(24164, 16), - @MinecraftExperimental + @MinecraftExperimental(Requires.UPDATE_1_21) MACE(4771, 1, 250), ITEM_FRAME(27318), GLOW_ITEM_FRAME(26473), @@ -3154,9 +3155,9 @@ public enum Material implements Keyed, Translatable { SILENCE_ARMOR_TRIM_SMITHING_TEMPLATE(7070), RAISER_ARMOR_TRIM_SMITHING_TEMPLATE(29116), HOST_ARMOR_TRIM_SMITHING_TEMPLATE(12165), - @MinecraftExperimental + @MinecraftExperimental(Requires.UPDATE_1_21) FLOW_ARMOR_TRIM_SMITHING_TEMPLATE(29175), - @MinecraftExperimental + @MinecraftExperimental(Requires.UPDATE_1_21) BOLT_ARMOR_TRIM_SMITHING_TEMPLATE(9698), ANGLER_POTTERY_SHERD(9952), ARCHER_POTTERY_SHERD(21629), @@ -3166,10 +3167,10 @@ public enum Material implements Keyed, Translatable { BURN_POTTERY_SHERD(21259), DANGER_POTTERY_SHERD(30506), EXPLORER_POTTERY_SHERD(5124), - @MinecraftExperimental + @MinecraftExperimental(Requires.UPDATE_1_21) FLOW_POTTERY_SHERD(4896), FRIEND_POTTERY_SHERD(18221), - @MinecraftExperimental + @MinecraftExperimental(Requires.UPDATE_1_21) GUSTER_POTTERY_SHERD(28193), HEART_POTTERY_SHERD(17607), HEARTBREAK_POTTERY_SHERD(21108), @@ -3178,7 +3179,7 @@ public enum Material implements Keyed, Translatable { MOURNER_POTTERY_SHERD(23993), PLENTY_POTTERY_SHERD(28236), PRIZE_POTTERY_SHERD(4341), - @MinecraftExperimental + @MinecraftExperimental(Requires.UPDATE_1_21) SCRAPE_POTTERY_SHERD(30034), SHEAF_POTTERY_SHERD(23652), SHELTER_POTTERY_SHERD(28390), @@ -3187,100 +3188,100 @@ public enum Material implements Keyed, Translatable { /** * BlockData: {@link Waterlogged} */ - @MinecraftExperimental + @MinecraftExperimental(Requires.UPDATE_1_21) COPPER_GRATE(16221, Waterlogged.class), /** * BlockData: {@link Waterlogged} */ - @MinecraftExperimental + @MinecraftExperimental(Requires.UPDATE_1_21) EXPOSED_COPPER_GRATE(7783, Waterlogged.class), /** * BlockData: {@link Waterlogged} */ - @MinecraftExperimental + @MinecraftExperimental(Requires.UPDATE_1_21) WEATHERED_COPPER_GRATE(24954, Waterlogged.class), /** * BlockData: {@link Waterlogged} */ - @MinecraftExperimental + @MinecraftExperimental(Requires.UPDATE_1_21) OXIDIZED_COPPER_GRATE(14122, Waterlogged.class), /** * BlockData: {@link Waterlogged} */ - @MinecraftExperimental + @MinecraftExperimental(Requires.UPDATE_1_21) WAXED_COPPER_GRATE(11230, Waterlogged.class), /** * BlockData: {@link Waterlogged} */ - @MinecraftExperimental + @MinecraftExperimental(Requires.UPDATE_1_21) WAXED_EXPOSED_COPPER_GRATE(20520, Waterlogged.class), /** * BlockData: {@link Waterlogged} */ - @MinecraftExperimental + @MinecraftExperimental(Requires.UPDATE_1_21) WAXED_WEATHERED_COPPER_GRATE(16533, Waterlogged.class), /** * BlockData: {@link Waterlogged} */ - @MinecraftExperimental + @MinecraftExperimental(Requires.UPDATE_1_21) WAXED_OXIDIZED_COPPER_GRATE(32010, Waterlogged.class), /** * BlockData: {@link CopperBulb} */ - @MinecraftExperimental + @MinecraftExperimental(Requires.UPDATE_1_21) COPPER_BULB(21370, CopperBulb.class), /** * BlockData: {@link CopperBulb} */ - @MinecraftExperimental + @MinecraftExperimental(Requires.UPDATE_1_21) EXPOSED_COPPER_BULB(11944, CopperBulb.class), /** * BlockData: {@link CopperBulb} */ - @MinecraftExperimental + @MinecraftExperimental(Requires.UPDATE_1_21) WEATHERED_COPPER_BULB(10800, CopperBulb.class), /** * BlockData: {@link CopperBulb} */ - @MinecraftExperimental + @MinecraftExperimental(Requires.UPDATE_1_21) OXIDIZED_COPPER_BULB(22421, CopperBulb.class), /** * BlockData: {@link CopperBulb} */ - @MinecraftExperimental + @MinecraftExperimental(Requires.UPDATE_1_21) WAXED_COPPER_BULB(23756, CopperBulb.class), /** * BlockData: {@link CopperBulb} */ - @MinecraftExperimental + @MinecraftExperimental(Requires.UPDATE_1_21) WAXED_EXPOSED_COPPER_BULB(5530, CopperBulb.class), /** * BlockData: {@link CopperBulb} */ - @MinecraftExperimental + @MinecraftExperimental(Requires.UPDATE_1_21) WAXED_WEATHERED_COPPER_BULB(13239, CopperBulb.class), /** * BlockData: {@link CopperBulb} */ - @MinecraftExperimental + @MinecraftExperimental(Requires.UPDATE_1_21) WAXED_OXIDIZED_COPPER_BULB(26892, CopperBulb.class), /** * BlockData: {@link TrialSpawner} */ - @MinecraftExperimental + @MinecraftExperimental(Requires.UPDATE_1_21) TRIAL_SPAWNER(19902, TrialSpawner.class), - @MinecraftExperimental + @MinecraftExperimental(Requires.UPDATE_1_21) TRIAL_KEY(12725), - @MinecraftExperimental + @MinecraftExperimental(Requires.UPDATE_1_21) OMINOUS_TRIAL_KEY(4986), /** * BlockData: {@link Vault} */ - @MinecraftExperimental + @MinecraftExperimental(Requires.UPDATE_1_21) VAULT(6288, Vault.class), - @MinecraftExperimental + @MinecraftExperimental(Requires.UPDATE_1_21) OMINOUS_BOTTLE(26321), - @MinecraftExperimental + @MinecraftExperimental(Requires.UPDATE_1_21) BREEZE_ROD(14281), /** * BlockData: {@link Levelled} diff --git a/paper-api/src/main/java/org/bukkit/MinecraftExperimental.java b/paper-api/src/main/java/org/bukkit/MinecraftExperimental.java index 2365a8c620..b6f4810e38 100644 --- a/paper-api/src/main/java/org/bukkit/MinecraftExperimental.java +++ b/paper-api/src/main/java/org/bukkit/MinecraftExperimental.java @@ -24,4 +24,29 @@ import org.jetbrains.annotations.ApiStatus; }) @ApiStatus.Internal public @interface MinecraftExperimental { + + /** + * Get the feature that must be enabled for the annotated object to be valid. + *
+ * While this value is not used anywhere in Bukkit, it is a convenience value to assist + * in locating relevant annotated elements for removal once no longer deemed an experimental + * feature by Minecraft. See {@link Requires} for information about use in plugins. + * + * @return the required feature flag + */ + Requires value(); + + /** + * An enum identifying a feature flag required by a {@link MinecraftExperimental} feature. + *
+ * Constants defined by this enum ARE NOT API! Constants may be added or
+ * removed without warning and will not necessarily align perfectly with those defined in
+ * FeatureFlag. At no point should plugins depend on this enum. Refer to {@link FeatureFlag}
+ * instead.
+ */
+ @ApiStatus.Internal
+ public enum Requires {
+
+ UPDATE_1_21
+ }
}
diff --git a/paper-api/src/main/java/org/bukkit/Particle.java b/paper-api/src/main/java/org/bukkit/Particle.java
index 698ffe0c76..3d636cb7f2 100644
--- a/paper-api/src/main/java/org/bukkit/Particle.java
+++ b/paper-api/src/main/java/org/bukkit/Particle.java
@@ -1,6 +1,7 @@
package org.bukkit;
import com.google.common.base.Preconditions;
+import org.bukkit.MinecraftExperimental.Requires;
import org.bukkit.block.data.BlockData;
import org.bukkit.inventory.ItemStack;
import org.jetbrains.annotations.NotNull;
@@ -128,34 +129,34 @@ public enum Particle implements Keyed {
EGG_CRACK("egg_crack"),
DUST_PLUME("dust_plume"),
WHITE_SMOKE("white_smoke"),
- @MinecraftExperimental
+ @MinecraftExperimental(Requires.UPDATE_1_21)
GUST("gust"),
- @MinecraftExperimental
+ @MinecraftExperimental(Requires.UPDATE_1_21)
SMALL_GUST("small_gust"),
- @MinecraftExperimental
+ @MinecraftExperimental(Requires.UPDATE_1_21)
GUST_EMITTER_LARGE("gust_emitter_large"),
- @MinecraftExperimental
+ @MinecraftExperimental(Requires.UPDATE_1_21)
GUST_EMITTER_SMALL("gust_emitter_small"),
- @MinecraftExperimental
+ @MinecraftExperimental(Requires.UPDATE_1_21)
TRIAL_SPAWNER_DETECTION("trial_spawner_detection"),
- @MinecraftExperimental
+ @MinecraftExperimental(Requires.UPDATE_1_21)
TRIAL_SPAWNER_DETECTION_OMINOUS("trial_spawner_detection_ominous"),
- @MinecraftExperimental
+ @MinecraftExperimental(Requires.UPDATE_1_21)
VAULT_CONNECTION("vault_connection"),
- @MinecraftExperimental
+ @MinecraftExperimental(Requires.UPDATE_1_21)
INFESTED("infested"),
- @MinecraftExperimental
+ @MinecraftExperimental(Requires.UPDATE_1_21)
ITEM_COBWEB("item_cobweb"),
/**
* Uses {@link BlockData} as DataType
*/
- @MinecraftExperimental
+ @MinecraftExperimental(Requires.UPDATE_1_21)
DUST_PILLAR("dust_pillar", BlockData.class),
- @MinecraftExperimental
+ @MinecraftExperimental(Requires.UPDATE_1_21)
OMINOUS_SPAWNING("ominous_spawning"),
- @MinecraftExperimental
+ @MinecraftExperimental(Requires.UPDATE_1_21)
RAID_OMEN("raid_omen"),
- @MinecraftExperimental
+ @MinecraftExperimental(Requires.UPDATE_1_21)
TRIAL_OMEN("trial_omen"),
/**
* Uses {@link BlockData} as DataType
diff --git a/paper-api/src/main/java/org/bukkit/Sound.java b/paper-api/src/main/java/org/bukkit/Sound.java
index bd3861c4c2..0487530cd0 100644
--- a/paper-api/src/main/java/org/bukkit/Sound.java
+++ b/paper-api/src/main/java/org/bukkit/Sound.java
@@ -1,5 +1,6 @@
package org.bukkit;
+import org.bukkit.MinecraftExperimental.Requires;
import org.jetbrains.annotations.NotNull;
/**
@@ -219,41 +220,41 @@ public enum Sound implements Keyed {
BLOCK_CONDUIT_ATTACK_TARGET("block.conduit.attack.target"),
BLOCK_CONDUIT_DEACTIVATE("block.conduit.deactivate"),
BLOCK_COPPER_BREAK("block.copper.break"),
- @MinecraftExperimental
+ @MinecraftExperimental(Requires.UPDATE_1_21)
BLOCK_COPPER_BULB_BREAK("block.copper_bulb.break"),
- @MinecraftExperimental
+ @MinecraftExperimental(Requires.UPDATE_1_21)
BLOCK_COPPER_BULB_FALL("block.copper_bulb.fall"),
- @MinecraftExperimental
+ @MinecraftExperimental(Requires.UPDATE_1_21)
BLOCK_COPPER_BULB_HIT("block.copper_bulb.hit"),
- @MinecraftExperimental
+ @MinecraftExperimental(Requires.UPDATE_1_21)
BLOCK_COPPER_BULB_PLACE("block.copper_bulb.place"),
- @MinecraftExperimental
+ @MinecraftExperimental(Requires.UPDATE_1_21)
BLOCK_COPPER_BULB_STEP("block.copper_bulb.step"),
- @MinecraftExperimental
+ @MinecraftExperimental(Requires.UPDATE_1_21)
BLOCK_COPPER_BULB_TURN_OFF("block.copper_bulb.turn_off"),
- @MinecraftExperimental
+ @MinecraftExperimental(Requires.UPDATE_1_21)
BLOCK_COPPER_BULB_TURN_ON("block.copper_bulb.turn_on"),
- @MinecraftExperimental
+ @MinecraftExperimental(Requires.UPDATE_1_21)
BLOCK_COPPER_DOOR_CLOSE("block.copper_door.close"),
- @MinecraftExperimental
+ @MinecraftExperimental(Requires.UPDATE_1_21)
BLOCK_COPPER_DOOR_OPEN("block.copper_door.open"),
BLOCK_COPPER_FALL("block.copper.fall"),
- @MinecraftExperimental
+ @MinecraftExperimental(Requires.UPDATE_1_21)
BLOCK_COPPER_GRATE_BREAK("block.copper_grate.break"),
- @MinecraftExperimental
+ @MinecraftExperimental(Requires.UPDATE_1_21)
BLOCK_COPPER_GRATE_FALL("block.copper_grate.fall"),
- @MinecraftExperimental
+ @MinecraftExperimental(Requires.UPDATE_1_21)
BLOCK_COPPER_GRATE_HIT("block.copper_grate.hit"),
- @MinecraftExperimental
+ @MinecraftExperimental(Requires.UPDATE_1_21)
BLOCK_COPPER_GRATE_PLACE("block.copper_grate.place"),
- @MinecraftExperimental
+ @MinecraftExperimental(Requires.UPDATE_1_21)
BLOCK_COPPER_GRATE_STEP("block.copper_grate.step"),
BLOCK_COPPER_HIT("block.copper.hit"),
BLOCK_COPPER_PLACE("block.copper.place"),
BLOCK_COPPER_STEP("block.copper.step"),
- @MinecraftExperimental
+ @MinecraftExperimental(Requires.UPDATE_1_21)
BLOCK_COPPER_TRAPDOOR_CLOSE("block.copper_trapdoor.close"),
- @MinecraftExperimental
+ @MinecraftExperimental(Requires.UPDATE_1_21)
BLOCK_COPPER_TRAPDOOR_OPEN("block.copper_trapdoor.open"),
BLOCK_CORAL_BLOCK_BREAK("block.coral_block.break"),
BLOCK_CORAL_BLOCK_FALL("block.coral_block.fall"),
@@ -359,15 +360,15 @@ public enum Sound implements Keyed {
BLOCK_HANGING_SIGN_PLACE("block.hanging_sign.place"),
BLOCK_HANGING_SIGN_STEP("block.hanging_sign.step"),
BLOCK_HANGING_SIGN_WAXED_INTERACT_FAIL("block.hanging_sign.waxed_interact_fail"),
- @MinecraftExperimental
+ @MinecraftExperimental(Requires.UPDATE_1_21)
BLOCK_HEAVY_CORE_BREAK("block.heavy_core.break"),
- @MinecraftExperimental
+ @MinecraftExperimental(Requires.UPDATE_1_21)
BLOCK_HEAVY_CORE_FALL("block.heavy_core.fall"),
- @MinecraftExperimental
+ @MinecraftExperimental(Requires.UPDATE_1_21)
BLOCK_HEAVY_CORE_HIT("block.heavy_core.hit"),
- @MinecraftExperimental
+ @MinecraftExperimental(Requires.UPDATE_1_21)
BLOCK_HEAVY_CORE_PLACE("block.heavy_core.place"),
- @MinecraftExperimental
+ @MinecraftExperimental(Requires.UPDATE_1_21)
BLOCK_HEAVY_CORE_STEP("block.heavy_core.step"),
BLOCK_HONEY_BLOCK_BREAK("block.honey_block.break"),
BLOCK_HONEY_BLOCK_FALL("block.honey_block.fall"),
@@ -545,15 +546,15 @@ public enum Sound implements Keyed {
BLOCK_POLISHED_DEEPSLATE_HIT("block.polished_deepslate.hit"),
BLOCK_POLISHED_DEEPSLATE_PLACE("block.polished_deepslate.place"),
BLOCK_POLISHED_DEEPSLATE_STEP("block.polished_deepslate.step"),
- @MinecraftExperimental
+ @MinecraftExperimental(Requires.UPDATE_1_21)
BLOCK_POLISHED_TUFF_BREAK("block.polished_tuff.break"),
- @MinecraftExperimental
+ @MinecraftExperimental(Requires.UPDATE_1_21)
BLOCK_POLISHED_TUFF_FALL("block.polished_tuff.fall"),
- @MinecraftExperimental
+ @MinecraftExperimental(Requires.UPDATE_1_21)
BLOCK_POLISHED_TUFF_HIT("block.polished_tuff.hit"),
- @MinecraftExperimental
+ @MinecraftExperimental(Requires.UPDATE_1_21)
BLOCK_POLISHED_TUFF_PLACE("block.polished_tuff.place"),
- @MinecraftExperimental
+ @MinecraftExperimental(Requires.UPDATE_1_21)
BLOCK_POLISHED_TUFF_STEP("block.polished_tuff.step"),
BLOCK_PORTAL_AMBIENT("block.portal.ambient"),
BLOCK_PORTAL_TRAVEL("block.portal.travel"),
@@ -698,82 +699,82 @@ public enum Sound implements Keyed {
BLOCK_SWEET_BERRY_BUSH_BREAK("block.sweet_berry_bush.break"),
BLOCK_SWEET_BERRY_BUSH_PICK_BERRIES("block.sweet_berry_bush.pick_berries"),
BLOCK_SWEET_BERRY_BUSH_PLACE("block.sweet_berry_bush.place"),
- @MinecraftExperimental
+ @MinecraftExperimental(Requires.UPDATE_1_21)
BLOCK_TRIAL_SPAWNER_ABOUT_TO_SPAWN_ITEM("block.trial_spawner.about_to_spawn_item"),
- @MinecraftExperimental
+ @MinecraftExperimental(Requires.UPDATE_1_21)
BLOCK_TRIAL_SPAWNER_AMBIENT("block.trial_spawner.ambient"),
- @MinecraftExperimental
+ @MinecraftExperimental(Requires.UPDATE_1_21)
BLOCK_TRIAL_SPAWNER_AMBIENT_CHARGED("block.trial_spawner.ambient_charged"),
- @MinecraftExperimental
+ @MinecraftExperimental(Requires.UPDATE_1_21)
BLOCK_TRIAL_SPAWNER_BREAK("block.trial_spawner.break"),
- @MinecraftExperimental
+ @MinecraftExperimental(Requires.UPDATE_1_21)
BLOCK_TRIAL_SPAWNER_CHARGE_ACTIVATE("block.trial_spawner.charge_activate"),
- @MinecraftExperimental
+ @MinecraftExperimental(Requires.UPDATE_1_21)
BLOCK_TRIAL_SPAWNER_CLOSE_SHUTTER("block.trial_spawner.close_shutter"),
- @MinecraftExperimental
+ @MinecraftExperimental(Requires.UPDATE_1_21)
BLOCK_TRIAL_SPAWNER_DETECT_PLAYER("block.trial_spawner.detect_player"),
- @MinecraftExperimental
+ @MinecraftExperimental(Requires.UPDATE_1_21)
BLOCK_TRIAL_SPAWNER_EJECT_ITEM("block.trial_spawner.eject_item"),
- @MinecraftExperimental
+ @MinecraftExperimental(Requires.UPDATE_1_21)
BLOCK_TRIAL_SPAWNER_FALL("block.trial_spawner.fall"),
- @MinecraftExperimental
+ @MinecraftExperimental(Requires.UPDATE_1_21)
BLOCK_TRIAL_SPAWNER_HIT("block.trial_spawner.hit"),
- @MinecraftExperimental
+ @MinecraftExperimental(Requires.UPDATE_1_21)
BLOCK_TRIAL_SPAWNER_OPEN_SHUTTER("block.trial_spawner.open_shutter"),
- @MinecraftExperimental
+ @MinecraftExperimental(Requires.UPDATE_1_21)
BLOCK_TRIAL_SPAWNER_PLACE("block.trial_spawner.place"),
- @MinecraftExperimental
+ @MinecraftExperimental(Requires.UPDATE_1_21)
BLOCK_TRIAL_SPAWNER_SPAWN_ITEM("block.trial_spawner.spawn_item"),
- @MinecraftExperimental
+ @MinecraftExperimental(Requires.UPDATE_1_21)
BLOCK_TRIAL_SPAWNER_SPAWN_ITEM_BEGIN("block.trial_spawner.spawn_item_begin"),
- @MinecraftExperimental
+ @MinecraftExperimental(Requires.UPDATE_1_21)
BLOCK_TRIAL_SPAWNER_SPAWN_MOB("block.trial_spawner.spawn_mob"),
- @MinecraftExperimental
+ @MinecraftExperimental(Requires.UPDATE_1_21)
BLOCK_TRIAL_SPAWNER_STEP("block.trial_spawner.step"),
BLOCK_TRIPWIRE_ATTACH("block.tripwire.attach"),
BLOCK_TRIPWIRE_CLICK_OFF("block.tripwire.click_off"),
BLOCK_TRIPWIRE_CLICK_ON("block.tripwire.click_on"),
BLOCK_TRIPWIRE_DETACH("block.tripwire.detach"),
BLOCK_TUFF_BREAK("block.tuff.break"),
- @MinecraftExperimental
+ @MinecraftExperimental(Requires.UPDATE_1_21)
BLOCK_TUFF_BRICKS_BREAK("block.tuff_bricks.break"),
- @MinecraftExperimental
+ @MinecraftExperimental(Requires.UPDATE_1_21)
BLOCK_TUFF_BRICKS_FALL("block.tuff_bricks.fall"),
- @MinecraftExperimental
+ @MinecraftExperimental(Requires.UPDATE_1_21)
BLOCK_TUFF_BRICKS_HIT("block.tuff_bricks.hit"),
- @MinecraftExperimental
+ @MinecraftExperimental(Requires.UPDATE_1_21)
BLOCK_TUFF_BRICKS_PLACE("block.tuff_bricks.place"),
- @MinecraftExperimental
+ @MinecraftExperimental(Requires.UPDATE_1_21)
BLOCK_TUFF_BRICKS_STEP("block.tuff_bricks.step"),
BLOCK_TUFF_FALL("block.tuff.fall"),
BLOCK_TUFF_HIT("block.tuff.hit"),
BLOCK_TUFF_PLACE("block.tuff.place"),
BLOCK_TUFF_STEP("block.tuff.step"),
- @MinecraftExperimental
+ @MinecraftExperimental(Requires.UPDATE_1_21)
BLOCK_VAULT_ACTIVATE("block.vault.activate"),
- @MinecraftExperimental
+ @MinecraftExperimental(Requires.UPDATE_1_21)
BLOCK_VAULT_AMBIENT("block.vault.ambient"),
- @MinecraftExperimental
+ @MinecraftExperimental(Requires.UPDATE_1_21)
BLOCK_VAULT_BREAK("block.vault.break"),
- @MinecraftExperimental
+ @MinecraftExperimental(Requires.UPDATE_1_21)
BLOCK_VAULT_CLOSE_SHUTTER("block.vault.close_shutter"),
- @MinecraftExperimental
+ @MinecraftExperimental(Requires.UPDATE_1_21)
BLOCK_VAULT_DEACTIVATE("block.vault.deactivate"),
- @MinecraftExperimental
+ @MinecraftExperimental(Requires.UPDATE_1_21)
BLOCK_VAULT_EJECT_ITEM("block.vault.eject_item"),
- @MinecraftExperimental
+ @MinecraftExperimental(Requires.UPDATE_1_21)
BLOCK_VAULT_FALL("block.vault.fall"),
- @MinecraftExperimental
+ @MinecraftExperimental(Requires.UPDATE_1_21)
BLOCK_VAULT_HIT("block.vault.hit"),
- @MinecraftExperimental
+ @MinecraftExperimental(Requires.UPDATE_1_21)
BLOCK_VAULT_INSERT_ITEM("block.vault.insert_item"),
- @MinecraftExperimental
+ @MinecraftExperimental(Requires.UPDATE_1_21)
BLOCK_VAULT_INSERT_ITEM_FAIL("block.vault.insert_item_fail"),
- @MinecraftExperimental
+ @MinecraftExperimental(Requires.UPDATE_1_21)
BLOCK_VAULT_OPEN_SHUTTER("block.vault.open_shutter"),
- @MinecraftExperimental
+ @MinecraftExperimental(Requires.UPDATE_1_21)
BLOCK_VAULT_PLACE("block.vault.place"),
- @MinecraftExperimental
+ @MinecraftExperimental(Requires.UPDATE_1_21)
BLOCK_VAULT_STEP("block.vault.step"),
BLOCK_VINE_BREAK("block.vine.break"),
BLOCK_VINE_FALL("block.vine.fall"),
@@ -873,41 +874,41 @@ public enum Sound implements Keyed {
ENTITY_BLAZE_SHOOT("entity.blaze.shoot"),
ENTITY_BOAT_PADDLE_LAND("entity.boat.paddle_land"),
ENTITY_BOAT_PADDLE_WATER("entity.boat.paddle_water"),
- @MinecraftExperimental
+ @MinecraftExperimental(Requires.UPDATE_1_21)
ENTITY_BOGGED_AMBIENT("entity.bogged.ambient"),
- @MinecraftExperimental
+ @MinecraftExperimental(Requires.UPDATE_1_21)
ENTITY_BOGGED_DEATH("entity.bogged.death"),
- @MinecraftExperimental
+ @MinecraftExperimental(Requires.UPDATE_1_21)
ENTITY_BOGGED_HURT("entity.bogged.hurt"),
- @MinecraftExperimental
+ @MinecraftExperimental(Requires.UPDATE_1_21)
ENTITY_BOGGED_SHEAR("entity.bogged.shear"),
- @MinecraftExperimental
+ @MinecraftExperimental(Requires.UPDATE_1_21)
ENTITY_BOGGED_STEP("entity.bogged.step"),
- @MinecraftExperimental
+ @MinecraftExperimental(Requires.UPDATE_1_21)
ENTITY_BREEZE_CHARGE("entity.breeze.charge"),
- @MinecraftExperimental
+ @MinecraftExperimental(Requires.UPDATE_1_21)
ENTITY_BREEZE_DEATH("entity.breeze.death"),
- @MinecraftExperimental
+ @MinecraftExperimental(Requires.UPDATE_1_21)
ENTITY_BREEZE_DEFLECT("entity.breeze.deflect"),
- @MinecraftExperimental
+ @MinecraftExperimental(Requires.UPDATE_1_21)
ENTITY_BREEZE_HURT("entity.breeze.hurt"),
- @MinecraftExperimental
+ @MinecraftExperimental(Requires.UPDATE_1_21)
ENTITY_BREEZE_IDLE_AIR("entity.breeze.idle_air"),
- @MinecraftExperimental
+ @MinecraftExperimental(Requires.UPDATE_1_21)
ENTITY_BREEZE_IDLE_GROUND("entity.breeze.idle_ground"),
- @MinecraftExperimental
+ @MinecraftExperimental(Requires.UPDATE_1_21)
ENTITY_BREEZE_INHALE("entity.breeze.inhale"),
- @MinecraftExperimental
+ @MinecraftExperimental(Requires.UPDATE_1_21)
ENTITY_BREEZE_JUMP("entity.breeze.jump"),
- @MinecraftExperimental
+ @MinecraftExperimental(Requires.UPDATE_1_21)
ENTITY_BREEZE_LAND("entity.breeze.land"),
- @MinecraftExperimental
+ @MinecraftExperimental(Requires.UPDATE_1_21)
ENTITY_BREEZE_SHOOT("entity.breeze.shoot"),
- @MinecraftExperimental
+ @MinecraftExperimental(Requires.UPDATE_1_21)
ENTITY_BREEZE_SLIDE("entity.breeze.slide"),
- @MinecraftExperimental
+ @MinecraftExperimental(Requires.UPDATE_1_21)
ENTITY_BREEZE_WHIRL("entity.breeze.whirl"),
- @MinecraftExperimental
+ @MinecraftExperimental(Requires.UPDATE_1_21)
ENTITY_BREEZE_WIND_BURST("entity.breeze.wind_burst"),
ENTITY_CAMEL_AMBIENT("entity.camel.ambient"),
ENTITY_CAMEL_DASH("entity.camel.dash"),
@@ -1054,6 +1055,8 @@ public enum Sound implements Keyed {
ENTITY_GENERIC_SMALL_FALL("entity.generic.small_fall"),
ENTITY_GENERIC_SPLASH("entity.generic.splash"),
ENTITY_GENERIC_SWIM("entity.generic.swim"),
+ @MinecraftExperimental(Requires.UPDATE_1_21)
+ ENTITY_GENERIC_WIND_BURST("entity.generic.wind_burst"),
ENTITY_GHAST_AMBIENT("entity.ghast.ambient"),
ENTITY_GHAST_DEATH("entity.ghast.death"),
ENTITY_GHAST_HURT("entity.ghast.hurt"),
@@ -1206,9 +1209,9 @@ public enum Sound implements Keyed {
ENTITY_PARROT_FLY("entity.parrot.fly"),
ENTITY_PARROT_HURT("entity.parrot.hurt"),
ENTITY_PARROT_IMITATE_BLAZE("entity.parrot.imitate.blaze"),
- @MinecraftExperimental
+ @MinecraftExperimental(Requires.UPDATE_1_21)
ENTITY_PARROT_IMITATE_BOGGED("entity.parrot.imitate.bogged"),
- @MinecraftExperimental
+ @MinecraftExperimental(Requires.UPDATE_1_21)
ENTITY_PARROT_IMITATE_BREEZE("entity.parrot.imitate.breeze"),
ENTITY_PARROT_IMITATE_CREEPER("entity.parrot.imitate.creeper"),
ENTITY_PARROT_IMITATE_DROWNED("entity.parrot.imitate.drowned"),
@@ -1487,9 +1490,9 @@ public enum Sound implements Keyed {
ENTITY_WARDEN_SONIC_CHARGE("entity.warden.sonic_charge"),
ENTITY_WARDEN_STEP("entity.warden.step"),
ENTITY_WARDEN_TENDRIL_CLICKS("entity.warden.tendril_clicks"),
- @MinecraftExperimental
+ @MinecraftExperimental(Requires.UPDATE_1_21)
ENTITY_WIND_CHARGE_THROW("entity.wind_charge.throw"),
- @MinecraftExperimental
+ @MinecraftExperimental(Requires.UPDATE_1_21)
ENTITY_WIND_CHARGE_WIND_BURST("entity.wind_charge.wind_burst"),
ENTITY_WITCH_AMBIENT("entity.witch.ambient"),
ENTITY_WITCH_CELEBRATE("entity.witch.celebrate"),
@@ -1545,11 +1548,11 @@ public enum Sound implements Keyed {
ENTITY_ZOMBIFIED_PIGLIN_ANGRY("entity.zombified_piglin.angry"),
ENTITY_ZOMBIFIED_PIGLIN_DEATH("entity.zombified_piglin.death"),
ENTITY_ZOMBIFIED_PIGLIN_HURT("entity.zombified_piglin.hurt"),
- @MinecraftExperimental
+ @MinecraftExperimental(Requires.UPDATE_1_21)
EVENT_MOB_EFFECT_BAD_OMEN("event.mob_effect.bad_omen"),
- @MinecraftExperimental
+ @MinecraftExperimental(Requires.UPDATE_1_21)
EVENT_MOB_EFFECT_RAID_OMEN("event.mob_effect.raid_omen"),
- @MinecraftExperimental
+ @MinecraftExperimental(Requires.UPDATE_1_21)
EVENT_MOB_EFFECT_TRIAL_OMEN("event.mob_effect.trial_omen"),
EVENT_RAID_HORN("event.raid.horn"),
INTENTIONALLY_EMPTY("intentionally_empty"),
@@ -1590,11 +1593,8 @@ public enum Sound implements Keyed {
ITEM_BUCKET_FILL_LAVA("item.bucket.fill_lava"),
ITEM_BUCKET_FILL_POWDER_SNOW("item.bucket.fill_powder_snow"),
ITEM_BUCKET_FILL_TADPOLE("item.bucket.fill_tadpole"),
- @MinecraftExperimental
ITEM_BUNDLE_DROP_CONTENTS("item.bundle.drop_contents"),
- @MinecraftExperimental
ITEM_BUNDLE_INSERT("item.bundle.insert"),
- @MinecraftExperimental
ITEM_BUNDLE_REMOVE_ONE("item.bundle.remove_one"),
ITEM_CHORUS_FRUIT_TELEPORT("item.chorus_fruit.teleport"),
ITEM_CROP_PLANT("item.crop.plant"),
@@ -1625,14 +1625,14 @@ public enum Sound implements Keyed {
ITEM_HONEY_BOTTLE_DRINK("item.honey_bottle.drink"),
ITEM_INK_SAC_USE("item.ink_sac.use"),
ITEM_LODESTONE_COMPASS_LOCK("item.lodestone_compass.lock"),
- @MinecraftExperimental
+ @MinecraftExperimental(Requires.UPDATE_1_21)
ITEM_MACE_SMASH_AIR("item.mace.smash_air"),
- @MinecraftExperimental
+ @MinecraftExperimental(Requires.UPDATE_1_21)
ITEM_MACE_SMASH_GROUND("item.mace.smash_ground"),
- @MinecraftExperimental
+ @MinecraftExperimental(Requires.UPDATE_1_21)
ITEM_MACE_SMASH_GROUND_HEAVY("item.mace.smash_ground_heavy"),
ITEM_NETHER_WART_PLANT("item.nether_wart.plant"),
- @MinecraftExperimental
+ @MinecraftExperimental(Requires.UPDATE_1_21)
ITEM_OMINOUS_BOTTLE_DISPOSE("item.ominous_bottle.dispose"),
ITEM_SHIELD_BLOCK("item.shield.block"),
ITEM_SHIELD_BREAK("item.shield.break"),
@@ -1648,13 +1648,13 @@ public enum Sound implements Keyed {
ITEM_TRIDENT_RIPTIDE_3("item.trident.riptide_3"),
ITEM_TRIDENT_THROW("item.trident.throw"),
ITEM_TRIDENT_THUNDER("item.trident.thunder"),
- @MinecraftExperimental
+ @MinecraftExperimental(Requires.UPDATE_1_21)
ITEM_WOLF_ARMOR_BREAK("item.wolf_armor.break"),
- @MinecraftExperimental
+ @MinecraftExperimental(Requires.UPDATE_1_21)
ITEM_WOLF_ARMOR_CRACK("item.wolf_armor.crack"),
- @MinecraftExperimental
+ @MinecraftExperimental(Requires.UPDATE_1_21)
ITEM_WOLF_ARMOR_DAMAGE("item.wolf_armor.damage"),
- @MinecraftExperimental
+ @MinecraftExperimental(Requires.UPDATE_1_21)
ITEM_WOLF_ARMOR_REPAIR("item.wolf_armor.repair"),
MUSIC_CREATIVE("music.creative"),
MUSIC_CREDITS("music.credits"),
diff --git a/paper-api/src/main/java/org/bukkit/block/Crafter.java b/paper-api/src/main/java/org/bukkit/block/Crafter.java
index fda6e8965e..05d6af1681 100644
--- a/paper-api/src/main/java/org/bukkit/block/Crafter.java
+++ b/paper-api/src/main/java/org/bukkit/block/Crafter.java
@@ -1,6 +1,7 @@
package org.bukkit.block;
import org.bukkit.MinecraftExperimental;
+import org.bukkit.MinecraftExperimental.Requires;
import org.bukkit.loot.Lootable;
import org.jetbrains.annotations.ApiStatus;
@@ -8,7 +9,7 @@ import org.jetbrains.annotations.ApiStatus;
* Represents a captured state of a crafter.
*/
@ApiStatus.Experimental
-@MinecraftExperimental
+@MinecraftExperimental(Requires.UPDATE_1_21)
public interface Crafter extends Container, Lootable {
/**
diff --git a/paper-api/src/main/java/org/bukkit/block/TrialSpawner.java b/paper-api/src/main/java/org/bukkit/block/TrialSpawner.java
index 66ce87d236..bc29ba7eff 100644
--- a/paper-api/src/main/java/org/bukkit/block/TrialSpawner.java
+++ b/paper-api/src/main/java/org/bukkit/block/TrialSpawner.java
@@ -1,12 +1,13 @@
package org.bukkit.block;
import org.bukkit.MinecraftExperimental;
+import org.bukkit.MinecraftExperimental.Requires;
import org.jetbrains.annotations.ApiStatus;
/**
* Represents a captured state of a trial spawner.
*/
-@MinecraftExperimental
+@MinecraftExperimental(Requires.UPDATE_1_21)
@ApiStatus.Experimental
public interface TrialSpawner extends TileState {
}
diff --git a/paper-api/src/main/java/org/bukkit/block/Vault.java b/paper-api/src/main/java/org/bukkit/block/Vault.java
index b818f427e1..af8a1058fe 100644
--- a/paper-api/src/main/java/org/bukkit/block/Vault.java
+++ b/paper-api/src/main/java/org/bukkit/block/Vault.java
@@ -1,12 +1,13 @@
package org.bukkit.block;
import org.bukkit.MinecraftExperimental;
+import org.bukkit.MinecraftExperimental.Requires;
import org.jetbrains.annotations.ApiStatus;
/**
* Represents a captured state of a trial spawner.
*/
-@MinecraftExperimental
+@MinecraftExperimental(Requires.UPDATE_1_21)
@ApiStatus.Experimental
public interface Vault extends TileState {
}
diff --git a/paper-api/src/main/java/org/bukkit/block/banner/PatternType.java b/paper-api/src/main/java/org/bukkit/block/banner/PatternType.java
index 0d250d0c13..db7723e290 100644
--- a/paper-api/src/main/java/org/bukkit/block/banner/PatternType.java
+++ b/paper-api/src/main/java/org/bukkit/block/banner/PatternType.java
@@ -4,6 +4,7 @@ import java.util.HashMap;
import java.util.Map;
import org.bukkit.Keyed;
import org.bukkit.MinecraftExperimental;
+import org.bukkit.MinecraftExperimental.Requires;
import org.bukkit.NamespacedKey;
import org.bukkit.Registry;
import org.jetbrains.annotations.Contract;
@@ -52,9 +53,9 @@ public enum PatternType implements Keyed {
MOJANG("moj", "mojang"),
GLOBE("glb", "globe"),
PIGLIN("pig", "piglin"),
- @MinecraftExperimental
+ @MinecraftExperimental(Requires.UPDATE_1_21)
FLOW("flw", "flow"),
- @MinecraftExperimental
+ @MinecraftExperimental(Requires.UPDATE_1_21)
GUSTER("gus", "guster");
private final String identifier;
diff --git a/paper-api/src/main/java/org/bukkit/block/data/type/CopperBulb.java b/paper-api/src/main/java/org/bukkit/block/data/type/CopperBulb.java
index 2257f23c2e..27a5a60b5f 100644
--- a/paper-api/src/main/java/org/bukkit/block/data/type/CopperBulb.java
+++ b/paper-api/src/main/java/org/bukkit/block/data/type/CopperBulb.java
@@ -1,11 +1,12 @@
package org.bukkit.block.data.type;
import org.bukkit.MinecraftExperimental;
+import org.bukkit.MinecraftExperimental.Requires;
import org.bukkit.block.data.Lightable;
import org.bukkit.block.data.Powerable;
import org.jetbrains.annotations.ApiStatus;
-@MinecraftExperimental
+@MinecraftExperimental(Requires.UPDATE_1_21)
@ApiStatus.Experimental
public interface CopperBulb extends Lightable, Powerable {
}
diff --git a/paper-api/src/main/java/org/bukkit/block/data/type/Crafter.java b/paper-api/src/main/java/org/bukkit/block/data/type/Crafter.java
index 282188ffa8..2c4cf1a8cd 100644
--- a/paper-api/src/main/java/org/bukkit/block/data/type/Crafter.java
+++ b/paper-api/src/main/java/org/bukkit/block/data/type/Crafter.java
@@ -1,6 +1,7 @@
package org.bukkit.block.data.type;
import org.bukkit.MinecraftExperimental;
+import org.bukkit.MinecraftExperimental.Requires;
import org.bukkit.block.data.BlockData;
import org.bukkit.block.data.Powerable;
import org.jetbrains.annotations.ApiStatus;
@@ -15,7 +16,7 @@ import org.jetbrains.annotations.NotNull;
* 'crafting' is whether crafter's mouth is open and top is glowing.
*/
@ApiStatus.Experimental
-@MinecraftExperimental
+@MinecraftExperimental(Requires.UPDATE_1_21)
public interface Crafter extends BlockData {
/**
diff --git a/paper-api/src/main/java/org/bukkit/block/data/type/TrialSpawner.java b/paper-api/src/main/java/org/bukkit/block/data/type/TrialSpawner.java
index efa8273c42..28ef75046a 100644
--- a/paper-api/src/main/java/org/bukkit/block/data/type/TrialSpawner.java
+++ b/paper-api/src/main/java/org/bukkit/block/data/type/TrialSpawner.java
@@ -1,6 +1,7 @@
package org.bukkit.block.data.type;
import org.bukkit.MinecraftExperimental;
+import org.bukkit.MinecraftExperimental.Requires;
import org.bukkit.block.data.BlockData;
import org.jetbrains.annotations.ApiStatus;
import org.jetbrains.annotations.NotNull;
@@ -10,7 +11,7 @@ import org.jetbrains.annotations.NotNull;
*
* 'ominous' indicates if the block has ominous effects.
*/
-@MinecraftExperimental
+@MinecraftExperimental(Requires.UPDATE_1_21)
@ApiStatus.Experimental
public interface TrialSpawner extends BlockData {
diff --git a/paper-api/src/main/java/org/bukkit/block/data/type/Vault.java b/paper-api/src/main/java/org/bukkit/block/data/type/Vault.java
index 680fbf9b7b..0acb232e54 100644
--- a/paper-api/src/main/java/org/bukkit/block/data/type/Vault.java
+++ b/paper-api/src/main/java/org/bukkit/block/data/type/Vault.java
@@ -1,6 +1,7 @@
package org.bukkit.block.data.type;
import org.bukkit.MinecraftExperimental;
+import org.bukkit.MinecraftExperimental.Requires;
import org.bukkit.block.data.Directional;
import org.jetbrains.annotations.ApiStatus;
import org.jetbrains.annotations.NotNull;
@@ -10,7 +11,7 @@ import org.jetbrains.annotations.NotNull;
*
* 'ominous' indicates if the block has ominous effects.
*/
-@MinecraftExperimental
+@MinecraftExperimental(Requires.UPDATE_1_21)
@ApiStatus.Experimental
public interface Vault extends Directional {
diff --git a/paper-api/src/main/java/org/bukkit/enchantments/Enchantment.java b/paper-api/src/main/java/org/bukkit/enchantments/Enchantment.java
index f9965740ff..8a6296da3e 100644
--- a/paper-api/src/main/java/org/bukkit/enchantments/Enchantment.java
+++ b/paper-api/src/main/java/org/bukkit/enchantments/Enchantment.java
@@ -7,6 +7,7 @@ import org.bukkit.MinecraftExperimental;
import org.bukkit.NamespacedKey;
import org.bukkit.Registry;
import org.bukkit.Translatable;
+import org.bukkit.MinecraftExperimental.Requires;
import org.bukkit.inventory.ItemStack;
import org.jetbrains.annotations.Contract;
import org.jetbrains.annotations.NotNull;
@@ -196,19 +197,19 @@ public abstract class Enchantment implements Keyed, Translatable {
/**
* Increases fall damage of maces
*/
- @MinecraftExperimental
+ @MinecraftExperimental(Requires.UPDATE_1_21)
public static final Enchantment DENSITY = getEnchantment("density");
/**
* Reduces armor effectiveness against maces
*/
- @MinecraftExperimental
+ @MinecraftExperimental(Requires.UPDATE_1_21)
public static final Enchantment BREACH = getEnchantment("breach");
/**
* Emits wind burst upon hitting enemy
*/
- @MinecraftExperimental
+ @MinecraftExperimental(Requires.UPDATE_1_21)
public static final Enchantment WIND_BURST = getEnchantment("wind_burst");
/**
diff --git a/paper-api/src/main/java/org/bukkit/entity/AbstractWindCharge.java b/paper-api/src/main/java/org/bukkit/entity/AbstractWindCharge.java
index 6f3966ef69..6944005639 100644
--- a/paper-api/src/main/java/org/bukkit/entity/AbstractWindCharge.java
+++ b/paper-api/src/main/java/org/bukkit/entity/AbstractWindCharge.java
@@ -1,12 +1,13 @@
package org.bukkit.entity;
import org.bukkit.MinecraftExperimental;
+import org.bukkit.MinecraftExperimental.Requires;
import org.jetbrains.annotations.ApiStatus;
/**
* Represents a Wind Charge.
*/
-@MinecraftExperimental
+@MinecraftExperimental(Requires.UPDATE_1_21)
@ApiStatus.Experimental
public interface AbstractWindCharge extends Fireball {
diff --git a/paper-api/src/main/java/org/bukkit/entity/Bogged.java b/paper-api/src/main/java/org/bukkit/entity/Bogged.java
index 1b8bf63e0e..584404c6ac 100644
--- a/paper-api/src/main/java/org/bukkit/entity/Bogged.java
+++ b/paper-api/src/main/java/org/bukkit/entity/Bogged.java
@@ -1,12 +1,13 @@
package org.bukkit.entity;
import org.bukkit.MinecraftExperimental;
+import org.bukkit.MinecraftExperimental.Requires;
import org.jetbrains.annotations.ApiStatus;
/**
* Represents a Bogged Skeleton.
*/
-@MinecraftExperimental
+@MinecraftExperimental(Requires.UPDATE_1_21)
@ApiStatus.Experimental
public interface Bogged extends AbstractSkeleton {
}
diff --git a/paper-api/src/main/java/org/bukkit/entity/Breeze.java b/paper-api/src/main/java/org/bukkit/entity/Breeze.java
index 03d9e1f5b1..514ee24613 100644
--- a/paper-api/src/main/java/org/bukkit/entity/Breeze.java
+++ b/paper-api/src/main/java/org/bukkit/entity/Breeze.java
@@ -1,12 +1,13 @@
package org.bukkit.entity;
import org.bukkit.MinecraftExperimental;
+import org.bukkit.MinecraftExperimental.Requires;
import org.jetbrains.annotations.ApiStatus;
/**
* Represents a Breeze. Whoosh!
*/
-@MinecraftExperimental
+@MinecraftExperimental(Requires.UPDATE_1_21)
@ApiStatus.Experimental
public interface Breeze extends Monster {
}
diff --git a/paper-api/src/main/java/org/bukkit/entity/BreezeWindCharge.java b/paper-api/src/main/java/org/bukkit/entity/BreezeWindCharge.java
index 87113eb567..d6e8748bed 100644
--- a/paper-api/src/main/java/org/bukkit/entity/BreezeWindCharge.java
+++ b/paper-api/src/main/java/org/bukkit/entity/BreezeWindCharge.java
@@ -1,12 +1,13 @@
package org.bukkit.entity;
import org.bukkit.MinecraftExperimental;
+import org.bukkit.MinecraftExperimental.Requires;
import org.jetbrains.annotations.ApiStatus;
/**
* Represents a Wind Charge.
*/
-@MinecraftExperimental
+@MinecraftExperimental(Requires.UPDATE_1_21)
@ApiStatus.Experimental
public interface BreezeWindCharge extends AbstractWindCharge {
diff --git a/paper-api/src/main/java/org/bukkit/entity/EntityType.java b/paper-api/src/main/java/org/bukkit/entity/EntityType.java
index b975f11d34..0362b08ee4 100644
--- a/paper-api/src/main/java/org/bukkit/entity/EntityType.java
+++ b/paper-api/src/main/java/org/bukkit/entity/EntityType.java
@@ -10,6 +10,7 @@ import org.bukkit.MinecraftExperimental;
import org.bukkit.NamespacedKey;
import org.bukkit.Translatable;
import org.bukkit.World;
+import org.bukkit.MinecraftExperimental.Requires;
import org.bukkit.entity.minecart.CommandMinecart;
import org.bukkit.entity.minecart.ExplosiveMinecart;
import org.bukkit.entity.minecart.HopperMinecart;
@@ -286,20 +287,20 @@ public enum EntityType implements Keyed, Translatable {
ITEM_DISPLAY("item_display", ItemDisplay.class, -1),
SNIFFER("sniffer", Sniffer.class, -1),
TEXT_DISPLAY("text_display", TextDisplay.class, -1),
- @MinecraftExperimental
+ @MinecraftExperimental(Requires.UPDATE_1_21)
@ApiStatus.Experimental
BREEZE("breeze", Breeze.class, -1),
- @MinecraftExperimental
+ @MinecraftExperimental(Requires.UPDATE_1_21)
@ApiStatus.Experimental
WIND_CHARGE("wind_charge", WindCharge.class, -1),
- @MinecraftExperimental
+ @MinecraftExperimental(Requires.UPDATE_1_21)
@ApiStatus.Experimental
BREEZE_WIND_CHARGE("breeze_wind_charge", BreezeWindCharge.class, -1),
ARMADILLO("armadillo", Armadillo.class, -1),
- @MinecraftExperimental
+ @MinecraftExperimental(Requires.UPDATE_1_21)
@ApiStatus.Experimental
BOGGED("bogged", Bogged.class, -1),
- @MinecraftExperimental
+ @MinecraftExperimental(Requires.UPDATE_1_21)
@ApiStatus.Experimental
OMINOUS_ITEM_SPAWNER("ominous_item_spawner", OminousItemSpawner.class, -1),
/**
diff --git a/paper-api/src/main/java/org/bukkit/entity/OminousItemSpawner.java b/paper-api/src/main/java/org/bukkit/entity/OminousItemSpawner.java
index 8d3e02a2d3..d6dfeaea2f 100644
--- a/paper-api/src/main/java/org/bukkit/entity/OminousItemSpawner.java
+++ b/paper-api/src/main/java/org/bukkit/entity/OminousItemSpawner.java
@@ -1,6 +1,7 @@
package org.bukkit.entity;
import org.bukkit.MinecraftExperimental;
+import org.bukkit.MinecraftExperimental.Requires;
import org.bukkit.inventory.ItemStack;
import org.jetbrains.annotations.ApiStatus;
import org.jetbrains.annotations.Nullable;
@@ -8,7 +9,7 @@ import org.jetbrains.annotations.Nullable;
/**
* Represents an ominous item spawner.
*/
-@MinecraftExperimental
+@MinecraftExperimental(Requires.UPDATE_1_21)
@ApiStatus.Experimental
public interface OminousItemSpawner extends Entity {
diff --git a/paper-api/src/main/java/org/bukkit/entity/WindCharge.java b/paper-api/src/main/java/org/bukkit/entity/WindCharge.java
index 8248e70179..a2d8042180 100644
--- a/paper-api/src/main/java/org/bukkit/entity/WindCharge.java
+++ b/paper-api/src/main/java/org/bukkit/entity/WindCharge.java
@@ -1,12 +1,13 @@
package org.bukkit.entity;
import org.bukkit.MinecraftExperimental;
+import org.bukkit.MinecraftExperimental.Requires;
import org.jetbrains.annotations.ApiStatus;
/**
* Represents a Wind Charge.
*/
-@MinecraftExperimental
+@MinecraftExperimental(Requires.UPDATE_1_21)
@ApiStatus.Experimental
public interface WindCharge extends AbstractWindCharge {
diff --git a/paper-api/src/main/java/org/bukkit/event/inventory/InventoryType.java b/paper-api/src/main/java/org/bukkit/event/inventory/InventoryType.java
index a2e9bedc4d..45acff6f8b 100644
--- a/paper-api/src/main/java/org/bukkit/event/inventory/InventoryType.java
+++ b/paper-api/src/main/java/org/bukkit/event/inventory/InventoryType.java
@@ -1,6 +1,7 @@
package org.bukkit.event.inventory;
import org.bukkit.MinecraftExperimental;
+import org.bukkit.MinecraftExperimental.Requires;
import org.bukkit.inventory.InventoryHolder;
import org.jetbrains.annotations.ApiStatus;
import org.jetbrains.annotations.NotNull;
@@ -147,7 +148,7 @@ public enum InventoryType {
/**
* A crafter inventory, with 9 CRAFTING slots.
*/
- @MinecraftExperimental
+ @MinecraftExperimental(Requires.UPDATE_1_21)
@ApiStatus.Experimental
CRAFTER(9, "Crafter"),
/**
diff --git a/paper-api/src/main/java/org/bukkit/generator/structure/Structure.java b/paper-api/src/main/java/org/bukkit/generator/structure/Structure.java
index 65d3d8fd5f..7c539e4e48 100644
--- a/paper-api/src/main/java/org/bukkit/generator/structure/Structure.java
+++ b/paper-api/src/main/java/org/bukkit/generator/structure/Structure.java
@@ -4,6 +4,7 @@ import org.bukkit.Keyed;
import org.bukkit.MinecraftExperimental;
import org.bukkit.NamespacedKey;
import org.bukkit.Registry;
+import org.bukkit.MinecraftExperimental.Requires;
import org.jetbrains.annotations.NotNull;
/**
@@ -48,7 +49,7 @@ public abstract class Structure implements Keyed {
public static final Structure RUINED_PORTAL_NETHER = getStructure("ruined_portal_nether");
public static final Structure ANCIENT_CITY = getStructure("ancient_city");
public static final Structure TRAIL_RUINS = getStructure("trail_ruins");
- @MinecraftExperimental
+ @MinecraftExperimental(Requires.UPDATE_1_21)
public static final Structure TRIAL_CHAMBERS = getStructure("trial_chambers");
private static Structure getStructure(String name) {
diff --git a/paper-api/src/main/java/org/bukkit/inventory/CrafterInventory.java b/paper-api/src/main/java/org/bukkit/inventory/CrafterInventory.java
index 7cdcd45e2b..5c008816aa 100644
--- a/paper-api/src/main/java/org/bukkit/inventory/CrafterInventory.java
+++ b/paper-api/src/main/java/org/bukkit/inventory/CrafterInventory.java
@@ -1,11 +1,12 @@
package org.bukkit.inventory;
import org.bukkit.MinecraftExperimental;
+import org.bukkit.MinecraftExperimental.Requires;
import org.jetbrains.annotations.ApiStatus;
/**
* Interface to the inventory of a Crafter.
*/
@ApiStatus.Experimental
-@MinecraftExperimental
+@MinecraftExperimental(Requires.UPDATE_1_21)
public interface CrafterInventory extends Inventory { }
diff --git a/paper-api/src/main/java/org/bukkit/inventory/meta/BundleMeta.java b/paper-api/src/main/java/org/bukkit/inventory/meta/BundleMeta.java
index e4c69a0203..e404cd1e2b 100644
--- a/paper-api/src/main/java/org/bukkit/inventory/meta/BundleMeta.java
+++ b/paper-api/src/main/java/org/bukkit/inventory/meta/BundleMeta.java
@@ -1,13 +1,11 @@
package org.bukkit.inventory.meta;
import java.util.List;
-import org.bukkit.MinecraftExperimental;
import org.bukkit.inventory.ItemStack;
import org.jetbrains.annotations.ApiStatus;
import org.jetbrains.annotations.NotNull;
import org.jetbrains.annotations.Nullable;
-@MinecraftExperimental
@ApiStatus.Experimental
public interface BundleMeta extends ItemMeta {
diff --git a/paper-api/src/main/java/org/bukkit/loot/LootTables.java b/paper-api/src/main/java/org/bukkit/loot/LootTables.java
index 0a3bce3b9d..7e47752539 100644
--- a/paper-api/src/main/java/org/bukkit/loot/LootTables.java
+++ b/paper-api/src/main/java/org/bukkit/loot/LootTables.java
@@ -4,6 +4,7 @@ import org.bukkit.Bukkit;
import org.bukkit.Keyed;
import org.bukkit.MinecraftExperimental;
import org.bukkit.NamespacedKey;
+import org.bukkit.MinecraftExperimental.Requires;
import org.jetbrains.annotations.NotNull;
/**
@@ -34,45 +35,45 @@ public enum LootTables implements Keyed {
ANCIENT_CITY("chests/ancient_city"),
ANCIENT_CITY_ICE_BOX("chests/ancient_city_ice_box"),
RUINED_PORTAL("chests/ruined_portal"),
- @MinecraftExperimental
+ @MinecraftExperimental(Requires.UPDATE_1_21)
TRIAL_CHAMBERS_REWARD("chests/trial_chambers/reward"),
- @MinecraftExperimental
+ @MinecraftExperimental(Requires.UPDATE_1_21)
TRIAL_CHAMBERS_REWARD_COMMON("chests/trial_chambers/reward_common"),
- @MinecraftExperimental
+ @MinecraftExperimental(Requires.UPDATE_1_21)
TRIAL_CHAMBERS_REWARD_RARE("chests/trial_chambers/reward_rare"),
- @MinecraftExperimental
+ @MinecraftExperimental(Requires.UPDATE_1_21)
TRIAL_CHAMBERS_REWARD_UNIQUE("chests/trial_chambers/reward_unique"),
- @MinecraftExperimental
+ @MinecraftExperimental(Requires.UPDATE_1_21)
TRIAL_CHAMBERS_REWARD_OMINOUS("chests/trial_chambers/reward_ominous"),
- @MinecraftExperimental
+ @MinecraftExperimental(Requires.UPDATE_1_21)
TRIAL_CHAMBERS_REWARD_OMINOUS_COMMON("chests/trial_chambers/reward_ominous_common"),
- @MinecraftExperimental
+ @MinecraftExperimental(Requires.UPDATE_1_21)
TRIAL_CHAMBERS_REWARD_OMINOUS_RARE("chests/trial_chambers/reward_ominous_rare"),
- @MinecraftExperimental
+ @MinecraftExperimental(Requires.UPDATE_1_21)
TRIAL_CHAMBERS_REWARD_OMINOUS_UNIQUE("chests/trial_chambers/reward_ominous_unique"),
- @MinecraftExperimental
+ @MinecraftExperimental(Requires.UPDATE_1_21)
TRIAL_CHAMBERS_SUPPLY("chests/trial_chambers/supply"),
- @MinecraftExperimental
+ @MinecraftExperimental(Requires.UPDATE_1_21)
TRIAL_CHAMBERS_CORRIDOR("chests/trial_chambers/corridor"),
- @MinecraftExperimental
+ @MinecraftExperimental(Requires.UPDATE_1_21)
TRIAL_CHAMBERS_INTERSECTION("chests/trial_chambers/intersection"),
- @MinecraftExperimental
+ @MinecraftExperimental(Requires.UPDATE_1_21)
TRIAL_CHAMBERS_INTERSECTION_BARREL("chests/trial_chambers/intersection_barrel"),
- @MinecraftExperimental
+ @MinecraftExperimental(Requires.UPDATE_1_21)
TRIAL_CHAMBERS_ENTRANCE("chests/trial_chambers/entrance"),
- @MinecraftExperimental
+ @MinecraftExperimental(Requires.UPDATE_1_21)
TRIAL_CHAMBERS_CORRIDOR_DISPENSER("dispensers/trial_chambers/corridor"),
- @MinecraftExperimental
+ @MinecraftExperimental(Requires.UPDATE_1_21)
TRIAL_CHAMBERS_CHAMBER_DISPENSER("dispensers/trial_chambers/chamber"),
- @MinecraftExperimental
+ @MinecraftExperimental(Requires.UPDATE_1_21)
TRIAL_CHAMBERS_WATER_DISPENSER("dispensers/trial_chambers/water"),
- @MinecraftExperimental
+ @MinecraftExperimental(Requires.UPDATE_1_21)
TRIAL_CHAMBERS_CORRIDOR_POT("pots/trial_chambers/corridor"),
- @MinecraftExperimental
+ @MinecraftExperimental(Requires.UPDATE_1_21)
EQUIPMENT_TRIAL_CHAMBER("equipment/trial_chamber"),
- @MinecraftExperimental
+ @MinecraftExperimental(Requires.UPDATE_1_21)
EQUIPMENT_TRIAL_CHAMBER_RANGED("equipment/trial_chamber_ranged"),
- @MinecraftExperimental
+ @MinecraftExperimental(Requires.UPDATE_1_21)
EQUIPMENT_TRIAL_CHAMBER_MELEE("equipment/trial_chamber_melee"),
SHIPWRECK_MAP("chests/shipwreck_map"),
SHIPWRECK_SUPPLY("chests/shipwreck_supply"),
@@ -200,15 +201,15 @@ public enum LootTables implements Keyed {
PANDA_SNEEZE("gameplay/panda_sneeze"),
PIGLIN_BARTERING("gameplay/piglin_bartering"),
// Spawners
- @MinecraftExperimental
+ @MinecraftExperimental(Requires.UPDATE_1_21)
TRIAL_CHAMBER_KEY("spawners/trial_chamber/key"),
- @MinecraftExperimental
+ @MinecraftExperimental(Requires.UPDATE_1_21)
TRIAL_CHAMBER_CONSUMABLES("spawners/trial_chamber/consumables"),
- @MinecraftExperimental
+ @MinecraftExperimental(Requires.UPDATE_1_21)
OMINOUS_TRIAL_CHAMBER_KEY("spawners/ominous/trial_chamber/key"),
- @MinecraftExperimental
+ @MinecraftExperimental(Requires.UPDATE_1_21)
OMINOUS_TRIAL_CHAMBER_CONSUMABLES("spawners/ominous/trial_chamber/consumables"),
- @MinecraftExperimental
+ @MinecraftExperimental(Requires.UPDATE_1_21)
TRIAL_CHAMBER_ITEMS_TO_DROP_WHEN_OMINOUS("spawners/trial_chamber/items_to_drop_when_ominous"),
// Shearing
SHEARING_BOGGED("shearing/bogged"),
diff --git a/paper-api/src/main/java/org/bukkit/potion/PotionType.java b/paper-api/src/main/java/org/bukkit/potion/PotionType.java
index 310833ace1..8755c420ea 100644
--- a/paper-api/src/main/java/org/bukkit/potion/PotionType.java
+++ b/paper-api/src/main/java/org/bukkit/potion/PotionType.java
@@ -7,6 +7,7 @@ import org.bukkit.Bukkit;
import org.bukkit.Keyed;
import org.bukkit.MinecraftExperimental;
import org.bukkit.NamespacedKey;
+import org.bukkit.MinecraftExperimental.Requires;
import org.jetbrains.annotations.ApiStatus;
import org.jetbrains.annotations.NotNull;
import org.jetbrains.annotations.Nullable;
@@ -58,13 +59,13 @@ public enum PotionType implements Keyed {
STRONG_TURTLE_MASTER("strong_turtle_master"),
SLOW_FALLING("slow_falling"),
LONG_SLOW_FALLING("long_slow_falling"),
- @MinecraftExperimental
+ @MinecraftExperimental(Requires.UPDATE_1_21)
WIND_CHARGED("wind_charged"),
- @MinecraftExperimental
+ @MinecraftExperimental(Requires.UPDATE_1_21)
WEAVING("weaving"),
- @MinecraftExperimental
+ @MinecraftExperimental(Requires.UPDATE_1_21)
OOZING("oozing"),
- @MinecraftExperimental
+ @MinecraftExperimental(Requires.UPDATE_1_21)
INFESTED("infested"),
;