File Details
Iron's Botany 1.3.0 (Forge 1.20.1)
- R
- Mar 28, 2026
- 426.62 KB
- 324
- 1.20.1
- Forge
File Name
ironsbotany-1.3.0.jar
Supported Versions
- 1.20.1
Curse Maven Snippet
[1.3.0] - 2026-03-27
Critical Fixes
- Dependencies now mandatory — Botania, Iron's Spells 'n Spellbooks, and Curios are declared
mandatory=trueinmods.toml, matching actual hard requirements. Version ranges tightened to tested baselines - Catalyst registration completely rewritten — Replaced all
Class.forNamereflection withForgeRegistries.ITEMS.getValue()registry lookups. Fixed stale Botania field names:lensVelocity→lens_speed,lensBore→lens_mine,gaiaSpirit→gaia_ingot,terrasteel→terrasteel_ingot. Catalysts now register reliably - Corporea reagent duplication fixed —
SpellCircleReagentSystemwas adding items to player inventory AND dropping them as world entities. Refactored to use newextractFromCorporea()that returns stacks without inventory insertion.autoPlaceComponents()now correctly returnsfalsewhen reagents are unavailable - Mana deletion eliminated in all conversion paths — ManaConduit, SpellReservoir, and ManaHelper now verify conversion yields a result before draining Botania mana. Integer division remainder is preserved by only draining the exact amount that converts cleanly.
SpellReservoirBlockEntity.addMana()now returns the accepted amount so the conduit only subtracts what was actually inserted - Stage 4 non-functional NBT writes removed — Only the WATER trigger (direct
pool.receiveMana()) was functional; all other triggers wrote NBT tags that Botania never reads. Removed dead NBT writes for LIGHTNING, EARTH, NATURE, FIRE, WIND, and ARCANE. Expensive cuboid scan now skipped for non-WATER triggers
Compatibility
- Bellethorn aura typo fixed —
FlowerAuraRegistrationused"botania:bellethorne"(wrong) instead of"botania:bellethorn". Aura now registers correctly - Alfheim integration redesigned — Replaced nonexistent
botania:alfheimdimension check with Alfheim portal block proximity detection. Boost now scales by distance to nearest portal (full at 0, fading at 16 blocks) - Patchouli guidebook now opens — Chronicle of the Green Mage right-click now calls
PatchouliAPI.get().openBookGUI(). Falls back gracefully if Patchouli is absent - Broken
runDatatarget removed — No data providers exist; the Gradle data task has been commented out with a TODO
Integration Fixes
- Casting channels wired into spell execution —
CastingChannelRegistrywas fully implemented but never called. Channels now apply damage, cooldown, and casting speed modifiers duringAbstractBotanicalSpell.onCast() - SpellContext additional effects now applied — Catalyst/aura-granted
MobEffectInstanceeffects fromcontext.getAdditionalEffects()are applied to the caster after spell execution - ACTIVE_AURAS flag now written —
AbstractBotanicalSpellwritesDataKeys.ACTIVE_AURASto player persistent data after scanning for auras, enabling Gaia trial Phase 1 - Gaia trial Phase 1 aura check fixed — Now queries
FlowerAuraRegistry.getActiveAuras()directly instead of reading a stale NBT flag that was never written - Mana payment unified with HUD —
ManaHelper.hasBotaniaMana()/drainBotaniaMana()now useManaItemHandler.getManaItems()/getManaAccesories()to include Curios-slot mana items, matching what the mana HUD displays - BotanicalFocusItem fully functional — Added right-click siphon toggle (
use()override), Curios attribute modifiers (+50 Max Mana, +10% Mana Regen), and fixedcurioTick()to siphon from player's inventory mana items instead of the focus stack itself. Rate-limited to once per second - Projectile pierce implemented —
BotanicalBurstProjectilenow readsmax_pierce/piercingfrom persistent data. Piercing projectiles track hit entities, apply 20% damage reduction per pierce, and only discard after reaching max pierce count - Spark swarm follows owner —
SparkSwarmEntitynow uses storedownerUUIDfor follow-owner behavior: teleports if >16 blocks away, navigates toward owner if >4 blocks, targets only monsters within 8 blocks of owner. Wander goal reduced to fallback priority - Rune Scroll Fusion uses item tags — Replaced fragile
toString().contains("scroll")/contains("rune")matching withironsbotany:spell_scrollsandironsbotany:botania_runesitem tags. Hardcoded English " (Rune Enhanced)" suffix replaced with translatable component - ManaNetworkModifier dimension-safe — Map key changed from
BlockPostoDimBlockPos(ResourceKey<Level>, BlockPos)record. Modifications now only apply to the correct dimension - All remaining reflection eliminated —
SpellDrivenAutomationno longer usesClass.forNameforManaBurstEntity; uses direct entity iteration withinstanceof ManaBurst
Balance
- Gaia's Wrath particle density reduced ~85% — Shockwave loop cut from 100 angles × full radius to 36 angles × half radius steps. Explosion emitter count reduced from 5 to 3
- Flower Shield single-axis — Removed Resistance effect stacking. Shield is now purely a petal HP absorption buffer; breaking it returns the player to full damage exposure
- Manasteel armor set bonus has cooldown — Added 40-tick (2-second) internal cooldown to the 50% mana shield, preventing permanent damage reduction
- TerrasteelSpellBlade naming fixed — Renamed
MANA_COST_UUIDtoCOOLDOWN_UUIDto match the actualCOOLDOWN_REDUCTIONattribute
Added
BotanicalGrimoireItem.java— Dedicated item class for the Chronicle of the Green Mage with Patchouli integrationdata/ironsbotany/tags/items/spell_scrolls.json— Item tag for ISS spell scrollsdata/ironsbotany/tags/items/botania_runes.json— Item tag for all 16 Botania runes- Right-click info display on Spell Reservoir and Mana Conduit (shows stored mana / capacity)
- Comparator output notifications — blocks now call
updateNeighbourForOutputSignal()when stored mana changes - New lang keys: block info display, siphon mode toggle, rune enhanced suffix, updated Alfheim advancement description
Improved
- Swallowed
catch (Exception ignored)inSpellCatalystRegistrynow logs at debug level SpellReservoirBlockexception handler logs at debug instead of silently swallowing