- Paper 26.1.2 as the supported live target, or Paper 26.2 for compatibility testing
- Java 25 to run those Paper versions
- Vault
- A Vault-compatible economy provider registered before ShopChest enables
ShopChest's own classes target Java 17 bytecode, but the supported Paper server determines the Java 25 runtime requirement.
- Stop the server cleanly.
- Install Vault and the chosen economy plugin in the top-level
plugins/directory. - Place
ShopChest-1.15.0-SNAPSHOT-all.jarinplugins/. Remove older ShopChest jars so only one top-level jar remains. - Start the server and verify that ShopChest reports its version without disabling itself.
- Review
plugins/ShopChest/config.ymlandhologram-format.yml. - Run
/shop info,/shop limits, and a controlled create/buy/sell test.
ShopChest disables itself when Vault, an economy provider, database access, or a compatible server platform is unavailable.
- Stop the server; do not hot-swap or plugin-reload the jar.
- Back up
plugins/ShopChest/and, for MySQL, the configured ShopChest tables. - Replace the old jar with the newly built shaded jar. Keep exactly one ShopChest jar in
plugins/. - Preserve
config.yml,hologram-format.yml, language files, and database data. - Start the server, watch schema migration messages, and test
/shop info,/shop reload, shop creation, holograms, and both trade directions.
Legacy database migrations create backup tables before converting old unprefixed shop and economy-log schemas. They do not migrate data between database engines.
From the repository root:
JAVA_HOME=/path/to/jdk-25 ./gradlew build plugin:shadowJarThe output is plugin/build/libs/ShopChest-1.15.0-SNAPSHOT-all.jar. Local servers/, Gradle output, logs, and test-server jars are ignored and must not be committed.
The project compiles against the 26.1 API line and uses one jar for Paper 26.1.2 and 26.2. Paper 26.2 remains a compatibility-test target until promoted separately. Do not change the main target merely to test an experimental Paper build.