1
0
mirror of https://github.com/SquidDev-CC/CC-Tweaked synced 2025-04-10 04:36:40 +00:00

Fix a couple of wee bugs

- Fix monitor renderer debug text showing up even when debug overlay
   was not visible. This was a Forge-specific bug, which is why I'd not
   noticed it I guess??

 - Don't crash on alternative implementations of LoggerContext. Fixes
   #1431. I'm not 100% sure what is causing this - it doesn't happen
   with just CC:T at least - but at least we can bodge around it.
This commit is contained in:
Jonathan Coates 2023-05-07 10:07:27 +01:00
parent 99e8cd29a1
commit 3bf29695fb
No known key found for this signature in database
GPG Key ID: B9E431FF07C98D06
2 changed files with 8 additions and 6 deletions

View File

@ -174,7 +174,7 @@ public final class ClientHooks {
* @param addText A callback which adds a single line of text.
*/
public static void addGameDebugInfo(Consumer<String> addText) {
if (MonitorBlockEntityRenderer.hasRenderedThisFrame()) {
if (MonitorBlockEntityRenderer.hasRenderedThisFrame() && Minecraft.getInstance().options.renderDebug) {
addText.accept("[CC:T] Monitor renderer: " + MonitorBlockEntityRenderer.currentRenderer());
}
}

View File

@ -11,8 +11,8 @@ import dan200.computercraft.core.apis.http.NetworkUtils;
import dan200.computercraft.core.apis.http.options.Action;
import dan200.computercraft.shared.peripheral.monitor.MonitorRenderer;
import dan200.computercraft.shared.platform.PlatformHelper;
import org.apache.logging.log4j.LogManager;
import org.apache.logging.log4j.core.Filter;
import org.apache.logging.log4j.core.LoggerContext;
import org.apache.logging.log4j.core.filter.MarkerFilter;
import java.util.Arrays;
@ -81,7 +81,9 @@ public final class ConfigSpec {
}
static {
LoggerContext.getContext().addFilter(logFilter);
if (LogManager.getContext(false) instanceof org.apache.logging.log4j.core.LoggerContext context) {
context.addFilter(logFilter);
}
var builder = PlatformHelper.get().createConfigBuilder();
@ -347,9 +349,9 @@ public final class ConfigSpec {
logComputerErrors.get() ? Filter.Result.ACCEPT : Filter.Result.DENY,
Filter.Result.NEUTRAL
);
if (!logFilter.equals(ConfigSpec.logFilter)) {
LoggerContext.getContext().removeFilter(ConfigSpec.logFilter);
LoggerContext.getContext().addFilter(ConfigSpec.logFilter = logFilter);
if (!logFilter.equals(ConfigSpec.logFilter) && LogManager.getContext(false) instanceof org.apache.logging.log4j.core.LoggerContext context) {
context.removeFilter(ConfigSpec.logFilter);
context.addFilter(ConfigSpec.logFilter = logFilter);
}
// HTTP