NPCs erstellen
Konfigurationseinstellungen
isEnabled
Legt fest, ob ein NPC aktiviert ist.
| Key | Values | Default |
|---|---|---|
isEnabled | Boolean | true |
Beispiel
isEnabled: true
name
Legt den Anzeigenamen eines NPCs fest. Unterstützt Color Codes und Übersetzungsschlüssel für mehrsprachige Server.
| Key | Values | Default |
|---|---|---|
name | String | none |
Beispiel
name: "&aEnn Peecee"

scale
Legt die Skalierung (Größe) des NPCs fest.
| Key | Values | Default |
|---|---|---|
scale | Multiplier | 1.0 |
Bei der Skalierung repräsentiert 1.0 die Standardgröße. Um die Entität größer zu machen, erhöhe den Wert (z.B. 1.2). Um die Entität kleiner zu machen, verringere den Wert (z.B. 0.8).
Beispiel
scale: 1.2
role
Legt die Rolle des NPCs fest, die unter dem Namen angezeigt wird. Nur visuell. Unterstützt Color Codes und Übersetzungsschlüssel für mehrsprachige Server.
| Key | Values | Default |
|---|---|---|
role | String | none |
Beispiel
role: "&c<Red Fellow>"

profession
Legt den Beruf des NPCs fest, der sein Aussehen bestimmt, wenn keine Verkleidung verwendet wird.
| Key | Values | Default |
|---|---|---|
profession | Profession | NITWIT |
Beispiel
profession: NITWIT

greetings
Legt die Liste der Begrüßungen fest, die der NPC sagt, wenn ein Spieler sich nähert. Unterstützt Übersetzungsschlüssel für mehrsprachige Server.
| Key | Values | Default |
|---|---|---|
greetings | String List | none |
Beispiel
greetings:
- Hi there!
- Good day.

dialog
Legt den Dialog fest, den der NPC sagt, während ein Spieler in der Nähe ist (Im Falle des DIALOG interactionType wäre dies der Dialog). Unterstützt Übersetzungsschlüssel für mehrsprachige Server.
| Key | Values | Default |
|---|---|---|
dialog | String List | none |
Beispiel
dialog:
- I like apples!
- Sure is hot.

farewell
Legt die Abschiedsnachricht des NPCs fest. Unterstützt Übersetzungsschlüssel für mehrsprachige Server.
| Key | Values | Default |
|---|---|---|
farewell | String List | none |
Beispiel
farewell:
- Until next time!
- Bye!

canTalk
Legt fest, ob der NPC sprechen kann.
| Key | Values | Default |
|---|---|---|
canTalk | Boolean | true |
Beispiel
canTalk: true
activationRadius
Legt den Radius fest, in dem ein NPC einen sich nähernden Spieler erkennen kann.
| Key | Values | Default |
|---|---|---|
activationRadius | Double | 3.0 |
Beispiel
activationRadius: 3.0
interactionType
Legt den Interaktionstyp fest, den der NPC ausführt.
| Key | Values | Default |
|---|---|---|
interactionType | Special [1] | none |
Beispiel
interactionType: TELEPORT_BACK
noPreviousLocationMessage
Wenn ein Teleporter-NPC keinen vorherigen Ort hat, zu dem er einen Spieler teleportieren kann, wird diese Nachricht angezeigt. Akzeptiert Color Codes und Übersetzungsschlüssel für mehrsprachige Server.
| Key | Values | Default |
|---|---|---|
noPreviousLocationMessage | String | none |
Beispiel
noPreviousLocationMessage: '&8[EliteMobs] &cCouldn''t send you back to your previous location - no previous location found!'

timeout
Legt die Zeit in Minuten fest, bevor ein NPC dauerhaft verschwindet.
| Key | Values | Default |
|---|---|---|
timeout | Integer | 0 (never) |
Beispiel
timeout: 0
questFileName
Legt die Quests fest, die der NPC vergibt.
| Key | Values | Default |
|---|---|---|
questFileName | String List | none |
Beispiel
questFileName:
- my_quest_one.yml
- my_quest_two.yml
disguise
Legt die LibsDisguises-Verkleidung fest, die der NPC hat.
| Key | Values | Default |
|---|---|---|
disguise | LibsDisguises format | none |
Beispiel
disguise: SKELETON

