mirror of
https://github.com/PaperMC/Paper.git
synced 2024-11-27 04:55:47 +01:00
275173e538
Upstream has released updates that appear to apply and compile correctly. This update has not been tested by PaperMC and as with ANY update, please do your own testing Bukkit Changes: 0c5d8709 SPIGOT-7400: Downgrade maven-resolver due to issues resolving certain depends 255c4fdb SPIGOT-7380: Add PlayerInteractEvent#getClickedPosition and ChiseledBookshelf#getSlot CraftBukkit Changes: b6b514b7e SPIGOT-7400: Downgrade maven-resolver due to issues resolving certain depends fcff84de9 SPIGOT-7399: Revert null check in CraftMetaItem#safelyAdd 44a4b5649 SPIGOT-7380: Add PlayerInteractEvent#getClickedPosition and ChiseledBookshelf#getSlot 676969d01 SPIGOT-7389: Handle setting null items in ChiseledBookshelf Inventory
74 lines
4.2 KiB
Diff
74 lines
4.2 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 86677e14f218188660330601c872905545501e25..018afaedd306df9088f1d1b9b99655cd5ad92a91 100644
|
|
--- a/src/main/java/net/minecraft/world/entity/Entity.java
|
|
+++ b/src/main/java/net/minecraft/world/entity/Entity.java
|
|
@@ -2677,6 +2677,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 5c260a56b1df66069aec59726d61ef382ae29faa..501e6cb4aa83f81c1f657e41f4e7f11d19d46831 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 1526ca0063da0962ae781b7aa877d8cf5e1ffd73..167f142d6960867320b90d61db312ebf23e24a48 100644
|
|
--- a/src/main/java/net/minecraft/world/entity/animal/Fox.java
|
|
+++ b/src/main/java/net/minecraft/world/entity/animal/Fox.java
|
|
@@ -503,14 +503,14 @@ public class Fox extends Animal implements VariantHolder<Fox.Type> {
|
|
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
|
|
diff --git a/src/main/java/net/minecraft/world/entity/animal/goat/Goat.java b/src/main/java/net/minecraft/world/entity/animal/goat/Goat.java
|
|
index 316823ea978b9c9b6656a01254c201fdd8c11797..c2111491642dfa29bb85027e137b1a19e3d2d9e6 100644
|
|
--- a/src/main/java/net/minecraft/world/entity/animal/goat/Goat.java
|
|
+++ b/src/main/java/net/minecraft/world/entity/animal/goat/Goat.java
|
|
@@ -354,8 +354,7 @@ public class Goat extends Animal {
|
|
double d2 = (double) Mth.randomBetween(this.random, -0.2F, 0.2F);
|
|
ItemEntity entityitem = new ItemEntity(this.level(), vec3d.x(), vec3d.y(), vec3d.z(), itemstack, d0, d1, d2);
|
|
|
|
- this.level().addFreshEntity(entityitem);
|
|
- return true;
|
|
+ return this.spawnAtLocation(entityitem) != null; // Paper - call EntityDropItemEvent by calling spawnAtLocation.
|
|
}
|
|
}
|
|
|