001 package net.minecraft.src; 002 003 import net.minecraft.server.MinecraftServer; 004 005 public class BehaviorBucketEmptyDispense extends BehaviorDefaultDispenseItem 006 { 007 private final BehaviorDefaultDispenseItem field_82497_c; 008 009 final MinecraftServer field_82496_b; 010 011 public BehaviorBucketEmptyDispense(MinecraftServer par1) 012 { 013 this.field_82496_b = par1; 014 this.field_82497_c = new BehaviorDefaultDispenseItem(); 015 } 016 017 public ItemStack func_82487_b(IBlockSource par1IBlockSource, ItemStack par2ItemStack) 018 { 019 EnumFacing var3 = EnumFacing.func_82600_a(par1IBlockSource.func_82620_h()); 020 World var4 = par1IBlockSource.func_82618_k(); 021 int var5 = par1IBlockSource.func_82623_d() + var3.func_82601_c(); 022 int var6 = par1IBlockSource.func_82622_e(); 023 int var7 = par1IBlockSource.func_82621_f() + var3.func_82599_e(); 024 Material var8 = var4.getBlockMaterial(var5, var6, var7); 025 int var9 = var4.getBlockMetadata(var5, var6, var7); 026 Item var10; 027 028 if (Material.water.equals(var8) && var9 == 0) 029 { 030 var10 = Item.bucketWater; 031 } 032 else 033 { 034 if (!Material.lava.equals(var8) || var9 != 0) 035 { 036 return super.func_82487_b(par1IBlockSource, par2ItemStack); 037 } 038 039 var10 = Item.bucketLava; 040 } 041 042 var4.setBlockWithNotify(var5, var6, var7, 0); 043 044 if (--par2ItemStack.stackSize == 0) 045 { 046 par2ItemStack.itemID = var10.shiftedIndex; 047 par2ItemStack.stackSize = 1; 048 } 049 else if (((TileEntityDispenser)par1IBlockSource.func_82619_j()).func_70360_a(new ItemStack(var10)) < 0) 050 { 051 this.field_82497_c.func_82482_a(par1IBlockSource, new ItemStack(var10)); 052 } 053 054 return par2ItemStack; 055 } 056 }