예제 #1
0
  /**
   * Description : Callback for item usage. If the item does something special on right clicking, he
   * will have one of those. Return True if something happen and false if it don't. This is for
   * ITEMS, not BLOCKS. Args : stack, player, world, x, y, z, side, hitX, hitY, hitZ
   */
  public boolean onItemUse(
      ItemStack p_77648_1_,
      EntityPlayer p_77648_2_,
      World p_77648_3_,
      int p_77648_4_,
      int p_77648_5_,
      int p_77648_6_,
      int p_77648_7_,
      float p_77648_8_,
      float p_77648_9_,
      float p_77648_10_) {
    if (!p_77648_2_.canPlayerEdit(p_77648_4_, p_77648_5_, p_77648_6_, p_77648_7_, p_77648_1_)) {
      return false;
    } else {
      if (p_77648_1_.getMetadata() == 15) {
        if (applyBonemeal(p_77648_1_, p_77648_3_, p_77648_4_, p_77648_5_, p_77648_6_, p_77648_2_)) {
          if (!p_77648_3_.isRemote) {
            p_77648_3_.playAuxSFX(2005, p_77648_4_, p_77648_5_, p_77648_6_, 0);
          }

          return true;
        }
      } else if (p_77648_1_.getMetadata() == 3) {
        Block block = p_77648_3_.getBlock(p_77648_4_, p_77648_5_, p_77648_6_);
        int i1 = p_77648_3_.getBlockMetadata(p_77648_4_, p_77648_5_, p_77648_6_);

        if (block == Blocks.log && BlockLog.func_150165_c(i1) == 3) {
          if (p_77648_7_ == 0) {
            return false;
          }

          if (p_77648_7_ == 1) {
            return false;
          }

          if (p_77648_7_ == 2) {
            --p_77648_6_;
          }

          if (p_77648_7_ == 3) {
            ++p_77648_6_;
          }

          if (p_77648_7_ == 4) {
            --p_77648_4_;
          }

          if (p_77648_7_ == 5) {
            ++p_77648_4_;
          }

          if (p_77648_3_.isAirBlock(p_77648_4_, p_77648_5_, p_77648_6_)) {
            int j1 =
                Blocks.cocoa.onBlockPlaced(
                    p_77648_3_,
                    p_77648_4_,
                    p_77648_5_,
                    p_77648_6_,
                    p_77648_7_,
                    p_77648_8_,
                    p_77648_9_,
                    p_77648_10_,
                    0);
            p_77648_3_.setBlock(p_77648_4_, p_77648_5_, p_77648_6_, Blocks.cocoa, j1, 2);

            if (!p_77648_2_.capabilities.isCreativeMode) {
              --p_77648_1_.stackSize;
            }
          }

          return true;
        }
      }

      return false;
    }
  }