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-, Rest- und Mülltruhen 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 mehrere Auffangtruhen für alle Items ohne spezielles Ziel.
- Mülltruhe: Definiere eine Truhe, die bestimmte oder alle Items automatisch vernichtet – mit konfigurierbarer Filter-Liste und optionalem Auto-Clear-Intervall.
- Dynamic Item Update: Ändere das sortierte Item einer Truhe jederzeit per Rechtsklick – kein Abbauen nötig!
- Mehrere Zieltruhen pro Item: Definiere mehrere Zieltruhen für denselben Item-Typ – volle Truhen werden automatisch übersprungen.
- Privatsphäre-Modus: Schalte Truhen per Shift-Rechtsklick zwischen Öffentlich und Privat um.
- Hopper-Schutz: Input- und Rest-Truhen blockieren Hopper automatisch – Sortierung läuft ausschließlich über das ASC-System.
- Clean-Modus: Optionaler sauberer Schild-Stil ohne sichtbaren Item-Namen – übersichtlicheres Aussehen im Lager.
- Visuelle Effekte: Optionale Partikel- und Sound-Effekte beim Sortiervorgang.
- Server-übergreifend (CrossLink): Mit MySQL können Zieltruhen auf anderen Servern des Netzwerks liegen. Items werden automatisch via Transfer-Tabelle weitergeleitet.
- Import & Export: Daten lassen sich bequem zwischen
players.ymlund MySQL hin- und herwechseln – per Admin-Befehl. - Update-Checker: Admins werden beim Login automatisch über neue Versionen informiert.
- Multiplayer-Optimiert: Jeder Spieler verwaltet sein eigenes System – kein gegenseitiges Stören.
- Vollständig Anpassbar: Alle Nachrichten, Farben, Titel und Limits lassen sich in der
config.ymleditieren.
📖 Einrichtung
1. Eingangstruhe (Input)
Hier wirfst du alle unsortierten Items hinein. Hopper können keine Items direkt einlegen – die Sortierung läuft ausschließlich über den eigenen Mechanismus.
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.
Sind mehrere Zieltruhen für denselben Item-Typ vorhanden, wird die nächste automatisch befüllt, wenn die erste voll ist.
3. Rest-Truhe (Fallback)
Das Auffangbecken für alle Items ohne Zieltruhe. Hopper können keine Items einlegen.
[asc]
rest
Es können mehrere Rest-Truhen registriert werden. Sind alle voll, bleibt das Item in der Eingangstruhe.
4. Mülltruhe (Trash)
Items, die in diese Truhe gelangen, werden automatisch vernichtet.
[asc]
trash
Nach dem Platzieren des Schildes erscheint ein Rechtsklick-Hinweis. Durch Rechtsklick auf das Schild öffnet sich ein Konfiguration-GUI:
- Ohne Filter-Liste: Alle Items in der Truhe werden gelöscht.
- Mit Filter-Liste: Nur die eingetragenen Item-Typen werden gelöscht, der Rest bleibt erhalten.
- Items können per Rechtsklick zur Liste hinzugefügt oder entfernt werden.
- Der Auto-Clear-Intervall lässt sich in der
config.ymleinstellen (z. B. alle 5 Minuten). - Auch Items, die per Hopper eingeworfen werden, werden sofort verarbeitet.
🔐 Zugriff & Modi
| Aktion | Beschreibung |
|---|---|
| Shift + Rechtsklick (leere Hand) auf Schild/Truhe | Wechselt zwischen Privat und Öffentlich |
| Rechtsklick auf Ziel-Schild (Item in Hand) | Ändert den zugeordneten Item-Typ |
| Rechtsklick auf Mülltruhen-Schild | Öffnet das Filter-Konfiguration-GUI |
| 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.
🎨 Clean-Modus
Wenn sign-style.clean-target: true in der config.yml gesetzt ist, werden Schilder in einem aufgeräumten Format ohne sichtbare [asc]-Kennung angezeigt:
| Schild-Typ | Zeile 1 | Zeile 2 | Zeile 3 |
|---|---|---|---|
| Input | Spielername | „Eingang" / „Input" | Öffentlich / Privat |
| Target | Item-Name | Spielername | Öffentlich / Privat |
| Rest | Spielername | „Rest" | Öffentlich / Privat |
| Trash | Spielername | „Müll" / „Trash" | — |
Die Farben für den Clean-Modus werden separat unter sign-colors-clean konfiguriert.
🌐 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_LOGauf 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.
BungeeCord-Setup:
- Dieselbe MySQL-Datenbank auf allen Servern eintragen.
- Auf jedem Server einen eindeutigen
server_namesetzen (z. B.survival,creative). mysql.enabled: trueundserver_crosslink: truesetzen.- Alle Server neu starten – das Schema wird automatisch migriert.
Wird
server_nameleer gelassen, läuft das Plugin im Legacy-Modus (welt-basierte Erkennung, kein BungeeCord).
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 |
/asc import |
Importiert Daten aus players.yml → MySQL |
autosortchest.import (OP) |
/asc export |
Exportiert Daten aus MySQL → players.yml |
autosortchest.export (OP) |
Berechtigungen – Vollständige Übersicht
| Permission | Beschreibung | Standard |
|---|---|---|
autosortchest.use |
Erlaubt das Erstellen von ASC-Schildern | true |
autosortchest.reload |
Erlaubt /asc reload |
OP |
autosortchest.import |
Erlaubt /asc import |
OP |
autosortchest.export |
Erlaubt /asc export |
OP |
autosortchest.bypass |
Schilder ohne Shift abbauen, unabhängig vom Besitzer | OP |
autosortchest.limit.bypass |
Umgeht alle Truhen-Limits | OP |
autosortchest.admin |
Zugriff auf fremde ASC-Truhen | OP |
autosortchest.limit.<gruppe> |
Weist dem Spieler die Limits einer Gruppe zu (z. B. autosortchest.limit.vip) |
false |
Spieler ohne jede
autosortchest.limit.*-Permission können bei aktivierten Limits keine Truhen erstellen. Vergibautosortchest.limit.defaultan alle normalen Spieler (z. B. in LuckPerms).
Import & Export – Details
/asc import
Überträgt alle Spielerdaten aus der players.yml in die MySQL-Datenbank. Sinnvoll beim erstmaligen Wechsel von YAML auf MySQL. Bestehende MySQL-Einträge werden dabei nicht gelöscht, sondern aktualisiert (REPLACE INTO).
/asc export
Exportiert alle Daten aus MySQL zurück in die players.yml. Enthält die players.yml noch Daten, wird vorher automatisch ein Backup erstellt (players_backup_<timestamp>.yml). Ist die Datei bereits leer, wird kein unnötiges Backup angelegt.
⚙️ Konfiguration (config.yml)
# Version der Konfigurationsdatei
version: "2.3"
# Debug-Modus (nur für Entwicklung)
debug: false
# Sprache: 'de' oder 'en'
language: "de"
# 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
# Eindeutiger Servername im BungeeCord-Netzwerk
# Leer lassen = Legacy-Modus (welt-basiert, kein BungeeCord)
# Beispiele: lobby | survival | creative
server_name: ""
# Welten, in denen das Plugin deaktiviert ist
world_blacklist:
- "world_nether"
- "world_the_end"
# Sortier-Intervall in Ticks (1 Tick = 0,05s)
# Empfohlen: 10 (= 0,5s)
sort_interval_ticks: 10
# Rest-Truhen Nachsortierung (0 = deaktiviert)
rest_resort_interval_ticks: 400 # 400 Ticks = 20 Sekunden
# Mülltruhe
trash:
# 0 = Nur beim Schließen leeren | 300 = alle 5 Min | 3600 = stündlich
auto_clear_interval_seconds: 0
# Visuelle Effekte
effects:
enabled: false # Partikel-Effekte anzeigen?
sound: false # Ton beim Ankommen von Items?
type: "DUST" # Partikel-Typ ('DUST' = bunter Regenbogen-Effekt)
# Schild-Stil
sign-style:
clean-target: false # true = sauberer Modus (kein Item-Name auf dem Schild)
# Maximale Anzahl Truhen pro Spielergruppe
chest_limits:
enabled: true
default:
input: 1
rest: 1
target: 50
target_per_item: 1 # Wie viele Zieltruhen pro Item-Typ erlaubt sind
vip:
input: 2
rest: 2
target: 100
target_per_item: 3
# Truhen-Fenstertitel (Platzhalter: %item%)
chest-titles:
input:
de: "&6Eingangstruhe"
en: "&6Input Chest"
target:
de: "&6%item%"
en: "&6%item%"
rest:
de: "&6Rest-Truhe"
en: "&6Rest Chest"
trash:
de: "&4Mülltruhe"
en: "&4Trash Chest"
# Schildfarben (Minecraft-Farbcodes)
sign-colors:
input:
line1: "&6"
line2: "&0"
line4: "&1"
target:
line1: "&6"
line2: "&0"
line3: "&f"
line4: "&1"
full:
line1: "&c"
line2: "&4"
line3: "&e"
line4: "&1"
rest:
line1: "&6"
line2: "&0"
line3: "&f"
line4: "&1"
trash:
line1: "&6"
line2: "&0"
line4: "&1"
# Schildfarben im Clean-Modus
sign-colors-clean:
input:
line1: "&1"
line2: "&0"
line3: "&a"
target:
line1: "&f"
line2: "&1"
line3: "&a"
full:
line1: "&e"
line2: "&1"
line3: "&a"
rest:
line1: "&1"
line2: "&0"
line3: "&a"
trash:
line1: "&1"
line2: "&0"
# Nachrichten (Platzhalter: %player%, %item%, %x%, %y%, %z%, %mode%, %max%)
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!"
trash-chest-set: "&aMülltruhe erfolgreich eingerichtet!"
trash-chest-hint: "&7Rechtsklicke das Schild um Items zu konfigurieren."
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!"
world-blacklisted: "&cIn dieser Welt kannst du keine AutoSortChest erstellen!"
reload-success: "&aKonfiguration erfolgreich neu geladen!"
mode-changed: "&aModus gewechselt: &e%mode%"
mode-public: "&aÖffentlich"
mode-private: "&cPrivat"
limit-input-reached: "&cDu hast das Limit deiner Eingangstruhen erreicht! &7(%max%)"
limit-rest-reached: "&cDu hast das Limit deiner Rest-Truhen erreicht! &7(%max%)"
limit-target-reached: "&cDu hast das Limit deiner Zieltruhen erreicht! &7(%max%)"
limit-target-per-item: "&cDu hast das Limit für %item%-Truhen erreicht! &7(%max%)"
limit-no-permission: "&cDu hast keine Berechtigung um Truhen zu erstellen!"
trash-cleared: "&a✔ Mülltruhe wurde geleert!"
trash-item-added: "&a✔ &e%item% &azur Müll-Liste hinzugefügt."
trash-item-already: "&eDiseses Item ist bereits in der Müll-Liste."
trash-item-removed: "&c✖ &e%item% &caus der Müll-Liste entfernt."
trash-info-empty: "&4Mülltruhe &8(Deaktiviert) &7– Rechtsklick Schild zum Konfigurieren"
trash-info-filter: "&4Müll: &f%items% &8| Schild-Rechtsklick: Konfigurieren"
🗄️ 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 und Slot-Index |
asc_rest_chests |
Rest-/Fallback-Truhen |
asc_trash_chests |
Mülltruhen mit Serverzuordnung |
asc_trash_items |
Filter-Listen der Mülltruhen |
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: Asynchrones Speichern der
players.yml, konfigurierbarer Sortier-Intervall, TTL-Caching für öffentliche Truhen
💬 Support
Copyright © 2026 - M_Viper - Alle Rechte vorbehalten
Die unbefugte Vervielfältigung, Verbreitung oder Weitergabe dieses Plugins ist strafbar und wird rechtlich verfolgt.