Mod - Modrinth
BetterSettings
Reliable Paper player settings with custom YAML, toggle and choice values, safe reloads, and Classic or Donut-inspired GUIs.

Source-provided project description. FreeMinecraftMods keeps creator credit and adds separate compatibility and decision guidance below.
Project overview
# ⚙️ BetterSettings **Reliable player settings for Paper — one GUI, custom definitions, choice values, and safe reloads.** [](https://discord.com/invite/VQjTVKjs46) [](https://github.com/mattbaconz/BetterSettings) [](https://bstats.org/plugin/bukkit/BetterSettings/28034)  ## One settings menu, two layouts BetterSettings gives players one place to manage server preferences while giving owners and plugin developers a stable extension point. - **Classic preset:** preserves the existing category-menu workflow. - **Donut-inspired preset:** an opt-in 54-slot tabbed inventory with Chat, Notifications, PvP, Visuals, Privacy, Scoreboard, and General tabs. - **Clear controls:** left-click toggles or advances, right-click selects the previous choice, and shift-click restores the configured default. - **Capability-aware:** provider-backed entries stay hidden until the plugin that implements them registers a behavior. Empty tabs are hidden too.  The Donut-inspired preset recreates the useful settings organization inside a normal Paper inventory. It is not affiliated with DonutSMP and does not copy its pause-screen interface. ## Toggle and choice settings Version 1.1 adds typed values without breaking the original boolean API. - Toggles remain YAML booleans. - Choices persist as strings and can be cycled in either direction. - Invalid stored choices safely resolve to the configured default. - Boolean changes continue to fire the legacy events as well as the new typed value event.  The choice shown above is a custom demonstration definition, not a bundled server feature. ## Custom settings that survive reloads Custom YAML accepts: - a single setting at the root of `settings/*.yml`; - several named settings in one file; or - a named block such as `Test:` with an optional explicit `id`. Unknown categories appear under **Uncategorized** with a warning. Invalid materials fall back to `PAPER` and are reported by validation. Duplicate IDs and invalid definitions fail validation instead of silently replacing another setting. Reloads are atomic: a bad candidate keeps the current live menu running. Settings and behaviors registered by other plugins survive YAML reloads. ## Actions and integrations Custom settings can run validated post-commit actions: - send a player message; - run a player command; or - run a console command. Command effects are best-effort because the destination plugin owns their behavior. The Donut-inspired catalog includes generic provider-backed entries for auction alerts, bounty alerts, payment policy, item-worth lore, display rank, fast crystals, and scoreboard lines. BetterSettings only shows them after a provider registers the matching behavior. ## Native behavior BetterSettings-owned behavior includes chat and player visibility, personal time and weather, protection preferences, movement and potion-style modes, auto-respawn, item pickup, collision, and related Paper-native controls. The active catalog and availability counts are derived from the definitions loaded on your server rather than a fixed marketing number. ## Commands | Command | Purpose | Permission | | --- | --- | --- | | `/settings` | Open the settings menu | `bettersettings.use` | | `/settings reload` | Validate and atomically reload | `bettersettings.reload` | | `/settings info` | Show the active preset and registry counts | `bettersettings.info` | | `/settings validate` | Show loaded, unavailable, skipped, duplicate, and invalid counts | `bettersettings.validate` | ## Developer API The original `Setting`, `SettingsRegistry.registerSetting(...)`, boolean data methods, and boolean events remain available. Version 1.1 adds `ValueSetting`, `SettingType`, `SettingOption`, `SettingBehavior`, string value methods, typed registration, and `PlayerSettingValueChangeEvent`. ```java SettingsRegistry.getInstance().registerSetting(new MyCustomSetting()); ``` ## Requirements and compatibility - **Java 21 or newer** - **Paper 1.20.5 or newer** - No required third-party plugins The same Java 21 artifact was exercised on Paper 1.20.5 with Java 21 and stable Paper 26.2 with Java 25. Folia is not advertised for 1.1 because its complete runtime journey has not been verified. Paper 26.3 remains an experimental smoke target rather than advertised stable support. ## Upgrade from 1.0 1. Back up `plugins/BetterSettings/` as normal operational hygiene. 2. Replace the old JAR with `BetterSettings-1.1.0.jar`. 3. Keep the existing configuration and player-data files in place. 4. Res
FreeMinecraftMods decision guide
This mod is most relevant to players looking for library, management, utility on folia, paper, purpur. Treat those labels as discovery hints, then verify the exact file and dependency list on the official project page.
The source record was updated on Sep 22, 2026, which is a recent freshness signal. A recent date does not guarantee support for every loader or Minecraft version, so still inspect the current file list.
What to verify before choosing a file
- Confirm that the file is published by the credited creator on the linked official source.
- Match the Minecraft version exactly instead of relying only on a broad category label.
- Read dependencies, incompatibilities, and changelog notes before updating an existing instance.
- Match the loader or server platform and its required version. Forge and NeoForge are not interchangeable.
- Back up worlds and configuration files before testing the project in a long-term save or public server.
Compatibility at a glance
Minecraft versions in this snapshot: 1.20.5, 1.20.6, 1.21, 1.21.1, 1.21.2, 1.21.3, 1.21.4, 1.21.5, 1.21.6, 1.21.7, 1.21.8, 1.21.9
Loaders and platforms: folia, paper, purpur
Before you install
Match the exact Minecraft version and loader, install every required dependency, and test in a separate profile before opening an important world. Keep a backup before changing a working mod list.
Source, licensing, and corrections
FreeMinecraftMods does not mirror the project files. Use the official source for downloads, release notes, dependencies, support, and licensing details. Project names, images, and creator-written descriptions remain the property of their respective owners.
How listings are reviewed | Report incorrect project information | Rights-holder and DMCA information
