Mekanism

Mekanism

111M Downloads

v9 orphaned TEs showing up again

tgstyle opened this issue ยท 10 comments

commented

Unfortunately
untitled

commented

Glad to hear it, hopefully it is fixed if/when Opis updates to 1.9

commented

Which release are you using? This makes me sad :(

commented

Using 9.0.1.270

commented

I did actually, is there no way to clear them? I tried to reform the multiblock.

commented

Ah. Did you transfer worlds between v8 and v9? Orphaned TEs will still be loaded that remained in previous worlds.

commented

Hmm I destroyed the whole structure to the point the orphans were gone, rebuilt it and the orphans reappeared.

commented

I also tried to use worldedit to clear the area of the structures, the orphaned TEs cleared. I rebuilt them and they reappeared.

commented

I'm looking into the issue now- it seems like all TileEntities related to the first "BasicBlock" are creating duplicates. I did find and fix an issue where Security Desks were not being properly unloaded, I'll push that out tomorrow. Will keep you posted!

commented

I've just done some serious stress-testing and deep debug work, I'm now fully confident that the Opis readings of duplicate entries are not accurate. I've checked the loaded tile list and made sure that the tile is being ticked with accurate timing and everything seems to be in order. The issue may be related to Opis's threading, but I assure you it's not me :)

commented

Just a quick heads-up, because I've already invested two hours into this issue and I want closure, I did some digging in the Opis code and it is indeed a bug that I'm guessing ProfMobius overlooked. The issue has to do with Opis not using proper metadata values when checking if a tile entity exists, which is resulting in any blocks that don't have a tile entity at metadata value 0 to show up as orphans for all other data values. Pretty frustrating, huh?

The code in question can be seen here:
https://github.com/Gamealition/Opis/blob/mapless/src/main/java/mcp/mobius/opis/data/managers/TileEntityManager.java#L144
Also on ProfMobius's BitBucket repository (Line 33):
https://bitbucket.org/ProfMobius/opis/src/d7e8ed208175fe7dc22a7686a773fe5f711fbbf9/src/main/java/mcp/mobius/opis/data/managers/TileEntityManager.java?fileviewer=file-view-default