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

This commit is contained in:
Doc 2022-02-21 11:59:30 +11:00 committed by md_5
parent d83e9d0812
commit 62d976242c
No known key found for this signature in database
GPG Key ID: E8E901AC7C617C11

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