Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Allow externally changing Lithium's blockstate counters #506

Closed
Steveplays28 opened this issue Feb 20, 2024 · 0 comments · Fixed by #508
Closed

Allow externally changing Lithium's blockstate counters #506

Steveplays28 opened this issue Feb 20, 2024 · 0 comments · Fixed by #508
Labels
T-enhancement Type: Enhancement

Comments

@Steveplays28
Copy link
Contributor

Steveplays28 commented Feb 20, 2024

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.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
T-enhancement Type: Enhancement
Projects
None yet
Development

Successfully merging a pull request may close this issue.

1 participant