mirror of
https://github.com/PaperMC/Paper.git
synced 2024-11-24 03:25:15 +01:00
[Bleeding] Deprecate Enderman events in favor of EntityChangeBlock
This commit is contained in:
parent
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);
|
||||
}
|
||||
|
Loading…
Reference in New Issue
Block a user