Magnetization

A Create: Aeronautics addon adding a full magnetism layer for Sable-driven contraptions: emitters that pull or push ships (electromagnets, anchors, tractor beams, repulsor coils, excavators), permanent and temporary magnets.

File Details

magnetization-1.1.4.jar

  • R
  • Jun 14, 2026
  • 1.03 MB
  • 185
  • 1.21.1
  • NeoForge

File Name

magnetization-1.1.4.jar

Supported Versions

  • 1.21.1

Curse Maven Snippet

NeoForge

implementation "curse.maven:magnetization-1543554:8245447"
Curse Maven does not yet support mods that have disabled 3rd party sharing

Learn more about Curse Maven

1.1.4 — Self-pull freeze fix + armor-reaction toggle (from player feedback)

Fixes

  • Build against our blocks by default: right-clicking an interactible emitter (Electromagnet, Anchor, Repulsor, Tractor Beam, Excavator, Permanent/Temporary Magnet) while holding a block now places the block; shift-right-click opens the GUI / flips polarity. Previously you had to sneak just to place a block next to a magnet. Empty hand and non-block items (tools) still interact on right-click as before. New content.blockPlacementFirst toggle (default on; off restores the legacy click-to-interact / sneak-to-place behavior).
  • Permanent & Temporary Magnets no longer claim they take power: both are passive (always-on, no redstone/FE), but WTHIT / Jade / goggles were showing a power-source / energy line copied from the powered emitters. They now report no power (acceptsPower=false), matching the other passive blocks.
  • Magnetic Elytra stays magnetic when armorReactsToFields is off: the new armor-reaction toggle is meant to stop incidental metal armor from yanking a wearer around — but the Magnetic Elytra's whole purpose is magnetic reaction (rail-riding between emitters), so turning the toggle off was wrongly killing it. The Magnetic Elytra is now an explicit exception: it reacts to fields regardless of the toggle, while plain armor still goes inert. Other worn armor on the same wearer stays gated by the toggle.
  • Aircraft no longer pulls on itself / freeze fix: an emitter mounted on a Create: Aeronautics craft previously excluded only the single Sable sub-level it physically sat on. But a craft built with bearings, springs or hinges is several sub-levels joined by physics constraints, so a magnet on the body would yank its own bearing/spring-mounted subgroups around. Beyond looking wrong (the craft pulling on itself), this set up a feedback loop — the magnetic pull fighting the constraint that holds the parts together — which could spike or hard-freeze the physics solver, matching the "tick rate suddenly freezes, have to force quit" reports when moving a craft with active magnets. Emitters now exclude their entire connected assembly (walked via Sable's getConnectedChain), not just the host sub-level. Toggle via physics.excludeConnectedSubLevels (default true; off restores 1.1.x behaviour).

Config accessibility (main-menu editable)

  • Player-facing settings can now be configured from the title screen, before a world exists. Previously the entire config was a single SERVER-type spec — and NeoForge only lets you edit SERVER configs while in a world, so a single player couldn't set worldgen options (biome rarity/enable) before generating the world they applied to. The config is now split: player-facing and worldgen-affecting categories (physics, content, items, tools, worldgen, lightning, compat) moved to a global COMMON spec (config/magnetization-common.toml) editable from Mods → Magnetization → Config at the main menu; admin/server-authoritative categories (guiLimits, debug command-permissions) stay in the per-world SERVER spec. Dedicated servers are unaffected — the owner edits the same common file in config/. (MP note: COMMON values aren't synced server→client; all the moved settings drive server-side logic, so the server's file is authoritative — a client's local copy only affects its own display.)

New config

  • physics.excludeConnectedSubLevels (default true): exclude an emitter's whole assembly from its own force (see above).
  • content.armorReactsToFields (default true): whether worn metal armor makes its wearer react to magnetic fields. Turn off so players (and armored mobs) are no longer dragged toward ores, emitters or any field through their gear — for players who kept getting yanked into ore deposits and hazards. Does not affect intrinsically-magnetizable entities (e.g. iron golems) or ferromagnetic item drops.

Performance

