Ejemplo n.º 1
0
  /**
   * method to handle packets that were sent to the server. mostly the same as above but with
   * different handling.
   *
   * @param manager
   * @param packet
   * @param player
   * @param dat
   * @param ID
   */
  public void handleServerPacket(
      Packet packet, EntityPlayer player, ByteArrayDataInput dat, short ID) {
    EntityPlayerMP thePlayer = (EntityPlayerMP) player;
    World world = thePlayer.worldObj;

    if (ID == 1) {
      int coords[] = new int[3];

      for (int var1 = 0; var1 < 3; var1++) {
        coords[var1] = dat.readInt();
      }

      TileEntityPressurePlate tpp =
          (TileEntityPressurePlate) world.getTileEntity(coords[0], coords[1], coords[2]);
      short var3 = dat.readShort();
      StringBuilder var4 = new StringBuilder();

      for (int var5 = 0; var5 < var3; var5++) {
        var4.append(dat.readChar());
      }

      String var6 = var4.toString();
      tpp.switchMob(var6, world);
      return;
    }

    if (ID == 2) {
      int coords[] = new int[3];

      for (int var1 = 0; var1 < 3; var1++) {
        coords[var1] = dat.readInt();
      }

      TileEntityPressurePlate tpp =
          (TileEntityPressurePlate) world.getTileEntity(coords[0], coords[1], coords[2]);
      short var3 = dat.readShort();
      StringBuilder var4 = new StringBuilder();

      for (int var5 = 0; var5 < var3; var5++) {
        var4.append(dat.readChar());
      }

      String var6 = var4.toString();
      tpp.switchPlayer(var6, world);
      return;
    }

    if (ID == 3) {
      int coords[] = new int[3];

      for (int var1 = 0; var1 < 3; var1++) {
        coords[var1] = dat.readInt();
      }

      if (world.getTileEntity(coords[0], coords[1], coords[2]) instanceof TileEntityPressurePlate) {
        TileEntityPressurePlate tpp =
            (TileEntityPressurePlate) world.getTileEntity(coords[0], coords[1], coords[2]);
        int usernameLength = dat.readInt();
        String username = "";

        for (int var2 = 0; var2 < usernameLength; var2++) {
          char c = dat.readChar();
          username = new StringBuilder().append(username).append(c).toString();
        }

        int playerUsernameLength = dat.readInt();
        String playerUsername = "";

        for (int var2 = 0; var2 < playerUsernameLength; var2++) {
          char c = dat.readChar();
          playerUsername = new StringBuilder().append(playerUsername).append(c).toString();
        }

        boolean bool = tpp.addPlayer(username);
        PacketSendManager.sendAddBooleanToClient(
            bool, coords[0], coords[1], coords[2], playerUsername);
        PacketSendManager.sendPressurePlatePlayerDataToClient(tpp);
      }

      return;
    }

    if (ID == 4) {
      int coords[] = new int[3];

      for (int var1 = 0; var1 < 3; var1++) {
        coords[var1] = dat.readInt();
      }

      if (world.getTileEntity(coords[0], coords[1], coords[2]) instanceof TileEntityPressurePlate) {
        TileEntityPressurePlate tpp =
            (TileEntityPressurePlate) world.getTileEntity(coords[0], coords[1], coords[2]);
        int usernameLength = dat.readInt();
        String username = "";

        for (int var2 = 0; var2 < usernameLength; var2++) {
          char c = dat.readChar();
          username = new StringBuilder().append(username).append(c).toString();
        }

        String playerUsername = "";
        int playerUsernameLength = dat.readInt();

        for (int var3 = 0; var3 < playerUsernameLength; var3++) {
          char c = dat.readChar();
          playerUsername = new StringBuilder().append(playerUsername).append(c).toString();
        }

        boolean bool = tpp.removePlayer(username);
        PacketSendManager.sendRemoveBooleanToClient(
            bool, coords[0], coords[1], coords[2], playerUsername);
        PacketSendManager.sendPressurePlatePlayerDataToClient(tpp);
      }

      return;
    }

    if (ID == 5) {
      int coords[] = new int[3];

      for (int var1 = 0; var1 < 3; var1++) {
        coords[var1] = dat.readInt();
      }

      if (world.getTileEntity(coords[0], coords[1], coords[2]) instanceof TileEntityPressurePlate) {
        TileEntityPressurePlate tpp =
            (TileEntityPressurePlate) world.getTileEntity(coords[0], coords[1], coords[2]);
        PacketSendManager.sendPressurePlatePlayerDataToClient(tpp);
      }

      return;
    }

    if (ID == 6) {
      int[] coords = new int[3];

      for (int var2 = 0; var2 < 3; var2++) {
        coords[var2] = dat.readInt();
      }

      TileEntityPressurePlate tpp = null;

      if (world.getTileEntity(coords[0], coords[1], coords[2]) instanceof TileEntityPressurePlate) {
        tpp = (TileEntityPressurePlate) world.getTileEntity(coords[0], coords[1], coords[2]);
      }

      if (tpp != null) {
        PacketSendManager.sendPressurePlateMobDataToClient(tpp);
        PacketSendManager.sendPressurePlatePlayerDataToClient(tpp);
        PacketSendManager.sendSettingsDataToClient(tpp);
        PacketSendManager.sendChangedDataToClient(tpp);
      }

      return;
    }

    if (ID == 7) {
      PPRegistry.loggedIn = true;
    }

    if (ID == 8) {
      int coords[] = new int[3];

      for (int var1 = 0; var1 < 3; var1++) {
        coords[var1] = dat.readInt();
      }

      TileEntityPressurePlate tpp = null;

      if (world.getTileEntity(coords[0], coords[1], coords[2]) instanceof TileEntityPressurePlate) {
        tpp = (TileEntityPressurePlate) world.getTileEntity(coords[0], coords[1], coords[2]);
      }

      if (tpp != null) {
        int index = dat.readInt();
        tpp.switchSetting(index);
      }

      return;
    }

    if (ID == 9) {
      int coords[] = new int[3];

      for (int var1 = 0; var1 < 3; var1++) {
        coords[var1] = dat.readInt();
      }

      TileEntityPressurePlate tpp = null;

      if (world.getTileEntity(coords[0], coords[1], coords[2]) instanceof TileEntityPressurePlate) {
        tpp = (TileEntityPressurePlate) world.getTileEntity(coords[0], coords[1], coords[2]);
      }

      if (tpp != null) {
        int length = dat.readInt();
        StringBuilder sb = new StringBuilder();

        for (int var1 = 0; var1 < length; var1++) {
          sb.append(dat.readChar());
        }

        String s = sb.toString();
        tpp.password = s;
        PacketSendManager.sendPasswordSetToClient(tpp, player);
      }

      return;
    }

    if (ID == 10) {
      int coords[] = new int[3];

      for (int var1 = 0; var1 < 3; var1++) {
        coords[var1] = dat.readInt();
      }

      TileEntityPressurePlate tpp = null;

      if (world.getTileEntity(coords[0], coords[1], coords[2]) instanceof TileEntityPressurePlate) {
        tpp = (TileEntityPressurePlate) world.getTileEntity(coords[0], coords[1], coords[2]);
      }

      if (tpp != null) {
        int length = dat.readInt();
        StringBuilder sb = new StringBuilder();

        for (int var1 = 0; var1 < length; var1++) {
          sb.append(dat.readChar());
        }

        String s = sb.toString();
        boolean b = tpp.password.matches(s);
        PacketSendManager.sendPasswordResponseToClient(tpp, b, thePlayer);
      }

      return;
    }

    if (ID == 11) {
      int coords[] = new int[3];

      for (int var1 = 0; var1 < 3; var1++) {
        coords[var1] = dat.readInt();
      }

      TileEntityPressurePlate tpp = null;

      if (world.getTileEntity(coords[0], coords[1], coords[2]) instanceof TileEntityPressurePlate) {
        tpp = (TileEntityPressurePlate) world.getTileEntity(coords[0], coords[1], coords[2]);
      }

      if (tpp != null) {
        PacketSendManager.sendPasswordToClient(tpp, thePlayer);
      }

      return;
    }

    if (ID == 12) {
      int coords[] = new int[3];

      for (int var1 = 0; var1 < 3; var1++) {
        coords[var1] = dat.readInt();
      }

      int GuiID = dat.readInt();
      TileEntityPressurePlate tpp = null;

      if (world.getTileEntity(coords[0], coords[1], coords[2]) instanceof TileEntityPressurePlate) {
        tpp = (TileEntityPressurePlate) world.getTileEntity(coords[0], coords[1], coords[2]);
      }

      if (tpp != null) {
        thePlayer.openGui(IronPP.instance, GuiID, world, tpp.xCoord, tpp.yCoord, tpp.zCoord);
      }

      return;
    }

    if (ID == 13) {
      int coords[] = new int[3];

      for (int var1 = 0; var1 < 3; var1++) {
        coords[var1] = dat.readInt();
      }

      world.setBlockToAir(coords[0], coords[1], coords[2]);
    }
    if (ID == 14) {
      int coords[] = new int[3];

      for (int var1 = 0; var1 < 3; var1++) {
        coords[var1] = dat.readInt();
      }
      TileEntity te = world.getTileEntity(coords[0], coords[1], coords[2]);
      if (te instanceof TileEntityPressurePlate) {
        ((TileEntityPressurePlate) te).maxOutput = dat.readInt();
        ((TileEntityPressurePlate) te).itemsForMax = dat.readInt();
        PacketSendManager.sendChangedDataToClient((TileEntityPressurePlate) te);
      }
    }
  }