mirror of
https://github.com/essentials/Essentials.git
synced 2025-09-30 08:09:03 +02:00
2.9 to 3.0 merge
This commit is contained in:
@@ -17,34 +17,25 @@
|
|||||||
*/
|
*/
|
||||||
package com.earth2me.essentials;
|
package com.earth2me.essentials;
|
||||||
|
|
||||||
import com.earth2me.essentials.economy.Trade;
|
|
||||||
import com.earth2me.essentials.commands.EssentialsCommandHandler;
|
|
||||||
import com.earth2me.essentials.utils.ExecuteTimer;
|
|
||||||
import com.earth2me.essentials.economy.WorthHolder;
|
|
||||||
import com.earth2me.essentials.economy.Economy;
|
|
||||||
import com.earth2me.essentials.backup.Backup;
|
|
||||||
import static com.earth2me.essentials.I18n._;
|
import static com.earth2me.essentials.I18n._;
|
||||||
import com.earth2me.essentials.api.*;
|
import com.earth2me.essentials.api.*;
|
||||||
import com.earth2me.essentials.listener.*;
|
import com.earth2me.essentials.backup.Backup;
|
||||||
|
import com.earth2me.essentials.commands.EssentialsCommandHandler;
|
||||||
|
import com.earth2me.essentials.economy.Economy;
|
||||||
|
import com.earth2me.essentials.economy.Trade;
|
||||||
|
import com.earth2me.essentials.economy.WorthHolder;
|
||||||
import com.earth2me.essentials.economy.register.Methods;
|
import com.earth2me.essentials.economy.register.Methods;
|
||||||
import com.earth2me.essentials.ranks.RanksStorage;
|
import com.earth2me.essentials.listener.*;
|
||||||
import com.earth2me.essentials.settings.SettingsHolder;
|
|
||||||
import com.earth2me.essentials.settings.SpawnsHolder;
|
|
||||||
import com.earth2me.essentials.user.UserMap;
|
|
||||||
import com.earth2me.essentials.api.Economy;
|
|
||||||
import com.earth2me.essentials.api.IJails;
|
|
||||||
import com.earth2me.essentials.commands.EssentialsCommand;
|
|
||||||
import com.earth2me.essentials.commands.IEssentialsCommand;
|
|
||||||
import com.earth2me.essentials.commands.NoChargeException;
|
|
||||||
import com.earth2me.essentials.commands.NotEnoughArgumentsException;
|
|
||||||
import com.earth2me.essentials.metrics.Metrics;
|
import com.earth2me.essentials.metrics.Metrics;
|
||||||
import com.earth2me.essentials.metrics.MetricsListener;
|
import com.earth2me.essentials.metrics.MetricsListener;
|
||||||
import com.earth2me.essentials.metrics.MetricsStarter;
|
import com.earth2me.essentials.metrics.MetricsStarter;
|
||||||
import com.earth2me.essentials.perm.PermissionsHandler;
|
import com.earth2me.essentials.ranks.RanksStorage;
|
||||||
import com.earth2me.essentials.register.payment.Methods;
|
import com.earth2me.essentials.settings.SettingsHolder;
|
||||||
import com.earth2me.essentials.signs.SignBlockListener;
|
import com.earth2me.essentials.settings.SpawnsHolder;
|
||||||
import com.earth2me.essentials.signs.SignEntityListener;
|
import com.earth2me.essentials.user.IOfflinePlayer;
|
||||||
import com.earth2me.essentials.signs.SignPlayerListener;
|
import com.earth2me.essentials.user.User;
|
||||||
|
import com.earth2me.essentials.user.UserMap;
|
||||||
|
import com.earth2me.essentials.utils.ExecuteTimer;
|
||||||
import java.io.File;
|
import java.io.File;
|
||||||
import java.io.FileReader;
|
import java.io.FileReader;
|
||||||
import java.io.IOException;
|
import java.io.IOException;
|
||||||
@@ -54,6 +45,7 @@ import java.util.logging.Level;
|
|||||||
import java.util.logging.Logger;
|
import java.util.logging.Logger;
|
||||||
import java.util.regex.Matcher;
|
import java.util.regex.Matcher;
|
||||||
import java.util.regex.Pattern;
|
import java.util.regex.Pattern;
|
||||||
|
import lombok.Getter;
|
||||||
import org.bukkit.Server;
|
import org.bukkit.Server;
|
||||||
import org.bukkit.World;
|
import org.bukkit.World;
|
||||||
import org.bukkit.command.Command;
|
import org.bukkit.command.Command;
|
||||||
@@ -95,7 +87,9 @@ public class Essentials extends JavaPlugin implements IEssentials
|
|||||||
private transient Economy economy;
|
private transient Economy economy;
|
||||||
public transient boolean testing;
|
public transient boolean testing;
|
||||||
private transient Metrics metrics;
|
private transient Metrics metrics;
|
||||||
|
@Getter
|
||||||
private transient EssentialsTimer timer;
|
private transient EssentialsTimer timer;
|
||||||
|
@Getter
|
||||||
private transient List<String> vanishedPlayers = new ArrayList<String>();
|
private transient List<String> vanishedPlayers = new ArrayList<String>();
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
@@ -256,7 +250,7 @@ public class Essentials extends JavaPlugin implements IEssentials
|
|||||||
final MetricsStarter metricsStarter = new MetricsStarter(this);
|
final MetricsStarter metricsStarter = new MetricsStarter(this);
|
||||||
if (metricsStarter.getStart() != null && metricsStarter.getStart() == true)
|
if (metricsStarter.getStart() != null && metricsStarter.getStart() == true)
|
||||||
{
|
{
|
||||||
getScheduler().scheduleAsyncDelayedTask(this, metricsStarter, 1);
|
getServer().getScheduler().scheduleAsyncDelayedTask(this, metricsStarter, 1);
|
||||||
}
|
}
|
||||||
else if (metricsStarter.getStart() != null && metricsStarter.getStart() == false)
|
else if (metricsStarter.getStart() != null && metricsStarter.getStart() == false)
|
||||||
{
|
{
|
||||||
@@ -347,6 +341,50 @@ public class Essentials extends JavaPlugin implements IEssentials
|
|||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
|
public IUser getUser(final Object base)
|
||||||
|
{
|
||||||
|
if (base instanceof Player)
|
||||||
|
{
|
||||||
|
return getUser((Player)base);
|
||||||
|
}
|
||||||
|
if (base instanceof String)
|
||||||
|
{
|
||||||
|
final IUser user = userMap.getUser((String)base);
|
||||||
|
if (user != null && user.getBase() instanceof IOfflinePlayer)
|
||||||
|
{
|
||||||
|
((IOfflinePlayer)user.getBase()).setName((String)base);
|
||||||
|
}
|
||||||
|
return user;
|
||||||
|
}
|
||||||
|
return null;
|
||||||
|
}
|
||||||
|
|
||||||
|
private <T extends Player> IUser getUser(final T base)
|
||||||
|
{
|
||||||
|
if (base == null)
|
||||||
|
{
|
||||||
|
return null;
|
||||||
|
}
|
||||||
|
|
||||||
|
if (base instanceof IUser)
|
||||||
|
{
|
||||||
|
return (IUser)base;
|
||||||
|
}
|
||||||
|
IUser user = userMap.getUser(base.getName());
|
||||||
|
|
||||||
|
if (user == null)
|
||||||
|
{
|
||||||
|
user = new User(base, this);
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
//todo - fix this
|
||||||
|
user.update(base);
|
||||||
|
}
|
||||||
|
return user;
|
||||||
|
}
|
||||||
|
|
||||||
|
/*@Override
|
||||||
public IUser getUser(final Player player)
|
public IUser getUser(final Player player)
|
||||||
{
|
{
|
||||||
return userMap.getUser(player);
|
return userMap.getUser(player);
|
||||||
@@ -357,7 +395,7 @@ public class Essentials extends JavaPlugin implements IEssentials
|
|||||||
{
|
{
|
||||||
return userMap.getUser(playerName);
|
return userMap.getUser(playerName);
|
||||||
}
|
}
|
||||||
|
*/
|
||||||
@Override
|
@Override
|
||||||
public World getWorld(final String name)
|
public World getWorld(final String name)
|
||||||
{
|
{
|
||||||
|
@@ -9,6 +9,7 @@ import com.earth2me.essentials.user.UserData.TimestampType;
|
|||||||
import java.util.HashSet;
|
import java.util.HashSet;
|
||||||
import java.util.Iterator;
|
import java.util.Iterator;
|
||||||
import java.util.LinkedList;
|
import java.util.LinkedList;
|
||||||
|
import java.util.List;
|
||||||
import java.util.Set;
|
import java.util.Set;
|
||||||
import java.util.logging.Level;
|
import java.util.logging.Level;
|
||||||
import org.bukkit.entity.Player;
|
import org.bukkit.entity.Player;
|
||||||
|
@@ -240,14 +240,15 @@ public class Jails extends AsyncStorageObjectHolder<com.earth2me.essentials.sett
|
|||||||
final Entity damager = event.getDamager();
|
final Entity damager = event.getDamager();
|
||||||
if (damager.getType() == EntityType.PLAYER)
|
if (damager.getType() == EntityType.PLAYER)
|
||||||
{
|
{
|
||||||
final User user = ess.getUser(damager);
|
final IUser user = ess.getUser(damager);
|
||||||
if (user != null && user.isJailed())
|
if (user != null && user.getData().isJailed())
|
||||||
{
|
{
|
||||||
event.setCancelled(true);
|
event.setCancelled(true);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
private class JailPlayerListener implements Listener
|
private class JailPlayerListener implements Listener
|
||||||
{
|
{
|
||||||
@EventHandler(priority = EventPriority.LOW, ignoreCancelled = true)
|
@EventHandler(priority = EventPriority.LOW, ignoreCancelled = true)
|
||||||
@@ -349,3 +350,4 @@ public class Jails extends AsyncStorageObjectHolder<com.earth2me.essentials.sett
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
}
|
||||||
|
@@ -14,6 +14,8 @@ import org.bukkit.inventory.ItemStack;
|
|||||||
|
|
||||||
public class Kits extends AsyncStorageObjectHolder<com.earth2me.essentials.settings.Kits> implements IKits
|
public class Kits extends AsyncStorageObjectHolder<com.earth2me.essentials.settings.Kits> implements IKits
|
||||||
{
|
{
|
||||||
|
|
||||||
|
|
||||||
public Kits(final IEssentials ess)
|
public Kits(final IEssentials ess)
|
||||||
{
|
{
|
||||||
super(ess, com.earth2me.essentials.settings.Kits.class);
|
super(ess, com.earth2me.essentials.settings.Kits.class);
|
||||||
@@ -87,4 +89,16 @@ public class Kits extends AsyncStorageObjectHolder<com.earth2me.essentials.setti
|
|||||||
{
|
{
|
||||||
return getData().getKits().isEmpty();
|
return getData().getKits().isEmpty();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public void finishRead()
|
||||||
|
{
|
||||||
|
throw new UnsupportedOperationException("Not supported yet.");
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public void finishWrite()
|
||||||
|
{
|
||||||
|
throw new UnsupportedOperationException("Not supported yet.");
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
@@ -23,6 +23,7 @@ import org.bukkit.event.player.PlayerTeleportEvent.TeleportCause;
|
|||||||
|
|
||||||
public class Teleport implements Runnable, ITeleport
|
public class Teleport implements Runnable, ITeleport
|
||||||
{
|
{
|
||||||
|
|
||||||
private static final double MOVE_CONSTANT = 0.3;
|
private static final double MOVE_CONSTANT = 0.3;
|
||||||
|
|
||||||
|
|
||||||
|
@@ -1,9 +1,10 @@
|
|||||||
package com.earth2me.essentials.api;
|
package com.earth2me.essentials.api;
|
||||||
|
|
||||||
import com.earth2me.essentials.listener.TntExplodeListener;
|
import com.earth2me.essentials.EssentialsTimer;
|
||||||
import com.earth2me.essentials.economy.register.Methods;
|
import com.earth2me.essentials.economy.register.Methods;
|
||||||
|
import com.earth2me.essentials.listener.TntExplodeListener;
|
||||||
|
import java.util.List;
|
||||||
import org.bukkit.World;
|
import org.bukkit.World;
|
||||||
import org.bukkit.entity.Player;
|
|
||||||
import org.bukkit.plugin.Plugin;
|
import org.bukkit.plugin.Plugin;
|
||||||
|
|
||||||
|
|
||||||
@@ -11,9 +12,7 @@ public interface IEssentials extends Plugin
|
|||||||
{
|
{
|
||||||
void addReloadListener(IReload listener);
|
void addReloadListener(IReload listener);
|
||||||
|
|
||||||
IUser getUser(Player player);
|
IUser getUser(final Object base);
|
||||||
|
|
||||||
IUser getUser(String playerName);
|
|
||||||
|
|
||||||
int broadcastMessage(IUser sender, String message);
|
int broadcastMessage(IUser sender, String message);
|
||||||
|
|
||||||
@@ -61,4 +60,8 @@ public interface IEssentials extends Plugin
|
|||||||
void removeReloadListener(IReload groups);
|
void removeReloadListener(IReload groups);
|
||||||
|
|
||||||
IEconomy getEconomy();
|
IEconomy getEconomy();
|
||||||
|
|
||||||
|
List<String> getVanishedPlayers();
|
||||||
|
|
||||||
|
EssentialsTimer getTimer();
|
||||||
}
|
}
|
||||||
|
@@ -18,7 +18,7 @@ public interface ITeleport
|
|||||||
|
|
||||||
void teleport(Entity entity, Trade chargeFor, TeleportCause cause) throws Exception;
|
void teleport(Entity entity, Trade chargeFor, TeleportCause cause) throws Exception;
|
||||||
|
|
||||||
void home(IUser player, String toLowerCase, Trade charge) throws Exception;
|
void home(Location loc, Trade chargeFor) throws Exception;
|
||||||
|
|
||||||
void respawn(Trade charge, TeleportCause teleportCause) throws Exception;
|
void respawn(Trade charge, TeleportCause teleportCause) throws Exception;
|
||||||
|
|
||||||
|
@@ -50,6 +50,8 @@ public interface IUser extends Player, IStorageObjectHolder<UserData>, IReload,
|
|||||||
|
|
||||||
void updateDisplayName();
|
void updateDisplayName();
|
||||||
|
|
||||||
|
void setDisplayNick();
|
||||||
|
|
||||||
boolean checkJailTimeout(long currentTime);
|
boolean checkJailTimeout(long currentTime);
|
||||||
|
|
||||||
boolean checkMuteTimeout(long currentTime);
|
boolean checkMuteTimeout(long currentTime);
|
||||||
@@ -107,4 +109,10 @@ public interface IUser extends Player, IStorageObjectHolder<UserData>, IReload,
|
|||||||
public void updateMoneyCache(double userMoney);
|
public void updateMoneyCache(double userMoney);
|
||||||
|
|
||||||
public boolean canAfford(double amount, boolean b);
|
public boolean canAfford(double amount, boolean b);
|
||||||
|
|
||||||
|
boolean isVanished();
|
||||||
|
|
||||||
|
void resetInvulnerabilityAfterTeleport();
|
||||||
|
|
||||||
|
void toggleVanished();
|
||||||
}
|
}
|
||||||
|
@@ -1,8 +1,9 @@
|
|||||||
package com.earth2me.essentials.commands;
|
package com.earth2me.essentials.commands;
|
||||||
|
|
||||||
import static com.earth2me.essentials.I18n._;
|
import static com.earth2me.essentials.I18n._;
|
||||||
import com.earth2me.essentials.economy.Trade;
|
|
||||||
import com.earth2me.essentials.api.IUser;
|
import com.earth2me.essentials.api.IUser;
|
||||||
|
import com.earth2me.essentials.economy.Trade;
|
||||||
|
import com.earth2me.essentials.permissions.WorldPermissions;
|
||||||
|
|
||||||
|
|
||||||
public class Commandback extends EssentialsCommand
|
public class Commandback extends EssentialsCommand
|
||||||
@@ -10,12 +11,14 @@ public class Commandback extends EssentialsCommand
|
|||||||
@Override
|
@Override
|
||||||
protected void run(final IUser user, final String commandLabel, final String[] args) throws Exception
|
protected void run(final IUser user, final String commandLabel, final String[] args) throws Exception
|
||||||
{
|
{
|
||||||
if (user.getWorld() != user.getLastLocation().getWorld() && ess.getSettings().isWorldTeleportPermissions()
|
final String worldName = user.getData().getLastLocation().getWorldName();
|
||||||
&& !user.isAuthorized("essentials.world." + user.getLastLocation().getWorld().getName()))
|
if (user.getWorld() != user.getData().getLastLocation().getBukkitLocation().getWorld() && ess.getSettings().getData().getGeneral().isWorldTeleportPermissions()
|
||||||
|
&& WorldPermissions.getPermission(worldName))
|
||||||
{
|
{
|
||||||
throw new Exception(_("noPerm", "essentials.world." + user.getLastLocation().getWorld().getName()));
|
throw new Exception(_("noPerm", "essentials.world." + worldName));
|
||||||
}
|
}
|
||||||
final Trade charge = new Trade(this.getName(), ess);
|
//tod - verify
|
||||||
|
final Trade charge = new Trade(this.toString(), ess);
|
||||||
charge.isAffordableFor(user);
|
charge.isAffordableFor(user);
|
||||||
user.sendMessage(_("backUsageMsg"));
|
user.sendMessage(_("backUsageMsg"));
|
||||||
user.getTeleport().back(charge);
|
user.getTeleport().back(charge);
|
||||||
|
@@ -10,12 +10,12 @@ public class Commandbackup extends EssentialsCommand
|
|||||||
@Override
|
@Override
|
||||||
protected void run(final CommandSender sender, final String commandLabel, final String[] args) throws Exception
|
protected void run(final CommandSender sender, final String commandLabel, final String[] args) throws Exception
|
||||||
{
|
{
|
||||||
final Backup backup = ess.getBackup();
|
final IBackup backup = ess.getBackup();
|
||||||
if (backup == null)
|
if (backup == null)
|
||||||
{
|
{
|
||||||
throw new Exception(_("backupDisabled"));
|
throw new Exception(_("backupDisabled"));
|
||||||
}
|
}
|
||||||
final String command = ess.getSettings().getBackupCommand();
|
final String command = ess.getSettings().getData().getCommands().getBackupCommand();
|
||||||
if (command == null || "".equals(command) || "save-all".equalsIgnoreCase(command))
|
if (command == null || "".equals(command) || "save-all".equalsIgnoreCase(command))
|
||||||
{
|
{
|
||||||
throw new Exception(_("backupDisabled"));
|
throw new Exception(_("backupDisabled"));
|
||||||
|
@@ -50,7 +50,7 @@ public class Commandban extends EssentialsCommand
|
|||||||
else
|
else
|
||||||
{
|
{
|
||||||
banReason = _("defaultBanReason");
|
banReason = _("defaultBanReason");
|
||||||
user.setBanReason("");
|
user.getData().getBan().setReason("");
|
||||||
}
|
}
|
||||||
|
|
||||||
user.setBanned(true);
|
user.setBanned(true);
|
||||||
|
@@ -198,4 +198,3 @@ public class Commandessentials extends EssentialsCommand
|
|||||||
sender.sendMessage("Unable to modify 'plugins/PluginMetrics/config.yml': " + ex.getMessage());
|
sender.sendMessage("Unable to modify 'plugins/PluginMetrics/config.yml': " + ex.getMessage());
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
|
||||||
|
@@ -1,26 +1,22 @@
|
|||||||
package com.earth2me.essentials.commands;
|
package com.earth2me.essentials.commands;
|
||||||
|
|
||||||
import static com.earth2me.essentials.I18n._;
|
import static com.earth2me.essentials.I18n._;
|
||||||
import com.earth2me.essentials.User;
|
import com.earth2me.essentials.user.User;
|
||||||
import com.earth2me.essentials.Util;
|
import com.earth2me.essentials.utils.Util;
|
||||||
import com.earth2me.essentials.craftbukkit.SetExpFix;
|
import com.earth2me.essentials.craftbukkit.SetExpFix;
|
||||||
import org.bukkit.Server;
|
import org.bukkit.command.CommandSender;
|
||||||
import org.bukkit.entity.Player;
|
import org.bukkit.entity.Player;
|
||||||
|
|
||||||
|
|
||||||
public class Commandexp extends EssentialsCommand
|
public class Commandexp extends EssentialsCommand
|
||||||
{
|
{
|
||||||
public Commandexp()
|
//todo - fix this
|
||||||
{
|
|
||||||
super("exp");
|
|
||||||
}
|
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public void run(final Server server, final User user, final String commandLabel, final String[] args) throws Exception
|
public void run(final CommandSender sender, final String commandLabel, final String[] args) throws Exception
|
||||||
{
|
{
|
||||||
if (args.length == 0)
|
if (args.length == 0 && sender instanceof Player)
|
||||||
{
|
{
|
||||||
showExp(user, user);
|
showExp((User)sender, (User)sender);
|
||||||
}
|
}
|
||||||
else if (args[0].equalsIgnoreCase("set") && user.isAuthorized("essentials.exp.set"))
|
else if (args[0].equalsIgnoreCase("set") && user.isAuthorized("essentials.exp.set"))
|
||||||
{
|
{
|
||||||
|
@@ -1,9 +1,7 @@
|
|||||||
package com.earth2me.essentials.commands;
|
package com.earth2me.essentials.commands;
|
||||||
|
|
||||||
import static com.earth2me.essentials.I18n._;
|
import static com.earth2me.essentials.I18n._;
|
||||||
import com.earth2me.essentials.User;
|
import com.earth2me.essentials.api.IUser;
|
||||||
import java.util.Locale;
|
|
||||||
import org.bukkit.GameMode;
|
|
||||||
import org.bukkit.Server;
|
import org.bukkit.Server;
|
||||||
import org.bukkit.command.CommandSender;
|
import org.bukkit.command.CommandSender;
|
||||||
import org.bukkit.entity.Player;
|
import org.bukkit.entity.Player;
|
||||||
@@ -11,13 +9,8 @@ import org.bukkit.entity.Player;
|
|||||||
|
|
||||||
public class Commandfly extends EssentialsCommand
|
public class Commandfly extends EssentialsCommand
|
||||||
{
|
{
|
||||||
public Commandfly()
|
|
||||||
{
|
|
||||||
super("fly");
|
|
||||||
}
|
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
protected void run(final Server server, final CommandSender sender, final String commandLabel, final String[] args) throws Exception
|
protected void run(final CommandSender sender, final String commandLabel, final String[] args) throws Exception
|
||||||
{
|
{
|
||||||
if (args.length < 1)
|
if (args.length < 1)
|
||||||
{
|
{
|
||||||
@@ -28,8 +21,9 @@ public class Commandfly extends EssentialsCommand
|
|||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
protected void run(final Server server, final User user, final String commandLabel, final String[] args) throws Exception
|
protected void run(final IUser user, final String commandLabel, final String[] args) throws Exception
|
||||||
{
|
{
|
||||||
|
//todo permissions
|
||||||
if (args.length > 0 && args[0].trim().length() > 2 && user.isAuthorized("essentials.fly.others"))
|
if (args.length > 0 && args[0].trim().length() > 2 && user.isAuthorized("essentials.fly.others"))
|
||||||
{
|
{
|
||||||
flyOtherPlayers(server, user, args[0]);
|
flyOtherPlayers(server, user, args[0]);
|
||||||
@@ -47,7 +41,7 @@ public class Commandfly extends EssentialsCommand
|
|||||||
{
|
{
|
||||||
for (Player matchPlayer : server.matchPlayer(name))
|
for (Player matchPlayer : server.matchPlayer(name))
|
||||||
{
|
{
|
||||||
final User player = ess.getUser(matchPlayer);
|
final IUser player = ess.getUser(matchPlayer);
|
||||||
if (player.isHidden())
|
if (player.isHidden())
|
||||||
{
|
{
|
||||||
continue;
|
continue;
|
||||||
|
@@ -19,7 +19,7 @@ public class Commandgamemode extends EssentialsCommand
|
|||||||
throw new NotEnoughArgumentsException();
|
throw new NotEnoughArgumentsException();
|
||||||
}
|
}
|
||||||
|
|
||||||
gamemodeOtherPlayers(sender, args[0]);
|
gamemodeOtherPlayers(sender, args);
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
@@ -27,7 +27,7 @@ public class Commandgamemode extends EssentialsCommand
|
|||||||
{
|
{
|
||||||
if (args.length > 0 && !args[0].trim().isEmpty() && Permissions.GAMEMODE_OTHERS.isAuthorized(user))
|
if (args.length > 0 && !args[0].trim().isEmpty() && Permissions.GAMEMODE_OTHERS.isAuthorized(user))
|
||||||
{
|
{
|
||||||
gamemodeOtherPlayers(user, args[0]);
|
gamemodeOtherPlayers(user, args);
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -35,7 +35,7 @@ public class Commandgamemode extends EssentialsCommand
|
|||||||
user.sendMessage(_("gameMode", _(user.getGameMode().toString().toLowerCase(Locale.ENGLISH)), user.getDisplayName()));
|
user.sendMessage(_("gameMode", _(user.getGameMode().toString().toLowerCase(Locale.ENGLISH)), user.getDisplayName()));
|
||||||
}
|
}
|
||||||
|
|
||||||
private void gamemodeOtherPlayers(final CommandSender sender, final String name)
|
private void gamemodeOtherPlayers(final CommandSender sender, final String args[])
|
||||||
{
|
{
|
||||||
for (Player matchPlayer : server.matchPlayer(args[0]))
|
for (Player matchPlayer : server.matchPlayer(args[0]))
|
||||||
{
|
{
|
||||||
|
@@ -13,6 +13,7 @@ public class Commandgetpos extends EssentialsCommand
|
|||||||
{
|
{
|
||||||
if (args.length > 0 && Permissions.GETPOS_OTHERS.isAuthorized(user))
|
if (args.length > 0 && Permissions.GETPOS_OTHERS.isAuthorized(user))
|
||||||
{
|
{
|
||||||
|
//todo permissions
|
||||||
final IUser otherUser = getPlayer(args, 0);
|
final IUser otherUser = getPlayer(args, 0);
|
||||||
if (!otherUser.isHidden() || user.isAuthorized("essentials.list.hidden"))
|
if (!otherUser.isHidden() || user.isAuthorized("essentials.list.hidden"))
|
||||||
{
|
{
|
||||||
|
@@ -1,9 +1,9 @@
|
|||||||
package com.earth2me.essentials.commands;
|
package com.earth2me.essentials.commands;
|
||||||
|
|
||||||
|
import static com.earth2me.essentials.I18n._;
|
||||||
import com.earth2me.essentials.api.IUser;
|
import com.earth2me.essentials.api.IUser;
|
||||||
import com.earth2me.essentials.permissions.GivePermissions;
|
import com.earth2me.essentials.permissions.GivePermissions;
|
||||||
import static com.earth2me.essentials.I18n._;
|
import com.earth2me.essentials.utils.Util;
|
||||||
import com.earth2me.essentials.Util;
|
|
||||||
import java.util.Locale;
|
import java.util.Locale;
|
||||||
import org.bukkit.ChatColor;
|
import org.bukkit.ChatColor;
|
||||||
import org.bukkit.Material;
|
import org.bukkit.Material;
|
||||||
|
@@ -1,22 +1,16 @@
|
|||||||
package com.earth2me.essentials.commands;
|
package com.earth2me.essentials.commands;
|
||||||
|
|
||||||
import static com.earth2me.essentials.I18n._;
|
import static com.earth2me.essentials.I18n._;
|
||||||
import com.earth2me.essentials.User;
|
import com.earth2me.essentials.api.IUser;
|
||||||
import org.bukkit.Material;
|
import org.bukkit.Material;
|
||||||
import org.bukkit.Server;
|
|
||||||
import org.bukkit.inventory.ItemStack;
|
import org.bukkit.inventory.ItemStack;
|
||||||
import org.bukkit.inventory.PlayerInventory;
|
import org.bukkit.inventory.PlayerInventory;
|
||||||
|
|
||||||
|
|
||||||
public class Commandhat extends EssentialsCommand
|
public class Commandhat extends EssentialsCommand
|
||||||
{
|
{
|
||||||
public Commandhat()
|
|
||||||
{
|
|
||||||
super("hat");
|
|
||||||
}
|
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
protected void run(Server server, User user, String commandLabel, String[] args) throws Exception
|
protected void run(IUser user, String commandLabel, String[] args) throws Exception
|
||||||
{
|
{
|
||||||
if (user.getItemInHand().getType() != Material.AIR)
|
if (user.getItemInHand().getType() != Material.AIR)
|
||||||
{
|
{
|
||||||
|
@@ -1,16 +1,14 @@
|
|||||||
package com.earth2me.essentials.commands;
|
package com.earth2me.essentials.commands;
|
||||||
|
|
||||||
import com.earth2me.essentials.utils.textreader.TextInput;
|
|
||||||
import com.earth2me.essentials.utils.textreader.IText;
|
|
||||||
import com.earth2me.essentials.utils.textreader.TextPager;
|
|
||||||
import com.earth2me.essentials.utils.textreader.HelpInput;
|
|
||||||
import com.earth2me.essentials.utils.textreader.KeywordReplacer;
|
|
||||||
import static com.earth2me.essentials.I18n._;
|
import static com.earth2me.essentials.I18n._;
|
||||||
import com.earth2me.essentials.utils.Util;
|
|
||||||
import com.earth2me.essentials.api.IUser;
|
import com.earth2me.essentials.api.IUser;
|
||||||
import com.earth2me.essentials.textreader.*;
|
import com.earth2me.essentials.utils.Util;
|
||||||
|
import com.earth2me.essentials.utils.textreader.HelpInput;
|
||||||
|
import com.earth2me.essentials.utils.textreader.IText;
|
||||||
|
import com.earth2me.essentials.utils.textreader.KeywordReplacer;
|
||||||
|
import com.earth2me.essentials.utils.textreader.TextInput;
|
||||||
|
import com.earth2me.essentials.utils.textreader.TextPager;
|
||||||
import java.util.Locale;
|
import java.util.Locale;
|
||||||
import org.bukkit.Server;
|
|
||||||
import org.bukkit.command.CommandSender;
|
import org.bukkit.command.CommandSender;
|
||||||
|
|
||||||
|
|
||||||
|
@@ -1,10 +1,10 @@
|
|||||||
package com.earth2me.essentials.commands;
|
package com.earth2me.essentials.commands;
|
||||||
|
|
||||||
import static com.earth2me.essentials.I18n._;
|
import static com.earth2me.essentials.I18n._;
|
||||||
import com.earth2me.essentials.economy.Trade;
|
|
||||||
import com.earth2me.essentials.utils.Util;
|
|
||||||
import com.earth2me.essentials.api.IUser;
|
import com.earth2me.essentials.api.IUser;
|
||||||
|
import com.earth2me.essentials.economy.Trade;
|
||||||
import com.earth2me.essentials.permissions.Permissions;
|
import com.earth2me.essentials.permissions.Permissions;
|
||||||
|
import com.earth2me.essentials.utils.Util;
|
||||||
import java.util.List;
|
import java.util.List;
|
||||||
import java.util.Locale;
|
import java.util.Locale;
|
||||||
import org.bukkit.Location;
|
import org.bukkit.Location;
|
||||||
@@ -89,14 +89,14 @@ public class Commandhome extends EssentialsCommand
|
|||||||
throw new NoChargeException();
|
throw new NoChargeException();
|
||||||
}
|
}
|
||||||
|
|
||||||
private void goHome(final User user, final User player, final String home, final Trade charge) throws Exception
|
private void goHome(final IUser user, final IUser player, final String home, final Trade charge) throws Exception
|
||||||
{
|
{
|
||||||
final Location loc = player.getHome(home);
|
final Location loc = player.getHome(home);
|
||||||
if (loc == null)
|
if (loc == null)
|
||||||
{
|
{
|
||||||
throw new NotEnoughArgumentsException();
|
throw new NotEnoughArgumentsException();
|
||||||
}
|
}
|
||||||
if (user.getWorld() != loc.getWorld() && ess.getSettings().isWorldHomePermissions()
|
if (user.getWorld() != loc.getWorld() && ess.getSettings().getData().getGeneral().isWorldHomePermissions()
|
||||||
&& !user.isAuthorized("essentials.world." + loc.getWorld().getName()))
|
&& !user.isAuthorized("essentials.world." + loc.getWorld().getName()))
|
||||||
{
|
{
|
||||||
throw new Exception(_("noPerm", "essentials.world." + loc.getWorld().getName()));
|
throw new Exception(_("noPerm", "essentials.world." + loc.getWorld().getName()));
|
||||||
|
@@ -1,10 +1,6 @@
|
|||||||
package com.earth2me.essentials.commands;
|
package com.earth2me.essentials.commands;
|
||||||
|
|
||||||
import static com.earth2me.essentials.I18n._;
|
|
||||||
import com.earth2me.essentials.api.IUser;
|
import com.earth2me.essentials.api.IUser;
|
||||||
import com.earth2me.essentials.user.Inventory;
|
|
||||||
import java.util.Arrays;
|
|
||||||
import org.bukkit.inventory.ItemStack;
|
|
||||||
|
|
||||||
|
|
||||||
public class Commandinvsee extends EssentialsCommand
|
public class Commandinvsee extends EssentialsCommand
|
||||||
@@ -16,7 +12,7 @@ public class Commandinvsee extends EssentialsCommand
|
|||||||
{
|
{
|
||||||
throw new NotEnoughArgumentsException();
|
throw new NotEnoughArgumentsException();
|
||||||
}
|
}
|
||||||
final User invUser = getPlayer(server, args, 0);
|
final IUser invUser = getPlayer(args, 0);
|
||||||
user.setInvSee(true);
|
user.setInvSee(true);
|
||||||
user.openInventory(invUser.getInventory());
|
user.openInventory(invUser.getInventory());
|
||||||
}
|
}
|
||||||
|
@@ -25,24 +25,20 @@ public class Commanditem extends EssentialsCommand
|
|||||||
{
|
{
|
||||||
throw new Exception(_("cantSpawnItem", itemname));
|
throw new Exception(_("cantSpawnItem", itemname));
|
||||||
}
|
}
|
||||||
|
|
||||||
try
|
try
|
||||||
{
|
{
|
||||||
stack.setAmount(Integer.parseInt(args[1]));
|
if (args.length > 1 && Integer.parseInt(args[1]) > 0)
|
||||||
}
|
|
||||||
|
|
||||||
if (args.length > 2)
|
|
||||||
{
|
|
||||||
for (int i = 2; i < args.length; i++)
|
|
||||||
{
|
{
|
||||||
stack.setAmount(Integer.parseInt(args[1]));
|
stack.setAmount(Integer.parseInt(args[1]));
|
||||||
}
|
}
|
||||||
else if (ess.getSettings().getDefaultStackSize() > 0)
|
else if (ess.getSettings().getData().getGeneral().getDefaultStacksize() > 0)
|
||||||
{
|
{
|
||||||
stack.setAmount(ess.getSettings().getDefaultStackSize());
|
stack.setAmount(ess.getSettings().getData().getGeneral().getDefaultStacksize());
|
||||||
}
|
}
|
||||||
else if (ess.getSettings().getOversizedStackSize() > 0 && user.isAuthorized("essentials.oversizedstacks"))
|
else if (ess.getSettings().getData().getGeneral().getOversizedStacksize()> 0 && user.isAuthorized("essentials.oversizedstacks"))
|
||||||
{
|
{
|
||||||
stack.setAmount(ess.getSettings().getOversizedStackSize());
|
stack.setAmount(ess.getSettings().getData().getGeneral().getOversizedStacksize());
|
||||||
}
|
}
|
||||||
if (args.length > 2)
|
if (args.length > 2)
|
||||||
{
|
{
|
||||||
|
@@ -7,7 +7,9 @@ import com.earth2me.essentials.api.IUser;
|
|||||||
import com.earth2me.essentials.permissions.KitPermissions;
|
import com.earth2me.essentials.permissions.KitPermissions;
|
||||||
import com.earth2me.essentials.settings.Kit;
|
import com.earth2me.essentials.settings.Kit;
|
||||||
import java.util.Collection;
|
import java.util.Collection;
|
||||||
|
import java.util.List;
|
||||||
import java.util.Locale;
|
import java.util.Locale;
|
||||||
|
import java.util.Map;
|
||||||
import org.bukkit.command.CommandSender;
|
import org.bukkit.command.CommandSender;
|
||||||
|
|
||||||
|
|
||||||
@@ -38,7 +40,7 @@ public class Commandkit extends EssentialsCommand
|
|||||||
}
|
}
|
||||||
else if (args.length > 1 && user.isAuthorized("essentials.kit.others"))
|
else if (args.length > 1 && user.isAuthorized("essentials.kit.others"))
|
||||||
{
|
{
|
||||||
final User userTo = getPlayer(server, args, 1, true);
|
final IUser userTo = getPlayer(args, 1, true);
|
||||||
final String kitName = Util.sanitizeString(args[0].toLowerCase(Locale.ENGLISH));
|
final String kitName = Util.sanitizeString(args[0].toLowerCase(Locale.ENGLISH));
|
||||||
giveKit(userTo, user, kitName);
|
giveKit(userTo, user, kitName);
|
||||||
}
|
}
|
||||||
@@ -50,7 +52,7 @@ public class Commandkit extends EssentialsCommand
|
|||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public void run(final Server server, final CommandSender sender, final String commandLabel, final String[] args) throws Exception
|
public void run(final CommandSender sender, final String commandLabel, final String[] args) throws Exception
|
||||||
{
|
{
|
||||||
if (args.length < 2)
|
if (args.length < 2)
|
||||||
{
|
{
|
||||||
@@ -59,14 +61,13 @@ public class Commandkit extends EssentialsCommand
|
|||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
final User userTo = getPlayer(server, args, 1, true);
|
final IUser userTo = getPlayer(args, 1, true);
|
||||||
final String kitName = args[0].toLowerCase(Locale.ENGLISH);
|
final String kitName = args[0].toLowerCase(Locale.ENGLISH);
|
||||||
final Kit kit = ess.getKits().getKit(kitName);
|
final Kit kit = ess.getKits().getKit(kitName);
|
||||||
|
final List<String> items = Kit.getItems(userTo, kit);
|
||||||
|
Kit.expandItems(ess,userTo,items);
|
||||||
|
|
||||||
|
|
||||||
if (!KitPermissions.getPermission(kitName).isAuthorized(user))
|
|
||||||
{
|
|
||||||
throw new Exception(_("noKitPermission", "essentials.kit." + kitName));
|
|
||||||
}
|
|
||||||
|
|
||||||
//TODO: Check kit delay
|
//TODO: Check kit delay
|
||||||
sender.sendMessage(_("kitGive", kitName));
|
sender.sendMessage(_("kitGive", kitName));
|
||||||
@@ -86,7 +87,7 @@ public class Commandkit extends EssentialsCommand
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
private void giveKit(User userTo, User userFrom, String kitName) throws Exception
|
private void giveKit(IUser userTo, IUser userFrom, String kitName) throws Exception
|
||||||
{
|
{
|
||||||
final Map<String, Object> kit = ess.getSettings().getKit(kitName);
|
final Map<String, Object> kit = ess.getSettings().getKit(kitName);
|
||||||
|
|
||||||
|
@@ -39,7 +39,7 @@ public class Commandspawner extends EssentialsCommand
|
|||||||
{
|
{
|
||||||
throw new Exception(_("invalidMob"));
|
throw new Exception(_("invalidMob"));
|
||||||
}
|
}
|
||||||
if (ess.getSettings().getProtectPreventSpawn(mob.getType().toString().toLowerCase(Locale.ENGLISH)))
|
if (ess.getSettings().getData().getGeneral().getPreventSpawn(mob.getType().toString().toLowerCase(Locale.ENGLISH)))
|
||||||
{
|
{
|
||||||
throw new Exception(_("disabledToSpawnMob"));
|
throw new Exception(_("disabledToSpawnMob"));
|
||||||
}
|
}
|
||||||
|
@@ -1,10 +1,10 @@
|
|||||||
package com.earth2me.essentials.commands;
|
package com.earth2me.essentials.commands;
|
||||||
|
|
||||||
import com.earth2me.essentials.utils.DescParseTickFormat;
|
|
||||||
import static com.earth2me.essentials.I18n._;
|
import static com.earth2me.essentials.I18n._;
|
||||||
import com.earth2me.essentials.api.IUser;
|
import com.earth2me.essentials.api.IUser;
|
||||||
import com.earth2me.essentials.permissions.Permissions;
|
import com.earth2me.essentials.permissions.Permissions;
|
||||||
import com.earth2me.essentials.Util;
|
import com.earth2me.essentials.utils.DescParseTickFormat;
|
||||||
|
import com.earth2me.essentials.utils.Util;
|
||||||
import java.util.*;
|
import java.util.*;
|
||||||
import org.bukkit.World;
|
import org.bukkit.World;
|
||||||
import org.bukkit.command.CommandSender;
|
import org.bukkit.command.CommandSender;
|
||||||
|
@@ -17,7 +17,7 @@ public class Commandtpo extends EssentialsCommand
|
|||||||
throw new NotEnoughArgumentsException();
|
throw new NotEnoughArgumentsException();
|
||||||
|
|
||||||
case 1:
|
case 1:
|
||||||
final User player = getPlayer(server, args, 0, true);
|
final IUser player = getPlayer(args, 0, true);
|
||||||
if (!player.isOnline() || (player.isHidden() && !user.isAuthorized("essentials.teleport.hidden")))
|
if (!player.isOnline() || (player.isHidden() && !user.isAuthorized("essentials.teleport.hidden")))
|
||||||
{
|
{
|
||||||
throw new NoSuchFieldException(_("playerNotFound"));
|
throw new NoSuchFieldException(_("playerNotFound"));
|
||||||
@@ -37,8 +37,8 @@ public class Commandtpo extends EssentialsCommand
|
|||||||
throw new Exception(_("noPerm", "essentials.tp.others"));
|
throw new Exception(_("noPerm", "essentials.tp.others"));
|
||||||
}
|
}
|
||||||
user.sendMessage(_("teleporting"));
|
user.sendMessage(_("teleporting"));
|
||||||
final User target = getPlayer(server, args, 0, true);
|
final IUser target = getPlayer(args, 0, true);
|
||||||
final User toPlayer = getPlayer(server, args, 1, true);
|
final IUser toPlayer = getPlayer(args, 1, true);
|
||||||
|
|
||||||
if (!target.isOnline() || !toPlayer.isOnline()
|
if (!target.isOnline() || !toPlayer.isOnline()
|
||||||
|| ((target.isHidden() || toPlayer.isHidden()) && !user.isAuthorized("essentials.teleport.hidden")))
|
|| ((target.isHidden() || toPlayer.isHidden()) && !user.isAuthorized("essentials.teleport.hidden")))
|
||||||
|
@@ -38,14 +38,14 @@ public class Commandtppos extends EssentialsCommand
|
|||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public void run(final Server server, final CommandSender sender, final String commandLabel, final String[] args) throws Exception
|
public void run(final CommandSender sender, final String commandLabel, final String[] args) throws Exception
|
||||||
{
|
{
|
||||||
if (args.length < 4)
|
if (args.length < 4)
|
||||||
{
|
{
|
||||||
throw new NotEnoughArgumentsException();
|
throw new NotEnoughArgumentsException();
|
||||||
}
|
}
|
||||||
|
|
||||||
User user = ess.getUser(server.getPlayer(args[0]));
|
IUser user = ess.getUser(server.getPlayer(args[0]));
|
||||||
final int x = Integer.parseInt(args[1]);
|
final int x = Integer.parseInt(args[1]);
|
||||||
final int y = Integer.parseInt(args[2]);
|
final int y = Integer.parseInt(args[2]);
|
||||||
final int z = Integer.parseInt(args[3]);
|
final int z = Integer.parseInt(args[3]);
|
||||||
|
@@ -1,21 +1,14 @@
|
|||||||
package com.earth2me.essentials.commands;
|
package com.earth2me.essentials.commands;
|
||||||
|
|
||||||
import static com.earth2me.essentials.I18n._;
|
import static com.earth2me.essentials.I18n._;
|
||||||
import com.earth2me.essentials.User;
|
import com.earth2me.essentials.api.IUser;
|
||||||
import org.bukkit.ChatColor;
|
|
||||||
import org.bukkit.Server;
|
|
||||||
import org.bukkit.entity.Player;
|
import org.bukkit.entity.Player;
|
||||||
|
|
||||||
|
|
||||||
public class Commandvanish extends EssentialsCommand
|
public class Commandvanish extends EssentialsCommand
|
||||||
{
|
{
|
||||||
public Commandvanish()
|
|
||||||
{
|
|
||||||
super("vanish");
|
|
||||||
}
|
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
protected void run(Server server, User user, String commandLabel, String[] args) throws Exception
|
protected void run(IUser user, String commandLabel, String[] args) throws Exception
|
||||||
{
|
{
|
||||||
if (user.isVanished())
|
if (user.isVanished())
|
||||||
{
|
{
|
||||||
|
@@ -1,4 +1,5 @@
|
|||||||
package com.earth2me.essentials.commands;
|
package com.earth2me.essentials.commands;
|
||||||
|
import static com.earth2me.essentials.I18n._;
|
||||||
|
|
||||||
|
|
||||||
public class WarpNotFoundException extends Exception
|
public class WarpNotFoundException extends Exception
|
||||||
|
@@ -8,6 +8,20 @@ import java.io.IOException;
|
|||||||
|
|
||||||
public class MoneyHolder extends AsyncStorageObjectHolder<Money>
|
public class MoneyHolder extends AsyncStorageObjectHolder<Money>
|
||||||
{
|
{
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public void finishRead()
|
||||||
|
{
|
||||||
|
throw new UnsupportedOperationException("Not supported yet.");
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public void finishWrite()
|
||||||
|
{
|
||||||
|
throw new UnsupportedOperationException("Not supported yet.");
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
public MoneyHolder(IEssentials ess)
|
public MoneyHolder(IEssentials ess)
|
||||||
{
|
{
|
||||||
super(ess, Money.class);
|
super(ess, Money.class);
|
||||||
|
@@ -15,6 +15,20 @@ import org.bukkit.material.MaterialData;
|
|||||||
|
|
||||||
public class WorthHolder extends AsyncStorageObjectHolder<com.earth2me.essentials.economy.Worth> implements IWorth
|
public class WorthHolder extends AsyncStorageObjectHolder<com.earth2me.essentials.economy.Worth> implements IWorth
|
||||||
{
|
{
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public void finishRead()
|
||||||
|
{
|
||||||
|
throw new UnsupportedOperationException("Not supported yet.");
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public void finishWrite()
|
||||||
|
{
|
||||||
|
throw new UnsupportedOperationException("Not supported yet.");
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
public WorthHolder(final IEssentials ess)
|
public WorthHolder(final IEssentials ess)
|
||||||
{
|
{
|
||||||
super(ess, com.earth2me.essentials.economy.Worth.class);
|
super(ess, com.earth2me.essentials.economy.Worth.class);
|
||||||
|
@@ -1,7 +1,6 @@
|
|||||||
package com.earth2me.essentials.listener;
|
package com.earth2me.essentials.listener;
|
||||||
|
|
||||||
import com.earth2me.essentials.api.IEssentials;
|
import com.earth2me.essentials.api.IEssentials;
|
||||||
import com.earth2me.essentials.craftbukkit.FakeExplosion;
|
|
||||||
import java.util.concurrent.atomic.AtomicBoolean;
|
import java.util.concurrent.atomic.AtomicBoolean;
|
||||||
import org.bukkit.entity.LivingEntity;
|
import org.bukkit.entity.LivingEntity;
|
||||||
import org.bukkit.event.EventHandler;
|
import org.bukkit.event.EventHandler;
|
||||||
|
@@ -1,7 +1,7 @@
|
|||||||
package com.earth2me.essentials.metrics;
|
package com.earth2me.essentials.metrics;
|
||||||
|
|
||||||
import com.earth2me.essentials.IEssentials;
|
import com.earth2me.essentials.api.IEssentials;
|
||||||
import com.earth2me.essentials.User;
|
import com.earth2me.essentials.api.IUser;
|
||||||
import java.util.logging.Level;
|
import java.util.logging.Level;
|
||||||
import org.bukkit.Server;
|
import org.bukkit.Server;
|
||||||
import org.bukkit.entity.Player;
|
import org.bukkit.entity.Player;
|
||||||
@@ -27,7 +27,7 @@ public class MetricsListener implements Listener
|
|||||||
@EventHandler(priority = EventPriority.MONITOR)
|
@EventHandler(priority = EventPriority.MONITOR)
|
||||||
public void onPlayerJoin(final PlayerJoinEvent event)
|
public void onPlayerJoin(final PlayerJoinEvent event)
|
||||||
{
|
{
|
||||||
final User player = ess.getUser(event.getPlayer());
|
final IUser player = ess.getUser(event.getPlayer());
|
||||||
if (ess.getSettings().isMetricsEnabled() == false && (player.isAuthorized("essentials.essentials") || player.isAuthorized("bukkit.broadcast.admin")))
|
if (ess.getSettings().isMetricsEnabled() == false && (player.isAuthorized("essentials.essentials") || player.isAuthorized("bukkit.broadcast.admin")))
|
||||||
{
|
{
|
||||||
player.sendMessage("PluginMetrics collects minimal statistic data, starting in about 5 minutes.");
|
player.sendMessage("PluginMetrics collects minimal statistic data, starting in about 5 minutes.");
|
||||||
|
@@ -1,6 +1,6 @@
|
|||||||
package com.earth2me.essentials.metrics;
|
package com.earth2me.essentials.metrics;
|
||||||
|
|
||||||
import com.earth2me.essentials.IEssentials;
|
import com.earth2me.essentials.api.IEssentials;
|
||||||
import com.earth2me.essentials.metrics.Metrics.Graph;
|
import com.earth2me.essentials.metrics.Metrics.Graph;
|
||||||
import com.earth2me.essentials.metrics.Metrics.Plotter;
|
import com.earth2me.essentials.metrics.Metrics.Plotter;
|
||||||
import com.earth2me.essentials.register.payment.Method;
|
import com.earth2me.essentials.register.payment.Method;
|
||||||
|
@@ -91,7 +91,7 @@ public class GMGroups implements IRanks {
|
|||||||
public MessageFormat getChatFormat(final IUser player)
|
public MessageFormat getChatFormat(final IUser player)
|
||||||
{
|
{
|
||||||
String format = getRawChatFormat(player);
|
String format = getRawChatFormat(player);
|
||||||
format = Util.replaceColor(format);
|
format = Util.replaceFormat(format);
|
||||||
format = format.replace("{DISPLAYNAME}", "%1$s");
|
format = format.replace("{DISPLAYNAME}", "%1$s");
|
||||||
format = format.replace("{GROUP}", "{0}");
|
format = format.replace("{GROUP}", "{0}");
|
||||||
format = format.replace("{MESSAGE}", "%2$s");
|
format = format.replace("{MESSAGE}", "%2$s");
|
||||||
|
@@ -19,6 +19,18 @@ import lombok.Cleanup;
|
|||||||
|
|
||||||
public class RanksStorage extends AsyncStorageObjectHolder<Ranks> implements IRanks
|
public class RanksStorage extends AsyncStorageObjectHolder<Ranks> implements IRanks
|
||||||
{
|
{
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public void finishRead()
|
||||||
|
{
|
||||||
|
throw new UnsupportedOperationException("Not supported yet.");
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public void finishWrite()
|
||||||
|
{
|
||||||
|
throw new UnsupportedOperationException("Not supported yet.");
|
||||||
|
}
|
||||||
public RanksStorage(final IEssentials ess)
|
public RanksStorage(final IEssentials ess)
|
||||||
{
|
{
|
||||||
super(ess, Ranks.class);
|
super(ess, Ranks.class);
|
||||||
@@ -143,7 +155,7 @@ public class RanksStorage extends AsyncStorageObjectHolder<Ranks> implements IRa
|
|||||||
public MessageFormat getChatFormat(final IUser player)
|
public MessageFormat getChatFormat(final IUser player)
|
||||||
{
|
{
|
||||||
String format = getRawChatFormat(player);
|
String format = getRawChatFormat(player);
|
||||||
format = Util.replaceColor(format);
|
format = Util.replaceFormat(format);
|
||||||
format = format.replace("{DISPLAYNAME}", "%1$s");
|
format = format.replace("{DISPLAYNAME}", "%1$s");
|
||||||
format = format.replace("{GROUP}", "{0}");
|
format = format.replace("{GROUP}", "{0}");
|
||||||
format = format.replace("{MESSAGE}", "%2$s");
|
format = format.replace("{MESSAGE}", "%2$s");
|
||||||
|
@@ -72,7 +72,7 @@ public class VaultGroups implements IRanks
|
|||||||
public MessageFormat getChatFormat(final IUser player)
|
public MessageFormat getChatFormat(final IUser player)
|
||||||
{
|
{
|
||||||
String format = getRawChatFormat(player);
|
String format = getRawChatFormat(player);
|
||||||
format = Util.replaceColor(format);
|
format = Util.replaceFormat(format);
|
||||||
format = format.replace("{DISPLAYNAME}", "%1$s");
|
format = format.replace("{DISPLAYNAME}", "%1$s");
|
||||||
format = format.replace("{GROUP}", "{0}");
|
format = format.replace("{GROUP}", "{0}");
|
||||||
format = format.replace("{MESSAGE}", "%2$s");
|
format = format.replace("{MESSAGE}", "%2$s");
|
||||||
|
@@ -2,6 +2,8 @@ package com.earth2me.essentials.settings;
|
|||||||
|
|
||||||
import com.earth2me.essentials.storage.Comment;
|
import com.earth2me.essentials.storage.Comment;
|
||||||
import com.earth2me.essentials.storage.StorageObject;
|
import com.earth2me.essentials.storage.StorageObject;
|
||||||
|
import java.util.HashMap;
|
||||||
|
import java.util.Map;
|
||||||
import lombok.Data;
|
import lombok.Data;
|
||||||
import lombok.EqualsAndHashCode;
|
import lombok.EqualsAndHashCode;
|
||||||
|
|
||||||
@@ -17,6 +19,8 @@ public class General implements StorageObject
|
|||||||
@Comment("Turn this on, if you want to see more error messages, if something goes wrong.")
|
@Comment("Turn this on, if you want to see more error messages, if something goes wrong.")
|
||||||
private boolean debug = false;
|
private boolean debug = false;
|
||||||
@Comment(
|
@Comment(
|
||||||
|
|
||||||
|
|
||||||
{
|
{
|
||||||
"Set the locale here, if you want to change the language of Essentials.",
|
"Set the locale here, if you want to change the language of Essentials.",
|
||||||
"If this is not set, Essentials will use the language of your computer.",
|
"If this is not set, Essentials will use the language of your computer.",
|
||||||
@@ -24,6 +28,8 @@ public class General implements StorageObject
|
|||||||
})
|
})
|
||||||
private String locale;
|
private String locale;
|
||||||
@Comment(
|
@Comment(
|
||||||
|
|
||||||
|
|
||||||
{
|
{
|
||||||
"The number of items given, if the quantity parameter is left out in /item or /give.",
|
"The number of items given, if the quantity parameter is left out in /item or /give.",
|
||||||
"If this number is below 1, the maximum stack size size is given. If oversized stacks",
|
"If this number is below 1, the maximum stack size size is given. If oversized stacks",
|
||||||
@@ -31,6 +37,8 @@ public class General implements StorageObject
|
|||||||
})
|
})
|
||||||
private int defaultStacksize = -1;
|
private int defaultStacksize = -1;
|
||||||
@Comment(
|
@Comment(
|
||||||
|
|
||||||
|
|
||||||
{
|
{
|
||||||
"Oversized stacks are stacks that ignore the normal max stacksize.",
|
"Oversized stacks are stacks that ignore the normal max stacksize.",
|
||||||
"They can be obtained using /give and /item, if the player has essentials.oversizedstacks permission.",
|
"They can be obtained using /give and /item, if the player has essentials.oversizedstacks permission.",
|
||||||
@@ -44,6 +52,8 @@ public class General implements StorageObject
|
|||||||
FILE, GROUPMANAGER, VAULT
|
FILE, GROUPMANAGER, VAULT
|
||||||
}
|
}
|
||||||
@Comment(
|
@Comment(
|
||||||
|
|
||||||
|
|
||||||
{
|
{
|
||||||
"Sets the place where group options should be stored:",
|
"Sets the place where group options should be stored:",
|
||||||
" FILE: Options are stored inside groups.yml in the Essentials folder",
|
" FILE: Options are stored inside groups.yml in the Essentials folder",
|
||||||
@@ -51,4 +61,36 @@ public class General implements StorageObject
|
|||||||
" VAULT: Options are stored using a permissions plugin supported by Vault"
|
" VAULT: Options are stored using a permissions plugin supported by Vault"
|
||||||
})
|
})
|
||||||
private GroupStorage groupStorage = GroupStorage.FILE;
|
private GroupStorage groupStorage = GroupStorage.FILE;
|
||||||
|
@Comment(
|
||||||
|
|
||||||
|
{
|
||||||
|
"The delay, in seconds, a player can't be attacked by other players after he has been teleported by a command",
|
||||||
|
"This will also prevent that the player can attack other players"
|
||||||
|
})
|
||||||
|
private long teleportInvulnerability = 0;
|
||||||
|
|
||||||
|
public long getTeleportInvulnerability()
|
||||||
|
{
|
||||||
|
return teleportInvulnerability * 1000;
|
||||||
|
}
|
||||||
|
|
||||||
|
@Comment(
|
||||||
|
{
|
||||||
|
"Set to true to enable per-world permissions for teleporting between worlds with essentials commands",
|
||||||
|
"This applies to /world, /back, /tp[a|o][here|all], but not warps.",
|
||||||
|
"Give someone permission to teleport to a world with essentials.world.<worldname>"
|
||||||
|
})
|
||||||
|
private boolean worldTeleportPermissions = false;
|
||||||
|
|
||||||
|
@Comment("Prevent creatures spawning")
|
||||||
|
private Map<String, Boolean> creatureSpawn = new HashMap<String, Boolean>();
|
||||||
|
|
||||||
|
public boolean getPreventSpawn(String creatureName)
|
||||||
|
{
|
||||||
|
if (creatureSpawn == null)
|
||||||
|
{
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
return creatureSpawn.get(creatureName);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
@@ -9,6 +9,18 @@ import java.util.concurrent.atomic.AtomicBoolean;
|
|||||||
|
|
||||||
public class SettingsHolder extends AsyncStorageObjectHolder<Settings> implements ISettings
|
public class SettingsHolder extends AsyncStorageObjectHolder<Settings> implements ISettings
|
||||||
{
|
{
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public void finishRead()
|
||||||
|
{
|
||||||
|
throw new UnsupportedOperationException("Not supported yet.");
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public void finishWrite()
|
||||||
|
{
|
||||||
|
throw new UnsupportedOperationException("Not supported yet.");
|
||||||
|
}
|
||||||
private final transient AtomicBoolean debug = new AtomicBoolean(false);
|
private final transient AtomicBoolean debug = new AtomicBoolean(false);
|
||||||
public SettingsHolder(final IEssentials ess)
|
public SettingsHolder(final IEssentials ess)
|
||||||
{
|
{
|
||||||
|
@@ -29,6 +29,19 @@ import org.bukkit.plugin.EventExecutor;
|
|||||||
|
|
||||||
public class SpawnsHolder extends AsyncStorageObjectHolder<Spawns> implements IEssentialsModule
|
public class SpawnsHolder extends AsyncStorageObjectHolder<Spawns> implements IEssentialsModule
|
||||||
{
|
{
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public void finishRead()
|
||||||
|
{
|
||||||
|
throw new UnsupportedOperationException("Not supported yet.");
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public void finishWrite()
|
||||||
|
{
|
||||||
|
throw new UnsupportedOperationException("Not supported yet.");
|
||||||
|
}
|
||||||
|
|
||||||
public SpawnsHolder(final IEssentials ess)
|
public SpawnsHolder(final IEssentials ess)
|
||||||
{
|
{
|
||||||
super(ess, Spawns.class);
|
super(ess, Spawns.class);
|
||||||
|
@@ -10,6 +10,19 @@ import java.io.IOException;
|
|||||||
|
|
||||||
public class WarpHolder extends AsyncStorageObjectHolder<Warp> implements IWarp
|
public class WarpHolder extends AsyncStorageObjectHolder<Warp> implements IWarp
|
||||||
{
|
{
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public void finishRead()
|
||||||
|
{
|
||||||
|
throw new UnsupportedOperationException("Not supported yet.");
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public void finishWrite()
|
||||||
|
{
|
||||||
|
throw new UnsupportedOperationException("Not supported yet.");
|
||||||
|
}
|
||||||
|
|
||||||
private final String name;
|
private final String name;
|
||||||
|
|
||||||
public WarpHolder(String name, IEssentials ess)
|
public WarpHolder(String name, IEssentials ess)
|
||||||
|
@@ -5,10 +5,12 @@ import com.earth2me.essentials.storage.StorageObject;
|
|||||||
import lombok.Data;
|
import lombok.Data;
|
||||||
import lombok.EqualsAndHashCode;
|
import lombok.EqualsAndHashCode;
|
||||||
|
|
||||||
|
|
||||||
@Data
|
@Data
|
||||||
@EqualsAndHashCode(callSuper = false)
|
@EqualsAndHashCode(callSuper = false)
|
||||||
public class WorldOptions implements StorageObject
|
public class WorldOptions implements StorageObject
|
||||||
{
|
{
|
||||||
@Comment("Disables godmode for all players if they teleport to this world.")
|
@Comment("Disables godmode for all players if they teleport to this world.")
|
||||||
private boolean godmode = true;
|
private boolean godmode = true;
|
||||||
|
|
||||||
}
|
}
|
||||||
|
@@ -9,11 +9,11 @@ import java.io.IOException;
|
|||||||
import java.util.concurrent.locks.ReentrantLock;
|
import java.util.concurrent.locks.ReentrantLock;
|
||||||
import java.util.logging.Level;
|
import java.util.logging.Level;
|
||||||
import org.bukkit.Bukkit;
|
import org.bukkit.Bukkit;
|
||||||
import org.bukkit.plugin.Plugin;
|
|
||||||
|
|
||||||
|
|
||||||
public abstract class AbstractDelayedYamlFileReader<T extends StorageObject> implements Runnable
|
public abstract class AbstractDelayedYamlFileReader<T extends StorageObject> implements Runnable
|
||||||
{
|
{
|
||||||
|
|
||||||
private final transient Class<T> clazz;
|
private final transient Class<T> clazz;
|
||||||
protected final transient IEssentials plugin;
|
protected final transient IEssentials plugin;
|
||||||
private final transient ReentrantLock lock = new ReentrantLock();
|
private final transient ReentrantLock lock = new ReentrantLock();
|
||||||
@@ -41,10 +41,11 @@ public abstract class AbstractDelayedYamlFileReader<T extends StorageObject> imp
|
|||||||
@Override
|
@Override
|
||||||
public void run()
|
public void run()
|
||||||
{
|
{
|
||||||
|
File file = null;
|
||||||
lock.lock();
|
lock.lock();
|
||||||
try
|
try
|
||||||
{
|
{
|
||||||
final File file = onStart();
|
file = onStart();
|
||||||
try
|
try
|
||||||
{
|
{
|
||||||
final FileReader reader = new FileReader(file);
|
final FileReader reader = new FileReader(file);
|
||||||
@@ -81,7 +82,7 @@ public abstract class AbstractDelayedYamlFileReader<T extends StorageObject> imp
|
|||||||
}
|
}
|
||||||
catch (IOException ex)
|
catch (IOException ex)
|
||||||
{
|
{
|
||||||
onException();
|
onException(ex);
|
||||||
if (plugin.getSettings() == null || plugin.getSettings().isDebug())
|
if (plugin.getSettings() == null || plugin.getSettings().isDebug())
|
||||||
{
|
{
|
||||||
Bukkit.getLogger().log(Level.INFO, "File not found: " + file.toString());
|
Bukkit.getLogger().log(Level.INFO, "File not found: " + file.toString());
|
||||||
|
@@ -15,4 +15,6 @@ public interface IOfflinePlayer
|
|||||||
void setBanned(boolean bln);
|
void setBanned(boolean bln);
|
||||||
|
|
||||||
boolean hasPermission(Permission perm);
|
boolean hasPermission(Permission perm);
|
||||||
|
|
||||||
|
void setName(final String name);
|
||||||
}
|
}
|
File diff suppressed because it is too large
Load Diff
@@ -3,6 +3,7 @@ package com.earth2me.essentials.utils;
|
|||||||
import static com.earth2me.essentials.I18n._;
|
import static com.earth2me.essentials.I18n._;
|
||||||
import com.earth2me.essentials.api.IEssentials;
|
import com.earth2me.essentials.api.IEssentials;
|
||||||
import com.earth2me.essentials.api.ISettings;
|
import com.earth2me.essentials.api.ISettings;
|
||||||
|
import com.earth2me.essentials.api.IUser;
|
||||||
import com.earth2me.essentials.api.InvalidNameException;
|
import com.earth2me.essentials.api.InvalidNameException;
|
||||||
import com.earth2me.essentials.utils.gnu.inet.encoding.Punycode;
|
import com.earth2me.essentials.utils.gnu.inet.encoding.Punycode;
|
||||||
import com.earth2me.essentials.utils.gnu.inet.encoding.PunycodeException;
|
import com.earth2me.essentials.utils.gnu.inet.encoding.PunycodeException;
|
||||||
@@ -333,8 +334,95 @@ public final class Util
|
|||||||
perm.recalculatePermissibles();
|
perm.recalculatePermissibles();
|
||||||
return perm;
|
return perm;
|
||||||
}
|
}
|
||||||
private static transient final Pattern VANILLA_COLOR_PATTERN = Pattern.compile("\u00A7+[0-9A-FKa-fk]");
|
private static transient final Pattern URL_PATTERN = Pattern.compile("((?:(?:https?)://)?[\\w-_\\.]{2,})\\.([a-z]{2,3}(?:/\\S+)?)");
|
||||||
private static transient final Pattern EASY_COLOR_PATTERN = Pattern.compile("&([0-9a-fk])");
|
private static transient final Pattern VANILLA_PATTERN = Pattern.compile("\u00A7+[0-9A-FK-ORa-fk-or]");
|
||||||
|
private static transient final Pattern REPLACE_PATTERN = Pattern.compile("&([0-9a-fk-or])");
|
||||||
|
private static transient final Pattern VANILLA_COLOR_PATTERN = Pattern.compile("\u00A7+[0-9A-Fa-f]");
|
||||||
|
private static transient final Pattern VANILLA_MAGIC_PATTERN = Pattern.compile("\u00A7+[Kk]");
|
||||||
|
private static transient final Pattern VANILLA_FORMAT_PATTERN = Pattern.compile("\u00A7+[L-ORl-or]");
|
||||||
|
private static transient final Pattern REPLACE_COLOR_PATTERN = Pattern.compile("&([0-9a-f])");
|
||||||
|
private static transient final Pattern REPLACE_MAGIC_PATTERN = Pattern.compile("&(k)");
|
||||||
|
private static transient final Pattern REPLACE_FORMAT_PATTERN = Pattern.compile("&([l-or])");
|
||||||
|
|
||||||
|
public static String stripFormat(final String input)
|
||||||
|
{
|
||||||
|
if (input == null)
|
||||||
|
{
|
||||||
|
return null;
|
||||||
|
}
|
||||||
|
return VANILLA_PATTERN.matcher(input).replaceAll("");
|
||||||
|
}
|
||||||
|
|
||||||
|
public static String replaceFormat(final String input)
|
||||||
|
{
|
||||||
|
if (input == null)
|
||||||
|
{
|
||||||
|
return null;
|
||||||
|
}
|
||||||
|
return REPLACE_PATTERN.matcher(input).replaceAll("\u00a7$1");
|
||||||
|
}
|
||||||
|
|
||||||
|
public static String blockURL(final String input)
|
||||||
|
{
|
||||||
|
if (input == null)
|
||||||
|
{
|
||||||
|
return null;
|
||||||
|
}
|
||||||
|
String text = URL_PATTERN.matcher(input).replaceAll("$1 $2");
|
||||||
|
while (URL_PATTERN.matcher(text).find())
|
||||||
|
{
|
||||||
|
text = URL_PATTERN.matcher(text).replaceAll("$1 $2");
|
||||||
|
}
|
||||||
|
return text;
|
||||||
|
}
|
||||||
|
|
||||||
|
public static String formatString(final IUser user, final String permBase, final String input)
|
||||||
|
{
|
||||||
|
if (input == null)
|
||||||
|
{
|
||||||
|
return null;
|
||||||
|
}
|
||||||
|
String message;
|
||||||
|
if (user.isAuthorized(permBase + ".color"))
|
||||||
|
{
|
||||||
|
message = Util.replaceColor(input, REPLACE_COLOR_PATTERN);
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
message = Util.stripColor(input, VANILLA_COLOR_PATTERN);
|
||||||
|
}
|
||||||
|
if (user.isAuthorized(permBase + ".magic"))
|
||||||
|
{
|
||||||
|
message = Util.replaceColor(message, REPLACE_MAGIC_PATTERN);
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
message = Util.stripColor(message, VANILLA_MAGIC_PATTERN);
|
||||||
|
}
|
||||||
|
if (user.isAuthorized(permBase + ".format"))
|
||||||
|
{
|
||||||
|
message = Util.replaceColor(message, REPLACE_FORMAT_PATTERN);
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
message = Util.stripColor(message, VANILLA_FORMAT_PATTERN);
|
||||||
|
}
|
||||||
|
return message;
|
||||||
|
}
|
||||||
|
|
||||||
|
public static String formatMessage(final IUser user, final String permBase, final String input)
|
||||||
|
{
|
||||||
|
if (input == null)
|
||||||
|
{
|
||||||
|
return null;
|
||||||
|
}
|
||||||
|
String message = formatString(user, permBase, input);
|
||||||
|
if (!user.isAuthorized(permBase + ".url"))
|
||||||
|
{
|
||||||
|
message = Util.blockURL(message);
|
||||||
|
}
|
||||||
|
return message;
|
||||||
|
}
|
||||||
|
|
||||||
public static String stripColor(final String input)
|
public static String stripColor(final String input)
|
||||||
{
|
{
|
||||||
@@ -346,13 +434,13 @@ public final class Util
|
|||||||
return VANILLA_COLOR_PATTERN.matcher(input).replaceAll("");
|
return VANILLA_COLOR_PATTERN.matcher(input).replaceAll("");
|
||||||
}
|
}
|
||||||
|
|
||||||
public static String replaceColor(final String input)
|
private static String stripColor(final String input, final Pattern pattern)
|
||||||
{
|
{
|
||||||
if (input == null)
|
return pattern.matcher(input).replaceAll("");
|
||||||
{
|
|
||||||
return null;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
return EASY_COLOR_PATTERN.matcher(input).replaceAll("\u00a7$1");
|
private static String replaceColor(final String input, final Pattern pattern)
|
||||||
|
{
|
||||||
|
return pattern.matcher(input).replaceAll("\u00a7$1");
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@@ -9,6 +9,7 @@ import com.earth2me.essentials.api.IRanks;
|
|||||||
import com.earth2me.essentials.api.ISettings;
|
import com.earth2me.essentials.api.ISettings;
|
||||||
import com.earth2me.essentials.api.IUser;
|
import com.earth2me.essentials.api.IUser;
|
||||||
import com.earth2me.essentials.permissions.Permissions;
|
import com.earth2me.essentials.permissions.Permissions;
|
||||||
|
import com.earth2me.essentials.storage.Location;
|
||||||
import java.util.Locale;
|
import java.util.Locale;
|
||||||
import java.util.Map;
|
import java.util.Map;
|
||||||
import java.util.logging.Logger;
|
import java.util.logging.Logger;
|
||||||
|
2
pom.xml
2
pom.xml
@@ -74,7 +74,7 @@
|
|||||||
|
|
||||||
<properties>
|
<properties>
|
||||||
<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
|
<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
|
||||||
<bukkit.version>1.2.5-R1.2-SNAPSHOT</bukkit.version>
|
<bukkit.version>1.2.5-R3.1-SNAPSHOT</bukkit.version>
|
||||||
<build.number>Unknown</build.number>
|
<build.number>Unknown</build.number>
|
||||||
<org-netbeans-modules-editor-indent.CodeStyle.project.expand-tabs>true</org-netbeans-modules-editor-indent.CodeStyle.project.expand-tabs>
|
<org-netbeans-modules-editor-indent.CodeStyle.project.expand-tabs>true</org-netbeans-modules-editor-indent.CodeStyle.project.expand-tabs>
|
||||||
<org-netbeans-modules-editor-indent.CodeStyle.project.indent-shift-width>2</org-netbeans-modules-editor-indent.CodeStyle.project.indent-shift-width>
|
<org-netbeans-modules-editor-indent.CodeStyle.project.indent-shift-width>2</org-netbeans-modules-editor-indent.CodeStyle.project.indent-shift-width>
|
||||||
|
Reference in New Issue
Block a user