1
0
mirror of https://github.com/essentials/Essentials.git synced 2025-08-12 17:45:08 +02:00

Removing server layer part 2

This commit is contained in:
snowleo
2012-08-26 20:17:29 +02:00
parent b98021acab
commit 50ab5ffd93
75 changed files with 429 additions and 537 deletions

View File

@@ -36,7 +36,7 @@
<dependency>
<groupId>org.projectlombok</groupId>
<artifactId>lombok</artifactId>
<version>0.11.2</version>
<version>0.11.4</version>
</dependency>
<dependency>
<groupId>ru.tehkode</groupId>

View File

@@ -17,7 +17,6 @@
*/
package net.ess3;
import java.io.File;
import java.io.IOException;
import java.util.ArrayList;
@@ -87,7 +86,7 @@ public class Essentials implements IEssentials
@Getter
private transient List<String> vanishedPlayers = new ArrayList<String>();
public Essentials(final Server server, final Logger logger, final Plugin plugin)
public Essentials(final Server server, final Logger logger, final IPlugin plugin)
{
this.server = server;
this.logger = logger;
@@ -134,8 +133,7 @@ public class Essentials implements IEssentials
execTimer.mark("I18n1");
execTimer.mark("BukkitCheck");
try
{
//final EssentialsUpgrade upgrade = new EssentialsUpgrade(this);
//upgrade.beforeSettings();
//execTimer.mark("Upgrade");
@@ -168,47 +166,9 @@ public class Essentials implements IEssentials
spawns = new SpawnsHolder(this);
reloadList.add(spawns);
onReload();
}
catch (YAMLException exception)
{
if (pm.getPlugin("EssentialsUpdate") != null)
{
logger.log(Level.SEVERE, I18n._("essentialsHelp2"));
}
else
{
logger.log(Level.SEVERE, I18n._("essentialsHelp1"));
}
logger.log(Level.SEVERE, exception.toString());
pm.registerEvents(new Listener()
{
@EventHandler(priority = EventPriority.LOW)
public void onPlayerJoin(final PlayerJoinEvent event)
{
event.getPlayer().sendMessage("Essentials failed to load, read the log file.");
}
}, this);
for (Player player : getServer().getOnlinePlayers())
{
player.sendMessage("Essentials failed to load, read the log file.");
}
this.getPlugin().setEnabled(false);
return;
}
backup = new Backup(this);
//permissionsHandler = new PermissionsHandler(this);
final EssentialsPluginListener serverListener = new EssentialsPluginListener(this);
pm.registerEvents(serverListener, this);
reloadList.add(serverListener);
final EssentialsPlayerListener playerListener = new EssentialsPlayerListener(this);
pm.registerEvents(playerListener, this);
final EssentialsBlockListener blockListener = new EssentialsBlockListener(this);
pm.registerEvents(blockListener, this);
final EssentialsEntityListener entityListener = new EssentialsEntityListener(this);
pm.registerEvents(entityListener, this);
jails = new Jails(this);
reloadList.add(jails);
@@ -218,17 +178,6 @@ public class Essentials implements IEssentials
getPlugin().scheduleSyncRepeatingTask(timer, 1, 100);
execTimer.mark("RegListeners");
final MetricsStarter metricsStarter = new MetricsStarter(this);
if (metricsStarter.getStart() != null && metricsStarter.getStart() == true)
{
getServer().getScheduler().scheduleAsyncDelayedTask(this.getPlugin(), metricsStarter, 1);
}
else if (metricsStarter.getStart() != null && metricsStarter.getStart() == false)
{
final MetricsListener metricsListener = new MetricsListener(this, metricsStarter);
pm.registerEvents(metricsListener, this);
}
final String timeroutput = execTimer.end();
if (getSettings().isDebug())
{
@@ -241,7 +190,7 @@ public class Essentials implements IEssentials
{
for (Player p : getServer().getOnlinePlayers())
{
IUser user = getUser(p);
IUser user = getUserMap().getUser(p);
if (user.isVanished())
{
user.toggleVanished();
@@ -347,7 +296,7 @@ public class Essentials implements IEssentials
}
for (Player player : getServer().getOnlinePlayers())
{
final IUser user = player.getUser();
final IUser user = getUserMap().getUser(player);
if (!user.isIgnoringPlayer(sender))
{
player.sendMessage(message);

View File

@@ -46,7 +46,7 @@ public class EssentialsTimer implements Runnable
try
{
final IUser user = player.getUser();
final IUser user = ess.getUserMap().getUser(player);
if (user == null) {
continue;
}

View File

@@ -6,6 +6,8 @@ import org.bukkit.entity.Player;
import org.bukkit.plugin.Plugin;
public interface IPlugin extends Plugin {
IEssentials getEssentials();
int scheduleAsyncDelayedTask(final Runnable run);
int scheduleSyncDelayedTask(final Runnable run);

View File

@@ -121,5 +121,21 @@ public interface IUser extends OfflinePlayer, CommandSender, IStorageObjectHolde
void setVanished(boolean set);
/**
* Since the Player object should not be stored for a long time, this method should be called again with a null
* value or the close() method should be called.
*
* @param player
*/
void setPlayerCache(Player player);
/**
* If this is not cached using the setPlayerCache method, this call is slow and should not be called often.
*
* It iterates over all players, that are online and does a equal check on their names.
*
* @return
*/
@Override
Player getPlayer();
}

View File

@@ -23,7 +23,17 @@ public interface IUserMap extends IReload
File getUserFile(final String name) throws InvalidNameException;
/**
* This method never returns null.
*
* @param name
* @param includeHidden
* @param includeOffline
* @return
* @throws TooManyMatchesException if more than one player is found matching the name
* @throws PlayerNotFoundException if the player matching the name is not found
*/
IUser matchUser(final String name, final boolean includeHidden, final boolean includeOffline) throws TooManyMatchesException, PlayerNotFoundException;
Set<IUser> matchUsers(final String name, final boolean includeHidden, final boolean includeOffline) throws PlayerNotFoundException;
Set<IUser> matchUsers(final String name, final boolean includeHidden, final boolean includeOffline);
}

View File

@@ -4,7 +4,14 @@ import java.io.File;
import java.util.logging.Level;
import net.ess3.Essentials;
import static net.ess3.I18n._;
import net.ess3.api.IEssentials;
import net.ess3.api.IPlugin;
import net.ess3.listener.EssentialsBlockListener;
import net.ess3.listener.EssentialsEntityListener;
import net.ess3.listener.EssentialsPlayerListener;
import net.ess3.listener.EssentialsPluginListener;
import net.ess3.metrics.MetricsListener;
import net.ess3.metrics.MetricsStarter;
import org.bukkit.Location;
import org.bukkit.command.Command;
import org.bukkit.entity.Player;
@@ -60,11 +67,38 @@ public class BukkitPlugin extends JavaPlugin implements IPlugin
player.sendMessage("Essentials failed to load, read the log file.");
}
this.setEnabled(false);
return;
}
}
else
{
this.setEnabled(false);
return;
}
final EssentialsPluginListener serverListener = new EssentialsPluginListener(ess);
pm.registerEvents(serverListener, this);
ess.addReloadListener(serverListener);
final EssentialsPlayerListener playerListener = new EssentialsPlayerListener(ess);
pm.registerEvents(playerListener, this);
final EssentialsBlockListener blockListener = new EssentialsBlockListener(ess);
pm.registerEvents(blockListener, this);
final EssentialsEntityListener entityListener = new EssentialsEntityListener(ess);
pm.registerEvents(entityListener, this);
final MetricsStarter metricsStarter = new MetricsStarter(ess);
if (metricsStarter.getStart() != null && metricsStarter.getStart() == true)
{
getServer().getScheduler().scheduleAsyncDelayedTask(this, metricsStarter, 1);
}
else if (metricsStarter.getStart() != null && metricsStarter.getStart() == false)
{
final MetricsListener metricsListener = new MetricsListener(ess, metricsStarter);
pm.registerEvents(metricsListener, this);
}
}
@@ -152,4 +186,10 @@ public class BukkitPlugin extends JavaPlugin implements IPlugin
EntityDamageEvent ede = new EntityDamageEvent(player, EntityDamageEvent.DamageCause.SUICIDE, 1000);
getServer().getPluginManager().callEvent(ede);
}
@Override
public IEssentials getEssentials()
{
return ess;
}
}

View File

@@ -1,7 +1,7 @@
package net.ess3.commands;
import static net.ess3.I18n._;
import net.ess3.api.server.CommandSender;
import org.bukkit.command.CommandSender;
public class Commanddelwarp extends EssentialsCommand

View File

