Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- class GameModeCommands(private val logHandler: LogHandler) : ManagedClass {
- init {
- fun setGameMode(player: CommandSender, target: Player, gameMode: GameMode) {
- listOf(player, target).createChatSession {
- if (player != target) {
- sendMessage(
- "&eYou have updated &6${target.name}'s &egamemode to &6${gameMode.name.firstCapitalized()}&e.",
- to = listOf(player)
- )
- }
- sendMessage(
- "&eYour gamemode has been updated to &6${gameMode.name.firstCapitalized()}&e.",
- to = listOf(target)
- )
- target.gameMode = gameMode
- logHandler.createLog(
- listOf(target.uniqueId, if (player is Player) player.uniqueId else null),
- "gamemode_update",
- mapOf(
- "gamemode" to gameMode.name.firstCapitalized(),
- "target" to target.uniqueId.toString(),
- "author" to if (player is Player) player.uniqueId.toString() else "console",
- )
- )
- }
- }
- useCommand("gmc [player]") {
- argument("player", PlayerArgument)
- restrict(PermissionRestriction("gamemode_commands"))
- restrict("&cYou must be a player to use this command.") {
- return@restrict executor.isPlayer() || getOptionalArg<Player>("player") != null
- }
- execute {
- setGameMode(
- executor.sender,
- getOptionalArg<Player>("player") ?: executor.player(),
- GameMode.CREATIVE
- )
- }
- }
- useCommand("gms [player]") {
- argument("player", PlayerArgument)
- restrict(PermissionRestriction("gamemode_commands"))
- restrict("&cYou must be a player to use this command.") {
- return@restrict executor.isPlayer() || getOptionalArg<Player>("player") != null
- }
- execute {
- setGameMode(
- executor.sender,
- getOptionalArg<Player>("player") ?: executor.player(),
- GameMode.SURVIVAL
- )
- }
- }
- useCommand("gma [player]") {
- argument("player", PlayerArgument)
- restrict(PermissionRestriction("gamemode_commands"))
- restrict("&cYou must be a player to use this command.") {
- return@restrict executor.isPlayer() || getOptionalArg<Player>("player") != null
- }
- execute {
- setGameMode(
- executor.sender,
- getOptionalArg<Player>("player") ?: executor.player(),
- GameMode.ADVENTURE
- )
- }
- }
- useCommand("gmsp [player]") {
- argument("player", PlayerArgument)
- restrict(PermissionRestriction("gamemode_commands"))
- restrict("&cYou must be a player to use this command.") {
- return@restrict executor.isPlayer() || getOptionalArg<Player>("player") != null
- }
- execute {
- setGameMode(
- executor.sender,
- getOptionalArg<Player>("player") ?: executor.player(),
- GameMode.SPECTATOR
- )
- }
- }
- useCommand("gm|gamemode <gamemode> [player]") {
- argument("gamemode", GameModeArgument)
- argument("player", PlayerArgument)
- restrict(PermissionRestriction("gamemode_commands"))
- restrict("&cYou must be a player to use this command.") {
- return@restrict executor.isPlayer() || getOptionalArg<Player>("player") != null
- }
- execute {
- setGameMode(
- executor.sender,
- getOptionalArg<Player>("player") ?: executor.player(),
- getArg("gamemode")
- )
- }
- }
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement