Biome freeze override and update upstream

This commit is contained in:
Cryptite
2023-08-29 10:12:20 -05:00
parent 3ef1929507
commit 400162acc9
5 changed files with 38 additions and 11 deletions

View File

@@ -2,7 +2,7 @@ group=com.lokamc.slice
version=1.20.1-R0.1-SNAPSHOT
mcVersion=1.20.1
paperRef=6813244fb06e416bf30542905b7bedfb94facecf
paperRef=b4e3b3d1dd447bac4cbf478595c1ec320bc6dd4b
org.gradle.caching=true
org.gradle.parallel=true

View File

@@ -42,10 +42,10 @@ index fb98936bb8a5488db75d676c5bcb4060597fbbf8..2e1cea360bb6ff85eb8da54237bc4076
standardInput = System.`in`
workingDir = rootProject.layout.projectDirectory
diff --git a/src/main/java/net/minecraft/server/MinecraftServer.java b/src/main/java/net/minecraft/server/MinecraftServer.java
index 435f5ee3388f5da93df938c43ea2578f7d586407..ac1cb065ace9198e7e8fe65b3225d0caf456b9dc 100644
index 67ee3a4ca8a6cdeb275653d492a1fea8037c51fb..915340fedc6c0b3d70ee065482dbe621b7c0b0a8 100644
--- a/src/main/java/net/minecraft/server/MinecraftServer.java
+++ b/src/main/java/net/minecraft/server/MinecraftServer.java
@@ -1693,7 +1693,7 @@ public abstract class MinecraftServer extends ReentrantBlockableEventLoop<TickTa
@@ -1692,7 +1692,7 @@ public abstract class MinecraftServer extends ReentrantBlockableEventLoop<TickTa
@DontObfuscate
public String getServerModName() {

View File

@@ -17,7 +17,7 @@ index e08b72010f22ce680e88f443782bdfe6a46285f9..3809b2125254424d4939794961a9f082
double d2 = d0 * d0;
boolean flag = d1 <= d2 && this.entity.broadcastToPlayer(player);
diff --git a/src/main/java/net/minecraft/server/level/ServerPlayer.java b/src/main/java/net/minecraft/server/level/ServerPlayer.java
index 2b93a37ee1f711c14140eb96f29dfdd3290641ad..f301178c2d68400c73a50c298a6bb6fd0f40e8ad 100644
index c610111cde3d1cecac661549511742231e1e47c3..069665c210f2c3f8aec8c13c1c0c2ab5c50d3e24 100644
--- a/src/main/java/net/minecraft/server/level/ServerPlayer.java
+++ b/src/main/java/net/minecraft/server/level/ServerPlayer.java
@@ -279,6 +279,7 @@ public class ServerPlayer extends Player {
@@ -28,7 +28,7 @@ index 2b93a37ee1f711c14140eb96f29dfdd3290641ad..f301178c2d68400c73a50c298a6bb6fd
private final java.util.concurrent.atomic.AtomicReference<io.papermc.paper.chunk.system.RegionizedPlayerChunkLoader.ViewDistances> viewDistances = new java.util.concurrent.atomic.AtomicReference<>(new io.papermc.paper.chunk.system.RegionizedPlayerChunkLoader.ViewDistances(-1, -1, -1));
public io.papermc.paper.chunk.system.RegionizedPlayerChunkLoader.PlayerChunkLoaderData chunkLoader;
@@ -2651,4 +2652,18 @@ public class ServerPlayer extends Player {
@@ -2656,4 +2657,18 @@ public class ServerPlayer extends Player {
return (CraftPlayer) super.getBukkitEntity();
}
// CraftBukkit end

View File

@@ -17,7 +17,7 @@ index 019d3bbd78fb0b06861979d223915fedb6c99442..89ec08d2550084c1456ce885c71d1e5d
public BlockUpdates blockUpdates;
diff --git a/src/main/java/net/minecraft/server/MinecraftServer.java b/src/main/java/net/minecraft/server/MinecraftServer.java
index ac1cb065ace9198e7e8fe65b3225d0caf456b9dc..0d92e021d83a6f467131b079660624be7cd8c137 100644
index 915340fedc6c0b3d70ee065482dbe621b7c0b0a8..fc6fa65dae66d695b5fd732cc495d3649a28862c 100644
--- a/src/main/java/net/minecraft/server/MinecraftServer.java
+++ b/src/main/java/net/minecraft/server/MinecraftServer.java
@@ -2,6 +2,7 @@ package net.minecraft.server;
@@ -28,7 +28,7 @@ index ac1cb065ace9198e7e8fe65b3225d0caf456b9dc..0d92e021d83a6f467131b079660624be
import com.google.common.collect.ImmutableList;
import co.aikar.timings.Timings;
import com.destroystokyo.paper.event.server.PaperServerListPingEvent;
@@ -311,6 +312,7 @@ public abstract class MinecraftServer extends ReentrantBlockableEventLoop<TickTa
@@ -310,6 +311,7 @@ public abstract class MinecraftServer extends ReentrantBlockableEventLoop<TickTa
public volatile Thread shutdownThread; // Paper
public volatile boolean abnormalExit = false; // Paper
public boolean isIteratingOverLevels = false; // Paper
@@ -36,7 +36,7 @@ index ac1cb065ace9198e7e8fe65b3225d0caf456b9dc..0d92e021d83a6f467131b079660624be
public static <S extends MinecraftServer> S spin(Function<Thread, S> serverFactory) {
AtomicReference<S> atomicreference = new AtomicReference();
@@ -411,6 +413,12 @@ public abstract class MinecraftServer extends ReentrantBlockableEventLoop<TickTa
@@ -410,6 +412,12 @@ public abstract class MinecraftServer extends ReentrantBlockableEventLoop<TickTa
}
// CraftBukkit end
@@ -49,7 +49,7 @@ index ac1cb065ace9198e7e8fe65b3225d0caf456b9dc..0d92e021d83a6f467131b079660624be
private void readScoreboard(DimensionDataStorage persistentStateManager) {
ServerScoreboard scoreboardserver = this.getScoreboard();
@@ -886,6 +894,7 @@ public abstract class MinecraftServer extends ReentrantBlockableEventLoop<TickTa
@@ -885,6 +893,7 @@ public abstract class MinecraftServer extends ReentrantBlockableEventLoop<TickTa
this.isSaving = true;
this.getPlayerList().saveAll(); // Diff on change
flag3 = this.saveAllChunks(suppressLogs, flush, force);
@@ -57,7 +57,7 @@ index ac1cb065ace9198e7e8fe65b3225d0caf456b9dc..0d92e021d83a6f467131b079660624be
} finally {
this.isSaving = false;
}
@@ -1102,6 +1111,15 @@ public abstract class MinecraftServer extends ReentrantBlockableEventLoop<TickTa
@@ -1101,6 +1110,15 @@ public abstract class MinecraftServer extends ReentrantBlockableEventLoop<TickTa
throw new IllegalStateException("Failed to initialize server");
}
@@ -73,7 +73,7 @@ index ac1cb065ace9198e7e8fe65b3225d0caf456b9dc..0d92e021d83a6f467131b079660624be
this.nextTickTime = Util.getMillis();
this.statusIcon = (ServerStatus.Favicon) this.loadStatusIcon().orElse(null); // CraftBukkit - decompile error
this.status = this.buildServerStatus();
@@ -1414,6 +1432,7 @@ public abstract class MinecraftServer extends ReentrantBlockableEventLoop<TickTa
@@ -1413,6 +1431,7 @@ public abstract class MinecraftServer extends ReentrantBlockableEventLoop<TickTa
level.saveIncrementally(fullSave);
}
}

