aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorDeDiamondPro <67508414+DeDiamondPro@users.noreply.github.com>2022-11-06 21:38:07 +0100
committerGitHub <noreply@github.com>2022-11-06 21:38:07 +0100
commit4237145a5ba0cf28c2d14b8f369ec95ffff9bbff (patch)
tree07b5fb28dbd7671239125e67a0f037931012b356
parent5a354b562f5233440cb0a00d9ce441d139b26d07 (diff)
downloadNotEnoughUpdates-4237145a5ba0cf28c2d14b8f369ec95ffff9bbff.tar.gz
NotEnoughUpdates-4237145a5ba0cf28c2d14b8f369ec95ffff9bbff.tar.bz2
NotEnoughUpdates-4237145a5ba0cf28c2d14b8f369ec95ffff9bbff.zip
Fix race condition in graph (#427)
-rw-r--r--src/main/java/io/github/moulberry/notenoughupdates/miscgui/GuiPriceGraph.java34
1 files changed, 13 insertions, 21 deletions
diff --git a/src/main/java/io/github/moulberry/notenoughupdates/miscgui/GuiPriceGraph.java b/src/main/java/io/github/moulberry/notenoughupdates/miscgui/GuiPriceGraph.java
index 71a23ffb..eb6aa956 100644
--- a/src/main/java/io/github/moulberry/notenoughupdates/miscgui/GuiPriceGraph.java
+++ b/src/main/java/io/github/moulberry/notenoughupdates/miscgui/GuiPriceGraph.java
@@ -71,7 +71,7 @@ public class GuiPriceGraph extends GuiScreen {
private double highestValue;
private long firstTime;
private long lastTime;
- private Double lowestValue = null;
+ private double lowestValue;
private String itemName;
private final String itemId;
private int guiLeft;
@@ -149,7 +149,7 @@ public class GuiPriceGraph extends GuiScreen {
guiLeft + 166, guiTop + 116, false, 0xffffff00
);
else if (
- itemData == null || itemData.get() == null || itemData.get().size() <= 1 || lowestValue == null)
+ itemData == null || itemData.get() == null || itemData.get().size() <= 1)
Utils.drawStringCentered("No data found.", Minecraft.getMinecraft().fontRendererObj,
guiLeft + 166, guiTop + 116, false, 0xffff0000
);
@@ -251,7 +251,7 @@ public class GuiPriceGraph extends GuiScreen {
}
if (lowestDist != null && !customSelecting) {
double price = itemData.isBz() ? itemData.bz.get(lowestDistTime).b : itemData.ah.get(lowestDistTime);
- Float price2 = itemData.isBz() ? itemData.bz.get(lowestDistTime).s : null;
+ Double price2 = itemData.isBz() ? itemData.bz.get(lowestDistTime).s : null;
int xPos = (int) map(lowestDistTime, firstTime, lastTime, guiLeft + 17, guiLeft + 315);
int yPos = (int) map(price, highestValue + 10d, lowestValue - 10d, guiTop + 35, guiTop + 198);
int yPos2 = price2 != null
@@ -396,23 +396,15 @@ public class GuiPriceGraph extends GuiScreen {
this.itemData = trimData(itemData);
firstTime = this.itemData.get().firstKey();
lastTime = this.itemData.get().lastKey();
- highestValue = 0;
- lowestValue = null;
+ highestValue = this.itemData.isBz() ? this.itemData.bz.get(firstTime).b : this.itemData.ah.get(firstTime);
+ lowestValue = this.itemData.isBz() ? this.itemData.bz.get(firstTime).b : this.itemData.ah.get(firstTime);
for (long key : this.itemData.get().keySet()) {
double value1 = this.itemData.isBz() ? this.itemData.bz.get(key).b : this.itemData.ah.get(key);
- Float value2 = this.itemData.isBz() ? this.itemData.bz.get(key).s : null;
- if (value1 > highestValue) {
- highestValue = value1;
- }
- if (value2 != null && value2 > highestValue) {
- highestValue = value2;
- }
- if (lowestValue == null || value1 < lowestValue) {
- lowestValue = value1;
- }
- if (value2 != null && value2 < lowestValue) {
- lowestValue = Double.valueOf(value2);
- }
+ Double value2 = this.itemData.isBz() ? this.itemData.bz.get(key).s : null;
+ if (value1 > highestValue) highestValue = value1;
+ if (value2 != null && value2 > highestValue) highestValue = value2;
+ if (value1 < lowestValue) lowestValue = value1;
+ if (value2 != null && value2 < lowestValue) lowestValue = value2;
}
}
loaded = true;
@@ -616,10 +608,10 @@ class ItemData {
}
class BzData {
- float b;
- float s;
+ double b;
+ double s;
- public BzData(float b, float s) {
+ public BzData(double b, double s) {
this.b = b;
this.s = s;
}