Correction de bug dans les calculs de grades et dans le networkAPI
This commit is contained in:
parent
f950434030
commit
99bdc8af47
@ -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
|
||||
|
@ -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);
|
||||
}
|
||||
|
||||
|
||||
|
@ -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);
|
||||
}
|
||||
|
||||
/**
|
||||
|
Loading…
Reference in New Issue
Block a user