Upload file readme.md via GUI
This commit is contained in:
334
README.md
334
README.md
@@ -1,18 +1,41 @@
|
||||
## 🌐 Mehrsprachigkeit & Texte
|
||||
|
||||
Alle Nachrichten, Hilfetexte und Fehler werden zentral über die Datei `lang.yml` im Ordner `src/main/resources` verwaltet. Dort kannst du für jede Sprache (z.B. Deutsch und Englisch) die Texte pflegen und beliebig erweitern.
|
||||
|
||||
**Beispiel für lang.yml:**
|
||||
|
||||
```yaml
|
||||
welcome:
|
||||
de: "Willkommen auf dem Server!"
|
||||
en: "Welcome to the server!"
|
||||
no_permission:
|
||||
de: "§cKeine Berechtigung."
|
||||
en: "§cNo permission."
|
||||
```
|
||||
|
||||
**Sprache umstellen:**
|
||||
Im Code kann die Sprache mit `LangManager.setLanguage("en")` gewechselt werden. Standard ist Deutsch (`de`).
|
||||
|
||||
**Texte ingame nutzen:**
|
||||
Alle Texte werden im Plugin mit `LangManager.get("key")` abgerufen und sind direkt ingame sichtbar. Änderungen in der lang.yml wirken nach einem Reload sofort.
|
||||
|
||||
---
|
||||
# NexusLobby
|
||||
|
||||
<p align="center">
|
||||
<img src="https://m-viper.de/img/NexusLobby.png" width="500" alt="NexusLobby">
|
||||
</p>
|
||||
|
||||
Ein umfassendes Lobby-Plugin für Minecraft Server (Paper/Spigot 1.21+) mit modularem Aufbau, High-End NPC-System, umfangreichen Sicherheitsfunktionen und voller Konfigurierbarkeit.
|
||||
Ein umfassendes, modulares Lobby-Plugin für Minecraft Server (Paper/Spigot 1.21+) mit High-End NPC-System, umfangreichen Sicherheitsfunktionen, Soccer-Modul, Parkour-System und voller Konfigurierbarkeit.
|
||||
|
||||

|
||||

|
||||

|
||||

