From 77c3a004b4c8d30bc1de8bbceb17c040bfe22bb8 Mon Sep 17 00:00:00 2001 From: FlorianMichael <60033407+FlorianMichael@users.noreply.github.com> Date: Fri, 19 Apr 2024 04:29:25 +0200 Subject: [PATCH 1/6] Change backwards walking animation in <= 1.12 --- .../mixin/fixes/minecraft/entity/MixinLivingEntity.java | 9 +++++++++ 1 file changed, 9 insertions(+) diff --git a/src/main/java/de/florianmichael/viafabricplus/injection/mixin/fixes/minecraft/entity/MixinLivingEntity.java b/src/main/java/de/florianmichael/viafabricplus/injection/mixin/fixes/minecraft/entity/MixinLivingEntity.java index d15a4329..933a32c8 100644 --- a/src/main/java/de/florianmichael/viafabricplus/injection/mixin/fixes/minecraft/entity/MixinLivingEntity.java +++ b/src/main/java/de/florianmichael/viafabricplus/injection/mixin/fixes/minecraft/entity/MixinLivingEntity.java @@ -187,6 +187,15 @@ public abstract class MixinLivingEntity extends Entity { } } + @Redirect(method = "tick", at = @At(value = "INVOKE", target = "Lnet/minecraft/util/math/MathHelper;abs(F)F")) + private float alwaysRotateWhenWalkingBackwards(float value) { + if (ProtocolTranslator.getTargetVersion().olderThanOrEqualTo(ProtocolVersion.v1_12)) { + return 0F; + } else { + return MathHelper.abs(value); + } + } + @Inject(method = "getPreferredEquipmentSlot", at = @At("HEAD"), cancellable = true) private static void removeShieldSlotPreference(ItemStack stack, CallbackInfoReturnable cir) { if (ProtocolTranslator.getTargetVersion().olderThanOrEqualTo(ProtocolVersion.v1_9_3) && stack.isOf(Items.SHIELD)) { From 036f3e083b392388b69bc67ca0d31f03dffd89ad Mon Sep 17 00:00:00 2001 From: FlorianMichael <60033407+FlorianMichael@users.noreply.github.com> Date: Fri, 19 Apr 2024 04:40:27 +0200 Subject: [PATCH 2/6] Update fabric loader and api --- gradle.properties | 4 ++-- .../mixin/fixes/minecraft/entity/MixinLivingEntity.java | 2 +- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/gradle.properties b/gradle.properties index 23fa27d9..d468a0d6 100644 --- a/gradle.properties +++ b/gradle.properties @@ -5,8 +5,8 @@ org.gradle.parallel=true # Minecraft/Fabric minecraft_version=1.20.4 yarn_mappings=1.20.4+build.3 -loader_version=0.15.7 -fabric_api_version=0.96.11+1.20.4 +loader_version=0.15.10 +fabric_api_version=0.97.0+1.20.4 # Project Details mod_version=3.1.1-SNAPSHOT diff --git a/src/main/java/de/florianmichael/viafabricplus/injection/mixin/fixes/minecraft/entity/MixinLivingEntity.java b/src/main/java/de/florianmichael/viafabricplus/injection/mixin/fixes/minecraft/entity/MixinLivingEntity.java index 933a32c8..75777c3d 100644 --- a/src/main/java/de/florianmichael/viafabricplus/injection/mixin/fixes/minecraft/entity/MixinLivingEntity.java +++ b/src/main/java/de/florianmichael/viafabricplus/injection/mixin/fixes/minecraft/entity/MixinLivingEntity.java @@ -189,7 +189,7 @@ public abstract class MixinLivingEntity extends Entity { @Redirect(method = "tick", at = @At(value = "INVOKE", target = "Lnet/minecraft/util/math/MathHelper;abs(F)F")) private float alwaysRotateWhenWalkingBackwards(float value) { - if (ProtocolTranslator.getTargetVersion().olderThanOrEqualTo(ProtocolVersion.v1_12)) { + if (ProtocolTranslator.getTargetVersion().olderThanOrEqualTo(ProtocolVersion.v1_11_1)) { return 0F; } else { return MathHelper.abs(value); From ce3349952c64443ec9569a3bf08b15dcb4c7de91 Mon Sep 17 00:00:00 2001 From: FlorianMichael <60033407+FlorianMichael@users.noreply.github.com> Date: Fri, 19 Apr 2024 04:45:52 +0200 Subject: [PATCH 3/6] Update GH workflow --- .github/workflows/build.yml | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml index 46ef2571..9b5c7920 100644 --- a/.github/workflows/build.yml +++ b/.github/workflows/build.yml @@ -8,7 +8,7 @@ jobs: - name: Checkout Repository uses: actions/checkout@v4 - name: Validate Gradle Wrapper - uses: gradle/wrapper-validation-action@v2 + uses: gradle/actions/wrapper-validation@v3 - name: Set up JDK 17 uses: actions/setup-java@v4 with: @@ -17,8 +17,8 @@ jobs: check-latest: true - name: Build with Gradle run: ./gradlew build - - name: Upload Artifacts + - name: Upload Artifacts to GitHub uses: actions/upload-artifact@v4 with: name: Artifacts - path: build/libs/ + path: build/libs/ \ No newline at end of file From 51fd8dad1dcff45d3fbc1d739e46b4f9c9217181 Mon Sep 17 00:00:00 2001 From: bluegreensea Date: Tue, 23 Apr 2024 23:26:30 +0800 Subject: [PATCH 4/6] Update zh_tw.json --- .../assets/viafabricplus/lang/zh_tw.json | 24 ++++++++++--------- 1 file changed, 13 insertions(+), 11 deletions(-) diff --git a/src/main/resources/assets/viafabricplus/lang/zh_tw.json b/src/main/resources/assets/viafabricplus/lang/zh_tw.json index 2eef460d..a2b30517 100644 --- a/src/main/resources/assets/viafabricplus/lang/zh_tw.json +++ b/src/main/resources/assets/viafabricplus/lang/zh_tw.json @@ -44,10 +44,11 @@ "general_settings.viafabricplus.ignore_packet_translation_errors": "忽略封包轉換錯誤", "general_settings.viafabricplus.load_skins_and_skulls_in_legacy_versions": "在舊版中載入外觀和頭顱", "general_settings.viafabricplus.emulate_inventory_actions_in_alpha_versions": "模擬 Alpha 版本物品欄動作", - "general_settings.viafabricplus.direct_connect_screen_button_orientation": "直接連缐 熒幕的按鈕方位", + "general_settings.viafabricplus.direct_connect_screen_button_orientation": "直接連線畫面按鈕方向", "bedrock_settings.viafabricplus.confirm_transfer_server_prompt": "開啟提示視窗以確認轉換到其他伺服器", "bedrock_settings.viafabricplus.click_to_set_bedrock_account": "點擊以設定 Bedrock 版帳號", + "bedrock_settings.viafabricplus.replace_default_port": "在伺服器清單中取代預設連線埠", "debug_settings.viafabricplus.queue_config_packets": "佇列設定封包", "debug_settings.viafabricplus.disable_sequencing": "停用排序", @@ -57,12 +58,12 @@ "debug_settings.viafabricplus.send_open_inventory_packet": "發送開啟物品欄封包", "debug_settings.viafabricplus.remove_cooldowns": "移除冷卻時間", "debug_settings.viafabricplus.send_idle_packet": "發送閒置封包", - "debug_settings.viafabricplus.replace_attribute_modifiers": "替換屬性修飾符", - "debug_settings.viafabricplus.replace_sneaking": "替換潛行", + "debug_settings.viafabricplus.replace_attribute_modifiers": "取代屬性修飾符", + "debug_settings.viafabricplus.replace_sneaking": "取代潛行", "debug_settings.viafabricplus.long_sneaking": "長時間潛行", "debug_settings.viafabricplus.legacy_mining_speeds": "舊版挖礦速度", "debug_settings.viafabricplus.prevent_entity_cramming": "阻止實體擠壓", - "debug_settings.viafabricplus.always_tick_client_player": "始終執行客戶端玩家刻", + "debug_settings.viafabricplus.always_tick_client_player": "一律執行用戶端玩家刻", "authentication_settings.viafabricplus.use_beta_craft_authentication": "使用 BetaCraft 驗證", "authentication_settings.viafabricplus.verify_session_for_online_mode": "允許 ViaLegacy 調用 joinServer() 來驗證 session", @@ -73,16 +74,17 @@ "visual_settings.viafabricplus.disable_secure_chat_warning": "停用受保護的聊天內容警告", "visual_settings.viafabricplus.hide_signature_indicator": "隱藏簽章指示器", "visual_settings.viafabricplus.remove_newer_features_from_jigsaw_screen": "從拼圖方塊畫面中移除較新的功能", - "visual_settings.viafabricplus.replace_petrified_oak_slab": "替換石化橡木半磚", + "visual_settings.viafabricplus.replace_petrified_oak_slab": "取代石化橡木半磚", "visual_settings.viafabricplus.emulate_armor_hud": "模擬盔甲 HUD", "visual_settings.viafabricplus.remove_newer_features_from_command_block_screen": "從指令方塊畫面中移除較新的功能", - "visual_settings.viafabricplus.replace_hurt_sound_with_oof_sound": "將受傷聲音替換為 OOF 音效", + "visual_settings.viafabricplus.replace_hurt_sound_with_oof_sound": "將受傷聲音取代為 OOF 音效", "visual_settings.viafabricplus.remove_newer_hud_elements": "移除較新的 HUD 元素", - "visual_settings.viafabricplus.replace_creative_inventory_with_classic_inventory": "替換創造模式物品欄", + "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.enable_sword_blocking": "啟用 1.8 劍阻擋動畫", "visual_settings.viafabricplus.enable_block_hit_animation": "啟用 1.7 阻擋攻擊動畫", + "visual_settings.viafabricplus.disable_server_pinging": "禁用伺服器 pinging", "bedrock.viafabricplus.login": "你的瀏覽器應該已經開啟。\n請輸入以下代碼:%s\n關閉此畫面將取消流程!", "bedrock.viafabricplus.confirm_transfer_server_prompt": "你確定要轉移到以下伺服器?\n%s\n\n這將中斷目前伺服器的連線並連線到新的伺服器。", @@ -99,9 +101,9 @@ "classic4j_library.viafabricplus.error.verification": "使用者尚未驗證電子郵件地址。", "classic4j_library.viafabricplus.error.logincode": "要求多重要素驗證。請檢查你的電子郵件。", - "report.viafabricplus.button": "報告問題", - "report.viafabricplus.bug_report": "在 GitHub 上報告 Bug", + "report.viafabricplus.button": "回報問題", + "report.viafabricplus.bug_report": "在 GitHub 上回報 Bug", "report.viafabricplus.feature_request": "在 Github 上請求新功能", - "report.viafabricplus.create_via_dump": "創建一個 ViaVersion Dump,用於報告問題時收集訊息", - "report.viafabricplus.open_logs": "打開游戲日志目錄" + "report.viafabricplus.create_via_dump": "建立一個 ViaVersion Dump,用於回報問題時收集資訊", + "report.viafabricplus.open_logs": "開啟遊戲日誌目錄" } From 4235543dcbd56631d0fa467444906ab26a09625a Mon Sep 17 00:00:00 2001 From: bluegreensea Date: Tue, 23 Apr 2024 23:28:38 +0800 Subject: [PATCH 5/6] Postpone settings load --- .../florianmichael/viafabricplus/ViaFabricPlus.java | 11 +++++++---- .../viafabricplus/save/SaveManager.java | 2 ++ 2 files changed, 9 insertions(+), 4 deletions(-) diff --git a/src/main/java/de/florianmichael/viafabricplus/ViaFabricPlus.java b/src/main/java/de/florianmichael/viafabricplus/ViaFabricPlus.java index 4f95409f..37d1d249 100644 --- a/src/main/java/de/florianmichael/viafabricplus/ViaFabricPlus.java +++ b/src/main/java/de/florianmichael/viafabricplus/ViaFabricPlus.java @@ -64,13 +64,16 @@ public class ViaFabricPlus { directory.mkdir(); ClassLoaderPriorityUtil.loadOverridingJars(directory); // Load overriding jars first so other code can access the new classes - settingsManager = new SettingsManager(); - saveManager = new SaveManager(settingsManager); - ClientsideFixes.init(); // Init clientside related fixes loadingFuture = ProtocolTranslator.init(directory); // Init ViaVersion protocol translator platform - PostGameLoadCallback.EVENT.register(() -> loadingFuture.join()); // Block game loading until ViaVersion has loaded + settingsManager = new SettingsManager(); + saveManager = new SaveManager(settingsManager); + + PostGameLoadCallback.EVENT.register(() -> { + loadingFuture.join(); + saveManager.init(); + }); // Block game loading until ViaVersion has loaded } public static ViaFabricPlus global() { diff --git a/src/main/java/de/florianmichael/viafabricplus/save/SaveManager.java b/src/main/java/de/florianmichael/viafabricplus/save/SaveManager.java index c3a2bb12..d6b31351 100644 --- a/src/main/java/de/florianmichael/viafabricplus/save/SaveManager.java +++ b/src/main/java/de/florianmichael/viafabricplus/save/SaveManager.java @@ -43,7 +43,9 @@ public class SaveManager { settingsSave = new SettingsSave(settingsManager), accountsSave = new AccountsSave() ); + } + public void init() { // Load save files for (AbstractSave save : saves) { save.init(); From ac6d5b8ee6746b1125f1c477003e5d78c82097e9 Mon Sep 17 00:00:00 2001 From: FlorianMichael <60033407+FlorianMichael@users.noreply.github.com> Date: Tue, 23 Apr 2024 20:22:07 +0200 Subject: [PATCH 6/6] Rename ViaFabricPlus#init --- .../java/de/florianmichael/viafabricplus/ViaFabricPlus.java | 5 +++-- .../viafabricplus/injection/mixin/base/MixinMain.java | 2 +- 2 files changed, 4 insertions(+), 3 deletions(-) diff --git a/src/main/java/de/florianmichael/viafabricplus/ViaFabricPlus.java b/src/main/java/de/florianmichael/viafabricplus/ViaFabricPlus.java index 37d1d249..654d82fc 100644 --- a/src/main/java/de/florianmichael/viafabricplus/ViaFabricPlus.java +++ b/src/main/java/de/florianmichael/viafabricplus/ViaFabricPlus.java @@ -60,7 +60,7 @@ public class ViaFabricPlus { private CompletableFuture loadingFuture; @SuppressWarnings("ResultOfMethodCallIgnored") - public void bootstrap() { + public void init() { directory.mkdir(); ClassLoaderPriorityUtil.loadOverridingJars(directory); // Load overriding jars first so other code can access the new classes @@ -70,10 +70,11 @@ public class ViaFabricPlus { settingsManager = new SettingsManager(); saveManager = new SaveManager(settingsManager); + // Block game loading until ViaVersion has loaded PostGameLoadCallback.EVENT.register(() -> { loadingFuture.join(); saveManager.init(); - }); // Block game loading until ViaVersion has loaded + }); } public static ViaFabricPlus global() { diff --git a/src/main/java/de/florianmichael/viafabricplus/injection/mixin/base/MixinMain.java b/src/main/java/de/florianmichael/viafabricplus/injection/mixin/base/MixinMain.java index 4e2ec221..9b91f2de 100644 --- a/src/main/java/de/florianmichael/viafabricplus/injection/mixin/base/MixinMain.java +++ b/src/main/java/de/florianmichael/viafabricplus/injection/mixin/base/MixinMain.java @@ -33,7 +33,7 @@ public abstract class MixinMain { @Inject(method = "main", at = @At(value = "INVOKE", target = "Lnet/minecraft/util/Util;startTimerHack()V")) private static void bootstrap(CallbackInfo ci) { LoadCallback.EVENT.invoker().onLoad(LoadCallback.State.PRE); - ViaFabricPlus.global().bootstrap(); + ViaFabricPlus.global().init(); LoadCallback.EVENT.invoker().onLoad(LoadCallback.State.POST); }