From 23509d700b12a7bef5f09b39f2ea8072b28b1e43 Mon Sep 17 00:00:00 2001 From: Claude Date: Wed, 15 Apr 2026 09:42:17 +0000 Subject: [PATCH] =?UTF-8?q?feat:=20Add=20LuckPerms=20group=20assignment=20?= =?UTF-8?q?to=20tier=20sync=20=E2=80=94=20sets=20group=20+=20meta=20on=20c?= =?UTF-8?q?heckout?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../arbiter-3.0/src/services/luckpermsSync.js | 19 +++++++++++++++++-- 1 file changed, 17 insertions(+), 2 deletions(-) diff --git a/services/arbiter-3.0/src/services/luckpermsSync.js b/services/arbiter-3.0/src/services/luckpermsSync.js index e3a15b5..66e6a73 100644 --- a/services/arbiter-3.0/src/services/luckpermsSync.js +++ b/services/arbiter-3.0/src/services/luckpermsSync.js @@ -25,6 +25,20 @@ const TIER_META = { 10: { maxclaims: 225, maxchunkloaders: 81 }, // Sovereign }; +// Tier level -> LuckPerms group name +const TIER_GROUP = { + 1: 'awakened', + 2: 'elemental', + 3: 'elemental', + 4: 'knight', + 5: 'knight', + 6: 'master', + 7: 'master', + 8: 'legend', + 9: 'legend', + 10: 'sovereign', +}; + /** * Get all online Minecraft server identifiers from server_config */ @@ -83,11 +97,12 @@ async function syncLuckPermsMeta(discordId, tierLevel) { return { success: false, reason: 'no_online_servers' }; } - // Send meta commands to all online servers + // Send meta + group commands to all online servers const results = await Promise.allSettled( onlineServers.flatMap(serverId => [ sendCommand(serverId, `lp user ${username} meta set maxclaims ${meta.maxclaims}`), - sendCommand(serverId, `lp user ${username} meta set maxchunkloaders ${meta.maxchunkloaders}`) + sendCommand(serverId, `lp user ${username} meta set maxchunkloaders ${meta.maxchunkloaders}`), + sendCommand(serverId, `lp user ${username} group set ${TIER_GROUP[tierLevel]}`) ]) );