feat: Add LuckPerms group assignment to tier sync — sets group + meta on checkout
This commit is contained in:
@@ -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]}`)
|
||||
])
|
||||
);
|
||||
|
||||
|
||||
Reference in New Issue
Block a user