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,7 +47,11 @@ public class ItemDarkMatterAxe extends ItemToolModalEE implements IKeyBound, ICh
@Override
public short getChargeLevel(ItemStack itemStack)
{
return NBTHelper.getShort(itemStack, Names.NBT.CHARGE_LEVEL);
if (NBTHelper.getShort(itemStack, Names.NBT.CHARGE_LEVEL) != null) {
return NBTHelper.getShort(itemStack, Names.NBT.CHARGE_LEVEL);
}
return 0;
}
@Override
@ -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,7 +85,11 @@ public class ItemDarkMatterHoe extends ItemHoe implements IKeyBound, IChargeable
@Override
public short getChargeLevel(ItemStack itemStack)
{
return NBTHelper.getShort(itemStack, Names.NBT.CHARGE_LEVEL);
if (NBTHelper.getShort(itemStack, Names.NBT.CHARGE_LEVEL) != null) {
return NBTHelper.getShort(itemStack, Names.NBT.CHARGE_LEVEL);
}
return 0;
}
@Override
@ -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,7 +78,11 @@ public class ItemDarkMatterPickAxe extends ItemToolModalEE implements IKeyBound,
@Override
public short getChargeLevel(ItemStack itemStack)
{
return NBTHelper.getShort(itemStack, Names.NBT.CHARGE_LEVEL);
if (NBTHelper.getShort(itemStack, Names.NBT.CHARGE_LEVEL) != null) {
return NBTHelper.getShort(itemStack, Names.NBT.CHARGE_LEVEL);
}
return 0;
}
@Override
@ -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,9 +45,13 @@ public class ItemDarkMatterShovel extends ItemToolModalEE implements IKeyBound,
}
@Override
public short getChargeLevel(ItemStack itemStack)
{
return NBTHelper.getShort(itemStack, Names.NBT.CHARGE_LEVEL);
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
@ -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)];
}