diff --git a/paper-api/pom.xml b/paper-api/pom.xml index fe3531a12..de35ebbd2 100644 --- a/paper-api/pom.xml +++ b/paper-api/pom.xml @@ -5,7 +5,7 @@ org.bukkit bukkit - 1.19.2-R0.1-SNAPSHOT + 1.19.3-R0.1-SNAPSHOT jar Bukkit @@ -35,14 +35,14 @@ com.google.guava guava - 31.0.1-jre + 31.1-jre compile com.google.code.gson gson - 2.8.9 + 2.10 compile diff --git a/paper-api/src/main/java/org/bukkit/Bukkit.java b/paper-api/src/main/java/org/bukkit/Bukkit.java index 4bc8b661f..5a884154a 100644 --- a/paper-api/src/main/java/org/bukkit/Bukkit.java +++ b/paper-api/src/main/java/org/bukkit/Bukkit.java @@ -1013,7 +1013,9 @@ public final class Bukkit { * message to the client when the player sends a message * * @return true if the server should send a preview, false otherwise + * @deprecated chat previews have been removed */ + @Deprecated public static boolean shouldSendChatPreviews() { return server.shouldSendChatPreviews(); } diff --git a/paper-api/src/main/java/org/bukkit/GameRule.java b/paper-api/src/main/java/org/bukkit/GameRule.java index dddc450e1..0a66077d1 100644 --- a/paper-api/src/main/java/org/bukkit/GameRule.java +++ b/paper-api/src/main/java/org/bukkit/GameRule.java @@ -177,6 +177,31 @@ public final class GameRule { * Whether mobs will target all player entities once angered. */ public static final GameRule UNIVERSAL_ANGER = new GameRule<>("universalAnger", Boolean.class); + /** + * Whether block explosions will destroy dropped items. + */ + public static final GameRule BLOCK_EXPLOSION_DROP_DECAY = new GameRule<>("blockExplosionDropDecay", Boolean.class); + /** + * * Whether mob explosions will destroy dropped items. + */ + public static final GameRule MOB_EXPLOSION_DROP_DECAY = new GameRule<>("mobExplosionDropDecay", Boolean.class); + /** + * Whether tnt explosions will destroy dropped items. + */ + public static final GameRule TNT_EXPLOSION_DROP_DECAY = new GameRule<>("tntExplosionDropDecay", Boolean.class); + /** + * Whether water blocks can convert into water source blocks. + */ + public static final GameRule WATER_SOURCE_CONVERSION = new GameRule<>("waterSourceConversion", Boolean.class); + /** + * Whether lava blocks can convert into lava source blocks. + */ + public static final GameRule LAVA_SOURCE_CONVERSION = new GameRule<>("lavaSourceConversion", Boolean.class); + /** + * Whether global level events such as ender dragon, wither, and completed + * end portal effects will propagate across the entire server. + */ + public static final GameRule GLOBAL_SOUND_EVENTS = new GameRule<>("globalSoundEvents", Boolean.class); // Numerical rules /** @@ -215,6 +240,7 @@ public final class GameRule { * advance. */ public static final GameRule PLAYERS_SLEEPING_PERCENTAGE = new GameRule<>("playersSleepingPercentage", Integer.class); + public static final GameRule SNOW_ACCUMULATION_HEIGHT = new GameRule<>("snowAccumulationHeight", Integer.class); // All GameRules instantiated above this for organizational purposes private final String name; diff --git a/paper-api/src/main/java/org/bukkit/Material.java b/paper-api/src/main/java/org/bukkit/Material.java index 47d14a334..bcf746a61 100644 --- a/paper-api/src/main/java/org/bukkit/Material.java +++ b/paper-api/src/main/java/org/bukkit/Material.java @@ -40,6 +40,7 @@ import org.bukkit.block.data.type.CaveVines; import org.bukkit.block.data.type.CaveVinesPlant; import org.bukkit.block.data.type.Chain; import org.bukkit.block.data.type.Chest; +import org.bukkit.block.data.type.ChiseledBookshelf; import org.bukkit.block.data.type.Cocoa; import org.bukkit.block.data.type.CommandBlock; import org.bukkit.block.data.type.Comparator; @@ -58,6 +59,7 @@ import org.bukkit.block.data.type.Gate; import org.bukkit.block.data.type.GlassPane; import org.bukkit.block.data.type.GlowLichen; import org.bukkit.block.data.type.Grindstone; +import org.bukkit.block.data.type.HangingSign; import org.bukkit.block.data.type.Hopper; import org.bukkit.block.data.type.Jigsaw; import org.bukkit.block.data.type.Jukebox; @@ -99,6 +101,7 @@ import org.bukkit.block.data.type.Tripwire; import org.bukkit.block.data.type.TripwireHook; import org.bukkit.block.data.type.TurtleEgg; import org.bukkit.block.data.type.Wall; +import org.bukkit.block.data.type.WallHangingSign; import org.bukkit.block.data.type.WallSign; import org.bukkit.inventory.CreativeCategory; import org.bukkit.inventory.EquipmentSlot; @@ -150,8 +153,10 @@ public enum Material implements Keyed { ACACIA_PLANKS(31312), DARK_OAK_PLANKS(20869), MANGROVE_PLANKS(7078), + BAMBOO_PLANKS(8520), CRIMSON_PLANKS(18812), WARPED_PLANKS(16045), + BAMBOO_MOSAIC(10715), /** * BlockData: {@link Sapling} */ @@ -343,6 +348,10 @@ public enum Material implements Keyed { * BlockData: {@link Orientable} */ WARPED_STEM(28920, Orientable.class), + /** + * BlockData: {@link Orientable} + */ + BAMBOO_BLOCK(20770, Orientable.class), /** * BlockData: {@link Orientable} */ @@ -415,6 +424,10 @@ public enum Material implements Keyed { * BlockData: {@link Orientable} */ STRIPPED_WARPED_HYPHAE(7422, Orientable.class), + /** + * BlockData: {@link Orientable} + */ + STRIPPED_BAMBOO_BLOCK(14799, Orientable.class), /** * BlockData: {@link Orientable} */ @@ -605,6 +618,14 @@ public enum Material implements Keyed { * BlockData: {@link Slab} */ MANGROVE_SLAB(13704, Slab.class), + /** + * BlockData: {@link Slab} + */ + BAMBOO_SLAB(17798, Slab.class), + /** + * BlockData: {@link Slab} + */ + BAMBOO_MOSAIC_SLAB(22118, Slab.class), /** * BlockData: {@link Slab} */ @@ -687,6 +708,10 @@ public enum Material implements Keyed { SMOOTH_STONE(21910), BRICKS(14165), BOOKSHELF(10069), + /** + * BlockData: {@link ChiseledBookshelf} + */ + CHISELED_BOOKSHELF(8099, ChiseledBookshelf.class), MOSSY_COBBLESTONE(21900), OBSIDIAN(32723), TORCH(6063), @@ -776,6 +801,10 @@ public enum Material implements Keyed { * BlockData: {@link Fence} */ MANGROVE_FENCE(15021, Fence.class), + /** + * BlockData: {@link Fence} + */ + BAMBOO_FENCE(17207, Fence.class), /** * BlockData: {@link Fence} */ @@ -948,6 +977,14 @@ public enum Material implements Keyed { * BlockData: {@link Stairs} */ MANGROVE_STAIRS(27641, Stairs.class), + /** + * BlockData: {@link Stairs} + */ + BAMBOO_STAIRS(25674, Stairs.class), + /** + * BlockData: {@link Stairs} + */ + BAMBOO_MOSAIC_STAIRS(20977, Stairs.class), /** * BlockData: {@link Stairs} */ @@ -1646,7 +1683,7 @@ public enum Material implements Keyed { /** * BlockData: {@link Slab} */ - DIORITE_SLAB(10715, Slab.class), + DIORITE_SLAB(25526, Slab.class), /** * BlockData: {@link Slab} */ @@ -1786,7 +1823,11 @@ public enum Material implements Keyed { /** * BlockData: {@link Switch} */ - MANGROVE_BUTTON(17207, Switch.class), + MANGROVE_BUTTON(9838, Switch.class), + /** + * BlockData: {@link Switch} + */ + BAMBOO_BUTTON(21810, Switch.class), /** * BlockData: {@link Switch} */ @@ -1839,6 +1880,10 @@ public enum Material implements Keyed { * BlockData: {@link Powerable} */ MANGROVE_PRESSURE_PLATE(9748, Powerable.class), + /** + * BlockData: {@link Powerable} + */ + BAMBOO_PRESSURE_PLATE(26740, Powerable.class), /** * BlockData: {@link Powerable} */ @@ -1879,6 +1924,10 @@ public enum Material implements Keyed { * BlockData: {@link Door} */ MANGROVE_DOOR(18964, Door.class), + /** + * BlockData: {@link Door} + */ + BAMBOO_DOOR(19971, Door.class), /** * BlockData: {@link Door} */ @@ -1919,6 +1968,10 @@ public enum Material implements Keyed { * BlockData: {@link TrapDoor} */ MANGROVE_TRAPDOOR(17066, TrapDoor.class), + /** + * BlockData: {@link TrapDoor} + */ + BAMBOO_TRAPDOOR(9174, TrapDoor.class), /** * BlockData: {@link TrapDoor} */ @@ -1955,6 +2008,10 @@ public enum Material implements Keyed { * BlockData: {@link Gate} */ MANGROVE_FENCE_GATE(28476, Gate.class), + /** + * BlockData: {@link Gate} + */ + BAMBOO_FENCE_GATE(14290, Gate.class), /** * BlockData: {@link Gate} */ @@ -2002,6 +2059,8 @@ public enum Material implements Keyed { DARK_OAK_CHEST_BOAT(8733, 1), MANGROVE_BOAT(20792, 1), MANGROVE_CHEST_BOAT(18572, 1), + BAMBOO_RAFT(25901, 1), + BAMBOO_CHEST_RAFT(20056, 1), /** * BlockData: {@link StructureBlock} */ @@ -2131,6 +2190,10 @@ public enum Material implements Keyed { * BlockData: {@link Sign} */ MANGROVE_SIGN(21975, 16, Sign.class), + /** + * BlockData: {@link Sign} + */ + BAMBOO_SIGN(26139, 16, Sign.class), /** * BlockData: {@link Sign} */ @@ -2139,6 +2202,46 @@ public enum Material implements Keyed { * BlockData: {@link Sign} */ WARPED_SIGN(10407, 16, Sign.class), + /** + * BlockData: {@link HangingSign} + */ + OAK_HANGING_SIGN(20116, 16, HangingSign.class), + /** + * BlockData: {@link HangingSign} + */ + SPRUCE_HANGING_SIGN(24371, 16, HangingSign.class), + /** + * BlockData: {@link HangingSign} + */ + BIRCH_HANGING_SIGN(17938, 16, HangingSign.class), + /** + * BlockData: {@link HangingSign} + */ + JUNGLE_HANGING_SIGN(27671, 16, HangingSign.class), + /** + * BlockData: {@link HangingSign} + */ + ACACIA_HANGING_SIGN(30257, 16, HangingSign.class), + /** + * BlockData: {@link HangingSign} + */ + DARK_OAK_HANGING_SIGN(23360, 16, HangingSign.class), + /** + * BlockData: {@link HangingSign} + */ + MANGROVE_HANGING_SIGN(25106, 16, HangingSign.class), + /** + * BlockData: {@link HangingSign} + */ + BAMBOO_HANGING_SIGN(4726, 16, HangingSign.class), + /** + * BlockData: {@link HangingSign} + */ + CRIMSON_HANGING_SIGN(20696, 16, HangingSign.class), + /** + * BlockData: {@link HangingSign} + */ + WARPED_HANGING_SIGN(8195, 16, HangingSign.class), BUCKET(15215, 16), WATER_BUCKET(8802, 1), LAVA_BUCKET(9228, 1), @@ -2301,6 +2404,7 @@ public enum Material implements Keyed { BEE_SPAWN_EGG(22924), BLAZE_SPAWN_EGG(4759), CAT_SPAWN_EGG(29583), + CAMEL_SPAWN_EGG(14760), CAVE_SPIDER_SPAWN_EGG(23341), CHICKEN_SPAWN_EGG(5462), COD_SPAWN_EGG(27248), @@ -2310,6 +2414,7 @@ public enum Material implements Keyed { DONKEY_SPAWN_EGG(14513), DROWNED_SPAWN_EGG(19368), ELDER_GUARDIAN_SPAWN_EGG(11418), + ENDER_DRAGON_SPAWN_EGG(28092), ENDERMAN_SPAWN_EGG(29488), ENDERMITE_SPAWN_EGG(16617), EVOKER_SPAWN_EGG(21271), @@ -2322,6 +2427,7 @@ public enum Material implements Keyed { HOGLIN_SPAWN_EGG(14088), HORSE_SPAWN_EGG(25981), HUSK_SPAWN_EGG(20178), + IRON_GOLEM_SPAWN_EGG(12781), LLAMA_SPAWN_EGG(23640), MAGMA_CUBE_SPAWN_EGG(26638), MOOSHROOM_SPAWN_EGG(22125), @@ -2345,6 +2451,7 @@ public enum Material implements Keyed { SKELETON_SPAWN_EGG(15261), SKELETON_HORSE_SPAWN_EGG(21356), SLIME_SPAWN_EGG(17196), + SNOW_GOLEM_SPAWN_EGG(24732), SPIDER_SPAWN_EGG(14984), SQUID_SPAWN_EGG(10682), STRAY_SPAWN_EGG(30153), @@ -2359,6 +2466,7 @@ public enum Material implements Keyed { WANDERING_TRADER_SPAWN_EGG(17904), WARDEN_SPAWN_EGG(27553), WITCH_SPAWN_EGG(11837), + WITHER_SPAWN_EGG(8024), WITHER_SKELETON_SPAWN_EGG(10073), WOLF_SPAWN_EGG(21692), ZOGLIN_SPAWN_EGG(7442), @@ -2403,6 +2511,10 @@ public enum Material implements Keyed { * BlockData: {@link Rotatable} */ DRAGON_HEAD(20084, Rotatable.class), + /** + * BlockData: {@link Rotatable} + */ + PIGLIN_HEAD(5512, Rotatable.class), NETHER_STAR(12469), PUMPKIN_PIE(28725), FIREWORK_ROCKET(23841), @@ -2800,6 +2912,50 @@ public enum Material implements Keyed { * BlockData: {@link WallSign} */ MANGROVE_WALL_SIGN(27203, 16, WallSign.class), + /** + * BlockData: {@link WallSign} + */ + BAMBOO_WALL_SIGN(18857, 16, WallSign.class), + /** + * BlockData: {@link WallHangingSign} + */ + OAK_WALL_HANGING_SIGN(15637, WallHangingSign.class), + /** + * BlockData: {@link WallHangingSign} + */ + SPRUCE_WALL_HANGING_SIGN(18833, WallHangingSign.class), + /** + * BlockData: {@link WallHangingSign} + */ + BIRCH_WALL_HANGING_SIGN(15937, WallHangingSign.class), + /** + * BlockData: {@link WallHangingSign} + */ + ACACIA_WALL_HANGING_SIGN(22477, WallHangingSign.class), + /** + * BlockData: {@link WallHangingSign} + */ + JUNGLE_WALL_HANGING_SIGN(16691, WallHangingSign.class), + /** + * BlockData: {@link WallHangingSign} + */ + DARK_OAK_WALL_HANGING_SIGN(14296, WallHangingSign.class), + /** + * BlockData: {@link WallHangingSign} + */ + MANGROVE_WALL_HANGING_SIGN(16974, WallHangingSign.class), + /** + * BlockData: {@link WallHangingSign} + */ + CRIMSON_WALL_HANGING_SIGN(28982, WallHangingSign.class), + /** + * BlockData: {@link WallHangingSign} + */ + WARPED_WALL_HANGING_SIGN(20605, WallHangingSign.class), + /** + * BlockData: {@link WallHangingSign} + */ + BAMBOO_WALL_HANGING_SIGN(6669, WallHangingSign.class), /** * BlockData: {@link RedstoneWallTorch} */ @@ -2903,6 +3059,10 @@ public enum Material implements Keyed { * BlockData: {@link Directional} */ DRAGON_WALL_HEAD(19818, Directional.class), + /** + * BlockData: {@link Directional} + */ + PIGLIN_WALL_HEAD(4446, Directional.class), /** * BlockData: {@link Directional} */ @@ -4248,6 +4408,7 @@ public enum Material implements Keyed { case ACACIA_DOOR: case ACACIA_FENCE: case ACACIA_FENCE_GATE: + case ACACIA_HANGING_SIGN: case ACACIA_LEAVES: case ACACIA_LOG: case ACACIA_PLANKS: @@ -4257,6 +4418,7 @@ public enum Material implements Keyed { case ACACIA_SLAB: case ACACIA_STAIRS: case ACACIA_TRAPDOOR: + case ACACIA_WALL_HANGING_SIGN: case ACACIA_WALL_SIGN: case ACACIA_WOOD: case ACTIVATOR_RAIL: @@ -4276,7 +4438,24 @@ public enum Material implements Keyed { case AZALEA_LEAVES: case AZURE_BLUET: case BAMBOO: + case BAMBOO_BLOCK: + case BAMBOO_BUTTON: + case BAMBOO_DOOR: + case BAMBOO_FENCE: + case BAMBOO_FENCE_GATE: + case BAMBOO_HANGING_SIGN: + case BAMBOO_MOSAIC: + case BAMBOO_MOSAIC_SLAB: + case BAMBOO_MOSAIC_STAIRS: + case BAMBOO_PLANKS: + case BAMBOO_PRESSURE_PLATE: case BAMBOO_SAPLING: + case BAMBOO_SIGN: + case BAMBOO_SLAB: + case BAMBOO_STAIRS: + case BAMBOO_TRAPDOOR: + case BAMBOO_WALL_HANGING_SIGN: + case BAMBOO_WALL_SIGN: case BARREL: case BARRIER: case BASALT: @@ -4292,6 +4471,7 @@ public enum Material implements Keyed { case BIRCH_DOOR: case BIRCH_FENCE: case BIRCH_FENCE_GATE: + case BIRCH_HANGING_SIGN: case BIRCH_LEAVES: case BIRCH_LOG: case BIRCH_PLANKS: @@ -4301,6 +4481,7 @@ public enum Material implements Keyed { case BIRCH_SLAB: case BIRCH_STAIRS: case BIRCH_TRAPDOOR: + case BIRCH_WALL_HANGING_SIGN: case BIRCH_WALL_SIGN: case BIRCH_WOOD: case BLACKSTONE: @@ -4388,6 +4569,7 @@ public enum Material implements Keyed { case CHAIN_COMMAND_BLOCK: case CHEST: case CHIPPED_ANVIL: + case CHISELED_BOOKSHELF: case CHISELED_DEEPSLATE: case CHISELED_NETHER_BRICKS: case CHISELED_POLISHED_BLACKSTONE: @@ -4431,6 +4613,7 @@ public enum Material implements Keyed { case CRIMSON_FENCE: case CRIMSON_FENCE_GATE: case CRIMSON_FUNGUS: + case CRIMSON_HANGING_SIGN: case CRIMSON_HYPHAE: case CRIMSON_NYLIUM: case CRIMSON_PLANKS: @@ -4441,6 +4624,7 @@ public enum Material implements Keyed { case CRIMSON_STAIRS: case CRIMSON_STEM: case CRIMSON_TRAPDOOR: + case CRIMSON_WALL_HANGING_SIGN: case CRIMSON_WALL_SIGN: case CRYING_OBSIDIAN: case CUT_COPPER: @@ -4470,6 +4654,7 @@ public enum Material implements Keyed { case DARK_OAK_DOOR: case DARK_OAK_FENCE: case DARK_OAK_FENCE_GATE: + case DARK_OAK_HANGING_SIGN: case DARK_OAK_LEAVES: case DARK_OAK_LOG: case DARK_OAK_PLANKS: @@ -4479,6 +4664,7 @@ public enum Material implements Keyed { case DARK_OAK_SLAB: case DARK_OAK_STAIRS: case DARK_OAK_TRAPDOOR: + case DARK_OAK_WALL_HANGING_SIGN: case DARK_OAK_WALL_SIGN: case DARK_OAK_WOOD: case DARK_PRISMARINE: @@ -4643,6 +4829,7 @@ public enum Material implements Keyed { case JUNGLE_DOOR: case JUNGLE_FENCE: case JUNGLE_FENCE_GATE: + case JUNGLE_HANGING_SIGN: case JUNGLE_LEAVES: case JUNGLE_LOG: case JUNGLE_PLANKS: @@ -4652,6 +4839,7 @@ public enum Material implements Keyed { case JUNGLE_SLAB: case JUNGLE_STAIRS: case JUNGLE_TRAPDOOR: + case JUNGLE_WALL_HANGING_SIGN: case JUNGLE_WALL_SIGN: case JUNGLE_WOOD: case KELP: @@ -4735,6 +4923,7 @@ public enum Material implements Keyed { case MANGROVE_DOOR: case MANGROVE_FENCE: case MANGROVE_FENCE_GATE: + case MANGROVE_HANGING_SIGN: case MANGROVE_LEAVES: case MANGROVE_LOG: case MANGROVE_PLANKS: @@ -4745,6 +4934,7 @@ public enum Material implements Keyed { case MANGROVE_SLAB: case MANGROVE_STAIRS: case MANGROVE_TRAPDOOR: + case MANGROVE_WALL_HANGING_SIGN: case MANGROVE_WALL_SIGN: case MANGROVE_WOOD: case MEDIUM_AMETHYST_BUD: @@ -4787,6 +4977,7 @@ public enum Material implements Keyed { case OAK_DOOR: case OAK_FENCE: case OAK_FENCE_GATE: + case OAK_HANGING_SIGN: case OAK_LEAVES: case OAK_LOG: case OAK_PLANKS: @@ -4796,6 +4987,7 @@ public enum Material implements Keyed { case OAK_SLAB: case OAK_STAIRS: case OAK_TRAPDOOR: + case OAK_WALL_HANGING_SIGN: case OAK_WALL_SIGN: case OAK_WOOD: case OBSERVER: @@ -4826,6 +5018,8 @@ public enum Material implements Keyed { case PEARLESCENT_FROGLIGHT: case PEONY: case PETRIFIED_OAK_SLAB: + case PIGLIN_HEAD: + case PIGLIN_WALL_HEAD: case PINK_BANNER: case PINK_BED: case PINK_CANDLE: @@ -5033,6 +5227,7 @@ public enum Material implements Keyed { case SPRUCE_DOOR: case SPRUCE_FENCE: case SPRUCE_FENCE_GATE: + case SPRUCE_HANGING_SIGN: case SPRUCE_LEAVES: case SPRUCE_LOG: case SPRUCE_PLANKS: @@ -5042,6 +5237,7 @@ public enum Material implements Keyed { case SPRUCE_SLAB: case SPRUCE_STAIRS: case SPRUCE_TRAPDOOR: + case SPRUCE_WALL_HANGING_SIGN: case SPRUCE_WALL_SIGN: case SPRUCE_WOOD: case STICKY_PISTON: @@ -5057,6 +5253,7 @@ public enum Material implements Keyed { case STONE_STAIRS: case STRIPPED_ACACIA_LOG: case STRIPPED_ACACIA_WOOD: + case STRIPPED_BAMBOO_BLOCK: case STRIPPED_BIRCH_LOG: case STRIPPED_BIRCH_WOOD: case STRIPPED_CRIMSON_HYPHAE: @@ -5105,6 +5302,7 @@ public enum Material implements Keyed { case WARPED_FENCE: case WARPED_FENCE_GATE: case WARPED_FUNGUS: + case WARPED_HANGING_SIGN: case WARPED_HYPHAE: case WARPED_NYLIUM: case WARPED_PLANKS: @@ -5115,6 +5313,7 @@ public enum Material implements Keyed { case WARPED_STAIRS: case WARPED_STEM: case WARPED_TRAPDOOR: + case WARPED_WALL_HANGING_SIGN: case WARPED_WALL_SIGN: case WARPED_WART_BLOCK: case WATER: @@ -5403,6 +5602,7 @@ public enum Material implements Keyed { case ACACIA_DOOR: case ACACIA_FENCE: case ACACIA_FENCE_GATE: + case ACACIA_HANGING_SIGN: case ACACIA_LEAVES: case ACACIA_LOG: case ACACIA_PLANKS: @@ -5411,6 +5611,7 @@ public enum Material implements Keyed { case ACACIA_SLAB: case ACACIA_STAIRS: case ACACIA_TRAPDOOR: + case ACACIA_WALL_HANGING_SIGN: case ACACIA_WALL_SIGN: case ACACIA_WOOD: case AMETHYST_BLOCK: @@ -5423,6 +5624,22 @@ public enum Material implements Keyed { case ANVIL: case AZALEA_LEAVES: case BAMBOO: + case BAMBOO_BLOCK: + case BAMBOO_DOOR: + case BAMBOO_FENCE: + case BAMBOO_FENCE_GATE: + case BAMBOO_HANGING_SIGN: + case BAMBOO_MOSAIC: + case BAMBOO_MOSAIC_SLAB: + case BAMBOO_MOSAIC_STAIRS: + case BAMBOO_PLANKS: + case BAMBOO_PRESSURE_PLATE: + case BAMBOO_SIGN: + case BAMBOO_SLAB: + case BAMBOO_STAIRS: + case BAMBOO_TRAPDOOR: + case BAMBOO_WALL_HANGING_SIGN: + case BAMBOO_WALL_SIGN: case BARREL: case BARRIER: case BASALT: @@ -5434,6 +5651,7 @@ public enum Material implements Keyed { case BIRCH_DOOR: case BIRCH_FENCE: case BIRCH_FENCE_GATE: + case BIRCH_HANGING_SIGN: case BIRCH_LEAVES: case BIRCH_LOG: case BIRCH_PLANKS: @@ -5442,6 +5660,7 @@ public enum Material implements Keyed { case BIRCH_SLAB: case BIRCH_STAIRS: case BIRCH_TRAPDOOR: + case BIRCH_WALL_HANGING_SIGN: case BIRCH_WALL_SIGN: case BIRCH_WOOD: case BLACKSTONE: @@ -5509,6 +5728,7 @@ public enum Material implements Keyed { case CHAIN_COMMAND_BLOCK: case CHEST: case CHIPPED_ANVIL: + case CHISELED_BOOKSHELF: case CHISELED_DEEPSLATE: case CHISELED_NETHER_BRICKS: case CHISELED_POLISHED_BLACKSTONE: @@ -5542,6 +5762,7 @@ public enum Material implements Keyed { case CRIMSON_DOOR: case CRIMSON_FENCE: case CRIMSON_FENCE_GATE: + case CRIMSON_HANGING_SIGN: case CRIMSON_HYPHAE: case CRIMSON_NYLIUM: case CRIMSON_PLANKS: @@ -5551,6 +5772,7 @@ public enum Material implements Keyed { case CRIMSON_STAIRS: case CRIMSON_STEM: case CRIMSON_TRAPDOOR: + case CRIMSON_WALL_HANGING_SIGN: case CRIMSON_WALL_SIGN: case CRYING_OBSIDIAN: case CUT_COPPER: @@ -5576,6 +5798,7 @@ public enum Material implements Keyed { case DARK_OAK_DOOR: case DARK_OAK_FENCE: case DARK_OAK_FENCE_GATE: + case DARK_OAK_HANGING_SIGN: case DARK_OAK_LEAVES: case DARK_OAK_LOG: case DARK_OAK_PLANKS: @@ -5584,6 +5807,7 @@ public enum Material implements Keyed { case DARK_OAK_SLAB: case DARK_OAK_STAIRS: case DARK_OAK_TRAPDOOR: + case DARK_OAK_WALL_HANGING_SIGN: case DARK_OAK_WALL_SIGN: case DARK_OAK_WOOD: case DARK_PRISMARINE: @@ -5722,6 +5946,7 @@ public enum Material implements Keyed { case JUNGLE_DOOR: case JUNGLE_FENCE: case JUNGLE_FENCE_GATE: + case JUNGLE_HANGING_SIGN: case JUNGLE_LEAVES: case JUNGLE_LOG: case JUNGLE_PLANKS: @@ -5730,6 +5955,7 @@ public enum Material implements Keyed { case JUNGLE_SLAB: case JUNGLE_STAIRS: case JUNGLE_TRAPDOOR: + case JUNGLE_WALL_HANGING_SIGN: case JUNGLE_WALL_SIGN: case JUNGLE_WOOD: case LANTERN: @@ -5794,6 +6020,7 @@ public enum Material implements Keyed { case MANGROVE_DOOR: case MANGROVE_FENCE: case MANGROVE_FENCE_GATE: + case MANGROVE_HANGING_SIGN: case MANGROVE_LEAVES: case MANGROVE_LOG: case MANGROVE_PLANKS: @@ -5803,6 +6030,7 @@ public enum Material implements Keyed { case MANGROVE_SLAB: case MANGROVE_STAIRS: case MANGROVE_TRAPDOOR: + case MANGROVE_WALL_HANGING_SIGN: case MANGROVE_WALL_SIGN: case MANGROVE_WOOD: case MEDIUM_AMETHYST_BUD: @@ -5839,6 +6067,7 @@ public enum Material implements Keyed { case OAK_DOOR: case OAK_FENCE: case OAK_FENCE_GATE: + case OAK_HANGING_SIGN: case OAK_LEAVES: case OAK_LOG: case OAK_PLANKS: @@ -5847,6 +6076,7 @@ public enum Material implements Keyed { case OAK_SLAB: case OAK_STAIRS: case OAK_TRAPDOOR: + case OAK_WALL_HANGING_SIGN: case OAK_WALL_SIGN: case OAK_WOOD: case OBSERVER: @@ -6012,6 +6242,7 @@ public enum Material implements Keyed { case SPRUCE_DOOR: case SPRUCE_FENCE: case SPRUCE_FENCE_GATE: + case SPRUCE_HANGING_SIGN: case SPRUCE_LEAVES: case SPRUCE_LOG: case SPRUCE_PLANKS: @@ -6020,6 +6251,7 @@ public enum Material implements Keyed { case SPRUCE_SLAB: case SPRUCE_STAIRS: case SPRUCE_TRAPDOOR: + case SPRUCE_WALL_HANGING_SIGN: case SPRUCE_WALL_SIGN: case SPRUCE_WOOD: case STICKY_PISTON: @@ -6034,6 +6266,7 @@ public enum Material implements Keyed { case STONE_STAIRS: case STRIPPED_ACACIA_LOG: case STRIPPED_ACACIA_WOOD: + case STRIPPED_BAMBOO_BLOCK: case STRIPPED_BIRCH_LOG: case STRIPPED_BIRCH_WOOD: case STRIPPED_CRIMSON_HYPHAE: @@ -6063,6 +6296,7 @@ public enum Material implements Keyed { case WARPED_DOOR: case WARPED_FENCE: case WARPED_FENCE_GATE: + case WARPED_HANGING_SIGN: case WARPED_HYPHAE: case WARPED_NYLIUM: case WARPED_PLANKS: @@ -6072,6 +6306,7 @@ public enum Material implements Keyed { case WARPED_STAIRS: case WARPED_STEM: case WARPED_TRAPDOOR: + case WARPED_WALL_HANGING_SIGN: case WARPED_WALL_SIGN: case WARPED_WART_BLOCK: case WATER_CAULDRON: @@ -6560,6 +6795,7 @@ public enum Material implements Keyed { case ACACIA_DOOR: case ACACIA_FENCE: case ACACIA_FENCE_GATE: + case ACACIA_HANGING_SIGN: case ACACIA_LEAVES: case ACACIA_LOG: case ACACIA_PLANKS: @@ -6568,17 +6804,35 @@ public enum Material implements Keyed { case ACACIA_SLAB: case ACACIA_STAIRS: case ACACIA_TRAPDOOR: + case ACACIA_WALL_HANGING_SIGN: case ACACIA_WALL_SIGN: case ACACIA_WOOD: case AZALEA_LEAVES: case BAMBOO: + case BAMBOO_BLOCK: + case BAMBOO_DOOR: + case BAMBOO_FENCE: + case BAMBOO_FENCE_GATE: + case BAMBOO_HANGING_SIGN: + case BAMBOO_MOSAIC: + case BAMBOO_MOSAIC_SLAB: + case BAMBOO_MOSAIC_STAIRS: + case BAMBOO_PLANKS: + case BAMBOO_PRESSURE_PLATE: case BAMBOO_SAPLING: + case BAMBOO_SIGN: + case BAMBOO_SLAB: + case BAMBOO_STAIRS: + case BAMBOO_TRAPDOOR: + case BAMBOO_WALL_HANGING_SIGN: + case BAMBOO_WALL_SIGN: case BARREL: case BEEHIVE: case BEE_NEST: case BIRCH_DOOR: case BIRCH_FENCE: case BIRCH_FENCE_GATE: + case BIRCH_HANGING_SIGN: case BIRCH_LEAVES: case BIRCH_LOG: case BIRCH_PLANKS: @@ -6609,8 +6863,11 @@ public enum Material implements Keyed { case CAMPFIRE: case CARTOGRAPHY_TABLE: case CHEST: + 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: @@ -6619,6 +6876,7 @@ public enum Material implements Keyed { case DARK_OAK_DOOR: case DARK_OAK_FENCE: case DARK_OAK_FENCE_GATE: + case DARK_OAK_HANGING_SIGN: case DARK_OAK_LEAVES: case DARK_OAK_LOG: case DARK_OAK_PLANKS: @@ -6627,6 +6885,7 @@ public enum Material implements Keyed { case DARK_OAK_SLAB: case DARK_OAK_STAIRS: case DARK_OAK_TRAPDOOR: + case DARK_OAK_WALL_HANGING_SIGN: case DARK_OAK_WALL_SIGN: case DARK_OAK_WOOD: case DAYLIGHT_DETECTOR: @@ -6651,6 +6910,7 @@ public enum Material implements Keyed { case JUNGLE_DOOR: case JUNGLE_FENCE: case JUNGLE_FENCE_GATE: + case JUNGLE_HANGING_SIGN: case JUNGLE_LEAVES: case JUNGLE_LOG: case JUNGLE_PLANKS: @@ -6659,6 +6919,7 @@ public enum Material implements Keyed { case JUNGLE_SLAB: case JUNGLE_STAIRS: case JUNGLE_TRAPDOOR: + case JUNGLE_WALL_HANGING_SIGN: case JUNGLE_WALL_SIGN: case JUNGLE_WOOD: case LARGE_FERN: @@ -6688,6 +6949,7 @@ public enum Material implements Keyed { case MANGROVE_DOOR: case MANGROVE_FENCE: case MANGROVE_FENCE_GATE: + case MANGROVE_HANGING_SIGN: case MANGROVE_LEAVES: case MANGROVE_LOG: case MANGROVE_PLANKS: @@ -6697,6 +6959,7 @@ public enum Material implements Keyed { case MANGROVE_SLAB: case MANGROVE_STAIRS: case MANGROVE_TRAPDOOR: + case MANGROVE_WALL_HANGING_SIGN: case MANGROVE_WALL_SIGN: case MANGROVE_WOOD: case MUSHROOM_STEM: @@ -6704,6 +6967,7 @@ public enum Material implements Keyed { case OAK_DOOR: case OAK_FENCE: case OAK_FENCE_GATE: + case OAK_HANGING_SIGN: case OAK_LEAVES: case OAK_LOG: case OAK_PLANKS: @@ -6712,6 +6976,7 @@ public enum Material implements Keyed { case OAK_SLAB: case OAK_STAIRS: case OAK_TRAPDOOR: + case OAK_WALL_HANGING_SIGN: case OAK_WALL_SIGN: case OAK_WOOD: case ORANGE_BANNER: @@ -6742,6 +7007,7 @@ public enum Material implements Keyed { case SPRUCE_DOOR: case SPRUCE_FENCE: case SPRUCE_FENCE_GATE: + case SPRUCE_HANGING_SIGN: case SPRUCE_LEAVES: case SPRUCE_LOG: case SPRUCE_PLANKS: @@ -6750,10 +7016,12 @@ public enum Material implements Keyed { case SPRUCE_SLAB: case SPRUCE_STAIRS: case SPRUCE_TRAPDOOR: + case SPRUCE_WALL_HANGING_SIGN: case SPRUCE_WALL_SIGN: case SPRUCE_WOOD: case STRIPPED_ACACIA_LOG: case STRIPPED_ACACIA_WOOD: + case STRIPPED_BAMBOO_BLOCK: case STRIPPED_BIRCH_LOG: case STRIPPED_BIRCH_WOOD: case STRIPPED_DARK_OAK_LOG: @@ -6771,6 +7039,8 @@ public enum Material implements Keyed { 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: @@ -6868,6 +7138,15 @@ public enum Material implements Keyed { case AZALEA_LEAVES: case AZURE_BLUET: case BAMBOO: + case BAMBOO_BLOCK: + case BAMBOO_FENCE: + case BAMBOO_FENCE_GATE: + case BAMBOO_MOSAIC: + case BAMBOO_MOSAIC_SLAB: + case BAMBOO_MOSAIC_STAIRS: + case BAMBOO_PLANKS: + case BAMBOO_SLAB: + case BAMBOO_STAIRS: case BEEHIVE: case BEE_NEST: case BIG_DRIPLEAF: @@ -6982,6 +7261,7 @@ public enum Material implements Keyed { case SPRUCE_WOOD: case STRIPPED_ACACIA_LOG: case STRIPPED_ACACIA_WOOD: + case STRIPPED_BAMBOO_BLOCK: case STRIPPED_BIRCH_LOG: case STRIPPED_BIRCH_WOOD: case STRIPPED_DARK_OAK_LOG: @@ -7076,6 +7356,9 @@ public enum Material implements Keyed { case ACACIA_WOOD: case AZALEA: case BAMBOO: + case BAMBOO_MOSAIC: + case BAMBOO_MOSAIC_SLAB: + case BAMBOO_MOSAIC_STAIRS: case BARREL: case BIRCH_BOAT: case BIRCH_BUTTON: @@ -7108,6 +7391,7 @@ public enum Material implements Keyed { case CARTOGRAPHY_TABLE: case CHARCOAL: case CHEST: + case CHISELED_BOOKSHELF: case COAL: case COAL_BLOCK: case COMPOSTER: @@ -7364,6 +7648,9 @@ public enum Material implements Keyed { case AMETHYST_BLOCK: case ANCIENT_DEBRIS: case ANDESITE: + case BAMBOO_BLOCK: + case BAMBOO_MOSAIC: + case BAMBOO_PLANKS: case BARREL: case BARRIER: case BASALT: @@ -7405,6 +7692,7 @@ public enum Material implements Keyed { case CARTOGRAPHY_TABLE: case CARVED_PUMPKIN: case CHAIN_COMMAND_BLOCK: + case CHISELED_BOOKSHELF: case CHISELED_DEEPSLATE: case CHISELED_NETHER_BRICKS: case CHISELED_POLISHED_BLACKSTONE: @@ -7652,6 +7940,7 @@ public enum Material implements Keyed { case STONE_BRICKS: case STRIPPED_ACACIA_LOG: case STRIPPED_ACACIA_WOOD: + case STRIPPED_BAMBOO_BLOCK: case STRIPPED_BIRCH_LOG: case STRIPPED_BIRCH_WOOD: case STRIPPED_CRIMSON_HYPHAE: @@ -7860,12 +8149,16 @@ public enum Material implements Keyed { public boolean isItem() { switch (this) { // + case ACACIA_WALL_HANGING_SIGN: case ACACIA_WALL_SIGN: case ATTACHED_MELON_STEM: case ATTACHED_PUMPKIN_STEM: case BAMBOO_SAPLING: + case BAMBOO_WALL_HANGING_SIGN: + case BAMBOO_WALL_SIGN: case BEETROOTS: case BIG_DRIPLEAF_STEM: + case BIRCH_WALL_HANGING_SIGN: case BIRCH_WALL_SIGN: case BLACK_CANDLE_CAKE: case BLACK_WALL_BANNER: @@ -7883,9 +8176,11 @@ public enum Material implements Keyed { case CAVE_VINES_PLANT: case COCOA: case CREEPER_WALL_HEAD: + case CRIMSON_WALL_HANGING_SIGN: case CRIMSON_WALL_SIGN: case CYAN_CANDLE_CAKE: case CYAN_WALL_BANNER: + case DARK_OAK_WALL_HANGING_SIGN: case DARK_OAK_WALL_SIGN: case DEAD_BRAIN_CORAL_WALL_FAN: case DEAD_BUBBLE_CORAL_WALL_FAN: @@ -7903,6 +8198,7 @@ public enum Material implements Keyed { case GREEN_CANDLE_CAKE: case GREEN_WALL_BANNER: case HORN_CORAL_WALL_FAN: + case JUNGLE_WALL_HANGING_SIGN: case JUNGLE_WALL_SIGN: case KELP_PLANT: case LAVA: @@ -7915,13 +8211,16 @@ public enum Material implements Keyed { case LIME_WALL_BANNER: case MAGENTA_CANDLE_CAKE: case MAGENTA_WALL_BANNER: + case MANGROVE_WALL_HANGING_SIGN: case MANGROVE_WALL_SIGN: case MELON_STEM: case MOVING_PISTON: case NETHER_PORTAL: + case OAK_WALL_HANGING_SIGN: case OAK_WALL_SIGN: case ORANGE_CANDLE_CAKE: case ORANGE_WALL_BANNER: + case PIGLIN_WALL_HEAD: case PINK_CANDLE_CAKE: case PINK_WALL_BANNER: case PISTON_HEAD: @@ -7971,6 +8270,7 @@ public enum Material implements Keyed { case SKELETON_WALL_SKULL: case SOUL_FIRE: case SOUL_WALL_TORCH: + case SPRUCE_WALL_HANGING_SIGN: case SPRUCE_WALL_SIGN: case SWEET_BERRY_BUSH: case TALL_SEAGRASS: @@ -7979,6 +8279,7 @@ public enum Material implements Keyed { case TWISTING_VINES_PLANT: case VOID_AIR: case WALL_TORCH: + case WARPED_WALL_HANGING_SIGN: case WARPED_WALL_SIGN: case WATER: case WATER_CAULDRON: @@ -8072,12 +8373,25 @@ public enum Material implements Keyed { case ACACIA_DOOR: case ACACIA_FENCE: case ACACIA_FENCE_GATE: + case ACACIA_HANGING_SIGN: case ACACIA_SIGN: case ACACIA_STAIRS: case ACACIA_TRAPDOOR: + case ACACIA_WALL_HANGING_SIGN: case ACACIA_WALL_SIGN: case ANDESITE_STAIRS: case ANVIL: + case BAMBOO_BUTTON: + case BAMBOO_DOOR: + case BAMBOO_FENCE: + case BAMBOO_FENCE_GATE: + case BAMBOO_HANGING_SIGN: + case BAMBOO_MOSAIC_STAIRS: + case BAMBOO_SIGN: + case BAMBOO_STAIRS: + case BAMBOO_TRAPDOOR: + case BAMBOO_WALL_HANGING_SIGN: + case BAMBOO_WALL_SIGN: case BARREL: case BEACON: case BEEHIVE: @@ -8087,9 +8401,11 @@ public enum Material implements Keyed { case BIRCH_DOOR: case BIRCH_FENCE: case BIRCH_FENCE_GATE: + case BIRCH_HANGING_SIGN: case BIRCH_SIGN: case BIRCH_STAIRS: case BIRCH_TRAPDOOR: + case BIRCH_WALL_HANGING_SIGN: case BIRCH_WALL_SIGN: case BLACKSTONE_STAIRS: case BLACK_BED: @@ -8118,6 +8434,7 @@ public enum Material implements Keyed { case CHAIN_COMMAND_BLOCK: case CHEST: case CHIPPED_ANVIL: + case CHISELED_BOOKSHELF: case COBBLED_DEEPSLATE_STAIRS: case COBBLESTONE_STAIRS: case COMMAND_BLOCK: @@ -8128,9 +8445,11 @@ public enum Material implements Keyed { case CRIMSON_DOOR: case CRIMSON_FENCE: case CRIMSON_FENCE_GATE: + case CRIMSON_HANGING_SIGN: case CRIMSON_SIGN: case CRIMSON_STAIRS: case CRIMSON_TRAPDOOR: + case CRIMSON_WALL_HANGING_SIGN: case CRIMSON_WALL_SIGN: case CUT_COPPER_STAIRS: case CYAN_BED: @@ -8142,9 +8461,11 @@ public enum Material implements Keyed { case DARK_OAK_DOOR: case DARK_OAK_FENCE: case DARK_OAK_FENCE_GATE: + case DARK_OAK_HANGING_SIGN: case DARK_OAK_SIGN: case DARK_OAK_STAIRS: case DARK_OAK_TRAPDOOR: + case DARK_OAK_WALL_HANGING_SIGN: case DARK_OAK_WALL_SIGN: case DARK_PRISMARINE_STAIRS: case DAYLIGHT_DETECTOR: @@ -8181,9 +8502,11 @@ public enum Material implements Keyed { case JUNGLE_DOOR: case JUNGLE_FENCE: case JUNGLE_FENCE_GATE: + case JUNGLE_HANGING_SIGN: case JUNGLE_SIGN: case JUNGLE_STAIRS: case JUNGLE_TRAPDOOR: + case JUNGLE_WALL_HANGING_SIGN: case JUNGLE_WALL_SIGN: case LAVA_CAULDRON: case LECTERN: @@ -8210,9 +8533,11 @@ public enum Material implements Keyed { case MANGROVE_DOOR: case MANGROVE_FENCE: case MANGROVE_FENCE_GATE: + case MANGROVE_HANGING_SIGN: case MANGROVE_SIGN: case MANGROVE_STAIRS: case MANGROVE_TRAPDOOR: + case MANGROVE_WALL_HANGING_SIGN: case MANGROVE_WALL_SIGN: case MOSSY_COBBLESTONE_STAIRS: case MOSSY_STONE_BRICK_STAIRS: @@ -8225,9 +8550,11 @@ public enum Material implements Keyed { case OAK_DOOR: case OAK_FENCE: case OAK_FENCE_GATE: + case OAK_HANGING_SIGN: case OAK_SIGN: case OAK_STAIRS: case OAK_TRAPDOOR: + case OAK_WALL_HANGING_SIGN: case OAK_WALL_SIGN: case ORANGE_BED: case ORANGE_CANDLE: @@ -8310,9 +8637,11 @@ public enum Material implements Keyed { case SPRUCE_DOOR: case SPRUCE_FENCE: case SPRUCE_FENCE_GATE: + case SPRUCE_HANGING_SIGN: case SPRUCE_SIGN: case SPRUCE_STAIRS: case SPRUCE_TRAPDOOR: + case SPRUCE_WALL_HANGING_SIGN: case SPRUCE_WALL_SIGN: case STONECUTTER: case STONE_BRICK_STAIRS: @@ -8326,9 +8655,11 @@ public enum Material implements Keyed { case WARPED_DOOR: case WARPED_FENCE: case WARPED_FENCE_GATE: + case WARPED_HANGING_SIGN: case WARPED_SIGN: case WARPED_STAIRS: case WARPED_TRAPDOOR: + case WARPED_WALL_HANGING_SIGN: case WARPED_WALL_SIGN: case WATER_CAULDRON: case WAXED_CUT_COPPER_STAIRS: @@ -8508,6 +8839,8 @@ public enum Material implements Keyed { return 0.4F; case ACACIA_BUTTON: case ACACIA_PRESSURE_PLATE: + case BAMBOO_BUTTON: + case BAMBOO_PRESSURE_PLATE: case BIRCH_BUTTON: case BIRCH_PRESSURE_PLATE: case BLACK_CANDLE_CAKE: @@ -8644,11 +8977,19 @@ public enum Material implements Keyed { case WHITE_WOOL: case YELLOW_WOOL: return 0.8F; + case ACACIA_HANGING_SIGN: case ACACIA_SIGN: + case ACACIA_WALL_HANGING_SIGN: case ACACIA_WALL_SIGN: case BAMBOO: + case BAMBOO_HANGING_SIGN: case BAMBOO_SAPLING: + case BAMBOO_SIGN: + case BAMBOO_WALL_HANGING_SIGN: + case BAMBOO_WALL_SIGN: + case BIRCH_HANGING_SIGN: case BIRCH_SIGN: + case BIRCH_WALL_HANGING_SIGN: case BIRCH_WALL_SIGN: case BLACK_BANNER: case BLACK_WALL_BANNER: @@ -8659,11 +9000,15 @@ public enum Material implements Keyed { case CARVED_PUMPKIN: case CREEPER_HEAD: case CREEPER_WALL_HEAD: + case CRIMSON_HANGING_SIGN: case CRIMSON_SIGN: + case CRIMSON_WALL_HANGING_SIGN: case CRIMSON_WALL_SIGN: case CYAN_BANNER: case CYAN_WALL_BANNER: + case DARK_OAK_HANGING_SIGN: case DARK_OAK_SIGN: + case DARK_OAK_WALL_HANGING_SIGN: case DARK_OAK_WALL_SIGN: case DRAGON_HEAD: case DRAGON_WALL_HEAD: @@ -8673,7 +9018,9 @@ public enum Material implements Keyed { case GREEN_WALL_BANNER: case INFESTED_COBBLESTONE: case JACK_O_LANTERN: + case JUNGLE_HANGING_SIGN: case JUNGLE_SIGN: + case JUNGLE_WALL_HANGING_SIGN: case JUNGLE_WALL_SIGN: case LIGHT_BLUE_BANNER: case LIGHT_BLUE_WALL_BANNER: @@ -8683,15 +9030,21 @@ public enum Material implements Keyed { case LIME_WALL_BANNER: case MAGENTA_BANNER: case MAGENTA_WALL_BANNER: + case MANGROVE_HANGING_SIGN: case MANGROVE_SIGN: + case MANGROVE_WALL_HANGING_SIGN: case MANGROVE_WALL_SIGN: case MELON: case NETHER_WART_BLOCK: + case OAK_HANGING_SIGN: case OAK_SIGN: + case OAK_WALL_HANGING_SIGN: case OAK_WALL_SIGN: case ORANGE_BANNER: case ORANGE_WALL_BANNER: case PACKED_MUD: + case PIGLIN_HEAD: + case PIGLIN_WALL_HEAD: case PINK_BANNER: case PINK_WALL_BANNER: case PLAYER_HEAD: @@ -8704,9 +9057,13 @@ public enum Material implements Keyed { case SHROOMLIGHT: case SKELETON_SKULL: case SKELETON_WALL_SKULL: + case SPRUCE_HANGING_SIGN: case SPRUCE_SIGN: + case SPRUCE_WALL_HANGING_SIGN: case SPRUCE_WALL_SIGN: + case WARPED_HANGING_SIGN: case WARPED_SIGN: + case WARPED_WALL_HANGING_SIGN: case WARPED_WALL_SIGN: case WARPED_WART_BLOCK: case WHITE_BANNER: @@ -8769,6 +9126,7 @@ public enum Material implements Keyed { case BRAIN_CORAL_BLOCK: case BUBBLE_CORAL_BLOCK: case BUDDING_AMETHYST: + case CHISELED_BOOKSHELF: case CHISELED_POLISHED_BLACKSTONE: case CHISELED_STONE_BRICKS: case CRACKED_POLISHED_BLACKSTONE_BRICKS: @@ -8864,6 +9222,15 @@ public enum Material implements Keyed { case ACACIA_SLAB: case ACACIA_STAIRS: case ACACIA_WOOD: + case BAMBOO_BLOCK: + case BAMBOO_FENCE: + case BAMBOO_FENCE_GATE: + case BAMBOO_MOSAIC: + case BAMBOO_MOSAIC_SLAB: + case BAMBOO_MOSAIC_STAIRS: + case BAMBOO_PLANKS: + case BAMBOO_SLAB: + case BAMBOO_STAIRS: case BIRCH_FENCE: case BIRCH_FENCE_GATE: case BIRCH_LOG: @@ -8987,6 +9354,7 @@ public enum Material implements Keyed { case STONE_SLAB: case STRIPPED_ACACIA_LOG: case STRIPPED_ACACIA_WOOD: + case STRIPPED_BAMBOO_BLOCK: case STRIPPED_BIRCH_LOG: case STRIPPED_BIRCH_WOOD: case STRIPPED_CRIMSON_HYPHAE: @@ -9028,6 +9396,8 @@ public enum Material implements Keyed { return 2.8F; case ACACIA_DOOR: case ACACIA_TRAPDOOR: + case BAMBOO_DOOR: + case BAMBOO_TRAPDOOR: case BEACON: case BIRCH_DOOR: case BIRCH_TRAPDOOR: @@ -9325,6 +9695,8 @@ public enum Material implements Keyed { return 0.4F; case ACACIA_BUTTON: case ACACIA_PRESSURE_PLATE: + case BAMBOO_BUTTON: + case BAMBOO_PRESSURE_PLATE: case BIRCH_BUTTON: case BIRCH_PRESSURE_PLATE: case BLACK_CANDLE_CAKE: @@ -9462,11 +9834,19 @@ public enum Material implements Keyed { case WHITE_WOOL: case YELLOW_WOOL: return 0.8F; + case ACACIA_HANGING_SIGN: case ACACIA_SIGN: + case ACACIA_WALL_HANGING_SIGN: case ACACIA_WALL_SIGN: case BAMBOO: + case BAMBOO_HANGING_SIGN: case BAMBOO_SAPLING: + case BAMBOO_SIGN: + case BAMBOO_WALL_HANGING_SIGN: + case BAMBOO_WALL_SIGN: + case BIRCH_HANGING_SIGN: case BIRCH_SIGN: + case BIRCH_WALL_HANGING_SIGN: case BIRCH_WALL_SIGN: case BLACK_BANNER: case BLACK_WALL_BANNER: @@ -9477,11 +9857,15 @@ public enum Material implements Keyed { case CARVED_PUMPKIN: case CREEPER_HEAD: case CREEPER_WALL_HEAD: + case CRIMSON_HANGING_SIGN: case CRIMSON_SIGN: + case CRIMSON_WALL_HANGING_SIGN: case CRIMSON_WALL_SIGN: case CYAN_BANNER: case CYAN_WALL_BANNER: + case DARK_OAK_HANGING_SIGN: case DARK_OAK_SIGN: + case DARK_OAK_WALL_HANGING_SIGN: case DARK_OAK_WALL_SIGN: case DRAGON_HEAD: case DRAGON_WALL_HEAD: @@ -9491,7 +9875,9 @@ public enum Material implements Keyed { case GREEN_BANNER: case GREEN_WALL_BANNER: case JACK_O_LANTERN: + case JUNGLE_HANGING_SIGN: case JUNGLE_SIGN: + case JUNGLE_WALL_HANGING_SIGN: case JUNGLE_WALL_SIGN: case LIGHT_BLUE_BANNER: case LIGHT_BLUE_WALL_BANNER: @@ -9501,14 +9887,20 @@ public enum Material implements Keyed { case LIME_WALL_BANNER: case MAGENTA_BANNER: case MAGENTA_WALL_BANNER: + case MANGROVE_HANGING_SIGN: case MANGROVE_SIGN: + case MANGROVE_WALL_HANGING_SIGN: case MANGROVE_WALL_SIGN: case MELON: case NETHER_WART_BLOCK: + case OAK_HANGING_SIGN: case OAK_SIGN: + case OAK_WALL_HANGING_SIGN: case OAK_WALL_SIGN: case ORANGE_BANNER: case ORANGE_WALL_BANNER: + case PIGLIN_HEAD: + case PIGLIN_WALL_HEAD: case PINK_BANNER: case PINK_WALL_BANNER: case PLAYER_HEAD: @@ -9521,9 +9913,13 @@ public enum Material implements Keyed { case SHROOMLIGHT: case SKELETON_SKULL: case SKELETON_WALL_SKULL: + case SPRUCE_HANGING_SIGN: case SPRUCE_SIGN: + case SPRUCE_WALL_HANGING_SIGN: case SPRUCE_WALL_SIGN: + case WARPED_HANGING_SIGN: case WARPED_SIGN: + case WARPED_WALL_HANGING_SIGN: case WARPED_WALL_SIGN: case WARPED_WART_BLOCK: case WHITE_BANNER: @@ -9556,6 +9952,7 @@ public enum Material implements Keyed { case AMETHYST_CLUSTER: case BOOKSHELF: case BUDDING_AMETHYST: + case CHISELED_BOOKSHELF: case LARGE_AMETHYST_BUD: case MEDIUM_AMETHYST_BUD: case PISTON: @@ -9583,6 +9980,7 @@ public enum Material implements Keyed { return 1.8F; case ACACIA_LOG: case ACACIA_WOOD: + case BAMBOO_BLOCK: case BIRCH_LOG: case BIRCH_WOOD: case BLACK_SHULKER_BOX: @@ -9620,6 +10018,7 @@ public enum Material implements Keyed { case SPRUCE_WOOD: case STRIPPED_ACACIA_LOG: case STRIPPED_ACACIA_WOOD: + case STRIPPED_BAMBOO_BLOCK: case STRIPPED_BIRCH_LOG: case STRIPPED_BIRCH_WOOD: case STRIPPED_CRIMSON_HYPHAE: @@ -9662,6 +10061,16 @@ public enum Material implements Keyed { case ACACIA_SLAB: case ACACIA_STAIRS: case ACACIA_TRAPDOOR: + case BAMBOO_DOOR: + case BAMBOO_FENCE: + case BAMBOO_FENCE_GATE: + case BAMBOO_MOSAIC: + case BAMBOO_MOSAIC_SLAB: + case BAMBOO_MOSAIC_STAIRS: + case BAMBOO_PLANKS: + case BAMBOO_SLAB: + case BAMBOO_STAIRS: + case BAMBOO_TRAPDOOR: case BEACON: case BIRCH_DOOR: case BIRCH_FENCE: @@ -10091,6 +10500,7 @@ public enum Material implements Keyed { case LEATHER_HELMET: case NETHERITE_HELMET: case PLAYER_HEAD: + case PIGLIN_HEAD: case SKELETON_SKULL: case TURTLE_HELMET: case WITHER_SKELETON_SKULL: diff --git a/paper-api/src/main/java/org/bukkit/Server.java b/paper-api/src/main/java/org/bukkit/Server.java index b1ed8a51c..ac380d4f4 100644 --- a/paper-api/src/main/java/org/bukkit/Server.java +++ b/paper-api/src/main/java/org/bukkit/Server.java @@ -859,7 +859,9 @@ public interface Server extends PluginMessageRecipient { * message to the client when the player types a message * * @return true if the server should send a preview, false otherwise + * @deprecated chat previews have been removed */ + @Deprecated public boolean shouldSendChatPreviews(); /** diff --git a/paper-api/src/main/java/org/bukkit/SkullType.java b/paper-api/src/main/java/org/bukkit/SkullType.java index 1c3d9ae9b..49f2f1128 100644 --- a/paper-api/src/main/java/org/bukkit/SkullType.java +++ b/paper-api/src/main/java/org/bukkit/SkullType.java @@ -11,5 +11,6 @@ public enum SkullType { ZOMBIE, PLAYER, CREEPER, - DRAGON; + DRAGON, + PIGLIN; } diff --git a/paper-api/src/main/java/org/bukkit/Sound.java b/paper-api/src/main/java/org/bukkit/Sound.java index 21b95d404..6b360758c 100644 --- a/paper-api/src/main/java/org/bukkit/Sound.java +++ b/paper-api/src/main/java/org/bukkit/Sound.java @@ -76,6 +76,26 @@ public enum Sound implements Keyed { BLOCK_BAMBOO_SAPLING_HIT("block.bamboo_sapling.hit"), BLOCK_BAMBOO_SAPLING_PLACE("block.bamboo_sapling.place"), BLOCK_BAMBOO_STEP("block.bamboo.step"), + BLOCK_BAMBOO_WOOD_BREAK("block.bamboo_wood.break"), + BLOCK_BAMBOO_WOOD_BUTTON_CLICK_OFF("block.bamboo_wood_button.click_off"), + BLOCK_BAMBOO_WOOD_BUTTON_CLICK_ON("block.bamboo_wood_button.click_on"), + BLOCK_BAMBOO_WOOD_DOOR_CLOSE("block.bamboo_wood_door.close"), + BLOCK_BAMBOO_WOOD_DOOR_OPEN("block.bamboo_wood_door.open"), + 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"), + BLOCK_BAMBOO_WOOD_HANGING_SIGN_BREAK("block.bamboo_wood_hanging_sign.break"), + BLOCK_BAMBOO_WOOD_HANGING_SIGN_FALL("block.bamboo_wood_hanging_sign.fall"), + BLOCK_BAMBOO_WOOD_HANGING_SIGN_HIT("block.bamboo_wood_hanging_sign.hit"), + BLOCK_BAMBOO_WOOD_HANGING_SIGN_PLACE("block.bamboo_wood_hanging_sign.place"), + 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"), + BLOCK_BAMBOO_WOOD_PRESSURE_PLATE_CLICK_OFF("block.bamboo_wood_pressure_plate.click_off"), + BLOCK_BAMBOO_WOOD_PRESSURE_PLATE_CLICK_ON("block.bamboo_wood_pressure_plate.click_on"), + BLOCK_BAMBOO_WOOD_STEP("block.bamboo_wood.step"), + BLOCK_BAMBOO_WOOD_TRAPDOOR_CLOSE("block.bamboo_wood_trapdoor.close"), + BLOCK_BAMBOO_WOOD_TRAPDOOR_OPEN("block.bamboo_wood_trapdoor.open"), BLOCK_BARREL_CLOSE("block.barrel.close"), BLOCK_BARREL_OPEN("block.barrel.open"), BLOCK_BASALT_BREAK("block.basalt.break"), @@ -141,6 +161,15 @@ public enum Sound implements Keyed { BLOCK_CHEST_CLOSE("block.chest.close"), BLOCK_CHEST_LOCKED("block.chest.locked"), BLOCK_CHEST_OPEN("block.chest.open"), + BLOCK_CHISELED_BOOKSHELF_BREAK("block.chiseled_bookshelf.break"), + BLOCK_CHISELED_BOOKSHELF_FALL("block.chiseled_bookshelf.fall"), + BLOCK_CHISELED_BOOKSHELF_HIT("block.chiseled_bookshelf.hit"), + BLOCK_CHISELED_BOOKSHELF_INSERT("block.chiseled_bookshelf.insert"), + BLOCK_CHISELED_BOOKSHELF_INSERT_ENCHANTED("block.chiseled_bookshelf.insert.enchanted"), + BLOCK_CHISELED_BOOKSHELF_PICKUP("block.chiseled_bookshelf.pickup"), + BLOCK_CHISELED_BOOKSHELF_PICKUP_ENCHANTED("block.chiseled_bookshelf.pickup.enchanted"), + BLOCK_CHISELED_BOOKSHELF_PLACE("block.chiseled_bookshelf.place"), + BLOCK_CHISELED_BOOKSHELF_STEP("block.chiseled_bookshelf.step"), BLOCK_CHORUS_FLOWER_DEATH("block.chorus_flower.death"), BLOCK_CHORUS_FLOWER_GROW("block.chorus_flower.grow"), BLOCK_COMPARATOR_CLICK("block.comparator.click"), @@ -246,6 +275,11 @@ public enum Sound implements Keyed { BLOCK_HANGING_ROOTS_HIT("block.hanging_roots.hit"), BLOCK_HANGING_ROOTS_PLACE("block.hanging_roots.place"), BLOCK_HANGING_ROOTS_STEP("block.hanging_roots.step"), + BLOCK_HANGING_SIGN_BREAK("block.hanging_sign.break"), + BLOCK_HANGING_SIGN_FALL("block.hanging_sign.fall"), + BLOCK_HANGING_SIGN_HIT("block.hanging_sign.hit"), + BLOCK_HANGING_SIGN_PLACE("block.hanging_sign.place"), + BLOCK_HANGING_SIGN_STEP("block.hanging_sign.step"), BLOCK_HONEY_BLOCK_BREAK("block.honey_block.break"), BLOCK_HONEY_BLOCK_FALL("block.honey_block.fall"), BLOCK_HONEY_BLOCK_HIT("block.honey_block.hit"), @@ -348,6 +382,26 @@ public enum Sound implements Keyed { BLOCK_NETHER_SPROUTS_PLACE("block.nether_sprouts.place"), BLOCK_NETHER_SPROUTS_STEP("block.nether_sprouts.step"), BLOCK_NETHER_WART_BREAK("block.nether_wart.break"), + BLOCK_NETHER_WOOD_BREAK("block.nether_wood.break"), + BLOCK_NETHER_WOOD_BUTTON_CLICK_OFF("block.nether_wood_button.click_off"), + BLOCK_NETHER_WOOD_BUTTON_CLICK_ON("block.nether_wood_button.click_on"), + BLOCK_NETHER_WOOD_DOOR_CLOSE("block.nether_wood_door.close"), + BLOCK_NETHER_WOOD_DOOR_OPEN("block.nether_wood_door.open"), + BLOCK_NETHER_WOOD_FALL("block.nether_wood.fall"), + BLOCK_NETHER_WOOD_FENCE_GATE_CLOSE("block.nether_wood_fence_gate.close"), + BLOCK_NETHER_WOOD_FENCE_GATE_OPEN("block.nether_wood_fence_gate.open"), + BLOCK_NETHER_WOOD_HANGING_SIGN_BREAK("block.nether_wood_hanging_sign.break"), + BLOCK_NETHER_WOOD_HANGING_SIGN_FALL("block.nether_wood_hanging_sign.fall"), + BLOCK_NETHER_WOOD_HANGING_SIGN_HIT("block.nether_wood_hanging_sign.hit"), + BLOCK_NETHER_WOOD_HANGING_SIGN_PLACE("block.nether_wood_hanging_sign.place"), + BLOCK_NETHER_WOOD_HANGING_SIGN_STEP("block.nether_wood_hanging_sign.step"), + BLOCK_NETHER_WOOD_HIT("block.nether_wood.hit"), + BLOCK_NETHER_WOOD_PLACE("block.nether_wood.place"), + BLOCK_NETHER_WOOD_PRESSURE_PLATE_CLICK_OFF("block.nether_wood_pressure_plate.click_off"), + BLOCK_NETHER_WOOD_PRESSURE_PLATE_CLICK_ON("block.nether_wood_pressure_plate.click_on"), + BLOCK_NETHER_WOOD_STEP("block.nether_wood.step"), + BLOCK_NETHER_WOOD_TRAPDOOR_CLOSE("block.nether_wood_trapdoor.close"), + BLOCK_NETHER_WOOD_TRAPDOOR_OPEN("block.nether_wood_trapdoor.open"), BLOCK_NOTE_BLOCK_BANJO("block.note_block.banjo"), BLOCK_NOTE_BLOCK_BASEDRUM("block.note_block.basedrum"), BLOCK_NOTE_BLOCK_BASS("block.note_block.bass"), @@ -360,6 +414,12 @@ public enum Sound implements Keyed { BLOCK_NOTE_BLOCK_GUITAR("block.note_block.guitar"), BLOCK_NOTE_BLOCK_HARP("block.note_block.harp"), BLOCK_NOTE_BLOCK_HAT("block.note_block.hat"), + BLOCK_NOTE_BLOCK_IMITATE_CREEPER("block.note_block.imitate.creeper"), + BLOCK_NOTE_BLOCK_IMITATE_ENDER_DRAGON("block.note_block.imitate.ender_dragon"), + BLOCK_NOTE_BLOCK_IMITATE_PIGLIN("block.note_block.imitate.piglin"), + BLOCK_NOTE_BLOCK_IMITATE_SKELETON("block.note_block.imitate.skeleton"), + BLOCK_NOTE_BLOCK_IMITATE_WITHER_SKELETON("block.note_block.imitate.wither_skeleton"), + BLOCK_NOTE_BLOCK_IMITATE_ZOMBIE("block.note_block.imitate.zombie"), BLOCK_NOTE_BLOCK_IRON_XYLOPHONE("block.note_block.iron_xylophone"), BLOCK_NOTE_BLOCK_PLING("block.note_block.pling"), BLOCK_NOTE_BLOCK_SNARE("block.note_block.snare"), @@ -602,6 +662,17 @@ 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"), + ENTITY_CAMEL_AMBIENT("entity.camel.ambient"), + ENTITY_CAMEL_DASH("entity.camel.dash"), + ENTITY_CAMEL_DASH_READY("entity.camel.dash_ready"), + ENTITY_CAMEL_DEATH("entity.camel.death"), + ENTITY_CAMEL_EAT("entity.camel.eat"), + ENTITY_CAMEL_HURT("entity.camel.hurt"), + ENTITY_CAMEL_SADDLE("entity.camel.saddle"), + ENTITY_CAMEL_SIT("entity.camel.sit"), + ENTITY_CAMEL_STAND("entity.camel.stand"), + ENTITY_CAMEL_STEP("entity.camel.step"), + ENTITY_CAMEL_STEP_SAND("entity.camel.step_sand"), ENTITY_CAT_AMBIENT("entity.cat.ambient"), ENTITY_CAT_BEG_FOR_FOOD("entity.cat.beg_for_food"), ENTITY_CAT_DEATH("entity.cat.death"), diff --git a/paper-api/src/main/java/org/bukkit/Tag.java b/paper-api/src/main/java/org/bukkit/Tag.java index 6f6e359df..bceaa1a97 100644 --- a/paper-api/src/main/java/org/bukkit/Tag.java +++ b/paper-api/src/main/java/org/bukkit/Tag.java @@ -95,11 +95,6 @@ public interface Tag extends Keyed { * Vanilla block tag representing all log and bark variants that burn. */ Tag LOGS_THAT_BURN = Bukkit.getTag(REGISTRY_BLOCKS, NamespacedKey.minecraft("logs_that_burn"), Material.class); - /** - * Vanilla block tag representing all log bark variants that appear - * naturally in the overworld. - */ - Tag OVERWORLD_NATURAL_LOGS = Bukkit.getTag(REGISTRY_BLOCKS, NamespacedKey.minecraft("overworld_natural_logs"), Material.class); /** * Vanilla block tag representing all log and bark variants. */ @@ -140,6 +135,10 @@ public interface Tag extends Keyed { * Vanilla block tag representing all warped stems. */ Tag WARPED_STEMS = Bukkit.getTag(REGISTRY_BLOCKS, NamespacedKey.minecraft("warped_stems"), Material.class); + /** + * Vanilla block tag representing all bamboo blocks. + */ + Tag BAMBOO_BLOCKS = Bukkit.getTag(REGISTRY_BLOCKS, NamespacedKey.minecraft("bamboo_blocks"), Material.class); /** * Vanilla block tag representing all banner blocks. */ @@ -237,10 +236,6 @@ public interface Tag extends Keyed { * Vanilla block tag representing all copper ores. */ Tag COPPER_ORES = Bukkit.getTag(REGISTRY_BLOCKS, NamespacedKey.minecraft("copper_ores"), Material.class); - /** - * Vanilla block tag representing all non flammable wood. - */ - Tag NON_FLAMMABLE_WOOD = Bukkit.getTag(REGISTRY_BLOCKS, NamespacedKey.minecraft("non_flammable_wood"), Material.class); /** * Vanilla block tag representing all candles. */ @@ -307,9 +302,25 @@ public interface Tag extends Keyed { */ Tag WALL_SIGNS = Bukkit.getTag(REGISTRY_BLOCKS, NamespacedKey.minecraft("wall_signs"), Material.class); /** - * Vanilla block tag representing all signs. + * Vanilla block tag representing all regular signs. */ Tag SIGNS = Bukkit.getTag(REGISTRY_BLOCKS, NamespacedKey.minecraft("signs"), Material.class); + /** + * Vanilla block tag representing all ceiling signs. + */ + Tag CEILING_HANGING_SIGNS = Bukkit.getTag(REGISTRY_BLOCKS, NamespacedKey.minecraft("ceiling_hanging_signs"), Material.class); + /** + * Vanilla block tag representing all wall hanging signs. + */ + Tag WALL_HANGING_SIGNS = Bukkit.getTag(REGISTRY_BLOCKS, NamespacedKey.minecraft("wall_hanging_signs"), Material.class); + /** + * Vanilla block tag representing all hanging signs. + */ + Tag ALL_HANGING_SIGNS = Bukkit.getTag(REGISTRY_BLOCKS, NamespacedKey.minecraft("all_hanging_signs"), Material.class); + /** + * Vanilla block tag representing all signs, regardless of type. + */ + Tag ALL_SIGNS = Bukkit.getTag(REGISTRY_BLOCKS, NamespacedKey.minecraft("all_signs"), Material.class); /** * Vanilla block tag representing all blocks immune to dragons. */ @@ -661,6 +672,10 @@ public interface Tag extends Keyed { * Vanilla block tag representing blocks which snow can survive on. */ Tag SNOW_LAYER_CAN_SURVIVE_ON = Bukkit.getTag(REGISTRY_BLOCKS, NamespacedKey.minecraft("snow_layer_can_survive_on"), Material.class); + /** + * Vanilla block tag representing blocks which cannot be dismounted into. + */ + Tag INVALID_SPAWN_INSIDE = Bukkit.getTag(REGISTRY_BLOCKS, NamespacedKey.minecraft("invalid_spawn_inside"), Material.class); /** * Key for the built in item registry. */ @@ -717,6 +732,10 @@ public interface Tag extends Keyed { * Vanilla item tag representing all books that may be placed on lecterns. */ Tag ITEMS_LECTERN_BOOKS = Bukkit.getTag(REGISTRY_ITEMS, NamespacedKey.minecraft("lectern_books"), Material.class); + /** + * Vanilla item tag representing all books that may be placed on bookshelves. + */ + Tag ITEMS_BOOKSHELF_BOOKS = Bukkit.getTag(REGISTRY_ITEMS, NamespacedKey.minecraft("bookshelf_books"), Material.class); /** * Vanilla item tag representing all items that may be placed in beacons. */ @@ -733,6 +752,15 @@ public interface Tag extends Keyed { * Vanilla item tag representing all compasses. */ Tag ITEMS_COMPASSES = Bukkit.getTag(REGISTRY_ITEMS, NamespacedKey.minecraft("compasses"), Material.class); + /** + * Vanilla item tag representing all hanging signs. + */ + Tag ITEMS_HANGING_SIGNS = Bukkit.getTag(REGISTRY_ITEMS, NamespacedKey.minecraft("hanging_signs"), Material.class); + /** + * Vanilla item tag representing all items which will ignite creepers when + * interacted with. + */ + Tag ITEMS_CREEPER_IGNITERS = Bukkit.getTag(REGISTRY_ITEMS, NamespacedKey.minecraft("creeper_igniters"), Material.class); /** * Vanilla item tag representing all items that confer freeze immunity on * the wearer. diff --git a/paper-api/src/main/java/org/bukkit/block/ChiseledBookshelf.java b/paper-api/src/main/java/org/bukkit/block/ChiseledBookshelf.java new file mode 100644 index 000000000..4cae298f1 --- /dev/null +++ b/paper-api/src/main/java/org/bukkit/block/ChiseledBookshelf.java @@ -0,0 +1,40 @@ +package org.bukkit.block; + +import org.bukkit.inventory.BlockInventoryHolder; +import org.bukkit.inventory.ChiseledBookshelfInventory; +import org.jetbrains.annotations.NotNull; + +/** + * Represents a captured state of a chiseled bookshelf. + */ +public interface ChiseledBookshelf extends TileState, BlockInventoryHolder { + + /** + * Gets the last interacted inventory slot. + * + * @return the last interacted slot + */ + int getLastInteractedSlot(); + + /** + * Sets the last interacted inventory slot. + * + * @param lastInteractedSlot the new last interacted slot + */ + void setLastInteractedSlot(int lastInteractedSlot); + + /** + * @return inventory + * @see Container#getInventory() + */ + @NotNull + @Override + ChiseledBookshelfInventory getInventory(); + + /** + * @return snapshot inventory + * @see Container#getSnapshotInventory() + */ + @NotNull + ChiseledBookshelfInventory getSnapshotInventory(); +} diff --git a/paper-api/src/main/java/org/bukkit/block/HangingSign.java b/paper-api/src/main/java/org/bukkit/block/HangingSign.java new file mode 100644 index 000000000..9bef6c659 --- /dev/null +++ b/paper-api/src/main/java/org/bukkit/block/HangingSign.java @@ -0,0 +1,7 @@ +package org.bukkit.block; + +/** + * Represents a captured state of a hanging sign. + */ +public interface HangingSign extends Sign { +} diff --git a/paper-api/src/main/java/org/bukkit/block/data/type/ChiseledBookshelf.java b/paper-api/src/main/java/org/bukkit/block/data/type/ChiseledBookshelf.java new file mode 100644 index 000000000..a172e22ce --- /dev/null +++ b/paper-api/src/main/java/org/bukkit/block/data/type/ChiseledBookshelf.java @@ -0,0 +1,46 @@ +package org.bukkit.block.data.type; + +import java.util.Set; +import org.bukkit.block.data.Directional; +import org.jetbrains.annotations.NotNull; + +/** + * Interface to the 'slot_0_occupied', 'slow_1_occupied' ... 'slot_5_occupied' + * flags on a bookshelf which indicate which slots are occupied rendered on the + * outside. + *
+ * Block may have 0, 1... {@link #getMaximumOccupiedSlots()}-1 occupied slots. + */ +public interface ChiseledBookshelf extends Directional { + + /** + * Checks if the following slot is occupied. + * + * @param slot to check + * @return if slot is occupied + */ + boolean isSlotOccupied(int slot); + + /** + * Sets whether the following slot is occupied. + * + * @param slot to set + * @param occupied book + */ + void setSlotOccupied(int slot, boolean occupied); + + /** + * Get the indexes of all the occupied slots present on this block. + * + * @return set of all occupied slots + */ + @NotNull + Set getOccupiedSlots(); + + /** + * Get the maximum amount of slots on this block. + * + * @return maximum occupied slots count + */ + int getMaximumOccupiedSlots(); +} diff --git a/paper-api/src/main/java/org/bukkit/block/data/type/HangingSign.java b/paper-api/src/main/java/org/bukkit/block/data/type/HangingSign.java new file mode 100644 index 000000000..c5a0c1476 --- /dev/null +++ b/paper-api/src/main/java/org/bukkit/block/data/type/HangingSign.java @@ -0,0 +1,8 @@ +package org.bukkit.block.data.type; + +import org.bukkit.block.data.Attachable; +import org.bukkit.block.data.Rotatable; +import org.bukkit.block.data.Waterlogged; + +public interface HangingSign extends Attachable, Rotatable, Waterlogged { +} diff --git a/paper-api/src/main/java/org/bukkit/block/data/type/WallHangingSign.java b/paper-api/src/main/java/org/bukkit/block/data/type/WallHangingSign.java new file mode 100644 index 000000000..283b21024 --- /dev/null +++ b/paper-api/src/main/java/org/bukkit/block/data/type/WallHangingSign.java @@ -0,0 +1,7 @@ +package org.bukkit.block.data.type; + +import org.bukkit.block.data.Directional; +import org.bukkit.block.data.Waterlogged; + +public interface WallHangingSign extends Directional, Waterlogged { +} diff --git a/paper-api/src/main/java/org/bukkit/enchantments/EnchantmentTarget.java b/paper-api/src/main/java/org/bukkit/enchantments/EnchantmentTarget.java index 635e07a6b..cb9e8b53d 100644 --- a/paper-api/src/main/java/org/bukkit/enchantments/EnchantmentTarget.java +++ b/paper-api/src/main/java/org/bukkit/enchantments/EnchantmentTarget.java @@ -192,6 +192,7 @@ public enum EnchantmentTarget { || item.equals(Material.SKELETON_SKULL) || item.equals(Material.WITHER_SKELETON_SKULL) || item.equals(Material.ZOMBIE_HEAD) + || item.equals(Material.PIGLIN_HEAD) || item.equals(Material.PLAYER_HEAD) || item.equals(Material.CREEPER_HEAD) || item.equals(Material.DRAGON_HEAD); diff --git a/paper-api/src/main/java/org/bukkit/entity/Boat.java b/paper-api/src/main/java/org/bukkit/entity/Boat.java index e5d5d2c94..ebab99bd0 100644 --- a/paper-api/src/main/java/org/bukkit/entity/Boat.java +++ b/paper-api/src/main/java/org/bukkit/entity/Boat.java @@ -143,6 +143,7 @@ public interface Boat extends Vehicle { ACACIA(Material.ACACIA_PLANKS), DARK_OAK(Material.DARK_OAK_PLANKS), MANGROVE(Material.MANGROVE_PLANKS), + BAMBOO(Material.BAMBOO_PLANKS), ; private final Material materialBlock; diff --git a/paper-api/src/main/java/org/bukkit/entity/Camel.java b/paper-api/src/main/java/org/bukkit/entity/Camel.java new file mode 100644 index 000000000..07052a142 --- /dev/null +++ b/paper-api/src/main/java/org/bukkit/entity/Camel.java @@ -0,0 +1,21 @@ +package org.bukkit.entity; + +/** + * Represents a Camel. + */ +public interface Camel extends AbstractHorse { + + /** + * Gets whether this camel is dashing (sprinting). + * + * @return dashing status + */ + boolean isDashing(); + + /** + * Sets whether this camel is dashing (sprinting). + * + * @param dashing new dashing status + */ + void setDashing(boolean dashing); +} diff --git a/paper-api/src/main/java/org/bukkit/entity/EntityType.java b/paper-api/src/main/java/org/bukkit/entity/EntityType.java index e4a1dac89..df9d315cf 100644 --- a/paper-api/src/main/java/org/bukkit/entity/EntityType.java +++ b/paper-api/src/main/java/org/bukkit/entity/EntityType.java @@ -276,6 +276,7 @@ public enum EntityType implements Keyed { FROG("frog", Frog.class, -1), TADPOLE("tadpole", Tadpole.class, -1), WARDEN("warden", Warden.class, -1), + CAMEL("camel", Camel.class, -1), /** * A fishing line and bobber. */ diff --git a/paper-api/src/main/java/org/bukkit/entity/Horse.java b/paper-api/src/main/java/org/bukkit/entity/Horse.java index 9e1bb136c..48453875e 100644 --- a/paper-api/src/main/java/org/bukkit/entity/Horse.java +++ b/paper-api/src/main/java/org/bukkit/entity/Horse.java @@ -36,7 +36,11 @@ public interface Horse extends AbstractHorse { /** * Not really a horse :) */ - LLAMA + LLAMA, + /** + * Also not really a horse :) + */ + CAMEL, ; } diff --git a/paper-api/src/main/java/org/bukkit/entity/Pose.java b/paper-api/src/main/java/org/bukkit/entity/Pose.java index af1acfa18..5122194ac 100644 --- a/paper-api/src/main/java/org/bukkit/entity/Pose.java +++ b/paper-api/src/main/java/org/bukkit/entity/Pose.java @@ -46,6 +46,10 @@ public enum Pose { * Entity is using its tongue. */ USING_TONGUE, + /** + * Entity is sitting. + */ + SITTING, /** * Entity is roaring. */ diff --git a/paper-api/src/main/java/org/bukkit/event/inventory/InventoryType.java b/paper-api/src/main/java/org/bukkit/event/inventory/InventoryType.java index 441362d2f..21ef4150d 100644 --- a/paper-api/src/main/java/org/bukkit/event/inventory/InventoryType.java +++ b/paper-api/src/main/java/org/bukkit/event/inventory/InventoryType.java @@ -133,7 +133,11 @@ public enum InventoryType { /** * Pseudo composter inventory with 0 or 1 slots of undefined type. */ - COMPOSTER(1, "Composter") + COMPOSTER(1, "Composter"), + /** + * Pseudo chiseled bookshelf inventory, with 6 slots of undefined type. + */ + CHISELED_BOOKSHELF(6, "Chiseled Bookshelf"), ; private final int size; diff --git a/paper-api/src/main/java/org/bukkit/event/player/AsyncPlayerChatPreviewEvent.java b/paper-api/src/main/java/org/bukkit/event/player/AsyncPlayerChatPreviewEvent.java index 9bb17fde6..2ce4d3b25 100644 --- a/paper-api/src/main/java/org/bukkit/event/player/AsyncPlayerChatPreviewEvent.java +++ b/paper-api/src/main/java/org/bukkit/event/player/AsyncPlayerChatPreviewEvent.java @@ -11,7 +11,7 @@ import org.jetbrains.annotations.NotNull; * of the corresponding {@link AsyncPlayerChatEvent} must be formatted in * the same way. * - * @deprecated draft API + * @deprecated chat previews have been removed */ @Deprecated @Warning(false) diff --git a/paper-api/src/main/java/org/bukkit/event/server/ServerListPingEvent.java b/paper-api/src/main/java/org/bukkit/event/server/ServerListPingEvent.java index cf13380b2..5adbe0514 100644 --- a/paper-api/src/main/java/org/bukkit/event/server/ServerListPingEvent.java +++ b/paper-api/src/main/java/org/bukkit/event/server/ServerListPingEvent.java @@ -22,32 +22,20 @@ public class ServerListPingEvent extends ServerEvent implements Iterable private static final HandlerList handlers = new HandlerList(); private final String hostname; private final InetAddress address; - private final boolean shouldSendChatPreviews; private String motd; private final int numPlayers; private int maxPlayers; - @Deprecated - public ServerListPingEvent(@NotNull final InetAddress address, @NotNull final String motd, final boolean shouldSendChatPreviews, final int numPlayers, final int maxPlayers) { - this("", address, motd, shouldSendChatPreviews, numPlayers, maxPlayers); - } - - public ServerListPingEvent(@NotNull final String hostname, @NotNull final InetAddress address, @NotNull final String motd, final boolean shouldSendChatPreviews, final int numPlayers, final int maxPlayers) { + public ServerListPingEvent(@NotNull final String hostname, @NotNull final InetAddress address, @NotNull final String motd, final int numPlayers, final int maxPlayers) { super(true); Preconditions.checkArgument(numPlayers >= 0, "Cannot have negative number of players online", numPlayers); this.hostname = hostname; this.address = address; this.motd = motd; - this.shouldSendChatPreviews = shouldSendChatPreviews; this.numPlayers = numPlayers; this.maxPlayers = maxPlayers; } - @Deprecated - protected ServerListPingEvent(@NotNull final InetAddress address, @NotNull final String motd, boolean shouldSendChatPreviews, final int maxPlayers) { - this("", address, motd, shouldSendChatPreviews, maxPlayers); - } - /** * This constructor is intended for implementations that provide the * {@link #iterator()} method, thus provided the {@link #getNumPlayers()} @@ -56,16 +44,14 @@ public class ServerListPingEvent extends ServerEvent implements Iterable * @param hostname The hostname that was used to connect to the server * @param address the address of the pinger * @param motd the message of the day - * @param shouldSendChatPreviews if the server should send chat previews * @param maxPlayers the max number of players */ - protected ServerListPingEvent(@NotNull final String hostname, @NotNull final InetAddress address, @NotNull final String motd, boolean shouldSendChatPreviews, final int maxPlayers) { + protected ServerListPingEvent(@NotNull final String hostname, @NotNull final InetAddress address, @NotNull final String motd, final int maxPlayers) { super(true); this.numPlayers = MAGIC_PLAYER_COUNT; this.hostname = hostname; this.address = address; this.motd = motd; - this.shouldSendChatPreviews = shouldSendChatPreviews; this.maxPlayers = maxPlayers; } @@ -139,9 +125,11 @@ public class ServerListPingEvent extends ServerEvent implements Iterable * client. * * @return true if chat preview is enabled, false otherwise + * @deprecated chat previews have been removed */ + @Deprecated public boolean shouldSendChatPreviews() { - return shouldSendChatPreviews; + return false; } /** diff --git a/paper-api/src/main/java/org/bukkit/inventory/ChiseledBookshelfInventory.java b/paper-api/src/main/java/org/bukkit/inventory/ChiseledBookshelfInventory.java new file mode 100644 index 000000000..b99f26079 --- /dev/null +++ b/paper-api/src/main/java/org/bukkit/inventory/ChiseledBookshelfInventory.java @@ -0,0 +1,14 @@ +package org.bukkit.inventory; + +import org.bukkit.block.ChiseledBookshelf; +import org.jetbrains.annotations.Nullable; + +/** + * Interface to the inventory of a chiseled bookshelf. + */ +public interface ChiseledBookshelfInventory extends Inventory { + + @Nullable + @Override + public ChiseledBookshelf getHolder(); +} diff --git a/paper-api/src/main/java/org/bukkit/inventory/CookingRecipe.java b/paper-api/src/main/java/org/bukkit/inventory/CookingRecipe.java index 6f251252a..571652ba8 100644 --- a/paper-api/src/main/java/org/bukkit/inventory/CookingRecipe.java +++ b/paper-api/src/main/java/org/bukkit/inventory/CookingRecipe.java @@ -5,6 +5,7 @@ import java.util.Collections; import org.bukkit.Keyed; import org.bukkit.Material; import org.bukkit.NamespacedKey; +import org.bukkit.inventory.recipe.CookingBookCategory; import org.jetbrains.annotations.NotNull; /** @@ -18,6 +19,7 @@ public abstract class CookingRecipe implements Recipe, private float experience; private int cookingTime; private String group = ""; + private CookingBookCategory category = CookingBookCategory.MISC; /** * Create a cooking recipe to craft the specified ItemStack. @@ -167,7 +169,31 @@ public abstract class CookingRecipe implements Recipe, * null. */ public void setGroup(@NotNull String group) { - Preconditions.checkArgument(group != null, "group"); + Preconditions.checkArgument(group != null, "group cannot be null"); this.group = group; } + + /** + * Gets the category which this recipe will appear in the recipe book under. + * + * Defaults to {@link CookingBookCategory#MISC} if not set. + * + * @return recipe book category + */ + @NotNull + public CookingBookCategory getCategory() { + return category; + } + + /** + * Sets the category which this recipe will appear in the recipe book under. + * + * Defaults to {@link CookingBookCategory#MISC} if not set. + * + * @param category recipe book category + */ + public void setCategory(@NotNull CookingBookCategory category) { + Preconditions.checkArgument(category != null, "category cannot be null"); + this.category = category; + } } diff --git a/paper-api/src/main/java/org/bukkit/inventory/ShapedRecipe.java b/paper-api/src/main/java/org/bukkit/inventory/ShapedRecipe.java index fde34da0f..e57e60028 100644 --- a/paper-api/src/main/java/org/bukkit/inventory/ShapedRecipe.java +++ b/paper-api/src/main/java/org/bukkit/inventory/ShapedRecipe.java @@ -7,6 +7,7 @@ import java.util.Map; import org.bukkit.Keyed; import org.bukkit.Material; import org.bukkit.NamespacedKey; +import org.bukkit.inventory.recipe.CraftingBookCategory; import org.bukkit.material.MaterialData; import org.jetbrains.annotations.NotNull; @@ -19,6 +20,7 @@ public class ShapedRecipe implements Recipe, Keyed { private String[] rows; private Map ingredients = new HashMap<>(); private String group = ""; + private CraftingBookCategory category = CraftingBookCategory.MISC; @Deprecated public ShapedRecipe(@NotNull ItemStack result) { @@ -221,7 +223,31 @@ public class ShapedRecipe implements Recipe, Keyed { * null. */ public void setGroup(@NotNull String group) { - Preconditions.checkArgument(group != null, "group"); + Preconditions.checkArgument(group != null, "group cannot be null"); this.group = group; } + + /** + * Gets the category which this recipe will appear in the recipe book under. + * + * Defaults to {@link CraftingBookCategory#MISC} if not set. + * + * @return recipe book category + */ + @NotNull + public CraftingBookCategory getCategory() { + return category; + } + + /** + * Sets the category which this recipe will appear in the recipe book under. + * + * Defaults to {@link CraftingBookCategory#MISC} if not set. + * + * @param category recipe book category + */ + public void setCategory(@NotNull CraftingBookCategory category) { + Preconditions.checkArgument(category != null, "category cannot be null"); + this.category = category; + } } diff --git a/paper-api/src/main/java/org/bukkit/inventory/ShapelessRecipe.java b/paper-api/src/main/java/org/bukkit/inventory/ShapelessRecipe.java index cc3f7cccf..df4c52f1f 100644 --- a/paper-api/src/main/java/org/bukkit/inventory/ShapelessRecipe.java +++ b/paper-api/src/main/java/org/bukkit/inventory/ShapelessRecipe.java @@ -8,6 +8,7 @@ import java.util.List; import org.bukkit.Keyed; import org.bukkit.Material; import org.bukkit.NamespacedKey; +import org.bukkit.inventory.recipe.CraftingBookCategory; import org.bukkit.material.MaterialData; import org.jetbrains.annotations.NotNull; @@ -20,6 +21,7 @@ public class ShapelessRecipe implements Recipe, Keyed { private final ItemStack output; private final List ingredients = new ArrayList<>(); private String group = ""; + private CraftingBookCategory category = CraftingBookCategory.MISC; @Deprecated public ShapelessRecipe(@NotNull ItemStack result) { @@ -308,7 +310,31 @@ public class ShapelessRecipe implements Recipe, Keyed { * null. */ public void setGroup(@NotNull String group) { - Preconditions.checkArgument(group != null, "group"); + Preconditions.checkArgument(group != null, "group cannot be null"); this.group = group; } + + /** + * Gets the category which this recipe will appear in the recipe book under. + * + * Defaults to {@link CraftingBookCategory#MISC} if not set. + * + * @return recipe book category + */ + @NotNull + public CraftingBookCategory getCategory() { + return category; + } + + /** + * Sets the category which this recipe will appear in the recipe book under. + * + * Defaults to {@link CraftingBookCategory#MISC} if not set. + * + * @param category recipe book category + */ + public void setCategory(@NotNull CraftingBookCategory category) { + Preconditions.checkArgument(category != null, "category cannot be null"); + this.category = category; + } } diff --git a/paper-api/src/main/java/org/bukkit/inventory/StonecuttingRecipe.java b/paper-api/src/main/java/org/bukkit/inventory/StonecuttingRecipe.java index d8ef781d6..07c3dff4d 100644 --- a/paper-api/src/main/java/org/bukkit/inventory/StonecuttingRecipe.java +++ b/paper-api/src/main/java/org/bukkit/inventory/StonecuttingRecipe.java @@ -121,7 +121,7 @@ public class StonecuttingRecipe implements Recipe, Keyed { * null. */ public void setGroup(@NotNull String group) { - Preconditions.checkArgument(group != null, "group"); + Preconditions.checkArgument(group != null, "group cannot be null"); this.group = group; } } diff --git a/paper-api/src/main/java/org/bukkit/inventory/recipe/CookingBookCategory.java b/paper-api/src/main/java/org/bukkit/inventory/recipe/CookingBookCategory.java new file mode 100644 index 000000000..9990a7abf --- /dev/null +++ b/paper-api/src/main/java/org/bukkit/inventory/recipe/CookingBookCategory.java @@ -0,0 +1,11 @@ +package org.bukkit.inventory.recipe; + +/** + * Represents categories within the cooking recipe book. + */ +public enum CookingBookCategory { + + FOOD, + BLOCKS, + MISC; +} diff --git a/paper-api/src/main/java/org/bukkit/inventory/recipe/CraftingBookCategory.java b/paper-api/src/main/java/org/bukkit/inventory/recipe/CraftingBookCategory.java new file mode 100644 index 000000000..09a6a1b9b --- /dev/null +++ b/paper-api/src/main/java/org/bukkit/inventory/recipe/CraftingBookCategory.java @@ -0,0 +1,12 @@ +package org.bukkit.inventory.recipe; + +/** + * Represents categories within the crafting recipe book. + */ +public enum CraftingBookCategory { + + BUILDING, + REDSTONE, + EQUIPMENT, + MISC; +} diff --git a/paper-api/src/main/java/org/bukkit/inventory/recipe/package-info.java b/paper-api/src/main/java/org/bukkit/inventory/recipe/package-info.java new file mode 100644 index 000000000..3e87cdf7c --- /dev/null +++ b/paper-api/src/main/java/org/bukkit/inventory/recipe/package-info.java @@ -0,0 +1,4 @@ +/** + * New location for recipe-related classes. + */ +package org.bukkit.inventory.recipe;