PorkStudios / FarPlaneTwo

Level-of-Detail renderer in Minecraft. Allows for render distances of millions of blocks. (Cubic Chunks-compatible) (WIP)
https://daporkchop.net/
Other
1.45k stars 48 forks source link

Abstract away from just about everything #136

Open DaMatrix opened 2 years ago

DaMatrix commented 2 years ago

This is a huge PR (which, in retrospect, probably should have been broken up into multiple smaller PRs). In combination with #117, it makes the vast majority of the codebase be able to operate entirely independently of the Minecraft version being used.

Additional major changes include:

With the exception of the :gl module and children (which are handled by #117), nearly everything is affected in some way.

Known shortcomings:

nickcat325 commented 2 years ago

I've tested this and it works well. You should mark this for review.

DaMatrix commented 2 years ago

there is still some work required before i can merge this: most importantly, i need to make heightmap mode actually work with the abstracted API, which i'm currently doing on dev/abstract-heightmap-gen.

once that's done, i also still want to do a last round of refactoring in order to minimize the amount of duplicated code between versions, and move more stuff to the :api module to make it more useful.