Package cofh.core.item

Source Code of cofh.core.item.ItemBucket

package cofh.core.item;

import cofh.core.util.fluid.BucketHandler;

import net.minecraft.entity.player.EntityPlayer;
import net.minecraft.init.Items;
import net.minecraft.item.Item;
import net.minecraft.item.ItemStack;
import net.minecraft.util.MovingObjectPosition;
import net.minecraft.util.MovingObjectPosition.MovingObjectType;
import net.minecraft.world.World;

public class ItemBucket extends ItemBase {

  Item container = Items.bucket;

  public ItemBucket() {

    super();
    setMaxStackSize(1);
    setContainerItem(container);
  }

  public ItemBucket(String modName) {

    super(modName);
    setMaxStackSize(1);
    setContainerItem(container);
  }

  public ItemBucket(Item container) {

    super();
    setMaxStackSize(1);
    this.container = container;
    setContainerItem(container);
  }

  @Override
  public ItemStack onItemRightClick(ItemStack stack, World world, EntityPlayer player) {

    MovingObjectPosition pos = this.getMovingObjectPositionFromPlayer(world, player, false);

    if (pos == null || pos.typeOfHit != MovingObjectType.BLOCK) {
      return stack;
    }
    int x = pos.blockX;
    int y = pos.blockY;
    int z = pos.blockZ;

    switch (pos.sideHit) {
    case 0:
      --y;
      break;
    case 1:
      ++y;
      break;
    case 2:
      --z;
      break;
    case 3:
      ++z;
      break;
    case 4:
      --x;
      break;
    case 5:
      ++x;
      break;
    }
    if (!player.canPlayerEdit(x, y, z, pos.sideHit, stack) || !world.isAirBlock(x, y, z) && world.getBlock(x, y, z).getMaterial().isSolid()) {
      return stack;
    }
    if (BucketHandler.emptyBucket(world, x, y, z, stack)) {
      if (!player.capabilities.isCreativeMode) {
        return new ItemStack(container);
      }
    }
    return stack;
  }

}
TOP

Related Classes of cofh.core.item.ItemBucket

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.