From 62d976242c21dbe83df7ab804be478efd38dd144 Mon Sep 17 00:00:00 2001 From: Doc Date: Mon, 21 Feb 2022 11:59:30 +1100 Subject: [PATCH] SPIGOT-6900, SPIGOT-6330: Make /difficulty command per-world --- .../server/commands/CommandDifficulty.patch | 17 +++++++++++++++++ 1 file changed, 17 insertions(+) create mode 100644 nms-patches/net/minecraft/server/commands/CommandDifficulty.patch diff --git a/nms-patches/net/minecraft/server/commands/CommandDifficulty.patch b/nms-patches/net/minecraft/server/commands/CommandDifficulty.patch new file mode 100644 index 000000000..08e5511ca --- /dev/null +++ b/nms-patches/net/minecraft/server/commands/CommandDifficulty.patch @@ -0,0 +1,17 @@ +--- a/net/minecraft/server/commands/CommandDifficulty.java ++++ b/net/minecraft/server/commands/CommandDifficulty.java +@@ -42,11 +42,12 @@ + + public static int setDifficulty(CommandListenerWrapper commandlistenerwrapper, EnumDifficulty enumdifficulty) throws CommandSyntaxException { + MinecraftServer minecraftserver = commandlistenerwrapper.getServer(); ++ net.minecraft.server.level.WorldServer worldServer = commandlistenerwrapper.getLevel(); // CraftBukkit + +- if (minecraftserver.getWorldData().getDifficulty() == enumdifficulty) { ++ if (worldServer.getDifficulty() == enumdifficulty) { // CraftBukkit + throw CommandDifficulty.ERROR_ALREADY_DIFFICULT.create(enumdifficulty.getKey()); + } else { +- minecraftserver.setDifficulty(enumdifficulty, true); ++ worldServer.serverLevelData.setDifficulty(enumdifficulty); // CraftBukkit + commandlistenerwrapper.sendSuccess(new ChatMessage("commands.difficulty.success", new Object[]{enumdifficulty.getDisplayName()}), true); + return 0; + }