Mekanism Additions

Mekanism Additions

21M Downloads

Crash with Chicken Chunks when rotating Oredictionificator

C4J3 opened this issue ยท 8 comments

commented

https://paste.dimdev.org/eposuyucul.mccrash

rotating the block crashed the game I think it's because of a chunk loader from ChickedChunks.

Mekanism - 9.4.13.349
ChickenChunks - 2.4.1.73
Forge - 14.23.4.2757
Minecraft - 1.12.2

Let me know if it's ChickenChunks and I'll post it there!

commented

should be fixed in 9.6

commented

Same crash when a Thermal Dynamics retriever/duct/filter combo attempts to access the Oredictionificator.

Mekansim - 9.4.13.349
Forge - 14.23.4.2751
Minecraft - 1.12.2

This was on Enigmatica 2: Expert Skyblock, pack version 1.4. I also have the server startup log file, debug log file, and a world backup that crashes with this exception on load (986KB, 11.8MB, and a 3.3MB .tar.gz file), if they'll help to resolve the issue.

Here's the crash report:
https://paste.dimdev.org/umuwupimun.sql

Here's the TD code:
https://github.com/CoFH/ThermalDynamics/blob/1.12/src/main/java/cofh/thermaldynamics/duct/attachments/retriever/RetrieverItem.java#L136
Calling into the Oredictionificator's getSlotsForFacing:
https://github.com/aidancbrady/Mekanism/blob/master/src/main/java/mekanism/common/tile/TileEntityOredictionificator.java#L163
Which calls into MekanismUtils' getLeft function with a EnumFacing.DOWN:
https://github.com/aidancbrady/Mekanism/blob/master/src/main/java/mekanism/common/util/MekanismUtils.java#L404

I'm going to open the world up in mcedit and delete the Oredictionificator to resolve my issue for now.

Seems like the code in Oredictionificator isn't doing the correct thing? Maybe something like this instead:

	@Override
	public int[] getSlotsForFace(EnumFacing side)
	{
		if(side == EnumFacing.LEFT)
		{
			return new int[] {0};
		}
		else if(side == EnumFacing.RIGHT)
		{
			return new int[] {1};
		}
		else {
			return InventoryUtils.EMPTY;
		}
	}
commented

Oh, I see. Hmm. facing is a property on the TE, so if you place the Oredictionificator so it's facing up or down it causes issues. That makes much more sense considering the behavior I had before the crash (worked fine for ~30 minutes, then I broke and re-placed it and it crashed).

I know Java, but I'm not really familiar with writing MC mods. In this case I'm not sure how to resolve the issue, you're trying to get the left face of a block that's facing down. Maybe modify MekanismUtils' getLeft and getRight methods to check for up/down and apply a different rotate in those cases?

commented

im sure this was fixed, perhaps the fix for existing blocks didnt work. Try rotating it with the wrench and it should fix it

commented

I'll have a look again when I can (computer is currently in bits as I slowly finish watercooling it) but I couldn't load the world when I got this error I just got a crash and sent back to the main menu (I have vanilla fix which stops the game exiting)

commented

Mine was an instant crash on world load, no option to rotate the block, the world was created with the Mekanism version listed above (9.4.13) so it's not an older issue that was carried forward with world save.

As far as I can tell (according to build.properties in master, as well as the CurseForge page), 9.4.13 is the latest released version so it's still an issue there at least. I can set up a test world with just Mekanism and verify reproduction steps if needed.

I don't have a build environment set up so I can't build latest master or 1.12 branch to see if it's resolved in either of those.

Maybe the Oredictionificator was missed in the pass to resolve the issue?

commented

@valarnin we i can remove this block on my world ?

commented

i need my server my players can not play