4RNI 13 Opublikowano 28 lutego 2018 Udostępnij Opublikowano 28 lutego 2018 (edytowane) Witam po wpisaniu komendy wyskakuje mi blad. Komende zarejestrowalem w Main i plugin.yml. package pl.unixhc.tools.commands; import org.bukkit.Bukkit; import org.bukkit.command.Command; import org.bukkit.command.CommandExecutor; import org.bukkit.command.CommandSender; import org.bukkit.entity.Player; import pl.unixhc.tools.Main; public class TeleportAllCommand implements CommandExecutor{ Main plugin; public TeleportAllCommand(Main plugin){ this.plugin = plugin; this.plugin.getCommand("tpall").setExecutor(this); } public boolean onCommand(CommandSender sender, Command cmd, String lab, String[] args){ if(!(sender instanceof Player)){ sender.sendMessage(this.plugin.getConfig().getString("Ogolne.WiadomoscKonsola").replace('&', '§')); return false; } if (!(sender.hasPermission(this.plugin.getConfig().getString("TeleportAll.Uprawnienie")))){ sender.sendMessage(this.plugin.getConfig().getString("Ogolne.WiadomoscBrakUprawnien").replace('&', '§')); return false; } Player admin = (Player)sender; for (Player gracze : Bukkit.getOnlinePlayers()){ gracze.teleport(admin.getLocation()); sender.sendMessage(this.plugin.getConfig().getString("TeleportAll.WiadomoscPrzeteleportowano").replace('&', '§')); return true; } return false; } } Edytowane 28 lutego 2018 przez 4RNI Odnośnik do komentarza https://skript.pl/temat/25727-blad/ Udostępnij na innych stronach Więcej opcji udostępniania...
0 KrejzolekPRO 600 Opublikowano 28 lutego 2018 Udostępnij Opublikowano 28 lutego 2018 (edytowane) No nie do końca, musisz ją zarejestrować w onEnable() jeszcze. public void onEnable(){ this.getCommand("tpall").setExecutor(this); } I wtedy to: public TeleportAllCommand(Main plugin){ this.plugin = plugin; this.plugin.getCommand("tpall").setExecutor(this); } jest niepotrzebne. Dobra nie patrzcie tam do góry, myślałem, że to jest główna klasa pluginu. Tak to jest jak ktoś daje tylko część, a resztę "a niech się domyślą"... Dałeś w onEnable() tą linijkę? new TeleportAllCommand(this); Po za tym dziwnie to robisz, okej chcesz mieć porządek w głownej klasie, ale taka rejestracja jest chaotyczna. Na przykład zamiast zrobić sobie instancje głównej klasy to robisz to w sposób, który nie wiem czy zadziała - nie mogę sprawdzić. Edytowane 28 lutego 2018 przez KrejzolekPRO Odnośnik do komentarza https://skript.pl/temat/25727-blad/#findComment-170238 Udostępnij na innych stronach Więcej opcji udostępniania...
0 yooniks 347 Opublikowano 28 lutego 2018 Udostępnij Opublikowano 28 lutego 2018 Daj logi (ew. sam log/error z konsoli) + klase Main i plik config.yml oraz plugin.yml Odnośnik do komentarza https://skript.pl/temat/25727-blad/#findComment-170282 Udostępnij na innych stronach Więcej opcji udostępniania...
0 Ixidi 719 Opublikowano 28 lutego 2018 Udostępnij Opublikowano 28 lutego 2018 @KrejzolekPRO A czemu miałoby nie działać? I po co ma rejestrować dwa razy? Odnośnik do komentarza https://skript.pl/temat/25727-blad/#findComment-170287 Udostępnij na innych stronach Więcej opcji udostępniania...
0 4RNI 13 Opublikowano 1 marca 2018 Autor Udostępnij Opublikowano 1 marca 2018 (edytowane) Problem rozwiazany ;p Edytowane 1 marca 2018 przez 4RNI Odnośnik do komentarza https://skript.pl/temat/25727-blad/#findComment-170293 Udostępnij na innych stronach Więcej opcji udostępniania...
0 yooniks 347 Opublikowano 1 marca 2018 Udostępnij Opublikowano 1 marca 2018 @KrejzolekPRO " Po za tym dziwnie to robisz, okej chcesz mieć porządek w głownej klasie, ale taka rejestracja jest chaotyczna. Na przykład zamiast zrobić sobie instancje głównej klasy to robisz to w sposób, który nie wiem czy zadziała - nie mogę sprawdzić. " Przeciez ten sposób jest okej public TeleportAllCommand(Main plugin){ this.plugin = plugin; this.plugin.getCommand("tpall").setExecutor(this); } "Na przykład zamiast zrobić sobie instancje głównej klasy to robisz to w sposób, który nie wiem czy zadziała - nie mogę sprawdzić. " A po co robic wszystko statycznie skoro można tak no i oczywiscie ze taki sposob zadziala KrejzolekPRO 1 Odnośnik do komentarza https://skript.pl/temat/25727-blad/#findComment-170305 Udostępnij na innych stronach Więcej opcji udostępniania...
0 Ixidi 719 Opublikowano 1 marca 2018 Udostępnij Opublikowano 1 marca 2018 Problem został rozwiązany. Odnośnik do komentarza https://skript.pl/temat/25727-blad/#findComment-170326 Udostępnij na innych stronach Więcej opcji udostępniania...
Pytanie
4RNI 13
Witam po wpisaniu komendy wyskakuje mi blad. Komende zarejestrowalem w Main i plugin.yml.
package pl.unixhc.tools.commands; import org.bukkit.Bukkit; import org.bukkit.command.Command; import org.bukkit.command.CommandExecutor; import org.bukkit.command.CommandSender; import org.bukkit.entity.Player; import pl.unixhc.tools.Main; public class TeleportAllCommand implements CommandExecutor{ Main plugin; public TeleportAllCommand(Main plugin){ this.plugin = plugin; this.plugin.getCommand("tpall").setExecutor(this); } public boolean onCommand(CommandSender sender, Command cmd, String lab, String[] args){ if(!(sender instanceof Player)){ sender.sendMessage(this.plugin.getConfig().getString("Ogolne.WiadomoscKonsola").replace('&', '§')); return false; } if (!(sender.hasPermission(this.plugin.getConfig().getString("TeleportAll.Uprawnienie")))){ sender.sendMessage(this.plugin.getConfig().getString("Ogolne.WiadomoscBrakUprawnien").replace('&', '§')); return false; } Player admin = (Player)sender; for (Player gracze : Bukkit.getOnlinePlayers()){ gracze.teleport(admin.getLocation()); sender.sendMessage(this.plugin.getConfig().getString("TeleportAll.WiadomoscPrzeteleportowano").replace('&', '§')); return true; } return false; } }
Edytowane przez 4RNIOdnośnik do komentarza
https://skript.pl/temat/25727-blad/Udostępnij na innych stronach
6 odpowiedzi na to pytanie
Rekomendowane odpowiedzi