BTCMobs
BTCMobs ist eine Soon-Erweiterung. Sie ist nicht veröffentlicht, hat noch keinen Download und keine Versionsnummer, und Entries oder Felder können sich vor der Veröffentlichung ändern. Diese Seite dokumentiert den aktuellen Entwicklungs-Build zur Referenz. Es ist nicht das alte Plugin „BTC Mob“: Die Mob-Engine steckt jetzt in der Erweiterung selbst, es gibt kein separates Plugin zu installieren.
Überblick

Mit BTCMobs baust du benutzerdefinierte Mobs und interaktive NPCs vollständig im TypeWriter-Web-Panel. Ein Mob-Template beschreibt eine Kreatur: ihre Minecraft-Basis-Entity, Level, Leben, Rüstung, Fähigkeiten, Drops, Fraktion, optionales 3D-Modell und optionale Fortpflanzung. Spawner und natürliche Spawns bestimmen, wo und wann Templates in der Welt erscheinen. Fähigkeiten und Drop-Tabellen legen fest, was der Mob tut und was er hinterlässt.
Alles, was die Mobs tun, wird an TypeWriter zurückgegeben. Events werden ausgelöst, wenn ein Mob spawnt, Schaden nimmt, eine Fähigkeit wirkt oder stirbt. Facts und Variablen melden Leben, Level, Anzahl oder Entfernung. Aktionen lassen Mobs spawnen, despawnen oder Fähigkeiten wirken. So können Quests, Dialoge und Cinematics auf einen Kampf reagieren oder einen starten.
Dieselbe Erweiterung bietet außerdem eine NPC-Seite: Ein Mob-Template kann als clientseitiger NPC dargestellt werden, mit Dialoginteraktionen, Quest-Objectives, Kamera-Cinematics (einschließlich an einem Modellknochen befestigter Kameras), Knochensichtbarkeit pro Spieler und Steuerung von ModelEngine- oder BetterModel-Animationen. Die Erweiterung zielt auf den BTC-Build von TypeWriter (Paper/Folia).
Funktionen
- Mob-Templates — ein
btc_mob_template-Entry pro Kreatur: Entity-Typ, Level, Leben, Angriffsschaden, Rüstung, Fähigkeiten, Drops, Fraktion, Bedrohungstabelle, Modell und Animationen. - Spawner — regionsbasierte Spawner mit Spawn-Obergrenze, Spawn-Takt und Aufwärmphase, die von Facts gesteuert werden können, sodass jeder Spieler ein anderes Tempo sehen kann.
- Ersatz natürlicher Spawns — ersetze Vanilla-Kreatur-Spawns Regel für Regel durch BTC-Mobs, nach Welt, Biom und Wahrscheinlichkeit.
- Fähigkeiten — eine Fähigkeit ist eine geordnete Liste von TypeWriter-Aktionen oder eine Skriptzeile. Templates hängen Fähigkeiten an Trigger wie Spawn, Angriff, Schaden, Tod oder einen sich wiederholenden Timer.
- Drop-Tabellen und Items — Vanilla-Materialien, eigene Items, XP und wiederverwendbare Tabellen, mit Chance und Menge, die mit dem Mob-Level skalieren.
- Quest-Anbindung — Events, Facts, Variablen und ein Fähigkeits-Objective, damit Geschichten auf Mobs und Kämpfe reagieren können.
- NPCs — Template-basierte clientseitige NPCs mit Dialog, Interaktion, Blickverfolgung und Kameraverhalten.
- Cinematics — einen Mob spawnen, eine Fähigkeit wirken, einen NPC fokussieren oder während einer TypeWriter-Cinematic auf einem Modellknochen reiten.
- Persistenz — Fähigkeits-Cooldowns, Zähler, Auren, Bedrohungstabellen und Bossbars überstehen einen Neustart, wenn ein Speicher-Artifact konfiguriert ist.
- MythicMobs-Import — ein Operator-Befehl wandelt ein MythicMobs-Pack in BTCMobs-Pages um.
Installation
BTCMobs ist in Entwicklung und hat keinen öffentlichen Download. Die folgenden Hinweise beschreiben, wie der Entwicklungs-Build verdrahtet ist.
- Betreibe den BTC-Build von TypeWriter (BTC Core, Paper oder Folia) mit den Erweiterungen Quest und RoadNetwork, die der Build als Abhängigkeiten deklariert.
- Lege die BTCMobs-JAR in
plugins/Typewriter/extensions/ab und starte den Server neu. Sie bringt ihre eigene Mob-Engine mit, daher wird kein separates BTCMobs-Plugin benötigt. - Installiere die optionalen Integrationen, die du möchtest. Die Erweiterung erkennt sie zur Laufzeit: ModelEngine oder BetterModel für 3D-Modelle, MiniPlaceholders, um Platzhalter bereitzustellen, PacketEvents, Vault, DecentHolograms und WorldGuard.
- Um das Mob-Katalogmenü zu öffnen, muss die BTC-GUI-Erweiterung installiert sein.
- Erstelle im Web-Panel ein Artifact
btcmobs_storageund verweise von einem Entrybtcmobs_config(siehe unten) darauf, damit der Spielzustand gespeichert wird.
Erste Schritte
Diese Anleitung erstellt einen Zombie-Boss, lässt ihn in einer Arena spawnen und reagiert auf seinen Tod.
- Öffne im TypeWriter-Web-Panel eine Manifest-Page. Füge ein BTCMobs Storage-Artifact hinzu, dann einen BTCMobs Global Configuration-Entry, und setze
storageauf dieses Artifact. - Öffne eine statische Page und füge ein Native BTC mob template hinzu. Gib ihm eine
id, die du wiederverwendest (zum Beispielcrypt_warden). SetzeentityTypeaufZOMBIE,displayauf den Namen, den Spieler sehen, dannlevel,maxHealth,attackDamageundarmor. - Füge eine Native BTC mob drop table hinzu und liste ihre
dropsauf, eine Deklaration pro Zeile, zum BeispielDIAMOND 1 0.25(Material, Menge, Chance) oderexp 20to40. Verweise in derdrops-Liste des Templates über ihre ID auf die Tabelle. - Füge einen Native BTC mob skill hinzu und fülle
actionsmit den TypeWriter-Aktionen, die er der Reihe nach ausführt. Füge im Template die Fähigkeits-ID zuskillshinzu, zum Beispielwarden_slam~onTimer:100, um sie alle 100 Ticks zu wirken. - Füge einen BTCMobs Spawner hinzu. Setze
mobTypeauf die ID des Templates (nicht auf seinen Anzeigenamen),world, die beiden Eckencorner1undcorner2einer Region,defaultMaxMobsunddefaultCooldown(in Ticks). - Füge ein On BTCMob die-Event mit
mobNameauf die Template-ID gesetzt hinzu und verknüpfe seinetriggersmit einem Dialog, einer Belohnung oder einem Fact-Modifier. - Veröffentliche die Pages, geh in den
defaultActivationRange(standardmäßig 24 Blöcke) um die Mitte der Region, und der Mob erscheint. Verwende/tw btcmobs spawners force <id>, um ohne Warten zu testen.
/tw btcmobs spawn <template> <level> <amount> spawnt ein Template neben dir mit dem von dir gewählten Level. Der Befehl schlägt die geladenen Template-IDs vor.
Funktionsweise
Ein Template ist nur eine Beschreibung. Ein lebender Mob entsteht, wenn ein Spawner, ein natürlicher Spawn, eine Spawn a mob-Aktion oder der Befehl spawn einen anfordert. Von da an führt der Mob die an seine Trigger gehängten Fähigkeiten aus und würfelt seine Drop-Deklarationen, wenn er stirbt. Jeder Schritt löst außerdem ein TypeWriter-Event aus, wodurch Quests und Dialoge dem Kampf folgen.
Fähigkeiten und Trigger
Einträge in der skills-Liste eines Templates werden als skillId oder skillId~trigger geschrieben. Die ID ist die ID (oder der Name) eines btc_mob_skill-Entries. Der Trigger gibt an, wann der Mob sie ausführt: onSpawn, onAttack, onDamaged, onDeath, onKill, onDespawn, onInteract, onTeleport, onExplode, onRanged, onProjectile oder onTimer:<ticks> für eine sich wiederholende Fähigkeit (onTimer:5s wird ebenfalls akzeptiert, in Sekunden). Eine Fähigkeit ohne Trigger läuft bei jedem Trigger, den der Mob auslöst, füge also immer einen hinzu. conditions filtern jede Fähigkeitszeile, und targeters wählen die Ziele, die sie gemeinsam haben.
Drop-Deklarationen
Jede Zeile einer Drop-Tabelle oder einer drops-Liste eines Templates ist eine der folgenden:
- ein Vanilla-Material mit optionaler Menge und Chance, zum Beispiel
BONE 2 0.5; - die ID oder der Name eines
btc_mob_item-Entries, mit optionaler Menge und Chance; exp 10oderexp 10to20für Erfahrung;btc:<item_id> [amount or range] [chance] [+n/m]für ein Item aus dem BTC-Katalog. Ohne das Token+n/mwächst die Menge mit dem Mob-Level, von x1 auf Level 1 bis x6 auf Level 100;- die ID einer anderen Drop-Tabelle, die an Ort und Stelle expandiert wird.
Unbekannte Deklarationen werden als Warnungen protokolliert und übersprungen.
NPCs
Ein NPC ist ein Template, das Spielern als clientseitige Entity angezeigt wird. Eine BtcMob NPC definition nennt das Template in mobType und legt den Anzeigenamen, seinen Versatz und fest, ob er tickt. Eine BtcMob NPC instance platziert ihn mit spawnLocation, einer optionalen activity, einer group und zusätzlichen data. NPC-Data-Entries ändern das Aussehen des Modells: Knochensichtbarkeit pro Spieler, Attachments, die einen Knochen gegen einen aus einem anderen Modell austauschen, ModelEngine-Stances für Tag und Nacht und Gehgeschwindigkeit.
Befehle
Alle Befehle liegen unter /tw btcmobs. Die kurzen Aliase /tw btc und /tw btcmobsadmin führen denselben Baum aus. Jeder Knoten hat eine Berechtigung der Form btcmobs.command.<node> (siehe unten).
| Befehl | Beschreibung |
|---|---|
/tw btcmobs mobs [list] | Listet die geladenen Mob-Templates auf. |
/tw btcmobs mobs listactive | Listet die aktuell lebenden Mobs auf. |
/tw btcmobs spawn <template> [level] [amount] | Spawnt ein Template neben dir (Menge 1 bis 64). summon und mobs spawn sind gleichwertig. |
/tw btcmobs mobs kill <template> [radius] | Tötet Mobs eines Templates in deiner Umgebung (Standardradius 48). |
/tw btcmobs mobs killall [radius] | Tötet jeden BTC-Mob in deiner Umgebung (Standardradius 48). |
/tw btcmobs mobs info | Zeigt Informationen zu dem Mob, den du ansiehst. |
/tw btcmobs skills [list] | Listet die geladenen Fähigkeiten auf. |
/tw btcmobs cast <skill> | Wirkt eine Fähigkeit von dir aus (skills cast, test cast und profile cast sind gleichwertig). |
/tw btcmobs spawners [list] | Listet die Spawner-Entries auf. |
/tw btcmobs spawners info <id> | Zeigt einen Spawner. |
/tw btcmobs spawners force <id> [amount] | Erzwingt einen Spawn und ignoriert Bedingungen und Obergrenzen. |
/tw btcmobs spawners reload | Lädt die nativen Entries neu. |
/tw btcmobs reload | Lädt die nativen Entries neu. |
/tw btcmobs menu | Öffnet das Mob-Katalogmenü (die ersten 45 Templates, alphabetisch). |
/tw btcmobs items list und get <item> [amount] | Ein Item des Katalogs auflisten oder nehmen. |
/tw btcmobs items give <player> <item> [amount] | Gibt einem Spieler ein Katalog-Item. |
/tw btcmobs signal <uuid> <signal> | Sendet ein Signal an einen aktiven Mob. |
/tw btcmobs test mechanic, condition, targeter <line> | Führt eine Skriptzeile als Test aus. |
/tw btcmobs test on <uuid or nearest> <line> | Führt eine Skriptzeile an einem bestimmten aktiven Mob aus. |
/tw btcmobs import mythic [path] | Wandelt ein MythicMobs-Pack in BTCMobs-Pages um (Standardordner import/BtcMob im TypeWriter-Datenordner). migrate mythic ist gleichwertig. |
/tw btcmobs audit, coverage, registrydump, variables, placeholders | Diagnosen zu geladenen Templates, Fähigkeiten, Spawnern und Registern. |
/tw btcmobs debug, version, modeldiag | Laufzeitdiagnosen, Version und BetterModel-Zustand von Mobs in der Nähe. |
Berechtigungen
| Berechtigung | Gewährt |
|---|---|
btcmobs.command.main | Die Wurzel /tw btcmobs und ihre Hilfe. Standardmäßig an alle vergeben. |
btcmobs.command.version | version und v. Standardmäßig an alle vergeben. |
btcmobs.command.mobs, .mobs.spawn, .mobs.kill, .mobs.killall, .mobs.info, .mobs.listactive, .mobs.stats | Die Befehle mobs und spawn. |
btcmobs.command.skills, .skills.cast | Fähigkeiten auflisten und wirken. |
btcmobs.command.spawners, .spawners.list, .spawners.info, .spawners.force, .spawners.reload | Die Befehle spawners. |
btcmobs.command.items, .items.list, .items.get, .items.give | Die Befehle items. |
btcmobs.command.menu, .menu.open | Das Katalogmenü. |
btcmobs.command.import, .migrate, .migrate.mythic, btcmobs.import | Der MythicMobs-Import. |
btcmobs.command.test, .test.mechanic, .test.condition, .test.targeter, .test.cast | Die Befehle test. |
btcmobs.command.audit, .variables, .debug, .modeldiag, .signal, .reload, .profile | Die passenden Diagnosebefehle. |
btcmobs.command.admin, btcmobs.admin | Administrative Wurzel (/tw btcmobsadmin). |
btcmobs.command.*, btcmobs.* | Alle oben genannten. |
Alle Berechtigungen außer btcmobs.command.main und btcmobs.command.version sind standardmäßig nur für Operatoren. Der Befehl modeldiag prüft btcmobs.command.modeldiag, das die Erweiterung registriert (standardmäßig für Operatoren).
Platzhalter
Platzhalter werden nur an MiniPlaceholders veröffentlicht; PlaceholderAPI wird dafür nicht verwendet. Die Syntax lautet <name:argument:argument>.
| Platzhalter | Gibt zurück |
|---|---|
<btcmobs_caster> und <btcmobs_caster:field> | Die Template-ID oder ein Feld des an den Spieler gebundenen Mobs: name, type, level, hp, maxhp, percent, uuid. |
<btcmobs_looking> und <btcmobs_looking:field> | Dieselben Felder für den BTC-Mob, den der Spieler ansieht (bis zur Blickreichweite), leer, wenn es keinen gibt. |
<btcmobs_var:name> | Den Wert einer globalen BTCMobs-Variable. |
<btcmobsdamage_top:BOSS:POSITION:field> | Den Spieler auf einem Rang einer Boss-Schadensrangliste. Felder: name, damage, raw_damage, percent, uuid. |
<btcmobsdamage_self:BOSS:field> | Die eigene Platzierung des betrachtenden Spielers. Felder: damage, raw_damage, percent, position. |
<btcmobsdamage_participants:BOSS>, _total, _max_health, _last_update | Summen einer Boss-Schadensrangliste. |
Entries
57 Einträge, aus dem Quellcode der Erweiterung generiert.
Aktionen7
- BTC Mob Script ActionNative BTC mob script action
- Btcmob NPC HideHide a BtcMob NPC
- Btcmob NPC ShowShow a BtcMob NPC
- Despawn Btcmobs MobDespawn a mob from BTCMobs
- Execute Btcmobs SkillExecutes a BTCMobs skill
- Open BTC Mob MenuOpen the native BTC mob catalogue
- Spawn Btcmobs MobSpawn a mob from BTCMobs
Ereignisse9
- Btcmob NPC HitWhen a BtcMob NPC is hit or hits a player
- Btcmob NPC InteractWhen the player clicks on a BtcMob NPC
- Btcmobs Interact EventBTCMob Interact Event
- Btcmobs Kill Player EventBTCMob Kill Player Event
- On Btcmob DamageWhen a BTCMob takes damage.
- On Btcmob DespawnWhen a BTCMob despawns without being killed by a player.
- On Btcmob DieWhen a player kill a BTCMob.
- On Btcmob SkillWhen a BTCMob casts a skill.
- On Btcmob SpawnWhen a BTCMob spawns in the world.
Ziele2
- Btcmob Skill ObjectiveBtcMob Skill Objective
- Interact Btcmob NPC ObjectiveInteract with a BtcMob NPC
Fakten9
- Btcmob Count FactCount the number of active BTCMobs of the specified type
- Btcmob Health Percentage FactReturns the current health percentage of the nearest BTCMob of the specified type
- Btcmob Level FactReturns the level of the nearest BTCMob of the specified type
- Btcmob NPC Animation Playing FactReturns 1 when the specified ModelEngine animation is playing
- Btcmob NPC Distance FactReturns the distance between the player and the BtcMobs NPC
- Btcmob NPC Health Percentage FactReturns the NPC's current health percentage
- Btcmob NPC Presence FactReturns 1 when the BtcMobs NPC is currently spawned
- Btcmob NPC Threat Table Size FactReturns the size of the BtcMobs threat table
- Btcmob NPC Visibility FactReturns 1 if the player can currently see the BtcMobs NPC
Cinematics5
- Btcmob CinematicSpawn a BTCMob during a cinematic
- Btcmob NPC Bone Camera CinematicAttach the cinematic camera to a bone of a BtcMob NPC's model
- Btcmob NPC Camera CinematicFocus on a BtcMob NPC during a cinematic
- Btcmob NPC Skill CinematicTrigger a BtcMob NPC Skill
- Btcmobs Skill CinematicTrigger a BTCMob Skill during a cinematic
Entitäten2
- Btcmob NPC DefinitionA BtcMob that can be used as an NPC
- Btcmob NPC InstanceAn instance of a BtcMob NPC
Entitätsdaten4
- Btcmob NPC AttachmentReplace a bone of a BtcMob NPC model with one from another model
- Btcmob NPC Bone VisibilityControl BtcMob NPC bone visibility with criteria
- Modelengine Stance DataModelEngine stance configuration for day/night animations
- Mythicmob Speed DataChange the walking speed of a BtcMob
Interaktionsgrenzen3
- Btcmob NPC Camera BoundA camera bound that focuses on a BtcMob NPC with custom focus offset
- Btcmob NPC Look at Interaction BoundAn interaction which forces the player to look at a BtcMob NPC
- Mythicmob Look at Interaction BoundAn interaction which forces the player to look at the nearest BtcMob of a specific type
Variablen8
- Btcmob NPC Active Animations VariableReturns the active ModelEngine animations for the BtcMobs NPC
- Btcmob NPC Faction VariableReturns the BtcMobs NPC faction
- Btcmob NPC Health Percentage VariableReturns the current health percentage of the BtcMobs NPC
- Btcmob NPC Health VariableReturns the current health of the BtcMobs NPC
- Btcmob NPC Level VariableReturns the BtcMobs NPC level
- Btcmob NPC Max Health VariableReturns the maximum health of the BtcMobs NPC
- Btcmob NPC Power VariableReturns the BtcMobs NPC power
- Btcmob NPC Stance VariableReturns the current stance applied to the BtcMobs NPC
Artefakte1
- Btcmobs StorageBTCMobs Storage Artifact
Manifeste1
- Btcmobs ConfigBTCMobs Global Configuration
Definitionen6
- BTC Mob Drop TableNative BTC mob drop table
- BTC Mob ItemNative BTC mob item
- BTC Mob SkillNative BTC mob skill
- BTC Mob TemplateNative BTC mob template
- BTC Natural SpawnBTCMobs Natural Spawn Replacement
- BTC SpawnerBTCMobs Spawner with Corner System
Fehlerbehebung
Der Spawner bewirkt nichts, und das Log meldet „references unknown mob template“. mobType muss die ID eines btc_mob_template sein, nicht der im Editor angezeigte Name. Kopiere die ID aus dem Template-Entry. Dieselbe Regel gilt für btc_natural_spawn, die Spawn- und Despawn-Aktionen und NPC-Definitionen.
Der Spawner erreicht nie seine Obergrenze oder bleibt bei 1 stehen. Eine Region, deren zwei Ecken derselbe Punkt sind, begrenzt defaultMaxMobs auf 1. Die Obergrenze zählt Mobs, die diesem Spawner gehören, egal wo sie sich befinden. Der Spawner arbeitet nur, solange sich ein Spieler im defaultActivationRange um die Mitte einer Region befindet.
Ein Spawner tut für manche Spieler nichts. Für jeden Spieler in der Nähe der Region prüft der Spawner die Welt, dann conditionLines, dann criteria; alle müssen bestanden werden, bevor Region, Cooldown und Spawn betrachtet werden. Ein Spieler, der criteria nicht erfüllt, wird übersprungen (eine Diagnosezeile „criteria did not match“ wird einmal pro Spieler protokolliert). criteria entfernt nie einen Mob, der bereits erschienen ist. Die ...Fact-Felder (maxMobsFact, mobsPerSpawnFact und die anderen) überschreiben weiterhin die numerischen Standardwerte.
Der Ersatz natürlicher Spawns wird nie ausgelöst. Der Entry ersetzt nur Spawns, die der Server ohnehin erzeugt (natürlich, Chunk-Generierung oder Standard). Stehen die spawn-limits der Welt in paper-world-defaults.yml auf 0, spawnen Vanilla-Kreaturen nie, und nichts wird ersetzt. Die erste passende Regel gewinnt, und maxNearby auf 0 bedeutet keine Obergrenze, nicht null Mobs.
Ein Mob spielt Angriffs- oder Todesanimationen in Endlosschleife ab oder läuft nicht. modelAnimations spielt beim Anbringen eines Modells nur Idle-Animationen in einer Schleife ab; dort eingetragene Angriffs- und Todesnamen werden ignoriert. Einmalige Animationen werden im modelLifecycle des Templates festgelegt (Spawn, Angriff, Treffer, Tod) und zum passenden Zeitpunkt abgespielt; eine Todesanimation läuft bis zum Ende, bevor das Modell verschwindet. Ein im Modell fehlender Name wird einmal pro Template protokolliert, und dieser Zeitpunkt bleibt stumm. Laufanimationen werden von Mobs noch nicht gesteuert, nur auf der NPC-Seite.
Eine Fähigkeit oder ein Drop fehlt stillschweigend. Prüfe das Server-Log: Unbekannte Drop-Deklarationen, unbekannte Items und ungültige Chancen werden als Warnungen protokolliert und übersprungen. Ein skills-Eintrag, dessen ID zu keinem btc_mob_skill-Entry passt, wird protokolliert, wenn der Mob wirkt.
On BTCMob despawn wird nicht ausgelöst. Das Event wird ausgelöst, wenn ein verfolgter Mob die Welt verlässt, ohne zu sterben (natürliches Despawnen, Entfernung durch ein Plugin, Herausfallen aus der Welt) und sich ein Spieler innerhalb von radius befindet. Es wird nicht ausgelöst, wenn der Mob stirbt (nutze On BTCMob die), wenn nur sein Chunk entladen wird (der Mob wird beim Neuladen wieder übernommen) oder wenn du ihn mit der Aktion Despawn oder /tw btcmobs mobs kill entfernst. Ein leerer mobName passt auf jeden Mob; dasselbe gilt für die Events spawn, die, damage und interact.
Verwandte Erweiterungen
- BetterModel — BetterModel ist eines der beiden Modell-Backends (
modelProvider), die BTCMobs für Mob- und NPC-Modelle ansteuern kann.