diff --git a/neoforge/src/main/java/dev/ryanhcode/sable/neoforge/mixin/compatibility/create/contraptions/AbstractContraptionEntityMixin.java b/neoforge/src/main/java/dev/ryanhcode/sable/neoforge/mixin/compatibility/create/contraptions/AbstractContraptionEntityMixin.java index 36da64b6..b409e627 100644 --- a/neoforge/src/main/java/dev/ryanhcode/sable/neoforge/mixin/compatibility/create/contraptions/AbstractContraptionEntityMixin.java +++ b/neoforge/src/main/java/dev/ryanhcode/sable/neoforge/mixin/compatibility/create/contraptions/AbstractContraptionEntityMixin.java @@ -179,8 +179,9 @@ public CompoundTag saveWithoutId(final CompoundTag nbt) { this.sable$massTracker = null; return; } - - final Vector3d temp = this.sable$massTracker.getCenterOfMass().negate(new Vector3d()).add(0.5, 0.5, 0.5); + var centerOfMass = this.sable$massTracker.getCenterOfMass(); + if (centerOfMass == null) return; + final Vector3d temp = centerOfMass.negate(new Vector3d()).add(0.5, 0.5, 0.5); for (final FloatingBlockCluster cluster : this.sable$floatingClusterContainer.clusters) { cluster.getBlockData().translateOrigin(temp); }