mirror of
https://github.com/PaperMC/Paper.git
synced 2025-01-06 00:07:56 +01:00
2e3c775b68
Fixes per world difficulty with /difficulty command and also makes it so that the server keeps the last difficulty used instead of restoring the server.properties every single load.
18 lines
1.1 KiB
Diff
18 lines
1.1 KiB
Diff
--- a/net/minecraft/server/commands/DifficultyCommand.java
|
|
+++ b/net/minecraft/server/commands/DifficultyCommand.java
|
|
@@ -44,11 +44,12 @@
|
|
|
|
public static int setDifficulty(CommandSourceStack source, Difficulty difficulty) throws CommandSyntaxException {
|
|
MinecraftServer minecraftserver = source.getServer();
|
|
+ net.minecraft.server.level.ServerLevel worldServer = source.getLevel(); // CraftBukkit
|
|
|
|
- if (minecraftserver.getWorldData().getDifficulty() == difficulty) {
|
|
+ if (worldServer.getDifficulty() == difficulty) { // CraftBukkit
|
|
throw DifficultyCommand.ERROR_ALREADY_DIFFICULT.create(difficulty.getKey());
|
|
} else {
|
|
- minecraftserver.setDifficulty(difficulty, true);
|
|
+ minecraftserver.setDifficulty(worldServer, difficulty, true); // Paper - per level difficulty; don't skip other difficulty-changing logic (fix upstream's fix)
|
|
source.sendSuccess(() -> {
|
|
return Component.translatable("commands.difficulty.success", difficulty.getDisplayName());
|
|
}, true);
|