Sort visuals addon again

This commit is contained in:
FlorianMichael 2024-12-29 23:02:42 +01:00
parent bf444bd5a7
commit 5208714667
No known key found for this signature in database
GPG Key ID: C2FB87E71C425126
53 changed files with 231 additions and 115 deletions

View File

@ -24,6 +24,7 @@ package com.viaversion.viafabricplus.features;
import com.viaversion.viafabricplus.api.events.LoadingCycleCallback;
import com.viaversion.viafabricplus.base.Events;
import com.viaversion.viafabricplus.base.sync_tasks.DataCustomPayload;
import com.viaversion.viafabricplus.features.armor_hud.ArmorHudEmulation1_8;
import com.viaversion.viafabricplus.features.block.CollisionShapes;
import com.viaversion.viafabricplus.features.classic.cpe_extensions.CPEAdditions;
import com.viaversion.viafabricplus.features.entity.EntityDimensionDiff;
@ -47,6 +48,7 @@ public final class FeaturesLoading {
if (cycle == LoadingCycleCallback.LoadingCycle.POST_GAME_LOAD) {
EntityDimensionDiff.init();
EnchantmentAttributesEmulation1_20_6.init();
ArmorHudEmulation1_8.init();
}
});

View File

@ -19,7 +19,7 @@
* along with this program. If not, see <http://www.gnu.org/licenses/>.
*/
package com.viaversion.viafabricplus.visuals.features.armor_hud;
package com.viaversion.viafabricplus.features.armor_hud;
import com.viaversion.viafabricplus.ViaFabricPlus;
import com.viaversion.viafabricplus.visuals.ViaFabricPlusVisuals;

View File

@ -0,0 +1,71 @@
/*
* This file is part of ViaFabricPlus - https://github.com/ViaVersion/ViaFabricPlus
* Copyright (C) 2021-2024 the original authors
* - FlorianMichael/EnZaXD <florian.michael07@gmail.com>
* - RK_01/RaphiMC
* Copyright (C) 2023-2024 ViaVersion and contributors
*
* This program is free software: you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
* the Free Software Foundation, either version 3 of the License, or
* (at your option) any later version.
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
*
* You should have received a copy of the GNU General Public License
* along with this program. If not, see <http://www.gnu.org/licenses/>.
*/
package com.viaversion.viafabricplus.features.replace_blank_glyph;
import net.minecraft.client.font.BakedGlyph;
import net.minecraft.client.font.Glyph;
import net.minecraft.client.font.RenderableGlyph;
import java.util.function.Function;
public enum BuiltinEmptyGlyph1_12_2 implements Glyph {
INSTANCE;
private static final int WIDTH = 0;
private static final int HEIGHT = 8;
@Override
public float getAdvance() {
return WIDTH;
}
@Override
public BakedGlyph bake(Function<RenderableGlyph, BakedGlyph> glyphRendererGetter) {
return glyphRendererGetter.apply(new RenderableGlyph() {
@Override
public int getWidth() {
return WIDTH;
}
@Override
public int getHeight() {
return HEIGHT;
}
@Override
public float getOversample() {
return 1F;
}
@Override
public void upload(int x, int y) {
}
@Override
public boolean hasColor() {
return true;
}
});
}
}

View File

@ -19,7 +19,7 @@
* along with this program. If not, see <http://www.gnu.org/licenses/>.
*/
package com.viaversion.viafabricplus.injection.mixin.features.max_chat_length;
package com.viaversion.viafabricplus.injection.mixin.features.limitation.max_chat_length;
import com.viaversion.viafabricplus.features.max_chat_length.MaxChatLength;
import net.minecraft.network.packet.c2s.play.ChatMessageC2SPacket;

View File

@ -19,7 +19,7 @@
* along with this program. If not, see <http://www.gnu.org/licenses/>.
*/
package com.viaversion.viafabricplus.injection.mixin.features.max_chat_length;
package com.viaversion.viafabricplus.injection.mixin.features.limitation.max_chat_length;
import com.viaversion.viafabricplus.features.max_chat_length.MaxChatLength;
import net.minecraft.client.gui.screen.ChatScreen;

View File

@ -19,7 +19,7 @@
* along with this program. If not, see <http://www.gnu.org/licenses/>.
*/
package com.viaversion.viafabricplus.injection.mixin.features.max_chat_length;
package com.viaversion.viafabricplus.injection.mixin.features.limitation.max_chat_length;
import com.viaversion.viafabricplus.features.max_chat_length.MaxChatLength;
import org.spongepowered.asm.mixin.Mixin;

View File

@ -19,7 +19,7 @@
* along with this program. If not, see <http://www.gnu.org/licenses/>.
*/
package com.viaversion.viafabricplus.injection.mixin.features.max_chat_length;
package com.viaversion.viafabricplus.injection.mixin.features.limitation.max_chat_length;
import com.llamalad7.mixinextras.injector.ModifyExpressionValue;
import com.viaversion.viafabricplus.features.max_chat_length.MaxChatLength;

View File

@ -19,7 +19,7 @@
* along with this program. If not, see <http://www.gnu.org/licenses/>.
*/
package com.viaversion.viafabricplus.visuals.injection.mixin.disable_server_pinging;
package com.viaversion.viafabricplus.injection.mixin.features.networking.disable_server_pinging;
import com.llamalad7.mixinextras.injector.v2.WrapWithCondition;
import com.viaversion.viafabricplus.ViaFabricPlus;

View File

@ -19,7 +19,7 @@
* along with this program. If not, see <http://www.gnu.org/licenses/>.
*/
package com.viaversion.viafabricplus.visuals.injection.mixin.remove_newer_screen_features;
package com.viaversion.viafabricplus.injection.mixin.features.remove_newer_screen_features;
import com.viaversion.viafabricplus.visuals.settings.VisualSettings;
import net.minecraft.block.entity.CommandBlockBlockEntity;

View File

@ -19,7 +19,7 @@
* along with this program. If not, see <http://www.gnu.org/licenses/>.
*/
package com.viaversion.viafabricplus.visuals.injection.mixin.remove_newer_screen_features;
package com.viaversion.viafabricplus.injection.mixin.features.remove_newer_screen_features;
import com.viaversion.viafabricplus.ViaFabricPlus;
import com.viaversion.viaversion.api.protocol.version.ProtocolVersion;

View File

@ -19,7 +19,7 @@
* along with this program. If not, see <http://www.gnu.org/licenses/>.
*/
package com.viaversion.viafabricplus.visuals.injection.mixin.remove_newer_screen_features;
package com.viaversion.viafabricplus.injection.mixin.features.remove_newer_screen_features;
import com.viaversion.viafabricplus.ViaFabricPlus;
import com.viaversion.viaversion.api.protocol.version.ProtocolVersion;

View File

