summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorKHobbits <rob@khobbits.co.uk>2013-08-28 17:50:28 +0100
committerKHobbits <rob@khobbits.co.uk>2013-08-28 17:50:28 +0100
commit1a2772dfdc57352b99afb3937cc36e0f518f836e (patch)
tree59028fed7672676ed69385476d242211b2ba6f1a
parent843400ccec6e0b7d6d76bd0494e07625c1def759 (diff)
downloadEssentials-1a2772dfdc57352b99afb3937cc36e0f518f836e.tar
Essentials-1a2772dfdc57352b99afb3937cc36e0f518f836e.tar.gz
Essentials-1a2772dfdc57352b99afb3937cc36e0f518f836e.tar.lz
Essentials-1a2772dfdc57352b99afb3937cc36e0f518f836e.tar.xz
Essentials-1a2772dfdc57352b99afb3937cc36e0f518f836e.zip
Extend eco disable option to block eco lookups. This can be required to combat slow SQL economies.
This option is not recommended under normal circumstances.
-rw-r--r--Essentials/src/com/earth2me/essentials/Settings.java11
-rw-r--r--Essentials/src/com/earth2me/essentials/User.java49
2 files changed, 48 insertions, 12 deletions
diff --git a/Essentials/src/com/earth2me/essentials/Settings.java b/Essentials/src/com/earth2me/essentials/Settings.java
index f958c10ab..f94b3eee1 100644
--- a/Essentials/src/com/earth2me/essentials/Settings.java
+++ b/Essentials/src/com/earth2me/essentials/Settings.java
@@ -518,6 +518,7 @@ public class Settings implements net.ess3.api.ISettings
economyLagWarning = _getEconomyLagWarning();
economyLog = _isEcoLogEnabled();
economyLogUpdate = _isEcoLogUpdateEnabled();
+ economyDisabled = _isEcoDisabled();
}
private List<Integer> itemSpawnBl = new ArrayList<Integer>();
@@ -650,12 +651,18 @@ public class Settings implements net.ess3.api.ISettings
{
return config.getBoolean("trade-in-stacks-" + id, false);
}
-
+
// #easteregg
+ private boolean economyDisabled = false;
+ public boolean _isEcoDisabled()
+ {
+ return config.getBoolean("disable-eco", false);
+ }
+
@Override
public boolean isEcoDisabled()
{
- return config.getBoolean("disable-eco", false);
+ return economyDisabled;
}
@Override
diff --git a/Essentials/src/com/earth2me/essentials/User.java b/Essentials/src/com/earth2me/essentials/User.java
index ba1bdf4db..afc59a3d1 100644
--- a/Essentials/src/com/earth2me/essentials/User.java
+++ b/Essentials/src/com/earth2me/essentials/User.java
@@ -49,8 +49,9 @@ public class User extends UserData implements Comparable<User>, IReplyTo, net.es
{
afkPosition = getLocation();
}
- if (isOnline()) {
- lastOnlineActivity = System.currentTimeMillis();
+ if (isOnline())
+ {
+ lastOnlineActivity = System.currentTimeMillis();
}
}
@@ -240,12 +241,14 @@ public class User extends UserData implements Comparable<User>, IReplyTo, net.es
teleportRequestTime = System.currentTimeMillis();
teleportRequester = player == null ? null : player.getName();
teleportRequestHere = here;
- if (player == null) {
+ if (player == null)
+ {
teleportLocation = null;
}
- else {
+ else
+ {
teleportLocation = here ? player.getLocation() : this.getLocation();
- }
+ }
}
public String getTeleportRequest()
@@ -257,7 +260,7 @@ public class User extends UserData implements Comparable<User>, IReplyTo, net.es
{
return teleportRequestHere;
}
-
+
public Location getTpRequestLocation()
{
return teleportLocation;
@@ -392,6 +395,14 @@ public class User extends UserData implements Comparable<User>, IReplyTo, net.es
private BigDecimal _getMoney()
{
+ if (ess.getSettings().isEcoDisabled())
+ {
+ if (ess.getSettings().isDebug())
+ {
+ ess.getLogger().info("Internal economy functions disabled, aborting balance check.");
+ }
+ return BigDecimal.ZERO;
+ }
if (ess.getPaymentMethod().hasMethod())
{
try
@@ -414,6 +425,14 @@ public class User extends UserData implements Comparable<User>, IReplyTo, net.es
@Override
public void setMoney(final BigDecimal value)
{
+ if (ess.getSettings().isEcoDisabled())
+ {
+ if (ess.getSettings().isDebug())
+ {
+ ess.getLogger().info("Internal economy functions disabled, aborting balance change.");
+ }
+ return;
+ }
if (ess.getPaymentMethod().hasMethod())
{
try
@@ -436,6 +455,14 @@ public class User extends UserData implements Comparable<User>, IReplyTo, net.es
public void updateMoneyCache(final BigDecimal value)
{
+ if (ess.getSettings().isEcoDisabled())
+ {
+ if (ess.getSettings().isDebug())
+ {
+ ess.getLogger().info("Internal economy functions disabled, aborting balance sync.");
+ }
+ return;
+ }
if (ess.getPaymentMethod().hasMethod() && super.getMoney() != value)
{
super.setMoney(value);
@@ -765,14 +792,16 @@ public class User extends UserData implements Comparable<User>, IReplyTo, net.es
{
this.recipeSee = recipeSee;
}
-
+
@Override
- public void sendMessage(String message) {
- if (!message.isEmpty()) {
+ public void sendMessage(String message)
+ {
+ if (!message.isEmpty())
+ {
base.sendMessage(message);
}
}
-
+
@Override
public void setReplyTo(final CommandSender user)
{