From 22f5bd2fd3dbc05991bcc78b12fbe9505b90805a Mon Sep 17 00:00:00 2001 From: Bill Parrott Date: Sat, 19 Oct 2024 14:03:49 -0500 Subject: [PATCH] fix: add blocks to appropriate tool tags for mining --- .../minecraft/tags/block/mineable/axe.json | 290 +++ .../minecraft/tags/block/mineable/hoe.json | 3 +- .../tags/block/mineable/pickaxe.json | 1595 ++++++++++++++++- .../minecraft/tags/block/mineable/shovel.json | 72 + .../minekea/tags/block/mineable/shears.json | 1 + .../minekea/block/building/beams/Beams.java | 41 +- .../building/beams/GenericBeamBlock.java | 55 + .../building/compressed/CompressedBlocks.java | 330 ++-- .../compressed/CompressedColumnBlock.java | 20 +- .../compressed/CompressedMinekeaBlock.java | 19 +- .../compressed/GenericCompressedBlock.java | 28 + .../minekea/block/building/covers/Covers.java | 41 +- .../building/covers/GenericCoverBlock.java | 37 + .../block/building/dyed/DyedBlock.java | 29 + .../block/building/dyed/DyedBlocks.java | 112 +- .../block/building/dyed/DyedPillarBlock.java | 30 + .../building/slabs/GenericSlabBlock.java | 22 + .../slabs/GenericVerticalSlabBlock.java | 21 + .../minekea/block/building/slabs/Slabs.java | 23 +- .../building/stairs/GenericStairsBlock.java | 22 + .../stairs/GenericVerticalStairsBlock.java | 21 + .../minekea/block/building/stairs/Stairs.java | 23 +- .../block/building/storage/DyeBlock.java | 16 - .../storage/EnderPearlStorageBlock.java | 4 + .../storage/GoldenAppleStorageBlock.java | 5 - .../building/storage/SetOfEggsBlock.java | 28 +- .../building/walls/GenericWallBlock.java | 15 + .../block/containers/crates/GenericCrate.java | 8 + .../block/decorations/misc/FakeCake.java | 10 + .../furniture/shutters/OpenShutterHalf.java | 10 + .../com/chimericdream/minekea/util/Tool.java | 36 +- 31 files changed, 2629 insertions(+), 338 deletions(-) diff --git a/src/main/generated/data/minecraft/tags/block/mineable/axe.json b/src/main/generated/data/minecraft/tags/block/mineable/axe.json index 19715626e..afba1b96d 100644 --- a/src/main/generated/data/minecraft/tags/block/mineable/axe.json +++ b/src/main/generated/data/minecraft/tags/block/mineable/axe.json @@ -1,5 +1,240 @@ { "values": [ + "minekea:building/beams/acacia", + "minekea:building/beams/acacia_log", + "minekea:building/beams/birch", + "minekea:building/beams/birch_log", + "minekea:building/beams/cherry", + "minekea:building/beams/cherry_log", + "minekea:building/beams/crimson", + "minekea:building/beams/crimson_stem", + "minekea:building/beams/dark_oak", + "minekea:building/beams/dark_oak_log", + "minekea:building/beams/jungle", + "minekea:building/beams/jungle_log", + "minekea:building/beams/mangrove", + "minekea:building/beams/mangrove_log", + "minekea:building/beams/oak", + "minekea:building/beams/oak_log", + "minekea:building/beams/spruce", + "minekea:building/beams/spruce_log", + "minekea:building/beams/warped", + "minekea:building/beams/warped_stem", + "minekea:building/compressed/acacia_planks/1x", + "minekea:building/compressed/acacia_planks/2x", + "minekea:building/compressed/acacia_planks/3x", + "minekea:building/compressed/acacia_planks/4x", + "minekea:building/compressed/acacia_planks/5x", + "minekea:building/compressed/acacia_planks/6x", + "minekea:building/compressed/acacia_planks/7x", + "minekea:building/compressed/acacia_planks/8x", + "minekea:building/compressed/acacia_planks/9x", + "minekea:building/compressed/birch_planks/1x", + "minekea:building/compressed/birch_planks/2x", + "minekea:building/compressed/birch_planks/3x", + "minekea:building/compressed/birch_planks/4x", + "minekea:building/compressed/birch_planks/5x", + "minekea:building/compressed/birch_planks/6x", + "minekea:building/compressed/birch_planks/7x", + "minekea:building/compressed/birch_planks/8x", + "minekea:building/compressed/birch_planks/9x", + "minekea:building/compressed/cherry_planks/1x", + "minekea:building/compressed/cherry_planks/2x", + "minekea:building/compressed/cherry_planks/3x", + "minekea:building/compressed/cherry_planks/4x", + "minekea:building/compressed/cherry_planks/5x", + "minekea:building/compressed/cherry_planks/6x", + "minekea:building/compressed/cherry_planks/7x", + "minekea:building/compressed/cherry_planks/8x", + "minekea:building/compressed/cherry_planks/9x", + "minekea:building/compressed/crimson_planks/1x", + "minekea:building/compressed/crimson_planks/2x", + "minekea:building/compressed/crimson_planks/3x", + "minekea:building/compressed/crimson_planks/4x", + "minekea:building/compressed/crimson_planks/5x", + "minekea:building/compressed/crimson_planks/6x", + "minekea:building/compressed/crimson_planks/7x", + "minekea:building/compressed/crimson_planks/8x", + "minekea:building/compressed/crimson_planks/9x", + "minekea:building/compressed/dark_oak_planks/1x", + "minekea:building/compressed/dark_oak_planks/2x", + "minekea:building/compressed/dark_oak_planks/3x", + "minekea:building/compressed/dark_oak_planks/4x", + "minekea:building/compressed/dark_oak_planks/5x", + "minekea:building/compressed/dark_oak_planks/6x", + "minekea:building/compressed/dark_oak_planks/7x", + "minekea:building/compressed/dark_oak_planks/8x", + "minekea:building/compressed/dark_oak_planks/9x", + "minekea:building/compressed/jungle_planks/1x", + "minekea:building/compressed/jungle_planks/2x", + "minekea:building/compressed/jungle_planks/3x", + "minekea:building/compressed/jungle_planks/4x", + "minekea:building/compressed/jungle_planks/5x", + "minekea:building/compressed/jungle_planks/6x", + "minekea:building/compressed/jungle_planks/7x", + "minekea:building/compressed/jungle_planks/8x", + "minekea:building/compressed/jungle_planks/9x", + "minekea:building/compressed/mangrove_planks/1x", + "minekea:building/compressed/mangrove_planks/2x", + "minekea:building/compressed/mangrove_planks/3x", + "minekea:building/compressed/mangrove_planks/4x", + "minekea:building/compressed/mangrove_planks/5x", + "minekea:building/compressed/mangrove_planks/6x", + "minekea:building/compressed/mangrove_planks/7x", + "minekea:building/compressed/mangrove_planks/8x", + "minekea:building/compressed/mangrove_planks/9x", + "minekea:building/compressed/oak_planks/1x", + "minekea:building/compressed/oak_planks/2x", + "minekea:building/compressed/oak_planks/3x", + "minekea:building/compressed/oak_planks/4x", + "minekea:building/compressed/oak_planks/5x", + "minekea:building/compressed/oak_planks/6x", + "minekea:building/compressed/oak_planks/7x", + "minekea:building/compressed/oak_planks/8x", + "minekea:building/compressed/oak_planks/9x", + "minekea:building/compressed/spruce_planks/1x", + "minekea:building/compressed/spruce_planks/2x", + "minekea:building/compressed/spruce_planks/3x", + "minekea:building/compressed/spruce_planks/4x", + "minekea:building/compressed/spruce_planks/5x", + "minekea:building/compressed/spruce_planks/6x", + "minekea:building/compressed/spruce_planks/7x", + "minekea:building/compressed/spruce_planks/8x", + "minekea:building/compressed/spruce_planks/9x", + "minekea:building/compressed/warped_planks/1x", + "minekea:building/compressed/warped_planks/2x", + "minekea:building/compressed/warped_planks/3x", + "minekea:building/compressed/warped_planks/4x", + "minekea:building/compressed/warped_planks/5x", + "minekea:building/compressed/warped_planks/6x", + "minekea:building/compressed/warped_planks/7x", + "minekea:building/compressed/warped_planks/8x", + "minekea:building/compressed/warped_planks/9x", + "minekea:building/compressed/acacia_log/1x", + "minekea:building/compressed/acacia_log/2x", + "minekea:building/compressed/acacia_log/3x", + "minekea:building/compressed/acacia_log/4x", + "minekea:building/compressed/acacia_log/5x", + "minekea:building/compressed/acacia_log/6x", + "minekea:building/compressed/acacia_log/7x", + "minekea:building/compressed/acacia_log/8x", + "minekea:building/compressed/acacia_log/9x", + "minekea:building/compressed/birch_log/1x", + "minekea:building/compressed/birch_log/2x", + "minekea:building/compressed/birch_log/3x", + "minekea:building/compressed/birch_log/4x", + "minekea:building/compressed/birch_log/5x", + "minekea:building/compressed/birch_log/6x", + "minekea:building/compressed/birch_log/7x", + "minekea:building/compressed/birch_log/8x", + "minekea:building/compressed/birch_log/9x", + "minekea:building/compressed/cherry_log/1x", + "minekea:building/compressed/cherry_log/2x", + "minekea:building/compressed/cherry_log/3x", + "minekea:building/compressed/cherry_log/4x", + "minekea:building/compressed/cherry_log/5x", + "minekea:building/compressed/cherry_log/6x", + "minekea:building/compressed/cherry_log/7x", + "minekea:building/compressed/cherry_log/8x", + "minekea:building/compressed/cherry_log/9x", + "minekea:building/compressed/crimson_stem/1x", + "minekea:building/compressed/crimson_stem/2x", + "minekea:building/compressed/crimson_stem/3x", + "minekea:building/compressed/crimson_stem/4x", + "minekea:building/compressed/crimson_stem/5x", + "minekea:building/compressed/crimson_stem/6x", + "minekea:building/compressed/crimson_stem/7x", + "minekea:building/compressed/crimson_stem/8x", + "minekea:building/compressed/crimson_stem/9x", + "minekea:building/compressed/dark_oak_log/1x", + "minekea:building/compressed/dark_oak_log/2x", + "minekea:building/compressed/dark_oak_log/3x", + "minekea:building/compressed/dark_oak_log/4x", + "minekea:building/compressed/dark_oak_log/5x", + "minekea:building/compressed/dark_oak_log/6x", + "minekea:building/compressed/dark_oak_log/7x", + "minekea:building/compressed/dark_oak_log/8x", + "minekea:building/compressed/dark_oak_log/9x", + "minekea:building/compressed/jungle_log/1x", + "minekea:building/compressed/jungle_log/2x", + "minekea:building/compressed/jungle_log/3x", + "minekea:building/compressed/jungle_log/4x", + "minekea:building/compressed/jungle_log/5x", + "minekea:building/compressed/jungle_log/6x", + "minekea:building/compressed/jungle_log/7x", + "minekea:building/compressed/jungle_log/8x", + "minekea:building/compressed/jungle_log/9x", + "minekea:building/compressed/mangrove_log/1x", + "minekea:building/compressed/mangrove_log/2x", + "minekea:building/compressed/mangrove_log/3x", + "minekea:building/compressed/mangrove_log/4x", + "minekea:building/compressed/mangrove_log/5x", + "minekea:building/compressed/mangrove_log/6x", + "minekea:building/compressed/mangrove_log/7x", + "minekea:building/compressed/mangrove_log/8x", + "minekea:building/compressed/mangrove_log/9x", + "minekea:building/compressed/oak_log/1x", + "minekea:building/compressed/oak_log/2x", + "minekea:building/compressed/oak_log/3x", + "minekea:building/compressed/oak_log/4x", + "minekea:building/compressed/oak_log/5x", + "minekea:building/compressed/oak_log/6x", + "minekea:building/compressed/oak_log/7x", + "minekea:building/compressed/oak_log/8x", + "minekea:building/compressed/oak_log/9x", + "minekea:building/compressed/spruce_log/1x", + "minekea:building/compressed/spruce_log/2x", + "minekea:building/compressed/spruce_log/3x", + "minekea:building/compressed/spruce_log/4x", + "minekea:building/compressed/spruce_log/5x", + "minekea:building/compressed/spruce_log/6x", + "minekea:building/compressed/spruce_log/7x", + "minekea:building/compressed/spruce_log/8x", + "minekea:building/compressed/spruce_log/9x", + "minekea:building/compressed/warped_stem/1x", + "minekea:building/compressed/warped_stem/2x", + "minekea:building/compressed/warped_stem/3x", + "minekea:building/compressed/warped_stem/4x", + "minekea:building/compressed/warped_stem/5x", + "minekea:building/compressed/warped_stem/6x", + "minekea:building/compressed/warped_stem/7x", + "minekea:building/compressed/warped_stem/8x", + "minekea:building/compressed/warped_stem/9x", + "minekea:building/covers/acacia", + "minekea:building/covers/birch", + "minekea:building/covers/cherry", + "minekea:building/covers/crimson", + "minekea:building/covers/dark_oak", + "minekea:building/covers/jungle", + "minekea:building/covers/mangrove", + "minekea:building/covers/oak", + "minekea:building/covers/spruce", + "minekea:building/covers/warped", + "minekea:building/covers/acacia_log", + "minekea:building/covers/birch_log", + "minekea:building/covers/cherry_log", + "minekea:building/covers/crimson_stem", + "minekea:building/covers/dark_oak_log", + "minekea:building/covers/jungle_log", + "minekea:building/covers/mangrove_log", + "minekea:building/covers/spruce_log", + "minekea:building/covers/warped_stem", + "minekea:building/dyed/oak_planks/white", + "minekea:building/dyed/oak_planks/light_gray", + "minekea:building/dyed/oak_planks/gray", + "minekea:building/dyed/oak_planks/black", + "minekea:building/dyed/oak_planks/brown", + "minekea:building/dyed/oak_planks/red", + "minekea:building/dyed/oak_planks/orange", + "minekea:building/dyed/oak_planks/yellow", + "minekea:building/dyed/oak_planks/lime", + "minekea:building/dyed/oak_planks/green", + "minekea:building/dyed/oak_planks/cyan", + "minekea:building/dyed/oak_planks/light_blue", + "minekea:building/dyed/oak_planks/blue", + "minekea:building/dyed/oak_planks/purple", + "minekea:building/dyed/oak_planks/magenta", + "minekea:building/dyed/oak_planks/pink", "minekea:building/general/framed_planks/acacia", "minekea:building/general/framed_planks/acacia_stripped", "minekea:building/general/framed_planks/bamboo", @@ -22,6 +257,17 @@ "minekea:building/general/framed_planks/spruce_stripped", "minekea:building/general/framed_planks/warped", "minekea:building/general/framed_planks/warped_stripped", + "minekea:building/slabs/vertical/acacia", + "minekea:building/slabs/vertical/bamboo_planks", + "minekea:building/slabs/vertical/birch", + "minekea:building/slabs/vertical/cherry", + "minekea:building/slabs/vertical/crimson", + "minekea:building/slabs/vertical/dark_oak", + "minekea:building/slabs/vertical/jungle", + "minekea:building/slabs/vertical/mangrove", + "minekea:building/slabs/vertical/oak", + "minekea:building/slabs/vertical/spruce", + "minekea:building/slabs/vertical/warped", "minekea:storage/compressed/blaze_rod", "minekea:storage/compressed/chorus_fruit", "minekea:storage/compressed/stick", @@ -36,6 +282,28 @@ "minekea:containers/barrels/mangrove", "minekea:containers/barrels/spruce", "minekea:containers/barrels/warped", + "minekea:containers/crates/acacia", + "minekea:containers/crates/bamboo", + "minekea:containers/crates/birch", + "minekea:containers/crates/cherry", + "minekea:containers/crates/crimson", + "minekea:containers/crates/dark_oak", + "minekea:containers/crates/jungle", + "minekea:containers/crates/mangrove", + "minekea:containers/crates/oak", + "minekea:containers/crates/spruce", + "minekea:containers/crates/warped", + "minekea:containers/crates/trapped/acacia", + "minekea:containers/crates/trapped/bamboo", + "minekea:containers/crates/trapped/birch", + "minekea:containers/crates/trapped/cherry", + "minekea:containers/crates/trapped/crimson", + "minekea:containers/crates/trapped/dark_oak", + "minekea:containers/crates/trapped/jungle", + "minekea:containers/crates/trapped/mangrove", + "minekea:containers/crates/trapped/oak", + "minekea:containers/crates/trapped/spruce", + "minekea:containers/crates/trapped/warped", "minekea:furniture/armoires/acacia", "minekea:furniture/armoires/bamboo", "minekea:furniture/armoires/birch", @@ -201,6 +469,28 @@ "minekea:furniture/shutters/stripped_oak", "minekea:furniture/shutters/stripped_spruce", "minekea:furniture/shutters/stripped_warped", + "minekea:furniture/shutters/acacia_open", + "minekea:furniture/shutters/bamboo_open", + "minekea:furniture/shutters/birch_open", + "minekea:furniture/shutters/cherry_open", + "minekea:furniture/shutters/crimson_open", + "minekea:furniture/shutters/dark_oak_open", + "minekea:furniture/shutters/jungle_open", + "minekea:furniture/shutters/mangrove_open", + "minekea:furniture/shutters/oak_open", + "minekea:furniture/shutters/spruce_open", + "minekea:furniture/shutters/warped_open", + "minekea:furniture/shutters/stripped_acacia_open", + "minekea:furniture/shutters/stripped_bamboo_open", + "minekea:furniture/shutters/stripped_birch_open", + "minekea:furniture/shutters/stripped_cherry_open", + "minekea:furniture/shutters/stripped_crimson_open", + "minekea:furniture/shutters/stripped_dark_oak_open", + "minekea:furniture/shutters/stripped_jungle_open", + "minekea:furniture/shutters/stripped_mangrove_open", + "minekea:furniture/shutters/stripped_oak_open", + "minekea:furniture/shutters/stripped_spruce_open", + "minekea:furniture/shutters/stripped_warped_open", "minekea:furniture/tables/acacia", "minekea:furniture/tables/bamboo", "minekea:furniture/tables/birch", diff --git a/src/main/generated/data/minecraft/tags/block/mineable/hoe.json b/src/main/generated/data/minecraft/tags/block/mineable/hoe.json index ff24b2732..78d47ed64 100644 --- a/src/main/generated/data/minecraft/tags/block/mineable/hoe.json +++ b/src/main/generated/data/minecraft/tags/block/mineable/hoe.json @@ -26,6 +26,7 @@ "minekea:storage/compressed/phantom_membrane", "minekea:storage/compressed/potato", "minekea:storage/compressed/pumpkin_seeds", - "minekea:storage/compressed/wheat_seeds" + "minekea:storage/compressed/wheat_seeds", + "minekea:storage/set_of_eggs" ] } \ No newline at end of file diff --git a/src/main/generated/data/minecraft/tags/block/mineable/pickaxe.json b/src/main/generated/data/minecraft/tags/block/mineable/pickaxe.json index 4c720cea9..99c1507e5 100644 --- a/src/main/generated/data/minecraft/tags/block/mineable/pickaxe.json +++ b/src/main/generated/data/minecraft/tags/block/mineable/pickaxe.json @@ -7,11 +7,1604 @@ "minekea:building/general/mossy_basalt_bricks", "minekea:building/general/warped_basalt_bricks", "minekea:building/general/warped_nether_bricks", + "minekea:building/beams/amethyst", + "minekea:building/beams/andesite", + "minekea:building/beams/basalt", + "minekea:building/beams/basalt_brick", + "minekea:building/beams/blackstone", + "minekea:building/beams/bone", + "minekea:building/beams/brick", + "minekea:building/beams/calcite", + "minekea:building/beams/cobbled_deepslate", + "minekea:building/beams/cobblestone", + "minekea:building/beams/cracked_basalt_brick", + "minekea:building/beams/cracked_deepslate_brick", + "minekea:building/beams/cracked_deepslate_tile", + "minekea:building/beams/cracked_stone_brick", + "minekea:building/beams/crimson_basalt_brick", + "minekea:building/beams/crying_obsidian", + "minekea:building/beams/cut_red_sandstone", + "minekea:building/beams/cut_sandstone", + "minekea:building/beams/dark_prismarine", + "minekea:building/beams/deepslate", + "minekea:building/beams/deepslate_brick", + "minekea:building/beams/deepslate_tile", + "minekea:building/beams/diorite", + "minekea:building/beams/end_stone", + "minekea:building/beams/end_stone_brick", + "minekea:building/beams/granite", + "minekea:building/beams/mossy_basalt_brick", + "minekea:building/beams/mossy_cobblestone", + "minekea:building/beams/mossy_stone_brick", + "minekea:building/beams/mud_brick", + "minekea:building/beams/netherrack", + "minekea:building/beams/nether_brick", + "minekea:building/beams/obsidian", + "minekea:building/beams/packed_mud", + "minekea:building/beams/polished_andesite", + "minekea:building/beams/polished_basalt", + "minekea:building/beams/polished_blackstone", + "minekea:building/beams/polished_blackstone_brick", + "minekea:building/beams/polished_deepslate", + "minekea:building/beams/polished_diorite", + "minekea:building/beams/polished_granite", + "minekea:building/beams/prismarine", + "minekea:building/beams/prismarine_brick", + "minekea:building/beams/purpur", + "minekea:building/beams/purpur_pillar", + "minekea:building/beams/quartz", + "minekea:building/beams/quartz_brick", + "minekea:building/beams/red_nether_brick", + "minekea:building/beams/red_sandstone", + "minekea:building/beams/sandstone", + "minekea:building/beams/smooth_basalt", + "minekea:building/beams/smooth_quartz", + "minekea:building/beams/smooth_red_sandstone", + "minekea:building/beams/smooth_sandstone", + "minekea:building/beams/smooth_stone", + "minekea:building/beams/stone", + "minekea:building/beams/stone_brick", + "minekea:building/beams/tuff", + "minekea:building/beams/warped_basalt_brick", + "minekea:building/beams/warped_nether_brick", + "minekea:building/beams/copper_block", + "minekea:building/beams/diamond_block", + "minekea:building/beams/gold_block", + "minekea:building/beams/iron_block", + "minekea:building/beams/lapis_block", + "minekea:building/beams/netherite_block", + "minekea:building/beams/redstone_block", + "minekea:building/beams/cut_copper", + "minekea:building/beams/exposed_cut_copper", + "minekea:building/beams/weathered_cut_copper", + "minekea:building/beams/oxidized_cut_copper", + "minekea:building/beams/white_terracotta", + "minekea:building/beams/orange_terracotta", + "minekea:building/beams/magenta_terracotta", + "minekea:building/beams/light_blue_terracotta", + "minekea:building/beams/yellow_terracotta", + "minekea:building/beams/lime_terracotta", + "minekea:building/beams/pink_terracotta", + "minekea:building/beams/gray_terracotta", + "minekea:building/beams/light_gray_terracotta", + "minekea:building/beams/cyan_terracotta", + "minekea:building/beams/purple_terracotta", + "minekea:building/beams/blue_terracotta", + "minekea:building/beams/brown_terracotta", + "minekea:building/beams/green_terracotta", + "minekea:building/beams/red_terracotta", + "minekea:building/beams/black_terracotta", + "minekea:building/beams/white_glazed_terracotta", + "minekea:building/beams/orange_glazed_terracotta", + "minekea:building/beams/magenta_glazed_terracotta", + "minekea:building/beams/light_blue_glazed_terracotta", + "minekea:building/beams/yellow_glazed_terracotta", + "minekea:building/beams/lime_glazed_terracotta", + "minekea:building/beams/pink_glazed_terracotta", + "minekea:building/beams/gray_glazed_terracotta", + "minekea:building/beams/light_gray_glazed_terracotta", + "minekea:building/beams/cyan_glazed_terracotta", + "minekea:building/beams/purple_glazed_terracotta", + "minekea:building/beams/blue_glazed_terracotta", + "minekea:building/beams/brown_glazed_terracotta", + "minekea:building/beams/green_glazed_terracotta", + "minekea:building/beams/red_glazed_terracotta", + "minekea:building/beams/black_glazed_terracotta", + "minekea:building/beams/white_concrete", + "minekea:building/beams/orange_concrete", + "minekea:building/beams/magenta_concrete", + "minekea:building/beams/light_blue_concrete", + "minekea:building/beams/yellow_concrete", + "minekea:building/beams/lime_concrete", + "minekea:building/beams/pink_concrete", + "minekea:building/beams/gray_concrete", + "minekea:building/beams/light_gray_concrete", + "minekea:building/beams/cyan_concrete", + "minekea:building/beams/purple_concrete", + "minekea:building/beams/blue_concrete", + "minekea:building/beams/brown_concrete", + "minekea:building/beams/green_concrete", + "minekea:building/beams/red_concrete", + "minekea:building/beams/black_concrete", + "minekea:building/compressed/basalt_brick/1x", + "minekea:building/compressed/basalt_brick/2x", + "minekea:building/compressed/basalt_brick/3x", + "minekea:building/compressed/basalt_brick/4x", + "minekea:building/compressed/basalt_brick/5x", + "minekea:building/compressed/basalt_brick/6x", + "minekea:building/compressed/basalt_brick/7x", + "minekea:building/compressed/basalt_brick/8x", + "minekea:building/compressed/basalt_brick/9x", + "minekea:building/compressed/cracked_basalt_brick/1x", + "minekea:building/compressed/cracked_basalt_brick/2x", + "minekea:building/compressed/cracked_basalt_brick/3x", + "minekea:building/compressed/cracked_basalt_brick/4x", + "minekea:building/compressed/cracked_basalt_brick/5x", + "minekea:building/compressed/cracked_basalt_brick/6x", + "minekea:building/compressed/cracked_basalt_brick/7x", + "minekea:building/compressed/cracked_basalt_brick/8x", + "minekea:building/compressed/cracked_basalt_brick/9x", + "minekea:building/compressed/crimson_basalt_brick/1x", + "minekea:building/compressed/crimson_basalt_brick/2x", + "minekea:building/compressed/crimson_basalt_brick/3x", + "minekea:building/compressed/crimson_basalt_brick/4x", + "minekea:building/compressed/crimson_basalt_brick/5x", + "minekea:building/compressed/crimson_basalt_brick/6x", + "minekea:building/compressed/crimson_basalt_brick/7x", + "minekea:building/compressed/crimson_basalt_brick/8x", + "minekea:building/compressed/crimson_basalt_brick/9x", + "minekea:building/compressed/mossy_basalt_brick/1x", + "minekea:building/compressed/mossy_basalt_brick/2x", + "minekea:building/compressed/mossy_basalt_brick/3x", + "minekea:building/compressed/mossy_basalt_brick/4x", + "minekea:building/compressed/mossy_basalt_brick/5x", + "minekea:building/compressed/mossy_basalt_brick/6x", + "minekea:building/compressed/mossy_basalt_brick/7x", + "minekea:building/compressed/mossy_basalt_brick/8x", + "minekea:building/compressed/mossy_basalt_brick/9x", + "minekea:building/compressed/warped_basalt_brick/1x", + "minekea:building/compressed/warped_basalt_brick/2x", + "minekea:building/compressed/warped_basalt_brick/3x", + "minekea:building/compressed/warped_basalt_brick/4x", + "minekea:building/compressed/warped_basalt_brick/5x", + "minekea:building/compressed/warped_basalt_brick/6x", + "minekea:building/compressed/warped_basalt_brick/7x", + "minekea:building/compressed/warped_basalt_brick/8x", + "minekea:building/compressed/warped_basalt_brick/9x", + "minekea:building/compressed/warped_nether_brick/1x", + "minekea:building/compressed/warped_nether_brick/2x", + "minekea:building/compressed/warped_nether_brick/3x", + "minekea:building/compressed/warped_nether_brick/4x", + "minekea:building/compressed/warped_nether_brick/5x", + "minekea:building/compressed/warped_nether_brick/6x", + "minekea:building/compressed/warped_nether_brick/7x", + "minekea:building/compressed/warped_nether_brick/8x", + "minekea:building/compressed/warped_nether_brick/9x", + "minekea:building/compressed/amethyst_block/1x", + "minekea:building/compressed/amethyst_block/2x", + "minekea:building/compressed/amethyst_block/3x", + "minekea:building/compressed/amethyst_block/4x", + "minekea:building/compressed/amethyst_block/5x", + "minekea:building/compressed/amethyst_block/6x", + "minekea:building/compressed/amethyst_block/7x", + "minekea:building/compressed/amethyst_block/8x", + "minekea:building/compressed/amethyst_block/9x", + "minekea:building/compressed/andesite/1x", + "minekea:building/compressed/andesite/2x", + "minekea:building/compressed/andesite/3x", + "minekea:building/compressed/andesite/4x", + "minekea:building/compressed/andesite/5x", + "minekea:building/compressed/andesite/6x", + "minekea:building/compressed/andesite/7x", + "minekea:building/compressed/andesite/8x", + "minekea:building/compressed/andesite/9x", + "minekea:building/compressed/bricks/1x", + "minekea:building/compressed/bricks/2x", + "minekea:building/compressed/bricks/3x", + "minekea:building/compressed/bricks/4x", + "minekea:building/compressed/bricks/5x", + "minekea:building/compressed/bricks/6x", + "minekea:building/compressed/bricks/7x", + "minekea:building/compressed/bricks/8x", + "minekea:building/compressed/bricks/9x", + "minekea:building/compressed/calcite/1x", + "minekea:building/compressed/calcite/2x", + "minekea:building/compressed/calcite/3x", + "minekea:building/compressed/calcite/4x", + "minekea:building/compressed/calcite/5x", + "minekea:building/compressed/calcite/6x", + "minekea:building/compressed/calcite/7x", + "minekea:building/compressed/calcite/8x", + "minekea:building/compressed/calcite/9x", + "minekea:building/compressed/clay/1x", + "minekea:building/compressed/clay/2x", + "minekea:building/compressed/clay/3x", + "minekea:building/compressed/clay/4x", + "minekea:building/compressed/clay/5x", + "minekea:building/compressed/clay/6x", + "minekea:building/compressed/clay/7x", + "minekea:building/compressed/clay/8x", + "minekea:building/compressed/clay/9x", + "minekea:building/compressed/cobbled_deepslate/1x", + "minekea:building/compressed/cobbled_deepslate/2x", + "minekea:building/compressed/cobbled_deepslate/3x", + "minekea:building/compressed/cobbled_deepslate/4x", + "minekea:building/compressed/cobbled_deepslate/5x", + "minekea:building/compressed/cobbled_deepslate/6x", + "minekea:building/compressed/cobbled_deepslate/7x", + "minekea:building/compressed/cobbled_deepslate/8x", + "minekea:building/compressed/cobbled_deepslate/9x", + "minekea:building/compressed/cobblestone/1x", + "minekea:building/compressed/cobblestone/2x", + "minekea:building/compressed/cobblestone/3x", + "minekea:building/compressed/cobblestone/4x", + "minekea:building/compressed/cobblestone/5x", + "minekea:building/compressed/cobblestone/6x", + "minekea:building/compressed/cobblestone/7x", + "minekea:building/compressed/cobblestone/8x", + "minekea:building/compressed/cobblestone/9x", + "minekea:building/compressed/cracked_deepslate_bricks/1x", + "minekea:building/compressed/cracked_deepslate_bricks/2x", + "minekea:building/compressed/cracked_deepslate_bricks/3x", + "minekea:building/compressed/cracked_deepslate_bricks/4x", + "minekea:building/compressed/cracked_deepslate_bricks/5x", + "minekea:building/compressed/cracked_deepslate_bricks/6x", + "minekea:building/compressed/cracked_deepslate_bricks/7x", + "minekea:building/compressed/cracked_deepslate_bricks/8x", + "minekea:building/compressed/cracked_deepslate_bricks/9x", + "minekea:building/compressed/cracked_deepslate_tiles/1x", + "minekea:building/compressed/cracked_deepslate_tiles/2x", + "minekea:building/compressed/cracked_deepslate_tiles/3x", + "minekea:building/compressed/cracked_deepslate_tiles/4x", + "minekea:building/compressed/cracked_deepslate_tiles/5x", + "minekea:building/compressed/cracked_deepslate_tiles/6x", + "minekea:building/compressed/cracked_deepslate_tiles/7x", + "minekea:building/compressed/cracked_deepslate_tiles/8x", + "minekea:building/compressed/cracked_deepslate_tiles/9x", + "minekea:building/compressed/cracked_stone_bricks/1x", + "minekea:building/compressed/cracked_stone_bricks/2x", + "minekea:building/compressed/cracked_stone_bricks/3x", + "minekea:building/compressed/cracked_stone_bricks/4x", + "minekea:building/compressed/cracked_stone_bricks/5x", + "minekea:building/compressed/cracked_stone_bricks/6x", + "minekea:building/compressed/cracked_stone_bricks/7x", + "minekea:building/compressed/cracked_stone_bricks/8x", + "minekea:building/compressed/cracked_stone_bricks/9x", + "minekea:building/compressed/crying_obsidian/1x", + "minekea:building/compressed/crying_obsidian/2x", + "minekea:building/compressed/crying_obsidian/3x", + "minekea:building/compressed/crying_obsidian/4x", + "minekea:building/compressed/crying_obsidian/5x", + "minekea:building/compressed/crying_obsidian/6x", + "minekea:building/compressed/crying_obsidian/7x", + "minekea:building/compressed/crying_obsidian/8x", + "minekea:building/compressed/crying_obsidian/9x", + "minekea:building/compressed/cut_red_sandstone/1x", + "minekea:building/compressed/cut_red_sandstone/2x", + "minekea:building/compressed/cut_red_sandstone/3x", + "minekea:building/compressed/cut_red_sandstone/4x", + "minekea:building/compressed/cut_red_sandstone/5x", + "minekea:building/compressed/cut_red_sandstone/6x", + "minekea:building/compressed/cut_red_sandstone/7x", + "minekea:building/compressed/cut_red_sandstone/8x", + "minekea:building/compressed/cut_red_sandstone/9x", + "minekea:building/compressed/cut_sandstone/1x", + "minekea:building/compressed/cut_sandstone/2x", + "minekea:building/compressed/cut_sandstone/3x", + "minekea:building/compressed/cut_sandstone/4x", + "minekea:building/compressed/cut_sandstone/5x", + "minekea:building/compressed/cut_sandstone/6x", + "minekea:building/compressed/cut_sandstone/7x", + "minekea:building/compressed/cut_sandstone/8x", + "minekea:building/compressed/cut_sandstone/9x", + "minekea:building/compressed/dark_prismarine/1x", + "minekea:building/compressed/dark_prismarine/2x", + "minekea:building/compressed/dark_prismarine/3x", + "minekea:building/compressed/dark_prismarine/4x", + "minekea:building/compressed/dark_prismarine/5x", + "minekea:building/compressed/dark_prismarine/6x", + "minekea:building/compressed/dark_prismarine/7x", + "minekea:building/compressed/dark_prismarine/8x", + "minekea:building/compressed/dark_prismarine/9x", + "minekea:building/compressed/deepslate_bricks/1x", + "minekea:building/compressed/deepslate_bricks/2x", + "minekea:building/compressed/deepslate_bricks/3x", + "minekea:building/compressed/deepslate_bricks/4x", + "minekea:building/compressed/deepslate_bricks/5x", + "minekea:building/compressed/deepslate_bricks/6x", + "minekea:building/compressed/deepslate_bricks/7x", + "minekea:building/compressed/deepslate_bricks/8x", + "minekea:building/compressed/deepslate_bricks/9x", + "minekea:building/compressed/deepslate_tiles/1x", + "minekea:building/compressed/deepslate_tiles/2x", + "minekea:building/compressed/deepslate_tiles/3x", + "minekea:building/compressed/deepslate_tiles/4x", + "minekea:building/compressed/deepslate_tiles/5x", + "minekea:building/compressed/deepslate_tiles/6x", + "minekea:building/compressed/deepslate_tiles/7x", + "minekea:building/compressed/deepslate_tiles/8x", + "minekea:building/compressed/deepslate_tiles/9x", + "minekea:building/compressed/diorite/1x", + "minekea:building/compressed/diorite/2x", + "minekea:building/compressed/diorite/3x", + "minekea:building/compressed/diorite/4x", + "minekea:building/compressed/diorite/5x", + "minekea:building/compressed/diorite/6x", + "minekea:building/compressed/diorite/7x", + "minekea:building/compressed/diorite/8x", + "minekea:building/compressed/diorite/9x", + "minekea:building/compressed/end_stone/1x", + "minekea:building/compressed/end_stone/2x", + "minekea:building/compressed/end_stone/3x", + "minekea:building/compressed/end_stone/4x", + "minekea:building/compressed/end_stone/5x", + "minekea:building/compressed/end_stone/6x", + "minekea:building/compressed/end_stone/7x", + "minekea:building/compressed/end_stone/8x", + "minekea:building/compressed/end_stone/9x", + "minekea:building/compressed/end_stone_bricks/1x", + "minekea:building/compressed/end_stone_bricks/2x", + "minekea:building/compressed/end_stone_bricks/3x", + "minekea:building/compressed/end_stone_bricks/4x", + "minekea:building/compressed/end_stone_bricks/5x", + "minekea:building/compressed/end_stone_bricks/6x", + "minekea:building/compressed/end_stone_bricks/7x", + "minekea:building/compressed/end_stone_bricks/8x", + "minekea:building/compressed/end_stone_bricks/9x", + "minekea:building/compressed/granite/1x", + "minekea:building/compressed/granite/2x", + "minekea:building/compressed/granite/3x", + "minekea:building/compressed/granite/4x", + "minekea:building/compressed/granite/5x", + "minekea:building/compressed/granite/6x", + "minekea:building/compressed/granite/7x", + "minekea:building/compressed/granite/8x", + "minekea:building/compressed/granite/9x", + "minekea:building/compressed/mossy_cobblestone/1x", + "minekea:building/compressed/mossy_cobblestone/2x", + "minekea:building/compressed/mossy_cobblestone/3x", + "minekea:building/compressed/mossy_cobblestone/4x", + "minekea:building/compressed/mossy_cobblestone/5x", + "minekea:building/compressed/mossy_cobblestone/6x", + "minekea:building/compressed/mossy_cobblestone/7x", + "minekea:building/compressed/mossy_cobblestone/8x", + "minekea:building/compressed/mossy_cobblestone/9x", + "minekea:building/compressed/mossy_stone_bricks/1x", + "minekea:building/compressed/mossy_stone_bricks/2x", + "minekea:building/compressed/mossy_stone_bricks/3x", + "minekea:building/compressed/mossy_stone_bricks/4x", + "minekea:building/compressed/mossy_stone_bricks/5x", + "minekea:building/compressed/mossy_stone_bricks/6x", + "minekea:building/compressed/mossy_stone_bricks/7x", + "minekea:building/compressed/mossy_stone_bricks/8x", + "minekea:building/compressed/mossy_stone_bricks/9x", + "minekea:building/compressed/mud_bricks/1x", + "minekea:building/compressed/mud_bricks/2x", + "minekea:building/compressed/mud_bricks/3x", + "minekea:building/compressed/mud_bricks/4x", + "minekea:building/compressed/mud_bricks/5x", + "minekea:building/compressed/mud_bricks/6x", + "minekea:building/compressed/mud_bricks/7x", + "minekea:building/compressed/mud_bricks/8x", + "minekea:building/compressed/mud_bricks/9x", + "minekea:building/compressed/netherrack/1x", + "minekea:building/compressed/netherrack/2x", + "minekea:building/compressed/netherrack/3x", + "minekea:building/compressed/netherrack/4x", + "minekea:building/compressed/netherrack/5x", + "minekea:building/compressed/netherrack/6x", + "minekea:building/compressed/netherrack/7x", + "minekea:building/compressed/netherrack/8x", + "minekea:building/compressed/netherrack/9x", + "minekea:building/compressed/nether_bricks/1x", + "minekea:building/compressed/nether_bricks/2x", + "minekea:building/compressed/nether_bricks/3x", + "minekea:building/compressed/nether_bricks/4x", + "minekea:building/compressed/nether_bricks/5x", + "minekea:building/compressed/nether_bricks/6x", + "minekea:building/compressed/nether_bricks/7x", + "minekea:building/compressed/nether_bricks/8x", + "minekea:building/compressed/nether_bricks/9x", + "minekea:building/compressed/obsidian/1x", + "minekea:building/compressed/obsidian/2x", + "minekea:building/compressed/obsidian/3x", + "minekea:building/compressed/obsidian/4x", + "minekea:building/compressed/obsidian/5x", + "minekea:building/compressed/obsidian/6x", + "minekea:building/compressed/obsidian/7x", + "minekea:building/compressed/obsidian/8x", + "minekea:building/compressed/obsidian/9x", + "minekea:building/compressed/packed_mud/1x", + "minekea:building/compressed/packed_mud/2x", + "minekea:building/compressed/packed_mud/3x", + "minekea:building/compressed/packed_mud/4x", + "minekea:building/compressed/packed_mud/5x", + "minekea:building/compressed/packed_mud/6x", + "minekea:building/compressed/packed_mud/7x", + "minekea:building/compressed/packed_mud/8x", + "minekea:building/compressed/packed_mud/9x", + "minekea:building/compressed/polished_andesite/1x", + "minekea:building/compressed/polished_andesite/2x", + "minekea:building/compressed/polished_andesite/3x", + "minekea:building/compressed/polished_andesite/4x", + "minekea:building/compressed/polished_andesite/5x", + "minekea:building/compressed/polished_andesite/6x", + "minekea:building/compressed/polished_andesite/7x", + "minekea:building/compressed/polished_andesite/8x", + "minekea:building/compressed/polished_andesite/9x", + "minekea:building/compressed/polished_blackstone/1x", + "minekea:building/compressed/polished_blackstone/2x", + "minekea:building/compressed/polished_blackstone/3x", + "minekea:building/compressed/polished_blackstone/4x", + "minekea:building/compressed/polished_blackstone/5x", + "minekea:building/compressed/polished_blackstone/6x", + "minekea:building/compressed/polished_blackstone/7x", + "minekea:building/compressed/polished_blackstone/8x", + "minekea:building/compressed/polished_blackstone/9x", + "minekea:building/compressed/polished_blackstone_bricks/1x", + "minekea:building/compressed/polished_blackstone_bricks/2x", + "minekea:building/compressed/polished_blackstone_bricks/3x", + "minekea:building/compressed/polished_blackstone_bricks/4x", + "minekea:building/compressed/polished_blackstone_bricks/5x", + "minekea:building/compressed/polished_blackstone_bricks/6x", + "minekea:building/compressed/polished_blackstone_bricks/7x", + "minekea:building/compressed/polished_blackstone_bricks/8x", + "minekea:building/compressed/polished_blackstone_bricks/9x", + "minekea:building/compressed/polished_deepslate/1x", + "minekea:building/compressed/polished_deepslate/2x", + "minekea:building/compressed/polished_deepslate/3x", + "minekea:building/compressed/polished_deepslate/4x", + "minekea:building/compressed/polished_deepslate/5x", + "minekea:building/compressed/polished_deepslate/6x", + "minekea:building/compressed/polished_deepslate/7x", + "minekea:building/compressed/polished_deepslate/8x", + "minekea:building/compressed/polished_deepslate/9x", + "minekea:building/compressed/polished_diorite/1x", + "minekea:building/compressed/polished_diorite/2x", + "minekea:building/compressed/polished_diorite/3x", + "minekea:building/compressed/polished_diorite/4x", + "minekea:building/compressed/polished_diorite/5x", + "minekea:building/compressed/polished_diorite/6x", + "minekea:building/compressed/polished_diorite/7x", + "minekea:building/compressed/polished_diorite/8x", + "minekea:building/compressed/polished_diorite/9x", + "minekea:building/compressed/polished_granite/1x", + "minekea:building/compressed/polished_granite/2x", + "minekea:building/compressed/polished_granite/3x", + "minekea:building/compressed/polished_granite/4x", + "minekea:building/compressed/polished_granite/5x", + "minekea:building/compressed/polished_granite/6x", + "minekea:building/compressed/polished_granite/7x", + "minekea:building/compressed/polished_granite/8x", + "minekea:building/compressed/polished_granite/9x", + "minekea:building/compressed/prismarine/1x", + "minekea:building/compressed/prismarine/2x", + "minekea:building/compressed/prismarine/3x", + "minekea:building/compressed/prismarine/4x", + "minekea:building/compressed/prismarine/5x", + "minekea:building/compressed/prismarine/6x", + "minekea:building/compressed/prismarine/7x", + "minekea:building/compressed/prismarine/8x", + "minekea:building/compressed/prismarine/9x", + "minekea:building/compressed/prismarine_bricks/1x", + "minekea:building/compressed/prismarine_bricks/2x", + "minekea:building/compressed/prismarine_bricks/3x", + "minekea:building/compressed/prismarine_bricks/4x", + "minekea:building/compressed/prismarine_bricks/5x", + "minekea:building/compressed/prismarine_bricks/6x", + "minekea:building/compressed/prismarine_bricks/7x", + "minekea:building/compressed/prismarine_bricks/8x", + "minekea:building/compressed/prismarine_bricks/9x", + "minekea:building/compressed/purpur_block/1x", + "minekea:building/compressed/purpur_block/2x", + "minekea:building/compressed/purpur_block/3x", + "minekea:building/compressed/purpur_block/4x", + "minekea:building/compressed/purpur_block/5x", + "minekea:building/compressed/purpur_block/6x", + "minekea:building/compressed/purpur_block/7x", + "minekea:building/compressed/purpur_block/8x", + "minekea:building/compressed/purpur_block/9x", + "minekea:building/compressed/quartz_bricks/1x", + "minekea:building/compressed/quartz_bricks/2x", + "minekea:building/compressed/quartz_bricks/3x", + "minekea:building/compressed/quartz_bricks/4x", + "minekea:building/compressed/quartz_bricks/5x", + "minekea:building/compressed/quartz_bricks/6x", + "minekea:building/compressed/quartz_bricks/7x", + "minekea:building/compressed/quartz_bricks/8x", + "minekea:building/compressed/quartz_bricks/9x", + "minekea:building/compressed/red_nether_bricks/1x", + "minekea:building/compressed/red_nether_bricks/2x", + "minekea:building/compressed/red_nether_bricks/3x", + "minekea:building/compressed/red_nether_bricks/4x", + "minekea:building/compressed/red_nether_bricks/5x", + "minekea:building/compressed/red_nether_bricks/6x", + "minekea:building/compressed/red_nether_bricks/7x", + "minekea:building/compressed/red_nether_bricks/8x", + "minekea:building/compressed/red_nether_bricks/9x", + "minekea:building/compressed/red_sandstone/1x", + "minekea:building/compressed/red_sandstone/2x", + "minekea:building/compressed/red_sandstone/3x", + "minekea:building/compressed/red_sandstone/4x", + "minekea:building/compressed/red_sandstone/5x", + "minekea:building/compressed/red_sandstone/6x", + "minekea:building/compressed/red_sandstone/7x", + "minekea:building/compressed/red_sandstone/8x", + "minekea:building/compressed/red_sandstone/9x", + "minekea:building/compressed/sandstone/1x", + "minekea:building/compressed/sandstone/2x", + "minekea:building/compressed/sandstone/3x", + "minekea:building/compressed/sandstone/4x", + "minekea:building/compressed/sandstone/5x", + "minekea:building/compressed/sandstone/6x", + "minekea:building/compressed/sandstone/7x", + "minekea:building/compressed/sandstone/8x", + "minekea:building/compressed/sandstone/9x", + "minekea:building/compressed/smooth_basalt/1x", + "minekea:building/compressed/smooth_basalt/2x", + "minekea:building/compressed/smooth_basalt/3x", + "minekea:building/compressed/smooth_basalt/4x", + "minekea:building/compressed/smooth_basalt/5x", + "minekea:building/compressed/smooth_basalt/6x", + "minekea:building/compressed/smooth_basalt/7x", + "minekea:building/compressed/smooth_basalt/8x", + "minekea:building/compressed/smooth_basalt/9x", + "minekea:building/compressed/quartz_block_bottom/1x", + "minekea:building/compressed/quartz_block_bottom/2x", + "minekea:building/compressed/quartz_block_bottom/3x", + "minekea:building/compressed/quartz_block_bottom/4x", + "minekea:building/compressed/quartz_block_bottom/5x", + "minekea:building/compressed/quartz_block_bottom/6x", + "minekea:building/compressed/quartz_block_bottom/7x", + "minekea:building/compressed/quartz_block_bottom/8x", + "minekea:building/compressed/quartz_block_bottom/9x", + "minekea:building/compressed/red_sandstone_top/1x", + "minekea:building/compressed/red_sandstone_top/2x", + "minekea:building/compressed/red_sandstone_top/3x", + "minekea:building/compressed/red_sandstone_top/4x", + "minekea:building/compressed/red_sandstone_top/5x", + "minekea:building/compressed/red_sandstone_top/6x", + "minekea:building/compressed/red_sandstone_top/7x", + "minekea:building/compressed/red_sandstone_top/8x", + "minekea:building/compressed/red_sandstone_top/9x", + "minekea:building/compressed/sandstone_top/1x", + "minekea:building/compressed/sandstone_top/2x", + "minekea:building/compressed/sandstone_top/3x", + "minekea:building/compressed/sandstone_top/4x", + "minekea:building/compressed/sandstone_top/5x", + "minekea:building/compressed/sandstone_top/6x", + "minekea:building/compressed/sandstone_top/7x", + "minekea:building/compressed/sandstone_top/8x", + "minekea:building/compressed/sandstone_top/9x", + "minekea:building/compressed/smooth_stone/1x", + "minekea:building/compressed/smooth_stone/2x", + "minekea:building/compressed/smooth_stone/3x", + "minekea:building/compressed/smooth_stone/4x", + "minekea:building/compressed/smooth_stone/5x", + "minekea:building/compressed/smooth_stone/6x", + "minekea:building/compressed/smooth_stone/7x", + "minekea:building/compressed/smooth_stone/8x", + "minekea:building/compressed/smooth_stone/9x", + "minekea:building/compressed/stone/1x", + "minekea:building/compressed/stone/2x", + "minekea:building/compressed/stone/3x", + "minekea:building/compressed/stone/4x", + "minekea:building/compressed/stone/5x", + "minekea:building/compressed/stone/6x", + "minekea:building/compressed/stone/7x", + "minekea:building/compressed/stone/8x", + "minekea:building/compressed/stone/9x", + "minekea:building/compressed/stone_bricks/1x", + "minekea:building/compressed/stone_bricks/2x", + "minekea:building/compressed/stone_bricks/3x", + "minekea:building/compressed/stone_bricks/4x", + "minekea:building/compressed/stone_bricks/5x", + "minekea:building/compressed/stone_bricks/6x", + "minekea:building/compressed/stone_bricks/7x", + "minekea:building/compressed/stone_bricks/8x", + "minekea:building/compressed/stone_bricks/9x", + "minekea:building/compressed/tuff/1x", + "minekea:building/compressed/tuff/2x", + "minekea:building/compressed/tuff/3x", + "minekea:building/compressed/tuff/4x", + "minekea:building/compressed/tuff/5x", + "minekea:building/compressed/tuff/6x", + "minekea:building/compressed/tuff/7x", + "minekea:building/compressed/tuff/8x", + "minekea:building/compressed/tuff/9x", + "minekea:building/compressed/copper_block/1x", + "minekea:building/compressed/copper_block/2x", + "minekea:building/compressed/copper_block/3x", + "minekea:building/compressed/copper_block/4x", + "minekea:building/compressed/copper_block/5x", + "minekea:building/compressed/copper_block/6x", + "minekea:building/compressed/copper_block/7x", + "minekea:building/compressed/copper_block/8x", + "minekea:building/compressed/copper_block/9x", + "minekea:building/compressed/diamond_block/1x", + "minekea:building/compressed/diamond_block/2x", + "minekea:building/compressed/diamond_block/3x", + "minekea:building/compressed/diamond_block/4x", + "minekea:building/compressed/diamond_block/5x", + "minekea:building/compressed/diamond_block/6x", + "minekea:building/compressed/diamond_block/7x", + "minekea:building/compressed/diamond_block/8x", + "minekea:building/compressed/diamond_block/9x", + "minekea:building/compressed/gold_block/1x", + "minekea:building/compressed/gold_block/2x", + "minekea:building/compressed/gold_block/3x", + "minekea:building/compressed/gold_block/4x", + "minekea:building/compressed/gold_block/5x", + "minekea:building/compressed/gold_block/6x", + "minekea:building/compressed/gold_block/7x", + "minekea:building/compressed/gold_block/8x", + "minekea:building/compressed/gold_block/9x", + "minekea:building/compressed/iron_block/1x", + "minekea:building/compressed/iron_block/2x", + "minekea:building/compressed/iron_block/3x", + "minekea:building/compressed/iron_block/4x", + "minekea:building/compressed/iron_block/5x", + "minekea:building/compressed/iron_block/6x", + "minekea:building/compressed/iron_block/7x", + "minekea:building/compressed/iron_block/8x", + "minekea:building/compressed/iron_block/9x", + "minekea:building/compressed/lapis_block/1x", + "minekea:building/compressed/lapis_block/2x", + "minekea:building/compressed/lapis_block/3x", + "minekea:building/compressed/lapis_block/4x", + "minekea:building/compressed/lapis_block/5x", + "minekea:building/compressed/lapis_block/6x", + "minekea:building/compressed/lapis_block/7x", + "minekea:building/compressed/lapis_block/8x", + "minekea:building/compressed/lapis_block/9x", + "minekea:building/compressed/netherite_block/1x", + "minekea:building/compressed/netherite_block/2x", + "minekea:building/compressed/netherite_block/3x", + "minekea:building/compressed/netherite_block/4x", + "minekea:building/compressed/netherite_block/5x", + "minekea:building/compressed/netherite_block/6x", + "minekea:building/compressed/netherite_block/7x", + "minekea:building/compressed/netherite_block/8x", + "minekea:building/compressed/netherite_block/9x", + "minekea:building/compressed/redstone_block/1x", + "minekea:building/compressed/redstone_block/2x", + "minekea:building/compressed/redstone_block/3x", + "minekea:building/compressed/redstone_block/4x", + "minekea:building/compressed/redstone_block/5x", + "minekea:building/compressed/redstone_block/6x", + "minekea:building/compressed/redstone_block/7x", + "minekea:building/compressed/redstone_block/8x", + "minekea:building/compressed/redstone_block/9x", + "minekea:building/compressed/white_terracotta/1x", + "minekea:building/compressed/white_terracotta/2x", + "minekea:building/compressed/white_terracotta/3x", + "minekea:building/compressed/white_terracotta/4x", + "minekea:building/compressed/white_terracotta/5x", + "minekea:building/compressed/white_terracotta/6x", + "minekea:building/compressed/white_terracotta/7x", + "minekea:building/compressed/white_terracotta/8x", + "minekea:building/compressed/white_terracotta/9x", + "minekea:building/compressed/orange_terracotta/1x", + "minekea:building/compressed/orange_terracotta/2x", + "minekea:building/compressed/orange_terracotta/3x", + "minekea:building/compressed/orange_terracotta/4x", + "minekea:building/compressed/orange_terracotta/5x", + "minekea:building/compressed/orange_terracotta/6x", + "minekea:building/compressed/orange_terracotta/7x", + "minekea:building/compressed/orange_terracotta/8x", + "minekea:building/compressed/orange_terracotta/9x", + "minekea:building/compressed/magenta_terracotta/1x", + "minekea:building/compressed/magenta_terracotta/2x", + "minekea:building/compressed/magenta_terracotta/3x", + "minekea:building/compressed/magenta_terracotta/4x", + "minekea:building/compressed/magenta_terracotta/5x", + "minekea:building/compressed/magenta_terracotta/6x", + "minekea:building/compressed/magenta_terracotta/7x", + "minekea:building/compressed/magenta_terracotta/8x", + "minekea:building/compressed/magenta_terracotta/9x", + "minekea:building/compressed/light_blue_terracotta/1x", + "minekea:building/compressed/light_blue_terracotta/2x", + "minekea:building/compressed/light_blue_terracotta/3x", + "minekea:building/compressed/light_blue_terracotta/4x", + "minekea:building/compressed/light_blue_terracotta/5x", + "minekea:building/compressed/light_blue_terracotta/6x", + "minekea:building/compressed/light_blue_terracotta/7x", + "minekea:building/compressed/light_blue_terracotta/8x", + "minekea:building/compressed/light_blue_terracotta/9x", + "minekea:building/compressed/yellow_terracotta/1x", + "minekea:building/compressed/yellow_terracotta/2x", + "minekea:building/compressed/yellow_terracotta/3x", + "minekea:building/compressed/yellow_terracotta/4x", + "minekea:building/compressed/yellow_terracotta/5x", + "minekea:building/compressed/yellow_terracotta/6x", + "minekea:building/compressed/yellow_terracotta/7x", + "minekea:building/compressed/yellow_terracotta/8x", + "minekea:building/compressed/yellow_terracotta/9x", + "minekea:building/compressed/lime_terracotta/1x", + "minekea:building/compressed/lime_terracotta/2x", + "minekea:building/compressed/lime_terracotta/3x", + "minekea:building/compressed/lime_terracotta/4x", + "minekea:building/compressed/lime_terracotta/5x", + "minekea:building/compressed/lime_terracotta/6x", + "minekea:building/compressed/lime_terracotta/7x", + "minekea:building/compressed/lime_terracotta/8x", + "minekea:building/compressed/lime_terracotta/9x", + "minekea:building/compressed/pink_terracotta/1x", + "minekea:building/compressed/pink_terracotta/2x", + "minekea:building/compressed/pink_terracotta/3x", + "minekea:building/compressed/pink_terracotta/4x", + "minekea:building/compressed/pink_terracotta/5x", + "minekea:building/compressed/pink_terracotta/6x", + "minekea:building/compressed/pink_terracotta/7x", + "minekea:building/compressed/pink_terracotta/8x", + "minekea:building/compressed/pink_terracotta/9x", + "minekea:building/compressed/gray_terracotta/1x", + "minekea:building/compressed/gray_terracotta/2x", + "minekea:building/compressed/gray_terracotta/3x", + "minekea:building/compressed/gray_terracotta/4x", + "minekea:building/compressed/gray_terracotta/5x", + "minekea:building/compressed/gray_terracotta/6x", + "minekea:building/compressed/gray_terracotta/7x", + "minekea:building/compressed/gray_terracotta/8x", + "minekea:building/compressed/gray_terracotta/9x", + "minekea:building/compressed/light_gray_terracotta/1x", + "minekea:building/compressed/light_gray_terracotta/2x", + "minekea:building/compressed/light_gray_terracotta/3x", + "minekea:building/compressed/light_gray_terracotta/4x", + "minekea:building/compressed/light_gray_terracotta/5x", + "minekea:building/compressed/light_gray_terracotta/6x", + "minekea:building/compressed/light_gray_terracotta/7x", + "minekea:building/compressed/light_gray_terracotta/8x", + "minekea:building/compressed/light_gray_terracotta/9x", + "minekea:building/compressed/cyan_terracotta/1x", + "minekea:building/compressed/cyan_terracotta/2x", + "minekea:building/compressed/cyan_terracotta/3x", + "minekea:building/compressed/cyan_terracotta/4x", + "minekea:building/compressed/cyan_terracotta/5x", + "minekea:building/compressed/cyan_terracotta/6x", + "minekea:building/compressed/cyan_terracotta/7x", + "minekea:building/compressed/cyan_terracotta/8x", + "minekea:building/compressed/cyan_terracotta/9x", + "minekea:building/compressed/purple_terracotta/1x", + "minekea:building/compressed/purple_terracotta/2x", + "minekea:building/compressed/purple_terracotta/3x", + "minekea:building/compressed/purple_terracotta/4x", + "minekea:building/compressed/purple_terracotta/5x", + "minekea:building/compressed/purple_terracotta/6x", + "minekea:building/compressed/purple_terracotta/7x", + "minekea:building/compressed/purple_terracotta/8x", + "minekea:building/compressed/purple_terracotta/9x", + "minekea:building/compressed/blue_terracotta/1x", + "minekea:building/compressed/blue_terracotta/2x", + "minekea:building/compressed/blue_terracotta/3x", + "minekea:building/compressed/blue_terracotta/4x", + "minekea:building/compressed/blue_terracotta/5x", + "minekea:building/compressed/blue_terracotta/6x", + "minekea:building/compressed/blue_terracotta/7x", + "minekea:building/compressed/blue_terracotta/8x", + "minekea:building/compressed/blue_terracotta/9x", + "minekea:building/compressed/brown_terracotta/1x", + "minekea:building/compressed/brown_terracotta/2x", + "minekea:building/compressed/brown_terracotta/3x", + "minekea:building/compressed/brown_terracotta/4x", + "minekea:building/compressed/brown_terracotta/5x", + "minekea:building/compressed/brown_terracotta/6x", + "minekea:building/compressed/brown_terracotta/7x", + "minekea:building/compressed/brown_terracotta/8x", + "minekea:building/compressed/brown_terracotta/9x", + "minekea:building/compressed/green_terracotta/1x", + "minekea:building/compressed/green_terracotta/2x", + "minekea:building/compressed/green_terracotta/3x", + "minekea:building/compressed/green_terracotta/4x", + "minekea:building/compressed/green_terracotta/5x", + "minekea:building/compressed/green_terracotta/6x", + "minekea:building/compressed/green_terracotta/7x", + "minekea:building/compressed/green_terracotta/8x", + "minekea:building/compressed/green_terracotta/9x", + "minekea:building/compressed/red_terracotta/1x", + "minekea:building/compressed/red_terracotta/2x", + "minekea:building/compressed/red_terracotta/3x", + "minekea:building/compressed/red_terracotta/4x", + "minekea:building/compressed/red_terracotta/5x", + "minekea:building/compressed/red_terracotta/6x", + "minekea:building/compressed/red_terracotta/7x", + "minekea:building/compressed/red_terracotta/8x", + "minekea:building/compressed/red_terracotta/9x", + "minekea:building/compressed/black_terracotta/1x", + "minekea:building/compressed/black_terracotta/2x", + "minekea:building/compressed/black_terracotta/3x", + "minekea:building/compressed/black_terracotta/4x", + "minekea:building/compressed/black_terracotta/5x", + "minekea:building/compressed/black_terracotta/6x", + "minekea:building/compressed/black_terracotta/7x", + "minekea:building/compressed/black_terracotta/8x", + "minekea:building/compressed/black_terracotta/9x", + "minekea:building/compressed/white_glazed_terracotta/1x", + "minekea:building/compressed/white_glazed_terracotta/2x", + "minekea:building/compressed/white_glazed_terracotta/3x", + "minekea:building/compressed/white_glazed_terracotta/4x", + "minekea:building/compressed/white_glazed_terracotta/5x", + "minekea:building/compressed/white_glazed_terracotta/6x", + "minekea:building/compressed/white_glazed_terracotta/7x", + "minekea:building/compressed/white_glazed_terracotta/8x", + "minekea:building/compressed/white_glazed_terracotta/9x", + "minekea:building/compressed/orange_glazed_terracotta/1x", + "minekea:building/compressed/orange_glazed_terracotta/2x", + "minekea:building/compressed/orange_glazed_terracotta/3x", + "minekea:building/compressed/orange_glazed_terracotta/4x", + "minekea:building/compressed/orange_glazed_terracotta/5x", + "minekea:building/compressed/orange_glazed_terracotta/6x", + "minekea:building/compressed/orange_glazed_terracotta/7x", + "minekea:building/compressed/orange_glazed_terracotta/8x", + "minekea:building/compressed/orange_glazed_terracotta/9x", + "minekea:building/compressed/magenta_glazed_terracotta/1x", + "minekea:building/compressed/magenta_glazed_terracotta/2x", + "minekea:building/compressed/magenta_glazed_terracotta/3x", + "minekea:building/compressed/magenta_glazed_terracotta/4x", + "minekea:building/compressed/magenta_glazed_terracotta/5x", + "minekea:building/compressed/magenta_glazed_terracotta/6x", + "minekea:building/compressed/magenta_glazed_terracotta/7x", + "minekea:building/compressed/magenta_glazed_terracotta/8x", + "minekea:building/compressed/magenta_glazed_terracotta/9x", + "minekea:building/compressed/light_blue_glazed_terracotta/1x", + "minekea:building/compressed/light_blue_glazed_terracotta/2x", + "minekea:building/compressed/light_blue_glazed_terracotta/3x", + "minekea:building/compressed/light_blue_glazed_terracotta/4x", + "minekea:building/compressed/light_blue_glazed_terracotta/5x", + "minekea:building/compressed/light_blue_glazed_terracotta/6x", + "minekea:building/compressed/light_blue_glazed_terracotta/7x", + "minekea:building/compressed/light_blue_glazed_terracotta/8x", + "minekea:building/compressed/light_blue_glazed_terracotta/9x", + "minekea:building/compressed/yellow_glazed_terracotta/1x", + "minekea:building/compressed/yellow_glazed_terracotta/2x", + "minekea:building/compressed/yellow_glazed_terracotta/3x", + "minekea:building/compressed/yellow_glazed_terracotta/4x", + "minekea:building/compressed/yellow_glazed_terracotta/5x", + "minekea:building/compressed/yellow_glazed_terracotta/6x", + "minekea:building/compressed/yellow_glazed_terracotta/7x", + "minekea:building/compressed/yellow_glazed_terracotta/8x", + "minekea:building/compressed/yellow_glazed_terracotta/9x", + "minekea:building/compressed/lime_glazed_terracotta/1x", + "minekea:building/compressed/lime_glazed_terracotta/2x", + "minekea:building/compressed/lime_glazed_terracotta/3x", + "minekea:building/compressed/lime_glazed_terracotta/4x", + "minekea:building/compressed/lime_glazed_terracotta/5x", + "minekea:building/compressed/lime_glazed_terracotta/6x", + "minekea:building/compressed/lime_glazed_terracotta/7x", + "minekea:building/compressed/lime_glazed_terracotta/8x", + "minekea:building/compressed/lime_glazed_terracotta/9x", + "minekea:building/compressed/pink_glazed_terracotta/1x", + "minekea:building/compressed/pink_glazed_terracotta/2x", + "minekea:building/compressed/pink_glazed_terracotta/3x", + "minekea:building/compressed/pink_glazed_terracotta/4x", + "minekea:building/compressed/pink_glazed_terracotta/5x", + "minekea:building/compressed/pink_glazed_terracotta/6x", + "minekea:building/compressed/pink_glazed_terracotta/7x", + "minekea:building/compressed/pink_glazed_terracotta/8x", + "minekea:building/compressed/pink_glazed_terracotta/9x", + "minekea:building/compressed/gray_glazed_terracotta/1x", + "minekea:building/compressed/gray_glazed_terracotta/2x", + "minekea:building/compressed/gray_glazed_terracotta/3x", + "minekea:building/compressed/gray_glazed_terracotta/4x", + "minekea:building/compressed/gray_glazed_terracotta/5x", + "minekea:building/compressed/gray_glazed_terracotta/6x", + "minekea:building/compressed/gray_glazed_terracotta/7x", + "minekea:building/compressed/gray_glazed_terracotta/8x", + "minekea:building/compressed/gray_glazed_terracotta/9x", + "minekea:building/compressed/light_gray_glazed_terracotta/1x", + "minekea:building/compressed/light_gray_glazed_terracotta/2x", + "minekea:building/compressed/light_gray_glazed_terracotta/3x", + "minekea:building/compressed/light_gray_glazed_terracotta/4x", + "minekea:building/compressed/light_gray_glazed_terracotta/5x", + "minekea:building/compressed/light_gray_glazed_terracotta/6x", + "minekea:building/compressed/light_gray_glazed_terracotta/7x", + "minekea:building/compressed/light_gray_glazed_terracotta/8x", + "minekea:building/compressed/light_gray_glazed_terracotta/9x", + "minekea:building/compressed/cyan_glazed_terracotta/1x", + "minekea:building/compressed/cyan_glazed_terracotta/2x", + "minekea:building/compressed/cyan_glazed_terracotta/3x", + "minekea:building/compressed/cyan_glazed_terracotta/4x", + "minekea:building/compressed/cyan_glazed_terracotta/5x", + "minekea:building/compressed/cyan_glazed_terracotta/6x", + "minekea:building/compressed/cyan_glazed_terracotta/7x", + "minekea:building/compressed/cyan_glazed_terracotta/8x", + "minekea:building/compressed/cyan_glazed_terracotta/9x", + "minekea:building/compressed/purple_glazed_terracotta/1x", + "minekea:building/compressed/purple_glazed_terracotta/2x", + "minekea:building/compressed/purple_glazed_terracotta/3x", + "minekea:building/compressed/purple_glazed_terracotta/4x", + "minekea:building/compressed/purple_glazed_terracotta/5x", + "minekea:building/compressed/purple_glazed_terracotta/6x", + "minekea:building/compressed/purple_glazed_terracotta/7x", + "minekea:building/compressed/purple_glazed_terracotta/8x", + "minekea:building/compressed/purple_glazed_terracotta/9x", + "minekea:building/compressed/blue_glazed_terracotta/1x", + "minekea:building/compressed/blue_glazed_terracotta/2x", + "minekea:building/compressed/blue_glazed_terracotta/3x", + "minekea:building/compressed/blue_glazed_terracotta/4x", + "minekea:building/compressed/blue_glazed_terracotta/5x", + "minekea:building/compressed/blue_glazed_terracotta/6x", + "minekea:building/compressed/blue_glazed_terracotta/7x", + "minekea:building/compressed/blue_glazed_terracotta/8x", + "minekea:building/compressed/blue_glazed_terracotta/9x", + "minekea:building/compressed/brown_glazed_terracotta/1x", + "minekea:building/compressed/brown_glazed_terracotta/2x", + "minekea:building/compressed/brown_glazed_terracotta/3x", + "minekea:building/compressed/brown_glazed_terracotta/4x", + "minekea:building/compressed/brown_glazed_terracotta/5x", + "minekea:building/compressed/brown_glazed_terracotta/6x", + "minekea:building/compressed/brown_glazed_terracotta/7x", + "minekea:building/compressed/brown_glazed_terracotta/8x", + "minekea:building/compressed/brown_glazed_terracotta/9x", + "minekea:building/compressed/green_glazed_terracotta/1x", + "minekea:building/compressed/green_glazed_terracotta/2x", + "minekea:building/compressed/green_glazed_terracotta/3x", + "minekea:building/compressed/green_glazed_terracotta/4x", + "minekea:building/compressed/green_glazed_terracotta/5x", + "minekea:building/compressed/green_glazed_terracotta/6x", + "minekea:building/compressed/green_glazed_terracotta/7x", + "minekea:building/compressed/green_glazed_terracotta/8x", + "minekea:building/compressed/green_glazed_terracotta/9x", + "minekea:building/compressed/red_glazed_terracotta/1x", + "minekea:building/compressed/red_glazed_terracotta/2x", + "minekea:building/compressed/red_glazed_terracotta/3x", + "minekea:building/compressed/red_glazed_terracotta/4x", + "minekea:building/compressed/red_glazed_terracotta/5x", + "minekea:building/compressed/red_glazed_terracotta/6x", + "minekea:building/compressed/red_glazed_terracotta/7x", + "minekea:building/compressed/red_glazed_terracotta/8x", + "minekea:building/compressed/red_glazed_terracotta/9x", + "minekea:building/compressed/black_glazed_terracotta/1x", + "minekea:building/compressed/black_glazed_terracotta/2x", + "minekea:building/compressed/black_glazed_terracotta/3x", + "minekea:building/compressed/black_glazed_terracotta/4x", + "minekea:building/compressed/black_glazed_terracotta/5x", + "minekea:building/compressed/black_glazed_terracotta/6x", + "minekea:building/compressed/black_glazed_terracotta/7x", + "minekea:building/compressed/black_glazed_terracotta/8x", + "minekea:building/compressed/black_glazed_terracotta/9x", + "minekea:building/compressed/white_concrete/1x", + "minekea:building/compressed/white_concrete/2x", + "minekea:building/compressed/white_concrete/3x", + "minekea:building/compressed/white_concrete/4x", + "minekea:building/compressed/white_concrete/5x", + "minekea:building/compressed/white_concrete/6x", + "minekea:building/compressed/white_concrete/7x", + "minekea:building/compressed/white_concrete/8x", + "minekea:building/compressed/white_concrete/9x", + "minekea:building/compressed/orange_concrete/1x", + "minekea:building/compressed/orange_concrete/2x", + "minekea:building/compressed/orange_concrete/3x", + "minekea:building/compressed/orange_concrete/4x", + "minekea:building/compressed/orange_concrete/5x", + "minekea:building/compressed/orange_concrete/6x", + "minekea:building/compressed/orange_concrete/7x", + "minekea:building/compressed/orange_concrete/8x", + "minekea:building/compressed/orange_concrete/9x", + "minekea:building/compressed/magenta_concrete/1x", + "minekea:building/compressed/magenta_concrete/2x", + "minekea:building/compressed/magenta_concrete/3x", + "minekea:building/compressed/magenta_concrete/4x", + "minekea:building/compressed/magenta_concrete/5x", + "minekea:building/compressed/magenta_concrete/6x", + "minekea:building/compressed/magenta_concrete/7x", + "minekea:building/compressed/magenta_concrete/8x", + "minekea:building/compressed/magenta_concrete/9x", + "minekea:building/compressed/light_blue_concrete/1x", + "minekea:building/compressed/light_blue_concrete/2x", + "minekea:building/compressed/light_blue_concrete/3x", + "minekea:building/compressed/light_blue_concrete/4x", + "minekea:building/compressed/light_blue_concrete/5x", + "minekea:building/compressed/light_blue_concrete/6x", + "minekea:building/compressed/light_blue_concrete/7x", + "minekea:building/compressed/light_blue_concrete/8x", + "minekea:building/compressed/light_blue_concrete/9x", + "minekea:building/compressed/yellow_concrete/1x", + "minekea:building/compressed/yellow_concrete/2x", + "minekea:building/compressed/yellow_concrete/3x", + "minekea:building/compressed/yellow_concrete/4x", + "minekea:building/compressed/yellow_concrete/5x", + "minekea:building/compressed/yellow_concrete/6x", + "minekea:building/compressed/yellow_concrete/7x", + "minekea:building/compressed/yellow_concrete/8x", + "minekea:building/compressed/yellow_concrete/9x", + "minekea:building/compressed/lime_concrete/1x", + "minekea:building/compressed/lime_concrete/2x", + "minekea:building/compressed/lime_concrete/3x", + "minekea:building/compressed/lime_concrete/4x", + "minekea:building/compressed/lime_concrete/5x", + "minekea:building/compressed/lime_concrete/6x", + "minekea:building/compressed/lime_concrete/7x", + "minekea:building/compressed/lime_concrete/8x", + "minekea:building/compressed/lime_concrete/9x", + "minekea:building/compressed/pink_concrete/1x", + "minekea:building/compressed/pink_concrete/2x", + "minekea:building/compressed/pink_concrete/3x", + "minekea:building/compressed/pink_concrete/4x", + "minekea:building/compressed/pink_concrete/5x", + "minekea:building/compressed/pink_concrete/6x", + "minekea:building/compressed/pink_concrete/7x", + "minekea:building/compressed/pink_concrete/8x", + "minekea:building/compressed/pink_concrete/9x", + "minekea:building/compressed/gray_concrete/1x", + "minekea:building/compressed/gray_concrete/2x", + "minekea:building/compressed/gray_concrete/3x", + "minekea:building/compressed/gray_concrete/4x", + "minekea:building/compressed/gray_concrete/5x", + "minekea:building/compressed/gray_concrete/6x", + "minekea:building/compressed/gray_concrete/7x", + "minekea:building/compressed/gray_concrete/8x", + "minekea:building/compressed/gray_concrete/9x", + "minekea:building/compressed/light_gray_concrete/1x", + "minekea:building/compressed/light_gray_concrete/2x", + "minekea:building/compressed/light_gray_concrete/3x", + "minekea:building/compressed/light_gray_concrete/4x", + "minekea:building/compressed/light_gray_concrete/5x", + "minekea:building/compressed/light_gray_concrete/6x", + "minekea:building/compressed/light_gray_concrete/7x", + "minekea:building/compressed/light_gray_concrete/8x", + "minekea:building/compressed/light_gray_concrete/9x", + "minekea:building/compressed/cyan_concrete/1x", + "minekea:building/compressed/cyan_concrete/2x", + "minekea:building/compressed/cyan_concrete/3x", + "minekea:building/compressed/cyan_concrete/4x", + "minekea:building/compressed/cyan_concrete/5x", + "minekea:building/compressed/cyan_concrete/6x", + "minekea:building/compressed/cyan_concrete/7x", + "minekea:building/compressed/cyan_concrete/8x", + "minekea:building/compressed/cyan_concrete/9x", + "minekea:building/compressed/purple_concrete/1x", + "minekea:building/compressed/purple_concrete/2x", + "minekea:building/compressed/purple_concrete/3x", + "minekea:building/compressed/purple_concrete/4x", + "minekea:building/compressed/purple_concrete/5x", + "minekea:building/compressed/purple_concrete/6x", + "minekea:building/compressed/purple_concrete/7x", + "minekea:building/compressed/purple_concrete/8x", + "minekea:building/compressed/purple_concrete/9x", + "minekea:building/compressed/blue_concrete/1x", + "minekea:building/compressed/blue_concrete/2x", + "minekea:building/compressed/blue_concrete/3x", + "minekea:building/compressed/blue_concrete/4x", + "minekea:building/compressed/blue_concrete/5x", + "minekea:building/compressed/blue_concrete/6x", + "minekea:building/compressed/blue_concrete/7x", + "minekea:building/compressed/blue_concrete/8x", + "minekea:building/compressed/blue_concrete/9x", + "minekea:building/compressed/brown_concrete/1x", + "minekea:building/compressed/brown_concrete/2x", + "minekea:building/compressed/brown_concrete/3x", + "minekea:building/compressed/brown_concrete/4x", + "minekea:building/compressed/brown_concrete/5x", + "minekea:building/compressed/brown_concrete/6x", + "minekea:building/compressed/brown_concrete/7x", + "minekea:building/compressed/brown_concrete/8x", + "minekea:building/compressed/brown_concrete/9x", + "minekea:building/compressed/green_concrete/1x", + "minekea:building/compressed/green_concrete/2x", + "minekea:building/compressed/green_concrete/3x", + "minekea:building/compressed/green_concrete/4x", + "minekea:building/compressed/green_concrete/5x", + "minekea:building/compressed/green_concrete/6x", + "minekea:building/compressed/green_concrete/7x", + "minekea:building/compressed/green_concrete/8x", + "minekea:building/compressed/green_concrete/9x", + "minekea:building/compressed/red_concrete/1x", + "minekea:building/compressed/red_concrete/2x", + "minekea:building/compressed/red_concrete/3x", + "minekea:building/compressed/red_concrete/4x", + "minekea:building/compressed/red_concrete/5x", + "minekea:building/compressed/red_concrete/6x", + "minekea:building/compressed/red_concrete/7x", + "minekea:building/compressed/red_concrete/8x", + "minekea:building/compressed/red_concrete/9x", + "minekea:building/compressed/black_concrete/1x", + "minekea:building/compressed/black_concrete/2x", + "minekea:building/compressed/black_concrete/3x", + "minekea:building/compressed/black_concrete/4x", + "minekea:building/compressed/black_concrete/5x", + "minekea:building/compressed/black_concrete/6x", + "minekea:building/compressed/black_concrete/7x", + "minekea:building/compressed/black_concrete/8x", + "minekea:building/compressed/black_concrete/9x", + "minekea:building/compressed/basalt/1x", + "minekea:building/compressed/basalt/2x", + "minekea:building/compressed/basalt/3x", + "minekea:building/compressed/basalt/4x", + "minekea:building/compressed/basalt/5x", + "minekea:building/compressed/basalt/6x", + "minekea:building/compressed/basalt/7x", + "minekea:building/compressed/basalt/8x", + "minekea:building/compressed/basalt/9x", + "minekea:building/compressed/blackstone/1x", + "minekea:building/compressed/blackstone/2x", + "minekea:building/compressed/blackstone/3x", + "minekea:building/compressed/blackstone/4x", + "minekea:building/compressed/blackstone/5x", + "minekea:building/compressed/blackstone/6x", + "minekea:building/compressed/blackstone/7x", + "minekea:building/compressed/blackstone/8x", + "minekea:building/compressed/blackstone/9x", + "minekea:building/compressed/bone_block/1x", + "minekea:building/compressed/bone_block/2x", + "minekea:building/compressed/bone_block/3x", + "minekea:building/compressed/bone_block/4x", + "minekea:building/compressed/bone_block/5x", + "minekea:building/compressed/bone_block/6x", + "minekea:building/compressed/bone_block/7x", + "minekea:building/compressed/bone_block/8x", + "minekea:building/compressed/bone_block/9x", + "minekea:building/compressed/deepslate/1x", + "minekea:building/compressed/deepslate/2x", + "minekea:building/compressed/deepslate/3x", + "minekea:building/compressed/deepslate/4x", + "minekea:building/compressed/deepslate/5x", + "minekea:building/compressed/deepslate/6x", + "minekea:building/compressed/deepslate/7x", + "minekea:building/compressed/deepslate/8x", + "minekea:building/compressed/deepslate/9x", + "minekea:building/compressed/polished_basalt/1x", + "minekea:building/compressed/polished_basalt/2x", + "minekea:building/compressed/polished_basalt/3x", + "minekea:building/compressed/polished_basalt/4x", + "minekea:building/compressed/polished_basalt/5x", + "minekea:building/compressed/polished_basalt/6x", + "minekea:building/compressed/polished_basalt/7x", + "minekea:building/compressed/polished_basalt/8x", + "minekea:building/compressed/polished_basalt/9x", + "minekea:building/compressed/purpur_pillar/1x", + "minekea:building/compressed/purpur_pillar/2x", + "minekea:building/compressed/purpur_pillar/3x", + "minekea:building/compressed/purpur_pillar/4x", + "minekea:building/compressed/purpur_pillar/5x", + "minekea:building/compressed/purpur_pillar/6x", + "minekea:building/compressed/purpur_pillar/7x", + "minekea:building/compressed/purpur_pillar/8x", + "minekea:building/compressed/purpur_pillar/9x", + "minekea:building/compressed/quartz_block/1x", + "minekea:building/compressed/quartz_block/2x", + "minekea:building/compressed/quartz_block/3x", + "minekea:building/compressed/quartz_block/4x", + "minekea:building/compressed/quartz_block/5x", + "minekea:building/compressed/quartz_block/6x", + "minekea:building/compressed/quartz_block/7x", + "minekea:building/compressed/quartz_block/8x", + "minekea:building/compressed/quartz_block/9x", + "minekea:building/covers/amethyst", + "minekea:building/covers/andesite", + "minekea:building/covers/basalt", + "minekea:building/covers/basalt_brick", + "minekea:building/covers/blackstone", + "minekea:building/covers/bone", + "minekea:building/covers/brick", + "minekea:building/covers/calcite", + "minekea:building/covers/cobbled_deepslate", + "minekea:building/covers/cobblestone", + "minekea:building/covers/cracked_basalt_brick", + "minekea:building/covers/cracked_deepslate_brick", + "minekea:building/covers/cracked_deepslate_tile", + "minekea:building/covers/cracked_stone_brick", + "minekea:building/covers/crimson_basalt_brick", + "minekea:building/covers/crying_obsidian", + "minekea:building/covers/cut_red_sandstone", + "minekea:building/covers/cut_sandstone", + "minekea:building/covers/dark_prismarine", + "minekea:building/covers/deepslate", + "minekea:building/covers/deepslate_brick", + "minekea:building/covers/deepslate_tile", + "minekea:building/covers/diorite", + "minekea:building/covers/end_stone", + "minekea:building/covers/end_stone_brick", + "minekea:building/covers/granite", + "minekea:building/covers/mossy_basalt_brick", + "minekea:building/covers/mossy_cobblestone", + "minekea:building/covers/mossy_stone_brick", + "minekea:building/covers/mud_brick", + "minekea:building/covers/netherrack", + "minekea:building/covers/nether_brick", + "minekea:building/covers/obsidian", + "minekea:building/covers/packed_mud", + "minekea:building/covers/polished_andesite", + "minekea:building/covers/polished_basalt", + "minekea:building/covers/polished_blackstone", + "minekea:building/covers/polished_blackstone_brick", + "minekea:building/covers/polished_deepslate", + "minekea:building/covers/polished_diorite", + "minekea:building/covers/polished_granite", + "minekea:building/covers/prismarine", + "minekea:building/covers/prismarine_brick", + "minekea:building/covers/purpur", + "minekea:building/covers/purpur_pillar", + "minekea:building/covers/quartz", + "minekea:building/covers/quartz_brick", + "minekea:building/covers/red_nether_brick", + "minekea:building/covers/red_sandstone", + "minekea:building/covers/sandstone", + "minekea:building/covers/smooth_basalt", + "minekea:building/covers/smooth_quartz", + "minekea:building/covers/smooth_red_sandstone", + "minekea:building/covers/smooth_sandstone", + "minekea:building/covers/smooth_stone", + "minekea:building/covers/stone", + "minekea:building/covers/stone_brick", + "minekea:building/covers/tuff", + "minekea:building/covers/warped_basalt_brick", + "minekea:building/covers/warped_nether_brick", + "minekea:building/covers/copper_block", + "minekea:building/covers/diamond_block", + "minekea:building/covers/gold_block", + "minekea:building/covers/iron_block", + "minekea:building/covers/lapis_block", + "minekea:building/covers/netherite_block", + "minekea:building/covers/redstone_block", + "minekea:building/covers/cut_copper", + "minekea:building/covers/exposed_cut_copper", + "minekea:building/covers/weathered_cut_copper", + "minekea:building/covers/oxidized_cut_copper", + "minekea:building/covers/white_terracotta", + "minekea:building/covers/light_gray_terracotta", + "minekea:building/covers/gray_terracotta", + "minekea:building/covers/black_terracotta", + "minekea:building/covers/brown_terracotta", + "minekea:building/covers/red_terracotta", + "minekea:building/covers/orange_terracotta", + "minekea:building/covers/yellow_terracotta", + "minekea:building/covers/lime_terracotta", + "minekea:building/covers/green_terracotta", + "minekea:building/covers/cyan_terracotta", + "minekea:building/covers/light_blue_terracotta", + "minekea:building/covers/blue_terracotta", + "minekea:building/covers/purple_terracotta", + "minekea:building/covers/magenta_terracotta", + "minekea:building/covers/pink_terracotta", + "minekea:building/covers/white_glazed_terracotta", + "minekea:building/covers/light_gray_glazed_terracotta", + "minekea:building/covers/gray_glazed_terracotta", + "minekea:building/covers/black_glazed_terracotta", + "minekea:building/covers/brown_glazed_terracotta", + "minekea:building/covers/red_glazed_terracotta", + "minekea:building/covers/orange_glazed_terracotta", + "minekea:building/covers/yellow_glazed_terracotta", + "minekea:building/covers/lime_glazed_terracotta", + "minekea:building/covers/green_glazed_terracotta", + "minekea:building/covers/cyan_glazed_terracotta", + "minekea:building/covers/light_blue_glazed_terracotta", + "minekea:building/covers/blue_glazed_terracotta", + "minekea:building/covers/purple_glazed_terracotta", + "minekea:building/covers/magenta_glazed_terracotta", + "minekea:building/covers/pink_glazed_terracotta", + "minekea:building/covers/white_concrete", + "minekea:building/covers/light_gray_concrete", + "minekea:building/covers/gray_concrete", + "minekea:building/covers/black_concrete", + "minekea:building/covers/brown_concrete", + "minekea:building/covers/red_concrete", + "minekea:building/covers/orange_concrete", + "minekea:building/covers/yellow_concrete", + "minekea:building/covers/lime_concrete", + "minekea:building/covers/green_concrete", + "minekea:building/covers/cyan_concrete", + "minekea:building/covers/light_blue_concrete", + "minekea:building/covers/blue_concrete", + "minekea:building/covers/purple_concrete", + "minekea:building/covers/magenta_concrete", + "minekea:building/covers/pink_concrete", + "minekea:building/covers/oak_log", + "minekea:building/dyed/bricks/white", + "minekea:building/dyed/bricks/light_gray", + "minekea:building/dyed/bricks/gray", + "minekea:building/dyed/bricks/black", + "minekea:building/dyed/bricks/brown", + "minekea:building/dyed/bricks/red", + "minekea:building/dyed/bricks/orange", + "minekea:building/dyed/bricks/yellow", + "minekea:building/dyed/bricks/lime", + "minekea:building/dyed/bricks/green", + "minekea:building/dyed/bricks/cyan", + "minekea:building/dyed/bricks/light_blue", + "minekea:building/dyed/bricks/blue", + "minekea:building/dyed/bricks/purple", + "minekea:building/dyed/bricks/magenta", + "minekea:building/dyed/bricks/pink", + "minekea:building/dyed/calcite/white", + "minekea:building/dyed/calcite/light_gray", + "minekea:building/dyed/calcite/gray", + "minekea:building/dyed/calcite/black", + "minekea:building/dyed/calcite/brown", + "minekea:building/dyed/calcite/red", + "minekea:building/dyed/calcite/orange", + "minekea:building/dyed/calcite/yellow", + "minekea:building/dyed/calcite/lime", + "minekea:building/dyed/calcite/green", + "minekea:building/dyed/calcite/cyan", + "minekea:building/dyed/calcite/light_blue", + "minekea:building/dyed/calcite/blue", + "minekea:building/dyed/calcite/purple", + "minekea:building/dyed/calcite/magenta", + "minekea:building/dyed/calcite/pink", + "minekea:building/dyed/cobblestone/white", + "minekea:building/dyed/cobblestone/light_gray", + "minekea:building/dyed/cobblestone/gray", + "minekea:building/dyed/cobblestone/black", + "minekea:building/dyed/cobblestone/brown", + "minekea:building/dyed/cobblestone/red", + "minekea:building/dyed/cobblestone/orange", + "minekea:building/dyed/cobblestone/yellow", + "minekea:building/dyed/cobblestone/lime", + "minekea:building/dyed/cobblestone/green", + "minekea:building/dyed/cobblestone/cyan", + "minekea:building/dyed/cobblestone/light_blue", + "minekea:building/dyed/cobblestone/blue", + "minekea:building/dyed/cobblestone/purple", + "minekea:building/dyed/cobblestone/magenta", + "minekea:building/dyed/cobblestone/pink", + "minekea:building/dyed/dark_prismarine/white", + "minekea:building/dyed/dark_prismarine/light_gray", + "minekea:building/dyed/dark_prismarine/gray", + "minekea:building/dyed/dark_prismarine/black", + "minekea:building/dyed/dark_prismarine/brown", + "minekea:building/dyed/dark_prismarine/red", + "minekea:building/dyed/dark_prismarine/orange", + "minekea:building/dyed/dark_prismarine/yellow", + "minekea:building/dyed/dark_prismarine/lime", + "minekea:building/dyed/dark_prismarine/green", + "minekea:building/dyed/dark_prismarine/cyan", + "minekea:building/dyed/dark_prismarine/light_blue", + "minekea:building/dyed/dark_prismarine/blue", + "minekea:building/dyed/dark_prismarine/purple", + "minekea:building/dyed/dark_prismarine/magenta", + "minekea:building/dyed/dark_prismarine/pink", + "minekea:building/dyed/mud_bricks/white", + "minekea:building/dyed/mud_bricks/light_gray", + "minekea:building/dyed/mud_bricks/gray", + "minekea:building/dyed/mud_bricks/black", + "minekea:building/dyed/mud_bricks/brown", + "minekea:building/dyed/mud_bricks/red", + "minekea:building/dyed/mud_bricks/orange", + "minekea:building/dyed/mud_bricks/yellow", + "minekea:building/dyed/mud_bricks/lime", + "minekea:building/dyed/mud_bricks/green", + "minekea:building/dyed/mud_bricks/cyan", + "minekea:building/dyed/mud_bricks/light_blue", + "minekea:building/dyed/mud_bricks/blue", + "minekea:building/dyed/mud_bricks/purple", + "minekea:building/dyed/mud_bricks/magenta", + "minekea:building/dyed/mud_bricks/pink", + "minekea:building/dyed/prismarine/white", + "minekea:building/dyed/prismarine/light_gray", + "minekea:building/dyed/prismarine/gray", + "minekea:building/dyed/prismarine/black", + "minekea:building/dyed/prismarine/brown", + "minekea:building/dyed/prismarine/red", + "minekea:building/dyed/prismarine/orange", + "minekea:building/dyed/prismarine/yellow", + "minekea:building/dyed/prismarine/lime", + "minekea:building/dyed/prismarine/green", + "minekea:building/dyed/prismarine/cyan", + "minekea:building/dyed/prismarine/light_blue", + "minekea:building/dyed/prismarine/blue", + "minekea:building/dyed/prismarine/purple", + "minekea:building/dyed/prismarine/magenta", + "minekea:building/dyed/prismarine/pink", + "minekea:building/dyed/prismarine_bricks/white", + "minekea:building/dyed/prismarine_bricks/light_gray", + "minekea:building/dyed/prismarine_bricks/gray", + "minekea:building/dyed/prismarine_bricks/black", + "minekea:building/dyed/prismarine_bricks/brown", + "minekea:building/dyed/prismarine_bricks/red", + "minekea:building/dyed/prismarine_bricks/orange", + "minekea:building/dyed/prismarine_bricks/yellow", + "minekea:building/dyed/prismarine_bricks/lime", + "minekea:building/dyed/prismarine_bricks/green", + "minekea:building/dyed/prismarine_bricks/cyan", + "minekea:building/dyed/prismarine_bricks/light_blue", + "minekea:building/dyed/prismarine_bricks/blue", + "minekea:building/dyed/prismarine_bricks/purple", + "minekea:building/dyed/prismarine_bricks/magenta", + "minekea:building/dyed/prismarine_bricks/pink", + "minekea:building/dyed/smooth_stone/white", + "minekea:building/dyed/smooth_stone/light_gray", + "minekea:building/dyed/smooth_stone/gray", + "minekea:building/dyed/smooth_stone/black", + "minekea:building/dyed/smooth_stone/brown", + "minekea:building/dyed/smooth_stone/red", + "minekea:building/dyed/smooth_stone/orange", + "minekea:building/dyed/smooth_stone/yellow", + "minekea:building/dyed/smooth_stone/lime", + "minekea:building/dyed/smooth_stone/green", + "minekea:building/dyed/smooth_stone/cyan", + "minekea:building/dyed/smooth_stone/light_blue", + "minekea:building/dyed/smooth_stone/blue", + "minekea:building/dyed/smooth_stone/purple", + "minekea:building/dyed/smooth_stone/magenta", + "minekea:building/dyed/smooth_stone/pink", + "minekea:building/dyed/stone/white", + "minekea:building/dyed/stone/light_gray", + "minekea:building/dyed/stone/gray", + "minekea:building/dyed/stone/black", + "minekea:building/dyed/stone/brown", + "minekea:building/dyed/stone/red", + "minekea:building/dyed/stone/orange", + "minekea:building/dyed/stone/yellow", + "minekea:building/dyed/stone/lime", + "minekea:building/dyed/stone/green", + "minekea:building/dyed/stone/cyan", + "minekea:building/dyed/stone/light_blue", + "minekea:building/dyed/stone/blue", + "minekea:building/dyed/stone/purple", + "minekea:building/dyed/stone/magenta", + "minekea:building/dyed/stone/pink", + "minekea:building/dyed/stone_bricks/white", + "minekea:building/dyed/stone_bricks/light_gray", + "minekea:building/dyed/stone_bricks/gray", + "minekea:building/dyed/stone_bricks/black", + "minekea:building/dyed/stone_bricks/brown", + "minekea:building/dyed/stone_bricks/red", + "minekea:building/dyed/stone_bricks/orange", + "minekea:building/dyed/stone_bricks/yellow", + "minekea:building/dyed/stone_bricks/lime", + "minekea:building/dyed/stone_bricks/green", + "minekea:building/dyed/stone_bricks/cyan", + "minekea:building/dyed/stone_bricks/light_blue", + "minekea:building/dyed/stone_bricks/blue", + "minekea:building/dyed/stone_bricks/purple", + "minekea:building/dyed/stone_bricks/magenta", + "minekea:building/dyed/stone_bricks/pink", + "minekea:building/dyed/bone_block/white", + "minekea:building/dyed/bone_block/light_gray", + "minekea:building/dyed/bone_block/gray", + "minekea:building/dyed/bone_block/black", + "minekea:building/dyed/bone_block/brown", + "minekea:building/dyed/bone_block/red", + "minekea:building/dyed/bone_block/orange", + "minekea:building/dyed/bone_block/yellow", + "minekea:building/dyed/bone_block/lime", + "minekea:building/dyed/bone_block/green", + "minekea:building/dyed/bone_block/cyan", + "minekea:building/dyed/bone_block/light_blue", + "minekea:building/dyed/bone_block/blue", + "minekea:building/dyed/bone_block/purple", + "minekea:building/dyed/bone_block/magenta", + "minekea:building/dyed/bone_block/pink", + "minekea:building/slabs/basalt_bricks", + "minekea:building/slabs/cracked_basalt_bricks", + "minekea:building/slabs/crimson_basalt_bricks", + "minekea:building/slabs/mossy_basalt_bricks", + "minekea:building/slabs/warped_basalt_bricks", + "minekea:building/slabs/warped_nether_bricks", + "minekea:building/slabs/vertical/andesite", + "minekea:building/slabs/vertical/bamboo_mosaic", + "minekea:building/slabs/vertical/blackstone", + "minekea:building/slabs/vertical/bricks", + "minekea:building/slabs/vertical/cobbled_deepslate", + "minekea:building/slabs/vertical/cobblestone", + "minekea:building/slabs/vertical/cut_red_sandstone", + "minekea:building/slabs/vertical/cut_sandstone", + "minekea:building/slabs/vertical/dark_prismarine", + "minekea:building/slabs/vertical/deepslate_bricks", + "minekea:building/slabs/vertical/deepslate_tiles", + "minekea:building/slabs/vertical/diorite", + "minekea:building/slabs/vertical/end_stone_bricks", + "minekea:building/slabs/vertical/granite", + "minekea:building/slabs/vertical/mossy_cobblestone", + "minekea:building/slabs/vertical/mossy_stone_bricks", + "minekea:building/slabs/vertical/mud_bricks", + "minekea:building/slabs/vertical/nether_bricks", + "minekea:building/slabs/vertical/polished_andesite", + "minekea:building/slabs/vertical/polished_blackstone", + "minekea:building/slabs/vertical/polished_blackstone_bricks", + "minekea:building/slabs/vertical/polished_deepslate", + "minekea:building/slabs/vertical/polished_diorite", + "minekea:building/slabs/vertical/polished_granite", + "minekea:building/slabs/vertical/polished_tuff", + "minekea:building/slabs/vertical/prismarine", + "minekea:building/slabs/vertical/prismarine_bricks", + "minekea:building/slabs/vertical/purpur_block", + "minekea:building/slabs/vertical/quartz_block", + "minekea:building/slabs/vertical/red_nether_bricks", + "minekea:building/slabs/vertical/red_sandstone", + "minekea:building/slabs/vertical/sandstone", + "minekea:building/slabs/vertical/smooth_quartz", + "minekea:building/slabs/vertical/smooth_red_sandstone", + "minekea:building/slabs/vertical/smooth_sandstone", + "minekea:building/slabs/vertical/smooth_stone", + "minekea:building/slabs/vertical/stone", + "minekea:building/slabs/vertical/stone_bricks", + "minekea:building/slabs/vertical/tuff", + "minekea:building/slabs/vertical/tuff_bricks", + "minekea:building/slabs/vertical/cut_copper", + "minekea:building/slabs/vertical/waxed_cut_copper", + "minekea:building/slabs/vertical/exposed_cut_copper", + "minekea:building/slabs/vertical/waxed_exposed_cut_copper", + "minekea:building/slabs/vertical/weathered_cut_copper", + "minekea:building/slabs/vertical/waxed_weathered_cut_copper", + "minekea:building/slabs/vertical/oxidized_cut_copper", + "minekea:building/slabs/vertical/waxed_oxidized_cut_copper", + "minekea:building/slabs/vertical/basalt_bricks", + "minekea:building/slabs/vertical/cracked_basalt_bricks", + "minekea:building/slabs/vertical/crimson_basalt_bricks", + "minekea:building/slabs/vertical/mossy_basalt_bricks", + "minekea:building/slabs/vertical/warped_basalt_bricks", + "minekea:building/slabs/vertical/warped_nether_bricks", + "minekea:building/stairs/basalt_bricks", + "minekea:building/stairs/cracked_basalt_bricks", + "minekea:building/stairs/crimson_basalt_bricks", + "minekea:building/stairs/mossy_basalt_bricks", + "minekea:building/stairs/warped_basalt_bricks", + "minekea:building/stairs/warped_nether_bricks", + "minekea:building/stairs/vertical/acacia_planks", + "minekea:building/stairs/vertical/birch_planks", + "minekea:building/stairs/vertical/cherry_planks", + "minekea:building/stairs/vertical/crimson_planks", + "minekea:building/stairs/vertical/dark_oak_planks", + "minekea:building/stairs/vertical/jungle_planks", + "minekea:building/stairs/vertical/mangrove_planks", + "minekea:building/stairs/vertical/oak_planks", + "minekea:building/stairs/vertical/spruce_planks", + "minekea:building/stairs/vertical/warped_planks", + "minekea:building/stairs/vertical/andesite", + "minekea:building/stairs/vertical/bamboo_mosaic", + "minekea:building/stairs/vertical/blackstone", + "minekea:building/stairs/vertical/bricks", + "minekea:building/stairs/vertical/cobbled_deepslate", + "minekea:building/stairs/vertical/cobblestone", + "minekea:building/stairs/vertical/dark_prismarine", + "minekea:building/stairs/vertical/deepslate_bricks", + "minekea:building/stairs/vertical/deepslate_tiles", + "minekea:building/stairs/vertical/diorite", + "minekea:building/stairs/vertical/end_stone_bricks", + "minekea:building/stairs/vertical/granite", + "minekea:building/stairs/vertical/mossy_cobblestone", + "minekea:building/stairs/vertical/mossy_stone_bricks", + "minekea:building/stairs/vertical/mud_bricks", + "minekea:building/stairs/vertical/nether_bricks", + "minekea:building/stairs/vertical/polished_andesite", + "minekea:building/stairs/vertical/polished_blackstone_bricks", + "minekea:building/stairs/vertical/polished_blackstone", + "minekea:building/stairs/vertical/polished_deepslate", + "minekea:building/stairs/vertical/polished_diorite", + "minekea:building/stairs/vertical/polished_granite", + "minekea:building/stairs/vertical/polished_tuff", + "minekea:building/stairs/vertical/prismarine_bricks", + "minekea:building/stairs/vertical/prismarine", + "minekea:building/stairs/vertical/purpur_block", + "minekea:building/stairs/vertical/quartz_block", + "minekea:building/stairs/vertical/red_nether_bricks", + "minekea:building/stairs/vertical/red_sandstone", + "minekea:building/stairs/vertical/sandstone", + "minekea:building/stairs/vertical/quartz_block_bottom", + "minekea:building/stairs/vertical/red_sandstone_top", + "minekea:building/stairs/vertical/sandstone_top", + "minekea:building/stairs/vertical/stone_bricks", + "minekea:building/stairs/vertical/stone", + "minekea:building/stairs/vertical/tuff_bricks", + "minekea:building/stairs/vertical/tuff", + "minekea:building/stairs/vertical/cut_copper", + "minekea:building/stairs/vertical/waxed_cut_copper", + "minekea:building/stairs/vertical/exposed_cut_copper", + "minekea:building/stairs/vertical/waxed_exposed_cut_copper", + "minekea:building/stairs/vertical/weathered_cut_copper", + "minekea:building/stairs/vertical/waxed_weathered_cut_copper", + "minekea:building/stairs/vertical/oxidized_cut_copper", + "minekea:building/stairs/vertical/waxed_oxidized_cut_copper", + "minekea:building/stairs/vertical/basalt_bricks", + "minekea:building/stairs/vertical/cracked_basalt_bricks", + "minekea:building/stairs/vertical/crimson_basalt_bricks", + "minekea:building/stairs/vertical/mossy_basalt_bricks", + "minekea:building/stairs/vertical/warped_basalt_bricks", + "minekea:building/stairs/vertical/warped_nether_bricks", "minekea:storage/compressed/breeze_rod", + "minekea:storage/compressed/ender_pearl", "minekea:storage/compressed/flint", "minekea:storage/compressed/gold_nugget", "minekea:storage/compressed/iron_nugget", "minekea:storage/compressed/nether_star", - "minekea:storage/compressed/totem_of_undying" + "minekea:storage/compressed/totem_of_undying", + "minekea:building/walls/basalt_bricks", + "minekea:building/walls/cracked_basalt_bricks", + "minekea:building/walls/crimson_basalt_bricks", + "minekea:building/walls/mossy_basalt_bricks", + "minekea:building/walls/warped_basalt_bricks", + "minekea:building/walls/warped_nether_bricks" ] } \ No newline at end of file diff --git a/src/main/generated/data/minecraft/tags/block/mineable/shovel.json b/src/main/generated/data/minecraft/tags/block/mineable/shovel.json index aded56d15..82a00876a 100644 --- a/src/main/generated/data/minecraft/tags/block/mineable/shovel.json +++ b/src/main/generated/data/minecraft/tags/block/mineable/shovel.json @@ -1,5 +1,77 @@ { "values": [ + "minekea:building/compressed/coarse_dirt/1x", + "minekea:building/compressed/coarse_dirt/2x", + "minekea:building/compressed/coarse_dirt/3x", + "minekea:building/compressed/coarse_dirt/4x", + "minekea:building/compressed/coarse_dirt/5x", + "minekea:building/compressed/coarse_dirt/6x", + "minekea:building/compressed/coarse_dirt/7x", + "minekea:building/compressed/coarse_dirt/8x", + "minekea:building/compressed/coarse_dirt/9x", + "minekea:building/compressed/dirt/1x", + "minekea:building/compressed/dirt/2x", + "minekea:building/compressed/dirt/3x", + "minekea:building/compressed/dirt/4x", + "minekea:building/compressed/dirt/5x", + "minekea:building/compressed/dirt/6x", + "minekea:building/compressed/dirt/7x", + "minekea:building/compressed/dirt/8x", + "minekea:building/compressed/dirt/9x", + "minekea:building/compressed/gravel/1x", + "minekea:building/compressed/gravel/2x", + "minekea:building/compressed/gravel/3x", + "minekea:building/compressed/gravel/4x", + "minekea:building/compressed/gravel/5x", + "minekea:building/compressed/gravel/6x", + "minekea:building/compressed/gravel/7x", + "minekea:building/compressed/gravel/8x", + "minekea:building/compressed/gravel/9x", + "minekea:building/compressed/mud/1x", + "minekea:building/compressed/mud/2x", + "minekea:building/compressed/mud/3x", + "minekea:building/compressed/mud/4x", + "minekea:building/compressed/mud/5x", + "minekea:building/compressed/mud/6x", + "minekea:building/compressed/mud/7x", + "minekea:building/compressed/mud/8x", + "minekea:building/compressed/mud/9x", + "minekea:building/compressed/red_sand/1x", + "minekea:building/compressed/red_sand/2x", + "minekea:building/compressed/red_sand/3x", + "minekea:building/compressed/red_sand/4x", + "minekea:building/compressed/red_sand/5x", + "minekea:building/compressed/red_sand/6x", + "minekea:building/compressed/red_sand/7x", + "minekea:building/compressed/red_sand/8x", + "minekea:building/compressed/red_sand/9x", + "minekea:building/compressed/rooted_dirt/1x", + "minekea:building/compressed/rooted_dirt/2x", + "minekea:building/compressed/rooted_dirt/3x", + "minekea:building/compressed/rooted_dirt/4x", + "minekea:building/compressed/rooted_dirt/5x", + "minekea:building/compressed/rooted_dirt/6x", + "minekea:building/compressed/rooted_dirt/7x", + "minekea:building/compressed/rooted_dirt/8x", + "minekea:building/compressed/rooted_dirt/9x", + "minekea:building/compressed/sand/1x", + "minekea:building/compressed/sand/2x", + "minekea:building/compressed/sand/3x", + "minekea:building/compressed/sand/4x", + "minekea:building/compressed/sand/5x", + "minekea:building/compressed/sand/6x", + "minekea:building/compressed/sand/7x", + "minekea:building/compressed/sand/8x", + "minekea:building/compressed/sand/9x", + "minekea:building/compressed/soul_sand/1x", + "minekea:building/compressed/soul_sand/2x", + "minekea:building/compressed/soul_sand/3x", + "minekea:building/compressed/soul_sand/4x", + "minekea:building/compressed/soul_sand/5x", + "minekea:building/compressed/soul_sand/6x", + "minekea:building/compressed/soul_sand/7x", + "minekea:building/compressed/soul_sand/8x", + "minekea:building/compressed/soul_sand/9x", "minekea:storage/compressed/blaze_powder", "minekea:storage/compressed/charcoal", "minekea:storage/compressed/sugar", diff --git a/src/main/generated/data/minekea/tags/block/mineable/shears.json b/src/main/generated/data/minekea/tags/block/mineable/shears.json index d30320fb3..ed83f9297 100644 --- a/src/main/generated/data/minekea/tags/block/mineable/shears.json +++ b/src/main/generated/data/minekea/tags/block/mineable/shears.json @@ -1,6 +1,7 @@ { "values": [ "minekea:storage/compressed/leather", + "minekea:decorations/misc/fake_cake", "minekea:furniture/pillows/white", "minekea:furniture/pillows/light_gray", "minekea:furniture/pillows/gray", diff --git a/src/main/java/com/chimericdream/minekea/block/building/beams/Beams.java b/src/main/java/com/chimericdream/minekea/block/building/beams/Beams.java index 8a596cc70..6d33d7605 100644 --- a/src/main/java/com/chimericdream/minekea/block/building/beams/Beams.java +++ b/src/main/java/com/chimericdream/minekea/block/building/beams/Beams.java @@ -10,6 +10,7 @@ import com.chimericdream.minekea.resource.TextureUtils; import com.chimericdream.minekea.util.MinekeaBlock; import com.chimericdream.minekea.util.MinekeaBlockCategory; +import com.chimericdream.minekea.util.Tool; import net.minecraft.block.AbstractBlock; import net.minecraft.block.Blocks; @@ -139,26 +140,26 @@ public class Beams implements MinekeaBlockCategory { BLOCKS.add(new GenericBeamBlock("green_concrete", "Green Concrete", Blocks.GREEN_CONCRETE)); BLOCKS.add(new GenericBeamBlock("red_concrete", "Red Concrete", Blocks.RED_CONCRETE)); BLOCKS.add(new GenericBeamBlock("black_concrete", "Black Concrete", Blocks.BLACK_CONCRETE)); - BLOCKS.add(new GenericBeamBlock("acacia", "Acacia", Blocks.ACACIA_PLANKS, true)); - BLOCKS.add(new GenericBeamBlock(AbstractBlock.Settings.copy(Blocks.ACACIA_PLANKS), "acacia_log", "Acacia Log", Blocks.ACACIA_LOG, true, TextureUtils.block(Blocks.ACACIA_LOG), TextureUtils.block(Blocks.ACACIA_LOG, "_top"))); - BLOCKS.add(new GenericBeamBlock("birch", "Birch", Blocks.BIRCH_PLANKS, true)); - BLOCKS.add(new GenericBeamBlock(AbstractBlock.Settings.copy(Blocks.BIRCH_PLANKS), "birch_log", "Birch Log", Blocks.BIRCH_LOG, true, TextureUtils.block(Blocks.BIRCH_LOG), TextureUtils.block(Blocks.BIRCH_LOG, "_top"))); - BLOCKS.add(new GenericBeamBlock("cherry", "Cherry", Blocks.CHERRY_PLANKS)); - BLOCKS.add(new GenericBeamBlock(AbstractBlock.Settings.copy(Blocks.CHERRY_PLANKS), "cherry_log", "Cherry Log", Blocks.CHERRY_LOG, true, TextureUtils.block(Blocks.CHERRY_LOG), TextureUtils.block(Blocks.CHERRY_LOG, "_top"))); - BLOCKS.add(new GenericBeamBlock("crimson", "Crimson", Blocks.CRIMSON_PLANKS)); - BLOCKS.add(new GenericBeamBlock(AbstractBlock.Settings.copy(Blocks.CRIMSON_PLANKS), "crimson_stem", "Crimson Stem", Blocks.CRIMSON_STEM, TextureUtils.block(Blocks.CRIMSON_STEM), TextureUtils.block(Blocks.CRIMSON_STEM, "_top"))); - BLOCKS.add(new GenericBeamBlock("dark_oak", "Dark Oak", Blocks.DARK_OAK_PLANKS, true)); - BLOCKS.add(new GenericBeamBlock(AbstractBlock.Settings.copy(Blocks.DARK_OAK_PLANKS), "dark_oak_log", "Dark Oak Log", Blocks.DARK_OAK_LOG, true, TextureUtils.block(Blocks.DARK_OAK_LOG), TextureUtils.block(Blocks.DARK_OAK_LOG, "_top"))); - BLOCKS.add(new GenericBeamBlock("jungle", "Jungle", Blocks.JUNGLE_PLANKS, true)); - BLOCKS.add(new GenericBeamBlock(AbstractBlock.Settings.copy(Blocks.JUNGLE_PLANKS), "jungle_log", "Jungle Log", Blocks.JUNGLE_LOG, true, TextureUtils.block(Blocks.JUNGLE_LOG), TextureUtils.block(Blocks.JUNGLE_LOG, "_top"))); - BLOCKS.add(new GenericBeamBlock("mangrove", "Mangrove", Blocks.MANGROVE_PLANKS, true)); - BLOCKS.add(new GenericBeamBlock(AbstractBlock.Settings.copy(Blocks.MANGROVE_PLANKS), "mangrove_log", "Mangrove Log", Blocks.MANGROVE_LOG, true, TextureUtils.block(Blocks.MANGROVE_LOG), TextureUtils.block(Blocks.MANGROVE_LOG, "_top"))); - BLOCKS.add(new GenericBeamBlock("oak", "Oak", Blocks.OAK_PLANKS, true)); - BLOCKS.add(new GenericBeamBlock(AbstractBlock.Settings.copy(Blocks.OAK_PLANKS), "oak_log", "Oak Log", Blocks.OAK_LOG, true, TextureUtils.block(Blocks.OAK_LOG), TextureUtils.block(Blocks.OAK_LOG, "_top"))); - BLOCKS.add(new GenericBeamBlock("spruce", "Spruce", Blocks.SPRUCE_PLANKS, true)); - BLOCKS.add(new GenericBeamBlock(AbstractBlock.Settings.copy(Blocks.SPRUCE_PLANKS), "spruce_log", "Spruce Log", Blocks.SPRUCE_LOG, true, TextureUtils.block(Blocks.SPRUCE_LOG), TextureUtils.block(Blocks.SPRUCE_LOG, "_top"))); - BLOCKS.add(new GenericBeamBlock("warped", "Warped", Blocks.WARPED_PLANKS)); - BLOCKS.add(new GenericBeamBlock(AbstractBlock.Settings.copy(Blocks.WARPED_PLANKS), "warped_stem", "Warped Stem", Blocks.WARPED_STEM, TextureUtils.block(Blocks.WARPED_STEM), TextureUtils.block(Blocks.WARPED_STEM, "_top"))); + BLOCKS.add(new GenericBeamBlock("acacia", "Acacia", Blocks.ACACIA_PLANKS, true, Tool.AXE)); + BLOCKS.add(new GenericBeamBlock(AbstractBlock.Settings.copy(Blocks.ACACIA_PLANKS), "acacia_log", "Acacia Log", Blocks.ACACIA_LOG, true, TextureUtils.block(Blocks.ACACIA_LOG), TextureUtils.block(Blocks.ACACIA_LOG, "_top"), Tool.AXE)); + BLOCKS.add(new GenericBeamBlock("birch", "Birch", Blocks.BIRCH_PLANKS, true, Tool.AXE)); + BLOCKS.add(new GenericBeamBlock(AbstractBlock.Settings.copy(Blocks.BIRCH_PLANKS), "birch_log", "Birch Log", Blocks.BIRCH_LOG, true, TextureUtils.block(Blocks.BIRCH_LOG), TextureUtils.block(Blocks.BIRCH_LOG, "_top"), Tool.AXE)); + BLOCKS.add(new GenericBeamBlock("cherry", "Cherry", Blocks.CHERRY_PLANKS, Tool.AXE)); + BLOCKS.add(new GenericBeamBlock(AbstractBlock.Settings.copy(Blocks.CHERRY_PLANKS), "cherry_log", "Cherry Log", Blocks.CHERRY_LOG, true, TextureUtils.block(Blocks.CHERRY_LOG), TextureUtils.block(Blocks.CHERRY_LOG, "_top"), Tool.AXE)); + BLOCKS.add(new GenericBeamBlock("crimson", "Crimson", Blocks.CRIMSON_PLANKS, Tool.AXE)); + BLOCKS.add(new GenericBeamBlock(AbstractBlock.Settings.copy(Blocks.CRIMSON_PLANKS), "crimson_stem", "Crimson Stem", Blocks.CRIMSON_STEM, TextureUtils.block(Blocks.CRIMSON_STEM), TextureUtils.block(Blocks.CRIMSON_STEM, "_top"), Tool.AXE)); + BLOCKS.add(new GenericBeamBlock("dark_oak", "Dark Oak", Blocks.DARK_OAK_PLANKS, true, Tool.AXE)); + BLOCKS.add(new GenericBeamBlock(AbstractBlock.Settings.copy(Blocks.DARK_OAK_PLANKS), "dark_oak_log", "Dark Oak Log", Blocks.DARK_OAK_LOG, true, TextureUtils.block(Blocks.DARK_OAK_LOG), TextureUtils.block(Blocks.DARK_OAK_LOG, "_top"), Tool.AXE)); + BLOCKS.add(new GenericBeamBlock("jungle", "Jungle", Blocks.JUNGLE_PLANKS, true, Tool.AXE)); + BLOCKS.add(new GenericBeamBlock(AbstractBlock.Settings.copy(Blocks.JUNGLE_PLANKS), "jungle_log", "Jungle Log", Blocks.JUNGLE_LOG, true, TextureUtils.block(Blocks.JUNGLE_LOG), TextureUtils.block(Blocks.JUNGLE_LOG, "_top"), Tool.AXE)); + BLOCKS.add(new GenericBeamBlock("mangrove", "Mangrove", Blocks.MANGROVE_PLANKS, true, Tool.AXE)); + BLOCKS.add(new GenericBeamBlock(AbstractBlock.Settings.copy(Blocks.MANGROVE_PLANKS), "mangrove_log", "Mangrove Log", Blocks.MANGROVE_LOG, true, TextureUtils.block(Blocks.MANGROVE_LOG), TextureUtils.block(Blocks.MANGROVE_LOG, "_top"), Tool.AXE)); + BLOCKS.add(new GenericBeamBlock("oak", "Oak", Blocks.OAK_PLANKS, true, Tool.AXE)); + BLOCKS.add(new GenericBeamBlock(AbstractBlock.Settings.copy(Blocks.OAK_PLANKS), "oak_log", "Oak Log", Blocks.OAK_LOG, true, TextureUtils.block(Blocks.OAK_LOG), TextureUtils.block(Blocks.OAK_LOG, "_top"), Tool.AXE)); + BLOCKS.add(new GenericBeamBlock("spruce", "Spruce", Blocks.SPRUCE_PLANKS, true, Tool.AXE)); + BLOCKS.add(new GenericBeamBlock(AbstractBlock.Settings.copy(Blocks.SPRUCE_PLANKS), "spruce_log", "Spruce Log", Blocks.SPRUCE_LOG, true, TextureUtils.block(Blocks.SPRUCE_LOG), TextureUtils.block(Blocks.SPRUCE_LOG, "_top"), Tool.AXE)); + BLOCKS.add(new GenericBeamBlock("warped", "Warped", Blocks.WARPED_PLANKS, Tool.AXE)); + BLOCKS.add(new GenericBeamBlock(AbstractBlock.Settings.copy(Blocks.WARPED_PLANKS), "warped_stem", "Warped Stem", Blocks.WARPED_STEM, TextureUtils.block(Blocks.WARPED_STEM), TextureUtils.block(Blocks.WARPED_STEM, "_top"), Tool.AXE)); } @Override diff --git a/src/main/java/com/chimericdream/minekea/block/building/beams/GenericBeamBlock.java b/src/main/java/com/chimericdream/minekea/block/building/beams/GenericBeamBlock.java index 98063090e..1087be0a2 100644 --- a/src/main/java/com/chimericdream/minekea/block/building/beams/GenericBeamBlock.java +++ b/src/main/java/com/chimericdream/minekea/block/building/beams/GenericBeamBlock.java @@ -6,6 +6,7 @@ import com.chimericdream.minekea.tag.CommonItemTags; import com.chimericdream.minekea.tag.MinekeaBlockTags; import com.chimericdream.minekea.util.MinekeaBlock; +import com.chimericdream.minekea.util.Tool; import net.fabricmc.fabric.api.datagen.v1.provider.FabricLanguageProvider; import net.fabricmc.fabric.api.datagen.v1.provider.FabricRecipeProvider; import net.fabricmc.fabric.api.datagen.v1.provider.FabricTagProvider; @@ -111,52 +112,101 @@ public class GenericBeamBlock extends Block implements MinekeaBlock, Waterloggab public final boolean isTranslucent; public final Identifier sideTexture; public final Identifier endTexture; + public final Tool miningTool; public GenericBeamBlock(String material, String materialName, Block ingredient) { this(material, materialName, ingredient, false, false); } + public GenericBeamBlock(String material, String materialName, Block ingredient, Tool miningTool) { + this(material, materialName, ingredient, false, false, miningTool); + } + public GenericBeamBlock(String material, String materialName, Block ingredient, boolean isFlammable) { this(material, materialName, ingredient, isFlammable, false); } + public GenericBeamBlock(String material, String materialName, Block ingredient, boolean isFlammable, Tool miningTool) { + this(material, materialName, ingredient, isFlammable, false, miningTool); + } + public GenericBeamBlock(String material, String materialName, Block ingredient, boolean isFlammable, boolean isTranslucent) { this(material, materialName, ingredient, isFlammable, isTranslucent, TextureUtils.block(ingredient)); } + public GenericBeamBlock(String material, String materialName, Block ingredient, boolean isFlammable, boolean isTranslucent, Tool miningTool) { + this(material, materialName, ingredient, isFlammable, isTranslucent, TextureUtils.block(ingredient), miningTool); + } + public GenericBeamBlock(String material, String materialName, Block ingredient, Identifier texture) { this(material, materialName, ingredient, false, false, texture, texture); } + public GenericBeamBlock(String material, String materialName, Block ingredient, Identifier texture, Tool miningTool) { + this(material, materialName, ingredient, false, false, texture, texture, miningTool); + } + public GenericBeamBlock(String material, String materialName, Block ingredient, boolean isFlammable, Identifier texture) { this(material, materialName, ingredient, isFlammable, false, texture, texture); } + public GenericBeamBlock(String material, String materialName, Block ingredient, boolean isFlammable, Identifier texture, Tool miningTool) { + this(material, materialName, ingredient, isFlammable, false, texture, texture, miningTool); + } + public GenericBeamBlock(String material, String materialName, Block ingredient, boolean isFlammable, boolean isTranslucent, Identifier texture) { this(material, materialName, ingredient, isFlammable, isTranslucent, texture, texture); } + public GenericBeamBlock(String material, String materialName, Block ingredient, boolean isFlammable, boolean isTranslucent, Identifier texture, Tool miningTool) { + this(material, materialName, ingredient, isFlammable, isTranslucent, texture, texture, miningTool); + } + public GenericBeamBlock(String material, String materialName, Block ingredient, Identifier sideTexture, Identifier endTexture) { this(AbstractBlock.Settings.copy(ingredient), material, materialName, ingredient, false, false, sideTexture, endTexture); } + public GenericBeamBlock(String material, String materialName, Block ingredient, Identifier sideTexture, Identifier endTexture, Tool miningTool) { + this(AbstractBlock.Settings.copy(ingredient), material, materialName, ingredient, false, false, sideTexture, endTexture, miningTool); + } + public GenericBeamBlock(String material, String materialName, Block ingredient, boolean isFlammable, Identifier sideTexture, Identifier endTexture) { this(AbstractBlock.Settings.copy(ingredient), material, materialName, ingredient, isFlammable, false, sideTexture, endTexture); } + public GenericBeamBlock(String material, String materialName, Block ingredient, boolean isFlammable, Identifier sideTexture, Identifier endTexture, Tool miningTool) { + this(AbstractBlock.Settings.copy(ingredient), material, materialName, ingredient, isFlammable, false, sideTexture, endTexture, miningTool); + } + public GenericBeamBlock(String material, String materialName, Block ingredient, boolean isFlammable, boolean isTranslucent, Identifier sideTexture, Identifier endTexture) { this(AbstractBlock.Settings.copy(ingredient), material, materialName, ingredient, isFlammable, isTranslucent, sideTexture, endTexture); } + public GenericBeamBlock(String material, String materialName, Block ingredient, boolean isFlammable, boolean isTranslucent, Identifier sideTexture, Identifier endTexture, Tool miningTool) { + this(AbstractBlock.Settings.copy(ingredient), material, materialName, ingredient, isFlammable, isTranslucent, sideTexture, endTexture, miningTool); + } + public GenericBeamBlock(Settings settings, String material, String materialName, Block ingredient, Identifier sideTexture, Identifier endTexture) { this(settings, material, materialName, ingredient, false, false, sideTexture, endTexture); } + public GenericBeamBlock(Settings settings, String material, String materialName, Block ingredient, Identifier sideTexture, Identifier endTexture, Tool miningTool) { + this(settings, material, materialName, ingredient, false, false, sideTexture, endTexture, miningTool); + } + public GenericBeamBlock(Settings settings, String material, String materialName, Block ingredient, boolean isFlammable, Identifier sideTexture, Identifier endTexture) { this(settings, material, materialName, ingredient, isFlammable, false, sideTexture, endTexture); } + public GenericBeamBlock(Settings settings, String material, String materialName, Block ingredient, boolean isFlammable, Identifier sideTexture, Identifier endTexture, Tool miningTool) { + this(settings, material, materialName, ingredient, isFlammable, false, sideTexture, endTexture, miningTool); + } + public GenericBeamBlock(Settings settings, String material, String materialName, Block ingredient, boolean isFlammable, boolean isTranslucent, Identifier sideTexture, Identifier endTexture) { + this(settings, material, materialName, ingredient, isFlammable, isTranslucent, sideTexture, endTexture, Tool.PICKAXE); + } + + public GenericBeamBlock(Settings settings, String material, String materialName, Block ingredient, boolean isFlammable, boolean isTranslucent, Identifier sideTexture, Identifier endTexture, Tool miningTool) { super(settings); BLOCK_ID = Identifier.of(ModInfo.MOD_ID, "building/beams/" + material); @@ -168,6 +218,7 @@ public GenericBeamBlock(Settings settings, String material, String materialName, this.isTranslucent = isTranslucent; this.sideTexture = sideTexture; this.endTexture = endTexture; + this.miningTool = miningTool; this.setDefaultState( this.stateManager @@ -387,6 +438,10 @@ public void configureBlockTags(RegistryWrapper.WrapperLookup registryLookup, Fun getBuilder.apply(MinekeaBlockTags.BEAMS) .setReplace(false) .add(this); + + getBuilder.apply(this.miningTool.getMineableTag()) + .setReplace(false) + .add(this); } @Override diff --git a/src/main/java/com/chimericdream/minekea/block/building/compressed/CompressedBlocks.java b/src/main/java/com/chimericdream/minekea/block/building/compressed/CompressedBlocks.java index 9e4d73b83..e421de16d 100644 --- a/src/main/java/com/chimericdream/minekea/block/building/compressed/CompressedBlocks.java +++ b/src/main/java/com/chimericdream/minekea/block/building/compressed/CompressedBlocks.java @@ -10,6 +10,7 @@ import com.chimericdream.minekea.item.MinekeaItemGroups; import com.chimericdream.minekea.util.MinekeaBlock; import com.chimericdream.minekea.util.MinekeaBlockCategory; +import com.chimericdream.minekea.util.Tool; import net.fabricmc.fabric.api.datagen.v1.provider.FabricLanguageProvider; import net.fabricmc.fabric.api.datagen.v1.provider.FabricTagProvider; import net.fabricmc.fabric.api.itemgroup.v1.ItemGroupEvents; @@ -23,8 +24,8 @@ import net.minecraft.registry.RegistryWrapper; import net.minecraft.registry.tag.TagKey; import net.minecraft.util.Identifier; +import oshi.util.tuples.Pair; import oshi.util.tuples.Quartet; -import oshi.util.tuples.Quintet; import oshi.util.tuples.Triplet; import java.util.ArrayList; @@ -40,170 +41,171 @@ public class CompressedBlocks implements MinekeaBlockCategory { public static final Map> BLOCK_MAP = new LinkedHashMap<>(); public static final List BLOCKS = new ArrayList<>(); - protected static final List> MINEKEA_BLOCKS_TO_COMPRESS = List.of( - new Quartet<>("Basalt Brick", "basalt_brick", BuildingBlocks.BASALT_BRICKS_BLOCK, BasaltBricksBlock.BLOCK_ID), - new Quartet<>("Cracked Basalt Bricks", "cracked_basalt_brick", BuildingBlocks.CRACKED_BASALT_BRICKS_BLOCK, CrackedBasaltBricksBlock.BLOCK_ID), - new Quartet<>("Crimson Basalt Bricks", "crimson_basalt_brick", BuildingBlocks.CRIMSON_BASALT_BRICKS_BLOCK, CrimsonBasaltBricksBlock.BLOCK_ID), - new Quartet<>("Mossy Basalt Brick", "mossy_basalt_brick", BuildingBlocks.MOSSY_BASALT_BRICKS_BLOCK, MossyBasaltBricksBlock.BLOCK_ID), - new Quartet<>("Warped Basalt Brick", "warped_basalt_brick", BuildingBlocks.WARPED_BASALT_BRICKS_BLOCK, WarpedBasaltBricksBlock.BLOCK_ID), - new Quartet<>("Warped Nether Brick", "warped_nether_brick", BuildingBlocks.WARPED_NETHER_BRICKS_BLOCK, WarpedNetherBricksBlock.BLOCK_ID) + protected static final List, MinekeaBlock, Identifier, Tool>> MINEKEA_BLOCKS_TO_COMPRESS = List.of( + new Quartet<>(new Pair<>("Basalt Brick", "basalt_brick"), BuildingBlocks.BASALT_BRICKS_BLOCK, BasaltBricksBlock.BLOCK_ID, Tool.PICKAXE), + new Quartet<>(new Pair<>("Cracked Basalt Bricks", "cracked_basalt_brick"), BuildingBlocks.CRACKED_BASALT_BRICKS_BLOCK, CrackedBasaltBricksBlock.BLOCK_ID, Tool.PICKAXE), + new Quartet<>(new Pair<>("Crimson Basalt Bricks", "crimson_basalt_brick"), BuildingBlocks.CRIMSON_BASALT_BRICKS_BLOCK, CrimsonBasaltBricksBlock.BLOCK_ID, Tool.PICKAXE), + new Quartet<>(new Pair<>("Mossy Basalt Brick", "mossy_basalt_brick"), BuildingBlocks.MOSSY_BASALT_BRICKS_BLOCK, MossyBasaltBricksBlock.BLOCK_ID, Tool.PICKAXE), + new Quartet<>(new Pair<>("Warped Basalt Brick", "warped_basalt_brick"), BuildingBlocks.WARPED_BASALT_BRICKS_BLOCK, WarpedBasaltBricksBlock.BLOCK_ID, Tool.PICKAXE), + new Quartet<>(new Pair<>("Warped Nether Brick", "warped_nether_brick"), BuildingBlocks.WARPED_NETHER_BRICKS_BLOCK, WarpedNetherBricksBlock.BLOCK_ID, Tool.PICKAXE) ); - protected static final List> COLUMN_BLOCKS_TO_COMPRESS = List.of( - new Quintet<>("Basalt", "basalt", Blocks.BASALT, "_side", "_top"), - new Quintet<>("Blackstone", "blackstone", Blocks.BLACKSTONE, "", "_top"), - new Quintet<>("Bone", "bone_block", Blocks.BONE_BLOCK, "_side", "_top"), - new Quintet<>("Deepslate", "deepslate", Blocks.DEEPSLATE, "", "_top"), - new Quintet<>("Polished Basalt", "polished_basalt", Blocks.POLISHED_BASALT, "_side", "_top"), - new Quintet<>("Purpur Pillar", "purpur_pillar", Blocks.PURPUR_PILLAR, "", "_top"), - new Quintet<>("Quartz", "quartz_block", Blocks.QUARTZ_BLOCK, "_side", "_top"), - new Quintet<>("Acacia Log", "acacia_log", Blocks.ACACIA_LOG, "", "_top"), - new Quintet<>("Birch Log", "birch_log", Blocks.BIRCH_LOG, "", "_top"), - new Quintet<>("Cherry Log", "cherry_log", Blocks.CHERRY_LOG, "", "_top"), - new Quintet<>("Crimson Stem", "crimson_stem", Blocks.CRIMSON_STEM, "", "_top"), - new Quintet<>("Dark Oak Log", "dark_oak_log", Blocks.DARK_OAK_LOG, "", "_top"), - new Quintet<>("Jungle Log", "jungle_log", Blocks.JUNGLE_LOG, "", "_top"), - new Quintet<>("Mangrove Log", "mangrove_log", Blocks.MANGROVE_LOG, "", "_top"), - new Quintet<>("Oak Log", "oak_log", Blocks.OAK_LOG, "", "_top"), - new Quintet<>("Spruce Log", "spruce_log", Blocks.SPRUCE_LOG, "", "_top"), - new Quintet<>("Warped Stem", "warped_stem", Blocks.WARPED_STEM, "", "_top") + protected static final List, Block, Pair, Tool>> COLUMN_BLOCKS_TO_COMPRESS = List.of( + new Quartet<>(new Pair<>("Basalt", "basalt"), Blocks.BASALT, new Pair<>("_side", "_top"), Tool.PICKAXE), + new Quartet<>(new Pair<>("Blackstone", "blackstone"), Blocks.BLACKSTONE, new Pair<>("", "_top"), Tool.PICKAXE), + new Quartet<>(new Pair<>("Bone", "bone_block"), Blocks.BONE_BLOCK, new Pair<>("_side", "_top"), Tool.PICKAXE), + new Quartet<>(new Pair<>("Deepslate", "deepslate"), Blocks.DEEPSLATE, new Pair<>("", "_top"), Tool.PICKAXE), + new Quartet<>(new Pair<>("Polished Basalt", "polished_basalt"), Blocks.POLISHED_BASALT, new Pair<>("_side", "_top"), Tool.PICKAXE), + new Quartet<>(new Pair<>("Purpur Pillar", "purpur_pillar"), Blocks.PURPUR_PILLAR, new Pair<>("", "_top"), Tool.PICKAXE), + new Quartet<>(new Pair<>("Quartz", "quartz_block"), Blocks.QUARTZ_BLOCK, new Pair<>("_side", "_top"), Tool.PICKAXE), + new Quartet<>(new Pair<>("Acacia Log", "acacia_log"), Blocks.ACACIA_LOG, new Pair<>("", "_top"), Tool.AXE), + new Quartet<>(new Pair<>("Birch Log", "birch_log"), Blocks.BIRCH_LOG, new Pair<>("", "_top"), Tool.AXE), + new Quartet<>(new Pair<>("Cherry Log", "cherry_log"), Blocks.CHERRY_LOG, new Pair<>("", "_top"), Tool.AXE), + new Quartet<>(new Pair<>("Crimson Stem", "crimson_stem"), Blocks.CRIMSON_STEM, new Pair<>("", "_top"), Tool.AXE), + new Quartet<>(new Pair<>("Dark Oak Log", "dark_oak_log"), Blocks.DARK_OAK_LOG, new Pair<>("", "_top"), Tool.AXE), + new Quartet<>(new Pair<>("Jungle Log", "jungle_log"), Blocks.JUNGLE_LOG, new Pair<>("", "_top"), Tool.AXE), + new Quartet<>(new Pair<>("Mangrove Log", "mangrove_log"), Blocks.MANGROVE_LOG, new Pair<>("", "_top"), Tool.AXE), + new Quartet<>(new Pair<>("Oak Log", "oak_log"), Blocks.OAK_LOG, new Pair<>("", "_top"), Tool.AXE), + new Quartet<>(new Pair<>("Spruce Log", "spruce_log"), Blocks.SPRUCE_LOG, new Pair<>("", "_top"), Tool.AXE), + new Quartet<>(new Pair<>("Warped Stem", "warped_stem"), Blocks.WARPED_STEM, new Pair<>("", "_top"), Tool.AXE) ); - protected static final List> BLOCKS_TO_COMPRESS = List.of( - new Triplet<>("Amethyst", "amethyst_block", Blocks.AMETHYST_BLOCK), - new Triplet<>("Andesite", "andesite", Blocks.ANDESITE), - new Triplet<>("Bricks", "bricks", Blocks.BRICKS), - new Triplet<>("Calcite", "calcite", Blocks.CALCITE), - new Triplet<>("Clay", "clay", Blocks.CLAY), - new Triplet<>("Coarse Dirt", "coarse_dirt", Blocks.COARSE_DIRT), - new Triplet<>("Cobbled Deepslate", "cobbled_deepslate", Blocks.COBBLED_DEEPSLATE), - new Triplet<>("Cobblestone", "cobblestone", Blocks.COBBLESTONE), - new Triplet<>("Cracked Deepslate Bricks", "cracked_deepslate_bricks", Blocks.CRACKED_DEEPSLATE_BRICKS), - new Triplet<>("Cracked Deepslate Tiles", "cracked_deepslate_tiles", Blocks.CRACKED_DEEPSLATE_TILES), - new Triplet<>("Cracked Stone Bricks", "cracked_stone_bricks", Blocks.CRACKED_STONE_BRICKS), - new Triplet<>("Crying Obsidian", "crying_obsidian", Blocks.CRYING_OBSIDIAN), - new Triplet<>("Cut Red Sandstone", "cut_red_sandstone", Blocks.CUT_RED_SANDSTONE), - new Triplet<>("Cut Sandstone", "cut_sandstone", Blocks.CUT_SANDSTONE), - new Triplet<>("Dark Prismarine", "dark_prismarine", Blocks.DARK_PRISMARINE), - new Triplet<>("Deepslate Bricks", "deepslate_bricks", Blocks.DEEPSLATE_BRICKS), - new Triplet<>("Deepslate Tiles", "deepslate_tiles", Blocks.DEEPSLATE_TILES), - new Triplet<>("Diorite", "diorite", Blocks.DIORITE), - new Triplet<>("Dirt", "dirt", Blocks.DIRT), - new Triplet<>("End Stone", "end_stone", Blocks.END_STONE), - new Triplet<>("End Stone Bricks", "end_stone_bricks", Blocks.END_STONE_BRICKS), - new Triplet<>("Granite", "granite", Blocks.GRANITE), - new Triplet<>("Gravel", "gravel", Blocks.GRAVEL), - new Triplet<>("Mossy Cobblestone", "mossy_cobblestone", Blocks.MOSSY_COBBLESTONE), - new Triplet<>("Mossy Stone Bricks", "mossy_stone_bricks", Blocks.MOSSY_STONE_BRICKS), - new Triplet<>("Mud", "mud", Blocks.MUD), - new Triplet<>("Mud Bricks", "mud_bricks", Blocks.MUD_BRICKS), - new Triplet<>("Netherrack", "netherrack", Blocks.NETHERRACK), - new Triplet<>("Nether Bricks", "nether_bricks", Blocks.NETHER_BRICKS), - new Triplet<>("Obsidian", "obsidian", Blocks.OBSIDIAN), - new Triplet<>("Packed Mud", "packed_mud", Blocks.PACKED_MUD), - new Triplet<>("Polished Andesite", "polished_andesite", Blocks.POLISHED_ANDESITE), - new Triplet<>("Polished Blackstone", "polished_blackstone", Blocks.POLISHED_BLACKSTONE), - new Triplet<>("Polished Blackstone Bricks", "polished_blackstone_bricks", Blocks.POLISHED_BLACKSTONE_BRICKS), - new Triplet<>("Polished Deepslate", "polished_deepslate", Blocks.POLISHED_DEEPSLATE), - new Triplet<>("Polished Diorite", "polished_diorite", Blocks.POLISHED_DIORITE), - new Triplet<>("Polished Granite", "polished_granite", Blocks.POLISHED_GRANITE), - new Triplet<>("Prismarine", "prismarine", Blocks.PRISMARINE), - new Triplet<>("Prismarine Bricks", "prismarine_bricks", Blocks.PRISMARINE_BRICKS), - new Triplet<>("Purpur", "purpur_block", Blocks.PURPUR_BLOCK), - new Triplet<>("Quartz Bricks", "quartz_bricks", Blocks.QUARTZ_BRICKS), - new Triplet<>("Red Nether Bricks", "red_nether_bricks", Blocks.RED_NETHER_BRICKS), - new Triplet<>("Red Sandstone", "red_sandstone", Blocks.RED_SANDSTONE), - new Triplet<>("Red Sand", "red_sand", Blocks.RED_SAND), - new Triplet<>("Rooted Dirt", "rooted_dirt", Blocks.ROOTED_DIRT), - new Triplet<>("Sand", "sand", Blocks.SAND), - new Triplet<>("Sandstone", "sandstone", Blocks.SANDSTONE), - new Triplet<>("Smooth Basalt", "smooth_basalt", Blocks.SMOOTH_BASALT), - new Triplet<>("Smooth Quartz", "quartz_block_bottom", Blocks.SMOOTH_QUARTZ), - new Triplet<>("Smooth Red Sandstone", "red_sandstone_top", Blocks.SMOOTH_RED_SANDSTONE), - new Triplet<>("Smooth Sandstone", "sandstone_top", Blocks.SMOOTH_SANDSTONE), - new Triplet<>("Smooth Stone", "smooth_stone", Blocks.SMOOTH_STONE), - new Triplet<>("Soul Sand", "soul_sand", Blocks.SOUL_SAND), - new Triplet<>("Stone", "stone", Blocks.STONE), - new Triplet<>("Stone Bricks", "stone_bricks", Blocks.STONE_BRICKS), - new Triplet<>("Tuff", "tuff", Blocks.TUFF), - new Triplet<>("Copper Block", "copper_block", Blocks.COPPER_BLOCK), - new Triplet<>("Diamond Block", "diamond_block", Blocks.DIAMOND_BLOCK), - new Triplet<>("Gold Block", "gold_block", Blocks.GOLD_BLOCK), - new Triplet<>("Iron Block", "iron_block", Blocks.IRON_BLOCK), - new Triplet<>("Lapis Block", "lapis_block", Blocks.LAPIS_BLOCK), - new Triplet<>("Netherite Block", "netherite_block", Blocks.NETHERITE_BLOCK), - new Triplet<>("Redstone Block", "redstone_block", Blocks.REDSTONE_BLOCK), - new Triplet<>("White Terracotta", "white_terracotta", Blocks.WHITE_TERRACOTTA), - new Triplet<>("Orange Terracotta", "orange_terracotta", Blocks.ORANGE_TERRACOTTA), - new Triplet<>("Magenta Terracotta", "magenta_terracotta", Blocks.MAGENTA_TERRACOTTA), - new Triplet<>("Light Blue Terracotta", "light_blue_terracotta", Blocks.LIGHT_BLUE_TERRACOTTA), - new Triplet<>("Yellow Terracotta", "yellow_terracotta", Blocks.YELLOW_TERRACOTTA), - new Triplet<>("Lime Terracotta", "lime_terracotta", Blocks.LIME_TERRACOTTA), - new Triplet<>("Pink Terracotta", "pink_terracotta", Blocks.PINK_TERRACOTTA), - new Triplet<>("Gray Terracotta", "gray_terracotta", Blocks.GRAY_TERRACOTTA), - new Triplet<>("Light Gray Terracotta", "light_gray_terracotta", Blocks.LIGHT_GRAY_TERRACOTTA), - new Triplet<>("Cyan Terracotta", "cyan_terracotta", Blocks.CYAN_TERRACOTTA), - new Triplet<>("Purple Terracotta", "purple_terracotta", Blocks.PURPLE_TERRACOTTA), - new Triplet<>("Blue Terracotta", "blue_terracotta", Blocks.BLUE_TERRACOTTA), - new Triplet<>("Brown Terracotta", "brown_terracotta", Blocks.BROWN_TERRACOTTA), - new Triplet<>("Green Terracotta", "green_terracotta", Blocks.GREEN_TERRACOTTA), - new Triplet<>("Red Terracotta", "red_terracotta", Blocks.RED_TERRACOTTA), - new Triplet<>("Black Terracotta", "black_terracotta", Blocks.BLACK_TERRACOTTA), - new Triplet<>("White Glazed Terracotta", "white_glazed_terracotta", Blocks.WHITE_GLAZED_TERRACOTTA), - new Triplet<>("Orange Glazed Terracotta", "orange_glazed_terracotta", Blocks.ORANGE_GLAZED_TERRACOTTA), - new Triplet<>("Magenta Glazed Terracotta", "magenta_glazed_terracotta", Blocks.MAGENTA_GLAZED_TERRACOTTA), - new Triplet<>("Light Blue Glazed Terracotta", "light_blue_glazed_terracotta", Blocks.LIGHT_BLUE_GLAZED_TERRACOTTA), - new Triplet<>("Yellow Glazed Terracotta", "yellow_glazed_terracotta", Blocks.YELLOW_GLAZED_TERRACOTTA), - new Triplet<>("Lime Glazed Terracotta", "lime_glazed_terracotta", Blocks.LIME_GLAZED_TERRACOTTA), - new Triplet<>("Pink Glazed Terracotta", "pink_glazed_terracotta", Blocks.PINK_GLAZED_TERRACOTTA), - new Triplet<>("Gray Glazed Terracotta", "gray_glazed_terracotta", Blocks.GRAY_GLAZED_TERRACOTTA), - new Triplet<>("Light Gray Glazed Terracotta", "light_gray_glazed_terracotta", Blocks.LIGHT_GRAY_GLAZED_TERRACOTTA), - new Triplet<>("Cyan Glazed Terracotta", "cyan_glazed_terracotta", Blocks.CYAN_GLAZED_TERRACOTTA), - new Triplet<>("Purple Glazed Terracotta", "purple_glazed_terracotta", Blocks.PURPLE_GLAZED_TERRACOTTA), - new Triplet<>("Blue Glazed Terracotta", "blue_glazed_terracotta", Blocks.BLUE_GLAZED_TERRACOTTA), - new Triplet<>("Brown Glazed Terracotta", "brown_glazed_terracotta", Blocks.BROWN_GLAZED_TERRACOTTA), - new Triplet<>("Green Glazed Terracotta", "green_glazed_terracotta", Blocks.GREEN_GLAZED_TERRACOTTA), - new Triplet<>("Red Glazed Terracotta", "red_glazed_terracotta", Blocks.RED_GLAZED_TERRACOTTA), - new Triplet<>("Black Glazed Terracotta", "black_glazed_terracotta", Blocks.BLACK_GLAZED_TERRACOTTA), - new Triplet<>("White Concrete", "white_concrete", Blocks.WHITE_CONCRETE), - new Triplet<>("Orange Concrete", "orange_concrete", Blocks.ORANGE_CONCRETE), - new Triplet<>("Magenta Concrete", "magenta_concrete", Blocks.MAGENTA_CONCRETE), - new Triplet<>("Light Blue Concrete", "light_blue_concrete", Blocks.LIGHT_BLUE_CONCRETE), - new Triplet<>("Yellow Concrete", "yellow_concrete", Blocks.YELLOW_CONCRETE), - new Triplet<>("Lime Concrete", "lime_concrete", Blocks.LIME_CONCRETE), - new Triplet<>("Pink Concrete", "pink_concrete", Blocks.PINK_CONCRETE), - new Triplet<>("Gray Concrete", "gray_concrete", Blocks.GRAY_CONCRETE), - new Triplet<>("Light Gray Concrete", "light_gray_concrete", Blocks.LIGHT_GRAY_CONCRETE), - new Triplet<>("Cyan Concrete", "cyan_concrete", Blocks.CYAN_CONCRETE), - new Triplet<>("Purple Concrete", "purple_concrete", Blocks.PURPLE_CONCRETE), - new Triplet<>("Blue Concrete", "blue_concrete", Blocks.BLUE_CONCRETE), - new Triplet<>("Brown Concrete", "brown_concrete", Blocks.BROWN_CONCRETE), - new Triplet<>("Green Concrete", "green_concrete", Blocks.GREEN_CONCRETE), - new Triplet<>("Red Concrete", "red_concrete", Blocks.RED_CONCRETE), - new Triplet<>("Black Concrete", "black_concrete", Blocks.BLACK_CONCRETE), - new Triplet<>("Acacia Planks", "acacia_planks", Blocks.ACACIA_PLANKS), - new Triplet<>("Birch Planks", "birch_planks", Blocks.BIRCH_PLANKS), - new Triplet<>("Cherry Planks", "cherry_planks", Blocks.CHERRY_PLANKS), - new Triplet<>("Crimson Planks", "crimson_planks", Blocks.CRIMSON_PLANKS), - new Triplet<>("Dark Oak Planks", "dark_oak_planks", Blocks.DARK_OAK_PLANKS), - new Triplet<>("Jungle Planks", "jungle_planks", Blocks.JUNGLE_PLANKS), - new Triplet<>("Mangrove Planks", "mangrove_planks", Blocks.MANGROVE_PLANKS), - new Triplet<>("Oak Planks", "oak_planks", Blocks.OAK_PLANKS), - new Triplet<>("Spruce Planks", "spruce_planks", Blocks.SPRUCE_PLANKS), - new Triplet<>("Warped Planks", "warped_planks", Blocks.WARPED_PLANKS) + protected static final List, Block, Tool>> BLOCKS_TO_COMPRESS = List.of( + new Triplet<>(new Pair<>("Amethyst", "amethyst_block"), Blocks.AMETHYST_BLOCK, Tool.PICKAXE), + new Triplet<>(new Pair<>("Andesite", "andesite"), Blocks.ANDESITE, Tool.PICKAXE), + new Triplet<>(new Pair<>("Bricks", "bricks"), Blocks.BRICKS, Tool.PICKAXE), + new Triplet<>(new Pair<>("Calcite", "calcite"), Blocks.CALCITE, Tool.PICKAXE), + new Triplet<>(new Pair<>("Clay", "clay"), Blocks.CLAY, Tool.PICKAXE), + new Triplet<>(new Pair<>("Coarse Dirt", "coarse_dirt"), Blocks.COARSE_DIRT, Tool.SHOVEL), + new Triplet<>(new Pair<>("Cobbled Deepslate", "cobbled_deepslate"), Blocks.COBBLED_DEEPSLATE, Tool.PICKAXE), + new Triplet<>(new Pair<>("Cobblestone", "cobblestone"), Blocks.COBBLESTONE, Tool.PICKAXE), + new Triplet<>(new Pair<>("Cracked Deepslate Bricks", "cracked_deepslate_bricks"), Blocks.CRACKED_DEEPSLATE_BRICKS, Tool.PICKAXE), + new Triplet<>(new Pair<>("Cracked Deepslate Tiles", "cracked_deepslate_tiles"), Blocks.CRACKED_DEEPSLATE_TILES, Tool.PICKAXE), + new Triplet<>(new Pair<>("Cracked Stone Bricks", "cracked_stone_bricks"), Blocks.CRACKED_STONE_BRICKS, Tool.PICKAXE), + new Triplet<>(new Pair<>("Crying Obsidian", "crying_obsidian"), Blocks.CRYING_OBSIDIAN, Tool.PICKAXE), + new Triplet<>(new Pair<>("Cut Red Sandstone", "cut_red_sandstone"), Blocks.CUT_RED_SANDSTONE, Tool.PICKAXE), + new Triplet<>(new Pair<>("Cut Sandstone", "cut_sandstone"), Blocks.CUT_SANDSTONE, Tool.PICKAXE), + new Triplet<>(new Pair<>("Dark Prismarine", "dark_prismarine"), Blocks.DARK_PRISMARINE, Tool.PICKAXE), + new Triplet<>(new Pair<>("Deepslate Bricks", "deepslate_bricks"), Blocks.DEEPSLATE_BRICKS, Tool.PICKAXE), + new Triplet<>(new Pair<>("Deepslate Tiles", "deepslate_tiles"), Blocks.DEEPSLATE_TILES, Tool.PICKAXE), + new Triplet<>(new Pair<>("Diorite", "diorite"), Blocks.DIORITE, Tool.PICKAXE), + new Triplet<>(new Pair<>("Dirt", "dirt"), Blocks.DIRT, Tool.SHOVEL), + new Triplet<>(new Pair<>("End Stone", "end_stone"), Blocks.END_STONE, Tool.PICKAXE), + new Triplet<>(new Pair<>("End Stone Bricks", "end_stone_bricks"), Blocks.END_STONE_BRICKS, Tool.PICKAXE), + new Triplet<>(new Pair<>("Granite", "granite"), Blocks.GRANITE, Tool.PICKAXE), + new Triplet<>(new Pair<>("Gravel", "gravel"), Blocks.GRAVEL, Tool.SHOVEL), + new Triplet<>(new Pair<>("Mossy Cobblestone", "mossy_cobblestone"), Blocks.MOSSY_COBBLESTONE, Tool.PICKAXE), + new Triplet<>(new Pair<>("Mossy Stone Bricks", "mossy_stone_bricks"), Blocks.MOSSY_STONE_BRICKS, Tool.PICKAXE), + new Triplet<>(new Pair<>("Mud", "mud"), Blocks.MUD, Tool.SHOVEL), + new Triplet<>(new Pair<>("Mud Bricks", "mud_bricks"), Blocks.MUD_BRICKS, Tool.PICKAXE), + new Triplet<>(new Pair<>("Netherrack", "netherrack"), Blocks.NETHERRACK, Tool.PICKAXE), + new Triplet<>(new Pair<>("Nether Bricks", "nether_bricks"), Blocks.NETHER_BRICKS, Tool.PICKAXE), + new Triplet<>(new Pair<>("Obsidian", "obsidian"), Blocks.OBSIDIAN, Tool.PICKAXE), + new Triplet<>(new Pair<>("Packed Mud", "packed_mud"), Blocks.PACKED_MUD, Tool.PICKAXE), + new Triplet<>(new Pair<>("Polished Andesite", "polished_andesite"), Blocks.POLISHED_ANDESITE, Tool.PICKAXE), + new Triplet<>(new Pair<>("Polished Blackstone", "polished_blackstone"), Blocks.POLISHED_BLACKSTONE, Tool.PICKAXE), + new Triplet<>(new Pair<>("Polished Blackstone Bricks", "polished_blackstone_bricks"), Blocks.POLISHED_BLACKSTONE_BRICKS, Tool.PICKAXE), + new Triplet<>(new Pair<>("Polished Deepslate", "polished_deepslate"), Blocks.POLISHED_DEEPSLATE, Tool.PICKAXE), + new Triplet<>(new Pair<>("Polished Diorite", "polished_diorite"), Blocks.POLISHED_DIORITE, Tool.PICKAXE), + new Triplet<>(new Pair<>("Polished Granite", "polished_granite"), Blocks.POLISHED_GRANITE, Tool.PICKAXE), + new Triplet<>(new Pair<>("Prismarine", "prismarine"), Blocks.PRISMARINE, Tool.PICKAXE), + new Triplet<>(new Pair<>("Prismarine Bricks", "prismarine_bricks"), Blocks.PRISMARINE_BRICKS, Tool.PICKAXE), + new Triplet<>(new Pair<>("Purpur", "purpur_block"), Blocks.PURPUR_BLOCK, Tool.PICKAXE), + new Triplet<>(new Pair<>("Quartz Bricks", "quartz_bricks"), Blocks.QUARTZ_BRICKS, Tool.PICKAXE), + new Triplet<>(new Pair<>("Red Nether Bricks", "red_nether_bricks"), Blocks.RED_NETHER_BRICKS, Tool.PICKAXE), + new Triplet<>(new Pair<>("Red Sandstone", "red_sandstone"), Blocks.RED_SANDSTONE, Tool.PICKAXE), + new Triplet<>(new Pair<>("Red Sand", "red_sand"), Blocks.RED_SAND, Tool.SHOVEL), + new Triplet<>(new Pair<>("Rooted Dirt", "rooted_dirt"), Blocks.ROOTED_DIRT, Tool.SHOVEL), + new Triplet<>(new Pair<>("Sand", "sand"), Blocks.SAND, Tool.SHOVEL), + new Triplet<>(new Pair<>("Sandstone", "sandstone"), Blocks.SANDSTONE, Tool.PICKAXE), + new Triplet<>(new Pair<>("Smooth Basalt", "smooth_basalt"), Blocks.SMOOTH_BASALT, Tool.PICKAXE), + new Triplet<>(new Pair<>("Smooth Quartz", "quartz_block_bottom"), Blocks.SMOOTH_QUARTZ, Tool.PICKAXE), + new Triplet<>(new Pair<>("Smooth Red Sandstone", "red_sandstone_top"), Blocks.SMOOTH_RED_SANDSTONE, Tool.PICKAXE), + new Triplet<>(new Pair<>("Smooth Sandstone", "sandstone_top"), Blocks.SMOOTH_SANDSTONE, Tool.PICKAXE), + new Triplet<>(new Pair<>("Smooth Stone", "smooth_stone"), Blocks.SMOOTH_STONE, Tool.PICKAXE), + new Triplet<>(new Pair<>("Soul Sand", "soul_sand"), Blocks.SOUL_SAND, Tool.SHOVEL), + new Triplet<>(new Pair<>("Stone", "stone"), Blocks.STONE, Tool.PICKAXE), + new Triplet<>(new Pair<>("Stone Bricks", "stone_bricks"), Blocks.STONE_BRICKS, Tool.PICKAXE), + new Triplet<>(new Pair<>("Tuff", "tuff"), Blocks.TUFF, Tool.PICKAXE), + new Triplet<>(new Pair<>("Copper Block", "copper_block"), Blocks.COPPER_BLOCK, Tool.PICKAXE), + new Triplet<>(new Pair<>("Diamond Block", "diamond_block"), Blocks.DIAMOND_BLOCK, Tool.PICKAXE), + new Triplet<>(new Pair<>("Gold Block", "gold_block"), Blocks.GOLD_BLOCK, Tool.PICKAXE), + new Triplet<>(new Pair<>("Iron Block", "iron_block"), Blocks.IRON_BLOCK, Tool.PICKAXE), + new Triplet<>(new Pair<>("Lapis Block", "lapis_block"), Blocks.LAPIS_BLOCK, Tool.PICKAXE), + new Triplet<>(new Pair<>("Netherite Block", "netherite_block"), Blocks.NETHERITE_BLOCK, Tool.PICKAXE), + new Triplet<>(new Pair<>("Redstone Block", "redstone_block"), Blocks.REDSTONE_BLOCK, Tool.PICKAXE), + new Triplet<>(new Pair<>("White Terracotta", "white_terracotta"), Blocks.WHITE_TERRACOTTA, Tool.PICKAXE), + new Triplet<>(new Pair<>("Orange Terracotta", "orange_terracotta"), Blocks.ORANGE_TERRACOTTA, Tool.PICKAXE), + new Triplet<>(new Pair<>("Magenta Terracotta", "magenta_terracotta"), Blocks.MAGENTA_TERRACOTTA, Tool.PICKAXE), + new Triplet<>(new Pair<>("Light Blue Terracotta", "light_blue_terracotta"), Blocks.LIGHT_BLUE_TERRACOTTA, Tool.PICKAXE), + new Triplet<>(new Pair<>("Yellow Terracotta", "yellow_terracotta"), Blocks.YELLOW_TERRACOTTA, Tool.PICKAXE), + new Triplet<>(new Pair<>("Lime Terracotta", "lime_terracotta"), Blocks.LIME_TERRACOTTA, Tool.PICKAXE), + new Triplet<>(new Pair<>("Pink Terracotta", "pink_terracotta"), Blocks.PINK_TERRACOTTA, Tool.PICKAXE), + new Triplet<>(new Pair<>("Gray Terracotta", "gray_terracotta"), Blocks.GRAY_TERRACOTTA, Tool.PICKAXE), + new Triplet<>(new Pair<>("Light Gray Terracotta", "light_gray_terracotta"), Blocks.LIGHT_GRAY_TERRACOTTA, Tool.PICKAXE), + new Triplet<>(new Pair<>("Cyan Terracotta", "cyan_terracotta"), Blocks.CYAN_TERRACOTTA, Tool.PICKAXE), + new Triplet<>(new Pair<>("Purple Terracotta", "purple_terracotta"), Blocks.PURPLE_TERRACOTTA, Tool.PICKAXE), + new Triplet<>(new Pair<>("Blue Terracotta", "blue_terracotta"), Blocks.BLUE_TERRACOTTA, Tool.PICKAXE), + new Triplet<>(new Pair<>("Brown Terracotta", "brown_terracotta"), Blocks.BROWN_TERRACOTTA, Tool.PICKAXE), + new Triplet<>(new Pair<>("Green Terracotta", "green_terracotta"), Blocks.GREEN_TERRACOTTA, Tool.PICKAXE), + new Triplet<>(new Pair<>("Red Terracotta", "red_terracotta"), Blocks.RED_TERRACOTTA, Tool.PICKAXE), + new Triplet<>(new Pair<>("Black Terracotta", "black_terracotta"), Blocks.BLACK_TERRACOTTA, Tool.PICKAXE), + new Triplet<>(new Pair<>("White Glazed Terracotta", "white_glazed_terracotta"), Blocks.WHITE_GLAZED_TERRACOTTA, Tool.PICKAXE), + new Triplet<>(new Pair<>("Orange Glazed Terracotta", "orange_glazed_terracotta"), Blocks.ORANGE_GLAZED_TERRACOTTA, Tool.PICKAXE), + new Triplet<>(new Pair<>("Magenta Glazed Terracotta", "magenta_glazed_terracotta"), Blocks.MAGENTA_GLAZED_TERRACOTTA, Tool.PICKAXE), + new Triplet<>(new Pair<>("Light Blue Glazed Terracotta", "light_blue_glazed_terracotta"), Blocks.LIGHT_BLUE_GLAZED_TERRACOTTA, Tool.PICKAXE), + new Triplet<>(new Pair<>("Yellow Glazed Terracotta", "yellow_glazed_terracotta"), Blocks.YELLOW_GLAZED_TERRACOTTA, Tool.PICKAXE), + new Triplet<>(new Pair<>("Lime Glazed Terracotta", "lime_glazed_terracotta"), Blocks.LIME_GLAZED_TERRACOTTA, Tool.PICKAXE), + new Triplet<>(new Pair<>("Pink Glazed Terracotta", "pink_glazed_terracotta"), Blocks.PINK_GLAZED_TERRACOTTA, Tool.PICKAXE), + new Triplet<>(new Pair<>("Gray Glazed Terracotta", "gray_glazed_terracotta"), Blocks.GRAY_GLAZED_TERRACOTTA, Tool.PICKAXE), + new Triplet<>(new Pair<>("Light Gray Glazed Terracotta", "light_gray_glazed_terracotta"), Blocks.LIGHT_GRAY_GLAZED_TERRACOTTA, Tool.PICKAXE), + new Triplet<>(new Pair<>("Cyan Glazed Terracotta", "cyan_glazed_terracotta"), Blocks.CYAN_GLAZED_TERRACOTTA, Tool.PICKAXE), + new Triplet<>(new Pair<>("Purple Glazed Terracotta", "purple_glazed_terracotta"), Blocks.PURPLE_GLAZED_TERRACOTTA, Tool.PICKAXE), + new Triplet<>(new Pair<>("Blue Glazed Terracotta", "blue_glazed_terracotta"), Blocks.BLUE_GLAZED_TERRACOTTA, Tool.PICKAXE), + new Triplet<>(new Pair<>("Brown Glazed Terracotta", "brown_glazed_terracotta"), Blocks.BROWN_GLAZED_TERRACOTTA, Tool.PICKAXE), + new Triplet<>(new Pair<>("Green Glazed Terracotta", "green_glazed_terracotta"), Blocks.GREEN_GLAZED_TERRACOTTA, Tool.PICKAXE), + new Triplet<>(new Pair<>("Red Glazed Terracotta", "red_glazed_terracotta"), Blocks.RED_GLAZED_TERRACOTTA, Tool.PICKAXE), + new Triplet<>(new Pair<>("Black Glazed Terracotta", "black_glazed_terracotta"), Blocks.BLACK_GLAZED_TERRACOTTA, Tool.PICKAXE), + new Triplet<>(new Pair<>("White Concrete", "white_concrete"), Blocks.WHITE_CONCRETE, Tool.PICKAXE), + new Triplet<>(new Pair<>("Orange Concrete", "orange_concrete"), Blocks.ORANGE_CONCRETE, Tool.PICKAXE), + new Triplet<>(new Pair<>("Magenta Concrete", "magenta_concrete"), Blocks.MAGENTA_CONCRETE, Tool.PICKAXE), + new Triplet<>(new Pair<>("Light Blue Concrete", "light_blue_concrete"), Blocks.LIGHT_BLUE_CONCRETE, Tool.PICKAXE), + new Triplet<>(new Pair<>("Yellow Concrete", "yellow_concrete"), Blocks.YELLOW_CONCRETE, Tool.PICKAXE), + new Triplet<>(new Pair<>("Lime Concrete", "lime_concrete"), Blocks.LIME_CONCRETE, Tool.PICKAXE), + new Triplet<>(new Pair<>("Pink Concrete", "pink_concrete"), Blocks.PINK_CONCRETE, Tool.PICKAXE), + new Triplet<>(new Pair<>("Gray Concrete", "gray_concrete"), Blocks.GRAY_CONCRETE, Tool.PICKAXE), + new Triplet<>(new Pair<>("Light Gray Concrete", "light_gray_concrete"), Blocks.LIGHT_GRAY_CONCRETE, Tool.PICKAXE), + new Triplet<>(new Pair<>("Cyan Concrete", "cyan_concrete"), Blocks.CYAN_CONCRETE, Tool.PICKAXE), + new Triplet<>(new Pair<>("Purple Concrete", "purple_concrete"), Blocks.PURPLE_CONCRETE, Tool.PICKAXE), + new Triplet<>(new Pair<>("Blue Concrete", "blue_concrete"), Blocks.BLUE_CONCRETE, Tool.PICKAXE), + new Triplet<>(new Pair<>("Brown Concrete", "brown_concrete"), Blocks.BROWN_CONCRETE, Tool.PICKAXE), + new Triplet<>(new Pair<>("Green Concrete", "green_concrete"), Blocks.GREEN_CONCRETE, Tool.PICKAXE), + new Triplet<>(new Pair<>("Red Concrete", "red_concrete"), Blocks.RED_CONCRETE, Tool.PICKAXE), + new Triplet<>(new Pair<>("Black Concrete", "black_concrete"), Blocks.BLACK_CONCRETE, Tool.PICKAXE), + new Triplet<>(new Pair<>("Acacia Planks", "acacia_planks"), Blocks.ACACIA_PLANKS, Tool.AXE), + new Triplet<>(new Pair<>("Birch Planks", "birch_planks"), Blocks.BIRCH_PLANKS, Tool.AXE), + new Triplet<>(new Pair<>("Cherry Planks", "cherry_planks"), Blocks.CHERRY_PLANKS, Tool.AXE), + new Triplet<>(new Pair<>("Crimson Planks", "crimson_planks"), Blocks.CRIMSON_PLANKS, Tool.AXE), + new Triplet<>(new Pair<>("Dark Oak Planks", "dark_oak_planks"), Blocks.DARK_OAK_PLANKS, Tool.AXE), + new Triplet<>(new Pair<>("Jungle Planks", "jungle_planks"), Blocks.JUNGLE_PLANKS, Tool.AXE), + new Triplet<>(new Pair<>("Mangrove Planks", "mangrove_planks"), Blocks.MANGROVE_PLANKS, Tool.AXE), + new Triplet<>(new Pair<>("Oak Planks", "oak_planks"), Blocks.OAK_PLANKS, Tool.AXE), + new Triplet<>(new Pair<>("Spruce Planks", "spruce_planks"), Blocks.SPRUCE_PLANKS, Tool.AXE), + new Triplet<>(new Pair<>("Warped Planks", "warped_planks"), Blocks.WARPED_PLANKS, Tool.AXE) ); static { MINEKEA_BLOCKS_TO_COMPRESS.forEach(data -> { - String materialName = data.getA(); - String textureKey = data.getB(); - MinekeaBlock baseBlock = data.getC(); - Identifier baseBlockId = data.getD(); + String materialName = data.getA().getA(); + String textureKey = data.getA().getB(); + MinekeaBlock baseBlock = data.getB(); + Identifier baseBlockId = data.getC(); + Tool miningTool = data.getD(); List compressedBlocks = new ArrayList<>(); for (int i = 1; i <= 9; i += 1) { - compressedBlocks.add(new CompressedMinekeaBlock(materialName, textureKey, baseBlock, i, baseBlockId)); + compressedBlocks.add(new CompressedMinekeaBlock(materialName, textureKey, baseBlock, i, baseBlockId, miningTool)); } BLOCKS.addAll(compressedBlocks); @@ -211,14 +213,15 @@ public class CompressedBlocks implements MinekeaBlockCategory { }); BLOCKS_TO_COMPRESS.forEach(data -> { - String materialName = data.getA(); - String textureKey = data.getB(); - Block baseBlock = data.getC(); + String materialName = data.getA().getA(); + String textureKey = data.getA().getB(); + Block baseBlock = data.getB(); + Tool miningTool = data.getC(); List compressedBlocks = new ArrayList<>(); for (int i = 1; i <= 9; i += 1) { - compressedBlocks.add(new GenericCompressedBlock(materialName, textureKey, baseBlock, i)); + compressedBlocks.add(new GenericCompressedBlock(materialName, textureKey, baseBlock, i, miningTool)); } BLOCKS.addAll(compressedBlocks); @@ -226,16 +229,17 @@ public class CompressedBlocks implements MinekeaBlockCategory { }); COLUMN_BLOCKS_TO_COMPRESS.forEach(data -> { - String materialName = data.getA(); - String textureKey = data.getB(); - Block baseBlock = data.getC(); - String textureKeySide = data.getD(); - String textureKeyEnd = data.getE(); + String materialName = data.getA().getA(); + String textureKey = data.getA().getB(); + Block baseBlock = data.getB(); + String textureKeySide = data.getC().getA(); + String textureKeyEnd = data.getC().getB(); + Tool tool = data.getD(); List compressedBlocks = new ArrayList<>(); for (int i = 1; i <= 9; i += 1) { - compressedBlocks.add(new CompressedColumnBlock(materialName, textureKey, baseBlock, i, textureKeySide, textureKeyEnd)); + compressedBlocks.add(new CompressedColumnBlock(materialName, textureKey, baseBlock, i, textureKeySide, textureKeyEnd, tool)); } BLOCKS.addAll(compressedBlocks); diff --git a/src/main/java/com/chimericdream/minekea/block/building/compressed/CompressedColumnBlock.java b/src/main/java/com/chimericdream/minekea/block/building/compressed/CompressedColumnBlock.java index 66c840c8c..97aaeb27f 100644 --- a/src/main/java/com/chimericdream/minekea/block/building/compressed/CompressedColumnBlock.java +++ b/src/main/java/com/chimericdream/minekea/block/building/compressed/CompressedColumnBlock.java @@ -3,6 +3,7 @@ import com.chimericdream.minekea.ModInfo; import com.chimericdream.minekea.data.TextureGenerator; import com.chimericdream.minekea.resource.ModelUtils; +import com.chimericdream.minekea.util.Tool; import net.minecraft.block.Block; import net.minecraft.data.client.BlockStateModelGenerator; import net.minecraft.data.client.Models; @@ -23,6 +24,10 @@ public CompressedColumnBlock(String materialName, String textureKey, Block baseB this(Settings.copy(baseBlock), materialName, textureKey, baseBlock, compressionLevel, textureKeySide, textureKeyEnd); } + public CompressedColumnBlock(String materialName, String textureKey, Block baseBlock, int compressionLevel, String textureKeySide, String textureKeyEnd, Tool miningTool) { + this(Settings.copy(baseBlock), materialName, textureKey, baseBlock, compressionLevel, textureKeySide, textureKeyEnd, miningTool); + } + public CompressedColumnBlock( Settings settings, String materialName, @@ -32,7 +37,20 @@ public CompressedColumnBlock( String textureKeySide, String textureKeyEnd ) { - super(settings, materialName, textureKey, baseBlock, compressionLevel); + this(settings, materialName, textureKey, baseBlock, compressionLevel, textureKeySide, textureKeyEnd, Tool.PICKAXE); + } + + public CompressedColumnBlock( + Settings settings, + String materialName, + String textureKey, + Block baseBlock, + int compressionLevel, + String textureKeySide, + String textureKeyEnd, + Tool miningTool + ) { + super(settings, materialName, textureKey, baseBlock, compressionLevel, miningTool); this.textureKeySide = textureKeySide; this.textureKeyEnd = textureKeyEnd; diff --git a/src/main/java/com/chimericdream/minekea/block/building/compressed/CompressedMinekeaBlock.java b/src/main/java/com/chimericdream/minekea/block/building/compressed/CompressedMinekeaBlock.java index 4002e522c..42a2810ef 100644 --- a/src/main/java/com/chimericdream/minekea/block/building/compressed/CompressedMinekeaBlock.java +++ b/src/main/java/com/chimericdream/minekea/block/building/compressed/CompressedMinekeaBlock.java @@ -3,6 +3,7 @@ import com.chimericdream.minekea.ModInfo; import com.chimericdream.minekea.data.TextureGenerator; import com.chimericdream.minekea.util.MinekeaBlock; +import com.chimericdream.minekea.util.Tool; import net.minecraft.block.Block; import net.minecraft.registry.Registries; import net.minecraft.util.Identifier; @@ -18,6 +19,10 @@ public CompressedMinekeaBlock(String materialName, String textureKey, MinekeaBlo this(Settings.copy((Block) baseBlock), materialName, textureKey, baseBlock, compressionLevel, baseBlockId); } + public CompressedMinekeaBlock(String materialName, String textureKey, MinekeaBlock baseBlock, int compressionLevel, Identifier baseBlockId, Tool miningTool) { + this(Settings.copy((Block) baseBlock), materialName, textureKey, baseBlock, compressionLevel, baseBlockId, miningTool); + } + public CompressedMinekeaBlock( Settings settings, String materialName, @@ -26,7 +31,19 @@ public CompressedMinekeaBlock( int compressionLevel, Identifier baseBlockId ) { - super(settings, materialName, textureKey, (Block) baseBlock, compressionLevel); + this(settings, materialName, textureKey, baseBlock, compressionLevel, baseBlockId, Tool.PICKAXE); + } + + public CompressedMinekeaBlock( + Settings settings, + String materialName, + String textureKey, + MinekeaBlock baseBlock, + int compressionLevel, + Identifier baseBlockId, + Tool miningTool + ) { + super(settings, materialName, textureKey, (Block) baseBlock, compressionLevel, miningTool); this.baseBlockId = baseBlockId; diff --git a/src/main/java/com/chimericdream/minekea/block/building/compressed/GenericCompressedBlock.java b/src/main/java/com/chimericdream/minekea/block/building/compressed/GenericCompressedBlock.java index 26dc67d8a..416f0b6d6 100644 --- a/src/main/java/com/chimericdream/minekea/block/building/compressed/GenericCompressedBlock.java +++ b/src/main/java/com/chimericdream/minekea/block/building/compressed/GenericCompressedBlock.java @@ -3,8 +3,10 @@ import com.chimericdream.minekea.ModInfo; import com.chimericdream.minekea.data.TextureGenerator; import com.chimericdream.minekea.util.MinekeaBlock; +import com.chimericdream.minekea.util.Tool; import net.fabricmc.fabric.api.datagen.v1.provider.FabricLanguageProvider; import net.fabricmc.fabric.api.datagen.v1.provider.FabricRecipeProvider; +import net.fabricmc.fabric.api.datagen.v1.provider.FabricTagProvider; import net.minecraft.block.AbstractBlock; import net.minecraft.block.Block; import net.minecraft.block.BlockRenderType; @@ -23,6 +25,7 @@ import net.minecraft.registry.Registries; import net.minecraft.registry.Registry; import net.minecraft.registry.RegistryWrapper; +import net.minecraft.registry.tag.TagKey; import net.minecraft.state.StateManager; import net.minecraft.state.property.EnumProperty; import net.minecraft.state.property.Properties; @@ -35,6 +38,7 @@ import java.text.DecimalFormat; import java.util.List; import java.util.Optional; +import java.util.function.Function; public class GenericCompressedBlock extends Block implements MinekeaBlock { public final Identifier BLOCK_ID; @@ -49,6 +53,7 @@ public class GenericCompressedBlock extends Block implements MinekeaBlock { protected final String textureKey; protected final Block baseBlock; protected final int compressionLevel; + protected final Tool miningTool; static { AXIS = Properties.AXIS; @@ -58,12 +63,27 @@ public GenericCompressedBlock(String materialName, String textureKey, Block base this(AbstractBlock.Settings.copy(baseBlock), materialName, textureKey, baseBlock, compressionLevel); } + public GenericCompressedBlock(String materialName, String textureKey, Block baseBlock, int compressionLevel, Tool miningTool) { + this(AbstractBlock.Settings.copy(baseBlock), materialName, textureKey, baseBlock, compressionLevel, miningTool); + } + public GenericCompressedBlock( AbstractBlock.Settings settings, String materialName, String textureKey, Block baseBlock, int compressionLevel + ) { + this(settings, materialName, textureKey, baseBlock, compressionLevel, Tool.PICKAXE); + } + + public GenericCompressedBlock( + AbstractBlock.Settings settings, + String materialName, + String textureKey, + Block baseBlock, + int compressionLevel, + Tool miningTool ) { super(settings.strength( getHardness(compressionLevel, baseBlock.getHardness()), @@ -74,6 +94,7 @@ public GenericCompressedBlock( this.textureKey = textureKey; this.baseBlock = baseBlock; this.compressionLevel = compressionLevel; + this.miningTool = miningTool; BLOCK_ID = Identifier.of(ModInfo.MOD_ID, String.format("building/compressed/%s/%dx", textureKey, compressionLevel)); @@ -121,6 +142,13 @@ public void register() { Registry.register(Registries.ITEM, BLOCK_ID, new BlockItem(this, new Item.Settings())); } + @Override + public void configureBlockTags(RegistryWrapper.WrapperLookup registryLookup, Function, FabricTagProvider.FabricTagBuilder> getBuilder) { + getBuilder.apply(this.miningTool.getMineableTag()) + .setReplace(false) + .add(this); + } + @Override public void configureRecipes(RecipeExporter exporter) { Block parentBlock = Registries.BLOCK.get(PARENT_BLOCK_ID); diff --git a/src/main/java/com/chimericdream/minekea/block/building/covers/Covers.java b/src/main/java/com/chimericdream/minekea/block/building/covers/Covers.java index 6eb1390de..a2b5af1f2 100644 --- a/src/main/java/com/chimericdream/minekea/block/building/covers/Covers.java +++ b/src/main/java/com/chimericdream/minekea/block/building/covers/Covers.java @@ -9,6 +9,7 @@ import com.chimericdream.minekea.block.building.general.WarpedNetherBricksBlock; import com.chimericdream.minekea.util.MinekeaBlock; import com.chimericdream.minekea.util.MinekeaBlockCategory; +import com.chimericdream.minekea.util.Tool; import net.fabricmc.fabric.api.datagen.v1.provider.FabricLanguageProvider; import net.fabricmc.fabric.api.datagen.v1.provider.FabricTagProvider; import net.minecraft.block.Block; @@ -153,27 +154,27 @@ public class Covers implements MinekeaBlockCategory { BLOCKS.add(new GenericCoverBlock("Magenta Concrete", "magenta_concrete", false, Blocks.MAGENTA_CONCRETE)); BLOCKS.add(new GenericCoverBlock("Pink Concrete", "pink_concrete", false, Blocks.PINK_CONCRETE)); - BLOCKS.add(new GenericCoverBlock("Acacia", "acacia", true, Blocks.ACACIA_PLANKS)); - BLOCKS.add(new GenericCoverBlock("Birch", "birch", true, Blocks.BIRCH_PLANKS)); - BLOCKS.add(new GenericCoverBlock("Cherry", "cherry", false, Blocks.CHERRY_PLANKS)); - BLOCKS.add(new GenericCoverBlock("Crimson", "crimson", false, Blocks.CRIMSON_PLANKS)); - BLOCKS.add(new GenericCoverBlock("Dark Oak", "dark_oak", true, Blocks.DARK_OAK_PLANKS)); - BLOCKS.add(new GenericCoverBlock("Jungle", "jungle", true, Blocks.JUNGLE_PLANKS)); - BLOCKS.add(new GenericCoverBlock("Mangrove", "mangrove", true, Blocks.MANGROVE_PLANKS)); - BLOCKS.add(new GenericCoverBlock("Oak", "oak", true, Blocks.OAK_PLANKS)); - BLOCKS.add(new GenericCoverBlock("Spruce", "spruce", true, Blocks.SPRUCE_PLANKS)); - BLOCKS.add(new GenericCoverBlock("Warped", "warped", false, Blocks.WARPED_PLANKS)); - - BLOCKS.add(new GenericCoverBlock("Acacia Log", "acacia_log", true, Blocks.ACACIA_PLANKS, Blocks.ACACIA_LOG, Registries.BLOCK.getId(Blocks.ACACIA_LOG).withPrefixedPath("block/").withSuffixedPath("_top"), Registries.BLOCK.getId(Blocks.ACACIA_LOG).withPrefixedPath("block/"))); - BLOCKS.add(new GenericCoverBlock("Birch Log", "birch_log", true, Blocks.BIRCH_PLANKS, Blocks.BIRCH_LOG, Registries.BLOCK.getId(Blocks.BIRCH_LOG).withPrefixedPath("block/").withSuffixedPath("_top"), Registries.BLOCK.getId(Blocks.BIRCH_LOG).withPrefixedPath("block/"))); - BLOCKS.add(new GenericCoverBlock("Cherry Log", "cherry_log", false, Blocks.CHERRY_PLANKS, Blocks.CHERRY_LOG, Registries.BLOCK.getId(Blocks.CHERRY_LOG).withPrefixedPath("block/").withSuffixedPath("_top"), Registries.BLOCK.getId(Blocks.CHERRY_LOG).withPrefixedPath("block/"))); - BLOCKS.add(new GenericCoverBlock("Crimson Stem", "crimson_stem", false, Blocks.CRIMSON_PLANKS, Blocks.CRIMSON_STEM, Registries.BLOCK.getId(Blocks.CRIMSON_STEM).withPrefixedPath("block/").withSuffixedPath("_top"), Registries.BLOCK.getId(Blocks.CRIMSON_STEM).withPrefixedPath("block/"))); - BLOCKS.add(new GenericCoverBlock("Dark Oak Log", "dark_oak_log", true, Blocks.DARK_OAK_PLANKS, Blocks.DARK_OAK_LOG, Registries.BLOCK.getId(Blocks.DARK_OAK_LOG).withPrefixedPath("block/").withSuffixedPath("_top"), Registries.BLOCK.getId(Blocks.DARK_OAK_LOG).withPrefixedPath("block/"))); - BLOCKS.add(new GenericCoverBlock("Jungle Log", "jungle_log", true, Blocks.JUNGLE_PLANKS, Blocks.JUNGLE_LOG, Registries.BLOCK.getId(Blocks.JUNGLE_LOG).withPrefixedPath("block/").withSuffixedPath("_top"), Registries.BLOCK.getId(Blocks.JUNGLE_LOG).withPrefixedPath("block/"))); - BLOCKS.add(new GenericCoverBlock("Mangrove Log", "mangrove_log", true, Blocks.MANGROVE_PLANKS, Blocks.MANGROVE_LOG, Registries.BLOCK.getId(Blocks.MANGROVE_LOG).withPrefixedPath("block/").withSuffixedPath("_top"), Registries.BLOCK.getId(Blocks.MANGROVE_LOG).withPrefixedPath("block/"))); + BLOCKS.add(new GenericCoverBlock("Acacia", "acacia", true, Blocks.ACACIA_PLANKS, Tool.AXE)); + BLOCKS.add(new GenericCoverBlock("Birch", "birch", true, Blocks.BIRCH_PLANKS, Tool.AXE)); + BLOCKS.add(new GenericCoverBlock("Cherry", "cherry", false, Blocks.CHERRY_PLANKS, Tool.AXE)); + BLOCKS.add(new GenericCoverBlock("Crimson", "crimson", false, Blocks.CRIMSON_PLANKS, Tool.AXE)); + BLOCKS.add(new GenericCoverBlock("Dark Oak", "dark_oak", true, Blocks.DARK_OAK_PLANKS, Tool.AXE)); + BLOCKS.add(new GenericCoverBlock("Jungle", "jungle", true, Blocks.JUNGLE_PLANKS, Tool.AXE)); + BLOCKS.add(new GenericCoverBlock("Mangrove", "mangrove", true, Blocks.MANGROVE_PLANKS, Tool.AXE)); + BLOCKS.add(new GenericCoverBlock("Oak", "oak", true, Blocks.OAK_PLANKS, Tool.AXE)); + BLOCKS.add(new GenericCoverBlock("Spruce", "spruce", true, Blocks.SPRUCE_PLANKS, Tool.AXE)); + BLOCKS.add(new GenericCoverBlock("Warped", "warped", false, Blocks.WARPED_PLANKS, Tool.AXE)); + + BLOCKS.add(new GenericCoverBlock("Acacia Log", "acacia_log", true, Blocks.ACACIA_PLANKS, Blocks.ACACIA_LOG, Registries.BLOCK.getId(Blocks.ACACIA_LOG).withPrefixedPath("block/").withSuffixedPath("_top"), Registries.BLOCK.getId(Blocks.ACACIA_LOG).withPrefixedPath("block/"), Tool.AXE)); + BLOCKS.add(new GenericCoverBlock("Birch Log", "birch_log", true, Blocks.BIRCH_PLANKS, Blocks.BIRCH_LOG, Registries.BLOCK.getId(Blocks.BIRCH_LOG).withPrefixedPath("block/").withSuffixedPath("_top"), Registries.BLOCK.getId(Blocks.BIRCH_LOG).withPrefixedPath("block/"), Tool.AXE)); + BLOCKS.add(new GenericCoverBlock("Cherry Log", "cherry_log", false, Blocks.CHERRY_PLANKS, Blocks.CHERRY_LOG, Registries.BLOCK.getId(Blocks.CHERRY_LOG).withPrefixedPath("block/").withSuffixedPath("_top"), Registries.BLOCK.getId(Blocks.CHERRY_LOG).withPrefixedPath("block/"), Tool.AXE)); + BLOCKS.add(new GenericCoverBlock("Crimson Stem", "crimson_stem", false, Blocks.CRIMSON_PLANKS, Blocks.CRIMSON_STEM, Registries.BLOCK.getId(Blocks.CRIMSON_STEM).withPrefixedPath("block/").withSuffixedPath("_top"), Registries.BLOCK.getId(Blocks.CRIMSON_STEM).withPrefixedPath("block/"), Tool.AXE)); + BLOCKS.add(new GenericCoverBlock("Dark Oak Log", "dark_oak_log", true, Blocks.DARK_OAK_PLANKS, Blocks.DARK_OAK_LOG, Registries.BLOCK.getId(Blocks.DARK_OAK_LOG).withPrefixedPath("block/").withSuffixedPath("_top"), Registries.BLOCK.getId(Blocks.DARK_OAK_LOG).withPrefixedPath("block/"), Tool.AXE)); + BLOCKS.add(new GenericCoverBlock("Jungle Log", "jungle_log", true, Blocks.JUNGLE_PLANKS, Blocks.JUNGLE_LOG, Registries.BLOCK.getId(Blocks.JUNGLE_LOG).withPrefixedPath("block/").withSuffixedPath("_top"), Registries.BLOCK.getId(Blocks.JUNGLE_LOG).withPrefixedPath("block/"), Tool.AXE)); + BLOCKS.add(new GenericCoverBlock("Mangrove Log", "mangrove_log", true, Blocks.MANGROVE_PLANKS, Blocks.MANGROVE_LOG, Registries.BLOCK.getId(Blocks.MANGROVE_LOG).withPrefixedPath("block/").withSuffixedPath("_top"), Registries.BLOCK.getId(Blocks.MANGROVE_LOG).withPrefixedPath("block/"), Tool.AXE)); BLOCKS.add(new GenericCoverBlock("Oak Log", "oak_log", true, Blocks.OAK_PLANKS, Blocks.OAK_LOG, Registries.BLOCK.getId(Blocks.OAK_LOG).withPrefixedPath("block/").withSuffixedPath("_top"), Registries.BLOCK.getId(Blocks.OAK_LOG).withPrefixedPath("block/"))); - BLOCKS.add(new GenericCoverBlock("Spruce Log", "spruce_log", true, Blocks.SPRUCE_PLANKS, Blocks.SPRUCE_LOG, Registries.BLOCK.getId(Blocks.SPRUCE_LOG).withPrefixedPath("block/").withSuffixedPath("_top"), Registries.BLOCK.getId(Blocks.SPRUCE_LOG).withPrefixedPath("block/"))); - BLOCKS.add(new GenericCoverBlock("Warped Stem", "warped_stem", false, Blocks.WARPED_PLANKS, Blocks.WARPED_STEM, Registries.BLOCK.getId(Blocks.WARPED_STEM).withPrefixedPath("block/").withSuffixedPath("_top"), Registries.BLOCK.getId(Blocks.WARPED_STEM).withPrefixedPath("block/"))); + BLOCKS.add(new GenericCoverBlock("Spruce Log", "spruce_log", true, Blocks.SPRUCE_PLANKS, Blocks.SPRUCE_LOG, Registries.BLOCK.getId(Blocks.SPRUCE_LOG).withPrefixedPath("block/").withSuffixedPath("_top"), Registries.BLOCK.getId(Blocks.SPRUCE_LOG).withPrefixedPath("block/"), Tool.AXE)); + BLOCKS.add(new GenericCoverBlock("Warped Stem", "warped_stem", false, Blocks.WARPED_PLANKS, Blocks.WARPED_STEM, Registries.BLOCK.getId(Blocks.WARPED_STEM).withPrefixedPath("block/").withSuffixedPath("_top"), Registries.BLOCK.getId(Blocks.WARPED_STEM).withPrefixedPath("block/"), Tool.AXE)); } @Override diff --git a/src/main/java/com/chimericdream/minekea/block/building/covers/GenericCoverBlock.java b/src/main/java/com/chimericdream/minekea/block/building/covers/GenericCoverBlock.java index bd10e3a4a..2895768ac 100644 --- a/src/main/java/com/chimericdream/minekea/block/building/covers/GenericCoverBlock.java +++ b/src/main/java/com/chimericdream/minekea/block/building/covers/GenericCoverBlock.java @@ -4,8 +4,10 @@ import com.chimericdream.minekea.item.MinekeaItemGroups; import com.chimericdream.minekea.resource.ModelUtils; import com.chimericdream.minekea.util.MinekeaBlock; +import com.chimericdream.minekea.util.Tool; import net.fabricmc.fabric.api.datagen.v1.provider.FabricLanguageProvider; import net.fabricmc.fabric.api.datagen.v1.provider.FabricRecipeProvider; +import net.fabricmc.fabric.api.datagen.v1.provider.FabricTagProvider; import net.fabricmc.fabric.api.itemgroup.v1.ItemGroupEvents; import net.fabricmc.fabric.api.registry.FlammableBlockRegistry; import net.fabricmc.fabric.api.registry.FuelRegistry; @@ -30,6 +32,7 @@ import net.minecraft.registry.Registries; import net.minecraft.registry.Registry; import net.minecraft.registry.RegistryWrapper; +import net.minecraft.registry.tag.TagKey; import net.minecraft.state.StateManager; import net.minecraft.state.property.BooleanProperty; import net.minecraft.state.property.DirectionProperty; @@ -40,6 +43,7 @@ import net.minecraft.world.WorldAccess; import java.util.Optional; +import java.util.function.Function; public class GenericCoverBlock extends CarpetBlock implements MinekeaBlock, Waterloggable { // yowza @@ -67,28 +71,53 @@ public class GenericCoverBlock extends CarpetBlock implements MinekeaBlock, Wate protected final Block ingredient; protected final Identifier endTextureId; protected final Identifier sideTextureId; + protected final Tool miningTool; public GenericCoverBlock(String materialName, String material, boolean isFlammable, Block ingredient) { this(materialName, material, isFlammable, ingredient, ingredient, TextureMap.getId(ingredient), TextureMap.getId(ingredient)); } + public GenericCoverBlock(String materialName, String material, boolean isFlammable, Block ingredient, Tool miningTool) { + this(materialName, material, isFlammable, ingredient, ingredient, TextureMap.getId(ingredient), TextureMap.getId(ingredient), miningTool); + } + public GenericCoverBlock(String materialName, String material, boolean isFlammable, Block ingredient, Block settingsSource) { this(materialName, material, isFlammable, ingredient, settingsSource, TextureMap.getId(ingredient), TextureMap.getId(ingredient)); } + public GenericCoverBlock(String materialName, String material, boolean isFlammable, Block ingredient, Block settingsSource, Tool miningTool) { + this(materialName, material, isFlammable, ingredient, settingsSource, TextureMap.getId(ingredient), TextureMap.getId(ingredient), miningTool); + } + public GenericCoverBlock(String materialName, String material, boolean isFlammable, Block ingredient, Identifier textureId) { this(materialName, material, isFlammable, ingredient, ingredient, textureId, textureId); } + public GenericCoverBlock(String materialName, String material, boolean isFlammable, Block ingredient, Identifier textureId, Tool miningTool) { + this(materialName, material, isFlammable, ingredient, ingredient, textureId, textureId, miningTool); + } + public GenericCoverBlock(String materialName, String material, boolean isFlammable, Block ingredient, Block settingsSource, Identifier textureId) { this(materialName, material, isFlammable, ingredient, settingsSource, textureId, textureId); } + public GenericCoverBlock(String materialName, String material, boolean isFlammable, Block ingredient, Block settingsSource, Identifier textureId, Tool miningTool) { + this(materialName, material, isFlammable, ingredient, settingsSource, textureId, textureId, miningTool); + } + public GenericCoverBlock(String materialName, String material, boolean isFlammable, Block ingredient, Identifier endTextureId, Identifier sideTextureId) { this(materialName, material, isFlammable, ingredient, ingredient, endTextureId, sideTextureId); } + public GenericCoverBlock(String materialName, String material, boolean isFlammable, Block ingredient, Identifier endTextureId, Identifier sideTextureId, Tool miningTool) { + this(materialName, material, isFlammable, ingredient, ingredient, endTextureId, sideTextureId, miningTool); + } + public GenericCoverBlock(String materialName, String material, boolean isFlammable, Block ingredient, Block settingsSource, Identifier endTextureId, Identifier sideTextureId) { + this(materialName, material, isFlammable, ingredient, settingsSource, endTextureId, sideTextureId, Tool.PICKAXE); + } + + public GenericCoverBlock(String materialName, String material, boolean isFlammable, Block ingredient, Block settingsSource, Identifier endTextureId, Identifier sideTextureId, Tool miningTool) { super(AbstractBlock.Settings.copy(ingredient)); this.setDefaultState( @@ -104,6 +133,7 @@ public GenericCoverBlock(String materialName, String material, boolean isFlammab this.settingsSource = settingsSource; this.endTextureId = endTextureId; this.sideTextureId = sideTextureId; + this.miningTool = miningTool; BLOCK_ID = Identifier.of(ModInfo.MOD_ID, String.format("building/covers/%s", material)); } @@ -145,6 +175,13 @@ public void register() { .register((itemGroup) -> itemGroup.add(this)); } + @Override + public void configureBlockTags(RegistryWrapper.WrapperLookup registryLookup, Function, FabricTagProvider.FabricTagBuilder> getBuilder) { + getBuilder.apply(this.miningTool.getMineableTag()) + .setReplace(false) + .add(this); + } + @Override public void configureRecipes(RecipeExporter exporter) { ShapedRecipeJsonBuilder.create(RecipeCategory.BUILDING_BLOCKS, this, 16) diff --git a/src/main/java/com/chimericdream/minekea/block/building/dyed/DyedBlock.java b/src/main/java/com/chimericdream/minekea/block/building/dyed/DyedBlock.java index 222cf34aa..c5ed53c59 100644 --- a/src/main/java/com/chimericdream/minekea/block/building/dyed/DyedBlock.java +++ b/src/main/java/com/chimericdream/minekea/block/building/dyed/DyedBlock.java @@ -4,8 +4,10 @@ import com.chimericdream.minekea.item.MinekeaItemGroups; import com.chimericdream.minekea.util.Colors; import com.chimericdream.minekea.util.MinekeaBlock; +import com.chimericdream.minekea.util.Tool; import net.fabricmc.fabric.api.datagen.v1.provider.FabricLanguageProvider; import net.fabricmc.fabric.api.datagen.v1.provider.FabricRecipeProvider; +import net.fabricmc.fabric.api.datagen.v1.provider.FabricTagProvider; import net.fabricmc.fabric.api.itemgroup.v1.ItemGroupEvents; import net.minecraft.block.AbstractBlock; import net.minecraft.block.Block; @@ -31,6 +33,7 @@ import net.minecraft.registry.Registries; import net.minecraft.registry.Registry; import net.minecraft.registry.RegistryWrapper; +import net.minecraft.registry.tag.TagKey; import net.minecraft.server.world.ServerWorld; import net.minecraft.sound.SoundCategory; import net.minecraft.sound.SoundEvents; @@ -48,6 +51,8 @@ import net.minecraft.world.World; import net.minecraft.world.event.GameEvent; +import java.util.function.Function; + public class DyedBlock extends Block implements MinekeaBlock { public static final EnumProperty AXIS; @@ -62,17 +67,33 @@ public class DyedBlock extends Block implements MinekeaBlock { protected final String textureKey; protected final DyeColor color; protected final Block baseBlock; + protected final Tool miningTool; public DyedBlock(DyeColor color, String materialName, String textureKey, Block baseBlock) { this(AbstractBlock.Settings.copy(baseBlock), color, materialName, textureKey, baseBlock); } + public DyedBlock(DyeColor color, String materialName, String textureKey, Block baseBlock, Tool miningTool) { + this(AbstractBlock.Settings.copy(baseBlock), color, materialName, textureKey, baseBlock, miningTool); + } + public DyedBlock( AbstractBlock.Settings settings, DyeColor color, String materialName, String textureKey, Block baseBlock + ) { + this(settings, color, materialName, textureKey, baseBlock, Tool.PICKAXE); + } + + public DyedBlock( + AbstractBlock.Settings settings, + DyeColor color, + String materialName, + String textureKey, + Block baseBlock, + Tool miningTool ) { super(settings.mapColor(color)); @@ -80,6 +101,7 @@ public DyedBlock( this.materialName = materialName; this.textureKey = textureKey; this.baseBlock = baseBlock; + this.miningTool = miningTool; BLOCK_ID = Identifier.of(ModInfo.MOD_ID, String.format("building/dyed/%s/%s", Registries.BLOCK.getId(baseBlock).getPath(), color)); @@ -134,6 +156,13 @@ public void register() { .register((itemGroup) -> itemGroup.add(this)); } + @Override + public void configureBlockTags(RegistryWrapper.WrapperLookup registryLookup, Function, FabricTagProvider.FabricTagBuilder> getBuilder) { + getBuilder.apply(this.miningTool.getMineableTag()) + .setReplace(false) + .add(this); + } + @Override public void configureRecipes(RecipeExporter exporter) { Block parentBlock = Registries.BLOCK.get(PARENT_BLOCK_ID); diff --git a/src/main/java/com/chimericdream/minekea/block/building/dyed/DyedBlocks.java b/src/main/java/com/chimericdream/minekea/block/building/dyed/DyedBlocks.java index de1a174a5..32833a9dd 100644 --- a/src/main/java/com/chimericdream/minekea/block/building/dyed/DyedBlocks.java +++ b/src/main/java/com/chimericdream/minekea/block/building/dyed/DyedBlocks.java @@ -3,6 +3,7 @@ import com.chimericdream.minekea.registry.ColoredBlocksRegistry; import com.chimericdream.minekea.util.MinekeaBlock; import com.chimericdream.minekea.util.MinekeaBlockCategory; +import com.chimericdream.minekea.util.Tool; import net.fabricmc.fabric.api.datagen.v1.provider.FabricLanguageProvider; import net.fabricmc.fabric.api.datagen.v1.provider.FabricTagProvider; import net.minecraft.block.Block; @@ -15,6 +16,7 @@ import net.minecraft.registry.RegistryWrapper; import net.minecraft.registry.tag.TagKey; import net.minecraft.util.DyeColor; +import oshi.util.tuples.Pair; import oshi.util.tuples.Quartet; import oshi.util.tuples.Triplet; @@ -28,22 +30,22 @@ public class DyedBlocks implements MinekeaBlockCategory { public static final Map BLOCK_MAP = new LinkedHashMap<>(); public static final List BLOCKS = new ArrayList<>(); - protected static final List> BLOCKS_TO_DYE = List.of( - new Triplet<>("Bricks", "bricks", Blocks.BRICKS), - new Triplet<>("Calcite", "calcite", Blocks.CALCITE), - new Triplet<>("Cobblestone", "cobblestone", Blocks.COBBLESTONE), - new Triplet<>("Dark Prismarine", "dark_prismarine", Blocks.DARK_PRISMARINE), - new Triplet<>("Mud Bricks", "mud_bricks", Blocks.MUD_BRICKS), - new Triplet<>("Oak Planks", "oak_planks", Blocks.OAK_PLANKS), - new Triplet<>("Prismarine", "prismarine", Blocks.PRISMARINE), - new Triplet<>("Prismarine Bricks", "prismarine_bricks", Blocks.PRISMARINE_BRICKS), - new Triplet<>("Smooth Stone", "smooth_stone", Blocks.SMOOTH_STONE), - new Triplet<>("Stone", "stone", Blocks.STONE), - new Triplet<>("Stone Bricks", "stone_bricks", Blocks.STONE_BRICKS) + protected static final List, Block, Tool>> BLOCKS_TO_DYE = List.of( + new Triplet<>(new Pair<>("Bricks", "bricks"), Blocks.BRICKS, Tool.PICKAXE), + new Triplet<>(new Pair<>("Calcite", "calcite"), Blocks.CALCITE, Tool.PICKAXE), + new Triplet<>(new Pair<>("Cobblestone", "cobblestone"), Blocks.COBBLESTONE, Tool.PICKAXE), + new Triplet<>(new Pair<>("Dark Prismarine", "dark_prismarine"), Blocks.DARK_PRISMARINE, Tool.PICKAXE), + new Triplet<>(new Pair<>("Mud Bricks", "mud_bricks"), Blocks.MUD_BRICKS, Tool.PICKAXE), + new Triplet<>(new Pair<>("Oak Planks", "oak_planks"), Blocks.OAK_PLANKS, Tool.AXE), + new Triplet<>(new Pair<>("Prismarine", "prismarine"), Blocks.PRISMARINE, Tool.PICKAXE), + new Triplet<>(new Pair<>("Prismarine Bricks", "prismarine_bricks"), Blocks.PRISMARINE_BRICKS, Tool.PICKAXE), + new Triplet<>(new Pair<>("Smooth Stone", "smooth_stone"), Blocks.SMOOTH_STONE, Tool.PICKAXE), + new Triplet<>(new Pair<>("Stone", "stone"), Blocks.STONE, Tool.PICKAXE), + new Triplet<>(new Pair<>("Stone Bricks", "stone_bricks"), Blocks.STONE_BRICKS, Tool.PICKAXE) ); - protected static final List> PILLAR_BLOCKS_TO_DYE = List.of( - new Quartet<>("Bone Block", "bone_block_top", "bone_block_side", Blocks.BONE_BLOCK) + protected static final List, Block, Tool>> PILLAR_BLOCKS_TO_DYE = List.of( + new Quartet<>("Bone Block", new Pair<>("bone_block_top", "bone_block_side"), Blocks.BONE_BLOCK, Tool.PICKAXE) ); protected static final List WHITE_BLOCKS = new ArrayList<>(); @@ -65,26 +67,27 @@ public class DyedBlocks implements MinekeaBlockCategory { static { BLOCKS_TO_DYE.forEach(data -> { - String materialName = data.getA(); - String textureKey = data.getB(); - Block baseBlock = data.getC(); + String materialName = data.getA().getA(); + String textureKey = data.getA().getB(); + Block baseBlock = data.getB(); + Tool miningTool = data.getC(); - DyedBlock whiteBlock = new DyedBlock(DyeColor.WHITE, materialName, textureKey, baseBlock); - DyedBlock lightGrayBlock = new DyedBlock(DyeColor.LIGHT_GRAY, materialName, textureKey, baseBlock); - DyedBlock grayBlock = new DyedBlock(DyeColor.GRAY, materialName, textureKey, baseBlock); - DyedBlock blackBlock = new DyedBlock(DyeColor.BLACK, materialName, textureKey, baseBlock); - DyedBlock brownBlock = new DyedBlock(DyeColor.BROWN, materialName, textureKey, baseBlock); - DyedBlock redBlock = new DyedBlock(DyeColor.RED, materialName, textureKey, baseBlock); - DyedBlock orangeBlock = new DyedBlock(DyeColor.ORANGE, materialName, textureKey, baseBlock); - DyedBlock yellowBlock = new DyedBlock(DyeColor.YELLOW, materialName, textureKey, baseBlock); - DyedBlock limeBlock = new DyedBlock(DyeColor.LIME, materialName, textureKey, baseBlock); - DyedBlock greenBlock = new DyedBlock(DyeColor.GREEN, materialName, textureKey, baseBlock); - DyedBlock cyanBlock = new DyedBlock(DyeColor.CYAN, materialName, textureKey, baseBlock); - DyedBlock lightBlueBlock = new DyedBlock(DyeColor.LIGHT_BLUE, materialName, textureKey, baseBlock); - DyedBlock blueBlock = new DyedBlock(DyeColor.BLUE, materialName, textureKey, baseBlock); - DyedBlock purpleBlock = new DyedBlock(DyeColor.PURPLE, materialName, textureKey, baseBlock); - DyedBlock magentaBlock = new DyedBlock(DyeColor.MAGENTA, materialName, textureKey, baseBlock); - DyedBlock pinkBlock = new DyedBlock(DyeColor.PINK, materialName, textureKey, baseBlock); + DyedBlock whiteBlock = new DyedBlock(DyeColor.WHITE, materialName, textureKey, baseBlock, miningTool); + DyedBlock lightGrayBlock = new DyedBlock(DyeColor.LIGHT_GRAY, materialName, textureKey, baseBlock, miningTool); + DyedBlock grayBlock = new DyedBlock(DyeColor.GRAY, materialName, textureKey, baseBlock, miningTool); + DyedBlock blackBlock = new DyedBlock(DyeColor.BLACK, materialName, textureKey, baseBlock, miningTool); + DyedBlock brownBlock = new DyedBlock(DyeColor.BROWN, materialName, textureKey, baseBlock, miningTool); + DyedBlock redBlock = new DyedBlock(DyeColor.RED, materialName, textureKey, baseBlock, miningTool); + DyedBlock orangeBlock = new DyedBlock(DyeColor.ORANGE, materialName, textureKey, baseBlock, miningTool); + DyedBlock yellowBlock = new DyedBlock(DyeColor.YELLOW, materialName, textureKey, baseBlock, miningTool); + DyedBlock limeBlock = new DyedBlock(DyeColor.LIME, materialName, textureKey, baseBlock, miningTool); + DyedBlock greenBlock = new DyedBlock(DyeColor.GREEN, materialName, textureKey, baseBlock, miningTool); + DyedBlock cyanBlock = new DyedBlock(DyeColor.CYAN, materialName, textureKey, baseBlock, miningTool); + DyedBlock lightBlueBlock = new DyedBlock(DyeColor.LIGHT_BLUE, materialName, textureKey, baseBlock, miningTool); + DyedBlock blueBlock = new DyedBlock(DyeColor.BLUE, materialName, textureKey, baseBlock, miningTool); + DyedBlock purpleBlock = new DyedBlock(DyeColor.PURPLE, materialName, textureKey, baseBlock, miningTool); + DyedBlock magentaBlock = new DyedBlock(DyeColor.MAGENTA, materialName, textureKey, baseBlock, miningTool); + DyedBlock pinkBlock = new DyedBlock(DyeColor.PINK, materialName, textureKey, baseBlock, miningTool); BLOCK_MAP.put(textureKey + "white", whiteBlock); BLOCK_MAP.put(textureKey + "light_gray", lightGrayBlock); @@ -123,26 +126,27 @@ public class DyedBlocks implements MinekeaBlockCategory { PILLAR_BLOCKS_TO_DYE.forEach(data -> { String materialName = data.getA(); - String endTextureKey = data.getB(); - String sideTextureKey = data.getC(); - Block baseBlock = data.getD(); + String endTextureKey = data.getB().getA(); + String sideTextureKey = data.getB().getB(); + Block baseBlock = data.getC(); + Tool miningTool = data.getD(); - DyedPillarBlock whiteBlock = new DyedPillarBlock(DyeColor.WHITE, materialName, endTextureKey, sideTextureKey, baseBlock); - DyedPillarBlock lightGrayBlock = new DyedPillarBlock(DyeColor.LIGHT_GRAY, materialName, endTextureKey, sideTextureKey, baseBlock); - DyedPillarBlock grayBlock = new DyedPillarBlock(DyeColor.GRAY, materialName, endTextureKey, sideTextureKey, baseBlock); - DyedPillarBlock blackBlock = new DyedPillarBlock(DyeColor.BLACK, materialName, endTextureKey, sideTextureKey, baseBlock); - DyedPillarBlock brownBlock = new DyedPillarBlock(DyeColor.BROWN, materialName, endTextureKey, sideTextureKey, baseBlock); - DyedPillarBlock redBlock = new DyedPillarBlock(DyeColor.RED, materialName, endTextureKey, sideTextureKey, baseBlock); - DyedPillarBlock orangeBlock = new DyedPillarBlock(DyeColor.ORANGE, materialName, endTextureKey, sideTextureKey, baseBlock); - DyedPillarBlock yellowBlock = new DyedPillarBlock(DyeColor.YELLOW, materialName, endTextureKey, sideTextureKey, baseBlock); - DyedPillarBlock limeBlock = new DyedPillarBlock(DyeColor.LIME, materialName, endTextureKey, sideTextureKey, baseBlock); - DyedPillarBlock greenBlock = new DyedPillarBlock(DyeColor.GREEN, materialName, endTextureKey, sideTextureKey, baseBlock); - DyedPillarBlock cyanBlock = new DyedPillarBlock(DyeColor.CYAN, materialName, endTextureKey, sideTextureKey, baseBlock); - DyedPillarBlock lightBlueBlock = new DyedPillarBlock(DyeColor.LIGHT_BLUE, materialName, endTextureKey, sideTextureKey, baseBlock); - DyedPillarBlock blueBlock = new DyedPillarBlock(DyeColor.BLUE, materialName, endTextureKey, sideTextureKey, baseBlock); - DyedPillarBlock purpleBlock = new DyedPillarBlock(DyeColor.PURPLE, materialName, endTextureKey, sideTextureKey, baseBlock); - DyedPillarBlock magentaBlock = new DyedPillarBlock(DyeColor.MAGENTA, materialName, endTextureKey, sideTextureKey, baseBlock); - DyedPillarBlock pinkBlock = new DyedPillarBlock(DyeColor.PINK, materialName, endTextureKey, sideTextureKey, baseBlock); + DyedPillarBlock whiteBlock = new DyedPillarBlock(DyeColor.WHITE, materialName, endTextureKey, sideTextureKey, baseBlock, miningTool); + DyedPillarBlock lightGrayBlock = new DyedPillarBlock(DyeColor.LIGHT_GRAY, materialName, endTextureKey, sideTextureKey, baseBlock, miningTool); + DyedPillarBlock grayBlock = new DyedPillarBlock(DyeColor.GRAY, materialName, endTextureKey, sideTextureKey, baseBlock, miningTool); + DyedPillarBlock blackBlock = new DyedPillarBlock(DyeColor.BLACK, materialName, endTextureKey, sideTextureKey, baseBlock, miningTool); + DyedPillarBlock brownBlock = new DyedPillarBlock(DyeColor.BROWN, materialName, endTextureKey, sideTextureKey, baseBlock, miningTool); + DyedPillarBlock redBlock = new DyedPillarBlock(DyeColor.RED, materialName, endTextureKey, sideTextureKey, baseBlock, miningTool); + DyedPillarBlock orangeBlock = new DyedPillarBlock(DyeColor.ORANGE, materialName, endTextureKey, sideTextureKey, baseBlock, miningTool); + DyedPillarBlock yellowBlock = new DyedPillarBlock(DyeColor.YELLOW, materialName, endTextureKey, sideTextureKey, baseBlock, miningTool); + DyedPillarBlock limeBlock = new DyedPillarBlock(DyeColor.LIME, materialName, endTextureKey, sideTextureKey, baseBlock, miningTool); + DyedPillarBlock greenBlock = new DyedPillarBlock(DyeColor.GREEN, materialName, endTextureKey, sideTextureKey, baseBlock, miningTool); + DyedPillarBlock cyanBlock = new DyedPillarBlock(DyeColor.CYAN, materialName, endTextureKey, sideTextureKey, baseBlock, miningTool); + DyedPillarBlock lightBlueBlock = new DyedPillarBlock(DyeColor.LIGHT_BLUE, materialName, endTextureKey, sideTextureKey, baseBlock, miningTool); + DyedPillarBlock blueBlock = new DyedPillarBlock(DyeColor.BLUE, materialName, endTextureKey, sideTextureKey, baseBlock, miningTool); + DyedPillarBlock purpleBlock = new DyedPillarBlock(DyeColor.PURPLE, materialName, endTextureKey, sideTextureKey, baseBlock, miningTool); + DyedPillarBlock magentaBlock = new DyedPillarBlock(DyeColor.MAGENTA, materialName, endTextureKey, sideTextureKey, baseBlock, miningTool); + DyedPillarBlock pinkBlock = new DyedPillarBlock(DyeColor.PINK, materialName, endTextureKey, sideTextureKey, baseBlock, miningTool); BLOCK_MAP.put(endTextureKey + "white", whiteBlock); BLOCK_MAP.put(endTextureKey + "light_gray", lightGrayBlock); @@ -187,7 +191,7 @@ public void registerBlocks() { BLOCK_MAP.values().forEach(MinekeaBlock::register); BLOCKS_TO_DYE.forEach(data -> { - String textureKey = data.getB(); + String textureKey = data.getA().getB(); ColoredBlocksRegistry.addBlock((Block) BLOCK_MAP.get(textureKey + "white"), textureKey, ColoredBlocksRegistry.BlockColor.WHITE); ColoredBlocksRegistry.addBlock((Block) BLOCK_MAP.get(textureKey + "light_gray"), textureKey, ColoredBlocksRegistry.BlockColor.LIGHT_GRAY); @@ -208,7 +212,7 @@ public void registerBlocks() { }); PILLAR_BLOCKS_TO_DYE.forEach(data -> { - String textureKey = data.getB(); + String textureKey = data.getB().getA(); ColoredBlocksRegistry.addBlock((Block) BLOCK_MAP.get(textureKey + "white"), textureKey, ColoredBlocksRegistry.BlockColor.WHITE); ColoredBlocksRegistry.addBlock((Block) BLOCK_MAP.get(textureKey + "light_gray"), textureKey, ColoredBlocksRegistry.BlockColor.LIGHT_GRAY); diff --git a/src/main/java/com/chimericdream/minekea/block/building/dyed/DyedPillarBlock.java b/src/main/java/com/chimericdream/minekea/block/building/dyed/DyedPillarBlock.java index a29051a1c..557b21a9c 100644 --- a/src/main/java/com/chimericdream/minekea/block/building/dyed/DyedPillarBlock.java +++ b/src/main/java/com/chimericdream/minekea/block/building/dyed/DyedPillarBlock.java @@ -5,8 +5,10 @@ import com.chimericdream.minekea.resource.ModelUtils; import com.chimericdream.minekea.util.Colors; import com.chimericdream.minekea.util.MinekeaBlock; +import com.chimericdream.minekea.util.Tool; import net.fabricmc.fabric.api.datagen.v1.provider.FabricLanguageProvider; import net.fabricmc.fabric.api.datagen.v1.provider.FabricRecipeProvider; +import net.fabricmc.fabric.api.datagen.v1.provider.FabricTagProvider; import net.fabricmc.fabric.api.itemgroup.v1.ItemGroupEvents; import net.minecraft.block.Block; import net.minecraft.block.BlockState; @@ -35,6 +37,7 @@ import net.minecraft.registry.Registries; import net.minecraft.registry.Registry; import net.minecraft.registry.RegistryWrapper; +import net.minecraft.registry.tag.TagKey; import net.minecraft.server.world.ServerWorld; import net.minecraft.sound.SoundCategory; import net.minecraft.sound.SoundEvents; @@ -52,6 +55,8 @@ import net.minecraft.world.World; import net.minecraft.world.event.GameEvent; +import java.util.function.Function; + public class DyedPillarBlock extends PillarBlock implements MinekeaBlock { public static final EnumProperty AXIS; @@ -67,11 +72,16 @@ public class DyedPillarBlock extends PillarBlock implements MinekeaBlock { protected final String sideTextureKey; protected final DyeColor color; protected final Block baseBlock; + protected final Tool miningTool; public DyedPillarBlock(DyeColor color, String materialName, String endTextureKey, String sideTextureKey, Block baseBlock) { this(Settings.copy(baseBlock), color, materialName, endTextureKey, sideTextureKey, baseBlock); } + public DyedPillarBlock(DyeColor color, String materialName, String endTextureKey, String sideTextureKey, Block baseBlock, Tool miningTool) { + this(Settings.copy(baseBlock), color, materialName, endTextureKey, sideTextureKey, baseBlock, miningTool); + } + public DyedPillarBlock( Settings settings, DyeColor color, @@ -79,6 +89,18 @@ public DyedPillarBlock( String endTextureKey, String sideTextureKey, Block baseBlock + ) { + this(settings, color, materialName, endTextureKey, sideTextureKey, baseBlock, Tool.PICKAXE); + } + + public DyedPillarBlock( + Settings settings, + DyeColor color, + String materialName, + String endTextureKey, + String sideTextureKey, + Block baseBlock, + Tool miningTool ) { super(settings.mapColor(color)); @@ -87,6 +109,7 @@ public DyedPillarBlock( this.endTextureKey = endTextureKey; this.sideTextureKey = sideTextureKey; this.baseBlock = baseBlock; + this.miningTool = miningTool; BLOCK_ID = Identifier.of(ModInfo.MOD_ID, String.format("building/dyed/%s/%s", Registries.BLOCK.getId(baseBlock).getPath(), color)); @@ -141,6 +164,13 @@ public void register() { .register((itemGroup) -> itemGroup.add(this)); } + @Override + public void configureBlockTags(RegistryWrapper.WrapperLookup registryLookup, Function, FabricTagProvider.FabricTagBuilder> getBuilder) { + getBuilder.apply(this.miningTool.getMineableTag()) + .setReplace(false) + .add(this); + } + @Override public void configureRecipes(RecipeExporter exporter) { Block parentBlock = Registries.BLOCK.get(PARENT_BLOCK_ID); diff --git a/src/main/java/com/chimericdream/minekea/block/building/slabs/GenericSlabBlock.java b/src/main/java/com/chimericdream/minekea/block/building/slabs/GenericSlabBlock.java index ef1fb00bb..b0cbaa310 100644 --- a/src/main/java/com/chimericdream/minekea/block/building/slabs/GenericSlabBlock.java +++ b/src/main/java/com/chimericdream/minekea/block/building/slabs/GenericSlabBlock.java @@ -2,8 +2,10 @@ import com.chimericdream.minekea.ModInfo; import com.chimericdream.minekea.util.MinekeaBlock; +import com.chimericdream.minekea.util.Tool; import net.fabricmc.fabric.api.datagen.v1.provider.FabricLanguageProvider; import net.fabricmc.fabric.api.datagen.v1.provider.FabricRecipeProvider; +import net.fabricmc.fabric.api.datagen.v1.provider.FabricTagProvider; import net.fabricmc.fabric.api.itemgroup.v1.ItemGroupEvents; import net.fabricmc.fabric.api.registry.FlammableBlockRegistry; import net.fabricmc.fabric.api.registry.FuelRegistry; @@ -29,8 +31,11 @@ import net.minecraft.registry.Registries; import net.minecraft.registry.Registry; import net.minecraft.registry.RegistryWrapper; +import net.minecraft.registry.tag.TagKey; import net.minecraft.util.Identifier; +import java.util.function.Function; + public class GenericSlabBlock extends SlabBlock implements MinekeaBlock { public final Identifier BLOCK_ID; @@ -39,12 +44,21 @@ public class GenericSlabBlock extends SlabBlock implements MinekeaBlock { protected final boolean isFlammable; protected final Block ingredient; protected final Identifier textureId; + protected final Tool miningTool; public GenericSlabBlock(String materialName, String material, boolean isFlammable, Block ingredient) { this(materialName, material, isFlammable, ingredient, TextureMap.getId(ingredient)); } + public GenericSlabBlock(String materialName, String material, boolean isFlammable, Block ingredient, Tool miningTool) { + this(materialName, material, isFlammable, ingredient, TextureMap.getId(ingredient), miningTool); + } + public GenericSlabBlock(String materialName, String material, boolean isFlammable, Block ingredient, Identifier textureId) { + this(materialName, material, isFlammable, ingredient, textureId, Tool.PICKAXE); + } + + public GenericSlabBlock(String materialName, String material, boolean isFlammable, Block ingredient, Identifier textureId, Tool miningTool) { super(AbstractBlock.Settings.copy(ingredient)); this.materialName = materialName; @@ -52,6 +66,7 @@ public GenericSlabBlock(String materialName, String material, boolean isFlammabl this.isFlammable = isFlammable; this.ingredient = ingredient; this.textureId = textureId; + this.miningTool = miningTool; BLOCK_ID = Identifier.of(ModInfo.MOD_ID, String.format("building/slabs/%s", material)); } @@ -70,6 +85,13 @@ public void register() { .register((itemGroup) -> itemGroup.add(this)); } + @Override + public void configureBlockTags(RegistryWrapper.WrapperLookup registryLookup, Function, FabricTagProvider.FabricTagBuilder> getBuilder) { + getBuilder.apply(this.miningTool.getMineableTag()) + .setReplace(false) + .add(this); + } + @Override public void configureRecipes(RecipeExporter exporter) { ShapedRecipeJsonBuilder.create(RecipeCategory.BUILDING_BLOCKS, this, 6) diff --git a/src/main/java/com/chimericdream/minekea/block/building/slabs/GenericVerticalSlabBlock.java b/src/main/java/com/chimericdream/minekea/block/building/slabs/GenericVerticalSlabBlock.java index b252a1faf..674f7cee1 100644 --- a/src/main/java/com/chimericdream/minekea/block/building/slabs/GenericVerticalSlabBlock.java +++ b/src/main/java/com/chimericdream/minekea/block/building/slabs/GenericVerticalSlabBlock.java @@ -2,8 +2,10 @@ import com.chimericdream.minekea.ModInfo; import com.chimericdream.minekea.util.MinekeaBlock; +import com.chimericdream.minekea.util.Tool; import net.fabricmc.fabric.api.datagen.v1.provider.FabricLanguageProvider; import net.fabricmc.fabric.api.datagen.v1.provider.FabricRecipeProvider; +import net.fabricmc.fabric.api.datagen.v1.provider.FabricTagProvider; import net.fabricmc.fabric.api.itemgroup.v1.ItemGroupEvents; import net.fabricmc.fabric.api.registry.FlammableBlockRegistry; import net.fabricmc.fabric.api.registry.FuelRegistry; @@ -33,6 +35,7 @@ import net.minecraft.registry.Registries; import net.minecraft.registry.Registry; import net.minecraft.registry.RegistryWrapper; +import net.minecraft.registry.tag.TagKey; import net.minecraft.state.StateManager; import net.minecraft.state.property.BooleanProperty; import net.minecraft.state.property.DirectionProperty; @@ -45,6 +48,7 @@ import net.minecraft.world.WorldAccess; import java.util.Optional; +import java.util.function.Function; public class GenericVerticalSlabBlock extends Block implements MinekeaBlock, Waterloggable { public static final Model VERTICAL_SLAB_MODEL = new Model( @@ -68,6 +72,7 @@ public class GenericVerticalSlabBlock extends Block implements MinekeaBlock, Wat protected final boolean isFlammable; protected final Block ingredient; protected final Identifier textureId; + protected final Tool miningTool; static { FACING = Properties.HORIZONTAL_FACING; @@ -77,7 +82,15 @@ public GenericVerticalSlabBlock(String materialName, String material, boolean is this(materialName, material, isFlammable, ingredient, TextureMap.getId(ingredient)); } + public GenericVerticalSlabBlock(String materialName, String material, boolean isFlammable, Block ingredient, Tool miningTool) { + this(materialName, material, isFlammable, ingredient, TextureMap.getId(ingredient), miningTool); + } + public GenericVerticalSlabBlock(String materialName, String material, boolean isFlammable, Block ingredient, Identifier textureId) { + this(materialName, material, isFlammable, ingredient, textureId, Tool.PICKAXE); + } + + public GenericVerticalSlabBlock(String materialName, String material, boolean isFlammable, Block ingredient, Identifier textureId, Tool miningTool) { super(AbstractBlock.Settings.copy(ingredient)); this.setDefaultState( @@ -91,6 +104,7 @@ public GenericVerticalSlabBlock(String materialName, String material, boolean is this.isFlammable = isFlammable; this.ingredient = ingredient; this.textureId = textureId; + this.miningTool = miningTool; BLOCK_ID = Identifier.of(ModInfo.MOD_ID, String.format("building/slabs/vertical/%s", material)); } @@ -145,6 +159,13 @@ public void register() { .register((itemGroup) -> itemGroup.add(this)); } + @Override + public void configureBlockTags(RegistryWrapper.WrapperLookup registryLookup, Function, FabricTagProvider.FabricTagBuilder> getBuilder) { + getBuilder.apply(this.miningTool.getMineableTag()) + .setReplace(false) + .add(this); + } + @Override public void configureRecipes(RecipeExporter exporter) { ShapedRecipeJsonBuilder.create(RecipeCategory.BUILDING_BLOCKS, this, 6) diff --git a/src/main/java/com/chimericdream/minekea/block/building/slabs/Slabs.java b/src/main/java/com/chimericdream/minekea/block/building/slabs/Slabs.java index 713556dba..9120d6b4e 100644 --- a/src/main/java/com/chimericdream/minekea/block/building/slabs/Slabs.java +++ b/src/main/java/com/chimericdream/minekea/block/building/slabs/Slabs.java @@ -9,6 +9,7 @@ import com.chimericdream.minekea.block.building.general.WarpedNetherBricksBlock; import com.chimericdream.minekea.util.MinekeaBlock; import com.chimericdream.minekea.util.MinekeaBlockCategory; +import com.chimericdream.minekea.util.Tool; import net.fabricmc.fabric.api.datagen.v1.provider.FabricLanguageProvider; import net.fabricmc.fabric.api.datagen.v1.provider.FabricTagProvider; import net.minecraft.block.Block; @@ -38,17 +39,17 @@ public class Slabs implements MinekeaBlockCategory { SLABS.add(new GenericSlabBlock("Warped Basalt Brick", "warped_basalt_bricks", false, BuildingBlocks.WARPED_BASALT_BRICKS_BLOCK, WarpedBasaltBricksBlock.BLOCK_ID.withPrefixedPath("block/"))); SLABS.add(new GenericSlabBlock("Warped Nether Brick", "warped_nether_bricks", false, BuildingBlocks.WARPED_NETHER_BRICKS_BLOCK, WarpedNetherBricksBlock.BLOCK_ID.withPrefixedPath("block/"))); - VERTICAL_SLABS.add(new GenericVerticalSlabBlock("Acacia", "acacia", false, Blocks.ACACIA_PLANKS)); - VERTICAL_SLABS.add(new GenericVerticalSlabBlock("Bamboo", "bamboo_planks", false, Blocks.BAMBOO_PLANKS)); - VERTICAL_SLABS.add(new GenericVerticalSlabBlock("Birch", "birch", false, Blocks.BIRCH_PLANKS)); - VERTICAL_SLABS.add(new GenericVerticalSlabBlock("Cherry", "cherry", false, Blocks.CHERRY_PLANKS)); - VERTICAL_SLABS.add(new GenericVerticalSlabBlock("Crimson", "crimson", false, Blocks.CRIMSON_PLANKS)); - VERTICAL_SLABS.add(new GenericVerticalSlabBlock("Dark Oak", "dark_oak", false, Blocks.DARK_OAK_PLANKS)); - VERTICAL_SLABS.add(new GenericVerticalSlabBlock("Jungle", "jungle", false, Blocks.JUNGLE_PLANKS)); - VERTICAL_SLABS.add(new GenericVerticalSlabBlock("Mangrove", "mangrove", false, Blocks.MANGROVE_PLANKS)); - VERTICAL_SLABS.add(new GenericVerticalSlabBlock("Oak", "oak", false, Blocks.OAK_PLANKS)); - VERTICAL_SLABS.add(new GenericVerticalSlabBlock("Spruce", "spruce", false, Blocks.SPRUCE_PLANKS)); - VERTICAL_SLABS.add(new GenericVerticalSlabBlock("Warped", "warped", false, Blocks.WARPED_PLANKS)); + VERTICAL_SLABS.add(new GenericVerticalSlabBlock("Acacia", "acacia", false, Blocks.ACACIA_PLANKS, Tool.AXE)); + VERTICAL_SLABS.add(new GenericVerticalSlabBlock("Bamboo", "bamboo_planks", false, Blocks.BAMBOO_PLANKS, Tool.AXE)); + VERTICAL_SLABS.add(new GenericVerticalSlabBlock("Birch", "birch", false, Blocks.BIRCH_PLANKS, Tool.AXE)); + VERTICAL_SLABS.add(new GenericVerticalSlabBlock("Cherry", "cherry", false, Blocks.CHERRY_PLANKS, Tool.AXE)); + VERTICAL_SLABS.add(new GenericVerticalSlabBlock("Crimson", "crimson", false, Blocks.CRIMSON_PLANKS, Tool.AXE)); + VERTICAL_SLABS.add(new GenericVerticalSlabBlock("Dark Oak", "dark_oak", false, Blocks.DARK_OAK_PLANKS, Tool.AXE)); + VERTICAL_SLABS.add(new GenericVerticalSlabBlock("Jungle", "jungle", false, Blocks.JUNGLE_PLANKS, Tool.AXE)); + VERTICAL_SLABS.add(new GenericVerticalSlabBlock("Mangrove", "mangrove", false, Blocks.MANGROVE_PLANKS, Tool.AXE)); + VERTICAL_SLABS.add(new GenericVerticalSlabBlock("Oak", "oak", false, Blocks.OAK_PLANKS, Tool.AXE)); + VERTICAL_SLABS.add(new GenericVerticalSlabBlock("Spruce", "spruce", false, Blocks.SPRUCE_PLANKS, Tool.AXE)); + VERTICAL_SLABS.add(new GenericVerticalSlabBlock("Warped", "warped", false, Blocks.WARPED_PLANKS, Tool.AXE)); VERTICAL_SLABS.add(new GenericVerticalSlabBlock("Andesite", "andesite", false, Blocks.ANDESITE)); VERTICAL_SLABS.add(new GenericVerticalSlabBlock("Bamboo Mosaic", "bamboo_mosaic", false, Blocks.BAMBOO_MOSAIC)); diff --git a/src/main/java/com/chimericdream/minekea/block/building/stairs/GenericStairsBlock.java b/src/main/java/com/chimericdream/minekea/block/building/stairs/GenericStairsBlock.java index 227e4d40e..f5baa676c 100644 --- a/src/main/java/com/chimericdream/minekea/block/building/stairs/GenericStairsBlock.java +++ b/src/main/java/com/chimericdream/minekea/block/building/stairs/GenericStairsBlock.java @@ -2,8 +2,10 @@ import com.chimericdream.minekea.ModInfo; import com.chimericdream.minekea.util.MinekeaBlock; +import com.chimericdream.minekea.util.Tool; import net.fabricmc.fabric.api.datagen.v1.provider.FabricLanguageProvider; import net.fabricmc.fabric.api.datagen.v1.provider.FabricRecipeProvider; +import net.fabricmc.fabric.api.datagen.v1.provider.FabricTagProvider; import net.fabricmc.fabric.api.itemgroup.v1.ItemGroupEvents; import net.fabricmc.fabric.api.registry.FlammableBlockRegistry; import net.fabricmc.fabric.api.registry.FuelRegistry; @@ -30,9 +32,12 @@ import net.minecraft.registry.Registries; import net.minecraft.registry.Registry; import net.minecraft.registry.RegistryWrapper; +import net.minecraft.registry.tag.TagKey; import net.minecraft.util.Identifier; import net.minecraft.util.math.Direction; +import java.util.function.Function; + public class GenericStairsBlock extends StairsBlock implements MinekeaBlock { public final Identifier BLOCK_ID; @@ -41,12 +46,21 @@ public class GenericStairsBlock extends StairsBlock implements MinekeaBlock { protected final boolean isFlammable; protected final Block ingredient; protected final Identifier textureId; + protected final Tool miningTool; public GenericStairsBlock(String materialName, String material, boolean isFlammable, Block ingredient) { this(materialName, material, isFlammable, ingredient, TextureMap.getId(ingredient)); } + public GenericStairsBlock(String materialName, String material, boolean isFlammable, Block ingredient, Tool miningTool) { + this(materialName, material, isFlammable, ingredient, TextureMap.getId(ingredient), miningTool); + } + public GenericStairsBlock(String materialName, String material, boolean isFlammable, Block ingredient, Identifier textureId) { + this(materialName, material, isFlammable, ingredient, textureId, Tool.PICKAXE); + } + + public GenericStairsBlock(String materialName, String material, boolean isFlammable, Block ingredient, Identifier textureId, Tool miningTool) { super(ingredient.getDefaultState(), AbstractBlock.Settings.copy(ingredient)); this.materialName = materialName; @@ -54,6 +68,7 @@ public GenericStairsBlock(String materialName, String material, boolean isFlamma this.isFlammable = isFlammable; this.ingredient = ingredient; this.textureId = textureId; + this.miningTool = miningTool; BLOCK_ID = Identifier.of(ModInfo.MOD_ID, String.format("building/stairs/%s", material)); } @@ -72,6 +87,13 @@ public void register() { .register((itemGroup) -> itemGroup.add(this)); } + @Override + public void configureBlockTags(RegistryWrapper.WrapperLookup registryLookup, Function, FabricTagProvider.FabricTagBuilder> getBuilder) { + getBuilder.apply(this.miningTool.getMineableTag()) + .setReplace(false) + .add(this); + } + @Override public void configureRecipes(RecipeExporter exporter) { ShapedRecipeJsonBuilder.create(RecipeCategory.BUILDING_BLOCKS, this, 8) diff --git a/src/main/java/com/chimericdream/minekea/block/building/stairs/GenericVerticalStairsBlock.java b/src/main/java/com/chimericdream/minekea/block/building/stairs/GenericVerticalStairsBlock.java index f97b0a0b5..b83cf8864 100644 --- a/src/main/java/com/chimericdream/minekea/block/building/stairs/GenericVerticalStairsBlock.java +++ b/src/main/java/com/chimericdream/minekea/block/building/stairs/GenericVerticalStairsBlock.java @@ -2,8 +2,10 @@ import com.chimericdream.minekea.ModInfo; import com.chimericdream.minekea.util.MinekeaBlock; +import com.chimericdream.minekea.util.Tool; import net.fabricmc.fabric.api.datagen.v1.provider.FabricLanguageProvider; import net.fabricmc.fabric.api.datagen.v1.provider.FabricRecipeProvider; +import net.fabricmc.fabric.api.datagen.v1.provider.FabricTagProvider; import net.fabricmc.fabric.api.itemgroup.v1.ItemGroupEvents; import net.fabricmc.fabric.api.registry.FlammableBlockRegistry; import net.fabricmc.fabric.api.registry.FuelRegistry; @@ -33,6 +35,7 @@ import net.minecraft.registry.Registries; import net.minecraft.registry.Registry; import net.minecraft.registry.RegistryWrapper; +import net.minecraft.registry.tag.TagKey; import net.minecraft.state.StateManager; import net.minecraft.state.property.BooleanProperty; import net.minecraft.state.property.DirectionProperty; @@ -46,6 +49,7 @@ import net.minecraft.world.WorldAccess; import java.util.Optional; +import java.util.function.Function; public class GenericVerticalStairsBlock extends Block implements MinekeaBlock, Waterloggable { public static final Model VERTICAL_STAIRS_MODEL = new Model( @@ -85,12 +89,21 @@ public class GenericVerticalStairsBlock extends Block implements MinekeaBlock, W protected final boolean isFlammable; protected final Block ingredient; protected final Identifier textureId; + protected final Tool miningTool; public GenericVerticalStairsBlock(String materialName, String material, boolean isFlammable, Block ingredient) { this(materialName, material, isFlammable, ingredient, TextureMap.getId(ingredient)); } + public GenericVerticalStairsBlock(String materialName, String material, boolean isFlammable, Block ingredient, Tool miningTool) { + this(materialName, material, isFlammable, ingredient, TextureMap.getId(ingredient)); + } + public GenericVerticalStairsBlock(String materialName, String material, boolean isFlammable, Block ingredient, Identifier textureId) { + this(materialName, material, isFlammable, ingredient, textureId, Tool.PICKAXE); + } + + public GenericVerticalStairsBlock(String materialName, String material, boolean isFlammable, Block ingredient, Identifier textureId, Tool miningTool) { super(AbstractBlock.Settings.copy(ingredient)); this.setDefaultState( @@ -104,6 +117,7 @@ public GenericVerticalStairsBlock(String materialName, String material, boolean this.isFlammable = isFlammable; this.ingredient = ingredient; this.textureId = textureId; + this.miningTool = miningTool; BLOCK_ID = Identifier.of(ModInfo.MOD_ID, String.format("building/stairs/vertical/%s", material)); } @@ -158,6 +172,13 @@ public void register() { .register((itemGroup) -> itemGroup.add(this)); } + @Override + public void configureBlockTags(RegistryWrapper.WrapperLookup registryLookup, Function, FabricTagProvider.FabricTagBuilder> getBuilder) { + getBuilder.apply(this.miningTool.getMineableTag()) + .setReplace(false) + .add(this); + } + @Override public void configureRecipes(RecipeExporter exporter) { ShapedRecipeJsonBuilder.create(RecipeCategory.BUILDING_BLOCKS, this, 8) diff --git a/src/main/java/com/chimericdream/minekea/block/building/stairs/Stairs.java b/src/main/java/com/chimericdream/minekea/block/building/stairs/Stairs.java index eb0af6131..6dcc9ced6 100644 --- a/src/main/java/com/chimericdream/minekea/block/building/stairs/Stairs.java +++ b/src/main/java/com/chimericdream/minekea/block/building/stairs/Stairs.java @@ -9,6 +9,7 @@ import com.chimericdream.minekea.block.building.general.WarpedNetherBricksBlock; import com.chimericdream.minekea.util.MinekeaBlock; import com.chimericdream.minekea.util.MinekeaBlockCategory; +import com.chimericdream.minekea.util.Tool; import net.fabricmc.fabric.api.datagen.v1.provider.FabricLanguageProvider; import net.fabricmc.fabric.api.datagen.v1.provider.FabricTagProvider; import net.minecraft.block.Block; @@ -38,18 +39,18 @@ public class Stairs implements MinekeaBlockCategory { STAIRS.add(new GenericStairsBlock("Warped Basalt Brick", "warped_basalt_bricks", false, BuildingBlocks.WARPED_BASALT_BRICKS_BLOCK, WarpedBasaltBricksBlock.BLOCK_ID.withPrefixedPath("block/"))); STAIRS.add(new GenericStairsBlock("Warped Nether Brick", "warped_nether_bricks", false, BuildingBlocks.WARPED_NETHER_BRICKS_BLOCK, WarpedNetherBricksBlock.BLOCK_ID.withPrefixedPath("block/"))); - VERTICAL_STAIRS.add(new GenericVerticalStairsBlock("Acacia", "acacia_planks", true, Blocks.ACACIA_PLANKS)); - VERTICAL_STAIRS.add(new GenericVerticalStairsBlock("Birch", "birch_planks", true, Blocks.BIRCH_PLANKS)); - VERTICAL_STAIRS.add(new GenericVerticalStairsBlock("Cherry", "cherry_planks", true, Blocks.CHERRY_PLANKS)); - VERTICAL_STAIRS.add(new GenericVerticalStairsBlock("Crimson", "crimson_planks", false, Blocks.CRIMSON_PLANKS)); - VERTICAL_STAIRS.add(new GenericVerticalStairsBlock("Dark Oak", "dark_oak_planks", true, Blocks.DARK_OAK_PLANKS)); - VERTICAL_STAIRS.add(new GenericVerticalStairsBlock("Jungle", "jungle_planks", true, Blocks.JUNGLE_PLANKS)); - VERTICAL_STAIRS.add(new GenericVerticalStairsBlock("Mangrove", "mangrove_planks", true, Blocks.MANGROVE_PLANKS)); - VERTICAL_STAIRS.add(new GenericVerticalStairsBlock("Oak", "oak_planks", true, Blocks.OAK_PLANKS)); - VERTICAL_STAIRS.add(new GenericVerticalStairsBlock("Spruce", "spruce_planks", true, Blocks.SPRUCE_PLANKS)); - VERTICAL_STAIRS.add(new GenericVerticalStairsBlock("Warped", "warped_planks", false, Blocks.WARPED_PLANKS)); + VERTICAL_STAIRS.add(new GenericVerticalStairsBlock("Acacia", "acacia_planks", true, Blocks.ACACIA_PLANKS, Tool.AXE)); + VERTICAL_STAIRS.add(new GenericVerticalStairsBlock("Birch", "birch_planks", true, Blocks.BIRCH_PLANKS, Tool.AXE)); + VERTICAL_STAIRS.add(new GenericVerticalStairsBlock("Cherry", "cherry_planks", true, Blocks.CHERRY_PLANKS, Tool.AXE)); + VERTICAL_STAIRS.add(new GenericVerticalStairsBlock("Crimson", "crimson_planks", false, Blocks.CRIMSON_PLANKS, Tool.AXE)); + VERTICAL_STAIRS.add(new GenericVerticalStairsBlock("Dark Oak", "dark_oak_planks", true, Blocks.DARK_OAK_PLANKS, Tool.AXE)); + VERTICAL_STAIRS.add(new GenericVerticalStairsBlock("Jungle", "jungle_planks", true, Blocks.JUNGLE_PLANKS, Tool.AXE)); + VERTICAL_STAIRS.add(new GenericVerticalStairsBlock("Mangrove", "mangrove_planks", true, Blocks.MANGROVE_PLANKS, Tool.AXE)); + VERTICAL_STAIRS.add(new GenericVerticalStairsBlock("Oak", "oak_planks", true, Blocks.OAK_PLANKS, Tool.AXE)); + VERTICAL_STAIRS.add(new GenericVerticalStairsBlock("Spruce", "spruce_planks", true, Blocks.SPRUCE_PLANKS, Tool.AXE)); + VERTICAL_STAIRS.add(new GenericVerticalStairsBlock("Warped", "warped_planks", false, Blocks.WARPED_PLANKS, Tool.AXE)); VERTICAL_STAIRS.add(new GenericVerticalStairsBlock("Andesite", "andesite", false, Blocks.ANDESITE)); - VERTICAL_STAIRS.add(new GenericVerticalStairsBlock("Bamboo Mosaic", "bamboo_mosaic", false, Blocks.BAMBOO_MOSAIC)); + VERTICAL_STAIRS.add(new GenericVerticalStairsBlock("Bamboo Mosaic", "bamboo_mosaic", false, Blocks.BAMBOO_MOSAIC, Tool.AXE)); VERTICAL_STAIRS.add(new GenericVerticalStairsBlock("Blackstone", "blackstone", false, Blocks.BLACKSTONE)); VERTICAL_STAIRS.add(new GenericVerticalStairsBlock("Brick", "bricks", false, Blocks.BRICKS)); VERTICAL_STAIRS.add(new GenericVerticalStairsBlock("Cobbled Deepslate", "cobbled_deepslate", false, Blocks.COBBLED_DEEPSLATE)); diff --git a/src/main/java/com/chimericdream/minekea/block/building/storage/DyeBlock.java b/src/main/java/com/chimericdream/minekea/block/building/storage/DyeBlock.java index e021e2832..b6389ce4c 100644 --- a/src/main/java/com/chimericdream/minekea/block/building/storage/DyeBlock.java +++ b/src/main/java/com/chimericdream/minekea/block/building/storage/DyeBlock.java @@ -5,14 +5,12 @@ import com.chimericdream.minekea.util.MinekeaBlock; import net.fabricmc.fabric.api.datagen.v1.provider.FabricLanguageProvider; import net.fabricmc.fabric.api.datagen.v1.provider.FabricRecipeProvider; -import net.fabricmc.fabric.api.datagen.v1.provider.FabricTagProvider; import net.minecraft.block.AbstractBlock; import net.minecraft.block.Block; import net.minecraft.block.BlockState; import net.minecraft.block.Blocks; import net.minecraft.block.ShapeContext; import net.minecraft.data.client.BlockStateModelGenerator; -import net.minecraft.data.client.ItemModelGenerator; import net.minecraft.data.client.Model; import net.minecraft.data.client.TextureKey; import net.minecraft.data.client.TextureMap; @@ -27,7 +25,6 @@ import net.minecraft.registry.Registries; import net.minecraft.registry.Registry; import net.minecraft.registry.RegistryWrapper; -import net.minecraft.registry.tag.TagKey; import net.minecraft.sound.SoundEvents; import net.minecraft.util.DyeColor; import net.minecraft.util.Identifier; @@ -37,7 +34,6 @@ import net.minecraft.world.World; import java.util.Optional; -import java.util.function.Function; public class DyeBlock extends Block implements MinekeaBlock { private static final Model DYE_BLOCK_MODEL = new Model( @@ -79,14 +75,6 @@ public void register() { Registry.register(Registries.ITEM, BLOCK_ID, new BlockItem(this, new Item.Settings())); } - @Override - public void configureBlockTags(RegistryWrapper.WrapperLookup registryLookup, Function, FabricTagProvider.FabricTagBuilder> getBuilder) { - } - - @Override - public void configureItemTags(RegistryWrapper.WrapperLookup registryLookup, Function, FabricTagProvider.FabricTagBuilder> getBuilder) { - } - @Override public void configureRecipes(RecipeExporter exporter) { Item dye = Colors.getDye(color); @@ -130,8 +118,4 @@ public void configureBlockStateModels(BlockStateModelGenerator blockStateModelGe DYE_BLOCK_MODEL ); } - - @Override - public void configureItemModels(ItemModelGenerator itemModelGenerator) { - } } diff --git a/src/main/java/com/chimericdream/minekea/block/building/storage/EnderPearlStorageBlock.java b/src/main/java/com/chimericdream/minekea/block/building/storage/EnderPearlStorageBlock.java index 35e344865..f718e9441 100644 --- a/src/main/java/com/chimericdream/minekea/block/building/storage/EnderPearlStorageBlock.java +++ b/src/main/java/com/chimericdream/minekea/block/building/storage/EnderPearlStorageBlock.java @@ -8,6 +8,7 @@ import net.minecraft.data.client.BlockStateModelGenerator; import net.minecraft.item.Items; import net.minecraft.registry.RegistryWrapper; +import net.minecraft.registry.tag.BlockTags; import net.minecraft.registry.tag.TagKey; import net.minecraft.sound.BlockSoundGroup; @@ -20,6 +21,9 @@ public EnderPearlStorageBlock() { @Override public void configureBlockTags(RegistryWrapper.WrapperLookup registryLookup, Function, FabricTagProvider.FabricTagBuilder> getBuilder) { + getBuilder.apply(BlockTags.PICKAXE_MINEABLE) + .setReplace(false) + .add(this); } @Override diff --git a/src/main/java/com/chimericdream/minekea/block/building/storage/GoldenAppleStorageBlock.java b/src/main/java/com/chimericdream/minekea/block/building/storage/GoldenAppleStorageBlock.java index 38b90bde6..089cf9696 100644 --- a/src/main/java/com/chimericdream/minekea/block/building/storage/GoldenAppleStorageBlock.java +++ b/src/main/java/com/chimericdream/minekea/block/building/storage/GoldenAppleStorageBlock.java @@ -11,7 +11,6 @@ import net.minecraft.data.client.ItemModelGenerator; import net.minecraft.data.client.TextureKey; import net.minecraft.data.client.TextureMap; -import net.minecraft.item.Item; import net.minecraft.item.Items; import net.minecraft.registry.RegistryWrapper; import net.minecraft.registry.tag.BlockTags; @@ -33,10 +32,6 @@ public void configureBlockTags(RegistryWrapper.WrapperLookup registryLookup, Fun .add(this); } - @Override - public void configureItemTags(RegistryWrapper.WrapperLookup registryLookup, Function, FabricTagProvider.FabricTagBuilder> getBuilder) { - } - @Override public void configureTranslations(RegistryWrapper.WrapperLookup registryLookup, FabricLanguageProvider.TranslationBuilder translationBuilder) { translationBuilder.add(this, "Compressed Golden Apple"); diff --git a/src/main/java/com/chimericdream/minekea/block/building/storage/SetOfEggsBlock.java b/src/main/java/com/chimericdream/minekea/block/building/storage/SetOfEggsBlock.java index 5a52f71f8..65bb08e3f 100644 --- a/src/main/java/com/chimericdream/minekea/block/building/storage/SetOfEggsBlock.java +++ b/src/main/java/com/chimericdream/minekea/block/building/storage/SetOfEggsBlock.java @@ -12,8 +12,6 @@ import net.minecraft.block.Blocks; import net.minecraft.block.ShapeContext; import net.minecraft.block.Waterloggable; -import net.minecraft.data.client.BlockStateModelGenerator; -import net.minecraft.data.client.ItemModelGenerator; import net.minecraft.data.server.loottable.BlockLootTableGenerator; import net.minecraft.data.server.recipe.RecipeExporter; import net.minecraft.data.server.recipe.ShapedRecipeJsonBuilder; @@ -28,6 +26,7 @@ import net.minecraft.registry.Registries; import net.minecraft.registry.Registry; import net.minecraft.registry.RegistryWrapper; +import net.minecraft.registry.tag.BlockTags; import net.minecraft.registry.tag.TagKey; import net.minecraft.state.StateManager; import net.minecraft.state.property.BooleanProperty; @@ -95,10 +94,9 @@ public void register() { @Override public void configureBlockTags(RegistryWrapper.WrapperLookup registryLookup, Function, FabricTagProvider.FabricTagBuilder> getBuilder) { - } - - @Override - public void configureItemTags(RegistryWrapper.WrapperLookup registryLookup, Function, FabricTagProvider.FabricTagBuilder> getBuilder) { + getBuilder.apply(BlockTags.HOE_MINEABLE) + .setReplace(false) + .add(this); } @Override @@ -129,22 +127,4 @@ public void configureBlockLootTables(RegistryWrapper.WrapperLookup registryLooku public void configureTranslations(RegistryWrapper.WrapperLookup registryLookup, FabricLanguageProvider.TranslationBuilder translationBuilder) { translationBuilder.add(this, "Set of Eggs"); } - - @Override - public void configureBlockStateModels(BlockStateModelGenerator blockStateModelGenerator) { - } - - @Override - public void configureItemModels(ItemModelGenerator itemModelGenerator) { - } - -// @Override -// public void setupResources() { -// Identifier MODEL_ID = Model.getBlockModelID(BLOCK_ID); -// -// MinekeaResourcePack.RESOURCE_PACK.addBlockState( -// JState.state(JState.variant().put("", new JBlockModel(MODEL_ID))), -// BLOCK_ID -// ); -// } } diff --git a/src/main/java/com/chimericdream/minekea/block/building/walls/GenericWallBlock.java b/src/main/java/com/chimericdream/minekea/block/building/walls/GenericWallBlock.java index 020355929..16670e6ac 100644 --- a/src/main/java/com/chimericdream/minekea/block/building/walls/GenericWallBlock.java +++ b/src/main/java/com/chimericdream/minekea/block/building/walls/GenericWallBlock.java @@ -2,6 +2,7 @@ import com.chimericdream.minekea.ModInfo; import com.chimericdream.minekea.util.MinekeaBlock; +import com.chimericdream.minekea.util.Tool; import net.fabricmc.fabric.api.datagen.v1.provider.FabricLanguageProvider; import net.fabricmc.fabric.api.datagen.v1.provider.FabricRecipeProvider; import net.fabricmc.fabric.api.datagen.v1.provider.FabricTagProvider; @@ -44,12 +45,21 @@ public class GenericWallBlock extends WallBlock implements MinekeaBlock { protected final boolean isFlammable; protected final Block ingredient; protected final Identifier textureId; + protected final Tool miningTool; public GenericWallBlock(String materialName, String material, boolean isFlammable, Block ingredient) { this(materialName, material, isFlammable, ingredient, TextureMap.getId(ingredient)); } + public GenericWallBlock(String materialName, String material, boolean isFlammable, Block ingredient, Tool miningTool) { + this(materialName, material, isFlammable, ingredient, TextureMap.getId(ingredient), miningTool); + } + public GenericWallBlock(String materialName, String material, boolean isFlammable, Block ingredient, Identifier textureId) { + this(materialName, material, isFlammable, ingredient, textureId, Tool.PICKAXE); + } + + public GenericWallBlock(String materialName, String material, boolean isFlammable, Block ingredient, Identifier textureId, Tool miningTool) { super(AbstractBlock.Settings.copy(ingredient)); this.materialName = materialName; @@ -57,6 +67,7 @@ public GenericWallBlock(String materialName, String material, boolean isFlammabl this.isFlammable = isFlammable; this.ingredient = ingredient; this.textureId = textureId; + this.miningTool = miningTool; BLOCK_ID = Identifier.of(ModInfo.MOD_ID, String.format("building/walls/%s", material)); } @@ -80,6 +91,10 @@ public void configureBlockTags(RegistryWrapper.WrapperLookup registryLookup, Fun getBuilder.apply(BlockTags.WALLS) .setReplace(false) .add(this); + + getBuilder.apply(miningTool.getMineableTag()) + .setReplace(false) + .add(this); } @Override diff --git a/src/main/java/com/chimericdream/minekea/block/containers/crates/GenericCrate.java b/src/main/java/com/chimericdream/minekea/block/containers/crates/GenericCrate.java index be40d4237..ed268daca 100644 --- a/src/main/java/com/chimericdream/minekea/block/containers/crates/GenericCrate.java +++ b/src/main/java/com/chimericdream/minekea/block/containers/crates/GenericCrate.java @@ -8,6 +8,7 @@ import com.mojang.serialization.MapCodec; import net.fabricmc.fabric.api.datagen.v1.provider.FabricLanguageProvider; import net.fabricmc.fabric.api.datagen.v1.provider.FabricRecipeProvider; +import net.fabricmc.fabric.api.datagen.v1.provider.FabricTagProvider; import net.fabricmc.fabric.api.itemgroup.v1.ItemGroupEvents; import net.fabricmc.fabric.api.registry.FlammableBlockRegistry; import net.fabricmc.fabric.api.registry.FuelRegistry; @@ -44,6 +45,7 @@ import net.minecraft.registry.Registries; import net.minecraft.registry.Registry; import net.minecraft.registry.RegistryWrapper; +import net.minecraft.registry.tag.BlockTags; import net.minecraft.registry.tag.ItemTags; import net.minecraft.registry.tag.TagKey; import net.minecraft.screen.NamedScreenHandlerFactory; @@ -67,6 +69,7 @@ import org.jetbrains.annotations.Nullable; import java.util.Optional; +import java.util.function.Function; public class GenericCrate extends BlockWithEntity implements MinekeaBlock { protected static final Model CRATE_MODEL = new Model( @@ -449,6 +452,11 @@ public int getComparatorOutput(BlockState state, World world, BlockPos pos) { return ScreenHandler.calculateComparatorOutput(world.getBlockEntity(pos)); } + @Override + public void configureBlockTags(RegistryWrapper.WrapperLookup registryLookup, Function, FabricTagProvider.FabricTagBuilder> getBuilder) { + getBuilder.apply(BlockTags.AXE_MINEABLE).setReplace(false).add(this); + } + @Override public void configureBlockLootTables(RegistryWrapper.WrapperLookup registryLookup, BlockLootTableGenerator generator) { generator.addDrop(this); diff --git a/src/main/java/com/chimericdream/minekea/block/decorations/misc/FakeCake.java b/src/main/java/com/chimericdream/minekea/block/decorations/misc/FakeCake.java index 207765c5f..32158071a 100644 --- a/src/main/java/com/chimericdream/minekea/block/decorations/misc/FakeCake.java +++ b/src/main/java/com/chimericdream/minekea/block/decorations/misc/FakeCake.java @@ -2,12 +2,15 @@ import com.chimericdream.minekea.ModInfo; import com.chimericdream.minekea.resource.ModelUtils; +import com.chimericdream.minekea.tag.MinekeaBlockTags; import com.chimericdream.minekea.util.MinekeaBlock; import com.chimericdream.minekea.util.TextHelpers; import net.fabricmc.fabric.api.datagen.v1.provider.FabricLanguageProvider; import net.fabricmc.fabric.api.datagen.v1.provider.FabricRecipeProvider; +import net.fabricmc.fabric.api.datagen.v1.provider.FabricTagProvider; import net.fabricmc.fabric.api.itemgroup.v1.ItemGroupEvents; import net.minecraft.block.AbstractBlock; +import net.minecraft.block.Block; import net.minecraft.block.BlockState; import net.minecraft.block.Blocks; import net.minecraft.block.CakeBlock; @@ -31,6 +34,7 @@ import net.minecraft.registry.Registries; import net.minecraft.registry.Registry; import net.minecraft.registry.RegistryWrapper; +import net.minecraft.registry.tag.TagKey; import net.minecraft.text.Text; import net.minecraft.util.ActionResult; import net.minecraft.util.Identifier; @@ -39,6 +43,7 @@ import net.minecraft.world.World; import java.util.List; +import java.util.function.Function; public class FakeCake extends CakeBlock implements MinekeaBlock { public final static String TOOLTIP_KEY = "block.minekea.decorations.misc.fake_cake.tooltip"; @@ -67,6 +72,11 @@ public void register() { .register(itemGroup -> itemGroup.add(this.asItem())); } + @Override + public void configureBlockTags(RegistryWrapper.WrapperLookup registryLookup, Function, FabricTagProvider.FabricTagBuilder> getBuilder) { + getBuilder.apply(MinekeaBlockTags.MINEABLE_SHEARS).setReplace(false).add(this); + } + @Override public void configureRecipes(RecipeExporter exporter) { ShapedRecipeJsonBuilder.create(RecipeCategory.DECORATIONS, this, 3) diff --git a/src/main/java/com/chimericdream/minekea/block/furniture/shutters/OpenShutterHalf.java b/src/main/java/com/chimericdream/minekea/block/furniture/shutters/OpenShutterHalf.java index 5b886c5b8..a9fa45c66 100644 --- a/src/main/java/com/chimericdream/minekea/block/furniture/shutters/OpenShutterHalf.java +++ b/src/main/java/com/chimericdream/minekea/block/furniture/shutters/OpenShutterHalf.java @@ -3,6 +3,7 @@ import com.chimericdream.minekea.ModInfo; import com.chimericdream.minekea.util.MinekeaBlock; import com.chimericdream.minekea.util.MinekeaTextures; +import net.fabricmc.fabric.api.datagen.v1.provider.FabricTagProvider; import net.minecraft.block.AbstractBlock; import net.minecraft.block.Block; import net.minecraft.block.BlockSetType; @@ -23,6 +24,9 @@ import net.minecraft.item.ItemStack; import net.minecraft.registry.Registries; import net.minecraft.registry.Registry; +import net.minecraft.registry.RegistryWrapper; +import net.minecraft.registry.tag.BlockTags; +import net.minecraft.registry.tag.TagKey; import net.minecraft.sound.SoundCategory; import net.minecraft.state.StateManager; import net.minecraft.state.property.BooleanProperty; @@ -45,6 +49,7 @@ import java.util.Map; import java.util.Optional; +import java.util.function.Function; public class OpenShutterHalf extends Block implements MinekeaBlock, Waterloggable { protected static final Model LEFT_HALF_MODEL = new Model( @@ -282,6 +287,11 @@ public void register() { Registry.register(Registries.BLOCK, BLOCK_ID, this); } + @Override + public void configureBlockTags(RegistryWrapper.WrapperLookup registryLookup, Function, FabricTagProvider.FabricTagBuilder> getBuilder) { + getBuilder.apply(BlockTags.AXE_MINEABLE).setReplace(false).add(this); + } + @Override public void configureBlockStateModels(BlockStateModelGenerator blockStateModelGenerator) { TextureMap textures = new TextureMap() diff --git a/src/main/java/com/chimericdream/minekea/util/Tool.java b/src/main/java/com/chimericdream/minekea/util/Tool.java index 34a571c3a..8ad7ea273 100644 --- a/src/main/java/com/chimericdream/minekea/util/Tool.java +++ b/src/main/java/com/chimericdream/minekea/util/Tool.java @@ -1,10 +1,26 @@ -//package com.chimericdream.minekea.util; -// -//public enum Tool { -// AXE, -// HOE, -// PICKAXE, -// SHEARS, -// SHOVEL, -// NONE -//} +package com.chimericdream.minekea.util; + +import com.chimericdream.minekea.tag.MinekeaBlockTags; +import net.minecraft.block.Block; +import net.minecraft.registry.tag.BlockTags; +import net.minecraft.registry.tag.TagKey; + +public enum Tool { + AXE, + HOE, + PICKAXE, + SHEARS, + SHOVEL, + NONE; + + public TagKey getMineableTag() { + return switch (this) { + case AXE -> BlockTags.AXE_MINEABLE; + case HOE -> BlockTags.HOE_MINEABLE; + case PICKAXE -> BlockTags.PICKAXE_MINEABLE; + case SHEARS -> MinekeaBlockTags.MINEABLE_SHEARS; + case SHOVEL -> BlockTags.SHOVEL_MINEABLE; + default -> null; + }; + } +}