1
0
mirror of https://github.com/essentials/Essentials.git synced 2025-10-01 08:36:48 +02:00

More work done

This commit is contained in:
snowleo
2011-12-11 13:16:36 +01:00
parent d1aea7dd35
commit ecf72e27bb
138 changed files with 1091 additions and 642 deletions

View File

@@ -18,17 +18,13 @@
package com.earth2me.essentials;
import static com.earth2me.essentials.I18n._;
import com.earth2me.essentials.api.Economy;
import com.earth2me.essentials.api.IEssentialsEconomy;
import com.earth2me.essentials.api.IGroups;
import com.earth2me.essentials.api.IJails;
import com.earth2me.essentials.api.IReload;
import com.earth2me.essentials.api.IWarps;
import com.earth2me.essentials.api.*;
import com.earth2me.essentials.commands.EssentialsCommand;
import com.earth2me.essentials.commands.IEssentialsCommand;
import com.earth2me.essentials.commands.NoChargeException;
import com.earth2me.essentials.commands.NotEnoughArgumentsException;
import com.earth2me.essentials.craftbukkit.ItemDupeFix;
import com.earth2me.essentials.listener.*;
import com.earth2me.essentials.perm.PermissionsHandler;
import com.earth2me.essentials.register.payment.Methods;
import com.earth2me.essentials.signs.SignBlockListener;
@@ -40,7 +36,6 @@ import java.io.IOException;
import java.util.ArrayList;
import java.util.List;
import java.util.logging.Level;
import java.util.logging.LogRecord;
import java.util.logging.Logger;
import java.util.regex.Matcher;
import java.util.regex.Pattern;

View File