@ -0,0 +1,77 @@
/*
* This file is part of ViaFabricPlus - https://github.com/ViaVersion/ViaFabricPlus
* Copyright (C) 2021-2024 the original authors
* - FlorianMichael/EnZaXD <florian.michael07@gmail.com>
* - RK_01/RaphiMC
* Copyright (C) 2023-2024 ViaVersion and contributors
*
* This program is free software: you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
* the Free Software Foundation, either version 3 of the License, or
* (at your option) any later version.
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
*
* You should have received a copy of the GNU General Public License
* along with this program. If not, see <http://www.gnu.org/licenses/>.
*/
package com.viaversion.viafabricplus.injection.mixin.features.replace_blank_glyph;
import com.viaversion.viafabricplus.features.replace_blank_glyph.BuiltinEmptyGlyph1_12_2;
import com.viaversion.viafabricplus.protocoltranslator.ProtocolTranslator;
import com.viaversion.viafabricplus.settings.impl.DebugSettings;
import com.viaversion.viaversion.api.protocol.version.ProtocolVersion;
import net.minecraft.client.font.*;
import org.spongepowered.asm.mixin.Mixin;
import org.spongepowered.asm.mixin.Shadow;
import org.spongepowered.asm.mixin.Unique;
import org.spongepowered.asm.mixin.injection.At;
import org.spongepowered.asm.mixin.injection.Inject;
import org.spongepowered.asm.mixin.injection.Redirect;
import org.spongepowered.asm.mixin.injection.callback.CallbackInfo;
import org.spongepowered.asm.mixin.injection.callback.CallbackInfoReturnable;
@Mixin(FontStorage.class)
public abstract class MixinFontStorage {
@Shadow private BakedGlyph blankBakedGlyph;
@Shadow protected abstract BakedGlyph bake(RenderableGlyph c);
@Unique
private BakedGlyph viaFabricPlus$blankBakedGlyph1_12_2;
@Inject(method = "clear", at = @At(value = "INVOKE", target = "Lnet/minecraft/client/font/BuiltinEmptyGlyph;bake(Ljava/util/function/Function;)Lnet/minecraft/client/font/BakedGlyph;", ordinal = 0))
private void bakeBlankGlyph1_12_2(CallbackInfo ci) {
this.viaFabricPlus$blankBakedGlyph1_12_2 = BuiltinEmptyGlyph1_12_2.INSTANCE.bake(this::bake);
}
@Inject(method = "findGlyph", at = @At("RETURN"), cancellable = true)
private void fixBlankGlyph1_12_2(int codePoint, CallbackInfoReturnable<FontStorage.GlyphPair> cir) {
if (ProtocolTranslator.getTargetVersion().olderThanOrEqualTo(ProtocolVersion.v1_12_2)) {
final FontStorage.GlyphPair glyphPair = cir.getReturnValue();
final Glyph glyph1 = glyphPair.glyph();
final Glyph glyph2 = glyphPair.advanceValidatedGlyph();
cir.setReturnValue(new FontStorage.GlyphPair(glyph1 == BuiltinEmptyGlyph.MISSING ? BuiltinEmptyGlyph1_12_2.INSTANCE : glyph1, glyph2 == BuiltinEmptyGlyph.MISSING ? BuiltinEmptyGlyph1_12_2.INSTANCE : glyph2));
}
}
@Redirect(method = "bake(I)Lnet/minecraft/client/font/BakedGlyph;", at = @At(value = "FIELD", target = "Lnet/minecraft/client/font/FontStorage;blankBakedGlyph:Lnet/minecraft/client/font/BakedGlyph;"))
private BakedGlyph fixBlankBakedGlyph1_12_2(FontStorage instance) {
return this.viaFabricPlus$getBlankBakedGlyph();
}
@Unique
private BakedGlyph viaFabricPlus$getBlankBakedGlyph() {
if (ProtocolTranslator.getTargetVersion().olderThanOrEqualTo(ProtocolVersion.v1_12_2)) {
return this.viaFabricPlus$blankBakedGlyph1_12_2;
} else {
return this.blankBakedGlyph;
}
}
}

View File

@ -94,7 +94,6 @@
"visual_settings.viafabricplus.hide_modern_hud_elements": "Moderne HUD-Elemente ausblenden",
"visual_settings.viafabricplus.replace_creative_inventory_with_classic_inventory": "Kreatives Inventar ersetzen",
"visual_settings.viafabricplus.old_walking_animation": "Alte Laufanimation",
"visual_settings.viafabricplus.change_font_renderer_behaviour": "Schriftarten-Renderer-Verhalten ändern",
"visual_settings.viafabricplus.swing_hand_on_item_use": "Hand schwingen, wenn Gegenstand benutzt wird",
"visual_settings.viafabricplus.disable_server_pinging": "Server-Pinging deaktivieren",
"visual_settings.viafabricplus.sideways_backwards_walking": "Seitliches Rückwärtsgehen",

View File

@ -94,7 +94,6 @@
"visual_settings.viafabricplus.hide_modern_hud_elements": "Hide modern HUD elements",
"visual_settings.viafabricplus.replace_creative_inventory_with_classic_inventory": "Replace creative inventory",
"visual_settings.viafabricplus.old_walking_animation": "Old walking animation",
"visual_settings.viafabricplus.change_font_renderer_behaviour": "Change Font Renderer behavior",
"visual_settings.viafabricplus.swing_hand_on_item_use": "Swing hand on item use",
"visual_settings.viafabricplus.disable_server_pinging": "Disable server pinging",
"visual_settings.viafabricplus.sideways_backwards_walking": "Sideways backwards walking",

View File

@ -72,7 +72,6 @@
"visual_settings.viafabricplus.hide_modern_hud_elements": "Eliminar elementos nuevos del HUD",
"visual_settings.viafabricplus.replace_creative_inventory_with_classic_inventory": "Reemplazar inventario del creativo",
"visual_settings.viafabricplus.old_walking_animation": "Animación de caminar antigua",
"visual_settings.viafabricplus.change_font_renderer_behaviour": "Cambiar el comportamiento del renderizador de fuentes",
"visual_settings.viafabricplus.swing_hand_on_item_use": "Habilitar animación de golpe de bloque",
"bedrock.viafabricplus.login": "Tu navegador debería haberse abierto.\nCerrar esta pantalla cancelará el proceso!",

View File

@ -72,7 +72,6 @@
"visual_settings.viafabricplus.hide_modern_hud_elements": "Eliminar elementos nuevos del HUD",
"visual_settings.viafabricplus.replace_creative_inventory_with_classic_inventory": "Reemplazar inventario del creativo",
"visual_settings.viafabricplus.old_walking_animation": "Animación de caminar antigua",
"visual_settings.viafabricplus.change_font_renderer_behaviour": "Cambiar el comportamiento del renderizador de fuentes",
"visual_settings.viafabricplus.swing_hand_on_item_use": "Habilitar animación de golpe de bloque",
"bedrock.viafabricplus.login": "Tu navegador debería haberse abierto.\nCerrar esta pantalla cancelará el proceso!",

View File

@ -72,7 +72,6 @@
"visual_settings.viafabricplus.hide_modern_hud_elements": "Eliminar elementos nuevos del HUD",
"visual_settings.viafabricplus.replace_creative_inventory_with_classic_inventory": "Reemplazar inventario del creativo",
"visual_settings.viafabricplus.old_walking_animation": "Animación de caminar antigua",
"visual_settings.viafabricplus.change_font_renderer_behaviour": "Cambiar el comportamiento del renderizador de fuentes",
"visual_settings.viafabricplus.swing_hand_on_item_use": "Habilitar animación de golpe de bloque",
"bedrock.viafabricplus.login": "Tu navegador debería haberse abierto.\nCerrar esta pantalla cancelará el proceso!",

