mirror of
https://github.com/PaperMC/Paper.git
synced 2024-11-29 19:52:55 +01:00
4af62f6d1d
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: 2d009e64 Update SnakeYAML javadoc link b4fd213c Switch Player#updateInventory deprecation for internal API annotation CraftBukkit Changes: f3b2b2210 SPIGOT-7376: Exception with getBlockData when hasBlockData is false 725545630 SPIGOT-7375: Fix crash breeding certain entities b9873b0d4 Update Brigadier version with fix 68b320562 SPIGOT-7266: Found typo in CraftBukkit package 98b4d2ff8 SPIGOT-7372, SPIGOT-7373: Signs can't be edited, issues with SignChangeEvent 5f7bd4d78 SPIGOT-7371: Sign does not open edit text on placement b4cf99d24 SPIGOT-7371: Fix editing signs with API a2b6c2744 PR-1200: Implement open sign by side a345bb940 SPIGOT-7368: Downgrade SpecialSource version Spigot Changes: 723951c3 Rebuild patches b655c57d Drop old collision API deprecated since 1.9.4 55b0fed4 Rebuild patches
73 lines
4.2 KiB
Diff
73 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 af3cdef67ca516cfe85dea7580b3e93554350115..8fef49ba8a46e4490356efdc9dd4ae8ca255421a 100644
|
|
--- a/src/main/java/net/minecraft/world/entity/Entity.java
|
|
+++ b/src/main/java/net/minecraft/world/entity/Entity.java
|
|
@@ -2644,6 +2644,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.
|
|
}
|
|
}
|
|
|