Add setting for legacy tab completions in <= 1.12.2

This commit is contained in:
FlorianMichael 2024-06-25 18:52:41 +02:00
parent 196dff92f8
commit 09be940b25
No known key found for this signature in database
GPG Key ID: C2FB87E71C425126
5 changed files with 9 additions and 8 deletions

View File

@ -19,8 +19,7 @@
package de.florianmichael.viafabricplus.injection.mixin.fixes.minecraft;
import com.viaversion.viaversion.api.protocol.version.ProtocolVersion;
import de.florianmichael.viafabricplus.protocoltranslator.ProtocolTranslator;
import de.florianmichael.viafabricplus.settings.impl.DebugSettings;
import net.minecraft.client.gui.DrawContext;
import net.minecraft.client.gui.screen.ChatInputSuggestor;
import net.minecraft.client.gui.widget.TextFieldWidget;
@ -89,7 +88,7 @@ public abstract class MixinChatInputSuggestor {
@Unique
private boolean viaFabricPlus$cancelTabComplete() {
return ProtocolTranslator.getTargetVersion().olderThanOrEqualTo(ProtocolVersion.v1_12_2) && this.textField.getText().startsWith("/");
return DebugSettings.global().legacyTabCompletions.isEnabled() && this.textField.getText().startsWith("/");
}
}

View File

@ -20,9 +20,8 @@
package de.florianmichael.viafabricplus.injection.mixin.fixes.minecraft.screen;
import com.llamalad7.mixinextras.injector.v2.WrapWithCondition;
import com.viaversion.viaversion.api.protocol.version.ProtocolVersion;
import de.florianmichael.viafabricplus.fixes.ClientsideFixes;
import de.florianmichael.viafabricplus.protocoltranslator.ProtocolTranslator;
import de.florianmichael.viafabricplus.settings.impl.DebugSettings;
import de.florianmichael.viafabricplus.settings.impl.VisualSettings;
import net.minecraft.client.gui.hud.ChatHud;
import net.minecraft.client.gui.hud.MessageIndicator;
@ -65,12 +64,12 @@ public abstract class MixinChatScreen {
@WrapWithCondition(method = "init", at = @At(value = "INVOKE", target = "Lnet/minecraft/client/gui/widget/TextFieldWidget;setText(Ljava/lang/String;)V"))
public boolean moveSetTextDown(TextFieldWidget instance, String text) {
return ProtocolTranslator.getTargetVersion().newerThan(ProtocolVersion.v1_12_2);
return !DebugSettings.global().legacyTabCompletions.isEnabled();
}
@Inject(method = "init", at = @At("RETURN"))
private void moveSetTextDown(CallbackInfo ci) {
if (ProtocolTranslator.getTargetVersion().olderThanOrEqualTo(ProtocolVersion.v1_12_2)) {
if (DebugSettings.global().legacyTabCompletions.isEnabled()) {
this.chatField.setText(this.originalChatText);
this.chatInputSuggestor.refresh();
}
@ -92,7 +91,7 @@ public abstract class MixinChatScreen {
@Unique
private boolean viaFabricPlus$keepTabComplete() {
return ProtocolTranslator.getTargetVersion().newerThan(ProtocolVersion.v1_12_2) || !this.chatField.getText().startsWith("/");
return !DebugSettings.global().legacyTabCompletions.isEnabled() || !this.chatField.getText().startsWith("/");
}
}

View File

@ -44,6 +44,7 @@ public class DebugSettings extends SettingGroup {
// 1.13 -> 1.12.2
public final VersionedBooleanSetting executeInputsSynchronously = new VersionedBooleanSetting(this, Text.translatable("debug_settings.viafabricplus.execute_inputs_synchronously"), VersionRange.andOlder(ProtocolVersion.v1_12_2));
public final VersionedBooleanSetting sneakInstantly = new VersionedBooleanSetting(this, Text.translatable("debug_settings.viafabricplus.sneak_instantly"), VersionRange.of(ProtocolVersion.v1_8, ProtocolVersion.v1_12_2));
public final VersionedBooleanSetting legacyTabCompletions = new VersionedBooleanSetting(this, Text.translatable("debug_settings.viafabricplus.legacy_tab_completions"), VersionRange.andOlder(ProtocolVersion.v1_12_2));
// 1.12 -> 1.11.1-1.11.2
public final VersionedBooleanSetting sendOpenInventoryPacket = new VersionedBooleanSetting(this, Text.translatable("debug_settings.viafabricplus.send_open_inventory_packet"), VersionRange.andOlder(ProtocolVersion.v1_11_1));

View File

@ -62,6 +62,7 @@
"debug_settings.viafabricplus.legacy_mining_speeds": "Veraltete Abbaugeschwindigkeiten",
"debug_settings.viafabricplus.prevent_entity_cramming": "Entity-Cramming verhindern",
"debug_settings.viafabricplus.always_tick_client_player": "Client-Spieler immer ticken",
"debug_settings.viafabricplus.legacy_tab_completions": "Veraltete Tab-Vervollständigungen",
"authentication_settings.viafabricplus.use_beta_craft_authentication": "BetaCraft-Authentifizierung verwenden",
"authentication_settings.viafabricplus.verify_session_for_online_mode": "Sitzung für Online-Modus-Server verifizieren",

View File

@ -64,6 +64,7 @@
"debug_settings.viafabricplus.always_tick_client_player": "Always tick client player",
"debug_settings.viafabricplus.print_networking_errors_to_logs": "Print networking errors to logs",
"debug_settings.viafabricplus.ignore_fabric_sync_errors": "Ignore Fabric sync errors",
"debug_settings.viafabricplus.legacy_tab_completions": "Legacy tab completions",
"authentication_settings.viafabricplus.use_beta_craft_authentication": "Use BetaCraft authentication",
"authentication_settings.viafabricplus.verify_session_for_online_mode": "Verify session for online mode servers",