2 releases, newest first.
debug key holding a plain value is
repaired before SnLib merges the shipped schema. SnLib's updater nests a section's children
under whatever disk key it finds, so a hand-written debug: false would otherwise merge
into invalid YAML, leave the plugin with an empty config, and silence every death message
with nothing in the log to explain it.plugin.yml and the source.Nothing changes for a running server: same config layout, same permission nodes, same messages.
SnKills prints a configurable death message per damage cause, and renders the killer's weapon in chat with its real in-game tooltip - name, enchantments, lore and attribute modifiers - by hovering the item itself rather than a rebuilt copy of it.
Built on SnLib, which provides the config, language, text, command and PlaceholderAPI layers.
First non-empty template wins:
death-messages.PLAYER_KILL - whenever the victim has a player killer, whatever the damage
cause was.death-messages.<DamageCause> - the cause that actually killed the victim.death-messages.FALLBACK.The vanilla death message is always suppressed, so all three empty means a genuinely silent
death. Missing DamageCause entries are added to config.yml on startup, keeping the file in
sync with the server's enum across Minecraft upgrades; an entry that matches no cause is
reported by name in the console instead of being dropped in silence.
%victim%, %attacker%, %item% (the weapon, with its native hover), %prefix%, and any
PlaceholderAPI placeholder - resolved with the victim as context. PlaceholderAPI is optional;
without it the tokens are left untouched and the message still sends.
SnLib.jar in plugins/ alongside SnKills. Updating SnLib always
needs a restart, never a reload.plugins/.Sn-License/license.yml. On a first boot the file
is created with a placeholder and the plugin disables itself until you fill it in. If you
already run another Sn bundle plugin, the key is already there./snkills help is SnLib's paginated, permission-filtered help.command.aliases in config.yml adds aliases live on /snkills reload.
skills also ships in plugin.yml, so removing it from the config does not unregister it.<gradient>, <rainbow>) on top of
& codes and &#RRGGBB hex. Interactive tags (<click>, <hover>, <font>, <newline>)
are deliberately left as literal text: a placeholder can resolve to text a player chose, and
a death message goes to everyone on the server.snkills.admin.update only./snkills debug toggles verbose per-death diagnostics at runtime.SnKills has no player-facing commands, so the whole tree is admin-gated: snkills.admin is the
parent of snkills.admin.reload, snkills.admin.debug and snkills.admin.update.
This release passed a full audit: 8 criticals found, 6 fixed and blind-verified, 2 routed upstream to the shared licence template. An independent close pass across 8 dimensions found nothing new.
None of that is a runtime test. The plugin has not been booted on a production server as part
of this release. If you hit something, open an issue - the console is verbose under
/snkills debug.