View File

@ -72,7 +72,6 @@
"visual_settings.viafabricplus.hide_modern_hud_elements": "Eliminar elementos nuevos del HUD",
"visual_settings.viafabricplus.replace_creative_inventory_with_classic_inventory": "Reemplazar inventario del creativo",
"visual_settings.viafabricplus.old_walking_animation": "Animación de caminar antigua",
"visual_settings.viafabricplus.change_font_renderer_behaviour": "Cambiar el comportamiento del renderizador de fuentes",
"visual_settings.viafabricplus.swing_hand_on_item_use": "Habilitar animación de golpe de bloque",
"bedrock.viafabricplus.login": "Tu navegador debería haberse abierto.\nCerrar esta pantalla cancelará el proceso!",

View File

@ -72,7 +72,6 @@
"visual_settings.viafabricplus.hide_modern_hud_elements": "Eliminar elementos nuevos del HUD",
"visual_settings.viafabricplus.replace_creative_inventory_with_classic_inventory": "Reemplazar inventario del creativo",
"visual_settings.viafabricplus.old_walking_animation": "Animación de caminar antigua",
"visual_settings.viafabricplus.change_font_renderer_behaviour": "Cambiar el comportamiento del renderizador de fuentes",
"visual_settings.viafabricplus.swing_hand_on_item_use": "Habilitar animación de golpe de bloque",
"bedrock.viafabricplus.login": "Tu navegador debería haberse abierto.\nCerrar esta pantalla cancelará el proceso!",

View File

@ -72,7 +72,6 @@
"visual_settings.viafabricplus.hide_modern_hud_elements": "Eliminar elementos nuevos del HUD",
"visual_settings.viafabricplus.replace_creative_inventory_with_classic_inventory": "Reemplazar inventario del creativo",
"visual_settings.viafabricplus.old_walking_animation": "Animación de caminar antigua",
"visual_settings.viafabricplus.change_font_renderer_behaviour": "Cambiar el comportamiento del renderizador de fuentes",
"visual_settings.viafabricplus.swing_hand_on_item_use": "Habilitar animación de golpe de bloque",
"bedrock.viafabricplus.login": "Tu navegador debería haberse abierto.\nCerrar esta pantalla cancelará el proceso!",

View File

@ -72,7 +72,6 @@
"visual_settings.viafabricplus.hide_modern_hud_elements": "Eliminar elementos nuevos del HUD",
"visual_settings.viafabricplus.replace_creative_inventory_with_classic_inventory": "Reemplazar inventario del creativo",
"visual_settings.viafabricplus.old_walking_animation": "Animación de caminar antigua",
"visual_settings.viafabricplus.change_font_renderer_behaviour": "Cambiar el comportamiento del renderizador de fuentes",
"visual_settings.viafabricplus.swing_hand_on_item_use": "Habilitar animación de golpe de bloque",
"bedrock.viafabricplus.login": "Tu navegador debería haberse abierto.\nCerrar esta pantalla cancelará el proceso!",

View File

@ -70,7 +70,6 @@
"visual_settings.viafabricplus.hide_modern_hud_elements": "Újabb HUD elemek eltávolítása",
"visual_settings.viafabricplus.replace_creative_inventory_with_classic_inventory": "Kreatív felszerelés kicserélése",
"visual_settings.viafabricplus.old_walking_animation": "Régi séta animáció",
"visual_settings.viafabricplus.change_font_renderer_behaviour": "Betűkészlet renderelő viselkedésének módosítása",
"visual_settings.viafabricplus.swing_hand_on_item_use": "Blokkolás-ütés animáció bekapcsolása",
"bedrock.viafabricplus.login": "A böngésződnek meg kellett volna nyílnia.\nKérlek írd be a következő kódot: %s\nEzen képernyő bezárása megszakítja a folyamatot!",

View File

@ -94,7 +94,6 @@
"visual_settings.viafabricplus.hide_modern_hud_elements": "新しいHUD要素を削除",
"visual_settings.viafabricplus.replace_creative_inventory_with_classic_inventory": "クリエイティブインベントリを置換",
"visual_settings.viafabricplus.old_walking_animation": "古いウォーキングアニメーション",
"visual_settings.viafabricplus.change_font_renderer_behaviour": "フォントレンダラーの動作を変更",
"visual_settings.viafabricplus.swing_hand_on_item_use": "アイテム使用時に手を振る",
"visual_settings.viafabricplus.disable_server_pinging": "サーバーへのpingを無効化",
"visual_settings.viafabricplus.sideways_backwards_walking": "横向き後方歩行",

View File

@ -90,7 +90,6 @@
"visual_settings.viafabricplus.hide_modern_hud_elements": "새로운 HUD 요소 숨기기",
"visual_settings.viafabricplus.replace_creative_inventory_with_classic_inventory": "크리에이티브 인벤토리를 클래식으로 바꾸기",
"visual_settings.viafabricplus.old_walking_animation": "예전 걷기 에니메이션",
"visual_settings.viafabricplus.change_font_renderer_behaviour": "폰트 렌더링 방식 바꾸기",
"visual_settings.viafabricplus.swing_hand_on_item_use": "블럭 치는 에니메이션 허용",
"visual_settings.viafabricplus.disable_server_pinging": "서버 핑 비활성화",
"visual_settings.viafabricplus.sideways_backwards_walking": "옆과 뒤로 걷기",

View File

@ -76,7 +76,6 @@
"visual_settings.viafabricplus.hide_modern_hud_elements": "Nei HUD-Elementer entfernen",
"visual_settings.viafabricplus.replace_creative_inventory_with_classic_inventory": "Kreativ-Inventar ersätzen",
"visual_settings.viafabricplus.old_walking_animation": "Aal Laafanimatioun",
"visual_settings.viafabricplus.change_font_renderer_behaviour": "Verhaalen vum Schreftarten-Renderer änneren",
"visual_settings.viafabricplus.swing_hand_on_item_use": "Block-Trefferanimation aktiveieren",
"visual_settings.viafabricplus.disable_server_pinging": "Server-Ping deaktiveieren",
"visual_settings.viafabricplus.sideways_backwards_walking": "Säitlicht hannerzech laafen",

View File

@ -85,7 +85,6 @@
"visual_settings.viafabricplus.hide_modern_hud_elements": "隱新式HUD件",
"visual_settings.viafabricplus.replace_creative_inventory_with_classic_inventory": "替創之行囊",
"visual_settings.viafabricplus.old_walking_animation": "舊行進之畫效",
"visual_settings.viafabricplus.change_font_renderer_behaviour": "更字體理質器之爲",
"visual_settings.viafabricplus.swing_hand_on_item_use": "於使物之時揮手",
"visual_settings.viafabricplus.disable_server_pinging": "禁伺服器之測",
"visual_settings.viafabricplus.sideways_backwards_walking": "側身卻行",

View File

