Skip to content
This repository was archived by the owner on Nov 28, 2025. It is now read-only.

Commit a8d2732

Browse files
committed
(1.21.1, 1.21.4) fix hud color differences
- (1.20.1) fix badge rendering
1 parent 4491462 commit a8d2732

File tree

16 files changed

+65
-78
lines changed

16 files changed

+65
-78
lines changed

1.16_combat-6/src/main/java/io/github/axolotlclient/mixin/EntityRendererMixin.java

Lines changed: 2 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -55,7 +55,7 @@ public abstract class EntityRendererMixin<T extends Entity> {
5555
@Inject(method = "renderLabelIfPresent", at = @At(value = "INVOKE", target = "Lnet/minecraft/client/font/TextRenderer;draw(Lnet/minecraft/text/Text;FFIZLnet/minecraft/util/math/Matrix4f;Lnet/minecraft/client/render/VertexConsumerProvider;ZII)I", ordinal = 0))
5656
public void axolotlclient$addBadges(T entity, Text text, MatrixStack matrices, VertexConsumerProvider vertexConsumers, int light,
5757
CallbackInfo ci) {
58-
if (entity instanceof AbstractClientPlayerEntity && text.getString().contains(entity.getName().getString())) {
58+
if (entity instanceof AbstractClientPlayerEntity) {
5959
if (!entity.isSneaky()) {
6060
if (AxolotlClient.CONFIG.showBadges.get() && UserRequest.getOnline(entity.getUuid().toString())) {
6161
RenderSystem.enableDepthTest();
@@ -112,8 +112,7 @@ public abstract class EntityRendererMixin<T extends Entity> {
112112
CallbackInfo ci) {
113113
if (entity instanceof AbstractClientPlayerEntity) {
114114
if (MinecraftClient.getInstance().getCurrentServerEntry() != null
115-
&& MinecraftClient.getInstance().getCurrentServerEntry().address.contains("hypixel.net")
116-
&& string.getString().contains(entity.getName().getString())) {
115+
&& MinecraftClient.getInstance().getCurrentServerEntry().address.contains("hypixel.net")) {
117116
TextRenderer textRenderer = MinecraftClient.getInstance().textRenderer;
118117
if (BedwarsMod.getInstance().isEnabled() &&
119118
BedwarsMod.getInstance().inGame() &&

1.16_combat-6/src/main/java/io/github/axolotlclient/modules/hud/util/DrawUtil.java

Lines changed: 0 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -53,10 +53,6 @@ public static void fillRect(MatrixStack matrices, int x, int y, int width, int h
5353
DrawableHelper.fill(matrices, x, y, x + width, y + height, color);
5454
}
5555

56-
public static void fillRect(MatrixStack matrices, int x, int y, int width, int height, Color color) {
57-
RenderUtil.drawRectangle(matrices, x, y, x + width, y + height, color.toInt());
58-
}
59-
6056
public static void outlineRect(MatrixStack matrices, Rectangle rectangle, Color color) {
6157
outlineRect(matrices, rectangle.x, rectangle.y, rectangle.width, rectangle.height, color.toInt());
6258
}

1.20/src/main/java/io/github/axolotlclient/mixin/EntityRendererMixin.java

Lines changed: 29 additions & 25 deletions
Original file line numberDiff line numberDiff line change
@@ -36,6 +36,7 @@
3636
import net.minecraft.client.MinecraftClient;
3737
import net.minecraft.client.font.TextRenderer;
3838
import net.minecraft.client.network.AbstractClientPlayerEntity;
39+
import net.minecraft.client.render.GameRenderer;
3940
import net.minecraft.client.render.VertexConsumerProvider;
4041
import net.minecraft.client.render.entity.EntityRenderer;
4142
import net.minecraft.client.util.math.MatrixStack;
@@ -56,26 +57,25 @@ public abstract class EntityRendererMixin<T extends Entity> {
5657
@Inject(method = "renderLabelIfPresent", at = @At(value = "INVOKE", target = "Lnet/minecraft/client/font/TextRenderer;draw(Lnet/minecraft/text/Text;FFIZLorg/joml/Matrix4f;Lnet/minecraft/client/render/VertexConsumerProvider;Lnet/minecraft/client/font/TextRenderer$TextLayerType;II)I", ordinal = 0))
5758
public void axolotlclient$addBadges(T entity, Text text, MatrixStack matrices, VertexConsumerProvider vertexConsumers, int light,
5859
CallbackInfo ci) {
59-
if (entity instanceof AbstractClientPlayerEntity && text.getString().contains(entity.getName().getString())) {
60+
if (entity instanceof AbstractClientPlayerEntity) {
6061
if (!entity.isSneaky()) {
6162
if (AxolotlClient.CONFIG.showBadges.get() && UserRequest.getOnline(entity.getUuid().toString())) {
62-
//RenderSystem.enableDepthTest();
63-
RenderSystem.setShaderTexture(0, AxolotlClient.badgeIcon);
63+
RenderSystem.enableDepthTest();
6464

6565
assert MinecraftClient.getInstance().player != null;
6666
int x = -(MinecraftClient.getInstance().textRenderer
67-
.getWidth(
68-
entity.getUuid() == MinecraftClient.getInstance().player.getUuid()
69-
? (NickHider.getInstance().hideOwnName.get()
70-
? NickHider.getInstance().hiddenNameSelf.get()
71-
: Team.decorateName(entity.getScoreboardTeam(), entity.getName())
72-
.getString())
73-
: (NickHider.getInstance().hideOtherNames.get()
74-
? NickHider.getInstance().hiddenNameOthers.get()
75-
: Team.decorateName(entity.getScoreboardTeam(), entity.getName())
76-
.getString()))
77-
/ 2
78-
+ (AxolotlClient.CONFIG.customBadge.get() ? MinecraftClient.getInstance().textRenderer
67+
.getWidth(
68+
entity.getUuid() == MinecraftClient.getInstance().player.getUuid()
69+
? (NickHider.getInstance().hideOwnName.get()
70+
? NickHider.getInstance().hiddenNameSelf.get()
71+
: Team.decorateName(entity.getScoreboardTeam(), entity.getName())
72+
.getString())
73+
: (NickHider.getInstance().hideOtherNames.get()
74+
? NickHider.getInstance().hiddenNameOthers.get()
75+
: Team.decorateName(entity.getScoreboardTeam(), entity.getName())
76+
.getString()))
77+
/ 2
78+
+ (AxolotlClient.CONFIG.customBadge.get() ? MinecraftClient.getInstance().textRenderer
7979
.getWidth(" " + Formatting.strip(AxolotlClient.CONFIG.badgeText.get())) : 10));
8080

8181
RenderSystem.setShaderColor(1, 1, 1, 1);
@@ -86,20 +86,22 @@ public abstract class EntityRendererMixin<T extends Entity> {
8686
matrices.push();
8787
matrices.translate(0, 0, 0.1f);
8888
MinecraftClient.getInstance().textRenderer.draw(badgeText, x, 0, -1, true,
89-
matrices.peek().getModel(), vertexConsumers, TextRenderer.TextLayerType.NORMAL, 0, 15728880);
89+
matrices.peek().getModel(), vertexConsumers, TextRenderer.TextLayerType.NORMAL, 0, light);
9090
matrices.pop();
9191
}
9292
MinecraftClient.getInstance().textRenderer.draw(badgeText, x, 0, -1, false,
93-
matrices.peek().getModel(), vertexConsumers, TextRenderer.TextLayerType.NORMAL, 0, 15728880);
93+
matrices.peek().getModel(), vertexConsumers, TextRenderer.TextLayerType.NORMAL, 0, light);
9494
} else {
95+
RenderSystem.setShader(GameRenderer::getPositionTexShader);
96+
RenderSystem.setShaderTexture(0, AxolotlClient.badgeIcon);
9597
Tessellator tessellator = Tessellator.getInstance();
9698
BufferBuilder builder = tessellator.getBufferBuilder();
9799
Matrix4f matrix4f = matrices.peek().getModel();
98100
builder.begin(VertexFormat.DrawMode.QUADS, VertexFormats.POSITION_TEXTURE);
99-
builder.vertex(matrix4f, x, 0, 0).uv(0, 0);
100-
builder.vertex(matrix4f, x, 8, 0).uv(0, 8);
101-
builder.vertex(matrix4f, x + 8, 0, 0).uv(8, 0);
102-
builder.vertex(matrix4f, x + 8, 8, 0).uv(8, 8);
101+
builder.vertex(matrix4f, x, 0, 0).uv(0, 0).next();
102+
builder.vertex(matrix4f, x, 8, 0).uv(0, 1).next();
103+
builder.vertex(matrix4f, x + 8, 8, 0).uv(1, 1).next();
104+
builder.vertex(matrix4f, x + 8, 0, 0).uv(1, 0).next();
103105
BufferRenderer.drawWithShader(builder.end());
104106
}
105107
}
@@ -118,10 +120,13 @@ public abstract class EntityRendererMixin<T extends Entity> {
118120

119121
@Inject(method = "renderLabelIfPresent", at = @At(value = "INVOKE", target = "Lnet/minecraft/client/font/TextRenderer;draw(Lnet/minecraft/text/Text;FFIZLorg/joml/Matrix4f;Lnet/minecraft/client/render/VertexConsumerProvider;Lnet/minecraft/client/font/TextRenderer$TextLayerType;II)I", ordinal = 0))
120122
public void axolotlclient$enableShadows(T entity, Text text, MatrixStack matrices, VertexConsumerProvider vertexConsumers, int light, CallbackInfo ci, @Local boolean notSneaking, @Local Matrix4f matrix4f, @Local(ordinal = 1) int i, @Local(ordinal = 2) float h, @Local(ordinal = 2) int j, @Local TextRenderer textRenderer) {
121-
if(AxolotlClient.CONFIG.useShadows.get()) {
123+
if (AxolotlClient.CONFIG.useShadows.get()) {
124+
matrices.push();
125+
matrices.translate(0, 0, 0.1);
122126
textRenderer.draw(
123-
text, h, (float)i, notSneaking ? -1 : 553648127, true, matrix4f, vertexConsumers, notSneaking ? TextRenderer.TextLayerType.SEE_THROUGH : TextRenderer.TextLayerType.NORMAL, 0, light
127+
text, h, (float) i, notSneaking ? -1 : 553648127, true, matrix4f, vertexConsumers, notSneaking ? TextRenderer.TextLayerType.SEE_THROUGH : TextRenderer.TextLayerType.NORMAL, 0, light
124128
);
129+
matrices.pop();
125130
}
126131
}
127132

@@ -130,8 +135,7 @@ public abstract class EntityRendererMixin<T extends Entity> {
130135
CallbackInfo ci) {
131136
if (entity instanceof AbstractClientPlayerEntity) {
132137
if (MinecraftClient.getInstance().getCurrentServerEntry() != null
133-
&& MinecraftClient.getInstance().getCurrentServerEntry().address.contains("hypixel.net")
134-
&& string.getString().contains(entity.getName().getString())) {
138+
&& MinecraftClient.getInstance().getCurrentServerEntry().address.contains("hypixel.net")) {
135139
TextRenderer textRenderer = MinecraftClient.getInstance().textRenderer;
136140
if (BedwarsMod.getInstance().isEnabled() &&
137141
BedwarsMod.getInstance().inGame() &&

1.20/src/main/java/io/github/axolotlclient/mixin/MouseMixin.java

Lines changed: 10 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -22,12 +22,15 @@
2222

2323
package io.github.axolotlclient.mixin;
2424

25+
import com.llamalad7.mixinextras.injector.wrapoperation.Operation;
26+
import com.llamalad7.mixinextras.injector.wrapoperation.WrapOperation;
2527
import io.github.axolotlclient.modules.hud.HudManager;
2628
import io.github.axolotlclient.modules.scrollableTooltips.ScrollableTooltips;
2729
import io.github.axolotlclient.modules.zoom.Zoom;
2830
import io.github.axolotlclient.util.events.Events;
2931
import io.github.axolotlclient.util.events.impl.MouseInputEvent;
3032
import net.minecraft.client.Mouse;
33+
import net.minecraft.client.gui.screen.Screen;
3134
import org.spongepowered.asm.mixin.Mixin;
3235
import org.spongepowered.asm.mixin.injection.At;
3336
import org.spongepowered.asm.mixin.injection.Inject;
@@ -60,6 +63,13 @@ public abstract class MouseMixin {
6063
return scrollAmount;
6164
}
6265

66+
@WrapOperation(method = "onMouseScroll", at = @At(value = "INVOKE", target = "Lnet/minecraft/client/gui/screen/Screen;applyMousePressScrollNarratorDelay()V"))
67+
private void wrapNarratorDelay(Screen instance, Operation<Void> original){
68+
if (instance != null) {
69+
original.call(instance);
70+
}
71+
}
72+
6373
@Inject(method = "ignorePastPos", at = @At(value = "HEAD"))
6474
private void axolotlclient$onResolutionChanged(CallbackInfo ci) {
6575
// Resize and rebuild!

1.20/src/main/java/io/github/axolotlclient/modules/hud/util/DrawUtil.java

Lines changed: 0 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -49,10 +49,6 @@ public static void fillRect(GuiGraphics graphics, int x, int y, int width, int h
4949
graphics.fill(x, y, x + width, y + height, color);
5050
}
5151

52-
public static void fillRect(GuiGraphics graphics, int x, int y, int width, int height, Color color) {
53-
RenderUtil.drawRectangle(graphics, x, y, x + width, y + height, color.toInt());
54-
}
55-
5652
public static void outlineRect(GuiGraphics graphics, Rectangle rectangle, Color color) {
5753
outlineRect(graphics, rectangle.x, rectangle.y, rectangle.width, rectangle.height, color.toInt());
5854
}

1.21.4/src/main/java/io/github/axolotlclient/mixin/EntityRendererMixin.java

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -57,7 +57,7 @@ public abstract class EntityRendererMixin<T extends Entity, S extends EntityRend
5757

5858
@Inject(method = "renderNameTag", at = @At(value = "INVOKE", target = "Lnet/minecraft/client/gui/Font;drawInBatch(Lnet/minecraft/network/chat/Component;FFIZLorg/joml/Matrix4f;Lnet/minecraft/client/renderer/MultiBufferSource;Lnet/minecraft/client/gui/Font$DisplayMode;II)I", ordinal = 0))
5959
public void axolotlclient$addBadges(S entityRenderState, Component text, PoseStack matrices, MultiBufferSource vertexConsumers, int light, CallbackInfo ci) {
60-
if (entityRenderState instanceof PlayerRenderState state && text.getString().contains(state.name)) {
60+
if (entityRenderState instanceof PlayerRenderState state) {
6161
if (!state.isCrouching) {
6262
if (AxolotlClient.CONFIG.showBadges.get()) {
6363
Player entity = (Player) Minecraft.getInstance().level.getEntity(state.id);
@@ -104,7 +104,7 @@ public abstract class EntityRendererMixin<T extends Entity, S extends EntityRend
104104
if (entityRenderState instanceof PlayerRenderState state) {
105105
if (Minecraft.getInstance().getCurrentServer() != null && Minecraft.getInstance().getCurrentServer().ip.contains("hypixel.net")) {
106106
AbstractClientPlayer entity = (AbstractClientPlayer) Minecraft.getInstance().level.getEntity(state.id);
107-
if (entity != null && c.getString().contains(entity.getName().getString())) {
107+
if (entity != null) {
108108
Font textRenderer = Minecraft.getInstance().font;
109109
if (BedwarsMod.getInstance().isEnabled() && BedwarsMod.getInstance().inGame() && BedwarsMod.getInstance().bedwarsLevelHead.get()) {
110110
String text = BedwarsMod.getInstance().getGame().get().getLevelHead(entity);

1.21.4/src/main/java/io/github/axolotlclient/mixin/InGameHudMixin.java

Lines changed: 1 addition & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -42,7 +42,6 @@
4242
import net.minecraft.world.entity.Entity;
4343
import net.minecraft.world.entity.player.Player;
4444
import net.minecraft.world.scores.Objective;
45-
import org.jetbrains.annotations.Nullable;
4645
import org.spongepowered.asm.mixin.Final;
4746
import org.spongepowered.asm.mixin.Mixin;
4847
import org.spongepowered.asm.mixin.Shadow;
@@ -53,17 +52,11 @@
5352
@Mixin(Gui.class)
5453
public abstract class InGameHudMixin {
5554

56-
@Shadow
57-
private @Nullable Component overlayMessageString;
58-
59-
@Shadow
60-
private int overlayMessageTime;
61-
6255
@Shadow
6356
@Final
6457
private Minecraft minecraft;
6558

66-
@Inject(method = "render", at = @At(value = "HEAD"))
59+
@Inject(method = "render", at = @At(value = "TAIL"))
6760
private void onHudRender(GuiGraphics guiGraphics, DeltaTracker deltaTracker, CallbackInfo ci) {
6861
if (!minecraft.options.hideGui) {
6962
HudManager.getInstance().render(guiGraphics, deltaTracker);

1.21.4/src/main/java/io/github/axolotlclient/modules/hud/HudManager.java

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -26,6 +26,7 @@
2626
import java.util.stream.Collectors;
2727

2828
import com.mojang.blaze3d.platform.InputConstants;
29+
import com.mojang.blaze3d.systems.RenderSystem;
2930
import io.github.axolotlclient.AxolotlClient;
3031
import io.github.axolotlclient.AxolotlClientConfig.api.options.OptionCategory;
3132
import io.github.axolotlclient.modules.AbstractModule;
@@ -145,6 +146,7 @@ public HudEntry get(ResourceLocation identifier) {
145146

146147
public void render(GuiGraphics graphics, DeltaTracker delta) {
147148
Profiler.get().push("Hud Modules");
149+
RenderSystem.setShaderColor(1, 1, 1, 1);
148150
if (!(client.screen instanceof HudEditScreen)) {
149151
for (HudEntry hud : getEntries()) {
150152
if (hud.isEnabled() && (!client.gui.getDebugOverlay().showDebugScreen() || hud.overridesF3())) {

1.21.4/src/main/java/io/github/axolotlclient/modules/hud/gui/entry/BoxHudEntry.java

Lines changed: 5 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -29,6 +29,7 @@
2929
import io.github.axolotlclient.AxolotlClientConfig.impl.options.BooleanOption;
3030
import io.github.axolotlclient.AxolotlClientConfig.impl.options.ColorOption;
3131
import io.github.axolotlclient.modules.hud.gui.AbstractHudEntry;
32+
import io.github.axolotlclient.modules.hud.util.Rectangle;
3233
import io.github.axolotlclient.util.ClientColors;
3334
import net.minecraft.client.gui.GuiGraphics;
3435

@@ -78,7 +79,10 @@ public void render(GuiGraphics graphics, float delta) {
7879
scale(graphics);
7980
if (backgroundAllowed) {
8081
if (background.get() && backgroundColor.get().getAlpha() > 0) {
81-
fillRect(graphics, getBounds(), backgroundColor.get());
82+
Rectangle bounds= getBounds();
83+
graphics.fill(0, 50, 50, 100, 0x64000000);
84+
fillRect(graphics, bounds.x, bounds.y, bounds.width, bounds.height, 0x64000000);
85+
//fillRect(graphics, getBounds(), backgroundColor.getDefault());
8286
}
8387
if (outline.get() && outlineColor.get().getAlpha() > 0) {
8488
outlineRect(graphics, getBounds(), outlineColor.get());

1.21.4/src/main/java/io/github/axolotlclient/modules/hud/util/DrawUtil.java

Lines changed: 0 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -44,10 +44,6 @@ public static void fillRect(GuiGraphics graphics, int x, int y, int width, int h
4444
graphics.fill(x, y, x + width, y + height, color);
4545
}
4646

47-
public static void fillRect(GuiGraphics graphics, int x, int y, int width, int height, Color color) {
48-
RenderUtil.drawRectangle(graphics, x, y, x + width, y + height, color.toInt());
49-
}
50-
5147
public static void outlineRect(GuiGraphics graphics, Rectangle rectangle, Color color) {
5248
outlineRect(graphics, rectangle.x, rectangle.y, rectangle.width, rectangle.height, color.toInt());
5349
}

0 commit comments

Comments
 (0)