Xaero Icon Fix

Client-only Fabric mod for Xaero's Minimap and World Map radar icons: players as head and hat with their own skin, built-in icons for every mob of the Nytheria modpack, fallback icons for any other mob. 1.21.1, needs Fabric API and Xaero's Minimap.
Back to Files

xaeroiconfix-2.0.0.jar

File namexaeroiconfix-2.0.0.jar
Uploader
NavrelisNavrelis
Uploaded
Sep 30, 2026
Downloads
94
Size
741.2 KB
Mod Loaders
Fabric
File ID
9021666
Type
R
Release
Supported game versions
  • 1.21.1

Curse Maven Snippet

Fabric

modImplementation "curse.maven:xaero-icon-fix-1717092:9021666"

Learn more about Curse Maven

What's new

Minecraft 1.21.1 (Fabric), client-only. Built and tested against Xaero's Minimap 26.5.0 and Xaero's World Map 1.46.0. This project is now the main project: the former standalone resource pack "Nytheria Xaero Icons" was merged into this repository (icons/, history kept) and ships inside the mod jar.

Added

  • Built-in icon pack: the jar contains the pack (resourcepacks/nytheria_xaero_icons/, copied from icons/pack by processResources), registered with Fabric API as the built-in resource pack xaeroiconfix:nytheria_xaero_icons, shown as "Nytheria Xaero Icons (built-in)". It is ALWAYS_ENABLED: it cannot be switched off and Minecraft puts it at the top of the pack list whenever it is missing there. Fabric does not pin the position, so a user can still drag another pack above it on purpose. Only registered when Xaero's Minimap is present.
  • Icons for every living mob of the Nytheria modpack: 611 icon definitions (every living entity type of the 2026-09-30 audit of the pack, 658 mods, except the player; NeoForge mods that the modpack loads through the Sporran mod, L_Ender's Cataclysm and Astral Dimension, are included) with 501 sprites: 139 drawn from the mob's own model and texture, 331 from in-game audit portraits, 136 mirrored definitions that only reference sprites of Icon Xaero's 1.22 (83) and Icon Fresh 1.3 (53), and 5 deliberate exceptions (a dot, or model for friendsandfoes:player_illusion). The standalone pack covered 217 mobs.
  • Fallback radar icons for living non-player entities whose icon Xaero cannot build (GeckoLib and other renderers without an EntityModel, EMF/Fresh Animations models that draw nothing, exceptions while building the icon) and for icon definitions whose sprite is missing (its resource pack is off; Xaero 26.5.0 would draw Minecraft's missing-texture icon). The mod renders the entity with its own renderer in a neutral pose (no fire, hurt tint, death tilt, invisibility, name tag or shadow), reduces it to pixel art (one texel per pixel, majority colour) and draws the head from the front if a head part is found, else the whole body, at 2 icon pixels per texel when that fits, else 1, else reduced by whole factors, inside Xaero's 3..61 px icon area. It is drawn into Xaero's icon framebuffer, so Xaero adds the outline and caches the icon per variant. Only failures are replaced: the model form and the sprite forms (normal_sprite, outlined_sprite, sprite) of living non-player entities are wrapped, a sprite that loads is drawn by Xaero as always, item and dot forms are untouched, and players keep their head icon. A sprite counts as missing if its file is not in the enabled resource packs (looked up in the resource manager first, nothing is loaded for a missing file) or cannot be read; such a definition gets the fallback icon instead of Minecraft's missing-texture icon. If the fallback cannot draw anything either (for example particle-only entities such as aether:whirlwind), the entity stays a dot and the log says why once per entity type. Switch off with -Dxaeroiconfix.fallback=false. New mixin RadarIconCreator#create (@WrapOperation on RadarIconForm#getPrerenderer() and @ModifyReturnValue at RETURN, MixinExtras as bundled with Fabric Loader).
  • Audit: /xaeroiconfix audit live all and -Dxaeroiconfix.audit.portraits=failed|all (default failed; an invalid value logs a warning and means failed) export portraits for every living entity instead of only the failed ones. Gradle: -PauditPortraits=failed|all and -PauditFallback=false (passes -Dxaeroiconfix.fallback=false). The report header has a # portraits: ... line. Icons made by the fallback are reported as OK with source fallback (xaeroiconfix).
  • Icon generator tooling in icons/: the committed audit report icons/audit/icon_audit.txt is the mob inventory and the generator fails if a living id has no entry; entries in entities.js, entities_x4.js, entities/<ns>.js and exceptions.js; tools/seed_from_audit.js seeds entries for new audit ids; sync_portraits.js copies the used audit portraits (committed ones are kept unless --refresh); --sheet-new writes contact sheets of the newest entries only.
  • Gradle property nytheria_icons_pack_dir (default icons/pack). The build fails with a clear error if the folder or its pack.mcmeta is missing.

Changed

  • The audit's FAILED now means that neither Xaero nor the fallback could build an icon. OK includes fallback icons.
  • runIconAudit copies the instance's non-Fabric jars (NeoForge mods loaded through the Sporran mod) into run-audit/mods/, because Sporran scans the game dir's mods folder and ignores -Dfabric.addMods; jars left there by an earlier run are removed first. The audit now sees their mobs.
  • Default timeouts: the runIconAudit watchdog is 60 minutes with -PauditPortraits=all (else 30), runIconAuditDev 20 (else 10).
  • The offscreen entity render code of the audit portraits moved from audit/PortraitRenderer into the render package and is shared with the fallback icons.
  • The generator writes only icons/pack and icons/coverage.json, and never reads its own output (the old standalone zip, the built-in pack) as input. sync_portraits.js takes its default source from <repo>/run-audit/xaeroiconfix/portraits.
  • Mod description in fabric.mod.json and the CurseForge texts describe the three parts: player heads, built-in icons, fallback icons.
  • Icon Xaero's 1.22 and Icon Fresh 1.3 should stay enabled: the mirrored definitions reference their hand-drawn sprites. Without them those mobs get the fallback icon (see Added).

Removed

  • The separate resource pack "Nytheria Xaero Icons" is no longer released or needed. If you still have its zip in resourcepacks, remove it.
  • Generator options and outputs of the standalone pack: the zip, dist/ and SHA256SUMS.txt of the pack, --install, --no-zip.

This mod has no additional files