Mineuniverse
Mods
cataclysm magic compat

cataclysm magic compat

MOD
itis a pure compatibility patch that fixes `NoClassDefFoundError` crashes between T.O Magic 'n Extras 6.3.0 and Cataclysm 3.31 via coremod class transformation, a particle stub-bridge system, and corrected entity tags, adding no new content.
by Jububub
Download Claim this project
6,375 downloads
0 likes
Updated Oct 14, 2026
0 hypes
Addons
Advertisement Remove ads with Premium →

Cataclysm Traveloptics Compat Fix

This is a pure compatibility patch mod. It adds no new gameplay content, items, mobs, weapons, spells, or mechanics.

Its purpose is to keep T.O Magic 'n Extras (Traveloptics) and several related spell mods working correctly with newer versions of Cataclysm and AzureLib by restoring removed classes, adapting changed APIs, repairing broken Mixin targets, and providing runtime compatibility bridges.

What it fixes

1. T.O Magic 'n Extras 6.3.0 ↔ Cataclysm 3.31

Fixes traveloptics_cataclysm_compat crashes caused by Cataclysm 3.31 removing or renaming classes and particle data types.

  • Fixes NoClassDefFoundError for removed particle data classes such as:

    • LightningParticle$OrbData

    • CircleLightningParticle$CircleData

    • Custom_Poof_Particle$PoofData

    • LightTrailParticle$OrbData

    • Lightning_Zap_Particle$ZapData

    • Not_Spin_TrailParticle$NSTData

    • RingParticle$RingData

    • RoarParticle$RoarData

    • StormParticle$OrbData

  • Provides compatibility implementations for the removed particle option data classes and converts them to the real Cataclysm 3.31 Options.* particle records at runtime.

  • Supports synchronization of particle parameters from server to client.

  • Fixes renamed classes:

    • Dungeon_Eye / DungeonEyeItem → DungeonEyeItem

    • Boltstrike_Entity → Bolt_strike_Entity

  • Provides compatibility for removed CMConfig values:

    • HarbingerLightFire

    • HarbingerHealingMultiplier

  • Fixes the ModParticle.SANDSTORM → ModParticle.STORM field rename.

  • Fixes the DeadKingAnimatedWarlockAttackGoal package relocation in Iron's Spells 'n Spellbooks 3.16+.

  • Removes obsolete Traveloptics entity type references from its entity tags:

    • spectral_blink_blacklist

    • aerial_collapse_dr

    • element_fire

These fixes allow Traveloptics features such as its spell effects, particles, entities, and Cataclysm integrations to continue functioning with Cataclysm 3.31+.


2. SomakeSpells 1.0.8 ↔ Cataclysm 3.31

Fixes a client-side Mixin injection failure in SomakeSpells.

SomakeSpells' RendererAltarOfFireMixin redirects a CMRenderTypes.getGlowingEffect(...) call that existed in older Cataclysm versions. The corresponding glow-layer call was removed in Cataclysm 3.31, causing the Mixin to fail during client initialization.

  • Restores the required glow-layer call inside RendererAltar_of_Fire#render.

  • Places the compatibility call after the base model pass and before renderFlamePart.

  • Restores the target invocation required by SomakeSpells' @Redirect.

  • The compatibility glow layer is only enabled when SomakeSpells is installed.

  • Without SomakeSpells, Cataclysm 3.31 retains its native altar rendering.


3. Legendary Spellbooks 0.4.1 ↔ Iron's Spells 'n Spellbooks 3.16.x

Fixes server crashes caused by spell projectiles whose original caster has already disappeared.

Several Legendary Spellbooks projectiles can remain alive after their caster dies or unloads. Their getOwner() call may then return null, which was passed directly to AbstractSpell.getDamageSource(...).

Affected projectiles include:

  • Soul Trident

  • Annihilation Beam

  • Poison Wave

  • Annihilation Arrow

  • Spell Bomb

  • Spell Cloud

  • Annihilation Bomb

  • Fire Pillar

The compatibility patch changes the behavior to:

Owner exists  →  use the original owner
Owner is null →  use the projectile itself as the damage source

Normal behavior is unchanged whenever the original owner still exists.

This prevents NullPointerException crashes during projectile ticking after the caster has disappeared.


