Cross-server virtual chest plugin using Spigot API (built against 1.20.6, api-version: 1.13 for wide material compatibility) and GuiLib as an optional GUI layer.
/viachestopens a personal, server-agnostic chest (default 54 slots).- Items are validated with your custom guard:
Guard112.isSafe(ItemStack)(static method). Fully-qualified class name is configurable. - Hybrid persistence:
- MySQL/MariaDB (HikariCP) for cross-server sync.
- Local YAML cache for resilience and offline reads.
- Modes:
SQL_FIRST,LOCAL_ONLY,DUAL_WRITE.
Gradle (Java 17).
./gradlew build
The produced JAR will be in build/libs.
- Put ViaChest into your
plugins/folder. - (Recommended) Install GuiLib plugin too so you get a richer UI. Without GuiLib the plugin falls back to a plain chest inventory.
See config.yml:
inventory.size(9..54)guard.classandguard.method(defaultGuard112#isSafe).guard.require: If true and the guard cannot be found/invoked, storing is denied.storage.mode:SQL_FIRST/LOCAL_ONLY/DUAL_WRITE.mysql.*: Connection settings.
Created automatically (viachest table with columns: player_uuid, items, updated_at). Items are stored as Base64-encoded, GZIP-compressed serialized ItemStack[].
- Compiled against Spigot 1.20.6;
api-version: 1.13to remain friendly with older material enums. - If GuiLib is present the menu uses
MenuHolderand per-slotItemButtons; otherwise we show a normal chest.