# ⚡ Laserteg ### Realistisches LaserTag-Minigame Plugin für Minecraft **Version:** 3.0.0  |  **Minecraft:** Spigot / Paper 1.20.1  |  **Sprache:** Deutsch --- ## 📋 Inhaltsverzeichnis 1. [Über das Plugin](#über-das-plugin) 2. [Installation](#installation) 3. [Erste Schritte – Arena einrichten](#erste-schritte--arena-einrichten) 4. [Join-Schilder einrichten](#join-schilder-einrichten) 5. [Spielmechanik erklärt](#spielmechanik-erklärt) 6. [Waffen](#waffen) 7. [Punkte-System](#punkte-system) 8. [Anti-Camp System](#anti-camp-system) 9. [Mod-Schutz (Minimap)](#mod-schutz-minimap) 10. [Scoreboard](#scoreboard) 11. [Spieler-Befehle](#spieler-befehle) 12. [Admin-Befehle](#admin-befehle) 13. [Berechtigungen](#berechtigungen) 14. [Vollständige config.yml](#vollständige-configyml) 15. [Nachrichten anpassen](#nachrichten-anpassen) 16. [Gespeicherte Dateien](#gespeicherte-dateien) 17. [Häufige Fragen & Probleme](#häufige-fragen--probleme) --- ## Über das Plugin Lasertec ist ein **realistisches LaserTag-Minigame** das den echten LaserTag-Sport nachbildet: - Spieler kämpfen in **4 Teams** (Rot, Blau, Grün, Gelb) gegeneinander - Wer getroffen wird, ist **gesperrt** und muss zur eigenen Basis zurücklaufen - An der **Basis regeneriert** man sich und kann dann wieder schießen - Gegnerische **Basen können beschossen** werden um Extra-Punkte zu erhalten - Das Team mit den meisten Punkten nach Ablauf der Zeit gewinnt Das Plugin unterstützt **mehrere Arenen gleichzeitig** — jede Arena läuft als vollständig unabhängige Instanz. --- ## Installation 1. Lade die Datei `Lasertec-3.0.0.jar` herunter 2. Kopiere sie in den Ordner `plugins/` deines Servers 3. Starte den Server (oder gib `/reload confirm` ein) 4. Das Plugin erstellt automatisch den Ordner `plugins/Lasertec/` mit allen Konfigurationsdateien 5. Richte nun deine erste Arena ein (siehe nächster Abschnitt) > **Voraussetzung:** Spigot oder Paper 1.20.1. Keine weiteren Plugins notwendig. --- ## Erste Schritte – Arena einrichten Eine Arena braucht für **jedes der vier Teams** mindestens einen Spawn-Punkt und einen Basis-Block. Folge dieser Reihenfolge: ### Schritt 1 — Arena erstellen ``` /ltadmin create MeineArena ``` Ersetze `MeineArena` mit dem gewünschten Namen (keine Leerzeichen). Das Plugin bestätigt die Erstellung und zeigt dir die nächsten Schritte an. --- ### Schritt 2 — Spawn-Punkte setzen Stelle dich an die gewünschte Startposition und tippe den Befehl. Du kannst pro Team **mehrere Spawn-Punkte** setzen — beim Respawn wird zufällig einer gewählt. ``` /ltadmin setspawn MeineArena red /ltadmin setspawn MeineArena blue /ltadmin setspawn MeineArena green /ltadmin setspawn MeineArena yellow ``` Wiederhole jeden Befehl so oft du willst um weitere Spawn-Punkte hinzuzufügen. --- ### Schritt 3 — Basen setzen Die Basis ist der Regenerationspunkt des Teams **und gleichzeitig** der Block den Gegner anschießen können. Stelle dich direkt **auf den Block** der die Basis werden soll und tippe: ``` /ltadmin setbase MeineArena red /ltadmin setbase MeineArena blue /ltadmin setbase MeineArena green /ltadmin setbase MeineArena yellow ``` > **Wichtig:** Plane einen freien Block an jeder Basis ein. Beim Spielstart wird dort automatisch ein farbiges Glas-Block platziert (z.B. rotes Glas für Team Rot). Am Spielende wird er wieder entfernt. > > Empfehlung: Stelle die Basis mitten in oder direkt vor dem Teambereich, so dass Spieler kurze Wege beim Heilen haben. --- ### Schritt 4 — Lobby setzen ``` /ltadmin setlobby ``` Hierher werden alle Spieler nach dem Spiel zurückgeführt. Stelle dich an den gewünschten Lobby-Spawn-Punkt. --- ### Schritt 5 — Arena aktivieren ``` /ltadmin enable MeineArena ``` Das Plugin prüft ob alle Spawns und Basen gesetzt sind. Wenn etwas fehlt, siehst du eine genaue Fehlermeldung. Ist alles korrekt, ist die Arena sofort spielbereit. --- ### Schritt 6 — Status prüfen ``` /ltadmin info MeineArena ``` Zeigt dir eine Übersicht aller gesetzten Spawns, Basen, den aktuellen Status und die Spieleranzahl. --- ### Weitere Arenen Um eine zweite (oder dritte, vierte, ...) Arena hinzuzufügen, wiederhole einfach alle Schritte mit einem anderen Namen. Alle Arenen laufen gleichzeitig und völlig unabhängig voneinander. ``` /ltadmin create Arena2 /ltadmin setspawn Arena2 red ... usw. ``` --- ## Join-Schilder einrichten Spieler können Spielen beitreten indem sie ein Schild anklicken. Das Schild aktualisiert sich live mit dem aktuellen Status und der Spieleranzahl. ### Schild erstellen 1. Platziere ein normales Holzschild oder Wandschild 2. Schreibe auf **Zeile 1** exakt: `[Lasertec]` 3. Schreibe auf **Zeile 2** den Arenannamen (z.B. `MeineArena`) 4. Zeile 3 und 4 kannst du leer lassen — das Plugin füllt sie automatisch Nach dem Platzieren verwandelt das Plugin das Schild automatisch in: ``` ┌────────────────────┐ │ [LASERTEC] │ │ MeineArena │ │ Wartend │ │ 0/16 │ └────────────────────┘ ``` ### Schild-Status | Anzeige | Bedeutung | |---------|-----------| | 🟢 Wartend | Spiel wartet auf Spieler, beitreten möglich | | 🟡 Startet... | Countdown läuft, beitreten noch möglich | | 🔴 Läuft | Spiel läuft, kein Beitritt mehr möglich | | ⚫ Voll | Maximale Spieleranzahl erreicht | ### Schild entfernen Einfach den Block abbauen (nur Admins können Lasertec-Schilder entfernen). ### Mehrere Schilder Du kannst beliebig viele Schilder für jede Arena erstellen — zum Beispiel an verschiedenen Orten auf deinem Server. Alle Schilder werden in `signs.yml` gespeichert und funktionieren nach einem Server-Neustart weiter. --- ## Spielmechanik erklärt ### Ablauf eines Spiels ``` Spieler klicken Schild oder tippen /lt join ↓ Spieler werden ihren Teams zugewiesen (automatisch ausbalanciert) Jeder erhält seine Team-Rüstung (farbiges Leder) und alle 4 Waffen ↓ Sobald genug Spieler da sind → Countdown (Standard: 10 Sekunden) ↓ Spiel startet → Basen-Blöcke erscheinen an den gesetzten Positionen ↓ Spieler schießen mit Rechtsklick auf Gegner und Gegner-Basen ↓ Nach der Spielzeit (Standard: 5 Minuten) → Ergebnis-Anzeige ↓ 8 Sekunden Ergebnis → automatischer Reset → nächste Runde ``` --- ### Die Treffer-Mechanik (Kern des Spiels) Das ist das Herzstück von Lasertec — genau wie beim echten LaserTag: **Wenn ein Spieler getroffen wird:** - Er kann sofort **nicht mehr schießen** - Sein Status wechselt zu „☠ GETROFFEN" - Die Action-Bar zeigt: `☠ GETROFFEN – Zur [Team]-Basis! (XXm)` - Er muss zu seiner **eigenen Basis** laufen **An der Basis:** - Der Spieler muss sich **innerhalb von 4 Blöcken** um den Basis-Block befinden - Die Heilung startet automatisch und dauert 2 Sekunden - Ein Fortschrittsbalken in der Action-Bar zeigt den Heilungsfortschritt - **Läuft der Spieler weg bevor die Heilung abgeschlossen ist, wird sie abgebrochen!** **Nach der Heilung:** - Der Spieler ist wieder aktiv und kann schießen - Kurze Unverwundbarkeit (3 Sekunden) schützt vor sofortigem Wiederabschuss --- ### Basen angreifen Jede Basis ist durch einen **farbigen Glas-Block** markiert. Gegner können diesen Block mit ihrer Waffe anschießen: - Jeder Treffer bringt **60 Punkte** (einstellbar) - Alle Mitglieder des angegriffenen Teams erhalten eine **Warnung** - Der Block verändert sich optisch mit zunehmendem Schaden: - Volle HP: Farbiges **Glas** (z.B. Rotes Glas) - Halbe HP: **Wolle** in Teamfarbe - Zerstört: **Obsidian** - Nach 5 Treffern (einstellbar) ist die Basis **zerstört** → 200 Bonus-Punkte --- ### Teams Das Plugin verteilt Spieler automatisch gleichmäßig auf die vier Teams: | Team | Rüstungsfarbe | Basis-Block | |------|--------------|-------------| | 🔴 Rot | Rotes Leder | Rotes Glas | | 🔵 Blau | Blaues Leder | Blaues Glas | | 🟢 Grün | Grünes Leder | Grünes Glas | | 🟡 Gelb | Gelbes Leder | Gelbes Glas | --- ## Waffen Jeder Spieler erhält beim Spielstart **alle vier Waffen** gleichzeitig in der Hotbar. Wechseln per Mausrad, schießen per **Rechtsklick**. ### Laser-Pistole (Slot 1) - **Schaden:** 25 pro Treffer (4 Treffer für einen Kill) - **Reichweite:** 30 Blöcke - **Cooldown:** 0,3 Sekunden - **Laserstrahl:** Weißer Partikel-Strahl - **Ideal für:** Allgemeine Kämpfe, mittlere Distanz ### Laser-Sniper (Slot 2) - **Schaden:** 80 pro Treffer (2 Treffer für einen Kill) - **Reichweite:** 60 Blöcke - **Cooldown:** 2,0 Sekunden - **Laserstrahl:** Violetter Partikel-Strahl - **Ideal für:** Lange Distanzen, Basis-Angriffe aus der Ferne ### Laser-Shotgun (Slot 3) - **Schaden:** 20 pro Pellet × 5 Pellets gleichzeitig - **Reichweite:** 12 Blöcke - **Cooldown:** 0,9 Sekunden - **Laserstrahl:** 5 orangene Partikel-Strahlen mit Streuung - **Ideal für:** Enge Gänge, kurze Distanz ### Rapid-Fire (Slot 4) - **Schaden:** 12 pro Treffer (ca. 9 Treffer für einen Kill) - **Reichweite:** 22 Blöcke - **Cooldown:** 0,12 Sekunden - **Laserstrahl:** Grüner Partikel-Strahl - **Ideal für:** Dauerbeschuss, den Gegner unter Druck setzen > Alle Waffen-Werte (Schaden, Reichweite, Cooldown) können in der `config.yml` angepasst werden. --- ## Punkte-System ### Punkte verdienen | Aktion | Punkte | |--------|--------| | Gegner treffen (Kill) | +100 | | Gegner-Basis anschießen | +60 | | Gegner-Basis zerstören (Bonus) | +200 | | 3er Kill-Serie Bonus | +50 | | 5er Kill-Serie Bonus | +100 | | 10er Kill-Serie Bonus | +250 | ### Punkte verlieren | Aktion | Punkte | |--------|--------| | Campen (Anti-Camp Strafe) | −10 pro Sekunde | ### Kill-Serien Wenn du mehrere Gegner hintereinander triffst ohne selbst getroffen zu werden, wird eine Kill-Serie gestartet: - **3 in Folge:** `§6TRIPLE KILL!` — Ankündigung an alle + 50 Bonus-Punkte - **5 in Folge:** `§bPENTA KILL!` — Ankündigung an alle + 100 Bonus-Punkte - **10 in Folge:** `§5§lGODLIKE!` — Ankündigung an alle + 250 Bonus-Punkte Die Serie wird zurückgesetzt wenn man selbst getroffen wird. ### Spielende Das Team mit den meisten **Gesamt-Punkten** (Kills + Basis-Angriffe) gewinnt. Bei Gleichstand wird „Unentschieden" angezeigt. Nach dem Spiel werden die Statistiken dauerhaft in `stats.yml` gespeichert. --- ## Anti-Camp System Campen ist verboten. Das Plugin erkennt automatisch Spieler die sich zu lange nicht bewegen und bestraft sie. ### Wie es funktioniert 1. Das Plugin prüft jede Sekunde ob ein Spieler sich bewegt hat 2. Hat er sich weniger als **5 Blöcke** (einstellbar) bewegt, gilt das als „still stehen" 3. Nach **5 Sekunden** (einstellbar) Stillstand erscheint eine Warnung 4. Nach **15 Sekunden** (einstellbar) beginnt der Punkte-Abzug: **−10 Punkte pro Sekunde** ### Ausnahmen (kein Anti-Camp) - Spieler die **getroffen wurden** und warten müssen → ausgenommen - Spieler die sich **an ihrer Basis heilen** (innerhalb von 8 Blöcken) → ausgenommen ### Einstellbare Modi In der `config.yml` unter `anti-camp.action` kannst du das Verhalten wählen: | Modus | Beschreibung | |-------|-------------| | `WARN_ONLY` | Nur Warnung, kein Punkte-Abzug | | `WARN_THEN_PUNISH` | Warnung, dann Punkte-Abzug (Standard) | | `PUNISH_ONLY` | Direkt Punkte-Abzug ohne vorherige Warnung | ### Action-Bar Anzeige Wenn sich ein Spieler lange nicht bewegt, erscheint in der Action-Bar ein roter Fortschrittsbalken: ``` Kills: 3 Punkte: 300 Team: Rot Zeit: 3:45 | Camp: ████░░ ``` Der Balken füllt sich bis zur Strafe. --- ## Mod-Schutz (Minimap) Das Plugin enthält Maßnahmen gegen Minimap-Mods wie **Xaero's Minimap**, **VoxelMap** und ähnliche. ### Was das Plugin tut **Fog-of-War:** Spieler die weiter als **48 Blöcke** (einstellbar) entfernt sind, werden für andere Spieler unsichtbar gemacht. Da Minimap-Mods nur sehen können was der Spieler selbst sieht, erscheinen diese Gegner **nicht auf der Karte**. Das eigene Team bleibt immer sichtbar. **Nametags verstecken:** Die Spielernamen über den Köpfen der Gegner werden ausgeblendet. Mods die Spielernamen auf der Minimap anzeigen können diese damit nicht mehr lesen. **Tab-Liste anpassen:** Die echten Spielernamen in der Tab-Liste werden durch Team-Tags ersetzt (z.B. `[R] SpielerName`). Das verhindert dass Mods Positionen über die Tab-Liste auslesen. ### Was das Plugin nicht verhindern kann Ohne externe Bibliotheken (ProtocolLib) ist es technisch nicht möglich: - Chunk-basierte Karten vollständig zu blockieren - F3-Koordinaten zu verstecken (das ist clientseitig) - Die Minimap komplett zu deaktivieren Für maximalen Schutz empfehlen wir zusätzlich ein **Anticheat-Plugin** sowie Serverregeln die Minimap-Mods ausdrücklich verbieten. ### Einstellungen Alle Mod-Schutz-Optionen können in der `config.yml` unter `mod-protection` ein- und ausgeschaltet werden. Den aktuellen Status siehst du mit: ``` /ltadmin modinfo ``` --- ## Scoreboard Das Scoreboard wird während des Spiels rechts im Bildschirm angezeigt und aktualisiert sich jede Sekunde. ``` ╔═════════════════════╗ ║ ⚡ LASERTEC ║ ║ ─────────────────── ║ ║ ⏰ Zeit: 3:47 ║ ║ ─────────────────── ║ ║ Team-Punkte: ║ ║ ● Rot | 520pts |█████║ ║ ● Blau | 380pts |████░║ ║ ● Grün | 240pts |███░░║ ║ ● Gelb | 100pts |█░░░░║ ║ ─────────────────── ║ ║ Status: ✔ Aktiv ║ ║ Kills: 4 | Tode: 1 ║ ║ Punkte: 460 ║ ║ 🔥 Serie: ×4 ║ ║ ─────────────────── ║ ║ www.lasertec.de ║ ╚═════════════════════╝ ``` **Erklärung der Einträge:** - **Zeit** — Verbleibende Spielzeit - **Team-Punkte** — Alle vier Teams sortiert nach Punkten mit Basis-HP-Balken - **Status** — `✔ Aktiv` wenn spielbereit, `☠ Getroffen` oder `⚕ Heilend` wenn gesperrt - **Kills / Tode** — Eigene Statistik in dieser Runde - **Punkte** — Eigene Gesamtpunkte in dieser Runde - **Serie** — Aktuelle Kill-Serie (erscheint nur ab 3 in Folge) --- ## Spieler-Befehle | Befehl | Beschreibung | |--------|-------------| | `/lt join` | Tritt dem am besten gefüllten verfügbaren Spiel bei | | `/lt join ` | Tritt einer bestimmten Arena bei | | `/lt leave` | Verlässt das aktuelle Spiel | | `/lt list` | Zeigt alle Arenen mit Status und Spieleranzahl | | `/lt stats` | Zeigt deine persönlichen Gesamt-Statistiken | | `/lt top` | Zeigt die Top-10 Spieler nach Gesamtpunkten | | `/lt help` | Zeigt die Befehlsübersicht | **Aliase:** `/lasertec` und `/laser` funktionieren genauso wie `/lt` ### Statistik-Anzeige (`/lt stats`) ``` ════════════════════════════ ⚡ DEINE STATISTIKEN ════════════════════════════ Spiele gespielt: 47 Kills gesamt: 312 Tode gesamt: 198 K/D-Ratio: 1.58 Punkte gesamt: 34.750 Beste Kill-Serie: 8 Basis-Angriffe: 63 ════════════════════════════ ``` --- ## Admin-Befehle Alle Admin-Befehle erfordern die Berechtigung `lasertec.admin` (Standard: OP). ### Arena-Verwaltung | Befehl | Beschreibung | |--------|-------------| | `/ltadmin create ` | Erstellt eine neue Arena | | `/ltadmin delete ` | Löscht eine Arena dauerhaft | | `/ltadmin enable ` | Aktiviert eine fertig eingerichtete Arena | | `/ltadmin disable ` | Deaktiviert eine Arena (Spieler können nicht mehr beitreten) | | `/ltadmin info ` | Zeigt alle Details einer Arena (Spawns, Basen, Status) | ### Spawn & Basis setzen | Befehl | Beschreibung | |--------|-------------| | `/ltadmin setspawn ` | Setzt einen Spawn-Punkt an deiner Position (Teams: `red`, `blue`, `green`, `yellow`) | | `/ltadmin setbase ` | Setzt den Basis-Block an deiner Position | | `/ltadmin setlobby` | Setzt den Lobby-Spawn an deiner Position | ### Spiel-Steuerung | Befehl | Beschreibung | |--------|-------------| | `/ltadmin forcestart ` | Startet den Countdown oder das Spiel sofort | | `/ltadmin forcestop ` | Beendet das laufende Spiel sofort | ### Weitere Befehle | Befehl | Beschreibung | |--------|-------------| | `/ltadmin reload` | Lädt die `config.yml` neu (kein Server-Neustart nötig) | | `/ltadmin modinfo` | Zeigt den Status des Mod-Schutzes und was er leistet | | `/ltadmin signs` | Zeigt wie viele Join-Schilder registriert sind | | `/ltadmin help` | Zeigt alle Admin-Befehle | --- ## Berechtigungen | Permission | Standard | Beschreibung | |-----------|---------|-------------| | `lasertec.play` | Alle Spieler | Darf Spielen beitreten und Spieler-Befehle nutzen | | `lasertec.admin` | OP | Darf alle Admin-Befehle nutzen und Schilder erstellen/entfernen | Berechtigungen können über jedes Permissions-Plugin (z.B. LuckPerms) vergeben werden: ``` # Beispiel LuckPerms — Spieler-Gruppe /lp group default permission set lasertec.play true # Beispiel LuckPerms — Admin-Gruppe /lp group admin permission set lasertec.admin true ``` --- ## Vollständige config.yml Die Datei befindet sich unter `plugins/Lasertec/config.yml`. Nach Änderungen kannst du `/ltadmin reload` nutzen — **kein Server-Neustart erforderlich.** ```yaml # ============================================================ # LASERTEC v3.0 — Vollständige Konfiguration # Alle Werte hier können ohne Neustart geändert werden: # /ltadmin reload # ============================================================ # ── Allgemeines ────────────────────────────────────────────── messages: prefix: "§8[§b§lLASERTEC§8] §r" lobby: location: null # Wird per /ltadmin setlobby gesetzt # ── Spiel-Grundeinstellungen ───────────────────────────────── game: game-duration: 300 # Spielzeit in Sekunden countdown: 10 # Countdown-Sekunden vor Spielstart min-players: 2 # Mindestspieler (alle Teams zusammen) max-players-per-team: 4 # Max. Spieler pro Team (×4 = 16 gesamt) end-display-time: 8 # Sekunden bis Reset nach Spielende # ── Respawn / Hit-Mechanik ─────────────────────────────────── heal: base-heal-time: 2 # Sekunden an der Basis zum Heilen base-radius: 4.0 # Radius um Basis-Block zum Heilen (in Blöcken) invincible-after-heal: true # Kurze Unverwundbarkeit nach Heilung invincible-duration: 60 # Ticks Unverwundbarkeit (60 Ticks = 3 Sekunden) # ── Punkte-System ──────────────────────────────────────────── scoring: kill-points: 100 # Punkte für Treffer auf Gegner base-attack-points: 60 # Punkte für Treffer auf Gegnerbasis base-destroy-bonus: 200 # Bonus wenn Basis vollständig zerstört wird streak-3-bonus: 50 # Extra-Punkte bei 3er Kill-Serie streak-5-bonus: 100 # Extra-Punkte bei 5er Kill-Serie streak-10-bonus: 250 # Extra-Punkte bei 10er Kill-Serie # ── Basen ──────────────────────────────────────────────────── base: health: 5 # Treffer bis Basis zerstört warn-at-hp: 2 # Team warnen wenn Basis-HP auf diesen Wert fällt regenerate: false # Basis-HP regenerieren während des Spiels? regenerate-interval: 60 # Sekunden zwischen Regeneration (wenn aktiviert) # ── Anti-Camp System ───────────────────────────────────────── anti-camp: enabled: true max-idle-seconds: 15 # Max. Sekunden an gleicher Stelle idle-radius: 5.0 # Radius in Blöcken: weniger = "steht still" action: WARN_THEN_PUNISH # WARN_ONLY | WARN_THEN_PUNISH | PUNISH_ONLY warn-message: "§c⚠ CAMPEN VERBOTEN! Bewege dich oder verliere Punkte!" score-penalty: 10 # Punkte-Abzug pro Sekunde beim Campen warn-duration: 5 # Sekunden Warnung bevor Strafe beginnt exclude-base-radius: 8.0 # Basisbereich von Anti-Camp ausschließen warn-sound: BLOCK_NOTE_BLOCK_BASS warn-sound-pitch: 0.5 # ── Minimap / Mod-Schutz ───────────────────────────────────── mod-protection: enabled: true fog-of-war: true # Spieler außerhalb Radius unsichtbar machen fog-radius: 48 # Sichtbarer Radius in Blöcken arena-barrier: true hide-coordinates: true hide-from-tab: true # Spieler aus normaler Tab-Liste entfernen hide-nametags: true # Spieler-Nametags im Spiel verbergen strict-invisibility: true # ── Join-Schild ────────────────────────────────────────────── join-sign: trigger-line: "[Lasertec]" # Erste Zeile des Schilds (exakt so schreiben!) color-waiting: "§a" # Grün = Wartend color-starting: "§e" # Gelb = Startet color-running: "§c" # Rot = Läuft color-full: "§8" # Grau = Voll update-interval: 20 # Schild-Update in Ticks (20 = 1 Sekunde) # ── Waffen ─────────────────────────────────────────────────── weapons: laser-gun: enabled: true display-name: "§b⚡ Laser-Pistole" damage: 25 range: 30 cooldown-ms: 300 pellets: 1 particle: END_ROD description: "Standard-Waffe. Zuverlässig & schnell." sniper: enabled: true display-name: "§5🎯 Laser-Sniper" damage: 80 range: 60 cooldown-ms: 2000 pellets: 1 particle: DRAGON_BREATH description: "Hoher Schaden, lange Reichweite." shotgun: enabled: true display-name: "§6💥 Laser-Shotgun" damage: 20 range: 12 cooldown-ms: 900 pellets: 5 particle: FLAME description: "5 Pellets gleichzeitig, kurze Reichweite." rapid-fire: enabled: true display-name: "§a⚡⚡ Rapid-Fire" damage: 12 range: 22 cooldown-ms: 120 pellets: 1 particle: CRIT description: "Niedrig Schaden, sehr hohe Feuerrate." # ── Sounds ─────────────────────────────────────────────────── sounds: enabled: true # Alle Sounds auf einmal an/aus shoot: ENTITY_FIREWORK_ROCKET_BLAST shoot-pitch: 1.8 shoot-volume: 0.4 hit-shooter: BLOCK_NOTE_BLOCK_BELL hit-shooter-pitch: 2.0 hit-victim: ENTITY_PLAYER_HURT heal-start: BLOCK_ENCHANTMENT_TABLE_USE heal-complete: ENTITY_EXPERIENCE_ORB_PICKUP heal-complete-pitch: 1.5 base-hit: ENTITY_GENERIC_EXPLODE game-start: ENTITY_ENDER_DRAGON_GROWL game-end: UI_TOAST_CHALLENGE_COMPLETE countdown-tick: BLOCK_NOTE_BLOCK_PLING warning: BLOCK_NOTE_BLOCK_BASS streak-3: BLOCK_BELL_USE streak-5: ENTITY_PLAYER_LEVELUP streak-10: ENTITY_LIGHTNING_BOLT_THUNDER # ── Partikel ───────────────────────────────────────────────── particles: enabled: true # Alle Partikel auf einmal an/aus laser-trail: true # Partikel-Strahl beim Schuss hit-effect: true # Partikel-Explosion beim Treffer hit-particle-count: 15 # Anzahl der Treffer-Partikel base-hit-effect: true # Explosion-Partikel beim Basisangriff heal-effect: true # Partikel beim Abschluss der Heilung # ── Scoreboard ─────────────────────────────────────────────── scoreboard: enabled: true title: "§b§l⚡ LASERTEC" show-team-scores: true show-base-health: true show-kill-streak: true # Nur bei Streak ≥ 3 anzeigen show-player-status: true update-interval: 20 # Ticks zwischen Updates ``` --- ## Nachrichten anpassen Alle Spieler-Nachrichten können in der `config.yml` unter `text:` angepasst werden. Platzhalter werden automatisch ersetzt. | Schlüssel | Platzhalter | Beschreibung | |-----------|------------|-------------| | `join` | `{player}`, `{team}` | Wenn ein Spieler beitritt | | `leave` | `{player}` | Wenn ein Spieler das Spiel verlässt | | `game-start` | — | Spielstart-Ankündigung | | `game-end` | `{team}` | Sieger-Ankündigung | | `game-draw` | — | Bei Unentschieden | | `hit-shooter` | `{victim}`, `{pts}`, `{streak}` | Nachricht an den Schützen | | `hit-victim` | `{shooter}` | Nachricht an den Getroffenen | | `heal-start` | `{secs}` | Heilung gestartet | | `heal-interrupted` | — | Heilung abgebrochen | | `heal-complete` | — | Heilung abgeschlossen | | `base-attacked` | `{hp}`, `{max}` | Basis unter Beschuss | | `base-destroyed` | `{team}` | Basis zerstört | | `time-60` / `time-30` / `time-10` | — | Zeitmeldungen | | `streak-3` / `streak-5` / `streak-10` | `{player}` | Kill-Serien | **Farb-Codes** werden mit `§` eingegeben (z.B. `§a` = Grün, `§c` = Rot, `§e` = Gelb, `§b` = Cyan, `§6` = Orange). --- ## Gespeicherte Dateien Das Plugin legt folgende Dateien im Ordner `plugins/Lasertec/` an: | Datei | Inhalt | Wann bearbeiten | |-------|--------|----------------| | `config.yml` | Alle Spieleinstellungen | Jederzeit, dann `/ltadmin reload` | | `arenas.yml` | Arena-Positionen (Spawns, Basen) | Wird automatisch gespeichert | | `signs.yml` | Positionen aller Join-Schilder | Wird automatisch gespeichert | | `stats.yml` | Spieler-Statistiken (dauerhaft) | Wird automatisch gespeichert | > **Achtung:** `arenas.yml` und `signs.yml` bitte nicht manuell bearbeiten, da die Positionen in einem speziellen Format gespeichert werden. Nutze stattdessen die Admin-Befehle. --- ## Häufige Fragen & Probleme **„Arena nicht bereit" beim Aktivieren** → Tippe `/ltadmin info ` — das Plugin zeigt dir genau was noch fehlt. Häufigste Ursache: Ein oder mehrere Teams haben noch keinen Spawn oder keine Basis gesetzt. --- **Spieler können der Arena nicht beitreten** → Prüfe mit `/lt list` ob die Arena als `✔ Aktiv` angezeigt wird. → Stelle sicher dass du `/ltadmin enable ` ausgeführt hast. → Prüfe ob die maximale Spieleranzahl bereits erreicht ist. --- **Der Basis-Block erscheint nicht beim Spielstart** → Das ist kein Fehler — der Block erscheint nur wenn das Spiel **aktiv läuft**, nicht beim Setup. → Stelle sicher dass der Bereich an der Basis-Position nicht durch andere Blöcke blockiert wird. --- **Spieler heilen nicht an der Basis** → Der Spieler muss sich innerhalb von **4 Blöcken** (einstellbar: `heal.base-radius`) um den gesetzten Basis-Punkt befinden. → Prüfe mit `/ltadmin info ` ob die Basis korrekt gesetzt ist. → Die Heilung bricht ab wenn der Spieler sich zu weit entfernt — er muss stillhalten. --- **Anti-Camp bestraft Spieler an der Basis** → Erhöhe den Wert `anti-camp.exclude-base-radius` in der `config.yml`. Standard ist 8 Blöcke. Stelle sicher dass dieser Radius größer als `heal.base-radius` ist. --- **Das Schild wird nicht erkannt** → Zeile 1 muss exakt `[Lasertec]` lauten (Groß-/Kleinschreibung egal, aber Klammern und Schreibweise müssen stimmen). → Zeile 2 muss exakt den Arenannamen enthalten, wie er mit `/ltadmin create` angelegt wurde. → Der Spieler der das Schild erstellt muss die Berechtigung `lasertec.admin` haben. --- **Änderungen in der config.yml wirken nicht** → Führe `/ltadmin reload` aus. Laufende Spiele übernehmen neue Werte erst bei der nächsten Runde. --- **Spieler verlassen das Spiel nicht richtig (Inventar bleibt)** → Das Inventar wird beim Verlassen (`/lt leave`) oder bei Server-Disconnect automatisch wiederhergestellt. → Sollte das nicht klappen: `/ltadmin forcestop ` beendet das Spiel für alle Spieler sofort. --- *Lasertec v1.0.0 — Spigot / Paper 1.20.1*