From e5b26fc061c8723dd47e5415c919d78bcd9988d2 Mon Sep 17 00:00:00 2001 From: snowleo Date: Sun, 3 Mar 2013 14:48:57 +0100 Subject: Fixing some bugs in 3.0 --- .gitignore | 2 + Essentials/src/net/ess3/Teleport.java | 2 +- Essentials/src/net/ess3/api/IBackup.java | 2 +- Essentials/src/net/ess3/api/ICommandHandler.java | 4 +- Essentials/src/net/ess3/api/IEconomy.java | 16 ++--- Essentials/src/net/ess3/api/IEssentialsModule.java | 6 -- Essentials/src/net/ess3/api/IPlugin.java | 26 ++++---- Essentials/src/net/ess3/api/ISettings.java | 6 +- Essentials/src/net/ess3/api/ITeleport.java | 6 +- Essentials/src/net/ess3/api/IUser.java | 10 +-- Essentials/src/net/ess3/api/IUserMap.java | 4 +- Essentials/src/net/ess3/api/IWarps.java | 6 +- Essentials/src/net/ess3/bukkit/BukkitPlugin.java | 6 ++ .../src/net/ess3/commands/Commandpowertool.java | 4 +- Essentials/src/net/ess3/commands/Commandr.java | 2 +- .../src/net/ess3/commands/Commandspawner.java | 2 +- .../src/net/ess3/commands/EssentialsCommand.java | 8 --- .../ess3/commands/EssentialsCommandHandler.java | 17 ++---- .../src/net/ess3/commands/IEssentialsCommand.java | 3 - .../ess3/listener/EssentialsPlayerListener.java | 2 +- .../src/net/ess3/permissions/Permissions.java | 36 +++++------ Essentials/src/net/ess3/settings/SpawnsHolder.java | 7 +-- .../src/net/ess3/storage/StorageObjectMap.java | 3 +- Essentials/src/net/ess3/storage/StorageQueue.java | 71 +++++++++++----------- Essentials/src/net/ess3/user/User.java | 6 +- .../src/net/ess3/signs/ISignsPlugin.java | 4 +- 26 files changed, 121 insertions(+), 140 deletions(-) delete mode 100644 Essentials/src/net/ess3/api/IEssentialsModule.java diff --git a/.gitignore b/.gitignore index 995062169..4d453961f 100644 --- a/.gitignore +++ b/.gitignore @@ -31,3 +31,5 @@ manifest.mf *.ipr *.iws .idea/ + +/EssentialsRelease/ \ No newline at end of file diff --git a/Essentials/src/net/ess3/Teleport.java b/Essentials/src/net/ess3/Teleport.java index b97b1f58d..81eb83448 100644 --- a/Essentials/src/net/ess3/Teleport.java +++ b/Essentials/src/net/ess3/Teleport.java @@ -101,7 +101,7 @@ public class Teleport implements Runnable, ITeleport chargeFor.charge(user); } } - catch (Throwable ex) + catch (Exception ex) { ess.getCommandHandler().showCommandError(user, "teleport", ex); } diff --git a/Essentials/src/net/ess3/api/IBackup.java b/Essentials/src/net/ess3/api/IBackup.java index 03fb232eb..f9782a936 100644 --- a/Essentials/src/net/ess3/api/IBackup.java +++ b/Essentials/src/net/ess3/api/IBackup.java @@ -3,5 +3,5 @@ package net.ess3.api; public interface IBackup extends Runnable { - public void startTask(); + void startTask(); } diff --git a/Essentials/src/net/ess3/api/ICommandHandler.java b/Essentials/src/net/ess3/api/ICommandHandler.java index 1ea437c34..b5ac9a290 100644 --- a/Essentials/src/net/ess3/api/ICommandHandler.java +++ b/Essentials/src/net/ess3/api/ICommandHandler.java @@ -10,9 +10,9 @@ public interface ICommandHandler extends IReload, TabExecutor { Map disabledCommands(); - public void removePlugin(Plugin plugin); + void removePlugin(Plugin plugin); - public void addPlugin(Plugin plugin); + void addPlugin(Plugin plugin); void showCommandError(CommandSender sender, String commandLabel, Throwable exception); } diff --git a/Essentials/src/net/ess3/api/IEconomy.java b/Essentials/src/net/ess3/api/IEconomy.java index f0cf6f7fe..ab65b3b82 100644 --- a/Essentials/src/net/ess3/api/IEconomy.java +++ b/Essentials/src/net/ess3/api/IEconomy.java @@ -3,19 +3,19 @@ package net.ess3.api; public interface IEconomy extends IReload { - public double getMoney(String name) throws UserDoesNotExistException; + double getMoney(String name) throws UserDoesNotExistException; - public void setMoney(String name, double balance) throws UserDoesNotExistException, NoLoanPermittedException; + void setMoney(String name, double balance) throws UserDoesNotExistException, NoLoanPermittedException; - public void resetBalance(String name) throws UserDoesNotExistException, NoLoanPermittedException; + void resetBalance(String name) throws UserDoesNotExistException, NoLoanPermittedException; - public String format(double amount); + String format(double amount); - public boolean playerExists(String name); + boolean playerExists(String name); - public boolean isNPC(String name) throws UserDoesNotExistException; + boolean isNPC(String name) throws UserDoesNotExistException; - public boolean createNPC(String name); + boolean createNPC(String name); - public void removeNPC(String name) throws UserDoesNotExistException; + void removeNPC(String name) throws UserDoesNotExistException; } diff --git a/Essentials/src/net/ess3/api/IEssentialsModule.java b/Essentials/src/net/ess3/api/IEssentialsModule.java deleted file mode 100644 index c4c6f3a45..000000000 --- a/Essentials/src/net/ess3/api/IEssentialsModule.java +++ /dev/null @@ -1,6 +0,0 @@ -package net.ess3.api; - - -public interface IEssentialsModule -{ -} diff --git a/Essentials/src/net/ess3/api/IPlugin.java b/Essentials/src/net/ess3/api/IPlugin.java index a8a1f78ea..111d3e529 100644 --- a/Essentials/src/net/ess3/api/IPlugin.java +++ b/Essentials/src/net/ess3/api/IPlugin.java @@ -9,7 +9,6 @@ import org.bukkit.scheduler.BukkitTask; public interface IPlugin extends Plugin { - /** * Get an instance of essentials * @@ -36,16 +35,18 @@ public interface IPlugin extends Plugin /** * Call an a-sync task to be run with a given delay * - * @param run - Code to be run + * @param run - Code to be run * @param delay - Long that represents how long to wait * @return - BukkitTask for the task created */ BukkitTask runTaskLaterAsynchronously(final Runnable run, final long delay); + + BukkitTask runTaskTimerAsynchronously(final Runnable run, final long delay, final long delay2); /** * Schedule a sync (ran in main thread) delayed task * - * @param run - Code to run + * @param run - Code to run * @param delay - Long that represents how long to wait * @return - Integer of the task ID */ @@ -54,8 +55,8 @@ public interface IPlugin extends Plugin /** * Schedule a sync (in the main thread) repeating task * - * @param run - Code to run - * @param delay - Delay for the first run + * @param run - Code to run + * @param delay - Delay for the first run * @param period - Time to wait between every run after the first * @return - int of the task ID */ @@ -64,8 +65,8 @@ public interface IPlugin extends Plugin /** * Schedule an a-sync repeating task * - * @param run - Code to run - * @param delay - Delay for the first run + * @param run - Code to run + * @param delay - Delay for the first run * @param period - Time to wait between every run after the first * @return - int of the task ID */ @@ -105,8 +106,8 @@ public interface IPlugin extends Plugin /** * Call a re-spawn event on a player * - * @param player - Player to re-spawn - * @param loc - Location to send + * @param player - Player to re-spawn + * @param loc - Location to send * @param bedSpawn - do you use bed? * @return - Location after event called */ @@ -125,11 +126,11 @@ public interface IPlugin extends Plugin * @param name * @return */ - public boolean isModuleEnabled(String name); + boolean isModuleEnabled(String name); - public void onPluginEnable(Plugin plugin); + void onPluginEnable(Plugin plugin); - public void onPluginDisable(Plugin plugin); + void onPluginDisable(Plugin plugin); /** * Register a module with Essentials @@ -137,5 +138,4 @@ public interface IPlugin extends Plugin * @param module - Your plugin instance */ void registerModule(Plugin module); - } diff --git a/Essentials/src/net/ess3/api/ISettings.java b/Essentials/src/net/ess3/api/ISettings.java index 971f96871..20f28cafe 100644 --- a/Essentials/src/net/ess3/api/ISettings.java +++ b/Essentials/src/net/ess3/api/ISettings.java @@ -6,9 +6,9 @@ import net.ess3.storage.IStorageObjectHolder; public interface ISettings extends IStorageObjectHolder { - public String getLocale(); + String getLocale(); - public boolean isDebug(); + boolean isDebug(); - public void setDebug(boolean b); + void setDebug(boolean b); } diff --git a/Essentials/src/net/ess3/api/ITeleport.java b/Essentials/src/net/ess3/api/ITeleport.java index a88b72071..fb282fe7d 100644 --- a/Essentials/src/net/ess3/api/ITeleport.java +++ b/Essentials/src/net/ess3/api/ITeleport.java @@ -12,9 +12,9 @@ public interface ITeleport /** * Teleport to a location now * - * @param loc - location to send to + * @param loc - location to send to * @param cooldown - To check cooldown - * @param cause - Why was the send caused? Use a {@link TeleportCause} + * @param cause - Why was the send caused? Use a {@link TeleportCause} * @throws Exception */ void now(Location loc, boolean cooldown, TeleportCause cause) throws Exception; @@ -37,5 +37,5 @@ public interface ITeleport void back() throws Exception; - public void warp(String name, Trade charge, TeleportCause teleportCause) throws Exception; + void warp(String name, Trade charge, TeleportCause teleportCause) throws Exception; } diff --git a/Essentials/src/net/ess3/api/IUser.java b/Essentials/src/net/ess3/api/IUser.java index 3b75040f2..2644572b1 100644 --- a/Essentials/src/net/ess3/api/IUser.java +++ b/Essentials/src/net/ess3/api/IUser.java @@ -105,11 +105,11 @@ public interface IUser extends OfflinePlayer, CommandSender, IStorageObjectHolde List getMails(); - public boolean canAfford(double money); + boolean canAfford(double money); - public void updateMoneyCache(double userMoney); + void updateMoneyCache(double userMoney); - public boolean canAfford(double amount, boolean b); + boolean canAfford(double amount, boolean b); boolean isVanished(); @@ -133,9 +133,9 @@ public interface IUser extends OfflinePlayer, CommandSender, IStorageObjectHolde boolean checkSignThrottle(int throttle); - public boolean isRecipeSee(); + boolean isRecipeSee(); - public void setRecipeSee(boolean recipeSee); + void setRecipeSee(boolean recipeSee); /** * Since the Player object should not be stored for a long time, this method should be called again with a null diff --git a/Essentials/src/net/ess3/api/IUserMap.java b/Essentials/src/net/ess3/api/IUserMap.java index 0a027e5ae..3a77d426e 100644 --- a/Essentials/src/net/ess3/api/IUserMap.java +++ b/Essentials/src/net/ess3/api/IUserMap.java @@ -49,7 +49,7 @@ public interface IUserMap extends IReload Set matchUsersExcludingHidden(final String name, final Player requester); - public void addPrejoinedPlayer(Player player); + void addPrejoinedPlayer(Player player); - public void removePrejoinedPlayer(Player player); + void removePrejoinedPlayer(Player player); } diff --git a/Essentials/src/net/ess3/api/IWarps.java b/Essentials/src/net/ess3/api/IWarps.java index 48bc6cd61..7e751e284 100644 --- a/Essentials/src/net/ess3/api/IWarps.java +++ b/Essentials/src/net/ess3/api/IWarps.java @@ -35,7 +35,7 @@ public interface IWarps extends IReload * Set a warp * * @param name - Name of warp - * @param loc - Location of warp + * @param loc - Location of warp * @throws Exception */ void setWarp(String name, Location loc) throws Exception; @@ -45,7 +45,7 @@ public interface IWarps extends IReload * * @return */ - public boolean isEmpty(); + boolean isEmpty(); /** * Get a warp file @@ -54,5 +54,5 @@ public interface IWarps extends IReload * @return - an instance of the file * @throws InvalidNameException - When the file is not found */ - public File getWarpFile(String name) throws InvalidNameException; + File getWarpFile(String name) throws InvalidNameException; } diff --git a/Essentials/src/net/ess3/bukkit/BukkitPlugin.java b/Essentials/src/net/ess3/bukkit/BukkitPlugin.java index 9054461e2..ea477df69 100644 --- a/Essentials/src/net/ess3/bukkit/BukkitPlugin.java +++ b/Essentials/src/net/ess3/bukkit/BukkitPlugin.java @@ -149,6 +149,12 @@ public class BukkitPlugin extends JavaPlugin implements IPlugin { return getServer().getScheduler().runTaskLaterAsynchronously(this, run, delay); } + + @Override + public BukkitTask runTaskTimerAsynchronously(final Runnable run, final long delay, final long delay2) + { + return getServer().getScheduler().runTaskTimerAsynchronously(this, run, delay, delay2); + } @Override public int scheduleSyncDelayedTask(final Runnable run, final long delay) diff --git a/Essentials/src/net/ess3/commands/Commandpowertool.java b/Essentials/src/net/ess3/commands/Commandpowertool.java index c826dd0fb..583fe43be 100644 --- a/Essentials/src/net/ess3/commands/Commandpowertool.java +++ b/Essentials/src/net/ess3/commands/Commandpowertool.java @@ -20,7 +20,7 @@ public class Commandpowertool extends EssentialsCommand String command = getFinalArg(args, 0); UserData userData = user.getData(); // check to see if this is a clear all command - if (command != null && command.equalsIgnoreCase("d:")) + if (command.equalsIgnoreCase("d:")) { userData.clearAllPowertools(); user.queueSave(); @@ -36,7 +36,7 @@ public class Commandpowertool extends EssentialsCommand final String itemName = itemStack.getType().toString().toLowerCase(Locale.ENGLISH).replaceAll("_", " "); List powertools = userData.getPowertool(itemStack.getType()); - if (command != null && !command.isEmpty()) + if (!command.isEmpty()) { if (command.equalsIgnoreCase("l:")) { diff --git a/Essentials/src/net/ess3/commands/Commandr.java b/Essentials/src/net/ess3/commands/Commandr.java index 92aabfd8a..77de64564 100644 --- a/Essentials/src/net/ess3/commands/Commandr.java +++ b/Essentials/src/net/ess3/commands/Commandr.java @@ -32,7 +32,7 @@ public class Commandr extends EssentialsCommand } else { - message = FormatUtil.replaceFormat(message); + message = FormatUtil.stripFormat(message); } replyTo = user; senderName = user.getPlayer().getDisplayName(); diff --git a/Essentials/src/net/ess3/commands/Commandspawner.java b/Essentials/src/net/ess3/commands/Commandspawner.java index 74be65774..a1a4feca2 100644 --- a/Essentials/src/net/ess3/commands/Commandspawner.java +++ b/Essentials/src/net/ess3/commands/Commandspawner.java @@ -60,7 +60,7 @@ public class Commandspawner extends EssentialsCommand charge.charge(user); user.sendMessage(_("setSpawner", mob.getName())); } - catch (Throwable ex) + catch (Exception ex) { throw new Exception(_("mobSpawnError"), ex); } diff --git a/Essentials/src/net/ess3/commands/EssentialsCommand.java b/Essentials/src/net/ess3/commands/EssentialsCommand.java index 02e6aff41..00507153f 100644 --- a/Essentials/src/net/ess3/commands/EssentialsCommand.java +++ b/Essentials/src/net/ess3/commands/EssentialsCommand.java @@ -4,7 +4,6 @@ import java.util.List; import java.util.logging.Logger; import static net.ess3.I18n._; import net.ess3.api.IEssentials; -import net.ess3.api.IEssentialsModule; import net.ess3.api.IUser; import net.ess3.economy.Trade; import net.ess3.permissions.AbstractSuperpermsPermission; @@ -18,7 +17,6 @@ public abstract class EssentialsCommand extends AbstractSuperpermsPermission imp { protected String commandName; protected IEssentials ess; - protected IEssentialsModule module; protected Server server; protected Logger logger; private String permission; @@ -33,12 +31,6 @@ public abstract class EssentialsCommand extends AbstractSuperpermsPermission imp this.permission = "essentials." + commandName; } - @Override - public void setEssentialsModule(final IEssentialsModule module) - { - this.module = module; - } - @Override public final void run(final IUser user, final Command cmd, final String commandLabel, final String[] args) throws Exception { diff --git a/Essentials/src/net/ess3/commands/EssentialsCommandHandler.java b/Essentials/src/net/ess3/commands/EssentialsCommandHandler.java index 5ba3bb989..8dffe9fc2 100644 --- a/Essentials/src/net/ess3/commands/EssentialsCommandHandler.java +++ b/Essentials/src/net/ess3/commands/EssentialsCommandHandler.java @@ -17,7 +17,6 @@ public class EssentialsCommandHandler implements ICommandHandler, TabExecutor private final ClassLoader classLoader; private final String commandPath; private final String permissionPrefix;// TODO: Needed? - private final IEssentialsModule module; private static final Logger LOGGER = Bukkit.getLogger(); private final Map> altcommands = new HashMap>(); private final Map disabledList = new HashMap(); @@ -25,16 +24,10 @@ public class EssentialsCommandHandler implements ICommandHandler, TabExecutor private final IEssentials ess; public EssentialsCommandHandler(ClassLoader classLoader, String commandPath, String permissionPrefix, IEssentials ess) - { - this(classLoader, commandPath, permissionPrefix, null, ess); - } - - public EssentialsCommandHandler(ClassLoader classLoader, String commandPath, String permissionPrefix, IEssentialsModule module, IEssentials ess) { this.classLoader = classLoader; this.commandPath = commandPath; this.permissionPrefix = permissionPrefix; - this.module = module; this.ess = ess; for (Plugin plugin : ess.getServer().getPluginManager().getPlugins()) { @@ -104,7 +97,6 @@ public class EssentialsCommandHandler implements ICommandHandler, TabExecutor { cmd = (IEssentialsCommand)classLoader.loadClass(commandPath + commandName).newInstance(); cmd.init(ess, commandName); - cmd.setEssentialsModule(module); commands.put(commandName, cmd); if (command instanceof PluginCommand) { @@ -163,13 +155,13 @@ public class EssentialsCommandHandler implements ICommandHandler, TabExecutor } return true; } - catch (Throwable ex) + catch (Exception ex) { showCommandError(sender, commandLabel, ex); return true; } } - catch (Throwable ex) + catch (Exception ex) { LOGGER.log(Level.SEVERE, _("commandFailed", commandLabel), ex); return true; @@ -236,7 +228,6 @@ public class EssentialsCommandHandler implements ICommandHandler, TabExecutor { cmd = (IEssentialsCommand)classLoader.loadClass(commandPath + commandName).newInstance(); cmd.init(ess, commandName); - cmd.setEssentialsModule(module); commands.put(commandName, cmd); if (command instanceof PluginCommand) { @@ -280,13 +271,13 @@ public class EssentialsCommandHandler implements ICommandHandler, TabExecutor } } } - catch (Throwable ex) + catch (Exception ex) { showCommandError(sender, commandLabel, ex); return null; } } - catch (Throwable ex) + catch (Exception ex) { LOGGER.log(Level.SEVERE, _("commandFailed", commandLabel), ex); return null; diff --git a/Essentials/src/net/ess3/commands/IEssentialsCommand.java b/Essentials/src/net/ess3/commands/IEssentialsCommand.java index a4de6ad85..d3e901876 100644 --- a/Essentials/src/net/ess3/commands/IEssentialsCommand.java +++ b/Essentials/src/net/ess3/commands/IEssentialsCommand.java @@ -2,7 +2,6 @@ package net.ess3.commands; import java.util.List; import net.ess3.api.IEssentials; -import net.ess3.api.IEssentialsModule; import net.ess3.api.IPermission; import net.ess3.api.IUser; import org.bukkit.command.Command; @@ -20,6 +19,4 @@ public interface IEssentialsCommand extends IPermission List tabComplete(CommandSender sender, Command cmd, String commandLabel, String[] args); void init(IEssentials ess, String commandLabel); - - void setEssentialsModule(IEssentialsModule module); } diff --git a/Essentials/src/net/ess3/listener/EssentialsPlayerListener.java b/Essentials/src/net/ess3/listener/EssentialsPlayerListener.java index 88ed03ec8..688bd1c26 100644 --- a/Essentials/src/net/ess3/listener/EssentialsPlayerListener.java +++ b/Essentials/src/net/ess3/listener/EssentialsPlayerListener.java @@ -131,7 +131,7 @@ public class EssentialsPlayerListener implements Listener } else { - event.setQuitMessage(quitMessage); + event.setQuitMessage(null); } diff --git a/Essentials/src/net/ess3/permissions/Permissions.java b/Essentials/src/net/ess3/permissions/Permissions.java index facdf8962..822194f99 100644 --- a/Essentials/src/net/ess3/permissions/Permissions.java +++ b/Essentials/src/net/ess3/permissions/Permissions.java @@ -166,22 +166,22 @@ public enum Permissions implements IPermission return PermissionFactory.checkPermission(sender, this); } - public static DotStarPermission ENCHANT = new DotStarPermission("essentials.enchant"); - public static DotStarPermission PERGROUPTELEPORT = new DotStarPermission("essentials.teleport.groups"); - public static MaterialDotStarPermission GIVE = new MaterialDotStarPermission("essentials.give", PermissionDefault.TRUE); - public static DotStarPermission RANKS = new DotStarPermission("essentials.ranks"); - public static DotStarPermission HELP = new DotStarPermission("essentials.help"); - public static MaterialDotStarPermission ITEMSPAWN = new MaterialDotStarPermission("essentials.itemspawn", PermissionDefault.TRUE); - public static DotStarPermission KITS = new DotStarPermission("essentials.kits", PermissionDefault.TRUE); - public static DotStarPermission NOCOMMANDCOST = new DotStarPermission("essentials.nocommandcost"); - public static DotStarPermission SPAWNER = new DotStarPermission("essentials.spawner"); - public static DotStarPermission SPAWNMOB = new DotStarPermission("essentials.spawnmob"); - public static MaterialDotStarPermission UNLIMITED = new MaterialDotStarPermission("essentials.unlimited.items"); - public static DotStarPermission WARPS = new DotStarPermission("essentials.warps", PermissionDefault.TRUE); - public static DotStarPermission WARP_OVERWRITE = new DotStarPermission("essentials.warp.overwrite"); - public static DotStarPermission WORLD = new DotStarPermission("essentials.world"); - public static DotStarPermission NICK = new DotStarPermission("essentials.nick"); - public static DotStarPermission SIGNS = new DotStarPermission("essentials.signs"); - public static DotStarPermission CHAT = new DotStarPermission("essentials.chat"); - public static DotStarPermission TIME_WORLDS = new DotStarPermission("essentials.time.worlds", PermissionDefault.TRUE); + public static final DotStarPermission ENCHANT = new DotStarPermission("essentials.enchant"); + public static final DotStarPermission PERGROUPTELEPORT = new DotStarPermission("essentials.teleport.groups"); + public static final MaterialDotStarPermission GIVE = new MaterialDotStarPermission("essentials.give", PermissionDefault.TRUE); + public static final DotStarPermission RANKS = new DotStarPermission("essentials.ranks"); + public static final DotStarPermission HELP = new DotStarPermission("essentials.help"); + public static final MaterialDotStarPermission ITEMSPAWN = new MaterialDotStarPermission("essentials.itemspawn", PermissionDefault.TRUE); + public static final DotStarPermission KITS = new DotStarPermission("essentials.kits", PermissionDefault.TRUE); + public static final DotStarPermission NOCOMMANDCOST = new DotStarPermission("essentials.nocommandcost"); + public static final DotStarPermission SPAWNER = new DotStarPermission("essentials.spawner"); + public static final DotStarPermission SPAWNMOB = new DotStarPermission("essentials.spawnmob"); + public static final MaterialDotStarPermission UNLIMITED = new MaterialDotStarPermission("essentials.unlimited.items"); + public static final DotStarPermission WARPS = new DotStarPermission("essentials.warps", PermissionDefault.TRUE); + public static final DotStarPermission WARP_OVERWRITE = new DotStarPermission("essentials.warp.overwrite"); + public static final DotStarPermission WORLD = new DotStarPermission("essentials.world"); + public static final DotStarPermission NICK = new DotStarPermission("essentials.nick"); + public static final DotStarPermission SIGNS = new DotStarPermission("essentials.signs"); + public static final DotStarPermission CHAT = new DotStarPermission("essentials.chat"); + public static final DotStarPermission TIME_WORLDS = new DotStarPermission("essentials.time.worlds", PermissionDefault.TRUE); } diff --git a/Essentials/src/net/ess3/settings/SpawnsHolder.java b/Essentials/src/net/ess3/settings/SpawnsHolder.java index 4bff3a2b8..b691eaa46 100644 --- a/Essentials/src/net/ess3/settings/SpawnsHolder.java +++ b/Essentials/src/net/ess3/settings/SpawnsHolder.java @@ -6,8 +6,6 @@ import java.util.Map; import java.util.logging.Level; import static net.ess3.I18n._; import net.ess3.api.IEssentials; -import net.ess3.api.IEssentialsModule; -import net.ess3.api.ISettings; import net.ess3.api.IUser; import net.ess3.storage.AsyncStorageObjectHolder; import net.ess3.storage.StoredLocation.WorldNotLoadedException; @@ -26,7 +24,7 @@ import org.bukkit.event.player.PlayerTeleportEvent; import org.bukkit.plugin.EventExecutor; -public class SpawnsHolder extends AsyncStorageObjectHolder implements IEssentialsModule +public class SpawnsHolder extends AsyncStorageObjectHolder { public SpawnsHolder(final IEssentials ess) { @@ -188,7 +186,6 @@ public class SpawnsHolder extends AsyncStorageObjectHolder implements IE { final IUser user = ess.getUserMap().getUser(event.getPlayer()); - final ISettings settings = ess.getSettings(); boolean respawnAtHome = ess.getSettings().getData().getCommands().getHome().isRespawnAtHome(); if (respawnAtHome) { @@ -250,7 +247,7 @@ public class SpawnsHolder extends AsyncStorageObjectHolder implements IE @Override public void run() { - if (user.getPlayer() instanceof OfflinePlayer) + if (!user.getPlayer().isOnline()) { return; } diff --git a/Essentials/src/net/ess3/storage/StorageObjectMap.java b/Essentials/src/net/ess3/storage/StorageObjectMap.java index b67ae551e..001d4ca44 100644 --- a/Essentials/src/net/ess3/storage/StorageObjectMap.java +++ b/Essentials/src/net/ess3/storage/StorageObjectMap.java @@ -166,7 +166,8 @@ public abstract class StorageObjectMap extends CacheLoader impleme String sanitizedFilename = Util.sanitizeFileName(name) + ".yml"; if (zippedfiles.containsKey(sanitizedFilename)) { - zippedfiles.put(sanitizedFilename, null); + //TODO: Handle zip files correctly, files are never deleted from zip files. + zippedfiles.remove(sanitizedFilename); } } diff --git a/Essentials/src/net/ess3/storage/StorageQueue.java b/Essentials/src/net/ess3/storage/StorageQueue.java index e4bab5cb6..94880c542 100644 --- a/Essentials/src/net/ess3/storage/StorageQueue.java +++ b/Essentials/src/net/ess3/storage/StorageQueue.java @@ -15,7 +15,6 @@ public class StorageQueue implements Runnable private DelayQueue queue = new DelayQueue(); public final static long DELAY = TimeUnit.NANOSECONDS.convert(1, TimeUnit.SECONDS); private final AtomicBoolean enabled = new AtomicBoolean(false); - private final Object lock = new Object(); private final IPlugin plugin; public StorageQueue(IPlugin plugin) @@ -26,34 +25,27 @@ public class StorageQueue implements Runnable @Override public void run() { - synchronized (lock) + if (enabled.get() || !queue.isEmpty()) { - final List requests = new ArrayList(); - while (enabled.get() || !queue.isEmpty()) + work(); + } + } + + private void work() + { + final List requests = new ArrayList(); + queue.drainTo(requests); + for (WriteRequest request : requests) + { + final RequestState state = request.getRequestState(); + if (state == RequestState.REQUEUE) { - try - { - queue.drainTo(requests); - for (WriteRequest request : requests) - { - final RequestState state = request.getRequestState(); - if (state == RequestState.REQUEUE) - { - queue.add(request); - continue; - } - else if (state == RequestState.SCHEDULE) - { - plugin.runTaskAsynchronously(request.getRunnable()); - } - } - requests.clear(); - Thread.sleep(100); - } - catch (InterruptedException ex) - { - continue; - } + queue.add(request); + continue; + } + else if (state == RequestState.SCHEDULE) + { + plugin.runTaskAsynchronously(request.getRunnable()); } } } @@ -72,18 +64,29 @@ public class StorageQueue implements Runnable private void startThread() { - synchronized (lock) - { - plugin.runTaskAsynchronously(this); - } + plugin.runTaskTimerAsynchronously(this, 5, 5); } public void setEnabled(boolean enabled) { - if (this.enabled.getAndSet(enabled) != enabled && enabled) + if (this.enabled.getAndSet(enabled) != enabled) { - startThread(); + if (enabled) { + startThread(); + } else { + while (queue.size() > 0) { + work(); + try + { + Thread.sleep(50); + } + catch (InterruptedException ex) + { + } + } + } } + } public int getQueueSize() @@ -92,7 +95,7 @@ public class StorageQueue implements Runnable } - private class WriteRequest implements Delayed + private static class WriteRequest implements Delayed { private final AsyncStorageObjectHolder objectHolder; private final long timestamp; diff --git a/Essentials/src/net/ess3/user/User.java b/Essentials/src/net/ess3/user/User.java index 787963bef..47837714d 100644 --- a/Essentials/src/net/ess3/user/User.java +++ b/Essentials/src/net/ess3/user/User.java @@ -248,7 +248,7 @@ public class User extends UserBase implements IUser { final Boolean changeDisplayname = ess.getSettings().getData().getChat().getChangeDisplayname(); - if (isOnline() && (changeDisplayname == true || (changeDisplayname == null && ess.getPlugin().isModuleEnabled("Chat")))) + if (isOnline() && ((changeDisplayname == null && ess.getPlugin().isModuleEnabled("Chat")) || changeDisplayname == true)) { setDisplayNick(); } @@ -269,7 +269,7 @@ public class User extends UserBase implements IUser final Method.MethodAccount account = Methods.getMethod().getAccount(this.getName()); return account.balance(); } - catch (Throwable ex) + catch (Exception ex) { } } @@ -291,7 +291,7 @@ public class User extends UserBase implements IUser final Method.MethodAccount account = Methods.getMethod().getAccount(this.getName()); account.set(value); } - catch (Throwable ex) + catch (Exception ex) { } } diff --git a/EssentialsSigns/src/net/ess3/signs/ISignsPlugin.java b/EssentialsSigns/src/net/ess3/signs/ISignsPlugin.java index 9a6d14a61..7ab6f0dfe 100644 --- a/EssentialsSigns/src/net/ess3/signs/ISignsPlugin.java +++ b/EssentialsSigns/src/net/ess3/signs/ISignsPlugin.java @@ -1,9 +1,7 @@ package net.ess3.signs; -import net.ess3.api.IEssentialsModule; - -public interface ISignsPlugin extends IEssentialsModule +public interface ISignsPlugin { SignsConfigHolder getSettings(); } -- cgit v1.2.3