feat: Add LuckPerms group assignment to tier sync — sets group + meta on checkout

This commit is contained in:
Claude
2026-04-15 09:42:17 +00:00
parent 6bf9e41242
commit 23509d700b

View File

@@ -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]}`)
])
);