TinyModularThings / Chunk-Pregenerator-Issue-Tracker

Issue Tracker & Wiki For Chunk Pregenerator
15 stars 0 forks source link

[1.7.10] Compatibility with Terrafiramcraft+'s non-zero X/Z spawn coordinates #53

Closed eggplantedd closed 3 months ago

eggplantedd commented 3 months ago

Hi,

In Terrafirmacraft+, a number of factors such as ambient temperature are based on the latitude Z coordinate, where Z = 0 is considered the equivalent of Earth's equator and Z = -/+27,000 is equivalent of Earth's cold, polar areas.

As the Wiki says, "Players will always spawn in the northern half of the map, during the season of early summer." Whilst Longitude X coordinate doesn't affect anything, it is also non-zero too.

Hence the Chunk Pregenerator (of which I've mainly been using the preview) starting always at X = 0 Z = 0 means chunks aren't pregenerated starting where the player actually spawns. It will correctly generate chunks at those coordinates, just not relevant.

Screenshots illustrating -

Chunk pregen preview screen:

1

X = 0 Z = 0 in-game with Journeymap (preview is correct):

3

Where the player actually spawns:

2

Terrafirmacraft+ source is an attached file - https://www.curseforge.com/minecraft/mc-mods/terrafirmacraftplus/files/3779225/additional-files

Speiger commented 3 months ago

@eggplantedd yeah that is a incompat with terrafirmacraft. But i don't plan to fix this incompat due to big changes required to make this work. The preview is pretty hardcoded in what functionality is supports. Mainly because of optimizations.

eggplantedd commented 2 months ago

@Speiger Sorry I didn't get back to you sooner on this, but would it be possible for you to elaborate on why the preview is pretty hardcoded in what functionality in supports?

Really just asking in layman's terms what the big changes could be. Just for future reference.

Speiger commented 2 months ago

@eggplantedd the TLDR of it is. How the Texture Uploading, the chunk storage and the entire UI has been implemented relies on the fact that the position is 0, 0. It requires a considerable rewrite to implement offsets into the gui and also make it userfriendly enough to not break it entirely.

On top of that, the UI is designed to only take up so much VRam/Ram/DiskSpace and making an effectively infinite version simply blows that out of proportion. or to simplify it even more: It was designend with 0 0 in mind and that that wouldn't change