diff --git a/bukkit/loader/src/main/resources/config.yml b/bukkit/loader/src/main/resources/config.yml index 2a1105a77..5624e7bd8 100644 --- a/bukkit/loader/src/main/resources/config.yml +++ b/bukkit/loader/src/main/resources/config.yml @@ -8,6 +8,8 @@ metrics: true update-checker: true # Forces a specific locale (e.g., zh_cn) forced-locale: '' +# Filter configuration phase player disconnection logs +filter-configuration-phase-disconnect: false resource-pack: # Should those images in minecraft:default font also work in minecraft:uniform diff --git a/core/src/main/java/net/momirealms/craftengine/core/plugin/config/ConfigManager.java b/core/src/main/java/net/momirealms/craftengine/core/plugin/config/ConfigManager.java index 1914dbb78..73ffa8ba7 100644 --- a/core/src/main/java/net/momirealms/craftengine/core/plugin/config/ConfigManager.java +++ b/core/src/main/java/net/momirealms/craftengine/core/plugin/config/ConfigManager.java @@ -41,6 +41,7 @@ public class ConfigManager implements Reloadable { protected boolean debug; protected boolean checkUpdate; protected boolean metrics; + protected boolean filterConfigurationPhaseDisconnect; protected boolean resource_pack$generate_mod_assets; protected boolean resource_pack$override_uniform_font; @@ -181,6 +182,7 @@ public class ConfigManager implements Reloadable { debug = config.getBoolean("debug", false); metrics = config.getBoolean("metrics", false); checkUpdate = config.getBoolean("update-checker", false); + filterConfigurationPhaseDisconnect = config.getBoolean("filter-configuration-phase-disconnect", false); // resource pack resource_pack$override_uniform_font = config.getBoolean("resource-pack.override-uniform-font", false); @@ -309,6 +311,10 @@ public class ConfigManager implements Reloadable { return instance.metrics; } + public static boolean filterConfigurationPhaseDisconnect() { + return instance.filterConfigurationPhaseDisconnect; + } + public static boolean resourcePack$overrideUniform() { return instance.resource_pack$override_uniform_font; } diff --git a/core/src/main/java/net/momirealms/craftengine/core/plugin/logger/filter/DisconnectLogFilter.java b/core/src/main/java/net/momirealms/craftengine/core/plugin/logger/filter/DisconnectLogFilter.java index a4121ff76..4e9e8136e 100644 --- a/core/src/main/java/net/momirealms/craftengine/core/plugin/logger/filter/DisconnectLogFilter.java +++ b/core/src/main/java/net/momirealms/craftengine/core/plugin/logger/filter/DisconnectLogFilter.java @@ -1,6 +1,7 @@ package net.momirealms.craftengine.core.plugin.logger.filter; +import net.momirealms.craftengine.core.plugin.config.ConfigManager; import org.apache.logging.log4j.core.Filter; import org.apache.logging.log4j.core.LogEvent; import org.apache.logging.log4j.core.config.Node; @@ -15,6 +16,10 @@ public class DisconnectLogFilter extends AbstractFilter { @Override public Result filter(LogEvent event) { + if (!ConfigManager.filterConfigurationPhaseDisconnect()) { + return Result.NEUTRAL; + } + if (!event.getLoggerName().equals(TARGET_LOGGER)) { return Result.NEUTRAL; }