aether-legacy/src/main/java/com/legacy/aether/entities/bosses/EntityFireMinion.java

50 lines
1.8 KiB
Java

package com.legacy.aether.entities.bosses;
import net.minecraft.entity.SharedMonsterAttributes;
import net.minecraft.entity.ai.EntityAIAttackOnCollide;
import net.minecraft.entity.ai.EntityAIMoveTowardsRestriction;
import net.minecraft.entity.ai.EntityAINearestAttackableTarget;
import net.minecraft.entity.ai.EntityAIWander;
import net.minecraft.entity.player.EntityPlayer;
import net.minecraft.world.World;
import com.legacy.aether.entities.hostile.EntityAetherMob;
public class EntityFireMinion extends EntityAetherMob {
public EntityFireMinion(World world) {
super(world);
this.isImmuneToFire = true;
this.setSize(1.1F, 1.8F);
this.tasks.addTask(2, new EntityAIWander(this, 1.0D));
this.tasks.addTask(4, new EntityAIAttackOnCollide(this, 1.5D, true));
this.tasks.addTask(5, new EntityAIMoveTowardsRestriction(this, 1.0D));
this.targetTasks.addTask(0, new EntityAINearestAttackableTarget(this, EntityPlayer.class, 0, true));
}
@Override
protected void applyEntityAttributes() {
super.applyEntityAttributes();
this.getEntityAttribute(SharedMonsterAttributes.followRange).setBaseValue(25.0D);
this.getEntityAttribute(SharedMonsterAttributes.movementSpeed).setBaseValue(0.25D);
this.getEntityAttribute(SharedMonsterAttributes.attackDamage).setBaseValue(10.0D);
this.getEntityAttribute(SharedMonsterAttributes.maxHealth).setBaseValue(40.0D);
}
@Override
public void onUpdate() {
super.onUpdate();
for (int i = 0; i < 2; i++) {
double d = rand.nextFloat() - 0.5F;
double d1 = rand.nextFloat();
double d2 = rand.nextFloat() - 0.5F;
double d3 = posX + d * d1;
double d4 = (this.boundingBox.minY + d1) + 0.1D;
double d5 = posZ + d2 * d1;
this.worldObj.spawnParticle("flame", d3, d4, d5, 0.0D, -0.075000002980232239D, 0.0D);
}
}
}