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

Commit 0bf0428

Browse files
committed
add WorldHost integration (1.21.1, 1.21.3)
1 parent bfb3838 commit 0bf0428

File tree

26 files changed

+846
-238
lines changed

26 files changed

+846
-238
lines changed

1.16_combat-6/src/main/java/io/github/axolotlclient/api/StatusUpdateProviderImpl.java

Lines changed: 8 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -34,7 +34,6 @@
3434
import net.minecraft.client.MinecraftClient;
3535
import net.minecraft.client.gui.screen.Screen;
3636
import net.minecraft.client.gui.screen.TitleScreen;
37-
import net.minecraft.client.gui.screen.ingame.HandledScreen;
3837
import net.minecraft.client.gui.screen.multiplayer.MultiplayerScreen;
3938
import net.minecraft.client.network.ServerInfo;
4039

@@ -48,16 +47,6 @@ public void initialize() {
4847

4948
@Override
5049
public Request getStatus() {
51-
52-
Screen current = MinecraftClient.getInstance().currentScreen;
53-
if (current instanceof TitleScreen) {
54-
return StatusUpdate.online(StatusUpdate.MenuId.MAIN_MENU);
55-
} else if (current instanceof MultiplayerScreen) {
56-
return StatusUpdate.online(StatusUpdate.MenuId.SERVER_LIST);
57-
} else if (!(current instanceof HandledScreen<?>)) {
58-
return StatusUpdate.online(StatusUpdate.MenuId.SETTINGS);
59-
}
60-
6150
ServerInfo entry = MinecraftClient.getInstance().getCurrentServerEntry();
6251
if (entry != null) {
6352

@@ -80,7 +69,14 @@ public Request getStatus() {
8069
} else if (MinecraftClient.getInstance().getServer() != null) {
8170
return StatusUpdate.inGameUnknown(MinecraftClient.getInstance().getServer().getSaveProperties().getLevelName());
8271
}
83-
72+
Screen current = MinecraftClient.getInstance().currentScreen;
73+
if (current instanceof TitleScreen) {
74+
return StatusUpdate.online(StatusUpdate.MenuId.MAIN_MENU);
75+
} else if (current instanceof MultiplayerScreen) {
76+
return StatusUpdate.online(StatusUpdate.MenuId.SERVER_LIST);
77+
} else if (current != null) {
78+
return StatusUpdate.online(StatusUpdate.MenuId.SETTINGS);
79+
}
8480
return null;
8581
}
8682

1.20/src/main/java/io/github/axolotlclient/api/StatusUpdateProviderImpl.java

Lines changed: 8 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -34,7 +34,6 @@
3434
import net.minecraft.client.MinecraftClient;
3535
import net.minecraft.client.gui.screen.Screen;
3636
import net.minecraft.client.gui.screen.TitleScreen;
37-
import net.minecraft.client.gui.screen.ingame.HandledScreen;
3837
import net.minecraft.client.gui.screen.multiplayer.MultiplayerScreen;
3938
import net.minecraft.client.network.ServerInfo;
4039

@@ -48,16 +47,6 @@ public void initialize() {
4847

4948
@Override
5049
public Request getStatus() {
51-
52-
Screen current = MinecraftClient.getInstance().currentScreen;
53-
if (current instanceof TitleScreen) {
54-
return StatusUpdate.online(StatusUpdate.MenuId.MAIN_MENU);
55-
} else if (current instanceof MultiplayerScreen) {
56-
return StatusUpdate.online(StatusUpdate.MenuId.SERVER_LIST);
57-
} else if (!(current instanceof HandledScreen<?>)) {
58-
return StatusUpdate.online(StatusUpdate.MenuId.SETTINGS);
59-
}
60-
6150
ServerInfo entry = MinecraftClient.getInstance().getCurrentServerEntry();
6251
if (entry != null) {
6352

@@ -80,6 +69,14 @@ public Request getStatus() {
8069
} else if (MinecraftClient.getInstance().getServer() != null) {
8170
return StatusUpdate.inGameUnknown(MinecraftClient.getInstance().getServer().getSaveProperties().getWorldName());
8271
}
72+
Screen current = MinecraftClient.getInstance().currentScreen;
73+
if (current instanceof TitleScreen) {
74+
return StatusUpdate.online(StatusUpdate.MenuId.MAIN_MENU);
75+
} else if (current instanceof MultiplayerScreen) {
76+
return StatusUpdate.online(StatusUpdate.MenuId.SERVER_LIST);
77+
} else if (current != null) {
78+
return StatusUpdate.online(StatusUpdate.MenuId.SETTINGS);
79+
}
8380
return null;
8481
}
8582

1.21.3/build.gradle

Lines changed: 17 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -27,6 +27,17 @@ repositories {
2727
name = 'ParchmentMC'
2828
url = 'https://maven.parchmentmc.org'
2929
}
30+
exclusiveContent {
31+
forRepository {
32+
maven {
33+
name = "Modrinth"
34+
url = "https://api.modrinth.com/maven"
35+
}
36+
}
37+
filter {
38+
includeGroup "maven.modrinth"
39+
}
40+
}
3041
}
3142

3243
dependencies {
@@ -48,9 +59,7 @@ dependencies {
4859
include "io.github.axolotlclient:AxolotlClient-config:${project.config}+${project.minecraft_1213}"
4960
modImplementation "io.github.axolotlclient.AxolotlClient-config:AxolotlClientConfig-common:${project.config}"
5061

51-
modCompileOnlyApi("com.terraformersmc:modmenu:8.0.0") {
52-
exclude group: "net.fabricmc"
53-
}
62+
modImplementation("com.terraformersmc:modmenu:12.0.0-beta.1")
5463

5564
implementation include(project(path: ":common", configuration: 'shadow'))
5665

@@ -61,6 +70,10 @@ dependencies {
6170
runtimeOnly('org.lwjgl:lwjgl-nanovg:3.3.3:natives-windows-arm64')
6271
runtimeOnly('org.lwjgl:lwjgl-nanovg:3.3.3:natives-macos')
6372
runtimeOnly('org.lwjgl:lwjgl-nanovg:3.3.3:natives-macos-arm64')
73+
74+
modImplementation("maven.modrinth:world-host:0.5.0+1.21.3-fabric")
75+
implementation("org.quiltmc.parsers:json:0.3.0")
76+
implementation("org.semver4j:semver4j:5.3.0")
6477
}
6578

6679
processResources {
@@ -77,6 +90,7 @@ java {
7790

7891
runClient {
7992
classpath(sourceSets.test.runtimeClasspath)
93+
args("--tracy")
8094
}
8195

8296
// Configure the maven publication

1.21.3/src/main/java/io/github/axolotlclient/api/PrivacyNoticeScreen.java

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -50,9 +50,8 @@ protected PrivacyNoticeScreen(Screen parent, Consumer<Boolean> accepted) {
5050

5151
@Override
5252
public void render(GuiGraphics graphics, int mouseX, int mouseY, float delta) {
53-
renderBackground(graphics, mouseX, mouseY, delta);
5453
super.render(graphics, mouseX, mouseY, delta);
55-
graphics.drawString(this.font, this.title, this.width / 2, getTitleY(), -1);
54+
graphics.drawCenteredString(this.font, this.title, this.width / 2, getTitleY(), -1);
5655
message.renderCentered(graphics, width / 2, getMessageY());
5756
}
5857

1.21.3/src/main/java/io/github/axolotlclient/api/StatusUpdateProviderImpl.java

Lines changed: 12 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -28,13 +28,13 @@
2828
import com.google.gson.JsonObject;
2929
import io.github.axolotlclient.api.requests.StatusUpdate;
3030
import io.github.axolotlclient.api.util.StatusUpdateProvider;
31+
import io.github.axolotlclient.api.worldhost.AxolotlClientWorldHostPlugin;
3132
import io.github.axolotlclient.modules.hypixel.HypixelLocation;
3233
import io.github.axolotlclient.util.GsonHelper;
3334
import io.github.axolotlclient.util.events.Events;
3435
import net.minecraft.client.Minecraft;
3536
import net.minecraft.client.gui.screens.Screen;
3637
import net.minecraft.client.gui.screens.TitleScreen;
37-
import net.minecraft.client.gui.screens.inventory.AbstractContainerScreen;
3838
import net.minecraft.client.gui.screens.multiplayer.JoinMultiplayerScreen;
3939
import net.minecraft.client.multiplayer.ServerData;
4040

@@ -48,17 +48,7 @@ public void initialize() {
4848

4949
@Override
5050
public Request getStatus() {
51-
5251
Minecraft mc = Minecraft.getInstance();
53-
Screen current = mc.screen;
54-
if (current instanceof TitleScreen) {
55-
return StatusUpdate.online(StatusUpdate.MenuId.MAIN_MENU);
56-
} else if (current instanceof JoinMultiplayerScreen) {
57-
return StatusUpdate.online(StatusUpdate.MenuId.SERVER_LIST);
58-
} else if (!(current instanceof AbstractContainerScreen<?>)) {
59-
return StatusUpdate.online(StatusUpdate.MenuId.SETTINGS);
60-
}
61-
6252
ServerData entry = mc.getCurrentServer();
6353
if (entry != null) {
6454

@@ -82,8 +72,19 @@ public Request getStatus() {
8272
}
8373
return StatusUpdate.inGameUnknown(entry.name);
8474
} else if (mc.getSingleplayerServer() != null) {
75+
if (AxolotlClientWorldHostPlugin.getWHStatusDescription() != null) {
76+
return StatusUpdate.worldHostStatusUpdate(AxolotlClientWorldHostPlugin.getWHStatusDescription());
77+
}
8578
return StatusUpdate.inGameUnknown(mc.getSingleplayerServer().getWorldData().getLevelName());
8679
}
80+
Screen current = mc.screen;
81+
if (current instanceof TitleScreen) {
82+
return StatusUpdate.online(StatusUpdate.MenuId.MAIN_MENU);
83+
} else if (current instanceof JoinMultiplayerScreen) {
84+
return StatusUpdate.online(StatusUpdate.MenuId.SERVER_LIST);
85+
} else if (current != null) {
86+
return StatusUpdate.online(StatusUpdate.MenuId.SETTINGS);
87+
}
8788
return null;
8889
}
8990

0 commit comments

Comments
 (0)