xTea_199 4 Opublikowano 26 kwietnia 2017 Udostępnij Opublikowano 26 kwietnia 2017 czemu jeżeli stworzę 2 komendy i dodam je do plugin.yml działa tylko 1? package pl.xx.ox; import org.bukkit.command.Command; import org.bukkit.command.CommandSender; import org.bukkit.plugin.java.JavaPlugin; public class Main extends JavaPlugin{ @Override public boolean onCommand(CommandSender sender, Command command, String label, String[] args) { if(command.getName().equalsIgnoreCase("Vip")){ sender.sendMessage("§8Vip"); } return false; } } Tutaj druga komenda w folderze package pl.xx.ox.svip; import org.bukkit.command.Command; import org.bukkit.command.CommandSender; import org.bukkit.plugin.java.JavaPlugin; public class svip extends JavaPlugin{ @Override public boolean onCommand(CommandSender sender, Command command, String label, String[] args) { if(command.getName().equalsIgnoreCase("SVip")){ sender.sendMessage("§8SVip"); } return false; } } Plik.yml name: vip main: pl.xvector.gmail.com.core.Main author: xVector version: 1.0 commands: pomoc: vip: name: vCorex main: pl.xx.ox.Main author: xxxxx version: 1.0 commands: vip: svip: Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
0 TheMolkaPL 344 Opublikowano 26 kwietnia 2017 Udostępnij Opublikowano 26 kwietnia 2017 W jednym projekcie możesz mieć ponad 2 miliardy komend... Problem wynika z kilku powodów: - Masz źle skonfigurowany plugin.yml - oprócz nazwy komendy musisz dopisać jeszcze jej opis, użycie oraz zaleca się także dopisać uprawnienie. vip: description: 'Tutaj jest opis komendy' permission: 'nazwapluginu.command.vip' usage: '/<command>' - Komendy domyślnie się rejestrują w głównej klasie pluginu - tutaj akurat Main (chociaż powinna się nazywać NazwaPluginuPlugin, np WorldEditPlugin). Dzięki temu komenda /vip wykonuje się poprawnie. - Nie następuje jakakolwiek rejestracja tej drugiej komendy, która to swój executor posiada w innej klasie. Dodajmy, że jeżeli dany executor przypisany jest tylko do jednej komendy nie musisz wtedy w nim sprawdzać czy na pewno jest to komenda vip, lub svip. xTea_199 1 Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
0 KrejzolekPRO 598 Opublikowano 26 kwietnia 2017 Udostępnij Opublikowano 26 kwietnia 2017 (edytowane) No to tak nie do końca, na razie - dopóki nie zrozumiesz bardziej języka, pisz w jednej klasie Main. A tu poprawiany kod: Main: package pl.xx.ox; import org.bukkit.command.Command; import org.bukkit.command.CommandSender; import org.bukkit.plugin.java.JavaPlugin; public class Main extends JavaPlugin{ @Override public boolean onCommand(CommandSender sender, Command command, String label, String[] args) { if(command.getName().equalsIgnoreCase("vip")){ sender.sendMessage("§8Vip"); } if(command.getName().equalsIgnoreCase("svip")){ sender.sendMessage("§8SVip"); } return false; } } Plugin.yml: name: Komendy version: 1.0 author: ty main: pl.xx.ox.Main commands: vip: svip: Kod w Main, trochę się "skrzywił", musisz go sam wytabować. Edytowane 26 kwietnia 2017 przez KrejzolekPRO xTea_199 1 Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
0 xTea_199 4 Opublikowano 26 kwietnia 2017 Autor Udostępnij Opublikowano 26 kwietnia 2017 dzięki jesteście wielcy... Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
0 Impression 139 Opublikowano 26 kwietnia 2017 Udostępnij Opublikowano 26 kwietnia 2017 Problem został rozwiązany. HeezQ 1 Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
Pytanie
xTea_199 4
czemu jeżeli stworzę 2 komendy i dodam je do plugin.yml działa tylko 1?
package pl.xx.ox;
import org.bukkit.command.Command;
import org.bukkit.command.CommandSender;
import org.bukkit.plugin.java.JavaPlugin;
public class Main extends JavaPlugin{
@Override
public boolean onCommand(CommandSender sender, Command command, String label, String[] args) {
if(command.getName().equalsIgnoreCase("Vip")){
sender.sendMessage("§8Vip");
}
return false;
}
}
Tutaj druga komenda w folderze
package pl.xx.ox.svip;
import org.bukkit.command.Command;
import org.bukkit.command.CommandSender;
import org.bukkit.plugin.java.JavaPlugin;
public class svip extends JavaPlugin{
@Override
public boolean onCommand(CommandSender sender, Command command, String label, String[] args) {
if(command.getName().equalsIgnoreCase("SVip")){
sender.sendMessage("§8SVip");
}
return false;
}
}
Plik.yml
name: vip
main: pl.xvector.gmail.com.core.Main
author: xVector
version: 1.0
commands:
pomoc:
vip:
name: vCorex
main: pl.xx.ox.Main
author: xxxxx
version: 1.0
commands:
vip:
svip:
Odnośnik do komentarza
Udostępnij na innych stronach
4 odpowiedzi na to pytanie
Rekomendowane odpowiedzi