
ME Level Maintainers do not work
norbby42 opened this issue ยท 4 comments
Your GTNH Discord Username
Quackers#6418
Your Pack Version
2.7.0
Your Server
Private Dedicated
Java Version
Java 17
Type of Server
Vanilla Forge
Your Expectation
Level Maintainer would be able to request and maintain an expected amount of Polyaluminium Chloride
The Reality
Placing a drop of Polyaluminium Chloride (from AE2FC) into a Level Maintainer breaks the Level Maintainer (invalid tileentity is removed after world reload) and it fails to craft. This happens whether using a 'ghost' drop from NEI, or an 'actual' drop taken out of the AE2 system.
This is the reported error in the server log after restarting:
[15:30:49] [Server thread/ERROR] [FML]: A TileEntity level_maintainer(com.glodblock.github.common.tile.TileLevelMaintainer) has thrown an exception during loading, its state cannot be restored. Report this to the mod author
java.lang.IllegalStateException: java.lang.reflect.InvocationTargetException
at Launch//appeng.tile.events.AETileEventHandler.readFromNBT(AETileEventHandler.java:54) ~[AETileEventHandler.class:?]
at Launch//appeng.tile.AEBaseTile.func_145839_a(AEBaseTile.java:121) ~[AEBaseTile.class:?]
at Launch//net.minecraft.tileentity.TileEntity.func_145827_c(TileEntity.java:116) [aor.class:?]
at Launch//net.minecraft.world.chunk.storage.AnvilChunkLoader.loadEntities(AnvilChunkLoader.java:496) [aqk.class:?]
at Launch//net.minecraftforge.common.chunkio.ChunkIOProvider.callStage2(ChunkIOProvider.java:41) [ChunkIOProvider.class:?]
at Launch//net.minecraftforge.common.chunkio.ChunkIOProvider.callStage2(ChunkIOProvider.java:12) [ChunkIOProvider.class:?]
at Launch//net.minecraftforge.common.util.AsynchronousExecutor.skipQueue(AsynchronousExecutor.java:344) [AsynchronousExecutor.class:?]
at Launch//net.minecraftforge.common.util.AsynchronousExecutor.getSkipQueue(AsynchronousExecutor.java:302) [AsynchronousExecutor.class:?]
at Launch//net.minecraftforge.common.chunkio.ChunkIOExecutor.syncChunkLoad(ChunkIOExecutor.java:12) [ChunkIOExecutor.class:?]
at Launch//net.minecraft.world.gen.ChunkProviderServer.loadChunk(ChunkProviderServer.java:126) [ms.class:?]
at Launch//net.minecraft.world.gen.ChunkProviderServer.func_73158_c(ChunkProviderServer.java:101) [ms.class:?]
at Launch//net.minecraft.world.gen.ChunkProviderServer.func_73154_d(ChunkProviderServer.java:199) [ms.class:?]
at Launch//net.minecraft.world.World.func_72964_e(World.java:419) [ahb.class:?]
at Launch//net.minecraft.world.WorldServer.func_147456_g(WorldServer.java:313) [mt.class:?]
at Launch//net.minecraft.world.WorldServer.func_72835_b(WorldServer.java:183) [mt.class:?]
at Launch//net.minecraft.server.MinecraftServer.func_71190_q(MinecraftServer.java:625) [MinecraftServer.class:?]
at Launch//net.minecraft.server.dedicated.DedicatedServer.func_71190_q(DedicatedServer.java:334) [lt.class:?]
at Launch//net.minecraft.server.MinecraftServer.func_71217_p(MinecraftServer.java:547) [MinecraftServer.class:?]
at Launch//net.minecraft.server.MinecraftServer.run(MinecraftServer.java:427) [MinecraftServer.class:?]
at Launch//net.minecraft.server.MinecraftServer$2.run(MinecraftServer.java:685) [li.class:?]
Caused by: java.lang.reflect.InvocationTargetException
at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method) ~[?:?]
at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:77) ~[?:?]
at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) ~[?:?]
at java.base/java.lang.reflect.Method.invoke(Method.java:569) ~[?:?]
at Launch//appeng.tile.events.AETileEventHandler.readFromNBT(AETileEventHandler.java:52) ~[AETileEventHandler.class:?]
... 19 more
Caused by: java.lang.NullPointerException: Cannot invoke "net.minecraft.item.ItemStack.toString()" because "itemStack" is null
at Launch//com.glodblock.github.common.tile.TileLevelMaintainer.readFromNBTEvent(TileLevelMaintainer.java:350) ~[TileLevelMaintainer.class:?]
at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method) ~[?:?]
at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:77) ~[?:?]
at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) ~[?:?]
at java.base/java.lang.reflect.Method.invoke(Method.java:569) ~[?:?]
at Launch//appeng.tile.events.AETileEventHandler.readFromNBT(AETileEventHandler.java:52) ~[AETileEventHandler.class:?]
... 19 more
Your Proposal
The Polyaluminium Chloride fluid should behave like other fluids in level maintainers and be maintainable.
Final Checklist
- I have searched this issue tracker and there is nothing similar already. Posting on a closed issue saying the bug still exists will prompt us to investigate and reopen it once we confirm your report.
- I can reproduce this problem consistently by follow the exact steps I described above, or this does not need reproducing, e.g. recipe loophole.
- I have asked other people and they confirm they also have this problem by follow the exact steps I described above, or this does not need reproducing, e.g. recipe loophole.
Made a fairly creative setup to see if I could reproduce this there. I can indeed.
This network has loads of storage (6x 16m disks in the me drive, default settings), a 4096/singularity storage crafting CPU, a controller, infinite energy, and a single processing pattern to smelt Cobblestone into Stone using the furnace on the right (there is an Import Bus under the furnace).
The crafting task can be completed successfully through the normal UI.
However, configuring the ME Level Maintainer to perform the craft results in an error:
This error state persists even if the network contains the desired amount of the designated item (I moved the request to a different slot to make sure there wasn't any caching happening in the UI):
And after restarting the world, the ME Level Maintainer lost all its TileEntity data (as shown by its orientation having gotten messed up):
It also generated the exact same stacktrace as posted above.
Actually, after doing some more poking around, I'm finding that I cannot setup ANY new level maintaining requests. Every new request I put in a Level Maintainer errors once I confirm it, and on restarting the server they ALL error with the same stacktrace.
Did some more digging and apparently there was something wrong with my ae2fc jar. I downloaded the release version from the GTNH AE2FC github page, replaced it on both client and server and now it's behaving as expected.
Closing ticket, not an issue.
FWIW I upgraded to AE2FC 1.4.0-gtnh yesterday and the issue is still there. Old jobs are working (they are green), but any new ones I create are in "errored" state. It happens with both "fluid drops" and "items", it doesn't matter if I drag them from inventory or NEI/JEI/whatever.
However, I think I found a weird workaround: If I drag the item (or a drop of fluid) from inventory over two slots of the maintainer the slot will be configured correctly. By dragging the item I mean:
- Pick item from inventory
- Move cursor over a maintainer slot
- Press LMB while hovering over the slot
- Move the cursor to the next slot
- Release the LMB
- Configure the first slot as usual (set number of items + batch size, click the green button on the right)
- Clear the second slot (it contains the same item as the first one, no need to keep it configured)
It's crazy, but it worked in my case.