NPCs erstellen
Konfigurationseinstellungen
isEnabled
Legt fest, ob ein NPC aktiviert ist.
| Key | Werte | Standard |
|---|---|---|
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 | Werte | Standard |
|---|---|---|
name | String | keiner |
Beispiel
name: "&aEnn Peecee"

scale
Legt die Skalierung (Größe) des NPCs fest.
| Key | Werte | Standard |
|---|---|---|
scale | Multiplier | 1.0 |
Beim Skalieren stellt 1.0 die Standardgröße dar. 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 unter dem Namen fest. Nur visuell. Unterstützt Color Codes und Übersetzungsschlüssel für mehrsprachige Server.
| Key | Werte | Standard |
|---|---|---|
role | String | keiner |
Beispiel
role: "&c<Red Fellow>"

profession
Legt den Beruf des NPCs fest, der sein Aussehen (Skin) bestimmt, wenn keine Verkleidung verwendet wird.
| Key | Werte | Standard |
|---|---|---|
profession | Profession | NITWIT |
Beispiel
profession: NITWIT

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

dialog
Legt den Dialog fest, den der NPC sagt, während sich ein Spieler in der Nähe befindet (im Fall des interactionType DIALOG wäre dies der Dialog). Unterstützt Übersetzungsschlüssel für mehrsprachige Server.
| Key | Werte | Standard |
|---|---|---|
dialog | String-Liste | keiner |
Beispiel
dialog:
- I like apples!
- Sure is hot.

farewell
Legt die Abschiedsnachricht des NPCs fest. Unterstützt Übersetzungsschlüssel für mehrsprachige Server.
| Key | Werte | Standard |
|---|---|---|
farewell | String-Liste | keiner |
Beispiel
farewell:
- Until next time!
- Bye!

canTalk
Legt fest, ob der NPC sprechen kann.
| Key | Werte | Standard |
|---|---|---|
canTalk | Boolean | true |
Beispiel
canTalk: true
activationRadius
Legt den Radius fest, in dem ein NPC einen sich nähernden Spieler erkennen kann.
| Key | Werte | Standard |
|---|---|---|
activationRadius | Double | 3.0 |
Beispiel
activationRadius: 3.0
scripts
Legt die an diesen NPC angehängten Lua-Skripte fest. Skriptdateien werden aus plugins/EliteMobs/npc_scripts/ geladen, und die Dateinamen müssen exakt übereinstimmen, einschließlich der Endung .lua.
| Key | Werte | Standard |
|---|---|---|
scripts | String-Liste | keiner |
NPC-Skripte können auf Lebenszyklus-, Interaktions- und Annäherungs-Hooks wie on_npc_proximity_enter reagieren. Siehe Lua-NPC-Skripte für die vollständige API und Beispiele.
Beispiel
scripts:
- wave.lua
interactionType
Legt die Art der Interaktion fest, die der NPC durchführt.
| Key | Werte | Standard |
|---|---|---|
interactionType | Speziell [1] | keiner |
Beispiel
interactionType: TELEPORT_BACK
noPreviousLocationMessage
Wenn ein Teleporter-NPC keinen vorherigen Ort hat, zu dem er einen Spieler teleportieren kann, zeigt er diese Nachricht an. Akzeptiert Color Codes und Übersetzungsschlüssel für mehrsprachige Server.
| Key | Werte | Standard |
|---|---|---|
noPreviousLocationMessage | String | keiner |
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 | Werte | Standard |
|---|---|---|
timeout | Double | 0 (nie) |
Beispiel
timeout: 0
questFileName
Legt die Quests fest, die der NPC vergibt.
| Key | Werte | Standard |
|---|---|---|
questFileName | String-Liste | keiner |
Beispiel
questFileName:
- my_quest_one.yml
- my_quest_two.yml
disguise
Legt die LibsDisguises-Verkleidung fest, die der NPC hat.
| Key | Werte | Standard |
|---|---|---|
disguise | LibsDisguises-Format | keiner |
Beispiel
disguise: SKELETON

