Skocz do zawartości
  • 👋 Witaj na MPCForum!

    Przeglądasz forum jako gość, co oznacza, że wiele świetnych funkcji jest jeszcze przed Tobą! 😎

    • Pełny dostęp do działów i ukrytych treści
    • Możliwość pisania i odpowiadania w tematach
    • System prywatnych wiadomości
    • Zbieranie reputacji i rozwijanie swojego profilu
    • Członkostwo w jednej z największych społeczności graczy

    👉 Dołączenie zajmie Ci mniej niż minutę – a zyskasz znacznie więcej!

    Zarejestruj się teraz

[Problem] Argumentowanie komend <- Bukkit API


xWatx

Rekomendowane odpowiedzi

Opublikowano

Witam,

dopisalem argument do komendy test (reload), config przeladowywuje, ale takze wysietla STRING'a "TEST" z configu. Jak zrobilem osobna komende to dzialalo i reloadowalo tylko config.

 

KOD:

 

@Override
public boolean onCommand(CommandSender sender, Command cmd, String label,
String[] args) {
 
if(cmd.getName().equalsIgnoreCase("test")){
sender.sendMessage(plugin.getConfig().getString("TEST"));
 
if(args.length == 1){
if(args[0].equalsIgnoreCase("reload")){
plugin.reloadConfig();
sender.sendMessage("Zaladowano");
}
}
 
}
return true;
 
}
 
Wiecie jak zrobic aby po wpisaniu /test reload pisalo tylko "Zaladowano"? Nie chce, aby string wyswietlalo... Prosze o pomoc.
Opublikowano


@Override

public boolean onCommand(CommandSender sender, Command cmd, String label, String[] args) {

if(cmd.getName().equalsIgnoreCase("test")){

if(args.length == 1){

if(args[0].equalsIgnoreCase("reload")){

plugin.reloadConfig();

sender.sendMessage("Zaladowano");

return true;

}

}

}

return true;

}

Opublikowano


@Override

public boolean onCommand(CommandSender sender, Command cmd, String label, String[] args) {

if(cmd.getName().equalsIgnoreCase("test")){

if(args.lenght == 0){

sender.sendMessage("STRING");

return true;

}

if(args.length == 1){

if(args[0].equalsIgnoreCase("reload")){

plugin.reloadConfig();

sender.sendMessage("Zaladowano");

return true;

}

}

}

return true;

}

Opublikowano

Mam problem z tym kodem. Napialem plugin taki, ze zmieniam motd serwera komenda, ale dziala nie jak nalezy.

 

KOD:

 

if(args[0].equalsIgnoreCase("change")){
if(args.length <= 10){
plugin.getConfig().set("motd", Joiner.on(' ').join(args));
plugin.saveConfig();
sender.sendMessage(plugin.getConfig().getString("change"));
return true;
}
}
 
Chodzi o to, ze chce aby po wpisaniu /test change <nazwa motd> w nazwie serwera bylo "<motd>". Bo jak wpisze /test change <nazwa motd> to w nazwie serwera jest "change <nazwa motd>" Jak to naprawic, aby nazwe serwera dodawalo bez wyrazu "change"? Prosze o pomoc.
Opublikowano

­

Mam problem z tym kodem. Napialem plugin taki, ze zmieniam motd serwera komenda, ale dziala nie jak nalezy.

 

KOD:

 

 

if(args[0].equalsIgnoreCase("change")){
if(args.length <= 10){
plugin.getConfig().set("motd", Joiner.on(' ').join(args));
plugin.saveConfig();
sender.sendMessage(plugin.getConfig().getString("change"));
return true;
}
}
 

Chodzi o to, ze chce aby po wpisaniu /test change <nazwa motd> w nazwie serwera bylo "<motd>". Bo jak wpisze /test change <nazwa motd> to w nazwie serwera jest "change <nazwa motd>" Jak to naprawic, aby nazwe serwera dodawalo bez wyrazu "change"? Prosze o pomoc.

 

Użyj StringUtils.join(args, ' ', 1, args.length), powinno zaskoczyć (zamiast joinera, chyba że on też ma możliwość wskazania od którego argumentu ma działać, nie chce mi się sprawdzać)

1438614356923701010629.png

 

Zarchiwizowany

Ten temat przebywa obecnie w archiwum. Dodawanie nowych odpowiedzi zostało zablokowane.

×
×
  • Dodaj nową pozycję...