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 @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 NBTHelper.getShort(itemStack, Names.NBT.CHARGE_LEVEL);
} }
return 0;
}
@Override @Override
public void setChargeLevel(ItemStack itemStack, short chargeLevel) public void setChargeLevel(ItemStack itemStack, short chargeLevel)
{ {
@ -62,18 +66,18 @@ public class ItemDarkMatterAxe extends ItemToolModalEE implements IKeyBound, ICh
@Override @Override
public void increaseChargeLevel(ItemStack itemStack) 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 @Override
public void decreaseChargeLevel(ItemStack itemStack) 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 @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 NBTHelper.getShort(itemStack, Names.NBT.CHARGE_LEVEL);
} }
return 0;
}
@Override @Override
public void setChargeLevel(ItemStack itemStack, short chargeLevel) public void setChargeLevel(ItemStack itemStack, short chargeLevel)
{ {
@ -100,18 +104,18 @@ public class ItemDarkMatterHoe extends ItemHoe implements IKeyBound, IChargeable
@Override @Override
public void increaseChargeLevel(ItemStack itemStack) 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 @Override
public void decreaseChargeLevel(ItemStack itemStack) 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 @Override
public ToolMode getCurrentToolMode(ItemStack itemStack) 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)]; return ToolMode.TYPES[NBTHelper.getShort(itemStack, Names.NBT.MODE)];
} }

View file

@ -78,9 +78,13 @@ public class ItemDarkMatterPickAxe extends ItemToolModalEE implements IKeyBound,
@Override @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 NBTHelper.getShort(itemStack, Names.NBT.CHARGE_LEVEL);
} }
return 0;
}
@Override @Override
public void setChargeLevel(ItemStack itemStack, short chargeLevel) public void setChargeLevel(ItemStack itemStack, short chargeLevel)
{ {
@ -93,18 +97,18 @@ public class ItemDarkMatterPickAxe extends ItemToolModalEE implements IKeyBound,
@Override @Override
public void increaseChargeLevel(ItemStack itemStack) 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 @Override
public void decreaseChargeLevel(ItemStack itemStack) 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 @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 NBTHelper.getShort(itemStack, Names.NBT.CHARGE_LEVEL);
} }
return 0;
}
@Override @Override
public void setChargeLevel(ItemStack itemStack, short chargeLevel) public void setChargeLevel(ItemStack itemStack, short chargeLevel)
{ {
@ -62,18 +66,18 @@ public class ItemDarkMatterShovel extends ItemToolModalEE implements IKeyBound,
@Override @Override
public void increaseChargeLevel(ItemStack itemStack) 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 @Override
public void decreaseChargeLevel(ItemStack itemStack) 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 @Override
public ToolMode getCurrentToolMode(ItemStack itemStack) 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)]; return ToolMode.TYPES[NBTHelper.getShort(itemStack, Names.NBT.MODE)];
} }