[READ-ONLY] Mirror of https://github.com/aaronateataco/pets-and-pals. Pets & Pals — client-side companion pets with real presence. Fork/redesign of downloadableduck's Pets Mod.
0

Configure Feed

Select the types of activity you want to include in your feed.

26.3: run without Mod Menu too (its snapshot mixin crashes on I18n.exists)

Same story as YACL - Mod Menu's TitleScreen mixin calls an API the snapshot
removed. The snapshot build no longer implements ModMenuApi or declares the
entrypoint; the Menagerie opens via the keybind. Both come back when the
libraries ship snapshot builds.

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>

aaronateataco (Jul 11, 2026, 10:11 AM +0100) bade96a3 d276e2ed

+9 -15
+1 -1
gradle.properties
··· 12 12 loom_version=1.14-SNAPSHOT 13 13 14 14 # Mod Properties 15 - mod_version=0.14.3 15 + mod_version=0.14.4 16 16 maven_group=io.github.aaronateataco.petsandpals 17 17 archives_base_name=pets-and-pals 18 18
+1 -1
src/client/java/io/github/aaronateataco/petsandpals/PetsClientInitializer.java
··· 431 431 432 432 ClientTickEvents.END_CLIENT_TICK.register((client) -> { 433 433 if (keyMapping.consumeClick()) { 434 - client.gui.setScreen(PetsConfigScreen.getInstance().getModConfigScreenFactory().create(client.gui.screen())); 434 + client.gui.setScreen(PetsConfigScreen.getInstance().getModConfigScreenFactory().apply(client.gui.screen())); 435 435 } 436 436 }); 437 437 }
+3 -6
src/client/java/io/github/aaronateataco/petsandpals/PetsConfigScreen.java
··· 1 1 package io.github.aaronateataco.petsandpals; 2 2 3 3 import io.github.aaronateataco.petsandpals.enums.DuckSkins; 4 - import com.terraformersmc.modmenu.api.ConfigScreenFactory; 5 - import com.terraformersmc.modmenu.api.ModMenuApi; 6 4 7 5 /** 8 6 * Snapshot build: YACL has no 26.3 release yet, so the advanced YACL screen is 9 7 * disabled and the Menagerie is the only config surface. Names/skins return once 10 8 * YACL updates (or once the in-catalog editors land). 11 9 */ 12 - public class PetsConfigScreen implements ModMenuApi { 10 + public class PetsConfigScreen { 13 11 14 12 private static final PetsConfigScreen INSTANCE = new PetsConfigScreen(); 15 13 ··· 19 17 return INSTANCE; 20 18 } 21 19 22 - @Override 23 - public ConfigScreenFactory<?> getModConfigScreenFactory() { 20 + public java.util.function.Function<net.minecraft.client.gui.screens.Screen, net.minecraft.client.gui.screens.Screen> getModConfigScreenFactory() { 24 21 return io.github.aaronateataco.petsandpals.gui.MenagerieScreen::new; 25 22 } 26 23 27 - public ConfigScreenFactory<?> getAdvancedConfigScreenFactory() { 24 + public java.util.function.Function<net.minecraft.client.gui.screens.Screen, net.minecraft.client.gui.screens.Screen> getAdvancedConfigScreenFactory() { 28 25 return io.github.aaronateataco.petsandpals.gui.MenagerieScreen::new; 29 26 } 30 27 }
+1 -1
src/client/java/io/github/aaronateataco/petsandpals/gui/MenagerieScreen.java
··· 168 168 if (net.fabricmc.loader.api.FabricLoader.getInstance().isModLoaded("yet_another_config_lib_v3")) 169 169 this.addRenderableWidget(Button.builder(Component.literal("Advanced settings..."), b -> { 170 170 if (this.minecraft != null) { 171 - this.minecraft.gui.setScreen(PetsConfigScreen.getInstance().getAdvancedConfigScreenFactory().create(this)); 171 + this.minecraft.gui.setScreen(PetsConfigScreen.getInstance().getAdvancedConfigScreenFactory().apply(this)); 172 172 } 173 173 }).bounds(panelX, y, PANEL_WIDTH, 20).build()); 174 174
+3 -6
src/main/resources/fabric.mod.json
··· 25 25 "client": [ 26 26 "io.github.aaronateataco.petsandpals.PetsClientInitializer", 27 27 "io.github.aaronateataco.petsandpals.Central" 28 - ], 29 - "modmenu": [ 30 - "io.github.aaronateataco.petsandpals.PetsConfigScreen" 31 28 ] 32 29 }, 33 30 "mixins": [ ··· 42 39 "minecraft": ">=26.3-", 43 40 "java": ">=25", 44 41 "cloth-config": "*", 45 - "fabric-api": "*", 46 - "modmenu": "*" 42 + "fabric-api": "*" 47 43 }, 48 44 "custom": { 49 45 "modmenu": { ··· 53 49 } 54 50 }, 55 51 "suggests": { 56 - "yet_another_config_lib_v3": "*" 52 + "yet_another_config_lib_v3": "*", 53 + "modmenu": "*" 57 54 } 58 55 }