From 10736924f7ba1009f39095998e739e71fff0328f Mon Sep 17 00:00:00 2001 From: Owen1212055 <23108066+Owen1212055@users.noreply.github.com> Date: Sat, 25 Apr 2026 13:48:58 -0400 Subject: [PATCH 1/2] Fix insomniaStartTicks option being ignored for phantom spawning --- .../minecraft/world/level/levelgen/PhantomSpawner.java.patch | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/paper-server/patches/sources/net/minecraft/world/level/levelgen/PhantomSpawner.java.patch b/paper-server/patches/sources/net/minecraft/world/level/levelgen/PhantomSpawner.java.patch index 86cac164e604..efdde609035c 100644 --- a/paper-server/patches/sources/net/minecraft/world/level/levelgen/PhantomSpawner.java.patch +++ b/paper-server/patches/sources/net/minecraft/world/level/levelgen/PhantomSpawner.java.patch @@ -5,7 +5,7 @@ if (spawnEnemies) { if (level.getGameRules().get(GameRules.SPAWN_PHANTOMS)) { + // Paper start - Ability to control player's insomnia and phantoms -+ if (level.paperConfig().entities.behavior.phantomsSpawnAttemptMaxSeconds <= 0) { ++ if (level.paperConfig().entities.behavior.phantomsSpawnAttemptMaxSeconds <= 0 || level.paperConfig().entities.behavior.playerInsomniaStartTicks < 0) { + return; + } + // Paper end - Ability to control player's insomnia and phantoms From 08bbd1c7aca9a6c70ee3a61f4b1af6e9c68fe0c5 Mon Sep 17 00:00:00 2001 From: Owen1212055 <23108066+Owen1212055@users.noreply.github.com> Date: Sat, 25 Apr 2026 13:50:51 -0400 Subject: [PATCH 2/2] Update --- .../world/level/levelgen/PhantomSpawner.java.patch | 9 +++++++++ 1 file changed, 9 insertions(+) diff --git a/paper-server/patches/sources/net/minecraft/world/level/levelgen/PhantomSpawner.java.patch b/paper-server/patches/sources/net/minecraft/world/level/levelgen/PhantomSpawner.java.patch index efdde609035c..dab72df27b05 100644 --- a/paper-server/patches/sources/net/minecraft/world/level/levelgen/PhantomSpawner.java.patch +++ b/paper-server/patches/sources/net/minecraft/world/level/levelgen/PhantomSpawner.java.patch @@ -25,6 +25,15 @@ BlockPos playerPos = player.blockPosition(); if (!level.dimensionType().hasSkyLight() || playerPos.getY() >= level.getSeaLevel() && level.canSeeSky(playerPos)) { DifficultyInstance difficulty = level.getCurrentDifficultyAt(playerPos); +@@ -39,7 +_,7 @@ + ServerStatsCounter stats = player.getStats(); + int value = Mth.clamp(stats.getValue(Stats.CUSTOM.get(Stats.TIME_SINCE_REST)), 1, Integer.MAX_VALUE); + int dayLength = 24000; +- if (random.nextInt(value) >= 72000) { ++ if (random.nextInt(value) >= level.paperConfig().entities.behavior.playerInsomniaStartTicks) { // Paper - Ability to control player's insomnia and phantoms + BlockPos spawnPos = playerPos.above(20 + random.nextInt(15)) + .east(-10 + random.nextInt(21)) + .south(-10 + random.nextInt(21)); @@ -50,11 +_,21 @@ int groupSize = 1 + random.nextInt(difficulty.getDifficulty().getId() + 1);