@@ -9,7 +9,7 @@ public class Commanddepth extends EssentialsCommand
@Override
public void run(final IUser user, final String commandLabel, final String[] args) throws Exception
{
final int depth = user.getLocation().getBlockY() - 63;
final int depth = user.getPlayer().getLocation().getBlockY() - 63;
if (depth > 0)
{
user.sendMessage(_("depthAboveSea", depth));

View File

@@ -5,8 +5,8 @@ import lombok.Cleanup;
import static net.ess3.I18n._;
import net.ess3.api.ISettings;
import net.ess3.api.IUser;
import net.ess3.api.server.CommandSender;
import net.ess3.api.server.Player;
import org.bukkit.command.CommandSender;
import org.bukkit.entity.Player;
public class Commandeco extends EssentialsCommand

View File

@@ -63,7 +63,7 @@ public class Commandenchant extends EssentialsCommand
{
stack.addEnchantment(enchantment, level);
}
user.getInventory().setxItemInHand(stack);
user.getInventory().setItemInHand(stack);
user.updateInventory();
final String enchantmentName = enchantment.getName().toLowerCase(Locale.ENGLISH);
if (level == 0)

View File

@@ -1,19 +1,13 @@
package net.ess3.commands;
import java.util.HashMap;
import java.util.Map;
import static net.ess3.I18n._;
import net.ess3.api.server.CommandSender;
import net.ess3.api.server.Location;
import net.ess3.api.server.Material;
import net.ess3.api.server.Player;
import org.bukkit.block.Block;
import org.bukkit.command.CommandSender;
public class Commandessentials extends EssentialsCommand
{
private transient int taskid;
private final transient Map<Player, Block> noteBlocks = new HashMap<Player, Block>();
@Override
protected void run(final CommandSender sender, final String commandLabel, final String[] args) throws Exception
@@ -26,14 +20,6 @@ public class Commandessentials extends EssentialsCommand
{
run_debug(sender, args);
}
else if (args[0].equalsIgnoreCase("nya"))
{
run_nya(sender, args);
}
else if (args[0].equalsIgnoreCase("moo"))
{
run_moo(sender, args);
}
else
{
run_reload(sender, args);
@@ -68,103 +54,4 @@ public class Commandessentials extends EssentialsCommand
ess.reload();
sender.sendMessage(_("essentialsReload", ess.getPlugin().getVersion()));
}
private void run_nya(final CommandSender sender, final String[] args) throws Exception
{
final Map<String, Byte> noteMap = new HashMap<String, Byte>();
noteMap.put("1F#", (byte)0x0);
noteMap.put("1G", (byte)0x1);
noteMap.put("1G#", (byte)0x2);
noteMap.put("1A", (byte)0x3);
noteMap.put("1A#", (byte)0x4);
noteMap.put("1B", (byte)0x5);
noteMap.put("1C", (byte)0x6);
noteMap.put("1C#", (byte)0x7);
noteMap.put("1D", (byte)0x8);
noteMap.put("1D#", (byte)0x9);
noteMap.put("1E", (byte)0xA);
noteMap.put("1F", (byte)0xB);
noteMap.put("2F#", (byte)(0x0 + 0xC));
noteMap.put("2G", (byte)(0x1 + 0xC));
noteMap.put("2G#", (byte)(0x2 + 0xC));
noteMap.put("2A", (byte)(0x3 + 0xC));
noteMap.put("2A#", (byte)(0x4 + 0xC));
noteMap.put("2B", (byte)(0x5 + 0xC));
noteMap.put("2C", (byte)(0x6 + 0xC));
noteMap.put("2C#", (byte)(0x7 + 0xC));
noteMap.put("2D", (byte)(0x8 + 0xC));
noteMap.put("2D#", (byte)(0x9 + 0xC));
noteMap.put("2E", (byte)(0xA + 0xC));
noteMap.put("2F", (byte)(0xB + 0xC));
if (!noteBlocks.isEmpty())
{
return;
}
final String tuneStr = "1D#,1E,2F#,,2A#,1E,1D#,1E,2F#,2B,2D#,2E,2D#,2A#,2B,,2F#,,1D#,1E,2F#,2B,2C#,2A#,2B,2C#,2E,2D#,2E,2C#,,2F#,,2G#,,1D,1D#,,1C#,1D,1C#,1B,,1B,,1C#,,1D,,1D,1C#,1B,1C#,1D#,2F#,2G#,1D#,2F#,1C#,1D#,1B,1C#,1B,1D#,,2F#,,2G#,1D#,2F#,1C#,1D#,1B,1D,1D#,1D,1C#,1B,1C#,1D,,1B,1C#,1D#,2F#,1C#,1D,1C#,1B,1C#,,1B,,1C#,,2F#,,2G#,,1D,1D#,,1C#,1D,1C#,1B,,1B,,1C#,,1D,,1D,1C#,1B,1C#,1D#,2F#,2G#,1D#,2F#,1C#,1D#,1B,1C#,1B,1D#,,2F#,,2G#,1D#,2F#,1C#,1D#,1B,1D,1D#,1D,1C#,1B,1C#,1D,,1B,1C#,1D#,2F#,1C#,1D,1C#,1B,1C#,,1B,,1B,,1B,,1F#,1G#,1B,,1F#,1G#,1B,1C#,1D#,1B,1E,1D#,1E,2F#,1B,,1B,,1F#,1G#,1B,1E,1D#,1C#,1B,,,,1F#,1B,,1F#,1G#,1B,,1F#,1G#,1B,1B,1C#,1D#,1B,1F#,1G#,1F#,1B,,1B,1A#,1B,1F#,1G#,1B,1E,1D#,1E,2F#,1B,,1A#,,1B,,1F#,1G#,1B,,1F#,1G#,1B,1C#,1D#,1B,1E,1D#,1E,2F#,1B,,1B,,1F#,1G#,1B,1F#,1E,1D#,1C#,1B,,,,1F#,1B,,1F#,1G#,1B,,1F#,1G#,1B,1B,1C#,1D#,1B,1F#,1G#,1F#,1B,,1B,1A#,1B,1F#,1G#,1B,1E,1D#,1E,2F#,1B,,1A#,,1B,,1F#,1G#,1B,,1F#,1G#,1B,1C#,1D#,1B,1E,1D#,1E,2F#,1B,,1B,,1F#,1G#,1B,1F#,1E,1D#,1C#,1B,,,,1F#,1B,,1F#,1G#,1B,,1F#,1G#,1B,1B,1C#,1D#,1B,1F#,1G#,1F#,1B,,1B,1A#,1B,1F#,1G#,1B,1E,1D#,1E,2F#,1B,,1A#,,1B,,1F#,1G#,1B,,1F#,1G#,1B,1C#,1D#,1B,1E,1D#,1E,2F#,1B,,1B,,1F#,1G#,1B,1F#,1E,1D#,1C#,1B,,,,1F#,1B,,1F#,1G#,1B,,1F#,1G#,1B,1B,1C#,1D#,1B,1F#,1G#,1F#,1B,,1B,1A#,1B,1F#,1G#,1B,1E,1D#,1E,2F#,1B,,1A#,,1B,,1F#,1G#,1B,,1F#,1G#,1B,1C#,1D#,1B,1E,1D#,1E,2F#,1B,,1B,,1F#,1G#,1B,1F#,1E,1D#,1C#,1B,,,,1F#,1B,,1F#,1G#,1B,,1F#,1G#,1B,1B,1C#,1D#,1B,1F#,1G#,1F#,1B,,1B,1A#,1B,1F#,1G#,1B,1E,1D#,1E,2F#,1B,,1B,,";
final String[] tune = tuneStr.split(",");
for (Player player : server.getOnlinePlayers())
{
final Location loc = player.getLocation();
loc.add(0, 3, 0);
while (loc.getBlockY() < player.getLocation().getBlockY() + 10 && loc.getBlock().getTypeId() != 0)
{
loc.add(0, 1, 0);
}
if (loc.getBlock().getTypeId() == 0)
{
noteBlocks.put(player, loc.getBlock());
player.sendBlockChange(loc, Material.NOTE_BLOCK, (byte)0);
}
}
taskid = ess.getPlugin().scheduleSyncRepeatingTask(new Runnable()
{
int i = 0;
@Override
public void run()
{
final String note = tune[i];
i++;
if (i >= tune.length)
{
Commandessentials.this.stopTune();
}
if (note.isEmpty())
{
return;
}
Map<Player, Block> noteBlocks = Commandessentials.this.noteBlocks;
for (Player onlinePlayer : server.getOnlinePlayers())
{
final Block block = noteBlocks.get(onlinePlayer);
if (block == null || block.getType() != Material.NOTE_BLOCK)
{
continue;
}
onlinePlayer.playNote(block.getLocation(), (byte)0, noteMap.get(note));
}
}
}, 20, 2);
}
private void stopTune()
{
ess.getPlugin().cancelTask(taskid);
for (Block block : noteBlocks.values())
{
if (block.getType() == Material.NOTE_BLOCK)
{
block.setType(Material.AIR);
}
}
noteBlocks.clear();
}
private void run_moo(final CommandSender sender, final String args[])
{
if(sender == ess.getServer().getConsoleSender())
sender.sendMessage(new String[]{" (__)", " (oo)", " /------\\/", " / | ||", " * /\\---/\\", " ~~ ~~", "....\"Have you mooed today?\"..." } );
else
sender.sendMessage(new String[]{" (__)", " (oo)", " /------\\/", " / | | |", " * /\\---/\\", " ~~ ~~", "....\"Have you mooed today?\"..." } );
}
}

View File

@@ -2,10 +2,10 @@ package net.ess3.commands;
import static net.ess3.I18n._;
import net.ess3.api.IUser;
import net.ess3.api.server.CommandSender;
import net.ess3.craftbukkit.SetExpFix;
import net.ess3.permissions.Permissions;
import net.ess3.utils.Util;
import org.bukkit.command.CommandSender;
public class Commandexp extends EssentialsCommand

View File

@@ -2,8 +2,7 @@ package net.ess3.commands;
import static net.ess3.I18n._;
import net.ess3.api.IUser;
import net.ess3.api.server.CommandSender;
import net.ess3.api.server.Player;
import org.bukkit.command.CommandSender;
public class Commandext extends EssentialsCommand
@@ -24,7 +23,7 @@ public class Commandext extends EssentialsCommand
{
if (args.length < 1)
{
user.setFireTicks(0);
user.getPlayer().setFireTicks(0);
user.sendMessage(_("extinguish"));
return;
}
@@ -34,10 +33,10 @@ public class Commandext extends EssentialsCommand
private void extinguishPlayers(final CommandSender sender, final String name) throws Exception
{
for (Player matchPlayer : ess.getUserMap().matchUsers(name, false, false))
for (IUser matchPlayer : ess.getUserMap().matchUsers(name, false, false))
{
matchPlayer.setFireTicks(0);
sender.sendMessage(_("extinguishOthers", matchPlayer.getDisplayName()));
matchPlayer.getPlayer().setFireTicks(0);
sender.sendMessage(_("extinguishOthers", matchPlayer.getPlayer().getDisplayName()));
}
}
}

View File

@@ -3,9 +3,8 @@ package net.ess3.commands;
import java.util.Set;
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.permissions.Permissions;
import org.bukkit.command.CommandSender;
public class Commandfeed extends EssentialsCommand
@@ -19,8 +18,8 @@ public class Commandfeed extends EssentialsCommand
}
else
{
user.setFoodLevel(20);
user.setSaturation(10);
user.getPlayer().setFoodLevel(20);
user.getPlayer().setSaturation(10);
user.sendMessage(_("feed"));
}
}
@@ -33,11 +32,11 @@ public class Commandfeed extends EssentialsCommand
sender.sendMessage(_("playerNotFound"));
return;
}
for (Player player : users)
for (IUser player : users)
{
player.setFoodLevel(20);
player.setSaturation(10);
sender.sendMessage(_("feedOther", player.getDisplayName()));
player.getPlayer().setFoodLevel(20);
player.getPlayer().setSaturation(10);
sender.sendMessage(_("feedOther", player.getPlayer().getDisplayName()));
}
}
}

View File

@@ -16,8 +16,8 @@ public class Commandfireball extends EssentialsCommand
{
small = true;
}
final Vector direction = user.getEyeLocation().getDirection().multiply(2);
final Fireball fireball = user.getWorld().spawn(user.getEyeLocation().add(direction.getX(), direction.getY(), direction.getZ()), small ? SmallFireball.class : Fireball.class);
fireball.setShooter(user.getBase());
final Vector direction = user.getPlayer().getEyeLocation().getDirection().multiply(2);
final Fireball fireball = user.getPlayer().getWorld().spawn(user.getPlayer().getEyeLocation().add(direction.getX(), direction.getY(), direction.getZ()), small ? SmallFireball.class : Fireball.class);
fireball.setShooter(user.getPlayer());
}
}

View File

