mirror of
https://github.com/essentials/Essentials.git
synced 2025-09-02 19:22:37 +02:00
Fix more stuff in 3.0
This commit is contained in:
@@ -18,8 +18,8 @@
|
||||
package net.ess3;
|
||||
|
||||
import net.ess3.api.server.Player;
|
||||
import net.ess3.api.server.IPlugin;
|
||||
import net.ess3.api.server.IServer;
|
||||
import net.ess3.api.server.Plugin;
|
||||
import net.ess3.api.server.Server;
|
||||
import net.ess3.api.server.World;
|
||||
import java.io.File;
|
||||
import java.io.IOException;
|
||||
@@ -76,11 +76,11 @@ public class Essentials implements IEssentials
|
||||
private transient ICommandHandler commandHandler;
|
||||
private transient Economy economy;
|
||||
@Getter
|
||||
private final IServer server;
|
||||
private final Server server;
|
||||
@Getter
|
||||
private final Logger logger;
|
||||
@Getter
|
||||
private final IPlugin plugin;
|
||||
private final Plugin plugin;
|
||||
public static boolean testing;
|
||||
private transient Metrics metrics;
|
||||
@Getter
|
||||
@@ -88,7 +88,7 @@ public class Essentials implements IEssentials
|
||||
@Getter
|
||||
private transient List<String> vanishedPlayers = new ArrayList<String>();
|
||||
|
||||
public Essentials(final IServer server, final Logger logger, final IPlugin plugin)
|
||||
public Essentials(final Server server, final Logger logger, final Plugin plugin)
|
||||
{
|
||||
this.server = server;
|
||||
this.logger = logger;
|
||||
|
@@ -2,10 +2,10 @@ package net.ess3;
|
||||
|
||||
import java.util.*;
|
||||
import java.util.logging.Level;
|
||||
import static net.ess3.I18n._;
|
||||
import net.ess3.api.IEssentials;
|
||||
import net.ess3.api.ISettings;
|
||||
import net.ess3.api.IUser;
|
||||
import net.ess3.api.server.Player;
|
||||
import net.ess3.permissions.Permissions;
|
||||
import net.ess3.user.UserData.TimestampType;
|
||||
|
||||
|
@@ -1,7 +1,7 @@
|
||||
package net.ess3.api;
|
||||
|
||||
import net.ess3.api.server.IPlugin;
|
||||
import net.ess3.api.server.IServer;
|
||||
import net.ess3.api.server.Plugin;
|
||||
import net.ess3.api.server.Server;
|
||||
import net.ess3.api.server.World;
|
||||
import net.ess3.economy.register.Methods;
|
||||
import net.ess3.listener.TntExplodeListener;
|
||||
@@ -59,11 +59,11 @@ public interface IEssentials extends IComponent
|
||||
|
||||
IEconomy getEconomy();
|
||||
|
||||
IServer getServer();
|
||||
Server getServer();
|
||||
|
||||
Logger getLogger();
|
||||
|
||||
IPlugin getPlugin();
|
||||
Plugin getPlugin();
|
||||
|
||||
List<String> getVanishedPlayers();
|
||||
|
||||
|
@@ -1,5 +0,0 @@
|
||||
package net.ess3.api.server;
|
||||
|
||||
public interface IPlayer {
|
||||
|
||||
}
|
@@ -2,9 +2,10 @@ package net.ess3.api.server;
|
||||
|
||||
import java.io.File;
|
||||
import java.io.InputStream;
|
||||
import java.util.logging.Logger;
|
||||
|
||||
|
||||
public interface IPlugin
|
||||
public interface Plugin
|
||||
{
|
||||
int scheduleAsyncDelayedTask(final Runnable run);
|
||||
|
||||
@@ -14,6 +15,8 @@ public interface IPlugin
|
||||
|
||||
int scheduleSyncRepeatingTask(final Runnable run, final long delay, final long period);
|
||||
|
||||
int scheduleAsyncRepeatingTask(final Runnable run, final long delay, final long period);
|
||||
|
||||
File getRootFolder();
|
||||
|
||||
File getDataFolder();
|
||||
@@ -29,4 +32,6 @@ public interface IPlugin
|
||||
Location callRespawnEvent(Player player, Location loc, boolean bedSpawn);
|
||||
|
||||
void callSuicideEvent(Player player);
|
||||
|
||||
Logger getLogger();
|
||||
}
|
@@ -4,7 +4,7 @@ import java.util.Collection;
|
||||
import java.util.List;
|
||||
|
||||
|
||||
public interface IServer
|
||||
public interface Server
|
||||
{
|
||||
List<World> getWorlds();
|
||||
|
@@ -24,5 +24,5 @@ public interface World {
|
||||
|
||||
long getTime();
|
||||
|
||||
void setSpawnLocation(int blockX, int blockY, int blockZ);
|
||||
boolean setSpawnLocation(int blockX, int blockY, int blockZ);
|
||||
}
|
||||
|
@@ -5,7 +5,7 @@ import net.ess3.api.IBackup;
|
||||
import net.ess3.api.IEssentials;
|
||||
import net.ess3.api.ISettings;
|
||||
import net.ess3.api.server.CommandSender;
|
||||
import net.ess3.api.server.IServer;
|
||||
import net.ess3.api.server.Server;
|
||||
import java.io.BufferedReader;
|
||||
import java.io.IOException;
|
||||
import java.io.InputStreamReader;
|
||||
@@ -16,7 +16,7 @@ import lombok.Cleanup;
|
||||
|
||||
public class Backup implements Runnable, IBackup
|
||||
{
|
||||
private transient final IServer server;
|
||||
private transient final Server server;
|
||||
private transient final IEssentials ess;
|
||||
private transient final AtomicBoolean running = new AtomicBoolean(false);
|
||||
private transient int taskId = -1;
|
||||
|
@@ -1,9 +1,9 @@
|
||||
package net.ess3.bukkit;
|
||||
|
||||
import net.ess3.api.server.Permission;
|
||||
import java.util.regex.Pattern;
|
||||
import lombok.Delegate;
|
||||
import lombok.Getter;
|
||||
import net.ess3.api.server.Permission;
|
||||
import org.bukkit.Bukkit;
|
||||
import org.bukkit.permissions.PermissionDefault;
|
||||
import org.bukkit.plugin.PluginManager;
|
||||
|
@@ -1,9 +1,12 @@
|
||||
package net.ess3.bukkit;
|
||||
|
||||
import net.ess3.api.IUser;
|
||||
import net.ess3.api.server.*;
|
||||
import lombok.Delegate;
|
||||
import lombok.Getter;
|
||||
import net.ess3.api.IUser;
|
||||
import net.ess3.api.server.IInventory;
|
||||
import net.ess3.api.server.Location;
|
||||
import net.ess3.api.server.Player;
|
||||
import net.ess3.api.server.World;
|
||||
import org.bukkit.OfflinePlayer;
|
||||
import org.bukkit.entity.LivingEntity;
|
||||
|
||||
@@ -46,9 +49,9 @@ public class BukkitPlayer extends BukkitCommandSender implements Player
|
||||
})
|
||||
@Getter
|
||||
private transient OfflinePlayer safePlayer;
|
||||
private final transient IServer server;
|
||||
private final transient BukkitServer server;
|
||||
|
||||
public BukkitPlayer(final OfflinePlayer player, final IServer server)
|
||||
public BukkitPlayer(final OfflinePlayer player, final BukkitServer server)
|
||||
{
|
||||
super(player.getPlayer());
|
||||
this.server = server;
|
||||
@@ -157,10 +160,10 @@ public class BukkitPlayer extends BukkitCommandSender implements Player
|
||||
}
|
||||
}
|
||||
|
||||
private int getExpToLevel()
|
||||
/*private int getExpToLevel()
|
||||
{
|
||||
return getExpToLevel(onlinePlayer.getLevel());
|
||||
}
|
||||
}*/
|
||||
|
||||
private static int getExpToLevel(final int level)
|
||||
{
|
||||
|
@@ -1,7 +1,7 @@
|
||||
package net.ess3.bukkit;
|
||||
|
||||
import net.ess3.api.server.Player;
|
||||
import net.ess3.api.server.IPlugin;
|
||||
import net.ess3.api.server.Plugin;
|
||||
import net.ess3.api.server.Location;
|
||||
import java.io.File;
|
||||
import lombok.Delegate;
|
||||
@@ -10,12 +10,12 @@ import org.bukkit.event.player.PlayerRespawnEvent;
|
||||
import org.bukkit.plugin.java.JavaPluginLoader;
|
||||
|
||||
|
||||
public class Plugin implements IPlugin
|
||||
public class BukkitPlugin implements Plugin
|
||||
{
|
||||
@Delegate
|
||||
private final org.bukkit.plugin.Plugin plugin;
|
||||
|
||||
public Plugin(final org.bukkit.plugin.Plugin plugin)
|
||||
public BukkitPlugin(final org.bukkit.plugin.Plugin plugin)
|
||||
{
|
||||
this.plugin = plugin;
|
||||
}
|
||||
@@ -44,6 +44,12 @@ public class Plugin implements IPlugin
|
||||
return plugin.getServer().getScheduler().scheduleSyncRepeatingTask(plugin, run, delay, period);
|
||||
}
|
||||
|
||||
@Override
|
||||
public int scheduleAsyncRepeatingTask(final Runnable run, final long delay, final long period)
|
||||
{
|
||||
return plugin.getServer().getScheduler().scheduleAsyncRepeatingTask(plugin, run, delay, period);
|
||||
}
|
||||
|
||||
@Override
|
||||
public File getRootFolder()
|
||||
{
|
@@ -1,13 +1,13 @@
|
||||
package net.ess3.bukkit;
|
||||
|
||||
import net.ess3.api.IEssentials;
|
||||
import net.ess3.api.server.CommandSender;
|
||||
import net.ess3.api.server.Player;
|
||||
import net.ess3.api.server.IServer;
|
||||
import net.ess3.api.server.World;
|
||||
import java.util.*;
|
||||
import lombok.Delegate;
|
||||
import lombok.Getter;
|
||||
import net.ess3.api.IEssentials;
|
||||
import net.ess3.api.server.CommandSender;
|
||||
import net.ess3.api.server.Player;
|
||||
import net.ess3.api.server.Server;
|
||||
import net.ess3.api.server.World;
|
||||
import org.bukkit.event.EventHandler;
|
||||
import org.bukkit.event.EventPriority;
|
||||
import org.bukkit.event.Listener;
|
||||
@@ -18,7 +18,7 @@ import org.bukkit.event.world.WorldUnloadEvent;
|
||||
import org.bukkit.plugin.RegisteredServiceProvider;
|
||||
|
||||
|
||||
public class Server implements IServer, Listener
|
||||
public class BukkitServer implements Server, Listener
|
||||
{
|
||||
private IEssentials ess;
|
||||
private interface Excludes
|
||||
@@ -38,11 +38,11 @@ public class Server implements IServer, Listener
|
||||
private Map<String, World> worldsMap;
|
||||
@Getter
|
||||
private Collection<Player> onlinePlayers;
|
||||
private Map<org.bukkit.entity.Player, Player> onlinePlayersMap;
|
||||
private Map<String, Player> onlinePlayersMap;
|
||||
@Getter
|
||||
private CommandSender consoleSender;
|
||||
|
||||
public Server(final org.bukkit.Server server)
|
||||
public BukkitServer(final org.bukkit.Server server)
|
||||
{
|
||||
this.server = server;
|
||||
consoleSender = new BukkitCommandSender(server.getConsoleSender());
|
||||
@@ -79,9 +79,9 @@ public class Server implements IServer, Listener
|
||||
@EventHandler(priority = EventPriority.MONITOR, ignoreCancelled = true)
|
||||
public synchronized void onPlayerLoginEvent(final PlayerLoginEvent event)
|
||||
{
|
||||
final HashMap<org.bukkit.entity.Player, Player> oplayersMap = new HashMap<org.bukkit.entity.Player, Player>(onlinePlayersMap);
|
||||
final HashMap<String, Player> oplayersMap = new HashMap<String, Player>(onlinePlayersMap);
|
||||
BukkitPlayer p = new BukkitPlayer(event.getPlayer(), this);
|
||||
oplayersMap.put(event.getPlayer(), p);
|
||||
oplayersMap.put(event.getPlayer().getName(), p);
|
||||
onlinePlayersMap = Collections.unmodifiableMap(oplayersMap);
|
||||
onlinePlayers = Collections.unmodifiableCollection(oplayersMap.values());
|
||||
}
|
||||
@@ -90,8 +90,8 @@ public class Server implements IServer, Listener
|
||||
public synchronized void onPlayerQuitEvent(final PlayerQuitEvent event)
|
||||
{
|
||||
final ArrayList<Player> oplayers = new ArrayList<Player>(onlinePlayers);
|
||||
final HashMap<org.bukkit.entity.Player, Player> oplayersMap = new HashMap<org.bukkit.entity.Player, Player>(onlinePlayersMap);
|
||||
oplayersMap.remove(event.getPlayer());
|
||||
final HashMap<String, Player> oplayersMap = new HashMap<String, Player>(onlinePlayersMap);
|
||||
oplayersMap.remove(event.getPlayer().getName());
|
||||
onlinePlayersMap = Collections.unmodifiableMap(oplayersMap);
|
||||
onlinePlayers = Collections.unmodifiableCollection(oplayersMap.values());
|
||||
}
|
@@ -1,5 +1,6 @@
|
||||
package net.ess3.bukkit;
|
||||
|
||||
import java.util.List;
|
||||
import net.ess3.api.server.World;
|
||||
import net.ess3.api.server.ItemStack;
|
||||
import net.ess3.api.server.Location;
|
||||
@@ -8,14 +9,23 @@ import lombok.Getter;
|
||||
import org.bukkit.TreeType;
|
||||
|
||||
public class BukkitWorld implements World {
|
||||
@Delegate
|
||||
private interface Excludes
|
||||
{
|
||||
boolean generateTree(Location safeLocation, TreeType tree);
|
||||
|
||||
ItemStack dropItem(Location loc, ItemStack stack);
|
||||
|
||||
Location getSpawnLocation();
|
||||
|
||||
void dropItemNaturally(Location location, ItemStack overflowStack);
|
||||
}
|
||||
@Delegate(excludes = Excludes.class)
|
||||
@Getter
|
||||
private final org.bukkit.World bukkitWorld;
|
||||
|
||||
public BukkitWorld(final org.bukkit.World world)
|
||||
{
|
||||
this.bukkitWorld = world;
|
||||
world.getT
|
||||
}
|
||||
|
||||
@Override
|
||||
@@ -41,5 +51,4 @@ public class BukkitWorld implements World {
|
||||
{
|
||||
throw new UnsupportedOperationException("Not supported yet.");
|
||||
}
|
||||
|
||||
}
|
||||
|
@@ -30,10 +30,10 @@ public class EssentialsPlugin extends JavaPlugin
|
||||
public void onEnable()
|
||||
{
|
||||
|
||||
Server server = new Server(getServer());
|
||||
BukkitServer server = new BukkitServer(getServer());
|
||||
final PluginManager pm = this.getServer().getPluginManager();
|
||||
pm.registerEvents(server, this);
|
||||
ess = new Essentials(server, getLogger(), new Plugin(this));
|
||||
ess = new Essentials(server, getLogger(), new BukkitPlugin(this));
|
||||
if (VersionCheck.checkVersion(this))
|
||||
{
|
||||
try
|
||||
@@ -86,7 +86,7 @@ public class EssentialsPlugin extends JavaPlugin
|
||||
{
|
||||
CommandSender commandSender;
|
||||
if (sender instanceof org.bukkit.entity.Player) {
|
||||
commandSender = ((Server)ess.getServer()).getPlayer((org.bukkit.entity.Player)sender);
|
||||
commandSender = ((BukkitServer)ess.getServer()).getPlayer((org.bukkit.entity.Player)sender);
|
||||
} else {
|
||||
commandSender = new BukkitCommandSender(sender);
|
||||
}
|
||||
|
@@ -45,4 +45,10 @@ public class Inventory implements IInventory {
|
||||
throw new UnsupportedOperationException("Not supported yet.");
|
||||
}
|
||||
|
||||
@Override
|
||||
public Map<Integer, ItemStack> addItem(ItemStack itemStack)
|
||||
{
|
||||
throw new UnsupportedOperationException("Not supported yet.");
|
||||
}
|
||||
|
||||
}
|
||||
|
@@ -6,7 +6,7 @@ import net.ess3.utils.LocationUtil;
|
||||
|
||||
import org.bukkit.entity.TNTPrimed;
|
||||
|
||||
|
||||
//TODO: Remove this?
|
||||
public class Commandantioch extends EssentialsCommand
|
||||
{
|
||||
@Override
|
||||
|
@@ -1,10 +1,10 @@
|
||||
package net.ess3.commands;
|
||||
|
||||
import static net.ess3.I18n._;
|
||||
import net.ess3.utils.Util;
|
||||
import net.ess3.api.IUser;
|
||||
import net.ess3.api.server.CommandSender;
|
||||
import net.ess3.permissions.Permissions;
|
||||
import net.ess3.utils.Util;
|
||||
|
||||
|
||||
public class Commandbalance extends EssentialsCommand
|
||||
@@ -16,7 +16,7 @@ public class Commandbalance extends EssentialsCommand
|
||||
{
|
||||
throw new NotEnoughArgumentsException();
|
||||
}
|
||||
sender.sendMessage(_("balance", Util.displayCurrency(getPlayer(args, 0, true).getMoney(), ess)));
|
||||
sender.sendMessage(_("balance", Util.displayCurrency(ess.getUserMap().matchUser(args[0], true, false).getMoney(), ess)));
|
||||
}
|
||||
|
||||
@Override
|
||||
@@ -25,7 +25,7 @@ public class Commandbalance extends EssentialsCommand
|
||||
final double bal = (args.length < 1
|
||||
|| !Permissions.BALANCE_OTHERS.isAuthorized(user)
|
||||
? user
|
||||
: getPlayer(args, 0, true)).getMoney();
|
||||
: ess.getUserMap().matchUser(args[0], true, false)).getMoney();
|
||||
user.sendMessage(_("balance", Util.displayCurrency(bal, ess)));
|
||||
}
|
||||
}
|
||||
|
@@ -4,7 +4,7 @@ import static net.ess3.I18n._;
|
||||
import net.ess3.api.IUser;
|
||||
import net.ess3.api.server.CommandSender;
|
||||
import net.ess3.api.server.Player;
|
||||
import net.ess3.api.server.IServer;
|
||||
import net.ess3.api.server.Server;
|
||||
import net.ess3.permissions.Permissions;
|
||||
|
||||
|
||||
@@ -39,7 +39,7 @@ public class Commandfly extends EssentialsCommand
|
||||
user.sendMessage(_("flyMode", _(user.getAllowFlight() ? "enabled" : "disabled"), user.getDisplayName()));
|
||||
}
|
||||
|
||||
private void flyOtherPlayers(final IServer server, final CommandSender sender, final String[] args)
|
||||
private void flyOtherPlayers(final Server server, final CommandSender sender, final String[] args)
|
||||
{
|
||||
for (Player matchPlayer : ess.getUserMap().matchUsers(args[0],true,true))
|
||||
{
|
||||
|
@@ -7,7 +7,7 @@ import net.ess3.api.ISettings;
|
||||
import net.ess3.api.IUser;
|
||||
import net.ess3.api.server.CommandSender;
|
||||
import net.ess3.api.server.Player;
|
||||
import net.ess3.api.server.IServer;
|
||||
import net.ess3.api.server.Server;
|
||||
import net.ess3.permissions.Permissions;
|
||||
import net.ess3.utils.Util;
|
||||
|
||||
@@ -78,7 +78,7 @@ public class Commandnick extends EssentialsCommand
|
||||
}
|
||||
}
|
||||
|
||||
private void resetAllNicknames(final IServer server)
|
||||
private void resetAllNicknames(final Server server)
|
||||
{
|
||||
for (Player player : server.getOnlinePlayers())
|
||||
{
|
||||
|
@@ -5,6 +5,7 @@ import net.ess3.Console;
|
||||
import static net.ess3.I18n._;
|
||||
import net.ess3.api.ISettings;
|
||||
import net.ess3.api.IUser;
|
||||
import net.ess3.api.server.CommandSender;
|
||||
import net.ess3.economy.Trade;
|
||||
import net.ess3.permissions.Permissions;
|
||||
import net.ess3.permissions.WorldPermissions;
|
||||
|
@@ -12,6 +12,7 @@ import java.util.Iterator;
|
||||
import java.util.List;
|
||||
import java.util.Locale;
|
||||
//TODO: remove bukkit
|
||||
import net.ess3.api.server.CommandSender;
|
||||
import org.bukkit.event.player.PlayerTeleportEvent.TeleportCause;
|
||||
|
||||
|
||||
@@ -36,7 +37,7 @@ public class Commandwarp extends EssentialsCommand
|
||||
IUser otherUser = null;
|
||||
if (args.length == 2 && Permissions.WARP_OTHERS.isAuthorized(user))
|
||||
{
|
||||
otherUser = ess.getUserMap().getUser(server.getPlayer(args[1]));
|
||||
otherUser = ess.getUserMap().matchUser(args[1],Permissions.WARP_HIDDEN.isAuthorized(user), true);
|
||||
if (otherUser == null)
|
||||
{
|
||||
throw new Exception(_("playerNotFound"));
|
||||
@@ -57,7 +58,7 @@ public class Commandwarp extends EssentialsCommand
|
||||
warpList(sender, args);
|
||||
throw new NoChargeException();
|
||||
}
|
||||
IUser otherUser = ess.getUserMap().getUser(server.getPlayer(args[1]));
|
||||
IUser otherUser = ess.getUserMap().matchUser(args[1],Permissions.WARP_HIDDEN.isAuthorized(sender), true);
|
||||
if (otherUser == null)
|
||||
{
|
||||
throw new Exception(_("playerNotFound"));
|
||||
|
@@ -5,7 +5,7 @@ import net.ess3.api.IEssentials;
|
||||
import net.ess3.api.IEssentialsModule;
|
||||
import net.ess3.api.IUser;
|
||||
import net.ess3.api.server.CommandSender;
|
||||
import net.ess3.api.server.IServer;
|
||||
import net.ess3.api.server.Server;
|
||||
import net.ess3.api.server.Player;
|
||||
import net.ess3.economy.Trade;
|
||||
import net.ess3.permissions.AbstractSuperpermsPermission;
|
||||
@@ -19,7 +19,7 @@ public abstract class EssentialsCommand extends AbstractSuperpermsPermission imp
|
||||
protected transient String commandName;
|
||||
protected transient IEssentials ess;
|
||||
protected transient IEssentialsModule module;
|
||||
protected transient IServer server;
|
||||
protected transient Server server;
|
||||
protected transient Logger logger;
|
||||
private transient String permission;
|
||||
|
||||
@@ -38,7 +38,7 @@ public abstract class EssentialsCommand extends AbstractSuperpermsPermission imp
|
||||
this.module = module;
|
||||
}
|
||||
|
||||
protected IUser getPlayer(final String[] args, final int pos) throws NoSuchFieldException, NotEnoughArgumentsException
|
||||
/*protected IUser getPlayer(final String[] args, final int pos) throws NoSuchFieldException, NotEnoughArgumentsException
|
||||
{
|
||||
return getPlayer(args, pos, false);
|
||||
}
|
||||
@@ -81,7 +81,7 @@ public abstract class EssentialsCommand extends AbstractSuperpermsPermission imp
|
||||
}
|
||||
}
|
||||
throw new NoSuchFieldException(_("playerNotFound"));
|
||||
}
|
||||
}*/
|
||||
|
||||
@Override
|
||||
public final void run(final IUser user, final Command cmd, final String commandLabel, final String[] args) throws Exception
|
||||
|
@@ -5,13 +5,14 @@ import java.util.logging.Level;
|
||||
import java.util.logging.Logger;
|
||||
import static net.ess3.I18n._;
|
||||
import net.ess3.api.*;
|
||||
import net.ess3.api.server.CommandSender;
|
||||
import net.ess3.api.server.Player;
|
||||
import net.ess3.api.server.Plugin;
|
||||
import org.bukkit.Bukkit;
|
||||
import org.bukkit.ChatColor;
|
||||
import org.bukkit.command.Command;
|
||||
import org.bukkit.command.PluginCommand;
|
||||
import org.bukkit.command.PluginCommandYamlParser;
|
||||
import org.bukkit.entity.Player;
|
||||
import org.bukkit.plugin.Plugin;
|
||||
|
||||
|
||||
public class EssentialsCommandHandler implements ICommandHandler
|
||||
@@ -63,6 +64,7 @@ public class EssentialsCommandHandler implements ICommandHandler
|
||||
{
|
||||
settings.unlock();
|
||||
}
|
||||
// TODO: Move this stuff to bukkit workarounds
|
||||
// Allow plugins to override the command via onCommand
|
||||
if (!overridden && (!commandLabel.startsWith("e") || commandLabel.equalsIgnoreCase(command.getName())))
|
||||
{
|
||||
@@ -102,7 +104,7 @@ public class EssentialsCommandHandler implements ICommandHandler
|
||||
IUser user = null;
|
||||
if (sender instanceof Player)
|
||||
{
|
||||
user = ess.getUserMap().getUser((Player)sender);
|
||||
user = ((Player)sender).getUser();
|
||||
LOGGER.log(Level.INFO, String.format("[PLAYER_COMMAND] %s: /%s %s ", ((Player)sender).getName(), commandLabel, EssentialsCommand.getFinalArg(args, 0)));
|
||||
}
|
||||
|
||||
@@ -202,6 +204,7 @@ public class EssentialsCommandHandler implements ICommandHandler
|
||||
{
|
||||
}
|
||||
|
||||
//TODO: Move this stuff to bukkit workarounds
|
||||
public final void addPlugin(final Plugin plugin)
|
||||
{
|
||||
if (plugin.getDescription().getMain().contains("com.earth2me.essentials"))
|
||||
|
@@ -1,14 +1,5 @@
|
||||
package net.ess3.economy;
|
||||
|
||||
import static net.ess3.I18n._;
|
||||
import net.ess3.api.ChargeException;
|
||||
import net.ess3.api.IEssentials;
|
||||
import net.ess3.api.ISettings;
|
||||
import net.ess3.api.IUser;
|
||||
import net.ess3.api.server.ItemStack;
|
||||
import net.ess3.api.server.Location;
|
||||
import net.ess3.permissions.NoCommandCostPermissions;
|
||||
import net.ess3.permissions.Permissions;
|
||||
import java.io.File;
|
||||
import java.io.FileWriter;
|
||||
import java.io.IOException;
|
||||
@@ -19,6 +10,15 @@ import java.util.Map;
|
||||
import java.util.logging.Level;
|
||||
import java.util.logging.Logger;
|
||||
import lombok.Cleanup;
|
||||
import static net.ess3.I18n._;
|
||||
import net.ess3.api.ChargeException;
|
||||
import net.ess3.api.IEssentials;
|
||||
import net.ess3.api.ISettings;
|
||||
import net.ess3.api.IUser;
|
||||
import net.ess3.api.server.ItemStack;
|
||||
import net.ess3.api.server.Location;
|
||||
import net.ess3.permissions.NoCommandCostPermissions;
|
||||
import net.ess3.permissions.Permissions;
|
||||
|
||||
|
||||
|
||||
|
@@ -30,11 +30,7 @@ import java.net.URLConnection;
|
||||
import java.net.URLEncoder;
|
||||
import java.util.*;
|
||||
import java.util.logging.Level;
|
||||
import org.bukkit.Bukkit;
|
||||
import org.bukkit.configuration.InvalidConfigurationException;
|
||||
import org.bukkit.configuration.file.YamlConfiguration;
|
||||
import org.bukkit.plugin.Plugin;
|
||||
import org.bukkit.plugin.PluginDescriptionFile;
|
||||
import net.ess3.api.server.Plugin;
|
||||
|
||||
|
||||
/**
|
||||
@@ -193,7 +189,7 @@ public class Metrics
|
||||
}
|
||||
|
||||
// Begin hitting the server with glorious data
|
||||
taskId = plugin.getServer().getScheduler().scheduleAsyncRepeatingTask(plugin, new Runnable()
|
||||
taskId = plugin.scheduleAsyncRepeatingTask(new Runnable()
|
||||
{
|
||||
private boolean firstPost = true;
|
||||
|
||||
@@ -207,7 +203,7 @@ public class Metrics
|
||||
// Disable Task, if it is running and the server owner decided to opt-out
|
||||
if (isOptOut() && taskId > 0)
|
||||
{
|
||||
plugin.getServer().getScheduler().cancelTask(taskId);
|
||||
plugin.cancelTask(taskId);
|
||||
taskId = -1;
|
||||
}
|
||||
}
|
||||
@@ -223,7 +219,7 @@ public class Metrics
|
||||
}
|
||||
catch (IOException e)
|
||||
{
|
||||
Bukkit.getLogger().log(Level.INFO, "[Metrics] " + e.getMessage());
|
||||
plugin.getLogger().log(Level.INFO, "[Metrics] " + e.getMessage());
|
||||
}
|
||||
}
|
||||
}, 0, PING_INTERVAL * 1200);
|
||||
@@ -246,12 +242,12 @@ public class Metrics
|
||||
}
|
||||
catch (IOException ex)
|
||||
{
|
||||
Bukkit.getLogger().log(Level.INFO, "[Metrics] " + ex.getMessage());
|
||||
plugin.getLogger().log(Level.INFO, "[Metrics] " + ex.getMessage());
|
||||
return true;
|
||||
}
|
||||
catch (InvalidConfigurationException ex)
|
||||
{
|
||||
Bukkit.getLogger().log(Level.INFO, "[Metrics] " + ex.getMessage());
|
||||
plugin.getLogger().log(Level.INFO, "[Metrics] " + ex.getMessage());
|
||||
return true;
|
||||
}
|
||||
return configuration.getBoolean("opt-out", false);
|
||||
@@ -304,7 +300,7 @@ public class Metrics
|
||||
// Disable Task, if it is running
|
||||
if (taskId >= 0)
|
||||
{
|
||||
this.plugin.getServer().getScheduler().cancelTask(taskId);
|
||||
this.plugin.cancelTask(taskId);
|
||||
taskId = -1;
|
||||
}
|
||||
}
|
||||
@@ -323,7 +319,7 @@ public class Metrics
|
||||
data.append(encode("guid")).append('=').append(encode(guid));
|
||||
encodeDataPair(data, "version", description.getVersion());
|
||||
encodeDataPair(data, "server", Bukkit.getVersion());
|
||||
encodeDataPair(data, "players", Integer.toString(Bukkit.getServer().getOnlinePlayers().length));
|
||||
encodeDataPair(data, "players", Integer.toString(plugin.getServer().getOnlinePlayers().length));
|
||||
encodeDataPair(data, "revision", String.valueOf(REVISION));
|
||||
|
||||
// If we're pinging, append it
|
||||
|
@@ -85,6 +85,7 @@ public enum Permissions implements IPermission
|
||||
TPOHERE,
|
||||
UNLIMITED_OTHERS,
|
||||
WARP_LIST(Permission.Default.TRUE),
|
||||
WARP_HIDDEN,
|
||||
WARP_OTHERS,
|
||||
VANISH_SEE_OTHERS;
|
||||
private static final String base = "essentials.";
|
||||
|
@@ -6,6 +6,7 @@ import net.ess3.api.IEssentials;
|
||||
import net.ess3.api.IRanks;
|
||||
import net.ess3.api.ISettings;
|
||||
import net.ess3.api.IUser;
|
||||
import net.ess3.bukkit.BukkitPlayer;
|
||||
import net.ess3.utils.Util;
|
||||
import org.anjocaido.groupmanager.GroupManager;
|
||||
import org.anjocaido.groupmanager.permissions.AnjoPermissionsHandler;
|
||||
@@ -24,7 +25,7 @@ public class GMGroups implements IRanks {
|
||||
@Override
|
||||
public double getHealCooldown(IUser player)
|
||||
{
|
||||
AnjoPermissionsHandler handler = groupManager.getWorldsHolder().getWorldPermissions(player.getBase());
|
||||
AnjoPermissionsHandler handler = groupManager.getWorldsHolder().getWorldPermissions(((BukkitPlayer)player.getBase()).getPlayer());
|
||||
if (handler == null)
|
||||
{
|
||||
return 0;
|
||||
@@ -35,7 +36,7 @@ public class GMGroups implements IRanks {
|
||||
@Override
|
||||
public double getTeleportCooldown(IUser player)
|
||||
{
|
||||
AnjoPermissionsHandler handler = groupManager.getWorldsHolder().getWorldPermissions(player.getBase());
|
||||
AnjoPermissionsHandler handler = groupManager.getWorldsHolder().getWorldPermissions(((BukkitPlayer)player.getBase()).getPlayer());
|
||||
if (handler == null)
|
||||
{
|
||||
return 0;
|
||||
@@ -46,7 +47,7 @@ public class GMGroups implements IRanks {
|
||||
@Override
|
||||
public double getTeleportDelay(IUser player)
|
||||
{
|
||||
AnjoPermissionsHandler handler = groupManager.getWorldsHolder().getWorldPermissions(player.getBase());
|
||||
AnjoPermissionsHandler handler = groupManager.getWorldsHolder().getWorldPermissions(((BukkitPlayer)player.getBase()).getPlayer());
|
||||
if (handler == null)
|
||||
{
|
||||
return 0;
|
||||
@@ -57,7 +58,7 @@ public class GMGroups implements IRanks {
|
||||
@Override
|
||||
public String getPrefix(IUser player)
|
||||
{
|
||||
AnjoPermissionsHandler handler = groupManager.getWorldsHolder().getWorldPermissions(player.getBase());
|
||||
AnjoPermissionsHandler handler = groupManager.getWorldsHolder().getWorldPermissions(((BukkitPlayer)player.getBase()).getPlayer());
|
||||
if (handler == null)
|
||||
{
|
||||
return null;
|
||||
@@ -68,7 +69,7 @@ public class GMGroups implements IRanks {
|
||||
@Override
|
||||
public String getSuffix(IUser player)
|
||||
{
|
||||
AnjoPermissionsHandler handler = groupManager.getWorldsHolder().getWorldPermissions(player.getBase());
|
||||
AnjoPermissionsHandler handler = groupManager.getWorldsHolder().getWorldPermissions(((BukkitPlayer)player.getBase()).getPlayer());
|
||||
if (handler == null)
|
||||
{
|
||||
return null;
|
||||
@@ -79,7 +80,7 @@ public class GMGroups implements IRanks {
|
||||
@Override
|
||||
public int getHomeLimit(IUser player)
|
||||
{
|
||||
AnjoPermissionsHandler handler = groupManager.getWorldsHolder().getWorldPermissions(player.getBase());
|
||||
AnjoPermissionsHandler handler = groupManager.getWorldsHolder().getWorldPermissions(((BukkitPlayer)player.getBase()).getPlayer());
|
||||
if (handler == null)
|
||||
{
|
||||
return 0;
|
||||
@@ -104,7 +105,7 @@ public class GMGroups implements IRanks {
|
||||
|
||||
private String getRawChatFormat(final IUser player)
|
||||
{
|
||||
AnjoPermissionsHandler handler = groupManager.getWorldsHolder().getWorldPermissions(player.getBase());
|
||||
AnjoPermissionsHandler handler = groupManager.getWorldsHolder().getWorldPermissions(((BukkitPlayer)player.getBase()).getPlayer());
|
||||
if (handler != null)
|
||||
{
|
||||
String chatformat = handler.getPermissionString(player.getName(), "chatformat");
|
||||
@@ -122,7 +123,7 @@ public class GMGroups implements IRanks {
|
||||
@Override
|
||||
public String getMainGroup(IUser player)
|
||||
{
|
||||
final AnjoPermissionsHandler handler = groupManager.getWorldsHolder().getWorldPermissions(player.getBase());
|
||||
final AnjoPermissionsHandler handler = groupManager.getWorldsHolder().getWorldPermissions(((BukkitPlayer)player.getBase()).getPlayer());
|
||||
if (handler == null)
|
||||
{
|
||||
return null;
|
||||
@@ -133,7 +134,7 @@ public class GMGroups implements IRanks {
|
||||
@Override
|
||||
public boolean inGroup(IUser player, String groupname)
|
||||
{
|
||||
AnjoPermissionsHandler handler = groupManager.getWorldsHolder().getWorldPermissions(player.getBase());
|
||||
AnjoPermissionsHandler handler = groupManager.getWorldsHolder().getWorldPermissions(((BukkitPlayer)player.getBase()).getPlayer());
|
||||
if (handler == null)
|
||||
{
|
||||
return false;
|
||||
|
@@ -6,6 +6,7 @@ import net.ess3.api.IEssentials;
|
||||
import net.ess3.api.IRanks;
|
||||
import net.ess3.api.ISettings;
|
||||
import net.ess3.api.IUser;
|
||||
import net.ess3.bukkit.BukkitPlayer;
|
||||
import net.ess3.utils.Util;
|
||||
import net.milkbowl.vault.chat.Chat;
|
||||
|
||||
@@ -23,42 +24,42 @@ public class VaultGroups implements IRanks
|
||||
public double getHealCooldown(IUser player)
|
||||
{
|
||||
Chat chat = ess.getServer().getServiceProvider(Chat.class);
|
||||
return chat.getPlayerInfoDouble(player.getBase(), "healcooldown", 0);
|
||||
return chat.getPlayerInfoDouble(((BukkitPlayer)player.getBase()).getPlayer(), "healcooldown", 0);
|
||||
}
|
||||
|
||||
@Override
|
||||
public double getTeleportCooldown(IUser player)
|
||||
{
|
||||
Chat chat = ess.getServer().getServiceProvider(Chat.class);
|
||||
return chat.getPlayerInfoDouble(player.getBase(), "teleportcooldown", 0);
|
||||
return chat.getPlayerInfoDouble(((BukkitPlayer)player.getBase()).getPlayer(), "teleportcooldown", 0);
|
||||
}
|
||||
|
||||
@Override
|
||||
public double getTeleportDelay(IUser player)
|
||||
{
|
||||
Chat chat = ess.getServer().getServiceProvider(Chat.class);
|
||||
return chat.getPlayerInfoDouble(player.getBase(), "teleportdelay", 0);
|
||||
return chat.getPlayerInfoDouble(((BukkitPlayer)player.getBase()).getPlayer(), "teleportdelay", 0);
|
||||
}
|
||||
|
||||
@Override
|
||||
public String getPrefix(IUser player)
|
||||
{
|
||||
Chat chat = ess.getServer().getServiceProvider(Chat.class);
|
||||
return chat.getPlayerPrefix(player.getBase());
|
||||
return chat.getPlayerPrefix(((BukkitPlayer)player.getBase()).getPlayer());
|
||||
}
|
||||
|
||||
@Override
|
||||
public String getSuffix(IUser player)
|
||||
{
|
||||
Chat chat = ess.getServer().getServiceProvider(Chat.class);
|
||||
return chat.getPlayerSuffix(player.getBase());
|
||||
return chat.getPlayerSuffix(((BukkitPlayer)player.getBase()).getPlayer());
|
||||
}
|
||||
|
||||
@Override
|
||||
public int getHomeLimit(IUser player)
|
||||
{
|
||||
Chat chat = ess.getServer().getServiceProvider(Chat.class);
|
||||
return chat.getPlayerInfoInteger(player.getBase(), "homes", 0);
|
||||
return chat.getPlayerInfoInteger(((BukkitPlayer)player.getBase()).getPlayer(), "homes", 0);
|
||||
}
|
||||
|
||||
@Override
|
||||
@@ -79,7 +80,7 @@ public class VaultGroups implements IRanks
|
||||
private String getRawChatFormat(final IUser player)
|
||||
{
|
||||
Chat chat = ess.getServer().getServiceProvider(Chat.class);
|
||||
String chatformat = chat.getPlayerInfoString(player.getBase(), "chatformat", "");
|
||||
String chatformat = chat.getPlayerInfoString(((BukkitPlayer)player.getBase()).getPlayer(), "chatformat", "");
|
||||
if (chatformat != null && !chatformat.isEmpty())
|
||||
{
|
||||
return chatformat;
|
||||
@@ -95,14 +96,14 @@ public class VaultGroups implements IRanks
|
||||
public String getMainGroup(IUser player)
|
||||
{
|
||||
Chat chat = ess.getServer().getServiceProvider(Chat.class);
|
||||
return chat.getPrimaryGroup(player.getBase());
|
||||
return chat.getPrimaryGroup(((BukkitPlayer)player.getBase()).getPlayer());
|
||||
}
|
||||
|
||||
@Override
|
||||
public boolean inGroup(IUser player, String groupname)
|
||||
{
|
||||
Chat chat = ess.getServer().getServiceProvider(Chat.class);
|
||||
for (String group : chat.getPlayerGroups(player.getBase()))
|
||||
for (String group : chat.getPlayerGroups(((BukkitPlayer)player.getBase()).getPlayer()))
|
||||
{
|
||||
if (group.equalsIgnoreCase(groupname))
|
||||
{
|
||||
|
@@ -5,8 +5,11 @@ import java.util.List;
|
||||
import java.util.Locale;
|
||||
import java.util.Map;
|
||||
import java.util.regex.Pattern;
|
||||
import net.ess3.Essentials;
|
||||
import net.ess3.api.server.ItemStack;
|
||||
import net.ess3.api.server.Material;
|
||||
import net.ess3.api.server.Plugin;
|
||||
import org.bukkit.enchantments.Enchantment;
|
||||
import org.bukkit.inventory.ItemStack;
|
||||
import org.bukkit.material.MaterialData;
|
||||
import org.yaml.snakeyaml.TypeDescription;
|
||||
import org.yaml.snakeyaml.constructor.Constructor;
|
||||
@@ -18,9 +21,9 @@ import org.yaml.snakeyaml.nodes.*;
|
||||
public class BukkitConstructor extends Constructor
|
||||
{
|
||||
private final transient Pattern NUMPATTERN = Pattern.compile("\\d+");
|
||||
private final transient IPlugin plugin;
|
||||
private final transient Plugin plugin;
|
||||
|
||||
public BukkitConstructor(final Class clazz, final IPlugin plugin)
|
||||
public BukkitConstructor(final Class clazz, final Plugin plugin)
|
||||
{
|
||||
super(clazz);
|
||||
this.plugin = plugin;
|
||||
@@ -41,11 +44,11 @@ public class BukkitConstructor extends Constructor
|
||||
if (NUMPATTERN.matcher(val).matches())
|
||||
{
|
||||
final int typeId = Integer.parseInt(val);
|
||||
mat = Material.getMaterial(typeId);
|
||||
mat = Material.get(typeId);
|
||||
}
|
||||
else
|
||||
{
|
||||
mat = Material.matchMaterial(val);
|
||||
mat = Material.match(val);
|
||||
}
|
||||
return mat;
|
||||
}
|
||||
@@ -103,11 +106,11 @@ public class BukkitConstructor extends Constructor
|
||||
if (NUMPATTERN.matcher(split2[0]).matches())
|
||||
{
|
||||
final int typeId = Integer.parseInt(split2[0]);
|
||||
mat = Material.getMaterial(typeId);
|
||||
mat = Material.get(typeId);
|
||||
}
|
||||
else
|
||||
{
|
||||
mat = Material.matchMaterial(split2[0]);
|
||||
mat = Material.match(split2[0]);
|
||||
}
|
||||
if (mat == null)
|
||||
{
|
||||
@@ -123,7 +126,7 @@ public class BukkitConstructor extends Constructor
|
||||
{
|
||||
size = Integer.parseInt(split1[1]);
|
||||
}
|
||||
final ItemStack stack = new ItemStack(mat, size, data);
|
||||
final ItemStack stack = ItemStack.create(mat, size, data);
|
||||
if (split1.length > 2)
|
||||
{
|
||||
for (int i = 2; i < split1.length; i++)
|
||||
|
@@ -1,6 +1,6 @@
|
||||
package net.ess3.storage;
|
||||
|
||||
import net.ess3.api.server.IPlugin;
|
||||
import net.ess3.api.server.Plugin;
|
||||
import java.io.Reader;
|
||||
import java.lang.reflect.Field;
|
||||
import java.util.*;
|
||||
@@ -15,9 +15,9 @@ public class YamlStorageReader implements IStorageReader
|
||||
private transient static final Map<Class, Yaml> PREPARED_YAMLS = Collections.synchronizedMap(new HashMap<Class, Yaml>());
|
||||
private transient static final Map<Class, ReentrantLock> LOCKS = new HashMap<Class, ReentrantLock>();
|
||||
private transient final Reader reader;
|
||||
private transient final IPlugin plugin;
|
||||
private transient final Plugin plugin;
|
||||
|
||||
public YamlStorageReader(final Reader reader, final IPlugin plugin)
|
||||
public YamlStorageReader(final Reader reader, final Plugin plugin)
|
||||
{
|
||||
this.reader = reader;
|
||||
this.plugin = plugin;
|
||||
|
@@ -1,10 +1,10 @@
|
||||
package net.ess3.user;
|
||||
|
||||
import net.ess3.api.server.Material;
|
||||
import net.ess3.storage.*;
|
||||
import java.util.*;
|
||||
import lombok.Data;
|
||||
import lombok.EqualsAndHashCode;
|
||||
import net.ess3.api.server.Material;
|
||||
import net.ess3.storage.*;
|
||||
|
||||
|
||||
|
||||
|
@@ -1,15 +1,17 @@
|
||||
package net.ess3.user;
|
||||
|
||||
import java.io.File;
|
||||
import java.util.Collections;
|
||||
import java.util.LinkedHashSet;
|
||||
import java.util.Locale;
|
||||
import java.util.Set;
|
||||
import net.ess3.api.IEssentials;
|
||||
import net.ess3.api.IUser;
|
||||
import net.ess3.api.IUserMap;
|
||||
import net.ess3.api.InvalidNameException;
|
||||
import net.ess3.api.server.Player;
|
||||
import net.ess3.storage.StorageObjectMap;
|
||||
import org.bukkit.Bukkit;
|
||||
import org.bukkit.entity.Player;
|
||||
import net.ess3.utils.Util;
|
||||
|
||||
|
||||
public class UserMap extends StorageObjectMap<IUser> implements IUserMap
|
||||
@@ -94,4 +96,158 @@ public class UserMap extends StorageObjectMap<IUser> implements IUserMap
|
||||
}
|
||||
return user;
|
||||
}
|
||||
|
||||
@Override
|
||||
public IUser matchUser(final String name, final boolean includeHidden, final boolean includeOffline) throws TooManyMatchesException
|
||||
{
|
||||
final Set<IUser> users = matchUsers(name, includeHidden, includeOffline);
|
||||
if (users == null || users.isEmpty())
|
||||
{
|
||||
return null;
|
||||
}
|
||||
else
|
||||
{
|
||||
if (users.size() > 1)
|
||||
{
|
||||
throw new TooManyMatchesException();
|
||||
}
|
||||
else
|
||||
{
|
||||
return users.iterator().next();
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@Override
|
||||
public Set<IUser> matchUsers(final String name, final boolean includeHidden, final boolean includeOffline)
|
||||
{
|
||||
final String colorlessName = Util.stripColor(name);
|
||||
final String[] search = colorlessName.split(",");
|
||||
final boolean multisearch = search.length > 1;
|
||||
final Set<IUser> result = new LinkedHashSet<IUser>();
|
||||
final String nicknamePrefix = Util.stripColor(getNickNamePrefix());
|
||||
for (String searchString : search)
|
||||
{
|
||||
if (searchString.isEmpty())
|
||||
{
|
||||
continue;
|
||||
}
|
||||
|
||||
if (searchString.startsWith(nicknamePrefix))
|
||||
{
|
||||
searchString = searchString.substring(nicknamePrefix.length());
|
||||
}
|
||||
searchString = searchString.toLowerCase(Locale.ENGLISH);
|
||||
final boolean multimatching = searchString.endsWith("*");
|
||||
if (multimatching)
|
||||
{
|
||||
searchString = searchString.substring(0, searchString.length() - 1);
|
||||
}
|
||||
Player match = null;
|
||||
for (Player player : ess.getServer().getOnlinePlayers())
|
||||
{
|
||||
if (player.getName().equalsIgnoreCase(searchString)
|
||||
&& (includeHidden || (includeOffline && player.getUser().isHidden())))
|
||||
{
|
||||
match = player;
|
||||
break;
|
||||
}
|
||||
}
|
||||
if (match != null)
|
||||
{
|
||||
if (multimatching || multisearch)
|
||||
{
|
||||
result.add(match.getUser());
|
||||
}
|
||||
else
|
||||
{
|
||||
return Collections.singleton(match.getUser());
|
||||
}
|
||||
}
|
||||
for (Player player : ess.getServer().getOnlinePlayers())
|
||||
{
|
||||
final String nickname = player.getUser().getData().getNickname();
|
||||
if (nickname != null && !nickname.isEmpty()
|
||||
&& nickname.equalsIgnoreCase(searchString)
|
||||
&& (includeHidden || (includeOffline && player.getUser().isHidden())))
|
||||
{
|
||||
if (multimatching || multisearch)
|
||||
{
|
||||
result.add(player.getUser());
|
||||
}
|
||||
else
|
||||
{
|
||||
return Collections.singleton(player.getUser());
|
||||
}
|
||||
}
|
||||
}
|
||||
if (includeOffline)
|
||||
{
|
||||
for (String playerName : getAllUniqueUsers())
|
||||
{
|
||||
if (playerName.equals(searchString))
|
||||
{
|
||||
match = getUser(playerName);
|
||||
break;
|
||||
}
|
||||
}
|
||||
if (match != null)
|
||||
{
|
||||
if (multimatching || multisearch)
|
||||
{
|
||||
result.add(match.getUser());
|
||||
}
|
||||
else
|
||||
{
|
||||
return Collections.singleton(match.getUser());
|
||||
}
|
||||
}
|
||||
}
|
||||
if (multimatching || match == null)
|
||||
{
|
||||
for (Player player : ess.getServer().getOnlinePlayers())
|
||||
{
|
||||
if (player.getName().toLowerCase(Locale.ENGLISH).startsWith(searchString)
|
||||
&& (includeHidden || (includeOffline && player.getUser().isHidden())))
|
||||
{
|
||||
result.add(player.getUser());
|
||||
break;
|
||||
}
|
||||
final String nickname = player.getUser().getData().getNickname();
|
||||
if (nickname != null && !nickname.isEmpty()
|
||||
&& nickname.toLowerCase(Locale.ENGLISH).startsWith(searchString)
|
||||
&& (includeHidden || (includeOffline && player.getUser().isHidden())))
|
||||
{
|
||||
result.add(player.getUser());
|
||||
break;
|
||||
}
|
||||
}
|
||||
if (includeOffline)
|
||||
{
|
||||
for (String playerName : getAllUniqueUsers())
|
||||
{
|
||||
if (playerName.startsWith(searchString))
|
||||
{
|
||||
result.add(getUser(playerName));
|
||||
break;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
return result;
|
||||
}
|
||||
|
||||
private String getNickNamePrefix()
|
||||
{
|
||||
ess.getSettings().acquireReadLock();
|
||||
try
|
||||
{
|
||||
return ess.getSettings().getData().getChat().getNicknamePrefix();
|
||||
}
|
||||
finally
|
||||
{
|
||||
ess.getSettings().unlock();
|
||||
}
|
||||
}
|
||||
}
|
||||
|
@@ -1,26 +0,0 @@
|
||||
package com.earth2me.essentials.testserver;
|
||||
|
||||
import net.ess3.api.server.Location;
|
||||
import org.bukkit.TreeType;
|
||||
|
||||
public class World implements World {
|
||||
|
||||
@Override
|
||||
public String getName()
|
||||
{
|
||||
return "TestWorld";
|
||||
}
|
||||
|
||||
@Override
|
||||
public boolean generateTree(Location safeLocation, TreeType tree)
|
||||
{
|
||||
throw new UnsupportedOperationException("Not supported yet.");
|
||||
}
|
||||
|
||||
@Override
|
||||
public int getHighestBlockYAt(int topX, int topZ)
|
||||
{
|
||||
throw new UnsupportedOperationException("Not supported yet.");
|
||||
}
|
||||
|
||||
}
|
@@ -1,14 +1,15 @@
|
||||
package com.earth2me.essentials;
|
||||
package net.ess3;
|
||||
|
||||
import com.earth2me.essentials.testserver.Plugin;
|
||||
import com.earth2me.essentials.testserver.Server;
|
||||
import java.util.logging.Logger;
|
||||
import junit.framework.TestCase;
|
||||
import net.ess3.Essentials;
|
||||
import net.ess3.testserver.TestPlugin;
|
||||
import net.ess3.testserver.TestServer;
|
||||
import net.ess3.testserver.TestWorld;
|
||||
|
||||
public abstract class EssentialsTest extends TestCase {
|
||||
protected final transient Server server;
|
||||
protected final transient Plugin plugin;
|
||||
protected final transient TestServer server;
|
||||
protected final transient TestPlugin plugin;
|
||||
protected final transient TestWorld world;
|
||||
protected final transient Logger logger;
|
||||
protected final transient Essentials ess;
|
||||
|
||||
@@ -17,8 +18,9 @@ public abstract class EssentialsTest extends TestCase {
|
||||
{
|
||||
super(testName);
|
||||
logger = Logger.getLogger(this.getName());
|
||||
server = new Server();
|
||||
plugin = new Plugin();
|
||||
server = new TestServer();
|
||||
world = (TestWorld)server.getWorlds().get(0);
|
||||
plugin = new TestPlugin();
|
||||
ess = new Essentials(server, logger, plugin);
|
||||
Essentials.testing = true;
|
||||
ess.onEnable();
|
@@ -1,16 +1,13 @@
|
||||
package net.ess3;
|
||||
|
||||
import java.io.*;
|
||||
|
||||
import net.ess3.api.server.Location;
|
||||
import net.ess3.settings.Settings;
|
||||
import net.ess3.storage.ObjectLoadException;
|
||||
import net.ess3.storage.StorageObject;
|
||||
import net.ess3.storage.YamlStorageReader;
|
||||
import net.ess3.storage.YamlStorageWriter;
|
||||
import net.ess3.utils.ExecuteTimer;
|
||||
import org.bukkit.Location;
|
||||
import org.bukkit.World;
|
||||
import org.bukkit.World.Environment;
|
||||
import org.junit.Test;
|
||||
|
||||
|
||||
@@ -65,8 +62,6 @@ public class StorageTest extends EssentialsTest
|
||||
{
|
||||
try
|
||||
{
|
||||
FakeServer server = new FakeServer();
|
||||
World world = server.createWorld("testWorld", Environment.NORMAL);
|
||||
ExecuteTimer ext = new ExecuteTimer();
|
||||
ext.start();
|
||||
final ByteArrayInputStream bais = new ByteArrayInputStream(new byte[0]);
|
||||
@@ -80,7 +75,7 @@ public class StorageTest extends EssentialsTest
|
||||
|
||||
for (int j = 0; j < 10000; j++)
|
||||
{
|
||||
userdata.getHomes().put("home", new net.ess3.storage.StoredLocation(new Location(world, j, j, j)));
|
||||
userdata.getHomes().put("home", new net.ess3.storage.StoredLocation(Location.create(world, j, j, j)));
|
||||
}
|
||||
ext.mark("change home 10000 times");
|
||||
final ByteArrayOutputStream baos = new ByteArrayOutputStream();
|
||||
|
@@ -1,9 +1,9 @@
|
||||
package com.earth2me.essentials.testserver;
|
||||
package net.ess3.testserver;
|
||||
|
||||
import net.ess3.api.IUser;
|
||||
import net.ess3.api.server.*;
|
||||
|
||||
public class Player implements Player {
|
||||
public class TestPlayer implements Player {
|
||||
|
||||
@Override
|
||||
public IUser getUser()
|
||||
@@ -42,7 +42,7 @@ public class Player implements Player {
|
||||
}
|
||||
|
||||
@Override
|
||||
public World getWorld()
|
||||
public TestWorld getWorld()
|
||||
{
|
||||
throw new UnsupportedOperationException("Not supported yet.");
|
||||
}
|
||||
@@ -149,4 +149,52 @@ public class Player implements Player {
|
||||
throw new UnsupportedOperationException("Not supported yet.");
|
||||
}
|
||||
|
||||
@Override
|
||||
public void setTotalExperience(int exp)
|
||||
{
|
||||
throw new UnsupportedOperationException("Not supported yet.");
|
||||
}
|
||||
|
||||
@Override
|
||||
public int getTotalExperience()
|
||||
{
|
||||
throw new UnsupportedOperationException("Not supported yet.");
|
||||
}
|
||||
|
||||
@Override
|
||||
public void setDisplayName(String name)
|
||||
{
|
||||
throw new UnsupportedOperationException("Not supported yet.");
|
||||
}
|
||||
|
||||
@Override
|
||||
public void setPlayerListName(String name)
|
||||
{
|
||||
throw new UnsupportedOperationException("Not supported yet.");
|
||||
}
|
||||
|
||||
@Override
|
||||
public void setSleepingIgnored(boolean b)
|
||||
{
|
||||
throw new UnsupportedOperationException("Not supported yet.");
|
||||
}
|
||||
|
||||
@Override
|
||||
public boolean isBanned()
|
||||
{
|
||||
throw new UnsupportedOperationException("Not supported yet.");
|
||||
}
|
||||
|
||||
@Override
|
||||
public void setCompassTarget(Location loc)
|
||||
{
|
||||
throw new UnsupportedOperationException("Not supported yet.");
|
||||
}
|
||||
|
||||
@Override
|
||||
public void damage(int value)
|
||||
{
|
||||
throw new UnsupportedOperationException("Not supported yet.");
|
||||
}
|
||||
|
||||
}
|
@@ -1,10 +1,13 @@
|
||||
package com.earth2me.essentials.testserver;
|
||||
package net.ess3.testserver;
|
||||
|
||||
import net.ess3.api.server.IPlugin;
|
||||
import java.io.File;
|
||||
import java.io.InputStream;
|
||||
import java.util.logging.Logger;
|
||||
import net.ess3.api.server.Location;
|
||||
import net.ess3.api.server.Player;
|
||||
import net.ess3.api.server.Plugin;
|
||||
|
||||
public class Plugin implements IPlugin {
|
||||
public class TestPlugin implements Plugin {
|
||||
|
||||
@Override
|
||||
public int scheduleAsyncDelayedTask(Runnable run)
|
||||
@@ -66,4 +69,28 @@ public class Plugin implements IPlugin {
|
||||
throw new UnsupportedOperationException("Not supported yet.");
|
||||
}
|
||||
|
||||
@Override
|
||||
public int scheduleAsyncRepeatingTask(Runnable run, long delay, long period)
|
||||
{
|
||||
throw new UnsupportedOperationException("Not supported yet.");
|
||||
}
|
||||
|
||||
@Override
|
||||
public Location callRespawnEvent(Player player, Location loc, boolean bedSpawn)
|
||||
{
|
||||
throw new UnsupportedOperationException("Not supported yet.");
|
||||
}
|
||||
|
||||
@Override
|
||||
public void callSuicideEvent(Player player)
|
||||
{
|
||||
throw new UnsupportedOperationException("Not supported yet.");
|
||||
}
|
||||
|
||||
@Override
|
||||
public Logger getLogger()
|
||||
{
|
||||
throw new UnsupportedOperationException("Not supported yet.");
|
||||
}
|
||||
|
||||
}
|
@@ -1,16 +1,16 @@
|
||||
package com.earth2me.essentials.testserver;
|
||||
package net.ess3.testserver;
|
||||
|
||||
import net.ess3.api.server.CommandSender;
|
||||
import net.ess3.api.server.Player;
|
||||
import net.ess3.api.server.IServer;
|
||||
import net.ess3.api.server.World;
|
||||
import java.util.Collection;
|
||||
import java.util.Collections;
|
||||
import java.util.List;
|
||||
import net.ess3.api.server.CommandSender;
|
||||
import net.ess3.api.server.Player;
|
||||
import net.ess3.api.server.Server;
|
||||
import net.ess3.api.server.World;
|
||||
|
||||
public class Server implements IServer {
|
||||
public class TestServer implements Server {
|
||||
|
||||
public Server()
|
||||
public TestServer()
|
||||
{
|
||||
}
|
||||
|
||||
@@ -19,7 +19,7 @@ public class Server implements IServer {
|
||||
@Override
|
||||
public List<World> getWorlds()
|
||||
{
|
||||
return Collections.<World>singletonList(new World());
|
||||
return Collections.<World>singletonList(new TestWorld());
|
||||
}
|
||||
|
||||
@Override
|
77
Essentials/test/net/ess3/testserver/TestWorld.java
Normal file
77
Essentials/test/net/ess3/testserver/TestWorld.java
Normal file
@@ -0,0 +1,77 @@
|
||||
package net.ess3.testserver;
|
||||
|
||||
import java.util.UUID;
|
||||
import net.ess3.api.server.ItemStack;
|
||||
import net.ess3.api.server.Location;
|
||||
import net.ess3.api.server.World;
|
||||
import org.bukkit.TreeType;
|
||||
|
||||
public class TestWorld implements World {
|
||||
|
||||
@Override
|
||||
public String getName()
|
||||
{
|
||||
return "TestWorld";
|
||||
}
|
||||
|
||||
@Override
|
||||
public boolean generateTree(Location safeLocation, TreeType tree)
|
||||
{
|
||||
throw new UnsupportedOperationException("Not supported yet.");
|
||||
}
|
||||
|
||||
@Override
|
||||
public int getHighestBlockYAt(int topX, int topZ)
|
||||
{
|
||||
throw new UnsupportedOperationException("Not supported yet.");
|
||||
}
|
||||
|
||||
@Override
|
||||
public ItemStack dropItem(Location loc, ItemStack stack)
|
||||
{
|
||||
throw new UnsupportedOperationException("Not supported yet.");
|
||||
}
|
||||
|
||||
@Override
|
||||
public UUID getUID()
|
||||
{
|
||||
throw new UnsupportedOperationException("Not supported yet.");
|
||||
}
|
||||
|
||||
@Override
|
||||
public Location getSpawnLocation()
|
||||
{
|
||||
throw new UnsupportedOperationException("Not supported yet.");
|
||||
}
|
||||
|
||||
@Override
|
||||
public void dropItemNaturally(Location location, ItemStack overflowStack)
|
||||
{
|
||||
throw new UnsupportedOperationException("Not supported yet.");
|
||||
}
|
||||
|
||||
@Override
|
||||
public void setStorm(boolean b)
|
||||
{
|
||||
throw new UnsupportedOperationException("Not supported yet.");
|
||||
}
|
||||
|
||||
@Override
|
||||
public void setWeatherDuration(int i)
|
||||
{
|
||||
throw new UnsupportedOperationException("Not supported yet.");
|
||||
}
|
||||
|
||||
@Override
|
||||
public long getTime()
|
||||
{
|
||||
throw new UnsupportedOperationException("Not supported yet.");
|
||||
}
|
||||
|
||||
@Override
|
||||
public boolean setSpawnLocation(int blockX, int blockY, int blockZ)
|
||||
{
|
||||
throw new UnsupportedOperationException("Not supported yet.");
|
||||
}
|
||||
|
||||
}
|
Reference in New Issue
Block a user