diff --git a/src/main/java/com/refinedmods/refinedstorage/datageneration/BlockTagGenerator.java b/src/main/java/com/refinedmods/refinedstorage/datageneration/BlockTagGenerator.java new file mode 100644 index 000000000..19c56ccb1 --- /dev/null +++ b/src/main/java/com/refinedmods/refinedstorage/datageneration/BlockTagGenerator.java @@ -0,0 +1,29 @@ +package com.refinedmods.refinedstorage.datageneration; + +import com.refinedmods.refinedstorage.RSBlocks; +import com.refinedmods.refinedstorage.RSItems; +import net.minecraft.data.DataGenerator; +import net.minecraft.data.tags.BlockTagsProvider; +import net.minecraft.data.tags.ItemTagsProvider; +import net.minecraft.resources.ResourceLocation; +import net.minecraft.tags.BlockTags; +import net.minecraft.tags.TagKey; +import net.minecraft.world.level.block.Block; +import net.minecraftforge.common.data.ExistingFileHelper; + +import javax.annotation.Nullable; + +public class BlockTagGenerator extends BlockTagsProvider { + public BlockTagGenerator(DataGenerator dataGenerator, String modId, @Nullable ExistingFileHelper existingFileHelper) { + super(dataGenerator, modId, existingFileHelper); + } + + @Override + protected void addTags() { + TagAppender noRelocationTag = tag(BlockTags.create(new ResourceLocation("forge:relocation_not_supported"))); + RSBlocks.COLORED_BLOCK_TAGS.forEach((tag, map) -> { + map.values().forEach(block -> tag(tag).add(block.get())); + noRelocationTag.addTags(tag); + }); + } +} diff --git a/src/main/java/com/refinedmods/refinedstorage/datageneration/DataGenerators.java b/src/main/java/com/refinedmods/refinedstorage/datageneration/DataGenerators.java index 13ed3bfbe..628449506 100644 --- a/src/main/java/com/refinedmods/refinedstorage/datageneration/DataGenerators.java +++ b/src/main/java/com/refinedmods/refinedstorage/datageneration/DataGenerators.java @@ -13,9 +13,11 @@ public class DataGenerators { } if (event.includeServer()) { event.getGenerator().addProvider(new RecipeGenerator(event.getGenerator())); - event.getGenerator().addProvider(new TagGenerator( + BlockTagGenerator blockTagGenerator = new BlockTagGenerator(event.getGenerator(), RS.ID, event.getExistingFileHelper()); + event.getGenerator().addProvider(blockTagGenerator); + event.getGenerator().addProvider(new ItemTagGenerator( event.getGenerator(), - new BlockTagsProvider(event.getGenerator(), RS.ID, event.getExistingFileHelper()), + blockTagGenerator, RS.ID, event.getExistingFileHelper()) ); diff --git a/src/main/java/com/refinedmods/refinedstorage/datageneration/TagGenerator.java b/src/main/java/com/refinedmods/refinedstorage/datageneration/ItemTagGenerator.java similarity index 73% rename from src/main/java/com/refinedmods/refinedstorage/datageneration/TagGenerator.java rename to src/main/java/com/refinedmods/refinedstorage/datageneration/ItemTagGenerator.java index 32d49371c..3eaae3bc1 100644 --- a/src/main/java/com/refinedmods/refinedstorage/datageneration/TagGenerator.java +++ b/src/main/java/com/refinedmods/refinedstorage/datageneration/ItemTagGenerator.java @@ -8,8 +8,8 @@ import net.minecraftforge.common.data.ExistingFileHelper; import javax.annotation.Nullable; -public class TagGenerator extends ItemTagsProvider { - public TagGenerator(DataGenerator dataGenerator, BlockTagsProvider blockTagProvider, String modId, @Nullable ExistingFileHelper existingFileHelper) { +public class ItemTagGenerator extends ItemTagsProvider { + public ItemTagGenerator(DataGenerator dataGenerator, BlockTagsProvider blockTagProvider, String modId, @Nullable ExistingFileHelper existingFileHelper) { super(dataGenerator, blockTagProvider, modId, existingFileHelper); }