13
0
geforkt von Mirrors/Paper
Paper/src/main/java/net/minecraft/server/EntitySpider.java
Erik Broes a98c7ba2c7 Massive renaming update in nms. If you bypassed Bukkit, you will likely break.
Also minimized all the nms diffs and generic cleanups all around.
2011-06-27 00:47:03 +02:00

99 Zeilen
2.6 KiB
Java

package net.minecraft.server;
// CraftBukkit start
import org.bukkit.craftbukkit.entity.CraftEntity;
import org.bukkit.event.entity.EntityTargetEvent;
// CraftBukkit end
public class EntitySpider extends EntityMonster {
public EntitySpider(World world) {
super(world);
this.texture = "/mob/spider.png";
this.b(1.4F, 0.9F);
this.aE = 0.8F;
}
public double m() {
return (double) this.width * 0.75D - 0.5D;
}
protected boolean n() {
return false;
}
protected Entity findTarget() {
float f = this.c(1.0F);
if (f < 0.5F) {
double d0 = 16.0D;
return this.world.findNearbyPlayer(this, d0);
} else {
return null;
}
}
protected String g() {
return "mob.spider";
}
protected String h() {
return "mob.spider";
}
protected String i() {
return "mob.spiderdeath";
}
protected void a(Entity entity, float f) {
float f1 = this.c(1.0F);
if (f1 > 0.5F && this.random.nextInt(100) == 0) {
// CraftBukkit start
EntityTargetEvent event = new EntityTargetEvent(this.getBukkitEntity(), null, EntityTargetEvent.TargetReason.FORGOT_TARGET);
this.world.getServer().getPluginManager().callEvent(event);
if (!event.isCancelled()) {
if (event.getTarget() == null) {
this.target = null;
} else {
this.target = ((CraftEntity) event.getTarget()).getHandle();
}
return;
}
// CraftBukkit end
} else {
if (f > 2.0F && f < 6.0F && this.random.nextInt(10) == 0) {
if (this.onGround) {
double d0 = entity.locX - this.locX;
double d1 = entity.locZ - this.locZ;
float f2 = MathHelper.a(d0 * d0 + d1 * d1);
this.motX = d0 / (double) f2 * 0.5D * 0.800000011920929D + this.motX * 0.20000000298023224D;
this.motZ = d1 / (double) f2 * 0.5D * 0.800000011920929D + this.motZ * 0.20000000298023224D;
this.motY = 0.4000000059604645D;
}
} else {
super.a(entity, f);
}
}
}
public void b(NBTTagCompound nbttagcompound) {
super.b(nbttagcompound);
}
public void a(NBTTagCompound nbttagcompound) {
super.a(nbttagcompound);
}
protected int j() {
return Item.STRING.id;
}
public boolean p() {
return this.positionChanged;
}
}