package joshie.harvest.cooking.item;
import com.google.common.collect.Multimap;
import joshie.harvest.cooking.item.ItemUtensil.Utensil;
import joshie.harvest.core.HFTab;
import joshie.harvest.core.base.item.ItemHFEnum;
import net.minecraft.entity.SharedMonsterAttributes;
import net.minecraft.entity.ai.attributes.AttributeModifier;
import net.minecraft.inventory.EntityEquipmentSlot;
import net.minecraft.item.ItemStack;
import net.minecraft.util.IStringSerializable;
import java.util.Locale;
import static joshie.harvest.cooking.item.ItemUtensil.Utensil.KNIFE;
public class ItemUtensil extends ItemHFEnum<ItemUtensil, Utensil> {
public enum Utensil implements IStringSerializable {
BLADE, KNIFE;
@Override
public String getName() {
return name().toLowerCase(Locale.ENGLISH);
}
}
public ItemUtensil() {
super(HFTab.COOKING, Utensil.class);
}
@Override
public boolean shouldDisplayInCreative(Utensil utensil) {
return utensil == KNIFE;
}
@Override
@SuppressWarnings("deprecation")
public Multimap<String, AttributeModifier> getAttributeModifiers(EntityEquipmentSlot slot, ItemStack stack) {
if (getEnumFromStack(stack) != KNIFE) {
return super.getAttributeModifiers(slot, stack);
} else {
Multimap<String, AttributeModifier> multimap = super.getItemAttributeModifiers(slot);
if (slot == EntityEquipmentSlot.MAINHAND) {
multimap.put(SharedMonsterAttributes.ATTACK_DAMAGE.getAttributeUnlocalizedName(), new AttributeModifier(ATTACK_DAMAGE_MODIFIER, "Tool modifier", 2.0D, 0));
multimap.put(SharedMonsterAttributes.ATTACK_SPEED.getAttributeUnlocalizedName(), new AttributeModifier(ATTACK_SPEED_MODIFIER, "Tool modifier", -1D, 0));
}
return multimap;
}
}
}