예제 #1
0
  public boolean interactWith(
      ItemStack itemstack,
      EntityHuman entityhuman,
      World world,
      BlockPosition blockposition,
      EnumDirection enumdirection,
      float f,
      float f1,
      float f2) {
    if (!entityhuman.a(blockposition.shift(enumdirection), enumdirection, itemstack)) {
      return false;
    } else {
      IBlockData iblockdata = world.getType(blockposition);
      Block block = iblockdata.getBlock();

      if (enumdirection != EnumDirection.DOWN
          && world.getType(blockposition.up()).getBlock().getMaterial() == Material.AIR) {
        if (block == Blocks.GRASS) {
          return this.a(
              itemstack, entityhuman, world, blockposition, Blocks.FARMLAND.getBlockData());
        }

        if (block == Blocks.DIRT) {
          switch (ItemHoe.SyntheticClass_1.a[
              ((BlockDirt.EnumDirtVariant) iblockdata.get(BlockDirt.VARIANT)).ordinal()]) {
            case 1:
              return this.a(
                  itemstack, entityhuman, world, blockposition, Blocks.FARMLAND.getBlockData());

            case 2:
              return this.a(
                  itemstack,
                  entityhuman,
                  world,
                  blockposition,
                  Blocks.DIRT
                      .getBlockData()
                      .set(BlockDirt.VARIANT, BlockDirt.EnumDirtVariant.DIRT));
          }
        }
      }

      return false;
    }
  }
예제 #2
0
  public UseResult registerItemKey(
      ItemStack var1,
      EntityHuman var2,
      World var3,
      BlockPosition var4,
      EnumUsedHand var5,
      EnumDirection var6,
      float var7,
      float var8,
      float var9) {
    if (!var2.a(var4.shift(var6), var6, var1)) {
      return UseResult.CANT_USE;
    } else {
      IBlockData var10 = var3.getType(var4);
      Block var11 = var10.getBlock();
      if (var6 != EnumDirection.DOWN
          && var3.getType(var4.up()).getBlock().getMaterial() == Material.AIR) {
        if (var11 == Blocks.GRASS || var11 == Blocks.GRASS_PATH) {
          return this.a(var1, var2, var3, var4, Blocks.FARMLAND.getBlockData());
        }

        if (var11 == Blocks.DIRT) {
          switch (ItemHoe.SyntheticClass_1.a[
              ((BlockDirt.EnumDirtVariant) var10.get(BlockDirt.VARIANT)).ordinal()]) {
            case 1:
              return this.a(var1, var2, var3, var4, Blocks.FARMLAND.getBlockData());
            case 2:
              return this.a(
                  var1,
                  var2,
                  var3,
                  var4,
                  Blocks.DIRT
                      .getBlockData()
                      .set(BlockDirt.VARIANT, BlockDirt.EnumDirtVariant.DIRT));
          }
        }
      }

      return UseResult.CANT_USE;
    }
  }