SPIGOT-5948: EntityDropItemEvent does not fire when piglins drop an item

This commit is contained in:
md_5 2020-07-06 09:30:16 +10:00
parent 38a66b6560
commit 0fa2eecffb
No known key found for this signature in database
GPG Key ID: E8E901AC7C617C11

View File

@ -33,7 +33,19 @@
double d0 = entityliving.getHeadY() - 0.30000001192092896D; double d0 = entityliving.getHeadY() - 0.30000001192092896D;
EntityItem entityitem = new EntityItem(entityliving.world, entityliving.locX(), d0, entityliving.locZ(), itemstack); EntityItem entityitem = new EntityItem(entityliving.world, entityliving.locX(), d0, entityliving.locZ(), itemstack);
float f = 0.3F; float f = 0.3F;
@@ -76,7 +77,7 @@ @@ -71,12 +72,19 @@
vec3d1 = vec3d1.d().a(0.30000001192092896D);
entityitem.setMot(vec3d1);
entityitem.defaultPickupDelay();
+ // CraftBukkit start
+ org.bukkit.event.entity.EntityDropItemEvent event = new org.bukkit.event.entity.EntityDropItemEvent(entityliving.getBukkitEntity(), (org.bukkit.entity.Item) entityitem.getBukkitEntity());
+ entityitem.world.getServer().getPluginManager().callEvent(event);
+ if (event.isCancelled()) {
+ return;
+ }
+ // CraftBukkit end
entityliving.world.addEntity(entityitem);
}
public static SectionPosition a(WorldServer worldserver, SectionPosition sectionposition, int i) { public static SectionPosition a(WorldServer worldserver, SectionPosition sectionposition, int i) {
int j = worldserver.b(sectionposition); int j = worldserver.b(sectionposition);