diff --git a/paper-api/src/main/java/org/bukkit/Material.java b/paper-api/src/main/java/org/bukkit/Material.java index 2750e143a3..0a5dfd728a 100644 --- a/paper-api/src/main/java/org/bukkit/Material.java +++ b/paper-api/src/main/java/org/bukkit/Material.java @@ -11,6 +11,7 @@ import org.bukkit.MinecraftExperimental.Requires; import org.bukkit.attribute.Attribute; import org.bukkit.attribute.AttributeModifier; import org.bukkit.block.Block; +import org.bukkit.block.BlockType; import org.bukkit.block.data.Ageable; import org.bukkit.block.data.AnaloguePowerable; import org.bukkit.block.data.Bisected; @@ -117,8 +118,10 @@ import org.bukkit.block.data.type.WallSign; import org.bukkit.inventory.CreativeCategory; import org.bukkit.inventory.EquipmentSlot; import org.bukkit.inventory.ItemStack; +import org.bukkit.inventory.ItemType; import org.bukkit.inventory.meta.ItemMeta; import org.bukkit.material.MaterialData; +import org.jetbrains.annotations.ApiStatus; import org.jetbrains.annotations.NotNull; import org.jetbrains.annotations.Nullable; @@ -4859,1073 +4862,7 @@ public enum Material implements Keyed, Translatable { * @return true if this material is a block */ public boolean isBlock() { - switch (this) { - // - case ACACIA_BUTTON: - case ACACIA_DOOR: - case ACACIA_FENCE: - case ACACIA_FENCE_GATE: - case ACACIA_HANGING_SIGN: - case ACACIA_LEAVES: - case ACACIA_LOG: - case ACACIA_PLANKS: - case ACACIA_PRESSURE_PLATE: - case ACACIA_SAPLING: - case ACACIA_SIGN: - case ACACIA_SLAB: - case ACACIA_STAIRS: - case ACACIA_TRAPDOOR: - case ACACIA_WALL_HANGING_SIGN: - case ACACIA_WALL_SIGN: - case ACACIA_WOOD: - case ACTIVATOR_RAIL: - case AIR: - case ALLIUM: - case AMETHYST_BLOCK: - case AMETHYST_CLUSTER: - case ANCIENT_DEBRIS: - case ANDESITE: - case ANDESITE_SLAB: - case ANDESITE_STAIRS: - case ANDESITE_WALL: - case ANVIL: - case ATTACHED_MELON_STEM: - case ATTACHED_PUMPKIN_STEM: - case AZALEA: - 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: - case BEACON: - case BEDROCK: - case BEEHIVE: - case BEETROOTS: - case BEE_NEST: - case BELL: - case BIG_DRIPLEAF: - case BIG_DRIPLEAF_STEM: - case BIRCH_BUTTON: - case BIRCH_DOOR: - case BIRCH_FENCE: - case BIRCH_FENCE_GATE: - case BIRCH_HANGING_SIGN: - case BIRCH_LEAVES: - case BIRCH_LOG: - case BIRCH_PLANKS: - case BIRCH_PRESSURE_PLATE: - case BIRCH_SAPLING: - case BIRCH_SIGN: - case BIRCH_SLAB: - case BIRCH_STAIRS: - case BIRCH_TRAPDOOR: - case BIRCH_WALL_HANGING_SIGN: - case BIRCH_WALL_SIGN: - case BIRCH_WOOD: - case BLACKSTONE: - case BLACKSTONE_SLAB: - case BLACKSTONE_STAIRS: - case BLACKSTONE_WALL: - case BLACK_BANNER: - case BLACK_BED: - case BLACK_CANDLE: - case BLACK_CANDLE_CAKE: - case BLACK_CARPET: - case BLACK_CONCRETE: - case BLACK_CONCRETE_POWDER: - case BLACK_GLAZED_TERRACOTTA: - case BLACK_SHULKER_BOX: - case BLACK_STAINED_GLASS: - case BLACK_STAINED_GLASS_PANE: - case BLACK_TERRACOTTA: - case BLACK_WALL_BANNER: - case BLACK_WOOL: - case BLAST_FURNACE: - case BLUE_BANNER: - case BLUE_BED: - case BLUE_CANDLE: - case BLUE_CANDLE_CAKE: - case BLUE_CARPET: - case BLUE_CONCRETE: - case BLUE_CONCRETE_POWDER: - case BLUE_GLAZED_TERRACOTTA: - case BLUE_ICE: - case BLUE_ORCHID: - case BLUE_SHULKER_BOX: - case BLUE_STAINED_GLASS: - case BLUE_STAINED_GLASS_PANE: - case BLUE_TERRACOTTA: - case BLUE_WALL_BANNER: - case BLUE_WOOL: - case BONE_BLOCK: - case BOOKSHELF: - case BRAIN_CORAL: - case BRAIN_CORAL_BLOCK: - case BRAIN_CORAL_FAN: - case BRAIN_CORAL_WALL_FAN: - case BREWING_STAND: - case BRICKS: - case BRICK_SLAB: - case BRICK_STAIRS: - case BRICK_WALL: - case BROWN_BANNER: - case BROWN_BED: - case BROWN_CANDLE: - case BROWN_CANDLE_CAKE: - case BROWN_CARPET: - case BROWN_CONCRETE: - case BROWN_CONCRETE_POWDER: - case BROWN_GLAZED_TERRACOTTA: - case BROWN_MUSHROOM: - case BROWN_MUSHROOM_BLOCK: - case BROWN_SHULKER_BOX: - case BROWN_STAINED_GLASS: - case BROWN_STAINED_GLASS_PANE: - case BROWN_TERRACOTTA: - case BROWN_WALL_BANNER: - case BROWN_WOOL: - case BUBBLE_COLUMN: - case BUBBLE_CORAL: - case BUBBLE_CORAL_BLOCK: - case BUBBLE_CORAL_FAN: - case BUBBLE_CORAL_WALL_FAN: - case BUDDING_AMETHYST: - case CACTUS: - case CAKE: - case CALCITE: - case CALIBRATED_SCULK_SENSOR: - case CAMPFIRE: - case CANDLE: - case CANDLE_CAKE: - case CARROTS: - case CARTOGRAPHY_TABLE: - case CARVED_PUMPKIN: - case CAULDRON: - case CAVE_AIR: - case CAVE_VINES: - case CAVE_VINES_PLANT: - case CHAIN: - case CHAIN_COMMAND_BLOCK: - case CHERRY_BUTTON: - case CHERRY_DOOR: - case CHERRY_FENCE: - case CHERRY_FENCE_GATE: - case CHERRY_HANGING_SIGN: - case CHERRY_LEAVES: - case CHERRY_LOG: - case CHERRY_PLANKS: - case CHERRY_PRESSURE_PLATE: - case CHERRY_SAPLING: - case CHERRY_SIGN: - case CHERRY_SLAB: - case CHERRY_STAIRS: - case CHERRY_TRAPDOOR: - case CHERRY_WALL_HANGING_SIGN: - case CHERRY_WALL_SIGN: - case CHERRY_WOOD: - case CHEST: - case CHIPPED_ANVIL: - case CHISELED_BOOKSHELF: - case CHISELED_COPPER: - case CHISELED_DEEPSLATE: - case CHISELED_NETHER_BRICKS: - case CHISELED_POLISHED_BLACKSTONE: - case CHISELED_QUARTZ_BLOCK: - case CHISELED_RED_SANDSTONE: - case CHISELED_SANDSTONE: - case CHISELED_STONE_BRICKS: - case CHISELED_TUFF: - case CHISELED_TUFF_BRICKS: - case CHORUS_FLOWER: - case CHORUS_PLANT: - case CLAY: - case COAL_BLOCK: - case COAL_ORE: - case COARSE_DIRT: - case COBBLED_DEEPSLATE: - case COBBLED_DEEPSLATE_SLAB: - case COBBLED_DEEPSLATE_STAIRS: - case COBBLED_DEEPSLATE_WALL: - case COBBLESTONE: - case COBBLESTONE_SLAB: - case COBBLESTONE_STAIRS: - case COBBLESTONE_WALL: - case COBWEB: - case COCOA: - case COMMAND_BLOCK: - case COMPARATOR: - case COMPOSTER: - case CONDUIT: - case COPPER_BLOCK: - case COPPER_BULB: - case COPPER_DOOR: - case COPPER_GRATE: - case COPPER_ORE: - case COPPER_TRAPDOOR: - case CORNFLOWER: - case CRACKED_DEEPSLATE_BRICKS: - case CRACKED_DEEPSLATE_TILES: - case CRACKED_NETHER_BRICKS: - case CRACKED_POLISHED_BLACKSTONE_BRICKS: - case CRACKED_STONE_BRICKS: - case CRAFTER: - case CRAFTING_TABLE: - case CREEPER_HEAD: - case CREEPER_WALL_HEAD: - case CRIMSON_BUTTON: - case CRIMSON_DOOR: - case CRIMSON_FENCE: - case CRIMSON_FENCE_GATE: - case CRIMSON_FUNGUS: - case CRIMSON_HANGING_SIGN: - case CRIMSON_HYPHAE: - case CRIMSON_NYLIUM: - case CRIMSON_PLANKS: - case CRIMSON_PRESSURE_PLATE: - case CRIMSON_ROOTS: - case CRIMSON_SIGN: - case CRIMSON_SLAB: - case CRIMSON_STAIRS: - case CRIMSON_STEM: - case CRIMSON_TRAPDOOR: - case CRIMSON_WALL_HANGING_SIGN: - case CRIMSON_WALL_SIGN: - case CRYING_OBSIDIAN: - case CUT_COPPER: - case CUT_COPPER_SLAB: - case CUT_COPPER_STAIRS: - case CUT_RED_SANDSTONE: - case CUT_RED_SANDSTONE_SLAB: - case CUT_SANDSTONE: - case CUT_SANDSTONE_SLAB: - case CYAN_BANNER: - case CYAN_BED: - case CYAN_CANDLE: - case CYAN_CANDLE_CAKE: - case CYAN_CARPET: - case CYAN_CONCRETE: - case CYAN_CONCRETE_POWDER: - case CYAN_GLAZED_TERRACOTTA: - case CYAN_SHULKER_BOX: - case CYAN_STAINED_GLASS: - case CYAN_STAINED_GLASS_PANE: - case CYAN_TERRACOTTA: - case CYAN_WALL_BANNER: - case CYAN_WOOL: - case DAMAGED_ANVIL: - case DANDELION: - case DARK_OAK_BUTTON: - 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: - case DARK_OAK_PRESSURE_PLATE: - case DARK_OAK_SAPLING: - case DARK_OAK_SIGN: - 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: - case DARK_PRISMARINE_SLAB: - case DARK_PRISMARINE_STAIRS: - case DAYLIGHT_DETECTOR: - case DEAD_BRAIN_CORAL: - case DEAD_BRAIN_CORAL_BLOCK: - case DEAD_BRAIN_CORAL_FAN: - case DEAD_BRAIN_CORAL_WALL_FAN: - case DEAD_BUBBLE_CORAL: - case DEAD_BUBBLE_CORAL_BLOCK: - case DEAD_BUBBLE_CORAL_FAN: - case DEAD_BUBBLE_CORAL_WALL_FAN: - case DEAD_BUSH: - case DEAD_FIRE_CORAL: - case DEAD_FIRE_CORAL_BLOCK: - case DEAD_FIRE_CORAL_FAN: - case DEAD_FIRE_CORAL_WALL_FAN: - case DEAD_HORN_CORAL: - case DEAD_HORN_CORAL_BLOCK: - case DEAD_HORN_CORAL_FAN: - case DEAD_HORN_CORAL_WALL_FAN: - case DEAD_TUBE_CORAL: - case DEAD_TUBE_CORAL_BLOCK: - case DEAD_TUBE_CORAL_FAN: - case DEAD_TUBE_CORAL_WALL_FAN: - case DECORATED_POT: - case DEEPSLATE: - case DEEPSLATE_BRICKS: - case DEEPSLATE_BRICK_SLAB: - case DEEPSLATE_BRICK_STAIRS: - case DEEPSLATE_BRICK_WALL: - case DEEPSLATE_COAL_ORE: - case DEEPSLATE_COPPER_ORE: - case DEEPSLATE_DIAMOND_ORE: - case DEEPSLATE_EMERALD_ORE: - case DEEPSLATE_GOLD_ORE: - case DEEPSLATE_IRON_ORE: - case DEEPSLATE_LAPIS_ORE: - case DEEPSLATE_REDSTONE_ORE: - case DEEPSLATE_TILES: - case DEEPSLATE_TILE_SLAB: - case DEEPSLATE_TILE_STAIRS: - case DEEPSLATE_TILE_WALL: - case DETECTOR_RAIL: - case DIAMOND_BLOCK: - case DIAMOND_ORE: - case DIORITE: - case DIORITE_SLAB: - case DIORITE_STAIRS: - case DIORITE_WALL: - case DIRT: - case DIRT_PATH: - case DISPENSER: - case DRAGON_EGG: - case DRAGON_HEAD: - case DRAGON_WALL_HEAD: - case DRIED_KELP_BLOCK: - case DRIPSTONE_BLOCK: - case DROPPER: - case EMERALD_BLOCK: - case EMERALD_ORE: - case ENCHANTING_TABLE: - case ENDER_CHEST: - case END_GATEWAY: - case END_PORTAL: - case END_PORTAL_FRAME: - case END_ROD: - case END_STONE: - case END_STONE_BRICKS: - case END_STONE_BRICK_SLAB: - case END_STONE_BRICK_STAIRS: - case END_STONE_BRICK_WALL: - case EXPOSED_CHISELED_COPPER: - case EXPOSED_COPPER: - case EXPOSED_COPPER_BULB: - case EXPOSED_COPPER_DOOR: - case EXPOSED_COPPER_GRATE: - case EXPOSED_COPPER_TRAPDOOR: - case EXPOSED_CUT_COPPER: - case EXPOSED_CUT_COPPER_SLAB: - case EXPOSED_CUT_COPPER_STAIRS: - case FARMLAND: - case FERN: - case FIRE: - case FIRE_CORAL: - case FIRE_CORAL_BLOCK: - case FIRE_CORAL_FAN: - case FIRE_CORAL_WALL_FAN: - case FLETCHING_TABLE: - case FLOWERING_AZALEA: - case FLOWERING_AZALEA_LEAVES: - case FLOWER_POT: - case FROGSPAWN: - case FROSTED_ICE: - case FURNACE: - case GILDED_BLACKSTONE: - case GLASS: - case GLASS_PANE: - case GLOWSTONE: - case GLOW_LICHEN: - case GOLD_BLOCK: - case GOLD_ORE: - case GRANITE: - case GRANITE_SLAB: - case GRANITE_STAIRS: - case GRANITE_WALL: - case GRASS_BLOCK: - case GRAVEL: - case GRAY_BANNER: - case GRAY_BED: - case GRAY_CANDLE: - case GRAY_CANDLE_CAKE: - case GRAY_CARPET: - case GRAY_CONCRETE: - case GRAY_CONCRETE_POWDER: - case GRAY_GLAZED_TERRACOTTA: - case GRAY_SHULKER_BOX: - case GRAY_STAINED_GLASS: - case GRAY_STAINED_GLASS_PANE: - case GRAY_TERRACOTTA: - case GRAY_WALL_BANNER: - case GRAY_WOOL: - case GREEN_BANNER: - case GREEN_BED: - case GREEN_CANDLE: - case GREEN_CANDLE_CAKE: - case GREEN_CARPET: - case GREEN_CONCRETE: - case GREEN_CONCRETE_POWDER: - case GREEN_GLAZED_TERRACOTTA: - case GREEN_SHULKER_BOX: - case GREEN_STAINED_GLASS: - case GREEN_STAINED_GLASS_PANE: - case GREEN_TERRACOTTA: - case GREEN_WALL_BANNER: - case GREEN_WOOL: - case GRINDSTONE: - case HANGING_ROOTS: - case HAY_BLOCK: - case HEAVY_CORE: - case HEAVY_WEIGHTED_PRESSURE_PLATE: - case HONEYCOMB_BLOCK: - case HONEY_BLOCK: - case HOPPER: - case HORN_CORAL: - case HORN_CORAL_BLOCK: - case HORN_CORAL_FAN: - case HORN_CORAL_WALL_FAN: - case ICE: - case INFESTED_CHISELED_STONE_BRICKS: - case INFESTED_COBBLESTONE: - case INFESTED_CRACKED_STONE_BRICKS: - case INFESTED_DEEPSLATE: - case INFESTED_MOSSY_STONE_BRICKS: - case INFESTED_STONE: - case INFESTED_STONE_BRICKS: - case IRON_BARS: - case IRON_BLOCK: - case IRON_DOOR: - case IRON_ORE: - case IRON_TRAPDOOR: - case JACK_O_LANTERN: - case JIGSAW: - case JUKEBOX: - case JUNGLE_BUTTON: - case JUNGLE_DOOR: - case JUNGLE_FENCE: - case JUNGLE_FENCE_GATE: - case JUNGLE_HANGING_SIGN: - case JUNGLE_LEAVES: - case JUNGLE_LOG: - case JUNGLE_PLANKS: - case JUNGLE_PRESSURE_PLATE: - case JUNGLE_SAPLING: - case JUNGLE_SIGN: - case JUNGLE_SLAB: - case JUNGLE_STAIRS: - case JUNGLE_TRAPDOOR: - case JUNGLE_WALL_HANGING_SIGN: - case JUNGLE_WALL_SIGN: - case JUNGLE_WOOD: - case KELP: - case KELP_PLANT: - case LADDER: - case LANTERN: - case LAPIS_BLOCK: - case LAPIS_ORE: - case LARGE_AMETHYST_BUD: - case LARGE_FERN: - case LAVA: - case LAVA_CAULDRON: - case LECTERN: - case LEVER: - case LIGHT: - case LIGHTNING_ROD: - case LIGHT_BLUE_BANNER: - case LIGHT_BLUE_BED: - case LIGHT_BLUE_CANDLE: - case LIGHT_BLUE_CANDLE_CAKE: - case LIGHT_BLUE_CARPET: - case LIGHT_BLUE_CONCRETE: - case LIGHT_BLUE_CONCRETE_POWDER: - case LIGHT_BLUE_GLAZED_TERRACOTTA: - case LIGHT_BLUE_SHULKER_BOX: - case LIGHT_BLUE_STAINED_GLASS: - case LIGHT_BLUE_STAINED_GLASS_PANE: - case LIGHT_BLUE_TERRACOTTA: - case LIGHT_BLUE_WALL_BANNER: - case LIGHT_BLUE_WOOL: - case LIGHT_GRAY_BANNER: - case LIGHT_GRAY_BED: - case LIGHT_GRAY_CANDLE: - case LIGHT_GRAY_CANDLE_CAKE: - case LIGHT_GRAY_CARPET: - case LIGHT_GRAY_CONCRETE: - case LIGHT_GRAY_CONCRETE_POWDER: - case LIGHT_GRAY_GLAZED_TERRACOTTA: - case LIGHT_GRAY_SHULKER_BOX: - case LIGHT_GRAY_STAINED_GLASS: - case LIGHT_GRAY_STAINED_GLASS_PANE: - case LIGHT_GRAY_TERRACOTTA: - case LIGHT_GRAY_WALL_BANNER: - case LIGHT_GRAY_WOOL: - case LIGHT_WEIGHTED_PRESSURE_PLATE: - case LILAC: - case LILY_OF_THE_VALLEY: - case LILY_PAD: - case LIME_BANNER: - case LIME_BED: - case LIME_CANDLE: - case LIME_CANDLE_CAKE: - case LIME_CARPET: - case LIME_CONCRETE: - case LIME_CONCRETE_POWDER: - case LIME_GLAZED_TERRACOTTA: - case LIME_SHULKER_BOX: - case LIME_STAINED_GLASS: - case LIME_STAINED_GLASS_PANE: - case LIME_TERRACOTTA: - case LIME_WALL_BANNER: - case LIME_WOOL: - case LODESTONE: - case LOOM: - case MAGENTA_BANNER: - case MAGENTA_BED: - case MAGENTA_CANDLE: - case MAGENTA_CANDLE_CAKE: - case MAGENTA_CARPET: - case MAGENTA_CONCRETE: - case MAGENTA_CONCRETE_POWDER: - case MAGENTA_GLAZED_TERRACOTTA: - case MAGENTA_SHULKER_BOX: - case MAGENTA_STAINED_GLASS: - case MAGENTA_STAINED_GLASS_PANE: - case MAGENTA_TERRACOTTA: - case MAGENTA_WALL_BANNER: - case MAGENTA_WOOL: - case MAGMA_BLOCK: - case MANGROVE_BUTTON: - case MANGROVE_DOOR: - case MANGROVE_FENCE: - case MANGROVE_FENCE_GATE: - case MANGROVE_HANGING_SIGN: - case MANGROVE_LEAVES: - case MANGROVE_LOG: - case MANGROVE_PLANKS: - case MANGROVE_PRESSURE_PLATE: - case MANGROVE_PROPAGULE: - case MANGROVE_ROOTS: - case MANGROVE_SIGN: - 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: - case MELON: - case MELON_STEM: - case MOSSY_COBBLESTONE: - case MOSSY_COBBLESTONE_SLAB: - case MOSSY_COBBLESTONE_STAIRS: - case MOSSY_COBBLESTONE_WALL: - case MOSSY_STONE_BRICKS: - case MOSSY_STONE_BRICK_SLAB: - case MOSSY_STONE_BRICK_STAIRS: - case MOSSY_STONE_BRICK_WALL: - case MOSS_BLOCK: - case MOSS_CARPET: - case MOVING_PISTON: - case MUD: - case MUDDY_MANGROVE_ROOTS: - case MUD_BRICKS: - case MUD_BRICK_SLAB: - case MUD_BRICK_STAIRS: - case MUD_BRICK_WALL: - case MUSHROOM_STEM: - case MYCELIUM: - case NETHERITE_BLOCK: - case NETHERRACK: - case NETHER_BRICKS: - case NETHER_BRICK_FENCE: - case NETHER_BRICK_SLAB: - case NETHER_BRICK_STAIRS: - case NETHER_BRICK_WALL: - case NETHER_GOLD_ORE: - case NETHER_PORTAL: - case NETHER_QUARTZ_ORE: - case NETHER_SPROUTS: - case NETHER_WART: - case NETHER_WART_BLOCK: - case NOTE_BLOCK: - case OAK_BUTTON: - case OAK_DOOR: - case OAK_FENCE: - case OAK_FENCE_GATE: - case OAK_HANGING_SIGN: - case OAK_LEAVES: - case OAK_LOG: - case OAK_PLANKS: - case OAK_PRESSURE_PLATE: - case OAK_SAPLING: - case OAK_SIGN: - case OAK_SLAB: - case OAK_STAIRS: - case OAK_TRAPDOOR: - case OAK_WALL_HANGING_SIGN: - case OAK_WALL_SIGN: - case OAK_WOOD: - case OBSERVER: - case OBSIDIAN: - case OCHRE_FROGLIGHT: - case ORANGE_BANNER: - case ORANGE_BED: - case ORANGE_CANDLE: - case ORANGE_CANDLE_CAKE: - case ORANGE_CARPET: - case ORANGE_CONCRETE: - case ORANGE_CONCRETE_POWDER: - case ORANGE_GLAZED_TERRACOTTA: - case ORANGE_SHULKER_BOX: - case ORANGE_STAINED_GLASS: - case ORANGE_STAINED_GLASS_PANE: - case ORANGE_TERRACOTTA: - case ORANGE_TULIP: - case ORANGE_WALL_BANNER: - case ORANGE_WOOL: - case OXEYE_DAISY: - case OXIDIZED_CHISELED_COPPER: - case OXIDIZED_COPPER: - case OXIDIZED_COPPER_BULB: - case OXIDIZED_COPPER_DOOR: - case OXIDIZED_COPPER_GRATE: - case OXIDIZED_COPPER_TRAPDOOR: - case OXIDIZED_CUT_COPPER: - case OXIDIZED_CUT_COPPER_SLAB: - case OXIDIZED_CUT_COPPER_STAIRS: - case PACKED_ICE: - case PACKED_MUD: - 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: - case PINK_CANDLE_CAKE: - case PINK_CARPET: - case PINK_CONCRETE: - case PINK_CONCRETE_POWDER: - case PINK_GLAZED_TERRACOTTA: - case PINK_PETALS: - case PINK_SHULKER_BOX: - case PINK_STAINED_GLASS: - case PINK_STAINED_GLASS_PANE: - case PINK_TERRACOTTA: - case PINK_TULIP: - case PINK_WALL_BANNER: - case PINK_WOOL: - case PISTON: - case PISTON_HEAD: - case PITCHER_CROP: - case PITCHER_PLANT: - case PLAYER_HEAD: - case PLAYER_WALL_HEAD: - case PODZOL: - case POINTED_DRIPSTONE: - case POLISHED_ANDESITE: - case POLISHED_ANDESITE_SLAB: - case POLISHED_ANDESITE_STAIRS: - case POLISHED_BASALT: - case POLISHED_BLACKSTONE: - case POLISHED_BLACKSTONE_BRICKS: - case POLISHED_BLACKSTONE_BRICK_SLAB: - case POLISHED_BLACKSTONE_BRICK_STAIRS: - case POLISHED_BLACKSTONE_BRICK_WALL: - case POLISHED_BLACKSTONE_BUTTON: - case POLISHED_BLACKSTONE_PRESSURE_PLATE: - case POLISHED_BLACKSTONE_SLAB: - case POLISHED_BLACKSTONE_STAIRS: - case POLISHED_BLACKSTONE_WALL: - case POLISHED_DEEPSLATE: - case POLISHED_DEEPSLATE_SLAB: - case POLISHED_DEEPSLATE_STAIRS: - case POLISHED_DEEPSLATE_WALL: - case POLISHED_DIORITE: - case POLISHED_DIORITE_SLAB: - case POLISHED_DIORITE_STAIRS: - case POLISHED_GRANITE: - case POLISHED_GRANITE_SLAB: - case POLISHED_GRANITE_STAIRS: - case POLISHED_TUFF: - case POLISHED_TUFF_SLAB: - case POLISHED_TUFF_STAIRS: - case POLISHED_TUFF_WALL: - case POPPY: - case POTATOES: - case POTTED_ACACIA_SAPLING: - case POTTED_ALLIUM: - case POTTED_AZALEA_BUSH: - case POTTED_AZURE_BLUET: - case POTTED_BAMBOO: - case POTTED_BIRCH_SAPLING: - case POTTED_BLUE_ORCHID: - case POTTED_BROWN_MUSHROOM: - case POTTED_CACTUS: - case POTTED_CHERRY_SAPLING: - case POTTED_CORNFLOWER: - case POTTED_CRIMSON_FUNGUS: - case POTTED_CRIMSON_ROOTS: - case POTTED_DANDELION: - case POTTED_DARK_OAK_SAPLING: - case POTTED_DEAD_BUSH: - case POTTED_FERN: - case POTTED_FLOWERING_AZALEA_BUSH: - case POTTED_JUNGLE_SAPLING: - case POTTED_LILY_OF_THE_VALLEY: - case POTTED_MANGROVE_PROPAGULE: - case POTTED_OAK_SAPLING: - case POTTED_ORANGE_TULIP: - case POTTED_OXEYE_DAISY: - case POTTED_PINK_TULIP: - case POTTED_POPPY: - case POTTED_RED_MUSHROOM: - case POTTED_RED_TULIP: - case POTTED_SPRUCE_SAPLING: - case POTTED_TORCHFLOWER: - case POTTED_WARPED_FUNGUS: - case POTTED_WARPED_ROOTS: - case POTTED_WHITE_TULIP: - case POTTED_WITHER_ROSE: - case POWDER_SNOW: - case POWDER_SNOW_CAULDRON: - case POWERED_RAIL: - case PRISMARINE: - case PRISMARINE_BRICKS: - case PRISMARINE_BRICK_SLAB: - case PRISMARINE_BRICK_STAIRS: - case PRISMARINE_SLAB: - case PRISMARINE_STAIRS: - case PRISMARINE_WALL: - case PUMPKIN: - case PUMPKIN_STEM: - case PURPLE_BANNER: - case PURPLE_BED: - case PURPLE_CANDLE: - case PURPLE_CANDLE_CAKE: - case PURPLE_CARPET: - case PURPLE_CONCRETE: - case PURPLE_CONCRETE_POWDER: - case PURPLE_GLAZED_TERRACOTTA: - case PURPLE_SHULKER_BOX: - case PURPLE_STAINED_GLASS: - case PURPLE_STAINED_GLASS_PANE: - case PURPLE_TERRACOTTA: - case PURPLE_WALL_BANNER: - case PURPLE_WOOL: - case PURPUR_BLOCK: - case PURPUR_PILLAR: - case PURPUR_SLAB: - case PURPUR_STAIRS: - case QUARTZ_BLOCK: - case QUARTZ_BRICKS: - case QUARTZ_PILLAR: - case QUARTZ_SLAB: - case QUARTZ_STAIRS: - case RAIL: - case RAW_COPPER_BLOCK: - case RAW_GOLD_BLOCK: - case RAW_IRON_BLOCK: - case REDSTONE_BLOCK: - case REDSTONE_LAMP: - case REDSTONE_ORE: - case REDSTONE_TORCH: - case REDSTONE_WALL_TORCH: - case REDSTONE_WIRE: - case RED_BANNER: - case RED_BED: - case RED_CANDLE: - case RED_CANDLE_CAKE: - case RED_CARPET: - case RED_CONCRETE: - case RED_CONCRETE_POWDER: - case RED_GLAZED_TERRACOTTA: - case RED_MUSHROOM: - case RED_MUSHROOM_BLOCK: - case RED_NETHER_BRICKS: - case RED_NETHER_BRICK_SLAB: - case RED_NETHER_BRICK_STAIRS: - case RED_NETHER_BRICK_WALL: - case RED_SAND: - case RED_SANDSTONE: - case RED_SANDSTONE_SLAB: - case RED_SANDSTONE_STAIRS: - case RED_SANDSTONE_WALL: - case RED_SHULKER_BOX: - case RED_STAINED_GLASS: - case RED_STAINED_GLASS_PANE: - case RED_TERRACOTTA: - case RED_TULIP: - case RED_WALL_BANNER: - case RED_WOOL: - case REINFORCED_DEEPSLATE: - case REPEATER: - case REPEATING_COMMAND_BLOCK: - case RESPAWN_ANCHOR: - case ROOTED_DIRT: - case ROSE_BUSH: - case SAND: - case SANDSTONE: - case SANDSTONE_SLAB: - case SANDSTONE_STAIRS: - case SANDSTONE_WALL: - case SCAFFOLDING: - case SCULK: - case SCULK_CATALYST: - case SCULK_SENSOR: - case SCULK_SHRIEKER: - case SCULK_VEIN: - case SEAGRASS: - case SEA_LANTERN: - case SEA_PICKLE: - case SHORT_GRASS: - case SHROOMLIGHT: - case SHULKER_BOX: - case SKELETON_SKULL: - case SKELETON_WALL_SKULL: - case SLIME_BLOCK: - case SMALL_AMETHYST_BUD: - case SMALL_DRIPLEAF: - case SMITHING_TABLE: - case SMOKER: - case SMOOTH_BASALT: - case SMOOTH_QUARTZ: - case SMOOTH_QUARTZ_SLAB: - case SMOOTH_QUARTZ_STAIRS: - case SMOOTH_RED_SANDSTONE: - case SMOOTH_RED_SANDSTONE_SLAB: - case SMOOTH_RED_SANDSTONE_STAIRS: - case SMOOTH_SANDSTONE: - case SMOOTH_SANDSTONE_SLAB: - case SMOOTH_SANDSTONE_STAIRS: - case SMOOTH_STONE: - case SMOOTH_STONE_SLAB: - case SNIFFER_EGG: - case SNOW: - case SNOW_BLOCK: - case SOUL_CAMPFIRE: - case SOUL_FIRE: - case SOUL_LANTERN: - case SOUL_SAND: - case SOUL_SOIL: - case SOUL_TORCH: - case SOUL_WALL_TORCH: - case SPAWNER: - case SPONGE: - case SPORE_BLOSSOM: - case SPRUCE_BUTTON: - case SPRUCE_DOOR: - case SPRUCE_FENCE: - case SPRUCE_FENCE_GATE: - case SPRUCE_HANGING_SIGN: - case SPRUCE_LEAVES: - case SPRUCE_LOG: - case SPRUCE_PLANKS: - case SPRUCE_PRESSURE_PLATE: - case SPRUCE_SAPLING: - case SPRUCE_SIGN: - case SPRUCE_SLAB: - case SPRUCE_STAIRS: - case SPRUCE_TRAPDOOR: - case SPRUCE_WALL_HANGING_SIGN: - case SPRUCE_WALL_SIGN: - case SPRUCE_WOOD: - case STICKY_PISTON: - case STONE: - case STONECUTTER: - case STONE_BRICKS: - case STONE_BRICK_SLAB: - case STONE_BRICK_STAIRS: - case STONE_BRICK_WALL: - case STONE_BUTTON: - case STONE_PRESSURE_PLATE: - case STONE_SLAB: - 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_CHERRY_LOG: - case STRIPPED_CHERRY_WOOD: - case STRIPPED_CRIMSON_HYPHAE: - case STRIPPED_CRIMSON_STEM: - case STRIPPED_DARK_OAK_LOG: - case STRIPPED_DARK_OAK_WOOD: - case STRIPPED_JUNGLE_LOG: - case STRIPPED_JUNGLE_WOOD: - case STRIPPED_MANGROVE_LOG: - case STRIPPED_MANGROVE_WOOD: - case STRIPPED_OAK_LOG: - case STRIPPED_OAK_WOOD: - case STRIPPED_SPRUCE_LOG: - case STRIPPED_SPRUCE_WOOD: - case STRIPPED_WARPED_HYPHAE: - case STRIPPED_WARPED_STEM: - case STRUCTURE_BLOCK: - case STRUCTURE_VOID: - case SUGAR_CANE: - case SUNFLOWER: - case SUSPICIOUS_GRAVEL: - case SUSPICIOUS_SAND: - case SWEET_BERRY_BUSH: - case TALL_GRASS: - case TALL_SEAGRASS: - case TARGET: - case TERRACOTTA: - case TINTED_GLASS: - case TNT: - case TORCH: - case TORCHFLOWER: - case TORCHFLOWER_CROP: - case TRAPPED_CHEST: - case TRIAL_SPAWNER: - case TRIPWIRE: - case TRIPWIRE_HOOK: - case TUBE_CORAL: - case TUBE_CORAL_BLOCK: - case TUBE_CORAL_FAN: - case TUBE_CORAL_WALL_FAN: - case TUFF: - case TUFF_BRICKS: - case TUFF_BRICK_SLAB: - case TUFF_BRICK_STAIRS: - case TUFF_BRICK_WALL: - case TUFF_SLAB: - case TUFF_STAIRS: - case TUFF_WALL: - case TURTLE_EGG: - case TWISTING_VINES: - case TWISTING_VINES_PLANT: - case VAULT: - case VERDANT_FROGLIGHT: - case VINE: - case VOID_AIR: - case WALL_TORCH: - case WARPED_BUTTON: - case WARPED_DOOR: - case WARPED_FENCE: - case WARPED_FENCE_GATE: - case WARPED_FUNGUS: - case WARPED_HANGING_SIGN: - case WARPED_HYPHAE: - case WARPED_NYLIUM: - case WARPED_PLANKS: - case WARPED_PRESSURE_PLATE: - case WARPED_ROOTS: - case WARPED_SIGN: - case WARPED_SLAB: - case WARPED_STAIRS: - case WARPED_STEM: - case WARPED_TRAPDOOR: - case WARPED_WALL_HANGING_SIGN: - case WARPED_WALL_SIGN: - case WARPED_WART_BLOCK: - case WATER: - case WATER_CAULDRON: - case WAXED_CHISELED_COPPER: - case WAXED_COPPER_BLOCK: - case WAXED_COPPER_BULB: - case WAXED_COPPER_DOOR: - case WAXED_COPPER_GRATE: - case WAXED_COPPER_TRAPDOOR: - case WAXED_CUT_COPPER: - case WAXED_CUT_COPPER_SLAB: - case WAXED_CUT_COPPER_STAIRS: - case WAXED_EXPOSED_CHISELED_COPPER: - case WAXED_EXPOSED_COPPER: - case WAXED_EXPOSED_COPPER_BULB: - case WAXED_EXPOSED_COPPER_DOOR: - case WAXED_EXPOSED_COPPER_GRATE: - case WAXED_EXPOSED_COPPER_TRAPDOOR: - case WAXED_EXPOSED_CUT_COPPER: - case WAXED_EXPOSED_CUT_COPPER_SLAB: - case WAXED_EXPOSED_CUT_COPPER_STAIRS: - case WAXED_OXIDIZED_CHISELED_COPPER: - case WAXED_OXIDIZED_COPPER: - case WAXED_OXIDIZED_COPPER_BULB: - case WAXED_OXIDIZED_COPPER_DOOR: - case WAXED_OXIDIZED_COPPER_GRATE: - case WAXED_OXIDIZED_COPPER_TRAPDOOR: - case WAXED_OXIDIZED_CUT_COPPER: - case WAXED_OXIDIZED_CUT_COPPER_SLAB: - case WAXED_OXIDIZED_CUT_COPPER_STAIRS: - case WAXED_WEATHERED_CHISELED_COPPER: - case WAXED_WEATHERED_COPPER: - case WAXED_WEATHERED_COPPER_BULB: - case WAXED_WEATHERED_COPPER_DOOR: - case WAXED_WEATHERED_COPPER_GRATE: - case WAXED_WEATHERED_COPPER_TRAPDOOR: - case WAXED_WEATHERED_CUT_COPPER: - case WAXED_WEATHERED_CUT_COPPER_SLAB: - case WAXED_WEATHERED_CUT_COPPER_STAIRS: - case WEATHERED_CHISELED_COPPER: - case WEATHERED_COPPER: - case WEATHERED_COPPER_BULB: - case WEATHERED_COPPER_DOOR: - case WEATHERED_COPPER_GRATE: - case WEATHERED_COPPER_TRAPDOOR: - case WEATHERED_CUT_COPPER: - case WEATHERED_CUT_COPPER_SLAB: - case WEATHERED_CUT_COPPER_STAIRS: - case WEEPING_VINES: - case WEEPING_VINES_PLANT: - case WET_SPONGE: - case WHEAT: - case WHITE_BANNER: - case WHITE_BED: - case WHITE_CANDLE: - case WHITE_CANDLE_CAKE: - case WHITE_CARPET: - case WHITE_CONCRETE: - case WHITE_CONCRETE_POWDER: - case WHITE_GLAZED_TERRACOTTA: - case WHITE_SHULKER_BOX: - case WHITE_STAINED_GLASS: - case WHITE_STAINED_GLASS_PANE: - case WHITE_TERRACOTTA: - case WHITE_TULIP: - case WHITE_WALL_BANNER: - case WHITE_WOOL: - case WITHER_ROSE: - case WITHER_SKELETON_SKULL: - case WITHER_SKELETON_WALL_SKULL: - case YELLOW_BANNER: - case YELLOW_BED: - case YELLOW_CANDLE: - case YELLOW_CANDLE_CAKE: - case YELLOW_CARPET: - case YELLOW_CONCRETE: - case YELLOW_CONCRETE_POWDER: - case YELLOW_GLAZED_TERRACOTTA: - case YELLOW_SHULKER_BOX: - case YELLOW_STAINED_GLASS: - case YELLOW_STAINED_GLASS_PANE: - case YELLOW_TERRACOTTA: - case YELLOW_WALL_BANNER: - case YELLOW_WOOL: - case ZOMBIE_HEAD: - case ZOMBIE_WALL_HEAD: - // - return true; - default: - return 0 <= id && id < 256; - } + return asBlockType() != null; } /** @@ -5934,85 +4871,8 @@ public enum Material implements Keyed, Translatable { * @return true if this Material is edible. */ public boolean isEdible() { - switch (this) { - // - case APPLE: - case BAKED_POTATO: - case BEEF: - case BEETROOT: - case BEETROOT_SOUP: - case BREAD: - case CARROT: - case CHICKEN: - case CHORUS_FRUIT: - case COD: - case COOKED_BEEF: - case COOKED_CHICKEN: - case COOKED_COD: - case COOKED_MUTTON: - case COOKED_PORKCHOP: - case COOKED_RABBIT: - case COOKED_SALMON: - case COOKIE: - case DRIED_KELP: - case ENCHANTED_GOLDEN_APPLE: - case GLOW_BERRIES: - case GOLDEN_APPLE: - case GOLDEN_CARROT: - case HONEY_BOTTLE: - case MELON_SLICE: - case MUSHROOM_STEW: - case MUTTON: - case OMINOUS_BOTTLE: - case POISONOUS_POTATO: - case PORKCHOP: - case POTATO: - case PUFFERFISH: - case PUMPKIN_PIE: - case RABBIT: - case RABBIT_STEW: - case ROTTEN_FLESH: - case SALMON: - case SPIDER_EYE: - case SUSPICIOUS_STEW: - case SWEET_BERRIES: - case TROPICAL_FISH: - // ----- Legacy Separator ----- - case LEGACY_BREAD: - case LEGACY_CARROT_ITEM: - case LEGACY_BAKED_POTATO: - case LEGACY_POTATO_ITEM: - case LEGACY_POISONOUS_POTATO: - case LEGACY_GOLDEN_CARROT: - case LEGACY_PUMPKIN_PIE: - case LEGACY_COOKIE: - case LEGACY_MELON: - case LEGACY_MUSHROOM_SOUP: - case LEGACY_RAW_CHICKEN: - case LEGACY_COOKED_CHICKEN: - case LEGACY_RAW_BEEF: - case LEGACY_COOKED_BEEF: - case LEGACY_RAW_FISH: - case LEGACY_COOKED_FISH: - case LEGACY_PORK: - case LEGACY_GRILLED_PORK: - case LEGACY_APPLE: - case LEGACY_GOLDEN_APPLE: - case LEGACY_ROTTEN_FLESH: - case LEGACY_SPIDER_EYE: - case LEGACY_RABBIT: - case LEGACY_COOKED_RABBIT: - case LEGACY_RABBIT_STEW: - case LEGACY_MUTTON: - case LEGACY_COOKED_MUTTON: - case LEGACY_BEETROOT: - case LEGACY_CHORUS_FRUIT: - case LEGACY_BEETROOT_SOUP: - // - return true; - default: - return false; - } + ItemType type = asItemType(); + return type == null ? false : type.isEdible(); } /** @@ -6110,29 +4970,8 @@ public enum Material implements Keyed, Translatable { * @return True if this material represents a playable music disk. */ public boolean isRecord() { - switch (this) { - // - case MUSIC_DISC_5: - case MUSIC_DISC_11: - case MUSIC_DISC_13: - case MUSIC_DISC_BLOCKS: - case MUSIC_DISC_CAT: - case MUSIC_DISC_CHIRP: - case MUSIC_DISC_FAR: - case MUSIC_DISC_MALL: - 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: - case MUSIC_DISC_WARD: - // - return true; - default: - return id >= LEGACY_GOLD_RECORD.id && id <= LEGACY_RECORD_12.id; - } + ItemType type = asItemType(); + return type != null && type.isRecord(); } /** @@ -6141,1050 +4980,8 @@ public enum Material implements Keyed, Translatable { * @return True if this material is a block and solid */ public boolean isSolid() { - if (!isBlock() || id == 0) { - return false; - } - switch (this) { - // - case ACACIA_DOOR: - case ACACIA_FENCE: - case ACACIA_FENCE_GATE: - case ACACIA_HANGING_SIGN: - case ACACIA_LEAVES: - case ACACIA_LOG: - case ACACIA_PLANKS: - case ACACIA_PRESSURE_PLATE: - case ACACIA_SIGN: - case ACACIA_SLAB: - case ACACIA_STAIRS: - case ACACIA_TRAPDOOR: - case ACACIA_WALL_HANGING_SIGN: - case ACACIA_WALL_SIGN: - case ACACIA_WOOD: - case AMETHYST_BLOCK: - case AMETHYST_CLUSTER: - case ANCIENT_DEBRIS: - case ANDESITE: - case ANDESITE_SLAB: - case ANDESITE_STAIRS: - case ANDESITE_WALL: - 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: - case BEACON: - case BEDROCK: - case BEEHIVE: - case BEE_NEST: - case BELL: - case BIRCH_DOOR: - case BIRCH_FENCE: - case BIRCH_FENCE_GATE: - case BIRCH_HANGING_SIGN: - case BIRCH_LEAVES: - case BIRCH_LOG: - case BIRCH_PLANKS: - case BIRCH_PRESSURE_PLATE: - case BIRCH_SIGN: - case BIRCH_SLAB: - case BIRCH_STAIRS: - case BIRCH_TRAPDOOR: - case BIRCH_WALL_HANGING_SIGN: - case BIRCH_WALL_SIGN: - case BIRCH_WOOD: - case BLACKSTONE: - case BLACKSTONE_SLAB: - case BLACKSTONE_STAIRS: - case BLACKSTONE_WALL: - case BLACK_BANNER: - case BLACK_BED: - case BLACK_CANDLE_CAKE: - case BLACK_CONCRETE: - case BLACK_CONCRETE_POWDER: - case BLACK_GLAZED_TERRACOTTA: - case BLACK_SHULKER_BOX: - case BLACK_STAINED_GLASS: - case BLACK_STAINED_GLASS_PANE: - case BLACK_TERRACOTTA: - case BLACK_WALL_BANNER: - case BLACK_WOOL: - case BLAST_FURNACE: - case BLUE_BANNER: - case BLUE_BED: - case BLUE_CANDLE_CAKE: - case BLUE_CONCRETE: - case BLUE_CONCRETE_POWDER: - case BLUE_GLAZED_TERRACOTTA: - case BLUE_ICE: - case BLUE_SHULKER_BOX: - case BLUE_STAINED_GLASS: - case BLUE_STAINED_GLASS_PANE: - case BLUE_TERRACOTTA: - case BLUE_WALL_BANNER: - case BLUE_WOOL: - case BONE_BLOCK: - case BOOKSHELF: - case BRAIN_CORAL_BLOCK: - case BREWING_STAND: - case BRICKS: - case BRICK_SLAB: - case BRICK_STAIRS: - case BRICK_WALL: - case BROWN_BANNER: - case BROWN_BED: - case BROWN_CANDLE_CAKE: - case BROWN_CONCRETE: - case BROWN_CONCRETE_POWDER: - case BROWN_GLAZED_TERRACOTTA: - case BROWN_MUSHROOM_BLOCK: - case BROWN_SHULKER_BOX: - case BROWN_STAINED_GLASS: - case BROWN_STAINED_GLASS_PANE: - case BROWN_TERRACOTTA: - case BROWN_WALL_BANNER: - case BROWN_WOOL: - case BUBBLE_CORAL_BLOCK: - case BUDDING_AMETHYST: - case CACTUS: - case CAKE: - case CALCITE: - case CALIBRATED_SCULK_SENSOR: - case CAMPFIRE: - case CANDLE_CAKE: - case CARTOGRAPHY_TABLE: - case CARVED_PUMPKIN: - case CAULDRON: - case CHAIN: - case CHAIN_COMMAND_BLOCK: - case CHERRY_DOOR: - case CHERRY_FENCE: - case CHERRY_FENCE_GATE: - case CHERRY_HANGING_SIGN: - case CHERRY_LEAVES: - case CHERRY_LOG: - case CHERRY_PLANKS: - case CHERRY_PRESSURE_PLATE: - case CHERRY_SIGN: - case CHERRY_SLAB: - case CHERRY_STAIRS: - case CHERRY_TRAPDOOR: - case CHERRY_WALL_HANGING_SIGN: - case CHERRY_WALL_SIGN: - case CHERRY_WOOD: - case CHEST: - case CHIPPED_ANVIL: - case CHISELED_BOOKSHELF: - case CHISELED_COPPER: - case CHISELED_DEEPSLATE: - case CHISELED_NETHER_BRICKS: - case CHISELED_POLISHED_BLACKSTONE: - case CHISELED_QUARTZ_BLOCK: - case CHISELED_RED_SANDSTONE: - case CHISELED_SANDSTONE: - case CHISELED_STONE_BRICKS: - case CHISELED_TUFF: - case CHISELED_TUFF_BRICKS: - case CLAY: - case COAL_BLOCK: - case COAL_ORE: - case COARSE_DIRT: - case COBBLED_DEEPSLATE: - case COBBLED_DEEPSLATE_SLAB: - case COBBLED_DEEPSLATE_STAIRS: - case COBBLED_DEEPSLATE_WALL: - case COBBLESTONE: - case COBBLESTONE_SLAB: - case COBBLESTONE_STAIRS: - case COBBLESTONE_WALL: - case COMMAND_BLOCK: - case COMPOSTER: - case CONDUIT: - case COPPER_BLOCK: - case COPPER_BULB: - case COPPER_DOOR: - case COPPER_GRATE: - case COPPER_ORE: - case COPPER_TRAPDOOR: - case CRACKED_DEEPSLATE_BRICKS: - case CRACKED_DEEPSLATE_TILES: - case CRACKED_NETHER_BRICKS: - case CRACKED_POLISHED_BLACKSTONE_BRICKS: - case CRACKED_STONE_BRICKS: - case CRAFTER: - case CRAFTING_TABLE: - case CRIMSON_DOOR: - case CRIMSON_FENCE: - case CRIMSON_FENCE_GATE: - case CRIMSON_HANGING_SIGN: - case CRIMSON_HYPHAE: - case CRIMSON_NYLIUM: - case CRIMSON_PLANKS: - case CRIMSON_PRESSURE_PLATE: - case CRIMSON_SIGN: - case CRIMSON_SLAB: - case CRIMSON_STAIRS: - case CRIMSON_STEM: - case CRIMSON_TRAPDOOR: - case CRIMSON_WALL_HANGING_SIGN: - case CRIMSON_WALL_SIGN: - case CRYING_OBSIDIAN: - case CUT_COPPER: - case CUT_COPPER_SLAB: - case CUT_COPPER_STAIRS: - case CUT_RED_SANDSTONE: - case CUT_RED_SANDSTONE_SLAB: - case CUT_SANDSTONE: - case CUT_SANDSTONE_SLAB: - case CYAN_BANNER: - case CYAN_BED: - case CYAN_CANDLE_CAKE: - case CYAN_CONCRETE: - case CYAN_CONCRETE_POWDER: - case CYAN_GLAZED_TERRACOTTA: - case CYAN_SHULKER_BOX: - case CYAN_STAINED_GLASS: - case CYAN_STAINED_GLASS_PANE: - case CYAN_TERRACOTTA: - case CYAN_WALL_BANNER: - case CYAN_WOOL: - case DAMAGED_ANVIL: - 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: - case DARK_OAK_PRESSURE_PLATE: - case DARK_OAK_SIGN: - 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: - case DARK_PRISMARINE_SLAB: - case DARK_PRISMARINE_STAIRS: - case DAYLIGHT_DETECTOR: - case DEAD_BRAIN_CORAL: - case DEAD_BRAIN_CORAL_BLOCK: - case DEAD_BRAIN_CORAL_FAN: - case DEAD_BRAIN_CORAL_WALL_FAN: - case DEAD_BUBBLE_CORAL: - case DEAD_BUBBLE_CORAL_BLOCK: - case DEAD_BUBBLE_CORAL_FAN: - case DEAD_BUBBLE_CORAL_WALL_FAN: - case DEAD_FIRE_CORAL: - case DEAD_FIRE_CORAL_BLOCK: - case DEAD_FIRE_CORAL_FAN: - case DEAD_FIRE_CORAL_WALL_FAN: - case DEAD_HORN_CORAL: - case DEAD_HORN_CORAL_BLOCK: - case DEAD_HORN_CORAL_FAN: - case DEAD_HORN_CORAL_WALL_FAN: - case DEAD_TUBE_CORAL: - case DEAD_TUBE_CORAL_BLOCK: - case DEAD_TUBE_CORAL_FAN: - case DEAD_TUBE_CORAL_WALL_FAN: - case DECORATED_POT: - case DEEPSLATE: - case DEEPSLATE_BRICKS: - case DEEPSLATE_BRICK_SLAB: - case DEEPSLATE_BRICK_STAIRS: - case DEEPSLATE_BRICK_WALL: - case DEEPSLATE_COAL_ORE: - case DEEPSLATE_COPPER_ORE: - case DEEPSLATE_DIAMOND_ORE: - case DEEPSLATE_EMERALD_ORE: - case DEEPSLATE_GOLD_ORE: - case DEEPSLATE_IRON_ORE: - case DEEPSLATE_LAPIS_ORE: - case DEEPSLATE_REDSTONE_ORE: - case DEEPSLATE_TILES: - case DEEPSLATE_TILE_SLAB: - case DEEPSLATE_TILE_STAIRS: - case DEEPSLATE_TILE_WALL: - case DIAMOND_BLOCK: - case DIAMOND_ORE: - case DIORITE: - case DIORITE_SLAB: - case DIORITE_STAIRS: - case DIORITE_WALL: - case DIRT: - case DIRT_PATH: - case DISPENSER: - case DRAGON_EGG: - case DRIED_KELP_BLOCK: - case DRIPSTONE_BLOCK: - case DROPPER: - case EMERALD_BLOCK: - case EMERALD_ORE: - case ENCHANTING_TABLE: - case ENDER_CHEST: - case END_PORTAL_FRAME: - case END_STONE: - case END_STONE_BRICKS: - case END_STONE_BRICK_SLAB: - case END_STONE_BRICK_STAIRS: - case END_STONE_BRICK_WALL: - case EXPOSED_CHISELED_COPPER: - case EXPOSED_COPPER: - case EXPOSED_COPPER_BULB: - case EXPOSED_COPPER_DOOR: - case EXPOSED_COPPER_GRATE: - case EXPOSED_COPPER_TRAPDOOR: - case EXPOSED_CUT_COPPER: - case EXPOSED_CUT_COPPER_SLAB: - case EXPOSED_CUT_COPPER_STAIRS: - case FARMLAND: - case FIRE_CORAL_BLOCK: - case FLETCHING_TABLE: - case FLOWERING_AZALEA_LEAVES: - case FROSTED_ICE: - case FURNACE: - case GILDED_BLACKSTONE: - case GLASS: - case GLASS_PANE: - case GLOWSTONE: - case GOLD_BLOCK: - case GOLD_ORE: - case GRANITE: - case GRANITE_SLAB: - case GRANITE_STAIRS: - case GRANITE_WALL: - case GRASS_BLOCK: - case GRAVEL: - case GRAY_BANNER: - case GRAY_BED: - case GRAY_CANDLE_CAKE: - case GRAY_CONCRETE: - case GRAY_CONCRETE_POWDER: - case GRAY_GLAZED_TERRACOTTA: - case GRAY_SHULKER_BOX: - case GRAY_STAINED_GLASS: - case GRAY_STAINED_GLASS_PANE: - case GRAY_TERRACOTTA: - case GRAY_WALL_BANNER: - case GRAY_WOOL: - case GREEN_BANNER: - case GREEN_BED: - case GREEN_CANDLE_CAKE: - case GREEN_CONCRETE: - case GREEN_CONCRETE_POWDER: - case GREEN_GLAZED_TERRACOTTA: - case GREEN_SHULKER_BOX: - case GREEN_STAINED_GLASS: - case GREEN_STAINED_GLASS_PANE: - case GREEN_TERRACOTTA: - case GREEN_WALL_BANNER: - case GREEN_WOOL: - case GRINDSTONE: - case HAY_BLOCK: - case HEAVY_WEIGHTED_PRESSURE_PLATE: - case HONEYCOMB_BLOCK: - case HONEY_BLOCK: - case HOPPER: - case HORN_CORAL_BLOCK: - case ICE: - case INFESTED_CHISELED_STONE_BRICKS: - case INFESTED_COBBLESTONE: - case INFESTED_CRACKED_STONE_BRICKS: - case INFESTED_DEEPSLATE: - case INFESTED_MOSSY_STONE_BRICKS: - case INFESTED_STONE: - case INFESTED_STONE_BRICKS: - case IRON_BARS: - case IRON_BLOCK: - case IRON_DOOR: - case IRON_ORE: - case IRON_TRAPDOOR: - case JACK_O_LANTERN: - case JIGSAW: - case JUKEBOX: - case JUNGLE_DOOR: - case JUNGLE_FENCE: - case JUNGLE_FENCE_GATE: - case JUNGLE_HANGING_SIGN: - case JUNGLE_LEAVES: - case JUNGLE_LOG: - case JUNGLE_PLANKS: - case JUNGLE_PRESSURE_PLATE: - case JUNGLE_SIGN: - case JUNGLE_SLAB: - case JUNGLE_STAIRS: - case JUNGLE_TRAPDOOR: - case JUNGLE_WALL_HANGING_SIGN: - case JUNGLE_WALL_SIGN: - case JUNGLE_WOOD: - case LANTERN: - case LAPIS_BLOCK: - case LAPIS_ORE: - case LARGE_AMETHYST_BUD: - case LAVA_CAULDRON: - case LECTERN: - case LIGHTNING_ROD: - case LIGHT_BLUE_BANNER: - case LIGHT_BLUE_BED: - case LIGHT_BLUE_CANDLE_CAKE: - case LIGHT_BLUE_CONCRETE: - case LIGHT_BLUE_CONCRETE_POWDER: - case LIGHT_BLUE_GLAZED_TERRACOTTA: - case LIGHT_BLUE_SHULKER_BOX: - case LIGHT_BLUE_STAINED_GLASS: - case LIGHT_BLUE_STAINED_GLASS_PANE: - case LIGHT_BLUE_TERRACOTTA: - case LIGHT_BLUE_WALL_BANNER: - case LIGHT_BLUE_WOOL: - case LIGHT_GRAY_BANNER: - case LIGHT_GRAY_BED: - case LIGHT_GRAY_CANDLE_CAKE: - case LIGHT_GRAY_CONCRETE: - case LIGHT_GRAY_CONCRETE_POWDER: - case LIGHT_GRAY_GLAZED_TERRACOTTA: - case LIGHT_GRAY_SHULKER_BOX: - case LIGHT_GRAY_STAINED_GLASS: - case LIGHT_GRAY_STAINED_GLASS_PANE: - case LIGHT_GRAY_TERRACOTTA: - case LIGHT_GRAY_WALL_BANNER: - case LIGHT_GRAY_WOOL: - case LIGHT_WEIGHTED_PRESSURE_PLATE: - case LIME_BANNER: - case LIME_BED: - case LIME_CANDLE_CAKE: - case LIME_CONCRETE: - case LIME_CONCRETE_POWDER: - case LIME_GLAZED_TERRACOTTA: - case LIME_SHULKER_BOX: - case LIME_STAINED_GLASS: - case LIME_STAINED_GLASS_PANE: - case LIME_TERRACOTTA: - case LIME_WALL_BANNER: - case LIME_WOOL: - case LODESTONE: - case LOOM: - case MAGENTA_BANNER: - case MAGENTA_BED: - case MAGENTA_CANDLE_CAKE: - case MAGENTA_CONCRETE: - case MAGENTA_CONCRETE_POWDER: - case MAGENTA_GLAZED_TERRACOTTA: - case MAGENTA_SHULKER_BOX: - case MAGENTA_STAINED_GLASS: - case MAGENTA_STAINED_GLASS_PANE: - case MAGENTA_TERRACOTTA: - case MAGENTA_WALL_BANNER: - case MAGENTA_WOOL: - case MAGMA_BLOCK: - case MANGROVE_DOOR: - case MANGROVE_FENCE: - case MANGROVE_FENCE_GATE: - case MANGROVE_HANGING_SIGN: - case MANGROVE_LEAVES: - case MANGROVE_LOG: - case MANGROVE_PLANKS: - case MANGROVE_PRESSURE_PLATE: - case MANGROVE_ROOTS: - case MANGROVE_SIGN: - 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: - case MELON: - case MOSSY_COBBLESTONE: - case MOSSY_COBBLESTONE_SLAB: - case MOSSY_COBBLESTONE_STAIRS: - case MOSSY_COBBLESTONE_WALL: - case MOSSY_STONE_BRICKS: - case MOSSY_STONE_BRICK_SLAB: - case MOSSY_STONE_BRICK_STAIRS: - case MOSSY_STONE_BRICK_WALL: - case MOSS_BLOCK: - case MOVING_PISTON: - case MUD: - case MUDDY_MANGROVE_ROOTS: - case MUD_BRICKS: - case MUD_BRICK_SLAB: - case MUD_BRICK_STAIRS: - case MUD_BRICK_WALL: - case MUSHROOM_STEM: - case MYCELIUM: - case NETHERITE_BLOCK: - case NETHERRACK: - case NETHER_BRICKS: - case NETHER_BRICK_FENCE: - case NETHER_BRICK_SLAB: - case NETHER_BRICK_STAIRS: - case NETHER_BRICK_WALL: - case NETHER_GOLD_ORE: - case NETHER_QUARTZ_ORE: - case NETHER_WART_BLOCK: - case NOTE_BLOCK: - case OAK_DOOR: - case OAK_FENCE: - case OAK_FENCE_GATE: - case OAK_HANGING_SIGN: - case OAK_LEAVES: - case OAK_LOG: - case OAK_PLANKS: - case OAK_PRESSURE_PLATE: - case OAK_SIGN: - case OAK_SLAB: - case OAK_STAIRS: - case OAK_TRAPDOOR: - case OAK_WALL_HANGING_SIGN: - case OAK_WALL_SIGN: - case OAK_WOOD: - case OBSERVER: - case OBSIDIAN: - case OCHRE_FROGLIGHT: - case ORANGE_BANNER: - case ORANGE_BED: - case ORANGE_CANDLE_CAKE: - case ORANGE_CONCRETE: - case ORANGE_CONCRETE_POWDER: - case ORANGE_GLAZED_TERRACOTTA: - case ORANGE_SHULKER_BOX: - case ORANGE_STAINED_GLASS: - case ORANGE_STAINED_GLASS_PANE: - case ORANGE_TERRACOTTA: - case ORANGE_WALL_BANNER: - case ORANGE_WOOL: - case OXIDIZED_CHISELED_COPPER: - case OXIDIZED_COPPER: - case OXIDIZED_COPPER_BULB: - case OXIDIZED_COPPER_DOOR: - case OXIDIZED_COPPER_GRATE: - case OXIDIZED_COPPER_TRAPDOOR: - case OXIDIZED_CUT_COPPER: - case OXIDIZED_CUT_COPPER_SLAB: - case OXIDIZED_CUT_COPPER_STAIRS: - case PACKED_ICE: - case PACKED_MUD: - case PEARLESCENT_FROGLIGHT: - case PETRIFIED_OAK_SLAB: - case PINK_BANNER: - case PINK_BED: - case PINK_CANDLE_CAKE: - case PINK_CONCRETE: - case PINK_CONCRETE_POWDER: - case PINK_GLAZED_TERRACOTTA: - case PINK_SHULKER_BOX: - case PINK_STAINED_GLASS: - case PINK_STAINED_GLASS_PANE: - case PINK_TERRACOTTA: - case PINK_WALL_BANNER: - case PINK_WOOL: - case PISTON: - case PISTON_HEAD: - case PODZOL: - case POINTED_DRIPSTONE: - case POLISHED_ANDESITE: - case POLISHED_ANDESITE_SLAB: - case POLISHED_ANDESITE_STAIRS: - case POLISHED_BASALT: - case POLISHED_BLACKSTONE: - case POLISHED_BLACKSTONE_BRICKS: - case POLISHED_BLACKSTONE_BRICK_SLAB: - case POLISHED_BLACKSTONE_BRICK_STAIRS: - case POLISHED_BLACKSTONE_BRICK_WALL: - case POLISHED_BLACKSTONE_PRESSURE_PLATE: - case POLISHED_BLACKSTONE_SLAB: - case POLISHED_BLACKSTONE_STAIRS: - case POLISHED_BLACKSTONE_WALL: - case POLISHED_DEEPSLATE: - case POLISHED_DEEPSLATE_SLAB: - case POLISHED_DEEPSLATE_STAIRS: - case POLISHED_DEEPSLATE_WALL: - case POLISHED_DIORITE: - case POLISHED_DIORITE_SLAB: - case POLISHED_DIORITE_STAIRS: - case POLISHED_GRANITE: - case POLISHED_GRANITE_SLAB: - case POLISHED_GRANITE_STAIRS: - case POLISHED_TUFF: - case POLISHED_TUFF_SLAB: - case POLISHED_TUFF_STAIRS: - case POLISHED_TUFF_WALL: - case POWDER_SNOW_CAULDRON: - case PRISMARINE: - case PRISMARINE_BRICKS: - case PRISMARINE_BRICK_SLAB: - case PRISMARINE_BRICK_STAIRS: - case PRISMARINE_SLAB: - case PRISMARINE_STAIRS: - case PRISMARINE_WALL: - case PUMPKIN: - case PURPLE_BANNER: - case PURPLE_BED: - case PURPLE_CANDLE_CAKE: - case PURPLE_CONCRETE: - case PURPLE_CONCRETE_POWDER: - case PURPLE_GLAZED_TERRACOTTA: - case PURPLE_SHULKER_BOX: - case PURPLE_STAINED_GLASS: - case PURPLE_STAINED_GLASS_PANE: - case PURPLE_TERRACOTTA: - case PURPLE_WALL_BANNER: - case PURPLE_WOOL: - case PURPUR_BLOCK: - case PURPUR_PILLAR: - case PURPUR_SLAB: - case PURPUR_STAIRS: - case QUARTZ_BLOCK: - case QUARTZ_BRICKS: - case QUARTZ_PILLAR: - case QUARTZ_SLAB: - case QUARTZ_STAIRS: - case RAW_COPPER_BLOCK: - case RAW_GOLD_BLOCK: - case RAW_IRON_BLOCK: - case REDSTONE_BLOCK: - case REDSTONE_LAMP: - case REDSTONE_ORE: - case RED_BANNER: - case RED_BED: - case RED_CANDLE_CAKE: - case RED_CONCRETE: - case RED_CONCRETE_POWDER: - case RED_GLAZED_TERRACOTTA: - case RED_MUSHROOM_BLOCK: - case RED_NETHER_BRICKS: - case RED_NETHER_BRICK_SLAB: - case RED_NETHER_BRICK_STAIRS: - case RED_NETHER_BRICK_WALL: - case RED_SAND: - case RED_SANDSTONE: - case RED_SANDSTONE_SLAB: - case RED_SANDSTONE_STAIRS: - case RED_SANDSTONE_WALL: - case RED_SHULKER_BOX: - case RED_STAINED_GLASS: - case RED_STAINED_GLASS_PANE: - case RED_TERRACOTTA: - case RED_WALL_BANNER: - case RED_WOOL: - case REINFORCED_DEEPSLATE: - case REPEATING_COMMAND_BLOCK: - case RESPAWN_ANCHOR: - case ROOTED_DIRT: - case SAND: - case SANDSTONE: - case SANDSTONE_SLAB: - case SANDSTONE_STAIRS: - case SANDSTONE_WALL: - case SCULK: - case SCULK_CATALYST: - case SCULK_SENSOR: - case SCULK_SHRIEKER: - case SCULK_VEIN: - case SEA_LANTERN: - case SHROOMLIGHT: - case SHULKER_BOX: - case SLIME_BLOCK: - case SMALL_AMETHYST_BUD: - case SMITHING_TABLE: - case SMOKER: - case SMOOTH_BASALT: - case SMOOTH_QUARTZ: - case SMOOTH_QUARTZ_SLAB: - case SMOOTH_QUARTZ_STAIRS: - case SMOOTH_RED_SANDSTONE: - case SMOOTH_RED_SANDSTONE_SLAB: - case SMOOTH_RED_SANDSTONE_STAIRS: - case SMOOTH_SANDSTONE: - case SMOOTH_SANDSTONE_SLAB: - case SMOOTH_SANDSTONE_STAIRS: - case SMOOTH_STONE: - case SMOOTH_STONE_SLAB: - case SNIFFER_EGG: - case SNOW_BLOCK: - case SOUL_CAMPFIRE: - case SOUL_LANTERN: - case SOUL_SAND: - case SOUL_SOIL: - case SPAWNER: - case SPONGE: - case SPRUCE_DOOR: - case SPRUCE_FENCE: - case SPRUCE_FENCE_GATE: - case SPRUCE_HANGING_SIGN: - case SPRUCE_LEAVES: - case SPRUCE_LOG: - case SPRUCE_PLANKS: - case SPRUCE_PRESSURE_PLATE: - case SPRUCE_SIGN: - case SPRUCE_SLAB: - case SPRUCE_STAIRS: - case SPRUCE_TRAPDOOR: - case SPRUCE_WALL_HANGING_SIGN: - case SPRUCE_WALL_SIGN: - case SPRUCE_WOOD: - case STICKY_PISTON: - case STONE: - case STONECUTTER: - case STONE_BRICKS: - case STONE_BRICK_SLAB: - case STONE_BRICK_STAIRS: - case STONE_BRICK_WALL: - case STONE_PRESSURE_PLATE: - case STONE_SLAB: - 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_CHERRY_LOG: - case STRIPPED_CHERRY_WOOD: - case STRIPPED_CRIMSON_HYPHAE: - case STRIPPED_CRIMSON_STEM: - case STRIPPED_DARK_OAK_LOG: - case STRIPPED_DARK_OAK_WOOD: - case STRIPPED_JUNGLE_LOG: - case STRIPPED_JUNGLE_WOOD: - case STRIPPED_MANGROVE_LOG: - case STRIPPED_MANGROVE_WOOD: - case STRIPPED_OAK_LOG: - case STRIPPED_OAK_WOOD: - case STRIPPED_SPRUCE_LOG: - case STRIPPED_SPRUCE_WOOD: - case STRIPPED_WARPED_HYPHAE: - case STRIPPED_WARPED_STEM: - case STRUCTURE_BLOCK: - case SUSPICIOUS_GRAVEL: - case SUSPICIOUS_SAND: - case TARGET: - case TERRACOTTA: - case TINTED_GLASS: - case TNT: - case TRAPPED_CHEST: - case TRIAL_SPAWNER: - case TUBE_CORAL_BLOCK: - case TUFF: - case TUFF_BRICKS: - case TUFF_BRICK_SLAB: - case TUFF_BRICK_STAIRS: - case TUFF_BRICK_WALL: - case TUFF_SLAB: - case TUFF_STAIRS: - case TUFF_WALL: - case TURTLE_EGG: - case VAULT: - case VERDANT_FROGLIGHT: - case WARPED_DOOR: - case WARPED_FENCE: - case WARPED_FENCE_GATE: - case WARPED_HANGING_SIGN: - case WARPED_HYPHAE: - case WARPED_NYLIUM: - case WARPED_PLANKS: - case WARPED_PRESSURE_PLATE: - case WARPED_SIGN: - case WARPED_SLAB: - 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: - case WAXED_CHISELED_COPPER: - case WAXED_COPPER_BLOCK: - case WAXED_COPPER_BULB: - case WAXED_COPPER_DOOR: - case WAXED_COPPER_GRATE: - case WAXED_COPPER_TRAPDOOR: - case WAXED_CUT_COPPER: - case WAXED_CUT_COPPER_SLAB: - case WAXED_CUT_COPPER_STAIRS: - case WAXED_EXPOSED_CHISELED_COPPER: - case WAXED_EXPOSED_COPPER: - case WAXED_EXPOSED_COPPER_BULB: - case WAXED_EXPOSED_COPPER_DOOR: - case WAXED_EXPOSED_COPPER_GRATE: - case WAXED_EXPOSED_COPPER_TRAPDOOR: - case WAXED_EXPOSED_CUT_COPPER: - case WAXED_EXPOSED_CUT_COPPER_SLAB: - case WAXED_EXPOSED_CUT_COPPER_STAIRS: - case WAXED_OXIDIZED_CHISELED_COPPER: - case WAXED_OXIDIZED_COPPER: - case WAXED_OXIDIZED_COPPER_BULB: - case WAXED_OXIDIZED_COPPER_DOOR: - case WAXED_OXIDIZED_COPPER_GRATE: - case WAXED_OXIDIZED_COPPER_TRAPDOOR: - case WAXED_OXIDIZED_CUT_COPPER: - case WAXED_OXIDIZED_CUT_COPPER_SLAB: - case WAXED_OXIDIZED_CUT_COPPER_STAIRS: - case WAXED_WEATHERED_CHISELED_COPPER: - case WAXED_WEATHERED_COPPER: - case WAXED_WEATHERED_COPPER_BULB: - case WAXED_WEATHERED_COPPER_DOOR: - case WAXED_WEATHERED_COPPER_GRATE: - case WAXED_WEATHERED_COPPER_TRAPDOOR: - case WAXED_WEATHERED_CUT_COPPER: - case WAXED_WEATHERED_CUT_COPPER_SLAB: - case WAXED_WEATHERED_CUT_COPPER_STAIRS: - case WEATHERED_CHISELED_COPPER: - case WEATHERED_COPPER: - case WEATHERED_COPPER_BULB: - case WEATHERED_COPPER_DOOR: - case WEATHERED_COPPER_GRATE: - case WEATHERED_COPPER_TRAPDOOR: - case WEATHERED_CUT_COPPER: - case WEATHERED_CUT_COPPER_SLAB: - case WEATHERED_CUT_COPPER_STAIRS: - case WET_SPONGE: - case WHITE_BANNER: - case WHITE_BED: - case WHITE_CANDLE_CAKE: - case WHITE_CONCRETE: - case WHITE_CONCRETE_POWDER: - case WHITE_GLAZED_TERRACOTTA: - case WHITE_SHULKER_BOX: - case WHITE_STAINED_GLASS: - case WHITE_STAINED_GLASS_PANE: - case WHITE_TERRACOTTA: - case WHITE_WALL_BANNER: - case WHITE_WOOL: - case YELLOW_BANNER: - case YELLOW_BED: - case YELLOW_CANDLE_CAKE: - case YELLOW_CONCRETE: - case YELLOW_CONCRETE_POWDER: - case YELLOW_GLAZED_TERRACOTTA: - case YELLOW_SHULKER_BOX: - case YELLOW_STAINED_GLASS: - case YELLOW_STAINED_GLASS_PANE: - case YELLOW_TERRACOTTA: - case YELLOW_WALL_BANNER: - case YELLOW_WOOL: - // ----- Legacy Separator ----- - case LEGACY_STONE: - case LEGACY_GRASS: - case LEGACY_DIRT: - case LEGACY_COBBLESTONE: - case LEGACY_WOOD: - case LEGACY_BEDROCK: - case LEGACY_SAND: - case LEGACY_GRAVEL: - case LEGACY_GOLD_ORE: - case LEGACY_IRON_ORE: - case LEGACY_COAL_ORE: - case LEGACY_LOG: - case LEGACY_LEAVES: - case LEGACY_SPONGE: - case LEGACY_GLASS: - case LEGACY_LAPIS_ORE: - case LEGACY_LAPIS_BLOCK: - case LEGACY_DISPENSER: - case LEGACY_SANDSTONE: - case LEGACY_NOTE_BLOCK: - case LEGACY_BED_BLOCK: - case LEGACY_PISTON_STICKY_BASE: - case LEGACY_PISTON_BASE: - case LEGACY_PISTON_EXTENSION: - case LEGACY_WOOL: - case LEGACY_PISTON_MOVING_PIECE: - case LEGACY_GOLD_BLOCK: - case LEGACY_IRON_BLOCK: - case LEGACY_DOUBLE_STEP: - case LEGACY_STEP: - case LEGACY_BRICK: - case LEGACY_TNT: - case LEGACY_BOOKSHELF: - case LEGACY_MOSSY_COBBLESTONE: - case LEGACY_OBSIDIAN: - case LEGACY_MOB_SPAWNER: - case LEGACY_WOOD_STAIRS: - case LEGACY_CHEST: - case LEGACY_DIAMOND_ORE: - case LEGACY_DIAMOND_BLOCK: - case LEGACY_WORKBENCH: - case LEGACY_SOIL: - case LEGACY_FURNACE: - case LEGACY_BURNING_FURNACE: - case LEGACY_SIGN_POST: - case LEGACY_WOODEN_DOOR: - case LEGACY_COBBLESTONE_STAIRS: - case LEGACY_WALL_SIGN: - case LEGACY_STONE_PLATE: - case LEGACY_IRON_DOOR_BLOCK: - case LEGACY_WOOD_PLATE: - case LEGACY_REDSTONE_ORE: - case LEGACY_GLOWING_REDSTONE_ORE: - case LEGACY_ICE: - case LEGACY_SNOW_BLOCK: - case LEGACY_CACTUS: - case LEGACY_CLAY: - case LEGACY_JUKEBOX: - case LEGACY_FENCE: - case LEGACY_PUMPKIN: - case LEGACY_NETHERRACK: - case LEGACY_SOUL_SAND: - case LEGACY_GLOWSTONE: - case LEGACY_JACK_O_LANTERN: - case LEGACY_CAKE_BLOCK: - case LEGACY_STAINED_GLASS: - case LEGACY_TRAP_DOOR: - case LEGACY_MONSTER_EGGS: - case LEGACY_SMOOTH_BRICK: - case LEGACY_HUGE_MUSHROOM_1: - case LEGACY_HUGE_MUSHROOM_2: - case LEGACY_IRON_FENCE: - case LEGACY_THIN_GLASS: - case LEGACY_MELON_BLOCK: - case LEGACY_FENCE_GATE: - case LEGACY_BRICK_STAIRS: - case LEGACY_SMOOTH_STAIRS: - case LEGACY_MYCEL: - case LEGACY_NETHER_BRICK: - case LEGACY_NETHER_FENCE: - case LEGACY_NETHER_BRICK_STAIRS: - case LEGACY_ENCHANTMENT_TABLE: - case LEGACY_BREWING_STAND: - case LEGACY_CAULDRON: - case LEGACY_ENDER_PORTAL_FRAME: - case LEGACY_ENDER_STONE: - case LEGACY_DRAGON_EGG: - case LEGACY_REDSTONE_LAMP_OFF: - case LEGACY_REDSTONE_LAMP_ON: - case LEGACY_WOOD_DOUBLE_STEP: - case LEGACY_WOOD_STEP: - case LEGACY_SANDSTONE_STAIRS: - case LEGACY_EMERALD_ORE: - case LEGACY_ENDER_CHEST: - case LEGACY_EMERALD_BLOCK: - case LEGACY_SPRUCE_WOOD_STAIRS: - case LEGACY_BIRCH_WOOD_STAIRS: - case LEGACY_JUNGLE_WOOD_STAIRS: - case LEGACY_COMMAND: - case LEGACY_BEACON: - case LEGACY_COBBLE_WALL: - case LEGACY_ANVIL: - case LEGACY_TRAPPED_CHEST: - case LEGACY_GOLD_PLATE: - case LEGACY_IRON_PLATE: - case LEGACY_DAYLIGHT_DETECTOR: - case LEGACY_REDSTONE_BLOCK: - case LEGACY_QUARTZ_ORE: - case LEGACY_HOPPER: - case LEGACY_QUARTZ_BLOCK: - case LEGACY_QUARTZ_STAIRS: - case LEGACY_DROPPER: - case LEGACY_STAINED_CLAY: - case LEGACY_HAY_BLOCK: - case LEGACY_HARD_CLAY: - case LEGACY_COAL_BLOCK: - case LEGACY_STAINED_GLASS_PANE: - case LEGACY_LEAVES_2: - case LEGACY_LOG_2: - case LEGACY_ACACIA_STAIRS: - case LEGACY_DARK_OAK_STAIRS: - case LEGACY_PACKED_ICE: - case LEGACY_RED_SANDSTONE: - case LEGACY_SLIME_BLOCK: - case LEGACY_BARRIER: - case LEGACY_IRON_TRAPDOOR: - case LEGACY_PRISMARINE: - case LEGACY_SEA_LANTERN: - case LEGACY_DOUBLE_STONE_SLAB2: - case LEGACY_RED_SANDSTONE_STAIRS: - case LEGACY_STONE_SLAB2: - case LEGACY_SPRUCE_FENCE_GATE: - case LEGACY_BIRCH_FENCE_GATE: - case LEGACY_JUNGLE_FENCE_GATE: - case LEGACY_DARK_OAK_FENCE_GATE: - case LEGACY_ACACIA_FENCE_GATE: - case LEGACY_SPRUCE_FENCE: - case LEGACY_BIRCH_FENCE: - case LEGACY_JUNGLE_FENCE: - case LEGACY_DARK_OAK_FENCE: - case LEGACY_ACACIA_FENCE: - case LEGACY_STANDING_BANNER: - case LEGACY_WALL_BANNER: - case LEGACY_DAYLIGHT_DETECTOR_INVERTED: - case LEGACY_SPRUCE_DOOR: - case LEGACY_BIRCH_DOOR: - case LEGACY_JUNGLE_DOOR: - case LEGACY_ACACIA_DOOR: - case LEGACY_DARK_OAK_DOOR: - case LEGACY_PURPUR_BLOCK: - case LEGACY_PURPUR_PILLAR: - case LEGACY_PURPUR_STAIRS: - case LEGACY_PURPUR_DOUBLE_SLAB: - case LEGACY_PURPUR_SLAB: - case LEGACY_END_BRICKS: - case LEGACY_GRASS_PATH: - case LEGACY_STRUCTURE_BLOCK: - case LEGACY_COMMAND_REPEATING: - case LEGACY_COMMAND_CHAIN: - case LEGACY_FROSTED_ICE: - case LEGACY_MAGMA: - case LEGACY_NETHER_WART_BLOCK: - case LEGACY_RED_NETHER_BRICK: - case LEGACY_BONE_BLOCK: - case LEGACY_OBSERVER: - case LEGACY_WHITE_SHULKER_BOX: - case LEGACY_ORANGE_SHULKER_BOX: - case LEGACY_MAGENTA_SHULKER_BOX: - case LEGACY_LIGHT_BLUE_SHULKER_BOX: - case LEGACY_YELLOW_SHULKER_BOX: - case LEGACY_LIME_SHULKER_BOX: - case LEGACY_PINK_SHULKER_BOX: - case LEGACY_GRAY_SHULKER_BOX: - case LEGACY_SILVER_SHULKER_BOX: - case LEGACY_CYAN_SHULKER_BOX: - case LEGACY_PURPLE_SHULKER_BOX: - case LEGACY_BLUE_SHULKER_BOX: - case LEGACY_BROWN_SHULKER_BOX: - case LEGACY_GREEN_SHULKER_BOX: - case LEGACY_RED_SHULKER_BOX: - case LEGACY_BLACK_SHULKER_BOX: - case LEGACY_WHITE_GLAZED_TERRACOTTA: - case LEGACY_ORANGE_GLAZED_TERRACOTTA: - case LEGACY_MAGENTA_GLAZED_TERRACOTTA: - case LEGACY_LIGHT_BLUE_GLAZED_TERRACOTTA: - case LEGACY_YELLOW_GLAZED_TERRACOTTA: - case LEGACY_LIME_GLAZED_TERRACOTTA: - case LEGACY_PINK_GLAZED_TERRACOTTA: - case LEGACY_GRAY_GLAZED_TERRACOTTA: - case LEGACY_SILVER_GLAZED_TERRACOTTA: - case LEGACY_CYAN_GLAZED_TERRACOTTA: - case LEGACY_PURPLE_GLAZED_TERRACOTTA: - case LEGACY_BLUE_GLAZED_TERRACOTTA: - case LEGACY_BROWN_GLAZED_TERRACOTTA: - case LEGACY_GREEN_GLAZED_TERRACOTTA: - case LEGACY_RED_GLAZED_TERRACOTTA: - case LEGACY_BLACK_GLAZED_TERRACOTTA: - case LEGACY_CONCRETE: - case LEGACY_CONCRETE_POWDER: - // - return true; - default: - return false; - } + BlockType type = asBlockType(); + return type != null && type.isSolid(); } /** @@ -7193,18 +4990,8 @@ public enum Material implements Keyed, Translatable { * @return True if this material is an air block. */ public boolean isAir() { - switch (this) { - // - case AIR: - case CAVE_AIR: - case VOID_AIR: - // ----- Legacy Separator ----- - case LEGACY_AIR: - // - return true; - default: - return false; - } + BlockType type = asBlockType(); + return type != null && type.isAir(); } /** @@ -7412,346 +5199,8 @@ public enum Material implements Keyed, Translatable { * @return True if this material is a block and can catch fire */ public boolean isFlammable() { - if (!isBlock()) { - return false; - } - switch (this) { - // - case ACACIA_DOOR: - case ACACIA_FENCE: - case ACACIA_FENCE_GATE: - case ACACIA_HANGING_SIGN: - case ACACIA_LEAVES: - case ACACIA_LOG: - case ACACIA_PLANKS: - case ACACIA_PRESSURE_PLATE: - case ACACIA_SIGN: - 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: - case BIRCH_PRESSURE_PLATE: - case BIRCH_SIGN: - case BIRCH_SLAB: - case BIRCH_STAIRS: - case BIRCH_TRAPDOOR: - case BIRCH_WALL_HANGING_SIGN: - case BIRCH_WALL_SIGN: - case BIRCH_WOOD: - case BLACK_BANNER: - case BLACK_BED: - case BLACK_CARPET: - case BLACK_WALL_BANNER: - case BLACK_WOOL: - case BLUE_BANNER: - case BLUE_BED: - case BLUE_CARPET: - case BLUE_WALL_BANNER: - case BLUE_WOOL: - case BOOKSHELF: - case BROWN_BANNER: - case BROWN_BED: - case BROWN_CARPET: - case BROWN_MUSHROOM_BLOCK: - case BROWN_WALL_BANNER: - case BROWN_WOOL: - case CAMPFIRE: - case CARTOGRAPHY_TABLE: - case CHERRY_DOOR: - case CHERRY_FENCE: - case CHERRY_FENCE_GATE: - case CHERRY_HANGING_SIGN: - case CHERRY_LEAVES: - case CHERRY_LOG: - case CHERRY_PLANKS: - case CHERRY_PRESSURE_PLATE: - case CHERRY_SIGN: - case CHERRY_SLAB: - case CHERRY_STAIRS: - case CHERRY_TRAPDOOR: - case CHERRY_WALL_HANGING_SIGN: - case CHERRY_WALL_SIGN: - case CHERRY_WOOD: - case CHEST: - case CHISELED_BOOKSHELF: - case COMPOSTER: - case CRAFTING_TABLE: - case CYAN_BANNER: - case CYAN_BED: - case CYAN_CARPET: - case CYAN_WALL_BANNER: - case CYAN_WOOL: - 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: - case DARK_OAK_PRESSURE_PLATE: - case DARK_OAK_SIGN: - 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: - case DEAD_BUSH: - case FERN: - case FLETCHING_TABLE: - case FLOWERING_AZALEA_LEAVES: - case GLOW_LICHEN: - case GRAY_BANNER: - case GRAY_BED: - case GRAY_CARPET: - case GRAY_WALL_BANNER: - case GRAY_WOOL: - case GREEN_BANNER: - case GREEN_BED: - case GREEN_CARPET: - case GREEN_WALL_BANNER: - case GREEN_WOOL: - case HANGING_ROOTS: - case JUKEBOX: - case JUNGLE_DOOR: - case JUNGLE_FENCE: - case JUNGLE_FENCE_GATE: - case JUNGLE_HANGING_SIGN: - case JUNGLE_LEAVES: - case JUNGLE_LOG: - case JUNGLE_PLANKS: - case JUNGLE_PRESSURE_PLATE: - case JUNGLE_SIGN: - case JUNGLE_SLAB: - case JUNGLE_STAIRS: - case JUNGLE_TRAPDOOR: - case JUNGLE_WALL_HANGING_SIGN: - case JUNGLE_WALL_SIGN: - case JUNGLE_WOOD: - case LARGE_FERN: - case LECTERN: - case LIGHT_BLUE_BANNER: - case LIGHT_BLUE_BED: - case LIGHT_BLUE_CARPET: - case LIGHT_BLUE_WALL_BANNER: - case LIGHT_BLUE_WOOL: - case LIGHT_GRAY_BANNER: - case LIGHT_GRAY_BED: - case LIGHT_GRAY_CARPET: - case LIGHT_GRAY_WALL_BANNER: - case LIGHT_GRAY_WOOL: - case LILAC: - case LIME_BANNER: - case LIME_BED: - case LIME_CARPET: - case LIME_WALL_BANNER: - case LIME_WOOL: - case LOOM: - case MAGENTA_BANNER: - case MAGENTA_BED: - case MAGENTA_CARPET: - case MAGENTA_WALL_BANNER: - case MAGENTA_WOOL: - case MANGROVE_DOOR: - case MANGROVE_FENCE: - case MANGROVE_FENCE_GATE: - case MANGROVE_HANGING_SIGN: - case MANGROVE_LEAVES: - case MANGROVE_LOG: - case MANGROVE_PLANKS: - case MANGROVE_PRESSURE_PLATE: - case MANGROVE_ROOTS: - case MANGROVE_SIGN: - case MANGROVE_SLAB: - case MANGROVE_STAIRS: - case MANGROVE_TRAPDOOR: - case MANGROVE_WALL_HANGING_SIGN: - case MANGROVE_WALL_SIGN: - case MANGROVE_WOOD: - case MUSHROOM_STEM: - case NOTE_BLOCK: - case OAK_DOOR: - case OAK_FENCE: - case OAK_FENCE_GATE: - case OAK_HANGING_SIGN: - case OAK_LEAVES: - case OAK_LOG: - case OAK_PLANKS: - case OAK_PRESSURE_PLATE: - case OAK_SIGN: - case OAK_SLAB: - case OAK_STAIRS: - case OAK_TRAPDOOR: - case OAK_WALL_HANGING_SIGN: - case OAK_WALL_SIGN: - case OAK_WOOD: - case ORANGE_BANNER: - case ORANGE_BED: - case ORANGE_CARPET: - case ORANGE_WALL_BANNER: - case ORANGE_WOOL: - case PEONY: - case PINK_BANNER: - case PINK_BED: - case PINK_CARPET: - case PINK_WALL_BANNER: - case PINK_WOOL: - case PITCHER_PLANT: - case PURPLE_BANNER: - case PURPLE_BED: - case PURPLE_CARPET: - case PURPLE_WALL_BANNER: - case PURPLE_WOOL: - case RED_BANNER: - case RED_BED: - case RED_CARPET: - case RED_MUSHROOM_BLOCK: - case RED_WALL_BANNER: - case RED_WOOL: - case ROSE_BUSH: - case SHORT_GRASS: - case SMITHING_TABLE: - case SOUL_CAMPFIRE: - case SPRUCE_DOOR: - case SPRUCE_FENCE: - case SPRUCE_FENCE_GATE: - case SPRUCE_HANGING_SIGN: - case SPRUCE_LEAVES: - case SPRUCE_LOG: - case SPRUCE_PLANKS: - case SPRUCE_PRESSURE_PLATE: - case SPRUCE_SIGN: - 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_CHERRY_LOG: - case STRIPPED_CHERRY_WOOD: - case STRIPPED_DARK_OAK_LOG: - case STRIPPED_DARK_OAK_WOOD: - case STRIPPED_JUNGLE_LOG: - case STRIPPED_JUNGLE_WOOD: - case STRIPPED_MANGROVE_LOG: - case STRIPPED_MANGROVE_WOOD: - case STRIPPED_OAK_LOG: - case STRIPPED_OAK_WOOD: - case STRIPPED_SPRUCE_LOG: - case STRIPPED_SPRUCE_WOOD: - case SUNFLOWER: - case TALL_GRASS: - case TNT: - case TRAPPED_CHEST: - case VINE: - case WHITE_BANNER: - case WHITE_BED: - case WHITE_CARPET: - case WHITE_WALL_BANNER: - case WHITE_WOOL: - case YELLOW_BANNER: - case YELLOW_BED: - case YELLOW_CARPET: - case YELLOW_WALL_BANNER: - case YELLOW_WOOL: - // ----- Legacy Separator ----- - case LEGACY_WOOD: - case LEGACY_LOG: - case LEGACY_LEAVES: - case LEGACY_NOTE_BLOCK: - case LEGACY_BED_BLOCK: - case LEGACY_LONG_GRASS: - case LEGACY_DEAD_BUSH: - case LEGACY_WOOL: - case LEGACY_TNT: - case LEGACY_BOOKSHELF: - case LEGACY_WOOD_STAIRS: - case LEGACY_CHEST: - case LEGACY_WORKBENCH: - case LEGACY_SIGN_POST: - case LEGACY_WOODEN_DOOR: - case LEGACY_WALL_SIGN: - case LEGACY_WOOD_PLATE: - case LEGACY_JUKEBOX: - case LEGACY_FENCE: - case LEGACY_TRAP_DOOR: - case LEGACY_HUGE_MUSHROOM_1: - case LEGACY_HUGE_MUSHROOM_2: - case LEGACY_VINE: - case LEGACY_FENCE_GATE: - case LEGACY_WOOD_DOUBLE_STEP: - case LEGACY_WOOD_STEP: - case LEGACY_SPRUCE_WOOD_STAIRS: - case LEGACY_BIRCH_WOOD_STAIRS: - case LEGACY_JUNGLE_WOOD_STAIRS: - case LEGACY_TRAPPED_CHEST: - case LEGACY_DAYLIGHT_DETECTOR: - case LEGACY_CARPET: - case LEGACY_LEAVES_2: - case LEGACY_LOG_2: - case LEGACY_ACACIA_STAIRS: - case LEGACY_DARK_OAK_STAIRS: - case LEGACY_DOUBLE_PLANT: - case LEGACY_SPRUCE_FENCE_GATE: - case LEGACY_BIRCH_FENCE_GATE: - case LEGACY_JUNGLE_FENCE_GATE: - case LEGACY_DARK_OAK_FENCE_GATE: - case LEGACY_ACACIA_FENCE_GATE: - case LEGACY_SPRUCE_FENCE: - case LEGACY_BIRCH_FENCE: - case LEGACY_JUNGLE_FENCE: - case LEGACY_DARK_OAK_FENCE: - case LEGACY_ACACIA_FENCE: - case LEGACY_STANDING_BANNER: - case LEGACY_WALL_BANNER: - case LEGACY_DAYLIGHT_DETECTOR_INVERTED: - case LEGACY_SPRUCE_DOOR: - case LEGACY_BIRCH_DOOR: - case LEGACY_JUNGLE_DOOR: - case LEGACY_ACACIA_DOOR: - case LEGACY_DARK_OAK_DOOR: - // - return true; - default: - return false; - } + BlockType type = asBlockType(); + return type != null && type.isFlammable(); } /** @@ -7760,228 +5209,8 @@ public enum Material implements Keyed, Translatable { * @return True if this material is a block and can burn away */ public boolean isBurnable() { - if (!isBlock()) { - return false; - } - switch (this) { - // - case ACACIA_FENCE: - case ACACIA_FENCE_GATE: - case ACACIA_LEAVES: - case ACACIA_LOG: - case ACACIA_PLANKS: - case ACACIA_SLAB: - case ACACIA_STAIRS: - case ACACIA_WOOD: - case ALLIUM: - case AZALEA: - 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: - case BIG_DRIPLEAF_STEM: - case BIRCH_FENCE: - case BIRCH_FENCE_GATE: - case BIRCH_LEAVES: - case BIRCH_LOG: - case BIRCH_PLANKS: - case BIRCH_SLAB: - case BIRCH_STAIRS: - case BIRCH_WOOD: - case BLACK_CARPET: - case BLACK_WOOL: - case BLUE_CARPET: - case BLUE_ORCHID: - case BLUE_WOOL: - case BOOKSHELF: - case BROWN_CARPET: - case BROWN_WOOL: - case CAVE_VINES: - case CAVE_VINES_PLANT: - case CHERRY_FENCE: - case CHERRY_FENCE_GATE: - case CHERRY_LEAVES: - case CHERRY_LOG: - case CHERRY_PLANKS: - case CHERRY_SLAB: - case CHERRY_STAIRS: - case CHERRY_WOOD: - case COAL_BLOCK: - case COMPOSTER: - case CORNFLOWER: - case CYAN_CARPET: - case CYAN_WOOL: - case DANDELION: - case DARK_OAK_FENCE: - case DARK_OAK_FENCE_GATE: - case DARK_OAK_LEAVES: - case DARK_OAK_LOG: - case DARK_OAK_PLANKS: - case DARK_OAK_SLAB: - case DARK_OAK_STAIRS: - case DARK_OAK_WOOD: - case DEAD_BUSH: - case DRIED_KELP_BLOCK: - case FERN: - case FLOWERING_AZALEA: - case FLOWERING_AZALEA_LEAVES: - case GLOW_LICHEN: - case GRAY_CARPET: - case GRAY_WOOL: - case GREEN_CARPET: - case GREEN_WOOL: - case HANGING_ROOTS: - case HAY_BLOCK: - case JUNGLE_FENCE: - case JUNGLE_FENCE_GATE: - case JUNGLE_LEAVES: - case JUNGLE_LOG: - case JUNGLE_PLANKS: - case JUNGLE_SLAB: - case JUNGLE_STAIRS: - case JUNGLE_WOOD: - case LARGE_FERN: - case LECTERN: - case LIGHT_BLUE_CARPET: - case LIGHT_BLUE_WOOL: - case LIGHT_GRAY_CARPET: - case LIGHT_GRAY_WOOL: - case LILAC: - case LILY_OF_THE_VALLEY: - case LIME_CARPET: - case LIME_WOOL: - case MAGENTA_CARPET: - case MAGENTA_WOOL: - case MANGROVE_FENCE: - case MANGROVE_FENCE_GATE: - case MANGROVE_LEAVES: - case MANGROVE_LOG: - case MANGROVE_PLANKS: - case MANGROVE_ROOTS: - case MANGROVE_SLAB: - case MANGROVE_STAIRS: - case MANGROVE_WOOD: - case OAK_FENCE: - case OAK_FENCE_GATE: - case OAK_LEAVES: - case OAK_LOG: - case OAK_PLANKS: - case OAK_SLAB: - case OAK_STAIRS: - case OAK_WOOD: - case ORANGE_CARPET: - case ORANGE_TULIP: - case ORANGE_WOOL: - case OXEYE_DAISY: - case PEONY: - case PINK_CARPET: - case PINK_PETALS: - case PINK_TULIP: - case PINK_WOOL: - case PITCHER_PLANT: - case POPPY: - case PURPLE_CARPET: - case PURPLE_WOOL: - case RED_CARPET: - case RED_TULIP: - case RED_WOOL: - case ROSE_BUSH: - case SCAFFOLDING: - case SHORT_GRASS: - case SMALL_DRIPLEAF: - case SPORE_BLOSSOM: - case SPRUCE_FENCE: - case SPRUCE_FENCE_GATE: - case SPRUCE_LEAVES: - case SPRUCE_LOG: - case SPRUCE_PLANKS: - case SPRUCE_SLAB: - case SPRUCE_STAIRS: - 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_CHERRY_LOG: - case STRIPPED_CHERRY_WOOD: - case STRIPPED_DARK_OAK_LOG: - case STRIPPED_DARK_OAK_WOOD: - case STRIPPED_JUNGLE_LOG: - case STRIPPED_JUNGLE_WOOD: - case STRIPPED_MANGROVE_LOG: - case STRIPPED_MANGROVE_WOOD: - case STRIPPED_OAK_LOG: - case STRIPPED_OAK_WOOD: - case STRIPPED_SPRUCE_LOG: - case STRIPPED_SPRUCE_WOOD: - case SUNFLOWER: - case SWEET_BERRY_BUSH: - case TALL_GRASS: - case TARGET: - case TNT: - case TORCHFLOWER: - case VINE: - case WHITE_CARPET: - case WHITE_TULIP: - case WHITE_WOOL: - case WITHER_ROSE: - case YELLOW_CARPET: - case YELLOW_WOOL: - // ----- Legacy Separator ----- - case LEGACY_WOOD: - case LEGACY_LOG: - case LEGACY_LEAVES: - case LEGACY_LONG_GRASS: - case LEGACY_WOOL: - case LEGACY_YELLOW_FLOWER: - case LEGACY_RED_ROSE: - case LEGACY_TNT: - case LEGACY_BOOKSHELF: - case LEGACY_WOOD_STAIRS: - case LEGACY_FENCE: - case LEGACY_VINE: - case LEGACY_WOOD_DOUBLE_STEP: - case LEGACY_WOOD_STEP: - case LEGACY_SPRUCE_WOOD_STAIRS: - case LEGACY_BIRCH_WOOD_STAIRS: - case LEGACY_JUNGLE_WOOD_STAIRS: - case LEGACY_HAY_BLOCK: - case LEGACY_COAL_BLOCK: - case LEGACY_LEAVES_2: - case LEGACY_LOG_2: - case LEGACY_CARPET: - case LEGACY_DOUBLE_PLANT: - case LEGACY_DEAD_BUSH: - case LEGACY_FENCE_GATE: - case LEGACY_SPRUCE_FENCE_GATE: - case LEGACY_BIRCH_FENCE_GATE: - case LEGACY_JUNGLE_FENCE_GATE: - case LEGACY_DARK_OAK_FENCE_GATE: - case LEGACY_ACACIA_FENCE_GATE: - case LEGACY_SPRUCE_FENCE: - case LEGACY_BIRCH_FENCE: - case LEGACY_JUNGLE_FENCE: - case LEGACY_DARK_OAK_FENCE: - case LEGACY_ACACIA_FENCE: - case LEGACY_ACACIA_STAIRS: - case LEGACY_DARK_OAK_STAIRS: - // - return true; - default: - return false; - } + BlockType type = asBlockType(); + return type != null && type.isBurnable(); } /** @@ -7990,325 +5219,8 @@ public enum Material implements Keyed, Translatable { * @return true if this Material can be used as fuel. */ public boolean isFuel() { - switch (this) { - // - case ACACIA_BOAT: - case ACACIA_BUTTON: - case ACACIA_CHEST_BOAT: - case ACACIA_DOOR: - case ACACIA_FENCE: - case ACACIA_FENCE_GATE: - case ACACIA_HANGING_SIGN: - case ACACIA_LOG: - case ACACIA_PLANKS: - case ACACIA_PRESSURE_PLATE: - case ACACIA_SAPLING: - case ACACIA_SIGN: - case ACACIA_SLAB: - case ACACIA_STAIRS: - case ACACIA_TRAPDOOR: - case ACACIA_WOOD: - case AZALEA: - case BAMBOO: - case BAMBOO_BLOCK: - case BAMBOO_BUTTON: - case BAMBOO_CHEST_RAFT: - 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_RAFT: - case BAMBOO_SIGN: - case BAMBOO_SLAB: - case BAMBOO_STAIRS: - case BAMBOO_TRAPDOOR: - case BARREL: - case BIRCH_BOAT: - case BIRCH_BUTTON: - case BIRCH_CHEST_BOAT: - case BIRCH_DOOR: - case BIRCH_FENCE: - case BIRCH_FENCE_GATE: - case BIRCH_HANGING_SIGN: - case BIRCH_LOG: - case BIRCH_PLANKS: - case BIRCH_PRESSURE_PLATE: - case BIRCH_SAPLING: - case BIRCH_SIGN: - case BIRCH_SLAB: - case BIRCH_STAIRS: - case BIRCH_TRAPDOOR: - case BIRCH_WOOD: - case BLACK_BANNER: - case BLACK_CARPET: - case BLACK_WOOL: - case BLAZE_ROD: - case BLUE_BANNER: - case BLUE_CARPET: - case BLUE_WOOL: - case BOOKSHELF: - case BOW: - case BOWL: - case BROWN_BANNER: - case BROWN_CARPET: - case BROWN_WOOL: - case CARTOGRAPHY_TABLE: - case CHARCOAL: - case CHERRY_BOAT: - case CHERRY_BUTTON: - case CHERRY_CHEST_BOAT: - case CHERRY_DOOR: - case CHERRY_FENCE: - case CHERRY_FENCE_GATE: - case CHERRY_HANGING_SIGN: - case CHERRY_LOG: - case CHERRY_PLANKS: - case CHERRY_PRESSURE_PLATE: - case CHERRY_SAPLING: - case CHERRY_SIGN: - case CHERRY_SLAB: - case CHERRY_STAIRS: - case CHERRY_TRAPDOOR: - case CHERRY_WOOD: - case CHEST: - case CHISELED_BOOKSHELF: - case COAL: - case COAL_BLOCK: - case COMPOSTER: - case CRAFTING_TABLE: - case CROSSBOW: - case CYAN_BANNER: - case CYAN_CARPET: - case CYAN_WOOL: - case DARK_OAK_BOAT: - case DARK_OAK_BUTTON: - case DARK_OAK_CHEST_BOAT: - case DARK_OAK_DOOR: - case DARK_OAK_FENCE: - case DARK_OAK_FENCE_GATE: - case DARK_OAK_HANGING_SIGN: - case DARK_OAK_LOG: - case DARK_OAK_PLANKS: - case DARK_OAK_PRESSURE_PLATE: - case DARK_OAK_SAPLING: - case DARK_OAK_SIGN: - case DARK_OAK_SLAB: - case DARK_OAK_STAIRS: - case DARK_OAK_TRAPDOOR: - case DARK_OAK_WOOD: - case DAYLIGHT_DETECTOR: - case DEAD_BUSH: - case DRIED_KELP_BLOCK: - case FISHING_ROD: - case FLETCHING_TABLE: - case FLOWERING_AZALEA: - case GRAY_BANNER: - case GRAY_CARPET: - case GRAY_WOOL: - case GREEN_BANNER: - case GREEN_CARPET: - case GREEN_WOOL: - case JUKEBOX: - case JUNGLE_BOAT: - case JUNGLE_BUTTON: - case JUNGLE_CHEST_BOAT: - case JUNGLE_DOOR: - case JUNGLE_FENCE: - case JUNGLE_FENCE_GATE: - case JUNGLE_HANGING_SIGN: - case JUNGLE_LOG: - case JUNGLE_PLANKS: - case JUNGLE_PRESSURE_PLATE: - case JUNGLE_SAPLING: - case JUNGLE_SIGN: - case JUNGLE_SLAB: - case JUNGLE_STAIRS: - case JUNGLE_TRAPDOOR: - case JUNGLE_WOOD: - case LADDER: - case LAVA_BUCKET: - case LECTERN: - case LIGHT_BLUE_BANNER: - case LIGHT_BLUE_CARPET: - case LIGHT_BLUE_WOOL: - case LIGHT_GRAY_BANNER: - case LIGHT_GRAY_CARPET: - case LIGHT_GRAY_WOOL: - case LIME_BANNER: - case LIME_CARPET: - case LIME_WOOL: - case LOOM: - case MAGENTA_BANNER: - case MAGENTA_CARPET: - case MAGENTA_WOOL: - case MANGROVE_BOAT: - case MANGROVE_BUTTON: - case MANGROVE_CHEST_BOAT: - case MANGROVE_DOOR: - case MANGROVE_FENCE: - case MANGROVE_FENCE_GATE: - case MANGROVE_HANGING_SIGN: - case MANGROVE_LOG: - case MANGROVE_PLANKS: - case MANGROVE_PRESSURE_PLATE: - case MANGROVE_PROPAGULE: - case MANGROVE_ROOTS: - case MANGROVE_SIGN: - case MANGROVE_SLAB: - case MANGROVE_STAIRS: - case MANGROVE_TRAPDOOR: - case MANGROVE_WOOD: - case NOTE_BLOCK: - case OAK_BOAT: - case OAK_BUTTON: - case OAK_CHEST_BOAT: - case OAK_DOOR: - case OAK_FENCE: - case OAK_FENCE_GATE: - case OAK_HANGING_SIGN: - case OAK_LOG: - case OAK_PLANKS: - case OAK_PRESSURE_PLATE: - case OAK_SAPLING: - case OAK_SIGN: - case OAK_SLAB: - case OAK_STAIRS: - case OAK_TRAPDOOR: - case OAK_WOOD: - case ORANGE_BANNER: - case ORANGE_CARPET: - case ORANGE_WOOL: - case PINK_BANNER: - case PINK_CARPET: - case PINK_WOOL: - case PURPLE_BANNER: - case PURPLE_CARPET: - case PURPLE_WOOL: - case RED_BANNER: - case RED_CARPET: - case RED_WOOL: - case SCAFFOLDING: - case SMITHING_TABLE: - case SPRUCE_BOAT: - case SPRUCE_BUTTON: - case SPRUCE_CHEST_BOAT: - case SPRUCE_DOOR: - case SPRUCE_FENCE: - case SPRUCE_FENCE_GATE: - case SPRUCE_HANGING_SIGN: - case SPRUCE_LOG: - case SPRUCE_PLANKS: - case SPRUCE_PRESSURE_PLATE: - case SPRUCE_SAPLING: - case SPRUCE_SIGN: - case SPRUCE_SLAB: - case SPRUCE_STAIRS: - case SPRUCE_TRAPDOOR: - case SPRUCE_WOOD: - case STICK: - case STRIPPED_ACACIA_LOG: - case STRIPPED_ACACIA_WOOD: - case STRIPPED_BAMBOO_BLOCK: - case STRIPPED_BIRCH_LOG: - case STRIPPED_BIRCH_WOOD: - case STRIPPED_CHERRY_LOG: - case STRIPPED_CHERRY_WOOD: - case STRIPPED_DARK_OAK_LOG: - case STRIPPED_DARK_OAK_WOOD: - case STRIPPED_JUNGLE_LOG: - case STRIPPED_JUNGLE_WOOD: - case STRIPPED_MANGROVE_LOG: - case STRIPPED_MANGROVE_WOOD: - case STRIPPED_OAK_LOG: - case STRIPPED_OAK_WOOD: - case STRIPPED_SPRUCE_LOG: - case STRIPPED_SPRUCE_WOOD: - case TRAPPED_CHEST: - case WHITE_BANNER: - case WHITE_CARPET: - case WHITE_WOOL: - case WOODEN_AXE: - case WOODEN_HOE: - case WOODEN_PICKAXE: - case WOODEN_SHOVEL: - case WOODEN_SWORD: - case YELLOW_BANNER: - case YELLOW_CARPET: - case YELLOW_WOOL: - // ----- Legacy Separator ----- - case LEGACY_LAVA_BUCKET: - case LEGACY_COAL_BLOCK: - case LEGACY_BLAZE_ROD: - case LEGACY_COAL: - case LEGACY_BOAT: - case LEGACY_BOAT_ACACIA: - case LEGACY_BOAT_BIRCH: - case LEGACY_BOAT_DARK_OAK: - case LEGACY_BOAT_JUNGLE: - case LEGACY_BOAT_SPRUCE: - case LEGACY_LOG: - case LEGACY_LOG_2: - case LEGACY_WOOD: - case LEGACY_WOOD_PLATE: - case LEGACY_FENCE: - case LEGACY_ACACIA_FENCE: - case LEGACY_BIRCH_FENCE: - case LEGACY_DARK_OAK_FENCE: - case LEGACY_JUNGLE_FENCE: - case LEGACY_SPRUCE_FENCE: - case LEGACY_FENCE_GATE: - case LEGACY_ACACIA_FENCE_GATE: - case LEGACY_BIRCH_FENCE_GATE: - case LEGACY_DARK_OAK_FENCE_GATE: - case LEGACY_JUNGLE_FENCE_GATE: - case LEGACY_SPRUCE_FENCE_GATE: - case LEGACY_WOOD_STAIRS: - case LEGACY_ACACIA_STAIRS: - case LEGACY_BIRCH_WOOD_STAIRS: - case LEGACY_DARK_OAK_STAIRS: - case LEGACY_JUNGLE_WOOD_STAIRS: - case LEGACY_SPRUCE_WOOD_STAIRS: - case LEGACY_TRAP_DOOR: - case LEGACY_WORKBENCH: - case LEGACY_BOOKSHELF: - case LEGACY_CHEST: - case LEGACY_TRAPPED_CHEST: - case LEGACY_DAYLIGHT_DETECTOR: - case LEGACY_JUKEBOX: - case LEGACY_NOTE_BLOCK: - case LEGACY_BANNER: - case LEGACY_FISHING_ROD: - case LEGACY_LADDER: - case LEGACY_WOOD_SWORD: - case LEGACY_WOOD_PICKAXE: - case LEGACY_WOOD_AXE: - case LEGACY_WOOD_SPADE: - case LEGACY_WOOD_HOE: - case LEGACY_BOW: - case LEGACY_SIGN: - case LEGACY_WOOD_DOOR: - case LEGACY_ACACIA_DOOR_ITEM: - case LEGACY_BIRCH_DOOR_ITEM: - case LEGACY_DARK_OAK_DOOR_ITEM: - case LEGACY_JUNGLE_DOOR_ITEM: - case LEGACY_SPRUCE_DOOR_ITEM: - case LEGACY_WOOD_STEP: - case LEGACY_SAPLING: - case LEGACY_STICK: - case LEGACY_WOOD_BUTTON: - case LEGACY_WOOL: - case LEGACY_CARPET: - case LEGACY_BOWL: - // - return true; - default: - return false; - } + ItemType type = asItemType(); + return type != null && type.isFuel(); } /** @@ -8330,530 +5242,16 @@ public enum Material implements Keyed, Translatable { * @return True if this material is a block and occludes light */ public boolean isOccluding() { - if (!isBlock()) { - return false; - } - switch (this) { - // - case ACACIA_LOG: - case ACACIA_PLANKS: - case ACACIA_WOOD: - case AMETHYST_BLOCK: - case ANCIENT_DEBRIS: - case ANDESITE: - case BAMBOO_BLOCK: - case BAMBOO_MOSAIC: - case BAMBOO_PLANKS: - case BARREL: - case BARRIER: - case BASALT: - case BEDROCK: - case BEEHIVE: - case BEE_NEST: - case BIRCH_LOG: - case BIRCH_PLANKS: - case BIRCH_WOOD: - case BLACKSTONE: - case BLACK_CONCRETE: - case BLACK_CONCRETE_POWDER: - case BLACK_GLAZED_TERRACOTTA: - case BLACK_SHULKER_BOX: - case BLACK_TERRACOTTA: - case BLACK_WOOL: - case BLAST_FURNACE: - case BLUE_CONCRETE: - case BLUE_CONCRETE_POWDER: - case BLUE_GLAZED_TERRACOTTA: - case BLUE_ICE: - case BLUE_SHULKER_BOX: - case BLUE_TERRACOTTA: - case BLUE_WOOL: - case BONE_BLOCK: - case BOOKSHELF: - case BRAIN_CORAL_BLOCK: - case BRICKS: - case BROWN_CONCRETE: - case BROWN_CONCRETE_POWDER: - case BROWN_GLAZED_TERRACOTTA: - case BROWN_MUSHROOM_BLOCK: - case BROWN_SHULKER_BOX: - case BROWN_TERRACOTTA: - case BROWN_WOOL: - case BUBBLE_CORAL_BLOCK: - case BUDDING_AMETHYST: - case CALCITE: - case CARTOGRAPHY_TABLE: - case CARVED_PUMPKIN: - case CHAIN_COMMAND_BLOCK: - case CHERRY_LOG: - case CHERRY_PLANKS: - case CHERRY_WOOD: - case CHISELED_BOOKSHELF: - case CHISELED_COPPER: - case CHISELED_DEEPSLATE: - case CHISELED_NETHER_BRICKS: - case CHISELED_POLISHED_BLACKSTONE: - case CHISELED_QUARTZ_BLOCK: - case CHISELED_RED_SANDSTONE: - case CHISELED_SANDSTONE: - case CHISELED_STONE_BRICKS: - case CHISELED_TUFF: - case CHISELED_TUFF_BRICKS: - case CLAY: - case COAL_BLOCK: - case COAL_ORE: - case COARSE_DIRT: - case COBBLED_DEEPSLATE: - case COBBLESTONE: - case COMMAND_BLOCK: - case COPPER_BLOCK: - case COPPER_ORE: - case CRACKED_DEEPSLATE_BRICKS: - case CRACKED_DEEPSLATE_TILES: - case CRACKED_NETHER_BRICKS: - case CRACKED_POLISHED_BLACKSTONE_BRICKS: - case CRACKED_STONE_BRICKS: - case CRAFTER: - case CRAFTING_TABLE: - case CRIMSON_HYPHAE: - case CRIMSON_NYLIUM: - case CRIMSON_PLANKS: - case CRIMSON_STEM: - case CRYING_OBSIDIAN: - case CUT_COPPER: - case CUT_RED_SANDSTONE: - case CUT_SANDSTONE: - case CYAN_CONCRETE: - case CYAN_CONCRETE_POWDER: - case CYAN_GLAZED_TERRACOTTA: - case CYAN_SHULKER_BOX: - case CYAN_TERRACOTTA: - case CYAN_WOOL: - case DARK_OAK_LOG: - case DARK_OAK_PLANKS: - case DARK_OAK_WOOD: - case DARK_PRISMARINE: - case DEAD_BRAIN_CORAL_BLOCK: - case DEAD_BUBBLE_CORAL_BLOCK: - case DEAD_FIRE_CORAL_BLOCK: - case DEAD_HORN_CORAL_BLOCK: - case DEAD_TUBE_CORAL_BLOCK: - case DEEPSLATE: - case DEEPSLATE_BRICKS: - case DEEPSLATE_COAL_ORE: - case DEEPSLATE_COPPER_ORE: - case DEEPSLATE_DIAMOND_ORE: - case DEEPSLATE_EMERALD_ORE: - case DEEPSLATE_GOLD_ORE: - case DEEPSLATE_IRON_ORE: - case DEEPSLATE_LAPIS_ORE: - case DEEPSLATE_REDSTONE_ORE: - case DEEPSLATE_TILES: - case DIAMOND_BLOCK: - case DIAMOND_ORE: - case DIORITE: - case DIRT: - case DISPENSER: - case DRIED_KELP_BLOCK: - case DRIPSTONE_BLOCK: - case DROPPER: - case EMERALD_BLOCK: - case EMERALD_ORE: - case END_STONE: - case END_STONE_BRICKS: - case EXPOSED_CHISELED_COPPER: - case EXPOSED_COPPER: - case EXPOSED_CUT_COPPER: - case FIRE_CORAL_BLOCK: - case FLETCHING_TABLE: - case FURNACE: - case GILDED_BLACKSTONE: - case GOLD_BLOCK: - case GOLD_ORE: - case GRANITE: - case GRASS_BLOCK: - case GRAVEL: - case GRAY_CONCRETE: - case GRAY_CONCRETE_POWDER: - case GRAY_GLAZED_TERRACOTTA: - case GRAY_SHULKER_BOX: - case GRAY_TERRACOTTA: - case GRAY_WOOL: - case GREEN_CONCRETE: - case GREEN_CONCRETE_POWDER: - case GREEN_GLAZED_TERRACOTTA: - case GREEN_SHULKER_BOX: - case GREEN_TERRACOTTA: - case GREEN_WOOL: - case HAY_BLOCK: - case HONEYCOMB_BLOCK: - case HORN_CORAL_BLOCK: - case INFESTED_CHISELED_STONE_BRICKS: - case INFESTED_COBBLESTONE: - case INFESTED_CRACKED_STONE_BRICKS: - case INFESTED_DEEPSLATE: - case INFESTED_MOSSY_STONE_BRICKS: - case INFESTED_STONE: - case INFESTED_STONE_BRICKS: - case IRON_BLOCK: - case IRON_ORE: - case JACK_O_LANTERN: - case JIGSAW: - case JUKEBOX: - case JUNGLE_LOG: - case JUNGLE_PLANKS: - case JUNGLE_WOOD: - case LAPIS_BLOCK: - case LAPIS_ORE: - case LIGHT_BLUE_CONCRETE: - case LIGHT_BLUE_CONCRETE_POWDER: - case LIGHT_BLUE_GLAZED_TERRACOTTA: - case LIGHT_BLUE_SHULKER_BOX: - case LIGHT_BLUE_TERRACOTTA: - case LIGHT_BLUE_WOOL: - case LIGHT_GRAY_CONCRETE: - case LIGHT_GRAY_CONCRETE_POWDER: - case LIGHT_GRAY_GLAZED_TERRACOTTA: - case LIGHT_GRAY_SHULKER_BOX: - case LIGHT_GRAY_TERRACOTTA: - case LIGHT_GRAY_WOOL: - case LIME_CONCRETE: - case LIME_CONCRETE_POWDER: - case LIME_GLAZED_TERRACOTTA: - case LIME_SHULKER_BOX: - case LIME_TERRACOTTA: - case LIME_WOOL: - case LODESTONE: - case LOOM: - case MAGENTA_CONCRETE: - case MAGENTA_CONCRETE_POWDER: - case MAGENTA_GLAZED_TERRACOTTA: - case MAGENTA_SHULKER_BOX: - case MAGENTA_TERRACOTTA: - case MAGENTA_WOOL: - case MAGMA_BLOCK: - case MANGROVE_LOG: - case MANGROVE_PLANKS: - case MANGROVE_ROOTS: - case MANGROVE_WOOD: - case MELON: - case MOSSY_COBBLESTONE: - case MOSSY_STONE_BRICKS: - case MOSS_BLOCK: - case MUD: - case MUDDY_MANGROVE_ROOTS: - case MUD_BRICKS: - case MUSHROOM_STEM: - case MYCELIUM: - case NETHERITE_BLOCK: - case NETHERRACK: - case NETHER_BRICKS: - case NETHER_GOLD_ORE: - case NETHER_QUARTZ_ORE: - case NETHER_WART_BLOCK: - case NOTE_BLOCK: - case OAK_LOG: - case OAK_PLANKS: - case OAK_WOOD: - case OBSIDIAN: - case OCHRE_FROGLIGHT: - case ORANGE_CONCRETE: - case ORANGE_CONCRETE_POWDER: - case ORANGE_GLAZED_TERRACOTTA: - case ORANGE_SHULKER_BOX: - case ORANGE_TERRACOTTA: - case ORANGE_WOOL: - case OXIDIZED_CHISELED_COPPER: - case OXIDIZED_COPPER: - case OXIDIZED_CUT_COPPER: - case PACKED_ICE: - case PACKED_MUD: - case PEARLESCENT_FROGLIGHT: - case PINK_CONCRETE: - case PINK_CONCRETE_POWDER: - case PINK_GLAZED_TERRACOTTA: - case PINK_SHULKER_BOX: - case PINK_TERRACOTTA: - case PINK_WOOL: - case PODZOL: - case POLISHED_ANDESITE: - case POLISHED_BASALT: - case POLISHED_BLACKSTONE: - case POLISHED_BLACKSTONE_BRICKS: - case POLISHED_DEEPSLATE: - case POLISHED_DIORITE: - case POLISHED_GRANITE: - case POLISHED_TUFF: - case PRISMARINE: - case PRISMARINE_BRICKS: - case PUMPKIN: - case PURPLE_CONCRETE: - case PURPLE_CONCRETE_POWDER: - case PURPLE_GLAZED_TERRACOTTA: - case PURPLE_SHULKER_BOX: - case PURPLE_TERRACOTTA: - case PURPLE_WOOL: - case PURPUR_BLOCK: - case PURPUR_PILLAR: - case QUARTZ_BLOCK: - case QUARTZ_BRICKS: - case QUARTZ_PILLAR: - case RAW_COPPER_BLOCK: - case RAW_GOLD_BLOCK: - case RAW_IRON_BLOCK: - case REDSTONE_LAMP: - case REDSTONE_ORE: - case RED_CONCRETE: - case RED_CONCRETE_POWDER: - case RED_GLAZED_TERRACOTTA: - case RED_MUSHROOM_BLOCK: - case RED_NETHER_BRICKS: - case RED_SAND: - case RED_SANDSTONE: - case RED_SHULKER_BOX: - case RED_TERRACOTTA: - case RED_WOOL: - case REINFORCED_DEEPSLATE: - case REPEATING_COMMAND_BLOCK: - case RESPAWN_ANCHOR: - case ROOTED_DIRT: - case SAND: - case SANDSTONE: - case SCULK: - case SCULK_CATALYST: - case SHROOMLIGHT: - case SHULKER_BOX: - case SLIME_BLOCK: - case SMITHING_TABLE: - case SMOKER: - case SMOOTH_BASALT: - case SMOOTH_QUARTZ: - case SMOOTH_RED_SANDSTONE: - case SMOOTH_SANDSTONE: - case SMOOTH_STONE: - case SNOW_BLOCK: - case SOUL_SAND: - case SOUL_SOIL: - case SPAWNER: - case SPONGE: - case SPRUCE_LOG: - case SPRUCE_PLANKS: - case SPRUCE_WOOD: - case STONE: - 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_CHERRY_LOG: - case STRIPPED_CHERRY_WOOD: - case STRIPPED_CRIMSON_HYPHAE: - case STRIPPED_CRIMSON_STEM: - case STRIPPED_DARK_OAK_LOG: - case STRIPPED_DARK_OAK_WOOD: - case STRIPPED_JUNGLE_LOG: - case STRIPPED_JUNGLE_WOOD: - case STRIPPED_MANGROVE_LOG: - case STRIPPED_MANGROVE_WOOD: - case STRIPPED_OAK_LOG: - case STRIPPED_OAK_WOOD: - case STRIPPED_SPRUCE_LOG: - case STRIPPED_SPRUCE_WOOD: - case STRIPPED_WARPED_HYPHAE: - case STRIPPED_WARPED_STEM: - case STRUCTURE_BLOCK: - case SUSPICIOUS_GRAVEL: - case SUSPICIOUS_SAND: - case TARGET: - case TERRACOTTA: - case TRIAL_SPAWNER: - case TUBE_CORAL_BLOCK: - case TUFF: - case TUFF_BRICKS: - case VAULT: - case VERDANT_FROGLIGHT: - case WARPED_HYPHAE: - case WARPED_NYLIUM: - case WARPED_PLANKS: - case WARPED_STEM: - case WARPED_WART_BLOCK: - case WAXED_CHISELED_COPPER: - case WAXED_COPPER_BLOCK: - case WAXED_CUT_COPPER: - case WAXED_EXPOSED_CHISELED_COPPER: - case WAXED_EXPOSED_COPPER: - case WAXED_EXPOSED_CUT_COPPER: - case WAXED_OXIDIZED_CHISELED_COPPER: - case WAXED_OXIDIZED_COPPER: - case WAXED_OXIDIZED_CUT_COPPER: - case WAXED_WEATHERED_CHISELED_COPPER: - case WAXED_WEATHERED_COPPER: - case WAXED_WEATHERED_CUT_COPPER: - case WEATHERED_CHISELED_COPPER: - case WEATHERED_COPPER: - case WEATHERED_CUT_COPPER: - case WET_SPONGE: - case WHITE_CONCRETE: - case WHITE_CONCRETE_POWDER: - case WHITE_GLAZED_TERRACOTTA: - case WHITE_SHULKER_BOX: - case WHITE_TERRACOTTA: - case WHITE_WOOL: - case YELLOW_CONCRETE: - case YELLOW_CONCRETE_POWDER: - case YELLOW_GLAZED_TERRACOTTA: - case YELLOW_SHULKER_BOX: - case YELLOW_TERRACOTTA: - case YELLOW_WOOL: - // ----- Legacy Separator ----- - case LEGACY_STONE: - case LEGACY_GRASS: - case LEGACY_DIRT: - case LEGACY_COBBLESTONE: - case LEGACY_WOOD: - case LEGACY_BEDROCK: - case LEGACY_SAND: - case LEGACY_GRAVEL: - case LEGACY_GOLD_ORE: - case LEGACY_IRON_ORE: - case LEGACY_COAL_ORE: - case LEGACY_LOG: - case LEGACY_SPONGE: - case LEGACY_LAPIS_ORE: - case LEGACY_LAPIS_BLOCK: - case LEGACY_DISPENSER: - case LEGACY_SANDSTONE: - case LEGACY_NOTE_BLOCK: - case LEGACY_WOOL: - case LEGACY_GOLD_BLOCK: - case LEGACY_IRON_BLOCK: - case LEGACY_DOUBLE_STEP: - case LEGACY_BRICK: - case LEGACY_BOOKSHELF: - case LEGACY_MOSSY_COBBLESTONE: - case LEGACY_OBSIDIAN: - case LEGACY_MOB_SPAWNER: - case LEGACY_DIAMOND_ORE: - case LEGACY_DIAMOND_BLOCK: - case LEGACY_WORKBENCH: - case LEGACY_FURNACE: - case LEGACY_BURNING_FURNACE: - case LEGACY_REDSTONE_ORE: - case LEGACY_GLOWING_REDSTONE_ORE: - case LEGACY_SNOW_BLOCK: - case LEGACY_CLAY: - case LEGACY_JUKEBOX: - case LEGACY_PUMPKIN: - case LEGACY_NETHERRACK: - case LEGACY_SOUL_SAND: - case LEGACY_JACK_O_LANTERN: - case LEGACY_MONSTER_EGGS: - case LEGACY_SMOOTH_BRICK: - case LEGACY_HUGE_MUSHROOM_1: - case LEGACY_HUGE_MUSHROOM_2: - case LEGACY_MELON_BLOCK: - case LEGACY_MYCEL: - case LEGACY_NETHER_BRICK: - case LEGACY_ENDER_STONE: - case LEGACY_REDSTONE_LAMP_OFF: - case LEGACY_REDSTONE_LAMP_ON: - case LEGACY_WOOD_DOUBLE_STEP: - case LEGACY_EMERALD_ORE: - case LEGACY_EMERALD_BLOCK: - case LEGACY_COMMAND: - case LEGACY_QUARTZ_ORE: - case LEGACY_QUARTZ_BLOCK: - case LEGACY_DROPPER: - case LEGACY_STAINED_CLAY: - case LEGACY_HAY_BLOCK: - case LEGACY_HARD_CLAY: - case LEGACY_COAL_BLOCK: - case LEGACY_LOG_2: - case LEGACY_PACKED_ICE: - case LEGACY_SLIME_BLOCK: - case LEGACY_BARRIER: - case LEGACY_PRISMARINE: - case LEGACY_RED_SANDSTONE: - case LEGACY_DOUBLE_STONE_SLAB2: - case LEGACY_PURPUR_BLOCK: - case LEGACY_PURPUR_PILLAR: - case LEGACY_PURPUR_DOUBLE_SLAB: - case LEGACY_END_BRICKS: - case LEGACY_STRUCTURE_BLOCK: - case LEGACY_COMMAND_REPEATING: - case LEGACY_COMMAND_CHAIN: - case LEGACY_MAGMA: - case LEGACY_NETHER_WART_BLOCK: - case LEGACY_RED_NETHER_BRICK: - case LEGACY_BONE_BLOCK: - case LEGACY_WHITE_GLAZED_TERRACOTTA: - case LEGACY_ORANGE_GLAZED_TERRACOTTA: - case LEGACY_MAGENTA_GLAZED_TERRACOTTA: - case LEGACY_LIGHT_BLUE_GLAZED_TERRACOTTA: - case LEGACY_YELLOW_GLAZED_TERRACOTTA: - case LEGACY_LIME_GLAZED_TERRACOTTA: - case LEGACY_PINK_GLAZED_TERRACOTTA: - case LEGACY_GRAY_GLAZED_TERRACOTTA: - case LEGACY_SILVER_GLAZED_TERRACOTTA: - case LEGACY_CYAN_GLAZED_TERRACOTTA: - case LEGACY_PURPLE_GLAZED_TERRACOTTA: - case LEGACY_BLUE_GLAZED_TERRACOTTA: - case LEGACY_BROWN_GLAZED_TERRACOTTA: - case LEGACY_GREEN_GLAZED_TERRACOTTA: - case LEGACY_RED_GLAZED_TERRACOTTA: - case LEGACY_BLACK_GLAZED_TERRACOTTA: - case LEGACY_CONCRETE: - case LEGACY_CONCRETE_POWDER: - // - return true; - default: - return false; - } + BlockType type = asBlockType(); + return type != null && type.isOccluding(); } /** * @return True if this material is affected by gravity. */ public boolean hasGravity() { - if (!isBlock()) { - return false; - } - switch (this) { - // - case ANVIL: - case BLACK_CONCRETE_POWDER: - case BLUE_CONCRETE_POWDER: - case BROWN_CONCRETE_POWDER: - case CHIPPED_ANVIL: - case CYAN_CONCRETE_POWDER: - case DAMAGED_ANVIL: - case DRAGON_EGG: - case GRAVEL: - case GRAY_CONCRETE_POWDER: - case GREEN_CONCRETE_POWDER: - case LIGHT_BLUE_CONCRETE_POWDER: - case LIGHT_GRAY_CONCRETE_POWDER: - case LIME_CONCRETE_POWDER: - case MAGENTA_CONCRETE_POWDER: - case ORANGE_CONCRETE_POWDER: - case PINK_CONCRETE_POWDER: - case PURPLE_CONCRETE_POWDER: - case RED_CONCRETE_POWDER: - case RED_SAND: - case SAND: - case WHITE_CONCRETE_POWDER: - case YELLOW_CONCRETE_POWDER: - // ----- Legacy Separator ----- - case LEGACY_SAND: - case LEGACY_GRAVEL: - case LEGACY_ANVIL: - case LEGACY_CONCRETE_POWDER: - // - return true; - default: - return false; - } + BlockType type = asBlockType(); + return type != null && type.hasGravity(); } /** @@ -8862,213 +5260,7 @@ public enum Material implements Keyed, Translatable { * @return true if this material is an item */ 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: - case BLUE_CANDLE_CAKE: - case BLUE_WALL_BANNER: - case BRAIN_CORAL_WALL_FAN: - case BROWN_CANDLE_CAKE: - case BROWN_WALL_BANNER: - case BUBBLE_COLUMN: - case BUBBLE_CORAL_WALL_FAN: - case CANDLE_CAKE: - case CARROTS: - case CAVE_AIR: - case CAVE_VINES: - case CAVE_VINES_PLANT: - case CHERRY_WALL_HANGING_SIGN: - case CHERRY_WALL_SIGN: - 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: - case DEAD_FIRE_CORAL_WALL_FAN: - case DEAD_HORN_CORAL_WALL_FAN: - case DEAD_TUBE_CORAL_WALL_FAN: - case DRAGON_WALL_HEAD: - case END_GATEWAY: - case END_PORTAL: - case FIRE: - case FIRE_CORAL_WALL_FAN: - case FROSTED_ICE: - case GRAY_CANDLE_CAKE: - case GRAY_WALL_BANNER: - 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: - case LAVA_CAULDRON: - case LIGHT_BLUE_CANDLE_CAKE: - case LIGHT_BLUE_WALL_BANNER: - case LIGHT_GRAY_CANDLE_CAKE: - case LIGHT_GRAY_WALL_BANNER: - case LIME_CANDLE_CAKE: - 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: - case PITCHER_CROP: - case PLAYER_WALL_HEAD: - case POTATOES: - case POTTED_ACACIA_SAPLING: - case POTTED_ALLIUM: - case POTTED_AZALEA_BUSH: - case POTTED_AZURE_BLUET: - case POTTED_BAMBOO: - case POTTED_BIRCH_SAPLING: - case POTTED_BLUE_ORCHID: - case POTTED_BROWN_MUSHROOM: - case POTTED_CACTUS: - case POTTED_CHERRY_SAPLING: - case POTTED_CORNFLOWER: - case POTTED_CRIMSON_FUNGUS: - case POTTED_CRIMSON_ROOTS: - case POTTED_DANDELION: - case POTTED_DARK_OAK_SAPLING: - case POTTED_DEAD_BUSH: - case POTTED_FERN: - case POTTED_FLOWERING_AZALEA_BUSH: - case POTTED_JUNGLE_SAPLING: - case POTTED_LILY_OF_THE_VALLEY: - case POTTED_MANGROVE_PROPAGULE: - case POTTED_OAK_SAPLING: - case POTTED_ORANGE_TULIP: - case POTTED_OXEYE_DAISY: - case POTTED_PINK_TULIP: - case POTTED_POPPY: - case POTTED_RED_MUSHROOM: - case POTTED_RED_TULIP: - case POTTED_SPRUCE_SAPLING: - case POTTED_TORCHFLOWER: - case POTTED_WARPED_FUNGUS: - case POTTED_WARPED_ROOTS: - case POTTED_WHITE_TULIP: - case POTTED_WITHER_ROSE: - case POWDER_SNOW: - case POWDER_SNOW_CAULDRON: - case PUMPKIN_STEM: - case PURPLE_CANDLE_CAKE: - case PURPLE_WALL_BANNER: - case REDSTONE_WALL_TORCH: - case REDSTONE_WIRE: - case RED_CANDLE_CAKE: - case RED_WALL_BANNER: - 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: - case TORCHFLOWER_CROP: - case TRIPWIRE: - case TUBE_CORAL_WALL_FAN: - case TWISTING_VINES_PLANT: - case VOID_AIR: - case WALL_TORCH: - case WARPED_WALL_HANGING_SIGN: - case WARPED_WALL_SIGN: - case WATER: - case WATER_CAULDRON: - case WEEPING_VINES_PLANT: - case WHITE_CANDLE_CAKE: - case WHITE_WALL_BANNER: - case WITHER_SKELETON_WALL_SKULL: - case YELLOW_CANDLE_CAKE: - case YELLOW_WALL_BANNER: - case ZOMBIE_WALL_HEAD: - // ----- Legacy Separator ----- - case LEGACY_ACACIA_DOOR: - case LEGACY_BED_BLOCK: - case LEGACY_BEETROOT_BLOCK: - case LEGACY_BIRCH_DOOR: - case LEGACY_BREWING_STAND: - case LEGACY_BURNING_FURNACE: - case LEGACY_CAKE_BLOCK: - case LEGACY_CARROT: - case LEGACY_CAULDRON: - case LEGACY_COCOA: - case LEGACY_CROPS: - case LEGACY_DARK_OAK_DOOR: - case LEGACY_DAYLIGHT_DETECTOR_INVERTED: - case LEGACY_DIODE_BLOCK_OFF: - case LEGACY_DIODE_BLOCK_ON: - case LEGACY_DOUBLE_STEP: - case LEGACY_DOUBLE_STONE_SLAB2: - case LEGACY_ENDER_PORTAL: - case LEGACY_END_GATEWAY: - case LEGACY_FIRE: - case LEGACY_FLOWER_POT: - case LEGACY_FROSTED_ICE: - case LEGACY_GLOWING_REDSTONE_ORE: - case LEGACY_IRON_DOOR_BLOCK: - case LEGACY_JUNGLE_DOOR: - case LEGACY_LAVA: - case LEGACY_MELON_STEM: - case LEGACY_NETHER_WARTS: - case LEGACY_PISTON_EXTENSION: - case LEGACY_PISTON_MOVING_PIECE: - case LEGACY_PORTAL: - case LEGACY_POTATO: - case LEGACY_PUMPKIN_STEM: - case LEGACY_PURPUR_DOUBLE_SLAB: - case LEGACY_REDSTONE_COMPARATOR_OFF: - case LEGACY_REDSTONE_COMPARATOR_ON: - case LEGACY_REDSTONE_LAMP_ON: - case LEGACY_REDSTONE_TORCH_OFF: - case LEGACY_REDSTONE_WIRE: - case LEGACY_SIGN_POST: - case LEGACY_SKULL: - case LEGACY_SPRUCE_DOOR: - case LEGACY_STANDING_BANNER: - case LEGACY_STATIONARY_LAVA: - case LEGACY_STATIONARY_WATER: - case LEGACY_SUGAR_CANE_BLOCK: - case LEGACY_TRIPWIRE: - case LEGACY_WALL_BANNER: - case LEGACY_WALL_SIGN: - case LEGACY_WATER: - case LEGACY_WOODEN_DOOR: - case LEGACY_WOOD_DOUBLE_STEP: - // - return false; - default: - return true; - } + return asItemType() != null; } /** @@ -9088,297 +5280,8 @@ public enum Material implements Keyed, Translatable { * @return true if this material can be interacted with. */ public boolean isInteractable() { - switch (this) { - // - case ACACIA_BUTTON: - case ACACIA_DOOR: - case ACACIA_FENCE: - case ACACIA_FENCE_GATE: - case ACACIA_HANGING_SIGN: - case ACACIA_SIGN: - case ACACIA_TRAPDOOR: - case ACACIA_WALL_HANGING_SIGN: - case ACACIA_WALL_SIGN: - case ANVIL: - case BAMBOO_BUTTON: - case BAMBOO_DOOR: - case BAMBOO_FENCE: - case BAMBOO_FENCE_GATE: - case BAMBOO_HANGING_SIGN: - case BAMBOO_SIGN: - case BAMBOO_TRAPDOOR: - case BAMBOO_WALL_HANGING_SIGN: - case BAMBOO_WALL_SIGN: - case BARREL: - case BEACON: - case BEEHIVE: - case BEE_NEST: - case BELL: - case BIRCH_BUTTON: - case BIRCH_DOOR: - case BIRCH_FENCE: - case BIRCH_FENCE_GATE: - case BIRCH_HANGING_SIGN: - case BIRCH_SIGN: - case BIRCH_TRAPDOOR: - case BIRCH_WALL_HANGING_SIGN: - case BIRCH_WALL_SIGN: - case BLACK_BED: - case BLACK_CANDLE: - case BLACK_CANDLE_CAKE: - case BLACK_SHULKER_BOX: - case BLAST_FURNACE: - case BLUE_BED: - case BLUE_CANDLE: - case BLUE_CANDLE_CAKE: - case BLUE_SHULKER_BOX: - case BREWING_STAND: - case BROWN_BED: - case BROWN_CANDLE: - case BROWN_CANDLE_CAKE: - case BROWN_SHULKER_BOX: - case CAKE: - case CAMPFIRE: - case CANDLE: - case CANDLE_CAKE: - case CARTOGRAPHY_TABLE: - case CAULDRON: - case CAVE_VINES: - case CAVE_VINES_PLANT: - case CHAIN_COMMAND_BLOCK: - case CHERRY_BUTTON: - case CHERRY_DOOR: - case CHERRY_FENCE: - case CHERRY_FENCE_GATE: - case CHERRY_HANGING_SIGN: - case CHERRY_SIGN: - case CHERRY_TRAPDOOR: - case CHERRY_WALL_HANGING_SIGN: - case CHERRY_WALL_SIGN: - case CHEST: - case CHIPPED_ANVIL: - case CHISELED_BOOKSHELF: - case COMMAND_BLOCK: - case COMPARATOR: - case COMPOSTER: - case COPPER_DOOR: - case COPPER_TRAPDOOR: - case CRAFTER: - case CRAFTING_TABLE: - case CRIMSON_BUTTON: - case CRIMSON_DOOR: - case CRIMSON_FENCE: - case CRIMSON_FENCE_GATE: - case CRIMSON_HANGING_SIGN: - case CRIMSON_SIGN: - case CRIMSON_TRAPDOOR: - case CRIMSON_WALL_HANGING_SIGN: - case CRIMSON_WALL_SIGN: - case CYAN_BED: - case CYAN_CANDLE: - case CYAN_CANDLE_CAKE: - case CYAN_SHULKER_BOX: - case DAMAGED_ANVIL: - case DARK_OAK_BUTTON: - 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_TRAPDOOR: - case DARK_OAK_WALL_HANGING_SIGN: - case DARK_OAK_WALL_SIGN: - case DAYLIGHT_DETECTOR: - case DECORATED_POT: - case DEEPSLATE_REDSTONE_ORE: - case DISPENSER: - case DRAGON_EGG: - case DROPPER: - case ENCHANTING_TABLE: - case ENDER_CHEST: - case EXPOSED_COPPER_DOOR: - case EXPOSED_COPPER_TRAPDOOR: - case FLETCHING_TABLE: - case FLOWER_POT: - case FURNACE: - case GRAY_BED: - case GRAY_CANDLE: - case GRAY_CANDLE_CAKE: - case GRAY_SHULKER_BOX: - case GREEN_BED: - case GREEN_CANDLE: - case GREEN_CANDLE_CAKE: - case GREEN_SHULKER_BOX: - case GRINDSTONE: - case HOPPER: - case IRON_DOOR: - case IRON_TRAPDOOR: - case JIGSAW: - case JUKEBOX: - case JUNGLE_BUTTON: - case JUNGLE_DOOR: - case JUNGLE_FENCE: - case JUNGLE_FENCE_GATE: - case JUNGLE_HANGING_SIGN: - case JUNGLE_SIGN: - case JUNGLE_TRAPDOOR: - case JUNGLE_WALL_HANGING_SIGN: - case JUNGLE_WALL_SIGN: - case LAVA_CAULDRON: - case LECTERN: - case LEVER: - case LIGHT: - case LIGHT_BLUE_BED: - case LIGHT_BLUE_CANDLE: - case LIGHT_BLUE_CANDLE_CAKE: - case LIGHT_BLUE_SHULKER_BOX: - case LIGHT_GRAY_BED: - case LIGHT_GRAY_CANDLE: - case LIGHT_GRAY_CANDLE_CAKE: - case LIGHT_GRAY_SHULKER_BOX: - case LIME_BED: - case LIME_CANDLE: - case LIME_CANDLE_CAKE: - case LIME_SHULKER_BOX: - case LOOM: - case MAGENTA_BED: - case MAGENTA_CANDLE: - case MAGENTA_CANDLE_CAKE: - case MAGENTA_SHULKER_BOX: - case MANGROVE_BUTTON: - case MANGROVE_DOOR: - case MANGROVE_FENCE: - case MANGROVE_FENCE_GATE: - case MANGROVE_HANGING_SIGN: - case MANGROVE_SIGN: - case MANGROVE_TRAPDOOR: - case MANGROVE_WALL_HANGING_SIGN: - case MANGROVE_WALL_SIGN: - case MOVING_PISTON: - case NETHER_BRICK_FENCE: - case NOTE_BLOCK: - case OAK_BUTTON: - case OAK_DOOR: - case OAK_FENCE: - case OAK_FENCE_GATE: - case OAK_HANGING_SIGN: - case OAK_SIGN: - case OAK_TRAPDOOR: - case OAK_WALL_HANGING_SIGN: - case OAK_WALL_SIGN: - case ORANGE_BED: - case ORANGE_CANDLE: - case ORANGE_CANDLE_CAKE: - case ORANGE_SHULKER_BOX: - case OXIDIZED_COPPER_DOOR: - case OXIDIZED_COPPER_TRAPDOOR: - case PINK_BED: - case PINK_CANDLE: - case PINK_CANDLE_CAKE: - case PINK_SHULKER_BOX: - case POLISHED_BLACKSTONE_BUTTON: - case POTTED_ACACIA_SAPLING: - case POTTED_ALLIUM: - case POTTED_AZALEA_BUSH: - case POTTED_AZURE_BLUET: - case POTTED_BAMBOO: - case POTTED_BIRCH_SAPLING: - case POTTED_BLUE_ORCHID: - case POTTED_BROWN_MUSHROOM: - case POTTED_CACTUS: - case POTTED_CHERRY_SAPLING: - case POTTED_CORNFLOWER: - case POTTED_CRIMSON_FUNGUS: - case POTTED_CRIMSON_ROOTS: - case POTTED_DANDELION: - case POTTED_DARK_OAK_SAPLING: - case POTTED_DEAD_BUSH: - case POTTED_FERN: - case POTTED_FLOWERING_AZALEA_BUSH: - case POTTED_JUNGLE_SAPLING: - case POTTED_LILY_OF_THE_VALLEY: - case POTTED_MANGROVE_PROPAGULE: - case POTTED_OAK_SAPLING: - case POTTED_ORANGE_TULIP: - case POTTED_OXEYE_DAISY: - case POTTED_PINK_TULIP: - case POTTED_POPPY: - case POTTED_RED_MUSHROOM: - case POTTED_RED_TULIP: - case POTTED_SPRUCE_SAPLING: - case POTTED_TORCHFLOWER: - case POTTED_WARPED_FUNGUS: - case POTTED_WARPED_ROOTS: - case POTTED_WHITE_TULIP: - case POTTED_WITHER_ROSE: - case POWDER_SNOW_CAULDRON: - case PUMPKIN: - case PURPLE_BED: - case PURPLE_CANDLE: - case PURPLE_CANDLE_CAKE: - case PURPLE_SHULKER_BOX: - case REDSTONE_ORE: - case REDSTONE_WIRE: - case RED_BED: - case RED_CANDLE: - case RED_CANDLE_CAKE: - case RED_SHULKER_BOX: - case REPEATER: - case REPEATING_COMMAND_BLOCK: - case RESPAWN_ANCHOR: - case SHULKER_BOX: - case SMITHING_TABLE: - case SMOKER: - case SOUL_CAMPFIRE: - case SPRUCE_BUTTON: - case SPRUCE_DOOR: - case SPRUCE_FENCE: - case SPRUCE_FENCE_GATE: - case SPRUCE_HANGING_SIGN: - case SPRUCE_SIGN: - case SPRUCE_TRAPDOOR: - case SPRUCE_WALL_HANGING_SIGN: - case SPRUCE_WALL_SIGN: - case STONECUTTER: - case STONE_BUTTON: - case STRUCTURE_BLOCK: - case SWEET_BERRY_BUSH: - case TNT: - case TRAPPED_CHEST: - case VAULT: - case WARPED_BUTTON: - case WARPED_DOOR: - case WARPED_FENCE: - case WARPED_FENCE_GATE: - case WARPED_HANGING_SIGN: - case WARPED_SIGN: - case WARPED_TRAPDOOR: - case WARPED_WALL_HANGING_SIGN: - case WARPED_WALL_SIGN: - case WATER_CAULDRON: - case WAXED_COPPER_DOOR: - case WAXED_COPPER_TRAPDOOR: - case WAXED_EXPOSED_COPPER_DOOR: - case WAXED_EXPOSED_COPPER_TRAPDOOR: - case WAXED_OXIDIZED_COPPER_DOOR: - case WAXED_OXIDIZED_COPPER_TRAPDOOR: - case WAXED_WEATHERED_COPPER_DOOR: - case WAXED_WEATHERED_COPPER_TRAPDOOR: - case WEATHERED_COPPER_DOOR: - case WEATHERED_COPPER_TRAPDOOR: - case WHITE_BED: - case WHITE_CANDLE: - case WHITE_CANDLE_CAKE: - case WHITE_SHULKER_BOX: - case YELLOW_BED: - case YELLOW_CANDLE: - case YELLOW_CANDLE_CAKE: - case YELLOW_SHULKER_BOX: - // - return true; - default: - return false; - } + BlockType type = asBlockType(); + return type != null && type.isInteractable(); } /** @@ -9391,944 +5294,10 @@ public enum Material implements Keyed, Translatable { * @return the hardness of that material. */ public float getHardness() { - Preconditions.checkArgument(isBlock(), "The Material is not a block!"); - switch (this) { - // - case BARRIER: - case BEDROCK: - case CHAIN_COMMAND_BLOCK: - case COMMAND_BLOCK: - case END_GATEWAY: - case END_PORTAL: - case END_PORTAL_FRAME: - case JIGSAW: - case LIGHT: - case MOVING_PISTON: - case NETHER_PORTAL: - case REPEATING_COMMAND_BLOCK: - case STRUCTURE_BLOCK: - return -1.0F; - case BIG_DRIPLEAF: - case BIG_DRIPLEAF_STEM: - case BLACK_CANDLE: - case BLACK_CARPET: - case BLUE_CANDLE: - case BLUE_CARPET: - case BROWN_CANDLE: - case BROWN_CARPET: - case CANDLE: - case CYAN_CANDLE: - case CYAN_CARPET: - case GRAY_CANDLE: - case GRAY_CARPET: - case GREEN_CANDLE: - case GREEN_CARPET: - case LIGHT_BLUE_CANDLE: - case LIGHT_BLUE_CARPET: - case LIGHT_GRAY_CANDLE: - case LIGHT_GRAY_CARPET: - case LIME_CANDLE: - case LIME_CARPET: - case MAGENTA_CANDLE: - case MAGENTA_CARPET: - case MOSS_BLOCK: - case MOSS_CARPET: - case ORANGE_CANDLE: - case ORANGE_CARPET: - case PINK_CANDLE: - case PINK_CARPET: - case PURPLE_CANDLE: - case PURPLE_CARPET: - case RED_CANDLE: - case RED_CARPET: - case SNOW: - case WHITE_CANDLE: - case WHITE_CARPET: - case YELLOW_CANDLE: - case YELLOW_CARPET: - return 0.1F; - case ACACIA_LEAVES: - case AZALEA_LEAVES: - case BIRCH_LEAVES: - case BLACK_BED: - case BLUE_BED: - case BROWN_BED: - case BROWN_MUSHROOM_BLOCK: - case CHERRY_LEAVES: - case COCOA: - case CYAN_BED: - case DARK_OAK_LEAVES: - case DAYLIGHT_DETECTOR: - case FLOWERING_AZALEA_LEAVES: - case GLOW_LICHEN: - case GRAY_BED: - case GREEN_BED: - case JUNGLE_LEAVES: - case LIGHT_BLUE_BED: - case LIGHT_GRAY_BED: - case LIME_BED: - case MAGENTA_BED: - case MANGROVE_LEAVES: - case MUSHROOM_STEM: - case OAK_LEAVES: - case ORANGE_BED: - case PINK_BED: - case PURPLE_BED: - case RED_BED: - case RED_MUSHROOM_BLOCK: - case SCULK: - case SCULK_VEIN: - case SNOW_BLOCK: - case SPRUCE_LEAVES: - case VINE: - case WHITE_BED: - case YELLOW_BED: - return 0.2F; - case POWDER_SNOW: - case SUSPICIOUS_GRAVEL: - case SUSPICIOUS_SAND: - return 0.25F; - case BEE_NEST: - case BLACK_STAINED_GLASS: - case BLACK_STAINED_GLASS_PANE: - case BLUE_STAINED_GLASS: - case BLUE_STAINED_GLASS_PANE: - case BROWN_STAINED_GLASS: - case BROWN_STAINED_GLASS_PANE: - case CYAN_STAINED_GLASS: - case CYAN_STAINED_GLASS_PANE: - case GLASS: - case GLASS_PANE: - case GLOWSTONE: - case GRAY_STAINED_GLASS: - case GRAY_STAINED_GLASS_PANE: - case GREEN_STAINED_GLASS: - case GREEN_STAINED_GLASS_PANE: - case LIGHT_BLUE_STAINED_GLASS: - case LIGHT_BLUE_STAINED_GLASS_PANE: - case LIGHT_GRAY_STAINED_GLASS: - case LIGHT_GRAY_STAINED_GLASS_PANE: - case LIME_STAINED_GLASS: - case LIME_STAINED_GLASS_PANE: - case MAGENTA_STAINED_GLASS: - case MAGENTA_STAINED_GLASS_PANE: - case OCHRE_FROGLIGHT: - case ORANGE_STAINED_GLASS: - case ORANGE_STAINED_GLASS_PANE: - case PEARLESCENT_FROGLIGHT: - case PINK_STAINED_GLASS: - case PINK_STAINED_GLASS_PANE: - case PURPLE_STAINED_GLASS: - case PURPLE_STAINED_GLASS_PANE: - case REDSTONE_LAMP: - case RED_STAINED_GLASS: - case RED_STAINED_GLASS_PANE: - case SEA_LANTERN: - case TINTED_GLASS: - case VERDANT_FROGLIGHT: - case WHITE_STAINED_GLASS: - case WHITE_STAINED_GLASS_PANE: - case YELLOW_STAINED_GLASS: - case YELLOW_STAINED_GLASS_PANE: - return 0.3F; - case CACTUS: - case CHORUS_FLOWER: - case CHORUS_PLANT: - case CRIMSON_NYLIUM: - case LADDER: - case NETHERRACK: - case WARPED_NYLIUM: - 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: - case BLACK_CONCRETE_POWDER: - case BLUE_CANDLE_CAKE: - case BLUE_CONCRETE_POWDER: - case BREWING_STAND: - case BROWN_CANDLE_CAKE: - case BROWN_CONCRETE_POWDER: - case CAKE: - case CANDLE_CAKE: - case CHERRY_BUTTON: - case CHERRY_PRESSURE_PLATE: - case COARSE_DIRT: - case CRIMSON_BUTTON: - case CRIMSON_PRESSURE_PLATE: - case CYAN_CANDLE_CAKE: - case CYAN_CONCRETE_POWDER: - case DARK_OAK_BUTTON: - case DARK_OAK_PRESSURE_PLATE: - case DIRT: - case DRIED_KELP_BLOCK: - case FROSTED_ICE: - case GRAY_CANDLE_CAKE: - case GRAY_CONCRETE_POWDER: - case GREEN_CANDLE_CAKE: - case GREEN_CONCRETE_POWDER: - case HAY_BLOCK: - case HEAVY_WEIGHTED_PRESSURE_PLATE: - case ICE: - case JUNGLE_BUTTON: - case JUNGLE_PRESSURE_PLATE: - case LEVER: - case LIGHT_BLUE_CANDLE_CAKE: - case LIGHT_BLUE_CONCRETE_POWDER: - case LIGHT_GRAY_CANDLE_CAKE: - case LIGHT_GRAY_CONCRETE_POWDER: - case LIGHT_WEIGHTED_PRESSURE_PLATE: - case LIME_CANDLE_CAKE: - case LIME_CONCRETE_POWDER: - case MAGENTA_CANDLE_CAKE: - case MAGENTA_CONCRETE_POWDER: - case MAGMA_BLOCK: - case MANGROVE_BUTTON: - case MANGROVE_PRESSURE_PLATE: - case MUD: - case OAK_BUTTON: - case OAK_PRESSURE_PLATE: - case ORANGE_CANDLE_CAKE: - case ORANGE_CONCRETE_POWDER: - case PACKED_ICE: - case PINK_CANDLE_CAKE: - case PINK_CONCRETE_POWDER: - case PODZOL: - case POLISHED_BLACKSTONE_BUTTON: - case POLISHED_BLACKSTONE_PRESSURE_PLATE: - case PURPLE_CANDLE_CAKE: - case PURPLE_CONCRETE_POWDER: - case RED_CANDLE_CAKE: - case RED_CONCRETE_POWDER: - case RED_SAND: - case ROOTED_DIRT: - case SAND: - case SNIFFER_EGG: - case SOUL_SAND: - case SOUL_SOIL: - case SPRUCE_BUTTON: - case SPRUCE_PRESSURE_PLATE: - case STONE_BUTTON: - case STONE_PRESSURE_PLATE: - case TARGET: - case TURTLE_EGG: - case WARPED_BUTTON: - case WARPED_PRESSURE_PLATE: - case WHITE_CANDLE_CAKE: - case WHITE_CONCRETE_POWDER: - case YELLOW_CANDLE_CAKE: - case YELLOW_CONCRETE_POWDER: - return 0.5F; - case BEEHIVE: - case CLAY: - case COMPOSTER: - case FARMLAND: - case GRASS_BLOCK: - case GRAVEL: - case HONEYCOMB_BLOCK: - case MYCELIUM: - case SPONGE: - case WET_SPONGE: - return 0.6F; - case DIRT_PATH: - return 0.65F; - case ACTIVATOR_RAIL: - case DETECTOR_RAIL: - case MANGROVE_ROOTS: - case MUDDY_MANGROVE_ROOTS: - case POWERED_RAIL: - case RAIL: - return 0.7F; - case CALCITE: - case INFESTED_CHISELED_STONE_BRICKS: - case INFESTED_CRACKED_STONE_BRICKS: - case INFESTED_MOSSY_STONE_BRICKS: - case INFESTED_STONE: - case INFESTED_STONE_BRICKS: - return 0.75F; - case BLACK_WOOL: - case BLUE_WOOL: - case BROWN_WOOL: - case CHISELED_QUARTZ_BLOCK: - case CHISELED_RED_SANDSTONE: - case CHISELED_SANDSTONE: - case CUT_RED_SANDSTONE: - case CUT_SANDSTONE: - case CYAN_WOOL: - case GRAY_WOOL: - case GREEN_WOOL: - case LIGHT_BLUE_WOOL: - case LIGHT_GRAY_WOOL: - case LIME_WOOL: - case MAGENTA_WOOL: - case NOTE_BLOCK: - case ORANGE_WOOL: - case PINK_WOOL: - case PURPLE_WOOL: - case QUARTZ_BLOCK: - case QUARTZ_BRICKS: - case QUARTZ_PILLAR: - case QUARTZ_STAIRS: - case RED_SANDSTONE: - case RED_SANDSTONE_STAIRS: - case RED_SANDSTONE_WALL: - case RED_WOOL: - case SANDSTONE: - case SANDSTONE_STAIRS: - case SANDSTONE_WALL: - 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: - case BLUE_BANNER: - case BLUE_WALL_BANNER: - case BROWN_BANNER: - case BROWN_WALL_BANNER: - case CARVED_PUMPKIN: - case CHERRY_HANGING_SIGN: - case CHERRY_SIGN: - case CHERRY_WALL_HANGING_SIGN: - case CHERRY_WALL_SIGN: - 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: - case GRAY_BANNER: - case GRAY_WALL_BANNER: - case GREEN_BANNER: - 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: - case LIGHT_GRAY_BANNER: - case LIGHT_GRAY_WALL_BANNER: - case LIME_BANNER: - 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: - case PLAYER_WALL_HEAD: - case PUMPKIN: - case PURPLE_BANNER: - case PURPLE_WALL_BANNER: - case RED_BANNER: - case RED_WALL_BANNER: - 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: - case WHITE_WALL_BANNER: - case WITHER_SKELETON_SKULL: - case WITHER_SKELETON_WALL_SKULL: - case YELLOW_BANNER: - case YELLOW_WALL_BANNER: - case ZOMBIE_HEAD: - case ZOMBIE_WALL_HEAD: - return 1.0F; - case BASALT: - case BLACK_TERRACOTTA: - case BLUE_TERRACOTTA: - case BROWN_TERRACOTTA: - case CYAN_TERRACOTTA: - case GRAY_TERRACOTTA: - case GREEN_TERRACOTTA: - case LIGHT_BLUE_TERRACOTTA: - case LIGHT_GRAY_TERRACOTTA: - case LIME_TERRACOTTA: - case MAGENTA_TERRACOTTA: - case ORANGE_TERRACOTTA: - case PINK_TERRACOTTA: - case POLISHED_BASALT: - case PURPLE_TERRACOTTA: - case RED_TERRACOTTA: - case SMOOTH_BASALT: - case TERRACOTTA: - case WHITE_TERRACOTTA: - case YELLOW_TERRACOTTA: - return 1.25F; - case BLACK_GLAZED_TERRACOTTA: - case BLUE_GLAZED_TERRACOTTA: - case BROWN_GLAZED_TERRACOTTA: - case CYAN_GLAZED_TERRACOTTA: - case GRAY_GLAZED_TERRACOTTA: - case GREEN_GLAZED_TERRACOTTA: - case LIGHT_BLUE_GLAZED_TERRACOTTA: - case LIGHT_GRAY_GLAZED_TERRACOTTA: - case LIME_GLAZED_TERRACOTTA: - case MAGENTA_GLAZED_TERRACOTTA: - case ORANGE_GLAZED_TERRACOTTA: - case PINK_GLAZED_TERRACOTTA: - case PURPLE_GLAZED_TERRACOTTA: - case RED_GLAZED_TERRACOTTA: - case WHITE_GLAZED_TERRACOTTA: - case YELLOW_GLAZED_TERRACOTTA: - return 1.4F; - case AMETHYST_BLOCK: - case AMETHYST_CLUSTER: - case ANDESITE: - case ANDESITE_SLAB: - case ANDESITE_STAIRS: - case ANDESITE_WALL: - case BLACKSTONE: - case BLACKSTONE_STAIRS: - case BLACKSTONE_WALL: - case BOOKSHELF: - 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: - case CHISELED_TUFF: - case CHISELED_TUFF_BRICKS: - case CRACKED_POLISHED_BLACKSTONE_BRICKS: - case CRACKED_STONE_BRICKS: - case CRAFTER: - case DARK_PRISMARINE: - case DARK_PRISMARINE_SLAB: - case DARK_PRISMARINE_STAIRS: - case DEAD_BRAIN_CORAL_BLOCK: - case DEAD_BUBBLE_CORAL_BLOCK: - case DEAD_FIRE_CORAL_BLOCK: - case DEAD_HORN_CORAL_BLOCK: - case DEAD_TUBE_CORAL_BLOCK: - case DIORITE: - case DIORITE_SLAB: - case DIORITE_STAIRS: - case DIORITE_WALL: - case DRIPSTONE_BLOCK: - case FIRE_CORAL_BLOCK: - case GILDED_BLACKSTONE: - case GRANITE: - case GRANITE_SLAB: - case GRANITE_STAIRS: - case GRANITE_WALL: - case HORN_CORAL_BLOCK: - case INFESTED_DEEPSLATE: - case LARGE_AMETHYST_BUD: - case MEDIUM_AMETHYST_BUD: - case MOSSY_STONE_BRICKS: - case MOSSY_STONE_BRICK_SLAB: - case MOSSY_STONE_BRICK_STAIRS: - case MOSSY_STONE_BRICK_WALL: - case MUD_BRICKS: - case MUD_BRICK_SLAB: - case MUD_BRICK_STAIRS: - case MUD_BRICK_WALL: - case PISTON: - case PISTON_HEAD: - case POINTED_DRIPSTONE: - case POLISHED_ANDESITE: - case POLISHED_ANDESITE_SLAB: - case POLISHED_ANDESITE_STAIRS: - case POLISHED_BLACKSTONE_BRICKS: - case POLISHED_BLACKSTONE_BRICK_STAIRS: - case POLISHED_BLACKSTONE_BRICK_WALL: - case POLISHED_DIORITE: - case POLISHED_DIORITE_SLAB: - case POLISHED_DIORITE_STAIRS: - case POLISHED_GRANITE: - case POLISHED_GRANITE_SLAB: - case POLISHED_GRANITE_STAIRS: - case POLISHED_TUFF: - case POLISHED_TUFF_SLAB: - case POLISHED_TUFF_STAIRS: - case POLISHED_TUFF_WALL: - case PRISMARINE: - case PRISMARINE_BRICKS: - case PRISMARINE_BRICK_SLAB: - case PRISMARINE_BRICK_STAIRS: - case PRISMARINE_SLAB: - case PRISMARINE_STAIRS: - case PRISMARINE_WALL: - case PURPUR_BLOCK: - case PURPUR_PILLAR: - case PURPUR_STAIRS: - case SCULK_SENSOR: - case SMALL_AMETHYST_BUD: - case STICKY_PISTON: - case STONE: - case STONE_BRICKS: - case STONE_BRICK_STAIRS: - case STONE_BRICK_WALL: - case STONE_STAIRS: - case TUBE_CORAL_BLOCK: - case TUFF: - case TUFF_BRICKS: - case TUFF_BRICK_SLAB: - case TUFF_BRICK_STAIRS: - case TUFF_BRICK_WALL: - case TUFF_SLAB: - case TUFF_STAIRS: - case TUFF_WALL: - return 1.5F; - case BLACK_CONCRETE: - case BLUE_CONCRETE: - case BROWN_CONCRETE: - case CYAN_CONCRETE: - case GRAY_CONCRETE: - case GREEN_CONCRETE: - case LIGHT_BLUE_CONCRETE: - case LIGHT_GRAY_CONCRETE: - case LIME_CONCRETE: - case MAGENTA_CONCRETE: - case ORANGE_CONCRETE: - case PINK_CONCRETE: - case PURPLE_CONCRETE: - case RED_CONCRETE: - case WHITE_CONCRETE: - case YELLOW_CONCRETE: - return 1.8F; - case ACACIA_FENCE: - case ACACIA_FENCE_GATE: - case ACACIA_LOG: - case ACACIA_PLANKS: - 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: - case BIRCH_PLANKS: - case BIRCH_SLAB: - case BIRCH_STAIRS: - case BIRCH_WOOD: - case BLACKSTONE_SLAB: - case BLACK_SHULKER_BOX: - case BLUE_SHULKER_BOX: - case BONE_BLOCK: - case BRICKS: - case BRICK_SLAB: - case BRICK_STAIRS: - case BRICK_WALL: - case BROWN_SHULKER_BOX: - case CAMPFIRE: - case CAULDRON: - case CHERRY_FENCE: - case CHERRY_FENCE_GATE: - case CHERRY_LOG: - case CHERRY_PLANKS: - case CHERRY_SLAB: - case CHERRY_STAIRS: - case CHERRY_WOOD: - case CHISELED_NETHER_BRICKS: - case COBBLESTONE: - case COBBLESTONE_SLAB: - case COBBLESTONE_STAIRS: - case COBBLESTONE_WALL: - case CRACKED_NETHER_BRICKS: - case CRIMSON_FENCE: - case CRIMSON_FENCE_GATE: - case CRIMSON_HYPHAE: - case CRIMSON_PLANKS: - case CRIMSON_SLAB: - case CRIMSON_STAIRS: - case CRIMSON_STEM: - case CUT_RED_SANDSTONE_SLAB: - case CUT_SANDSTONE_SLAB: - case CYAN_SHULKER_BOX: - case DARK_OAK_FENCE: - case DARK_OAK_FENCE_GATE: - case DARK_OAK_LOG: - case DARK_OAK_PLANKS: - case DARK_OAK_SLAB: - case DARK_OAK_STAIRS: - case DARK_OAK_WOOD: - case GRAY_SHULKER_BOX: - case GREEN_SHULKER_BOX: - case GRINDSTONE: - case JUKEBOX: - case JUNGLE_FENCE: - case JUNGLE_FENCE_GATE: - case JUNGLE_LOG: - case JUNGLE_PLANKS: - case JUNGLE_SLAB: - case JUNGLE_STAIRS: - case JUNGLE_WOOD: - case LAVA_CAULDRON: - case LIGHT_BLUE_SHULKER_BOX: - case LIGHT_GRAY_SHULKER_BOX: - case LIME_SHULKER_BOX: - case MAGENTA_SHULKER_BOX: - case MANGROVE_FENCE: - case MANGROVE_FENCE_GATE: - case MANGROVE_LOG: - case MANGROVE_PLANKS: - case MANGROVE_SLAB: - case MANGROVE_STAIRS: - case MANGROVE_WOOD: - case MOSSY_COBBLESTONE: - case MOSSY_COBBLESTONE_SLAB: - case MOSSY_COBBLESTONE_STAIRS: - case MOSSY_COBBLESTONE_WALL: - case NETHER_BRICKS: - case NETHER_BRICK_FENCE: - case NETHER_BRICK_SLAB: - case NETHER_BRICK_STAIRS: - case NETHER_BRICK_WALL: - case OAK_FENCE: - case OAK_FENCE_GATE: - case OAK_LOG: - case OAK_PLANKS: - case OAK_SLAB: - case OAK_STAIRS: - case OAK_WOOD: - case ORANGE_SHULKER_BOX: - case PETRIFIED_OAK_SLAB: - case PINK_SHULKER_BOX: - case POLISHED_BLACKSTONE: - case POLISHED_BLACKSTONE_BRICK_SLAB: - case POLISHED_BLACKSTONE_SLAB: - case POLISHED_BLACKSTONE_STAIRS: - case POLISHED_BLACKSTONE_WALL: - case POWDER_SNOW_CAULDRON: - case PURPLE_SHULKER_BOX: - case PURPUR_SLAB: - case QUARTZ_SLAB: - case RED_NETHER_BRICKS: - case RED_NETHER_BRICK_SLAB: - case RED_NETHER_BRICK_STAIRS: - case RED_NETHER_BRICK_WALL: - case RED_SANDSTONE_SLAB: - case RED_SHULKER_BOX: - case SANDSTONE_SLAB: - case SHULKER_BOX: - case SMOOTH_QUARTZ: - case SMOOTH_QUARTZ_SLAB: - case SMOOTH_QUARTZ_STAIRS: - case SMOOTH_RED_SANDSTONE: - case SMOOTH_RED_SANDSTONE_SLAB: - case SMOOTH_RED_SANDSTONE_STAIRS: - case SMOOTH_SANDSTONE: - case SMOOTH_SANDSTONE_SLAB: - case SMOOTH_SANDSTONE_STAIRS: - case SMOOTH_STONE: - case SMOOTH_STONE_SLAB: - case SOUL_CAMPFIRE: - case SPRUCE_FENCE: - case SPRUCE_FENCE_GATE: - case SPRUCE_LOG: - case SPRUCE_PLANKS: - case SPRUCE_SLAB: - case SPRUCE_STAIRS: - case SPRUCE_WOOD: - case STONE_BRICK_SLAB: - 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_CHERRY_LOG: - case STRIPPED_CHERRY_WOOD: - case STRIPPED_CRIMSON_HYPHAE: - case STRIPPED_CRIMSON_STEM: - case STRIPPED_DARK_OAK_LOG: - case STRIPPED_DARK_OAK_WOOD: - case STRIPPED_JUNGLE_LOG: - case STRIPPED_JUNGLE_WOOD: - case STRIPPED_MANGROVE_LOG: - case STRIPPED_MANGROVE_WOOD: - case STRIPPED_OAK_LOG: - case STRIPPED_OAK_WOOD: - case STRIPPED_SPRUCE_LOG: - case STRIPPED_SPRUCE_WOOD: - case STRIPPED_WARPED_HYPHAE: - case STRIPPED_WARPED_STEM: - case WARPED_FENCE: - case WARPED_FENCE_GATE: - case WARPED_HYPHAE: - case WARPED_PLANKS: - case WARPED_SLAB: - case WARPED_STAIRS: - case WARPED_STEM: - case WATER_CAULDRON: - case WHITE_SHULKER_BOX: - case YELLOW_SHULKER_BOX: - return 2.0F; - case BARREL: - case CARTOGRAPHY_TABLE: - case CHEST: - case CRAFTING_TABLE: - case FLETCHING_TABLE: - case LECTERN: - case LOOM: - case SMITHING_TABLE: - case TRAPPED_CHEST: - return 2.5F; - case BLUE_ICE: - return 2.8F; - case ACACIA_DOOR: - case ACACIA_TRAPDOOR: - case BAMBOO_DOOR: - case BAMBOO_TRAPDOOR: - case BEACON: - case BIRCH_DOOR: - case BIRCH_TRAPDOOR: - case CHERRY_DOOR: - case CHERRY_TRAPDOOR: - case CHISELED_COPPER: - case COAL_ORE: - case CONDUIT: - case COPPER_BLOCK: - case COPPER_BULB: - case COPPER_DOOR: - case COPPER_GRATE: - case COPPER_ORE: - case COPPER_TRAPDOOR: - case CRIMSON_DOOR: - case CRIMSON_TRAPDOOR: - case CUT_COPPER: - case CUT_COPPER_SLAB: - case CUT_COPPER_STAIRS: - case DARK_OAK_DOOR: - case DARK_OAK_TRAPDOOR: - case DEEPSLATE: - case DIAMOND_ORE: - case DRAGON_EGG: - case EMERALD_ORE: - case END_STONE: - case END_STONE_BRICKS: - case END_STONE_BRICK_SLAB: - case END_STONE_BRICK_STAIRS: - case END_STONE_BRICK_WALL: - case EXPOSED_CHISELED_COPPER: - case EXPOSED_COPPER: - case EXPOSED_COPPER_BULB: - case EXPOSED_COPPER_DOOR: - case EXPOSED_COPPER_GRATE: - case EXPOSED_COPPER_TRAPDOOR: - case EXPOSED_CUT_COPPER: - case EXPOSED_CUT_COPPER_SLAB: - case EXPOSED_CUT_COPPER_STAIRS: - case GOLD_BLOCK: - case GOLD_ORE: - case HOPPER: - case IRON_ORE: - case JUNGLE_DOOR: - case JUNGLE_TRAPDOOR: - case LAPIS_BLOCK: - case LAPIS_ORE: - case LIGHTNING_ROD: - case MANGROVE_DOOR: - case MANGROVE_TRAPDOOR: - case NETHER_GOLD_ORE: - case NETHER_QUARTZ_ORE: - case OAK_DOOR: - case OAK_TRAPDOOR: - case OBSERVER: - case OXIDIZED_CHISELED_COPPER: - case OXIDIZED_COPPER: - case OXIDIZED_COPPER_BULB: - case OXIDIZED_COPPER_DOOR: - case OXIDIZED_COPPER_GRATE: - case OXIDIZED_COPPER_TRAPDOOR: - case OXIDIZED_CUT_COPPER: - case OXIDIZED_CUT_COPPER_SLAB: - case OXIDIZED_CUT_COPPER_STAIRS: - case REDSTONE_ORE: - case SCULK_CATALYST: - case SCULK_SHRIEKER: - case SPRUCE_DOOR: - case SPRUCE_TRAPDOOR: - case WARPED_DOOR: - case WARPED_TRAPDOOR: - case WAXED_CHISELED_COPPER: - case WAXED_COPPER_BLOCK: - case WAXED_COPPER_BULB: - case WAXED_COPPER_DOOR: - case WAXED_COPPER_GRATE: - case WAXED_COPPER_TRAPDOOR: - case WAXED_CUT_COPPER: - case WAXED_CUT_COPPER_SLAB: - case WAXED_CUT_COPPER_STAIRS: - case WAXED_EXPOSED_CHISELED_COPPER: - case WAXED_EXPOSED_COPPER: - case WAXED_EXPOSED_COPPER_BULB: - case WAXED_EXPOSED_COPPER_DOOR: - case WAXED_EXPOSED_COPPER_GRATE: - case WAXED_EXPOSED_COPPER_TRAPDOOR: - case WAXED_EXPOSED_CUT_COPPER: - case WAXED_EXPOSED_CUT_COPPER_SLAB: - case WAXED_EXPOSED_CUT_COPPER_STAIRS: - case WAXED_OXIDIZED_CHISELED_COPPER: - case WAXED_OXIDIZED_COPPER: - case WAXED_OXIDIZED_COPPER_BULB: - case WAXED_OXIDIZED_COPPER_DOOR: - case WAXED_OXIDIZED_COPPER_GRATE: - case WAXED_OXIDIZED_COPPER_TRAPDOOR: - case WAXED_OXIDIZED_CUT_COPPER: - case WAXED_OXIDIZED_CUT_COPPER_SLAB: - case WAXED_OXIDIZED_CUT_COPPER_STAIRS: - case WAXED_WEATHERED_CHISELED_COPPER: - case WAXED_WEATHERED_COPPER: - case WAXED_WEATHERED_COPPER_BULB: - case WAXED_WEATHERED_COPPER_DOOR: - case WAXED_WEATHERED_COPPER_GRATE: - case WAXED_WEATHERED_COPPER_TRAPDOOR: - case WAXED_WEATHERED_CUT_COPPER: - case WAXED_WEATHERED_CUT_COPPER_SLAB: - case WAXED_WEATHERED_CUT_COPPER_STAIRS: - case WEATHERED_CHISELED_COPPER: - case WEATHERED_COPPER: - case WEATHERED_COPPER_BULB: - case WEATHERED_COPPER_DOOR: - case WEATHERED_COPPER_GRATE: - case WEATHERED_COPPER_TRAPDOOR: - case WEATHERED_CUT_COPPER: - case WEATHERED_CUT_COPPER_SLAB: - case WEATHERED_CUT_COPPER_STAIRS: - return 3.0F; - case BLAST_FURNACE: - case CHISELED_DEEPSLATE: - case COBBLED_DEEPSLATE: - case COBBLED_DEEPSLATE_SLAB: - case COBBLED_DEEPSLATE_STAIRS: - case COBBLED_DEEPSLATE_WALL: - case CRACKED_DEEPSLATE_BRICKS: - case CRACKED_DEEPSLATE_TILES: - case DEEPSLATE_BRICKS: - case DEEPSLATE_BRICK_SLAB: - case DEEPSLATE_BRICK_STAIRS: - case DEEPSLATE_BRICK_WALL: - case DEEPSLATE_TILES: - case DEEPSLATE_TILE_SLAB: - case DEEPSLATE_TILE_STAIRS: - case DEEPSLATE_TILE_WALL: - case DISPENSER: - case DROPPER: - case FURNACE: - case LANTERN: - case LODESTONE: - case POLISHED_DEEPSLATE: - case POLISHED_DEEPSLATE_SLAB: - case POLISHED_DEEPSLATE_STAIRS: - case POLISHED_DEEPSLATE_WALL: - case SMOKER: - case SOUL_LANTERN: - case STONECUTTER: - return 3.5F; - case COBWEB: - return 4.0F; - case DEEPSLATE_COAL_ORE: - case DEEPSLATE_COPPER_ORE: - case DEEPSLATE_DIAMOND_ORE: - case DEEPSLATE_EMERALD_ORE: - case DEEPSLATE_GOLD_ORE: - case DEEPSLATE_IRON_ORE: - case DEEPSLATE_LAPIS_ORE: - case DEEPSLATE_REDSTONE_ORE: - return 4.5F; - case ANVIL: - case BELL: - case CHAIN: - case CHIPPED_ANVIL: - case COAL_BLOCK: - case DAMAGED_ANVIL: - case DIAMOND_BLOCK: - case EMERALD_BLOCK: - case ENCHANTING_TABLE: - case IRON_BARS: - case IRON_BLOCK: - case IRON_DOOR: - case IRON_TRAPDOOR: - case RAW_COPPER_BLOCK: - case RAW_GOLD_BLOCK: - case RAW_IRON_BLOCK: - case REDSTONE_BLOCK: - case SPAWNER: - return 5.0F; - case HEAVY_CORE: - return 10.0F; - case ENDER_CHEST: - return 22.5F; - case ANCIENT_DEBRIS: - return 30.0F; - case CRYING_OBSIDIAN: - case NETHERITE_BLOCK: - case OBSIDIAN: - case RESPAWN_ANCHOR: - case TRIAL_SPAWNER: - case VAULT: - return 50.0F; - case REINFORCED_DEEPSLATE: - return 55.0F; - case LAVA: - case WATER: - return 100.0F; - default: - return 0F; - // - } + BlockType type = asBlockType(); + Preconditions.checkArgument(type != null, "The Material is not a block!"); + return type.getHardness(); + } /** @@ -10342,943 +5311,9 @@ public enum Material implements Keyed, Translatable { * @return the blast resistance of that material. */ public float getBlastResistance() { - Preconditions.checkArgument(isBlock(), "The Material is not a block!"); - switch (this) { - // - case BIG_DRIPLEAF: - case BIG_DRIPLEAF_STEM: - case BLACK_CANDLE: - case BLACK_CARPET: - case BLUE_CANDLE: - case BLUE_CARPET: - case BROWN_CANDLE: - case BROWN_CARPET: - case CANDLE: - case CYAN_CANDLE: - case CYAN_CARPET: - case GRAY_CANDLE: - case GRAY_CARPET: - case GREEN_CANDLE: - case GREEN_CARPET: - case LIGHT_BLUE_CANDLE: - case LIGHT_BLUE_CARPET: - case LIGHT_GRAY_CANDLE: - case LIGHT_GRAY_CARPET: - case LIME_CANDLE: - case LIME_CARPET: - case MAGENTA_CANDLE: - case MAGENTA_CARPET: - case MOSS_BLOCK: - case MOSS_CARPET: - case ORANGE_CANDLE: - case ORANGE_CARPET: - case PINK_CANDLE: - case PINK_CARPET: - case PURPLE_CANDLE: - case PURPLE_CARPET: - case RED_CANDLE: - case RED_CARPET: - case SNOW: - case WHITE_CANDLE: - case WHITE_CARPET: - case YELLOW_CANDLE: - case YELLOW_CARPET: - return 0.1F; - case ACACIA_LEAVES: - case AZALEA_LEAVES: - case BIRCH_LEAVES: - case BLACK_BED: - case BLUE_BED: - case BROWN_BED: - case BROWN_MUSHROOM_BLOCK: - case CHERRY_LEAVES: - case CYAN_BED: - case DARK_OAK_LEAVES: - case DAYLIGHT_DETECTOR: - case FLOWERING_AZALEA_LEAVES: - case GLOW_LICHEN: - case GRAY_BED: - case GREEN_BED: - case JUNGLE_LEAVES: - case LIGHT_BLUE_BED: - case LIGHT_GRAY_BED: - case LIME_BED: - case MAGENTA_BED: - case MANGROVE_LEAVES: - case MUSHROOM_STEM: - case OAK_LEAVES: - case ORANGE_BED: - case PINK_BED: - case PURPLE_BED: - case RED_BED: - case RED_MUSHROOM_BLOCK: - case SCULK: - case SCULK_VEIN: - case SNOW_BLOCK: - case SPRUCE_LEAVES: - case VINE: - case WHITE_BED: - case YELLOW_BED: - return 0.2F; - case POWDER_SNOW: - case SUSPICIOUS_GRAVEL: - case SUSPICIOUS_SAND: - return 0.25F; - case BEE_NEST: - case BLACK_STAINED_GLASS: - case BLACK_STAINED_GLASS_PANE: - case BLUE_STAINED_GLASS: - case BLUE_STAINED_GLASS_PANE: - case BROWN_STAINED_GLASS: - case BROWN_STAINED_GLASS_PANE: - case CYAN_STAINED_GLASS: - case CYAN_STAINED_GLASS_PANE: - case GLASS: - case GLASS_PANE: - case GLOWSTONE: - case GRAY_STAINED_GLASS: - case GRAY_STAINED_GLASS_PANE: - case GREEN_STAINED_GLASS: - case GREEN_STAINED_GLASS_PANE: - case LIGHT_BLUE_STAINED_GLASS: - case LIGHT_BLUE_STAINED_GLASS_PANE: - case LIGHT_GRAY_STAINED_GLASS: - case LIGHT_GRAY_STAINED_GLASS_PANE: - case LIME_STAINED_GLASS: - case LIME_STAINED_GLASS_PANE: - case MAGENTA_STAINED_GLASS: - case MAGENTA_STAINED_GLASS_PANE: - case OCHRE_FROGLIGHT: - case ORANGE_STAINED_GLASS: - case ORANGE_STAINED_GLASS_PANE: - case PEARLESCENT_FROGLIGHT: - case PINK_STAINED_GLASS: - case PINK_STAINED_GLASS_PANE: - case PURPLE_STAINED_GLASS: - case PURPLE_STAINED_GLASS_PANE: - case REDSTONE_LAMP: - case RED_STAINED_GLASS: - case RED_STAINED_GLASS_PANE: - case SEA_LANTERN: - case TINTED_GLASS: - case VERDANT_FROGLIGHT: - case WHITE_STAINED_GLASS: - case WHITE_STAINED_GLASS_PANE: - case YELLOW_STAINED_GLASS: - case YELLOW_STAINED_GLASS_PANE: - return 0.3F; - case CACTUS: - case CHORUS_FLOWER: - case CHORUS_PLANT: - case CRIMSON_NYLIUM: - case LADDER: - case NETHERRACK: - case WARPED_NYLIUM: - 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: - case BLACK_CONCRETE_POWDER: - case BLUE_CANDLE_CAKE: - case BLUE_CONCRETE_POWDER: - case BREWING_STAND: - case BROWN_CANDLE_CAKE: - case BROWN_CONCRETE_POWDER: - case CAKE: - case CANDLE_CAKE: - case CHERRY_BUTTON: - case CHERRY_PRESSURE_PLATE: - case COARSE_DIRT: - case CRIMSON_BUTTON: - case CRIMSON_PRESSURE_PLATE: - case CYAN_CANDLE_CAKE: - case CYAN_CONCRETE_POWDER: - case DARK_OAK_BUTTON: - case DARK_OAK_PRESSURE_PLATE: - case DIRT: - case FROSTED_ICE: - case GRAY_CANDLE_CAKE: - case GRAY_CONCRETE_POWDER: - case GREEN_CANDLE_CAKE: - case GREEN_CONCRETE_POWDER: - case HAY_BLOCK: - case HEAVY_WEIGHTED_PRESSURE_PLATE: - case ICE: - case JUNGLE_BUTTON: - case JUNGLE_PRESSURE_PLATE: - case LEVER: - case LIGHT_BLUE_CANDLE_CAKE: - case LIGHT_BLUE_CONCRETE_POWDER: - case LIGHT_GRAY_CANDLE_CAKE: - case LIGHT_GRAY_CONCRETE_POWDER: - case LIGHT_WEIGHTED_PRESSURE_PLATE: - case LIME_CANDLE_CAKE: - case LIME_CONCRETE_POWDER: - case MAGENTA_CANDLE_CAKE: - case MAGENTA_CONCRETE_POWDER: - case MAGMA_BLOCK: - case MANGROVE_BUTTON: - case MANGROVE_PRESSURE_PLATE: - case MUD: - case OAK_BUTTON: - case OAK_PRESSURE_PLATE: - case ORANGE_CANDLE_CAKE: - case ORANGE_CONCRETE_POWDER: - case PACKED_ICE: - case PINK_CANDLE_CAKE: - case PINK_CONCRETE_POWDER: - case PODZOL: - case POLISHED_BLACKSTONE_BUTTON: - case POLISHED_BLACKSTONE_PRESSURE_PLATE: - case PURPLE_CANDLE_CAKE: - case PURPLE_CONCRETE_POWDER: - case RED_CANDLE_CAKE: - case RED_CONCRETE_POWDER: - case RED_SAND: - case ROOTED_DIRT: - case SAND: - case SNIFFER_EGG: - case SOUL_SAND: - case SOUL_SOIL: - case SPRUCE_BUTTON: - case SPRUCE_PRESSURE_PLATE: - case STONE_BUTTON: - case STONE_PRESSURE_PLATE: - case TARGET: - case TURTLE_EGG: - case WARPED_BUTTON: - case WARPED_PRESSURE_PLATE: - case WHITE_CANDLE_CAKE: - case WHITE_CONCRETE_POWDER: - case YELLOW_CANDLE_CAKE: - case YELLOW_CONCRETE_POWDER: - return 0.5F; - case BEEHIVE: - case CLAY: - case COMPOSTER: - case FARMLAND: - case GRASS_BLOCK: - case GRAVEL: - case HONEYCOMB_BLOCK: - case MYCELIUM: - case SPONGE: - case WET_SPONGE: - return 0.6F; - case DIRT_PATH: - return 0.65F; - case ACTIVATOR_RAIL: - case DETECTOR_RAIL: - case MANGROVE_ROOTS: - case MUDDY_MANGROVE_ROOTS: - case POWERED_RAIL: - case RAIL: - return 0.7F; - case CALCITE: - case INFESTED_CHISELED_STONE_BRICKS: - case INFESTED_COBBLESTONE: - case INFESTED_CRACKED_STONE_BRICKS: - case INFESTED_DEEPSLATE: - case INFESTED_MOSSY_STONE_BRICKS: - case INFESTED_STONE: - case INFESTED_STONE_BRICKS: - return 0.75F; - case BLACK_WOOL: - case BLUE_WOOL: - case BROWN_WOOL: - case CHISELED_QUARTZ_BLOCK: - case CHISELED_RED_SANDSTONE: - case CHISELED_SANDSTONE: - case CUT_RED_SANDSTONE: - case CUT_SANDSTONE: - case CYAN_WOOL: - case GRAY_WOOL: - case GREEN_WOOL: - case LIGHT_BLUE_WOOL: - case LIGHT_GRAY_WOOL: - case LIME_WOOL: - case MAGENTA_WOOL: - case NOTE_BLOCK: - case ORANGE_WOOL: - case PINK_WOOL: - case PURPLE_WOOL: - case QUARTZ_BLOCK: - case QUARTZ_BRICKS: - case QUARTZ_PILLAR: - case QUARTZ_STAIRS: - case RED_SANDSTONE: - case RED_SANDSTONE_STAIRS: - case RED_SANDSTONE_WALL: - case RED_WOOL: - case SANDSTONE: - case SANDSTONE_STAIRS: - case SANDSTONE_WALL: - 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: - case BLUE_BANNER: - case BLUE_WALL_BANNER: - case BROWN_BANNER: - case BROWN_WALL_BANNER: - case CARVED_PUMPKIN: - case CHERRY_HANGING_SIGN: - case CHERRY_SIGN: - case CHERRY_WALL_HANGING_SIGN: - case CHERRY_WALL_SIGN: - 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: - case DRIPSTONE_BLOCK: - case GRAY_BANNER: - case GRAY_WALL_BANNER: - 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: - case LIGHT_GRAY_BANNER: - case LIGHT_GRAY_WALL_BANNER: - case LIME_BANNER: - 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: - case PLAYER_WALL_HEAD: - case PUMPKIN: - case PURPLE_BANNER: - case PURPLE_WALL_BANNER: - case RED_BANNER: - case RED_WALL_BANNER: - 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: - case WHITE_WALL_BANNER: - case WITHER_SKELETON_SKULL: - case WITHER_SKELETON_WALL_SKULL: - case YELLOW_BANNER: - case YELLOW_WALL_BANNER: - case ZOMBIE_HEAD: - case ZOMBIE_WALL_HEAD: - return 1.0F; - case BLACK_GLAZED_TERRACOTTA: - case BLUE_GLAZED_TERRACOTTA: - case BROWN_GLAZED_TERRACOTTA: - case CYAN_GLAZED_TERRACOTTA: - case GRAY_GLAZED_TERRACOTTA: - case GREEN_GLAZED_TERRACOTTA: - case LIGHT_BLUE_GLAZED_TERRACOTTA: - case LIGHT_GRAY_GLAZED_TERRACOTTA: - case LIME_GLAZED_TERRACOTTA: - case MAGENTA_GLAZED_TERRACOTTA: - case ORANGE_GLAZED_TERRACOTTA: - case PINK_GLAZED_TERRACOTTA: - case PURPLE_GLAZED_TERRACOTTA: - case RED_GLAZED_TERRACOTTA: - case WHITE_GLAZED_TERRACOTTA: - case YELLOW_GLAZED_TERRACOTTA: - return 1.4F; - case AMETHYST_BLOCK: - case AMETHYST_CLUSTER: - case BOOKSHELF: - case BUDDING_AMETHYST: - case CALIBRATED_SCULK_SENSOR: - case CHISELED_BOOKSHELF: - case LARGE_AMETHYST_BUD: - case MEDIUM_AMETHYST_BUD: - case PISTON: - case PISTON_HEAD: - case SCULK_SENSOR: - case SMALL_AMETHYST_BUD: - case STICKY_PISTON: - return 1.5F; - case BLACK_CONCRETE: - case BLUE_CONCRETE: - case BROWN_CONCRETE: - case CYAN_CONCRETE: - case GRAY_CONCRETE: - case GREEN_CONCRETE: - case LIGHT_BLUE_CONCRETE: - case LIGHT_GRAY_CONCRETE: - case LIME_CONCRETE: - case MAGENTA_CONCRETE: - case ORANGE_CONCRETE: - case PINK_CONCRETE: - case PURPLE_CONCRETE: - case RED_CONCRETE: - case WHITE_CONCRETE: - case YELLOW_CONCRETE: - return 1.8F; - case ACACIA_LOG: - case ACACIA_WOOD: - case BAMBOO_BLOCK: - case BIRCH_LOG: - case BIRCH_WOOD: - case BLACK_SHULKER_BOX: - case BLUE_SHULKER_BOX: - case BONE_BLOCK: - case BROWN_SHULKER_BOX: - case CAMPFIRE: - case CAULDRON: - case CHERRY_LOG: - case CHERRY_WOOD: - case CRIMSON_HYPHAE: - case CRIMSON_STEM: - case CYAN_SHULKER_BOX: - case DARK_OAK_LOG: - case DARK_OAK_WOOD: - case GRAY_SHULKER_BOX: - case GREEN_SHULKER_BOX: - case JUNGLE_LOG: - case JUNGLE_WOOD: - case LAVA_CAULDRON: - case LIGHT_BLUE_SHULKER_BOX: - case LIGHT_GRAY_SHULKER_BOX: - case LIME_SHULKER_BOX: - case MAGENTA_SHULKER_BOX: - case MANGROVE_LOG: - case MANGROVE_WOOD: - case OAK_LOG: - case OAK_WOOD: - case ORANGE_SHULKER_BOX: - case PINK_SHULKER_BOX: - case POWDER_SNOW_CAULDRON: - case PURPLE_SHULKER_BOX: - case RED_SHULKER_BOX: - case SHULKER_BOX: - case SOUL_CAMPFIRE: - case SPRUCE_LOG: - 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_CHERRY_LOG: - case STRIPPED_CHERRY_WOOD: - case STRIPPED_CRIMSON_HYPHAE: - case STRIPPED_CRIMSON_STEM: - case STRIPPED_DARK_OAK_LOG: - case STRIPPED_DARK_OAK_WOOD: - case STRIPPED_JUNGLE_LOG: - case STRIPPED_JUNGLE_WOOD: - case STRIPPED_MANGROVE_LOG: - case STRIPPED_MANGROVE_WOOD: - case STRIPPED_OAK_LOG: - case STRIPPED_OAK_WOOD: - case STRIPPED_SPRUCE_LOG: - case STRIPPED_SPRUCE_WOOD: - case STRIPPED_WARPED_HYPHAE: - case STRIPPED_WARPED_STEM: - case WARPED_HYPHAE: - case WARPED_STEM: - case WATER_CAULDRON: - case WHITE_SHULKER_BOX: - case YELLOW_SHULKER_BOX: - return 2.0F; - case BARREL: - case CARTOGRAPHY_TABLE: - case CHEST: - case CRAFTING_TABLE: - case DRIED_KELP_BLOCK: - case FLETCHING_TABLE: - case LECTERN: - case LOOM: - case SMITHING_TABLE: - case TRAPPED_CHEST: - return 2.5F; - case BLUE_ICE: - return 2.8F; - case ACACIA_DOOR: - case ACACIA_FENCE: - case ACACIA_FENCE_GATE: - case ACACIA_PLANKS: - 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: - case BIRCH_FENCE_GATE: - case BIRCH_PLANKS: - case BIRCH_SLAB: - case BIRCH_STAIRS: - case BIRCH_TRAPDOOR: - case CHERRY_DOOR: - case CHERRY_FENCE: - case CHERRY_FENCE_GATE: - case CHERRY_PLANKS: - case CHERRY_SLAB: - case CHERRY_STAIRS: - case CHERRY_TRAPDOOR: - case COAL_ORE: - case COCOA: - case CONDUIT: - case COPPER_ORE: - case CRIMSON_DOOR: - case CRIMSON_FENCE: - case CRIMSON_FENCE_GATE: - case CRIMSON_PLANKS: - case CRIMSON_SLAB: - case CRIMSON_STAIRS: - case CRIMSON_TRAPDOOR: - case DARK_OAK_DOOR: - case DARK_OAK_FENCE: - case DARK_OAK_FENCE_GATE: - case DARK_OAK_PLANKS: - case DARK_OAK_SLAB: - case DARK_OAK_STAIRS: - case DARK_OAK_TRAPDOOR: - case DEEPSLATE_COAL_ORE: - case DEEPSLATE_COPPER_ORE: - case DEEPSLATE_DIAMOND_ORE: - case DEEPSLATE_EMERALD_ORE: - case DEEPSLATE_GOLD_ORE: - case DEEPSLATE_IRON_ORE: - case DEEPSLATE_LAPIS_ORE: - case DEEPSLATE_REDSTONE_ORE: - case DIAMOND_ORE: - case EMERALD_ORE: - case GOLD_ORE: - case IRON_ORE: - case JUNGLE_DOOR: - case JUNGLE_FENCE: - case JUNGLE_FENCE_GATE: - case JUNGLE_PLANKS: - case JUNGLE_SLAB: - case JUNGLE_STAIRS: - case JUNGLE_TRAPDOOR: - case LAPIS_BLOCK: - case LAPIS_ORE: - case MANGROVE_DOOR: - case MANGROVE_FENCE: - case MANGROVE_FENCE_GATE: - case MANGROVE_PLANKS: - case MANGROVE_SLAB: - case MANGROVE_STAIRS: - case MANGROVE_TRAPDOOR: - case MUD_BRICKS: - case MUD_BRICK_SLAB: - case MUD_BRICK_STAIRS: - case MUD_BRICK_WALL: - case NETHER_GOLD_ORE: - case NETHER_QUARTZ_ORE: - case OAK_DOOR: - case OAK_FENCE: - case OAK_FENCE_GATE: - case OAK_PLANKS: - case OAK_SLAB: - case OAK_STAIRS: - case OAK_TRAPDOOR: - case OBSERVER: - case PACKED_MUD: - case POINTED_DRIPSTONE: - case REDSTONE_ORE: - case SCULK_CATALYST: - case SCULK_SHRIEKER: - case SPRUCE_DOOR: - case SPRUCE_FENCE: - case SPRUCE_FENCE_GATE: - case SPRUCE_PLANKS: - case SPRUCE_SLAB: - case SPRUCE_STAIRS: - case SPRUCE_TRAPDOOR: - case WARPED_DOOR: - case WARPED_FENCE: - case WARPED_FENCE_GATE: - case WARPED_PLANKS: - case WARPED_SLAB: - case WARPED_STAIRS: - case WARPED_TRAPDOOR: - return 3.0F; - case BLAST_FURNACE: - case CRAFTER: - case DISPENSER: - case DROPPER: - case FURNACE: - case LANTERN: - case LODESTONE: - case SMOKER: - case SOUL_LANTERN: - case STONECUTTER: - return 3.5F; - case COBWEB: - return 4.0F; - case BASALT: - case BLACK_TERRACOTTA: - case BLUE_TERRACOTTA: - case BROWN_TERRACOTTA: - case CYAN_TERRACOTTA: - case GRAY_TERRACOTTA: - case GREEN_TERRACOTTA: - case LIGHT_BLUE_TERRACOTTA: - case LIGHT_GRAY_TERRACOTTA: - case LIME_TERRACOTTA: - case MAGENTA_TERRACOTTA: - case ORANGE_TERRACOTTA: - case PINK_TERRACOTTA: - case POLISHED_BASALT: - case PURPLE_TERRACOTTA: - case RED_TERRACOTTA: - case SMOOTH_BASALT: - case TERRACOTTA: - case WHITE_TERRACOTTA: - case YELLOW_TERRACOTTA: - return 4.2F; - case HOPPER: - return 4.8F; - case BELL: - case IRON_DOOR: - case IRON_TRAPDOOR: - case SPAWNER: - return 5.0F; - case ANDESITE: - case ANDESITE_SLAB: - case ANDESITE_STAIRS: - case ANDESITE_WALL: - case BLACKSTONE: - case BLACKSTONE_SLAB: - case BLACKSTONE_STAIRS: - case BLACKSTONE_WALL: - case BRAIN_CORAL_BLOCK: - case BRICKS: - case BRICK_SLAB: - case BRICK_STAIRS: - case BRICK_WALL: - case BUBBLE_CORAL_BLOCK: - case CHAIN: - case CHISELED_COPPER: - case CHISELED_DEEPSLATE: - case CHISELED_NETHER_BRICKS: - case CHISELED_POLISHED_BLACKSTONE: - case CHISELED_STONE_BRICKS: - case CHISELED_TUFF: - case CHISELED_TUFF_BRICKS: - case COAL_BLOCK: - case COBBLED_DEEPSLATE: - case COBBLED_DEEPSLATE_SLAB: - case COBBLED_DEEPSLATE_STAIRS: - case COBBLED_DEEPSLATE_WALL: - case COBBLESTONE: - case COBBLESTONE_SLAB: - case COBBLESTONE_STAIRS: - case COBBLESTONE_WALL: - case COPPER_BLOCK: - case COPPER_BULB: - case COPPER_DOOR: - case COPPER_GRATE: - case COPPER_TRAPDOOR: - case CRACKED_DEEPSLATE_BRICKS: - case CRACKED_DEEPSLATE_TILES: - case CRACKED_NETHER_BRICKS: - case CRACKED_POLISHED_BLACKSTONE_BRICKS: - case CRACKED_STONE_BRICKS: - case CUT_COPPER: - case CUT_COPPER_SLAB: - case CUT_COPPER_STAIRS: - case CUT_RED_SANDSTONE_SLAB: - case CUT_SANDSTONE_SLAB: - case DARK_PRISMARINE: - case DARK_PRISMARINE_SLAB: - case DARK_PRISMARINE_STAIRS: - case DEAD_BRAIN_CORAL_BLOCK: - case DEAD_BUBBLE_CORAL_BLOCK: - case DEAD_FIRE_CORAL_BLOCK: - case DEAD_HORN_CORAL_BLOCK: - case DEAD_TUBE_CORAL_BLOCK: - case DEEPSLATE: - case DEEPSLATE_BRICKS: - case DEEPSLATE_BRICK_SLAB: - case DEEPSLATE_BRICK_STAIRS: - case DEEPSLATE_BRICK_WALL: - case DEEPSLATE_TILES: - case DEEPSLATE_TILE_SLAB: - case DEEPSLATE_TILE_STAIRS: - case DEEPSLATE_TILE_WALL: - case DIAMOND_BLOCK: - case DIORITE: - case DIORITE_SLAB: - case DIORITE_STAIRS: - case DIORITE_WALL: - case EMERALD_BLOCK: - case EXPOSED_CHISELED_COPPER: - case EXPOSED_COPPER: - case EXPOSED_COPPER_BULB: - case EXPOSED_COPPER_DOOR: - case EXPOSED_COPPER_GRATE: - case EXPOSED_COPPER_TRAPDOOR: - case EXPOSED_CUT_COPPER: - case EXPOSED_CUT_COPPER_SLAB: - case EXPOSED_CUT_COPPER_STAIRS: - case FIRE_CORAL_BLOCK: - case GILDED_BLACKSTONE: - case GOLD_BLOCK: - case GRANITE: - case GRANITE_SLAB: - case GRANITE_STAIRS: - case GRANITE_WALL: - case GRINDSTONE: - case HORN_CORAL_BLOCK: - case IRON_BARS: - case IRON_BLOCK: - case JUKEBOX: - case LIGHTNING_ROD: - case MOSSY_COBBLESTONE: - case MOSSY_COBBLESTONE_SLAB: - case MOSSY_COBBLESTONE_STAIRS: - case MOSSY_COBBLESTONE_WALL: - case MOSSY_STONE_BRICKS: - case MOSSY_STONE_BRICK_SLAB: - case MOSSY_STONE_BRICK_STAIRS: - case MOSSY_STONE_BRICK_WALL: - case NETHER_BRICKS: - case NETHER_BRICK_FENCE: - case NETHER_BRICK_SLAB: - case NETHER_BRICK_STAIRS: - case NETHER_BRICK_WALL: - case OXIDIZED_CHISELED_COPPER: - case OXIDIZED_COPPER: - case OXIDIZED_COPPER_BULB: - case OXIDIZED_COPPER_DOOR: - case OXIDIZED_COPPER_GRATE: - case OXIDIZED_COPPER_TRAPDOOR: - case OXIDIZED_CUT_COPPER: - case OXIDIZED_CUT_COPPER_SLAB: - case OXIDIZED_CUT_COPPER_STAIRS: - case PETRIFIED_OAK_SLAB: - case POLISHED_ANDESITE: - case POLISHED_ANDESITE_SLAB: - case POLISHED_ANDESITE_STAIRS: - case POLISHED_BLACKSTONE: - case POLISHED_BLACKSTONE_BRICKS: - case POLISHED_BLACKSTONE_BRICK_SLAB: - case POLISHED_BLACKSTONE_BRICK_STAIRS: - case POLISHED_BLACKSTONE_BRICK_WALL: - case POLISHED_BLACKSTONE_SLAB: - case POLISHED_BLACKSTONE_STAIRS: - case POLISHED_BLACKSTONE_WALL: - case POLISHED_DEEPSLATE: - case POLISHED_DEEPSLATE_SLAB: - case POLISHED_DEEPSLATE_STAIRS: - case POLISHED_DEEPSLATE_WALL: - case POLISHED_DIORITE: - case POLISHED_DIORITE_SLAB: - case POLISHED_DIORITE_STAIRS: - case POLISHED_GRANITE: - case POLISHED_GRANITE_SLAB: - case POLISHED_GRANITE_STAIRS: - case POLISHED_TUFF: - case POLISHED_TUFF_SLAB: - case POLISHED_TUFF_STAIRS: - case POLISHED_TUFF_WALL: - case PRISMARINE: - case PRISMARINE_BRICKS: - case PRISMARINE_BRICK_SLAB: - case PRISMARINE_BRICK_STAIRS: - case PRISMARINE_SLAB: - case PRISMARINE_STAIRS: - case PRISMARINE_WALL: - case PURPUR_BLOCK: - case PURPUR_PILLAR: - case PURPUR_SLAB: - case PURPUR_STAIRS: - case QUARTZ_SLAB: - case RAW_COPPER_BLOCK: - case RAW_GOLD_BLOCK: - case RAW_IRON_BLOCK: - case REDSTONE_BLOCK: - case RED_NETHER_BRICKS: - case RED_NETHER_BRICK_SLAB: - case RED_NETHER_BRICK_STAIRS: - case RED_NETHER_BRICK_WALL: - case RED_SANDSTONE_SLAB: - case SANDSTONE_SLAB: - case SMOOTH_QUARTZ: - case SMOOTH_QUARTZ_SLAB: - case SMOOTH_QUARTZ_STAIRS: - case SMOOTH_RED_SANDSTONE: - case SMOOTH_RED_SANDSTONE_SLAB: - case SMOOTH_RED_SANDSTONE_STAIRS: - case SMOOTH_SANDSTONE: - case SMOOTH_SANDSTONE_SLAB: - case SMOOTH_SANDSTONE_STAIRS: - case SMOOTH_STONE: - case SMOOTH_STONE_SLAB: - case STONE: - case STONE_BRICKS: - case STONE_BRICK_SLAB: - case STONE_BRICK_STAIRS: - case STONE_BRICK_WALL: - case STONE_SLAB: - case STONE_STAIRS: - case TUBE_CORAL_BLOCK: - case TUFF: - case TUFF_BRICKS: - case TUFF_BRICK_SLAB: - case TUFF_BRICK_STAIRS: - case TUFF_BRICK_WALL: - case TUFF_SLAB: - case TUFF_STAIRS: - case TUFF_WALL: - case WAXED_CHISELED_COPPER: - case WAXED_COPPER_BLOCK: - case WAXED_COPPER_BULB: - case WAXED_COPPER_DOOR: - case WAXED_COPPER_GRATE: - case WAXED_COPPER_TRAPDOOR: - case WAXED_CUT_COPPER: - case WAXED_CUT_COPPER_SLAB: - case WAXED_CUT_COPPER_STAIRS: - case WAXED_EXPOSED_CHISELED_COPPER: - case WAXED_EXPOSED_COPPER: - case WAXED_EXPOSED_COPPER_BULB: - case WAXED_EXPOSED_COPPER_DOOR: - case WAXED_EXPOSED_COPPER_GRATE: - case WAXED_EXPOSED_COPPER_TRAPDOOR: - case WAXED_EXPOSED_CUT_COPPER: - case WAXED_EXPOSED_CUT_COPPER_SLAB: - case WAXED_EXPOSED_CUT_COPPER_STAIRS: - case WAXED_OXIDIZED_CHISELED_COPPER: - case WAXED_OXIDIZED_COPPER: - case WAXED_OXIDIZED_COPPER_BULB: - case WAXED_OXIDIZED_COPPER_DOOR: - case WAXED_OXIDIZED_COPPER_GRATE: - case WAXED_OXIDIZED_COPPER_TRAPDOOR: - case WAXED_OXIDIZED_CUT_COPPER: - case WAXED_OXIDIZED_CUT_COPPER_SLAB: - case WAXED_OXIDIZED_CUT_COPPER_STAIRS: - case WAXED_WEATHERED_CHISELED_COPPER: - case WAXED_WEATHERED_COPPER: - case WAXED_WEATHERED_COPPER_BULB: - case WAXED_WEATHERED_COPPER_DOOR: - case WAXED_WEATHERED_COPPER_GRATE: - case WAXED_WEATHERED_COPPER_TRAPDOOR: - case WAXED_WEATHERED_CUT_COPPER: - case WAXED_WEATHERED_CUT_COPPER_SLAB: - case WAXED_WEATHERED_CUT_COPPER_STAIRS: - case WEATHERED_CHISELED_COPPER: - case WEATHERED_COPPER: - case WEATHERED_COPPER_BULB: - case WEATHERED_COPPER_DOOR: - case WEATHERED_COPPER_GRATE: - case WEATHERED_COPPER_TRAPDOOR: - case WEATHERED_CUT_COPPER: - case WEATHERED_CUT_COPPER_SLAB: - case WEATHERED_CUT_COPPER_STAIRS: - return 6.0F; - case DRAGON_EGG: - case END_STONE: - case END_STONE_BRICKS: - case END_STONE_BRICK_SLAB: - case END_STONE_BRICK_STAIRS: - case END_STONE_BRICK_WALL: - return 9.0F; - case TRIAL_SPAWNER: - case VAULT: - return 50.0F; - case LAVA: - case WATER: - return 100.0F; - case ENDER_CHEST: - return 600.0F; - case ANCIENT_DEBRIS: - case ANVIL: - case CHIPPED_ANVIL: - case CRYING_OBSIDIAN: - case DAMAGED_ANVIL: - case ENCHANTING_TABLE: - case HEAVY_CORE: - case NETHERITE_BLOCK: - case OBSIDIAN: - case REINFORCED_DEEPSLATE: - case RESPAWN_ANCHOR: - return 1200.0F; - case BEDROCK: - case CHAIN_COMMAND_BLOCK: - case COMMAND_BLOCK: - case END_GATEWAY: - case END_PORTAL: - case END_PORTAL_FRAME: - case JIGSAW: - case REPEATING_COMMAND_BLOCK: - case STRUCTURE_BLOCK: - return 3600000.0F; - case BARRIER: - case LIGHT: - return 3600000.8F; - default: - return 0; - // - } + BlockType type = asBlockType(); + Preconditions.checkArgument(type != null, "The Material is not a block!"); + return type.getBlastResistance(); } /** @@ -11294,21 +5329,9 @@ public enum Material implements Keyed, Translatable { * @return the slipperiness of this block */ public float getSlipperiness() { - Preconditions.checkArgument(isBlock(), "The Material is not a block!"); - switch (this) { - // - default: - return 0.6F; - case SLIME_BLOCK: - return 0.8F; - case FROSTED_ICE: - case ICE: - case PACKED_ICE: - return 0.98F; - case BLUE_ICE: - return 0.989F; - // - } + BlockType type = asBlockType(); + Preconditions.checkArgument(type != null, "The Material is not a block!"); + return type.getSlipperiness(); } /** @@ -11321,20 +5344,9 @@ public enum Material implements Keyed, Translatable { */ @Nullable public Material getCraftingRemainingItem() { - Preconditions.checkArgument(isItem(), "The Material is not an item!"); - switch (this) { - // - case WATER_BUCKET: - case LAVA_BUCKET: - case MILK_BUCKET: - return BUCKET; - case DRAGON_BREATH: - case HONEY_BOTTLE: - return GLASS_BOTTLE; - default: - return null; - // - } + ItemType type = asItemType(); + Preconditions.checkArgument(type != null, "The Material is not an item!"); + return type.getCraftingRemainingItem() == null ? null : type.getCraftingRemainingItem().asMaterial(); } /** @@ -11432,9 +5444,9 @@ public enum Material implements Keyed, Translatable { */ @NotNull public Multimap getDefaultAttributeModifiers(@NotNull EquipmentSlot slot) { - Preconditions.checkArgument(isItem(), "The Material is not an item!"); - - return Bukkit.getUnsafe().getDefaultAttributeModifiers(this, slot); + ItemType type = asItemType(); + Preconditions.checkArgument(type != null, "The Material is not an item!"); + return type.getDefaultAttributeModifiers(slot); } /** @@ -11444,7 +5456,8 @@ public enum Material implements Keyed, Translatable { */ @Nullable public CreativeCategory getCreativeCategory() { - return Bukkit.getUnsafe().getCreativeCategory(this); + ItemType type = asItemType(); + return type == null ? null : type.getCreativeCategory(); } /** @@ -11463,9 +5476,9 @@ public enum Material implements Keyed, Translatable { @NotNull public String getTranslationKey() { if (this.isItem()) { - return Bukkit.getUnsafe().getItemTranslationKey(this); + return asItemType().getTranslationKey(); } else { - return Bukkit.getUnsafe().getBlockTranslationKey(this); + return asBlockType().getTranslationKey(); } } @@ -11478,7 +5491,8 @@ public enum Material implements Keyed, Translatable { */ @Nullable public String getBlockTranslationKey() { - return Bukkit.getUnsafe().getBlockTranslationKey(this); + BlockType type = asBlockType(); + return type == null ? null : type.getTranslationKey(); } /** @@ -11490,7 +5504,8 @@ public enum Material implements Keyed, Translatable { */ @Nullable public String getItemTranslationKey() { - return Bukkit.getUnsafe().getItemTranslationKey(this); + ItemType type = asItemType(); + return type == null ? null : type.getTranslationKey(); } /** @@ -11500,6 +5515,42 @@ public enum Material implements Keyed, Translatable { * @return true if this material can be used in this World. */ public boolean isEnabledByFeature(@NotNull World world) { - return Bukkit.getDataPackManager().isEnabledByFeature(this, world); + if (isItem()) { + return Bukkit.getDataPackManager().isEnabledByFeature(asItemType(), world); + } + + return Bukkit.getDataPackManager().isEnabledByFeature(asBlockType(), world); + } + + /** + * Tries to convert this Material to an item type + * + * @return the converted item type or null + * @apiNote only for internal use + */ + @ApiStatus.Internal + @Nullable + public ItemType asItemType() { + Material material = this; + if (isLegacy()) { + material = Bukkit.getUnsafe().fromLegacy(this); + } + return Registry.ITEM.get(material.key); + } + + /** + * Tries to convert this Material to a block type + * + * @return the converted block type or null + * @apiNote only for internal use + */ + @ApiStatus.Internal + @Nullable + public BlockType asBlockType() { + Material material = this; + if (isLegacy()) { + material = Bukkit.getUnsafe().fromLegacy(this); + } + return Registry.BLOCK.get(material.key); } } diff --git a/paper-api/src/main/java/org/bukkit/Registry.java b/paper-api/src/main/java/org/bukkit/Registry.java index 5dfb6af7d4..57dfc408fc 100644 --- a/paper-api/src/main/java/org/bukkit/Registry.java +++ b/paper-api/src/main/java/org/bukkit/Registry.java @@ -12,6 +12,7 @@ import java.util.stream.StreamSupport; import org.bukkit.advancement.Advancement; import org.bukkit.attribute.Attribute; import org.bukkit.block.Biome; +import org.bukkit.block.BlockType; import org.bukkit.block.banner.PatternType; import org.bukkit.boss.KeyedBossBar; import org.bukkit.damage.DamageType; @@ -24,6 +25,7 @@ import org.bukkit.entity.Wolf; import org.bukkit.entity.memory.MemoryKey; import org.bukkit.generator.structure.Structure; import org.bukkit.generator.structure.StructureType; +import org.bukkit.inventory.ItemType; import org.bukkit.inventory.meta.trim.TrimMaterial; import org.bukkit.inventory.meta.trim.TrimPattern; import org.bukkit.loot.LootTables; @@ -92,6 +94,14 @@ public interface Registry extends Iterable { * @see Biome */ Registry BIOME = new SimpleRegistry<>(Biome.class); + /** + * Server block types. + * + * @see BlockType + * @apiNote BlockType is not ready for public usage yet + */ + @ApiStatus.Internal + Registry BLOCK = Objects.requireNonNull(Bukkit.getRegistry(BlockType.class), "No registry present for BlockType. This is a bug."); /** * Custom boss bars. * @@ -142,6 +152,14 @@ public interface Registry extends Iterable { * @see MusicInstrument */ Registry INSTRUMENT = Objects.requireNonNull(Bukkit.getRegistry(MusicInstrument.class), "No registry present for MusicInstrument. This is a bug."); + /** + * Server item types. + * + * @see ItemType + * @apiNote ItemType is not ready for public usage yet + */ + @ApiStatus.Internal + Registry ITEM = Objects.requireNonNull(Bukkit.getRegistry(ItemType.class), "No registry present for ItemType. This is a bug."); /** * Default server loot tables. * diff --git a/paper-api/src/main/java/org/bukkit/block/BlockType.java b/paper-api/src/main/java/org/bukkit/block/BlockType.java new file mode 100644 index 0000000000..014bcd3d0c --- /dev/null +++ b/paper-api/src/main/java/org/bukkit/block/BlockType.java @@ -0,0 +1,3604 @@ +package org.bukkit.block; + +import com.google.common.base.Preconditions; +import java.util.function.Consumer; +import org.bukkit.Keyed; +import org.bukkit.Material; +import org.bukkit.MinecraftExperimental; +import org.bukkit.MinecraftExperimental.Requires; +import org.bukkit.NamespacedKey; +import org.bukkit.Registry; +import org.bukkit.Translatable; +import org.bukkit.World; +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; +import org.bukkit.block.data.Orientable; +import org.bukkit.block.data.Powerable; +import org.bukkit.block.data.Rail; +import org.bukkit.block.data.Rotatable; +import org.bukkit.block.data.Snowable; +import org.bukkit.block.data.Waterlogged; +import org.bukkit.block.data.type.AmethystCluster; +import org.bukkit.block.data.type.Bamboo; +import org.bukkit.block.data.type.Barrel; +import org.bukkit.block.data.type.Bed; +import org.bukkit.block.data.type.Beehive; +import org.bukkit.block.data.type.Bell; +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; +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; +import org.bukkit.block.data.type.CopperBulb; +import org.bukkit.block.data.type.CoralWallFan; +import org.bukkit.block.data.type.Crafter; +import org.bukkit.block.data.type.DaylightDetector; +import org.bukkit.block.data.type.DecoratedPot; +import org.bukkit.block.data.type.Dispenser; +import org.bukkit.block.data.type.Door; +import org.bukkit.block.data.type.Dripleaf; +import org.bukkit.block.data.type.EndPortalFrame; +import org.bukkit.block.data.type.EnderChest; +import org.bukkit.block.data.type.Farmland; +import org.bukkit.block.data.type.Fence; +import org.bukkit.block.data.type.Fire; +import org.bukkit.block.data.type.Furnace; +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; +import org.bukkit.block.data.type.Ladder; +import org.bukkit.block.data.type.Lantern; +import org.bukkit.block.data.type.Leaves; +import org.bukkit.block.data.type.Lectern; +import org.bukkit.block.data.type.Light; +import org.bukkit.block.data.type.LightningRod; +import org.bukkit.block.data.type.MangrovePropagule; +import org.bukkit.block.data.type.NoteBlock; +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; +import org.bukkit.block.data.type.RedstoneWire; +import org.bukkit.block.data.type.Repeater; +import org.bukkit.block.data.type.RespawnAnchor; +import org.bukkit.block.data.type.Sapling; +import org.bukkit.block.data.type.Scaffolding; +import org.bukkit.block.data.type.SculkCatalyst; +import org.bukkit.block.data.type.SculkSensor; +import org.bukkit.block.data.type.SculkShrieker; +import org.bukkit.block.data.type.SculkVein; +import org.bukkit.block.data.type.SeaPickle; +import org.bukkit.block.data.type.Sign; +import org.bukkit.block.data.type.Slab; +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.Switch; +import org.bukkit.block.data.type.TNT; +import org.bukkit.block.data.type.TechnicalPiston; +import org.bukkit.block.data.type.TrapDoor; +import org.bukkit.block.data.type.TrialSpawner; +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.ItemType; +import org.jetbrains.annotations.ApiStatus; +import org.jetbrains.annotations.NotNull; +import org.jetbrains.annotations.Nullable; + +/** + * While this API is in a public interface, it is not intended for use by + * plugins until further notice. The purpose of these types is to make + * {@link Material} more maintenance friendly, but will in due time be the + * official replacement for the aforementioned enum. Entirely incompatible + * changes may occur. Do not use this API in plugins. + */ +@ApiStatus.Internal +public interface BlockType extends Keyed, Translatable { + + /** + * Typed represents a subtype of {@link ItemType}s that have a known item meta type + * at compile time. + * + * @param the generic type of the item meta that represents the item type. + */ + interface Typed extends BlockType { + + /** + * Gets the BlockData class of this BlockType + * + * @return the BlockData class of this BlockType + */ + @NotNull + @Override + Class getBlockDataClass(); + + /** + * Creates a new {@link BlockData} instance for this block type, with + * all properties initialized to unspecified defaults. + * + * @param consumer consumer to run on new instance before returning + * @return new data instance + */ + @NotNull + B createBlockData(@Nullable Consumer consumer); + + /** + * Creates a new {@link BlockData} instance for this block type, with all + * properties initialized to unspecified defaults. + * + * @return new data instance + */ + @NotNull + @Override + B createBlockData(); + + /** + * Creates a new {@link BlockData} instance for this block type, with all + * properties initialized to unspecified defaults, except for those provided + * in data. + * + * @param data data string + * @return new data instance + * @throws IllegalArgumentException if the specified data is not valid + */ + @NotNull + B createBlockData(@Nullable String data); + } + + // + BlockType.Typed AIR = getBlockType("air"); + BlockType.Typed STONE = getBlockType("stone"); + BlockType.Typed GRANITE = getBlockType("granite"); + BlockType.Typed POLISHED_GRANITE = getBlockType("polished_granite"); + BlockType.Typed DIORITE = getBlockType("diorite"); + BlockType.Typed POLISHED_DIORITE = getBlockType("polished_diorite"); + BlockType.Typed ANDESITE = getBlockType("andesite"); + BlockType.Typed POLISHED_ANDESITE = getBlockType("polished_andesite"); + /** + * BlockData: {@link Snowable} + */ + BlockType.Typed GRASS_BLOCK = getBlockType("grass_block"); + BlockType.Typed DIRT = getBlockType("dirt"); + BlockType.Typed COARSE_DIRT = getBlockType("coarse_dirt"); + /** + * BlockData: {@link Snowable} + */ + BlockType.Typed PODZOL = getBlockType("podzol"); + BlockType.Typed COBBLESTONE = getBlockType("cobblestone"); + BlockType.Typed OAK_PLANKS = getBlockType("oak_planks"); + BlockType.Typed SPRUCE_PLANKS = getBlockType("spruce_planks"); + BlockType.Typed BIRCH_PLANKS = getBlockType("birch_planks"); + BlockType.Typed JUNGLE_PLANKS = getBlockType("jungle_planks"); + BlockType.Typed ACACIA_PLANKS = getBlockType("acacia_planks"); + BlockType.Typed CHERRY_PLANKS = getBlockType("cherry_planks"); + BlockType.Typed DARK_OAK_PLANKS = getBlockType("dark_oak_planks"); + BlockType.Typed MANGROVE_PLANKS = getBlockType("mangrove_planks"); + BlockType.Typed BAMBOO_PLANKS = getBlockType("bamboo_planks"); + BlockType.Typed BAMBOO_MOSAIC = getBlockType("bamboo_mosaic"); + /** + * BlockData: {@link Sapling} + */ + BlockType.Typed OAK_SAPLING = getBlockType("oak_sapling"); + /** + * BlockData: {@link Sapling} + */ + BlockType.Typed SPRUCE_SAPLING = getBlockType("spruce_sapling"); + /** + * BlockData: {@link Sapling} + */ + BlockType.Typed BIRCH_SAPLING = getBlockType("birch_sapling"); + /** + * BlockData: {@link Sapling} + */ + BlockType.Typed JUNGLE_SAPLING = getBlockType("jungle_sapling"); + /** + * BlockData: {@link Sapling} + */ + BlockType.Typed ACACIA_SAPLING = getBlockType("acacia_sapling"); + /** + * BlockData: {@link Sapling} + */ + BlockType.Typed CHERRY_SAPLING = getBlockType("cherry_sapling"); + /** + * BlockData: {@link Sapling} + */ + BlockType.Typed DARK_OAK_SAPLING = getBlockType("dark_oak_sapling"); + /** + * BlockData: {@link MangrovePropagule} + */ + BlockType.Typed MANGROVE_PROPAGULE = getBlockType("mangrove_propagule"); + BlockType.Typed BEDROCK = getBlockType("bedrock"); + /** + * BlockData: {@link Levelled} + */ + BlockType.Typed WATER = getBlockType("water"); + /** + * BlockData: {@link Levelled} + */ + BlockType.Typed LAVA = getBlockType("lava"); + BlockType.Typed SAND = getBlockType("sand"); + /** + * BlockData: {@link Brushable} + */ + BlockType.Typed SUSPICIOUS_SAND = getBlockType("suspicious_sand"); + BlockType.Typed RED_SAND = getBlockType("red_sand"); + BlockType.Typed GRAVEL = getBlockType("gravel"); + /** + * BlockData: {@link Brushable} + */ + BlockType.Typed SUSPICIOUS_GRAVEL = getBlockType("suspicious_gravel"); + BlockType.Typed GOLD_ORE = getBlockType("gold_ore"); + BlockType.Typed DEEPSLATE_GOLD_ORE = getBlockType("deepslate_gold_ore"); + BlockType.Typed IRON_ORE = getBlockType("iron_ore"); + BlockType.Typed DEEPSLATE_IRON_ORE = getBlockType("deepslate_iron_ore"); + BlockType.Typed COAL_ORE = getBlockType("coal_ore"); + BlockType.Typed DEEPSLATE_COAL_ORE = getBlockType("deepslate_coal_ore"); + BlockType.Typed NETHER_GOLD_ORE = getBlockType("nether_gold_ore"); + /** + * BlockData: {@link Orientable} + */ + BlockType.Typed OAK_LOG = getBlockType("oak_log"); + /** + * BlockData: {@link Orientable} + */ + BlockType.Typed SPRUCE_LOG = getBlockType("spruce_log"); + /** + * BlockData: {@link Orientable} + */ + BlockType.Typed BIRCH_LOG = getBlockType("birch_log"); + /** + * BlockData: {@link Orientable} + */ + BlockType.Typed JUNGLE_LOG = getBlockType("jungle_log"); + /** + * BlockData: {@link Orientable} + */ + BlockType.Typed ACACIA_LOG = getBlockType("acacia_log"); + /** + * BlockData: {@link Orientable} + */ + BlockType.Typed CHERRY_LOG = getBlockType("cherry_log"); + /** + * BlockData: {@link Orientable} + */ + BlockType.Typed DARK_OAK_LOG = getBlockType("dark_oak_log"); + /** + * BlockData: {@link Orientable} + */ + BlockType.Typed MANGROVE_LOG = getBlockType("mangrove_log"); + /** + * BlockData: {@link Waterlogged} + */ + BlockType.Typed MANGROVE_ROOTS = getBlockType("mangrove_roots"); + /** + * BlockData: {@link Orientable} + */ + BlockType.Typed MUDDY_MANGROVE_ROOTS = getBlockType("muddy_mangrove_roots"); + /** + * BlockData: {@link Orientable} + */ + BlockType.Typed BAMBOO_BLOCK = getBlockType("bamboo_block"); + /** + * BlockData: {@link Orientable} + */ + BlockType.Typed STRIPPED_SPRUCE_LOG = getBlockType("stripped_spruce_log"); + /** + * BlockData: {@link Orientable} + */ + BlockType.Typed STRIPPED_BIRCH_LOG = getBlockType("stripped_birch_log"); + /** + * BlockData: {@link Orientable} + */ + BlockType.Typed STRIPPED_JUNGLE_LOG = getBlockType("stripped_jungle_log"); + /** + * BlockData: {@link Orientable} + */ + BlockType.Typed STRIPPED_ACACIA_LOG = getBlockType("stripped_acacia_log"); + /** + * BlockData: {@link Orientable} + */ + BlockType.Typed STRIPPED_CHERRY_LOG = getBlockType("stripped_cherry_log"); + /** + * BlockData: {@link Orientable} + */ + BlockType.Typed STRIPPED_DARK_OAK_LOG = getBlockType("stripped_dark_oak_log"); + /** + * BlockData: {@link Orientable} + */ + BlockType.Typed STRIPPED_OAK_LOG = getBlockType("stripped_oak_log"); + /** + * BlockData: {@link Orientable} + */ + BlockType.Typed STRIPPED_MANGROVE_LOG = getBlockType("stripped_mangrove_log"); + /** + * BlockData: {@link Orientable} + */ + BlockType.Typed STRIPPED_BAMBOO_BLOCK = getBlockType("stripped_bamboo_block"); + /** + * BlockData: {@link Orientable} + */ + BlockType.Typed OAK_WOOD = getBlockType("oak_wood"); + /** + * BlockData: {@link Orientable} + */ + BlockType.Typed SPRUCE_WOOD = getBlockType("spruce_wood"); + /** + * BlockData: {@link Orientable} + */ + BlockType.Typed BIRCH_WOOD = getBlockType("birch_wood"); + /** + * BlockData: {@link Orientable} + */ + BlockType.Typed JUNGLE_WOOD = getBlockType("jungle_wood"); + /** + * BlockData: {@link Orientable} + */ + BlockType.Typed ACACIA_WOOD = getBlockType("acacia_wood"); + /** + * BlockData: {@link Orientable} + */ + BlockType.Typed CHERRY_WOOD = getBlockType("cherry_wood"); + /** + * BlockData: {@link Orientable} + */ + BlockType.Typed DARK_OAK_WOOD = getBlockType("dark_oak_wood"); + /** + * BlockData: {@link Orientable} + */ + BlockType.Typed MANGROVE_WOOD = getBlockType("mangrove_wood"); + /** + * BlockData: {@link Orientable} + */ + BlockType.Typed STRIPPED_OAK_WOOD = getBlockType("stripped_oak_wood"); + /** + * BlockData: {@link Orientable} + */ + BlockType.Typed STRIPPED_SPRUCE_WOOD = getBlockType("stripped_spruce_wood"); + /** + * BlockData: {@link Orientable} + */ + BlockType.Typed STRIPPED_BIRCH_WOOD = getBlockType("stripped_birch_wood"); + /** + * BlockData: {@link Orientable} + */ + BlockType.Typed STRIPPED_JUNGLE_WOOD = getBlockType("stripped_jungle_wood"); + /** + * BlockData: {@link Orientable} + */ + BlockType.Typed STRIPPED_ACACIA_WOOD = getBlockType("stripped_acacia_wood"); + /** + * BlockData: {@link Orientable} + */ + BlockType.Typed STRIPPED_CHERRY_WOOD = getBlockType("stripped_cherry_wood"); + /** + * BlockData: {@link Orientable} + */ + BlockType.Typed STRIPPED_DARK_OAK_WOOD = getBlockType("stripped_dark_oak_wood"); + /** + * BlockData: {@link Orientable} + */ + BlockType.Typed STRIPPED_MANGROVE_WOOD = getBlockType("stripped_mangrove_wood"); + /** + * BlockData: {@link Leaves} + */ + BlockType.Typed OAK_LEAVES = getBlockType("oak_leaves"); + /** + * BlockData: {@link Leaves} + */ + BlockType.Typed SPRUCE_LEAVES = getBlockType("spruce_leaves"); + /** + * BlockData: {@link Leaves} + */ + BlockType.Typed BIRCH_LEAVES = getBlockType("birch_leaves"); + /** + * BlockData: {@link Leaves} + */ + BlockType.Typed JUNGLE_LEAVES = getBlockType("jungle_leaves"); + /** + * BlockData: {@link Leaves} + */ + BlockType.Typed ACACIA_LEAVES = getBlockType("acacia_leaves"); + /** + * BlockData: {@link Leaves} + */ + BlockType.Typed CHERRY_LEAVES = getBlockType("cherry_leaves"); + /** + * BlockData: {@link Leaves} + */ + BlockType.Typed DARK_OAK_LEAVES = getBlockType("dark_oak_leaves"); + /** + * BlockData: {@link Leaves} + */ + BlockType.Typed MANGROVE_LEAVES = getBlockType("mangrove_leaves"); + /** + * BlockData: {@link Leaves} + */ + BlockType.Typed AZALEA_LEAVES = getBlockType("azalea_leaves"); + /** + * BlockData: {@link Leaves} + */ + BlockType.Typed FLOWERING_AZALEA_LEAVES = getBlockType("flowering_azalea_leaves"); + BlockType.Typed SPONGE = getBlockType("sponge"); + BlockType.Typed WET_SPONGE = getBlockType("wet_sponge"); + BlockType.Typed GLASS = getBlockType("glass"); + BlockType.Typed LAPIS_ORE = getBlockType("lapis_ore"); + BlockType.Typed DEEPSLATE_LAPIS_ORE = getBlockType("deepslate_lapis_ore"); + BlockType.Typed LAPIS_BLOCK = getBlockType("lapis_block"); + /** + * BlockData: {@link Dispenser} + */ + BlockType.Typed DISPENSER = getBlockType("dispenser"); + BlockType.Typed SANDSTONE = getBlockType("sandstone"); + BlockType.Typed CHISELED_SANDSTONE = getBlockType("chiseled_sandstone"); + BlockType.Typed CUT_SANDSTONE = getBlockType("cut_sandstone"); + /** + * BlockData: {@link NoteBlock} + */ + BlockType.Typed NOTE_BLOCK = getBlockType("note_block"); + /** + * BlockData: {@link Bed} + */ + BlockType.Typed WHITE_BED = getBlockType("white_bed"); + /** + * BlockData: {@link Bed} + */ + BlockType.Typed ORANGE_BED = getBlockType("orange_bed"); + /** + * BlockData: {@link Bed} + */ + BlockType.Typed MAGENTA_BED = getBlockType("magenta_bed"); + /** + * BlockData: {@link Bed} + */ + BlockType.Typed LIGHT_BLUE_BED = getBlockType("light_blue_bed"); + /** + * BlockData: {@link Bed} + */ + BlockType.Typed YELLOW_BED = getBlockType("yellow_bed"); + /** + * BlockData: {@link Bed} + */ + BlockType.Typed LIME_BED = getBlockType("lime_bed"); + /** + * BlockData: {@link Bed} + */ + BlockType.Typed PINK_BED = getBlockType("pink_bed"); + /** + * BlockData: {@link Bed} + */ + BlockType.Typed GRAY_BED = getBlockType("gray_bed"); + /** + * BlockData: {@link Bed} + */ + BlockType.Typed LIGHT_GRAY_BED = getBlockType("light_gray_bed"); + /** + * BlockData: {@link Bed} + */ + BlockType.Typed CYAN_BED = getBlockType("cyan_bed"); + /** + * BlockData: {@link Bed} + */ + BlockType.Typed PURPLE_BED = getBlockType("purple_bed"); + /** + * BlockData: {@link Bed} + */ + BlockType.Typed BLUE_BED = getBlockType("blue_bed"); + /** + * BlockData: {@link Bed} + */ + BlockType.Typed BROWN_BED = getBlockType("brown_bed"); + /** + * BlockData: {@link Bed} + */ + BlockType.Typed GREEN_BED = getBlockType("green_bed"); + /** + * BlockData: {@link Bed} + */ + BlockType.Typed RED_BED = getBlockType("red_bed"); + /** + * BlockData: {@link Bed} + */ + BlockType.Typed BLACK_BED = getBlockType("black_bed"); + /** + * BlockData: {@link RedstoneRail} + */ + BlockType.Typed POWERED_RAIL = getBlockType("powered_rail"); + /** + * BlockData: {@link RedstoneRail} + */ + BlockType.Typed DETECTOR_RAIL = getBlockType("detector_rail"); + /** + * BlockData: {@link Piston} + */ + BlockType.Typed STICKY_PISTON = getBlockType("sticky_piston"); + BlockType.Typed COBWEB = getBlockType("cobweb"); + BlockType.Typed SHORT_GRASS = getBlockType("short_grass"); + BlockType.Typed FERN = getBlockType("fern"); + BlockType.Typed DEAD_BUSH = getBlockType("dead_bush"); + BlockType.Typed SEAGRASS = getBlockType("seagrass"); + /** + * BlockData: {@link Bisected} + */ + BlockType.Typed TALL_SEAGRASS = getBlockType("tall_seagrass"); + /** + * BlockData: {@link Piston} + */ + BlockType.Typed PISTON = getBlockType("piston"); + /** + * BlockData: {@link PistonHead} + */ + BlockType.Typed PISTON_HEAD = getBlockType("piston_head"); + BlockType.Typed WHITE_WOOL = getBlockType("white_wool"); + BlockType.Typed ORANGE_WOOL = getBlockType("orange_wool"); + BlockType.Typed MAGENTA_WOOL = getBlockType("magenta_wool"); + BlockType.Typed LIGHT_BLUE_WOOL = getBlockType("light_blue_wool"); + BlockType.Typed YELLOW_WOOL = getBlockType("yellow_wool"); + BlockType.Typed LIME_WOOL = getBlockType("lime_wool"); + BlockType.Typed PINK_WOOL = getBlockType("pink_wool"); + BlockType.Typed GRAY_WOOL = getBlockType("gray_wool"); + BlockType.Typed LIGHT_GRAY_WOOL = getBlockType("light_gray_wool"); + BlockType.Typed CYAN_WOOL = getBlockType("cyan_wool"); + BlockType.Typed PURPLE_WOOL = getBlockType("purple_wool"); + BlockType.Typed BLUE_WOOL = getBlockType("blue_wool"); + BlockType.Typed BROWN_WOOL = getBlockType("brown_wool"); + BlockType.Typed GREEN_WOOL = getBlockType("green_wool"); + BlockType.Typed RED_WOOL = getBlockType("red_wool"); + BlockType.Typed BLACK_WOOL = getBlockType("black_wool"); + /** + * BlockData: {@link TechnicalPiston} + */ + BlockType.Typed MOVING_PISTON = getBlockType("moving_piston"); + BlockType.Typed DANDELION = getBlockType("dandelion"); + BlockType.Typed TORCHFLOWER = getBlockType("torchflower"); + BlockType.Typed POPPY = getBlockType("poppy"); + BlockType.Typed BLUE_ORCHID = getBlockType("blue_orchid"); + BlockType.Typed ALLIUM = getBlockType("allium"); + BlockType.Typed AZURE_BLUET = getBlockType("azure_bluet"); + BlockType.Typed RED_TULIP = getBlockType("red_tulip"); + BlockType.Typed ORANGE_TULIP = getBlockType("orange_tulip"); + BlockType.Typed WHITE_TULIP = getBlockType("white_tulip"); + BlockType.Typed PINK_TULIP = getBlockType("pink_tulip"); + BlockType.Typed OXEYE_DAISY = getBlockType("oxeye_daisy"); + BlockType.Typed CORNFLOWER = getBlockType("cornflower"); + BlockType.Typed WITHER_ROSE = getBlockType("wither_rose"); + BlockType.Typed LILY_OF_THE_VALLEY = getBlockType("lily_of_the_valley"); + BlockType.Typed BROWN_MUSHROOM = getBlockType("brown_mushroom"); + BlockType.Typed RED_MUSHROOM = getBlockType("red_mushroom"); + BlockType.Typed GOLD_BLOCK = getBlockType("gold_block"); + BlockType.Typed IRON_BLOCK = getBlockType("iron_block"); + BlockType.Typed BRICKS = getBlockType("bricks"); + /** + * BlockData: {@link TNT} + */ + BlockType.Typed TNT = getBlockType("tnt"); + BlockType.Typed BOOKSHELF = getBlockType("bookshelf"); + /** + * BlockData: {@link ChiseledBookshelf} + */ + BlockType.Typed CHISELED_BOOKSHELF = getBlockType("chiseled_bookshelf"); + BlockType.Typed MOSSY_COBBLESTONE = getBlockType("mossy_cobblestone"); + BlockType.Typed OBSIDIAN = getBlockType("obsidian"); + BlockType.Typed TORCH = getBlockType("torch"); + /** + * BlockData: {@link Directional} + */ + BlockType.Typed WALL_TORCH = getBlockType("wall_torch"); + /** + * BlockData: {@link Fire} + */ + BlockType.Typed FIRE = getBlockType("fire"); + BlockType.Typed SOUL_FIRE = getBlockType("soul_fire"); + BlockType.Typed SPAWNER = getBlockType("spawner"); + /** + * BlockData: {@link Stairs} + */ + BlockType.Typed OAK_STAIRS = getBlockType("oak_stairs"); + /** + * BlockData: {@link Chest} + */ + BlockType.Typed CHEST = getBlockType("chest"); + /** + * BlockData: {@link RedstoneWire} + */ + BlockType.Typed REDSTONE_WIRE = getBlockType("redstone_wire"); + BlockType.Typed DIAMOND_ORE = getBlockType("diamond_ore"); + BlockType.Typed DEEPSLATE_DIAMOND_ORE = getBlockType("deepslate_diamond_ore"); + BlockType.Typed DIAMOND_BLOCK = getBlockType("diamond_block"); + BlockType.Typed CRAFTING_TABLE = getBlockType("crafting_table"); + /** + * BlockData: {@link Ageable} + */ + BlockType.Typed WHEAT = getBlockType("wheat"); + /** + * BlockData: {@link Farmland} + */ + BlockType.Typed FARMLAND = getBlockType("farmland"); + /** + * BlockData: {@link Furnace} + */ + BlockType.Typed FURNACE = getBlockType("furnace"); + /** + * BlockData: {@link Sign} + */ + BlockType.Typed OAK_SIGN = getBlockType("oak_sign"); + /** + * BlockData: {@link Sign} + */ + BlockType.Typed SPRUCE_SIGN = getBlockType("spruce_sign"); + /** + * BlockData: {@link Sign} + */ + BlockType.Typed BIRCH_SIGN = getBlockType("birch_sign"); + /** + * BlockData: {@link Sign} + */ + BlockType.Typed ACACIA_SIGN = getBlockType("acacia_sign"); + /** + * BlockData: {@link Sign} + */ + BlockType.Typed CHERRY_SIGN = getBlockType("cherry_sign"); + /** + * BlockData: {@link Sign} + */ + BlockType.Typed JUNGLE_SIGN = getBlockType("jungle_sign"); + /** + * BlockData: {@link Sign} + */ + BlockType.Typed DARK_OAK_SIGN = getBlockType("dark_oak_sign"); + /** + * BlockData: {@link Sign} + */ + BlockType.Typed MANGROVE_SIGN = getBlockType("mangrove_sign"); + /** + * BlockData: {@link Sign} + */ + BlockType.Typed BAMBOO_SIGN = getBlockType("bamboo_sign"); + /** + * BlockData: {@link Door} + */ + BlockType.Typed OAK_DOOR = getBlockType("oak_door"); + /** + * BlockData: {@link Ladder} + */ + BlockType.Typed LADDER = getBlockType("ladder"); + /** + * BlockData: {@link Rail} + */ + BlockType.Typed RAIL = getBlockType("rail"); + /** + * BlockData: {@link Stairs} + */ + BlockType.Typed COBBLESTONE_STAIRS = getBlockType("cobblestone_stairs"); + /** + * BlockData: {@link WallSign} + */ + BlockType.Typed OAK_WALL_SIGN = getBlockType("oak_wall_sign"); + /** + * BlockData: {@link WallSign} + */ + BlockType.Typed SPRUCE_WALL_SIGN = getBlockType("spruce_wall_sign"); + /** + * BlockData: {@link WallSign} + */ + BlockType.Typed BIRCH_WALL_SIGN = getBlockType("birch_wall_sign"); + /** + * BlockData: {@link WallSign} + */ + BlockType.Typed ACACIA_WALL_SIGN = getBlockType("acacia_wall_sign"); + /** + * BlockData: {@link WallSign} + */ + BlockType.Typed CHERRY_WALL_SIGN = getBlockType("cherry_wall_sign"); + /** + * BlockData: {@link WallSign} + */ + BlockType.Typed JUNGLE_WALL_SIGN = getBlockType("jungle_wall_sign"); + /** + * BlockData: {@link WallSign} + */ + BlockType.Typed DARK_OAK_WALL_SIGN = getBlockType("dark_oak_wall_sign"); + /** + * BlockData: {@link WallSign} + */ + BlockType.Typed MANGROVE_WALL_SIGN = getBlockType("mangrove_wall_sign"); + /** + * BlockData: {@link WallSign} + */ + BlockType.Typed BAMBOO_WALL_SIGN = getBlockType("bamboo_wall_sign"); + /** + * BlockData: {@link HangingSign} + */ + BlockType.Typed OAK_HANGING_SIGN = getBlockType("oak_hanging_sign"); + /** + * BlockData: {@link HangingSign} + */ + BlockType.Typed SPRUCE_HANGING_SIGN = getBlockType("spruce_hanging_sign"); + /** + * BlockData: {@link HangingSign} + */ + BlockType.Typed BIRCH_HANGING_SIGN = getBlockType("birch_hanging_sign"); + /** + * BlockData: {@link HangingSign} + */ + BlockType.Typed ACACIA_HANGING_SIGN = getBlockType("acacia_hanging_sign"); + /** + * BlockData: {@link HangingSign} + */ + BlockType.Typed CHERRY_HANGING_SIGN = getBlockType("cherry_hanging_sign"); + /** + * BlockData: {@link HangingSign} + */ + BlockType.Typed JUNGLE_HANGING_SIGN = getBlockType("jungle_hanging_sign"); + /** + * BlockData: {@link HangingSign} + */ + BlockType.Typed DARK_OAK_HANGING_SIGN = getBlockType("dark_oak_hanging_sign"); + /** + * BlockData: {@link HangingSign} + */ + BlockType.Typed CRIMSON_HANGING_SIGN = getBlockType("crimson_hanging_sign"); + /** + * BlockData: {@link HangingSign} + */ + BlockType.Typed WARPED_HANGING_SIGN = getBlockType("warped_hanging_sign"); + /** + * BlockData: {@link HangingSign} + */ + BlockType.Typed MANGROVE_HANGING_SIGN = getBlockType("mangrove_hanging_sign"); + /** + * BlockData: {@link HangingSign} + */ + BlockType.Typed BAMBOO_HANGING_SIGN = getBlockType("bamboo_hanging_sign"); + /** + * BlockData: {@link WallHangingSign} + */ + BlockType.Typed OAK_WALL_HANGING_SIGN = getBlockType("oak_wall_hanging_sign"); + /** + * BlockData: {@link WallHangingSign} + */ + BlockType.Typed SPRUCE_WALL_HANGING_SIGN = getBlockType("spruce_wall_hanging_sign"); + /** + * BlockData: {@link WallHangingSign} + */ + BlockType.Typed BIRCH_WALL_HANGING_SIGN = getBlockType("birch_wall_hanging_sign"); + /** + * BlockData: {@link WallHangingSign} + */ + BlockType.Typed ACACIA_WALL_HANGING_SIGN = getBlockType("acacia_wall_hanging_sign"); + /** + * BlockData: {@link WallHangingSign} + */ + BlockType.Typed CHERRY_WALL_HANGING_SIGN = getBlockType("cherry_wall_hanging_sign"); + /** + * BlockData: {@link WallHangingSign} + */ + BlockType.Typed JUNGLE_WALL_HANGING_SIGN = getBlockType("jungle_wall_hanging_sign"); + /** + * BlockData: {@link WallHangingSign} + */ + BlockType.Typed DARK_OAK_WALL_HANGING_SIGN = getBlockType("dark_oak_wall_hanging_sign"); + /** + * BlockData: {@link WallHangingSign} + */ + BlockType.Typed MANGROVE_WALL_HANGING_SIGN = getBlockType("mangrove_wall_hanging_sign"); + /** + * BlockData: {@link WallHangingSign} + */ + BlockType.Typed CRIMSON_WALL_HANGING_SIGN = getBlockType("crimson_wall_hanging_sign"); + /** + * BlockData: {@link WallHangingSign} + */ + BlockType.Typed WARPED_WALL_HANGING_SIGN = getBlockType("warped_wall_hanging_sign"); + /** + * BlockData: {@link WallHangingSign} + */ + BlockType.Typed BAMBOO_WALL_HANGING_SIGN = getBlockType("bamboo_wall_hanging_sign"); + /** + * BlockData: {@link Switch} + */ + BlockType.Typed LEVER = getBlockType("lever"); + /** + * BlockData: {@link Powerable} + */ + BlockType.Typed STONE_PRESSURE_PLATE = getBlockType("stone_pressure_plate"); + /** + * BlockData: {@link Door} + */ + BlockType.Typed IRON_DOOR = getBlockType("iron_door"); + /** + * BlockData: {@link Powerable} + */ + BlockType.Typed OAK_PRESSURE_PLATE = getBlockType("oak_pressure_plate"); + /** + * BlockData: {@link Powerable} + */ + BlockType.Typed SPRUCE_PRESSURE_PLATE = getBlockType("spruce_pressure_plate"); + /** + * BlockData: {@link Powerable} + */ + BlockType.Typed BIRCH_PRESSURE_PLATE = getBlockType("birch_pressure_plate"); + /** + * BlockData: {@link Powerable} + */ + BlockType.Typed JUNGLE_PRESSURE_PLATE = getBlockType("jungle_pressure_plate"); + /** + * BlockData: {@link Powerable} + */ + BlockType.Typed ACACIA_PRESSURE_PLATE = getBlockType("acacia_pressure_plate"); + /** + * BlockData: {@link Powerable} + */ + BlockType.Typed CHERRY_PRESSURE_PLATE = getBlockType("cherry_pressure_plate"); + /** + * BlockData: {@link Powerable} + */ + BlockType.Typed DARK_OAK_PRESSURE_PLATE = getBlockType("dark_oak_pressure_plate"); + /** + * BlockData: {@link Powerable} + */ + BlockType.Typed MANGROVE_PRESSURE_PLATE = getBlockType("mangrove_pressure_plate"); + /** + * BlockData: {@link Powerable} + */ + BlockType.Typed BAMBOO_PRESSURE_PLATE = getBlockType("bamboo_pressure_plate"); + /** + * BlockData: {@link Lightable} + */ + BlockType.Typed REDSTONE_ORE = getBlockType("redstone_ore"); + /** + * BlockData: {@link Lightable} + */ + BlockType.Typed DEEPSLATE_REDSTONE_ORE = getBlockType("deepslate_redstone_ore"); + /** + * BlockData: {@link Lightable} + */ + BlockType.Typed REDSTONE_TORCH = getBlockType("redstone_torch"); + /** + * BlockData: {@link RedstoneWallTorch} + */ + BlockType.Typed REDSTONE_WALL_TORCH = getBlockType("redstone_wall_torch"); + /** + * BlockData: {@link Switch} + */ + BlockType.Typed STONE_BUTTON = getBlockType("stone_button"); + /** + * BlockData: {@link Snow} + */ + BlockType.Typed SNOW = getBlockType("snow"); + BlockType.Typed ICE = getBlockType("ice"); + BlockType.Typed SNOW_BLOCK = getBlockType("snow_block"); + /** + * BlockData: {@link Ageable} + */ + BlockType.Typed CACTUS = getBlockType("cactus"); + BlockType.Typed CLAY = getBlockType("clay"); + /** + * BlockData: {@link Ageable} + */ + BlockType.Typed SUGAR_CANE = getBlockType("sugar_cane"); + /** + * BlockData: {@link Jukebox} + */ + BlockType.Typed JUKEBOX = getBlockType("jukebox"); + /** + * BlockData: {@link Fence} + */ + BlockType.Typed OAK_FENCE = getBlockType("oak_fence"); + BlockType.Typed NETHERRACK = getBlockType("netherrack"); + BlockType.Typed SOUL_SAND = getBlockType("soul_sand"); + BlockType.Typed SOUL_SOIL = getBlockType("soul_soil"); + /** + * BlockData: {@link Orientable} + */ + BlockType.Typed BASALT = getBlockType("basalt"); + /** + * BlockData: {@link Orientable} + */ + BlockType.Typed POLISHED_BASALT = getBlockType("polished_basalt"); + BlockType.Typed SOUL_TORCH = getBlockType("soul_torch"); + /** + * BlockData: {@link Directional} + */ + BlockType.Typed SOUL_WALL_TORCH = getBlockType("soul_wall_torch"); + BlockType.Typed GLOWSTONE = getBlockType("glowstone"); + /** + * BlockData: {@link Orientable} + */ + BlockType.Typed NETHER_PORTAL = getBlockType("nether_portal"); + /** + * BlockData: {@link Directional} + */ + BlockType.Typed CARVED_PUMPKIN = getBlockType("carved_pumpkin"); + /** + * BlockData: {@link Directional} + */ + BlockType.Typed JACK_O_LANTERN = getBlockType("jack_o_lantern"); + /** + * BlockData: {@link Cake} + */ + BlockType.Typed CAKE = getBlockType("cake"); + /** + * BlockData: {@link Repeater} + */ + BlockType.Typed REPEATER = getBlockType("repeater"); + BlockType.Typed WHITE_STAINED_GLASS = getBlockType("white_stained_glass"); + BlockType.Typed ORANGE_STAINED_GLASS = getBlockType("orange_stained_glass"); + BlockType.Typed MAGENTA_STAINED_GLASS = getBlockType("magenta_stained_glass"); + BlockType.Typed LIGHT_BLUE_STAINED_GLASS = getBlockType("light_blue_stained_glass"); + BlockType.Typed YELLOW_STAINED_GLASS = getBlockType("yellow_stained_glass"); + BlockType.Typed LIME_STAINED_GLASS = getBlockType("lime_stained_glass"); + BlockType.Typed PINK_STAINED_GLASS = getBlockType("pink_stained_glass"); + BlockType.Typed GRAY_STAINED_GLASS = getBlockType("gray_stained_glass"); + BlockType.Typed LIGHT_GRAY_STAINED_GLASS = getBlockType("light_gray_stained_glass"); + BlockType.Typed CYAN_STAINED_GLASS = getBlockType("cyan_stained_glass"); + BlockType.Typed PURPLE_STAINED_GLASS = getBlockType("purple_stained_glass"); + BlockType.Typed BLUE_STAINED_GLASS = getBlockType("blue_stained_glass"); + BlockType.Typed BROWN_STAINED_GLASS = getBlockType("brown_stained_glass"); + BlockType.Typed GREEN_STAINED_GLASS = getBlockType("green_stained_glass"); + BlockType.Typed RED_STAINED_GLASS = getBlockType("red_stained_glass"); + BlockType.Typed BLACK_STAINED_GLASS = getBlockType("black_stained_glass"); + /** + * BlockData: {@link TrapDoor} + */ + BlockType.Typed OAK_TRAPDOOR = getBlockType("oak_trapdoor"); + /** + * BlockData: {@link TrapDoor} + */ + BlockType.Typed SPRUCE_TRAPDOOR = getBlockType("spruce_trapdoor"); + /** + * BlockData: {@link TrapDoor} + */ + BlockType.Typed BIRCH_TRAPDOOR = getBlockType("birch_trapdoor"); + /** + * BlockData: {@link TrapDoor} + */ + BlockType.Typed JUNGLE_TRAPDOOR = getBlockType("jungle_trapdoor"); + /** + * BlockData: {@link TrapDoor} + */ + BlockType.Typed ACACIA_TRAPDOOR = getBlockType("acacia_trapdoor"); + /** + * BlockData: {@link TrapDoor} + */ + BlockType.Typed CHERRY_TRAPDOOR = getBlockType("cherry_trapdoor"); + /** + * BlockData: {@link TrapDoor} + */ + BlockType.Typed DARK_OAK_TRAPDOOR = getBlockType("dark_oak_trapdoor"); + /** + * BlockData: {@link TrapDoor} + */ + BlockType.Typed MANGROVE_TRAPDOOR = getBlockType("mangrove_trapdoor"); + /** + * BlockData: {@link TrapDoor} + */ + BlockType.Typed BAMBOO_TRAPDOOR = getBlockType("bamboo_trapdoor"); + BlockType.Typed STONE_BRICKS = getBlockType("stone_bricks"); + BlockType.Typed MOSSY_STONE_BRICKS = getBlockType("mossy_stone_bricks"); + BlockType.Typed CRACKED_STONE_BRICKS = getBlockType("cracked_stone_bricks"); + BlockType.Typed CHISELED_STONE_BRICKS = getBlockType("chiseled_stone_bricks"); + BlockType.Typed PACKED_MUD = getBlockType("packed_mud"); + BlockType.Typed MUD_BRICKS = getBlockType("mud_bricks"); + BlockType.Typed INFESTED_STONE = getBlockType("infested_stone"); + BlockType.Typed INFESTED_COBBLESTONE = getBlockType("infested_cobblestone"); + BlockType.Typed INFESTED_STONE_BRICKS = getBlockType("infested_stone_bricks"); + BlockType.Typed INFESTED_MOSSY_STONE_BRICKS = getBlockType("infested_mossy_stone_bricks"); + BlockType.Typed INFESTED_CRACKED_STONE_BRICKS = getBlockType("infested_cracked_stone_bricks"); + BlockType.Typed INFESTED_CHISELED_STONE_BRICKS = getBlockType("infested_chiseled_stone_bricks"); + /** + * BlockData: {@link MultipleFacing} + */ + BlockType.Typed BROWN_MUSHROOM_BLOCK = getBlockType("brown_mushroom_block"); + /** + * BlockData: {@link MultipleFacing} + */ + BlockType.Typed RED_MUSHROOM_BLOCK = getBlockType("red_mushroom_block"); + /** + * BlockData: {@link MultipleFacing} + */ + BlockType.Typed MUSHROOM_STEM = getBlockType("mushroom_stem"); + /** + * BlockData: {@link Fence} + */ + BlockType.Typed IRON_BARS = getBlockType("iron_bars"); + /** + * BlockData: {@link Chain} + */ + BlockType.Typed CHAIN = getBlockType("chain"); + /** + * BlockData: {@link Fence} + */ + BlockType.Typed GLASS_PANE = getBlockType("glass_pane"); + BlockType.Typed PUMPKIN = getBlockType("pumpkin"); + BlockType.Typed MELON = getBlockType("melon"); + /** + * BlockData: {@link Directional} + */ + BlockType.Typed ATTACHED_PUMPKIN_STEM = getBlockType("attached_pumpkin_stem"); + /** + * BlockData: {@link Directional} + */ + BlockType.Typed ATTACHED_MELON_STEM = getBlockType("attached_melon_stem"); + /** + * BlockData: {@link Ageable} + */ + BlockType.Typed PUMPKIN_STEM = getBlockType("pumpkin_stem"); + /** + * BlockData: {@link Ageable} + */ + BlockType.Typed MELON_STEM = getBlockType("melon_stem"); + /** + * BlockData: {@link MultipleFacing} + */ + BlockType.Typed VINE = getBlockType("vine"); + /** + * BlockData: {@link GlowLichen} + */ + BlockType.Typed GLOW_LICHEN = getBlockType("glow_lichen"); + /** + * BlockData: {@link Gate} + */ + BlockType.Typed OAK_FENCE_GATE = getBlockType("oak_fence_gate"); + /** + * BlockData: {@link Stairs} + */ + BlockType.Typed BRICK_STAIRS = getBlockType("brick_stairs"); + /** + * BlockData: {@link Stairs} + */ + BlockType.Typed STONE_BRICK_STAIRS = getBlockType("stone_brick_stairs"); + /** + * BlockData: {@link Stairs} + */ + BlockType.Typed MUD_BRICK_STAIRS = getBlockType("mud_brick_stairs"); + /** + * BlockData: {@link Snowable} + */ + BlockType.Typed MYCELIUM = getBlockType("mycelium"); + BlockType.Typed LILY_PAD = getBlockType("lily_pad"); + BlockType.Typed NETHER_BRICKS = getBlockType("nether_bricks"); + /** + * BlockData: {@link Fence} + */ + BlockType.Typed NETHER_BRICK_FENCE = getBlockType("nether_brick_fence"); + /** + * BlockData: {@link Stairs} + */ + BlockType.Typed NETHER_BRICK_STAIRS = getBlockType("nether_brick_stairs"); + /** + * BlockData: {@link Ageable} + */ + BlockType.Typed NETHER_WART = getBlockType("nether_wart"); + BlockType.Typed ENCHANTING_TABLE = getBlockType("enchanting_table"); + /** + * BlockData: {@link BrewingStand} + */ + BlockType.Typed BREWING_STAND = getBlockType("brewing_stand"); + BlockType.Typed CAULDRON = getBlockType("cauldron"); + /** + * BlockData: {@link Levelled} + */ + BlockType.Typed WATER_CAULDRON = getBlockType("water_cauldron"); + BlockType.Typed LAVA_CAULDRON = getBlockType("lava_cauldron"); + /** + * BlockData: {@link Levelled} + */ + BlockType.Typed POWDER_SNOW_CAULDRON = getBlockType("powder_snow_cauldron"); + BlockType.Typed END_PORTAL = getBlockType("end_portal"); + /** + * BlockData: {@link EndPortalFrame} + */ + BlockType.Typed END_PORTAL_FRAME = getBlockType("end_portal_frame"); + BlockType.Typed END_STONE = getBlockType("end_stone"); + BlockType.Typed DRAGON_EGG = getBlockType("dragon_egg"); + /** + * BlockData: {@link Lightable} + */ + BlockType.Typed REDSTONE_LAMP = getBlockType("redstone_lamp"); + /** + * BlockData: {@link Cocoa} + */ + BlockType.Typed COCOA = getBlockType("cocoa"); + /** + * BlockData: {@link Stairs} + */ + BlockType.Typed SANDSTONE_STAIRS = getBlockType("sandstone_stairs"); + BlockType.Typed EMERALD_ORE = getBlockType("emerald_ore"); + BlockType.Typed DEEPSLATE_EMERALD_ORE = getBlockType("deepslate_emerald_ore"); + /** + * BlockData: {@link EnderChest} + */ + BlockType.Typed ENDER_CHEST = getBlockType("ender_chest"); + /** + * BlockData: {@link TripwireHook} + */ + BlockType.Typed TRIPWIRE_HOOK = getBlockType("tripwire_hook"); + /** + * BlockData: {@link Tripwire} + */ + BlockType.Typed TRIPWIRE = getBlockType("tripwire"); + BlockType.Typed EMERALD_BLOCK = getBlockType("emerald_block"); + /** + * BlockData: {@link Stairs} + */ + BlockType.Typed SPRUCE_STAIRS = getBlockType("spruce_stairs"); + /** + * BlockData: {@link Stairs} + */ + BlockType.Typed BIRCH_STAIRS = getBlockType("birch_stairs"); + /** + * BlockData: {@link Stairs} + */ + BlockType.Typed JUNGLE_STAIRS = getBlockType("jungle_stairs"); + /** + * BlockData: {@link CommandBlock} + */ + BlockType.Typed COMMAND_BLOCK = getBlockType("command_block"); + BlockType.Typed BEACON = getBlockType("beacon"); + /** + * BlockData: {@link Wall} + */ + BlockType.Typed COBBLESTONE_WALL = getBlockType("cobblestone_wall"); + /** + * BlockData: {@link Wall} + */ + BlockType.Typed MOSSY_COBBLESTONE_WALL = getBlockType("mossy_cobblestone_wall"); + BlockType.Typed FLOWER_POT = getBlockType("flower_pot"); + BlockType.Typed POTTED_TORCHFLOWER = getBlockType("potted_torchflower"); + BlockType.Typed POTTED_OAK_SAPLING = getBlockType("potted_oak_sapling"); + BlockType.Typed POTTED_SPRUCE_SAPLING = getBlockType("potted_spruce_sapling"); + BlockType.Typed POTTED_BIRCH_SAPLING = getBlockType("potted_birch_sapling"); + BlockType.Typed POTTED_JUNGLE_SAPLING = getBlockType("potted_jungle_sapling"); + BlockType.Typed POTTED_ACACIA_SAPLING = getBlockType("potted_acacia_sapling"); + BlockType.Typed POTTED_CHERRY_SAPLING = getBlockType("potted_cherry_sapling"); + BlockType.Typed POTTED_DARK_OAK_SAPLING = getBlockType("potted_dark_oak_sapling"); + BlockType.Typed POTTED_MANGROVE_PROPAGULE = getBlockType("potted_mangrove_propagule"); + BlockType.Typed POTTED_FERN = getBlockType("potted_fern"); + BlockType.Typed POTTED_DANDELION = getBlockType("potted_dandelion"); + BlockType.Typed POTTED_POPPY = getBlockType("potted_poppy"); + BlockType.Typed POTTED_BLUE_ORCHID = getBlockType("potted_blue_orchid"); + BlockType.Typed POTTED_ALLIUM = getBlockType("potted_allium"); + BlockType.Typed POTTED_AZURE_BLUET = getBlockType("potted_azure_bluet"); + BlockType.Typed POTTED_RED_TULIP = getBlockType("potted_red_tulip"); + BlockType.Typed POTTED_ORANGE_TULIP = getBlockType("potted_orange_tulip"); + BlockType.Typed POTTED_WHITE_TULIP = getBlockType("potted_white_tulip"); + BlockType.Typed POTTED_PINK_TULIP = getBlockType("potted_pink_tulip"); + BlockType.Typed POTTED_OXEYE_DAISY = getBlockType("potted_oxeye_daisy"); + BlockType.Typed POTTED_CORNFLOWER = getBlockType("potted_cornflower"); + BlockType.Typed POTTED_LILY_OF_THE_VALLEY = getBlockType("potted_lily_of_the_valley"); + BlockType.Typed POTTED_WITHER_ROSE = getBlockType("potted_wither_rose"); + BlockType.Typed POTTED_RED_MUSHROOM = getBlockType("potted_red_mushroom"); + BlockType.Typed POTTED_BROWN_MUSHROOM = getBlockType("potted_brown_mushroom"); + BlockType.Typed POTTED_DEAD_BUSH = getBlockType("potted_dead_bush"); + BlockType.Typed POTTED_CACTUS = getBlockType("potted_cactus"); + /** + * BlockData: {@link Ageable} + */ + BlockType.Typed CARROTS = getBlockType("carrots"); + /** + * BlockData: {@link Ageable} + */ + BlockType.Typed POTATOES = getBlockType("potatoes"); + /** + * BlockData: {@link Switch} + */ + BlockType.Typed OAK_BUTTON = getBlockType("oak_button"); + /** + * BlockData: {@link Switch} + */ + BlockType.Typed SPRUCE_BUTTON = getBlockType("spruce_button"); + /** + * BlockData: {@link Switch} + */ + BlockType.Typed BIRCH_BUTTON = getBlockType("birch_button"); + /** + * BlockData: {@link Switch} + */ + BlockType.Typed JUNGLE_BUTTON = getBlockType("jungle_button"); + /** + * BlockData: {@link Switch} + */ + BlockType.Typed ACACIA_BUTTON = getBlockType("acacia_button"); + /** + * BlockData: {@link Switch} + */ + BlockType.Typed CHERRY_BUTTON = getBlockType("cherry_button"); + /** + * BlockData: {@link Switch} + */ + BlockType.Typed DARK_OAK_BUTTON = getBlockType("dark_oak_button"); + /** + * BlockData: {@link Switch} + */ + BlockType.Typed MANGROVE_BUTTON = getBlockType("mangrove_button"); + /** + * BlockData: {@link Switch} + */ + BlockType.Typed BAMBOO_BUTTON = getBlockType("bamboo_button"); + /** + * BlockData: {@link Rotatable} + */ + BlockType.Typed SKELETON_SKULL = getBlockType("skeleton_skull"); + /** + * BlockData: {@link Directional} + */ + BlockType.Typed SKELETON_WALL_SKULL = getBlockType("skeleton_wall_skull"); + /** + * BlockData: {@link Rotatable} + */ + BlockType.Typed WITHER_SKELETON_SKULL = getBlockType("wither_skeleton_skull"); + /** + * BlockData: {@link Directional} + */ + BlockType.Typed WITHER_SKELETON_WALL_SKULL = getBlockType("wither_skeleton_wall_skull"); + /** + * BlockData: {@link Rotatable} + */ + BlockType.Typed ZOMBIE_HEAD = getBlockType("zombie_head"); + /** + * BlockData: {@link Directional} + */ + BlockType.Typed ZOMBIE_WALL_HEAD = getBlockType("zombie_wall_head"); + /** + * BlockData: {@link Rotatable} + */ + BlockType.Typed PLAYER_HEAD = getBlockType("player_head"); + /** + * BlockData: {@link Directional} + */ + BlockType.Typed PLAYER_WALL_HEAD = getBlockType("player_wall_head"); + /** + * BlockData: {@link Rotatable} + */ + BlockType.Typed CREEPER_HEAD = getBlockType("creeper_head"); + /** + * BlockData: {@link Directional} + */ + BlockType.Typed CREEPER_WALL_HEAD = getBlockType("creeper_wall_head"); + /** + * BlockData: {@link Rotatable} + */ + BlockType.Typed DRAGON_HEAD = getBlockType("dragon_head"); + /** + * BlockData: {@link Directional} + */ + BlockType.Typed DRAGON_WALL_HEAD = getBlockType("dragon_wall_head"); + /** + * BlockData: {@link Rotatable} + */ + BlockType.Typed PIGLIN_HEAD = getBlockType("piglin_head"); + /** + * BlockData: {@link Directional} + */ + BlockType.Typed PIGLIN_WALL_HEAD = getBlockType("piglin_wall_head"); + /** + * BlockData: {@link Directional} + */ + BlockType.Typed ANVIL = getBlockType("anvil"); + /** + * BlockData: {@link Directional} + */ + BlockType.Typed CHIPPED_ANVIL = getBlockType("chipped_anvil"); + /** + * BlockData: {@link Directional} + */ + BlockType.Typed DAMAGED_ANVIL = getBlockType("damaged_anvil"); + /** + * BlockData: {@link Chest} + */ + BlockType.Typed TRAPPED_CHEST = getBlockType("trapped_chest"); + /** + * BlockData: {@link AnaloguePowerable} + */ + BlockType.Typed LIGHT_WEIGHTED_PRESSURE_PLATE = getBlockType("light_weighted_pressure_plate"); + /** + * BlockData: {@link AnaloguePowerable} + */ + BlockType.Typed HEAVY_WEIGHTED_PRESSURE_PLATE = getBlockType("heavy_weighted_pressure_plate"); + /** + * BlockData: {@link Comparator} + */ + BlockType.Typed COMPARATOR = getBlockType("comparator"); + /** + * BlockData: {@link DaylightDetector} + */ + BlockType.Typed DAYLIGHT_DETECTOR = getBlockType("daylight_detector"); + BlockType.Typed REDSTONE_BLOCK = getBlockType("redstone_block"); + BlockType.Typed NETHER_QUARTZ_ORE = getBlockType("nether_quartz_ore"); + /** + * BlockData: {@link Hopper} + */ + BlockType.Typed HOPPER = getBlockType("hopper"); + BlockType.Typed QUARTZ_BLOCK = getBlockType("quartz_block"); + BlockType.Typed CHISELED_QUARTZ_BLOCK = getBlockType("chiseled_quartz_block"); + /** + * BlockData: {@link Orientable} + */ + BlockType.Typed QUARTZ_PILLAR = getBlockType("quartz_pillar"); + /** + * BlockData: {@link Stairs} + */ + BlockType.Typed QUARTZ_STAIRS = getBlockType("quartz_stairs"); + /** + * BlockData: {@link RedstoneRail} + */ + BlockType.Typed ACTIVATOR_RAIL = getBlockType("activator_rail"); + /** + * BlockData: {@link Dispenser} + */ + BlockType.Typed DROPPER = getBlockType("dropper"); + BlockType.Typed WHITE_TERRACOTTA = getBlockType("white_terracotta"); + BlockType.Typed ORANGE_TERRACOTTA = getBlockType("orange_terracotta"); + BlockType.Typed MAGENTA_TERRACOTTA = getBlockType("magenta_terracotta"); + BlockType.Typed LIGHT_BLUE_TERRACOTTA = getBlockType("light_blue_terracotta"); + BlockType.Typed YELLOW_TERRACOTTA = getBlockType("yellow_terracotta"); + BlockType.Typed LIME_TERRACOTTA = getBlockType("lime_terracotta"); + BlockType.Typed PINK_TERRACOTTA = getBlockType("pink_terracotta"); + BlockType.Typed GRAY_TERRACOTTA = getBlockType("gray_terracotta"); + BlockType.Typed LIGHT_GRAY_TERRACOTTA = getBlockType("light_gray_terracotta"); + BlockType.Typed CYAN_TERRACOTTA = getBlockType("cyan_terracotta"); + BlockType.Typed PURPLE_TERRACOTTA = getBlockType("purple_terracotta"); + BlockType.Typed BLUE_TERRACOTTA = getBlockType("blue_terracotta"); + BlockType.Typed BROWN_TERRACOTTA = getBlockType("brown_terracotta"); + BlockType.Typed GREEN_TERRACOTTA = getBlockType("green_terracotta"); + BlockType.Typed RED_TERRACOTTA = getBlockType("red_terracotta"); + BlockType.Typed BLACK_TERRACOTTA = getBlockType("black_terracotta"); + /** + * BlockData: {@link GlassPane} + */ + BlockType.Typed WHITE_STAINED_GLASS_PANE = getBlockType("white_stained_glass_pane"); + /** + * BlockData: {@link GlassPane} + */ + BlockType.Typed ORANGE_STAINED_GLASS_PANE = getBlockType("orange_stained_glass_pane"); + /** + * BlockData: {@link GlassPane} + */ + BlockType.Typed MAGENTA_STAINED_GLASS_PANE = getBlockType("magenta_stained_glass_pane"); + /** + * BlockData: {@link GlassPane} + */ + BlockType.Typed LIGHT_BLUE_STAINED_GLASS_PANE = getBlockType("light_blue_stained_glass_pane"); + /** + * BlockData: {@link GlassPane} + */ + BlockType.Typed YELLOW_STAINED_GLASS_PANE = getBlockType("yellow_stained_glass_pane"); + /** + * BlockData: {@link GlassPane} + */ + BlockType.Typed LIME_STAINED_GLASS_PANE = getBlockType("lime_stained_glass_pane"); + /** + * BlockData: {@link GlassPane} + */ + BlockType.Typed PINK_STAINED_GLASS_PANE = getBlockType("pink_stained_glass_pane"); + /** + * BlockData: {@link GlassPane} + */ + BlockType.Typed GRAY_STAINED_GLASS_PANE = getBlockType("gray_stained_glass_pane"); + /** + * BlockData: {@link GlassPane} + */ + BlockType.Typed LIGHT_GRAY_STAINED_GLASS_PANE = getBlockType("light_gray_stained_glass_pane"); + /** + * BlockData: {@link GlassPane} + */ + BlockType.Typed CYAN_STAINED_GLASS_PANE = getBlockType("cyan_stained_glass_pane"); + /** + * BlockData: {@link GlassPane} + */ + BlockType.Typed PURPLE_STAINED_GLASS_PANE = getBlockType("purple_stained_glass_pane"); + /** + * BlockData: {@link GlassPane} + */ + BlockType.Typed BLUE_STAINED_GLASS_PANE = getBlockType("blue_stained_glass_pane"); + /** + * BlockData: {@link GlassPane} + */ + BlockType.Typed BROWN_STAINED_GLASS_PANE = getBlockType("brown_stained_glass_pane"); + /** + * BlockData: {@link GlassPane} + */ + BlockType.Typed GREEN_STAINED_GLASS_PANE = getBlockType("green_stained_glass_pane"); + /** + * BlockData: {@link GlassPane} + */ + BlockType.Typed RED_STAINED_GLASS_PANE = getBlockType("red_stained_glass_pane"); + /** + * BlockData: {@link GlassPane} + */ + BlockType.Typed BLACK_STAINED_GLASS_PANE = getBlockType("black_stained_glass_pane"); + /** + * BlockData: {@link Stairs} + */ + BlockType.Typed ACACIA_STAIRS = getBlockType("acacia_stairs"); + /** + * BlockData: {@link Stairs} + */ + BlockType.Typed CHERRY_STAIRS = getBlockType("cherry_stairs"); + /** + * BlockData: {@link Stairs} + */ + BlockType.Typed DARK_OAK_STAIRS = getBlockType("dark_oak_stairs"); + /** + * BlockData: {@link Stairs} + */ + BlockType.Typed MANGROVE_STAIRS = getBlockType("mangrove_stairs"); + /** + * BlockData: {@link Stairs} + */ + BlockType.Typed BAMBOO_STAIRS = getBlockType("bamboo_stairs"); + /** + * BlockData: {@link Stairs} + */ + BlockType.Typed BAMBOO_MOSAIC_STAIRS = getBlockType("bamboo_mosaic_stairs"); + BlockType.Typed SLIME_BLOCK = getBlockType("slime_block"); + /** + * BlockData: {@link Waterlogged} + */ + BlockType.Typed BARRIER = getBlockType("barrier"); + /** + * BlockData: {@link Light} + */ + BlockType.Typed LIGHT = getBlockType("light"); + /** + * BlockData: {@link TrapDoor} + */ + BlockType.Typed IRON_TRAPDOOR = getBlockType("iron_trapdoor"); + BlockType.Typed PRISMARINE = getBlockType("prismarine"); + BlockType.Typed PRISMARINE_BRICKS = getBlockType("prismarine_bricks"); + BlockType.Typed DARK_PRISMARINE = getBlockType("dark_prismarine"); + /** + * BlockData: {@link Stairs} + */ + BlockType.Typed PRISMARINE_STAIRS = getBlockType("prismarine_stairs"); + /** + * BlockData: {@link Stairs} + */ + BlockType.Typed PRISMARINE_BRICK_STAIRS = getBlockType("prismarine_brick_stairs"); + /** + * BlockData: {@link Stairs} + */ + BlockType.Typed DARK_PRISMARINE_STAIRS = getBlockType("dark_prismarine_stairs"); + /** + * BlockData: {@link Slab} + */ + BlockType.Typed PRISMARINE_SLAB = getBlockType("prismarine_slab"); + /** + * BlockData: {@link Slab} + */ + BlockType.Typed PRISMARINE_BRICK_SLAB = getBlockType("prismarine_brick_slab"); + /** + * BlockData: {@link Slab} + */ + BlockType.Typed DARK_PRISMARINE_SLAB = getBlockType("dark_prismarine_slab"); + BlockType.Typed SEA_LANTERN = getBlockType("sea_lantern"); + /** + * BlockData: {@link Orientable} + */ + BlockType.Typed HAY_BLOCK = getBlockType("hay_block"); + BlockType.Typed WHITE_CARPET = getBlockType("white_carpet"); + BlockType.Typed ORANGE_CARPET = getBlockType("orange_carpet"); + BlockType.Typed MAGENTA_CARPET = getBlockType("magenta_carpet"); + BlockType.Typed LIGHT_BLUE_CARPET = getBlockType("light_blue_carpet"); + BlockType.Typed YELLOW_CARPET = getBlockType("yellow_carpet"); + BlockType.Typed LIME_CARPET = getBlockType("lime_carpet"); + BlockType.Typed PINK_CARPET = getBlockType("pink_carpet"); + BlockType.Typed GRAY_CARPET = getBlockType("gray_carpet"); + BlockType.Typed LIGHT_GRAY_CARPET = getBlockType("light_gray_carpet"); + BlockType.Typed CYAN_CARPET = getBlockType("cyan_carpet"); + BlockType.Typed PURPLE_CARPET = getBlockType("purple_carpet"); + BlockType.Typed BLUE_CARPET = getBlockType("blue_carpet"); + BlockType.Typed BROWN_CARPET = getBlockType("brown_carpet"); + BlockType.Typed GREEN_CARPET = getBlockType("green_carpet"); + BlockType.Typed RED_CARPET = getBlockType("red_carpet"); + BlockType.Typed BLACK_CARPET = getBlockType("black_carpet"); + BlockType.Typed TERRACOTTA = getBlockType("terracotta"); + BlockType.Typed COAL_BLOCK = getBlockType("coal_block"); + BlockType.Typed PACKED_ICE = getBlockType("packed_ice"); + /** + * BlockData: {@link Bisected} + */ + BlockType.Typed SUNFLOWER = getBlockType("sunflower"); + /** + * BlockData: {@link Bisected} + */ + BlockType.Typed LILAC = getBlockType("lilac"); + /** + * BlockData: {@link Bisected} + */ + BlockType.Typed ROSE_BUSH = getBlockType("rose_bush"); + /** + * BlockData: {@link Bisected} + */ + BlockType.Typed PEONY = getBlockType("peony"); + /** + * BlockData: {@link Bisected} + */ + BlockType.Typed TALL_GRASS = getBlockType("tall_grass"); + /** + * BlockData: {@link Bisected} + */ + BlockType.Typed LARGE_FERN = getBlockType("large_fern"); + /** + * BlockData: {@link Rotatable} + */ + BlockType.Typed WHITE_BANNER = getBlockType("white_banner"); + /** + * BlockData: {@link Rotatable} + */ + BlockType.Typed ORANGE_BANNER = getBlockType("orange_banner"); + /** + * BlockData: {@link Rotatable} + */ + BlockType.Typed MAGENTA_BANNER = getBlockType("magenta_banner"); + /** + * BlockData: {@link Rotatable} + */ + BlockType.Typed LIGHT_BLUE_BANNER = getBlockType("light_blue_banner"); + /** + * BlockData: {@link Rotatable} + */ + BlockType.Typed YELLOW_BANNER = getBlockType("yellow_banner"); + /** + * BlockData: {@link Rotatable} + */ + BlockType.Typed LIME_BANNER = getBlockType("lime_banner"); + /** + * BlockData: {@link Rotatable} + */ + BlockType.Typed PINK_BANNER = getBlockType("pink_banner"); + /** + * BlockData: {@link Rotatable} + */ + BlockType.Typed GRAY_BANNER = getBlockType("gray_banner"); + /** + * BlockData: {@link Rotatable} + */ + BlockType.Typed LIGHT_GRAY_BANNER = getBlockType("light_gray_banner"); + /** + * BlockData: {@link Rotatable} + */ + BlockType.Typed CYAN_BANNER = getBlockType("cyan_banner"); + /** + * BlockData: {@link Rotatable} + */ + BlockType.Typed PURPLE_BANNER = getBlockType("purple_banner"); + /** + * BlockData: {@link Rotatable} + */ + BlockType.Typed BLUE_BANNER = getBlockType("blue_banner"); + /** + * BlockData: {@link Rotatable} + */ + BlockType.Typed BROWN_BANNER = getBlockType("brown_banner"); + /** + * BlockData: {@link Rotatable} + */ + BlockType.Typed GREEN_BANNER = getBlockType("green_banner"); + /** + * BlockData: {@link Rotatable} + */ + BlockType.Typed RED_BANNER = getBlockType("red_banner"); + /** + * BlockData: {@link Rotatable} + */ + BlockType.Typed BLACK_BANNER = getBlockType("black_banner"); + /** + * BlockData: {@link Directional} + */ + BlockType.Typed WHITE_WALL_BANNER = getBlockType("white_wall_banner"); + /** + * BlockData: {@link Directional} + */ + BlockType.Typed ORANGE_WALL_BANNER = getBlockType("orange_wall_banner"); + /** + * BlockData: {@link Directional} + */ + BlockType.Typed MAGENTA_WALL_BANNER = getBlockType("magenta_wall_banner"); + /** + * BlockData: {@link Directional} + */ + BlockType.Typed LIGHT_BLUE_WALL_BANNER = getBlockType("light_blue_wall_banner"); + /** + * BlockData: {@link Directional} + */ + BlockType.Typed YELLOW_WALL_BANNER = getBlockType("yellow_wall_banner"); + /** + * BlockData: {@link Directional} + */ + BlockType.Typed LIME_WALL_BANNER = getBlockType("lime_wall_banner"); + /** + * BlockData: {@link Directional} + */ + BlockType.Typed PINK_WALL_BANNER = getBlockType("pink_wall_banner"); + /** + * BlockData: {@link Directional} + */ + BlockType.Typed GRAY_WALL_BANNER = getBlockType("gray_wall_banner"); + /** + * BlockData: {@link Directional} + */ + BlockType.Typed LIGHT_GRAY_WALL_BANNER = getBlockType("light_gray_wall_banner"); + /** + * BlockData: {@link Directional} + */ + BlockType.Typed CYAN_WALL_BANNER = getBlockType("cyan_wall_banner"); + /** + * BlockData: {@link Directional} + */ + BlockType.Typed PURPLE_WALL_BANNER = getBlockType("purple_wall_banner"); + /** + * BlockData: {@link Directional} + */ + BlockType.Typed BLUE_WALL_BANNER = getBlockType("blue_wall_banner"); + /** + * BlockData: {@link Directional} + */ + BlockType.Typed BROWN_WALL_BANNER = getBlockType("brown_wall_banner"); + /** + * BlockData: {@link Directional} + */ + BlockType.Typed GREEN_WALL_BANNER = getBlockType("green_wall_banner"); + /** + * BlockData: {@link Directional} + */ + BlockType.Typed RED_WALL_BANNER = getBlockType("red_wall_banner"); + /** + * BlockData: {@link Directional} + */ + BlockType.Typed BLACK_WALL_BANNER = getBlockType("black_wall_banner"); + BlockType.Typed RED_SANDSTONE = getBlockType("red_sandstone"); + BlockType.Typed CHISELED_RED_SANDSTONE = getBlockType("chiseled_red_sandstone"); + BlockType.Typed CUT_RED_SANDSTONE = getBlockType("cut_red_sandstone"); + /** + * BlockData: {@link Stairs} + */ + BlockType.Typed RED_SANDSTONE_STAIRS = getBlockType("red_sandstone_stairs"); + /** + * BlockData: {@link Slab} + */ + BlockType.Typed OAK_SLAB = getBlockType("oak_slab"); + /** + * BlockData: {@link Slab} + */ + BlockType.Typed SPRUCE_SLAB = getBlockType("spruce_slab"); + /** + * BlockData: {@link Slab} + */ + BlockType.Typed BIRCH_SLAB = getBlockType("birch_slab"); + /** + * BlockData: {@link Slab} + */ + BlockType.Typed JUNGLE_SLAB = getBlockType("jungle_slab"); + /** + * BlockData: {@link Slab} + */ + BlockType.Typed ACACIA_SLAB = getBlockType("acacia_slab"); + /** + * BlockData: {@link Slab} + */ + BlockType.Typed CHERRY_SLAB = getBlockType("cherry_slab"); + /** + * BlockData: {@link Slab} + */ + BlockType.Typed DARK_OAK_SLAB = getBlockType("dark_oak_slab"); + /** + * BlockData: {@link Slab} + */ + BlockType.Typed MANGROVE_SLAB = getBlockType("mangrove_slab"); + /** + * BlockData: {@link Slab} + */ + BlockType.Typed BAMBOO_SLAB = getBlockType("bamboo_slab"); + /** + * BlockData: {@link Slab} + */ + BlockType.Typed BAMBOO_MOSAIC_SLAB = getBlockType("bamboo_mosaic_slab"); + /** + * BlockData: {@link Slab} + */ + BlockType.Typed STONE_SLAB = getBlockType("stone_slab"); + /** + * BlockData: {@link Slab} + */ + BlockType.Typed SMOOTH_STONE_SLAB = getBlockType("smooth_stone_slab"); + /** + * BlockData: {@link Slab} + */ + BlockType.Typed SANDSTONE_SLAB = getBlockType("sandstone_slab"); + /** + * BlockData: {@link Slab} + */ + BlockType.Typed CUT_SANDSTONE_SLAB = getBlockType("cut_sandstone_slab"); + /** + * BlockData: {@link Slab} + */ + BlockType.Typed PETRIFIED_OAK_SLAB = getBlockType("petrified_oak_slab"); + /** + * BlockData: {@link Slab} + */ + BlockType.Typed COBBLESTONE_SLAB = getBlockType("cobblestone_slab"); + /** + * BlockData: {@link Slab} + */ + BlockType.Typed BRICK_SLAB = getBlockType("brick_slab"); + /** + * BlockData: {@link Slab} + */ + BlockType.Typed STONE_BRICK_SLAB = getBlockType("stone_brick_slab"); + /** + * BlockData: {@link Slab} + */ + BlockType.Typed MUD_BRICK_SLAB = getBlockType("mud_brick_slab"); + /** + * BlockData: {@link Slab} + */ + BlockType.Typed NETHER_BRICK_SLAB = getBlockType("nether_brick_slab"); + /** + * BlockData: {@link Slab} + */ + BlockType.Typed QUARTZ_SLAB = getBlockType("quartz_slab"); + /** + * BlockData: {@link Slab} + */ + BlockType.Typed RED_SANDSTONE_SLAB = getBlockType("red_sandstone_slab"); + /** + * BlockData: {@link Slab} + */ + BlockType.Typed CUT_RED_SANDSTONE_SLAB = getBlockType("cut_red_sandstone_slab"); + /** + * BlockData: {@link Slab} + */ + BlockType.Typed PURPUR_SLAB = getBlockType("purpur_slab"); + BlockType.Typed SMOOTH_STONE = getBlockType("smooth_stone"); + BlockType.Typed SMOOTH_SANDSTONE = getBlockType("smooth_sandstone"); + BlockType.Typed SMOOTH_QUARTZ = getBlockType("smooth_quartz"); + BlockType.Typed SMOOTH_RED_SANDSTONE = getBlockType("smooth_red_sandstone"); + /** + * BlockData: {@link Gate} + */ + BlockType.Typed SPRUCE_FENCE_GATE = getBlockType("spruce_fence_gate"); + /** + * BlockData: {@link Gate} + */ + BlockType.Typed BIRCH_FENCE_GATE = getBlockType("birch_fence_gate"); + /** + * BlockData: {@link Gate} + */ + BlockType.Typed JUNGLE_FENCE_GATE = getBlockType("jungle_fence_gate"); + /** + * BlockData: {@link Gate} + */ + BlockType.Typed ACACIA_FENCE_GATE = getBlockType("acacia_fence_gate"); + /** + * BlockData: {@link Gate} + */ + BlockType.Typed CHERRY_FENCE_GATE = getBlockType("cherry_fence_gate"); + /** + * BlockData: {@link Gate} + */ + BlockType.Typed DARK_OAK_FENCE_GATE = getBlockType("dark_oak_fence_gate"); + /** + * BlockData: {@link Gate} + */ + BlockType.Typed MANGROVE_FENCE_GATE = getBlockType("mangrove_fence_gate"); + /** + * BlockData: {@link Gate} + */ + BlockType.Typed BAMBOO_FENCE_GATE = getBlockType("bamboo_fence_gate"); + /** + * BlockData: {@link Fence} + */ + BlockType.Typed SPRUCE_FENCE = getBlockType("spruce_fence"); + /** + * BlockData: {@link Fence} + */ + BlockType.Typed BIRCH_FENCE = getBlockType("birch_fence"); + /** + * BlockData: {@link Fence} + */ + BlockType.Typed JUNGLE_FENCE = getBlockType("jungle_fence"); + /** + * BlockData: {@link Fence} + */ + BlockType.Typed ACACIA_FENCE = getBlockType("acacia_fence"); + /** + * BlockData: {@link Fence} + */ + BlockType.Typed CHERRY_FENCE = getBlockType("cherry_fence"); + /** + * BlockData: {@link Fence} + */ + BlockType.Typed DARK_OAK_FENCE = getBlockType("dark_oak_fence"); + /** + * BlockData: {@link Fence} + */ + BlockType.Typed MANGROVE_FENCE = getBlockType("mangrove_fence"); + /** + * BlockData: {@link Fence} + */ + BlockType.Typed BAMBOO_FENCE = getBlockType("bamboo_fence"); + /** + * BlockData: {@link Door} + */ + BlockType.Typed SPRUCE_DOOR = getBlockType("spruce_door"); + /** + * BlockData: {@link Door} + */ + BlockType.Typed BIRCH_DOOR = getBlockType("birch_door"); + /** + * BlockData: {@link Door} + */ + BlockType.Typed JUNGLE_DOOR = getBlockType("jungle_door"); + /** + * BlockData: {@link Door} + */ + BlockType.Typed ACACIA_DOOR = getBlockType("acacia_door"); + /** + * BlockData: {@link Door} + */ + BlockType.Typed CHERRY_DOOR = getBlockType("cherry_door"); + /** + * BlockData: {@link Door} + */ + BlockType.Typed DARK_OAK_DOOR = getBlockType("dark_oak_door"); + /** + * BlockData: {@link Door} + */ + BlockType.Typed MANGROVE_DOOR = getBlockType("mangrove_door"); + /** + * BlockData: {@link Door} + */ + BlockType.Typed BAMBOO_DOOR = getBlockType("bamboo_door"); + /** + * BlockData: {@link Directional} + */ + BlockType.Typed END_ROD = getBlockType("end_rod"); + /** + * BlockData: {@link MultipleFacing} + */ + BlockType.Typed CHORUS_PLANT = getBlockType("chorus_plant"); + /** + * BlockData: {@link Ageable} + */ + BlockType.Typed CHORUS_FLOWER = getBlockType("chorus_flower"); + BlockType.Typed PURPUR_BLOCK = getBlockType("purpur_block"); + /** + * BlockData: {@link Orientable} + */ + BlockType.Typed PURPUR_PILLAR = getBlockType("purpur_pillar"); + /** + * BlockData: {@link Stairs} + */ + BlockType.Typed PURPUR_STAIRS = getBlockType("purpur_stairs"); + BlockType.Typed END_STONE_BRICKS = getBlockType("end_stone_bricks"); + /** + * BlockData: {@link Ageable} + */ + BlockType.Typed TORCHFLOWER_CROP = getBlockType("torchflower_crop"); + /** + * BlockData: {@link PitcherCrop} + */ + BlockType.Typed PITCHER_CROP = getBlockType("pitcher_crop"); + /** + * BlockData: {@link Bisected} + */ + BlockType.Typed PITCHER_PLANT = getBlockType("pitcher_plant"); + /** + * BlockData: {@link Ageable} + */ + BlockType.Typed BEETROOTS = getBlockType("beetroots"); + BlockType.Typed DIRT_PATH = getBlockType("dirt_path"); + BlockType.Typed END_GATEWAY = getBlockType("end_gateway"); + /** + * BlockData: {@link CommandBlock} + */ + BlockType.Typed REPEATING_COMMAND_BLOCK = getBlockType("repeating_command_block"); + /** + * BlockData: {@link CommandBlock} + */ + BlockType.Typed CHAIN_COMMAND_BLOCK = getBlockType("chain_command_block"); + /** + * BlockData: {@link Ageable} + */ + BlockType.Typed FROSTED_ICE = getBlockType("frosted_ice"); + BlockType.Typed MAGMA_BLOCK = getBlockType("magma_block"); + BlockType.Typed NETHER_WART_BLOCK = getBlockType("nether_wart_block"); + BlockType.Typed RED_NETHER_BRICKS = getBlockType("red_nether_bricks"); + /** + * BlockData: {@link Orientable} + */ + BlockType.Typed BONE_BLOCK = getBlockType("bone_block"); + BlockType.Typed STRUCTURE_VOID = getBlockType("structure_void"); + /** + * BlockData: {@link Observer} + */ + BlockType.Typed OBSERVER = getBlockType("observer"); + /** + * BlockData: {@link Directional} + */ + BlockType.Typed SHULKER_BOX = getBlockType("shulker_box"); + /** + * BlockData: {@link Directional} + */ + BlockType.Typed WHITE_SHULKER_BOX = getBlockType("white_shulker_box"); + /** + * BlockData: {@link Directional} + */ + BlockType.Typed ORANGE_SHULKER_BOX = getBlockType("orange_shulker_box"); + /** + * BlockData: {@link Directional} + */ + BlockType.Typed MAGENTA_SHULKER_BOX = getBlockType("magenta_shulker_box"); + /** + * BlockData: {@link Directional} + */ + BlockType.Typed LIGHT_BLUE_SHULKER_BOX = getBlockType("light_blue_shulker_box"); + /** + * BlockData: {@link Directional} + */ + BlockType.Typed YELLOW_SHULKER_BOX = getBlockType("yellow_shulker_box"); + /** + * BlockData: {@link Directional} + */ + BlockType.Typed LIME_SHULKER_BOX = getBlockType("lime_shulker_box"); + /** + * BlockData: {@link Directional} + */ + BlockType.Typed PINK_SHULKER_BOX = getBlockType("pink_shulker_box"); + /** + * BlockData: {@link Directional} + */ + BlockType.Typed GRAY_SHULKER_BOX = getBlockType("gray_shulker_box"); + /** + * BlockData: {@link Directional} + */ + BlockType.Typed LIGHT_GRAY_SHULKER_BOX = getBlockType("light_gray_shulker_box"); + /** + * BlockData: {@link Directional} + */ + BlockType.Typed CYAN_SHULKER_BOX = getBlockType("cyan_shulker_box"); + /** + * BlockData: {@link Directional} + */ + BlockType.Typed PURPLE_SHULKER_BOX = getBlockType("purple_shulker_box"); + /** + * BlockData: {@link Directional} + */ + BlockType.Typed BLUE_SHULKER_BOX = getBlockType("blue_shulker_box"); + /** + * BlockData: {@link Directional} + */ + BlockType.Typed BROWN_SHULKER_BOX = getBlockType("brown_shulker_box"); + /** + * BlockData: {@link Directional} + */ + BlockType.Typed GREEN_SHULKER_BOX = getBlockType("green_shulker_box"); + /** + * BlockData: {@link Directional} + */ + BlockType.Typed RED_SHULKER_BOX = getBlockType("red_shulker_box"); + /** + * BlockData: {@link Directional} + */ + BlockType.Typed BLACK_SHULKER_BOX = getBlockType("black_shulker_box"); + /** + * BlockData: {@link Directional} + */ + BlockType.Typed WHITE_GLAZED_TERRACOTTA = getBlockType("white_glazed_terracotta"); + /** + * BlockData: {@link Directional} + */ + BlockType.Typed ORANGE_GLAZED_TERRACOTTA = getBlockType("orange_glazed_terracotta"); + /** + * BlockData: {@link Directional} + */ + BlockType.Typed MAGENTA_GLAZED_TERRACOTTA = getBlockType("magenta_glazed_terracotta"); + /** + * BlockData: {@link Directional} + */ + BlockType.Typed LIGHT_BLUE_GLAZED_TERRACOTTA = getBlockType("light_blue_glazed_terracotta"); + /** + * BlockData: {@link Directional} + */ + BlockType.Typed YELLOW_GLAZED_TERRACOTTA = getBlockType("yellow_glazed_terracotta"); + /** + * BlockData: {@link Directional} + */ + BlockType.Typed LIME_GLAZED_TERRACOTTA = getBlockType("lime_glazed_terracotta"); + /** + * BlockData: {@link Directional} + */ + BlockType.Typed PINK_GLAZED_TERRACOTTA = getBlockType("pink_glazed_terracotta"); + /** + * BlockData: {@link Directional} + */ + BlockType.Typed GRAY_GLAZED_TERRACOTTA = getBlockType("gray_glazed_terracotta"); + /** + * BlockData: {@link Directional} + */ + BlockType.Typed LIGHT_GRAY_GLAZED_TERRACOTTA = getBlockType("light_gray_glazed_terracotta"); + /** + * BlockData: {@link Directional} + */ + BlockType.Typed CYAN_GLAZED_TERRACOTTA = getBlockType("cyan_glazed_terracotta"); + /** + * BlockData: {@link Directional} + */ + BlockType.Typed PURPLE_GLAZED_TERRACOTTA = getBlockType("purple_glazed_terracotta"); + /** + * BlockData: {@link Directional} + */ + BlockType.Typed BLUE_GLAZED_TERRACOTTA = getBlockType("blue_glazed_terracotta"); + /** + * BlockData: {@link Directional} + */ + BlockType.Typed BROWN_GLAZED_TERRACOTTA = getBlockType("brown_glazed_terracotta"); + /** + * BlockData: {@link Directional} + */ + BlockType.Typed GREEN_GLAZED_TERRACOTTA = getBlockType("green_glazed_terracotta"); + /** + * BlockData: {@link Directional} + */ + BlockType.Typed RED_GLAZED_TERRACOTTA = getBlockType("red_glazed_terracotta"); + /** + * BlockData: {@link Directional} + */ + BlockType.Typed BLACK_GLAZED_TERRACOTTA = getBlockType("black_glazed_terracotta"); + BlockType.Typed WHITE_CONCRETE = getBlockType("white_concrete"); + BlockType.Typed ORANGE_CONCRETE = getBlockType("orange_concrete"); + BlockType.Typed MAGENTA_CONCRETE = getBlockType("magenta_concrete"); + BlockType.Typed LIGHT_BLUE_CONCRETE = getBlockType("light_blue_concrete"); + BlockType.Typed YELLOW_CONCRETE = getBlockType("yellow_concrete"); + BlockType.Typed LIME_CONCRETE = getBlockType("lime_concrete"); + BlockType.Typed PINK_CONCRETE = getBlockType("pink_concrete"); + BlockType.Typed GRAY_CONCRETE = getBlockType("gray_concrete"); + BlockType.Typed LIGHT_GRAY_CONCRETE = getBlockType("light_gray_concrete"); + BlockType.Typed CYAN_CONCRETE = getBlockType("cyan_concrete"); + BlockType.Typed PURPLE_CONCRETE = getBlockType("purple_concrete"); + BlockType.Typed BLUE_CONCRETE = getBlockType("blue_concrete"); + BlockType.Typed BROWN_CONCRETE = getBlockType("brown_concrete"); + BlockType.Typed GREEN_CONCRETE = getBlockType("green_concrete"); + BlockType.Typed RED_CONCRETE = getBlockType("red_concrete"); + BlockType.Typed BLACK_CONCRETE = getBlockType("black_concrete"); + BlockType.Typed WHITE_CONCRETE_POWDER = getBlockType("white_concrete_powder"); + BlockType.Typed ORANGE_CONCRETE_POWDER = getBlockType("orange_concrete_powder"); + BlockType.Typed MAGENTA_CONCRETE_POWDER = getBlockType("magenta_concrete_powder"); + BlockType.Typed LIGHT_BLUE_CONCRETE_POWDER = getBlockType("light_blue_concrete_powder"); + BlockType.Typed YELLOW_CONCRETE_POWDER = getBlockType("yellow_concrete_powder"); + BlockType.Typed LIME_CONCRETE_POWDER = getBlockType("lime_concrete_powder"); + BlockType.Typed PINK_CONCRETE_POWDER = getBlockType("pink_concrete_powder"); + BlockType.Typed GRAY_CONCRETE_POWDER = getBlockType("gray_concrete_powder"); + BlockType.Typed LIGHT_GRAY_CONCRETE_POWDER = getBlockType("light_gray_concrete_powder"); + BlockType.Typed CYAN_CONCRETE_POWDER = getBlockType("cyan_concrete_powder"); + BlockType.Typed PURPLE_CONCRETE_POWDER = getBlockType("purple_concrete_powder"); + BlockType.Typed BLUE_CONCRETE_POWDER = getBlockType("blue_concrete_powder"); + BlockType.Typed BROWN_CONCRETE_POWDER = getBlockType("brown_concrete_powder"); + BlockType.Typed GREEN_CONCRETE_POWDER = getBlockType("green_concrete_powder"); + BlockType.Typed RED_CONCRETE_POWDER = getBlockType("red_concrete_powder"); + BlockType.Typed BLACK_CONCRETE_POWDER = getBlockType("black_concrete_powder"); + /** + * BlockData: {@link Ageable} + */ + BlockType.Typed KELP = getBlockType("kelp"); + BlockType.Typed KELP_PLANT = getBlockType("kelp_plant"); + BlockType.Typed DRIED_KELP_BLOCK = getBlockType("dried_kelp_block"); + /** + * BlockData: {@link TurtleEgg} + */ + BlockType.Typed TURTLE_EGG = getBlockType("turtle_egg"); + /** + * BlockData: {@link Hatchable} + */ + BlockType.Typed SNIFFER_EGG = getBlockType("sniffer_egg"); + BlockType.Typed DEAD_TUBE_CORAL_BLOCK = getBlockType("dead_tube_coral_block"); + BlockType.Typed DEAD_BRAIN_CORAL_BLOCK = getBlockType("dead_brain_coral_block"); + BlockType.Typed DEAD_BUBBLE_CORAL_BLOCK = getBlockType("dead_bubble_coral_block"); + BlockType.Typed DEAD_FIRE_CORAL_BLOCK = getBlockType("dead_fire_coral_block"); + BlockType.Typed DEAD_HORN_CORAL_BLOCK = getBlockType("dead_horn_coral_block"); + BlockType.Typed TUBE_CORAL_BLOCK = getBlockType("tube_coral_block"); + BlockType.Typed BRAIN_CORAL_BLOCK = getBlockType("brain_coral_block"); + BlockType.Typed BUBBLE_CORAL_BLOCK = getBlockType("bubble_coral_block"); + BlockType.Typed FIRE_CORAL_BLOCK = getBlockType("fire_coral_block"); + BlockType.Typed HORN_CORAL_BLOCK = getBlockType("horn_coral_block"); + /** + * BlockData: {@link Waterlogged} + */ + BlockType.Typed DEAD_TUBE_CORAL = getBlockType("dead_tube_coral"); + /** + * BlockData: {@link Waterlogged} + */ + BlockType.Typed DEAD_BRAIN_CORAL = getBlockType("dead_brain_coral"); + /** + * BlockData: {@link Waterlogged} + */ + BlockType.Typed DEAD_BUBBLE_CORAL = getBlockType("dead_bubble_coral"); + /** + * BlockData: {@link Waterlogged} + */ + BlockType.Typed DEAD_FIRE_CORAL = getBlockType("dead_fire_coral"); + /** + * BlockData: {@link Waterlogged} + */ + BlockType.Typed DEAD_HORN_CORAL = getBlockType("dead_horn_coral"); + /** + * BlockData: {@link Waterlogged} + */ + BlockType.Typed TUBE_CORAL = getBlockType("tube_coral"); + /** + * BlockData: {@link Waterlogged} + */ + BlockType.Typed BRAIN_CORAL = getBlockType("brain_coral"); + /** + * BlockData: {@link Waterlogged} + */ + BlockType.Typed BUBBLE_CORAL = getBlockType("bubble_coral"); + /** + * BlockData: {@link Waterlogged} + */ + BlockType.Typed FIRE_CORAL = getBlockType("fire_coral"); + /** + * BlockData: {@link Waterlogged} + */ + BlockType.Typed HORN_CORAL = getBlockType("horn_coral"); + /** + * BlockData: {@link Waterlogged} + */ + BlockType.Typed DEAD_TUBE_CORAL_FAN = getBlockType("dead_tube_coral_fan"); + /** + * BlockData: {@link Waterlogged} + */ + BlockType.Typed DEAD_BRAIN_CORAL_FAN = getBlockType("dead_brain_coral_fan"); + /** + * BlockData: {@link Waterlogged} + */ + BlockType.Typed DEAD_BUBBLE_CORAL_FAN = getBlockType("dead_bubble_coral_fan"); + /** + * BlockData: {@link Waterlogged} + */ + BlockType.Typed DEAD_FIRE_CORAL_FAN = getBlockType("dead_fire_coral_fan"); + /** + * BlockData: {@link Waterlogged} + */ + BlockType.Typed DEAD_HORN_CORAL_FAN = getBlockType("dead_horn_coral_fan"); + /** + * BlockData: {@link Waterlogged} + */ + BlockType.Typed TUBE_CORAL_FAN = getBlockType("tube_coral_fan"); + /** + * BlockData: {@link Waterlogged} + */ + BlockType.Typed BRAIN_CORAL_FAN = getBlockType("brain_coral_fan"); + /** + * BlockData: {@link Waterlogged} + */ + BlockType.Typed BUBBLE_CORAL_FAN = getBlockType("bubble_coral_fan"); + /** + * BlockData: {@link Waterlogged} + */ + BlockType.Typed FIRE_CORAL_FAN = getBlockType("fire_coral_fan"); + /** + * BlockData: {@link Waterlogged} + */ + BlockType.Typed HORN_CORAL_FAN = getBlockType("horn_coral_fan"); + /** + * BlockData: {@link CoralWallFan} + */ + BlockType.Typed DEAD_TUBE_CORAL_WALL_FAN = getBlockType("dead_tube_coral_wall_fan"); + /** + * BlockData: {@link CoralWallFan} + */ + BlockType.Typed DEAD_BRAIN_CORAL_WALL_FAN = getBlockType("dead_brain_coral_wall_fan"); + /** + * BlockData: {@link CoralWallFan} + */ + BlockType.Typed DEAD_BUBBLE_CORAL_WALL_FAN = getBlockType("dead_bubble_coral_wall_fan"); + /** + * BlockData: {@link CoralWallFan} + */ + BlockType.Typed DEAD_FIRE_CORAL_WALL_FAN = getBlockType("dead_fire_coral_wall_fan"); + /** + * BlockData: {@link CoralWallFan} + */ + BlockType.Typed DEAD_HORN_CORAL_WALL_FAN = getBlockType("dead_horn_coral_wall_fan"); + /** + * BlockData: {@link CoralWallFan} + */ + BlockType.Typed TUBE_CORAL_WALL_FAN = getBlockType("tube_coral_wall_fan"); + /** + * BlockData: {@link CoralWallFan} + */ + BlockType.Typed BRAIN_CORAL_WALL_FAN = getBlockType("brain_coral_wall_fan"); + /** + * BlockData: {@link CoralWallFan} + */ + BlockType.Typed BUBBLE_CORAL_WALL_FAN = getBlockType("bubble_coral_wall_fan"); + /** + * BlockData: {@link CoralWallFan} + */ + BlockType.Typed FIRE_CORAL_WALL_FAN = getBlockType("fire_coral_wall_fan"); + /** + * BlockData: {@link CoralWallFan} + */ + BlockType.Typed HORN_CORAL_WALL_FAN = getBlockType("horn_coral_wall_fan"); + /** + * BlockData: {@link SeaPickle} + */ + BlockType.Typed SEA_PICKLE = getBlockType("sea_pickle"); + BlockType.Typed BLUE_ICE = getBlockType("blue_ice"); + /** + * BlockData: {@link Waterlogged} + */ + BlockType.Typed CONDUIT = getBlockType("conduit"); + BlockType.Typed BAMBOO_SAPLING = getBlockType("bamboo_sapling"); + /** + * BlockData: {@link Bamboo} + */ + BlockType.Typed BAMBOO = getBlockType("bamboo"); + BlockType.Typed POTTED_BAMBOO = getBlockType("potted_bamboo"); + BlockType.Typed VOID_AIR = getBlockType("void_air"); + BlockType.Typed CAVE_AIR = getBlockType("cave_air"); + /** + * BlockData: {@link BubbleColumn} + */ + BlockType.Typed BUBBLE_COLUMN = getBlockType("bubble_column"); + /** + * BlockData: {@link Stairs} + */ + BlockType.Typed POLISHED_GRANITE_STAIRS = getBlockType("polished_granite_stairs"); + /** + * BlockData: {@link Stairs} + */ + BlockType.Typed SMOOTH_RED_SANDSTONE_STAIRS = getBlockType("smooth_red_sandstone_stairs"); + /** + * BlockData: {@link Stairs} + */ + BlockType.Typed MOSSY_STONE_BRICK_STAIRS = getBlockType("mossy_stone_brick_stairs"); + /** + * BlockData: {@link Stairs} + */ + BlockType.Typed POLISHED_DIORITE_STAIRS = getBlockType("polished_diorite_stairs"); + /** + * BlockData: {@link Stairs} + */ + BlockType.Typed MOSSY_COBBLESTONE_STAIRS = getBlockType("mossy_cobblestone_stairs"); + /** + * BlockData: {@link Stairs} + */ + BlockType.Typed END_STONE_BRICK_STAIRS = getBlockType("end_stone_brick_stairs"); + /** + * BlockData: {@link Stairs} + */ + BlockType.Typed STONE_STAIRS = getBlockType("stone_stairs"); + /** + * BlockData: {@link Stairs} + */ + BlockType.Typed SMOOTH_SANDSTONE_STAIRS = getBlockType("smooth_sandstone_stairs"); + /** + * BlockData: {@link Stairs} + */ + BlockType.Typed SMOOTH_QUARTZ_STAIRS = getBlockType("smooth_quartz_stairs"); + /** + * BlockData: {@link Stairs} + */ + BlockType.Typed GRANITE_STAIRS = getBlockType("granite_stairs"); + /** + * BlockData: {@link Stairs} + */ + BlockType.Typed ANDESITE_STAIRS = getBlockType("andesite_stairs"); + /** + * BlockData: {@link Stairs} + */ + BlockType.Typed RED_NETHER_BRICK_STAIRS = getBlockType("red_nether_brick_stairs"); + /** + * BlockData: {@link Stairs} + */ + BlockType.Typed POLISHED_ANDESITE_STAIRS = getBlockType("polished_andesite_stairs"); + /** + * BlockData: {@link Stairs} + */ + BlockType.Typed DIORITE_STAIRS = getBlockType("diorite_stairs"); + /** + * BlockData: {@link Slab} + */ + BlockType.Typed POLISHED_GRANITE_SLAB = getBlockType("polished_granite_slab"); + /** + * BlockData: {@link Slab} + */ + BlockType.Typed SMOOTH_RED_SANDSTONE_SLAB = getBlockType("smooth_red_sandstone_slab"); + /** + * BlockData: {@link Slab} + */ + BlockType.Typed MOSSY_STONE_BRICK_SLAB = getBlockType("mossy_stone_brick_slab"); + /** + * BlockData: {@link Slab} + */ + BlockType.Typed POLISHED_DIORITE_SLAB = getBlockType("polished_diorite_slab"); + /** + * BlockData: {@link Slab} + */ + BlockType.Typed MOSSY_COBBLESTONE_SLAB = getBlockType("mossy_cobblestone_slab"); + /** + * BlockData: {@link Slab} + */ + BlockType.Typed END_STONE_BRICK_SLAB = getBlockType("end_stone_brick_slab"); + /** + * BlockData: {@link Slab} + */ + BlockType.Typed SMOOTH_SANDSTONE_SLAB = getBlockType("smooth_sandstone_slab"); + /** + * BlockData: {@link Slab} + */ + BlockType.Typed SMOOTH_QUARTZ_SLAB = getBlockType("smooth_quartz_slab"); + /** + * BlockData: {@link Slab} + */ + BlockType.Typed GRANITE_SLAB = getBlockType("granite_slab"); + /** + * BlockData: {@link Slab} + */ + BlockType.Typed ANDESITE_SLAB = getBlockType("andesite_slab"); + /** + * BlockData: {@link Slab} + */ + BlockType.Typed RED_NETHER_BRICK_SLAB = getBlockType("red_nether_brick_slab"); + /** + * BlockData: {@link Slab} + */ + BlockType.Typed POLISHED_ANDESITE_SLAB = getBlockType("polished_andesite_slab"); + /** + * BlockData: {@link Slab} + */ + BlockType.Typed DIORITE_SLAB = getBlockType("diorite_slab"); + /** + * BlockData: {@link Wall} + */ + BlockType.Typed BRICK_WALL = getBlockType("brick_wall"); + /** + * BlockData: {@link Wall} + */ + BlockType.Typed PRISMARINE_WALL = getBlockType("prismarine_wall"); + /** + * BlockData: {@link Wall} + */ + BlockType.Typed RED_SANDSTONE_WALL = getBlockType("red_sandstone_wall"); + /** + * BlockData: {@link Wall} + */ + BlockType.Typed MOSSY_STONE_BRICK_WALL = getBlockType("mossy_stone_brick_wall"); + /** + * BlockData: {@link Wall} + */ + BlockType.Typed GRANITE_WALL = getBlockType("granite_wall"); + /** + * BlockData: {@link Wall} + */ + BlockType.Typed STONE_BRICK_WALL = getBlockType("stone_brick_wall"); + /** + * BlockData: {@link Wall} + */ + BlockType.Typed MUD_BRICK_WALL = getBlockType("mud_brick_wall"); + /** + * BlockData: {@link Wall} + */ + BlockType.Typed NETHER_BRICK_WALL = getBlockType("nether_brick_wall"); + /** + * BlockData: {@link Wall} + */ + BlockType.Typed ANDESITE_WALL = getBlockType("andesite_wall"); + /** + * BlockData: {@link Wall} + */ + BlockType.Typed RED_NETHER_BRICK_WALL = getBlockType("red_nether_brick_wall"); + /** + * BlockData: {@link Wall} + */ + BlockType.Typed SANDSTONE_WALL = getBlockType("sandstone_wall"); + /** + * BlockData: {@link Wall} + */ + BlockType.Typed END_STONE_BRICK_WALL = getBlockType("end_stone_brick_wall"); + /** + * BlockData: {@link Wall} + */ + BlockType.Typed DIORITE_WALL = getBlockType("diorite_wall"); + /** + * BlockData: {@link Scaffolding} + */ + BlockType.Typed SCAFFOLDING = getBlockType("scaffolding"); + /** + * BlockData: {@link Directional} + */ + BlockType.Typed LOOM = getBlockType("loom"); + /** + * BlockData: {@link Barrel} + */ + BlockType.Typed BARREL = getBlockType("barrel"); + /** + * BlockData: {@link Furnace} + */ + BlockType.Typed SMOKER = getBlockType("smoker"); + /** + * BlockData: {@link Furnace} + */ + BlockType.Typed BLAST_FURNACE = getBlockType("blast_furnace"); + BlockType.Typed CARTOGRAPHY_TABLE = getBlockType("cartography_table"); + BlockType.Typed FLETCHING_TABLE = getBlockType("fletching_table"); + /** + * BlockData: {@link Grindstone} + */ + BlockType.Typed GRINDSTONE = getBlockType("grindstone"); + /** + * BlockData: {@link Lectern} + */ + BlockType.Typed LECTERN = getBlockType("lectern"); + BlockType.Typed SMITHING_TABLE = getBlockType("smithing_table"); + /** + * BlockData: {@link Directional} + */ + BlockType.Typed STONECUTTER = getBlockType("stonecutter"); + /** + * BlockData: {@link Bell} + */ + BlockType.Typed BELL = getBlockType("bell"); + /** + * BlockData: {@link Lantern} + */ + BlockType.Typed LANTERN = getBlockType("lantern"); + /** + * BlockData: {@link Lantern} + */ + BlockType.Typed SOUL_LANTERN = getBlockType("soul_lantern"); + /** + * BlockData: {@link Campfire} + */ + BlockType.Typed CAMPFIRE = getBlockType("campfire"); + /** + * BlockData: {@link Campfire} + */ + BlockType.Typed SOUL_CAMPFIRE = getBlockType("soul_campfire"); + /** + * BlockData: {@link Ageable} + */ + BlockType.Typed SWEET_BERRY_BUSH = getBlockType("sweet_berry_bush"); + /** + * BlockData: {@link Orientable} + */ + BlockType.Typed WARPED_STEM = getBlockType("warped_stem"); + /** + * BlockData: {@link Orientable} + */ + BlockType.Typed STRIPPED_WARPED_STEM = getBlockType("stripped_warped_stem"); + /** + * BlockData: {@link Orientable} + */ + BlockType.Typed WARPED_HYPHAE = getBlockType("warped_hyphae"); + /** + * BlockData: {@link Orientable} + */ + BlockType.Typed STRIPPED_WARPED_HYPHAE = getBlockType("stripped_warped_hyphae"); + BlockType.Typed WARPED_NYLIUM = getBlockType("warped_nylium"); + BlockType.Typed WARPED_FUNGUS = getBlockType("warped_fungus"); + BlockType.Typed WARPED_WART_BLOCK = getBlockType("warped_wart_block"); + BlockType.Typed WARPED_ROOTS = getBlockType("warped_roots"); + BlockType.Typed NETHER_SPROUTS = getBlockType("nether_sprouts"); + /** + * BlockData: {@link Orientable} + */ + BlockType.Typed CRIMSON_STEM = getBlockType("crimson_stem"); + /** + * BlockData: {@link Orientable} + */ + BlockType.Typed STRIPPED_CRIMSON_STEM = getBlockType("stripped_crimson_stem"); + /** + * BlockData: {@link Orientable} + */ + BlockType.Typed CRIMSON_HYPHAE = getBlockType("crimson_hyphae"); + /** + * BlockData: {@link Orientable} + */ + BlockType.Typed STRIPPED_CRIMSON_HYPHAE = getBlockType("stripped_crimson_hyphae"); + BlockType.Typed CRIMSON_NYLIUM = getBlockType("crimson_nylium"); + BlockType.Typed CRIMSON_FUNGUS = getBlockType("crimson_fungus"); + BlockType.Typed SHROOMLIGHT = getBlockType("shroomlight"); + /** + * BlockData: {@link Ageable} + */ + BlockType.Typed WEEPING_VINES = getBlockType("weeping_vines"); + BlockType.Typed WEEPING_VINES_PLANT = getBlockType("weeping_vines_plant"); + /** + * BlockData: {@link Ageable} + */ + BlockType.Typed TWISTING_VINES = getBlockType("twisting_vines"); + BlockType.Typed TWISTING_VINES_PLANT = getBlockType("twisting_vines_plant"); + BlockType.Typed CRIMSON_ROOTS = getBlockType("crimson_roots"); + BlockType.Typed CRIMSON_PLANKS = getBlockType("crimson_planks"); + BlockType.Typed WARPED_PLANKS = getBlockType("warped_planks"); + /** + * BlockData: {@link Slab} + */ + BlockType.Typed CRIMSON_SLAB = getBlockType("crimson_slab"); + /** + * BlockData: {@link Slab} + */ + BlockType.Typed WARPED_SLAB = getBlockType("warped_slab"); + /** + * BlockData: {@link Powerable} + */ + BlockType.Typed CRIMSON_PRESSURE_PLATE = getBlockType("crimson_pressure_plate"); + /** + * BlockData: {@link Powerable} + */ + BlockType.Typed WARPED_PRESSURE_PLATE = getBlockType("warped_pressure_plate"); + /** + * BlockData: {@link Fence} + */ + BlockType.Typed CRIMSON_FENCE = getBlockType("crimson_fence"); + /** + * BlockData: {@link Fence} + */ + BlockType.Typed WARPED_FENCE = getBlockType("warped_fence"); + /** + * BlockData: {@link TrapDoor} + */ + BlockType.Typed CRIMSON_TRAPDOOR = getBlockType("crimson_trapdoor"); + /** + * BlockData: {@link TrapDoor} + */ + BlockType.Typed WARPED_TRAPDOOR = getBlockType("warped_trapdoor"); + /** + * BlockData: {@link Gate} + */ + BlockType.Typed CRIMSON_FENCE_GATE = getBlockType("crimson_fence_gate"); + /** + * BlockData: {@link Gate} + */ + BlockType.Typed WARPED_FENCE_GATE = getBlockType("warped_fence_gate"); + /** + * BlockData: {@link Stairs} + */ + BlockType.Typed CRIMSON_STAIRS = getBlockType("crimson_stairs"); + /** + * BlockData: {@link Stairs} + */ + BlockType.Typed WARPED_STAIRS = getBlockType("warped_stairs"); + /** + * BlockData: {@link Switch} + */ + BlockType.Typed CRIMSON_BUTTON = getBlockType("crimson_button"); + /** + * BlockData: {@link Switch} + */ + BlockType.Typed WARPED_BUTTON = getBlockType("warped_button"); + /** + * BlockData: {@link Door} + */ + BlockType.Typed CRIMSON_DOOR = getBlockType("crimson_door"); + /** + * BlockData: {@link Door} + */ + BlockType.Typed WARPED_DOOR = getBlockType("warped_door"); + /** + * BlockData: {@link Sign} + */ + BlockType.Typed CRIMSON_SIGN = getBlockType("crimson_sign"); + /** + * BlockData: {@link Sign} + */ + BlockType.Typed WARPED_SIGN = getBlockType("warped_sign"); + /** + * BlockData: {@link WallSign} + */ + BlockType.Typed CRIMSON_WALL_SIGN = getBlockType("crimson_wall_sign"); + /** + * BlockData: {@link WallSign} + */ + BlockType.Typed WARPED_WALL_SIGN = getBlockType("warped_wall_sign"); + /** + * BlockData: {@link StructureBlock} + */ + BlockType.Typed STRUCTURE_BLOCK = getBlockType("structure_block"); + /** + * BlockData: {@link Jigsaw} + */ + BlockType.Typed JIGSAW = getBlockType("jigsaw"); + /** + * BlockData: {@link Levelled} + */ + BlockType.Typed COMPOSTER = getBlockType("composter"); + /** + * BlockData: {@link AnaloguePowerable} + */ + BlockType.Typed TARGET = getBlockType("target"); + /** + * BlockData: {@link Beehive} + */ + BlockType.Typed BEE_NEST = getBlockType("bee_nest"); + /** + * BlockData: {@link Beehive} + */ + BlockType.Typed BEEHIVE = getBlockType("beehive"); + BlockType.Typed HONEY_BLOCK = getBlockType("honey_block"); + BlockType.Typed HONEYCOMB_BLOCK = getBlockType("honeycomb_block"); + BlockType.Typed NETHERITE_BLOCK = getBlockType("netherite_block"); + BlockType.Typed ANCIENT_DEBRIS = getBlockType("ancient_debris"); + BlockType.Typed CRYING_OBSIDIAN = getBlockType("crying_obsidian"); + /** + * BlockData: {@link RespawnAnchor} + */ + BlockType.Typed RESPAWN_ANCHOR = getBlockType("respawn_anchor"); + BlockType.Typed POTTED_CRIMSON_FUNGUS = getBlockType("potted_crimson_fungus"); + BlockType.Typed POTTED_WARPED_FUNGUS = getBlockType("potted_warped_fungus"); + BlockType.Typed POTTED_CRIMSON_ROOTS = getBlockType("potted_crimson_roots"); + BlockType.Typed POTTED_WARPED_ROOTS = getBlockType("potted_warped_roots"); + BlockType.Typed LODESTONE = getBlockType("lodestone"); + BlockType.Typed BLACKSTONE = getBlockType("blackstone"); + /** + * BlockData: {@link Stairs} + */ + BlockType.Typed BLACKSTONE_STAIRS = getBlockType("blackstone_stairs"); + /** + * BlockData: {@link Wall} + */ + BlockType.Typed BLACKSTONE_WALL = getBlockType("blackstone_wall"); + /** + * BlockData: {@link Slab} + */ + BlockType.Typed BLACKSTONE_SLAB = getBlockType("blackstone_slab"); + BlockType.Typed POLISHED_BLACKSTONE = getBlockType("polished_blackstone"); + BlockType.Typed POLISHED_BLACKSTONE_BRICKS = getBlockType("polished_blackstone_bricks"); + BlockType.Typed CRACKED_POLISHED_BLACKSTONE_BRICKS = getBlockType("cracked_polished_blackstone_bricks"); + BlockType.Typed CHISELED_POLISHED_BLACKSTONE = getBlockType("chiseled_polished_blackstone"); + /** + * BlockData: {@link Slab} + */ + BlockType.Typed POLISHED_BLACKSTONE_BRICK_SLAB = getBlockType("polished_blackstone_brick_slab"); + /** + * BlockData: {@link Stairs} + */ + BlockType.Typed POLISHED_BLACKSTONE_BRICK_STAIRS = getBlockType("polished_blackstone_brick_stairs"); + /** + * BlockData: {@link Wall} + */ + BlockType.Typed POLISHED_BLACKSTONE_BRICK_WALL = getBlockType("polished_blackstone_brick_wall"); + BlockType.Typed GILDED_BLACKSTONE = getBlockType("gilded_blackstone"); + /** + * BlockData: {@link Stairs} + */ + BlockType.Typed POLISHED_BLACKSTONE_STAIRS = getBlockType("polished_blackstone_stairs"); + /** + * BlockData: {@link Slab} + */ + BlockType.Typed POLISHED_BLACKSTONE_SLAB = getBlockType("polished_blackstone_slab"); + /** + * BlockData: {@link Powerable} + */ + BlockType.Typed POLISHED_BLACKSTONE_PRESSURE_PLATE = getBlockType("polished_blackstone_pressure_plate"); + /** + * BlockData: {@link Switch} + */ + BlockType.Typed POLISHED_BLACKSTONE_BUTTON = getBlockType("polished_blackstone_button"); + /** + * BlockData: {@link Wall} + */ + BlockType.Typed POLISHED_BLACKSTONE_WALL = getBlockType("polished_blackstone_wall"); + BlockType.Typed CHISELED_NETHER_BRICKS = getBlockType("chiseled_nether_bricks"); + BlockType.Typed CRACKED_NETHER_BRICKS = getBlockType("cracked_nether_bricks"); + BlockType.Typed QUARTZ_BRICKS = getBlockType("quartz_bricks"); + /** + * BlockData: {@link Candle} + */ + BlockType.Typed CANDLE = getBlockType("candle"); + /** + * BlockData: {@link Candle} + */ + BlockType.Typed WHITE_CANDLE = getBlockType("white_candle"); + /** + * BlockData: {@link Candle} + */ + BlockType.Typed ORANGE_CANDLE = getBlockType("orange_candle"); + /** + * BlockData: {@link Candle} + */ + BlockType.Typed MAGENTA_CANDLE = getBlockType("magenta_candle"); + /** + * BlockData: {@link Candle} + */ + BlockType.Typed LIGHT_BLUE_CANDLE = getBlockType("light_blue_candle"); + /** + * BlockData: {@link Candle} + */ + BlockType.Typed YELLOW_CANDLE = getBlockType("yellow_candle"); + /** + * BlockData: {@link Candle} + */ + BlockType.Typed LIME_CANDLE = getBlockType("lime_candle"); + /** + * BlockData: {@link Candle} + */ + BlockType.Typed PINK_CANDLE = getBlockType("pink_candle"); + /** + * BlockData: {@link Candle} + */ + BlockType.Typed GRAY_CANDLE = getBlockType("gray_candle"); + /** + * BlockData: {@link Candle} + */ + BlockType.Typed LIGHT_GRAY_CANDLE = getBlockType("light_gray_candle"); + /** + * BlockData: {@link Candle} + */ + BlockType.Typed CYAN_CANDLE = getBlockType("cyan_candle"); + /** + * BlockData: {@link Candle} + */ + BlockType.Typed PURPLE_CANDLE = getBlockType("purple_candle"); + /** + * BlockData: {@link Candle} + */ + BlockType.Typed BLUE_CANDLE = getBlockType("blue_candle"); + /** + * BlockData: {@link Candle} + */ + BlockType.Typed BROWN_CANDLE = getBlockType("brown_candle"); + /** + * BlockData: {@link Candle} + */ + BlockType.Typed GREEN_CANDLE = getBlockType("green_candle"); + /** + * BlockData: {@link Candle} + */ + BlockType.Typed RED_CANDLE = getBlockType("red_candle"); + /** + * BlockData: {@link Candle} + */ + BlockType.Typed BLACK_CANDLE = getBlockType("black_candle"); + /** + * BlockData: {@link Lightable} + */ + BlockType.Typed CANDLE_CAKE = getBlockType("candle_cake"); + /** + * BlockData: {@link Lightable} + */ + BlockType.Typed WHITE_CANDLE_CAKE = getBlockType("white_candle_cake"); + /** + * BlockData: {@link Lightable} + */ + BlockType.Typed ORANGE_CANDLE_CAKE = getBlockType("orange_candle_cake"); + /** + * BlockData: {@link Lightable} + */ + BlockType.Typed MAGENTA_CANDLE_CAKE = getBlockType("magenta_candle_cake"); + /** + * BlockData: {@link Lightable} + */ + BlockType.Typed LIGHT_BLUE_CANDLE_CAKE = getBlockType("light_blue_candle_cake"); + /** + * BlockData: {@link Lightable} + */ + BlockType.Typed YELLOW_CANDLE_CAKE = getBlockType("yellow_candle_cake"); + /** + * BlockData: {@link Lightable} + */ + BlockType.Typed LIME_CANDLE_CAKE = getBlockType("lime_candle_cake"); + /** + * BlockData: {@link Lightable} + */ + BlockType.Typed PINK_CANDLE_CAKE = getBlockType("pink_candle_cake"); + /** + * BlockData: {@link Lightable} + */ + BlockType.Typed GRAY_CANDLE_CAKE = getBlockType("gray_candle_cake"); + /** + * BlockData: {@link Lightable} + */ + BlockType.Typed LIGHT_GRAY_CANDLE_CAKE = getBlockType("light_gray_candle_cake"); + /** + * BlockData: {@link Lightable} + */ + BlockType.Typed CYAN_CANDLE_CAKE = getBlockType("cyan_candle_cake"); + /** + * BlockData: {@link Lightable} + */ + BlockType.Typed PURPLE_CANDLE_CAKE = getBlockType("purple_candle_cake"); + /** + * BlockData: {@link Lightable} + */ + BlockType.Typed BLUE_CANDLE_CAKE = getBlockType("blue_candle_cake"); + /** + * BlockData: {@link Lightable} + */ + BlockType.Typed BROWN_CANDLE_CAKE = getBlockType("brown_candle_cake"); + /** + * BlockData: {@link Lightable} + */ + BlockType.Typed GREEN_CANDLE_CAKE = getBlockType("green_candle_cake"); + /** + * BlockData: {@link Lightable} + */ + BlockType.Typed RED_CANDLE_CAKE = getBlockType("red_candle_cake"); + /** + * BlockData: {@link Lightable} + */ + BlockType.Typed BLACK_CANDLE_CAKE = getBlockType("black_candle_cake"); + BlockType.Typed AMETHYST_BLOCK = getBlockType("amethyst_block"); + BlockType.Typed BUDDING_AMETHYST = getBlockType("budding_amethyst"); + /** + * BlockData: {@link AmethystCluster} + */ + BlockType.Typed AMETHYST_CLUSTER = getBlockType("amethyst_cluster"); + /** + * BlockData: {@link AmethystCluster} + */ + BlockType.Typed LARGE_AMETHYST_BUD = getBlockType("large_amethyst_bud"); + /** + * BlockData: {@link AmethystCluster} + */ + BlockType.Typed MEDIUM_AMETHYST_BUD = getBlockType("medium_amethyst_bud"); + /** + * BlockData: {@link AmethystCluster} + */ + BlockType.Typed SMALL_AMETHYST_BUD = getBlockType("small_amethyst_bud"); + BlockType.Typed TUFF = getBlockType("tuff"); + /** + * BlockData: {@link Slab} + */ + @MinecraftExperimental(Requires.UPDATE_1_21) + @ApiStatus.Experimental + BlockType.Typed TUFF_SLAB = getBlockType("tuff_slab"); + /** + * BlockData: {@link Stairs} + */ + @MinecraftExperimental(Requires.UPDATE_1_21) + @ApiStatus.Experimental + BlockType.Typed TUFF_STAIRS = getBlockType("tuff_stairs"); + /** + * BlockData: {@link Wall} + */ + @MinecraftExperimental(Requires.UPDATE_1_21) + @ApiStatus.Experimental + BlockType.Typed TUFF_WALL = getBlockType("tuff_wall"); + @MinecraftExperimental(Requires.UPDATE_1_21) + @ApiStatus.Experimental + BlockType.Typed POLISHED_TUFF = getBlockType("polished_tuff"); + /** + * BlockData: {@link Slab} + */ + @MinecraftExperimental(Requires.UPDATE_1_21) + @ApiStatus.Experimental + BlockType.Typed POLISHED_TUFF_SLAB = getBlockType("polished_tuff_slab"); + /** + * BlockData: {@link Stairs} + */ + @MinecraftExperimental(Requires.UPDATE_1_21) + @ApiStatus.Experimental + BlockType.Typed POLISHED_TUFF_STAIRS = getBlockType("polished_tuff_stairs"); + /** + * BlockData: {@link Wall} + */ + @MinecraftExperimental(Requires.UPDATE_1_21) + @ApiStatus.Experimental + BlockType.Typed POLISHED_TUFF_WALL = getBlockType("polished_tuff_wall"); + @MinecraftExperimental(Requires.UPDATE_1_21) + @ApiStatus.Experimental + BlockType.Typed CHISELED_TUFF = getBlockType("chiseled_tuff"); + @MinecraftExperimental(Requires.UPDATE_1_21) + @ApiStatus.Experimental + BlockType.Typed TUFF_BRICKS = getBlockType("tuff_bricks"); + /** + * BlockData: {@link Slab} + */ + @MinecraftExperimental(Requires.UPDATE_1_21) + @ApiStatus.Experimental + BlockType.Typed TUFF_BRICK_SLAB = getBlockType("tuff_brick_slab"); + /** + * BlockData: {@link Stairs} + */ + @MinecraftExperimental(Requires.UPDATE_1_21) + @ApiStatus.Experimental + BlockType.Typed TUFF_BRICK_STAIRS = getBlockType("tuff_brick_stairs"); + /** + * BlockData: {@link Wall} + */ + @MinecraftExperimental(Requires.UPDATE_1_21) + @ApiStatus.Experimental + BlockType.Typed TUFF_BRICK_WALL = getBlockType("tuff_brick_wall"); + @MinecraftExperimental(Requires.UPDATE_1_21) + @ApiStatus.Experimental + BlockType.Typed CHISELED_TUFF_BRICKS = getBlockType("chiseled_tuff_bricks"); + BlockType.Typed CALCITE = getBlockType("calcite"); + BlockType.Typed TINTED_GLASS = getBlockType("tinted_glass"); + BlockType.Typed POWDER_SNOW = getBlockType("powder_snow"); + /** + * BlockData: {@link SculkSensor} + */ + BlockType.Typed SCULK_SENSOR = getBlockType("sculk_sensor"); + /** + * BlockData: {@link CalibratedSculkSensor} + */ + BlockType.Typed CALIBRATED_SCULK_SENSOR = getBlockType("calibrated_sculk_sensor"); + BlockType.Typed SCULK = getBlockType("sculk"); + /** + * BlockData: {@link SculkVein} + */ + BlockType.Typed SCULK_VEIN = getBlockType("sculk_vein"); + /** + * BlockData: {@link SculkCatalyst} + */ + BlockType.Typed SCULK_CATALYST = getBlockType("sculk_catalyst"); + /** + * BlockData: {@link SculkShrieker} + */ + BlockType.Typed SCULK_SHRIEKER = getBlockType("sculk_shrieker"); + BlockType.Typed COPPER_BLOCK = getBlockType("copper_block"); + BlockType.Typed EXPOSED_COPPER = getBlockType("exposed_copper"); + BlockType.Typed WEATHERED_COPPER = getBlockType("weathered_copper"); + BlockType.Typed OXIDIZED_COPPER = getBlockType("oxidized_copper"); + BlockType.Typed COPPER_ORE = getBlockType("copper_ore"); + BlockType.Typed DEEPSLATE_COPPER_ORE = getBlockType("deepslate_copper_ore"); + BlockType.Typed OXIDIZED_CUT_COPPER = getBlockType("oxidized_cut_copper"); + BlockType.Typed WEATHERED_CUT_COPPER = getBlockType("weathered_cut_copper"); + BlockType.Typed EXPOSED_CUT_COPPER = getBlockType("exposed_cut_copper"); + BlockType.Typed CUT_COPPER = getBlockType("cut_copper"); + @MinecraftExperimental(Requires.UPDATE_1_21) + @ApiStatus.Experimental + BlockType.Typed OXIDIZED_CHISELED_COPPER = getBlockType("oxidized_chiseled_copper"); + @MinecraftExperimental(Requires.UPDATE_1_21) + @ApiStatus.Experimental + BlockType.Typed WEATHERED_CHISELED_COPPER = getBlockType("weathered_chiseled_copper"); + @MinecraftExperimental(Requires.UPDATE_1_21) + @ApiStatus.Experimental + BlockType.Typed EXPOSED_CHISELED_COPPER = getBlockType("exposed_chiseled_copper"); + @MinecraftExperimental(Requires.UPDATE_1_21) + @ApiStatus.Experimental + BlockType.Typed CHISELED_COPPER = getBlockType("chiseled_copper"); + @MinecraftExperimental(Requires.UPDATE_1_21) + @ApiStatus.Experimental + BlockType.Typed WAXED_OXIDIZED_CHISELED_COPPER = getBlockType("waxed_oxidized_chiseled_copper"); + @MinecraftExperimental(Requires.UPDATE_1_21) + @ApiStatus.Experimental + BlockType.Typed WAXED_WEATHERED_CHISELED_COPPER = getBlockType("waxed_weathered_chiseled_copper"); + @MinecraftExperimental(Requires.UPDATE_1_21) + @ApiStatus.Experimental + BlockType.Typed WAXED_EXPOSED_CHISELED_COPPER = getBlockType("waxed_exposed_chiseled_copper"); + @MinecraftExperimental(Requires.UPDATE_1_21) + @ApiStatus.Experimental + BlockType.Typed WAXED_CHISELED_COPPER = getBlockType("waxed_chiseled_copper"); + /** + * BlockData: {@link Stairs} + */ + BlockType.Typed OXIDIZED_CUT_COPPER_STAIRS = getBlockType("oxidized_cut_copper_stairs"); + /** + * BlockData: {@link Stairs} + */ + BlockType.Typed WEATHERED_CUT_COPPER_STAIRS = getBlockType("weathered_cut_copper_stairs"); + /** + * BlockData: {@link Stairs} + */ + BlockType.Typed EXPOSED_CUT_COPPER_STAIRS = getBlockType("exposed_cut_copper_stairs"); + /** + * BlockData: {@link Stairs} + */ + BlockType.Typed CUT_COPPER_STAIRS = getBlockType("cut_copper_stairs"); + /** + * BlockData: {@link Slab} + */ + BlockType.Typed OXIDIZED_CUT_COPPER_SLAB = getBlockType("oxidized_cut_copper_slab"); + /** + * BlockData: {@link Slab} + */ + BlockType.Typed WEATHERED_CUT_COPPER_SLAB = getBlockType("weathered_cut_copper_slab"); + /** + * BlockData: {@link Slab} + */ + BlockType.Typed EXPOSED_CUT_COPPER_SLAB = getBlockType("exposed_cut_copper_slab"); + /** + * BlockData: {@link Slab} + */ + BlockType.Typed CUT_COPPER_SLAB = getBlockType("cut_copper_slab"); + BlockType.Typed WAXED_COPPER_BLOCK = getBlockType("waxed_copper_block"); + BlockType.Typed WAXED_WEATHERED_COPPER = getBlockType("waxed_weathered_copper"); + BlockType.Typed WAXED_EXPOSED_COPPER = getBlockType("waxed_exposed_copper"); + BlockType.Typed WAXED_OXIDIZED_COPPER = getBlockType("waxed_oxidized_copper"); + BlockType.Typed WAXED_OXIDIZED_CUT_COPPER = getBlockType("waxed_oxidized_cut_copper"); + BlockType.Typed WAXED_WEATHERED_CUT_COPPER = getBlockType("waxed_weathered_cut_copper"); + BlockType.Typed WAXED_EXPOSED_CUT_COPPER = getBlockType("waxed_exposed_cut_copper"); + BlockType.Typed WAXED_CUT_COPPER = getBlockType("waxed_cut_copper"); + /** + * BlockData: {@link Stairs} + */ + BlockType.Typed WAXED_OXIDIZED_CUT_COPPER_STAIRS = getBlockType("waxed_oxidized_cut_copper_stairs"); + /** + * BlockData: {@link Stairs} + */ + BlockType.Typed WAXED_WEATHERED_CUT_COPPER_STAIRS = getBlockType("waxed_weathered_cut_copper_stairs"); + /** + * BlockData: {@link Stairs} + */ + BlockType.Typed WAXED_EXPOSED_CUT_COPPER_STAIRS = getBlockType("waxed_exposed_cut_copper_stairs"); + /** + * BlockData: {@link Stairs} + */ + BlockType.Typed WAXED_CUT_COPPER_STAIRS = getBlockType("waxed_cut_copper_stairs"); + /** + * BlockData: {@link Slab} + */ + BlockType.Typed WAXED_OXIDIZED_CUT_COPPER_SLAB = getBlockType("waxed_oxidized_cut_copper_slab"); + /** + * BlockData: {@link Slab} + */ + BlockType.Typed WAXED_WEATHERED_CUT_COPPER_SLAB = getBlockType("waxed_weathered_cut_copper_slab"); + /** + * BlockData: {@link Slab} + */ + BlockType.Typed WAXED_EXPOSED_CUT_COPPER_SLAB = getBlockType("waxed_exposed_cut_copper_slab"); + /** + * BlockData: {@link Slab} + */ + BlockType.Typed WAXED_CUT_COPPER_SLAB = getBlockType("waxed_cut_copper_slab"); + /** + * BlockData: {@link Door} + */ + @MinecraftExperimental(Requires.UPDATE_1_21) + @ApiStatus.Experimental + BlockType.Typed COPPER_DOOR = getBlockType("copper_door"); + /** + * BlockData: {@link Door} + */ + @MinecraftExperimental(Requires.UPDATE_1_21) + @ApiStatus.Experimental + BlockType.Typed EXPOSED_COPPER_DOOR = getBlockType("exposed_copper_door"); + /** + * BlockData: {@link Door} + */ + @MinecraftExperimental(Requires.UPDATE_1_21) + @ApiStatus.Experimental + BlockType.Typed OXIDIZED_COPPER_DOOR = getBlockType("oxidized_copper_door"); + /** + * BlockData: {@link Door} + */ + @MinecraftExperimental(Requires.UPDATE_1_21) + @ApiStatus.Experimental + BlockType.Typed WEATHERED_COPPER_DOOR = getBlockType("weathered_copper_door"); + /** + * BlockData: {@link Door} + */ + @MinecraftExperimental(Requires.UPDATE_1_21) + @ApiStatus.Experimental + BlockType.Typed WAXED_COPPER_DOOR = getBlockType("waxed_copper_door"); + /** + * BlockData: {@link Door} + */ + @MinecraftExperimental(Requires.UPDATE_1_21) + @ApiStatus.Experimental + BlockType.Typed WAXED_EXPOSED_COPPER_DOOR = getBlockType("waxed_exposed_copper_door"); + /** + * BlockData: {@link Door} + */ + @MinecraftExperimental(Requires.UPDATE_1_21) + @ApiStatus.Experimental + BlockType.Typed WAXED_OXIDIZED_COPPER_DOOR = getBlockType("waxed_oxidized_copper_door"); + /** + * BlockData: {@link Door} + */ + @MinecraftExperimental(Requires.UPDATE_1_21) + @ApiStatus.Experimental + BlockType.Typed WAXED_WEATHERED_COPPER_DOOR = getBlockType("waxed_weathered_copper_door"); + /** + * BlockData: {@link TrapDoor} + */ + @MinecraftExperimental(Requires.UPDATE_1_21) + @ApiStatus.Experimental + BlockType.Typed COPPER_TRAPDOOR = getBlockType("copper_trapdoor"); + /** + * BlockData: {@link TrapDoor} + */ + @MinecraftExperimental(Requires.UPDATE_1_21) + @ApiStatus.Experimental + BlockType.Typed EXPOSED_COPPER_TRAPDOOR = getBlockType("exposed_copper_trapdoor"); + /** + * BlockData: {@link TrapDoor} + */ + @MinecraftExperimental(Requires.UPDATE_1_21) + @ApiStatus.Experimental + BlockType.Typed OXIDIZED_COPPER_TRAPDOOR = getBlockType("oxidized_copper_trapdoor"); + /** + * BlockData: {@link TrapDoor} + */ + @MinecraftExperimental(Requires.UPDATE_1_21) + @ApiStatus.Experimental + BlockType.Typed WEATHERED_COPPER_TRAPDOOR = getBlockType("weathered_copper_trapdoor"); + /** + * BlockData: {@link TrapDoor} + */ + @MinecraftExperimental(Requires.UPDATE_1_21) + @ApiStatus.Experimental + BlockType.Typed WAXED_COPPER_TRAPDOOR = getBlockType("waxed_copper_trapdoor"); + /** + * BlockData: {@link TrapDoor} + */ + @MinecraftExperimental(Requires.UPDATE_1_21) + @ApiStatus.Experimental + BlockType.Typed WAXED_EXPOSED_COPPER_TRAPDOOR = getBlockType("waxed_exposed_copper_trapdoor"); + /** + * BlockData: {@link TrapDoor} + */ + @MinecraftExperimental(Requires.UPDATE_1_21) + @ApiStatus.Experimental + BlockType.Typed WAXED_OXIDIZED_COPPER_TRAPDOOR = getBlockType("waxed_oxidized_copper_trapdoor"); + /** + * BlockData: {@link TrapDoor} + */ + @MinecraftExperimental(Requires.UPDATE_1_21) + @ApiStatus.Experimental + BlockType.Typed WAXED_WEATHERED_COPPER_TRAPDOOR = getBlockType("waxed_weathered_copper_trapdoor"); + /** + * BlockData: {@link Waterlogged} + */ + @MinecraftExperimental(Requires.UPDATE_1_21) + @ApiStatus.Experimental + BlockType.Typed COPPER_GRATE = getBlockType("copper_grate"); + /** + * BlockData: {@link Waterlogged} + */ + @MinecraftExperimental(Requires.UPDATE_1_21) + @ApiStatus.Experimental + BlockType.Typed EXPOSED_COPPER_GRATE = getBlockType("exposed_copper_grate"); + /** + * BlockData: {@link Waterlogged} + */ + @MinecraftExperimental(Requires.UPDATE_1_21) + @ApiStatus.Experimental + BlockType.Typed WEATHERED_COPPER_GRATE = getBlockType("weathered_copper_grate"); + /** + * BlockData: {@link Waterlogged} + */ + @MinecraftExperimental(Requires.UPDATE_1_21) + @ApiStatus.Experimental + BlockType.Typed OXIDIZED_COPPER_GRATE = getBlockType("oxidized_copper_grate"); + /** + * BlockData: {@link Waterlogged} + */ + @MinecraftExperimental(Requires.UPDATE_1_21) + @ApiStatus.Experimental + BlockType.Typed WAXED_COPPER_GRATE = getBlockType("waxed_copper_grate"); + /** + * BlockData: {@link Waterlogged} + */ + @MinecraftExperimental(Requires.UPDATE_1_21) + @ApiStatus.Experimental + BlockType.Typed WAXED_EXPOSED_COPPER_GRATE = getBlockType("waxed_exposed_copper_grate"); + /** + * BlockData: {@link Waterlogged} + */ + @MinecraftExperimental(Requires.UPDATE_1_21) + @ApiStatus.Experimental + BlockType.Typed WAXED_WEATHERED_COPPER_GRATE = getBlockType("waxed_weathered_copper_grate"); + /** + * BlockData: {@link Waterlogged} + */ + @MinecraftExperimental(Requires.UPDATE_1_21) + @ApiStatus.Experimental + BlockType.Typed WAXED_OXIDIZED_COPPER_GRATE = getBlockType("waxed_oxidized_copper_grate"); + /** + * BlockData: {@link CopperBulb} + */ + @MinecraftExperimental(Requires.UPDATE_1_21) + @ApiStatus.Experimental + BlockType.Typed COPPER_BULB = getBlockType("copper_bulb"); + /** + * BlockData: {@link CopperBulb} + */ + @MinecraftExperimental(Requires.UPDATE_1_21) + @ApiStatus.Experimental + BlockType.Typed EXPOSED_COPPER_BULB = getBlockType("exposed_copper_bulb"); + /** + * BlockData: {@link CopperBulb} + */ + @MinecraftExperimental(Requires.UPDATE_1_21) + @ApiStatus.Experimental + BlockType.Typed WEATHERED_COPPER_BULB = getBlockType("weathered_copper_bulb"); + /** + * BlockData: {@link CopperBulb} + */ + @MinecraftExperimental(Requires.UPDATE_1_21) + @ApiStatus.Experimental + BlockType.Typed OXIDIZED_COPPER_BULB = getBlockType("oxidized_copper_bulb"); + /** + * BlockData: {@link CopperBulb} + */ + @MinecraftExperimental(Requires.UPDATE_1_21) + @ApiStatus.Experimental + BlockType.Typed WAXED_COPPER_BULB = getBlockType("waxed_copper_bulb"); + /** + * BlockData: {@link CopperBulb} + */ + @MinecraftExperimental(Requires.UPDATE_1_21) + @ApiStatus.Experimental + BlockType.Typed WAXED_EXPOSED_COPPER_BULB = getBlockType("waxed_exposed_copper_bulb"); + /** + * BlockData: {@link CopperBulb} + */ + @MinecraftExperimental(Requires.UPDATE_1_21) + @ApiStatus.Experimental + BlockType.Typed WAXED_WEATHERED_COPPER_BULB = getBlockType("waxed_weathered_copper_bulb"); + /** + * BlockData: {@link CopperBulb} + */ + @MinecraftExperimental(Requires.UPDATE_1_21) + @ApiStatus.Experimental + BlockType.Typed WAXED_OXIDIZED_COPPER_BULB = getBlockType("waxed_oxidized_copper_bulb"); + /** + * BlockData: {@link LightningRod} + */ + BlockType.Typed LIGHTNING_ROD = getBlockType("lightning_rod"); + /** + * BlockData: {@link PointedDripstone} + */ + BlockType.Typed POINTED_DRIPSTONE = getBlockType("pointed_dripstone"); + BlockType.Typed DRIPSTONE_BLOCK = getBlockType("dripstone_block"); + /** + * BlockData: {@link CaveVines} + */ + BlockType.Typed CAVE_VINES = getBlockType("cave_vines"); + /** + * BlockData: {@link CaveVinesPlant} + */ + BlockType.Typed CAVE_VINES_PLANT = getBlockType("cave_vines_plant"); + BlockType.Typed SPORE_BLOSSOM = getBlockType("spore_blossom"); + BlockType.Typed AZALEA = getBlockType("azalea"); + BlockType.Typed FLOWERING_AZALEA = getBlockType("flowering_azalea"); + BlockType.Typed MOSS_CARPET = getBlockType("moss_carpet"); + /** + * BlockData: {@link PinkPetals} + */ + BlockType.Typed PINK_PETALS = getBlockType("pink_petals"); + BlockType.Typed MOSS_BLOCK = getBlockType("moss_block"); + /** + * BlockData: {@link BigDripleaf} + */ + BlockType.Typed BIG_DRIPLEAF = getBlockType("big_dripleaf"); + /** + * BlockData: {@link Dripleaf} + */ + BlockType.Typed BIG_DRIPLEAF_STEM = getBlockType("big_dripleaf_stem"); + /** + * BlockData: {@link SmallDripleaf} + */ + BlockType.Typed SMALL_DRIPLEAF = getBlockType("small_dripleaf"); + /** + * BlockData: {@link Waterlogged} + */ + BlockType.Typed HANGING_ROOTS = getBlockType("hanging_roots"); + BlockType.Typed ROOTED_DIRT = getBlockType("rooted_dirt"); + BlockType.Typed MUD = getBlockType("mud"); + /** + * BlockData: {@link Orientable} + */ + BlockType.Typed DEEPSLATE = getBlockType("deepslate"); + BlockType.Typed COBBLED_DEEPSLATE = getBlockType("cobbled_deepslate"); + /** + * BlockData: {@link Stairs} + */ + BlockType.Typed COBBLED_DEEPSLATE_STAIRS = getBlockType("cobbled_deepslate_stairs"); + /** + * BlockData: {@link Slab} + */ + BlockType.Typed COBBLED_DEEPSLATE_SLAB = getBlockType("cobbled_deepslate_slab"); + /** + * BlockData: {@link Wall} + */ + BlockType.Typed COBBLED_DEEPSLATE_WALL = getBlockType("cobbled_deepslate_wall"); + BlockType.Typed POLISHED_DEEPSLATE = getBlockType("polished_deepslate"); + /** + * BlockData: {@link Stairs} + */ + BlockType.Typed POLISHED_DEEPSLATE_STAIRS = getBlockType("polished_deepslate_stairs"); + /** + * BlockData: {@link Slab} + */ + BlockType.Typed POLISHED_DEEPSLATE_SLAB = getBlockType("polished_deepslate_slab"); + /** + * BlockData: {@link Wall} + */ + BlockType.Typed POLISHED_DEEPSLATE_WALL = getBlockType("polished_deepslate_wall"); + BlockType.Typed DEEPSLATE_TILES = getBlockType("deepslate_tiles"); + /** + * BlockData: {@link Stairs} + */ + BlockType.Typed DEEPSLATE_TILE_STAIRS = getBlockType("deepslate_tile_stairs"); + /** + * BlockData: {@link Slab} + */ + BlockType.Typed DEEPSLATE_TILE_SLAB = getBlockType("deepslate_tile_slab"); + /** + * BlockData: {@link Wall} + */ + BlockType.Typed DEEPSLATE_TILE_WALL = getBlockType("deepslate_tile_wall"); + BlockType.Typed DEEPSLATE_BRICKS = getBlockType("deepslate_bricks"); + /** + * BlockData: {@link Stairs} + */ + BlockType.Typed DEEPSLATE_BRICK_STAIRS = getBlockType("deepslate_brick_stairs"); + /** + * BlockData: {@link Slab} + */ + BlockType.Typed DEEPSLATE_BRICK_SLAB = getBlockType("deepslate_brick_slab"); + /** + * BlockData: {@link Wall} + */ + BlockType.Typed DEEPSLATE_BRICK_WALL = getBlockType("deepslate_brick_wall"); + BlockType.Typed CHISELED_DEEPSLATE = getBlockType("chiseled_deepslate"); + BlockType.Typed CRACKED_DEEPSLATE_BRICKS = getBlockType("cracked_deepslate_bricks"); + BlockType.Typed CRACKED_DEEPSLATE_TILES = getBlockType("cracked_deepslate_tiles"); + /** + * BlockData: {@link Orientable} + */ + BlockType.Typed INFESTED_DEEPSLATE = getBlockType("infested_deepslate"); + BlockType.Typed SMOOTH_BASALT = getBlockType("smooth_basalt"); + BlockType.Typed RAW_IRON_BLOCK = getBlockType("raw_iron_block"); + BlockType.Typed RAW_COPPER_BLOCK = getBlockType("raw_copper_block"); + BlockType.Typed RAW_GOLD_BLOCK = getBlockType("raw_gold_block"); + BlockType.Typed POTTED_AZALEA_BUSH = getBlockType("potted_azalea_bush"); + BlockType.Typed POTTED_FLOWERING_AZALEA_BUSH = getBlockType("potted_flowering_azalea_bush"); + /** + * BlockData: {@link Orientable} + */ + BlockType.Typed OCHRE_FROGLIGHT = getBlockType("ochre_froglight"); + /** + * BlockData: {@link Orientable} + */ + BlockType.Typed VERDANT_FROGLIGHT = getBlockType("verdant_froglight"); + /** + * BlockData: {@link Orientable} + */ + BlockType.Typed PEARLESCENT_FROGLIGHT = getBlockType("pearlescent_froglight"); + BlockType.Typed FROGSPAWN = getBlockType("frogspawn"); + BlockType.Typed REINFORCED_DEEPSLATE = getBlockType("reinforced_deepslate"); + /** + * BlockData: {@link DecoratedPot} + */ + BlockType.Typed DECORATED_POT = getBlockType("decorated_pot"); + /** + * BlockData: {@link Crafter} + */ + @MinecraftExperimental(Requires.UPDATE_1_21) + @ApiStatus.Experimental + BlockType.Typed CRAFTER = getBlockType("crafter"); + /** + * BlockData: {@link TrialSpawner} + */ + @MinecraftExperimental(Requires.UPDATE_1_21) + @ApiStatus.Experimental + BlockType.Typed TRIAL_SPAWNER = getBlockType("trial_spawner"); + + // + + @NotNull + private static BlockType.Typed getBlockType(@NotNull String key) { + NamespacedKey namespacedKey = NamespacedKey.minecraft(key); + BlockType.Typed blockType = Registry.BLOCK.get(namespacedKey).typed(); + Preconditions.checkNotNull(blockType, "No BlockType found for %s. This is a bug.", namespacedKey); + return (BlockType.Typed) blockType; + } + + /** + * Yields this block type as a typed version of itself with a plain {@link BlockData} representing it. + * + * @return the typed block type. + */ + @NotNull + BlockType.Typed typed(); + + /** + * Yields this block type as a typed version of itself with a specific {@link BlockData} representing it. + * + * @param blockDataType the class type of the {@link BlockData} to type this {@link BlockType} with. + * @param the generic type of the block data to type this block type with. + * @return the typed block type. + */ + @NotNull + BlockType.Typed typed(@NotNull Class blockDataType); + + /** + * Returns true if this BlockType has a corresponding {@link ItemType}. + * + * @return true if there is a corresponding ItemType, otherwise false + * @see #getItemType() + */ + boolean hasItemType(); + + /** + * Returns the corresponding {@link ItemType} for the given BlockType. + *

+ * If there is no corresponding {@link ItemType} an error will be thrown. + * + * @return the corresponding ItemType + * @see #hasItemType() + * @see BlockData#getPlacementType() + */ + @NotNull + ItemType getItemType(); + + /** + * Gets the BlockData class of this BlockType + * + * @return the BlockData class of this BlockType + */ + @NotNull + Class getBlockDataClass(); + + /** + * Creates a new {@link BlockData} instance for this block type, with all + * properties initialized to unspecified defaults. + * + * @return new data instance + */ + @NotNull + BlockData createBlockData(); + + /** + * Creates a new {@link BlockData} instance for this block type, with all + * properties initialized to unspecified defaults, except for those provided + * in data. + * + * @param data data string + * @return new data instance + * @throws IllegalArgumentException if the specified data is not valid + */ + @NotNull + BlockData createBlockData(@Nullable String data); + + /** + * Check if the blockt type is solid (can be built upon) + * + * @return True if this block type is solid + */ + boolean isSolid(); + + /** + * Check if the block type can catch fire + * + * @return True if this block type can catch fire + */ + boolean isFlammable(); + + /** + * Check if the block type can burn away + * + * @return True if this block type can burn away + */ + boolean isBurnable(); + + /** + * Check if the block type is occludes light in the lighting engine. + *

+ * Generally speaking, most full blocks will occlude light. Non-full blocks are + * not occluding (e.g. anvils, chests, tall grass, stairs, etc.), nor are specific + * full blocks such as barriers or spawners which block light despite their texture. + *

+ * An occluding block will have the following effects: + *

    + *
  • Chests cannot be opened if an occluding block is above it. + *
  • Mobs cannot spawn inside of occluding blocks. + *
  • Only occluding blocks can be "powered" ({@link Block#isBlockPowered()}). + *
+ * This list may be inconclusive. For a full list of the side effects of an occluding + * block, see the Minecraft Wiki. + * + * @return True if this block type occludes light + */ + boolean isOccluding(); + + /** + * @return True if this block type is affected by gravity. + */ + boolean hasGravity(); + + /** + * Checks if this block type can be interacted with. + *

+ * Interactable block types include those with functionality when they are + * interacted with by a player such as chests, furnaces, etc. + *

+ * Some blocks such as piston heads and stairs are considered interactable + * though may not perform any additional functionality. + *

+ * Note that the interactability of some block types may be dependant on their + * state as well. This method will return true if there is at least one + * state in which additional interact handling is performed for the + * block type. + * + * @return true if this block type can be interacted with. + */ + boolean isInteractable(); + + /** + * Obtains the block's hardness level (also known as "strength"). + *
+ * This number is used to calculate the time required to break each block. + * + * @return the hardness of that block type. + */ + float getHardness(); + + /** + * Obtains the blast resistance value (also known as block "durability"). + *
+ * This value is used in explosions to calculate whether a block should be + * broken or not. + * + * @return the blast resistance of that block type. + */ + float getBlastResistance(); + + /** + * Returns a value that represents how 'slippery' the block is. + *

+ * Blocks with higher slipperiness, like {@link BlockType#ICE} can be slid on + * further by the player and other entities. + *

+ * Most blocks have a default slipperiness of {@code 0.6f}. + * + * @return the slipperiness of this block + */ + float getSlipperiness(); + + /** + * Check if the block type is an air block. + * + * @return True if this block type is an air block. + */ + boolean isAir(); + + /** + * Gets if the BlockType is enabled by the features in a world. + * + * @param world the world to check + * @return true if this BlockType can be used in this World. + */ + boolean isEnabledByFeature(@NotNull World world); + + /** + * Tries to convert this BlockType into a Material + * + * @return the converted Material or null + * @deprecated only for internal use + */ + @Nullable + @Deprecated + Material asMaterial(); +} diff --git a/paper-api/src/main/java/org/bukkit/inventory/ItemType.java b/paper-api/src/main/java/org/bukkit/inventory/ItemType.java new file mode 100644 index 0000000000..8dc744f253 --- /dev/null +++ b/paper-api/src/main/java/org/bukkit/inventory/ItemType.java @@ -0,0 +1,2422 @@ +package org.bukkit.inventory; + +import com.google.common.base.Preconditions; +import com.google.common.collect.Multimap; +import java.util.function.Consumer; +import org.bukkit.Keyed; +import org.bukkit.Material; +import org.bukkit.MinecraftExperimental; +import org.bukkit.MinecraftExperimental.Requires; +import org.bukkit.NamespacedKey; +import org.bukkit.Registry; +import org.bukkit.Translatable; +import org.bukkit.World; +import org.bukkit.attribute.Attribute; +import org.bukkit.attribute.AttributeModifier; +import org.bukkit.block.BlockType; +import org.bukkit.inventory.meta.ArmorMeta; +import org.bukkit.inventory.meta.AxolotlBucketMeta; +import org.bukkit.inventory.meta.BannerMeta; +import org.bukkit.inventory.meta.BlockStateMeta; +import org.bukkit.inventory.meta.BookMeta; +import org.bukkit.inventory.meta.BundleMeta; +import org.bukkit.inventory.meta.ColorableArmorMeta; +import org.bukkit.inventory.meta.CompassMeta; +import org.bukkit.inventory.meta.CrossbowMeta; +import org.bukkit.inventory.meta.EnchantmentStorageMeta; +import org.bukkit.inventory.meta.FireworkEffectMeta; +import org.bukkit.inventory.meta.FireworkMeta; +import org.bukkit.inventory.meta.ItemMeta; +import org.bukkit.inventory.meta.KnowledgeBookMeta; +import org.bukkit.inventory.meta.LeatherArmorMeta; +import org.bukkit.inventory.meta.MapMeta; +import org.bukkit.inventory.meta.MusicInstrumentMeta; +import org.bukkit.inventory.meta.OminousBottleMeta; +import org.bukkit.inventory.meta.PotionMeta; +import org.bukkit.inventory.meta.SkullMeta; +import org.bukkit.inventory.meta.SpawnEggMeta; +import org.bukkit.inventory.meta.SuspiciousStewMeta; +import org.bukkit.inventory.meta.TropicalFishBucketMeta; +import org.jetbrains.annotations.ApiStatus; +import org.jetbrains.annotations.NotNull; +import org.jetbrains.annotations.Nullable; + +/** + * While this API is in a public interface, it is not intended for use by + * plugins until further notice. The purpose of these types is to make + * {@link Material} more maintenance friendly, but will in due time be the + * official replacement for the aforementioned enum. Entirely incompatible + * changes may occur. Do not use this API in plugins. + */ +@ApiStatus.Internal +public interface ItemType extends Keyed, Translatable { + + /** + * Typed represents a subtype of {@link ItemType}s that have a known item meta type + * at compile time. + * + * @param the generic type of the item meta that represents the item type. + */ + interface Typed extends ItemType { + + /** + * Gets the ItemMeta class of this ItemType + * + * @return the ItemMeta class of this ItemType + */ + @Override + @NotNull + Class getItemMetaClass(); + + /** + * Constructs a new item stack with this item type with the amount 1. + * + * @param metaConfigurator an optional consumer of the items {@link ItemMeta} that is called. + * May be null if no intent exists to mutate the item meta at this point. + * @return the created and configured item stack. + */ + @NotNull + ItemStack createItemStack(@Nullable Consumer metaConfigurator); + + /** + * Constructs a new item stack with this item type. + * + * @param amount the amount of itemstack. + * @param metaConfigurator an optional consumer of the items {@link ItemMeta} that is called. + * May be null if no intent exists to mutate the item meta at this point. + * @return the created and configured item stack. + */ + @NotNull + ItemStack createItemStack(int amount, @Nullable Consumer metaConfigurator); + } + + // + /** + * Air does not have any ItemMeta + */ + ItemType AIR = getItemType("air"); + ItemType.Typed STONE = getItemType("stone"); + ItemType.Typed GRANITE = getItemType("granite"); + ItemType.Typed POLISHED_GRANITE = getItemType("polished_granite"); + ItemType.Typed DIORITE = getItemType("diorite"); + ItemType.Typed POLISHED_DIORITE = getItemType("polished_diorite"); + ItemType.Typed ANDESITE = getItemType("andesite"); + ItemType.Typed POLISHED_ANDESITE = getItemType("polished_andesite"); + ItemType.Typed DEEPSLATE = getItemType("deepslate"); + ItemType.Typed COBBLED_DEEPSLATE = getItemType("cobbled_deepslate"); + ItemType.Typed POLISHED_DEEPSLATE = getItemType("polished_deepslate"); + ItemType.Typed CALCITE = getItemType("calcite"); + ItemType.Typed TUFF = getItemType("tuff"); + @MinecraftExperimental(Requires.UPDATE_1_21) + @ApiStatus.Experimental + ItemType.Typed TUFF_SLAB = getItemType("tuff_slab"); + @MinecraftExperimental(Requires.UPDATE_1_21) + @ApiStatus.Experimental + ItemType.Typed TUFF_STAIRS = getItemType("tuff_stairs"); + @MinecraftExperimental(Requires.UPDATE_1_21) + @ApiStatus.Experimental + ItemType.Typed TUFF_WALL = getItemType("tuff_wall"); + @MinecraftExperimental(Requires.UPDATE_1_21) + @ApiStatus.Experimental + ItemType.Typed CHISELED_TUFF = getItemType("chiseled_tuff"); + @MinecraftExperimental(Requires.UPDATE_1_21) + @ApiStatus.Experimental + ItemType.Typed POLISHED_TUFF = getItemType("polished_tuff"); + @MinecraftExperimental(Requires.UPDATE_1_21) + @ApiStatus.Experimental + ItemType.Typed POLISHED_TUFF_SLAB = getItemType("polished_tuff_slab"); + @MinecraftExperimental(Requires.UPDATE_1_21) + @ApiStatus.Experimental + ItemType.Typed POLISHED_TUFF_STAIRS = getItemType("polished_tuff_stairs"); + @MinecraftExperimental(Requires.UPDATE_1_21) + @ApiStatus.Experimental + ItemType.Typed POLISHED_TUFF_WALL = getItemType("polished_tuff_wall"); + @MinecraftExperimental(Requires.UPDATE_1_21) + @ApiStatus.Experimental + ItemType.Typed TUFF_BRICKS = getItemType("tuff_bricks"); + @MinecraftExperimental(Requires.UPDATE_1_21) + @ApiStatus.Experimental + ItemType.Typed TUFF_BRICK_SLAB = getItemType("tuff_brick_slab"); + @MinecraftExperimental(Requires.UPDATE_1_21) + @ApiStatus.Experimental + ItemType.Typed TUFF_BRICK_STAIRS = getItemType("tuff_brick_stairs"); + @MinecraftExperimental(Requires.UPDATE_1_21) + @ApiStatus.Experimental + ItemType.Typed TUFF_BRICK_WALL = getItemType("tuff_brick_wall"); + @MinecraftExperimental(Requires.UPDATE_1_21) + @ApiStatus.Experimental + ItemType.Typed CHISELED_TUFF_BRICKS = getItemType("chiseled_tuff_bricks"); + ItemType.Typed DRIPSTONE_BLOCK = getItemType("dripstone_block"); + ItemType.Typed GRASS_BLOCK = getItemType("grass_block"); + ItemType.Typed DIRT = getItemType("dirt"); + ItemType.Typed COARSE_DIRT = getItemType("coarse_dirt"); + ItemType.Typed PODZOL = getItemType("podzol"); + ItemType.Typed ROOTED_DIRT = getItemType("rooted_dirt"); + ItemType.Typed MUD = getItemType("mud"); + ItemType.Typed CRIMSON_NYLIUM = getItemType("crimson_nylium"); + ItemType.Typed WARPED_NYLIUM = getItemType("warped_nylium"); + ItemType.Typed COBBLESTONE = getItemType("cobblestone"); + ItemType.Typed OAK_PLANKS = getItemType("oak_planks"); + ItemType.Typed SPRUCE_PLANKS = getItemType("spruce_planks"); + ItemType.Typed BIRCH_PLANKS = getItemType("birch_planks"); + ItemType.Typed JUNGLE_PLANKS = getItemType("jungle_planks"); + ItemType.Typed ACACIA_PLANKS = getItemType("acacia_planks"); + ItemType.Typed CHERRY_PLANKS = getItemType("cherry_planks"); + ItemType.Typed DARK_OAK_PLANKS = getItemType("dark_oak_planks"); + ItemType.Typed MANGROVE_PLANKS = getItemType("mangrove_planks"); + ItemType.Typed BAMBOO_PLANKS = getItemType("bamboo_planks"); + ItemType.Typed CRIMSON_PLANKS = getItemType("crimson_planks"); + ItemType.Typed WARPED_PLANKS = getItemType("warped_planks"); + ItemType.Typed BAMBOO_MOSAIC = getItemType("bamboo_mosaic"); + ItemType.Typed OAK_SAPLING = getItemType("oak_sapling"); + ItemType.Typed SPRUCE_SAPLING = getItemType("spruce_sapling"); + ItemType.Typed BIRCH_SAPLING = getItemType("birch_sapling"); + ItemType.Typed JUNGLE_SAPLING = getItemType("jungle_sapling"); + ItemType.Typed ACACIA_SAPLING = getItemType("acacia_sapling"); + ItemType.Typed CHERRY_SAPLING = getItemType("cherry_sapling"); + ItemType.Typed DARK_OAK_SAPLING = getItemType("dark_oak_sapling"); + ItemType.Typed MANGROVE_PROPAGULE = getItemType("mangrove_propagule"); + ItemType.Typed BEDROCK = getItemType("bedrock"); + ItemType.Typed SAND = getItemType("sand"); + /** + * ItemMeta: {@link BlockStateMeta} + */ + ItemType.Typed SUSPICIOUS_SAND = getItemType("suspicious_sand"); + /** + * ItemMeta: {@link BlockStateMeta} + */ + ItemType.Typed SUSPICIOUS_GRAVEL = getItemType("suspicious_gravel"); + ItemType.Typed RED_SAND = getItemType("red_sand"); + ItemType.Typed GRAVEL = getItemType("gravel"); + ItemType.Typed COAL_ORE = getItemType("coal_ore"); + ItemType.Typed DEEPSLATE_COAL_ORE = getItemType("deepslate_coal_ore"); + ItemType.Typed IRON_ORE = getItemType("iron_ore"); + ItemType.Typed DEEPSLATE_IRON_ORE = getItemType("deepslate_iron_ore"); + ItemType.Typed COPPER_ORE = getItemType("copper_ore"); + ItemType.Typed DEEPSLATE_COPPER_ORE = getItemType("deepslate_copper_ore"); + ItemType.Typed GOLD_ORE = getItemType("gold_ore"); + ItemType.Typed DEEPSLATE_GOLD_ORE = getItemType("deepslate_gold_ore"); + ItemType.Typed REDSTONE_ORE = getItemType("redstone_ore"); + ItemType.Typed DEEPSLATE_REDSTONE_ORE = getItemType("deepslate_redstone_ore"); + ItemType.Typed EMERALD_ORE = getItemType("emerald_ore"); + ItemType.Typed DEEPSLATE_EMERALD_ORE = getItemType("deepslate_emerald_ore"); + ItemType.Typed LAPIS_ORE = getItemType("lapis_ore"); + ItemType.Typed DEEPSLATE_LAPIS_ORE = getItemType("deepslate_lapis_ore"); + ItemType.Typed DIAMOND_ORE = getItemType("diamond_ore"); + ItemType.Typed DEEPSLATE_DIAMOND_ORE = getItemType("deepslate_diamond_ore"); + ItemType.Typed NETHER_GOLD_ORE = getItemType("nether_gold_ore"); + ItemType.Typed NETHER_QUARTZ_ORE = getItemType("nether_quartz_ore"); + ItemType.Typed ANCIENT_DEBRIS = getItemType("ancient_debris"); + ItemType.Typed COAL_BLOCK = getItemType("coal_block"); + ItemType.Typed RAW_IRON_BLOCK = getItemType("raw_iron_block"); + ItemType.Typed RAW_COPPER_BLOCK = getItemType("raw_copper_block"); + ItemType.Typed RAW_GOLD_BLOCK = getItemType("raw_gold_block"); + @MinecraftExperimental(Requires.UPDATE_1_21) + @ApiStatus.Experimental + ItemType.Typed HEAVY_CORE = getItemType("heavy_core"); + ItemType.Typed AMETHYST_BLOCK = getItemType("amethyst_block"); + ItemType.Typed BUDDING_AMETHYST = getItemType("budding_amethyst"); + ItemType.Typed IRON_BLOCK = getItemType("iron_block"); + ItemType.Typed COPPER_BLOCK = getItemType("copper_block"); + ItemType.Typed GOLD_BLOCK = getItemType("gold_block"); + ItemType.Typed DIAMOND_BLOCK = getItemType("diamond_block"); + ItemType.Typed NETHERITE_BLOCK = getItemType("netherite_block"); + ItemType.Typed EXPOSED_COPPER = getItemType("exposed_copper"); + ItemType.Typed WEATHERED_COPPER = getItemType("weathered_copper"); + ItemType.Typed OXIDIZED_COPPER = getItemType("oxidized_copper"); + @MinecraftExperimental(Requires.UPDATE_1_21) + @ApiStatus.Experimental + ItemType.Typed CHISELED_COPPER = getItemType("chiseled_copper"); + @MinecraftExperimental(Requires.UPDATE_1_21) + @ApiStatus.Experimental + ItemType.Typed EXPOSED_CHISELED_COPPER = getItemType("exposed_chiseled_copper"); + @MinecraftExperimental(Requires.UPDATE_1_21) + @ApiStatus.Experimental + ItemType.Typed WEATHERED_CHISELED_COPPER = getItemType("weathered_chiseled_copper"); + @MinecraftExperimental(Requires.UPDATE_1_21) + @ApiStatus.Experimental + ItemType.Typed OXIDIZED_CHISELED_COPPER = getItemType("oxidized_chiseled_copper"); + ItemType.Typed CUT_COPPER = getItemType("cut_copper"); + ItemType.Typed EXPOSED_CUT_COPPER = getItemType("exposed_cut_copper"); + ItemType.Typed WEATHERED_CUT_COPPER = getItemType("weathered_cut_copper"); + ItemType.Typed OXIDIZED_CUT_COPPER = getItemType("oxidized_cut_copper"); + ItemType.Typed CUT_COPPER_STAIRS = getItemType("cut_copper_stairs"); + ItemType.Typed EXPOSED_CUT_COPPER_STAIRS = getItemType("exposed_cut_copper_stairs"); + ItemType.Typed WEATHERED_CUT_COPPER_STAIRS = getItemType("weathered_cut_copper_stairs"); + ItemType.Typed OXIDIZED_CUT_COPPER_STAIRS = getItemType("oxidized_cut_copper_stairs"); + ItemType.Typed CUT_COPPER_SLAB = getItemType("cut_copper_slab"); + ItemType.Typed EXPOSED_CUT_COPPER_SLAB = getItemType("exposed_cut_copper_slab"); + ItemType.Typed WEATHERED_CUT_COPPER_SLAB = getItemType("weathered_cut_copper_slab"); + ItemType.Typed OXIDIZED_CUT_COPPER_SLAB = getItemType("oxidized_cut_copper_slab"); + ItemType.Typed WAXED_COPPER_BLOCK = getItemType("waxed_copper_block"); + ItemType.Typed WAXED_EXPOSED_COPPER = getItemType("waxed_exposed_copper"); + ItemType.Typed WAXED_WEATHERED_COPPER = getItemType("waxed_weathered_copper"); + ItemType.Typed WAXED_OXIDIZED_COPPER = getItemType("waxed_oxidized_copper"); + @MinecraftExperimental(Requires.UPDATE_1_21) + @ApiStatus.Experimental + ItemType.Typed WAXED_CHISELED_COPPER = getItemType("waxed_chiseled_copper"); + @MinecraftExperimental(Requires.UPDATE_1_21) + @ApiStatus.Experimental + ItemType.Typed WAXED_EXPOSED_CHISELED_COPPER = getItemType("waxed_exposed_chiseled_copper"); + @MinecraftExperimental(Requires.UPDATE_1_21) + @ApiStatus.Experimental + ItemType.Typed WAXED_WEATHERED_CHISELED_COPPER = getItemType("waxed_weathered_chiseled_copper"); + @MinecraftExperimental(Requires.UPDATE_1_21) + @ApiStatus.Experimental + ItemType.Typed WAXED_OXIDIZED_CHISELED_COPPER = getItemType("waxed_oxidized_chiseled_copper"); + ItemType.Typed WAXED_CUT_COPPER = getItemType("waxed_cut_copper"); + ItemType.Typed WAXED_EXPOSED_CUT_COPPER = getItemType("waxed_exposed_cut_copper"); + ItemType.Typed WAXED_WEATHERED_CUT_COPPER = getItemType("waxed_weathered_cut_copper"); + ItemType.Typed WAXED_OXIDIZED_CUT_COPPER = getItemType("waxed_oxidized_cut_copper"); + ItemType.Typed WAXED_CUT_COPPER_STAIRS = getItemType("waxed_cut_copper_stairs"); + ItemType.Typed WAXED_EXPOSED_CUT_COPPER_STAIRS = getItemType("waxed_exposed_cut_copper_stairs"); + ItemType.Typed WAXED_WEATHERED_CUT_COPPER_STAIRS = getItemType("waxed_weathered_cut_copper_stairs"); + ItemType.Typed WAXED_OXIDIZED_CUT_COPPER_STAIRS = getItemType("waxed_oxidized_cut_copper_stairs"); + ItemType.Typed WAXED_CUT_COPPER_SLAB = getItemType("waxed_cut_copper_slab"); + ItemType.Typed WAXED_EXPOSED_CUT_COPPER_SLAB = getItemType("waxed_exposed_cut_copper_slab"); + ItemType.Typed WAXED_WEATHERED_CUT_COPPER_SLAB = getItemType("waxed_weathered_cut_copper_slab"); + ItemType.Typed WAXED_OXIDIZED_CUT_COPPER_SLAB = getItemType("waxed_oxidized_cut_copper_slab"); + ItemType.Typed OAK_LOG = getItemType("oak_log"); + ItemType.Typed SPRUCE_LOG = getItemType("spruce_log"); + ItemType.Typed BIRCH_LOG = getItemType("birch_log"); + ItemType.Typed JUNGLE_LOG = getItemType("jungle_log"); + ItemType.Typed ACACIA_LOG = getItemType("acacia_log"); + ItemType.Typed CHERRY_LOG = getItemType("cherry_log"); + ItemType.Typed DARK_OAK_LOG = getItemType("dark_oak_log"); + ItemType.Typed MANGROVE_LOG = getItemType("mangrove_log"); + ItemType.Typed MANGROVE_ROOTS = getItemType("mangrove_roots"); + ItemType.Typed MUDDY_MANGROVE_ROOTS = getItemType("muddy_mangrove_roots"); + ItemType.Typed CRIMSON_STEM = getItemType("crimson_stem"); + ItemType.Typed WARPED_STEM = getItemType("warped_stem"); + ItemType.Typed BAMBOO_BLOCK = getItemType("bamboo_block"); + ItemType.Typed STRIPPED_OAK_LOG = getItemType("stripped_oak_log"); + ItemType.Typed STRIPPED_SPRUCE_LOG = getItemType("stripped_spruce_log"); + ItemType.Typed STRIPPED_BIRCH_LOG = getItemType("stripped_birch_log"); + ItemType.Typed STRIPPED_JUNGLE_LOG = getItemType("stripped_jungle_log"); + ItemType.Typed STRIPPED_ACACIA_LOG = getItemType("stripped_acacia_log"); + ItemType.Typed STRIPPED_CHERRY_LOG = getItemType("stripped_cherry_log"); + ItemType.Typed STRIPPED_DARK_OAK_LOG = getItemType("stripped_dark_oak_log"); + ItemType.Typed STRIPPED_MANGROVE_LOG = getItemType("stripped_mangrove_log"); + ItemType.Typed STRIPPED_CRIMSON_STEM = getItemType("stripped_crimson_stem"); + ItemType.Typed STRIPPED_WARPED_STEM = getItemType("stripped_warped_stem"); + ItemType.Typed STRIPPED_OAK_WOOD = getItemType("stripped_oak_wood"); + ItemType.Typed STRIPPED_SPRUCE_WOOD = getItemType("stripped_spruce_wood"); + ItemType.Typed STRIPPED_BIRCH_WOOD = getItemType("stripped_birch_wood"); + ItemType.Typed STRIPPED_JUNGLE_WOOD = getItemType("stripped_jungle_wood"); + ItemType.Typed STRIPPED_ACACIA_WOOD = getItemType("stripped_acacia_wood"); + ItemType.Typed STRIPPED_CHERRY_WOOD = getItemType("stripped_cherry_wood"); + ItemType.Typed STRIPPED_DARK_OAK_WOOD = getItemType("stripped_dark_oak_wood"); + ItemType.Typed STRIPPED_MANGROVE_WOOD = getItemType("stripped_mangrove_wood"); + ItemType.Typed STRIPPED_CRIMSON_HYPHAE = getItemType("stripped_crimson_hyphae"); + ItemType.Typed STRIPPED_WARPED_HYPHAE = getItemType("stripped_warped_hyphae"); + ItemType.Typed STRIPPED_BAMBOO_BLOCK = getItemType("stripped_bamboo_block"); + ItemType.Typed OAK_WOOD = getItemType("oak_wood"); + ItemType.Typed SPRUCE_WOOD = getItemType("spruce_wood"); + ItemType.Typed BIRCH_WOOD = getItemType("birch_wood"); + ItemType.Typed JUNGLE_WOOD = getItemType("jungle_wood"); + ItemType.Typed ACACIA_WOOD = getItemType("acacia_wood"); + ItemType.Typed CHERRY_WOOD = getItemType("cherry_wood"); + ItemType.Typed DARK_OAK_WOOD = getItemType("dark_oak_wood"); + ItemType.Typed MANGROVE_WOOD = getItemType("mangrove_wood"); + ItemType.Typed CRIMSON_HYPHAE = getItemType("crimson_hyphae"); + ItemType.Typed WARPED_HYPHAE = getItemType("warped_hyphae"); + ItemType.Typed OAK_LEAVES = getItemType("oak_leaves"); + ItemType.Typed SPRUCE_LEAVES = getItemType("spruce_leaves"); + ItemType.Typed BIRCH_LEAVES = getItemType("birch_leaves"); + ItemType.Typed JUNGLE_LEAVES = getItemType("jungle_leaves"); + ItemType.Typed ACACIA_LEAVES = getItemType("acacia_leaves"); + ItemType.Typed CHERRY_LEAVES = getItemType("cherry_leaves"); + ItemType.Typed DARK_OAK_LEAVES = getItemType("dark_oak_leaves"); + ItemType.Typed MANGROVE_LEAVES = getItemType("mangrove_leaves"); + ItemType.Typed AZALEA_LEAVES = getItemType("azalea_leaves"); + ItemType.Typed FLOWERING_AZALEA_LEAVES = getItemType("flowering_azalea_leaves"); + ItemType.Typed SPONGE = getItemType("sponge"); + ItemType.Typed WET_SPONGE = getItemType("wet_sponge"); + ItemType.Typed GLASS = getItemType("glass"); + ItemType.Typed TINTED_GLASS = getItemType("tinted_glass"); + ItemType.Typed LAPIS_BLOCK = getItemType("lapis_block"); + ItemType.Typed SANDSTONE = getItemType("sandstone"); + ItemType.Typed CHISELED_SANDSTONE = getItemType("chiseled_sandstone"); + ItemType.Typed CUT_SANDSTONE = getItemType("cut_sandstone"); + ItemType.Typed COBWEB = getItemType("cobweb"); + ItemType.Typed SHORT_GRASS = getItemType("short_grass"); + ItemType.Typed FERN = getItemType("fern"); + ItemType.Typed AZALEA = getItemType("azalea"); + ItemType.Typed FLOWERING_AZALEA = getItemType("flowering_azalea"); + ItemType.Typed DEAD_BUSH = getItemType("dead_bush"); + ItemType.Typed SEAGRASS = getItemType("seagrass"); + ItemType.Typed SEA_PICKLE = getItemType("sea_pickle"); + ItemType.Typed WHITE_WOOL = getItemType("white_wool"); + ItemType.Typed ORANGE_WOOL = getItemType("orange_wool"); + ItemType.Typed MAGENTA_WOOL = getItemType("magenta_wool"); + ItemType.Typed LIGHT_BLUE_WOOL = getItemType("light_blue_wool"); + ItemType.Typed YELLOW_WOOL = getItemType("yellow_wool"); + ItemType.Typed LIME_WOOL = getItemType("lime_wool"); + ItemType.Typed PINK_WOOL = getItemType("pink_wool"); + ItemType.Typed GRAY_WOOL = getItemType("gray_wool"); + ItemType.Typed LIGHT_GRAY_WOOL = getItemType("light_gray_wool"); + ItemType.Typed CYAN_WOOL = getItemType("cyan_wool"); + ItemType.Typed PURPLE_WOOL = getItemType("purple_wool"); + ItemType.Typed BLUE_WOOL = getItemType("blue_wool"); + ItemType.Typed BROWN_WOOL = getItemType("brown_wool"); + ItemType.Typed GREEN_WOOL = getItemType("green_wool"); + ItemType.Typed RED_WOOL = getItemType("red_wool"); + ItemType.Typed BLACK_WOOL = getItemType("black_wool"); + ItemType.Typed DANDELION = getItemType("dandelion"); + ItemType.Typed POPPY = getItemType("poppy"); + ItemType.Typed BLUE_ORCHID = getItemType("blue_orchid"); + ItemType.Typed ALLIUM = getItemType("allium"); + ItemType.Typed AZURE_BLUET = getItemType("azure_bluet"); + ItemType.Typed RED_TULIP = getItemType("red_tulip"); + ItemType.Typed ORANGE_TULIP = getItemType("orange_tulip"); + ItemType.Typed WHITE_TULIP = getItemType("white_tulip"); + ItemType.Typed PINK_TULIP = getItemType("pink_tulip"); + ItemType.Typed OXEYE_DAISY = getItemType("oxeye_daisy"); + ItemType.Typed CORNFLOWER = getItemType("cornflower"); + ItemType.Typed LILY_OF_THE_VALLEY = getItemType("lily_of_the_valley"); + ItemType.Typed WITHER_ROSE = getItemType("wither_rose"); + ItemType.Typed TORCHFLOWER = getItemType("torchflower"); + ItemType.Typed PITCHER_PLANT = getItemType("pitcher_plant"); + ItemType.Typed SPORE_BLOSSOM = getItemType("spore_blossom"); + ItemType.Typed BROWN_MUSHROOM = getItemType("brown_mushroom"); + ItemType.Typed RED_MUSHROOM = getItemType("red_mushroom"); + ItemType.Typed CRIMSON_FUNGUS = getItemType("crimson_fungus"); + ItemType.Typed WARPED_FUNGUS = getItemType("warped_fungus"); + ItemType.Typed CRIMSON_ROOTS = getItemType("crimson_roots"); + ItemType.Typed WARPED_ROOTS = getItemType("warped_roots"); + ItemType.Typed NETHER_SPROUTS = getItemType("nether_sprouts"); + ItemType.Typed WEEPING_VINES = getItemType("weeping_vines"); + ItemType.Typed TWISTING_VINES = getItemType("twisting_vines"); + ItemType.Typed SUGAR_CANE = getItemType("sugar_cane"); + ItemType.Typed KELP = getItemType("kelp"); + ItemType.Typed MOSS_CARPET = getItemType("moss_carpet"); + ItemType.Typed PINK_PETALS = getItemType("pink_petals"); + ItemType.Typed MOSS_BLOCK = getItemType("moss_block"); + ItemType.Typed HANGING_ROOTS = getItemType("hanging_roots"); + ItemType.Typed BIG_DRIPLEAF = getItemType("big_dripleaf"); + ItemType.Typed SMALL_DRIPLEAF = getItemType("small_dripleaf"); + ItemType.Typed BAMBOO = getItemType("bamboo"); + ItemType.Typed OAK_SLAB = getItemType("oak_slab"); + ItemType.Typed SPRUCE_SLAB = getItemType("spruce_slab"); + ItemType.Typed BIRCH_SLAB = getItemType("birch_slab"); + ItemType.Typed JUNGLE_SLAB = getItemType("jungle_slab"); + ItemType.Typed ACACIA_SLAB = getItemType("acacia_slab"); + ItemType.Typed CHERRY_SLAB = getItemType("cherry_slab"); + ItemType.Typed DARK_OAK_SLAB = getItemType("dark_oak_slab"); + ItemType.Typed MANGROVE_SLAB = getItemType("mangrove_slab"); + ItemType.Typed BAMBOO_SLAB = getItemType("bamboo_slab"); + ItemType.Typed BAMBOO_MOSAIC_SLAB = getItemType("bamboo_mosaic_slab"); + ItemType.Typed CRIMSON_SLAB = getItemType("crimson_slab"); + ItemType.Typed WARPED_SLAB = getItemType("warped_slab"); + ItemType.Typed STONE_SLAB = getItemType("stone_slab"); + ItemType.Typed SMOOTH_STONE_SLAB = getItemType("smooth_stone_slab"); + ItemType.Typed SANDSTONE_SLAB = getItemType("sandstone_slab"); + ItemType.Typed CUT_SANDSTONE_SLAB = getItemType("cut_sandstone_slab"); + ItemType.Typed PETRIFIED_OAK_SLAB = getItemType("petrified_oak_slab"); + ItemType.Typed COBBLESTONE_SLAB = getItemType("cobblestone_slab"); + ItemType.Typed BRICK_SLAB = getItemType("brick_slab"); + ItemType.Typed STONE_BRICK_SLAB = getItemType("stone_brick_slab"); + ItemType.Typed MUD_BRICK_SLAB = getItemType("mud_brick_slab"); + ItemType.Typed NETHER_BRICK_SLAB = getItemType("nether_brick_slab"); + ItemType.Typed QUARTZ_SLAB = getItemType("quartz_slab"); + ItemType.Typed RED_SANDSTONE_SLAB = getItemType("red_sandstone_slab"); + ItemType.Typed CUT_RED_SANDSTONE_SLAB = getItemType("cut_red_sandstone_slab"); + ItemType.Typed PURPUR_SLAB = getItemType("purpur_slab"); + ItemType.Typed PRISMARINE_SLAB = getItemType("prismarine_slab"); + ItemType.Typed PRISMARINE_BRICK_SLAB = getItemType("prismarine_brick_slab"); + ItemType.Typed DARK_PRISMARINE_SLAB = getItemType("dark_prismarine_slab"); + ItemType.Typed SMOOTH_QUARTZ = getItemType("smooth_quartz"); + ItemType.Typed SMOOTH_RED_SANDSTONE = getItemType("smooth_red_sandstone"); + ItemType.Typed SMOOTH_SANDSTONE = getItemType("smooth_sandstone"); + ItemType.Typed SMOOTH_STONE = getItemType("smooth_stone"); + ItemType.Typed BRICKS = getItemType("bricks"); + ItemType.Typed BOOKSHELF = getItemType("bookshelf"); + /** + * ItemMeta: {@link BlockStateMeta} + */ + ItemType.Typed CHISELED_BOOKSHELF = getItemType("chiseled_bookshelf"); + /** + * ItemMeta: {@link BlockStateMeta} + */ + ItemType.Typed DECORATED_POT = getItemType("decorated_pot"); + ItemType.Typed MOSSY_COBBLESTONE = getItemType("mossy_cobblestone"); + ItemType.Typed OBSIDIAN = getItemType("obsidian"); + ItemType.Typed TORCH = getItemType("torch"); + ItemType.Typed END_ROD = getItemType("end_rod"); + ItemType.Typed CHORUS_PLANT = getItemType("chorus_plant"); + ItemType.Typed CHORUS_FLOWER = getItemType("chorus_flower"); + ItemType.Typed PURPUR_BLOCK = getItemType("purpur_block"); + ItemType.Typed PURPUR_PILLAR = getItemType("purpur_pillar"); + ItemType.Typed PURPUR_STAIRS = getItemType("purpur_stairs"); + /** + * ItemMeta: {@link BlockStateMeta} + */ + ItemType.Typed SPAWNER = getItemType("spawner"); + /** + * ItemMeta: {@link BlockStateMeta} + */ + ItemType.Typed CHEST = getItemType("chest"); + ItemType.Typed CRAFTING_TABLE = getItemType("crafting_table"); + ItemType.Typed FARMLAND = getItemType("farmland"); + /** + * ItemMeta: {@link BlockStateMeta} + */ + ItemType.Typed FURNACE = getItemType("furnace"); + ItemType.Typed LADDER = getItemType("ladder"); + ItemType.Typed COBBLESTONE_STAIRS = getItemType("cobblestone_stairs"); + ItemType.Typed SNOW = getItemType("snow"); + ItemType.Typed ICE = getItemType("ice"); + ItemType.Typed SNOW_BLOCK = getItemType("snow_block"); + ItemType.Typed CACTUS = getItemType("cactus"); + ItemType.Typed CLAY = getItemType("clay"); + /** + * ItemMeta: {@link BlockStateMeta} + */ + ItemType.Typed JUKEBOX = getItemType("jukebox"); + ItemType.Typed OAK_FENCE = getItemType("oak_fence"); + ItemType.Typed SPRUCE_FENCE = getItemType("spruce_fence"); + ItemType.Typed BIRCH_FENCE = getItemType("birch_fence"); + ItemType.Typed JUNGLE_FENCE = getItemType("jungle_fence"); + ItemType.Typed ACACIA_FENCE = getItemType("acacia_fence"); + ItemType.Typed CHERRY_FENCE = getItemType("cherry_fence"); + ItemType.Typed DARK_OAK_FENCE = getItemType("dark_oak_fence"); + ItemType.Typed MANGROVE_FENCE = getItemType("mangrove_fence"); + ItemType.Typed BAMBOO_FENCE = getItemType("bamboo_fence"); + ItemType.Typed CRIMSON_FENCE = getItemType("crimson_fence"); + ItemType.Typed WARPED_FENCE = getItemType("warped_fence"); + ItemType.Typed PUMPKIN = getItemType("pumpkin"); + ItemType.Typed CARVED_PUMPKIN = getItemType("carved_pumpkin"); + ItemType.Typed JACK_O_LANTERN = getItemType("jack_o_lantern"); + ItemType.Typed NETHERRACK = getItemType("netherrack"); + ItemType.Typed SOUL_SAND = getItemType("soul_sand"); + ItemType.Typed SOUL_SOIL = getItemType("soul_soil"); + ItemType.Typed BASALT = getItemType("basalt"); + ItemType.Typed POLISHED_BASALT = getItemType("polished_basalt"); + ItemType.Typed SMOOTH_BASALT = getItemType("smooth_basalt"); + ItemType.Typed SOUL_TORCH = getItemType("soul_torch"); + ItemType.Typed GLOWSTONE = getItemType("glowstone"); + ItemType.Typed INFESTED_STONE = getItemType("infested_stone"); + ItemType.Typed INFESTED_COBBLESTONE = getItemType("infested_cobblestone"); + ItemType.Typed INFESTED_STONE_BRICKS = getItemType("infested_stone_bricks"); + ItemType.Typed INFESTED_MOSSY_STONE_BRICKS = getItemType("infested_mossy_stone_bricks"); + ItemType.Typed INFESTED_CRACKED_STONE_BRICKS = getItemType("infested_cracked_stone_bricks"); + ItemType.Typed INFESTED_CHISELED_STONE_BRICKS = getItemType("infested_chiseled_stone_bricks"); + ItemType.Typed INFESTED_DEEPSLATE = getItemType("infested_deepslate"); + ItemType.Typed STONE_BRICKS = getItemType("stone_bricks"); + ItemType.Typed MOSSY_STONE_BRICKS = getItemType("mossy_stone_bricks"); + ItemType.Typed CRACKED_STONE_BRICKS = getItemType("cracked_stone_bricks"); + ItemType.Typed CHISELED_STONE_BRICKS = getItemType("chiseled_stone_bricks"); + ItemType.Typed PACKED_MUD = getItemType("packed_mud"); + ItemType.Typed MUD_BRICKS = getItemType("mud_bricks"); + ItemType.Typed DEEPSLATE_BRICKS = getItemType("deepslate_bricks"); + ItemType.Typed CRACKED_DEEPSLATE_BRICKS = getItemType("cracked_deepslate_bricks"); + ItemType.Typed DEEPSLATE_TILES = getItemType("deepslate_tiles"); + ItemType.Typed CRACKED_DEEPSLATE_TILES = getItemType("cracked_deepslate_tiles"); + ItemType.Typed CHISELED_DEEPSLATE = getItemType("chiseled_deepslate"); + ItemType.Typed REINFORCED_DEEPSLATE = getItemType("reinforced_deepslate"); + ItemType.Typed BROWN_MUSHROOM_BLOCK = getItemType("brown_mushroom_block"); + ItemType.Typed RED_MUSHROOM_BLOCK = getItemType("red_mushroom_block"); + ItemType.Typed MUSHROOM_STEM = getItemType("mushroom_stem"); + ItemType.Typed IRON_BARS = getItemType("iron_bars"); + ItemType.Typed CHAIN = getItemType("chain"); + ItemType.Typed GLASS_PANE = getItemType("glass_pane"); + ItemType.Typed MELON = getItemType("melon"); + ItemType.Typed VINE = getItemType("vine"); + ItemType.Typed GLOW_LICHEN = getItemType("glow_lichen"); + ItemType.Typed BRICK_STAIRS = getItemType("brick_stairs"); + ItemType.Typed STONE_BRICK_STAIRS = getItemType("stone_brick_stairs"); + ItemType.Typed MUD_BRICK_STAIRS = getItemType("mud_brick_stairs"); + ItemType.Typed MYCELIUM = getItemType("mycelium"); + ItemType.Typed LILY_PAD = getItemType("lily_pad"); + ItemType.Typed NETHER_BRICKS = getItemType("nether_bricks"); + ItemType.Typed CRACKED_NETHER_BRICKS = getItemType("cracked_nether_bricks"); + ItemType.Typed CHISELED_NETHER_BRICKS = getItemType("chiseled_nether_bricks"); + ItemType.Typed NETHER_BRICK_FENCE = getItemType("nether_brick_fence"); + ItemType.Typed NETHER_BRICK_STAIRS = getItemType("nether_brick_stairs"); + ItemType.Typed SCULK = getItemType("sculk"); + ItemType.Typed SCULK_VEIN = getItemType("sculk_vein"); + /** + * ItemMeta: {@link BlockStateMeta} + */ + ItemType.Typed SCULK_CATALYST = getItemType("sculk_catalyst"); + /** + * ItemMeta: {@link BlockStateMeta} + */ + ItemType.Typed SCULK_SHRIEKER = getItemType("sculk_shrieker"); + /** + * ItemMeta: {@link BlockStateMeta} + */ + ItemType.Typed ENCHANTING_TABLE = getItemType("enchanting_table"); + ItemType.Typed END_PORTAL_FRAME = getItemType("end_portal_frame"); + ItemType.Typed END_STONE = getItemType("end_stone"); + ItemType.Typed END_STONE_BRICKS = getItemType("end_stone_bricks"); + ItemType.Typed DRAGON_EGG = getItemType("dragon_egg"); + ItemType.Typed SANDSTONE_STAIRS = getItemType("sandstone_stairs"); + /** + * ItemMeta: {@link BlockStateMeta} + */ + ItemType.Typed ENDER_CHEST = getItemType("ender_chest"); + ItemType.Typed EMERALD_BLOCK = getItemType("emerald_block"); + ItemType.Typed OAK_STAIRS = getItemType("oak_stairs"); + ItemType.Typed SPRUCE_STAIRS = getItemType("spruce_stairs"); + ItemType.Typed BIRCH_STAIRS = getItemType("birch_stairs"); + ItemType.Typed JUNGLE_STAIRS = getItemType("jungle_stairs"); + ItemType.Typed ACACIA_STAIRS = getItemType("acacia_stairs"); + ItemType.Typed CHERRY_STAIRS = getItemType("cherry_stairs"); + ItemType.Typed DARK_OAK_STAIRS = getItemType("dark_oak_stairs"); + ItemType.Typed MANGROVE_STAIRS = getItemType("mangrove_stairs"); + ItemType.Typed BAMBOO_STAIRS = getItemType("bamboo_stairs"); + ItemType.Typed BAMBOO_MOSAIC_STAIRS = getItemType("bamboo_mosaic_stairs"); + ItemType.Typed CRIMSON_STAIRS = getItemType("crimson_stairs"); + ItemType.Typed WARPED_STAIRS = getItemType("warped_stairs"); + /** + * ItemMeta: {@link BlockStateMeta} + */ + ItemType.Typed COMMAND_BLOCK = getItemType("command_block"); + /** + * ItemMeta: {@link BlockStateMeta} + */ + ItemType.Typed BEACON = getItemType("beacon"); + ItemType.Typed COBBLESTONE_WALL = getItemType("cobblestone_wall"); + ItemType.Typed MOSSY_COBBLESTONE_WALL = getItemType("mossy_cobblestone_wall"); + ItemType.Typed BRICK_WALL = getItemType("brick_wall"); + ItemType.Typed PRISMARINE_WALL = getItemType("prismarine_wall"); + ItemType.Typed RED_SANDSTONE_WALL = getItemType("red_sandstone_wall"); + ItemType.Typed MOSSY_STONE_BRICK_WALL = getItemType("mossy_stone_brick_wall"); + ItemType.Typed GRANITE_WALL = getItemType("granite_wall"); + ItemType.Typed STONE_BRICK_WALL = getItemType("stone_brick_wall"); + ItemType.Typed MUD_BRICK_WALL = getItemType("mud_brick_wall"); + ItemType.Typed NETHER_BRICK_WALL = getItemType("nether_brick_wall"); + ItemType.Typed ANDESITE_WALL = getItemType("andesite_wall"); + ItemType.Typed RED_NETHER_BRICK_WALL = getItemType("red_nether_brick_wall"); + ItemType.Typed SANDSTONE_WALL = getItemType("sandstone_wall"); + ItemType.Typed END_STONE_BRICK_WALL = getItemType("end_stone_brick_wall"); + ItemType.Typed DIORITE_WALL = getItemType("diorite_wall"); + ItemType.Typed BLACKSTONE_WALL = getItemType("blackstone_wall"); + ItemType.Typed POLISHED_BLACKSTONE_WALL = getItemType("polished_blackstone_wall"); + ItemType.Typed POLISHED_BLACKSTONE_BRICK_WALL = getItemType("polished_blackstone_brick_wall"); + ItemType.Typed COBBLED_DEEPSLATE_WALL = getItemType("cobbled_deepslate_wall"); + ItemType.Typed POLISHED_DEEPSLATE_WALL = getItemType("polished_deepslate_wall"); + ItemType.Typed DEEPSLATE_BRICK_WALL = getItemType("deepslate_brick_wall"); + ItemType.Typed DEEPSLATE_TILE_WALL = getItemType("deepslate_tile_wall"); + ItemType.Typed ANVIL = getItemType("anvil"); + ItemType.Typed CHIPPED_ANVIL = getItemType("chipped_anvil"); + ItemType.Typed DAMAGED_ANVIL = getItemType("damaged_anvil"); + ItemType.Typed CHISELED_QUARTZ_BLOCK = getItemType("chiseled_quartz_block"); + ItemType.Typed QUARTZ_BLOCK = getItemType("quartz_block"); + ItemType.Typed QUARTZ_BRICKS = getItemType("quartz_bricks"); + ItemType.Typed QUARTZ_PILLAR = getItemType("quartz_pillar"); + ItemType.Typed QUARTZ_STAIRS = getItemType("quartz_stairs"); + ItemType.Typed WHITE_TERRACOTTA = getItemType("white_terracotta"); + ItemType.Typed ORANGE_TERRACOTTA = getItemType("orange_terracotta"); + ItemType.Typed MAGENTA_TERRACOTTA = getItemType("magenta_terracotta"); + ItemType.Typed LIGHT_BLUE_TERRACOTTA = getItemType("light_blue_terracotta"); + ItemType.Typed YELLOW_TERRACOTTA = getItemType("yellow_terracotta"); + ItemType.Typed LIME_TERRACOTTA = getItemType("lime_terracotta"); + ItemType.Typed PINK_TERRACOTTA = getItemType("pink_terracotta"); + ItemType.Typed GRAY_TERRACOTTA = getItemType("gray_terracotta"); + ItemType.Typed LIGHT_GRAY_TERRACOTTA = getItemType("light_gray_terracotta"); + ItemType.Typed CYAN_TERRACOTTA = getItemType("cyan_terracotta"); + ItemType.Typed PURPLE_TERRACOTTA = getItemType("purple_terracotta"); + ItemType.Typed BLUE_TERRACOTTA = getItemType("blue_terracotta"); + ItemType.Typed BROWN_TERRACOTTA = getItemType("brown_terracotta"); + ItemType.Typed GREEN_TERRACOTTA = getItemType("green_terracotta"); + ItemType.Typed RED_TERRACOTTA = getItemType("red_terracotta"); + ItemType.Typed BLACK_TERRACOTTA = getItemType("black_terracotta"); + ItemType.Typed BARRIER = getItemType("barrier"); + ItemType.Typed LIGHT = getItemType("light"); + ItemType.Typed HAY_BLOCK = getItemType("hay_block"); + ItemType.Typed WHITE_CARPET = getItemType("white_carpet"); + ItemType.Typed ORANGE_CARPET = getItemType("orange_carpet"); + ItemType.Typed MAGENTA_CARPET = getItemType("magenta_carpet"); + ItemType.Typed LIGHT_BLUE_CARPET = getItemType("light_blue_carpet"); + ItemType.Typed YELLOW_CARPET = getItemType("yellow_carpet"); + ItemType.Typed LIME_CARPET = getItemType("lime_carpet"); + ItemType.Typed PINK_CARPET = getItemType("pink_carpet"); + ItemType.Typed GRAY_CARPET = getItemType("gray_carpet"); + ItemType.Typed LIGHT_GRAY_CARPET = getItemType("light_gray_carpet"); + ItemType.Typed CYAN_CARPET = getItemType("cyan_carpet"); + ItemType.Typed PURPLE_CARPET = getItemType("purple_carpet"); + ItemType.Typed BLUE_CARPET = getItemType("blue_carpet"); + ItemType.Typed BROWN_CARPET = getItemType("brown_carpet"); + ItemType.Typed GREEN_CARPET = getItemType("green_carpet"); + ItemType.Typed RED_CARPET = getItemType("red_carpet"); + ItemType.Typed BLACK_CARPET = getItemType("black_carpet"); + ItemType.Typed TERRACOTTA = getItemType("terracotta"); + ItemType.Typed PACKED_ICE = getItemType("packed_ice"); + ItemType.Typed DIRT_PATH = getItemType("dirt_path"); + ItemType.Typed SUNFLOWER = getItemType("sunflower"); + ItemType.Typed LILAC = getItemType("lilac"); + ItemType.Typed ROSE_BUSH = getItemType("rose_bush"); + ItemType.Typed PEONY = getItemType("peony"); + ItemType.Typed TALL_GRASS = getItemType("tall_grass"); + ItemType.Typed LARGE_FERN = getItemType("large_fern"); + ItemType.Typed WHITE_STAINED_GLASS = getItemType("white_stained_glass"); + ItemType.Typed ORANGE_STAINED_GLASS = getItemType("orange_stained_glass"); + ItemType.Typed MAGENTA_STAINED_GLASS = getItemType("magenta_stained_glass"); + ItemType.Typed LIGHT_BLUE_STAINED_GLASS = getItemType("light_blue_stained_glass"); + ItemType.Typed YELLOW_STAINED_GLASS = getItemType("yellow_stained_glass"); + ItemType.Typed LIME_STAINED_GLASS = getItemType("lime_stained_glass"); + ItemType.Typed PINK_STAINED_GLASS = getItemType("pink_stained_glass"); + ItemType.Typed GRAY_STAINED_GLASS = getItemType("gray_stained_glass"); + ItemType.Typed LIGHT_GRAY_STAINED_GLASS = getItemType("light_gray_stained_glass"); + ItemType.Typed CYAN_STAINED_GLASS = getItemType("cyan_stained_glass"); + ItemType.Typed PURPLE_STAINED_GLASS = getItemType("purple_stained_glass"); + ItemType.Typed BLUE_STAINED_GLASS = getItemType("blue_stained_glass"); + ItemType.Typed BROWN_STAINED_GLASS = getItemType("brown_stained_glass"); + ItemType.Typed GREEN_STAINED_GLASS = getItemType("green_stained_glass"); + ItemType.Typed RED_STAINED_GLASS = getItemType("red_stained_glass"); + ItemType.Typed BLACK_STAINED_GLASS = getItemType("black_stained_glass"); + ItemType.Typed WHITE_STAINED_GLASS_PANE = getItemType("white_stained_glass_pane"); + ItemType.Typed ORANGE_STAINED_GLASS_PANE = getItemType("orange_stained_glass_pane"); + ItemType.Typed MAGENTA_STAINED_GLASS_PANE = getItemType("magenta_stained_glass_pane"); + ItemType.Typed LIGHT_BLUE_STAINED_GLASS_PANE = getItemType("light_blue_stained_glass_pane"); + ItemType.Typed YELLOW_STAINED_GLASS_PANE = getItemType("yellow_stained_glass_pane"); + ItemType.Typed LIME_STAINED_GLASS_PANE = getItemType("lime_stained_glass_pane"); + ItemType.Typed PINK_STAINED_GLASS_PANE = getItemType("pink_stained_glass_pane"); + ItemType.Typed GRAY_STAINED_GLASS_PANE = getItemType("gray_stained_glass_pane"); + ItemType.Typed LIGHT_GRAY_STAINED_GLASS_PANE = getItemType("light_gray_stained_glass_pane"); + ItemType.Typed CYAN_STAINED_GLASS_PANE = getItemType("cyan_stained_glass_pane"); + ItemType.Typed PURPLE_STAINED_GLASS_PANE = getItemType("purple_stained_glass_pane"); + ItemType.Typed BLUE_STAINED_GLASS_PANE = getItemType("blue_stained_glass_pane"); + ItemType.Typed BROWN_STAINED_GLASS_PANE = getItemType("brown_stained_glass_pane"); + ItemType.Typed GREEN_STAINED_GLASS_PANE = getItemType("green_stained_glass_pane"); + ItemType.Typed RED_STAINED_GLASS_PANE = getItemType("red_stained_glass_pane"); + ItemType.Typed BLACK_STAINED_GLASS_PANE = getItemType("black_stained_glass_pane"); + ItemType.Typed PRISMARINE = getItemType("prismarine"); + ItemType.Typed PRISMARINE_BRICKS = getItemType("prismarine_bricks"); + ItemType.Typed DARK_PRISMARINE = getItemType("dark_prismarine"); + ItemType.Typed PRISMARINE_STAIRS = getItemType("prismarine_stairs"); + ItemType.Typed PRISMARINE_BRICK_STAIRS = getItemType("prismarine_brick_stairs"); + ItemType.Typed DARK_PRISMARINE_STAIRS = getItemType("dark_prismarine_stairs"); + ItemType.Typed SEA_LANTERN = getItemType("sea_lantern"); + ItemType.Typed RED_SANDSTONE = getItemType("red_sandstone"); + ItemType.Typed CHISELED_RED_SANDSTONE = getItemType("chiseled_red_sandstone"); + ItemType.Typed CUT_RED_SANDSTONE = getItemType("cut_red_sandstone"); + ItemType.Typed RED_SANDSTONE_STAIRS = getItemType("red_sandstone_stairs"); + /** + * ItemMeta: {@link BlockStateMeta} + */ + ItemType.Typed REPEATING_COMMAND_BLOCK = getItemType("repeating_command_block"); + /** + * ItemMeta: {@link BlockStateMeta} + */ + ItemType.Typed CHAIN_COMMAND_BLOCK = getItemType("chain_command_block"); + ItemType.Typed MAGMA_BLOCK = getItemType("magma_block"); + ItemType.Typed NETHER_WART_BLOCK = getItemType("nether_wart_block"); + ItemType.Typed WARPED_WART_BLOCK = getItemType("warped_wart_block"); + ItemType.Typed RED_NETHER_BRICKS = getItemType("red_nether_bricks"); + ItemType.Typed BONE_BLOCK = getItemType("bone_block"); + ItemType.Typed STRUCTURE_VOID = getItemType("structure_void"); + /** + * ItemMeta: {@link BlockStateMeta} + */ + ItemType.Typed SHULKER_BOX = getItemType("shulker_box"); + /** + * ItemMeta: {@link BlockStateMeta} + */ + ItemType.Typed WHITE_SHULKER_BOX = getItemType("white_shulker_box"); + /** + * ItemMeta: {@link BlockStateMeta} + */ + ItemType.Typed ORANGE_SHULKER_BOX = getItemType("orange_shulker_box"); + /** + * ItemMeta: {@link BlockStateMeta} + */ + ItemType.Typed MAGENTA_SHULKER_BOX = getItemType("magenta_shulker_box"); + /** + * ItemMeta: {@link BlockStateMeta} + */ + ItemType.Typed LIGHT_BLUE_SHULKER_BOX = getItemType("light_blue_shulker_box"); + /** + * ItemMeta: {@link BlockStateMeta} + */ + ItemType.Typed YELLOW_SHULKER_BOX = getItemType("yellow_shulker_box"); + /** + * ItemMeta: {@link BlockStateMeta} + */ + ItemType.Typed LIME_SHULKER_BOX = getItemType("lime_shulker_box"); + /** + * ItemMeta: {@link BlockStateMeta} + */ + ItemType.Typed PINK_SHULKER_BOX = getItemType("pink_shulker_box"); + /** + * ItemMeta: {@link BlockStateMeta} + */ + ItemType.Typed GRAY_SHULKER_BOX = getItemType("gray_shulker_box"); + /** + * ItemMeta: {@link BlockStateMeta} + */ + ItemType.Typed LIGHT_GRAY_SHULKER_BOX = getItemType("light_gray_shulker_box"); + /** + * ItemMeta: {@link BlockStateMeta} + */ + ItemType.Typed CYAN_SHULKER_BOX = getItemType("cyan_shulker_box"); + /** + * ItemMeta: {@link BlockStateMeta} + */ + ItemType.Typed PURPLE_SHULKER_BOX = getItemType("purple_shulker_box"); + /** + * ItemMeta: {@link BlockStateMeta} + */ + ItemType.Typed BLUE_SHULKER_BOX = getItemType("blue_shulker_box"); + /** + * ItemMeta: {@link BlockStateMeta} + */ + ItemType.Typed BROWN_SHULKER_BOX = getItemType("brown_shulker_box"); + /** + * ItemMeta: {@link BlockStateMeta} + */ + ItemType.Typed GREEN_SHULKER_BOX = getItemType("green_shulker_box"); + /** + * ItemMeta: {@link BlockStateMeta} + */ + ItemType.Typed RED_SHULKER_BOX = getItemType("red_shulker_box"); + /** + * ItemMeta: {@link BlockStateMeta} + */ + ItemType.Typed BLACK_SHULKER_BOX = getItemType("black_shulker_box"); + ItemType.Typed WHITE_GLAZED_TERRACOTTA = getItemType("white_glazed_terracotta"); + ItemType.Typed ORANGE_GLAZED_TERRACOTTA = getItemType("orange_glazed_terracotta"); + ItemType.Typed MAGENTA_GLAZED_TERRACOTTA = getItemType("magenta_glazed_terracotta"); + ItemType.Typed LIGHT_BLUE_GLAZED_TERRACOTTA = getItemType("light_blue_glazed_terracotta"); + ItemType.Typed YELLOW_GLAZED_TERRACOTTA = getItemType("yellow_glazed_terracotta"); + ItemType.Typed LIME_GLAZED_TERRACOTTA = getItemType("lime_glazed_terracotta"); + ItemType.Typed PINK_GLAZED_TERRACOTTA = getItemType("pink_glazed_terracotta"); + ItemType.Typed GRAY_GLAZED_TERRACOTTA = getItemType("gray_glazed_terracotta"); + ItemType.Typed LIGHT_GRAY_GLAZED_TERRACOTTA = getItemType("light_gray_glazed_terracotta"); + ItemType.Typed CYAN_GLAZED_TERRACOTTA = getItemType("cyan_glazed_terracotta"); + ItemType.Typed PURPLE_GLAZED_TERRACOTTA = getItemType("purple_glazed_terracotta"); + ItemType.Typed BLUE_GLAZED_TERRACOTTA = getItemType("blue_glazed_terracotta"); + ItemType.Typed BROWN_GLAZED_TERRACOTTA = getItemType("brown_glazed_terracotta"); + ItemType.Typed GREEN_GLAZED_TERRACOTTA = getItemType("green_glazed_terracotta"); + ItemType.Typed RED_GLAZED_TERRACOTTA = getItemType("red_glazed_terracotta"); + ItemType.Typed BLACK_GLAZED_TERRACOTTA = getItemType("black_glazed_terracotta"); + ItemType.Typed WHITE_CONCRETE = getItemType("white_concrete"); + ItemType.Typed ORANGE_CONCRETE = getItemType("orange_concrete"); + ItemType.Typed MAGENTA_CONCRETE = getItemType("magenta_concrete"); + ItemType.Typed LIGHT_BLUE_CONCRETE = getItemType("light_blue_concrete"); + ItemType.Typed YELLOW_CONCRETE = getItemType("yellow_concrete"); + ItemType.Typed LIME_CONCRETE = getItemType("lime_concrete"); + ItemType.Typed PINK_CONCRETE = getItemType("pink_concrete"); + ItemType.Typed GRAY_CONCRETE = getItemType("gray_concrete"); + ItemType.Typed LIGHT_GRAY_CONCRETE = getItemType("light_gray_concrete"); + ItemType.Typed CYAN_CONCRETE = getItemType("cyan_concrete"); + ItemType.Typed PURPLE_CONCRETE = getItemType("purple_concrete"); + ItemType.Typed BLUE_CONCRETE = getItemType("blue_concrete"); + ItemType.Typed BROWN_CONCRETE = getItemType("brown_concrete"); + ItemType.Typed GREEN_CONCRETE = getItemType("green_concrete"); + ItemType.Typed RED_CONCRETE = getItemType("red_concrete"); + ItemType.Typed BLACK_CONCRETE = getItemType("black_concrete"); + ItemType.Typed WHITE_CONCRETE_POWDER = getItemType("white_concrete_powder"); + ItemType.Typed ORANGE_CONCRETE_POWDER = getItemType("orange_concrete_powder"); + ItemType.Typed MAGENTA_CONCRETE_POWDER = getItemType("magenta_concrete_powder"); + ItemType.Typed LIGHT_BLUE_CONCRETE_POWDER = getItemType("light_blue_concrete_powder"); + ItemType.Typed YELLOW_CONCRETE_POWDER = getItemType("yellow_concrete_powder"); + ItemType.Typed LIME_CONCRETE_POWDER = getItemType("lime_concrete_powder"); + ItemType.Typed PINK_CONCRETE_POWDER = getItemType("pink_concrete_powder"); + ItemType.Typed GRAY_CONCRETE_POWDER = getItemType("gray_concrete_powder"); + ItemType.Typed LIGHT_GRAY_CONCRETE_POWDER = getItemType("light_gray_concrete_powder"); + ItemType.Typed CYAN_CONCRETE_POWDER = getItemType("cyan_concrete_powder"); + ItemType.Typed PURPLE_CONCRETE_POWDER = getItemType("purple_concrete_powder"); + ItemType.Typed BLUE_CONCRETE_POWDER = getItemType("blue_concrete_powder"); + ItemType.Typed BROWN_CONCRETE_POWDER = getItemType("brown_concrete_powder"); + ItemType.Typed GREEN_CONCRETE_POWDER = getItemType("green_concrete_powder"); + ItemType.Typed RED_CONCRETE_POWDER = getItemType("red_concrete_powder"); + ItemType.Typed BLACK_CONCRETE_POWDER = getItemType("black_concrete_powder"); + ItemType.Typed TURTLE_EGG = getItemType("turtle_egg"); + ItemType.Typed SNIFFER_EGG = getItemType("sniffer_egg"); + ItemType.Typed DEAD_TUBE_CORAL_BLOCK = getItemType("dead_tube_coral_block"); + ItemType.Typed DEAD_BRAIN_CORAL_BLOCK = getItemType("dead_brain_coral_block"); + ItemType.Typed DEAD_BUBBLE_CORAL_BLOCK = getItemType("dead_bubble_coral_block"); + ItemType.Typed DEAD_FIRE_CORAL_BLOCK = getItemType("dead_fire_coral_block"); + ItemType.Typed DEAD_HORN_CORAL_BLOCK = getItemType("dead_horn_coral_block"); + ItemType.Typed TUBE_CORAL_BLOCK = getItemType("tube_coral_block"); + ItemType.Typed BRAIN_CORAL_BLOCK = getItemType("brain_coral_block"); + ItemType.Typed BUBBLE_CORAL_BLOCK = getItemType("bubble_coral_block"); + ItemType.Typed FIRE_CORAL_BLOCK = getItemType("fire_coral_block"); + ItemType.Typed HORN_CORAL_BLOCK = getItemType("horn_coral_block"); + ItemType.Typed TUBE_CORAL = getItemType("tube_coral"); + ItemType.Typed BRAIN_CORAL = getItemType("brain_coral"); + ItemType.Typed BUBBLE_CORAL = getItemType("bubble_coral"); + ItemType.Typed FIRE_CORAL = getItemType("fire_coral"); + ItemType.Typed HORN_CORAL = getItemType("horn_coral"); + ItemType.Typed DEAD_BRAIN_CORAL = getItemType("dead_brain_coral"); + ItemType.Typed DEAD_BUBBLE_CORAL = getItemType("dead_bubble_coral"); + ItemType.Typed DEAD_FIRE_CORAL = getItemType("dead_fire_coral"); + ItemType.Typed DEAD_HORN_CORAL = getItemType("dead_horn_coral"); + ItemType.Typed DEAD_TUBE_CORAL = getItemType("dead_tube_coral"); + ItemType.Typed TUBE_CORAL_FAN = getItemType("tube_coral_fan"); + ItemType.Typed BRAIN_CORAL_FAN = getItemType("brain_coral_fan"); + ItemType.Typed BUBBLE_CORAL_FAN = getItemType("bubble_coral_fan"); + ItemType.Typed FIRE_CORAL_FAN = getItemType("fire_coral_fan"); + ItemType.Typed HORN_CORAL_FAN = getItemType("horn_coral_fan"); + ItemType.Typed DEAD_TUBE_CORAL_FAN = getItemType("dead_tube_coral_fan"); + ItemType.Typed DEAD_BRAIN_CORAL_FAN = getItemType("dead_brain_coral_fan"); + ItemType.Typed DEAD_BUBBLE_CORAL_FAN = getItemType("dead_bubble_coral_fan"); + ItemType.Typed DEAD_FIRE_CORAL_FAN = getItemType("dead_fire_coral_fan"); + ItemType.Typed DEAD_HORN_CORAL_FAN = getItemType("dead_horn_coral_fan"); + ItemType.Typed BLUE_ICE = getItemType("blue_ice"); + ItemType.Typed CONDUIT = getItemType("conduit"); + ItemType.Typed POLISHED_GRANITE_STAIRS = getItemType("polished_granite_stairs"); + ItemType.Typed SMOOTH_RED_SANDSTONE_STAIRS = getItemType("smooth_red_sandstone_stairs"); + ItemType.Typed MOSSY_STONE_BRICK_STAIRS = getItemType("mossy_stone_brick_stairs"); + ItemType.Typed POLISHED_DIORITE_STAIRS = getItemType("polished_diorite_stairs"); + ItemType.Typed MOSSY_COBBLESTONE_STAIRS = getItemType("mossy_cobblestone_stairs"); + ItemType.Typed END_STONE_BRICK_STAIRS = getItemType("end_stone_brick_stairs"); + ItemType.Typed STONE_STAIRS = getItemType("stone_stairs"); + ItemType.Typed SMOOTH_SANDSTONE_STAIRS = getItemType("smooth_sandstone_stairs"); + ItemType.Typed SMOOTH_QUARTZ_STAIRS = getItemType("smooth_quartz_stairs"); + ItemType.Typed GRANITE_STAIRS = getItemType("granite_stairs"); + ItemType.Typed ANDESITE_STAIRS = getItemType("andesite_stairs"); + ItemType.Typed RED_NETHER_BRICK_STAIRS = getItemType("red_nether_brick_stairs"); + ItemType.Typed POLISHED_ANDESITE_STAIRS = getItemType("polished_andesite_stairs"); + ItemType.Typed DIORITE_STAIRS = getItemType("diorite_stairs"); + ItemType.Typed COBBLED_DEEPSLATE_STAIRS = getItemType("cobbled_deepslate_stairs"); + ItemType.Typed POLISHED_DEEPSLATE_STAIRS = getItemType("polished_deepslate_stairs"); + ItemType.Typed DEEPSLATE_BRICK_STAIRS = getItemType("deepslate_brick_stairs"); + ItemType.Typed DEEPSLATE_TILE_STAIRS = getItemType("deepslate_tile_stairs"); + ItemType.Typed POLISHED_GRANITE_SLAB = getItemType("polished_granite_slab"); + ItemType.Typed SMOOTH_RED_SANDSTONE_SLAB = getItemType("smooth_red_sandstone_slab"); + ItemType.Typed MOSSY_STONE_BRICK_SLAB = getItemType("mossy_stone_brick_slab"); + ItemType.Typed POLISHED_DIORITE_SLAB = getItemType("polished_diorite_slab"); + ItemType.Typed MOSSY_COBBLESTONE_SLAB = getItemType("mossy_cobblestone_slab"); + ItemType.Typed END_STONE_BRICK_SLAB = getItemType("end_stone_brick_slab"); + ItemType.Typed SMOOTH_SANDSTONE_SLAB = getItemType("smooth_sandstone_slab"); + ItemType.Typed SMOOTH_QUARTZ_SLAB = getItemType("smooth_quartz_slab"); + ItemType.Typed GRANITE_SLAB = getItemType("granite_slab"); + ItemType.Typed ANDESITE_SLAB = getItemType("andesite_slab"); + ItemType.Typed RED_NETHER_BRICK_SLAB = getItemType("red_nether_brick_slab"); + ItemType.Typed POLISHED_ANDESITE_SLAB = getItemType("polished_andesite_slab"); + ItemType.Typed DIORITE_SLAB = getItemType("diorite_slab"); + ItemType.Typed COBBLED_DEEPSLATE_SLAB = getItemType("cobbled_deepslate_slab"); + ItemType.Typed POLISHED_DEEPSLATE_SLAB = getItemType("polished_deepslate_slab"); + ItemType.Typed DEEPSLATE_BRICK_SLAB = getItemType("deepslate_brick_slab"); + ItemType.Typed DEEPSLATE_TILE_SLAB = getItemType("deepslate_tile_slab"); + ItemType.Typed SCAFFOLDING = getItemType("scaffolding"); + ItemType.Typed REDSTONE = getItemType("redstone"); + ItemType.Typed REDSTONE_TORCH = getItemType("redstone_torch"); + ItemType.Typed REDSTONE_BLOCK = getItemType("redstone_block"); + ItemType.Typed REPEATER = getItemType("repeater"); + /** + * ItemMeta: {@link BlockStateMeta} + */ + ItemType.Typed COMPARATOR = getItemType("comparator"); + ItemType.Typed PISTON = getItemType("piston"); + ItemType.Typed STICKY_PISTON = getItemType("sticky_piston"); + ItemType.Typed SLIME_BLOCK = getItemType("slime_block"); + ItemType.Typed HONEY_BLOCK = getItemType("honey_block"); + ItemType.Typed OBSERVER = getItemType("observer"); + /** + * ItemMeta: {@link BlockStateMeta} + */ + ItemType.Typed HOPPER = getItemType("hopper"); + /** + * ItemMeta: {@link BlockStateMeta} + */ + ItemType.Typed DISPENSER = getItemType("dispenser"); + /** + * ItemMeta: {@link BlockStateMeta} + */ + ItemType.Typed DROPPER = getItemType("dropper"); + /** + * ItemMeta: {@link BlockStateMeta} + */ + ItemType.Typed LECTERN = getItemType("lectern"); + ItemType.Typed TARGET = getItemType("target"); + ItemType.Typed LEVER = getItemType("lever"); + ItemType.Typed LIGHTNING_ROD = getItemType("lightning_rod"); + /** + * ItemMeta: {@link BlockStateMeta} + */ + ItemType.Typed DAYLIGHT_DETECTOR = getItemType("daylight_detector"); + /** + * ItemMeta: {@link BlockStateMeta} + */ + ItemType.Typed SCULK_SENSOR = getItemType("sculk_sensor"); + /** + * ItemMeta: {@link BlockStateMeta} + */ + ItemType.Typed CALIBRATED_SCULK_SENSOR = getItemType("calibrated_sculk_sensor"); + ItemType.Typed TRIPWIRE_HOOK = getItemType("tripwire_hook"); + /** + * ItemMeta: {@link BlockStateMeta} + */ + ItemType.Typed TRAPPED_CHEST = getItemType("trapped_chest"); + ItemType.Typed TNT = getItemType("tnt"); + ItemType.Typed REDSTONE_LAMP = getItemType("redstone_lamp"); + ItemType.Typed NOTE_BLOCK = getItemType("note_block"); + ItemType.Typed STONE_BUTTON = getItemType("stone_button"); + ItemType.Typed POLISHED_BLACKSTONE_BUTTON = getItemType("polished_blackstone_button"); + ItemType.Typed OAK_BUTTON = getItemType("oak_button"); + ItemType.Typed SPRUCE_BUTTON = getItemType("spruce_button"); + ItemType.Typed BIRCH_BUTTON = getItemType("birch_button"); + ItemType.Typed JUNGLE_BUTTON = getItemType("jungle_button"); + ItemType.Typed ACACIA_BUTTON = getItemType("acacia_button"); + ItemType.Typed CHERRY_BUTTON = getItemType("cherry_button"); + ItemType.Typed DARK_OAK_BUTTON = getItemType("dark_oak_button"); + ItemType.Typed MANGROVE_BUTTON = getItemType("mangrove_button"); + ItemType.Typed BAMBOO_BUTTON = getItemType("bamboo_button"); + ItemType.Typed CRIMSON_BUTTON = getItemType("crimson_button"); + ItemType.Typed WARPED_BUTTON = getItemType("warped_button"); + ItemType.Typed STONE_PRESSURE_PLATE = getItemType("stone_pressure_plate"); + ItemType.Typed POLISHED_BLACKSTONE_PRESSURE_PLATE = getItemType("polished_blackstone_pressure_plate"); + ItemType.Typed LIGHT_WEIGHTED_PRESSURE_PLATE = getItemType("light_weighted_pressure_plate"); + ItemType.Typed HEAVY_WEIGHTED_PRESSURE_PLATE = getItemType("heavy_weighted_pressure_plate"); + ItemType.Typed OAK_PRESSURE_PLATE = getItemType("oak_pressure_plate"); + ItemType.Typed SPRUCE_PRESSURE_PLATE = getItemType("spruce_pressure_plate"); + ItemType.Typed BIRCH_PRESSURE_PLATE = getItemType("birch_pressure_plate"); + ItemType.Typed JUNGLE_PRESSURE_PLATE = getItemType("jungle_pressure_plate"); + ItemType.Typed ACACIA_PRESSURE_PLATE = getItemType("acacia_pressure_plate"); + ItemType.Typed CHERRY_PRESSURE_PLATE = getItemType("cherry_pressure_plate"); + ItemType.Typed DARK_OAK_PRESSURE_PLATE = getItemType("dark_oak_pressure_plate"); + ItemType.Typed MANGROVE_PRESSURE_PLATE = getItemType("mangrove_pressure_plate"); + ItemType.Typed BAMBOO_PRESSURE_PLATE = getItemType("bamboo_pressure_plate"); + ItemType.Typed CRIMSON_PRESSURE_PLATE = getItemType("crimson_pressure_plate"); + ItemType.Typed WARPED_PRESSURE_PLATE = getItemType("warped_pressure_plate"); + ItemType.Typed IRON_DOOR = getItemType("iron_door"); + ItemType.Typed OAK_DOOR = getItemType("oak_door"); + ItemType.Typed SPRUCE_DOOR = getItemType("spruce_door"); + ItemType.Typed BIRCH_DOOR = getItemType("birch_door"); + ItemType.Typed JUNGLE_DOOR = getItemType("jungle_door"); + ItemType.Typed ACACIA_DOOR = getItemType("acacia_door"); + ItemType.Typed CHERRY_DOOR = getItemType("cherry_door"); + ItemType.Typed DARK_OAK_DOOR = getItemType("dark_oak_door"); + ItemType.Typed MANGROVE_DOOR = getItemType("mangrove_door"); + ItemType.Typed BAMBOO_DOOR = getItemType("bamboo_door"); + ItemType.Typed CRIMSON_DOOR = getItemType("crimson_door"); + ItemType.Typed WARPED_DOOR = getItemType("warped_door"); + @MinecraftExperimental(Requires.UPDATE_1_21) + @ApiStatus.Experimental + ItemType.Typed COPPER_DOOR = getItemType("copper_door"); + @MinecraftExperimental(Requires.UPDATE_1_21) + @ApiStatus.Experimental + ItemType.Typed EXPOSED_COPPER_DOOR = getItemType("exposed_copper_door"); + @MinecraftExperimental(Requires.UPDATE_1_21) + @ApiStatus.Experimental + ItemType.Typed WEATHERED_COPPER_DOOR = getItemType("weathered_copper_door"); + @MinecraftExperimental(Requires.UPDATE_1_21) + @ApiStatus.Experimental + ItemType.Typed OXIDIZED_COPPER_DOOR = getItemType("oxidized_copper_door"); + @MinecraftExperimental(Requires.UPDATE_1_21) + @ApiStatus.Experimental + ItemType.Typed WAXED_COPPER_DOOR = getItemType("waxed_copper_door"); + @MinecraftExperimental(Requires.UPDATE_1_21) + @ApiStatus.Experimental + ItemType.Typed WAXED_EXPOSED_COPPER_DOOR = getItemType("waxed_exposed_copper_door"); + @MinecraftExperimental(Requires.UPDATE_1_21) + @ApiStatus.Experimental + ItemType.Typed WAXED_WEATHERED_COPPER_DOOR = getItemType("waxed_weathered_copper_door"); + @MinecraftExperimental(Requires.UPDATE_1_21) + @ApiStatus.Experimental + ItemType.Typed WAXED_OXIDIZED_COPPER_DOOR = getItemType("waxed_oxidized_copper_door"); + ItemType.Typed IRON_TRAPDOOR = getItemType("iron_trapdoor"); + ItemType.Typed OAK_TRAPDOOR = getItemType("oak_trapdoor"); + ItemType.Typed SPRUCE_TRAPDOOR = getItemType("spruce_trapdoor"); + ItemType.Typed BIRCH_TRAPDOOR = getItemType("birch_trapdoor"); + ItemType.Typed JUNGLE_TRAPDOOR = getItemType("jungle_trapdoor"); + ItemType.Typed ACACIA_TRAPDOOR = getItemType("acacia_trapdoor"); + ItemType.Typed CHERRY_TRAPDOOR = getItemType("cherry_trapdoor"); + ItemType.Typed DARK_OAK_TRAPDOOR = getItemType("dark_oak_trapdoor"); + ItemType.Typed MANGROVE_TRAPDOOR = getItemType("mangrove_trapdoor"); + ItemType.Typed BAMBOO_TRAPDOOR = getItemType("bamboo_trapdoor"); + ItemType.Typed CRIMSON_TRAPDOOR = getItemType("crimson_trapdoor"); + ItemType.Typed WARPED_TRAPDOOR = getItemType("warped_trapdoor"); + @MinecraftExperimental(Requires.UPDATE_1_21) + @ApiStatus.Experimental + ItemType.Typed COPPER_TRAPDOOR = getItemType("copper_trapdoor"); + @MinecraftExperimental(Requires.UPDATE_1_21) + @ApiStatus.Experimental + ItemType.Typed EXPOSED_COPPER_TRAPDOOR = getItemType("exposed_copper_trapdoor"); + @MinecraftExperimental(Requires.UPDATE_1_21) + @ApiStatus.Experimental + ItemType.Typed WEATHERED_COPPER_TRAPDOOR = getItemType("weathered_copper_trapdoor"); + @MinecraftExperimental(Requires.UPDATE_1_21) + @ApiStatus.Experimental + ItemType.Typed OXIDIZED_COPPER_TRAPDOOR = getItemType("oxidized_copper_trapdoor"); + @MinecraftExperimental(Requires.UPDATE_1_21) + @ApiStatus.Experimental + ItemType.Typed WAXED_COPPER_TRAPDOOR = getItemType("waxed_copper_trapdoor"); + @MinecraftExperimental(Requires.UPDATE_1_21) + @ApiStatus.Experimental + ItemType.Typed WAXED_EXPOSED_COPPER_TRAPDOOR = getItemType("waxed_exposed_copper_trapdoor"); + @MinecraftExperimental(Requires.UPDATE_1_21) + @ApiStatus.Experimental + ItemType.Typed WAXED_WEATHERED_COPPER_TRAPDOOR = getItemType("waxed_weathered_copper_trapdoor"); + @MinecraftExperimental(Requires.UPDATE_1_21) + @ApiStatus.Experimental + ItemType.Typed WAXED_OXIDIZED_COPPER_TRAPDOOR = getItemType("waxed_oxidized_copper_trapdoor"); + ItemType.Typed OAK_FENCE_GATE = getItemType("oak_fence_gate"); + ItemType.Typed SPRUCE_FENCE_GATE = getItemType("spruce_fence_gate"); + ItemType.Typed BIRCH_FENCE_GATE = getItemType("birch_fence_gate"); + ItemType.Typed JUNGLE_FENCE_GATE = getItemType("jungle_fence_gate"); + ItemType.Typed ACACIA_FENCE_GATE = getItemType("acacia_fence_gate"); + ItemType.Typed CHERRY_FENCE_GATE = getItemType("cherry_fence_gate"); + ItemType.Typed DARK_OAK_FENCE_GATE = getItemType("dark_oak_fence_gate"); + ItemType.Typed MANGROVE_FENCE_GATE = getItemType("mangrove_fence_gate"); + ItemType.Typed BAMBOO_FENCE_GATE = getItemType("bamboo_fence_gate"); + ItemType.Typed CRIMSON_FENCE_GATE = getItemType("crimson_fence_gate"); + ItemType.Typed WARPED_FENCE_GATE = getItemType("warped_fence_gate"); + ItemType.Typed POWERED_RAIL = getItemType("powered_rail"); + ItemType.Typed DETECTOR_RAIL = getItemType("detector_rail"); + ItemType.Typed RAIL = getItemType("rail"); + ItemType.Typed ACTIVATOR_RAIL = getItemType("activator_rail"); + ItemType.Typed SADDLE = getItemType("saddle"); + ItemType.Typed MINECART = getItemType("minecart"); + ItemType.Typed CHEST_MINECART = getItemType("chest_minecart"); + ItemType.Typed FURNACE_MINECART = getItemType("furnace_minecart"); + ItemType.Typed TNT_MINECART = getItemType("tnt_minecart"); + ItemType.Typed HOPPER_MINECART = getItemType("hopper_minecart"); + ItemType.Typed CARROT_ON_A_STICK = getItemType("carrot_on_a_stick"); + ItemType.Typed WARPED_FUNGUS_ON_A_STICK = getItemType("warped_fungus_on_a_stick"); + ItemType.Typed ELYTRA = getItemType("elytra"); + ItemType.Typed OAK_BOAT = getItemType("oak_boat"); + ItemType.Typed OAK_CHEST_BOAT = getItemType("oak_chest_boat"); + ItemType.Typed SPRUCE_BOAT = getItemType("spruce_boat"); + ItemType.Typed SPRUCE_CHEST_BOAT = getItemType("spruce_chest_boat"); + ItemType.Typed BIRCH_BOAT = getItemType("birch_boat"); + ItemType.Typed BIRCH_CHEST_BOAT = getItemType("birch_chest_boat"); + ItemType.Typed JUNGLE_BOAT = getItemType("jungle_boat"); + ItemType.Typed JUNGLE_CHEST_BOAT = getItemType("jungle_chest_boat"); + ItemType.Typed ACACIA_BOAT = getItemType("acacia_boat"); + ItemType.Typed ACACIA_CHEST_BOAT = getItemType("acacia_chest_boat"); + ItemType.Typed CHERRY_BOAT = getItemType("cherry_boat"); + ItemType.Typed CHERRY_CHEST_BOAT = getItemType("cherry_chest_boat"); + ItemType.Typed DARK_OAK_BOAT = getItemType("dark_oak_boat"); + ItemType.Typed DARK_OAK_CHEST_BOAT = getItemType("dark_oak_chest_boat"); + ItemType.Typed MANGROVE_BOAT = getItemType("mangrove_boat"); + ItemType.Typed MANGROVE_CHEST_BOAT = getItemType("mangrove_chest_boat"); + ItemType.Typed BAMBOO_RAFT = getItemType("bamboo_raft"); + ItemType.Typed BAMBOO_CHEST_RAFT = getItemType("bamboo_chest_raft"); + /** + * ItemMeta: {@link BlockStateMeta} + */ + ItemType.Typed STRUCTURE_BLOCK = getItemType("structure_block"); + /** + * ItemMeta: {@link BlockStateMeta} + */ + ItemType.Typed JIGSAW = getItemType("jigsaw"); + /** + * ItemMeta: {@link ArmorMeta} + */ + ItemType.Typed TURTLE_HELMET = getItemType("turtle_helmet"); + ItemType.Typed TURTLE_SCUTE = getItemType("turtle_scute"); + ItemType.Typed ARMADILLO_SCUTE = getItemType("armadillo_scute"); + /** + * ItemMeta: {@link ColorableArmorMeta} + */ + ItemType.Typed WOLF_ARMOR = getItemType("wolf_armor"); + ItemType.Typed FLINT_AND_STEEL = getItemType("flint_and_steel"); + ItemType.Typed APPLE = getItemType("apple"); + ItemType.Typed BOW = getItemType("bow"); + ItemType.Typed ARROW = getItemType("arrow"); + ItemType.Typed COAL = getItemType("coal"); + ItemType.Typed CHARCOAL = getItemType("charcoal"); + ItemType.Typed DIAMOND = getItemType("diamond"); + ItemType.Typed EMERALD = getItemType("emerald"); + ItemType.Typed LAPIS_LAZULI = getItemType("lapis_lazuli"); + ItemType.Typed QUARTZ = getItemType("quartz"); + ItemType.Typed AMETHYST_SHARD = getItemType("amethyst_shard"); + ItemType.Typed RAW_IRON = getItemType("raw_iron"); + ItemType.Typed IRON_INGOT = getItemType("iron_ingot"); + ItemType.Typed RAW_COPPER = getItemType("raw_copper"); + ItemType.Typed COPPER_INGOT = getItemType("copper_ingot"); + ItemType.Typed RAW_GOLD = getItemType("raw_gold"); + ItemType.Typed GOLD_INGOT = getItemType("gold_ingot"); + ItemType.Typed NETHERITE_INGOT = getItemType("netherite_ingot"); + ItemType.Typed NETHERITE_SCRAP = getItemType("netherite_scrap"); + ItemType.Typed WOODEN_SWORD = getItemType("wooden_sword"); + ItemType.Typed WOODEN_SHOVEL = getItemType("wooden_shovel"); + ItemType.Typed WOODEN_PICKAXE = getItemType("wooden_pickaxe"); + ItemType.Typed WOODEN_AXE = getItemType("wooden_axe"); + ItemType.Typed WOODEN_HOE = getItemType("wooden_hoe"); + ItemType.Typed STONE_SWORD = getItemType("stone_sword"); + ItemType.Typed STONE_SHOVEL = getItemType("stone_shovel"); + ItemType.Typed STONE_PICKAXE = getItemType("stone_pickaxe"); + ItemType.Typed STONE_AXE = getItemType("stone_axe"); + ItemType.Typed STONE_HOE = getItemType("stone_hoe"); + ItemType.Typed GOLDEN_SWORD = getItemType("golden_sword"); + ItemType.Typed GOLDEN_SHOVEL = getItemType("golden_shovel"); + ItemType.Typed GOLDEN_PICKAXE = getItemType("golden_pickaxe"); + ItemType.Typed GOLDEN_AXE = getItemType("golden_axe"); + ItemType.Typed GOLDEN_HOE = getItemType("golden_hoe"); + ItemType.Typed IRON_SWORD = getItemType("iron_sword"); + ItemType.Typed IRON_SHOVEL = getItemType("iron_shovel"); + ItemType.Typed IRON_PICKAXE = getItemType("iron_pickaxe"); + ItemType.Typed IRON_AXE = getItemType("iron_axe"); + ItemType.Typed IRON_HOE = getItemType("iron_hoe"); + ItemType.Typed DIAMOND_SWORD = getItemType("diamond_sword"); + ItemType.Typed DIAMOND_SHOVEL = getItemType("diamond_shovel"); + ItemType.Typed DIAMOND_PICKAXE = getItemType("diamond_pickaxe"); + ItemType.Typed DIAMOND_AXE = getItemType("diamond_axe"); + ItemType.Typed DIAMOND_HOE = getItemType("diamond_hoe"); + ItemType.Typed NETHERITE_SWORD = getItemType("netherite_sword"); + ItemType.Typed NETHERITE_SHOVEL = getItemType("netherite_shovel"); + ItemType.Typed NETHERITE_PICKAXE = getItemType("netherite_pickaxe"); + ItemType.Typed NETHERITE_AXE = getItemType("netherite_axe"); + ItemType.Typed NETHERITE_HOE = getItemType("netherite_hoe"); + ItemType.Typed STICK = getItemType("stick"); + ItemType.Typed BOWL = getItemType("bowl"); + ItemType.Typed MUSHROOM_STEW = getItemType("mushroom_stew"); + ItemType.Typed STRING = getItemType("string"); + ItemType.Typed FEATHER = getItemType("feather"); + ItemType.Typed GUNPOWDER = getItemType("gunpowder"); + ItemType.Typed WHEAT_SEEDS = getItemType("wheat_seeds"); + ItemType.Typed WHEAT = getItemType("wheat"); + ItemType.Typed BREAD = getItemType("bread"); + /** + * ItemMeta: {@link ColorableArmorMeta} + */ + ItemType.Typed LEATHER_HELMET = getItemType("leather_helmet"); + /** + * ItemMeta: {@link ColorableArmorMeta} + */ + ItemType.Typed LEATHER_CHESTPLATE = getItemType("leather_chestplate"); + /** + * ItemMeta: {@link ColorableArmorMeta} + */ + ItemType.Typed LEATHER_LEGGINGS = getItemType("leather_leggings"); + /** + * ItemMeta: {@link ColorableArmorMeta} + */ + ItemType.Typed LEATHER_BOOTS = getItemType("leather_boots"); + /** + * ItemMeta: {@link ArmorMeta} + */ + ItemType.Typed CHAINMAIL_HELMET = getItemType("chainmail_helmet"); + /** + * ItemMeta: {@link ArmorMeta} + */ + ItemType.Typed CHAINMAIL_CHESTPLATE = getItemType("chainmail_chestplate"); + /** + * ItemMeta: {@link ArmorMeta} + */ + ItemType.Typed CHAINMAIL_LEGGINGS = getItemType("chainmail_leggings"); + /** + * ItemMeta: {@link ArmorMeta} + */ + ItemType.Typed CHAINMAIL_BOOTS = getItemType("chainmail_boots"); + /** + * ItemMeta: {@link ArmorMeta} + */ + ItemType.Typed IRON_HELMET = getItemType("iron_helmet"); + /** + * ItemMeta: {@link ArmorMeta} + */ + ItemType.Typed IRON_CHESTPLATE = getItemType("iron_chestplate"); + /** + * ItemMeta: {@link ArmorMeta} + */ + ItemType.Typed IRON_LEGGINGS = getItemType("iron_leggings"); + /** + * ItemMeta: {@link ArmorMeta} + */ + ItemType.Typed IRON_BOOTS = getItemType("iron_boots"); + /** + * ItemMeta: {@link ArmorMeta} + */ + ItemType.Typed DIAMOND_HELMET = getItemType("diamond_helmet"); + /** + * ItemMeta: {@link ArmorMeta} + */ + ItemType.Typed DIAMOND_CHESTPLATE = getItemType("diamond_chestplate"); + /** + * ItemMeta: {@link ArmorMeta} + */ + ItemType.Typed DIAMOND_LEGGINGS = getItemType("diamond_leggings"); + /** + * ItemMeta: {@link ArmorMeta} + */ + ItemType.Typed DIAMOND_BOOTS = getItemType("diamond_boots"); + /** + * ItemMeta: {@link ArmorMeta} + */ + ItemType.Typed GOLDEN_HELMET = getItemType("golden_helmet"); + /** + * ItemMeta: {@link ArmorMeta} + */ + ItemType.Typed GOLDEN_CHESTPLATE = getItemType("golden_chestplate"); + /** + * ItemMeta: {@link ArmorMeta} + */ + ItemType.Typed GOLDEN_LEGGINGS = getItemType("golden_leggings"); + /** + * ItemMeta: {@link ArmorMeta} + */ + ItemType.Typed GOLDEN_BOOTS = getItemType("golden_boots"); + /** + * ItemMeta: {@link ArmorMeta} + */ + ItemType.Typed NETHERITE_HELMET = getItemType("netherite_helmet"); + /** + * ItemMeta: {@link ArmorMeta} + */ + ItemType.Typed NETHERITE_CHESTPLATE = getItemType("netherite_chestplate"); + /** + * ItemMeta: {@link ArmorMeta} + */ + ItemType.Typed NETHERITE_LEGGINGS = getItemType("netherite_leggings"); + /** + * ItemMeta: {@link ArmorMeta} + */ + ItemType.Typed NETHERITE_BOOTS = getItemType("netherite_boots"); + ItemType.Typed FLINT = getItemType("flint"); + ItemType.Typed PORKCHOP = getItemType("porkchop"); + ItemType.Typed COOKED_PORKCHOP = getItemType("cooked_porkchop"); + ItemType.Typed PAINTING = getItemType("painting"); + ItemType.Typed GOLDEN_APPLE = getItemType("golden_apple"); + ItemType.Typed ENCHANTED_GOLDEN_APPLE = getItemType("enchanted_golden_apple"); + /** + * ItemMeta: {@link BlockStateMeta} + */ + ItemType.Typed OAK_SIGN = getItemType("oak_sign"); + /** + * ItemMeta: {@link BlockStateMeta} + */ + ItemType.Typed SPRUCE_SIGN = getItemType("spruce_sign"); + /** + * ItemMeta: {@link BlockStateMeta} + */ + ItemType.Typed BIRCH_SIGN = getItemType("birch_sign"); + /** + * ItemMeta: {@link BlockStateMeta} + */ + ItemType.Typed JUNGLE_SIGN = getItemType("jungle_sign"); + /** + * ItemMeta: {@link BlockStateMeta} + */ + ItemType.Typed ACACIA_SIGN = getItemType("acacia_sign"); + /** + * ItemMeta: {@link BlockStateMeta} + */ + ItemType.Typed CHERRY_SIGN = getItemType("cherry_sign"); + /** + * ItemMeta: {@link BlockStateMeta} + */ + ItemType.Typed DARK_OAK_SIGN = getItemType("dark_oak_sign"); + /** + * ItemMeta: {@link BlockStateMeta} + */ + ItemType.Typed MANGROVE_SIGN = getItemType("mangrove_sign"); + /** + * ItemMeta: {@link BlockStateMeta} + */ + ItemType.Typed BAMBOO_SIGN = getItemType("bamboo_sign"); + /** + * ItemMeta: {@link BlockStateMeta} + */ + ItemType.Typed CRIMSON_SIGN = getItemType("crimson_sign"); + /** + * ItemMeta: {@link BlockStateMeta} + */ + ItemType.Typed WARPED_SIGN = getItemType("warped_sign"); + /** + * ItemMeta: {@link BlockStateMeta} + */ + ItemType.Typed OAK_HANGING_SIGN = getItemType("oak_hanging_sign"); + /** + * ItemMeta: {@link BlockStateMeta} + */ + ItemType.Typed SPRUCE_HANGING_SIGN = getItemType("spruce_hanging_sign"); + /** + * ItemMeta: {@link BlockStateMeta} + */ + ItemType.Typed BIRCH_HANGING_SIGN = getItemType("birch_hanging_sign"); + /** + * ItemMeta: {@link BlockStateMeta} + */ + ItemType.Typed JUNGLE_HANGING_SIGN = getItemType("jungle_hanging_sign"); + /** + * ItemMeta: {@link BlockStateMeta} + */ + ItemType.Typed ACACIA_HANGING_SIGN = getItemType("acacia_hanging_sign"); + /** + * ItemMeta: {@link BlockStateMeta} + */ + ItemType.Typed CHERRY_HANGING_SIGN = getItemType("cherry_hanging_sign"); + /** + * ItemMeta: {@link BlockStateMeta} + */ + ItemType.Typed DARK_OAK_HANGING_SIGN = getItemType("dark_oak_hanging_sign"); + /** + * ItemMeta: {@link BlockStateMeta} + */ + ItemType.Typed MANGROVE_HANGING_SIGN = getItemType("mangrove_hanging_sign"); + /** + * ItemMeta: {@link BlockStateMeta} + */ + ItemType.Typed BAMBOO_HANGING_SIGN = getItemType("bamboo_hanging_sign"); + /** + * ItemMeta: {@link BlockStateMeta} + */ + ItemType.Typed CRIMSON_HANGING_SIGN = getItemType("crimson_hanging_sign"); + /** + * ItemMeta: {@link BlockStateMeta} + */ + ItemType.Typed WARPED_HANGING_SIGN = getItemType("warped_hanging_sign"); + ItemType.Typed BUCKET = getItemType("bucket"); + ItemType.Typed WATER_BUCKET = getItemType("water_bucket"); + ItemType.Typed LAVA_BUCKET = getItemType("lava_bucket"); + ItemType.Typed POWDER_SNOW_BUCKET = getItemType("powder_snow_bucket"); + ItemType.Typed SNOWBALL = getItemType("snowball"); + ItemType.Typed LEATHER = getItemType("leather"); + ItemType.Typed MILK_BUCKET = getItemType("milk_bucket"); + ItemType.Typed PUFFERFISH_BUCKET = getItemType("pufferfish_bucket"); + ItemType.Typed SALMON_BUCKET = getItemType("salmon_bucket"); + ItemType.Typed COD_BUCKET = getItemType("cod_bucket"); + /** + * ItemMeta: {@link TropicalFishBucketMeta} + */ + ItemType.Typed TROPICAL_FISH_BUCKET = getItemType("tropical_fish_bucket"); + /** + * ItemMeta: {@link AxolotlBucketMeta} + */ + ItemType.Typed AXOLOTL_BUCKET = getItemType("axolotl_bucket"); + ItemType.Typed TADPOLE_BUCKET = getItemType("tadpole_bucket"); + ItemType.Typed BRICK = getItemType("brick"); + ItemType.Typed CLAY_BALL = getItemType("clay_ball"); + ItemType.Typed DRIED_KELP_BLOCK = getItemType("dried_kelp_block"); + ItemType.Typed PAPER = getItemType("paper"); + ItemType.Typed BOOK = getItemType("book"); + ItemType.Typed SLIME_BALL = getItemType("slime_ball"); + ItemType.Typed EGG = getItemType("egg"); + /** + * ItemMeta: {@link CompassMeta} + */ + ItemType.Typed COMPASS = getItemType("compass"); + ItemType.Typed RECOVERY_COMPASS = getItemType("recovery_compass"); + /** + * ItemMeta: {@link BundleMeta} + */ + ItemType.Typed BUNDLE = getItemType("bundle"); + ItemType.Typed FISHING_ROD = getItemType("fishing_rod"); + ItemType.Typed CLOCK = getItemType("clock"); + ItemType.Typed SPYGLASS = getItemType("spyglass"); + ItemType.Typed GLOWSTONE_DUST = getItemType("glowstone_dust"); + ItemType.Typed COD = getItemType("cod"); + ItemType.Typed SALMON = getItemType("salmon"); + ItemType.Typed TROPICAL_FISH = getItemType("tropical_fish"); + ItemType.Typed PUFFERFISH = getItemType("pufferfish"); + ItemType.Typed COOKED_COD = getItemType("cooked_cod"); + ItemType.Typed COOKED_SALMON = getItemType("cooked_salmon"); + ItemType.Typed INK_SAC = getItemType("ink_sac"); + ItemType.Typed GLOW_INK_SAC = getItemType("glow_ink_sac"); + ItemType.Typed COCOA_BEANS = getItemType("cocoa_beans"); + ItemType.Typed WHITE_DYE = getItemType("white_dye"); + ItemType.Typed ORANGE_DYE = getItemType("orange_dye"); + ItemType.Typed MAGENTA_DYE = getItemType("magenta_dye"); + ItemType.Typed LIGHT_BLUE_DYE = getItemType("light_blue_dye"); + ItemType.Typed YELLOW_DYE = getItemType("yellow_dye"); + ItemType.Typed LIME_DYE = getItemType("lime_dye"); + ItemType.Typed PINK_DYE = getItemType("pink_dye"); + ItemType.Typed GRAY_DYE = getItemType("gray_dye"); + ItemType.Typed LIGHT_GRAY_DYE = getItemType("light_gray_dye"); + ItemType.Typed CYAN_DYE = getItemType("cyan_dye"); + ItemType.Typed PURPLE_DYE = getItemType("purple_dye"); + ItemType.Typed BLUE_DYE = getItemType("blue_dye"); + ItemType.Typed BROWN_DYE = getItemType("brown_dye"); + ItemType.Typed GREEN_DYE = getItemType("green_dye"); + ItemType.Typed RED_DYE = getItemType("red_dye"); + ItemType.Typed BLACK_DYE = getItemType("black_dye"); + ItemType.Typed BONE_MEAL = getItemType("bone_meal"); + ItemType.Typed BONE = getItemType("bone"); + ItemType.Typed SUGAR = getItemType("sugar"); + ItemType.Typed CAKE = getItemType("cake"); + ItemType.Typed WHITE_BED = getItemType("white_bed"); + ItemType.Typed ORANGE_BED = getItemType("orange_bed"); + ItemType.Typed MAGENTA_BED = getItemType("magenta_bed"); + ItemType.Typed LIGHT_BLUE_BED = getItemType("light_blue_bed"); + ItemType.Typed YELLOW_BED = getItemType("yellow_bed"); + ItemType.Typed LIME_BED = getItemType("lime_bed"); + ItemType.Typed PINK_BED = getItemType("pink_bed"); + ItemType.Typed GRAY_BED = getItemType("gray_bed"); + ItemType.Typed LIGHT_GRAY_BED = getItemType("light_gray_bed"); + ItemType.Typed CYAN_BED = getItemType("cyan_bed"); + ItemType.Typed PURPLE_BED = getItemType("purple_bed"); + ItemType.Typed BLUE_BED = getItemType("blue_bed"); + ItemType.Typed BROWN_BED = getItemType("brown_bed"); + ItemType.Typed GREEN_BED = getItemType("green_bed"); + ItemType.Typed RED_BED = getItemType("red_bed"); + ItemType.Typed BLACK_BED = getItemType("black_bed"); + ItemType.Typed COOKIE = getItemType("cookie"); + /** + * ItemMeta: {@link BlockStateMeta} + */ + @MinecraftExperimental(Requires.UPDATE_1_21) + @ApiStatus.Experimental + ItemType.Typed CRAFTER = getItemType("crafter"); + /** + * ItemMeta: {@link MapMeta} + */ + ItemType.Typed FILLED_MAP = getItemType("filled_map"); + ItemType.Typed SHEARS = getItemType("shears"); + ItemType.Typed MELON_SLICE = getItemType("melon_slice"); + ItemType.Typed DRIED_KELP = getItemType("dried_kelp"); + ItemType.Typed PUMPKIN_SEEDS = getItemType("pumpkin_seeds"); + ItemType.Typed MELON_SEEDS = getItemType("melon_seeds"); + ItemType.Typed BEEF = getItemType("beef"); + ItemType.Typed COOKED_BEEF = getItemType("cooked_beef"); + ItemType.Typed CHICKEN = getItemType("chicken"); + ItemType.Typed COOKED_CHICKEN = getItemType("cooked_chicken"); + ItemType.Typed ROTTEN_FLESH = getItemType("rotten_flesh"); + ItemType.Typed ENDER_PEARL = getItemType("ender_pearl"); + ItemType.Typed BLAZE_ROD = getItemType("blaze_rod"); + ItemType.Typed GHAST_TEAR = getItemType("ghast_tear"); + ItemType.Typed GOLD_NUGGET = getItemType("gold_nugget"); + ItemType.Typed NETHER_WART = getItemType("nether_wart"); + /** + * ItemMeta: {@link PotionMeta} + */ + ItemType.Typed POTION = getItemType("potion"); + ItemType.Typed GLASS_BOTTLE = getItemType("glass_bottle"); + ItemType.Typed SPIDER_EYE = getItemType("spider_eye"); + ItemType.Typed FERMENTED_SPIDER_EYE = getItemType("fermented_spider_eye"); + ItemType.Typed BLAZE_POWDER = getItemType("blaze_powder"); + ItemType.Typed MAGMA_CREAM = getItemType("magma_cream"); + /** + * ItemMeta: {@link BlockStateMeta} + */ + ItemType.Typed BREWING_STAND = getItemType("brewing_stand"); + ItemType.Typed CAULDRON = getItemType("cauldron"); + ItemType.Typed ENDER_EYE = getItemType("ender_eye"); + ItemType.Typed GLISTERING_MELON_SLICE = getItemType("glistering_melon_slice"); + /** + * ItemMeta: {@link SpawnEggMeta} + */ + ItemType.Typed ARMADILLO_SPAWN_EGG = getItemType("armadillo_spawn_egg"); + /** + * ItemMeta: {@link SpawnEggMeta} + */ + ItemType.Typed ALLAY_SPAWN_EGG = getItemType("allay_spawn_egg"); + /** + * ItemMeta: {@link SpawnEggMeta} + */ + ItemType.Typed AXOLOTL_SPAWN_EGG = getItemType("axolotl_spawn_egg"); + /** + * ItemMeta: {@link SpawnEggMeta} + */ + ItemType.Typed BAT_SPAWN_EGG = getItemType("bat_spawn_egg"); + /** + * ItemMeta: {@link SpawnEggMeta} + */ + ItemType.Typed BEE_SPAWN_EGG = getItemType("bee_spawn_egg"); + /** + * ItemMeta: {@link SpawnEggMeta} + */ + ItemType.Typed BLAZE_SPAWN_EGG = getItemType("blaze_spawn_egg"); + /** + * ItemMeta: {@link SpawnEggMeta} + */ + @MinecraftExperimental(Requires.UPDATE_1_21) + @ApiStatus.Experimental + ItemType.Typed BOGGED_SPAWN_EGG = getItemType("bogged_spawn_egg"); + /** + * ItemMeta: {@link SpawnEggMeta} + */ + @MinecraftExperimental(Requires.UPDATE_1_21) + @ApiStatus.Experimental + ItemType.Typed BREEZE_SPAWN_EGG = getItemType("breeze_spawn_egg"); + /** + * ItemMeta: {@link SpawnEggMeta} + */ + ItemType.Typed CAT_SPAWN_EGG = getItemType("cat_spawn_egg"); + /** + * ItemMeta: {@link SpawnEggMeta} + */ + ItemType.Typed CAMEL_SPAWN_EGG = getItemType("camel_spawn_egg"); + /** + * ItemMeta: {@link SpawnEggMeta} + */ + ItemType.Typed CAVE_SPIDER_SPAWN_EGG = getItemType("cave_spider_spawn_egg"); + /** + * ItemMeta: {@link SpawnEggMeta} + */ + ItemType.Typed CHICKEN_SPAWN_EGG = getItemType("chicken_spawn_egg"); + /** + * ItemMeta: {@link SpawnEggMeta} + */ + ItemType.Typed COD_SPAWN_EGG = getItemType("cod_spawn_egg"); + /** + * ItemMeta: {@link SpawnEggMeta} + */ + ItemType.Typed COW_SPAWN_EGG = getItemType("cow_spawn_egg"); + /** + * ItemMeta: {@link SpawnEggMeta} + */ + ItemType.Typed CREEPER_SPAWN_EGG = getItemType("creeper_spawn_egg"); + /** + * ItemMeta: {@link SpawnEggMeta} + */ + ItemType.Typed DOLPHIN_SPAWN_EGG = getItemType("dolphin_spawn_egg"); + /** + * ItemMeta: {@link SpawnEggMeta} + */ + ItemType.Typed DONKEY_SPAWN_EGG = getItemType("donkey_spawn_egg"); + /** + * ItemMeta: {@link SpawnEggMeta} + */ + ItemType.Typed DROWNED_SPAWN_EGG = getItemType("drowned_spawn_egg"); + /** + * ItemMeta: {@link SpawnEggMeta} + */ + ItemType.Typed ELDER_GUARDIAN_SPAWN_EGG = getItemType("elder_guardian_spawn_egg"); + /** + * ItemMeta: {@link SpawnEggMeta} + */ + ItemType.Typed ENDER_DRAGON_SPAWN_EGG = getItemType("ender_dragon_spawn_egg"); + /** + * ItemMeta: {@link SpawnEggMeta} + */ + ItemType.Typed ENDERMAN_SPAWN_EGG = getItemType("enderman_spawn_egg"); + /** + * ItemMeta: {@link SpawnEggMeta} + */ + ItemType.Typed ENDERMITE_SPAWN_EGG = getItemType("endermite_spawn_egg"); + /** + * ItemMeta: {@link SpawnEggMeta} + */ + ItemType.Typed EVOKER_SPAWN_EGG = getItemType("evoker_spawn_egg"); + /** + * ItemMeta: {@link SpawnEggMeta} + */ + ItemType.Typed FOX_SPAWN_EGG = getItemType("fox_spawn_egg"); + /** + * ItemMeta: {@link SpawnEggMeta} + */ + ItemType.Typed FROG_SPAWN_EGG = getItemType("frog_spawn_egg"); + /** + * ItemMeta: {@link SpawnEggMeta} + */ + ItemType.Typed GHAST_SPAWN_EGG = getItemType("ghast_spawn_egg"); + /** + * ItemMeta: {@link SpawnEggMeta} + */ + ItemType.Typed GLOW_SQUID_SPAWN_EGG = getItemType("glow_squid_spawn_egg"); + /** + * ItemMeta: {@link SpawnEggMeta} + */ + ItemType.Typed GOAT_SPAWN_EGG = getItemType("goat_spawn_egg"); + /** + * ItemMeta: {@link SpawnEggMeta} + */ + ItemType.Typed GUARDIAN_SPAWN_EGG = getItemType("guardian_spawn_egg"); + /** + * ItemMeta: {@link SpawnEggMeta} + */ + ItemType.Typed HOGLIN_SPAWN_EGG = getItemType("hoglin_spawn_egg"); + /** + * ItemMeta: {@link SpawnEggMeta} + */ + ItemType.Typed HORSE_SPAWN_EGG = getItemType("horse_spawn_egg"); + /** + * ItemMeta: {@link SpawnEggMeta} + */ + ItemType.Typed HUSK_SPAWN_EGG = getItemType("husk_spawn_egg"); + /** + * ItemMeta: {@link SpawnEggMeta} + */ + ItemType.Typed IRON_GOLEM_SPAWN_EGG = getItemType("iron_golem_spawn_egg"); + /** + * ItemMeta: {@link SpawnEggMeta} + */ + ItemType.Typed LLAMA_SPAWN_EGG = getItemType("llama_spawn_egg"); + /** + * ItemMeta: {@link SpawnEggMeta} + */ + ItemType.Typed MAGMA_CUBE_SPAWN_EGG = getItemType("magma_cube_spawn_egg"); + /** + * ItemMeta: {@link SpawnEggMeta} + */ + ItemType.Typed MOOSHROOM_SPAWN_EGG = getItemType("mooshroom_spawn_egg"); + /** + * ItemMeta: {@link SpawnEggMeta} + */ + ItemType.Typed MULE_SPAWN_EGG = getItemType("mule_spawn_egg"); + /** + * ItemMeta: {@link SpawnEggMeta} + */ + ItemType.Typed OCELOT_SPAWN_EGG = getItemType("ocelot_spawn_egg"); + /** + * ItemMeta: {@link SpawnEggMeta} + */ + ItemType.Typed PANDA_SPAWN_EGG = getItemType("panda_spawn_egg"); + /** + * ItemMeta: {@link SpawnEggMeta} + */ + ItemType.Typed PARROT_SPAWN_EGG = getItemType("parrot_spawn_egg"); + /** + * ItemMeta: {@link SpawnEggMeta} + */ + ItemType.Typed PHANTOM_SPAWN_EGG = getItemType("phantom_spawn_egg"); + /** + * ItemMeta: {@link SpawnEggMeta} + */ + ItemType.Typed PIG_SPAWN_EGG = getItemType("pig_spawn_egg"); + /** + * ItemMeta: {@link SpawnEggMeta} + */ + ItemType.Typed PIGLIN_SPAWN_EGG = getItemType("piglin_spawn_egg"); + /** + * ItemMeta: {@link SpawnEggMeta} + */ + ItemType.Typed PIGLIN_BRUTE_SPAWN_EGG = getItemType("piglin_brute_spawn_egg"); + /** + * ItemMeta: {@link SpawnEggMeta} + */ + ItemType.Typed PILLAGER_SPAWN_EGG = getItemType("pillager_spawn_egg"); + /** + * ItemMeta: {@link SpawnEggMeta} + */ + ItemType.Typed POLAR_BEAR_SPAWN_EGG = getItemType("polar_bear_spawn_egg"); + /** + * ItemMeta: {@link SpawnEggMeta} + */ + ItemType.Typed PUFFERFISH_SPAWN_EGG = getItemType("pufferfish_spawn_egg"); + /** + * ItemMeta: {@link SpawnEggMeta} + */ + ItemType.Typed RABBIT_SPAWN_EGG = getItemType("rabbit_spawn_egg"); + /** + * ItemMeta: {@link SpawnEggMeta} + */ + ItemType.Typed RAVAGER_SPAWN_EGG = getItemType("ravager_spawn_egg"); + /** + * ItemMeta: {@link SpawnEggMeta} + */ + ItemType.Typed SALMON_SPAWN_EGG = getItemType("salmon_spawn_egg"); + /** + * ItemMeta: {@link SpawnEggMeta} + */ + ItemType.Typed SHEEP_SPAWN_EGG = getItemType("sheep_spawn_egg"); + /** + * ItemMeta: {@link SpawnEggMeta} + */ + ItemType.Typed SHULKER_SPAWN_EGG = getItemType("shulker_spawn_egg"); + /** + * ItemMeta: {@link SpawnEggMeta} + */ + ItemType.Typed SILVERFISH_SPAWN_EGG = getItemType("silverfish_spawn_egg"); + /** + * ItemMeta: {@link SpawnEggMeta} + */ + ItemType.Typed SKELETON_SPAWN_EGG = getItemType("skeleton_spawn_egg"); + /** + * ItemMeta: {@link SpawnEggMeta} + */ + ItemType.Typed SKELETON_HORSE_SPAWN_EGG = getItemType("skeleton_horse_spawn_egg"); + /** + * ItemMeta: {@link SpawnEggMeta} + */ + ItemType.Typed SLIME_SPAWN_EGG = getItemType("slime_spawn_egg"); + /** + * ItemMeta: {@link SpawnEggMeta} + */ + ItemType.Typed SNIFFER_SPAWN_EGG = getItemType("sniffer_spawn_egg"); + /** + * ItemMeta: {@link SpawnEggMeta} + */ + ItemType.Typed SNOW_GOLEM_SPAWN_EGG = getItemType("snow_golem_spawn_egg"); + /** + * ItemMeta: {@link SpawnEggMeta} + */ + ItemType.Typed SPIDER_SPAWN_EGG = getItemType("spider_spawn_egg"); + /** + * ItemMeta: {@link SpawnEggMeta} + */ + ItemType.Typed SQUID_SPAWN_EGG = getItemType("squid_spawn_egg"); + /** + * ItemMeta: {@link SpawnEggMeta} + */ + ItemType.Typed STRAY_SPAWN_EGG = getItemType("stray_spawn_egg"); + /** + * ItemMeta: {@link SpawnEggMeta} + */ + ItemType.Typed STRIDER_SPAWN_EGG = getItemType("strider_spawn_egg"); + /** + * ItemMeta: {@link SpawnEggMeta} + */ + ItemType.Typed TADPOLE_SPAWN_EGG = getItemType("tadpole_spawn_egg"); + /** + * ItemMeta: {@link SpawnEggMeta} + */ + ItemType.Typed TRADER_LLAMA_SPAWN_EGG = getItemType("trader_llama_spawn_egg"); + /** + * ItemMeta: {@link SpawnEggMeta} + */ + ItemType.Typed TROPICAL_FISH_SPAWN_EGG = getItemType("tropical_fish_spawn_egg"); + /** + * ItemMeta: {@link SpawnEggMeta} + */ + ItemType.Typed TURTLE_SPAWN_EGG = getItemType("turtle_spawn_egg"); + /** + * ItemMeta: {@link SpawnEggMeta} + */ + ItemType.Typed VEX_SPAWN_EGG = getItemType("vex_spawn_egg"); + /** + * ItemMeta: {@link SpawnEggMeta} + */ + ItemType.Typed VILLAGER_SPAWN_EGG = getItemType("villager_spawn_egg"); + /** + * ItemMeta: {@link SpawnEggMeta} + */ + ItemType.Typed VINDICATOR_SPAWN_EGG = getItemType("vindicator_spawn_egg"); + /** + * ItemMeta: {@link SpawnEggMeta} + */ + ItemType.Typed WANDERING_TRADER_SPAWN_EGG = getItemType("wandering_trader_spawn_egg"); + /** + * ItemMeta: {@link SpawnEggMeta} + */ + ItemType.Typed WARDEN_SPAWN_EGG = getItemType("warden_spawn_egg"); + /** + * ItemMeta: {@link SpawnEggMeta} + */ + ItemType.Typed WITCH_SPAWN_EGG = getItemType("witch_spawn_egg"); + /** + * ItemMeta: {@link SpawnEggMeta} + */ + ItemType.Typed WITHER_SPAWN_EGG = getItemType("wither_spawn_egg"); + /** + * ItemMeta: {@link SpawnEggMeta} + */ + ItemType.Typed WITHER_SKELETON_SPAWN_EGG = getItemType("wither_skeleton_spawn_egg"); + /** + * ItemMeta: {@link SpawnEggMeta} + */ + ItemType.Typed WOLF_SPAWN_EGG = getItemType("wolf_spawn_egg"); + /** + * ItemMeta: {@link SpawnEggMeta} + */ + ItemType.Typed ZOGLIN_SPAWN_EGG = getItemType("zoglin_spawn_egg"); + /** + * ItemMeta: {@link SpawnEggMeta} + */ + ItemType.Typed ZOMBIE_SPAWN_EGG = getItemType("zombie_spawn_egg"); + /** + * ItemMeta: {@link SpawnEggMeta} + */ + ItemType.Typed ZOMBIE_HORSE_SPAWN_EGG = getItemType("zombie_horse_spawn_egg"); + /** + * ItemMeta: {@link SpawnEggMeta} + */ + ItemType.Typed ZOMBIE_VILLAGER_SPAWN_EGG = getItemType("zombie_villager_spawn_egg"); + /** + * ItemMeta: {@link SpawnEggMeta} + */ + ItemType.Typed ZOMBIFIED_PIGLIN_SPAWN_EGG = getItemType("zombified_piglin_spawn_egg"); + ItemType.Typed EXPERIENCE_BOTTLE = getItemType("experience_bottle"); + ItemType.Typed FIRE_CHARGE = getItemType("fire_charge"); + @MinecraftExperimental(Requires.UPDATE_1_21) + @ApiStatus.Experimental + ItemType.Typed WIND_CHARGE = getItemType("wind_charge"); + /** + * ItemMeta: {@link BookMeta} + */ + ItemType.Typed WRITABLE_BOOK = getItemType("writable_book"); + /** + * ItemMeta: {@link BookMeta} + */ + ItemType.Typed WRITTEN_BOOK = getItemType("written_book"); + @MinecraftExperimental(Requires.UPDATE_1_21) + @ApiStatus.Experimental + ItemType.Typed MACE = getItemType("mace"); + ItemType.Typed ITEM_FRAME = getItemType("item_frame"); + ItemType.Typed GLOW_ITEM_FRAME = getItemType("glow_item_frame"); + ItemType.Typed FLOWER_POT = getItemType("flower_pot"); + ItemType.Typed CARROT = getItemType("carrot"); + ItemType.Typed POTATO = getItemType("potato"); + ItemType.Typed BAKED_POTATO = getItemType("baked_potato"); + ItemType.Typed POISONOUS_POTATO = getItemType("poisonous_potato"); + ItemType.Typed MAP = getItemType("map"); + ItemType.Typed GOLDEN_CARROT = getItemType("golden_carrot"); + /** + * ItemMeta: {@link SkullMeta} + */ + ItemType.Typed SKELETON_SKULL = getItemType("skeleton_skull"); + /** + * ItemMeta: {@link SkullMeta} + */ + ItemType.Typed WITHER_SKELETON_SKULL = getItemType("wither_skeleton_skull"); + /** + * ItemMeta: {@link SkullMeta} + */ + ItemType.Typed PLAYER_HEAD = getItemType("player_head"); + /** + * ItemMeta: {@link SkullMeta} + */ + ItemType.Typed ZOMBIE_HEAD = getItemType("zombie_head"); + /** + * ItemMeta: {@link SkullMeta} + */ + ItemType.Typed CREEPER_HEAD = getItemType("creeper_head"); + /** + * ItemMeta: {@link SkullMeta} + */ + ItemType.Typed DRAGON_HEAD = getItemType("dragon_head"); + /** + * ItemMeta: {@link SkullMeta} + */ + ItemType.Typed PIGLIN_HEAD = getItemType("piglin_head"); + ItemType.Typed NETHER_STAR = getItemType("nether_star"); + ItemType.Typed PUMPKIN_PIE = getItemType("pumpkin_pie"); + /** + * ItemMeta: {@link FireworkMeta} + */ + ItemType.Typed FIREWORK_ROCKET = getItemType("firework_rocket"); + /** + * ItemMeta: {@link FireworkEffectMeta} + */ + ItemType.Typed FIREWORK_STAR = getItemType("firework_star"); + /** + * ItemMeta: {@link EnchantmentStorageMeta} + */ + ItemType.Typed ENCHANTED_BOOK = getItemType("enchanted_book"); + ItemType.Typed NETHER_BRICK = getItemType("nether_brick"); + ItemType.Typed PRISMARINE_SHARD = getItemType("prismarine_shard"); + ItemType.Typed PRISMARINE_CRYSTALS = getItemType("prismarine_crystals"); + ItemType.Typed RABBIT = getItemType("rabbit"); + ItemType.Typed COOKED_RABBIT = getItemType("cooked_rabbit"); + ItemType.Typed RABBIT_STEW = getItemType("rabbit_stew"); + ItemType.Typed RABBIT_FOOT = getItemType("rabbit_foot"); + ItemType.Typed RABBIT_HIDE = getItemType("rabbit_hide"); + ItemType.Typed ARMOR_STAND = getItemType("armor_stand"); + ItemType.Typed IRON_HORSE_ARMOR = getItemType("iron_horse_armor"); + ItemType.Typed GOLDEN_HORSE_ARMOR = getItemType("golden_horse_armor"); + ItemType.Typed DIAMOND_HORSE_ARMOR = getItemType("diamond_horse_armor"); + /** + * ItemMeta: {@link LeatherArmorMeta} + */ + ItemType.Typed LEATHER_HORSE_ARMOR = getItemType("leather_horse_armor"); + ItemType.Typed LEAD = getItemType("lead"); + ItemType.Typed NAME_TAG = getItemType("name_tag"); + ItemType.Typed COMMAND_BLOCK_MINECART = getItemType("command_block_minecart"); + ItemType.Typed MUTTON = getItemType("mutton"); + ItemType.Typed COOKED_MUTTON = getItemType("cooked_mutton"); + /** + * ItemMeta: {@link BannerMeta} + */ + ItemType.Typed WHITE_BANNER = getItemType("white_banner"); + /** + * ItemMeta: {@link BannerMeta} + */ + ItemType.Typed ORANGE_BANNER = getItemType("orange_banner"); + /** + * ItemMeta: {@link BannerMeta} + */ + ItemType.Typed MAGENTA_BANNER = getItemType("magenta_banner"); + /** + * ItemMeta: {@link BannerMeta} + */ + ItemType.Typed LIGHT_BLUE_BANNER = getItemType("light_blue_banner"); + /** + * ItemMeta: {@link BannerMeta} + */ + ItemType.Typed YELLOW_BANNER = getItemType("yellow_banner"); + /** + * ItemMeta: {@link BannerMeta} + */ + ItemType.Typed LIME_BANNER = getItemType("lime_banner"); + /** + * ItemMeta: {@link BannerMeta} + */ + ItemType.Typed PINK_BANNER = getItemType("pink_banner"); + /** + * ItemMeta: {@link BannerMeta} + */ + ItemType.Typed GRAY_BANNER = getItemType("gray_banner"); + /** + * ItemMeta: {@link BannerMeta} + */ + ItemType.Typed LIGHT_GRAY_BANNER = getItemType("light_gray_banner"); + /** + * ItemMeta: {@link BannerMeta} + */ + ItemType.Typed CYAN_BANNER = getItemType("cyan_banner"); + /** + * ItemMeta: {@link BannerMeta} + */ + ItemType.Typed PURPLE_BANNER = getItemType("purple_banner"); + /** + * ItemMeta: {@link BannerMeta} + */ + ItemType.Typed BLUE_BANNER = getItemType("blue_banner"); + /** + * ItemMeta: {@link BannerMeta} + */ + ItemType.Typed BROWN_BANNER = getItemType("brown_banner"); + /** + * ItemMeta: {@link BannerMeta} + */ + ItemType.Typed GREEN_BANNER = getItemType("green_banner"); + /** + * ItemMeta: {@link BannerMeta} + */ + ItemType.Typed RED_BANNER = getItemType("red_banner"); + /** + * ItemMeta: {@link BannerMeta} + */ + ItemType.Typed BLACK_BANNER = getItemType("black_banner"); + ItemType.Typed END_CRYSTAL = getItemType("end_crystal"); + ItemType.Typed CHORUS_FRUIT = getItemType("chorus_fruit"); + ItemType.Typed POPPED_CHORUS_FRUIT = getItemType("popped_chorus_fruit"); + ItemType.Typed TORCHFLOWER_SEEDS = getItemType("torchflower_seeds"); + ItemType.Typed PITCHER_POD = getItemType("pitcher_pod"); + ItemType.Typed BEETROOT = getItemType("beetroot"); + ItemType.Typed BEETROOT_SEEDS = getItemType("beetroot_seeds"); + ItemType.Typed BEETROOT_SOUP = getItemType("beetroot_soup"); + ItemType.Typed DRAGON_BREATH = getItemType("dragon_breath"); + /** + * ItemMeta: {@link PotionMeta} + */ + ItemType.Typed SPLASH_POTION = getItemType("splash_potion"); + ItemType.Typed SPECTRAL_ARROW = getItemType("spectral_arrow"); + /** + * ItemMeta: {@link PotionMeta} + */ + ItemType.Typed TIPPED_ARROW = getItemType("tipped_arrow"); + /** + * ItemMeta: {@link PotionMeta} + */ + ItemType.Typed LINGERING_POTION = getItemType("lingering_potion"); + /** + * ItemMeta: {@link BlockStateMeta} + */ + ItemType.Typed SHIELD = getItemType("shield"); + ItemType.Typed TOTEM_OF_UNDYING = getItemType("totem_of_undying"); + ItemType.Typed SHULKER_SHELL = getItemType("shulker_shell"); + ItemType.Typed IRON_NUGGET = getItemType("iron_nugget"); + /** + * ItemMeta: {@link KnowledgeBookMeta} + */ + ItemType.Typed KNOWLEDGE_BOOK = getItemType("knowledge_book"); + ItemType.Typed DEBUG_STICK = getItemType("debug_stick"); + ItemType.Typed MUSIC_DISC_13 = getItemType("music_disc_13"); + ItemType.Typed MUSIC_DISC_CAT = getItemType("music_disc_cat"); + ItemType.Typed MUSIC_DISC_BLOCKS = getItemType("music_disc_blocks"); + ItemType.Typed MUSIC_DISC_CHIRP = getItemType("music_disc_chirp"); + ItemType.Typed MUSIC_DISC_FAR = getItemType("music_disc_far"); + ItemType.Typed MUSIC_DISC_MALL = getItemType("music_disc_mall"); + ItemType.Typed MUSIC_DISC_MELLOHI = getItemType("music_disc_mellohi"); + ItemType.Typed MUSIC_DISC_STAL = getItemType("music_disc_stal"); + ItemType.Typed MUSIC_DISC_STRAD = getItemType("music_disc_strad"); + ItemType.Typed MUSIC_DISC_WARD = getItemType("music_disc_ward"); + ItemType.Typed MUSIC_DISC_11 = getItemType("music_disc_11"); + ItemType.Typed MUSIC_DISC_WAIT = getItemType("music_disc_wait"); + ItemType.Typed MUSIC_DISC_OTHERSIDE = getItemType("music_disc_otherside"); + ItemType.Typed MUSIC_DISC_RELIC = getItemType("music_disc_relic"); + ItemType.Typed MUSIC_DISC_5 = getItemType("music_disc_5"); + ItemType.Typed MUSIC_DISC_PIGSTEP = getItemType("music_disc_pigstep"); + ItemType.Typed DISC_FRAGMENT_5 = getItemType("disc_fragment_5"); + ItemType.Typed TRIDENT = getItemType("trident"); + ItemType.Typed PHANTOM_MEMBRANE = getItemType("phantom_membrane"); + ItemType.Typed NAUTILUS_SHELL = getItemType("nautilus_shell"); + ItemType.Typed HEART_OF_THE_SEA = getItemType("heart_of_the_sea"); + /** + * ItemMeta: {@link CrossbowMeta} + */ + ItemType.Typed CROSSBOW = getItemType("crossbow"); + /** + * ItemMeta: {@link SuspiciousStewMeta} + */ + ItemType.Typed SUSPICIOUS_STEW = getItemType("suspicious_stew"); + ItemType.Typed LOOM = getItemType("loom"); + ItemType.Typed FLOWER_BANNER_PATTERN = getItemType("flower_banner_pattern"); + ItemType.Typed CREEPER_BANNER_PATTERN = getItemType("creeper_banner_pattern"); + ItemType.Typed SKULL_BANNER_PATTERN = getItemType("skull_banner_pattern"); + ItemType.Typed MOJANG_BANNER_PATTERN = getItemType("mojang_banner_pattern"); + ItemType.Typed GLOBE_BANNER_PATTERN = getItemType("globe_banner_pattern"); + ItemType.Typed PIGLIN_BANNER_PATTERN = getItemType("piglin_banner_pattern"); + @MinecraftExperimental(Requires.UPDATE_1_21) + @ApiStatus.Experimental + ItemType.Typed FLOW_BANNER_PATTERN = getItemType("flow_banner_pattern"); + @MinecraftExperimental(Requires.UPDATE_1_21) + @ApiStatus.Experimental + ItemType.Typed GUSTER_BANNER_PATTERN = getItemType("guster_banner_pattern"); + /** + * ItemMeta: {@link MusicInstrumentMeta} + */ + ItemType.Typed GOAT_HORN = getItemType("goat_horn"); + ItemType.Typed COMPOSTER = getItemType("composter"); + /** + * ItemMeta: {@link BlockStateMeta} + */ + ItemType.Typed BARREL = getItemType("barrel"); + /** + * ItemMeta: {@link BlockStateMeta} + */ + ItemType.Typed SMOKER = getItemType("smoker"); + /** + * ItemMeta: {@link BlockStateMeta} + */ + ItemType.Typed BLAST_FURNACE = getItemType("blast_furnace"); + ItemType.Typed CARTOGRAPHY_TABLE = getItemType("cartography_table"); + ItemType.Typed FLETCHING_TABLE = getItemType("fletching_table"); + ItemType.Typed GRINDSTONE = getItemType("grindstone"); + ItemType.Typed SMITHING_TABLE = getItemType("smithing_table"); + ItemType.Typed STONECUTTER = getItemType("stonecutter"); + /** + * ItemMeta: {@link BlockStateMeta} + */ + ItemType.Typed BELL = getItemType("bell"); + ItemType.Typed LANTERN = getItemType("lantern"); + ItemType.Typed SOUL_LANTERN = getItemType("soul_lantern"); + ItemType.Typed SWEET_BERRIES = getItemType("sweet_berries"); + ItemType.Typed GLOW_BERRIES = getItemType("glow_berries"); + /** + * ItemMeta: {@link BlockStateMeta} + */ + ItemType.Typed CAMPFIRE = getItemType("campfire"); + /** + * ItemMeta: {@link BlockStateMeta} + */ + ItemType.Typed SOUL_CAMPFIRE = getItemType("soul_campfire"); + ItemType.Typed SHROOMLIGHT = getItemType("shroomlight"); + ItemType.Typed HONEYCOMB = getItemType("honeycomb"); + /** + * ItemMeta: {@link BlockStateMeta} + */ + ItemType.Typed BEE_NEST = getItemType("bee_nest"); + /** + * ItemMeta: {@link BlockStateMeta} + */ + ItemType.Typed BEEHIVE = getItemType("beehive"); + ItemType.Typed HONEY_BOTTLE = getItemType("honey_bottle"); + ItemType.Typed HONEYCOMB_BLOCK = getItemType("honeycomb_block"); + ItemType.Typed LODESTONE = getItemType("lodestone"); + ItemType.Typed CRYING_OBSIDIAN = getItemType("crying_obsidian"); + ItemType.Typed BLACKSTONE = getItemType("blackstone"); + ItemType.Typed BLACKSTONE_SLAB = getItemType("blackstone_slab"); + ItemType.Typed BLACKSTONE_STAIRS = getItemType("blackstone_stairs"); + ItemType.Typed GILDED_BLACKSTONE = getItemType("gilded_blackstone"); + ItemType.Typed POLISHED_BLACKSTONE = getItemType("polished_blackstone"); + ItemType.Typed POLISHED_BLACKSTONE_SLAB = getItemType("polished_blackstone_slab"); + ItemType.Typed POLISHED_BLACKSTONE_STAIRS = getItemType("polished_blackstone_stairs"); + ItemType.Typed CHISELED_POLISHED_BLACKSTONE = getItemType("chiseled_polished_blackstone"); + ItemType.Typed POLISHED_BLACKSTONE_BRICKS = getItemType("polished_blackstone_bricks"); + ItemType.Typed POLISHED_BLACKSTONE_BRICK_SLAB = getItemType("polished_blackstone_brick_slab"); + ItemType.Typed POLISHED_BLACKSTONE_BRICK_STAIRS = getItemType("polished_blackstone_brick_stairs"); + ItemType.Typed CRACKED_POLISHED_BLACKSTONE_BRICKS = getItemType("cracked_polished_blackstone_bricks"); + ItemType.Typed RESPAWN_ANCHOR = getItemType("respawn_anchor"); + ItemType.Typed CANDLE = getItemType("candle"); + ItemType.Typed WHITE_CANDLE = getItemType("white_candle"); + ItemType.Typed ORANGE_CANDLE = getItemType("orange_candle"); + ItemType.Typed MAGENTA_CANDLE = getItemType("magenta_candle"); + ItemType.Typed LIGHT_BLUE_CANDLE = getItemType("light_blue_candle"); + ItemType.Typed YELLOW_CANDLE = getItemType("yellow_candle"); + ItemType.Typed LIME_CANDLE = getItemType("lime_candle"); + ItemType.Typed PINK_CANDLE = getItemType("pink_candle"); + ItemType.Typed GRAY_CANDLE = getItemType("gray_candle"); + ItemType.Typed LIGHT_GRAY_CANDLE = getItemType("light_gray_candle"); + ItemType.Typed CYAN_CANDLE = getItemType("cyan_candle"); + ItemType.Typed PURPLE_CANDLE = getItemType("purple_candle"); + ItemType.Typed BLUE_CANDLE = getItemType("blue_candle"); + ItemType.Typed BROWN_CANDLE = getItemType("brown_candle"); + ItemType.Typed GREEN_CANDLE = getItemType("green_candle"); + ItemType.Typed RED_CANDLE = getItemType("red_candle"); + ItemType.Typed BLACK_CANDLE = getItemType("black_candle"); + ItemType.Typed SMALL_AMETHYST_BUD = getItemType("small_amethyst_bud"); + ItemType.Typed MEDIUM_AMETHYST_BUD = getItemType("medium_amethyst_bud"); + ItemType.Typed LARGE_AMETHYST_BUD = getItemType("large_amethyst_bud"); + ItemType.Typed AMETHYST_CLUSTER = getItemType("amethyst_cluster"); + ItemType.Typed POINTED_DRIPSTONE = getItemType("pointed_dripstone"); + ItemType.Typed OCHRE_FROGLIGHT = getItemType("ochre_froglight"); + ItemType.Typed VERDANT_FROGLIGHT = getItemType("verdant_froglight"); + ItemType.Typed PEARLESCENT_FROGLIGHT = getItemType("pearlescent_froglight"); + ItemType.Typed FROGSPAWN = getItemType("frogspawn"); + ItemType.Typed ECHO_SHARD = getItemType("echo_shard"); + ItemType.Typed BRUSH = getItemType("brush"); + ItemType.Typed NETHERITE_UPGRADE_SMITHING_TEMPLATE = getItemType("netherite_upgrade_smithing_template"); + ItemType.Typed SENTRY_ARMOR_TRIM_SMITHING_TEMPLATE = getItemType("sentry_armor_trim_smithing_template"); + ItemType.Typed DUNE_ARMOR_TRIM_SMITHING_TEMPLATE = getItemType("dune_armor_trim_smithing_template"); + ItemType.Typed COAST_ARMOR_TRIM_SMITHING_TEMPLATE = getItemType("coast_armor_trim_smithing_template"); + ItemType.Typed WILD_ARMOR_TRIM_SMITHING_TEMPLATE = getItemType("wild_armor_trim_smithing_template"); + ItemType.Typed WARD_ARMOR_TRIM_SMITHING_TEMPLATE = getItemType("ward_armor_trim_smithing_template"); + ItemType.Typed EYE_ARMOR_TRIM_SMITHING_TEMPLATE = getItemType("eye_armor_trim_smithing_template"); + ItemType.Typed VEX_ARMOR_TRIM_SMITHING_TEMPLATE = getItemType("vex_armor_trim_smithing_template"); + ItemType.Typed TIDE_ARMOR_TRIM_SMITHING_TEMPLATE = getItemType("tide_armor_trim_smithing_template"); + ItemType.Typed SNOUT_ARMOR_TRIM_SMITHING_TEMPLATE = getItemType("snout_armor_trim_smithing_template"); + ItemType.Typed RIB_ARMOR_TRIM_SMITHING_TEMPLATE = getItemType("rib_armor_trim_smithing_template"); + ItemType.Typed SPIRE_ARMOR_TRIM_SMITHING_TEMPLATE = getItemType("spire_armor_trim_smithing_template"); + ItemType.Typed WAYFINDER_ARMOR_TRIM_SMITHING_TEMPLATE = getItemType("wayfinder_armor_trim_smithing_template"); + ItemType.Typed SHAPER_ARMOR_TRIM_SMITHING_TEMPLATE = getItemType("shaper_armor_trim_smithing_template"); + ItemType.Typed SILENCE_ARMOR_TRIM_SMITHING_TEMPLATE = getItemType("silence_armor_trim_smithing_template"); + ItemType.Typed RAISER_ARMOR_TRIM_SMITHING_TEMPLATE = getItemType("raiser_armor_trim_smithing_template"); + ItemType.Typed HOST_ARMOR_TRIM_SMITHING_TEMPLATE = getItemType("host_armor_trim_smithing_template"); + @MinecraftExperimental(Requires.UPDATE_1_21) + @ApiStatus.Experimental + ItemType.Typed FLOW_ARMOR_TRIM_SMITHING_TEMPLATE = getItemType("flow_armor_trim_smithing_template"); + @MinecraftExperimental(Requires.UPDATE_1_21) + @ApiStatus.Experimental + ItemType.Typed BOLT_ARMOR_TRIM_SMITHING_TEMPLATE = getItemType("bolt_armor_trim_smithing_template"); + ItemType.Typed ANGLER_POTTERY_SHERD = getItemType("angler_pottery_sherd"); + ItemType.Typed ARCHER_POTTERY_SHERD = getItemType("archer_pottery_sherd"); + ItemType.Typed ARMS_UP_POTTERY_SHERD = getItemType("arms_up_pottery_sherd"); + ItemType.Typed BLADE_POTTERY_SHERD = getItemType("blade_pottery_sherd"); + ItemType.Typed BREWER_POTTERY_SHERD = getItemType("brewer_pottery_sherd"); + ItemType.Typed BURN_POTTERY_SHERD = getItemType("burn_pottery_sherd"); + ItemType.Typed DANGER_POTTERY_SHERD = getItemType("danger_pottery_sherd"); + ItemType.Typed EXPLORER_POTTERY_SHERD = getItemType("explorer_pottery_sherd"); + @MinecraftExperimental(Requires.UPDATE_1_21) + @ApiStatus.Experimental + ItemType.Typed FLOW_POTTERY_SHERD = getItemType("flow_pottery_sherd"); + ItemType.Typed FRIEND_POTTERY_SHERD = getItemType("friend_pottery_sherd"); + @MinecraftExperimental(Requires.UPDATE_1_21) + @ApiStatus.Experimental + ItemType.Typed GUSTER_POTTERY_SHERD = getItemType("guster_pottery_sherd"); + ItemType.Typed HEART_POTTERY_SHERD = getItemType("heart_pottery_sherd"); + ItemType.Typed HEARTBREAK_POTTERY_SHERD = getItemType("heartbreak_pottery_sherd"); + ItemType.Typed HOWL_POTTERY_SHERD = getItemType("howl_pottery_sherd"); + ItemType.Typed MINER_POTTERY_SHERD = getItemType("miner_pottery_sherd"); + ItemType.Typed MOURNER_POTTERY_SHERD = getItemType("mourner_pottery_sherd"); + ItemType.Typed PLENTY_POTTERY_SHERD = getItemType("plenty_pottery_sherd"); + ItemType.Typed PRIZE_POTTERY_SHERD = getItemType("prize_pottery_sherd"); + @MinecraftExperimental(Requires.UPDATE_1_21) + @ApiStatus.Experimental + ItemType.Typed SCRAPE_POTTERY_SHERD = getItemType("scrape_pottery_sherd"); + ItemType.Typed SHEAF_POTTERY_SHERD = getItemType("sheaf_pottery_sherd"); + ItemType.Typed SHELTER_POTTERY_SHERD = getItemType("shelter_pottery_sherd"); + ItemType.Typed SKULL_POTTERY_SHERD = getItemType("skull_pottery_sherd"); + ItemType.Typed SNORT_POTTERY_SHERD = getItemType("snort_pottery_sherd"); + @MinecraftExperimental(Requires.UPDATE_1_21) + @ApiStatus.Experimental + ItemType.Typed COPPER_GRATE = getItemType("copper_grate"); + @MinecraftExperimental(Requires.UPDATE_1_21) + @ApiStatus.Experimental + ItemType.Typed EXPOSED_COPPER_GRATE = getItemType("exposed_copper_grate"); + @MinecraftExperimental(Requires.UPDATE_1_21) + @ApiStatus.Experimental + ItemType.Typed WEATHERED_COPPER_GRATE = getItemType("weathered_copper_grate"); + @MinecraftExperimental(Requires.UPDATE_1_21) + @ApiStatus.Experimental + ItemType.Typed OXIDIZED_COPPER_GRATE = getItemType("oxidized_copper_grate"); + @MinecraftExperimental(Requires.UPDATE_1_21) + @ApiStatus.Experimental + ItemType.Typed WAXED_COPPER_GRATE = getItemType("waxed_copper_grate"); + @MinecraftExperimental(Requires.UPDATE_1_21) + @ApiStatus.Experimental + ItemType.Typed WAXED_EXPOSED_COPPER_GRATE = getItemType("waxed_exposed_copper_grate"); + @MinecraftExperimental(Requires.UPDATE_1_21) + @ApiStatus.Experimental + ItemType.Typed WAXED_WEATHERED_COPPER_GRATE = getItemType("waxed_weathered_copper_grate"); + @MinecraftExperimental(Requires.UPDATE_1_21) + @ApiStatus.Experimental + ItemType.Typed WAXED_OXIDIZED_COPPER_GRATE = getItemType("waxed_oxidized_copper_grate"); + @MinecraftExperimental(Requires.UPDATE_1_21) + @ApiStatus.Experimental + ItemType.Typed COPPER_BULB = getItemType("copper_bulb"); + @MinecraftExperimental(Requires.UPDATE_1_21) + @ApiStatus.Experimental + ItemType.Typed EXPOSED_COPPER_BULB = getItemType("exposed_copper_bulb"); + @MinecraftExperimental(Requires.UPDATE_1_21) + @ApiStatus.Experimental + ItemType.Typed WEATHERED_COPPER_BULB = getItemType("weathered_copper_bulb"); + @MinecraftExperimental(Requires.UPDATE_1_21) + @ApiStatus.Experimental + ItemType.Typed OXIDIZED_COPPER_BULB = getItemType("oxidized_copper_bulb"); + @MinecraftExperimental(Requires.UPDATE_1_21) + @ApiStatus.Experimental + ItemType.Typed WAXED_COPPER_BULB = getItemType("waxed_copper_bulb"); + @MinecraftExperimental(Requires.UPDATE_1_21) + @ApiStatus.Experimental + ItemType.Typed WAXED_EXPOSED_COPPER_BULB = getItemType("waxed_exposed_copper_bulb"); + @MinecraftExperimental(Requires.UPDATE_1_21) + @ApiStatus.Experimental + ItemType.Typed WAXED_WEATHERED_COPPER_BULB = getItemType("waxed_weathered_copper_bulb"); + @MinecraftExperimental(Requires.UPDATE_1_21) + @ApiStatus.Experimental + ItemType.Typed WAXED_OXIDIZED_COPPER_BULB = getItemType("waxed_oxidized_copper_bulb"); + /** + * ItemMeta: {@link BlockStateMeta} + */ + @MinecraftExperimental(Requires.UPDATE_1_21) + @ApiStatus.Experimental + ItemType.Typed TRIAL_SPAWNER = getItemType("trial_spawner"); + @MinecraftExperimental(Requires.UPDATE_1_21) + @ApiStatus.Experimental + ItemType.Typed TRIAL_KEY = getItemType("trial_key"); + @MinecraftExperimental(Requires.UPDATE_1_21) + @ApiStatus.Experimental + ItemType.Typed OMINOUS_TRIAL_KEY = getItemType("ominous_trial_key"); + /** + * ItemMeta: {@link BlockStateMeta} + */ + @MinecraftExperimental(Requires.UPDATE_1_21) + @ApiStatus.Experimental + ItemType.Typed VAULT = getItemType("vault"); + /** + * ItemMeta: {@link OminousBottleMeta} + */ + @MinecraftExperimental(Requires.UPDATE_1_21) + @ApiStatus.Experimental + ItemType.Typed OMINOUS_BOTTLE = getItemType("ominous_bottle"); + @MinecraftExperimental(Requires.UPDATE_1_21) + @ApiStatus.Experimental + ItemType.Typed BREEZE_ROD = getItemType("breeze_rod"); + + + // + + @NotNull + private static Typed getItemType(@NotNull String key) { + NamespacedKey namespacedKey = NamespacedKey.minecraft(key); + Typed itemType = Registry.ITEM.get(namespacedKey).typed(); + Preconditions.checkNotNull(itemType, "No ItemType found for %s. This is a bug.", namespacedKey); + return (Typed) itemType; + } + + /** + * Yields this item type as a typed version of itself with a plain {@link ItemMeta} representing it. + * + * @return the typed item type. + */ + @NotNull + Typed typed(); + + /** + * Yields this item type as a typed version of itself with a plain {@link ItemMeta} representing it. + * + * @param itemMetaType the class type of the {@link ItemMeta} to type this {@link ItemType} with. + * @param the generic type of the item meta to type this item type with. + * @return the typed item type. + */ + @NotNull + Typed typed(@NotNull Class itemMetaType); + + /** + * Constructs a new itemstack with this item type that has the amount 1. + * + * @return the constructed item stack. + */ + @NotNull + ItemStack createItemStack(); + + /** + * Constructs a new itemstack with this item type. + * + * @param amount the amount of the item stack. + * @return the constructed item stack. + */ + @NotNull + ItemStack createItemStack(int amount); + + /** + * Returns true if this ItemType has a corresponding {@link BlockType}. + * + * @return true if there is a corresponding BlockType, otherwise false + * @see #getBlockType() + */ + boolean hasBlockType(); + + /** + * Returns the corresponding {@link BlockType} for the given ItemType. + *

+ * If there is no corresponding {@link BlockType} an error will be thrown. + * + * @return the corresponding BlockType + * @see #hasBlockType() + */ + @NotNull + BlockType getBlockType(); + + /** + * Gets the ItemMeta class of this ItemType + * + * @return the ItemMeta class of this ItemType + */ + @NotNull + Class getItemMetaClass(); + + /** + * Gets the maximum amount of this item type that can be held in a stack + * + * @return Maximum stack size for this item type + */ + int getMaxStackSize(); + + /** + * Gets the maximum durability of this item type + * + * @return Maximum durability for this item type + */ + short getMaxDurability(); + + /** + * Checks if this item type is edible. + * + * @return true if this item type is edible. + */ + boolean isEdible(); + + /** + * @return True if this item type represents a playable music disk. + */ + boolean isRecord(); + + /** + * Checks if this item type can be used as fuel in a Furnace + * + * @return true if this item type can be used as fuel. + */ + boolean isFuel(); + + /** + * Determines the remaining item in a crafting grid after crafting with this + * ingredient. + * + * @return the item left behind when crafting, or null if nothing is. + */ + @Nullable + ItemType getCraftingRemainingItem(); + +// /** +// * Get the best suitable slot for this item type. +// * +// * For most items this will be {@link EquipmentSlot#HAND}. +// * +// * @return the best EquipmentSlot for this item type +// */ +// @NotNull +// EquipmentSlot getEquipmentSlot(); + + /** + * Return an immutable copy of all default {@link Attribute}s and their + * {@link AttributeModifier}s for a given {@link EquipmentSlot}. + * + * Default attributes are those that are always preset on some items, such + * as the attack damage on weapons or the armor value on armor. + * + * @param slot the {@link EquipmentSlot} to check + * @return the immutable {@link Multimap} with the respective default + * Attributes and modifiers, or an empty map if no attributes are set. + */ + @NotNull + Multimap getDefaultAttributeModifiers(@NotNull EquipmentSlot slot); + + /** + * Get the {@link CreativeCategory} to which this item type belongs. + * + * @return the creative category. null if does not belong to a category + * @deprecated creative categories no longer exist on the server + */ + @Nullable + @Deprecated + CreativeCategory getCreativeCategory(); + + /** + * Gets if the ItemType is enabled by the features in a world. + * + * @param world the world to check + * @return true if this ItemType can be used in this World. + */ + boolean isEnabledByFeature(@NotNull World world); + + /** + * Tries to convert this ItemType into a Material + * + * @return the converted Material or null + * @deprecated only for internal use + */ + @Nullable + @Deprecated + Material asMaterial(); +} diff --git a/paper-api/src/main/java/org/bukkit/packs/DataPackManager.java b/paper-api/src/main/java/org/bukkit/packs/DataPackManager.java index d7fb6310e6..c33ca7b864 100644 --- a/paper-api/src/main/java/org/bukkit/packs/DataPackManager.java +++ b/paper-api/src/main/java/org/bukkit/packs/DataPackManager.java @@ -4,7 +4,9 @@ import java.util.Collection; import org.bukkit.Material; import org.bukkit.NamespacedKey; import org.bukkit.World; +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; import org.jetbrains.annotations.Nullable; @@ -59,6 +61,28 @@ public interface DataPackManager { */ public boolean isEnabledByFeature(@NotNull Material material, @NotNull World world); + /** + * Gets if the ItemType is enabled for use by the features in World. + * + * @param itemType ItemType to check + * @param world World to check + * @return {@code True} if the ItemType is enabled + * @apiNote this method is not ready for public usage yet + */ + @ApiStatus.Internal + public boolean isEnabledByFeature(@NotNull ItemType itemType, @NotNull World world); + + /** + * Gets if the BlockType is enabled for use by the features in World. + * + * @param blockType BlockType to check + * @param world World to check + * @return {@code True} if the BlockType is enabled + * @apiNote this method is not ready for public usage yet + */ + @ApiStatus.Internal + public boolean isEnabledByFeature(@NotNull BlockType blockType, @NotNull World world); + /** * Gets if the EntityType is enabled for use by the Features in World. * diff --git a/paper-api/src/test/java/org/bukkit/scoreboard/CriteriaTest.java b/paper-api/src/test/java/org/bukkit/scoreboard/CriteriaTest.java index 034faf9a44..18a2c5a107 100644 --- a/paper-api/src/test/java/org/bukkit/scoreboard/CriteriaTest.java +++ b/paper-api/src/test/java/org/bukkit/scoreboard/CriteriaTest.java @@ -1,6 +1,7 @@ package org.bukkit.scoreboard; import static org.junit.jupiter.api.Assertions.*; +import static org.mockito.Mockito.*; import org.bukkit.Material; import org.bukkit.Statistic; import org.bukkit.entity.EntityType; @@ -11,12 +12,20 @@ public class CriteriaTest extends AbstractTestingBase { @Test public void testStatistic() { + Material item = mock(); + when(item.isItem()).thenReturn(true); + when(item.isBlock()).thenReturn(false); + + Material block = mock(); + when(block.isItem()).thenReturn(false); + when(block.isBlock()).thenReturn(true); + assertThrows(IllegalArgumentException.class, () -> Criteria.statistic(Statistic.AVIATE_ONE_CM, Material.STONE)); // Generic statistic with block assertThrows(IllegalArgumentException.class, () -> Criteria.statistic(Statistic.AVIATE_ONE_CM, EntityType.CREEPER)); // Generic statistic with entity type assertThrows(IllegalArgumentException.class, () -> Criteria.statistic(Statistic.ENTITY_KILLED_BY, Material.AMETHYST_SHARD)); // Entity statistic with material - assertThrows(IllegalArgumentException.class, () -> Criteria.statistic(Statistic.MINE_BLOCK, Material.DIAMOND_PICKAXE)); // Block statistic with item - assertThrows(IllegalArgumentException.class, () -> Criteria.statistic(Statistic.BREAK_ITEM, Material.WATER)); // Item statistic with block + assertThrows(IllegalArgumentException.class, () -> Criteria.statistic(Statistic.MINE_BLOCK, item)); // Block statistic with item + assertThrows(IllegalArgumentException.class, () -> Criteria.statistic(Statistic.BREAK_ITEM, block)); // Item statistic with block assertThrows(IllegalArgumentException.class, () -> Criteria.statistic(Statistic.KILL_ENTITY, Material.STONE)); // Entity statistic with Material } }