@ -95,7 +95,6 @@
"visual_settings.viafabricplus.hide_modern_hud_elements": "Usuń nowsze elementy interfejsu",
"visual_settings.viafabricplus.replace_creative_inventory_with_classic_inventory": "Zamień ekwipunek trybu kreatywnego",
"visual_settings.viafabricplus.old_walking_animation": "Stara animacja chodzenia",
"visual_settings.viafabricplus.change_font_renderer_behaviour": "Zmień sposób renderowania czcionek",
"visual_settings.viafabricplus.swing_hand_on_item_use": "Włącz animację niszczenia bloków 1.7",
"visual_settings.viafabricplus.disable_server_pinging": "Wyłącz pingowanie serwerów",
"visual_settings.viafabricplus.sideways_backwards_walking": "Chodzenie do tyłu na boki",

View File

@ -91,7 +91,6 @@
"visual_settings.viafabricplus.hide_modern_hud_elements": "Старый интерфейс",
"visual_settings.viafabricplus.replace_creative_inventory_with_classic_inventory": "Старый творческий инвентарь",
"visual_settings.viafabricplus.old_walking_animation": "Старая анимация ходьбы",
"visual_settings.viafabricplus.change_font_renderer_behaviour": "Скрывать неизвестные Unicode-символы",
"visual_settings.viafabricplus.swing_hand_on_item_use": "Объединить анимацию использования и удара",
"visual_settings.viafabricplus.disable_server_pinging": "Не проверять соединение",
"visual_settings.viafabricplus.sideways_backwards_walking": "Старая походка спиной",

View File

@ -84,7 +84,6 @@
"visual_settings.viafabricplus.hide_modern_hud_elements": "Yeni HUD Özelliklerini Kaldır",
"visual_settings.viafabricplus.replace_creative_inventory_with_classic_inventory": "Creative Envanterini Değiştir",
"visual_settings.viafabricplus.old_walking_animation": "Eski Yürüyüş Animasyonu",
"visual_settings.viafabricplus.change_font_renderer_behaviour": "Yazı Tipi Oluşturucu Davranışını Değiştirme",
"visual_settings.viafabricplus.swing_hand_on_item_use": "Blok Hit Animasyonunu Aç",
"visual_settings.viafabricplus.disable_server_pinging": "Veri Gönderimini Kapat",
"visual_settings.viafabricplus.sideways_backwards_walking": "Yana Doğru Geri Geri Yürüme",

View File

@ -70,7 +70,6 @@
"visual_settings.viafabricplus.hide_modern_hud_elements": "Видаліть новіші елементи HUD",
"visual_settings.viafabricplus.replace_creative_inventory_with_classic_inventory": "Замінити інвентар креативу",
"visual_settings.viafabricplus.old_walking_animation": "Стара анімація ходьби",
"visual_settings.viafabricplus.change_font_renderer_behaviour": "Змінити поведінку рендерингу шрифта",
"visual_settings.viafabricplus.swing_hand_on_item_use": "Ввімкнути анімацію удару блоку 1.7",
"bedrock.viafabricplus.login": "Ваш браузер мав відкритися.\nБудь ласка, введіть наступний код: %s\nЯкщо закрити цей екран, процес буде скасовано!",

View File

@ -91,7 +91,6 @@
"visual_settings.viafabricplus.hide_modern_hud_elements": "隐藏新版HUD元素",
"visual_settings.viafabricplus.replace_creative_inventory_with_classic_inventory": "替换创造模式物品栏",
"visual_settings.viafabricplus.old_walking_animation": "旧版行走动画",
"visual_settings.viafabricplus.change_font_renderer_behaviour": "更改字体渲染器行为",
"visual_settings.viafabricplus.swing_hand_on_item_use": "使用物品时挥动手",
"visual_settings.viafabricplus.disable_server_pinging": "禁用服务器Ping",
"visual_settings.viafabricplus.sideways_backwards_walking": "侧身后退行走",

View File

@ -84,7 +84,6 @@
"visual_settings.viafabricplus.hide_modern_hud_elements": "移除新嘅 HUD 要素(包括饑餓值、護甲值)",
"visual_settings.viafabricplus.replace_creative_inventory_with_classic_inventory": "將創造模式物品欄替換為舊版本樣式",
"visual_settings.viafabricplus.old_walking_animation": "舊版行走動畫",
"visual_settings.viafabricplus.change_font_renderer_behaviour": "改變字體渲染嘅行為",
"visual_settings.viafabricplus.swing_hand_on_item_use": "啟用 1.7 阻擋攻擊動畫",
"visual_settings.viafabricplus.disable_server_pinging": "禁用伺服器 pinging",
"visual_settings.viafabricplus.sideways_backwards_walking": "側身倒退行走",

View File

@ -93,7 +93,6 @@
"visual_settings.viafabricplus.hide_modern_hud_elements": "隱藏新式 HUD 元素",
"visual_settings.viafabricplus.replace_creative_inventory_with_classic_inventory": "取代創造模式物品欄",
"visual_settings.viafabricplus.old_walking_animation": "舊版行走動畫",
"visual_settings.viafabricplus.change_font_renderer_behaviour": "變更字型渲染器行為",
"visual_settings.viafabricplus.swing_hand_on_item_use": "使用物品時揮動慣用手",
"visual_settings.viafabricplus.disable_server_pinging": "停用伺服器 Ping",
"visual_settings.viafabricplus.sideways_backwards_walking": "側身倒退行走",

View File

@ -10,6 +10,7 @@ accessible field net/minecraft/entity/vehicle/AbstractBoatEntity yawVelocity F
accessible field net/minecraft/entity/EntityType dimensions Lnet/minecraft/entity/EntityDimensions;
accessible field net/minecraft/block/AbstractBlock velocityMultiplier F
accessible field net/minecraft/client/gui/screen/option/ControlsListWidget$KeyBindingEntry RESET_TEXT Lnet/minecraft/text/Text;
accessible field net/minecraft/client/font/FontStorage$GlyphPair MISSING Lnet/minecraft/client/font/FontStorage$GlyphPair;
accessible method net/minecraft/screen/GenericContainerScreenHandler <init> (Lnet/minecraft/screen/ScreenHandlerType;ILnet/minecraft/entity/player/PlayerInventory;I)V
accessible method net/minecraft/entity/passive/CamelEntity getPassengerAttachmentY (ZFLnet/minecraft/entity/EntityDimensions;F)D
@ -17,8 +18,9 @@ accessible method net/minecraft/entity/vehicle/AbstractBoatEntity getMaxPassenge
accessible method net/minecraft/client/gui/screen/multiplayer/ConnectScreen setStatus (Lnet/minecraft/text/Text;)V
accessible method net/minecraft/item/BlockItem getPlacementState (Lnet/minecraft/item/ItemPlacementContext;)Lnet/minecraft/block/BlockState;
accessible method net/minecraft/block/AbstractBlock getPickStack (Lnet/minecraft/world/WorldView;Lnet/minecraft/util/math/BlockPos;Lnet/minecraft/block/BlockState;Z)Lnet/minecraft/item/ItemStack;
accessible method net/minecraft/client/font/FontStorage$GlyphPair <init> (Lnet/minecraft/client/font/Glyph;Lnet/minecraft/client/font/Glyph;)V
mutable field net/minecraft/entity/EntityType dimensions Lnet/minecraft/entity/EntityDimensions;
mutable field net/minecraft/block/AbstractBlock velocityMultiplier F
accessible class net/minecraft/client/font/TextRenderer$Drawer
accessible class net/minecraft/client/font/FontStorage$GlyphPair

