Januszeł 0 Opublikowano 8 lipca 2017 Udostępnij Opublikowano 8 lipca 2017 (edytowane) Witam, mam kolejne pytanko jak zrobić loopa danych w configu, najkrócej jak sie da. (Zrobilem takie cos ale szkoda gadac ...) Spoiler @EventHandler public void onCommand(PlayerCommandPreprocessEvent event) { for(String key : getConfig().getStringList("").getKeys(false)){ if (event.getMessage().equals("/" + key)) { event.setCancelled(true); for (String s : key) { sender.sendMessage(s); } } } } A config taki: Spoiler pomoc: - "a" - "b" - "c" vip: - "1" - "2" - "3" Ma ktoś może pomysł jak to zrobić? Edytowane 8 lipca 2017 przez Januszeł Odnośnik do komentarza https://skript.pl/temat/19757-problem-z-loopem/ Udostępnij na innych stronach Więcej opcji udostępniania...
0 GotoFinal 195 Opublikowano 8 lipca 2017 Udostępnij Opublikowano 8 lipca 2017 zrób te wiadomości jako normlane stringi pomoc: |2- Linia 1 linia 2 linia 3 vip: |2- Linia 1.... wtedy w komendzie możesz po prostu pobierać cfg.getString(command) i sprawdzać czy string jest nullem czy nie (tylko nie rób tak jak masz w tym pliku jakieś inne dane, lub przenieś to do osobnej sekcji konfiguracji, tak by przypadkiem ktoś ci nie robił "/mysql.password" ( ͡° ͜ʖ ͡°) Januszeł 1 Odnośnik do komentarza https://skript.pl/temat/19757-problem-z-loopem/#findComment-134210 Udostępnij na innych stronach Więcej opcji udostępniania...
0 Januszeł 0 Opublikowano 8 lipca 2017 Autor Udostępnij Opublikowano 8 lipca 2017 26 minut temu, GotoFinal napisał: zrób te wiadomości jako normlane stringi pomoc: |2- Linia 1 linia 2 linia 3 vip: |2- Linia 1.... wtedy w komendzie możesz po prostu pobierać cfg.getString(command) i sprawdzać czy string jest nullem czy nie (tylko nie rób tak jak masz w tym pliku jakieś inne dane, lub przenieś to do osobnej sekcji konfiguracji, tak by przypadkiem ktoś ci nie robił "/mysql.password" ( ͡° ͜ʖ ͡°) Albo ja nie rozumiem tego ,,getString(command)'' albo ty mnie nie rozumiesz. Mi chodzi nie o definiowanie każdej komendy tylko zrobić to w 1 loopie i żeby to pobierało wszystkie takie komendy. Odnośnik do komentarza https://skript.pl/temat/19757-problem-z-loopem/#findComment-134214 Udostępnij na innych stronach Więcej opcji udostępniania...
0 GotoFinal 195 Opublikowano 8 lipca 2017 Udostępnij Opublikowano 8 lipca 2017 no ale nie potrzebujesz żadnego loopa wtedy @EventHandler public void onCommand(PlayerCommandPreprocessEvent event) { if (!event.getMessage().startsWith("/")) return; String msg = getConfig().getString(event.getMessage().substring(1)); if (msg == null) return; event.setCancelled(true); sender.sendMessage(s); } Ale ogólnie... to powinieneś normalnie rejestrować komendy w plugin.yml ;/ można też od biedy dynamicznie refleksjami dodawać, używanie do tego eventu nie jest zalecane, no ale niestety... bukkit jest jaki jest. Januszeł 1 Odnośnik do komentarza https://skript.pl/temat/19757-problem-z-loopem/#findComment-134220 Udostępnij na innych stronach Więcej opcji udostępniania...
0 Libter 1603 Opublikowano 8 lipca 2017 Udostępnij Opublikowano 8 lipca 2017 Problem został rozwiązany. Luki133q 1 Odnośnik do komentarza https://skript.pl/temat/19757-problem-z-loopem/#findComment-134285 Udostępnij na innych stronach Więcej opcji udostępniania...
Pytanie
Januszeł 0
Witam, mam kolejne pytanko jak zrobić loopa danych w configu, najkrócej jak sie da.
(Zrobilem takie cos ale szkoda gadac ...)
@EventHandler public void onCommand(PlayerCommandPreprocessEvent event) { for(String key : getConfig().getStringList("").getKeys(false)){ if (event.getMessage().equals("/" + key)) { event.setCancelled(true); for (String s : key) { sender.sendMessage(s); } } } }A config taki:
pomoc: - "a" - "b" - "c" vip: - "1" - "2" - "3"Ma ktoś może pomysł jak to zrobić?
Edytowane przez JanuszełOdnośnik do komentarza
https://skript.pl/temat/19757-problem-z-loopem/Udostępnij na innych stronach
4 odpowiedzi na to pytanie
Rekomendowane odpowiedzi