Skip to content

Commit

Permalink
Updated Upstream (Paper)
Browse files Browse the repository at this point in the history
Upstream has released updates that appear to apply and compile correctly

Paper Changes:
PaperMC/Paper@848a396 Add mob goal generator (#9980)
PaperMC/Paper@ebf97bd [ci skip] Add more patch identifying comments
PaperMC/Paper@94807a1 [ci skip] Minor cleanup and patch merges
PaperMC/Paper@5e73c55 [ci skip] Add more identifying patch comments
PaperMC/Paper@3e20d3a [ci skip] Add more identifying patch comments
PaperMC/Paper@f61ebdc Fix issue with kick event causes being passed improperly
PaperMC/Paper@106c67a [ci skip] Add more identifying patch comments
PaperMC/Paper@cc693ce [ci skip] Add more identifying patch comments, merge related patches
PaperMC/Paper@eeb6afc [ci skip] Add more identifying patch comments, merge related patches
PaperMC/Paper@1c956ab [ci skip] Add more identifying patch comments, merge related patches
PaperMC/Paper@42e88a8 [ci skip] Add more identifying patch comments
PaperMC/Paper@8e41ef4 Add visual blockdata api for primed tnt (#10146)
PaperMC/Paper@68c3297 [ci skip] Add more identifying patch comments
PaperMC/Paper@4a98986 Add back Reduce allocation of Vec3D by entity tracker patch (#10179)
PaperMC/Paper@b48d737 Async world data IO saving (#10171)
PaperMC/Paper@8d94596 [ci skip] Add more identifying patch comments
PaperMC/Paper@f7dd304 [ci skip] Add more identifying patch comments
PaperMC/Paper@98e6d20 [ci skip] Add more identifying patch comments
PaperMC/Paper@e9e0bc1 [ci skip] Add more identifying patch comments
PaperMC/Paper@d9df6bc [ci skip] Add more patch identifying comments, cleanup
PaperMC/Paper@27cabc1 [ci skip] Add more patch identifying comments
PaperMC/Paper@684319f [ci skip] Add more patch identifying comments
PaperMC/Paper@9eb0b38 [ci skip] Add more patch identifying comments
PaperMC/Paper@25013d9 [ci skip] Move some disruptive patches back
PaperMC/Paper@484d6bf [ci skip] Move some disruptive patches back
PaperMC/Paper@52619e7 [ci skip] Add more patch identifying comments
PaperMC/Paper@e660379 [ci skip] Move some disruptive patches back
PaperMC/Paper@c57d1aa Move diffs around to compile without later ones applied
PaperMC/Paper@581b101 Add world to Entity AddTo/RemoveFrom Events (#10183)
PaperMC/Paper@24dc2bf Add BlockStateMeta#clearBlockState (#10160)
PaperMC/Paper@76da4bc Expose LootTable of DecoratedPot (#10023)
PaperMC/Paper@11645e3 [ci skip] (Mostly) finish adding identifying patch comments
PaperMC/Paper@51bef80 [ci skip] Remove removed patches
PaperMC/Paper@ad2cf68 [ci skip] Move chunk system patch back a bit
PaperMC/Paper@d405ff1 [ci skip] Fixup last commit
PaperMC/Paper@a4a08b7 [ci skip] Move chunk system patch a bit back
PaperMC/Paper@b700460 Convert average tick value in the GUI to the correct granularity
PaperMC/Paper@1831240 [ci skip] Move chunk system patch back
PaperMC/Paper@b03f255 Finish moving patches back and improving compilable state
PaperMC/Paper@bd2fd61 [ci skip] Fixup a few bad comments
PaperMC/Paper@fe53b0e Updated Upstream (Bukkit/CraftBukkit/Spigot)
PaperMC/Paper@1ed50da Fix javadoc errors, remove unused classes
PaperMC/Paper@7f7d05a [ci skip] Remove IRC link from the README (#10194)
PaperMC/Paper@ed130f1 [ci skip] clarify javadocs for Block#getDrops (#10153)
PaperMC/Paper@4643b0d Shulker duplicate event (#10135)
PaperMC/Paper@b333831 Make spawn egg colours visible (#10158)
PaperMC/Paper@0cc3a7e Disable memory reserve allocating (#10180)
PaperMC/Paper@3841722 Properly check if a loot table exists (#10190)
PaperMC/Paper@b3c8108 [ci skip] Fix incorrect documentation for BlockDropItemEvent (#10175)
  • Loading branch information
kev626 committed Jan 27, 2024
1 parent 8e208d3 commit 3fc02bb
Show file tree
Hide file tree
Showing 28 changed files with 156 additions and 284 deletions.
1 change: 1 addition & 0 deletions .gitignore
Original file line number Diff line number Diff line change
@@ -1,5 +1,6 @@
pufferfish-api
pufferfish-server
paper-api-generator

build/
.gradle/
Expand Down
7 changes: 7 additions & 0 deletions build.gradle.kts
Original file line number Diff line number Diff line change
Expand Up @@ -58,5 +58,12 @@ paperweight {
apiOutputDir.set(layout.projectDirectory.dir("pufferfish-api"))
serverOutputDir.set(layout.projectDirectory.dir("pufferfish-server"))
}

patchTasks.register("generatedApi") {
isBareDirectory = true
upstreamDirPath = "paper-api-generator/generated"
patchDir = layout.projectDirectory.dir("patches/generated-api")
outputDir = layout.projectDirectory.dir("paper-api-generator/generated")
}
}
}
2 changes: 1 addition & 1 deletion gradle.properties
Original file line number Diff line number Diff line change
Expand Up @@ -5,4 +5,4 @@ org.gradle.vfs.watch=false
group=gg.pufferfish.pufferfish
version=1.20.4-R0.1-SNAPSHOT
mcVersion=1.20.4
paperRef=0ef59845bf75aac7d8f0d03003a2f4a3c82b918d
paperRef=b3c81089ae26cc3ad2e7388c7b64457f3f83c98a
14 changes: 7 additions & 7 deletions patches/server/0001-Pufferfish-branding.patch
Original file line number Diff line number Diff line change
Expand Up @@ -6,7 +6,7 @@ Subject: [PATCH] Pufferfish branding
Update branding

diff --git a/build.gradle.kts b/build.gradle.kts
index 444ff797c70b0e285d4272ea2ce3d72453c9bda5..707a547375b2acfa2cafa65e003e16e53b0c0a5b 100644
index 376e8983fdfdbb6c3e5fd8ad0f6a05e655b622bf..25eecf6bb6a552f05f1c55593b2c1d52ca82b931 100644
--- a/build.gradle.kts
+++ b/build.gradle.kts
@@ -13,8 +13,12 @@ configurations.named(log4jPlugins.compileClasspathConfigurationName) {
Expand Down Expand Up @@ -213,20 +213,20 @@ index 0000000000000000000000000000000000000000..893d8c0946ef71a0561221dd76bffff0
+}
\ No newline at end of file
diff --git a/src/main/java/net/minecraft/server/MinecraftServer.java b/src/main/java/net/minecraft/server/MinecraftServer.java
index 016b7628b289fb882f3ec15dd5b0cb4e0af72edc..4a1608bf4e8eb35daddf1ee1951ed89b5663179b 100644
index 90ae7e8c81f6a9ede8aeaeec3bf784023522cefc..4883e77587b0f8c83faf36d607c5779d0843d43a 100644
--- a/src/main/java/net/minecraft/server/MinecraftServer.java
+++ b/src/main/java/net/minecraft/server/MinecraftServer.java
@@ -1852,7 +1852,7 @@ public abstract class MinecraftServer extends ReentrantBlockableEventLoop<TickTa
@@ -1855,7 +1855,7 @@ public abstract class MinecraftServer extends ReentrantBlockableEventLoop<TickTa

@DontObfuscate
public String getServerModName() {
- return "Paper"; // Paper - Paper > // Spigot - Spigot > // CraftBukkit - cb > vanilla!
+ return "Pufferfish"; // Pufferfish - Pufferfish > // Paper - Paper > // Spigot - Spigot > // CraftBukkit - cb > vanilla!
- return "Paper"; // Paper
+ return "Paper"; // Pufferfish > // Paper
}

public SystemReport fillSystemReport(SystemReport details) {
diff --git a/src/main/java/org/bukkit/craftbukkit/CraftServer.java b/src/main/java/org/bukkit/craftbukkit/CraftServer.java
index 9ef8f911632598fd589368cedde268c8abcad3b6..c18a55463a15f153835e07552b69cc4cf48fa2c8 100644
index 34cd96dba5f11e64d7c90f4246b513b0ea943aa6..a9d1f387a70800295aa37863dbb9f97337fece84 100644
--- a/src/main/java/org/bukkit/craftbukkit/CraftServer.java
+++ b/src/main/java/org/bukkit/craftbukkit/CraftServer.java
@@ -264,7 +264,7 @@ import javax.annotation.Nullable; // Paper
Expand All @@ -239,7 +239,7 @@ index 9ef8f911632598fd589368cedde268c8abcad3b6..c18a55463a15f153835e07552b69cc4c
private final String bukkitVersion = Versioning.getBukkitVersion();
private final Logger logger = Logger.getLogger("Minecraft");
diff --git a/src/main/java/org/bukkit/craftbukkit/util/CraftMagicNumbers.java b/src/main/java/org/bukkit/craftbukkit/util/CraftMagicNumbers.java
index ec2396f0e5d62b10450eaa7239a8c5479638b3c3..c909efd2060dc95bd3ecb8c9fec36a1e69a642ff 100644
index ca5312febcdd467889ad725c0263367bc5fe69f6..91992a5e329ea335d9e60543f9636cb5c3620a0e 100644
--- a/src/main/java/org/bukkit/craftbukkit/util/CraftMagicNumbers.java
+++ b/src/main/java/org/bukkit/craftbukkit/util/CraftMagicNumbers.java
@@ -482,7 +482,7 @@ public final class CraftMagicNumbers implements UnsafeValues {
Expand Down
8 changes: 4 additions & 4 deletions patches/server/0003-Pufferfish-Config-and-Command.patch
Original file line number Diff line number Diff line change
Expand Up @@ -5,7 +5,7 @@ Subject: [PATCH] Pufferfish Config and Command


diff --git a/build.gradle.kts b/build.gradle.kts
index 707a547375b2acfa2cafa65e003e16e53b0c0a5b..442959ebffbc1e2b333b57d4ede12385bf9e7f03 100644
index 25eecf6bb6a552f05f1c55593b2c1d52ca82b931..b69272af0b9e707b365d09d43f18ab2220df9a98 100644
--- a/build.gradle.kts
+++ b/build.gradle.kts
@@ -54,6 +54,13 @@ dependencies {
Expand All @@ -23,10 +23,10 @@ index 707a547375b2acfa2cafa65e003e16e53b0c0a5b..442959ebffbc1e2b333b57d4ede12385
testImplementation("org.junit.jupiter:junit-jupiter:5.10.0")
testImplementation("org.hamcrest:hamcrest:2.2")
diff --git a/src/main/java/co/aikar/timings/TimingsExport.java b/src/main/java/co/aikar/timings/TimingsExport.java
index a2f71a6d1a9e98133dff6cd0f625da9435a8af14..ff940e43ca35094bbcae6c7d471d3c4aeb7c1727 100644
index 7620c72a4c243cbeea245203ce03a97cbfa7d922..b35a9f4c5f8960864c402ede8a51fb5ab9c4fcc0 100644
--- a/src/main/java/co/aikar/timings/TimingsExport.java
+++ b/src/main/java/co/aikar/timings/TimingsExport.java
@@ -242,7 +242,8 @@ public class TimingsExport extends Thread {
@@ -240,7 +240,8 @@ public class TimingsExport extends Thread {
parent.put("config", createObject(
pair("spigot", mapAsJSON(Bukkit.spigot().getSpigotConfig(), null)),
pair("bukkit", mapAsJSON(Bukkit.spigot().getBukkitConfig(), null)),
Expand Down Expand Up @@ -252,7 +252,7 @@ index 0000000000000000000000000000000000000000..deb52c185705c4b4186c7bae02f2a827
+
+}
diff --git a/src/main/java/net/minecraft/server/dedicated/DedicatedServer.java b/src/main/java/net/minecraft/server/dedicated/DedicatedServer.java
index 9d7e1b306f8c96883dbe1adbf7e77825da4cbc21..9efb259b700503ae04c0d37b8e1fefe56bc334b9 100644
index 6de6dad36203479677a29ad61e21bc369d4e5513..5491307c433927f695c8fd4317bea1fe07a1cd4d 100644
--- a/src/main/java/net/minecraft/server/dedicated/DedicatedServer.java
+++ b/src/main/java/net/minecraft/server/dedicated/DedicatedServer.java
@@ -221,6 +221,8 @@ public class DedicatedServer extends MinecraftServer implements ServerInterface
Expand Down
6 changes: 3 additions & 3 deletions patches/server/0006-Add-option-to-disable-books.patch
Original file line number Diff line number Diff line change
Expand Up @@ -29,14 +29,14 @@ index 5b7fe3d6c2169d07b79a0937e889fc847962fdfe..ac56a5ba83184ee7b24b58cc25aa3d5a
+
}
diff --git a/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java b/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java
index 75a763afecd63ab1b4c020460da58c8364e950b7..f29808e52fd095eea4f869091d4aed84bb90c7d9 100644
index 8ca5d7c1bfacb1b47aa680eee167af08d0396ae0..dbcf025c07abafee639d8b94bf963962b5e85478 100644
--- a/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java
+++ b/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java
@@ -1124,6 +1124,7 @@ public class ServerGamePacketListenerImpl extends ServerCommonPacketListenerImpl
@@ -1121,6 +1121,7 @@ public class ServerGamePacketListenerImpl extends ServerCommonPacketListenerImpl

@Override
public void handleEditBook(ServerboundEditBookPacket packet) {
+ if (!gg.pufferfish.pufferfish.PufferfishConfig.enableBooks && !this.player.getBukkitEntity().hasPermission("pufferfish.usebooks")) return; // Pufferfish
// Paper start
// Paper start - Book size limits
if (!this.cserver.isPrimaryThread()) {
List<String> pageList = packet.getPages();
6 changes: 3 additions & 3 deletions patches/server/0007-Optimize-entity-coordinate-key.patch
Original file line number Diff line number Diff line change
Expand Up @@ -11,7 +11,7 @@ data is already available in the blockPosition struct, so we use that
instead of re-doing the casting.

diff --git a/src/main/java/io/papermc/paper/util/MCUtil.java b/src/main/java/io/papermc/paper/util/MCUtil.java
index 200ed770b57e1a9240abf0473968d4b85cbefe3c..0acc7cfc0fb0264dd76a58f7582e79d83fa040eb 100644
index 1ccf71be865af4d3c5ab8f4323a228a947e0bf3f..3f3f8443563e4ca6c7fb236e7a98eaae3be3b43e 100644
--- a/src/main/java/io/papermc/paper/util/MCUtil.java
+++ b/src/main/java/io/papermc/paper/util/MCUtil.java
@@ -212,7 +212,7 @@ public final class MCUtil {
Expand All @@ -24,10 +24,10 @@ index 200ed770b57e1a9240abf0473968d4b85cbefe3c..0acc7cfc0fb0264dd76a58f7582e79d8

public static long getCoordinateKey(final ChunkPos pair) {
diff --git a/src/main/java/net/minecraft/world/entity/Entity.java b/src/main/java/net/minecraft/world/entity/Entity.java
index 29853426230ef7e95c7060cf1a44870d369d5f68..8f5df01fdb132f55c970594b5f234b2fbaca13c1 100644
index 2c06f3ebf7e1069727387bfc60db30c958c14b5a..557bcf08b78b41392c8e4b0b2af26a403ff43ac8 100644
--- a/src/main/java/net/minecraft/world/entity/Entity.java
+++ b/src/main/java/net/minecraft/world/entity/Entity.java
@@ -309,7 +309,7 @@ public abstract class Entity implements Nameable, EntityAccess, CommandSource, S
@@ -308,7 +308,7 @@ public abstract class Entity implements Nameable, EntityAccess, CommandSource, S
public double yo;
public double zo;
private Vec3 position;
Expand Down
6 changes: 3 additions & 3 deletions patches/server/0008-Optimize-suffocation.patch
Original file line number Diff line number Diff line change
Expand Up @@ -35,7 +35,7 @@ index ac56a5ba83184ee7b24b58cc25aa3d5aa953caee..9a8896f51be5028724563cd505478247
+
}
diff --git a/src/main/java/net/minecraft/world/entity/LivingEntity.java b/src/main/java/net/minecraft/world/entity/LivingEntity.java
index 45b1a182acf6b2aef40b714d31ca125d8f74619a..f22e131d4f95deca7b256b77fe3bed8befc6dfc1 100644
index 6071451339080bbdd98fb634791a56988984c8bc..dcafd2623d88c371e87c7b88695ecbcc4d4a4af5 100644
--- a/src/main/java/net/minecraft/world/entity/LivingEntity.java
+++ b/src/main/java/net/minecraft/world/entity/LivingEntity.java
@@ -413,7 +413,7 @@ public abstract class LivingEntity extends Entity implements Attackable {
Expand All @@ -47,7 +47,7 @@ index 45b1a182acf6b2aef40b714d31ca125d8f74619a..f22e131d4f95deca7b256b77fe3bed8b
this.hurt(this.damageSources().inWall(), 1.0F);
} else if (flag && !this.level().getWorldBorder().isWithinBounds(this.getBoundingBox())) {
double d0 = this.level().getWorldBorder().getDistanceToBorder(this) + this.level().getWorldBorder().getDamageSafeZone();
@@ -1408,6 +1408,19 @@ public abstract class LivingEntity extends Entity implements Attackable {
@@ -1409,6 +1409,19 @@ public abstract class LivingEntity extends Entity implements Attackable {
return this.getHealth() <= 0.0F;
}

Expand All @@ -68,7 +68,7 @@ index 45b1a182acf6b2aef40b714d31ca125d8f74619a..f22e131d4f95deca7b256b77fe3bed8b
public boolean hurt(DamageSource source, float amount) {
if (this.isInvulnerableTo(source)) {
diff --git a/src/main/java/net/minecraft/world/entity/boss/wither/WitherBoss.java b/src/main/java/net/minecraft/world/entity/boss/wither/WitherBoss.java
index c9a4feb4a52c0eb621b120e5b8c18d0a74dae0cd..256598e058db1fd34d36390e45ab9903768343cb 100644
index ac9eaeaf7df1e84ee588f371628c0a10784d50bc..ea8883b0661e894a466eca24bfc247ac37f40a81 100644
--- a/src/main/java/net/minecraft/world/entity/boss/wither/WitherBoss.java
+++ b/src/main/java/net/minecraft/world/entity/boss/wither/WitherBoss.java
@@ -150,6 +150,13 @@ public class WitherBoss extends Monster implements PowerableMob, RangedAttackMob
Expand Down
41 changes: 20 additions & 21 deletions patches/server/0009-Optimize-mob-spawning.patch
Original file line number Diff line number Diff line change
Expand Up @@ -43,20 +43,19 @@ index 9a8896f51be5028724563cd5054782477868edef..b3dba80e30268f85befd2495cbf5bc5f
+
}
diff --git a/src/main/java/net/minecraft/server/MinecraftServer.java b/src/main/java/net/minecraft/server/MinecraftServer.java
index 56281aea40559123f5924bc5844c20f6a0b7b781..d19b2cbcb49a1d1351f039763738bbc16e90ee49 100644
index 4883e77587b0f8c83faf36d607c5779d0843d43a..05bb19ba023d40a0f662e16236ca984464563b48 100644
--- a/src/main/java/net/minecraft/server/MinecraftServer.java
+++ b/src/main/java/net/minecraft/server/MinecraftServer.java
@@ -314,6 +314,8 @@ public abstract class MinecraftServer extends ReentrantBlockableEventLoop<TickTa
// Paper start - lag compensation
public static final long SERVER_INIT = System.nanoTime();
// Paper end - lag compensation
+
@@ -312,6 +312,7 @@ public abstract class MinecraftServer extends ReentrantBlockableEventLoop<TickTa
public volatile Thread shutdownThread; // Paper
public volatile boolean abnormalExit = false; // Paper
public static final long SERVER_INIT = System.nanoTime(); // Paper - Lag compensation
+ public gg.pufferfish.pufferfish.util.AsyncExecutor mobSpawnExecutor = new gg.pufferfish.pufferfish.util.AsyncExecutor("MobSpawning"); // Pufferfish - optimize mob spawning

public static <S extends MinecraftServer> S spin(Function<Thread, S> serverFactory) {
AtomicReference<S> atomicreference = new AtomicReference();
diff --git a/src/main/java/net/minecraft/server/dedicated/DedicatedServer.java b/src/main/java/net/minecraft/server/dedicated/DedicatedServer.java
index c5d49461bf1c890352755eb5491e57d5c137bf64..3b8c810a228a59bf02a8557b229e5eca56c16562 100644
index 5491307c433927f695c8fd4317bea1fe07a1cd4d..c5f92c80d7ca1e1c7f5b9304a5a1173ebfd9c269 100644
--- a/src/main/java/net/minecraft/server/dedicated/DedicatedServer.java
+++ b/src/main/java/net/minecraft/server/dedicated/DedicatedServer.java
@@ -340,6 +340,7 @@ public class DedicatedServer extends MinecraftServer implements ServerInterface
Expand All @@ -68,7 +67,7 @@ index c5d49461bf1c890352755eb5491e57d5c137bf64..3b8c810a228a59bf02a8557b229e5eca
}
}
diff --git a/src/main/java/net/minecraft/server/level/ChunkMap.java b/src/main/java/net/minecraft/server/level/ChunkMap.java
index d9cd497bc1b654030ff1a597f038b6a881df9f6b..ecd239aebf1384a01cca3374dbc10bf8a7962d93 100644
index 5a7278b093e37b95fb005ad5cc3cac90ac36f8fb..bb9a7c2035cac917ec30725ede76d18a33315e16 100644
--- a/src/main/java/net/minecraft/server/level/ChunkMap.java
+++ b/src/main/java/net/minecraft/server/level/ChunkMap.java
@@ -243,7 +243,7 @@ public class ChunkMap extends ChunkStorage implements ChunkHolder.PlayerProvider
Expand All @@ -81,28 +80,28 @@ index d9cd497bc1b654030ff1a597f038b6a881df9f6b..ecd239aebf1384a01cca3374dbc10bf8

public ChunkMap(ServerLevel world, LevelStorageSource.LevelStorageAccess session, DataFixer dataFixer, StructureTemplateManager structureTemplateManager, Executor executor, BlockableEventLoop<Runnable> mainThreadExecutor, LightChunkGetter chunkProvider, ChunkGenerator chunkGenerator, ChunkProgressListener worldGenerationProgressListener, ChunkStatusUpdateListener chunkStatusChangeListener, Supplier<DimensionDataStorage> persistentStateManagerFactory, int viewDistance, boolean dsync) {
diff --git a/src/main/java/net/minecraft/server/level/ServerChunkCache.java b/src/main/java/net/minecraft/server/level/ServerChunkCache.java
index 44ada45d9bf2d9b48e5de1c3cb1a855902f3884b..89a68d8f7ca91bcb49739658e817851fbbad707a 100644
index 366c0c9b45a819f7f94ebe3e49b8ab7f9edf9ce7..6bc5c5cd0e784cb75a62f7cec17ce7b77bd1af36 100644
--- a/src/main/java/net/minecraft/server/level/ServerChunkCache.java
+++ b/src/main/java/net/minecraft/server/level/ServerChunkCache.java
@@ -73,6 +73,9 @@ public class ServerChunkCache extends ChunkSource {
final it.unimi.dsi.fastutil.longs.Long2ObjectOpenHashMap<LevelChunk> loadedChunkMap = new it.unimi.dsi.fastutil.longs.Long2ObjectOpenHashMap<>(8192, 0.5f);

@@ -77,6 +77,9 @@ public class ServerChunkCache extends ChunkSource {
private final LevelChunk[] lastLoadedChunks = new LevelChunk[4 * 4];
+
// Paper end

+ public boolean firstRunSpawnCounts = true; // Pufferfish
+ public final java.util.concurrent.atomic.AtomicBoolean _pufferfish_spawnCountsReady = new java.util.concurrent.atomic.AtomicBoolean(false); // Pufferfish - optimize countmobs

private static int getChunkCacheKey(int x, int z) {
return x & 3 | ((z & 3) << 2);
@@ -529,6 +532,7 @@ public class ServerChunkCache extends ChunkSource {
+
public ServerChunkCache(ServerLevel world, LevelStorageSource.LevelStorageAccess session, DataFixer dataFixer, StructureTemplateManager structureTemplateManager, Executor workerExecutor, ChunkGenerator chunkGenerator, int viewDistance, int simulationDistance, boolean dsync, ChunkProgressListener worldGenerationProgressListener, ChunkStatusUpdateListener chunkStatusChangeListener, Supplier<DimensionDataStorage> persistentStateManagerFactory) {
this.level = world;
this.mainThreadProcessor = new ServerChunkCache.MainThreadExecutor(world);
@@ -521,6 +524,7 @@ public class ServerChunkCache extends ChunkSource {
int naturalSpawnChunkCount = k;
NaturalSpawner.SpawnState spawnercreature_d; // moved down
if ((this.spawnFriendlies || this.spawnEnemies) && this.level.paperConfig().entities.spawning.perPlayerMobSpawns) { // don't count mobs when animals and monsters are disabled
+ if (!gg.pufferfish.pufferfish.PufferfishConfig.enableAsyncMobSpawning) { // Pufferfish - moved down when async processing
// re-set mob counts
for (ServerPlayer player : this.level.players) {
// Paper start - per player mob spawning backoff
@@ -543,14 +547,18 @@ public class ServerChunkCache extends ChunkSource {
@@ -535,14 +539,18 @@ public class ServerChunkCache extends ChunkSource {
}
// Paper end - per player mob spawning backoff
}
Expand All @@ -116,15 +115,15 @@ index 44ada45d9bf2d9b48e5de1c3cb1a855902f3884b..89a68d8f7ca91bcb49739658e817851f
+ _pufferfish_spawnCountsReady.set(true);
+ // Pufferfish end
}
// Paper end
// Paper end - Optional per player mob spawns
this.level.timings.countNaturalMobs.stopTiming(); // Paper - timings

- this.lastSpawnState = spawnercreature_d;
+ // this.lastSpawnState = spawnercreature_d; // Pufferfish - this is managed asynchronously
gameprofilerfiller.popPush("spawnAndTick");
boolean flag = this.level.getGameRules().getBoolean(GameRules.RULE_DOMOBSPAWNING) && !this.level.players().isEmpty(); // CraftBukkit

@@ -640,8 +648,8 @@ public class ServerChunkCache extends ChunkSource {
@@ -632,8 +640,8 @@ public class ServerChunkCache extends ChunkSource {
if (tick && chunk1.chunkStatus.isOrAfter(net.minecraft.server.level.FullChunkStatus.ENTITY_TICKING)) {
// Paper end - optimise chunk tick iteration
chunk1.incrementInhabitedTime(j);
Expand All @@ -135,7 +134,7 @@ index 44ada45d9bf2d9b48e5de1c3cb1a855902f3884b..89a68d8f7ca91bcb49739658e817851f
}

if (true || this.level.shouldTickBlocksAt(chunkcoordintpair.toLong())) { // Paper - optimise chunk tick iteration
@@ -688,6 +696,40 @@ public class ServerChunkCache extends ChunkSource {
@@ -680,6 +688,40 @@ public class ServerChunkCache extends ChunkSource {
gameprofilerfiller.pop();
gameprofilerfiller.pop();
}
Expand Down

0 comments on commit 3fc02bb

Please sign in to comment.