From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 From: NanaChiyo0721 Date: Thu, 30 Jul 2026 21:16:31 +0800 Subject: [PATCH] Reduce ticket operations in nether portal searching diff --git a/net/minecraft/server/level/ServerLevel.java b/net/minecraft/server/level/ServerLevel.java index 9933e59dfebf5d731ea73585c2b08f9e4ff42d53..01a93a747d2fec6248909165bd450833e72cc231 100644 --- a/net/minecraft/server/level/ServerLevel.java +++ b/net/minecraft/server/level/ServerLevel.java @@ -221,6 +221,7 @@ public class ServerLevel extends Level implements WorldGenLevel, ServerEntityGet private final StructureCheck structureCheck; public final boolean tickTime; // Folia - region threading private final LevelDebugSynchronizers debugSynchronizers = new LevelDebugSynchronizers(this); + public final io.nanachiyo0721.shiroha.utils.ReferenceCountingChunkLoader portalSearchingChunkLoader = new io.nanachiyo0721.shiroha.utils.ReferenceCountingChunkLoader(this, net.minecraft.world.level.chunk.status.ChunkStatus.EMPTY); // Shiroha - Reduce ticket operations in nether portal searching // CraftBukkit start private final ResourceKey typeKey; @@ -965,6 +966,7 @@ public class ServerLevel extends Level implements WorldGenLevel, ServerEntityGet this.debugSynchronizers.tick(this.server.debugSubscribers()); profiler.pop(); + this.portalSearchingChunkLoader.tickChunkReferenceTTL(); // Shiroha - Reduce ticket operations in nether portal searching } // Folia start - region threading diff --git a/net/minecraft/world/entity/Entity.java b/net/minecraft/world/entity/Entity.java index f97c1aa936d1a9b1ea80b701b279b24553d0ecd2..98ce2b377e125c1de123a406c3978f495c5023db 100644 --- a/net/minecraft/world/entity/Entity.java +++ b/net/minecraft/world/entity/Entity.java @@ -4744,10 +4744,10 @@ public abstract class Entity ); // kick off search for existing portal or creation - destination.moonrise$loadChunksAsync( + destination.portalSearchingChunkLoader.loadChunksAsync( // Shiroha - Reduce ticket operations in nether portal searching // add 32 so that the final search for a portal frame doesn't load any chunks targetPos, portalSearchRadius + 32, - net.minecraft.world.level.chunk.status.ChunkStatus.EMPTY, + //net.minecraft.world.level.chunk.status.ChunkStatus.EMPTY, // Shiroha - Reduce ticket operations in nether portal searching ca.spottedleaf.concurrentutil.util.Priority.HIGH, (chunks) -> { BlockUtil.FoundRectangle portal =