diff --git a/build.gradle b/build.gradle index b609aa8..20e6ea3 100644 --- a/build.gradle +++ b/build.gradle @@ -1,5 +1,5 @@ plugins { - id 'fabric-loom' version '1.10.1' + id 'fabric-loom' version '1.11-SNAPSHOT' id 'maven-publish' } @@ -42,7 +42,7 @@ dependencies { // Fabric API. This is technically optional, but you probably want it anyway. modImplementation "net.fabricmc.fabric-api:fabric-api:${project.fabric_version}" - modImplementation "maven.modrinth:modmenu:14.0.0-rc.2" + modImplementation "maven.modrinth:modmenu:${project.modmenu_version}" } processResources { diff --git a/gradle.properties b/gradle.properties index 866333f..2294440 100644 --- a/gradle.properties +++ b/gradle.properties @@ -2,13 +2,14 @@ org.gradle.jvmargs=-Xmx1G # Fabric Properties # check these on https://modmuss50.me/fabric.html -minecraft_version=1.21.5 -yarn_mappings=1.21.5+build.1 -loader_version=0.16.12 +minecraft_version=1.21.6 +yarn_mappings=1.21.6+build.1 +loader_version=0.16.13 # Mod Properties -mod_version=1.6.0 +mod_version=1.6.1 maven_group=de.shiewk archives_base_name=Widgets # Dependencies # check this on https://modmuss50.me/fabric.html -fabric_version=0.119.5+1.21.5 +fabric_version=0.127.0+1.21.6 +modmenu_version=15.0.0-beta.3 diff --git a/src/main/java/de/shiewk/widgets/client/WidgetRenderer.java b/src/main/java/de/shiewk/widgets/client/WidgetRenderer.java index 22d45a8..cf3be7a 100644 --- a/src/main/java/de/shiewk/widgets/client/WidgetRenderer.java +++ b/src/main/java/de/shiewk/widgets/client/WidgetRenderer.java @@ -8,9 +8,7 @@ import de.shiewk.widgets.client.screen.WidgetConfigScreen; import it.unimi.dsi.fastutil.objects.ObjectArrayList; import net.fabricmc.fabric.api.client.event.lifecycle.v1.ClientLifecycleEvents; import net.fabricmc.fabric.api.client.event.lifecycle.v1.ClientTickEvents; -import net.fabricmc.fabric.api.client.rendering.v1.HudLayerRegistrationCallback; -import net.fabricmc.fabric.api.client.rendering.v1.IdentifiedLayer; -import net.fabricmc.fabric.api.client.rendering.v1.LayeredDrawerWrapper; +import net.fabricmc.fabric.api.client.rendering.v1.hud.HudElementRegistry; import net.minecraft.client.MinecraftClient; import net.minecraft.client.font.TextRenderer; import net.minecraft.client.gui.DrawContext; @@ -22,18 +20,16 @@ import net.minecraft.util.profiler.Profilers; import static de.shiewk.widgets.WidgetUtils.translateToScreen; -public class WidgetRenderer implements HudLayerRegistrationCallback, ClientTickEvents.StartTick, ClientLifecycleEvents.ClientStarted { +public class WidgetRenderer implements ClientTickEvents.StartTick, ClientLifecycleEvents.ClientStarted { public static final Identifier LAYER_ID = Identifier.of(WidgetsMod.MOD_ID, "widgets-hud-layer"); private static MinecraftClient client; - - @Override - public void register(LayeredDrawerWrapper layeredDrawer) { - layeredDrawer.addLayer(IdentifiedLayer.of( + public WidgetRenderer(){ + HudElementRegistry.addLast( LAYER_ID, this::renderWidgets - )); + ); } public void renderWidgets(DrawContext drawContext, RenderTickCounter tickCounter) { diff --git a/src/main/java/de/shiewk/widgets/client/WidgetsModClient.java b/src/main/java/de/shiewk/widgets/client/WidgetsModClient.java index b58cf6f..9bec33f 100644 --- a/src/main/java/de/shiewk/widgets/client/WidgetsModClient.java +++ b/src/main/java/de/shiewk/widgets/client/WidgetsModClient.java @@ -10,7 +10,6 @@ import net.fabricmc.fabric.api.client.event.lifecycle.v1.ClientEntityEvents; import net.fabricmc.fabric.api.client.event.lifecycle.v1.ClientLifecycleEvents; import net.fabricmc.fabric.api.client.event.lifecycle.v1.ClientTickEvents; import net.fabricmc.fabric.api.client.keybinding.v1.KeyBindingHelper; -import net.fabricmc.fabric.api.client.rendering.v1.HudLayerRegistrationCallback; import net.minecraft.client.MinecraftClient; import net.minecraft.client.option.KeyBinding; import net.minecraft.client.util.InputUtil; @@ -24,9 +23,9 @@ public class WidgetsModClient implements ClientModInitializer { @Override public void onInitializeClient() { - HudLayerRegistrationCallback.EVENT.register(new WidgetRenderer()); - ClientTickEvents.START_CLIENT_TICK.register(new WidgetRenderer()); - ClientLifecycleEvents.CLIENT_STARTED.register(new WidgetRenderer()); + WidgetRenderer widgetRenderer = new WidgetRenderer(); + ClientTickEvents.START_CLIENT_TICK.register(widgetRenderer); + ClientLifecycleEvents.CLIENT_STARTED.register(widgetRenderer); // manage widgets keybind configKeyBinding = KeyBindingHelper.registerKeyBinding(new KeyBinding( diff --git a/src/main/java/de/shiewk/widgets/client/screen/AnimatedScreen.java b/src/main/java/de/shiewk/widgets/client/screen/AnimatedScreen.java index 6040c64..ef8f7b6 100644 --- a/src/main/java/de/shiewk/widgets/client/screen/AnimatedScreen.java +++ b/src/main/java/de/shiewk/widgets/client/screen/AnimatedScreen.java @@ -5,6 +5,7 @@ import net.minecraft.client.gui.DrawContext; import net.minecraft.client.gui.screen.Screen; import net.minecraft.text.Text; import net.minecraft.util.Util; +import org.joml.Matrix3x2fStack; public abstract class AnimatedScreen extends Screen { protected final Screen parent; @@ -22,16 +23,17 @@ public abstract class AnimatedScreen extends Screen { final boolean shouldAnimate = timeMs < animationDurationMs; if (shouldAnimate){ double translation = WidgetUtils.computeEasing(timeMs / animationDurationMs) * this.width; - context.getMatrices().push(); - context.getMatrices().translate(-translation, 0, 0); + Matrix3x2fStack stack = context.getMatrices().pushMatrix(); + + stack.translate((float) -translation, 0, stack); parent.render(context, (int) (mouseX + translation), mouseY, delta); - context.getMatrices().translate(this.width, 0, 0); + stack.translate(this.width, 0, stack); mouseX -= (int) translation; } super.render(context, mouseX, mouseY, delta); this.renderScreenContents(context, mouseX, mouseY, delta); if (shouldAnimate){ - context.getMatrices().pop(); + context.getMatrices().popMatrix(); } } diff --git a/src/main/java/de/shiewk/widgets/client/screen/WidgetConfigScreen.java b/src/main/java/de/shiewk/widgets/client/screen/WidgetConfigScreen.java index d78c234..29aaee6 100644 --- a/src/main/java/de/shiewk/widgets/client/screen/WidgetConfigScreen.java +++ b/src/main/java/de/shiewk/widgets/client/screen/WidgetConfigScreen.java @@ -11,6 +11,7 @@ import net.minecraft.client.gui.widget.ButtonWidget; import net.minecraft.client.gui.widget.TextFieldWidget; import net.minecraft.text.Text; import net.minecraft.util.Util; +import org.joml.Matrix3x2fStack; import java.util.ArrayList; import java.util.Objects; @@ -103,17 +104,17 @@ public class WidgetConfigScreen extends Screen { assert client != null; final double time = getScreenTimeMs(); if (time < 400){ - context.getMatrices().push(); + Matrix3x2fStack stack = context.getMatrices().pushMatrix(); final float v = (float) WidgetUtils.computeEasing(time / 400d); - context.getMatrices().translate(width / 2d - (width * v / 2d), height / 2d - (height * v / 2d), 0); - context.getMatrices().scale(v, v, 1); + stack.translate((float) (width / 2d - (width * v / 2d)), (float) (height / 2d - (height * v / 2d)), stack); + stack.scale(v, v, stack); } super.render(context, mouseX, mouseY, delta); if (widgetList != null){ widgetList.render(context, mouseX, mouseY, delta); } if (time < 400){ - context.getMatrices().pop(); + context.getMatrices().popMatrix(); } } diff --git a/src/main/java/de/shiewk/widgets/client/screen/components/WidgetListWidget.java b/src/main/java/de/shiewk/widgets/client/screen/components/WidgetListWidget.java index e357372..5b8f063 100644 --- a/src/main/java/de/shiewk/widgets/client/screen/components/WidgetListWidget.java +++ b/src/main/java/de/shiewk/widgets/client/screen/components/WidgetListWidget.java @@ -11,9 +11,9 @@ import net.minecraft.client.gui.widget.GridWidget; import net.minecraft.client.gui.widget.ScrollableWidget; import net.minecraft.client.gui.widget.SimplePositioningWidget; import net.minecraft.client.sound.PositionedSoundInstance; -import net.minecraft.client.util.math.MatrixStack; import net.minecraft.sound.SoundEvents; import net.minecraft.text.Text; +import org.joml.Matrix3x2fStack; import java.util.ArrayList; import java.util.List; @@ -68,13 +68,12 @@ public class WidgetListWidget extends ScrollableWidget { @Override protected void renderWidget(DrawContext context, int mouseX, int mouseY, float delta) { context.enableScissor(getX(), getY(), getX()+width, getY()+height); - MatrixStack matrices = context.getMatrices(); - matrices.push(); - matrices.translate(0, -getScrollY(), 0); + Matrix3x2fStack stack = context.getMatrices().pushMatrix(); + stack.translate(0, (float) -getScrollY(), stack); for (WidgetWidget element : elements) { element.render(context, mouseX, (int) (mouseY + getScrollY()), delta); } - matrices.pop(); + stack.popMatrix(); context.disableScissor(); } diff --git a/src/main/java/de/shiewk/widgets/client/screen/components/WidgetSettingsEditWidget.java b/src/main/java/de/shiewk/widgets/client/screen/components/WidgetSettingsEditWidget.java index f8cca0f..cb872d8 100644 --- a/src/main/java/de/shiewk/widgets/client/screen/components/WidgetSettingsEditWidget.java +++ b/src/main/java/de/shiewk/widgets/client/screen/components/WidgetSettingsEditWidget.java @@ -6,8 +6,8 @@ import net.minecraft.client.font.TextRenderer; import net.minecraft.client.gui.DrawContext; import net.minecraft.client.gui.screen.narration.NarrationMessageBuilder; import net.minecraft.client.gui.widget.ScrollableWidget; -import net.minecraft.client.util.math.MatrixStack; import net.minecraft.text.Text; +import org.joml.Matrix3x2fStack; import java.awt.*; @@ -50,14 +50,13 @@ public class WidgetSettingsEditWidget extends ScrollableWidget { @Override protected void renderWidget(DrawContext context, int mouseX, int mouseY, float delta) { context.fill(getX(), getY(), getX()+width, getY()+height, COLOR_BG); - MatrixStack matrices = context.getMatrices(); - matrices.push(); - matrices.translate(0, -getScrollY(), 0); - matrices.push(); - matrices.scale(2, 2, 2); - matrices.translate(0, -getScrollY(), 0); + Matrix3x2fStack matrices = context.getMatrices().pushMatrix(); + matrices.translate(0, (float) -getScrollY(), matrices); + matrices.pushMatrix(); + matrices.scale(2, 2, matrices); + matrices.translate(0, (float) -getScrollY(), matrices); context.drawText(textRenderer, widget.getName(), this.width / 4 - textRenderer.getWidth(widget.getName()) / 2, this.height / 100, COLOR_FG, true); - matrices.pop(); + matrices.popMatrix(); int y = textRenderer.fontHeight * 2 + this.height / 50 + 5; for (WidgetSettingOption setting : widget.getSettings().getCustomSettings()) { if (!setting.shouldShow()) continue; @@ -76,7 +75,7 @@ public class WidgetSettingsEditWidget extends ScrollableWidget { y += 5; } this.contentsHeight = y; - matrices.pop(); + matrices.popMatrix(); } @Override diff --git a/src/main/java/de/shiewk/widgets/client/screen/components/WidgetWidget.java b/src/main/java/de/shiewk/widgets/client/screen/components/WidgetWidget.java index 7b8aa41..8be8913 100644 --- a/src/main/java/de/shiewk/widgets/client/screen/components/WidgetWidget.java +++ b/src/main/java/de/shiewk/widgets/client/screen/components/WidgetWidget.java @@ -11,6 +11,7 @@ import net.minecraft.client.gui.widget.ClickableWidget; import net.minecraft.text.OrderedText; import net.minecraft.text.Text; import net.minecraft.util.Util; +import org.joml.Matrix3x2fStack; import java.awt.*; import java.util.Iterator; @@ -53,11 +54,11 @@ public class WidgetWidget extends ClickableWidget { boolean hover = this.isMouseOver(mouseX, mouseY); boolean widgetEnabled = widget.getSettings().isEnabled(); context.fill(this.getX(), this.getY(), this.getX() + this.getWidth(), this.getY() + this.getHeight(), hover ? COLOR_BG_HOVER : COLOR_BG); - context.getMatrices().push(); - context.getMatrices().scale(2, 2, 1); + Matrix3x2fStack stack = context.getMatrices().pushMatrix(); + stack.scale(2, 2, stack); int titleSize = textRenderer.getWidth(widget.getName()); context.drawText(textRenderer, widget.getName(), getX() / 2 + getWidth() / 4 - titleSize / 2, getY() / 2 + 4, COLOR_FG, false); - context.getMatrices().pop(); + stack.popMatrix(); int y = this.getY() + 12 + textRenderer.fontHeight * 2; for (Iterator it = textRenderer.wrapLines(widget.getDescription(), this.getWidth() - 10).iterator(); it.hasNext(); y += 9) { OrderedText t = it.next(); diff --git a/src/main/java/de/shiewk/widgets/widgets/BandwidthWidget.java b/src/main/java/de/shiewk/widgets/widgets/BandwidthWidget.java index 92c84d2..283bdef 100644 --- a/src/main/java/de/shiewk/widgets/widgets/BandwidthWidget.java +++ b/src/main/java/de/shiewk/widgets/widgets/BandwidthWidget.java @@ -15,6 +15,7 @@ import java.util.function.LongFunction; public class BandwidthWidget extends BasicTextWidget { public enum Unit { + @SuppressWarnings("IntegerDivisionInFloatingPointContext") KB("kB", bytes -> { if (bytes > 1000) { double kB = bytes / 100 / 10d; @@ -67,11 +68,11 @@ public class BandwidthWidget extends BasicTextWidget { this.renderText = Text.of(unit.sizeFormatter.apply(avgBytesPerSecond)); if (this.dynamicColor){ if (avgBytesPerSecond < 100000){ - this.textColor = 0x00ff00; + this.textColor = 0xff00ff00; } else if (avgBytesPerSecond < 750000) { - this.textColor = 0xffff00; + this.textColor = 0xffffff00; } else { - this.textColor = 0xff3030; + this.textColor = 0xffff3030; } } } diff --git a/src/main/java/de/shiewk/widgets/widgets/BasicTextWidget.java b/src/main/java/de/shiewk/widgets/widgets/BasicTextWidget.java index 589ac0c..2c9ed13 100644 --- a/src/main/java/de/shiewk/widgets/widgets/BasicTextWidget.java +++ b/src/main/java/de/shiewk/widgets/widgets/BasicTextWidget.java @@ -10,9 +10,9 @@ import de.shiewk.widgets.widgets.settings.ToggleWidgetSetting; import it.unimi.dsi.fastutil.objects.ObjectArrayList; import net.minecraft.client.font.TextRenderer; import net.minecraft.client.gui.DrawContext; -import net.minecraft.client.util.math.MatrixStack; import net.minecraft.text.Text; import net.minecraft.util.Identifier; +import org.joml.Matrix3x2fStack; import java.awt.*; import java.util.List; @@ -84,16 +84,16 @@ public abstract class BasicTextWidget extends ModWidget { @Override public void render(DrawContext context, long n, TextRenderer textRenderer, int posX, int posY) { if (!shouldRender) return; - MatrixStack matrices = context.getMatrices(); + Matrix3x2fStack matrices = context.getMatrices(); if (size != 1f){ - matrices.push(); - matrices.translate(-(size-1) * posX, -(size-1) * posY, 0); - matrices.scale(size, size, 1); + matrices.pushMatrix(); + matrices.translate(-(size-1) * posX, -(size-1) * posY, matrices); + matrices.scale(size, size, matrices); } renderer = textRenderer; context.fill(posX, posY, posX + width(), posY + height(), this.backgroundColor); context.drawText(textRenderer, renderText, posX + textX, posY + (textShadow ? textY : textY + 1 /* offset 1 without text shadow so that it looks more aligned */), this.textColor, textShadow); - if (size != 1f) matrices.pop(); + if (size != 1f) matrices.popMatrix(); } @Override diff --git a/src/main/java/de/shiewk/widgets/widgets/CoordinatesWidget.java b/src/main/java/de/shiewk/widgets/widgets/CoordinatesWidget.java index 92eeccc..bd0e96a 100644 --- a/src/main/java/de/shiewk/widgets/widgets/CoordinatesWidget.java +++ b/src/main/java/de/shiewk/widgets/widgets/CoordinatesWidget.java @@ -9,9 +9,9 @@ import net.minecraft.client.MinecraftClient; import net.minecraft.client.font.TextRenderer; import net.minecraft.client.gui.DrawContext; import net.minecraft.client.network.ClientPlayerEntity; -import net.minecraft.client.util.math.MatrixStack; import net.minecraft.text.Text; import net.minecraft.util.Identifier; +import org.joml.Matrix3x2fStack; import java.awt.*; import java.util.List; @@ -39,11 +39,11 @@ public class CoordinatesWidget extends ModWidget { @Override public void render(DrawContext context, long measuringTimeNano, TextRenderer textRenderer, int posX, int posY) { - MatrixStack matrices = context.getMatrices(); + Matrix3x2fStack matrices = context.getMatrices(); if (size != 1f){ - matrices.push(); - matrices.translate(-(size-1) * posX, -(size-1) * posY, 0); - matrices.scale(size, size, 1); + matrices.pushMatrix(); + matrices.translate(-(size-1) * posX, -(size-1) * posY, matrices); + matrices.scale(size, size, matrices); } context.fill(posX, posY, posX + width(), posY + height(), this.backgroundColor); int y = this.paddingY; @@ -64,7 +64,7 @@ public class CoordinatesWidget extends ModWidget { context.drawText(textRenderer, "Z: ", posX + paddingX, posY + y, textColor, shadow); context.drawText(textRenderer, textZ, posX + tzc, posY + y, textColor, shadow); } - if (size != 1f) matrices.pop(); + if (size != 1f) matrices.popMatrix(); } @Override diff --git a/src/main/java/de/shiewk/widgets/widgets/KeyStrokesWidget.java b/src/main/java/de/shiewk/widgets/widgets/KeyStrokesWidget.java index a122da8..b17ab00 100644 --- a/src/main/java/de/shiewk/widgets/widgets/KeyStrokesWidget.java +++ b/src/main/java/de/shiewk/widgets/widgets/KeyStrokesWidget.java @@ -9,11 +9,11 @@ import net.minecraft.client.MinecraftClient; import net.minecraft.client.font.TextRenderer; import net.minecraft.client.gui.DrawContext; import net.minecraft.client.option.KeyBinding; -import net.minecraft.client.util.math.MatrixStack; import net.minecraft.text.Text; import net.minecraft.util.Identifier; import net.minecraft.util.Util; import net.minecraft.util.math.MathHelper; +import org.joml.Matrix3x2fStack; import java.awt.*; import java.util.List; @@ -76,11 +76,11 @@ public class KeyStrokesWidget extends ModWidget { @Override public void render(DrawContext context, long measuringTimeNano, TextRenderer textRenderer, int posX, int posY) { if (KEY_JUMP == null) return; - MatrixStack matrices = context.getMatrices(); + Matrix3x2fStack matrices = context.getMatrices(); if (size != 1) { - matrices.push(); - matrices.translate(-(size-1) * posX, -(size-1) * posY, 0); - matrices.scale(size, size, 1); + matrices.pushMatrix(); + matrices.translate(-(size-1) * posX, -(size-1) * posY, matrices); + matrices.scale(size, size, matrices); } renderKeyStroke(context, textRenderer, measuringTimeNano, posX + 22, posY, KEY_FWD); renderKeyStroke(context, textRenderer, measuringTimeNano, posX, posY + 22, KEY_LEFT); @@ -88,7 +88,7 @@ public class KeyStrokesWidget extends ModWidget { renderKeyStroke(context, textRenderer, measuringTimeNano, posX + 44, posY + 22, KEY_RIGHT); if (showJumpKey) renderSpaceBar(context, measuringTimeNano, posX, posY + 44, KEY_JUMP); if (size != 1){ - matrices.pop(); + matrices.popMatrix(); } } diff --git a/src/main/java/de/shiewk/widgets/widgets/PingWidget.java b/src/main/java/de/shiewk/widgets/widgets/PingWidget.java index 37430d9..d968147 100644 --- a/src/main/java/de/shiewk/widgets/widgets/PingWidget.java +++ b/src/main/java/de/shiewk/widgets/widgets/PingWidget.java @@ -49,18 +49,18 @@ public class PingWidget extends BasicTextWidget { } if (valuesRead == 0){ this.renderText = Text.literal("??? ms"); - if (this.dynamicColor) this.textColor = 0x00ff00; + if (this.dynamicColor) this.textColor = 0xff00ff00; return; } long avgPing = ping / valuesRead; this.renderText = Text.literal(avgPing + " ms"); if (this.dynamicColor){ if (avgPing < 50){ - this.textColor = 0x00ff00; + this.textColor = 0xff00ff00; } else if (avgPing < 120) { - this.textColor = 0xffff00; + this.textColor = 0xffffff00; } else { - this.textColor = 0xff3030; + this.textColor = 0xffff3030; } } } diff --git a/src/main/java/de/shiewk/widgets/widgets/TPSWidget.java b/src/main/java/de/shiewk/widgets/widgets/TPSWidget.java index 9b086ff..6b97d9a 100644 --- a/src/main/java/de/shiewk/widgets/widgets/TPSWidget.java +++ b/src/main/java/de/shiewk/widgets/widgets/TPSWidget.java @@ -79,7 +79,7 @@ public class TPSWidget extends BasicTextWidget { } else { this.renderText = Text.literal("???"); } - if (dynamicColor) this.textColor = 0x00ff00; + if (dynamicColor) this.textColor = 0xff00ff00; } else { tps = Math.round(tps * 10f) / 10f; if (showLabel){ @@ -89,11 +89,11 @@ public class TPSWidget extends BasicTextWidget { } if (dynamicColor){ if (tps >= targetTickRate * 0.990){ - this.textColor = 0x00ff00; + this.textColor = 0xff00ff00; } else if (tps >= targetTickRate * 0.740){ - this.textColor = 0xffff00; + this.textColor = 0xffffff00; } else { - this.textColor = 0xff0000; + this.textColor = 0xffff0000; } } } diff --git a/src/main/java/de/shiewk/widgets/widgets/settings/RGBAColorWidgetSetting.java b/src/main/java/de/shiewk/widgets/widgets/settings/RGBAColorWidgetSetting.java index e518474..36310d2 100644 --- a/src/main/java/de/shiewk/widgets/widgets/settings/RGBAColorWidgetSetting.java +++ b/src/main/java/de/shiewk/widgets/widgets/settings/RGBAColorWidgetSetting.java @@ -69,15 +69,15 @@ public class RGBAColorWidgetSetting extends WidgetSettingOption { o++; } - context.drawText(textRenderer, "R", this.getX() + 7 - textRenderer.getWidth("R"), this.getY() + 5 + 4, 0xffffff, true); - context.drawText(textRenderer, "G", this.getX() + 7 - textRenderer.getWidth("G"), this.getY() + 25 + 4, 0xffffff, true); - context.drawText(textRenderer, "B", this.getX() + 7 - textRenderer.getWidth("B"), this.getY() + 45 + 4, 0xffffff, true); - context.drawText(textRenderer, "A", this.getX() + 7 - textRenderer.getWidth("A"), this.getY() + 65 + 4, 0xffffff, true); + context.drawText(textRenderer, "R", this.getX() + 7 - textRenderer.getWidth("R"), this.getY() + 5 + 4, 0xffffffff, true); + context.drawText(textRenderer, "G", this.getX() + 7 - textRenderer.getWidth("G"), this.getY() + 25 + 4, 0xffffffff, true); + context.drawText(textRenderer, "B", this.getX() + 7 - textRenderer.getWidth("B"), this.getY() + 45 + 4, 0xffffffff, true); + context.drawText(textRenderer, "A", this.getX() + 7 - textRenderer.getWidth("A"), this.getY() + 65 + 4, 0xffffffff, true); - context.drawText(textRenderer, String.valueOf(r), this.getX() + this.getWidth() - 19, this.getY() + 5 + 4, 0xffffff, true); - context.drawText(textRenderer, String.valueOf(g), this.getX() + this.getWidth() - 19, this.getY() + 25 + 4, 0xffffff, true); - context.drawText(textRenderer, String.valueOf(b), this.getX() + this.getWidth() - 19, this.getY() + 45 + 4, 0xffffff, true); - context.drawText(textRenderer, String.valueOf(a), this.getX() + this.getWidth() - 19, this.getY() + 65 + 4, 0xffffff, true); + context.drawText(textRenderer, String.valueOf(r), this.getX() + this.getWidth() - 19, this.getY() + 5 + 4, 0xffffffff, true); + context.drawText(textRenderer, String.valueOf(g), this.getX() + this.getWidth() - 19, this.getY() + 25 + 4, 0xffffffff, true); + context.drawText(textRenderer, String.valueOf(b), this.getX() + this.getWidth() - 19, this.getY() + 45 + 4, 0xffffffff, true); + context.drawText(textRenderer, String.valueOf(a), this.getX() + this.getWidth() - 19, this.getY() + 65 + 4, 0xffffffff, true); context.drawVerticalLine(this.getX() + 5 + 7 + r/2, this.getY() + 4, this.getY() + 21, 0xffffffff); context.drawVerticalLine(this.getX() + 5 + 7 + g/2, this.getY() + 24, this.getY() + 41, 0xffffffff);