diff options
author | Senmori <thesenmori@gmail.com> | 2017-11-21 10:17:31 +1100 |
---|---|---|
committer | md_5 <git@md-5.net> | 2017-11-21 10:21:20 +1100 |
commit | bdb88226252f029f6b752c0a83740eb74f7a4ba8 (patch) | |
tree | dc6aa5ebc379815bcfc76b3c7188aab72bc95b05 /nms-patches | |
parent | 19ed80cef7d8ff85a368bd8459c1d91ef0149f61 (diff) | |
download | craftbukkit-bdb88226252f029f6b752c0a83740eb74f7a4ba8.tar craftbukkit-bdb88226252f029f6b752c0a83740eb74f7a4ba8.tar.gz craftbukkit-bdb88226252f029f6b752c0a83740eb74f7a4ba8.tar.lz craftbukkit-bdb88226252f029f6b752c0a83740eb74f7a4ba8.tar.xz craftbukkit-bdb88226252f029f6b752c0a83740eb74f7a4ba8.zip |
SPIGOT-1505: PlayerItemMendEvent
Diffstat (limited to 'nms-patches')
-rw-r--r-- | nms-patches/EntityExperienceOrb.patch | 20 |
1 files changed, 17 insertions, 3 deletions
diff --git a/nms-patches/EntityExperienceOrb.patch b/nms-patches/EntityExperienceOrb.patch index 24aa1aba..bd249662 100644 --- a/nms-patches/EntityExperienceOrb.patch +++ b/nms-patches/EntityExperienceOrb.patch @@ -46,8 +46,22 @@ } this.move(EnumMoveType.SELF, this.motX, this.motY, this.motZ); -@@ -153,7 +172,7 @@ - } +@@ -148,12 +167,18 @@ + if (!itemstack.isEmpty() && itemstack.h()) { + int i = Math.min(this.d(this.value), itemstack.i()); + +- this.value -= this.c(i); +- itemstack.setData(itemstack.i() - i); +- } ++ // CraftBukkit start ++ org.bukkit.event.player.PlayerItemMendEvent event = CraftEventFactory.callPlayerItemMendEvent(entityhuman, this, itemstack, i); ++ i = event.getRepairAmount(); ++ if (!event.isCancelled()) { ++ this.value -= this.c(i); ++ itemstack.setData(itemstack.i() - i); ++ } ++ // CraftBukkit end ++ } if (this.value > 0) { - entityhuman.giveExp(this.value); @@ -55,7 +69,7 @@ } this.die(); -@@ -175,6 +194,24 @@ +@@ -175,6 +200,24 @@ } public static int getOrbValue(int i) { |