241 lines
5.4 KiB
Markdown
241 lines
5.4 KiB
Markdown
# 🌍 WorldBorder (Spigot)
|
||
|
||

|
||

|
||

|
||
|
||
---
|
||
|
||
## 📌 Ü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)
|
||
|
||
---
|
||
|
||
## 🖼 Bilder & GIFs
|
||
|
||
<p align="center">
|
||
<img src="https://git.viper.ipv64.net/M_Viper/WorldBorder--Spigot-/raw/branch/main/img/wb_screenshot_2.jpg" alt="Screenshot 1" width="500"/>
|
||
</p>
|
||
|
||
---
|
||
|
||
## 🗺 DynMap-Integration
|
||
|
||
Wenn **DynMap** installiert ist, werden die Borders **automatisch auf der Karte angezeigt**
|
||
und bei Änderungen nahezu in Echtzeit aktualisiert.
|
||
|
||
<p align="center">
|
||
<img src="https://git.viper.ipv64.net/M_Viper/WorldBorder--Spigot-/raw/branch/main/img/dynmap_border.png" alt="Screenshot 2" width="500" style="margin-right:20px;"/>
|
||
<img src="https://git.viper.ipv64.net/M_Viper/WorldBorder--Spigot-/raw/branch/main/img/worldborder_fill_before_and_after.gif" alt="DynMap Beispiel" width="300"/>
|
||
</p>
|
||
|
||
---
|
||
|
||
## 📜 Commands & Permissions
|
||
|
||
<details>
|
||
<summary><strong>➡️ Klicken, um alle Commands & Permissions anzuzeigen</strong></summary>
|
||
|
||
<br>
|
||
|
||
### Syntax
|
||
|
||
`Hauptbefehl <erforderlicher Wert> [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 <radiusX> [radiusZ]` – zentriert auf Spieler (ingame)
|
||
`/wb [worldname] set <radiusX> [radiusZ] <x> <z>`
|
||
`/wb [worldname] set <radiusX> [radiusZ] spawn`
|
||
`/wb set <radiusX> [radiusZ] player <playername>`
|
||
`/wb [worldname] setcorners <x1> <z1> <x2> <z2>`
|
||
|
||
**Permission:** `worldborder.set`
|
||
|
||
---
|
||
|
||
### Radius ändern
|
||
|
||
`/wb [worldname] radius <radiusX> [radiusZ]` (+/- möglich)
|
||
**Permission:** `worldborder.radius`
|
||
|
||
---
|
||
|
||
### Border entfernen
|
||
|
||
`/wb [worldname] clear`
|
||
`/wb clear all`
|
||
**Permission:** `worldborder.clear`
|
||
|
||
---
|
||
|
||
### Border-Informationen
|
||
|
||
`/wb list`
|
||
**Permission:** `worldborder.list`
|
||
|
||
---
|
||
|
||
### Border-Form
|
||
|
||
`/wb shape <elliptic|round|rectangular|square>`
|
||
`/wb wshape [worldname] <elliptic|round|rectangular|square|default>`
|
||
**Permissions:** `worldborder.shape`, `worldborder.wshape`
|
||
|
||
---
|
||
|
||
### Knockback
|
||
|
||
`/wb knockback <distance>`
|
||
**Permission:** `worldborder.knockback`
|
||
|
||
---
|
||
|
||
### Welt generieren / Fill
|
||
|
||
`/wb [worldname] fill [freq] [pad] [force]`
|
||
**Permission:** `worldborder.fill`
|
||
|
||
---
|
||
|
||
### Welt beschneiden / Trim
|
||
|
||
`/wb [worldname] trim [freq] [pad]`
|
||
**Permission:** `worldborder.trim`
|
||
|
||
---
|
||
|
||
### Bypass-Modus
|
||
|
||
`/wb bypass [player] [on|off]`
|
||
`/wb bypasslist`
|
||
**Permissions:** `worldborder.bypass`, `worldborder.bypasslist`
|
||
|
||
---
|
||
|
||
### Autosave beim Fill
|
||
|
||
`/wb fillautosave <seconds>`
|
||
**Permission:** `worldborder.fillautosave`
|
||
|
||
---
|
||
|
||
### Wrap-Around
|
||
|
||
`/wb wrap [worldname] <on|off>`
|
||
**Permission:** `worldborder.wrap`
|
||
|
||
---
|
||
|
||
### Border-Nachricht
|
||
|
||
`/wb getmsg`
|
||
`/wb setmsg <message>`
|
||
**Permissions:** `worldborder.getmsg`, `worldborder.setmsg`
|
||
|
||
---
|
||
|
||
### Timing & Effekte
|
||
|
||
`/wb delay <amount>`
|
||
`/wb whoosh <on|off>`
|
||
**Permissions:** `worldborder.delay`, `worldborder.whoosh`
|
||
|
||
---
|
||
|
||
### Portale & Enderperlen
|
||
|
||
`/wb portal <on|off>`
|
||
`/wb denypearl <on|off>`
|
||
**Permissions:** `worldborder.portal`, `worldborder.denypearl`
|
||
|
||
---
|
||
|
||
### DynMap
|
||
|
||
`/wb dynmap <on|off>`
|
||
`/wb dynmapmsg <text>`
|
||
**Permissions:** `worldborder.dynmap`, `worldborder.dynmapmsg`
|
||
|
||
---
|
||
|
||
### Fahrzeuge
|
||
|
||
`/wb remount <amount>`
|
||
**Permission:** `worldborder.remount`
|
||
|
||
---
|
||
|
||
### Wartung & Debug
|
||
|
||
`/wb reload`
|
||
`/wb debug <on|off>`
|
||
**Permissions:** `worldborder.reload`, `worldborder.debug`
|
||
|
||
---
|
||
|
||
### Hinweise
|
||
|
||
- `/wb` ist ein Alias für `/wborder`
|
||
- `<radiusX>`, `<radiusZ>` und `<amount>` müssen **Ganzzahlen** sein
|
||
- `<x>`, `<z>` und `<distance>` dürfen **Dezimalzahlen** enthalten
|
||
- Radius = Abstand vom Mittelpunkt pro Achse
|
||
|
||
---
|
||
|
||
### Beispiele
|
||
|
||
```text
|
||
/wb set 2000
|
||
/wb set 2000 1000
|
||
/wb netherworld set 250 -12.5 47.3
|
||
/wb shape round
|
||
/wb wshape square
|