Nullcheck the ritual activator (#1113)

This commit is contained in:
Nicholas Ignoffo 2017-03-28 18:45:45 -07:00
parent 3134f6b9f3
commit f17f284575
2 changed files with 10 additions and 6 deletions

View file

@ -79,7 +79,7 @@ public class PlayerHelper
*/ */
public static boolean isFakePlayer(EntityPlayer player) public static boolean isFakePlayer(EntityPlayer player)
{ {
return player != null && (player instanceof FakePlayer || knownFakePlayers.contains(player.getClass().getCanonicalName())); return player instanceof FakePlayer || (player != null && knownFakePlayers.contains(player.getClass().getCanonicalName()));
} }
public static void causeNauseaToPlayer(ItemStack stack) public static void causeNauseaToPlayer(ItemStack stack)

View file

@ -33,6 +33,8 @@ import WayofTime.bloodmagic.util.ChatUtil;
import com.google.common.base.Strings; import com.google.common.base.Strings;
import javax.annotation.Nullable;
@Getter @Getter
@NoArgsConstructor @NoArgsConstructor
public class TileMasterRitualStone extends TileTicking implements IMasterRitualStone public class TileMasterRitualStone extends TileTicking implements IMasterRitualStone
@ -138,7 +140,7 @@ public class TileMasterRitualStone extends TileTicking implements IMasterRitualS
} }
@Override @Override
public boolean activateRitual(ItemStack activationCrystal, EntityPlayer activator, Ritual ritual) public boolean activateRitual(ItemStack activationCrystal, @Nullable EntityPlayer activator, Ritual ritual)
{ {
if (PlayerHelper.isFakePlayer(activator)) if (PlayerHelper.isFakePlayer(activator))
return false; return false;
@ -157,7 +159,7 @@ public class TileMasterRitualStone extends TileTicking implements IMasterRitualS
{ {
SoulNetwork network = NetworkHelper.getSoulNetwork(crystalOwner); SoulNetwork network = NetworkHelper.getSoulNetwork(crystalOwner);
if (!isRedstoned() && network.getCurrentEssence() < ritual.getActivationCost() && !activator.capabilities.isCreativeMode) if (!isRedstoned() && network.getCurrentEssence() < ritual.getActivationCost() && (activator != null && !activator.capabilities.isCreativeMode))
{ {
activator.sendStatusMessage(new TextComponentTranslation("chat.bloodmagic.ritual.weak"), true); activator.sendStatusMessage(new TextComponentTranslation("chat.bloodmagic.ritual.weak"), true);
return false; return false;
@ -176,9 +178,10 @@ public class TileMasterRitualStone extends TileTicking implements IMasterRitualS
if (ritual.activateRitual(this, activator, crystalOwner)) if (ritual.activateRitual(this, activator, crystalOwner))
{ {
if (!isRedstoned() && !activator.capabilities.isCreativeMode) if (!isRedstoned() && (activator != null && !activator.capabilities.isCreativeMode))
network.syphon(ritual.getActivationCost()); network.syphon(ritual.getActivationCost());
if (activator != null)
activator.sendStatusMessage(new TextComponentTranslation("chat.bloodmagic.ritual.activate"), true); activator.sendStatusMessage(new TextComponentTranslation("chat.bloodmagic.ritual.activate"), true);
this.active = true; this.active = true;
@ -197,6 +200,7 @@ public class TileMasterRitualStone extends TileTicking implements IMasterRitualS
} }
} else } else
{ {
if (activator != null)
activator.sendStatusMessage(new TextComponentTranslation("chat.bloodmagic.ritual.notValid"), true); activator.sendStatusMessage(new TextComponentTranslation("chat.bloodmagic.ritual.notValid"), true);
} }