Skocz do zawartości
  • 👋 Witaj na MPCForum!

    Przeglądasz forum jako gość, co oznacza, że wiele świetnych funkcji jest jeszcze przed Tobą! 😎

    • Pełny dostęp do działów i ukrytych treści
    • Możliwość pisania i odpowiadania w tematach
    • System prywatnych wiadomości
    • Zbieranie reputacji i rozwijanie swojego profilu
    • Członkostwo w jednej z największych społeczności graczy

    👉 Dołączenie zajmie Ci mniej niż minutę – a zyskasz znacznie więcej!

    Zarejestruj się teraz

[Plugin] NovaGuilds - obecnie najlepszy plugin na gildie


Rekomendowane odpowiedzi

Opublikowano

                    newlogo.png

 
Napisałem sobie plugin, a co! Kolejne gildie? Niby tak, ale chcę ten projekt rozwinąć aby przebił on Factions i FunnyGuilds razem wzięte. Nie ukrywam, że napędza mnie chęć przebicia pluginu Dzikoyska, czysta rywalizacja. Moje NovaGuilds jest opensource, więc każdy może sobie podejrzeć kod i dowolnie go edytować.

Dzielę się tym z Wami, użytkownicy MPC, ponieważ potrzebuję testerów i jeszcze więcej zadowolonych graczy. Zachęcam każdego żeby dodał ten plugin na swój serwer, a ja służę pomocą jeśli chodzi o konfigurację i używanie, a co najważniejsze z ogromnym entuzjazmem przyjmę nowiny o bugach i propozycje dotyczące funkcjonalności.
 
Mój plugin odróżnia się od innych głównie sposobem podbijania gildii. Podbijamy gildię metodą rodem z WOTa. Siedzimy na terenie gildii z którą toczymy wojnę i czekamy aż zapełni się pasek aby ta straciła życie. Po straceniu wszystkich gildia oczywiście zostaje zniszczona. :D
Na wiki na githubie jest opisane API z pomocą którego możecie dodawać własną mechanikę dotyczącą gildii. Chętnie dołączę Wasz kod do pluginu, wystarczy się skontaktować!
 
Czas który poświęciłem na pisanie pluginu:
ponad 60 godzin, stan na dzień 06-05-2015
ponad 70 godzin, stan na dzień 25-05-2015

ponad ∞ godzin, stan na dzień 19-11-2016
 
Download

http://dev.bukkit.org/bukkit-plugins/novaguilds/
https://novaguilds.pl/

Kod

https://github.com/MarcinWieczorek/NovaGuilds

Skanu nie ma co dawać, po pierwsze jest download na bukkit dev, po drugie kod na githubie.
A tak oto się rozwinął plugin. Komendy już dawno się nie mieszczą na jednym ekranie :)
 

ngss1.jpg

2016-11-20_9762.png

 
Podziękowania dla użytkowników forum:
@idrakus - Za logo oraz kod (tab i tag)

@PanPiksel - Za pomysł efektów dla gildii

@dzikoysk za hejty i utilsy

 

 

Dotacje

paypal_icon.png

 

 

Krótki tutorial jak zająć teren gildii, jakby ktoś nie ogarniał:

 

 

 

 

1. Bierzemy sobie patyk komendą /ng tool

regiontut1.png

 

 

2. Zmieniamy tryb patyka za pomocą kucnięcia (SHIFT) + LPP (lewy przycisk myszy)

regiontut2.png

 

 

3. Zaznaczamy jeden narożnik naszego terenu (lewy przycisk myszy)

regiontut3.png

 

 

4. Zaznaczamy drugi narożnik, po przekątnej (prawy przycisk myszy). Czerwony prostokąt oznacza poprawnie zaznaczony teren.

regiontut4.png

 

 

5. Jeśli nie masz kasy w banku gildii użyj komendy /g pay

regiontut5.png

 

 

6. Teraz możemy już kupić teren!

regiontut6.png

 

 

 

Medal dla Pana @zychu151 w temacie z konkurencyjnym pluginem!

http://www.mpcforum....-supergildie-2/

http://screenshooter...2447911/mxqdaik

Stary temat: http://www.mpcforum.pl/topic/1411002-novaguilds-nowy-plugin-na-gildie/

 

Trochę informacji:

Obsługiwane wersje: 1.7.9 - 1.11 (Automatyczna kompatybilność z kolejnymi wersjami na wypadek zmiany protokołu)

Tablista: od 1.8 wzwyż - w pełni konfigurowalna bez limitu znaków

Importowanie danych z FunnyGuilds komendą /nga migrate

Customowe grupy z możliwością wgrania pliku schematic przy tworzeniu gildii - Kula obsa lub cokolwiek innego ;)

Indywidualne rangi gildyjne z możliwością wyboru uprawnień - Zastępca lidera? Zastępca szwagra asystentki? - bardzo proszę.

Wsparcie dla modów, w pełni konfigurowalna interakcja z blokami i entity. Czy to Flan's Mod i ich samoloty czy też cokolwiek innego - będzie działało.

Otwarte źródło i wolna licencja - na GitHub

