File Details
usefultoolsmod-2.2.2-1.21.1-neoforge.jar
- R
- May 10, 2026
- 2.04 MB
- 12
- 1.21.1
- NeoForge
File Name
usefultoolsmod-2.2.2-1.21.1-neoforge.jar
Supported Versions
- 1.21.1
Curse Maven Snippet
Fixed
- Spectral / Spectral-Infused armor mix-and-match — wearing a mix of native Spectral armor and ectoplasm-infused pieces now correctly hides the player from Ghosts. Previously the check was either-or (4 native or 4 infused), so any mixed loadout failed both branches and Ghosts could still see the player.
(EctoplasmArmorHelper.isGhostInvisible)
- Spectral-Infused armor tooltip — infused armor incorrectly showed "Can damage Ghosts". Armor doesn't damage Ghosts; tools/weapons do. Infused armor now reads "Hides you from Ghosts"; the damage line stays on tools and weapons. (new lang key tooltip.usefultoolsmod.ecto_armor_invisibility)
- Ghost spawn egg ignores config rate — using a Ghost Spawn Egg (or /summon, breeding, etc.) only succeeded ~15% of the time because ServerEntityEvents.ENTITY_LOAD was discarding any Ghost that failed Config.ghostSpawnChance, regardless of how it spawned. The rate gate has been moved into the
SpawnRestriction predicate (GhostEntity::checkGhostSpawnRules), which Minecraft only consults during natural spawning. Spawn eggs and commands now always succeed; the kill-switch (ghostEnabled = false) still discards on load. Matches the 1.20-Fabric behavior.
- Ghost spawn location restored to mid-air — SpawnRestriction was registered with SpawnLocationTypes.ON_GROUND, requiring solid blocks beneath spawn candidates. Ghosts fly with noGravity = true, so the 1.20-Fabric port used NO_RESTRICTIONS to allow floating spawns. Switched to
SpawnLocationTypes.UNRESTRICTED (the 1.21.1 equivalent) so natural spawns can occur in open air again.
- Removed two orphan advancement files (rgold_from_blasting_rgold, rgold_from_smelting_rgold) that referenced non-existent recipes — leftovers from the original 1.20-Forge JSON migration.
- Datagen completeness: ModBlockTagProvider and ModRecipeProvider were missing 14 block tags (3 needs_* + 11 incorrect_*) and the grenade/dynamite recipes. The static resources covered them at jar build time, but a fresh runDatagen would have lost them. Backfilled both providers.
- Spectral / Infused armor tooltip clarity — both tooltips now lead with "Full Set:" and use the same DARK_GREEN styling as other full-set lines, making it obvious the ghost-hiding effect requires a complete 4-piece set (any mix of native Spectral and Spectral-Infused). Was: "Ghosts will avoid you" /
"Hides you from Ghosts" in plain gray.

