diff --git a/build.gradle.kts b/build.gradle.kts index 1e7d88d..adc5e8e 100644 --- a/build.gradle.kts +++ b/build.gradle.kts @@ -17,6 +17,10 @@ repositories { name = "meteor-maven-snapshots" url = uri("https://maven.meteordev.org/snapshots") } + maven { + name = "Fabric" + url = uri("https://maven.fabricmc.net/") + } } dependencies { @@ -24,6 +28,7 @@ dependencies { minecraft("com.mojang:minecraft:${properties["minecraft_version"] as String}") mappings("net.fabricmc:yarn:${properties["yarn_mappings"] as String}:v2") modImplementation("net.fabricmc:fabric-loader:${properties["loader_version"] as String}") + modImplementation("net.fabricmc.fabric-api:fabric-api:${properties["fabric_version"] as String}") // Meteor modImplementation("meteordevelopment:meteor-client:${properties["minecraft_version"] as String}-SNAPSHOT") diff --git a/gradle.properties b/gradle.properties index bdbc3cd..ed34d21 100644 --- a/gradle.properties +++ b/gradle.properties @@ -12,3 +12,4 @@ maven_group=com.example archives_base_name=base-finder # Dependencies +fabric_version=0.133.4+1.21.8 diff --git a/src/main/java/com/baseminer/basefinder/BaseFinder.java b/src/main/java/com/baseminer/basefinder/BaseFinder.java index e39e284..75d205c 100644 --- a/src/main/java/com/baseminer/basefinder/BaseFinder.java +++ b/src/main/java/com/baseminer/basefinder/BaseFinder.java @@ -4,10 +4,12 @@ import com.baseminer.basefinder.commands.BaseFinderCommand; import com.baseminer.basefinder.commands.ClearBasesCommand; import com.baseminer.basefinder.commands.ClearPlayersCommand; +import com.baseminer.basefinder.events.PlayerDisconnectEvent; import com.baseminer.basefinder.hud.BaseFinderHud; import com.baseminer.basefinder.modules.BaseFinderModule; import com.baseminer.basefinder.modules.StuckDetector; import com.mojang.logging.LogUtils; +import meteordevelopment.meteorclient.MeteorClient; import meteordevelopment.meteorclient.addons.GithubRepo; import meteordevelopment.meteorclient.addons.MeteorAddon; import meteordevelopment.meteorclient.commands.Commands; @@ -15,6 +17,7 @@ import meteordevelopment.meteorclient.systems.hud.HudGroup; import meteordevelopment.meteorclient.systems.modules.Category; import meteordevelopment.meteorclient.systems.modules.Modules; +import net.fabricmc.fabric.api.client.networking.v1.ClientPlayConnectionEvents; import org.slf4j.Logger; public class BaseFinder extends MeteorAddon { @@ -40,6 +43,11 @@ public void onInitialize() { // HUD Hud.get().register(BaseFinderHud.INFO); + + // Events + ClientPlayConnectionEvents.DISCONNECT.register((handler, client) -> { + MeteorClient.EVENT_BUS.post(PlayerDisconnectEvent.get()); + }); } @Override diff --git a/src/main/java/com/baseminer/basefinder/mixin/ClientPlayNetworkHandlerMixin.java b/src/main/java/com/baseminer/basefinder/mixin/ClientPlayNetworkHandlerMixin.java deleted file mode 100644 index bdf8535..0000000 --- a/src/main/java/com/baseminer/basefinder/mixin/ClientPlayNetworkHandlerMixin.java +++ /dev/null @@ -1,18 +0,0 @@ -package com.baseminer.basefinder.mixin; - -import com.baseminer.basefinder.events.PlayerDisconnectEvent; -import meteordevelopment.meteorclient.MeteorClient; -import net.minecraft.client.network.ClientPlayNetworkHandler; -import net.minecraft.text.Text; -import org.spongepowered.asm.mixin.Mixin; -import org.spongepowered.asm.mixin.injection.At; -import org.spongepowered.asm.mixin.injection.Inject; -import org.spongepowered.asm.mixin.injection.callback.CallbackInfo; - -@Mixin(ClientPlayNetworkHandler.class) -public class ClientPlayNetworkHandlerMixin { - @Inject(method = "onDisconnected", at = @At("HEAD")) - private void onDisconnected(Text reason, CallbackInfo ci) { - MeteorClient.EVENT_BUS.post(PlayerDisconnectEvent.get()); - } -} diff --git a/src/main/resources/addon-template.mixins.json b/src/main/resources/addon-template.mixins.json index 25148f7..ffa30f9 100644 --- a/src/main/resources/addon-template.mixins.json +++ b/src/main/resources/addon-template.mixins.json @@ -3,8 +3,7 @@ "package": "com.baseminer.basefinder.mixin", "compatibilityLevel": "JAVA_21", "client": [ - "LivingEntityMixin", - "ClientPlayNetworkHandlerMixin" + "LivingEntityMixin" ], "injectors": { "defaultRequire": 1 diff --git a/src/main/resources/fabric.mod.json b/src/main/resources/fabric.mod.json index cb504aa..d260342 100644 --- a/src/main/resources/fabric.mod.json +++ b/src/main/resources/fabric.mod.json @@ -26,6 +26,8 @@ "depends": { "java": ">=21", "minecraft": ["${mc_version}", "1.21.7", "1.21.6"], - "meteor-client": "*" + "meteor-client": "*", + "fabric-networking-api-v1": "*", + "fabric-api-base": "*" } }