MythicMobs: poradnik o custom mobach i bossach Minecraft

MythicMobs: poradnik o custom mobach i bossach Minecraft

Jesli waniliowy Smok Kresu i Wither dawno nie robia juz wrazenia na graczach, MythicMobs zamienia serwer Paper/Spigot w piaskownice dla wlasnych bossow, elitarnych mobow i aren. Ponizej omawiam instalacje, format YAML, system skilli i to co rzeczywiscie dziala na produkcji a co zjada TPS.

Czym jest MythicMobs i po co ci on

MythicMobs to de facto standard dla custom mobow na serwerach kompatybilnych z Bukkit. Plugin pozwala opisac dowolnego moba w YAML: typ waniliowy jako baza, wlasna nazwa, HP, obrazenia, dropy, frakcje i zlozone skille z triggerami. Bez kodu, wszystko to konfiguracja.

W praktyce plugin sluzy do trzech zadan:

  • serwery RPG z unikalnymi potworami w kazdym biomie
  • pojedynczy bossowie na eventy z 50-100 graczami
  • areny i strefy dungeonowe z falami przeciwnikow

Glowna przewaga nad rozwiazaniami pisanymi recznie: ogromna baza gotowych configow na mythiccraft.io i szczegolowa dokumentacja kazdej mechaniki skilla.

Free vs Premium

Darmowa wersja MythicMobs pokrywa okolo 95 procent tego co potrzebuje typowy serwer. Platne rozszerzenia tego samego autora:

  • MythicCrucible - custom przedmioty (miecze, zbroje, amulety) z triggered skillami przy uderzeniu lub noszeniu
  • MythicDungeons - gotowy silnik instancji z checkpointami i nagrodami
  • ModelEngine - wlasne modele mobow przez resource pack, bez moda po stronie klienta

Jesli chcesz "po prostu bossa z kulami ognia" - free wystarczy. Jesli budujesz pelnoprawny serwer RPG z lootem i lochami, premium sie zwroci.

Instalacja i pierwsze uruchomienie

Plugin instaluje sie jak zwykly jar. Bez zewnetrznych zaleznosci, tylko Paper lub Spigot 1.16+.

# na serwerze
cd plugins/
wget https://www.spigotmc.org/resources/mythicmobs.5702/download -O MythicMobs.jar
# albo recznie z mythiccraft.io

Restart serwera (nie /reload, normalny stop/start). Plugin tworzy plugins/MythicMobs/ ze struktura:

plugins/MythicMobs/
├── config.yml
├── Mobs/
│   └── ExampleMobs.yml
├── Skills/
│   └── ExampleSkills.yml
├── Items/
├── Spawners/
├── RandomSpawns/
└── Stats/

Po kazdej zmianie YAML:

/mm reload

Przeladowuje configi bez restartu serwera. Jesli w logach widzisz Could not load mob, gdzies popsuty YAML - sprawdz wciecia i cudzyslowy.

Struktura moba: pierwszy custom szkielet

Otwierasz plugins/MythicMobs/Mobs/ExampleMobs.yml lub tworzysz wlasny plik np. BossMobs.yml. W jednym pliku mozesz opisac dowolnie wiele mobow.

SkeletalKnight:
  Type: SKELETON
  Display: '&6Skeletal Knight'
  Health: 80
  Damage: 6
  Faction: undead
  Options:
    MovementSpeed: 0.28
    PreventOtherDrops: true
    PreventRandomEquipment: true
  Equipment:
    - iron_sword HAND
    - iron_helmet HEAD
    - iron_chestplate CHEST
  Drops:
    - diamond 1 0.05
    - bone 2 1
    - emerald{amount=2} 1 0.3
  Skills:
    - skill{s=KnightCharge} @target ~onAttack

Co tu sie dzieje:

  • Type to baza waniliowa, AI i hitbox z niej dziedziczone
  • Display to nameplate, obsluguje kody kolorow przez &
  • Faction steruje AI (mob nie atakuje sojusznikow)
  • Drops w formacie item amount chance, szansa od 0 do 1
  • Skills podpina skill KnightCharge pod trigger onAttack

