Correction de bug dans les calculs de grades et dans le networkAPI

This commit is contained in:
Marc Baloup 2015-02-09 21:04:58 -05:00
parent f950434030
commit 99bdc8af47
3 changed files with 13 additions and 12 deletions

View File

@ -49,19 +49,21 @@ Renvoi la liste des joueurs connectés, avec quelques infos utiles.
Si la partie **donnée** de la requête contient `op` et seulement ça (c'est à dire que `data.trim().equalsIgnoreCase("op")` doit être vrai), la liste des joueurs contiendra
aussi les joueurs vanish. Sinon, les joueurs vanish ne seront pas inclus dans la liste retournée
La première ligne de la réponse sera de la forme `5/30` avec le premier nombre représentant le nombre de joueur retourné, et le deuxième nombre étant le nombre de slots disponible sur le serveur. Le tout est suivi d'un `\n`.
La première ligne de la réponse sera de la forme `5/30` avec le premier nombre représentant le nombre de joueur retourné, et le deuxième nombre étant le nombre de slots disponible sur le serveur.
Ensuite, une ligne pour un joueur. Chaque ligne, séparé par un `\n`, aura cette forme :
Ensuite, une ligne pour un joueur. Chaque ligne, commençant par un `\n`, aura cette forme :
Pseudojoueur\0§f[§4Admin§f]§4Pseudojoueur§r\01\0creative;20;20\01
Pseudojoueur\0§f[§4Admin§f]§4Pseudojoueur§r\01\0creative\020\020\01
Chaque information sur une ligne sera séparé par un `\0` représentant le caractère NULL. Les informations données sont les suivantes :
1. Pseudo réel du joueur (répondant à la regex `[A-Za-z0-9_]{2,16}`)
2. Pseudo du joueur tel qu'il est affiché IG (avec le préfixe et le suffixe, + éventuellement un nickname, et les codes couleurs de la forme `§x`)
3. `1` si le joueur est actif, `0` si il est AFK.
4. 3 informations séparés par des `;`<br/>- Gamemode du joueur<br/>- Point de vie arrondi à l'unité<br/>- Point de faim arrondi à l'unité
5. `1` si le joueur est visible, `0` si il est vanish.
4. Gamemode du joueur
5. Point de vie arrondi à l'unité
6. Point de faim arrondi à l'unité
7. `1` si le joueur est visible, `0` si il est vanish.
## Structure d'une réponse

View File

@ -21,16 +21,16 @@ public class RequestExecutorPlayerList extends AbstractRequestExecutor {
OnlinePlayerManager.getAll() :
OnlinePlayerManager.getAllNotVanished();
char nul = '\u0000', nl = '\n';
String nul = "\u0000", nl = "\n";
StringBuilder returnData = new StringBuilder();
// d'abord, le nombre de connecté / le nombre de slot
returnData.append(players.size()+"/"+plugin.getServer().getMaxPlayers()+nl);
returnData.append(players.size()+"/"+plugin.getServer().getMaxPlayers());
for (OnlinePlayer op : players) {
returnData.append(op.getPlayer().getName());
returnData.append(nl+op.getPlayer().getName());
returnData.append(nul+op.getPlayer().getDisplayName());
@ -38,13 +38,12 @@ public class RequestExecutorPlayerList extends AbstractRequestExecutor {
returnData.append(nul+op.getPlayer().getGameMode().toString());
returnData.append(';'+op.getPlayer().getHealth());
returnData.append(';'+op.getPlayer().getFoodLevel());
returnData.append(nul+(int)op.getPlayer().getHealth());
returnData.append(nul+(int)op.getPlayer().getFoodLevel());
returnData.append(nul+(op.isVanished()?"0":"1"));
returnData.append(nl);
}

View File

@ -273,7 +273,7 @@ public class OnlinePlayer {
*/
public boolean isInGroup(String group) {
if (group == null) return false;
return PermissionsEx.getUser(player).inGroup(group);
return PermissionsEx.getUser(player).inGroup(group, false);
}
/**