class ServerManagement:
    SHOW_MY_ADMIN_MANAGER = "ShowMyAdminManager"
    OPEN = "cheat Open {}:{}"  # IP : Port -> Joins the specified server
    BAN_PLAYER = "cheat BanPlayer {}"
    UNBAN_PLAYER = "cheat UnbanPlayer {}"
    KICK_PLAYER = "cheat KickPlayer {}"
    BROADCAST = "cheat Broadcast {}"
    SERVER_CHAT = "cheat ServerChat {}"
    SERVER_CHAT_TO = "cheat ServerChatTo {} {}"
    SERVER_CHAT_TO_Player = "cheat ServerChatToPlayer {} {}"
    SHOW_MESSAGE_OF_THE_DAY = "cheat ShowMessageOfTheDay"
    SET_MESSAGE_OF_THE_DAY = "cheat SetMessageOfTheDay {}"
    SET_ADMIN_ICON = "cheat SetAdminIcon {}"
    SHOW_IN_GAME_MENU = "cheat ShowInGameMenu"
    SHOW_DEBUG = "ShowDebug {}"


class Map:
    SET_DAY = "cheat SetDay {}"
    SET_TIME_OF_DAY = "cheat SetTimeOfDay {} {}"
    GET_ALL_STATE = "cheat GetAllState {}"
    DESTROY_FOLIAGE = "cheat DestroyFoliage {}"
    OPEN_MAP = "cheat OpenMap {}"
    SUMMON = "cheat Summon {}"
    COPY_COORDS_TO_CLIPBOARD = "ccc"
    CE = "cheat {}"
    DCM_SET = "DCMSET {} {}"
    FIND_MUTAGEN_DROPS = "cheat FindMutagenDrops"
    START_NEAREST_HORDE = "cheat StartNearestHorde {} {}"
    LIST_ACTIVE_HORDE_EVENTS = "cheat ListActiveHordeEvents"


class Spectator:
    ENABLE_SPECTATOR = "cheat EnableSpectator"
    STOP_SPECTATING = "cheat StopSpectating"
    REQUEST_SPECTATOR = "cheat RequestSpectator {}"


class CreativeMode:
    ENABLE_CHEATS = "EnableCheats {}"
    GIVE_CREATIVE_MODE = "cheat GCM"
    GIVE_CREATIVE_MODE_TO_TARGET = "cheat GiveCreativeModeToTarget"
    GIVE_CREATIVE_MODE_TO_PLAYER = "cheat GiveCreativeModeToPlayer {}"


class Teleportation:
    TELEPORT = "cheat Teleport"
    TELEPORT_PLAYER_ID_TO_ME = "cheat TeleportPlayerIdToMe {}"
    TELEPORT_PLAYER_NAME_TO_ME = "cheat TeleportPlayerNameToMe {}"
    TELEPORT_TO_PLAYER = "cheat TeleportToPlayer {}"
    TELEPORT_TO_PLAYER_NAME = "cheat TeleportToPlayerName {}"
    TELEPORT_TO_ACTOR_LOCATION = "cheat TeleportToActorLocation {}"
    TP = "cheat TP {}"
    TP_COORDS = "cheat TPCoords {} {} {}"
    SPI = "cheat SPI {} {} {} {} {}"
    SET_PLAYER_POS = "cheat SetPlayerPos {} {} {}"
    MOVE_TARGET_TO = "cheat MoveTargetTo {} {} {}"
    TELEPORT_TO_ACTIVE_HORDE = "cheat TeleportToActiveHorde {}"


