208 lines
6.4 KiB
Markdown
208 lines
6.4 KiB
Markdown
# AutoSortChest
|
||
|
||
*Intelligente Lagerverwaltung & automatisierte Sortiersysteme ohne Redstone-Chaos*
|
||
|
||

|
||

|
||

|
||
|
||
---
|
||
|
||
## Über AutoSortChest
|
||
|
||
Schluss mit unordentlichen Truhen und stundenlangem Sortieren! **AutoSortChest** ermöglicht es dir, komplexe Sortiersysteme für Farmen, Shops oder Lagerhäuser in Sekunden aufzubauen. Alles funktioniert über ein intuitives Schildersystem – keine komplizierten Befehle oder mühsame Redstone-Leitungen erforderlich.
|
||
|
||
---
|
||
|
||
## ✨ Features
|
||
|
||
- **Einfache Schild-Steuerung:** Erstelle Input-, Ziel- und Rest-Truhen durch das Platzieren eines Schildes.
|
||
- **Visuelles Status-System:** Schilder ändern ihre Farbe, wenn eine Truhe voll ist, und senden Warnungen im Chat.
|
||
- **Smart Rest-Truhe (Fallback):** Konfiguriere eine Auffangtruhe für alle Items ohne spezielles Ziel.
|
||
- **Dynamic Item Update:** Ändere das sortierte Item einer Truhe jederzeit per Rechtsklick – kein Abbauen nötig!
|
||
- **Privatsphäre-Modus:** Schalte Truhen per Shift-Rechtsklick zwischen Öffentlich und Privat um.
|
||
- **Server-übergreifend (CrossLink):** Mit MySQL können Zieltruhen auf anderen Servern des Netzwerks liegen. Items werden automatisch via Transfer-Tabelle weitergeleitet.
|
||
- **Multiplayer-Optimiert:** Jeder Spieler verwaltet sein eigenes System – kein gegenseitiges Stören.
|
||
- **Vollständig Anpassbar:** Alle Nachrichten, Farben und Limits lassen sich in der `config.yml` editieren.
|
||
|
||
---
|
||
|
||
## 📖 Einrichtung
|
||
|
||
### 1. Eingangstruhe (Input)
|
||
Hier wirfst du alle unsortierten Items hinein.
|
||
|
||
Schild an die Truhe platzieren und folgendes schreiben:
|
||
```
|
||
[asc]
|
||
input
|
||
```
|
||
Dein Spielername wird automatisch in Zeile 4 eingetragen.
|
||
|
||
---
|
||
|
||
### 2. Zieltruhe (Target)
|
||
Hier landen die spezifisch sortierten Items.
|
||
|
||
Schild an die Truhe platzieren:
|
||
```
|
||
[asc]
|
||
ziel
|
||
```
|
||
Danach mit dem gewünschten Item (z. B. Diamant) auf das Schild **Rechtsklicken** – der Item-Typ wird automatisch eingetragen.
|
||
|
||
---
|
||
|
||
### 3. Rest-Truhe (Fallback)
|
||
Das Auffangbecken für alle Items ohne Zieltruhe.
|
||
```
|
||
[asc]
|
||
rest
|
||
```
|
||
|
||
---
|
||
|
||
## 🔐 Zugriff & Modi
|
||
|
||
| Aktion | Beschreibung |
|
||
|--------|-------------|
|
||
| **Shift + Rechtsklick** (leere Hand) auf Schild/Truhe | Wechselt zwischen Privat und Öffentlich |
|
||
| **Privat** | Nur der Besitzer kann die Truhe nutzen. Sortierung nur bei Online-Status. |
|
||
| **Öffentlich** | Alle Spieler dürfen Items einwerfen. Sortierung auch offline. Schild zeigt `[Public]`. |
|
||
|
||
> Nur der Besitzer (Name auf dem Schild) kann den Modus ändern oder die Truhe/das Schild abbauen.
|
||
> Zum Abbauen immer **Shift gedrückt halten**.
|
||
|
||
---
|
||
|
||
## 🌐 Serverübergreifende Sortierung (CrossLink)
|
||
|
||
Wenn MySQL aktiviert und `server_crosslink: true` gesetzt ist, können Zieltruhen auf **anderen Servern desselben Netzwerks** liegen.
|
||
|
||
**Funktionsweise:**
|
||
- Server A hat die Eingangstruhe und erkennt, dass die Zieltruhe für `OAK_LOG` auf Server B liegt.
|
||
- Server A schreibt den Transfer in die gemeinsame Datenbank (`asc_transfers`).
|
||
- Server B liest die Transfer-Tabelle und befüllt seine lokale Zieltruhe automatisch.
|
||
|
||
**Voraussetzung:** Alle Server müssen dieselbe MySQL-Datenbank nutzen.
|
||
|
||
---
|
||
|
||
## 💬 Befehle & Berechtigungen
|
||
|
||
| Befehl | Beschreibung | Berechtigung |
|
||
|--------|-------------|-------------|
|
||
| `/asc help` | Zeigt die Hilfe an | – |
|
||
| `/asc info` | Plugin-Informationen (Version, Autor) | `autosortchest.use` |
|
||
| `/asc reload` | Konfiguration neu laden | `autosortchest.reload` |
|
||
|
||
---
|
||
|
||
## ⚙️ Konfiguration (config.yml)
|
||
```yaml
|
||
# Version der Konfigurationsdatei
|
||
version: "2.0"
|
||
|
||
# Debug-Modus (nur für Entwicklung)
|
||
debug: false
|
||
|
||
# MySQL/MariaDB – für CrossLink und zentralen Datenspeicher
|
||
mysql:
|
||
enabled: false
|
||
host: "localhost"
|
||
port: 3306
|
||
database: "autosortchest"
|
||
user: "autosortchest"
|
||
password: "autosortchest"
|
||
|
||
# Serverübergreifende Sortierung (benötigt MySQL)
|
||
server_crosslink: true
|
||
|
||
# Sprache: 'de' oder 'en'
|
||
language: "de"
|
||
|
||
# Welten, in denen das Plugin deaktiviert ist
|
||
world_blacklist:
|
||
- "world_nether"
|
||
- "world_the_end"
|
||
|
||
# Sortier-Intervall in Ticks (1 Tick = 0,05s)
|
||
sort_interval_ticks: 5
|
||
|
||
# Maximale Anzahl Zieltruhen pro Spielergruppe
|
||
chest_limits:
|
||
default: 5
|
||
vip: 100
|
||
|
||
# Schildfarben (Minecraft-Farbcodes)
|
||
sign-colors:
|
||
input:
|
||
line1: "&6" # [asc]
|
||
line2: "&0" # input
|
||
line4: "&1" # Spielername
|
||
target:
|
||
line1: "&6" # [asc]
|
||
line2: "&0" # ziel
|
||
line3: "&f" # Item-Typ
|
||
line4: "&1" # Spielername
|
||
full:
|
||
line1: "&c"
|
||
line2: "&4"
|
||
line3: "&e"
|
||
line4: "&1"
|
||
rest:
|
||
line1: "&6"
|
||
line2: "&0"
|
||
line3: "&f"
|
||
line4: "&1"
|
||
|
||
# Nachrichten
|
||
messages:
|
||
no-chest-near-sign: "&cKeine Truhe in der Nähe des Schildes!"
|
||
no-item-in-hand: "&cDu musst ein Item in der Hand halten!"
|
||
not-your-chest: "&cDiese Truhe gehört dir nicht!"
|
||
input-chest-set: "&aEingangstruhe erfolgreich gesetzt!"
|
||
target-chest-set: "&aZieltruhe erfolgreich für %item% eingerichtet!"
|
||
rest-chest-set: "&aRest-Truhe (Fallback) erfolgreich gesetzt!"
|
||
target-chest-missing: "&cZieltruhe für %item% fehlt!"
|
||
target-chest-full: "&cZieltruhe für %item% ist voll! Koordinaten: (%x%, %y%, %z%)"
|
||
sign-break-denied: "&cDu musst Shift gedrückt halten, um dieses Schild oder die Truhe abzubauen!"
|
||
no-permission: "&cDu hast keine Berechtigung für diesen Befehl!"
|
||
reload-success: "&aKonfiguration erfolgreich neu geladen!"
|
||
mode-changed: "&aModus gewechselt: &e%mode%"
|
||
mode-public: "&aÖffentlich"
|
||
mode-private: "&cPrivat"
|
||
```
|
||
|
||
---
|
||
|
||
## 🗄️ Datenbank-Tabellen
|
||
|
||
Bei aktiviertem MySQL erstellt das Plugin folgende Tabellen automatisch:
|
||
|
||
| Tabelle | Inhalt |
|
||
|---------|--------|
|
||
| `asc_players` | Spieler-UUIDs und Namen |
|
||
| `asc_input_chests` | Registrierte Eingangstruhen |
|
||
| `asc_target_chests` | Zieltruhen mit Item-Zuordnung |
|
||
| `asc_rest_chests` | Rest-/Fallback-Truhen |
|
||
| `asc_transfers` | Ausstehende CrossLink-Transfers zwischen Servern |
|
||
|
||
---
|
||
|
||
## 🔧 Technische Details
|
||
|
||
- **Kompatibilität:** Paper, Spigot, Purpur (1.18.x – 1.21.x)
|
||
- **Java:** 17+
|
||
- **Datenbank:** YAML (Standard) oder MySQL/MariaDB (optional)
|
||
- **Performance:** Ressourcenschonende Sortier-Algorithmen mit konfigurierbarem Intervall
|
||
|
||
---
|
||
|
||
## 💬 Support
|
||
|
||
[](https://discord.com/invite/FdRs4BRd8D)
|
||
|
||
---
|
||
|
||
*Viper Plugins © 2026 – Effizienz für deinen Server* |