# 🌍 WorldBorder (Spigot) ![Java](https://img.shields.io/badge/Java-21-blue?style=flat-square) ![Minecraft](https://img.shields.io/badge/Minecraft-1.21.x-brightgreen?style=flat-square) ![License](https://img.shields.io/badge/License-GPL--3.0-yellow?style=flat-square) ## 📌 Übersicht **WorldBorder** ist ein leistungsoptimiertes Spigot-/Paper-Plugin zur Verwaltung von Weltgrenzen **pro Welt**. Für jede Welt kann **genau eine Border** definiert werden, die nur von Spielern mit entsprechender Berechtigung überschritten werden darf. Der Fokus liegt auf **maximaler Performance** – keine messbaren Leistungseinbußen, auch bei großen Welten und aktiven Servern. --- ## 🧩 Kompatibilität - **Minecraft:** Spigot / Paper **1.21.x** - **Java:** **Java 21 (erforderlich)** --- ## 🔧 Features - Eine eigene Border **pro Welt** - Unterstützte Border-Formen: - **Rund / Elliptisch** - **Quadratisch / Rechteckig** - Unterschiedliche Border-Formen je Welt möglich - Quadratisch: etwas bessere Performance - Rund: optisch ansprechender (z. B. für Karten) - Vollständige Konfiguration **per Ingame-Commands oder Konsole** - Keine manuelle Bearbeitung der `config.yml` notwendig - Unterstützung aller Permission-Plugins mit **Bukkit SuperPerms** - **World-Fill**: Generiert alle fehlenden Chunks bis zur Border - **World-Trim**: Entfernt Chunks außerhalb der Border - Konfigurierbare Pufferzonen - **Bypass-Modus** für ausgewählte Spieler - Automatisches Speichern aller Änderungen - Fahrzeuge werden beim Grenzübertritt gestoppt und zurückgesetzt - Spieler werden bei Bedarf an eine **sichere Höhe** teleportiert - Optionaler **Wrap-Around-Modus** - **DynMap-Unterstützung** (optional) --- ## 🗺 DynMap-Integration Wenn **DynMap** installiert ist, werden die Borders **automatisch auf der Karte angezeigt** und bei Änderungen nahezu in Echtzeit aktualisiert. --- ## 📜 Commands & Permissions > Die vollständige Liste der Commands und Permissions ist standardmäßig ausgeblendet, > um das README übersichtlich zu halten.
➡️ Klicken, um alle Commands & Permissions anzuzeigen
### Syntax `Hauptbefehl [optionaler Wert]` **Hinweis:** `[worldname]` ist **in der Konsole erforderlich**, ingame optional (Standard: aktuelle Welt). --- ### Grundbefehl `/wb` – Zeigt alle verfügbaren Commands (Hilfe) **Permission:** `worldborder.help` --- ### Border setzen `/wb set [radiusZ]` Setzt eine Border zentriert auf den Spieler (nur ingame). `/wb [worldname] set [radiusZ] ` Setzt eine Border mit festem Mittelpunkt. `/wb [worldname] set [radiusZ] spawn` Verwendet den Welt-Spawn als Mittelpunkt. `/wb set [radiusZ] player ` Zentriert die Border auf einen bestimmten Spieler. `/wb [worldname] setcorners ` Setzt eine Border anhand von Eckkoordinaten. **Permission:** `worldborder.set` --- ### Radius ändern `/wb [worldname] radius [radiusZ]` Ändert den Radius einer bestehenden Border. - `+` oder `-` möglich (z. B. `+100`) - Ohne `radiusZ` wird `radiusX` für beide Achsen verwendet **Permission:** `worldborder.radius` --- ### Border entfernen `/wb [worldname] clear` `/wb clear all` **Permission:** `worldborder.clear` --- ### Border-Informationen `/wb list` – Zeigt alle Borders aller Welten **Permission:** `worldborder.list` --- ### Border-Form `/wb shape ` Setzt die globale Standardform. **Permission:** `worldborder.shape` `/wb wshape [worldname] ` Überschreibt die Border-Form nur für diese Welt. **Permission:** `worldborder.wshape` --- ### Knockback `/wb knockback ` Legt fest, wie weit Spieler zurückgesetzt werden. **Permission:** `worldborder.knockback` --- ### Welt generieren (Fill) `/wb [worldname] fill [freq] [pad] [force]` - `freq` – Checks pro Sekunde (Standard: 20) - `pad` – Pufferzone (Standard: 208) - `force` – Erzwingt Chunk-Generierung (`true` / `false`) **Permission:** `worldborder.fill` --- ### Welt beschneiden (Trim) `/wb [worldname] trim [freq] [pad]` - `freq` – Chunks pro Sekunde (Standard: 5000) - `pad` – Pufferzone (Standard: 208) **Permission:** `worldborder.trim` --- ### Bypass-Modus `/wb bypass [player] [on|off]` Erlaubt Spielern, die Border zu ignorieren. Der Status bleibt über Serverneustarts erhalten. **Permission:** `worldborder.bypass` `/wb bypasslist` – Liste aller Spieler mit aktivem Bypass **Permission:** `worldborder.bypasslist` --- ### Autosave beim Fill `/wb fillautosave ` **Permission:** `worldborder.fillautosave` --- ### Wrap-Around `/wb wrap [worldname] ` Teleportiert Spieler beim Grenzübertritt auf die gegenüberliegende Seite. **Permission:** `worldborder.wrap` --- ### Border-Nachricht `/wb getmsg` `/wb setmsg ` **Permissions:** `worldborder.getmsg` `worldborder.setmsg` --- ### Timing & Effekte `/wb delay ` – Ticks zwischen Border-Checks `/wb whoosh ` – Knockback-Sound **Permissions:** `worldborder.delay` `worldborder.whoosh` --- ### Portale & Enderperlen `/wb portal ` `/wb denypearl ` **Permissions:** `worldborder.portal` `worldborder.denypearl` --- ### DynMap `/wb dynmap ` `/wb dynmapmsg ` **Permissions:** `worldborder.dynmap` `worldborder.dynmapmsg` --- ### Fahrzeuge `/wb remount ` **Permission:** `worldborder.remount` --- ### Wartung & Debug `/wb reload` `/wb debug ` **Permissions:** `worldborder.reload` `worldborder.debug` --- ### Hinweise - `/wb` ist ein Alias für `/wborder` - ``, `` und `` müssen **Ganzzahlen** sein - ``, `` und `` dürfen **Dezimalzahlen** enthalten - Radius = Abstand vom Mittelpunkt pro Achse Beispiel: `600 x 300` → Gesamtfläche **1200 x 600** --- ### Beispiele ```text /wb set 2000 /wb set 2000 1000 /wb netherworld set 250 -12.5 47.3 /wb shape round /wb wshape square