customDisguiseData
Legt die Daten für eine benutzerdefinierte LibsDisguises-Verkleidung fest.
| Key | Values | Default |
|---|---|---|
customDisguiseData | LibsDisguises format | none |
Beispiel
disguise: custom:my_cool_disguise_name
customDisguiseData: player my_cool_disguise_name setskin {"id":"364acb6d-9050-46f7-b5fb-f8c3fd83a6fc","name":"Unknown","properties":[{"name":"textures","value":"ewogICJ0aW1lc3RhbXAiIDogMTYxMTk4ODA4Nzc1NSwKICAicHJvZmlsZUlkIiA6ICJkZGVkNTZlMWVmOGI0MGZlOGFkMTYyOTIwZjdhZWNkYSIsCiAgInByb2ZpbGVOYW1lIiA6ICJEaXNjb3JkQXBwIiwKICAic2lnbmF0dXJlUmVxdWlyZWQiIDogdHJ1ZSwKICAidGV4dHVyZXMiIDogewogICAgIlNLSU4iIDogewogICAgICAidXJsIiA6ICJodHRwOi8vdGV4dHVyZXMubWluZWNyYWZ0Lm5ldC90ZXh0dXJlLzliYmVkODQzNWY4YmYyNzhhZmUyNmU2NGZkOTI2YjhiMzc3MzJkODhlMzM0ODk3ZGJkNTI3ZDU2ZmY5MTk5MGUiCiAgICB9CiAgfQp9","signature":"ujLq1joYVktuQAp1xpFKlxQFUVinSePiDBiVCAxxix/mA5vP86i/eAOfb1mtGjaAZ6sO0l2olbzvycnGXNBtbAxgqprguROXY4tpWiePVTDmy3iD4GdOCxHAkYLoyMV5qTT4SNsldUFFuND8GSEgbNMltKDLmhNKwzm08iCigPfpeuYpwljgJPxu6ka54PKNaQu4doI0ZDZXKqq4hPhR3Bs2Sz9MI0SmdmQWwcCzUz3DFdVno27fmQ6LwqmT+eSoOv0EttVG/XMaTYQ5lhBY61mqf6WlJyYVUSfjJk1AbYsctu7dWM+sbY8jFq5ljvXJGGr5TyKi+fs8vHy06Z2go20QgTYOw+caFxFijAS6fgm3oY57VEO/+/9OLHdD+Z9BrWqQWcIIrVeIfxjue/yt4pyeVv9jX59hjNFjhcPEwotkxJ+vZ96WlTLWDG4BiqauDr2VeGyLlVaygO9ZU0wwsN65iSh91GI3tMIA5wbDR0Hts/9ABvt9eafHbowS+4SZXN0i9mYnKg7op1eiB8nMEAGsPJg3DwsmUrh3ACAapQ6eYHiJpo59RXDqKlRcXwo7wsEFp//5LgQWbPj0NP3nxnywdpozqSAeq6236qlhE9BT9eiyJ41V9sMelYFEWMlUAltR40NdbIrHB0J3nmfuLJz44/sTwWf6P1khOy//XX0="}],"legacy":false}

