#995: Add required feature to MinecraftExperimental for easy lookups

By: 2008Choco <hawkeboyz2@hotmail.com>
This commit is contained in:
Bukkit/Spigot
2024-04-24 18:19:37 +10:00
parent c5183dc422
commit 9f064c2cc7
27 changed files with 282 additions and 240 deletions

View File

@@ -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}