[Bleeding] Deprecate Enderman events in favor of EntityChangeBlock
Dieser Commit ist enthalten in:
Ursprung
10ab7b96ed
Commit
6dda89d873
@ -8,6 +8,7 @@ import org.bukkit.craftbukkit.event.CraftEventFactory;
|
||||
import org.bukkit.event.entity.EndermanPickupEvent;
|
||||
import org.bukkit.event.entity.EndermanPlaceEvent;
|
||||
import org.bukkit.event.entity.EntityTeleportEvent;
|
||||
import org.bukkit.event.entity.EntityChangeBlockEvent;
|
||||
// CraftBukkit end
|
||||
|
||||
public class EntityEnderman extends EntityMonster {
|
||||
@ -108,9 +109,14 @@ public class EntityEnderman extends EntityMonster {
|
||||
l = this.world.getTypeId(i, j, k);
|
||||
if (b[l]) {
|
||||
// CraftBukkit start - pickup event
|
||||
// TODO: We still call the old event
|
||||
EndermanPickupEvent pickup = new EndermanPickupEvent(this.getBukkitEntity(), this.world.getWorld().getBlockAt(i, j, k));
|
||||
this.world.getServer().getPluginManager().callEvent(pickup);
|
||||
if (!pickup.isCancelled()) {
|
||||
|
||||
EntityChangeBlockEvent event = new EntityChangeBlockEvent(this.getBukkitEntity(), this.world.getWorld().getBlockAt(i, j, k), org.bukkit.Material.AIR);
|
||||
this.world.getServer().getPluginManager().callEvent(event);
|
||||
|
||||
if (!pickup.isCancelled() && !event.isCancelled()) {
|
||||
this.setCarriedId(this.world.getTypeId(i, j, k));
|
||||
this.setCarriedData(this.world.getData(i, j, k));
|
||||
this.world.setTypeId(i, j, k, 0);
|
||||
@ -127,9 +133,14 @@ public class EntityEnderman extends EntityMonster {
|
||||
|
||||
if (l == 0 && i1 > 0 && Block.byId[i1].b()) {
|
||||
// CraftBukkit start - place event
|
||||
// TODO: We still call the old event
|
||||
EndermanPlaceEvent place = new EndermanPlaceEvent(this.getBukkitEntity(), new Location(this.world.getWorld(), i, j, k));
|
||||
this.world.getServer().getPluginManager().callEvent(place);
|
||||
if (!place.isCancelled()) {
|
||||
|
||||
EntityChangeBlockEvent event = new EntityChangeBlockEvent(this.getBukkitEntity(), this.world.getWorld().getBlockAt(i, j, k), org.bukkit.Material.AIR);
|
||||
this.world.getServer().getPluginManager().callEvent(event);
|
||||
|
||||
if (!place.isCancelled() && !event.isCancelled()) {
|
||||
this.world.setTypeIdAndData(i, j, k, this.getCarriedId(), this.getCarriedData());
|
||||
this.setCarriedId(0);
|
||||
}
|
||||
|
In neuem Issue referenzieren
Einen Benutzer sperren