package net.paladrill.paladrillmod.item; import net.paladrill.paladrillmod.creativetab.TabPalaDrillMod; import net.paladrill.paladrillmod.ElementsPaladrillmodMod; import net.minecraftforge.fml.relauncher.SideOnly; import net.minecraftforge.fml.relauncher.Side; import net.minecraftforge.fml.common.registry.GameRegistry; import net.minecraftforge.common.util.EnumHelper; import net.minecraftforge.client.model.ModelLoader; import net.minecraftforge.client.event.ModelRegistryEvent; import net.minecraft.item.ItemSword; import net.minecraft.item.ItemStack; import net.minecraft.item.Item; import net.minecraft.inventory.EntityEquipmentSlot; import net.minecraft.entity.ai.attributes.AttributeModifier; import net.minecraft.entity.SharedMonsterAttributes; import net.minecraft.client.renderer.block.model.ModelResourceLocation; import java.util.Set; import java.util.HashMap; import com.google.common.collect.Multimap; @ElementsPaladrillmodMod.ModElement.Tag public class ItemEndiumSword extends ElementsPaladrillmodMod.ModElement { @GameRegistry.ObjectHolder("paladrillmod:endiumsword") public static final Item block = null; public ItemEndiumSword(ElementsPaladrillmodMod instance) { super(instance, 39); } @Override public void initElements() { elements.items.add(() -> new ItemSword(EnumHelper.addToolMaterial("ENDIUMSWORD", 5, 4595, 11f, 8f, 25)) { @Override public Multimap getItemAttributeModifiers(EntityEquipmentSlot slot) { Multimap multimap = super.getItemAttributeModifiers(slot); if (slot == EntityEquipmentSlot.MAINHAND) { multimap.put(SharedMonsterAttributes.ATTACK_DAMAGE.getName(), new AttributeModifier(ATTACK_DAMAGE_MODIFIER, "Weapon modifier", (double) this.getAttackDamage(), 0)); multimap.put(SharedMonsterAttributes.ATTACK_SPEED.getName(), new AttributeModifier(ATTACK_SPEED_MODIFIER, "Weapon modifier", -2, 0)); } return multimap; } public Set getToolClasses(ItemStack stack) { HashMap ret = new HashMap(); ret.put("sword", 5); return ret.keySet(); } }.setUnlocalizedName("endiumsword").setRegistryName("endiumsword").setCreativeTab(TabPalaDrillMod.tab)); } @SideOnly(Side.CLIENT) @Override public void registerModels(ModelRegistryEvent event) { ModelLoader.setCustomModelResourceLocation(block, 0, new ModelResourceLocation("paladrillmod:endiumsword", "inventory")); } }