NPE protection in the charge/tool modes

This commit is contained in:
Pahimar 2016-05-28 08:53:01 -04:00
parent 7966625965
commit 9e7f1cc910
5 changed files with 40 additions and 24 deletions

View file

@ -47,9 +47,13 @@ public class ItemDarkMatterAxe extends ItemToolModalEE implements IKeyBound, ICh
@Override
public short getChargeLevel(ItemStack itemStack)
{
if (NBTHelper.getShort(itemStack, Names.NBT.CHARGE_LEVEL) != null) {
return NBTHelper.getShort(itemStack, Names.NBT.CHARGE_LEVEL);
}
return 0;
}
@Override
public void setChargeLevel(ItemStack itemStack, short chargeLevel)
{
@ -62,18 +66,18 @@ public class ItemDarkMatterAxe extends ItemToolModalEE implements IKeyBound, ICh
@Override
public void increaseChargeLevel(ItemStack itemStack)
{
if (NBTHelper.getShort(itemStack, Names.NBT.CHARGE_LEVEL) < this.getMaxChargeLevel())
if (getChargeLevel(itemStack) < this.getMaxChargeLevel())
{
NBTHelper.setShort(itemStack, Names.NBT.CHARGE_LEVEL, (short) (NBTHelper.getShort(itemStack, Names.NBT.CHARGE_LEVEL) + 1));
NBTHelper.setShort(itemStack, Names.NBT.CHARGE_LEVEL, (short) (getChargeLevel(itemStack) + 1));
}
}
@Override
public void decreaseChargeLevel(ItemStack itemStack)
{
if (NBTHelper.getShort(itemStack, Names.NBT.CHARGE_LEVEL) > 0)
if (getChargeLevel(itemStack)> 0)
{
NBTHelper.setShort(itemStack, Names.NBT.CHARGE_LEVEL, (short) (NBTHelper.getShort(itemStack, Names.NBT.CHARGE_LEVEL) - 1));
NBTHelper.setShort(itemStack, Names.NBT.CHARGE_LEVEL, (short) (getChargeLevel(itemStack) - 1));
}
}

View file

@ -85,9 +85,13 @@ public class ItemDarkMatterHoe extends ItemHoe implements IKeyBound, IChargeable
@Override
public short getChargeLevel(ItemStack itemStack)
{
if (NBTHelper.getShort(itemStack, Names.NBT.CHARGE_LEVEL) != null) {
return NBTHelper.getShort(itemStack, Names.NBT.CHARGE_LEVEL);
}
return 0;
}
@Override
public void setChargeLevel(ItemStack itemStack, short chargeLevel)
{
@ -100,18 +104,18 @@ public class ItemDarkMatterHoe extends ItemHoe implements IKeyBound, IChargeable
@Override
public void increaseChargeLevel(ItemStack itemStack)
{
if (NBTHelper.getShort(itemStack, Names.NBT.CHARGE_LEVEL) < this.getMaxChargeLevel())
if (getChargeLevel(itemStack) < this.getMaxChargeLevel())
{
NBTHelper.setShort(itemStack, Names.NBT.CHARGE_LEVEL, (short) (NBTHelper.getShort(itemStack, Names.NBT.CHARGE_LEVEL) + 1));
NBTHelper.setShort(itemStack, Names.NBT.CHARGE_LEVEL, (short) (getChargeLevel(itemStack) + 1));
}
}
@Override
public void decreaseChargeLevel(ItemStack itemStack)
{
if (NBTHelper.getShort(itemStack, Names.NBT.CHARGE_LEVEL) > 0)
if (getChargeLevel(itemStack) > 0)
{
NBTHelper.setShort(itemStack, Names.NBT.CHARGE_LEVEL, (short) (NBTHelper.getShort(itemStack, Names.NBT.CHARGE_LEVEL) - 1));
NBTHelper.setShort(itemStack, Names.NBT.CHARGE_LEVEL, (short) (getChargeLevel(itemStack) - 1));
}
}
@ -162,7 +166,7 @@ public class ItemDarkMatterHoe extends ItemHoe implements IKeyBound, IChargeable
@Override
public ToolMode getCurrentToolMode(ItemStack itemStack)
{
if (NBTHelper.getShort(itemStack, Names.NBT.MODE) < ToolMode.TYPES.length)
if (NBTHelper.getShort(itemStack, Names.NBT.MODE) != null && NBTHelper.getShort(itemStack, Names.NBT.MODE) < ToolMode.TYPES.length)
{
return ToolMode.TYPES[NBTHelper.getShort(itemStack, Names.NBT.MODE)];
}

View file

@ -78,9 +78,13 @@ public class ItemDarkMatterPickAxe extends ItemToolModalEE implements IKeyBound,
@Override
public short getChargeLevel(ItemStack itemStack)
{
if (NBTHelper.getShort(itemStack, Names.NBT.CHARGE_LEVEL) != null) {
return NBTHelper.getShort(itemStack, Names.NBT.CHARGE_LEVEL);
}
return 0;
}
@Override
public void setChargeLevel(ItemStack itemStack, short chargeLevel)
{
@ -93,18 +97,18 @@ public class ItemDarkMatterPickAxe extends ItemToolModalEE implements IKeyBound,
@Override
public void increaseChargeLevel(ItemStack itemStack)
{
if (NBTHelper.getShort(itemStack, Names.NBT.CHARGE_LEVEL) < this.getMaxChargeLevel())
if (getChargeLevel(itemStack) < this.getMaxChargeLevel())
{
NBTHelper.setShort(itemStack, Names.NBT.CHARGE_LEVEL, (short) (NBTHelper.getShort(itemStack, Names.NBT.CHARGE_LEVEL) + 1));
NBTHelper.setShort(itemStack, Names.NBT.CHARGE_LEVEL, (short) (getChargeLevel(itemStack) + 1));
}
}
@Override
public void decreaseChargeLevel(ItemStack itemStack)
{
if (NBTHelper.getShort(itemStack, Names.NBT.CHARGE_LEVEL) > 0)
if (getChargeLevel(itemStack) > 0)
{
NBTHelper.setShort(itemStack, Names.NBT.CHARGE_LEVEL, (short) (NBTHelper.getShort(itemStack, Names.NBT.CHARGE_LEVEL) - 1));
NBTHelper.setShort(itemStack, Names.NBT.CHARGE_LEVEL, (short) (getChargeLevel(itemStack) - 1));
}
}

View file

@ -45,11 +45,15 @@ public class ItemDarkMatterShovel extends ItemToolModalEE implements IKeyBound,
}
@Override
public short getChargeLevel(ItemStack itemStack)
{
public short getChargeLevel(ItemStack itemStack) {
if (NBTHelper.getShort(itemStack, Names.NBT.CHARGE_LEVEL) != null) {
return NBTHelper.getShort(itemStack, Names.NBT.CHARGE_LEVEL);
}
return 0;
}
@Override
public void setChargeLevel(ItemStack itemStack, short chargeLevel)
{
@ -62,18 +66,18 @@ public class ItemDarkMatterShovel extends ItemToolModalEE implements IKeyBound,
@Override
public void increaseChargeLevel(ItemStack itemStack)
{
if (NBTHelper.getShort(itemStack, Names.NBT.CHARGE_LEVEL) < this.getMaxChargeLevel())
if (getChargeLevel(itemStack) < this.getMaxChargeLevel())
{
NBTHelper.setShort(itemStack, Names.NBT.CHARGE_LEVEL, (short) (NBTHelper.getShort(itemStack, Names.NBT.CHARGE_LEVEL) + 1));
NBTHelper.setShort(itemStack, Names.NBT.CHARGE_LEVEL, (short) (getChargeLevel(itemStack) + 1));
}
}
@Override
public void decreaseChargeLevel(ItemStack itemStack)
{
if (NBTHelper.getShort(itemStack, Names.NBT.CHARGE_LEVEL) > 0)
if (getChargeLevel(itemStack) > 0)
{
NBTHelper.setShort(itemStack, Names.NBT.CHARGE_LEVEL, (short) (NBTHelper.getShort(itemStack, Names.NBT.CHARGE_LEVEL) - 1));
NBTHelper.setShort(itemStack, Names.NBT.CHARGE_LEVEL, (short) (getChargeLevel(itemStack) - 1));
}
}

View file

@ -26,7 +26,7 @@ public class ItemToolModalEE extends ItemToolEE implements IModalTool
@Override
public ToolMode getCurrentToolMode(ItemStack itemStack)
{
if (NBTHelper.getShort(itemStack, Names.NBT.MODE) < ToolMode.TYPES.length)
if (NBTHelper.getShort(itemStack, Names.NBT.MODE) != null && NBTHelper.getShort(itemStack, Names.NBT.MODE) < ToolMode.TYPES.length)
{
return ToolMode.TYPES[NBTHelper.getShort(itemStack, Names.NBT.MODE)];
}