From 452063f0802f6e0fe89d04f5ce0484ff990441ce Mon Sep 17 00:00:00 2001 From: Exterminate Date: Mon, 22 Dec 2025 17:58:25 +1100 Subject: [PATCH 1/2] Ping field --- .../mpkmod/compatibility/MCClasses/Minecraft.java | 11 +++++++++++ .../fabric_1_21_11/FunctionCompatibility.java | 4 ++++ .../forge_1_12_2/FunctionCompatibility.java | 4 ++++ .../forge_1_8/FunctionCompatibility.java | 4 ++++ 4 files changed, 23 insertions(+) diff --git a/common/src/main/java/io/github/kurrycat/mpkmod/compatibility/MCClasses/Minecraft.java b/common/src/main/java/io/github/kurrycat/mpkmod/compatibility/MCClasses/Minecraft.java index e6d13f26..1af6f05f 100644 --- a/common/src/main/java/io/github/kurrycat/mpkmod/compatibility/MCClasses/Minecraft.java +++ b/common/src/main/java/io/github/kurrycat/mpkmod/compatibility/MCClasses/Minecraft.java @@ -19,6 +19,7 @@ public class Minecraft { public static WorldState worldState = WorldState.MENU; public static PlayState playState = PlayState.ACTIVE; public static boolean sprintToggled = false; + public static int ping = -1; @InfoString.Getter public static String getIp() { @@ -42,6 +43,14 @@ public static String getFps() { }); } + @InfoString.Getter + public static long getPing() { + return Interface.get().map(Interface::getPing).orElseGet(() -> { + API.LOGGER.info(API.COMPATIBILITY_MARKER, "Failed to get Ping, are you playing on an unsupported minecraft version?"); + return -1L; + }); + } + @InfoString.Getter public static String getMcVersion() { return vfpVersion == null ? version : vfpVersion + " (VFP)"; @@ -141,6 +150,8 @@ static Optional get() { String getFPS(); + long getPing(); + void displayGuiScreen(MPKGuiScreen screen); String getCurrentGuiScreen(); diff --git a/fabric-1.21.11/src/main/java/io/github/kurrycat/mpkmod/compatibility/fabric_1_21_11/FunctionCompatibility.java b/fabric-1.21.11/src/main/java/io/github/kurrycat/mpkmod/compatibility/fabric_1_21_11/FunctionCompatibility.java index 46d041d2..cf3ed8a7 100644 --- a/fabric-1.21.11/src/main/java/io/github/kurrycat/mpkmod/compatibility/fabric_1_21_11/FunctionCompatibility.java +++ b/fabric-1.21.11/src/main/java/io/github/kurrycat/mpkmod/compatibility/fabric_1_21_11/FunctionCompatibility.java @@ -304,6 +304,10 @@ public String getFPS() { return String.valueOf(net.minecraft.client.Minecraft.getInstance().getFps()); } + public long getPing() { + return net.minecraft.client.Minecraft.getInstance().getConnection().getServerData().ping; + } + public void displayGuiScreen(MPKGuiScreen screen) { net.minecraft.client.Minecraft.getInstance().setScreen( screen == null diff --git a/forge-1.12.2/src/main/java/io/github/kurrycat/mpkmod/compatibility/forge_1_12_2/FunctionCompatibility.java b/forge-1.12.2/src/main/java/io/github/kurrycat/mpkmod/compatibility/forge_1_12_2/FunctionCompatibility.java index 21032c7b..2f37a545 100644 --- a/forge-1.12.2/src/main/java/io/github/kurrycat/mpkmod/compatibility/forge_1_12_2/FunctionCompatibility.java +++ b/forge-1.12.2/src/main/java/io/github/kurrycat/mpkmod/compatibility/forge_1_12_2/FunctionCompatibility.java @@ -335,6 +335,10 @@ public String getFPS() { return String.valueOf(Minecraft.getDebugFPS()); } + public long getPing() { + return Minecraft.getMinecraft().getConnection().getPlayerInfo(Minecraft.getMinecraft().player.getUniqueID()).getResponseTime(); + } + /** * Is called in {@link io.github.kurrycat.mpkmod.compatibility.MCClasses.Minecraft.Interface Minecraft.Interface} */ diff --git a/forge-1.8.9/src/main/java/io/github/kurrycat/mpkmod/compatibility/forge_1_8/FunctionCompatibility.java b/forge-1.8.9/src/main/java/io/github/kurrycat/mpkmod/compatibility/forge_1_8/FunctionCompatibility.java index 4eebaf54..e007267a 100644 --- a/forge-1.8.9/src/main/java/io/github/kurrycat/mpkmod/compatibility/forge_1_8/FunctionCompatibility.java +++ b/forge-1.8.9/src/main/java/io/github/kurrycat/mpkmod/compatibility/forge_1_8/FunctionCompatibility.java @@ -336,6 +336,10 @@ public String getFPS() { return String.valueOf(Minecraft.getDebugFPS()); } + public long getPing() { + return Minecraft.getMinecraft().getNetHandler().getPlayerInfo(Minecraft.getMinecraft().thePlayer.getUniqueID()).getResponseTime(); + } + /** * Is called in {@link io.github.kurrycat.mpkmod.compatibility.MCClasses.Minecraft.Interface Minecraft.Interface} */ From c7e9f1f3ba1cdad78638040f38b8928fe227eee1 Mon Sep 17 00:00:00 2001 From: Exterminate Date: Tue, 23 Dec 2025 13:53:37 +1100 Subject: [PATCH 2/2] Fix 1.21.11 --- .../kurrycat/mpkmod/compatibility/MCClasses/Minecraft.java | 6 +++--- .../fabric_1_21_11/FunctionCompatibility.java | 7 +++++-- .../compatibility/forge_1_12_2/FunctionCompatibility.java | 2 +- .../compatibility/forge_1_8/FunctionCompatibility.java | 2 +- 4 files changed, 10 insertions(+), 7 deletions(-) diff --git a/common/src/main/java/io/github/kurrycat/mpkmod/compatibility/MCClasses/Minecraft.java b/common/src/main/java/io/github/kurrycat/mpkmod/compatibility/MCClasses/Minecraft.java index 1af6f05f..398b8c67 100644 --- a/common/src/main/java/io/github/kurrycat/mpkmod/compatibility/MCClasses/Minecraft.java +++ b/common/src/main/java/io/github/kurrycat/mpkmod/compatibility/MCClasses/Minecraft.java @@ -44,10 +44,10 @@ public static String getFps() { } @InfoString.Getter - public static long getPing() { + public static int getPing() { return Interface.get().map(Interface::getPing).orElseGet(() -> { API.LOGGER.info(API.COMPATIBILITY_MARKER, "Failed to get Ping, are you playing on an unsupported minecraft version?"); - return -1L; + return -1; }); } @@ -150,7 +150,7 @@ static Optional get() { String getFPS(); - long getPing(); + int getPing(); void displayGuiScreen(MPKGuiScreen screen); diff --git a/fabric-1.21.11/src/main/java/io/github/kurrycat/mpkmod/compatibility/fabric_1_21_11/FunctionCompatibility.java b/fabric-1.21.11/src/main/java/io/github/kurrycat/mpkmod/compatibility/fabric_1_21_11/FunctionCompatibility.java index cf3ed8a7..86923e0b 100644 --- a/fabric-1.21.11/src/main/java/io/github/kurrycat/mpkmod/compatibility/fabric_1_21_11/FunctionCompatibility.java +++ b/fabric-1.21.11/src/main/java/io/github/kurrycat/mpkmod/compatibility/fabric_1_21_11/FunctionCompatibility.java @@ -16,11 +16,13 @@ import net.minecraft.client.KeyMapping; import net.minecraft.client.Options; import net.minecraft.client.gui.GuiGraphics; +import net.minecraft.client.gui.components.PlayerTabOverlay; import net.minecraft.client.gui.navigation.ScreenRectangle; import net.minecraft.client.gui.render.TextureSetup; import net.minecraft.client.gui.render.state.GuiElementRenderState; import net.minecraft.client.gui.render.state.pip.PictureInPictureRenderState; import net.minecraft.client.gui.screens.Screen; +import net.minecraft.client.multiplayer.PlayerInfo; import net.minecraft.client.multiplayer.ServerData; import net.minecraft.client.player.LocalPlayer; import net.minecraft.client.renderer.RenderPipelines; @@ -304,8 +306,9 @@ public String getFPS() { return String.valueOf(net.minecraft.client.Minecraft.getInstance().getFps()); } - public long getPing() { - return net.minecraft.client.Minecraft.getInstance().getConnection().getServerData().ping; + public int getPing() { + PlayerInfo info = net.minecraft.client.Minecraft.getInstance().getConnection().getListedOnlinePlayers().stream().filter(playerInfo -> playerInfo.getProfile().id().equals(net.minecraft.client.Minecraft.getInstance().player.getUUID())).findFirst().get(); + return info.getLatency(); } public void displayGuiScreen(MPKGuiScreen screen) { diff --git a/forge-1.12.2/src/main/java/io/github/kurrycat/mpkmod/compatibility/forge_1_12_2/FunctionCompatibility.java b/forge-1.12.2/src/main/java/io/github/kurrycat/mpkmod/compatibility/forge_1_12_2/FunctionCompatibility.java index 2f37a545..482421e6 100644 --- a/forge-1.12.2/src/main/java/io/github/kurrycat/mpkmod/compatibility/forge_1_12_2/FunctionCompatibility.java +++ b/forge-1.12.2/src/main/java/io/github/kurrycat/mpkmod/compatibility/forge_1_12_2/FunctionCompatibility.java @@ -335,7 +335,7 @@ public String getFPS() { return String.valueOf(Minecraft.getDebugFPS()); } - public long getPing() { + public int getPing() { return Minecraft.getMinecraft().getConnection().getPlayerInfo(Minecraft.getMinecraft().player.getUniqueID()).getResponseTime(); } diff --git a/forge-1.8.9/src/main/java/io/github/kurrycat/mpkmod/compatibility/forge_1_8/FunctionCompatibility.java b/forge-1.8.9/src/main/java/io/github/kurrycat/mpkmod/compatibility/forge_1_8/FunctionCompatibility.java index e007267a..9726a9d8 100644 --- a/forge-1.8.9/src/main/java/io/github/kurrycat/mpkmod/compatibility/forge_1_8/FunctionCompatibility.java +++ b/forge-1.8.9/src/main/java/io/github/kurrycat/mpkmod/compatibility/forge_1_8/FunctionCompatibility.java @@ -336,7 +336,7 @@ public String getFPS() { return String.valueOf(Minecraft.getDebugFPS()); } - public long getPing() { + public int getPing() { return Minecraft.getMinecraft().getNetHandler().getPlayerInfo(Minecraft.getMinecraft().thePlayer.getUniqueID()).getResponseTime(); }