View File

@@ -0,0 +1,27 @@
From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001
From: Cryptite <cryptite@gmail.com>
Date: Tue, 29 Aug 2023 09:23:11 -0500
Subject: [PATCH] Biome freeze override
diff --git a/src/main/java/net/minecraft/world/level/biome/Biome.java b/src/main/java/net/minecraft/world/level/biome/Biome.java
index 65012a12e1430956ef55ced56773e6354ac26444..0178017cb2d871dd344e3da910ee724cac05d7e5 100644
--- a/src/main/java/net/minecraft/world/level/biome/Biome.java
+++ b/src/main/java/net/minecraft/world/level/biome/Biome.java
@@ -76,6 +76,7 @@ public final class Biome {
return long2FloatLinkedOpenHashMap;
});
});
+ public Boolean canFreeze = null; // Slice
Biome(Biome.ClimateSettings weather, BiomeSpecialEffects effects, BiomeGenerationSettings generationSettings, MobSpawnSettings spawnSettings) {
this.climateSettings = weather;
@@ -138,6 +139,8 @@ public final class Biome {
}
public boolean shouldFreeze(LevelReader world, BlockPos pos, boolean doWaterCheck) {
+ if (canFreeze != null) return canFreeze; // Slice
+
if (this.warmEnoughToRain(pos)) {
return false;
} else {