customModel
Legt das ModelEngine-Custom-Modell fest, das der NPC verwenden wird.
| Key | Values | Default |
|---|---|---|
customModel | String | none |
Beispiel
customModel: MY_MODEL_ONE
arena
Legt den Dateinamen der Arena fest, für die der NPC ein Menü öffnen wird (erfordert den ARENA_MASTER interactionType).
| Key | Values | Default |
|---|---|---|
arena | Filename | none |
Beispiel
arena: my_arena.yml
command
Legt den Befehl fest, den der NPC ausführen wird (erfordert den COMMAND interactionType). Befehle werden als Konsolenbefehle ausgeführt, nicht als Spieler. Füge den führenden Schrägstrich (/) nicht hinzu.
| Key | Values | Default |
|---|---|---|
command | String | none |
Beispiel
command: say Look at me running a command, how cool!
![]()
spawnLocation
Legt den Spawn-Standort der NPCs fest. Du solltest dies über den Befehl /em spawnnpc <npcfilename.yml> einstellen.
| Key | Values | Default |
|---|---|---|
spawnLocation | String | none |
Beispiel
spawnLocation: my_world,10,50,10,0,0
spawnLocations
Legt die Spawn-Standorte der NPCs fest. Du solltest dies über den Befehl /em spawnnpc <npcfilename.yml> einstellen.
| Key | Values | Default |
|---|---|---|
spawnLocations | String List | none |
Beispiel
spawnLocations:
- my_world,10,50,10,0,0
- my_world,-10,50,-10,0,0
instanced
Legt fest, ob der NPC instanziert werden soll (zur Verwendung in instanzierten Dungeons). Wenn auf true gesetzt, wird der NPC automatisch für jede Dungeon-Instanz geklont, wobei jeder Klon in der entsprechenden Instanz-Welt existiert.
| Key | Values | Default |
|---|---|---|
instanced | Boolean | false |
Beispiel
instanced: false
NPC Config Beispiel
isEnabled: true
name: "&cRed Rubin"
role: "&a<Generic NPC>"
profession: NITWIT
greetings:
- Hiya!
- Hello!
dialog:
- Great conversation!
- Pleasure talking with you!
farewell:
- Goodbye!
- Laters!
canTalk: true
activationRadius: 4
interactionType: CHAT
timeout: 0
questFileName:
- my_quest.yml #npc interactionType must be set to CUSTOM_QUEST_GIVER
disguise: SKELETON
customDisguiseData: #used when a custom libsdisguise is being set
customModel: MODEL_ONE
arena: my_arena.yml #npc interactionType must be set to ARENA_MASTER
command: /say Hello World! #npc interactionType must be set to COMMAND
spawnLocation: my_world,584,55,127,90,10 #remember that NPCs use pitch and yaw to set where they are looking at. this is also automatically set when running the /em spawnnpc <npcfilename.yml> command, so make sure you pose where you want the NPC to be facing when running the command.

Special [1]
Im Folgenden findest du die Liste der gültigen NPC-Interaktionstypen:
| Type | Description |
|---|---|
GUILD_GREETER | Öffnet das Abenteurergilde-Menü |
CHAT | Rechtsklick durchläuft den dialog |
CUSTOM_SHOP | Öffnet das Custom-Shop-Menü |
PROCEDURALLY_GENERATED_SHOP | Öffnet den prozedural generierten Shop |
BAR | Öffnet das Bar-Menü |
ARENA | Öffnet das Arena-Menü |
QUEST_GIVER | Öffnet das prozedural generierte Quest-Menü |
CUSTOM_QUEST_GIVER | Öffnet das Quest-Menü für eine spezifische Quest in questFileName |
NONE | Keine Interaktionen |
SELL | Öffnet das Verkaufs-Menü |
TELEPORT_BACK | Teleportiert Spieler zurück zum letzten Nicht-EliteMobs-Welt-Standort |
SCRAPPER | Öffnet das Schrott-Menü |
REPAIRMAN | Öffnet das Reparatur-Menü |
ENCHANTER | Öffnet das Verzauberungs-Menü |
REFINER | VERALTET - Funktion entfernt, nicht verwenden |
UNBINDER | Öffnet das Entbindungs-Menü |
ARENA_MASTER | Öffnet das Arena-Menü für die Arena in arenaFilename |
COMMAND | Führt den Befehl in command aus |
SCROLL_APPLIER | Wendet Elite-Item-Schriftrollen auf Items an |
Für weitere Informationen darüber, was die SCRAPPER und ähnliche Interaktionstypen tun, klicke hier.
NPC-Verhaltenshinweise
NPCs haben mehrere fest kodierte Verhaltensweisen, die nicht konfiguriert werden können:
- KI deaktiviert: NPCs können sich nicht autonom bewegen. Sie bleiben an ihrem Spawn-Standort.
- Rollenanzeige: Der Rollentext wird auf einem unsichtbaren Rüstungsständer über dem NPC in einer festen Höhe angezeigt.
- Dialog-Abklingzeit: NPCs warten 3 Sekunden zwischen Sprechereignissen, um überlappende Nachrichten zu verhindern.
- Chunk-Lebenszyklus: NPCs despawnen, wenn ihr Chunk entladen wird, und spawnen erneut, wenn er wieder geladen wird.
