Summary
Opening Mod Menu shows default icons for Essential Commands and EC Core, with repeated Invalid mod icon errors in latest.log. Gameplay is unaffected.
Environment
- Minecraft: 26.2
- Fabric Loader: 0.19.3
- Mod Menu: 20.0.1
- Mod:
essential_commands 0.41.0-mc26.2 (client singleplayer)
- OS / Java: macOS, Java 25
Evidence (from log)
[Render thread/ERROR]: Invalid mod icon for icon source essential_commands: assets/essential_commands/icon.jpg
[Render thread/WARN]: Warning! Mod essential_commands has a broken icon, loading default icon
[Render thread/ERROR]: Invalid mod icon for icon source ec-core: assets/ec-core/icon.jpg
[Render thread/WARN]: Warning! Mod ec-core has a broken icon, loading default icon
Root cause notes
- Main mod (
essential_commands) – fabric.mod.json points at assets/essential_commands/icon.jpg. The file is present in the published JAR (256×256 JPEG), but on Minecraft 26.2 Mod Menu loads icons via NativeImage.read(), which validates PNG headers (PngInfo.validateHeader). JPEG fails that check. Fabric fabric.mod.json docs also specify square PNG icons.
- Nested
ec-core – fabric.mod.json declares assets/ec-core/icon.jpg, but the nested JAR contains assets/eccore/icon.jpg (no hyphen). Same mismatch appears in the 26.x source tree (ec-core/src/main/resources/assets/eccore/ vs manifest path).
Expected
Square PNG icon at the declared path for both mods; Mod Menu shows the real icon with no ERROR spam.
Suggested fix
- Ship
icon.png (or convert existing art) for essential_commands and ec-core.
- Align
ec-core manifest path with the resource folder (assets/eccore/ or rename folder to ec-core).
Notes
- Cosmetic only; no crash or gameplay impact.
- Repro: install Mod Menu, launch client with Essential Commands, open Mods screen.
Summary
Opening Mod Menu shows default icons for Essential Commands and EC Core, with repeated
Invalid mod iconerrors inlatest.log. Gameplay is unaffected.Environment
essential_commands0.41.0-mc26.2 (client singleplayer)Evidence (from log)
Root cause notes
essential_commands) –fabric.mod.jsonpoints atassets/essential_commands/icon.jpg. The file is present in the published JAR (256×256 JPEG), but on Minecraft 26.2 Mod Menu loads icons viaNativeImage.read(), which validates PNG headers (PngInfo.validateHeader). JPEG fails that check. Fabricfabric.mod.jsondocs also specify square PNG icons.ec-core–fabric.mod.jsondeclaresassets/ec-core/icon.jpg, but the nested JAR containsassets/eccore/icon.jpg(no hyphen). Same mismatch appears in the26.xsource tree (ec-core/src/main/resources/assets/eccore/vs manifest path).Expected
Square PNG icon at the declared path for both mods; Mod Menu shows the real icon with no ERROR spam.
Suggested fix
icon.png(or convert existing art) foressential_commandsandec-core.ec-coremanifest path with the resource folder (assets/eccore/or rename folder toec-core).Notes