mirror of
https://github.com/LeavesMC/Leaves.git
synced 2025-12-21 07:49:35 +00:00
34 lines
2.1 KiB
Diff
34 lines
2.1 KiB
Diff
From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001
|
|
From: violetc <58360096+s-yh-china@users.noreply.github.com>
|
|
Date: Sat, 13 Aug 2022 17:27:18 +0800
|
|
Subject: [PATCH] Optimize mob spawning
|
|
|
|
This patch is Powered by Pufferfish(https://github.com/pufferfish-gg/Pufferfish)
|
|
|
|
diff --git a/src/main/java/net/minecraft/world/level/NaturalSpawner.java b/src/main/java/net/minecraft/world/level/NaturalSpawner.java
|
|
index 089dd93d4cd4c1f72e63c4944b3b82c1e2ba732d..73bf34c3ce7e55e9fd15a3af90bf107e85d764b0 100644
|
|
--- a/src/main/java/net/minecraft/world/level/NaturalSpawner.java
|
|
+++ b/src/main/java/net/minecraft/world/level/NaturalSpawner.java
|
|
@@ -173,7 +173,7 @@ public final class NaturalSpawner {
|
|
}
|
|
difference = (minDiff == Integer.MAX_VALUE) ? 0 : minDiff;
|
|
}
|
|
- if ((spawnAnimals || !enumcreaturetype.isFriendly()) && (spawnMonsters || enumcreaturetype.isFriendly()) && (rareSpawn || !enumcreaturetype.isPersistent()) && difference > 0) {
|
|
+ if ((spawnAnimals || !enumcreaturetype.isFriendly()) && (spawnMonsters || enumcreaturetype.isFriendly()) && (rareSpawn || !enumcreaturetype.isPersistent()) && difference > 0 && (!world.paperConfig().entities.spawning.perPlayerMobSpawns || info.canSpawnForCategory(enumcreaturetype, chunk.getPos(), limit))) { // Leaves - be vanilla
|
|
// Paper end
|
|
// CraftBukkit end
|
|
Objects.requireNonNull(info);
|
|
diff --git a/src/main/java/top/leavesmc/leaves/LeavesConfig.java b/src/main/java/top/leavesmc/leaves/LeavesConfig.java
|
|
index 38a547e221be452e5227a855e9a59abf7ab87dd4..a5091db99c663cb0dcbd35897f70d3f9a07fc4ba 100644
|
|
--- a/src/main/java/top/leavesmc/leaves/LeavesConfig.java
|
|
+++ b/src/main/java/top/leavesmc/leaves/LeavesConfig.java
|
|
@@ -237,7 +237,7 @@ public final class LeavesConfig {
|
|
noChatSign = getBoolean("settings.misc.no-chat-sign", noChatSign);
|
|
}
|
|
|
|
- public static boolean asyncMobSpawning = false;
|
|
+ public static boolean asyncMobSpawning = false; // void
|
|
private static boolean asyncMobSpawningLock = false;
|
|
private static void asyncMobSpawning() {
|
|
if (!asyncMobSpawningLock) {
|