コード例 #1
0
  public void processPackets() throws IOException {
    byte[] _receiveData = new byte[UDP_PACKET_BUFFER_SIZE];
    while (true) {
      DatagramPacket receivePacket = new DatagramPacket(_receiveData, _receiveData.length);
      serverSocket.receive(receivePacket);
      String data = new String(receivePacket.getData());
      ObjectMapper mapper = new ObjectMapper();
      JsonNode reqJSON = mapper.readValue(data, JsonNode.class);

      String action = reqJSON.get("action").getTextValue();

      if ("MOUSE_CLICK".equals(action)) {
        mc.leftClick();
      } else if ("MOUSE_RIGHT_CLICK".equals(action)) {
        mc.rightClick();
      } else if ("MOUSE_MOVE".equals(action)) {
        JsonNode value = reqJSON.get("value");
        mc.scaleAndMove(value);
      } else if ("MOUSE_SPEED".equals(action)) {
        String value = reqJSON.get("value").getTextValue();
        if ("PLUS".equals(value)) {
          mc.setScale(1);
        } else {
          mc.setScale(-1);
        }
      }

      /*
       * clearing the buffer used to receive UDP packet data to avoid data
       * corruption
       */
      for (int i = 0; i < UDP_PACKET_BUFFER_SIZE; i++) {
        _receiveData[i] = (byte) (0);
      }
    }
  }