class TribeManagement:
    TRIBE_MESSAGE = "cheat TribeMessage {} {}"
    RENAME_TRIBE = "cheat RenameTribe {} {}"
    GET_TRIBE_ID_PLAYER_LIST = "cheat GetTribeIdPlayerList {}"
    FORCE_PLAYER_TO_JOIN_TARGET_TRIBE = "cheat ForcePlayerToJoinTargetTribe {}"
    FORCE_JOIN_TRIBE = "cheat ForceJoinTribe"
    FORCE_TRIBE_ADMIN = "cheat MakeTribeAdmin"
    FORCE_TRIBE_FOUNDER = "cheat MakeTribeFounder"
    DESTROY_TRIBE_DINOS = "cheat DestroyTribeDinos"
    DESTROY_TRIBE_PLAYERS = "cheat DestroyTribePlayers"
    DESTROY_TRIBE_STRUCTURES = "cheat DestroyTribeStructures"
    DESTROY_TRIBE_ID = "cheat DestroyTribeId {}"
    DESTROY_TRIBE_ID_DINOS = "cheat DestroyTribeIdDinos {}"
    DESTROY_TRIBE_ID_PLAYERS = "cheat DestroyTribeIdPlayers {}"
    DESTROY_TRIBE_ID_STRUCTURES = "cheat DestroyTribeIdStructures {}"
    DESTROY_TRIBE_STRUCTURES_LESS_THAN = "cheat DestroyTribeStructuresLessThan {} {}"


class DinoManagement:
    TAKE_ALL_DINO = "cheat TakeAllDino"
    LEVEL_UP = "cheat LevelUp {} {}"
    GIVE_EXP_TO_TARGET = "cheat GiveExpToTarget {} {} {}"
    KILL_AOE = "cheat KillAOE {} {}"
    LEVEL_UPAOE = "cheat LevelUpAOE {} {} {}"
    LEVEL_UP_TARGET = "cheat LevelUpTarget {} {}"
    DESTROY_ALL = "cheat DestroyAll {}"
    DESTROY_WILD_DINO_CLASSES = "cheat DestroyWildDinoClasses {}"
    DESTROY_ALL_ENEMIES = "cheat DestroyAllEnemies"
    DESTROY_MY_TARGET = "cheat DestroyMyTarget"
    DESTROY_TRIBE_DINOS = "cheat DestroyTribeDinos"
    DESTROY_TRIBE_ID_DINOS = "cheat DestroyTribeIdDinos {}"
    DESTROY_WILD_DINOS = "cheat DestroyWildDinos"
    ADD_EXPERIENCE = "cheat AddExperience {} {} {}"
    DO_TAME = "cheat DoTame"
    DUMP_DINO_STATS = "cheat DumpDinoStats"
    FORCE_TAME = "cheat ForceTame"
    FORCE_TAME_AOE = "cheat ForceTameAOE {}"
    RAIN_CRITTERS = "cheat RainCritters {} {} {}"
    RAIN_DINOS = "cheat RainDinos {} {} {}"
    RAIN_DANGER = "cheat RainDanger {} {} {}"
    SDF = "cheat SDF {} {} {}"
    SIMPLE_DINO_SPAWN = "cheat SDF {} {} {}"
    SET_BABY_AGE = "cheat SetBabyAge {}"
    SET_IMPRINT_QUALITY = "cheat SetImprintQuality {}"
    SET_IMPRINTED_PLAYER = "cheat SetImprintedPlayer {} {}"
    SET_STATS_ON_TARGET = "cheat SetStatOnTarget {} {}"
    TRANSFER_IMPRINTS = "cheat TransferImprints {} {} {}"
    SET_TARGET_DINO_COLOR = "cheat SetTargetDinoColor {} {}"
    SPAWN_ACTOR = 'cheat SpawnActor "{}" {} {} {}'
    SPAWN_ACTOR_SPREAD = 'cheat SpawnActorSpread "{}" {} {} {} {} {}'
    SPAWN_DINO = 'cheat SpawnDino "{}" {} {} {} {}'
    SUMMON = "cheat Summon {}"
    SUMMON_TAMED = "cheat SummonTamed {}"
    GM_SUMMON = 'cheat GMSummon "{}" {}'
    GIVE_DINO_SET = "cheat GiveDinoSet {} {}"
    SPAWN_EXACT_DINO = 'cheat SpawnExactDino "{}" "{}" {} {} {} "{}" "{}" "{}" {} {} "{}" "{}" "{}" {} {} "{}" {} {} {} {} {}'
    SPAWN_SETUP_DINO = 'cheat SpawnSetupDino "{}" "{}" {} {} "{}" {} {} {}'
    FORCE_POOP = "cheat ForcePoop"
    CLEAR_CRYO_SICKNESS = "cheat ClearCryoSickness"


