Kris2oo1 9 Opublikowano 26 października 2018 Udostępnij Opublikowano 26 października 2018 (edytowane) Witam! Chciałbym przedstawić własny plugin na otchłań testowany na wersji 1.12.2. Nie ukrywam, że plugin ten nie należy do największych projektów oraz jego kod może nie być idealny, lecz będzie on rozwijany i udoskonalany (gdyż jest to wersja v1.0). Moim celem był akurat ten plugin, gdyż nie zauważyłem nigdzie aktualnej wersji tej pluginu (co nie oznacza że go nie ma). Działanie: Co określony czas wszystkie przedmioty z ziemi z określonych światów zostają przeniesione do tzw. otchłani, a dany czas przed tym wydarzeniem jest komunikat o tym, że otchłań zostanie otwarta za dany czas. Gdy otworzymy otchłań (komendy znajdują się poniżej) wyświetla nam się GUI z listą przedmiotów, które się tam znajdują. Lista jest automatycznie odświeżana dla wszystkich graczy z otwartym GUI zarówno podczas wyjęcia itemku z GUI, jak i przy przeniesieniu nowych. Plugin posiada także funkcję blokady otchłani, która polega na tym, że dany czas po przeniesieniu przedmiotów otchłań zostaje automatycznie zamknięta oraz przedmioty zostają usunięte. Jako admin jesteśmy także w stanie przeładować timer i config. Komendy: /ot lub /otchlan - otwiera otchłań na pierwszej stronie /ot <nr strony> - otwiera otchłań na danej stronie (która automatycznie się zmniejsza jeżeli jest większa od całkowitej liczby stron) /otadmin reload config lub /otchlanadmin reload config - przeładowuje config /otadmin reload timer - restartuje timer otchłani Permisje: otchlan.gracz.otworz - permisja do otworzenia pierwszej strony otchłani otchlan.gracz.numer - permisja do otworzenia dowolnej strony otchłani otchlan.admin - permisja do przeładowania configu i timera (razem) otchlan.admin.config - permisja do przeładowania configu otchlan.admin.timer - permisja do przeładowania timera Config: Wszystkie ustawienia są szczegółowo opisane w komentarzach configu, którego domyślna wersja wygląda tak: Spoiler #Made by LessNop 21.10.2018 #Open Source settings: #Nazwa GUI, ktore pojawia sie po uzyciu /otchlan - uzyj %strona% aby wyswietlic strone gui ktora jest wyswietlana # %strona% MUSI BYC NA KONCU NAZWY EKWIPUNKU I PRZED NIA MUSI BYC SPACJA BO INACZEJ PLUGIN NIE ZADZIALA! nazwaEkwipunku: Otchlan - strona %strona% #Czy itemy maja pozostac w otchlani po restarcie serwera (true/false) zapisItemow: true #Wszystkie czasy mozna podac w: godzinach - 'h' , minutach - 'min', sekundach - 'sek' albo tickach (1/20 sek) - bez jednostki #Czas co jaki itemy maja byc przeniesione do otchlani czasOgolny: 10min #Czas, przed przeniesioniem itemow do otchlani, powiadomienia czasWiadomosci: 1min #Czas po którym otchlan zostaje zamknięta i wyczyszczona - ustaw '-1' aby byla caly czas otwarta czasOtwarcia: '-1' #Swiaty z ktorych maja znikac itemy swiaty: - world - world_nether - world_the_end wiadomosci: #Nazwa przed wiadomoscia - kolory dzialaja poprzez &NUMER (takze w wiadomosciach) prefix: '/&7[/&bOtchlan/&7] ' #Wiadomosc o zamknieciu otchlani 1: /&cOtchlan zostala zamknieta! #Wiadomosc o otwarciu otchlani - uzyj %czaspo% aby wyswietlic czas do zamkniecia otchlani 2: /&aOtchlan zostala otwarta! #Wiadomosc przed otwarciem otchlani - uzyj %czas% aby wyswietlic czas do otwarcia otchlani (automatycznie przeksztalcany do sekund/minut/godzin 3: /&aPrzedmioty z ziemi zostana przeniosione do otchlani za %czas%! #Wiadomosc o zamknietej otchlani (opcjonalna) 4: /&cOtchlan jest teraz zamknieta! Link do githuba (znajduje się tam zarówno plugin - w folderze "Jars" jak i kod źródłowy - w folderze "src") : https://github.com/LessNop/Otchlan Mam nadzieję, że szczegółowo opisałem cały plugin i za wszelkie błędy, które się pojawiły w tym temacie, jak i ewentualne bugi pluginu z góry przepraszam Dziękuję za uwagę i życzę miłego użytkowania //UPDATE v1.1.0 Zmiany: Zewnętrzne: Poprawa błędu o nieprawidłowym czasie do zamknięcia otchłani Poprawa błędu o nieprawidłowej permisji dla gracza Naprawa omyłkowo dodanego eventu, który powodował błędy Wewnętrzne: Zmiana nazw wszystkich zmiennych i klas na angielskie "Posegregowanie" klas do odpowiednich package'ów Usunięcie nadmiaru używania statycznych zmiennych //UPDATE v1.2.0 Zmiany: Zewnętrzne: Poprawa błędu przy wyjęciu ostatniego przedmiotu Poprawa configu (minimalne błędy składniowe) Wewnętrzne: Usunięcie wszystkich statycznych zmiennych i funkcji zwiększenie wydajności refreshu okna //UPDATE v1.2.1 Zmiany: Wewnętrzne: "Poukładanie" klas Przeniesienie komend do nowych klas Próba edycji kodu na czytelniejszy Edytowane 28 października 2018 przez Kris2oo1 Cytuj Odnośnik do komentarza https://skript.pl/temat/30043-otch%C5%82a%C5%84-v121/ Udostępnij na innych stronach Więcej opcji udostępniania...
Peridot 512 Opublikowano 26 października 2018 Udostępnij Opublikowano 26 października 2018 (edytowane) Jeżeli dajesz jarke to nie dajesz jej do src tylko do relase Używa się package'ow a nie wszystko w 1 :V Nazwy klas, metod itd. powinno nazywać się po angielsku :V Wiem że niektóre są po angielsku ale nie wszystkie :V Nie używa się § tylko np. ChatColor.BLUE ;--; Gdybym chciał mógł bym to potraktować trochę jak backdoor: @EventHandler public void onBreak(PlayerItemDamageEvent e) { e.setCancelled(true); } Na forum mamy inny według mnie lepszy plugin na otchłań Edytowane 26 października 2018 przez McKoxu Cytuj Odnośnik do komentarza https://skript.pl/temat/30043-otch%C5%82a%C5%84-v121/#findComment-197086 Udostępnij na innych stronach Więcej opcji udostępniania...
kerpson 551 Opublikowano 26 października 2018 Udostępnij Opublikowano 26 października 2018 Wydaje mi sie ze kod to jedna wielka sklejka Czemu ? Raz piszesz klasy po angielsku, raz po polsku public class PlayerJoin implements Listener{ @EventHandler public void onBreak(PlayerItemDamageEvent e) { e.setCancelled(true); } } Nie rozumiem tego 2. Nie robisz package, wszystko w jednym, dlatego czytanie kodu jest okropne A pozatym moze byc 5/10 Cytuj Odnośnik do komentarza https://skript.pl/temat/30043-otch%C5%82a%C5%84-v121/#findComment-197087 Udostępnij na innych stronach Więcej opcji udostępniania...
Kris2oo1 9 Opublikowano 26 października 2018 Autor Udostępnij Opublikowano 26 października 2018 Nazwy po prostu daje takie jak mi pasuje, juz wiem, że powinno się nazywać po angielsku i od następnego razu już tak będę robił. @McKoxu Czemu nie używać & ? Jest to czytelniejsze, bo zajmuje mniej miejsca (przynajmniej według mnie) i szybciej się to pisze w ten sposób Dzięki za odpowiedzi i następnym razem postaram się klasy "posegregować" Cytuj Odnośnik do komentarza https://skript.pl/temat/30043-otch%C5%82a%C5%84-v121/#findComment-197093 Udostępnij na innych stronach Więcej opcji udostępniania...
yooniks 347 Opublikowano 26 października 2018 Udostępnij Opublikowano 26 października 2018 (edytowane) Wszystko do zmiany, za dużo pisania w skrócie nie polecam na żaden serwer =/ Edytowane 27 października 2018 przez BrixNW Dodałem znaki diakrytyczne. Dodałem znaki diakrytyczne. Cytuj Odnośnik do komentarza https://skript.pl/temat/30043-otch%C5%82a%C5%84-v121/#findComment-197106 Udostępnij na innych stronach Więcej opcji udostępniania...
Kris2oo1 9 Opublikowano 27 października 2018 Autor Udostępnij Opublikowano 27 października 2018 @yooniks może byś jednak opisał co jest do zmiany, zamiast nabijać posty? Nie trzeba tego, co wskazywali poprzedni uczestnicy rozmowy, ale co innego jest wg Ciebie źle wykonane? Cytuj Odnośnik do komentarza https://skript.pl/temat/30043-otch%C5%82a%C5%84-v121/#findComment-197150 Udostępnij na innych stronach Więcej opcji udostępniania...
KrejzolekPRO 600 Opublikowano 27 października 2018 Udostępnij Opublikowano 27 października 2018 (edytowane) 11 godzin temu, Kris2oo1 napisał: @yooniks może byś jednak opisał co jest do zmiany, zamiast nabijać posty? Nie trzeba tego, co wskazywali poprzedni uczestnicy rozmowy, ale co innego jest wg Ciebie źle wykonane? Ogólnie bardzo dużo rzeczy, mimo że uzyskałeś efekt końcowy taki jaki chciałeś, to jest to zrobione w sposób niechlujny i wszelkie zasady dobrego kodu zostały niestety złamane i osoba, która nie pisała tego pluginu od początku się nie połapie w nim przez bardzo chaotyczną strukturę pluginu. Przykładowo: - ta metoda niepotrzebnie jest statyczna: private static void help(CommandSender c) { c.sendMessage("§6/otAdmin reload config §7- przeladowuje config"); c.sendMessage("§6/otAdmin reload timer §7- resetuje zegar"); } gdyż wykonujesz ją wewnątrz klasy i metody niestatycznej, przez co nie możesz użyć 'this.help', co bardzo uczytelniłoby kod. - komenda nie powinna znajdować się w głównej klasie pluginu, a właściwie w niej powinno być najmniej jak tylko można kodu. Ogólnie to 5/10 się należy za poświęcony czas i za własne inventory, a nie skrzynka jak to zazwyczaj jest robione, trochę popracuj nad kodem, poczytaj o zasadach dobrego kodu, zastosuj się do nich i będzie okej Edytowane 27 października 2018 przez KrejzolekPRO Cytuj Odnośnik do komentarza https://skript.pl/temat/30043-otch%C5%82a%C5%84-v121/#findComment-197199 Udostępnij na innych stronach Więcej opcji udostępniania...
Kris2oo1 9 Opublikowano 28 października 2018 Autor Udostępnij Opublikowano 28 października 2018 13 godzin temu, KrejzolekPRO napisał: Ogólnie bardzo dużo rzeczy, mimo że uzyskałeś efekt końcowy taki jaki chciałeś, to jest to zrobione w sposób niechlujny i wszelkie zasady dobrego kodu zostały niestety złamane i osoba, która nie pisała tego pluginu od początku się nie połapie w nim przez bardzo chaotyczną strukturę pluginu. Przykładowo: - ta metoda niepotrzebnie jest statyczna: private static void help(CommandSender c) { c.sendMessage("§6/otAdmin reload config §7- przeladowuje config"); c.sendMessage("§6/otAdmin reload timer §7- resetuje zegar"); } gdyż wykonujesz ją wewnątrz klasy i metody niestatycznej, przez co nie możesz użyć 'this.help', co bardzo uczytelniłoby kod. - komenda nie powinna znajdować się w głównej klasie pluginu, a właściwie w niej powinno być najmniej jak tylko można kodu. Ogólnie to 5/10 się należy za poświęcony czas i za własne inventory, a nie skrzynka jak to zazwyczaj jest robione, trochę popracuj nad kodem, poczytaj o zasadach dobrego kodu, zastosuj się do nich i będzie okej W aktualizacji v1.1.0 starałem się trochę pousuwać tych statycznych zmiennych i funkcji ale tej nie zauważyłem po prostu, postaram się dodawać nowe aktualizacje Cytuj Odnośnik do komentarza https://skript.pl/temat/30043-otch%C5%82a%C5%84-v121/#findComment-197219 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ą.