Ajout des alias pour /lobby et /hub + alias insensible à la casse + Ajout de la configuration des messages automatiques
This commit is contained in:
parent
c39f00c6ee
commit
c5b3d8b5be
@ -7,6 +7,7 @@ import java.util.HashMap;
|
||||
import java.util.List;
|
||||
import java.util.Map;
|
||||
|
||||
import org.bukkit.ChatColor;
|
||||
import org.bukkit.configuration.file.FileConfiguration;
|
||||
|
||||
/*
|
||||
@ -116,6 +117,49 @@ public class ConfigManager {
|
||||
|
||||
|
||||
|
||||
|
||||
/*
|
||||
* Automessages
|
||||
*/
|
||||
public List<Map<String, String>> Automessages_messages;
|
||||
|
||||
private void initAutomessages() {
|
||||
Automessages_messages = new ArrayList<Map<String,String>>();
|
||||
|
||||
String default_color = ChatColor.YELLOW.toString();
|
||||
|
||||
Map<String, String> message;
|
||||
message = new HashMap<String, String>();
|
||||
message.put("message", "WorldEdit disponible en &bCréatif"+default_color+" avec le grade &f[&eUltimate&f]"+default_color+". Profitez en vite :D%n&f &a http://mc-pandacraft.net/?p=ultimate");
|
||||
message.put("permissions", "*");
|
||||
Automessages_messages.add(message);
|
||||
|
||||
message = new HashMap<String, String>();
|
||||
message.put("message", "Launcher disponible pour Pandacraft : Optifine intégré et mise à jour automatique avec le serveur.%n &ahttp://mc-pandacraft.net/?p=launcher");
|
||||
message.put("permissions", "*");
|
||||
Automessages_messages.add(message);
|
||||
|
||||
message = new HashMap<String, String>();
|
||||
message.put("message", ChatColor.BLUE+"Bienvenue sur Pandacraft ! :) Pour pouvoir jouer, n'oubliez pas de vous inscrire en cliquant sur le lien en dessous%n &ahttp://mc-pandacraft.net/?p=inscription");
|
||||
message.put("permissions", "pandacraft.grade.default");
|
||||
Automessages_messages.add(message);
|
||||
|
||||
/*
|
||||
* Fonctionnement :
|
||||
* Chaque joueur a une variable indiquand la date/heure du dernier message affiché
|
||||
* Cette valeur est initialisé à la valeur courante, lors de chaque connexion du joueur
|
||||
* Selon le grade, l'intervalle entre les messages est défini : 2min30 pour les visiteurs, 10 minutes pour les autres
|
||||
* Chaque joueur a une variable qui correspond à l'ID du dernier message (dans l'ArrayList) pour ne pas répéter deux fois le même
|
||||
*/
|
||||
|
||||
}
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
/*
|
||||
* Configuration AFK
|
||||
*/
|
||||
@ -234,6 +278,18 @@ public class ConfigManager {
|
||||
alias.put("permissions", "*"); // tout le monde
|
||||
CommandAlias_alias.add(alias);
|
||||
|
||||
alias = new HashMap<String, String>();
|
||||
alias.put("initialCommand", "/lobby");
|
||||
alias.put("replaceWith", "/spawn");
|
||||
alias.put("permissions", "*"); // tout le monde
|
||||
CommandAlias_alias.add(alias);
|
||||
|
||||
alias = new HashMap<String, String>();
|
||||
alias.put("initialCommand", "/hub");
|
||||
alias.put("replaceWith", "/spawn");
|
||||
alias.put("permissions", "*"); // tout le monde
|
||||
CommandAlias_alias.add(alias);
|
||||
|
||||
alias = new HashMap<String, String>();
|
||||
alias.put("initialCommand", "/tete");
|
||||
alias.put("replaceWith", "/heads nick");
|
||||
|
@ -33,19 +33,26 @@ public class CommandAliasManager implements Listener {
|
||||
for (Map<String, String> alias : aliases) {
|
||||
if (alias == null)
|
||||
continue;
|
||||
String perm = alias.get("permissions");
|
||||
String perms = alias.get("permissions");
|
||||
String initialCmd = alias.get("initialCommand");
|
||||
String aliasCmd = alias.get("replaceWith");
|
||||
if (perm == null || initialCmd == null || aliasCmd == null)
|
||||
if (perms == null || initialCmd == null || aliasCmd == null)
|
||||
continue;
|
||||
|
||||
if (!p.hasPermission(perm))
|
||||
continue;
|
||||
if (!perms.equals("*")) {
|
||||
String[] aPerms = perms.split(";");
|
||||
boolean found = false;
|
||||
for (String perm : aPerms) {
|
||||
if (perm == null || perm.equals("")) continue; // boucle qui parcours les permissions de l'alias
|
||||
if (p.hasPermission(perm)) found = true;
|
||||
}
|
||||
if (!found) continue; // boucle qui parcours les alias de commandes
|
||||
}
|
||||
|
||||
String mess = event.getMessage();
|
||||
|
||||
if(mess.toLowerCase().startsWith(initialCmd))
|
||||
mess = mess.replaceFirst(initialCmd, aliasCmd);
|
||||
mess = mess.replaceFirst("(?i)"+initialCmd, aliasCmd);
|
||||
else
|
||||
continue;
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user