From fdef1062f07912acfb99c8deb95804fe9c013e4f Mon Sep 17 00:00:00 2001 From: Josh Roy <10731363+JRoy@users.noreply.github.com> Date: Wed, 27 May 2020 15:34:11 -0400 Subject: [PATCH] Add config option to block /pay from ignored users (#3273) --- Essentials/src/com/earth2me/essentials/ISettings.java | 2 ++ Essentials/src/com/earth2me/essentials/Settings.java | 5 +++++ .../src/com/earth2me/essentials/commands/Commandpay.java | 2 +- Essentials/src/config.yml | 3 +++ 4 files changed, 11 insertions(+), 1 deletion(-) diff --git a/Essentials/src/com/earth2me/essentials/ISettings.java b/Essentials/src/com/earth2me/essentials/ISettings.java index d16d33195..e7ce055c5 100644 --- a/Essentials/src/com/earth2me/essentials/ISettings.java +++ b/Essentials/src/com/earth2me/essentials/ISettings.java @@ -280,6 +280,8 @@ public interface ISettings extends IConf { BigDecimal getMinimumPayAmount(); + boolean isPayExcludesIgnoreList(); + long getLastMessageReplyRecipientTimeout(); boolean isMilkBucketEasterEggEnabled(); diff --git a/Essentials/src/com/earth2me/essentials/Settings.java b/Essentials/src/com/earth2me/essentials/Settings.java index 5dcfc44fb..720ad7e2a 100644 --- a/Essentials/src/com/earth2me/essentials/Settings.java +++ b/Essentials/src/com/earth2me/essentials/Settings.java @@ -1258,6 +1258,11 @@ public class Settings implements net.ess3.api.ISettings { return new BigDecimal(config.getString("minimum-pay-amount", "0.001")); } + @Override + public boolean isPayExcludesIgnoreList() { + return config.getBoolean("pay-excludes-ignore-list", false); + } + @Override public long getLastMessageReplyRecipientTimeout() { return config.getLong("last-message-reply-recipient-timeout", 180); } diff --git a/Essentials/src/com/earth2me/essentials/commands/Commandpay.java b/Essentials/src/com/earth2me/essentials/commands/Commandpay.java index 6e63243bd..cf5b515ea 100644 --- a/Essentials/src/com/earth2me/essentials/commands/Commandpay.java +++ b/Essentials/src/com/earth2me/essentials/commands/Commandpay.java @@ -59,7 +59,7 @@ public class Commandpay extends EssentialsLoopCommand { protected void updatePlayer(final Server server, final CommandSource sender, final User player, final String[] args) throws ChargeException { User user = ess.getUser(sender.getPlayer()); try { - if (!player.isAcceptingPay()) { + if (!player.isAcceptingPay() || (ess.getSettings().isPayExcludesIgnoreList() && player.isIgnoredPlayer(user))) { sender.sendMessage(tl("notAcceptingPay", player.getDisplayName())); return; } diff --git a/Essentials/src/config.yml b/Essentials/src/config.yml index 95ac25050..b2980b7e2 100644 --- a/Essentials/src/config.yml +++ b/Essentials/src/config.yml @@ -702,6 +702,9 @@ economy-log-update-enabled: false # Minimum acceptable amount to be used in /pay. minimum-pay-amount: 0.001 +# Enable this to block users who try to /pay another user which ignore them. +pay-excludes-ignore-list: false + # The format of currency, excluding symbols. See currency-symbol-format-locale for symbol configuration. # # "#,##0.00" is how the majority of countries display currency.