From 1a2772dfdc57352b99afb3937cc36e0f518f836e Mon Sep 17 00:00:00 2001 From: KHobbits Date: Wed, 28 Aug 2013 17:50:28 +0100 Subject: 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. --- .../src/com/earth2me/essentials/Settings.java | 11 ++++- Essentials/src/com/earth2me/essentials/User.java | 49 +++++++++++++++++----- 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 itemSpawnBl = new ArrayList(); @@ -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, 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, 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, IReplyTo, net.es { return teleportRequestHere; } - + public Location getTpRequestLocation() { return teleportLocation; @@ -392,6 +395,14 @@ public class User extends UserData implements Comparable, 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, 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, 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, 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) { -- cgit v1.2.3