ArmorStand & NPC System
Ein hochoptimiertes Modul für interaktive NPCs, die nicht nur dekorativ sind, sondern intelligent auf Spieler, die Ingame-Zeit und komplexe Dialogstrukturen reagieren. Das System kombiniert flüssige Animationen mit einem persistenten Datenmanagement.
📊 Befehlsübersicht
| Befehl | Beschreibung | Berechtigung |
|---|---|---|
/nexustools |
Öffnet die Editor-GUI für den fokussierten NPC | nexuslobby.armorstand.use |
/nexuscmd name <Text> |
Setzt einen farbigen Anzeigenamen & erstellt ein Status-Backup | nexuslobby.armorstand.cmd |
/nexuscmd lookat |
Schaltet den intelligenten Blickkontakt (KI) zum Spieler um | nexuslobby.armorstand.lookat |
/nexuscmd add <s1> <s2> <Typ> <Cmd> |
Bindet Befehle an Slots (0-9). Typen: player, console, bungee | nexuslobby.armorstand.cmd |
/nexuscmd conv |
Öffnet das Menü für das Dialog-System | nexuslobby.armorstand.cmd |
/nexuscmd clearbubbles |
Entfernt hängengebliebene Sprechblasen im Umkreis | nexuslobby.armorstand.cmd |
💬 Conversation System (Dialog-Logik)
Das ConversationManager-Modul ermöglicht es, zwei NPCs miteinander sprechen zu lassen. Die Dialoge werden visuell über Sprechblasen (Marker-ArmorStands) dargestellt und durch Sounds untermalt.
Workflow zum Erstellen eines Dialogs
- Selektion: Markiere NPC 1 mit
/nexuscmd conv select1und NPC 2 mit/nexuscmd conv select2. - Verknüpfung: Nutze
/nexuscmd conv link <Dialog-ID>, um die NPCs permanent in derconversations.ymlzu verbinden. - Testen: Starte den Dialog manuell mit
/nexuscmd conv start <Dialog-ID>. - Entkoppeln: Mit
/nexuscmd conv unlinkentfernst du die Verknüpfung und löschst den Eintrag aus der Datenbank.
Features
- 🔊 Audio-Visuelles Feedback: Jeder Satz wird durch einen dezenten Sound-Effekt und eine schwebende Text-Bubble (3 Sek. Sichtbarkeit) begleitet.
- 🤖 Automatisierung: Das System prüft periodisch, ob Spieler in der Nähe (15 Blöcke) sind, und startet Dialoge automatisch, um die Lobby lebendig zu gestalten.
🌓 Dynamic ArmorStands (KI-Modul)
Das DynamicArmorStandModule sorgt für eine immersive Atmosphäre durch automatisierte Verhaltensmuster:
-
⚔️ Wachdienst-Modus:
- Erkennt Spieler im Umkreis von 2 Blöcken.
- Der NPC zieht flüssig sein Schwert und geht in eine Abwehr-Pose.
- Sobald der Spieler den Bereich verlässt, wird das Schwert weggesteckt.
-
🌙 Nacht-Logik (13.000 - 23.000 Ticks):
- Rüstet automatisch eine Fackel in der Off-Hand aus.
- ✨ Partikel-Präzision: Nutzt mathematische Vektorberechnung, um Partikel exakt an der Fackelspitze zu emittieren, unabhängig von der Rotation des NPCs.
-
👀 LookAt-Feature:
- NPCs verfolgen den Kopf des Spielers in Echtzeit, sofern der Tag
as_lookataktiv ist.
- NPCs verfolgen den Kopf des Spielers in Echtzeit, sofern der Tag
-
💾 Persistenz: Dank
PersistentDataContainerbleiben alle KI-Einstellungen auch nach einem Server-Restart oder Chunk-Reload erhalten.
📜 Command & Status Binding
Über die nexuscmd-Schnittstelle können NPCs als komplexe Interaktionspunkte genutzt werden.
Bungee-Status-Integration
Du kannst NPCs direkt mit deinem BungeeCord-Netzwerk koppeln:
/nexuscmd add 1 0 bungee Citybuild
Der NPC zeigt automatisch den Status des Servers "Citybuild" an (Online/Offline/Spielerzahl), sofern dies im ServerStatusModule konfiguriert ist.
Status-Backups (asname)
Um zu verhindern, dass Namen durch andere Plugins oder Server-Crashes verloren gehen, speichert das System den Namen als Scoreboard-Tag (asname:NAME). Bei jedem Chunk-Load wird die Korrektheit des Namens validiert.
Beispiele
/nexuscmd add 0 0 player spawn
Teleportiert den Spieler zurück zum Startpunkt.
/nexuscmd add 1 0 console give {player} diamond 1
Gibt dem Spieler einen Diamanten (Server-Befehl).
/nexuscmd name §6§lTorwächter
Setzt einen goldenen Namen mit Backup.
🎨 ArmorStand Editor (/nexustools)
Verwendung
- Schaue den gewünschten ArmorStand direkt an (max. 8 Blöcke Distanz dank RayTrace-Technologie).
- Führe
/nexustoolsaus, um das Menü zu öffnen.
| Funktion | Icon | Effekt |
|---|---|---|
| Kopf/Körper | PLAYER_HEAD |
Stufenlose Rotation (1° Schritte via Shift). |
| Arme | STICK |
Schaltet Arme an/aus (Nötig für Items). |
| Sichtbarkeit | GLASS_PANE |
Macht den Stand unsichtbar (Perfekt für reine Hologramm-NPCs). |
| Dynamic KI | NETHER_STAR |
Toggles Schwert-Abwehr & Nacht-Logik. |
| Fackel-Sterne | GOLD_NUGGET |
Schaltet die Partikel-Effekte der Fackel ein. |
| Gravitation | FEATHER |
Schaltet die Schwerkraft aus (Schwebe-NPCs). |
| Baseplate | STONE_SLAB |
Entfernt die Steinplatte am Boden. |
Tipp: Halte Shift (Schleichen) während der Rotation gedrückt, um das Feintuning (1°-Schritte) zu nutzen.
⚙️ Dateistruktur
- armorstands.yml: Speichert Positionen und grundlegende KI-Einstellungen.
- conversations.yml: Enthält alle Dialogtexte und die Verknüpfungen (links) zwischen den NPC-UUIDs.
Beispiel: Dialog-Konfiguration
# Beispiel für einen Dialog in der conversations.yml
conversations:
begruessung_lobby:
dialogue:
- "&eWächter: &7Willkommen im Nexus, &f{player}&7!"
- "&aBürger: &7Schön dich wiederzusehen!"
Beispiel: Globale Einstellungen
# Globale Einstellungen in armorstands.yml
settings:
update-interval-ticks: 5 # KI-Prüfungsrate (0.25 Sek für flüssige Animation)
particle-type: "WAX_OFF"
detection-range: 2.0
gui:
title: "§0§lNPC-EDITOR"
items:
dynamic_on: "§2§lKI AKTIVIERT"
dynamic_off: "§c§lKI DEAKTIVIERT"
stars_enabled: "§6Sternen-Effekt: §aAN"
💡 Profi-Tipp: Die "Lebendige Lobby"
Platziere zwei NPCs am Spawn-Eingang. Verknüpfe sie mit einer Dialog-ID "begruessung". Aktiviere bei beiden /nexuscmd lookat.
Ergebnis: Wenn ein Spieler spawnt, drehen beide NPCs den Kopf zum Spieler, begrüßen ihn per Sprechblase und führen einen kurzen Smalltalk aus, bevor sie wieder in ihre Ausgangsposition zurückkehren.
Bonus: Der "Viper-Torwächter"
Um einen optimalen Eindruck in der weißen Lobby zu hinterlassen:
- Platziere den Stand, gib ihm eine dunkle Rüstung (Kontrast!).
- Nutze
/nexustools, aktiviere Arme und die Dynamic KI. - Setze einen Befehl mit
/nexuscmd add 0 0 player hub, der die Spieler zum Haupt-Spielmodus führt. - Ergebnis: Ein NPC, der nachts den Weg leuchtet, bei Annäherung salutiert/das Schwert zieht und per Klick als Wegweiser dient.
🔧 Entwickler-Hinweis
Das System nutzt RayTraceResult für eine präzise Auswahl von Entities durch Wände oder andere Hindernisse hindurch (Reichweite 8 Blöcke). Dies verhindert Fehlkonfigurationen von eng beieinander stehenden NPCs.
NexusLobby Wiki
Home
Erste Schritte
Konfiguration
Module
- Portal-System
- Module-Holograms
- Module-Gadgets-and-Pets
- ArmorStands
- MapArt-System
- Cinematic-Intro
- Parkour-Modul
- Sicherheit
Technik & Extras
Version: 1.0.6
Autor: M_Viper