@@ -2,10 +2,9 @@ package net.ess3.commands;
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.Server;
import net.ess3.permissions.Permissions;
import org.bukkit.Server;
import org.bukkit.command.CommandSender;
@@ -31,39 +30,39 @@ public class Commandfly extends EssentialsCommand
flyOtherPlayers(server, user, args);
return;
}
user.setAllowFlight(!user.getAllowFlight());
if (!user.getAllowFlight())
user.getPlayer().setAllowFlight(!user.getPlayer().getAllowFlight());
if (!user.getPlayer().getAllowFlight())
{
user.setFlying(false);
user.getPlayer().setFlying(false);
}
user.sendMessage(_("flyMode", _(user.getAllowFlight() ? "enabled" : "disabled"), user.getDisplayName()));
user.sendMessage(_("flyMode", _(user.getPlayer().getAllowFlight() ? "enabled" : "disabled"), user.getPlayer().getDisplayName()));
}
private void flyOtherPlayers(final Server server, final CommandSender sender, final String[] args)
{
for (Player matchPlayer : ess.getUserMap().matchUsers(args[0],false,false))
for (IUser matchPlayer : ess.getUserMap().matchUsers(args[0],false,false))
{
if (args.length > 1)
{
if (args[1].contains("on") || args[1].contains("ena") || args[1].equalsIgnoreCase("1"))
{
matchPlayer.setAllowFlight(true);
matchPlayer.getPlayer().setAllowFlight(true);
}
else
{
matchPlayer.setAllowFlight(false);
matchPlayer.getPlayer().setAllowFlight(false);
}
}
else
{
matchPlayer.setAllowFlight(!matchPlayer.getAllowFlight());
matchPlayer.getPlayer().setAllowFlight(!matchPlayer.getPlayer().getAllowFlight());
}
if (!matchPlayer.getAllowFlight())
if (!matchPlayer.getPlayer().getAllowFlight())
{
matchPlayer.setFlying(false);
matchPlayer.getPlayer().setFlying(false);
}
sender.sendMessage(_("flyMode", _(matchPlayer.getAllowFlight() ? "enabled" : "disabled"), matchPlayer.getDisplayName()));
sender.sendMessage(_("flyMode", _(matchPlayer.getPlayer().getAllowFlight() ? "enabled" : "disabled"), matchPlayer.getPlayer().getDisplayName()));
}
}
}

View File

@@ -3,10 +3,9 @@ package net.ess3.commands;
import java.util.Locale;
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.permissions.Permissions;
// TODO: net.ess3 gamemode
import org.bukkit.GameMode;
import org.bukkit.command.CommandSender;
public class Commandgamemode extends EssentialsCommand
@@ -31,30 +30,30 @@ public class Commandgamemode extends EssentialsCommand
return;
}
user.setGameMode(user.getGameMode() == GameMode.SURVIVAL ? GameMode.CREATIVE : GameMode.SURVIVAL);
user.sendMessage(_("gameMode", _(user.getGameMode().toString().toLowerCase(Locale.ENGLISH)), user.getDisplayName()));
user.getPlayer().setGameMode(user.getPlayer().getGameMode() == GameMode.SURVIVAL ? GameMode.CREATIVE : GameMode.SURVIVAL);
user.sendMessage(_("gameMode", _(user.getPlayer().getGameMode().toString().toLowerCase(Locale.ENGLISH)), user.getPlayer().getDisplayName()));
}
private void gamemodeOtherPlayers(final CommandSender sender, final String args[])
{
for (Player player : ess.getUserMap().matchUsers(args[0], false, false))
for (IUser player : ess.getUserMap().matchUsers(args[0], false, false))
{
if (args.length > 1)
{
if (args[1].contains("creat") || args[1].equalsIgnoreCase("1"))
{
player.setGameMode(GameMode.CREATIVE);
player.getPlayer().setGameMode(GameMode.CREATIVE);
}
else
{
player.setGameMode(GameMode.SURVIVAL);
player.getPlayer().setGameMode(GameMode.SURVIVAL);
}
}
else
{
player.setGameMode(player.getGameMode() == GameMode.SURVIVAL ? GameMode.CREATIVE : GameMode.SURVIVAL);
player.getPlayer().setGameMode(player.getPlayer().getGameMode() == GameMode.SURVIVAL ? GameMode.CREATIVE : GameMode.SURVIVAL);
}
sender.sendMessage(_("gameMode", _(player.getGameMode().toString().toLowerCase(Locale.ENGLISH)), player.getDisplayName()));
sender.sendMessage(_("gameMode", _(player.getPlayer().getGameMode().toString().toLowerCase(Locale.ENGLISH)), player.getPlayer().getDisplayName()));
}
}
}

View File

@@ -1,9 +1,9 @@
package net.ess3.commands;
import static net.ess3.I18n._;
import net.ess3.api.server.CommandSender;
import net.ess3.api.server.World;
import org.bukkit.ChatColor;
import org.bukkit.World;
import org.bukkit.command.CommandSender;

View File

@@ -1,9 +1,9 @@
package net.ess3.commands;
import net.ess3.api.IUser;
import net.ess3.api.server.CommandSender;
import net.ess3.api.server.Location;
import net.ess3.permissions.Permissions;
import org.bukkit.Location;
import org.bukkit.command.CommandSender;
@@ -18,12 +18,12 @@ public class Commandgetpos extends EssentialsCommand
final IUser otherUser = ess.getUserMap().matchUser(args[0], false, false);
if (!otherUser.isHidden() || Permissions.LIST_HIDDEN.isAuthorized(user))
{
outputPosition(user, otherUser.getLocation(), user.getLocation());
outputPosition(user, otherUser.getPlayer().getLocation(), user.getPlayer().getLocation());
return;
}
}
outputPosition(user, user.getLocation(), null);
outputPosition(user, user.getPlayer().getLocation(), null);
}
@Override
@@ -34,7 +34,7 @@ public class Commandgetpos extends EssentialsCommand
throw new NotEnoughArgumentsException();
}
final IUser user = ess.getUserMap().matchUser(args[0], false, false);
outputPosition(sender, user.getLocation(), null);
outputPosition(sender, user.getPlayer().getLocation(), null);
}
//TODO: Translate

View File

@@ -3,14 +3,12 @@ package net.ess3.commands;
import java.util.Locale;
import static net.ess3.I18n._;
import net.ess3.api.IUser;
import net.ess3.api.server.CommandSender;
import net.ess3.api.server.ItemStack;
import net.ess3.api.server.Material;
import net.ess3.api.server.Player;
import net.ess3.permissions.GivePermissions;
import net.ess3.utils.Util;
import org.bukkit.ChatColor;
import org.bukkit.command.CommandSender;
import org.bukkit.enchantments.Enchantment;
import org.bukkit.inventory.ItemStack;
public class Commandgive extends EssentialsCommand
@@ -23,7 +21,7 @@ public class Commandgive extends EssentialsCommand
throw new NotEnoughArgumentsException();
}
final IUser giveTo = getPlayer(args, 0);
final IUser giveTo = ess.getUserMap().matchUser(args[0], false, false);
final ItemStack stack = ess.getItemDb().get(args[1], giveTo);
@@ -52,7 +50,7 @@ public class Commandgive extends EssentialsCommand
{
continue;
}
final Enchantment enchantment = Commandenchant.getEnchantment(split[0], sender instanceof Player ? ess.getUserMap().getUser((Player)sender) : null);
final Enchantment enchantment = Commandenchant.getEnchantment(split[0], sender instanceof IUser ? (IUser)sender : null);
int level;
if (split.length > 1)
{
@@ -66,7 +64,7 @@ public class Commandgive extends EssentialsCommand
}
}
if (stack.getType() == Material.AIR)
if (stack.getTypeId() == 0)
{
throw new Exception(_("cantSpawnItem", "Air"));
}
@@ -75,7 +73,7 @@ public class Commandgive extends EssentialsCommand
//TODO: TL this.
final String itemName = stack.getType().toString().toLowerCase(Locale.ENGLISH).replace('_', ' ');
sender.sendMessage(ChatColor.BLUE + "Giving " + stack.getAmount() + " of " + itemName + " to " + giveTo.getDisplayName() + ".");
sender.sendMessage(ChatColor.BLUE + "Giving " + stack.getAmount() + " of " + itemName + " to " + giveTo.getPlayer().getDisplayName() + ".");
}
}

View File

@@ -2,9 +2,8 @@ package net.ess3.commands;
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.permissions.Permissions;
import org.bukkit.command.CommandSender;
@@ -36,9 +35,8 @@ public class Commandgod extends EssentialsCommand
private void godOtherPlayers(final CommandSender sender, final String[] args)
{
for (Player matchPlayer : server.matchPlayer(args[0]))
for (IUser player : ess.getUserMap().matchUsers(args[0], false, true))
{
final IUser player = ess.getUserMap().getUser(matchPlayer);
if (player.isHidden())
{
continue;
@@ -62,7 +60,7 @@ public class Commandgod extends EssentialsCommand
final boolean enabled = player.isGodModeEnabled();
player.sendMessage(_("godMode", (enabled ? _("enabled") : _("disabled"))));
sender.sendMessage(_("godMode", _(enabled ? "godEnabledFor" : "godDisabledFor", matchPlayer.getDisplayName())));
sender.sendMessage(_("godMode", _(enabled ? "godEnabledFor" : "godDisabledFor", player.getName())));
}
}
}

View File

