mirror of
https://github.com/HbmMods/Hbm-s-Nuclear-Tech-GIT.git
synced 2026-01-25 10:32:49 +00:00
65 lines
1.5 KiB
Java
65 lines
1.5 KiB
Java
package com.hbm.entity.mob;
|
|
|
|
import com.hbm.entity.grenade.EntityGrenadeStrong;
|
|
|
|
import net.minecraft.entity.SharedMonsterAttributes;
|
|
import net.minecraft.util.Vec3;
|
|
import net.minecraft.world.World;
|
|
|
|
public class EntityFBIDrone extends EntityUFOBase {
|
|
|
|
private int attackCooldown;
|
|
|
|
public EntityFBIDrone(World world) {
|
|
super(world);
|
|
}
|
|
|
|
@Override
|
|
protected void updateEntityActionState() {
|
|
super.updateEntityActionState();
|
|
if(this.courseChangeCooldown > 0) this.courseChangeCooldown--;
|
|
if(this.scanCooldown > 0) this.scanCooldown--;
|
|
|
|
if(!worldObj.isRemote) {
|
|
|
|
if(attackCooldown > 0) attackCooldown--;
|
|
|
|
if(this.target != null && attackCooldown <= 0) {
|
|
|
|
Vec3 vec = Vec3.createVectorHelper(posX - target.posX, posY - target.posY, posZ - target.posZ);
|
|
if(Math.abs(vec.xCoord) < 5 && Math.abs(vec.zCoord) < 5 && vec.yCoord > 3) {
|
|
attackCooldown = 60;
|
|
EntityGrenadeStrong grenade = new EntityGrenadeStrong(worldObj);
|
|
grenade.setPosition(posX, posY, posZ);
|
|
worldObj.spawnEntityInWorld(grenade);
|
|
}
|
|
}
|
|
}
|
|
|
|
if(this.courseChangeCooldown > 0) {
|
|
approachPosition(this.target == null ? 0.25D : 0.5D);
|
|
}
|
|
}
|
|
|
|
@Override
|
|
protected void applyEntityAttributes() {
|
|
super.applyEntityAttributes();
|
|
this.getEntityAttribute(SharedMonsterAttributes.maxHealth).setBaseValue(35.0D);
|
|
}
|
|
|
|
@Override
|
|
protected int getScanRange() {
|
|
return 100;
|
|
}
|
|
|
|
@Override
|
|
protected int targetHeightOffset() {
|
|
return 7 + rand.nextInt(4);
|
|
}
|
|
|
|
@Override
|
|
protected int wanderHeightOffset() {
|
|
return 7 + rand.nextInt(4);
|
|
}
|
|
}
|