diff --git a/pom.xml b/pom.xml index afab9d87..a4ae19d6 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 @@ -194,7 +194,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/ @@ -219,7 +219,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 d236a827..86278761 100644 --- a/src/main/java/org/bukkit/GameEvent.java +++ b/src/main/java/org/bukkit/GameEvent.java @@ -22,7 +22,6 @@ public abstract class GameEvent implements Keyed { public static final GameEvent BLOCK_PLACE = getEvent("block_place"); 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"); public static final GameEvent DRINK = getEvent("drink"); public static final GameEvent EAT = getEvent("eat"); public static final GameEvent ELYTRA_GLIDE = getEvent("elytra_glide"); @@ -47,8 +46,6 @@ public abstract class GameEvent implements Keyed { public static final GameEvent JUKEBOX_STOP_PLAY = getEvent("jukebox_stop_play"); public static final GameEvent LIGHTNING_STRIKE = getEvent("lightning_strike"); 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"); 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"); @@ -59,6 +56,21 @@ public abstract class GameEvent implements Keyed { public static final GameEvent STEP = getEvent("step"); public static final GameEvent SWIM = getEvent("swim"); public static final GameEvent TELEPORT = getEvent("teleport"); + 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"); /** * Returns a {@link GameEvent} by a {@link NamespacedKey}. 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 59a597ef..9941023b 100644 --- a/src/main/java/org/bukkit/Material.java +++ b/src/main/java/org/bukkit/Material.java @@ -15,7 +15,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; @@ -35,6 +37,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; @@ -77,6 +80,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; @@ -96,7 +100,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; @@ -111,7 +114,6 @@ import org.bukkit.inventory.CreativeCategory; import org.bukkit.inventory.EquipmentSlot; import org.bukkit.inventory.ItemType; import org.bukkit.material.MaterialData; -import org.jetbrains.annotations.ApiStatus; import org.jetbrains.annotations.NotNull; import org.jetbrains.annotations.Nullable; @@ -159,18 +161,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} @@ -195,8 +191,6 @@ public enum Material implements Keyed, Translatable { /** * BlockData: {@link Sapling} */ - @MinecraftExperimental - @ApiStatus.Experimental CHERRY_SAPLING(25204, Sapling.class), /** * BlockData: {@link Sapling} @@ -209,11 +203,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), @@ -354,8 +350,6 @@ public enum Material implements Keyed, Translatable { /** * BlockData: {@link Orientable} */ - @MinecraftExperimental - @ApiStatus.Experimental CHERRY_LOG(20847, Orientable.class), /** * BlockData: {@link Orientable} @@ -384,8 +378,6 @@ public enum Material implements Keyed, Translatable { /** * BlockData: {@link Orientable} */ - @MinecraftExperimental - @ApiStatus.Experimental BAMBOO_BLOCK(20770, Orientable.class), /** * BlockData: {@link Orientable} @@ -410,8 +402,6 @@ public enum Material implements Keyed, Translatable { /** * BlockData: {@link Orientable} */ - @MinecraftExperimental - @ApiStatus.Experimental STRIPPED_CHERRY_LOG(18061, Orientable.class), /** * BlockData: {@link Orientable} @@ -452,8 +442,6 @@ public enum Material implements Keyed, Translatable { /** * BlockData: {@link Orientable} */ - @MinecraftExperimental - @ApiStatus.Experimental STRIPPED_CHERRY_WOOD(19647, Orientable.class), /** * BlockData: {@link Orientable} @@ -498,8 +486,6 @@ public enum Material implements Keyed, Translatable { /** * BlockData: {@link Orientable} */ - @MinecraftExperimental - @ApiStatus.Experimental CHERRY_WOOD(9826, Orientable.class), /** * BlockData: {@link Orientable} @@ -540,8 +526,6 @@ public enum Material implements Keyed, Translatable { /** * BlockData: {@link Leaves} */ - @MinecraftExperimental - @ApiStatus.Experimental CHERRY_LEAVES(20856, Leaves.class), /** * BlockData: {@link Leaves} @@ -607,9 +591,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), @@ -638,8 +624,6 @@ public enum Material implements Keyed, Translatable { /** * BlockData: {@link PinkPetals} */ - @MinecraftExperimental - @ApiStatus.Experimental PINK_PETALS(10420, PinkPetals.class), MOSS_BLOCK(9175), /** @@ -681,8 +665,6 @@ public enum Material implements Keyed, Translatable { /** * BlockData: {@link Slab} */ - @MinecraftExperimental - @ApiStatus.Experimental CHERRY_SLAB(16673, Slab.class), /** * BlockData: {@link Slab} @@ -695,14 +677,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} @@ -789,14 +767,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), @@ -882,8 +856,6 @@ public enum Material implements Keyed, Translatable { /** * BlockData: {@link Fence} */ - @MinecraftExperimental - @ApiStatus.Experimental CHERRY_FENCE(32047, Fence.class), /** * BlockData: {@link Fence} @@ -1064,8 +1036,6 @@ public enum Material implements Keyed, Translatable { /** * BlockData: {@link Stairs} */ - @MinecraftExperimental - @ApiStatus.Experimental CHERRY_STAIRS(18380, Stairs.class), /** * BlockData: {@link Stairs} @@ -1078,14 +1048,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} @@ -1567,6 +1533,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), @@ -1870,6 +1840,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} */ @@ -1921,8 +1895,6 @@ public enum Material implements Keyed, Translatable { /** * BlockData: {@link Switch} */ - @MinecraftExperimental - @ApiStatus.Experimental CHERRY_BUTTON(9058, Switch.class), /** * BlockData: {@link Switch} @@ -1983,8 +1955,6 @@ public enum Material implements Keyed, Translatable { /** * BlockData: {@link Powerable} */ - @MinecraftExperimental - @ApiStatus.Experimental CHERRY_PRESSURE_PLATE(8651, Powerable.class), /** * BlockData: {@link Powerable} @@ -2033,8 +2003,6 @@ public enum Material implements Keyed, Translatable { /** * BlockData: {@link Door} */ - @MinecraftExperimental - @ApiStatus.Experimental CHERRY_DOOR(12684, Door.class), /** * BlockData: {@link Door} @@ -2083,8 +2051,6 @@ public enum Material implements Keyed, Translatable { /** * BlockData: {@link TrapDoor} */ - @MinecraftExperimental - @ApiStatus.Experimental CHERRY_TRAPDOOR(6293, TrapDoor.class), /** * BlockData: {@link TrapDoor} @@ -2129,8 +2095,6 @@ public enum Material implements Keyed, Translatable { /** * BlockData: {@link Gate} */ - @MinecraftExperimental - @ApiStatus.Experimental CHERRY_FENCE_GATE(28222, Gate.class), /** * BlockData: {@link Gate} @@ -2187,11 +2151,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), @@ -2323,8 +2283,6 @@ public enum Material implements Keyed, Translatable { /** * BlockData: {@link Sign} */ - @MinecraftExperimental - @ApiStatus.Experimental CHERRY_SIGN(16520, 16, Sign.class), /** * BlockData: {@link Sign} @@ -2349,68 +2307,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), @@ -2434,8 +2370,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), @@ -2576,8 +2510,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), @@ -2625,8 +2557,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), @@ -2691,8 +2621,6 @@ public enum Material implements Keyed, Translatable { /** * BlockData: {@link Rotatable} */ - @MinecraftExperimental - @ApiStatus.Experimental PIGLIN_HEAD(5512, Rotatable.class), NETHER_STAR(12469), PUMPKIN_PIE(28725), @@ -2784,9 +2712,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), @@ -2814,6 +2741,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), @@ -3033,57 +2961,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} */ @@ -3136,8 +3051,6 @@ public enum Material implements Keyed, Translatable { /** * BlockData: {@link WallSign} */ - @MinecraftExperimental - @ApiStatus.Experimental CHERRY_WALL_SIGN(20188, 16, WallSign.class), /** * BlockData: {@link WallSign} @@ -3158,68 +3071,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} @@ -3267,16 +3158,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), @@ -3333,8 +3220,6 @@ public enum Material implements Keyed, Translatable { /** * BlockData: {@link Directional} */ - @MinecraftExperimental - @ApiStatus.Experimental PIGLIN_WALL_HEAD(4446, Directional.class), /** * BlockData: {@link Directional} @@ -3403,9 +3288,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} */ @@ -4834,6 +4721,7 @@ public enum Material implements Keyed, Translatable { case CACTUS: case CAKE: case CALCITE: + case CALIBRATED_SCULK_SENSOR: case CAMPFIRE: case CANDLE: case CANDLE_CAKE: @@ -5335,6 +5223,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: @@ -5511,6 +5401,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: @@ -5576,6 +5467,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: @@ -5882,6 +5774,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: @@ -6024,6 +5917,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: @@ -6553,6 +6447,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: @@ -6607,6 +6502,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: @@ -7165,6 +7061,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: @@ -7205,8 +7102,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: @@ -7329,6 +7224,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: @@ -7380,8 +7276,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: @@ -7591,6 +7485,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: @@ -7631,6 +7526,7 @@ public enum Material implements Keyed, Translatable { case TALL_GRASS: case TARGET: case TNT: + case TORCHFLOWER: case VINE: case WHITE_CARPET: case WHITE_TULIP: @@ -8355,6 +8251,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: @@ -8624,6 +8521,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: @@ -9201,6 +9099,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: @@ -9321,6 +9220,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: @@ -9549,6 +9449,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: @@ -10076,6 +9977,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: @@ -10195,6 +10097,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: @@ -10394,6 +10297,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: @@ -10950,7 +10854,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 fcf285df..0f97cf9f 100644 --- a/src/main/java/org/bukkit/Particle.java +++ b/src/main/java/org/bukkit/Particle.java @@ -5,7 +5,6 @@ import com.google.common.collect.Lists; import org.bukkit.block.data.BlockData; import org.bukkit.inventory.ItemStack; import org.bukkit.util.OldEnum; -import org.jetbrains.annotations.ApiStatus; import org.jetbrains.annotations.NotNull; public abstract class Particle extends OldEnum> implements Keyed { @@ -119,15 +118,8 @@ public abstract class Particle extends OldEnum> implements Keyed public static final Particle SCULK_CHARGE = getParticle("sculk_charge"); public static final Particle SCULK_CHARGE_POP = getParticle("sculk_charge_pop"); public static final Particle SHRIEK = getParticle("shriek"); - @MinecraftExperimental - @ApiStatus.Experimental - public static final Particle DRIPPING_CHERRY_LEAVES = getParticle("dripping_cherry_leaves"); - @MinecraftExperimental - @ApiStatus.Experimental - public static final Particle FALLING_CHERRY_LEAVES = getParticle("falling_cherry_leaves"); - @MinecraftExperimental - @ApiStatus.Experimental - public static final Particle LANDING_CHERRY_LEAVES = getParticle("landing_cherry_leaves"); + public static final Particle CHERRY_LEAVES = getParticle("cherry_leaves"); + public static final Particle EGG_CRACK = getParticle("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 8a4262c7..d98145f9 100644 --- a/src/main/java/org/bukkit/Registry.java +++ b/src/main/java/org/bukkit/Registry.java @@ -194,7 +194,6 @@ public interface Registry extends Iterable { * * @see TrimMaterial */ - @MinecraftExperimental @ApiStatus.Experimental Registry TRIM_MATERIAL = Objects.requireNonNull(Bukkit.getRegistry(TrimMaterial.class), "No registry present for TrimMaterial. This is a bug."); /** @@ -202,7 +201,6 @@ public interface Registry extends Iterable { * * @see TrimPattern */ - @MinecraftExperimental @ApiStatus.Experimental Registry TRIM_PATTERN = Objects.requireNonNull(Bukkit.getRegistry(TrimPattern.class), "No registry present for TrimPattern. This is a bug."); /** @@ -283,7 +281,7 @@ public interface Registry extends Iterable { default T match(@NotNull String input) { Preconditions.checkArgument(input != null, "input must not be null"); - String filtered = input.toLowerCase().replaceAll("\\s+", "_").replaceAll("\\W", ""); + String filtered = input.toLowerCase().replaceAll("\\s+", "_"); NamespacedKey namespacedKey = NamespacedKey.fromString(filtered); return (namespacedKey != null) ? get(namespacedKey) : null; } diff --git a/src/main/java/org/bukkit/Sound.java b/src/main/java/org/bukkit/Sound.java index 66384fa3..10ed2557 100644 --- a/src/main/java/org/bukkit/Sound.java +++ b/src/main/java/org/bukkit/Sound.java @@ -50,6 +50,7 @@ public abstract class Sound extends OldEnum implements Keyed { public static final Sound BLOCK_AMETHYST_BLOCK_FALL = getSound("block.amethyst_block.fall"); public static final Sound BLOCK_AMETHYST_BLOCK_HIT = getSound("block.amethyst_block.hit"); public static final Sound BLOCK_AMETHYST_BLOCK_PLACE = getSound("block.amethyst_block.place"); + public static final Sound BLOCK_AMETHYST_BLOCK_RESONATE = getSound("block.amethyst_block.resonate"); public static final Sound BLOCK_AMETHYST_BLOCK_STEP = getSound("block.amethyst_block.step"); public static final Sound BLOCK_AMETHYST_CLUSTER_BREAK = getSound("block.amethyst_cluster.break"); public static final Sound BLOCK_AMETHYST_CLUSTER_FALL = getSound("block.amethyst_cluster.fall"); @@ -275,38 +276,16 @@ public abstract class Sound extends OldEnum implements Keyed { public static final Sound BLOCK_CHAIN_HIT = getSound("block.chain.hit"); public static final Sound BLOCK_CHAIN_PLACE = getSound("block.chain.place"); public static final Sound BLOCK_CHAIN_STEP = getSound("block.chain.step"); - @MinecraftExperimental - @ApiStatus.Experimental public static final Sound BLOCK_CHERRY_WOOD_BREAK = getSound("block.cherry_wood.break"); - @MinecraftExperimental - @ApiStatus.Experimental public static final Sound BLOCK_CHERRY_WOOD_FALL = getSound("block.cherry_wood.fall"); - @MinecraftExperimental - @ApiStatus.Experimental public static final Sound BLOCK_CHERRY_WOOD_HIT = getSound("block.cherry_wood.hit"); - @MinecraftExperimental - @ApiStatus.Experimental public static final Sound BLOCK_CHERRY_WOOD_PLACE = getSound("block.cherry_wood.place"); - @MinecraftExperimental - @ApiStatus.Experimental public static final Sound BLOCK_CHERRY_WOOD_STEP = getSound("block.cherry_wood.step"); - @MinecraftExperimental - @ApiStatus.Experimental public static final Sound BLOCK_CHERRY_SAPLING_BREAK = getSound("block.cherry_sapling.break"); - @MinecraftExperimental - @ApiStatus.Experimental public static final Sound BLOCK_CHERRY_SAPLING_FALL = getSound("block.cherry_sapling.fall"); - @MinecraftExperimental - @ApiStatus.Experimental public static final Sound BLOCK_CHERRY_SAPLING_HIT = getSound("block.cherry_sapling.hit"); - @MinecraftExperimental - @ApiStatus.Experimental public static final Sound BLOCK_CHERRY_SAPLING_PLACE = getSound("block.cherry_sapling.place"); - @MinecraftExperimental - @ApiStatus.Experimental public static final Sound BLOCK_CHERRY_SAPLING_STEP = getSound("block.cherry_sapling.step"); - @MinecraftExperimental - @ApiStatus.Experimental public static final Sound BLOCK_CHERRY_LEAVES_BREAK = getSound("block.cherry_leaves.break"); @MinecraftExperimental @ApiStatus.Experimental diff --git a/src/main/java/org/bukkit/Tag.java b/src/main/java/org/bukkit/Tag.java index 96cc2e4c..b7871206 100644 --- a/src/main/java/org/bukkit/Tag.java +++ b/src/main/java/org/bukkit/Tag.java @@ -4,7 +4,6 @@ import java.util.Set; import org.bukkit.block.BlockType; import org.bukkit.entity.EntityType; import org.bukkit.inventory.ItemType; -import org.jetbrains.annotations.ApiStatus; import org.jetbrains.annotations.NotNull; /** @@ -39,6 +38,10 @@ public interface Tag extends Keyed { * Vanilla block tag representing all wooden buttons. */ Tag WOODEN_BUTTONS = Bukkit.getTag(REGISTRY_BLOCKS, NamespacedKey.minecraft("wooden_buttons"), BlockType.class); + /** + * Vanilla block tag representing all stone buttons. + */ + Tag STONE_BUTTONS = Bukkit.getTag(REGISTRY_BLOCKS, NamespacedKey.minecraft("stone_buttons"), BlockType.class); /** * Vanilla block tag representing all buttons (inherits from * {@link #WOODEN_BUTTONS}. @@ -121,8 +124,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"), BlockType.class); /** * Vanilla block tag representing all jungle log and bark variants. @@ -321,20 +322,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"), BlockType.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"), BlockType.class); /** * Vanilla block tag representing all hanging signs. */ - @MinecraftExperimental - @ApiStatus.Experimental Tag ALL_HANGING_SIGNS = Bukkit.getTag(REGISTRY_BLOCKS, NamespacedKey.minecraft("all_hanging_signs"), BlockType.class); /** * Vanilla block tag representing all signs, regardless of type. @@ -502,6 +497,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"), BlockType.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"), BlockType.class); /** * Vanilla block tag representing all blocks that block vibration signals. */ @@ -562,6 +561,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"), BlockType.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"), BlockType.class); /** * Vanilla block tag representing all blocks which require a diamond tool. */ @@ -606,6 +609,10 @@ public interface Tag extends Keyed { * ancient cities. */ Tag ANCIENT_CITY_REPLACEABLE = Bukkit.getTag(REGISTRY_BLOCKS, NamespacedKey.minecraft("ancient_city_replaceable"), BlockType.class); + /** + * Vanilla block tag representing all blocks which resonate vibrations. + */ + Tag VIBRATION_RESONATORS = Bukkit.getTag(REGISTRY_BLOCKS, NamespacedKey.minecraft("vibration_resonators"), BlockType.class); /** * Vanilla block tag representing all blocks which animals will spawn on. */ @@ -631,11 +638,6 @@ public interface Tag extends Keyed { * on. */ Tag POLAR_BEARS_SPAWNABLE_ON_ALTERNATE = Bukkit.getTag(REGISTRY_BLOCKS, NamespacedKey.minecraft("polar_bears_spawnable_on_alternate"), BlockType.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. */ @@ -656,10 +658,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"), BlockType.class); - /** - * Vanilla block tag representing all plant blocks which may be replaced. - */ - Tag REPLACEABLE_PLANTS = Bukkit.getTag(REGISTRY_BLOCKS, NamespacedKey.minecraft("replaceable_plants"), BlockType.class); /** * Vanilla block tag representing all blocks which may be converted to mud. */ @@ -683,6 +681,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"), BlockType.class); + /** + * Vanilla block tag representing all blocks replaceable by growing trees. + */ + Tag REPLACEABLE_BY_TREES = Bukkit.getTag(REGISTRY_BLOCKS, NamespacedKey.minecraft("replaceable_by_trees"), BlockType.class); /** * Vanilla block tag representing blocks which snow cannot survive on. */ @@ -698,9 +700,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"), BlockType.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"), BlockType.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"), BlockType.class); + /** + * Vanilla block tag representing all blocks which are replaceable. + */ + Tag REPLACEABLE = Bukkit.getTag(REGISTRY_BLOCKS, NamespacedKey.minecraft("replaceable"), BlockType.class); + /** + * Vanilla block tag representing all blocks which provide enchantment power. + */ + Tag ENCHANTMENT_POWER_PROVIDER = Bukkit.getTag(REGISTRY_BLOCKS, NamespacedKey.minecraft("enchantment_power_provider"), BlockType.class); + /** + * Vanilla block tag representing all blocks which transmit enchantment power. + */ + Tag ENCHANTMENT_POWER_TRANSMITTER = Bukkit.getTag(REGISTRY_BLOCKS, NamespacedKey.minecraft("enchantment_power_transmitter"), BlockType.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"), BlockType.class); /** * Key for the built in item registry. */ @@ -789,39 +813,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"), ItemType.class); /** * Vanilla item tag representing all trimmable armor items. */ - @MinecraftExperimental - @ApiStatus.Experimental Tag ITEMS_TRIMMABLE_ARMOR = Bukkit.getTag(REGISTRY_ITEMS, NamespacedKey.minecraft("trimmable_armor"), ItemType.class); /** * Vanilla item tag representing all ItemTypes which can be used for trimming armor. */ - @MinecraftExperimental - @ApiStatus.Experimental Tag ITEMS_TRIM_ItemTypeS = Bukkit.getTag(REGISTRY_ITEMS, NamespacedKey.minecraft("trim_materials"), ItemType.class); /** * Vanilla item tag representing all trimming templates. */ - @MinecraftExperimental - @ApiStatus.Experimental Tag ITEMS_TRIM_TEMPLATES = Bukkit.getTag(REGISTRY_ITEMS, NamespacedKey.minecraft("trim_templates"), ItemType.class); /** * Vanilla item tag representing all food for sniffers. */ - @MinecraftExperimental - @ApiStatus.Experimental Tag ITEMS_SNIFFER_FOOD = Bukkit.getTag(REGISTRY_ITEMS, NamespacedKey.minecraft("sniffer_food"), ItemType.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"), ItemType.class); + Tag ITEMS_DECORATED_POT_SHERDS = Bukkit.getTag(REGISTRY_ITEMS, NamespacedKey.minecraft("decorated_pot_sherds"), ItemType.class); + /** + * Vanilla item tag representing all decorated pot ingredients. + */ + Tag ITEMS_DECORATED_POT_INGREDIENTS = Bukkit.getTag(REGISTRY_ITEMS, NamespacedKey.minecraft("decorated_pot_ingredients"), ItemType.class); /** * Vanilla item tag representing all swords. */ @@ -847,11 +863,13 @@ public interface Tag extends Keyed { */ Tag ITEMS_TOOLS = Bukkit.getTag(REGISTRY_ITEMS, NamespacedKey.minecraft("tools"), ItemType.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"), ItemType.class); + /** + * Vanilla item tag representing all seeds planteable by villagers. + */ + Tag ITEMS_VILLAGER_PLANTABLE_SEEDS = Bukkit.getTag(REGISTRY_ITEMS, NamespacedKey.minecraft("villager_plantable_seeds"), ItemType.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 66d93bc4..a1e90ed1 100644 --- a/src/main/java/org/bukkit/block/Biome.java +++ b/src/main/java/org/bukkit/block/Biome.java @@ -4,11 +4,9 @@ import com.google.common.base.Preconditions; import com.google.common.collect.Lists; import org.bukkit.Bukkit; import org.bukkit.Keyed; -import org.bukkit.MinecraftExperimental; import org.bukkit.NamespacedKey; import org.bukkit.Registry; import org.bukkit.util.OldEnum; -import org.jetbrains.annotations.ApiStatus; import org.jetbrains.annotations.NotNull; /** @@ -82,8 +80,6 @@ public abstract class Biome extends OldEnum implements Keyed { public static final Biome FROZEN_PEAKS = getBiome("frozen_peaks"); public static final Biome JAGGED_PEAKS = getBiome("jagged_peaks"); public static final Biome STONY_PEAKS = getBiome("stony_peaks"); - @MinecraftExperimental - @ApiStatus.Experimental public static final Biome CHERRY_GROVE = getBiome("cherry_grove"); /** 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 584311a3..df2596a7 100644 --- a/src/main/java/org/bukkit/block/DecoratedPot.java +++ b/src/main/java/org/bukkit/block/DecoratedPot.java @@ -1,16 +1,13 @@ package org.bukkit.block; import java.util.List; -import org.bukkit.MinecraftExperimental; import org.bukkit.inventory.ItemType; 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 itemType shard item - */ - public void addShard(@NotNull ItemType itemType); - - /** - * Set the shards which will be dropped when this pot is broken. - * - * @param shard list of item types - */ - 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 cf0db6d6..c7580fa8 100644 --- a/src/main/java/org/bukkit/block/Skull.java +++ b/src/main/java/org/bukkit/block/Skull.java @@ -1,12 +1,10 @@ package org.bukkit.block; -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; @@ -95,8 +93,6 @@ public interface Skull extends TileState { * * @return the key of the sound, or null */ - @MinecraftExperimental - @ApiStatus.Experimental @Nullable public NamespacedKey getNoteBlockSound(); @@ -109,8 +105,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 e8bc8be6..dd437558 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(ItemType.ELYTRA) || item.equals(ItemType.CARVED_PUMPKIN) - || item.equals(ItemType.JACK_O_LANTERN) || item.equals(ItemType.SKELETON_SKULL) || item.equals(ItemType.WITHER_SKELETON_SKULL) || item.equals(ItemType.ZOMBIE_HEAD) diff --git a/src/main/java/org/bukkit/entity/Boat.java b/src/main/java/org/bukkit/entity/Boat.java index 0ae9cfa8..d6e11410 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.MinecraftExperimental; import org.bukkit.TreeSpecies; import org.bukkit.inventory.ItemType; -import org.jetbrains.annotations.ApiStatus; import org.jetbrains.annotations.NotNull; /** @@ -143,13 +141,9 @@ public interface Boat extends Vehicle { BIRCH(ItemType.BIRCH_PLANKS), JUNGLE(ItemType.JUNGLE_PLANKS), ACACIA(ItemType.ACACIA_PLANKS), - @MinecraftExperimental - @ApiStatus.Experimental CHERRY(ItemType.CHERRY_PLANKS), DARK_OAK(ItemType.DARK_OAK_PLANKS), MANGROVE(ItemType.MANGROVE_PLANKS), - @MinecraftExperimental - @ApiStatus.Experimental BAMBOO(ItemType.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 2da10bd7..80adf0c3 100644 --- a/src/main/java/org/bukkit/entity/EntityType.java +++ b/src/main/java/org/bukkit/entity/EntityType.java @@ -7,7 +7,6 @@ import com.google.common.collect.Lists; import org.bukkit.Bukkit; import org.bukkit.Keyed; import org.bukkit.Location; -import org.bukkit.MinecraftExperimental; import org.bukkit.NamespacedKey; import org.bukkit.Registry; import org.bukkit.Translatable; @@ -284,14 +283,10 @@ public abstract class EntityType extends OldEnum public static final EntityType FROG = getEntityType("frog"); public static final EntityType TADPOLE = getEntityType("tadpole"); public static final EntityType WARDEN = getEntityType("warden"); - @MinecraftExperimental - @ApiStatus.Experimental public static final EntityType CAMEL = getEntityType("camel"); public static final EntityType BLOCK_DISPLAY = getEntityType("block_display"); public static final EntityType INTERACTION = getEntityType("interaction"); public static final EntityType ITEM_DISPLAY = getEntityType("item_display"); - @MinecraftExperimental - @ApiStatus.Experimental public static final EntityType SNIFFER = getEntityType("sniffer"); public static final EntityType TEXT_DISPLAY = getEntityType("text_display"); /** diff --git a/src/main/java/org/bukkit/entity/Player.java b/src/main/java/org/bukkit/entity/Player.java index 3813dd67..ee66dc0c 100644 --- a/src/main/java/org/bukkit/entity/Player.java +++ b/src/main/java/org/bukkit/entity/Player.java @@ -510,6 +510,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 @@ -529,7 +549,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 2c676295..c631a7d4 100644 --- a/src/main/java/org/bukkit/inventory/SmithingTrimRecipe.java +++ b/src/main/java/org/bukkit/inventory/SmithingTrimRecipe.java @@ -1,18 +1,11 @@ package org.bukkit.inventory; -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 d5c17559..6291cf7c 100644 --- a/src/main/java/org/bukkit/inventory/meta/trim/TrimMaterial.java +++ b/src/main/java/org/bukkit/inventory/meta/trim/TrimMaterial.java @@ -1,21 +1,13 @@ package org.bukkit.inventory.meta.trim; import org.bukkit.Keyed; -import org.bukkit.MinecraftExperimental; import org.bukkit.NamespacedKey; import org.bukkit.Registry; import org.bukkit.inventory.ItemType; -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 934eaa57..bacf94c3 100644 --- a/src/main/java/org/bukkit/inventory/meta/trim/TrimPattern.java +++ b/src/main/java/org/bukkit/inventory/meta/trim/TrimPattern.java @@ -1,21 +1,13 @@ package org.bukkit.inventory.meta.trim; import org.bukkit.Keyed; -import org.bukkit.MinecraftExperimental; import org.bukkit.NamespacedKey; import org.bukkit.Registry; import org.bukkit.inventory.ItemType; -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"),