Помогите убрать код,который запрещает луку стрелять если стрел нет в определенном слоте.
Вот код:
Вот код:
Java:
public class ContainerPlayerRpg extends Container{
private final EntityPlayer thePlayer;
private final RpgPlayer rpgPlayer;
public final InventoryBasic inventoryBackpack;
public ContainerPlayerRpg(InventoryPlayer inventory, EntityPlayer player){
thePlayer = player;
rpgPlayer = RpgPlayer.forPlayer(player);
inventoryBackpack = new InventoryBasic("Backpack", true, 16);
for(int i = 0; i < 4; ++i){
addSlotToContainer(new SlotArmor(inventory, thePlayer, inventory.getSizeInventory() - 1 - i, 10, 8 + i * 17, i));
}
for(int i = 0; i < 4; ++i){
for(int j = 0; j < 5; ++j){
addSlotToContainer(new Slot(inventory, j + (i + 1) * 5 + 4, 82 + j * 18, 9 + i * 18));
}
}
for(int i = 0; i < 9; ++i){
addSlotToContainer(new Slot(inventory, i, 10 + i * 18, 95));
}
addSlotToContainer(new SlotBauble(this, player, rpgPlayer.baublesInventory, 0, 61, 8, EnumBaubleType.AMULET));
addSlotToContainer(new SlotBauble(this, player, rpgPlayer.baublesInventory, 1, 61, 25, EnumBaubleType.RING));
addSlotToContainer(new SlotBauble(this, player, rpgPlayer.baublesInventory, 2, 61, 42, EnumBaubleType.RING));
addSlotToContainer(new SlotBauble(this, player, rpgPlayer.baublesInventory, 3, 61, 59, EnumBaubleType.BACKPACK));
addSlotToContainer(new SlotBauble(this, player, rpgPlayer.baublesInventory, 5, 27, 76, EnumBaubleType.SHOULDER));
addSlotToContainer(new SlotBauble(this, player, rpgPlayer.baublesInventory, 6, 44, 76, EnumBaubleType.GLOVE));
addSlotToContainer(new Slot(rpgPlayer.baublesInventory, 4, 61, 76){
public boolean isItemValid(ItemStack itemStack){
return itemStack != null && itemStack.getItem() == Items.arrow;
}
});
for(int i = 0; i < 4; ++i){
for(int j = 0; j < 4; ++j){
addSlotToContainer(new Slot(inventoryBackpack, j + i * 4, Integer.MAX_VALUE, Integer.MAX_VALUE));
}
}
ItemBackpack.loadItems(player, inventorySlots.subList(40, 40 + 16), inventoryBackpack, rpgPlayer.baublesInventory.getStackInSlot(3));
}
public boolean canInteractWith(EntityPlayer p_75145_1_){
return true;
}
public void onContainerClosed(EntityPlayer player){
super.onContainerClosed(player);
ItemBackpack.saveItems(player, null, inventoryBackpack, rpgPlayer.baublesInventory.getStackInSlot(3), true);
}
public ItemStack transferStackInSlot(EntityPlayer player, int slotIndex){
ItemStack itemStack = null;
Slot slot = getSlot(slotIndex);
if(slot != null && slot.getHasStack()){
ItemStack slotStack = slot.getStack();
itemStack = slotStack.copy();
if(slotIndex >= 0 && slotIndex < 4){
if(!mergeItemStack(slotStack, 4, 33, false)){
return null;
}
}else if(slotIndex >= 33 && slotIndex < 40){
if(!mergeItemStack(slotStack, 4, 33, false)){
return null;
}
}else if(itemStack.getItem() == Items.arrow){
if(!mergeItemStack(slotStack, 39, 40, false)){
return null;
}
}else if(itemStack.getItem() instanceof ItemArmor){
ItemArmor armor = (ItemArmor)itemStack.getItem();
Slot armorSlot = getSlot(armor.armorType);
if(!armorSlot.getHasStack()){
if(!mergeItemStack(slotStack, armor.armorType, armor.armorType + 1, false)){
return null;
}
}
}else if(itemStack.getItem() instanceof IBauble){
IBauble armor = (IBauble)itemStack.getItem();
int index = -1;
for(int i = 33; i < 39; i++){
SlotBauble baubleSlot = (SlotBauble)getSlot(i);
if(!baubleSlot.getHasStack() && armor.getType(itemStack) == baubleSlot.getType()){
index = i;
break;
}
}
if(index != -1){
Slot armorSlot = getSlot(index);
if(!armorSlot.getHasStack()){
if(!mergeItemStack(slotStack, index, index + 1, false)){
return null;
}
}
}
}else if(slotIndex >= 4 && slotIndex < 24){
if(!mergeItemStack(slotStack, 24, 33, false)){
return null;
}
}else if(slotIndex >= 24 && slotIndex < 33){
if(!mergeItemStack(slotStack, 4, 24, false)){
return null;
}
}else if(!mergeItemStack(slotStack, 4, 33, false)){
return null;
}
// if(slotIndex > 3){
// if(!mergeItemStack(slotStack, 4, 33, false)){
// return null;
// }
// }
if(slotStack.stackSize == 0){
slot.putStack(null);
}else{
slot.onSlotChanged();
}
if(slotStack.stackSize == itemStack.stackSize){
return null;
}
slot.onPickupFromSlot(player, slotStack);
}
return itemStack;
}