Skip to content

Commit daa08fd

Browse files
committed
fix ping bug
- and other issues found along the way
1 parent 592cd95 commit daa08fd

File tree

13 files changed

+72
-53
lines changed

13 files changed

+72
-53
lines changed

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

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -4,6 +4,7 @@
44
import io.github.axolotlclient.AxolotlClient;
55
import io.github.axolotlclient.modules.hypixel.HypixelAbstractionLayer;
66
import io.github.axolotlclient.modules.hypixel.levelhead.LevelHead;
7+
import io.github.axolotlclient.util.Util;
78
import net.minecraft.client.MinecraftClient;
89
import net.minecraft.client.font.TextRenderer;
910
import net.minecraft.client.network.AbstractClientPlayerEntity;
@@ -36,8 +37,7 @@ public int forceShadows(TextRenderer instance, String text, int x, int y, int co
3637
@Inject(method = "renderLabelIfPresent", at = @At(value = "INVOKE", target = "Lnet/minecraft/client/font/TextRenderer;draw(Ljava/lang/String;III)I", ordinal = 1))
3738
public void addLevel(T entity, String string, double d, double e, double f, int i, CallbackInfo ci){
3839
if(entity instanceof AbstractClientPlayerEntity){
39-
if(MinecraftClient.getInstance().getCurrentServerEntry() != null &&
40-
MinecraftClient.getInstance().getCurrentServerEntry().address.contains("hypixel.net")){
40+
if(Util.currentServerAddressContains("hypixel.net")){
4141
if(HypixelAbstractionLayer.hasValidAPIKey() && LevelHead.getInstance().enabled.get() && string.contains(entity.getName().asFormattedString())){
4242
TextRenderer textRenderer = MinecraftClient.getInstance().textRenderer;
4343
String text = "Level: "+ HypixelAbstractionLayer.getPlayerLevel(String.valueOf(entity.getUuid()));

src/main/java/io/github/axolotlclient/mixin/GameRendererMixin.java

Lines changed: 0 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -235,10 +235,4 @@ public void updateFreelook(ClientPlayerEntity entity, float yaw, float pitch) {
235235
public float freelook$prevPitch(Entity entity) {
236236
return Freelook.getInstance().pitch(entity.prevPitch);
237237
}
238-
239-
@Inject(method = "onResized", at = @At(value = "TAIL"))
240-
public void onResize(int i, int j, CallbackInfo ci){
241-
Util.window = new Window(MinecraftClient.getInstance());
242-
HudManager.getInstance().refreshAllBounds();
243-
}
244238
}

src/main/java/io/github/axolotlclient/mixin/MinecraftClientAccessor.java

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -11,4 +11,10 @@ public interface MinecraftClientAccessor {
1111

1212
@Accessor
1313
ClientTickTracker getTicker();
14+
15+
@Accessor
16+
String getServerAddress();
17+
18+
@Accessor
19+
int getServerPort();
1420
}

src/main/java/io/github/axolotlclient/mixin/MinecraftClientMixin.java

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -6,12 +6,14 @@
66
import io.github.axolotlclient.modules.rpc.DiscordRPC;
77
import io.github.axolotlclient.modules.zoom.Zoom;
88
import io.github.axolotlclient.util.Hooks;
9+
import io.github.axolotlclient.util.Util;
910
import net.minecraft.client.MinecraftClient;
1011
import net.minecraft.client.RunArgs;
1112
import net.minecraft.client.options.GameOptions;
1213
import net.minecraft.client.options.KeyBinding;
1314
import net.minecraft.client.render.BufferBuilder;
1415
import net.minecraft.client.texture.TextureManager;
16+
import net.minecraft.client.util.Window;
1517
import net.minecraft.client.world.ClientWorld;
1618
import net.minecraft.entity.player.ClientPlayerEntity;
1719
import net.minecraft.world.level.LevelInfo;
@@ -133,4 +135,10 @@ public void onMouseButton(CallbackInfo ci){
133135
public void login(ClientWorld world, String loadingMessage, CallbackInfo ci){
134136
NetworkHelper.setOnline();
135137
}
138+
139+
@Inject(method = "resizeFraembuffer", at = @At("TAIL"))
140+
public void onResize(CallbackInfo ci){
141+
Util.window = new Window(MinecraftClient.getInstance());
142+
HudManager.getInstance().refreshAllBounds();
143+
}
136144
}

src/main/java/io/github/axolotlclient/modules/hud/gui/hud/ChatHud.java

Lines changed: 9 additions & 15 deletions
Original file line numberDiff line numberDiff line change
@@ -68,7 +68,7 @@ public void render(float delta){
6868
int chatOpacity = (int)(Opacity * f);
6969
++j;
7070
if (chatOpacity > 3) {
71-
int y = pos.y+height - (m * (9 + lineSpacing.get()));
71+
int y = pos.y+getHeight() - (m * (9 + lineSpacing.get()));
7272
if(background.get()) {
7373
fill(pos.x, y - (9+lineSpacing.get()), pos.x + l + 4, y, bgColor.get().withAlpha(chatOpacity/2).getAsInt());
7474
}
@@ -155,8 +155,12 @@ public boolean tickable() {
155155

156156
@Override
157157
public void tick() {
158-
width = (int) (client.options.chatWidth*320);
159-
height = (int) (client.options.chatHeightUnfocused*180)+11;
158+
//setWidth((int) (client.options.chatWidth*320));
159+
int lastHeight = height;
160+
setHeight(this.getHeight());//int) (client.options.chatHeightUnfocused*180)+11);
161+
if(lastHeight != getHeight()){
162+
onBoundsUpdate();
163+
}
160164
}
161165

162166
@Override
@@ -166,12 +170,12 @@ public void renderPlaceholderComponent(float delta) {
166170
if(MinecraftClient.getInstance().player!=null) {
167171
client.textRenderer.drawWithShadow(
168172
"<" + MinecraftClient.getInstance().player.getName().asFormattedString() + "> OOh! There's my Chat now!",
169-
pos.x + 1, pos.y + height - 9, -1
173+
pos.x + 1, pos.y + getHeight() - 9, -1
170174
);
171175
} else {
172176
client.textRenderer.drawWithShadow(
173177
"This is where your new and fresh looking chat will be!",
174-
pos.x + 1, pos.y + height - 9, -1
178+
pos.x + 1, pos.y + getHeight() - 9, -1
175179
);
176180
}
177181
}
@@ -202,20 +206,10 @@ public boolean isChatFocused() {
202206
return this.client.currentScreen instanceof ChatScreen;
203207
}
204208

205-
public int getWidth() {
206-
return getWidth(this.client.options.chatWidth);
207-
}
208-
209209
public int getHeight() {
210210
return getHeight(this.isChatFocused() ? this.client.options.chatHeightFocused : this.client.options.chatHeightUnfocused);
211211
}
212212

213-
public static int getWidth(float chatWidth) {
214-
int i = 320;
215-
int j = 40;
216-
return MathHelper.floor(chatWidth * (float)(i - j) + (float)j);
217-
}
218-
219213
public static int getHeight(float chatHeight) {
220214
int i = 180;
221215
int j = 20;

src/main/java/io/github/axolotlclient/modules/hud/gui/hud/simple/IPHud.java

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,7 @@
11
package io.github.axolotlclient.modules.hud.gui.hud.simple;
22

33
import io.github.axolotlclient.modules.hud.gui.entry.SimpleTextHudEntry;
4+
import io.github.axolotlclient.util.Util;
45
import net.minecraft.client.MinecraftClient;
56
import net.minecraft.util.Identifier;
67

@@ -29,10 +30,10 @@ public String getValue() {
2930
if (client.isInSingleplayer()) {
3031
return "Singleplayer";
3132
}
32-
if (client.getCurrentServerEntry() == null) {
33+
if (Util.getCurrentServerAddress() == null) {
3334
return "none";
3435
}
35-
return client.getCurrentServerEntry().address;
36+
return Util.getCurrentServerAddress();
3637
}
3738

3839
@Override

src/main/java/io/github/axolotlclient/modules/hud/gui/hud/simple/PingHud.java

Lines changed: 8 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -2,10 +2,10 @@
22

33
import io.github.axolotlclient.AxolotlclientConfig.options.IntegerOption;
44
import io.github.axolotlclient.AxolotlclientConfig.options.Option;
5+
import io.github.axolotlclient.mixin.MinecraftClientAccessor;
56
import io.github.axolotlclient.modules.hud.gui.entry.SimpleTextHudEntry;
67
import io.github.axolotlclient.util.ThreadExecuter;
78
import net.minecraft.client.MinecraftClient;
8-
import net.minecraft.client.network.ServerInfo;
99
import net.minecraft.network.ClientConnection;
1010
import net.minecraft.network.NetworkState;
1111
import net.minecraft.network.ServerAddress;
@@ -62,10 +62,13 @@ public boolean tickable() {
6262
private void updatePing(){
6363
if (MinecraftClient.getInstance().getCurrentServerEntry() != null) {
6464
if (MinecraftClient.getInstance().getCurrentServerEntry().ping <= 1) {
65-
getRealTimeServerPing(MinecraftClient.getInstance().getCurrentServerEntry());
65+
ServerAddress address = ServerAddress.parse(MinecraftClient.getInstance().getCurrentServerEntry().address);
66+
getRealTimeServerPing(address.getAddress(), address.getPort());
6667
} else {
6768
currentServerPing = (int) MinecraftClient.getInstance().getCurrentServerEntry().ping;
6869
}
70+
}else if (((MinecraftClientAccessor)MinecraftClient.getInstance()).getServerAddress() != null) {
71+
getRealTimeServerPing(((MinecraftClientAccessor)MinecraftClient.getInstance()).getServerAddress(), ((MinecraftClientAccessor)MinecraftClient.getInstance()).getServerPort());
6972
} else if (MinecraftClient.getInstance().isIntegratedServerRunning()){
7073
currentServerPing = 1;
7174
}
@@ -89,11 +92,10 @@ public List<Option<?>> getConfigurationOptions() {
8992

9093
//Indicatia removed this feature...
9194
//We still need it :(
92-
private void getRealTimeServerPing(ServerInfo server) {
95+
private void getRealTimeServerPing(String address, int port) {
9396
ThreadExecuter.scheduleTask(() -> {
9497
try {
95-
ServerAddress address = ServerAddress.parse(server.address);
96-
final ClientConnection manager = ClientConnection.connect(InetAddress.getByName(address.getAddress()), address.getPort(), false);
98+
final ClientConnection manager = ClientConnection.connect(InetAddress.getByName(address), port, false);
9799

98100
manager.setPacketListener(new ClientQueryPacketListener() {
99101
@Override
@@ -117,7 +119,7 @@ public void onDisconnected(Text reason) {
117119

118120
}
119121
});
120-
manager.send(new HandshakeC2SPacket(47, address.getAddress(), address.getPort(), NetworkState.STATUS));
122+
manager.send(new HandshakeC2SPacket(47, address, port, NetworkState.STATUS));
121123
manager.send(new QueryRequestC2SPacket());
122124
}
123125
catch (Exception ignored){}

src/main/java/io/github/axolotlclient/modules/hypixel/autogg/AutoGG.java

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -176,8 +176,8 @@ private void populateMinemenGLHFStrings() {
176176
}
177177

178178
public void onMessage(Text message) {
179-
if(client.getCurrentServerEntry() != null) {
180-
if (onHypixel.get() && client.getCurrentServerEntry().address.contains("hypixel")) {
179+
if(Util.getCurrentServerAddress() != null) {
180+
if (onHypixel.get() && Util.getCurrentServerAddress().contains("hypixel")) {
181181
if (gf.get()) {
182182
processChat(message, hypixelGFStrings, gfString.get());
183183
}
@@ -187,7 +187,7 @@ public void onMessage(Text message) {
187187
if (glhf.get()) {
188188
processChat(message, hypixelGLHFStrings, glhfString.get());
189189
}
190-
} else if (onBWP.get() && client.getCurrentServerEntry().address.contains("bedwarspractice.club")) {
190+
} else if (onBWP.get() && Util.getCurrentServerAddress().contains("bedwarspractice.club")) {
191191
if (gf.get()) {
192192
processChat(message, bedwarsPracticeGFStrings, gfString.get());
193193
}
@@ -197,7 +197,7 @@ public void onMessage(Text message) {
197197
if (glhf.get()) {
198198
processChat(message, bedwarsPracticeGLHFStrings, glhfString.get());
199199
}
200-
} else if (onPVPL.get() && client.getCurrentServerEntry().address.contains("pvp.land")) {
200+
} else if (onPVPL.get() && Util.getCurrentServerAddress().contains("pvp.land")) {
201201
if (gf.get()) {
202202
processChat(message, pvpLandGFStrings, gfString.get());
203203
}
@@ -207,7 +207,7 @@ public void onMessage(Text message) {
207207
if (glhf.get()) {
208208
processChat(message, pvpLandGLHFStrings, glhfString.get());
209209
}
210-
} else if (onMMC.get() && client.getCurrentServerEntry().address.contains("minemen.club")) {
210+
} else if (onMMC.get() && Util.getCurrentServerAddress().contains("minemen.club")) {
211211
if (gf.get()) {
212212
if (minemenGFStrings.size() == 0) populateMinemenGFStrings();
213213
processChat(message, minemenGFStrings, "gf");

src/main/java/io/github/axolotlclient/modules/hypixel/autotip/AutoTip.java

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -3,6 +3,7 @@
33
import io.github.axolotlclient.AxolotlclientConfig.options.BooleanOption;
44
import io.github.axolotlclient.AxolotlclientConfig.options.OptionCategory;
55
import io.github.axolotlclient.modules.hypixel.AbstractHypixelMod;
6+
import io.github.axolotlclient.util.Util;
67
import net.minecraft.client.MinecraftClient;
78

89
public class AutoTip implements AbstractHypixelMod {
@@ -29,8 +30,8 @@ public OptionCategory getCategory() {
2930
@Override
3031
public void tick() {
3132
if(init) {
32-
if (System.currentTimeMillis() - lastTime > 1200000 && MinecraftClient.getInstance().getCurrentServerEntry() != null &&
33-
MinecraftClient.getInstance().getCurrentServerEntry().address.contains("hypixel") &&
33+
if (System.currentTimeMillis() - lastTime > 1200000 && Util.getCurrentServerAddress() != null &&
34+
Util.currentServerAddressContains("hypixel") &&
3435
enabled.get()) {
3536

3637
if(MinecraftClient.getInstance().player!=null) {

src/main/java/io/github/axolotlclient/modules/rpc/DiscordRPC.java

Lines changed: 6 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -64,7 +64,7 @@ public void init() {
6464
AxolotlClient.CONFIG.addCategory(category);
6565

6666
if(OSUtil.getOS()== OSUtil.OperatingSystem.OTHER){
67-
enabled.setForceOff(true, "crash");
67+
enabled.setForceOff(true, "axolotlclient.crash");
6868
}
6969

7070
Optional<ModContainer> container = FabricLoader.getInstance().getModContainer("axolotlclient");
@@ -130,21 +130,22 @@ public void updateActivity() {
130130
switch (showServerNameMode.get()) {
131131
case "showIp":
132132
state = MinecraftClient.getInstance().world == null ?
133-
"In the menu" : (MinecraftClient.getInstance().getCurrentServerEntry() == null ?
134-
"Singleplayer" : MinecraftClient.getInstance().getCurrentServerEntry().address);
133+
"In the menu" : (Util.getCurrentServerAddress() == null ?
134+
"Singleplayer" : Util.getCurrentServerAddress());
135135
break;
136136
case "showName":
137137
state = MinecraftClient.getInstance().world == null ?
138138
"In the menu" : (MinecraftClient.getInstance().getCurrentServerEntry() == null ?
139-
"Singleplayer" : MinecraftClient.getInstance().getCurrentServerEntry().name);
139+
(Util.getCurrentServerAddress() == null ? "Singleplayer" : Util.getCurrentServerAddress()) :
140+
MinecraftClient.getInstance().getCurrentServerEntry().name);
140141
break;
141142
case "off":
142143
default:
143144
state = "";
144145
break;
145146
}
146147

147-
if (showActivity.get() && MinecraftClient.getInstance().getCurrentServerEntry() != null) {
148+
if (showActivity.get() && Util.getCurrentServerAddress() != null) {
148149
activity.setDetails(Util.getGame());
149150
} else if (showActivity.get() && currentActivity != null){
150151
activity.setDetails(currentActivity.getDetails());

0 commit comments

Comments
 (0)