From 07dfecaefa00d59838d85ea193a87806d25c28be Mon Sep 17 00:00:00 2001 From: Natan Date: Sun, 6 Sep 2026 14:01:13 -0300 Subject: [PATCH] fix: use plugin logger instead of System.out --- .../devnatan/inventoryframework/IFDebug.java | 38 ++++++++----------- .../inventoryframework/ViewFrame.java | 5 +++ .../inventoryframework/IFViewFrame.java | 4 +- 3 files changed, 24 insertions(+), 23 deletions(-) diff --git a/inventory-framework-api/src/main/java/me/devnatan/inventoryframework/IFDebug.java b/inventory-framework-api/src/main/java/me/devnatan/inventoryframework/IFDebug.java index bb6c871e0..b3d901ac3 100644 --- a/inventory-framework-api/src/main/java/me/devnatan/inventoryframework/IFDebug.java +++ b/inventory-framework-api/src/main/java/me/devnatan/inventoryframework/IFDebug.java @@ -1,6 +1,8 @@ package me.devnatan.inventoryframework; import java.util.function.Supplier; + +import me.devnatan.inventoryframework.logging.Logger; import org.intellij.lang.annotations.PrintFormat; import org.jetbrains.annotations.ApiStatus; @@ -11,31 +13,23 @@ @ApiStatus.Internal public final class IFDebug { - private static final String PREFIX = "[IF]"; private static final String SYSTEM_PROPERTY = "me.devnatan.inventoryframework.debug"; private static Boolean DEBUG_ENABLED = null; - private IFDebug() {} + private static Logger logger; - /** - * Returns if debug is enabled. - * - * @return If debug is enabled. - */ - public static boolean isDebugEnabled() { - if (DEBUG_ENABLED == null) DEBUG_ENABLED = Boolean.parseBoolean(System.getProperty(SYSTEM_PROPERTY, "false")); + static { + DEBUG_ENABLED = Boolean.parseBoolean(System.getProperty(SYSTEM_PROPERTY, "false")); + } - return DEBUG_ENABLED; - } + private IFDebug() {} - /** - * Enables InventoryFramework debug. - * - * @param enabled If debug should be enabled. - */ - public static void setEnabled(boolean enabled) { - System.setProperty(SYSTEM_PROPERTY, String.valueOf(enabled)); + /** Enables InventoryFramework debug. */ + public static void enable(Logger logger) { + IFDebug.logger = logger; + DEBUG_ENABLED = true; + debug("Debug enabled"); } /** @@ -45,8 +39,8 @@ public static void setEnabled(boolean enabled) { * @param args Arguments to apply to the message */ public static void debug(Supplier message, Object... args) { - if (!isDebugEnabled()) return; - System.out.println(PREFIX + " " + String.format(message.get(), args)); + if (!DEBUG_ENABLED) return; + logger.debug(String.format(message.get(), args)); } /** @@ -56,7 +50,7 @@ public static void debug(Supplier message, Object... args) { * @param args Arguments to apply to the message */ public static void debug(@PrintFormat String message, Object... args) { - if (!isDebugEnabled()) return; - System.out.println(PREFIX + " " + String.format(message, args)); + if (!DEBUG_ENABLED) return; + logger.debug(String.format(message, args)); } } diff --git a/inventory-framework-platform-bukkit/src/main/java/me/devnatan/inventoryframework/ViewFrame.java b/inventory-framework-platform-bukkit/src/main/java/me/devnatan/inventoryframework/ViewFrame.java index 2d97a162a..202914b1e 100644 --- a/inventory-framework-platform-bukkit/src/main/java/me/devnatan/inventoryframework/ViewFrame.java +++ b/inventory-framework-platform-bukkit/src/main/java/me/devnatan/inventoryframework/ViewFrame.java @@ -15,6 +15,7 @@ import me.devnatan.inventoryframework.feature.FeatureInstaller; import me.devnatan.inventoryframework.internal.BukkitElementFactory; import me.devnatan.inventoryframework.internal.PlatformUtils; +import me.devnatan.inventoryframework.logging.BukkitLogger; import me.devnatan.inventoryframework.runtime.thirdparty.Metrics; import org.bukkit.entity.Player; import org.bukkit.plugin.Plugin; @@ -186,6 +187,10 @@ public final void openEndless( public final ViewFrame register() { if (isRegistered()) throw new IllegalStateException("This view frame is already registered"); + if (debugEnabled) { + IFDebug.enable(new BukkitLogger(getOwner().getLogger(), "global", true)); + } + PlatformUtils.setFactory(new BukkitElementFactory(getOwner())); tryEnableMetrics(); checkRelocationIssues(); diff --git a/inventory-framework-platform/src/main/java/me/devnatan/inventoryframework/IFViewFrame.java b/inventory-framework-platform/src/main/java/me/devnatan/inventoryframework/IFViewFrame.java index bc21cadb5..f6597d908 100644 --- a/inventory-framework-platform/src/main/java/me/devnatan/inventoryframework/IFViewFrame.java +++ b/inventory-framework-platform/src/main/java/me/devnatan/inventoryframework/IFViewFrame.java @@ -29,6 +29,8 @@ public abstract class IFViewFrame, V extends Platfor protected final Map viewerById = new HashMap<>(); protected Consumer defaultConfig; + protected boolean debugEnabled; + @SuppressWarnings("rawtypes") private final Pipeline pipeline = new Pipeline<>(FRAME_REGISTERED, FRAME_UNREGISTERED); @@ -264,7 +266,7 @@ final Consumer getDefaultConfig() { @SuppressWarnings("unchecked") @ApiStatus.Internal public final S enableDebug() { - IFDebug.setEnabled(true); + this.debugEnabled = true; return (S) this; } }