diff options
| author | Giovanni Harting <539@idlegandalf.com> | 2016-10-18 20:57:03 +0200 |
|---|---|---|
| committer | Giovanni Harting <539@idlegandalf.com> | 2016-10-18 20:57:03 +0200 |
| commit | ea594cef3de5fa272a0905ae13070b2d75f7cde0 (patch) | |
| tree | 49131131632f8173fe53a853dde56628fa9a816e /src/main/java/com/sosnitzka | |
| parent | ae4aef454e89cfb04cf46c6ea5a5b92e934047a4 (diff) | |
fixed reviving trait not works with wither skeletons, closes #32
Diffstat (limited to 'src/main/java/com/sosnitzka')
| -rw-r--r-- | src/main/java/com/sosnitzka/taiga/traits/TraitReviving.java | 13 |
1 files changed, 10 insertions, 3 deletions
diff --git a/src/main/java/com/sosnitzka/taiga/traits/TraitReviving.java b/src/main/java/com/sosnitzka/taiga/traits/TraitReviving.java index 94ad683..55a6578 100644 --- a/src/main/java/com/sosnitzka/taiga/traits/TraitReviving.java +++ b/src/main/java/com/sosnitzka/taiga/traits/TraitReviving.java @@ -5,6 +5,7 @@ import net.minecraft.entity.Entity; import net.minecraft.entity.EntityCreature; import net.minecraft.entity.EntityList; import net.minecraft.entity.EntityLivingBase; +import net.minecraft.entity.monster.EntitySkeleton; import net.minecraft.entity.player.EntityPlayer; import net.minecraft.item.ItemStack; import net.minecraft.util.math.BlockPos; @@ -36,10 +37,16 @@ public class TraitReviving extends AbstractTrait { if (e.getSource().getEntity() instanceof EntityPlayer && e.getEntity() instanceof EntityCreature) { if (isNight((int) w.getWorldTime()) && random.nextFloat() > 0.85 && TinkerUtil.hasTrait(TagUtil.getTagSafe(((EntityPlayer) e.getSource().getEntity()).getHeldItemMainhand()), identifier)) { String name = EntityList.getEntityString(e.getEntity()); + Entity ent = EntityList.createEntityByName(name, w); - assert ent != null; - ent.setPosition(pos.getX(), pos.getY(), pos.getZ()); - w.spawnEntityInWorld(ent); + if (ent != null) { + if (ent instanceof EntitySkeleton && e.getEntity() instanceof EntitySkeleton) { + ((EntitySkeleton) ent).setSkeletonType(((EntitySkeleton) e.getEntity()).getSkeletonType()); + } + + ent.setPosition(pos.getX(), pos.getY(), pos.getZ()); + w.spawnEntityInWorld(ent); + } } } } |
