geforkt von Mirrors/Paper
2f782a6652
Upstream has released updates that appears to apply and compile correctly. This update has not been tested by PaperMC and as with ANY update, please do your own testing CraftBukkit Changes:17543ecf
SPIGOT-5035: Error Using Virtual Merchant GUI0fc6922b
SPIGOT-5028: Villager#setVillagerExperience() doesn't workbdbdbe44
SPIGOT-5024: Fox error - Unknown target reason
49 Zeilen
2.2 KiB
Diff
49 Zeilen
2.2 KiB
Diff
From 6954d7244ad5458165cc08bc4c82ca630a497eaf Mon Sep 17 00:00:00 2001
|
|
From: BillyGalbreath <Blake.Galbreath@GMail.com>
|
|
Date: Sun, 7 May 2017 06:26:09 -0500
|
|
Subject: [PATCH] PlayerPickupItemEvent#setFlyAtPlayer
|
|
|
|
|
|
diff --git a/src/main/java/net/minecraft/server/EntityItem.java b/src/main/java/net/minecraft/server/EntityItem.java
|
|
index 9c743de8dd..2deb5c494d 100644
|
|
--- a/src/main/java/net/minecraft/server/EntityItem.java
|
|
+++ b/src/main/java/net/minecraft/server/EntityItem.java
|
|
@@ -318,6 +318,7 @@ public class EntityItem extends Entity {
|
|
// CraftBukkit start - fire PlayerPickupItemEvent
|
|
int canHold = entityhuman.inventory.canHold(itemstack);
|
|
int remaining = i - canHold;
|
|
+ boolean flyAtPlayer = false; // Paper
|
|
|
|
if (this.pickupDelay <= 0 && canHold > 0) {
|
|
itemstack.setCount(canHold);
|
|
@@ -325,7 +326,13 @@ public class EntityItem extends Entity {
|
|
PlayerPickupItemEvent playerEvent = new PlayerPickupItemEvent((org.bukkit.entity.Player) entityhuman.getBukkitEntity(), (org.bukkit.entity.Item) this.getBukkitEntity(), remaining);
|
|
playerEvent.setCancelled(!entityhuman.canPickUpLoot);
|
|
this.world.getServer().getPluginManager().callEvent(playerEvent);
|
|
+ flyAtPlayer = playerEvent.getFlyAtPlayer(); // Paper
|
|
if (playerEvent.isCancelled()) {
|
|
+ // Paper Start
|
|
+ if (flyAtPlayer) {
|
|
+ entityhuman.receive(this, i);
|
|
+ }
|
|
+ // Paper End
|
|
return;
|
|
}
|
|
|
|
@@ -345,7 +352,11 @@ public class EntityItem extends Entity {
|
|
// CraftBukkit end
|
|
|
|
if (this.pickupDelay == 0 && (this.owner == null || 6000 - this.age <= 200 || this.owner.equals(entityhuman.getUniqueID())) && entityhuman.inventory.pickup(itemstack)) {
|
|
- entityhuman.receive(this, i);
|
|
+ // Paper Start
|
|
+ if (flyAtPlayer) {
|
|
+ entityhuman.receive(this, i);
|
|
+ }
|
|
+ // Paper End
|
|
if (itemstack.isEmpty()) {
|
|
this.die();
|
|
itemstack.setCount(i);
|
|
--
|
|
2.21.0
|
|
|