SettingsLibrary
A powerful, centralized settings GUI library for Minecraft Spigot & Paper plugins.
SettingsLibrary provides a unified GUI where players can access and configure all supported plugins in one place. Instead of every plugin having its own settings command, everything is available through a single [/settings] menu.
-----------------------------------
Features
• Unified settings interface for all plugins
• Simple API for developers
• 6 built-in GUI templates
• Fully configurable appearance, sounds, and animations
• Border animations and visual effects
• Automatic plugin slot positioning
• Manual slot override support
• Hot-reload without server restart
• Priority-based plugin ordering
• Event-driven registration system
-----------------------------------
Commands
- /settings – Open the centralized settings menu
- /settingslibrary list – List all integrated plugins
- /settingslibrary info <plugin> – View plugin integration details
- /settingslibrary reload – Reload configuration files
- /settingslibrary refresh – Refresh all open menus
- /settingslibrary debug – Toggle debug mode
Aliases
/settingsmenu, /pluginsettings
/settingslibrary → /setlib, /slib
-----------------------------------
Permissions
- settingslibrary.use – Access the /settings menu (default: true)
- settingslibrary.admin – Access admin commands (default: OP)
- settingslibrary.reload – Reload configuration (default: OP)
-----------------------------------
GUI Configuration Example
Code (Text):
gui:
title: "&8&l✦ &b&lSettings &8&l✦"
size: 54
open-sound:
enabled: true
sound: BLOCK_NOTE_BLOCK_PLING
volume: 0.5
pitch: 1.2
click-sound:
enabled: true
sound: UI_BUTTON_CLICK
volume: 0.7
pitch: 1.0
animations:
enabled: true
border-interval: 10
GUI Templates
Available templates:
• Default
• Minimal
• Compact
• Grid
• Fancy
• Centered
Code (Text):
template:
active: "default"
auto-arrange: true
auto-arrange-start: 10
Plugin Developer Integration
1. Add Soft Dependency
Code (Text):
softdepend: [SettingsLibrary]
Code (Text):
SettingsLibraryAPI.ifAvailable(api -> {
api.registerProvider(new MySettingsProvider(this));
});
Open your own GUI or settings menu when clicked.
-----------------------------------
API Highlights
• Register and unregister providers
• Open settings menu programmatically
• Refresh all open menus
• Priority-based display ordering
• Event-based integration support
-----------------------------------
Manual Slot Override
Code (Text):
positions:
my-plugin: 20
another-plugin: 21
Example Plugin
A full working example plugin is available here:
https://github.com/MikeyDevelopmentz/SettingsLibrary-Example
Includes:
• Toggle switches
• Sliders
• Back navigation
• Persistent configuration
• Sound effects
-----------------------------------
Support & Links
• GitHub Issues:
https://github.com/MikeyDevelopmentz/SettingsLibrary/issues
• Source Code:
https://github.com/MikeyDevelopmentz/SettingsLibrary
• Example Plugin:
https://github.com/MikeyDevelopmentz/SettingsLibrary-Example
-----------------------------------
License
MIT License
-----------------------------------
Author
Mikey
Version
1.0.1
Tested Versions
1.20 – 1.21.4 (Spigot & Paper)
Quick facts
- Edition: Minecraft Java
- File type: .jar
- Minecraft version listed: 1.21
- How to install: Install the matching mod loader (Forge, Fabric or NeoForge) for your Minecraft version. → Download the .jar. → Put it in the .minecraft/mods folder and launch that loader profile.
- Where to get it: Opens on Spigot — not every file is mirrored on our own servers.
Install steps are the general flow for this file type — How to install Minecraft Java mods & modpacks walks through it step by step.
Settings library is a free Minecraft Java mod. Compatible with Minecraft 1.21. Downloaded 32 times (via Spigot). Download it and open it directly in the game.