From d18046f74fb278a5db8d705cb72ec141a124ffcf Mon Sep 17 00:00:00 2001 From: Martin Prokoph Date: Thu, 1 Aug 2024 00:07:17 +0200 Subject: [PATCH] Datagen for Mining Tags --- .../05e548071acf141f8316a32dd9664b72bf08f473 | 2 +- .../767c31e3ff4fc47c158a5b9ee81cdc589b92f0cc | 2 +- .../994d817e0ea4d727e6c4fd01319484e3c3bc9550 | 2 +- .../f7d8407af9baaf5f0f162e0f8ab8027e321c0ef1 | 4 + .../minecraft/tags/block/mineable/axe.json | 15 ++++ .../tags/block/mineable/pickaxe.json | 89 +++++++++++++++++++ .../tags/block/needs_stone_tool.json | 5 ++ .../decorative/DecorativeDataGen.java | 2 + .../motschen/decorative/block/StonePath.java | 2 +- .../motschen/decorative/datagen/Tags.java | 39 ++++++++ 10 files changed, 158 insertions(+), 4 deletions(-) create mode 100644 src/main/generated/.cache/f7d8407af9baaf5f0f162e0f8ab8027e321c0ef1 create mode 100644 src/main/generated/data/minecraft/tags/block/mineable/axe.json create mode 100644 src/main/generated/data/minecraft/tags/block/mineable/pickaxe.json create mode 100644 src/main/generated/data/minecraft/tags/block/needs_stone_tool.json create mode 100644 src/main/java/eu/midnightdust/motschen/decorative/datagen/Tags.java diff --git a/src/main/generated/.cache/05e548071acf141f8316a32dd9664b72bf08f473 b/src/main/generated/.cache/05e548071acf141f8316a32dd9664b72bf08f473 index 87971d4..ba2d0e9 100644 --- a/src/main/generated/.cache/05e548071acf141f8316a32dd9664b72bf08f473 +++ b/src/main/generated/.cache/05e548071acf141f8316a32dd9664b72bf08f473 @@ -1,4 +1,4 @@ -// 1.21 2024-07-31T22:56:58.458132274 Decorative/Recipes +// 1.21 2024-08-01T00:03:07.702740398 Decorative/Recipes 8840e1834a4e8b1459b63b4054e28fa51c26e72e data/decorative/recipe/wall_clock.json c7ad4b64d576aee115925400b1fa6500d81d02c9 data/decorative/advancement/recipes/decorations/spruce_log_with_axe.json cf0bf274ee073450f6c4fd3b5fd7b3d711bd2e60 data/decorative/recipe/gray_lamp.json diff --git a/src/main/generated/.cache/767c31e3ff4fc47c158a5b9ee81cdc589b92f0cc b/src/main/generated/.cache/767c31e3ff4fc47c158a5b9ee81cdc589b92f0cc index 27ded98..1da2ab1 100644 --- a/src/main/generated/.cache/767c31e3ff4fc47c158a5b9ee81cdc589b92f0cc +++ b/src/main/generated/.cache/767c31e3ff4fc47c158a5b9ee81cdc589b92f0cc @@ -1,4 +1,4 @@ -// 1.21 2024-07-31T22:56:58.464282543 Decorative/Block Loot Tables +// 1.21 2024-08-01T00:03:07.708091331 Decorative/Block Loot Tables 89cdb12dd315c74b635244350ea725b1cc5cff53 data/decorative/loot_table/blocks/orange_lamp.json db0783aa5f2aebcde11576ff95da049cf278b336 data/decorative/loot_table/blocks/mangrove_log_with_axe.json e13c9b7a44df3ef0e24e4878355b435a7c9b596e data/decorative/loot_table/blocks/yellow_digital_clock.json diff --git a/src/main/generated/.cache/994d817e0ea4d727e6c4fd01319484e3c3bc9550 b/src/main/generated/.cache/994d817e0ea4d727e6c4fd01319484e3c3bc9550 index 0972c6c..ddb4c86 100644 --- a/src/main/generated/.cache/994d817e0ea4d727e6c4fd01319484e3c3bc9550 +++ b/src/main/generated/.cache/994d817e0ea4d727e6c4fd01319484e3c3bc9550 @@ -1,3 +1,3 @@ -// 1.21 2024-07-31T22:56:58.463872214 Decorative/decorative +// 1.21 2024-08-01T00:03:07.707624524 Decorative/decorative 0f026ea055880052079f9153d9bb8c0b76de000e data/decorative/worldgen/placed_feature/rocky_asphalt.json 8dfd1b980dfd7aba3fa12e1ea506a3c9fc463929 data/decorative/worldgen/configured_feature/rocky_asphalt.json diff --git a/src/main/generated/.cache/f7d8407af9baaf5f0f162e0f8ab8027e321c0ef1 b/src/main/generated/.cache/f7d8407af9baaf5f0f162e0f8ab8027e321c0ef1 new file mode 100644 index 0000000..a82713b --- /dev/null +++ b/src/main/generated/.cache/f7d8407af9baaf5f0f162e0f8ab8027e321c0ef1 @@ -0,0 +1,4 @@ +// 1.21 2024-08-01T00:03:07.707245874 Decorative/Tags for minecraft:block +f2d5d3644e53c993deebe7b145b6da3246698fba data/minecraft/tags/block/mineable/pickaxe.json +943ffdbb1391ecf5d726ad5897b8e4b41366d8ce data/minecraft/tags/block/mineable/axe.json +8c82b629723744035dfdff5c75a81e15d1db82c1 data/minecraft/tags/block/needs_stone_tool.json diff --git a/src/main/generated/data/minecraft/tags/block/mineable/axe.json b/src/main/generated/data/minecraft/tags/block/mineable/axe.json new file mode 100644 index 0000000..e446c66 --- /dev/null +++ b/src/main/generated/data/minecraft/tags/block/mineable/axe.json @@ -0,0 +1,15 @@ +{ + "values": [ + "decorative:oak_log_with_axe", + "decorative:spruce_log_with_axe", + "decorative:birch_log_with_axe", + "decorative:acacia_log_with_axe", + "decorative:cherry_log_with_axe", + "decorative:jungle_log_with_axe", + "decorative:dark_oak_log_with_axe", + "decorative:crimson_stem_with_axe", + "decorative:warped_stem_with_axe", + "decorative:mangrove_log_with_axe", + "decorative:bamboo_block_with_axe" + ] +} \ 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 new file mode 100644 index 0000000..17ddfb7 --- /dev/null +++ b/src/main/generated/data/minecraft/tags/block/mineable/pickaxe.json @@ -0,0 +1,89 @@ +{ + "values": [ + "decorative:rocky_asphalt", + "decorative:road", + "decorative:road_white_short", + "decorative:road_white_long", + "decorative:traffic_cone", + "decorative:fire_hydrant", + "decorative:guardrail", + "decorative:sign_post", + "decorative:empty_sign", + "decorative:stop_sign", + "decorative:five_sign", + "decorative:ten_sign", + "decorative:twenty_sign", + "decorative:thirty_sign", + "decorative:forty_sign", + "decorative:fifty_sign", + "decorative:sixty_sign", + "decorative:seventy_sign", + "decorative:eighty_sign", + "decorative:ninety_sign", + "decorative:onehundred_sign", + "decorative:onehundredten_sign", + "decorative:stone_path", + "decorative:bird_bath", + "decorative:water_pump", + "decorative:pool_wall", + "decorative:springboard", + "decorative:pool_sprinkler", + "decorative:kitchen_tiles", + "decorative:wall_clock", + "decorative:television", + "decorative:old_television", + "decorative:ceilingfan", + "decorative:shower_head", + "decorative:sliding_door", + "decorative:christmas_tree", + "decorative:christmas_lights", + "decorative:white_lamp", + "decorative:orange_lamp", + "decorative:magenta_lamp", + "decorative:light_blue_lamp", + "decorative:yellow_lamp", + "decorative:lime_lamp", + "decorative:pink_lamp", + "decorative:gray_lamp", + "decorative:light_gray_lamp", + "decorative:cyan_lamp", + "decorative:purple_lamp", + "decorative:blue_lamp", + "decorative:brown_lamp", + "decorative:green_lamp", + "decorative:red_lamp", + "decorative:black_lamp", + "decorative:white_double_lamp", + "decorative:orange_double_lamp", + "decorative:magenta_double_lamp", + "decorative:light_blue_double_lamp", + "decorative:yellow_double_lamp", + "decorative:lime_double_lamp", + "decorative:pink_double_lamp", + "decorative:gray_double_lamp", + "decorative:light_gray_double_lamp", + "decorative:cyan_double_lamp", + "decorative:purple_double_lamp", + "decorative:blue_double_lamp", + "decorative:brown_double_lamp", + "decorative:green_double_lamp", + "decorative:red_double_lamp", + "decorative:black_double_lamp", + "decorative:white_digital_clock", + "decorative:orange_digital_clock", + "decorative:magenta_digital_clock", + "decorative:light_blue_digital_clock", + "decorative:yellow_digital_clock", + "decorative:lime_digital_clock", + "decorative:pink_digital_clock", + "decorative:gray_digital_clock", + "decorative:light_gray_digital_clock", + "decorative:cyan_digital_clock", + "decorative:purple_digital_clock", + "decorative:blue_digital_clock", + "decorative:brown_digital_clock", + "decorative:green_digital_clock", + "decorative:red_digital_clock", + "decorative:black_digital_clock" + ] +} \ No newline at end of file diff --git a/src/main/generated/data/minecraft/tags/block/needs_stone_tool.json b/src/main/generated/data/minecraft/tags/block/needs_stone_tool.json new file mode 100644 index 0000000..4dce56b --- /dev/null +++ b/src/main/generated/data/minecraft/tags/block/needs_stone_tool.json @@ -0,0 +1,5 @@ +{ + "values": [ + "decorative:rocky_asphalt" + ] +} \ No newline at end of file diff --git a/src/main/java/eu/midnightdust/motschen/decorative/DecorativeDataGen.java b/src/main/java/eu/midnightdust/motschen/decorative/DecorativeDataGen.java index 310aa60..62d115a 100644 --- a/src/main/java/eu/midnightdust/motschen/decorative/DecorativeDataGen.java +++ b/src/main/java/eu/midnightdust/motschen/decorative/DecorativeDataGen.java @@ -2,6 +2,7 @@ package eu.midnightdust.motschen.decorative; import eu.midnightdust.motschen.decorative.datagen.LootTables; import eu.midnightdust.motschen.decorative.datagen.Recipes; +import eu.midnightdust.motschen.decorative.datagen.Tags; import eu.midnightdust.motschen.decorative.world.OreFeatures; import net.fabricmc.fabric.api.datagen.v1.DataGeneratorEntrypoint; import net.fabricmc.fabric.api.datagen.v1.FabricDataGenerator; @@ -21,6 +22,7 @@ public class DecorativeDataGen implements DataGeneratorEntrypoint { FabricDataGenerator.Pack pack = fabricDataGenerator.createPack(); pack.addProvider(WorldGenData::new); pack.addProvider(LootTables.BlockLootTables::new); + pack.addProvider(Tags.Blocks::new); pack.addProvider(Recipes::new); System.out.println("Initialized dataGen"); } diff --git a/src/main/java/eu/midnightdust/motschen/decorative/block/StonePath.java b/src/main/java/eu/midnightdust/motschen/decorative/block/StonePath.java index 03770a9..1e21862 100755 --- a/src/main/java/eu/midnightdust/motschen/decorative/block/StonePath.java +++ b/src/main/java/eu/midnightdust/motschen/decorative/block/StonePath.java @@ -24,7 +24,7 @@ public class StonePath extends Block implements FactoryBlock { private static final VoxelShape SHAPE; public StonePath() { - super(AbstractBlock.Settings.copy(Blocks.STONE).nonOpaque().sounds(BlockSoundGroup.STONE)); + super(AbstractBlock.Settings.copy(Blocks.SHORT_GRASS).nonOpaque().sounds(BlockSoundGroup.STONE)); } @Override diff --git a/src/main/java/eu/midnightdust/motschen/decorative/datagen/Tags.java b/src/main/java/eu/midnightdust/motschen/decorative/datagen/Tags.java new file mode 100644 index 0000000..acc2e27 --- /dev/null +++ b/src/main/java/eu/midnightdust/motschen/decorative/datagen/Tags.java @@ -0,0 +1,39 @@ +package eu.midnightdust.motschen.decorative.datagen; + +import eu.midnightdust.motschen.decorative.DecorativeMain; +import eu.midnightdust.motschen.decorative.init.LogsWithAxes; +import net.fabricmc.fabric.api.datagen.v1.FabricDataOutput; +import net.fabricmc.fabric.api.datagen.v1.provider.FabricTagProvider; +import net.minecraft.block.Block; +import net.minecraft.registry.RegistryKeys; +import net.minecraft.registry.RegistryWrapper; +import net.minecraft.registry.tag.TagKey; +import net.minecraft.util.Identifier; + +import java.util.ArrayList; +import java.util.List; +import java.util.concurrent.CompletableFuture; + +public class Tags { + public static class Blocks extends FabricTagProvider.BlockTagProvider { + private static final TagKey PICKAXE_MINEABLE = TagKey.of(RegistryKeys.BLOCK, Identifier.ofVanilla("mineable/pickaxe")); + private static final TagKey AXE_MINEABLE = TagKey.of(RegistryKeys.BLOCK, Identifier.ofVanilla("mineable/axe")); + private static final TagKey NEEDS_STONE_TOOL = TagKey.of(RegistryKeys.BLOCK, Identifier.ofVanilla("needs_stone_tool")); + + public Blocks(FabricDataOutput output, CompletableFuture registriesFuture) { + super(output, registriesFuture); + } + + @Override + protected void configure(RegistryWrapper.WrapperLookup arg) { + List pickaxeBlocks = new ArrayList<>(DecorativeMain.BLOCKS); + pickaxeBlocks.removeAll(LogsWithAxes.TYPES); + getOrCreateTagBuilder(PICKAXE_MINEABLE).setReplace(false) + .add(pickaxeBlocks.toArray(new Block[0])); + getOrCreateTagBuilder(AXE_MINEABLE).setReplace(false) + .add(LogsWithAxes.TYPES.toArray(new Block[0])); + getOrCreateTagBuilder(NEEDS_STONE_TOOL).setReplace(false) + .add(DecorativeMain.RockyAsphalt); + } + } +}