diff --git a/src/main/java/electroblob/wizardry/block/BlockSnare.java b/src/main/java/electroblob/wizardry/block/BlockSnare.java index 81275b20..807425c0 100644 --- a/src/main/java/electroblob/wizardry/block/BlockSnare.java +++ b/src/main/java/electroblob/wizardry/block/BlockSnare.java @@ -18,6 +18,7 @@ import net.minecraft.item.Item; import net.minecraft.potion.PotionEffect; import net.minecraft.tileentity.TileEntity; import net.minecraft.util.BlockRenderLayer; +import net.minecraft.util.DamageSource; import net.minecraft.util.EnumBlockRenderType; import net.minecraft.util.EnumFacing; import net.minecraft.util.math.AxisAlignedBB; @@ -62,8 +63,10 @@ public class BlockSnare extends Block implements ITileEntityProvider { if(AllyDesignationSystem.isValidTarget(tileentity.getCaster(), entity)){ - entity.attackEntityFrom(MagicDamage.causeDirectMagicDamage(tileentity.getCaster(), DamageType.MAGIC), - Spells.snare.getProperty(Spell.DAMAGE).floatValue()); + DamageSource source = tileentity.getCaster() == null ? DamageSource.CACTUS + : MagicDamage.causeDirectMagicDamage(tileentity.getCaster(), DamageType.MAGIC); + + entity.attackEntityFrom(source, Spells.snare.getProperty(Spell.DAMAGE).floatValue()); ((EntityLivingBase)entity).addPotionEffect(new PotionEffect(MobEffects.SLOWNESS, Spells.snare.getProperty(Spell.EFFECT_DURATION).intValue(), diff --git a/src/main/java/electroblob/wizardry/block/BlockThorns.java b/src/main/java/electroblob/wizardry/block/BlockThorns.java index 0ceb6035..8e22c841 100644 --- a/src/main/java/electroblob/wizardry/block/BlockThorns.java +++ b/src/main/java/electroblob/wizardry/block/BlockThorns.java @@ -137,9 +137,11 @@ public class BlockThorns extends BlockBush implements ITileEntityProvider { TileEntity tileentity = world.getTileEntity(pos); if(tileentity instanceof TileEntityPlayerSaveTimed){ - if(AllyDesignationSystem.isValidTarget(((TileEntityPlayerSaveTimed)tileentity).getCaster(), target)){ - source = MagicDamage.causeDirectMagicDamage(((TileEntityPlayerSaveTimed)tileentity).getCaster(), - MagicDamage.DamageType.MAGIC); + + EntityLivingBase caster = ((TileEntityPlayerSaveTimed)tileentity).getCaster(); + + if(caster != null && AllyDesignationSystem.isValidTarget(caster, target)){ + source = MagicDamage.causeDirectMagicDamage(caster, MagicDamage.DamageType.MAGIC); }else{ return false; // Don't attack or slow allies of the caster }