From 088cbd1c91e46a43e5c1edcd2f30336c01b0719f Mon Sep 17 00:00:00 2001 From: Robin Kupper Date: Sat, 23 Apr 2011 13:21:26 +0200 Subject: [PATCH] Clean up --- src/de/diddiz/LogBlock/AreaBlockSearch.java | 9 +- src/de/diddiz/LogBlock/AreaStats.java | 5 +- src/de/diddiz/LogBlock/BlockStats.java | 10 +- src/de/diddiz/LogBlock/ClearLog.java | 14 +-- src/de/diddiz/LogBlock/Config.java | 10 +- src/de/diddiz/LogBlock/Consumer.java | 27 +++--- src/de/diddiz/LogBlock/LBBlockListener.java | 5 + src/de/diddiz/LogBlock/LBEntityListener.java | 30 +++--- src/de/diddiz/LogBlock/LBPlayerListener.java | 12 ++- .../diddiz/LogBlock/LBToolPlayerListener.java | 1 + src/de/diddiz/LogBlock/LogBlock.java | 92 +++++++++---------- src/de/diddiz/LogBlock/PlayerAreaStats.java | 5 +- src/de/diddiz/LogBlock/Rollback.java | 51 +++++----- src/de/diddiz/LogBlock/WriteLogFile.java | 18 ++-- 14 files changed, 152 insertions(+), 137 deletions(-) diff --git a/src/de/diddiz/LogBlock/AreaBlockSearch.java b/src/de/diddiz/LogBlock/AreaBlockSearch.java index d972eba..17117da 100644 --- a/src/de/diddiz/LogBlock/AreaBlockSearch.java +++ b/src/de/diddiz/LogBlock/AreaBlockSearch.java @@ -25,7 +25,7 @@ public class AreaBlockSearch implements Runnable AreaBlockSearch(LogBlock logblock, Player player, int type, int size) { this.player = player; - this.location = player.getLocation(); + location = player.getLocation(); this.type = type; this.size = size; log = logblock.getServer().getLogger(); @@ -33,11 +33,12 @@ public class AreaBlockSearch implements Runnable table = logblock.getConfig().tables.get(player.getWorld().getName().hashCode()); } + @Override public void run() { boolean hist = false; PreparedStatement ps = null; ResultSet rs = null; - SimpleDateFormat formatter = new SimpleDateFormat("MM-dd HH:mm:ss"); + final SimpleDateFormat formatter = new SimpleDateFormat("MM-dd HH:mm:ss"); try { if (conn == null) { player.sendMessage(ChatColor.RED + "Failed to create database connection"); @@ -72,7 +73,7 @@ public class AreaBlockSearch implements Runnable } if (!hist) player.sendMessage(ChatColor.DARK_AQUA + "None."); - } catch (SQLException ex) { + } catch (final SQLException ex) { log.log(Level.SEVERE, "[LogBlock AreaBlockSearch] SQL exception", ex); } finally { try { @@ -82,7 +83,7 @@ public class AreaBlockSearch implements Runnable ps.close(); if (conn != null) conn.close(); - } catch (SQLException ex) { + } catch (final SQLException ex) { log.log(Level.SEVERE, "[LogBlock AreaBlockSearch] SQL exception on close", ex); } } diff --git a/src/de/diddiz/LogBlock/AreaStats.java b/src/de/diddiz/LogBlock/AreaStats.java index fc63fd4..af5d3f2 100644 --- a/src/de/diddiz/LogBlock/AreaStats.java +++ b/src/de/diddiz/LogBlock/AreaStats.java @@ -26,6 +26,7 @@ public class AreaStats implements Runnable table = logblock.getConfig().tables.get(player.getWorld().getName().hashCode()); } + @Override public void run() { PreparedStatement ps = null; ResultSet rs = null; @@ -59,7 +60,7 @@ public class AreaStats implements Runnable player.sendMessage(ChatColor.GOLD + String.format("%-6d %-6d %s", rs.getInt("created"), rs.getInt("destroyed"), rs.getString("playername"))); } } - } catch (SQLException ex) { + } catch (final SQLException ex) { log.log(Level.SEVERE, "[LogBlock AreaStats] SQL exception", ex); } finally { try { @@ -69,7 +70,7 @@ public class AreaStats implements Runnable ps.close(); if (conn != null) conn.close(); - } catch (SQLException ex) { + } catch (final SQLException ex) { log.log(Level.SEVERE, "[LogBlock AreaStats] SQL exception on close", ex); } } diff --git a/src/de/diddiz/LogBlock/BlockStats.java b/src/de/diddiz/LogBlock/BlockStats.java index 711e2c1..677fe2b 100644 --- a/src/de/diddiz/LogBlock/BlockStats.java +++ b/src/de/diddiz/LogBlock/BlockStats.java @@ -34,7 +34,7 @@ public class BlockStats implements Runnable boolean hist = false; PreparedStatement ps = null; ResultSet rs = null; - SimpleDateFormat formatter = new SimpleDateFormat("MM-dd HH:mm:ss"); + final SimpleDateFormat formatter = new SimpleDateFormat("MM-dd HH:mm:ss"); try { if (conn == null) { player.sendMessage(ChatColor.RED + "Failed to create database connection"); @@ -53,8 +53,8 @@ public class BlockStats implements Runnable player.sendMessage(ChatColor.DARK_AQUA + "Block history (" + block.getX() + ", " + block.getY() + ", " + block.getZ() + "): "); while (rs.next()) { String msg = formatter.format(rs.getTimestamp("date")) + " " + rs.getString("playername") + " "; - int type = rs.getInt("type"); - int replaced = rs.getInt("replaced"); + final int type = rs.getInt("type"); + final int replaced = rs.getInt("replaced"); if ((type == 63 || type == 68) && rs.getString("signtext") != null) msg += "created " + rs.getString("signtext"); else if (type == replaced) { @@ -71,7 +71,7 @@ public class BlockStats implements Runnable } if (!hist) player.sendMessage(ChatColor.DARK_AQUA + "None."); - } catch (SQLException ex) { + } catch (final SQLException ex) { log.log(Level.SEVERE, "[LogBlock BlockStats] SQL exception", ex); } finally { try { @@ -81,7 +81,7 @@ public class BlockStats implements Runnable ps.close(); if (conn != null) conn.close(); - } catch (SQLException ex) { + } catch (final SQLException ex) { log.log(Level.SEVERE, "[LogBlock BlockStats] SQL exception on close", ex); } } diff --git a/src/de/diddiz/LogBlock/ClearLog.java b/src/de/diddiz/LogBlock/ClearLog.java index d7191d2..c714789 100644 --- a/src/de/diddiz/LogBlock/ClearLog.java +++ b/src/de/diddiz/LogBlock/ClearLog.java @@ -31,12 +31,12 @@ public class ClearLog implements Runnable return; dumpFolder.mkdirs(); state = conn.createStatement(); - String time = new SimpleDateFormat("yy-MM-dd-HH-mm-ss").format(System.currentTimeMillis() - config.keepLogDays*86400000L); + final String time = new SimpleDateFormat("yy-MM-dd-HH-mm-ss").format(System.currentTimeMillis() - config.keepLogDays*86400000L); ResultSet rs; - for (String table : config.tables.values()) { + for (final String table : config.tables.values()) { rs = state.executeQuery("SELECT count(*) FROM `" + table + "` WHERE date < '" + time + "'"); rs.next(); - int deleted = rs.getInt(1); + int deleted = rs.getInt(1); if (deleted > 0) { if (config.dumpDeletedLog) state.execute("SELECT * FROM `" + table + "` WHERE date < '" + time + "' INTO OUTFILE '" + new File(dumpFolder, table + "-" + time + ".csv").getAbsolutePath().replace("\\", "\\\\") + "' FIELDS TERMINATED BY ',' OPTIONALLY ENCLOSED BY '\"' LINES TERMINATED BY '\n'"); @@ -45,7 +45,7 @@ public class ClearLog implements Runnable } rs = state.executeQuery("SELECT COUNT(*) FROM `" + table + "-sign` LEFT JOIN `" + table + "` USING (id) WHERE `" + table + "`.id IS NULL"); rs.next(); - deleted = rs.getInt(1); + deleted = rs.getInt(1); if (deleted > 0) { if (config.dumpDeletedLog) state.execute("SELECT id, signtext FROM `" + table + "-sign` LEFT JOIN `" + table + "` USING (id) WHERE `" + table + "`.id IS NULL INTO OUTFILE '" + new File(dumpFolder, table + "-sign-" + time + ".csv").getAbsolutePath().replace("\\", "\\\\") + "' FIELDS TERMINATED BY ',' OPTIONALLY ENCLOSED BY '\"' LINES TERMINATED BY '\n'"); @@ -54,7 +54,7 @@ public class ClearLog implements Runnable } rs = state.executeQuery("SELECT COUNT(*) FROM `" + table + "-chest` LEFT JOIN `" + table + "` USING (id) WHERE `" + table + "`.id IS NULL"); rs.next(); - deleted = rs.getInt(1); + deleted = rs.getInt(1); if (deleted > 0) { if (config.dumpDeletedLog) state.execute("SELECT id, intype, inamount, outtype, outamount FROM `" + table + "-chest` LEFT JOIN `" + table + "` USING (id) WHERE `" + table + "`.id IS NULL INTO OUTFILE '" + new File(dumpFolder, table + "-chest-" + time + ".csv").getAbsolutePath().replace("\\", "\\\\") + "' FIELDS TERMINATED BY ',' OPTIONALLY ENCLOSED BY '\"' LINES TERMINATED BY '\n'"); @@ -62,7 +62,7 @@ public class ClearLog implements Runnable log.info("[LogBlock] Cleared out table " + table + "-chest. Deleted " + deleted + " entries."); } } - } catch (SQLException ex) { + } catch (final SQLException ex) { log.log(Level.SEVERE, "[LogBlock] SQL exception", ex); } finally { try { @@ -70,7 +70,7 @@ public class ClearLog implements Runnable state.close(); if (conn != null) conn.close(); - } catch (SQLException ex) { + } catch (final SQLException ex) { log.log(Level.SEVERE, "[LogBlock] SQL exception on close", ex); } } diff --git a/src/de/diddiz/LogBlock/Config.java b/src/de/diddiz/LogBlock/Config.java index 54655d5..9085da7 100644 --- a/src/de/diddiz/LogBlock/Config.java +++ b/src/de/diddiz/LogBlock/Config.java @@ -38,9 +38,9 @@ public class Config { } Config (LogBlock logblock) throws Exception { - Configuration config = logblock.getConfiguration(); + final Configuration config = logblock.getConfiguration(); config.load(); - List keys = config.getKeys(null); + final List keys = config.getKeys(null); List subkeys; if (!keys.contains("version")) config.setProperty("version", logblock.getDescription().getVersion()); @@ -133,7 +133,7 @@ public class Config { logKills = config.getBoolean("logging.logKills", false); try { logKillsLevel = LogKillsLevel.valueOf(config.getString("logging.logKillsLevel")); - } catch (IllegalArgumentException ex) { + } catch (final IllegalArgumentException ex) { throw new Exception("lookup.toolblockID doesn't appear to be a valid log level. Allowed are 'PLAYERS', 'MONSTERS' and 'ANIMALS'"); } dontRollback = config.getIntList("rollback.dontRollback", null); @@ -146,8 +146,8 @@ public class Config { toolblockID = config.getInt("lookup.toolblockID", 7); if (Material.getMaterial(toolblockID) == null || !Material.getMaterial(toolblockID).isBlock() || toolblockID == 0) throw new Exception("lookup.toolblockID doesn't appear to be a valid block id"); - List worldNames = config.getStringList("loggedWorlds", null); - List worldTables = config.getStringList("tables", null); + final List worldNames = config.getStringList("loggedWorlds", null); + final List worldTables = config.getStringList("tables", null); tables = new HashMap(); if (worldNames == null || worldTables == null || worldNames.size() == 0 || worldNames.size() != worldTables.size()) throw new Exception("worldNames or worldTables not set porperly"); diff --git a/src/de/diddiz/LogBlock/Consumer.java b/src/de/diddiz/LogBlock/Consumer.java index b87a809..828fa87 100644 --- a/src/de/diddiz/LogBlock/Consumer.java +++ b/src/de/diddiz/LogBlock/Consumer.java @@ -32,7 +32,6 @@ public class Consumer extends TimerTask implements Runnable private final HashSet hiddenplayers = new HashSet(); private final HashMap lastAttackedEntity = new HashMap(); private final HashMap lastAttackTime = new HashMap(); - Consumer (LogBlock logblock) { this.logblock = logblock; @@ -55,7 +54,6 @@ public class Consumer extends TimerTask implements Runnable queueBlock(playerName, loc, typeBefore, 0, dataBefore); } - /** * Logs a block place. The block type before is assumed to be o (air). * @param after Blockstate of the block after actually being placed. @@ -153,7 +151,7 @@ public class Consumer extends TimerTask implements Runnable playerName = playerName.substring(0, 32); if (signtext != null) signtext = signtext.replace("\\", "\\\\").replace("'", "\\'"); - BlockRow row = new BlockRow(loc.getWorld().getName().hashCode(), playerName, typeBefore, typeAfter, data, loc.getBlockX(), loc.getBlockY(), loc.getBlockZ(), signtext, ca); + final BlockRow row = new BlockRow(loc.getWorld().getName().hashCode(), playerName, typeBefore, typeAfter, data, loc.getBlockX(), loc.getBlockY(), loc.getBlockZ(), signtext, ca); if (!bqueue.offer(row)) log.info("[LogBlock] Failed to queue block for " + playerName); } @@ -192,7 +190,7 @@ public class Consumer extends TimerTask implements Runnable } boolean hide(Player player) { - int hash = player.getName().hashCode(); + final int hash = player.getName().hashCode(); if (hiddenplayers.contains(hash)) { hiddenplayers.remove(hash); return false; @@ -202,19 +200,20 @@ public class Consumer extends TimerTask implements Runnable } } + @Override public synchronized void run() { - Connection conn = logblock.getConnection(); + final Connection conn = logblock.getConnection(); if (conn == null) return; Statement state = null; BlockRow b; KillRow k; String table; int count = 0; if (bqueue.size() > 100) - log.info("[LogBlock Consumer] Queue overloaded. Size: " + bqueue.size()); + log.info("[LogBlock Consumer] Queue overloaded. Size: " + bqueue.size()); try { conn.setAutoCommit(false); state = conn.createStatement(); - long start = System.currentTimeMillis(); + final long start = System.currentTimeMillis(); while (count < 1000 && !bqueue.isEmpty() && (System.currentTimeMillis() - start < 100 || count < 100)) { b = bqueue.poll(); if (b == null) @@ -222,13 +221,13 @@ public class Consumer extends TimerTask implements Runnable table = config.tables.get(b.worldHash); state.execute("INSERT INTO `" + table + "` (date, playerid, replaced, type, data, x, y, z) SELECT now(), playerid, " + b.replaced + ", " + b.type + ", " + b.data + ", '" + b.x + "', " + b.y + ", '" + b.z + "' FROM `lb-players` WHERE playername = '" + b.name + "'", Statement.RETURN_GENERATED_KEYS); if (b.signtext != null) { - ResultSet keys = state.getGeneratedKeys(); + final ResultSet keys = state.getGeneratedKeys(); if (keys.next()) state.execute("INSERT INTO `" + table + "-sign` (id, signtext) values (" + keys.getInt(1) + ", '" + b.signtext + "')"); else log.severe("[LogBlock Consumer] Failed to get generated keys"); } else if (b.ca != null) { - ResultSet keys = state.getGeneratedKeys(); + final ResultSet keys = state.getGeneratedKeys(); if (keys.next()) state.execute("INSERT INTO `" + table + "-chest` (id, intype, inamount, outtype, outamount) values (" + keys.getInt(1) + ", " + b.ca.inType + ", " + b.ca.inAmount + ", " + b.ca.outType + ", " + b.ca.outAmount + ")"); else @@ -244,7 +243,7 @@ public class Consumer extends TimerTask implements Runnable state.execute("INSERT INTO `" + config.tables.get(k.worldHash) + "-kills` (date, killer, victim, weapon) SELECT now(), playerid, (SELECT playerid FROM `lb-players` WHERE playername = '" + k.victim + "'), " + k.weapon + " FROM `lb-players` WHERE playername = '" + k.killer + "'"); } conn.commit(); - } catch (SQLException ex) { + } catch (final SQLException ex) { log.log(Level.SEVERE, "[LogBlock Consumer] SQL exception", ex); } finally { try { @@ -252,7 +251,7 @@ public class Consumer extends TimerTask implements Runnable conn.close(); if (state != null) state.close(); - } catch (SQLException ex) { + } catch (final SQLException ex) { log.log(Level.SEVERE, "[LogBlock Consumer] SQL exception on close", ex); } } @@ -312,8 +311,8 @@ public class Consumer extends TimerTask implements Runnable KillRow(int worldHash, String attacker, String defender, int weapon) { this.worldHash = worldHash; - this.killer = attacker; - this.victim = defender; + killer = attacker; + victim = defender; this.weapon = weapon; } @@ -328,7 +327,7 @@ public class Consumer extends TimerTask implements Runnable return true; if (obj == null) return false; - KillRow k = (KillRow)obj; + final KillRow k = (KillRow)obj; if (!killer.equals(k.killer)) return false; if (!victim.equals(k.victim)) diff --git a/src/de/diddiz/LogBlock/LBBlockListener.java b/src/de/diddiz/LogBlock/LBBlockListener.java index ae30e52..6199bb2 100644 --- a/src/de/diddiz/LogBlock/LBBlockListener.java +++ b/src/de/diddiz/LogBlock/LBBlockListener.java @@ -18,26 +18,31 @@ public class LBBlockListener extends BlockListener consumer = logblock.getConsumer(); } + @Override public void onBlockPlace(BlockPlaceEvent event) { if (!event.isCancelled() && !(config.logSignTexts && (event.getBlock().getType() == Material.WALL_SIGN || event.getBlock().getType() == Material.SIGN_POST))) consumer.queueBlock(event.getPlayer().getName(), event.getBlock().getLocation(), event.getBlockReplacedState().getTypeId(), event.getBlockPlaced().getTypeId(), event.getBlockPlaced().getData()); } + @Override public void onBlockBreak(BlockBreakEvent event) { if (!event.isCancelled()) consumer.queueBlockBreak(event.getPlayer().getName(), event.getBlock().getState()); } + @Override public void onSignChange(SignChangeEvent event) { if (!event.isCancelled()) consumer.queueSign(event.getPlayer().getName(), event.getBlock().getLocation(), event.getBlock().getTypeId(), event.getBlock().getData(), "sign [" + event.getLine(0) + "] [" + event.getLine(1) + "] [" + event.getLine(2) + "] [" + event.getLine(3) + "]"); } + @Override public void onBlockBurn(BlockBurnEvent event) { if (!event.isCancelled()) consumer.queueBlockBreak("Fire", event.getBlock().getState()); } + @Override public void onLeavesDecay(LeavesDecayEvent event) { if (!event.isCancelled()) consumer.queueBlockBreak("LeavesDecay", event.getBlock().getState()); diff --git a/src/de/diddiz/LogBlock/LBEntityListener.java b/src/de/diddiz/LogBlock/LBEntityListener.java index bc8f7b6..72e2480 100644 --- a/src/de/diddiz/LogBlock/LBEntityListener.java +++ b/src/de/diddiz/LogBlock/LBEntityListener.java @@ -23,27 +23,29 @@ public class LBEntityListener extends EntityListener consumer = logblock.getConsumer(); } + @Override public void onEntityExplode(EntityExplodeEvent event) { - if (!event.isCancelled()) { - String name; - if (event.getEntity() instanceof TNTPrimed) - name = "TNT"; - else if (event.getEntity() instanceof Creeper) - name = "Creeper"; - else if (event.getEntity() instanceof Fireball) - name = "Ghast"; - else - name = "Environment"; - for (Block block : event.blockList()) - consumer.queueBlockBreak(name, block.getState()); + if (!event.isCancelled()) { + String name; + if (event.getEntity() instanceof TNTPrimed) + name = "TNT"; + else if (event.getEntity() instanceof Creeper) + name = "Creeper"; + else if (event.getEntity() instanceof Fireball) + name = "Ghast"; + else + name = "Environment"; + for (final Block block : event.blockList()) + consumer.queueBlockBreak(name, block.getState()); } } + @Override public void onEntityDamage(EntityDamageEvent event) { if (event.isCancelled() || !(event instanceof EntityDamageByEntityEvent) || !(event.getEntity() instanceof LivingEntity)) return; - LivingEntity victim = (LivingEntity)event.getEntity(); - Entity killer = ((EntityDamageByEntityEvent)event).getDamager(); + final LivingEntity victim = (LivingEntity)event.getEntity(); + final Entity killer = ((EntityDamageByEntityEvent)event).getDamager(); if (victim.getHealth() - event.getDamage() > 0 || victim.getHealth() <= 0 ) return; if (config.logKillsLevel == Config.LogKillsLevel.PLAYERS && !(victim instanceof Player && killer instanceof Player)) diff --git a/src/de/diddiz/LogBlock/LBPlayerListener.java b/src/de/diddiz/LogBlock/LBPlayerListener.java index 0d7c692..5eaa99d 100644 --- a/src/de/diddiz/LogBlock/LBPlayerListener.java +++ b/src/de/diddiz/LogBlock/LBPlayerListener.java @@ -26,16 +26,19 @@ public class LBPlayerListener extends PlayerListener consumer = logblock.getConsumer(); } + @Override public void onPlayerInteract(PlayerInteractEvent event) { if (!event.isCancelled() && event.getAction() == Action.RIGHT_CLICK_BLOCK && (event.getClickedBlock().getType() == Material.CHEST || event.getClickedBlock().getType() == Material.FURNACE ||event.getClickedBlock().getType() == Material.DISPENSER)) consumer.queueChestAccess(event.getPlayer().getName(), event.getClickedBlock().getLocation(), event.getClickedBlock().getTypeId(),(short)0, (byte)0, (short)0, (byte)0); - } + } + @Override public void onPlayerBucketFill(PlayerBucketFillEvent event) { if (!event.isCancelled()) consumer.queueBlockBreak(event.getPlayer().getName(), event.getBlockClicked().getState()); } + @Override public void onPlayerBucketEmpty(PlayerBucketEmptyEvent event) { if (event.getBucket() == Material.WATER_BUCKET) consumer.queueBlockPlace(event.getPlayer().getName(), event.getBlockClicked().getFace(event.getBlockFace()).getLocation(), 9, (byte)0); @@ -43,15 +46,16 @@ public class LBPlayerListener extends PlayerListener consumer.queueBlockPlace(event.getPlayer().getName(), event.getBlockClicked().getFace(event.getBlockFace()).getLocation(), 11, (byte)0); } + @Override public void onPlayerJoin(PlayerJoinEvent event) { - Connection conn = logblock.getConnection(); + final Connection conn = logblock.getConnection(); if (conn == null) return; Statement state = null; try { state = conn.createStatement(); state.execute("INSERT IGNORE INTO `lb-players` (playername) VALUES ('" + event.getPlayer().getName() + "');"); - } catch (SQLException ex) { + } catch (final SQLException ex) { log.log(Level.SEVERE, "[LogBlock] SQL exception", ex); } finally { try { @@ -59,7 +63,7 @@ public class LBPlayerListener extends PlayerListener state.close(); if (conn != null) conn.close(); - } catch (SQLException ex) { + } catch (final SQLException ex) { log.log(Level.SEVERE, "[LogBlock] SQL exception on close", ex); } } diff --git a/src/de/diddiz/LogBlock/LBToolPlayerListener.java b/src/de/diddiz/LogBlock/LBToolPlayerListener.java index b953776..7440b54 100644 --- a/src/de/diddiz/LogBlock/LBToolPlayerListener.java +++ b/src/de/diddiz/LogBlock/LBToolPlayerListener.java @@ -15,6 +15,7 @@ public class LBToolPlayerListener extends PlayerListener config = logblock.getConfig(); } + @Override public void onPlayerInteract(PlayerInteractEvent event) { if (!event.isCancelled()) { if (event.getAction() == Action.RIGHT_CLICK_BLOCK && event.getMaterial().getId() == config.toolID && logblock.checkPermission(event.getPlayer(), "logblock.lookup")) { diff --git a/src/de/diddiz/LogBlock/LogBlock.java b/src/de/diddiz/LogBlock/LogBlock.java index 602171a..1579dad 100644 --- a/src/de/diddiz/LogBlock/LogBlock.java +++ b/src/de/diddiz/LogBlock/LogBlock.java @@ -55,12 +55,12 @@ public class LogBlock extends JavaPlugin log = getServer().getLogger(); try { config = new Config(this); - } catch (Exception ex) { + } catch (final Exception ex) { log.log(Level.SEVERE, "[LogBlock] Exception while reading config:", ex); errorAtLoading = true; return; } - File file = new File("lib/mysql-connector-java-bin.jar"); + final File file = new File("lib/mysql-connector-java-bin.jar"); try { if (!file.exists() || file.length() == 0) { log.info("[LogBlock] Downloading " + file.getName() + "..."); @@ -68,16 +68,16 @@ public class LogBlock extends JavaPlugin } if (!file.exists() || file.length() == 0) throw new FileNotFoundException(file.getAbsolutePath() + file.getName()); - } catch (Exception e) { + } catch (final Exception e) { log.log(Level.SEVERE, "[LogBlock] Error while downloading " + file.getName() + "."); errorAtLoading = true; return; } try { pool = new ConnectionPool("com.mysql.jdbc.Driver", config.url, config.user, config.password); - Connection conn = getConnection(); + final Connection conn = getConnection(); conn.close(); - } catch (Exception ex) { + } catch (final Exception ex) { log.log(Level.SEVERE, "[LogBlock] Exception while checking database connection", ex); errorAtLoading = true; return; @@ -103,10 +103,10 @@ public class LogBlock extends JavaPlugin log.info("[LogBlock] Permissions plugin not found. Using default permissions."); if (config.keepLogDays >= 0) new Thread(new ClearLog(this)).start(); - LBBlockListener lbBlockListener = new LBBlockListener(this); - LBPlayerListener lbPlayerListener = new LBPlayerListener(this); - LBEntityListener lbEntityListener = new LBEntityListener(this); - PluginManager pm = getServer().getPluginManager(); + final LBBlockListener lbBlockListener = new LBBlockListener(this); + final LBPlayerListener lbPlayerListener = new LBPlayerListener(this); + final LBEntityListener lbEntityListener = new LBEntityListener(this); + final PluginManager pm = getServer().getPluginManager(); pm.registerEvent(Type.PLAYER_INTERACT, new LBToolPlayerListener(this), Priority.Normal, this); pm.registerEvent(Type.PLAYER_JOIN, lbPlayerListener, Priority.Monitor, this); if (config.logBlockCreations) { @@ -121,7 +121,7 @@ public class LogBlock extends JavaPlugin pm.registerEvent(Type.SIGN_CHANGE, lbBlockListener, Priority.Monitor, this); if (config.logFire) pm.registerEvent(Type.BLOCK_BURN, lbBlockListener, Priority.Monitor, this); - if (config.logExplosions) + if (config.logExplosions) pm.registerEvent(Type.ENTITY_EXPLODE, lbEntityListener, Priority.Monitor, this); if (config.logLeavesDecay) pm.registerEvent(Type.LEAVES_DECAY, lbBlockListener, Priority.Monitor, this); @@ -151,7 +151,7 @@ public class LogBlock extends JavaPlugin timer.cancel(); if (consumer != null && consumer.getQueueSize() > 0) { log.info("[LogBlock] Waiting for consumer ..."); - Thread thread = new Thread(consumer); + final Thread thread = new Thread(consumer); while (consumer.getQueueSize() > 0) { log.info("[LogBlock] Remaining queue size: " + consumer.getQueueSize()); thread.run(); @@ -168,52 +168,52 @@ public class LogBlock extends JavaPlugin sender.sendMessage("You aren't a player"); return true; } - Player player = (Player)sender; + final Player player = (Player)sender; if (args.length == 0) { player.sendMessage(ChatColor.LIGHT_PURPLE + "LogBlock v" + getDescription().getVersion() + " by DiddiZ"); player.sendMessage(ChatColor.LIGHT_PURPLE + "Type /lb help for help"); } else if (args[0].equalsIgnoreCase("tool")) { if (checkPermission(player, "logblock.tool")) { if (player.getInventory().contains(config.toolID)) - player.sendMessage(ChatColor.RED + "You have alredy a tool"); + player.sendMessage(ChatColor.RED + "You have alredy a tool"); else { - int free = player.getInventory().firstEmpty(); + final int free = player.getInventory().firstEmpty(); if (free >= 0) { player.getInventory().setItem(free, player.getItemInHand()); player.setItemInHand(new ItemStack(config.toolID, 1)); - player.sendMessage(ChatColor.GREEN + "Here is your tool."); + player.sendMessage(ChatColor.GREEN + "Here is your tool."); } else - player.sendMessage(ChatColor.RED + "You have no empty slot in your inventory"); + player.sendMessage(ChatColor.RED + "You have no empty slot in your inventory"); } } else player.sendMessage(ChatColor.RED + "You aren't allowed to do this."); } else if (args[0].equalsIgnoreCase("toolblock")) { if (checkPermission(player, "logblock.toolblock")) { if (player.getInventory().contains(config.toolblockID)) - player.sendMessage(ChatColor.RED + "You have alredy a tool"); + player.sendMessage(ChatColor.RED + "You have alredy a tool"); else { - int free = player.getInventory().firstEmpty(); + final int free = player.getInventory().firstEmpty(); if (free >= 0) { player.getInventory().setItem(free, player.getItemInHand()); player.setItemInHand(new ItemStack(config.toolblockID, 1)); - player.sendMessage(ChatColor.GREEN + "Here's your tool."); + player.sendMessage(ChatColor.GREEN + "Here's your tool."); } else - player.sendMessage(ChatColor.RED + "You have no empty slot in your inventory"); + player.sendMessage(ChatColor.RED + "You have no empty slot in your inventory"); } } else player.sendMessage(ChatColor.RED + "You aren't allowed to do this."); } else if (args[0].equalsIgnoreCase("hide")) { if (checkPermission(player, "logblock.hide")) { if (consumer.hide(player)) - player.sendMessage(ChatColor.GREEN + "You are now hided and won't appear in any log. Type '/lb hide' again to unhide"); + player.sendMessage(ChatColor.GREEN + "You are now hided and won't appear in any log. Type '/lb hide' again to unhide"); else - player.sendMessage(ChatColor.GREEN + "You aren't hided anylonger."); + player.sendMessage(ChatColor.GREEN + "You aren't hided anylonger."); } else player.sendMessage(ChatColor.RED + "You aren't allowed to do this."); } else if (args[0].equalsIgnoreCase("savequeue")) { if (checkPermission(player, "logblock.rollback")) { player.sendMessage(ChatColor.DARK_AQUA + "Current queue size: " + consumer.getQueueSize()); - Thread thread = new Thread(consumer); + final Thread thread = new Thread(consumer); while (consumer.getQueueSize() > 0) { thread.run(); } @@ -240,14 +240,14 @@ public class LogBlock extends JavaPlugin if (args.length == 3 && isInt(args[2])) radius = Integer.parseInt(args[2]); new Thread(new PlayerAreaStats(this, player, args[1], radius)).start(); - } else - player.sendMessage(ChatColor.RED + "Usage: /lb player [name] "); + } else + player.sendMessage(ChatColor.RED + "Usage: /lb player [name] "); } else player.sendMessage(ChatColor.RED + "You aren't allowed to do this"); } else if (args[0].equalsIgnoreCase("block")) { if (checkPermission(player,"logblock.area")) { if (args.length == 2 || args.length == 3) { - Material mat = Material.matchMaterial(args[1]); + final Material mat = Material.matchMaterial(args[1]); int radius = config.defaultDist; if (args.length == 3 && isInt(args[2])) radius = Integer.parseInt(args[2]); @@ -269,7 +269,7 @@ public class LogBlock extends JavaPlugin minutes = parseTimeSpec(args[3], args[4]); player.sendMessage(ChatColor.GREEN + "Rolling back " + args[2] + " by " + minutes + " minutes."); getServer().getScheduler().scheduleAsyncDelayedTask(this, new Rollback(this, player, args[2], -1, null, minutes, false)); - } else + } else player.sendMessage(ChatColor.RED + "Usage: /lb rollback player [name]