- 929
- 30
- 66
Всем привет.
Что за проблема в этом коде , что когда одеваю предмет и потом снимаю сразу краш
Что за проблема в этом коде , что когда одеваю предмет и потом снимаю сразу краш
Java:
public class CustomSlot extends Slot {
private final EntityPlayer player;
public CustomSlot(EntityPlayer player, IInventory inventory, int slotIndex, int xPos, int yPos) {
super(inventory, slotIndex, xPos, yPos);
this.player = player;
}
//При доставании из слота.
@Override
public void onPickupFromSlot(EntityPlayer player, ItemStack itemStack) {
this.onSlotChanged();
if (!this.player.worldObj.isRemote)
if (this.getSlotIndex() == 1 /*индекс твоего слота*/ && this.getStack().getItem() != Items.chainmail_helmet) {
//Если после клика в слоте другой предмет - удаление эффекта.
player.removePotionEffect(Potion.nightVision.id);
}
}
//При добавлении в слот.
@Override
public void putStack(ItemStack itemStack) {
this.inventory.setInventorySlotContents(this.getSlotIndex(), itemStack);
this.onSlotChanged();
if (!this.player.worldObj.isRemote)
if (this.getSlotIndex() == 1 /* индекс твоего слота */&& this.getStack().getItem() == Items.chainmail_helmet) {
//Если после клика в слоте нужный предмет - добавление эффекта
this.player.addPotionEffect(new PotionEffect(Potion.nightVision.id, 24000));
}
else if (this.getSlotIndex() == 1 && this.getStack().getItem() != Items.chainmail_helmet) {
//Если после клика в слоте другой предмет - удаление эффекта
this.player.removePotionEffect(Potion.nightVision.id);
}
}
}
Последнее редактирование: