diff --git a/src/main/java/ru/bclib/api/PostInitAPI.java b/src/main/java/ru/bclib/api/PostInitAPI.java index c2676f9b..c0066245 100644 --- a/src/main/java/ru/bclib/api/PostInitAPI.java +++ b/src/main/java/ru/bclib/api/PostInitAPI.java @@ -8,6 +8,7 @@ import net.minecraft.client.renderer.RenderType; import net.minecraft.core.Registry; import net.minecraft.world.item.Item; import net.minecraft.world.level.block.Block; +import ru.bclib.BCLib; import ru.bclib.api.biomes.BiomeAPI; import ru.bclib.api.tag.TagAPI; import ru.bclib.api.tag.TagAPI.TagLocation; @@ -55,6 +56,11 @@ public class PostInitAPI { processBlockClient(block); } }); + + + Registry.ITEM.forEach(item -> { + processItemCommon(item); + }); postInitFunctions = null; blockTags = null; itemTags = null; @@ -77,6 +83,18 @@ public class PostInitAPI { } } + private static void processItemCommon(Item item) { + if (item instanceof TagProvider provider){ + try { + provider.addTags(null, itemTags); + } catch (NullPointerException ex){ + BCLib.LOGGER.error(item + " probably tried to access blockTags.", ex); + } + itemTags.forEach(tag -> TagAPI.addItemTag(tag, item)); + itemTags.clear(); + } + } + private static void processBlockCommon(Block block) { if (block instanceof PostInitable) { ((PostInitable) block).postInit();