diff --git a/src/main/java/meteordevelopment/meteorclient/mixin/AddressCheckMixin.java b/src/main/java/meteordevelopment/meteorclient/mixin/AddressCheckMixin.java new file mode 100644 index 0000000000..06a4f232d3 --- /dev/null +++ b/src/main/java/meteordevelopment/meteorclient/mixin/AddressCheckMixin.java @@ -0,0 +1,34 @@ +/* + * This file is part of the Meteor Client distribution (https://github.com/MeteorDevelopment/meteor-client). + * Copyright (c) Meteor Development. + */ + +package meteordevelopment.meteorclient.mixin; + +import net.minecraft.client.multiplayer.resolver.AddressCheck; +import net.minecraft.client.multiplayer.resolver.ResolvedServerAddress; +import net.minecraft.client.multiplayer.resolver.ServerAddress; +import org.jspecify.annotations.NullMarked; +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.CallbackInfoReturnable; + +@NullMarked +@Mixin(AddressCheck.class) +public interface AddressCheckMixin { + @Inject(method = "createFromService", at = @At("HEAD"), cancellable = true) + private static void onCreateFromService(CallbackInfoReturnable cir) { + cir.setReturnValue(new AddressCheck() { + @Override + public boolean isAllowed(ResolvedServerAddress address) { + return true; + } + + @Override + public boolean isAllowed(ServerAddress address) { + return true; + } + }); + } +} diff --git a/src/main/resources/meteor-client.mixins.json b/src/main/resources/meteor-client.mixins.json index 6a198b780f..968a4145d1 100644 --- a/src/main/resources/meteor-client.mixins.json +++ b/src/main/resources/meteor-client.mixins.json @@ -16,6 +16,7 @@ "AbstractMountInventoryMenuAccessor", "AbstractSignEditScreenAccessor", "AbstractSignRendererMixin", + "AddressCheckMixin", "ArmorStandRendererMixin", "AttackRangeMixin", "AvatarRendererMixin",