mirror of
https://github.com/TotalFreedomMC/TF-EssentialsX.git
synced 2025-04-26 16:39:45 +00:00
[API] Move 2.x API to new package, create dummy classes for compatibility
This commit is contained in:
parent
3d0f0062a9
commit
dad348d3d0
93 changed files with 1275 additions and 1093 deletions
|
@ -1,5 +1,6 @@
|
||||||
package com.earth2me.essentials;
|
package com.earth2me.essentials;
|
||||||
|
|
||||||
|
import net.ess3.api.IEssentials;
|
||||||
import java.util.*;
|
import java.util.*;
|
||||||
import java.util.logging.Level;
|
import java.util.logging.Level;
|
||||||
import java.util.logging.Logger;
|
import java.util.logging.Logger;
|
||||||
|
|
|
@ -1,5 +1,6 @@
|
||||||
package com.earth2me.essentials;
|
package com.earth2me.essentials;
|
||||||
|
|
||||||
|
import net.ess3.api.IEssentials;
|
||||||
import static com.earth2me.essentials.I18n._;
|
import static com.earth2me.essentials.I18n._;
|
||||||
import java.io.BufferedReader;
|
import java.io.BufferedReader;
|
||||||
import java.io.IOException;
|
import java.io.IOException;
|
||||||
|
|
|
@ -17,9 +17,12 @@
|
||||||
*/
|
*/
|
||||||
package com.earth2me.essentials;
|
package com.earth2me.essentials;
|
||||||
|
|
||||||
|
import net.ess3.api.ISettings;
|
||||||
|
import net.ess3.api.IEssentials;
|
||||||
|
import net.ess3.api.IUser;
|
||||||
import static com.earth2me.essentials.I18n._;
|
import static com.earth2me.essentials.I18n._;
|
||||||
import com.earth2me.essentials.api.Economy;
|
import net.ess3.api.Economy;
|
||||||
import com.earth2me.essentials.api.IJails;
|
import net.ess3.api.IJails;
|
||||||
import com.earth2me.essentials.commands.EssentialsCommand;
|
import com.earth2me.essentials.commands.EssentialsCommand;
|
||||||
import com.earth2me.essentials.commands.IEssentialsCommand;
|
import com.earth2me.essentials.commands.IEssentialsCommand;
|
||||||
import com.earth2me.essentials.commands.NoChargeException;
|
import com.earth2me.essentials.commands.NoChargeException;
|
||||||
|
|
|
@ -1,5 +1,6 @@
|
||||||
package com.earth2me.essentials;
|
package com.earth2me.essentials;
|
||||||
|
|
||||||
|
import net.ess3.api.IEssentials;
|
||||||
import com.earth2me.essentials.utils.LocationUtil;
|
import com.earth2me.essentials.utils.LocationUtil;
|
||||||
import java.util.Locale;
|
import java.util.Locale;
|
||||||
import org.bukkit.GameMode;
|
import org.bukkit.GameMode;
|
||||||
|
|
|
@ -2,7 +2,7 @@ package com.earth2me.essentials;
|
||||||
|
|
||||||
import static com.earth2me.essentials.I18n._;
|
import static com.earth2me.essentials.I18n._;
|
||||||
|
|
||||||
import com.earth2me.essentials.api.InvalidWorldException;
|
import net.ess3.api.InvalidWorldException;
|
||||||
import com.google.common.io.Files;
|
import com.google.common.io.Files;
|
||||||
import java.io.*;
|
import java.io.*;
|
||||||
import java.math.BigDecimal;
|
import java.math.BigDecimal;
|
||||||
|
|
|
@ -1,5 +1,6 @@
|
||||||
package com.earth2me.essentials;
|
package com.earth2me.essentials;
|
||||||
|
|
||||||
|
import net.ess3.api.IEssentials;
|
||||||
import static com.earth2me.essentials.I18n._;
|
import static com.earth2me.essentials.I18n._;
|
||||||
import java.util.List;
|
import java.util.List;
|
||||||
import java.util.logging.Level;
|
import java.util.logging.Level;
|
||||||
|
|
|
@ -1,5 +1,6 @@
|
||||||
package com.earth2me.essentials;
|
package com.earth2me.essentials;
|
||||||
|
|
||||||
|
import net.ess3.api.IEssentials;
|
||||||
import static com.earth2me.essentials.I18n._;
|
import static com.earth2me.essentials.I18n._;
|
||||||
import com.earth2me.essentials.textreader.IText;
|
import com.earth2me.essentials.textreader.IText;
|
||||||
import com.earth2me.essentials.textreader.KeywordReplacer;
|
import com.earth2me.essentials.textreader.KeywordReplacer;
|
||||||
|
|
|
@ -1,5 +1,6 @@
|
||||||
package com.earth2me.essentials;
|
package com.earth2me.essentials;
|
||||||
|
|
||||||
|
import net.ess3.api.IEssentials;
|
||||||
import java.util.logging.Level;
|
import java.util.logging.Level;
|
||||||
import org.bukkit.event.EventHandler;
|
import org.bukkit.event.EventHandler;
|
||||||
import org.bukkit.event.EventPriority;
|
import org.bukkit.event.EventPriority;
|
||||||
|
|
|
@ -1,5 +1,6 @@
|
||||||
package com.earth2me.essentials;
|
package com.earth2me.essentials;
|
||||||
|
|
||||||
|
import net.ess3.api.IEssentials;
|
||||||
import java.util.HashSet;
|
import java.util.HashSet;
|
||||||
import java.util.Iterator;
|
import java.util.Iterator;
|
||||||
import java.util.LinkedList;
|
import java.util.LinkedList;
|
||||||
|
|
|
@ -1,5 +1,6 @@
|
||||||
package com.earth2me.essentials;
|
package com.earth2me.essentials;
|
||||||
|
|
||||||
|
import net.ess3.api.IEssentials;
|
||||||
import com.earth2me.essentials.utils.StringUtil;
|
import com.earth2me.essentials.utils.StringUtil;
|
||||||
import static com.earth2me.essentials.I18n._;
|
import static com.earth2me.essentials.I18n._;
|
||||||
import com.earth2me.essentials.craftbukkit.FakeWorld;
|
import com.earth2me.essentials.craftbukkit.FakeWorld;
|
||||||
|
|
|
@ -1,6 +1,7 @@
|
||||||
package com.earth2me.essentials;
|
package com.earth2me.essentials;
|
||||||
|
|
||||||
import com.earth2me.essentials.api.II18n;
|
import net.ess3.api.IEssentials;
|
||||||
|
import net.ess3.api.II18n;
|
||||||
import java.io.File;
|
import java.io.File;
|
||||||
import java.io.FileInputStream;
|
import java.io.FileInputStream;
|
||||||
import java.io.FileNotFoundException;
|
import java.io.FileNotFoundException;
|
||||||
|
|
|
@ -1,82 +1,7 @@
|
||||||
package com.earth2me.essentials;
|
package com.earth2me.essentials;
|
||||||
|
|
||||||
import com.earth2me.essentials.api.IJails;
|
|
||||||
import com.earth2me.essentials.api.IWarps;
|
|
||||||
import com.earth2me.essentials.metrics.Metrics;
|
|
||||||
import com.earth2me.essentials.perm.PermissionsHandler;
|
|
||||||
import com.earth2me.essentials.register.payment.Methods;
|
|
||||||
import java.util.List;
|
|
||||||
import org.bukkit.World;
|
|
||||||
import org.bukkit.command.Command;
|
|
||||||
import org.bukkit.command.CommandSender;
|
|
||||||
import org.bukkit.plugin.Plugin;
|
|
||||||
import org.bukkit.scheduler.BukkitScheduler;
|
|
||||||
import org.bukkit.scheduler.BukkitTask;
|
|
||||||
|
|
||||||
|
public interface IEssentials extends net.ess3.api.IEssentials
|
||||||
public interface IEssentials extends Plugin
|
|
||||||
{
|
{
|
||||||
void addReloadListener(IConf listener);
|
|
||||||
|
|
||||||
void reload();
|
|
||||||
|
|
||||||
boolean onCommandEssentials(CommandSender sender, Command command, String commandLabel, String[] args, ClassLoader classLoader, String commandPath, String permissionPrefix, IEssentialsModule module);
|
|
||||||
|
|
||||||
User getUser(Object base);
|
|
||||||
|
|
||||||
I18n getI18n();
|
|
||||||
|
|
||||||
User getOfflineUser(String name);
|
|
||||||
|
|
||||||
World getWorld(String name);
|
|
||||||
|
|
||||||
int broadcastMessage(String message);
|
|
||||||
|
|
||||||
int broadcastMessage(IUser sender, String message);
|
|
||||||
|
|
||||||
int broadcastMessage(String permission, String message);
|
|
||||||
|
|
||||||
ISettings getSettings();
|
|
||||||
|
|
||||||
BukkitScheduler getScheduler();
|
|
||||||
|
|
||||||
IJails getJails();
|
|
||||||
|
|
||||||
IWarps getWarps();
|
|
||||||
|
|
||||||
Worth getWorth();
|
|
||||||
|
|
||||||
Backup getBackup();
|
|
||||||
|
|
||||||
Methods getPaymentMethod();
|
|
||||||
|
|
||||||
BukkitTask runTaskAsynchronously(Runnable run);
|
|
||||||
|
|
||||||
BukkitTask runTaskLaterAsynchronously(Runnable run, long delay);
|
|
||||||
|
|
||||||
int scheduleSyncDelayedTask(Runnable run);
|
|
||||||
|
|
||||||
int scheduleSyncDelayedTask(Runnable run, long delay);
|
|
||||||
|
|
||||||
int scheduleSyncRepeatingTask(final Runnable run, long delay, long period);
|
|
||||||
|
|
||||||
TNTExplodeListener getTNTListener();
|
|
||||||
|
|
||||||
PermissionsHandler getPermissionsHandler();
|
|
||||||
|
|
||||||
AlternativeCommandsHandler getAlternativeCommandsHandler();
|
|
||||||
|
|
||||||
void showError(final CommandSender sender, final Throwable exception, final String commandLabel);
|
|
||||||
|
|
||||||
ItemDb getItemDb();
|
|
||||||
|
|
||||||
UserMap getUserMap();
|
|
||||||
|
|
||||||
Metrics getMetrics();
|
|
||||||
|
|
||||||
void setMetrics(Metrics metrics);
|
|
||||||
|
|
||||||
EssentialsTimer getTimer();
|
|
||||||
|
|
||||||
List<String> getVanishedPlayers();
|
|
||||||
}
|
}
|
||||||
|
|
|
@ -1,199 +1,7 @@
|
||||||
package com.earth2me.essentials;
|
package com.earth2me.essentials;
|
||||||
|
|
||||||
import com.earth2me.essentials.commands.IEssentialsCommand;
|
|
||||||
import com.earth2me.essentials.signs.EssentialsSign;
|
|
||||||
import com.earth2me.essentials.textreader.IText;
|
|
||||||
import java.math.BigDecimal;
|
|
||||||
import java.text.MessageFormat;
|
|
||||||
import java.util.List;
|
|
||||||
import java.util.Map;
|
|
||||||
import java.util.Set;
|
|
||||||
import org.bukkit.ChatColor;
|
|
||||||
import org.bukkit.configuration.ConfigurationSection;
|
|
||||||
import org.bukkit.event.EventPriority;
|
|
||||||
|
|
||||||
|
public interface ISettings extends net.ess3.api.ISettings
|
||||||
public interface ISettings extends IConf
|
|
||||||
{
|
{
|
||||||
boolean areSignsDisabled();
|
|
||||||
|
|
||||||
IText getAnnounceNewPlayerFormat();
|
|
||||||
|
|
||||||
boolean getAnnounceNewPlayers();
|
|
||||||
|
|
||||||
String getNewPlayerKit();
|
|
||||||
|
|
||||||
String getBackupCommand();
|
|
||||||
|
|
||||||
long getBackupInterval();
|
|
||||||
|
|
||||||
String getChatFormat(String group);
|
|
||||||
|
|
||||||
int getChatRadius();
|
|
||||||
|
|
||||||
BigDecimal getCommandCost(IEssentialsCommand cmd);
|
|
||||||
|
|
||||||
BigDecimal getCommandCost(String label);
|
|
||||||
|
|
||||||
String getCurrencySymbol();
|
|
||||||
|
|
||||||
int getOversizedStackSize();
|
|
||||||
|
|
||||||
int getDefaultStackSize();
|
|
||||||
|
|
||||||
double getHealCooldown();
|
|
||||||
|
|
||||||
Set<String> getSocialSpyCommands();
|
|
||||||
|
|
||||||
Map<String, Object> getKit(String name);
|
|
||||||
|
|
||||||
ConfigurationSection getKits();
|
|
||||||
|
|
||||||
String getLocale();
|
|
||||||
|
|
||||||
String getNewbieSpawn();
|
|
||||||
|
|
||||||
String getNicknamePrefix();
|
|
||||||
|
|
||||||
ChatColor getOperatorColor() throws Exception;
|
|
||||||
|
|
||||||
boolean getPerWarpPermission();
|
|
||||||
|
|
||||||
boolean getProtectBoolean(final String configName, boolean def);
|
|
||||||
|
|
||||||
int getProtectCreeperMaxHeight();
|
|
||||||
|
|
||||||
List<Integer> getProtectList(final String configName);
|
|
||||||
|
|
||||||
boolean getProtectPreventSpawn(final String creatureName);
|
|
||||||
|
|
||||||
String getProtectString(final String configName);
|
|
||||||
|
|
||||||
boolean getRespawnAtHome();
|
|
||||||
|
|
||||||
Set getMultipleHomes();
|
|
||||||
|
|
||||||
int getHomeLimit(String set);
|
|
||||||
|
|
||||||
int getHomeLimit(User user);
|
|
||||||
|
|
||||||
int getSpawnMobLimit();
|
|
||||||
|
|
||||||
BigDecimal getStartingBalance();
|
|
||||||
|
|
||||||
double getTeleportCooldown();
|
|
||||||
|
|
||||||
double getTeleportDelay();
|
|
||||||
|
|
||||||
boolean hidePermissionlessHelp();
|
|
||||||
|
|
||||||
boolean isCommandDisabled(final IEssentialsCommand cmd);
|
|
||||||
|
|
||||||
boolean isCommandDisabled(String label);
|
|
||||||
|
|
||||||
boolean isCommandOverridden(String name);
|
|
||||||
|
|
||||||
boolean isDebug();
|
|
||||||
|
|
||||||
boolean isEcoDisabled();
|
|
||||||
|
|
||||||
boolean isTradeInStacks(int id);
|
|
||||||
|
|
||||||
List<Integer> itemSpawnBlacklist();
|
|
||||||
|
|
||||||
List<EssentialsSign> enabledSigns();
|
|
||||||
|
|
||||||
boolean permissionBasedItemSpawn();
|
|
||||||
|
|
||||||
boolean showNonEssCommandsInHelp();
|
|
||||||
|
|
||||||
boolean warnOnBuildDisallow();
|
|
||||||
|
|
||||||
boolean warnOnSmite();
|
|
||||||
|
|
||||||
BigDecimal getMaxMoney();
|
|
||||||
|
|
||||||
BigDecimal getMinMoney();
|
|
||||||
|
|
||||||
boolean isEcoLogEnabled();
|
|
||||||
|
|
||||||
boolean isEcoLogUpdateEnabled();
|
|
||||||
|
|
||||||
boolean removeGodOnDisconnect();
|
|
||||||
|
|
||||||
boolean changeDisplayName();
|
|
||||||
|
|
||||||
boolean changePlayerListName();
|
|
||||||
|
|
||||||
boolean isPlayerCommand(String string);
|
|
||||||
|
|
||||||
boolean useBukkitPermissions();
|
|
||||||
|
|
||||||
boolean addPrefixSuffix();
|
|
||||||
|
|
||||||
boolean disablePrefix();
|
|
||||||
|
|
||||||
boolean disableSuffix();
|
|
||||||
|
|
||||||
long getAutoAfk();
|
|
||||||
|
|
||||||
long getAutoAfkKick();
|
|
||||||
|
|
||||||
boolean getFreezeAfkPlayers();
|
|
||||||
|
|
||||||
boolean cancelAfkOnMove();
|
|
||||||
|
|
||||||
boolean cancelAfkOnInteract();
|
|
||||||
|
|
||||||
boolean areDeathMessagesEnabled();
|
|
||||||
|
|
||||||
public void setDebug(boolean debug);
|
|
||||||
|
|
||||||
Set<String> getNoGodWorlds();
|
|
||||||
|
|
||||||
boolean getUpdateBedAtDaytime();
|
|
||||||
|
|
||||||
boolean allowUnsafeEnchantments();
|
|
||||||
|
|
||||||
boolean getRepairEnchanted();
|
|
||||||
|
|
||||||
boolean isWorldTeleportPermissions();
|
|
||||||
|
|
||||||
boolean isWorldHomePermissions();
|
|
||||||
|
|
||||||
boolean registerBackInListener();
|
|
||||||
|
|
||||||
boolean getDisableItemPickupWhileAfk();
|
|
||||||
|
|
||||||
EventPriority getRespawnPriority();
|
|
||||||
|
|
||||||
long getTpaAcceptCancellation();
|
|
||||||
|
|
||||||
boolean isMetricsEnabled();
|
|
||||||
|
|
||||||
void setMetricsEnabled(boolean metricsEnabled);
|
|
||||||
|
|
||||||
long getTeleportInvulnerability();
|
|
||||||
|
|
||||||
boolean isTeleportInvulnerability();
|
|
||||||
|
|
||||||
long getLoginAttackDelay();
|
|
||||||
|
|
||||||
int getSignUsePerSecond();
|
|
||||||
|
|
||||||
double getMaxFlySpeed();
|
|
||||||
|
|
||||||
double getMaxWalkSpeed();
|
|
||||||
|
|
||||||
public int getMailsPerMinute();
|
|
||||||
|
|
||||||
public long getEconomyLagWarning();
|
|
||||||
|
|
||||||
public void setEssentialsChatActive(boolean b);
|
|
||||||
|
|
||||||
long getMaxTempban();
|
|
||||||
|
|
||||||
public Map<String, Object> getListGroupConfig();
|
|
||||||
|
|
||||||
public int getMaxNickLength();
|
|
||||||
}
|
}
|
||||||
|
|
|
@ -1,93 +1,7 @@
|
||||||
package com.earth2me.essentials;
|
package com.earth2me.essentials;
|
||||||
|
|
||||||
import com.earth2me.essentials.api.ITeleport;
|
|
||||||
import com.earth2me.essentials.commands.IEssentialsCommand;
|
|
||||||
import java.math.BigDecimal;
|
|
||||||
import java.util.Map;
|
|
||||||
import java.util.Set;
|
|
||||||
import org.bukkit.Location;
|
|
||||||
import org.bukkit.command.CommandSender;
|
|
||||||
import org.bukkit.entity.Player;
|
|
||||||
|
|
||||||
|
public interface IUser extends net.ess3.api.IUser
|
||||||
public interface IUser
|
|
||||||
{
|
{
|
||||||
long getLastTeleportTimestamp();
|
|
||||||
|
|
||||||
boolean isAuthorized(String node);
|
|
||||||
|
|
||||||
boolean isAuthorized(IEssentialsCommand cmd);
|
|
||||||
|
|
||||||
boolean isAuthorized(IEssentialsCommand cmd, String permissionPrefix);
|
|
||||||
|
|
||||||
void setLastTeleportTimestamp(long time);
|
|
||||||
|
|
||||||
Location getLastLocation();
|
|
||||||
|
|
||||||
Player getBase();
|
|
||||||
|
|
||||||
BigDecimal getMoney();
|
|
||||||
|
|
||||||
void takeMoney(BigDecimal value);
|
|
||||||
|
|
||||||
void giveMoney(BigDecimal value);
|
|
||||||
|
|
||||||
boolean canAfford(BigDecimal value);
|
|
||||||
|
|
||||||
String getGroup();
|
|
||||||
|
|
||||||
void setLastLocation();
|
|
||||||
|
|
||||||
Location getHome(String name) throws Exception;
|
|
||||||
|
|
||||||
Location getHome(Location loc) throws Exception;
|
|
||||||
|
|
||||||
/**
|
|
||||||
* 'Hidden' Represents when a player is hidden from others. This status includes when the player is hidden via other
|
|
||||||
* supported plugins. Use isVanished() if you want to check if a user is vanished by Essentials.
|
|
||||||
*
|
|
||||||
* @return If the user is hidden or not
|
|
||||||
* @see isVanished
|
|
||||||
*/
|
|
||||||
boolean isHidden();
|
|
||||||
|
|
||||||
void setHidden(boolean vanish);
|
|
||||||
|
|
||||||
/**
|
|
||||||
* 'Vanished' Represents when a player is hidden from others by Essentials. This status does NOT include when the
|
|
||||||
* player is hidden via other plugins. Use isHidden() if you want to check if a user is vanished by any supported
|
|
||||||
* plugin.
|
|
||||||
*
|
|
||||||
* @return If the user is vanished or not
|
|
||||||
* @see isHidden
|
|
||||||
*/
|
|
||||||
boolean isVanished();
|
|
||||||
|
|
||||||
void setVanished(boolean vanish);
|
|
||||||
|
|
||||||
ITeleport getTeleport();
|
|
||||||
|
|
||||||
void setJail(String jail);
|
|
||||||
|
|
||||||
boolean isIgnoreExempt();
|
|
||||||
|
|
||||||
boolean isAfk();
|
|
||||||
|
|
||||||
void setAfk(final boolean set);
|
|
||||||
|
|
||||||
void setLogoutLocation();
|
|
||||||
|
|
||||||
Location getLogoutLocation();
|
|
||||||
|
|
||||||
void setConfigProperty(String node, Object object);
|
|
||||||
|
|
||||||
Set<String> getConfigKeys();
|
|
||||||
|
|
||||||
Map<String, Object> getConfigMap();
|
|
||||||
|
|
||||||
Map<String, Object> getConfigMap(String node);
|
|
||||||
|
|
||||||
public void sendMessage(String message);
|
|
||||||
|
|
||||||
public String getName();
|
|
||||||
}
|
}
|
||||||
|
|
|
@ -1,8 +1,9 @@
|
||||||
package com.earth2me.essentials;
|
package com.earth2me.essentials;
|
||||||
|
|
||||||
|
import net.ess3.api.IEssentials;
|
||||||
import com.earth2me.essentials.utils.StringUtil;
|
import com.earth2me.essentials.utils.StringUtil;
|
||||||
import static com.earth2me.essentials.I18n._;
|
import static com.earth2me.essentials.I18n._;
|
||||||
import com.earth2me.essentials.api.IItemDb;
|
import net.ess3.api.IItemDb;
|
||||||
import com.earth2me.essentials.utils.NumberUtil;
|
import com.earth2me.essentials.utils.NumberUtil;
|
||||||
import java.util.*;
|
import java.util.*;
|
||||||
import java.util.regex.Pattern;
|
import java.util.regex.Pattern;
|
||||||
|
|
|
@ -1,7 +1,9 @@
|
||||||
package com.earth2me.essentials;
|
package com.earth2me.essentials;
|
||||||
|
|
||||||
|
import net.ess3.api.IEssentials;
|
||||||
|
import net.ess3.api.IUser;
|
||||||
import static com.earth2me.essentials.I18n._;
|
import static com.earth2me.essentials.I18n._;
|
||||||
import com.earth2me.essentials.api.IJails;
|
import net.ess3.api.IJails;
|
||||||
import com.earth2me.essentials.storage.AsyncStorageObjectHolder;
|
import com.earth2me.essentials.storage.AsyncStorageObjectHolder;
|
||||||
import java.io.File;
|
import java.io.File;
|
||||||
import java.util.*;
|
import java.util.*;
|
||||||
|
|
|
@ -1,5 +1,6 @@
|
||||||
package com.earth2me.essentials;
|
package com.earth2me.essentials;
|
||||||
|
|
||||||
|
import net.ess3.api.IEssentials;
|
||||||
import static com.earth2me.essentials.I18n._;
|
import static com.earth2me.essentials.I18n._;
|
||||||
import static com.earth2me.essentials.I18n.capitalCase;
|
import static com.earth2me.essentials.I18n.capitalCase;
|
||||||
import com.earth2me.essentials.Trade.OverflowType;
|
import com.earth2me.essentials.Trade.OverflowType;
|
||||||
|
|
|
@ -1,5 +1,6 @@
|
||||||
package com.earth2me.essentials;
|
package com.earth2me.essentials;
|
||||||
|
|
||||||
|
import net.ess3.api.IEssentials;
|
||||||
import static com.earth2me.essentials.I18n._;
|
import static com.earth2me.essentials.I18n._;
|
||||||
import java.io.*;
|
import java.io.*;
|
||||||
import java.math.BigInteger;
|
import java.math.BigInteger;
|
||||||
|
|
|
@ -1,5 +1,6 @@
|
||||||
package com.earth2me.essentials;
|
package com.earth2me.essentials;
|
||||||
|
|
||||||
|
import net.ess3.api.IEssentials;
|
||||||
import static com.earth2me.essentials.I18n._;
|
import static com.earth2me.essentials.I18n._;
|
||||||
import com.earth2me.essentials.textreader.BookInput;
|
import com.earth2me.essentials.textreader.BookInput;
|
||||||
import com.earth2me.essentials.textreader.BookPager;
|
import com.earth2me.essentials.textreader.BookPager;
|
||||||
|
|
|
@ -1,5 +1,6 @@
|
||||||
package com.earth2me.essentials;
|
package com.earth2me.essentials;
|
||||||
|
|
||||||
|
import net.ess3.api.IEssentials;
|
||||||
import static com.earth2me.essentials.I18n._;
|
import static com.earth2me.essentials.I18n._;
|
||||||
import java.net.InetSocketAddress;
|
import java.net.InetSocketAddress;
|
||||||
import java.util.*;
|
import java.util.*;
|
||||||
|
|
|
@ -1,5 +1,7 @@
|
||||||
package com.earth2me.essentials;
|
package com.earth2me.essentials;
|
||||||
|
|
||||||
|
import net.ess3.api.ISettings;
|
||||||
|
import net.ess3.api.IEssentials;
|
||||||
import static com.earth2me.essentials.I18n._;
|
import static com.earth2me.essentials.I18n._;
|
||||||
import com.earth2me.essentials.commands.IEssentialsCommand;
|
import com.earth2me.essentials.commands.IEssentialsCommand;
|
||||||
import com.earth2me.essentials.signs.EssentialsSign;
|
import com.earth2me.essentials.signs.EssentialsSign;
|
||||||
|
|
|
@ -1,5 +1,6 @@
|
||||||
package com.earth2me.essentials;
|
package com.earth2me.essentials;
|
||||||
|
|
||||||
|
import net.ess3.api.IEssentials;
|
||||||
import com.earth2me.essentials.utils.StringUtil;
|
import com.earth2me.essentials.utils.StringUtil;
|
||||||
import static com.earth2me.essentials.I18n._;
|
import static com.earth2me.essentials.I18n._;
|
||||||
import com.earth2me.essentials.Mob.MobException;
|
import com.earth2me.essentials.Mob.MobException;
|
||||||
|
|
|
@ -1,5 +1,6 @@
|
||||||
package com.earth2me.essentials;
|
package com.earth2me.essentials;
|
||||||
|
|
||||||
|
import net.ess3.api.IEssentials;
|
||||||
import org.bukkit.entity.LivingEntity;
|
import org.bukkit.entity.LivingEntity;
|
||||||
import org.bukkit.event.EventHandler;
|
import org.bukkit.event.EventHandler;
|
||||||
import org.bukkit.event.EventPriority;
|
import org.bukkit.event.EventPriority;
|
||||||
|
|
|
@ -1,7 +1,9 @@
|
||||||
package com.earth2me.essentials;
|
package com.earth2me.essentials;
|
||||||
|
|
||||||
|
import net.ess3.api.IEssentials;
|
||||||
|
import net.ess3.api.IUser;
|
||||||
import static com.earth2me.essentials.I18n._;
|
import static com.earth2me.essentials.I18n._;
|
||||||
import com.earth2me.essentials.api.ITeleport;
|
import net.ess3.api.ITeleport;
|
||||||
import com.earth2me.essentials.utils.DateUtil;
|
import com.earth2me.essentials.utils.DateUtil;
|
||||||
import com.earth2me.essentials.utils.LocationUtil;
|
import com.earth2me.essentials.utils.LocationUtil;
|
||||||
import java.util.Calendar;
|
import java.util.Calendar;
|
||||||
|
|
|
@ -1,5 +1,7 @@
|
||||||
package com.earth2me.essentials;
|
package com.earth2me.essentials;
|
||||||
|
|
||||||
|
import net.ess3.api.IEssentials;
|
||||||
|
import net.ess3.api.IUser;
|
||||||
import static com.earth2me.essentials.I18n._;
|
import static com.earth2me.essentials.I18n._;
|
||||||
import org.bukkit.Location;
|
import org.bukkit.Location;
|
||||||
import org.bukkit.event.player.PlayerTeleportEvent.TeleportCause;
|
import org.bukkit.event.player.PlayerTeleportEvent.TeleportCause;
|
||||||
|
|
|
@ -1,5 +1,7 @@
|
||||||
package com.earth2me.essentials;
|
package com.earth2me.essentials;
|
||||||
|
|
||||||
|
import net.ess3.api.IEssentials;
|
||||||
|
import net.ess3.api.IUser;
|
||||||
import static com.earth2me.essentials.I18n._;
|
import static com.earth2me.essentials.I18n._;
|
||||||
import com.earth2me.essentials.craftbukkit.InventoryWorkaround;
|
import com.earth2me.essentials.craftbukkit.InventoryWorkaround;
|
||||||
import com.earth2me.essentials.craftbukkit.SetExpFix;
|
import com.earth2me.essentials.craftbukkit.SetExpFix;
|
||||||
|
|
|
@ -1,5 +1,7 @@
|
||||||
package com.earth2me.essentials;
|
package com.earth2me.essentials;
|
||||||
|
|
||||||
|
import net.ess3.api.IEssentials;
|
||||||
|
import net.ess3.api.IUser;
|
||||||
import static com.earth2me.essentials.I18n._;
|
import static com.earth2me.essentials.I18n._;
|
||||||
import com.earth2me.essentials.commands.IEssentialsCommand;
|
import com.earth2me.essentials.commands.IEssentialsCommand;
|
||||||
import com.earth2me.essentials.register.payment.Method;
|
import com.earth2me.essentials.register.payment.Method;
|
||||||
|
|
|
@ -1,5 +1,7 @@
|
||||||
package com.earth2me.essentials;
|
package com.earth2me.essentials;
|
||||||
|
|
||||||
|
import net.ess3.api.IEssentials;
|
||||||
|
import net.ess3.api.IUser;
|
||||||
import com.earth2me.essentials.utils.StringUtil;
|
import com.earth2me.essentials.utils.StringUtil;
|
||||||
import static com.earth2me.essentials.I18n._;
|
import static com.earth2me.essentials.I18n._;
|
||||||
import com.earth2me.essentials.utils.NumberUtil;
|
import com.earth2me.essentials.utils.NumberUtil;
|
||||||
|
|
|
@ -1,5 +1,6 @@
|
||||||
package com.earth2me.essentials;
|
package com.earth2me.essentials;
|
||||||
|
|
||||||
|
import net.ess3.api.IEssentials;
|
||||||
import com.earth2me.essentials.utils.StringUtil;
|
import com.earth2me.essentials.utils.StringUtil;
|
||||||
import com.google.common.cache.Cache;
|
import com.google.common.cache.Cache;
|
||||||
import com.google.common.cache.CacheBuilder;
|
import com.google.common.cache.CacheBuilder;
|
||||||
|
|
|
@ -2,9 +2,9 @@ package com.earth2me.essentials;
|
||||||
|
|
||||||
import com.earth2me.essentials.utils.StringUtil;
|
import com.earth2me.essentials.utils.StringUtil;
|
||||||
import static com.earth2me.essentials.I18n._;
|
import static com.earth2me.essentials.I18n._;
|
||||||
import com.earth2me.essentials.api.IWarps;
|
import net.ess3.api.IWarps;
|
||||||
import com.earth2me.essentials.api.InvalidNameException;
|
import net.ess3.api.InvalidNameException;
|
||||||
import com.earth2me.essentials.api.InvalidWorldException;
|
import net.ess3.api.InvalidWorldException;
|
||||||
import com.earth2me.essentials.commands.WarpNotFoundException;
|
import com.earth2me.essentials.commands.WarpNotFoundException;
|
||||||
import java.io.File;
|
import java.io.File;
|
||||||
import java.io.IOException;
|
import java.io.IOException;
|
||||||
|
|
|
@ -1,442 +1,7 @@
|
||||||
package com.earth2me.essentials.api;
|
package com.earth2me.essentials.api;
|
||||||
|
|
||||||
import com.earth2me.essentials.EssentialsConf;
|
|
||||||
import static com.earth2me.essentials.I18n._;
|
|
||||||
import com.earth2me.essentials.IEssentials;
|
|
||||||
import com.earth2me.essentials.User;
|
|
||||||
import com.earth2me.essentials.utils.StringUtil;
|
|
||||||
import com.earth2me.essentials.utils.NumberUtil;
|
|
||||||
import java.io.File;
|
|
||||||
import java.math.BigDecimal;
|
|
||||||
import java.math.MathContext;
|
|
||||||
import java.util.logging.Level;
|
|
||||||
import java.util.logging.Logger;
|
|
||||||
|
|
||||||
|
public class Economy extends net.ess3.api.Economy
|
||||||
/**
|
|
||||||
* Instead of using this api directly, we recommend to use the register plugin: http://bit.ly/RegisterMethod
|
|
||||||
*/
|
|
||||||
public final class Economy
|
|
||||||
{
|
{
|
||||||
private Economy()
|
|
||||||
{
|
|
||||||
}
|
|
||||||
private static final Logger logger = Logger.getLogger("Minecraft");
|
|
||||||
private static IEssentials ess;
|
|
||||||
private static final String noCallBeforeLoad = "Essentials API is called before Essentials is loaded.";
|
|
||||||
public static final MathContext MATH_CONTEXT = MathContext.DECIMAL128;
|
|
||||||
|
|
||||||
/**
|
|
||||||
* @param aEss the ess to set
|
|
||||||
*/
|
|
||||||
public static void setEss(IEssentials aEss)
|
|
||||||
{
|
|
||||||
ess = aEss;
|
|
||||||
}
|
|
||||||
|
|
||||||
private static void createNPCFile(String name)
|
|
||||||
{
|
|
||||||
File folder = new File(ess.getDataFolder(), "userdata");
|
|
||||||
if (!folder.exists())
|
|
||||||
{
|
|
||||||
folder.mkdirs();
|
|
||||||
}
|
|
||||||
EssentialsConf npcConfig = new EssentialsConf(new File(folder, StringUtil.sanitizeFileName(name) + ".yml"));
|
|
||||||
npcConfig.load();
|
|
||||||
npcConfig.setProperty("npc", true);
|
|
||||||
npcConfig.setProperty("money", ess.getSettings().getStartingBalance());
|
|
||||||
npcConfig.forceSave();
|
|
||||||
}
|
|
||||||
|
|
||||||
private static void deleteNPC(String name)
|
|
||||||
{
|
|
||||||
File folder = new File(ess.getDataFolder(), "userdata");
|
|
||||||
if (!folder.exists())
|
|
||||||
{
|
|
||||||
folder.mkdirs();
|
|
||||||
}
|
|
||||||
File config = new File(folder, StringUtil.sanitizeFileName(name) + ".yml");
|
|
||||||
EssentialsConf npcConfig = new EssentialsConf(config);
|
|
||||||
npcConfig.load();
|
|
||||||
if (npcConfig.hasProperty("npc") && npcConfig.getBoolean("npc", false))
|
|
||||||
{
|
|
||||||
if (!config.delete())
|
|
||||||
{
|
|
||||||
logger.log(Level.WARNING, _("deleteFileError", config));
|
|
||||||
}
|
|
||||||
ess.getUserMap().removeUser(name);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
private static User getUserByName(String name)
|
|
||||||
{
|
|
||||||
if (ess == null)
|
|
||||||
{
|
|
||||||
throw new RuntimeException(noCallBeforeLoad);
|
|
||||||
}
|
|
||||||
return ess.getUser(name);
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Returns the balance of a user
|
|
||||||
*
|
|
||||||
* @param name Name of the user
|
|
||||||
* @return balance
|
|
||||||
* @throws UserDoesNotExistException
|
|
||||||
*/
|
|
||||||
@Deprecated
|
|
||||||
public static double getMoney(String name) throws UserDoesNotExistException
|
|
||||||
{
|
|
||||||
return getMoneyExact(name).doubleValue();
|
|
||||||
}
|
|
||||||
|
|
||||||
public static BigDecimal getMoneyExact(String name) throws UserDoesNotExistException
|
|
||||||
{
|
|
||||||
User user = getUserByName(name);
|
|
||||||
if (user == null)
|
|
||||||
{
|
|
||||||
throw new UserDoesNotExistException(name);
|
|
||||||
}
|
|
||||||
return user.getMoney();
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Sets the balance of a user
|
|
||||||
*
|
|
||||||
* @param name Name of the user
|
|
||||||
* @param balance The balance you want to set
|
|
||||||
* @throws UserDoesNotExistException If a user by that name does not exists
|
|
||||||
* @throws NoLoanPermittedException If the user is not allowed to have a negative balance
|
|
||||||
*/
|
|
||||||
@Deprecated
|
|
||||||
public static void setMoney(String name, double balance) throws UserDoesNotExistException, NoLoanPermittedException
|
|
||||||
{
|
|
||||||
try
|
|
||||||
{
|
|
||||||
setMoney(name, BigDecimal.valueOf(balance));
|
|
||||||
}
|
|
||||||
catch (ArithmeticException e)
|
|
||||||
{
|
|
||||||
logger.log(Level.WARNING, "Failed to set balance of " + name + " to " + balance + ": " + e.getMessage(), e);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
public static void setMoney(String name, BigDecimal balance) throws UserDoesNotExistException, NoLoanPermittedException
|
|
||||||
{
|
|
||||||
User user = getUserByName(name);
|
|
||||||
if (user == null)
|
|
||||||
{
|
|
||||||
throw new UserDoesNotExistException(name);
|
|
||||||
}
|
|
||||||
if (balance.compareTo(ess.getSettings().getMinMoney()) < 0)
|
|
||||||
{
|
|
||||||
throw new NoLoanPermittedException();
|
|
||||||
}
|
|
||||||
if (balance.signum() < 0 && !user.isAuthorized("essentials.eco.loan"))
|
|
||||||
{
|
|
||||||
throw new NoLoanPermittedException();
|
|
||||||
}
|
|
||||||
user.setMoney(balance);
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Adds money to the balance of a user
|
|
||||||
*
|
|
||||||
* @param name Name of the user
|
|
||||||
* @param amount The money you want to add
|
|
||||||
* @throws UserDoesNotExistException If a user by that name does not exists
|
|
||||||
* @throws NoLoanPermittedException If the user is not allowed to have a negative balance
|
|
||||||
*/
|
|
||||||
@Deprecated
|
|
||||||
public static void add(String name, double amount) throws UserDoesNotExistException, NoLoanPermittedException
|
|
||||||
{
|
|
||||||
try
|
|
||||||
{
|
|
||||||
add(name, BigDecimal.valueOf(amount));
|
|
||||||
}
|
|
||||||
catch (ArithmeticException e)
|
|
||||||
{
|
|
||||||
logger.log(Level.WARNING, "Failed to add " + amount + " to balance of " + name + ": " + e.getMessage(), e);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
public static void add(String name, BigDecimal amount) throws UserDoesNotExistException, NoLoanPermittedException, ArithmeticException
|
|
||||||
{
|
|
||||||
BigDecimal result = getMoneyExact(name).add(amount, MATH_CONTEXT);
|
|
||||||
setMoney(name, result);
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Substracts money from the balance of a user
|
|
||||||
*
|
|
||||||
* @param name Name of the user
|
|
||||||
* @param amount The money you want to substract
|
|
||||||
* @throws UserDoesNotExistException If a user by that name does not exists
|
|
||||||
* @throws NoLoanPermittedException If the user is not allowed to have a negative balance
|
|
||||||
*/
|
|
||||||
@Deprecated
|
|
||||||
public static void subtract(String name, double amount) throws UserDoesNotExistException, NoLoanPermittedException
|
|
||||||
{
|
|
||||||
try
|
|
||||||
{
|
|
||||||
substract(name, BigDecimal.valueOf(amount));
|
|
||||||
}
|
|
||||||
catch (ArithmeticException e)
|
|
||||||
{
|
|
||||||
logger.log(Level.WARNING, "Failed to substract " + amount + " of balance of " + name + ": " + e.getMessage(), e);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
public static void substract(String name, BigDecimal amount) throws UserDoesNotExistException, NoLoanPermittedException, ArithmeticException
|
|
||||||
{
|
|
||||||
BigDecimal result = getMoneyExact(name).subtract(amount, MATH_CONTEXT);
|
|
||||||
setMoney(name, result);
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Divides the balance of a user by a value
|
|
||||||
*
|
|
||||||
* @param name Name of the user
|
|
||||||
* @param value The balance is divided by this value
|
|
||||||
* @throws UserDoesNotExistException If a user by that name does not exists
|
|
||||||
* @throws NoLoanPermittedException If the user is not allowed to have a negative balance
|
|
||||||
*/
|
|
||||||
@Deprecated
|
|
||||||
public static void divide(String name, double amount) throws UserDoesNotExistException, NoLoanPermittedException
|
|
||||||
{
|
|
||||||
try
|
|
||||||
{
|
|
||||||
divide(name, BigDecimal.valueOf(amount));
|
|
||||||
}
|
|
||||||
catch (ArithmeticException e)
|
|
||||||
{
|
|
||||||
logger.log(Level.WARNING, "Failed to divide balance of " + name + " by " + amount + ": " + e.getMessage(), e);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
public static void divide(String name, BigDecimal amount) throws UserDoesNotExistException, NoLoanPermittedException, ArithmeticException
|
|
||||||
{
|
|
||||||
BigDecimal result = getMoneyExact(name).divide(amount, MATH_CONTEXT);
|
|
||||||
setMoney(name, result);
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Multiplies the balance of a user by a value
|
|
||||||
*
|
|
||||||
* @param name Name of the user
|
|
||||||
* @param value The balance is multiplied by this value
|
|
||||||
* @throws UserDoesNotExistException If a user by that name does not exists
|
|
||||||
* @throws NoLoanPermittedException If the user is not allowed to have a negative balance
|
|
||||||
*/
|
|
||||||
@Deprecated
|
|
||||||
public static void multiply(String name, double amount) throws UserDoesNotExistException, NoLoanPermittedException
|
|
||||||
{
|
|
||||||
try
|
|
||||||
{
|
|
||||||
multiply(name, BigDecimal.valueOf(amount));
|
|
||||||
}
|
|
||||||
catch (ArithmeticException e)
|
|
||||||
{
|
|
||||||
logger.log(Level.WARNING, "Failed to multiply balance of " + name + " by " + amount + ": " + e.getMessage(), e);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
public static void multiply(String name, BigDecimal amount) throws UserDoesNotExistException, NoLoanPermittedException, ArithmeticException
|
|
||||||
{
|
|
||||||
BigDecimal result = getMoneyExact(name).multiply(amount, MATH_CONTEXT);
|
|
||||||
setMoney(name, result);
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Resets the balance of a user to the starting balance
|
|
||||||
*
|
|
||||||
* @param name Name of the user
|
|
||||||
* @throws UserDoesNotExistException If a user by that name does not exists
|
|
||||||
* @throws NoLoanPermittedException If the user is not allowed to have a negative balance
|
|
||||||
*/
|
|
||||||
public static void resetBalance(String name) throws UserDoesNotExistException, NoLoanPermittedException
|
|
||||||
{
|
|
||||||
if (ess == null)
|
|
||||||
{
|
|
||||||
throw new RuntimeException(noCallBeforeLoad);
|
|
||||||
}
|
|
||||||
setMoney(name, ess.getSettings().getStartingBalance());
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
|
||||||
* @param name Name of the user
|
|
||||||
* @param amount The amount of money the user should have
|
|
||||||
* @return true, if the user has more or an equal amount of money
|
|
||||||
* @throws UserDoesNotExistException If a user by that name does not exists
|
|
||||||
*/
|
|
||||||
@Deprecated
|
|
||||||
public static boolean hasEnough(String name, double amount) throws UserDoesNotExistException
|
|
||||||
{
|
|
||||||
try
|
|
||||||
{
|
|
||||||
return hasEnough(name, BigDecimal.valueOf(amount));
|
|
||||||
}
|
|
||||||
catch (ArithmeticException e)
|
|
||||||
{
|
|
||||||
logger.log(Level.WARNING, "Failed to compare balance of " + name + " with " + amount + ": " + e.getMessage(), e);
|
|
||||||
return false;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
public static boolean hasEnough(String name, BigDecimal amount) throws UserDoesNotExistException, ArithmeticException
|
|
||||||
{
|
|
||||||
return amount.compareTo(getMoneyExact(name)) <= 0;
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
|
||||||
* @param name Name of the user
|
|
||||||
* @param amount The amount of money the user should have
|
|
||||||
* @return true, if the user has more money
|
|
||||||
* @throws UserDoesNotExistException If a user by that name does not exists
|
|
||||||
*/
|
|
||||||
@Deprecated
|
|
||||||
public static boolean hasMore(String name, double amount) throws UserDoesNotExistException
|
|
||||||
{
|
|
||||||
try
|
|
||||||
{
|
|
||||||
return hasMore(name, BigDecimal.valueOf(amount));
|
|
||||||
}
|
|
||||||
catch (ArithmeticException e)
|
|
||||||
{
|
|
||||||
logger.log(Level.WARNING, "Failed to compare balance of " + name + " with " + amount + ": " + e.getMessage(), e);
|
|
||||||
return false;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
public static boolean hasMore(String name, BigDecimal amount) throws UserDoesNotExistException, ArithmeticException
|
|
||||||
{
|
|
||||||
return amount.compareTo(getMoneyExact(name)) < 0;
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
|
||||||
* @param name Name of the user
|
|
||||||
* @param amount The amount of money the user should not have
|
|
||||||
* @return true, if the user has less money
|
|
||||||
* @throws UserDoesNotExistException If a user by that name does not exists
|
|
||||||
*/
|
|
||||||
@Deprecated
|
|
||||||
public static boolean hasLess(String name, double amount) throws UserDoesNotExistException
|
|
||||||
{
|
|
||||||
try
|
|
||||||
{
|
|
||||||
return hasLess(name, BigDecimal.valueOf(amount));
|
|
||||||
}
|
|
||||||
catch (ArithmeticException e)
|
|
||||||
{
|
|
||||||
logger.log(Level.WARNING, "Failed to compare balance of " + name + " with " + amount + ": " + e.getMessage(), e);
|
|
||||||
return false;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
public static boolean hasLess(String name, BigDecimal amount) throws UserDoesNotExistException, ArithmeticException
|
|
||||||
{
|
|
||||||
return amount.compareTo(getMoneyExact(name)) > 0;
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Test if the user has a negative balance
|
|
||||||
*
|
|
||||||
* @param name Name of the user
|
|
||||||
* @return true, if the user has a negative balance
|
|
||||||
* @throws UserDoesNotExistException If a user by that name does not exists
|
|
||||||
*/
|
|
||||||
public static boolean isNegative(String name) throws UserDoesNotExistException
|
|
||||||
{
|
|
||||||
return getMoneyExact(name).signum() < 0;
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Formats the amount of money like all other Essentials functions. Example: $100000 or $12345.67
|
|
||||||
*
|
|
||||||
* @param amount The amount of money
|
|
||||||
* @return Formatted money
|
|
||||||
*/
|
|
||||||
@Deprecated
|
|
||||||
public static String format(double amount)
|
|
||||||
{
|
|
||||||
try
|
|
||||||
{
|
|
||||||
return format(BigDecimal.valueOf(amount));
|
|
||||||
}
|
|
||||||
catch (NumberFormatException e)
|
|
||||||
{
|
|
||||||
logger.log(Level.WARNING, "Failed to display " + amount + ": " + e.getMessage(), e);
|
|
||||||
return "NaN";
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
public static String format(BigDecimal amount)
|
|
||||||
{
|
|
||||||
if (ess == null)
|
|
||||||
{
|
|
||||||
throw new RuntimeException(noCallBeforeLoad);
|
|
||||||
}
|
|
||||||
return NumberUtil.displayCurrency(amount, ess);
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Test if a player exists to avoid the UserDoesNotExistException
|
|
||||||
*
|
|
||||||
* @param name Name of the user
|
|
||||||
* @return true, if the user exists
|
|
||||||
*/
|
|
||||||
public static boolean playerExists(String name)
|
|
||||||
{
|
|
||||||
return getUserByName(name) != null;
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Test if a player is a npc
|
|
||||||
*
|
|
||||||
* @param name Name of the player
|
|
||||||
* @return true, if it's a npc
|
|
||||||
* @throws UserDoesNotExistException
|
|
||||||
*/
|
|
||||||
public static boolean isNPC(String name) throws UserDoesNotExistException
|
|
||||||
{
|
|
||||||
User user = getUserByName(name);
|
|
||||||
if (user == null)
|
|
||||||
{
|
|
||||||
throw new UserDoesNotExistException(name);
|
|
||||||
}
|
|
||||||
return user.isNPC();
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Creates dummy files for a npc, if there is no player yet with that name.
|
|
||||||
*
|
|
||||||
* @param name Name of the player
|
|
||||||
* @return true, if a new npc was created
|
|
||||||
*/
|
|
||||||
public static boolean createNPC(String name)
|
|
||||||
{
|
|
||||||
User user = getUserByName(name);
|
|
||||||
if (user == null)
|
|
||||||
{
|
|
||||||
createNPCFile(name);
|
|
||||||
return true;
|
|
||||||
}
|
|
||||||
return false;
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Deletes a user, if it is marked as npc.
|
|
||||||
*
|
|
||||||
* @param name Name of the player
|
|
||||||
* @throws UserDoesNotExistException
|
|
||||||
*/
|
|
||||||
public static void removeNPC(String name) throws UserDoesNotExistException
|
|
||||||
{
|
|
||||||
User user = getUserByName(name);
|
|
||||||
if (user == null)
|
|
||||||
{
|
|
||||||
throw new UserDoesNotExistException(name);
|
|
||||||
}
|
|
||||||
deleteNPC(name);
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|
|
@ -1,13 +1,7 @@
|
||||||
package com.earth2me.essentials.api;
|
package com.earth2me.essentials.api;
|
||||||
|
|
||||||
import java.util.Locale;
|
|
||||||
|
|
||||||
|
public interface II18n extends net.ess3.api.II18n
|
||||||
public interface II18n
|
|
||||||
{
|
{
|
||||||
/**
|
|
||||||
* Gets the current locale setting
|
|
||||||
* @return the current locale, if not set it will return the default locale
|
|
||||||
*/
|
|
||||||
Locale getCurrentLocale();
|
|
||||||
}
|
}
|
||||||
|
|
|
@ -1,11 +1,8 @@
|
||||||
|
|
||||||
package com.earth2me.essentials.api;
|
package com.earth2me.essentials.api;
|
||||||
|
|
||||||
import org.bukkit.inventory.ItemStack;
|
|
||||||
|
|
||||||
|
public interface IItemDb extends net.ess3.api.IItemDb
|
||||||
public interface IItemDb
|
|
||||||
{
|
{
|
||||||
ItemStack get(final String name, final int quantity) throws Exception;
|
|
||||||
|
|
||||||
ItemStack get(final String name) throws Exception;
|
|
||||||
}
|
}
|
||||||
|
|
|
@ -1,52 +1,7 @@
|
||||||
package com.earth2me.essentials.api;
|
package com.earth2me.essentials.api;
|
||||||
|
|
||||||
import java.util.Collection;
|
|
||||||
import org.bukkit.Location;
|
|
||||||
|
|
||||||
|
public interface IJails extends net.ess3.api.IJails
|
||||||
public interface IJails extends IReload
|
|
||||||
{
|
{
|
||||||
/**
|
|
||||||
* Gets the location of the jail with the given name
|
|
||||||
* @param jailName The name of the jail
|
|
||||||
* @return the location of the jail
|
|
||||||
* @throws Exception if the jail does not exist
|
|
||||||
*/
|
|
||||||
Location getJail(String jailName) throws Exception;
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Gets a list of jails by names
|
|
||||||
* @return a list of jails, if there are none the list will be empty
|
|
||||||
* @throws Exception
|
|
||||||
*/
|
|
||||||
Collection<String> getList() throws Exception;
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Gets the number of jails
|
|
||||||
* @return the size of the list of jails
|
|
||||||
*/
|
|
||||||
int getCount();
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Remove the jail with the given name
|
|
||||||
* @param jail the jail to remove
|
|
||||||
* @throws Exception if the jail does not exist
|
|
||||||
*/
|
|
||||||
void removeJail(String jail) throws Exception;
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Attempts to send the given user to the given jail
|
|
||||||
* @param user the user to send to jail
|
|
||||||
* @param jail the jail to send the user to
|
|
||||||
* @throws Exception if the user is offline or jail does not exist
|
|
||||||
*/
|
|
||||||
void sendToJail(com.earth2me.essentials.IUser user, String jail) throws Exception;
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Set a new jail with the given name and location
|
|
||||||
* @param jailName the name of the jail being set
|
|
||||||
* @param loc the location of the jail being set
|
|
||||||
* @throws Exception
|
|
||||||
*/
|
|
||||||
void setJail(String jailName, Location loc) throws Exception;
|
|
||||||
}
|
}
|
||||||
|
|
|
@ -1,7 +1,7 @@
|
||||||
package com.earth2me.essentials.api;
|
package com.earth2me.essentials.api;
|
||||||
|
|
||||||
|
|
||||||
public interface IReload
|
public interface IReload extends net.ess3.api.IReload
|
||||||
{
|
{
|
||||||
void onReload();
|
|
||||||
}
|
}
|
||||||
|
|
|
@ -1,130 +1,7 @@
|
||||||
package com.earth2me.essentials.api;
|
package com.earth2me.essentials.api;
|
||||||
|
|
||||||
import com.earth2me.essentials.IUser;
|
|
||||||
import com.earth2me.essentials.Trade;
|
|
||||||
import org.bukkit.Location;
|
|
||||||
import org.bukkit.entity.Player;
|
|
||||||
import org.bukkit.event.player.PlayerTeleportEvent.TeleportCause;
|
|
||||||
|
|
||||||
|
public interface ITeleport extends net.ess3.api.ITeleport
|
||||||
|
{
|
||||||
|
|
||||||
public interface ITeleport
|
|
||||||
{
|
|
||||||
/**
|
|
||||||
* Used to skip teleportPlayer delay when teleporting someone to a location or player.
|
|
||||||
*
|
|
||||||
* @param loc - Where should the player end up
|
|
||||||
* @param cooldown - If cooldown should be enforced
|
|
||||||
* @param cause - The reported teleportPlayer cause
|
|
||||||
* @throws Exception
|
|
||||||
*/
|
|
||||||
void now(Location loc, boolean cooldown, TeleportCause cause) throws Exception;
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Used to skip teleportPlayer delay when teleporting someone to a location or player.
|
|
||||||
*
|
|
||||||
* @param entity - Where should the player end up
|
|
||||||
* @param cooldown - If cooldown should be enforced
|
|
||||||
* @param cause - The reported teleportPlayer cause
|
|
||||||
* @throws Exception
|
|
||||||
*/
|
|
||||||
void now(Player entity, boolean cooldown, TeleportCause cause) throws Exception;
|
|
||||||
|
|
||||||
@Deprecated
|
|
||||||
void teleport(Location loc, Trade chargeFor) throws Exception;
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Teleport a player to a specific location
|
|
||||||
*
|
|
||||||
* @param loc - Where should the player end up
|
|
||||||
* @param chargeFor - What the user will be charged if teleportPlayer is successful
|
|
||||||
* @param cause - The reported teleportPlayer cause
|
|
||||||
* @throws Exception
|
|
||||||
*/
|
|
||||||
void teleport(Location loc, Trade chargeFor, TeleportCause cause) throws Exception;
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Teleport a player to a specific player
|
|
||||||
*
|
|
||||||
* @param entity - Where should the player end up
|
|
||||||
* @param chargeFor - What the user will be charged if teleportPlayer is successful
|
|
||||||
* @param cause - The reported teleportPlayer cause
|
|
||||||
* @throws Exception
|
|
||||||
*/
|
|
||||||
void teleport(Player entity, Trade chargeFor, TeleportCause cause) throws Exception;
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Teleport a player to a specific location
|
|
||||||
*
|
|
||||||
* @param otherUser - Which user will be teleported
|
|
||||||
* @param loc - Where should the player end up
|
|
||||||
* @param chargeFor - What the user will be charged if teleportPlayer is successful
|
|
||||||
* @param cause - The reported teleportPlayer cause
|
|
||||||
* @throws Exception
|
|
||||||
*/
|
|
||||||
void teleportPlayer(IUser otherUser, Location loc, Trade chargeFor, TeleportCause cause) throws Exception;
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Teleport a player to a specific player
|
|
||||||
*
|
|
||||||
* @param otherUser - Which user will be teleported
|
|
||||||
* @param entity - Where should the player end up
|
|
||||||
* @param chargeFor - What the user will be charged if teleportPlayer is successful
|
|
||||||
* @param cause - The reported teleportPlayer cause
|
|
||||||
* @throws Exception
|
|
||||||
*/
|
|
||||||
void teleportPlayer(IUser otherUser, Player entity, Trade chargeFor, TeleportCause cause) throws Exception;
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Teleport wrapper used to handle teleporting players to them, like /tphere
|
|
||||||
*
|
|
||||||
* @param otherUser - Which user will be teleported
|
|
||||||
* @param chargeFor - What the user will be charged if teleportPlayer is successful
|
|
||||||
* @param cause - The reported teleportPlayer cause
|
|
||||||
* @throws Exception
|
|
||||||
*/
|
|
||||||
public void teleportToMe(IUser otherUser, Trade chargeFor, TeleportCause cause) throws Exception;
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Teleport wrapper used to handle tp fallback on /jail and /home
|
|
||||||
*
|
|
||||||
* @param chargeFor - What the user will be charged if teleportPlayer is successful
|
|
||||||
* @param cause - The reported teleportPlayer cause
|
|
||||||
* @throws Exception
|
|
||||||
*/
|
|
||||||
public void respawn(final Trade chargeFor, TeleportCause cause) throws Exception;
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Teleport wrapper used to handle /warp teleports
|
|
||||||
*
|
|
||||||
* @param otherUser - Which user will be teleported
|
|
||||||
* @param warp - The name of the warp the user will be teleported too.
|
|
||||||
* @param chargeFor - What the user will be charged if teleportPlayer is successful
|
|
||||||
* @param cause - The reported teleportPlayer cause
|
|
||||||
* @throws Exception
|
|
||||||
*/
|
|
||||||
public void warp(IUser otherUser, String warp, Trade chargeFor, TeleportCause cause) throws Exception;
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Teleport wrapper used to handle /back teleports
|
|
||||||
*
|
|
||||||
* @param chargeFor - What the user will be charged if teleportPlayer is successful
|
|
||||||
* @throws Exception
|
|
||||||
*/
|
|
||||||
public void back(Trade chargeFor) throws Exception;
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Teleport wrapper used to handle throwing user home after a jail sentence
|
|
||||||
*
|
|
||||||
* @throws Exception
|
|
||||||
*/
|
|
||||||
public void back() throws Exception;
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Teleport wrapper used to handle /home teleports
|
|
||||||
*
|
|
||||||
* @param loc - Location where player will be teleported too
|
|
||||||
* @param chargeFor - What the user will be charged if teleportPlayer is successful
|
|
||||||
* @throws Exception
|
|
||||||
*/
|
|
||||||
public void home(Location loc, Trade chargeFor) throws Exception;
|
|
||||||
}
|
}
|
||||||
|
|
|
@ -1,69 +1,8 @@
|
||||||
package com.earth2me.essentials.api;
|
package com.earth2me.essentials.api;
|
||||||
|
|
||||||
import com.earth2me.essentials.IConf;
|
|
||||||
import java.io.File;
|
|
||||||
import java.util.Collection;
|
|
||||||
|
|
||||||
import com.earth2me.essentials.commands.WarpNotFoundException;
|
|
||||||
import org.bukkit.Location;
|
|
||||||
|
|
||||||
|
|
||||||
public interface IWarps extends IConf
|
public interface IWarps extends net.ess3.api.IWarps
|
||||||
{
|
{
|
||||||
/**
|
|
||||||
* Get a warp by name
|
|
||||||
*
|
|
||||||
* @param warp - Warp name
|
|
||||||
* @return - Location the warp is set to
|
|
||||||
* @throws WarpNotFoundException When the warp is not found
|
|
||||||
* @throws InvalidWorldException When the world the warp is in is not found
|
|
||||||
*/
|
|
||||||
Location getWarp(String warp) throws WarpNotFoundException, InvalidWorldException;
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Gets a list of warps
|
|
||||||
*
|
|
||||||
* @return - A {@link Collection} of warps
|
|
||||||
*/
|
|
||||||
Collection<String> getList();
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Gets the number of warps
|
|
||||||
*
|
|
||||||
* @return the size of the list of warps
|
|
||||||
*/
|
|
||||||
int getCount();
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Delete a warp from the warp DB
|
|
||||||
*
|
|
||||||
* @param name - Name of warp
|
|
||||||
* @throws Exception
|
|
||||||
*/
|
|
||||||
void removeWarp(String name) throws Exception;
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Set a warp
|
|
||||||
*
|
|
||||||
* @param name - Name of warp
|
|
||||||
* @param loc - Location of warp
|
|
||||||
* @throws Exception
|
|
||||||
*/
|
|
||||||
void setWarp(String name, Location loc) throws Exception;
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Check to see if the file is empty
|
|
||||||
*
|
|
||||||
* @return
|
|
||||||
*/
|
|
||||||
boolean isEmpty();
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Get a warp file note: this is not yet implemented, as 3.x uses different storage methods
|
|
||||||
*
|
|
||||||
* @param name - name of file
|
|
||||||
* @return - an instance of the file
|
|
||||||
* @throws InvalidNameException - When the file is not found
|
|
||||||
*/
|
|
||||||
File getWarpFile(String name) throws InvalidNameException;
|
|
||||||
}
|
}
|
||||||
|
|
|
@ -1,12 +1,7 @@
|
||||||
package com.earth2me.essentials.api;
|
package com.earth2me.essentials.api;
|
||||||
|
|
||||||
import static com.earth2me.essentials.I18n._;
|
|
||||||
|
|
||||||
|
public class NoLoanPermittedException extends net.ess3.api.NoLoanPermittedException
|
||||||
public class NoLoanPermittedException extends Exception
|
|
||||||
{
|
{
|
||||||
public NoLoanPermittedException()
|
|
||||||
{
|
|
||||||
super(_("negativeBalanceError"));
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|
|
@ -1,5 +1,6 @@
|
||||||
package com.earth2me.essentials.commands;
|
package com.earth2me.essentials.commands;
|
||||||
|
|
||||||
|
import net.ess3.api.IUser;
|
||||||
import com.earth2me.essentials.utils.StringUtil;
|
import com.earth2me.essentials.utils.StringUtil;
|
||||||
import static com.earth2me.essentials.I18n._;
|
import static com.earth2me.essentials.I18n._;
|
||||||
import com.earth2me.essentials.*;
|
import com.earth2me.essentials.*;
|
||||||
|
|
|
@ -3,7 +3,7 @@ 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;
|
||||||
import com.earth2me.essentials.utils.StringUtil;
|
import com.earth2me.essentials.utils.StringUtil;
|
||||||
import com.earth2me.essentials.api.IWarps;
|
import net.ess3.api.IWarps;
|
||||||
import com.earth2me.essentials.utils.NumberUtil;
|
import com.earth2me.essentials.utils.NumberUtil;
|
||||||
import org.bukkit.Location;
|
import org.bukkit.Location;
|
||||||
import org.bukkit.Server;
|
import org.bukkit.Server;
|
||||||
|
|
|
@ -1,11 +1,11 @@
|
||||||
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.IUser;
|
import net.ess3.api.IUser;
|
||||||
import com.earth2me.essentials.Trade;
|
import com.earth2me.essentials.Trade;
|
||||||
import com.earth2me.essentials.User;
|
import com.earth2me.essentials.User;
|
||||||
import com.earth2me.essentials.utils.StringUtil;
|
import com.earth2me.essentials.utils.StringUtil;
|
||||||
import com.earth2me.essentials.api.IWarps;
|
import net.ess3.api.IWarps;
|
||||||
import com.earth2me.essentials.utils.NumberUtil;
|
import com.earth2me.essentials.utils.NumberUtil;
|
||||||
import java.math.BigDecimal;
|
import java.math.BigDecimal;
|
||||||
import java.util.ArrayList;
|
import java.util.ArrayList;
|
||||||
|
|
|
@ -1,5 +1,6 @@
|
||||||
package com.earth2me.essentials.commands;
|
package com.earth2me.essentials.commands;
|
||||||
|
|
||||||
|
import net.ess3.api.IEssentials;
|
||||||
import com.earth2me.essentials.*;
|
import com.earth2me.essentials.*;
|
||||||
import static com.earth2me.essentials.I18n._;
|
import static com.earth2me.essentials.I18n._;
|
||||||
import com.earth2me.essentials.utils.FormatUtil;
|
import com.earth2me.essentials.utils.FormatUtil;
|
||||||
|
|
|
@ -1,6 +1,6 @@
|
||||||
package com.earth2me.essentials.commands;
|
package com.earth2me.essentials.commands;
|
||||||
|
|
||||||
import com.earth2me.essentials.IEssentials;
|
import net.ess3.api.IEssentials;
|
||||||
import com.earth2me.essentials.IEssentialsModule;
|
import com.earth2me.essentials.IEssentialsModule;
|
||||||
import com.earth2me.essentials.User;
|
import com.earth2me.essentials.User;
|
||||||
import org.bukkit.Server;
|
import org.bukkit.Server;
|
||||||
|
|
|
@ -1,6 +1,6 @@
|
||||||
package com.earth2me.essentials.metrics;
|
package com.earth2me.essentials.metrics;
|
||||||
|
|
||||||
import com.earth2me.essentials.IEssentials;
|
import net.ess3.api.IEssentials;
|
||||||
import com.earth2me.essentials.User;
|
import com.earth2me.essentials.User;
|
||||||
import java.util.logging.Level;
|
import java.util.logging.Level;
|
||||||
import org.bukkit.Server;
|
import org.bukkit.Server;
|
||||||
|
|
|
@ -1,6 +1,6 @@
|
||||||
package com.earth2me.essentials.metrics;
|
package com.earth2me.essentials.metrics;
|
||||||
|
|
||||||
import com.earth2me.essentials.IEssentials;
|
import net.ess3.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;
|
||||||
|
|
|
@ -1,6 +1,6 @@
|
||||||
package com.earth2me.essentials.perm;
|
package com.earth2me.essentials.perm;
|
||||||
|
|
||||||
import com.earth2me.essentials.IEssentials;
|
import net.ess3.api.IEssentials;
|
||||||
import org.bukkit.entity.Player;
|
import org.bukkit.entity.Player;
|
||||||
import org.bukkit.plugin.Plugin;
|
import org.bukkit.plugin.Plugin;
|
||||||
|
|
||||||
|
|
|
@ -1,5 +1,6 @@
|
||||||
package com.earth2me.essentials.signs;
|
package com.earth2me.essentials.signs;
|
||||||
|
|
||||||
|
import net.ess3.api.IEssentials;
|
||||||
import static com.earth2me.essentials.I18n._;
|
import static com.earth2me.essentials.I18n._;
|
||||||
import com.earth2me.essentials.*;
|
import com.earth2me.essentials.*;
|
||||||
import com.earth2me.essentials.utils.NumberUtil;
|
import com.earth2me.essentials.utils.NumberUtil;
|
||||||
|
|
|
@ -1,7 +1,7 @@
|
||||||
package com.earth2me.essentials.signs;
|
package com.earth2me.essentials.signs;
|
||||||
|
|
||||||
import static com.earth2me.essentials.I18n._;
|
import static com.earth2me.essentials.I18n._;
|
||||||
import com.earth2me.essentials.IEssentials;
|
import net.ess3.api.IEssentials;
|
||||||
import com.earth2me.essentials.User;
|
import com.earth2me.essentials.User;
|
||||||
import com.earth2me.essentials.utils.NumberUtil;
|
import com.earth2me.essentials.utils.NumberUtil;
|
||||||
|
|
||||||
|
|
|
@ -1,6 +1,6 @@
|
||||||
package com.earth2me.essentials.signs;
|
package com.earth2me.essentials.signs;
|
||||||
|
|
||||||
import com.earth2me.essentials.IEssentials;
|
import net.ess3.api.IEssentials;
|
||||||
import com.earth2me.essentials.User;
|
import com.earth2me.essentials.User;
|
||||||
import com.earth2me.essentials.utils.FormatUtil;
|
import com.earth2me.essentials.utils.FormatUtil;
|
||||||
import java.util.logging.Level;
|
import java.util.logging.Level;
|
||||||
|
|
|
@ -1,7 +1,7 @@
|
||||||
package com.earth2me.essentials.signs;
|
package com.earth2me.essentials.signs;
|
||||||
|
|
||||||
import com.earth2me.essentials.ChargeException;
|
import com.earth2me.essentials.ChargeException;
|
||||||
import com.earth2me.essentials.IEssentials;
|
import net.ess3.api.IEssentials;
|
||||||
import com.earth2me.essentials.Trade;
|
import com.earth2me.essentials.Trade;
|
||||||
import com.earth2me.essentials.User;
|
import com.earth2me.essentials.User;
|
||||||
|
|
||||||
|
|
|
@ -1,6 +1,6 @@
|
||||||
package com.earth2me.essentials.signs;
|
package com.earth2me.essentials.signs;
|
||||||
|
|
||||||
import com.earth2me.essentials.IEssentials;
|
import net.ess3.api.IEssentials;
|
||||||
import com.earth2me.essentials.User;
|
import com.earth2me.essentials.User;
|
||||||
|
|
||||||
|
|
||||||
|
|
|
@ -1,5 +1,6 @@
|
||||||
package com.earth2me.essentials.signs;
|
package com.earth2me.essentials.signs;
|
||||||
|
|
||||||
|
import net.ess3.api.IEssentials;
|
||||||
import static com.earth2me.essentials.I18n._;
|
import static com.earth2me.essentials.I18n._;
|
||||||
import com.earth2me.essentials.*;
|
import com.earth2me.essentials.*;
|
||||||
import java.util.Locale;
|
import java.util.Locale;
|
||||||
|
|
|
@ -1,6 +1,6 @@
|
||||||
package com.earth2me.essentials.signs;
|
package com.earth2me.essentials.signs;
|
||||||
|
|
||||||
import com.earth2me.essentials.IEssentials;
|
import net.ess3.api.IEssentials;
|
||||||
import org.bukkit.Material;
|
import org.bukkit.Material;
|
||||||
import org.bukkit.block.Block;
|
import org.bukkit.block.Block;
|
||||||
import org.bukkit.event.EventHandler;
|
import org.bukkit.event.EventHandler;
|
||||||
|
|
|
@ -1,7 +1,7 @@
|
||||||
package com.earth2me.essentials.signs;
|
package com.earth2me.essentials.signs;
|
||||||
|
|
||||||
import static com.earth2me.essentials.I18n._;
|
import static com.earth2me.essentials.I18n._;
|
||||||
import com.earth2me.essentials.IEssentials;
|
import net.ess3.api.IEssentials;
|
||||||
import com.earth2me.essentials.Trade;
|
import com.earth2me.essentials.Trade;
|
||||||
import com.earth2me.essentials.User;
|
import com.earth2me.essentials.User;
|
||||||
import org.bukkit.Material;
|
import org.bukkit.Material;
|
||||||
|
|
|
@ -2,7 +2,7 @@ package com.earth2me.essentials.signs;
|
||||||
|
|
||||||
import com.earth2me.essentials.ChargeException;
|
import com.earth2me.essentials.ChargeException;
|
||||||
import static com.earth2me.essentials.I18n._;
|
import static com.earth2me.essentials.I18n._;
|
||||||
import com.earth2me.essentials.IEssentials;
|
import net.ess3.api.IEssentials;
|
||||||
import com.earth2me.essentials.Trade;
|
import com.earth2me.essentials.Trade;
|
||||||
import com.earth2me.essentials.User;
|
import com.earth2me.essentials.User;
|
||||||
import java.util.Locale;
|
import java.util.Locale;
|
||||||
|
|
|
@ -2,7 +2,7 @@ package com.earth2me.essentials.signs;
|
||||||
|
|
||||||
import com.earth2me.essentials.ChargeException;
|
import com.earth2me.essentials.ChargeException;
|
||||||
import static com.earth2me.essentials.I18n._;
|
import static com.earth2me.essentials.I18n._;
|
||||||
import com.earth2me.essentials.IEssentials;
|
import net.ess3.api.IEssentials;
|
||||||
import com.earth2me.essentials.Trade;
|
import com.earth2me.essentials.Trade;
|
||||||
import com.earth2me.essentials.User;
|
import com.earth2me.essentials.User;
|
||||||
|
|
||||||
|
|
|
@ -1,7 +1,7 @@
|
||||||
package com.earth2me.essentials.signs;
|
package com.earth2me.essentials.signs;
|
||||||
|
|
||||||
import com.earth2me.essentials.ChargeException;
|
import com.earth2me.essentials.ChargeException;
|
||||||
import com.earth2me.essentials.IEssentials;
|
import net.ess3.api.IEssentials;
|
||||||
import com.earth2me.essentials.Trade;
|
import com.earth2me.essentials.Trade;
|
||||||
import com.earth2me.essentials.User;
|
import com.earth2me.essentials.User;
|
||||||
import com.earth2me.essentials.textreader.IText;
|
import com.earth2me.essentials.textreader.IText;
|
||||||
|
|
|
@ -1,5 +1,6 @@
|
||||||
package com.earth2me.essentials.signs;
|
package com.earth2me.essentials.signs;
|
||||||
|
|
||||||
|
import net.ess3.api.IEssentials;
|
||||||
import static com.earth2me.essentials.I18n._;
|
import static com.earth2me.essentials.I18n._;
|
||||||
import com.earth2me.essentials.*;
|
import com.earth2me.essentials.*;
|
||||||
import com.earth2me.essentials.commands.NoChargeException;
|
import com.earth2me.essentials.commands.NoChargeException;
|
||||||
|
|
|
@ -1,7 +1,7 @@
|
||||||
package com.earth2me.essentials.signs;
|
package com.earth2me.essentials.signs;
|
||||||
|
|
||||||
import static com.earth2me.essentials.I18n._;
|
import static com.earth2me.essentials.I18n._;
|
||||||
import com.earth2me.essentials.IEssentials;
|
import net.ess3.api.IEssentials;
|
||||||
import com.earth2me.essentials.User;
|
import com.earth2me.essentials.User;
|
||||||
import java.util.List;
|
import java.util.List;
|
||||||
|
|
||||||
|
|
|
@ -1,6 +1,6 @@
|
||||||
package com.earth2me.essentials.signs;
|
package com.earth2me.essentials.signs;
|
||||||
|
|
||||||
import com.earth2me.essentials.IEssentials;
|
import net.ess3.api.IEssentials;
|
||||||
import java.util.logging.Level;
|
import java.util.logging.Level;
|
||||||
import org.bukkit.Material;
|
import org.bukkit.Material;
|
||||||
import org.bukkit.block.Block;
|
import org.bukkit.block.Block;
|
||||||
|
|
|
@ -1,5 +1,6 @@
|
||||||
package com.earth2me.essentials.signs;
|
package com.earth2me.essentials.signs;
|
||||||
|
|
||||||
|
import net.ess3.api.IEssentials;
|
||||||
import static com.earth2me.essentials.I18n._;
|
import static com.earth2me.essentials.I18n._;
|
||||||
import com.earth2me.essentials.*;
|
import com.earth2me.essentials.*;
|
||||||
import com.earth2me.essentials.Trade.OverflowType;
|
import com.earth2me.essentials.Trade.OverflowType;
|
||||||
|
|
|
@ -2,7 +2,7 @@ package com.earth2me.essentials.signs;
|
||||||
|
|
||||||
import com.earth2me.essentials.ChargeException;
|
import com.earth2me.essentials.ChargeException;
|
||||||
import static com.earth2me.essentials.I18n._;
|
import static com.earth2me.essentials.I18n._;
|
||||||
import com.earth2me.essentials.IEssentials;
|
import net.ess3.api.IEssentials;
|
||||||
import com.earth2me.essentials.Trade;
|
import com.earth2me.essentials.Trade;
|
||||||
import com.earth2me.essentials.User;
|
import com.earth2me.essentials.User;
|
||||||
import com.earth2me.essentials.commands.Commandrepair;
|
import com.earth2me.essentials.commands.Commandrepair;
|
||||||
|
|
|
@ -1,7 +1,7 @@
|
||||||
package com.earth2me.essentials.signs;
|
package com.earth2me.essentials.signs;
|
||||||
|
|
||||||
import com.earth2me.essentials.ChargeException;
|
import com.earth2me.essentials.ChargeException;
|
||||||
import com.earth2me.essentials.IEssentials;
|
import net.ess3.api.IEssentials;
|
||||||
import com.earth2me.essentials.Trade;
|
import com.earth2me.essentials.Trade;
|
||||||
import com.earth2me.essentials.Trade.OverflowType;
|
import com.earth2me.essentials.Trade.OverflowType;
|
||||||
import com.earth2me.essentials.User;
|
import com.earth2me.essentials.User;
|
||||||
|
|
|
@ -1,5 +1,6 @@
|
||||||
package com.earth2me.essentials.signs;
|
package com.earth2me.essentials.signs;
|
||||||
|
|
||||||
|
import net.ess3.api.IEssentials;
|
||||||
import com.earth2me.essentials.*;
|
import com.earth2me.essentials.*;
|
||||||
import java.util.List;
|
import java.util.List;
|
||||||
|
|
||||||
|
|
|
@ -2,7 +2,7 @@ package com.earth2me.essentials.signs;
|
||||||
|
|
||||||
import com.earth2me.essentials.ChargeException;
|
import com.earth2me.essentials.ChargeException;
|
||||||
import static com.earth2me.essentials.I18n._;
|
import static com.earth2me.essentials.I18n._;
|
||||||
import com.earth2me.essentials.IEssentials;
|
import net.ess3.api.IEssentials;
|
||||||
import com.earth2me.essentials.Trade;
|
import com.earth2me.essentials.Trade;
|
||||||
import com.earth2me.essentials.User;
|
import com.earth2me.essentials.User;
|
||||||
|
|
||||||
|
|
|
@ -1,5 +1,6 @@
|
||||||
package com.earth2me.essentials.signs;
|
package com.earth2me.essentials.signs;
|
||||||
|
|
||||||
|
import net.ess3.api.IEssentials;
|
||||||
import static com.earth2me.essentials.I18n._;
|
import static com.earth2me.essentials.I18n._;
|
||||||
import com.earth2me.essentials.Trade.TradeType;
|
import com.earth2me.essentials.Trade.TradeType;
|
||||||
import com.earth2me.essentials.*;
|
import com.earth2me.essentials.*;
|
||||||
|
|
|
@ -2,7 +2,7 @@ package com.earth2me.essentials.signs;
|
||||||
|
|
||||||
import com.earth2me.essentials.ChargeException;
|
import com.earth2me.essentials.ChargeException;
|
||||||
import static com.earth2me.essentials.I18n._;
|
import static com.earth2me.essentials.I18n._;
|
||||||
import com.earth2me.essentials.IEssentials;
|
import net.ess3.api.IEssentials;
|
||||||
import com.earth2me.essentials.Trade;
|
import com.earth2me.essentials.Trade;
|
||||||
import com.earth2me.essentials.User;
|
import com.earth2me.essentials.User;
|
||||||
import org.bukkit.event.player.PlayerTeleportEvent.TeleportCause;
|
import org.bukkit.event.player.PlayerTeleportEvent.TeleportCause;
|
||||||
|
|
|
@ -2,7 +2,7 @@ package com.earth2me.essentials.signs;
|
||||||
|
|
||||||
import com.earth2me.essentials.ChargeException;
|
import com.earth2me.essentials.ChargeException;
|
||||||
import static com.earth2me.essentials.I18n._;
|
import static com.earth2me.essentials.I18n._;
|
||||||
import com.earth2me.essentials.IEssentials;
|
import net.ess3.api.IEssentials;
|
||||||
import com.earth2me.essentials.Trade;
|
import com.earth2me.essentials.Trade;
|
||||||
import com.earth2me.essentials.User;
|
import com.earth2me.essentials.User;
|
||||||
|
|
||||||
|
|
|
@ -1,6 +1,6 @@
|
||||||
package com.earth2me.essentials.storage;
|
package com.earth2me.essentials.storage;
|
||||||
|
|
||||||
import com.earth2me.essentials.IEssentials;
|
import net.ess3.api.IEssentials;
|
||||||
import java.io.File;
|
import java.io.File;
|
||||||
import java.io.FileNotFoundException;
|
import java.io.FileNotFoundException;
|
||||||
import java.io.FileReader;
|
import java.io.FileReader;
|
||||||
|
|
|
@ -1,6 +1,6 @@
|
||||||
package com.earth2me.essentials.storage;
|
package com.earth2me.essentials.storage;
|
||||||
|
|
||||||
import com.earth2me.essentials.IEssentials;
|
import net.ess3.api.IEssentials;
|
||||||
import java.io.File;
|
import java.io.File;
|
||||||
import java.io.FileNotFoundException;
|
import java.io.FileNotFoundException;
|
||||||
import java.io.PrintWriter;
|
import java.io.PrintWriter;
|
||||||
|
|
|
@ -1,8 +1,8 @@
|
||||||
package com.earth2me.essentials.storage;
|
package com.earth2me.essentials.storage;
|
||||||
|
|
||||||
import com.earth2me.essentials.IConf;
|
import com.earth2me.essentials.IConf;
|
||||||
import com.earth2me.essentials.IEssentials;
|
import net.ess3.api.IEssentials;
|
||||||
import com.earth2me.essentials.api.IReload;
|
import net.ess3.api.IReload;
|
||||||
import java.io.File;
|
import java.io.File;
|
||||||
import java.util.concurrent.locks.ReentrantReadWriteLock;
|
import java.util.concurrent.locks.ReentrantReadWriteLock;
|
||||||
import java.util.logging.Level;
|
import java.util.logging.Level;
|
||||||
|
|
|
@ -1,6 +1,6 @@
|
||||||
package com.earth2me.essentials.textreader;
|
package com.earth2me.essentials.textreader;
|
||||||
|
|
||||||
import com.earth2me.essentials.IEssentials;
|
import net.ess3.api.IEssentials;
|
||||||
import java.io.*;
|
import java.io.*;
|
||||||
import java.lang.ref.SoftReference;
|
import java.lang.ref.SoftReference;
|
||||||
import java.util.*;
|
import java.util.*;
|
||||||
|
|
|
@ -1,7 +1,7 @@
|
||||||
package com.earth2me.essentials.textreader;
|
package com.earth2me.essentials.textreader;
|
||||||
|
|
||||||
import static com.earth2me.essentials.I18n._;
|
import static com.earth2me.essentials.I18n._;
|
||||||
import com.earth2me.essentials.IEssentials;
|
import net.ess3.api.IEssentials;
|
||||||
import com.earth2me.essentials.User;
|
import com.earth2me.essentials.User;
|
||||||
import java.io.IOException;
|
import java.io.IOException;
|
||||||
import java.util.*;
|
import java.util.*;
|
||||||
|
|
|
@ -1,6 +1,6 @@
|
||||||
package com.earth2me.essentials.textreader;
|
package com.earth2me.essentials.textreader;
|
||||||
|
|
||||||
import com.earth2me.essentials.IEssentials;
|
import net.ess3.api.IEssentials;
|
||||||
import com.earth2me.essentials.User;
|
import com.earth2me.essentials.User;
|
||||||
import com.earth2me.essentials.utils.DescParseTickFormat;
|
import com.earth2me.essentials.utils.DescParseTickFormat;
|
||||||
import com.earth2me.essentials.utils.NumberUtil;
|
import com.earth2me.essentials.utils.NumberUtil;
|
||||||
|
|
|
@ -1,6 +1,6 @@
|
||||||
package com.earth2me.essentials.textreader;
|
package com.earth2me.essentials.textreader;
|
||||||
|
|
||||||
import com.earth2me.essentials.IEssentials;
|
import net.ess3.api.IEssentials;
|
||||||
import com.earth2me.essentials.User;
|
import com.earth2me.essentials.User;
|
||||||
import com.earth2me.essentials.utils.StringUtil;
|
import com.earth2me.essentials.utils.StringUtil;
|
||||||
import java.io.*;
|
import java.io.*;
|
||||||
|
|
|
@ -1,6 +1,6 @@
|
||||||
package com.earth2me.essentials.utils;
|
package com.earth2me.essentials.utils;
|
||||||
|
|
||||||
import com.earth2me.essentials.IUser;
|
import net.ess3.api.IUser;
|
||||||
import java.util.regex.Pattern;
|
import java.util.regex.Pattern;
|
||||||
|
|
||||||
|
|
||||||
|
|
|
@ -1,7 +1,7 @@
|
||||||
package com.earth2me.essentials.utils;
|
package com.earth2me.essentials.utils;
|
||||||
|
|
||||||
import static com.earth2me.essentials.I18n._;
|
import static com.earth2me.essentials.I18n._;
|
||||||
import com.earth2me.essentials.IEssentials;
|
import net.ess3.api.IEssentials;
|
||||||
import java.math.BigDecimal;
|
import java.math.BigDecimal;
|
||||||
import java.math.RoundingMode;
|
import java.math.RoundingMode;
|
||||||
import java.text.DecimalFormat;
|
import java.text.DecimalFormat;
|
||||||
|
|
441
Essentials/src/net/ess3/api/Economy.java
Normal file
441
Essentials/src/net/ess3/api/Economy.java
Normal file
|
@ -0,0 +1,441 @@
|
||||||
|
package net.ess3.api;
|
||||||
|
|
||||||
|
import com.earth2me.essentials.EssentialsConf;
|
||||||
|
import static com.earth2me.essentials.I18n._;
|
||||||
|
import com.earth2me.essentials.User;
|
||||||
|
import com.earth2me.essentials.utils.StringUtil;
|
||||||
|
import com.earth2me.essentials.utils.NumberUtil;
|
||||||
|
import java.io.File;
|
||||||
|
import java.math.BigDecimal;
|
||||||
|
import java.math.MathContext;
|
||||||
|
import java.util.logging.Level;
|
||||||
|
import java.util.logging.Logger;
|
||||||
|
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Instead of using this api directly, we recommend to use the register plugin: http://bit.ly/RegisterMethod
|
||||||
|
*/
|
||||||
|
public class Economy
|
||||||
|
{
|
||||||
|
public Economy()
|
||||||
|
{
|
||||||
|
}
|
||||||
|
private static final Logger logger = Logger.getLogger("Minecraft");
|
||||||
|
private static IEssentials ess;
|
||||||
|
private static final String noCallBeforeLoad = "Essentials API is called before Essentials is loaded.";
|
||||||
|
public static final MathContext MATH_CONTEXT = MathContext.DECIMAL128;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @param aEss the ess to set
|
||||||
|
*/
|
||||||
|
public static void setEss(IEssentials aEss)
|
||||||
|
{
|
||||||
|
ess = aEss;
|
||||||
|
}
|
||||||
|
|
||||||
|
private static void createNPCFile(String name)
|
||||||
|
{
|
||||||
|
File folder = new File(ess.getDataFolder(), "userdata");
|
||||||
|
if (!folder.exists())
|
||||||
|
{
|
||||||
|
folder.mkdirs();
|
||||||
|
}
|
||||||
|
EssentialsConf npcConfig = new EssentialsConf(new File(folder, StringUtil.sanitizeFileName(name) + ".yml"));
|
||||||
|
npcConfig.load();
|
||||||
|
npcConfig.setProperty("npc", true);
|
||||||
|
npcConfig.setProperty("money", ess.getSettings().getStartingBalance());
|
||||||
|
npcConfig.forceSave();
|
||||||
|
}
|
||||||
|
|
||||||
|
private static void deleteNPC(String name)
|
||||||
|
{
|
||||||
|
File folder = new File(ess.getDataFolder(), "userdata");
|
||||||
|
if (!folder.exists())
|
||||||
|
{
|
||||||
|
folder.mkdirs();
|
||||||
|
}
|
||||||
|
File config = new File(folder, StringUtil.sanitizeFileName(name) + ".yml");
|
||||||
|
EssentialsConf npcConfig = new EssentialsConf(config);
|
||||||
|
npcConfig.load();
|
||||||
|
if (npcConfig.hasProperty("npc") && npcConfig.getBoolean("npc", false))
|
||||||
|
{
|
||||||
|
if (!config.delete())
|
||||||
|
{
|
||||||
|
logger.log(Level.WARNING, _("deleteFileError", config));
|
||||||
|
}
|
||||||
|
ess.getUserMap().removeUser(name);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
private static User getUserByName(String name)
|
||||||
|
{
|
||||||
|
if (ess == null)
|
||||||
|
{
|
||||||
|
throw new RuntimeException(noCallBeforeLoad);
|
||||||
|
}
|
||||||
|
return ess.getUser(name);
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Returns the balance of a user
|
||||||
|
*
|
||||||
|
* @param name Name of the user
|
||||||
|
* @return balance
|
||||||
|
* @throws UserDoesNotExistException
|
||||||
|
*/
|
||||||
|
@Deprecated
|
||||||
|
public static double getMoney(String name) throws UserDoesNotExistException
|
||||||
|
{
|
||||||
|
return getMoneyExact(name).doubleValue();
|
||||||
|
}
|
||||||
|
|
||||||
|
public static BigDecimal getMoneyExact(String name) throws UserDoesNotExistException
|
||||||
|
{
|
||||||
|
User user = getUserByName(name);
|
||||||
|
if (user == null)
|
||||||
|
{
|
||||||
|
throw new UserDoesNotExistException(name);
|
||||||
|
}
|
||||||
|
return user.getMoney();
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Sets the balance of a user
|
||||||
|
*
|
||||||
|
* @param name Name of the user
|
||||||
|
* @param balance The balance you want to set
|
||||||
|
* @throws UserDoesNotExistException If a user by that name does not exists
|
||||||
|
* @throws NoLoanPermittedException If the user is not allowed to have a negative balance
|
||||||
|
*/
|
||||||
|
@Deprecated
|
||||||
|
public static void setMoney(String name, double balance) throws UserDoesNotExistException, NoLoanPermittedException
|
||||||
|
{
|
||||||
|
try
|
||||||
|
{
|
||||||
|
setMoney(name, BigDecimal.valueOf(balance));
|
||||||
|
}
|
||||||
|
catch (ArithmeticException e)
|
||||||
|
{
|
||||||
|
logger.log(Level.WARNING, "Failed to set balance of " + name + " to " + balance + ": " + e.getMessage(), e);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
public static void setMoney(String name, BigDecimal balance) throws UserDoesNotExistException, NoLoanPermittedException
|
||||||
|
{
|
||||||
|
User user = getUserByName(name);
|
||||||
|
if (user == null)
|
||||||
|
{
|
||||||
|
throw new UserDoesNotExistException(name);
|
||||||
|
}
|
||||||
|
if (balance.compareTo(ess.getSettings().getMinMoney()) < 0)
|
||||||
|
{
|
||||||
|
throw new NoLoanPermittedException();
|
||||||
|
}
|
||||||
|
if (balance.signum() < 0 && !user.isAuthorized("essentials.eco.loan"))
|
||||||
|
{
|
||||||
|
throw new NoLoanPermittedException();
|
||||||
|
}
|
||||||
|
user.setMoney(balance);
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Adds money to the balance of a user
|
||||||
|
*
|
||||||
|
* @param name Name of the user
|
||||||
|
* @param amount The money you want to add
|
||||||
|
* @throws UserDoesNotExistException If a user by that name does not exists
|
||||||
|
* @throws NoLoanPermittedException If the user is not allowed to have a negative balance
|
||||||
|
*/
|
||||||
|
@Deprecated
|
||||||
|
public static void add(String name, double amount) throws UserDoesNotExistException, NoLoanPermittedException
|
||||||
|
{
|
||||||
|
try
|
||||||
|
{
|
||||||
|
add(name, BigDecimal.valueOf(amount));
|
||||||
|
}
|
||||||
|
catch (ArithmeticException e)
|
||||||
|
{
|
||||||
|
logger.log(Level.WARNING, "Failed to add " + amount + " to balance of " + name + ": " + e.getMessage(), e);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
public static void add(String name, BigDecimal amount) throws UserDoesNotExistException, NoLoanPermittedException, ArithmeticException
|
||||||
|
{
|
||||||
|
BigDecimal result = getMoneyExact(name).add(amount, MATH_CONTEXT);
|
||||||
|
setMoney(name, result);
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Substracts money from the balance of a user
|
||||||
|
*
|
||||||
|
* @param name Name of the user
|
||||||
|
* @param amount The money you want to substract
|
||||||
|
* @throws UserDoesNotExistException If a user by that name does not exists
|
||||||
|
* @throws NoLoanPermittedException If the user is not allowed to have a negative balance
|
||||||
|
*/
|
||||||
|
@Deprecated
|
||||||
|
public static void subtract(String name, double amount) throws UserDoesNotExistException, NoLoanPermittedException
|
||||||
|
{
|
||||||
|
try
|
||||||
|
{
|
||||||
|
substract(name, BigDecimal.valueOf(amount));
|
||||||
|
}
|
||||||
|
catch (ArithmeticException e)
|
||||||
|
{
|
||||||
|
logger.log(Level.WARNING, "Failed to substract " + amount + " of balance of " + name + ": " + e.getMessage(), e);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
public static void substract(String name, BigDecimal amount) throws UserDoesNotExistException, NoLoanPermittedException, ArithmeticException
|
||||||
|
{
|
||||||
|
BigDecimal result = getMoneyExact(name).subtract(amount, MATH_CONTEXT);
|
||||||
|
setMoney(name, result);
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Divides the balance of a user by a value
|
||||||
|
*
|
||||||
|
* @param name Name of the user
|
||||||
|
* @param value The balance is divided by this value
|
||||||
|
* @throws UserDoesNotExistException If a user by that name does not exists
|
||||||
|
* @throws NoLoanPermittedException If the user is not allowed to have a negative balance
|
||||||
|
*/
|
||||||
|
@Deprecated
|
||||||
|
public static void divide(String name, double amount) throws UserDoesNotExistException, NoLoanPermittedException
|
||||||
|
{
|
||||||
|
try
|
||||||
|
{
|
||||||
|
divide(name, BigDecimal.valueOf(amount));
|
||||||
|
}
|
||||||
|
catch (ArithmeticException e)
|
||||||
|
{
|
||||||
|
logger.log(Level.WARNING, "Failed to divide balance of " + name + " by " + amount + ": " + e.getMessage(), e);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
public static void divide(String name, BigDecimal amount) throws UserDoesNotExistException, NoLoanPermittedException, ArithmeticException
|
||||||
|
{
|
||||||
|
BigDecimal result = getMoneyExact(name).divide(amount, MATH_CONTEXT);
|
||||||
|
setMoney(name, result);
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Multiplies the balance of a user by a value
|
||||||
|
*
|
||||||
|
* @param name Name of the user
|
||||||
|
* @param value The balance is multiplied by this value
|
||||||
|
* @throws UserDoesNotExistException If a user by that name does not exists
|
||||||
|
* @throws NoLoanPermittedException If the user is not allowed to have a negative balance
|
||||||
|
*/
|
||||||
|
@Deprecated
|
||||||
|
public static void multiply(String name, double amount) throws UserDoesNotExistException, NoLoanPermittedException
|
||||||
|
{
|
||||||
|
try
|
||||||
|
{
|
||||||
|
multiply(name, BigDecimal.valueOf(amount));
|
||||||
|
}
|
||||||
|
catch (ArithmeticException e)
|
||||||
|
{
|
||||||
|
logger.log(Level.WARNING, "Failed to multiply balance of " + name + " by " + amount + ": " + e.getMessage(), e);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
public static void multiply(String name, BigDecimal amount) throws UserDoesNotExistException, NoLoanPermittedException, ArithmeticException
|
||||||
|
{
|
||||||
|
BigDecimal result = getMoneyExact(name).multiply(amount, MATH_CONTEXT);
|
||||||
|
setMoney(name, result);
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Resets the balance of a user to the starting balance
|
||||||
|
*
|
||||||
|
* @param name Name of the user
|
||||||
|
* @throws UserDoesNotExistException If a user by that name does not exists
|
||||||
|
* @throws NoLoanPermittedException If the user is not allowed to have a negative balance
|
||||||
|
*/
|
||||||
|
public static void resetBalance(String name) throws UserDoesNotExistException, NoLoanPermittedException
|
||||||
|
{
|
||||||
|
if (ess == null)
|
||||||
|
{
|
||||||
|
throw new RuntimeException(noCallBeforeLoad);
|
||||||
|
}
|
||||||
|
setMoney(name, ess.getSettings().getStartingBalance());
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @param name Name of the user
|
||||||
|
* @param amount The amount of money the user should have
|
||||||
|
* @return true, if the user has more or an equal amount of money
|
||||||
|
* @throws UserDoesNotExistException If a user by that name does not exists
|
||||||
|
*/
|
||||||
|
@Deprecated
|
||||||
|
public static boolean hasEnough(String name, double amount) throws UserDoesNotExistException
|
||||||
|
{
|
||||||
|
try
|
||||||
|
{
|
||||||
|
return hasEnough(name, BigDecimal.valueOf(amount));
|
||||||
|
}
|
||||||
|
catch (ArithmeticException e)
|
||||||
|
{
|
||||||
|
logger.log(Level.WARNING, "Failed to compare balance of " + name + " with " + amount + ": " + e.getMessage(), e);
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
public static boolean hasEnough(String name, BigDecimal amount) throws UserDoesNotExistException, ArithmeticException
|
||||||
|
{
|
||||||
|
return amount.compareTo(getMoneyExact(name)) <= 0;
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @param name Name of the user
|
||||||
|
* @param amount The amount of money the user should have
|
||||||
|
* @return true, if the user has more money
|
||||||
|
* @throws UserDoesNotExistException If a user by that name does not exists
|
||||||
|
*/
|
||||||
|
@Deprecated
|
||||||
|
public static boolean hasMore(String name, double amount) throws UserDoesNotExistException
|
||||||
|
{
|
||||||
|
try
|
||||||
|
{
|
||||||
|
return hasMore(name, BigDecimal.valueOf(amount));
|
||||||
|
}
|
||||||
|
catch (ArithmeticException e)
|
||||||
|
{
|
||||||
|
logger.log(Level.WARNING, "Failed to compare balance of " + name + " with " + amount + ": " + e.getMessage(), e);
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
public static boolean hasMore(String name, BigDecimal amount) throws UserDoesNotExistException, ArithmeticException
|
||||||
|
{
|
||||||
|
return amount.compareTo(getMoneyExact(name)) < 0;
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @param name Name of the user
|
||||||
|
* @param amount The amount of money the user should not have
|
||||||
|
* @return true, if the user has less money
|
||||||
|
* @throws UserDoesNotExistException If a user by that name does not exists
|
||||||
|
*/
|
||||||
|
@Deprecated
|
||||||
|
public static boolean hasLess(String name, double amount) throws UserDoesNotExistException
|
||||||
|
{
|
||||||
|
try
|
||||||
|
{
|
||||||
|
return hasLess(name, BigDecimal.valueOf(amount));
|
||||||
|
}
|
||||||
|
catch (ArithmeticException e)
|
||||||
|
{
|
||||||
|
logger.log(Level.WARNING, "Failed to compare balance of " + name + " with " + amount + ": " + e.getMessage(), e);
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
public static boolean hasLess(String name, BigDecimal amount) throws UserDoesNotExistException, ArithmeticException
|
||||||
|
{
|
||||||
|
return amount.compareTo(getMoneyExact(name)) > 0;
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Test if the user has a negative balance
|
||||||
|
*
|
||||||
|
* @param name Name of the user
|
||||||
|
* @return true, if the user has a negative balance
|
||||||
|
* @throws UserDoesNotExistException If a user by that name does not exists
|
||||||
|
*/
|
||||||
|
public static boolean isNegative(String name) throws UserDoesNotExistException
|
||||||
|
{
|
||||||
|
return getMoneyExact(name).signum() < 0;
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Formats the amount of money like all other Essentials functions. Example: $100000 or $12345.67
|
||||||
|
*
|
||||||
|
* @param amount The amount of money
|
||||||
|
* @return Formatted money
|
||||||
|
*/
|
||||||
|
@Deprecated
|
||||||
|
public static String format(double amount)
|
||||||
|
{
|
||||||
|
try
|
||||||
|
{
|
||||||
|
return format(BigDecimal.valueOf(amount));
|
||||||
|
}
|
||||||
|
catch (NumberFormatException e)
|
||||||
|
{
|
||||||
|
logger.log(Level.WARNING, "Failed to display " + amount + ": " + e.getMessage(), e);
|
||||||
|
return "NaN";
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
public static String format(BigDecimal amount)
|
||||||
|
{
|
||||||
|
if (ess == null)
|
||||||
|
{
|
||||||
|
throw new RuntimeException(noCallBeforeLoad);
|
||||||
|
}
|
||||||
|
return NumberUtil.displayCurrency(amount, ess);
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Test if a player exists to avoid the UserDoesNotExistException
|
||||||
|
*
|
||||||
|
* @param name Name of the user
|
||||||
|
* @return true, if the user exists
|
||||||
|
*/
|
||||||
|
public static boolean playerExists(String name)
|
||||||
|
{
|
||||||
|
return getUserByName(name) != null;
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Test if a player is a npc
|
||||||
|
*
|
||||||
|
* @param name Name of the player
|
||||||
|
* @return true, if it's a npc
|
||||||
|
* @throws UserDoesNotExistException
|
||||||
|
*/
|
||||||
|
public static boolean isNPC(String name) throws UserDoesNotExistException
|
||||||
|
{
|
||||||
|
User user = getUserByName(name);
|
||||||
|
if (user == null)
|
||||||
|
{
|
||||||
|
throw new UserDoesNotExistException(name);
|
||||||
|
}
|
||||||
|
return user.isNPC();
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Creates dummy files for a npc, if there is no player yet with that name.
|
||||||
|
*
|
||||||
|
* @param name Name of the player
|
||||||
|
* @return true, if a new npc was created
|
||||||
|
*/
|
||||||
|
public static boolean createNPC(String name)
|
||||||
|
{
|
||||||
|
User user = getUserByName(name);
|
||||||
|
if (user == null)
|
||||||
|
{
|
||||||
|
createNPCFile(name);
|
||||||
|
return true;
|
||||||
|
}
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Deletes a user, if it is marked as npc.
|
||||||
|
*
|
||||||
|
* @param name Name of the player
|
||||||
|
* @throws UserDoesNotExistException
|
||||||
|
*/
|
||||||
|
public static void removeNPC(String name) throws UserDoesNotExistException
|
||||||
|
{
|
||||||
|
User user = getUserByName(name);
|
||||||
|
if (user == null)
|
||||||
|
{
|
||||||
|
throw new UserDoesNotExistException(name);
|
||||||
|
}
|
||||||
|
deleteNPC(name);
|
||||||
|
}
|
||||||
|
}
|
94
Essentials/src/net/ess3/api/IEssentials.java
Normal file
94
Essentials/src/net/ess3/api/IEssentials.java
Normal file
|
@ -0,0 +1,94 @@
|
||||||
|
package net.ess3.api;
|
||||||
|
|
||||||
|
import com.earth2me.essentials.AlternativeCommandsHandler;
|
||||||
|
import com.earth2me.essentials.Backup;
|
||||||
|
import com.earth2me.essentials.EssentialsTimer;
|
||||||
|
import com.earth2me.essentials.I18n;
|
||||||
|
import com.earth2me.essentials.IConf;
|
||||||
|
import com.earth2me.essentials.IEssentialsModule;
|
||||||
|
import com.earth2me.essentials.ItemDb;
|
||||||
|
import com.earth2me.essentials.TNTExplodeListener;
|
||||||
|
import com.earth2me.essentials.User;
|
||||||
|
import com.earth2me.essentials.UserMap;
|
||||||
|
import com.earth2me.essentials.Worth;
|
||||||
|
import net.ess3.api.IUser;
|
||||||
|
import net.ess3.api.IJails;
|
||||||
|
import net.ess3.api.IWarps;
|
||||||
|
import com.earth2me.essentials.metrics.Metrics;
|
||||||
|
import com.earth2me.essentials.perm.PermissionsHandler;
|
||||||
|
import com.earth2me.essentials.register.payment.Methods;
|
||||||
|
import java.util.List;
|
||||||
|
import org.bukkit.World;
|
||||||
|
import org.bukkit.command.Command;
|
||||||
|
import org.bukkit.command.CommandSender;
|
||||||
|
import org.bukkit.plugin.Plugin;
|
||||||
|
import org.bukkit.scheduler.BukkitScheduler;
|
||||||
|
import org.bukkit.scheduler.BukkitTask;
|
||||||
|
|
||||||
|
|
||||||
|
public interface IEssentials extends Plugin
|
||||||
|
{
|
||||||
|
void addReloadListener(IConf listener);
|
||||||
|
|
||||||
|
void reload();
|
||||||
|
|
||||||
|
boolean onCommandEssentials(CommandSender sender, Command command, String commandLabel, String[] args, ClassLoader classLoader, String commandPath, String permissionPrefix, IEssentialsModule module);
|
||||||
|
|
||||||
|
User getUser(Object base);
|
||||||
|
|
||||||
|
I18n getI18n();
|
||||||
|
|
||||||
|
User getOfflineUser(String name);
|
||||||
|
|
||||||
|
World getWorld(String name);
|
||||||
|
|
||||||
|
int broadcastMessage(String message);
|
||||||
|
|
||||||
|
int broadcastMessage(IUser sender, String message);
|
||||||
|
|
||||||
|
int broadcastMessage(String permission, String message);
|
||||||
|
|
||||||
|
ISettings getSettings();
|
||||||
|
|
||||||
|
BukkitScheduler getScheduler();
|
||||||
|
|
||||||
|
IJails getJails();
|
||||||
|
|
||||||
|
IWarps getWarps();
|
||||||
|
|
||||||
|
Worth getWorth();
|
||||||
|
|
||||||
|
Backup getBackup();
|
||||||
|
|
||||||
|
Methods getPaymentMethod();
|
||||||
|
|
||||||
|
BukkitTask runTaskAsynchronously(Runnable run);
|
||||||
|
|
||||||
|
BukkitTask runTaskLaterAsynchronously(Runnable run, long delay);
|
||||||
|
|
||||||
|
int scheduleSyncDelayedTask(Runnable run);
|
||||||
|
|
||||||
|
int scheduleSyncDelayedTask(Runnable run, long delay);
|
||||||
|
|
||||||
|
int scheduleSyncRepeatingTask(final Runnable run, long delay, long period);
|
||||||
|
|
||||||
|
TNTExplodeListener getTNTListener();
|
||||||
|
|
||||||
|
PermissionsHandler getPermissionsHandler();
|
||||||
|
|
||||||
|
AlternativeCommandsHandler getAlternativeCommandsHandler();
|
||||||
|
|
||||||
|
void showError(final CommandSender sender, final Throwable exception, final String commandLabel);
|
||||||
|
|
||||||
|
ItemDb getItemDb();
|
||||||
|
|
||||||
|
UserMap getUserMap();
|
||||||
|
|
||||||
|
Metrics getMetrics();
|
||||||
|
|
||||||
|
void setMetrics(Metrics metrics);
|
||||||
|
|
||||||
|
EssentialsTimer getTimer();
|
||||||
|
|
||||||
|
List<String> getVanishedPlayers();
|
||||||
|
}
|
13
Essentials/src/net/ess3/api/II18n.java
Normal file
13
Essentials/src/net/ess3/api/II18n.java
Normal file
|
@ -0,0 +1,13 @@
|
||||||
|
package net.ess3.api;
|
||||||
|
|
||||||
|
import java.util.Locale;
|
||||||
|
|
||||||
|
|
||||||
|
public interface II18n
|
||||||
|
{
|
||||||
|
/**
|
||||||
|
* Gets the current locale setting
|
||||||
|
* @return the current locale, if not set it will return the default locale
|
||||||
|
*/
|
||||||
|
Locale getCurrentLocale();
|
||||||
|
}
|
11
Essentials/src/net/ess3/api/IItemDb.java
Normal file
11
Essentials/src/net/ess3/api/IItemDb.java
Normal file
|
@ -0,0 +1,11 @@
|
||||||
|
package net.ess3.api;
|
||||||
|
|
||||||
|
import org.bukkit.inventory.ItemStack;
|
||||||
|
|
||||||
|
|
||||||
|
public interface IItemDb
|
||||||
|
{
|
||||||
|
ItemStack get(final String name, final int quantity) throws Exception;
|
||||||
|
|
||||||
|
ItemStack get(final String name) throws Exception;
|
||||||
|
}
|
52
Essentials/src/net/ess3/api/IJails.java
Normal file
52
Essentials/src/net/ess3/api/IJails.java
Normal file
|
@ -0,0 +1,52 @@
|
||||||
|
package net.ess3.api;
|
||||||
|
|
||||||
|
import java.util.Collection;
|
||||||
|
import org.bukkit.Location;
|
||||||
|
|
||||||
|
|
||||||
|
public interface IJails extends IReload
|
||||||
|
{
|
||||||
|
/**
|
||||||
|
* Gets the location of the jail with the given name
|
||||||
|
* @param jailName The name of the jail
|
||||||
|
* @return the location of the jail
|
||||||
|
* @throws Exception if the jail does not exist
|
||||||
|
*/
|
||||||
|
Location getJail(String jailName) throws Exception;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Gets a list of jails by names
|
||||||
|
* @return a list of jails, if there are none the list will be empty
|
||||||
|
* @throws Exception
|
||||||
|
*/
|
||||||
|
Collection<String> getList() throws Exception;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Gets the number of jails
|
||||||
|
* @return the size of the list of jails
|
||||||
|
*/
|
||||||
|
int getCount();
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Remove the jail with the given name
|
||||||
|
* @param jail the jail to remove
|
||||||
|
* @throws Exception if the jail does not exist
|
||||||
|
*/
|
||||||
|
void removeJail(String jail) throws Exception;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Attempts to send the given user to the given jail
|
||||||
|
* @param user the user to send to jail
|
||||||
|
* @param jail the jail to send the user to
|
||||||
|
* @throws Exception if the user is offline or jail does not exist
|
||||||
|
*/
|
||||||
|
void sendToJail(net.ess3.api.IUser user, String jail) throws Exception;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Set a new jail with the given name and location
|
||||||
|
* @param jailName the name of the jail being set
|
||||||
|
* @param loc the location of the jail being set
|
||||||
|
* @throws Exception
|
||||||
|
*/
|
||||||
|
void setJail(String jailName, Location loc) throws Exception;
|
||||||
|
}
|
7
Essentials/src/net/ess3/api/IReload.java
Normal file
7
Essentials/src/net/ess3/api/IReload.java
Normal file
|
@ -0,0 +1,7 @@
|
||||||
|
package net.ess3.api;
|
||||||
|
|
||||||
|
|
||||||
|
public interface IReload
|
||||||
|
{
|
||||||
|
void onReload();
|
||||||
|
}
|
201
Essentials/src/net/ess3/api/ISettings.java
Normal file
201
Essentials/src/net/ess3/api/ISettings.java
Normal file
|
@ -0,0 +1,201 @@
|
||||||
|
package net.ess3.api;
|
||||||
|
|
||||||
|
import com.earth2me.essentials.IConf;
|
||||||
|
import com.earth2me.essentials.User;
|
||||||
|
import com.earth2me.essentials.commands.IEssentialsCommand;
|
||||||
|
import com.earth2me.essentials.signs.EssentialsSign;
|
||||||
|
import com.earth2me.essentials.textreader.IText;
|
||||||
|
import java.math.BigDecimal;
|
||||||
|
import java.text.MessageFormat;
|
||||||
|
import java.util.List;
|
||||||
|
import java.util.Map;
|
||||||
|
import java.util.Set;
|
||||||
|
import org.bukkit.ChatColor;
|
||||||
|
import org.bukkit.configuration.ConfigurationSection;
|
||||||
|
import org.bukkit.event.EventPriority;
|
||||||
|
|
||||||
|
|
||||||
|
public interface ISettings extends IConf
|
||||||
|
{
|
||||||
|
boolean areSignsDisabled();
|
||||||
|
|
||||||
|
IText getAnnounceNewPlayerFormat();
|
||||||
|
|
||||||
|
boolean getAnnounceNewPlayers();
|
||||||
|
|
||||||
|
String getNewPlayerKit();
|
||||||
|
|
||||||
|
String getBackupCommand();
|
||||||
|
|
||||||
|
long getBackupInterval();
|
||||||
|
|
||||||
|
String getChatFormat(String group);
|
||||||
|
|
||||||
|
int getChatRadius();
|
||||||
|
|
||||||
|
BigDecimal getCommandCost(IEssentialsCommand cmd);
|
||||||
|
|
||||||
|
BigDecimal getCommandCost(String label);
|
||||||
|
|
||||||
|
String getCurrencySymbol();
|
||||||
|
|
||||||
|
int getOversizedStackSize();
|
||||||
|
|
||||||
|
int getDefaultStackSize();
|
||||||
|
|
||||||
|
double getHealCooldown();
|
||||||
|
|
||||||
|
Set<String> getSocialSpyCommands();
|
||||||
|
|
||||||
|
Map<String, Object> getKit(String name);
|
||||||
|
|
||||||
|
ConfigurationSection getKits();
|
||||||
|
|
||||||
|
String getLocale();
|
||||||
|
|
||||||
|
String getNewbieSpawn();
|
||||||
|
|
||||||
|
String getNicknamePrefix();
|
||||||
|
|
||||||
|
ChatColor getOperatorColor() throws Exception;
|
||||||
|
|
||||||
|
boolean getPerWarpPermission();
|
||||||
|
|
||||||
|
boolean getProtectBoolean(final String configName, boolean def);
|
||||||
|
|
||||||
|
int getProtectCreeperMaxHeight();
|
||||||
|
|
||||||
|
List<Integer> getProtectList(final String configName);
|
||||||
|
|
||||||
|
boolean getProtectPreventSpawn(final String creatureName);
|
||||||
|
|
||||||
|
String getProtectString(final String configName);
|
||||||
|
|
||||||
|
boolean getRespawnAtHome();
|
||||||
|
|
||||||
|
Set getMultipleHomes();
|
||||||
|
|
||||||
|
int getHomeLimit(String set);
|
||||||
|
|
||||||
|
int getHomeLimit(User user);
|
||||||
|
|
||||||
|
int getSpawnMobLimit();
|
||||||
|
|
||||||
|
BigDecimal getStartingBalance();
|
||||||
|
|
||||||
|
double getTeleportCooldown();
|
||||||
|
|
||||||
|
double getTeleportDelay();
|
||||||
|
|
||||||
|
boolean hidePermissionlessHelp();
|
||||||
|
|
||||||
|
boolean isCommandDisabled(final IEssentialsCommand cmd);
|
||||||
|
|
||||||
|
boolean isCommandDisabled(String label);
|
||||||
|
|
||||||
|
boolean isCommandOverridden(String name);
|
||||||
|
|
||||||
|
boolean isDebug();
|
||||||
|
|
||||||
|
boolean isEcoDisabled();
|
||||||
|
|
||||||
|
boolean isTradeInStacks(int id);
|
||||||
|
|
||||||
|
List<Integer> itemSpawnBlacklist();
|
||||||
|
|
||||||
|
List<EssentialsSign> enabledSigns();
|
||||||
|
|
||||||
|
boolean permissionBasedItemSpawn();
|
||||||
|
|
||||||
|
boolean showNonEssCommandsInHelp();
|
||||||
|
|
||||||
|
boolean warnOnBuildDisallow();
|
||||||
|
|
||||||
|
boolean warnOnSmite();
|
||||||
|
|
||||||
|
BigDecimal getMaxMoney();
|
||||||
|
|
||||||
|
BigDecimal getMinMoney();
|
||||||
|
|
||||||
|
boolean isEcoLogEnabled();
|
||||||
|
|
||||||
|
boolean isEcoLogUpdateEnabled();
|
||||||
|
|
||||||
|
boolean removeGodOnDisconnect();
|
||||||
|
|
||||||
|
boolean changeDisplayName();
|
||||||
|
|
||||||
|
boolean changePlayerListName();
|
||||||
|
|
||||||
|
boolean isPlayerCommand(String string);
|
||||||
|
|
||||||
|
boolean useBukkitPermissions();
|
||||||
|
|
||||||
|
boolean addPrefixSuffix();
|
||||||
|
|
||||||
|
boolean disablePrefix();
|
||||||
|
|
||||||
|
boolean disableSuffix();
|
||||||
|
|
||||||
|
long getAutoAfk();
|
||||||
|
|
||||||
|
long getAutoAfkKick();
|
||||||
|
|
||||||
|
boolean getFreezeAfkPlayers();
|
||||||
|
|
||||||
|
boolean cancelAfkOnMove();
|
||||||
|
|
||||||
|
boolean cancelAfkOnInteract();
|
||||||
|
|
||||||
|
boolean areDeathMessagesEnabled();
|
||||||
|
|
||||||
|
public void setDebug(boolean debug);
|
||||||
|
|
||||||
|
Set<String> getNoGodWorlds();
|
||||||
|
|
||||||
|
boolean getUpdateBedAtDaytime();
|
||||||
|
|
||||||
|
boolean allowUnsafeEnchantments();
|
||||||
|
|
||||||
|
boolean getRepairEnchanted();
|
||||||
|
|
||||||
|
boolean isWorldTeleportPermissions();
|
||||||
|
|
||||||
|
boolean isWorldHomePermissions();
|
||||||
|
|
||||||
|
boolean registerBackInListener();
|
||||||
|
|
||||||
|
boolean getDisableItemPickupWhileAfk();
|
||||||
|
|
||||||
|
EventPriority getRespawnPriority();
|
||||||
|
|
||||||
|
long getTpaAcceptCancellation();
|
||||||
|
|
||||||
|
boolean isMetricsEnabled();
|
||||||
|
|
||||||
|
void setMetricsEnabled(boolean metricsEnabled);
|
||||||
|
|
||||||
|
long getTeleportInvulnerability();
|
||||||
|
|
||||||
|
boolean isTeleportInvulnerability();
|
||||||
|
|
||||||
|
long getLoginAttackDelay();
|
||||||
|
|
||||||
|
int getSignUsePerSecond();
|
||||||
|
|
||||||
|
double getMaxFlySpeed();
|
||||||
|
|
||||||
|
double getMaxWalkSpeed();
|
||||||
|
|
||||||
|
public int getMailsPerMinute();
|
||||||
|
|
||||||
|
public long getEconomyLagWarning();
|
||||||
|
|
||||||
|
public void setEssentialsChatActive(boolean b);
|
||||||
|
|
||||||
|
long getMaxTempban();
|
||||||
|
|
||||||
|
public Map<String, Object> getListGroupConfig();
|
||||||
|
|
||||||
|
public int getMaxNickLength();
|
||||||
|
}
|
129
Essentials/src/net/ess3/api/ITeleport.java
Normal file
129
Essentials/src/net/ess3/api/ITeleport.java
Normal file
|
@ -0,0 +1,129 @@
|
||||||
|
package net.ess3.api;
|
||||||
|
|
||||||
|
import com.earth2me.essentials.Trade;
|
||||||
|
import org.bukkit.Location;
|
||||||
|
import org.bukkit.entity.Player;
|
||||||
|
import org.bukkit.event.player.PlayerTeleportEvent.TeleportCause;
|
||||||
|
|
||||||
|
|
||||||
|
public interface ITeleport
|
||||||
|
{
|
||||||
|
/**
|
||||||
|
* Used to skip teleportPlayer delay when teleporting someone to a location or player.
|
||||||
|
*
|
||||||
|
* @param loc - Where should the player end up
|
||||||
|
* @param cooldown - If cooldown should be enforced
|
||||||
|
* @param cause - The reported teleportPlayer cause
|
||||||
|
* @throws Exception
|
||||||
|
*/
|
||||||
|
void now(Location loc, boolean cooldown, TeleportCause cause) throws Exception;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Used to skip teleportPlayer delay when teleporting someone to a location or player.
|
||||||
|
*
|
||||||
|
* @param entity - Where should the player end up
|
||||||
|
* @param cooldown - If cooldown should be enforced
|
||||||
|
* @param cause - The reported teleportPlayer cause
|
||||||
|
* @throws Exception
|
||||||
|
*/
|
||||||
|
void now(Player entity, boolean cooldown, TeleportCause cause) throws Exception;
|
||||||
|
|
||||||
|
@Deprecated
|
||||||
|
void teleport(Location loc, Trade chargeFor) throws Exception;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Teleport a player to a specific location
|
||||||
|
*
|
||||||
|
* @param loc - Where should the player end up
|
||||||
|
* @param chargeFor - What the user will be charged if teleportPlayer is successful
|
||||||
|
* @param cause - The reported teleportPlayer cause
|
||||||
|
* @throws Exception
|
||||||
|
*/
|
||||||
|
void teleport(Location loc, Trade chargeFor, TeleportCause cause) throws Exception;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Teleport a player to a specific player
|
||||||
|
*
|
||||||
|
* @param entity - Where should the player end up
|
||||||
|
* @param chargeFor - What the user will be charged if teleportPlayer is successful
|
||||||
|
* @param cause - The reported teleportPlayer cause
|
||||||
|
* @throws Exception
|
||||||
|
*/
|
||||||
|
void teleport(Player entity, Trade chargeFor, TeleportCause cause) throws Exception;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Teleport a player to a specific location
|
||||||
|
*
|
||||||
|
* @param otherUser - Which user will be teleported
|
||||||
|
* @param loc - Where should the player end up
|
||||||
|
* @param chargeFor - What the user will be charged if teleportPlayer is successful
|
||||||
|
* @param cause - The reported teleportPlayer cause
|
||||||
|
* @throws Exception
|
||||||
|
*/
|
||||||
|
void teleportPlayer(IUser otherUser, Location loc, Trade chargeFor, TeleportCause cause) throws Exception;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Teleport a player to a specific player
|
||||||
|
*
|
||||||
|
* @param otherUser - Which user will be teleported
|
||||||
|
* @param entity - Where should the player end up
|
||||||
|
* @param chargeFor - What the user will be charged if teleportPlayer is successful
|
||||||
|
* @param cause - The reported teleportPlayer cause
|
||||||
|
* @throws Exception
|
||||||
|
*/
|
||||||
|
void teleportPlayer(IUser otherUser, Player entity, Trade chargeFor, TeleportCause cause) throws Exception;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Teleport wrapper used to handle teleporting players to them, like /tphere
|
||||||
|
*
|
||||||
|
* @param otherUser - Which user will be teleported
|
||||||
|
* @param chargeFor - What the user will be charged if teleportPlayer is successful
|
||||||
|
* @param cause - The reported teleportPlayer cause
|
||||||
|
* @throws Exception
|
||||||
|
*/
|
||||||
|
public void teleportToMe(IUser otherUser, Trade chargeFor, TeleportCause cause) throws Exception;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Teleport wrapper used to handle tp fallback on /jail and /home
|
||||||
|
*
|
||||||
|
* @param chargeFor - What the user will be charged if teleportPlayer is successful
|
||||||
|
* @param cause - The reported teleportPlayer cause
|
||||||
|
* @throws Exception
|
||||||
|
*/
|
||||||
|
public void respawn(final Trade chargeFor, TeleportCause cause) throws Exception;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Teleport wrapper used to handle /warp teleports
|
||||||
|
*
|
||||||
|
* @param otherUser - Which user will be teleported
|
||||||
|
* @param warp - The name of the warp the user will be teleported too.
|
||||||
|
* @param chargeFor - What the user will be charged if teleportPlayer is successful
|
||||||
|
* @param cause - The reported teleportPlayer cause
|
||||||
|
* @throws Exception
|
||||||
|
*/
|
||||||
|
public void warp(IUser otherUser, String warp, Trade chargeFor, TeleportCause cause) throws Exception;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Teleport wrapper used to handle /back teleports
|
||||||
|
*
|
||||||
|
* @param chargeFor - What the user will be charged if teleportPlayer is successful
|
||||||
|
* @throws Exception
|
||||||
|
*/
|
||||||
|
public void back(Trade chargeFor) throws Exception;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Teleport wrapper used to handle throwing user home after a jail sentence
|
||||||
|
*
|
||||||
|
* @throws Exception
|
||||||
|
*/
|
||||||
|
public void back() throws Exception;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Teleport wrapper used to handle /home teleports
|
||||||
|
*
|
||||||
|
* @param loc - Location where player will be teleported too
|
||||||
|
* @param chargeFor - What the user will be charged if teleportPlayer is successful
|
||||||
|
* @throws Exception
|
||||||
|
*/
|
||||||
|
public void home(Location loc, Trade chargeFor) throws Exception;
|
||||||
|
}
|
93
Essentials/src/net/ess3/api/IUser.java
Normal file
93
Essentials/src/net/ess3/api/IUser.java
Normal file
|
@ -0,0 +1,93 @@
|
||||||
|
package net.ess3.api;
|
||||||
|
|
||||||
|
import net.ess3.api.ITeleport;
|
||||||
|
import com.earth2me.essentials.commands.IEssentialsCommand;
|
||||||
|
import java.math.BigDecimal;
|
||||||
|
import java.util.Map;
|
||||||
|
import java.util.Set;
|
||||||
|
import org.bukkit.Location;
|
||||||
|
import org.bukkit.command.CommandSender;
|
||||||
|
import org.bukkit.entity.Player;
|
||||||
|
|
||||||
|
|
||||||
|
public interface IUser
|
||||||
|
{
|
||||||
|
long getLastTeleportTimestamp();
|
||||||
|
|
||||||
|
boolean isAuthorized(String node);
|
||||||
|
|
||||||
|
boolean isAuthorized(IEssentialsCommand cmd);
|
||||||
|
|
||||||
|
boolean isAuthorized(IEssentialsCommand cmd, String permissionPrefix);
|
||||||
|
|
||||||
|
void setLastTeleportTimestamp(long time);
|
||||||
|
|
||||||
|
Location getLastLocation();
|
||||||
|
|
||||||
|
Player getBase();
|
||||||
|
|
||||||
|
BigDecimal getMoney();
|
||||||
|
|
||||||
|
void takeMoney(BigDecimal value);
|
||||||
|
|
||||||
|
void giveMoney(BigDecimal value);
|
||||||
|
|
||||||
|
boolean canAfford(BigDecimal value);
|
||||||
|
|
||||||
|
String getGroup();
|
||||||
|
|
||||||
|
void setLastLocation();
|
||||||
|
|
||||||
|
Location getHome(String name) throws Exception;
|
||||||
|
|
||||||
|
Location getHome(Location loc) throws Exception;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 'Hidden' Represents when a player is hidden from others. This status includes when the player is hidden via other
|
||||||
|
* supported plugins. Use isVanished() if you want to check if a user is vanished by Essentials.
|
||||||
|
*
|
||||||
|
* @return If the user is hidden or not
|
||||||
|
* @see isVanished
|
||||||
|
*/
|
||||||
|
boolean isHidden();
|
||||||
|
|
||||||
|
void setHidden(boolean vanish);
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 'Vanished' Represents when a player is hidden from others by Essentials. This status does NOT include when the
|
||||||
|
* player is hidden via other plugins. Use isHidden() if you want to check if a user is vanished by any supported
|
||||||
|
* plugin.
|
||||||
|
*
|
||||||
|
* @return If the user is vanished or not
|
||||||
|
* @see isHidden
|
||||||
|
*/
|
||||||
|
boolean isVanished();
|
||||||
|
|
||||||
|
void setVanished(boolean vanish);
|
||||||
|
|
||||||
|
ITeleport getTeleport();
|
||||||
|
|
||||||
|
void setJail(String jail);
|
||||||
|
|
||||||
|
boolean isIgnoreExempt();
|
||||||
|
|
||||||
|
boolean isAfk();
|
||||||
|
|
||||||
|
void setAfk(final boolean set);
|
||||||
|
|
||||||
|
void setLogoutLocation();
|
||||||
|
|
||||||
|
Location getLogoutLocation();
|
||||||
|
|
||||||
|
void setConfigProperty(String node, Object object);
|
||||||
|
|
||||||
|
Set<String> getConfigKeys();
|
||||||
|
|
||||||
|
Map<String, Object> getConfigMap();
|
||||||
|
|
||||||
|
Map<String, Object> getConfigMap(String node);
|
||||||
|
|
||||||
|
public void sendMessage(String message);
|
||||||
|
|
||||||
|
public String getName();
|
||||||
|
}
|
69
Essentials/src/net/ess3/api/IWarps.java
Normal file
69
Essentials/src/net/ess3/api/IWarps.java
Normal file
|
@ -0,0 +1,69 @@
|
||||||
|
package net.ess3.api;
|
||||||
|
|
||||||
|
import com.earth2me.essentials.IConf;
|
||||||
|
import java.io.File;
|
||||||
|
import java.util.Collection;
|
||||||
|
|
||||||
|
import com.earth2me.essentials.commands.WarpNotFoundException;
|
||||||
|
import org.bukkit.Location;
|
||||||
|
|
||||||
|
|
||||||
|
public interface IWarps extends IConf
|
||||||
|
{
|
||||||
|
/**
|
||||||
|
* Get a warp by name
|
||||||
|
*
|
||||||
|
* @param warp - Warp name
|
||||||
|
* @return - Location the warp is set to
|
||||||
|
* @throws WarpNotFoundException When the warp is not found
|
||||||
|
* @throws InvalidWorldException When the world the warp is in is not found
|
||||||
|
*/
|
||||||
|
Location getWarp(String warp) throws WarpNotFoundException, InvalidWorldException;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Gets a list of warps
|
||||||
|
*
|
||||||
|
* @return - A {@link Collection} of warps
|
||||||
|
*/
|
||||||
|
Collection<String> getList();
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Gets the number of warps
|
||||||
|
*
|
||||||
|
* @return the size of the list of warps
|
||||||
|
*/
|
||||||
|
int getCount();
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Delete a warp from the warp DB
|
||||||
|
*
|
||||||
|
* @param name - Name of warp
|
||||||
|
* @throws Exception
|
||||||
|
*/
|
||||||
|
void removeWarp(String name) throws Exception;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Set a warp
|
||||||
|
*
|
||||||
|
* @param name - Name of warp
|
||||||
|
* @param loc - Location of warp
|
||||||
|
* @throws Exception
|
||||||
|
*/
|
||||||
|
void setWarp(String name, Location loc) throws Exception;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Check to see if the file is empty
|
||||||
|
*
|
||||||
|
* @return
|
||||||
|
*/
|
||||||
|
boolean isEmpty();
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Get a warp file note: this is not yet implemented, as 3.x uses different storage methods
|
||||||
|
*
|
||||||
|
* @param name - name of file
|
||||||
|
* @return - an instance of the file
|
||||||
|
* @throws InvalidNameException - When the file is not found
|
||||||
|
*/
|
||||||
|
File getWarpFile(String name) throws InvalidNameException;
|
||||||
|
}
|
16
Essentials/src/net/ess3/api/InvalidNameException.java
Normal file
16
Essentials/src/net/ess3/api/InvalidNameException.java
Normal file
|
@ -0,0 +1,16 @@
|
||||||
|
package net.ess3.api;
|
||||||
|
|
||||||
|
|
||||||
|
public class InvalidNameException extends Exception
|
||||||
|
{
|
||||||
|
/**
|
||||||
|
* NOTE: This is not implemented yet, just here for future 3.x api support
|
||||||
|
* Allow serialization of the InvalidNameException exception
|
||||||
|
*/
|
||||||
|
private static final long serialVersionUID = 1485321420293663139L;
|
||||||
|
|
||||||
|
public InvalidNameException(Throwable thrwbl)
|
||||||
|
{
|
||||||
|
super(thrwbl);
|
||||||
|
}
|
||||||
|
}
|
20
Essentials/src/net/ess3/api/InvalidWorldException.java
Normal file
20
Essentials/src/net/ess3/api/InvalidWorldException.java
Normal file
|
@ -0,0 +1,20 @@
|
||||||
|
package net.ess3.api;
|
||||||
|
|
||||||
|
import static com.earth2me.essentials.I18n._;
|
||||||
|
|
||||||
|
|
||||||
|
public class InvalidWorldException extends Exception
|
||||||
|
{
|
||||||
|
private final String world;
|
||||||
|
|
||||||
|
public InvalidWorldException(final String world)
|
||||||
|
{
|
||||||
|
super(_("invalidWorld"));
|
||||||
|
this.world = world;
|
||||||
|
}
|
||||||
|
|
||||||
|
public String getWorld()
|
||||||
|
{
|
||||||
|
return this.world;
|
||||||
|
}
|
||||||
|
}
|
12
Essentials/src/net/ess3/api/NoLoanPermittedException.java
Normal file
12
Essentials/src/net/ess3/api/NoLoanPermittedException.java
Normal file
|
@ -0,0 +1,12 @@
|
||||||
|
package net.ess3.api;
|
||||||
|
|
||||||
|
import static com.earth2me.essentials.I18n._;
|
||||||
|
|
||||||
|
|
||||||
|
public class NoLoanPermittedException extends Exception
|
||||||
|
{
|
||||||
|
public NoLoanPermittedException()
|
||||||
|
{
|
||||||
|
super(_("negativeBalanceError"));
|
||||||
|
}
|
||||||
|
}
|
12
Essentials/src/net/ess3/api/UserDoesNotExistException.java
Normal file
12
Essentials/src/net/ess3/api/UserDoesNotExistException.java
Normal file
|
@ -0,0 +1,12 @@
|
||||||
|
package net.ess3.api;
|
||||||
|
|
||||||
|
import static com.earth2me.essentials.I18n._;
|
||||||
|
|
||||||
|
|
||||||
|
public class UserDoesNotExistException extends Exception
|
||||||
|
{
|
||||||
|
public UserDoesNotExistException(String name)
|
||||||
|
{
|
||||||
|
super(_("userDoesNotExist", name));
|
||||||
|
}
|
||||||
|
}
|
|
@ -1,8 +1,8 @@
|
||||||
package com.earth2me.essentials;
|
package com.earth2me.essentials;
|
||||||
|
|
||||||
import com.earth2me.essentials.api.Economy;
|
import net.ess3.api.Economy;
|
||||||
import com.earth2me.essentials.api.NoLoanPermittedException;
|
import net.ess3.api.NoLoanPermittedException;
|
||||||
import com.earth2me.essentials.api.UserDoesNotExistException;
|
import net.ess3.api.UserDoesNotExistException;
|
||||||
import java.io.IOException;
|
import java.io.IOException;
|
||||||
import junit.framework.TestCase;
|
import junit.framework.TestCase;
|
||||||
import org.bukkit.World.Environment;
|
import org.bukkit.World.Environment;
|
||||||
|
|
|
@ -1,5 +1,6 @@
|
||||||
package com.earth2me.essentials;
|
package com.earth2me.essentials;
|
||||||
|
|
||||||
|
import net.ess3.api.IEssentials;
|
||||||
import com.avaje.ebean.config.ServerConfig;
|
import com.avaje.ebean.config.ServerConfig;
|
||||||
import com.earth2me.essentials.craftbukkit.FakeWorld;
|
import com.earth2me.essentials.craftbukkit.FakeWorld;
|
||||||
import java.io.File;
|
import java.io.File;
|
||||||
|
|
Loading…
Reference in a new issue