More null stack fixes
This commit is contained in:
parent
c682571be0
commit
5475549c18
|
@ -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;
|
||||
}
|
||||
}
|
||||
|
|
|
@ -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);
|
||||
|
||||
|
|
|
@ -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()
|
||||
|
|
|
@ -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
|
||||
|
|
|
@ -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;
|
||||
}
|
||||
}
|
||||
|
|
|
@ -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"));
|
||||
}
|
||||
|
|
|
@ -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;
|
||||
}
|
||||
|
|
|
@ -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;
|
||||
|
|
|
@ -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())
|
||||
|
|
|
@ -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());
|
||||
|
|
Loading…
Reference in a new issue