@@ -2,9 +2,10 @@ package net.ess3.commands;
import static net.ess3.I18n._;
import net.ess3.api.IUser;
import net.ess3.api.server.ItemStack;
import net.ess3.api.server.Material;
import net.ess3.craftbukkit.InventoryWorkaround;
import org.bukkit.Material;
import org.bukkit.inventory.ItemStack;
import org.bukkit.inventory.PlayerInventory;
@@ -15,7 +16,7 @@ public class Commandhat extends EssentialsCommand
{
if (args.length > 0 && (args[0].contains("rem") || args[0].contains("off") || args[0].equalsIgnoreCase("0")))
{
final PlayerInventory inv = user.getInventory();
final PlayerInventory inv = user.getPlayer().getInventory();
final ItemStack head = inv.getHelmet();
if (head == null || head.getType() == Material.AIR)
{
@@ -25,18 +26,18 @@ public class Commandhat extends EssentialsCommand
{
final ItemStack air = new ItemStack(Material.AIR);
inv.setHelmet(air);
InventoryWorkaround.addItem(user.getInventory(), true, head);
InventoryWorkaround.addItem(user.getPlayer().getInventory(), true, head);
user.sendMessage(_("hatRemoved"));
}
}
else
{
if (user.getItemInHand().getType() != Material.AIR)
if (user.getPlayer().getItemInHand().getType() != Material.AIR)
{
final ItemStack hand = user.getItemInHand();
final ItemStack hand = user.getPlayer().getItemInHand();
if (hand.getType().getMaxDurability() == 0)
{
final PlayerInventory inv = user.getInventory();
final PlayerInventory inv = user.getPlayer().getInventory();
final ItemStack head = inv.getHelmet();
inv.removeItem(hand);
inv.setHelmet(hand);

View File

@@ -3,10 +3,9 @@ package net.ess3.commands;
import java.util.Set;
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.permissions.Permissions;
import net.ess3.user.UserData.TimestampType;
import org.bukkit.command.CommandSender;
public class Commandheal extends EssentialsCommand
@@ -25,9 +24,9 @@ public class Commandheal extends EssentialsCommand
user.checkCooldown(TimestampType.LASTHEAL, ess.getRanks().getHealCooldown(user), true, Permissions.HEAL_COOLDOWN_BYPASS);
user.setHealth(20);
user.setFireTicks(0);
user.setFoodLevel(20);
user.getPlayer().setHealth(20);
user.getPlayer().setFireTicks(0);
user.getPlayer().setFoodLevel(20);
user.sendMessage(_("heal"));
}
@@ -50,12 +49,12 @@ public class Commandheal extends EssentialsCommand
sender.sendMessage(_("playerNotFound"));
return;
}
for (Player p : users)
for (IUser p : users)
{
p.setHealth(20);
p.setFoodLevel(20);
p.sendMessage(_("heal"));
sender.sendMessage(_("healOther", p.getDisplayName()));
p.getPlayer().setHealth(20);
p.getPlayer().setFoodLevel(20);
p.getPlayer().sendMessage(_("heal"));
sender.sendMessage(_("healOther", p.getPlayer().getDisplayName()));
}
}
}

View File

@@ -3,9 +3,9 @@ package net.ess3.commands;
import java.util.Locale;
import static net.ess3.I18n._;
import net.ess3.api.IUser;
import net.ess3.api.server.CommandSender;
import net.ess3.utils.Util;
import net.ess3.utils.textreader.*;
import org.bukkit.command.CommandSender;

View File

@@ -3,9 +3,9 @@ package net.ess3.commands;
import java.util.logging.Level;
import static net.ess3.I18n._;
import net.ess3.api.IUser;
import net.ess3.api.server.Player;
import net.ess3.permissions.Permissions;
import net.ess3.utils.Util;
import org.bukkit.entity.Player;
public class Commandhelpop extends EssentialsCommand
@@ -18,11 +18,10 @@ public class Commandhelpop extends EssentialsCommand
throw new NotEnoughArgumentsException();
}
user.setDisplayNick();
final String message = _("helpOp", user.getDisplayName(), Util.stripFormat(getFinalArg(args, 0)));
final String message = _("helpOp", user.getPlayer().getDisplayName(), Util.stripFormat(getFinalArg(args, 0)));
logger.log(Level.INFO, message);
for (Player onlinePlayer : server.getOnlinePlayers())
for (Player player : server.getOnlinePlayers())
{
final IUser player = onlinePlayer.getUser();
if (!Permissions.HELPOP_RECEIVE.isAuthorized(player))
{
continue;

View File

@@ -4,12 +4,12 @@ import java.util.List;
import java.util.Locale;
import static net.ess3.I18n._;
import net.ess3.api.IUser;
import net.ess3.api.server.Location;
import net.ess3.api.server.Material;
import net.ess3.economy.Trade;
import net.ess3.permissions.Permissions;
import net.ess3.permissions.WorldPermissions;
import net.ess3.utils.Util;
import org.bukkit.Location;
import org.bukkit.Material;
import org.bukkit.event.player.PlayerTeleportEvent.TeleportCause;
@@ -97,7 +97,7 @@ public class Commandhome extends EssentialsCommand
{
throw new NotEnoughArgumentsException();
}
if (user.getWorld() != loc.getWorld() && ess.getSettings().getData().getGeneral().isWorldHomePermissions()
if (user.getPlayer().getWorld() != loc.getWorld() && ess.getSettings().getData().getGeneral().isWorldHomePermissions()
&& !WorldPermissions.getPermission(loc.getWorld().getName()).isAuthorized(user))
{
throw new Exception(_("noPerm", "essentials.world." + loc.getWorld().getName()));

View File

@@ -13,19 +13,7 @@ public class Commandignore extends EssentialsCommand
{
throw new NotEnoughArgumentsException();
}
IUser player;
try
{
player = ess.getUserMap().matchUser(args[0], false, false);
}
catch (NoSuchFieldException ex)
{
player = ess.getUserMap().getUser(args[0]);
}
if (player == null)
{
throw new Exception(_("playerNotFound"));
}
IUser player = ess.getUserMap().matchUser(args[0], false, false);
user.acquireWriteLock();
if (user.isIgnoringPlayer(player))

View File

@@ -1,10 +1,10 @@
package net.ess3.commands;
import net.ess3.api.server.CommandSender;
import net.ess3.utils.textreader.IText;
import net.ess3.utils.textreader.KeywordReplacer;
import net.ess3.utils.textreader.TextInput;
import net.ess3.utils.textreader.TextPager;
import org.bukkit.command.CommandSender;
public class Commandinfo extends EssentialsCommand

View File

@@ -3,8 +3,8 @@ package net.ess3.commands;
import java.util.Arrays;
import static net.ess3.I18n._;
import net.ess3.api.IUser;
import net.ess3.api.server.ItemStack;
import net.ess3.user.Inventory;
import org.bukkit.inventory.ItemStack;
@@ -46,7 +46,7 @@ public class Commandinvsee extends EssentialsCommand
throw new Exception(_("invBigger"));
}
user.getInventory().setContents(invUserStack);
user.sendMessage(_("invSee", invUser.getDisplayName()));
user.sendMessage(_("invSee", invUser.getPlayer().getDisplayName()));
user.sendMessage(_("invSeeHelp"));
throw new NoChargeException();
}

View File

@@ -3,9 +3,9 @@ package net.ess3.commands;
import java.util.Locale;
import static net.ess3.I18n._;
import net.ess3.api.IUser;
import net.ess3.api.server.Enchantment;
import net.ess3.api.server.ItemStack;
import net.ess3.permissions.ItemPermissions;
import org.bukkit.enchantments.Enchantment;
import org.bukkit.inventory.ItemStack;
public class Commanditem extends EssentialsCommand
@@ -53,7 +53,7 @@ public class Commanditem extends EssentialsCommand
}
}
if (stack.isAir())
if (stack.getTypeId() == 0)
{
throw new Exception(_("cantSpawnItem", "Air"));
}

View File

