More null stack fixes

This commit is contained in:
Nicholas Ignoffo 2017-02-19 16:06:29 -08:00
parent c682571be0
commit 5475549c18
10 changed files with 49 additions and 50 deletions

View file

@ -15,7 +15,7 @@ import net.minecraftforge.oredict.OreDictionary;
public class AlchemyTableRecipe
{
protected ItemStack output = null;
protected ItemStack output = ItemStack.EMPTY;
protected ArrayList<Object> input = new ArrayList<Object>();
@Getter
protected int lpDrained;
@ -97,11 +97,9 @@ public class AlchemyTableRecipe
{
ArrayList<Object> required = new ArrayList<Object>(input);
for (int x = 0; x < checkedList.size(); x++)
for (ItemStack slot : checkedList)
{
ItemStack slot = checkedList.get(x);
if (slot != null)
if (!slot.isEmpty())
{
boolean inRecipe = false;
@ -109,14 +107,12 @@ public class AlchemyTableRecipe
{
boolean match = false;
Object next = aRequired;
if (next instanceof ItemStack)
if (aRequired instanceof ItemStack)
{
match = OreDictionary.itemMatches((ItemStack) next, slot, false);
} else if (next instanceof List)
match = OreDictionary.itemMatches((ItemStack) aRequired, slot, false);
} else if (aRequired instanceof List)
{
Iterator<ItemStack> itr = ((List<ItemStack>) next).iterator();
Iterator<ItemStack> itr = ((List<ItemStack>) aRequired).iterator();
while (itr.hasNext() && !match)
{
match = OreDictionary.itemMatches(itr.next(), slot, false);
@ -126,7 +122,7 @@ public class AlchemyTableRecipe
if (match)
{
inRecipe = true;
required.remove(next);
required.remove(aRequired);
break;
}
}

View file

@ -29,15 +29,12 @@ public class PlayerDemonWillHandler
for (ItemStack stack : inventory)
{
if (stack != null)
if (stack.getItem() instanceof IDemonWill && ((IDemonWill) stack.getItem()).getType(stack) == type)
{
if (stack.getItem() instanceof IDemonWill && ((IDemonWill) stack.getItem()).getType(stack) == type)
{
souls += ((IDemonWill) stack.getItem()).getWill(type, stack);
} else if (stack.getItem() instanceof IDemonWillGem)
{
souls += ((IDemonWillGem) stack.getItem()).getWill(type, stack);
}
souls += ((IDemonWill) stack.getItem()).getWill(type, stack);
} else if (stack.getItem() instanceof IDemonWillGem)
{
souls += ((IDemonWillGem) stack.getItem()).getWill(type, stack);
}
}
@ -78,7 +75,7 @@ public class PlayerDemonWillHandler
boolean hasGem = false;
for (ItemStack stack : inventory)
{
if (stack != null && stack.getItem() instanceof IDemonWillGem)
if (stack.getItem() instanceof IDemonWillGem)
{
hasGem = true;
if (((IDemonWillGem) stack.getItem()).getWill(type, stack) < ((IDemonWillGem) stack.getItem()).getMaxWill(type, stack))
@ -145,11 +142,11 @@ public class PlayerDemonWillHandler
for (ItemStack stack : inventory)
{
if (stack != null && stack.getItem() instanceof IDemonWillGem)
if (stack.getItem() instanceof IDemonWillGem)
{
ItemStack newStack = ((IDemonWillGem) stack.getItem()).fillDemonWillGem(stack, willStack);
if (newStack == null)
return null;
if (newStack.isEmpty())
return ItemStack.EMPTY;
}
}
@ -176,7 +173,7 @@ public class PlayerDemonWillHandler
for (ItemStack stack : inventory)
{
if (stack != null && stack.getItem() instanceof IDemonWillGem)
if (stack.getItem() instanceof IDemonWillGem)
{
remaining -= ((IDemonWillGem) stack.getItem()).fillWill(type, stack, remaining, true);
if (remaining <= 0)
@ -209,7 +206,7 @@ public class PlayerDemonWillHandler
for (ItemStack stack : inventory)
{
if (stack != null && !stack.equals(ignored) && stack.getItem() instanceof IDemonWillGem)
if (!stack.equals(ignored) && stack.getItem() instanceof IDemonWillGem)
{
remaining -= ((IDemonWillGem) stack.getItem()).fillWill(type, stack, remaining, true);

View file

@ -17,15 +17,13 @@ public class InventoryHolding extends ItemInventory
public InventoryHolding(ItemStack itemStack)
{
super(itemStack, ItemSigilHolding.inventorySize, "SigilOfHolding");
// readFromNBT(itemStack.getTagCompound());
}
public void onGuiSaved(EntityPlayer entityPlayer)
{
masterStack = findParentStack(entityPlayer);
if (masterStack != null)
if (!masterStack.isEmpty())
{
save();
}
@ -50,7 +48,7 @@ public class InventoryHolding extends ItemInventory
}
}
return null;
return ItemStack.EMPTY;
}
public void save()

View file

@ -25,7 +25,7 @@ public class ItemInventory implements IInventory
this.name = name;
this.masterStack = masterStack;
if (masterStack != null)
if (!masterStack.isEmpty())
this.readFromStack(masterStack);
}
@ -150,13 +150,13 @@ public class ItemInventory implements IInventory
@Override
public ItemStack removeStackFromSlot(int slot)
{
if (inventory[slot] != null)
if (!inventory[slot].isEmpty())
{
ItemStack itemStack = inventory[slot];
setInventorySlotContents(slot, ItemStack.EMPTY);
return itemStack;
}
return null;
return ItemStack.EMPTY;
}
@Override

View file

@ -66,7 +66,7 @@ public class AlchemyTableDyeableRecipe extends AlchemyTableRecipe
ItemStack tagOrDyeStack = inputList.get(nameTagOrDyeLocation);
ItemStack inputStack = inputList.get(inputItemLocation);
if (inputStack == null || tagOrDyeStack == null)
if (inputStack.isEmpty() || tagOrDyeStack.isEmpty())
{
return output.copy();
}
@ -106,19 +106,27 @@ public class AlchemyTableDyeableRecipe extends AlchemyTableRecipe
boolean hasNameTagOrDye = false;
boolean hasInputItem = false;
for (ItemStack slot : checkedList) {
if (slot != null) {
for (ItemStack slot : checkedList)
{
if (!slot.isEmpty())
{
boolean match = OreDictionary.itemMatches(inputItem, slot, false);
if (match && hasInputItem) {
if (match && hasInputItem)
{
return false;
} else if (match) {
} else if (match)
{
hasInputItem = true;
} else {
if (slot.getItem() == Items.NAME_TAG || slot.getItem() == Items.DYE) {
if (hasNameTagOrDye) {
} else
{
if (slot.getItem() == Items.NAME_TAG || slot.getItem() == Items.DYE)
{
if (hasNameTagOrDye)
{
return false;
} else {
} else
{
hasNameTagOrDye = true;
}
}

View file

@ -127,7 +127,7 @@ public class TileMimic extends TileInventory implements ITickable
//The potion flask is empty, therefore we have to reset the stored potion.
if (!world.isRemote)
{
setInventorySlotContents(1, null);
setInventorySlotContents(1, ItemStack.EMPTY);
world.notifyBlockUpdate(pos, state, state, 3);
ChatUtil.sendNoSpam(player, new TextComponentTranslation("chat.bloodmagic.mimic.potionRemove"));
}

View file

@ -223,7 +223,7 @@ public class TileSoulForge extends TileInventory implements ITickable, IDemonWil
double souls = soul.drainWill(type, soulStack, requested);
if (soul.getWill(type, soulStack) <= 0)
{
setInventorySlotContents(soulSlot, null);
setInventorySlotContents(soulSlot, ItemStack.EMPTY);
}
return souls;
}

View file

@ -493,7 +493,7 @@ public class GenericHandler
{
for (ItemStack stack : player.inventory.mainInventory)
{
if (stack != null && stack.getItem() instanceof ItemExperienceBook)
if (stack.getItem() instanceof ItemExperienceBook)
{
ItemExperienceBook.addExperience(stack, event.getOrb().xpValue);
event.getOrb().xpValue = 0;

View file

@ -54,7 +54,7 @@ public class StatTrackerHandler
if (LivingArmour.hasFullSet(player))
{
ItemStack chestStack = player.getItemStackFromSlot(EntityEquipmentSlot.CHEST);
if (chestStack != null && chestStack.getItem() instanceof ItemLivingArmour)
if (chestStack.getItem() instanceof ItemLivingArmour)
{
LivingArmour armour = ItemLivingArmour.getLivingArmour(chestStack);
@ -133,7 +133,7 @@ public class StatTrackerHandler
} else
{
ItemStack chestStack = attackedPlayer.getItemStackFromSlot(EntityEquipmentSlot.CHEST);
if (chestStack != null && chestStack.getItem() instanceof ItemSentientArmour)
if (chestStack.getItem() instanceof ItemSentientArmour)
{
ItemSentientArmour armour = (ItemSentientArmour) chestStack.getItem();
armour.onPlayerAttacked(chestStack, source, attackedPlayer);
@ -165,7 +165,7 @@ public class StatTrackerHandler
if (player.getEntityWorld().getLight(player.getPosition()) <= 9)
StatTrackerNightSight.incrementCounter(armour, amount);
if (mainWeapon != null && mainWeapon.getItem() instanceof ItemSpade)
if (mainWeapon.getItem() instanceof ItemSpade)
StatTrackerGraveDigger.incrementCounter(armour, amount);
if (player.isSprinting())

View file

@ -48,7 +48,7 @@ public class WillHandler
public void onItemPickup(EntityItemPickupEvent event)
{
ItemStack stack = event.getItem().getEntityItem();
if (stack != null && stack.getItem() instanceof IDemonWill)
if (stack.getItem() instanceof IDemonWill)
{
EntityPlayer player = event.getEntityPlayer();
EnumDemonWillType pickupType = ((IDemonWill) stack.getItem()).getType(stack);
@ -98,7 +98,7 @@ public class WillHandler
{
EntityPlayer player = (EntityPlayer) entity;
ItemStack heldStack = player.getHeldItemMainhand();
if (heldStack != null && heldStack.getItem() instanceof IDemonWillWeapon && !player.getEntityWorld().isRemote)
if (heldStack.getItem() instanceof IDemonWillWeapon && !player.getEntityWorld().isRemote)
{
IDemonWillWeapon demonWillWeapon = (IDemonWillWeapon) heldStack.getItem();
List<ItemStack> droppedSouls = demonWillWeapon.getRandomDemonWillDrop(attackedEntity, player, heldStack, event.getLootingLevel());