Skip to content

RainBowCreation/ViaChest

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

8 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

ViaChest

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.

Features

  • /viachest opens 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.

Build

Gradle (Java 17).

./gradlew build

The produced JAR will be in build/libs.

Install

  1. Put ViaChest into your plugins/ folder.
  2. (Recommended) Install GuiLib plugin too so you get a richer UI. Without GuiLib the plugin falls back to a plain chest inventory.

Config

See config.yml:

  • inventory.size (9..54)
  • guard.class and guard.method (default Guard112#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.

MySQL Table

Created automatically (viachest table with columns: player_uuid, items, updated_at). Items are stored as Base64-encoded, GZIP-compressed serialized ItemStack[].

Notes

  • Compiled against Spigot 1.20.6; api-version: 1.13 to remain friendly with older material enums.
  • If GuiLib is present the menu uses MenuHolder and per-slot ItemButtons; otherwise we show a normal chest.

About

Cross-server virtual chest

Resources

Stars

0 stars

Watchers

0 watching

Forks

Packages

 
 
 

Contributors

Languages