#1272: Only allow one entity in CraftItem instead of two
This pr reverts a change made in 2012 which allowed CraftItem to be a also other entities such as an arrow. I don't see any practical reason why the original change was done, other than to allow plugin developers to do some stuff in a cursed way. With the introduction of the PlayerPickupArrowEvent in 2016 there is also a way to access the arrow involved in a better way. Generally I think the current behavior is a bit strange and should be reverted. By: DerFrZocker <derrieple@gmail.com>
This commit is contained in:
@@ -46,7 +46,7 @@
|
||||
+ ItemStack itemstack = this.getPickupItem();
|
||||
+ if (this.pickup == PickupStatus.ALLOWED && !itemstack.isEmpty() && entityhuman.getInventory().canHold(itemstack) > 0) {
|
||||
+ EntityItem item = new EntityItem(this.level(), this.getX(), this.getY(), this.getZ(), itemstack);
|
||||
+ PlayerPickupArrowEvent event = new PlayerPickupArrowEvent((org.bukkit.entity.Player) entityhuman.getBukkitEntity(), new org.bukkit.craftbukkit.entity.CraftItem(this.level().getCraftServer(), this, item), (org.bukkit.entity.AbstractArrow) this.getBukkitEntity());
|
||||
+ PlayerPickupArrowEvent event = new PlayerPickupArrowEvent((org.bukkit.entity.Player) entityhuman.getBukkitEntity(), new org.bukkit.craftbukkit.entity.CraftItem(this.level().getCraftServer(), item), (org.bukkit.entity.AbstractArrow) this.getBukkitEntity());
|
||||
+ // event.setCancelled(!entityhuman.canPickUpLoot); TODO
|
||||
+ this.level().getCraftServer().getPluginManager().callEvent(event);
|
||||
+
|
||||
|
||||
Reference in New Issue
Block a user