From f9d2ab661a89b03c6b28dd83d33729582cbc50df Mon Sep 17 00:00:00 2001 From: RettichLP Date: Tue, 14 Jul 2026 10:28:51 +0200 Subject: [PATCH 1/2] Remove redundant buyPrice check in StockMarketEntry validation logic --- .../de/rettichlp/ucutils/common/models/StockMarketEntry.java | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/main/java/de/rettichlp/ucutils/common/models/StockMarketEntry.java b/src/main/java/de/rettichlp/ucutils/common/models/StockMarketEntry.java index b1b4ec61..9fcbc893 100644 --- a/src/main/java/de/rettichlp/ucutils/common/models/StockMarketEntry.java +++ b/src/main/java/de/rettichlp/ucutils/common/models/StockMarketEntry.java @@ -116,7 +116,7 @@ public record StockMarketEntry(Company company, double price, double changeMoney } } - if (price == 0 || buyPrice == 0) { + if (price == 0) { return null; } From 92df498d46ac53c9fc3446fb26dcc1cfebf014ce Mon Sep 17 00:00:00 2001 From: RettichLP Date: Tue, 14 Jul 2026 10:42:20 +0200 Subject: [PATCH 2/2] Refactor `StockMarketEntry` color logic by extracting repetitive code into `getColorValue` method --- .../common/models/StockMarketEntry.java | 38 +++++++++++-------- 1 file changed, 23 insertions(+), 15 deletions(-) diff --git a/src/main/java/de/rettichlp/ucutils/common/models/StockMarketEntry.java b/src/main/java/de/rettichlp/ucutils/common/models/StockMarketEntry.java index 9fcbc893..4e515adf 100644 --- a/src/main/java/de/rettichlp/ucutils/common/models/StockMarketEntry.java +++ b/src/main/java/de/rettichlp/ucutils/common/models/StockMarketEntry.java @@ -14,6 +14,7 @@ import static java.awt.Color.BLUE; import static java.lang.Double.parseDouble; import static java.lang.Integer.parseInt; +import static java.util.regex.Pattern.compile; import static net.minecraft.ChatFormatting.DARK_GREEN; import static net.minecraft.ChatFormatting.DARK_RED; import static net.minecraft.ChatFormatting.GOLD; @@ -25,19 +26,34 @@ public record StockMarketEntry(Company company, double price, double changeMoney, double changePercentage, int ownership, double buyPrice) { - private static final Pattern PRICE_PATTERN = Pattern.compile("Kurs: (?\\d+\\.\\d+)\\$"); - private static final Pattern CHANGE_PATTERN = Pattern.compile("Änderung: (?-?\\d+\\.\\d+)\\$ \\((?-?\\d+\\.\\d+)%\\) [▼▲]"); - private static final Pattern OWNERSHIP_PATTERN = Pattern.compile("Besitz: (?\\d+)/\\d+"); - private static final Pattern BUY_PRICE_PATTERN = Pattern.compile("EK-Preis: (?-?\\d+\\.\\d+)\\$"); + private static final Pattern PRICE_PATTERN = compile("Kurs: (?\\d+\\.\\d+)\\$"); + private static final Pattern CHANGE_PATTERN = compile("Änderung: (?-?\\d+\\.\\d+)\\$ \\((?-?\\d+\\.\\d+)%\\) [▼▲]"); + private static final Pattern OWNERSHIP_PATTERN = compile("Besitz: (?\\d+)/\\d+"); + private static final Pattern BUY_PRICE_PATTERN = compile("EK-Preis: (?-?\\d+\\.\\d+)\\$"); public @Nullable Color getColor() { - double diff = this.price - this.buyPrice; - + // check if price is below or equal to min value if (this.price <= this.company.getMinValue()) { return BLUE; } + // check if user has bought any stock + if (this.ownership == 0) { + return null; + } + + // get color value + Integer colorValue = getColorValue(); + if (colorValue == null) { + return null; + } + + return new Color(colorValue); + } + + private @Nullable Integer getColorValue() { Integer colorValue; + double diff = this.price - this.buyPrice; if (diff >= 75) { colorValue = DARK_GREEN.getColor(); @@ -53,11 +69,7 @@ public record StockMarketEntry(Company company, double price, double changeMoney colorValue = DARK_RED.getColor(); } - if (colorValue == null) { - return null; - } - - return new Color(colorValue); + return colorValue; } public static @Nullable StockMarketEntry fromItemStack(@NotNull ItemStack itemStack) { @@ -116,10 +128,6 @@ public record StockMarketEntry(Company company, double price, double changeMoney } } - if (price == 0) { - return null; - } - return new StockMarketEntry(company, price, changeMoney, changePercentage, ownership, buyPrice); } }