Po /mm reload testujemy spawn:

/mm mobs spawn SkeletalKnight 1

Mob pojawi sie pod twoimi stopami. Jesli nie - tail -f logs/latest.log | grep -i mythic.

Skills: tu mieszka magia

Skille to serce pluginu. Kazdy skill sklada sie z czterech czesci:

  • Mechanic - co robic (zadac obrazenia, rzucic kula ognia, nalozyc efekt)
  • Targeter - na kogo (@target, @PIR{r=10} dla graczy w promieniu 10, @self)
  • Condition - kiedy (?health < 0.5, ?inCombat, ?onGround)
  • Trigger - zdarzenie zrodlowe (~onTimer, ~onAttack, ~onDamaged, ~onSpawn)

Skille opisujemy w plugins/MythicMobs/Skills/BossSkills.yml:

KnightCharge:
  Skills:
    - message{m="<mob.name> rzuca sie do ataku!"} @PIR{r=15}
    - velocity{velocity=1.5,mode=ADD,relative=true} @self
    - damage{amount=4} @target

FireballRain:
  Skills:
    - delay 10
    - effect:sound{s=entity.blaze.shoot;v=1;p=0.5} @self
    - shootfireball{velocity=1.0;yield=2} @PIR{r=20}
    - shootfireball{velocity=1.0;yield=2} @PIR{r=20}
    - shootfireball{velocity=1.0;yield=2} @PIR{r=20}

EnragePhase:
  Conditions:
    - health{h=<0.5} true
  Skills:
    - effect:particles{p=flame;amount=200;hS=2;vS=1} @self
    - potion{type=INCREASE_DAMAGE;duration=600;level=1} @self
    - message{m="&c<mob.name> WPADA W SZAL!"} @PIR{r=30}

Lacz skille z bossem:

DungeonLord:
  Type: WITHER_SKELETON
  Display: '&4&lDungeon Lord'
  Health: 5000
  Damage: 12
  Options:
    MovementSpeed: 0.32
    Knockback: 5
  Equipment:
    - netherite_sword HAND
  Skills:
    - skill{s=FireballRain} @self ~onTimer:100 ?health<0.7
    - skill{s=EnragePhase} @self ~onDamaged ?health<0.5
    - skill{s=KnightCharge} @target ~onAttack
  Drops:
    - netherite_ingot 1 0.5
    - diamond 5 1
    - emerald 10 1

Logika: co 100 tickow (5 sekund) przy HP ponizej 70 procent boss rzuca deszcz ognia, po spadku HP ponizej polowy raz wlacza tryb szalu, a w walce wrecz wykonuje szarze do celu.

Drops, loot tables i DropTables

Inline item amount chance wystarczy dla pary itemow. Dla powaznego loota uzyj osobnych DropTables w plugins/MythicMobs/DropTables/:

BossLoot:
  Conditions:
    - playersinradius{r=30}{c=>1} true
  Drops:
    - netherite_scrap 1 0.3
    - diamond 3-5 1
    - enchanted_book{enchants=SHARPNESS:5} 1 0.1
    - exp 500 1

Podpinaj do moba przez DropTable: BossLoot zamiast inline Drops. Plus: jedna tabela uzywana na dziesiatkach mobow, balans zmieniany w jednym miejscu.

Spawning: recznie, losowo i Mythic Spawners

Trzy sposoby na pojawianie sie custom mobow na mapie:

1. Reczny spawn komenda - dobry na eventy i testy:

/mm mobs spawn DungeonLord 1
/mm mobs spawn DungeonLord 1 world,100,64,200

2. RandomSpawns - zastepuje waniliowe spawny w biomach. Plik plugins/MythicMobs/RandomSpawns/example.yml:

