summaryrefslogtreecommitdiffstats
path: root/nms-patches/EntityCow.patch
diff options
context:
space:
mode:
Diffstat (limited to 'nms-patches/EntityCow.patch')
-rw-r--r--nms-patches/EntityCow.patch15
1 files changed, 8 insertions, 7 deletions
diff --git a/nms-patches/EntityCow.patch b/nms-patches/EntityCow.patch
index af9721a8..d702c87d 100644
--- a/nms-patches/EntityCow.patch
+++ b/nms-patches/EntityCow.patch
@@ -11,14 +11,10 @@
public class EntityCow extends EntityAnimal {
public EntityCow(World world) {
-@@ -71,11 +76,21 @@
- ItemStack itemstack = entityhuman.inventory.getItemInHand();
+@@ -50,12 +55,22 @@
+ public boolean a(EntityHuman entityhuman, EnumHand enumhand, ItemStack itemstack) {
if (itemstack != null && itemstack.getItem() == Items.BUCKET && !entityhuman.abilities.canInstantlyBuild && !this.isBaby()) {
-- if (itemstack.count-- == 1) {
-- entityhuman.inventory.setItem(entityhuman.inventory.itemInHandIndex, new ItemStack(Items.MILK_BUCKET));
-- } else if (!entityhuman.inventory.pickup(new ItemStack(Items.MILK_BUCKET))) {
-- entityhuman.drop(new ItemStack(Items.MILK_BUCKET, 1, 0), false);
+ // CraftBukkit start - Got milk?
+ org.bukkit.Location loc = this.getBukkitEntity().getLocation();
+ org.bukkit.event.player.PlayerBucketFillEvent event = CraftEventFactory.callPlayerBucketFillEvent(entityhuman, loc.getBlockX(), loc.getBlockY(), loc.getBlockZ(), null, itemstack, Items.MILK_BUCKET);
@@ -28,8 +24,13 @@
+ }
+
+ ItemStack result = CraftItemStack.asNMSCopy(event.getItemStack());
+ entityhuman.a(SoundEffects.ap, 1.0F, 1.0F);
+- if (--itemstack.count == 0) {
+- entityhuman.a(enumhand, new ItemStack(Items.MILK_BUCKET));
+- } else if (!entityhuman.inventory.pickup(new ItemStack(Items.MILK_BUCKET))) {
+- entityhuman.drop(new ItemStack(Items.MILK_BUCKET), false);
+ if (--itemstack.count <= 0) {
-+ entityhuman.inventory.setItem(entityhuman.inventory.itemInHandIndex, result);
++ entityhuman.a(enumhand, result);
+ } else if (!entityhuman.inventory.pickup(result)) {
+ entityhuman.drop(result, false);
}