- 47
- 4
- 8
Всем привет. Возник такой вопрос. Как это сделать ?
Вроде изучил класс ItemArmor и так и не понял как написать данный код...
Нужно чтоб предмет находящийся в инвентаре давал пассивный эффект защиты на 1 щиток.
Вроде изучил класс ItemArmor и так и не понял как написать данный код...
Нужно чтоб предмет находящийся в инвентаре давал пассивный эффект защиты на 1 щиток.
Java:
public class LoreRing extends Item {
public LoreRing(String name, String texture) {
this.setMaxStackSize(1);
this.setTextureName(main.MODID + ":" + texture);
this.setCreativeTab(CreativeTabs.tabCombat);
this.setUnlocalizedName(name);
GameRegistry.registerItem(this, name);
}
// Наложить на предмет эффект зачарования
@SideOnly(Side.CLIENT)
public boolean hasEffect (ItemStack par1ItemStack){
return true;
}
// Название предмета
@SideOnly(Side.CLIENT)
public EnumRarity getRarity (ItemStack par1ItemStack){
return EnumRarity.rare;
}
public void addInformation (ItemStack par1ItemStack, EntityPlayer par2EntityPlayer, List par3List,boolean par4){
par3List.add(StatCollector.translateToLocal("Очень странное кольцо, да..."));
}
public void onUpdate (ItemStack par1ItemStack, World par2World, Entity par3Entity,int par4, boolean par5){
super.onUpdate(par1ItemStack, par2World, par3Entity, par4, par5);
EntityPlayer player = (EntityPlayer) par3Entity;
for (int i = 0; i < 9; ++i) {
if (player.inventory.getStackInSlot(i) == par1ItemStack) {
this.doEffect(player, par1ItemStack);
break;
}
}
}
public void doEffect (EntityPlayer player, ItemStack item){
player.addPotionEffect(new PotionEffect(Potion.digSpeed.id, 0, 0));
player.addPotionEffect(new PotionEffect(Potion.heal.id, 0, 0));
}
}