diff --git a/src/main/java/tconstruct/weaponry/entity/ArrowEntity.java b/src/main/java/tconstruct/weaponry/entity/ArrowEntity.java index 8513ef954e4..82ed65c1f89 100644 --- a/src/main/java/tconstruct/weaponry/entity/ArrowEntity.java +++ b/src/main/java/tconstruct/weaponry/entity/ArrowEntity.java @@ -39,6 +39,9 @@ protected double getSlowdown() { @Override protected double getGravity() { + if(returnStack == null || !returnStack.hasTagCompound()) + return super.getGravity(); + float mass = returnStack.getTagCompound().getCompoundTag("InfiTool").getFloat("Mass"); mass /= 36f; // why 36? simple because it's roughly 0.05 with flint head and wooden arrow shaft! Yes, that's the only reason. return mass; @@ -51,6 +54,9 @@ public void onHitBlock(MovingObjectPosition movingobjectposition) { if(defused) return; + if(returnStack == null || !returnStack.hasTagCompound()) + return; + // we might break! oh noez! float chance = returnStack.getTagCompound().getCompoundTag("InfiTool").getFloat("BreakChance"); if(chance > TConstruct.random.nextFloat()) {