public void onQuestionReceive(Player player, String question) {
   String name = player.getName().toLowerCase();
   if (question.equals("REG")) {
     String registered = String.valueOf(plugin.data.isRegistered(name));
     plugin.sendCustomPayload(player, "A_REG " + registered);
   } else if (question.equals("REQ")) {
     String required = String.valueOf(plugin.required);
     plugin.sendCustomPayload(player, "A_REQ " + required);
   } else if (question.equals("PING")) {
     if (plugin.messaging.contains(name)) {
       plugin.messaging.remove(name);
     }
   }
 }
 @Override
 public void onPluginMessageReceived(String channel, Player player, byte[] rawMessage) {
   if (channel.equals(plugin.getName())) {
     try {
       String message = new String(rawMessage, "UTF-8");
       if (message.startsWith("Q_")) {
         this.onQuestionReceive(player, message.substring(2));
       } else if (message.startsWith("A_")) {
         String[] data = message.substring(2).split(" ", 2);
         String question = data[0];
         String answer = data[1];
         this.onAnswerReceive(player, question, answer);
       }
     } catch (UnsupportedEncodingException e) {
       plugin.getLogger().log(Level.SEVERE, "Failed to decode client message", e);
     }
   }
 }