diff --git a/core/src/main/java/mc/core/world/block/BlockType.java b/core/src/main/java/mc/core/world/block/BlockType.java index 633996a..13eb1e6 100644 --- a/core/src/main/java/mc/core/world/block/BlockType.java +++ b/core/src/main/java/mc/core/world/block/BlockType.java @@ -10,114 +10,480 @@ import java.util.stream.Stream; @Slf4j @RequiredArgsConstructor public enum BlockType { + AIR(0, 0), - STONE(1, 0), - GRANITE(1, 1), + + STONE (1, 0), + STONE_MOSS(48, 0), + + GRANITE (1, 1), POLISHED_GRANITE(1, 2), + DIORITE(1, 3), ANDESITE(1, 5), + GRASS(2, 0), + PATH(208, 0), + DIRT(3, 0), + + /** Farmland, Dry, Moisture 0 */ + FARMLAND (60, 0), + /** Farmland, Dry, Moisture 1 */ + FARMLAND_1(60, 1), + /** Farmland, Dry, Moisture 2 */ + FARMLAND_2(60, 2), + /** Farmland, Dry, Moisture 3 */ + FARMLAND_3(60, 3), + /** Farmland, Dry, Moisture 4 */ + FARMLAND_4(60, 4), + /** Farmland, Dry, Moisture 5 */ + FARMLAND_5(60, 5), + /** Farmland, Dry, Moisture 6 */ + FARMLAND_6(60, 6), + /** Farmland, Dry, Moisture 7 */ + FARMLAND_7(60, 7), + COBBLESTONE(4, 0), BEDROCK(7, 0), - FLOWING_WATER (8, 0), - FLOWING_WATER_1(8, 1), - FLOWING_WATER_2(8, 2), - FLOWING_WATER_3(8, 3), - FLOWING_WATER_4(8, 4), - FLOWING_WATER_5(8, 5), - FLOWING_WATER_6(8, 6), - FLOWING_WATER_7(8, 7), - WATER (9, 0), - WATER_1 (9, 1), - WATER_2 (9, 2), - WATER_3 (9, 3), - WATER_4 (9, 4), - WATER_5 (9, 5), - WATER_6 (9, 6), - WATER_7 (9, 7), - WATER_8 (9, 8), - WATER_9 (9, 9), - WATER_10(9, 10), - WATER_11(9, 11), - WATER_12(9, 12), - WATER_13(9, 13), - WATER_14(9, 14), - WATER_15(9, 15), - FLOWING_LAVA (10, 0), - FLOWING_LAVA_1(10, 1), - FLOWING_LAVA_2(10, 2), - FLOWING_LAVA_3(10, 3), - FLOWING_LAVA_4(10, 4), - FLOWING_LAVA_5(10, 5), - FLOWING_LAVA_6(10, 6), - FLOWING_LAVA_7(10, 7), - LAVA (11, 0), - LAVA_1 (11, 1), - LAVA_2 (11, 2), - LAVA_3 (11, 3), - LAVA_4 (11, 4), - LAVA_5 (11, 5), - LAVA_6 (11, 6), - LAVA_7 (11, 7), - LAVA_8 (11, 8), - LAVA_9 (11, 9), - LAVA_10(11, 10), - LAVA_11(11, 11), - LAVA_12(11, 12), - LAVA_13(11, 13), - LAVA_14(11, 14), - LAVA_15(11, 15), - SAND(12, 0), - GRAVEL(13, 0), - ORE_GOLD(14, 0), - ORE_IRON(15, 0), - ORE_COAL(16, 0), - WOOD_OAK (17, 0), - WOOD_SPRUCE (17, 1), - WOOD_BIRCH (17, 2), - WOOD_JUNGLE (17, 3), - WOOD_BIRCH_X(17, 4), - WOOD_BIRCH_Z(17, 8), - LEAVES_OAK (18, 0), - LEAVES_SPRUCE(18, 1), - LEAVES_BIRCH (18, 2), - LEAVES_JUNGLE(18, 3), - LEAVES_8 (18, 8), - LEAVES_9 (18, 9), - LEAVES_10 (18, 10), - ORE_LAPIS(21, 0), + + /** Water, flowing, Level 7 (Source) */ + WATER_FLOWING (8, 0), + /** Water, flowing, Level 6 */ + WATER_FLOWING_1 (8, 1), + /** Water, flowing, Level 5 */ + WATER_FLOWING_2 (8, 2), + /** Water, flowing, Level 4 */ + WATER_FLOWING_3 (8, 3), + /** Water, flowing, Level 3 */ + WATER_FLOWING_4 (8, 4), + /** Water, flowing, Level 2 */ + WATER_FLOWING_5 (8, 5), + /** Water, flowing, Level 1 */ + WATER_FLOWING_6 (8, 6), + /** Water, flowing, Level 0 */ + WATER_FLOWING_7 (8, 7), + /** Water, flowing, Level 15 */ + WATER_FLOWING_8 (8, 8), + /** Water, flowing, Level 14 */ + WATER_FLOWING_9 (8, 9), + /** Water, flowing, Level 13 */ + WATER_FLOWING_10(8, 10), + /** Water, flowing, Level 12 */ + WATER_FLOWING_11(8, 11), + /** Water, flowing, Level 11 */ + WATER_FLOWING_12(8, 12), + /** Water, flowing, Level 10 */ + WATER_FLOWING_13(8, 13), + /** Water, flowing, Level 9 */ + WATER_FLOWING_14(8, 14), + /** Water, flowing, Level 8 */ + WATER_FLOWING_15(8, 15), + + /** Water, still, Level 7 (Source) */ + WATER_STILL (9, 0), + /** Water, still, Level 6 */ + WATER_STILL_1 (9, 1), + /** Water, still, Level 5 */ + WATER_STILL_2 (9, 2), + /** Water, still, Level 4 */ + WATER_STILL_3 (9, 3), + /** Water, still, Level 3 */ + WATER_STILL_4 (9, 4), + /** Water, still, Level 2 */ + WATER_STILL_5 (9, 5), + /** Water, still, Level 1 */ + WATER_STILL_6 (9, 6), + /** Water, still, Level 0 */ + WATER_STILL_7 (9, 7), + /** Water, still, Level 15 */ + WATER_STILL_8 (9, 8), + /** Water, still, Level 14 */ + WATER_STILL_9 (9, 9), + /** Water, still, Level 13 */ + WATER_STILL_10(9, 10), + /** Water, still, Level 12 */ + WATER_STILL_11(9, 11), + /** Water, still, Level 11 */ + WATER_STILL_12(9, 12), + /** Water, still, Level 10 */ + WATER_STILL_13(9, 13), + /** Water, still, Level 9 */ + WATER_STILL_14(9, 14), + /** Water, still, Level 8 */ + WATER_STILL_15(9, 15), + + /** Lava, flowing, Level 7 (Source) */ + LAVA_FLOWING (10, 0), + /** Lava, flowing, Level 6 */ + LAVA_FLOWING_1 (10, 1), + /** Lava, flowing, Level 5 */ + LAVA_FLOWING_2 (10, 2), + /** Lava, flowing, Level 4 */ + LAVA_FLOWING_3 (10, 3), + /** Lava, flowing, Level 3 */ + LAVA_FLOWING_4 (10, 4), + /** Lava, flowing, Level 2 */ + LAVA_FLOWING_5 (10, 5), + /** Lava, flowing, Level 1 */ + LAVA_FLOWING_6 (10, 6), + /** Lava, flowing, Level 0 */ + LAVA_FLOWING_7 (10, 7), + /** Lava, flowing, Level 15 */ + LAVA_FLOWING_8 (10, 8), + /** Lava, flowing, Level 14 */ + LAVA_FLOWING_9 (10, 9), + /** Lava, flowing, Level 13 */ + LAVA_FLOWING_10(10, 10), + /** Lava, flowing, Level 12 */ + LAVA_FLOWING_11(10, 11), + /** Lava, flowing, Level 11 */ + LAVA_FLOWING_12(10, 12), + /** Lava, flowing, Level 10 */ + LAVA_FLOWING_13(10, 13), + /** Lava, flowing, Level 9 */ + LAVA_FLOWING_14(10, 14), + /** Lava, flowing, Level 8 */ + LAVA_FLOWING_15(10, 15), + + /** Lava, still, Level 7 (Source) */ + LAVA_STILL (11, 0), + /** Lava, still, Level 6 */ + LAVA_STILL_1 (11, 1), + /** Lava, still, Level 5 */ + LAVA_STILL_2 (11, 2), + /** Lava, still, Level 4 */ + LAVA_STILL_3 (11, 3), + /** Lava, still, Level 3 */ + LAVA_STILL_4 (11, 4), + /** Lava, still, Level 2 */ + LAVA_STILL_5 (11, 5), + /** Lava, still, Level 1 */ + LAVA_STILL_6 (11, 6), + /** Lava, still, Level 0 */ + LAVA_STILL_7 (11, 7), + /** Lava, still, Level 15 */ + LAVA_STILL_8 (11, 8), + /** Lava, still, Level 14 */ + LAVA_STILL_9 (11, 9), + /** Lava, still, Level 13 */ + LAVA_STILL_10(11, 10), + /** Lava, still, Level 12 */ + LAVA_STILL_11(11, 11), + /** Lava, still, Level 11 */ + LAVA_STILL_12(11, 12), + /** Lava, still, Level 10 */ + LAVA_STILL_13(11, 13), + /** Lava, still, Level 9 */ + LAVA_STILL_14(11, 14), + /** Lava, still, Level 8 */ + LAVA_STILL_15(11, 15), + + SAND (12, 0), SANDSTONE(24, 0), + + GRAVEL(13, 0), + + ORE_GOLD (14, 0), + ORE_IRON (15, 0), + ORE_COAL (16, 0), + ORE_LAPIS (21, 0), + ORE_DIAMOND (56, 0), + ORE_REDSTONE (73, 0), + ORE_GLOWING_REDSTONE(74, 0), + ORE_EMERALD (129, 0), + + // Upright + WOOD_OAK (17, 0), + WOOD_SPRUCE (17, 1), + WOOD_BIRCH (17, 2), + WOOD_JUNGLE (17, 3), + WOOD_ACACIA (162, 0), + WOOD_OAK_DARK(162, 1), + + // East/West + WOOD_OAK_EW (17, 4), + WOOD_SPRUCE_EW (17, 5), + WOOD_BIRCH_EW (17, 6), + WOOD_JUNGLE_EW (17, 7), + WOOD_ACACIA_EW (162, 4), + WOOD_OAK_DARK_EW(162, 5), + + // North/South + WOOD_OAK_NS (17, 8), + WOOD_SPRUCE_NS (17, 9), + WOOD_BIRCH_NS (17, 10), + WOOD_JUNGLE_NS (17, 11), + WOOD_ACACIA_NS (162, 8), + WOOD_OAK_DARK_NS(162, 9), + + PLANK_WOOD_OAK (5, 0), + PLANK_WOOD_SPRUCE (5, 1), + PLANK_WOOD_BIRCH (5, 2), + PLANK_WOOD_JUNGLE (5, 3), + PLANK_WOOD_ACACIA (5, 4), + PLANK_WOOD_OAK_DARK(5, 5), + + DOOR_LOW_OAK_EAST(64, 0), + DOOR_LOW_OAK_SOUTH(64, 1), + DOOR_LOW_OAK_WEST(64, 2), + DOOR_LOW_OAK_NORTH(64, 3), + DOOR_LOW_OAK_EAST_OPENED(64, 4), + DOOR_LOW_OAK_SOUTH_OPENED(64, 5), + DOOR_LOW_OAK_WEST_OPENED(64, 6), + DOOR_LOW_OAK_NORTH_OPENED(64, 7), + + DOOR_UP_OAK_LEFT(64, 8), + DOOR_UP_OAK_RIGHT(64, 9), + DOOR_UP_OAK_LEFT_POWERED(64, 10), + DOOR_UP_OAK_RIGHT_POWERED(64, 11), + DOOR_UP_OAK_12(64, 12), + DOOR_UP_OAK_13(64, 13), + DOOR_UP_OAK_14(64, 14), + DOOR_UP_OAK_15(64, 15), + + FENCE_OAK(85, 0), + + // Decay after Tree Update + LEAVES_OAK (18, 0), + LEAVES_SPRUCE (18, 1), + LEAVES_BIRCH (18, 2), + LEAVES_JUNGLE (18, 3), + LEAVES_ACACIA (161, 0), + LEAVES_OAK_DARK(161, 1), + + // No Decay + LEAVES_OAK2 (18, 4), + LEAVES_SPRUCE2 (18, 5), + LEAVES_BIRCH2 (18, 6), + LEAVES_JUNGLE2 (18, 7), + LEAVES_ACACIA2 (161, 4), + LEAVES_OAK_DARK2(161, 5), + + // Decay + LEAVES_OAK3 (18, 8), + LEAVES_SPRUCE3 (18, 9), + LEAVES_BIRCH3 (18, 10), + LEAVES_JUNGLE3 (18, 11), + LEAVES_ACACIA3 (161, 8), + LEAVES_OAK_DARK3(161, 9), + + // No decay, unused + @Deprecated + LEAVES_OAK4 (18, 12), + @Deprecated + LEAVES_SPRUCE4 (18, 13), + @Deprecated + LEAVES_BIRCH4 (18, 14), + @Deprecated + LEAVES_JUNGLE4 (18, 15), + @Deprecated + LEAVES_ACACIA4 (161, 12), + @Deprecated + LEAVES_OAK_DARK4(161, 13), + + COBWEB(30, 0), TALLGRASS(31, 1), DANDELION(37, 0), - POPPY(38, 0), + + FLOWER_POPPY (38, 0), + FLOWER_BLUE_ORCHID (38, 1), + FLOWER_ALLIUM (38, 2), + FLOWER_AZURE_BLUET (38, 3), + FLOWER_TULIP_RED (38, 4), + FLOWER_TULIP_ORANGE(38, 5), + FLOWER_TULIP_WHITE (38, 6), + FLOWER_TULIP_PINK (38, 7), + FLOWER_OXEYE_DAISY (38, 8), + MUSHROOM_BROWN(39, 0), - MUSHROOM_RED(40, 0), - MOSS_STONE(48, 0), + MUSHROOM_RED (40, 0), + + MUSHROOM_BLOCK_BROWN_ALL_INSIDE(99, 0), + MUSHROOM_BLOCK_BROWN_NW (99, 1), + MUSHROOM_BLOCK_BROWN_NORT (99, 2), + MUSHROOM_BLOCK_BROWN_NE (99, 3), + MUSHROOM_BLOCK_BROWN_WEST (99, 4), + MUSHROOM_BLOCK_BROWN_CENTER (99, 5), + MUSHROOM_BLOCK_BROWN_EAST (99, 6), + MUSHROOM_BLOCK_BROWN_SW (99, 7), + MUSHROOM_BLOCK_BROWN_SOUTH (99, 8), + MUSHROOM_BLOCK_BROWN_SE (99, 9), + MUSHROOM_BLOCK_BROWN_STEM (99, 10), + MUSHROOM_BLOCK_BROWN_ALL_OUSIDE(99, 14), + MUSHROOM_BLOCK_BROWN_ALL_STEM (99, 15), + + MUSHROOM_BLOCK_RED_ALL_INSIDE(100, 0), + MUSHROOM_BLOCK_RED_NW (100, 1), + MUSHROOM_BLOCK_RED_NORT (100, 2), + MUSHROOM_BLOCK_RED_NE (100, 3), + MUSHROOM_BLOCK_RED_WEST (100, 4), + MUSHROOM_BLOCK_RED_CENTER (100, 5), + MUSHROOM_BLOCK_RED_EAST (100, 6), + MUSHROOM_BLOCK_RED_SW (100, 7), + MUSHROOM_BLOCK_RED_SOUTH (100, 8), + MUSHROOM_BLOCK_RED_SE (100, 9), + MUSHROOM_BLOCK_RED_STEM (100, 10), + MUSHROOM_BLOCK_RED_ALL_OUSIDE(100, 14), + MUSHROOM_BLOCK_RED_ALL_STEM (100, 15), + OBSIDIAN(49, 0), + + TORCH_EAST (50, 1), + TORCH_WEST (50, 2), + TORCH_SOUTH(50, 3), + TORCH_NORTH(50, 4), + TORCH_UP (50, 5), + MONSTER_SPAWNER(52, 0), + CHEST_NORTH(54, 2, "minecraft:chest"), CHEST_SOUTH(54, 3, "minecraft:chest"), CHEST_WEST (54, 4, "minecraft:chest"), CHEST_EAST (54, 5, "minecraft:chest"), - ORE_DIAMOND(56, 0), - ORE_REDSTONE(73, 0), - ORE_GLOWING_REDSTONE(74, 0), + + RAIL_NS (66, 0), + RAIL_EW (66, 1), + RAIL_ASCENDING_EAST (66, 2), + RAIL_ASCENDING_WEST (66, 3), + RAIL_ASCENDING_NORTH(66, 4), + RAIL_ASCENDING_SOUTH(66, 5), + RAIL_CURVED_SE (66, 6), + RAIL_CURVED_SW (66, 7), + RAIL_CURVED_NW (66, 8), + RAIL_CURVED_NE (66, 9), + SNOW(78, 0), + CLAY(82, 0), + CLAY_HARDENED(172, 0), + + /** Sugar canes (Age 0) */ SUGAR_CANES(83, 0), + /** Sugar canes (Age 1) */ + SUGAR_CANES_1(83, 1), + /** Sugar canes (Age 2) */ + SUGAR_CANES_2(83, 2), + /** Sugar canes (Age 3) */ + SUGAR_CANES_3(83, 3), + /** Sugar canes (Age 4) */ + SUGAR_CANES_4(83, 4), + /** Sugar canes (Age 5) */ + SUGAR_CANES_5(83, 5), + /** Sugar canes (Age 6) */ + SUGAR_CANES_6(83, 6), + /** Sugar canes (Age 7) */ + SUGAR_CANES_7(83, 7), + /** Sugar canes (Age 8) */ + SUGAR_CANES_8(83, 8), + /** Sugar canes (Age 9) */ + SUGAR_CANES_9(83, 9), + /** Sugar canes (Age 10) */ + SUGAR_CANES_10(83, 10), + /** Sugar canes (Age 11) */ + SUGAR_CANES_11(83, 11), + /** Sugar canes (Age 12) */ + SUGAR_CANES_12(83, 12), + /** Sugar canes (Age 13) */ + SUGAR_CANES_13(83, 13), + /** Sugar canes (Age 14) */ + SUGAR_CANES_14(83, 14), + /** Sugar canes (Age 15) */ + SUGAR_CANES_15(83, 15), + PUMPKIN_SOUTH(86, 0), PUMPKIN_WEST (86, 1), PUMPKIN_NORTH(86, 2), PUMPKIN_EAST (86, 3), + STONE_MONSTER_EGG(97, 0), - ORE_EMERALD(129, 0), - VINE(106, 0), + + GLASS_PANE(102, 0), + + VINE (106, 0), + VINE_SOUTH(106, 1), + VINE_WEST (106, 2), + VINE_SW (106, 3), + VINE_NORTH(106, 4), + VINE_NS (106, 5), + VINE_NW (106, 6), + VINE_NSW (106, 7), // North, South, West + VINE_EAST (106, 8), + VINE_ES (106, 9), + VINE_EW (106, 10), + VINE_ESW (106, 11), + VINE_EN (106, 12), + VINE_ENS (106, 13), + VINE_ENW (106, 14), + VINE_ENSW (106, 14), + WATERLILY(111, 0), + LILAC(175, 1), + DOUBLE_TALLGRASS(175, 2), ROSE_BUSH(175, 4), PEONY(175, 5), - ROSE_BUSH_10(175, 10); + ROSE_BUSH_10(175, 10), + + /** Wheat (Age 0) */ + WHEAT (59, 0), + /** Wheat (Age 1) */ + WHEAT_1(59, 1), + /** Wheat (Age 2) */ + WHEAT_2(59, 2), + /** Wheat (Age 3) */ + WHEAT_3(59, 3), + /** Wheat (Age 4) */ + WHEAT_4(59, 4), + /** Wheat (Age 5) */ + WHEAT_5(59, 5), + /** Wheat (Age 6) */ + WHEAT_6(59, 6), + /** Wheat (Age 7) */ + WHEAT_7(59, 7), + + /** Carrots (Age 0) */ + CARROTS(141, 0), + /** Carrots (Age 1) */ + CARROTS_1(141, 1), + /** Carrots (Age 2) */ + CARROTS_2(141, 2), + /** Carrots (Age 3) */ + CARROTS_3(141, 3), + /** Carrots (Age 4) */ + CARROTS_4(141, 4), + /** Carrots (Age 5) */ + CARROTS_5(141, 5), + /** Carrots (Age 6) */ + CARROTS_6(141, 6), + /** Carrots (Age 7) */ + CARROTS_7(141, 7), + + /** Potatoes (Age 0) */ + POTATOES (142, 0), + /** Potatoes (Age 1) */ + POTATOES_1(142, 1), + /** Potatoes (Age 2) */ + POTATOES_2(142, 2), + /** Potatoes (Age 3) */ + POTATOES_3(142, 3), + /** Potatoes (Age 4) */ + POTATOES_4(142, 4), + /** Potatoes (Age 5) */ + POTATOES_5(142, 5), + /** Potatoes (Age 6) */ + POTATOES_6(142, 6), + /** Potatoes (Age 7) */ + POTATOES_7(142, 7), + + /** Beetroot (Age 0) */ + BEETROOT (207, 0), + /** Beetroot (Age 1) */ + BEETROOT_1(207, 1), + /** Beetroot (Age 2) */ + BEETROOT_2(207, 2), + /** Beetroot (Age 3) */ + BEETROOT_3(207, 3); BlockType(int id, int meta) { this.id = id;