50 lines
1.8 KiB
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);
|
|
}
|
|
}
|
|
|
|
} |