aboutsummaryrefslogtreecommitdiff
path: root/src/main/java/de/hysky/skyblocker/skyblock
diff options
context:
space:
mode:
Diffstat (limited to 'src/main/java/de/hysky/skyblocker/skyblock')
-rw-r--r--src/main/java/de/hysky/skyblocker/skyblock/fancybars/FancyStatusBars.java20
1 files changed, 17 insertions, 3 deletions
diff --git a/src/main/java/de/hysky/skyblocker/skyblock/fancybars/FancyStatusBars.java b/src/main/java/de/hysky/skyblocker/skyblock/fancybars/FancyStatusBars.java
index ab72cc6d..0595dda9 100644
--- a/src/main/java/de/hysky/skyblocker/skyblock/fancybars/FancyStatusBars.java
+++ b/src/main/java/de/hysky/skyblocker/skyblock/fancybars/FancyStatusBars.java
@@ -211,21 +211,35 @@ public class FancyStatusBars {
widthPerSize = sizeRule.widthPerSize();
int currSize = 0;
- for (int i = 0; i < barRow.size(); i++) {
+ int rowSize = barRow.size();
+ for (int i = 0; i < rowSize; i++) {
+ // A bit of a padding
+ int offsetX = 0;
+ int lessWidth = 0;
+ if (rowSize > 1) { // Technically bars in the middle of 3+ bars will be smaller than the 2 side ones but shh
+ if (i==0) lessWidth = 1;
+ else if (i == rowSize-1) {
+ lessWidth = 1;
+ offsetX = 1;
+ } else {
+ lessWidth = 2;
+ offsetX = 1;
+ }
+ }
StatusBar statusBar = barRow.get(i);
statusBar.size = MathHelper.clamp(statusBar.size, sizeRule.minSize(), sizeRule.maxSize());
float x = barAnchor.isRight() ?
anchorPosition.x() + currSize * widthPerSize :
anchorPosition.x() - currSize * widthPerSize - statusBar.size * widthPerSize;
- statusBar.setX((int) x);
+ statusBar.setX(MathHelper.ceil(x) + offsetX);
int y = barAnchor.isUp() ?
anchorPosition.y() - (row + 1) * (statusBar.getHeight() + 1) :
anchorPosition.y() + row * (statusBar.getHeight() + 1);
statusBar.setY(y);
- statusBar.setWidth((int) (statusBar.size * widthPerSize));
+ statusBar.setWidth(MathHelper.floor(statusBar.size * widthPerSize) - lessWidth);
currSize += statusBar.size;
statusBar.gridX = i;
statusBar.gridY = row;