chunky-dev / chunky

A path tracer to create realistic images of your Minecraft worlds.
https://chunky-dev.github.io/docs
GNU General Public License v3.0
643 stars 76 forks source link

Split World and Dimension into their own classes #1611

Closed NotStirred closed 1 year ago

NotStirred commented 1 year ago

Split the concepts of Dimension and World into their own class, World handles per-world data, and loading Dimensions Dimension handles regions, chunks, loading chunks, and any per-dimension data.

There is no API for detecting the format of a world or dimensions within it, hopefully that can come in the next PR

This PR properly loads a world with one or more vanilla dimensions, and one or more CubicChunks dimensions (previously the entire world was either vanilla or CubicChunks)

NotStirred commented 1 year ago

This PR has some reasonable change of breaking plugin api actually many of the listeners ChunkDeletionListener, ChunkTopographyListener, ChunkUpdateListener are now registered on Dimension instead of World. I'll add a deprecated method to World that just redirects to the current loaded dimension

NotStirred commented 1 year ago

(force push to drop redundant plugin api commit)