From 800703eefa3fb7697acf21b03c4bba3c6695d737 Mon Sep 17 00:00:00 2001 From: Sleepybear Date: Wed, 16 Jun 2021 14:04:13 -0700 Subject: [PATCH] Merge 1.17 branch (#6) * Bump protocol version to v440 * Add BlockIds * finish new block traits and block types * 1.17 block updates * Update GameRules (#5) * Implement ItemPalette and move runtimeID logic out of ItemRegistry * Item fixes * Item Updates Co-authored-by: Kazuk <46299532+XKazzuKX@users.noreply.github.com> --- .../api/block/BlockCategories.java | 50 +++++++- .../org/cloudburstmc/api/block/BlockIds.java | 109 ++++++++++++++++++ .../cloudburstmc/api/block/BlockTraits.java | 12 +- .../org/cloudburstmc/api/block/BlockType.java | 7 +- .../cloudburstmc/api/block/BlockTypes.java | 51 +++++++- .../api/crafting/CraftingRecipe.java | 29 +++++ .../cloudburstmc/api/crafting/MixRecipe.java | 48 ++++++++ .../org/cloudburstmc/api/item/ItemIds.java | 20 +++- .../org/cloudburstmc/api/item/ItemStack.java | 2 + .../org/cloudburstmc/api/item/ItemTypes.java | 20 +++- .../api/level/gamerule/GameRules.java | 24 ++-- .../api/registry/ItemRegistry.java | 2 + .../api/util/data/CaveVineType.java | 18 +++ .../api/util/data/ClusterSize.java | 8 ++ .../api/util/data/CopperType.java | 40 +++++++ .../api/util/data/DripleafTilt.java | 8 ++ .../api/util/data/DripstoneThickness.java | 9 ++ .../cloudburstmc/api/util/data/FluidType.java | 3 +- .../api/util/data/StoneSlabType.java | 5 +- .../api/util/data/WallBlockType.java | 6 +- 20 files changed, 445 insertions(+), 26 deletions(-) create mode 100644 src/main/java/org/cloudburstmc/api/crafting/CraftingRecipe.java create mode 100644 src/main/java/org/cloudburstmc/api/crafting/MixRecipe.java create mode 100644 src/main/java/org/cloudburstmc/api/util/data/CaveVineType.java create mode 100644 src/main/java/org/cloudburstmc/api/util/data/ClusterSize.java create mode 100644 src/main/java/org/cloudburstmc/api/util/data/CopperType.java create mode 100644 src/main/java/org/cloudburstmc/api/util/data/DripleafTilt.java create mode 100644 src/main/java/org/cloudburstmc/api/util/data/DripstoneThickness.java diff --git a/src/main/java/org/cloudburstmc/api/block/BlockCategories.java b/src/main/java/org/cloudburstmc/api/block/BlockCategories.java index 37c5d3d38..a769e5c37 100644 --- a/src/main/java/org/cloudburstmc/api/block/BlockCategories.java +++ b/src/main/java/org/cloudburstmc/api/block/BlockCategories.java @@ -218,7 +218,32 @@ private void initDefaultCategories() { WOODEN_DOOR, WOODEN_PRESSURE_PLATE, WOODEN_SLAB, - WOOL + WOOL, + COPPER_ORE, + DRIPSTONE_BLOCK, + DIRT_WITH_ROOTS, + MOSS_BLOCK, + SPORE_BLOSSOM, + CALCITE, + TUFF, + COPPER, + CUT_COPPER, + SMOOTH_BASALT, + COBBLED_DEEPSLATE, + POLISHED_DEEPSLATE, + DEEPSLATE_TILES, + DEEPSLATE_BRICKS, + CRACKED_DEEPSLATE_BRICKS, + CRACKED_DEEPSLATE_TILES, + CHISELED_DEEPSLATE, + DEEPSLATE_LAPIS_ORE, + DEEPSLATE_IRON_ORE, + DEEPSLATE_GOLD_ORE, + DEEPSLATE_REDSTONE_ORE, + DEEPSLATE_DIAMOND_ORE, + DEEPSLATE_EMERALD_ORE, + DEEPSLATE_COAL_ORE, + DEEPSLATE_COPPER_ORE ); categorize(BlockCategory.TRANSPARENT, @@ -318,16 +343,33 @@ private void initDefaultCategories() { TRIPWIRE, TRIPWIRE_HOOK, END_PORTAL_FRAME, - INVISIBLE_BEDROCK + INVISIBLE_BEDROCK, + POWDER_SNOW, + SCULK_SENSOR, + POINTED_DRIPSTONE, + LIGHTNING_ROD, + HANGING_ROOTS, + CAVE_VINES, + BIG_DRIPLEAF, + AMETHYST_CLUSTER, + MOSS_CARPET, + SMALL_DRIPLEAF, + AZALEA, + COPPER_STAIRS, + COPPER_SLAB, + GLOW_LICHEN + ); categorize(BlockCategory.STAIRS, WOODEN_STAIRS, - STONE_STAIRS + STONE_STAIRS, + COPPER_STAIRS ); categorize(BlockCategory.SLAB, STONE_SLAB, - WOODEN_SLAB + WOODEN_SLAB, + COPPER_SLAB ); categorize(BlockCategory.DOOR, diff --git a/src/main/java/org/cloudburstmc/api/block/BlockIds.java b/src/main/java/org/cloudburstmc/api/block/BlockIds.java index fee8b0b40..447a5837c 100644 --- a/src/main/java/org/cloudburstmc/api/block/BlockIds.java +++ b/src/main/java/org/cloudburstmc/api/block/BlockIds.java @@ -18,9 +18,14 @@ public final class BlockIds { public static final Identifier ACTIVATOR_RAIL = Identifier.fromString("activator_rail"); public static final Identifier AIR = Identifier.fromString("air"); public static final Identifier ALLOW = Identifier.fromString("allow"); + public static final Identifier AMETHYST_BLOCK = Identifier.fromString("amethyst_block"); + public static final Identifier AMETHYST_CLUSTER = Identifier.fromString("amethyst_cluster"); public static final Identifier ANCIENT_DEBRIS = Identifier.fromString("ancient_debris"); public static final Identifier ANDESITE_STAIRS = Identifier.fromString("andesite_stairs"); public static final Identifier ANVIL = Identifier.fromString("anvil"); + public static final Identifier AZALEA = Identifier.fromString("azalea"); + public static final Identifier AZALEA_LEAVES = Identifier.fromString("azalea_leaves"); + public static final Identifier AZALEA_LEAVES_FLOWERED = Identifier.fromString("azalea_leaves_flowered"); public static final Identifier BAMBOO = Identifier.fromString("bamboo"); public static final Identifier BAMBOO_SAPLING = Identifier.fromString("bamboo_sapling"); public static final Identifier BARREL = Identifier.fromString("barrel"); @@ -33,6 +38,7 @@ public final class BlockIds { public static final Identifier BEETROOT = Identifier.fromString("beetroot"); public static final Identifier BEE_NEST = Identifier.fromString("bee_nest"); public static final Identifier BELL = Identifier.fromString("bell"); + public static final Identifier BIG_DRIPLEAF = Identifier.fromString("big_dripleaf"); public static final Identifier BIRCH_BUTTON = Identifier.fromString("birch_button"); public static final Identifier BIRCH_DOOR = Identifier.fromString("birch_door"); public static final Identifier BIRCH_FENCE_GATE = Identifier.fromString("birch_fence_gate"); @@ -60,8 +66,10 @@ public final class BlockIds { public static final Identifier BROWN_MUSHROOM = Identifier.fromString("brown_mushroom"); public static final Identifier BROWN_MUSHROOM_BLOCK = Identifier.fromString("brown_mushroom_block"); public static final Identifier BUBBLE_COLUMN = Identifier.fromString("bubble_column"); + public static final Identifier BUDDING_AMETHYST = Identifier.fromString("budding_amethyst"); public static final Identifier CACTUS = Identifier.fromString("cactus"); public static final Identifier CAKE = Identifier.fromString("cake"); + public static final Identifier CALCITE = Identifier.fromString("calcite"); public static final Identifier CAMERA = Identifier.fromString("camera"); public static final Identifier CAMPFIRE = Identifier.fromString("campfire"); public static final Identifier CARPET = Identifier.fromString("carpet"); @@ -69,11 +77,15 @@ public final class BlockIds { public static final Identifier CARTOGRAPHY_TABLE = Identifier.fromString("cartography_table"); public static final Identifier CARVED_PUMPKIN = Identifier.fromString("carved_pumpkin"); public static final Identifier CAULDRON = Identifier.fromString("cauldron"); + public static final Identifier CAVE_VINES = Identifier.fromString("cave_vines"); + public static final Identifier CAVE_VINES_BODY = Identifier.fromString("cave_vines_body_with_berries"); + public static final Identifier CAVE_VINES_HEAD = Identifier.fromString("cave_vines_head_with_berries"); public static final Identifier CHAIN = Identifier.fromString("chain"); public static final Identifier CHAIN_COMMAND_BLOCK = Identifier.fromString("chain_command_block"); public static final Identifier CHEMICAL_HEAT = Identifier.fromString("chemical_heat"); public static final Identifier CHEMISTRY_TABLE = Identifier.fromString("chemistry_table"); public static final Identifier CHEST = Identifier.fromString("chest"); + public static final Identifier CHISELED_DEEPSLATE = Identifier.fromString("chiseled_deepslate"); public static final Identifier CHISELED_NETHER_BRICKS = Identifier.fromString("chiseled_nether_bricks"); public static final Identifier CHISELED_POLISHED_BLACKSTONE = Identifier.fromString("chiseled_polished_blackstone"); public static final Identifier CHORUS_FLOWER = Identifier.fromString("chorus_flower"); @@ -81,6 +93,11 @@ public final class BlockIds { public static final Identifier CLAY = Identifier.fromString("clay"); public static final Identifier COAL_BLOCK = Identifier.fromString("coal_block"); public static final Identifier COAL_ORE = Identifier.fromString("coal_ore"); + public static final Identifier COBBLED_DEEPSLATE = Identifier.fromString("cobbled_deepslate"); + public static final Identifier COBBLED_DEEPSLATE_DOUBLE_SLAB = Identifier.fromString("cobbled_deepslate_double_slab"); + public static final Identifier COBBLED_DEEPSLATE_SLAB = Identifier.fromString("cobbled_deepslate_slab"); + public static final Identifier COBBLED_DEEPSLATE_STAIRS = Identifier.fromString("cobbled_deepslate_stairs"); + public static final Identifier COBBLED_DEEPSLATE_WALL = Identifier.fromString("cobbled_deepslate_wall"); public static final Identifier COBBLESTONE = Identifier.fromString("cobblestone"); public static final Identifier COBBLESTONE_WALL = Identifier.fromString("cobblestone_wall"); public static final Identifier COCOA = Identifier.fromString("cocoa"); @@ -91,6 +108,8 @@ public final class BlockIds { public static final Identifier CONCRETE = Identifier.fromString("concrete"); public static final Identifier CONCRETE_POWDER = Identifier.fromString("concrete_powder"); public static final Identifier CONDUIT = Identifier.fromString("conduit"); + public static final Identifier COPPER_BLOCK = Identifier.fromString("copper_block"); + public static final Identifier COPPER_ORE = Identifier.fromString("copper_ore"); public static final Identifier CORAL = Identifier.fromString("coral"); public static final Identifier CORAL_BLOCK = Identifier.fromString("coral_block"); public static final Identifier CORAL_FAN = Identifier.fromString("coral_fan"); @@ -98,6 +117,8 @@ public final class BlockIds { public static final Identifier CORAL_FAN_HANG = Identifier.fromString("coral_fan_hang"); public static final Identifier CORAL_FAN_HANG2 = Identifier.fromString("coral_fan_hang2"); public static final Identifier CORAL_FAN_HANG3 = Identifier.fromString("coral_fan_hang3"); + public static final Identifier CRACKED_DEEPSLATE_TILES = Identifier.fromString("cracked_deepslate_tiles"); + public static final Identifier CRACKED_DEEPSLATE_BRICKS = Identifier.fromString("cracked_deepslate_bricks"); public static final Identifier CRACKED_NETHER_BRICKS = Identifier.fromString("cracked_nether_bricks"); public static final Identifier CRACKED_POLISHED_BLACKSTONE_BRICKS = Identifier.fromString("cracked_polished_blackstone_bricks"); public static final Identifier CRAFTING_TABLE = Identifier.fromString("crafting_table"); @@ -119,6 +140,9 @@ public final class BlockIds { public static final Identifier CRIMSON_TRAPDOOR = Identifier.fromString("crimson_trapdoor"); public static final Identifier CRIMSON_WALL_SIGN = Identifier.fromString("crimson_wall_sign"); public static final Identifier CRYING_OBSIDIAN = Identifier.fromString("crying_obsidian"); + public static final Identifier CUT_COPPER = Identifier.fromString("cut_copper"); + public static final Identifier CUT_COPPER_SLAB = Identifier.fromString("cut_copper_slab"); + public static final Identifier CUT_COPPER_STAIRS = Identifier.fromString("cut_copper_stairs"); public static final Identifier CYAN_GLAZED_TERRACOTTA = Identifier.fromString("cyan_glazed_terracotta"); public static final Identifier DARK_OAK_STANDING_SIGN = Identifier.fromString("darkoak_standing_sign"); public static final Identifier DARK_OAK_WALL_SIGN = Identifier.fromString("darkoak_wall_sign"); @@ -132,13 +156,34 @@ public final class BlockIds { public static final Identifier DAYLIGHT_DETECTOR = Identifier.fromString("daylight_detector"); public static final Identifier DAYLIGHT_DETECTOR_INVERTED = Identifier.fromString("daylight_detector_inverted"); public static final Identifier DEADBUSH = Identifier.fromString("deadbush"); + public static final Identifier DEEPSLATE = Identifier.fromString("deepslate"); + public static final Identifier DEEPSLATE_BRICK_DOUBLE_SLAB = Identifier.fromString("deepslate_brick_double_slab"); + public static final Identifier DEEPSLATE_BRICK_SLAB = Identifier.fromString("deepslate_brick_slab"); + public static final Identifier DEEPSLATE_BRICK_STAIRS = Identifier.fromString("deepslate_brick_stairs"); + public static final Identifier DEEPSLATE_BRICK_WALL = Identifier.fromString("deepslate_brick_wall"); + public static final Identifier DEEPSLATE_BRICKS = Identifier.fromString("deepslate_bricks"); + public static final Identifier DEEPSLATE_COAL_ORE = Identifier.fromString("deepslate_coal_ore"); + public static final Identifier DEEPSLATE_COPPER_ORE = Identifier.fromString("deepslate_copper_ore"); + public static final Identifier DEEPSLATE_DIAMOND_ORE = Identifier.fromString("deepslate_diamond_ore"); + public static final Identifier DEEPSLATE_EMERALD_ORE = Identifier.fromString("deepslate_emerald_ore"); + public static final Identifier DEEPSLATE_GOLD_ORE = Identifier.fromString("deepslate_gold_ore"); + public static final Identifier DEEPSLATE_IRON_ORE = Identifier.fromString("deepslate_iron_ore"); + public static final Identifier DEEPSLATE_LAPIS_ORE = Identifier.fromString("deepslate_lapis_ore"); + public static final Identifier DEEPSLATE_REDSTONE_ORE = Identifier.fromString("deepslate_redstone_ore"); + public static final Identifier DEEPSLATE_TILE_DOUBLE_SLAB = Identifier.fromString("deepslate_tile_double_slab"); + public static final Identifier DEEPSLATE_TILE_SLAB = Identifier.fromString("deepslate_tile_slab"); + public static final Identifier DEEPSLATE_TILE_STAIRS = Identifier.fromString("deepslate_tile_stairs"); + public static final Identifier DEEPSLATE_TILE_WALL = Identifier.fromString("deepslate_tile_wall"); + public static final Identifier DEEPSLATE_TILES = Identifier.fromString("deepslate_tiles"); public static final Identifier DENY = Identifier.fromString("deny"); public static final Identifier DETECTOR_RAIL = Identifier.fromString("detector_rail"); public static final Identifier DIAMOND_BLOCK = Identifier.fromString("diamond_block"); public static final Identifier DIAMOND_ORE = Identifier.fromString("diamond_ore"); public static final Identifier DIORITE_STAIRS = Identifier.fromString("diorite_stairs"); public static final Identifier DIRT = Identifier.fromString("dirt"); + public static final Identifier DIRT_WITH_ROOTS = Identifier.fromString("dirt_with_roots"); public static final Identifier DISPENSER = Identifier.fromString("dispenser"); + public static final Identifier DOUBLE_CUT_COPPER_SLAB = Identifier.fromString("double_cut_copper_slab"); public static final Identifier DOUBLE_PLANT = Identifier.fromString("double_plant"); public static final Identifier DOUBLE_STONE_SLAB = Identifier.fromString("double_stone_slab"); public static final Identifier DOUBLE_STONE_SLAB2 = Identifier.fromString("double_stone_slab2"); @@ -147,6 +192,7 @@ public final class BlockIds { public static final Identifier DOUBLE_WOODEN_SLAB = Identifier.fromString("double_wooden_slab"); public static final Identifier DRAGON_EGG = Identifier.fromString("dragon_egg"); public static final Identifier DRIED_KELP_BLOCK = Identifier.fromString("dried_kelp_block"); + public static final Identifier DRIPSTONE_BLOCK = Identifier.fromString("dripstone_block"); public static final Identifier DROPPER = Identifier.fromString("dropper"); public static final Identifier ELEMENT_0 = Identifier.fromString("element_0"); public static final Identifier ELEMENT_1 = Identifier.fromString("element_1"); @@ -278,12 +324,18 @@ public final class BlockIds { public static final Identifier END_PORTAL_FRAME = Identifier.fromString("end_portal_frame"); public static final Identifier END_ROD = Identifier.fromString("end_rod"); public static final Identifier END_STONE = Identifier.fromString("end_stone"); + public static final Identifier EXPOSED_COPPER = Identifier.fromString("exposed_copper"); + public static final Identifier EXPOSED_CUT_COPPER = Identifier.fromString("exposed_cut_copper"); + public static final Identifier EXPOSED_CUT_COPPER_SLAB = Identifier.fromString("exposed_cut_copper_slab"); + public static final Identifier EXPOSED_CUT_COPPER_STAIRS = Identifier.fromString("exposed_cut_copper_stairs"); + public static final Identifier EXPOSED_DOUBLE_CUT_COPPER_SLAB = Identifier.fromString("exposed_double_cut_copper_slab"); public static final Identifier FARMLAND = Identifier.fromString("farmland"); public static final Identifier FENCE = Identifier.fromString("fence"); public static final Identifier OAK_FENCE_GATE = Identifier.fromString("fence_gate"); public static final Identifier FIRE = Identifier.fromString("fire"); public static final Identifier FLETCHING_TABLE = Identifier.fromString("fletching_table"); public static final Identifier FLOWER_POT = Identifier.fromString("flower_pot"); + public static final Identifier FLOWERING_AZALEA = Identifier.fromString("flowering_azalea"); public static final Identifier FLOWING_LAVA = Identifier.fromString("flowing_lava"); public static final Identifier FLOWING_WATER = Identifier.fromString("flowing_water"); public static final Identifier FRAME = Identifier.fromString("frame"); @@ -292,6 +344,8 @@ public final class BlockIds { public static final Identifier GILDED_BLACKSTONE = Identifier.fromString("gilded_blackstone"); public static final Identifier GLASS = Identifier.fromString("glass"); public static final Identifier GLASS_PANE = Identifier.fromString("glass_pane"); + public static final Identifier GLOW_FRAME = Identifier.fromString("glow_frame"); + public static final Identifier GLOW_LICHEN = Identifier.fromString("glow_lichen"); public static final Identifier GLOWING_OBSIDIAN = Identifier.fromString("glowingobsidian"); public static final Identifier GLOWSTONE = Identifier.fromString("glowstone"); public static final Identifier GOLDEN_RAIL = Identifier.fromString("golden_rail"); @@ -304,6 +358,7 @@ public final class BlockIds { public static final Identifier GRAY_GLAZED_TERRACOTTA = Identifier.fromString("gray_glazed_terracotta"); public static final Identifier GREEN_GLAZED_TERRACOTTA = Identifier.fromString("green_glazed_terracotta"); public static final Identifier GRINDSTONE = Identifier.fromString("grindstone"); + public static final Identifier HANGING_ROOTS = Identifier.fromString("hanging_roots"); public static final Identifier HARDENED_CLAY = Identifier.fromString("hardened_clay"); public static final Identifier HARD_GLASS = Identifier.fromString("hard_glass"); public static final Identifier HARD_GLASS_PANE = Identifier.fromString("hard_glass_pane"); @@ -315,6 +370,7 @@ public final class BlockIds { public static final Identifier HONEY_BLOCK = Identifier.fromString("honey_block"); public static final Identifier HOPPER = Identifier.fromString("hopper"); public static final Identifier ICE = Identifier.fromString("ice"); + public static final Identifier INFESTED_DEEPSLATE = Identifier.fromString("infested_deepslate"); public static final Identifier INFO_UPDATE = Identifier.fromString("info_update"); public static final Identifier INFO_UPDATE2 = Identifier.fromString("info_update2"); public static final Identifier INVISIBLE_BEDROCK = Identifier.fromString("invisiblebedrock"); @@ -338,6 +394,7 @@ public final class BlockIds { public static final Identifier LANTERN = Identifier.fromString("lantern"); public static final Identifier LAPIS_BLOCK = Identifier.fromString("lapis_block"); public static final Identifier LAPIS_ORE = Identifier.fromString("lapis_ore"); + public static final Identifier LARGE_AMETHYST_BUD = Identifier.fromString("large_amethyst_bud"); public static final Identifier LAVA = Identifier.fromString("lava"); public static final Identifier LAVA_CAULDRON = Identifier.fromString("lava_cauldron"); public static final Identifier LEAVES = Identifier.fromString("leaves"); @@ -347,8 +404,10 @@ public final class BlockIds { public static final Identifier LIGHT_BLOCK = Identifier.fromString("light_block"); public static final Identifier LIGHT_BLUE_GLAZED_TERRACOTTA = Identifier.fromString("light_blue_glazed_terracotta"); public static final Identifier LIGHT_WEIGHTED_PRESSURE_PLATE = Identifier.fromString("light_weighted_pressure_plate"); + public static final Identifier LIGHTNING_ROD = Identifier.fromString("lightning_rod"); public static final Identifier LIME_GLAZED_TERRACOTTA = Identifier.fromString("lime_glazed_terracotta"); public static final Identifier LIT_BLAST_FURNACE = Identifier.fromString("lit_blast_furnace"); + public static final Identifier LIT_DEEPSLATE_REDSTONE_ORE = Identifier.fromString("lit_deepslate_redstone_ore"); public static final Identifier LIT_FURNACE = Identifier.fromString("lit_furnace"); public static final Identifier LIT_PUMPKIN = Identifier.fromString("lit_pumpkin"); public static final Identifier LIT_REDSTONE_LAMP = Identifier.fromString("lit_redstone_lamp"); @@ -360,10 +419,13 @@ public final class BlockIds { public static final Identifier LOOM = Identifier.fromString("loom"); public static final Identifier MAGENTA_GLAZED_TERRACOTTA = Identifier.fromString("magenta_glazed_terracotta"); public static final Identifier MAGMA = Identifier.fromString("magma"); + public static final Identifier MEDIUM_AMETHYST_BUD = Identifier.fromString("medium_amethyst_bud"); public static final Identifier MELON_BLOCK = Identifier.fromString("melon_block"); public static final Identifier MELON_STEM = Identifier.fromString("melon_stem"); public static final Identifier MOB_SPAWNER = Identifier.fromString("mob_spawner"); public static final Identifier MONSTER_EGG = Identifier.fromString("monster_egg"); + public static final Identifier MOSS_BLOCK = Identifier.fromString("moss_block"); + public static final Identifier MOSS_CARPET = Identifier.fromString("moss_carpet"); public static final Identifier MOSSY_COBBLESTONE = Identifier.fromString("mossy_cobblestone"); public static final Identifier MOSSY_COBBLESTONE_STAIRS = Identifier.fromString("mossy_cobblestone_stairs"); public static final Identifier MOSSY_STONE_BRICK_STAIRS = Identifier.fromString("mossy_stone_brick_stairs"); @@ -388,12 +450,18 @@ public final class BlockIds { public static final Identifier OBSERVER = Identifier.fromString("observer"); public static final Identifier OBSIDIAN = Identifier.fromString("obsidian"); public static final Identifier ORANGE_GLAZED_TERRACOTTA = Identifier.fromString("orange_glazed_terracotta"); + public static final Identifier OXIDIZED_COPPER = Identifier.fromString("oxidized_copper"); + public static final Identifier OXIDIZED_CUT_COPPER = Identifier.fromString("oxidized_cut_copper"); + public static final Identifier OXIDIZED_CUT_COPPER_SLAB = Identifier.fromString("oxidized_cut_copper_slab"); + public static final Identifier OXIDIZED_CUT_COPPER_STAIRS = Identifier.fromString("oxidized_cut_copper_stairs"); + public static final Identifier OXIDIZED_DOUBLE_CUT_COPPER_SLAB = Identifier.fromString("oxidized_double_cut_copper_slab"); public static final Identifier PACKED_ICE = Identifier.fromString("packed_ice"); public static final Identifier PINK_GLAZED_TERRACOTTA = Identifier.fromString("pink_glazed_terracotta"); public static final Identifier PISTON = Identifier.fromString("piston"); public static final Identifier PISTON_ARM_COLLISION = Identifier.fromString("pistonarmcollision"); public static final Identifier PLANKS = Identifier.fromString("planks"); public static final Identifier PODZOL = Identifier.fromString("podzol"); + public static final Identifier POINTED_DRIPSTONE = Identifier.fromString("pointed_dripstone"); public static final Identifier POLISHED_ANDESITE_STAIRS = Identifier.fromString("polished_andesite_stairs"); public static final Identifier POLISHED_BASALT = Identifier.fromString("polished_basalt"); public static final Identifier POLISHED_BLACKSTONE = Identifier.fromString("polished_blackstone"); @@ -408,10 +476,16 @@ public final class BlockIds { public static final Identifier POLISHED_BLACKSTONE_SLAB = Identifier.fromString("polished_blackstone_slab"); public static final Identifier POLISHED_BLACKSTONE_STAIRS = Identifier.fromString("polished_blackstone_stairs"); public static final Identifier POLISHED_BLACKSTONE_WALL = Identifier.fromString("polished_blackstone_wall"); + public static final Identifier POLISHED_DEEPSLATE = Identifier.fromString("polished_deepslate"); + public static final Identifier POLISHED_DEEPSLATE_DOUBLE_SLAB = Identifier.fromString("polished_deepslate_double_slab"); + public static final Identifier POLISHED_DEEPSLATE_SLAB = Identifier.fromString("polished_deepslate_slab"); + public static final Identifier POLISHED_DEEPSLATE_STAIRS = Identifier.fromString("polished_deepslate_stairs"); + public static final Identifier POLISHED_DEEPSLATE_WALL = Identifier.fromString("polished_deepslate_wall"); public static final Identifier POLISHED_DIORITE_STAIRS = Identifier.fromString("polished_diorite_stairs"); public static final Identifier POLISHED_GRANITE_STAIRS = Identifier.fromString("polished_granite_stairs"); public static final Identifier PORTAL = Identifier.fromString("portal"); public static final Identifier POTATOES = Identifier.fromString("potatoes"); + public static final Identifier POWDER_SNOW = Identifier.fromString("powder_snow"); public static final Identifier POWERED_COMPARATOR = Identifier.fromString("powered_comparator"); public static final Identifier POWERED_REPEATER = Identifier.fromString("powered_repeater"); public static final Identifier PRISMARINE = Identifier.fromString("prismarine"); @@ -427,6 +501,9 @@ public final class BlockIds { public static final Identifier QUARTZ_ORE = Identifier.fromString("quartz_ore"); public static final Identifier QUARTZ_STAIRS = Identifier.fromString("quartz_stairs"); public static final Identifier RAIL = Identifier.fromString("rail"); + public static final Identifier RAW_COPPER_BLOCK = Identifier.fromString("raw_copper_block"); + public static final Identifier RAW_GOLD_BLOCK = Identifier.fromString("raw_gold_block"); + public static final Identifier RAW_IRON_BLOCK = Identifier.fromString("raw_iron_block"); public static final Identifier REDSTONE_BLOCK = Identifier.fromString("redstone_block"); public static final Identifier REDSTONE_LAMP = Identifier.fromString("redstone_lamp"); public static final Identifier REDSTONE_ORE = Identifier.fromString("redstone_ore"); @@ -449,6 +526,7 @@ public final class BlockIds { public static final Identifier SANDSTONE_STAIRS = Identifier.fromString("sandstone_stairs"); public static final Identifier SAPLING = Identifier.fromString("sapling"); public static final Identifier SCAFFOLDING = Identifier.fromString("scaffolding"); + public static final Identifier SCULK_SENSOR = Identifier.fromString("sculk_sensor"); public static final Identifier SEAGRASS = Identifier.fromString("seagrass"); public static final Identifier SEA_LANTERN = Identifier.fromString("sealantern"); public static final Identifier SEA_PICKLE = Identifier.fromString("sea_pickle"); @@ -457,8 +535,11 @@ public final class BlockIds { public static final Identifier SILVER_GLAZED_TERRACOTTA = Identifier.fromString("silver_glazed_terracotta"); public static final Identifier SKULL = Identifier.fromString("skull"); public static final Identifier SLIME = Identifier.fromString("slime"); + public static final Identifier SMALL_AMETHYST_BUD = Identifier.fromString("small_amethyst_bud"); + public static final Identifier SMALL_DRIPLEAF_BLOCK = Identifier.fromString("small_dripleaf_block"); public static final Identifier SMITHING_TABLE = Identifier.fromString("smithing_table"); public static final Identifier SMOKER = Identifier.fromString("smoker"); + public static final Identifier SMOOTH_BASALT = Identifier.fromString("smooth_basalt"); public static final Identifier SMOOTH_QUARTZ_STAIRS = Identifier.fromString("smooth_quartz_stairs"); public static final Identifier SMOOTH_RED_SANDSTONE_STAIRS = Identifier.fromString("smooth_red_sandstone_stairs"); public static final Identifier SMOOTH_SANDSTONE_STAIRS = Identifier.fromString("smooth_sandstone_stairs"); @@ -472,6 +553,7 @@ public final class BlockIds { public static final Identifier SOUL_SOIL = Identifier.fromString("soul_soil"); public static final Identifier SOUL_TORCH = Identifier.fromString("soul_torch"); public static final Identifier SPONGE = Identifier.fromString("sponge"); + public static final Identifier SPORE_BLOSSOM = Identifier.fromString("spore_blossom"); public static final Identifier SPRUCE_BUTTON = Identifier.fromString("spruce_button"); public static final Identifier SPRUCE_DOOR = Identifier.fromString("spruce_door"); public static final Identifier SPRUCE_FENCE_GATE = Identifier.fromString("spruce_fence_gate"); @@ -514,8 +596,10 @@ public final class BlockIds { public static final Identifier SWEET_BERRY_BUSH = Identifier.fromString("sweet_berry_bush"); public static final Identifier TALL_GRASS = Identifier.fromString("tallgrass"); public static final Identifier TARGET = Identifier.fromString("target"); + public static final Identifier TINTED_GLASS = Identifier.fromString("tinted_glass"); public static final Identifier TNT = Identifier.fromString("tnt"); public static final Identifier TORCH = Identifier.fromString("torch"); + public static final Identifier TUFF = Identifier.fromString("tuff"); public static final Identifier OAK_TRAPDOOR = Identifier.fromString("trapdoor"); public static final Identifier TRAPPED_CHEST = Identifier.fromString("trapped_chest"); public static final Identifier TRIPWIRE = Identifier.fromString("tripwire"); @@ -551,6 +635,31 @@ public final class BlockIds { public static final Identifier WARPED_WART_BLOCK = Identifier.fromString("warped_wart_block"); public static final Identifier WATER = Identifier.fromString("water"); public static final Identifier WATERLILY = Identifier.fromString("waterlily"); + public static final Identifier WAXED_COPPER = Identifier.fromString("waxed_copper"); + public static final Identifier WAXED_CUT_COPPER = Identifier.fromString("waxed_cut_copper"); + public static final Identifier WAXED_CUT_COPPER_SLAB = Identifier.fromString("waxed_cut_copper_slab"); + public static final Identifier WAXED_CUT_COPPER_STAIRS = Identifier.fromString("waxed_cut_copper_stairs"); + public static final Identifier WAXED_DOUBLE_CUT_COPPER_SLAB = Identifier.fromString("waxed_double_cut_copper_slab"); + public static final Identifier WAXED_EXPOSED_COPPER = Identifier.fromString("waxed_exposed_copper"); + public static final Identifier WAXED_EXPOSED_CUT_COPPER = Identifier.fromString("waxed_exposed_cut_copper"); + public static final Identifier WAXED_EXPOSED_CUT_COPPER_SLAB = Identifier.fromString("waxed_exposed_cut_copper_slab"); + public static final Identifier WAXED_EXPOSED_CUT_COPPER_STAIRS = Identifier.fromString("waxed_exposed_cut_copper_stairs"); + public static final Identifier WAXED_EXPOSED_DOUBLE_CUT_COPPER_SLAB = Identifier.fromString("waxed_exposed_double_cut_copper_slab"); + public static final Identifier WAXED_OXIDIZED_COPPER = Identifier.fromString("waxed_oxidized_copper"); + public static final Identifier WAXED_OXIDIZED_CUT_COPPER = Identifier.fromString("waxed_oxidized_cut_copper"); + public static final Identifier WAXED_OXIDIZED_CUT_COPPER_SLAB = Identifier.fromString("waxed_oxidized_cut_copper_slab"); + public static final Identifier WAXED_OXIDIZED_CUT_COPPER_STAIRS = Identifier.fromString("waxed_oxidized_cut_copper_stairs"); + public static final Identifier WAXED_OXIDIZED_DOUBLE_CUT_COPPER_SLAB = Identifier.fromString("waxed_oxidized_double_cut_copper_slab"); + public static final Identifier WAXED_WEATHERED_COPPER = Identifier.fromString("waxed_weathered_copper"); + public static final Identifier WAXED_WEATHERED_CUT_COPPER = Identifier.fromString("waxed_weathered_cut_copper"); + public static final Identifier WAXED_WEATHERED_CUT_COPPER_SLAB = Identifier.fromString("waxed_weathered_cut_copper_slab"); + public static final Identifier WAXED_WEATHERED_CUT_COPPER_STAIRS = Identifier.fromString("waxed_weathered_cut_copper_stairs"); + public static final Identifier WAXED_WEATHERED_DOUBLE_CUT_COPPER_SLAB = Identifier.fromString("waxed_weathered_double_cut_copper_slab"); + public static final Identifier WEATHERED_COPPER = Identifier.fromString("weathered_copper"); + public static final Identifier WEATHERED_CUT_COPPER = Identifier.fromString("weathered_cut_copper"); + public static final Identifier WEATHERED_CUT_COPPER_SLAB = Identifier.fromString("weathered_cut_copper_slab"); + public static final Identifier WEATHERED_CUT_COPPER_STAIRS = Identifier.fromString("weathered_cut_copper_stairs"); + public static final Identifier WEATHERED_DOUBLE_CUT_COPPER_SLAB = Identifier.fromString("weathered_double_cut_copper_slab"); public static final Identifier WEB = Identifier.fromString("web"); public static final Identifier WEEPING_VINES = Identifier.fromString("weeping_vines"); public static final Identifier WHEAT = Identifier.fromString("wheat"); diff --git a/src/main/java/org/cloudburstmc/api/block/BlockTraits.java b/src/main/java/org/cloudburstmc/api/block/BlockTraits.java index 680e24a2b..cf69ba3c8 100644 --- a/src/main/java/org/cloudburstmc/api/block/BlockTraits.java +++ b/src/main/java/org/cloudburstmc/api/block/BlockTraits.java @@ -21,14 +21,18 @@ public class BlockTraits { public static final EnumBlockTrait BAMBOO_STALK_THICKNESS = EnumBlockTrait.of("bamboo_stalk_thickness", BambooStalkThickness.class); public static final IntegerBlockTrait BITE_COUNTER = IntegerBlockTrait.from("bite_counter", 7); public static final EnumBlockTrait CAULDRON_TYPE = EnumBlockTrait.of("cauldron_type", Bucket.class, Bucket.WATER, Bucket.LAVA); + public static final IntegerBlockTrait CAVE_VINE_AGE = IntegerBlockTrait.from("growing_plant_age", 26); + public static final EnumBlockTrait CAVE_VINE_TYPE = EnumBlockTrait.of("cave_vine_type", CaveVineType.class); public static final IntegerBlockTrait CHORUS_AGE = IntegerBlockTrait.from("chorus_age", "age", 0, 5, 0); public static final IntegerBlockTrait COCOA_AGE = IntegerBlockTrait.from("cocoa_age", "age", 0, 2, 0); public static final IntegerBlockTrait CORAL_FAN_DIRECTION = IntegerBlockTrait.from("coral_fan_direction", 2); public static final EnumBlockTrait CHEMISTRY_TABLE_TYPE = EnumBlockTrait.of("chemistry_table_type", ChemistryTableType.class); public static final EnumBlockTrait CHISEL_TYPE = EnumBlockTrait.of("chisel_type", ChiselType.class); public static final IntegerBlockTrait CLUSTER_COUNT = IntegerBlockTrait.from("cluster_count", 4); + public static final EnumBlockTrait CLUSTER_SIZE = EnumBlockTrait.of("cluster_size", ClusterSize.class, ClusterSize.SMALL); public static final EnumBlockTrait COLOR = EnumBlockTrait.of("color", DyeColor.class); public static final IntegerBlockTrait COMPOSTER_FILL_LEVEL = IntegerBlockTrait.from("composter_fill_level", 9); + public static final EnumBlockTrait COPPER_TYPE = EnumBlockTrait.of("copper_type", CopperType.class, CopperType.RAW); public static final EnumBlockTrait CORAL_COLOR = EnumBlockTrait.of("coral_color", DyeColor.class, DyeColor.BLUE, DyeColor.PINK, DyeColor.PURPLE, DyeColor.RED, DyeColor.YELLOW); public static final EnumBlockTrait CORAL_HANG_COLOR = EnumBlockTrait.of("coral_color", "coral_hang_type_bit", DyeColor.class, @@ -38,6 +42,9 @@ public class BlockTraits { public static final EnumBlockTrait DAMAGE = EnumBlockTrait.of("damage", AnvilDamage.class, AnvilDamage.UNDAMAGED); public static final EnumBlockTrait DIRT_TYPE = EnumBlockTrait.of("dirt_type", DirtType.class); public static final EnumBlockTrait DOUBLE_PLANT_TYPE = EnumBlockTrait.of("double_plant_type", DoublePlantType.class); + public static final BooleanBlockTrait DRIPLEAF_HEAD = BooleanBlockTrait.of("dripleaf_head", "big_dripleaf_head"); + public static final EnumBlockTrait DRIPLEAF_TILT = EnumBlockTrait.of("dripleaf_tilt", "big_dripleaf_tilt", DripleafTilt.class); + public static final EnumBlockTrait DRIPSTONE_THICKNESS = EnumBlockTrait.of("dripstone_thickness", DripstoneThickness.class); public static final BooleanBlockTrait HAS_DRAG_DOWN = BooleanBlockTrait.of("drag_down"); public static final EnumBlockTrait ELEMENT_TYPE = EnumBlockTrait.of("element_type", ElementType.class); public static final BooleanBlockTrait EXPLODE = BooleanBlockTrait.of("explode", "explode_bit"); @@ -87,7 +94,7 @@ public class BlockTraits { public static final EnumBlockTrait WALL_CONNECTION_SOUTH = EnumBlockTrait.of("wall_connection_south", "wall_connection_type_south", WallConnectionType.class); public static final EnumBlockTrait WALL_CONNECTION_WEST = EnumBlockTrait.of("wall_connection_west", "wall_connection_type_west", WallConnectionType.class); public static final IntegerBlockTrait WEEPING_VINES_AGE = IntegerBlockTrait.from("weeping_vines_age", 26); - + public static final IntegerBlockTrait MULTI_FACE_DIRECTION = IntegerBlockTrait.from("multi_face_direction", "multi_face_direction_bits", 0, 63, 0); public static final EnumBlockTrait AXIS = EnumBlockTrait.of("axis", "pillar_axis", Direction.Axis.class, ImmutableSet.copyOf(Direction.Axis.values()), Direction.Axis.Y); public static final EnumBlockTrait PORTAL_AXIS = EnumBlockTrait.of("portal_axis", Direction.Axis.class, Direction.Axis.Y, //TODO: this was null @@ -111,10 +118,13 @@ public class BlockTraits { public static final BooleanBlockTrait IS_DISARMED = BooleanBlockTrait.of("is_disarmed", "disarmed_bit"); public static final BooleanBlockTrait IS_DOOR_HINGE = BooleanBlockTrait.of("is_door_hinge", "door_hinge_bit", true); public static final BooleanBlockTrait IS_EXTINGUISHED = BooleanBlockTrait.of("is_extinguished", "extinguished"); + public static final BooleanBlockTrait IS_FLOWERED = BooleanBlockTrait.of("is_flowered"); public static final BooleanBlockTrait IS_FLOWING = BooleanBlockTrait.of("is_flowing"); + public static final BooleanBlockTrait IS_GLOWING = BooleanBlockTrait.of("is_glowing"); public static final BooleanBlockTrait IS_HANGING = BooleanBlockTrait.of("is_hanging", "hanging"); public static final BooleanBlockTrait IS_HEAD_PIECE = BooleanBlockTrait.of("is_head_piece", "head_piece_bit"); public static final BooleanBlockTrait IS_IN_WALL = BooleanBlockTrait.of("is_in_wall", "in_wall_bit"); + public static final BooleanBlockTrait IS_INFESTED = BooleanBlockTrait.of("is_infested"); public static final BooleanBlockTrait IS_OCCUPIED = BooleanBlockTrait.of("is_occupied", "occupied_bit"); public static final BooleanBlockTrait IS_OPEN = BooleanBlockTrait.of("is_open", "open_bit"); public static final BooleanBlockTrait IS_OUTPUT_LIT = BooleanBlockTrait.of("is_output_lit", "output_lit_bit"); diff --git a/src/main/java/org/cloudburstmc/api/block/BlockType.java b/src/main/java/org/cloudburstmc/api/block/BlockType.java index 92bbf5a2c..69af5214b 100644 --- a/src/main/java/org/cloudburstmc/api/block/BlockType.java +++ b/src/main/java/org/cloudburstmc/api/block/BlockType.java @@ -137,11 +137,12 @@ public boolean isBlock() { @Override public boolean isPlaceable() { - return false; + return true; } + //TODO - move a lot of this to block/item behavior classes? public boolean blocksMotion() { - return true; + return this != BlockTypes.AIR; } public boolean blocksWater() { @@ -199,7 +200,7 @@ public float getResistance() { @Nullable @Override public BlockType getBlock() { - return null; + return this; } @Nullable diff --git a/src/main/java/org/cloudburstmc/api/block/BlockTypes.java b/src/main/java/org/cloudburstmc/api/block/BlockTypes.java index 18b6a9521..ed72f0974 100644 --- a/src/main/java/org/cloudburstmc/api/block/BlockTypes.java +++ b/src/main/java/org/cloudburstmc/api/block/BlockTypes.java @@ -171,7 +171,7 @@ public class BlockTypes { public static final BlockType HARD_STAINED_GLASS_PANE = BlockType.of(Identifiers.HARD_STAINED_GLASS_PANE, BlockTraits.COLOR); public static final BlockType CHEMICAL_HEAT = BlockType.of(Identifiers.CHEMICAL_HEAT); public static final BlockType GRASS_PATH = BlockType.of(Identifiers.GRASS_PATH); - public static final BlockType FRAME = BlockType.of(Identifiers.FRAME, BlockTraits.FACING_DIRECTION, BlockTraits.HAS_MAP); + public static final BlockType FRAME = BlockType.of(Identifiers.FRAME, BlockTraits.IS_GLOWING, BlockTraits.FACING_DIRECTION, BlockTraits.HAS_MAP); public static final BlockType CHORUS_FLOWER = BlockType.of(Identifiers.CHORUS_FLOWER, BlockTraits.CHORUS_AGE); public static final BlockType PURPUR_BLOCK = BlockType.of(Identifiers.PURPUR_BLOCK, BlockTraits.CHISEL_TYPE, BlockTraits.AXIS); public static final BlockType COLORED_TORCH_RG = BlockType.of(Identifiers.COLORED_TORCH_RG, BlockTraits.HAS_COLOR, BlockTraits.TORCH_DIRECTION); @@ -278,6 +278,55 @@ public class BlockTypes { public static final BlockType CRYING_OBSIDIAN = BlockType.of(Identifiers.CRYING_OBSIDIAN); public static final BlockType POLISHED_BLACKSTONE = BlockType.of(Identifiers.POLISHED_BLACKSTONE); public static final BlockType QUARTZ_BRICKS = BlockType.of(Identifiers.QUARTZ_BRICKS); + /* 1.17 Blocks */ + public static final BlockType POWDER_SNOW = BlockType.of(BlockIds.POWDER_SNOW); + public static final BlockType SCULK_SENSOR = BlockType.of(BlockIds.SCULK_SENSOR, BlockTraits.IS_POWERED); + public static final BlockType POINTED_DRIPSTONE = BlockType.of(BlockIds.POINTED_DRIPSTONE, BlockTraits.DRIPSTONE_THICKNESS, BlockTraits.IS_HANGING); + public static final BlockType COPPER_ORE = BlockType.of(BlockIds.COPPER_ORE); + public static final BlockType LIGHTNING_ROD = BlockType.of(BlockIds.LIGHTNING_ROD, BlockTraits.FACING_DIRECTION); + public static final BlockType DRIPSTONE_BLOCK = BlockType.of(BlockIds.DRIPSTONE_BLOCK); + public static final BlockType DIRT_WITH_ROOTS = BlockType.of(BlockIds.DIRT_WITH_ROOTS); + public static final BlockType HANGING_ROOTS = BlockType.of(BlockIds.HANGING_ROOTS); + public static final BlockType MOSS_BLOCK = BlockType.of(BlockIds.MOSS_BLOCK); + public static final BlockType SPORE_BLOSSOM = BlockType.of(BlockIds.SPORE_BLOSSOM); + public static final BlockType BIG_DRIPLEAF = BlockType.of(BlockIds.BIG_DRIPLEAF, BlockTraits.DRIPLEAF_HEAD, BlockTraits.DRIPLEAF_TILT, BlockTraits.DIRECTION); + public static final BlockType AZALEA_LEAVES = BlockType.of(BlockIds.AZALEA_LEAVES, BlockTraits.IS_FLOWERED, BlockTraits.IS_PERSISTENT, BlockTraits.HAS_UPDATE); + public static final BlockType CALCITE = BlockType.of(BlockIds.CALCITE); + public static final BlockType AMETHYST_BLOCK = BlockType.of(BlockIds.AMETHYST_BLOCK); + public static final BlockType BUDDING_AMETHYST = BlockType.of(BlockIds.BUDDING_AMETHYST); + public static final BlockType AMETHYST_CLUSTER = BlockType.of(BlockIds.AMETHYST_CLUSTER, BlockTraits.CLUSTER_SIZE, BlockTraits.FACING_DIRECTION); + public static final BlockType TUFF = BlockType.of(BlockIds.TUFF); + public static final BlockType TINTED_GLASS = BlockType.of(BlockIds.TINTED_GLASS); + public static final BlockType MOSS_CARPET = BlockType.of(BlockIds.MOSS_CARPET); + public static final BlockType SMALL_DRIPLEAF = BlockType.of(BlockIds.SMALL_DRIPLEAF_BLOCK, BlockTraits.DIRECTION, BlockTraits.IS_UPPER_BLOCK); + public static final BlockType AZALEA = BlockType.of(BlockIds.AZALEA, BlockTraits.IS_FLOWERED); + public static final BlockType COPPER = BlockType.of(BlockIds.COPPER_BLOCK, BlockTraits.COPPER_TYPE); + public static final BlockType CUT_COPPER = BlockType.of(BlockIds.CUT_COPPER, BlockTraits.COPPER_TYPE); + public static final BlockType COPPER_STAIRS = BlockType.of(BlockIds.CUT_COPPER_STAIRS, BlockTraits.COPPER_TYPE, BlockTraits.IS_UPSIDE_DOWN, BlockTraits.DIRECTION); + public static final BlockType COPPER_SLAB = BlockType.of(BlockIds.CUT_COPPER_SLAB, BlockTraits.COPPER_TYPE, BlockTraits.SLAB_SLOT); + public static final BlockType CAVE_VINES = BlockType.of(BlockIds.CAVE_VINES, BlockTraits.CAVE_VINE_TYPE, BlockTraits.CAVE_VINE_AGE); + public static final BlockType SMOOTH_BASALT = BlockType.of(BlockIds.SMOOTH_BASALT); + public static final BlockType DEEPSLATE = BlockType.of(BlockIds.DEEPSLATE, BlockTraits.IS_INFESTED, BlockTraits.AXIS); + public static final BlockType COBBLED_DEEPSLATE = BlockType.of(BlockIds.COBBLED_DEEPSLATE); + public static final BlockType POLISHED_DEEPSLATE = BlockType.of(BlockIds.POLISHED_DEEPSLATE); + public static final BlockType DEEPSLATE_TILES = BlockType.of(BlockIds.DEEPSLATE_TILES); + public static final BlockType DEEPSLATE_BRICKS = BlockType.of(BlockIds.DEEPSLATE_BRICKS); + public static final BlockType CHISELED_DEEPSLATE = BlockType.of(BlockIds.CHISELED_DEEPSLATE); + public static final BlockType DEEPSLATE_LAPIS_ORE = BlockType.of(BlockIds.DEEPSLATE_LAPIS_ORE); + public static final BlockType DEEPSLATE_IRON_ORE = BlockType.of(BlockIds.DEEPSLATE_IRON_ORE); + public static final BlockType DEEPSLATE_GOLD_ORE = BlockType.of(BlockIds.DEEPSLATE_GOLD_ORE); + public static final BlockType DEEPSLATE_REDSTONE_ORE = BlockType.of(BlockIds.DEEPSLATE_REDSTONE_ORE, BlockTraits.IS_EXTINGUISHED); + public static final BlockType DEEPSLATE_DIAMOND_ORE = BlockType.of(BlockIds.DEEPSLATE_DIAMOND_ORE); + public static final BlockType DEEPSLATE_COAL_ORE = BlockType.of(BlockIds.DEEPSLATE_COAL_ORE); + public static final BlockType DEEPSLATE_EMERALD_ORE = BlockType.of(BlockIds.DEEPSLATE_EMERALD_ORE); + public static final BlockType DEEPSLATE_COPPER_ORE = BlockType.of(BlockIds.DEEPSLATE_COPPER_ORE); + public static final BlockType CRACKED_DEEPSLATE_TILES = BlockType.of(BlockIds.CRACKED_DEEPSLATE_TILES); + public static final BlockType CRACKED_DEEPSLATE_BRICKS = BlockType.of(BlockIds.CRACKED_DEEPSLATE_BRICKS); + public static final BlockType GLOW_LICHEN = BlockType.of(BlockIds.GLOW_LICHEN, BlockTraits.MULTI_FACE_DIRECTION); + + public static final BlockType RAW_COPPER_BLOCK = BlockType.of(BlockIds.RAW_COPPER_BLOCK); + public static final BlockType RAW_IRON_BLOCK = BlockType.of(BlockIds.RAW_IRON_BLOCK); + public static final BlockType RAW_GOLD_BLOCK = BlockType.of(BlockIds.RAW_GOLD_BLOCK); public static final BlockType UNKNOWN = BlockType.of(Identifiers.UNKNOWN); } diff --git a/src/main/java/org/cloudburstmc/api/crafting/CraftingRecipe.java b/src/main/java/org/cloudburstmc/api/crafting/CraftingRecipe.java new file mode 100644 index 000000000..239afd091 --- /dev/null +++ b/src/main/java/org/cloudburstmc/api/crafting/CraftingRecipe.java @@ -0,0 +1,29 @@ +package org.cloudburstmc.api.crafting; + +import org.cloudburstmc.api.item.ItemStack; + +import java.util.List; + +/** + * @author CreeperFace + */ +public interface CraftingRecipe extends Recipe { + + boolean requiresCraftingTable(); + + List getExtraResults(); + + List getAllResults(); + + int getPriority(); + + /** + * Returns whether the specified list of crafting grid inputs and outputs matches this recipe. Outputs DO NOT + * include the primary result item. + * + * @param input 2D array of items taken from the crafting grid + * @param output 2D array of items put back into the crafting grid (secondary results) + * @return bool + */ + boolean matchItems(ItemStack[][] input, ItemStack[][] output); +} diff --git a/src/main/java/org/cloudburstmc/api/crafting/MixRecipe.java b/src/main/java/org/cloudburstmc/api/crafting/MixRecipe.java new file mode 100644 index 000000000..38360bb0f --- /dev/null +++ b/src/main/java/org/cloudburstmc/api/crafting/MixRecipe.java @@ -0,0 +1,48 @@ +package org.cloudburstmc.api.crafting; + +import lombok.ToString; +import org.cloudburstmc.api.item.ItemStack; +import org.cloudburstmc.api.util.Identifier; + +@ToString +public abstract class MixRecipe implements Recipe { + + private final ItemStack input; + private final ItemStack ingredient; + private final ItemStack output; + private final Identifier recipeId; + + public MixRecipe(Identifier id, ItemStack input, ItemStack ingredient, ItemStack output) { + this.recipeId = id; + this.input = input; + this.ingredient = ingredient; + this.output = output; + } + + @Override + public Identifier getId() { + return this.recipeId; + } + + public ItemStack getIngredient() { + return ingredient; + } + + public ItemStack getInput() { + return input; + } + + public ItemStack getResult() { + return output; + } + + @Override + public RecipeType getType() { + throw new UnsupportedOperationException(); + } + + @Override + public Identifier getBlock() { + throw new UnsupportedOperationException(); + } +} \ No newline at end of file diff --git a/src/main/java/org/cloudburstmc/api/item/ItemIds.java b/src/main/java/org/cloudburstmc/api/item/ItemIds.java index 582f6e496..5e8cdd244 100644 --- a/src/main/java/org/cloudburstmc/api/item/ItemIds.java +++ b/src/main/java/org/cloudburstmc/api/item/ItemIds.java @@ -271,7 +271,7 @@ public final class ItemIds { public static final Identifier RABBIT_HIDE = Identifier.fromString("rabbit_hide"); public static final Identifier HORSE_ARMOR_LEATHER = Identifier.fromString("leather_horse_armor"); public static final Identifier HORSE_ARMOR_IRON = Identifier.fromString("iron_horse_armor"); - public static final Identifier HORSE_ARMOR_GOLD = Identifier.fromString("gold_horse_armor"); + public static final Identifier HORSE_ARMOR_GOLD = Identifier.fromString("golden_horse_armor"); public static final Identifier HORSE_ARMOR_DIAMOND = Identifier.fromString("diamond_horse_armor"); public static final Identifier LEAD = Identifier.fromString("lead"); public static final Identifier NAME_TAG = Identifier.fromString("name_tag"); @@ -332,7 +332,7 @@ public final class ItemIds { public static final Identifier BIRCH_SIGN = Identifier.fromString("birch_sign"); public static final Identifier JUNGLE_SIGN = Identifier.fromString("jungle_sign"); public static final Identifier ACACIA_SIGN = Identifier.fromString("acacia_sign"); - public static final Identifier DARK_OAK_SIGN = Identifier.fromString("darkoak_sign"); + public static final Identifier DARK_OAK_SIGN = Identifier.fromString("dark_oak_sign"); public static final Identifier SWEET_BERRIES = Identifier.fromString("sweet_berries"); public static final Identifier CAMERA = Identifier.fromString("camera"); public static final Identifier COMPOUND = Identifier.fromString("compound"); @@ -378,4 +378,20 @@ public final class ItemIds { public static final Identifier PORTFOLIO = Identifier.fromString("portfolio"); public static final Identifier CONCRETE_POWDER = Identifier.fromString("concrete_powder"); + + public static final Identifier AMETHYST_SHARD = Identifier.fromString("minecraft:amethyst_shard"); + public static final Identifier AXOLOTL_BUCKET = Identifier.fromString("minecraft:axolotl_bucket"); + public static final Identifier AXOLOTL_SPAWN_EGG = Identifier.fromString("minecraft:axolotl_spawn_egg"); + public static final Identifier GLOW_BERRIES = Identifier.fromString("minecraft:glow_berries"); + public static final Identifier GLOW_INK_SAC = Identifier.fromString("minecraft:glow_ink_sac"); + public static final Identifier GLOW_SQUID_SPAWN_EGG = Identifier.fromString("minecraft:glow_squid_spawn_egg"); + public static final Identifier GOAT_HORN = Identifier.fromString("minecraft:goat_horn"); + public static final Identifier GOAT_SPAWN_EGG = Identifier.fromString("minecraft:goat_spawn_egg"); + public static final Identifier GLOW_FRAME = Identifier.fromString("minecraft:item.glow_frame"); + public static final Identifier POWDER_SNOW_BUCKET = Identifier.fromString("minecraft:powder_snow_bucket"); + public static final Identifier RAW_COPPER = Identifier.fromString("minecraft:raw_copper"); + public static final Identifier RAW_GOLD = Identifier.fromString("minecraft:raw_gold"); + public static final Identifier RAW_IRON = Identifier.fromString("minecraft:raw_iron"); + public static final Identifier COPPER_INGOT = Identifier.fromString("minecraft:copper_ingot"); + public static final Identifier SPYGLASS = Identifier.fromString("minecraft:spyglass"); } diff --git a/src/main/java/org/cloudburstmc/api/item/ItemStack.java b/src/main/java/org/cloudburstmc/api/item/ItemStack.java index 0e2c443af..80d7b986d 100644 --- a/src/main/java/org/cloudburstmc/api/item/ItemStack.java +++ b/src/main/java/org/cloudburstmc/api/item/ItemStack.java @@ -71,6 +71,8 @@ default T getMetadata(Class metadataClass) { T getMetadata(Class metadataClass, T defaultValue); + boolean hasMetadata(Class metadataClass); + boolean hasTag(); ItemStackBuilder toBuilder(); diff --git a/src/main/java/org/cloudburstmc/api/item/ItemTypes.java b/src/main/java/org/cloudburstmc/api/item/ItemTypes.java index 409207087..7d26efaac 100644 --- a/src/main/java/org/cloudburstmc/api/item/ItemTypes.java +++ b/src/main/java/org/cloudburstmc/api/item/ItemTypes.java @@ -222,12 +222,19 @@ public class ItemTypes { public static final ItemType CROSSBOW = IntItem.builder().id(ItemIds.CROSSBOW).maxStackSize(1).build(); public static final ItemType SWEET_BERRIES = IntItem.builder().id(ItemIds.SWEET_BERRIES).maxStackSize(64).build(); public static final ItemType CAMERA = IntItem.builder().id(ItemIds.CAMERA).maxStackSize(64).build(); - public static final ItemType RECORD = IntItem.builder().id(ItemIds.RECORD_13).maxStackSize(1).build(); //TODO: record types + public static final ItemType RECORD = IntItem.builder().id(ItemIds.RECORD_13).maxStackSize(1).build(); + + public static final ItemType SUSPICIOUS_STEW = IntItem.builder().id(ItemIds.SUSPICIOUS_STEW).build(); + public static final ItemType LODESTONE_COMPASS = IntItem.builder().id(ItemIds.LODESTONE_COMPASS).build(); + public static final ItemType WARPED_FUNGUS_ON_A_STICK = IntItem.builder().id(ItemIds.WARPED_FUNGUS_ON_STICK).build(); + public static final ItemType SHIELD = IntItem.builder().id(ItemIds.SHIELD).maxStackSize(1).data(Damageable.class).build(); public static final ItemType CAMPFIRE = IntItem.builder().id(ItemIds.CAMPFIRE).maxStackSize(1).blockType(BlockTypes.CAMPFIRE).build(); public static final ItemType HONEYCOMB = IntItem.builder().id(ItemIds.HONEYCOMB).maxStackSize(64).build(); public static final ItemType HONEY_BOTTLE = IntItem.builder().id(ItemIds.HONEY_BOTTLE).maxStackSize(16).build(); + public static final ItemType NETHERITE_INGOT = IntItem.builder().id(ItemIds.NETHERITE_INGOT).maxStackSize(64).build(); + public static final ItemType NETHERITE_SCRAP = IntItem.builder().id(ItemIds.NETHERITE_SCRAP).build(); public static final ItemType NETHERITE_SWORD = IntItem.builder().id(ItemIds.NETHERITE_SWORD).maxStackSize(1).data(Damageable.class).toolType(SWORD).tierType(NETHERITE).attackDamage(9).build(); public static final ItemType NETHERITE_SHOVEL = IntItem.builder().id(ItemIds.NETHERITE_SHOVEL).maxStackSize(1).data(Damageable.class).toolType(SHOVEL).tierType(NETHERITE).attackDamage(6).build(); public static final ItemType NETHERITE_PICKAXE = IntItem.builder().id(ItemIds.NETHERITE_PICKAXE).maxStackSize(1).data(Damageable.class).toolType(PICKAXE).tierType(NETHERITE).attackDamage(6).build(); @@ -240,6 +247,17 @@ public class ItemTypes { public static final ItemType CONCRETE_POWDER = IntItem.builder().id(ItemIds.CONCRETE_POWDER).maxStackSize(64).data(DyeColor.class).blockType(BlockTypes.CONCRETE_POWDER).build(); public static final ItemType UNKNOWN = IntItem.builder().id(Identifiers.UNKNOWN).build(); + public static final ItemType AMETHYST_SHARD = IntItem.builder().id(ItemIds.AMETHYST_SHARD).build(); + public static final ItemType GLOW_BERRIES = IntItem.builder().id(ItemIds.GLOW_BERRIES).build(); + public static final ItemType GLOW_INK_SAC = IntItem.builder().id(ItemIds.GLOW_INK_SAC).build(); + public static final ItemType GOAT_HORN = IntItem.builder().id(ItemIds.GOAT_HORN).build(); + public static final ItemType GLOW_FRAME = IntItem.builder().id(ItemIds.GLOW_FRAME).build(); + public static final ItemType RAW_COPPER = IntItem.builder().id(ItemIds.RAW_COPPER).build(); + public static final ItemType RAW_GOLD = IntItem.builder().id(ItemIds.RAW_GOLD).build(); + public static final ItemType RAW_IRON = IntItem.builder().id(ItemIds.RAW_IRON).build(); + public static final ItemType SPYGLASS = IntItem.builder().id(ItemIds.SPYGLASS).build(); + public static final ItemType COPPER_INGOT = IntItem.builder().id(ItemIds.COPPER_INGOT).build(); + public static final class IntItem implements ItemType { private final Identifier id; private final int maxStackSize; diff --git a/src/main/java/org/cloudburstmc/api/level/gamerule/GameRules.java b/src/main/java/org/cloudburstmc/api/level/gamerule/GameRules.java index 6a09d1172..ca0ff4dd1 100644 --- a/src/main/java/org/cloudburstmc/api/level/gamerule/GameRules.java +++ b/src/main/java/org/cloudburstmc/api/level/gamerule/GameRules.java @@ -4,32 +4,34 @@ public class GameRules { public static final BooleanGameRule COMMAND_BLOCK_OUTPUT = BooleanGameRule.of("commandblockoutput", true); + public static final BooleanGameRule COMMAND_BLOCKS_ENABLED = BooleanGameRule.of("commandblocksenabled", true); public static final BooleanGameRule DO_DAYLIGHT_CYCLE = BooleanGameRule.of("dodaylightcycle", true); public static final BooleanGameRule DO_ENTITY_DROPS = BooleanGameRule.of("doentitydrops", true); public static final BooleanGameRule DO_FIRE_TICK = BooleanGameRule.of("dofiretick", true); + public static final BooleanGameRule DO_IMMEDIATE_RESPAWN = BooleanGameRule.of("doimmediaterespawn", false); + public static final BooleanGameRule DO_INSOMNIA = BooleanGameRule.of("doinsomnia", true); public static final BooleanGameRule DO_MOB_LOOT = BooleanGameRule.of("domobloot", true); public static final BooleanGameRule DO_MOB_SPAWNING = BooleanGameRule.of("domobspawning", true); public static final BooleanGameRule DO_TILE_DROPS = BooleanGameRule.of("dotiledrops", true); public static final BooleanGameRule DO_WEATHER_CYCLE = BooleanGameRule.of("doweathercycle", true); public static final BooleanGameRule DROWNING_DAMAGE = BooleanGameRule.of("drowningdamage", true); + public static final BooleanGameRule EXPERIMENTAL_GAME_PLAY = BooleanGameRule.of("experimentalgameplay", false); public static final BooleanGameRule FALL_DAMAGE = BooleanGameRule.of("falldamage", true); public static final BooleanGameRule FIRE_DAMAGE = BooleanGameRule.of("firedamage", true); + public static final BooleanGameRule FREEZE_DAMAGE = BooleanGameRule.of("freezedamage", true); + public static final IntegerGameRule FUNCTION_COMMAND_LIMIT = IntegerGameRule.of("functioncommandlimit", 10000); public static final BooleanGameRule KEEP_INVENTORY = BooleanGameRule.of("keepinventory", false); + public static final IntegerGameRule MAX_COMMAND_CHAIN_LENGTH = IntegerGameRule.of("maxcommandchainlength", 65535); public static final BooleanGameRule MOB_GRIEFING = BooleanGameRule.of("mobgriefing", true); - public static final BooleanGameRule PVP = BooleanGameRule.of("pvp", true); - public static final BooleanGameRule SHOW_COORDINATES = BooleanGameRule.of("showcoordinates", true); public static final BooleanGameRule NATURAL_REGENERATION = BooleanGameRule.of("naturalregeneration", true); - public static final BooleanGameRule TNT_EXPLODES = BooleanGameRule.of("tntexplodes", true); + public static final BooleanGameRule PVP = BooleanGameRule.of("pvp", true); + public static final IntegerGameRule RANDOM_TICK_SPEED = IntegerGameRule.of("randomtickspeed", 1); public static final BooleanGameRule SEND_COMMAND_FEEDBACK = BooleanGameRule.of("sendcommandfeedback", true); - public static final BooleanGameRule EXPERIMENTAL_GAME_PLAY = BooleanGameRule.of("experimentalgameplay", false); - public static final IntegerGameRule MAX_COMMAND_CHAIN_LENGTH = IntegerGameRule.of("maxcommandchainlength", 131070); - public static final BooleanGameRule DO_INSOMNIA = BooleanGameRule.of("doinsomnia", true); - public static final BooleanGameRule COMMAND_BLOCKS_ENABLED = BooleanGameRule.of("commandblocksenabled", true); - public static final IntegerGameRule RANDOM_TICK_SPEED = IntegerGameRule.of("randomtickspeed", 2); - public static final BooleanGameRule DO_IMMEDIATE_RESPAWN = BooleanGameRule.of("doimmediaterespawn", false); + public static final BooleanGameRule SHOW_COORDINATES = BooleanGameRule.of("showcoordinates", false); public static final BooleanGameRule SHOW_DEATH_MESSAGES = BooleanGameRule.of("showdeathmessages", true); - public static final IntegerGameRule FUNCTION_COMMAND_LIMIT = IntegerGameRule.of("functioncommandlimit", 20000); - public static final IntegerGameRule SPAWN_RADIUS = IntegerGameRule.of("spawnradius", 0); + public static final BooleanGameRule SHOW_TAGS = BooleanGameRule.of("showtags", true); + public static final IntegerGameRule SPAWN_RADIUS = IntegerGameRule.of("spawnradius", 5); + public static final BooleanGameRule TNT_EXPLODES = BooleanGameRule.of("tntexplodes", true); private GameRules() { throw new AssertionError("This class cannot be instantiated"); diff --git a/src/main/java/org/cloudburstmc/api/registry/ItemRegistry.java b/src/main/java/org/cloudburstmc/api/registry/ItemRegistry.java index 2008abc98..40f39b65c 100644 --- a/src/main/java/org/cloudburstmc/api/registry/ItemRegistry.java +++ b/src/main/java/org/cloudburstmc/api/registry/ItemRegistry.java @@ -11,6 +11,8 @@ public interface ItemRegistry extends Registry { void register(ItemType type, ItemBehavior behavior, Identifier... identifiers) throws RegistryException; + void registerCreativeItem(ItemStack item); + default ItemStack getItem(BlockState state) throws RegistryException { return getItem(state, 1); } diff --git a/src/main/java/org/cloudburstmc/api/util/data/CaveVineType.java b/src/main/java/org/cloudburstmc/api/util/data/CaveVineType.java new file mode 100644 index 000000000..cf9a16b3f --- /dev/null +++ b/src/main/java/org/cloudburstmc/api/util/data/CaveVineType.java @@ -0,0 +1,18 @@ +package org.cloudburstmc.api.util.data; + +import lombok.RequiredArgsConstructor; +import org.cloudburstmc.api.block.BlockIds; +import org.cloudburstmc.api.util.Identifier; + +@RequiredArgsConstructor +public enum CaveVineType { + NONE(BlockIds.CAVE_VINES), + BODY(BlockIds.CAVE_VINES_BODY), + HEAD(BlockIds.CAVE_VINES_HEAD); + + private final Identifier id; + + public Identifier getIdentifier() { + return id; + } +} diff --git a/src/main/java/org/cloudburstmc/api/util/data/ClusterSize.java b/src/main/java/org/cloudburstmc/api/util/data/ClusterSize.java new file mode 100644 index 000000000..1ea6e5021 --- /dev/null +++ b/src/main/java/org/cloudburstmc/api/util/data/ClusterSize.java @@ -0,0 +1,8 @@ +package org.cloudburstmc.api.util.data; + +public enum ClusterSize { + FULL, + SMALL, + MEDIUM, + LARGE +} diff --git a/src/main/java/org/cloudburstmc/api/util/data/CopperType.java b/src/main/java/org/cloudburstmc/api/util/data/CopperType.java new file mode 100644 index 000000000..5b5eb5f0b --- /dev/null +++ b/src/main/java/org/cloudburstmc/api/util/data/CopperType.java @@ -0,0 +1,40 @@ +package org.cloudburstmc.api.util.data; + +import lombok.RequiredArgsConstructor; +import org.cloudburstmc.api.util.Identifier; + +import static org.cloudburstmc.api.block.BlockIds.*; + +@RequiredArgsConstructor +public enum CopperType { + RAW(COPPER_BLOCK, CUT_COPPER, CUT_COPPER_SLAB, CUT_COPPER_STAIRS), + EXPOSED(EXPOSED_COPPER, EXPOSED_CUT_COPPER, EXPOSED_CUT_COPPER_SLAB, EXPOSED_CUT_COPPER_STAIRS), + OXIDIZED(OXIDIZED_COPPER, OXIDIZED_CUT_COPPER, OXIDIZED_CUT_COPPER_SLAB, OXIDIZED_CUT_COPPER_STAIRS), + WAXED(WAXED_COPPER, WAXED_CUT_COPPER, WAXED_CUT_COPPER_SLAB, WAXED_CUT_COPPER_STAIRS), + WAXED_EXPOSED(WAXED_EXPOSED_COPPER, WAXED_EXPOSED_CUT_COPPER, WAXED_EXPOSED_CUT_COPPER_SLAB, WAXED_EXPOSED_CUT_COPPER_STAIRS), + WAXED_OXIDIZED(WAXED_OXIDIZED_COPPER, WAXED_OXIDIZED_CUT_COPPER, WAXED_OXIDIZED_CUT_COPPER_SLAB, WAXED_OXIDIZED_CUT_COPPER_STAIRS), + WAXED_WEATHERED(WAXED_WEATHERED_COPPER, WAXED_WEATHERED_CUT_COPPER, WAXED_WEATHERED_CUT_COPPER_SLAB, WAXED_WEATHERED_CUT_COPPER_STAIRS), + WEATHERED(WEATHERED_COPPER, WEATHERED_CUT_COPPER, WEATHERED_CUT_COPPER_SLAB, WEATHERED_CUT_COPPER_STAIRS); + + private final Identifier blockId; + private final Identifier cutId; + private final Identifier slabId; + private final Identifier stairsId; + + public Identifier getBlockId() { + return blockId; + } + + public Identifier getCutId() { + return cutId; + } + + public Identifier getSlabId() { + return slabId; + } + + public Identifier getStairsId() { + return stairsId; + } + +} diff --git a/src/main/java/org/cloudburstmc/api/util/data/DripleafTilt.java b/src/main/java/org/cloudburstmc/api/util/data/DripleafTilt.java new file mode 100644 index 000000000..b93cad2f8 --- /dev/null +++ b/src/main/java/org/cloudburstmc/api/util/data/DripleafTilt.java @@ -0,0 +1,8 @@ +package org.cloudburstmc.api.util.data; + +public enum DripleafTilt { + NONE, + UNSTABLE, + PARTIAL_TILT, + FULL_TILT +} diff --git a/src/main/java/org/cloudburstmc/api/util/data/DripstoneThickness.java b/src/main/java/org/cloudburstmc/api/util/data/DripstoneThickness.java new file mode 100644 index 000000000..7ac183a63 --- /dev/null +++ b/src/main/java/org/cloudburstmc/api/util/data/DripstoneThickness.java @@ -0,0 +1,9 @@ +package org.cloudburstmc.api.util.data; + +public enum DripstoneThickness { + TIP, + FRUSTUM, + MIDDLE, + BASE, + MERGE +} diff --git a/src/main/java/org/cloudburstmc/api/util/data/FluidType.java b/src/main/java/org/cloudburstmc/api/util/data/FluidType.java index f65ce6b6e..507dd5c7c 100644 --- a/src/main/java/org/cloudburstmc/api/util/data/FluidType.java +++ b/src/main/java/org/cloudburstmc/api/util/data/FluidType.java @@ -2,5 +2,6 @@ public enum FluidType { WATER, - LAVA + LAVA, + POWDER_SNOW } diff --git a/src/main/java/org/cloudburstmc/api/util/data/StoneSlabType.java b/src/main/java/org/cloudburstmc/api/util/data/StoneSlabType.java index 021bf0809..dcf59cd58 100644 --- a/src/main/java/org/cloudburstmc/api/util/data/StoneSlabType.java +++ b/src/main/java/org/cloudburstmc/api/util/data/StoneSlabType.java @@ -40,7 +40,10 @@ public enum StoneSlabType { BLACKSTONE(BLACKSTONE_SLAB, BLACKSTONE_STAIRS), POLISHED_BLACKSTONE(BLACKSTONE_SLAB, POLISHED_BLACKSTONE_STAIRS), POLISHED_BLACKSTONE_BRICK(BLACKSTONE_SLAB, POLISHED_BLACKSTONE_BRICK_STAIRS), - ; + DEEPSLATE_BRICK(DEEPSLATE_BRICK_SLAB, DEEPSLATE_BRICK_STAIRS, DEEPSLATE_BRICK_WALL), + DEEPSLATE_TILE(DEEPSLATE_TILE_SLAB, DEEPSLATE_TILE_STAIRS, DEEPSLATE_TILE_WALL), + COBBLED_DEEPSLATE(COBBLED_DEEPSLATE_SLAB, COBBLED_DEEPSLATE_STAIRS, COBBLED_DEEPSLATE_WALL), + POLISHED_DEEPSLATE(POLISHED_DEEPSLATE_SLAB, POLISHED_DEEPSLATE_STAIRS, POLISHED_DEEPSLATE_WALL); private final Identifier slabId; private final Identifier stairsId; diff --git a/src/main/java/org/cloudburstmc/api/util/data/WallBlockType.java b/src/main/java/org/cloudburstmc/api/util/data/WallBlockType.java index c03881790..87c91256c 100644 --- a/src/main/java/org/cloudburstmc/api/util/data/WallBlockType.java +++ b/src/main/java/org/cloudburstmc/api/util/data/WallBlockType.java @@ -17,5 +17,9 @@ public enum WallBlockType { END_BRICK, BLACKSTONE, POLISHED_BLACKSTONE, - POLISHED_BLACKSTONE_BRICK + POLISHED_BLACKSTONE_BRICK, + DEEPSLATE_TILE, + DEEPSLATE_BRICK, + COBBLED_DEEPSLATE, + POLISHED_DEEPSLATE }