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 | 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 | 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, um die NPCs permanent in derconversations.ymlzu verbinden. - Testen: Starte den Dialog manuell mit
/nexuscmd conv start. - 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=armorstand,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 aslookat aktiv ist.
đŸ Persistenz: Dank PersistentDataContainer bleiben 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:
„`bash
/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
„`bash
/nexuscmd add 0 0 player spawn
„`
Teleportiert den Spieler zurĂŒck zum Startpunkt.
„`bash
/nexuscmd add 1 0 console give {player} diamond 1
„`
Gibt dem Spieler einen Diamanten (Server-Befehl).
„`bash
/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 | PLAYERHEAD | Stufenlose Rotation (1° Schritte via Shift). |
| Arme | STICK | Schaltet Arme an/aus (Nötig fĂŒr Items). |
| Sichtbarkeit | GLASSPANE | Macht den Stand unsichtbar (Perfekt fĂŒr reine Hologramm-NPCs). |
| Dynamic KI | NETHERSTAR | Toggles Schwert-Abwehr & Nacht-Logik. |
| Fackel-Sterne | GOLDNUGGET | Schaltet die Partikel-Effekte der Fackel ein. |
| Gravitation | FEATHER | Schaltet die Schwerkraft aus (Schwebe-NPCs). |
| Baseplate | STONESLAB | 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
„`yaml
Beispiel fĂŒr einen Dialog in der conversations.yml
conversations:
begruessunglobby:
dialogue:
- „&eWĂ€chter: &7Willkommen im Nexus, &f{player}&7!“
- „&aBĂŒrger: &7Schön dich wiederzusehen!“
„`
Beispiel: Globale Einstellungen
„`yaml
Globale Einstellungen in armorstands.yml
settings:
update-interval-ticks: 5 # KI-PrĂŒfungsrate (0.25 Sek fĂŒr flĂŒssige Animation)
particle-type: „WAXOFF“
detection-range: 2.0
gui:
title: „§0§lNPC-EDITOR“
items:
dynamicon: „§2§lKI AKTIVIERT“
dynamicoff: „§c§lKI DEAKTIVIERT“
starsenabled: „§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.
