Skip to content

NullPointerException: MassTracker.getCenterOfMass() is null when minecart contraption ticks on dedicated server #909

@lucas2772

Description

@lucas2772

Context

Server crashes when a minecart contraption is mounted by a player on a dedicated server. The crash does not occur in singleplayer.

Root cause:
java.lang.NullPointerException: Cannot invoke "org.joml.Vector3dc.negate(org.joml.Vector3d)"
because the return value of "dev.ryanhcode.sable.api.physics.mass.MassTracker.getCenterOfMass()" is null
at AbstractContraptionEntity.sable$buildProperties(AbstractContraptionEntity.java:3161)
at AbstractContraptionEntity.handler$dca000$sable$contraptionInitialize(AbstractContraptionEntity.java:3094)
at AbstractContraptionEntity.tick(AbstractContraptionEntity.java:374)
Environment:

Minecraft: 1.21.1
NeoForge: 21.1.229
Sable: 1.2.2 (bundled via Create Aeronautics 1.2.1)
Create: 6.0.10

To reproduce:

Run a dedicated server with Create + Create Aeronautics + Sable
Have a player mount a minecart contraption
Server crashes on the first tick

Notes:
Works fine in singleplayer. The MassTracker center of mass appears to not be initialized in time when the contraption entity ticks as a passenger on a dedicated server.

Crash Report

https://mclo.gs/drAUfJ3

Metadata

Metadata

Assignees

No one assigned

    Labels

    type: crashSomething crashes my game

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions