diff --git a/src/generated/resources/data/forge/tags/items/armors.json b/src/generated/resources/data/forge/tags/items/armors.json new file mode 100644 index 0000000000..1f895dcedf --- /dev/null +++ b/src/generated/resources/data/forge/tags/items/armors.json @@ -0,0 +1,8 @@ +{ + "values": [ + "#forge:armors/helmets", + "#forge:armors/chestplates", + "#forge:armors/leggings", + "#forge:armors/boots" + ] +} \ No newline at end of file diff --git a/src/generated/resources/data/forge/tags/items/armors/boots.json b/src/generated/resources/data/forge/tags/items/armors/boots.json new file mode 100644 index 0000000000..b68cf3908d --- /dev/null +++ b/src/generated/resources/data/forge/tags/items/armors/boots.json @@ -0,0 +1,10 @@ +{ + "values": [ + "minecraft:leather_boots", + "minecraft:chainmail_boots", + "minecraft:iron_boots", + "minecraft:golden_boots", + "minecraft:diamond_boots", + "minecraft:netherite_boots" + ] +} \ No newline at end of file diff --git a/src/generated/resources/data/forge/tags/items/armors/chestplates.json b/src/generated/resources/data/forge/tags/items/armors/chestplates.json new file mode 100644 index 0000000000..3f17463c56 --- /dev/null +++ b/src/generated/resources/data/forge/tags/items/armors/chestplates.json @@ -0,0 +1,10 @@ +{ + "values": [ + "minecraft:leather_chestplate", + "minecraft:chainmail_chestplate", + "minecraft:iron_chestplate", + "minecraft:golden_chestplate", + "minecraft:diamond_chestplate", + "minecraft:netherite_chestplate" + ] +} \ No newline at end of file diff --git a/src/generated/resources/data/forge/tags/items/armors/helmets.json b/src/generated/resources/data/forge/tags/items/armors/helmets.json new file mode 100644 index 0000000000..9c9b657c45 --- /dev/null +++ b/src/generated/resources/data/forge/tags/items/armors/helmets.json @@ -0,0 +1,11 @@ +{ + "values": [ + "minecraft:leather_helmet", + "minecraft:turtle_helmet", + "minecraft:chainmail_helmet", + "minecraft:iron_helmet", + "minecraft:golden_helmet", + "minecraft:diamond_helmet", + "minecraft:netherite_helmet" + ] +} \ No newline at end of file diff --git a/src/generated/resources/data/forge/tags/items/armors/leggings.json b/src/generated/resources/data/forge/tags/items/armors/leggings.json new file mode 100644 index 0000000000..8969323c7c --- /dev/null +++ b/src/generated/resources/data/forge/tags/items/armors/leggings.json @@ -0,0 +1,10 @@ +{ + "values": [ + "minecraft:leather_leggings", + "minecraft:chainmail_leggings", + "minecraft:iron_leggings", + "minecraft:golden_leggings", + "minecraft:diamond_leggings", + "minecraft:netherite_leggings" + ] +} \ No newline at end of file diff --git a/src/generated/resources/data/forge/tags/items/tools.json b/src/generated/resources/data/forge/tags/items/tools.json new file mode 100644 index 0000000000..cb5497b8e7 --- /dev/null +++ b/src/generated/resources/data/forge/tags/items/tools.json @@ -0,0 +1,14 @@ +{ + "values": [ + "#forge:tools/swords", + "#forge:tools/axes", + "#forge:tools/pickaxes", + "#forge:tools/shovels", + "#forge:tools/hoes", + "#forge:tools/shields", + "#forge:tools/bows", + "#forge:tools/crossbows", + "#forge:tools/fishing_rods", + "#forge:tools/tridents" + ] +} \ No newline at end of file diff --git a/src/generated/resources/data/forge/tags/items/tools/axes.json b/src/generated/resources/data/forge/tags/items/tools/axes.json new file mode 100644 index 0000000000..64f0e2f319 --- /dev/null +++ b/src/generated/resources/data/forge/tags/items/tools/axes.json @@ -0,0 +1,10 @@ +{ + "values": [ + "minecraft:wooden_axe", + "minecraft:stone_axe", + "minecraft:iron_axe", + "minecraft:golden_axe", + "minecraft:diamond_axe", + "minecraft:netherite_axe" + ] +} \ No newline at end of file diff --git a/src/generated/resources/data/forge/tags/items/tools/bows.json b/src/generated/resources/data/forge/tags/items/tools/bows.json new file mode 100644 index 0000000000..a1c8a443dc --- /dev/null +++ b/src/generated/resources/data/forge/tags/items/tools/bows.json @@ -0,0 +1,5 @@ +{ + "values": [ + "minecraft:bow" + ] +} \ No newline at end of file diff --git a/src/generated/resources/data/forge/tags/items/tools/crossbows.json b/src/generated/resources/data/forge/tags/items/tools/crossbows.json new file mode 100644 index 0000000000..848f97bc22 --- /dev/null +++ b/src/generated/resources/data/forge/tags/items/tools/crossbows.json @@ -0,0 +1,5 @@ +{ + "values": [ + "minecraft:crossbow" + ] +} \ No newline at end of file diff --git a/src/generated/resources/data/forge/tags/items/tools/fishing_rods.json b/src/generated/resources/data/forge/tags/items/tools/fishing_rods.json new file mode 100644 index 0000000000..e97941e9dc --- /dev/null +++ b/src/generated/resources/data/forge/tags/items/tools/fishing_rods.json @@ -0,0 +1,5 @@ +{ + "values": [ + "minecraft:fishing_rod" + ] +} \ No newline at end of file diff --git a/src/generated/resources/data/forge/tags/items/tools/hoes.json b/src/generated/resources/data/forge/tags/items/tools/hoes.json new file mode 100644 index 0000000000..0dc92bb339 --- /dev/null +++ b/src/generated/resources/data/forge/tags/items/tools/hoes.json @@ -0,0 +1,10 @@ +{ + "values": [ + "minecraft:wooden_hoe", + "minecraft:stone_hoe", + "minecraft:iron_hoe", + "minecraft:golden_hoe", + "minecraft:diamond_hoe", + "minecraft:netherite_hoe" + ] +} \ No newline at end of file diff --git a/src/generated/resources/data/forge/tags/items/tools/pickaxes.json b/src/generated/resources/data/forge/tags/items/tools/pickaxes.json new file mode 100644 index 0000000000..c10d395032 --- /dev/null +++ b/src/generated/resources/data/forge/tags/items/tools/pickaxes.json @@ -0,0 +1,10 @@ +{ + "values": [ + "minecraft:wooden_pickaxe", + "minecraft:stone_pickaxe", + "minecraft:iron_pickaxe", + "minecraft:golden_pickaxe", + "minecraft:diamond_pickaxe", + "minecraft:netherite_pickaxe" + ] +} \ No newline at end of file diff --git a/src/generated/resources/data/forge/tags/items/tools/shields.json b/src/generated/resources/data/forge/tags/items/tools/shields.json new file mode 100644 index 0000000000..0f2454ce04 --- /dev/null +++ b/src/generated/resources/data/forge/tags/items/tools/shields.json @@ -0,0 +1,5 @@ +{ + "values": [ + "minecraft:shield" + ] +} \ No newline at end of file diff --git a/src/generated/resources/data/forge/tags/items/tools/shovels.json b/src/generated/resources/data/forge/tags/items/tools/shovels.json new file mode 100644 index 0000000000..0176bb06cf --- /dev/null +++ b/src/generated/resources/data/forge/tags/items/tools/shovels.json @@ -0,0 +1,10 @@ +{ + "values": [ + "minecraft:wooden_shovel", + "minecraft:stone_shovel", + "minecraft:iron_shovel", + "minecraft:golden_shovel", + "minecraft:diamond_shovel", + "minecraft:netherite_shovel" + ] +} \ No newline at end of file diff --git a/src/generated/resources/data/forge/tags/items/tools/swords.json b/src/generated/resources/data/forge/tags/items/tools/swords.json new file mode 100644 index 0000000000..418ccea479 --- /dev/null +++ b/src/generated/resources/data/forge/tags/items/tools/swords.json @@ -0,0 +1,10 @@ +{ + "values": [ + "minecraft:wooden_sword", + "minecraft:stone_sword", + "minecraft:iron_sword", + "minecraft:golden_sword", + "minecraft:diamond_sword", + "minecraft:netherite_sword" + ] +} \ No newline at end of file diff --git a/src/generated/resources/data/forge/tags/items/tools/tridents.json b/src/generated/resources/data/forge/tags/items/tools/tridents.json new file mode 100644 index 0000000000..7a2c450bc7 --- /dev/null +++ b/src/generated/resources/data/forge/tags/items/tools/tridents.json @@ -0,0 +1,5 @@ +{ + "values": [ + "minecraft:trident" + ] +} \ No newline at end of file diff --git a/src/main/java/net/minecraftforge/common/Tags.java b/src/main/java/net/minecraftforge/common/Tags.java index 8ae394f5de..2a7dfed4c4 100644 --- a/src/main/java/net/minecraftforge/common/Tags.java +++ b/src/main/java/net/minecraftforge/common/Tags.java @@ -394,6 +394,125 @@ public class Tags public static final TagKey STORAGE_BLOCKS_RAW_IRON = tag("storage_blocks/raw_iron"); public static final TagKey STORAGE_BLOCKS_REDSTONE = tag("storage_blocks/redstone"); public static final TagKey STRING = tag("string"); + /** + * A tag containing all existing tools. + * + * Note: This tag is not an alternative or a substitute to {@link net.minecraftforge.common.ToolActions}. + * + * @see net.minecraftforge.common.ToolAction + * @see net.minecraftforge.common.ToolActions + */ + public static final TagKey TOOLS = tag("tools"); + /** + * A tag containing all existing swords. + * + * Note: This tag is not an alternative or a substitute to {@link net.minecraftforge.common.ToolActions}. + * + * @see net.minecraftforge.common.ToolAction + * @see net.minecraftforge.common.ToolActions + */ + public static final TagKey TOOLS_SWORDS = tag("tools/swords"); + /** + * A tag containing all existing axes. + * + * Note: This tag is not an alternative or a substitute to {@link net.minecraftforge.common.ToolActions}. + * + * @see net.minecraftforge.common.ToolAction + * @see net.minecraftforge.common.ToolActions + */ + public static final TagKey TOOLS_AXES = tag("tools/axes"); + /** + * A tag containing all existing pickaxes. + * + * Note: This tag is not an alternative or a substitute to {@link net.minecraftforge.common.ToolActions}. + * + * @see net.minecraftforge.common.ToolAction + * @see net.minecraftforge.common.ToolActions + */ + public static final TagKey TOOLS_PICKAXES = tag("tools/pickaxes"); + /** + * A tag containing all existing shovels. + * + * Note: This tag is not an alternative or a substitute to {@link net.minecraftforge.common.ToolActions}. + * + * @see net.minecraftforge.common.ToolAction + * @see net.minecraftforge.common.ToolActions + */ + public static final TagKey TOOLS_SHOVELS = tag("tools/shovels"); + /** + * A tag containing all existing hoes. + * + * Note: This tag is not an alternative or a substitute to {@link net.minecraftforge.common.ToolActions}. + * + * @see net.minecraftforge.common.ToolAction + * @see net.minecraftforge.common.ToolActions + */ + public static final TagKey TOOLS_HOES = tag("tools/hoes"); + /** + * A tag containing all existing shields. + * + * Note: This tag is not an alternative or a substitute to {@link net.minecraftforge.common.ToolActions}. + * + * @see net.minecraftforge.common.ToolAction + * @see net.minecraftforge.common.ToolActions + */ + public static final TagKey TOOLS_SHIELDS = tag("tools/shields"); + /** + * A tag containing all existing bows. + * + * Note: This tag is not an alternative or a substitute to {@link net.minecraftforge.common.ToolActions}. + * + * @see net.minecraftforge.common.ToolAction + * @see net.minecraftforge.common.ToolActions + */ + public static final TagKey TOOLS_BOWS = tag("tools/bows"); + /** + * A tag containing all existing crossbows. + * + * Note: This tag is not an alternative or a substitute to {@link net.minecraftforge.common.ToolActions}. + * + * @see net.minecraftforge.common.ToolAction + * @see net.minecraftforge.common.ToolActions + */ + public static final TagKey TOOLS_CROSSBOWS = tag("tools/crossbows"); + /** + * A tag containing all existing fishing rods. + * + * Note: This tag is not an alternative or a substitute to {@link net.minecraftforge.common.ToolActions}. + * + * @see net.minecraftforge.common.ToolAction + * @see net.minecraftforge.common.ToolActions + */ + public static final TagKey TOOLS_FISHING_RODS = tag("tools/fishing_rods"); + /** + * A tag containing all existing tridents. + * + * Note: This tag is not an alternative or a substitute to {@link net.minecraftforge.common.ToolActions}. + * + * @see net.minecraftforge.common.ToolAction + * @see net.minecraftforge.common.ToolActions + */ + public static final TagKey TOOLS_TRIDENTS = tag("tools/tridents"); + /** + * A tag containing all existing armors. + */ + public static final TagKey ARMORS = tag("armors"); + /** + * A tag containing all existing helmets. + */ + public static final TagKey ARMORS_HELMETS = tag("armors/helmets"); + /** + * A tag containing all chestplates. + */ + public static final TagKey ARMORS_CHESTPLATES = tag("armors/chestplates"); + /** + * A tag containing all existing leggings. + */ + public static final TagKey ARMORS_LEGGINGS = tag("armors/leggings"); + /** + * A tag containing all existing boots. + */ + public static final TagKey ARMORS_BOOTS = tag("armors/boots"); private static TagKey tag(String name) { diff --git a/src/main/java/net/minecraftforge/common/data/ForgeItemTagsProvider.java b/src/main/java/net/minecraftforge/common/data/ForgeItemTagsProvider.java index eaaa6c8df8..38d629f215 100644 --- a/src/main/java/net/minecraftforge/common/data/ForgeItemTagsProvider.java +++ b/src/main/java/net/minecraftforge/common/data/ForgeItemTagsProvider.java @@ -153,6 +153,22 @@ public final class ForgeItemTagsProvider extends ItemTagsProvider copy(Tags.Blocks.STORAGE_BLOCKS_RAW_IRON, Tags.Items.STORAGE_BLOCKS_RAW_IRON); copy(Tags.Blocks.STORAGE_BLOCKS_NETHERITE, Tags.Items.STORAGE_BLOCKS_NETHERITE); tag(Tags.Items.STRING).add(Items.STRING); + tag(Tags.Items.TOOLS_SWORDS).add(Items.WOODEN_SWORD, Items.STONE_SWORD, Items.IRON_SWORD, Items.GOLDEN_SWORD, Items.DIAMOND_SWORD, Items.NETHERITE_SWORD); + tag(Tags.Items.TOOLS_AXES).add(Items.WOODEN_AXE, Items.STONE_AXE, Items.IRON_AXE, Items.GOLDEN_AXE, Items.DIAMOND_AXE, Items.NETHERITE_AXE); + tag(Tags.Items.TOOLS_PICKAXES).add(Items.WOODEN_PICKAXE, Items.STONE_PICKAXE, Items.IRON_PICKAXE, Items.GOLDEN_PICKAXE, Items.DIAMOND_PICKAXE, Items.NETHERITE_PICKAXE); + tag(Tags.Items.TOOLS_SHOVELS).add(Items.WOODEN_SHOVEL, Items.STONE_SHOVEL, Items.IRON_SHOVEL, Items.GOLDEN_SHOVEL, Items.DIAMOND_SHOVEL, Items.NETHERITE_SHOVEL); + tag(Tags.Items.TOOLS_HOES).add(Items.WOODEN_HOE, Items.STONE_HOE, Items.IRON_HOE, Items.GOLDEN_HOE, Items.DIAMOND_HOE, Items.NETHERITE_HOE); + tag(Tags.Items.TOOLS_SHIELDS).add(Items.SHIELD); + tag(Tags.Items.TOOLS_BOWS).add(Items.BOW); + tag(Tags.Items.TOOLS_CROSSBOWS).add(Items.CROSSBOW); + tag(Tags.Items.TOOLS_FISHING_RODS).add(Items.FISHING_ROD); + tag(Tags.Items.TOOLS_TRIDENTS).add(Items.TRIDENT); + tag(Tags.Items.TOOLS).addTags(Tags.Items.TOOLS_SWORDS, Tags.Items.TOOLS_AXES, Tags.Items.TOOLS_PICKAXES, Tags.Items.TOOLS_SHOVELS, Tags.Items.TOOLS_HOES, Tags.Items.TOOLS_SHIELDS, Tags.Items.TOOLS_BOWS, Tags.Items.TOOLS_CROSSBOWS, Tags.Items.TOOLS_FISHING_RODS, Tags.Items.TOOLS_TRIDENTS); + tag(Tags.Items.ARMORS_HELMETS).add(Items.LEATHER_HELMET, Items.TURTLE_HELMET, Items.CHAINMAIL_HELMET, Items.IRON_HELMET, Items.GOLDEN_HELMET, Items.DIAMOND_HELMET, Items.NETHERITE_HELMET); + tag(Tags.Items.ARMORS_CHESTPLATES).add(Items.LEATHER_CHESTPLATE, Items.CHAINMAIL_CHESTPLATE, Items.IRON_CHESTPLATE, Items.GOLDEN_CHESTPLATE, Items.DIAMOND_CHESTPLATE, Items.NETHERITE_CHESTPLATE); + tag(Tags.Items.ARMORS_LEGGINGS).add(Items.LEATHER_LEGGINGS, Items.CHAINMAIL_LEGGINGS, Items.IRON_LEGGINGS, Items.GOLDEN_LEGGINGS, Items.DIAMOND_LEGGINGS, Items.NETHERITE_LEGGINGS); + tag(Tags.Items.ARMORS_BOOTS).add(Items.LEATHER_BOOTS, Items.CHAINMAIL_BOOTS, Items.IRON_BOOTS, Items.GOLDEN_BOOTS, Items.DIAMOND_BOOTS, Items.NETHERITE_BOOTS); + tag(Tags.Items.ARMORS).addTags(Tags.Items.ARMORS_HELMETS, Tags.Items.ARMORS_CHESTPLATES, Tags.Items.ARMORS_LEGGINGS, Tags.Items.ARMORS_BOOTS); } private void addColored(Consumer> consumer, TagKey group, String pattern)