summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--.gitattributes22
-rw-r--r--Essentials/src/net/ess3/Jails.java2
-rw-r--r--Essentials/src/net/ess3/Kits.java1
-rw-r--r--Essentials/src/net/ess3/SpawnMob.java7
-rw-r--r--Essentials/src/net/ess3/Teleport.java10
-rw-r--r--Essentials/src/net/ess3/Warps.java6
-rw-r--r--Essentials/src/net/ess3/api/ChargeException.java5
-rw-r--r--Essentials/src/net/ess3/api/IEssentials.java1
-rw-r--r--Essentials/src/net/ess3/api/IPermission.java5
-rw-r--r--Essentials/src/net/ess3/api/IPlugin.java95
-rw-r--r--Essentials/src/net/ess3/api/ITeleport.java7
-rwxr-xr-xEssentials/src/net/ess3/api/IUser.java8
-rw-r--r--Essentials/src/net/ess3/api/IUserMap.java1
-rw-r--r--Essentials/src/net/ess3/api/IWarp.java4
-rw-r--r--Essentials/src/net/ess3/api/IWarps.java34
-rw-r--r--Essentials/src/net/ess3/api/IWorth.java12
-rw-r--r--Essentials/src/net/ess3/api/InvalidNameException.java5
-rw-r--r--Essentials/src/net/ess3/api/NoLoanPermittedException.java5
-rw-r--r--Essentials/src/net/ess3/api/UserDoesNotExistException.java5
-rw-r--r--Essentials/src/net/ess3/backup/Backup.java66
-rw-r--r--Essentials/src/net/ess3/bukkit/BukkitPlugin.java31
-rw-r--r--Essentials/src/net/ess3/bukkit/VersionCheck.java12
-rw-r--r--Essentials/src/net/ess3/commands/Commandafk.java2
-rw-r--r--Essentials/src/net/ess3/commands/Commandbalancetop.java12
-rw-r--r--Essentials/src/net/ess3/commands/Commandban.java11
-rw-r--r--Essentials/src/net/ess3/commands/Commandbanip.java2
-rw-r--r--Essentials/src/net/ess3/commands/Commandbigtree.java2
-rw-r--r--Essentials/src/net/ess3/commands/Commandbreak.java1
-rw-r--r--Essentials/src/net/ess3/commands/Commandburn.java6
-rw-r--r--Essentials/src/net/ess3/commands/Commandclearinventory.java7
-rw-r--r--Essentials/src/net/ess3/commands/Commandcompass.java2
-rw-r--r--Essentials/src/net/ess3/commands/Commandeco.java6
-rw-r--r--Essentials/src/net/ess3/commands/Commandenchant.java6
-rw-r--r--Essentials/src/net/ess3/commands/Commandenderchest.java11
-rw-r--r--Essentials/src/net/ess3/commands/Commandessentials.java2
-rw-r--r--Essentials/src/net/ess3/commands/Commandext.java6
-rw-r--r--Essentials/src/net/ess3/commands/Commandfeed.java13
-rw-r--r--Essentials/src/net/ess3/commands/Commandfireball.java10
-rw-r--r--Essentials/src/net/ess3/commands/Commandfly.java2
-rw-r--r--Essentials/src/net/ess3/commands/Commandgamemode.java2
-rw-r--r--Essentials/src/net/ess3/commands/Commandgc.java16
-rw-r--r--Essentials/src/net/ess3/commands/Commandgetpos.java16
-rw-r--r--Essentials/src/net/ess3/commands/Commandgive.java3
-rw-r--r--Essentials/src/net/ess3/commands/Commandhat.java8
-rw-r--r--Essentials/src/net/ess3/commands/Commandheal.java21
-rw-r--r--Essentials/src/net/ess3/commands/Commandhome.java2
-rw-r--r--Essentials/src/net/ess3/commands/Commanditemdb.java14
-rw-r--r--Essentials/src/net/ess3/commands/Commandjails.java4
-rw-r--r--Essentials/src/net/ess3/commands/Commandkill.java8
-rw-r--r--Essentials/src/net/ess3/commands/Commandkillall.java21
-rw-r--r--Essentials/src/net/ess3/commands/Commandlightning.java11
-rw-r--r--Essentials/src/net/ess3/commands/Commandlist.java10
-rw-r--r--Essentials/src/net/ess3/commands/Commandmail.java2
-rw-r--r--Essentials/src/net/ess3/commands/Commandmore.java15
-rw-r--r--Essentials/src/net/ess3/commands/Commandmsg.java7
-rw-r--r--Essentials/src/net/ess3/commands/Commandnick.java6
-rw-r--r--Essentials/src/net/ess3/commands/Commandpay.java2
-rw-r--r--Essentials/src/net/ess3/commands/Commandpowertool.java13
-rw-r--r--Essentials/src/net/ess3/commands/Commandpowertooltoggle.java8
-rw-r--r--Essentials/src/net/ess3/commands/Commandptime.java5
-rw-r--r--Essentials/src/net/ess3/commands/Commandr.java2
-rw-r--r--Essentials/src/net/ess3/commands/Commandrealname.java13
-rw-r--r--Essentials/src/net/ess3/commands/Commandrecipe.java314
-rw-r--r--Essentials/src/net/ess3/commands/Commandremove.java99
-rw-r--r--Essentials/src/net/ess3/commands/Commandseen.java4
-rw-r--r--Essentials/src/net/ess3/commands/Commandsell.java16
-rw-r--r--Essentials/src/net/ess3/commands/Commandsetworth.java2
-rw-r--r--Essentials/src/net/ess3/commands/Commandspeed.java2
-rw-r--r--Essentials/src/net/ess3/commands/Commandsudo.java17
-rw-r--r--Essentials/src/net/ess3/commands/Commandsuicide.java10
-rw-r--r--Essentials/src/net/ess3/commands/Commandtempban.java9
-rw-r--r--Essentials/src/net/ess3/commands/Commandtime.java3
-rw-r--r--Essentials/src/net/ess3/commands/Commandtop.java11
-rw-r--r--Essentials/src/net/ess3/commands/Commandwhois.java28
-rw-r--r--Essentials/src/net/ess3/commands/Commandworld.java16
-rw-r--r--Essentials/src/net/ess3/commands/EssentialsCommandHandler.java5
-rw-r--r--Essentials/src/net/ess3/commands/NoChargeException.java2
-rw-r--r--Essentials/src/net/ess3/commands/NotEnoughArgumentsException.java2
-rw-r--r--Essentials/src/net/ess3/commands/WarpNotFoundException.java2
-rw-r--r--Essentials/src/net/ess3/craftbukkit/FakeInventory.java4
-rw-r--r--Essentials/src/net/ess3/economy/Trade.java14
-rw-r--r--Essentials/src/net/ess3/economy/WorthHolder.java1
-rw-r--r--Essentials/src/net/ess3/listener/EssentialsBlockListener.java13
-rw-r--r--Essentials/src/net/ess3/listener/EssentialsEntityListener.java23
-rw-r--r--Essentials/src/net/ess3/listener/EssentialsPlayerListener.java162
-rw-r--r--Essentials/src/net/ess3/listener/EssentialsPluginListener.java4
-rw-r--r--Essentials/src/net/ess3/metrics/Metrics.java4
-rw-r--r--Essentials/src/net/ess3/metrics/MetricsListener.java8
-rw-r--r--Essentials/src/net/ess3/settings/Backup.java43
-rw-r--r--Essentials/src/net/ess3/settings/SpawnsHolder.java26
-rw-r--r--Essentials/src/net/ess3/settings/WorldOptions.java10
-rw-r--r--Essentials/src/net/ess3/storage/AbstractDelayedYamlFileWriter.java2
-rw-r--r--Essentials/src/net/ess3/storage/BukkitConstructor.java2
-rw-r--r--Essentials/src/net/ess3/storage/ObjectLoadException.java2
-rw-r--r--Essentials/src/net/ess3/storage/StorageObjectMap.java15
-rw-r--r--Essentials/src/net/ess3/storage/StorageQueue.java8
-rw-r--r--Essentials/src/net/ess3/storage/StoredLocation.java2
-rw-r--r--Essentials/src/net/ess3/storage/YamlStorageReader.java4
-rw-r--r--Essentials/src/net/ess3/user/CooldownException.java2
-rw-r--r--Essentials/src/net/ess3/user/PlayerNotFoundException.java2
-rw-r--r--Essentials/src/net/ess3/user/TooManyMatchesException.java1
-rw-r--r--Essentials/src/net/ess3/user/UserBase.java25
-rw-r--r--Essentials/src/net/ess3/user/UserData.java26
-rw-r--r--Essentials/src/net/ess3/user/UserMap.java4
-rw-r--r--Essentials/src/net/ess3/utils/Util.java28
-rw-r--r--Essentials/src/net/ess3/utils/gnu/inet/encoding/PunycodeException.java1
-rw-r--r--Essentials/src/net/ess3/utils/textreader/KeywordReplacer.java18
-rw-r--r--Essentials/src/net/ess3/utils/textreader/TextInput.java3
108 files changed, 1067 insertions, 586 deletions
diff --git a/.gitattributes b/.gitattributes
new file mode 100644
index 000000000..412eeda78
--- /dev/null
+++ b/.gitattributes
@@ -0,0 +1,22 @@
+# Auto detect text files and perform LF normalization
+* text=auto
+
+# Custom for Visual Studio
+*.cs diff=csharp
+*.sln merge=union
+*.csproj merge=union
+*.vbproj merge=union
+*.fsproj merge=union
+*.dbproj merge=union
+
+# Standard to msysgit
+*.doc diff=astextplain
+*.DOC diff=astextplain
+*.docx diff=astextplain
+*.DOCX diff=astextplain
+*.dot diff=astextplain
+*.DOT diff=astextplain
+*.pdf diff=astextplain
+*.PDF diff=astextplain
+*.rtf diff=astextplain
+*.RTF diff=astextplain
diff --git a/Essentials/src/net/ess3/Jails.java b/Essentials/src/net/ess3/Jails.java
index c97239e1d..bc89e4b23 100644
--- a/Essentials/src/net/ess3/Jails.java
+++ b/Essentials/src/net/ess3/Jails.java
@@ -108,9 +108,9 @@ public class Jails extends AsyncStorageObjectHolder<net.ess3.settings.Jails> imp
throw new UnsupportedOperationException("Not supported yet.");
}
-
private class JailBlockListener implements Listener
{
+
@EventHandler(priority = EventPriority.LOW, ignoreCancelled = true)
public void onBlockBreak(final BlockBreakEvent event)
{
diff --git a/Essentials/src/net/ess3/Kits.java b/Essentials/src/net/ess3/Kits.java
index 7913ec977..b0cc0ebb3 100644
--- a/Essentials/src/net/ess3/Kits.java
+++ b/Essentials/src/net/ess3/Kits.java
@@ -1,7 +1,6 @@
package net.ess3;
import java.io.File;
-import java.io.IOException;
import java.util.*;
import static net.ess3.I18n._;
import net.ess3.api.IEssentials;
diff --git a/Essentials/src/net/ess3/SpawnMob.java b/Essentials/src/net/ess3/SpawnMob.java
index 90e220e06..b68c1b622 100644
--- a/Essentials/src/net/ess3/SpawnMob.java
+++ b/Essentials/src/net/ess3/SpawnMob.java
@@ -16,6 +16,7 @@ import java.util.regex.Pattern;
import org.bukkit.DyeColor;
import org.bukkit.Location;
import org.bukkit.Server;
+import org.bukkit.World;
import org.bukkit.block.Block;
import org.bukkit.command.CommandSender;
import org.bukkit.entity.*;
@@ -148,12 +149,14 @@ public class SpawnMob
private static void spawnMob(final IEssentials ess, final Server server, final CommandSender sender, final IUser target, final Location sloc, EntityType mob, String mobData, EntityType mobMount, String mountData) throws Exception
{
- Entity spawnedMob = sloc.getWorld().spawn(sloc, (Class<? extends LivingEntity>)mob.getEntityClass());
+
+ final World spawningWorld = sloc.getWorld();
+ final Entity spawnedMob = spawningWorld.spawn(sloc, (Class<? extends LivingEntity>)mob.getEntityClass());
Entity spawnedMount = null;
if (mobMount != null)
{
- spawnedMount = sloc.getWorld().spawn(sloc, (Class<? extends LivingEntity>)mobMount.getEntityClass());
+ spawnedMount = spawningWorld.spawn(sloc, (Class<? extends LivingEntity>)mobMount.getEntityClass());
spawnedMob.setPassenger(spawnedMount);
}
if (mobData != null)
diff --git a/Essentials/src/net/ess3/Teleport.java b/Essentials/src/net/ess3/Teleport.java
index ef1957e64..9c5d954df 100644
--- a/Essentials/src/net/ess3/Teleport.java
+++ b/Essentials/src/net/ess3/Teleport.java
@@ -2,7 +2,6 @@ package net.ess3;
import java.util.Calendar;
import java.util.GregorianCalendar;
-import java.util.logging.Logger;
import static net.ess3.I18n._;
import net.ess3.api.IEssentials;
import net.ess3.api.ITeleport;
@@ -38,7 +37,6 @@ public class Teleport implements Runnable, ITeleport
private Target teleportTarget;
private Trade chargeFor;
private final IEssentials ess;
- private static final Logger logger = Logger.getLogger("Minecraft");
private TeleportCause cause;
private void initTimer(long delay, Target target, Trade chargeFor, TeleportCause cause)
@@ -88,7 +86,7 @@ public class Teleport implements Runnable, ITeleport
health = teleportUser.getPlayer().getHealth(); // in case user healed, then later gets injured
- long now = System.currentTimeMillis();
+ final long now = System.currentTimeMillis();
if (now > started + tpDelay)
{
try
@@ -185,7 +183,7 @@ public class Teleport implements Runnable, ITeleport
private void teleport(Target target, Trade chargeFor, TeleportCause cause) throws Exception
{
- double delay = ess.getRanks().getTeleportDelay(user);
+ final double delay = ess.getRanks().getTeleportDelay(user);
if (chargeFor != null)
{
@@ -258,7 +256,7 @@ public class Teleport implements Runnable, ITeleport
//The teleportToMe function is a wrapper used to handle teleporting players to them, like /tphere
public void teleportToMe(IUser otherUser, Trade chargeFor, TeleportCause cause) throws Exception
{
- Target target = new Target(user.getPlayer());
+ final Target target = new Target(user.getPlayer());
double delay = ess.getRanks().getTeleportDelay(user);
@@ -286,7 +284,7 @@ public class Teleport implements Runnable, ITeleport
private void warnUser(final IUser user, final double delay)
{
- Calendar c = new GregorianCalendar();
+ final Calendar c = new GregorianCalendar();
c.add(Calendar.SECOND, (int)delay);
c.add(Calendar.MILLISECOND, (int)((delay * 1000.0) % 1000.0));
user.sendMessage(_("dontMoveMessage", DateUtil.formatDateDiff(c.getTimeInMillis())));
diff --git a/Essentials/src/net/ess3/Warps.java b/Essentials/src/net/ess3/Warps.java
index 38653bea8..2b3002e0b 100644
--- a/Essentials/src/net/ess3/Warps.java
+++ b/Essentials/src/net/ess3/Warps.java
@@ -32,7 +32,7 @@ public class Warps extends StorageObjectMap<IWarp> implements IWarps
final List<String> names = new ArrayList<String>();
for (String key : getAllKeys())
{
- IWarp warp = getObject(key);
+ final IWarp warp = getObject(key);
if (warp == null)
{
continue;
@@ -46,7 +46,7 @@ public class Warps extends StorageObjectMap<IWarp> implements IWarps
@Override
public Location getWarp(final String name) throws Exception
{
- IWarp warp = getObject(name);
+ final IWarp warp = getObject(name);
if (warp == null)
{
throw new WarpNotFoundException(_("warpNotExist"));
@@ -92,7 +92,7 @@ public class Warps extends StorageObjectMap<IWarp> implements IWarps
}
- private static class StringIgnoreCase
+ private static class StringIgnoreCase // TODO: USed?
{
private final String string;
diff --git a/Essentials/src/net/ess3/api/ChargeException.java b/Essentials/src/net/ess3/api/ChargeException.java
index 48a004791..07a3a9ce6 100644
--- a/Essentials/src/net/ess3/api/ChargeException.java
+++ b/Essentials/src/net/ess3/api/ChargeException.java
@@ -3,6 +3,11 @@ package net.ess3.api;
public class ChargeException extends Exception
{
+ /**
+ * Allow for serialization of the ChargeException class
+ */
+ private static final long serialVersionUID = 200058474023860487L;
+
public ChargeException(final String message)
{
super(message);
diff --git a/Essentials/src/net/ess3/api/IEssentials.java b/Essentials/src/net/ess3/api/IEssentials.java
index ea821d4dc..6350257e0 100644
--- a/Essentials/src/net/ess3/api/IEssentials.java
+++ b/Essentials/src/net/ess3/api/IEssentials.java
@@ -66,4 +66,5 @@ public interface IEssentials extends IComponent
SpawnsHolder getSpawns();
StorageQueue getStorageQueue();
+
}
diff --git a/Essentials/src/net/ess3/api/IPermission.java b/Essentials/src/net/ess3/api/IPermission.java
index a559fac86..43a50af76 100644
--- a/Essentials/src/net/ess3/api/IPermission.java
+++ b/Essentials/src/net/ess3/api/IPermission.java
@@ -8,6 +8,11 @@ public interface IPermission
{
String getPermissionName();
+ /**
+ * Checks to see if a user can use this permission
+ * @param sender - CommandSender to check on
+ * @return - True if they have that permission
+ */
boolean isAuthorized(CommandSender sender);
String getParentPermission();
diff --git a/Essentials/src/net/ess3/api/IPlugin.java b/Essentials/src/net/ess3/api/IPlugin.java
index d93476dba..4a08f1545 100644
--- a/Essentials/src/net/ess3/api/IPlugin.java
+++ b/Essentials/src/net/ess3/api/IPlugin.java
@@ -4,37 +4,124 @@ import java.io.File;
import org.bukkit.Location;
import org.bukkit.entity.Player;
import org.bukkit.plugin.Plugin;
+import org.bukkit.scheduler.BukkitTask;
public interface IPlugin extends Plugin {
+
+ /**
+ * Get an instance of essentials
+ * @return
+ */
IEssentials getEssentials();
- int scheduleAsyncDelayedTask(final Runnable run);
+ /**
+ * Schedule an a-sync task
+ * @param run - Code to call later
+ * @return - BukkitTask for the task created
+ */
+ BukkitTask scheduleAsyncDelayedTask(final Runnable run);
+ /**
+ * Schedule a sync task (ran in main thread) to be run
+ * @param run - Code to be run later
+ * @return - Integer for the task id
+ */
int scheduleSyncDelayedTask(final Runnable run);
- int scheduleAsyncDelayedTask(final Runnable run, final long delay);
+ /**
+ * Call an a-sync task to be run with a given delay
+ * @param run - Code to be run
+ * @param delay - Long that represents how long to wait
+ * @return - BukkitTask for the task created
+ */
+ BukkitTask scheduleAsyncDelayedTask(final Runnable run, final long delay);
+ /**
+ * Schedule a sync (ran in main thread) delayed task
+ * @param run - Code to run
+ * @param delay - Long that represents how long to wait
+ * @return - Integer of the task ID
+ */
int scheduleSyncDelayedTask(final Runnable run, final long delay);
+ /**
+ * Schedule a sync (in the main thread) repeating task
+ *
+ * @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
+ */
int scheduleSyncRepeatingTask(final Runnable run, final long delay, final long period);
- int scheduleAsyncRepeatingTask(final Runnable run, final long delay, final long period);
+ /**
+ * Schedule an a-sync repeating task
+ * @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
+ */
+ BukkitTask scheduleAsyncRepeatingTask(final Runnable run, final long delay, final long period);
File getRootFolder();
+ /**
+ *
+ * Stop a running task from a task id
+ *
+ * @param taskId
+ */
void cancelTask(final int taskId);
+
+ /**
+ * Stop a running task from a bukkit task
+ * @param taskId
+ */
+ void cancelTask(final BukkitTask taskId);
+ /**
+ * Get the essentials version
+ * @return
+ */
String getVersion();
- Class getClassByName(final String name);
+ /**
+ * Load a class, currently needs updating
+ * @param name - class name
+ * @return - loaded class
+ */
+ Class<?> getClassByName(final String name);
+ /**
+ * Call a re-spawn event on a player
+ * @param player - Player to re-spawn
+ * @param loc - Location to send
+ * @param bedSpawn - do you use bed?
+ * @return - Location after event called
+ */
Location callRespawnEvent(Player player, Location loc, boolean bedSpawn);
+ /**
+ * Call a suicide event on a player
+ * @param player - Player to kill
+ */
void callSuicideEvent(Player player);
+ /**
+ * Finds if an essentials module is loaded
+ * @param name
+ * @return
+ */
public boolean isModuleEnabled(String name);
public void onPluginEnable(Plugin plugin);
public void onPluginDisable(Plugin plugin);
+
+ /**
+ * Register a module with Essentils
+ * @param module - Your plugin instance
+ */
+ void registerModule(Plugin module);
+
}
diff --git a/Essentials/src/net/ess3/api/ITeleport.java b/Essentials/src/net/ess3/api/ITeleport.java
index 35f973ce5..fdf2bc313 100644
--- a/Essentials/src/net/ess3/api/ITeleport.java
+++ b/Essentials/src/net/ess3/api/ITeleport.java
@@ -9,6 +9,13 @@ import org.bukkit.event.player.PlayerTeleportEvent.TeleportCause;
public interface ITeleport
{
+ /**
+ * Teleport to a location now
+ * @param loc - location to send to
+ * @param cooldown - To check cooldown
+ * @param cause - Why was the send caused? Use a {@link TeleportCause}
+ * @throws Exception
+ */
void now(Location loc, boolean cooldown, TeleportCause cause) throws Exception;
void now(Entity entity, boolean cooldown, TeleportCause cause) throws Exception;
diff --git a/Essentials/src/net/ess3/api/IUser.java b/Essentials/src/net/ess3/api/IUser.java
index 223d30e3f..74dd932e5 100755
--- a/Essentials/src/net/ess3/api/IUser.java
+++ b/Essentials/src/net/ess3/api/IUser.java
@@ -14,8 +14,16 @@ import org.bukkit.inventory.ItemStack;
public interface IUser extends OfflinePlayer, CommandSender, IStorageObjectHolder<UserData>, IReload, IReplyTo, Comparable<IUser>
{
+ /**
+ * Get the ammount of money in a users account
+ * @return
+ */
double getMoney();
+ /**
+ * Remove money from the account
+ * @param value
+ */
void takeMoney(double value);
void takeMoney(double value, CommandSender initiator);
diff --git a/Essentials/src/net/ess3/api/IUserMap.java b/Essentials/src/net/ess3/api/IUserMap.java
index f98f5aa02..0a027e5ae 100644
--- a/Essentials/src/net/ess3/api/IUserMap.java
+++ b/Essentials/src/net/ess3/api/IUserMap.java
@@ -4,7 +4,6 @@ import java.io.File;
import java.util.Set;
import net.ess3.user.PlayerNotFoundException;
import net.ess3.user.TooManyMatchesException;
-import org.bukkit.entity.LivingEntity;
import org.bukkit.entity.Player;
diff --git a/Essentials/src/net/ess3/api/IWarp.java b/Essentials/src/net/ess3/api/IWarp.java
index 149a9cfc6..286299ef3 100644
--- a/Essentials/src/net/ess3/api/IWarp.java
+++ b/Essentials/src/net/ess3/api/IWarp.java
@@ -3,7 +3,9 @@ package net.ess3.api;
import net.ess3.settings.Warp;
import net.ess3.storage.IStorageObjectHolder;
-
+/**
+ * Warp interface
+ */
public interface IWarp extends IStorageObjectHolder<Warp>
{
}
diff --git a/Essentials/src/net/ess3/api/IWarps.java b/Essentials/src/net/ess3/api/IWarps.java
index 908994486..de9758702 100644
--- a/Essentials/src/net/ess3/api/IWarps.java
+++ b/Essentials/src/net/ess3/api/IWarps.java
@@ -7,15 +7,47 @@ import org.bukkit.Location;
public interface IWarps extends IReload
{
+ /**
+ * Get a warp by name
+ * @param warp - Warp name
+ * @return - Location the warp is set to
+ * @throws Exception
+ */
Location getWarp(String warp) throws Exception;
+ /**
+ * Gets a list of warps
+ * @return - A {@link Collection} of warps
+ */
Collection<String> getList();
+ /**
+ * Delete a warp from the warp DB
+ * @param name - Name of warp
+ * @throws Exception
+ */
void removeWarp(String name) throws Exception;
+ /**
+ * Set a warp
+ * @param name - Name of warp
+ * @param loc - Location of warp
+ * @throws Exception
+ */
void setWarp(String name, Location loc) throws Exception;
-
+
+ /**
+ * Check to see if the file is empty
+ *
+ * @return
+ */
public boolean isEmpty();
+ /**
+ * Get a warp file
+ * @param name - name of file
+ * @return - an instance of the file
+ * @throws InvalidNameException - When the file is not found
+ */
public File getWarpFile(String name) throws InvalidNameException;
}
diff --git a/Essentials/src/net/ess3/api/IWorth.java b/Essentials/src/net/ess3/api/IWorth.java
index ffc38a203..c0778a32c 100644
--- a/Essentials/src/net/ess3/api/IWorth.java
+++ b/Essentials/src/net/ess3/api/IWorth.java
@@ -5,7 +5,17 @@ import org.bukkit.inventory.ItemStack;
public interface IWorth extends IReload
{
+ /**
+ * Get the price of an ItemStack
+ * @param itemStack - ItemStack to check
+ * @return - double marking price
+ */
double getPrice(ItemStack itemStack);
-
+
+ /**
+ * Set the price of an ItemStack
+ * @param itemStack - ItemStack to set price for
+ * @param price - Price to set on item
+ */
void setPrice(ItemStack itemStack, double price);
}
diff --git a/Essentials/src/net/ess3/api/InvalidNameException.java b/Essentials/src/net/ess3/api/InvalidNameException.java
index 7d08d73ad..34940ab1c 100644
--- a/Essentials/src/net/ess3/api/InvalidNameException.java
+++ b/Essentials/src/net/ess3/api/InvalidNameException.java
@@ -3,6 +3,11 @@ package net.ess3.api;
public class InvalidNameException extends Exception
{
+ /**
+ * Allow serialization of the InvalidNameException exception
+ */
+ private static final long serialVersionUID = 1485321420293663139L;
+
public InvalidNameException(Throwable thrwbl)
{
super(thrwbl);
diff --git a/Essentials/src/net/ess3/api/NoLoanPermittedException.java b/Essentials/src/net/ess3/api/NoLoanPermittedException.java
index 88a3ec6c7..7868e152c 100644
--- a/Essentials/src/net/ess3/api/NoLoanPermittedException.java
+++ b/Essentials/src/net/ess3/api/NoLoanPermittedException.java
@@ -5,6 +5,11 @@ import static net.ess3.I18n._;
public class NoLoanPermittedException extends Exception
{
+ /**
+ * Allow serialization of the NoLoanPermittedException exception
+ */
+ private static final long serialVersionUID = 1897047051293914036L;
+
public NoLoanPermittedException()
{
super(_("negativeBalanceError"));
diff --git a/Essentials/src/net/ess3/api/UserDoesNotExistException.java b/Essentials/src/net/ess3/api/UserDoesNotExistException.java
index e18502dd1..3febbe797 100644
--- a/Essentials/src/net/ess3/api/UserDoesNotExistException.java
+++ b/Essentials/src/net/ess3/api/UserDoesNotExistException.java
@@ -5,6 +5,11 @@ import static net.ess3.I18n._;
public class UserDoesNotExistException extends Exception
{
+ /**
+ * Allow serialization of the UserDefinedFileAttributeView exception
+ */
+ private static final long serialVersionUID = -6540804196206916310L;
+
public UserDoesNotExistException(String name)
{
super(_("userDoesNotExist", name));
diff --git a/Essentials/src/net/ess3/backup/Backup.java b/Essentials/src/net/ess3/backup/Backup.java
index 9b11749e2..3743f636b 100644
--- a/Essentials/src/net/ess3/backup/Backup.java
+++ b/Essentials/src/net/ess3/backup/Backup.java
@@ -54,18 +54,29 @@ public class Backup implements Runnable, IBackup
{
return;
}
+
final ISettings settings = ess.getSettings();
- final String command = settings.getData().getGeneral().getBackup().getCommand();
- if (command == null || command.isEmpty())
- {
+
+ final net.ess3.settings.Backup backupSettings = settings.getData().getGeneral().getBackup();
+
+ String backupCommand = backupSettings.getCommand() == null || backupSettings.getCommand().isEmpty()
+ ? ("NORUN") : backupSettings.getCommand();
+
+ /*if (backupCommand.equals("NORUN")) { TODO: Un-comment if you do not want commands to be run if there is no backup command
return;
- }
+ }*/
+
ess.getLogger().log(Level.INFO, _("backupStarted"));
- final CommandSender consoleSender = server.getConsoleSender();
- server.dispatchCommand(consoleSender, "save-all");
- server.dispatchCommand(consoleSender, "save-off");
-
- ess.getPlugin().scheduleAsyncDelayedTask(new BackupRunner(command));
+
+ if (!backupSettings.getCommandsBeforeBackup().isEmpty())
+ {
+ final CommandSender consoleSender = server.getConsoleSender();
+ for (String command : backupSettings.getCommandsBeforeBackup()) {
+ server.dispatchCommand(consoleSender, command);
+ }
+ }
+
+ ess.getPlugin().scheduleAsyncDelayedTask(new BackupRunner(backupCommand));
}
@@ -83,28 +94,31 @@ public class Backup implements Runnable, IBackup
{
try
{
- final ProcessBuilder childBuilder = new ProcessBuilder(command);
- childBuilder.redirectErrorStream(true);
- childBuilder.directory(ess.getPlugin().getRootFolder());
- final Process child = childBuilder.start();
- final BufferedReader reader = new BufferedReader(new InputStreamReader(child.getInputStream()));
- try
+ if (!command.equalsIgnoreCase("NORUN"))
{
- child.waitFor();
- String line;
- do
+ final ProcessBuilder childBuilder = new ProcessBuilder(command);
+ childBuilder.redirectErrorStream(true);
+ childBuilder.directory(ess.getPlugin().getRootFolder());
+ final Process child = childBuilder.start();
+ final BufferedReader reader = new BufferedReader(new InputStreamReader(child.getInputStream()));
+ try
{
- line = reader.readLine();
- if (line != null)
+ child.waitFor();
+ String line;
+ do
{
- ess.getLogger().log(Level.INFO, line);
+ line = reader.readLine();
+ if (line != null)
+ {
+ ess.getLogger().log(Level.INFO, line);
+ }
}
+ while (line != null);
+ }
+ finally
+ {
+ reader.close();
}
- while (line != null);
- }
- finally
- {
- reader.close();
}
}
catch (InterruptedException ex)
diff --git a/Essentials/src/net/ess3/bukkit/BukkitPlugin.java b/Essentials/src/net/ess3/bukkit/BukkitPlugin.java
index 11df0bcb6..f787dcdcd 100644
--- a/Essentials/src/net/ess3/bukkit/BukkitPlugin.java
+++ b/Essentials/src/net/ess3/bukkit/BukkitPlugin.java
@@ -30,6 +30,7 @@ import org.bukkit.plugin.Plugin;
import org.bukkit.plugin.PluginManager;
import org.bukkit.plugin.java.JavaPlugin;
import org.bukkit.plugin.java.JavaPluginLoader;
+import org.bukkit.scheduler.BukkitTask;
public class BukkitPlugin extends JavaPlugin implements IPlugin
@@ -100,7 +101,7 @@ public class BukkitPlugin extends JavaPlugin implements IPlugin
final MetricsStarter metricsStarter = new MetricsStarter(ess);
if (metricsStarter.getStart() != null && metricsStarter.getStart() == true)
{
- getServer().getScheduler().scheduleAsyncDelayedTask(this, metricsStarter, 1);
+ getServer().getScheduler().runTaskLaterAsynchronously(this, metricsStarter, 1);
}
else if (metricsStarter.getStart() != null && metricsStarter.getStart() == false)
{
@@ -131,9 +132,9 @@ public class BukkitPlugin extends JavaPlugin implements IPlugin
}
@Override
- public int scheduleAsyncDelayedTask(final Runnable run)
+ public BukkitTask scheduleAsyncDelayedTask(final Runnable run)
{
- return getServer().getScheduler().scheduleAsyncDelayedTask(this, run);
+ return getServer().getScheduler().runTaskAsynchronously(this, run);
}
@Override
@@ -143,9 +144,9 @@ public class BukkitPlugin extends JavaPlugin implements IPlugin
}
@Override
- public int scheduleAsyncDelayedTask(final Runnable run, final long delay)
+ public BukkitTask scheduleAsyncDelayedTask(final Runnable run, final long delay)
{
- return getServer().getScheduler().scheduleAsyncDelayedTask(this, run, delay);
+ return getServer().getScheduler().runTaskLaterAsynchronously(this, run, delay);
}
@Override
@@ -161,9 +162,9 @@ public class BukkitPlugin extends JavaPlugin implements IPlugin
}
@Override
- public int scheduleAsyncRepeatingTask(final Runnable run, final long delay, final long period)
+ public BukkitTask scheduleAsyncRepeatingTask(final Runnable run, final long delay, final long period)
{
- return getServer().getScheduler().scheduleAsyncRepeatingTask(this, run, delay, period);
+ return getServer().getScheduler().runTaskTimer(this, run, delay, period);
}
@Override
@@ -177,7 +178,13 @@ public class BukkitPlugin extends JavaPlugin implements IPlugin
{
getServer().getScheduler().cancelTask(taskId);
}
-
+
+ @Override
+ public void cancelTask(BukkitTask taskId)
+ {
+ getServer().getScheduler().cancelTask(taskId.getTaskId());
+ }
+
@Override
public String getVersion()
{
@@ -185,7 +192,7 @@ public class BukkitPlugin extends JavaPlugin implements IPlugin
}
@Override
- public Class getClassByName(final String name)
+ public Class<?> getClassByName(final String name)
{
final JavaPluginLoader jpl = (JavaPluginLoader)this.getPluginLoader();
return jpl.getClassByName(name);
@@ -229,6 +236,12 @@ public class BukkitPlugin extends JavaPlugin implements IPlugin
// Remove "Essentials" from name
modules.put(plugin.getName().substring(10), plugin);
}
+
+ @Override
+ public void registerModule(Plugin module)
+ { // TODO: Use, solution for L231
+ modules.put(module.getName().substring(10), module);
+ }
@Override
public void onPluginDisable(final Plugin plugin)
diff --git a/Essentials/src/net/ess3/bukkit/VersionCheck.java b/Essentials/src/net/ess3/bukkit/VersionCheck.java
index 10573a2d3..4cf396c4c 100644
--- a/Essentials/src/net/ess3/bukkit/VersionCheck.java
+++ b/Essentials/src/net/ess3/bukkit/VersionCheck.java
@@ -1,6 +1,7 @@
package net.ess3.bukkit;
import java.util.logging.Level;
+import java.util.logging.Logger;
import java.util.regex.Matcher;
import java.util.regex.Pattern;
import static net.ess3.I18n._;
@@ -16,6 +17,7 @@ public class VersionCheck
{
final PluginManager pm = plugin.getServer().getPluginManager();
final String pluginVersion = plugin.getDescription().getVersion();
+ final Logger log = plugin.getLogger();
for (org.bukkit.plugin.Plugin p : pm.getPlugins())
{
if (p.getDescription().getName().startsWith("Essentials")
@@ -30,16 +32,16 @@ public class VersionCheck
final int versionNumber = Integer.parseInt(versionMatch.group(1));
if (versionNumber < BUKKIT_VERSION && versionNumber > 100)
{
- plugin.getLogger().log(Level.SEVERE, _("notRecommendedBukkit"));
- plugin.getLogger().log(Level.SEVERE, _("requiredBukkit", Integer.toString(BUKKIT_VERSION)));
+ log.log(Level.SEVERE, _("notRecommendedBukkit"));
+ log.log(Level.SEVERE, _("requiredBukkit", Integer.toString(BUKKIT_VERSION)));
return false;
}
}
else
{
- plugin.getLogger().log(Level.INFO, _("bukkitFormatChanged"));
- plugin.getLogger().log(Level.INFO, plugin.getServer().getVersion());
- plugin.getLogger().log(Level.INFO, plugin.getServer().getBukkitVersion());
+ log.log(Level.INFO, _("bukkitFormatChanged"));
+ log.log(Level.INFO, plugin.getServer().getVersion());
+ log.log(Level.INFO, plugin.getServer().getBukkitVersion());
}
return true;
}
diff --git a/Essentials/src/net/ess3/commands/Commandafk.java b/Essentials/src/net/ess3/commands/Commandafk.java
index 3d49df694..58a3e72a1 100644
--- a/Essentials/src/net/ess3/commands/Commandafk.java
+++ b/Essentials/src/net/ess3/commands/Commandafk.java
@@ -12,7 +12,7 @@ public class Commandafk extends EssentialsCommand
{
if (args.length > 0 && Permissions.AFK_OTHERS.isAuthorized(user))
{
- IUser afkUser = ess.getUserMap().matchUserExcludingHidden(args[0], user.getPlayer());
+ final IUser afkUser = ess.getUserMap().matchUserExcludingHidden(args[0], user.getPlayer());
if (afkUser != null)
{
toggleAfk(afkUser);
diff --git a/Essentials/src/net/ess3/commands/Commandbalancetop.java b/Essentials/src/net/ess3/commands/Commandbalancetop.java
index 2b3531d52..bc4c5de38 100644
--- a/Essentials/src/net/ess3/commands/Commandbalancetop.java
+++ b/Essentials/src/net/ess3/commands/Commandbalancetop.java
@@ -7,6 +7,7 @@ import java.util.concurrent.locks.ReentrantReadWriteLock;
import static net.ess3.I18n._;
import net.ess3.api.IUser;
import net.ess3.permissions.Permissions;
+import net.ess3.user.UserData;
import net.ess3.utils.FormatUtil;
import net.ess3.utils.textreader.ArrayListInput;
import net.ess3.utils.textreader.TextPager;
@@ -38,7 +39,7 @@ public class Commandbalancetop extends EssentialsCommand
{
if (args.length == 1 && isUser(sender) && Permissions.BALANCETOP_HIDE.isAuthorized(sender))
{
- IUser user = getUser(sender);
+ final IUser user = getUser(sender);
user.getData().setBalancetopHide(!user.getData().isBalancetopHide());
user.queueSave();
sender.sendMessage(
@@ -48,11 +49,12 @@ public class Commandbalancetop extends EssentialsCommand
}
else if (args.length == 2 && Permissions.BALANCETOP_HIDE_OTHERS.isAuthorized(sender))
{
- IUser user = ess.getUserMap().matchUser(args[1], true);
- user.getData().setBalancetopHide(!user.getData().isBalancetopHide());
+ final IUser user = ess.getUserMap().matchUser(args[1], true);
+ final UserData userData = user.getData();
+ userData.setBalancetopHide(!userData.isBalancetopHide());
user.queueSave();
sender.sendMessage(
- user.getData().isBalancetopHide()
+ userData.isBalancetopHide()
? user.getName() + _("userBaltopHidden")
: user.getName() + _("userBaltopShown"));
}
@@ -141,7 +143,7 @@ public class Commandbalancetop extends EssentialsCommand
if (!user.getData().isBalancetopHide())
{
totalMoney += userMoney;
- balances.put(user.getName(), userMoney);
+ balances.put(user.getName() /* TODO: Can use 'u' var? */, userMoney);
}
}
}
diff --git a/Essentials/src/net/ess3/commands/Commandban.java b/Essentials/src/net/ess3/commands/Commandban.java
index bc19e864c..f495d10fc 100644
--- a/Essentials/src/net/ess3/commands/Commandban.java
+++ b/Essentials/src/net/ess3/commands/Commandban.java
@@ -5,6 +5,8 @@ import static net.ess3.I18n._;
import net.ess3.api.IUser;
import net.ess3.permissions.Permissions;
import net.ess3.user.Ban;
+import net.ess3.user.UserData;
+
import org.bukkit.command.CommandSender;
import org.bukkit.entity.Player;
@@ -37,18 +39,19 @@ public class Commandban extends EssentialsCommand
}
final String senderName = isUser(sender) ? getPlayer(sender).getDisplayName() : Console.NAME;
- String banReason;
- user.getData().setBan(new Ban());
+ final String banReason;
+ final UserData userData = user.getData();
+ userData.setBan(new Ban());
if (args.length > 1)
{
banReason = _("banFormat", getFinalArg(args, 1), senderName);
- user.getData().getBan().setReason(banReason);
+ userData.getBan().setReason(banReason);
}
else
{
banReason = _("banFormat", _("defaultBanReason"), senderName);
- user.getData().getBan().setReason("");
+ userData.getBan().setReason("");
}
user.setBanned(true);
diff --git a/Essentials/src/net/ess3/commands/Commandbanip.java b/Essentials/src/net/ess3/commands/Commandbanip.java
index 4bcdaa0f0..21bbc4889 100644
--- a/Essentials/src/net/ess3/commands/Commandbanip.java
+++ b/Essentials/src/net/ess3/commands/Commandbanip.java
@@ -29,7 +29,7 @@ public class Commandbanip extends EssentialsCommand
{
throw new Exception(_("playerNotFound"));
}
- ess.getServer().banIP(player.getData().getIpAddress());
+ ess.getServer().banIP(ipAddress /*TODO: This shouldnt be needed, test player.getData().getIpAddress()*/);
sender.sendMessage(_("banIpAddress"));
}
}
diff --git a/Essentials/src/net/ess3/commands/Commandbigtree.java b/Essentials/src/net/ess3/commands/Commandbigtree.java
index f02714438..e89d20f43 100644
--- a/Essentials/src/net/ess3/commands/Commandbigtree.java
+++ b/Essentials/src/net/ess3/commands/Commandbigtree.java
@@ -12,7 +12,7 @@ public class Commandbigtree extends EssentialsCommand
@Override
public void run(final IUser user, final String commandLabel, final String[] args) throws Exception
{
- TreeType tree;
+ final TreeType tree;
if (args.length > 0 && args[0].equalsIgnoreCase("redwood"))
{
tree = TreeType.TALL_REDWOOD;
diff --git a/Essentials/src/net/ess3/commands/Commandbreak.java b/Essentials/src/net/ess3/commands/Commandbreak.java
index 22b829e6c..404d73d59 100644
--- a/Essentials/src/net/ess3/commands/Commandbreak.java
+++ b/Essentials/src/net/ess3/commands/Commandbreak.java
@@ -7,7 +7,6 @@ import org.bukkit.Material;
import org.bukkit.block.Block;
import org.bukkit.event.block.BlockBreakEvent;
-
public class Commandbreak extends EssentialsCommand
{
//TODO: Switch to use util class
diff --git a/Essentials/src/net/ess3/commands/Commandburn.java b/Essentials/src/net/ess3/commands/Commandburn.java
index 7a3e508d7..4f0e90478 100644
--- a/Essentials/src/net/ess3/commands/Commandburn.java
+++ b/Essentials/src/net/ess3/commands/Commandburn.java
@@ -3,6 +3,7 @@ package net.ess3.commands;
import static net.ess3.I18n._;
import net.ess3.api.IUser;
import org.bukkit.command.CommandSender;
+import org.bukkit.entity.Player;
public class Commandburn extends EssentialsCommand
@@ -17,8 +18,9 @@ public class Commandburn extends EssentialsCommand
for (IUser p : ess.getUserMap().matchUsersExcludingHidden(args[0], getPlayerOrNull(sender)))
{
- p.getPlayer().setFireTicks(Integer.parseInt(args[1]) * 20);
- sender.sendMessage(_("burnMsg", p.getPlayer().getDisplayName(), Integer.parseInt(args[1])));
+ final Player player = p.getPlayer();
+ player.setFireTicks(Integer.parseInt(args[1]) * 20);
+ sender.sendMessage(_("burnMsg", player.getDisplayName(), Integer.parseInt(args[1])));
}
}
}
diff --git a/Essentials/src/net/ess3/commands/Commandclearinventory.java b/Essentials/src/net/ess3/commands/Commandclearinventory.java
index 4374914f0..70f8e4773 100644
--- a/Essentials/src/net/ess3/commands/Commandclearinventory.java
+++ b/Essentials/src/net/ess3/commands/Commandclearinventory.java
@@ -18,8 +18,9 @@ public class Commandclearinventory extends EssentialsCommand
IUser p = ess.getUserMap().matchUserExcludingHidden(args[0], getPlayerOrNull(user));
if (p != null)
{
- p.getPlayer().getInventory().clear();
- user.sendMessage(_("inventoryClearedOthers", p.getPlayer().getDisplayName()));
+ final Player player = p.getPlayer();
+ player.getInventory().clear();
+ user.sendMessage(_("inventoryClearedOthers", player.getDisplayName()));
}
else
{
@@ -58,7 +59,7 @@ public class Commandclearinventory extends EssentialsCommand
}
else
{
- Player u = server.getPlayer(args[0]);
+ final Player u = server.getPlayer(args[0]);
if (u != null)
{
u.getInventory().clear();
diff --git a/Essentials/src/net/ess3/commands/Commandcompass.java b/Essentials/src/net/ess3/commands/Commandcompass.java
index 82e164d21..e9dc2d2a0 100644
--- a/Essentials/src/net/ess3/commands/Commandcompass.java
+++ b/Essentials/src/net/ess3/commands/Commandcompass.java
@@ -10,7 +10,7 @@ public class Commandcompass extends EssentialsCommand
public void run(final IUser user, final String commandLabel, final String[] args) throws Exception
{
final int bearing = (int)(user.getPlayer().getLocation().getYaw() + 180 + 360) % 360;
- String dir;
+ final String dir;
if (bearing < 23)
{
dir = "N";
diff --git a/Essentials/src/net/ess3/commands/Commandeco.java b/Essentials/src/net/ess3/commands/Commandeco.java
index ce8d991ba..f61898d91 100644
--- a/Essentials/src/net/ess3/commands/Commandeco.java
+++ b/Essentials/src/net/ess3/commands/Commandeco.java
@@ -17,8 +17,8 @@ public class Commandeco extends EssentialsCommand
{
throw new NotEnoughArgumentsException();
}
- EcoCommands cmd;
- double amount;
+ final EcoCommands cmd;
+ final double amount;
try
{
cmd = EcoCommands.valueOf(args[0].toUpperCase(Locale.ENGLISH));
@@ -65,7 +65,7 @@ public class Commandeco extends EssentialsCommand
else if (args[1].contentEquals("*"))
{
boolean ecoResetAllOnline = false;
- ISettings settings = ess.getSettings();
+ final ISettings settings = ess.getSettings();
for (Player onlinePlayer : server.getOnlinePlayers())
{
final IUser player = ess.getUserMap().getUser(onlinePlayer);
diff --git a/Essentials/src/net/ess3/commands/Commandenchant.java b/Essentials/src/net/ess3/commands/Commandenchant.java
index 916d7d183..73b85eacc 100644
--- a/Essentials/src/net/ess3/commands/Commandenchant.java
+++ b/Essentials/src/net/ess3/commands/Commandenchant.java
@@ -10,6 +10,7 @@ import net.ess3.bukkit.Enchantments;
import net.ess3.permissions.Permissions;
import net.ess3.utils.Util;
import org.bukkit.enchantments.Enchantment;
+import org.bukkit.entity.Player;
import org.bukkit.inventory.ItemStack;
@@ -71,8 +72,9 @@ public class Commandenchant extends EssentialsCommand
stack.addEnchantment(enchantment, level);
}
}
- user.getPlayer().getInventory().setItemInHand(stack);
- user.getPlayer().updateInventory();
+ final Player player = user.getPlayer();
+ player.getInventory().setItemInHand(stack);
+ player.updateInventory();
final String enchantmentName = enchantment.getName().toLowerCase(Locale.ENGLISH);
if (level == 0)
{
diff --git a/Essentials/src/net/ess3/commands/Commandenderchest.java b/Essentials/src/net/ess3/commands/Commandenderchest.java
index 942894840..f66975a65 100644
--- a/Essentials/src/net/ess3/commands/Commandenderchest.java
+++ b/Essentials/src/net/ess3/commands/Commandenderchest.java
@@ -1,5 +1,7 @@
package net.ess3.commands;
+import org.bukkit.entity.Player;
+
import net.ess3.api.IUser;
import net.ess3.permissions.Permissions;
@@ -9,16 +11,17 @@ public class Commandenderchest extends EssentialsCommand
@Override
protected void run(final IUser user, final String commandLabel, final String[] args) throws Exception
- {
+ {
+ final Player player = user.getPlayer();
if (args.length > 0 && Permissions.ENDERCHEST_OTHERS.isAuthorized(user))
{
- final IUser invUser = ess.getUserMap().matchUserExcludingHidden(args[0], user.getPlayer());
- user.getPlayer().openInventory(invUser.getPlayer().getEnderChest());
+ final IUser invUser = ess.getUserMap().matchUserExcludingHidden(args[0], player);
+ player.openInventory(invUser.getPlayer().getEnderChest());
user.setEnderSee(true);
}
else
{
- user.getPlayer().openInventory(user.getPlayer().getEnderChest());
+ player.openInventory(player.getEnderChest());
user.setEnderSee(false);
}
diff --git a/Essentials/src/net/ess3/commands/Commandessentials.java b/Essentials/src/net/ess3/commands/Commandessentials.java
index 91cfe44d4..28d76fe47 100644
--- a/Essentials/src/net/ess3/commands/Commandessentials.java
+++ b/Essentials/src/net/ess3/commands/Commandessentials.java
@@ -7,7 +7,7 @@ import org.bukkit.command.CommandSender;
public class Commandessentials extends EssentialsCommand
{
- private transient int taskid;
+ private transient int taskid; // TODO: Needed?
@Override
protected void run(final CommandSender sender, final String commandLabel, final String[] args) throws Exception
diff --git a/Essentials/src/net/ess3/commands/Commandext.java b/Essentials/src/net/ess3/commands/Commandext.java
index 39dc82938..47c355c3a 100644
--- a/Essentials/src/net/ess3/commands/Commandext.java
+++ b/Essentials/src/net/ess3/commands/Commandext.java
@@ -3,6 +3,7 @@ package net.ess3.commands;
import static net.ess3.I18n._;
import net.ess3.api.IUser;
import org.bukkit.command.CommandSender;
+import org.bukkit.entity.Player;
public class Commandext extends EssentialsCommand
@@ -35,8 +36,9 @@ public class Commandext extends EssentialsCommand
{
for (IUser matchPlayer : ess.getUserMap().matchUsersExcludingHidden(name, getPlayerOrNull(sender)))
{
- matchPlayer.getPlayer().setFireTicks(0);
- sender.sendMessage(_("extinguishOthers", matchPlayer.getPlayer().getDisplayName()));
+ final Player player = matchPlayer.getPlayer();
+ player.setFireTicks(0);
+ sender.sendMessage(_("extinguishOthers", player.getDisplayName()));
}
}
}
diff --git a/Essentials/src/net/ess3/commands/Commandfeed.java b/Essentials/src/net/ess3/commands/Commandfeed.java
index 4f3719ca5..b5fac3644 100644
--- a/Essentials/src/net/ess3/commands/Commandfeed.java
+++ b/Essentials/src/net/ess3/commands/Commandfeed.java
@@ -5,6 +5,7 @@ import static net.ess3.I18n._;
import net.ess3.api.IUser;
import net.ess3.permissions.Permissions;
import org.bukkit.command.CommandSender;
+import org.bukkit.entity.Player;
public class Commandfeed extends EssentialsCommand
@@ -18,8 +19,9 @@ public class Commandfeed extends EssentialsCommand
}
else
{
- user.getPlayer().setFoodLevel(20);
- user.getPlayer().setSaturation(10);
+ final Player player = user.getPlayer();
+ player.setFoodLevel(20);
+ player.setSaturation(10);
user.sendMessage(_("feed"));
}
}
@@ -34,9 +36,10 @@ public class Commandfeed extends EssentialsCommand
}
for (IUser player : users)
{
- player.getPlayer().setFoodLevel(20);
- player.getPlayer().setSaturation(10);
- sender.sendMessage(_("feedOther", player.getPlayer().getDisplayName()));
+ final Player realPlayer = player.getPlayer();
+ realPlayer.setFoodLevel(20);
+ realPlayer.setSaturation(10);
+ sender.sendMessage(_("feedOther", realPlayer.getDisplayName()));
}
}
}
diff --git a/Essentials/src/net/ess3/commands/Commandfireball.java b/Essentials/src/net/ess3/commands/Commandfireball.java
index c6a7c24a9..6f05484a1 100644
--- a/Essentials/src/net/ess3/commands/Commandfireball.java
+++ b/Essentials/src/net/ess3/commands/Commandfireball.java
@@ -2,6 +2,7 @@ package net.ess3.commands;
import net.ess3.api.IUser;
import org.bukkit.entity.Fireball;
+import org.bukkit.entity.Player;
import org.bukkit.entity.SmallFireball;
import org.bukkit.util.Vector;
@@ -16,8 +17,11 @@ public class Commandfireball extends EssentialsCommand
{
small = true;
}
- final Vector direction = user.getPlayer().getEyeLocation().getDirection().multiply(2);
- final Fireball fireball = user.getPlayer().getWorld().spawn(user.getPlayer().getEyeLocation().add(direction.getX(), direction.getY(), direction.getZ()), small ? SmallFireball.class : Fireball.class);
- fireball.setShooter(user.getPlayer());
+
+ final Player player = user.getPlayer();
+
+ final Vector direction = player.getEyeLocation().getDirection().multiply(2);
+ final Fireball fireball = player.getWorld().spawn(player.getEyeLocation().add(direction.getX(), direction.getY(), direction.getZ()), small ? SmallFireball.class : Fireball.class);
+ fireball.setShooter(player);
}
}
diff --git a/Essentials/src/net/ess3/commands/Commandfly.java b/Essentials/src/net/ess3/commands/Commandfly.java
index c870ac0fb..607040096 100644
--- a/Essentials/src/net/ess3/commands/Commandfly.java
+++ b/Essentials/src/net/ess3/commands/Commandfly.java
@@ -56,4 +56,4 @@ public class Commandfly extends EssentialsToggleCommand
{
return false;
}
-}
+} \ No newline at end of file
diff --git a/Essentials/src/net/ess3/commands/Commandgamemode.java b/Essentials/src/net/ess3/commands/Commandgamemode.java
index bc8626130..ceaf439fc 100644
--- a/Essentials/src/net/ess3/commands/Commandgamemode.java
+++ b/Essentials/src/net/ess3/commands/Commandgamemode.java
@@ -83,7 +83,7 @@ public class Commandgamemode extends EssentialsSettingsCommand
private GameMode matchGameMode(String modeString) throws NotEnoughArgumentsException
{
- GameMode mode = null;
+ final GameMode mode;
if (modeString.equalsIgnoreCase("gmc") || modeString.equalsIgnoreCase("egmc")
|| modeString.contains("creat") || modeString.equalsIgnoreCase("1") || modeString.equalsIgnoreCase("c"))
{
diff --git a/Essentials/src/net/ess3/commands/Commandgc.java b/Essentials/src/net/ess3/commands/Commandgc.java
index 2ffec2802..292047a98 100644
--- a/Essentials/src/net/ess3/commands/Commandgc.java
+++ b/Essentials/src/net/ess3/commands/Commandgc.java
@@ -13,7 +13,7 @@ public class Commandgc extends EssentialsCommand
@Override
protected void run(final CommandSender sender, final String commandLabel, final String[] args) throws Exception
{
- final float tps = ess.getTimer().getAverageTPS();
+ float tps = ess.getTimer().getAverageTPS();
ChatColor color;
if (tps >= 18)
{
@@ -27,17 +27,17 @@ public class Commandgc extends EssentialsCommand
{
color = ChatColor.RED;
}
- final Runtime runTime = Runtime.getRuntime();
+ final Runtime runtime = Runtime.getRuntime();
sender.sendMessage(_("uptime", DateUtil.formatDateDiff(ManagementFactory.getRuntimeMXBean().getStartTime())));
sender.sendMessage(_("tps", "" + color + tps));
- sender.sendMessage(_("gcmax", (runTime.maxMemory() / 1024 / 1024)));
- sender.sendMessage(_("gctotal", (runTime.totalMemory() / 1024 / 1024)));
- sender.sendMessage(_("gcfree", (runTime.freeMemory() / 1024 / 1024)));
+ sender.sendMessage(_("gcmax", (runtime.maxMemory() / 1024 / 1024)));
+ sender.sendMessage(_("gctotal", (runtime.totalMemory() / 1024 / 1024)));
+ sender.sendMessage(_("gcfree", (runtime.freeMemory() / 1024 / 1024)));
sender.sendMessage(_("gcquene", (ess.getStorageQueue().getQueueSize())));
for (World w : server.getWorlds())
{
- String worldType = "World";
+ final String worldType;
switch (w.getEnvironment())
{
case NETHER:
@@ -46,6 +46,10 @@ public class Commandgc extends EssentialsCommand
case THE_END:
worldType = "The End";
break;
+ default:
+ worldType = "World";
+ break;
+
}
sender.sendMessage(
diff --git a/Essentials/src/net/ess3/commands/Commandgetpos.java b/Essentials/src/net/ess3/commands/Commandgetpos.java
index 8bbd28b52..439655776 100644
--- a/Essentials/src/net/ess3/commands/Commandgetpos.java
+++ b/Essentials/src/net/ess3/commands/Commandgetpos.java
@@ -3,7 +3,10 @@ package net.ess3.commands;
import net.ess3.api.IUser;
import net.ess3.permissions.Permissions;
import org.bukkit.Location;
+import org.bukkit.World;
import org.bukkit.command.CommandSender;
+import org.bukkit.entity.Player;
+
import static net.ess3.I18n._;
@@ -13,18 +16,20 @@ public class Commandgetpos extends EssentialsCommand
@Override
public void run(final IUser user, final String commandLabel, final String[] args) throws Exception
{
+ final Player mainPlayer = user.getPlayer();
+ final Location mainPlayerLoc = mainPlayer.getLocation();
if (args.length > 0 && Permissions.GETPOS_OTHERS.isAuthorized(user))
{
//todo permissions
final IUser otherUser = ess.getUserMap().matchUser(args[0], false);
- if (user.getPlayer().canSee(otherUser.getPlayer()) || Permissions.LIST_HIDDEN.isAuthorized(user))
+ if (mainPlayer.canSee(otherUser.getPlayer()) || Permissions.LIST_HIDDEN.isAuthorized(user))
{
- outputPosition(user, otherUser.getPlayer().getLocation(), user.getPlayer().getLocation());
+ outputPosition(user, otherUser.getPlayer().getLocation(), mainPlayerLoc);
return;
}
}
- outputPosition(user, user.getPlayer().getLocation(), null);
+ outputPosition(user, mainPlayerLoc, null);
}
@Override
@@ -40,13 +45,14 @@ public class Commandgetpos extends EssentialsCommand
private void outputPosition(final CommandSender sender, final Location coords, final Location distance)
{
- sender.sendMessage(_("getposWorld", coords.getWorld().getName()));
+ final World world = coords.getWorld();
+ sender.sendMessage(_("getposWorld", world.getName()));
sender.sendMessage(_("getposX", coords.getBlockX()));
sender.sendMessage(_("getposY", coords.getBlockY()));
sender.sendMessage(_("getposZ", coords.getBlockZ()));
sender.sendMessage(_("getposYaw", (coords.getYaw() + 540) % 360));
sender.sendMessage(_("getposPitch", coords.getPitch()));
- if (distance != null && coords.getWorld().equals(distance.getWorld()))
+ if (distance != null && world.equals(distance.getWorld()))
{
sender.sendMessage(_("getposDistance", coords.distance(distance)));
}
diff --git a/Essentials/src/net/ess3/commands/Commandgive.java b/Essentials/src/net/ess3/commands/Commandgive.java
index f65e922a8..826681a0c 100644
--- a/Essentials/src/net/ess3/commands/Commandgive.java
+++ b/Essentials/src/net/ess3/commands/Commandgive.java
@@ -6,7 +6,6 @@ import static net.ess3.I18n._;
import net.ess3.api.IUser;
import net.ess3.permissions.Permissions;
import net.ess3.utils.Util;
-import org.bukkit.ChatColor;
import org.bukkit.command.CommandSender;
import org.bukkit.enchantments.Enchantment;
import org.bukkit.inventory.ItemStack;
@@ -54,7 +53,7 @@ public class Commandgive extends EssentialsCommand
continue;
}
final Enchantment enchantment = Commandenchant.getEnchantment(split[0], sender instanceof IUser ? (IUser)sender : null);
- int level;
+ final int level;
if (split.length > 1)
{
level = Integer.parseInt(split[1]);
diff --git a/Essentials/src/net/ess3/commands/Commandhat.java b/Essentials/src/net/ess3/commands/Commandhat.java
index 565ebdd88..a9d22a438 100644
--- a/Essentials/src/net/ess3/commands/Commandhat.java
+++ b/Essentials/src/net/ess3/commands/Commandhat.java
@@ -4,6 +4,7 @@ import static net.ess3.I18n._;
import net.ess3.api.IUser;
import net.ess3.craftbukkit.InventoryWorkaround;
import org.bukkit.Material;
+import org.bukkit.entity.Player;
import org.bukkit.inventory.ItemStack;
import org.bukkit.inventory.PlayerInventory;
@@ -32,12 +33,13 @@ public class Commandhat extends EssentialsCommand
}
else
{
- if (user.getPlayer().getItemInHand().getType() != Material.AIR)
+ final Player player = user.getPlayer();
+ if (player.getItemInHand().getType() != Material.AIR)
{
- final ItemStack hand = user.getPlayer().getItemInHand().clone();
+ final ItemStack hand = player.getItemInHand().clone();
if (hand.getType().getMaxDurability() == 0)
{
- final PlayerInventory inv = user.getPlayer().getInventory();
+ final PlayerInventory inv = player.getInventory();
final ItemStack head = inv.getHelmet();
hand.setAmount(1);
InventoryWorkaround.removeItem(inv, true, true, hand);
diff --git a/Essentials/src/net/ess3/commands/Commandheal.java b/Essentials/src/net/ess3/commands/Commandheal.java
index fd02a0201..fe6a07de9 100644
--- a/Essentials/src/net/ess3/commands/Commandheal.java
+++ b/Essentials/src/net/ess3/commands/Commandheal.java
@@ -6,6 +6,7 @@ import net.ess3.api.IUser;
import net.ess3.permissions.Permissions;
import net.ess3.user.UserData.TimestampType;
import org.bukkit.command.CommandSender;
+import org.bukkit.entity.Player;
public class Commandheal extends EssentialsCommand
@@ -23,10 +24,11 @@ public class Commandheal extends EssentialsCommand
}
user.checkCooldown(TimestampType.LASTHEAL, ess.getRanks().getHealCooldown(user), true, Permissions.HEAL_COOLDOWN_BYPASS);
-
- user.getPlayer().setHealth(20);
- user.getPlayer().setFireTicks(0);
- user.getPlayer().setFoodLevel(20);
+
+ final Player player = user.getPlayer();
+ player.setHealth(20);
+ player.setFireTicks(0);
+ player.setFoodLevel(20);
user.sendMessage(_("heal"));
}
@@ -50,11 +52,12 @@ public class Commandheal extends EssentialsCommand
return;
}
for (IUser p : users)
- {
- p.getPlayer().setHealth(20);
- p.getPlayer().setFoodLevel(20);
- p.getPlayer().sendMessage(_("heal"));
- sender.sendMessage(_("healOther", p.getPlayer().getDisplayName()));
+ {
+ final Player player = p.getPlayer();
+ player.setHealth(20);
+ player.setFoodLevel(20);
+ player.sendMessage(_("heal"));
+ sender.sendMessage(_("healOther", player.getDisplayName()));
}
}
}
diff --git a/Essentials/src/net/ess3/commands/Commandhome.java b/Essentials/src/net/ess3/commands/Commandhome.java
index a1a048dfe..8ac404be2 100644
--- a/Essentials/src/net/ess3/commands/Commandhome.java
+++ b/Essentials/src/net/ess3/commands/Commandhome.java
@@ -106,4 +106,4 @@ public class Commandhome extends EssentialsCommand
}
user.getTeleport().home(loc, charge);
}
-}
+} \ No newline at end of file
diff --git a/Essentials/src/net/ess3/commands/Commanditemdb.java b/Essentials/src/net/ess3/commands/Commanditemdb.java
index 3008ebfda..902465b1a 100644
--- a/Essentials/src/net/ess3/commands/Commanditemdb.java
+++ b/Essentials/src/net/ess3/commands/Commanditemdb.java
@@ -2,6 +2,8 @@ package net.ess3.commands;
import static net.ess3.I18n._;
import net.ess3.api.IUser;
+
+import org.bukkit.Material;
import org.bukkit.command.CommandSender;
import org.bukkit.inventory.ItemStack;
@@ -28,13 +30,13 @@ public class Commanditemdb extends EssentialsCommand
{
itemStack = ess.getItemDb().get(args[0]);
}
- sender.sendMessage(itemStack.getType().toString() + "- " + itemStack.getTypeId() + ":" + Integer.toString(itemStack.getData().getData()));
-
-
- if (itemStack.getTypeId() != 0)
+ final Material itemType = itemStack.getType();
+ final int id = itemType.getId();
+ sender.sendMessage(itemStack.getType().toString() + "- " + id + ":" + Integer.toString(itemStack.getData().getData()));
+ if (id != 0)
{
- int maxuses = itemStack.getType().getMaxDurability();
- int durability = ((maxuses + 1) - itemStack.getDurability());
+ final int maxuses = itemType.getMaxDurability();
+ final int durability = ((maxuses + 1) - itemStack.getDurability());
if (maxuses != 0)
{
sender.sendMessage(_("durability", Integer.toString(durability)));
diff --git a/Essentials/src/net/ess3/commands/Commandjails.java b/Essentials/src/net/ess3/commands/Commandjails.java
index 6a68c1e91..4bbe6cd64 100644
--- a/Essentials/src/net/ess3/commands/Commandjails.java
+++ b/Essentials/src/net/ess3/commands/Commandjails.java
@@ -1,6 +1,8 @@
package net.ess3.commands;
import net.ess3.utils.Util;
+
+import org.bukkit.ChatColor;
import org.bukkit.command.CommandSender;
@@ -9,6 +11,6 @@ public class Commandjails extends EssentialsCommand
@Override
protected void run(final CommandSender sender, final String commandLabel, final String[] args) throws Exception
{
- sender.sendMessage("§7" + Util.joinList(" ", ess.getJails().getList()));
+ sender.sendMessage(ChatColor.GRAY /* "§7" */ + Util.joinList(" ", ess.getJails().getList()));
}
}
diff --git a/Essentials/src/net/ess3/commands/Commandkill.java b/Essentials/src/net/ess3/commands/Commandkill.java
index e9c2a9d9c..20957f178 100644
--- a/Essentials/src/net/ess3/commands/Commandkill.java
+++ b/Essentials/src/net/ess3/commands/Commandkill.java
@@ -4,6 +4,7 @@ import static net.ess3.I18n._;
import net.ess3.api.IUser;
import net.ess3.permissions.Permissions;
import org.bukkit.command.CommandSender;
+import org.bukkit.entity.Player;
import org.bukkit.event.entity.EntityDamageEvent;
@@ -19,15 +20,16 @@ public class Commandkill extends EssentialsCommand
for (IUser matchPlayer : ess.getUserMap().matchUsersExcludingHidden(args[0], getPlayerOrNull(sender)))
{
- final EntityDamageEvent ede = new EntityDamageEvent(matchPlayer.getPlayer(), sender instanceof IUser && sender.getName().equals(matchPlayer.getName()) ? EntityDamageEvent.DamageCause.SUICIDE : EntityDamageEvent.DamageCause.CUSTOM, Short.MAX_VALUE);
+ final Player player = matchPlayer.getPlayer();
+ final EntityDamageEvent ede = new EntityDamageEvent(player, sender instanceof IUser && sender.getName().equals(matchPlayer.getName()) ? EntityDamageEvent.DamageCause.SUICIDE : EntityDamageEvent.DamageCause.CUSTOM, Short.MAX_VALUE);
server.getPluginManager().callEvent(ede);
if (ede.isCancelled() && Permissions.KILL_FORCE.isAuthorized(sender))
{
continue;
}
- matchPlayer.getPlayer().damage(Short.MAX_VALUE);
- sender.sendMessage(_("kill", matchPlayer.getPlayer().getDisplayName()));
+ player.damage(Short.MAX_VALUE);
+ sender.sendMessage(_("kill", player.getDisplayName()));
}
}
}
diff --git a/Essentials/src/net/ess3/commands/Commandkillall.java b/Essentials/src/net/ess3/commands/Commandkillall.java
index 8f21fcd60..5b6c21427 100644
--- a/Essentials/src/net/ess3/commands/Commandkillall.java
+++ b/Essentials/src/net/ess3/commands/Commandkillall.java
@@ -10,6 +10,7 @@ import org.bukkit.World;
import org.bukkit.command.CommandSender;
import org.bukkit.entity.*;
import org.bukkit.event.entity.EntityDeathEvent;
+import org.bukkit.inventory.ItemStack;
public class Commandkillall extends EssentialsCommand
@@ -68,10 +69,10 @@ public class Commandkillall extends EssentialsCommand
{
radius *= radius;
}
- String killType = type.toLowerCase(Locale.ENGLISH);
- boolean animals = killType.startsWith("animal");
- boolean monster = killType.startsWith("monster") || killType.startsWith("mob");
- boolean all = killType.equals("all");
+ final String killType = type.toLowerCase(Locale.ENGLISH);
+ final boolean animals = killType.startsWith("animal");
+ final boolean monster = killType.startsWith("monster") || killType.startsWith("mob");
+ final boolean all = killType.equals("all");
Class<? extends Entity> entityClass = null;
if (!animals && !monster && !all)
{
@@ -82,7 +83,7 @@ public class Commandkillall extends EssentialsCommand
entityClass = LivingEntities.fromName(killType).getEntityClass();
}
int numKills = 0;
- Location loc = isUser(sender) ? getPlayer(sender).getLocation() : null;
+ final Location loc = isUser(sender) ? getPlayer(sender).getLocation() : null;
for (Chunk chunk : world.getLoadedChunks())
{
for (Entity entity : chunk.getEntities())
@@ -94,7 +95,7 @@ public class Commandkillall extends EssentialsCommand
continue;
}
}
- if (entity instanceof LivingEntity == false || entity instanceof HumanEntity)
+ if (!(entity instanceof LivingEntity) || entity instanceof HumanEntity)
{
continue;
}
@@ -116,7 +117,7 @@ public class Commandkillall extends EssentialsCommand
{
if (entity instanceof Animals || entity instanceof NPC || entity instanceof Snowman || entity instanceof WaterMob)
{
- EntityDeathEvent event = new EntityDeathEvent((LivingEntity)entity, Collections.EMPTY_LIST);
+ EntityDeathEvent event = new EntityDeathEvent((LivingEntity)entity, Collections.<ItemStack> emptyList());
ess.getServer().getPluginManager().callEvent(event);
entity.remove();
numKills++;
@@ -126,7 +127,7 @@ public class Commandkillall extends EssentialsCommand
{
if (entity instanceof Monster || entity instanceof ComplexLivingEntity || entity instanceof Flying || entity instanceof Slime)
{
- EntityDeathEvent event = new EntityDeathEvent((LivingEntity)entity, Collections.EMPTY_LIST);
+ EntityDeathEvent event = new EntityDeathEvent((LivingEntity)entity, Collections.<ItemStack> emptyList());
ess.getServer().getPluginManager().callEvent(event);
entity.remove();
numKills++;
@@ -134,14 +135,14 @@ public class Commandkillall extends EssentialsCommand
}
else if (all)
{
- EntityDeathEvent event = new EntityDeathEvent((LivingEntity)entity, Collections.EMPTY_LIST);
+ EntityDeathEvent event = new EntityDeathEvent((LivingEntity)entity, Collections.<ItemStack> emptyList());
ess.getServer().getPluginManager().callEvent(event);
entity.remove();
numKills++;
}
else if (entityClass != null && entityClass.isAssignableFrom(entity.getClass()))
{
- EntityDeathEvent event = new EntityDeathEvent((LivingEntity)entity, Collections.EMPTY_LIST);
+ EntityDeathEvent event = new EntityDeathEvent((LivingEntity)entity, Collections.<ItemStack> emptyList());
ess.getServer().getPluginManager().callEvent(event);
entity.remove();
numKills++;
diff --git a/Essentials/src/net/ess3/commands/Commandlightning.java b/Essentials/src/net/ess3/commands/Commandlightning.java
index ffaa05b98..8ee22a05a 100644
--- a/Essentials/src/net/ess3/commands/Commandlightning.java
+++ b/Essentials/src/net/ess3/commands/Commandlightning.java
@@ -6,6 +6,7 @@ import net.ess3.api.IUser;
import net.ess3.permissions.Permissions;
import org.bukkit.command.CommandSender;
import org.bukkit.entity.LightningStrike;
+import org.bukkit.entity.Player;
public class Commandlightning extends EssentialsCommand
@@ -21,7 +22,8 @@ public class Commandlightning extends EssentialsCommand
}
if ((args.length < 1 || !Permissions.LIGHTNING_OTHERS.isAuthorized(user)) && user != null)
{
- user.getPlayer().getWorld().strikeLightning(user.getPlayer().getTargetBlock(null, 600).getLocation());
+ final Player player = user.getPlayer();
+ player.getWorld().strikeLightning(player.getTargetBlock(null, 600).getLocation());
return;
}
@@ -44,11 +46,12 @@ public class Commandlightning extends EssentialsCommand
for (IUser matchPlayer : ess.getUserMap().matchUsersExcludingHidden(args[0], getPlayerOrNull(sender)))
{
- sender.sendMessage(_("lightningUse", matchPlayer.getPlayer().getDisplayName()));
- final LightningStrike strike = matchPlayer.getPlayer().getWorld().strikeLightningEffect(matchPlayer.getPlayer().getLocation());
+ final Player player = matchPlayer.getPlayer();
+ sender.sendMessage(_("lightningUse", player.getDisplayName()));
+ final LightningStrike strike = player.getWorld().strikeLightningEffect(player.getLocation());
if (!matchPlayer.isGodModeEnabled())
{
- matchPlayer.getPlayer().damage(power, strike);
+ player.damage(power, strike);
}
final ISettings settings = ess.getSettings();
if (settings.getData().getCommands().getLightning().isWarnPlayer())
diff --git a/Essentials/src/net/ess3/commands/Commandlist.java b/Essentials/src/net/ess3/commands/Commandlist.java
index 6fe865d3b..254d29816 100644
--- a/Essentials/src/net/ess3/commands/Commandlist.java
+++ b/Essentials/src/net/ess3/commands/Commandlist.java
@@ -49,14 +49,14 @@ public class Commandlist extends EssentialsCommand
sender.sendMessage(online);
- ISettings settings = ess.getSettings();
+ final ISettings settings = ess.getSettings();
- boolean sortListByGroups = sortListByGroups = settings.getData().getCommands().getList().isSortByGroups();
+ final boolean sortListByGroups = settings.getData().getCommands().getList().isSortByGroups();
if (sortListByGroups)
{
- Map<String, List<IUser>> sort = new HashMap<String, List<IUser>>();
- Set<String> hiddenPlayers = new HashSet<String>();
+ final Map<String, List<IUser>> sort = new HashMap<String, List<IUser>>();
+ final Set<String> hiddenPlayers = new HashSet<String>();
for (Player onlinePlayer : server.getOnlinePlayers())
{
if (userPlayer != null
@@ -115,7 +115,7 @@ public class Commandlist extends EssentialsCommand
else
{
final List<IUser> users = new ArrayList<IUser>();
- Set<String> hiddenPlayers = new HashSet<String>();
+ final Set<String> hiddenPlayers = new HashSet<String>();
for (Player onlinePlayer : server.getOnlinePlayers())
{
if (userPlayer != null
diff --git a/Essentials/src/net/ess3/commands/Commandmail.java b/Essentials/src/net/ess3/commands/Commandmail.java
index 6a510ae1e..94fc67bf3 100644
--- a/Essentials/src/net/ess3/commands/Commandmail.java
+++ b/Essentials/src/net/ess3/commands/Commandmail.java
@@ -118,7 +118,7 @@ public class Commandmail extends EssentialsCommand
{
for (String username : ess.getUserMap().getAllUniqueUsers())
{
- IUser user = ess.getUserMap().getUser(username);
+ final IUser user = ess.getUserMap().getUser(username);
if (user != null)
{
user.addMail(message);
diff --git a/Essentials/src/net/ess3/commands/Commandmore.java b/Essentials/src/net/ess3/commands/Commandmore.java
index 587852c29..bd31ef465 100644
--- a/Essentials/src/net/ess3/commands/Commandmore.java
+++ b/Essentials/src/net/ess3/commands/Commandmore.java
@@ -7,6 +7,8 @@ import net.ess3.api.ISettings;
import net.ess3.api.IUser;
import net.ess3.economy.Trade;
import net.ess3.permissions.Permissions;
+
+import org.bukkit.entity.Player;
import org.bukkit.inventory.ItemStack;
@@ -16,15 +18,16 @@ public class Commandmore extends EssentialsCommand
public void run(final IUser user, final String commandLabel, final String[] args) throws Exception
{
ItemStack[] stacks;
+ final Player player = user.getPlayer();
if (args.length > 0 && args[0].equalsIgnoreCase("all"))
{
- stacks = user.getPlayer().getInventory().getContents();
+ stacks = player.getInventory().getContents();
}
else
{
stacks = new ItemStack[]
{
- user.getPlayer().getItemInHand()
+ player.getItemInHand()
};
}
for (ItemStack stack : stacks)
@@ -42,8 +45,8 @@ public class Commandmore extends EssentialsCommand
}
ISettings settings = ess.getSettings();
- int defaultStackSize = settings.getData().getGeneral().getDefaultStacksize();
- int oversizedStackSize = settings.getData().getGeneral().getOversizedStacksize();
+ final int defaultStackSize = settings.getData().getGeneral().getDefaultStacksize();
+ final int oversizedStackSize = settings.getData().getGeneral().getOversizedStacksize();
int newAmount = Permissions.OVERSIZEDSTACKS.isAuthorized(user)
? oversizedStackSize
@@ -88,9 +91,9 @@ public class Commandmore extends EssentialsCommand
}
if (stacks.length > 1)
{
- user.getPlayer().getInventory().setContents(stacks);
+ player.getInventory().setContents(stacks);
}
- user.getPlayer().updateInventory();
+ player.updateInventory();
if (stacks.length > 1)
{
throw new NoChargeException();
diff --git a/Essentials/src/net/ess3/commands/Commandmsg.java b/Essentials/src/net/ess3/commands/Commandmsg.java
index aa54a4840..7621483d3 100644
--- a/Essentials/src/net/ess3/commands/Commandmsg.java
+++ b/Essentials/src/net/ess3/commands/Commandmsg.java
@@ -24,7 +24,7 @@ public class Commandmsg extends EssentialsCommand
String message = getFinalArg(args, 1);
if (isUser(sender))
{
- IUser user = getUser(sender);;
+ final IUser user = getUser(sender);
if (user.getData().isMuted())
{
throw new Exception(_("voiceSilenced"));
@@ -86,8 +86,9 @@ public class Commandmsg extends EssentialsCommand
for (IUser matchedPlayer : matchedPlayers)
{
- sender.sendMessage(_("msgFormat", translatedMe, matchedPlayer.getPlayer().getDisplayName(), message));
- if (isUser(sender) && (matchedPlayer.isIgnoringPlayer(getUser(sender)) || !player.canSee(matchedPlayer.getPlayer())))
+ final Player realPlayer = matchedPlayer.getPlayer();
+ sender.sendMessage(_("msgFormat", translatedMe, realPlayer.getDisplayName(), message));
+ if (isUser(sender) && (matchedPlayer.isIgnoringPlayer(getUser(sender)) || !player.canSee(realPlayer)))
{
continue;
}
diff --git a/Essentials/src/net/ess3/commands/Commandnick.java b/Essentials/src/net/ess3/commands/Commandnick.java
index 0883b7c7f..ceb7d15a4 100644
--- a/Essentials/src/net/ess3/commands/Commandnick.java
+++ b/Essentials/src/net/ess3/commands/Commandnick.java
@@ -112,9 +112,9 @@ public class Commandnick extends EssentialsCommand
{
continue;
}
- String dn = p.getDisplayName().toLowerCase(Locale.ENGLISH);
- String n = p.getName().toLowerCase(Locale.ENGLISH);
- String nk = nick.toLowerCase(Locale.ENGLISH);
+ final String dn = p.getDisplayName().toLowerCase(Locale.ENGLISH);
+ final String n = p.getName().toLowerCase(Locale.ENGLISH);
+ final String nk = nick.toLowerCase(Locale.ENGLISH);
if (nk.equals(dn) || nk.equals(n))
{
throw new Exception(_("nickInUse"));
diff --git a/Essentials/src/net/ess3/commands/Commandpay.java b/Essentials/src/net/ess3/commands/Commandpay.java
index ff7e1ef12..a2f48b7a2 100644
--- a/Essentials/src/net/ess3/commands/Commandpay.java
+++ b/Essentials/src/net/ess3/commands/Commandpay.java
@@ -16,7 +16,7 @@ public class Commandpay extends EssentialsCommand
throw new NotEnoughArgumentsException();
}
- double amount = Double.parseDouble(args[1].replaceAll("[^0-9\\.]", ""));
+ final double amount = Double.parseDouble(args[1].replaceAll("[^0-9\\.]", ""));
if (amount <= 0 || Double.isNaN(amount) || Double.isInfinite(amount)) {
user.sendMessage(_("invalidAmount"));
diff --git a/Essentials/src/net/ess3/commands/Commandpowertool.java b/Essentials/src/net/ess3/commands/Commandpowertool.java
index b1b6cae20..b4b1ce6ad 100644
--- a/Essentials/src/net/ess3/commands/Commandpowertool.java
+++ b/Essentials/src/net/ess3/commands/Commandpowertool.java
@@ -6,6 +6,7 @@ import java.util.Locale;
import static net.ess3.I18n._;
import net.ess3.api.IUser;
import net.ess3.permissions.Permissions;
+import net.ess3.user.UserData;
import net.ess3.utils.Util;
import org.bukkit.Material;
import org.bukkit.inventory.ItemStack;
@@ -17,11 +18,11 @@ public class Commandpowertool extends EssentialsCommand
protected void run(final IUser user, final String commandLabel, final String[] args) throws Exception
{
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:"))
{
- user.getData().clearAllPowertools();
+ userData.clearAllPowertools();
user.queueSave();
user.sendMessage(_("powerToolClearAll"));
return;
@@ -34,7 +35,7 @@ public class Commandpowertool extends EssentialsCommand
}
final String itemName = itemStack.getType().toString().toLowerCase(Locale.ENGLISH).replaceAll("_", " ");
- List<String> powertools = user.getData().getPowertool(itemStack.getType());
+ List<String> powertools = userData.getPowertool(itemStack.getType());
if (command != null && !command.isEmpty())
{
if (command.equalsIgnoreCase("l:"))
@@ -91,12 +92,12 @@ public class Commandpowertool extends EssentialsCommand
user.sendMessage(_("powerToolRemoveAll", itemName));
}
- if (!user.getData().isPowerToolsEnabled())
+ if (!userData.isPowerToolsEnabled())
{
- user.getData().setPowerToolsEnabled(true);
+ userData.setPowerToolsEnabled(true);
user.sendMessage(_("powerToolsEnabled"));
}
- user.getData().setPowertool(itemStack.getType(), powertools);
+ userData.setPowertool(itemStack.getType(), powertools);
user.queueSave();
}
}
diff --git a/Essentials/src/net/ess3/commands/Commandpowertooltoggle.java b/Essentials/src/net/ess3/commands/Commandpowertooltoggle.java
index 0455104ed..9ae6b5e3f 100644
--- a/Essentials/src/net/ess3/commands/Commandpowertooltoggle.java
+++ b/Essentials/src/net/ess3/commands/Commandpowertooltoggle.java
@@ -2,6 +2,7 @@ package net.ess3.commands;
import static net.ess3.I18n._;
import net.ess3.api.IUser;
+import net.ess3.user.UserData;
public class Commandpowertooltoggle extends EssentialsCommand
@@ -9,14 +10,15 @@ public class Commandpowertooltoggle extends EssentialsCommand
@Override
protected void run(final IUser user, final String commandLabel, final String[] args) throws Exception
{
- if (!user.getData().hasPowerTools())
+ final UserData userData = user.getData();
+ if (!userData.hasPowerTools())
{
user.sendMessage(_("noPowerTools"));
return;
}
- user.getData().setPowerToolsEnabled(!user.getData().isPowerToolsEnabled());
+ userData.setPowerToolsEnabled(!userData.isPowerToolsEnabled());
user.queueSave();
- user.sendMessage(user.getData().isPowerToolsEnabled()
+ user.sendMessage(userData.isPowerToolsEnabled()
? _("powerToolsEnabled")
: _("powerToolsDisabled"));
}
diff --git a/Essentials/src/net/ess3/commands/Commandptime.java b/Essentials/src/net/ess3/commands/Commandptime.java
index efc0ea83a..ee0e6be50 100644
--- a/Essentials/src/net/ess3/commands/Commandptime.java
+++ b/Essentials/src/net/ess3/commands/Commandptime.java
@@ -131,8 +131,9 @@ public class Commandptime extends EssentialsCommand
// Set
for (IUser user : users)
{
- final World world = user.getPlayer().getWorld();
- long time = user.getPlayer().getPlayerTime();
+ final Player player = user.getPlayer();
+ final World world = player.getWorld();
+ long time = player.getPlayerTime();
time -= time % 24000;
time += 24000 + ticks;
if (relative)
diff --git a/Essentials/src/net/ess3/commands/Commandr.java b/Essentials/src/net/ess3/commands/Commandr.java
index fa1fde9ee..92aabfd8a 100644
--- a/Essentials/src/net/ess3/commands/Commandr.java
+++ b/Essentials/src/net/ess3/commands/Commandr.java
@@ -25,7 +25,7 @@ public class Commandr extends EssentialsCommand
if (sender instanceof IUser)
{
- IUser user = getUser(sender);
+ final IUser user = getUser(sender);
if (Permissions.MSG_COLOR.isAuthorized(user))
{
message = FormatUtil.replaceFormat(message);
diff --git a/Essentials/src/net/ess3/commands/Commandrealname.java b/Essentials/src/net/ess3/commands/Commandrealname.java
index 37aecd99f..afbf82cc9 100644
--- a/Essentials/src/net/ess3/commands/Commandrealname.java
+++ b/Essentials/src/net/ess3/commands/Commandrealname.java
@@ -2,8 +2,8 @@ package net.ess3.commands;
import java.util.Locale;
import static net.ess3.I18n._;
-import net.ess3.api.ISettings;
import net.ess3.api.IUser;
+import net.ess3.api.IUserMap;
import net.ess3.utils.FormatUtil;
import org.bukkit.command.CommandSender;
import org.bukkit.entity.Player;
@@ -18,22 +18,23 @@ public class Commandrealname extends EssentialsCommand
{
throw new NotEnoughArgumentsException();
}
- final ISettings settings = ess.getSettings();
final String whois = args[0].toLowerCase(Locale.ENGLISH);
boolean foundUser = false;
- Player player = sender instanceof IUser ? ((IUser)sender).getPlayer() : null;
+ final Player player = sender instanceof IUser ? ((IUser)sender).getPlayer() : null;
+ final IUserMap userMap = ess.getUserMap();
for (Player onlinePlayer : server.getOnlinePlayers())
{
- final IUser u = ess.getUserMap().getUser(onlinePlayer);
+ final IUser u = userMap.getUser(onlinePlayer);
if (player != null && !player.canSee(onlinePlayer))
{
continue;
}
- final String displayName = FormatUtil.stripFormat(u.getPlayer().getDisplayName()).toLowerCase(Locale.ENGLISH);
+ final Player realPlayer = u.getPlayer();
+ final String displayName = FormatUtil.stripFormat(realPlayer.getDisplayName()).toLowerCase(Locale.ENGLISH);
if (displayName.contains(whois))
{
foundUser = true;
- sender.sendMessage(u.getPlayer().getDisplayName() + " " + _("is") + " " + u.getName());
+ sender.sendMessage(realPlayer.getDisplayName() + " " + _("is") + " " + u.getName());
}
}
if (!foundUser)
diff --git a/Essentials/src/net/ess3/commands/Commandrecipe.java b/Essentials/src/net/ess3/commands/Commandrecipe.java
index 667cf23c4..d273bd9cd 100644
--- a/Essentials/src/net/ess3/commands/Commandrecipe.java
+++ b/Essentials/src/net/ess3/commands/Commandrecipe.java
@@ -1,159 +1,157 @@
-package net.ess3.commands;
-
-import static net.ess3.I18n._;
-
-import net.ess3.api.IUser;
-import net.ess3.user.User;
-import net.ess3.utils.Util;
-import org.bukkit.Material;
-import org.bukkit.command.CommandSender;
-import org.bukkit.entity.Player;
-import org.bukkit.inventory.*;
-
-import java.util.HashMap;
-import java.util.List;
-import java.util.Locale;
-import java.util.Map;
-
-public class Commandrecipe extends EssentialsCommand
-{
-
- @Override
- public void run(final CommandSender sender, final String commandLabel, final String[] args) throws Exception
- {
- if (args.length < 1)
- {
- throw new NotEnoughArgumentsException();
- }
- final ItemStack item = ess.getItemDb().get(args[0]);
- final List<Recipe> recipes = ess.getServer().getRecipesFor(item);
- if (recipes.size() < 1)
- {
- throw new Exception(_("recipeNone", getMaterialName(item)));
- }
- int recipeNo = 0;
- if (args.length > 1)
- {
- if (Util.isInt(args[1]))
- {
- recipeNo = Integer.parseInt(args[1]) - 1;
- }
- else
- {
- throw new Exception(_("invalidNumber"));
- }
- }
- if (recipeNo < 0 || recipeNo >= recipes.size())
- {
- throw new Exception(_("recipeBadIndex"));
- }
- final Recipe recipe = recipes.get(recipeNo);
- sender.sendMessage(_("recipe", getMaterialName(item), recipeNo + 1, recipes.size()));
- if (recipe instanceof FurnaceRecipe)
- {
- furnaceRecipe(sender, (FurnaceRecipe) recipe);
- }
- else if (recipe instanceof ShapedRecipe)
- {
- shapedRecipe(sender, (ShapedRecipe) recipe);
- }
- else if (recipe instanceof ShapelessRecipe)
- {
- shapelessRecipe(sender, (ShapelessRecipe) recipe);
- }
- if (recipes.size() > 1 && args.length == 1)
- {
- sender.sendMessage(_("recipeMore", commandLabel, args[0], getMaterialName(item)));
- }
- }
-
- public void furnaceRecipe(CommandSender sender, FurnaceRecipe recipe)
- {
- sender.sendMessage(_("recipeFurnace", getMaterialName(recipe.getInput())));
- }
-
- public void shapedRecipe(CommandSender sender, ShapedRecipe recipe)
- {
- Map<Character, ItemStack> recipeMap = recipe.getIngredientMap();
- if (sender instanceof IUser)
- {
- IUser user = getUser(sender);
- user.setRecipeSee(true);
- InventoryView view = user.getPlayer().openWorkbench(null, true);
- for (Map.Entry<Character, ItemStack> e : recipe.getIngredientMap().entrySet())
- {
- view.setItem(" abcdefghi".indexOf(e.getKey()), e.getValue());
- }
- }
- else
- {
- HashMap<ItemStack, String> colorMap = new HashMap<ItemStack, String>();
- int i = 1;
- for (Character c : "abcdefghi".toCharArray())
- {
- if (!colorMap.containsKey(recipeMap.get(c)))
- {
- colorMap.put(recipeMap.get(c), String.valueOf(i++));
- }
- }
- sender.sendMessage(_("recipeGrid", colorMap.get(recipeMap.get('a')), colorMap.get(recipeMap.get('b')), colorMap.get(recipeMap.get('c'))));
- sender.sendMessage(_("recipeGrid", colorMap.get(recipeMap.get('d')), colorMap.get(recipeMap.get('e')), colorMap.get(recipeMap.get('f'))));
- sender.sendMessage(_("recipeGrid", colorMap.get(recipeMap.get('g')), colorMap.get(recipeMap.get('h')), colorMap.get(recipeMap.get('i'))));
-
- StringBuilder s = new StringBuilder();
- for (ItemStack items : colorMap.keySet().toArray(new ItemStack[colorMap.size()]))
- {
- s.append(_("recipeGridItem", colorMap.get(items), getMaterialName(items)));
- }
- sender.sendMessage(_("recipeWhere", s.toString()));
- }
- }
-
- public void shapelessRecipe(CommandSender sender, ShapelessRecipe recipe)
- {
- List<ItemStack> ingredients = recipe.getIngredientList();
- if (sender instanceof IUser)
- {
- IUser user = getUser(sender);
- user.setRecipeSee(true);
- InventoryView view = user.getPlayer().openWorkbench(null, true);
- for (int i = 0; i < ingredients.size(); i++)
- {
- view.setItem(i + 1, ingredients.get(i));
- }
- }
- else
- {
- ess.getLogger().info(sender.getClass().getName());
- StringBuilder s = new StringBuilder();
- for (int i = 0; i < ingredients.size(); i++)
- {
- s.append(getMaterialName(ingredients.get(i)));
- if (i != ingredients.size() - 1)
- {
- s.append(",");
- }
- s.append(" ");
- }
- sender.sendMessage(_("recipeShapeless", s.toString()));
- }
- }
-
- public String getMaterialName(ItemStack stack)
- {
- if (stack == null)
- {
- return _("recipeNothing");
- }
- return getMaterialName(stack.getType());
- }
-
- public String getMaterialName(Material type)
- {
- if (type == null)
- {
- return _("recipeNothing");
- }
- return type.toString().replace("_", " ").toLowerCase(Locale.ENGLISH);
- }
+package net.ess3.commands;
+
+import static net.ess3.I18n._;
+
+import net.ess3.api.IUser;
+import net.ess3.utils.Util;
+import org.bukkit.Material;
+import org.bukkit.command.CommandSender;
+import org.bukkit.inventory.*;
+
+import java.util.HashMap;
+import java.util.List;
+import java.util.Locale;
+import java.util.Map;
+
+public class Commandrecipe extends EssentialsCommand
+{
+
+ @Override
+ public void run(final CommandSender sender, final String commandLabel, final String[] args) throws Exception
+ {
+ if (args.length < 1)
+ {
+ throw new NotEnoughArgumentsException();
+ }
+ final ItemStack item = ess.getItemDb().get(args[0]);
+ final List<Recipe> recipes = ess.getServer().getRecipesFor(item);
+ if (recipes.size() < 1)
+ {
+ throw new Exception(_("recipeNone", getMaterialName(item)));
+ }
+ int recipeNo = 0;
+ if (args.length > 1)
+ {
+ if (Util.isInt(args[1]))
+ {
+ recipeNo = Integer.parseInt(args[1]) - 1;
+ }
+ else
+ {
+ throw new Exception(_("invalidNumber"));
+ }
+ }
+ if (recipeNo < 0 || recipeNo >= recipes.size())
+ {
+ throw new Exception(_("recipeBadIndex"));
+ }
+ final Recipe recipe = recipes.get(recipeNo);
+ sender.sendMessage(_("recipe", getMaterialName(item), recipeNo + 1, recipes.size()));
+ if (recipe instanceof FurnaceRecipe)
+ {
+ furnaceRecipe(sender, (FurnaceRecipe) recipe);
+ }
+ else if (recipe instanceof ShapedRecipe)
+ {
+ shapedRecipe(sender, (ShapedRecipe) recipe);
+ }
+ else if (recipe instanceof ShapelessRecipe)
+ {
+ shapelessRecipe(sender, (ShapelessRecipe) recipe);
+ }
+ if (recipes.size() > 1 && args.length == 1)
+ {
+ sender.sendMessage(_("recipeMore", commandLabel, args[0], getMaterialName(item)));
+ }
+ }
+
+ public void furnaceRecipe(CommandSender sender, FurnaceRecipe recipe)
+ {
+ sender.sendMessage(_("recipeFurnace", getMaterialName(recipe.getInput())));
+ }
+
+ public void shapedRecipe(CommandSender sender, ShapedRecipe recipe)
+ {
+ final Map<Character, ItemStack> recipeMap = recipe.getIngredientMap();
+ if (sender instanceof IUser)
+ {
+ final IUser user = getUser(sender);
+ user.setRecipeSee(true);
+ final InventoryView view = user.getPlayer().openWorkbench(null, true);
+ for (Map.Entry<Character, ItemStack> e : recipe.getIngredientMap().entrySet())
+ {
+ view.setItem(" abcdefghi".indexOf(e.getKey()), e.getValue());
+ }
+ }
+ else
+ {
+ final HashMap<ItemStack, String> colorMap = new HashMap<ItemStack, String>();
+ int i = 1;
+ for (Character c : "abcdefghi".toCharArray()) // TODO: Faster to use new char[] { 'a','b','c','d','e','f','g','h','i' } ?
+ {
+ if (!colorMap.containsKey(recipeMap.get(c)))
+ {
+ colorMap.put(recipeMap.get(c), String.valueOf(i++));
+ }
+ }
+ sender.sendMessage(_("recipeGrid", colorMap.get(recipeMap.get('a')), colorMap.get(recipeMap.get('b')), colorMap.get(recipeMap.get('c'))));
+ sender.sendMessage(_("recipeGrid", colorMap.get(recipeMap.get('d')), colorMap.get(recipeMap.get('e')), colorMap.get(recipeMap.get('f'))));
+ sender.sendMessage(_("recipeGrid", colorMap.get(recipeMap.get('g')), colorMap.get(recipeMap.get('h')), colorMap.get(recipeMap.get('i'))));
+
+ final StringBuilder s = new StringBuilder();
+ for (ItemStack items : colorMap.keySet().toArray(new ItemStack[colorMap.size()]))
+ {
+ s.append(_("recipeGridItem", colorMap.get(items), getMaterialName(items)));
+ }
+ sender.sendMessage(_("recipeWhere", s.toString()));
+ }
+ }
+
+ public void shapelessRecipe(CommandSender sender, ShapelessRecipe recipe)
+ {
+ final List<ItemStack> ingredients = recipe.getIngredientList();
+ if (sender instanceof IUser)
+ {
+ final IUser user = getUser(sender);
+ user.setRecipeSee(true);
+ final InventoryView view = user.getPlayer().openWorkbench(null, true);
+ for (int i = 0; i < ingredients.size(); i++)
+ {
+ view.setItem(i + 1, ingredients.get(i));
+ }
+ }
+ else
+ {
+ ess.getLogger().info(sender.getClass().getName());
+ final StringBuilder s = new StringBuilder();
+ for (int i = 0; i < ingredients.size(); i++)
+ {
+ s.append(getMaterialName(ingredients.get(i)));
+ if (i != ingredients.size() - 1)
+ {
+ s.append(",");
+ }
+ s.append(" ");
+ }
+ sender.sendMessage(_("recipeShapeless", s.toString()));
+ }
+ }
+
+ public String getMaterialName(ItemStack stack)
+ {
+ if (stack == null)
+ {
+ return _("recipeNothing");
+ }
+ return getMaterialName(stack.getType());
+ }
+
+ public String getMaterialName(Material type)
+ {
+ if (type == null)
+ {
+ return _("recipeNothing");
+ }
+ return type.toString().replace("_", " ").toLowerCase(Locale.ENGLISH);
+ }
} \ No newline at end of file
diff --git a/Essentials/src/net/ess3/commands/Commandremove.java b/Essentials/src/net/ess3/commands/Commandremove.java
index 02cbd16a1..746249396 100644
--- a/Essentials/src/net/ess3/commands/Commandremove.java
+++ b/Essentials/src/net/ess3/commands/Commandremove.java
@@ -28,7 +28,7 @@ public class Commandremove extends EssentialsCommand
{
throw new NotEnoughArgumentsException();
}
- ToRemove toRemove;
+ final ToRemove toRemove;
final World world = user.getPlayer().getWorld();
int radius = 0;
@@ -63,14 +63,13 @@ public class Commandremove extends EssentialsCommand
{
throw new NotEnoughArgumentsException();
}
- World world;
- world = ess.getWorld(args[1]);
+ final World world = ess.getWorld(args[1]);
if (world == null)
{
throw new Exception(_("invalidWorld"));
}
- ToRemove toRemove;
+ final ToRemove toRemove;
try
{
toRemove = ToRemove.valueOf(args[0].toUpperCase(Locale.ENGLISH));
@@ -89,6 +88,7 @@ public class Commandremove extends EssentialsCommand
{
radius *= radius;
}
+
for (Chunk chunk : world.getLoadedChunks())
{
for (Entity e : chunk.getEntities())
@@ -100,54 +100,51 @@ public class Commandremove extends EssentialsCommand
continue;
}
}
- if (toRemove == ToRemove.DROPS)
- {
- if (e instanceof Item)
- {
- e.remove();
- removed++;
- }
- }
- else if (toRemove == ToRemove.ARROWS)
- {
- if (e instanceof Projectile)
- {
- e.remove();
- removed++;
- }
- }
- else if (toRemove == ToRemove.BOATS)
- {
- if (e instanceof Boat)
- {
- e.remove();
- removed++;
- }
- }
- else if (toRemove == ToRemove.MINECARTS)
- {
- if (e instanceof Minecart)
- {
- e.remove();
- removed++;
- }
- }
- else if (toRemove == ToRemove.XP)
- {
- if (e instanceof ExperienceOrb)
- {
- e.remove();
- removed++;
- }
- }
- else if (toRemove == ToRemove.PAINTINGS)
- {
- if (e instanceof Painting)
- {
- e.remove();
- removed++;
- }
+ switch (toRemove) {
+ case DROPS:
+ if (e instanceof Item)
+ {
+ e.remove();
+ removed++;
+ }
+ break;
+ case ARROWS:
+ if (e instanceof Projectile)
+ {
+ e.remove();
+ removed++;
+ }
+ break;
+ case BOATS:
+ if (e instanceof Boat)
+ {
+ e.remove();
+ removed++;
+ }
+ break;
+ case MINECARTS:
+ if (e instanceof Minecart)
+ {
+ e.remove();
+ removed++;
+ }
+ break;
+ case PAINTINGS:
+ if (e instanceof Painting)
+ {
+ e.remove();
+ removed++;
+ }
+ break;
+ case XP:
+ if (e instanceof ExperienceOrb)
+ {
+ e.remove();
+ removed++;
+ }
+ break;
}
+
}
}
sender.sendMessage(_("removed", removed));
diff --git a/Essentials/src/net/ess3/commands/Commandseen.java b/Essentials/src/net/ess3/commands/Commandseen.java
index 58954c89e..efb5357a0 100644
--- a/Essentials/src/net/ess3/commands/Commandseen.java
+++ b/Essentials/src/net/ess3/commands/Commandseen.java
@@ -30,12 +30,12 @@ public class Commandseen extends EssentialsCommand
}
try
{
- IUser u = ess.getUserMap().matchUserExcludingHidden(args[0], getPlayerOrNull(sender));
+ final IUser u = ess.getUserMap().matchUserExcludingHidden(args[0], getPlayerOrNull(sender));
sender.sendMessage(_("seenOnline", u.getPlayer().getDisplayName(), DateUtil.formatDateDiff(u.getTimestamp(TimestampType.LOGIN))));
}
catch (PlayerNotFoundException e)
{
- IUser u = ess.getUserMap().matchUser(args[0], true);
+ final IUser u = ess.getUserMap().matchUser(args[0], true);
sender.sendMessage(_("seenOffline", u.getName(), DateUtil.formatDateDiff(u.getTimestamp(TimestampType.LOGOUT))));
if (u.isBanned())
{
diff --git a/Essentials/src/net/ess3/commands/Commandsell.java b/Essentials/src/net/ess3/commands/Commandsell.java
index 9b13b0f37..8c3b073f6 100644
--- a/Essentials/src/net/ess3/commands/Commandsell.java
+++ b/Essentials/src/net/ess3/commands/Commandsell.java
@@ -8,6 +8,7 @@ import net.ess3.craftbukkit.InventoryWorkaround;
import net.ess3.economy.Trade;
import net.ess3.utils.FormatUtil;
import org.bukkit.Material;
+import org.bukkit.entity.Player;
import org.bukkit.inventory.ItemStack;
@@ -75,7 +76,6 @@ public class Commandsell extends EssentialsCommand
{
throw new Exception(_("itemSellAir"));
}
- int id = is.getTypeId();
int amount = 0;
if (args.length > 1)
{
@@ -85,8 +85,8 @@ public class Commandsell extends EssentialsCommand
amount = -amount;
}
}
- double worth = ess.getWorth().getPrice(is);
- boolean stack = args.length > 1 && args[1].endsWith("s");
+ final double worth = ess.getWorth().getPrice(is);
+ final boolean stack = args.length > 1 && args[1].endsWith("s");
if (Double.isNaN(worth))
{
@@ -139,15 +139,17 @@ public class Commandsell extends EssentialsCommand
}
}
+ final Player player = user.getPlayer();
+
//TODO: Prices for Enchantments
final ItemStack ris = is.clone();
ris.setAmount(amount);
- InventoryWorkaround.removeItem(user.getPlayer().getInventory(), true, true, ris);
- user.getPlayer().updateInventory();
- Trade.log("Command", "Sell", "Item", user.getName(), new Trade(ris, ess), user.getName(), new Trade(worth * amount, ess), user.getPlayer().getLocation(), ess);
+ InventoryWorkaround.removeItem(player.getInventory(), true, true, ris);
+ player.updateInventory();
+ Trade.log("Command", "Sell", "Item", user.getName(), new Trade(ris, ess), user.getName(), new Trade(worth * amount, ess), player.getLocation(), ess);
user.giveMoney(worth * amount);
user.sendMessage(_("itemSold", FormatUtil.displayCurrency(worth * amount, ess), amount, is.getType().toString().toLowerCase(Locale.ENGLISH), FormatUtil.displayCurrency(worth, ess)));
- logger.log(Level.INFO, _("itemSoldConsole", user.getPlayer().getDisplayName(), is.getType().toString().toLowerCase(Locale.ENGLISH), FormatUtil.displayCurrency(worth * amount, ess), amount, FormatUtil.displayCurrency(worth, ess)));
+ logger.log(Level.INFO, _("itemSoldConsole", player.getDisplayName(), is.getType().toString().toLowerCase(Locale.ENGLISH), FormatUtil.displayCurrency(worth * amount, ess), amount, FormatUtil.displayCurrency(worth, ess)));
}
}
diff --git a/Essentials/src/net/ess3/commands/Commandsetworth.java b/Essentials/src/net/ess3/commands/Commandsetworth.java
index 92de472bc..fca384aa6 100644
--- a/Essentials/src/net/ess3/commands/Commandsetworth.java
+++ b/Essentials/src/net/ess3/commands/Commandsetworth.java
@@ -43,7 +43,7 @@ public class Commandsetworth extends EssentialsCommand
throw new NotEnoughArgumentsException();
}
- ItemStack stack = ess.getItemDb().get(args[0]);
+ final ItemStack stack = ess.getItemDb().get(args[0]);
ess.getWorth().setPrice(stack, Double.parseDouble(args[1]));
sender.sendMessage(_("worthSet"));
}
diff --git a/Essentials/src/net/ess3/commands/Commandspeed.java b/Essentials/src/net/ess3/commands/Commandspeed.java
index ea28ee0b9..a8d59016f 100644
--- a/Essentials/src/net/ess3/commands/Commandspeed.java
+++ b/Essentials/src/net/ess3/commands/Commandspeed.java
@@ -89,7 +89,7 @@ public class Commandspeed extends EssentialsCommand
private boolean isFlyMode(final String modeString) throws NotEnoughArgumentsException
{
- boolean isFlyMode;
+ final boolean isFlyMode;
if (modeString.contains("fly") || modeString.equalsIgnoreCase("f"))
{
isFlyMode = true;
diff --git a/Essentials/src/net/ess3/commands/Commandsudo.java b/Essentials/src/net/ess3/commands/Commandsudo.java
index 3193122fb..fdbc9a07f 100644
--- a/Essentials/src/net/ess3/commands/Commandsudo.java
+++ b/Essentials/src/net/ess3/commands/Commandsudo.java
@@ -3,8 +3,11 @@ package net.ess3.commands;
import static net.ess3.I18n._;
import net.ess3.api.IUser;
import net.ess3.permissions.Permissions;
+
+import org.bukkit.Server;
import org.bukkit.command.CommandSender;
import org.bukkit.command.PluginCommand;
+import org.bukkit.entity.Player;
public class Commandsudo extends EssentialsCommand
@@ -29,14 +32,16 @@ public class Commandsudo extends EssentialsCommand
{
throw new Exception(_("sudoExempt"));
}
-
- sender.sendMessage(_("sudoRun", user.getPlayer().getDisplayName(), command, getFinalArg(arguments, 0)));
-
- ess.getServer().dispatchCommand(user, command);
- final PluginCommand execCommand = ess.getServer().getPluginCommand(command);
+
+ final Player player = user.getPlayer();
+ sender.sendMessage(_("sudoRun", player.getDisplayName(), command, getFinalArg(arguments, 0)));
+
+ final Server server = ess.getServer();
+ server.dispatchCommand(user, command);
+ final PluginCommand execCommand = server.getPluginCommand(command);
if (execCommand != null)
{
- execCommand.execute(user.getPlayer(), command, arguments);
+ execCommand.execute(player, command, arguments);
}
}
diff --git a/Essentials/src/net/ess3/commands/Commandsuicide.java b/Essentials/src/net/ess3/commands/Commandsuicide.java
index b1eb14b30..bc721844e 100644
--- a/Essentials/src/net/ess3/commands/Commandsuicide.java
+++ b/Essentials/src/net/ess3/commands/Commandsuicide.java
@@ -1,6 +1,9 @@
package net.ess3.commands;
import static net.ess3.I18n._;
+
+import org.bukkit.entity.Player;
+
import net.ess3.api.IUser;
@@ -9,9 +12,10 @@ public class Commandsuicide extends EssentialsCommand
@Override
public void run(final IUser user, final String commandLabel, final String[] args) throws Exception
{
- ess.getPlugin().callSuicideEvent(user.getPlayer());
- user.getPlayer().damage(Short.MAX_VALUE);
+ final Player player = user.getPlayer();
+ ess.getPlugin().callSuicideEvent(player);
+ user.getPlayer().damage(player.getHealth());
user.sendMessage(_("suicideMessage"));
- ess.broadcastMessage(user,_("suicideSuccess", user.getPlayer().getDisplayName()));
+ ess.broadcastMessage(user,_("suicideSuccess", player.getDisplayName()));
}
}
diff --git a/Essentials/src/net/ess3/commands/Commandtempban.java b/Essentials/src/net/ess3/commands/Commandtempban.java
index 6fe0118e0..a600e4ca1 100644
--- a/Essentials/src/net/ess3/commands/Commandtempban.java
+++ b/Essentials/src/net/ess3/commands/Commandtempban.java
@@ -5,6 +5,7 @@ import static net.ess3.I18n._;
import net.ess3.api.IUser;
import net.ess3.permissions.Permissions;
import net.ess3.user.Ban;
+import net.ess3.user.UserData;
import net.ess3.utils.DateUtil;
import org.bukkit.command.CommandSender;
import org.bukkit.entity.Player;
@@ -40,9 +41,11 @@ public class Commandtempban extends EssentialsCommand
final long banTimestamp = DateUtil.parseDateDiff(time, true);
final String banReason = _("tempBanned", DateUtil.formatDateDiff(banTimestamp));
- user.getData().setBan(new Ban());
- user.getData().getBan().setReason(banReason);
- user.getData().getBan().setTimeout(banTimestamp);
+ UserData userData = user.getData();
+ userData.setBan(new Ban());
+ Ban ban = userData.getBan();
+ ban.setReason(banReason);
+ ban.setTimeout(banTimestamp);
user.setBanned(true);
user.queueSave();
user.getPlayer().kickPlayer(banReason);
diff --git a/Essentials/src/net/ess3/commands/Commandtime.java b/Essentials/src/net/ess3/commands/Commandtime.java
index 061d94055..68decf47f 100644
--- a/Essentials/src/net/ess3/commands/Commandtime.java
+++ b/Essentials/src/net/ess3/commands/Commandtime.java
@@ -2,7 +2,6 @@ package net.ess3.commands;
import java.util.*;
import static net.ess3.I18n._;
-import net.ess3.api.IUser;
import net.ess3.permissions.Permissions;
import net.ess3.utils.DescParseTickFormat;
import net.ess3.utils.Util;
@@ -51,7 +50,7 @@ public class Commandtime extends EssentialsCommand
}
// Parse the target time int ticks from args[0]
- long ticks;
+ final long ticks;
try
{
ticks = DescParseTickFormat.parse(validArgs[0]);
diff --git a/Essentials/src/net/ess3/commands/Commandtop.java b/Essentials/src/net/ess3/commands/Commandtop.java
index cf0e7b4f1..6aa9f8f06 100644
--- a/Essentials/src/net/ess3/commands/Commandtop.java
+++ b/Essentials/src/net/ess3/commands/Commandtop.java
@@ -4,6 +4,7 @@ import static net.ess3.I18n._;
import net.ess3.api.IUser;
import net.ess3.economy.Trade;
import org.bukkit.Location;
+import org.bukkit.entity.Player;
import org.bukkit.event.player.PlayerTeleportEvent.TeleportCause;
@@ -12,10 +13,12 @@ public class Commandtop extends EssentialsCommand
@Override
public void run(final IUser user, final String commandLabel, final String[] args) throws Exception
{
- final int topX = user.getPlayer().getLocation().getBlockX();
- final int topZ = user.getPlayer().getLocation().getBlockZ();
- final int topY = user.getPlayer().getWorld().getHighestBlockYAt(topX, topZ);
- user.getTeleport().teleport(new Location(user.getPlayer().getWorld(), user.getPlayer().getLocation().getX(), topY + 1, user.getPlayer().getLocation().getZ(), user.getPlayer().getLocation().getYaw(), user.getPlayer().getLocation().getPitch()), new Trade(commandName, ess), TeleportCause.COMMAND);
+ final Player player = user.getPlayer();
+ final Location playerLocation = user.getPlayer().getLocation();
+ final int topX = playerLocation.getBlockX();
+ final int topZ = playerLocation.getBlockZ();
+ final int topY = playerLocation.getWorld().getHighestBlockYAt(topX, topZ);
+ user.getTeleport().teleport(new Location(player.getWorld(), topX, topY + 1, topZ, playerLocation.getYaw(), playerLocation.getPitch()), new Trade(commandName, ess), TeleportCause.COMMAND);
user.sendMessage(_("teleportTop"));
}
}
diff --git a/Essentials/src/net/ess3/commands/Commandwhois.java b/Essentials/src/net/ess3/commands/Commandwhois.java
index 2a431cbd5..4ff6ac381 100644
--- a/Essentials/src/net/ess3/commands/Commandwhois.java
+++ b/Essentials/src/net/ess3/commands/Commandwhois.java
@@ -36,7 +36,7 @@ public class Commandwhois extends EssentialsCommand
}
final String whois = args[0].toLowerCase(Locale.ENGLISH);
- ISettings settings = ess.getSettings();
+ final ISettings settings = ess.getSettings();
final int prefixLength = FormatUtil.stripColor(settings.getData().getChat().getNicknamePrefix()).length();
boolean foundPlayer = false;
for (Player onlinePlayer : server.getOnlinePlayers())
@@ -47,38 +47,40 @@ public class Commandwhois extends EssentialsCommand
{
continue;
}
- final String nickName = FormatUtil.stripFormat(user.getData().getNickname());
+ final UserData userData = user.getData();
+ final String nickName = FormatUtil.stripFormat(userData.getNickname());
if (!whois.equalsIgnoreCase(nickName)
&& !whois.substring(prefixLength).equalsIgnoreCase(nickName)
&& !whois.equalsIgnoreCase(user.getName()))
{
continue;
}
+ final Player player = user.getPlayer();
foundPlayer = true;
sender.sendMessage(_("whoisTop", user.getName()));
- sender.sendMessage(_("whoisIs", user.getPlayer().getDisplayName(), user.getName()));
- sender.sendMessage(_("whoisHealth", user.getPlayer().getHealth()));
- sender.sendMessage(_("whoisExp", SetExpFix.getTotalExperience(user.getPlayer()), user.getPlayer().getLevel()));
- sender.sendMessage(_("whoisLocation", user.getPlayer().getLocation().getWorld().getName(), user.getPlayer().getLocation().getBlockX(), user.getPlayer().getLocation().getBlockY(), user.getPlayer().getLocation().getBlockZ()));
+ sender.sendMessage(_("whoisIs", player.getDisplayName(), user.getName()));
+ sender.sendMessage(_("whoisHealth", player.getHealth()));
+ sender.sendMessage(_("whoisExp", SetExpFix.getTotalExperience(player), player.getLevel()));
+ sender.sendMessage(_("whoisLocation", player.getLocation().getWorld().getName(), player.getLocation().getBlockX(), player.getLocation().getBlockY(), player.getLocation().getBlockZ()));
sender.sendMessage(_("whoisMoney", FormatUtil.displayCurrency(user.getMoney(), ess)));
- sender.sendMessage(_("whoisIPAddress", user.getPlayer().getAddress().getAddress().toString()));
- final String location = user.getData().getGeolocation();
+ sender.sendMessage(_("whoisIPAddress", player.getAddress().getAddress().toString()));
+ final String location = userData.getGeolocation();
if (location != null
&& Permissions.GEOIP_SHOW.isAuthorized(sender))
{
sender.sendMessage(_("whoisGeoLocation", location));
}
- sender.sendMessage(_("whoisGamemode", _(user.getPlayer().getGameMode().toString().toLowerCase(Locale.ENGLISH))));
+ sender.sendMessage(_("whoisGamemode", _(player.getGameMode().toString().toLowerCase(Locale.ENGLISH))));
sender.sendMessage(_("whoisGod", (user.isGodModeEnabled() ? _("true") : _("false"))));
sender.sendMessage(_("whoisOP", (user.isOp() ? _("true") : _("false"))));
- sender.sendMessage(_("whoisFly", user.getPlayer().getAllowFlight() ? _("true") : _("false"), user.getPlayer().isFlying() ? _("flying") : _("notFlying")));
- sender.sendMessage(_("whoisAFK", (user.getData().isAfk() ? _("true") : _("false"))));
- sender.sendMessage(_("whoisJail", (user.getData().isJailed()
+ sender.sendMessage(_("whoisFly", player.getAllowFlight() ? _("true") : _("false"), player.isFlying() ? _("flying") : _("notFlying")));
+ sender.sendMessage(_("whoisAFK", (userData.isAfk() ? _("true") : _("false"))));
+ sender.sendMessage(_("whoisJail", (userData.isJailed()
? user.getTimestamp(UserData.TimestampType.JAIL) > 0
? DateUtil.formatDateDiff(user.getTimestamp(UserData.TimestampType.JAIL))
: _("true")
: _("false"))));
- sender.sendMessage(_("whoisMute", (user.getData().isMuted()
+ sender.sendMessage(_("whoisMute", (userData.isMuted()
? user.getTimestamp(UserData.TimestampType.MUTE) > 0
? DateUtil.formatDateDiff(user.getTimestamp(UserData.TimestampType.MUTE))
: _("true")
diff --git a/Essentials/src/net/ess3/commands/Commandworld.java b/Essentials/src/net/ess3/commands/Commandworld.java
index 38df35673..9a629ef06 100644
--- a/Essentials/src/net/ess3/commands/Commandworld.java
+++ b/Essentials/src/net/ess3/commands/Commandworld.java
@@ -7,6 +7,7 @@ import net.ess3.economy.Trade;
import net.ess3.permissions.Permissions;
import org.bukkit.Location;
import org.bukkit.World;
+import org.bukkit.entity.Player;
import org.bukkit.event.player.PlayerTeleportEvent.TeleportCause;
@@ -56,21 +57,22 @@ public class Commandworld extends EssentialsCommand
throw new NoChargeException();
}
- double factor;
- if (user.getPlayer().getWorld().getEnvironment() == World.Environment.NETHER && world.getEnvironment() == World.Environment.NORMAL)
+ final double factor;
+ final Player player = user.getPlayer();
+ if (player.getWorld().getEnvironment() == World.Environment.NETHER && world.getEnvironment() == World.Environment.NORMAL)
{
- factor = 8.0;
+ factor = 8d;
}
- else if (user.getPlayer().getWorld().getEnvironment() == World.Environment.NORMAL && world.getEnvironment() == World.Environment.NETHER)
+ else if (player.getWorld().getEnvironment() == World.Environment.NORMAL && world.getEnvironment() == World.Environment.NETHER)
{
- factor = 1.0 / 8.0;
+ factor = 1d / 8d;
}
else
{
- factor = 1.0;
+ factor = 1d;
}
- final Location loc = user.getPlayer().getLocation();
+ final Location loc = player.getLocation();
final Location target = new Location(world, loc.getBlockX() * factor + .5, loc.getBlockY(), loc.getBlockZ() * factor + .5);
final Trade charge = new Trade(commandName, ess);
diff --git a/Essentials/src/net/ess3/commands/EssentialsCommandHandler.java b/Essentials/src/net/ess3/commands/EssentialsCommandHandler.java
index fdda25205..9a2296023 100644
--- a/Essentials/src/net/ess3/commands/EssentialsCommandHandler.java
+++ b/Essentials/src/net/ess3/commands/EssentialsCommandHandler.java
@@ -5,6 +5,7 @@ import java.util.logging.Level;
import java.util.logging.Logger;
import static net.ess3.I18n._;
import net.ess3.api.*;
+
import org.bukkit.Bukkit;
import org.bukkit.ChatColor;
import org.bukkit.command.Command;
@@ -20,7 +21,7 @@ public class EssentialsCommandHandler implements ICommandHandler, TabExecutor
{
private final transient ClassLoader classLoader;
private final transient String commandPath;
- private final transient String permissionPrefix;
+ private final transient String permissionPrefix;// TODO: Needed?
private final transient IEssentialsModule module;
private static final transient Logger LOGGER = Bukkit.getLogger();
private final transient Map<String, List<PluginCommand>> altcommands = new HashMap<String, List<PluginCommand>>();
@@ -100,7 +101,7 @@ public class EssentialsCommandHandler implements ICommandHandler, TabExecutor
return true;
}
- final String commandName = command.getName().toLowerCase(Locale.ENGLISH);
+ final String commandName = command.getName().toLowerCase(Locale.ENGLISH); // TODO: Isn't this just the commandLable
IEssentialsCommand cmd = commands.get(commandName);
if (cmd == null)
{
diff --git a/Essentials/src/net/ess3/commands/NoChargeException.java b/Essentials/src/net/ess3/commands/NoChargeException.java
index e3cd20131..99c42225d 100644
--- a/Essentials/src/net/ess3/commands/NoChargeException.java
+++ b/Essentials/src/net/ess3/commands/NoChargeException.java
@@ -3,6 +3,8 @@ package net.ess3.commands;
public class NoChargeException extends Exception
{
+ private static final long serialVersionUID = 5817092912429182826L;
+
public NoChargeException()
{
super("Will charge later");
diff --git a/Essentials/src/net/ess3/commands/NotEnoughArgumentsException.java b/Essentials/src/net/ess3/commands/NotEnoughArgumentsException.java
index 38a2915c7..0025c9e42 100644
--- a/Essentials/src/net/ess3/commands/NotEnoughArgumentsException.java
+++ b/Essentials/src/net/ess3/commands/NotEnoughArgumentsException.java
@@ -3,6 +3,8 @@ package net.ess3.commands;
public class NotEnoughArgumentsException extends Exception
{
+ private static final long serialVersionUID = 4659884540230373059L;
+
public NotEnoughArgumentsException()
{
super("");
diff --git a/Essentials/src/net/ess3/commands/WarpNotFoundException.java b/Essentials/src/net/ess3/commands/WarpNotFoundException.java
index eef5db914..6af389c08 100644
--- a/Essentials/src/net/ess3/commands/WarpNotFoundException.java
+++ b/Essentials/src/net/ess3/commands/WarpNotFoundException.java
@@ -4,6 +4,8 @@ import static net.ess3.I18n._;
public class WarpNotFoundException extends Exception
{
+ private static final long serialVersionUID = 6585692783437952812L;
+
public WarpNotFoundException()
{
super(_("warpNotExist"));
diff --git a/Essentials/src/net/ess3/craftbukkit/FakeInventory.java b/Essentials/src/net/ess3/craftbukkit/FakeInventory.java
index 7db0a1a7b..b00fba745 100644
--- a/Essentials/src/net/ess3/craftbukkit/FakeInventory.java
+++ b/Essentials/src/net/ess3/craftbukkit/FakeInventory.java
@@ -240,4 +240,8 @@ public class FakeInventory implements Inventory
{
throw new UnsupportedOperationException("Not supported yet.");
}
+
+ public boolean containsAtLeast(ItemStack arg0, int arg1) {
+ throw new UnsupportedOperationException("Not supported yet.");
+ }
}
diff --git a/Essentials/src/net/ess3/economy/Trade.java b/Essentials/src/net/ess3/economy/Trade.java
index 380f98af4..3bd6dbc97 100644
--- a/Essentials/src/net/ess3/economy/Trade.java
+++ b/Essentials/src/net/ess3/economy/Trade.java
@@ -81,11 +81,8 @@ public class Trade
}
- final ISettings settings = ess.getSettings();
-
- double money;
if (command != null && !command.isEmpty()
- && 0 < (money = getCommandCost(user))
+ && 0 < getCommandCost(user)
&& !Permissions.ECO_LOAN.isAuthorized(user))
{
throw new ChargeException(_("notEnoughMoney"));
@@ -240,7 +237,7 @@ public class Trade
Logger.getLogger("Minecraft").log(Level.SEVERE, null, ex);
}
}
- StringBuilder sb = new StringBuilder();
+ final StringBuilder sb = new StringBuilder();
sb.append(type).append(",").append(subtype).append(",").append(event).append(",\"");
sb.append(DateFormat.getDateTimeInstance(DateFormat.FULL, DateFormat.FULL).format(new Date()));
sb.append("\",\"");
@@ -288,9 +285,10 @@ public class Trade
{
if (pay.getItemStack() != null)
{
- sb.append(pay.getItemStack().getAmount()).append(",");
- sb.append(pay.getItemStack().getType().toString()).append(",");
- sb.append(pay.getItemStack().getDurability());
+ ItemStack is = pay.getItemStack();
+ sb.append(is.getAmount()).append(",");
+ sb.append(is.getType().toString()).append(",");
+ sb.append(is.getDurability());
}
if (pay.getMoney() != null)
{
diff --git a/Essentials/src/net/ess3/economy/WorthHolder.java b/Essentials/src/net/ess3/economy/WorthHolder.java
index 3fb8f57fd..6be2932d4 100644
--- a/Essentials/src/net/ess3/economy/WorthHolder.java
+++ b/Essentials/src/net/ess3/economy/WorthHolder.java
@@ -1,7 +1,6 @@
package net.ess3.economy;
import java.io.File;
-import java.io.IOException;
import java.util.Map;
import net.ess3.api.IEssentials;
import net.ess3.api.IWorth;
diff --git a/Essentials/src/net/ess3/listener/EssentialsBlockListener.java b/Essentials/src/net/ess3/listener/EssentialsBlockListener.java
index 61e9c5b25..6846f0eea 100644
--- a/Essentials/src/net/ess3/listener/EssentialsBlockListener.java
+++ b/Essentials/src/net/ess3/listener/EssentialsBlockListener.java
@@ -3,8 +3,11 @@ package net.ess3.listener;
import net.ess3.api.IEssentials;
import net.ess3.api.IUser;
import net.ess3.bukkit.BukkitMaterial;
+import net.ess3.craftbukkit.InventoryWorkaround;
+
import org.bukkit.GameMode;
import org.bukkit.block.Block;
+import org.bukkit.entity.Player;
import org.bukkit.event.EventHandler;
import org.bukkit.event.EventPriority;
import org.bukkit.event.Listener;
@@ -32,11 +35,11 @@ public class EssentialsBlockListener implements Listener
return;
}
-
- final IUser user = ess.getUserMap().getUser(event.getPlayer());
+ final Player player = event.getPlayer();
+ final IUser user = ess.getUserMap().getUser(player);
final boolean unlimitedForUser = user.getData().hasUnlimited(itemstack.getType());
- if (unlimitedForUser && user.getPlayer().getGameMode() != GameMode.CREATIVE)
+ if (unlimitedForUser && player.getGameMode() != GameMode.CREATIVE)
{
ess.getPlugin().scheduleSyncDelayedTask(
new Runnable()
@@ -44,8 +47,8 @@ public class EssentialsBlockListener implements Listener
@Override
public void run()
{
- user.getPlayer().getInventory().addItem(itemstack);
- user.getPlayer().updateInventory();
+ player.getInventory().addItem(itemstack);
+ player.updateInventory();
}
});
}
diff --git a/Essentials/src/net/ess3/listener/EssentialsEntityListener.java b/Essentials/src/net/ess3/listener/EssentialsEntityListener.java
index 7036bf451..ddf5955f0 100644
--- a/Essentials/src/net/ess3/listener/EssentialsEntityListener.java
+++ b/Essentials/src/net/ess3/listener/EssentialsEntityListener.java
@@ -6,7 +6,6 @@ import net.ess3.api.IEssentials;
import net.ess3.api.ISettings;
import net.ess3.api.IUser;
import net.ess3.permissions.Permissions;
-import net.ess3.user.User;
import net.ess3.user.UserData.TimestampType;
import org.bukkit.Material;
import org.bukkit.entity.Ageable;
@@ -102,19 +101,22 @@ public class EssentialsEntityListener implements Listener
@EventHandler(priority = EventPriority.LOW, ignoreCancelled = true)
public void onEntityDamage(final EntityDamageEvent event)
{
- if (event.getEntity() instanceof Player && ess.getUserMap().getUser((Player)event.getEntity()).isGodModeEnabled())
- {
- final Player player = (Player)event.getEntity();
- player.setFireTicks(0);
- player.setRemainingAir(player.getMaximumAir());
- event.setCancelled(true);
+ final Entity entity = event.getEntity();
+ if (entity instanceof Player) {
+ final Player player = (Player)entity;
+ if (ess.getUserMap().getUser(player).isGodModeEnabled()) {
+ player.setFireTicks(0);
+ player.setRemainingAir(player.getMaximumAir());
+ event.setCancelled(true);
+ }
}
}
@EventHandler(priority = EventPriority.LOW, ignoreCancelled = true)
public void onEntityCombust(final EntityCombustEvent event)
{
- if (event.getEntity() instanceof Player && ess.getUserMap().getUser((Player)event.getEntity()).isGodModeEnabled())
+ final Entity entity = event.getEntity();
+ if (entity instanceof Player && ess.getUserMap().getUser((Player)entity).isGodModeEnabled())
{
event.setCancelled(true);
}
@@ -151,7 +153,8 @@ public class EssentialsEntityListener implements Listener
@EventHandler(priority = EventPriority.LOW, ignoreCancelled = true)
public void onFoodLevelChange(final FoodLevelChangeEvent event)
{
- if (event.getEntity() instanceof Player && ess.getUserMap().getUser((Player)event.getEntity()).isGodModeEnabled())
+ final Entity entity = event.getEntity();
+ if (entity instanceof Player && ess.getUserMap().getUser((Player)entity).isGodModeEnabled())
{
event.setCancelled(true);
}
@@ -201,7 +204,7 @@ public class EssentialsEntityListener implements Listener
{
if (entity instanceof Player)
{
- IUser user = ess.getUserMap().getUser((Player)entity);
+ final IUser user = ess.getUserMap().getUser((Player)entity);
if (user.isGodModeEnabled())
{
event.setIntensity(entity, 0d);
diff --git a/Essentials/src/net/ess3/listener/EssentialsPlayerListener.java b/Essentials/src/net/ess3/listener/EssentialsPlayerListener.java
index de737a79c..52c3150fd 100644
--- a/Essentials/src/net/ess3/listener/EssentialsPlayerListener.java
+++ b/Essentials/src/net/ess3/listener/EssentialsPlayerListener.java
@@ -1,7 +1,6 @@
package net.ess3.listener;
import java.io.IOException;
-import java.util.Arrays;
import java.util.Iterator;
import java.util.List;
import java.util.Locale;
@@ -12,16 +11,13 @@ import static net.ess3.I18n._;
import net.ess3.api.IEssentials;
import net.ess3.api.ISettings;
import net.ess3.api.IUser;
+import net.ess3.api.IUserMap;
import net.ess3.permissions.Permissions;
+import net.ess3.settings.Commands;
import net.ess3.user.UserData.TimestampType;
import net.ess3.utils.FormatUtil;
import net.ess3.utils.LocationUtil;
-import net.ess3.utils.textreader.IText;
-import net.ess3.utils.textreader.KeywordReplacer;
-import net.ess3.utils.textreader.SimpleTextInput;
-import net.ess3.utils.textreader.SimpleTextPager;
-import net.ess3.utils.textreader.TextInput;
-import net.ess3.utils.textreader.TextPager;
+import net.ess3.utils.textreader.*;
import org.bukkit.Location;
import org.bukkit.Material;
import org.bukkit.Server;
@@ -29,9 +25,7 @@ import org.bukkit.entity.Player;
import org.bukkit.event.EventHandler;
import org.bukkit.event.EventPriority;
import org.bukkit.event.Listener;
-import org.bukkit.event.inventory.InventoryClickEvent;
-import org.bukkit.event.inventory.InventoryCloseEvent;
-import org.bukkit.event.inventory.InventoryType;
+import org.bukkit.event.inventory.*;
import org.bukkit.event.player.*;
import org.bukkit.event.player.PlayerLoginEvent.Result;
import org.bukkit.event.player.PlayerTeleportEvent.TeleportCause;
@@ -44,26 +38,28 @@ public class EssentialsPlayerListener implements Listener
private static final Logger LOGGER = Logger.getLogger("Minecraft");
private final transient Server server;
private final transient IEssentials ess;
-
+ private final transient IUserMap userMap;
+
public EssentialsPlayerListener(final IEssentials parent)
{
super();
this.ess = parent;
+ userMap = ess.getUserMap();
this.server = parent.getServer();
}
@EventHandler(priority = EventPriority.NORMAL)
public void onPlayerRespawn(final PlayerRespawnEvent event)
{
- final IUser user = ess.getUserMap().getUser(event.getPlayer());
+ final IUser user = userMap.getUser(event.getPlayer());
user.updateCompass();
user.updateDisplayName();
}
@EventHandler(priority = EventPriority.LOWEST)
- public void onPlayerChat(final PlayerChatEvent event)
+ public void onPlayerChat(final AsyncPlayerChatEvent event) // TODO: Does this update work?
{
- final IUser user = ess.getUserMap().getUser(event.getPlayer());
+ final IUser user = userMap.getUser(event.getPlayer());
if (user.getData().isMuted())
{
event.setCancelled(true);
@@ -73,20 +69,20 @@ public class EssentialsPlayerListener implements Listener
final Iterator<Player> it = event.getRecipients().iterator();
while (it.hasNext())
{
- final IUser player = ess.getUserMap().getUser(it.next());
- if (player.isIgnoringPlayer(user))
+ final IUser u = userMap.getUser(it.next());
+ if (u.getData().getIgnore().contains(user.getName()))
{
it.remove();
}
}
user.updateActivity(true);
- user.updateDisplayName();
+ user.setDisplayNick();
}
@EventHandler(priority = EventPriority.HIGH, ignoreCancelled = true)
public void onPlayerMove(final PlayerMoveEvent event)
{
- final IUser user = ess.getUserMap().getUser(event.getPlayer());
+ final IUser user = userMap.getUser(event.getPlayer());
final ISettings settings = ess.getSettings();
@@ -121,7 +117,7 @@ public class EssentialsPlayerListener implements Listener
final String quitMessage = ess.getSettings().getData().getGeneral().getLeaveMessage();
if (quitMessage != null)
{
- final IText itOutput = new KeywordReplacer(new SimpleTextInput(quitMessage), ess.getUserMap().getUser(event.getPlayer()), ess);
+ final IText itOutput = new KeywordReplacer(new SimpleTextInput(quitMessage), userMap.getUser(event.getPlayer()), ess);
final SimpleTextPager stPager = new SimpleTextPager(itOutput);
event.setQuitMessage(FormatUtil.replaceFormat(stPager.getString(0)));
}
@@ -131,7 +127,7 @@ public class EssentialsPlayerListener implements Listener
}
- final IUser user = ess.getUserMap().getUser(event.getPlayer());
+ final IUser user = userMap.getUser(event.getPlayer());
final ISettings settings = ess.getSettings();
if (settings.getData().getCommands().getGod().isRemoveOnDisconnect() && user.isGodModeEnabled())
@@ -160,6 +156,15 @@ public class EssentialsPlayerListener implements Listener
@EventHandler(priority = EventPriority.MONITOR)
public void onPlayerJoin(final PlayerJoinEvent event)
{
+ ess.getPlugin().scheduleAsyncDelayedTask(new Runnable()
+ {
+ @Override
+ public void run()
+ {
+ delayedJoin(event.getPlayer());
+ }
+ });
+/* TODO: Make sure my update is good
if (!event.getPlayer().isOnline())
{
return;
@@ -235,9 +240,89 @@ public class EssentialsPlayerListener implements Listener
{
user.sendMessage(_("youHaveNewMail", mail.size()));
}
+ }*/
+ }
+
+ public void delayedJoin(final Player player)
+ {
+ if (!player.isOnline())
+ {
+ return;
+ }
+ ess.getBackup().startTask();
+ final IUser user = userMap.getUser(player);
+ user.setDisplayNick();
+ user.updateCompass();
+ user.getData().setTimestamp(TimestampType.LOGIN, System.currentTimeMillis());
+ user.updateActivity(false);
+
+ if (!ess.getVanishedPlayers().isEmpty() && !Permissions.VANISH_SEE_OTHERS.isAuthorized(user))
+ {
+ for (String p : ess.getVanishedPlayers())
+ {
+ final Player toVanish = userMap.getUser(p).getPlayer();
+ if (toVanish.isOnline())
+ {
+ user.setVanished(true);
+ }
+ }
+ }
+
+ if (Permissions.SLEEPINGIGNORED.isAuthorized(user))
+ {
+ ess.getPlugin().scheduleSyncDelayedTask(new Runnable()
+ {
+ @Override
+ public void run()
+ {
+ user.getPlayer().setSleepingIgnored(true);
+ }
+ });
+ }
+
+ final Commands settings = ess.getSettings().getData().getCommands();
+
+ if (!settings.isDisabled("motd") && Permissions.MOTD.isAuthorized(user))
+ {
+ try
+ {
+ final IText input = new TextInput(user, "motd", true, ess);
+ final IText output = new KeywordReplacer(input, user, ess);
+ final TextPager pager = new TextPager(output, true);
+ pager.showPage("1", null, "motd", user);
+ }
+ catch (IOException ex)
+ {
+ if (ess.getSettings().isDebug())
+ {
+ LOGGER.log(Level.WARNING, ex.getMessage(), ex);
+ }
+ else
+ {
+ LOGGER.log(Level.WARNING, ex.getMessage());
+ }
+ }
+ }
+
+ if (!settings.isDisabled("mail") && Permissions.MAIL.isAuthorized(user))
+ {
+ final List<String> mail = user.getMails();
+ if (mail.isEmpty())
+ {
+ final String msg = _("noNewMail");
+ if (!msg.isEmpty())
+ {
+ user.sendMessage(msg);
+ }
+ }
+ else
+ {
+ user.sendMessage(_("youHaveNewMail", mail.size()));
+ }
}
}
+
@EventHandler(priority = EventPriority.HIGH)
public void onPlayerLogin(final PlayerLoginEvent event)
{
@@ -251,9 +336,9 @@ public class EssentialsPlayerListener implements Listener
return;
}
- ess.getUserMap().addPrejoinedPlayer(event.getPlayer());
- final IUser user = ess.getUserMap().getUser(event.getPlayer());
- ess.getUserMap().removePrejoinedPlayer(event.getPlayer());
+ userMap.addPrejoinedPlayer(event.getPlayer());
+ final IUser user = userMap.getUser(event.getPlayer());
+ userMap.removePrejoinedPlayer(event.getPlayer());
user.getData().setNpc(false);
final long currentTime = System.currentTimeMillis();
@@ -288,7 +373,7 @@ public class EssentialsPlayerListener implements Listener
//There is TeleportCause.COMMMAND but plugins have to actively pass the cause in on their teleports.
if ((event.getCause() == TeleportCause.PLUGIN || event.getCause() == TeleportCause.COMMAND) && settings.getData().getCommands().getBack().isRegisterBackInListener())
{
- final IUser user = ess.getUserMap().getUser(event.getPlayer());
+ final IUser user = userMap.getUser(event.getPlayer());
user.setLastLocation();
}
@@ -298,7 +383,7 @@ public class EssentialsPlayerListener implements Listener
public void onPlayerEggThrow(final PlayerEggThrowEvent event)
{
- final IUser user = ess.getUserMap().getUser(event.getPlayer());
+ final IUser user = userMap.getUser(event.getPlayer());
final ItemStack hand = new ItemStack(Material.EGG, 1);
if (user.getData().hasUnlimited(hand.getType()))
{
@@ -311,7 +396,7 @@ public class EssentialsPlayerListener implements Listener
public void onPlayerBucketEmpty(final PlayerBucketEmptyEvent event)
{
- final IUser user = ess.getUserMap().getUser(event.getPlayer());
+ final IUser user = userMap.getUser(event.getPlayer());
if (user.getData().hasUnlimited(event.getBucket()))
{
event.getItemStack().setType(event.getBucket());
@@ -330,13 +415,13 @@ public class EssentialsPlayerListener implements Listener
@EventHandler(priority = EventPriority.MONITOR, ignoreCancelled = true)
public void onPlayerCommandPreprocess(final PlayerCommandPreprocessEvent event)
{
- final IUser user = ess.getUserMap().getUser(event.getPlayer());
+ final IUser user = userMap.getUser(event.getPlayer());
final String cmd = spaceSplit.split(event.getMessage().toLowerCase(Locale.ENGLISH))[0].replace("/", "").toLowerCase(Locale.ENGLISH);
if (ess.getSettings().getData().getCommands().getSocialspy().getSocialspyCommands().contains(cmd))
{
for (Player player : ess.getServer().getOnlinePlayers())
{
- IUser spyer = ess.getUserMap().getUser(player);
+ IUser spyer = userMap.getUser(player);
if (spyer.getData().isSocialspy() && !user.equals(spyer))
{
player.sendMessage(user.getPlayer().getDisplayName() + " : " + event.getMessage());
@@ -354,7 +439,7 @@ public class EssentialsPlayerListener implements Listener
{
final ISettings settings = ess.getSettings();
- final IUser user = ess.getUserMap().getUser(event.getPlayer());
+ final IUser user = userMap.getUser(event.getPlayer());
if (settings.getData().getChat().getChangeDisplayname())
{
user.updateDisplayName();
@@ -385,7 +470,7 @@ public class EssentialsPlayerListener implements Listener
@EventHandler(priority = EventPriority.NORMAL)
public void onPlayerInteract(final PlayerInteractEvent event)
{
- final IUser user = ess.getUserMap().getUser(event.getPlayer());
+ final IUser user = userMap.getUser(event.getPlayer());
user.updateActivity(true);
switch (event.getAction())
{
@@ -419,8 +504,7 @@ public class EssentialsPlayerListener implements Listener
private boolean usePowertools(final IUser user)
{
final ItemStack is = user.getPlayer().getItemInHand();
- int id;
- if (is == null || (id = is.getTypeId()) == 0)
+ if (is == null || is.getTypeId() == 0)
{
return false;
}
@@ -470,7 +554,7 @@ public class EssentialsPlayerListener implements Listener
return;
}
- final IUser user = ess.getUserMap().getUser(event.getPlayer());
+ final IUser user = userMap.getUser(event.getPlayer());
if (user.getData().isAfk())
{
event.setCancelled(true);
@@ -482,11 +566,11 @@ public class EssentialsPlayerListener implements Listener
{
if (event.getView().getTopInventory().getType() == InventoryType.PLAYER)
{
- final IUser user = ess.getUserMap().getUser((Player)event.getWhoClicked());
+ final IUser user = userMap.getUser((Player)event.getWhoClicked());
final InventoryHolder invHolder = event.getView().getTopInventory().getHolder();
if (invHolder != null && invHolder instanceof Player)
{
- final IUser invOwner = ess.getUserMap().getUser((Player)invHolder);
+ final IUser invOwner = userMap.getUser((Player)invHolder);
if (user.isInvSee() && (!Permissions.INVSEE_MODIFY.isAuthorized(user)
|| Permissions.INVSEE_PREVENT_MODIFY.isAuthorized(invOwner)
|| !invOwner.isOnline()))
@@ -497,7 +581,7 @@ public class EssentialsPlayerListener implements Listener
}
if (event.getView().getTopInventory().getType() == InventoryType.WORKBENCH)
{
- final IUser user = ess.getUserMap().getUser((Player)event.getWhoClicked());
+ final IUser user = userMap.getUser((Player)event.getWhoClicked());
if(user.isRecipeSee())
{
event.setCancelled(true);
@@ -510,12 +594,12 @@ public class EssentialsPlayerListener implements Listener
{
if (event.getView().getTopInventory().getType() == InventoryType.PLAYER)
{
- final IUser user = ess.getUserMap().getUser((Player)event.getPlayer());
+ final IUser user = userMap.getUser((Player)event.getPlayer());
user.setInvSee(false);
}
else if (event.getView().getTopInventory().getType() == InventoryType.WORKBENCH)
{
- final IUser user = ess.getUserMap().getUser((Player)event.getPlayer());
+ final IUser user = userMap.getUser((Player)event.getPlayer());
if (user.isRecipeSee())
{
user.setRecipeSee(false);
@@ -527,7 +611,7 @@ public class EssentialsPlayerListener implements Listener
@EventHandler(priority = EventPriority.LOW, ignoreCancelled = true)
public void onPlayerFishEvent(final PlayerFishEvent event)
{
- final IUser user = ess.getUserMap().getUser((Player)event.getPlayer());
+ final IUser user = userMap.getUser((Player)event.getPlayer());
user.updateActivity(true);
}
}
diff --git a/Essentials/src/net/ess3/listener/EssentialsPluginListener.java b/Essentials/src/net/ess3/listener/EssentialsPluginListener.java
index f3c47389e..489ebf2bb 100644
--- a/Essentials/src/net/ess3/listener/EssentialsPluginListener.java
+++ b/Essentials/src/net/ess3/listener/EssentialsPluginListener.java
@@ -69,7 +69,7 @@ public class EssentialsPluginListener implements Listener, IReload
if (storage == General.GroupStorage.GROUPMANAGER)
{
- Plugin groupManager = ess.getServer().getPluginManager().getPlugin("GroupManager");
+ final Plugin groupManager = ess.getServer().getPluginManager().getPlugin("GroupManager");
if (groupManager != null && groupManager.isEnabled() && !(ess.getRanks() instanceof GMGroups))
{
if (ess.getRanks() instanceof RanksStorage)
@@ -82,7 +82,7 @@ public class EssentialsPluginListener implements Listener, IReload
}
if (storage == General.GroupStorage.VAULT)
{
- Plugin vault = ess.getServer().getPluginManager().getPlugin("Vault");
+ final Plugin vault = ess.getServer().getPluginManager().getPlugin("Vault");
if (vault != null && vault.isEnabled() && !(ess.getRanks() instanceof VaultGroups))
{
if (ess.getRanks() instanceof RanksStorage)
diff --git a/Essentials/src/net/ess3/metrics/Metrics.java b/Essentials/src/net/ess3/metrics/Metrics.java
index 0d1258e91..1f182f511 100644
--- a/Essentials/src/net/ess3/metrics/Metrics.java
+++ b/Essentials/src/net/ess3/metrics/Metrics.java
@@ -193,7 +193,7 @@ public class Metrics
}
// Begin hitting the server with glorious data
- taskId = plugin.getServer().getScheduler().scheduleAsyncRepeatingTask(plugin, new Runnable()
+ taskId = plugin.getServer().getScheduler().runTaskTimerAsynchronously(plugin, new Runnable()
{
private boolean firstPost = true;
@@ -226,7 +226,7 @@ public class Metrics
plugin.getLogger().log(Level.INFO, "[Metrics] " + e.getMessage());
}
}
- }, 0, PING_INTERVAL * 1200);
+ }, 0, PING_INTERVAL * 1200).getTaskId();
}
}
diff --git a/Essentials/src/net/ess3/metrics/MetricsListener.java b/Essentials/src/net/ess3/metrics/MetricsListener.java
index f1f494a19..755d30f0c 100644
--- a/Essentials/src/net/ess3/metrics/MetricsListener.java
+++ b/Essentials/src/net/ess3/metrics/MetricsListener.java
@@ -1,27 +1,27 @@
package net.ess3.metrics;
+import static net.ess3.I18n._;
+
import java.util.logging.Level;
+
import net.ess3.api.IEssentials;
import net.ess3.api.ISettings;
import net.ess3.api.IUser;
import net.ess3.permissions.Permissions;
-import org.bukkit.Server;
+
import org.bukkit.event.EventHandler;
import org.bukkit.event.EventPriority;
import org.bukkit.event.Listener;
import org.bukkit.event.player.PlayerJoinEvent;
-import static net.ess3.I18n._;
public class MetricsListener implements Listener
{
- private final transient Server server;
private final transient IEssentials ess;
private final transient MetricsStarter starter;
public MetricsListener(final IEssentials parent, final MetricsStarter starter)
{
this.ess = parent;
- this.server = parent.getServer();
this.starter = starter;
}
diff --git a/Essentials/src/net/ess3/settings/Backup.java b/Essentials/src/net/ess3/settings/Backup.java
index a3e147c22..bf99962f3 100644
--- a/Essentials/src/net/ess3/settings/Backup.java
+++ b/Essentials/src/net/ess3/settings/Backup.java
@@ -1,5 +1,9 @@
package net.ess3.settings;
+import java.util.ArrayList;
+import java.util.Collections;
+import java.util.List;
+
import lombok.Data;
import lombok.EqualsAndHashCode;
import net.ess3.storage.Comment;
@@ -14,4 +18,43 @@ public class Backup implements StorageObject
private long interval = 60;
@Comment("Add a command that backups your data, e.g. 'rdiff-backup World1 backups/World1'")
private String command;
+ @Comment(
+ {
+ "Runs these commands before a backup.",
+ "This will run every time time (in minutes) you specify in the interval setting.",
+ "ex: say \"Hello World\" will make the server say Hello World"
+ })
+ private List<String> commandsBeforeBackup;
+
+ @Comment(
+ {
+ "Runs these commands after a backup.",
+ "This will run every time time (in minutes) you specify in the interval setting.",
+ "ex: say \"Hello World\" will make the server say Hello World"
+ })
+ private List<String> commandsAfterBackup;
+
+ public Backup()
+ {
+ commandsBeforeBackup = new ArrayList<String>();
+ commandsBeforeBackup.add("save-all");
+ commandsBeforeBackup.add("save-off");
+ commandsAfterBackup = new ArrayList<String>();
+ commandsAfterBackup.add("save-on");
+ }
+
+ public List<String> getCommandsBeforeBackup()
+ {
+ return commandsBeforeBackup == null
+ ? Collections.<String>emptyList()
+ : Collections.unmodifiableList(commandsBeforeBackup);
+ }
+
+ public List<String> getCommandsAfterBackup()
+ {
+ return commandsAfterBackup == null
+ ? Collections.<String>emptyList()
+ : Collections.unmodifiableList(commandsAfterBackup);
+ }
+
}
diff --git a/Essentials/src/net/ess3/settings/SpawnsHolder.java b/Essentials/src/net/ess3/settings/SpawnsHolder.java
index e778ef052..2694eafa3 100644
--- a/Essentials/src/net/ess3/settings/SpawnsHolder.java
+++ b/Essentials/src/net/ess3/settings/SpawnsHolder.java
@@ -35,17 +35,27 @@ public class SpawnsHolder extends AsyncStorageObjectHolder<Spawns> implements IE
registerListeners();
}
+ /**
+ * Sets a spawn location
+ * @param loc - Location you want to set as spawn
+ * @param group - Group to save it undr in the config
+ */
public void setSpawn(final Location loc, final String group)
{
getData().addSpawn(group, loc);
queueSave();
- if ("default".equalsIgnoreCase(group))
+ if (group.equalsIgnoreCase("default"))
{
loc.getWorld().setSpawnLocation(loc.getBlockX(), loc.getBlockY(), loc.getBlockZ());
}
}
+ /**
+ * Get the spawn for a group from the config
+ * @param group - Group name
+ * @return
+ */
public Location getSpawn(final String group)
{
if (getData().getSpawns() == null || group == null)
@@ -72,6 +82,10 @@ public class SpawnsHolder extends AsyncStorageObjectHolder<Spawns> implements IE
}
}
+ /**
+ * Gets the World spawn location
+ * @return
+ */
private Location getWorldSpawn()
{
for (World world : ess.getServer().getWorlds())
@@ -85,6 +99,10 @@ public class SpawnsHolder extends AsyncStorageObjectHolder<Spawns> implements IE
return ess.getServer().getWorlds().get(0).getSpawnLocation();
}
+ /**
+ * Get re-spawn listen priority
+ * @return
+ */
public EventPriority getRespawnPriority()
{
for (EventPriority priority : EventPriority.values())
@@ -97,6 +115,10 @@ public class SpawnsHolder extends AsyncStorageObjectHolder<Spawns> implements IE
return EventPriority.NORMAL;
}
+ /**
+ * Get the newbie spawn from the config
+ * @return
+ */
public Location getNewbieSpawn()
{
if (getData().getNewbieSpawn() == null || getData().getNewbieSpawn().isEmpty()
@@ -140,7 +162,7 @@ public class SpawnsHolder extends AsyncStorageObjectHolder<Spawns> implements IE
}
- private class SpawnPlayerListener implements Listener
+ private class SpawnPlayerListener implements Listener // TODO: What is this for?
{
private final transient IEssentials ess;
private final transient SpawnsHolder spawns;
diff --git a/Essentials/src/net/ess3/settings/WorldOptions.java b/Essentials/src/net/ess3/settings/WorldOptions.java
index a0c9c8276..ae3e35ea9 100644
--- a/Essentials/src/net/ess3/settings/WorldOptions.java
+++ b/Essentials/src/net/ess3/settings/WorldOptions.java
@@ -37,11 +37,21 @@ public class WorldOptions implements StorageObject
@Setter(AccessLevel.NONE)
private Map<EntityType, Boolean> creatureSpawn = new EnumMap<EntityType, Boolean>(EntityType.class);
+ /**
+ * Checks if a entity can be spawned.
+ * @param creatureName - Name of the {@link EntityType}
+ * @return
+ */
public boolean getPreventSpawn(String creatureName)
{
return getPreventSpawn(EntityType.fromName(creatureName));
}
+ /**
+ * Checks if an {@link EntityType} is allowed to be spawned
+ * @param creature - {@link EntityType} to check
+ * @return
+ */
public boolean getPreventSpawn(EntityType creature)
{
if (creatureSpawn == null)
diff --git a/Essentials/src/net/ess3/storage/AbstractDelayedYamlFileWriter.java b/Essentials/src/net/ess3/storage/AbstractDelayedYamlFileWriter.java
index 29b563489..2a74c4cd5 100644
--- a/Essentials/src/net/ess3/storage/AbstractDelayedYamlFileWriter.java
+++ b/Essentials/src/net/ess3/storage/AbstractDelayedYamlFileWriter.java
@@ -12,7 +12,7 @@ import org.bukkit.Bukkit;
public abstract class AbstractDelayedYamlFileWriter implements Runnable
{
private final transient IEssentials ess;
- private final transient ReentrantLock lock = new ReentrantLock();
+ private final transient ReentrantLock lock = new ReentrantLock(); // TODO: Needed?
public AbstractDelayedYamlFileWriter(final IEssentials ess)
{
diff --git a/Essentials/src/net/ess3/storage/BukkitConstructor.java b/Essentials/src/net/ess3/storage/BukkitConstructor.java
index a3aa18b2e..13e8665b1 100644
--- a/Essentials/src/net/ess3/storage/BukkitConstructor.java
+++ b/Essentials/src/net/ess3/storage/BukkitConstructor.java
@@ -25,7 +25,7 @@ public class BukkitConstructor extends Constructor
private final transient Pattern WORD = Pattern.compile("\\W");
private final transient IPlugin plugin;
- public BukkitConstructor(final Class clazz, final IPlugin plugin)
+ public BukkitConstructor(final Class<?> clazz, final IPlugin plugin)
{
super(clazz);
this.plugin = plugin;
diff --git a/Essentials/src/net/ess3/storage/ObjectLoadException.java b/Essentials/src/net/ess3/storage/ObjectLoadException.java
index 4ea962db2..e70ec5b8a 100644
--- a/Essentials/src/net/ess3/storage/ObjectLoadException.java
+++ b/Essentials/src/net/ess3/storage/ObjectLoadException.java
@@ -3,6 +3,8 @@ package net.ess3.storage;
public class ObjectLoadException extends Exception
{
+ private static final long serialVersionUID = 8263648967116854400L;
+
public ObjectLoadException(Throwable thrwbl)
{
super(thrwbl);
diff --git a/Essentials/src/net/ess3/storage/StorageObjectMap.java b/Essentials/src/net/ess3/storage/StorageObjectMap.java
index ea865977a..044499902 100644
--- a/Essentials/src/net/ess3/storage/StorageObjectMap.java
+++ b/Essentials/src/net/ess3/storage/StorageObjectMap.java
@@ -31,7 +31,8 @@ public abstract class StorageObjectMap<I> extends CacheLoader<String, I> impleme
protected final transient Cache<String, I> cache = CacheBuilder.newBuilder().softValues().build(this);
protected final transient ConcurrentSkipListSet<String> keys = new ConcurrentSkipListSet<String>();
protected final transient ConcurrentSkipListMap<String, File> zippedfiles = new ConcurrentSkipListMap<String, File>();
-
+ private final Pattern zipCheck = Pattern.compile("^[a-zA-Z0-9]*-?[a-zA-Z0-9]+\\.yml$");
+
public StorageObjectMap(final IEssentials ess, final String folderName)
{
super();
@@ -90,25 +91,23 @@ public abstract class StorageObjectMap<I> extends CacheLoader<String, I> impleme
}
}
- private final Pattern zipCheck = Pattern.compile("^[a-zA-Z0-9]*-?[a-zA-Z0-9]+\\.yml$");
-
private void addZipFile(File file)
{
try
{
- ZipFile zipFile = new ZipFile(file);
+ final ZipFile zipFile = new ZipFile(file);
try
{
- Enumeration<ZipArchiveEntry> entries = zipFile.getEntriesInPhysicalOrder();
+ final Enumeration<ZipArchiveEntry> entries = zipFile.getEntriesInPhysicalOrder();
while (entries.hasMoreElements())
{
- ZipArchiveEntry entry = entries.nextElement();
- String name = entry.getName();
+ final ZipArchiveEntry entry = entries.nextElement();
+ final String name = entry.getName();
if (entry.isDirectory() || entry.getSize() == 0 || !zipCheck.matcher(name).matches())
{
continue;
}
- String shortName = name.substring(0, name.length() - 4);
+ final String shortName = name.substring(0, name.length() - 4);
addFileToKeys(shortName);
zippedfiles.put(name, file);
}
diff --git a/Essentials/src/net/ess3/storage/StorageQueue.java b/Essentials/src/net/ess3/storage/StorageQueue.java
index f2859f51e..9e0ad91c4 100644
--- a/Essentials/src/net/ess3/storage/StorageQueue.java
+++ b/Essentials/src/net/ess3/storage/StorageQueue.java
@@ -10,7 +10,7 @@ import java.util.logging.Level;
import net.ess3.api.IPlugin;
-public class StorageQueue implements Runnable
+public class StorageQueue implements Runnable
{
private DelayQueue<WriteRequest> queue = new DelayQueue<WriteRequest>();
public final static long DELAY = TimeUnit.NANOSECONDS.convert(1, TimeUnit.SECONDS);
@@ -28,7 +28,7 @@ public class StorageQueue implements Runnable
{
synchronized (lock)
{
- List<WriteRequest> requests = new ArrayList<WriteRequest>();
+ final List<WriteRequest> requests = new ArrayList<WriteRequest>();
while (enabled.get() || !queue.isEmpty())
{
try
@@ -36,13 +36,13 @@ public class StorageQueue implements Runnable
queue.drainTo(requests);
for (WriteRequest request : requests)
{
- RequestState state = request.getRequestState();
+ final RequestState state = request.getRequestState();
if (state == RequestState.REQUEUE)
{
queue.add(request);
continue;
}
- if (state == RequestState.SCHEDULE)
+ else if (state == RequestState.SCHEDULE)
{
plugin.scheduleAsyncDelayedTask(request.getRunnable());
}
diff --git a/Essentials/src/net/ess3/storage/StoredLocation.java b/Essentials/src/net/ess3/storage/StoredLocation.java
index 5e0394c0e..4b05cc796 100644
--- a/Essentials/src/net/ess3/storage/StoredLocation.java
+++ b/Essentials/src/net/ess3/storage/StoredLocation.java
@@ -91,6 +91,8 @@ public class StoredLocation
public static class WorldNotLoadedException extends Exception
{
+ private static final long serialVersionUID = -2079102649647074279L;
+
public WorldNotLoadedException(String worldname)
{
super("World " + worldname + " is not loaded.");
diff --git a/Essentials/src/net/ess3/storage/YamlStorageReader.java b/Essentials/src/net/ess3/storage/YamlStorageReader.java
index 8359ccd4b..88ab5bcd9 100644
--- a/Essentials/src/net/ess3/storage/YamlStorageReader.java
+++ b/Essentials/src/net/ess3/storage/YamlStorageReader.java
@@ -13,8 +13,8 @@ import org.yaml.snakeyaml.introspector.BeanAccess;
public class YamlStorageReader implements IStorageReader
{
- private transient static final Map<Class, Yaml> PREPARED_YAMLS = Collections.synchronizedMap(new HashMap<Class, Yaml>());
- private transient static final Map<Class, ReentrantLock> LOCKS = new HashMap<Class, ReentrantLock>();
+ private transient static final Map<Class<?>, Yaml> PREPARED_YAMLS = Collections.synchronizedMap(new HashMap<Class<?>, Yaml>());
+ private transient static final Map<Class<?>, ReentrantLock> LOCKS = new HashMap<Class<?>, ReentrantLock>();
private transient final Reader reader;
private transient final IPlugin plugin;
diff --git a/Essentials/src/net/ess3/user/CooldownException.java b/Essentials/src/net/ess3/user/CooldownException.java
index 6875e59cb..5bd9da29f 100644
--- a/Essentials/src/net/ess3/user/CooldownException.java
+++ b/Essentials/src/net/ess3/user/CooldownException.java
@@ -4,6 +4,8 @@ package net.ess3.user;
public class CooldownException extends Exception
{
+ private static final long serialVersionUID = 913632836257457319L;
+
public CooldownException(String timeLeft)
{
super(timeLeft);
diff --git a/Essentials/src/net/ess3/user/PlayerNotFoundException.java b/Essentials/src/net/ess3/user/PlayerNotFoundException.java
index 2c658aa0b..09b2488cd 100644
--- a/Essentials/src/net/ess3/user/PlayerNotFoundException.java
+++ b/Essentials/src/net/ess3/user/PlayerNotFoundException.java
@@ -4,6 +4,8 @@ import static net.ess3.I18n._;
public class PlayerNotFoundException extends Exception {
+ private static final long serialVersionUID = -510752839980332640L;
+
public PlayerNotFoundException()
{
super(_("playerNotFound"));
diff --git a/Essentials/src/net/ess3/user/TooManyMatchesException.java b/Essentials/src/net/ess3/user/TooManyMatchesException.java
index 65fbdb78f..ce4bc9f61 100644
--- a/Essentials/src/net/ess3/user/TooManyMatchesException.java
+++ b/Essentials/src/net/ess3/user/TooManyMatchesException.java
@@ -8,6 +8,7 @@ import net.ess3.api.IUser;
public class TooManyMatchesException extends Exception
{
+ private static final long serialVersionUID = -1458262878150217201L;
private final Set<IUser> matches;
public TooManyMatchesException()
diff --git a/Essentials/src/net/ess3/user/UserBase.java b/Essentials/src/net/ess3/user/UserBase.java
index 4fcf05bf5..7a9d252b4 100644
--- a/Essentials/src/net/ess3/user/UserBase.java
+++ b/Essentials/src/net/ess3/user/UserBase.java
@@ -7,6 +7,7 @@ import net.ess3.api.ISettings;
import net.ess3.api.IUser;
import net.ess3.api.InvalidNameException;
import net.ess3.permissions.Permissions;
+import net.ess3.settings.Economy;
import net.ess3.storage.AsyncStorageObjectHolder;
import net.ess3.storage.IStorageObjectHolder;
import net.ess3.storage.StoredLocation.WorldNotLoadedException;
@@ -37,7 +38,7 @@ public abstract class UserBase extends AsyncStorageObjectHolder<UserData> implem
@Override
public void sendMessage(String string)
{
- Player player = offlinePlayer.getPlayer();
+ final Player player = offlinePlayer.getPlayer();
if (player != null)
{
player.sendMessage(string);
@@ -47,7 +48,7 @@ public abstract class UserBase extends AsyncStorageObjectHolder<UserData> implem
@Override
public void sendMessage(String[] strings)
{
- Player player = offlinePlayer.getPlayer();
+ final Player player = offlinePlayer.getPlayer();
if (player != null)
{
player.sendMessage(strings);
@@ -63,7 +64,7 @@ public abstract class UserBase extends AsyncStorageObjectHolder<UserData> implem
@Override
public boolean isPermissionSet(String string)
{
- Player player = offlinePlayer.getPlayer();
+ final Player player = offlinePlayer.getPlayer();
if (player != null)
{
return player.isPermissionSet(string);
@@ -77,7 +78,7 @@ public abstract class UserBase extends AsyncStorageObjectHolder<UserData> implem
@Override
public boolean isPermissionSet(Permission prmsn)
{
- Player player = offlinePlayer.getPlayer();
+ final Player player = offlinePlayer.getPlayer();
if (player != null)
{
return player.isPermissionSet(prmsn);
@@ -91,7 +92,7 @@ public abstract class UserBase extends AsyncStorageObjectHolder<UserData> implem
@Override
public boolean hasPermission(String string)
{
- Player player = offlinePlayer.getPlayer();
+ final Player player = offlinePlayer.getPlayer();
if (player != null)
{
return player.hasPermission(string);
@@ -105,7 +106,7 @@ public abstract class UserBase extends AsyncStorageObjectHolder<UserData> implem
@Override
public boolean hasPermission(Permission prmsn)
{
- Player player = offlinePlayer.getPlayer();
+ final Player player = offlinePlayer.getPlayer();
if (player != null)
{
return player.hasPermission(prmsn);
@@ -174,13 +175,15 @@ public abstract class UserBase extends AsyncStorageObjectHolder<UserData> implem
final ISettings settings = ess.getSettings();
- if (Math.abs(value) > settings.getData().getEconomy().getMaxMoney())
+ final UserData data = getData();
+ final double maxMoney = settings.getData().getEconomy().getMaxMoney();
+ if (Math.abs(value) > maxMoney)
{
- getData().setMoney(value < 0 ? -settings.getData().getEconomy().getMaxMoney() : settings.getData().getEconomy().getMaxMoney());
+ data.setMoney(value < 0 ? -maxMoney : maxMoney);
}
else
{
- getData().setMoney(value);
+ data.setMoney(value);
}
queueSave();
}
@@ -230,7 +233,7 @@ public abstract class UserBase extends AsyncStorageObjectHolder<UserData> implem
public boolean toggleTeleportEnabled()
{
- boolean ret = !getData().isTeleportEnabled();
+ final boolean ret = !getData().isTeleportEnabled();
getData().setTeleportEnabled(ret);
queueSave();
return ret;
@@ -309,7 +312,7 @@ public abstract class UserBase extends AsyncStorageObjectHolder<UserData> implem
for (Location location : worldHomes)
{
final double d = loc.distanceSquared(location);
- if (d < distance)
+ if (d < distance) // Shouldnt this just use Double.isInfinite(v); rather than create a new Double of maxval?
{
target = location;
distance = d;
diff --git a/Essentials/src/net/ess3/user/UserData.java b/Essentials/src/net/ess3/user/UserData.java
index 38350f3af..35ab164e3 100644
--- a/Essentials/src/net/ess3/user/UserData.java
+++ b/Essentials/src/net/ess3/user/UserData.java
@@ -113,26 +113,26 @@ public class UserData implements StorageObject
public long getTimestamp(TimestampType type)
{
- Long val = getTimestamps().get(type.name());
+ final Long val = getTimestamps().get(type.name());
return val == null ? 0 : val;
}
public long getTimestamp(TimestampType type, String subType)
{
- Long val = getTimestamps().get(type.name() + "-" + subType.toUpperCase(Locale.ENGLISH));
+ final Long val = getTimestamps().get(type.name() + "-" + subType.toUpperCase(Locale.ENGLISH));
return val == null ? 0 : val;
}
public void setTimestamp(TimestampType type, Long value)
{
- Map<String, Long> ts = new HashMap<String, Long>(getTimestamps());
+ final Map<String, Long> ts = new HashMap<String, Long>(getTimestamps());
ts.put(type.name(), value);
timestamps = ts;
}
public void setTimestamp(TimestampType type, String subType, Long value)
{
- Map<String, Long> ts = new HashMap<String, Long>(getTimestamps());
+ final Map<String, Long> ts = new HashMap<String, Long>(getTimestamps());
ts.put(type.name() + "-" + subType.toUpperCase(Locale.ENGLISH), value);
timestamps = ts;
}
@@ -146,13 +146,13 @@ public class UserData implements StorageObject
{
if (!state && unlimited.contains(mat))
{
- Set<Material> unlimitedSet = new HashSet<Material>(getUnlimited());
+ final Set<Material> unlimitedSet = new HashSet<Material>(getUnlimited());
unlimitedSet.remove(mat);
unlimited = unlimitedSet;
}
if (state && !unlimited.contains(mat))
{
- Set<Material> unlimitedSet = new HashSet<Material>(getUnlimited());
+ final Set<Material> unlimitedSet = new HashSet<Material>(getUnlimited());
unlimitedSet.add(mat);
unlimited = unlimitedSet;
}
@@ -170,7 +170,7 @@ public class UserData implements StorageObject
public void setPowertool(Material mat, List<String> commands)
{
- Map<Material, List<String>> powerToolMap = new HashMap<Material, List<String>>(getPowerTools());
+ final Map<Material, List<String>> powerToolMap = new HashMap<Material, List<String>>(getPowerTools());
powerToolMap.put(mat, commands);
powerTools = powerToolMap;
}
@@ -182,14 +182,14 @@ public class UserData implements StorageObject
public void addHome(String name, Location location)
{
- Map<String, StoredLocation> homeMap = new HashMap<String, StoredLocation>(getHomes());
+ final Map<String, StoredLocation> homeMap = new HashMap<String, StoredLocation>(getHomes());
homeMap.put(name, new StoredLocation(location));
homes = homeMap;
}
public void addHome(String name, StoredLocation location)
{
- Map<String, StoredLocation> homeMap = new HashMap<String, StoredLocation>(getHomes());
+ final Map<String, StoredLocation> homeMap = new HashMap<String, StoredLocation>(getHomes());
homeMap.put(name, location);
homes = homeMap;
}
@@ -200,14 +200,14 @@ public class UserData implements StorageObject
{
return;
}
- Map<String, StoredLocation> homeMap = new HashMap<String, StoredLocation>(getHomes());
+ final Map<String, StoredLocation> homeMap = new HashMap<String, StoredLocation>(getHomes());
homeMap.remove(home);
homes = homeMap;
}
public void addMail(String mail)
{
- List<String> mailList = new ArrayList<String>(getMails());
+ final List<String> mailList = new ArrayList<String>(getMails());
mailList.add(mail);
mails = mailList;
}
@@ -221,13 +221,13 @@ public class UserData implements StorageObject
{
if (state && !ignore.contains(name))
{
- Set<String> ignoreSet = new HashSet<String>(getIgnore());
+ final Set<String> ignoreSet = new HashSet<String>(getIgnore());
ignoreSet.add(name);
ignore = ignoreSet;
}
if (!state && ignore.contains(name))
{
- Set<String> ignoreSet = new HashSet<String>(getIgnore());
+ final Set<String> ignoreSet = new HashSet<String>(getIgnore());
ignoreSet.remove(name);
ignore = ignoreSet;
}
diff --git a/Essentials/src/net/ess3/user/UserMap.java b/Essentials/src/net/ess3/user/UserMap.java
index 57dc202e0..7c0ac22e4 100644
--- a/Essentials/src/net/ess3/user/UserMap.java
+++ b/Essentials/src/net/ess3/user/UserMap.java
@@ -41,10 +41,10 @@ public class UserMap extends StorageObjectMap<IUser> implements IUserMap
@Override
public IUser load(final String name) throws Exception
{
- String lowercaseName = name.toLowerCase(Locale.ENGLISH);
+ final String lowercaseName = name.toLowerCase(Locale.ENGLISH);
if (!lowercaseName.equals(name))
{
- IUser user = getUser(lowercaseName);
+ final IUser user = getUser(lowercaseName);
if (user == null)
{
throw new Exception(_("userNotFound"));
diff --git a/Essentials/src/net/ess3/utils/Util.java b/Essentials/src/net/ess3/utils/Util.java
index 7814c519d..1827b194d 100644
--- a/Essentials/src/net/ess3/utils/Util.java
+++ b/Essentials/src/net/ess3/utils/Util.java
@@ -80,47 +80,50 @@ public final class Util
public static ItemStack convertBlockToItem(final Block block)
{
- final ItemStack is = new ItemStack(block.getType(), 1, (short)0, block.getData());
+ final ItemStack is = new ItemStack(block.getType(), 1/*, (short)0, block.getData()*/); // TODO: Do we need block.getData? that constructor is depreciated
+
+ short s = 0;
+
switch (is.getType())
{
case WOODEN_DOOR:
is.setType(Material.WOOD_DOOR);
- is.setDurability((short)0);
+ is.setDurability(s);
break;
case IRON_DOOR_BLOCK:
is.setType(Material.IRON_DOOR);
- is.setDurability((short)0);
+ is.setDurability(s);
break;
case SIGN_POST:
case WALL_SIGN:
is.setType(Material.SIGN);
- is.setDurability((short)0);
+ is.setDurability(s);
break;
case CROPS:
is.setType(Material.SEEDS);
- is.setDurability((short)0);
+ is.setDurability(s);
break;
case CAKE_BLOCK:
is.setType(Material.CAKE);
- is.setDurability((short)0);
+ is.setDurability(s);
break;
case BED_BLOCK:
is.setType(Material.BED);
- is.setDurability((short)0);
+ is.setDurability(s);
break;
case REDSTONE_WIRE:
is.setType(Material.REDSTONE);
- is.setDurability((short)0);
+ is.setDurability(s);
break;
case REDSTONE_TORCH_OFF:
case REDSTONE_TORCH_ON:
is.setType(Material.REDSTONE_TORCH_ON);
- is.setDurability((short)0);
+ is.setDurability(s);
break;
case DIODE_BLOCK_OFF:
case DIODE_BLOCK_ON:
is.setType(Material.DIODE);
- is.setDurability((short)0);
+ is.setDurability(s);
break;
case DOUBLE_STEP:
is.setType(Material.STEP);
@@ -146,7 +149,7 @@ public final class Util
case FENCE:
case FENCE_GATE:
case NETHER_FENCE:
- is.setDurability((short)0);
+ is.setDurability(s);
break;
case FIRE:
return null;
@@ -195,7 +198,7 @@ public final class Util
if (each instanceof Collection)
{
- buf.append(joinList(seperator, ((Collection)each).toArray()));
+ buf.append(joinList(seperator, ((Collection<?>)each).toArray()));
}
else
{
@@ -211,4 +214,5 @@ public final class Util
}
return buf.toString();
}
+
}
diff --git a/Essentials/src/net/ess3/utils/gnu/inet/encoding/PunycodeException.java b/Essentials/src/net/ess3/utils/gnu/inet/encoding/PunycodeException.java
index 1f9649813..268851eae 100644
--- a/Essentials/src/net/ess3/utils/gnu/inet/encoding/PunycodeException.java
+++ b/Essentials/src/net/ess3/utils/gnu/inet/encoding/PunycodeException.java
@@ -30,6 +30,7 @@ package net.ess3.utils.gnu.inet.encoding;
public class PunycodeException
extends Exception
{
+ private static final long serialVersionUID = -4335979163218011160L;
public static String OVERFLOW = "Overflow.";
public static String BAD_INPUT = "Bad input.";
diff --git a/Essentials/src/net/ess3/utils/textreader/KeywordReplacer.java b/Essentials/src/net/ess3/utils/textreader/KeywordReplacer.java
index dc78a14a9..47e6923cb 100644
--- a/Essentials/src/net/ess3/utils/textreader/KeywordReplacer.java
+++ b/Essentials/src/net/ess3/utils/textreader/KeywordReplacer.java
@@ -37,16 +37,17 @@ public class KeywordReplacer implements IText
if (sender instanceof IUser)
{
final IUser user = (IUser)sender;
- displayName = user.getPlayer().getDisplayName();
- userName = user.getPlayer().getName();
- ipAddress = user.getPlayer().getAddress() == null || user.getPlayer().getAddress().getAddress() == null ? "" : user.getPlayer().getAddress().getAddress().toString();
- address = user.getPlayer().getAddress() == null ? "" : user.getPlayer().getAddress().toString();
+ final Player player = user.getPlayer();
+ displayName = player.getDisplayName();
+ userName = player.getName();
+ ipAddress = player.getAddress() == null || player.getAddress().getAddress() == null ? "" : player.getAddress().getAddress().toString();
+ address = player.getAddress() == null ? "" : player.getAddress().toString();
balance = Double.toString(user.getMoney());
mails = Integer.toString(user.getData().getMails() == null ? 0 : user.getData().getMails().size());
- world = user.getPlayer().getLocation() == null || user.getPlayer().getLocation().getWorld() == null ? "" : user.getPlayer().getLocation().getWorld().getName();
- worldTime12 = DescParseTickFormat.format12(user.getPlayer().getWorld() == null ? 0 : user.getPlayer().getWorld().getTime());
- worldTime24 = DescParseTickFormat.format24(user.getPlayer().getWorld() == null ? 0 : user.getPlayer().getWorld().getTime());
- worldDate = DateFormat.getDateInstance(DateFormat.MEDIUM, ess.getI18n().getCurrentLocale()).format(DescParseTickFormat.ticksToDate(user.getPlayer().getWorld() == null ? 0 : user.getPlayer().getWorld().getFullTime()));
+ world = player.getLocation() == null || player.getLocation().getWorld() == null ? "" : player.getLocation().getWorld().getName();
+ worldTime12 = DescParseTickFormat.format12(player.getWorld() == null ? 0 : player.getWorld().getTime());
+ worldTime24 = DescParseTickFormat.format24(player.getWorld() == null ? 0 : player.getWorld().getTime());
+ worldDate = DateFormat.getDateInstance(DateFormat.MEDIUM, ess.getI18n().getCurrentLocale()).format(DescParseTickFormat.ticksToDate(player.getWorld() == null ? 0 : player.getWorld().getFullTime()));
}
else
{
@@ -137,6 +138,7 @@ public class KeywordReplacer implements IText
line = line.replace("{WORLDDATE}", worldDate);
line = line.replace("{PLUGINS}", plugins);
line = line.replace("{VERSION}", version);
+ // TODO: Would it be nice to let plugins register with essentials and add these?
replaced.add(line);
}
}
diff --git a/Essentials/src/net/ess3/utils/textreader/TextInput.java b/Essentials/src/net/ess3/utils/textreader/TextInput.java
index 8cf73b2f9..aa3682e47 100644
--- a/Essentials/src/net/ess3/utils/textreader/TextInput.java
+++ b/Essentials/src/net/ess3/utils/textreader/TextInput.java
@@ -9,7 +9,6 @@ import net.ess3.api.IUser;
import net.ess3.api.InvalidNameException;
import net.ess3.utils.Util;
import org.bukkit.command.CommandSender;
-import org.bukkit.entity.Player;
public class TextInput implements IText
@@ -51,7 +50,7 @@ public class TextInput implements IText
synchronized (cache)
{
final SoftReference<TextInput> inputRef = cache.get(file.getName());
- TextInput input;
+ final TextInput input;
if (inputRef == null || (input = inputRef.get()) == null || input.lastChange < lastChange)
{
lines = new ArrayList<String>();