SPIGOT-6900, SPIGOT-6330: Make /difficulty command per-world

By: Doc <nachito94@msn.com>
This commit is contained in:
CraftBukkit/Spigot 2022-02-21 11:59:30 +11:00
parent 22136f3a05
commit 2271fc314d

View File

@ -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;
}