From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 From: nostalgic853 Date: Tue, 25 Oct 2022 15:09:30 +0800 Subject: [PATCH] Use cached pool for mob spawning executor diff --git a/src/main/java/net/minecraft/server/MinecraftServer.java b/src/main/java/net/minecraft/server/MinecraftServer.java index 0a1662fc8bffca26de909c980b828f7ab05aa5a3..ae95e3af64811f6f149a01b9715d8fdd2c2583fa 100644 --- a/src/main/java/net/minecraft/server/MinecraftServer.java +++ b/src/main/java/net/minecraft/server/MinecraftServer.java @@ -43,6 +43,7 @@ import java.util.Optional; import java.util.Set; import java.util.concurrent.CompletableFuture; import java.util.concurrent.Executor; +import java.util.concurrent.ExecutorService; import java.util.concurrent.RejectedExecutionException; import java.util.concurrent.atomic.AtomicReference; import java.util.function.BooleanSupplier; @@ -302,7 +303,7 @@ public abstract class MinecraftServer extends ReentrantBlockableEventLoop S spin(Function serverFactory) { AtomicReference atomicreference = new AtomicReference(); diff --git a/src/main/java/net/minecraft/server/dedicated/DedicatedServer.java b/src/main/java/net/minecraft/server/dedicated/DedicatedServer.java index 9a4c782b8be6a837a5c1a07e930b6bb8069b1c54..642c56b17d98b5f527dfa271ee45c5e831c13bf6 100644 --- a/src/main/java/net/minecraft/server/dedicated/DedicatedServer.java +++ b/src/main/java/net/minecraft/server/dedicated/DedicatedServer.java @@ -1,6 +1,7 @@ package net.minecraft.server.dedicated; import com.google.common.collect.Lists; +import com.google.common.util.concurrent.ThreadFactoryBuilder; import com.mojang.authlib.GameProfile; import com.mojang.datafixers.DataFixer; import com.mojang.logging.LogUtils; @@ -17,6 +18,7 @@ import java.util.Collections; import java.util.List; import java.util.Locale; import java.util.Optional; +import java.util.concurrent.Executors; import java.util.function.BooleanSupplier; import javax.annotation.Nullable; import net.minecraft.DefaultUncaughtExceptionHandler; @@ -389,7 +391,13 @@ public class DedicatedServer extends MinecraftServer implements ServerInterface DedicatedServer.LOGGER.info("JMX monitoring enabled"); } - if (gg.pufferfish.pufferfish.PufferfishConfig.enableAsyncMobSpawning) mobSpawnExecutor.start(); // Pufferfish + // KeYi start - use cached pool + if (gg.pufferfish.pufferfish.PufferfishConfig.enableAsyncMobSpawning) { + mobSpawnExecutor = Executors.newCachedThreadPool(new ThreadFactoryBuilder() + .setNameFormat("KeYi Mob Spawning Thread - %s") + .build()); + } + // KeYi end org.purpurmc.purpur.task.BossBarTask.startAll(); // Purpur org.purpurmc.purpur.task.BeehiveTask.instance().register(); // Purpur return true;