{
  "name": "CPMStaffCommands",
  "author": "Mad",
  "supportedGames": [
    "all"
  ],
  "takaroVersion": "v0.0.21",
  "versions": [
    {
      "tag": "latest",
      "description": "Provides a set of moderator commands for enhanced server management, especially useful alongside the CPM (CSMM Patrons Mod). These commands offer tools for player moderation, world manipulation, and server administration.\n\n  ## Key Functionality\n\n  * **Player Management:**\n      * `/kill <playerTarget>`: Instantly kills the specified player (requires confirmation).\n      * `/mute <player> <reason>`: Mutes a player in chat with a specified reason.\n      * `/unmute <player>`: Unmutes a player.\n      * `/arrest <player> <reason>`: Places a player in a designated jail area with a reason.\n      * `/release <player>`: Releases a player from jail.\n      * `/pull <player>`: Teleports the specified player to the moderator's location.\n      * `/rpd <player>`: Resets the specified player's data (use with extreme caution).\n      * `/wi <player> <tool>`: Wipes a player's inventory (`belt`, `bag`, `equipment`, or `all`).\n  * **Player Buffs/Debuffs:**\n      * `/buff <player>`: Temporarily grants god-like powers to a player.\n      * `/debuff <player>`: Removes specified debuffs from a player.\n  * **World Manipulation:**\n      * `/pr`: Resets the current Point of Interest (POI).\n      * `/reset1`: Sets the first corner for chunk reset.\n      * `/reset2`: Resets chunks between the first and second corners.\n      * `/killall`: Kills all zombies on the server.\n      * `/visitmap`: Opens the server map (requires CPM functionality).\n  * **Server Control:**\n      * `/shutdownba <minutes>`: Shuts down the server after a specified delay.\n\n  ## How to Use\n\n  1.  **Installation:** Install the module on your Takaro instance.\n  2.  **CPM Requirement:** This module is designed to enhance 7 Days to Die servers using the CSMM Patrons Mod (CPM). While some commands may function without it, full functionality is not guaranteed.\n  3.  **Discord Integration (Optional):**\n      * Configure the `userDiscordChannel` setting to enable Discord notifications for certain moderation actions (e.g., bans, kicks, mutes).\n  4.  **Permissions:** Grant the `STAFF_COMMANDS` permission to the player groups or individuals who should have access to these moderator commands.  Individual commands may have their own permissions as well.\n\n  5.  **In-Game Usage:** Moderators can use the commands as described in the \"Key Functionality\" section. Pay close attention to the specific syntax and arguments required for each command (e.g., using quotes around player names with spaces).\n\n  ## Important Considerations\n\n  * **CPM Compatibility:** The module's functionality may depend on the specific version and configuration of the CSMM Patrons Mod.  Ensure compatibility to avoid issues.\n  * **Permission Management:** Use the provided permissions to restrict access to these powerful moderator commands.  Incorrect usage can disrupt the game experience.\n  * **Confirmation:** Some commands (e.g., `/kill`, `/rpd`) require confirmation to prevent accidental execution due to their potentially destructive nature.\n  * **Discord Setup:** If using Discord notifications, ensure that your Takaro instance is properly configured to communicate with your Discord server.\n",
      "configSchema": "{\"$schema\":\"http://json-schema.org/draft-07/schema#\",\"type\":\"object\",\"required\":[\"userDiscordChannel\"],\"additionalProperties\":false,\"properties\":{\"userDiscordChannel\":{\"title\":\"userDiscordChannel\",\"description\":\"Sends to discord\",\"default\":\"\",\"type\":\"string\"}}}",
      "uiSchema": "{}",
      "commands": [
        {
          "name": "azomb",
          "trigger": "azomb",
          "helpText": "[02FEDC]Stand directly above your land claim when you run this command!!!!!![-] ",
          "function": "import { takaro, data, checkPermission, TakaroUserError } from '@takaro/helpers';\n\nasync function main() {\n    const { player, module: mod, gameServerId, pog } = data;\n\n    //Check Permissions\n    if (!checkPermission(pog, 'ZOMB_FREE_SELF')) {\n        throw new TakaroUserError('You do not have permission to use the [02FEDC]Zombie free[-] commmand.');\n    };\n\n    await player.pm(`[EA899A]Zombie Free[-] [ADDFB3]for you![-]`);\n\n    //Execute dm mode\n    await takaro.gameserver.gameServerControllerExecuteCommand(data.gameServerId, {\n        command: `ccc radius 30 ${player.name} VIP_${player.name}_HF 0 hostilefree`,\n    });\n\n    //ccc radius 5 YOURNAME jail 0 reversed)\n    //ccc radius < radius > <steamId/entityId/Name > <claimid/steamid> <accessLevel> [<type>]\n\n    // Execute the command\n    await takaro.gameserver.gameServerControllerExecuteCommand(gameServerId, {\n        command: `ccc radius 30 ${player.name} VIP_${player.name}_Normal 400`\n    });\n\n    // Search for the adminMode variable\n    const zombFreeVariable = (await takaro.variable.variableControllerSearch({\n        filters: {\n            key: ['zombFreeVariable'],\n            moduleId: [mod.moduleId],\n            playerId: [player.id],\n            gameServerId: [gameServerId],\n        },\n    })).data.data[0];\n\n    // Update the last message variable so the next time this cron job runs, we know what to send\n    if (zombFreeVariable) {\n        // The variable already exists, update it\n        const currentValue = parseInt(zombFreeVariable.value, 10); // Ensure it's an integer\n        await takaro.variable.variableControllerUpdate(zombFreeVariable.id, {\n            value: (currentValue + 1).toString(), // Increment and convert to string\n        });\n    } else {\n        // The variable doesn't exist, create it with a starting value of 0\n        await takaro.variable.variableControllerCreate({\n            key: 'zombFreeVariable',\n            value: '0', // Start with 0 as a string\n            playerId: player.id,\n            moduleId: mod.moduleId,\n            gameServerId: gameServerId,\n        });\n    }\n}\nawait main();",
          "arguments": []
        },
        {
          "name": "kill",
          "trigger": "kill",
          "helpText": "[02FEDC]kill (players name) You must run the command a second time to confirm the kill. Use quotes for players with spaces in their name. Copy their name from Discord if you cannot type their name.[-]",
          "function": "import { takaro, data, checkPermission, TakaroUserError } from '@takaro/helpers';\n\nasync function main() {\n    const { player, gameServerId, pog, module: mod, arguments: args } = data;\n    const playerTarget = args.playerTarget;\n\n    // Check permissions first\n    if (!checkPermission(pog, 'STAFF_COMMANDS')) {\n        throw new TakaroUserError('You do not have permission to use [02FEDC]Moderator[-] commands.');\n    }\n\n    // Check if there's an existing confirmation variable\n    const confirmationKey = `kill_confirmation_${playerTarget}`;\n    const existingConfirmation = await takaro.variable.variableControllerSearch({\n        filters: {\n            key: [confirmationKey],\n            gameServerId: [gameServerId],\n            playerId: [pog.playerId],\n            moduleId: [mod.moduleId]\n        }\n    });\n\n    // If confirmation variable exists, proceed with kill\n    if (existingConfirmation.data.data.length > 0) {\n        // Delete the confirmation variable first\n        await takaro.variable.variableControllerDelete(existingConfirmation.data.data[0].id);\n\n        const targetArg = /\\s/.test(playerTarget) ? `\"${playerTarget}\"` : playerTarget;\n\n        // Execute the kill command\n        const response = (await takaro.gameserver.gameServerControllerExecuteCommand(gameServerId, {\n            command: `kill ${targetArg}`,\n        })).data.data.rawResult;\n\n        if (response.includes('Targetplayer is offline')) {\n            throw new TakaroUserError(`[02FEDC]${playerTarget}[-] is not online`);\n        }\n\n        await player.pm(`You have killed [02FEDC]${playerTarget}[-].`);\n    } else {\n        // Create confirmation variable with 30 second expiry\n        const now = new Date();\n        const expiry = new Date(now.getTime() + 30 * 1000); // 30 seconds from now\n\n        await takaro.variable.variableControllerCreate({\n            key: confirmationKey,\n            value: JSON.stringify({ expiry: expiry.toISOString() }),\n            gameServerId,\n            moduleId: mod.moduleId,\n            playerId: pog.playerId\n        });\n\n        // Send confirmation message\n        await player.pm(`Are you sure you want to kill [02FEDC]${playerTarget}[-]? Run the command again within 30 seconds to confirm.`);\n    }\n}\n\nawait main();",
          "arguments": [
            {
              "name": "playerTarget",
              "type": "string",
              "helpText": "The player you want to kill",
              "defaultValue": "",
              "position": 0
            }
          ]
        },
        {
          "name": "buff - 2",
          "trigger": "buff",
          "helpText": "Ends players buff",
          "function": "import { takaro, data, checkPermission, TakaroUserError } from '@takaro/helpers';\n\nasync function main() {\n    const { player, gameServerId, pog, arguments: args } = data;\n    const playerTarget = args.playerTarget;\n\n    //Check Permissions\n    if (!checkPermission(pog, 'BUFF')) {\n        throw new TakaroUserError('You do not have permission to use [02FEDC]Moderator[-] commands.');\n    }\n\n    //Adjust target to work in quotes\n    const targetArg = /\\s/.test(playerTarget) ? `\"${playerTarget}\"` : playerTarget;\n\n    //Execute Command\n    await takaro.gameserver.gameServerControllerExecuteCommand(gameServerId, {\n        command: `debuffplayer ${targetArg} god`,\n    });;\n\n    await takaro.gameserver.gameServerControllerExecuteCommand(gameServerId, {\n        command: `pm ${targetArg} \"[ADDFB3]Your powers have stopped. Thanks for playing [FF6D6A]Double Tap[-][-]\"`,\n    });\n\n}\n\nawait main();\n",
          "arguments": [
            {
              "name": "playerTarget",
              "type": "string",
              "helpText": "why",
              "defaultValue": "",
              "position": 0
            }
          ]
        },
        {
          "name": "rdd",
          "trigger": "rdd",
          "helpText": "[02FEDC]rdd (player name) Use quotes for players with spaces in their name. Copy their name from Discord if you cannot type their name.[-]",
          "function": "import { takaro, data, checkPermission, TakaroUserError } from '@takaro/helpers';\n\nasync function main() {\n    const { player, gameServerId, pog, arguments: args } = data;\n    const playerTarget = args.playerTarget;\n\n    if (!checkPermission(pog, 'RDD')) {\n        throw new TakaroUserError('You do not have permission to [02FEDC]Reset Drone Data[-].');\n    }\n\n    const targetArg = /\\s/.test(playerTarget) ? `\"${playerTarget}\"` : playerTarget;\n\n\n    const response = (await takaro.gameserver.gameServerControllerExecuteCommand(gameServerId, {\n        command: `rdd ${targetArg}`,\n    })).data.data.rawResult;\n\n    if (response.includes('Targetplayer is offline')) {\n        throw new TakaroUserError(`[02FEDC]${playerTarget}[-] is not online`);\n    }\n}\n\nawait main();",
          "arguments": [
            {
              "name": "playerTarget",
              "type": "string",
              "helpText": "Person drone data is being reset for",
              "defaultValue": "",
              "position": 0
            }
          ]
        },
        {
          "name": "pr",
          "trigger": "pr",
          "helpText": "[02FEDC]Reset the POI you are standing in[-]",
          "function": "import { takaro, data, checkPermission, TakaroUserError } from '@takaro/helpers';\n\nasync function main() {\n    const { player, gameServerId, pog } = data;\n\n    //Check Permissions\n    if (!checkPermission(pog, 'RESET_PREFAB')) {\n        throw new TakaroUserError('You do not have permission to [02FEDC]Reset Prefabs[-].');\n    };\n\n    await player.pm(`[EA899A]Resetting prefab[-]`);\n\n    //Execute Resetting Prefab\n    await takaro.gameserver.gameServerControllerExecuteCommand(data.gameServerId, {\n        command: `getprefab EOS_${player.epicOnlineServicesId} reset`,\n    });\n\n    await player.pm(`[EA899A]Prefab was[-] [ADDFB3]reset[-]`);\n}\nawait main();",
          "arguments": []
        },
        {
          "name": "release",
          "trigger": "release",
          "helpText": "[02FEDC]Release (player name) Use quotes for players with spaces in their name. Copy their name from Discord if you cannot type their name.[-]",
          "function": "import { takaro, data, checkPermission, TakaroUserError } from '@takaro/helpers';\nasync function main() {\n    const { player, gameServerId, pog, arguments: args } = data;\n    const playerTarget = args.playerTarget;\n\n\n    //Check Permissions\n    if (!checkPermission(pog, 'STAFF_COMMANDS')) {\n        throw new TakaroUserError('You do not have permission to use [02FEDC]Moderator[-] commmands.');\n    }\n\n    const targetArg = /\\s/.test(playerTarget) ? `\"${playerTarget}\"` : playerTarget;\n\n    //Execute Command arrest\n    const response = (await takaro.gameserver.gameServerControllerExecuteCommand(gameServerId, {\n        command: `release ${targetArg}`,\n    })).data.data.rawResult;\n\n    if (response.includes('is not a valid entity id, player name or user id')) {\n        throw new TakaroUserError(`[B1A2CA]${playerTarget}[-]'s name wasn't spelled correctly or is phone! Use quotes if their name has spaces!`)\n    };\n\n    //Send global message in game to shame the offender\n    await takaro.gameserver.gameServerControllerSendMessage(data.gameServerId, {\n        message: `[FF6D6A]${args.playerTarget}[-] [EA899A]has been released. Please follow the rules![-]`,\n    });\n}\nawait main();\n//# sourceMappingURL=visit.js.map",
          "arguments": [
            {
              "name": "playerTarget",
              "type": "string",
              "helpText": "Player that's released",
              "defaultValue": "",
              "position": 0
            }
          ]
        },
        {
          "name": "pull",
          "trigger": "pull",
          "helpText": "[02FEDC]pull (player name) Use quotes for players with spaces in their name. Copy their name from Discord if you cannot type their name.[-]",
          "function": "import { takaro, data, checkPermission, TakaroUserError } from '@takaro/helpers';\n\nasync function main() {\n    const { player, gameServerId, pog, arguments: args } = data;\n    const playerTarget = args.playerTarget;\n\n    if (!checkPermission(pog, 'STAFF_COMMANDS')) {\n        throw new TakaroUserError('You do not have permission to use [02FEDC]Moderator[-] commmands.');\n    }\n\n    const targetArg = /\\s/.test(playerTarget) ? `\"${playerTarget}\"` : playerTarget;\n\n\n    const response = (await takaro.gameserver.gameServerControllerExecuteCommand(gameServerId, {\n        command: `teleportplayer ${targetArg} ${player.name}`,\n    })).data.data.rawResult;\n\n    if (response.includes('Targetplayer is offline')) {\n        throw new TakaroUserError(`[02FEDC]${playerTarget}[-] is not online`);\n    }\n}\n\nawait main();",
          "arguments": [
            {
              "name": "playerTarget",
              "type": "string",
              "helpText": "Player",
              "defaultValue": "",
              "position": 0
            }
          ]
        },
        {
          "name": "reset1",
          "trigger": "reset1",
          "helpText": "[02FEDC]First position to reset a chunk. Use /reset2 in the opposite corner to reset the desired area.[-]",
          "function": "import { takaro, data, checkPermission, TakaroUserError } from '@takaro/helpers';\n\nasync function main() {\n    const { player, pog } = data;\n\n    //Check Permissions\n    if (!checkPermission(pog, 'RESET_CHUNKS')) {\n        throw new TakaroUserError('You do not have permission to use the [02FEDC]Reset Chunks[-] commmand.');\n    };\n\n    await player.pm(`[EA899A]Reset Chunks[-] [ADDFB3]position was stored. Now go to the opposite corner and use /reset2[-]`);\n\n    //Execute command\n    await takaro.gameserver.gameServerControllerExecuteCommand(data.gameServerId, {\n        command: `resetchunks p1`,\n    });\n\n    //*** Command(s): cpm-resetchunks, resetchunks ***\n    //Usage:\n    //1. resetchunks p1\n    //2. resetchunks p2\n    //3. resetchunks radius <radius> <steamId/entityId/Name>\n    //1. Store your position to be used on method 2.\n    //2. Reset chunks from position stored on method 1 until your current location(p2).\n    //3. Reset chunks within boundaries on <radius> distance from <steamId/entityId/Name> position.\n}\nawait main();",
          "arguments": []
        },
        {
          "name": "reset2",
          "trigger": "reset2",
          "helpText": "[02FEDC]Last position to reset a chunk.[-]",
          "function": "import { takaro, data, checkPermission, TakaroUserError } from '@takaro/helpers';\n\nasync function main() {\n    const { player, pog } = data;\n\n    //Check Permissions\n    if (!checkPermission(pog, 'RESET_CHUNKS')) {\n        throw new TakaroUserError('You do not have permission to use the [02FEDC]Reset Chunks[-] commmand.');\n    };\n\n    await player.pm(`[EA899A]Reset Chunks[-] [ADDFB3]command executed[-]`);\n\n    //Execute command\n    await takaro.gameserver.gameServerControllerExecuteCommand(data.gameServerId, {\n        command: `resetchunks p2`,\n    });\n\n    //*** Command(s): cpm-resetchunks, resetchunks ***\n    //Usage:\n    //1. resetchunks p1\n    //2. resetchunks p2\n    //3. resetchunks radius <radius> <steamId/entityId/Name>\n    //1. Store your position to be used on method 2.\n    //2. Reset chunks from position stored on method 1 until your current location(p2).\n    //3. Reset chunks within boundaries on <radius> distance from <steamId/entityId/Name> position.\n}\nawait main();",
          "arguments": []
        },
        {
          "name": "unmute",
          "trigger": "unmute",
          "helpText": "[02FEDC]unmute (player name) Use quotes for players with spaces in their name. Copy their name from Discord if you cannot type their name.[-]",
          "function": "import { takaro, data, checkPermission, TakaroUserError } from '@takaro/helpers';\n\nasync function main() {\n    const { player, gameServerId, pog, arguments: args } = data;\n    const { person, reasoning } = args;\n\n    if (!checkPermission(pog, 'STAFF_COMMANDS')) {\n        throw new TakaroUserError('You do not have permission to use [02FEDC]Moderator[-] commmands.');\n    }\n\n    //Adjust target to work in quotes\n    const targetPerson = /\\s/.test(person) ? `\"${person}\"` : person;\n\n\n    const response = (await takaro.gameserver.gameServerControllerExecuteCommand(gameServerId, {\n        command: `mcp ${targetPerson} false`,\n    })).data.data.rawResult;\n\n    if (response.includes('is not a valid entity id, player name or user id')) {\n        throw new TakaroUserError(`[02FEDC]${person}[-]'s name wasn't spelled correctly!`);\n    }\n\n    //Confirmation\n    await player.pm(`[02FEDC]${person}[-] was unmuted.`);\n\n}\n\nawait main();",
          "arguments": [
            {
              "name": "person",
              "type": "string",
              "helpText": "player to be unmuted",
              "defaultValue": "",
              "position": 0
            }
          ]
        },
        {
          "name": "th - 2",
          "trigger": "th",
          "helpText": "[02FEDC]Second round of a targeted horde[-]",
          "function": "import { takaro, data, checkPermission, TakaroUserError } from '@takaro/helpers';\n\nasync function main() {\n    const { gameServerId, pog, arguments: args } = data;\n    const playerTarget = args.playerTarget;\n\n    if (!checkPermission(pog, 'STAFF_COMMANDS')) {\n        throw new TakaroUserError('You do not have permission to use [02FEDC]Moderator[-] commmands.');\n    }\n\n    const targetArg = /\\s/.test(playerTarget) ? `\"${playerTarget}\"` : playerTarget;\n\n\n    await takaro.gameserver.gameServerControllerExecuteCommand(gameServerId, {\n        command: `th ${targetArg} 20`,\n    });\n}\n\nawait main();",
          "arguments": [
            {
              "name": "playerTarget",
              "type": "string",
              "helpText": "target player",
              "defaultValue": "",
              "position": 0
            }
          ]
        },
        {
          "name": "ban",
          "trigger": "ban",
          "helpText": "[02FEDC]ban (player name) (reason in quotes) Use quotes for players with spaces in their name. Copy their name from Discord if you cannot type their name. [-]",
          "function": "import { takaro, data, checkPermission, TakaroUserError } from '@takaro/helpers';\n\nasync function main() {\n    const { player, gameServerId, pog, arguments: args } = data;\n    const { person, reasoning } = args;\n    const discordChannel = data.module.userConfig.userDiscordChannel;\n\n    //Check Permissions\n    if (!checkPermission(pog, 'STAFF_COMMANDS')) {\n        throw new TakaroUserError('You do not have permission to use [02FEDC]Moderator[-] commmands.');\n    }\n\n\n    //Adjust target to work in quotes\n    const targetPerson = /\\s/.test(person) ? `\"${person}\"` : person;\n\n    const targetReasoning = /\\s/.test(reasoning) ? `\"${reasoning}\"` : reasoning;\n\n    const response = (await takaro.gameserver.gameServerControllerExecuteCommand(gameServerId, {\n        command: `ban add ${targetPerson} 1 year ${targetReasoning} ${targetPerson}`,\n    })).data.data.rawResult;\n\n    if (response.includes('is not a valid entity id, player name or user id')) {\n        throw new TakaroUserError(`[02FEDC]${person}[-]'s name wasn't spelled correctly!`);\n    }\n\n    //Confirmation\n    await player.pm(`[02FEDC]${person}[-] was banned.`);\n\n    await takaro.discord.discordControllerSendMessage(discordChannel, {\n        message: `🔨 ${player.name} banned ${person} for ${reasoning}.`,\n    });\n}\n\nawait main();",
          "arguments": [
            {
              "name": "reasoning",
              "type": "string",
              "helpText": "Reason they are banned",
              "defaultValue": "contact a moderator for the reason",
              "position": 1
            },
            {
              "name": "person",
              "type": "string",
              "helpText": "Person being banned",
              "defaultValue": "",
              "position": 0
            }
          ]
        },
        {
          "name": "th - 3",
          "trigger": "th",
          "helpText": "Targeted Horde round 3",
          "function": "import { takaro, data, checkPermission, TakaroUserError } from '@takaro/helpers';\n\nasync function main() {\n    const { gameServerId, pog, arguments: args } = data;\n    const playerTarget = args.playerTarget;\n\n    if (!checkPermission(pog, 'STAFF_COMMANDS')) {\n        throw new TakaroUserError('You do not have permission to use [02FEDC]Moderator[-] commmands.');\n    }\n\n    const targetArg = /\\s/.test(playerTarget) ? `\"${playerTarget}\"` : playerTarget;\n\n\n    await takaro.gameserver.gameServerControllerExecuteCommand(gameServerId, {\n        command: `th ${targetArg} 20`,\n    });\n}\n\nawait main();",
          "arguments": [
            {
              "name": "playerTarget",
              "type": "string",
              "helpText": "Target player",
              "defaultValue": "",
              "position": 0
            }
          ]
        },
        {
          "name": "rpd",
          "trigger": "rpd",
          "helpText": "[02FEDC]rpd (player name) Resets a player's data. Use quotes for players with spaces in their name. Copy their name from Discord if you cannot type their name.[-]",
          "function": "import { takaro, data, checkPermission, TakaroUserError } from '@takaro/helpers';\n\nasync function main() {\n    const { player, gameServerId, pog, module: mod, arguments: args } = data;\n    const playerTarget = args.playerTarget;\n\n    // Check permissions first\n    if (!checkPermission(pog, 'RESET_PLAYER')) {\n        throw new TakaroUserError('You do not have permission to use [02FEDC]Moderator[-] commands.');\n    }\n\n    // Check if there's an existing confirmation variable\n    const confirmationKey = `reset_player_${playerTarget}`;\n    const existingConfirmation = await takaro.variable.variableControllerSearch({\n        filters: {\n            key: [confirmationKey],\n            gameServerId: [gameServerId],\n            playerId: [pog.playerId],\n            moduleId: [mod.moduleId]\n        }\n    });\n\n    // If confirmation variable exists, proceed with kill\n    if (existingConfirmation.data.data.length > 0) {\n        // Delete the confirmation variable first\n        await takaro.variable.variableControllerDelete(existingConfirmation.data.data[0].id);\n\n        const targetArg = /\\s/.test(playerTarget) ? `\"${playerTarget}\"` : playerTarget;\n\n        // Execute the reset command\n        const response = (await takaro.gameserver.gameServerControllerExecuteCommand(gameServerId, {\n            command: `rpd ${targetArg}`,\n        })).data.data.rawResult;\n\n        if (response.includes('Targetplayer is offline')) {\n            throw new TakaroUserError(`[02FEDC]${playerTarget}[-] is not online`);\n        }\n\n        await player.pm(`You have reset [02FEDC]${playerTarget}[-].`);\n    } else {\n        // Create confirmation variable with 30 second expiry\n        const now = new Date();\n        const expiry = new Date(now.getTime() + 30 * 1000); // 30 seconds from now\n\n        await takaro.variable.variableControllerCreate({\n            key: confirmationKey,\n            value: JSON.stringify({ expiry: expiry.toISOString() }),\n            gameServerId,\n            moduleId: mod.moduleId,\n            playerId: pog.playerId\n        });\n\n        // Send confirmation message\n        await player.pm(`Are you sure you want to reset [02FEDC]${playerTarget}[-]? Run the command again within 30 seconds to confirm.`);\n    }\n}\n\nawait main();",
          "arguments": [
            {
              "name": "playerTarget",
              "type": "string",
              "helpText": "the player's data you are resetting",
              "defaultValue": "",
              "position": 0
            }
          ]
        },
        {
          "name": "avisit",
          "trigger": "avisit",
          "helpText": "[02FEDC]avisit (player name) Use quotes for players with spaces in their name. Copy their name from Discord if you cannot type their name. [-]",
          "function": "import { takaro, data, checkPermission, TakaroUserError } from '@takaro/helpers';\n\nasync function main() {\n    const { player, entityId, gameServerId, pog, arguments: args } = data;\n    const playerTarget = args.playerTarget;\n\n    if (!checkPermission(pog, 'STAFF_COMMANDS')) {\n        throw new TakaroUserError('You do not have permission to use [02FEDC]Moderator[-] commmands.');\n    }\n\n    const targetArg = /\\s/.test(playerTarget) ? `\"${playerTarget}\"` : playerTarget;\n\n    const response = (await takaro.gameserver.gameServerControllerExecuteCommand(gameServerId, {\n        command: `mv \"${player.name}\" ${targetArg}`,\n    })).data.data.rawResult;\n\n    if (response.includes('Targetplayer is offline')) {\n        throw new TakaroUserError(`[02FEDC]${playerTarget}[-] is not online`);\n    }\n\n    // Send success message to the player\n    await player.pm(`Successfully teleported to [02FEDC]${playerTarget}[-]`);\n}\n\nawait main();",
          "arguments": [
            {
              "name": "playerTarget",
              "type": "string",
              "helpText": "Player teleporting to",
              "defaultValue": "",
              "position": 0
            }
          ]
        },
        {
          "name": "visitmap",
          "trigger": "visitmap",
          "helpText": "[02FEDC]Open the map for Takaro and CPM.[-]",
          "function": "import { takaro, data, checkPermission, TakaroUserError } from '@takaro/helpers';\n\nasync function main() {\n    const { gameServerId, pog } = data;\n\n    if (!checkPermission(pog, 'VISIT_MAP')) {\n        throw new TakaroUserError('You do not have permission to use [02FEDC]Moderator[-] commmands.');\n    }\n\n    await player.pm(`[EA899A]Beginning to visit the map[-]`);\n\n    await takaro.gameserver.gameServerControllerExecuteCommand(gameServerId, {\n        command: `visitmap full`,\n    });\n}\n\n\nawait main();",
          "arguments": []
        },
        {
          "name": "cm  & dm",
          "trigger": "am",
          "helpText": "[02FEDC]Creative mode and debug menu. Reserved for admins[-]",
          "function": "import { takaro, data, checkPermission, TakaroUserError } from '@takaro/helpers';\n\nasync function main() {\n    const { player, module: mod, gameServerId, pog } = data;\n\n    //Check Permissions\n    if (!checkPermission(pog, 'CM_DM')) {\n        throw new TakaroUserError('You do not have permission to use [02FEDC]Admin[-] commmands.');\n    };\n\n    await player.pm(`[EA899A]Admin Mode[-] [ADDFB3]TOGGLED[-]`);\n\n    //Execute dm mode\n    await takaro.gameserver.gameServerControllerExecuteCommand(data.gameServerId, {\n        command: `eoc EOS_${pog.gameId} \"dm\"`,\n    });\n\n    // Execute the command CM\n    await takaro.gameserver.gameServerControllerExecuteCommand(gameServerId, {\n        command: `eoc EOS_${pog.gameId} \"cm\"`\n    });\n\n    //Variable\n\n    // Search for the adminMode variable\n    const adminModeVariable = (await takaro.variable.variableControllerSearch({\n        filters: {\n            key: ['adminMode'],\n            moduleId: [mod.moduleId],\n            playerId: [player.id],\n            gameServerId: [gameServerId],\n        },\n    })).data.data[0];\n\n    // Update the last message variable so the next time this cron job runs, we know what to send\n    if (adminModeVariable) {\n        // The variable already exists, update it\n        const currentValue = parseInt(adminModeVariable.value, 10); // Ensure it's an integer\n        await takaro.variable.variableControllerUpdate(adminModeVariable.id, {\n            value: (currentValue + 1).toString(), // Increment and convert to string\n        });\n    } else {\n        // The variable doesn't exist, create it with a starting value of 0\n        await takaro.variable.variableControllerCreate({\n            key: 'adminMode',\n            value: '0', // Start with 0 as a string\n            playerId: player.id,\n            moduleId: mod.moduleId,\n            gameServerId: gameServerId,\n        });\n    }\n}\nawait main();",
          "arguments": []
        },
        {
          "name": "rvr",
          "trigger": "rvr",
          "helpText": "[02FEDC]rvr (player name) Use quotes for players with spaces in their name. Copy their name from Discord if you cannot type their name.[-]",
          "function": "import { takaro, data, checkPermission, TakaroUserError } from '@takaro/helpers';\n\nasync function main() {\n    const { player, gameServerId, pog, arguments: args } = data;\n    const playerTarget = args.playerTarget;\n\n    if (!checkPermission(pog, 'STAFF_COMMANDS')) {\n        throw new TakaroUserError('You do not have permission to use [02FEDC]Moderator[-] commmands.');\n    }\n\n    const targetArg = /\\s/.test(playerTarget) ? `\"${playerTarget}\"` : playerTarget;\n\n\n    const response = (await takaro.gameserver.gameServerControllerExecuteCommand(gameServerId, {\n        command: `rvr ${targetArg}`,\n    })).data.data.rawResult;\n\n    if (response.includes('Targetplayer is offline')) {\n        throw new TakaroUserError(`[02FEDC]${playerTarget}[-] is not online`);\n    }\n\n    await player.pm(`[B1A2CA]Successfully removed [02FEDC]${playerTarget}'s[-] vending machine rental[-]`);\n}\n\nawait main();",
          "arguments": [
            {
              "name": "playerTarget",
              "type": "string",
              "helpText": "target player",
              "defaultValue": "",
              "position": 0
            }
          ]
        },
        {
          "name": "setjail",
          "trigger": "setjail",
          "helpText": "[02FEDC]Set an 11x11 area to put hail birds in.[-]",
          "function": "import { takaro, data, checkPermission, TakaroUserError } from '@takaro/helpers';\n\nasync function main() {\n    const { player, pog } = data;\n\n    //Check Permissions\n    if (!checkPermission(pog, 'SET_JAIL')) {\n        throw new TakaroUserError('You do not have permission to use the [02FEDC]Zombie free[-] commmand.');\n    };\n\n    await player.pm(`[EA899A]Jail[-] [ADDFB3]was set! 11x11 area. Use /arrest (players name) to arrest them[-]`);\n\n    //Execute command\n    await takaro.gameserver.gameServerControllerExecuteCommand(data.gameServerId, {\n        command: `ccc radius 5 EOS_${player.epicOnlineServicesId} jail 0 reversed`,\n    });\n\n    //ccc radius 5 YOURNAME jail 0 reversed)\n    //ccc radius < radius > <steamId/entityId/Name > <claimid/steamid> <accessLevel> [<type>]\n\n}\nawait main();",
          "arguments": []
        },
        {
          "name": "killall",
          "trigger": "killall",
          "helpText": "[02FEDC]Kill all of the Zeds on the server.[-]",
          "function": "import { takaro, data, checkPermission, TakaroUserError } from '@takaro/helpers';\n\nasync function main() {\n    const { player, gameServerId, pog } = data;\n\n    //Check Permissions\n    if (!checkPermission(pog, 'STAFF_COMMANDS')) {\n        throw new TakaroUserError('You do not have permission to [02FEDC]Kill All[-].');\n    };\n\n    await player.pm(`[EA899A]Killed all of the zeds on the server[-]`);\n\n    //Execute Resetting Prefab\n    await takaro.gameserver.gameServerControllerExecuteCommand(data.gameServerId, {\n        command: `killall`,\n    });\n\n}\nawait main();",
          "arguments": []
        },
        {
          "name": "buff - 1",
          "trigger": "buff",
          "helpText": "[02FEDC]buff (player name) Use quotes for players with spaces in their name. Copy their name from Discord if you cannot type their name.[-]",
          "function": "import { takaro, data, checkPermission, TakaroUserError } from '@takaro/helpers';\n\nasync function main() {\n    const { player, gameServerId, pog, arguments: args } = data;\n    const playerTarget = args.playerTarget;\n\n    //Check Permissions\n    if (!checkPermission(pog, 'BUFF')) {\n        throw new TakaroUserError('You do not have permission to use [02FEDC]Moderator[-] commands.');\n    }\n\n    //Adjust target to work in quotes\n    const targetArg = /\\s/.test(playerTarget) ? `\"${playerTarget}\"` : playerTarget;\n\n    //Execute Command\n    await takaro.gameserver.gameServerControllerExecuteCommand(gameServerId, {\n        command: `buffplayer ${targetArg} god`,\n    });\n\n    //PM player to nitify them of thebuff\n    await takaro.gameserver.gameServerControllerExecuteCommand(gameServerId, {\n        command: `pm ${targetArg} \"[02FEDC]Mad[-][-] grants you God like power for [FF0507]2[-] [4FFF00]min![-]\"`,\n    });\n\n    //Notify sender of buff\n    await player.pm(`[ADDFB3]You have successfully buffed [B1A2CA]${playerTarget}[-]`);\n}\n\nawait main();",
          "arguments": [
            {
              "name": "playerTarget",
              "type": "string",
              "helpText": "playerTarget",
              "defaultValue": "",
              "position": 0
            }
          ]
        },
        {
          "name": "kickall",
          "trigger": "kickall",
          "helpText": "No help text available",
          "function": "import { takaro, data, checkPermission, TakaroUserError } from '@takaro/helpers';\n\nasync function main() {\n    const { pog } = data;\n\n    //Check Permissions\n    if (!checkPermission(pog, 'STAFF_COMMANDS')) {\n        throw new TakaroUserError('You do not have permission to [02FEDC]Kick Everyone[-].');\n    };\n\n    const message = \"Doing a server restart. The server will be back up in a minute.\"\n\n    const targetMessage = /\\s/.test(message) ? `\"${message}\"` : message;\n\n    //Execute Resetting Prefab\n    await takaro.gameserver.gameServerControllerExecuteCommand(data.gameServerId, {\n        command: `kickall ${targetMessage}`,\n    });\n\n}\nawait main();",
          "arguments": []
        },
        {
          "name": "aaaaaaa",
          "trigger": "aaaaaaa",
          "helpText": "No help text available",
          "function": "//th\n//giveplus\n//brender/bundo\n//debuff",
          "arguments": []
        },
        {
          "name": "arrest",
          "trigger": "arrest",
          "helpText": "[02FEDC]arrest (player name) (reason for arrest)[-]",
          "function": "import { takaro, data, checkPermission, TakaroUserError } from '@takaro/helpers';\nasync function main() {\n    const { player, gameServerId, pog, arguments: args } = data;\n    const playerTarget = args.playerTarget;\n    const reasoning = args.reasoning\n\n\n    //Check Permissions\n    if (!checkPermission(pog, 'STAFF_COMMANDS')) {\n        throw new TakaroUserError('You do not have permission to use [02FEDC]Moderator[-] commmands.');\n    }\n\n    //Adjust target to work in quotes\n    const targetArg = /\\s/.test(playerTarget) ? `\"${playerTarget}\"` : playerTarget;\n\n\n    //Execute Command arrest\n    const response = (await takaro.gameserver.gameServerControllerExecuteCommand(gameServerId, {\n        command: `arrest ${targetArg}`,\n    })).data.data.rawResult;\n\n    //Throw an error if the name is wrong\n    if (response.includes('Player not found!')) {\n        throw new TakaroUserError(`[8BD3E6]${playerTarget}'s[-] [E9EC6B]name wasn't spelled correctly! Use quotes for names with spaces. Copy their name from Discord if you cannot type their name.[-]`);\n    }\n\n    //Send global message in game to shame the offender\n    await takaro.gameserver.gameServerControllerSendMessage(data.gameServerId, {\n        message: `[B1A2CA]${playerTarget}[-] [EA899A]was arrested for ${reasoning}[-]`,\n    });\n    //Discord Channel Configuration\n    const userDiscord = data.module.userConfig.userDiscordChannel;\n    //Send it to Discord\n    await takaro.discord.discordControllerSendMessage(userDiscord, {\n        message: `${player.name} arrested ${playerTarget} for ${reasoning}`,\n    });\n};\nawait main();\n//# sourceMappingURL=visit.js.map",
          "arguments": [
            {
              "name": "playerTarget",
              "type": "string",
              "helpText": "Other player's name",
              "defaultValue": "",
              "position": 0
            },
            {
              "name": "reasoning",
              "type": "string",
              "helpText": "Reason",
              "defaultValue": "no reason given",
              "position": 1
            }
          ]
        },
        {
          "name": "shutdownba",
          "trigger": "shutdownba",
          "helpText": "No help text available",
          "function": "import { takaro, data, checkPermission, TakaroUserError } from '@takaro/helpers';\n\nasync function main() {\n    const { pog, arguments: args } = data;\n    const timer = args.timer\n    //Check Permissions\n    if (!checkPermission(pog, 'STAFF_COMMANDS')) {\n        throw new TakaroUserError('You do not have permission to [02FEDC]Shutdown the server[-].');\n    };\n\n    //Execute command\n    await takaro.gameserver.gameServerControllerExecuteCommand(data.gameServerId, {\n        command: `shutdownba ${timer}`,\n    });\n\n}\nawait main();",
          "arguments": [
            {
              "name": "timer",
              "type": "number",
              "helpText": "minutes till shutdown",
              "defaultValue": "10",
              "position": 0
            }
          ]
        },
        {
          "name": "th - 1",
          "trigger": "th",
          "helpText": "[02FEDC]Send a horde in 4 intervals in 30 seconds at a player. Type /th (name) Use quotes for players with spaces in their name. Copy their name from Discord if you cannot type their name. [-]",
          "function": "import { takaro, data, checkPermission, TakaroUserError } from '@takaro/helpers';\n\nasync function main() {\n    const { player, gameServerId, pog, arguments: args } = data;\n    const playerTarget = args.playerTarget;\n\n    if (!checkPermission(pog, 'STAFF_COMMANDS')) {\n        throw new TakaroUserError('You do not have permission to use [02FEDC]Moderator[-] commmands.');\n    }\n\n    const targetArg = /\\s/.test(playerTarget) ? `\"${playerTarget}\"` : playerTarget;\n\n\n    const response = (await takaro.gameserver.gameServerControllerExecuteCommand(gameServerId, {\n        command: `th ${targetArg} 20`,\n    })).data.data.rawResult;\n\n    if (response.includes('Targetplayer is offline')) {\n        throw new TakaroUserError(`[02FEDC]${playerTarget}[-] is not online`);\n    }\n\n    await player.pm(`[B1A2CA]${playerTarget}[-] [02FEDC]has a horde coming at them. Grab some popcorn and enjoy the show![-]`);\n}\n\nawait main();",
          "arguments": [
            {
              "name": "playerTarget",
              "type": "string",
              "helpText": "person you're sending the horde after",
              "defaultValue": "",
              "position": 0
            }
          ]
        },
        {
          "name": "kick",
          "trigger": "kick",
          "helpText": "[02FEDC]kick (player name) (reason in quotes). Use quotes for players with spaces in their name. Copy their name from Discord if you cannot type their name.[-]",
          "function": "import { takaro, data, checkPermission, TakaroUserError } from '@takaro/helpers';\n\nasync function main() {\n    const { player, gameServerId, pog, arguments: args } = data;\n    const { person, reasoning } = args;\n    const discordChannel = data.module.userConfig.userDiscordChannel;\n    if (!checkPermission(pog, 'STAFF_COMMANDS')) {\n        throw new TakaroUserError('You do not have permission to use [02FEDC]Moderator[-] commmands.');\n    }\n\n    //Adjust target to work in quotes\n    const targetPerson = /\\s/.test(person) ? `\"${person}\"` : person;\n\n    const targetReasoning = /\\s/.test(reasoning) ? `\"${reasoning}\"` : reasoning;\n\n    const response = (await takaro.gameserver.gameServerControllerExecuteCommand(gameServerId, {\n        command: `kick ${targetPerson} ${targetReasoning}`,\n    })).data.data.rawResult;\n\n    if (response.includes('is not a valid entity id, player name or user id')) {\n        throw new TakaroUserError(`[02FEDC]${person}[-]'s name wasn't spelled correctly!`);\n    }\n\n    //Confirmation\n    await player.pm(`[02FEDC]${person}[-] was kicked.`);\n\n    await takaro.discord.discordControllerSendMessage(discordChannel, {\n        message: `🥾 ${player.name} kicked ${person} for ${reasoning}`,\n    });\n}\n\nawait main();",
          "arguments": [
            {
              "name": "person",
              "type": "string",
              "helpText": "Player getting kicked",
              "defaultValue": "",
              "position": 0
            },
            {
              "name": "reasoning",
              "type": "string",
              "helpText": "Reason for being kicked",
              "defaultValue": "Contact a moderator for a kick reason",
              "position": 1
            }
          ]
        },
        {
          "name": "th - 4",
          "trigger": "th",
          "helpText": "[02FEDC]Fourth round of Targeted Horde[-]",
          "function": "import { takaro, data, checkPermission, TakaroUserError } from '@takaro/helpers';\n\nasync function main() {\n    const { gameServerId, pog, arguments: args } = data;\n    const playerTarget = args.playerTarget;\n\n    if (!checkPermission(pog, 'STAFF_COMMANDS')) {\n        throw new TakaroUserError('You do not have permission to use [02FEDC]Moderator[-] commmands.');\n    }\n\n    const targetArg = /\\s/.test(playerTarget) ? `\"${playerTarget}\"` : playerTarget;\n\n\n    await takaro.gameserver.gameServerControllerExecuteCommand(gameServerId, {\n        command: `th ${targetArg} 20`,\n    });\n}\n\nawait main();",
          "arguments": [
            {
              "name": "playerTarget",
              "type": "string",
              "helpText": "target player",
              "defaultValue": "",
              "position": 0
            }
          ]
        },
        {
          "name": "ocn",
          "trigger": "ocn",
          "helpText": "[02FEDC] Change a player's name in chat. Type /ocn (Name) (New Name). Use quotes for players with spaces in their name. Copy their name from Discord if you cannot type their name. [-]",
          "function": "import { takaro, data, checkPermission, TakaroUserError } from '@takaro/helpers';\n\nasync function main() {\n    const { player, gameServerId, pog, arguments: args } = data;\n    const playerTarget = args.playerTarget;\n    const pname = args.pname\n\n    if (!checkPermission(pog, 'STAFF_COMMANDS')) {\n        throw new TakaroUserError('You do not have permission to use [02FEDC]Moderator[-] commmands.');\n    }\n\n    const targetArg = /\\s/.test(playerTarget) ? `\"${playerTarget}\"` : playerTarget;\n\n    const newName = /\\s/.test(pname) ? `\"${pname}\"` : pname;\n\n\n    const response = (await takaro.gameserver.gameServerControllerExecuteCommand(gameServerId, {\n        command: `ocn ${targetArg} ${newName}`,\n    })).data.data.rawResult;\n\n    if (response.includes('Targetplayer is offline')) {\n        throw new TakaroUserError(`[02FEDC]${playerTarget}[-] is not online`);\n    }\n\n    await player.pm(`[B1A2CA]${playerTarget}'s[-] [02FEDC]name was set to ${pname} in chat.[-]`);\n}\n\nawait main();\n// ocn <steamId / entityId / playerName> <newName>\n// ocn <steamId / entityId / playerName> clear\n// ocn list",
          "arguments": [
            {
              "name": "playerTarget",
              "type": "string",
              "helpText": "target",
              "defaultValue": "",
              "position": 0
            },
            {
              "name": "pname",
              "type": "string",
              "helpText": "new name",
              "defaultValue": "",
              "position": 1
            }
          ]
        },
        {
          "name": "mute",
          "trigger": "mute",
          "helpText": "[02FEDMute (player name) (reason in quotes) Use quotes for players with spaces in their name. Copy their name from Discord if you cannot type their name.[-]",
          "function": "import { takaro, data, checkPermission, TakaroUserError } from '@takaro/helpers';\n\nasync function main() {\n    const { player, gameServerId, pog, arguments: args } = data;\n    const { person, reasoning } = args;\n    const discordChannel = data.module.userConfig.userDiscordChannel;\n    if (!checkPermission(pog, 'MUTE')) {\n        throw new TakaroUserError('You do not have permission to use [02FEDC]Moderator[-] commmands.');\n    }\n\n    const targetArg = /\\s/.test(person) ? `\"${person}\"` : person;\n\n\n    const response = (await takaro.gameserver.gameServerControllerExecuteCommand(gameServerId, {\n        command: `mcp ${targetArg} true`,\n    })).data.data.rawResult;\n\n    if (response.includes('is not a valid entity id, player name or user id')) {\n        throw new TakaroUserError(`[02FEDC]${person}[-]'s name wasn't spelled correctly!`);\n    }\n\n    //Confirmation\n    await player.pm(`[02FEDC]${person}[-] was muted.`);\n\n    await takaro.discord.discordControllerSendMessage(discordChannel, {\n        message: `🤐 ${player.name} muted ${person} for ${reasoning}.`,\n    });\n}\n\nawait main();",
          "arguments": [
            {
              "name": "reasoning",
              "type": "string",
              "helpText": "Reason they were muted",
              "defaultValue": "No reason given",
              "position": 1
            },
            {
              "name": "person",
              "type": "string",
              "helpText": "Person to be muted",
              "defaultValue": "",
              "position": 0
            }
          ]
        },
        {
          "name": "wi",
          "trigger": "wi",
          "helpText": "Wipe a player's belt, bag, equipment, all",
          "function": "import { takaro, data, checkPermission, TakaroUserError } from '@takaro/helpers';\nasync function main() {\n    const { player, gameServerId, pog, arguments: args } = data;\n    const playerTarget = args.playerTarget;\n    const tool = args.tool\n\n\n    //Check Permissions\n    if (!checkPermission(pog, 'WIPE_INVENTORY')) {\n        throw new TakaroUserError('You do not have permission to [02FEDC]wipe inventories[-] commmands.');\n    }\n\n    //Adjust target to work in quotes\n    const targetArg = /\\s/.test(playerTarget) ? `\"${playerTarget}\"` : playerTarget;\n\n\n    //Execute Command arrest\n    const response = (await takaro.gameserver.gameServerControllerExecuteCommand(gameServerId, {\n        command: `wi ${targetArg} ${tool}`,\n    })).data.data.rawResult;\n\n    //Throw an error if the name is wrong\n    if (response.includes('Player not found!')) {\n        throw new TakaroUserError(`[8BD3E6]${playerTarget}'s[-] [E9EC6B]name wasn't spelled correctly! Use quotes for names with spaces. Copy their name from Discord if you cannot type their name.[-]`);\n    }\n\n    //Send global message in game to shame the offender\n    await takaro.gameserver.gameServerControllerSendMessage(data.gameServerId, {\n        message: `[B1A2CA]${playerTarget}'s[-] [EA899A]${tool} was wiped.[-]`,\n    });\n}\nawait main();\n//# sourceMappingURL=visit.js.map",
          "arguments": [
            {
              "name": "tool",
              "type": "string",
              "helpText": "belt, bag, equipment, all",
              "defaultValue": "belt",
              "position": 1
            },
            {
              "name": "playerTarget",
              "type": "string",
              "helpText": "person",
              "defaultValue": "",
              "position": 0
            }
          ]
        }
      ],
      "hooks": [],
      "cronJobs": [],
      "functions": [],
      "permissions": [
        {
          "permission": "MUTE",
          "friendlyName": "Mute a Player",
          "description": "Mute unruly players in game",
          "canHaveCount": false
        },
        {
          "permission": "ZOMB_FREE_SELF",
          "friendlyName": "Zombie Free Self",
          "description": "Zombie free command for admins to run the command for their personal house",
          "canHaveCount": false
        },
        {
          "permission": "LIST_LANDCLAIMS",
          "friendlyName": "List Land Claims nearby",
          "description": "Lists land claims near by",
          "canHaveCount": false
        },
        {
          "permission": "REMOVE_LANDCLAIMS",
          "friendlyName": "Remove land claims",
          "description": "remove nearby land claims",
          "canHaveCount": false
        },
        {
          "permission": "RESET_PLAYER",
          "friendlyName": "Reset Player Data",
          "description": "Resets a player's corrupted data",
          "canHaveCount": false
        },
        {
          "permission": "RDD",
          "friendlyName": "Reset Drone Data",
          "description": "Resets player drone data to place a new one",
          "canHaveCount": false
        },
        {
          "permission": "UNMUTE",
          "friendlyName": "Unmute",
          "description": "Unmute a player",
          "canHaveCount": false
        },
        {
          "permission": "KILL_PLAYER",
          "friendlyName": "Kill player",
          "description": "Kill a player",
          "canHaveCount": false
        },
        {
          "permission": "CM_DM",
          "friendlyName": "Admin Menu",
          "description": "Creative mode and debug menu",
          "canHaveCount": false
        },
        {
          "permission": "VISIT_MAP",
          "friendlyName": "Visit Map",
          "description": "Visit the map to unlock for Takaro and CPM",
          "canHaveCount": false
        },
        {
          "permission": "RELEASE",
          "friendlyName": "Release Jail",
          "description": "Release a player from jail",
          "canHaveCount": false
        },
        {
          "permission": "SET_JAIL",
          "friendlyName": "Set Jail Location",
          "description": "Set the location of your jail ",
          "canHaveCount": false
        },
        {
          "permission": "BUFF",
          "friendlyName": "Buff",
          "description": "Buff another player",
          "canHaveCount": false
        },
        {
          "permission": "RESET_CHUNKS",
          "friendlyName": "Rest Chunks",
          "description": "Reset Chunks Permission",
          "canHaveCount": false
        },
        {
          "permission": "WIPE_INVENTORY",
          "friendlyName": "Wipe Inventory",
          "description": "Wipe Inventory",
          "canHaveCount": false
        },
        {
          "permission": "STAFF_COMMANDS",
          "friendlyName": "Staff Commands",
          "description": "Commands for staff to use without using Currency",
          "canHaveCount": false
        },
        {
          "permission": "RESET_PREFAB",
          "friendlyName": "Reset Prefabs",
          "description": "Reset prefab permission",
          "canHaveCount": false
        }
      ]
    }
  ]
}