SPIGOT-7378: Add BlockDropItemEvent for Suspicious Sand & Gravel drops

By: md_5 <git@md-5.net>
This commit is contained in:
CraftBukkit/Spigot 2023-06-09 08:37:09 +10:00
parent b68048c094
commit 82dccdf1a6

View File

@ -0,0 +1,27 @@
--- a/net/minecraft/world/level/block/entity/BrushableBlockEntity.java
+++ b/net/minecraft/world/level/block/entity/BrushableBlockEntity.java
@@ -28,6 +28,12 @@
import net.minecraft.world.phys.Vec3D;
import org.slf4j.Logger;
+// CraftBukkit start
+import java.util.Arrays;
+import org.bukkit.craftbukkit.block.CraftBlock;
+import org.bukkit.craftbukkit.event.CraftEventFactory;
+// CraftBukkit end
+
public class BrushableBlockEntity extends TileEntity {
private static final Logger LOGGER = LogUtils.getLogger();
@@ -153,7 +159,10 @@
EntityItem entityitem = new EntityItem(this.level, d3, d4, d5, this.item.split(this.level.random.nextInt(21) + 10));
entityitem.setDeltaMovement(Vec3D.ZERO);
- this.level.addFreshEntity(entityitem);
+ // CraftBukkit start
+ org.bukkit.block.Block bblock = CraftBlock.at(this.level, this.worldPosition);
+ CraftEventFactory.handleBlockDropItemEvent(bblock, bblock.getState(), (EntityPlayer) entityhuman, Arrays.asList(entityitem));
+ // CraftBukkit end
this.item = ItemStack.EMPTY;
}