Poradnik
Jak zrobić własne przedmioty pluginem
Zaktualizowano: 18 października 2026
Własne miecze, różdżki, klucze i narzędzia to jedne z najczęściej zamawianych funkcji pluginów. Plugin nie może dodać do gry naprawdę nowego przedmiotu, ale może wziąć przedmiot z vanilli, nadać mu nazwę, opis i ukryty tag, a potem reagować, gdy gracz go użyje. Gracze wchodzą na zwykłej grze, bez modów.
Zmień przedmioty na swoje.
Wygeneruj to w CodexeKrok po kroku
1.Wypisz przedmioty
Dla każdego przedmiotu: materiał bazowy, wyświetlana nazwa, linie opisu i działanie. „Różdżka płomieni o nazwie Fire Wand, która po kliknięciu prawym przyciskiem wystrzeliwuje kulę ognia, z 5-sekundowym odnowieniem” to kompletny przedmiot.
2.Oznacz je w PersistentDataContainer
Zapisz identyfikator, na przykład
fire_wand, wPersistentDataContainerprzedmiotu z kluczemNamespacedKey. Plugin rozpoznaje przedmiot po tym tagu, a nie po nazwie, więc zmiana nazwy na kowadle nie tworzy kopii.3.Napisz umiejętności
Każda umiejętność to listener zdarzeń:
PlayerInteractEventdla kliknięć prawym przyciskiem,EntityDamageByEntityEventdla uderzeń,BlockBreakEventdla narzędzi. Dodaj czasy odnowienia na gracza i na przedmiot.4.Zdecyduj, jak gracze je zdobywają
Komenda admina
/give, receptura craftingu, sklep, drop z mobów albo nagrody ze skrzynek.5.Zrób wszystko konfigurowalne
Nazwy, opisy, obrażenia, czasy odnowienia i receptury w
config.yml, żeby balansować przedmioty bez nowego builda.6.Zbuduj i wypróbuj każdy przedmiot
Pozwól Codexe skompilować plugin, wejdź na serwer testowy przez Wypróbuj teraz, daj sobie każdy przedmiot i go użyj.
Dlaczego tag, a nie nazwa
Sprawdzanie wyświetlanej nazwy lub opisu to klasyczny błąd: każdy gracz z kowadłem może przemianować patyk na „Fire Wand”. PersistentDataContainer (Minecraft 1.14 i nowsze) przechowuje na przedmiocie dane, których gracze nie mogą edytować, i przetrwa restarty, skrzynie i wymiany, bo jest częścią przedmiotu.
W wersjach od 1.8 do 1.13 nie ma PersistentDataContainer; pluginy używają NBT przez bibliotekę albo ukrytego znacznika w opisie. Wpisz wersję w prośbie, a Codexe napisze rozwiązanie, które ta wersja obsługuje.
Umiejętności i zdarzenia za nimi
| Umiejętność | Zdarzenie | Uwagi |
|---|---|---|
| Moc pod prawym przyciskiem | PlayerInteractEvent | Sprawdź rękę, zdarzenie odpala się raz na każdą rękę |
| Dodatkowe obrażenia lub efekty przy uderzeniu | EntityDamageByEntityEvent | Sprawdź, czy atakujący to gracz trzymający przedmiot |
| Narzędzie do kopania obszarowego | BlockBreakEvent | Respektuj pluginy ochrony, takie jak WorldGuard |
| Efekt pasywny podczas trzymania | Powtarzające się zadanie lub PlayerItemHeldEvent | Usuń efekt, gdy przedmiot zostanie schowany |
| Łuk lub pocisk | EntityShootBowEvent, ProjectileHitEvent | Oznacz pocisk tagiem, żeby wiedzieć, skąd pochodzi |
Tekstury i modele
Plugin zmienia to, co przedmiot robi, a nie to, jak wygląda. Własny wygląd wymaga paczki zasobów, którą gracze pobierają: w starszych wersjach przedmiot ma liczbę CustomModelData, którą paczka przypisuje do modelu, a od 1.21.2 przedmiot może też wskazywać własny model przez komponent item_model. Bez paczki przedmiot wygląda jak jego materiał bazowy z własną nazwą, co dla wielu serwerów w zupełności wystarcza.
Przykładowy opis
„Plugin na Paper 1.21.4 o nazwie MagicItems. Trzy przedmioty, każdy oznaczony identyfikatorem w PersistentDataContainer: Fire Wand (różdżka płomieni, prawy przycisk wystrzeliwuje kulę ognia, odnowienie 5 s), Frost Blade (żelazny miecz, uderzenia dają Spowolnienie II na 3 s), Miner's Pick (diamentowy kilof, kopie 3x3, ale nie w regionach WorldGuard, w których gracz nie może budować). /mi give <player> <item> dla magicitems.admin. Receptury kształtowe dla każdego. Nazwy, opisy, odnowienia i receptury w config.yml.”
Pytania
Plugin czy mod do własnych przedmiotów?
Plugin, jeśli gracze mają wchodzić na zwykłej grze: przedmioty to przedmioty z vanilli z nowym zachowaniem. Mod, jeśli potrzebujesz naprawdę nowych przedmiotów lub bloków z własnym renderowaniem, które każdy gracz musi wtedy zainstalować. Zobacz plugin czy mod.
Czy mogę użyć z nim ItemsAdder albo Nexo?
Twój plugin może od nich zależeć, ale to płatne pluginy: serwer testowy Codexe nie może ich zainstalować, więc plugin, który ich wymaga, nie włączy się na nim. Darmowe zależności wymienione w plugin.yml są instalowane na serwerze testowym za ciebie.
Czy przedmioty przestaną działać po aktualizacji?
Przedmioty oznaczone w PersistentDataContainer zachowują swój tag po aktualizacjach Minecrafta. Umiejętności mogą wymagać przebudowania pod nowe API; zobacz aktualizacja pluginu.
Zrób swoje własne przedmioty
Ten prompt otworzy się gotowy do wysłania:
“Plugin na Paper 1.21.4 o nazwie MagicItems z trzema przedmiotami oznaczonymi w PersistentDataContainer: Fire Wand (różdżka płomieni, prawy przycisk wystrzeliwuje kulę ognia, odnowienie 5 sekund), Frost Blade (żelazny miecz, Spowolnienie II na 3 sekundy przy uderzeniu), Miner's Pick (diamentowy kilof kopiący 3x3). /mi give dla magicitems.admin, receptura kształtowa dla każdego, nazwy, opisy, odnowienia i receptury w config.yml.”
Wygeneruj to w Codexe