Skip to content

Commit

Permalink
Use @Intrinsic annotation to improve mod compatibility
Browse files Browse the repository at this point in the history
  • Loading branch information
Hendrix-Shen committed Mar 11, 2023
1 parent 2e363be commit 44915c8
Showing 1 changed file with 34 additions and 9 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -3,9 +3,8 @@
import net.minecraft.client.gui.screens.DisconnectedScreen;
import net.minecraft.client.gui.screens.Screen;
import net.minecraft.network.chat.Component;
import org.spongepowered.asm.mixin.Final;
import org.spongepowered.asm.mixin.Mixin;
import org.spongepowered.asm.mixin.Shadow;
import org.jetbrains.annotations.NotNull;
import org.spongepowered.asm.mixin.*;
import org.spongepowered.asm.mixin.injection.At;
import org.spongepowered.asm.mixin.injection.Inject;
import org.spongepowered.asm.mixin.injection.callback.CallbackInfo;
Expand Down Expand Up @@ -38,22 +37,48 @@ protected MixinDisconnectedScreen(Component component) {
),
cancellable = true
)
private void onInitDisconnectedScreen(CallbackInfo ci) {
private void onInitDisconnectedScreen(@NotNull CallbackInfo ci) {
AutoReconnectUtil.getInstance().initDisconnectedScreen(this, this.parent, this.width, this.height, this.textHeight, this.reason);
ci.cancel();
}

@Override
public void tick() {
@Dynamic
@SuppressWarnings({"MixinAnnotationTarget", "UnresolvedMixinReference", "target"})
@Inject(
method = "tick()V",
at = @At(
value = "HEAD"
)
)
private void onTick(CallbackInfo ci) {
AutoReconnectUtil.tickAutoReconnectButton(this.parent);
}

@Override
public void renderDirtBackground(int i) {
@Dynamic
@SuppressWarnings({"MixinAnnotationTarget", "UnresolvedMixinReference", "target"})
@Inject(
method = "renderDirtBackground(I)V",
at = @At(
value = "HEAD"
),
cancellable = true
)
private void onRenderDirtBackground(CallbackInfo ci) {
if (Configs.expXiBao && TweakMyClientPredicate.xibaoLang.contains(TweakMyClient.getMinecraftClient().options.languageCode)) {
AutoReconnectUtil.renderXibao(this);
return;
ci.cancel();
}
}

@Intrinsic
@Override
public void tick() {
super.tick();
}

@Intrinsic
@Override
public void renderDirtBackground(int i) {
super.renderDirtBackground(i);
}
}

0 comments on commit 44915c8

Please sign in to comment.