aboutsummaryrefslogtreecommitdiffhomepage
path: root/patches/server/0451-Fix-Per-World-Difficulty-Remembering-Difficulty.patch
diff options
context:
space:
mode:
authorJake <[email protected]>2021-11-29 23:32:30 -0800
committerMiniDigger | Martin <[email protected]>2021-11-30 19:26:33 +0100
commitd8d7f523247bc84ecaedccf2bae29da4c18af4f2 (patch)
treeb1695d85949cde1da6d3d1562f494f1fc74d863f /patches/server/0451-Fix-Per-World-Difficulty-Remembering-Difficulty.patch
parent5ff792342c3a80ac8044340ac1e44c763ed38f1d (diff)
downloadPaper-d8d7f523247bc84ecaedccf2bae29da4c18af4f2.tar.gz
Paper-d8d7f523247bc84ecaedccf2bae29da4c18af4f2.zip
another patch
Diffstat (limited to 'patches/server/0451-Fix-Per-World-Difficulty-Remembering-Difficulty.patch')
-rw-r--r--patches/server/0451-Fix-Per-World-Difficulty-Remembering-Difficulty.patch110
1 files changed, 0 insertions, 110 deletions
diff --git a/patches/server/0451-Fix-Per-World-Difficulty-Remembering-Difficulty.patch b/patches/server/0451-Fix-Per-World-Difficulty-Remembering-Difficulty.patch
deleted file mode 100644
index ae51cdc948..0000000000
--- a/patches/server/0451-Fix-Per-World-Difficulty-Remembering-Difficulty.patch
+++ /dev/null
@@ -1,110 +0,0 @@
-From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001
-From: Aikar <[email protected]>
-Date: Sun, 28 Jun 2020 03:59:10 -0400
-Subject: [PATCH] Fix Per World Difficulty / Remembering Difficulty
-
-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.
-
-diff --git a/src/main/java/net/minecraft/server/MinecraftServer.java b/src/main/java/net/minecraft/server/MinecraftServer.java
-index 7bac10fca1c44768bb7c93362b331f89afbba702..4351dd9c293d1db48c87c5df28bcb2b9a59583f7 100644
---- a/src/main/java/net/minecraft/server/MinecraftServer.java
-+++ b/src/main/java/net/minecraft/server/MinecraftServer.java
-@@ -823,7 +823,7 @@ public abstract class MinecraftServer extends ReentrantBlockableEventLoop<TickTa
- chunkproviderserver.getLightEngine().setTaskPerBatch(worldserver.paperConfig.lightQueueSize); // Paper - increase light queue size
- // CraftBukkit start
- // this.updateMobSpawningFlags();
-- worldserver.setSpawnSettings(this.isSpawningMonsters(), this.isSpawningAnimals());
-+ worldserver.setSpawnSettings(worldserver.serverLevelData.getDifficulty() != Difficulty.PEACEFUL && ((DedicatedServer) this).settings.getProperties().spawnMonsters, this.isSpawningAnimals()); // Paper - per level difficulty (from setDifficulty(ServerLevel, Difficulty, boolean))
-
- this.forceTicks = false;
- // CraftBukkit end
-@@ -1699,11 +1699,14 @@ public abstract class MinecraftServer extends ReentrantBlockableEventLoop<TickTa
- }
- }
-
-- public void setDifficulty(Difficulty difficulty, boolean forceUpdate) {
-- if (forceUpdate || !this.worldData.isDifficultyLocked()) {
-- this.worldData.setDifficulty(this.worldData.isHardcore() ? Difficulty.HARD : difficulty);
-- this.updateMobSpawningFlags();
-- this.getPlayerList().getPlayers().forEach(this::sendDifficultyUpdate);
-+ // Paper start - remember per level difficulty
-+ public void setDifficulty(ServerLevel level, Difficulty difficulty, boolean forceUpdate) {
-+ PrimaryLevelData worldData = level.serverLevelData;
-+ if (forceUpdate || !worldData.isDifficultyLocked()) {
-+ worldData.setDifficulty(worldData.isHardcore() ? Difficulty.HARD : difficulty);
-+ level.setSpawnSettings(worldData.getDifficulty() != Difficulty.PEACEFUL && ((DedicatedServer) this).settings.getProperties().spawnMonsters, this.isSpawningAnimals());
-+ // this.getPlayerList().getPlayers().forEach(this::sendDifficultyUpdate);
-+ // Paper end
- }
- }
-
-@@ -1717,7 +1720,7 @@ public abstract class MinecraftServer extends ReentrantBlockableEventLoop<TickTa
- while (iterator.hasNext()) {
- ServerLevel worldserver = (ServerLevel) iterator.next();
-
-- worldserver.setSpawnSettings(this.isSpawningMonsters(), this.isSpawningAnimals());
-+ worldserver.setSpawnSettings(worldserver.serverLevelData.getDifficulty() != Difficulty.PEACEFUL && ((DedicatedServer) this).settings.getProperties().spawnMonsters, this.isSpawningAnimals()); // Paper - per level difficulty (from setDifficulty(ServerLevel, Difficulty, boolean))
- }
-
- }
-diff --git a/src/main/java/net/minecraft/server/commands/DifficultyCommand.java b/src/main/java/net/minecraft/server/commands/DifficultyCommand.java
-index 33c859df0b669d0c3e97ccba29f17c1ba2166a27..9f03b738aea623fe409ca176397f48be055466da 100644
---- a/src/main/java/net/minecraft/server/commands/DifficultyCommand.java
-+++ b/src/main/java/net/minecraft/server/commands/DifficultyCommand.java
-@@ -35,10 +35,11 @@ public class DifficultyCommand {
-
- public static int setDifficulty(CommandSourceStack source, Difficulty difficulty) throws CommandSyntaxException {
- MinecraftServer minecraftServer = source.getServer();
-- if (minecraftServer.getWorldData().getDifficulty() == difficulty) {
-+ net.minecraft.server.level.ServerLevel level = source.getLevel(); // Paper
-+ if (level.serverLevelData.getDifficulty() == difficulty) { // Paper
- throw ERROR_ALREADY_DIFFICULT.create(difficulty.getKey());
- } else {
-- minecraftServer.setDifficulty(difficulty, true);
-+ minecraftServer.setDifficulty(level, difficulty, true); // Paper - use world
- source.sendSuccess(new TranslatableComponent("commands.difficulty.success", difficulty.getDisplayName()), true);
- return 0;
- }
-diff --git a/src/main/java/net/minecraft/server/dedicated/DedicatedServer.java b/src/main/java/net/minecraft/server/dedicated/DedicatedServer.java
-index 2b7ba5d8dda0297c8b35a0cea68c3ae10188e3f2..e968b880e435b8753314d85b919a0abc4f35be25 100644
---- a/src/main/java/net/minecraft/server/dedicated/DedicatedServer.java
-+++ b/src/main/java/net/minecraft/server/dedicated/DedicatedServer.java
-@@ -366,7 +366,7 @@ public class DedicatedServer extends MinecraftServer implements ServerInterface
-
- @Override
- public void forceDifficulty() {
-- this.setDifficulty(this.getProperties().difficulty, true);
-+ //this.a(this.getDedicatedServerProperties().difficulty, true); // Paper - Don't overwrite level.dat's difficulty, keep current
- }
-
- @Override
-diff --git a/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java b/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java
-index dd29bad410ff74ce3f1f94bc60560cf10b12375f..0bcafeb8008bd2556bcdc556b17d00ff936d7aa9 100644
---- a/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java
-+++ b/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java
-@@ -3028,7 +3028,7 @@ public class ServerGamePacketListenerImpl implements ServerPlayerConnection, Ser
- public void handleChangeDifficulty(ServerboundChangeDifficultyPacket packet) {
- PacketUtils.ensureRunningOnSameThread(packet, this, this.player.getLevel());
- if (this.player.hasPermissions(2) || this.isSingleplayerOwner()) {
-- this.server.setDifficulty(packet.getDifficulty(), false);
-+ //this.minecraftServer.a(packetplayindifficultychange.b(), false); // Paper - don't allow clients to change this
- }
- }
-
-diff --git a/src/main/java/org/bukkit/craftbukkit/CraftServer.java b/src/main/java/org/bukkit/craftbukkit/CraftServer.java
-index 6c55c5430ab7e221ec25ef50818a07327d4c9e46..1a0070045e34430f8d36ce2debde2bb41e731158 100644
---- a/src/main/java/org/bukkit/craftbukkit/CraftServer.java
-+++ b/src/main/java/org/bukkit/craftbukkit/CraftServer.java
-@@ -923,8 +923,8 @@ public final class CraftServer implements Server {
- org.spigotmc.SpigotConfig.init((File) console.options.valueOf("spigot-settings")); // Spigot
- com.destroystokyo.paper.PaperConfig.init((File) console.options.valueOf("paper-settings")); // Paper
- for (ServerLevel world : this.console.getAllLevels()) {
-- world.serverLevelData.setDifficulty(config.difficulty);
-- world.setSpawnSettings(config.spawnMonsters, config.spawnAnimals);
-+ // world.serverLevelData.setDifficulty(config.difficulty); // Paper - per level difficulty
-+ world.setSpawnSettings(world.serverLevelData.getDifficulty() != Difficulty.PEACEFUL && config.spawnMonsters, config.spawnAnimals); // Paper - per level difficulty (from MinecraftServer#setDifficulty(ServerLevel, Difficulty, boolean))
- if (this.getTicksPerAnimalSpawns() < 0) {
- world.ticksPerAnimalSpawns = 400;
- } else {