60 lines
3.3 KiB
Diff
60 lines
3.3 KiB
Diff
|
From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001
|
||
|
From: Jake Potrebic <jake.m.potrebic@gmail.com>
|
||
|
Date: Tue, 20 Jul 2021 21:35:47 -0700
|
||
|
Subject: [PATCH] Add various missing EntityDropItemEvent calls
|
||
|
|
||
|
|
||
|
diff --git a/src/main/java/net/minecraft/world/entity/Entity.java b/src/main/java/net/minecraft/world/entity/Entity.java
|
||
|
index 74459ab5ccb94863677f0803f8f737f013cb83a3..19a64b582bc042e426220e080d9c21b3a82cf3f7 100644
|
||
|
--- a/src/main/java/net/minecraft/world/entity/Entity.java
|
||
|
+++ b/src/main/java/net/minecraft/world/entity/Entity.java
|
||
|
@@ -2509,6 +2509,14 @@ public abstract class Entity implements Nameable, EntityAccess, CommandSource {
|
||
|
stack.setCount(0); // Paper - destroy this item - if this ever leaks due to game bugs, ensure it doesn't dupe
|
||
|
|
||
|
entityitem.setDefaultPickUpDelay();
|
||
|
+ // Paper start
|
||
|
+ return this.spawnAtLocation(entityitem);
|
||
|
+ }
|
||
|
+ }
|
||
|
+ @Nullable
|
||
|
+ public ItemEntity spawnAtLocation(ItemEntity entityitem) {
|
||
|
+ {
|
||
|
+ // Paper end
|
||
|
// CraftBukkit start
|
||
|
EntityDropItemEvent event = new EntityDropItemEvent(this.getBukkitEntity(), (org.bukkit.entity.Item) entityitem.getBukkitEntity());
|
||
|
Bukkit.getPluginManager().callEvent(event);
|
||
|
diff --git a/src/main/java/net/minecraft/world/entity/animal/Dolphin.java b/src/main/java/net/minecraft/world/entity/animal/Dolphin.java
|
||
|
index 7c53dddb598de85abf1eb8b8ee183a6e8e6f9c74..3f100d847fbce6db5b625e99c4f3694576237372 100644
|
||
|
--- a/src/main/java/net/minecraft/world/entity/animal/Dolphin.java
|
||
|
+++ b/src/main/java/net/minecraft/world/entity/animal/Dolphin.java
|
||
|
@@ -593,7 +593,7 @@ public class Dolphin extends WaterAnimal {
|
||
|
float f2 = 0.02F * Dolphin.this.random.nextFloat();
|
||
|
|
||
|
entityitem.setDeltaMovement((double) (0.3F * -Mth.sin(Dolphin.this.getYRot() * 0.017453292F) * Mth.cos(Dolphin.this.getXRot() * 0.017453292F) + Mth.cos(f1) * f2), (double) (0.3F * Mth.sin(Dolphin.this.getXRot() * 0.017453292F) * 1.5F), (double) (0.3F * Mth.cos(Dolphin.this.getYRot() * 0.017453292F) * Mth.cos(Dolphin.this.getXRot() * 0.017453292F) + Mth.sin(f1) * f2));
|
||
|
- Dolphin.this.level.addFreshEntity(entityitem);
|
||
|
+ Dolphin.this.spawnAtLocation(entityitem); // Paper - call EntityDropItemEvent
|
||
|
}
|
||
|
}
|
||
|
}
|
||
|
diff --git a/src/main/java/net/minecraft/world/entity/animal/Fox.java b/src/main/java/net/minecraft/world/entity/animal/Fox.java
|
||
|
index 8f294f10aca2df007830b12da0506f7614206a89..6a66b5d1a3d8615dcc15057f03476e9ccbf4b4f2 100644
|
||
|
--- a/src/main/java/net/minecraft/world/entity/animal/Fox.java
|
||
|
+++ b/src/main/java/net/minecraft/world/entity/animal/Fox.java
|
||
|
@@ -497,14 +497,14 @@ public class Fox extends Animal {
|
||
|
entityitem.setPickUpDelay(40);
|
||
|
entityitem.setThrower(this.getUUID());
|
||
|
this.playSound(SoundEvents.FOX_SPIT, 1.0F, 1.0F);
|
||
|
- this.level.addFreshEntity(entityitem);
|
||
|
+ this.spawnAtLocation(entityitem); // Paper - call EntityDropItemEvent
|
||
|
}
|
||
|
}
|
||
|
|
||
|
private void dropItemStack(ItemStack stack) {
|
||
|
ItemEntity entityitem = new ItemEntity(this.level, this.getX(), this.getY(), this.getZ(), stack);
|
||
|
|
||
|
- this.level.addFreshEntity(entityitem);
|
||
|
+ this.spawnAtLocation(entityitem); // Paper - call EntityDropItemEvent
|
||
|
}
|
||
|
|
||
|
@Override
|