Ore Stages

Ore Stages

6M Downloads

Ability to mask blocks as fluid sources

Biochao opened this issue ยท 4 comments

commented

I'm trying to hide a block that spawns in water by masking it as "minecraft:water" but the mask shows up as a solid missing texture block.

Is it possible to mask blocks as fluids?

commented

By default, you can not hide blocks as blocks without items. You will have to use something like addReplacementById(String stage, String original, String replacement) instead.

commented

That's the method I used.

mods.orestages.OreStages.addReplacementById("hidden", "uselessores:ore_water", "minecraft:water");

commented

That's very interesting. Perhaps fluids are another special case exemption and can not be replaced. Even if you could, I think the normal water block would not connect. Like when you have glass or a fence in water.

commented

You can replace everything that is not water or lava. Something like hidding quicksand (biome o' plenty) with primal mana (thermal foundation) works but as soon as one side has water or lava in it, it won't work anymore.

That is perhaps the reason: https://forums.minecraftforge.net/topic/42318-1102-water-liquid-block-model/

Vanilla liquids bypass the baked model system, they're rendered by

BlockFluidRenderer

. Forge provides the

ModelFluid

model (

forge:fluid

) to render modded fluid blocks with the baked model system.

If you extend

BlockFluidBase

, you can probably override

BlockFluidBase#getFluidHeightForRender

to control the render height.

At least as I read through the issues you mentioned you use baked models.