mirror of https://github.com/Minestom/Minestom.git
1387 lines
36 KiB
Java
1387 lines
36 KiB
Java
package net.minestom.server.instance.block;
|
|
|
|
import it.unimi.dsi.fastutil.shorts.Short2ObjectOpenHashMap;
|
|
|
|
import java.util.ArrayList;
|
|
import java.util.Arrays;
|
|
import java.util.Collections;
|
|
import java.util.List;
|
|
|
|
public enum Block {
|
|
|
|
AIR,
|
|
STONE,
|
|
GRANITE,
|
|
POLISHED_GRANITE,
|
|
DIORITE,
|
|
POLISHED_DIORITE,
|
|
ANDESITE,
|
|
POLISHED_ANDESITE,
|
|
GRASS_BLOCK,
|
|
DIRT,
|
|
COARSE_DIRT,
|
|
PODZOL,
|
|
COBBLESTONE,
|
|
OAK_PLANKS,
|
|
SPRUCE_PLANKS,
|
|
BIRCH_PLANKS,
|
|
JUNGLE_PLANKS,
|
|
ACACIA_PLANKS,
|
|
DARK_OAK_PLANKS,
|
|
OAK_SAPLING,
|
|
SPRUCE_SAPLING,
|
|
BIRCH_SAPLING,
|
|
JUNGLE_SAPLING,
|
|
ACACIA_SAPLING,
|
|
DARK_OAK_SAPLING,
|
|
BEDROCK,
|
|
WATER,
|
|
LAVA,
|
|
SAND,
|
|
RED_SAND,
|
|
GRAVEL,
|
|
GOLD_ORE,
|
|
IRON_ORE,
|
|
COAL_ORE,
|
|
OAK_LOG,
|
|
SPRUCE_LOG,
|
|
BIRCH_LOG,
|
|
JUNGLE_LOG,
|
|
ACACIA_LOG,
|
|
DARK_OAK_LOG,
|
|
STRIPPED_SPRUCE_LOG,
|
|
STRIPPED_BIRCH_LOG,
|
|
STRIPPED_JUNGLE_LOG,
|
|
STRIPPED_ACACIA_LOG,
|
|
STRIPPED_DARK_OAK_LOG,
|
|
STRIPPED_OAK_LOG,
|
|
OAK_WOOD,
|
|
SPRUCE_WOOD,
|
|
BIRCH_WOOD,
|
|
JUNGLE_WOOD,
|
|
ACACIA_WOOD,
|
|
DARK_OAK_WOOD,
|
|
STRIPPED_OAK_WOOD,
|
|
STRIPPED_SPRUCE_WOOD,
|
|
STRIPPED_BIRCH_WOOD,
|
|
STRIPPED_JUNGLE_WOOD,
|
|
STRIPPED_ACACIA_WOOD,
|
|
STRIPPED_DARK_OAK_WOOD,
|
|
OAK_LEAVES,
|
|
SPRUCE_LEAVES,
|
|
BIRCH_LEAVES,
|
|
JUNGLE_LEAVES,
|
|
ACACIA_LEAVES,
|
|
DARK_OAK_LEAVES,
|
|
SPONGE,
|
|
WET_SPONGE,
|
|
GLASS,
|
|
LAPIS_ORE,
|
|
LAPIS_BLOCK,
|
|
DISPENSER,
|
|
SANDSTONE,
|
|
CHISELED_SANDSTONE,
|
|
CUT_SANDSTONE,
|
|
NOTE_BLOCK,
|
|
WHITE_BED,
|
|
ORANGE_BED,
|
|
MAGENTA_BED,
|
|
LIGHT_BLUE_BED,
|
|
YELLOW_BED,
|
|
LIME_BED,
|
|
PINK_BED,
|
|
GRAY_BED,
|
|
LIGHT_GRAY_BED,
|
|
CYAN_BED,
|
|
PURPLE_BED,
|
|
BLUE_BED,
|
|
BROWN_BED,
|
|
GREEN_BED,
|
|
RED_BED,
|
|
BLACK_BED,
|
|
POWERED_RAIL,
|
|
DETECTOR_RAIL,
|
|
STICKY_PISTON,
|
|
COBWEB,
|
|
GRASS,
|
|
FERN,
|
|
DEAD_BUSH,
|
|
SEAGRASS,
|
|
TALL_SEAGRASS,
|
|
PISTON,
|
|
PISTON_HEAD,
|
|
WHITE_WOOL,
|
|
ORANGE_WOOL,
|
|
MAGENTA_WOOL,
|
|
LIGHT_BLUE_WOOL,
|
|
YELLOW_WOOL,
|
|
LIME_WOOL,
|
|
PINK_WOOL,
|
|
GRAY_WOOL,
|
|
LIGHT_GRAY_WOOL,
|
|
CYAN_WOOL,
|
|
PURPLE_WOOL,
|
|
BLUE_WOOL,
|
|
BROWN_WOOL,
|
|
GREEN_WOOL,
|
|
RED_WOOL,
|
|
BLACK_WOOL,
|
|
MOVING_PISTON,
|
|
DANDELION,
|
|
POPPY,
|
|
BLUE_ORCHID,
|
|
ALLIUM,
|
|
AZURE_BLUET,
|
|
RED_TULIP,
|
|
ORANGE_TULIP,
|
|
WHITE_TULIP,
|
|
PINK_TULIP,
|
|
OXEYE_DAISY,
|
|
CORNFLOWER,
|
|
WITHER_ROSE,
|
|
LILY_OF_THE_VALLEY,
|
|
BROWN_MUSHROOM,
|
|
RED_MUSHROOM,
|
|
GOLD_BLOCK,
|
|
IRON_BLOCK,
|
|
BRICKS,
|
|
TNT,
|
|
BOOKSHELF,
|
|
MOSSY_COBBLESTONE,
|
|
OBSIDIAN,
|
|
TORCH,
|
|
WALL_TORCH,
|
|
FIRE,
|
|
SPAWNER,
|
|
OAK_STAIRS,
|
|
CHEST,
|
|
REDSTONE_WIRE,
|
|
DIAMOND_ORE,
|
|
DIAMOND_BLOCK,
|
|
CRAFTING_TABLE,
|
|
WHEAT,
|
|
FARMLAND,
|
|
FURNACE,
|
|
OAK_SIGN,
|
|
SPRUCE_SIGN,
|
|
BIRCH_SIGN,
|
|
ACACIA_SIGN,
|
|
JUNGLE_SIGN,
|
|
DARK_OAK_SIGN,
|
|
OAK_DOOR,
|
|
LADDER,
|
|
RAIL,
|
|
COBBLESTONE_STAIRS,
|
|
OAK_WALL_SIGN,
|
|
SPRUCE_WALL_SIGN,
|
|
BIRCH_WALL_SIGN,
|
|
ACACIA_WALL_SIGN,
|
|
JUNGLE_WALL_SIGN,
|
|
DARK_OAK_WALL_SIGN,
|
|
LEVER,
|
|
STONE_PRESSURE_PLATE,
|
|
IRON_DOOR,
|
|
OAK_PRESSURE_PLATE,
|
|
SPRUCE_PRESSURE_PLATE,
|
|
BIRCH_PRESSURE_PLATE,
|
|
JUNGLE_PRESSURE_PLATE,
|
|
ACACIA_PRESSURE_PLATE,
|
|
DARK_OAK_PRESSURE_PLATE,
|
|
REDSTONE_ORE,
|
|
REDSTONE_TORCH,
|
|
REDSTONE_WALL_TORCH,
|
|
STONE_BUTTON,
|
|
SNOW,
|
|
ICE,
|
|
SNOW_BLOCK,
|
|
CACTUS,
|
|
CLAY,
|
|
SUGAR_CANE,
|
|
JUKEBOX,
|
|
OAK_FENCE,
|
|
PUMPKIN,
|
|
NETHERRACK,
|
|
SOUL_SAND,
|
|
GLOWSTONE,
|
|
NETHER_PORTAL,
|
|
CARVED_PUMPKIN,
|
|
JACK_O_LANTERN,
|
|
CAKE,
|
|
REPEATER,
|
|
WHITE_STAINED_GLASS,
|
|
ORANGE_STAINED_GLASS,
|
|
MAGENTA_STAINED_GLASS,
|
|
LIGHT_BLUE_STAINED_GLASS,
|
|
YELLOW_STAINED_GLASS,
|
|
LIME_STAINED_GLASS,
|
|
PINK_STAINED_GLASS,
|
|
GRAY_STAINED_GLASS,
|
|
LIGHT_GRAY_STAINED_GLASS,
|
|
CYAN_STAINED_GLASS,
|
|
PURPLE_STAINED_GLASS,
|
|
BLUE_STAINED_GLASS,
|
|
BROWN_STAINED_GLASS,
|
|
GREEN_STAINED_GLASS,
|
|
RED_STAINED_GLASS,
|
|
BLACK_STAINED_GLASS,
|
|
OAK_TRAPDOOR,
|
|
SPRUCE_TRAPDOOR,
|
|
BIRCH_TRAPDOOR,
|
|
JUNGLE_TRAPDOOR,
|
|
ACACIA_TRAPDOOR,
|
|
DARK_OAK_TRAPDOOR,
|
|
STONE_BRICKS,
|
|
MOSSY_STONE_BRICKS,
|
|
CRACKED_STONE_BRICKS,
|
|
CHISELED_STONE_BRICKS,
|
|
INFESTED_STONE,
|
|
INFESTED_COBBLESTONE,
|
|
INFESTED_STONE_BRICKS,
|
|
INFESTED_MOSSY_STONE_BRICKS,
|
|
INFESTED_CRACKED_STONE_BRICKS,
|
|
INFESTED_CHISELED_STONE_BRICKS,
|
|
BROWN_MUSHROOM_BLOCK,
|
|
RED_MUSHROOM_BLOCK,
|
|
MUSHROOM_STEM,
|
|
IRON_BARS,
|
|
GLASS_PANE,
|
|
MELON,
|
|
ATTACHED_PUMPKIN_STEM,
|
|
ATTACHED_MELON_STEM,
|
|
PUMPKIN_STEM,
|
|
MELON_STEM,
|
|
VINE,
|
|
OAK_FENCE_GATE,
|
|
BRICK_STAIRS,
|
|
STONE_BRICK_STAIRS,
|
|
MYCELIUM,
|
|
LILY_PAD,
|
|
NETHER_BRICKS,
|
|
NETHER_BRICK_FENCE,
|
|
NETHER_BRICK_STAIRS,
|
|
NETHER_WART,
|
|
ENCHANTING_TABLE,
|
|
BREWING_STAND,
|
|
CAULDRON,
|
|
END_PORTAL,
|
|
END_PORTAL_FRAME,
|
|
END_STONE,
|
|
DRAGON_EGG,
|
|
REDSTONE_LAMP,
|
|
COCOA,
|
|
SANDSTONE_STAIRS,
|
|
EMERALD_ORE,
|
|
ENDER_CHEST,
|
|
TRIPWIRE_HOOK,
|
|
TRIPWIRE,
|
|
EMERALD_BLOCK,
|
|
SPRUCE_STAIRS,
|
|
BIRCH_STAIRS,
|
|
JUNGLE_STAIRS,
|
|
COMMAND_BLOCK,
|
|
BEACON,
|
|
COBBLESTONE_WALL,
|
|
MOSSY_COBBLESTONE_WALL,
|
|
FLOWER_POT,
|
|
POTTED_OAK_SAPLING,
|
|
POTTED_SPRUCE_SAPLING,
|
|
POTTED_BIRCH_SAPLING,
|
|
POTTED_JUNGLE_SAPLING,
|
|
POTTED_ACACIA_SAPLING,
|
|
POTTED_DARK_OAK_SAPLING,
|
|
POTTED_FERN,
|
|
POTTED_DANDELION,
|
|
POTTED_POPPY,
|
|
POTTED_BLUE_ORCHID,
|
|
POTTED_ALLIUM,
|
|
POTTED_AZURE_BLUET,
|
|
POTTED_RED_TULIP,
|
|
POTTED_ORANGE_TULIP,
|
|
POTTED_WHITE_TULIP,
|
|
POTTED_PINK_TULIP,
|
|
POTTED_OXEYE_DAISY,
|
|
POTTED_CORNFLOWER,
|
|
POTTED_LILY_OF_THE_VALLEY,
|
|
POTTED_WITHER_ROSE,
|
|
POTTED_RED_MUSHROOM,
|
|
POTTED_BROWN_MUSHROOM,
|
|
POTTED_DEAD_BUSH,
|
|
POTTED_CACTUS,
|
|
CARROTS,
|
|
POTATOES,
|
|
OAK_BUTTON,
|
|
SPRUCE_BUTTON,
|
|
BIRCH_BUTTON,
|
|
JUNGLE_BUTTON,
|
|
ACACIA_BUTTON,
|
|
DARK_OAK_BUTTON,
|
|
SKELETON_SKULL,
|
|
SKELETON_WALL_SKULL,
|
|
WITHER_SKELETON_SKULL,
|
|
WITHER_SKELETON_WALL_SKULL,
|
|
ZOMBIE_HEAD,
|
|
ZOMBIE_WALL_HEAD,
|
|
PLAYER_HEAD,
|
|
PLAYER_WALL_HEAD,
|
|
CREEPER_HEAD,
|
|
CREEPER_WALL_HEAD,
|
|
DRAGON_HEAD,
|
|
DRAGON_WALL_HEAD,
|
|
ANVIL,
|
|
CHIPPED_ANVIL,
|
|
DAMAGED_ANVIL,
|
|
TRAPPED_CHEST,
|
|
LIGHT_WEIGHTED_PRESSURE_PLATE,
|
|
HEAVY_WEIGHTED_PRESSURE_PLATE,
|
|
COMPARATOR,
|
|
DAYLIGHT_DETECTOR,
|
|
REDSTONE_BLOCK,
|
|
NETHER_QUARTZ_ORE,
|
|
HOPPER,
|
|
QUARTZ_BLOCK,
|
|
CHISELED_QUARTZ_BLOCK,
|
|
QUARTZ_PILLAR,
|
|
QUARTZ_STAIRS,
|
|
ACTIVATOR_RAIL,
|
|
DROPPER,
|
|
WHITE_TERRACOTTA,
|
|
ORANGE_TERRACOTTA,
|
|
MAGENTA_TERRACOTTA,
|
|
LIGHT_BLUE_TERRACOTTA,
|
|
YELLOW_TERRACOTTA,
|
|
LIME_TERRACOTTA,
|
|
PINK_TERRACOTTA,
|
|
GRAY_TERRACOTTA,
|
|
LIGHT_GRAY_TERRACOTTA,
|
|
CYAN_TERRACOTTA,
|
|
PURPLE_TERRACOTTA,
|
|
BLUE_TERRACOTTA,
|
|
BROWN_TERRACOTTA,
|
|
GREEN_TERRACOTTA,
|
|
RED_TERRACOTTA,
|
|
BLACK_TERRACOTTA,
|
|
WHITE_STAINED_GLASS_PANE,
|
|
ORANGE_STAINED_GLASS_PANE,
|
|
MAGENTA_STAINED_GLASS_PANE,
|
|
LIGHT_BLUE_STAINED_GLASS_PANE,
|
|
YELLOW_STAINED_GLASS_PANE,
|
|
LIME_STAINED_GLASS_PANE,
|
|
PINK_STAINED_GLASS_PANE,
|
|
GRAY_STAINED_GLASS_PANE,
|
|
LIGHT_GRAY_STAINED_GLASS_PANE,
|
|
CYAN_STAINED_GLASS_PANE,
|
|
PURPLE_STAINED_GLASS_PANE,
|
|
BLUE_STAINED_GLASS_PANE,
|
|
BROWN_STAINED_GLASS_PANE,
|
|
GREEN_STAINED_GLASS_PANE,
|
|
RED_STAINED_GLASS_PANE,
|
|
BLACK_STAINED_GLASS_PANE,
|
|
ACACIA_STAIRS,
|
|
DARK_OAK_STAIRS,
|
|
SLIME_BLOCK,
|
|
BARRIER,
|
|
IRON_TRAPDOOR,
|
|
PRISMARINE,
|
|
PRISMARINE_BRICKS,
|
|
DARK_PRISMARINE,
|
|
PRISMARINE_STAIRS,
|
|
PRISMARINE_BRICK_STAIRS,
|
|
DARK_PRISMARINE_STAIRS,
|
|
PRISMARINE_SLAB,
|
|
PRISMARINE_BRICK_SLAB,
|
|
DARK_PRISMARINE_SLAB,
|
|
SEA_LANTERN,
|
|
HAY_BLOCK,
|
|
WHITE_CARPET,
|
|
ORANGE_CARPET,
|
|
MAGENTA_CARPET,
|
|
LIGHT_BLUE_CARPET,
|
|
YELLOW_CARPET,
|
|
LIME_CARPET,
|
|
PINK_CARPET,
|
|
GRAY_CARPET,
|
|
LIGHT_GRAY_CARPET,
|
|
CYAN_CARPET,
|
|
PURPLE_CARPET,
|
|
BLUE_CARPET,
|
|
BROWN_CARPET,
|
|
GREEN_CARPET,
|
|
RED_CARPET,
|
|
BLACK_CARPET,
|
|
TERRACOTTA,
|
|
COAL_BLOCK,
|
|
PACKED_ICE,
|
|
SUNFLOWER,
|
|
LILAC,
|
|
ROSE_BUSH,
|
|
PEONY,
|
|
TALL_GRASS,
|
|
LARGE_FERN,
|
|
WHITE_BANNER,
|
|
ORANGE_BANNER,
|
|
MAGENTA_BANNER,
|
|
LIGHT_BLUE_BANNER,
|
|
YELLOW_BANNER,
|
|
LIME_BANNER,
|
|
PINK_BANNER,
|
|
GRAY_BANNER,
|
|
LIGHT_GRAY_BANNER,
|
|
CYAN_BANNER,
|
|
PURPLE_BANNER,
|
|
BLUE_BANNER,
|
|
BROWN_BANNER,
|
|
GREEN_BANNER,
|
|
RED_BANNER,
|
|
BLACK_BANNER,
|
|
WHITE_WALL_BANNER,
|
|
ORANGE_WALL_BANNER,
|
|
MAGENTA_WALL_BANNER,
|
|
LIGHT_BLUE_WALL_BANNER,
|
|
YELLOW_WALL_BANNER,
|
|
LIME_WALL_BANNER,
|
|
PINK_WALL_BANNER,
|
|
GRAY_WALL_BANNER,
|
|
LIGHT_GRAY_WALL_BANNER,
|
|
CYAN_WALL_BANNER,
|
|
PURPLE_WALL_BANNER,
|
|
BLUE_WALL_BANNER,
|
|
BROWN_WALL_BANNER,
|
|
GREEN_WALL_BANNER,
|
|
RED_WALL_BANNER,
|
|
BLACK_WALL_BANNER,
|
|
RED_SANDSTONE,
|
|
CHISELED_RED_SANDSTONE,
|
|
CUT_RED_SANDSTONE,
|
|
RED_SANDSTONE_STAIRS,
|
|
OAK_SLAB,
|
|
SPRUCE_SLAB,
|
|
BIRCH_SLAB,
|
|
JUNGLE_SLAB,
|
|
ACACIA_SLAB,
|
|
DARK_OAK_SLAB,
|
|
STONE_SLAB,
|
|
SMOOTH_STONE_SLAB,
|
|
SANDSTONE_SLAB,
|
|
CUT_SANDSTONE_SLAB,
|
|
PETRIFIED_OAK_SLAB,
|
|
COBBLESTONE_SLAB,
|
|
BRICK_SLAB,
|
|
STONE_BRICK_SLAB,
|
|
NETHER_BRICK_SLAB,
|
|
QUARTZ_SLAB,
|
|
RED_SANDSTONE_SLAB,
|
|
CUT_RED_SANDSTONE_SLAB,
|
|
PURPUR_SLAB,
|
|
SMOOTH_STONE,
|
|
SMOOTH_SANDSTONE,
|
|
SMOOTH_QUARTZ,
|
|
SMOOTH_RED_SANDSTONE,
|
|
SPRUCE_FENCE_GATE,
|
|
BIRCH_FENCE_GATE,
|
|
JUNGLE_FENCE_GATE,
|
|
ACACIA_FENCE_GATE,
|
|
DARK_OAK_FENCE_GATE,
|
|
SPRUCE_FENCE,
|
|
BIRCH_FENCE,
|
|
JUNGLE_FENCE,
|
|
ACACIA_FENCE,
|
|
DARK_OAK_FENCE,
|
|
SPRUCE_DOOR,
|
|
BIRCH_DOOR,
|
|
JUNGLE_DOOR,
|
|
ACACIA_DOOR,
|
|
DARK_OAK_DOOR,
|
|
END_ROD,
|
|
CHORUS_PLANT,
|
|
CHORUS_FLOWER,
|
|
PURPUR_BLOCK,
|
|
PURPUR_PILLAR,
|
|
PURPUR_STAIRS,
|
|
END_STONE_BRICKS,
|
|
BEETROOTS,
|
|
GRASS_PATH,
|
|
END_GATEWAY,
|
|
REPEATING_COMMAND_BLOCK,
|
|
CHAIN_COMMAND_BLOCK,
|
|
FROSTED_ICE,
|
|
MAGMA_BLOCK,
|
|
NETHER_WART_BLOCK,
|
|
RED_NETHER_BRICKS,
|
|
BONE_BLOCK,
|
|
STRUCTURE_VOID,
|
|
OBSERVER,
|
|
SHULKER_BOX,
|
|
WHITE_SHULKER_BOX,
|
|
ORANGE_SHULKER_BOX,
|
|
MAGENTA_SHULKER_BOX,
|
|
LIGHT_BLUE_SHULKER_BOX,
|
|
YELLOW_SHULKER_BOX,
|
|
LIME_SHULKER_BOX,
|
|
PINK_SHULKER_BOX,
|
|
GRAY_SHULKER_BOX,
|
|
LIGHT_GRAY_SHULKER_BOX,
|
|
CYAN_SHULKER_BOX,
|
|
PURPLE_SHULKER_BOX,
|
|
BLUE_SHULKER_BOX,
|
|
BROWN_SHULKER_BOX,
|
|
GREEN_SHULKER_BOX,
|
|
RED_SHULKER_BOX,
|
|
BLACK_SHULKER_BOX,
|
|
WHITE_GLAZED_TERRACOTTA,
|
|
ORANGE_GLAZED_TERRACOTTA,
|
|
MAGENTA_GLAZED_TERRACOTTA,
|
|
LIGHT_BLUE_GLAZED_TERRACOTTA,
|
|
YELLOW_GLAZED_TERRACOTTA,
|
|
LIME_GLAZED_TERRACOTTA,
|
|
PINK_GLAZED_TERRACOTTA,
|
|
GRAY_GLAZED_TERRACOTTA,
|
|
LIGHT_GRAY_GLAZED_TERRACOTTA,
|
|
CYAN_GLAZED_TERRACOTTA,
|
|
PURPLE_GLAZED_TERRACOTTA,
|
|
BLUE_GLAZED_TERRACOTTA,
|
|
BROWN_GLAZED_TERRACOTTA,
|
|
GREEN_GLAZED_TERRACOTTA,
|
|
RED_GLAZED_TERRACOTTA,
|
|
BLACK_GLAZED_TERRACOTTA,
|
|
WHITE_CONCRETE,
|
|
ORANGE_CONCRETE,
|
|
MAGENTA_CONCRETE,
|
|
LIGHT_BLUE_CONCRETE,
|
|
YELLOW_CONCRETE,
|
|
LIME_CONCRETE,
|
|
PINK_CONCRETE,
|
|
GRAY_CONCRETE,
|
|
LIGHT_GRAY_CONCRETE,
|
|
CYAN_CONCRETE,
|
|
PURPLE_CONCRETE,
|
|
BLUE_CONCRETE,
|
|
BROWN_CONCRETE,
|
|
GREEN_CONCRETE,
|
|
RED_CONCRETE,
|
|
BLACK_CONCRETE,
|
|
WHITE_CONCRETE_POWDER,
|
|
ORANGE_CONCRETE_POWDER,
|
|
MAGENTA_CONCRETE_POWDER,
|
|
LIGHT_BLUE_CONCRETE_POWDER,
|
|
YELLOW_CONCRETE_POWDER,
|
|
LIME_CONCRETE_POWDER,
|
|
PINK_CONCRETE_POWDER,
|
|
GRAY_CONCRETE_POWDER,
|
|
LIGHT_GRAY_CONCRETE_POWDER,
|
|
CYAN_CONCRETE_POWDER,
|
|
PURPLE_CONCRETE_POWDER,
|
|
BLUE_CONCRETE_POWDER,
|
|
BROWN_CONCRETE_POWDER,
|
|
GREEN_CONCRETE_POWDER,
|
|
RED_CONCRETE_POWDER,
|
|
BLACK_CONCRETE_POWDER,
|
|
KELP,
|
|
KELP_PLANT,
|
|
DRIED_KELP_BLOCK,
|
|
TURTLE_EGG,
|
|
DEAD_TUBE_CORAL_BLOCK,
|
|
DEAD_BRAIN_CORAL_BLOCK,
|
|
DEAD_BUBBLE_CORAL_BLOCK,
|
|
DEAD_FIRE_CORAL_BLOCK,
|
|
DEAD_HORN_CORAL_BLOCK,
|
|
TUBE_CORAL_BLOCK,
|
|
BRAIN_CORAL_BLOCK,
|
|
BUBBLE_CORAL_BLOCK,
|
|
FIRE_CORAL_BLOCK,
|
|
HORN_CORAL_BLOCK,
|
|
DEAD_TUBE_CORAL,
|
|
DEAD_BRAIN_CORAL,
|
|
DEAD_BUBBLE_CORAL,
|
|
DEAD_FIRE_CORAL,
|
|
DEAD_HORN_CORAL,
|
|
TUBE_CORAL,
|
|
BRAIN_CORAL,
|
|
BUBBLE_CORAL,
|
|
FIRE_CORAL,
|
|
HORN_CORAL,
|
|
DEAD_TUBE_CORAL_FAN,
|
|
DEAD_BRAIN_CORAL_FAN,
|
|
DEAD_BUBBLE_CORAL_FAN,
|
|
DEAD_FIRE_CORAL_FAN,
|
|
DEAD_HORN_CORAL_FAN,
|
|
TUBE_CORAL_FAN,
|
|
BRAIN_CORAL_FAN,
|
|
BUBBLE_CORAL_FAN,
|
|
FIRE_CORAL_FAN,
|
|
HORN_CORAL_FAN,
|
|
DEAD_TUBE_CORAL_WALL_FAN,
|
|
DEAD_BRAIN_CORAL_WALL_FAN,
|
|
DEAD_BUBBLE_CORAL_WALL_FAN,
|
|
DEAD_FIRE_CORAL_WALL_FAN,
|
|
DEAD_HORN_CORAL_WALL_FAN,
|
|
TUBE_CORAL_WALL_FAN,
|
|
BRAIN_CORAL_WALL_FAN,
|
|
BUBBLE_CORAL_WALL_FAN,
|
|
FIRE_CORAL_WALL_FAN,
|
|
HORN_CORAL_WALL_FAN,
|
|
SEA_PICKLE,
|
|
BLUE_ICE,
|
|
CONDUIT,
|
|
BAMBOO_SAPLING,
|
|
BAMBOO,
|
|
POTTED_BAMBOO,
|
|
VOID_AIR,
|
|
CAVE_AIR,
|
|
BUBBLE_COLUMN,
|
|
POLISHED_GRANITE_STAIRS,
|
|
SMOOTH_RED_SANDSTONE_STAIRS,
|
|
MOSSY_STONE_BRICK_STAIRS,
|
|
POLISHED_DIORITE_STAIRS,
|
|
MOSSY_COBBLESTONE_STAIRS,
|
|
END_STONE_BRICK_STAIRS,
|
|
STONE_STAIRS,
|
|
SMOOTH_SANDSTONE_STAIRS,
|
|
SMOOTH_QUARTZ_STAIRS,
|
|
GRANITE_STAIRS,
|
|
ANDESITE_STAIRS,
|
|
RED_NETHER_BRICK_STAIRS,
|
|
POLISHED_ANDESITE_STAIRS,
|
|
DIORITE_STAIRS,
|
|
POLISHED_GRANITE_SLAB,
|
|
SMOOTH_RED_SANDSTONE_SLAB,
|
|
MOSSY_STONE_BRICK_SLAB,
|
|
POLISHED_DIORITE_SLAB,
|
|
MOSSY_COBBLESTONE_SLAB,
|
|
END_STONE_BRICK_SLAB,
|
|
SMOOTH_SANDSTONE_SLAB,
|
|
SMOOTH_QUARTZ_SLAB,
|
|
GRANITE_SLAB,
|
|
ANDESITE_SLAB,
|
|
RED_NETHER_BRICK_SLAB,
|
|
POLISHED_ANDESITE_SLAB,
|
|
DIORITE_SLAB,
|
|
BRICK_WALL,
|
|
PRISMARINE_WALL,
|
|
RED_SANDSTONE_WALL,
|
|
MOSSY_STONE_BRICK_WALL,
|
|
GRANITE_WALL,
|
|
STONE_BRICK_WALL,
|
|
NETHER_BRICK_WALL,
|
|
ANDESITE_WALL,
|
|
RED_NETHER_BRICK_WALL,
|
|
SANDSTONE_WALL,
|
|
END_STONE_BRICK_WALL,
|
|
DIORITE_WALL,
|
|
SCAFFOLDING,
|
|
LOOM,
|
|
BARREL,
|
|
SMOKER,
|
|
BLAST_FURNACE,
|
|
CARTOGRAPHY_TABLE,
|
|
FLETCHING_TABLE,
|
|
GRINDSTONE,
|
|
LECTERN,
|
|
SMITHING_TABLE,
|
|
STONECUTTER,
|
|
BELL,
|
|
LANTERN,
|
|
CAMPFIRE,
|
|
SWEET_BERRY_BUSH,
|
|
STRUCTURE_BLOCK,
|
|
JIGSAW,
|
|
COMPOSTER,
|
|
BEE_NEST,
|
|
BEEHIVE,
|
|
HONEY_BLOCK,
|
|
HONEYCOMB_BLOCK;
|
|
|
|
private static Short2ObjectOpenHashMap<Block> blocksMap = new Short2ObjectOpenHashMap<>();
|
|
|
|
public static Block fromId(short blockId) {
|
|
return blocksMap.getOrDefault(blockId, AIR);
|
|
}
|
|
|
|
private short blockId;
|
|
private List<BlockAlternative> blockAlternatives = new ArrayList<>();
|
|
|
|
public void initBlock(short blockId) {
|
|
this.blockId = blockId;
|
|
}
|
|
|
|
public void addBlockAlternative(short id, String... properties) {
|
|
this.blockAlternatives.add(new BlockAlternative(id, properties));
|
|
blocksMap.put(id, this);
|
|
}
|
|
|
|
public short withProperties(String... properties) {
|
|
for (BlockAlternative blockAlternative : blockAlternatives) {
|
|
if (Arrays.equals(blockAlternative.properties, properties)) {
|
|
return blockAlternative.id;
|
|
}
|
|
}
|
|
// No id found, return default
|
|
return blockId;
|
|
}
|
|
|
|
public short getBlockId() {
|
|
return blockId;
|
|
}
|
|
|
|
public boolean isAir() {
|
|
return this == AIR;
|
|
}
|
|
|
|
public boolean isSolid() {
|
|
if (blockId == 0) {
|
|
return false;
|
|
}
|
|
switch (this) {
|
|
case ACACIA_DOOR:
|
|
case ACACIA_FENCE:
|
|
case ACACIA_FENCE_GATE:
|
|
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_SIGN:
|
|
case ACACIA_WOOD:
|
|
case ANDESITE:
|
|
case ANDESITE_SLAB:
|
|
case ANDESITE_STAIRS:
|
|
case ANDESITE_WALL:
|
|
case ANVIL:
|
|
case BAMBOO:
|
|
case BARREL:
|
|
case BARRIER:
|
|
case BEACON:
|
|
case BEDROCK:
|
|
case BEEHIVE:
|
|
case BEE_NEST:
|
|
case BELL:
|
|
case BIRCH_DOOR:
|
|
case BIRCH_FENCE:
|
|
case BIRCH_FENCE_GATE:
|
|
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_SIGN:
|
|
case BIRCH_WOOD:
|
|
case BLACK_BANNER:
|
|
case BLACK_BED:
|
|
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_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_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 CACTUS:
|
|
case CAKE:
|
|
case CAMPFIRE:
|
|
case CARTOGRAPHY_TABLE:
|
|
case CARVED_PUMPKIN:
|
|
case CAULDRON:
|
|
case CHAIN_COMMAND_BLOCK:
|
|
case CHEST:
|
|
case CHIPPED_ANVIL:
|
|
case CHISELED_QUARTZ_BLOCK:
|
|
case CHISELED_RED_SANDSTONE:
|
|
case CHISELED_SANDSTONE:
|
|
case CHISELED_STONE_BRICKS:
|
|
case CLAY:
|
|
case COAL_BLOCK:
|
|
case COAL_ORE:
|
|
case COARSE_DIRT:
|
|
case COBBLESTONE:
|
|
case COBBLESTONE_SLAB:
|
|
case COBBLESTONE_STAIRS:
|
|
case COBBLESTONE_WALL:
|
|
case COMMAND_BLOCK:
|
|
case COMPOSTER:
|
|
case CONDUIT:
|
|
case CRACKED_STONE_BRICKS:
|
|
case CRAFTING_TABLE:
|
|
case CUT_RED_SANDSTONE:
|
|
case CUT_RED_SANDSTONE_SLAB:
|
|
case CUT_SANDSTONE:
|
|
case CUT_SANDSTONE_SLAB:
|
|
case CYAN_BANNER:
|
|
case CYAN_BED:
|
|
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_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_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 DIAMOND_BLOCK:
|
|
case DIAMOND_ORE:
|
|
case DIORITE:
|
|
case DIORITE_SLAB:
|
|
case DIORITE_STAIRS:
|
|
case DIORITE_WALL:
|
|
case DIRT:
|
|
case DISPENSER:
|
|
case DRAGON_EGG:
|
|
case DRIED_KELP_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 FARMLAND:
|
|
case FIRE_CORAL_BLOCK:
|
|
case FLETCHING_TABLE:
|
|
case FROSTED_ICE:
|
|
case FURNACE:
|
|
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 GRASS_PATH:
|
|
case GRAVEL:
|
|
case GRAY_BANNER:
|
|
case GRAY_BED:
|
|
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_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_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_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_SIGN:
|
|
case JUNGLE_WOOD:
|
|
case LANTERN:
|
|
case LAPIS_BLOCK:
|
|
case LAPIS_ORE:
|
|
case LECTERN:
|
|
case LIGHT_BLUE_BANNER:
|
|
case LIGHT_BLUE_BED:
|
|
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_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_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 LOOM:
|
|
case MAGENTA_BANNER:
|
|
case MAGENTA_BED:
|
|
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 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 MOVING_PISTON:
|
|
case MUSHROOM_STEM:
|
|
case MYCELIUM:
|
|
case NETHERRACK:
|
|
case NETHER_BRICKS:
|
|
case NETHER_BRICK_FENCE:
|
|
case NETHER_BRICK_SLAB:
|
|
case NETHER_BRICK_STAIRS:
|
|
case NETHER_BRICK_WALL:
|
|
case NETHER_QUARTZ_ORE:
|
|
case NETHER_WART_BLOCK:
|
|
case NOTE_BLOCK:
|
|
case OAK_DOOR:
|
|
case OAK_FENCE:
|
|
case OAK_FENCE_GATE:
|
|
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_SIGN:
|
|
case OAK_WOOD:
|
|
case OBSERVER:
|
|
case OBSIDIAN:
|
|
case ORANGE_BANNER:
|
|
case ORANGE_BED:
|
|
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 PACKED_ICE:
|
|
case PETRIFIED_OAK_SLAB:
|
|
case PINK_BANNER:
|
|
case PINK_BED:
|
|
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 POLISHED_ANDESITE:
|
|
case POLISHED_ANDESITE_SLAB:
|
|
case POLISHED_ANDESITE_STAIRS:
|
|
case POLISHED_DIORITE:
|
|
case POLISHED_DIORITE_SLAB:
|
|
case POLISHED_DIORITE_STAIRS:
|
|
case POLISHED_GRANITE:
|
|
case POLISHED_GRANITE_SLAB:
|
|
case POLISHED_GRANITE_STAIRS:
|
|
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_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_PILLAR:
|
|
case QUARTZ_SLAB:
|
|
case QUARTZ_STAIRS:
|
|
case REDSTONE_BLOCK:
|
|
case REDSTONE_LAMP:
|
|
case REDSTONE_ORE:
|
|
case RED_BANNER:
|
|
case RED_BED:
|
|
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 REPEATING_COMMAND_BLOCK:
|
|
case SAND:
|
|
case SANDSTONE:
|
|
case SANDSTONE_SLAB:
|
|
case SANDSTONE_STAIRS:
|
|
case SANDSTONE_WALL:
|
|
case SEA_LANTERN:
|
|
case SHULKER_BOX:
|
|
case SLIME_BLOCK:
|
|
case SMITHING_TABLE:
|
|
case SMOKER:
|
|
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 SNOW_BLOCK:
|
|
case SOUL_SAND:
|
|
case SPAWNER:
|
|
case SPONGE:
|
|
case SPRUCE_DOOR:
|
|
case SPRUCE_FENCE:
|
|
case SPRUCE_FENCE_GATE:
|
|
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_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_BIRCH_LOG:
|
|
case STRIPPED_BIRCH_WOOD:
|
|
case STRIPPED_DARK_OAK_LOG:
|
|
case STRIPPED_DARK_OAK_WOOD:
|
|
case STRIPPED_JUNGLE_LOG:
|
|
case STRIPPED_JUNGLE_WOOD:
|
|
case STRIPPED_OAK_LOG:
|
|
case STRIPPED_OAK_WOOD:
|
|
case STRIPPED_SPRUCE_LOG:
|
|
case STRIPPED_SPRUCE_WOOD:
|
|
case STRUCTURE_BLOCK:
|
|
case TERRACOTTA:
|
|
case TNT:
|
|
case TRAPPED_CHEST:
|
|
case TUBE_CORAL_BLOCK:
|
|
case TURTLE_EGG:
|
|
case WET_SPONGE:
|
|
case WHITE_BANNER:
|
|
case WHITE_BED:
|
|
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_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:
|
|
return true;
|
|
default:
|
|
return false;
|
|
}
|
|
}
|
|
|
|
public boolean isLiquid() {
|
|
switch (this) {
|
|
case WATER:
|
|
case LAVA:
|
|
return true;
|
|
default:
|
|
return false;
|
|
}
|
|
}
|
|
|
|
public boolean isBlockEntity() {
|
|
switch (this) {
|
|
case SPAWNER:
|
|
case COMMAND_BLOCK:
|
|
case BEACON:
|
|
case CREEPER_HEAD:
|
|
case CREEPER_WALL_HEAD:
|
|
case DRAGON_HEAD:
|
|
case DRAGON_WALL_HEAD:
|
|
case PLAYER_HEAD:
|
|
case PLAYER_WALL_HEAD:
|
|
case ZOMBIE_HEAD:
|
|
case ZOMBIE_WALL_HEAD:
|
|
case CONDUIT:
|
|
case BLACK_BANNER:
|
|
case BLACK_WALL_BANNER:
|
|
case BLUE_BANNER:
|
|
case BLUE_WALL_BANNER:
|
|
case BROWN_BANNER:
|
|
case BROWN_WALL_BANNER:
|
|
case CYAN_BANNER:
|
|
case PURPLE_BANNER:
|
|
case GREEN_BANNER:
|
|
case RED_BANNER:
|
|
case WHITE_WALL_BANNER:
|
|
case ORANGE_WALL_BANNER:
|
|
case MAGENTA_WALL_BANNER:
|
|
case LIGHT_BLUE_WALL_BANNER:
|
|
case YELLOW_WALL_BANNER:
|
|
case LIME_WALL_BANNER:
|
|
case PINK_WALL_BANNER:
|
|
case GRAY_WALL_BANNER:
|
|
case LIGHT_GRAY_WALL_BANNER:
|
|
case CYAN_WALL_BANNER:
|
|
case PURPLE_WALL_BANNER:
|
|
case GREEN_WALL_BANNER:
|
|
case RED_WALL_BANNER:
|
|
case STRUCTURE_BLOCK:
|
|
case END_GATEWAY:
|
|
case OAK_SIGN:
|
|
case SPRUCE_SIGN:
|
|
case BIRCH_SIGN:
|
|
case ACACIA_SIGN:
|
|
case JUNGLE_SIGN:
|
|
case DARK_OAK_SIGN:
|
|
case BLACK_BED:
|
|
case WHITE_BED:
|
|
case ORANGE_BED:
|
|
case MAGENTA_BED:
|
|
case LIGHT_BLUE_BED:
|
|
case YELLOW_BED:
|
|
case LIME_BED:
|
|
case PINK_BED:
|
|
case GRAY_BED:
|
|
case LIGHT_GRAY_BED:
|
|
case CYAN_BED:
|
|
case PURPLE_BED:
|
|
case BLUE_BED:
|
|
case BROWN_BED:
|
|
case GREEN_BED:
|
|
case RED_BED:
|
|
case JIGSAW:
|
|
case CAMPFIRE:
|
|
case BEEHIVE:
|
|
return true;
|
|
default:
|
|
return false;
|
|
}
|
|
}
|
|
|
|
public boolean isSign() {
|
|
switch (this) {
|
|
case OAK_SIGN:
|
|
case SPRUCE_SIGN:
|
|
case BIRCH_SIGN:
|
|
case ACACIA_SIGN:
|
|
case JUNGLE_SIGN:
|
|
case DARK_OAK_SIGN:
|
|
return true;
|
|
default:
|
|
return false;
|
|
}
|
|
}
|
|
|
|
public List<BlockAlternative> getBlockAlternatives() {
|
|
return Collections.unmodifiableList(blockAlternatives);
|
|
}
|
|
|
|
public static class BlockAlternative {
|
|
|
|
private short id;
|
|
private String[] properties;
|
|
|
|
protected BlockAlternative(short id, String... properties) {
|
|
this.id = id;
|
|
this.properties = properties;
|
|
}
|
|
|
|
public short getId() {
|
|
return id;
|
|
}
|
|
|
|
public String[] getProperties() {
|
|
return properties;
|
|
}
|
|
|
|
@Override
|
|
public String toString() {
|
|
return "BlockAlternative{" +
|
|
"id=" + id +
|
|
", properties=" + Arrays.toString(properties) +
|
|
'}';
|
|
}
|
|
}
|
|
}
|