Exemplo n.º 1
0
  /** Returns true if block at coords blocks fluids */
  private boolean blockBlocksFlow(
      final World par1World, final int par2, final int par3, final int par4) {
    final int var5 = par1World.getBlockId(par2, par3, par4);

    if ((var5 != Block.doorWood.blockID)
        && (var5 != Block.doorSteel.blockID)
        && (var5 != Block.signPost.blockID)
        && (var5 != Block.ladder.blockID)
        && (var5 != Block.reed.blockID)) {
      if (var5 == 0) {
        return false;
      } else {
        final Material var6 = Block.blocksList[var5].blockMaterial;
        return var6 == Material.portal ? true : var6.blocksMovement();
      }
    } else {
      return true;
    }
  }
  public int func_76626_d(int p_76626_1_, int p_76626_2_) {
    int var3 = p_76626_1_ | p_76626_2_ << 4;
    int var4 = this.field_76638_b[var3];
    if (var4 == -999) {
      int var5 = this.func_76625_h() + 15;
      var4 = -1;

      while (var5 > 0 && var4 == -1) {
        int var6 = this.func_76610_a(p_76626_1_, var5, p_76626_2_);
        Material var7 =
            var6 == 0 ? Material.field_76249_a : Block.field_71973_m[var6].field_72018_cp;
        if (!var7.func_76230_c() && !var7.func_76224_d()) {
          --var5;
        } else {
          var4 = var5 + 1;
        }
      }

      this.field_76638_b[var3] = var4;
    }

    return var4;
  }