mcMMO Rewards: przegląd wtyczki nagród za poziomy w Minecraft
Szczegółowy przegląd wtyczki mcMMO Rewards dla serwerów Minecraft: konfiguracja wyzwalaczy awansu poziomu, komend i integracji z API mcMMO.
Szczegółowy przegląd wtyczki mcMMO Rewards dla serwerów Minecraft: konfiguracja wyzwalaczy awansu poziomu, komend i integracji z API mcMMO.
Wymagania:
Loader: Paper / Spigot / Purpur
Wersja Minecrafta: 1.20.x – 1.21.10
Wtyczki: McMMO
Popularny system RPG mcMMO dodaje do serwerów Minecraft mechaniki rozwoju umiejętności, takie jak wędkarstwo, górnictwo czy zielarstwo. Twórcy oryginalnej wtyczki nie przewidzieli jednak elastycznego systemu automatycznego przyznawania przedmiotów, waluty czy własnych tytułów za osiągnięcie określonych poziomów. Rozwiązuje to dodatkowe rozszerzenie mcMMO Rewards. Łączy ono system poziomów mcMMO z komendami konsoli serwera, pozwalając właścicielom projektów tworzyć automatyczne nagrody dla aktywnych graczy bez pisania skomplikowanych skryptów.
Obsługa zdarzeń i integracja z API
mcMMO Rewards działa jako lekki nasłuchiwacz zdarzeń (Event Listener), który integruje się bezpośrednio z rdzeniem serwera Spigot/Paper i komunikuje się z oficjalnym API wtyczki mcMMO.
Przechwytywanie zdarzenia McMMOPlayerLevelUpEvent
Za każdym razem, gdy gracz awansuje na wyższy poziom w dowolnej umiejętności (na przykład pracując w kopalni lub zbierając plony), mcMMO generuje zdarzenie McMMOPlayerLevelUpEvent. Wtyczka mcMMO Rewards przechwytuje to zdarzenie i uruchamia następujący algorytm:
Odczytuje nazwę umiejętności i nowy poziom, jaki osiągnął gracz.
Porównuje te dane z listami nagród zapisanymi w pliku konfiguracyjnym
config.yml.Jeśli znajdzie dopasowanie, wtyczka w imieniu konsoli wykonuje zadaną listę komend, podstawiając imię gracza w miejsce symbolu zastępczego
%player%.
Ważne ograniczenia obsługi zdarzeń
Ponieważ wtyczka jest powiązana wyłącznie ze zdarzeniem McMMOPlayerLevelUpEvent, reaguje tylko na naturalny awans poziomu podczas gry. ⚠️ Resetowanie poziomów i baza danych: jeśli administrator zmieni poziom gracza bezpośrednio w plikach bazy danych SQLite/MySQL (na przykład podczas migracji statystyk lub wipe'u) albo użyje komend konsoli, które zmieniają wartość poziomu bez wywołania standardowego zdarzenia awansu, nagrody nie zostaną aktywowane. Wtyczka nie obsługuje też retroaktywnego przyznawania nagród: jeśli gracz miał już 50. poziom przed instalacją mcMMO Rewards, nie otrzyma nagród za wcześniejsze poziomy (10, 20 itd.), dopóki nie osiągnie kolejnego poziomu.
Struktura pliku config.yml i konfiguracja nagród
Wszystkie nagrody definiuje się w jednym pliku konfiguracyjnym plugins/mcMMORewards/config.yml. Dzięki prostej składni YAML twórcy mogą szybko budować wielopoziomowe systemy nagród.
Opis składni konfiguracji
Każdy blok nagród ma ścisłą hierarchię:
Nazwa umiejętności (Skill): musi odpowiadać oficjalnej nazwie umiejętności w mcMMO (np.
mining,woodcutting,swords,herbalism).Poziom (Level): liczba całkowita, po osiągnięciu której wykonywane są komendy.
Lista komend: wykaz działań konsoli. Nie trzeba dodawać ukośnika
/na początku komend, ponieważ wszystkie są wykonywane bezpośrednio przez serwer w imieniu konsoli (poziom OP).
Przykładowy plik konfiguracyjny
Poniżej znajduje się przykład prawidłowo skonstruowanego pliku do przyznawania przedmiotów i pieniędzy:
rewards:
mining:
10:
- "give %player% iron_ingot 5"
- "broadcast &6[RPG] &e%player% &fдосяг 10-го рівня видобутку руди!"
50:
- "eco give %player% 1000"
- "give %player% diamond 3"
swords:
25:
- "xp give %player% 500"W tym przykładzie, gdy gracz %player% osiągnie 10. poziom umiejętności mining, otrzyma sztabki żelaza, a na cały serwer zostanie wysłana wiadomość. Po osiągnięciu 50. poziomu gracz otrzyma 1000 jednostek waluty za pośrednictwem wtyczki ekonomicznej (np. EssentialsX) oraz 3 diamenty.
Zarządzanie wtyczką: komendy i uprawnienia
Ponieważ mcMMO Rewards to bardzo kompaktowe rozszerzenie, lista jego komend i uprawnień ogranicza się wyłącznie do funkcji administracyjnych.
Komenda przeładowania konfiguracji
Aby zastosować jakiekolwiek zmiany w pliku config.yml, nie trzeba restartować całego serwera Minecraft ani przerywać rozgrywki. Wystarczy wykonać komendę: /mcmmorewards reload Ta komenda usuwa stare ustawienia z pamięci operacyjnej serwera i ponownie wczytuje plik konfiguracyjny, natychmiast stosując nowe nagrody.
Uprawnienia dla administratorów (Permissions)
Dla bezpieczeństwa serwera możliwość wykonania komendy przeładowania jest ograniczona specjalnym uprawnieniem (permission node). Zwykli gracze nie mają dostępu do tej komendy. Aby nadać uprawnienia administratorowi lub moderatorowi (np. przez LuckPerms), użyj następującego węzła: mcmmorewards.reload Domyślnie to uprawnienie jest automatycznie nadawane wszystkim graczom ze statusem operatora serwera (OP).
Podsumowanie
Wtyczka mcMMO Rewards to świetne narzędzie pomocnicze dla serwerów Minecraft z elementami RPG i survivalu, korzystających z systemu umiejętności mcMMO. Pozwala łatwo skonfigurować automatyczne przyznawanie nagród za aktywność w grze bez konieczności nauki skomplikowanych języków programowania czy używania ciężkich skryptów.
W porównaniu ze skomplikowanymi skryptami takimi jak Skript (które wymagają pisania własnej składni do nasłuchiwania zdarzeń mcMMO) czy wtyczkami rozbudowanych questów, mcMMO Rewards oferuje maksymalnie prosty i szybki w konfiguracji system, który niemal nie obciąża zasobów serwera. Jego głównym ograniczeniem jest jednak całkowita zależność od zainstalowanej wtyczki mcMMO oraz fakt, że komendy mogą być wykonywane wyłącznie w imieniu konsoli. Wtyczka idealnie nadaje się dla serwerów, które chcą szybko dodać proste nagrody za wydobywanie surowców czy rozwijanie umiejętności bojowych.
Instalacja
Typowa instalacja zajmuje około 5 minut. Procedura jest taka sama; różni się tylko loader i odpowiedni build.
- 1Stop your Minecraft server.
- 2Drop the plugin .jar into the server /plugins folder.
- 3Start the server once so the plugin generates its config files.
- 4Edit /plugins/<name>/config.yml as needed, then run /reload confirm or restart.











