← Назад к ресурсам

Create Collision Crashfix

Fixes the Create 6.0.10 server crash where moving contraptions (pulley/drill quarries) throw NullPointerException "mf.axis" is null

Modrinth optimization utility

Описание

# Create Collision Crashfix A tiny, single-mixin hotfix for a **server-fatal crash in Create 6.0.10** on Minecraft 1.21.1 (NeoForge). ## The problem A moving Create contraption can hard-crash the server tick loop: ``` java.lang.NullPointerException: Cannot read field "x" because "mf.axis" is null at com.simibubi.create.foundation.collision.ContinuousOBBCollider.collideMany(ContinuousOBBCollider.java:153) at com.simibubi.create.content.contraptions.ContraptionCollider.collideEntities(ContraptionCollider.java:166) at com.simibubi.create.content.contraptions.ContraptionHandler.tick(ContraptionHandler.java:54) Description: Exception in server tick loop ``` Once it happens the world usually **crash-loops** on load, because the offending contraption fires the same crash every tick. **When it triggers:** a moving contraption's collision check hits a degenerate, zero-distance case — an entity's bounding-box center lands *exactly* on a contraption block's center on every axis. The most common real-world trigger is a **rope pulley + drill quarry** (e.g. a drill array with the pulley in the center column), but rotating bearings, tree farms with a saw, and similar setups can also hit it. This is an upstream Create bug, present only in **6.0.10** (6.0.9 is unaffected). The official fix is Create PR #10301, milestoned for 6.0.11, which is not released yet. Downgrading to 6.0.9 is not an option for most packs because many Create addons require `create >= 6.0.10`. ### Related upstream reports - Issue #10218 (tracking) — https://github.com/Creators-of-Create/Create/issues/10218 - Issue #10278 — `mf.axis` is null when entity AABB center coincides with contraption block center — https://github.com/Creators-of-Create/Create/issues/10278 - Issue #10344 — https://github.com/Creators-of-Create/Create/issues/10344 - Issue #10353 — https://github.com/Creators-of-Create/Create/issues/10353 - Issue #10378 — contraption collision NPE edge cases — https://github.com/Creators-of-Create/Create/issues/10378 - Issue #10479 — tree farm crashes server when loaded — https://github.com/Creators-of-Create/Create/issues/10479 - Upstream fix: PR #10301 — https://github.com/Creators-of-Create/Create/pull/10301 ## The fix — what changed and why it works Inside Create's `ContinuousSeparationManifold#separate`, the separation `axis` (and `normalAxis`) are recorded **only when the tested distance is non-zero**: ```java if (distance != 0.0 && -diff