KodziaK 30 Opublikowano 22 czerwca 2017 Udostępnij Opublikowano 22 czerwca 2017 (edytowane) Witajcie! Dzisiaj napisałem mój pierwszy plugin! Spytacie co on daje. Otóż umożliwia nam zmianę wiadomości po wpisaniu nieprawidłowej komendy. Ktoś powie no wow przecież można to zrobić bez pluginów, ale nie da się tam użyć nazwy komendy(którą wpisuje się źle). Oraz z powodu że nie znalazłem takiego pluginu(w którym da się użyć nazwy komendy(którą wpisuje się źle). DOWNLOAD: - Zarejestruj się lub zaloguj, aby zobaczyć ukrytą treść! SKAN: - Zarejestruj się lub zaloguj, aby zobaczyć ukrytą treść! SOURCE CODE: - Zarejestruj się lub zaloguj, aby zobaczyć ukrytą treść! Edytowane 22 czerwca 2017 przez K0dziakOfSky kosa212 i Peridot 2 Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
dekros 2 Opublikowano 22 czerwca 2017 Udostępnij Opublikowano 22 czerwca 2017 (edytowane) Czemu nie zrobiłeś listy w configu? player.sendMessage(ChatColor.translateAlternateColorCodes('&', getConfig().getString("Linia1").replaceAll("/command/", cmd))); player.sendMessage(ChatColor.translateAlternateColorCodes('&', getConfig().getString("Linia2"))); zamiast tego mogłeś zrobić: for(String s : getConfig().getStringList("helpcmd")){ }player.sendMessage(ChatColor.translateAlternateColorCodes('&', s.replaceAll("/command/", cmd))); + w twoim wykonaniu moge dodac nazwe komendy tylko w stringu o nazwie Linia1 a w Linia2 juz nie działa. Polecałbym ci zmienić to 2. Konstruktor jest zbędny tzn nie wiem po co go wgl zrobiles jesli jest pusty 3. powinines robic ify typu if(false){return} czyli zamiast: public void onPlayerCommandPreprocess(PlayerCommandPreprocessEvent event) { if (!event.isCancelled()) { Player player = event.getPlayer(); String cmd = event.getMessage().split(" ")[0]; org.bukkit.help.HelpTopic topic = Bukkit.getServer().getHelpMap().getHelpTopic(cmd); if (topic == null) { player.sendMessage(ChatColor.DARK_GRAY + "==========================="); player.sendMessage(ChatColor.translateAlternateColorCodes('&', getConfig().getString("Linia1").replaceAll("/command/", cmd))); player.sendMessage(ChatColor.translateAlternateColorCodes('&', getConfig().getString("Linia2"))); player.sendMessage(ChatColor.DARK_GRAY + "==========================="); event.setCancelled(true); } } } to zrobić public void onPlayerCommandPreprocess(PlayerCommandPreprocessEvent event) { if (event.isCancelled()) { return; } Player player = event.getPlayer(); String cmd = event.getMessage().split(" ")[0]; org.bukkit.help.HelpTopic topic = Bukkit.getServer().getHelpMap().getHelpTopic(cmd); if (topic != null) { return; } player.sendMessage(ChatColor.DARK_GRAY + "==========================="); player.sendMessage(ChatColor.translateAlternateColorCodes('&', getConfig().getString("Linia1").replaceAll("/command/", cmd))); player.sendMessage(ChatColor.translateAlternateColorCodes('&', getConfig().getString("Linia2"))); player.sendMessage(ChatColor.DARK_GRAY + "==========================="); event.setCancelled(true); } kod staje się wtedy bardziej czytelny Edytowane 22 czerwca 2017 przez dekros Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
KodziaK 30 Opublikowano 22 czerwca 2017 Autor Udostępnij Opublikowano 22 czerwca 2017 (edytowane) @dekros dzięki twoim poradom wiem więcej oraz wypuszczam kolejną wersję ABY POBRAĆ NOWĄ WERSJĘ POBIERZ JESZCZE RAZ! (TEN SAM PLIK INNA WERSJA ) Edytowane 22 czerwca 2017 przez K0dziakOfSky Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
dekros 2 Opublikowano 22 czerwca 2017 Udostępnij Opublikowano 22 czerwca 2017 jeszcze jedno, nie jestem pewien czy to wina dekimpilatora ale jeśli robisz coś takiego w kodzie: public class Main extends org.bukkit.plugin.java.JavaPlugin implements org.bukkit.event.Listener czyli zamiast JavaPlugin podajesz org.bukkit.plugin.java.. to nie potrzebnie to robisz dodatkowo pamietaj o tym że listenery powinines rozdzielać na osobne klasy czyli jak masz ten event: PlayerCommandPreprocessEvent to zrobić klase np PlayerListeners i w niej robić wszystkie listenery które zajmują się czymś związanym z graczami np jak masz od blocków BlockBreakEvent to zrobić to w osobnej klasie by dało się łatwiej przeglądać kod Ewentualnie listener per classa ale to jak dla mnie nie potrzebny syf sie robi xD KodziaK 1 Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
Peridot 507 Opublikowano 22 czerwca 2017 Udostępnij Opublikowano 22 czerwca 2017 Zarąbisty plugin KodziaK i Allows 2 Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
KodziaK 30 Opublikowano 22 czerwca 2017 Autor Udostępnij Opublikowano 22 czerwca 2017 (edytowane) @dekros z pierwszym to akurat dekompiler xd a z drugim to wiem ale na plugin taki to chyba jest bez sensu DODAJE SOURCECODE DLA OSÓB KTÓRE BY CHCIAŁY MI DAĆ JAKIEŚ PORADY - Zarejestruj się lub zaloguj, aby zobaczyć ukrytą treść! Edytowane 22 czerwca 2017 przez K0dziakOfSky Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
PROXEN 1 Opublikowano 30 czerwca 2017 Udostępnij Opublikowano 30 czerwca 2017 Nie nazywa sie glownej klasy Main tylko np UnknownCmdPlugin czy jakos tak Plugin moze byc jak na twoja inteligencje javy ale juz jest duzo takich pluginow napisz cos innego Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
Usunięty#3468 229 Opublikowano 30 czerwca 2017 Udostępnij Opublikowano 30 czerwca 2017 na jakim silniku to pisales? Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
KodziaK 30 Opublikowano 30 czerwca 2017 Autor Udostępnij Opublikowano 30 czerwca 2017 (edytowane) @PROXEN Klasę główną można nazwać Main jak i nazwą plugin ale i tak to nic nie zmienia ale wygodniej mi Main @Sewer Spigot 1.8.8 Edytowane 30 czerwca 2017 przez K0dziakOfSky Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
kapi. 332 Opublikowano 10 lipca 2017 Udostępnij Opublikowano 10 lipca 2017 Moim zdaniem krótkie pluginy nie mają sensu... 6/10 Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
SzparagoLive 0 Opublikowano 10 lipca 2017 Udostępnij Opublikowano 10 lipca 2017 Obsluguje ChestCommands? Bo np.mam komende tam /kit i otwiera sie gui z itemami. A po wgraniu CustomUnknownMessage te komendy nie działają Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
SzparagoLive 0 Opublikowano 10 lipca 2017 Udostępnij Opublikowano 10 lipca 2017 (edytowane) Edytowane 10 lipca 2017 przez SzparagoLive Przez przypadek dodałem XD Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
Peridot 507 Opublikowano 11 lipca 2017 Udostępnij Opublikowano 11 lipca 2017 13 godzin temu, esej napisał: Moim zdaniem krótkie pluginy nie mają sensu... 6/10 Ty zawsze musisz się do czegoś przyczepić ;/ kapi. 1 Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
Ever 20 Opublikowano 28 listopada 2017 Udostępnij Opublikowano 28 listopada 2017 Bardzo fajny plugin 9/10 Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
Maybeee 1 Opublikowano 4 grudnia 2017 Udostępnij Opublikowano 4 grudnia 2017 6/10 widziałem lepsze. Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
STEINER 60 Opublikowano 4 grudnia 2017 Udostępnij Opublikowano 4 grudnia 2017 Prosty plugin ale dosyć średni xd player.sendMessage(ChatColor.DARK_GRAY + "==========================="); player.sendMessage(ChatColor.translateAlternateColorCodes('&', getConfig().getString("Linia1").replaceAll("/command/", cmd))); player.sendMessage(ChatColor.translateAlternateColorCodes('&', getConfig().getString("Linia2"))); player.sendMessage(ChatColor.DARK_GRAY + "==========================="); Czemu tak? Nie lepiej stringliste zrobić? Ew. .replaceAll("/newline/", "\n"); ??? Zrób sobię chat utila bo chatcolorem się zamęczysz. Przykład: public static String pluginColors(final String s) { return ChatColor.translateAlternateColorCodes('&', s.replace(">", "»").replace("<", "«")); } Możesz też dorobić title przykład p.sendTitle lub użyj swojego api na title. (jeżeli masz) Czepiam się do rzeczy które pomogą ci lepiej pisać pluginy. (Oraz wygodniej xd) Typyyyy.... Nie wiem jak można się czepiać do nazwy klasy głownej 'Main'. Każdy może nazwać jak chce, i nie ma co tu się czepiać Moja ocena 5/10 Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
bgK1NG 15 Opublikowano 4 grudnia 2017 Udostępnij Opublikowano 4 grudnia 2017 1 godzinę temu, SKsteiner napisał: Typyyyy.... Nie wiem jak można się czepiać do nazwy klasy głownej 'Main'. Każdy może nazwać jak chce, i nie ma co tu się czepiać Zazwyczaj powinno sie ja nazywać albo Main albo np.ChatPlugin jezeli plugin dotyczy zarzadzania chatem itp. Itd. Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
STEINER 60 Opublikowano 5 grudnia 2017 Udostępnij Opublikowano 5 grudnia 2017 23 godziny temu, bgK1NG napisał: Zazwyczaj powinno sie ja nazywać albo Main albo np.ChatPlugin jezeli plugin dotyczy zarzadzania chatem itp. Itd. Tak. Ale każdy może nazwać to jak chce a takie 'hejty'/'czepianie' o nazwę klasy to nie jest normalne XD Ktoś nazwie klasę karaluch i zostanie zhejtowany? Tak to ma wyglądać? Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
PiTeKLive 19 Opublikowano 6 grudnia 2017 Udostępnij Opublikowano 6 grudnia 2017 (edytowane) Dnia 4.12.2017 o 23:11, bgK1NG napisał: Zazwyczaj powinno sie ja nazywać albo Main albo np.ChatPlugin jezeli plugin dotyczy zarzadzania chatem itp. Itd. Nie trzeba ich tak nazywać. Jak komu wygodniej tak sobie napisze, a plugin wykorzystam na moim serwerze (gdzie grajo miliony ludziów ) Edytowane 6 grudnia 2017 przez PiTeKLive Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
Nieaktywny Opublikowano 11 grudnia 2017 Udostępnij Opublikowano 11 grudnia 2017 jesli dobrze pamietam standard zaklada, ze klasa glowna to NazwaWtyczkiPlugin, czyli jesli nasz plugin to AutorskieCore to nazywamy klase glowna AutorskieCorePlugin =) Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
Rekomendowane odpowiedzi