mcaselector icon indicating copy to clipboard operation
mcaselector copied to clipboard

Color corruption in map rendering, 1.16.x

Open Dasawkem opened this issue 3 years ago • 2 comments

Describe the bug

For the longest time, when using MCA selector with this world, the visuals just eventually became garbled at some point and I haven't been able to fix it since. I have added and deleted lots of mods with this world, which perhaps played a part in messing with the visuals of the world image, perhaps. Its functionality in regards to deleting chunks appears to work fine, and I have no problem with it, assuming I make sure that I clearly locate the areas I don't wish to delete. I have tried scaling altitude (which does help in getting some terrain details for reference, but still visually is garbled), clearing caches, and updating MCA (from 1.16.2 to 1.16.3) but that did not help my issue either.

In discussions with another player who shared this issue, it may possibly be because of the 1.12.2 mod JustEnoughIDs? In my case, I'm using JustEnoughIDs version 1.0.3-55, specifically.

Again, I'd like to clarify MCA still functions as intended in helping me prune chunks just fine, just this (seemingly) purely visual issue makes it a bit harder on me.

To Reproduce

The debug.log file

Since I'm genuinely unsure how this came to be, I don't quite have any way to reproduce it, it's just like this for me now.

A way to reproduce it is, maybe:

If perhaps because of JustEnoughIDs:

  1. Generate new world
  2. Open and load world at least once, exit game.
  3. Install JustEnoughIDs.
  4. Load up world, close out
  5. Try opening world save in MCA, see if visuals are odd.

If that doesn't reproduce the issue, then:

  1. Install various mods, probably ones that add biomes or edit the world visibly?
  2. Load world with said mods
  3. Delete mods
  4. Add and delete more if needed
  5. ??? Maybe ends up with my problem?

Expected behavior

MCA should display a clear map of the world

Screenshots and other files

corrupted village

Here's an example of what all the visuals of my world look like, specifically this is my world's main village. I only know this because of a few qualities of it are visible at a glance, with the altitude slider helping in seeing them. For example, the round building/structure on the top right is one within my village, hence how I identify it.

r 11 -10 r 12 -10

Here's a couple previews of MCA's cache files.

Environment:

  • OS: Windows 10 Home

  • Java version: x64 OpenJDK 8, OpenJ9, Semeru: "jdk8u302-b08_openj9-0.27.0"

  • Version of MCA Selector: 1.16.2 and 1.16.3 were used

Additional context

  • I have previously used "NBT Explorer" way back to transfer player and other important data to a new world, as a previous one of mine somehow corrupted. However, I believe MCA showed the map just fine then and even afterwards on the new world and save, so I don't believe it is related.

  • I used quite a bit of mods, including some I don't remember as they have been long since deleted. However, I will provide a short file with the list of currently used mods in this save. Some of the more world editing mods I DO remember previously having before eventual deletion include: The Between Lands, Oh The Biomes You'll Go, Base Metals

List of current mods file

Dasawkem avatar Aug 16 '21 23:08 Dasawkem

The problem with JustEnoughIDs is that it does not use the 1.13 chunk format (as they claim in the description). The vanilla Minecraft 1.13 world format saves a palette of all block states for every subchunk (internally called a "Section", which is a 16x16x16 piece of a chunk). JEID also saves a palette, but it's only a list of internal IDs created by JEID, so there is no way to know from the outside what ID in that palette represents which block.

I explained this before in this issue.

Querz avatar Aug 23 '21 16:08 Querz

The problem with JustEnoughIDs is that it does not use the 1.13 chunk format (as they claim in the description). The vanilla Minecraft 1.13 world format saves a palette of all block states for every subchunk (internally called a "Section", which is a 16x16x16 piece of a chunk). JEID also saves a palette, but it's only a list of internal IDs created by JEID, so there is no way to know from the outside what ID in that palette represents which block.

I explained this before in this issue.

Ah I see. Thanks for the response! So I guess there’s just not fixing it, huh? Oh well. I wonder if there’s a way around this, like perhaps utilizing resource packs to provide the correct block IDs for mcaselector to use? Though idk if mcaselector even acknowledges/loads from resource packs to begin with. Is it possible to like… provide mcaselector with these block IDs manually?

Dasawkem avatar Aug 28 '21 17:08 Dasawkem