Skip to content

Crash when NukeExplosionMK5 (HBM's NTM) tries to update chunk ticket: NullPointerException in DistanceManager.updateChunkForced #894

@IVertinI

Description

@IVertinI

Context

Issue Body
Minecraft Version: 1.21.1
NeoForge Version: 21.1.229
Sable Version: 1.2.2
HBM's NTM Version: 128A
Other Relevant Mods: Distant Horizons 3.0.3-b, Create 6.0.10, Sodium 0.6.13, Iris 1.8.12

Issue Description
The game crashes with a NullPointerException when an entity from HBM's Nuclear Tech Mod (NukeExplosionMK5) attempts to call updateChunkTicket. The crash occurs inside DistanceManager.updateChunkForced because a null ChunkPos is being passed.

Crash Stack Trace (Key Part)
java
java.lang.NullPointerException: Cannot invoke "net.minecraft.world.level.ChunkPos.toLong()" because "p_140800_" is null
at net.minecraft.server.level.DistanceManager.updateChunkForced(DistanceManager.java:217)
at net.minecraft.server.level.ServerChunkCache.updateChunkForced(ServerChunkCache.java:458)
at com.hbm.entity.logic.IChunkLoader.updateChunkTicket(IChunkLoader.java:37)
at com.hbm.entity.logic.NukeExplosionMK5.tick(NukeExplosionMK5.java:62)
Suspected Cause
The crash appears to be related to Sable's level_accelerator mixin, which modifies ServerChunkCache.updateChunkForced. The mixin classes involved include:

sable.mixins.json:level_accelerator.ServerChunkCacheAccessor

sable.mixins.json:plot.ServerChunkCacheMixin

When HBM's NTM tries to force-load a chunk via updateChunkTicket, it passes a null ChunkPos value under certain conditions. The vanilla method or Sable's modified method does not handle this gracefully.

Attempted Workarounds
Checked sable-common.toml and sable-client.toml – no option to disable level_accelerator or chunk-related optimizations

Updating both mods to latest versions did not resolve the issue

Suggestion / Request
Add a configuration option to disable level_accelerator (chunk loading optimizations) in sable-common.toml

Alternatively, add a null check in DistanceManager.updateChunkForced or ServerChunkCache.updateChunkForced to prevent the crash when a null ChunkPos is passed

Reproduction Steps
Install Sable 1.2.2 + HBM's NTM 128A on NeoForge 1.21.1

Detonate a MK5 nuclear bomb (or any explosion that spawns NukeExplosionMK5 entity)

Game crashes immediately when the explosion entity ticks

Full Crash Report

issue report.txt

Crash Report

https://mclo.gs/On3iKzT

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