Skip to content

Commit e6898ff

Browse files
authored
Fix IllegalArgumentException for /paper mobcaps command (#7472)
1 parent 92c777d commit e6898ff

File tree

2 files changed

+8
-5
lines changed

2 files changed

+8
-5
lines changed

patches/server/0741-Add-paper-mobcaps-and-paper-playermobcaps.patch

Lines changed: 5 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -272,15 +272,18 @@ index f436ab35798c9b6e6cb2eb60d2c02cbf9b742e69..8934c9f2d578932aae43ea3da7894f2f
272272
List<org.bukkit.World> worlds;
273273
if (args.length < 2 || args[1].equals("*")) {
274274
diff --git a/src/main/java/net/minecraft/world/level/NaturalSpawner.java b/src/main/java/net/minecraft/world/level/NaturalSpawner.java
275-
index 8e63d93a574f2c37094770099ea8e1f45cde3db5..6a62214b2763538e20fd218c445990d7f2cbc737 100644
275+
index 8e63d93a574f2c37094770099ea8e1f45cde3db5..ded0c79bcf1f78c6858270c6787aa5baced856b6 100644
276276
--- a/src/main/java/net/minecraft/world/level/NaturalSpawner.java
277277
+++ b/src/main/java/net/minecraft/world/level/NaturalSpawner.java
278-
@@ -191,6 +191,16 @@ public final class NaturalSpawner {
278+
@@ -191,6 +191,19 @@ public final class NaturalSpawner {
279279
world.getProfiler().pop();
280280
}
281281

282282
+ // Paper start
283283
+ public static int globalLimitForCategory(final ServerLevel level, final MobCategory category, final int spawnableChunkCount) {
284+
+ if (category == MobCategory.MISC) {
285+
+ return -1;
286+
+ }
284287
+ final int categoryLimit = level.getWorld().getSpawnLimit(CraftSpawnCategory.toBukkit(category));
285288
+ if (categoryLimit < 1) {
286289
+ return categoryLimit;

patches/server/0772-Optimise-nearby-player-lookups.patch

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -287,10 +287,10 @@ index 742d4645a6d22d10bc2833e3b742a6bc653d473d..7dda99a5464816f1488fb110da587f12
287287
protected Level(WritableLevelData worlddatamutable, ResourceKey<Level> resourcekey, final DimensionType dimensionmanager, Supplier<ProfilerFiller> supplier, boolean flag, boolean flag1, long i, org.bukkit.generator.ChunkGenerator gen, org.bukkit.generator.BiomeProvider biomeProvider, org.bukkit.World.Environment env, java.util.concurrent.Executor executor) { // Paper - Async-Anti-Xray - Pass executor
288288
this.spigotConfig = new org.spigotmc.SpigotWorldConfig(((net.minecraft.world.level.storage.PrimaryLevelData) worlddatamutable).getLevelName()); // Spigot
289289
diff --git a/src/main/java/net/minecraft/world/level/NaturalSpawner.java b/src/main/java/net/minecraft/world/level/NaturalSpawner.java
290-
index 6a62214b2763538e20fd218c445990d7f2cbc737..11524461954d7243da1058e7c9b7ce2ea455706d 100644
290+
index ded0c79bcf1f78c6858270c6787aa5baced856b6..96fe666d55ec98724ae67704026013ab1288fa99 100644
291291
--- a/src/main/java/net/minecraft/world/level/NaturalSpawner.java
292292
+++ b/src/main/java/net/minecraft/world/level/NaturalSpawner.java
293-
@@ -259,7 +259,7 @@ public final class NaturalSpawner {
293+
@@ -262,7 +262,7 @@ public final class NaturalSpawner {
294294
blockposition_mutableblockposition.set(l, i, i1);
295295
double d0 = (double) l + 0.5D;
296296
double d1 = (double) i1 + 0.5D;
@@ -299,7 +299,7 @@ index 6a62214b2763538e20fd218c445990d7f2cbc737..11524461954d7243da1058e7c9b7ce2e
299299

300300
if (entityhuman != null) {
301301
double d2 = entityhuman.distanceToSqr(d0, (double) i, d1);
302-
@@ -332,7 +332,7 @@ public final class NaturalSpawner {
302+
@@ -335,7 +335,7 @@ public final class NaturalSpawner {
303303
}
304304

305305
private static boolean isRightDistanceToPlayerAndSpawnPoint(ServerLevel world, ChunkAccess chunk, BlockPos.MutableBlockPos pos, double squaredDistance) {

0 commit comments

Comments
 (0)