Skip to content

Commit

Permalink
Fix some mixin errors
Browse files Browse the repository at this point in the history
  • Loading branch information
senseiwells committed Dec 11, 2022
1 parent ddf3eeb commit 0f527c7
Show file tree
Hide file tree
Showing 2 changed files with 36 additions and 17 deletions.
Original file line number Diff line number Diff line change
@@ -1,5 +1,6 @@
package me.senseiwells.essentialclient.mixins.clientNick;

import com.mojang.authlib.GameProfile;
import me.senseiwells.essentialclient.rule.ClientRules;
import me.senseiwells.essentialclient.utils.EssentialUtils;
import me.senseiwells.essentialclient.utils.config.ConfigClientNick;
Expand Down Expand Up @@ -37,7 +38,11 @@
public class MessageHandlerMixin {
//#if MC >= 11901
@ModifyExpressionValue(method = "onChatMessage", at = @At(value = "INVOKE", target = "Lnet/minecraft/network/message/MessageType$Parameters;applyChatDecoration(Lnet/minecraft/text/Text;)Lnet/minecraft/text/Text;"))
private Text modifyChatMessage(Text text, SignedMessage signedMessage, MessageType.Parameters params) {
//#if MC >= 11903
private Text modifyChatMessage(Text text, SignedMessage signedMessage, GameProfile profile, MessageType.Parameters params) {
//#else
//$$private Text modifyChatMessage(Text text, SignedMessage signedMessage, MessageType.Parameters params) {
//#endif
if (ClientRules.COMMAND_CLIENT_NICK.getValue()) {
//#if MC >= 11903
PlayerListEntry playerListEntry = EssentialUtils.getNetworkHandler().getPlayerListEntry(signedMessage.getSender());
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -2,34 +2,48 @@

import me.senseiwells.essentialclient.gui.config.ConfigScreen;
import me.senseiwells.essentialclient.rule.ClientRules;
import me.senseiwells.essentialclient.utils.render.WidgetHelper;
import me.senseiwells.essentialclient.utils.render.Texts;
import net.minecraft.client.gui.screen.GameMenuScreen;
import net.minecraft.client.gui.screen.Screen;
import net.minecraft.text.Text;
import org.spongepowered.asm.mixin.Mixin;
import org.spongepowered.asm.mixin.injection.At;
import org.spongepowered.asm.mixin.injection.Constant;
import org.spongepowered.asm.mixin.injection.Inject;
import org.spongepowered.asm.mixin.injection.ModifyConstant;
import org.spongepowered.asm.mixin.injection.callback.CallbackInfo;
import org.spongepowered.asm.mixin.injection.*;

//#if MC >= 11903
import net.minecraft.client.gui.widget.ButtonWidget;
import net.minecraft.client.gui.widget.ClickableWidget;
import net.minecraft.client.gui.widget.GridWidget;
//#else
//$$import me.senseiwells.essentialclient.utils.render.WidgetHelper;
//$$import org.spongepowered.asm.mixin.injection.callback.CallbackInfo;
//#endif

@Mixin(GameMenuScreen.class)
public abstract class GameMenuScreenMixin extends Screen {
protected GameMenuScreenMixin(Text title) {
super(title);
}

@ModifyConstant(method = "initWidgets", constant = @Constant(intValue = 120))
private int pushLimit(int original) {
return ClientRules.ESSENTIAL_CLIENT_BUTTON.getValue() ? 144 : original;
}

@Inject(method = "initWidgets", at = @At("TAIL"))
private void onInit(CallbackInfo ci) {
if (this.client == null || !ClientRules.ESSENTIAL_CLIENT_BUTTON.getValue()) {
return;
//#if MC >= 11903
@Redirect(method = "initWidgets", at = @At(value = "INVOKE", target = "Lnet/minecraft/client/gui/widget/GridWidget$Adder;add(Lnet/minecraft/client/gui/widget/ClickableWidget;I)Lnet/minecraft/client/gui/widget/ClickableWidget;"))
private <T extends ClickableWidget> T onInit(GridWidget.Adder instance, T widget, int occupiedColumns) {
if (this.client != null && ClientRules.ESSENTIAL_CLIENT_BUTTON.getValue()) {
instance.add(ButtonWidget.builder(Texts.CLIENT_MENU, (b) -> this.client.setScreen(new ConfigScreen(this))).width(204).build(), 2);
}
this.addDrawableChild(WidgetHelper.newButton(this.width / 2 - 102, this.height / 4 + 120 - 16, 204, 20, Texts.CLIENT_MENU, (b) -> this.client.setScreen(new ConfigScreen(this))));
return instance.add(widget, occupiedColumns);
}
//#else
//$$@ModifyConstant(method = "initWidgets", constant = @Constant(intValue = 120))
//$$private int pushLimit(int original) {
//$$ return ClientRules.ESSENTIAL_CLIENT_BUTTON.getValue() ? 144 : original;
//$$}
//$$
//$$@Inject(method = "initWidgets", at = @At("TAIL"))
//$$private void onInit(CallbackInfo ci) {
//$$ if (this.client == null || !ClientRules.ESSENTIAL_CLIENT_BUTTON.getValue()) {
//$$ return;
//$$ }
//$$ this.addDrawableChild(WidgetHelper.newButton(this.width / 2 - 102, this.height / 4 + 120 - 16, 204, 20, Texts.CLIENT_MENU, (b) -> this.client.setScreen(new ConfigScreen(this))));
//$$}
//#endif
}

0 comments on commit 0f527c7

Please sign in to comment.