Queito 104 Opublikowano 22 września 2018 Udostępnij Opublikowano 22 września 2018 (edytowane) PublicRPG Opis Witam! Postanowiłem stworzyć swój pierwszy publiczny plugin dla użytkowników którzy ciągle pisali "napisze ktoś mi skrypt na poziomy" itp., sam kiedyś byłem w takiej potrzebie więc i oto plugin. Jest to jak napisałem na początku mój pierwszy publiczny projekt jak z pierwszym configiem; Prosiłbym aby każda osoba coś od siebie dała, co by chciała w pluginie/jakieś dodatkowe opcje w configu, czy w wiadomościach. Pisany plugin na wersje: 1.13.1, działa od 1.8. Napisałem ten plugin publicznie żeby nauczyć się lepiej programować, bo nikt inny nie widział moich kodów a chcę najlepiej napisać każdy plugin, także proszę wszystkich o opinie o kodzie Możliwości Awansowanie własnej postaci poprzez zabijanie potworów Dodanie własnego potwora (małe możliwości) Zintegrowanie potwora z innym pluginem (zaznaczenie opcji na false oraz dodanie go do listy) Tworzenie własnych klas (na ten moment zostały usunięte) Zapis (na tą chwile) tylko na pliki (FLAT) Rozbudowany config oraz mniej rozbudowane wiadomości Komendy dla admina (edytowanie, tworzenie, lista, teleport, reset) Rozdzielanie zebranego expa (shareExp) Komendy /adminrpg [stworz/edytuj/lista], permisja: admin.adminrpg /info, permisja: brak Informacje: Wersja: 1.8.x-1.13.x | Java: 8 Pobieralnia: Pobierz Kod źródłowy: Kod Błędy i propozycje: Link, można również tutaj pisać (byłoby najlepiej ;p) Edytowane 27 września 2018 przez Queito EvoChestenchpl, Zygzaq i KrejzolekPRO 1 1 1 Odnośnik do komentarza https://skript.pl/temat/29599-publicrpg-plugin-na-rpg/ Udostępnij na innych stronach Więcej opcji udostępniania...
KrejzolekPRO 600 Opublikowano 22 września 2018 Udostępnij Opublikowano 22 września 2018 Wygląda nawet okej Queito 1 Odnośnik do komentarza https://skript.pl/temat/29599-publicrpg-plugin-na-rpg/#findComment-194654 Udostępnij na innych stronach Więcej opcji udostępniania...
Nieaktywny Opublikowano 23 września 2018 Udostępnij Opublikowano 23 września 2018 https://imgur.com/a/ee5nZQC java 8 mówisz? Odnośnik do komentarza https://skript.pl/temat/29599-publicrpg-plugin-na-rpg/#findComment-194667 Udostępnij na innych stronach Więcej opcji udostępniania...
Queito 104 Opublikowano 23 września 2018 Autor Udostępnij Opublikowano 23 września 2018 50 minut temu, crejk napisał: https://imgur.com/a/ee5nZQC java 8 mówisz? https://imgur.com/erUQGmZ to nie jest java8? Może się mylę Odnośnik do komentarza https://skript.pl/temat/29599-publicrpg-plugin-na-rpg/#findComment-194670 Udostępnij na innych stronach Więcej opcji udostępniania...
Queito 104 Opublikowano 23 września 2018 Autor Udostępnij Opublikowano 23 września 2018 Update v0.3 Nowości: ShareExp - Podzielony exp po graczach Możliwość włączenie/wyłączenie sharexpa Nowe komendy: /adminrpg teleport/reset Nowa zmienna: number, pozwala ustawić ile w danym miejscu ma się zrespić potworów Większa optymalizacja Więcej wiadomości Przetłumaczyłem z polskiego na angielski z komend admina (jeżeli są błędy od razu proszę pisać :p) Informacja Przy wgraniu pluginu na serwer proszę (niestety) usunąć plik z configiem, messagow oraz pliki z potowami w folderze mobs Poprawki Naprawiono błąd z brakiem uderzenia graczy Naprawiono błąd z resetowaniem się hp/many po śmierci Proszę wszystkich abyście dawali swoje propozycję, żeby plugin się rozrósł, aby każdy mógł go z dużą radością używać! Więcej inforamcji | Kod źródłowy: Kliknij tutaj Odnośnik do komentarza https://skript.pl/temat/29599-publicrpg-plugin-na-rpg/#findComment-194734 Udostępnij na innych stronach Więcej opcji udostępniania...
yooniks 347 Opublikowano 24 września 2018 Udostępnij Opublikowano 24 września 2018 (edytowane) W dniu 23.09.2018 o 11:54, Queito napisał: https://imgur.com/erUQGmZ to nie jest java8? Może się mylę nie ma tu uzytych funkcji javy 8, takie rzeczy to tylko w javie 6 =/ co do reszty: public UserManager getUserManager() { if(this.userManager == null) this.userManager = new UserManager(); return this.userManager; } public CustomClassManager getCustomClassManager() { if(this.customClassManager == null) this.customClassManager = new CustomClassManager(); return this.customClassManager; } gettery powinny zwracać od razu coś, no chyba, że to singleton czy coś, no a nie widze zebys ustawial gdzies te zmienne na null, wiec nie ma potrzeby nawet takiego sprawdzania, bo są inicjowane w konstruktorze (no i powinny byc rejestrowane w onenable, a nie w konstruktorze) for(Entity entity : Bukkit.getWorld("world").getEntities()){ if(this.mobManager.isMob(entity.getCustomName()) && !(entity instanceof Player)){ ((LivingEntity) entity).setHealth(0); } } od razu mozesz uzyc getlivingentities, no i uzyc streamow =/ private final Map<String, List<String>> moreMessages = new HashMap<String, List<String>>(); mozesz zastapic to multimapą z guavy ogólnie to jest tu dużo błędów, a kod wygląda nieestetycznie i słabe rozwiązania =/ public void save(Main main){ for(User user : main.getUserManager().userSet()){ if(user.isChanged()){ new FlatUser(user).save(); } } } tworzysz obiekt tylko po to aby wykonać metode save, od razu w parametrze mozesz dostarczyc usermanager lub od razu liste, bo po co main skoro i tak nie uzywasz wiecej funkcji od niego. nazwy zmiennych z małych liter, tak samo metod i pakietów, klasy z dużych liter. for(String string : Messages.getInstance().getList("LevelUpMessage")) { player.sendMessage(string .replace("{LVL}", "" + this.getLevel()) .replace("{EXP}", "" + this.getExp()) .replace("{NEED}", "" + this.getNeed())); } yaml wspiera wielolinijkowe teksty, tzn. message: "Pierwsza linia\nDruga linia" #musi być te " ", jest oczywiscie duzo wiecej sposobow na tworzenie takich tekstow, ale ten jest chyba najprostszy dla kogos kto tego nie ogarnia i wtedy wysylasz to jako jedną wiadomość, do tego zamiast String#replace mozesz uzyc StringUtils.replace, ktore jest kilka razy szybsze. no i tez czasem immutable tez by sie tu przydalo edit: no i oczywiscie tutaj flat ssie, do tego widze ze masz tutaj kilka obiektów, które używają metody np. save, mógłbyś pobawić sie z interfejsami lub dziedziczeniem, ładniej by wyszło Edytowane 24 września 2018 przez yooniks VapeGG i Queito 1 1 Odnośnik do komentarza https://skript.pl/temat/29599-publicrpg-plugin-na-rpg/#findComment-194783 Udostępnij na innych stronach Więcej opcji udostępniania...
Queito 104 Opublikowano 26 września 2018 Autor Udostępnij Opublikowano 26 września 2018 Update 0.4a W aktualizacji: Głównie optymalizacja @yooniks Usunięto na chwilę obecną klasy Mam w planach za parę aktualizacji wypuścić proste gildie, przywrócić klasy oraz wiele więcej (oraz te propozycje które dojdą od graczy, to na pewno). Aktualizacja nie była testowana. Proszę o usunięcie wszystkich plików graczy oraz potworów (już ostatni raz no chyba, że coś dojdzie :p). Odnośnik do komentarza https://skript.pl/temat/29599-publicrpg-plugin-na-rpg/#findComment-194932 Udostępnij na innych stronach Więcej opcji udostępniania...
Queito 104 Opublikowano 27 września 2018 Autor Udostępnij Opublikowano 27 września 2018 Update 0.4b W aktualizacji: Naprawiono wiele błędów/niedopatrzeń Dodano nowe aliasy do komendy /info - /level, /poziom, /gracz Dodano zmienną do chat formatu {LVL}. Możesz to zastosować np. w essentialsu. Optymalizacja Plugin testowany i myślę, że jest stabilny. Pobieralnia: link | Kod źródłowy: link Odnośnik do komentarza https://skript.pl/temat/29599-publicrpg-plugin-na-rpg/#findComment-194950 Udostępnij na innych stronach Więcej opcji udostępniania...
Queito 104 Opublikowano 28 października 2018 Autor Udostępnij Opublikowano 28 października 2018 Można zamknąć do odwołania, robię sobie przerwę od javy/mc. Odnośnik do komentarza https://skript.pl/temat/29599-publicrpg-plugin-na-rpg/#findComment-197281 Udostępnij na innych stronach Więcej opcji udostępniania...
stefanik11 61 Opublikowano 29 października 2018 Udostępnij Opublikowano 29 października 2018 Ten temat został zamknięty. Odnośnik do komentarza https://skript.pl/temat/29599-publicrpg-plugin-na-rpg/#findComment-197330 Udostępnij na innych stronach Więcej opcji udostępniania...
Rekomendowane odpowiedzi