Skip to content

[26.2 neoforge]TofuFish causes crash due to non-vanilla fluid tag lookup in isEyeInFluid #90

Description

@MCforevers

crash-2026-08-11_18.05.10-server.txt

When only TofuCraftReload and its required dependency Bagus Lib are installed, the game crashes immediately upon spawning a TofuFish or entering a world that contains one. The crash occurs in the server thread while ticking the entity.

Full crash log (paste below or attach file):

---- Minecraft Crash Report ----
// Surprise! Haha. Well, this is awkward.

Time: 2026-08-11 18:05:10
Description: Ticking entity

java.lang.IllegalArgumentException: Cannot look up tracker by tag for non-vanilla fluid: TagKey[minecraft:fluid / tofucraft:soymilk]
at TRANSFORMER/minecraft@26.2/net.minecraft.world.entity.EntityFluidInteraction.getFluidTypeByTag(EntityFluidInteraction.java:255) ~[minecraft-client-patched-26.2.0.57.jar:?] {neoforge:access_transformer}
at TRANSFORMER/minecraft@26.2/net.minecraft.world.entity.Entity.isEyeInFluid(Entity.java:1735) ~[minecraft-client-patched-26.2.0.57.jar:?] {neoforge:access_transformer,neoforge:access_transformer,neoforge:mixin[APP:bagus_lib.mixins.json:EntityMixin from mod bagus_lib]}
at TRANSFORMER/tofucraft@26.2-27.8.0.0/baguchi.tofucraft.entity.path.SoymilkPathNavigation.canUpdatePath(SoymilkPathNavigation.java:26) ~[%5B豆腐工艺重制版%5D%20tofucraft-26.2-27.8.0.0.jar:?] {}
... (full stack trace as in the attached log)

Reproduction steps

Install NeoForge 26.2.0.57 for Minecraft 26.2.
Install Bagus Lib 26.2-27.6.0 and TofuCraftReload 26.2-27.8.0.0.
Create a new world (or load an existing one).
A TofuFish will spawn naturally, or spawn one with a spawn egg.
The game crashes immediately with the above exception.

Analysis
The mod's SoymilkPathNavigation.canUpdatePath() calls Entity.isEyeInFluid(), which in turn calls EntityFluidInteraction.getFluidTypeByTag() using a custom fluid tag tofucraft:soymilk. However, the vanilla getFluidTypeByTag() only accepts vanilla fluid tags (e.g., minecraft:water, minecraft:lava). Passing a modded tag causes an IllegalArgumentException.

This is an API usage issue – the mod should not rely on isEyeInFluid() for custom fluids. Instead, it should check the FluidState directly or use NeoForge's extended fluid detection API if available.

Environment

Minecraft: 26.2
NeoForge: 26.2.0.57
TofuCraftReload: 26.2-27.8.0.0
Bagus Lib: 26.2-27.6.0
Java: 25.0.3

OS: Windows 11

Expected fix
Update the navigation logic to use a proper fluid detection method that supports modded fluids, e.g., checking entity.level().getFluidState(blockPos).getType() or using NeoForge's FluidType registry.

Please fix this to ensure compatibility with NeoForge 26.2. Thank you!

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions