package net.minecraft.dispenser;
import net.minecraft.block.material.Material;
import net.minecraft.item.Item;
import net.minecraft.item.ItemStack;
import net.minecraft.server.MinecraftServer;
import net.minecraft.tileentity.TileEntityDispenser;
import net.minecraft.util.EnumFacing;
import net.minecraft.world.World;
public class BehaviorBucketEmptyDispense extends BehaviorDefaultDispenseItem
{
private final BehaviorDefaultDispenseItem field_92018_c;
/** Reference to the MinecraftServer object. */
final MinecraftServer mcServer;
public BehaviorBucketEmptyDispense(MinecraftServer par1)
{
this.mcServer = par1;
this.field_92018_c = new BehaviorDefaultDispenseItem();
}
/**
* Dispense the specified stack, play the dispense sound and spawn particles.
*/
public ItemStack dispenseStack(IBlockSource par1IBlockSource, ItemStack par2ItemStack)
{
EnumFacing var3 = EnumFacing.func_82600_a(par1IBlockSource.func_82620_h());
World var4 = par1IBlockSource.getWorld();
int var5 = par1IBlockSource.getXInt() + var3.func_82601_c();
int var6 = par1IBlockSource.getYInt();
int var7 = par1IBlockSource.getZInt() + var3.func_82599_e();
Material var8 = var4.getBlockMaterial(var5, var6, var7);
int var9 = var4.getBlockMetadata(var5, var6, var7);
Item var10;
if (Material.water.equals(var8) && var9 == 0)
{
var10 = Item.bucketWater;
}
else
{
if (!Material.lava.equals(var8) || var9 != 0)
{
return super.dispenseStack(par1IBlockSource, par2ItemStack);
}
var10 = Item.bucketLava;
}
var4.setBlockWithNotify(var5, var6, var7, 0);
if (--par2ItemStack.stackSize == 0)
{
par2ItemStack.itemID = var10.itemID;
par2ItemStack.stackSize = 1;
}
else if (((TileEntityDispenser)par1IBlockSource.func_82619_j()).addItem(new ItemStack(var10)) < 0)
{
this.field_92018_c.dispense(par1IBlockSource, new ItemStack(var10));
}
return par2ItemStack;
}
}