Gaia traps look odd
anoomolu opened this issue ยท 4 comments
Mod Loader
Fabric
Minecraft Version
1.20.1
Botania version
1.20.1-444
Modloader version
Fabric Loader 0.15.11, API 0.92.2
Modpack info
No response
The latest.log file
n/a
Issue description
On 1.20.1 (and a few other versions but I haven't really been keeping track) the purple particles spawned by the Gaia (Gaia traps) look kinda weird. The purple squares are visible when they probably shouldn't be. This is without Embeddium/Sodium.
Steps to reproduce
/place template botania:gaia_ritual
Pop a terrasteel/gaia ingot into the beacon
Whack the Gaia once or twice
Observe
Other information
No response
Can you describe a bit more in detail what you mean?
Below is a screenshot from the gaia fight on Minecraft 1.12.2, and it also shows those purple squares:
I'm not sure I see a particularly relevant difference, apart from glass looking way nicer nowadays.
[edit]
I think I see the problem, and it's not specific to the gaia traps, but also happens when rendering flower range shapes: Any beacon beam, floating flower, or pylon on the other side of the shape becomes invisible. Same goes for transparent (not cut-out, like clear glass or beacon blocks, but actually alpha-rendered, like stained glass or water) blocks.
I could have sworn the traps didn't have a square below them on older versions, feel free to disregard that part of the issue then. Would look nicer without though :P
I guess it serves as a backup way to show where the mines are if you happen to have particles disabled in minecraft
This is probably a draw-order thing. World transparent/translucent stuff is buffered and drawn all at once at the end of the frame, while RenderTypes without a dedicated BufferBuilder are flushed immediately. The traps are probably drawn before transparent/translucent blocks, so they don't alpha blend properly.
The solution is either
- Use fabulous graphics for transparency sorting
- Allocate an explicit BufferBuilder for the RenderType so it gets drawn at the end of the frame. We used to do something similar for Pool carts.