2026-03-04 11:41:13 +01:00
2026-03-04 11:41:13 +01:00
2026-02-25 18:02:14 +00:00
2026-03-04 09:13:51 +00:00

AutoSortChest

Intelligente Lagerverwaltung & automatisierte Sortiersysteme ohne Redstone-Chaos

Version Java Type


Ü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.yml und 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.yml editieren.

📖 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.yml einstellen (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.


Wenn MySQL aktiviert und server_crosslink: true gesetzt ist, können Zieltruhen auf anderen Servern desselben Netzwerks liegen.

Funktionsweise:

  1. Server A hat die Eingangstruhe und erkennt, dass die Zieltruhe für OAK_LOG auf Server B liegt.
  2. Server A schreibt den Transfer in die gemeinsame Datenbank (asc_transfers).
  3. Server B liest die Transfer-Tabelle und befüllt seine lokale Zieltruhe automatisch.

BungeeCord-Setup:

  1. Dieselbe MySQL-Datenbank auf allen Servern eintragen.
  2. Auf jedem Server einen eindeutigen server_name setzen (z. B. survival, creative).
  3. mysql.enabled: true und server_crosslink: true setzen.
  4. Alle Server neu starten das Schema wird automatisch migriert.

Wird server_name leer 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. Vergib autosortchest.limit.default an 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

Discord


Copyright © 2026 - M_Viper - Alle Rechte vorbehalten

Die unbefugte Vervielfältigung, Verbreitung oder Weitergabe dieses Plugins ist strafbar und wird rechtlich verfolgt.

2.5 Latest
2026-03-04 10:39:04 +00:00
Languages
Java 100%