Added null check to Quantum Gate methods preventing crash

This commit is contained in:
Calclavia 2014-03-10 08:08:00 +08:00
parent 27a32e97eb
commit 138167c235

View file

@ -391,6 +391,8 @@ public class PartQuantumGlyph extends JCuboidPart implements TSlottedPart, JNorm
@Override @Override
public ItemStack getStackInSlot(int i) public ItemStack getStackInSlot(int i)
{ {
if (getInventory() == null)
return null;
return getInventory().getStackInSlot(i); return getInventory().getStackInSlot(i);
} }
@ -402,11 +404,11 @@ public class PartQuantumGlyph extends JCuboidPart implements TSlottedPart, JNorm
public void incrStackSize(int slot, ItemStack itemStack) public void incrStackSize(int slot, ItemStack itemStack)
{ {
if (this.getStackInSlot(slot) == null) if (getStackInSlot(slot) == null)
{ {
setInventorySlotContents(slot, itemStack.copy()); setInventorySlotContents(slot, itemStack.copy());
} }
else if (this.getStackInSlot(slot).isItemEqual(itemStack)) else if (getStackInSlot(slot).isItemEqual(itemStack))
{ {
getStackInSlot(slot).stackSize += itemStack.stackSize; getStackInSlot(slot).stackSize += itemStack.stackSize;
} }
@ -417,13 +419,16 @@ public class PartQuantumGlyph extends JCuboidPart implements TSlottedPart, JNorm
@Override @Override
public ItemStack getStackInSlotOnClosing(int i) public ItemStack getStackInSlotOnClosing(int i)
{ {
if (getInventory() == null)
return null;
return this.getInventory().getStackInSlotOnClosing(i); return this.getInventory().getStackInSlotOnClosing(i);
} }
@Override @Override
public void setInventorySlotContents(int i, ItemStack itemStack) public void setInventorySlotContents(int i, ItemStack itemStack)
{ {
this.getInventory().setInventorySlotContents(i, itemStack); if (getInventory() != null)
this.getInventory().setInventorySlotContents(i, itemStack);
} }
@Override @Override
@ -441,62 +446,72 @@ public class PartQuantumGlyph extends JCuboidPart implements TSlottedPart, JNorm
@Override @Override
public int getInventoryStackLimit() public int getInventoryStackLimit()
{ {
if (getInventory() == null)
return 0;
return this.getInventory().getInventoryStackLimit(); return this.getInventory().getInventoryStackLimit();
} }
@Override @Override
public boolean isUseableByPlayer(EntityPlayer entityplayer) public boolean isUseableByPlayer(EntityPlayer entityplayer)
{ {
if (getInventory() == null)
return false;
return this.getInventory().isUseableByPlayer(entityplayer); return this.getInventory().isUseableByPlayer(entityplayer);
} }
@Override @Override
public void openChest() public void openChest()
{ {
this.getInventory().openChest();
} }
@Override @Override
public void closeChest() public void closeChest()
{ {
this.getInventory().closeChest();
} }
@Override @Override
public boolean isItemValidForSlot(int i, ItemStack itemstack) public boolean isItemValidForSlot(int i, ItemStack itemstack)
{ {
if (getInventory() == null)
return false;
return getInventory().isItemValidForSlot(i, itemstack); return getInventory().isItemValidForSlot(i, itemstack);
} }
@Override @Override
public int[] getAccessibleSlotsFromSide(int var1) public int[] getAccessibleSlotsFromSide(int var1)
{ {
if (getInventory() == null)
return new int[0];
return getInventory().getAccessibleSlotsFromSide(var1); return getInventory().getAccessibleSlotsFromSide(var1);
} }
@Override @Override
public boolean canInsertItem(int i, ItemStack itemstack, int j) public boolean canInsertItem(int i, ItemStack itemstack, int j)
{ {
if (getInventory() == null)
return false;
return getInventory().canInsertItem(i, itemstack, j); return getInventory().canInsertItem(i, itemstack, j);
} }
@Override @Override
public boolean canExtractItem(int i, ItemStack itemstack, int j) public boolean canExtractItem(int i, ItemStack itemstack, int j)
{ {
if (getInventory() == null)
return false;
return getInventory().canExtractItem(i, itemstack, j); return getInventory().canExtractItem(i, itemstack, j);
} }
@Override @Override
public boolean canStore(ItemStack stack, int slot, ForgeDirection side) public boolean canStore(ItemStack stack, int slot, ForgeDirection side)
{ {
return true; return getInventory() != null;
} }
@Override @Override
public boolean canRemove(ItemStack stack, int slot, ForgeDirection side) public boolean canRemove(ItemStack stack, int slot, ForgeDirection side)
{ {
return true; return getInventory() != null;
} }
@Override @Override