View File

@ -108,13 +108,13 @@
"features.entity.metadata_handling.MixinWolfEntity",
"features.entity.pose.MixinOtherClientPlayerEntity",
"features.entity.pose.MixinPlayerEntity",
"features.entity.r1_8_boat.MixinAbstractBoatEntity",
"features.entity.r1_8_boat.MixinEntityModels",
"features.entity.r1_8_boat.MixinEntityRenderDispatcher",
"features.entity.riding_offset.MixinAbstractBoatEntity",
"features.entity.riding_offset.MixinCamelEntity",
"features.entity.riding_offset.MixinEntity",
"features.entity.riding_offset.MixinLivingEntity",
"features.entity.r1_8_boat.MixinAbstractBoatEntity",
"features.entity.r1_8_boat.MixinEntityModels",
"features.entity.r1_8_boat.MixinEntityRenderDispatcher",
"features.execute_inputs_sync.MixinKeyboard",
"features.execute_inputs_sync.MixinMinecraftClient",
"features.execute_inputs_sync.MixinMouse",
@ -130,13 +130,13 @@
"features.interaction.container_clicking.MixinItemPacketRewriter1_17",
"features.interaction.container_clicking.MixinMerchantScreenHandler",
"features.interaction.container_clicking.MixinScreenHandler",
"features.interaction.r1_18_2_block_ack_emulation.MixinClientPlayerInteractionManager",
"features.interaction.r1_18_2_block_ack_emulation.MixinWorldPacketRewriter1_19",
"features.interaction.remove_fuel_slot.MixinBrewingStandScreenHandler_FuelSlot",
"features.interaction.remove_offhand_slot.MixinPlayerScreenHandler",
"features.interaction.replace_block_item_use_logic.MixinClientPlayerInteractionManager",
"features.interaction.replace_block_item_use_logic.MixinItemPlacementContext",
"features.interaction.replace_block_item_use_logic.MixinMinecraftClient",
"features.interaction.r1_18_2_block_ack_emulation.MixinClientPlayerInteractionManager",
"features.interaction.r1_18_2_block_ack_emulation.MixinWorldPacketRewriter1_19",
"features.item.attack_damage.MixinItemPacketRewriter1_9",
"features.item.attack_damage.MixinItemStack",
"features.item.cooldown.MixinItemCooldownManager",
@ -157,19 +157,19 @@
"features.item.interaction.MixinLeadItem",
"features.item.interaction.MixinShovelItem",
"features.item.negative_item_count.MixinDrawContext",
"features.item.r1_14_4_enchantment_tooltip.MixinItemStack",
"features.item.sword_blocking.MixinBlockItemPacketRewriter1_21_4",
"features.item.sword_blocking.MixinSwordItem",
"features.item.r1_14_4_enchantment_tooltip.MixinItemStack",
"features.large_container.MixinItemPacketRewriter1_14",
"features.legacy_tab_completion.MixinAbstractCommandBlockScreen",
"features.legacy_tab_completion.MixinChatInputSuggestor",
"features.legacy_tab_completion.MixinChatScreen",
"features.limitation.allow_negative_amplifier.MixinStatusEffectInstance",
"features.limitation.book_edit.MixinBookEditScreen",
"features.max_chat_length.MixinChatMessageC2SPacket",
"features.max_chat_length.MixinChatScreen",
"features.max_chat_length.MixinProtocol1_10To1_11",
"features.max_chat_length.MixinStringHelper",
"features.limitation.max_chat_length.MixinChatMessageC2SPacket",
"features.limitation.max_chat_length.MixinChatScreen",
"features.limitation.max_chat_length.MixinProtocol1_10To1_11",
"features.limitation.max_chat_length.MixinStringHelper",
"features.mouse_sensitivity.MixinMouse",
"features.mouse_sensitivity.MixinMouseOptionsScreen",
"features.movement.MixinClientPlayerEntity",
@ -185,12 +185,12 @@
"features.movement.entity.MixinPlayerEntityRenderer",
"features.movement.handle_slowness_on_collision.MixinSoulSandBlock",
"features.movement.jump.MixinClientPlayerEntity",
"features.movement.r1_5_2_vehicle_movement.MixinClientPlayerEntity",
"features.movement.remove_bed_bounce.MixinBedBlock",
"features.movement.replace_boat_movement.MixinClientPlayerEntity",
"features.movement.slowdown_calculation.MixinClientPlayerEntity",
"features.movement.slowdown_calculation.MixinEnderEyeItem",
"features.movement.sprinting_sneaking_condition.MixinClientPlayerEntity",
"features.movement.r1_5_2_vehicle_movement.MixinClientPlayerEntity",
"features.movement.water_movement.MixinClientPlayerEntity",
"features.movement.water_movement.MixinEntity",
"features.movement.water_movement.MixinFlowableFluid",
@ -202,6 +202,7 @@
"features.networking.config_state.MixinNetworkStateTransitionHandler",
"features.networking.config_state.MixinNetworkStateTransitions",
"features.networking.config_state.MixinProtocol1_20To1_20_2",
"features.networking.disable_server_pinging.MixinMultiplayerServerListWidget_ServerEntry",
"features.networking.downloading_terrain.MixinClientPlayNetworkHandler",
"features.networking.downloading_terrain.MixinDownloadingTerrainScreen",
"features.networking.legacy_chat_signature.MixinConnectScreen_1",
@ -231,10 +232,13 @@
"features.recipe_emulation.MixinCraftingScreenHandler",
"features.recipe_emulation.MixinEntityPacketRewriter1_12",
"features.recipe_emulation.MixinPlayerScreenHandler",
"features.remove_newer_screen_features.MixinCommandBlockScreen",
"features.remove_newer_screen_features.MixinJigsawBlockScreen",
"features.remove_newer_screen_features.MixinStructureBlockScreen_1",
"features.replace_blank_glyph.MixinFontStorage",
"features.run_command_action_handling.MixinScreen",
"features.sign_editor_reach.MixinAbstractSignEditScreen",
"features.skin_loading.MixinPlayerListEntry",
"features.strike_through_offset.MixinTextRenderer_Drawer",
"features.swinging.MixinInventoryTracker1_16",
"features.swinging.MixinMinecraftClient",
"features.world.always_tick_entities.MixinClientWorld",

View File

