Files
Minecraft-AutoSortChest/README.md
2026-02-18 19:22:29 +00:00

208 lines
6.4 KiB
Markdown
Raw 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.
# AutoSortChest
*Intelligente Lagerverwaltung & automatisierte Sortiersysteme ohne Redstone-Chaos*
![Version](https://img.shields.io/badge/Version-1.18.x--1.21.x-green.svg)
![Java](https://img.shields.io/badge/Java-17+-orange.svg)
![Type](https://img.shields.io/badge/Type-Utility-blue.svg)
---
## Ü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
[![Discord](https://img.shields.io/badge/Discord-Support-7289DA?style=for-the-badge&logo=discord)](https://discord.com/invite/FdRs4BRd8D)
---
*Viper Plugins © 2026 Effizienz für deinen Server*