Botania (Fabric/Quilt)

Botania (Fabric/Quilt)

5M Downloads

Gaia traps look odd

anoomolu opened this issue ยท 4 comments

commented

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.

image
image

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

commented

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:
Screenshot of an active Gaia Ritual with Botania r1.10-364.4
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.
1.20.1 screenshot of a hopperhock's radius shape hiding a gaia pylon and part of the beacon beam

commented

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

commented

I guess it serves as a backup way to show where the mines are if you happen to have particles disabled in minecraft

commented

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

  1. Use fabulous graphics for transparency sorting
  2. 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.