Package cofh.core.util.fluid

Source Code of cofh.core.util.fluid.DispenserEmptyBucketHandler

package cofh.core.util.fluid;

import net.minecraft.block.BlockDispenser;
import net.minecraft.dispenser.BehaviorDefaultDispenseItem;
import net.minecraft.dispenser.IBlockSource;
import net.minecraft.item.ItemStack;
import net.minecraft.tileentity.TileEntityDispenser;
import net.minecraft.util.EnumFacing;
import net.minecraft.world.World;

public final class DispenserEmptyBucketHandler extends BehaviorDefaultDispenseItem {

  private final BehaviorDefaultDispenseItem defaultDispenserItemBehavior = new BehaviorDefaultDispenseItem();

  @Override
  public ItemStack dispenseStack(IBlockSource blockSource, ItemStack stackBucket) {

    EnumFacing facing = BlockDispenser.func_149937_b(blockSource.getBlockMetadata());
    World world = blockSource.getWorld();

    int x = blockSource.getXInt() + facing.getFrontOffsetX();
    int y = blockSource.getYInt() + facing.getFrontOffsetY();
    int z = blockSource.getZInt() + facing.getFrontOffsetZ();

    ItemStack filledBucket = BucketHandler.fillBucket(world, x, y, z);
    if (filledBucket == null) {
      return defaultDispenserItemBehavior.dispense(blockSource, stackBucket);
    }
    if (--stackBucket.stackSize == 0) {
      stackBucket = filledBucket.copy();
    } else if (((TileEntityDispenser) blockSource.getBlockTileEntity()).func_146019_a(filledBucket) < 0) {
      return defaultDispenserItemBehavior.dispense(blockSource, stackBucket);
    }
    return stackBucket;
  }

}
TOP

Related Classes of cofh.core.util.fluid.DispenserEmptyBucketHandler

TOP
Copyright © 2018 www.massapi.com. All rights reserved.
All source code are property of their respective owners. Java is a trademark of Sun Microsystems, Inc and owned by ORACLE Inc. Contact coftware#gmail.com.