package com.acethewildfire.acesbs.item;

import com.acethewildfire.acesbs.item.custom.HammerItem;
import com.acethewildfire.acesbs.item.custom.ModArmorItem;
import net.minecraft.item.*;
import net.minecraft.item.equipment.EquipmentType;

public class FractalDiamondItems {

    public static final Item FRACTAL_DIAMOND = ModItems.registerItem("fractal_diamond", Item::new);
    public static final Item FRACTAL_DIAMOND_SWORD = ModItems.registerItem("fractal_diamond_sword",
            setting -> new Item(setting.sword(ModToolMaterials.FRACTAL_DIAMOND, 3, -2.4f)));
    public static final Item FRACTAL_DIAMOND_SHOVEL = ModItems.registerItem("fractal_diamond_shovel",
            setting -> new ShovelItem(ModToolMaterials.FRACTAL_DIAMOND, 1.5F, -3.0F, setting));
    public static final Item FRACTAL_DIAMOND_PICKAXE = ModItems.registerItem("fractal_diamond_pickaxe",
            setting -> new Item(setting.pickaxe(ModToolMaterials.FRACTAL_DIAMOND, 1.0F, -2.8F)));
    public static final Item FRACTAL_DIAMOND_HAMMER = ModItems.registerItem("fractal_diamond_hammer",
            setting -> new HammerItem(ModToolMaterials.FRACTAL_DIAMOND, 7.0F, -3.4F, setting.maxDamage(12863)));
    public static final Item FRACTAL_DIAMOND_AXE = ModItems.registerItem("fractal_diamond_axe",
            setting -> new AxeItem(ModToolMaterials.FRACTAL_DIAMOND, 6.0F, -3.1F, setting));
    public static final Item FRACTAL_DIAMOND_HOE = ModItems.registerItem("fractal_diamond_hoe",
            setting -> new HoeItem(ModToolMaterials.FRACTAL_DIAMOND, -2.0F, -1.0F, setting));
    public static final Item FRACTAL_DIAMOND_HELMET = ModItems.registerItem("fractal_diamond_helmet",
            setting -> new ModArmorItem(setting
                    .armor(ModArmorMaterials.FRACTAL_DIAMOND_ARMOR_MATERIAL, EquipmentType.HELMET)
                    .maxDamage(EquipmentType.HELMET.getMaxDamage(15))));
    public static final Item FRACTAL_DIAMOND_CHESTPLATE = ModItems.registerItem("fractal_diamond_chestplate",
            setting -> new ModArmorItem(setting
                    .armor(ModArmorMaterials.FRACTAL_DIAMOND_ARMOR_MATERIAL, EquipmentType.CHESTPLATE)
                    .maxDamage(EquipmentType.CHESTPLATE.getMaxDamage(15))));
    public static final Item FRACTAL_DIAMOND_LEGGINGS = ModItems.registerItem("fractal_diamond_leggings",
            setting -> new ModArmorItem(setting
                    .armor(ModArmorMaterials.FRACTAL_DIAMOND_ARMOR_MATERIAL, EquipmentType.LEGGINGS)
                    .maxDamage(EquipmentType.LEGGINGS.getMaxDamage(15))));
    public static final Item FRACTAL_DIAMOND_BOOTS = ModItems.registerItem("fractal_diamond_boots",
            setting -> new ModArmorItem(setting
                    .armor(ModArmorMaterials.FRACTAL_DIAMOND_ARMOR_MATERIAL, EquipmentType.BOOTS)
                    .maxDamage(EquipmentType.BOOTS.getMaxDamage(15))));
//    public static final Item FRACTAL_SMITHING_TEMPLATE = ModItems.registerItem("fractal_armor_trim_smithing_template",
//            SmithingTemplateItem::of);

    public static void registerFractalItems() {
        // Do nothing, this just makes sure the items get registered
    }
}
