package com.nicewuerfel.blockown.output; import org.bukkit.Bukkit; import org.bukkit.World; import org.bukkit.entity.Player; import org.bukkit.plugin.Plugin; import java.util.logging.Level; import java.util.logging.Logger; public class DefaultOutput implements Output { private final Logger logger; public DefaultOutput() { Plugin plugin = null; try { plugin = Bukkit.getPluginManager().getPlugin("BlockOwn"); } catch (NullPointerException ignored) { } if (plugin != null) { logger = plugin.getLogger(); } else { logger = Logger.getGlobal(); } } @Override public Logger getLogger() { return logger; } @Override public void printError(Throwable throwable) { getLogger().log(Level.SEVERE, "Exception in BlockOwn", throwable); } @Override public void printError(String message) { getLogger().log(Level.SEVERE, message); } @Override public void printError(String message, Throwable throwable) { getLogger().log(Level.SEVERE, message, throwable); } @Override public void printException(Throwable throwable) { getLogger().log(Level.WARNING, "[non-fatal] Exception in BlockOwn"); } @Override public void printException(String message) { getLogger().log(Level.WARNING, "[non-fatal] " + message); } @Override public void printException(String message, Throwable throwable) { getLogger().log(Level.WARNING, "[non-fatal] " + message); } @Override public void printConsole(String message) { getLogger().log(Level.INFO, message); } @Override public void broadcast(String message) { printConsole(message); for (World world : Bukkit.getServer().getWorlds()) { broadcastInWorld(world, message); } } @Override public void broadcast(World world, String message) { printConsole(message); broadcastInWorld(world, message); } private void broadcastInWorld(World world, String message) { for (Player player : world.getPlayers()) { player.sendMessage(message); } } @Override public void debugMessage(String message) { getLogger().log(Level.FINE, message); } }