NetherSkeletonSpawn:
  Type: SkeletalKnight
  Chance: 0.3
  Priority: 5
  Cooldown: 30
  Conditions:
    - biome SOUL_SAND_VALLEY,WARPED_FOREST
    - timeofday NIGHT

3. Mythic Spawners - nazwane punkty spawnow na mapie. Tworzymy w grze:

/mm spawners create BossSpawner_1 DungeonLord
/mm spawners set BossSpawner_1 Cooldown 7200
/mm spawners set BossSpawner_1 MaxMobs 1

Spawner z cooldownem 7200 sekund (2 godziny) da maksymalnie jednego bossa, a dopoki on zyje nowy sie nie pojawi. Idealny na areny i lochy.

Custom modele przez ItemsAdder i Oraxen

Chcesz prawdziwy model smoka zamiast przemianowanego szkieleta? Bez modow klienckich masz dwie drogi:

  • ModelEngine (premium, jest darmowa wersja R3) - najpopularniejszy wybor, integruje sie z MythicMobs przez Model: dragon_model
  • ItemsAdder lub Oraxen - podmieniaja modele przez resource pack, wiazanie przez CustomModelData w Equipment

Dla ItemsAdder w YAML moba:

CustomDragon:
  Type: ENDER_DRAGON
  Display: '&5Crystal Dragon'
  Health: 3000
  Equipment:
    - itemsadder:custom.dragon_skin HEAD

Gracz przy pierwszym connect pobiera resource pack i widzi unikalny model. Bez Forge ani Fabric, waniliowy klient z zaakceptowanym packiem wystarczy.

Wydajnosc: gdzie wpadniesz w TPS

Z praktyki na serwerze Paper z 8 rdzeniami i 12 GB heap:

  • do 50 custom mobow w jednym chunk-radius - TPS sie nie rusza
  • 100-200 mobow - widoczne przy ciezkich skillach (zwlaszcza efekty czastek po PIR z duzym promieniem)
  • 500+ mobow - spadek TPS do 15-17 nawet przy pustych skillach

Co naprawde zjada wydajnosc:

  • czeste ~onTimer z malymi interwalami (1-5 tickow)
  • duze PIR-targetery (@PIR{r=50}) w skillach timerowych
  • efekty czastek z amount=500+

Optymalizacja: timery od 20 tickow (1 sekunda) wzwyz, promienie do 15-20 blokow, czastki w okolicy 50-100 na efekt. Komenda /mm test damage puszcza skill w izolacji i pokazuje jego koszt.

Areny dungeonowe i fale mobow

Free MythicMobs daje narzedzia do wlasnych aren przez skille i spawnery. Szybka implementacja:

ArenaWave1:
  Skills:
    - summon{type=SkeletalKnight;a=5;r=10} @self
    - message{m="&aFala 1 sie zaczyna!"} @PIR{r=50}

ArenaWave2:
  Skills:
    - delay 200
    - summon{type=DungeonLord;a=1;r=5} @self
    - message{m="&4BOSS!"} @PIR{r=50}

Triggerujemy z niewidzialnego moba sterujacego albo przez MythicCommands i powtorki. Dla prawdziwych instancji gdzie kazda druzyna ma wlasna kopie areny - juz tylko MythicDungeons.

System frakcji i AI

Domyslnie custom moby aggro na graczy i ignoruja sie nawzajem. Frakcje to dostrajaja. W config.yml:

Factions:
  undead:
    Allies:
      - undead
    Enemies:
      - players
      - villagers
  guardians:
    Allies:
      - players
    Enemies:
      - undead

Teraz mob z Faction: guardians atakuje kazdego undead i broni gracza. Wygodne dla sojuszniczych NPC-strazy lub petow.

Przydatne komendy debugowe

Bez narzedzi debug pierwsze configi beda bolec:

/mm reload                    # przeladuj wszystkie YAML
/mm mobs spawn <name> [count] # zespawnuj moba
/mm mobs list                 # lista zaladowanych mobow
/mm mobs kill <name>          # zabij wszystkie moby z ta nazwa
/mm test skill <skill>        # testowy cast skilla
/mm test damage <amount>      # test mechaniki damage
/mm items get <item>          # pobierz custom item (z MythicCrucible)

