From f12f119ce23629b451d2eb6f795d2500bff27c4d Mon Sep 17 00:00:00 2001 From: s809 <43530948+s809@users.noreply.github.com> Date: Mon, 6 Jan 2025 23:32:29 +0500 Subject: [PATCH 1/3] Refactor thread pool handling --- coreSubProjects | 2 +- .../com/seibel/distanthorizons/fabric/FabricClientProxy.java | 5 +++-- .../com/seibel/distanthorizons/forge/ForgeClientProxy.java | 5 +++-- .../seibel/distanthorizons/neoforge/NeoforgeClientProxy.java | 5 +++-- 4 files changed, 10 insertions(+), 7 deletions(-) diff --git a/coreSubProjects b/coreSubProjects index a444e3b97..14cd0c4b0 160000 --- a/coreSubProjects +++ b/coreSubProjects @@ -1 +1 @@ -Subproject commit a444e3b974288ff1a7c17bd4497a0442cad7f371 +Subproject commit 14cd0c4b09b99928084d65fff03558f1c4f835be diff --git a/fabric/src/main/java/com/seibel/distanthorizons/fabric/FabricClientProxy.java b/fabric/src/main/java/com/seibel/distanthorizons/fabric/FabricClientProxy.java index 601d8c838..8ece08603 100644 --- a/fabric/src/main/java/com/seibel/distanthorizons/fabric/FabricClientProxy.java +++ b/fabric/src/main/java/com/seibel/distanthorizons/fabric/FabricClientProxy.java @@ -59,6 +59,7 @@ import com.seibel.distanthorizons.core.network.messages.AbstractNetworkMessage; import java.nio.FloatBuffer; #endif import java.util.HashSet; +import java.util.concurrent.AbstractExecutorService; import java.util.concurrent.ThreadPoolExecutor; import net.minecraft.client.multiplayer.ClientLevel; @@ -142,7 +143,7 @@ public class FabricClientProxy implements AbstractModInitializer.IEventProxy // executor to prevent locking up the render/event thread // if the getChunk() takes longer than expected // (which can be caused by certain mods) - ThreadPoolExecutor executor = ThreadPoolUtil.getFileHandlerExecutor(); + AbstractExecutorService executor = ThreadPoolUtil.getFileHandlerExecutor(); if (executor != null) { executor.execute(() -> @@ -182,7 +183,7 @@ public class FabricClientProxy implements AbstractModInitializer.IEventProxy // executor to prevent locking up the render/event thread // if the getChunk() takes longer than expected // (which can be caused by certain mods) - ThreadPoolExecutor executor = ThreadPoolUtil.getFileHandlerExecutor(); + AbstractExecutorService executor = ThreadPoolUtil.getFileHandlerExecutor(); if (executor != null) { executor.execute(() -> diff --git a/forge/src/main/java/com/seibel/distanthorizons/forge/ForgeClientProxy.java b/forge/src/main/java/com/seibel/distanthorizons/forge/ForgeClientProxy.java index a51ca7551..9ca5c1c9e 100644 --- a/forge/src/main/java/com/seibel/distanthorizons/forge/ForgeClientProxy.java +++ b/forge/src/main/java/com/seibel/distanthorizons/forge/ForgeClientProxy.java @@ -62,6 +62,7 @@ import net.minecraftforge.event.TickEvent; import net.minecraftforge.eventbus.api.SubscribeEvent; import org.lwjgl.opengl.GL32; +import java.util.concurrent.AbstractExecutorService; import java.util.concurrent.ThreadPoolExecutor; /** @@ -185,7 +186,7 @@ public class ForgeClientProxy implements AbstractModInitializer.IEventProxy LevelAccessor level = event.getLevel(); #endif - ThreadPoolExecutor executor = ThreadPoolUtil.getFileHandlerExecutor(); + AbstractExecutorService executor = ThreadPoolUtil.getFileHandlerExecutor(); if (executor != null) { executor.execute(() -> @@ -214,7 +215,7 @@ public class ForgeClientProxy implements AbstractModInitializer.IEventProxy LevelAccessor level = event.getLevel(); #endif - ThreadPoolExecutor executor = ThreadPoolUtil.getFileHandlerExecutor(); + AbstractExecutorService executor = ThreadPoolUtil.getFileHandlerExecutor(); if (executor != null) { executor.execute(() -> diff --git a/neoforge/src/main/java/com/seibel/distanthorizons/neoforge/NeoforgeClientProxy.java b/neoforge/src/main/java/com/seibel/distanthorizons/neoforge/NeoforgeClientProxy.java index 3f4c867bc..559791600 100644 --- a/neoforge/src/main/java/com/seibel/distanthorizons/neoforge/NeoforgeClientProxy.java +++ b/neoforge/src/main/java/com/seibel/distanthorizons/neoforge/NeoforgeClientProxy.java @@ -61,6 +61,7 @@ import net.neoforged.neoforge.event.TickEvent; #else import net.neoforged.neoforge.client.event.ClientTickEvent; +import java.util.concurrent.AbstractExecutorService; import java.util.concurrent.ThreadPoolExecutor; #endif @@ -169,7 +170,7 @@ public class NeoforgeClientProxy implements AbstractModInitializer.IEventProxy // executor to prevent locking up the render/event thread // if the getChunk() takes longer than expected // (which can be caused by certain mods) - ThreadPoolExecutor executor = ThreadPoolUtil.getFileHandlerExecutor(); + AbstractExecutorService executor = ThreadPoolUtil.getFileHandlerExecutor(); if (executor != null) { executor.execute(() -> @@ -196,7 +197,7 @@ public class NeoforgeClientProxy implements AbstractModInitializer.IEventProxy // executor to prevent locking up the render/event thread // if the getChunk() takes longer than expected // (which can be caused by certain mods) - ThreadPoolExecutor executor = ThreadPoolUtil.getFileHandlerExecutor(); + AbstractExecutorService executor = ThreadPoolUtil.getFileHandlerExecutor(); if (executor != null) { executor.execute(() -> From 4a99b42fa8583d96e11d88718fc825f72d85aa84 Mon Sep 17 00:00:00 2001 From: s809 <43530948+s809@users.noreply.github.com> Date: Tue, 7 Jan 2025 01:25:36 +0500 Subject: [PATCH 2/3] Add a config option to force server to always send only the highest detail --- coreSubProjects | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/coreSubProjects b/coreSubProjects index 6ce614591..56c09f5f5 160000 --- a/coreSubProjects +++ b/coreSubProjects @@ -1 +1 @@ -Subproject commit 6ce6145912346a4453634730e269691596860c25 +Subproject commit 56c09f5f5cf8e05b1731d7a75a6ea885131563f8 From 4096a2430601ecc9b1740a2e64617917c3718dd3 Mon Sep 17 00:00:00 2001 From: s809 <43530948+s809@users.noreply.github.com> Date: Tue, 7 Jan 2025 17:08:28 +0500 Subject: [PATCH 3/3] Fix some small issues and add comments --- coreSubProjects | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/coreSubProjects b/coreSubProjects index 7e222b755..fbd73b9b1 160000 --- a/coreSubProjects +++ b/coreSubProjects @@ -1 +1 @@ -Subproject commit 7e222b7555688a368a031649d070a51461a3e26d +Subproject commit fbd73b9b1149f89e7dbc6ff125f4bb1665ea9340