Shopkeepers - NPC-sklepikarze na serwerze Minecraft

Shopkeepers to plugin, który zastępuje nudne znaki i skrzynki żywymi NPC-kupcami. Każdy sklep to osobny wieśniak lub mob z własnym oknem handlu, nieograniczonym lub powiązanym ze skrzynką stockiem oraz pełną kontrolą ofert. Obsługuje sklepy adminów, sklepy graczy i barter bez waluty.
Co to jest Shopkeepers
Shopkeepers to darmowy plugin open-source autorstwa nisovin, aktualnie rozwijany przez blablubbabc. Jego główna idea jest prosta: zamiast tabliczek z cenami czy GUI wypełnionego ikonkami, sklepy na serwerze wyglądają jak prawdziwe punkty handlowe - z NPC-wieśniakiem lub wybranym mobem stojącym w miejscu i czekającym na klientów.
Gracz podchodzi do takiego NPC i klika prawym przyciskiem myszy. Otwiera się standardowe okno handlu wieśniaka, które doskonale zna każdy gracz Minecrafta. Nie trzeba uczyć się żadnych komend ani interfejsów - wszystko działa intuicyjnie. Każda oferta to wymiana: dajesz coś (walutę lub przedmiot), dostajesz coś w zamian.
Plugin jest dostępny na SpigotMC oraz na GitHub. Obsługuje wersje Minecrafta od 1.17 do 1.21.x i wymaga Javy 17+.
Najważniejsze cechy Shopkeepers to:
- Sklepy wyglądają jak prawdziwe NPC - wieśniacy, zombie, szkielety, nawet creepery
- Dwa tryby: sklepy adminów (nieskończony stock) i sklepy graczy (powiązane ze skrzynką)
- Cztery typy transakcji: sprzedaż, kupno, wymiana książek, handel mieszany
- Pełna kontrola wyglądu - typ moba, zawód wieśniaka, wariant kolorystyczny
- Integracja z Vault - płatności monetami zamiast barterem
- Możliwość nadania nazwy sklepikarzowi (wyświetla się nad głową NPC)
Typy sklepów
Shopkeepers rozróżnia cztery typy transakcji, które można przypisać do każdego NPC niezależnie od tego, czy jest to sklep admina czy gracza:
| Typ | Opis | Typowe zastosowanie |
|---|---|---|
| Trading | Wymiana przedmiot A za przedmiot B (lub waluta za przedmiot) | Sklep ogólny, exchange walut, barter |
| Selling | NPC sprzedaje przedmioty graczowi za walutę Vault | Sklep adminów - gracz kupuje za monety |
| Buying | NPC kupuje przedmioty od gracza za walutę Vault | Skupup surowców - gracz sprzedaje za monety |
| Book | Sprzedaż pisanych książek (każdy egzemplarz to oddzielna oferta) | Biblioteka, sklep z encyklopediami serwera |
Typ Trading jest jedynym działającym bez Vault - pozostałe wymagają pluginu ekonomii. Dzięki temu Shopkeepers sprawdza się zarówno na serwerach survival z własną walutą, jak i na serwerach barteru bez żadnej ekonomii monetarnej.
Jeden NPC może mieć wiele ofert różnych typów. Możesz np. stworzyć wieśniaka, który jednocześnie sprzedaje chleb za złoto i kupuje drewno za monety - wszystkie oferty widać w jednym oknie handlu.
Tworzenie NPC-sklepikarza
Shopkeepers można tworzyć na dwa sposoby: przez jajko spawnera lub przez komendę. Metoda z jajkiem jest szybsza w grze i bardziej intuicyjna.
Metoda z jajkiem spawnera (Admin Shopkeeper)
Admin otrzymuje specjalne jajko spawnera (Shopkeeper Spawn Egg) przez komendę:
/shopkeeper give Po kliknięciu tym jajkiem w blok (najlepiej w ziemię lub podłogę) pojawia się NPC w trybie edycji. Można od razu przypisać mu oferty przez prawy przycisk myszy.
Metoda komendowa
/shopkeeper create [typ] [obiekt_mob]
/shopkeeper create selling villager
/shopkeeper create trading zombie
/shopkeeper create buying skeleton Player Shopkeeper - sklep gracza
Gracz zakładający własny sklep musi najpierw postawić skrzynkę ze stockiem towaru, a następnie kliknąć ją jajkiem Player Shopkeeper (jeśli admin włączył tę możliwość) lub użyć komendy:
/shopkeeper create player Gracz klika prawym przyciskiem myszy w skrzynkę w trybie sneakowania - Shopkeepers automatycznie powiązuje NPC ze wskazaną skrzynką.
Konfiguracja ofert po stworzeniu
Po kliknięciu prawym przyciskiem na własny sklep (lub admina na dowolny sklep) otwiera się panel edycji. Przeciągasz przedmioty do slotów "dajesz" i "otrzymujesz", ustawiasz liczbę sztuk i potwierdzasz. Zmiany są natychmiastowe.
Customizacja wyglądu
Jednym z wyróżników Shopkeepers na tle innych pluginów sklepowych jest pełna kontrola nad wyglądem NPC. Nie jesteś ograniczony do standardowego wieśniaka.
Typy wieśniaków
Dla podstawowego wieśniaka możesz wybrać:
- Zawód (profession): farmer, librarian, cleric, armorer, weaponsmith, toolsmith, butcher, cartographer, leatherworker, fletcher, fisherman, shepherd, nitwit, none
- Biom (wariant): plains, desert, jungle, savanna, snow, swamp, taiga - każdy zmienia kolor i styl ubrania wieśniaka
- Poziom: novice, apprentice, journeyman, expert, master - wpływa na odznakę nad głową
Inne typy mobów
Shopkeepers obsługuje następujące typy mobów jako sklepikarzy:
- Villager (wieśniak) - domyślny, wszystkie warianty
- Zombie Villager (zombie wieśniak) - z zachowaniem zawodu i biomu
- Witch (czarownica) - popularna jako alchemik/sklep z miksturami
- Skeleton (szkielet) i Stray - jako łucznicy czy sprzedawcy broni
- Zombie i Husk - dla serwerów z klimatem horrorowym
- Creeper - efektowny sklep z materiałami wybuchowymi
- Blaze, Piglin, Piglin Brute - do tematycznych sklepów w Netherze
- Wandering Trader (wędrowny kupiec) - dostępny w nowszych wersjach
- Oraz kilkanaście innych w zależności od wersji Minecrafta
Nazwa sklepikarza
Każdy NPC może mieć własną nazwę wyświetlaną nad głową. Ustawia się ją przez komendę lub przez panel edycji:
/shopkeeper name "Kowal Jan"
/shopkeeper name "&6Złoty Sklep" Obsługiwane są kody kolorów (&), MiniMessage i PlaceholderAPI (jeśli zainstalowane).
Konfiguracja ofert
Oferty konfiguruje się bezpośrednio w oknie gry, bez edytowania plików YAML. Po otwarciu panelu edycji sklepu widzisz siatkę slotów - każdy wiersz to jedna oferta.
Dla każdej oferty definiujesz:
- Koszt 1 (lewy slot) - główny "towar" od gracza (np. 5 diamentów lub 100 monet)
- Koszt 2 (środkowy slot, opcjonalny) - drugi składnik ceny (np. dodatkowe zasoby przy barterze)
- Wynik (prawy slot) - co gracz dostaje w zamian
Limity ofert na jeden sklep można konfigurować w config.yml. Domyślnie każdy NPC może mieć do 8 ofert (identycznie jak wanilia). Na serwerach z dużym asortymentem warto zwiększyć ten limit:
# plugins/Shopkeepers/config.yml
max-trades-per-shop: 16 Dla sklepów z walutą (Vault) zamiast wkładania fizycznych monet do slotu, gracz widzi ikonę waluty i kwotę. Shopkeepers automatycznie odejmuje i dodaje saldo przez API Vault - gracz nie musi "nosić" monet w ekwipunku.
Admin Shopkeepers
Sklepy adminów to podstawa ekonomii na większości serwerów korzystających z Shopkeepers. Mają dwie kluczowe cechy odróżniające je od sklepów graczy:
- Nieskończony stock - sklep nigdy się nie wyczerpuje, niezależnie od liczby transakcji
- Nie wymaga skrzynki - NPC stoi samodzielnie, bez fizycznego magazynu
Typowe zastosowania Admin Shopkeepers:
- Spawn shop - bazowe ceny surowców regulujące gospodarkę serwera
- Sklep z rangami lub itemami premium (integracja przez komendy nagrodowe)
- NPC-bankier wymieniający walutę (np. złoto na monety i odwrotnie)
- Sklep z wyjątkowymi enchantami lub named itemami dostępnymi tylko tam
Tworzenie i edycja Admin Shopkeeper wymaga uprawnienia shopkeeper.admin. Sklepy te są trwałe - nie znikają po restarcie serwera, są zapisywane w plugins/Shopkeepers/save.yml.
Warto ustawić ceny Admin Shopkeeper jako bazowe dla serwera - wtedy gracze wiedzą, że nigdy nie przepłacą więcej niż u admina, co stabilizuje gospodarkę i zapobiega monopolom.
Player Shopkeepers
Player Shopkeepers to mechanizm umożliwiający graczom prowadzenie własnych sklepów. To serce każdej serwer-ekonomii: gracze zbierają surowce i sprzedają je innym graczom przez NPC zamiast przez nudne tabliczki.
Jak działa powiązanie ze skrzynką
Każdy Player Shopkeeper jest fizycznie powiązany z konkretną skrzynką. Gdy sklep sprzedaje, towar jest pobierany bezpośrednio ze skrzynki. Gdy sklep skupuje, towar trafia do skrzynki. Gdy skrzynka jest pusta - sklep automatycznie "wychodzi ze stocku" i wyświetla stosowny komunikat przy próbie kupna.
Limity sklepów na gracza
Administrator może ograniczyć liczbę sklepów, jakie może mieć jeden gracz:
# config.yml
max-shops-per-player: 3
# Lub przez uprawnienia (np. LuckPerms):
# shopkeeper.maxshops.5 -- pozwala na 5 sklepów Ochrona przed griefingiem
NPC-sklepikarze gracza są chronione - inni gracze nie mogą ich zniszczyć ani edytować. Jeśli używasz pluginu ochrony regionów (np. WorldGuard), Shopkeepers respektuje te granice. Sklep gracza można postawić tylko tam, gdzie gracz ma prawo budować.
Co się dzieje z NPC po śmierci lub wylogowaniu gracza
Sklep gracza pozostaje aktywny nawet gdy właściciel jest offline. Transakcje są normalnie realizowane. Właściciel może sprawdzić stan skrzynki po powrocie do gry.
Jeśli gracz zostanie zbanowany lub konto usunięte, admin może ręcznie usunąć porzucone sklepy komendą /shopkeeper remove lub przez panel edycji.
Komendy i uprawnienia
| Komenda | Opis | Uprawnienie |
|---|---|---|
/shopkeeper | Główna komenda, wyświetla pomoc | shopkeeper.help |
/shopkeeper create [typ] | Tworzy nowego sklepikarza | shopkeeper.admin lub shopkeeper.player.create |
/shopkeeper give | Daje jajko spawnera sklepikarza | shopkeeper.admin |
/shopkeeper remove | Usuwa sklepikarza (kliknij NPC po wpisaniu) | shopkeeper.admin |
/shopkeeper removeAll [gracz] | Usuwa wszystkie sklepy (opcjonalnie danego gracza) | shopkeeper.admin |
/shopkeeper list [gracz] | Wyświetla listę sklepów (opcjonalnie danego gracza) | shopkeeper.admin lub shopkeeper.player.list |
/shopkeeper name "Nazwa" | Zmienia nazwę sklepikarza (kliknij po wpisaniu) | shopkeeper.admin lub shopkeeper.player.name |
/shopkeeper notify on/off | Włącza powiadomienia o transakcjach w twoim sklepie | shopkeeper.player.notify |
/shopkeeper reload | Przeładowuje konfigurację i dane | shopkeeper.admin |
/shopkeeper debug | Włącza tryb debugowania (konsola) | shopkeeper.admin |
Uprawnienia gracza (dla Player Shopkeepers) warto przyznawać przez LuckPerms. Przykładowa konfiguracja dla rangi "Member":
shopkeeper.player.create
shopkeeper.player.list
shopkeeper.player.name
shopkeeper.maxshops.3 Porównanie z ChestShop i ShopGUI+
Na rynku pluginów sklepowych Shopkeepers zajmuje niszę wizualnych sklepów NPC. Warto wiedzieć, czym różni się od dwóch najpopularniejszych alternatyw:
| Cecha | Shopkeepers | ChestShop | ShopGUI+ |
|---|---|---|---|
| Wygląd sklepu | NPC (wieśniak/mob) | Tabliczka + skrzynka | Menu GUI (ikony) |
| Intuicyjność dla gracza | Bardzo wysoka (wanilia) | Średnia (tabliczki) | Wysoka (klikalne menu) |
| Sklepy adminów | Tak (nieskończony stock) | Tak | Tak (przez config) |
| Sklepy graczy | Tak (ze skrzynką) | Tak | Nie (tylko admin) |
| Barter bez waluty | Tak (tryb Trading) | Nie | Nie |
| Vault wymagany | Opcjonalny | Tak | Tak |
| Customowy wygląd NPC | Tak (wiele typów mobów) | Nie dotyczy | Nie dotyczy |
| Konfiguracja przez GUI | Tak (w grze) | Nie (tabliczki) | Tak (config.yml) |
Shopkeepers świetnie sprawdza się na serwerach RPG, survival z klimatem i wszędzie tam, gdzie ważna jest immersja - gracze czują się jak na targowisku, a nie jak w przeglądarce. ChestShop jest prostszy w masowym wdrożeniu (każdy gracz może postawić sklep bez żadnych uprawnień), a ShopGUI+ preferowany tam, gdzie admin sam tworzy gotowy sklep z dużym katalogiem.
Shopkeepers można łączyć z Citizens (zaawansowane NPC), choć nie jest to wymagane - Citizens dodaje bardziej rozbudowane zachowania i animacje, których Shopkeepers nie oferuje natywnie.
Kompatybilność i wymagania
Shopkeepers jest dobrze utrzymywanym projektem z regularną aktualizacją do nowych wersji Minecrafta. Wymagania minimalne:
- Minecraft: 1.17 lub nowszy (najlepiej 1.20+)
- Java: 17 lub nowsza
- Serwer: Paper, Spigot lub Purpur - Bukkit nie jest oficjalnie wspierany
Pluginy opcjonalne (ale zalecane):
- Vault - bez niego dostępny jest tylko barter (Trading). Z Vault wszystkie typy transakcji monetarnych działają poprawnie
- PlaceholderAPI - umożliwia dynamiczne nazwy sklepikarzy (np. wyświetlanie salda w nazwie)
- WorldGuard - Shopkeepers respektuje flagi regionów; sklepy graczy można ograniczyć do wyznaczonych stref handlowych
- Citizens - opcjonalna, głębsza integracja NPC
Shopkeepers nie jest kompatybilny z:
- Forge i Fabric - działa wyłącznie na platformach opartych na Bukkit/Paper
- Bardzo starymi wersjami (1.16 i niżej) - od pewnego czasu projekt nie wspiera wersji poniżej 1.17
Znane problemy i rozwiązania:
- NPC znika po restarcie - sprawdź uprawnienia zapisu do folderu
plugins/Shopkeepers/. Pliksave.ymlmusi być zapisywalny przez proces serwera - Transakcje monetarne nie działają - zainstaluj Vault i upewnij się, że masz aktywny plugin ekonomii (np. EssentialsX)
- Sklep gracza nie sprzedaje - skrzynka prawdopodobnie jest pusta lub zblokowana przez inny plugin ochrony
Dokumentacja pluginu dostępna jest na GitHub Wiki projektu. Społeczność udziela pomocy na serwerze Discord i wątku SpigotMC.
Powiązane wpisy w katalogu pluginów: Vault, ChestShop, Citizens, pełny katalog pluginów.