Configuration
config.yml
Everything lives in plugins/Trimbound/config.yml. The per-trim
numbers are documented on the trim reference page; this page covers the settings that
apply to the plugin as a whole.
Reloading
/trimbound reload re-reads all three files without restarting. It
clears any state the plugin was holding first, so nothing carries over from the old
settings.
One thing does not reload: renaming a command or subcommand. Paper only rebuilds its
command tree at startup or on a real Minecraft /reload confirm, and there
is no supported way for a plugin to trigger that from inside its own command.
Everything else applies immediately. If you rename something and reload, the plugin
says so in chat rather than letting you believe it worked.
Top level
enabled: true # master on/off switch for the whole plugin
advancements:
enabled: true # grant advancements when trim effects trigger
metrics:
enabled: true # anonymous usage reporting through bStats
Turning enabled off leaves the plugin loaded and the commands working,
but no trim does anything.
metrics.enabled controls anonymous reporting through bStats: server
version, player count, and which settings are in use. Nothing identifies your server
or your players. The server wide toggle in plugins/bStats/config.yml
applies as well, so either one switches it off.
trims
The four settings that control partial sets and patterns. There is more detail on the how trims work page.
trims:
one-piece-percent: 25
need-full-set-for-special: true
patterns-enabled: true
pattern-percent: 25
| Key | Default | What it does |
|---|---|---|
one-piece-percent | 25 | What a single matching piece is worth. Four pieces always give 100%. |
need-full-set-for-special | true | Whether each trim's special power needs all four pieces. |
patterns-enabled | true | Whether the pattern on your armor changes anything. |
pattern-percent | 25 | How far a pattern can swing an ability. 0 makes them all identical. |
permissions
permissions:
per-trim: false
Off by default, so that updating the plugin does not suddenly take abilities away from
everyone on your server. Turn it on and each trim needs its own node:
trimbound.trim.redstone,
trimbound.trim.diamond and so on, using the material name in lower
case.
This is mainly useful for tying trims to ranks or unlocking them through progression.
A player without the node is treated as though they are not wearing that trim at all,
and /trimbound status will tell them permission is the reason.
worlds
worlds:
disabled:
example_creative_world:
- redstone
example_pvp_arena:
- diamond
- netherite
Switches individual trims off in named worlds. World names are matched exactly, though case does not matter. Worlds that do not exist are ignored, so leaving the two example entries in place does nothing.
The usual reasons for reaching for this are a creative build world where you do not want redstone firing under people's feet, and a PvP arena where a cheat-death effect would change every fight.
Commands and subcommands
command:
- trimbound
subcommands:
reload:
- reload
timings:
- timings
status:
- status
Each of these is a list, so extra entries become aliases. Renaming needs a server restart to take effect, as described at the top of this page.
Per-trim numbers
Each of the eleven trims has its own block. They all start with an
enabled key, which switches off that one trim and leaves the rest alone.
redstone:
enabled: true
power-level-on-step: 15
affects-torches: true
activates-mechanisms: true
triggers-dispensers: true
respects-claims: true
claim-check: auto
The full list of keys, with defaults and what each one does, is on the trim reference page next to the ability it belongs to.
Claim checks
The redstone trim will not power, open or trigger a block inside somebody else's
claim. claim-check decides how it asks, and only matters while
respects-claims is true.
| Value | What happens |
|---|---|
auto | Query WorldGuard directly if it is installed. Otherwise use the fallback, but only when some protection plugin is actually present. This is the default and the right answer for almost every server. |
providers | Only ask plugins Trimbound supports directly. Never fires an event. Fastest option that still respects WorldGuard. |
interact-event | Always use the fallback. Choose this if you run a protection plugin that is not being respected. |
off | Never check. The trim will happily power things inside other people's claims. |
The fallback works by firing the same physical interaction vanilla fires for a pressure plate and seeing whether anything denies it. That is accurate, but it is dispatched to every plugin on the server that listens for interactions, which is why it is not used unless a protection plugin is installed.
When a value is wrong
Numbers are clamped to a sensible range rather than trusted. A percentage above 100 becomes 100. A negative multiplier becomes zero. A redstone signal of 99 becomes 15, because 15 is as strong as redstone gets.
If the file itself does not parse, the plugin reports the error along with the line it choked on, leaves your file untouched, and runs on built-in defaults for that session. This is worth stressing: a syntax error will not overwrite your config. Fix the error, run reload, and your settings come back.
YAML does not accept tab characters for indentation, and some editors insert them without showing you. If the plugin reports that your config could not be read and the line it names looks perfectly fine, check for a tab.