Better Snow Golem — Minecraft 1.21.1 full audit build
Version: 1.0.4+1.21.1-fullaudit

Purpose
- Backport the final 1.21.11 behavior to Minecraft 1.21.1.
- Fix the entire unsafe damage-callback bridge pattern, not only the latest crash site.

Crash fixed from user runtime 1.0.3
- Ticking Villager crashed in snowGuardian$retaliateAgainstSnowGolem.
- Cause: the 1.21.1 wrapper unconditionally cast LivingEntity `this` to Slime before the original 1.21.11 instanceof guard could execute.
- Previous related crash: the friendly-fire wrapper unconditionally cast LivingEntity `this` to SnowGolem.

1.0.4 bridge design
- snowGuardian$preventGolemFriendlyFire wrapper: no synthetic entity/world CHECKCAST.
- snowGuardian$retaliateAgainstSnowGolem wrapper: no synthetic entity/world CHECKCAST.
- Both wrappers delegate to the preserved 1.21.11 logic, whose type narrowing is guarded with instanceof.
- The compatibility ServerWorld parameter is unused by both preserved implementations and is passed as null instead of manufactured with a cast.

Static validation
- Configured mixins: 19 total (16 common/server + 3 client).
- Every configured mixin class has RuntimeInvisible @Mixin metadata (correct CLASS retention for Mixin 0.8.7).
- Mixin-like method selectors missing in Minecraft 1.21.1 index: 0.
- Explicit @At method/field targets missing: 0.
- Potential unguarded narrowed self-casts across configured mixins: 0.
- Mod classes scanned: 43.
- Minecraft member references scanned: 779.
- Hard unresolved Minecraft/Fabric references: 0.

Scanner soft findings verified as inherited/default methods, not missing runtime members
- Hand.ordinal() -> inherited from java.lang.Enum.
- RegistryEntry.equals(Object) -> inherited Object method/interface resolution.
- TradeOfferList.stream() and add(Object) -> inherited from java.util.ArrayList.
- FabricItemGroupEntries.method_45421(ItemConvertible) -> inherited/default ItemGroup Entries interface method; target interface contains the method on 1.21.1.

Archive integrity
- JAR ZIP integrity check: PASS.

Important limitation
- This environment does not contain the full runnable Fabric client/server installation, so this is a static + bytecode audit, not a claim that every gameplay branch has been live-played here.
