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);
}
}