PneumaticCraft: Repressurized

PneumaticCraft: Repressurized

57M Downloads

In-world yeast growth has positional and directional issues

Vectrobe opened this issue ยท 12 comments

commented

Describe the bug

This took a bit of tomfoolery to figure out what was wrong, but eventually I found out its because of how position and direction in lines 56 and 59 is used, which ends up with the only ever valid position and direction for yeast propagation, to be from yeast placed directly above a water source with the sugar already floating on top of the water. Water being above the yeast immediately deletes the yeast source and the normal expected method of going around any X or Z neighbours just doesnt do anything at all.
https://github.com/TeamPneumatic/pnc-repressurized/blob/0c1d5843cb5f895cb0b31522c76a8077a5c7ad6b/src/main/java/me/desht/pneumaticcraft/common/fluid/FluidYeastCulture.java#L59C1-L59C57

How to reproduce the bug

X and Z directions with sugar dropped in
Image

Yeast in bottom > sugar dropped in > water placed when sugar floats > water just deletes the yeast anyway (but with a flow block, not a second water source)
Image

however the inverse; water in bottom > sugar and wait for it to float > yeast on top and immediately the water is converted, with one sugar consumed in the stack as expected
Image
Image

Expected behavior

well this of course

Image

Additional details

No response

Which Minecraft version are you using?

1.21

Which version of PneumaticCraft: Repressurized are you using?

8.2.9

Crash log

No response

commented

In fact further still just letting the sugar float on the top yeast and replacing the one below with water, repeats the recipe as normal, so for some reason only the down direction is being performed, which seems to point towards something wrong with the Direction and/or BlockPos classes themselves, but I'm not sure how

commented

I'm wondering if switching the neo version from .69 to something newer and rebuilding might just fix the issue on its own, havnt found anything specific in the neo releases changelog but it does just seem like one of those things a miss-match with deobfuscation can cause

commented

Sorry haven't had a chance to look at this yet (busy IRL), but it's on my list.

commented

the problem is that the yeast fluid block is not ticking unless specifically a block update occurs in the space it would spread to

That's intended behaviour and is explicitly documented in the manual, on the last page of the "Yeast Culture" entry.

commented

I just had a play with this, and I'm not having a problem getting it to convert, with water horizontally adjacent to the yeast.

See this example: https://streamable.com/vw91fk

When the water source block forms next to the yeast, it's converted within a second into another yeast block, assuming there's still sugar in the first yeast block.

commented

you know what, just figured it out, the problem is that the yeast fluid block is not ticking unless specifically a block update occurs in the space it would spread to, so for example placing a slab inside the water block it would spread to, and then removing it, triggers the yeast block to tick

Image

Image

Image

piston method also works, but not reliably, the yeast flow and source blocks also get pushed by the piston instead of being replaced as normal fluids would, not sure if this should be intentional or not...

commented

or at least the yeast flow block shouldnt be pushed like it currently does, since this results in undefined behavior

commented

oh and to further clarify as well; tested with neoforge build 69 as well as 133, behavior was identical between them

commented

I created another simple instance on prism launcher, with just neoforge 1.21.1.133 and PNC 8.2.12 on modrinth, issue exists on a simple flatworld

Image

commented

I checked again in the manual and it specifically mentions placing water to be the trigger, however in testing this wasnt the case, placing the water would do nothing, but placing a slab in the same water and removing it would, so not sure why placing the water doesnt trigger a tick, much in the same way that the piston method sometimes just doesnt work...

commented

That will be fixed in the next mod release

commented

the yeast flow and source blocks also get pushed by the piston instead of being replaced as normal fluids would

Just ran into this extremely odd behaviour myself, surely this bit at least is unintended?