@@ -16,7 +16,7 @@ import org.bukkit.enchantments.Enchantment;
import org.bukkit.inventory.ItemStack;
import org.bukkit.util.config.Configuration;
@Deprecated
public class EssentialsConf extends Configuration
{
private static final Logger LOGGER = Logger.getLogger("Minecraft");

View File

@@ -3,13 +3,16 @@ package com.earth2me.essentials;
import java.util.HashSet;
import java.util.Iterator;
import java.util.Set;
import com.earth2me.essentials.api.IEssentials;
import com.earth2me.essentials.api.IUser;
import com.earth2me.essentials.user.UserData.TimestampType;
import org.bukkit.entity.Player;
public class EssentialsTimer implements Runnable
{
private final transient IEssentials ess;
private final transient Set<User> onlineUsers = new HashSet<User>();
private final transient Set<IUser> onlineUsers = new HashSet<IUser>();
EssentialsTimer(final IEssentials ess)
{
@@ -22,19 +25,19 @@ public class EssentialsTimer implements Runnable
final long currentTime = System.currentTimeMillis();
for (Player player : ess.getServer().getOnlinePlayers())
{
final User user = ess.getUser(player);
final IUser user = ess.getUser(player);
onlineUsers.add(user);
user.setLastOnlineActivity(currentTime);
user.checkActivity();
}
final Iterator<User> iterator = onlineUsers.iterator();
final Iterator<IUser> iterator = onlineUsers.iterator();
while (iterator.hasNext())
{
final User user = iterator.next();
if (user.getLastOnlineActivity() < currentTime && user.getLastOnlineActivity() > user.getLastLogout())
final IUser user = iterator.next();
if (user.getLastOnlineActivity() < currentTime && user.getLastOnlineActivity() > user.getTimestamp(TimestampType.LOGOUT))
{
user.setLastLogout(user.getLastOnlineActivity());
user.setTimestamp(TimestampType.LOGOUT, user.getLastOnlineActivity());
iterator.remove();
continue;
}

View File

@@ -1,6 +1,7 @@
package com.earth2me.essentials;
import com.earth2me.essentials.api.IItemDb;
import com.earth2me.essentials.api.IEssentials;
import static com.earth2me.essentials.I18n._;
import java.util.HashMap;
import java.util.List;
@@ -24,7 +25,7 @@ public class ItemDb implements IConf, IItemDb
private final transient ManagedFile file;
@Override
public void reloadConfig()
public void onReload()
{
final List<String> lines = file.getLines();
@@ -119,4 +120,10 @@ public class ItemDb implements IConf, IItemDb
retval.setDurability(metaData);
return retval;
}
@Override
public void reloadConfig()
{
onReload();
}
}

View File

@@ -1,12 +1,15 @@
package com.earth2me.essentials;
import com.earth2me.essentials.api.IJails;
import com.earth2me.essentials.api.IEssentials;
import com.earth2me.essentials.api.IUser;
import com.earth2me.essentials.storage.AsyncStorageObjectHolder;
import static com.earth2me.essentials.I18n._;
import java.io.File;
import java.util.*;
import java.util.logging.Level;
import java.util.logging.Logger;
import lombok.Cleanup;
import org.bukkit.Bukkit;
import org.bukkit.Location;
import org.bukkit.event.Event.Priority;
@@ -37,9 +40,9 @@ public class Jails extends AsyncStorageObjectHolder<com.earth2me.essentials.sett
pluginManager.registerEvent(Type.BLOCK_DAMAGE, blockListener, Priority.Low, ess);
pluginManager.registerEvent(Type.BLOCK_PLACE, blockListener, Priority.Low, ess);
pluginManager.registerEvent(Type.PLAYER_INTERACT, playerListener, Priority.Low, ess);
pluginManager.registerEvent(Type.PLAYER_RESPAWN, playerListener, Priority.High, ess);
pluginManager.registerEvent(Type.PLAYER_TELEPORT, playerListener, Priority.High, ess);
pluginManager.registerEvent(Type.PLAYER_JOIN, playerListener, Priority.High, ess);
pluginManager.registerEvent(Type.PLAYER_RESPAWN, playerListener, Priority.Highest, ess);
pluginManager.registerEvent(Type.PLAYER_TELEPORT, playerListener, Priority.Highest, ess);
pluginManager.registerEvent(Type.PLAYER_JOIN, playerListener, Priority.Highest, ess);
}
@Override
@@ -113,7 +116,15 @@ public class Jails extends AsyncStorageObjectHolder<com.earth2me.essentials.sett
{
user.getTeleport().now(getJail(jail), false, TeleportCause.COMMAND);
}
user.setJail(jail);
user.acquireWriteLock();
try
{
user.getData().setJail(jail);
}
finally
{
unlock();
}
}
finally
{
@@ -145,8 +156,10 @@ public class Jails extends AsyncStorageObjectHolder<com.earth2me.essentials.sett
@Override
public void onBlockBreak(final BlockBreakEvent event)
{
final User user = ((Essentials)ess).getUser(event.getPlayer());
if (user.isJailed())
@Cleanup
final IUser user = ess.getUser(event.getPlayer());
user.acquireReadLock();
if (user.getData().isJailed())
{
event.setCancelled(true);
}
@@ -155,8 +168,10 @@ public class Jails extends AsyncStorageObjectHolder<com.earth2me.essentials.sett
@Override
public void onBlockPlace(final BlockPlaceEvent event)
{
final User user = ((Essentials)ess).getUser(event.getPlayer());
if (user.isJailed())
@Cleanup
final IUser user = ess.getUser(event.getPlayer());
user.acquireReadLock();
if (user.getData().isJailed())
{
event.setCancelled(true);
}
@@ -165,8 +180,10 @@ public class Jails extends AsyncStorageObjectHolder<com.earth2me.essentials.sett
@Override
public void onBlockDamage(final BlockDamageEvent event)
{
final User user = ((Essentials)ess).getUser(event.getPlayer());
if (user.isJailed())
@Cleanup
final IUser user = ess.getUser(event.getPlayer());
user.acquireReadLock();
if (user.getData().isJailed())
{
event.setCancelled(true);
}
@@ -179,8 +196,10 @@ public class Jails extends AsyncStorageObjectHolder<com.earth2me.essentials.sett
@Override
public void onPlayerInteract(final PlayerInteractEvent event)
{
final User user = ((Essentials)ess).getUser(event.getPlayer());
if (user.isJailed())
@Cleanup
final IUser user = ess.getUser(event.getPlayer());
user.acquireReadLock();
if (user.getData().isJailed())
{
event.setCancelled(true);
}
@@ -189,15 +208,17 @@ public class Jails extends AsyncStorageObjectHolder<com.earth2me.essentials.sett
@Override
public void onPlayerRespawn(final PlayerRespawnEvent event)
{
final User user = ((Essentials)ess).getUser(event.getPlayer());
if (!user.isJailed() || user.getJail() == null || user.getJail().isEmpty())
@Cleanup
final IUser user = ess.getUser(event.getPlayer());
user.acquireReadLock();
if (!user.getData().isJailed() || user.getData().getJail() == null || user.getData().getJail().isEmpty())
{
return;
}
try
{
event.setRespawnLocation(getJail(user.getJail()));
event.setRespawnLocation(getJail(user.getData().getJail()));
}
catch (Exception ex)
{
@@ -208,15 +229,17 @@ public class Jails extends AsyncStorageObjectHolder<com.earth2me.essentials.sett
@Override
public void onPlayerTeleport(final PlayerTeleportEvent event)
{
final User user = ((Essentials)ess).getUser(event.getPlayer());
if (!user.isJailed() || user.getJail() == null || user.getJail().isEmpty())
@Cleanup
final IUser user = ess.getUser(event.getPlayer());
user.acquireReadLock();
if (!user.getData().isJailed() || user.getData().getJail() == null || user.getData().getJail().isEmpty())
{
return;
}
try
{
event.setTo(getJail(user.getJail()));
event.setTo(getJail(user.getData().getJail()));
}
catch (Exception ex)
{
@@ -228,15 +251,17 @@ public class Jails extends AsyncStorageObjectHolder<com.earth2me.essentials.sett
@Override
public void onPlayerJoin(final PlayerJoinEvent event)
{
final User user = ((Essentials)ess).getUser(event.getPlayer());
if (!user.isJailed() || user.getJail() == null || user.getJail().isEmpty())
@Cleanup
final IUser user = ess.getUser(event.getPlayer());
user.acquireReadLock();
if (!user.getData().isJailed() || user.getData().getJail() == null || user.getData().getJail().isEmpty())
{
return;
}
try
{
sendToJail(user, user.getJail());
sendToJail(user, user.getData().getJail());
}
catch (Exception ex)
{

View File

@@ -1,6 +1,8 @@
package com.earth2me.essentials;
import static com.earth2me.essentials.I18n._;
import com.earth2me.essentials.api.IEssentials;
import com.earth2me.essentials.api.IUser;
import com.earth2me.essentials.commands.NoChargeException;
import com.earth2me.essentials.craftbukkit.InventoryWorkaround;
import java.util.*;
@@ -11,7 +13,7 @@ import org.bukkit.inventory.ItemStack;
public class Kit
{
//TODO: Convert this to use one of the new text classes?
public static String listKits(final IEssentials ess, final User user) throws Exception
public static String listKits(final IEssentials ess, final IUser user) throws Exception
{
try
{
@@ -33,7 +35,7 @@ public class Kit
}
public static void checkTime(final User user, final String kitName, final Map<String, Object> els) throws NoChargeException
public static void checkTime(final IUser user, final String kitName, final Map<String, Object> els) throws NoChargeException
{
final double delay = els.containsKey("delay") ? ((Number)els.get("delay")).doubleValue() : 0L;
final Calendar c = new GregorianCalendar();
@@ -59,7 +61,7 @@ public class Kit
}
}
public static List<String> getItems(final User user, final Map<String, Object> els) throws Exception
public static List<String> getItems(final IUser user, final Map<String, Object> els) throws Exception
{
try
{
@@ -72,7 +74,7 @@ public class Kit
}
}
public static void expandItems(final IEssentials ess, final User user, final List<String> items) throws Exception
public static void expandItems(final IEssentials ess, final IUser user, final List<String> items) throws Exception
{
try
{

View File

@@ -1,6 +1,7 @@
package com.earth2me.essentials;
import static com.earth2me.essentials.I18n._;
import com.earth2me.essentials.api.IEssentials;
import java.io.*;
import java.math.BigInteger;
import java.security.DigestInputStream;

View File

@@ -2,6 +2,8 @@ package com.earth2me.essentials;
import com.earth2me.essentials.api.ITeleport;
import com.earth2me.essentials.api.IUser;
import com.earth2me.essentials.api.IEssentials;
import com.earth2me.essentials.api.ISettings;
import static com.earth2me.essentials.I18n._;
import com.earth2me.essentials.commands.NotEnoughArgumentsException;
import com.earth2me.essentials.user.CooldownException;
@@ -9,6 +11,7 @@ import com.earth2me.essentials.user.UserData.TimestampType;
import java.util.Calendar;
import java.util.GregorianCalendar;
import java.util.logging.Logger;
import lombok.Cleanup;
import org.bukkit.Location;
import org.bukkit.entity.Entity;
import org.bukkit.entity.Player;
@@ -115,7 +118,7 @@ public class Teleport implements Runnable, ITeleport
}
catch (Throwable ex)
{
ess.showError(user.getBase(), ex, "teleport");
ess.showCommandError(user.getBase(), "teleport", ex);
}
}
catch (Exception ex)
@@ -142,7 +145,7 @@ public class Teleport implements Runnable, ITeleport
public void warp(String warp, Trade chargeFor, TeleportCause cause) throws Exception
{
Location loc = ess.getWarps().getWarp(warp);
final Location loc = ess.getWarps2().getWarp(warp);
teleport(new Target(loc), chargeFor, cause);
user.sendMessage(_("warpingTo", warp));
}
@@ -202,7 +205,7 @@ public class Teleport implements Runnable, ITeleport
private void teleport(Target target, Trade chargeFor, TeleportCause cause) throws Exception
{
double delay = ess.getSettings().getTeleportDelay();
double delay = ess.getGroups().getTeleportDelay(user);
if (chargeFor != null)
{

View File

@@ -1,12 +1,15 @@
package com.earth2me.essentials;
import static com.earth2me.essentials.I18n._;
import com.earth2me.essentials.api.IEssentials;
import com.earth2me.essentials.api.ISettings;
import java.text.DecimalFormat;
import java.text.DecimalFormatSymbols;
import java.util.*;
import java.util.logging.Logger;
import java.util.regex.Matcher;
import java.util.regex.Pattern;
import lombok.Cleanup;
import org.bukkit.Location;
import org.bukkit.Material;
import org.bukkit.World;
@@ -427,7 +430,10 @@ public class Util
public static String formatCurrency(final double value, final IEssentials ess)
{
String str = ess.getSettings().getCurrencySymbol() + df.format(value);
@Cleanup
final ISettings settings = ess.getSettings();
settings.acquireReadLock();
String str = settings.getData().getEconomy().getCurrencySymbol() + df.format(value);
if (str.endsWith(".00"))
{
str = str.substring(0, str.length() - 3);

View File

@@ -2,9 +2,14 @@ package com.earth2me.essentials.api;
import java.util.Map;
import org.bukkit.command.PluginCommand;
import org.bukkit.plugin.Plugin;
public interface IAlternativeCommandsHandler
{
Map<String, String> disabledCommands();
public void removePlugin(Plugin plugin);
public void addPlugin(Plugin plugin);
}

View File

@@ -1,5 +1,6 @@
package com.earth2me.essentials.api;
import com.earth2me.essentials.listener.TNTExplodeListener;
import com.earth2me.essentials.perm.IPermissionsHandler;
import com.earth2me.essentials.register.payment.Methods;
import org.bukkit.World;
@@ -52,4 +53,10 @@ public interface IEssentials extends Plugin, IReload
IAlternativeCommandsHandler getAlternativeCommandsHandler();
void showCommandError(CommandSender sender, String commandLabel, Throwable exception);
public void reload();
public IUser getOfflineUser(String string);
public TNTExplodeListener getTNTListener();
}

View File

@@ -10,6 +10,8 @@ public interface IGroups extends IStorageObjectHolder<Groups>
double getTeleportCooldown(IUser player);
double getTeleportDelay(final IUser player);
String getPrefix(IUser player);
String getSuffix(IUser player);

View File

@@ -3,7 +3,7 @@ package com.earth2me.essentials.api;
import org.bukkit.inventory.ItemStack;
public interface IItemDb
public interface IItemDb extends IReload
{
ItemStack get(final String name, final int quantity) throws Exception;

View File

@@ -12,7 +12,7 @@ public interface IJails extends IReload
void removeJail(String jail) throws Exception;
void sendToJail(com.earth2me.essentials.IUser user, String jail) throws Exception;
void sendToJail(IUser user, String jail) throws Exception;
void setJail(String jailName, Location loc) throws Exception;
}

View File

@@ -2,6 +2,7 @@ package com.earth2me.essentials.api;
import com.earth2me.essentials.Trade;
import org.bukkit.Location;
import org.bukkit.entity.Entity;
import org.bukkit.event.player.PlayerTeleportEvent.TeleportCause;
@@ -9,5 +10,19 @@ public interface ITeleport
{
void now(Location loc, boolean cooldown, TeleportCause cause) throws Exception;
void now(Entity entity, boolean cooldown, TeleportCause cause) throws Exception;
void back(Trade chargeFor) throws Exception;
void teleport(Location bed, Trade charge, TeleportCause teleportCause) throws Exception;
void teleport(Entity entity, Trade chargeFor, TeleportCause cause) throws Exception;
void home(IUser player, String toLowerCase, Trade charge) throws Exception;
void respawn(Trade charge, TeleportCause teleportCause) throws Exception;
void back() throws Exception;
public void warp(String name, Trade charge, TeleportCause teleportCause) throws Exception;
}

View File

@@ -4,11 +4,13 @@ import com.earth2me.essentials.commands.IEssentialsCommand;
import com.earth2me.essentials.storage.IStorageObjectHolder;
import com.earth2me.essentials.user.CooldownException;
import com.earth2me.essentials.user.UserData;
import java.util.List;
import org.bukkit.Location;
import org.bukkit.command.CommandSender;
import org.bukkit.entity.Player;
public interface IUser extends Player, IStorageObjectHolder<UserData>, IReload, IReplyTo
public interface IUser extends Player, IStorageObjectHolder<UserData>, IReload, IReplyTo, Comparable<IUser>
{
boolean isAuthorized(String node);
@@ -22,8 +24,16 @@ public interface IUser extends Player, IStorageObjectHolder<UserData>, IReload,
void takeMoney(double value);
void takeMoney(double value, CommandSender initiator);
void giveMoney(double value);
void giveMoney(double value, CommandSender initiator);
void setMoney(double value);
void payUser(final IUser reciever, final double value) throws Exception;
String getGroup();
void setLastLocation();
@@ -44,11 +54,49 @@ public interface IUser extends Player, IStorageObjectHolder<UserData>, IReload,
void updateDisplayName();
boolean checkJailTimeout(final long currentTime);
boolean checkJailTimeout(long currentTime);
boolean checkMuteTimeout(final long currentTime);
boolean checkMuteTimeout(long currentTime);
boolean checkBanTimeout(final long currentTime);
boolean checkBanTimeout(long currentTime);
void setTimestamp(final UserData.TimestampType name, final long value);
long getTimestamp(UserData.TimestampType name);
void setTimestamp(UserData.TimestampType name, long value);
void setLastOnlineActivity(long currentTime);
void checkActivity();
long getLastOnlineActivity();
boolean isGodModeEnabled();
boolean isIgnoringPlayer(String name);
void setIgnoredPlayer(String name, boolean set);
Location getAfkPosition();
boolean toggleGodModeEnabled();
void dispose();
void updateCompass();
List<String> getHomes();
void addMail(String string);
boolean toggleMuted();
public boolean toggleSocialSpy();
public void requestTeleport(IUser user, boolean b);
public boolean isTeleportRequestHere();
public IUser getTeleportRequester();
public boolean toggleTeleportEnabled();
}

View File

@@ -8,9 +8,11 @@ public interface IWarps extends IReload
{
Location getWarp(String warp) throws Exception;
Collection<String> getWarps();
Collection<String> getList();
void removeWarp(String name) throws Exception;
void setWarp(String name, Location loc) throws Exception;
public boolean isEmpty();
}

View File

@@ -1,6 +1,6 @@
package com.earth2me.essentials.commands;
import com.earth2me.essentials.Backup;
import com.earth2me.essentials.api.IBackup;
import static com.earth2me.essentials.I18n._;
import org.bukkit.Server;
import org.bukkit.command.CommandSender;
@@ -16,11 +16,7 @@ public class Commandbackup extends EssentialsCommand
@Override
protected void run(final Server server, final CommandSender sender, final String commandLabel, final String[] args) throws Exception
{
final Backup backup = ess.getBackup();
if (backup == null)
{
throw new Exception();
}
final IBackup backup = ess.getBackup();
backup.run();
sender.sendMessage(_("backupStarted"));
}

View File

@@ -1,8 +1,8 @@
package com.earth2me.essentials.commands;
import static com.earth2me.essentials.I18n._;
import com.earth2me.essentials.User;
import com.earth2me.essentials.Util;
import com.earth2me.essentials.api.IUser;
import org.bukkit.Server;
import org.bukkit.command.CommandSender;
@@ -25,7 +25,7 @@ public class Commandbalance extends EssentialsCommand
}
@Override
public void run(final Server server, final User user, final String commandLabel, final String[] args) throws Exception
public void run(final Server server, final IUser user, final String commandLabel, final String[] args) throws Exception
{
final double bal = (args.length < 1
|| !(user.isAuthorized("essentials.balance.others")

View File

@@ -1,6 +1,6 @@
package com.earth2me.essentials.commands;
import com.earth2me.essentials.User;
import com.earth2me.essentials.api.IUser;
import static com.earth2me.essentials.I18n._;
import com.earth2me.essentials.Util;
import com.earth2me.essentials.textreader.ArrayListInput;
@@ -109,7 +109,7 @@ public class Commandbalancetop extends EssentialsCommand
final Map<String, Double> balances = new HashMap<String, Double>();
for (String u : ess.getUserMap().getAllUniqueUsers())
{
final User user = ess.getUserMap().getUser(u);
final IUser user = ess.getUserMap().getUser(u);
if (user != null)
{
balances.put(u, user.getMoney());

View File

@@ -3,7 +3,9 @@ package com.earth2me.essentials.commands;
import com.earth2me.essentials.Console;
import static com.earth2me.essentials.I18n._;
import com.earth2me.essentials.OfflinePlayer;
import com.earth2me.essentials.User;
import com.earth2me.essentials.api.IUser;
import com.earth2me.essentials.user.Ban;
import lombok.Cleanup;
import org.bukkit.Server;
import org.bukkit.command.CommandSender;
import org.bukkit.entity.Player;
@@ -23,7 +25,8 @@ public class Commandban extends EssentialsCommand
{
throw new NotEnoughArgumentsException();
}
final User user = getPlayer(server, args, 0, true);
@Cleanup
final IUser user = getPlayer(server, args, 0, true);
if (user.getBase() instanceof OfflinePlayer)
{
if (sender instanceof Player
@@ -42,11 +45,13 @@ public class Commandban extends EssentialsCommand
}
}
user.acquireWriteLock();
String banReason;
user.getData().setBan(new Ban());
if (args.length > 1)
{
banReason = getFinalArg(args, 1);
user.setBanReason(banReason);
user.getData().getBan().setReason(banReason);
}
else
{
@@ -58,7 +63,7 @@ public class Commandban extends EssentialsCommand
for (Player onlinePlayer : server.getOnlinePlayers())
{
final User player = ess.getUser(onlinePlayer);
final IUser player = ess.getUser(onlinePlayer);
if (player.isAuthorized("essentials.ban.notify"))
{
onlinePlayer.sendMessage(_("playerBanned", senderName, user.getName(), banReason));

View File

@@ -1,7 +1,8 @@
package com.earth2me.essentials.commands;
import static com.earth2me.essentials.I18n._;
import com.earth2me.essentials.User;
import com.earth2me.essentials.api.IUser;
import lombok.Cleanup;
import org.bukkit.Server;
import org.bukkit.command.CommandSender;
@@ -21,7 +22,9 @@ public class Commandbanip extends EssentialsCommand
throw new NotEnoughArgumentsException();
}
final User player = ess.getUser(args[0]);
@Cleanup
final IUser player = ess.getUser(args[0]);
player.acquireReadLock();
if (player == null)
{
@@ -30,12 +33,12 @@ public class Commandbanip extends EssentialsCommand
}
else
{
final String ipAddress = player.getLastLoginAddress();
final String ipAddress = player.getData().getIpAddress();
if (ipAddress.length() == 0)
{
throw new Exception(_("playerNotFound"));
}
ess.getServer().banIP(player.getLastLoginAddress());
ess.getServer().banIP(player.getData().getIpAddress());
sender.sendMessage(_("banIpAddress"));
}
}

View File

@@ -1,7 +1,7 @@
package com.earth2me.essentials.commands;
import static com.earth2me.essentials.I18n._;
import com.earth2me.essentials.User;
import com.earth2me.essentials.api.IUser;
import com.earth2me.essentials.Util;
import org.bukkit.Location;
import org.bukkit.Server;
@@ -16,7 +16,7 @@ public class Commandbigtree extends EssentialsCommand
}
@Override
public void run(final Server server, final User user, final String commandLabel, final String[] args) throws Exception
public void run(final Server server, final IUser user, final String commandLabel, final String[] args) throws Exception
{
TreeType tree;
if (args.length > 0 && args[0].equalsIgnoreCase("redwood"))

View File

@@ -1,6 +1,6 @@
package com.earth2me.essentials.commands;
import com.earth2me.essentials.User;
import com.earth2me.essentials.api.IUser;
import org.bukkit.Material;
import org.bukkit.Server;
import org.bukkit.block.Block;
@@ -16,7 +16,7 @@ public class Commandbreak extends EssentialsCommand
//TODO: Switch to use util class
@Override
public void run(final Server server, final User user, final String commandLabel, final String[] args) throws Exception
public void run(final Server server, final IUser user, final String commandLabel, final String[] args) throws Exception
{
final Block block = user.getTargetBlock(null, 20);
if (block == null)

View File

@@ -1,7 +1,7 @@
package com.earth2me.essentials.commands;
import static com.earth2me.essentials.I18n._;
import com.earth2me.essentials.User;
import com.earth2me.essentials.api.IUser;
import java.util.List;
import org.bukkit.Server;
import org.bukkit.command.CommandSender;
@@ -17,7 +17,7 @@ public class Commandclearinventory extends EssentialsCommand
//TODO: Cleanup
@Override
public void run(Server server, User user, String commandLabel, String[] args) throws Exception
public void run(Server server, IUser user, String commandLabel, String[] args) throws Exception
{
if (args.length > 0 && user.isAuthorized("essentials.clearinventory.others"))
{

View File

@@ -1,7 +1,7 @@
package com.earth2me.essentials.commands;
import static com.earth2me.essentials.I18n._;
import com.earth2me.essentials.User;
import com.earth2me.essentials.api.IUser;
import org.bukkit.Server;
@@ -13,7 +13,7 @@ public class Commandcompass extends EssentialsCommand
}
@Override
public void run(final Server server, final User user, final String commandLabel, final String[] args) throws Exception
public void run(final Server server, final IUser user, final String commandLabel, final String[] args) throws Exception
{
final int bearing = (int)(user.getLocation().getYaw() + 180 + 360) % 360;
String dir;

View File

@@ -1,8 +1,9 @@
package com.earth2me.essentials.commands;
import static com.earth2me.essentials.I18n._;
import com.earth2me.essentials.User;
import com.earth2me.essentials.api.IUser;
import java.util.Locale;
import lombok.Cleanup;
import org.bukkit.Server;
import org.bukkit.command.CommandSender;
@@ -22,7 +23,8 @@ public class Commanddelhome extends EssentialsCommand
throw new NotEnoughArgumentsException();
}
User user = ess.getUser(sender);
@Cleanup
IUser user = ess.getUser(sender);
String name;
final String[] expandedArg = args[0].split(":");
@@ -45,7 +47,8 @@ public class Commanddelhome extends EssentialsCommand
* throw new Exception("You cannot remove the vanilla home point");
* }
*/
user.delHome(name.toLowerCase(Locale.ENGLISH));
user.acquireWriteLock();
user.getData().removeHome(name.toLowerCase(Locale.ENGLISH));
sender.sendMessage(_("deleteHome", name));
}
}

View File

@@ -19,7 +19,7 @@ public class Commanddelwarp extends EssentialsCommand
{
throw new NotEnoughArgumentsException();
}
ess.getWarps().delWarp(args[0]);
ess.getWarps2().removeWarp(args[0]);
sender.sendMessage(_("deleteWarp", args[0]));
}
}

View File

@@ -1,7 +1,7 @@
package com.earth2me.essentials.commands;
import static com.earth2me.essentials.I18n._;
import com.earth2me.essentials.User;
import com.earth2me.essentials.api.IUser;
import org.bukkit.Server;
@@ -13,7 +13,7 @@ public class Commanddepth extends EssentialsCommand
}
@Override
public void run(final Server server, final User user, final String commandLabel, final String[] args) throws Exception
public void run(final Server server, final IUser user, final String commandLabel, final String[] args) throws Exception
{
final int depth = user.getLocation().getBlockY() - 63;
if (depth > 0)

View File

@@ -1,7 +1,9 @@
package com.earth2me.essentials.commands;
import com.earth2me.essentials.User;
import com.earth2me.essentials.api.ISettings;
import com.earth2me.essentials.api.IUser;
import java.util.Locale;
import lombok.Cleanup;
import org.bukkit.Server;
import org.bukkit.command.CommandSender;
import org.bukkit.entity.Player;
@@ -37,7 +39,7 @@ public class Commandeco extends EssentialsCommand
{
for (Player onlinePlayer : server.getOnlinePlayers())
{
final User player = ess.getUser(onlinePlayer);
final IUser player = ess.getUser(onlinePlayer);
switch (cmd)
{
case GIVE:
@@ -49,14 +51,16 @@ public class Commandeco extends EssentialsCommand
break;
case RESET:
player.setMoney(amount == 0 ? ess.getSettings().getStartingBalance() : amount);
@Cleanup ISettings settings = ess.getSettings();
settings.acquireReadLock();
player.setMoney(amount == 0 ? settings.getData().getEconomy().getStartingBalance() : amount);
break;
}
}
}
else
{
final User player = getPlayer(server, args, 1, true);
final IUser player = getPlayer(server, args, 1, true);
switch (cmd)
{
case GIVE:
@@ -68,7 +72,9 @@ public class Commandeco extends EssentialsCommand
break;
case RESET:
player.setMoney(amount == 0 ? ess.getSettings().getStartingBalance() : amount);
@Cleanup ISettings settings = ess.getSettings();
settings.acquireReadLock();
player.setMoney(amount == 0 ? settings.getData().getEconomy().getStartingBalance() : amount);
break;
}
}

View File

@@ -2,7 +2,7 @@ package com.earth2me.essentials.commands;
import com.earth2me.essentials.Enchantments;
import static com.earth2me.essentials.I18n._;
import com.earth2me.essentials.User;
import com.earth2me.essentials.api.IUser;
import com.earth2me.essentials.Util;
import java.util.*;
import org.bukkit.Server;
@@ -19,7 +19,7 @@ public class Commandenchant extends EssentialsCommand
//TODO: Implement charge costs: final Trade charge = new Trade("enchant-" + enchantmentName, ess);
@Override
protected void run(final Server server, final User user, final String commandLabel, final String[] args) throws Exception
protected void run(final Server server, final IUser user, final String commandLabel, final String[] args) throws Exception
{
final ItemStack stack = user.getItemInHand();
if (stack == null)
@@ -78,7 +78,7 @@ public class Commandenchant extends EssentialsCommand
}
}
public static Enchantment getEnchantment(final String name, final User user) throws Exception
public static Enchantment getEnchantment(final String name, final IUser user) throws Exception
{
final Enchantment enchantment = Enchantments.getByName(name);

View File

@@ -1,9 +1,10 @@
package com.earth2me.essentials.commands;
import com.earth2me.essentials.api.ISettings;
import static com.earth2me.essentials.I18n._;
import com.earth2me.essentials.Util;
import java.util.HashMap;
import java.util.Map;
import lombok.Cleanup;
import org.bukkit.Location;
import org.bukkit.Material;
import org.bukkit.Server;
@@ -58,8 +59,11 @@ public class Commandessentials extends EssentialsCommand
private void run_debug(final Server server, final CommandSender sender, final String commandLabel, final String[] args) throws Exception
{
ess.getSettings().setDebug(!ess.getSettings().isDebug());
sender.sendMessage("Essentials " + ess.getDescription().getVersion() + " debug mode " + (ess.getSettings().isDebug() ? "enabled" : "disabled"));
@Cleanup
ISettings settings = ess.getSettings();
settings.acquireWriteLock();
settings.getData().getGeneral().setDebug(!settings.getData().getGeneral().isDebug());
sender.sendMessage("Essentials " + ess.getDescription().getVersion() + " debug mode " + (settings.getData().getGeneral().isDebug() ? "enabled" : "disabled"));
}
private void run_reload(final Server server, final CommandSender sender, final String commandLabel, final String[] args) throws Exception
@@ -149,7 +153,7 @@ public class Commandessentials extends EssentialsCommand
private void stopTune()
{
ess.getScheduler().cancelTask(taskid);
ess.getServer().getScheduler().cancelTask(taskid);
for (Block block : noteBlocks.values())
{
if (block.getType() == Material.NOTE_BLOCK)

View File

@@ -1,7 +1,7 @@
package com.earth2me.essentials.commands;
import static com.earth2me.essentials.I18n._;
import com.earth2me.essentials.User;
import com.earth2me.essentials.api.IUser;
import org.bukkit.Server;
import org.bukkit.command.CommandSender;
import org.bukkit.entity.Player;
@@ -26,7 +26,7 @@ public class Commandext extends EssentialsCommand
}
@Override
public void run(final Server server, final User user, final String commandLabel, final String[] args) throws Exception
public void run(final Server server, final IUser user, final String commandLabel, final String[] args) throws Exception
{
if (args.length < 1)
{

View File

@@ -1,7 +1,7 @@
package com.earth2me.essentials.commands;
import static com.earth2me.essentials.I18n._;
import com.earth2me.essentials.User;
import com.earth2me.essentials.api.IUser;
import java.util.List;
import org.bukkit.Server;
import org.bukkit.command.CommandSender;
@@ -16,11 +16,11 @@ public class Commandfeed extends EssentialsCommand
}
@Override
protected void run(final Server server, final User user, final String commandLabel, final String[] args) throws Exception
protected void run(final Server server, final IUser user, final String commandLabel, final String[] args) throws Exception
{
if (args.length > 0 && user.isAuthorized("essentials.feed.others"))
{
feedOtherPlayers(server,user,args[0]);
feedOtherPlayers(server, user, args[0]);
}
else
{
@@ -30,7 +30,7 @@ public class Commandfeed extends EssentialsCommand
}
}
private void feedOtherPlayers(final Server server, final CommandSender sender, final String name)
private void feedOtherPlayers(final Server server, final CommandSender sender, final String name)
{
final List<Player> players = server.matchPlayer(name);
if (players.isEmpty())

View File

@@ -1,6 +1,6 @@
package com.earth2me.essentials.commands;
import com.earth2me.essentials.User;
import com.earth2me.essentials.api.IUser;
import org.bukkit.Server;
import org.bukkit.entity.Fireball;
import org.bukkit.entity.SmallFireball;
@@ -15,7 +15,7 @@ public class Commandfireball extends EssentialsCommand
}
@Override
protected void run(final Server server, final User user, final String commandLabel, final String[] args) throws Exception
protected void run(final Server server, final IUser user, final String commandLabel, final String[] args) throws Exception
{
boolean small = false;
if (args.length > 0 && args[0].equalsIgnoreCase("small"))
@@ -23,7 +23,7 @@ public class Commandfireball extends EssentialsCommand
small = true;
}
final Vector direction = user.getEyeLocation().getDirection().multiply(2);
Fireball fireball = user.getWorld().spawn(user.getEyeLocation().add(direction.getX(), direction.getY(), direction.getZ()), small ? SmallFireball.class : Fireball.class);
final Fireball fireball = user.getWorld().spawn(user.getEyeLocation().add(direction.getX(), direction.getY(), direction.getZ()), small ? SmallFireball.class : Fireball.class);
fireball.setShooter(user.getBase());
}
}

View File

@@ -1,7 +1,7 @@
package com.earth2me.essentials.commands;
import static com.earth2me.essentials.I18n._;
import com.earth2me.essentials.User;
import com.earth2me.essentials.api.IUser;
import java.util.Locale;
import org.bukkit.GameMode;
import org.bukkit.Server;
@@ -28,7 +28,7 @@ public class Commandgamemode extends EssentialsCommand
}
@Override
protected void run(final Server server, final User user, final String commandLabel, final String[] args) throws Exception
protected void run(final Server server, final IUser user, final String commandLabel, final String[] args) throws Exception
{
if (args.length > 0 && !args[0].trim().isEmpty() && user.isAuthorized("essentials.gamemode.others"))
{
@@ -44,7 +44,7 @@ public class Commandgamemode extends EssentialsCommand
{
for (Player matchPlayer : server.matchPlayer(name))
{
final User player = ess.getUser(matchPlayer);
final IUser player = ess.getUser(matchPlayer);
if (player.isHidden())
{
continue;

View File

@@ -1,6 +1,6 @@
package com.earth2me.essentials.commands;
import com.earth2me.essentials.User;
import com.earth2me.essentials.api.IUser;
import org.bukkit.Location;
import org.bukkit.Server;
import org.bukkit.command.CommandSender;
@@ -14,11 +14,11 @@ public class Commandgetpos extends EssentialsCommand
}
@Override
public void run(final Server server, final User user, final String commandLabel, final String[] args) throws Exception
public void run(final Server server, final IUser user, final String commandLabel, final String[] args) throws Exception
{
if (args.length > 0 && user.isAuthorized("essentials.getpos.others"))
{
final User otherUser = getPlayer(server, args, 0);
final IUser otherUser = getPlayer(server, args, 0);
outputPosition(user, otherUser.getLocation(), user.getLocation());
}
else
@@ -34,7 +34,7 @@ public class Commandgetpos extends EssentialsCommand
{
throw new NotEnoughArgumentsException();
}
final User user = getPlayer(server, args, 0);
final IUser user = getPlayer(server, args, 0);
outputPosition(sender, user.getLocation(), null);
}

View File

@@ -1,7 +1,7 @@
package com.earth2me.essentials.commands;
import com.earth2me.essentials.craftbukkit.InventoryWorkaround;
import com.earth2me.essentials.User;
import com.earth2me.essentials.api.IUser;
import java.util.Locale;
import org.bukkit.ChatColor;
import org.bukkit.Material;

View File

@@ -1,7 +1,7 @@
package com.earth2me.essentials.commands;
import static com.earth2me.essentials.I18n._;
import com.earth2me.essentials.User;
import com.earth2me.essentials.api.IUser;
import org.bukkit.Server;
import org.bukkit.command.CommandSender;
import org.bukkit.entity.Player;
@@ -26,7 +26,7 @@ public class Commandgod extends EssentialsCommand
}
@Override
protected void run(final Server server, final User user, final String commandLabel, final String[] args) throws Exception
protected void run(final Server server, final IUser user, final String commandLabel, final String[] args) throws Exception
{
if (args.length > 0 && !args[0].trim().isEmpty() && user.isAuthorized("essentials.god.others"))
{
@@ -41,7 +41,7 @@ public class Commandgod extends EssentialsCommand
{
for (Player matchPlayer : server.matchPlayer(name))
{
final User player = ess.getUser(matchPlayer);
final IUser player = ess.getUser(matchPlayer);
if (player.isHidden())
{
continue;

View File

@@ -1,7 +1,8 @@
package com.earth2me.essentials.commands;
import static com.earth2me.essentials.I18n._;
import com.earth2me.essentials.User;
import com.earth2me.essentials.api.IUser;
import com.earth2me.essentials.user.UserData.TimestampType;
import java.util.List;
import org.bukkit.Server;
import org.bukkit.command.CommandSender;
@@ -16,23 +17,19 @@ public class Commandheal extends EssentialsCommand
}
@Override
public void run(final Server server, final User user, final String commandLabel, final String[] args) throws Exception
public void run(final Server server, final IUser user, final String commandLabel, final String[] args) throws Exception
{
if (args.length > 0 && user.isAuthorized("essentials.heal.others"))
{
if (!user.isAuthorized("essentials.heal.cooldown.bypass"))
{
user.healCooldown();
}
user.checkCooldown(TimestampType.LASTHEAL, ess.getGroups().getHealCooldown(user), true, "essentials.heal.cooldown.bypass");
healOtherPlayers(server, user, args[0]);
return;
}
if (!user.isAuthorized("essentials.heal.cooldown.bypass"))
{
user.healCooldown();
}
user.checkCooldown(TimestampType.LASTHEAL, ess.getGroups().getHealCooldown(user), true, "essentials.heal.cooldown.bypass");
user.setHealth(20);
user.setFoodLevel(20);
user.sendMessage(_("heal"));

View File

@@ -1,7 +1,7 @@
package com.earth2me.essentials.commands;
import static com.earth2me.essentials.I18n._;
import com.earth2me.essentials.User;
import com.earth2me.essentials.api.IUser;
import com.earth2me.essentials.Util;
import com.earth2me.essentials.textreader.*;
import org.bukkit.Server;
@@ -16,7 +16,7 @@ public class Commandhelp extends EssentialsCommand
}
@Override
protected void run(final Server server, final User user, final String commandLabel, final String[] args) throws Exception
protected void run(final Server server, final IUser user, final String commandLabel, final String[] args) throws Exception
{
IText output;
String pageStr = args.length > 0 ? args[0] : null;

View File

@@ -1,7 +1,7 @@
package com.earth2me.essentials.commands;
import static com.earth2me.essentials.I18n._;
import com.earth2me.essentials.User;
import com.earth2me.essentials.api.IUser;
import java.util.logging.Level;
import org.bukkit.Server;
import org.bukkit.entity.Player;
@@ -15,7 +15,7 @@ public class Commandhelpop extends EssentialsCommand
}
@Override
public void run(final Server server, final User user, final String commandLabel, final String[] args) throws Exception
public void run(final Server server, final IUser user, final String commandLabel, final String[] args) throws Exception
{
if (args.length < 1)
{
@@ -26,7 +26,7 @@ public class Commandhelpop extends EssentialsCommand
logger.log(Level.INFO, message);
for (Player onlinePlayer : server.getOnlinePlayers())
{
final User player = ess.getUser(onlinePlayer);
final IUser player = ess.getUser(onlinePlayer);
if (!player.isAuthorized("essentials.helpop.receive"))
{
continue;

View File

@@ -2,10 +2,11 @@ package com.earth2me.essentials.commands;
import static com.earth2me.essentials.I18n._;
import com.earth2me.essentials.Trade;
import com.earth2me.essentials.User;
import com.earth2me.essentials.api.IUser;
import com.earth2me.essentials.Util;
import java.util.List;
import java.util.Locale;
import lombok.Cleanup;
import org.bukkit.Location;
import org.bukkit.Server;
import org.bukkit.event.player.PlayerTeleportEvent.TeleportCause;
@@ -19,11 +20,11 @@ public class Commandhome extends EssentialsCommand
}
@Override
public void run(final Server server, final User user, final String commandLabel, final String[] args) throws Exception
public void run(final Server server, final IUser user, final String commandLabel, final String[] args) throws Exception
{
final Trade charge = new Trade(this.getName(), ess);
charge.isAffordableFor(user);
User player = user;
IUser player = user;
String homeName = "";
String[] nameParts;
if (args.length > 0)

View File

@@ -1,7 +1,7 @@
package com.earth2me.essentials.commands;
import static com.earth2me.essentials.I18n._;
import com.earth2me.essentials.User;
import com.earth2me.essentials.api.IUser;
import org.bukkit.Server;
@@ -13,13 +13,13 @@ public class Commandignore extends EssentialsCommand
}
@Override
protected void run(final Server server, final User user, final String commandLabel, final String[] args) throws Exception
protected void run(final Server server, final IUser user, final String commandLabel, final String[] args) throws Exception
{
if (args.length < 1)
{
throw new NotEnoughArgumentsException();
}
User player;
IUser player;
try
{
player = getPlayer(server, args, 0);
@@ -33,7 +33,8 @@ public class Commandignore extends EssentialsCommand
throw new Exception(_("playerNotFound"));
}
final String name = player.getName();
if (user.isIgnoredPlayer(name))
user.acquireWriteLock();
if (user.isIgnoringPlayer(name))
{
user.setIgnoredPlayer(name, false);
user.sendMessage(_("unignorePlayer", player.getName()));

View File

@@ -1,7 +1,8 @@
package com.earth2me.essentials.commands;
import static com.earth2me.essentials.I18n._;
import com.earth2me.essentials.User;
import com.earth2me.essentials.api.IUser;
import com.earth2me.essentials.user.Inventory;
import java.util.Arrays;
import org.bukkit.Server;
import org.bukkit.inventory.ItemStack;
@@ -15,29 +16,29 @@ public class Commandinvsee extends EssentialsCommand
}
@Override
protected void run(final Server server, final User user, final String commandLabel, final String[] args) throws Exception
protected void run(final Server server, final IUser user, final String commandLabel, final String[] args) throws Exception
{
if (args.length < 1 && user.getSavedInventory() == null)
if (args.length < 1 && user.getData().getInventory() == null)
{
throw new NotEnoughArgumentsException();
}
User invUser = user;
IUser invUser = user;
if (args.length == 1)
{
invUser = getPlayer(server, args, 0);
}
if (invUser == user && user.getSavedInventory() != null)
user.acquireWriteLock();
if (invUser == user && user.getData().getInventory() != null)
{
invUser.getInventory().setContents(user.getSavedInventory());
user.setSavedInventory(null);
invUser.getInventory().setContents(user.getData().getInventory().getBukkitInventory());
user.getData().setInventory(null);
user.sendMessage(_("invRestored"));
throw new NoChargeException();
}
if (user.getSavedInventory() == null)
if (user.getData().getInventory() == null)
{
user.setSavedInventory(user.getInventory().getContents());
user.getData().setInventory(new Inventory(user.getInventory().getContents()));
}
ItemStack[] invUserStack = invUser.getInventory().getContents();
final int userStackLength = user.getInventory().getContents().length;

View File

@@ -2,7 +2,7 @@ package com.earth2me.essentials.commands;
import static com.earth2me.essentials.I18n._;
import com.earth2me.essentials.Trade;
import com.earth2me.essentials.User;
import com.earth2me.essentials.api.IUser;
import com.earth2me.essentials.Util;
import org.bukkit.Location;
import org.bukkit.Server;
@@ -17,7 +17,7 @@ public class Commandjump extends EssentialsCommand
}
@Override
public void run(final Server server, final User user, final String commandLabel, final String[] args) throws Exception
public void run(final Server server, final IUser user, final String commandLabel, final String[] args) throws Exception
{
Location loc;
final Location cloc = user.getLocation();

View File

@@ -2,7 +2,7 @@ package com.earth2me.essentials.commands;
import com.earth2me.essentials.Console;
import static com.earth2me.essentials.I18n._;
import com.earth2me.essentials.User;
import com.earth2me.essentials.api.IUser;
import org.bukkit.Server;
import org.bukkit.command.CommandSender;
import org.bukkit.entity.Player;
@@ -23,7 +23,7 @@ public class Commandkick extends EssentialsCommand
throw new NotEnoughArgumentsException();
}
final User user = getPlayer(server, args, 0);
final IUser user = getPlayer(server, args, 0);
if (user.isAuthorized("essentials.kick.exempt"))
{
throw new Exception(_("kickExempt"));
@@ -34,7 +34,7 @@ public class Commandkick extends EssentialsCommand
for (Player onlinePlayer : server.getOnlinePlayers())
{
User player = ess.getUser(onlinePlayer);
final IUser player = ess.getUser(onlinePlayer);
if (player.isAuthorized("essentials.kick.notify"))
{
onlinePlayer.sendMessage(_("playerKicked", senderName, user.getName(), kickReason));

View File

@@ -1,6 +1,7 @@
package com.earth2me.essentials.commands;
import com.earth2me.essentials.*;
import com.earth2me.essentials.api.IUser;
import static com.earth2me.essentials.I18n._;
import java.util.*;
import org.bukkit.Server;
@@ -14,7 +15,7 @@ public class Commandkit extends EssentialsCommand
}
@Override
public void run(final Server server, final User user, final String commandLabel, final String[] args) throws Exception
public void run(final Server server, final IUser user, final String commandLabel, final String[] args) throws Exception
{
if (args.length < 1)
{

View File

@@ -1,7 +1,9 @@
package com.earth2me.essentials.commands;
import com.earth2me.essentials.api.ISettings;
import static com.earth2me.essentials.I18n._;
import com.earth2me.essentials.User;
import com.earth2me.essentials.api.IUser;
import lombok.Cleanup;
import org.bukkit.Server;
import org.bukkit.command.CommandSender;
import org.bukkit.entity.LightningStrike;
@@ -19,7 +21,7 @@ public class Commandlightning extends EssentialsCommand
public void run(final Server server, final CommandSender sender, final String commandLabel, final String[] args) throws Exception
{
User user = null;
IUser user = null;
if (sender instanceof Player)
{
user = ess.getUser(((Player)sender));
@@ -63,7 +65,10 @@ public class Commandlightning extends EssentialsCommand
{
matchPlayer.setHealth(matchPlayer.getHealth() < 5 ? 0 : matchPlayer.getHealth() - 5);
}
if (ess.getSettings().warnOnSmite())
@Cleanup
final ISettings settings = ess.getSettings();
settings.acquireReadLock();
if (settings.getData().getCommands().getLightning().isWarnPlayer())
{
matchPlayer.sendMessage(_("lightningSmited"));
}

View File

@@ -1,7 +1,7 @@
package com.earth2me.essentials.commands;
import static com.earth2me.essentials.I18n._;
import com.earth2me.essentials.User;
import com.earth2me.essentials.api.IUser;
import java.util.*;
import org.bukkit.Server;
import org.bukkit.command.CommandSender;
@@ -43,26 +43,28 @@ public class Commandlist extends EssentialsCommand
if (showhidden && playerHidden > 0)
{
online = _("listAmountHidden", server.getOnlinePlayers().length - playerHidden, playerHidden, server.getMaxPlayers());
} else {
online = _("listAmount",server.getOnlinePlayers().length - playerHidden, server.getMaxPlayers());
}
else
{
online = _("listAmount", server.getOnlinePlayers().length - playerHidden, server.getMaxPlayers());
}
sender.sendMessage(online);
if (ess.getSettings().getSortListByGroups())
{
Map<String, List<User>> sort = new HashMap<String, List<User>>();
Map<String, List<IUser>> sort = new HashMap<String, List<IUser>>();
for (Player OnlinePlayer : server.getOnlinePlayers())
{
final User player = ess.getUser(OnlinePlayer);
final IUser player = ess.getUser(OnlinePlayer);
if (player.isHidden() && !showhidden)
{
continue;
}
final String group = player.getGroup();
List<User> list = sort.get(group);
List<IUser> list = sort.get(group);
if (list == null)
{
list = new ArrayList<User>();
list = new ArrayList<IUser>();
sort.put(group, list);
}
list.add(player);
@@ -73,10 +75,10 @@ public class Commandlist extends EssentialsCommand
{
final StringBuilder groupString = new StringBuilder();
groupString.append(group).append(": ");
final List<User> users = sort.get(group);
final List<IUser> users = sort.get(group);
Collections.sort(users);
boolean first = true;
for (User user : users)
for (IUser user : users)
{
if (!first)
{
@@ -86,9 +88,17 @@ public class Commandlist extends EssentialsCommand
{
first = false;
}
if (user.isAfk())
user.acquireReadLock();
try
{
groupString.append(_("listAfkTag"));
if (user.getData().isAfk())
{
groupString.append(_("listAfkTag"));
}
}
finally
{
user.unlock();
}
if (user.isHidden())
{
@@ -102,10 +112,10 @@ public class Commandlist extends EssentialsCommand
}
else
{
final List<User> users = new ArrayList<User>();
final List<IUser> users = new ArrayList<IUser>();
for (Player OnlinePlayer : server.getOnlinePlayers())
{
final User player = ess.getUser(OnlinePlayer);
final IUser player = ess.getUser(OnlinePlayer);
if (player.isHidden() && !showhidden)
{
continue;
@@ -117,7 +127,7 @@ public class Commandlist extends EssentialsCommand
final StringBuilder onlineUsers = new StringBuilder();
onlineUsers.append(_("connectedPlayers"));
boolean first = true;
for (User user : users)
for (IUser user : users)
{
if (!first)
{
@@ -127,9 +137,17 @@ public class Commandlist extends EssentialsCommand
{
first = false;
}
if (user.isAfk())
user.acquireReadLock();
try
{
onlineUsers.append(_("listAfkTag"));
if (user.getData().isAfk())
{
onlineUsers.append(_("listAfkTag"));
}
}
finally
{
user.unlock();
}
if (user.isHidden())
{

View File

@@ -1,9 +1,8 @@
package com.earth2me.essentials.commands;
import static com.earth2me.essentials.I18n._;
import com.earth2me.essentials.User;
import com.earth2me.essentials.api.IUser;
import java.util.List;
import org.bukkit.ChatColor;
import org.bukkit.Server;
import org.bukkit.command.CommandSender;
import org.bukkit.entity.Player;
@@ -18,12 +17,12 @@ public class Commandmail extends EssentialsCommand
//TODO: Tidy this up
@Override
public void run(final Server server, final User user, final String commandLabel, final String[] args) throws Exception
public void run(final Server server, final IUser user, final String commandLabel, final String[] args) throws Exception
{
if (args.length >= 1 && "read".equalsIgnoreCase(args[0]))
{
final List<String> mail = user.getMails();
if (mail.isEmpty())
final List<String> mail = user.getData().getMails();
if (mail == null || mail.isEmpty())
{
user.sendMessage(_("noMail"));
throw new NoChargeException();
@@ -43,7 +42,7 @@ public class Commandmail extends EssentialsCommand
}
Player player = server.getPlayer(args[1]);
User u;
IUser u;
if (player != null)
{
u = ess.getUser(player);
@@ -56,7 +55,7 @@ public class Commandmail extends EssentialsCommand
{
throw new Exception(_("playerNeverOnServer", args[1]));
}
if (!u.isIgnoredPlayer(user.getName()))
if (!u.isIgnoringPlayer(user.getName()))
{
u.addMail(user.getName() + ": " + getFinalArg(args, 2));
}
@@ -75,7 +74,8 @@ public class Commandmail extends EssentialsCommand
}
if (args.length >= 1 && "clear".equalsIgnoreCase(args[0]))
{
user.setMails(null);
user.acquireWriteLock();
user.getData().setMails(null);
user.sendMessage(_("mailCleared"));
return;
}
@@ -96,7 +96,7 @@ public class Commandmail extends EssentialsCommand
else if (args.length >= 3 && "send".equalsIgnoreCase(args[0]))
{
Player player = server.getPlayer(args[1]);
User u;
IUser u;
if (player != null)
{
u = ess.getUser(player);
@@ -121,7 +121,7 @@ public class Commandmail extends EssentialsCommand
{
//allow sending from console without "send" argument, since it's the only thing the console can do
Player player = server.getPlayer(args[0]);
User u;
IUser u;
if (player != null)
{
u = ess.getUser(player);
@@ -156,7 +156,7 @@ public class Commandmail extends EssentialsCommand
{
for (String username : ess.getUserMap().getAllUniqueUsers())
{
User user = ess.getUserMap().getUser(username);
IUser user = ess.getUserMap().getUser(username);
if (user != null)
{
user.addMail(message);

View File

@@ -1,7 +1,7 @@
package com.earth2me.essentials.commands;
import static com.earth2me.essentials.I18n._;
import com.earth2me.essentials.User;
import com.earth2me.essentials.api.IUser;
import org.bukkit.Server;
@@ -13,9 +13,9 @@ public class Commandme extends EssentialsCommand
}
@Override
public void run(Server server, User user, String commandLabel, String[] args) throws Exception
public void run(final Server server, final IUser user, final String commandLabel, final String[] args) throws Exception
{
if (user.isMuted())
if (user.getData().isMuted())
{
throw new Exception(_("voiceSilenced"));
}

View File

@@ -1,7 +1,7 @@
package com.earth2me.essentials.commands;
import static com.earth2me.essentials.I18n._;
import com.earth2me.essentials.User;
import com.earth2me.essentials.api.IUser;
import java.util.Locale;
import org.bukkit.Server;
import org.bukkit.inventory.ItemStack;
@@ -15,7 +15,7 @@ public class Commandmore extends EssentialsCommand
}
@Override
public void run(final Server server, final User user, final String commandLabel, final String[] args) throws Exception
public void run(final Server server, final IUser user, final String commandLabel, final String[] args) throws Exception
{
final ItemStack stack = user.getItemInHand();
if (stack == null)

View File

@@ -2,9 +2,10 @@ package com.earth2me.essentials.commands;
import com.earth2me.essentials.Console;
import static com.earth2me.essentials.I18n._;
import com.earth2me.essentials.IReplyTo;
import com.earth2me.essentials.User;
import com.earth2me.essentials.api.IReplyTo;
import com.earth2me.essentials.api.IUser;
import java.util.List;
import lombok.Cleanup;
import org.bukkit.Server;
import org.bukkit.command.CommandSender;
import org.bukkit.entity.Player;
@@ -18,7 +19,7 @@ public class Commandmsg extends EssentialsCommand
}
@Override
public void run(Server server, CommandSender sender, String commandLabel, String[] args) throws Exception
public void run(final Server server, final CommandSender sender, final String commandLabel, String[] args) throws Exception
{
if (args.length < 2 || args[0].trim().isEmpty() || args[1].trim().isEmpty())
{
@@ -27,8 +28,10 @@ public class Commandmsg extends EssentialsCommand
if (sender instanceof Player)
{
User user = ess.getUser(sender);
if (user.isMuted())
@Cleanup
IUser user = ess.getUser(sender);
user.acquireReadLock();
if (user.getData().isMuted())
{
throw new Exception(_("voiceSilenced"));
}
@@ -60,7 +63,7 @@ public class Commandmsg extends EssentialsCommand
int i = 0;
for (Player p : matches)
{
final User u = ess.getUser(p);
final IUser u = ess.getUser(p);
if (u.isHidden())
{
i++;
@@ -74,8 +77,8 @@ public class Commandmsg extends EssentialsCommand
for (Player p : matches)
{
sender.sendMessage(_("msgFormat", translatedMe, p.getDisplayName(), message));
final User u = ess.getUser(p);
if (sender instanceof Player && (u.isIgnoredPlayer(((Player)sender).getName()) || u.isHidden()))
final IUser u = ess.getUser(p);
if (sender instanceof Player && (u.isIgnoringPlayer(((Player)sender).getName()) || u.isHidden()))
{
continue;
}

View File

@@ -1,8 +1,10 @@
package com.earth2me.essentials.commands;
import static com.earth2me.essentials.I18n._;
import com.earth2me.essentials.User;
import com.earth2me.essentials.api.IUser;
import com.earth2me.essentials.Util;
import com.earth2me.essentials.user.UserData.TimestampType;
import lombok.Cleanup;
import org.bukkit.Server;
import org.bukkit.command.CommandSender;
@@ -22,8 +24,10 @@ public class Commandmute extends EssentialsCommand
throw new NotEnoughArgumentsException();
}
final User player = getPlayer(server, args, 0, true);
if (!player.isMuted() && player.isAuthorized("essentials.mute.exempt"))
@Cleanup
final IUser player = getPlayer(server, args, 0, true);
player.acquireReadLock();
if (!player.getData().isMuted() && player.isAuthorized("essentials.mute.exempt"))
{
throw new Exception(_("muteExempt"));
}
@@ -33,7 +37,7 @@ public class Commandmute extends EssentialsCommand
String time = getFinalArg(args, 1);
muteTimestamp = Util.parseDateDiff(time, true);
}
player.setMuteTimeout(muteTimestamp);
player.setTimestamp(TimestampType.MUTE, muteTimestamp);
final boolean muted = player.toggleMuted();
sender.sendMessage(
muted

View File

@@ -1,7 +1,7 @@
package com.earth2me.essentials.commands;
import static com.earth2me.essentials.I18n._;
import com.earth2me.essentials.User;
import com.earth2me.essentials.api.IUser;
import org.bukkit.Location;
import org.bukkit.Server;
import org.bukkit.World;
@@ -17,10 +17,10 @@ public class Commandnear extends EssentialsCommand
}
@Override
protected void run(final Server server, final User user, final String commandLabel, final String[] args) throws Exception
protected void run(final Server server, final IUser user, final String commandLabel, final String[] args) throws Exception
{
long radius = 200;
User otherUser = null;
IUser otherUser = null;
if (args.length > 0)
{
@@ -63,7 +63,7 @@ public class Commandnear extends EssentialsCommand
protected void run(final Server server, final CommandSender sender, final String commandLabel, final String[] args) throws Exception
{
User otherUser = null;
IUser otherUser = null;
if (args.length > 0)
{
otherUser = getPlayer(server, args, 0);
@@ -86,7 +86,7 @@ public class Commandnear extends EssentialsCommand
sender.sendMessage(_("nearbyPlayers", getLocal(server, otherUser, radius)));
}
private String getLocal(final Server server, final User user, final long radius)
private String getLocal(final Server server, final IUser user, final long radius)
{
final Location loc = user.getLocation();
final World world = loc.getWorld();
@@ -95,7 +95,7 @@ public class Commandnear extends EssentialsCommand
for (Player onlinePlayer : server.getOnlinePlayers())
{
final User player = ess.getUser(onlinePlayer);
final IUser player = ess.getUser(onlinePlayer);
if (!player.equals(user) && !player.isHidden())
{
final Location playerLoc = player.getLocation();

View File

@@ -1,8 +1,10 @@
package com.earth2me.essentials.commands;
import com.earth2me.essentials.api.ISettings;
import static com.earth2me.essentials.I18n._;
import com.earth2me.essentials.User;
import com.earth2me.essentials.api.IUser;
import java.util.Locale;
import lombok.Cleanup;
import org.bukkit.Server;
import org.bukkit.command.CommandSender;
import org.bukkit.entity.Player;
@@ -16,13 +18,16 @@ public class Commandnick extends EssentialsCommand
}
@Override
public void run(final Server server, final User user, final String commandLabel, final String[] args) throws Exception
public void run(final Server server, final IUser user, final String commandLabel, final String[] args) throws Exception
{
if (args.length < 1)
{
throw new NotEnoughArgumentsException();
}
if (!ess.getSettings().changeDisplayName())
@Cleanup
final ISettings settings = ess.getSettings();
settings.acquireReadLock();
if (!settings.getData().getChat().getChangeDisplayname())
{
throw new Exception(_("nickDisplayName"));
}
@@ -46,7 +51,10 @@ public class Commandnick extends EssentialsCommand
{
throw new NotEnoughArgumentsException();
}
if (!ess.getSettings().changeDisplayName())
@Cleanup
final ISettings settings = ess.getSettings();
settings.acquireReadLock();
if (!settings.getData().getChat().getChangeDisplayname())
{
throw new Exception(_("nickDisplayName"));
}
@@ -61,7 +69,7 @@ public class Commandnick extends EssentialsCommand
sender.sendMessage(_("nickChanged"));
}
private String formatNickname(final User user, final String nick)
private String formatNickname(final IUser user, final String nick)
{
if (user == null || user.isAuthorized("essentials.nick.color"))
{
@@ -84,7 +92,7 @@ public class Commandnick extends EssentialsCommand
}
}
private void setNickname(final Server server, final User target, final String nick) throws Exception
private void setNickname(final Server server, final IUser target, final String nick) throws Exception
{
if (nick.matches("[^a-zA-Z_0-9]"))
{

View File

@@ -2,7 +2,7 @@ package com.earth2me.essentials.commands;
import static com.earth2me.essentials.I18n._;
import com.earth2me.essentials.Trade;
import com.earth2me.essentials.User;
import com.earth2me.essentials.api.IUser;
import org.bukkit.Server;
import org.bukkit.entity.Player;
@@ -15,7 +15,7 @@ public class Commandpay extends EssentialsCommand
}
@Override
public void run(Server server, User user, String commandLabel, String[] args) throws Exception
public void run(final Server server, final IUser user, final String commandLabel, final String[] args) throws Exception
{
if (args.length < 2)
{
@@ -27,7 +27,7 @@ public class Commandpay extends EssentialsCommand
Boolean foundUser = false;
for (Player p : server.matchPlayer(args[0]))
{
User u = ess.getUser(p);
IUser u = ess.getUser(p);
if (u.isHidden())
{
continue;

View File

@@ -1,7 +1,7 @@
package com.earth2me.essentials.commands;
import static com.earth2me.essentials.I18n._;
import com.earth2me.essentials.User;
import com.earth2me.essentials.api.IUser;
import org.bukkit.Server;
@@ -13,7 +13,7 @@ public class Commandping extends EssentialsCommand
}
@Override
public void run(Server server, User player, String commandLabel, String[] args) throws Exception
public void run(final Server server, final IUser player, final String commandLabel, final String[] args) throws Exception
{
player.sendMessage(_("pong"));
}

View File

@@ -1,7 +1,7 @@
package com.earth2me.essentials.commands;
import static com.earth2me.essentials.I18n._;
import com.earth2me.essentials.User;
import com.earth2me.essentials.api.IUser;
import com.earth2me.essentials.Util;
import java.util.ArrayList;
import java.util.List;
@@ -19,7 +19,7 @@ public class Commandpowertool extends EssentialsCommand
}
@Override
protected void run(final Server server, final User user, final String commandLabel, final String[] args) throws Exception
protected void run(final Server server, final IUser user, final String commandLabel, final String[] args) throws Exception
{
String command = getFinalArg(args, 0);

View File

@@ -1,7 +1,7 @@
package com.earth2me.essentials.commands;
import static com.earth2me.essentials.I18n._;
import com.earth2me.essentials.User;
import com.earth2me.essentials.api.IUser;
import org.bukkit.Server;
@@ -13,7 +13,7 @@ public class Commandpowertooltoggle extends EssentialsCommand
}
@Override
protected void run(final Server server, final User user, final String commandLabel, final String[] args) throws Exception
protected void run(final Server server, final IUser user, final String commandLabel, final String[] args) throws Exception
{
if (!user.hasPowerTools())
{

View File

@@ -2,7 +2,7 @@ package com.earth2me.essentials.commands;
import com.earth2me.essentials.DescParseTickFormat;
import static com.earth2me.essentials.I18n._;
import com.earth2me.essentials.User;
import com.earth2me.essentials.api.IUser;
import java.util.*;
import org.bukkit.Server;
import org.bukkit.World;
@@ -36,7 +36,7 @@ public class Commandptime extends EssentialsCommand
{
userSelector = args[1];
}
Set<User> users = getUsers(server, sender, userSelector);
Set<IUser> users = getUsers(server, sender, userSelector);
// If no arguments we are reading the time
if (args.length == 0)
@@ -45,7 +45,7 @@ public class Commandptime extends EssentialsCommand
return;
}
User user = ess.getUser(sender);
IUser user = ess.getUser(sender);
if ((!users.contains(user) || users.size() > 1) && user != null && !user.isAuthorized("essentials.ptime.others"))
{
user.sendMessage(_("pTimeOthersPermission"));
@@ -89,14 +89,14 @@ public class Commandptime extends EssentialsCommand
/**
* Used to get the time and inform
*/
private void getUsersTime(final CommandSender sender, final Collection<User> users)
private void getUsersTime(final CommandSender sender, final Collection<IUser> users)
{
if (users.size() > 1)
{
sender.sendMessage(_("pTimePlayers"));
}
for (User user : users)
for (IUser user : users)
{
if (user.getPlayerTimeOffset() == 0)
{
@@ -120,13 +120,13 @@ public class Commandptime extends EssentialsCommand
/**
* Used to set the time and inform of the change
*/
private void setUsersTime(final CommandSender sender, final Collection<User> users, final Long ticks, Boolean relative)
private void setUsersTime(final CommandSender sender, final Collection<IUser> users, final Long ticks, Boolean relative)
{
// Update the time
if (ticks == null)
{
// Reset
for (User user : users)
for (IUser user : users)
{
user.resetPlayerTime();
}
@@ -134,7 +134,7 @@ public class Commandptime extends EssentialsCommand
else
{
// Set
for (User user : users)
for (IUser user : users)
{
final World world = user.getWorld();
long time = user.getPlayerTime();
@@ -149,7 +149,7 @@ public class Commandptime extends EssentialsCommand
}
final StringBuilder msg = new StringBuilder();
for (User user : users)
for (IUser user : users)
{
if (msg.length() > 0)
{
@@ -181,13 +181,13 @@ public class Commandptime extends EssentialsCommand
/**
* Used to parse an argument of the type "users(s) selector"
*/
private Set<User> getUsers(final Server server, final CommandSender sender, final String selector) throws Exception
private Set<IUser> getUsers(final Server server, final CommandSender sender, final String selector) throws Exception
{
final Set<User> users = new TreeSet<User>(new UserNameComparator());
final Set<IUser> users = new TreeSet<IUser>();
// If there is no selector we want the sender itself. Or all users if sender isn't a user.
if (selector == null)
{
final User user = ess.getUser(sender);
final IUser user = ess.getUser(sender);
if (user == null)
{
for (Player player : server.getOnlinePlayers())
@@ -203,7 +203,7 @@ public class Commandptime extends EssentialsCommand
}
// Try to find the user with name = selector
User user = null;
IUser user = null;
final List<Player> matchedPlayers = server.matchPlayer(selector);
if (!matchedPlayers.isEmpty())
{
@@ -231,13 +231,3 @@ public class Commandptime extends EssentialsCommand
return users;
}
}
class UserNameComparator implements Comparator<User>
{
@Override
public int compare(User a, User b)
{
return a.getName().compareTo(b.getName());
}
}

View File

@@ -2,8 +2,8 @@ package com.earth2me.essentials.commands;
import com.earth2me.essentials.Console;
import static com.earth2me.essentials.I18n._;
import com.earth2me.essentials.IReplyTo;
import com.earth2me.essentials.User;
import com.earth2me.essentials.api.IReplyTo;
import com.earth2me.essentials.api.IUser;
import org.bukkit.Server;
import org.bukkit.command.CommandSender;
import org.bukkit.entity.Player;
@@ -38,8 +38,8 @@ public class Commandr extends EssentialsCommand
sender.sendMessage(_("msgFormat", _("me"), targetName, message));
if (target instanceof Player)
{
User player = ess.getUser(target);
if (player.isIgnoredPlayer(sender instanceof Player ? ((Player)sender).getName() : Console.NAME))
IUser player = ess.getUser(target);
if (player.isIgnoringPlayer(sender instanceof Player ? ((Player)sender).getName() : Console.NAME))
{
return;
}

View File

@@ -1,7 +1,7 @@
package com.earth2me.essentials.commands;
import static com.earth2me.essentials.I18n._;
import com.earth2me.essentials.User;
import com.earth2me.essentials.api.IUser;
import com.earth2me.essentials.Util;
import java.util.Locale;
import org.bukkit.Server;
@@ -26,7 +26,7 @@ public class Commandrealname extends EssentialsCommand
final String whois = args[0].toLowerCase(Locale.ENGLISH);
for (Player onlinePlayer : server.getOnlinePlayers())
{
final User u = ess.getUser(onlinePlayer);
final IUser u = ess.getUser(onlinePlayer);
if (u.isHidden())
{
continue;

View File

@@ -1,7 +1,7 @@
package com.earth2me.essentials.commands;
import static com.earth2me.essentials.I18n._;
import com.earth2me.essentials.User;
import com.earth2me.essentials.api.IUser;
import java.util.Locale;
import org.bukkit.Chunk;
import org.bukkit.Server;
@@ -29,7 +29,7 @@ public class Commandremove extends EssentialsCommand
}
@Override
protected void run(final Server server, final User user, final String commandLabel, final String[] args) throws Exception
protected void run(final Server server, final IUser user, final String commandLabel, final String[] args) throws Exception
{
if (args.length < 1)
{

View File

@@ -2,6 +2,7 @@ package com.earth2me.essentials.commands;
import static com.earth2me.essentials.I18n._;
import com.earth2me.essentials.*;
import com.earth2me.essentials.api.IUser;
import java.util.ArrayList;
import java.util.List;
import java.util.Locale;
@@ -18,7 +19,7 @@ public class Commandrepair extends EssentialsCommand
}
@Override
public void run(final Server server, final User user, final String commandLabel, final String[] args) throws Exception
public void run(final Server server, final IUser user, final String commandLabel, final String[] args) throws Exception
{
if (args.length < 1)
{

View File

@@ -1,8 +1,9 @@
package com.earth2me.essentials.commands;
import static com.earth2me.essentials.I18n._;
import com.earth2me.essentials.User;
import com.earth2me.essentials.api.IUser;
import com.earth2me.essentials.Util;
import com.earth2me.essentials.user.UserData.TimestampType;
import org.bukkit.Server;
import org.bukkit.command.CommandSender;
@@ -23,17 +24,17 @@ public class Commandseen extends EssentialsCommand
}
try
{
User u = getPlayer(server, args, 0);
sender.sendMessage(_("seenOnline", u.getDisplayName(), Util.formatDateDiff(u.getLastLogin())));
IUser u = getPlayer(server, args, 0);
sender.sendMessage(_("seenOnline", u.getDisplayName(), Util.formatDateDiff(u.getTimestamp(TimestampType.LOGIN))));
}
catch (NoSuchFieldException e)
{
User u = ess.getOfflineUser(args[0]);
IUser u = ess.getOfflineUser(args[0]);
if (u == null)
{
throw new Exception(_("playerNotFound"));
}
sender.sendMessage(_("seenOffline", u.getDisplayName(), Util.formatDateDiff(u.getLastLogout())));
sender.sendMessage(_("seenOffline", u.getDisplayName(), Util.formatDateDiff(u.getTimestamp(TimestampType.LOGOUT))));
if (u.isBanned())
{
sender.sendMessage(_("whoisBanned", _("true")));

View File

@@ -3,7 +3,7 @@ package com.earth2me.essentials.commands;
import static com.earth2me.essentials.I18n._;
import com.earth2me.essentials.craftbukkit.InventoryWorkaround;
import com.earth2me.essentials.Trade;
import com.earth2me.essentials.User;
import com.earth2me.essentials.api.IUser;
import com.earth2me.essentials.Util;
import java.util.Locale;
import java.util.logging.Level;
@@ -20,7 +20,7 @@ public class Commandsell extends EssentialsCommand
}
@Override
public void run(final Server server, final User user, final String commandLabel, final String[] args) throws Exception
public void run(final Server server, final IUser user, final String commandLabel, final String[] args) throws Exception
{
if (args.length < 1)
{
@@ -74,7 +74,7 @@ public class Commandsell extends EssentialsCommand
sellItem(user, is, args, false);
}
private void sellItem(User user, ItemStack is, String[] args, boolean isBulkSell) throws Exception
private void sellItem(IUser user, ItemStack is, String[] args, boolean isBulkSell) throws Exception
{
if (is == null || is.getType() == Material.AIR)
{

View File

@@ -1,7 +1,7 @@
package com.earth2me.essentials.commands;
import static com.earth2me.essentials.I18n._;
import com.earth2me.essentials.User;
import com.earth2me.essentials.api.IUser;
import java.util.Locale;
import org.bukkit.Server;
@@ -14,7 +14,7 @@ public class Commandsethome extends EssentialsCommand
}
@Override
public void run(final Server server, final User user, final String commandLabel, String[] args) throws Exception
public void run(final Server server, final IUser user, final String commandLabel, String[] args) throws Exception
{
if (args.length > 0)
{

View File

@@ -1,7 +1,7 @@
package com.earth2me.essentials.commands;
import static com.earth2me.essentials.I18n._;
import com.earth2me.essentials.User;
import com.earth2me.essentials.api.IUser;
import org.bukkit.Server;
@@ -13,7 +13,7 @@ public class Commandsetjail extends EssentialsCommand
}
@Override
public void run(final Server server, final User user, final String commandLabel, final String[] args) throws Exception
public void run(final Server server, final IUser user, final String commandLabel, final String[] args) throws Exception
{
if (args.length < 1)
{

View File

@@ -1,7 +1,7 @@
package com.earth2me.essentials.commands;
import static com.earth2me.essentials.I18n._;
import com.earth2me.essentials.User;
import com.earth2me.essentials.api.IUser;
import org.bukkit.Location;
import org.bukkit.Server;
@@ -14,7 +14,7 @@ public class Commandsetwarp extends EssentialsCommand
}
@Override
public void run(final Server server, final User user, final String commandLabel, final String[] args) throws Exception
public void run(final Server server, final IUser user, final String commandLabel, final String[] args) throws Exception
{
if (args.length < 1)
{
@@ -22,7 +22,7 @@ public class Commandsetwarp extends EssentialsCommand
}
final Location loc = user.getLocation();
ess.getWarps().setWarp(args[0], loc);
ess.getWarps2().setWarp(args[0], loc);
user.sendMessage(_("warpSet", args[0]));
}
}

View File

@@ -1,7 +1,7 @@
package com.earth2me.essentials.commands;
import static com.earth2me.essentials.I18n._;
import com.earth2me.essentials.User;
import com.earth2me.essentials.api.IUser;
import org.bukkit.Server;
import org.bukkit.inventory.ItemStack;
@@ -14,7 +14,7 @@ public class Commandsetworth extends EssentialsCommand
}
@Override
public void run(final Server server, final User user, final String commandLabel, final String[] args) throws Exception
public void run(final Server server, final IUser user, final String commandLabel, final String[] args) throws Exception
{
if (args.length < 2)
{

View File

@@ -1,7 +1,7 @@
package com.earth2me.essentials.commands;
import static com.earth2me.essentials.I18n._;
import com.earth2me.essentials.User;
import com.earth2me.essentials.api.IUser;
import org.bukkit.Server;
@@ -13,7 +13,7 @@ public class Commandsocialspy extends EssentialsCommand
}
@Override
public void run(final Server server, final User user, final String commandLabel, final String[] args) throws Exception
public void run(final Server server, final IUser user, final String commandLabel, final String[] args) throws Exception
{
user.sendMessage("§7SocialSpy " + (user.toggleSocialSpy() ? _("enabled") : _("disabled")));
}

View File

@@ -2,7 +2,7 @@ package com.earth2me.essentials.commands;
import static com.earth2me.essentials.I18n._;
import com.earth2me.essentials.Mob;
import com.earth2me.essentials.User;
import com.earth2me.essentials.api.IUser;
import com.earth2me.essentials.Util;
import java.util.Locale;
import org.bukkit.Location;
@@ -19,7 +19,7 @@ public class Commandspawner extends EssentialsCommand
}
@Override
protected void run(final Server server, final User user, final String commandLabel, final String[] args) throws Exception
protected void run(final Server server, final IUser user, final String commandLabel, final String[] args) throws Exception
{
if (args.length < 1 || args[0].length() < 2)
{

View File

@@ -3,7 +3,7 @@ package com.earth2me.essentials.commands;
import static com.earth2me.essentials.I18n._;
import com.earth2me.essentials.Mob;
import com.earth2me.essentials.Mob.MobException;
import com.earth2me.essentials.User;
import com.earth2me.essentials.api.IUser;
import com.earth2me.essentials.Util;
import java.util.Locale;
import java.util.Random;
@@ -22,7 +22,7 @@ public class Commandspawnmob extends EssentialsCommand
}
@Override
public void run(final Server server, final User user, final String commandLabel, final String[] args) throws Exception
public void run(final Server server, final IUser user, final String commandLabel, final String[] args) throws Exception
{
if (args.length < 1)
{
@@ -76,7 +76,7 @@ public class Commandspawnmob extends EssentialsCommand
{
throw new Exception(_("unableToSpawnMob"));
}
User otherUser = null;
IUser otherUser = null;
if (args.length >= 3)
{
otherUser = getPlayer(ess.getServer(), args, 2);
@@ -184,7 +184,7 @@ public class Commandspawnmob extends EssentialsCommand
}
}
private void changeMobData(final CreatureType type, final Entity spawned, final String data, final User user) throws Exception
private void changeMobData(final CreatureType type, final Entity spawned, final String data, final IUser user) throws Exception
{
if (type == CreatureType.SLIME || type == CreatureType.MAGMA_CUBE)
{
@@ -238,7 +238,7 @@ public class Commandspawnmob extends EssentialsCommand
{
final Wolf wolf = ((Wolf)spawned);
wolf.setTamed(true);
wolf.setOwner(user);
wolf.setOwner(user.getBase());
wolf.setSitting(true);
if (data.equalsIgnoreCase("tamedbaby"))
{

View File

@@ -1,6 +1,6 @@
package com.earth2me.essentials.commands;
import com.earth2me.essentials.User;
import com.earth2me.essentials.api.IUser;
import org.bukkit.Server;
import org.bukkit.command.CommandSender;
import org.bukkit.command.PluginCommand;
@@ -21,7 +21,7 @@ public class Commandsudo extends EssentialsCommand
throw new NotEnoughArgumentsException();
}
final User user = getPlayer(server, args, 0, false);
final IUser user = getPlayer(server, args, 0, false);
final String command = args[1];
final String[] arguments = new String[args.length - 2];
if (arguments.length > 0)

View File

@@ -1,7 +1,7 @@
package com.earth2me.essentials.commands;
import static com.earth2me.essentials.I18n._;
import com.earth2me.essentials.User;
import com.earth2me.essentials.api.IUser;
import org.bukkit.Server;
@@ -13,7 +13,7 @@ public class Commandsuicide extends EssentialsCommand
}
@Override
public void run(final Server server, final User user, final String commandLabel, final String[] args) throws Exception
public void run(final Server server, final IUser user, final String commandLabel, final String[] args) throws Exception
{
user.setHealth(0);
user.sendMessage(_("suicideMessage"));

View File

@@ -3,8 +3,9 @@ package com.earth2me.essentials.commands;
import com.earth2me.essentials.Console;
import static com.earth2me.essentials.I18n._;
import com.earth2me.essentials.OfflinePlayer;
import com.earth2me.essentials.User;
import com.earth2me.essentials.api.IUser;
import com.earth2me.essentials.Util;
import com.earth2me.essentials.user.Ban;
import org.bukkit.Server;
import org.bukkit.command.CommandSender;
import org.bukkit.entity.Player;
@@ -24,7 +25,7 @@ public class Commandtempban extends EssentialsCommand
{
throw new NotEnoughArgumentsException();
}
final User user = getPlayer(server, args, 0, true);
final IUser user = getPlayer(server, args, 0, true);
if (user.getBase() instanceof OfflinePlayer)
{
if (sender instanceof Player
@@ -46,15 +47,17 @@ public class Commandtempban extends EssentialsCommand
final long banTimestamp = Util.parseDateDiff(time, true);
final String banReason = _("tempBanned", Util.formatDateDiff(banTimestamp));
user.setBanReason(banReason);
user.setBanTimeout(banTimestamp);
user.acquireWriteLock();
user.getData().setBan(new Ban());
user.getData().getBan().setReason(banReason);
user.getData().getBan().setTimeout(banTimestamp);
user.setBanned(true);
user.kickPlayer(banReason);
final String senderName = sender instanceof Player ? ((Player)sender).getDisplayName() : Console.NAME;
for (Player onlinePlayer : server.getOnlinePlayers())
{
final User player = ess.getUser(onlinePlayer);
final IUser player = ess.getUser(onlinePlayer);
if (player.isAuthorized("essentials.ban.notify"))
{
onlinePlayer.sendMessage(_("playerBanned", senderName, user.getName(), banReason));

View File

@@ -1,7 +1,7 @@
package com.earth2me.essentials.commands;
import static com.earth2me.essentials.I18n._;
import com.earth2me.essentials.User;
import com.earth2me.essentials.api.IUser;
import org.bukkit.Server;
import org.bukkit.World;
@@ -14,7 +14,7 @@ public class Commandthunder extends EssentialsCommand
}
@Override
public void run(final Server server, final User user, final String commandLabel, final String[] args) throws Exception
public void run(final Server server, final IUser user, final String commandLabel, final String[] args) throws Exception
{
if (args.length < 1)
{

View File

@@ -2,7 +2,7 @@ package com.earth2me.essentials.commands;
import com.earth2me.essentials.DescParseTickFormat;
import static com.earth2me.essentials.I18n._;
import com.earth2me.essentials.User;
import com.earth2me.essentials.api.IUser;
import java.util.*;
import org.bukkit.Server;
import org.bukkit.World;
@@ -34,7 +34,7 @@ public class Commandtime extends EssentialsCommand
return;
}
final User user = ess.getUser(sender);
final IUser user = ess.getUser(sender);
if (user != null && !user.isAuthorized("essentials.time.set"))
{
user.sendMessage(_("timeSetPermission"));
@@ -110,7 +110,7 @@ public class Commandtime extends EssentialsCommand
// If there is no selector we want the world the user is currently in. Or all worlds if it isn't a user.
if (selector == null)
{
final User user = ess.getUser(sender);
final IUser user = ess.getUser(sender);
if (user == null)
{
worlds.addAll(server.getWorlds());

View File

@@ -2,8 +2,10 @@ package com.earth2me.essentials.commands;
import static com.earth2me.essentials.I18n._;
import com.earth2me.essentials.OfflinePlayer;
import com.earth2me.essentials.User;
import com.earth2me.essentials.api.IUser;
import com.earth2me.essentials.Util;
import com.earth2me.essentials.user.UserData.TimestampType;
import lombok.Cleanup;
import org.bukkit.Server;
import org.bukkit.command.CommandSender;
import org.bukkit.entity.Player;
@@ -24,9 +26,11 @@ public class Commandtogglejail extends EssentialsCommand
throw new NotEnoughArgumentsException();
}
final User player = getPlayer(server, args, 0, true);
@Cleanup
final IUser player = getPlayer(server, args, 0, true);
player.acquireReadLock();
if (args.length >= 2 && !player.isJailed())
if (args.length >= 2 && !player.getData().isJailed())
{
if (player.getBase() instanceof OfflinePlayer)
{
@@ -54,16 +58,16 @@ public class Commandtogglejail extends EssentialsCommand
// Check if jail exists
ess.getJails().getJail(args[1]);
}
player.setJailed(true);
player.acquireWriteLock();
player.getData().setJailed(true);
player.sendMessage(_("userJailed"));
player.setJail(null);
player.setJail(args[1]);
player.getData().setJail(args[1]);
long timeDiff = 0;
if (args.length > 2)
{
final String time = getFinalArg(args, 2);
timeDiff = Util.parseDateDiff(time, true);
player.setJailTimeout(timeDiff);
player.setTimestamp(TimestampType.JAIL, timeDiff);
}
sender.sendMessage((timeDiff > 0
? _("playerJailedFor", player.getName(), Util.formatDateDiff(timeDiff))
@@ -71,31 +75,33 @@ public class Commandtogglejail extends EssentialsCommand
return;
}
if (args.length >= 2 && player.isJailed() && !args[1].equalsIgnoreCase(player.getJail()))
if (args.length >= 2 && player.getData().isJailed() && !args[1].equalsIgnoreCase(player.getData().getJail()))
{
sender.sendMessage(_("jailAlreadyIncarcerated", player.getJail()));
sender.sendMessage(_("jailAlreadyIncarcerated", player.getData().getJail()));
return;
}
if (args.length >= 2 && player.isJailed() && args[1].equalsIgnoreCase(player.getJail()))
if (args.length >= 2 && player.getData().isJailed() && args[1].equalsIgnoreCase(player.getData().getJail()))
{
final String time = getFinalArg(args, 2);
final long timeDiff = Util.parseDateDiff(time, true);
player.setJailTimeout(timeDiff);
player.acquireWriteLock();
player.setTimestamp(TimestampType.JAIL, timeDiff);
sender.sendMessage(_("jailSentenceExtended", Util.formatDateDiff(timeDiff)));
return;
}
if (args.length == 1 || (args.length == 2 && args[1].equalsIgnoreCase(player.getJail())))
if (args.length == 1 || (args.length == 2 && args[1].equalsIgnoreCase(player.getData().getJail())))
{
if (!player.isJailed())
if (!player.getData().isJailed())
{
throw new NotEnoughArgumentsException();
}
player.setJailed(false);
player.setJailTimeout(0);
player.acquireWriteLock();
player.getData().setJailed(false);
player.setTimestamp(TimestampType.JAIL, 0);
player.sendMessage(_("jailReleasedPlayerNotify"));
player.setJail(null);
player.getData().setJail(null);
if (!(player.getBase() instanceof OfflinePlayer))
{
player.getTeleport().back();

View File

@@ -2,7 +2,7 @@ package com.earth2me.essentials.commands;
import static com.earth2me.essentials.I18n._;
import com.earth2me.essentials.Trade;
import com.earth2me.essentials.User;
import com.earth2me.essentials.api.IUser;
import org.bukkit.Location;
import org.bukkit.Server;
import org.bukkit.event.player.PlayerTeleportEvent.TeleportCause;
@@ -16,7 +16,7 @@ public class Commandtop extends EssentialsCommand
}
@Override
public void run(final Server server, final User user, final String commandLabel, final String[] args) throws Exception
public void run(final Server server, final IUser user, final String commandLabel, final String[] args) throws Exception
{
final int topX = user.getLocation().getBlockX();
final int topZ = user.getLocation().getBlockZ();

View File

@@ -3,7 +3,8 @@ package com.earth2me.essentials.commands;
import com.earth2me.essentials.Console;
import static com.earth2me.essentials.I18n._;
import com.earth2me.essentials.Trade;
import com.earth2me.essentials.User;
import com.earth2me.essentials.api.IUser;
import lombok.Cleanup;
import org.bukkit.Server;
import org.bukkit.command.CommandSender;
import org.bukkit.event.player.PlayerTeleportEvent.TeleportCause;
@@ -17,7 +18,7 @@ public class Commandtp extends EssentialsCommand
}
@Override
public void run(final Server server, final User user, final String commandLabel, final String[] args) throws Exception
public void run(final Server server, final IUser user, final String commandLabel, final String[] args) throws Exception
{
switch (args.length)
{
@@ -25,8 +26,10 @@ public class Commandtp extends EssentialsCommand
throw new NotEnoughArgumentsException();
case 1:
final User player = getPlayer(server, args, 0);
if (!player.isTeleportEnabled())
@Cleanup
final IUser player = getPlayer(server, args, 0);
player.acquireReadLock();
if (!player.getData().isTeleportEnabled())
{
throw new Exception(_("teleportDisabled", player.getDisplayName()));
}
@@ -43,8 +46,8 @@ public class Commandtp extends EssentialsCommand
throw new Exception("You need access to /tpohere to teleport other players.");
}
user.sendMessage(_("teleporting"));
final User target = getPlayer(server, args, 0);
final User toPlayer = getPlayer(server, args, 1);
final IUser target = getPlayer(server, args, 0);
final IUser toPlayer = getPlayer(server, args, 1);
target.getTeleport().now(toPlayer, false, TeleportCause.COMMAND);
target.sendMessage(_("teleportAtoB", user.getDisplayName(), toPlayer.getDisplayName()));
break;
@@ -60,8 +63,8 @@ public class Commandtp extends EssentialsCommand
}
sender.sendMessage(_("teleporting"));
final User target = getPlayer(server, args, 0);
final User toPlayer = getPlayer(server, args, 1);
final IUser target = getPlayer(server, args, 0);
final IUser toPlayer = getPlayer(server, args, 1);
target.getTeleport().now(toPlayer, false, TeleportCause.COMMAND);
target.sendMessage(_("teleportAtoB", Console.NAME, toPlayer.getDisplayName()));
}

View File

@@ -1,7 +1,8 @@
package com.earth2me.essentials.commands;
import static com.earth2me.essentials.I18n._;
import com.earth2me.essentials.User;
import com.earth2me.essentials.api.IUser;
import lombok.Cleanup;
import org.bukkit.Server;
@@ -13,19 +14,21 @@ public class Commandtpa extends EssentialsCommand
}
@Override
public void run(Server server, User user, String commandLabel, String[] args) throws Exception
public void run(Server server, IUser user, String commandLabel, String[] args) throws Exception
{
if (args.length < 1)
{
throw new NotEnoughArgumentsException();
}
User player = getPlayer(server, args, 0);
if (!player.isTeleportEnabled())
@Cleanup
IUser player = getPlayer(server, args, 0);
player.acquireReadLock();
if (!player.getData().isTeleportEnabled())
{
throw new Exception(_("teleportDisabled", player.getDisplayName()));
}
if (!player.isIgnoredPlayer(user.getName()))
if (!player.isIgnoringPlayer(user.getName()))
{
player.requestTeleport(user, false);
player.sendMessage(_("teleportRequest", user.getDisplayName()));

View File

@@ -1,7 +1,8 @@
package com.earth2me.essentials.commands;
import static com.earth2me.essentials.I18n._;
import com.earth2me.essentials.User;
import com.earth2me.essentials.api.IUser;
import lombok.Cleanup;
import org.bukkit.Server;
import org.bukkit.command.CommandSender;
import org.bukkit.entity.Player;
@@ -27,21 +28,23 @@ public class Commandtpaall extends EssentialsCommand
throw new NotEnoughArgumentsException();
}
final User player = getPlayer(server, args, 0);
final IUser player = getPlayer(server, args, 0);
teleportAAllPlayers(server, sender, player);
}
private void teleportAAllPlayers(final Server server, final CommandSender sender, final User user)
private void teleportAAllPlayers(final Server server, final CommandSender sender, final IUser user)
{
sender.sendMessage(_("teleportAAll"));
for (Player onlinePlayer : server.getOnlinePlayers())
{
final User player = ess.getUser(onlinePlayer);
@Cleanup
final IUser player = ess.getUser(onlinePlayer);
player.acquireReadLock();
if (user == player)
{
continue;
}
if (!player.isTeleportEnabled())
if (!player.getData().isTeleportEnabled())
{
continue;
}
@@ -57,7 +60,7 @@ public class Commandtpaall extends EssentialsCommand
}
catch (Exception ex)
{
ess.showError(sender, ex, getName());
ess.showCommandError(sender, getName(), ex);
}
}
}

View File

@@ -3,7 +3,8 @@ package com.earth2me.essentials.commands;
import static com.earth2me.essentials.I18n._;
import com.earth2me.essentials.OfflinePlayer;
import com.earth2me.essentials.Trade;
import com.earth2me.essentials.User;
import com.earth2me.essentials.api.IUser;
import lombok.Cleanup;
import org.bukkit.Server;
import org.bukkit.event.player.PlayerTeleportEvent.TeleportCause;
@@ -16,12 +17,15 @@ public class Commandtpaccept extends EssentialsCommand
}
@Override
public void run(final Server server, final User user, final String commandLabel, final String[] args) throws Exception
public void run(final Server server, final IUser user, final String commandLabel, final String[] args) throws Exception
{
if (user.getTeleportRequester() == null)
{
throw new Exception(_("noPendingRequest"));
}
final User target = user.getTeleportRequest();
if (target == null
|| target.getBase() instanceof OfflinePlayer
final IUser target = user.getTeleportRequester();
if (target.getBase() instanceof OfflinePlayer
|| (user.isTeleportRequestHere() && !target.isAuthorized("essentials.tpahere")))
{
throw new Exception(_("noPendingRequest"));

View File

@@ -1,7 +1,8 @@
package com.earth2me.essentials.commands;
import static com.earth2me.essentials.I18n._;
import com.earth2me.essentials.User;
import com.earth2me.essentials.api.IUser;
import lombok.Cleanup;
import org.bukkit.Server;
@@ -13,15 +14,17 @@ public class Commandtpahere extends EssentialsCommand
}
@Override
public void run(final Server server, final User user, final String commandLabel, final String[] args) throws Exception
public void run(final Server server, final IUser user, final String commandLabel, final String[] args) throws Exception
{
if (args.length < 1)
{
throw new NotEnoughArgumentsException();
}
final User player = getPlayer(server, args, 0);
if (!player.isTeleportEnabled())
@Cleanup
final IUser player = getPlayer(server, args, 0);
player.acquireReadLock();
if (!player.getData().isTeleportEnabled())
{
throw new Exception(_("teleportDisabled", player.getDisplayName()));
}

View File

@@ -1,7 +1,7 @@
package com.earth2me.essentials.commands;
import static com.earth2me.essentials.I18n._;
import com.earth2me.essentials.User;
import com.earth2me.essentials.api.IUser;
import org.bukkit.Server;
import org.bukkit.command.CommandSender;
import org.bukkit.entity.Player;
@@ -28,16 +28,16 @@ public class Commandtpall extends EssentialsCommand
throw new NotEnoughArgumentsException();
}
final User player = getPlayer(server, args, 0);
final IUser player = getPlayer(server, args, 0);
teleportAllPlayers(server, sender, player);
}
private void teleportAllPlayers(Server server, CommandSender sender, User user)
private void teleportAllPlayers(Server server, CommandSender sender, IUser user)
{
sender.sendMessage(_("teleportAll"));
for (Player onlinePlayer : server.getOnlinePlayers())
{
final User player = ess.getUser(onlinePlayer);
final IUser player = ess.getUser(onlinePlayer);
if (user == player)
{
continue;
@@ -48,7 +48,7 @@ public class Commandtpall extends EssentialsCommand
}
catch (Exception ex)
{
ess.showError(sender, ex, getName());
ess.showCommandError(sender, getName(), ex);
}
}
}

View File

@@ -1,7 +1,7 @@
package com.earth2me.essentials.commands;
import static com.earth2me.essentials.I18n._;
import com.earth2me.essentials.User;
import com.earth2me.essentials.api.IUser;
import org.bukkit.Server;
@@ -13,9 +13,9 @@ public class Commandtpdeny extends EssentialsCommand
}
@Override
public void run(final Server server, final User user, final String commandLabel, final String[] args) throws Exception
public void run(final Server server, final IUser user, final String commandLabel, final String[] args) throws Exception
{
final User player = user.getTeleportRequest();
final IUser player = user.getTeleportRequester();
if (player == null)
{
throw new Exception(_("noPendingRequest"));

View File

@@ -2,7 +2,8 @@ package com.earth2me.essentials.commands;
import static com.earth2me.essentials.I18n._;
import com.earth2me.essentials.Trade;
import com.earth2me.essentials.User;
import com.earth2me.essentials.api.IUser;
import lombok.Cleanup;
import org.bukkit.Server;
import org.bukkit.event.player.PlayerTeleportEvent.TeleportCause;
@@ -15,10 +16,12 @@ public class Commandtphere extends EssentialsCommand
}
@Override
public void run(final Server server, final User user, final String commandLabel, final String[] args) throws Exception
public void run(final Server server, final IUser user, final String commandLabel, final String[] args) throws Exception
{
final User player = getPlayer(server, args, 0);
if (!player.isTeleportEnabled())
@Cleanup
final IUser player = getPlayer(server, args, 0);
player.acquireReadLock();
if (!player.getData().isTeleportEnabled())
{
throw new Exception(_("teleportDisabled", player.getDisplayName()));
}

View File

@@ -2,7 +2,7 @@ package com.earth2me.essentials.commands;
import static com.earth2me.essentials.I18n._;
import com.earth2me.essentials.OfflinePlayer;
import com.earth2me.essentials.User;
import com.earth2me.essentials.api.IUser;
import org.bukkit.Server;
import org.bukkit.event.player.PlayerTeleportEvent.TeleportCause;
@@ -15,7 +15,7 @@ public class Commandtpo extends EssentialsCommand
}
@Override
public void run(final Server server, final User user, final String commandLabel, final String[] args) throws Exception
public void run(final Server server, final IUser user, final String commandLabel, final String[] args) throws Exception
{
if (args.length < 1)
{
@@ -23,7 +23,7 @@ public class Commandtpo extends EssentialsCommand
}
//Just basically the old tp command
final User player = getPlayer(server, args, 0, true);
final IUser player = getPlayer(server, args, 0, true);
// Check if user is offline
if (player.getBase() instanceof OfflinePlayer)
{

View File

@@ -2,7 +2,7 @@ package com.earth2me.essentials.commands;
import static com.earth2me.essentials.I18n._;
import com.earth2me.essentials.OfflinePlayer;
import com.earth2me.essentials.User;
import com.earth2me.essentials.api.IUser;
import org.bukkit.Server;
import org.bukkit.event.player.PlayerTeleportEvent.TeleportCause;
@@ -15,7 +15,7 @@ public class Commandtpohere extends EssentialsCommand
}
@Override
public void run(final Server server, final User user, final String commandLabel, final String[] args) throws Exception
public void run(final Server server, final IUser user, final String commandLabel, final String[] args) throws Exception
{
if (args.length < 1)
{
@@ -23,7 +23,7 @@ public class Commandtpohere extends EssentialsCommand
}
//Just basically the old tphere command
final User player = getPlayer(server, args, 0, true);
final IUser player = getPlayer(server, args, 0, true);
// Check if user is offline
if (player.getBase() instanceof OfflinePlayer)

View File

@@ -2,7 +2,7 @@ package com.earth2me.essentials.commands;
import static com.earth2me.essentials.I18n._;
import com.earth2me.essentials.Trade;
import com.earth2me.essentials.User;
import com.earth2me.essentials.api.IUser;
import org.bukkit.Location;
import org.bukkit.Server;
import org.bukkit.event.player.PlayerTeleportEvent.TeleportCause;
@@ -16,7 +16,7 @@ public class Commandtppos extends EssentialsCommand
}
@Override
public void run(final Server server, final User user, final String commandLabel, final String[] args) throws Exception
public void run(final Server server, final IUser user, final String commandLabel, final String[] args) throws Exception
{
if (args.length < 3)
{

View File

@@ -1,7 +1,7 @@
package com.earth2me.essentials.commands;
import static com.earth2me.essentials.I18n._;
import com.earth2me.essentials.User;
import com.earth2me.essentials.api.IUser;
import org.bukkit.Server;
@@ -13,7 +13,7 @@ public class Commandtptoggle extends EssentialsCommand
}
@Override
public void run(final Server server, final User user, final String commandLabel, final String[] args) throws Exception
public void run(final Server server, final IUser user, final String commandLabel, final String[] args) throws Exception
{
user.sendMessage(user.toggleTeleportEnabled()
? _("teleportationEnabled")

View File

@@ -1,7 +1,7 @@
package com.earth2me.essentials.commands;
import static com.earth2me.essentials.I18n._;
import com.earth2me.essentials.User;
import com.earth2me.essentials.api.IUser;
import com.earth2me.essentials.Util;
import org.bukkit.Location;
import org.bukkit.Server;
@@ -16,7 +16,7 @@ public class Commandtree extends EssentialsCommand
}
@Override
public void run(final Server server, final User user, final String commandLabel, final String[] args) throws Exception
public void run(final Server server, final IUser user, final String commandLabel, final String[] args) throws Exception
{
TreeType tree;
if (args.length < 1)

View File

@@ -1,7 +1,8 @@
package com.earth2me.essentials.commands;
import static com.earth2me.essentials.I18n._;
import com.earth2me.essentials.User;
import com.earth2me.essentials.api.IUser;
import lombok.Cleanup;
import org.bukkit.Server;
import org.bukkit.command.CommandSender;
@@ -23,7 +24,10 @@ public class Commandunban extends EssentialsCommand
try
{
final User player = getPlayer(server, args, 0, true);
@Cleanup
final IUser player = getPlayer(server, args, 0, true);
player.acquireWriteLock();
player.getData().setBan(null);
player.setBanned(false);
sender.sendMessage(_("unbannedPlayer"));
}

View File

@@ -1,7 +1,8 @@
package com.earth2me.essentials.commands;
import static com.earth2me.essentials.I18n._;
import com.earth2me.essentials.User;
import com.earth2me.essentials.api.IUser;
import lombok.Cleanup;
import org.bukkit.Server;
import org.bukkit.command.CommandSender;
@@ -22,8 +23,10 @@ public class Commandunbanip extends EssentialsCommand
}
try
{
final User user = getPlayer(server, args, 0, true);
ess.getServer().unbanIP(user.getLastLoginAddress());
@Cleanup
final IUser user = getPlayer(server, args, 0, true);
user.acquireReadLock();
ess.getServer().unbanIP(user.getData().getIpAddress());
}
catch (Exception ex)
{

View File

@@ -2,9 +2,10 @@ package com.earth2me.essentials.commands;
import static com.earth2me.essentials.I18n._;
import com.earth2me.essentials.craftbukkit.InventoryWorkaround;
import com.earth2me.essentials.User;
import com.earth2me.essentials.api.IUser;
import java.util.List;
import java.util.Locale;
import lombok.Cleanup;
import org.bukkit.Material;
import org.bukkit.Server;
import org.bukkit.inventory.ItemStack;
@@ -18,18 +19,20 @@ public class Commandunlimited extends EssentialsCommand
}
@Override
public void run(final Server server, final User user, final String commandLabel, final String[] args) throws Exception
public void run(final Server server, final IUser user, final String commandLabel, final String[] args) throws Exception
{
if (args.length < 1)
{
throw new NotEnoughArgumentsException();
}
User target = user;
@Cleanup
IUser target = user;
if (args.length > 1 && user.isAuthorized("essentials.unlimited.others"))
{
target = getPlayer(server, args, 1);
target.acquireReadLock();
}
if (args[0].equalsIgnoreCase("list"))
@@ -39,7 +42,8 @@ public class Commandunlimited extends EssentialsCommand
}
else if (args[0].equalsIgnoreCase("clear"))
{
final List<Integer> itemList = target.getUnlimited();
//TODO: Fix this, the clear should always work, even when the player does not have permission.
final List<Integer> itemList = target.getData().getUnlimited();
int index = 0;
while (itemList.size() > index)
@@ -57,7 +61,7 @@ public class Commandunlimited extends EssentialsCommand
}
}
private String getList(final User target)
private String getList(final IUser target)
{
final StringBuilder output = new StringBuilder();
output.append(_("unlimitedItems")).append(" ");
@@ -81,7 +85,7 @@ public class Commandunlimited extends EssentialsCommand
return output.toString();
}
private Boolean toggleUnlimited(final User user, final User target, final String item) throws Exception
private Boolean toggleUnlimited(final IUser user, final IUser target, final String item) throws Exception
{
final ItemStack stack = ess.getItemDb().get(item, 1);
stack.setAmount(Math.min(stack.getType().getMaxStackSize(), 2));

View File

@@ -2,9 +2,9 @@ package com.earth2me.essentials.commands;
import static com.earth2me.essentials.I18n._;
import com.earth2me.essentials.Trade;
import com.earth2me.essentials.User;
import com.earth2me.essentials.api.IUser;
import com.earth2me.essentials.Util;
import com.earth2me.essentials.Warps;
import com.earth2me.essentials.api.IWarps;
import java.util.ArrayList;
import java.util.Iterator;
import java.util.List;
@@ -23,7 +23,7 @@ public class Commandwarp extends EssentialsCommand
}
@Override
public void run(final Server server, final User user, final String commandLabel, final String[] args) throws Exception
public void run(final Server server, final IUser user, final String commandLabel, final String[] args) throws Exception
{
if (args.length == 0 || args[0].matches("[0-9]+"))
{
@@ -36,7 +36,7 @@ public class Commandwarp extends EssentialsCommand
}
if (args.length > 0)
{
User otherUser = null;
IUser otherUser = null;
if (args.length == 2 && user.isAuthorized("essentials.warp.otherplayers"))
{
otherUser = ess.getUser(server.getPlayer(args[1]));
@@ -60,7 +60,7 @@ public class Commandwarp extends EssentialsCommand
warpList(sender, args);
throw new NoChargeException();
}
User otherUser = ess.getUser(server.getPlayer(args[1]));
IUser otherUser = ess.getUser(server.getPlayer(args[1]));
if (otherUser == null)
{
throw new Exception(_("playerNotFound"));
@@ -73,14 +73,14 @@ public class Commandwarp extends EssentialsCommand
//TODO: Use one of the new text classes, like /help ?
private void warpList(final CommandSender sender, final String[] args) throws Exception
{
final Warps warps = ess.getWarps();
final IWarps warps = ess.getWarps2();
if (warps.isEmpty())
{
throw new Exception(_("noWarpsDefined"));
}
final List<String> warpNameList = new ArrayList<String>(warps.getWarpNames());
final List<String> warpNameList = new ArrayList<String>(warps.getList());
if (sender instanceof User)
if (sender instanceof IUser)
{
final Iterator<String> iterator = warpNameList.iterator();
while (iterator.hasNext())
@@ -112,7 +112,7 @@ public class Commandwarp extends EssentialsCommand
}
}
private void warpUser(final User user, final String name) throws Exception
private void warpUser(final IUser user, final String name) throws Exception
{
final Trade charge = new Trade(this.getName(), ess);
charge.isAffordableFor(user);

View File

@@ -1,7 +1,7 @@
package com.earth2me.essentials.commands;
import static com.earth2me.essentials.I18n._;
import com.earth2me.essentials.User;
import com.earth2me.essentials.api.IUser;
import org.bukkit.Server;
import org.bukkit.World;
import org.bukkit.command.CommandSender;
@@ -16,7 +16,7 @@ public class Commandweather extends EssentialsCommand
//TODO: Remove duplication
@Override
public void run(final Server server, final User user, final String commandLabel, final String[] args) throws Exception
public void run(final Server server, final IUser user, final String commandLabel, final String[] args) throws Exception
{
if (args.length < 1)
{

Some files were not shown because too many files have changed in this diff Show More