Add minimum-pay-amount setting to limit how little you can /pay someone.

Add 'minimumPayAmount' translatable message.
Create NumberUtil#displayCurrencyExactly(BigDecimal, IEssentials).
This commit is contained in:
Ali Moghnieh 2015-11-07 17:23:40 +00:00
parent fc8ee7f25f
commit 0a876c33a7
6 changed files with 19 additions and 0 deletions

View File

@ -229,4 +229,6 @@ public interface ISettings extends IConf {
boolean isDropItemsIfFull();
boolean isLastMessageReplyRecipient();
BigDecimal getMinimumPayAmount();
}

View File

@ -1121,4 +1121,8 @@ public class Settings implements net.ess3.api.ISettings {
@Override public boolean isLastMessageReplyRecipient() {
return config.getBoolean("last-message-reply-recipient", false);
}
@Override public BigDecimal getMinimumPayAmount() {
return new BigDecimal(config.getString("minimum-pay-amount", "0.001"));
}
}

View File

@ -4,6 +4,8 @@ import com.earth2me.essentials.ChargeException;
import com.earth2me.essentials.CommandSource;
import com.earth2me.essentials.Trade;
import com.earth2me.essentials.User;
import com.earth2me.essentials.utils.NumberUtil;
import net.ess3.api.MaxMoneyException;
import org.bukkit.Server;
@ -32,6 +34,9 @@ public class Commandpay extends EssentialsLoopCommand {
}
amount = new BigDecimal(stringAmount);
if (amount.compareTo(ess.getSettings().getMinimumPayAmount()) < 0) { // Check if amount is less than minimum-pay-amount
throw new Exception(tl("minimumPayAmount", NumberUtil.displayCurrencyExactly(ess.getSettings().getMinimumPayAmount(), ess)));
}
loopOnlinePlayers(server, user.getSource(), false, user.isAuthorized("essentials.pay.multiple"), args[0], args);
}

View File

@ -37,6 +37,10 @@ public class NumberUtil {
return tl("currency", ess.getSettings().getCurrencySymbol(), formatAsCurrency(value));
}
public static String displayCurrencyExactly(final BigDecimal value, final IEssentials ess) {
return tl("currency", ess.getSettings().getCurrencySymbol(), value.toPlainString());
}
public static boolean isInt(final String sInt) {
try {
Integer.parseInt(sInt);

View File

@ -536,6 +536,9 @@ economy-log-enabled: false
# Default is false.
use-bukkit-permissions: false
# Minimum acceptable amount to be used in /pay.
minimum-pay-amount: 0.001
############################################################
# +------------------------------------------------------+ #
# | EssentialsHelp | #

View File

@ -570,3 +570,4 @@ msgDisabledFor=\u00a76Receiving messages \u00a7cdisabled \u00a76for \u00a7c{0}\u
msgEnabled=\u00a76Receiving messages \u00a7cenabled\u00a76.
msgEnabledFor=\u00a76Receiving messages \u00a7cenabled \u00a76for \u00a7c{0}\u00a76.
msgIgnore=\u00a7c{0} \u00a74has messages disabled.
minimumPayAmount=\u00a7cThe minimum amount you can pay is {0}.