Criminox Posted April 2, 2017 Posted April 2, 2017 So I am making a custom zombie mob for my mod and I have got the error stated in the title. I'll provide the code below but it isn't fully complete as of yet. Any ideas? package com.crim.parallelworlds.entities; import com.crim.parallelworlds.Ref; import net.minecraft.entity.SharedMonsterAttributes; import net.minecraft.entity.ai.EntityAIHurtByTarget; import net.minecraft.entity.ai.EntityAILookIdle; import net.minecraft.entity.ai.EntityAIMoveThroughVillage; import net.minecraft.entity.ai.EntityAIMoveTowardsRestriction; import net.minecraft.entity.ai.EntityAINearestAttackableTarget; import net.minecraft.entity.ai.EntityAISwimming; import net.minecraft.entity.ai.EntityAIWander; import net.minecraft.entity.ai.EntityAIWatchClosest; import net.minecraft.entity.ai.EntityAIZombieAttack; import net.minecraft.entity.monster.EntityIronGolem; import net.minecraft.entity.monster.EntityPigZombie; import net.minecraft.entity.monster.EntityZombie; import net.minecraft.entity.passive.EntityVillager; import net.minecraft.entity.player.EntityPlayer; import net.minecraft.network.datasync.DataParameter; import net.minecraft.network.datasync.DataSerializers; import net.minecraft.network.datasync.EntityDataManager; import net.minecraft.util.ResourceLocation; import net.minecraft.world.World; import net.minecraftforge.fml.relauncher.Side; import net.minecraftforge.fml.relauncher.SideOnly; public class CelestialZombie extends EntityZombie{ public static final DataParameter<Boolean> ARMS_RAISED = EntityDataManager.createKey(CelestialZombie.class, DataSerializers.BOOLEAN); public static final ResourceLocation LOOT = new ResourceLocation(Ref.MODID, "entities/celestial_zombie"); public CelestialZombie(World worldIn){ super(worldIn); setSize(0.6F, 1.95F); } @Override protected void entityInit(){ super.entityInit(); this.getDataManager().register(ARMS_RAISED, Boolean.valueOf(false)); } @Override protected void applyEntityAttributes(){ super.applyEntityAttributes(); this.getEntityAttribute(SharedMonsterAttributes.FOLLOW_RANGE).setBaseValue(35.0D); this.getEntityAttribute(SharedMonsterAttributes.MOVEMENT_SPEED).setBaseValue(0.13D); this.getEntityAttribute(SharedMonsterAttributes.ATTACK_DAMAGE).setBaseValue(0.5D); this.getEntityAttribute(SharedMonsterAttributes.ARMOR).setBaseValue(4.0D); } public void setArmsRaised(boolean armsRaised){ this.getDataManager().set(ARMS_RAISED, Boolean.valueOf(armsRaised)); } @SideOnly(Side.CLIENT) public boolean isArmsRaised(){ return this.getDataManager().get(ARMS_RAISED).booleanValue(); } @Override protected void initEntityAI(){ this.tasks.addTask(0, new EntityAISwimming(this)); this.tasks.addTask(2, new EntityAIZombieAttack(this, 1.0D, false)); this.tasks.addTask(5, new EntityAIMoveTowardsRestriction(this, 1.0D)); this.tasks.addTask(7, new EntityAIWander(this, 1.0D)); this.tasks.addTask(8, new EntityAIWatchClosest(this, EntityPlayer.class, 8.0F)); this.tasks.addTask(8, new EntityAILookIdle(this)); this.applyEntityAI(); } private void applyEntityAI(){ this.tasks.addTask(6, new EntityAIMoveThroughVillage(this, 1.0D, false)); this.targetTasks.addTask(1, new EntityAIHurtByTarget(this, true, new Class[]{EntityPigZombie.class})); this.targetTasks.addTask(2, new EntityAINearestAttackableTarget(this, EntityPlayer.class, true)); this.targetTasks.addTask(3, new EntityAINearestAttackableTarget(this, EntityVillager.class, false)); this.targetTasks.addTask(3, new EntityAINearestAttackableTarget(this, EntityIronGolem.class, true)); } } Quote
Recommended Posts
Join the conversation
You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.