2021-06-14 19:59:31 -07:00 
										
									 
								 
							 
							
								
							 
							
								 
							 
							
							
								From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								From: Jake Potrebic <jake.m.potrebic@gmail.com>
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								Date: Sat, 15 May 2021 10:04:43 -0700
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								Subject: [PATCH] additions to PlayerGameModeChangeEvent
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								diff --git a/src/main/java/net/minecraft/server/commands/DefaultGameModeCommands.java b/src/main/java/net/minecraft/server/commands/DefaultGameModeCommands.java
 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								index 0000000000000000000000000000000000000000..0000000000000000000000000000000000000000 100644
 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								--- a/src/main/java/net/minecraft/server/commands/DefaultGameModeCommands.java
 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								+++ b/src/main/java/net/minecraft/server/commands/DefaultGameModeCommands.java
 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								@@ -0,0 +0,0 @@ public class DefaultGameModeCommands {
 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								         GameType gameType = minecraftServer.getForcedGameType();
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								         if (gameType != null) {
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								             for(ServerPlayer serverPlayer : minecraftServer.getPlayerList().getPlayers()) {
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								-                if (serverPlayer.setGameMode(gameType)) {
 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								-                    ++i;
 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								+                // Paper start - extend PlayerGameModeChangeEvent
 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								+                org.bukkit.event.player.PlayerGameModeChangeEvent event = serverPlayer.setGameMode(gameType, org.bukkit.event.player.PlayerGameModeChangeEvent.Cause.DEFAULT_GAMEMODE, net.kyori.adventure.text.Component.empty());
 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								+                if (event != null && event.isCancelled()) {
 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								+                    source.sendSuccess(io.papermc.paper.adventure.PaperAdventure.asVanilla(event.cancelMessage()), false);
 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								                 }
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								+                // Paper end
 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								+                    ++i;
 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								             }
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								         }
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								diff --git a/src/main/java/net/minecraft/server/commands/GameModeCommand.java b/src/main/java/net/minecraft/server/commands/GameModeCommand.java
 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								index 0000000000000000000000000000000000000000..0000000000000000000000000000000000000000 100644
 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								--- a/src/main/java/net/minecraft/server/commands/GameModeCommand.java
 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								+++ b/src/main/java/net/minecraft/server/commands/GameModeCommand.java
 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								@@ -0,0 +0,0 @@ public class GameModeCommand {
 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								         int i = 0;
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								         for(ServerPlayer serverPlayer : targets) {
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								-            if (serverPlayer.setGameMode(gameMode)) {
 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								+            // Paper start - extend PlayerGameModeChangeEvent
 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								+            org.bukkit.event.player.PlayerGameModeChangeEvent event = serverPlayer.setGameMode(gameMode, org.bukkit.event.player.PlayerGameModeChangeEvent.Cause.COMMAND, net.kyori.adventure.text.Component.empty());
 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								+            if (event != null && !event.isCancelled()) {
 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								                 logGamemodeChange(context.getSource(), serverPlayer, gameMode);
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								                 ++i;
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								+            } else if (event != null && event.cancelMessage() != null) {
 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								+                context.getSource().sendSuccess(io.papermc.paper.adventure.PaperAdventure.asVanilla(event.cancelMessage()), true);
 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								+                // Paper end
 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								             }
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								         }
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								diff --git a/src/main/java/net/minecraft/server/level/ServerPlayer.java b/src/main/java/net/minecraft/server/level/ServerPlayer.java
 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								index 0000000000000000000000000000000000000000..0000000000000000000000000000000000000000 100644
 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								--- a/src/main/java/net/minecraft/server/level/ServerPlayer.java
 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								+++ b/src/main/java/net/minecraft/server/level/ServerPlayer.java
 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								@@ -0,0 +0,0 @@ public class ServerPlayer extends Player {
 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								     }
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								     public boolean setGameMode(GameType gameMode) {
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								-        if (!this.gameMode.changeGameModeForPlayer(gameMode)) {
 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								-            return false;
 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								+        // Paper start - Add cause and nullable message to event
 
							 
						 
					
						
							
								
									
										
										
										
											2021-11-24 13:30:53 -08:00 
										
									 
								 
							 
							
								
									
										 
									 
								
							 
							
								 
							 
							
							
								+        org.bukkit.event.player.PlayerGameModeChangeEvent event = this.setGameMode(gameMode, org.bukkit.event.player.PlayerGameModeChangeEvent.Cause.UNKNOWN, null);
 
							 
						 
					
						
							
								
									
										
										
										
											2021-06-14 19:59:31 -07:00 
										
									 
								 
							 
							
								
							 
							
								 
							 
							
							
								+        return event == null ? false : event.isCancelled();
 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								+    }
 
							 
						 
					
						
							
								
									
										
										
										
											2021-11-24 13:30:53 -08:00 
										
									 
								 
							 
							
								
									
										 
									 
								
							 
							
								 
							 
							
							
								+    public org.bukkit.event.player.PlayerGameModeChangeEvent setGameMode(GameType gameMode, org.bukkit.event.player.PlayerGameModeChangeEvent.Cause cause, net.kyori.adventure.text.Component message) {
 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								+        org.bukkit.event.player.PlayerGameModeChangeEvent event = this.gameMode.changeGameModeForPlayer(gameMode, cause, message);
 
							 
						 
					
						
							
								
									
										
										
										
											2021-06-14 19:59:31 -07:00 
										
									 
								 
							 
							
								
							 
							
								 
							 
							
							
								+        if (event == null || event.isCancelled()) {
 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								+            // Paper end
 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								+            return null;
 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								         } else {
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								             this.connection.send(new ClientboundGameEventPacket(ClientboundGameEventPacket.CHANGE_GAME_MODE, (float) gameMode.getId()));
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								             if (gameMode == GameType.SPECTATOR) {
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								@@ -0,0 +0,0 @@ public class ServerPlayer extends Player {
 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								             this.onUpdateAbilities();
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								             this.updateEffectVisibility();
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								-            return true;
 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								+            return event; // Paper
 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								         }
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								     }
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								@@ -0,0 +0,0 @@ public class ServerPlayer extends Player {
 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								     }
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								     public void loadGameTypes(@Nullable CompoundTag nbt) {
							 
						 
					
						
							
								
									
										
										
										
											2021-08-22 08:10:33 -07:00 
										
									 
								 
							 
							
								
									
										 
									 
								
							 
							
								 
							 
							
							
								+        // Paper start
 
							 
						 
					
						
							
								
									
										
										
										
											2021-06-14 19:59:31 -07:00 
										
									 
								 
							 
							
								
							 
							
								 
							 
							
							
								+        if (this.server.getForcedGameType() != null && this.server.getForcedGameType() != ServerPlayer.readPlayerMode(nbt, "playerGameType")) {
 
							 
						 
					
						
							
								
									
										
										
										
											2021-11-24 13:30:53 -08:00 
										
									 
								 
							 
							
								
									
										 
									 
								
							 
							
								 
							 
							
							
								+            if (new org.bukkit.event.player.PlayerGameModeChangeEvent(this.getBukkitEntity(), org.bukkit.GameMode.getByValue(this.server.getDefaultGameType().getId()), org.bukkit.event.player.PlayerGameModeChangeEvent.Cause.DEFAULT_GAMEMODE, null).callEvent()) {
 
							 
						 
					
						
							
								
									
										
										
										
											2021-06-14 19:59:31 -07:00 
										
									 
								 
							 
							
								
							 
							
								 
							 
							
							
								+                this.gameMode.setGameModeForPlayer(this.server.getForcedGameType(), GameType.DEFAULT_MODE);
 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								+            } else {
 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								+                this.gameMode.setGameModeForPlayer(ServerPlayer.readPlayerMode(nbt,"playerGameType"), ServerPlayer.readPlayerMode(nbt, "previousPlayerGameType"));
 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								+            }
 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								+            return;
 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								+        }
 
							 
						 
					
						
							
								
									
										
										
										
											2021-08-22 08:10:33 -07:00 
										
									 
								 
							 
							
								
									
										 
									 
								
							 
							
								 
							 
							
							
								+        // Paper end
 
							 
						 
					
						
							
								
									
										
										
										
											2021-06-14 19:59:31 -07:00 
										
									 
								 
							 
							
								
							 
							
								 
							 
							
							
								         this.gameMode.setGameModeForPlayer(this.calculateGameModeForNewPlayer(ServerPlayer.readPlayerMode(nbt, "playerGameType")), ServerPlayer.readPlayerMode(nbt, "previousPlayerGameType"));
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								     }
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								diff --git a/src/main/java/net/minecraft/server/level/ServerPlayerGameMode.java b/src/main/java/net/minecraft/server/level/ServerPlayerGameMode.java
 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								index 0000000000000000000000000000000000000000..0000000000000000000000000000000000000000 100644
 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								--- a/src/main/java/net/minecraft/server/level/ServerPlayerGameMode.java
 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								+++ b/src/main/java/net/minecraft/server/level/ServerPlayerGameMode.java
 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								@@ -0,0 +0,0 @@ public class ServerPlayerGameMode {
 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								     }
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								     public boolean changeGameModeForPlayer(GameType gameMode) {
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								+        // Paper end
 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								+        PlayerGameModeChangeEvent event = this.changeGameModeForPlayer(gameMode, org.bukkit.event.player.PlayerGameModeChangeEvent.Cause.UNKNOWN, null);
 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								+        return event == null ? false : event.isCancelled();
 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								+    }
 
							 
						 
					
						
							
								
									
										
										
										
											2021-07-15 14:44:59 -07:00 
										
									 
								 
							 
							
								
									
										 
									 
								
							 
							
								 
							 
							
							
								+    public PlayerGameModeChangeEvent changeGameModeForPlayer(GameType gameMode, org.bukkit.event.player.PlayerGameModeChangeEvent.Cause cause, net.kyori.adventure.text.Component cancelMessage) {
 
							 
						 
					
						
							
								
									
										
										
										
											2021-06-14 19:59:31 -07:00 
										
									 
								 
							 
							
								
							 
							
								 
							 
							
							
								+        // Paper end
 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								         if (gameMode == this.gameModeForPlayer) {
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								-            return false;
 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								+            return null; // Paper
 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								         } else {
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								             // CraftBukkit start
							 
						 
					
						
							
								
									
										
										
										
											2021-07-15 14:44:59 -07:00 
										
									 
								 
							 
							
								
									
										 
									 
								
							 
							
								 
							 
							
							
								-            PlayerGameModeChangeEvent event = new PlayerGameModeChangeEvent(this.player.getBukkitEntity(), GameMode.getByValue(gameMode.getId()));
 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								+            PlayerGameModeChangeEvent event = new PlayerGameModeChangeEvent(this.player.getBukkitEntity(), GameMode.getByValue(gameMode.getId()), cause, cancelMessage); // Paper
 
							 
						 
					
						
							
								
									
										
										
										
											2021-06-14 19:59:31 -07:00 
										
									 
								 
							 
							
								
							 
							
								 
							 
							
							
								             this.level.getCraftServer().getPluginManager().callEvent(event);
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								             if (event.isCancelled()) {
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								-                return false;
 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								+                return event; // Paper
 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								             }
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								             // CraftBukkit end
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								             this.setGameModeForPlayer(gameMode, this.gameModeForPlayer);
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								-            return true;
 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								+            return event; // Paper
 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								         }
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								     }
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								diff --git a/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java b/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java
 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								index 0000000000000000000000000000000000000000..0000000000000000000000000000000000000000 100644
 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								--- a/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java
 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								+++ b/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java
 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								@@ -0,0 +0,0 @@ public class ServerGamePacketListenerImpl implements ServerPlayerConnection, Ser
 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								                     this.player = this.server.getPlayerList().respawn(this.player, false);
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								                     if (this.server.isHardcore()) {
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								-                        this.player.setGameMode(GameType.SPECTATOR);
 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								+                        this.player.setGameMode(GameType.SPECTATOR, org.bukkit.event.player.PlayerGameModeChangeEvent.Cause.HARDCORE_DEATH, null); // Paper
 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								                         ((GameRules.BooleanValue) this.player.getLevel().getGameRules().getRule(GameRules.RULE_SPECTATORSGENERATECHUNKS)).set(false, this.server);
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								                     }
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								                 }
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								diff --git a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java
 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								index 0000000000000000000000000000000000000000..0000000000000000000000000000000000000000 100644
 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								--- a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java
 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								+++ b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java
 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								@@ -0,0 +0,0 @@ public class CraftPlayer extends CraftHumanEntity implements Player {
 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								             throw new IllegalArgumentException("Mode cannot be null");
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								         }
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								-        this.getHandle().setGameMode(GameType.byId(mode.getValue()));
 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								+        this.getHandle().setGameMode(GameType.byId(mode.getValue()), org.bukkit.event.player.PlayerGameModeChangeEvent.Cause.PLUGIN, null); // Paper
 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								     }
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								     @Override