General performance pass (no behaviour change) targeting the lag/freeze reports on busy worlds:

  • Connected-assembly walk is now cached per host with a 1 s TTL. The new self-exclusion check above walks the Sable assembly graph; without caching, every emitter on a magnet-heavy craft re-walked the same graph and rebuilt the same set every tick. Now it's one walk per craft per second, shared across all its emitters.
  • Item-vacuum + anomaly-chaos entity scans now filter during chunk traversal. MagnetizedArmorVacuum and AnomalyMagneticChaos previously materialised every item entity in a large box each pass and filtered afterward; the ferromagnetic/pickup-delay filter is now pushed into getEntitiesOfClass so non-matching items are never collected.
  • Surface-repaint scanner no longer spikes on region entry. The chunk-repaint pass (anomaly/petrified biomes) now (a) skips entirely when both biomes are config-disabled, (b) charges its per-tick budget for every chunk examined, not just chunks painted — so dropping into a fresh region examines at most a few chunks per tick instead of walking the whole render-distance neighborhood in one tick — and (c) reuses a MutableBlockPos instead of allocating per column.
  • Emitter block-path lookup memoised. Each emitter reverse-looked-up its block's registry path every tick for the soft-disable check; it's now resolved once per block-entity.
  • Ship-scan TTL fallback corrected from a stale 100 ticks to the configured 20 when the config spec isn't loaded yet.

Textures

  • Storage-block variety: the refined ingot storage blocks (Block of Magnetite / Maghemite / Pyrrhotite / Hematite / Titanomagnetite) all shared one horizontal-band pattern and only differed by hue. Each now has a distinct pattern built from its own palette — magnetite beveled plates with rivets, maghemite keeps the banding, pyrrhotite a studded diamond-plate, hematite diagonal facets, titanomagnetite a cut-crystal facet — so they read as different materials at a glance. (Raw storage blocks already had their own chunky look and are unchanged.)
  • Hematite ore retexture: the hematite ore (stone + deepslate) read as odd red splatter — its redstone-ore-derived base had big diffuse blobs and an incoherent palette (dark blood-red mixed with washed-out pink). Rebased on the dense, crisp magnetite speck pattern (mirrored so it doesn't look like a recolor of magnetite) with a single coherent metallic-red value ramp, so it now reads as a proper ore alongside the rest of the set.
  • Electromagnet / Kinetic Electromagnet top (electromagnet_top, shared by both blocks): the red "N" was offset down-right and its diagonal was malformed. Redrawn as a clean, centered, rotationally-symmetric glyph on a rebuilt beveled panel (both the idle and active/glowing variants).
  • Lodestone Core block: replaced the flat 2-colour concentric-square with a dark beveled metal casing, corner bolts and a glowing amber magnetic core that tiles cleanly across faces.
  • Repulsor Gun + Magnetic Grapple items: both redrawn from the previous unreadable "tube" silhouette into a matched pair — a clean sci-fi launcher body (receiver, sight, angled grip, trigger guard) with an amber repulsor emitter muzzle on the gun and a red/blue bipolar-magnet head on the grapple. Both now also carry custom held-display transforms so the muzzle points forward instead of back at the player.
  • Magnet-block panel symmetry pass: every dark-panel magnet block (Electromagnet, Temporary/Permanent Magnet, Polarity Inverter, Repulsor, Magnetic Anchor, Magnetic Switch, Tractor Beam, Magnetic Excavator — idle + active faces) had an asymmetric grey bevel in the black panel (grey on the right/bottom, black on the top/left) that read as a dirty corner. The grey bevel is now blacked out for a clean, symmetric panel, while intentional symmetric detail (the switch's diamond ring, coil/winding stripes, anchor frame) is preserved.
  • Lodestone Core re-symmetrised: the casing's directional bevel (light top-left, dark bottom-right) looked inconsistent on a cube-all block; rebuilt with a 4-fold-symmetric concentric frame so every face matches and it tiles cleanly.
  • Guns are now distinct, detailed 3D models: the Repulsor Gun and Magnetic Grapple are voxel models built from a 16-shade palette with baked shading (lighter top decks, darker undersides) and greeble detail. The Repulsor reads as an energy push-cannon — gunmetal body, glowing orange power cell on top, copper barrel with a ring, wide copper bell emitter with an amber/white-hot core. The Grapple reads as a magnetic harpoon launcher — slimmer body, a cable reel on top, a long thin barrel with a steel ring, and red-top/blue-bottom magnet claw prongs with darker tips. They were scaled down (were oversized) and are the model in every context including the inventory icon.

Gun effects

  • Repulsor field is now visible: firing draws the actual conical repulsion volume as expanding particle rings along the look axis, so you can see the area being pushed instead of a thin dotted line.
  • Grapple line reaches the target: while the grapple pulls, a taut particle line is drawn from the player to whatever's being grappled (emitter, ship or magnetized mob), tracking a moving anchor each tick.
  • Muzzle lights up when fired: instead of a particle burst, the gun model itself glows at the nozzle for a few ticks after a shot — a fired item-model property swaps in a variant whose muzzle (Repulsor bell/core, Grapple claw prongs) is white-hot. Driven by a synced fired_at data component.