Add getPickItemStack (#12552)

This commit is contained in:
Reason
2025-05-18 19:42:14 +01:00
committed by GitHub
parent 7171d29985
commit 6f73e62ecd
2 changed files with 17 additions and 0 deletions

View File

@@ -20,6 +20,7 @@ import org.bukkit.command.CommandSender;
import org.bukkit.event.entity.CreatureSpawnEvent;
import org.bukkit.event.entity.EntityDamageEvent;
import org.bukkit.event.player.PlayerTeleportEvent.TeleportCause;
import org.bukkit.inventory.ItemStack;
import org.bukkit.material.Directional;
import org.bukkit.metadata.Metadatable;
import org.bukkit.persistence.PersistentDataHolder;
@@ -538,6 +539,15 @@ public interface Entity extends Metadatable, CommandSender, Nameable, Persistent
*/
public boolean eject();
/**
* Gets the {@link ItemStack} that a player would select / create (in creative mode)
* when using the pick block action on this entity.
*
* @return item stack result or an empty item stack
*/
@NotNull
ItemStack getPickItemStack();
/**
* Returns the distance this entity has fallen
*

View File

@@ -58,6 +58,7 @@ import org.bukkit.event.entity.CreatureSpawnEvent;
import org.bukkit.event.entity.EntityDamageEvent;
import org.bukkit.event.entity.EntityRemoveEvent;
import org.bukkit.event.player.PlayerTeleportEvent.TeleportCause;
import org.bukkit.inventory.ItemStack;
import org.bukkit.metadata.MetadataValue;
import org.bukkit.permissions.PermissibleBase;
import org.bukkit.permissions.Permission;
@@ -532,6 +533,12 @@ public abstract class CraftEntity implements org.bukkit.entity.Entity {
return true;
}
@Override
public ItemStack getPickItemStack() {
net.minecraft.world.item.ItemStack stack = this.getHandle().getPickResult();
return stack == null ? ItemStack.empty() : stack.asBukkitCopy();
}
@Override
public float getFallDistance() {
return (float) this.getHandle().fallDistance;