API dla developerów - zintegruj NovaGuilds ze swoim pluginem

 

 

Proszę o twórczą krytykę!

 

 

Global+Statistics@1.5x.borderless.png

Dodaj mój nick do posta jeśli potrzebujesz pomocy | Piszę pluginy na zlecenie | Pomagam z Linuxem

newlogo.png

  • Odpowiedzi 83
  • Dodano
  • Ostatniej odpowiedzi
Opublikowano

Widzę, że porządny plugin. Ciekawy jestem, jak ta mechanika dotycząca przejmowania baz będzie się sprawować na serwerach. Jak będę miał czas to potestuję ;)

 

Podbijanie gildii sprawuje się dobrze. Niektórzy narzekają, że różni się ona od mechaniki FG, no ale co, mam przepisać je linijka w linijkę? ;)

 

https://github.com/grzegorz2047/PseudoHC Już niedługo nie będzie najlepszy :D

 

POLECAM 1.10!@!@!@!@!@!@

Czekam z utęsknieniem, aż ten plugin będzie dla mnie konkurencją, bo na razie na pewno nie jest. Może za rok.

Dodaj mój nick do posta jeśli potrzebujesz pomocy | Piszę pluginy na zlecenie | Pomagam z Linuxem

newlogo.png

Opublikowano

Hejt! hejt! hejt! hejt!

Dawno nie wypowiadałem się na temat jakiegoś pluginu na mpc forum! czas to zmienić!

 

Masz mavena itd to już masz plusa.

minus za wspieranie 1.7 ( ͡° ʖ̯ ͡°)

 

https://github.com/MarcinWieczorek/NovaGuilds/blob/release/39/src/main/java/co/marcin/novaguilds/util/TabUtils.java#L62

lepiej używać tasków, async.

 

ogólnie kod jest ładny, ale jest kilka rzeczy które mnie chcą zabić, np te ggigatnyczne zapisy w systemie komend, oraz to:

https://github.com/MarcinWieczorek/NovaGuilds/blob/release/39/src/main/java/co/marcin/novaguilds/util/NumberUtils.java

	public static boolean isNumeric(String str) {
		return !str.isEmpty() && str.matches("[+-]?\\d*(\\.\\d+)?");
	}
	public static int randInt(int min, int max) {
		Random rand = new Random();

		return rand.nextInt((max - min) + 1) + min;
	}
	public static double roundOffTo2DecPlaces(double val) {
		return Math.round(val * 100) / 100;
	}

1. Tak się nie sprawdza czy string jest liczbą, bo dalej nie daje ci żadnej pewności i tylko niepotrzebne dłużej trwa

2. nie tworzy sie co chwile nowego randoma.

3. takie zookrąglanie i tak nie zadziala przy wyświetlaniu, bo nie każda liczba ma swoją reprezentacje, do tego można dostać dziwny wynik przy większych liczbach kiedy pomnożysz je przez 100.

 

https://github.com/MarcinWieczorek/NovaGuilds/blob/release/39/src/main/java/co/marcin/novaguilds/impl/util/AbstractListener.java#L32

Takie rzeczy w konstruktorze też są złą praktyką.

 

Można by też poprawić refleksje na statyczne MethodHandles, bo są tak szybkie jak bezpośrednie użycie, a tak to kod dobry, ale zmień te NumberUtils  bo psuje caly efekt :<

1438614356923701010629.png

 

Opublikowano

Jest wątek, jeden dla wszystkich odświeżanych tabów w danym momencie, nie marudź mi taskami. Nie blokuje głównego wątku.

Co do Randoma i regexa masz rację. Tego jest 50k linijek, a te utilsy były pisane dość dawno (Jul 4, 2015). Nie zaglądam tam codziennie, byłem wtedy noobem większym niż jestem.

Jak to powiedział @anemonex ,,Nawet Goto nie zna całej Javy"

Zaokrąglanie owszem nie działa, sprawdzałem je z tydzień temu i przysięgam, że było napisane inaczej i działało!

Konstruktor AbstractListenera jest zupełnie zamierzony. Metody oznaczone @EventHandler są pobierane refleksjami z klasy, która została już dawno załadowana. Gdzie tutaj zła praktyka?

Mówiłem Ci już, że te Twoje cudowne MethodHandle idą do TODO i kiedyś się napisze...

2016-11-20_89ba.png

 

Hejt gotoła zawsze w cenie.

Dodaj mój nick do posta jeśli potrzebujesz pomocy | Piszę pluginy na zlecenie | Pomagam z Linuxem

newlogo.png

Opublikowano

Jest wątek, jeden dla wszystkich odświeżanych tabów w danym momencie, nie marudź mi taskami. Nie blokuje głównego wątku.

Co do Randoma i regexa masz rację. Tego jest 50k linijek, a te utilsy były pisane dość dawno (Jul 4, 2015). Nie zaglądam tam codziennie, byłem wtedy noobem większym niż jestem.

Jak to powiedział @anemonex ,,Nawet Goto nie zna całej Javy"

Zaokrąglanie owszem nie działa, sprawdzałem je z tydzień temu i przysięgam, że było napisane inaczej i działało!