Jesli skill nie odpala, dodaj na poczatku - message{m="DEBUG: skill fired"} @self - od razu widzisz czy egzekucja dochodzi do tego miejsca.

FAQ

Czy MythicMobs dziala na Folii?

Czesciowo. Folia z jej regionalnym wielowatkowym tickiem psuje wiele pluginow, a MythicMobs przed 5.6 mial problemy. Aktualne buildy dostaja patche pod Folie, ale przy 1.20+ na Folii sprawdzaj konkretna wersje pluginu i changelog. Na Paper wszystko dziala stabilnie.

Skad wziac gotowe bossy i moby?

Glowne zrodlo to MythicCraft Marketplace na mythiccraft.io, z darmowymi i platnymi configami. Na SpigotMC i BuiltByBit dziesiatki gotowych packow bossow z modelami. Na start wez dowolny darmowy pack, przeczytaj jego YAML i ogarniesz 80 procent skladni.

Czy gracze potrzebuja moda klienckiego?

Nie, waniliowy klient ogarnia wszystko co oferuje MythicMobs. Jesli uzywasz custom modeli przez ModelEngine albo ItemsAdder, gracz przy connect pobiera resource pack (okolo 5-30 MB) i widzi modele. Wymagane pobranie packa ustawiasz w server.properties przez require-resource-pack=true.

MythicMobs vs Citizens vs Denizen?

To rozne narzedzia. Citizens to NPC-postacie z dialogami i questami, bez zlozonych skilli bojowych. Denizen to potezny jezyk skryptowy do wszystkiego (NPC, questy, custom logika), z wysokim progiem wejscia. MythicMobs jest skrojony pod moby bojowe, bossow i areny. Na serwerach czesto stoja wszystkie trzy pluginy rownoczesnie, kazdy odpowiada za swoje.

Ile waza configi 50 mobow na dysku?

Mniej niz megabajt. YAML jest kompaktowy, sredni mob z 3-4 skillami zajmuje 30-50 linii. Waskim gardlem jest nie rozmiar, lecz liczba rownoczesnie dzialajacych timerow skilli.

Czy mozna zrobic bossa z fazami?

Tak, przez trigger ~onDamaged i warunek ?health<X. Opisujesz kilka blokow skilli z roznymi progami HP, kazdy aktywuje wlasny zestaw atakow. Dla faz z fizyczna przemiana (nowy model, teleport do srodka areny) pisze sie osobny skill z summon i remove przy zmianie fazy.

Czy mozna importowac moby z innych pluginow?

Bezposredniego importu nie ma. Configi z EpicBosses albo BossesPlus trzeba przepisac recznie. Na Marketplace czesto sa porty popularnych bossow pod MythicMobs.

Co dalej

Zbuduj jednego dzialajacego bossa z dwoma skillami i DropTable, zanim zabierzesz sie za RPG-arc z dwudziestoma mobami. Realistyczna sciezka:

  • pierwszy tydzien: para custom mobow w jednym pliku, reczny spawn, debugowanie skilli
  • drugi tydzien: RandomSpawns po biomach, normalna DropTable, integracja z ekonomia
  • dalej: Mythic Spawners, frakcje, custom modele przez ModelEngine

Przed odpaleniem na produkcji koniecznie rob backupy folderu plugins/MythicMobs/ przez system backupow hostingu. Jeden popsuty YAML po /mm reload nie polozy serwera, ale krzywo napisane timery z czastkami moga zwalic TPS do 10. I zabezpiecz serwer przed DDoS z gory: jeden popularny custom boss zbiera 80-150 onlajnu, a atakujacy przychodza za nim.


Chroń swój serwer przed atakami DDoS

Darmowa ochrona z konfiguracją w 5 minut. 1 TB ruchu w zestawie.

Wypróbuj za darmo


Powiązane artykuły