mxt-1.0-beta.7.jar
Curse Maven Snippet
What's new
Breaking Changes
1. Saturn Lib is now a required dependency
saturnis declared as a hard requirement inneoforge.mods.toml; the mod no longer ships standalone.- ApricityUI minimum raised to
1.2.9.
2. The framework moved to Saturn (Java API break)
Roughly 500 classes left this mod. If you compile against MiXianTu, these packages no longer exist:
| Removed from MiXianTu | Now lives in |
|---|---|
data/action, data/condition, data/cost, data/trigger, data/storage, data/timeline, data/resource, data/resourcebar |
com.iafenvoy.saturn.data.* |
attachment/AbilityAttachment, ResourceHolderAttachment, TriggerCooldownAttachment |
com.iafenvoy.saturn.attachment.* |
screen/hud, screen/resourcebar (renderers, overlays, blocks) |
com.iafenvoy.saturn.screen.* |
event/* ability/trigger/resource events (including everything formerly in event/dispatcher/) |
com.iafenvoy.saturn.event.* |
api/ItemUseCycle, api/package-info |
com.iafenvoy.saturn.api.* |
util/chain, util/codec, util/formula, util/matcher, util/dispatcher, util/profiling, util/function, util/math |
com.iafenvoy.saturn.util.* |
registry/cache/* (registry, chain, formula-name, order, reverse-mapping caches) |
com.iafenvoy.saturn.registry.cache.* |
runtime/ability/*, runtime/resource/*, runtime/trigger/*, runtime/hold/*, runtime/EntityTickStages, runtime/resulting/* |
com.iafenvoy.saturn.runtime.* |
KubeJS bindings/callbacks/codecs (compat/kubejs/**), loot functions and conditions |
Saturn |
| Ability / trigger / resource / HUD / profiler commands | Saturn |
3. Datapack registry namespace changed: mxt → saturn
The four framework registries were re-namespaced. Entry IDs are unchanged; only the registry directory moves.
| Before | After |
|---|---|
data/<pack>/mxt/ability/*.json |
data/<pack>/saturn/ability/*.json |
data/<pack>/mxt/trigger/*.json |
data/<pack>/saturn/trigger/*.json |
data/<pack>/mxt/resource/*.json |
data/<pack>/saturn/resource/*.json |
data/<pack>/mxt/incomplete/*.json |
data/<pack>/saturn/incomplete/*.json |
Packs that keep the old path silently load nothing. The mod's own files (mxt/aura, mxt/rift, mxt/technique, mxt/artifact, mxt/element, …) stay where they are.
4. Result / Failure model reworked
Result<T>is a sealed interface withSuccessResult/FailureResult; a failure carries no data, and "no return value" isResult<Void>(Result.success()).Failureisname()/source()/resource()(Optional) /key()/message(); attaching a resource is explicit viafailure.withResource(id), which producesLocatedFailure.getData()andgetFailure()returnOptional.isSuccess()is gone — useinstanceof Result.SuccessResult<?>/Result.FailureResult<?>.- Deleted:
ResultWithData,PaymentResult,PressResult,UseResult,ChannelResult, and theFailures.located/Failures.eitherhelpers.Failureskeeps only its constants plusfailureMessage(Optional<Failure>);Result.either()replaces the old helper. - New:
MessageFailure(attaches readable text to a failure, now used for rift template codec errors) andRiftFailurewith 11failure.mxt.rift.*translation keys.
5. Rifts were rewritten
- The old
mxt:riftblock, block entity, block state and renderer are deleted; worlds containing them lose those blocks. The idmxt:riftis now an item (Rift Anchor). - Rifts are data-driven geometry: templates under
data/<pack>/mxt/rift/*.json(shape,placement,destination,appearance,duration_ticks,enabled), stored in a world attachment plus per-chunk attachments, kept loaded by chunk tickets. - The Rift Anchor opens the editor, places rifts and (shift-click) writes a destination.
6. Aura is fractional (int → double)
Inventory, costs, display and sync all moved to double, so aura no longer rounds to whole units. Cost plumbing was split into AuraCostSource / AuraCostSources / CostOrigins; CostChannel and CostOrigin are gone. Spirit crafting state is now synced to the client with a dedicated payload.
Features
- Profiler +
/mxt debug— frame/aggregate profiling with window snapshots, source subscriptions with permission checks, and an in-game profiler screen (charts, per-source tips) backed by new S2C/C2S payloads. - Tick dispatcher —
TickDispatcherwith fixed/random intervals, pluggable execution limits and rescheduling; the aura section maintenance and rift refresh now run on it. - Light beam particles — the old laser particle is replaced by
light_beamgeometry with its own vertex/fragment shaders and mesh/group/frame structures. - World effect drawing —
EffectDraw/EffectFrame/EffectTargets/SceneDepth/WorldEffects, with the neweffects.scene_depthclient switch for depth-aware effects. - New rift system — data-driven shapes and destinations, chunk-ticket keep-alive, landing search with diagnostics, an in-game editor (toolbar + viewport), admin commands (
/mxt rift spawn|target|edit|info|remove|duration|enabled|copy|transform|export), and preset/layout export. - Hold (item use cycle) system — items can declare a fixed-duration use gesture (id, duration, animation) resolved per side through
ResolveItemUseCycleEvent; item bindings, talismans and jade slips now run on it, andTemporaryUseComponentis gone. - Item binding cache — item matchers resolve through a cache instead of re-walking definitions.
- Aura zone bar —
AuraZoneBarContributorfeeds the zone's aura into Saturn's resource bar. - Events that were internal (
event/dispatcher/*) are now public API events.
Fixes
- Aura queries no longer load chunks they do not need; the ticker, distribution service and block-aura service were reworked around that.
- Resource bar rendering fixed (the Apricity canvas mixin and the old overlay were removed in favour of contributors).
- Rift editor and assorted field fixes.
This mod has no additional files

