-
-
Notifications
You must be signed in to change notification settings - Fork 2.5k
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Add missing EntityDropItemEvent calls (#5674)
- Loading branch information
1 parent
385f313
commit fbb11db
Showing
1 changed file
with
59 additions
and
0 deletions.
There are no files selected for viewing
59 changes: 59 additions & 0 deletions
59
patches/server/0922-Add-various-missing-EntityDropItemEvent-calls.patch
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,59 @@ | ||
From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 | ||
From: Jake Potrebic <[email protected]> | ||
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 |