16 releases, newest first.
/clan givepoint <point> <amount> [clan|player] now accepts a player nick as its optional target argument. /c givepoint kills 1 Snopeyy credits the clan Snopeyy belongs to instead of failing with "No clan named Snopeyy was found".messages.player-no-clan ("<player> is not in a clan"), so the message says what is actually wrong./clan info uses. Omitting the argument still credits your own clan.givepoint now suggests clan names plus online player nicks.guis/permissions.yml layout notice added in 1.8.0, which its own text scheduled for removal in this version.Requires SnLib 1.20.0 or newer. SnClans refuses to enable against an older engine.
The role selector and the toggle matrix of guis/permissions.yml used to be positioned by two slot arrays inside the plugin, so editing the layout: did nothing to them. Worse, the two had drifted: the mask marked 14 toggle cells while the plugin used 13, leaving slot 31 a permanent air hole in the middle of the row.
Both groups are now regions declared in the file:
layout:
- "fffffffff"
- "fffrrrfff"
- "ftttttttf"
- "ftttftttf"
- "ffffxffff"
regions:
roles: r
toggles: tMove the letters to reposition a group, add or remove letters to resize it, or take a letter out to remove it. Reordering the cells reorders the picture only - every switch carries its own action, so it can never end up toggling a different permission. To pick the cells and their order by hand, swap the letter for a slot list:
regions:
toggles:
slots: ["19-25", "28-30", "32-34"]The 13-vs-14 gap moved out of the plugin and into the mask: row 4 is "ftttftttf", so slot 31 shows a filler pane instead of an air hole, and the day a 14th gated action exists you show it by typing one more t.
The config updater adds the new regions: block to your existing guis/permissions.yml, but it never rewrites layout: rows you already have. Your file still spells the role selector as 1/2/3, which the roles region does not use, so the role selector would not render. SnClans logs a one-line hint on every boot until you fix it.
Pick one:
"fff123fff" to "fffrrrfff", and row 4 from "ftttttttf" to "ftttftttf".guis/permissions.yml and let it reseed (you lose any customisation of that one menu).If you leave the old row 4 in place, nothing breaks: your 14 toggle cells hold the 13 switches and the last cell stays empty. The migration notice is temporary and is removed in 1.9.0.
API_VERSION 1.0.0.Open / Closed, Online / Offline and Allowed / Denied wording is now yours. Those lists.status-* keys have been in lang/messages_en.yml since the first release, but nothing read them: the values were duplicated inside the plugin, so editing the file changed nothing. They are now read from the file, and one edit applies to the chat commands, the menus and the placeholders at once.status-pvp-on / status-pvp-off (the PvP field of /clan info), status-allowed / status-denied (the permissions menu), status-none (a clan with no description, and the role of a player in no clan), status-unknown (a player name that no longer resolves), status-console (the actor of a console action in staff notices) and status-no-rank (the leaderboard position of a clanless player).actions block in the language file names all 13 clan permissions, so the toggles read Open / Close and Set Home instead of open-close and sethome. The same names appear in "your clan role is not allowed to use ...".guis/permissions.yml reads &7State: {state} instead of a fixed word, so the Allowed/Denied wording comes from the language file. An install that already exists keeps the fixed word on disk, since the updater never overwrites your values; replace it with {state} by hand to pick up the language file.presentation.date-format sets the pattern for the creation and join dates in the menus. Applies on /clan reload, and falls back to yyyy-MM-dd if the pattern does not parse.%snclans_status_display% placeholder gives the join status in your own wording. %snclans_status% is unchanged and still returns the fixed open / closed token, so scoreboard conditions comparing against it keep working.%snclans_role% returned the raw ₢f2 color code instead of a colored name.guis/info.yml instead of from Java. Each template declares its cell with key: a..key: e against the menu layout: mask, so moving a letter in the mask moves the element.GuiService binds those five through SnLib 1.18.0's no-slot bind(templateId, phs) overload; the hardcoded slot constants are gone.points section in config.yml is now marked # sn:extensible: point types you delete stay deleted across restarts, and point types you add are preserved. Previously the config updater re-inserted the default entries (e.g. mobkills) on every boot.config.yml now follows the canonical three-tier frame shared by the whole Sn fleet, so the same option sits in the same place in every plugin.api-events moved from the last key of the file to Tier 2, directly after database. Previously it sat at opposite ends in SnClans and SnElementalGems.cooldowns and restrictions grouped into the limits band; action-roles gained a section banner.debug now ships all three keys (enabled / level / categories) with comments, so the first /clan debug toggle no longer appends two uncommented keys to your config.Resource-only change: no Java touched, no key renamed or removed, no behavior change. Existing servers keep their current key order and simply receive the two new debug keys on boot.
SnApi.LEVEL is a compile-time constant, and the upgrade was verified POM-ONLY (no out-of-gate imports, clean rebuild, 63 classes structurally and data-flow verified by the obfuscator).These come from SnLib and need no configuration:
/c help shows /c ... instead of /clan ....lang/messages_en.yml under a new translatable commands block on first boot. Edit them freely: they are never overwritten, and deleting one restores the default.k/m/b/t suffixes, so /clan givepoint 10k means 10000.snclans.notify is now declared as a child of snclans.admin, so permission-plugin groups granted the parent also receive staff notifications of clan events (previously the parent did not grant it).No action needed for setups that grant snclans.notify directly.
com.sn:snlib compile pin moves from 1.6.0 to 1.7.1, matching the current SnLib release running on servers.com.sn.clans.api (API_VERSION 1.0.0): other plugins can now compile against SnClans.SnClansAPI query facade + SnClansProvider (Bukkit ServicesManager), immutable ClanView/MemberView snapshots.ClanCreateEvent, ClanDisbandEvent, ClanMemberJoinEvent, ClanMemberLeaveEvent (LEAVE/KICK/BAN), ClanAllyFormEvent.ClanPointsChangeEvent, ClanRoleChangeEvent, ClanAllyBreakEvent.ClanPointsModifier SPI: external plugins (boosters, seasonal events) can shape point deltas before the zero clamp.api-events.enabled master switch in config.yml (default true); the query facade and the SPI stay live when disabled.snclans.admin.update permission in plugin.yml (default op, child of snclans.admin), so non-op admins can receive update notices via permission plugins. Pairs with SnLib 1.7.0, which now also notifies admins already online at detection time and drops the URL from the console line.notifications.connection-events)./clan info tab-completes and resolves online player nicks in addition to clan names (clan names take precedence).clan.allies.enabled master switch: disabling it gates /clan ally, /clan unally and /clan allychat, reroutes ally chat to the clan channel and turns off ally friendly-fire. allies.max default is now 1 on fresh installs.banner.cooldown-seconds on every check, so config edits and /clan reload retime already-armed cooldowns. The cooldown entry is also dropped when a clan disbands.banner.hologram.lines (placeholders {clan}, {time}) and a selectable backend banner.hologram.provider: snlib | decentholograms. DecentHolograms is a new optional softdepend; when selected but not installed the plugin logs a warning and falls back to the built-in snlib provider.{status}/{description} tokens (legacy {policy}/{motd} still resolve) and new PAPI aliases %snclans_description% and %snclans_status%./clan opens the clan menu; new /clan admin <sub> command group for staff; /clan members replaces /clan roster./clan settings was replaced by direct commands: /clan description, /clan open, /clan close, /clan permissions (new per-role clan permissions GUI)./clan open lets anyone join, /clan close reverts./clan info now shows real per-category values; complete trigger defaults in config.New config and language keys merge in automatically on boot; removed keys from older versions stay inert. Review clan.name.style, broadcasts and banner.hologram in config.yml to tune the new features.
{prefix} shown in chat; full branded SnLib command-message block.config.yml now starts with the standard Sn base block; new command.aliases list (default [c]), editable and re-read on /clan reload.<hint> placeholders for free-form values.guis/ files).Your customized lang/messages_en.yml is preserved by SnLib and will still contain the old {prefix} lines: replace that file during the update (keep a backup) or delete it so the corrected version regenerates.