Natusiekk 4 Opublikowano 6 kwietnia 2019 Udostępnij Opublikowano 6 kwietnia 2019 Prosty plugin na szybkie robienie komendjar: moge dac pw bo tutaj sie nie da a do winrara mi sie nie chce dawac !github / src: Zarejestruj się lub zaloguj, aby zobaczyć ukrytą treść! Cytuj Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
Queito 104 Opublikowano 7 kwietnia 2019 Udostępnij Opublikowano 7 kwietnia 2019 wystarczy skompilować i wrzucić na release Cytuj Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
kerpson 532 Opublikowano 7 kwietnia 2019 Udostępnij Opublikowano 7 kwietnia 2019 Do tego lepszy skript XD albo myCommands ManuScripteX 1 Cytuj Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
Usunięty#3468 229 Opublikowano 7 kwietnia 2019 Udostępnij Opublikowano 7 kwietnia 2019 System.out.println("NS-CustomCMD: ON"); Bukkit ma wlasny logger od tego; KlasaGlowna.getLogger() instance = this; /*** I D K ***/ instance = this; po co robisz dwa razy to samo? Swoja droga nie wiem czy jak jestes poczatkujacy, jest sens zakladac, ze jakas klasa moze miec tylko jedna instancje, bo mozesz nauczyc sie zlych praktyk... public class Config { private static Config inst; Jak klasa glowna pluginu moze miec tylko jedna instancje to juz taka klasa niekoniecznie - nie bierzesz pod uwage mozliwosci posiadania kilku plikow konfiguracyjnych, przez co aplikacja robi sie hard-coded. public static Config getInst(){ if(inst == null) return new Config(); return inst; } public Config(){ inst = this; } X D @Override public boolean execute(CommandSender sender, String s, String[] strings) { for(String a : this.command){ sender.sendMessage(a); } return false; } czemu zwracasz jedynie false? Jesli w komendzie zwrocisz false oznacza to, ze nie wykonala sie poprawnie... yooniks 1 Cytuj Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
Natusiekk 4 Opublikowano 10 kwietnia 2019 Autor Udostępnij Opublikowano 10 kwietnia 2019 Poprawione, Cytuj Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
Usunięty#3468 229 Opublikowano 10 kwietnia 2019 Udostępnij Opublikowano 10 kwietnia 2019 (edytowane) 27 minut temu, Natusiekk napisał: Poprawione, No nie.. Klasa Zarejestruj się lub zaloguj, aby zobaczyć ukrytą treść!: protected List<String> command; to powinno byc prywatne @Override public boolean execute(CommandSender sender, String s, String[] strings) { for(String a : this.command){ sender.sendMessage(a); } return true; } teraz zwracasz tylko true, a przeciez powinienes brac pod uwage czy komenda wykonala sie prawidlowo true - komenda wykonala sie prawidlowo false - komenda wykonala sie nieprawidlowo this.command.add(a.replace("&", "§")); NIE UZYWAJ PARAGRAFOW W KODZIE od takiego czegos w bukkicie jest metoda translateAlternateColorCodes() w klasie ChatColor Teraz Zarejestruj się lub zaloguj, aby zobaczyć ukrytą treść! Pierw sama nazwa klasy - bukkit zaleca nazywanie glownej klasy NazwaPluginuPlugin metody onEnable() i onDisable() nadpisuja inne, wiec powinna byc tam adnotacja @Override Juz wczesniej czepialem sie singletonu, ale juz dam sobie spokoj... I jeszcze package powinno sie nazywac w liczbie poj. Mam tu na mysli files Edytowane 10 kwietnia 2019 przez Sewer Misio12320 1 Cytuj Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
yooniks 347 Opublikowano 10 kwietnia 2019 Udostępnij Opublikowano 10 kwietnia 2019 To ja jeszcze czepne sie tego: import org.bukkit.craftbukkit.v1_8_R3.CraftServer; brak wsparcia dla wersji innych niz 1.8.8 public class Config { public FileConfiguration cfg = Main.getInst().getConfig(); public void load() { for(String a : cfg.getConfigurationSection("commands").getKeys(false)){ String name = a; List<String> content = cfg.getStringList("commands."+a); ((CraftServer) Main.getInst().getServer()).getCommandMap().register(name, new CustomCommand(name,content)); } } } 1. package "files" a plikow to raczej nie dotyczy, tylko konfiguracji 2. no w sumie konfiguracji to tez nie bo to laduje komendy tylko z configu (nawet nazwa klasy myląca) for(String a : cfg.getConfigurationSection("commands").getKeys(false)){ String name = a; List<String> content = cfg.getStringList("commands."+a); nie latwiej i czytelniej for (String name : section.getKeys(false)) { } lub nawet stream ze sprowadzaniem (poprzez .map()) do obiektu CustomCommand i po prostu rejestracja no i ogolnie tak jakos niechlujnie napisane=( Cytuj Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
Natusiekk 4 Opublikowano 10 kwietnia 2019 Autor Udostępnij Opublikowano 10 kwietnia 2019 @yooniks discorda zobacz Cytuj Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
Rekomendowane odpowiedzi
Dołącz do dyskusji
Możesz dodać zawartość już teraz a zarejestrować się później. Jeśli posiadasz już konto, zaloguj się aby dodać zawartość za jego pomocą.