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

Commit 10c4cfb

Browse files
committed
status support for MCCI
- fix location fetching on hypixel - block more disallowed functions on MCCI
1 parent 3cf4698 commit 10c4cfb

File tree

61 files changed

+1193
-228
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

61 files changed

+1193
-228
lines changed

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

Lines changed: 4 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -28,6 +28,7 @@
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.modules.hypixel.HypixelGameType;
3132
import io.github.axolotlclient.modules.hypixel.HypixelLocation;
3233
import io.github.axolotlclient.util.GsonHelper;
3334
import io.github.axolotlclient.util.events.Events;
@@ -51,17 +52,15 @@ public Request getStatus() {
5152
if (entry != null) {
5253

5354
if (!entry.isLocal()) {
54-
Optional<StatusUpdate.SupportedServer> optional = Arrays.stream(StatusUpdate.SupportedServer.values()).filter(s -> s.getAdress().matcher(entry.address).matches()).findFirst();
55+
Optional<StatusUpdate.SupportedServer> optional = Arrays.stream(StatusUpdate.SupportedServer.values()).filter(s -> s.getAddress().matcher(entry.address).matches()).findFirst();
5556
if (optional.isPresent()) {
5657
StatusUpdate.SupportedServer server = optional.get();
5758
if (server.equals(StatusUpdate.SupportedServer.HYPIXEL)) {
5859
JsonObject object = HypixelLocation.get().thenApply(GsonHelper::fromJson).join();
59-
StatusUpdate.GameType gameType = StatusUpdate.GameType.valueOf(object.get("gametype").getAsString());
60+
HypixelGameType gameType = HypixelGameType.valueOf(object.get("gametype").getAsString());
6061
String gameMode = getOrEmpty(object, "mode");
6162
String map = getOrEmpty(object, "map");
62-
int maxPlayers = MinecraftClient.getInstance().world.getPlayers().size();
63-
int players = (int) MinecraftClient.getInstance().world.getPlayers().stream().filter(e -> !(e.isCreative() || e.isSpectator())).count();
64-
return StatusUpdate.inGame(server, gameType.toString(), gameMode, map, players, maxPlayers);
63+
return StatusUpdate.inGame(server, gameType.getName(), gameMode, map);
6564
}
6665
}
6766
}

1.16_combat-6/src/main/java/io/github/axolotlclient/config/AxolotlClientConfig.java

Lines changed: 0 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -110,7 +110,6 @@ public class AxolotlClientConfig {
110110
public final OptionCategory rendering = OptionCategory.create("rendering");
111111
public final OptionCategory outlines = OptionCategory.create("blockOutlines");
112112
public final OptionCategory timeChanger = OptionCategory.create("timeChanger");
113-
public final OptionCategory searchFilters = OptionCategory.create("searchFilters");
114113
public final OptionCategory config = OptionCategory.create("config");
115114
private final List<Option<?>> options = new ArrayList<>();
116115

@@ -145,9 +144,6 @@ public void init() {
145144

146145
general.add(loadingScreenColor);
147146
general.add(nightMode);
148-
//general.add(AxolotlClientConfigConfig.showQuickToggles);
149-
//general.add(AxolotlClientConfigConfig.showOptionTooltips);
150-
//general.add(AxolotlClientConfigConfig.showCategoryTooltips);
151147
general.add(customWindowTitle);
152148
general.add(openCredits);
153149
general.add(debugLogOutput);
@@ -164,12 +160,6 @@ public void init() {
164160
ConfigUI.getInstance().setStyle(configStyle.get().split("\\.")[1]);
165161
});
166162

167-
/*searchFilters.add(AxolotlClientConfigConfig.searchIgnoreCase,
168-
AxolotlClientConfigConfig.searchForOptions,
169-
AxolotlClientConfigConfig.searchSort,
170-
AxolotlClientConfigConfig.searchSortOrder);
171-
general.add(searchFilters);*/
172-
173163
rendering.add(customSky,
174164
dynamicFOV,
175165
fullBright,

1.16_combat-6/src/main/java/io/github/axolotlclient/modules/hud/gui/AbstractHudEntry.java

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -27,14 +27,14 @@
2727

2828
import io.github.axolotlclient.AxolotlClientConfig.api.options.Option;
2929
import io.github.axolotlclient.AxolotlClientConfig.api.options.OptionCategory;
30-
import io.github.axolotlclient.AxolotlClientConfig.impl.options.BooleanOption;
3130
import io.github.axolotlclient.AxolotlClientConfig.impl.options.DoubleOption;
3231
import io.github.axolotlclient.modules.hud.gui.component.HudEntry;
3332
import io.github.axolotlclient.modules.hud.util.DefaultOptions;
3433
import io.github.axolotlclient.modules.hud.util.DrawPosition;
3534
import io.github.axolotlclient.modules.hud.util.DrawUtil;
3635
import io.github.axolotlclient.modules.hud.util.Rectangle;
3736
import io.github.axolotlclient.util.ClientColors;
37+
import io.github.axolotlclient.util.options.ForceableBooleanOption;
3838
import lombok.Getter;
3939
import lombok.Setter;
4040
import net.minecraft.client.MinecraftClient;
@@ -50,7 +50,8 @@
5050

5151
public abstract class AbstractHudEntry extends DrawUtil implements HudEntry {
5252

53-
protected final BooleanOption enabled = DefaultOptions.getEnabled();
53+
@Getter
54+
protected final ForceableBooleanOption enabled = DefaultOptions.getEnabled();
5455
protected final DoubleOption scale = DefaultOptions.getScale(this);
5556
protected final MinecraftClient client = MinecraftClient.getInstance();
5657
private final DoubleOption x = DefaultOptions.getX(getDefaultX(), this);

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

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

2323
package io.github.axolotlclient.modules.hud.util;
2424

25-
import io.github.axolotlclient.AxolotlClientConfig.impl.options.BooleanOption;
2625
import io.github.axolotlclient.AxolotlClientConfig.impl.options.DoubleOption;
2726
import io.github.axolotlclient.AxolotlClientConfig.impl.options.EnumOption;
2827
import io.github.axolotlclient.modules.hud.gui.component.HudEntry;
2928
import io.github.axolotlclient.modules.hud.gui.layout.AnchorPoint;
3029
import io.github.axolotlclient.modules.hud.gui.layout.CardinalOrder;
30+
import io.github.axolotlclient.util.options.ForceableBooleanOption;
3131
import lombok.experimental.UtilityClass;
3232

3333
/**
@@ -52,8 +52,8 @@ public static DoubleOption getScale(HudEntry entry) {
5252
return new DoubleOption("scale", 1d, value -> entry.onBoundsUpdate(), 0d, 2d);
5353
}
5454

55-
public static BooleanOption getEnabled() {
56-
return new BooleanOption("enabled", false);
55+
public static ForceableBooleanOption getEnabled() {
56+
return new ForceableBooleanOption("enabled", false);
5757
}
5858

5959
public static EnumOption<AnchorPoint> getAnchorPoint() {

1.16_combat-6/src/main/java/io/github/axolotlclient/modules/hypixel/HypixelLocation.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -37,7 +37,7 @@ public static CompletableFuture<String> get() {
3737
}
3838

3939
public static boolean waitingForResponse(String message) {
40-
boolean consume = consumer != null && message.startsWith("{") && message.endsWith("}") && message.contains("gameType");
40+
boolean consume = consumer != null && message.startsWith("{") && message.endsWith("}") && message.contains("gametype");
4141
if (consume) {
4242
consumer.complete(message);
4343
consumer = null;

1.16_combat-6/src/main/java/io/github/axolotlclient/modules/tnttime/TntTime.java

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -26,17 +26,17 @@
2626

2727
import io.github.axolotlclient.AxolotlClient;
2828
import io.github.axolotlclient.AxolotlClientConfig.api.options.OptionCategory;
29-
import io.github.axolotlclient.AxolotlClientConfig.impl.options.BooleanOption;
3029
import io.github.axolotlclient.AxolotlClientConfig.impl.options.IntegerOption;
3130
import io.github.axolotlclient.modules.AbstractModule;
31+
import io.github.axolotlclient.util.options.ForceableBooleanOption;
3232
import net.minecraft.text.Style;
3333
import net.minecraft.text.Text;
3434
import net.minecraft.util.Formatting;
3535

3636
public class TntTime extends AbstractModule {
3737

3838
private static final TntTime Instance = new TntTime();
39-
public final BooleanOption enabled = new BooleanOption("enabled", false);
39+
public final ForceableBooleanOption enabled = new ForceableBooleanOption("enabled", false);
4040
private final OptionCategory category = OptionCategory.create("tnttime");
4141
private final IntegerOption decimalPlaces = new IntegerOption("decimalplaces", 2, 0, 6);
4242
private DecimalFormat format;

1.20/build.gradle.kts

Lines changed: 24 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -19,6 +19,25 @@ loom {
1919
}
2020
}
2121

22+
repositories {
23+
exclusiveContent {
24+
forRepository {
25+
maven {
26+
name = "Modrinth"
27+
url = uri("https://api.modrinth.com/maven")
28+
}
29+
}
30+
filter {
31+
includeGroup("maven.modrinth")
32+
}
33+
}
34+
maven {
35+
name = "Noxcrew/Public"
36+
url = uri("https://maven.noxcrew.com/public")
37+
}
38+
maven("https://maven.enginehub.org/repo/")
39+
}
40+
2241
dependencies {
2342
minecraft("com.mojang:minecraft:${project.property("minecraft_120")}")
2443
mappings("org.quiltmc:quilt-mappings:${project.property("mappings_120")}:intermediary-v2")
@@ -47,6 +66,11 @@ dependencies {
4766
runtimeOnly("org.lwjgl:lwjgl-nanovg:3.3.2:natives-windows-arm64")
4867
runtimeOnly("org.lwjgl:lwjgl-nanovg:3.3.2:natives-macos")
4968
runtimeOnly("org.lwjgl:lwjgl-nanovg:3.3.2:natives-macos-arm64")
69+
70+
val noxesiumVersion = "1.0.3"
71+
modCompileOnly("maven.modrinth:noxesium:$noxesiumVersion")
72+
//modImplementation("com.noxcrew.noxesium:api:$noxesiumVersion")
73+
//localRuntime("org.khelekore:prtree:1.5")
5074
}
5175

5276
tasks.processResources {

1.20/src/main/java/io/github/axolotlclient/AxolotlClient.java

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -42,6 +42,7 @@
4242
import io.github.axolotlclient.modules.freelook.Freelook;
4343
import io.github.axolotlclient.modules.hud.HudManager;
4444
import io.github.axolotlclient.modules.hypixel.HypixelMods;
45+
import io.github.axolotlclient.modules.mcci.MccIslandMods;
4546
import io.github.axolotlclient.modules.particles.Particles;
4647
import io.github.axolotlclient.modules.renderOptions.BeaconBeam;
4748
import io.github.axolotlclient.modules.rpc.DiscordRPC;
@@ -94,6 +95,7 @@ public static void getModules() {
9495
modules.add(Tablist.getInstance());
9596
modules.add(Auth.getInstance());
9697
modules.add(APIOptions.getInstance());
98+
modules.add(MccIslandMods.getInstance());
9799
}
98100

99101
private static void addExternalModules() {

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

Lines changed: 7 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -28,7 +28,9 @@
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.modules.hypixel.HypixelGameType;
3132
import io.github.axolotlclient.modules.hypixel.HypixelLocation;
33+
import io.github.axolotlclient.modules.mcci.MccIslandMods;
3234
import io.github.axolotlclient.util.GsonHelper;
3335
import io.github.axolotlclient.util.events.Events;
3436
import net.minecraft.client.MinecraftClient;
@@ -51,17 +53,17 @@ public Request getStatus() {
5153
if (entry != null) {
5254

5355
if (!entry.isLocal()) {
54-
Optional<StatusUpdate.SupportedServer> optional = Arrays.stream(StatusUpdate.SupportedServer.values()).filter(s -> s.getAdress().matcher(entry.address).matches()).findFirst();
56+
Optional<StatusUpdate.SupportedServer> optional = Arrays.stream(StatusUpdate.SupportedServer.values()).filter(s -> s.getAddress().matcher(entry.address).matches()).findFirst();
5557
if (optional.isPresent()) {
5658
StatusUpdate.SupportedServer server = optional.get();
5759
if (server.equals(StatusUpdate.SupportedServer.HYPIXEL)) {
5860
JsonObject object = HypixelLocation.get().thenApply(GsonHelper::fromJson).join();
59-
StatusUpdate.GameType gameType = StatusUpdate.GameType.valueOf(object.get("gametype").getAsString());
61+
HypixelGameType gameType = HypixelGameType.valueOf(object.get("gametype").getAsString());
6062
String gameMode = getOrEmpty(object, "mode");
6163
String map = getOrEmpty(object, "map");
62-
int maxPlayers = MinecraftClient.getInstance().world.getPlayers().size();
63-
int players = MinecraftClient.getInstance().world.getPlayers().stream().filter(e -> !(e.isCreative() || e.isSpectator())).toList().size();
64-
return StatusUpdate.inGame(server, gameType.toString(), gameMode, map, players, maxPlayers);
64+
return StatusUpdate.inGame(server, gameType.getName(), gameMode, map);
65+
} else if (server.equals(StatusUpdate.SupportedServer.MCC_ISLAND)) {
66+
return MccIslandMods.getInstance().getMccIStatus();
6567
}
6668
}
6769
}

1.20/src/main/java/io/github/axolotlclient/config/AxolotlClientConfig.java

Lines changed: 0 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -111,7 +111,6 @@ public class AxolotlClientConfig {
111111
public final OptionCategory rendering = OptionCategory.create("rendering");
112112
public final OptionCategory outlines = OptionCategory.create("blockOutlines");
113113
public final OptionCategory timeChanger = OptionCategory.create("timeChanger");
114-
public final OptionCategory searchFilters = OptionCategory.create("searchFilters");
115114

116115
private final List<Option<?>> options = new ArrayList<>();
117116

@@ -149,9 +148,6 @@ public void init() {
149148

150149
general.add(loadingScreenColor);
151150
general.add(nightMode);
152-
//general.add(AxolotlClientConfigConfig.showQuickToggles);
153-
//general.add(AxolotlClientConfigConfig.showOptionTooltips);
154-
//general.add(AxolotlClientConfigConfig.showCategoryTooltips);
155151
general.add(customWindowTitle);
156152
general.add(openCredits);
157153
general.add(debugLogOutput);
@@ -168,12 +164,6 @@ public void init() {
168164
ConfigUI.getInstance().setStyle(configStyle.get().split("\\.")[1]);
169165
});
170166

171-
/*searchFilters.add(AxolotlClientConfigConfig.searchIgnoreCase,
172-
AxolotlClientConfigConfig.searchForOptions,
173-
AxolotlClientConfigConfig.searchSort,
174-
AxolotlClientConfigConfig.searchSortOrder);
175-
general.add(searchFilters);*/
176-
177167
rendering.add(customSky,
178168
showSunMoon,
179169
dynamicFOV,

0 commit comments

Comments
 (0)