- 1,185
- 3
Не работает метод:
Почему?
Вот весь класс:
Код:
item.damageItem(5, player);
Почему?
Вот весь класс:
Код:
package com.svk.industrialGuns.item;
import java.util.List;
import com.svk.industrialGuns.base.CommonProxy;
import net.minecraft.client.renderer.texture.IIconRegister;
import net.minecraft.client.resources.I18n;
import net.minecraft.entity.EntityLivingBase;
import net.minecraft.entity.player.EntityPlayer;
import net.minecraft.item.Item;
import net.minecraft.item.ItemStack;
import net.minecraft.item.ItemSword;
import net.minecraft.util.DamageSource;
import cpw.mods.fml.relauncher.Side;
import cpw.mods.fml.relauncher.SideOnly;
public class Knife extends Item
{
public String name;
public int damage = 0;
public Knife(String name, boolean doubleSword, int maxDamage, int damage)
{
super();
if(doubleSword){this.maxStackSize = 2;}else{this.maxStackSize = 1;}
this.setMaxDamage(maxDamage);
this.setUnlocalizedName(name);
this.setCreativeTab(CommonProxy.TabOther);
this.name = name;
this.damage = damage;
}
@SideOnly(Side.CLIENT)
public void registerIcons(IIconRegister ir)
{
super.itemIcon = ir.registerIcon("industrialguns:" + name);
}
@Override
public boolean hitEntity(ItemStack item, EntityLivingBase entity, EntityLivingBase player)
{
if(entity instanceof EntityPlayer)
{
EntityPlayer entityPlayer = (EntityPlayer) entity;
int procent = 0;
for(int i = 0; i < 4; i++)
{
if(entityPlayer.getCurrentArmor(i) == null)
{
procent += 25;
}
}
if(procent > entity.worldObj.rand.nextInt(101))
{
entityPlayer.attackEntityFrom(DamageSource.causePlayerDamage((EntityPlayer) player), damage);
}
else
{
entityPlayer.getCurrentArmor((int) ((float) procent/25)).damageItem((int) ((float) damage/10) + 1, entityPlayer);;
}
}
else
{
entity.attackEntityFrom(DamageSource.causePlayerDamage((EntityPlayer) player), damage);
}
item.damageItem(5, player);
return true;
}
@Override
public void addInformation(ItemStack item, EntityPlayer par2EntityPlayer, List par3List, boolean par4)
{
par3List.add(I18n.format("Damage") + ": " + damage);
par3List.add(I18n.format("State") + ": " + (this.getMaxDamage() - this.getDamage(item)) + " / " + this.getMaxDamage());
}
}