_xXCichyMleczXx_ 16 Opublikowano 7 kwietnia 2021 Udostępnij Opublikowano 7 kwietnia 2021 Siemano, mam kod: @EventHandler(priority = EventPriority.HIGHEST) public boolean onCommand(CommandSender sender, Command cmd, String label, String[] args) { getLogger().info("Wykonano komende " + cmd.getName()); if (sender instanceof Player) { Player player = (Player) sender; String perms = cmd.getPermission(); if (player.hasPermission(perms)){ player.sendMessage("Masz permisje do tej komendy - " + perms); return true; } else { player.sendMessage("Nie masz do tego permisji! - " + perms); } } return false; } I żadna jego cześć nie jest wykonywana, nawet pierwszy argument, ktoś wie dlaczego? Wstawiam kod w code. Notatka dodana przez Glicz Odnośnik do komentarza https://skript.pl/temat/47792-event-oncommand-nie-triggeruje-si%C4%99/ Udostępnij na innych stronach Więcej opcji udostępniania...
0 Glicz 246 Opublikowano 8 kwietnia 2021 Udostępnij Opublikowano 8 kwietnia 2021 Ten temat został przeniesiony. 8 godzin temu, _xXCichyMleczXx_ napisał: Siemano, mam kod: @EventHandler(priority = EventPriority.HIGHEST) public boolean onCommand(CommandSender sender, Command cmd, String label, String[] args) { getLogger().info("Wykonano komende " + cmd.getName()); if (sender instanceof Player) { Player player = (Player) sender; String perms = cmd.getPermission(); if (player.hasPermission(perms)){ player.sendMessage("Masz permisje do tej komendy - " + perms); return true; } else { player.sendMessage("Nie masz do tego permisji! - " + perms); } } return false; } I żadna jego cześć nie jest wykonywana, nawet pierwszy argument, ktoś wie dlaczego? Mam rozumieć, że chcesz uzyskać efekt sprawdzania czy gracz ma permisję do komendy i dopiero ją wykonywać? Jeżeli tak, to użyj eventu, który jest wywoływany przy użyciu komendy, gdyż boolean onCommand jest raczej do tworzenia komend Odnośnik do komentarza https://skript.pl/temat/47792-event-oncommand-nie-triggeruje-si%C4%99/#findComment-299332 Udostępnij na innych stronach Więcej opcji udostępniania...
0 kerpson 551 Opublikowano 8 kwietnia 2021 Udostępnij Opublikowano 8 kwietnia 2021 eventHandler przy komendzie?? o.0? przy metodzie onCommand używa się @Override... należy również komendę zarejestrować w sposób getCommand("kom").setExecutor(new Klasa()); Godzinę temu, Glitchtrap napisał: chcesz uzyskać efekt sprawdzania czy gracz ma permisję do komendy i dopiero ją wykonywać? Jeżeli tak, to użyj eventu, który jest wywoływany przy użyciu komendy CO? XD Odnośnik do komentarza https://skript.pl/temat/47792-event-oncommand-nie-triggeruje-si%C4%99/#findComment-299368 Udostępnij na innych stronach Więcej opcji udostępniania...
0 _xXCichyMleczXx_ 16 Opublikowano 8 kwietnia 2021 Autor Udostępnij Opublikowano 8 kwietnia 2021 No coś w tym stylu co napisał Glitchtrap, w takim razie to jakiego handlera tam dać? Odnośnik do komentarza https://skript.pl/temat/47792-event-oncommand-nie-triggeruje-si%C4%99/#findComment-299376 Udostępnij na innych stronach Więcej opcji udostępniania...
0 kerpson 551 Opublikowano 8 kwietnia 2021 Udostępnij Opublikowano 8 kwietnia 2021 Wytłumacz jeszcze raz po polsku bo nie kumam. "czy gracz ma permisję do komendy i dopiero ją wykonywać?" Da się to zrobić w komendzie, po co jakieś eventy? Odnośnik do komentarza https://skript.pl/temat/47792-event-oncommand-nie-triggeruje-si%C4%99/#findComment-299380 Udostępnij na innych stronach Więcej opcji udostępniania...
0 paweU 64 Opublikowano 8 kwietnia 2021 Udostępnij Opublikowano 8 kwietnia 2021 W plugin.yml musi być zawarte: commands: nazwakomendy: I w klasie głównej musisz zarejestrować komendę w ten sposób: public void onEnable(){ getCommand("nazwakomendy").setExecutor(new KlasaKomendy()); } "@EventHandler" zamień na "@Override". Zaimplementuj również CommandExecutor w klasie z komendą w ten sposób: public class NazwaKlasyZKomenda implements CommandExecutor { Pozdrawiam. Odnośnik do komentarza https://skript.pl/temat/47792-event-oncommand-nie-triggeruje-si%C4%99/#findComment-299430 Udostępnij na innych stronach Więcej opcji udostępniania...
0 _xXCichyMleczXx_ 16 Opublikowano 8 kwietnia 2021 Autor Udostępnij Opublikowano 8 kwietnia 2021 Tylko bardziej mi chodzi o to ze dla kazdego pluginu podmienic permission message jednym pluginem a nie rejestrowanie nowych komend Odnośnik do komentarza https://skript.pl/temat/47792-event-oncommand-nie-triggeruje-si%C4%99/#findComment-299474 Udostępnij na innych stronach Więcej opcji udostępniania...
0 Glicz 246 Opublikowano 8 kwietnia 2021 Udostępnij Opublikowano 8 kwietnia 2021 1 minutę temu, _xXCichyMleczXx_ napisał: Tylko bardziej mi chodzi o to ze dla kazdego pluginu podmienic permission message jednym pluginem a nie rejestrowanie nowych komend no to używasz eventu 'PlayerCommandPreprocessEvent', potem pobierasz komendę, ustawiasz stringa na permisję, sprawdzasz czy nie jest nullem i czy gracz ma do niej permisję, no i anulujesz event i wysyłasz wiadomość. Odnośnik do komentarza https://skript.pl/temat/47792-event-oncommand-nie-triggeruje-si%C4%99/#findComment-299475 Udostępnij na innych stronach Więcej opcji udostępniania...
0 _xXCichyMleczXx_ 16 Opublikowano 8 kwietnia 2021 Autor Udostępnij Opublikowano 8 kwietnia 2021 Dobra, dam znać jak przerobie private final PreCommandHandler cmdHandler = new PreCommandHandler(); @Override public void onEnable() { getServer().getPluginManager().registerEvents(this.cmdHandler, this); } Main /\ public void onPreCommand(PlayerCommandPreprocessEvent event) { String command = event.getMessage().substring(1).split(" ")[0]; System.out.print("Wykonano komende " + command); if (event.getPlayer() instanceof Player) { Player player = (Player) event.getPlayer(); System.out.print("Executor jest playerem - " + player.getDisplayName()); } } PreCommandHandler /\ Ale event i tak się nie wykonuje, 0 printów Łączę posty. Notatka dodana przez Glicz nwse 1 Odnośnik do komentarza https://skript.pl/temat/47792-event-oncommand-nie-triggeruje-si%C4%99/#findComment-299476 Udostępnij na innych stronach Więcej opcji udostępniania...
0 LeviBoyPL 161 Opublikowano 8 kwietnia 2021 Udostępnij Opublikowano 8 kwietnia 2021 @EventHandler i implementujesz Listenera Odnośnik do komentarza https://skript.pl/temat/47792-event-oncommand-nie-triggeruje-si%C4%99/#findComment-299490 Udostępnij na innych stronach Więcej opcji udostępniania...
0 _xXCichyMleczXx_ 16 Opublikowano 8 kwietnia 2021 Autor Udostępnij Opublikowano 8 kwietnia 2021 Właśnie miałem to już dodane ale nie działa https://imgur.com/a/I7XtC3r paweU 1 Odnośnik do komentarza https://skript.pl/temat/47792-event-oncommand-nie-triggeruje-si%C4%99/#findComment-299562 Udostępnij na innych stronach Więcej opcji udostępniania...
0 kerpson 551 Opublikowano 9 kwietnia 2021 Udostępnij Opublikowano 9 kwietnia 2021 WTF. Nazwa eventu: PLAYER command... Mówi ci coś PLAYER? Tak, że event ten wykonuje GRACZ a nie szkielet bądź zombie, który prankuje graczy komendami. Także wszelkie sprawdzanie czy event.getPlayer() jest playerem i castowanie go do niego jest bardzo głupie. Po 2. aby w tym evencie otrzymać komendę użyj następującego polecenia: String cmd = event.getMessage().split(" ")[0]; Odnośnik do komentarza https://skript.pl/temat/47792-event-oncommand-nie-triggeruje-si%C4%99/#findComment-299642 Udostępnij na innych stronach Więcej opcji udostępniania...
0 _xXCichyMleczXx_ 16 Opublikowano 9 kwietnia 2021 Autor Udostępnij Opublikowano 9 kwietnia 2021 Dobra. poprawiłem tylko jak pobrać komende z serwera jako Command? Odnośnik do komentarza https://skript.pl/temat/47792-event-oncommand-nie-triggeruje-si%C4%99/#findComment-299677 Udostępnij na innych stronach Więcej opcji udostępniania...
0 kerpson 551 Opublikowano 9 kwietnia 2021 Udostępnij Opublikowano 9 kwietnia 2021 Wytłumaczysz dokładniej? Odnośnik do komentarza https://skript.pl/temat/47792-event-oncommand-nie-triggeruje-si%C4%99/#findComment-299710 Udostępnij na innych stronach Więcej opcji udostępniania...
0 _xXCichyMleczXx_ 16 Opublikowano 9 kwietnia 2021 Autor Udostępnij Opublikowano 9 kwietnia 2021 W sensie masz String command jako np. "gamemode" i chce to miec jako typ Command, wazne zeby obslugiwalo komendy z czystego mc Odnośnik do komentarza https://skript.pl/temat/47792-event-oncommand-nie-triggeruje-si%C4%99/#findComment-299714 Udostępnij na innych stronach Więcej opcji udostępniania...
0 paweU 64 Opublikowano 11 kwietnia 2021 Udostępnij Opublikowano 11 kwietnia 2021 w klasie głównej jest to po prostu : Command command = getCommand("komenda); Glicz 1 Odnośnik do komentarza https://skript.pl/temat/47792-event-oncommand-nie-triggeruje-si%C4%99/#findComment-299832 Udostępnij na innych stronach Więcej opcji udostępniania...
Pytanie
_xXCichyMleczXx_ 16
Siemano, mam kod:
I żadna jego cześć nie jest wykonywana, nawet pierwszy argument, ktoś wie dlaczego?
Wstawiam kod w code.
Notatka dodana przez Glicz
Odnośnik do komentarza
https://skript.pl/temat/47792-event-oncommand-nie-triggeruje-si%C4%99/Udostępnij na innych stronach
15 odpowiedzi na to pytanie
Rekomendowane odpowiedzi