@ -25,8 +25,7 @@ import com.viaversion.viafabricplus.api.ViaFabricPlusBase;
import com.viaversion.viafabricplus.api.entrypoint.ViaFabricPlusLoadEntrypoint;
import com.viaversion.viafabricplus.api.events.LoadingCycleCallback;
import com.viaversion.viafabricplus.visuals.features.filter_non_existing_characters.UnicodeFontFix1_12_2;
import com.viaversion.viafabricplus.visuals.features.armor_hud.ArmorHudEmulation1_8;
import com.viaversion.viafabricplus.visuals.features.classic_creative_menu.GridItemSelectionScreen;
import com.viaversion.viafabricplus.visuals.features.classic.creative_menu.GridItemSelectionScreen;
import com.viaversion.viafabricplus.visuals.settings.VisualSettings;
import net.minecraft.client.MinecraftClient;
import net.raphimc.vialegacy.api.LegacyProtocolVersion;
@ -47,9 +46,6 @@ public class ViaFabricPlusVisuals implements ViaFabricPlusLoadEntrypoint {
if (cycle == LoadingCycleCallback.LoadingCycle.POST_SETTINGS_LOAD) {
platform.addSettingGroup(VisualSettings.INSTANCE);
}
if (cycle == LoadingCycleCallback.LoadingCycle.POST_GAME_LOAD) {
ArmorHudEmulation1_8.init();
}
});
platform.registerOnChangeProtocolVersionCallback((oldVersion, newVersion) -> MinecraftClient.getInstance().execute(() -> {

View File

@ -19,7 +19,7 @@
* along with this program. If not, see <http://www.gnu.org/licenses/>.
*/
package com.viaversion.viafabricplus.visuals.features.classic_creative_menu;
package com.viaversion.viafabricplus.visuals.features.classic.creative_menu;
import com.viaversion.viafabricplus.ViaFabricPlus;
import net.minecraft.client.gui.DrawContext;

View File

@ -28,10 +28,6 @@ import net.minecraft.client.font.RenderableGlyph;
import java.util.function.Function;
/**
* Implementation of a blank glyph for 1.12.2 and lower since those versions don't draw a white rectangle for empty
* glyphs but instead just skip them. See {@link MixinFontStorage} for more information.
*/
public enum BuiltinEmptyGlyph1_12_2 implements Glyph {
INSTANCE;

View File

@ -19,7 +19,7 @@
* along with this program. If not, see <http://www.gnu.org/licenses/>.
*/
package com.viaversion.viafabricplus.visuals.features.v1_7_tab_list_style;
package com.viaversion.viafabricplus.visuals.features.r1_7_tab_list_style;
public final class LegacyTabList {

View File

@ -19,7 +19,7 @@
* along with this program. If not, see <http://www.gnu.org/licenses/>.
*/
package com.viaversion.viafabricplus.visuals.injection.access;
package com.viaversion.viafabricplus.visuals.injection.access.r1_7_tab_list_tyle;
public interface IPlayerListEntry {

View File

@ -19,7 +19,7 @@
* along with this program. If not, see <http://www.gnu.org/licenses/>.
*/
package com.viaversion.viafabricplus.visuals.injection.access;
package com.viaversion.viafabricplus.visuals.injection.access.r1_7_tab_list_tyle;
public interface IPlayerListHud {

View File

@ -19,9 +19,9 @@
* along with this program. If not, see <http://www.gnu.org/licenses/>.
*/
package com.viaversion.viafabricplus.visuals.injection.mixin.classic_creative_menu;
package com.viaversion.viafabricplus.visuals.injection.mixin.classic.creative_menu;
import com.viaversion.viafabricplus.visuals.features.classic_creative_menu.GridItemSelectionScreen;
import com.viaversion.viafabricplus.visuals.features.classic.creative_menu.GridItemSelectionScreen;
import com.viaversion.viafabricplus.visuals.settings.VisualSettings;
import net.minecraft.client.MinecraftClient;
import net.minecraft.client.gui.screen.ingame.CreativeInventoryScreen;

View File

@ -19,7 +19,7 @@
* along with this program. If not, see <http://www.gnu.org/licenses/>.
*/
package com.viaversion.viafabricplus.visuals.injection.mixin.classic_walking_animation;
package com.viaversion.viafabricplus.visuals.injection.mixin.classic.walking_animation;
import com.viaversion.viafabricplus.visuals.settings.VisualSettings;
import net.minecraft.client.model.ModelPart;

View File

@ -21,11 +21,15 @@
package com.viaversion.viafabricplus.visuals.injection.mixin.filter_non_existing_characters;
import com.viaversion.viafabricplus.visuals.features.filter_non_existing_characters.RenderableGlyphDiff;
import com.viaversion.viafabricplus.ViaFabricPlus;
import com.viaversion.viafabricplus.visuals.features.filter_non_existing_characters.BuiltinEmptyGlyph1_12_2;
import com.viaversion.viafabricplus.visuals.features.filter_non_existing_characters.RenderableGlyphDiff;
import com.viaversion.viafabricplus.visuals.settings.VisualSettings;
import com.viaversion.viaversion.api.protocol.version.ProtocolVersion;
import net.minecraft.client.MinecraftClient;
import net.minecraft.client.font.*;
import net.minecraft.client.font.BakedGlyph;
import net.minecraft.client.font.FontStorage;
import net.minecraft.client.font.RenderableGlyph;
import net.minecraft.util.Identifier;
import org.spongepowered.asm.mixin.Final;
import org.spongepowered.asm.mixin.Mixin;
@ -33,7 +37,6 @@ import org.spongepowered.asm.mixin.Shadow;
import org.spongepowered.asm.mixin.Unique;
import org.spongepowered.asm.mixin.injection.At;
import org.spongepowered.asm.mixin.injection.Inject;
import org.spongepowered.asm.mixin.injection.Redirect;
import org.spongepowered.asm.mixin.injection.callback.CallbackInfo;
import org.spongepowered.asm.mixin.injection.callback.CallbackInfoReturnable;
@ -44,47 +47,34 @@ public abstract class MixinFontStorage {
@Final
private Identifier id;
@Shadow private BakedGlyph blankBakedGlyph;
@Shadow
private BakedGlyph blankBakedGlyph;
@Shadow protected abstract BakedGlyph bake(RenderableGlyph c);
@Shadow
protected abstract BakedGlyph bake(RenderableGlyph c);
@Unique
private BakedGlyph viaFabricPlus$blankBakedGlyph1_12_2;
private BakedGlyph viaFabricPlusVisuals$blankBakedGlyph1_12_2;
@Inject(method = "clear", at = @At(value = "INVOKE", target = "Lnet/minecraft/client/font/BuiltinEmptyGlyph;bake(Ljava/util/function/Function;)Lnet/minecraft/client/font/BakedGlyph;", ordinal = 0))
private void bakeBlankGlyph1_12_2(CallbackInfo ci) {
this.viaFabricPlus$blankBakedGlyph1_12_2 = BuiltinEmptyGlyph1_12_2.INSTANCE.bake(this::bake);
this.viaFabricPlusVisuals$blankBakedGlyph1_12_2 = BuiltinEmptyGlyph1_12_2.INSTANCE.bake(this::bake);
}
@Inject(method = "findGlyph", at = @At("RETURN"), cancellable = true)
private void filterGlyphs(int codePoint, CallbackInfoReturnable<FontStorage.GlyphPair> cir) {
if (this.viaFabricPlus$shouldBeInvisible(codePoint)) {
cir.setReturnValue(this.viaFabricPlus$getBlankGlyphPair());
cir.setReturnValue(this.viaFabricPlusVisuals$getBlankGlyphPair());
}
}
@Inject(method = "bake(I)Lnet/minecraft/client/font/BakedGlyph;", at = @At("RETURN"), cancellable = true)
private void filterBakedGlyph(int codePoint, CallbackInfoReturnable<BakedGlyph> cir) {
if (this.viaFabricPlus$shouldBeInvisible(codePoint)) {
cir.setReturnValue(this.viaFabricPlus$getBlankBakedGlyph());
cir.setReturnValue(this.viaFabricPlusVisuals$getBlankBakedGlyph());
}
}
@Inject(method = "findGlyph", at = @At("RETURN"), cancellable = true)
private void fixBlankGlyph1_12_2(int codePoint, CallbackInfoReturnable<FontStorage.GlyphPair> cir) {
if (VisualSettings.INSTANCE.changeFontRendererBehaviour.isEnabled()) {
final FontStorage.GlyphPair glyphPair = cir.getReturnValue();
final Glyph glyph1 = glyphPair.glyph();
final Glyph glyph2 = glyphPair.advanceValidatedGlyph();
cir.setReturnValue(new FontStorage.GlyphPair(glyph1 == BuiltinEmptyGlyph.MISSING ? BuiltinEmptyGlyph1_12_2.INSTANCE : glyph1, glyph2 == BuiltinEmptyGlyph.MISSING ? BuiltinEmptyGlyph1_12_2.INSTANCE : glyph2));
}
}
@Redirect(method = "bake(I)Lnet/minecraft/client/font/BakedGlyph;", at = @At(value = "FIELD", target = "Lnet/minecraft/client/font/FontStorage;blankBakedGlyph:Lnet/minecraft/client/font/BakedGlyph;"))
private BakedGlyph fixBlankBakedGlyph1_12_2(FontStorage instance) {
return this.viaFabricPlus$getBlankBakedGlyph();
}
@Unique
private boolean viaFabricPlus$shouldBeInvisible(final int codePoint) {
if (VisualSettings.INSTANCE.filterNonExistingGlyphs.getValue()) {
@ -95,8 +85,8 @@ public abstract class MixinFontStorage {
}
@Unique
private FontStorage.GlyphPair viaFabricPlus$getBlankGlyphPair() {
if (VisualSettings.INSTANCE.changeFontRendererBehaviour.isEnabled()) {
private FontStorage.GlyphPair viaFabricPlusVisuals$getBlankGlyphPair() {
if (ViaFabricPlus.getImpl().getTargetVersion().olderThanOrEqualTo(ProtocolVersion.v1_21_2)) {
return new FontStorage.GlyphPair(BuiltinEmptyGlyph1_12_2.INSTANCE, BuiltinEmptyGlyph1_12_2.INSTANCE);
} else {
return FontStorage.GlyphPair.MISSING;
@ -104,9 +94,9 @@ public abstract class MixinFontStorage {
}
@Unique
private BakedGlyph viaFabricPlus$getBlankBakedGlyph() {
if (VisualSettings.INSTANCE.changeFontRendererBehaviour.isEnabled()) {
return this.viaFabricPlus$blankBakedGlyph1_12_2;
private BakedGlyph viaFabricPlusVisuals$getBlankBakedGlyph() {
if (VisualSettings.INSTANCE.filterNonExistingGlyphs.getValue()) {
return this.viaFabricPlusVisuals$blankBakedGlyph1_12_2;
} else {
return this.blankBakedGlyph;
}

View File

@ -102,6 +102,7 @@ public abstract class MixinInGameHud {
if (!VisualSettings.INSTANCE.hideModernHUDElements.isEnabled()) {
return;
}
final MinecraftClient client = MinecraftClient.getInstance();
final int armorWidth = 10 * viaFabricPlus$ARMOR_ICON_WIDTH;

View File

@ -19,7 +19,7 @@
* along with this program. If not, see <http://www.gnu.org/licenses/>.
*/
package com.viaversion.viafabricplus.visuals.injection.mixin.v1_7_item_tilt;
package com.viaversion.viafabricplus.visuals.injection.mixin.r1_7_item_tilt;
import com.viaversion.viafabricplus.visuals.settings.VisualSettings;
import net.minecraft.client.network.AbstractClientPlayerEntity;

View File

@ -19,10 +19,10 @@
* along with this program. If not, see <http://www.gnu.org/licenses/>.
*/
package com.viaversion.viafabricplus.visuals.injection.mixin.v1_7_tab_list_style;
package com.viaversion.viafabricplus.visuals.injection.mixin.r1_7_tab_list_style;
import com.viaversion.viafabricplus.visuals.features.v1_7_tab_list_style.LegacyTabList;
import com.viaversion.viafabricplus.visuals.injection.access.IPlayerListHud;
import com.viaversion.viafabricplus.visuals.features.r1_7_tab_list_style.LegacyTabList;
import com.viaversion.viafabricplus.visuals.injection.access.r1_7_tab_list_tyle.IPlayerListHud;
import net.minecraft.client.MinecraftClient;
import net.minecraft.client.network.ClientPlayNetworkHandler;
import net.minecraft.network.packet.s2c.play.GameJoinS2CPacket;

View File

@ -19,10 +19,10 @@
* along with this program. If not, see <http://www.gnu.org/licenses/>.
*/
package com.viaversion.viafabricplus.visuals.injection.mixin.v1_7_tab_list_style;
package com.viaversion.viafabricplus.visuals.injection.mixin.r1_7_tab_list_style;
import com.viaversion.viafabricplus.visuals.features.v1_7_tab_list_style.LegacyTabList;
import com.viaversion.viafabricplus.visuals.injection.access.IPlayerListEntry;
import com.viaversion.viafabricplus.visuals.features.r1_7_tab_list_style.LegacyTabList;
import com.viaversion.viafabricplus.visuals.injection.access.r1_7_tab_list_tyle.IPlayerListEntry;
import net.minecraft.client.network.PlayerListEntry;
import org.spongepowered.asm.mixin.Mixin;
import org.spongepowered.asm.mixin.Unique;

View File

@ -19,11 +19,11 @@
* along with this program. If not, see <http://www.gnu.org/licenses/>.
*/
package com.viaversion.viafabricplus.visuals.injection.mixin.v1_7_tab_list_style;
package com.viaversion.viafabricplus.visuals.injection.mixin.r1_7_tab_list_style;
import com.llamalad7.mixinextras.injector.ModifyExpressionValue;
import com.viaversion.viafabricplus.visuals.injection.access.IPlayerListEntry;
import com.viaversion.viafabricplus.visuals.injection.access.IPlayerListHud;
import com.viaversion.viafabricplus.visuals.injection.access.r1_7_tab_list_tyle.IPlayerListEntry;
import com.viaversion.viafabricplus.visuals.injection.access.r1_7_tab_list_tyle.IPlayerListHud;
import com.viaversion.viafabricplus.visuals.settings.VisualSettings;
import net.minecraft.client.MinecraftClient;
import net.minecraft.client.gui.hud.PlayerListHud;

View File

@ -19,10 +19,10 @@
* along with this program. If not, see <http://www.gnu.org/licenses/>.
*/
package com.viaversion.viafabricplus.injection.mixin.features.strike_through_offset;
package com.viaversion.viafabricplus.visuals.injection.mixin.strike_through_offset;
import com.viaversion.viafabricplus.ViaFabricPlus;
import com.viaversion.viaversion.api.protocol.version.ProtocolVersion;
import com.viaversion.viafabricplus.protocoltranslator.ProtocolTranslator;
import net.minecraft.client.font.TextRenderer;
import org.spongepowered.asm.mixin.Mixin;
import org.spongepowered.asm.mixin.Unique;
@ -37,7 +37,7 @@ public abstract class MixinTextRenderer_Drawer {
@ModifyArg(method = "accept", at = @At(value = "INVOKE", target = "Lnet/minecraft/client/font/BakedGlyph$Rectangle;<init>(FFFFFIIF)V", ordinal = 0), index = 1)
private float fixStrikethroughMinY(float value) {
if (ProtocolTranslator.getTargetVersion().olderThanOrEqualTo(ProtocolVersion.v1_12_2)) {
if (ViaFabricPlus.getImpl().getTargetVersion().olderThanOrEqualTo(ProtocolVersion.v1_12_2)) {
return value - viaFabricPlus$offset;
} else {
return value;
@ -46,7 +46,7 @@ public abstract class MixinTextRenderer_Drawer {
@ModifyArg(method = "accept", at = @At(value = "INVOKE", target = "Lnet/minecraft/client/font/BakedGlyph$Rectangle;<init>(FFFFFIIF)V", ordinal = 0), index = 3)
private float fixStrikethroughMaxY(float value) {
if (ProtocolTranslator.getTargetVersion().olderThanOrEqualTo(ProtocolVersion.v1_12_2)) {
if (ViaFabricPlus.getImpl().getTargetVersion().olderThanOrEqualTo(ProtocolVersion.v1_12_2)) {
return value - viaFabricPlus$offset;
} else {
return value;

View File

@ -75,7 +75,6 @@ public final class VisualSettings extends SettingGroup {
// 1.13 -> 1.12.2
public final VersionedBooleanSetting replacePetrifiedOakSlab = new VersionedBooleanSetting(this, Text.translatable("visual_settings.viafabricplus.replace_petrified_oak_slab"), VersionRange.of(LegacyProtocolVersion.r1_3_1tor1_3_2, ProtocolVersion.v1_12_2));
public final VersionedBooleanSetting changeFontRendererBehaviour = new VersionedBooleanSetting(this, Text.translatable("visual_settings.viafabricplus.change_font_renderer_behaviour"), VersionRange.andOlder(ProtocolVersion.v1_12_2));
public final VersionedBooleanSetting hideFurnaceRecipeBook = new VersionedBooleanSetting(this, Text.translatable("visual_settings.viafabricplus.hide_furnace_recipe_book"), VersionRange.andOlder(ProtocolVersion.v1_12_2));
public final VersionedBooleanSetting forceUnicodeFontForNonAsciiLanguages = new VersionedBooleanSetting(this, Text.translatable("visual_settings.viafabricplus.force_unicode_font_for_non_ascii_languages"), VersionRange.andOlder(ProtocolVersion.v1_12_2));
public final VersionedBooleanSetting sneakInstantly = new VersionedBooleanSetting(this, Text.translatable("visual_settings.viafabricplus.sneak_instantly"), VersionRange.andOlder(ProtocolVersion.v1_12_2));

View File

@ -7,10 +7,11 @@ accessible field net/minecraft/client/font/FontStorage glyphCache Lnet/minecraft
accessible field net/minecraft/client/resource/language/TranslationStorage translations Ljava/util/Map;
accessible field net/minecraft/client/gui/screen/multiplayer/SocialInteractionsScreen TITLE Lnet/minecraft/text/Text;
accessible field net/minecraft/client/gui/screen/world/WorldIcon UNKNOWN_SERVER_ID Lnet/minecraft/util/Identifier;
accessible field net/minecraft/client/font/FontStorage$GlyphPair MISSING Lnet/minecraft/client/font/FontStorage$GlyphPair;
accessible field net/minecraft/client/gui/widget/TexturedButtonWidget textures Lnet/minecraft/client/gui/screen/ButtonTextures;
accessible field net/minecraft/client/font/FontStorage$GlyphPair MISSING Lnet/minecraft/client/font/FontStorage$GlyphPair;
accessible method net/minecraft/client/font/FontStorage$GlyphPair <init> (Lnet/minecraft/client/font/Glyph;Lnet/minecraft/client/font/Glyph;)V
accessible class net/minecraft/client/font/FontStorage$GlyphPair
accessible class net/minecraft/client/gui/screen/GameModeSelectionScreen$GameModeSelection
accessible class net/minecraft/client/font/TextRenderer$Drawer
accessible class net/minecraft/client/font/FontStorage$GlyphPair

View File

@ -4,9 +4,8 @@
"package": "com.viaversion.viafabricplus.visuals.injection.mixin",
"compatibilityLevel": "JAVA_21",
"client": [
"classic_creative_menu.MixinCreativeInventoryScreen",
"classic_walking_animation.MixinBipedEntityModel",
"disable_server_pinging.MixinMultiplayerServerListWidget_ServerEntry",
"classic.creative_menu.MixinCreativeInventoryScreen",
"classic.walking_animation.MixinBipedEntityModel",
"downloading_terrain_transitions.MixinDownloadingTerrainScreen",
"filter_game_mode_selections.MixinGameModeSelectionScreen",
"filter_game_mode_selections.MixinGameModeSelectionScreen_GameModeSelection",
@ -16,20 +15,19 @@
"hud_element_changes.MixinChatScreen",
"hud_element_changes.MixinClientPlayerInteractionManager",
"hud_element_changes.MixinInGameHud",
"instant_sneaking.MixinCamera",
"oof_sound.MixinPlayerEntity",
"petrified_oak_slab_model.MixinItemRenderer",
"player_rotations.MixinBipedEntityModel",
"player_rotations.MixinLivingEntity",
"remove_newer_screen_features.MixinCommandBlockScreen",
"r1_7_item_tilt.MixinHeldItemRenderer",
"r1_7_tab_list_style.MixinClientPlayNetworkHandler",
"r1_7_tab_list_style.MixinPlayerListEntry",
"r1_7_tab_list_style.MixinPlayerListHud",
"remove_newer_screen_features.MixinGameMenuScreen",
"remove_newer_screen_features.MixinJigsawBlockScreen",
"remove_newer_screen_features.MixinScreen",
"remove_newer_screen_features.MixinStructureBlockScreen_1",
"secure_chat_warning.MixinClientPlayNetworkHandler",
"v1_7_item_tilt.MixinHeldItemRenderer",
"v1_7_tab_list_style.MixinClientPlayNetworkHandler",
"v1_7_tab_list_style.MixinPlayerListEntry",
"v1_7_tab_list_style.MixinPlayerListHud",
"strike_through_offset.MixinTextRenderer_Drawer",
"villager_profession.MixinVillagerClothingFeatureRenderer"
],
"injectors": {