Konstruktor AbstractListenera jest zupełnie zamierzony. Metody oznaczone @EventHandler są pobierane refleksjami z klasy, która została już dawno załadowana. Gdzie tutaj zła praktyka?

Mówiłem Ci już, że te Twoje cudowne MethodHandle idą do TODO i kiedyś się napisze...

2016-11-20_89ba.png

 

Hejt gotoła zawsze w cenie.

Chodzi o to by bukkit o tych taskach wiedział i potrafił je bez problemu wyłączyć, podczas gdy z wątkiem są problemy, do tego wtedy lepiej sobie radzi z śledzenie tego co się dzieje itd, ot zwyczajnie tak się robi, bo od tego dali nam api.

 

A konstruktory ogólnie nie powinny mieć żadnych side-effects, taka jest zasada dobrych praktyk, rozwązaniem jest np statyczna metoda która to zarejestruje, lub zwykła metoda, new PlayerListener().register() możesz też tworzyć nawet instance i wszystkie refleksjami i wywoływać tę metodę z AbstractListener.

Ale tak jak pisałem, konstruktor powinien być czysty od side effects.

1438614356923701010629.png

 

Opublikowano

Szykanujesz mnie z zazdrości... Leci do TODO. Na razie mam ciekawsze ficzery do pisania

Dodaj mój nick do posta jeśli potrzebujesz pomocy | Piszę pluginy na zlecenie | Pomagam z Linuxem

newlogo.png

Opublikowano

Muszę pisać inne rzeczy zanim umrę z głodu, bo wtedy ten tab już na pewno nie powstanie. Doczekasz się, będziesz testerem.

Dodaj mój nick do posta jeśli potrzebujesz pomocy | Piszę pluginy na zlecenie | Pomagam z Linuxem

newlogo.png

Opublikowano

Zapraszam do testowania snapshotów. Nowa wersja zbliża się wielkimi krokami!

 

Projekt bierze udział w konkursie ,,Project of the month".

Głosować można w temacie:

http://www.mpcforum.pl/topic/1588383-14-potm-listopad-głosowanie/

Dodaj mój nick do posta jeśli potrzebujesz pomocy | Piszę pluginy na zlecenie | Pomagam z Linuxem

newlogo.png

Opublikowano

Wiele rzeczy w kodzie moznaby poprawic, ulepszyc natomiast ten plugin nie jest na skale polska, ludzie nie beda potrafili tego "wykorzystac", aczkolwiek gratuluje tak dlugiego projektu.

<18:17:02> "MarmarukHD" został zablokowany permanentnie na serwerze przez "Otek" (Teamspeak przeznaczony dla ludzi.)

Opublikowano

Wiele rzeczy w kodzie moznaby poprawic, ulepszyc natomiast ten plugin nie jest na skale polska, ludzie nie beda potrafili tego "wykorzystac", aczkolwiek gratuluje tak dlugiego projektu.

Proszę opisz dokładnie (email/XMPP/skype/pw/github) co można poprawić, chętnie się czegoś nauczę ;)

Dzięki za opinię. Tyle tłumaczeń mam, że widać, że celuję w cały glob ;P

Dodaj mój nick do posta jeśli potrzebujesz pomocy | Piszę pluginy na zlecenie | Pomagam z Linuxem

newlogo.png

  • 2 tygodnie później...
Opublikowano

Jest jakas strona od zmian? Co weszlo w danej wersji ;p?

<18:17:02> "MarmarukHD" został zablokowany permanentnie na serwerze przez "Otek" (Teamspeak przeznaczony dla ludzi.)

Opublikowano

Od wersji #39 (od następnego snapshota) będzie można przenieść wszystkie dane z pluginu FunnyGuilds nietknięte. Zmiana na lepsze nie będzie już wymagała nowej edycji Twojego serwera ;)

System jest w ostatniej fazie testów, proszę dostarczać dane jeśli ktoś ma!

Dodaj mój nick do posta jeśli potrzebujesz pomocy | Piszę pluginy na zlecenie | Pomagam z Linuxem

newlogo.png

  • 2 tygodnie później...
  • 5 tygodni później...
  • 2 tygodnie później...
  • 4 tygodnie później...
Opublikowano

Jest możliwość lub będzie zrobienia tego pluginu pod serwer pvp ? Nie wydaje mi się że to było by trudne dla Ciebie a plugin by mógł służyć większej ilości serwerów. Możliwość wyłączenia przejmowanie gildii jak i kilka innych funkcji. Pieniądze mogłyby służyć do zakładania gildii.

Opublikowano

Wszystko to jest możliwe, wystarczy zajrzeć do config.yml. Przejmowanie gildii jest w dziale "raid" a koszt zakładania gildii ustala się w grupach.

Dodaj mój nick do posta jeśli potrzebujesz pomocy | Piszę pluginy na zlecenie | Pomagam z Linuxem

newlogo.png

Zarchiwizowany

Ten temat przebywa obecnie w archiwum. Dodawanie nowych odpowiedzi zostało zablokowane.

×
×
  • Dodaj nową pozycję...