Updated Upstream (Paper & Pufferfish)

Upstream has released updates that appear to apply and compile correctly

Paper Changes:
PaperMC/Paper@753bf2c Update paperweight to 1.3.5
PaperMC/Paper@15b6b3d Add StructuresLocateEvent as replacement for StructureLocateEvent (#7524)
PaperMC/Paper@c09365a Fix deadlock on watchdog crash (#7535)
PaperMC/Paper@719daa8 Updated Upstream (CraftBukkit)
PaperMC/Paper@b9f26bb Add printPaperVersion task
PaperMC/Paper@63aa4d3 Clarify exception messages for invalid view distances (#7510)

Pufferfish Changes:
pufferfish-gg/Pufferfish@a786526 Updated Upstream (Paper)
pufferfish-gg/Pufferfish@e0075db 1.18.2 - Updated Upstream (Paper)
This commit is contained in:
Ben Kerllenevich 2022-03-04 07:11:14 -05:00
parent 3de31d2e35
commit c4451ae6cd
13 changed files with 260 additions and 275 deletions

View File

@ -1,7 +1,7 @@
group = org.purpurmc.purpur
version = 1.18.2-R0.1-SNAPSHOT
paperCommit = d33cdcf2e6ee53b28cabe99f417c7995bd9b7bc3
paperCommit = 63aa4d33194cae156d1bed840868336cda6bc52b
org.gradle.caching = true
org.gradle.parallel = true

File diff suppressed because it is too large Load Diff

View File

@ -5,7 +5,7 @@ Subject: [PATCH] Rebrand
diff --git a/build.gradle.kts b/build.gradle.kts
index 27c18ced1ce6d38c9cd05eb4269f25a9d6520030..58948319c004d89a90052d061f9c9293375b9c88 100644
index ecb65e75d19d2f7b72410c89251e56566b7b6dc0..bd5d784ad6fb9786e03bd614baa40954b9fe6090 100644
--- a/build.gradle.kts
+++ b/build.gradle.kts
@@ -18,7 +18,7 @@ repositories {
@ -15,7 +15,7 @@ index 27c18ced1ce6d38c9cd05eb4269f25a9d6520030..58948319c004d89a90052d061f9c9293
- implementation(project(":pufferfish-api")) // Pufferfish // Paper
+ implementation(project(":purpur-api")) // Pufferfish // Paper // Purpur
// Pufferfish start
implementation("io.papermc.paper:paper-mojangapi:1.18.1-R0.1-SNAPSHOT") {
implementation("io.papermc.paper:paper-mojangapi:1.18.2-R0.1-SNAPSHOT") {
exclude("io.papermc.paper", "paper-api")
@@ -54,6 +54,8 @@ dependencies {
isTransitive = false
@ -167,10 +167,10 @@ index 1a859fef0848cf23a672012e9764965ae1c07ec5..14ed740609b14242c2a8d377a78b2f71
stringbuilder.append(CrashReport.getErrorComment());
stringbuilder.append("\n\n");
diff --git a/src/main/java/net/minecraft/server/MinecraftServer.java b/src/main/java/net/minecraft/server/MinecraftServer.java
index 9bd03a9ca4d1a5332738b943493c2b7bb339b698..631e2e9bee442a185b3423594e9065e39458bba6 100644
index a6d8f128ac1c2eacf662ee40a04275d45d6754ca..4633f75991dc5e261fb96bd707cca7bf304fcc13 100644
--- a/src/main/java/net/minecraft/server/MinecraftServer.java
+++ b/src/main/java/net/minecraft/server/MinecraftServer.java
@@ -960,7 +960,7 @@ public abstract class MinecraftServer extends ReentrantBlockableEventLoop<TickTa
@@ -958,7 +958,7 @@ public abstract class MinecraftServer extends ReentrantBlockableEventLoop<TickTa
shutdownThread = Thread.currentThread();
org.spigotmc.WatchdogThread.doStop(); // Paper
if (!isSameThread()) {
@ -179,7 +179,7 @@ index 9bd03a9ca4d1a5332738b943493c2b7bb339b698..631e2e9bee442a185b3423594e9065e3
while (this.getRunningThread().isAlive()) {
this.getRunningThread().stop();
try {
@@ -1687,7 +1687,7 @@ public abstract class MinecraftServer extends ReentrantBlockableEventLoop<TickTa
@@ -1685,7 +1685,7 @@ public abstract class MinecraftServer extends ReentrantBlockableEventLoop<TickTa
@DontObfuscate
public String getServerModName() {
@ -221,7 +221,7 @@ index 303b70f0433ff49a3bee2a0d92c41f01aec38bee..5e9fc979daced5dad9977ab12ea019f4
private static final int DEFAULT_SIZE_THRESHOLD = 1024 * 8;
diff --git a/src/main/java/org/bukkit/craftbukkit/CraftServer.java b/src/main/java/org/bukkit/craftbukkit/CraftServer.java
index 118b9aed39dfaa3780905bb38738ba8b131fc0e4..4bc37e48600d830a9cdc379428fcd82c9d9639d4 100644
index cc88eb1247bafb65999e1ca5624c87b038b27866..0c4140890198d68901c1045e9259b866ef027272 100644
--- a/src/main/java/org/bukkit/craftbukkit/CraftServer.java
+++ b/src/main/java/org/bukkit/craftbukkit/CraftServer.java
@@ -248,7 +248,7 @@ import javax.annotation.Nullable; // Paper
@ -287,7 +287,7 @@ index cdefb2025eedea7e204d70d568adaf1c1ec4c03c..d1526ed7197b883e1d1f07baf285bf5e
// (async tasks must live with race-conditions if they attempt to cancel between these few lines of code)
}
diff --git a/src/main/java/org/bukkit/craftbukkit/util/CraftMagicNumbers.java b/src/main/java/org/bukkit/craftbukkit/util/CraftMagicNumbers.java
index 8197dc85f5b8d5965c2f8edacc853fc7f7daf22c..3c749451057e7e8d66b7822a01701242ba6068af 100644
index 7e06f263cf618b82f77101ef86d819d5dc37a24e..9d974b535c03ff06f7f01cdd17dc700e3a3f150e 100644
--- a/src/main/java/org/bukkit/craftbukkit/util/CraftMagicNumbers.java
+++ b/src/main/java/org/bukkit/craftbukkit/util/CraftMagicNumbers.java
@@ -430,7 +430,7 @@ public final class CraftMagicNumbers implements UnsafeValues {

View File

@ -22,10 +22,10 @@ index 8c79f66abd42e9c9875e8877c6dd82b5e3cfa184..2841469748bc308f690aaeb34fe05cb2
super(x, y, z);
}
diff --git a/src/main/java/net/minecraft/server/MinecraftServer.java b/src/main/java/net/minecraft/server/MinecraftServer.java
index 2f24119ed147b7952f671dbac21d05cf38960cc0..0fec369bd64aeebebf5702a15090982b32dcd7a7 100644
index 4633f75991dc5e261fb96bd707cca7bf304fcc13..40ec9dc096f292707bfe93dde0bc727dbff4de88 100644
--- a/src/main/java/net/minecraft/server/MinecraftServer.java
+++ b/src/main/java/net/minecraft/server/MinecraftServer.java
@@ -1565,6 +1565,7 @@ public abstract class MinecraftServer extends ReentrantBlockableEventLoop<TickTa
@@ -1563,6 +1563,7 @@ public abstract class MinecraftServer extends ReentrantBlockableEventLoop<TickTa
ServerLevel worldserver = (ServerLevel) iterator.next();
worldserver.hasPhysicsEvent = org.bukkit.event.block.BlockPhysicsEvent.getHandlerList().getRegisteredListeners().length > 0; // Paper
worldserver.hasEntityMoveEvent = io.papermc.paper.event.entity.EntityMoveEvent.getHandlerList().getRegisteredListeners().length > 0; // Paper
@ -34,7 +34,7 @@ index 2f24119ed147b7952f671dbac21d05cf38960cc0..0fec369bd64aeebebf5702a15090982b
this.profiler.push(() -> {
diff --git a/src/main/java/net/minecraft/server/level/ServerLevel.java b/src/main/java/net/minecraft/server/level/ServerLevel.java
index a154761eecb4911f8b646cccbb9b713e0fcc693e..291ec6d665daf222150f05ccdf759b8166a718a9 100644
index 5e9ad7c828a196e6fe85bb3e32aa23b95c83b39d..25d66a6d717c21602318e23f417658c2aeebeb18 100644
--- a/src/main/java/net/minecraft/server/level/ServerLevel.java
+++ b/src/main/java/net/minecraft/server/level/ServerLevel.java
@@ -212,6 +212,7 @@ public class ServerLevel extends Level implements WorldGenLevel {
@ -79,7 +79,7 @@ index 353848667006bc386fe5d3fceb61ac58be20a941..d61e30e19c1144a3610f92028c047e0f
if ((entity instanceof Bucketable && entity instanceof LivingEntity && origItem != null && origItem.asItem() == Items.WATER_BUCKET) && (event.isCancelled() || ServerGamePacketListenerImpl.this.player.getInventory().getSelected() == null || ServerGamePacketListenerImpl.this.player.getInventory().getSelected().getItem() != origItem)) {
ServerGamePacketListenerImpl.this.send(new ClientboundAddMobPacket((LivingEntity) entity));
diff --git a/src/main/java/net/minecraft/world/entity/Entity.java b/src/main/java/net/minecraft/world/entity/Entity.java
index 8e7d8482f44799d2df6ebea380dc4ff47fd66c3d..b630e2a4decc750474f4c9dc6669ecb420a9ceaf 100644
index 3522b7b81eae07ac010c5f9fd056210ff80d5b7d..a798d5ea72bc06395e27199c57be86b407311e50 100644
--- a/src/main/java/net/minecraft/world/entity/Entity.java
+++ b/src/main/java/net/minecraft/world/entity/Entity.java
@@ -300,7 +300,7 @@ public abstract class Entity implements Nameable, EntityAccess, CommandSource, i

View File

@ -5,10 +5,10 @@ Subject: [PATCH] Configurable server mod name
diff --git a/src/main/java/net/minecraft/server/MinecraftServer.java b/src/main/java/net/minecraft/server/MinecraftServer.java
index 0fec369bd64aeebebf5702a15090982b32dcd7a7..e741c1b1d34d85c69cde76f43283728219c188ff 100644
index 40ec9dc096f292707bfe93dde0bc727dbff4de88..3290702916f6ee8dca3d5a79ddad90b1db3d76a0 100644
--- a/src/main/java/net/minecraft/server/MinecraftServer.java
+++ b/src/main/java/net/minecraft/server/MinecraftServer.java
@@ -1688,7 +1688,7 @@ public abstract class MinecraftServer extends ReentrantBlockableEventLoop<TickTa
@@ -1686,7 +1686,7 @@ public abstract class MinecraftServer extends ReentrantBlockableEventLoop<TickTa
@DontObfuscate
public String getServerModName() {

View File

@ -5,7 +5,7 @@ Subject: [PATCH] Lagging threshold
diff --git a/src/main/java/net/minecraft/server/MinecraftServer.java b/src/main/java/net/minecraft/server/MinecraftServer.java
index e741c1b1d34d85c69cde76f43283728219c188ff..e0e9d76519738a74ab30df077150967e0175ea59 100644
index 3290702916f6ee8dca3d5a79ddad90b1db3d76a0..b9b95ccd4a1041008b54d6cd0293ea220bdcac8d 100644
--- a/src/main/java/net/minecraft/server/MinecraftServer.java
+++ b/src/main/java/net/minecraft/server/MinecraftServer.java
@@ -304,6 +304,7 @@ public abstract class MinecraftServer extends ReentrantBlockableEventLoop<TickTa
@ -16,7 +16,7 @@ index e741c1b1d34d85c69cde76f43283728219c188ff..e0e9d76519738a74ab30df077150967e
public final SlackActivityAccountant slackActivityAccountant = new SlackActivityAccountant();
// Spigot end
public static long currentTickLong = 0L; // Paper
@@ -1205,6 +1206,7 @@ public abstract class MinecraftServer extends ReentrantBlockableEventLoop<TickTa
@@ -1203,6 +1204,7 @@ public abstract class MinecraftServer extends ReentrantBlockableEventLoop<TickTa
this.recentTps[1] = tps5.getAverage();
this.recentTps[2] = tps15.getAverage();
// Paper end
@ -25,7 +25,7 @@ index e741c1b1d34d85c69cde76f43283728219c188ff..e0e9d76519738a74ab30df077150967e
}
// Spigot end
diff --git a/src/main/java/org/bukkit/craftbukkit/CraftServer.java b/src/main/java/org/bukkit/craftbukkit/CraftServer.java
index 36776ee4e143b1198a88bf08fd4ba2d2116fe1d1..1f9009ede5df807808a7e9e1f8a70ab5a135baa7 100644
index be5dd98b305fb83cbb344f80c045720c3cb900cf..571cbb2a811c2ce7459db48a1d648e86fd0448d3 100644
--- a/src/main/java/org/bukkit/craftbukkit/CraftServer.java
+++ b/src/main/java/org/bukkit/craftbukkit/CraftServer.java
@@ -2859,5 +2859,10 @@ public final class CraftServer implements Server {

View File

@ -5,10 +5,10 @@ Subject: [PATCH] Configurable TPS Catchup
diff --git a/src/main/java/net/minecraft/server/MinecraftServer.java b/src/main/java/net/minecraft/server/MinecraftServer.java
index e0e9d76519738a74ab30df077150967e0175ea59..67e888a41da7dc3bf47a5698ec251b135bd59426 100644
index b9b95ccd4a1041008b54d6cd0293ea220bdcac8d..4956c82877a9b2b89ef626260e3abf1523f7d7fe 100644
--- a/src/main/java/net/minecraft/server/MinecraftServer.java
+++ b/src/main/java/net/minecraft/server/MinecraftServer.java
@@ -1224,7 +1224,13 @@ public abstract class MinecraftServer extends ReentrantBlockableEventLoop<TickTa
@@ -1222,7 +1222,13 @@ public abstract class MinecraftServer extends ReentrantBlockableEventLoop<TickTa
this.tickServer(this::haveTime);
this.profiler.popPush("nextTickWait");
this.mayHaveDelayedTasks = true;

View File

@ -27,7 +27,7 @@ index fa56cd09102a89692b42f1d14257990508c5c720..f9251183df72ddc56662fd3f02acf216
setListData(vector);
}
diff --git a/src/main/java/net/minecraft/server/MinecraftServer.java b/src/main/java/net/minecraft/server/MinecraftServer.java
index 67e888a41da7dc3bf47a5698ec251b135bd59426..4708f7b2cdbd9e73c98f3dab464964b7b3d1accb 100644
index 4956c82877a9b2b89ef626260e3abf1523f7d7fe..4f227401e17419f0ed4344b38aeb7f86d99ba3b5 100644
--- a/src/main/java/net/minecraft/server/MinecraftServer.java
+++ b/src/main/java/net/minecraft/server/MinecraftServer.java
@@ -303,7 +303,7 @@ public abstract class MinecraftServer extends ReentrantBlockableEventLoop<TickTa
@ -39,7 +39,7 @@ index 67e888a41da7dc3bf47a5698ec251b135bd59426..4708f7b2cdbd9e73c98f3dab464964b7
public boolean lagging = false; // Purpur
public final SlackActivityAccountant slackActivityAccountant = new SlackActivityAccountant();
// Spigot end
@@ -1108,6 +1108,7 @@ public abstract class MinecraftServer extends ReentrantBlockableEventLoop<TickTa
@@ -1106,6 +1106,7 @@ public abstract class MinecraftServer extends ReentrantBlockableEventLoop<TickTa
private static final long MAX_CATCHUP_BUFFER = TICK_TIME * TPS * 60L;
private long lastTick = 0;
private long catchupTime = 0;
@ -47,7 +47,7 @@ index 67e888a41da7dc3bf47a5698ec251b135bd59426..4708f7b2cdbd9e73c98f3dab464964b7
public final RollingAverage tps1 = new RollingAverage(60);
public final RollingAverage tps5 = new RollingAverage(60 * 5);
public final RollingAverage tps15 = new RollingAverage(60 * 15);
@@ -1198,13 +1199,17 @@ public abstract class MinecraftServer extends ReentrantBlockableEventLoop<TickTa
@@ -1196,13 +1197,17 @@ public abstract class MinecraftServer extends ReentrantBlockableEventLoop<TickTa
{
final long diff = curTime - tickSection;
java.math.BigDecimal currentTps = TPS_BASE.divide(new java.math.BigDecimal(diff), 30, java.math.RoundingMode.HALF_UP);
@ -69,7 +69,7 @@ index 67e888a41da7dc3bf47a5698ec251b135bd59426..4708f7b2cdbd9e73c98f3dab464964b7
lagging = recentTps[0] < org.purpurmc.purpur.PurpurConfig.laggingThreshold; // Purpur
tickSection = curTime;
diff --git a/src/main/java/org/bukkit/craftbukkit/CraftServer.java b/src/main/java/org/bukkit/craftbukkit/CraftServer.java
index 1f9009ede5df807808a7e9e1f8a70ab5a135baa7..4eb628e3102d16a63a586fadb83af28ccef5cbcb 100644
index 571cbb2a811c2ce7459db48a1d648e86fd0448d3..5fa7f70be550cb6d314b713263886c5dd59f7917 100644
--- a/src/main/java/org/bukkit/craftbukkit/CraftServer.java
+++ b/src/main/java/org/bukkit/craftbukkit/CraftServer.java
@@ -2636,6 +2636,7 @@ public final class CraftServer implements Server {

View File

@ -18,10 +18,10 @@ index 689ad22925b2561f7c8db961743eb1f821dbb25f..fa3c960992cc240161817e54659d83fe
public ClientboundSetTimePacket(long time, long timeOfDay, boolean doDaylightCycle) {
this.gameTime = time % 192000; // Paper - fix guardian beam
diff --git a/src/main/java/net/minecraft/server/MinecraftServer.java b/src/main/java/net/minecraft/server/MinecraftServer.java
index 4708f7b2cdbd9e73c98f3dab464964b7b3d1accb..d3add7aab3127845c68b44a6443b5165cf074367 100644
index 4f227401e17419f0ed4344b38aeb7f86d99ba3b5..53b27a29e44d5e6afb78871fd36ca573237e6d8b 100644
--- a/src/main/java/net/minecraft/server/MinecraftServer.java
+++ b/src/main/java/net/minecraft/server/MinecraftServer.java
@@ -1561,7 +1561,7 @@ public abstract class MinecraftServer extends ReentrantBlockableEventLoop<TickTa
@@ -1559,7 +1559,7 @@ public abstract class MinecraftServer extends ReentrantBlockableEventLoop<TickTa
long worldTime = world.getGameTime();
final ClientboundSetTimePacket worldPacket = new ClientboundSetTimePacket(worldTime, dayTime, doDaylight);
for (Player entityhuman : world.players()) {
@ -31,7 +31,7 @@ index 4708f7b2cdbd9e73c98f3dab464964b7b3d1accb..d3add7aab3127845c68b44a6443b5165
}
ServerPlayer entityplayer = (ServerPlayer) entityhuman;
diff --git a/src/main/java/net/minecraft/server/level/ServerLevel.java b/src/main/java/net/minecraft/server/level/ServerLevel.java
index c2481006511217c1677dbb2bab01b40c2d8233ee..fef7565a9f64a8630e8bce20ea423f70b0ffa48e 100644
index 770284a45385e64ad08b918f54e52777c98b8fd1..33e5d641781a5aaeb401167d67518f524380a6a6 100644
--- a/src/main/java/net/minecraft/server/level/ServerLevel.java
+++ b/src/main/java/net/minecraft/server/level/ServerLevel.java
@@ -202,6 +202,8 @@ public class ServerLevel extends Level implements WorldGenLevel {

View File

@ -17,10 +17,10 @@ index 362fd34016b83ba346a43abb6acf38d887918437..c137f5299e4a9e2f33aeef77818c62c3
if (environment.includeIntegrated) {
diff --git a/src/main/java/net/minecraft/server/MinecraftServer.java b/src/main/java/net/minecraft/server/MinecraftServer.java
index d9b0c98fef7aa7cba549bc76b6340b1100dc545a..f61d0b666a6d8a4dd184303068755ea666307d17 100644
index 53b27a29e44d5e6afb78871fd36ca573237e6d8b..2b344ddae29a578664888df853b5c48c728c4d50 100644
--- a/src/main/java/net/minecraft/server/MinecraftServer.java
+++ b/src/main/java/net/minecraft/server/MinecraftServer.java
@@ -1082,6 +1082,7 @@ public abstract class MinecraftServer extends ReentrantBlockableEventLoop<TickTa
@@ -1080,6 +1080,7 @@ public abstract class MinecraftServer extends ReentrantBlockableEventLoop<TickTa
this.safeShutdown(flag, false);
}
public void safeShutdown(boolean flag, boolean isRestarting) {

View File

@ -5,7 +5,7 @@ Subject: [PATCH] UPnP Port Forwarding
diff --git a/src/main/java/net/minecraft/server/MinecraftServer.java b/src/main/java/net/minecraft/server/MinecraftServer.java
index 6f2354856052e348942cc2a42cb6f364bfccc9c6..13f7389e9d26940e7a6ffcdc2c266b26cd5c7319 100644
index 061828c358924efa6119e2bdf813e478c10b77a0..73993468c880906e6d7f03b5ba3cb2318f433d57 100644
--- a/src/main/java/net/minecraft/server/MinecraftServer.java
+++ b/src/main/java/net/minecraft/server/MinecraftServer.java
@@ -309,6 +309,7 @@ public abstract class MinecraftServer extends ReentrantBlockableEventLoop<TickTa
@ -16,7 +16,7 @@ index 6f2354856052e348942cc2a42cb6f364bfccc9c6..13f7389e9d26940e7a6ffcdc2c266b26
public volatile Thread shutdownThread; // Paper
public volatile boolean abnormalExit = false; // Paper
@@ -974,6 +975,14 @@ public abstract class MinecraftServer extends ReentrantBlockableEventLoop<TickTa
@@ -972,6 +973,14 @@ public abstract class MinecraftServer extends ReentrantBlockableEventLoop<TickTa
// CraftBukkit end
MinecraftServer.LOGGER.info("Stopping server");
MinecraftTimings.stopServer(); // Paper

View File

@ -5,10 +5,10 @@ Subject: [PATCH] Give bee counts in beehives to Purpur clients
diff --git a/src/main/java/net/minecraft/server/MinecraftServer.java b/src/main/java/net/minecraft/server/MinecraftServer.java
index 13f7389e9d26940e7a6ffcdc2c266b26cd5c7319..25ad2d70a91ce127fbd96ff649939f9acfdb923e 100644
index 73993468c880906e6d7f03b5ba3cb2318f433d57..1980bee459e8b0db7800903229aead69d6ceb21a 100644
--- a/src/main/java/net/minecraft/server/MinecraftServer.java
+++ b/src/main/java/net/minecraft/server/MinecraftServer.java
@@ -1093,6 +1093,7 @@ public abstract class MinecraftServer extends ReentrantBlockableEventLoop<TickTa
@@ -1091,6 +1091,7 @@ public abstract class MinecraftServer extends ReentrantBlockableEventLoop<TickTa
}
public void safeShutdown(boolean flag, boolean isRestarting) {
org.purpurmc.purpur.task.BossBarTask.stopAll(); // Purpur

View File

@ -1,77 +0,0 @@
From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001
From: BillyGalbreath <Blake.Galbreath@Gmail.com>
Date: Tue, 1 Mar 2022 17:03:44 -0600
Subject: [PATCH] Fix compile errors
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 74b446bde17ff023fb19c422d15993fb1f4b3d69..e23d835557b02a1a882cfc8ae59e7d767e5ffe12 100644
--- a/src/main/java/net/minecraft/world/level/biome/Biome.java
+++ b/src/main/java/net/minecraft/world/level/biome/Biome.java
@@ -37,6 +37,32 @@ import net.minecraft.world.level.material.Fluids;
public final class Biome {
public static final Codec<Biome> DIRECT_CODEC;
public static final Codec<Biome> NETWORK_CODEC;
+ static {
+ DIRECT_CODEC = RecordCodecBuilder.create((instance) -> {
+ return instance.group(Biome.ClimateSettings.CODEC.forGetter((biome) -> {
+ return biome.climateSettings;
+ }), Biome.BiomeCategory.CODEC.fieldOf("category").forGetter((biome) -> {
+ return biome.biomeCategory;
+ }), BiomeSpecialEffects.CODEC.fieldOf("effects").forGetter((biome) -> {
+ return biome.specialEffects;
+ }), BiomeGenerationSettings.CODEC.forGetter((biome) -> {
+ return biome.generationSettings;
+ }), MobSpawnSettings.CODEC.forGetter((biome) -> {
+ return biome.mobSettings;
+ })).apply(instance, Biome::new);
+ });
+ NETWORK_CODEC = RecordCodecBuilder.create((instance) -> {
+ return instance.group(Biome.ClimateSettings.CODEC.forGetter((biome) -> {
+ return biome.climateSettings;
+ }), Biome.BiomeCategory.CODEC.fieldOf("category").forGetter((biome) -> {
+ return biome.biomeCategory;
+ }), BiomeSpecialEffects.CODEC.fieldOf("effects").forGetter((biome) -> {
+ return biome.specialEffects;
+ })).apply(instance, (weather, category, effects) -> {
+ return new Biome(weather, category, effects, BiomeGenerationSettings.EMPTY, MobSpawnSettings.EMPTY);
+ });
+ });
+ }
public static final Codec<Holder<Biome>> CODEC = RegistryFileCodec.create(Registry.BIOME_REGISTRY, DIRECT_CODEC);
public static final Codec<HolderSet<Biome>> LIST_CODEC = RegistryCodecs.homogeneousList(Registry.BIOME_REGISTRY, DIRECT_CODEC);
private static final PerlinSimplexNoise TEMPERATURE_NOISE = new PerlinSimplexNoise(new WorldgenRandom(new LegacyRandomSource(1234L)), ImmutableList.of(0));
@@ -257,33 +283,6 @@ public final class Biome {
return biomeEntry.value().getBiomeCategory();
}
- static {
- DIRECT_CODEC = RecordCodecBuilder.create((instance) -> {
- return instance.group(Biome.ClimateSettings.CODEC.forGetter((biome) -> {
- return biome.climateSettings;
- }), Biome.BiomeCategory.CODEC.fieldOf("category").forGetter((biome) -> {
- return biome.biomeCategory;
- }), BiomeSpecialEffects.CODEC.fieldOf("effects").forGetter((biome) -> {
- return biome.specialEffects;
- }), BiomeGenerationSettings.CODEC.forGetter((biome) -> {
- return biome.generationSettings;
- }), MobSpawnSettings.CODEC.forGetter((biome) -> {
- return biome.mobSettings;
- })).apply(instance, Biome::new);
- });
- NETWORK_CODEC = RecordCodecBuilder.create((instance) -> {
- return instance.group(Biome.ClimateSettings.CODEC.forGetter((biome) -> {
- return biome.climateSettings;
- }), Biome.BiomeCategory.CODEC.fieldOf("category").forGetter((biome) -> {
- return biome.biomeCategory;
- }), BiomeSpecialEffects.CODEC.fieldOf("effects").forGetter((biome) -> {
- return biome.specialEffects;
- })).apply(instance, (weather, category, effects) -> {
- return new Biome(weather, category, effects, BiomeGenerationSettings.EMPTY, MobSpawnSettings.EMPTY);
- });
- });
- }
-
public static class BiomeBuilder {
@Nullable
private Biome.Precipitation precipitation;