- 713
- 10
- 52
Короче, я сделал слоты для брони.
SlotArmor
Так же обьявляю их в своем гуи.
Но когда ложу броню в слоты, она отображаться не хочет.
SlotArmor
Код:
package rpgInventory.gui.rpginv;
import net.minecraft.entity.player.EntityPlayer;
import net.minecraft.inventory.IInventory;
import net.minecraft.inventory.Slot;
import net.minecraft.item.Item;
import net.minecraft.item.ItemArmor;
import net.minecraft.item.ItemStack;
import net.minecraft.util.IIcon;
import cpw.mods.fml.relauncher.Side;
import cpw.mods.fml.relauncher.SideOnly;
public class SlotArmor extends Slot {
/**
* The armor type that can be placed on that slot, it uses the same values
* of armorType field on ItemArmor.
*/
final int armorType;
/**
* The parent class of this slot, ContainerPlayer, SlotArmor is a Anon inner
* class.
*/
final EntityPlayer player;
public SlotArmor(EntityPlayer player, IInventory inventory, int slot,
int x, int y, int armorType) {
super(inventory, slot, x, y);
this.player = player;
this.armorType = armorType;
}
@Override
public int getSlotStackLimit() {
return 1;
}
@Override
public boolean isItemValid(ItemStack stack) {
Item item = (stack == null ? null : stack.getItem());
return item != null && item.isValidArmor(stack, armorType, player);
}
@Override
@SideOnly(Side.CLIENT)
public IIcon getBackgroundIconIndex() {
return ItemArmor.func_94602_b(this.armorType);
}
}
Код:
this.addSlotToContainer(new SlotArmor(player, inv, 0, 6, 16, windowId));
this.addSlotToContainer(new SlotArmor(player, inv, 1, 6, 37, windowId));
this.addSlotToContainer(new SlotArmor(player, inv, 2, 82, 16, windowId));
this.addSlotToContainer(new SlotArmor(player, inv, 3, 82, 38, windowId));
Но когда ложу броню в слоты, она отображаться не хочет.