Files
WorldBorder--Spigot-/README.md
2025-12-14 10:34:34 +00:00

241 lines
5.4 KiB
Markdown
Raw Permalink Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
# 🌍 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)
---
## 🖼 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;"/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
<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