aboutsummaryrefslogtreecommitdiff
path: root/src/main/java/de/hysky/skyblocker/skyblock/fancybars/StatusBar.java
diff options
context:
space:
mode:
Diffstat (limited to 'src/main/java/de/hysky/skyblocker/skyblock/fancybars/StatusBar.java')
-rw-r--r--src/main/java/de/hysky/skyblocker/skyblock/fancybars/StatusBar.java26
1 files changed, 25 insertions, 1 deletions
diff --git a/src/main/java/de/hysky/skyblocker/skyblock/fancybars/StatusBar.java b/src/main/java/de/hysky/skyblocker/skyblock/fancybars/StatusBar.java
index 3b6453a0..6d321a90 100644
--- a/src/main/java/de/hysky/skyblocker/skyblock/fancybars/StatusBar.java
+++ b/src/main/java/de/hysky/skyblocker/skyblock/fancybars/StatusBar.java
@@ -3,6 +3,7 @@ package de.hysky.skyblocker.skyblock.fancybars;
import de.hysky.skyblocker.SkyblockerMod;
import de.hysky.skyblocker.utils.render.RenderHelper;
import net.minecraft.client.MinecraftClient;
+import net.minecraft.client.font.TextRenderer;
import net.minecraft.client.gui.*;
import net.minecraft.client.gui.screen.narration.NarrationMessageBuilder;
import net.minecraft.client.gui.widget.ClickableWidget;
@@ -36,6 +37,8 @@ public class StatusBar implements Widget, Drawable, Element, Selectable {
public float fill = 0;
public float overflowFill = 0;
+ private Object text = "";
+
private int x = 0;
private int y = 0;
@@ -57,12 +60,32 @@ public class StatusBar implements Widget, Drawable, Element, Selectable {
context.drawGuiTexture(icon, x, y, 9, 9);
context.drawGuiTexture(BAR_BACK, x + 10, y + 1, width - 10, 7);
RenderHelper.renderNineSliceColored(context, BAR_FILL, x + 11, y + 2, (int) ((width - 12) * fill), 5, colors[0]);
- if (hasOverflow) {
+ if (hasOverflow && overflowFill > 0) {
RenderHelper.renderNineSliceColored(context, BAR_FILL, x + 11, y + 2, (int) ((width - 12) * overflowFill), 5, colors[1]);
}
context.drawText(MinecraftClient.getInstance().textRenderer, gridX + " ; " + gridY , x, y-9, Colors.WHITE, true);
}
+ public void updateValues(float fill, float overflowFill, Object text) {
+ this.text = text;
+ this.fill = fill;
+ this.overflowFill = overflowFill;
+ }
+
+ public void renderText(DrawContext context) {
+ TextRenderer textRenderer = MinecraftClient.getInstance().textRenderer;
+ String text = this.text.toString();
+ int x = this.x + 11 + (width - textRenderer.getWidth(text) - 12) / 2;
+ int y = this.y - 3;
+
+ final int[] offsets = new int[]{-1, 1};
+ for (int i : offsets) {
+ context.drawText(textRenderer, text, x + i, y, 0, false);
+ context.drawText(textRenderer, text, x, y + i, 0, false);
+ }
+ context.drawText(textRenderer, text, x, y, (textColor == null ? colors[0]: textColor).getRGB(), false);
+ }
+
public void renderCursor(DrawContext context, int mouseX, int mouseY, float delta) {
int temp_x = x;
int temp_y = y;
@@ -161,6 +184,7 @@ public class StatusBar implements Widget, Drawable, Element, Selectable {
@Override
public String toString() {
return new ToStringBuilder(this)
+ .append("name", name)
.append("gridX", gridX)
.append("gridY", gridY)
.append("size", size)