Lithium (Fabric)

Lithium (Fabric)

22M Downloads

Allow externally changing Lithium's blockstate counters

Steveplays28 opened this issue ยท 0 comments

commented

Is your feature request related to a problem? Please describe.
Noisium and Big Globe use a performance optimisation during world generation that directly sets blocks in the palette instead of using setBlock().
Currently, both Noisium and Big Globe increment vanilla's blockstate counters for parity, which works fine for vanilla, but not for Lithium. Lithium has custom blockstate counters that need to be set for underwater entities to behave correctly, such as squids and fish. If these blockstate counters are not set correctly during worldgen, it will cause underwater entities to fall and drown in water.

Describe the solution you'd like
A way for other mods to increment Lithium's blockstate counters using an API. Moving the implementation out of the mixin would probably be required.

Describe alternatives you've considered
Calling Minecraft's vanilla blockstate counter method, instead of manually incrementing vanilla's blockstate counters. This is expensive though and would be very suboptimal.

Additional context
See also Steveplays28/noisium#10. Included in that issue is a video showing the issue.