From 9cf8f10c44eb28ba2d547fab87577ef7d2a1375c Mon Sep 17 00:00:00 2001 From: Cursor Agent Date: Mon, 2 Nov 2026 02:15:11 +0000 Subject: [PATCH] Replace the 1.7 tab with one 1.7 Animations mod The feature groups stay sections inside that mod. Its tile toggle is the master switch: off leaves vanilla 1.8.9, and on keeps each setting as it is. Co-authored-by: seungd --- .../assets/dolphinclient/lang/en_us.json | 1 - .../dolphinclient/config/ui/MenuCatalog.java | 9 +++------ .../modules/hud/HudEditScreen.java | 2 +- .../modules/hud/ModsMenuIcons.java | 1 + .../config/OldAnimationsConfig.java | 17 ++++++++++++----- .../dolphinclient-oldanimations/lang/en_us.json | 2 +- 6 files changed, 18 insertions(+), 14 deletions(-) diff --git a/common/src/main/resources/assets/dolphinclient/lang/en_us.json b/common/src/main/resources/assets/dolphinclient/lang/en_us.json index 4e855dbb0..7a349a57c 100644 --- a/common/src/main/resources/assets/dolphinclient/lang/en_us.json +++ b/common/src/main/resources/assets/dolphinclient/lang/en_us.json @@ -266,7 +266,6 @@ "menu.client.search": "Search...", "menu.client.tab.hud": "HUD", "menu.client.tab.mods": "Mods", - "menu.client.tab.animations": "1.7", "menu.client.tab.settings": "Settings", "menu.client.edit": "Edit", "menu.client.expand": ">", diff --git a/versions/1.8.9/src/main/java/io/github/dolphinclient/config/ui/MenuCatalog.java b/versions/1.8.9/src/main/java/io/github/dolphinclient/config/ui/MenuCatalog.java index b89ccfd07..a5cd26995 100644 --- a/versions/1.8.9/src/main/java/io/github/dolphinclient/config/ui/MenuCatalog.java +++ b/versions/1.8.9/src/main/java/io/github/dolphinclient/config/ui/MenuCatalog.java @@ -48,7 +48,6 @@ public final class MenuCatalog { public enum Tab { HUD, MODS, - ANIMATIONS, SETTINGS } @@ -162,13 +161,11 @@ public static List build() { } /** - * The 1.7 tab lists the feature groups directly. The parent category and - * Misc grab bag are gone, so only the remaining configurable groups appear. + * 1.7 animations are one Mods entry. The category's enabled option is the + * master switch; feature groups stay sections inside that module. */ private static void absorbAnimations(List modules, OptionCategory category) { - for (OptionCategory child : category.getSubCategories()) { - modules.add(moduleFrom(child.getName(), Tab.ANIMATIONS, firstEnabled(child.getOptions()), nodesFrom(child, false))); - } + modules.add(moduleFrom(category.getName(), Tab.MODS, firstEnabled(category.getOptions()), nodesFrom(category, false))); } private static void absorb(List modules, OptionCategory category, Tab tab) { diff --git a/versions/1.8.9/src/main/java/io/github/dolphinclient/modules/hud/HudEditScreen.java b/versions/1.8.9/src/main/java/io/github/dolphinclient/modules/hud/HudEditScreen.java index f296c1201..464e85a3c 100644 --- a/versions/1.8.9/src/main/java/io/github/dolphinclient/modules/hud/HudEditScreen.java +++ b/versions/1.8.9/src/main/java/io/github/dolphinclient/modules/hud/HudEditScreen.java @@ -92,7 +92,7 @@ public class HudEditScreen extends Screen { private int listScroll; private int mouseX, mouseY; private int caretTicks; - private static final int TAB_COLS = 4; + private static final int TAB_COLS = 3; private HudEntry current; private DrawPosition offset; diff --git a/versions/1.8.9/src/main/java/io/github/dolphinclient/modules/hud/ModsMenuIcons.java b/versions/1.8.9/src/main/java/io/github/dolphinclient/modules/hud/ModsMenuIcons.java index 50521d41b..72e6a9365 100644 --- a/versions/1.8.9/src/main/java/io/github/dolphinclient/modules/hud/ModsMenuIcons.java +++ b/versions/1.8.9/src/main/java/io/github/dolphinclient/modules/hud/ModsMenuIcons.java @@ -106,6 +106,7 @@ final class ModsMenuIcons { put("bedwars", Items.BED); put("titles", Items.SIGN); + put("dolphinclient-oldanimations", Items.CLOCK); put("blockingItemUsing", Items.IRON_SWORD); put("sneaking", Items.IRON_BOOTS); put("items", Items.DIAMOND); diff --git a/versions/1.8.9/src/main/java/io/github/dolphinclient/oldanimations/config/OldAnimationsConfig.java b/versions/1.8.9/src/main/java/io/github/dolphinclient/oldanimations/config/OldAnimationsConfig.java index f2ae9513f..94a3259c7 100644 --- a/versions/1.8.9/src/main/java/io/github/dolphinclient/oldanimations/config/OldAnimationsConfig.java +++ b/versions/1.8.9/src/main/java/io/github/dolphinclient/oldanimations/config/OldAnimationsConfig.java @@ -184,6 +184,9 @@ public class OldAnimationsConfig { public final BooleanOption fastGrassItem = new BooleanOption("fastGrassItem", true); public final BooleanOption framedItemRotationOffset = new BooleanOption("framedItemRotationOffset", true); + /** Off leaves vanilla 1.8.9 behavior. On applies each feature's own setting. */ + private final BooleanOption enabled = new BooleanOption("enabled", true); + private final BooleanSupplier[] suppliers = new BooleanSupplier[]{ skullModel::get, fastGrass::get, @@ -201,7 +204,8 @@ public class OldAnimationsConfig { // zombieVillagerHelmetOffset::get, inventoryPressurePlateDimensions::get, mipmapAllBlocks::get, - trapDoorItemPosition::get + trapDoorItemPosition::get, + enabled::get }; private final boolean[] previousStates = { skullModel.get(), @@ -220,18 +224,20 @@ public class OldAnimationsConfig { // zombieVillagerHelmetOffset.get(), inventoryPressurePlateDimensions.get(), mipmapAllBlocks.get(), - trapDoorItemPosition.get() + trapDoorItemPosition.get(), + enabled.get() }; /** - * The 1.7 features no longer have a master switch: every one of them is - * individually configurable, which makes a global toggle redundant. + * Master switch for every 1.7 feature. Off leaves vanilla 1.8.9 behavior; + * on, each feature still follows its own setting. */ public static boolean isEnabled() { - return true; + return instance.enabled.get(); } public void initConfig() { + category.add(enabled); category.add(blockingItemUsing); blockingItemUsing.add( blockHitting, @@ -444,6 +450,7 @@ private void reloadResources() { } else if (i == 1 || i == 4 || i == 7 || i == 9) { reloadWorld = true; } else { + // Every other supplier, including the master switch at the end, rebakes resources. needsReload = true; } } diff --git a/versions/1.8.9/src/main/resources/assets/dolphinclient-oldanimations/lang/en_us.json b/versions/1.8.9/src/main/resources/assets/dolphinclient-oldanimations/lang/en_us.json index 8a7b78dc5..c9abb5ccd 100644 --- a/versions/1.8.9/src/main/resources/assets/dolphinclient-oldanimations/lang/en_us.json +++ b/versions/1.8.9/src/main/resources/assets/dolphinclient-oldanimations/lang/en_us.json @@ -1,5 +1,5 @@ { - "dolphinclient-oldanimations": "Old Animations", + "dolphinclient-oldanimations": "1.7 Animations", "blockingItemUsing": "Blocking/Item Using", "sneaking": "Sneaking", "items": "Items",