class ItemManagement:
    DEBUG_STRUCTURES = "DebugStructures"
    TAKE_ALL_STRUCTURE = "cheat TakeAllStructure"
    DESTROY_ALL = "cheat DestroyAll {}"
    DESTROY_MY_TARGET = "cheat DestroyMyTarget"
    DESTROY_STRUCTURES = "cheat DestroyStructures"
    DESTROY_TRIBE_STRUCTURES = "cheat DestroyTribeStructures"
    DESTROY_TRIBE_ID_STRUCTURES = "cheat DestroyTribeIdStructures {}"
    DESTROY_TRIBE_STRUCTURES_LESS_THAN = "cheat DestroyTribeStructuresLessThan {} {}"
    FORCE_PLAYER_TO_JOIN_TARGET_TRIBE = "cheat ForcePlayerToJoinTargetTribe {}"
    FORCE_PLAYER_TO_JOIN_TRIBE = "cheat ForcePlayerToJoinTribe {} {}"
    FORCE_JOIN_TRIBE = "cheat ForceJoinTribe"
    FORCE_TRIBES = "cheat ForceTribes {} {} {}"
    GIVE_ALL_STRUCTURE = "cheat GiveAllStructure"
    MAKE_TRIBE_ADMIN = "cheat MakeTribeAdmin"
    MAKE_TRIBE_FOUNDER = "cheat MakeTribeFounder"
    REMOVE_TRIBE_ADMIN = "cheat RemoveTribeAdmin"
    TAKE_TRIBE = "cheat TakeTribe {}"
    GIVE_COLORS = "cheat GiveColors {}"
    GIVE_ITEM = 'cheat GiveItem "{}" {} {} {}'
    GIVE_ITEM_NUM = "cheat GiveItemNum {} {} {} {}"
    GIVE_ITEM_TO_PLAYER = 'cheat GiveItemToPlayer {} "{}" {} {} {}'
    GIVE_ITEM_NUM_TO_PLAYER = "cheat GiveItemNumToPlayer {} {} {} {} {}"
    GIVE_ENGRAMS = "cheat GiveEngrams"
    GIVE_ENGRAMS_TEK_ONLY = "cheat GiveEngramsTekOnly"
    GIVE_TEK_ENGRAMS_TO = "cheat GiveTekEngramsTo {} {}"
    GIVE_RESOURCES = "cheat GiveResources"
    GIVE_SLOT_ITEM = 'cheat GiveSlotItem "{}" {} {}'
    GIVE_SLOT_ITEM_NUM = "cheat GiveSlotItemNum {} {} {}"
    GIVE_TO_ME = "cheat GiveToMe"
    GIVE_ARMOUR_SET = "cheat GiveArmourSet {} {}"
    GIVE_WEAPON_SET = "cheat GiveWeaponSet {} {}"
    GIVE_ITEM_SET = "cheat GiveItemSet {}"


