Skip to content

[Bug]: NeoForge 1.21.1 NPE while recording recipe source details #3

Description

@Exohayvan

Bug description

A telemetry report captured an unhandled NullPointerException while Dissolver Enhanced was querying recipe EMC values after recipes loaded.

Cannot invoke "java.util.List.contains(Object)" because "sourceDetails" is null

Affected code

net.exohayvan.dissolver_enhanced.data.EMCValues.addRecipeSourceDetail
EMCValues.java:999

The current code path retrieves a value from RECIPE_ITEM_SOURCE_DETAILS when the key exists, then calls sourceDetails.contains(...). A present key with a null list value can therefore reach this NPE.

Observed environment

  • Dissolver Enhanced: 1.5.31
  • Minecraft: 1.21.1
  • Loader: NeoForge 21.1.238
  • Java: 21
  • Runtime side: client

Stack trace

java.lang.NullPointerException: Cannot invoke "java.util.List.contains(Object)" because "sourceDetails" is null
    at net.exohayvan.dissolver_enhanced.data.EMCValues.addRecipeSourceDetail(EMCValues.java:999)
    at net.exohayvan.dissolver_enhanced.data.EMCValues.checkRecipe(EMCValues.java:918)
    at net.exohayvan.dissolver_enhanced.data.EMCValues.queryRecipes(EMCValues.java:652)
    at net.exohayvan.dissolver_enhanced.data.EMCValues.startQuery(EMCValues.java:628)
    at net.exohayvan.dissolver_enhanced.data.EMCValues.recipesLoaded(EMCValues.java:578)
    at net.minecraft.world.item.crafting.RecipeManager
    at java.lang.Thread.run

Expected behavior

Recipe-source detail collection should initialize or replace a null list value and continue querying recipes without an exception.

Reproduction status

This came from an anonymized error report. Exact player/session identifiers, account information, IP/device details, and the full mod list are intentionally omitted. A deterministic reproduction is not yet available.

Metadata

Metadata

Assignees

No one assigned

    Labels

    P2High: major functionality is broken or crashes with limited workaroundarea:recipesRecipe loading, querying, snapshots, or derived EMCloader:neoforgeNeoForge-specificstatus:in-progressSomeone is actively implementing ittype:bugA defect or incorrect behavior

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions