mirror of
https://github.com/PaperMC/Paper.git
synced 2025-08-02 05:02:10 -07:00
Co-authored-by: Bjarne Koll <git@lynxplay.dev> Co-authored-by: Jake Potrebic <jake.m.potrebic@gmail.com> Co-authored-by: Jason Penilla <11360596+jpenilla@users.noreply.github.com> Co-authored-by: Lulu13022002 <41980282+Lulu13022002@users.noreply.github.com> Co-authored-by: Noah van der Aa <ndvdaa@gmail.com> Co-authored-by: Owen1212055 <23108066+Owen1212055@users.noreply.github.com> Co-authored-by: Spottedleaf <Spottedleaf@users.noreply.github.com>
21 lines
1.0 KiB
Diff
21 lines
1.0 KiB
Diff
--- a/net/minecraft/server/commands/GameModeCommand.java
|
|
+++ b/net/minecraft/server/commands/GameModeCommand.java
|
|
@@ -69,9 +_,16 @@
|
|
}
|
|
|
|
private static boolean setGameMode(CommandSourceStack source, ServerPlayer player, GameType gameMode) {
|
|
- if (player.setGameMode(gameMode)) {
|
|
+ // Paper start
|
|
+ org.bukkit.event.player.PlayerGameModeChangeEvent event = player.setGameMode(gameMode, org.bukkit.event.player.PlayerGameModeChangeEvent.Cause.COMMAND, net.kyori.adventure.text.Component.empty());
|
|
+ if (event != null && !event.isCancelled()) {
|
|
+ // Paper end
|
|
logGamemodeChange(source, player, gameMode);
|
|
return true;
|
|
+ } else if (event != null && event.cancelMessage() != null) {
|
|
+ source.sendSuccess(() -> io.papermc.paper.adventure.PaperAdventure.asVanilla(event.cancelMessage()), true);
|
|
+ return false;
|
|
+ // Paper end - Expand PlayerGameModeChangeEvent
|
|
} else {
|
|
return false;
|
|
}
|