Skip to content

Commit 09e583d

Browse files
dftooling-ip is correctly detected as diamondfire
1 parent bacf94a commit 09e583d

5 files changed

Lines changed: 30 additions & 0 deletions

File tree

src/main/java/com/alignedcookie88/fireclient/FireClient.java

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -46,6 +46,8 @@ public class FireClient implements ModInitializer {
4646

4747
public static String joinCommand = null;
4848

49+
public static boolean overrideDiamondFireDetection = false;
50+
4951
private static boolean codeClientIntegration = false;
5052

5153
private static final List<CommandRunnerResponse> commandRunnerResponses = new ArrayList<>();

src/main/java/com/alignedcookie88/fireclient/Utility.java

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -176,6 +176,9 @@ public static boolean isPlayingDiamondFire() {
176176
if (MinecraftClient.getInstance().isInSingleplayer())
177177
return false;
178178

179+
if (FireClient.overrideDiamondFireDetection)
180+
return true;
181+
179182
ServerInfo currentServer = MinecraftClient.getInstance().getCurrentServerEntry();
180183

181184
if (currentServer == null)
Lines changed: 23 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,23 @@
1+
package com.alignedcookie88.fireclient.mixin;
2+
3+
import com.alignedcookie88.fireclient.FireClient;
4+
import net.minecraft.client.network.ClientLoginNetworkHandler;
5+
import net.minecraft.network.packet.s2c.login.LoginQueryRequestPayload;
6+
import net.minecraft.network.packet.s2c.login.LoginQueryRequestS2CPacket;
7+
import org.spongepowered.asm.mixin.Mixin;
8+
import org.spongepowered.asm.mixin.injection.At;
9+
import org.spongepowered.asm.mixin.injection.Inject;
10+
import org.spongepowered.asm.mixin.injection.callback.CallbackInfo;
11+
12+
@Mixin(ClientLoginNetworkHandler.class)
13+
public class ClientLoginNetworkHandlerMixin {
14+
15+
@Inject(method = "onQueryRequest", at = @At("HEAD"))
16+
public void onQueryRequest(LoginQueryRequestS2CPacket packet, CallbackInfo ci) {
17+
LoginQueryRequestPayload payload = packet.payload();
18+
if (payload.id().getNamespace().equals("fireclient") && payload.id().getPath().equals("notif_dftooling_ip")) {
19+
FireClient.LOGGER.info("Player joined via dftooling-ip!");
20+
FireClient.overrideDiamondFireDetection = true;
21+
}
22+
}
23+
}

src/main/java/com/alignedcookie88/fireclient/mixin/ConnectScreenMixin.java

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -31,6 +31,7 @@ public void connect(MinecraftClient client, ServerAddress address, ServerInfo in
3131
FireClient.joinCommand = null;
3232
}
3333
original.call(client, address, info, cookieStorage);
34+
FireClient.overrideDiamondFireDetection = false;
3435
}
3536

3637
}

src/main/resources/fireclient.mixins.json

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -12,6 +12,7 @@
1212
"ChatHudMixin",
1313
"ChatScreenMixin",
1414
"ClientConnectionMixin",
15+
"ClientLoginNetworkHandlerMixin",
1516
"ClientPlayerEntityMixin",
1617
"ConnectScreenMixin",
1718
"DrawContextMixin",

0 commit comments

Comments
 (0)