7 releases, newest first.
plugins/.Sn-License/license.yml - one key per server covers
every Sn bundle plugin, not one key per plugin. First boot creates the file with a
placeholder and stops.paperweight-mappings-namespace: mojang manifest entry so Paper 1.20.5+ does not
remap the jar and break the checksum check.Existing servers need a bundle key before this build will enable. Everything else - config, menu, worlds, permissions - is unchanged; no migration.
com.sn:snlib 1.15.0 -> 1.20.0 (required API level is now 12).config.yml debug block now ships all three keys (enabled / level / categories) with comments, completing the canonical base block shared by the whole Sn fleet.enabled was shipped, so the first debug toggle appended level and categories to your config uncommented. Now the toggle only writes values.Key order was already correct, so nothing moved. Resource-only change: no Java touched, no key renamed or removed, no behavior change.
worlds: in config.yml and items: in guis/menu.yml are now declared owner-owned
(# sn:extensible). Previously SnLib's always-merge updater treated every shipped entry as
mandatory schema, so a server with no End that deleted worlds.end got it - and its menu icon -
re-inserted on the next boot. Deletions now stick, additions keep surviving, and deleting a whole
section still restores the shipped defaults.
Required API level moves 7 -> 10, so this build needs SnLib 1.15.0. Behavior inherited from the range:
/wild now renders its help and usage under /wild instead of /rtp (1.13.0).lang/messages_en.yml under a commands: block, so they
can be translated without touching the jar (1.14.0).command.aliases (1.12.1).No config migration is needed: the markers are comments in the shipped resource, and existing files are merged as before.
/rtp is now menu-only for players: the bare command opens the GUI and that is the whole player-facing surface./rtp <world>); a destination is always picked from the menu button, whose teleport engine is unchanged.help subcommand: SnLib's injected reload+help pair is opted out of (withoutDefaults()) and reload is re-declared identically, so nobody gets /rtp help. debug still auto-injects from the spec, and console still renders the generated help on a bare /rtp.messages.players-only lang key (existing servers keep their copy harmlessly)./rtp reload (snrtp.admin.reload) and /rtp debug (snrtp.admin.debug).
effects.warmup-color, effects.warmup-fade-color, effects.warmup-size and their arrival- counterparts were added to config.yml.DUST (color + size), DUST_COLOR_TRANSITION (color, fade-color, size) and ENTITY_EFFECT (color). Every other particle keeps its vanilla look and ignores the new keys.PORTAL / END_ROD fallback because the engine refused any particle carrying extra data. They now render properly.minecraft: prefix and . / - separators accepted, and DUST / REDSTONE resolve to each other so one config works on 1.20.x and 1.21.x.#RRGGBB or R,G,B. A malformed value warns once in console and keeps the default #8354f2.New keys auto-merge on boot; existing configs keep their values and comments.
Lightweight fully-async per-world random teleport that avoids protected regions (WorldGuard / ProtectionStones). Requires SnLib 1.12.0+.