From 6e5aabbaf6e527ffcdc99efb433c041370e67981 Mon Sep 17 00:00:00 2001 From: Micle Date: Wed, 10 Jun 2026 19:57:00 +0100 Subject: [PATCH] Implemented tag providers for data gen. Added block and item to various tags. --- .../data/minecraft/tags/blocks/flowers.json | 5 ++++ .../tags/blocks/inside_step_sound_blocks.json | 5 ++++ .../data/minecraft/tags/items/flowers.json | 5 ++++ .../data/DataGenerators.java | 9 ++++-- .../data/server/ModBlockTagsProvider.java | 28 +++++++++++++++++++ .../data/server/ModItemTagsProvider.java | 26 +++++++++++++++++ 6 files changed, 75 insertions(+), 3 deletions(-) create mode 100644 src/generated/resources/data/minecraft/tags/blocks/flowers.json create mode 100644 src/generated/resources/data/minecraft/tags/blocks/inside_step_sound_blocks.json create mode 100644 src/generated/resources/data/minecraft/tags/items/flowers.json create mode 100644 src/main/java/dev/micle/wildflowers_backport/data/server/ModBlockTagsProvider.java create mode 100644 src/main/java/dev/micle/wildflowers_backport/data/server/ModItemTagsProvider.java diff --git a/src/generated/resources/data/minecraft/tags/blocks/flowers.json b/src/generated/resources/data/minecraft/tags/blocks/flowers.json new file mode 100644 index 0000000..bcb613e --- /dev/null +++ b/src/generated/resources/data/minecraft/tags/blocks/flowers.json @@ -0,0 +1,5 @@ +{ + "values": [ + "wildflowers_backport:wildflowers" + ] +} \ No newline at end of file diff --git a/src/generated/resources/data/minecraft/tags/blocks/inside_step_sound_blocks.json b/src/generated/resources/data/minecraft/tags/blocks/inside_step_sound_blocks.json new file mode 100644 index 0000000..bcb613e --- /dev/null +++ b/src/generated/resources/data/minecraft/tags/blocks/inside_step_sound_blocks.json @@ -0,0 +1,5 @@ +{ + "values": [ + "wildflowers_backport:wildflowers" + ] +} \ No newline at end of file diff --git a/src/generated/resources/data/minecraft/tags/items/flowers.json b/src/generated/resources/data/minecraft/tags/items/flowers.json new file mode 100644 index 0000000..bcb613e --- /dev/null +++ b/src/generated/resources/data/minecraft/tags/items/flowers.json @@ -0,0 +1,5 @@ +{ + "values": [ + "wildflowers_backport:wildflowers" + ] +} \ No newline at end of file diff --git a/src/main/java/dev/micle/wildflowers_backport/data/DataGenerators.java b/src/main/java/dev/micle/wildflowers_backport/data/DataGenerators.java index 7d6690d..64fc784 100644 --- a/src/main/java/dev/micle/wildflowers_backport/data/DataGenerators.java +++ b/src/main/java/dev/micle/wildflowers_backport/data/DataGenerators.java @@ -3,11 +3,10 @@ package dev.micle.wildflowers_backport.data; import dev.micle.wildflowers_backport.WildflowersBackport; import dev.micle.wildflowers_backport.data.client.ModBlockStateProvider; import dev.micle.wildflowers_backport.data.client.ModItemModelProvider; -import dev.micle.wildflowers_backport.data.server.ModLootTableProvider; -import dev.micle.wildflowers_backport.data.server.ModRecipeProvider; -import dev.micle.wildflowers_backport.data.server.ModWorldGenProvider; +import dev.micle.wildflowers_backport.data.server.*; import net.minecraft.core.HolderLookup; import net.minecraft.data.DataGenerator; +import net.minecraftforge.common.data.BlockTagsProvider; import net.minecraftforge.common.data.ExistingFileHelper; import net.minecraftforge.data.event.GatherDataEvent; import net.minecraftforge.eventbus.api.SubscribeEvent; @@ -26,6 +25,10 @@ public class DataGenerators { generator.addProvider(event.includeClient(), new ModBlockStateProvider(generator, existingFileHelper)); generator.addProvider(event.includeClient(), new ModItemModelProvider(generator, existingFileHelper)); + BlockTagsProvider blockTagsProvider = new ModBlockTagsProvider(generator, lookupProvider, existingFileHelper); + generator.addProvider(event.includeServer(), blockTagsProvider); + generator.addProvider(event.includeServer(), new ModItemTagsProvider(generator, lookupProvider, blockTagsProvider.contentsGetter(), existingFileHelper)); + generator.addProvider(event.includeServer(), new ModRecipeProvider(generator)); generator.addProvider(event.includeServer(), new ModLootTableProvider(generator)); generator.addProvider(event.includeServer(), new ModWorldGenProvider(generator, lookupProvider)); diff --git a/src/main/java/dev/micle/wildflowers_backport/data/server/ModBlockTagsProvider.java b/src/main/java/dev/micle/wildflowers_backport/data/server/ModBlockTagsProvider.java new file mode 100644 index 0000000..95bcac8 --- /dev/null +++ b/src/main/java/dev/micle/wildflowers_backport/data/server/ModBlockTagsProvider.java @@ -0,0 +1,28 @@ +package dev.micle.wildflowers_backport.data.server; + +import dev.micle.wildflowers_backport.WildflowersBackport; +import dev.micle.wildflowers_backport.block.ModBlocks; +import net.minecraft.core.HolderLookup; +import net.minecraft.data.DataGenerator; +import net.minecraft.tags.BlockTags; +import net.minecraftforge.common.data.BlockTagsProvider; +import net.minecraftforge.common.data.ExistingFileHelper; + +import javax.annotation.ParametersAreNonnullByDefault; +import java.util.concurrent.CompletableFuture; + +public class ModBlockTagsProvider extends BlockTagsProvider { + public ModBlockTagsProvider(DataGenerator generator, CompletableFuture lookupProvider, ExistingFileHelper existingFileHelper) { + super(generator.getPackOutput(), lookupProvider, WildflowersBackport.MOD_ID, existingFileHelper); + } + + @Override + @ParametersAreNonnullByDefault + protected void addTags(HolderLookup.Provider lookupProvider) { + this.tag(BlockTags.FLOWERS) + .add(ModBlocks.WILDFLOWERS.get()); + + this.tag(BlockTags.INSIDE_STEP_SOUND_BLOCKS) + .add(ModBlocks.WILDFLOWERS.get()); + } +} diff --git a/src/main/java/dev/micle/wildflowers_backport/data/server/ModItemTagsProvider.java b/src/main/java/dev/micle/wildflowers_backport/data/server/ModItemTagsProvider.java new file mode 100644 index 0000000..1459507 --- /dev/null +++ b/src/main/java/dev/micle/wildflowers_backport/data/server/ModItemTagsProvider.java @@ -0,0 +1,26 @@ +package dev.micle.wildflowers_backport.data.server; + +import dev.micle.wildflowers_backport.WildflowersBackport; +import dev.micle.wildflowers_backport.item.ModItems; +import net.minecraft.core.HolderLookup; +import net.minecraft.data.DataGenerator; +import net.minecraft.data.tags.ItemTagsProvider; +import net.minecraft.tags.ItemTags; +import net.minecraft.world.level.block.Block; +import net.minecraftforge.common.data.ExistingFileHelper; + +import javax.annotation.ParametersAreNonnullByDefault; +import java.util.concurrent.CompletableFuture; + +public class ModItemTagsProvider extends ItemTagsProvider { + public ModItemTagsProvider(DataGenerator generator, CompletableFuture lookupProvider, CompletableFuture> blockTagLookup, ExistingFileHelper existingFileHelper) { + super(generator.getPackOutput(), lookupProvider, blockTagLookup, WildflowersBackport.MOD_ID, existingFileHelper); + } + + @Override + @ParametersAreNonnullByDefault + protected void addTags(HolderLookup.Provider pProvider) { + this.tag(ItemTags.FLOWERS) + .add(ModItems.WILDFLOWERS.get()); + } +}