Citizens — przewodnik po systemie NPC w Minecrafcie
Tworzenie NPC, skórki, equipment, pathfinding, komendy po kliknięciu, integracja z Sentinel i Denizen. Pokazujemy, jak postawić quest-givera, strażnika areny i shop-NPC bez kodowania.
Citizens to plugin, który pozwala stawiać żywych NPC-ów na serwerze Minecraft — postaci z imieniem, skórką, ekwipunkiem, animacjami i zachowaniem. Każdy ma na serwerze Citizens, nawet jeśli o tym nie wie — bo to one stoją na spawnie z holograficznymi „Kliknij, by się przenieść", w sklepach z napisem „Sprzedawca diamentów" i obok arena z „Strażnik PvP". Plugin powstał w 2010 r., ma za sobą 15 lat aktywnego rozwoju i kompatybilność z setkami dodatków. Ten przewodnik prowadzi przez to, co naprawdę warto wiedzieć o Citizens — bez teorii, z konkretnymi przykładami.
Czym są NPC w Citizens?
NPC w Citizens to entity gracza (czasem moba), które wygląda jak prawdziwy gracz, ale nie ma fizycznego konta na serwerze. Można mu:
- nadać dowolne imię i kolor,
- założyć skórkę (z konta gracza, z pliku, z URL),
- dodać ekwipunek widoczny graczom,
- zdefiniować trasę patrolowania,
- podpiąć skrypt (Denizen), reakcje na kliknięcia, sklep, quest,
- uczynić walczącym (Sentinel),
- oznaczyć jako trader, banker, transport (warp NPC).
Każdy NPC ma swoje ID (liczba całkowita) i UUID, więc można nim sterować z innych pluginów.
Instalacja i pierwsze NPC
- Pobierz Citizens 2 z
citizensnpcs.co(osobne wersje dla 1.20.x, 1.21.x, 1.22+), - Wrzuć JAR do
plugins/, zrestartuj serwer, - Sprawdź:
/citizens info, - Stwórz pierwsze NPC:
/npc create JanKowalski.
NPC stoi tam, gdzie stałeś w momencie wpisania komendy. Selektorem /npc sel ID aktywujesz NPC do dalszych komend.
Komendy, których używasz codziennie
/npc create Nick # nowy NPC
/npc list # lista NPC
/npc tphere # przenosi NPC do mnie
/npc remove # usuwa zaznaczonego NPC
/npc despawn / spawn # usuwa/przywraca entity (zostaje w bazie)
/npc name NowyNick # zmienia widoczne imię
/npc rename # otwiera GUI rename
/npc skin nick_gracza # nakłada skórkę
/npc lookclose # toggle: patrzy na pobliskich graczy
/npc gravity # toggle grawitacji
/npc protect # toggle nieśmiertelności
Każde NPC ma swój plik saves.yml w plugins/Citizens/. Modyfikacja ręczna jest możliwa, ale lepiej używać komend.
Wygląd — skórki, equipment, hologramy
Najczęściej używane skórki:
/npc skin Notch # skórka konkretnego gracza
/npc skin -t signedSkin signature # signature i wartość Base64
/npc skin -u url:https://...png # custom URL (wymaga Mojang API)
Equipment — wkładasz przedmiot z hotbara:
/npc equip # użyj aktualnego itemu z hotbara
/npc equip helmet # konkretny slot
/npc equip mainhand
Hologramy nad głową — wbudowany trait:
/npc hologram add &6Sklep z diamentami
/npc hologram add &7Kliknij PPM
/npc hologram remove 1
Zachowanie — pathfinding, patrole, look-at
Pathfinding to bot, który chodzi po wyznaczonej trasie:
/npc path # wł./wył. tryb edycji
/npc waypoints add # dodaj punkt (stań na nim)
/npc waypoints clear
/npc waypoints loop true # zapętlona trasa
Dodatkowe traity:
/npc lookclose— patrzy na najbliższego gracza,/npc speed 2— szybkość chodzenia,/npc speech— okresowe wiadomości w czacie,/npc invulnerable— odporność na obrażenia.
Komendy uruchamiane kliknięciem
Najczęściej używana funkcja Citizens: NPC, który po kliknięciu robi coś konkretnego — teleportuje, daje kit, otwiera sklep.
/npc command add say Witaj na serwerze!
/npc command add warp shop player
/npc command add eco give <player> 100 server # jako serwer
/npc command list
/npc command remove 1
Tryby:
player— komenda wykonywana jako gracz (uprawnienia z LuckPerms),server— jako serwer (omija permisje).
To wystarczy na 80% przypadków użycia: spawn NPC z warp arena, kit-NPC z kit starter, shop-NPC z shop open menu.
Najpopularniejsze dodatki do Citizens
- Sentinel — NPC walczący (strażnicy, ochroniarze, areny PvE),
- Denizen — język skryptowy do bardzo rozbudowanych zachowań NPC (dialogi, questy, AI),
- Citizens Trait Carrier — drobne usprawnienia (NPC mount, NPC sit),
- HolographicDisplays / DecentHolograms — alternatywa dla wbudowanych hologramów,
- Shopkeepers — alternatywny sklepowy NPC (czasem prostszy niż Citizens + skrypt).
Klasyczna kombinacja: Citizens + Sentinel dla strażników i arenowych mobów, Citizens + Denizen dla bardziej rozbudowanych questów.
Mini-przykład skryptu Denizen
Prosty NPC quest-giver, który prosi gracza o przyniesienie 10 diamentów:
diamond_quest:
type: assignment
actions:
on assignment:
- trigger name:click toggle:true
interact scripts:
- 10 diamond_quest_interact
diamond_quest_interact:
type: interact
steps:
1:
click trigger:
script:
- if <player.has_flag[diamond_quest_done]>:
- chat "Dzięki za diamenty, <player.name>!"
- stop
- chat "Przynieś mi 10 diamentów, dam Ci 500$."
- chat "Mam <player.inventory.count[diamond]> / 10"
- if <player.inventory.count[diamond]> >= 10:
- take diamond quantity:10
- money give amount:500
- flag <player> diamond_quest_done
To proste, ale pokazuje, że Citizens + Denizen potrafi zbudować pełnoprawne MMO-style questy bez wychodzenia z plików konfiguracyjnych.
Wydajność — ile NPC bez lagów
NPC są tańsze niż realni gracze, ale nie darmowe. Każdy NPC zajmuje slot entity, ma pathfinding i pakiety wysyłane do graczy w pobliżu.
- do 50 NPC na serwer — żaden problem,
- 50–300 — wymaga oddzielnego świata dla spawn'u i ograniczenia view-distance,
- powyżej 300 — wyłącz pathfinding na większości NPC i pogrupuj je na osobnym świecie.
Komendy optymalizacyjne:
/npc pathopt # wyłącza pathfinding gdy nie potrzeba
/npc despawn # NPC wyłączony, dane zostają
Typowe zastosowania NPC
- Spawn — teleporty — NPC z
warp arena,warp shop,warp tutorial, - Sklep przedmiotów — NPC + Shopkeepers/ShopGUI+,
- Quest-giver — Citizens + Denizen lub Quests plugin,
- Strażnik bramy — Citizens + Sentinel (atakuje wrogów),
- Hologram informacyjny — NPC z 5 liniami hologramu i komendą
/help, - Imitacja gracza — NPC z imieniem znanego YouTubera jako gimmick.
Najczęstsze pułapki
- NPC bez skin'a — domyślny Steve. Komenda
/npc skin nickwymaga połączenia z Mojang API; przy crackowanych serwerach trzeba używać własnych signatures, - NPC ginie przy restarcie — sprawdź
/npc protect, ustawprotected: true, - Pathfinding zżera CPU — wyłącz na NPC nieruchomych,
- Kolizja z graczem — NPC „zabiera miejsce" graczowi; trait
collidable false, - NPC duplikuje się po crashu — backup
plugins/Citizens/saves.ymlco kilka dni rozwiązuje problem.
Podsumowanie
Citizens to zaskakująco potężny plugin — pierwszy NPC tworzysz w 30 sekund (/npc create), a po godzinie ma trasę, kliknięcia, sklep i wątek questa. Dla podstawowego użycia wystarczy sam Citizens. Dla bardziej zaawansowanych scenariuszy dodajesz Sentinel (walka) lub Denizen (skrypty).
Każdy publiczny serwer korzysta z 2–10 NPC: spawn-teleportów, shopkeepera, NPC-tutorial przy pierwszym wejściu, strażnika areny. To prosty sposób, by serwer poczuł się „żywy" i miał punkty zaczepienia dla nowych graczy bez konieczności zatrudniania moderatorów na pełen etat.