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

Commit 3d8a6a0

Browse files
committed
fix more bugs
1 parent 1299d90 commit 3d8a6a0

17 files changed

Lines changed: 93 additions & 40 deletions

File tree

1.16_combat-6/src/main/java/io/github/axolotlclient/bridge/mixin/resource/ResourceManagerMixin.java

Lines changed: 7 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -51,7 +51,13 @@ public interface ResourceManagerMixin extends AxoResourceManager {
5151
@Override
5252
default Map<AxoIdentifier, AxoResource> br$listResources(String namespace, String prefix, Predicate<AxoIdentifier> filter) {
5353
// this cast is maybe not ideal
54-
return findResources(prefix, s -> filter.test(AxoIdentifier.of(s)))
54+
return findResources(prefix, s -> {
55+
try {
56+
return filter.test(AxoIdentifier.of(s));
57+
} catch (Exception e) {
58+
return false;
59+
}
60+
})
5561
.stream().map(id -> {
5662
try {
5763
return getResource(id);

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

Lines changed: 12 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -22,6 +22,7 @@
2222

2323
package io.github.axolotlclient.mixin;
2424

25+
import com.llamalad7.mixinextras.sugar.Local;
2526
import com.mojang.blaze3d.systems.RenderSystem;
2627
import io.github.axolotlclient.AxolotlClient;
2728
import io.github.axolotlclient.api.requests.UserRequest;
@@ -109,7 +110,7 @@ public abstract class EntityRendererMixin<T extends Entity> {
109110

110111
@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 = 1))
111112
public void axolotlclient$addLevel(T entity, Text string, MatrixStack matrices, VertexConsumerProvider vertexConsumers, int light,
112-
CallbackInfo ci) {
113+
CallbackInfo ci, @Local(ordinal = 2) int bgColor) {
113114
if (entity instanceof AbstractClientPlayerEntity && string.equals(entity.getDisplayName())) {
114115
if (MinecraftClient.getInstance().getCurrentServerEntry() != null
115116
&& MinecraftClient.getInstance().getCurrentServerEntry().address.contains("hypixel.net")) {
@@ -125,7 +126,11 @@ public abstract class EntityRendererMixin<T extends Entity> {
125126
Matrix4f matrix4f = matrices.peek().getModel();
126127
MinecraftClient.getInstance().textRenderer.draw(text, x, y,
127128
LevelHead.getInstance().textColor.get().toInt(), AxolotlClient.config().useShadows.get(),
128-
matrix4f, vertexConsumers, false, LevelHead.getInstance().background.get() ? 127 : 0,
129+
matrix4f, vertexConsumers, true, LevelHead.getInstance().background.get() ? bgColor : 0,
130+
light);
131+
MinecraftClient.getInstance().textRenderer.draw(text, x, y,
132+
LevelHead.getInstance().textColor.get().toInt(), AxolotlClient.config().useShadows.get(),
133+
matrix4f, vertexConsumers, false, 0,
129134
light);
130135
}
131136
} else if (LevelHead.getInstance().enabled.get()) {
@@ -137,7 +142,11 @@ public abstract class EntityRendererMixin<T extends Entity> {
137142
Matrix4f matrix4f = matrices.peek().getModel();
138143
MinecraftClient.getInstance().textRenderer.draw(text, x, y,
139144
LevelHead.getInstance().textColor.get().toInt(), AxolotlClient.config().useShadows.get(),
140-
matrix4f, vertexConsumers, false, LevelHead.getInstance().background.get() ? 127 : 0,
145+
matrix4f, vertexConsumers, true, LevelHead.getInstance().background.get() ? bgColor : 0,
146+
light);
147+
MinecraftClient.getInstance().textRenderer.draw(text, x, y,
148+
LevelHead.getInstance().textColor.get().toInt(), AxolotlClient.config().useShadows.get(),
149+
matrix4f, vertexConsumers, false, 0,
141150
light);
142151
}
143152
}

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

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -160,20 +160,23 @@ private Text nickHider(PlayerListEntry entry, Operation<Text> original) {
160160
}
161161

162162
@WrapOperation(method = "render", at = @At(value = "INVOKE", target = "Lnet/minecraft/client/gui/hud/PlayerListHud;renderLatencyIcon(Lnet/minecraft/client/util/math/MatrixStack;IIILnet/minecraft/client/network/PlayerListEntry;)V"))
163-
private void renderWithoutObjective(PlayerListHud instance, MatrixStack matrixStack, int width, int x, int y, PlayerListEntry playerListEntry, Operation<Void> original) {
163+
private void axolotlclient$renderWithoutObjective(PlayerListHud instance, MatrixStack matrixStack, int width, int x, int y, PlayerListEntry playerListEntry, Operation<Void> original) {
164164
if (!BedwarsMod.getInstance().isEnabled() || !BedwarsMod.getInstance().isWaiting()) {
165+
original.call(instance, matrixStack, width, x, y, playerListEntry);
165166
return;
166167
}
167168
int endX = x + width - 1;
168169
String render;
169170
try {
170171
if (playerListEntry.getProfile().getName().contains(Formatting.OBFUSCATED.toString())) {
172+
original.call(instance, matrixStack, width, x, y, playerListEntry);
171173
return;
172174
}
173175

174176
String uuid = UUIDHelper.toUndashed(playerListEntry.getProfile().getId());
175177
render = LevelHead.getDisplayString(LevelHead.Mode.BEDWARS, uuid);
176178
} catch (Exception e) {
179+
original.call(instance, matrixStack, width, x, y, playerListEntry);
177180
return;
178181
}
179182
DrawableHelper.drawStringWithShadow(matrixStack,

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

Lines changed: 11 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -125,7 +125,7 @@ private boolean enableShadows(boolean par5, @Local Matrix4f matrix4f) {
125125

126126
@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 = 1))
127127
public void axolotlclient$addLevel(T entity, Text string, MatrixStack matrices, VertexConsumerProvider vertexConsumers, int light,
128-
CallbackInfo ci) {
128+
CallbackInfo ci, @Local(ordinal = 2) int bgColor) {
129129
if (entity instanceof AbstractClientPlayerEntity && string.equals(entity.getDisplayName())) {
130130
if (MinecraftClient.getInstance().getCurrentServerEntry() != null
131131
&& MinecraftClient.getInstance().getCurrentServerEntry().address.contains("hypixel.net")) {
@@ -141,7 +141,11 @@ private boolean enableShadows(boolean par5, @Local Matrix4f matrix4f) {
141141
Matrix4f matrix4f = matrices.peek().getModel();
142142
MinecraftClient.getInstance().textRenderer.draw(text, x, y,
143143
LevelHead.getInstance().textColor.get().toInt(), AxolotlClient.config().useShadows.get(),
144-
matrix4f, vertexConsumers, TextRenderer.TextLayerType.NORMAL, LevelHead.getInstance().background.get() ? 127 : 0,
144+
matrix4f, vertexConsumers, TextRenderer.TextLayerType.SEE_THROUGH, LevelHead.getInstance().background.get() ? bgColor : 0,
145+
light);
146+
MinecraftClient.getInstance().textRenderer.draw(text, x, y,
147+
LevelHead.getInstance().textColor.get().toInt(), AxolotlClient.config().useShadows.get(),
148+
matrix4f, vertexConsumers, TextRenderer.TextLayerType.NORMAL, 0,
145149
light);
146150
}
147151
} else if (LevelHead.getInstance().enabled.get()) {
@@ -152,7 +156,11 @@ private boolean enableShadows(boolean par5, @Local Matrix4f matrix4f) {
152156
Matrix4f matrix4f = matrices.peek().getModel();
153157
MinecraftClient.getInstance().textRenderer.draw(text, x, y,
154158
LevelHead.getInstance().textColor.get().toInt(), AxolotlClient.config().useShadows.get(),
155-
matrix4f, vertexConsumers, TextRenderer.TextLayerType.NORMAL, LevelHead.getInstance().background.get() ? 127 : 0,
159+
matrix4f, vertexConsumers, TextRenderer.TextLayerType.SEE_THROUGH, LevelHead.getInstance().background.get() ? bgColor : 0,
160+
light);
161+
MinecraftClient.getInstance().textRenderer.draw(text, x, y,
162+
LevelHead.getInstance().textColor.get().toInt(), AxolotlClient.config().useShadows.get(),
163+
matrix4f, vertexConsumers, TextRenderer.TextLayerType.NORMAL, 0,
156164
light);
157165
}
158166
}

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

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -156,20 +156,23 @@ private Text nickHider(PlayerListEntry entry, Operation<Text> original) {
156156
}
157157

158158
@WrapOperation(method = "render", at = @At(value = "INVOKE", target = "Lnet/minecraft/client/gui/hud/PlayerListHud;renderLatencyIcon(Lnet/minecraft/client/gui/GuiGraphics;IIILnet/minecraft/client/network/PlayerListEntry;)V"))
159-
private void renderWithoutObjective(PlayerListHud instance, GuiGraphics guiGraphics, int width, int x, int y, PlayerListEntry playerListEntry, Operation<Void> original) {
159+
private void axolotlclient$renderWithoutObjective(PlayerListHud instance, GuiGraphics guiGraphics, int width, int x, int y, PlayerListEntry playerListEntry, Operation<Void> original) {
160160
if (!BedwarsMod.getInstance().isEnabled() || !BedwarsMod.getInstance().isWaiting()) {
161+
original.call(instance, guiGraphics, width, x, y, playerListEntry);
161162
return;
162163
}
163164
int endX = x + width - 1;
164165
String render;
165166
try {
166167
if (playerListEntry.getProfile().getName().contains(Formatting.OBFUSCATED.toString())) {
168+
original.call(instance, guiGraphics, width, x, y, playerListEntry);
167169
return;
168170
}
169171

170172
String uuid = UUIDHelper.toUndashed(playerListEntry.getProfile().getId());
171173
render = LevelHead.getDisplayString(LevelHead.Mode.BEDWARS, uuid);
172174
} catch (Exception e) {
175+
original.call(instance, guiGraphics, width, x, y, playerListEntry);
173176
return;
174177
}
175178
guiGraphics.drawShadowedText(client.textRenderer,

1.21.7/src/main/java/io/github/axolotlclient/bridge/mixin/scoreboard/ScoreboardMixin.java

Lines changed: 5 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -22,7 +22,9 @@
2222

2323
package io.github.axolotlclient.bridge.mixin.scoreboard;
2424

25+
import java.util.ArrayList;
2526
import java.util.Collection;
27+
import java.util.Comparator;
2628

2729
import io.github.axolotlclient.bridge.scores.AxoObjective;
2830
import io.github.axolotlclient.bridge.scores.AxoScoreboard;
@@ -48,7 +50,9 @@ public abstract class ScoreboardMixin implements AxoScoreboard {
4850

4951
@Override
5052
public Collection<? extends AxoScoreboardScore> br$getScores(AxoObjective objective) {
51-
return listPlayerScores((Objective) objective);
53+
var entries = new ArrayList<>(listPlayerScores((Objective) objective));
54+
entries.sort(Comparator.comparing(PlayerScoreEntry::value).reversed().thenComparing(PlayerScoreEntry::owner, String.CASE_INSENSITIVE_ORDER));
55+
return entries.reversed();
5256
}
5357

5458
@Override

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

Lines changed: 6 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -22,6 +22,7 @@
2222

2323
package io.github.axolotlclient.mixin;
2424

25+
import com.llamalad7.mixinextras.sugar.Local;
2526
import com.mojang.blaze3d.vertex.PoseStack;
2627
import io.github.axolotlclient.AxolotlClient;
2728
import io.github.axolotlclient.api.requests.UserRequest;
@@ -133,7 +134,7 @@ private int getNameOffset(Player entity) {
133134
}
134135

135136
@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)V", ordinal = 1))
136-
public void axolotlclient$addLevel(S entityRenderState, Component c, PoseStack matrices, MultiBufferSource vertexConsumers, int light, CallbackInfo ci) {
137+
public void axolotlclient$addLevel(S entityRenderState, Component c, PoseStack matrices, MultiBufferSource vertexConsumers, int light, CallbackInfo ci, @Local(ordinal = 2) int bgColor) {
137138
if (entityRenderState instanceof PlayerRenderState state && c.equals(entityRenderState.nameTag)) {
138139
if (Minecraft.getInstance().getCurrentServer() != null && Minecraft.getInstance().getCurrentServer().ip.contains("hypixel.net")) {
139140
AbstractClientPlayer entity = (AbstractClientPlayer) Minecraft.getInstance().level.getEntity(state.id);
@@ -146,7 +147,8 @@ private int getNameOffset(Player entity) {
146147
float y = c.getString().contains("deadmau5") ? -20 : -10;
147148

148149
Matrix4f matrix4f = matrices.last().pose();
149-
textRenderer.drawInBatch(text, x, y, LevelHead.getInstance().textColor.get().toInt(), AxolotlClient.config().useShadows.get(), matrix4f, vertexConsumers, Font.DisplayMode.NORMAL, LevelHead.getInstance().background.get() ? 127 : 0, light);
150+
textRenderer.drawInBatch(text, x, y, LevelHead.getInstance().textColor.get().toInt(), AxolotlClient.config().useShadows.get(), matrix4f, vertexConsumers, Font.DisplayMode.SEE_THROUGH, LevelHead.getInstance().background.get() ? bgColor : 0, light);
151+
textRenderer.drawInBatch(text, x, y, LevelHead.getInstance().textColor.get().toInt(), AxolotlClient.config().useShadows.get(), matrix4f, vertexConsumers, Font.DisplayMode.NORMAL, 0, light);
150152
}
151153
} else if (LevelHead.getInstance().enabled.get()) {
152154
String text = LevelHead.getInstance().getDisplayString(entity.getStringUUID());
@@ -155,7 +157,8 @@ private int getNameOffset(Player entity) {
155157
float y = c.getString().contains("deadmau5") ? -20 : -10;
156158

157159
Matrix4f matrix4f = matrices.last().pose();
158-
textRenderer.drawInBatch(text, x, y, LevelHead.getInstance().textColor.get().toInt(), AxolotlClient.config().useShadows.get(), matrix4f, vertexConsumers, Font.DisplayMode.NORMAL, LevelHead.getInstance().background.get() ? 127 : 0, light);
160+
textRenderer.drawInBatch(text, x, y, LevelHead.getInstance().textColor.get().toInt(), AxolotlClient.config().useShadows.get(), matrix4f, vertexConsumers, Font.DisplayMode.SEE_THROUGH, LevelHead.getInstance().background.get() ? bgColor : 0, light);
161+
textRenderer.drawInBatch(text, x, y, LevelHead.getInstance().textColor.get().toInt(), AxolotlClient.config().useShadows.get(), matrix4f, vertexConsumers, Font.DisplayMode.NORMAL, 0, light);
159162
}
160163
}
161164
}

1.21.7/src/main/java/io/github/axolotlclient/mixin/PlayerListHudMixin.java

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -166,18 +166,21 @@ private Component nickHider(PlayerInfo playerInfo, Operation<Component> original
166166
@WrapOperation(method = "render", at = @At(value = "INVOKE", target = "Lnet/minecraft/client/gui/components/PlayerTabOverlay;renderPingIcon(Lnet/minecraft/client/gui/GuiGraphics;IIILnet/minecraft/client/multiplayer/PlayerInfo;)V"))
167167
private void renderWithoutObjective(PlayerTabOverlay instance, GuiGraphics guiGraphics, int width, int x, int y, PlayerInfo playerInfo, Operation<Void> original) {
168168
if (!BedwarsMod.getInstance().isEnabled() || !BedwarsMod.getInstance().isWaiting()) {
169+
original.call(instance, guiGraphics, width, x, y, playerInfo);
169170
return;
170171
}
171172
int endX = x + width - 1;
172173
String render;
173174
try {
174175
if (playerInfo.getProfile().getName().contains(ChatFormatting.OBFUSCATED.toString())) {
176+
original.call(instance, guiGraphics, width, x, y, playerInfo);
175177
return;
176178
}
177179

178180
String uuid = UUIDHelper.toUndashed(playerInfo.getProfile().getId());
179181
render = LevelHead.getDisplayString(LevelHead.Mode.BEDWARS, uuid);
180182
} catch (Exception e) {
183+
original.call(instance, guiGraphics, width, x, y, playerInfo);
181184
return;
182185
}
183186
guiGraphics.drawString(minecraft.font,

1.21.7/src/main/java/io/github/axolotlclient/modules/mcci/NoxesiumIntegration.java

Lines changed: 2 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -44,14 +44,8 @@ public void init() {
4444
ClientTickEvents.END_CLIENT_TICK.register(c -> {
4545
if (!inizialized) {
4646
inizialized = true;
47-
NoxesiumPackets.CLIENT_MCC_SERVER.addListener(this, (self, packet, ctx) -> {
48-
System.out.println(packet);
49-
currentServer = packet;
50-
});
51-
NoxesiumPackets.CLIENT_MCC_GAME_STATE.addListener(this, (self, packet, ctx) -> {
52-
System.out.println(packet);
53-
currentGameState = packet;
54-
});
47+
NoxesiumPackets.CLIENT_MCC_SERVER.addListener(this, (self, packet, ctx) -> currentServer = packet);
48+
NoxesiumPackets.CLIENT_MCC_GAME_STATE.addListener(this, (self, packet, ctx) -> currentGameState = packet);
5549
}
5650
});
5751

1.21/src/main/java/io/github/axolotlclient/bridge/mixin/scoreboard/ScoreboardMixin.java

Lines changed: 5 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -22,7 +22,9 @@
2222

2323
package io.github.axolotlclient.bridge.mixin.scoreboard;
2424

25+
import java.util.ArrayList;
2526
import java.util.Collection;
27+
import java.util.Comparator;
2628

2729
import io.github.axolotlclient.bridge.scores.AxoObjective;
2830
import io.github.axolotlclient.bridge.scores.AxoScoreboard;
@@ -46,7 +48,9 @@ public abstract class ScoreboardMixin implements AxoScoreboard {
4648

4749
@Override
4850
public Collection<? extends AxoScoreboardScore> br$getScores(AxoObjective objective) {
49-
return getEntriesForObjective((ScoreboardObjective) objective);
51+
var entries = new ArrayList<>(getEntriesForObjective((ScoreboardObjective) objective));
52+
entries.sort(Comparator.comparing(ScoreboardEntry::value).reversed().thenComparing(ScoreboardEntry::owner, String.CASE_INSENSITIVE_ORDER));
53+
return entries.reversed();
5054
}
5155

5256
@Override

0 commit comments

Comments
 (0)