Mirror von
https://github.com/PaperMC/Paper.git
synchronisiert 2024-12-15 11:00:06 +01:00
842e040c19
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 Bukkit Changes: 220bc594 #486: Add method to get player's attack cooldown 21853d39 SPIGOT-5681: Increase max plugin channel size 5b972adc Improve build process b55e58d9 Note which custom generator is missing required method CraftBukkit Changes:893ad93b
#650: Add method to get player's attack cooldownef706b06
#655: Added support for the VM tag jansi.passthrough when processing messages sent to a ColouredConsoleSender.e0cfb347
SPIGOT-5689: Fireball.setDirection increases velocity too much94cb030f
SPIGOT-5673: swingHand API does not show to selfb331a055
SPIGOT-5680: isChunkGenerated creates empty region filese1335932
Improve build processa8ec1d60
Add a couple of method null checks to CraftWorldce66f693
Misc checkstyle fixes8bd0e9ab
SPIGOT-5669: Fix Beehive.isSedated Spigot Changes: 2040c4c4 SPIGOT-5677, MC-114796: Fix portals generating outside world border ab8f6b5a Rebuild patches e7dc2f53 Rebuild patches
47 Zeilen
2.3 KiB
Diff
47 Zeilen
2.3 KiB
Diff
From 71fb114207dc2bc7bdc49f6811e134adf3a31e12 Mon Sep 17 00:00:00 2001
|
|
From: Jedediah Smith <jedediah@silencegreys.com>
|
|
Date: Sun, 21 Jun 2015 15:07:20 -0400
|
|
Subject: [PATCH] Custom replacement for eaten items
|
|
|
|
|
|
diff --git a/src/main/java/net/minecraft/server/EntityLiving.java b/src/main/java/net/minecraft/server/EntityLiving.java
|
|
index 591bf14a62..8d14e6aced 100644
|
|
--- a/src/main/java/net/minecraft/server/EntityLiving.java
|
|
+++ b/src/main/java/net/minecraft/server/EntityLiving.java
|
|
@@ -2899,9 +2899,10 @@ public abstract class EntityLiving extends Entity {
|
|
this.b(this.activeItem, 16);
|
|
// CraftBukkit start - fire PlayerItemConsumeEvent
|
|
ItemStack itemstack;
|
|
+ PlayerItemConsumeEvent event = null; // Paper
|
|
if (this instanceof EntityPlayer) {
|
|
org.bukkit.inventory.ItemStack craftItem = CraftItemStack.asBukkitCopy(this.activeItem);
|
|
- PlayerItemConsumeEvent event = new PlayerItemConsumeEvent((Player) this.getBukkitEntity(), craftItem);
|
|
+ event = new PlayerItemConsumeEvent((Player) this.getBukkitEntity(), craftItem); // Paper
|
|
world.getServer().getPluginManager().callEvent(event);
|
|
|
|
if (event.isCancelled()) {
|
|
@@ -2916,9 +2917,20 @@ public abstract class EntityLiving extends Entity {
|
|
itemstack = this.activeItem.a(this.world, this);
|
|
}
|
|
|
|
+ // Paper start - save the default replacement item and change it if necessary
|
|
+ final ItemStack defaultReplacement = itemstack;
|
|
+ if (event != null && event.getReplacement() != null) {
|
|
+ itemstack = CraftItemStack.asNMSCopy(event.getReplacement());
|
|
+ }
|
|
+ // Paper end
|
|
this.a(this.getRaisedHand(), itemstack);
|
|
// CraftBukkit end
|
|
this.dH();
|
|
+ // Paper start - if the replacement is anything but the default, update the client inventory
|
|
+ if (this instanceof EntityPlayer && !com.google.common.base.Objects.equal(defaultReplacement, itemstack)) {
|
|
+ ((EntityPlayer) this).getBukkitEntity().updateInventory();
|
|
+ }
|
|
+ // Paper end
|
|
}
|
|
|
|
}
|
|
--
|
|
2.26.2
|
|
|