Advertisement
Superloup10

Dispenser

Mar 17th, 2014
99
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Java 2.30 KB | None | 0 0
  1. BlockDispenser.dispenseBehaviorRegistry.putObject(Items.lava_bucket, behaviordefaultdispenseitem);
  2.         BlockDispenser.dispenseBehaviorRegistry.putObject(Items.water_bucket, behaviordefaultdispenseitem);
  3.         BlockDispenser.dispenseBehaviorRegistry.putObject(Items.bucket, new BehaviorDefaultDispenseItem()
  4.         {
  5.             private final BehaviorDefaultDispenseItem field_150840_b = new BehaviorDefaultDispenseItem();
  6.             private static final String __OBFID = "CL_00001400";
  7.             /**
  8.              * Dispense the specified stack, play the dispense sound and spawn particles.
  9.              */
  10.             public ItemStack dispenseStack(IBlockSource par1IBlockSource, ItemStack par2ItemStack)
  11.             {
  12.                 EnumFacing enumfacing = BlockDispenser.func_149937_b(par1IBlockSource.getBlockMetadata());
  13.                 World world = par1IBlockSource.getWorld();
  14.                 int i = par1IBlockSource.getXInt() + enumfacing.getFrontOffsetX();
  15.                 int j = par1IBlockSource.getYInt() + enumfacing.getFrontOffsetY();
  16.                 int k = par1IBlockSource.getZInt() + enumfacing.getFrontOffsetZ();
  17.                 Material material = world.getBlock(i, j, k).getMaterial();
  18.                 int l = world.getBlockMetadata(i, j, k);
  19.                 Item item;
  20.  
  21.                 if (Material.water.equals(material) && l == 0)
  22.                 {
  23.                     item = Items.water_bucket;
  24.                 }
  25.                 else
  26.                 {
  27.                     if (!Material.lava.equals(material) || l != 0)
  28.                     {
  29.                         return super.dispenseStack(par1IBlockSource, par2ItemStack);
  30.                     }
  31.  
  32.                     item = Items.lava_bucket;
  33.                 }
  34.  
  35.                 world.setBlockToAir(i, j, k);
  36.  
  37.                 if (--par2ItemStack.stackSize == 0)
  38.                 {
  39.                     par2ItemStack.func_150996_a(item);
  40.                     par2ItemStack.stackSize = 1;
  41.                 }
  42.                 else if (((TileEntityDispenser)par1IBlockSource.getBlockTileEntity()).func_146019_a(new ItemStack(item)) < 0)
  43.                 {
  44.                     this.field_150840_b.dispense(par1IBlockSource, new ItemStack(item));
  45.                 }
  46.  
  47.                 return par2ItemStack;
  48.             }
  49.         });
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement