Advertisement
Gleemingknight

Untitled

Jul 8th, 2025
423
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Kotlin 4.22 KB | None | 0 0
  1. class GameModeCommands(private val logHandler: LogHandler) : ManagedClass {
  2.  
  3.     init {
  4.         fun setGameMode(player: CommandSender, target: Player, gameMode: GameMode) {
  5.             listOf(player, target).createChatSession {
  6.                 if (player != target) {
  7.                     sendMessage(
  8.                         "&eYou have updated &6${target.name}'s &egamemode to &6${gameMode.name.firstCapitalized()}&e.",
  9.                         to = listOf(player)
  10.                     )
  11.                 }
  12.  
  13.                 sendMessage(
  14.                     "&eYour gamemode has been updated to &6${gameMode.name.firstCapitalized()}&e.",
  15.                     to = listOf(target)
  16.                 )
  17.                 target.gameMode = gameMode
  18.  
  19.                 logHandler.createLog(
  20.                     listOf(target.uniqueId, if (player is Player) player.uniqueId else null),
  21.                     "gamemode_update",
  22.                     mapOf(
  23.                         "gamemode" to gameMode.name.firstCapitalized(),
  24.                         "target" to target.uniqueId.toString(),
  25.                         "author" to if (player is Player) player.uniqueId.toString() else "console",
  26.                     )
  27.                 )
  28.             }
  29.         }
  30.  
  31.         useCommand("gmc [player]") {
  32.             argument("player", PlayerArgument)
  33.  
  34.             restrict(PermissionRestriction("gamemode_commands"))
  35.  
  36.             restrict("&cYou must be a player to use this command.") {
  37.                 return@restrict executor.isPlayer() || getOptionalArg<Player>("player") != null
  38.             }
  39.  
  40.             execute {
  41.                 setGameMode(
  42.                     executor.sender,
  43.                     getOptionalArg<Player>("player") ?: executor.player(),
  44.                     GameMode.CREATIVE
  45.                 )
  46.             }
  47.         }
  48.  
  49.         useCommand("gms [player]") {
  50.             argument("player", PlayerArgument)
  51.  
  52.             restrict(PermissionRestriction("gamemode_commands"))
  53.  
  54.             restrict("&cYou must be a player to use this command.") {
  55.                 return@restrict executor.isPlayer() || getOptionalArg<Player>("player") != null
  56.             }
  57.  
  58.             execute {
  59.                 setGameMode(
  60.                     executor.sender,
  61.                     getOptionalArg<Player>("player") ?: executor.player(),
  62.                     GameMode.SURVIVAL
  63.                 )
  64.             }
  65.         }
  66.  
  67.         useCommand("gma [player]") {
  68.             argument("player", PlayerArgument)
  69.  
  70.             restrict(PermissionRestriction("gamemode_commands"))
  71.  
  72.             restrict("&cYou must be a player to use this command.") {
  73.                 return@restrict executor.isPlayer() || getOptionalArg<Player>("player") != null
  74.             }
  75.  
  76.             execute {
  77.                 setGameMode(
  78.                     executor.sender,
  79.                     getOptionalArg<Player>("player") ?: executor.player(),
  80.                     GameMode.ADVENTURE
  81.                 )
  82.             }
  83.         }
  84.  
  85.         useCommand("gmsp [player]") {
  86.             argument("player", PlayerArgument)
  87.  
  88.             restrict(PermissionRestriction("gamemode_commands"))
  89.  
  90.             restrict("&cYou must be a player to use this command.") {
  91.                 return@restrict executor.isPlayer() || getOptionalArg<Player>("player") != null
  92.             }
  93.  
  94.             execute {
  95.                 setGameMode(
  96.                     executor.sender,
  97.                     getOptionalArg<Player>("player") ?: executor.player(),
  98.                     GameMode.SPECTATOR
  99.                 )
  100.             }
  101.         }
  102.  
  103.         useCommand("gm|gamemode <gamemode> [player]") {
  104.             argument("gamemode", GameModeArgument)
  105.             argument("player", PlayerArgument)
  106.  
  107.             restrict(PermissionRestriction("gamemode_commands"))
  108.  
  109.             restrict("&cYou must be a player to use this command.") {
  110.                 return@restrict executor.isPlayer() || getOptionalArg<Player>("player") != null
  111.             }
  112.  
  113.             execute {
  114.                 setGameMode(
  115.                     executor.sender,
  116.                     getOptionalArg<Player>("player") ?: executor.player(),
  117.                     getArg("gamemode")
  118.                 )
  119.             }
  120.         }
  121.     }
  122. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement