From 08c51b4278372afe95453845fe0f91d21861ab01 Mon Sep 17 00:00:00 2001
From: CraftBukkit/Spigot <noreply+git-craftbukkit@papermc.io>
Date: Sun, 6 Mar 2016 16:41:13 +1100
Subject: [PATCH] SPIGOT-1790: Fix bucket behaviour

By: md_5 <git@md-5.net>
---
 paper-server/nms-patches/ItemBucket.patch | 8 ++++----
 1 file changed, 4 insertions(+), 4 deletions(-)

diff --git a/paper-server/nms-patches/ItemBucket.patch b/paper-server/nms-patches/ItemBucket.patch
index 36903ba9a8..9b3780c702 100644
--- a/paper-server/nms-patches/ItemBucket.patch
+++ b/paper-server/nms-patches/ItemBucket.patch
@@ -50,7 +50,7 @@
                  if (!entityhuman.a(blockposition1, movingobjectposition.direction, itemstack)) {
                      return new InteractionResultWrapper(EnumInteractionResult.FAIL, itemstack);
 -                } else if (this.a(entityhuman, world, blockposition1)) {
-+                } else if (this.a(entityhuman, world, blockposition, movingobjectposition.direction, itemstack)) { // CraftBukkit
++                } else if (this.a(entityhuman, world, blockposition1, movingobjectposition.direction, blockposition, itemstack)) { // CraftBukkit
                      entityhuman.b(StatisticList.b((Item) this));
                      return !entityhuman.abilities.canInstantlyBuild ? new InteractionResultWrapper(EnumInteractionResult.SUCCESS, new ItemStack(Items.BUCKET)) : new InteractionResultWrapper(EnumInteractionResult.SUCCESS, itemstack);
                  } else {
@@ -79,10 +79,10 @@
  
 +    // CraftBukkit start
      public boolean a(EntityHuman entityhuman, World world, BlockPosition blockposition) {
-+        return a(entityhuman, world, blockposition, null, null);
++        return a(entityhuman, world, blockposition, null, blockposition, null);
 +    }
 +
-+    public boolean a(EntityHuman entityhuman, World world, BlockPosition blockposition, EnumDirection enumdirection, ItemStack itemstack) {
++    public boolean a(EntityHuman entityhuman, World world, BlockPosition blockposition, EnumDirection enumdirection, BlockPosition clicked, ItemStack itemstack) {
 +        // CraftBukkit end
          if (this.a == Blocks.AIR) {
              return false;
@@ -93,7 +93,7 @@
              } else {
 +                // CraftBukkit start
 +                if (entityhuman != null) {
-+                    PlayerBucketEmptyEvent event = CraftEventFactory.callPlayerBucketEmptyEvent(entityhuman, blockposition.getX(), blockposition.getY(), blockposition.getZ(), enumdirection, itemstack);
++                    PlayerBucketEmptyEvent event = CraftEventFactory.callPlayerBucketEmptyEvent(entityhuman, clicked.getX(), clicked.getY(), clicked.getZ(), enumdirection, itemstack);
 +                    if (event.isCancelled()) {
 +                        // TODO: inventory not updated
 +                        return false;