예제 #1
0
 public void func_778_b(EntityPlayerMP entityplayermp)
 {
     if (!field_1072_b.contains(entityplayermp))
     {
         (new IllegalStateException(
              (new StringBuilder()).append("Failed to remove player. ").append(entityplayermp).append(
                  " isn't in chunk ").append(field_1071_c).append(", ").append(field_1070_d).toString())).
         printStackTrace();
         return;
     }
     field_1072_b.remove(entityplayermp);
     if (field_1072_b.size() == 0)
     {
         long l = field_1071_c + 0x7fffffffL | field_1070_d + 0x7fffffffL << 32;
         PlayerManager.func_539_b(field_1073_a).func_670_b(l);
         if (field_1067_g > 0)
         {
             PlayerManager.func_533_c(field_1073_a).remove(this);
         }
         PlayerManager.getMinecraftServer(field_1073_a).worldMngr.field_20911_y.func_374_c(field_1071_c,
                                                                                           field_1070_d);
     }
     entityplayermp.loadedChunks.remove(field_1069_e);
     if (entityplayermp.field_420_ah.contains(field_1069_e))
     {
         entityplayermp.playerNetServerHandler.sendPacket(new Packet50PreChunk(field_1071_c, field_1070_d, false));
     }
 }
예제 #2
0
 public void func_777_a()
 {
     if (field_1067_g == 0)
     {
         return;
     }
     if (field_1067_g == 1)
     {
         int i  = field_1071_c * 16 + field_1066_h;
         int l  = field_1064_j;
         int k1 = field_1070_d * 16 + field_1062_l;
         func_776_a(new Packet53BlockChange(i, l, k1, PlayerManager.getMinecraftServer(field_1073_a).worldMngr));
         if (
             Block.isBlockContainer[PlayerManager.getMinecraftServer(field_1073_a).worldMngr.getBlockId(i, l, k1)
             ])
         {
             func_20178_a(PlayerManager.getMinecraftServer(field_1073_a).worldMngr.getBlockTileEntity(i, l, k1));
         }
     }
     else if (field_1067_g == 10)
     {
         field_1064_j = (field_1064_j / 2) * 2;
         field_1063_k = (field_1063_k / 2 + 1) * 2;
         int j  = field_1066_h + field_1071_c * 16;
         int i1 = field_1064_j;
         int l1 = field_1062_l + field_1070_d * 16;
         int j2 = (field_1065_i - field_1066_h) + 1;
         int l2 = (field_1063_k - field_1064_j) + 2;
         int i3 = (field_1061_m - field_1062_l) + 1;
         func_776_a(new Packet51MapChunk(j, i1, l1, j2, l2, i3,
                                         PlayerManager.getMinecraftServer(field_1073_a).worldMngr));
         List list = PlayerManager.getMinecraftServer(field_1073_a).worldMngr.getTileEntityList(j, i1, l1, j + j2,
                                                                                                i1 + l2, l1 + i3);
         for (int j3 = 0; j3 < list.size(); j3++)
         {
             func_20178_a((TileEntity)list.get(j3));
         }
     }
     else
     {
         func_776_a(new Packet52MultiBlockChange(field_1071_c, field_1070_d, field_1068_f, field_1067_g,
                                                 PlayerManager.getMinecraftServer(field_1073_a).worldMngr));
         for (int k = 0; k < field_1067_g; k++)
         {
             int j1 = field_1071_c * 16 + (field_1067_g >> 12 & 0xf);
             int i2 = field_1067_g & 0xff;
             int k2 = field_1070_d * 16 + (field_1067_g >> 8 & 0xf);
             if (
                 Block.isBlockContainer[
                     PlayerManager.getMinecraftServer(field_1073_a).worldMngr.getBlockId(j1, i2, k2)])
             {
                 [email protected]("Sending!");
                 func_20178_a(PlayerManager.getMinecraftServer(field_1073_a).worldMngr.getBlockTileEntity(j1, i2,
                                                                                                          k2));
             }
         }
     }
     field_1067_g = 0;
 }
예제 #3
0
        public PlayerInstance(PlayerManager playermanager, int i, int j)
        {
            field_1073_a = playermanager;
//
            field_1072_b = new ArrayList();
            field_1068_f = new short[10];
            field_1067_g = 0;
            field_1071_c = i;
            field_1070_d = j;
            field_1069_e = new ChunkCoordIntPair(i, j);
            PlayerManager.getMinecraftServer(playermanager).worldMngr.field_20911_y.loadChunk(i, j);
        }