From 4737ad1cfaa5fe55ce97acd927663ea54e1df94f Mon Sep 17 00:00:00 2001 From: Len <40720638+destro174@users.noreply.github.com> Date: Tue, 13 Aug 2024 15:42:14 +0200 Subject: [PATCH] Round shop balance and price per item. --- .../java/com/alttd/playershops/shop/PlayerShop.java | 4 ++-- .../java/com/alttd/playershops/utils/EconomyUtils.java | 10 ++++++++++ 2 files changed, 12 insertions(+), 2 deletions(-) diff --git a/src/main/java/com/alttd/playershops/shop/PlayerShop.java b/src/main/java/com/alttd/playershops/shop/PlayerShop.java index 95af72e..9f6d7a2 100644 --- a/src/main/java/com/alttd/playershops/shop/PlayerShop.java +++ b/src/main/java/com/alttd/playershops/shop/PlayerShop.java @@ -65,7 +65,7 @@ public class PlayerShop { playerShop.server = server; playerShop.price = price; playerShop.amount = amount; - playerShop.balance = balance; + playerShop.balance = EconomyUtils.round(balance); playerShop.itemStack = item; playerShop.lastTransaction = lastTransaction; @@ -193,7 +193,7 @@ public class PlayerShop { } public double getPricePerItem() { - return this.getPrice() / this.getAmount(); + return EconomyUtils.round(this.getPrice() / this.getAmount()); } public boolean removeBalance(double amount) { diff --git a/src/main/java/com/alttd/playershops/utils/EconomyUtils.java b/src/main/java/com/alttd/playershops/utils/EconomyUtils.java index 93dfdeb..90c8132 100644 --- a/src/main/java/com/alttd/playershops/utils/EconomyUtils.java +++ b/src/main/java/com/alttd/playershops/utils/EconomyUtils.java @@ -5,6 +5,9 @@ import com.alttd.playershops.shop.PlayerShop; import net.milkbowl.vault.economy.EconomyResponse; import org.bukkit.entity.Player; +import java.math.BigDecimal; +import java.math.RoundingMode; + // TODO document public class EconomyUtils { @@ -55,4 +58,11 @@ public class EconomyUtils { // if we ever need to limit the maximum balance a shop can have this is the place return true; } + + public static double round(double value) { + BigDecimal bd = BigDecimal.valueOf(value); + bd = bd.setScale(2, RoundingMode.HALF_UP); + return bd.doubleValue(); + } + }