示例#1
0
 public boolean func_1010_a(int i, int j, int k, int l, int i1) {
   byte byte0 = (byte) l;
   int j1 = k << 4 | i;
   if (j >= field_35845_c[j1] - 1) {
     field_35845_c[j1] = -999;
   }
   int k1 = field_1533_h[k << 4 | i] & 0xff;
   int l1 =
       field_1539_b[i << field_1537_d.field_35471_b | k << field_1537_d.field_35473_a | j] & 0xff;
   if (l1 == l && field_1536_e.func_771_a(i, j, k) == i1) {
     return false;
   }
   int i2 = field_1531_j * 16 + i;
   int j2 = field_1530_k * 16 + k;
   field_1539_b[i << field_1537_d.field_35471_b | k << field_1537_d.field_35473_a | j] =
       (byte) (byte0 & 0xff);
   if (l1 != 0) {
     if (!field_1537_d.field_1026_y) {
       Block.field_345_n[l1].func_214_b(field_1537_d, i2, j, j2);
     } else if ((Block.field_345_n[l1] instanceof BlockContainer) && l1 != l) {
       field_1537_d.func_692_l(i2, j, j2);
     }
   }
   field_1536_e.func_770_a(i, j, k, i1);
   if (!field_1537_d.field_4209_q.field_6478_e) {
     if (Block.field_341_r[byte0 & 0xff] != 0) {
       if (j >= k1) {
         func_1003_g(i, j + 1, k);
       }
     } else if (j == k1 - 1) {
       func_1003_g(i, j, k);
     }
     field_1537_d.func_616_a(EnumSkyBlock.Sky, i2, j, j2, i2, j, j2);
   }
   field_1537_d.func_616_a(EnumSkyBlock.Block, i2, j, j2, i2, j, j2);
   func_996_c(i, k);
   field_1536_e.func_770_a(i, j, k, i1);
   if (l != 0) {
     if (!field_1537_d.field_1026_y) {
       Block.field_345_n[l].func_235_e(field_1537_d, i2, j, j2);
     }
     if (Block.field_345_n[l] instanceof BlockContainer) {
       TileEntity tileentity = func_1002_d(i, j, k);
       if (tileentity == null) {
         tileentity = ((BlockContainer) Block.field_345_n[l]).func_283_a_();
         field_1537_d.func_654_a(i2, j, j2, tileentity);
       }
       if (tileentity != null) {
         tileentity.func_35144_b();
       }
     }
   } else if (l1 > 0 && (Block.field_345_n[l1] instanceof BlockContainer)) {
     TileEntity tileentity1 = func_1002_d(i, j, k);
     if (tileentity1 != null) {
       tileentity1.func_35144_b();
     }
   }
   field_1526_o = true;
   return true;
 }
示例#2
0
 public boolean func_1022_a(int i, int j, int k, int l) {
   byte byte0 = (byte) l;
   int i1 = k << 4 | i;
   if (j >= field_35845_c[i1] - 1) {
     field_35845_c[i1] = -999;
   }
   int j1 = field_1533_h[i1] & 0xff;
   int k1 =
       field_1539_b[i << field_1537_d.field_35471_b | k << field_1537_d.field_35473_a | j] & 0xff;
   if (k1 == l) {
     return false;
   }
   int l1 = field_1531_j * 16 + i;
   int i2 = field_1530_k * 16 + k;
   field_1539_b[i << field_1537_d.field_35471_b | k << field_1537_d.field_35473_a | j] =
       (byte) (byte0 & 0xff);
   if (k1 != 0) {
     Block.field_345_n[k1].func_214_b(field_1537_d, l1, j, i2);
   }
   field_1536_e.func_770_a(i, j, k, 0);
   if (Block.field_341_r[byte0 & 0xff] != 0) {
     if (j >= j1) {
       func_1003_g(i, j + 1, k);
     }
   } else if (j == j1 - 1) {
     func_1003_g(i, j, k);
   }
   field_1537_d.func_616_a(EnumSkyBlock.Sky, l1, j, i2, l1, j, i2);
   field_1537_d.func_616_a(EnumSkyBlock.Block, l1, j, i2, l1, j, i2);
   func_996_c(i, k);
   if (l != 0) {
     if (!field_1537_d.field_1026_y) {
       Block.field_345_n[l].func_235_e(field_1537_d, l1, j, i2);
     }
     if (l > 0 && (Block.field_345_n[l] instanceof BlockContainer)) {
       TileEntity tileentity = func_1002_d(i, j, k);
       if (tileentity == null) {
         tileentity = ((BlockContainer) Block.field_345_n[l]).func_283_a_();
         field_1537_d.func_654_a(l1, j, i2, tileentity);
       }
       if (tileentity != null) {
         tileentity.func_35144_b();
       }
     }
   } else if (k1 > 0 && (Block.field_345_n[k1] instanceof BlockContainer)) {
     TileEntity tileentity1 = func_1002_d(i, j, k);
     if (tileentity1 != null) {
       tileentity1.func_35144_b();
     }
   }
   field_1526_o = true;
   return true;
 }