Zum Hauptinhalt springen

NPCs erstellen

webapp_banner.jpg

Konfigurationseinstellungen

isEnabled

Legt fest, ob ein NPC aktiviert ist.

SchlüsselWerteStandard
isEnabledBooleantrue
Beispiel
isEnabled: true

name

Legt den Anzeigenamen eines NPCs fest. Unterstützt Farbcodes und Übersetzungsschlüssel für mehrsprachige Server.

SchlüsselWerteStandard
nameStringnone
Beispiel
name: "&aEnn Peecee"

create_npc_name.jpg


scale

Legt die Skalierung (Größe) des NPCs fest.

SchlüsselWerteStandard
scaleMultiplikator1.0

Beim Skalieren steht 1.0 für die Standardgröße. Um die Entität größer zu machen, erhöhe den Wert (z.B. 1.2). Um sie 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 Farbcodes und Übersetzungsschlüssel für mehrsprachige Server.

SchlüsselWerteStandard
roleStringnone
Beispiel
role: "&c<Roter Geselle>"

create_npc_role.jpg


profession

Legt den Beruf des NPCs fest, der sein Aussehen bestimmt, wenn keine Verkleidung verwendet wird.

SchlüsselWerteStandard
professionProfessionNITWIT
Beispiel
profession: NITWIT

create_npc_profession.jpg


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.

SchlüsselWerteStandard
greetingsString-Listenone
Beispiel
greetings:
- Hallo!
- Guten Tag.

create_npc_greetings.jpg


dialog

Legt den Dialog fest, den der NPC sagt, während ein Spieler in der Nähe ist (im Fall des DIALOG-interactionType wäre dies der Dialog). Unterstützt Übersetzungsschlüssel für mehrsprachige Server.

SchlüsselWerteStandard
dialogString-Listenone
Beispiel
dialog:
- Ich mag Äpfel!
- Es ist ganz schön heiß.

create_npc_dialog.jpg


farewell

Legt die Abschiedsnachricht des NPCs fest. Unterstützt Übersetzungsschlüssel für mehrsprachige Server.

SchlüsselWerteStandard
farewellString-Listenone
Beispiel
farewell:
- Bis zum nächsten Mal!
- Tschüss!

create_npc_farewell.jpg


canTalk

Legt fest, ob der NPC sprechen kann.

SchlüsselWerteStandard
canTalkBooleantrue
Beispiel
canTalk: true

activationRadius

Legt den Radius fest, in dem ein NPC einen sich nähernden Spieler erkennen kann.

SchlüsselWerteStandard
activationRadiusDouble3.0
Beispiel
activationRadius: 3.0

interactionType

Legt die Art der Interaktion fest, die der NPC durchführt.

SchlüsselWerteStandard
interactionTypeSpezial [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 Farbcodes und Übersetzungsschlüssel für mehrsprachige Server.

SchlüsselWerteStandard
noPreviousLocationMessageStringnone
Beispiel
noPreviousLocationMessage: '&8[EliteMobs] &cKonnte dich nicht zu deinem vorherigen Ort zurückschicken - kein vorheriger Ort gefunden!'

create_npc_noteleportlocation.jpg


timeout

Legt die Zeit in Minuten fest, bevor ein NPC dauerhaft verschwindet.

SchlüsselWerteStandard
timeoutDouble0 (nie)
Beispiel
timeout: 0

questFileName

Legt die Quests fest, die der NPC vergibt.

SchlüsselWerteStandard
questFileNameString-Listenone
Beispiel
questFileName:
- my_quest_one.yml
- my_quest_two.yml

disguise

Legt die LibsDisguises-Verkleidung des NPCs fest.

SchlüsselWerteStandard
disguiseLibsDisguises-Formatnone
Beispiel
disguise: SKELETON

create_npc_disguise.jpg


customDisguiseData

Legt die Daten für eine benutzerdefinierte LibsDisguises-Verkleidung fest.

SchlüsselWerteStandard
customDisguiseDataLibsDisguises-Formatnone
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}

create_npc_custom_disguise.jpg


customModel

Legt das benutzerdefinierte ModelEngine-Modell fest, das der NPC verwenden wird.

SchlüsselWerteStandard
customModelStringnone
Beispiel
customModel: MY_MODEL_ONE

arena

Legt den Dateinamen der Arena fest, für die der NPC ein Menü öffnet (erfordert den ARENA_MASTER interactionType).

SchlüsselWerteStandard
arenaDateinamenone
Beispiel
arena: my_arena.yml

command

Legt den Befehl fest, den der NPC ausführt (erfordert COMMAND interactionType). Befehle werden als Spieler ausgeführt, nicht als Konsole. Füge keinen führenden Schrägstrich (/) hinzu.

SchlüsselWerteStandard
commandStringnone
Beispiel
command: say Schau mich an, ich führe einen Befehl aus, wie cool!

create_npc_command.jpg


spawnLocation

Legt den Spawn-Ort der NPCs fest. Du solltest dies über den Befehl /em spawnnpc <npc-dateiname.yml> festlegen.

