package ru.dbotthepony.mc.otm.datagen.tags

import net.minecraft.tags.ItemTags
import net.neoforged.neoforge.common.Tags
import ru.dbotthepony.mc.otm.registry.MItemTags
import ru.dbotthepony.mc.otm.registry.game.MItems

fun addEquipmentTags(tagsProvider: TagsProvider) {

	// TODO: is new tag appropriate for modded armors?
	tagsProvider.items.Appender(Tags.Items.ARMORS)
		.add(MItems.TRITANIUM_HELMET, MItems.SIMPLE_TRITANIUM_HELMET)
		.add(MItems.TRITANIUM_CHESTPLATE, MItems.SIMPLE_TRITANIUM_CHESTPLATE, MItems.PORTABLE_GRAVITATION_STABILIZER)
		.add(MItems.TRITANIUM_PANTS, MItems.SIMPLE_TRITANIUM_PANTS)
		.add(MItems.TRITANIUM_BOOTS, MItems.SIMPLE_TRITANIUM_BOOTS)

	tagsProvider.items.Appender(ItemTags.DYEABLE).add(MItems.TRITANIUM_ARMOR)
	tagsProvider.items.Appender(ItemTags.TRIMMABLE_ARMOR).add(MItems.SIMPLE_TRITANIUM_ARMOR)
	tagsProvider.items.Appender(ItemTags.FREEZE_IMMUNE_WEARABLES).add(MItems.TRITANIUM_ARMOR)

	tagsProvider.items.Appender(ItemTags.HEAD_ARMOR)
		.add(MItems.TRITANIUM_HELMET)
		.add(MItems.SIMPLE_TRITANIUM_HELMET)

	tagsProvider.items.Appender(ItemTags.CHEST_ARMOR)
		.add(MItems.TRITANIUM_CHESTPLATE)
		.add(MItems.SIMPLE_TRITANIUM_CHESTPLATE)

	tagsProvider.items.Appender(ItemTags.LEG_ARMOR)
		.add(MItems.TRITANIUM_PANTS)
		.add(MItems.SIMPLE_TRITANIUM_PANTS)

	tagsProvider.items.Appender(ItemTags.FOOT_ARMOR)
		.add(MItems.TRITANIUM_BOOTS)
		.add(MItems.SIMPLE_TRITANIUM_BOOTS)

	tagsProvider.items.Appender(ItemTags.SWORDS)
		.add(MItems.TRITANIUM_SWORD)
		.add(MItems.ENERGY_SWORD)
		.add(MItems.FALLING_SUN)
		.add(MItems.WITHERED_STEEL_SWORD)

	tagsProvider.items.Appender(ItemTags.AXES).add(MItems.TRITANIUM_AXE)
	tagsProvider.items.Appender(ItemTags.PICKAXES).add(MItems.TRITANIUM_PICKAXE)
	tagsProvider.items.Appender(ItemTags.SHOVELS).add(MItems.TRITANIUM_SHOVEL)
	tagsProvider.items.Appender(ItemTags.HOES).add(MItems.TRITANIUM_HOE)
	tagsProvider.items.Appender(Tags.Items.TOOLS_SHEAR).add(MItems.TRITANIUM_SHEARS)
	tagsProvider.items.Appender(Tags.Items.TOOLS_SHIELD).add(MItems.TRITANIUM_SHIELD)

	tagsProvider.items.Appender(MItemTags.TOOLS_HAMMERS).add(MItems.EXPLOSIVE_HAMMER)
	tagsProvider.items.forge("tools").add(MItemTags.TOOLS_HAMMERS)

	tagsProvider.items.Appender(ItemTags.DURABILITY_ENCHANTABLE)
		.add(MItems.EXPLOSIVE_HAMMER)
		.add(MItems.TRITANIUM_SHEARS)
		.add(MItems.TRITANIUM_SHIELD)

	tagsProvider.items.Appender(ItemTags.MINING_ENCHANTABLE)
		.add(MItems.TRITANIUM_SHEARS)

	tagsProvider.items.Appender(ItemTags.EQUIPPABLE_ENCHANTABLE)
		.add(MItems.PORTABLE_GRAVITATION_STABILIZER)

	tagsProvider.items.Appender(ItemTags.VANISHING_ENCHANTABLE)
		.add(MItems.PORTABLE_GRAVITATION_STABILIZER)

}
