We remove FluidType. Gone. Thanos snapped out of existence.
Or maybe only one if it's not valid for in-world use, or just doesn't flow
Mods SHOULD separate the logic for still/source and flowing fluids so that fluids have more/less data (e.g. flow direction and level) based on their needs
Fluid specific behaviors should be implemented on the fluid:
#forge:is_gaseous
) would do
their alternate flow logic hereNeoForge MAY provide helpers for one or more of the above points
We instead start to use tags to identify multiple fluids that are "related":
Multiple equivalent fluids (e.g. source and flowing fluids) SHOULD be
tagged under something like #mymod:fluid_name
Mods SHOULD treat any two fluids tagged under this tag convention as completely interchangeable
Recipes SHOULD be written using these tags instead of separate recipes for each member fluid, if there is more than one
Q: Is there a scenario where other mods would want to register fluids to this tag? If they have differing textures, it may be undesirable to see fluids change from one form to another
For commonly registered fluids, we MAY encourage a convention tag, e.g.
#c:metal/iron
for iron, #c:steam
for steam, or #c:experience
for
experience
This would be intended for recipes using fluids to be more compatible with each other, just like how item tags work for ores and ingots
We would also likely include set-intersection tags to describe properties
of the fluid, e.g. #c:is_gaseous
, #c:is_liquid
or #c:is_potable
Q: Would mods expect #c:steam
to be water steam, or should we
subfolder this as #c:steam/water
(e.g. to allow #c:steam/heavy_water
)
For any reusable behaviors, especially on entities, modders SHOULD create tags to trigger these behaviors, or halt them:
#neoforge:is_swimmable
#neoforge:is_breathable
#neoforge:is_flammable
updateFluidHeightAndDoFluidPushing
to take the average of
all fluids the entity is in instead of just per fluid type/group
isInLava
or isInWater
to do behavioral changes