package com.minster586.devmode; import org.bukkit.plugin.Plugin; public class DevModeManager { public enum LogLevel { MINIMAL, VERBOSE, FULL } private final Plugin plugin; private final LogWriter logWriter; private boolean devModeEnabled = false; private LogLevel currentLogLevel = LogLevel.MINIMAL; private boolean chatLoggingEnabled = true; private boolean eventLoggingEnabled = true; public DevModeManager(Plugin plugin, LogWriter logWriter) { this.plugin = plugin; this.logWriter = logWriter; } public Plugin getPlugin() { return plugin; } public LogWriter getLogWriter() { return logWriter; } public void setDevModeEnabled(boolean enabled) { this.devModeEnabled = enabled; plugin.getLogger().info("Dev Mode " + (enabled ? "enabled" : "disabled")); } public boolean isDevModeEnabled() { return devModeEnabled; } public void setLogLevel(LogLevel level) { this.currentLogLevel = level; plugin.getLogger().info("Log level set to: " + level.name()); } public LogLevel getLogLevel() { return currentLogLevel; } public void setChatLoggingEnabled(boolean enabled) { this.chatLoggingEnabled = enabled; plugin.getLogger().info("Chat logging " + (enabled ? "enabled" : "disabled")); } public boolean isChatLoggingEnabled() { return chatLoggingEnabled; } public void setEventLoggingEnabled(boolean enabled) { this.eventLoggingEnabled = enabled; plugin.getLogger().info("Event tracing " + (enabled ? "enabled" : "disabled")); } public boolean isEventLoggingEnabled() { return eventLoggingEnabled; } }