Files
2018-07-20 19:59:17 +08:00

42 lines
1.8 KiB
Diff

--- ../src-base/minecraft/net/minecraft/entity/passive/EntityCow.java
+++ ../src-work/minecraft/net/minecraft/entity/passive/EntityCow.java
@@ -1,6 +1,10 @@
package net.minecraft.entity.passive;
import javax.annotation.Nullable;
+
+import org.bukkit.craftbukkit.event.CraftEventFactory;
+import org.bukkit.craftbukkit.inventory.CraftItemStack;
+
import net.minecraft.block.Block;
import net.minecraft.entity.EntityAgeable;
import net.minecraft.entity.EntityLiving;
@@ -92,15 +96,24 @@
{
if (stack != null && stack.getItem() == Items.BUCKET && !player.capabilities.isCreativeMode && !this.isChild())
{
+ // CraftBukkit start - Got milk?
+ org.bukkit.Location loc = this.getBukkitEntity().getLocation();
+ org.bukkit.event.player.PlayerBucketFillEvent event = CraftEventFactory.callPlayerBucketFillEvent(player, loc.getBlockX(), loc.getBlockY(), loc.getBlockZ(), null, stack, Items.MILK_BUCKET);
+
+ if (event.isCancelled())
+ {
+ return false;
+ }
+ // CraftBukkit end
player.playSound(SoundEvents.ENTITY_COW_MILK, 1.0F, 1.0F);
if (--stack.stackSize == 0)
{
- player.setHeldItem(hand, new ItemStack(Items.MILK_BUCKET));
+ player.setHeldItem(hand, CraftItemStack.asNMSCopy(event.getItemStack()));
}
- else if (!player.inventory.addItemStackToInventory(new ItemStack(Items.MILK_BUCKET)))
+ else if (!player.inventory.addItemStackToInventory(CraftItemStack.asNMSCopy(event.getItemStack())))
{
- player.dropItem(new ItemStack(Items.MILK_BUCKET), false);
+ player.dropItem(CraftItemStack.asNMSCopy(event.getItemStack()), false);
}
return true;