Trimbound 1.0.0

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
KeyDefaultWhat it does
one-piece-percent25What a single matching piece is worth. Four pieces always give 100%.
need-full-set-for-specialtrueWhether each trim's special power needs all four pieces.
patterns-enabledtrueWhether the pattern on your armor changes anything.
pattern-percent25How 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.

ValueWhat happens
autoQuery 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.
providersOnly ask plugins Trimbound supports directly. Never fires an event. Fastest option that still respects WorldGuard.
interact-eventAlways use the fallback. Choose this if you run a protection plugin that is not being respected.
offNever 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.

A common mistake

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.