class PlayerManagement:
    UNBAN_PLAYER = "cheat UnbanPlayer {}"
    KICK_PLAYER = "cheat KickPlayer {}"
    BAN_PLAYER = "cheat BanPlayer {}"
    KILL = "cheat Kill"
    KILL_PLAYER = "cheat KillPlayer {}"
    KILL_AOE = "cheat KillAOE {} {}"
    SET_CHEAT_PLAYER = "cheat SetCheatPlayer {}"
    CLEAR_PLAYER_INVENTORY = "cheat ClearPlayerInventory {} {} {} {}"
    GIVE_EXP_TO_TARGET = "cheat GiveExpToTarget {} {} {}"
    RENAME_PLAYER = "cheat RenamePlayer {} {}"
    LEVEL_UP = "cheat LevelUp {} {}"
    LEVEL_UPAOE = "cheat LevelUpAOE {} {} {}"
    LEVEL_UP_TARGET = "cheat LevelUpTarget {} {}"
    DESTROY_ALL = "cheat DestroyAll {}"
    DESTROY_TRIBE_PLAYERS = "cheat DestroyTribePlayers"
    DESTROY_TRIBE_ID_PLAYERS = "cheat DestroyTribeIdPlayers"
    ADD_EXPERIENCE = "cheat AddExperience {} {} {}"
    UNLOCK_ENGRAM = 'cheat UnlockEngram "{}"'
    HIDE_RIDERS = "cheat HideRiders {}"
    CHANGE_SIZE = "cheat ChangeSize {}"
    CLEAR_TUTORIALS = "cheat ClearTutorials"
    ENEMY_INVISIBLE = "cheat EnemyInvisible {}"
    EXEC_SET_SLEEPING = "cheat ExecSetSleeping {}"
    FLY = "cheat Fly"
    GHOST = "cheat Ghost"
    GIVE_EXP_TO_PLAYER = "cheat GiveExpToPlayer {} {} {} {}"
    GM_BUFF = "cheat GMBuff"
    ENV_QA = "cheat EnvQA"
    GOD = "cheat God"
    HIDE_TUTORIAL = "cheat HideTutorial {}"
    HURT_ME = "cheat HurtMe {}"
    INFINITE_STATS = "cheat InfiniteStats"
    LEAVE_ME_ALONE = "cheat LeaveMeAlone"
    ON_TOGGLE_IN_GAME_MENU = "cheat OnToggleInGameMenu"
    PLAYER_COMMAND = "cheat PlayerCommand {}"
    SET_FACIAL_HAIR_PERCENT = "cheat SetFacialHairPercent {}"
    SET_FACIAL_HAIR_STYLE = "cheat SetFacialHairStyle {}"
    SET_HEAD_HAIR_PERCENT = "cheat SetHeadHairPercent {}"
    SET_HEAD_HAIR_STYLE = "cheat SetHeadHairStyle {}"
    SET_GOD_MODE = "cheat SetGodMode {}"
    SET_TARGET_PLAYER_BODY_VAL = "cheat SetTargetPlayerBodyVal {} {}"
    SET_TARGET_PLAYER_COLOR_VAL = "cheat SetTargetPlayerColorVal {} {}"
    SHOW_TUTORIAL = "cheat ShowTutorial {} {}"
    SUICIDE = "cheat Suicide"
    TOGGLE_INFINITE_AMMO = "cheat ToggleInfiniteAmmo"
    WALK = "cheat Walk"
    TOGGLE_GUN = "cheat ToggleGun"
    REFILL_STATS = "cheat RefillStats"
    CLEAR_MY_BUFFS = "cheat ClearMyBuffs"
    SET_MY_TARGET_SLEEPING = "cheat SetMyTargetSleeping {}"
    MAX_ASCEND = "cheat MaxAscend {}"
    DEFEAT_BOSS = "cheat DefeatBoss {} {} {}"
    DEFEAT_ALL_BOSSES = "cheat DefeatAllBosses {}"
    GIVE_ALL_EXPLORER_NOTES = "cheat GiveAllExplorerNotes"
    GIVE_EXPLORER_NOTE = "cheat GiveExplorerNote {}"
    ADD_HEXAGONS = "cheat AddHexagons {}"
    INFINITE_WEIGHT = "cheat InfiniteWeight"
    GIVE_ITEM_TO_PLAYER = 'cheat GiveItemToPlayer {} "{}" {} {} {}'
    GIVE_ITEM_NUM_TO_PLAYER = "cheat GiveItemNumToPlayer {} {} {} {} {}"
    GIVE_TEK_ENGRAMS_TO = "cheat GiveTekEngramsTo {} {}"