4. Cataclysm: Spellbooks 1.2.5 ↔ Cataclysm 3.31

Cataclysm: Spellbooks 1.2.5 was compiled against older Cataclysm APIs and references several classes, fields, and constructors that were removed or changed in Cataclysm 3.31.

Particle compatibility

Provides compatibility for the removed:

  • LightTrailParticle$OrbData

  • StormParticle$OrbData

  • TrackLightningParticle$OrbData

  • RingParticle$RingData

The client-side compatibility bridge converts the legacy particle data into the corresponding Cataclysm 3.31 Options.* records.

This covers particle effects used by features including:

  • Freezing / Molten Bullets

  • Parting Shot

  • Gravitation Pull

  • Thoth's Witness

  • King's Wrath

  • Cursed Frenzy

  • Mechanical Flight Armor

CMConfig compatibility

Restores the removed:

CMConfig.Armor_Infinity_Durability

field for armor and Murasama durability handling.

Renderer compatibility

Redirects the removed:

Ancient_Remnant_Rework_Renderer

reference to the Cataclysm 3.31 renderer:

Ancient_Remnant_Renderer

This prevents client-side renderer registration crashes involving the Phantom Ancient Remnant.

Wither Missile constructor compatibility

Cataclysm 3.31 changed the Wither_Missile_Entity velocity constructor.

The old velocity parameters used by AerialAssaultSpell are converted into the new Vec3 format through a compatibility factory.


5. Cataclysm: Spellbooks 1.2.5 ↔ AzureLib 3.1.x

Fixes compatibility problems caused by the AzureLib 3.1 package and API migration.

Cataclysm: Spellbooks 1.2.5 references AzureLib 3.0.x classes under:

mod.azure.azurelib.rewrite.*

AzureLib 3.1.x removed the rewrite package and moved these classes to:

mod.azure.azurelib.*

The compatibility layer updates AzureLib references across 38 classes, including:

  • Armor renderers

  • Item renderers

  • Animation classes

  • Registration classes

  • Method descriptors

  • Field references

  • Stack frames

  • Generic signatures

  • Inner classes

  • invokedynamic / bootstrap method handles

Additional API changes are also handled:

  • AzArmorRenderer constructor:

    • AzRendererConfig

    • → AzArmorRendererConfig

  • RenderUtils:

    • util.RenderUtils

    • → util.client.RenderUtils

  • CoreGeoBone

    • → AzBone

    • for matchModelPartRot

This prevents both startup crashes and delayed client crashes that would otherwise occur when affected armor, items, or animations are first rendered.


Compatibility Design

This mod does not modify the original mod JAR files.

Instead, it uses runtime bytecode transformations and dedicated compatibility classes to adapt older mods to newer APIs.

  • No new gameplay content

  • No new items or blocks

  • No new mobs

  • No new spells

  • No balance changes

  • No changes to the original mod JARs

  • Optional compatibility targets are only activated when the corresponding mod/classes are present

  • Client-only particle logic is isolated from dedicated-server code

  • Particle data can be synchronized between server and client

  • Compatibility classes are kept in this mod's own package to avoid package conflicts and JPMS split-package issues

Supported Environment

Minecraft: 1.20.1
Forge: 47.4.x
Cataclysm: 3.31+
T.O Magic 'n Extras / Traveloptics: 6.3.0+
Iron's Spells 'n Spellbooks: 3.16+
AzureLib: 3.1.x

cataclysm_traveloptics_compat_fix-1.5.jar
MC Client, 1.20.1, Forge, NeoForge, Server
Release 2026-10-01 Get
cataclysm_traveloptics_compat_fix-1.4.jar
MC Client, 1.20.1, Forge, NeoForge, Server
Release 2026-09-27 Get
cataclysm_traveloptics_compat_fix-1.3.jar
MC Client, 1.20.1, Forge, NeoForge, Server
Release 2026-09-18 Get
cataclysm_traveloptics_compat_fix-1.2.jar
MC Client, 1.20.1, Forge, NeoForge, Server
Release 2026-09-14 Get
cataclysm_traveloptics_compat_fix-1.0.jar
MC Client, 1.20.1, Forge, NeoForge, Server
Release 2026-09-11 Get

More from Jububub

Advertisement Remove ads with Premium →

You Might Also Like