Merge pull request 'fix: use return inject for infinite chat' (#16) from amy/chomensmod:1.21.4 into 1.21.4

Reviewed-on: https://code.chipmunk.land/ChomeNS/chipmunkmod/pulls/16
This commit is contained in:
Chayapak Supasakul 2025-04-07 23:48:22 -04:00
commit fff76b9cc2

View file

@ -7,11 +7,11 @@ import land.chipmunk.chipmunkmod.modules.ChomeNSBotCommandSuggestions;
import land.chipmunk.chipmunkmod.util.BotValidationUtilities; import land.chipmunk.chipmunkmod.util.BotValidationUtilities;
import net.minecraft.client.MinecraftClient; import net.minecraft.client.MinecraftClient;
import net.minecraft.client.gui.screen.ChatScreen; import net.minecraft.client.gui.screen.ChatScreen;
import net.minecraft.client.gui.widget.TextFieldWidget;
import org.spongepowered.asm.mixin.Mixin; import org.spongepowered.asm.mixin.Mixin;
import org.spongepowered.asm.mixin.Shadow;
import org.spongepowered.asm.mixin.injection.At; 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.Inject;
import org.spongepowered.asm.mixin.injection.ModifyConstant;
import org.spongepowered.asm.mixin.injection.callback.CallbackInfo; import org.spongepowered.asm.mixin.injection.callback.CallbackInfo;
import javax.net.ssl.HttpsURLConnection; import javax.net.ssl.HttpsURLConnection;
@ -25,10 +25,14 @@ import java.util.List;
@Mixin(value = ChatScreen.class) @Mixin(value = ChatScreen.class)
public abstract class ChatScreenMixin { public abstract class ChatScreenMixin {
@Shadow protected TextFieldWidget chatField;
// infinite chat // infinite chat
@ModifyConstant(method = "init", constant = @Constant(intValue = 256)) // can't use ModifyConstant due to VFP, see:
protected int init$maxLength(final int old) { // https://github.com/ViaVersion/ViaFabricPlus/blob/main/src/main/java/com/viaversion/viafabricplus/injection/mixin/features/limitation/max_chat_length/MixinChatScreen.java
return Integer.MAX_VALUE; @Inject(method = "init", at = @At("RETURN"))
private void init(final CallbackInfo ci) {
chatField.setMaxLength(Integer.MAX_VALUE);
} }
@Inject(method = "sendMessage", at = @At("HEAD"), cancellable = true) @Inject(method = "sendMessage", at = @At("HEAD"), cancellable = true)