asiekierka / FoamFix

Minecraft memory usage optimization mod. Please note that code contained herein is not a suggestion for Minecraft unless explicitly declared elsewhere, in writing, by the rightsholder(s).
http://asie.pl/foamfix
148 stars 23 forks source link

1.12.1 Complex/Strange BlockState issue #84

Open accessdenied0 opened 7 years ago

accessdenied0 commented 7 years ago

I run recently in a strange issue:

I play a updated/modified version of Modern Skyblock 2 for 1.12.1. If I try to visit and come back from "The Beneath", part of my base goes crazy:

AE2 or better Applied-Llamagistics cables disappear or more: I hear breaking sounds and then some of them are gone. Further more the Big-Reactor (Extreme Reactor) structure is stuck and I can't access the Controller anymore.

The only message I could figure out so far is this output from my console: [12:33:48] [JM-task-8/ERROR] [AE2:C]: BlockState does not contain DriveSlotsState. THIS IS NOT NORMAL. BlockState supplied is of type pl.asie.foamfix.common.FoamyExtendedBlockState.

I post my full log here.

Minecraft 1.12.1 Forge: 14.22.0.2467 FoamFix: 0.8.1-1.12

It might be mentioned that I'm wrong here or there is something else the cause of it, but I can't tell why it might happen. If it is no issue on your end, I close this and reopen it over in Applied-Llamagistics.

I'm sorry for any inconvenience

asiekierka commented 7 years ago

Does the same issue happen with the non-Llamagistics AE2?

Can you reproduce it without Foamfix?

accessdenied0 commented 7 years ago

I was now only able to test it without Foamfix because if I tried to replace Llamagistics with the original AE2 i run in some issues with Sona core and some other mods.

But this was already pretty informative because the issue of the breaking Cables or Jammed Extreme Reactor Controller is not happening. It all worked fine even after trying to leaving and entering the "The Beneath" multiply times (I tested it 3 times)

The line of the marked error above changed: [13:54:35] [JM-task-4/ERROR] [AE2:C]: BlockState does not contain DriveSlotsState. THIS IS NOT NORMAL. BlockState supplied is of type net.minecraftforge.common.property.ExtendedBlockState$ExtendedStateImplementation.

Here is the log.

I tested all issues on the same worlds with the same mods. Nothing changes except I removed Foamfix for this one.

asiekierka commented 7 years ago

Weird. Does it happen again with FoamFix? Anyhow, the AE2 error at least means the same thing and is thus unrelated to FoamFix.

accessdenied0 commented 7 years ago

I re-added foamfix and it seems to work... but I'm now always (with or without foamfix) not to 100% if it happens again or why it happened... strange. (Even some of the weird Lightning issues [Shadows and Lights] appear)

Some things still seem to work strange... TiC's Smeltery needed to broken and replaced to accept a new Fuel source (Tank replacement didn't work), Integrated Dynamics doesn't react... (and it seem to happen also with the Nether (?!?))

I can confirm, there is still some issues. Cable (Mekanism) and Integrated Dynamics structures stop working.

zlainsama commented 6 years ago

I got a similar/same issue with block states. I was loading a singleplayer world then it crashed. Crashlog: pastebin After disabling both block states related options(fasterPropertyComparisons and smallPropertyStorage) in foamfix config, the world loads normally.

asiekierka commented 6 years ago

That crashlog doesn't even implicate FoamFix, though?

at net.minecraft.block.state.BlockStateContainer$StateImplementation.func_177229_b(BlockStateContainer.java:209)

I don't touch this method. Is the crash reproducible with FoamFix only?

zlainsama commented 6 years ago

I tried re-enable fasterPropertyComparisons and load the same world, it crashed with same IllegalArgumentException. I will try to reproduce it in a clean install with foamfix and botania only. I could not reproduce it.

asiekierka commented 6 years ago

Hm, fasterPropertyComparisons? Does smallPropertyStorage not affect it? Could you try FoamFix 0.9.3, as I have changed some related code?

zlainsama commented 6 years ago

I tried with "fasterPropertyComparisons=false" and "smallPropertyStorage=true", it also crashed with same exception. I will try FoamFix 0.9.3. With both options enabled, it crashed with same exception. Crashlog: pastebin

zlainsama commented 6 years ago

With both options disabled, FoamFix 0.9.3, the world still crashes with same exception. I then reverted back to FoamFix 0.9.1, the wolrd loads normally. (both options disabled)

asiekierka commented 6 years ago

This may sound weird, but try loading the world without FoamFix, but by restarting the game a few times. 0.9.1 and 0.9.3 are identical except for changes in the two options.

zlainsama commented 6 years ago

I tried

  1. Without FoamFix, the world crashed.
  2. With FoamFix, both options enabled, the world crashed.
  3. With FoamFix 0.9.1, both options disabled, the world did not crash.

Sorry, this seems to be a issue caused by other mods. and FoamFix helped in a certain setup.

asiekierka commented 6 years ago

3 not crashing is a coincidence and not attributable to FoamFix, I think.

zlainsama commented 6 years ago

After removing the issue causing ManaPool from the world while using FoamFix 0.9.1(both options disabled), i switched to FoamFix 0.9.3(both options enabled), i tried placing the ManaPool down and re-enter the world, nothing happens, the world loads normally. I then went to the Nether, noticing my normal world chunks are unloaded, i used FTBUtiltes command to teleport back to my normal world base, the crash happens again with same exception. It's like the tileentity is accessing its blockstate before its properly loaded.