mirror of
https://github.com/BX-Team/DivineMC.git
synced 2025-12-21 07:49:18 +00:00
update culling worker
This commit is contained in:
@@ -10,7 +10,7 @@ import net.minecraft.world.entity.player.Player;
|
||||
import net.minecraft.world.phys.AABB;
|
||||
import net.minecraft.world.phys.Vec3;
|
||||
import org.bxteam.divinemc.config.DivineConfig;
|
||||
import org.bxteam.divinemc.spark.ThreadDumperRegistry;
|
||||
import org.bxteam.divinemc.util.NamedAgnosticThreadFactory;
|
||||
|
||||
import java.util.concurrent.CompletableFuture;
|
||||
import java.util.concurrent.Executor;
|
||||
@@ -33,19 +33,7 @@ public class CullTask implements Runnable {
|
||||
private final Vec3d aabbMin = new Vec3d(0, 0, 0);
|
||||
private final Vec3d aabbMax = new Vec3d(0, 0, 0);
|
||||
|
||||
private static final Executor backgroundWorker = Executors.newCachedThreadPool(task -> {
|
||||
final TickThread worker = new TickThread("Raytrace Entity Tracker Thread") {
|
||||
@Override
|
||||
public void run() {
|
||||
task.run();
|
||||
}
|
||||
};
|
||||
|
||||
worker.setDaemon(true);
|
||||
ThreadDumperRegistry.REGISTRY.add(worker.getName());
|
||||
|
||||
return worker;
|
||||
});
|
||||
private static final Executor backgroundWorker = Executors.newFixedThreadPool(DivineConfig.MiscCategory.retThreads, new NamedAgnosticThreadFactory<>("Raytrace Entity Tracker Thread", TickThread::new, DivineConfig.MiscCategory.retThreadsPriority));
|
||||
|
||||
private final Executor worker;
|
||||
|
||||
|
||||
@@ -612,6 +612,8 @@ public class DivineConfig {
|
||||
// Raytrace Entity Tracker
|
||||
@Experimental("Raytrace Entity Tracker")
|
||||
public static boolean retEnabled = false;
|
||||
public static int retThreads = 2;
|
||||
public static int retThreadsPriority = Thread.NORM_PRIORITY + 2;
|
||||
public static boolean retSkipMarkerArmorStands = true;
|
||||
public static int retCheckIntervalMs = 10;
|
||||
public static int retTracingDistance = 48;
|
||||
@@ -702,6 +704,12 @@ public class DivineConfig {
|
||||
private static void ret() {
|
||||
retEnabled = getBoolean(ConfigCategory.MISC.key("raytrace-entity-tracker.enabled"), retEnabled,
|
||||
"Raytrace Entity Tracker uses async ray-tracing to untrack entities players cannot see. Implementation of EntityCulling mod by tr7zw.");
|
||||
retThreads = getInt(ConfigCategory.MISC.key("raytrace-entity-tracker.threads"), retThreads,
|
||||
"The number of threads to use for raytrace entity tracker.");
|
||||
retThreadsPriority = getInt(ConfigCategory.MISC.key("raytrace-entity-tracker.threads-priority"), retThreadsPriority,
|
||||
"The priority of the threads used for raytrace entity tracker.",
|
||||
"0 - lowest, 10 - highest, 5 - normal");
|
||||
|
||||
retSkipMarkerArmorStands = getBoolean(ConfigCategory.MISC.key("raytrace-entity-tracker.skip-marker-armor-stands"), retSkipMarkerArmorStands,
|
||||
"Whether to skip tracing entities with marker armor stand");
|
||||
retCheckIntervalMs = getInt(ConfigCategory.MISC.key("raytrace-entity-tracker.check-interval-ms"), retCheckIntervalMs,
|
||||
|
||||
Reference in New Issue
Block a user