customDisguiseData
Legt die Daten für eine benutzerdefinierte LibsDisguises-Verkleidung fest.
| Key | Werte | Standard |
|---|---|---|
customDisguiseData | LibsDisguises-Format | keiner |
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-Modell fest, das der NPC verwendet.
| Key | Werte | Standard |
|---|---|---|
customModel | String | keiner |
Beispiel
customModel: MY_MODEL_ONE
arena
Legt den Dateinamen der Arena fest, für die der NPC ein Menü öffnet (erfordert den interactionType ARENA_MASTER).
| Key | Werte | Standard |
|---|---|---|
arena | Filename | keiner |
Beispiel
arena: my_arena.yml
command
Legt den Befehl fest, den der NPC ausführt (erfordert den interactionType COMMAND). Befehle werden als der Spieler ausgeführt, nicht als die Konsole. Füge den führenden Schrägstrich (/) nicht hinzu.
| Key | Werte | Standard |
|---|---|---|
command | String | keiner |
Beispiel
command: say Look at me running a command, how cool!
![]()
spawnLocation
Legt den Spawn-Ort der NPCs fest. Du solltest dies über den Befehl /em place npc <npcfilename.yml> festlegen.
| Key | Werte | Standard |
|---|---|---|
spawnLocation | String | keiner |
Beispiel
spawnLocation: my_world,10,50,10,0,0
spawnLocations
Legt die Spawn-Orte der NPCs fest. Du solltest dies über den Befehl /em place npc <npcfilename.yml> festlegen.
| Key | Werte | Standard |
|---|---|---|
spawnLocations | String-Liste | keiner |
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 | Werte | Standard |
|---|---|---|
instanced | Boolean | false |
Beispiel
instanced: false
syncMovement
Legt fest, ob die Bewegung des NPCs synchronisiert werden soll. Wird verwendet, um zu steuern, ob die Positionsaktualisierungen des NPCs synchronisiert werden.
| Key | Werte | Standard |
|---|---|---|
syncMovement | Boolean | true |
Beispiel
syncMovement: true
NPC-Konfigurationsbeispiel
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 (do not include the leading slash)
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 place npc <npcfilename.yml> command, so make sure you pose where you want the NPC to be facing when running the command.

Speziell [1]
Im Folgenden findest du die Liste der gültigen NPC-Interaktionstypen:
| Typ | Beschreibung |
|---|---|
GUILD_GREETER | Öffnet das Auswahlmenü für den Waffen-Skill-Bonus |
CHAT | Rechtsklick wechselt durch den dialog |
CUSTOM_SHOP | Öffnet das benutzerdefinierte Shop-Menü |
PROCEDURALLY_GENERATED_SHOP | Öffnet den prozedural generierten Shop |
BAR | Nicht implementiert. Teilt dem Spieler mit, dass das Feature bald verfügbar ist. |
ARENA | Tut nichts. Verwende stattdessen ARENA_MASTER. |
QUEST_GIVER | Öffnet das Menü der prozedural generierten Quests |
CUSTOM_QUEST_GIVER | Öffnet das Quest-Menü für eine bestimmte Quest, die in questFileName festgelegt ist |
NONE | Keine Interaktionen |
SELL | Öffnet das Verkaufsmenü |
TELEPORT_BACK | Teleportiert Spieler zurück zum letzten Nicht-EliteMobs-Welt-Standort, an dem sie waren |
SCRAPPER | Öffnet das Verschrottungsmenü |
REPAIRMAN | Öffnet das Reparaturmenü |
ENCHANTER | Öffnet das Verzauberungsmenü |
REFINER | ERSETZT - Teilt dem Spieler mit, dass das Feature ersetzt wurde; Administratoren wird geraten, den NPC zu entfernen |
SMELTER | ERSETZT - Teilt dem Spieler mit, dass das Feature ersetzt wurde; Administratoren wird geraten, den NPC zu entfernen |
ENHANCER | ERSETZT - Teilt dem Spieler mit, dass das Feature ersetzt wurde; Administratoren wird geraten, den NPC zu entfernen |
UNBINDER | Öffnet das Entbindungsmenü |
ARENA_MASTER | Öffnet das Arena-Menü für die in arena festgelegte Arena |
COMMAND | Führt den in command festgelegten Befehl aus |
SCROLL_APPLIER | Wendet Elite-Gegenstands-Schriftrollen auf Gegenstände an |
ARROW_SHOP | Öffnet das Pfeil-Shop-Menü |
GAMBLING_BLACKJACK | Öffnet das Blackjack-Glücksspiel |
GAMBLING_COINFLIP | Öffnet das Münzwurf-Glücksspiel |
GAMBLING_SLOTS | Öffnet das Slots-Glücksspiel |
GAMBLING_HIGHERLOWER | Öffnet das Höher/Tiefer-Glücksspiel |
Weitere Informationen darüber, was die Interaktionstypen SCRAPPER und ähnliche bewirken, findest du hier.
Hinweise zum NPC-Verhalten
NPCs haben mehrere fest codierte Verhaltensweisen, die nicht konfiguriert werden können:
- KI deaktiviert: NPCs können sich nicht autonom bewegen. Sie bleiben an ihrem Spawn-Ort.
- Rollenanzeige: Der Rollentext wird auf einem unsichtbaren Rüstungsständer in einer festen Höhe über dem NPC angezeigt.
- Dialog-Cooldown: NPCs warten 3 Sekunden zwischen Sprechereignissen, um sich überschneidende Nachrichten zu verhindern.
- Chunk-Lebenszyklus: NPCs despawnen, wenn ihr Chunk entladen wird, und respawnen, wenn er neu geladen wird.