|
||||
|
||||
---
|
||||
|
||||
## Lizenz und Nutzungsbedingungen
|
||||
## 🎯 Lizenz und Nutzungsbedingungen
|
||||
|
||||
**ALLE RECHTE VORBEHALTEN**
|
||||
|
||||
@@ -28,68 +51,222 @@ Bei Verstoß gegen diese Bedingungen behalten wir uns rechtliche Schritte vor.
|
||||
|
||||
---
|
||||
|
||||
## Features
|
||||
## ✨ Features
|
||||
|
||||
### 🤖 High-End NPC & ArmorStand System
|
||||
- **Conversation Manager** - Komplexe Dialoge zwischen NPCs mit Sprechblasen und Sound-Effekten.
|
||||
- **Dynamic KI** - NPCs reagieren auf Tageszeit (Fackel nachts) und ziehen bei Annäherung von Spielern das Schwert.
|
||||
- **LookAt-Logik** - NPCs verfolgen flüssig die Kopfbewegungen von Spielern in der Nähe.
|
||||
- **Command Binding** - Binde Spieler-, Konsolen- oder Bungee-Befehle an NPC-Slots (0-9).
|
||||
- **Status-Backup** - Automatisches Speichern von NPC-Namen via PersistentDataContainer & Tags.
|
||||
- **Conversation Manager** - Komplexe Dialoge zwischen NPCs mit Sprechblasen und Sound-Effekten
|
||||
- **Dynamic KI** - NPCs reagieren auf Tageszeit (Fackel nachts) und ziehen bei Annäherung von Spielern das Schwert
|
||||
- **LookAt-Logik** - NPCs verfolgen flüssig die Kopfbewegungen von Spielern in der Nähe
|
||||
- **Command Binding** - Binde Spieler-, Konsolen- oder Bungee-Befehle an NPC-Slots (0-9)
|
||||
- **Status-Backup** - Automatisches Speichern von NPC-Namen via PersistentDataContainer & Tags
|
||||
|
||||
### ⚽ Soccer/Fußball-System
|
||||
- **Interaktiver Soccer-Ball** - Physics-basierter Ball mit realistischer Physik
|
||||
- **Dribbling** - Ball folgt Spielern automatisch in der Nähe
|
||||
- **Kick-Mechanik** - Schieße den Ball durch Schlagen oder Angriff
|
||||
- **Wall-Bounce** - Realistische Wand-Abpraller mit Sound-Effekten
|
||||
- **Partikel-System** - Geschwindigkeits-abhängige Partikel (SONIC_BOOM, CRIT, SMOKE)
|
||||
- **Auto-Respawn** - Automatischer Respawn bei Inaktivität oder Void-Fall
|
||||
- **Anti-Duplikat-System** - Verhindert mehrfache Ball-Instanzen
|
||||
|
||||
### 🏃 Parkour-System
|
||||
- **Unsichtbare Checkpoints** - Partikel-basierte Checkpoint-Markierungen
|
||||
- **Timer-System** - Präzise Zeitmessung mit ActionBar-Anzeige
|
||||
- **Bestenliste** - Persistente Top-10 Bestzeiten-Speicherung
|
||||
- **NPC-Trainer** - Interaktive NPCs zum Starten des Parkours
|
||||
- **Fail-Safe** - Teleport zum letzten Checkpoint bei Fehler
|
||||
|
||||
### 🌍 Lobby-Management
|
||||
- **Spawn-System** - Automatischer Teleport zum Spawn bei Join/Respawn.
|
||||
- **Portal-System** - BungeeCord-Portale für nahtlose Server-Wechsel.
|
||||
- **Build-Modus** - Schnelles Umschalten zwischen Bau- und Spielmodus.
|
||||
- **Double-Jump** - Konfigurierbarer Doppelsprung mit Cooldown und Partikeln.
|
||||
- **Spawn-System** - Automatischer Teleport zum Spawn bei Join/Respawn
|
||||
- **Portal-System** - BungeeCord-Portale für nahtlose Server-Wechsel mit Partikel-Effekten
|
||||
- **Build-Modus** - Schnelles Umschalten zwischen Bau- und Spielmodus
|
||||
- **Double-Jump** - Konfigurierbarer Doppelsprung mit Cooldown und Partikeln
|
||||
- **Worldborder** - Unsichtbare Lobby-Begrenzung (Circle/Square)
|
||||
- **Intro-Tour** - Cinematic Kamera-Tour für neue Spieler
|
||||
|
||||
### 🛡️ Sicherheit & Protection
|
||||
- **VPN-Blocker** - Blockiert VPN/Proxy-Verbindungen via proxycheck.io API.
|
||||
- **Country-Blocker** - Geo-IP Filter (Whitelist/Blacklist für Länder).
|
||||
- **Maintenance** - Vollständiger Wartungsmodus mit Whitelist-Funktion.
|
||||
- **World-Protection** - Schutz vor Griefing, Hunger, Fallschaden und PvP.
|
||||
- **VPN-Blocker** - Blockiert VPN/Proxy-Verbindungen via proxycheck.io API
|
||||
- **Country-Blocker** - Geo-IP Filter (Whitelist/Blacklist für Länder)
|
||||
- **Maintenance-Modus** - Vollständiger Wartungsmodus mit Whitelist-Funktion
|
||||
- **World-Protection** - Schutz vor Griefing, Hunger, Fallschaden und PvP
|
||||
- **Anti-Grief** - Verhindert Block-Break, Item-Drop und Explosionen
|
||||
- **Security-Module** - Umfassende Sicherheitsprüfungen beim Join
|
||||
|
||||
### 📊 Visuelle Elemente
|
||||
- **Scoreboard & Tablist** - Vollständig animiert mit PlaceholderAPI-Support.
|
||||
- **BossBar & ActionBar** - Rotierende Nachrichten und permanente Status-Anzeigen.
|
||||
- **Hologramme** - Einfache Erstellung von Text-Displays in der Lobby.
|
||||
- **Scoreboard** - Vollständig animiert mit PlaceholderAPI-Support
|
||||
- **Tablist** - Dynamische Header/Footer mit Permissions-Anzeige
|
||||
- **BossBar** - Rotierende Nachrichten mit Farb-Effekten
|
||||
- **ActionBar** - Typewriter-Effekt für permanente Status-Anzeigen
|
||||
- **Hologramme** - Text-Displays mit flexibler Positionierung
|
||||
- **MapArt** - Bild-Generator für Item-Frames aus URLs
|
||||
|
||||
### 🎮 Item-System
|
||||
- **Compass** - Server-Switcher GUI
|
||||
- **Player-Hider** - Sichtbarkeits-Toggle für andere Spieler
|
||||
- **Gadgets** - Konfigurierbares Item-System mit Custom-Slots
|
||||
- **Player-Inspector** - Detaillierte Spieler-Informationen per Click
|
||||
|
||||
---
|
||||
|
||||
## Befehle
|
||||
## 📋 Befehle
|
||||
|
||||
### Haupt-Commands
|
||||
|
||||
| Befehl | Beschreibung | Berechtigung |
|
||||
|--------|--------------|--------------|
|
||||
| `/nexuslobby` | Hauptbefehl (reload, setspawn, silentjoin) | `nexuslobby.admin` |
|
||||
| `/nexuscmd` | NPC Command/Dialog Verwaltung (aliases: `ncmd`, `conv`) | `nexuslobby.armorstand.cmd` |
|
||||
| `/nexustools` | NPC Editor GUI (Rotation, KI, Sichtbarkeit) | `nexuslobby.armorstand.use` |
|
||||
| `/build` | Aktiviert/Deaktiviert den Baumodus | `nexuslobby.build` |
|
||||
| `/maintenance` | Schaltet den Wartungsmodus (on/off) | `nexuslobby.maintenance` |
|
||||
| `/portal` | Verwaltung der Server-Portale | `nexuslobby.portal` |
|
||||
| `/holo` | Erstellt oder löscht Text-Hologramme | `nexuslobby.hologram` |
|
||||
| `/mapart` | Erstellt Bilder aus URLs auf Karten-Rahmen | `nexuslobby.mapart` |
|
||||
| `/nexuslobby reload` | Lädt das Plugin neu | `nexuslobby.admin` |
|
||||
| `/nexuslobby setspawn` | Setzt den Lobby-Spawn | `nexuslobby.admin` |
|
||||
| `/nexuslobby silentjoin <on\|off>` | Versteckter Join/Quit | `nexuslobby.admin` |
|
||||
| `/nexuslobby sb <on\|off\|admin\|spieler>` | Scoreboard-Kontrolle | `nexuslobby.admin` |
|
||||
| `/spawn` | Teleport zum Spawn | `nexuslobby.spawn` |
|
||||
|
||||
### NPC & ArmorStand
|
||||
|
||||
| Befehl | Beschreibung | Berechtigung |
|
||||
|--------|--------------|--------------|
|
||||
| `/nexustools` | NPC Editor GUI (Rotation, KI) | `nexuslobby.armorstand.use` |
|
||||
| `/nexuscmd add <slot> <prio> <type> [cmd]` | Bindet Command an NPC | `nexuslobby.armorstand.cmd` |
|
||||
| `/nexuscmd remove <slot\|all>` | Entfernt Commands | `nexuslobby.armorstand.cmd` |
|
||||
| `/nexuscmd conv select1-4` | Wählt NPCs für Dialog | `nexuslobby.armorstand.cmd` |
|
||||
| `/nexuscmd conv link <id>` | Verknüpft Dialog | `nexuslobby.armorstand.cmd` |
|
||||
| `/nexuscmd say <text>` | NPC-Sprechblase | `nexuslobby.armorstand.cmd` |
|
||||
|
||||
### Parkour
|
||||
|
||||
| Befehl | Beschreibung | Berechtigung |
|
||||
|--------|--------------|--------------|
|
||||
| `/nexuslobby parkour setstart` | Markiert Start-NPC | `nexuslobby.admin` |
|
||||
| `/nexuslobby parkour setcheckpoint <n>` | Setzt Checkpoint | `nexuslobby.admin` |
|
||||
| `/nexuslobby parkour setfinish` | Setzt Ziel | `nexuslobby.admin` |
|
||||
| `/nexuslobby parkour reset` | Löscht eigene Zeit | `nexuslobby.admin` |
|
||||
| `/nexuslobby parkour clear` | Löscht alle Zeiten | `nexuslobby.admin` |
|
||||
| `/setstart` | Alias für setstart | `nexuslobby.admin` |
|
||||
| `/setcheckpoint` | Alias für setcheckpoint | `nexuslobby.admin` |
|
||||
| `/setfinish` | Alias für setfinish | `nexuslobby.admin` |
|
||||
|
||||
### Soccer/Fußball
|
||||
|
||||
| Befehl | Beschreibung | Berechtigung |
|
||||
|--------|--------------|--------------|
|
||||
| `/nexuslobby ball setspawn` | Setzt Ball-Spawn | `nexuslobby.admin` |
|
||||
| `/nexuslobby ball respawn` | Spawnt Ball neu | `nexuslobby.admin` |
|
||||
| `/nexuslobby ball remove` | Entfernt Ball | `nexuslobby.admin` |
|
||||
|
||||
### Portal & Server
|
||||
|
||||
| Befehl | Beschreibung | Berechtigung |
|
||||
|--------|--------------|--------------|
|
||||
| `/portal create <name> <type>` | Erstellt Portal | `nexuslobby.portal` |
|
||||
| `/portal delete <name>` | Löscht Portal | `nexuslobby.portal` |
|
||||
| `/portal list` | Zeigt alle Portale | `nexuslobby.portal` |
|
||||
| `/giveportalwand` | Portal-Werkzeug | `nexuslobby.portal.give` |
|
||||
| `/serverswitcher` | Öffnet Server-GUI | `nexuslobby.serverswitcher` |
|
||||
|
||||
### Sonstiges
|
||||
|
||||
| Befehl | Beschreibung | Berechtigung |
|
||||
|--------|--------------|--------------|
|
||||
| `/build` | Build-Modus toggle | `nexuslobby.build` |
|
||||
| `/maintenance <on\|off>` | Wartungsmodus | `nexuslobby.maintenance` |
|
||||
| `/settings` | Lobby-Einstellungen (Gamerules) | `nexuslobby.admin` |
|
||||
| `/holo create <id> [text]` | Erstellt Hologramm | `nexuslobby.hologram` |
|
||||
| `/holo delete <id>` | Löscht Hologramm | `nexuslobby.hologram` |
|
||||
| `/mapart <URL> <BxH>` | Erstellt MapArt | `nexuslobby.mapart` |
|
||||
| `/intro <add\|clear\|start>` | Intro-Tour-Verwaltung | `nexuslobby.admin` |
|
||||
| `/border <circle\|square\|disable>` | Worldborder-Setup | `nexuslobby.admin` |
|
||||
|
||||
---
|
||||
|
||||
## Konfiguration (Auszug)
|
||||
## ⚙️ Konfiguration
|
||||
|
||||
### config.yml (Auszug)
|
||||
|
||||
```yaml
|
||||
# Spawn-Einstellungen
|
||||
spawn:
|
||||
world: "world"
|
||||
x: 0.5
|
||||
y: 64.0
|
||||
z: 0.5
|
||||
yaw: 0.0
|
||||
pitch: 0.0
|
||||
|
||||
# Lobby-Einstellungen
|
||||
lobby:
|
||||
allow-fly: false
|
||||
pvp-enabled: false
|
||||
build-enabled: false
|
||||
default-gamemode: Adventure
|
||||
clear-inventory-on-join: true
|
||||
|
||||
# Server-Mapping (für Status-Check)
|
||||
servers:
|
||||
survival:
|
||||
ip: "127.0.0.1"
|
||||
port: 25566
|
||||
skyblock:
|
||||
ip: "127.0.0.1"
|
||||
port: 25567
|
||||
|
||||
# Ball/Soccer-Einstellungen
|
||||
ball:
|
||||
respawn_delay: 60 # Sekunden bis Auto-Respawn
|
||||
|
||||
# Worldborder
|
||||
worldborder:
|
||||
enabled: true
|
||||
type: "SQUARE" # SQUARE oder CIRCLE
|
||||
radius: 50.0
|
||||
```
|
||||
|
||||
### conversations.yml
|
||||
|
||||
```yaml
|
||||
conversations:
|
||||
willkommen:
|
||||
dialogue:
|
||||
- "&eWächter: &7Willkommen auf dem Server!"
|
||||
- "&aBürger: &7Schön, dass du da bist!"
|
||||
- "&eWächter: &7Viel Spaß beim Erkunden!"
|
||||
|
||||
quest_dialog:
|
||||
dialogue:
|
||||
- "&6Quest-Geber: &7Hast du meine Quest erledigt?"
|
||||
- "&aHeld: &7Ja, ich habe alle Monster besiegt!"
|
||||
|
||||
links:
|
||||
UUID-NPC1:
|
||||
partner: UUID-NPC2
|
||||
# UUID des ersten NPCs
|
||||
"550e8400-e29b-41d4-a716-446655440000":
|
||||
partner: "550e8400-e29b-41d4-a716-446655440001" # UUID des zweiten NPCs
|
||||
dialog: willkommen
|
||||
automated: true # Startet automatisch
|
||||
```
|
||||
|
||||
### visuals.yml (Auszug)
|
||||
|
||||
```yaml
|
||||
# ActionBar-Nachrichten
|
||||
actionbar:
|
||||
enabled: true
|
||||
speed: 3
|
||||
messages:
|
||||
- "&6&lWillkommen &8» &eauf unserem Server!"
|
||||
- "&b&lViel Spaß &8» &7in der Lobby!"
|
||||
|
||||
# BossBar
|
||||
bossbar:
|
||||
enabled: true
|
||||
interval: 40
|
||||
messages:
|
||||
- text: "&6&lNexusLobby &8» &eVersion 1.1.0"
|
||||
color: "YELLOW"
|
||||
```
|
||||
|
||||
---
|
||||
|
||||
## Berechtigungen
|
||||
## 🔐 Berechtigungen
|
||||
|
||||
### Admin-Berechtigungen
|
||||
|
||||
| Berechtigung | Beschreibung |
|
||||
|--------------|--------------|
|
||||
@@ -98,6 +275,18 @@ links:
|
||||
| `nexuslobby.armorstand.use` | Zugriff auf die ArmorStand-Editor GUI |
|
||||
| `nexuslobby.build` | Berechtigung für den Baumodus |
|
||||
| `nexuslobby.portal` | Portale erstellen und löschen |
|
||||
| `nexuslobby.portal.give` | Portal-Werkzeug erhalten |
|
||||
| `nexuslobby.hologram` | Hologramme verwalten |
|
||||
| `nexuslobby.mapart` | MapArt erstellen |
|
||||
| `nexuslobby.maintenance` | Wartungsmodus togglen |
|
||||
|
||||
### Spieler-Berechtigungen
|
||||
|
||||
| Berechtigung | Beschreibung |
|
||||
|--------------|--------------|
|
||||
| `nexuslobby.spawn` | Spawn-Command nutzen |
|
||||
| `nexuslobby.serverswitcher` | Server-Switcher GUI öffnen |
|
||||
| `nexuslobby.scoreboard.admin` | Admin-Scoreboard sehen |
|
||||
|
||||
### Bypass-Berechtigungen
|
||||
|
||||
@@ -105,16 +294,89 @@ links:
|
||||
|--------------|--------------|
|
||||
| `nexuslobby.bypass.maintenance` | Server trotz Wartungsmodus betreten |
|
||||
| `nexuslobby.bypass.vpn` | VPN-Check überspringen |
|
||||
| `nexuslobby.bypass.country` | Country-Check überspringen |
|
||||
|
||||
---
|
||||
|
||||
## Support & Kontakt
|
||||
## 🔧 Technische Details
|
||||
|
||||
- **Wiki:** Ausführliche Dokumentation der Module im [Wiki](../../../wiki).
|
||||
- **Bug-Reports:** Erstelle ein [Issue](../../../issues) bei technischen Problemen.
|
||||
### Systemanforderungen
|
||||
- **Minecraft**: Paper/Spigot 1.21+ (Spigot-kompatibel, Paper empfohlen)
|
||||
- **Java**: Java 21 oder höher
|
||||
- **Dependencies**: LuckPerms, PlaceholderAPI (optional)
|
||||
|
||||
### Verwendete Technologien
|
||||
- **Build-Tool**: Maven 3.9+
|
||||
- **JSON-Library**: Gson 2.10.1 (gegenüber json-simple 1.1.1 aktualisiert)
|
||||
- **BungeeCord API**: Für Server-Wechsel und Messaging
|
||||
- **PlaceholderAPI**: Für dynamische Platzhalter
|
||||
|
||||
### Code-Qualität
|
||||
- ✅ Moderne Java 21 Features (Switch-Expressions, Pattern Matching)
|
||||
- ✅ Proper Error-Handling (Logger statt printStackTrace)
|
||||
- ✅ Memory-Management (Tasks & Listeners werden sauber disposed)
|
||||
- ✅ Config-Validierung mit Default-Werten
|
||||
- ✅ Optimiertes JSON-Parsing mit Gson
|
||||
- ✅ Spigot-kompatible BungeeCord Chat API
|
||||
|
||||
### Performance-Optimierungen
|
||||
- **Async-Processing** für API-Calls (Update-Check, VPN-Check)
|
||||
- **Caching** für Spieler-Daten und Config-Werte
|
||||
- **Optimierte Entity-Queries** (nur relevante Welten)
|
||||
- **Effiziente Scheduler-Nutzung** (Tasks werden gecancelt)
|
||||
|
||||
---
|
||||
|
||||
**Copyright (c) 2026 - M_Viper - Alle Rechte vorbehalten**
|
||||
## 📦 Installation
|
||||
|
||||
1. **Download** der neuesten `NexusLobby-1.1.0.jar` aus den [Releases](../../releases)
|
||||
2. **Upload** der JAR-Datei in den `/plugins/` Ordner
|
||||
3. **Server-Neustart** durchführen
|
||||
4. **Konfiguration** anpassen (`config.yml`, `visuals.yml`, etc.)
|
||||
5. **Permissions** mit LuckPerms oder einem anderen Permissions-Plugin setzen
|
||||
6. **(Optional)** PlaceholderAPI installieren für erweiterte Platzhalter
|
||||
|
||||
---
|
||||
|
||||
## 🐛 Bekannte Issues & Lösungen
|
||||
|
||||
### Ball spawnt mehrfach
|
||||
- **Lösung**: Nutze `/nexuslobby ball remove` gefolgt von `/nexuslobby ball setspawn`
|
||||
- Das Anti-Duplikat-System sollte dies automatisch verhindern
|
||||
|
||||
### NPCs schauen nicht zu Spielern
|
||||
- **Lösung**: Stelle sicher, dass der NPC mit `/nexustools` das LookAt-Feature aktiviert hat
|
||||
- Prüfe, ob `ArmorStandLookAtModule` in den Logs geladen wird
|
||||
|
||||
### Server-Checker zeigt falsche Status
|
||||
- **Lösung**: Überprüfe die IP/Port-Einstellungen in `config.yml` unter `servers:`
|
||||
- Stelle sicher, dass die Server erreichbar sind (Firewall, Ports)
|
||||
|
||||
---
|
||||
|
||||
## 📚 Support & Dokumentation
|
||||
|
||||
- **Wiki**: Ausführliche Dokumentation im [Wiki](../../wiki)
|
||||
- **Bug-Reports**: Erstelle ein [Issue](../../issues) bei technischen Problemen
|
||||
- **Feature-Requests**: Vorschläge über [Issues](../../issues) mit Label "enhancement"
|
||||
|
||||
---
|
||||
|
||||
## 📝 Changelog
|
||||
|
||||
### Version 1.1.0 (Februar 2026)
|
||||
- ✨ Soccer/Fußball-System mit realistischer Physik
|
||||
- ✨ Parkour-System mit Bestenliste und Checkpoints
|
||||
- ✨ Player-Inspector Modul
|
||||
- ✨ Config-Validierung mit Auto-Defaults
|
||||
- 🔧 JSON-Library auf Gson 2.10.1 aktualisiert
|
||||
- 🔧 Alle printStackTrace() durch Logger ersetzt
|
||||
- 🔧 Memory-Management verbessert (Tasks & Listeners)
|
||||
- 🔧 UpdateChecker mit proper JSON-Parsing
|
||||
- 🐛 Diverse Bug-Fixes und Performance-Optimierungen
|
||||
|
||||
---
|
||||
|
||||
**Copyright © 2026 - M_Viper - Alle Rechte vorbehalten**
|
||||
|
||||
Die unbefugte Vervielfältigung, Verbreitung oder Weitergabe dieses Plugins ist strafbar und wird rechtlich verfolgt.
|
||||
Reference in New Issue
Block a user