Installation
Requirements
| Java | 21 or newer |
| Server | Paper 1.20.4 or newer, both 1.20.x and 1.21.x |
| Required | SnLib.jar (SnLib 1.24.1 or newer) |
| Optional | PlaceholderAPI |
| Database | SQLite (default, no setup) or MySQL |
| License | Yes - SnKits is part of the licensed bundle |
The jar is compiled for Java 21. A 1.20.x server still running Java 17 refuses to load it, so move the server to Java 21 first.
Steps
- Download
SnKits-<version>.jarfrom the releases page (tags prefixedsnkits-). - Put it in
plugins/, together withSnLib.jar. - Start the server. SnKits writes its files, creates
plugins/.Sn-License/license.ymland then disables itself, because that file still holds a placeholder. - Paste your bundle key on the first non-comment line of
plugins/.Sn-License/license.yml. - Restart the server. SnKits validates the key at startup.
- Edit
plugins/SnKits/config.ymland the menus underplugins/SnKits/guis/, then run/kit reload.
One key unlocks the whole bundle. plugins/.Sn-License/license.yml is shared by every Sn bundle
plugin on the server, so if you already run one of them the file exists and SnKits reads the key
that is already there. Nothing to paste twice.
The key is checked once, at startup. SnKits refuses to enable without a valid one, so the server
log is the place to look if the plugin is missing from /plugins.
Updating SnLib always needs a full restart, never a /reload.
First boot
plugins/
.Sn-License/
license.yml your bundle key - shared by every Sn bundle plugin on this server
SnKits/
config.yml menus, auto-claim, multi-claim, sounds, database, editor strings
kits/
default.yml a working kit, ready to rename, edit or delete
guis/ the layout of every menu, one file each
kits-main.yml the display menu a bare /kit opens
kits-more.yml a second page, linked both ways
kit-preview.yml the read-only preview of a kit's contents
kit-edit.yml the admin edit menu
command-item.yml the command item editor
lang/
messages_en.yml every line the plugin sends to players and admins
data.db SQLite database, when database.type is sqliteNothing has to be created by hand. Every file above is written on first boot.
Dependencies
| Plugin | Required |
|---|---|
| SnLib | Yes |
| PlaceholderAPI | No |
Updating
Replace the jar and restart. New keys are merged into your config.yml, lang/messages_en.yml
and guis/*.yml on boot, and your values, comments and additions are preserved. Example entries
you deleted stay deleted.
Kit files under kits/ are data, not managed config. The plugin rewrites each one whole every
time you save a kit, so nothing is ever merged into them.