Skocz do zawartości


Zdjęcie

[Autorski] Plugin na otchłań

#autorski #plugin #otchlan

  • Zaloguj się, aby dodać odpowiedź
4 odpowiedzi w tym temacie

#1 LessNop

LessNop

    Nowy

  • Użytkownik
  • 7 postów
  • LessNop#5020
  • Krzysztof2013

Napisano 23 October 2018 - 18:40

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:

#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") :

 

By zobaczyć linki musisz się zalogować lub zarejestrować

 

 

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:
  1. Poprawa błędu o nieprawidłowym czasie do zamknięcia otchłani
  2. Poprawa błędu o nieprawidłowej permisji dla gracza
  3. Naprawa omyłkowo dodanego eventu, który powodował błędy
  • Wewnętrzne:
  1. Zmiana nazw wszystkich zmiennych i klas na angielskie
  2. "Posegregowanie" klas do odpowiednich package'ów
  3. Usunięcie nadmiaru używania statycznych zmiennych

 

 

//UPDATE v1.2.0

 

Zmiany:

  • Zewnętrzne:
  1. Poprawa błędu przy wyjęciu ostatniego przedmiotu
  2. Poprawa configu (minimalne błędy składniowe)
  • Wewnętrzne:
  1. Usunięcie wszystkich statycznych zmiennych i funkcji
  2. Zwiększenie wydajności refreshu okna

 

//UPDATE v1.2.1

 

Zmiany:

  • Wewnętrzne:
  1. "Poukładanie" klas
  2. Przeniesienie komend do nowych klas
  3. Próba edycji kodu na czytelniejszy

Użytkownik LessNop edytował ten post 28 October 2018 - 14:16


craftportal

Craftserve to największy i najlepszy polski hosting serwerów Minecraft, jest solidny i tani więc go polecam

#2 ZdzisiuMaszWulkanik

ZdzisiuMaszWulkanik

    Znawca

  • Zbanowany
  • 224 postów
  • cipkawokresie

Napisano 23 October 2018 - 20:02

Chyba gdzieś widziałem podobny plugin, aczkolwiek nie jest zły, szanuję za chęć i włożony czas.



#3 LessNop

LessNop

    Nowy

  • Użytkownik
  • 7 postów
  • LessNop#5020
  • Krzysztof2013

Napisano 24 October 2018 - 10:33

Takich pluginów było kilka ale chyba wszystkie są na 1.8.8 najwyżej

#4 AlanOGL

AlanOGL

    Алан akbar!

  • Użytkownik+
  • 1087 postów
  • Analek#0297
  • AlanOGLL

Napisano 24 October 2018 - 16:41

Plugin sam w sobie nie jest zły, ma troche takich błędów "programistycznych" np. jak polskie nazwy zmiennych i klas, ale skoro plugin działa, to nikt nie powinien się za to przyczepiać.

Jednak na pierwszy rzut oka wprowadziłbym małą zmiankę.. Jak wiadomo otchłań jest przeważnie na serwerach easyhc, hc itp. Często jest tam dużo graczy i przyjmijmy, że 100 graczy na raz otworzy otchłań.. Dla każdego z osobna będzie ją generowało, dlatego lepiej chyba wygenerować jedno inventory i otwierać je dla każdego z graczy



#5 LessNop

LessNop

    Nowy

  • Użytkownik
  • 7 postów
  • LessNop#5020
  • Krzysztof2013

Napisano 24 October 2018 - 19:06

Problem jest w tym, że każdy gracz może mieć oddzielną stronę ( część będzie miało 1 stronę, część drugą stronę itd.) przez co nie da sie raz wygenerować itemów, chyba że w hashMapie umieścić by ich numer, ale wydaje mi się, że to byłoby mniej wydajne, chociaż w sumie to zależy od przypadku i mogłoby być ok. Dzięki za pomysł