package net.minecraft.dispenser; import net.minecraft.block.BlockDispenser; import net.minecraft.item.Item; import net.minecraft.item.ItemBucket; import net.minecraft.item.ItemStack; import net.minecraft.util.EnumFacing; final class DispenserBehaviorFilledBucket extends BehaviorDefaultDispenseItem { private final BehaviorDefaultDispenseItem defaultDispenserItemBehavior = new BehaviorDefaultDispenseItem(); /** * Dispense the specified stack, play the dispense sound and spawn particles. */ public ItemStack dispenseStack(IBlockSource par1IBlockSource, ItemStack par2ItemStack) { ItemBucket itembucket = (ItemBucket)par2ItemStack.getItem(); int i = par1IBlockSource.getXInt(); int j = par1IBlockSource.getYInt(); int k = par1IBlockSource.getZInt(); EnumFacing enumfacing = BlockDispenser.getFacing(par1IBlockSource.getBlockMetadata()); if (itembucket.tryPlaceContainedLiquid(par1IBlockSource.getWorld(), (double)i, (double)j, (double)k, i + enumfacing.getFrontOffsetX(), j + enumfacing.getFrontOffsetY(), k + enumfacing.getFrontOffsetZ())) { par2ItemStack.itemID = Item.bucketEmpty.itemID; par2ItemStack.stackSize = 1; return par2ItemStack; } else { return this.defaultDispenserItemBehavior.dispense(par1IBlockSource, par2ItemStack); } } }