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.
sollte mal ein Text Hologramm hängen bleiben durch Serverabsturz oder Ähnliches kann man mit diesem Befehl einen Radikalen Cut machen. Stelle dich nah an die Betroffenen Armorstands und gib diesen Befehl ein /minecraft:kill @e[type=armor_stand,distance=..5,limit=4]
🌓 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
- Module-Soccer
- Sicherheit
Technik & Extras
Version: 1.1.0
Autor: M_Viper