diff --git a/Essentials/src/main/java/com/earth2me/essentials/api/Economy.java b/Essentials/src/main/java/com/earth2me/essentials/api/Economy.java index 8fdcfa5a16e..41e8261894e 100644 --- a/Essentials/src/main/java/com/earth2me/essentials/api/Economy.java +++ b/Essentials/src/main/java/com/earth2me/essentials/api/Economy.java @@ -323,7 +323,13 @@ public static void add(final User user, final BigDecimal amount) throws NoLoanPe throw new IllegalArgumentException("Economy user cannot be null"); } final BigDecimal result = getMoneyExact(user).add(amount, MATH_CONTEXT); - setMoney(user, result); + // Deposits (positive amounts) always improve the balance, so minMoney and + // loan checks don't apply — they exist to prevent the balance from dropping. + if (amount.signum() <= 0) { + setMoney(user, result); + } else { + user.setMoney(result, UserBalanceUpdateEvent.Cause.API); + } Trade.log("API", "Add", "API", user.getName(), new Trade(amount, ess), null, null, null, result, ess); }