@@ -1,10 +1,9 @@
package net.ess3.commands;
import static net.ess3.I18n._;
import net.ess3.api.server.CommandSender;
import net.ess3.api.server.ItemStack;
import net.ess3.api.server.Material;
import net.ess3.api.server.Player;
import net.ess3.api.IUser;
import org.bukkit.command.CommandSender;
import org.bukkit.inventory.ItemStack;
@@ -16,9 +15,9 @@ public class Commanditemdb extends EssentialsCommand
ItemStack itemStack = null;
if (args.length < 1)
{
if (sender instanceof Player)
if (sender instanceof IUser)
{
itemStack = ((Player)sender).getItemInHand();
itemStack = ((IUser)sender).getPlayer().getItemInHand();
}
if (itemStack == null)
{
@@ -32,7 +31,7 @@ public class Commanditemdb extends EssentialsCommand
sender.sendMessage(itemStack.getType().toString() + "- " + itemStack.getTypeId() + ":" + Integer.toString(itemStack.getData().getData()));
if (itemStack.getType() != Material.AIR)
if (itemStack.getTypeId() != 0)
{
int maxuses = itemStack.getType().getMaxDurability();
int durability = ((maxuses + 1) - itemStack.getDurability());

View File

@@ -1,7 +1,7 @@
package net.ess3.commands;
import net.ess3.api.server.CommandSender;
import net.ess3.utils.Util;
import org.bukkit.command.CommandSender;
public class Commandjails extends EssentialsCommand

View File

@@ -2,10 +2,9 @@ package net.ess3.commands;
import static net.ess3.I18n._;
import net.ess3.api.IUser;
import net.ess3.api.server.ILocation;
import net.ess3.api.server.Location;
import net.ess3.economy.Trade;
import net.ess3.utils.LocationUtil;
import org.bukkit.Location;
import org.bukkit.event.player.PlayerTeleportEvent.TeleportCause;
@@ -15,11 +14,11 @@ public class Commandjump extends EssentialsCommand
public void run(final IUser user, final String commandLabel, final String[] args) throws Exception
{
Location loc;
final ILocation cloc = user.getLocation();
final Location cloc = user.getPlayer().getLocation();
try
{
loc = LocationUtil.getTarget(user);
loc = LocationUtil.getTarget(user.getPlayer());
loc.setYaw(cloc.getYaw());
loc.setPitch(cloc.getPitch());
loc.setY(loc.getY() + 1);

View File

@@ -3,9 +3,9 @@ package net.ess3.commands;
import net.ess3.Console;
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.permissions.Permissions;
import org.bukkit.command.CommandSender;
import org.bukkit.entity.Player;
public class Commandkick extends EssentialsCommand
@@ -24,13 +24,12 @@ public class Commandkick extends EssentialsCommand
throw new Exception(_("kickExempt"));
}
final String kickReason = args.length > 1 ? getFinalArg(args, 1) : _("kickDefault");
user.kickPlayer(kickReason);
final String senderName = sender instanceof Player ? ((Player)sender).getDisplayName() : Console.NAME;
user.getPlayer().kickPlayer(kickReason);
final String senderName = sender instanceof IUser ? ((IUser)sender).getPlayer().getDisplayName() : Console.NAME;
for (Player onlinePlayer : server.getOnlinePlayers())
{
final IUser player = onlinePlayer.getUser();
if (Permissions.KICK_NOTIFY.isAuthorized(player))
if (Permissions.KICK_NOTIFY.isAuthorized(onlinePlayer))
{
onlinePlayer.sendMessage(_("playerKicked", senderName, user.getName(), kickReason));
}

View File

@@ -1,8 +1,9 @@
package net.ess3.commands;
import static net.ess3.I18n._;
import net.ess3.api.server.CommandSender;
import net.ess3.api.server.Player;
import net.ess3.api.IUser;
import org.bukkit.command.CommandSender;
import org.bukkit.entity.Player;
public class Commandkickall extends EssentialsCommand
@@ -12,7 +13,7 @@ public class Commandkickall extends EssentialsCommand
{
for (Player onlinePlayer : server.getOnlinePlayers())
{
if (sender.isPlayer() && onlinePlayer.getName().equalsIgnoreCase(((Player)sender).getName()))
if (sender instanceof IUser && onlinePlayer.getName().equalsIgnoreCase(((Player)sender).getName()))
{
continue;
}

View File

@@ -1,8 +1,8 @@
package net.ess3.commands;
import static net.ess3.I18n._;
import net.ess3.api.server.CommandSender;
import net.ess3.api.server.Player;
import net.ess3.api.IUser;
import org.bukkit.command.CommandSender;
import org.bukkit.event.entity.EntityDamageEvent;
@@ -16,17 +16,17 @@ public class Commandkill extends EssentialsCommand
throw new NotEnoughArgumentsException();
}
for (Player matchPlayer : ess.getUserMap().matchUsers(args[0], false, false))
for (IUser matchPlayer : ess.getUserMap().matchUsers(args[0], false, false))
{
final EntityDamageEvent ede = new EntityDamageEvent(matchPlayer, sender instanceof Player && ((Player)sender).getName().equals(matchPlayer.getName()) ? EntityDamageEvent.DamageCause.SUICIDE : EntityDamageEvent.DamageCause.CUSTOM, Short.MAX_VALUE);
final EntityDamageEvent ede = new EntityDamageEvent(matchPlayer.getPlayer(), sender instanceof IUser && sender.getName().equals(matchPlayer.getName()) ? EntityDamageEvent.DamageCause.SUICIDE : EntityDamageEvent.DamageCause.CUSTOM, Short.MAX_VALUE);
server.getPluginManager().callEvent(ede);
if (ede.isCancelled() && !sender.hasPermission("essentials.kill.force"))
{
continue;
}
matchPlayer.damage(Short.MAX_VALUE);
sender.sendMessage(_("kill", matchPlayer.getDisplayName()));
matchPlayer.getPlayer().damage(Short.MAX_VALUE);
sender.sendMessage(_("kill", matchPlayer.getPlayer().getDisplayName()));
}
}
}

View File

@@ -3,10 +3,10 @@ package net.ess3.commands;
import java.util.Collections;
import java.util.Locale;
import static net.ess3.I18n._;
import net.ess3.api.server.CommandSender;
import net.ess3.api.server.World;
import net.ess3.bukkit.LivingEntities;
import org.bukkit.Chunk;
import org.bukkit.World;
import org.bukkit.command.CommandSender;
import org.bukkit.entity.*;
import org.bukkit.event.entity.EntityDeathEvent;
@@ -78,7 +78,7 @@ public class Commandkillall extends EssentialsCommand
{
throw new Exception(_("invalidMob"));
}
entityClass = LivingEntities.fromName(killType).getType().getEntityClass();
entityClass = LivingEntities.fromName(killType).getEntityClass();
}
int numKills = 0;
for (Chunk chunk : world.getLoadedChunks())

View File

@@ -3,8 +3,8 @@ package net.ess3.commands;
import java.util.Random;
import net.ess3.api.IUser;
import net.ess3.api.server.Location;
import net.ess3.bukkit.LivingEntities;
import org.bukkit.Location;
import org.bukkit.entity.EntityType;
import org.bukkit.entity.Ocelot;
@@ -15,8 +15,8 @@ public class Commandkittycannon extends EssentialsCommand
@Override
protected void run(final IUser user, final String commandLabel, final String[] args) throws Exception
{
final LivingEntities cat = LivingEntities.OCELOT;
final Ocelot ocelot = (Ocelot)cat.spawn(user, server, user.getEyeLocation());
final EntityType cat = EntityType.OCELOT;
final Ocelot ocelot = (Ocelot)user.getPlayer().getWorld().spawn(user.getPlayer().getEyeLocation(), cat.getEntityClass());
if (ocelot == null)
{
return;
@@ -24,7 +24,7 @@ public class Commandkittycannon extends EssentialsCommand
final int i = random.nextInt(Ocelot.Type.values().length);
ocelot.setCatType(Ocelot.Type.values()[i]);
ocelot.setTamed(true);
ocelot.setVelocity(user.getEyeLocation().getDirection().multiply(2));
ocelot.setVelocity(user.getPlayer().getEyeLocation().getDirection().multiply(2));
ess.getPlugin().scheduleSyncDelayedTask(new Runnable()
{
@Override

View File

@@ -4,9 +4,8 @@ import lombok.Cleanup;
import static net.ess3.I18n._;
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.permissions.Permissions;
import org.bukkit.command.CommandSender;
import org.bukkit.entity.LightningStrike;
@@ -17,13 +16,13 @@ public class Commandlightning extends EssentialsCommand
{
IUser user = null;
if (sender instanceof Player)
if (isUser(sender))
{
user = ess.getUserMap().getUser(((Player)sender));
user = getUser(sender);
}
if ((args.length < 1 || !Permissions.LIGHTNING_OTHERS.isAuthorized(user)) && user != null)
{
user.getWorld().strikeLightning(user.getTargetBlock(null, 600).getLocation());
user.getPlayer().getWorld().strikeLightning(user.getPlayer().getTargetBlock(null, 600).getLocation());
return;
}
@@ -44,13 +43,13 @@ public class Commandlightning extends EssentialsCommand
}
}
for (Player matchPlayer : ess.getUserMap().matchUsers(args[0], false, false))
for (IUser matchPlayer : ess.getUserMap().matchUsers(args[0], false, false))
{
sender.sendMessage(_("lightningUse", matchPlayer.getDisplayName()));
final LightningStrike strike = matchPlayer.getWorld().strikeLightningEffect(matchPlayer.getLocation());
if (!ess.getUserMap().getUser(matchPlayer).isGodModeEnabled())
sender.sendMessage(_("lightningUse", matchPlayer.getPlayer().getDisplayName()));
final LightningStrike strike = matchPlayer.getPlayer().getWorld().strikeLightningEffect(matchPlayer.getPlayer().getLocation());
if (!matchPlayer.isGodModeEnabled())
{
matchPlayer.damage(power, strike);
matchPlayer.getPlayer().damage(power, strike);
}
@Cleanup
final ISettings settings = ess.getSettings();

View File

@@ -4,10 +4,10 @@ import java.util.*;
import static net.ess3.I18n._;
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.permissions.Permissions;
import net.ess3.utils.Util;
import org.bukkit.command.CommandSender;
import org.bukkit.entity.Player;
public class Commandlist extends EssentialsCommand
{
@@ -22,7 +22,7 @@ public class Commandlist extends EssentialsCommand
int playerHidden = 0;
for (Player onlinePlayer : server.getOnlinePlayers())
{
if (onlinePlayer.getUser().isHidden())
if (ess.getUserMap().getUser(onlinePlayer).isHidden())
{
playerHidden++;
}
@@ -31,11 +31,11 @@ public class Commandlist extends EssentialsCommand
String online;
if (showhidden && playerHidden > 0)
{
online = _("listAmountHidden", server.getOnlinePlayers().size() - playerHidden, playerHidden, server.getMaxPlayers());
online = _("listAmountHidden", server.getOnlinePlayers().length - playerHidden, playerHidden, server.getMaxPlayers());
}
else
{
online = _("listAmount", server.getOnlinePlayers().size() - playerHidden, server.getMaxPlayers());
online = _("listAmount", server.getOnlinePlayers().length - playerHidden, server.getMaxPlayers());
}
sender.sendMessage(online);
@@ -56,7 +56,7 @@ public class Commandlist extends EssentialsCommand
Map<String, List<IUser>> sort = new HashMap<String, List<IUser>>();
for (Player onlinePlayer : server.getOnlinePlayers())
{
final IUser player = onlinePlayer.getUser();
final IUser player = getUser(onlinePlayer);
if (player.isHidden() && !showhidden)
{
continue;
@@ -106,7 +106,7 @@ public class Commandlist extends EssentialsCommand
groupString.append(_("listHiddenTag"));
}
user.setDisplayNick();
groupString.append(user.getDisplayName());
groupString.append(user.getPlayer().getDisplayName());
groupString.append("§f");
}
sender.sendMessage(groupString.toString());
@@ -117,7 +117,7 @@ public class Commandlist extends EssentialsCommand
final List<IUser> users = new ArrayList<IUser>();
for (Player onlinePlayer : server.getOnlinePlayers())
{
final IUser player =onlinePlayer.getUser();
final IUser player = getUser(onlinePlayer);
if (player.isHidden() && !showhidden)
{
continue;
@@ -156,7 +156,7 @@ public class Commandlist extends EssentialsCommand
onlineUsers.append(_("listHiddenTag"));
}
user.setDisplayNick();
onlineUsers.append(user.getDisplayName());
onlineUsers.append(user.getPlayer().getDisplayName());
onlineUsers.append("§f");
}
sender.sendMessage(onlineUsers.toString());

View File

@@ -3,10 +3,9 @@ package net.ess3.commands;
import java.util.List;
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.permissions.Permissions;
import net.ess3.utils.Util;
import org.bukkit.command.CommandSender;
public class Commandmail extends EssentialsCommand
@@ -37,16 +36,7 @@ public class Commandmail extends EssentialsCommand
throw new Exception(_("noPerm", "essentials.mail.send"));
}
Player player = ess.getUserMap().matchUser(args[1], true, true);
IUser u;
if (player != null)
{
u = player.getUser();
}
else
{
u = ess.getUserMap().matchUser(args[1], true, true);
}
IUser u = ess.getUserMap().matchUser(args[1], true, true);
if (u == null)
{
throw new Exception(_("playerNeverOnServer", args[1]));
@@ -92,20 +82,7 @@ public class Commandmail extends EssentialsCommand
}
else if (args.length >= 3 && "send".equalsIgnoreCase(args[0]))
{
Player player = ess.getUserMap().matchUser(args[1], true, true);
IUser u;
if (player != null)
{
u = player.getUser();
}
else
{
u = ess.getUserMap().matchUser(args[1], true, true);
}
if (u == null)
{
throw new Exception(_("playerNeverOnServer", args[1]));
}
IUser u = ess.getUserMap().matchUser(args[1], true, true);
u.addMail("Server: " + getFinalArg(args, 2));
sender.sendMessage(_("mailSent"));
return;
@@ -117,20 +94,7 @@ public class Commandmail extends EssentialsCommand
else if (args.length >= 2)
{
//allow sending from console without "send" argument, since it's the only thing the console can do
Player player = ess.getUserMap().matchUser(args[0], true, true);
IUser u;
if (player != null)
{
u = player.getUser();
}
else
{
u = ess.getUserMap().matchUser(args[0], true, true);
}
if (u == null)
{
throw new Exception(_("playerNeverOnServer", args[0]));
}
IUser u = ess.getUserMap().matchUser(args[0], true, true);
u.addMail("Server: " + getFinalArg(args, 1));
sender.sendMessage(_("mailSent"));
return;

View File

@@ -32,6 +32,6 @@ public class Commandme extends EssentialsCommand
user.setDisplayNick();
ess.broadcastMessage(user, _("action", user.getDisplayName(), message));
ess.broadcastMessage(user, _("action", user.getPlayer().getDisplayName(), message));
}
}

View File

@@ -4,9 +4,9 @@ import java.util.Locale;
import static net.ess3.I18n._;
import net.ess3.api.ISettings;
import net.ess3.api.IUser;
import net.ess3.api.server.ItemStack;
import net.ess3.permissions.ItemPermissions;
import net.ess3.permissions.Permissions;
import org.bukkit.inventory.ItemStack;
public class Commandmore extends EssentialsCommand
@@ -14,7 +14,7 @@ public class Commandmore extends EssentialsCommand
@Override
public void run(final IUser user, final String commandLabel, final String[] args) throws Exception
{
final ItemStack stack = user.getItemInHand();
final ItemStack stack = user.getPlayer().getItemInHand();
if (stack == null)
{
throw new Exception(_("cantSpawnItem", "Air"));
@@ -51,6 +51,6 @@ public class Commandmore extends EssentialsCommand
{
stack.setAmount(defaultStackSize > 0 ? defaultStackSize : stack.getMaxStackSize());
}
user.updateInventory();
user.getPlayer().updateInventory();
}
}

View File

@@ -1,10 +1,10 @@
package net.ess3.commands;
import net.ess3.api.server.CommandSender;
import net.ess3.utils.textreader.IText;
import net.ess3.utils.textreader.KeywordReplacer;
import net.ess3.utils.textreader.TextInput;
import net.ess3.utils.textreader.TextPager;
import org.bukkit.command.CommandSender;
public class Commandmotd extends EssentialsCommand

View File

@@ -1,15 +1,15 @@
package net.ess3.commands;
import java.util.List;
import java.util.Set;
import lombok.Cleanup;
import net.ess3.Console;
import static net.ess3.I18n._;
import net.ess3.api.IReplyTo;
import net.ess3.api.IUser;
import net.ess3.api.server.CommandSender;
import net.ess3.api.server.Player;
import net.ess3.permissions.Permissions;
import net.ess3.utils.Util;
import org.bukkit.command.CommandSender;
@@ -24,10 +24,10 @@ public class Commandmsg extends EssentialsCommand
}
String message = getFinalArg(args, 1);
if (sender instanceof Player)
if (isUser(sender))
{
@Cleanup
IUser user = ess.getUserMap().getUser((Player)sender);
IUser user = getUser(sender);
user.acquireReadLock();
if (user.getData().isMuted())
{
@@ -49,8 +49,8 @@ public class Commandmsg extends EssentialsCommand
final String translatedMe = _("me");
final IReplyTo replyTo = sender instanceof Player ? ess.getUserMap().getUser((Player)sender) : Console.getConsoleReplyTo();
final String senderName = sender instanceof Player ? ((Player)sender).getDisplayName() : Console.NAME;
final IReplyTo replyTo = isUser(sender) ? getUser(sender) : Console.getConsoleReplyTo();
final String senderName = isUser(sender) ? getPlayer(sender).getDisplayName() : Console.NAME;
if (args[0].equalsIgnoreCase(Console.NAME))
{
@@ -62,7 +62,7 @@ public class Commandmsg extends EssentialsCommand
return;
}
final List<Player> matchedPlayers = ess.getUserMap().matchUser(args[0], false, false);
final Set<IUser> matchedPlayers = ess.getUserMap().matchUsers(args[0], true, false);
if (matchedPlayers.isEmpty())
{
@@ -70,9 +70,8 @@ public class Commandmsg extends EssentialsCommand
}
int i = 0;
for (Player matchedPlayer : matchedPlayers)
for (IUser u : matchedPlayers)
{
final IUser u = ess.getUserMap().getUser(matchedPlayer);
if (u.isHidden())
{
i++;
@@ -83,17 +82,16 @@ public class Commandmsg extends EssentialsCommand
throw new Exception(_("playerNotFound"));
}
for (Player matchedPlayer : matchedPlayers)
for (IUser matchedPlayer : matchedPlayers)
{
sender.sendMessage(_("msgFormat", translatedMe, matchedPlayer.getDisplayName(), message));
final IUser matchedUser = ess.getUserMap().getUser(matchedPlayer);
if (sender instanceof Player && (matchedUser.isIgnoringPlayer(ess.getUserMap().getUser((Player)sender)) || matchedUser.isHidden()))
sender.sendMessage(_("msgFormat", translatedMe, matchedPlayer.getPlayer().getDisplayName(), message));
if (isUser(sender) && (matchedPlayer.isIgnoringPlayer(getUser(sender)) || matchedPlayer.isHidden()))
{
continue;
}
matchedPlayer.sendMessage(_("msgFormat", senderName, translatedMe, message));
replyTo.setReplyTo(ess.getUserMap().getUser(matchedPlayer));
ess.getUserMap().getUser(matchedPlayer).setReplyTo(sender);
replyTo.setReplyTo(matchedPlayer);
matchedPlayer.setReplyTo(sender);
}
}
}

View File

@@ -3,10 +3,10 @@ package net.ess3.commands;
import lombok.Cleanup;
import static net.ess3.I18n._;
import net.ess3.api.IUser;
import net.ess3.api.server.CommandSender;
import net.ess3.permissions.Permissions;
import net.ess3.user.UserData.TimestampType;
import net.ess3.utils.DateUtil;
import org.bukkit.command.CommandSender;
public class Commandmute extends EssentialsCommand
{
@@ -42,9 +42,9 @@ public class Commandmute extends EssentialsCommand
sender.sendMessage(
muted
? (muteTimestamp > 0
? _("mutedPlayerFor", player.getDisplayName(), DateUtil.formatDateDiff(muteTimestamp))
: _("mutedPlayer", player.getDisplayName()))
: _("unmutedPlayer", player.getDisplayName()));
? _("mutedPlayerFor", player.getPlayer().getDisplayName(), DateUtil.formatDateDiff(muteTimestamp))
: _("mutedPlayer", player.getPlayer().getDisplayName()))
: _("unmutedPlayer", player.getPlayer().getDisplayName()));
player.sendMessage(
muted
? (muteTimestamp > 0

View File

@@ -2,11 +2,11 @@ package net.ess3.commands;
import static net.ess3.I18n._;
import net.ess3.api.IUser;
import net.ess3.api.server.CommandSender;
import net.ess3.api.server.Location;
import net.ess3.api.server.Player;
import net.ess3.api.server.World;
import net.ess3.permissions.Permissions;
import org.bukkit.Location;
import org.bukkit.World;
import org.bukkit.command.CommandSender;
import org.bukkit.entity.Player;
public class Commandnear extends EssentialsCommand
@@ -79,17 +79,17 @@ public class Commandnear extends EssentialsCommand
private String getLocal(final IUser user, final long radius)
{
final Location loc = user.getLocation();
final Location loc = user.getPlayer().getLocation();
final World world = loc.getWorld();
final StringBuilder output = new StringBuilder();
final long radiusSquared = radius * radius;
for (Player onlinePlayer : server.getOnlinePlayers())
{
final IUser player = ess.getUserMap().getUser(onlinePlayer);
final IUser player = getUser(onlinePlayer);
if (!player.equals(user) && !player.isHidden())
{
final Location playerLoc = player.getLocation();
final Location playerLoc = onlinePlayer.getLocation();
if (playerLoc.getWorld() != world)
{
continue;
@@ -102,7 +102,7 @@ public class Commandnear extends EssentialsCommand
{
output.append(", ");
}
output.append(player.getDisplayName()).append("§f(§4").append((long)Math.sqrt(delta)).append("m§f)");
output.append(onlinePlayer.getDisplayName()).append("§f(§4").append((long)Math.sqrt(delta)).append("m§f)");
}
}
}

View File

@@ -5,11 +5,11 @@ import lombok.Cleanup;
import static net.ess3.I18n._;
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.Server;
import net.ess3.permissions.Permissions;
import net.ess3.utils.Util;
import org.bukkit.Server;
import org.bukkit.command.CommandSender;
import org.bukkit.entity.Player;
public class Commandnick extends EssentialsCommand
@@ -108,7 +108,7 @@ public class Commandnick extends EssentialsCommand
{
for (Player p : server.getOnlinePlayers())
{
if (target.getBase() == p)
if (target.getPlayer().equals(p))
{
continue;
}
@@ -123,7 +123,7 @@ public class Commandnick extends EssentialsCommand
target.getData().setNickname(nick);
target.updateDisplayName();
target.sendMessage(_("nickSet", target.getDisplayName() + "§7."));
target.sendMessage(_("nickSet", target.getPlayer().getDisplayName() + "§7."));
}
}
}

View File

@@ -10,6 +10,7 @@ import net.ess3.permissions.AbstractSuperpermsPermission;
import org.bukkit.Server;
import org.bukkit.command.Command;
import org.bukkit.command.CommandSender;
import org.bukkit.entity.Player;
public abstract class EssentialsCommand extends AbstractSuperpermsPermission implements IEssentialsCommand
@@ -125,4 +126,39 @@ public abstract class EssentialsCommand extends AbstractSuperpermsPermission imp
{
return permission;
}
protected boolean isUser(CommandSender sender) {
return sender instanceof IUser;
}
/**
* Converts a CommandSender object to an User.
*
* @param sender
* @return
* @throws IllegalArgumentException if the object is neither a superclass of IUser or Player
*/
protected IUser getUser(CommandSender sender) {
if (sender instanceof IUser) {
return (IUser)sender;
}
if (sender instanceof Player) {
return ess.getUserMap().getUser((Player)sender);
}
throw new IllegalArgumentException();
}
/**
* Converts a CommandSender object to an User.
*
* @param sender
* @return
* @throws IllegalArgumentException if the object is not a superclass of IUser
*/
protected Player getPlayer(CommandSender sender) {
if (sender instanceof IUser) {
return ((IUser)sender).getPlayer();
}
throw new IllegalArgumentException();
}
}

View File

@@ -1,6 +1,6 @@
# This determines the command prefix when there are conflicts (/name:home, /name:help, etc.)
name: Essentials-3
main: net.ess3.Essentials
main: net.ess3.bukkit.BukkitPlugin
# Note to developers: This next line cannot change, or the automatic versioning system will break.
version: ${build.number}
website: http://tiny.cc/EssentialsWiki

View File

@@ -31,11 +31,11 @@ public class EssentialsUpgrade
EssentialsUpgrade(final IEssentials essentials)
{
ess = essentials;
if (!ess.getDataFolder().exists())
if (!ess.getPlugin().getDataFolder().exists())
{
ess.getDataFolder().mkdirs();
ess.getPlugin().getDataFolder().mkdirs();
}
doneFile = new EssentialsConf(new File(ess.getDataFolder(), "upgrades-done.yml"));
doneFile = new EssentialsConf(new File(ess.getPlugin().getDataFolder(), "upgrades-done.yml"));
doneFile.load();
}
@@ -47,7 +47,7 @@ public class EssentialsUpgrade
}
try
{
final File configFile = new File(ess.getDataFolder(), "config.yml");
final File configFile = new File(ess.getPlugin().getDataFolder(), "config.yml");
if (!configFile.exists())
{
return;
@@ -87,12 +87,12 @@ public class EssentialsUpgrade
}
try
{
final File file = new File(ess.getDataFolder(), name + ".txt");
final File file = new File(ess.getPlugin().getDataFolder(), name + ".txt");
if (file.exists())
{
return;
}
final File configFile = new File(ess.getDataFolder(), "config.yml");
final File configFile = new File(ess.getPlugin().getDataFolder(), "config.yml");
if (!configFile.exists())
{
return;
@@ -127,7 +127,7 @@ public class EssentialsUpgrade
{
boolean needUpdate = false;
final BufferedReader bReader = new BufferedReader(new FileReader(file));
final File tempFile = File.createTempFile("essentialsupgrade", ".tmp.yml", ess.getDataFolder());
final File tempFile = File.createTempFile("essentialsupgrade", ".tmp.yml", ess.getPlugin().getDataFolder());
final BufferedWriter bWriter = new BufferedWriter(new FileWriter(tempFile));
do
{
@@ -188,7 +188,7 @@ public class EssentialsUpgrade
{
return;
}
final File userdataFolder = new File(ess.getDataFolder(), "userdata");
final File userdataFolder = new File(ess.getPlugin().getDataFolder(), "userdata");
if (!userdataFolder.exists() || !userdataFolder.isDirectory())
{
return;
@@ -251,7 +251,7 @@ public class EssentialsUpgrade
{
return;
}
final File userdataFolder = new File(ess.getDataFolder(), "userdata");
final File userdataFolder = new File(ess.getPlugin().getDataFolder(), "userdata");
if (!userdataFolder.exists() || !userdataFolder.isDirectory())
{
return;
@@ -304,7 +304,7 @@ public class EssentialsUpgrade
{
return;
}
final File userdataFolder = new File(ess.getDataFolder(), "userdata");
final File userdataFolder = new File(ess.getPlugin().getDataFolder(), "userdata");
if (!userdataFolder.exists() || !userdataFolder.isDirectory())
{
return;
@@ -389,7 +389,7 @@ public class EssentialsUpgrade
*/
private void convertWarps()
{
final File warpsFolder = new File(ess.getDataFolder(), "warps");
final File warpsFolder = new File(ess.getPlugin().getDataFolder(), "warps");
if (!warpsFolder.exists())
{
warpsFolder.mkdirs();
@@ -555,7 +555,7 @@ public class EssentialsUpgrade
{
return;
}
final File file = new File(ess.getDataFolder(), "items.csv");
final File file = new File(ess.getPlugin().getDataFolder(), "items.csv");
if (file.exists())
{
try
@@ -602,7 +602,7 @@ public class EssentialsUpgrade
{
return;
}
final File configFile = new File(ess.getDataFolder(), "spawn.yml");
final File configFile = new File(ess.getPlugin().getDataFolder(), "spawn.yml");
if (configFile.exists())
{
@@ -619,7 +619,7 @@ public class EssentialsUpgrade
StoredLocation loc = getFakeLocation(config, group);
spawns.getSpawns().put(group.toLowerCase(Locale.ENGLISH), loc);
}
if (!configFile.renameTo(new File(ess.getDataFolder(), "spawn.yml.old")))
if (!configFile.renameTo(new File(ess.getPlugin().getDataFolder(), "spawn.yml.old")))
{
throw new Exception(_("fileRenameError", "spawn.yml"));
}
@@ -649,7 +649,7 @@ public class EssentialsUpgrade
{
return;
}
final File configFile = new File(ess.getDataFolder(), "jail.yml");
final File configFile = new File(ess.getPlugin().getDataFolder(), "jail.yml");
if (configFile.exists())
{
@@ -666,7 +666,7 @@ public class EssentialsUpgrade
StoredLocation loc = getFakeLocation(config, jailName);
jails.getJails().put(jailName.toLowerCase(Locale.ENGLISH), loc);
}
if (!configFile.renameTo(new File(ess.getDataFolder(), "jail.yml.old")))
if (!configFile.renameTo(new File(ess.getPlugin().getDataFolder(), "jail.yml.old")))
{
throw new Exception(_("fileRenameError", "jail.yml"));
}
@@ -704,9 +704,9 @@ public class EssentialsUpgrade
public void beforeSettings()
{
if (!ess.getDataFolder().exists())
if (!ess.getPlugin().getDataFolder().exists())
{
ess.getDataFolder().mkdirs();
ess.getPlugin().getDataFolder().mkdirs();
}
moveWorthValuesToWorthYml();
moveMotdRulesToFile("motd");

View File

@@ -9,6 +9,7 @@ import java.util.HashMap;
import java.util.Map;
import java.util.logging.Level;
import java.util.logging.Logger;
import net.ess3.api.IPlugin;
import org.bukkit.event.player.PlayerChatEvent;
import org.bukkit.plugin.PluginManager;
import org.bukkit.plugin.java.JavaPlugin;
@@ -22,12 +23,13 @@ public class EssentialsChat extends JavaPlugin
public void onEnable()
{
final PluginManager pluginManager = getServer().getPluginManager();
final IEssentials ess = (IEssentials)pluginManager.getPlugin("Essentials-3");
if (!this.getDescription().getVersion().equals(ess.getDescription().getVersion()))
final IPlugin plugin = (IPlugin)pluginManager.getPlugin("Essentials-3");
final IEssentials ess = (IEssentials)plugin.getEssentials();
if (!this.getDescription().getVersion().equals(plugin.getDescription().getVersion()))
{
LOGGER.log(Level.WARNING, _("versionMismatchAll"));
}
if (!ess.isEnabled())
if (!plugin.isEnabled())
{
this.setEnabled(false);
return;

View File

@@ -83,7 +83,7 @@ public abstract class EssentialsChatPlayer implements Listener
event.setMessage(Util.stripColor(event.getMessage()));
}
String group = ess.getRanks().getMainGroup(user);
String world = user.getWorld().getName();
String world = user.getPlayer().getWorld().getName();
IRanks groupSettings = ess.getRanks();
event.setFormat(groupSettings.getChatFormat(user).format(new Object[]

View File

@@ -43,7 +43,7 @@ public class EssentialsLocalChatEventListener implements Listener
if (!user.equals(sender))
{
boolean abort = false;
final Location playerLoc = user.getLocation();
final Location playerLoc = user.getPlayer().getLocation();
if (playerLoc.getWorld() != world)
{
abort = true;

View File

@@ -3,6 +3,7 @@ package net.ess3.geoip;
import static net.ess3.I18n._;
import net.ess3.api.IEssentials;
import java.util.logging.Level;
import net.ess3.api.IPlugin;
import org.bukkit.plugin.PluginManager;
import org.bukkit.plugin.java.JavaPlugin;
@@ -13,12 +14,13 @@ public class EssentialsGeoIP extends JavaPlugin
public void onEnable()
{
final PluginManager pm = getServer().getPluginManager();
final IEssentials ess = (IEssentials)pm.getPlugin("Essentials-3");
if (!this.getDescription().getVersion().equals(ess.getDescription().getVersion()))
final IPlugin plugin = (IPlugin)pm.getPlugin("Essentials-3");
final IEssentials ess = (IEssentials)plugin.getEssentials();
if (!this.getDescription().getVersion().equals(plugin.getDescription().getVersion()))
{
getLogger().log(Level.WARNING, _("versionMismatchAll"));
}
if (!ess.isEnabled())
if (!plugin.isEnabled())
{
this.setEnabled(false);
return;

View File

@@ -33,7 +33,7 @@ public final class BlockBreakPermissions extends AbstractSuperpermsPermission
}
@Override
public String getPermission()
public String getPermissionName()
{
return this.permission;
}

View File

@@ -33,7 +33,7 @@ public class BlockPlacePermissions extends AbstractSuperpermsPermission
}
@Override
public String getPermission()
public String getPermissionName()
{
return this.permission;
}

View File

@@ -297,7 +297,7 @@ public class EssentialsSign
return new Trade(amount, ess);
}
final ItemStack item = getItemStack(sign.getLine(itemIndex), 1, ess);
final int amount = Math.min(getIntegerPositive(sign.getLine(amountIndex)), item.getType().getMaxStackSize() * player.getInventory().getSize());
final int amount = Math.min(getIntegerPositive(sign.getLine(amountIndex)), item.getType().getMaxStackSize() * player.getPlayer().getInventory().getSize());
if (item.getTypeId() == 0 || amount < 1)
{
throw new SignException(_("moreThanZero"));

View File

@@ -4,6 +4,7 @@ import static net.ess3.I18n._;
import net.ess3.api.IEssentials;
import java.util.logging.Level;
import java.util.logging.Logger;
import net.ess3.api.IPlugin;
import org.bukkit.Bukkit;
import org.bukkit.plugin.PluginManager;
import org.bukkit.plugin.java.JavaPlugin;
@@ -18,12 +19,13 @@ public class EssentialsSignsPlugin extends JavaPlugin implements ISignsPlugin
public void onEnable()
{
final PluginManager pluginManager = getServer().getPluginManager();
final IEssentials ess = (IEssentials)pluginManager.getPlugin("Essentials-3");
if (!this.getDescription().getVersion().equals(ess.getDescription().getVersion()))
final IPlugin plugin = (IPlugin)pluginManager.getPlugin("Essentials-3");
final IEssentials ess = (IEssentials)plugin.getEssentials();
if (!this.getDescription().getVersion().equals(plugin.getDescription().getVersion()))
{
LOGGER.log(Level.WARNING, _("versionMismatchAll"));
}
if (!ess.isEnabled())
if (!plugin.isEnabled())
{
this.setEnabled(false);
return;

View File

@@ -88,7 +88,7 @@ public class SignEnchant extends EssentialsSign
level = enchantment.getMaxLevel();
}
final ItemStack playerHand = player.getItemInHand();
final ItemStack playerHand = player.getPlayer().getItemInHand();
if (playerHand == null
|| playerHand.getAmount() != 1
|| (playerHand.containsEnchantment(enchantment)
@@ -113,7 +113,7 @@ public class SignEnchant extends EssentialsSign
charge.charge(player);
Trade.log("Sign", "Enchant", "Interact", username, charge, username, charge, sign.getBlock().getLocation(), ess);
player.updateInventory();
player.getPlayer().updateInventory();
return true;
}
}

View File

@@ -33,9 +33,9 @@ public class SignFree extends EssentialsSign
}
item.setAmount(item.getType().getMaxStackSize());
InventoryWorkaround.addItem(player.getInventory(), true, item);
InventoryWorkaround.addItem(player.getPlayer().getInventory(), true, item);
player.sendMessage("Item added to your inventory.");
player.updateInventory();
player.getPlayer().updateInventory();
//TODO: wait for a fix in bukkit
//Problem: Items can be duplicated
//Inventory i = ess.getServer().createInventory(player, InventoryType.CHEST);

View File

@@ -43,8 +43,8 @@ public class SignGameMode extends EssentialsSign
charge.isAffordableFor(player);
//this needs to be fixed
player.setGameMode(player.getGameMode() == GameMode.SURVIVAL ? GameMode.CREATIVE : GameMode.SURVIVAL);
player.sendMessage(_("gameMode", _(player.getGameMode().toString().toLowerCase(Locale.ENGLISH)), player.getDisplayName()));
player.getPlayer().setGameMode(player.getPlayer().getGameMode() == GameMode.SURVIVAL ? GameMode.CREATIVE : GameMode.SURVIVAL);
player.sendMessage(_("gameMode", _(player.getPlayer().getGameMode().toString().toLowerCase(Locale.ENGLISH)), player.getPlayer().getDisplayName()));
charge.charge(player);
return true;
}

View File

@@ -26,9 +26,9 @@ public class SignHeal extends EssentialsSign
{
final Trade charge = getTrade(sign, 1, ess);
charge.isAffordableFor(player);
player.setHealth(20);
player.setFoodLevel(20);
player.setFireTicks(0);
player.getPlayer().setHealth(20);
player.getPlayer().setFoodLevel(20);
player.getPlayer().setFireTicks(0);
player.sendMessage(_("youAreHealed"));
charge.charge(player);
return true;

View File

@@ -4,8 +4,8 @@ package net.ess3.signs;
import java.io.IOException;
import net.ess3.api.ChargeException;
import net.ess3.api.IEssentials;
import net.ess3.api.IUser;
import net.ess3.economy.Trade;
import net.ess3.user.User;
import net.ess3.utils.textreader.IText;
import net.ess3.utils.textreader.KeywordReplacer;
import net.ess3.utils.textreader.TextInput;
@@ -20,14 +20,14 @@ public class SignInfo extends EssentialsSign
}
@Override
protected boolean onSignCreate(final ISign sign, final User player, final String username, final IEssentials ess) throws SignException
protected boolean onSignCreate(final ISign sign, final IUser player, final String username, final IEssentials ess) throws SignException
{
validateTrade(sign, 3, ess);
return true;
}
@Override
protected boolean onSignInteract(final ISign sign, final User player, final String username, final IEssentials ess) throws SignException, ChargeException
protected boolean onSignInteract(final ISign sign, final IUser player, final String username, final IEssentials ess) throws SignException, ChargeException
{
final Trade charge = getTrade(sign, 3, ess);
charge.isAffordableFor(player);

View File

@@ -1,9 +1,11 @@
package net.ess3.signs;
import static net.ess3.I18n._;
import net.ess3.api.ChargeException;
import net.ess3.api.IEssentials;
import net.ess3.api.IUser;
import net.ess3.commands.Commandrepair;
import net.ess3.economy.Trade;
import net.ess3.user.User;
public class SignRepair extends EssentialsSign
@@ -14,7 +16,7 @@ public class SignRepair extends EssentialsSign
}
@Override
protected boolean onSignCreate(final ISign sign, final User player, final String username, final IEssentials ess) throws SignException
protected boolean onSignCreate(final ISign sign, final IUser player, final String username, final IEssentials ess) throws SignException
{
final String repairTarget = sign.getLine(1);
if (repairTarget.isEmpty())
@@ -30,20 +32,20 @@ public class SignRepair extends EssentialsSign
}
@Override
protected boolean onSignInteract(final ISign sign, final User player, final String username, final IEssentials ess) throws SignException, ChargeException
protected boolean onSignInteract(final ISign sign, final IUser player, final String username, final IEssentials ess) throws SignException, ChargeException
{
final Trade charge = getTrade(sign, 2, ess);
charge.isAffordableFor(player);
Commandrepair command = new Commandrepair();
command.setEssentials(ess);
command.init(ess, "repair");
String[] args = new String[]
{
sign.getLine(1)
};
try
{
command.run(ess.getServer(), player, "repair", args);
command.run(player, "repair", args);
}
catch (Exception ex)
{

View File

@@ -5,6 +5,7 @@ import net.ess3.api.ChargeException;
import net.ess3.api.IEssentials;
import net.ess3.api.IUser;
import net.ess3.economy.Trade;
import org.bukkit.World;
public class SignTime extends EssentialsSign
@@ -38,17 +39,18 @@ public class SignTime extends EssentialsSign
final Trade charge = getTrade(sign, 2, ess);
charge.isAffordableFor(player);
final String timeString = sign.getLine(1);
long time = player.getWorld().getTime();
final World world = player.getPlayer().getWorld();
long time = world.getTime();
time -= time % 24000;
if ("§2Day".equalsIgnoreCase(timeString))
{
player.getWorld().setTime(time + 24000);
world.setTime(time + 24000);
charge.charge(player);
return true;
}
if ("§2Night".equalsIgnoreCase(timeString))
{
player.getWorld().setTime(time + 37700);
world.setTime(time + 37700);
charge.charge(player);
return true;
}

View File

@@ -75,16 +75,17 @@ public class SignTrade extends EssentialsSign
private Trade rechargeSign(final ISign sign, final IEssentials ess, final IUser player) throws SignException, ChargeException
{
final Trade trade = getTrade(sign, 2, false, false, ess);
if (trade.getItemStack() != null && player.getItemInHand() != null
&& trade.getItemStack().getTypeId() == player.getItemInHand().getTypeId()
&& trade.getItemStack().getDurability() == player.getItemInHand().getDurability()
&& trade.getItemStack().getEnchantments().equals(player.getItemInHand().getEnchantments()))
ItemStack itemInHand = player.getPlayer().getItemInHand();
if (trade.getItemStack() != null && itemInHand != null
&& trade.getItemStack().getTypeId() == itemInHand.getTypeId()
&& trade.getItemStack().getDurability() == itemInHand.getDurability()
&& trade.getItemStack().getEnchantments().equals(itemInHand.getEnchantments()))
{
int amount = player.getItemInHand().getAmount();
int amount = itemInHand.getAmount();
amount -= amount % trade.getItemStack().getAmount();
if (amount > 0)
{
final ItemStack stack = player.getItemInHand().clone();
final ItemStack stack = itemInHand.clone();
stack.setAmount(amount);
final Trade store = new Trade(stack, ess);
addAmount(sign, 2, store, ess);

View File

@@ -5,6 +5,7 @@ import net.ess3.api.ChargeException;
import net.ess3.api.IEssentials;
import net.ess3.api.IUser;
import net.ess3.economy.Trade;
import org.bukkit.World;
public class SignWeather extends EssentialsSign
@@ -38,15 +39,16 @@ public class SignWeather extends EssentialsSign
final Trade charge = getTrade(sign, 2, ess);
charge.isAffordableFor(player);
final String weatherString = sign.getLine(1);
final World world = player.getPlayer().getWorld();
if ("§2Sun".equalsIgnoreCase(weatherString))
{
player.getWorld().setStorm(false);
world.setStorm(false);
charge.charge(player);
return true;
}
if ("§2Storm".equalsIgnoreCase(weatherString))
{
player.getWorld().setStorm(true);
world.setStorm(true);
charge.charge(player);
return true;
}

View File

@@ -3,6 +3,7 @@ package net.ess3.xmpp;
import net.ess3.Console;
import net.ess3.commands.EssentialsCommand;
import net.ess3.commands.NotEnoughArgumentsException;
import org.bukkit.command.CommandSender;
import org.bukkit.entity.Player;
@@ -24,7 +25,7 @@ public class Commandxmpp extends EssentialsCommand
else
{
final String message = getFinalArg(args, 1);
final String senderName = sender instanceof Player ? ess.getUserMap().getUser((Player)sender).getDisplayName() : Console.NAME;
final String senderName = isUser(sender) ? getPlayer(sender).getDisplayName() : Console.NAME;
sender.sendMessage("[" + senderName + ">" + address + "] " + message);
if (!EssentialsXMPP.getInstance().sendMessage(address, "[" + senderName + "] " + message))
{

View File

@@ -4,6 +4,7 @@ import net.ess3.commands.EssentialsCommand;
import net.ess3.commands.NotEnoughArgumentsException;
import java.util.List;
import org.bukkit.command.CommandSender;
import org.bukkit.entity.Player;

View File

@@ -9,9 +9,9 @@ import java.util.List;
import java.util.Locale;
import java.util.logging.Level;
import java.util.logging.Logger;
import net.ess3.api.IPlugin;
import org.bukkit.command.Command;
import org.bukkit.command.CommandSender;
import org.bukkit.entity.Player;
import org.bukkit.plugin.PluginManager;
import org.bukkit.plugin.java.JavaPlugin;
@@ -36,12 +36,13 @@ public class EssentialsXMPP extends JavaPlugin implements IEssentialsXMPP
instance = this;
final PluginManager pluginManager = getServer().getPluginManager();
ess = (IEssentials)pluginManager.getPlugin("Essentials-3");
if (!this.getDescription().getVersion().equals(ess.getDescription().getVersion()))
final IPlugin plugin = (IPlugin)pluginManager.getPlugin("Essentials-3");
ess = plugin.getEssentials();
if (!this.getDescription().getVersion().equals(plugin.getDescription().getVersion()))
{
LOGGER.log(Level.WARNING, _("versionMismatchAll"));
}
if (!ess.isEnabled())
if (!plugin.isEnabled())
{
this.setEnabled(false);
return;
@@ -76,7 +77,7 @@ public class EssentialsXMPP extends JavaPlugin implements IEssentialsXMPP
}
@Override
public void setAddress(final Player user, final String address)
public void setAddress(final CommandSender user, final String address)
{
final String username = user.getName().toLowerCase(Locale.ENGLISH);
instance.users.setAddress(username, address);
@@ -96,7 +97,7 @@ public class EssentialsXMPP extends JavaPlugin implements IEssentialsXMPP
}
@Override
public boolean toggleSpy(final Player user)
public boolean toggleSpy(final CommandSender user)
{
final String username = user.getName().toLowerCase(Locale.ENGLISH);
final boolean spy = !instance.users.isSpy(username);
@@ -105,13 +106,13 @@ public class EssentialsXMPP extends JavaPlugin implements IEssentialsXMPP
}
@Override
public String getAddress(final Player user)
public String getAddress(final CommandSender user)
{
return instance.users.getAddress(user.getName());
}
@Override
public boolean sendMessage(final Player user, final String message)
public boolean sendMessage(final CommandSender user, final String message)
{
return instance.xmpp.sendMessage(instance.users.getAddress(user.getName()), message);
}

View File

@@ -23,22 +23,19 @@ class EssentialsXMPPPlayerListener implements Listener
@EventHandler(priority= EventPriority.MONITOR)
public void onPlayerJoin(final PlayerJoinEvent event)
{
final IUser user = ess.getUserMap().getUser(event.getPlayer());
sendMessageToSpyUsers("Player " + user.getDisplayName() + " joined the game");
sendMessageToSpyUsers("Player " + event.getPlayer().getDisplayName() + " joined the game");
}
@EventHandler(priority= EventPriority.MONITOR)
public void onPlayerChat(final PlayerChatEvent event)
{
final IUser user = ess.getUserMap().getUser(event.getPlayer());
sendMessageToSpyUsers(String.format(event.getFormat(), user.getDisplayName(), event.getMessage()));
sendMessageToSpyUsers(String.format(event.getFormat(), event.getPlayer().getDisplayName(), event.getMessage()));
}
@EventHandler(priority= EventPriority.MONITOR)
public void onPlayerQuit(final PlayerQuitEvent event)
{
final IUser user = ess.getUserMap().getUser(event.getPlayer());
sendMessageToSpyUsers("Player " + user.getDisplayName() + " left the game");
sendMessageToSpyUsers("Player " + event.getPlayer().getDisplayName() + " left the game");
}
private void sendMessageToSpyUsers(final String message)

View File

@@ -2,13 +2,14 @@ package net.ess3.xmpp;
import net.ess3.api.IUser;
import java.util.List;
import org.bukkit.command.CommandSender;
import org.bukkit.entity.Player;
import org.bukkit.plugin.Plugin;
public interface IEssentialsXMPP extends Plugin
{
String getAddress(final Player user);
String getAddress(final CommandSender user);
String getAddress(final String name);
@@ -16,13 +17,13 @@ public interface IEssentialsXMPP extends Plugin
IUser getUserByAddress(final String address);
boolean sendMessage(final Player user, final String message);
boolean sendMessage(final CommandSender user, final String message);
boolean sendMessage(final String address, final String message);
void setAddress(final Player user, final String address);
void setAddress(final CommandSender user, final String address);
boolean toggleSpy(final Player user);
boolean toggleSpy(final CommandSender user);
void broadcastMessage(final IUser sender, final String message, final String xmppAddress);
}

View File

@@ -90,7 +90,7 @@ public final class XMPPManager extends Handler implements MessageListener, ChatM
break;
default:
final IUser sender = parent.getUserByAddress(StringUtils.parseBareAddress(chat.getParticipant()));
parent.broadcastMessage(sender, "=" + sender.getDisplayName() + ": " + message, StringUtils.parseBareAddress(chat.getParticipant()));
parent.broadcastMessage(sender, "=" + sender.getName() + ": " + message, StringUtils.parseBareAddress(chat.getParticipant()));
}
}
}