From 3635fe1a771a768acc67a9ab8b3ea184fc724bae Mon Sep 17 00:00:00 2001 From: md_5 Date: Thu, 8 Jun 2023 01:30:00 +1000 Subject: [PATCH] Update to Minecraft 1.20 --- pom.xml | 18 +- src/main/java/org/bukkit/GameEvent.java | 24 +- src/main/java/org/bukkit/Instrument.java | 15 -- src/main/java/org/bukkit/Material.java | 245 ++++++------------ src/main/java/org/bukkit/Particle.java | 12 +- src/main/java/org/bukkit/Registry.java | 2 - src/main/java/org/bukkit/Sound.java | 188 ++------------ src/main/java/org/bukkit/Tag.java | 92 ++++--- src/main/java/org/bukkit/TreeType.java | 4 - src/main/java/org/bukkit/block/Biome.java | 4 - .../java/org/bukkit/block/BrushableBlock.java | 28 ++ .../bukkit/block/CalibratedSculkSensor.java | 7 + .../org/bukkit/block/ChiseledBookshelf.java | 4 - .../java/org/bukkit/block/DecoratedPot.java | 17 -- .../java/org/bukkit/block/HangingSign.java | 5 - src/main/java/org/bukkit/block/Sign.java | 25 +- src/main/java/org/bukkit/block/Skull.java | 6 - .../java/org/bukkit/block/SuspiciousSand.java | 30 +-- .../SuspiciousSand.java => Brushable.java} | 10 +- .../java/org/bukkit/block/data/Hatchable.java | 28 ++ .../data/type/CalibratedSculkSensor.java | 5 + .../block/data/type/ChiseledBookshelf.java | 4 - .../bukkit/block/data/type/DecoratedPot.java | 4 - .../bukkit/block/data/type/HangingSign.java | 4 - .../bukkit/block/data/type/PinkPetals.java | 4 - .../bukkit/block/data/type/PitcherCrop.java | 7 + .../org/bukkit/block/data/type/TurtleEgg.java | 27 +- .../block/data/type/WallHangingSign.java | 4 - src/main/java/org/bukkit/block/sign/Side.java | 1 + .../java/org/bukkit/block/sign/SignSide.java | 2 - .../enchantments/EnchantmentTarget.java | 1 - src/main/java/org/bukkit/entity/Boat.java | 6 - src/main/java/org/bukkit/entity/Camel.java | 8 - .../java/org/bukkit/entity/EntityType.java | 6 - src/main/java/org/bukkit/entity/Player.java | 23 ++ src/main/java/org/bukkit/entity/Sniffer.java | 7 - .../org/bukkit/entity/memory/MemoryKey.java | 4 - .../bukkit/generator/structure/Structure.java | 1 + .../inventory/ChiseledBookshelfInventory.java | 4 - .../java/org/bukkit/inventory/ItemFlag.java | 5 - .../bukkit/inventory/SmithingInventory.java | 5 - .../bukkit/inventory/SmithingTrimRecipe.java | 7 - .../org/bukkit/inventory/meta/ArmorMeta.java | 4 - .../org/bukkit/inventory/meta/BundleMeta.java | 4 - .../org/bukkit/inventory/meta/SkullMeta.java | 6 - .../bukkit/inventory/meta/trim/ArmorTrim.java | 6 - .../inventory/meta/trim/TrimMaterial.java | 8 - .../inventory/meta/trim/TrimPattern.java | 8 - src/main/java/org/bukkit/loot/LootTables.java | 8 + 49 files changed, 316 insertions(+), 631 deletions(-) create mode 100644 src/main/java/org/bukkit/block/BrushableBlock.java create mode 100644 src/main/java/org/bukkit/block/CalibratedSculkSensor.java rename src/main/java/org/bukkit/block/data/{type/SuspiciousSand.java => Brushable.java} (66%) create mode 100644 src/main/java/org/bukkit/block/data/Hatchable.java create mode 100644 src/main/java/org/bukkit/block/data/type/CalibratedSculkSensor.java create mode 100644 src/main/java/org/bukkit/block/data/type/PitcherCrop.java diff --git a/pom.xml b/pom.xml index 11689d08..b5841c61 100644 --- a/pom.xml +++ b/pom.xml @@ -5,7 +5,7 @@ org.bukkit bukkit - 1.19.4-R0.1-SNAPSHOT + 1.20-R0.1-SNAPSHOT jar Bukkit @@ -55,33 +55,33 @@ org.yaml snakeyaml - 1.33 + 2.0 compile org.apache.maven maven-resolver-provider - 3.8.5 + 3.9.2 provided org.apache.maven.resolver maven-resolver-connector-basic - 1.7.3 + 1.9.10 provided org.apache.maven.resolver maven-resolver-transport-http - 1.7.3 + 1.9.10 provided org.jetbrains annotations-java5 - 23.0.0 + 24.0.1 provided @@ -100,7 +100,7 @@ org.ow2.asm asm-tree - 9.4 + 9.5 test @@ -188,7 +188,7 @@ https://guava.dev/releases/31.1-jre/api/docs/ https://javadoc.io/doc/org.yaml/snakeyaml/1.33/ - https://javadoc.io/doc/org.jetbrains/annotations-java5/23.0.0/ + https://javadoc.io/doc/org.jetbrains/annotations-java5/24.0.1/ @@ -213,7 +213,7 @@ org.apache.maven.plugins maven-checkstyle-plugin - 3.2.1 + 3.3.0 process-classes diff --git a/src/main/java/org/bukkit/GameEvent.java b/src/main/java/org/bukkit/GameEvent.java index a472a6b8..2ea647c3 100644 --- a/src/main/java/org/bukkit/GameEvent.java +++ b/src/main/java/org/bukkit/GameEvent.java @@ -33,7 +33,8 @@ public final class GameEvent implements Keyed { public static final GameEvent BLOCK_UNSWITCH = getEvent("block_deactivate"); public static final GameEvent CONTAINER_CLOSE = getEvent("container_close"); public static final GameEvent CONTAINER_OPEN = getEvent("container_open"); - public static final GameEvent DISPENSE_FAIL = getEvent("dispense_fail"); + @Deprecated + public static final GameEvent DISPENSE_FAIL = getEvent("block_activate"); public static final GameEvent DRINK = getEvent("drink"); @Deprecated public static final GameEvent DRINKING_FINISH = getEvent("drink"); @@ -70,8 +71,10 @@ public final class GameEvent implements Keyed { @Deprecated public static final GameEvent MOB_INTERACT = getEvent("entity_interact"); public static final GameEvent NOTE_BLOCK_PLAY = getEvent("note_block_play"); - public static final GameEvent PISTON_CONTRACT = getEvent("piston_contract"); - public static final GameEvent PISTON_EXTEND = getEvent("piston_extend"); + @Deprecated + public static final GameEvent PISTON_CONTRACT = getEvent("block_deactivate"); + @Deprecated + public static final GameEvent PISTON_EXTEND = getEvent("block_activate"); public static final GameEvent PRIME_FUSE = getEvent("prime_fuse"); public static final GameEvent PROJECTILE_LAND = getEvent("projectile_land"); public static final GameEvent PROJECTILE_SHOOT = getEvent("projectile_shoot"); @@ -92,6 +95,21 @@ public final class GameEvent implements Keyed { public static final GameEvent TELEPORT = getEvent("teleport"); @Deprecated public static final GameEvent WOLF_SHAKING = getEvent("entity_shake"); + public static final GameEvent RESONATE_1 = getEvent("resonate_1"); + public static final GameEvent RESONATE_2 = getEvent("resonate_2"); + public static final GameEvent RESONATE_3 = getEvent("resonate_3"); + public static final GameEvent RESONATE_4 = getEvent("resonate_4"); + public static final GameEvent RESONATE_5 = getEvent("resonate_5"); + public static final GameEvent RESONATE_6 = getEvent("resonate_6"); + public static final GameEvent RESONATE_7 = getEvent("resonate_7"); + public static final GameEvent RESONATE_8 = getEvent("resonate_8"); + public static final GameEvent RESONATE_9 = getEvent("resonate_9"); + public static final GameEvent RESONATE_10 = getEvent("resonate_10"); + public static final GameEvent RESONATE_11 = getEvent("resonate_11"); + public static final GameEvent RESONATE_12 = getEvent("resonate_12"); + public static final GameEvent RESONATE_13 = getEvent("resonate_13"); + public static final GameEvent RESONATE_14 = getEvent("resonate_14"); + public static final GameEvent RESONATE_15 = getEvent("resonate_15"); // private final NamespacedKey key; diff --git a/src/main/java/org/bukkit/Instrument.java b/src/main/java/org/bukkit/Instrument.java index 8f70d86a..de976be7 100644 --- a/src/main/java/org/bukkit/Instrument.java +++ b/src/main/java/org/bukkit/Instrument.java @@ -2,7 +2,6 @@ package org.bukkit; import com.google.common.collect.Maps; import java.util.Map; -import org.jetbrains.annotations.ApiStatus; import org.jetbrains.annotations.Nullable; public enum Instrument { @@ -79,44 +78,30 @@ public enum Instrument { /** * Zombie is normally played when a Zombie Head is on top of the note block. */ - @MinecraftExperimental - @ApiStatus.Experimental ZOMBIE, /** * Skeleton is normally played when a Skeleton Head is on top of the note block. */ - @MinecraftExperimental - @ApiStatus.Experimental SKELETON, /** * Creeper is normally played when a Creeper Head is on top of the note block. */ - @MinecraftExperimental - @ApiStatus.Experimental CREEPER, /** * Dragon is normally played when a Dragon Head is on top of the note block. */ - @MinecraftExperimental - @ApiStatus.Experimental DRAGON, /** * Wither Skeleton is normally played when a Wither Skeleton Head is on top of the note block. */ - @MinecraftExperimental - @ApiStatus.Experimental WITHER_SKELETON, /** * Piglin is normally played when a Piglin Head is on top of the note block. */ - @MinecraftExperimental - @ApiStatus.Experimental PIGLIN, /** * Custom Sound is normally played when a Player Head with the required data is on top of the note block. */ - @MinecraftExperimental - @ApiStatus.Experimental CUSTOM_HEAD; private final byte type; diff --git a/src/main/java/org/bukkit/Material.java b/src/main/java/org/bukkit/Material.java index 444c0d98..f52c0e25 100644 --- a/src/main/java/org/bukkit/Material.java +++ b/src/main/java/org/bukkit/Material.java @@ -14,7 +14,9 @@ import org.bukkit.block.data.Ageable; import org.bukkit.block.data.AnaloguePowerable; import org.bukkit.block.data.Bisected; import org.bukkit.block.data.BlockData; +import org.bukkit.block.data.Brushable; import org.bukkit.block.data.Directional; +import org.bukkit.block.data.Hatchable; import org.bukkit.block.data.Levelled; import org.bukkit.block.data.Lightable; import org.bukkit.block.data.MultipleFacing; @@ -34,6 +36,7 @@ import org.bukkit.block.data.type.BigDripleaf; import org.bukkit.block.data.type.BrewingStand; import org.bukkit.block.data.type.BubbleColumn; import org.bukkit.block.data.type.Cake; +import org.bukkit.block.data.type.CalibratedSculkSensor; import org.bukkit.block.data.type.Campfire; import org.bukkit.block.data.type.Candle; import org.bukkit.block.data.type.CaveVines; @@ -76,6 +79,7 @@ import org.bukkit.block.data.type.Observer; import org.bukkit.block.data.type.PinkPetals; import org.bukkit.block.data.type.Piston; import org.bukkit.block.data.type.PistonHead; +import org.bukkit.block.data.type.PitcherCrop; import org.bukkit.block.data.type.PointedDripstone; import org.bukkit.block.data.type.RedstoneRail; import org.bukkit.block.data.type.RedstoneWallTorch; @@ -95,7 +99,6 @@ import org.bukkit.block.data.type.SmallDripleaf; import org.bukkit.block.data.type.Snow; import org.bukkit.block.data.type.Stairs; import org.bukkit.block.data.type.StructureBlock; -import org.bukkit.block.data.type.SuspiciousSand; import org.bukkit.block.data.type.Switch; import org.bukkit.block.data.type.TNT; import org.bukkit.block.data.type.TechnicalPiston; @@ -109,7 +112,6 @@ import org.bukkit.block.data.type.WallSign; import org.bukkit.inventory.CreativeCategory; import org.bukkit.inventory.EquipmentSlot; import org.bukkit.material.MaterialData; -import org.jetbrains.annotations.ApiStatus; import org.jetbrains.annotations.NotNull; import org.jetbrains.annotations.Nullable; @@ -155,18 +157,12 @@ public enum Material implements Keyed, Translatable { BIRCH_PLANKS(29322), JUNGLE_PLANKS(26445), ACACIA_PLANKS(31312), - @MinecraftExperimental - @ApiStatus.Experimental CHERRY_PLANKS(8354), DARK_OAK_PLANKS(20869), MANGROVE_PLANKS(7078), - @MinecraftExperimental - @ApiStatus.Experimental BAMBOO_PLANKS(8520), CRIMSON_PLANKS(18812), WARPED_PLANKS(16045), - @MinecraftExperimental - @ApiStatus.Experimental BAMBOO_MOSAIC(10715), /** * BlockData: {@link Sapling} @@ -191,8 +187,6 @@ public enum Material implements Keyed, Translatable { /** * BlockData: {@link Sapling} */ - @MinecraftExperimental - @ApiStatus.Experimental CHERRY_SAPLING(25204, Sapling.class), /** * BlockData: {@link Sapling} @@ -205,11 +199,13 @@ public enum Material implements Keyed, Translatable { BEDROCK(23130), SAND(11542), /** - * BlockData: {@link SuspiciousSand} + * BlockData: {@link Brushable} */ - @MinecraftExperimental - @ApiStatus.Experimental - SUSPICIOUS_SAND(18410, SuspiciousSand.class), + SUSPICIOUS_SAND(18410, Brushable.class), + /** + * BlockData: {@link Brushable} + */ + SUSPICIOUS_GRAVEL(7353, Brushable.class), RED_SAND(16279), GRAVEL(7804), COAL_ORE(30965), @@ -350,8 +346,6 @@ public enum Material implements Keyed, Translatable { /** * BlockData: {@link Orientable} */ - @MinecraftExperimental - @ApiStatus.Experimental CHERRY_LOG(20847, Orientable.class), /** * BlockData: {@link Orientable} @@ -380,8 +374,6 @@ public enum Material implements Keyed, Translatable { /** * BlockData: {@link Orientable} */ - @MinecraftExperimental - @ApiStatus.Experimental BAMBOO_BLOCK(20770, Orientable.class), /** * BlockData: {@link Orientable} @@ -406,8 +398,6 @@ public enum Material implements Keyed, Translatable { /** * BlockData: {@link Orientable} */ - @MinecraftExperimental - @ApiStatus.Experimental STRIPPED_CHERRY_LOG(18061, Orientable.class), /** * BlockData: {@link Orientable} @@ -448,8 +438,6 @@ public enum Material implements Keyed, Translatable { /** * BlockData: {@link Orientable} */ - @MinecraftExperimental - @ApiStatus.Experimental STRIPPED_CHERRY_WOOD(19647, Orientable.class), /** * BlockData: {@link Orientable} @@ -494,8 +482,6 @@ public enum Material implements Keyed, Translatable { /** * BlockData: {@link Orientable} */ - @MinecraftExperimental - @ApiStatus.Experimental CHERRY_WOOD(9826, Orientable.class), /** * BlockData: {@link Orientable} @@ -536,8 +522,6 @@ public enum Material implements Keyed, Translatable { /** * BlockData: {@link Leaves} */ - @MinecraftExperimental - @ApiStatus.Experimental CHERRY_LEAVES(20856, Leaves.class), /** * BlockData: {@link Leaves} @@ -603,9 +587,11 @@ public enum Material implements Keyed, Translatable { CORNFLOWER(15405), LILY_OF_THE_VALLEY(7185), WITHER_ROSE(8619), - @MinecraftExperimental - @ApiStatus.Experimental TORCHFLOWER(4501), + /** + * BlockData: {@link Bisected} + */ + PITCHER_PLANT(28172, Bisected.class), SPORE_BLOSSOM(20627), BROWN_MUSHROOM(9665), RED_MUSHROOM(19728), @@ -634,8 +620,6 @@ public enum Material implements Keyed, Translatable { /** * BlockData: {@link PinkPetals} */ - @MinecraftExperimental - @ApiStatus.Experimental PINK_PETALS(10420, PinkPetals.class), MOSS_BLOCK(9175), /** @@ -677,8 +661,6 @@ public enum Material implements Keyed, Translatable { /** * BlockData: {@link Slab} */ - @MinecraftExperimental - @ApiStatus.Experimental CHERRY_SLAB(16673, Slab.class), /** * BlockData: {@link Slab} @@ -691,14 +673,10 @@ public enum Material implements Keyed, Translatable { /** * BlockData: {@link Slab} */ - @MinecraftExperimental - @ApiStatus.Experimental BAMBOO_SLAB(17798, Slab.class), /** * BlockData: {@link Slab} */ - @MinecraftExperimental - @ApiStatus.Experimental BAMBOO_MOSAIC_SLAB(22118, Slab.class), /** * BlockData: {@link Slab} @@ -785,14 +763,10 @@ public enum Material implements Keyed, Translatable { /** * BlockData: {@link ChiseledBookshelf} */ - @MinecraftExperimental - @ApiStatus.Experimental CHISELED_BOOKSHELF(8099, ChiseledBookshelf.class), /** * BlockData: {@link DecoratedPot} */ - @MinecraftExperimental - @ApiStatus.Experimental DECORATED_POT(8720, 1, DecoratedPot.class), MOSSY_COBBLESTONE(21900), OBSIDIAN(32723), @@ -878,8 +852,6 @@ public enum Material implements Keyed, Translatable { /** * BlockData: {@link Fence} */ - @MinecraftExperimental - @ApiStatus.Experimental CHERRY_FENCE(32047, Fence.class), /** * BlockData: {@link Fence} @@ -1060,8 +1032,6 @@ public enum Material implements Keyed, Translatable { /** * BlockData: {@link Stairs} */ - @MinecraftExperimental - @ApiStatus.Experimental CHERRY_STAIRS(18380, Stairs.class), /** * BlockData: {@link Stairs} @@ -1074,14 +1044,10 @@ public enum Material implements Keyed, Translatable { /** * BlockData: {@link Stairs} */ - @MinecraftExperimental - @ApiStatus.Experimental BAMBOO_STAIRS(25674, Stairs.class), /** * BlockData: {@link Stairs} */ - @MinecraftExperimental - @ApiStatus.Experimental BAMBOO_MOSAIC_STAIRS(20977, Stairs.class), /** * BlockData: {@link Stairs} @@ -1563,6 +1529,10 @@ public enum Material implements Keyed, Translatable { * BlockData: {@link TurtleEgg} */ TURTLE_EGG(32101, TurtleEgg.class), + /** + * BlockData: {@link Hatchable} + */ + SNIFFER_EGG(12980, Hatchable.class), DEAD_TUBE_CORAL_BLOCK(28350), DEAD_BRAIN_CORAL_BLOCK(12979), DEAD_BUBBLE_CORAL_BLOCK(28220), @@ -1866,6 +1836,10 @@ public enum Material implements Keyed, Translatable { * BlockData: {@link SculkSensor} */ SCULK_SENSOR(5598, SculkSensor.class), + /** + * BlockData: {@link CalibratedSculkSensor} + */ + CALIBRATED_SCULK_SENSOR(21034, CalibratedSculkSensor.class), /** * BlockData: {@link TripwireHook} */ @@ -1917,8 +1891,6 @@ public enum Material implements Keyed, Translatable { /** * BlockData: {@link Switch} */ - @MinecraftExperimental - @ApiStatus.Experimental CHERRY_BUTTON(9058, Switch.class), /** * BlockData: {@link Switch} @@ -1979,8 +1951,6 @@ public enum Material implements Keyed, Translatable { /** * BlockData: {@link Powerable} */ - @MinecraftExperimental - @ApiStatus.Experimental CHERRY_PRESSURE_PLATE(8651, Powerable.class), /** * BlockData: {@link Powerable} @@ -2029,8 +1999,6 @@ public enum Material implements Keyed, Translatable { /** * BlockData: {@link Door} */ - @MinecraftExperimental - @ApiStatus.Experimental CHERRY_DOOR(12684, Door.class), /** * BlockData: {@link Door} @@ -2079,8 +2047,6 @@ public enum Material implements Keyed, Translatable { /** * BlockData: {@link TrapDoor} */ - @MinecraftExperimental - @ApiStatus.Experimental CHERRY_TRAPDOOR(6293, TrapDoor.class), /** * BlockData: {@link TrapDoor} @@ -2125,8 +2091,6 @@ public enum Material implements Keyed, Translatable { /** * BlockData: {@link Gate} */ - @MinecraftExperimental - @ApiStatus.Experimental CHERRY_FENCE_GATE(28222, Gate.class), /** * BlockData: {@link Gate} @@ -2183,11 +2147,7 @@ public enum Material implements Keyed, Translatable { JUNGLE_CHEST_BOAT(20133, 1), ACACIA_BOAT(27326, 1), ACACIA_CHEST_BOAT(28455, 1), - @MinecraftExperimental - @ApiStatus.Experimental CHERRY_BOAT(13628, 1), - @MinecraftExperimental - @ApiStatus.Experimental CHERRY_CHEST_BOAT(7165, 1), DARK_OAK_BOAT(28618, 1), DARK_OAK_CHEST_BOAT(8733, 1), @@ -2319,8 +2279,6 @@ public enum Material implements Keyed, Translatable { /** * BlockData: {@link Sign} */ - @MinecraftExperimental - @ApiStatus.Experimental CHERRY_SIGN(16520, 16, Sign.class), /** * BlockData: {@link Sign} @@ -2345,68 +2303,46 @@ public enum Material implements Keyed, Translatable { /** * BlockData: {@link HangingSign} */ - @MinecraftExperimental - @ApiStatus.Experimental OAK_HANGING_SIGN(20116, 16, HangingSign.class), /** * BlockData: {@link HangingSign} */ - @MinecraftExperimental - @ApiStatus.Experimental SPRUCE_HANGING_SIGN(24371, 16, HangingSign.class), /** * BlockData: {@link HangingSign} */ - @MinecraftExperimental - @ApiStatus.Experimental BIRCH_HANGING_SIGN(17938, 16, HangingSign.class), /** * BlockData: {@link HangingSign} */ - @MinecraftExperimental - @ApiStatus.Experimental JUNGLE_HANGING_SIGN(27671, 16, HangingSign.class), /** * BlockData: {@link HangingSign} */ - @MinecraftExperimental - @ApiStatus.Experimental ACACIA_HANGING_SIGN(30257, 16, HangingSign.class), /** * BlockData: {@link HangingSign} */ - @MinecraftExperimental - @ApiStatus.Experimental CHERRY_HANGING_SIGN(5088, 16, HangingSign.class), /** * BlockData: {@link HangingSign} */ - @MinecraftExperimental - @ApiStatus.Experimental DARK_OAK_HANGING_SIGN(23360, 16, HangingSign.class), /** * BlockData: {@link HangingSign} */ - @MinecraftExperimental - @ApiStatus.Experimental MANGROVE_HANGING_SIGN(25106, 16, HangingSign.class), /** * BlockData: {@link HangingSign} */ - @MinecraftExperimental - @ApiStatus.Experimental BAMBOO_HANGING_SIGN(4726, 16, HangingSign.class), /** * BlockData: {@link HangingSign} */ - @MinecraftExperimental - @ApiStatus.Experimental CRIMSON_HANGING_SIGN(20696, 16, HangingSign.class), /** * BlockData: {@link HangingSign} */ - @MinecraftExperimental - @ApiStatus.Experimental WARPED_HANGING_SIGN(8195, 16, HangingSign.class), BUCKET(15215, 16), WATER_BUCKET(8802, 1), @@ -2430,8 +2366,6 @@ public enum Material implements Keyed, Translatable { EGG(21603, 16), COMPASS(24139), RECOVERY_COMPASS(12710), - @MinecraftExperimental - @ApiStatus.Experimental BUNDLE(16835, 1), FISHING_ROD(4167, 1, 64), CLOCK(14980), @@ -2572,8 +2506,6 @@ public enum Material implements Keyed, Translatable { BEE_SPAWN_EGG(22924), BLAZE_SPAWN_EGG(4759), CAT_SPAWN_EGG(29583), - @MinecraftExperimental - @ApiStatus.Experimental CAMEL_SPAWN_EGG(14760), CAVE_SPIDER_SPAWN_EGG(23341), CHICKEN_SPAWN_EGG(5462), @@ -2621,8 +2553,6 @@ public enum Material implements Keyed, Translatable { SKELETON_SPAWN_EGG(15261), SKELETON_HORSE_SPAWN_EGG(21356), SLIME_SPAWN_EGG(17196), - @MinecraftExperimental - @ApiStatus.Experimental SNIFFER_SPAWN_EGG(27473), SNOW_GOLEM_SPAWN_EGG(24732), SPIDER_SPAWN_EGG(14984), @@ -2687,8 +2617,6 @@ public enum Material implements Keyed, Translatable { /** * BlockData: {@link Rotatable} */ - @MinecraftExperimental - @ApiStatus.Experimental PIGLIN_HEAD(5512, Rotatable.class), NETHER_STAR(12469), PUMPKIN_PIE(28725), @@ -2780,9 +2708,8 @@ public enum Material implements Keyed, Translatable { END_CRYSTAL(19090), CHORUS_FRUIT(7652), POPPED_CHORUS_FRUIT(27844), - @MinecraftExperimental - @ApiStatus.Experimental TORCHFLOWER_SEEDS(18153), + PITCHER_POD(7977), BEETROOT(23305), BEETROOT_SEEDS(21282), BEETROOT_SOUP(16036, 1), @@ -2810,6 +2737,7 @@ public enum Material implements Keyed, Translatable { MUSIC_DISC_11(27426, 1), MUSIC_DISC_WAIT(26499, 1), MUSIC_DISC_OTHERSIDE(12974, 1), + MUSIC_DISC_RELIC(8200, 1), MUSIC_DISC_5(9212, 1), MUSIC_DISC_PIGSTEP(21323, 1), DISC_FRAGMENT_5(29729), @@ -3029,57 +2957,44 @@ public enum Material implements Keyed, Translatable { PEARLESCENT_FROGLIGHT(21441, Orientable.class), FROGSPAWN(8350), ECHO_SHARD(12529), - @MinecraftExperimental - @ApiStatus.Experimental BRUSH(30569, 1, 64), - @MinecraftExperimental - @ApiStatus.Experimental NETHERITE_UPGRADE_SMITHING_TEMPLATE(7615), - @MinecraftExperimental - @ApiStatus.Experimental SENTRY_ARMOR_TRIM_SMITHING_TEMPLATE(16124), - @MinecraftExperimental - @ApiStatus.Experimental DUNE_ARMOR_TRIM_SMITHING_TEMPLATE(30925), - @MinecraftExperimental - @ApiStatus.Experimental COAST_ARMOR_TRIM_SMITHING_TEMPLATE(25501), - @MinecraftExperimental - @ApiStatus.Experimental WILD_ARMOR_TRIM_SMITHING_TEMPLATE(5870), - @MinecraftExperimental - @ApiStatus.Experimental WARD_ARMOR_TRIM_SMITHING_TEMPLATE(24534), - @MinecraftExperimental - @ApiStatus.Experimental EYE_ARMOR_TRIM_SMITHING_TEMPLATE(14663), - @MinecraftExperimental - @ApiStatus.Experimental VEX_ARMOR_TRIM_SMITHING_TEMPLATE(25818), - @MinecraftExperimental - @ApiStatus.Experimental TIDE_ARMOR_TRIM_SMITHING_TEMPLATE(20420), - @MinecraftExperimental - @ApiStatus.Experimental SNOUT_ARMOR_TRIM_SMITHING_TEMPLATE(14386), - @MinecraftExperimental - @ApiStatus.Experimental RIB_ARMOR_TRIM_SMITHING_TEMPLATE(6010), - @MinecraftExperimental - @ApiStatus.Experimental SPIRE_ARMOR_TRIM_SMITHING_TEMPLATE(29143), - @MinecraftExperimental - @ApiStatus.Experimental - POTTERY_SHARD_ARCHER(26154), - @MinecraftExperimental - @ApiStatus.Experimental - POTTERY_SHARD_PRIZE(31677), - @MinecraftExperimental - @ApiStatus.Experimental - POTTERY_SHARD_ARMS_UP(29222), - @MinecraftExperimental - @ApiStatus.Experimental - POTTERY_SHARD_SKULL(14619), + WAYFINDER_ARMOR_TRIM_SMITHING_TEMPLATE(4957), + SHAPER_ARMOR_TRIM_SMITHING_TEMPLATE(20537), + SILENCE_ARMOR_TRIM_SMITHING_TEMPLATE(7070), + RAISER_ARMOR_TRIM_SMITHING_TEMPLATE(29116), + HOST_ARMOR_TRIM_SMITHING_TEMPLATE(12165), + ANGLER_POTTERY_SHERD(9952), + ARCHER_POTTERY_SHERD(21629), + ARMS_UP_POTTERY_SHERD(5484), + BLADE_POTTERY_SHERD(25079), + BREWER_POTTERY_SHERD(23429), + BURN_POTTERY_SHERD(21259), + DANGER_POTTERY_SHERD(30506), + EXPLORER_POTTERY_SHERD(5124), + FRIEND_POTTERY_SHERD(18221), + HEART_POTTERY_SHERD(17607), + HEARTBREAK_POTTERY_SHERD(21108), + HOWL_POTTERY_SHERD(24900), + MINER_POTTERY_SHERD(30602), + MOURNER_POTTERY_SHERD(23993), + PLENTY_POTTERY_SHERD(28236), + PRIZE_POTTERY_SHERD(4341), + SHEAF_POTTERY_SHERD(23652), + SHELTER_POTTERY_SHERD(28390), + SKULL_POTTERY_SHERD(16980), + SNORT_POTTERY_SHERD(15921), /** * BlockData: {@link Levelled} */ @@ -3132,8 +3047,6 @@ public enum Material implements Keyed, Translatable { /** * BlockData: {@link WallSign} */ - @MinecraftExperimental - @ApiStatus.Experimental CHERRY_WALL_SIGN(20188, 16, WallSign.class), /** * BlockData: {@link WallSign} @@ -3154,68 +3067,46 @@ public enum Material implements Keyed, Translatable { /** * BlockData: {@link WallHangingSign} */ - @MinecraftExperimental - @ApiStatus.Experimental OAK_WALL_HANGING_SIGN(15637, WallHangingSign.class), /** * BlockData: {@link WallHangingSign} */ - @MinecraftExperimental - @ApiStatus.Experimental SPRUCE_WALL_HANGING_SIGN(18833, WallHangingSign.class), /** * BlockData: {@link WallHangingSign} */ - @MinecraftExperimental - @ApiStatus.Experimental BIRCH_WALL_HANGING_SIGN(15937, WallHangingSign.class), /** * BlockData: {@link WallHangingSign} */ - @MinecraftExperimental - @ApiStatus.Experimental ACACIA_WALL_HANGING_SIGN(22477, WallHangingSign.class), /** * BlockData: {@link WallHangingSign} */ - @MinecraftExperimental - @ApiStatus.Experimental CHERRY_WALL_HANGING_SIGN(10953, WallHangingSign.class), /** * BlockData: {@link WallHangingSign} */ - @MinecraftExperimental - @ApiStatus.Experimental JUNGLE_WALL_HANGING_SIGN(16691, WallHangingSign.class), /** * BlockData: {@link WallHangingSign} */ - @MinecraftExperimental - @ApiStatus.Experimental DARK_OAK_WALL_HANGING_SIGN(14296, WallHangingSign.class), /** * BlockData: {@link WallHangingSign} */ - @MinecraftExperimental - @ApiStatus.Experimental MANGROVE_WALL_HANGING_SIGN(16974, WallHangingSign.class), /** * BlockData: {@link WallHangingSign} */ - @MinecraftExperimental - @ApiStatus.Experimental CRIMSON_WALL_HANGING_SIGN(28982, WallHangingSign.class), /** * BlockData: {@link WallHangingSign} */ - @MinecraftExperimental - @ApiStatus.Experimental WARPED_WALL_HANGING_SIGN(20605, WallHangingSign.class), /** * BlockData: {@link WallHangingSign} */ - @MinecraftExperimental - @ApiStatus.Experimental BAMBOO_WALL_HANGING_SIGN(6669, WallHangingSign.class), /** * BlockData: {@link RedstoneWallTorch} @@ -3263,16 +3154,12 @@ public enum Material implements Keyed, Translatable { * BlockData: {@link Tripwire} */ TRIPWIRE(8810, Tripwire.class), - @MinecraftExperimental - @ApiStatus.Experimental POTTED_TORCHFLOWER(21278), POTTED_OAK_SAPLING(11905), POTTED_SPRUCE_SAPLING(29498), POTTED_BIRCH_SAPLING(32484), POTTED_JUNGLE_SAPLING(7525), POTTED_ACACIA_SAPLING(14096), - @MinecraftExperimental - @ApiStatus.Experimental POTTED_CHERRY_SAPLING(30785), POTTED_DARK_OAK_SAPLING(6486), POTTED_MANGROVE_PROPAGULE(22003), @@ -3329,8 +3216,6 @@ public enum Material implements Keyed, Translatable { /** * BlockData: {@link Directional} */ - @MinecraftExperimental - @ApiStatus.Experimental PIGLIN_WALL_HEAD(4446, Directional.class), /** * BlockData: {@link Directional} @@ -3399,9 +3284,11 @@ public enum Material implements Keyed, Translatable { /** * BlockData: {@link Ageable} */ - @MinecraftExperimental - @ApiStatus.Experimental TORCHFLOWER_CROP(28460, Ageable.class), + /** + * BlockData: {@link PitcherCrop} + */ + PITCHER_CROP(15420, PitcherCrop.class), /** * BlockData: {@link Ageable} */ @@ -4830,6 +4717,7 @@ public enum Material implements Keyed, Translatable { case CACTUS: case CAKE: case CALCITE: + case CALIBRATED_SCULK_SENSOR: case CAMPFIRE: case CANDLE: case CANDLE_CAKE: @@ -5331,6 +5219,8 @@ public enum Material implements Keyed, Translatable { case PINK_WOOL: case PISTON: case PISTON_HEAD: + case PITCHER_CROP: + case PITCHER_PLANT: case PLAYER_HEAD: case PLAYER_WALL_HEAD: case PODZOL: @@ -5507,6 +5397,7 @@ public enum Material implements Keyed, Translatable { case SMOOTH_SANDSTONE_STAIRS: case SMOOTH_STONE: case SMOOTH_STONE_SLAB: + case SNIFFER_EGG: case SNOW: case SNOW_BLOCK: case SOUL_CAMPFIRE: @@ -5572,6 +5463,7 @@ public enum Material implements Keyed, Translatable { case STRUCTURE_VOID: case SUGAR_CANE: case SUNFLOWER: + case SUSPICIOUS_GRAVEL: case SUSPICIOUS_SAND: case SWEET_BERRY_BUSH: case TALL_GRASS: @@ -5878,6 +5770,7 @@ public enum Material implements Keyed, Translatable { case MUSIC_DISC_MELLOHI: case MUSIC_DISC_OTHERSIDE: case MUSIC_DISC_PIGSTEP: + case MUSIC_DISC_RELIC: case MUSIC_DISC_STAL: case MUSIC_DISC_STRAD: case MUSIC_DISC_WAIT: @@ -6020,6 +5913,7 @@ public enum Material implements Keyed, Translatable { case CACTUS: case CAKE: case CALCITE: + case CALIBRATED_SCULK_SENSOR: case CAMPFIRE: case CANDLE_CAKE: case CARTOGRAPHY_TABLE: @@ -6549,6 +6443,7 @@ public enum Material implements Keyed, Translatable { case SMOOTH_SANDSTONE_STAIRS: case SMOOTH_STONE: case SMOOTH_STONE_SLAB: + case SNIFFER_EGG: case SNOW_BLOCK: case SOUL_CAMPFIRE: case SOUL_LANTERN: @@ -6603,6 +6498,7 @@ public enum Material implements Keyed, Translatable { case STRIPPED_WARPED_HYPHAE: case STRIPPED_WARPED_STEM: case STRUCTURE_BLOCK: + case SUSPICIOUS_GRAVEL: case SUSPICIOUS_SAND: case TARGET: case TERRACOTTA: @@ -7161,6 +7057,7 @@ public enum Material implements Keyed, Translatable { case BIRCH_SLAB: case BIRCH_STAIRS: case BIRCH_TRAPDOOR: + case BIRCH_WALL_HANGING_SIGN: case BIRCH_WALL_SIGN: case BIRCH_WOOD: case BLACK_BANNER: @@ -7201,8 +7098,6 @@ public enum Material implements Keyed, Translatable { case CHISELED_BOOKSHELF: case COMPOSTER: case CRAFTING_TABLE: - case CRIMSON_HANGING_SIGN: - case CRIMSON_WALL_HANGING_SIGN: case CYAN_BANNER: case CYAN_BED: case CYAN_CARPET: @@ -7325,6 +7220,7 @@ public enum Material implements Keyed, Translatable { case PINK_CARPET: case PINK_WALL_BANNER: case PINK_WOOL: + case PITCHER_PLANT: case PURPLE_BANNER: case PURPLE_BED: case PURPLE_CARPET: @@ -7376,8 +7272,6 @@ public enum Material implements Keyed, Translatable { case TNT: case TRAPPED_CHEST: case VINE: - case WARPED_HANGING_SIGN: - case WARPED_WALL_HANGING_SIGN: case WHITE_BANNER: case WHITE_BED: case WHITE_CARPET: @@ -7587,6 +7481,7 @@ public enum Material implements Keyed, Translatable { case PINK_PETALS: case PINK_TULIP: case PINK_WOOL: + case PITCHER_PLANT: case POPPY: case PURPLE_CARPET: case PURPLE_WOOL: @@ -7627,6 +7522,7 @@ public enum Material implements Keyed, Translatable { case TALL_GRASS: case TARGET: case TNT: + case TORCHFLOWER: case VINE: case WHITE_CARPET: case WHITE_TULIP: @@ -8351,6 +8247,7 @@ public enum Material implements Keyed, Translatable { case STRIPPED_WARPED_HYPHAE: case STRIPPED_WARPED_STEM: case STRUCTURE_BLOCK: + case SUSPICIOUS_GRAVEL: case SUSPICIOUS_SAND: case TARGET: case TERRACOTTA: @@ -8620,6 +8517,7 @@ public enum Material implements Keyed, Translatable { case PINK_CANDLE_CAKE: case PINK_WALL_BANNER: case PISTON_HEAD: + case PITCHER_CROP: case PLAYER_WALL_HEAD: case POTATOES: case POTTED_ACACIA_SAPLING: @@ -9197,6 +9095,7 @@ public enum Material implements Keyed, Translatable { case YELLOW_BED: return 0.2F; case POWDER_SNOW: + case SUSPICIOUS_GRAVEL: case SUSPICIOUS_SAND: return 0.25F; case BEE_NEST: @@ -9317,6 +9216,7 @@ public enum Material implements Keyed, Translatable { case RED_SAND: case ROOTED_DIRT: case SAND: + case SNIFFER_EGG: case SOUL_SAND: case SOUL_SOIL: case SPRUCE_BUTTON: @@ -9545,6 +9445,7 @@ public enum Material implements Keyed, Translatable { case BRAIN_CORAL_BLOCK: case BUBBLE_CORAL_BLOCK: case BUDDING_AMETHYST: + case CALIBRATED_SCULK_SENSOR: case CHISELED_BOOKSHELF: case CHISELED_POLISHED_BLACKSTONE: case CHISELED_STONE_BRICKS: @@ -10072,6 +9973,7 @@ public enum Material implements Keyed, Translatable { case YELLOW_BED: return 0.2F; case POWDER_SNOW: + case SUSPICIOUS_GRAVEL: case SUSPICIOUS_SAND: return 0.25F; case BEE_NEST: @@ -10191,6 +10093,7 @@ public enum Material implements Keyed, Translatable { case RED_SAND: case ROOTED_DIRT: case SAND: + case SNIFFER_EGG: case SOUL_SAND: case SOUL_SOIL: case SPRUCE_BUTTON: @@ -10390,6 +10293,7 @@ public enum Material implements Keyed, Translatable { case AMETHYST_CLUSTER: case BOOKSHELF: case BUDDING_AMETHYST: + case CALIBRATED_SCULK_SENSOR: case CHISELED_BOOKSHELF: case LARGE_AMETHYST_BUD: case MEDIUM_AMETHYST_BUD: @@ -10946,7 +10850,6 @@ public enum Material implements Keyed, Translatable { case DRAGON_HEAD: case GOLDEN_HELMET: case IRON_HELMET: - case JACK_O_LANTERN: case LEATHER_HELMET: case NETHERITE_HELMET: case PLAYER_HEAD: diff --git a/src/main/java/org/bukkit/Particle.java b/src/main/java/org/bukkit/Particle.java index 7336edb9..73b782c3 100644 --- a/src/main/java/org/bukkit/Particle.java +++ b/src/main/java/org/bukkit/Particle.java @@ -4,7 +4,6 @@ import com.google.common.base.Preconditions; import org.bukkit.block.data.BlockData; import org.bukkit.inventory.ItemStack; import org.bukkit.material.MaterialData; -import org.jetbrains.annotations.ApiStatus; import org.jetbrains.annotations.NotNull; public enum Particle { @@ -124,15 +123,8 @@ public enum Particle { SCULK_CHARGE(Float.class), SCULK_CHARGE_POP, SHRIEK(Integer.class), - @MinecraftExperimental - @ApiStatus.Experimental - DRIPPING_CHERRY_LEAVES, - @MinecraftExperimental - @ApiStatus.Experimental - FALLING_CHERRY_LEAVES, - @MinecraftExperimental - @ApiStatus.Experimental - LANDING_CHERRY_LEAVES, + CHERRY_LEAVES, + EGG_CRACK, /** * Uses {@link BlockData} as DataType */ diff --git a/src/main/java/org/bukkit/Registry.java b/src/main/java/org/bukkit/Registry.java index bb333b90..6e5e5fec 100644 --- a/src/main/java/org/bukkit/Registry.java +++ b/src/main/java/org/bukkit/Registry.java @@ -157,7 +157,6 @@ public interface Registry extends Iterable { * * @see TrimMaterial */ - @MinecraftExperimental @ApiStatus.Experimental Registry TRIM_MATERIAL = Bukkit.getRegistry(TrimMaterial.class); /** @@ -165,7 +164,6 @@ public interface Registry extends Iterable { * * @see TrimPattern */ - @MinecraftExperimental @ApiStatus.Experimental Registry TRIM_PATTERN = Bukkit.getRegistry(TrimPattern.class); /** diff --git a/src/main/java/org/bukkit/Sound.java b/src/main/java/org/bukkit/Sound.java index 4dda5091..4cbc963f 100644 --- a/src/main/java/org/bukkit/Sound.java +++ b/src/main/java/org/bukkit/Sound.java @@ -1,6 +1,5 @@ package org.bukkit; -import org.jetbrains.annotations.ApiStatus; import org.jetbrains.annotations.NotNull; /** @@ -40,6 +39,7 @@ public enum Sound implements Keyed { BLOCK_AMETHYST_BLOCK_FALL("block.amethyst_block.fall"), BLOCK_AMETHYST_BLOCK_HIT("block.amethyst_block.hit"), BLOCK_AMETHYST_BLOCK_PLACE("block.amethyst_block.place"), + BLOCK_AMETHYST_BLOCK_RESONATE("block.amethyst_block.resonate"), BLOCK_AMETHYST_BLOCK_STEP("block.amethyst_block.step"), BLOCK_AMETHYST_CLUSTER_BREAK("block.amethyst_cluster.break"), BLOCK_AMETHYST_CLUSTER_FALL("block.amethyst_cluster.fall"), @@ -85,20 +85,10 @@ public enum Sound implements Keyed { BLOCK_BAMBOO_WOOD_FALL("block.bamboo_wood.fall"), BLOCK_BAMBOO_WOOD_FENCE_GATE_CLOSE("block.bamboo_wood_fence_gate.close"), BLOCK_BAMBOO_WOOD_FENCE_GATE_OPEN("block.bamboo_wood_fence_gate.open"), - @MinecraftExperimental - @ApiStatus.Experimental BLOCK_BAMBOO_WOOD_HANGING_SIGN_BREAK("block.bamboo_wood_hanging_sign.break"), - @MinecraftExperimental - @ApiStatus.Experimental BLOCK_BAMBOO_WOOD_HANGING_SIGN_FALL("block.bamboo_wood_hanging_sign.fall"), - @MinecraftExperimental - @ApiStatus.Experimental BLOCK_BAMBOO_WOOD_HANGING_SIGN_HIT("block.bamboo_wood_hanging_sign.hit"), - @MinecraftExperimental - @ApiStatus.Experimental BLOCK_BAMBOO_WOOD_HANGING_SIGN_PLACE("block.bamboo_wood_hanging_sign.place"), - @MinecraftExperimental - @ApiStatus.Experimental BLOCK_BAMBOO_WOOD_HANGING_SIGN_STEP("block.bamboo_wood_hanging_sign.step"), BLOCK_BAMBOO_WOOD_HIT("block.bamboo_wood.hit"), BLOCK_BAMBOO_WOOD_PLACE("block.bamboo_wood.place"), @@ -169,125 +159,47 @@ public enum Sound implements Keyed { BLOCK_CHAIN_HIT("block.chain.hit"), BLOCK_CHAIN_PLACE("block.chain.place"), BLOCK_CHAIN_STEP("block.chain.step"), - @MinecraftExperimental - @ApiStatus.Experimental BLOCK_CHERRY_LEAVES_BREAK("block.cherry_leaves.break"), - @MinecraftExperimental - @ApiStatus.Experimental BLOCK_CHERRY_LEAVES_FALL("block.cherry_leaves.fall"), - @MinecraftExperimental - @ApiStatus.Experimental BLOCK_CHERRY_LEAVES_HIT("block.cherry_leaves.hit"), - @MinecraftExperimental - @ApiStatus.Experimental BLOCK_CHERRY_LEAVES_PLACE("block.cherry_leaves.place"), - @MinecraftExperimental - @ApiStatus.Experimental BLOCK_CHERRY_LEAVES_STEP("block.cherry_leaves.step"), - @MinecraftExperimental - @ApiStatus.Experimental BLOCK_CHERRY_SAPLING_BREAK("block.cherry_sapling.break"), - @MinecraftExperimental - @ApiStatus.Experimental BLOCK_CHERRY_SAPLING_FALL("block.cherry_sapling.fall"), - @MinecraftExperimental - @ApiStatus.Experimental BLOCK_CHERRY_SAPLING_HIT("block.cherry_sapling.hit"), - @MinecraftExperimental - @ApiStatus.Experimental BLOCK_CHERRY_SAPLING_PLACE("block.cherry_sapling.place"), - @MinecraftExperimental - @ApiStatus.Experimental BLOCK_CHERRY_SAPLING_STEP("block.cherry_sapling.step"), - @MinecraftExperimental - @ApiStatus.Experimental BLOCK_CHERRY_WOOD_BREAK("block.cherry_wood.break"), - @MinecraftExperimental - @ApiStatus.Experimental BLOCK_CHERRY_WOOD_BUTTON_CLICK_OFF("block.cherry_wood_button.click_off"), - @MinecraftExperimental - @ApiStatus.Experimental BLOCK_CHERRY_WOOD_BUTTON_CLICK_ON("block.cherry_wood_button.click_on"), - @MinecraftExperimental - @ApiStatus.Experimental BLOCK_CHERRY_WOOD_DOOR_CLOSE("block.cherry_wood_door.close"), - @MinecraftExperimental - @ApiStatus.Experimental BLOCK_CHERRY_WOOD_DOOR_OPEN("block.cherry_wood_door.open"), - @MinecraftExperimental - @ApiStatus.Experimental BLOCK_CHERRY_WOOD_FALL("block.cherry_wood.fall"), - @MinecraftExperimental - @ApiStatus.Experimental BLOCK_CHERRY_WOOD_FENCE_GATE_CLOSE("block.cherry_wood_fence_gate.close"), - @MinecraftExperimental - @ApiStatus.Experimental BLOCK_CHERRY_WOOD_FENCE_GATE_OPEN("block.cherry_wood_fence_gate.open"), - @MinecraftExperimental - @ApiStatus.Experimental BLOCK_CHERRY_WOOD_HANGING_SIGN_BREAK("block.cherry_wood_hanging_sign.break"), - @MinecraftExperimental - @ApiStatus.Experimental BLOCK_CHERRY_WOOD_HANGING_SIGN_FALL("block.cherry_wood_hanging_sign.fall"), - @MinecraftExperimental - @ApiStatus.Experimental BLOCK_CHERRY_WOOD_HANGING_SIGN_HIT("block.cherry_wood_hanging_sign.hit"), - @MinecraftExperimental - @ApiStatus.Experimental BLOCK_CHERRY_WOOD_HANGING_SIGN_PLACE("block.cherry_wood_hanging_sign.place"), - @MinecraftExperimental - @ApiStatus.Experimental BLOCK_CHERRY_WOOD_HANGING_SIGN_STEP("block.cherry_wood_hanging_sign.step"), - @MinecraftExperimental - @ApiStatus.Experimental BLOCK_CHERRY_WOOD_HIT("block.cherry_wood.hit"), - @MinecraftExperimental - @ApiStatus.Experimental BLOCK_CHERRY_WOOD_PLACE("block.cherry_wood.place"), - @MinecraftExperimental - @ApiStatus.Experimental BLOCK_CHERRY_WOOD_PRESSURE_PLATE_CLICK_OFF("block.cherry_wood_pressure_plate.click_off"), - @MinecraftExperimental - @ApiStatus.Experimental BLOCK_CHERRY_WOOD_PRESSURE_PLATE_CLICK_ON("block.cherry_wood_pressure_plate.click_on"), - @MinecraftExperimental - @ApiStatus.Experimental BLOCK_CHERRY_WOOD_STEP("block.cherry_wood.step"), - @MinecraftExperimental - @ApiStatus.Experimental BLOCK_CHERRY_WOOD_TRAPDOOR_CLOSE("block.cherry_wood_trapdoor.close"), - @MinecraftExperimental - @ApiStatus.Experimental BLOCK_CHERRY_WOOD_TRAPDOOR_OPEN("block.cherry_wood_trapdoor.open"), BLOCK_CHEST_CLOSE("block.chest.close"), BLOCK_CHEST_LOCKED("block.chest.locked"), BLOCK_CHEST_OPEN("block.chest.open"), - @MinecraftExperimental - @ApiStatus.Experimental BLOCK_CHISELED_BOOKSHELF_BREAK("block.chiseled_bookshelf.break"), - @MinecraftExperimental - @ApiStatus.Experimental BLOCK_CHISELED_BOOKSHELF_FALL("block.chiseled_bookshelf.fall"), - @MinecraftExperimental - @ApiStatus.Experimental BLOCK_CHISELED_BOOKSHELF_HIT("block.chiseled_bookshelf.hit"), - @MinecraftExperimental - @ApiStatus.Experimental BLOCK_CHISELED_BOOKSHELF_INSERT("block.chiseled_bookshelf.insert"), - @MinecraftExperimental - @ApiStatus.Experimental BLOCK_CHISELED_BOOKSHELF_INSERT_ENCHANTED("block.chiseled_bookshelf.insert.enchanted"), - @MinecraftExperimental - @ApiStatus.Experimental BLOCK_CHISELED_BOOKSHELF_PICKUP("block.chiseled_bookshelf.pickup"), - @MinecraftExperimental - @ApiStatus.Experimental BLOCK_CHISELED_BOOKSHELF_PICKUP_ENCHANTED("block.chiseled_bookshelf.pickup.enchanted"), - @MinecraftExperimental - @ApiStatus.Experimental BLOCK_CHISELED_BOOKSHELF_PLACE("block.chiseled_bookshelf.place"), - @MinecraftExperimental - @ApiStatus.Experimental BLOCK_CHISELED_BOOKSHELF_STEP("block.chiseled_bookshelf.step"), BLOCK_CHORUS_FLOWER_DEATH("block.chorus_flower.death"), BLOCK_CHORUS_FLOWER_GROW("block.chorus_flower.grow"), @@ -312,23 +224,11 @@ public enum Sound implements Keyed { BLOCK_CORAL_BLOCK_PLACE("block.coral_block.place"), BLOCK_CORAL_BLOCK_STEP("block.coral_block.step"), BLOCK_CROP_BREAK("block.crop.break"), - @MinecraftExperimental - @ApiStatus.Experimental BLOCK_DECORATED_POT_BREAK("block.decorated_pot.break"), - @MinecraftExperimental - @ApiStatus.Experimental BLOCK_DECORATED_POT_FALL("block.decorated_pot.fall"), - @MinecraftExperimental - @ApiStatus.Experimental BLOCK_DECORATED_POT_HIT("block.decorated_pot.hit"), - @MinecraftExperimental - @ApiStatus.Experimental BLOCK_DECORATED_POT_PLACE("block.decorated_pot.place"), - @MinecraftExperimental - @ApiStatus.Experimental BLOCK_DECORATED_POT_SHATTER("block.decorated_pot.shatter"), - @MinecraftExperimental - @ApiStatus.Experimental BLOCK_DECORATED_POT_STEP("block.decorated_pot.step"), BLOCK_DEEPSLATE_BREAK("block.deepslate.break"), BLOCK_DEEPSLATE_BRICKS_BREAK("block.deepslate_bricks.break"), @@ -571,20 +471,10 @@ public enum Sound implements Keyed { BLOCK_PACKED_MUD_HIT("block.packed_mud.hit"), BLOCK_PACKED_MUD_PLACE("block.packed_mud.place"), BLOCK_PACKED_MUD_STEP("block.packed_mud.step"), - @MinecraftExperimental - @ApiStatus.Experimental BLOCK_PINK_PETALS_BREAK("block.pink_petals.break"), - @MinecraftExperimental - @ApiStatus.Experimental BLOCK_PINK_PETALS_FALL("block.pink_petals.fall"), - @MinecraftExperimental - @ApiStatus.Experimental BLOCK_PINK_PETALS_HIT("block.pink_petals.hit"), - @MinecraftExperimental - @ApiStatus.Experimental BLOCK_PINK_PETALS_PLACE("block.pink_petals.place"), - @MinecraftExperimental - @ApiStatus.Experimental BLOCK_PINK_PETALS_STEP("block.pink_petals.step"), BLOCK_PISTON_CONTRACT("block.piston.contract"), BLOCK_PISTON_EXTEND("block.piston.extend"), @@ -675,6 +565,7 @@ public enum Sound implements Keyed { BLOCK_SHROOMLIGHT_STEP("block.shroomlight.step"), BLOCK_SHULKER_BOX_CLOSE("block.shulker_box.close"), BLOCK_SHULKER_BOX_OPEN("block.shulker_box.open"), + BLOCK_SIGN_WAXED_INTERACT_FAIL("block.sign.waxed_interact_fail"), BLOCK_SLIME_BLOCK_BREAK("block.slime_block.break"), BLOCK_SLIME_BLOCK_FALL("block.slime_block.fall"), BLOCK_SLIME_BLOCK_HIT("block.slime_block.hit"), @@ -689,6 +580,9 @@ public enum Sound implements Keyed { BLOCK_SMALL_DRIPLEAF_STEP("block.small_dripleaf.step"), BLOCK_SMITHING_TABLE_USE("block.smithing_table.use"), BLOCK_SMOKER_SMOKE("block.smoker.smoke"), + BLOCK_SNIFFER_EGG_CRACK("block.sniffer_egg.crack"), + BLOCK_SNIFFER_EGG_HATCH("block.sniffer_egg.hatch"), + BLOCK_SNIFFER_EGG_PLOP("block.sniffer_egg.plop"), BLOCK_SNOW_BREAK("block.snow.break"), BLOCK_SNOW_FALL("block.snow.fall"), BLOCK_SNOW_HIT("block.snow.hit"), @@ -723,20 +617,15 @@ public enum Sound implements Keyed { BLOCK_STONE_PRESSURE_PLATE_CLICK_OFF("block.stone_pressure_plate.click_off"), BLOCK_STONE_PRESSURE_PLATE_CLICK_ON("block.stone_pressure_plate.click_on"), BLOCK_STONE_STEP("block.stone.step"), - @MinecraftExperimental - @ApiStatus.Experimental + BLOCK_SUSPICIOUS_GRAVEL_BREAK("block.suspicious_gravel.break"), + BLOCK_SUSPICIOUS_GRAVEL_FALL("block.suspicious_gravel.fall"), + BLOCK_SUSPICIOUS_GRAVEL_HIT("block.suspicious_gravel.hit"), + BLOCK_SUSPICIOUS_GRAVEL_PLACE("block.suspicious_gravel.place"), + BLOCK_SUSPICIOUS_GRAVEL_STEP("block.suspicious_gravel.step"), BLOCK_SUSPICIOUS_SAND_BREAK("block.suspicious_sand.break"), - @MinecraftExperimental - @ApiStatus.Experimental BLOCK_SUSPICIOUS_SAND_FALL("block.suspicious_sand.fall"), - @MinecraftExperimental - @ApiStatus.Experimental BLOCK_SUSPICIOUS_SAND_HIT("block.suspicious_sand.hit"), - @MinecraftExperimental - @ApiStatus.Experimental BLOCK_SUSPICIOUS_SAND_PLACE("block.suspicious_sand.place"), - @MinecraftExperimental - @ApiStatus.Experimental BLOCK_SUSPICIOUS_SAND_STEP("block.suspicious_sand.step"), BLOCK_SWEET_BERRY_BUSH_BREAK("block.sweet_berry_bush.break"), BLOCK_SWEET_BERRY_BUSH_PICK_BERRIES("block.sweet_berry_bush.pick_berries"), @@ -829,27 +718,16 @@ 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 ENTITY_CAMEL_AMBIENT("entity.camel.ambient"), - @MinecraftExperimental ENTITY_CAMEL_DASH("entity.camel.dash"), - @MinecraftExperimental ENTITY_CAMEL_DASH_READY("entity.camel.dash_ready"), - @MinecraftExperimental ENTITY_CAMEL_DEATH("entity.camel.death"), - @MinecraftExperimental ENTITY_CAMEL_EAT("entity.camel.eat"), - @MinecraftExperimental ENTITY_CAMEL_HURT("entity.camel.hurt"), - @MinecraftExperimental ENTITY_CAMEL_SADDLE("entity.camel.saddle"), - @MinecraftExperimental ENTITY_CAMEL_SIT("entity.camel.sit"), - @MinecraftExperimental ENTITY_CAMEL_STAND("entity.camel.stand"), - @MinecraftExperimental ENTITY_CAMEL_STEP("entity.camel.step"), - @MinecraftExperimental ENTITY_CAMEL_STEP_SAND("entity.camel.step_sand"), ENTITY_CAT_AMBIENT("entity.cat.ambient"), ENTITY_CAT_BEG_FOR_FOOD("entity.cat.beg_for_food"), @@ -1291,41 +1169,17 @@ public enum Sound implements Keyed { ENTITY_SLIME_JUMP_SMALL("entity.slime.jump_small"), ENTITY_SLIME_SQUISH("entity.slime.squish"), ENTITY_SLIME_SQUISH_SMALL("entity.slime.squish_small"), - @MinecraftExperimental - @ApiStatus.Experimental ENTITY_SNIFFER_DEATH("entity.sniffer.death"), - @MinecraftExperimental - @ApiStatus.Experimental ENTITY_SNIFFER_DIGGING("entity.sniffer.digging"), - @MinecraftExperimental - @ApiStatus.Experimental ENTITY_SNIFFER_DIGGING_STOP("entity.sniffer.digging_stop"), - @MinecraftExperimental - @ApiStatus.Experimental ENTITY_SNIFFER_DROP_SEED("entity.sniffer.drop_seed"), - @MinecraftExperimental - @ApiStatus.Experimental ENTITY_SNIFFER_EAT("entity.sniffer.eat"), - @MinecraftExperimental - @ApiStatus.Experimental ENTITY_SNIFFER_HAPPY("entity.sniffer.happy"), - @MinecraftExperimental - @ApiStatus.Experimental ENTITY_SNIFFER_HURT("entity.sniffer.hurt"), - @MinecraftExperimental - @ApiStatus.Experimental ENTITY_SNIFFER_IDLE("entity.sniffer.idle"), - @MinecraftExperimental - @ApiStatus.Experimental ENTITY_SNIFFER_SCENTING("entity.sniffer.scenting"), - @MinecraftExperimental - @ApiStatus.Experimental ENTITY_SNIFFER_SEARCHING("entity.sniffer.searching"), - @MinecraftExperimental - @ApiStatus.Experimental ENTITY_SNIFFER_SNIFFING("entity.sniffer.sniffing"), - @MinecraftExperimental - @ApiStatus.Experimental ENTITY_SNIFFER_STEP("entity.sniffer.step"), ENTITY_SNOWBALL_THROW("entity.snowball.throw"), ENTITY_SNOW_GOLEM_AMBIENT("entity.snow_golem.ambient"), @@ -1509,12 +1363,11 @@ public enum Sound implements Keyed { ITEM_BOTTLE_EMPTY("item.bottle.empty"), ITEM_BOTTLE_FILL("item.bottle.fill"), ITEM_BOTTLE_FILL_DRAGONBREATH("item.bottle.fill_dragonbreath"), - @MinecraftExperimental - @ApiStatus.Experimental - ITEM_BRUSH_BRUSHING("item.brush.brushing"), - @MinecraftExperimental - @ApiStatus.Experimental - ITEM_BRUSH_BRUSH_SAND_COMPLETED("item.brush.brush_sand_completed"), + ITEM_BRUSH_BRUSHING_GENERIC("item.brush.brushing.generic"), + ITEM_BRUSH_BRUSHING_GRAVEL("item.brush.brushing.gravel"), + ITEM_BRUSH_BRUSHING_GRAVEL_COMPLETE("item.brush.brushing.gravel.complete"), + ITEM_BRUSH_BRUSHING_SAND("item.brush.brushing.sand"), + ITEM_BRUSH_BRUSHING_SAND_COMPLETE("item.brush.brushing.sand.complete"), ITEM_BUCKET_EMPTY("item.bucket.empty"), ITEM_BUCKET_EMPTY_AXOLOTL("item.bucket.empty_axolotl"), ITEM_BUCKET_EMPTY_FISH("item.bucket.empty_fish"), @@ -1587,6 +1440,7 @@ public enum Sound implements Keyed { MUSIC_DISC_MELLOHI("music_disc.mellohi"), MUSIC_DISC_OTHERSIDE("music_disc.otherside"), MUSIC_DISC_PIGSTEP("music_disc.pigstep"), + MUSIC_DISC_RELIC("music_disc.relic"), MUSIC_DISC_STAL("music_disc.stal"), MUSIC_DISC_STRAD("music_disc.strad"), MUSIC_DISC_WAIT("music_disc.wait"), @@ -1600,19 +1454,23 @@ public enum Sound implements Keyed { MUSIC_NETHER_NETHER_WASTES("music.nether.nether_wastes"), MUSIC_NETHER_SOUL_SAND_VALLEY("music.nether.soul_sand_valley"), MUSIC_NETHER_WARPED_FOREST("music.nether.warped_forest"), - @MinecraftExperimental - @ApiStatus.Experimental + MUSIC_OVERWORLD_BADLANDS("music.overworld.badlands"), + MUSIC_OVERWORLD_BAMBOO_JUNGLE("music.overworld.bamboo_jungle"), MUSIC_OVERWORLD_CHERRY_GROVE("music.overworld.cherry_grove"), MUSIC_OVERWORLD_DEEP_DARK("music.overworld.deep_dark"), + MUSIC_OVERWORLD_DESERT("music.overworld.desert"), MUSIC_OVERWORLD_DRIPSTONE_CAVES("music.overworld.dripstone_caves"), + MUSIC_OVERWORLD_FLOWER_FOREST("music.overworld.flower_forest"), + MUSIC_OVERWORLD_FOREST("music.overworld.forest"), MUSIC_OVERWORLD_FROZEN_PEAKS("music.overworld.frozen_peaks"), MUSIC_OVERWORLD_GROVE("music.overworld.grove"), MUSIC_OVERWORLD_JAGGED_PEAKS("music.overworld.jagged_peaks"), - MUSIC_OVERWORLD_JUNGLE_AND_FOREST("music.overworld.jungle_and_forest"), + MUSIC_OVERWORLD_JUNGLE("music.overworld.jungle"), MUSIC_OVERWORLD_LUSH_CAVES("music.overworld.lush_caves"), MUSIC_OVERWORLD_MEADOW("music.overworld.meadow"), MUSIC_OVERWORLD_OLD_GROWTH_TAIGA("music.overworld.old_growth_taiga"), MUSIC_OVERWORLD_SNOWY_SLOPES("music.overworld.snowy_slopes"), + MUSIC_OVERWORLD_SPARSE_JUNGLE("music.overworld.sparse_jungle"), MUSIC_OVERWORLD_STONY_PEAKS("music.overworld.stony_peaks"), MUSIC_OVERWORLD_SWAMP("music.overworld.swamp"), MUSIC_UNDER_WATER("music.under_water"), diff --git a/src/main/java/org/bukkit/Tag.java b/src/main/java/org/bukkit/Tag.java index 2d252280..1504dca4 100644 --- a/src/main/java/org/bukkit/Tag.java +++ b/src/main/java/org/bukkit/Tag.java @@ -2,7 +2,6 @@ package org.bukkit; import java.util.Set; import org.bukkit.entity.EntityType; -import org.jetbrains.annotations.ApiStatus; import org.jetbrains.annotations.NotNull; /** @@ -37,6 +36,10 @@ public interface Tag extends Keyed { * Vanilla block tag representing all wooden buttons. */ Tag WOODEN_BUTTONS = Bukkit.getTag(REGISTRY_BLOCKS, NamespacedKey.minecraft("wooden_buttons"), Material.class); + /** + * Vanilla block tag representing all stone buttons. + */ + Tag STONE_BUTTONS = Bukkit.getTag(REGISTRY_BLOCKS, NamespacedKey.minecraft("stone_buttons"), Material.class); /** * Vanilla block tag representing all buttons (inherits from * {@link #WOODEN_BUTTONS}. @@ -119,8 +122,6 @@ public interface Tag extends Keyed { /** * Vanilla block tag representing all cherry log and bark variants. */ - @MinecraftExperimental - @ApiStatus.Experimental Tag CHERRY_LOGS = Bukkit.getTag(REGISTRY_BLOCKS, NamespacedKey.minecraft("cherry_logs"), Material.class); /** * Vanilla block tag representing all jungle log and bark variants. @@ -319,20 +320,14 @@ public interface Tag extends Keyed { /** * Vanilla block tag representing all ceiling signs. */ - @MinecraftExperimental - @ApiStatus.Experimental Tag CEILING_HANGING_SIGNS = Bukkit.getTag(REGISTRY_BLOCKS, NamespacedKey.minecraft("ceiling_hanging_signs"), Material.class); /** * Vanilla block tag representing all wall hanging signs. */ - @MinecraftExperimental - @ApiStatus.Experimental Tag WALL_HANGING_SIGNS = Bukkit.getTag(REGISTRY_BLOCKS, NamespacedKey.minecraft("wall_hanging_signs"), Material.class); /** * Vanilla block tag representing all hanging signs. */ - @MinecraftExperimental - @ApiStatus.Experimental Tag ALL_HANGING_SIGNS = Bukkit.getTag(REGISTRY_BLOCKS, NamespacedKey.minecraft("all_hanging_signs"), Material.class); /** * Vanilla block tag representing all signs, regardless of type. @@ -500,6 +495,10 @@ public interface Tag extends Keyed { * Vanilla block tag representing all blocks that play muffled step sounds. */ Tag INSIDE_STEP_SOUND_BLOCKS = Bukkit.getTag(REGISTRY_BLOCKS, NamespacedKey.minecraft("inside_step_sound_blocks"), Material.class); + /** + * Vanilla block tag representing all blocks that play combination step sounds. + */ + Tag COMBINATION_STEP_SOUND_BLOCKS = Bukkit.getTag(REGISTRY_BLOCKS, NamespacedKey.minecraft("combination_step_sound_blocks"), Material.class); /** * Vanilla block tag representing all blocks that block vibration signals. */ @@ -560,6 +559,10 @@ public interface Tag extends Keyed { * Vanilla block tag representing all blocks mineable with a shovel. */ Tag MINEABLE_SHOVEL = Bukkit.getTag(REGISTRY_BLOCKS, NamespacedKey.minecraft("mineable/shovel"), Material.class); + /** + * Vanilla block tag representing all blocks that can be efficiently mined with a sword. + */ + Tag SWORD_EFFICIENT = Bukkit.getTag(REGISTRY_BLOCKS, NamespacedKey.minecraft("sword_efficient"), Material.class); /** * Vanilla block tag representing all blocks which require a diamond tool. */ @@ -604,6 +607,10 @@ public interface Tag extends Keyed { * ancient cities. */ Tag ANCIENT_CITY_REPLACEABLE = Bukkit.getTag(REGISTRY_BLOCKS, NamespacedKey.minecraft("ancient_city_replaceable"), Material.class); + /** + * Vanilla block tag representing all blocks which resonate vibrations. + */ + Tag VIBRATION_RESONATORS = Bukkit.getTag(REGISTRY_BLOCKS, NamespacedKey.minecraft("vibration_resonators"), Material.class); /** * Vanilla block tag representing all blocks which animals will spawn on. */ @@ -629,11 +636,6 @@ public interface Tag extends Keyed { * on. */ Tag POLAR_BEARS_SPAWNABLE_ON_ALTERNATE = Bukkit.getTag(REGISTRY_BLOCKS, NamespacedKey.minecraft("polar_bears_spawnable_on_alternate"), Material.class); - /** - * @deprecated {@link #POLAR_BEARS_SPAWNABLE_ON_ALTERNATE} - */ - @Deprecated - Tag POLAR_BEARS_SPAWNABLE_ON_IN_FROZEN_OCEAN = POLAR_BEARS_SPAWNABLE_ON_ALTERNATE; /** * Vanilla block tag representing all blocks which rabbits will spawn on. */ @@ -654,10 +656,6 @@ public interface Tag extends Keyed { * Vanilla block tag representing all blocks which azaleas will grow on. */ Tag AZALEA_GROWS_ON = Bukkit.getTag(REGISTRY_BLOCKS, NamespacedKey.minecraft("azalea_grows_on"), Material.class); - /** - * Vanilla block tag representing all plant blocks which may be replaced. - */ - Tag REPLACEABLE_PLANTS = Bukkit.getTag(REGISTRY_BLOCKS, NamespacedKey.minecraft("replaceable_plants"), Material.class); /** * Vanilla block tag representing all blocks which may be converted to mud. */ @@ -681,6 +679,10 @@ public interface Tag extends Keyed { * Vanilla block tag representing all blocks which snap dropped goat horns. */ Tag SNAPS_GOAT_HORN = Bukkit.getTag(REGISTRY_BLOCKS, NamespacedKey.minecraft("snaps_goat_horn"), Material.class); + /** + * Vanilla block tag representing all blocks replaceable by growing trees. + */ + Tag REPLACEABLE_BY_TREES = Bukkit.getTag(REGISTRY_BLOCKS, NamespacedKey.minecraft("replaceable_by_trees"), Material.class); /** * Vanilla block tag representing blocks which snow cannot survive on. */ @@ -696,9 +698,31 @@ public interface Tag extends Keyed { /** * Vanilla block tag representing blocks which can be dug by sniffers. */ - @MinecraftExperimental - @ApiStatus.Experimental Tag SNIFFER_DIGGABLE_BLOCK = Bukkit.getTag(REGISTRY_BLOCKS, NamespacedKey.minecraft("sniffer_diggable_block"), Material.class); + /** + * Vanilla block tag representing all blocks which booster sniffer egg hatching. + */ + Tag SNIFFER_EGG_HATCH_BOOST = Bukkit.getTag(REGISTRY_BLOCKS, NamespacedKey.minecraft("sniffer_egg_hatch_boost"), Material.class); + /** + * Vanilla block tag representing all blocks which can be replaced by trail ruins. + */ + Tag TRAIL_RUINS_REPLACEABLE = Bukkit.getTag(REGISTRY_BLOCKS, NamespacedKey.minecraft("trail_ruins_replaceable"), Material.class); + /** + * Vanilla block tag representing all blocks which are replaceable. + */ + Tag REPLACEABLE = Bukkit.getTag(REGISTRY_BLOCKS, NamespacedKey.minecraft("replaceable"), Material.class); + /** + * Vanilla block tag representing all blocks which provide enchantment power. + */ + Tag ENCHANTMENT_POWER_PROVIDER = Bukkit.getTag(REGISTRY_BLOCKS, NamespacedKey.minecraft("enchantment_power_provider"), Material.class); + /** + * Vanilla block tag representing all blocks which transmit enchantment power. + */ + Tag ENCHANTMENT_POWER_TRANSMITTER = Bukkit.getTag(REGISTRY_BLOCKS, NamespacedKey.minecraft("enchantment_power_transmitter"), Material.class); + /** + * Vanilla block tag representing all blocks which do not destroy farmland when placed. + */ + Tag MAINTAINS_FARMLAND = Bukkit.getTag(REGISTRY_BLOCKS, NamespacedKey.minecraft("maintains_farmland"), Material.class); /** * Key for the built in item registry. */ @@ -787,39 +811,31 @@ public interface Tag extends Keyed { /** * Vanilla item tag representing all items which modify note block sounds when placed on top. */ - @MinecraftExperimental - @ApiStatus.Experimental Tag ITEMS_NOTE_BLOCK_TOP_INSTRUMENTS = Bukkit.getTag(REGISTRY_ITEMS, NamespacedKey.minecraft("noteblock_top_instruments"), Material.class); /** * Vanilla item tag representing all trimmable armor items. */ - @MinecraftExperimental - @ApiStatus.Experimental Tag ITEMS_TRIMMABLE_ARMOR = Bukkit.getTag(REGISTRY_ITEMS, NamespacedKey.minecraft("trimmable_armor"), Material.class); /** * Vanilla item tag representing all materials which can be used for trimming armor. */ - @MinecraftExperimental - @ApiStatus.Experimental Tag ITEMS_TRIM_MATERIALS = Bukkit.getTag(REGISTRY_ITEMS, NamespacedKey.minecraft("trim_materials"), Material.class); /** * Vanilla item tag representing all trimming templates. */ - @MinecraftExperimental - @ApiStatus.Experimental Tag ITEMS_TRIM_TEMPLATES = Bukkit.getTag(REGISTRY_ITEMS, NamespacedKey.minecraft("trim_templates"), Material.class); /** * Vanilla item tag representing all food for sniffers. */ - @MinecraftExperimental - @ApiStatus.Experimental Tag ITEMS_SNIFFER_FOOD = Bukkit.getTag(REGISTRY_ITEMS, NamespacedKey.minecraft("sniffer_food"), Material.class); /** - * Vanilla item tag representing all decorated pot shards. + * Vanilla item tag representing all decorated pot sherds. */ - @MinecraftExperimental - @ApiStatus.Experimental - Tag ITEMS_DECORATED_POT_SHARDS = Bukkit.getTag(REGISTRY_ITEMS, NamespacedKey.minecraft("decorated_pot_shards"), Material.class); + Tag ITEMS_DECORATED_POT_SHERDS = Bukkit.getTag(REGISTRY_ITEMS, NamespacedKey.minecraft("decorated_pot_sherds"), Material.class); + /** + * Vanilla item tag representing all decorated pot ingredients. + */ + Tag ITEMS_DECORATED_POT_INGREDIENTS = Bukkit.getTag(REGISTRY_ITEMS, NamespacedKey.minecraft("decorated_pot_ingredients"), Material.class); /** * Vanilla item tag representing all swords. */ @@ -845,11 +861,13 @@ public interface Tag extends Keyed { */ Tag ITEMS_TOOLS = Bukkit.getTag(REGISTRY_ITEMS, NamespacedKey.minecraft("tools"), Material.class); /** - * Vanilla item tag representing all item which break decorated pots. + * Vanilla item tag representing all items which break decorated pots. */ - @MinecraftExperimental - @ApiStatus.Experimental Tag ITEMS_BREAKS_DECORATED_POTS = Bukkit.getTag(REGISTRY_ITEMS, NamespacedKey.minecraft("breaks_decorated_pots"), Material.class); + /** + * Vanilla item tag representing all seeds planteable by villagers. + */ + Tag ITEMS_VILLAGER_PLANTABLE_SEEDS = Bukkit.getTag(REGISTRY_ITEMS, NamespacedKey.minecraft("villager_plantable_seeds"), Material.class); /** * Vanilla item tag representing all items that confer freeze immunity on * the wearer. diff --git a/src/main/java/org/bukkit/TreeType.java b/src/main/java/org/bukkit/TreeType.java index ec863899..d355c917 100644 --- a/src/main/java/org/bukkit/TreeType.java +++ b/src/main/java/org/bukkit/TreeType.java @@ -1,7 +1,5 @@ package org.bukkit; -import org.jetbrains.annotations.ApiStatus; - /** * Tree and organic structure types. */ @@ -98,7 +96,5 @@ public enum TreeType { /** * Cherry tree */ - @MinecraftExperimental - @ApiStatus.Experimental CHERRY, } diff --git a/src/main/java/org/bukkit/block/Biome.java b/src/main/java/org/bukkit/block/Biome.java index a5908d0a..d3087d60 100644 --- a/src/main/java/org/bukkit/block/Biome.java +++ b/src/main/java/org/bukkit/block/Biome.java @@ -2,9 +2,7 @@ package org.bukkit.block; import java.util.Locale; import org.bukkit.Keyed; -import org.bukkit.MinecraftExperimental; import org.bukkit.NamespacedKey; -import org.jetbrains.annotations.ApiStatus; import org.jetbrains.annotations.NotNull; /** @@ -74,8 +72,6 @@ public enum Biome implements Keyed { FROZEN_PEAKS, JAGGED_PEAKS, STONY_PEAKS, - @MinecraftExperimental - @ApiStatus.Experimental CHERRY_GROVE, /** * Represents a custom Biome diff --git a/src/main/java/org/bukkit/block/BrushableBlock.java b/src/main/java/org/bukkit/block/BrushableBlock.java new file mode 100644 index 00000000..4bd127b3 --- /dev/null +++ b/src/main/java/org/bukkit/block/BrushableBlock.java @@ -0,0 +1,28 @@ +package org.bukkit.block; + +import org.bukkit.inventory.ItemStack; +import org.bukkit.loot.Lootable; +import org.jetbrains.annotations.Nullable; + +/** + * Represents a captured state of suspicious sand or gravel. + */ +public interface BrushableBlock extends Lootable, TileState { + + /** + * Get the item which will be revealed when the sand is fully brushed away + * and uncovered. + * + * @return the item + */ + @Nullable + public ItemStack getItem(); + + /** + * Sets the item which will be revealed when the sand is fully brushed away + * and uncovered. + * + * @param item the item + */ + public void setItem(@Nullable ItemStack item); +} diff --git a/src/main/java/org/bukkit/block/CalibratedSculkSensor.java b/src/main/java/org/bukkit/block/CalibratedSculkSensor.java new file mode 100644 index 00000000..2581412f --- /dev/null +++ b/src/main/java/org/bukkit/block/CalibratedSculkSensor.java @@ -0,0 +1,7 @@ +package org.bukkit.block; + +/** + * Represents a captured state of a calibrated sculk sensor + */ +public interface CalibratedSculkSensor extends SculkSensor { +} diff --git a/src/main/java/org/bukkit/block/ChiseledBookshelf.java b/src/main/java/org/bukkit/block/ChiseledBookshelf.java index be3b055a..4cae298f 100644 --- a/src/main/java/org/bukkit/block/ChiseledBookshelf.java +++ b/src/main/java/org/bukkit/block/ChiseledBookshelf.java @@ -1,16 +1,12 @@ package org.bukkit.block; -import org.bukkit.MinecraftExperimental; import org.bukkit.inventory.BlockInventoryHolder; import org.bukkit.inventory.ChiseledBookshelfInventory; -import org.jetbrains.annotations.ApiStatus; import org.jetbrains.annotations.NotNull; /** * Represents a captured state of a chiseled bookshelf. */ -@MinecraftExperimental -@ApiStatus.Experimental public interface ChiseledBookshelf extends TileState, BlockInventoryHolder { /** diff --git a/src/main/java/org/bukkit/block/DecoratedPot.java b/src/main/java/org/bukkit/block/DecoratedPot.java index 5ff77353..210f4be5 100644 --- a/src/main/java/org/bukkit/block/DecoratedPot.java +++ b/src/main/java/org/bukkit/block/DecoratedPot.java @@ -2,15 +2,12 @@ package org.bukkit.block; import java.util.List; import org.bukkit.Material; -import org.bukkit.MinecraftExperimental; import org.jetbrains.annotations.ApiStatus; import org.jetbrains.annotations.NotNull; -import org.jetbrains.annotations.Nullable; /** * Represents a captured state of a decorated pot. */ -@MinecraftExperimental @ApiStatus.Experimental public interface DecoratedPot extends TileState { @@ -21,18 +18,4 @@ public interface DecoratedPot extends TileState { */ @NotNull public List getShards(); - - /** - * Add a shard item which will be dropped when this pot is broken. - * - * @param material shard item - */ - public void addShard(@NotNull Material material); - - /** - * Set the shards which will be dropped when this pot is broken. - * - * @param shard list of items - */ - public void setShards(@Nullable List shard); } diff --git a/src/main/java/org/bukkit/block/HangingSign.java b/src/main/java/org/bukkit/block/HangingSign.java index a82a5bb1..9bef6c65 100644 --- a/src/main/java/org/bukkit/block/HangingSign.java +++ b/src/main/java/org/bukkit/block/HangingSign.java @@ -1,12 +1,7 @@ package org.bukkit.block; -import org.bukkit.MinecraftExperimental; -import org.jetbrains.annotations.ApiStatus; - /** * Represents a captured state of a hanging sign. */ -@MinecraftExperimental -@ApiStatus.Experimental public interface HangingSign extends Sign { } diff --git a/src/main/java/org/bukkit/block/Sign.java b/src/main/java/org/bukkit/block/Sign.java index 1844b713..80f6b718 100644 --- a/src/main/java/org/bukkit/block/Sign.java +++ b/src/main/java/org/bukkit/block/Sign.java @@ -4,7 +4,6 @@ import org.bukkit.DyeColor; import org.bukkit.block.sign.Side; import org.bukkit.block.sign.SignSide; import org.bukkit.material.Colorable; -import org.jetbrains.annotations.ApiStatus.Experimental; import org.jetbrains.annotations.NotNull; /** @@ -16,8 +15,9 @@ public interface Sign extends TileState, Colorable { * Gets all the lines of text currently on the {@link Side#FRONT} of this sign. * * @return Array of Strings containing each line of text - * @see #getSide(Side) + * @deprecated A sign may have multiple writable sides now. Use {@link Sign#getSide(Side)} and {@link SignSide#getLines()}. */ + @Deprecated @NotNull public String[] getLines(); @@ -29,8 +29,9 @@ public interface Sign extends TileState, Colorable { * @param index Line number to get the text from, starting at 0 * @return Text on the given line * @throws IndexOutOfBoundsException Thrown when the line does not exist - * @see #getSide(Side) + * @deprecated A sign may have multiple writable sides now. Use {@link #getSide(Side)} and {@link SignSide#getLine(int)}. */ + @Deprecated @NotNull public String getLine(int index) throws IndexOutOfBoundsException; @@ -43,8 +44,9 @@ public interface Sign extends TileState, Colorable { * @param index Line number to set the text at, starting from 0 * @param line New text to set at the specified index * @throws IndexOutOfBoundsException If the index is out of the range 0..3 - * @see #getSide(Side) + * @deprecated A sign may have multiple writable sides now. Use {@link #getSide(Side)} and {@link SignSide#setLine(int, String)}. */ + @Deprecated public void setLine(int index, @NotNull String line) throws IndexOutOfBoundsException; /** @@ -73,31 +75,37 @@ public interface Sign extends TileState, Colorable { * Gets whether this sign has glowing text. Only affects the {@link Side#FRONT}. * * @return if this sign has glowing text - * @see #getSide(Side) + * @deprecated A sign may have multiple writable sides now. Use {@link #getSide(Side)} and {@link SignSide#isGlowingText()}. */ + @Deprecated public boolean isGlowingText(); /** * Sets whether this sign has glowing text. Only affects the {@link Side#FRONT}. * * @param glowing if this sign has glowing text - * @see #getSide(Side) + * @deprecated A sign may have multiple writable sides now. Use {@link #getSide(Side)} and {@link SignSide#setGlowingText(boolean)}. */ + @Deprecated public void setGlowingText(boolean glowing); /** * {@inheritDoc} * - * @see #getSide(Side) + * @deprecated A sign may have multiple writable sides now. Use {@link #getSide(Side)} and {@link SignSide#getColor()}. */ @NotNull + @Override + @Deprecated public DyeColor getColor(); /** * {@inheritDoc} * - * @see #getSide(Side) + * @deprecated A sign may have multiple writable sides now. Use {@link #getSide(Side)} and {@link SignSide#setColor(org.bukkit.DyeColor)}. */ + @Override + @Deprecated public void setColor(@NotNull DyeColor color); /** @@ -106,7 +114,6 @@ public interface Sign extends TileState, Colorable { * @param side the side of the sign * @return the selected side of the sign */ - @Experimental @NotNull public SignSide getSide(@NotNull Side side); } diff --git a/src/main/java/org/bukkit/block/Skull.java b/src/main/java/org/bukkit/block/Skull.java index fab2ca9f..b39128bb 100644 --- a/src/main/java/org/bukkit/block/Skull.java +++ b/src/main/java/org/bukkit/block/Skull.java @@ -1,13 +1,11 @@ package org.bukkit.block; import org.bukkit.Material; -import org.bukkit.MinecraftExperimental; import org.bukkit.NamespacedKey; import org.bukkit.OfflinePlayer; import org.bukkit.SkullType; import org.bukkit.block.data.BlockData; import org.bukkit.profile.PlayerProfile; -import org.jetbrains.annotations.ApiStatus; import org.jetbrains.annotations.Contract; import org.jetbrains.annotations.NotNull; import org.jetbrains.annotations.Nullable; @@ -96,8 +94,6 @@ public interface Skull extends TileState { * * @return the key of the sound, or null */ - @MinecraftExperimental - @ApiStatus.Experimental @Nullable public NamespacedKey getNoteBlockSound(); @@ -110,8 +106,6 @@ public interface Skull extends TileState { * @param noteBlockSound the key of the sound to be played, or null * */ - @MinecraftExperimental - @ApiStatus.Experimental public void setNoteBlockSound(@Nullable NamespacedKey noteBlockSound); /** diff --git a/src/main/java/org/bukkit/block/SuspiciousSand.java b/src/main/java/org/bukkit/block/SuspiciousSand.java index 73a68418..a7c4e4ba 100644 --- a/src/main/java/org/bukkit/block/SuspiciousSand.java +++ b/src/main/java/org/bukkit/block/SuspiciousSand.java @@ -1,32 +1,10 @@ package org.bukkit.block; -import org.bukkit.MinecraftExperimental; -import org.bukkit.inventory.ItemStack; -import org.bukkit.loot.Lootable; -import org.jetbrains.annotations.ApiStatus; -import org.jetbrains.annotations.Nullable; - /** * Represents a captured state of suspicious sand. + * + * @see BrushableBlock */ -@MinecraftExperimental -@ApiStatus.Experimental -public interface SuspiciousSand extends Lootable, TileState { - - /** - * Get the item which will be revealed when the sand is fully brushed away - * and uncovered. - * - * @return the item - */ - @Nullable - public ItemStack getItem(); - - /** - * Sets the item which will be revealed when the sand is fully brushed away - * and uncovered. - * - * @param item the item - */ - public void setItem(@Nullable ItemStack item); +@Deprecated +public interface SuspiciousSand extends BrushableBlock { } diff --git a/src/main/java/org/bukkit/block/data/type/SuspiciousSand.java b/src/main/java/org/bukkit/block/data/Brushable.java similarity index 66% rename from src/main/java/org/bukkit/block/data/type/SuspiciousSand.java rename to src/main/java/org/bukkit/block/data/Brushable.java index 9a3bf5cc..4755b4f6 100644 --- a/src/main/java/org/bukkit/block/data/type/SuspiciousSand.java +++ b/src/main/java/org/bukkit/block/data/Brushable.java @@ -1,15 +1,9 @@ -package org.bukkit.block.data.type; - -import org.bukkit.MinecraftExperimental; -import org.bukkit.block.data.BlockData; -import org.jetbrains.annotations.ApiStatus; +package org.bukkit.block.data; /** * 'dusted' represents how far uncovered by brush the block is. */ -@MinecraftExperimental -@ApiStatus.Experimental -public interface SuspiciousSand extends BlockData { +public interface Brushable extends BlockData { /** * Gets the value of the 'dusted' property. diff --git a/src/main/java/org/bukkit/block/data/Hatchable.java b/src/main/java/org/bukkit/block/data/Hatchable.java new file mode 100644 index 00000000..7bae4b1d --- /dev/null +++ b/src/main/java/org/bukkit/block/data/Hatchable.java @@ -0,0 +1,28 @@ +package org.bukkit.block.data; + +/** + * 'hatch' is the number of entities which may hatch from these eggs. + */ +public interface Hatchable extends BlockData { + + /** + * Gets the value of the 'hatch' property. + * + * @return the 'hatch' value + */ + int getHatch(); + + /** + * Sets the value of the 'hatch' property. + * + * @param hatch the new 'hatch' value + */ + void setHatch(int hatch); + + /** + * Gets the maximum allowed value of the 'hatch' property. + * + * @return the maximum 'hatch' value + */ + int getMaximumHatch(); +} diff --git a/src/main/java/org/bukkit/block/data/type/CalibratedSculkSensor.java b/src/main/java/org/bukkit/block/data/type/CalibratedSculkSensor.java new file mode 100644 index 00000000..ccde95be --- /dev/null +++ b/src/main/java/org/bukkit/block/data/type/CalibratedSculkSensor.java @@ -0,0 +1,5 @@ +package org.bukkit.block.data.type; + +import org.bukkit.block.data.Directional; + +public interface CalibratedSculkSensor extends Directional, SculkSensor { } diff --git a/src/main/java/org/bukkit/block/data/type/ChiseledBookshelf.java b/src/main/java/org/bukkit/block/data/type/ChiseledBookshelf.java index 66365eba..a172e22c 100644 --- a/src/main/java/org/bukkit/block/data/type/ChiseledBookshelf.java +++ b/src/main/java/org/bukkit/block/data/type/ChiseledBookshelf.java @@ -1,9 +1,7 @@ package org.bukkit.block.data.type; import java.util.Set; -import org.bukkit.MinecraftExperimental; import org.bukkit.block.data.Directional; -import org.jetbrains.annotations.ApiStatus; import org.jetbrains.annotations.NotNull; /** @@ -13,8 +11,6 @@ import org.jetbrains.annotations.NotNull; *
* Block may have 0, 1... {@link #getMaximumOccupiedSlots()}-1 occupied slots. */ -@MinecraftExperimental -@ApiStatus.Experimental public interface ChiseledBookshelf extends Directional { /** diff --git a/src/main/java/org/bukkit/block/data/type/DecoratedPot.java b/src/main/java/org/bukkit/block/data/type/DecoratedPot.java index dad5c3f2..eb0ffa97 100644 --- a/src/main/java/org/bukkit/block/data/type/DecoratedPot.java +++ b/src/main/java/org/bukkit/block/data/type/DecoratedPot.java @@ -1,11 +1,7 @@ package org.bukkit.block.data.type; -import org.bukkit.MinecraftExperimental; import org.bukkit.block.data.Directional; import org.bukkit.block.data.Waterlogged; -import org.jetbrains.annotations.ApiStatus; -@MinecraftExperimental -@ApiStatus.Experimental public interface DecoratedPot extends Directional, Waterlogged { } diff --git a/src/main/java/org/bukkit/block/data/type/HangingSign.java b/src/main/java/org/bukkit/block/data/type/HangingSign.java index a65123a7..c5a0c147 100644 --- a/src/main/java/org/bukkit/block/data/type/HangingSign.java +++ b/src/main/java/org/bukkit/block/data/type/HangingSign.java @@ -1,12 +1,8 @@ package org.bukkit.block.data.type; -import org.bukkit.MinecraftExperimental; import org.bukkit.block.data.Attachable; import org.bukkit.block.data.Rotatable; import org.bukkit.block.data.Waterlogged; -import org.jetbrains.annotations.ApiStatus; -@MinecraftExperimental -@ApiStatus.Experimental public interface HangingSign extends Attachable, Rotatable, Waterlogged { } diff --git a/src/main/java/org/bukkit/block/data/type/PinkPetals.java b/src/main/java/org/bukkit/block/data/type/PinkPetals.java index 0d421d15..a84b36f7 100644 --- a/src/main/java/org/bukkit/block/data/type/PinkPetals.java +++ b/src/main/java/org/bukkit/block/data/type/PinkPetals.java @@ -1,14 +1,10 @@ package org.bukkit.block.data.type; -import org.bukkit.MinecraftExperimental; import org.bukkit.block.data.Directional; -import org.jetbrains.annotations.ApiStatus; /** * 'flower_amount' represents the number of petals. */ -@MinecraftExperimental -@ApiStatus.Experimental public interface PinkPetals extends Directional { /** diff --git a/src/main/java/org/bukkit/block/data/type/PitcherCrop.java b/src/main/java/org/bukkit/block/data/type/PitcherCrop.java new file mode 100644 index 00000000..8c2da21d --- /dev/null +++ b/src/main/java/org/bukkit/block/data/type/PitcherCrop.java @@ -0,0 +1,7 @@ +package org.bukkit.block.data.type; + +import org.bukkit.block.data.Ageable; +import org.bukkit.block.data.Bisected; + +public interface PitcherCrop extends Ageable, Bisected { +} diff --git a/src/main/java/org/bukkit/block/data/type/TurtleEgg.java b/src/main/java/org/bukkit/block/data/type/TurtleEgg.java index a88fad4a..0a187365 100644 --- a/src/main/java/org/bukkit/block/data/type/TurtleEgg.java +++ b/src/main/java/org/bukkit/block/data/type/TurtleEgg.java @@ -1,13 +1,11 @@ package org.bukkit.block.data.type; -import org.bukkit.block.data.BlockData; +import org.bukkit.block.data.Hatchable; /** - * 'hatch' is the number of turtles which may hatch from these eggs. - *
* 'eggs' is the number of eggs which appear in this block. */ -public interface TurtleEgg extends BlockData { +public interface TurtleEgg extends Hatchable { /** * Gets the value of the 'eggs' property. @@ -36,25 +34,4 @@ public interface TurtleEgg extends BlockData { * @return the maximum 'eggs' value */ int getMaximumEggs(); - - /** - * Gets the value of the 'hatch' property. - * - * @return the 'hatch' value - */ - int getHatch(); - - /** - * Sets the value of the 'hatch' property. - * - * @param hatch the new 'hatch' value - */ - void setHatch(int hatch); - - /** - * Gets the maximum allowed value of the 'hatch' property. - * - * @return the maximum 'hatch' value - */ - int getMaximumHatch(); } diff --git a/src/main/java/org/bukkit/block/data/type/WallHangingSign.java b/src/main/java/org/bukkit/block/data/type/WallHangingSign.java index 13bf2235..283b2102 100644 --- a/src/main/java/org/bukkit/block/data/type/WallHangingSign.java +++ b/src/main/java/org/bukkit/block/data/type/WallHangingSign.java @@ -1,11 +1,7 @@ package org.bukkit.block.data.type; -import org.bukkit.MinecraftExperimental; import org.bukkit.block.data.Directional; import org.bukkit.block.data.Waterlogged; -import org.jetbrains.annotations.ApiStatus; -@MinecraftExperimental -@ApiStatus.Experimental public interface WallHangingSign extends Directional, Waterlogged { } diff --git a/src/main/java/org/bukkit/block/sign/Side.java b/src/main/java/org/bukkit/block/sign/Side.java index 5abe260f..7774c313 100644 --- a/src/main/java/org/bukkit/block/sign/Side.java +++ b/src/main/java/org/bukkit/block/sign/Side.java @@ -6,4 +6,5 @@ package org.bukkit.block.sign; public enum Side { FRONT, + BACK; } diff --git a/src/main/java/org/bukkit/block/sign/SignSide.java b/src/main/java/org/bukkit/block/sign/SignSide.java index 85be6cfa..0f4ae7bd 100644 --- a/src/main/java/org/bukkit/block/sign/SignSide.java +++ b/src/main/java/org/bukkit/block/sign/SignSide.java @@ -1,13 +1,11 @@ package org.bukkit.block.sign; import org.bukkit.material.Colorable; -import org.jetbrains.annotations.ApiStatus.Experimental; import org.jetbrains.annotations.NotNull; /** * Represents a side of a sign. */ -@Experimental public interface SignSide extends Colorable { /** diff --git a/src/main/java/org/bukkit/enchantments/EnchantmentTarget.java b/src/main/java/org/bukkit/enchantments/EnchantmentTarget.java index bea786a8..455ff52d 100644 --- a/src/main/java/org/bukkit/enchantments/EnchantmentTarget.java +++ b/src/main/java/org/bukkit/enchantments/EnchantmentTarget.java @@ -188,7 +188,6 @@ public enum EnchantmentTarget { return ARMOR.includes(item) || item.equals(Material.ELYTRA) || item.equals(Material.CARVED_PUMPKIN) - || item.equals(Material.JACK_O_LANTERN) || item.equals(Material.SKELETON_SKULL) || item.equals(Material.WITHER_SKELETON_SKULL) || item.equals(Material.ZOMBIE_HEAD) diff --git a/src/main/java/org/bukkit/entity/Boat.java b/src/main/java/org/bukkit/entity/Boat.java index 08e54aac..88852215 100644 --- a/src/main/java/org/bukkit/entity/Boat.java +++ b/src/main/java/org/bukkit/entity/Boat.java @@ -1,9 +1,7 @@ package org.bukkit.entity; import org.bukkit.Material; -import org.bukkit.MinecraftExperimental; import org.bukkit.TreeSpecies; -import org.jetbrains.annotations.ApiStatus; import org.jetbrains.annotations.NotNull; /** @@ -143,13 +141,9 @@ public interface Boat extends Vehicle { BIRCH(Material.BIRCH_PLANKS), JUNGLE(Material.JUNGLE_PLANKS), ACACIA(Material.ACACIA_PLANKS), - @MinecraftExperimental - @ApiStatus.Experimental CHERRY(Material.CHERRY_PLANKS), DARK_OAK(Material.DARK_OAK_PLANKS), MANGROVE(Material.MANGROVE_PLANKS), - @MinecraftExperimental - @ApiStatus.Experimental BAMBOO(Material.BAMBOO_PLANKS), ; diff --git a/src/main/java/org/bukkit/entity/Camel.java b/src/main/java/org/bukkit/entity/Camel.java index dfa2d666..17e4e0a8 100644 --- a/src/main/java/org/bukkit/entity/Camel.java +++ b/src/main/java/org/bukkit/entity/Camel.java @@ -1,16 +1,8 @@ package org.bukkit.entity; -import org.bukkit.MinecraftExperimental; -import org.jetbrains.annotations.ApiStatus; - /** * Represents a Camel. - * - * @apiNote This entity is part of an experimental feature of Minecraft and - * hence subject to change. */ -@MinecraftExperimental -@ApiStatus.Experimental public interface Camel extends AbstractHorse, Sittable { /** diff --git a/src/main/java/org/bukkit/entity/EntityType.java b/src/main/java/org/bukkit/entity/EntityType.java index 16f1ed5b..bb9ae818 100644 --- a/src/main/java/org/bukkit/entity/EntityType.java +++ b/src/main/java/org/bukkit/entity/EntityType.java @@ -6,7 +6,6 @@ import java.util.Map; import org.bukkit.Bukkit; import org.bukkit.Keyed; import org.bukkit.Location; -import org.bukkit.MinecraftExperimental; import org.bukkit.NamespacedKey; import org.bukkit.Translatable; import org.bukkit.World; @@ -19,7 +18,6 @@ import org.bukkit.entity.minecart.SpawnerMinecart; import org.bukkit.entity.minecart.StorageMinecart; import org.bukkit.inventory.ItemStack; import org.bukkit.potion.PotionEffectType; -import org.jetbrains.annotations.ApiStatus; import org.jetbrains.annotations.Contract; import org.jetbrains.annotations.NotNull; import org.jetbrains.annotations.Nullable; @@ -280,14 +278,10 @@ public enum EntityType implements Keyed, Translatable { FROG("frog", Frog.class, -1), TADPOLE("tadpole", Tadpole.class, -1), WARDEN("warden", Warden.class, -1), - @MinecraftExperimental - @ApiStatus.Experimental CAMEL("camel", Camel.class, -1), BLOCK_DISPLAY("block_display", BlockDisplay.class, -1), INTERACTION("interaction", Interaction.class, -1), ITEM_DISPLAY("item_display", ItemDisplay.class, -1), - @MinecraftExperimental - @ApiStatus.Experimental SNIFFER("sniffer", Sniffer.class, -1), TEXT_DISPLAY("text_display", TextDisplay.class, -1), /** diff --git a/src/main/java/org/bukkit/entity/Player.java b/src/main/java/org/bukkit/entity/Player.java index b768b066..c7dff73c 100644 --- a/src/main/java/org/bukkit/entity/Player.java +++ b/src/main/java/org/bukkit/entity/Player.java @@ -522,6 +522,26 @@ public interface Player extends HumanEntity, Conversable, OfflinePlayer, PluginM */ public void sendBlockChange(@NotNull Location loc, @NotNull BlockData block); + /** + * Send a multi-block change. This fakes a block change packet for a user + * at multiple locations. This will not actually change the world in any + * way. + *

+ * This method may send multiple packets to the client depending on the + * blocks in the collection. A packet must be sent for each chunk section + * modified, meaning one packet for each 16x16x16 block area. Even if only + * one block is changed in two different chunk sections, two packets will + * be sent. + *

+ * Additionally, this method cannot guarantee the functionality of changes + * being sent to the player in chunks not loaded by the client. It is the + * responsibility of the caller to ensure that the client is within range + * of the changed blocks or to handle any side effects caused as a result. + * + * @param blocks the block states to send to the player + */ + public void sendBlockChanges(@NotNull Collection blocks); + /** * Send a multi-block change. This fakes a block change packet for a user * at multiple locations. This will not actually change the world in any @@ -541,7 +561,10 @@ public interface Player extends HumanEntity, Conversable, OfflinePlayer, PluginM * @param blocks the block states to send to the player * @param suppressLightUpdates whether or not light updates should be * suppressed when updating the blocks on the client + * @deprecated suppressLightUpdates is not functional in versions greater + * than 1.19.4 */ + @Deprecated public void sendBlockChanges(@NotNull Collection blocks, boolean suppressLightUpdates); /** diff --git a/src/main/java/org/bukkit/entity/Sniffer.java b/src/main/java/org/bukkit/entity/Sniffer.java index e9a8c2c9..af5110b4 100644 --- a/src/main/java/org/bukkit/entity/Sniffer.java +++ b/src/main/java/org/bukkit/entity/Sniffer.java @@ -2,19 +2,12 @@ package org.bukkit.entity; import java.util.Collection; import org.bukkit.Location; -import org.bukkit.MinecraftExperimental; -import org.jetbrains.annotations.ApiStatus; import org.jetbrains.annotations.NotNull; import org.jetbrains.annotations.Nullable; /** * Represents a Sniffer. - * - * @apiNote This entity is part of an experimental feature of Minecraft and - * hence subject to change. */ -@MinecraftExperimental -@ApiStatus.Experimental public interface Sniffer extends Animals { /** diff --git a/src/main/java/org/bukkit/entity/memory/MemoryKey.java b/src/main/java/org/bukkit/entity/memory/MemoryKey.java index f1c184ed..8f601e85 100644 --- a/src/main/java/org/bukkit/entity/memory/MemoryKey.java +++ b/src/main/java/org/bukkit/entity/memory/MemoryKey.java @@ -7,9 +7,7 @@ import java.util.Set; import java.util.UUID; import org.bukkit.Keyed; import org.bukkit.Location; -import org.bukkit.MinecraftExperimental; import org.bukkit.NamespacedKey; -import org.jetbrains.annotations.ApiStatus; import org.jetbrains.annotations.NotNull; import org.jetbrains.annotations.Nullable; @@ -71,8 +69,6 @@ public final class MemoryKey implements Keyed { public static final MemoryKey LIKED_NOTEBLOCK_POSITION = new MemoryKey<>(NamespacedKey.minecraft("liked_noteblock"), Location.class); public static final MemoryKey LIKED_NOTEBLOCK_COOLDOWN_TICKS = new MemoryKey<>(NamespacedKey.minecraft("liked_noteblock_cooldown_ticks"), Integer.class); public static final MemoryKey ITEM_PICKUP_COOLDOWN_TICKS = new MemoryKey<>(NamespacedKey.minecraft("item_pickup_cooldown_ticks"), Integer.class); - @MinecraftExperimental - @ApiStatus.Experimental public static final MemoryKey SNIFFER_EXPLORED_POSITIONS = new MemoryKey<>(NamespacedKey.minecraft("sniffer_explored_positions"), Location.class); /** diff --git a/src/main/java/org/bukkit/generator/structure/Structure.java b/src/main/java/org/bukkit/generator/structure/Structure.java index ff7708a3..ca310cfe 100644 --- a/src/main/java/org/bukkit/generator/structure/Structure.java +++ b/src/main/java/org/bukkit/generator/structure/Structure.java @@ -46,6 +46,7 @@ public abstract class Structure implements Keyed { public static final Structure RUINED_PORTAL_OCEAN = getStructure("ruined_portal_ocean"); 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"); private static Structure getStructure(String name) { return Registry.STRUCTURE.get(NamespacedKey.minecraft(name)); diff --git a/src/main/java/org/bukkit/inventory/ChiseledBookshelfInventory.java b/src/main/java/org/bukkit/inventory/ChiseledBookshelfInventory.java index e7e3e85f..b99f2607 100644 --- a/src/main/java/org/bukkit/inventory/ChiseledBookshelfInventory.java +++ b/src/main/java/org/bukkit/inventory/ChiseledBookshelfInventory.java @@ -1,15 +1,11 @@ package org.bukkit.inventory; -import org.bukkit.MinecraftExperimental; import org.bukkit.block.ChiseledBookshelf; -import org.jetbrains.annotations.ApiStatus; import org.jetbrains.annotations.Nullable; /** * Interface to the inventory of a chiseled bookshelf. */ -@MinecraftExperimental -@ApiStatus.Experimental public interface ChiseledBookshelfInventory extends Inventory { @Nullable diff --git a/src/main/java/org/bukkit/inventory/ItemFlag.java b/src/main/java/org/bukkit/inventory/ItemFlag.java index 0a1c39a2..42fcc311 100644 --- a/src/main/java/org/bukkit/inventory/ItemFlag.java +++ b/src/main/java/org/bukkit/inventory/ItemFlag.java @@ -1,8 +1,5 @@ package org.bukkit.inventory; -import org.bukkit.MinecraftExperimental; -import org.jetbrains.annotations.ApiStatus; - /** * A ItemFlag can hide some Attributes from ItemStacks */ @@ -40,7 +37,5 @@ public enum ItemFlag { /** * Setting to show/hide armor trim from leather armor. */ - @MinecraftExperimental - @ApiStatus.Experimental HIDE_ARMOR_TRIM; } diff --git a/src/main/java/org/bukkit/inventory/SmithingInventory.java b/src/main/java/org/bukkit/inventory/SmithingInventory.java index 8f7749d1..96d526b7 100644 --- a/src/main/java/org/bukkit/inventory/SmithingInventory.java +++ b/src/main/java/org/bukkit/inventory/SmithingInventory.java @@ -1,15 +1,10 @@ package org.bukkit.inventory; -import org.bukkit.MinecraftExperimental; import org.jetbrains.annotations.Nullable; /** * Interface to the inventory of a Smithing table. - * - * @apiNote Check {@link #getType()} to better handle either the current or experimental - * variant of this inventory */ -@MinecraftExperimental public interface SmithingInventory extends Inventory { /** diff --git a/src/main/java/org/bukkit/inventory/SmithingTrimRecipe.java b/src/main/java/org/bukkit/inventory/SmithingTrimRecipe.java index 8eff1b91..32cbdc34 100644 --- a/src/main/java/org/bukkit/inventory/SmithingTrimRecipe.java +++ b/src/main/java/org/bukkit/inventory/SmithingTrimRecipe.java @@ -1,19 +1,12 @@ package org.bukkit.inventory; import org.bukkit.Material; -import org.bukkit.MinecraftExperimental; import org.bukkit.NamespacedKey; -import org.jetbrains.annotations.ApiStatus; import org.jetbrains.annotations.NotNull; /** * Represents a smithing trim recipe. - * - * @apiNote This recipe is part of an experimental feature of Minecraft and - * hence subject to change. */ -@MinecraftExperimental -@ApiStatus.Experimental public class SmithingTrimRecipe extends SmithingRecipe implements ComplexRecipe { private final RecipeChoice template; diff --git a/src/main/java/org/bukkit/inventory/meta/ArmorMeta.java b/src/main/java/org/bukkit/inventory/meta/ArmorMeta.java index 5d4df713..e167cb5c 100644 --- a/src/main/java/org/bukkit/inventory/meta/ArmorMeta.java +++ b/src/main/java/org/bukkit/inventory/meta/ArmorMeta.java @@ -1,8 +1,6 @@ package org.bukkit.inventory.meta; -import org.bukkit.MinecraftExperimental; import org.bukkit.inventory.meta.trim.ArmorTrim; -import org.jetbrains.annotations.ApiStatus; import org.jetbrains.annotations.NotNull; import org.jetbrains.annotations.Nullable; @@ -12,8 +10,6 @@ import org.jetbrains.annotations.Nullable; * Note: Armor trims are part of an experimental feature of Minecraft * and hence subject to change. */ -@MinecraftExperimental -@ApiStatus.Experimental public interface ArmorMeta extends ItemMeta { /** diff --git a/src/main/java/org/bukkit/inventory/meta/BundleMeta.java b/src/main/java/org/bukkit/inventory/meta/BundleMeta.java index f7f8d0d0..bc992fdf 100644 --- a/src/main/java/org/bukkit/inventory/meta/BundleMeta.java +++ b/src/main/java/org/bukkit/inventory/meta/BundleMeta.java @@ -1,14 +1,10 @@ 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/src/main/java/org/bukkit/inventory/meta/SkullMeta.java b/src/main/java/org/bukkit/inventory/meta/SkullMeta.java index 461cdecc..5a18a66a 100644 --- a/src/main/java/org/bukkit/inventory/meta/SkullMeta.java +++ b/src/main/java/org/bukkit/inventory/meta/SkullMeta.java @@ -1,10 +1,8 @@ package org.bukkit.inventory.meta; -import org.bukkit.MinecraftExperimental; import org.bukkit.NamespacedKey; import org.bukkit.OfflinePlayer; import org.bukkit.profile.PlayerProfile; -import org.jetbrains.annotations.ApiStatus; import org.jetbrains.annotations.NotNull; import org.jetbrains.annotations.Nullable; @@ -90,8 +88,6 @@ public interface SkullMeta extends ItemMeta { * * @param noteBlockSound the key of the sound to be played, or null */ - @MinecraftExperimental - @ApiStatus.Experimental void setNoteBlockSound(@Nullable NamespacedKey noteBlockSound); /** @@ -102,8 +98,6 @@ public interface SkullMeta extends ItemMeta { * * @return the key of the sound, or null */ - @MinecraftExperimental - @ApiStatus.Experimental @Nullable NamespacedKey getNoteBlockSound(); diff --git a/src/main/java/org/bukkit/inventory/meta/trim/ArmorTrim.java b/src/main/java/org/bukkit/inventory/meta/trim/ArmorTrim.java index c33c92f5..b4877e31 100644 --- a/src/main/java/org/bukkit/inventory/meta/trim/ArmorTrim.java +++ b/src/main/java/org/bukkit/inventory/meta/trim/ArmorTrim.java @@ -2,20 +2,14 @@ package org.bukkit.inventory.meta.trim; import com.google.common.base.Preconditions; import java.util.Objects; -import org.bukkit.MinecraftExperimental; import org.bukkit.inventory.meta.ArmorMeta; -import org.jetbrains.annotations.ApiStatus; import org.jetbrains.annotations.NotNull; /** * Represents an armor trim that may be applied to an item. * * @see ArmorMeta#setTrim(ArmorTrim) - * @apiNote Armor trims are part of an experimental feature of Minecraft and - * hence subject to change. */ -@MinecraftExperimental -@ApiStatus.Experimental public class ArmorTrim { private final TrimMaterial material; diff --git a/src/main/java/org/bukkit/inventory/meta/trim/TrimMaterial.java b/src/main/java/org/bukkit/inventory/meta/trim/TrimMaterial.java index 606e8ebb..4327cbc1 100644 --- a/src/main/java/org/bukkit/inventory/meta/trim/TrimMaterial.java +++ b/src/main/java/org/bukkit/inventory/meta/trim/TrimMaterial.java @@ -2,20 +2,12 @@ package org.bukkit.inventory.meta.trim; import org.bukkit.Keyed; import org.bukkit.Material; -import org.bukkit.MinecraftExperimental; import org.bukkit.NamespacedKey; import org.bukkit.Registry; -import org.jetbrains.annotations.ApiStatus; /** * Represents a material that may be used in an {@link ArmorTrim}. - * - * @apiNote Armor trims are part of an experimental feature of Minecraft and - * hence subject to change. Constants in this class may be null if a data pack - * is not present to enable these features. */ -@MinecraftExperimental -@ApiStatus.Experimental public interface TrimMaterial extends Keyed { /** diff --git a/src/main/java/org/bukkit/inventory/meta/trim/TrimPattern.java b/src/main/java/org/bukkit/inventory/meta/trim/TrimPattern.java index 8c02eadc..a63b1e24 100644 --- a/src/main/java/org/bukkit/inventory/meta/trim/TrimPattern.java +++ b/src/main/java/org/bukkit/inventory/meta/trim/TrimPattern.java @@ -2,20 +2,12 @@ package org.bukkit.inventory.meta.trim; import org.bukkit.Keyed; import org.bukkit.Material; -import org.bukkit.MinecraftExperimental; import org.bukkit.NamespacedKey; import org.bukkit.Registry; -import org.jetbrains.annotations.ApiStatus; /** * Represents a pattern that may be used in an {@link ArmorTrim}. - * - * @apiNote Armor trims are part of an experimental feature of Minecraft and - * hence subject to change. Constants in this class may be null if a data pack - * is not present to enable these features. */ -@MinecraftExperimental -@ApiStatus.Experimental public interface TrimPattern extends Keyed { /** diff --git a/src/main/java/org/bukkit/loot/LootTables.java b/src/main/java/org/bukkit/loot/LootTables.java index b76a5b28..95bbda00 100644 --- a/src/main/java/org/bukkit/loot/LootTables.java +++ b/src/main/java/org/bukkit/loot/LootTables.java @@ -155,7 +155,15 @@ public enum LootTables implements Keyed { SHEPHERD_GIFT("gameplay/hero_of_the_village/shepherd_gift"), TOOLSMITH_GIFT("gameplay/hero_of_the_village/toolsmith_gift"), WEAPONSMITH_GIFT("gameplay/hero_of_the_village/weaponsmith_gift"), + SNIFFER_DIGGING("gameplay/sniffer_digging"), PIGLIN_BARTERING("gameplay/piglin_bartering"), + // Archaeology + DESERT_WELL_ARCHAEOLOGY("archaeology/desert_well"), + DESERT_PYRAMID_ARCHAEOLOGY("archaeology/desert_pyramid"), + TRAIL_RUINS_ARCHAEOLOGY_COMMON("archaeology/trail_ruins_common"), + TRAIL_RUINS_ARCHAEOLOGY_RARE("archaeology/trail_ruins_rare"), + OCEAN_RUIN_WARM_ARCHAEOLOGY("archaeology/ocean_ruin_warm"), + OCEAN_RUIN_COLD_ARCHAEOLOGY("archaeology/ocean_ruin_cold"), // Sheep SHEEP("entities/sheep"), SHEEP_BLACK("entities/sheep/black"),