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
|
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
|
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 :
|
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}`)
|
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`)
|
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.
|
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é
|
4. Gamemode du joueur
|
||||||
5. `1` si le joueur est visible, `0` si il est vanish.
|
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
|
## Structure d'une réponse
|
||||||
|
@ -21,16 +21,16 @@ public class RequestExecutorPlayerList extends AbstractRequestExecutor {
|
|||||||
OnlinePlayerManager.getAll() :
|
OnlinePlayerManager.getAll() :
|
||||||
OnlinePlayerManager.getAllNotVanished();
|
OnlinePlayerManager.getAllNotVanished();
|
||||||
|
|
||||||
char nul = '\u0000', nl = '\n';
|
String nul = "\u0000", nl = "\n";
|
||||||
|
|
||||||
StringBuilder returnData = new StringBuilder();
|
StringBuilder returnData = new StringBuilder();
|
||||||
|
|
||||||
// d'abord, le nombre de connecté / le nombre de slot
|
// 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) {
|
for (OnlinePlayer op : players) {
|
||||||
|
|
||||||
returnData.append(op.getPlayer().getName());
|
returnData.append(nl+op.getPlayer().getName());
|
||||||
|
|
||||||
returnData.append(nul+op.getPlayer().getDisplayName());
|
returnData.append(nul+op.getPlayer().getDisplayName());
|
||||||
|
|
||||||
@ -38,13 +38,12 @@ public class RequestExecutorPlayerList extends AbstractRequestExecutor {
|
|||||||
|
|
||||||
|
|
||||||
returnData.append(nul+op.getPlayer().getGameMode().toString());
|
returnData.append(nul+op.getPlayer().getGameMode().toString());
|
||||||
returnData.append(';'+op.getPlayer().getHealth());
|
returnData.append(nul+(int)op.getPlayer().getHealth());
|
||||||
returnData.append(';'+op.getPlayer().getFoodLevel());
|
returnData.append(nul+(int)op.getPlayer().getFoodLevel());
|
||||||
|
|
||||||
|
|
||||||
returnData.append(nul+(op.isVanished()?"0":"1"));
|
returnData.append(nul+(op.isVanished()?"0":"1"));
|
||||||
|
|
||||||
returnData.append(nl);
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
@ -273,7 +273,7 @@ public class OnlinePlayer {
|
|||||||
*/
|
*/
|
||||||
public boolean isInGroup(String group) {
|
public boolean isInGroup(String group) {
|
||||||
if (group == null) return false;
|
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