geforkt von Mirrors/Paper
EntityTargetEvent
Dieser Commit ist enthalten in:
Ursprung
0ba870434e
Commit
c07e32c1de
@ -5,6 +5,9 @@ import java.util.Random;
|
|||||||
// CraftBukkit start
|
// CraftBukkit start
|
||||||
import org.bukkit.craftbukkit.CraftServer;
|
import org.bukkit.craftbukkit.CraftServer;
|
||||||
import org.bukkit.craftbukkit.entity.CraftCreature;
|
import org.bukkit.craftbukkit.entity.CraftCreature;
|
||||||
|
import org.bukkit.craftbukkit.entity.CraftEntity;
|
||||||
|
import org.bukkit.event.entity.EntityTargetEvent;
|
||||||
|
import org.bukkit.event.entity.EntityTargetEvent.TargetReason;
|
||||||
// CraftBukkit end
|
// CraftBukkit end
|
||||||
|
|
||||||
public class EntityCreature extends EntityLiving {
|
public class EntityCreature extends EntityLiving {
|
||||||
@ -27,12 +30,37 @@ public class EntityCreature extends EntityLiving {
|
|||||||
float f = 16F;
|
float f = 16F;
|
||||||
|
|
||||||
if (d == null) {
|
if (d == null) {
|
||||||
d = l();
|
// CraftBukkit start
|
||||||
|
Entity target = l();
|
||||||
|
if(target != null) {
|
||||||
|
EntityTargetEvent event = new EntityTargetEvent(this.getBukkitEntity(), target.getBukkitEntity(), TargetReason.CLOSEST_PLAYER);
|
||||||
|
CraftServer server = ((WorldServer) this.l).getServer();
|
||||||
|
server.getPluginManager().callEvent(event);
|
||||||
|
if(!event.isCancelled()) {
|
||||||
|
if(event.getTarget() == null) {
|
||||||
|
d = null;
|
||||||
|
} else {
|
||||||
|
d = ((CraftEntity) event.getTarget()).getHandle();
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
// CraftBukkit end
|
||||||
if (d != null) {
|
if (d != null) {
|
||||||
a = l.a(((Entity) (this)), d, f);
|
a = l.a(((Entity) (this)), d, f);
|
||||||
}
|
}
|
||||||
} else if (!d.B()) {
|
} else if (!d.B()) {
|
||||||
d = null;
|
// CraftBukkit start
|
||||||
|
EntityTargetEvent event = new EntityTargetEvent(this.getBukkitEntity(), null, TargetReason.TARGET_DIED);
|
||||||
|
CraftServer server = ((WorldServer) this.l).getServer();
|
||||||
|
server.getPluginManager().callEvent(event);
|
||||||
|
if(!event.isCancelled()) {
|
||||||
|
if(event.getTarget() == null) {
|
||||||
|
d = null;
|
||||||
|
} else {
|
||||||
|
d = ((CraftEntity) event.getTarget()).getHandle();
|
||||||
|
}
|
||||||
|
}
|
||||||
|
// CraftBukkit end
|
||||||
} else {
|
} else {
|
||||||
float f1 = d.a(((Entity) (this)));
|
float f1 = d.a(((Entity) (this)));
|
||||||
|
|
||||||
|
@ -5,10 +5,13 @@ import java.util.Random;
|
|||||||
// CraftBukkit start
|
// CraftBukkit start
|
||||||
import org.bukkit.craftbukkit.entity.CraftMonster;
|
import org.bukkit.craftbukkit.entity.CraftMonster;
|
||||||
import org.bukkit.craftbukkit.CraftServer;
|
import org.bukkit.craftbukkit.CraftServer;
|
||||||
|
import org.bukkit.craftbukkit.entity.CraftEntity;
|
||||||
|
|
||||||
import org.bukkit.event.entity.EntityDamageByEntityEvent;
|
import org.bukkit.event.entity.EntityDamageByEntityEvent;
|
||||||
import org.bukkit.event.entity.EntityDamageEvent;
|
import org.bukkit.event.entity.EntityDamageEvent;
|
||||||
import org.bukkit.event.entity.EntityDamageEvent.DamageCause;
|
import org.bukkit.event.entity.EntityDamageEvent.DamageCause;
|
||||||
|
import org.bukkit.event.entity.EntityTargetEvent;
|
||||||
|
import org.bukkit.event.entity.EntityTargetEvent.TargetReason;
|
||||||
// CraftBukkit end
|
// CraftBukkit end
|
||||||
|
|
||||||
public class EntityMobs extends EntityCreature implements IMobs {
|
public class EntityMobs extends EntityCreature implements IMobs {
|
||||||
@ -57,7 +60,22 @@ public class EntityMobs extends EntityCreature implements IMobs {
|
|||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
if (entity != this) {
|
if (entity != this) {
|
||||||
d = entity;
|
// CraftBukkit start
|
||||||
|
org.bukkit.entity.Entity bukkitTarget = null;
|
||||||
|
if(entity != null) {
|
||||||
|
bukkitTarget = entity.getBukkitEntity();
|
||||||
|
}
|
||||||
|
EntityTargetEvent event = new EntityTargetEvent(this.getBukkitEntity(), bukkitTarget, TargetReason.TARGET_ATTACKED_ENTITY);
|
||||||
|
CraftServer server = ((WorldServer) this.l).getServer();
|
||||||
|
server.getPluginManager().callEvent(event);
|
||||||
|
if(!event.isCancelled()) {
|
||||||
|
if(event.getTarget() == null) {
|
||||||
|
d = null;
|
||||||
|
} else {
|
||||||
|
d = ((CraftEntity) event.getTarget()).getHandle();
|
||||||
|
}
|
||||||
|
}
|
||||||
|
// CraftBukkit end
|
||||||
}
|
}
|
||||||
return true;
|
return true;
|
||||||
} else {
|
} else {
|
||||||
|
@ -5,7 +5,10 @@ import java.util.Random;
|
|||||||
|
|
||||||
// CraftBukkit start
|
// CraftBukkit start
|
||||||
import org.bukkit.craftbukkit.CraftServer;
|
import org.bukkit.craftbukkit.CraftServer;
|
||||||
|
import org.bukkit.craftbukkit.entity.CraftEntity;
|
||||||
import org.bukkit.craftbukkit.entity.CraftPigZombie;
|
import org.bukkit.craftbukkit.entity.CraftPigZombie;
|
||||||
|
import org.bukkit.event.entity.EntityTargetEvent;
|
||||||
|
import org.bukkit.event.entity.EntityTargetEvent.TargetReason;
|
||||||
// CraftBukkit end
|
// CraftBukkit end
|
||||||
|
|
||||||
public class EntityPigZombie extends EntityZombie {
|
public class EntityPigZombie extends EntityZombie {
|
||||||
@ -82,9 +85,24 @@ public class EntityPigZombie extends EntityZombie {
|
|||||||
}
|
}
|
||||||
|
|
||||||
private void g(Entity entity) {
|
private void g(Entity entity) {
|
||||||
d = entity;
|
// CraftBukkit start
|
||||||
a = 400 + W.nextInt(400);
|
org.bukkit.entity.Entity bukkitTarget = null;
|
||||||
b = W.nextInt(40);
|
if(entity != null) {
|
||||||
|
bukkitTarget = entity.getBukkitEntity();
|
||||||
|
}
|
||||||
|
EntityTargetEvent event = new EntityTargetEvent(this.getBukkitEntity(), bukkitTarget, TargetReason.PIG_ZOMBIE_TARGET);
|
||||||
|
CraftServer server = ((WorldServer) this.l).getServer();
|
||||||
|
server.getPluginManager().callEvent(event);
|
||||||
|
if(!event.isCancelled()) {
|
||||||
|
if(event.getTarget() == null) {
|
||||||
|
d = null;
|
||||||
|
} else {
|
||||||
|
d = ((CraftEntity) event.getTarget()).getHandle();
|
||||||
|
a = 400 + W.nextInt(400);
|
||||||
|
b = W.nextInt(40);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
// CraftBukkit end
|
||||||
}
|
}
|
||||||
|
|
||||||
protected String e() {
|
protected String e() {
|
||||||
|
@ -4,7 +4,10 @@ import java.util.Random;
|
|||||||
|
|
||||||
// CraftBukkit start
|
// CraftBukkit start
|
||||||
import org.bukkit.craftbukkit.CraftServer;
|
import org.bukkit.craftbukkit.CraftServer;
|
||||||
|
import org.bukkit.craftbukkit.entity.CraftEntity;
|
||||||
import org.bukkit.craftbukkit.entity.CraftSpider;
|
import org.bukkit.craftbukkit.entity.CraftSpider;
|
||||||
|
import org.bukkit.event.entity.EntityTargetEvent;
|
||||||
|
import org.bukkit.event.entity.EntityTargetEvent.TargetReason;
|
||||||
// CraftBukkit stop
|
// CraftBukkit stop
|
||||||
|
|
||||||
public class EntitySpider extends EntityMobs {
|
public class EntitySpider extends EntityMobs {
|
||||||
@ -52,8 +55,19 @@ public class EntitySpider extends EntityMobs {
|
|||||||
float f2 = b(1.0F);
|
float f2 = b(1.0F);
|
||||||
|
|
||||||
if (f2 > 0.5F && W.nextInt(100) == 0) {
|
if (f2 > 0.5F && W.nextInt(100) == 0) {
|
||||||
this.d = null;
|
// CraftBukkit start
|
||||||
return;
|
EntityTargetEvent event = new EntityTargetEvent(this.getBukkitEntity(), null, TargetReason.FORGOT_TARGET);
|
||||||
|
CraftServer server = ((WorldServer) this.l).getServer();
|
||||||
|
server.getPluginManager().callEvent(event);
|
||||||
|
if(!event.isCancelled()) {
|
||||||
|
if(event.getTarget() == null) {
|
||||||
|
this.d = null;
|
||||||
|
} else {
|
||||||
|
this.d = ((CraftEntity) event.getTarget()).getHandle();
|
||||||
|
}
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
// CraftBukkit end
|
||||||
}
|
}
|
||||||
if (f1 > 2.0F && f1 < 6F && W.nextInt(10) == 0) {
|
if (f1 > 2.0F && f1 < 6F && W.nextInt(10) == 0) {
|
||||||
if (A) {
|
if (A) {
|
||||||
|
Laden…
In neuem Issue referenzieren
Einen Benutzer sperren