SchlüsselWerteStandard
spawnLocationStringnone
Beispiel
spawnLocation: my_world,10,50,10,0,0

spawnLocations

Legt die Spawn-Orte der NPCs fest. Du solltest dies über den Befehl /em spawnnpc <npc-dateiname.yml> festlegen.

SchlüsselWerteStandard
spawnLocationsString-Listenone
Beispiel
spawnLocations:
- my_world,10,50,10,0,0
- my_world,-10,50,-10,0,0

instanced

Legt fest, ob der NPC instanziert sein soll (für die Verwendung in instanzierten Dungeons). Wenn auf true gesetzt, wird der NPC automatisch für jede Dungeon-Instanz geklont, wobei jeder Klon in der entsprechenden Instanzwelt existiert.

SchlüsselWerteStandard
instancedBooleanfalse
Beispiel
instanced: false

syncMovement

Legt fest, ob die Bewegung des NPCs synchronisiert wird. Wird verwendet, um zu steuern, ob die Positionsaktualisierungen des NPCs synchronisiert werden.

SchlüsselWerteStandard
syncMovementBooleantrue
Beispiel
syncMovement: true

NPC-Konfigurationsbeispiel
isEnabled: true
name: "&cRoter Rubin"
role: "&a<Generischer NPC>"
profession: NITWIT
greetings:
- Hallo!
- Hey!
dialog:
- Tolles Gespräch!
- Freut mich, mit dir zu reden!
farewell:
- Tschüss!
- Bis später!
canTalk: true
activationRadius: 4
interactionType: CHAT
timeout: 0
questFileName:
- my_quest.yml #NPC interactionType muss auf CUSTOM_QUEST_GIVER gesetzt sein
disguise: SKELETON
customDisguiseData: #wird verwendet, wenn eine benutzerdefinierte LibsDisguise gesetzt wird
customModel: MODEL_ONE
arena: my_arena.yml #NPC interactionType muss auf ARENA_MASTER gesetzt sein
command: /say Hallo Welt! #NPC interactionType muss auf COMMAND gesetzt sein
spawnLocation: my_world,584,55,127,90,10 #denke daran, dass NPCs Pitch und Yaw verwenden, um festzulegen, wohin sie schauen. Dies wird auch automatisch gesetzt, wenn der Befehl /em spawnnpc <npc-dateiname.yml> ausgeführt wird, also stelle sicher, dass du in die gewünschte Richtung des NPCs schaust, wenn du den Befehl ausführst.

create_npc_npc.jpg


Spezial [1]

Hier ist die Liste der gültigen NPC-Interaktionstypen:

TypBeschreibung
GUILD_GREETERÖffnet das Waffenfähigkeits-Bonus-Auswahlmenü
CHATRechtsklick durchläuft den dialog
CUSTOM_SHOPÖffnet das benutzerdefinierte Shop-Menü
PROCEDURALLY_GENERATED_SHOPÖffnet den prozedural generierten Shop
BARÖffnet das Bar-Menü
ARENATut nichts. Verwende stattdessen ARENA_MASTER.
QUEST_GIVERÖffnet das Menü für prozedural generierte Quests
CUSTOM_QUEST_GIVERÖffnet das Quest-Menü für ein bestimmtes Quest-Set in questFileName
NONEKeine Interaktionen
SELLÖffnet das Verkaufsmenü
TELEPORT_BACKTeleportiert Spieler zum letzten Nicht-EliteMobs-Welt-Standort
SCRAPPERÖffnet das Schrott-Menü
REPAIRMANÖffnet das Reparatur-Menü
ENCHANTERÖffnet das Verzauberungs-Menü
REFINERVERALTET - Funktion entfernt, nicht verwenden
SMELTERVERALTET - Funktion entfernt, nicht verwenden
ENHANCERVERALTET - Funktion entfernt, nicht verwenden
UNBINDERÖffnet das Entbinden-Menü
ARENA_MASTERÖffnet das Arena-Menü für die in arenaFilename gesetzte Arena
COMMANDFührt den in command gesetzten Befehl aus
SCROLL_APPLIERWendet Elite-Gegenstandsschriftrollen auf Gegenstände an
ARROW_SHOPÖffnet den Pfeil-Shop
GAMBLING_BLACKJACKÖffnet das Blackjack-Glücksspiel
GAMBLING_COINFLIPÖffnet das Münzwurf-Glücksspiel
GAMBLING_SLOTSÖffnet das Spielautomaten-Glücksspiel
GAMBLING_HIGHERLOWERÖffnet das Höher/Niedriger-Glücksspiel

Für weitere Informationen darüber, was der 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-Ort.
  • Rollenanzeige: Der Rollentext wird auf einem unsichtbaren Rüstungsständer über dem NPC in fester Höhe angezeigt.
  • Dialog-Cooldown: NPCs warten 3 Sekunden zwischen Sprachereignissen, um überlappende Nachrichten zu vermeiden.
  • Chunk-Lebenszyklus: NPCs despawnen, wenn ihr Chunk entladen wird, und respawnen, wenn er wieder geladen wird.