summaryrefslogtreecommitdiff
path: root/src/main/java/com/sosnitzka
diff options
context:
space:
mode:
authorGiovanni Harting <539@idlegandalf.com>2016-10-18 20:57:03 +0200
committerGiovanni Harting <539@idlegandalf.com>2016-10-18 20:57:03 +0200
commitea594cef3de5fa272a0905ae13070b2d75f7cde0 (patch)
tree49131131632f8173fe53a853dde56628fa9a816e /src/main/java/com/sosnitzka
parentae4aef454e89cfb04cf46c6ea5a5b92e934047a4 (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.java13
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);
+ }
}
}
}