Bounding Box Outline Reloaded

Bounding Box Outline Reloaded

355k Downloads

[1.19.2] Conflicts with journeymap

reserveword opened this issue ยท 11 comments

commented

it is journeymap that isn't working rightly, but I doubt that there is some resource files related here
so I created an issue for both mods
TeamJM/journeymap#529

BoundingBoxOutlineReloaded Version:

BBOutlineReloaded-2.5-1.19.2-forge

Forge Version:

43.1.57

Describe the problem in repeatable steps:

  1. install journeymap and BoundingBoxOutlineReloaded
  2. open minecraft and join a vanilla server
  3. map does not generate

Relevant errors from .minecraft/journeymap/journeymap.log:

this line repeating again and again, filling the whole log
[21:22:21] [JM-task-4/WARN] [DataCache] Unexpected error getting ChunkMD from cache: java.lang.IllegalStateException: Missing registry: ResourceKey[minecraft:root / minecraft:worldgen/structure]

commented

ah ha!
With BBOR and JM on client and server, I get it the error when on a server, no issues in singelplayer
I will do some more investigation later, @irtimaled is there something with bbor that is preventing the block registry from syncing with the client possibly?

commented

I am unable to replicate this with just Journeymap and BBOR(2.5.1). I wonder if there may be another mod involved, when combined with BBOR removes block registries?

commented

BBOR doesn't mess with block registries at all. But if JourneyMap messes with them, it's possible that BBOR can't cache get the data it needs and retries multiple times per render loop.

commented

We just use the registries for lookups. We don't modify them.
However, I have had several reports that there is some incompatibility with BBOR and JM on forge and fabric, disabling BBOR resolves it.
I tried both with only JM and BBOR with no issues. So I suspect another mod is also involved.

here is an issue a user had with fabric bbor
TeamJM/journeymap#534

commented

Probably optifine ;-p

While that is usually the case, the fabric user did not have optifine, but they did have sodium and iris.

@reserveword if you have optifine installed, please remove it and see if that fixes your issue.

commented

Probably optifine ;-p

commented

@reserveword if you have optifine installed, please remove it and see if that fixes your issue.

Optifine was not installed in the first place. When optifine is installed, I can't even join the server XD

Also I have found something interesting: it worked fine when I open a local world, but not when I join the server. It might be useful that the server is a fabric server with some server side mod. I can provide server modlist, but maybe not able to modify it.

commented

So, I found the problem and solution, it is on both of us.

On my end this is due to some old code that never got cleaned up, we were setting the LevelChunk.setLoaded(true) because we had some checks later on that checked if it was loaded, but the loaded checking logic is not used anymore as chunks are never set to loaded on the client.

On your end, this line I think my not work on the client. So you may want to move your MixinChunk class to work only on the server-side to prevent this issue if other mods set the chunk to loaded on the client.

final Registry<Structure> structureFeatureRegistry = chunk.getWorld().getRegistryManager().get(Registry.STRUCTURE_KEY);

My calling of the setLoaded on the client was firing that logic on your end and throwing the exception. Which in turn was preventing chunks from being mapped on my end.

This will be fixed in the next JM release.

Edit:
Confirmed via the forge team "STRUCTURE_REGISTRY" is not available on the client.

commented

If the issue is exactly as you described, It will be fixed in the next release.

This may take a while since there are a lot of changes to be tested.

commented

The fix on my end has been released in Journeymap 5.9.0beta4 for 1.18.2, 1.19.2 and 1.19.3 for both forge and fabric.

commented

This is fixed in 2.6 release.