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

import ru.dbotthepony.mc.otm.registry.game.MBlocks
import ru.dbotthepony.mc.otm.registry.MItemTags
import ru.dbotthepony.mc.otm.registry.game.MItems

fun addResourceTags(tagsProvider: TagsProvider) {
	tagsProvider.circuits.add("basic", MItems.BASIC_CONTROL_CIRCUIT)
	tagsProvider.circuits.add("advanced", MItems.ADVANCED_CONTROL_CIRCUIT)

	tagsProvider.stoneOre("tritanium", MBlocks.TRITANIUM_ORE)
	tagsProvider.stoneOre("dilithium", MBlocks.DILITHIUM_ORE)

	tagsProvider.deepslateOre("tritanium", MBlocks.DEEPSLATE_TRITANIUM_ORE)
	tagsProvider.deepslateOre("dilithium", MBlocks.DEEPSLATE_DILITHIUM_ORE)

	tagsProvider.plates.add("tritanium", MItems.TRITANIUM_PLATE)
	tagsProvider.plates.add("iron", MItems.IRON_PLATE)
	tagsProvider.plates.add("gold", MItems.GOLD_PLATE)
	tagsProvider.plates.add("carbon", MItems.CARBON_MESH)

	tagsProvider.dusts.add("tritanium", MItems.TRITANIUM_DUST)
	tagsProvider.ingots.add("tritanium", MItems.TRITANIUM_INGOT)
	tagsProvider.ingots.add("withered_steel", MItems.WITHERED_STEEL)
	tagsProvider.ingots.add("roflite_alloy", MItems.ROFLITE_ALLOY_INGOT)

	tagsProvider.wires.add("copper", MItems.COPPER_WIRING)
	tagsProvider.wires.add("gold", MItems.GOLD_WIRING)

	tagsProvider.items.Appender(MItemTags.TRITANIUM_NUGGETS).add(MItems.TRITANIUM_NUGGET)
	tagsProvider.items.Appender(MItemTags.NUGGETS).add(MItems.TRITANIUM_NUGGET)

	tagsProvider.items.forge("reinforced_tritanium").add(MItems.REINFORCED_TRITANIUM_PLATE)

	tagsProvider.storageBlocksAsItem.add("tritanium", MItems.TRITANIUM_INGOT_BLOCK)
	tagsProvider.storageBlocksAsBlock.add("tritanium", MBlocks.TRITANIUM_INGOT_BLOCK)
	tagsProvider.storageBlocksAsItem.add("withered_steel", MItems.WITHERED_STEEL_BLOCK)
	tagsProvider.storageBlocksAsBlock.add("withered_steel", MBlocks.WITHERED_STEEL_BLOCK)
	tagsProvider.storageBlocksAsItem.add("roflite_alloy", MItems.ROFLITE_ALLOY_BLOCK)
	tagsProvider.storageBlocksAsBlock.add("roflite_alloy", MBlocks.ROFLITE_ALLOY_BLOCK)

	tagsProvider.singleDropOre(
		MBlocks.TRITANIUM_ORE,
		MBlocks.DEEPSLATE_TRITANIUM_ORE
	)

	tagsProvider.denseDropOre(
		MBlocks.DILITHIUM_ORE,
		MBlocks.DEEPSLATE_DILITHIUM_ORE,
	)

	tagsProvider.clump("tritanium", MItems.TRITANIUM_ORE_CLUMP, MBlocks.TRITANIUM_RAW_BLOCK)

	tagsProvider.gems.add(MItems.DILITHIUM_CRYSTAL)

	tagsProvider.storageBlocksAsItem.add("dilithium", MItems.DILITHIUM_CRYSTAL_BLOCK)
	tagsProvider.storageBlocksAsBlock.add("dilithium", MBlocks.DILITHIUM_CRYSTAL_BLOCK)

	tagsProvider.items.forge("gems/dilithium").add(MItems.DILITHIUM_CRYSTAL)

}
