🎼 Folgende Minigames sind jetzt auf unserem Server online (TNTRun, Fußball, Painball, Bomberman) wir wĂŒnschen euch viel spaß beim Spielen 🎼
📖 NexusLobby

ArmorStands

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

  1. Selektion: Markiere NPC 1 mit /nexuscmd conv select1 und NPC 2 mit /nexuscmd conv select2.
  2. VerknĂŒpfung: Nutze /nexuscmd conv link , um die NPCs permanent in der conversations.yml zu verbinden.
  3. Testen: Starte den Dialog manuell mit /nexuscmd conv start .
  4. Entkoppeln: Mit /nexuscmd conv unlink entfernst 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

  1. Schaue den gewĂŒnschten ArmorStand direkt an (max. 8 Blöcke Distanz dank RayTrace-Technologie).
  2. FĂŒhre /nexustools aus, 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“
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:

  1. Platziere den Stand, gib ihm eine dunkle RĂŒstung (Kontrast!).
  2. Nutze /nexustools, aktiviere Arme und die Dynamic KI.
  3. Setze einen Befehl mit /nexuscmd add 0 0 player hub, der die Spieler zum Haupt-Spielmodus fĂŒhrt.
  4. 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.