Applied Energistics 2

Applied Energistics 2

137M Downloads

Dynamic ME Cable connection to Crystal Growth Accelerator causes server crash

UnicornsRock420 opened this issue ยท 5 comments

commented

How to Reproduce:

I use Steve's Factory (Inventory) Manager to detect if crystals are present, if so to open the growth chamber from the top, activate the acceleration blocks, item valve them back into an ME Interface block in Pure crystal 100% state. Well to achieve maximum speed of growth I have an accelerator on all 6 sides. I use a Drawbridge block to open the growth chamber (water block) when the top item valve detects crystals to shutter door style open the chamber (top accelerator block) and close once out of proximity. And thus the accelerator block in the draw bridge dynamically connects to an isolated circuit, no even an ME network (no controller block).

As soon as that drawbridge accelerator block makes connection to either an Ender IO ME Conduit or a native AE2 Glass Cable, server crash.

FTB Infinity Mod Pack (2.4.2) uses Version: appliedenergistics2-rv3-beta-5.jar

Stacktrace:

java.lang.IllegalStateException
at com.google.common.base.Preconditions.checkState(Preconditions.java:161)
at appeng.core.worlddata.PlayerData.getPlayerID(PlayerData.java:95)
at appeng.me.helpers.AENetworkProxy.readFromNBT(AENetworkProxy.java:169)
at appeng.me.helpers.AENetworkProxy.getNode(AENetworkProxy.java:151)
at appeng.me.helpers.AENetworkProxy.onReady(AENetworkProxy.java:143)
at appeng.tile.grid.AENetworkTile.onReady(AENetworkTile.java:81)
at appeng.hooks.TickHandler.onTick(TickHandler.java:232)
at cpw.mods.fml.common.eventhandler.ASMEventHandler_546_TickHandler_onTick_TickEvent.invoke(.dynamic)
at cpw.mods.fml.common.eventhandler.ASMEventHandler.invoke(ASMEventHandler.java:54)
at cpw.mods.fml.common.eventhandler.EventBus.post(EventBus.java:140)
at cpw.mods.fml.common.FMLCommonHandler.onPostServerTick(FMLCommonHandler.java:247)

commented

#2180

I believe this stems from the same issue. The drawbridge places an ME Block that upon connection crashes the server.

If some form of automation places the block that makes the connection, therefore is no player data associated to that event.

commented

drawbridges are buggy as hell, my general advice to them, always test in single player before putting a block inside the drawbridge, if it crashes get another solution and blacklist this block from the drawbridge!!!

commented

I've never had any issues with a drawbridge, and I've probably clocked more hours on FTB/Minecraft than any other game I own. The concept of using a drawbridge to substitute a sticky piston to move a block around, namely to automate our crystal growth accelerator system, whether manual with lever(s) or a turtle, or ME plane, or an Item Valve as the delivery machine/mechanism. Has honestly never had any adverse effects on any FTB modpack we've played/hosted on our private VM featuring AE2.

Despite being a software developer and knowing how to read a callstack in a debug/crash report I refused to believe AE2 was the cause of the server crashing until I ripped my crystal growth system apart and triggered each individual component with levers until I reproduced the bug. Dang I wish all software issues could be that visually oriented, like a sandbox game.

commented

@progmanpaul it heavily depends on how creative you get with drawbridges

moving "just blocks" around is not buggy at all, but drawbridges generally move blocks ... and especially those with internal code ... in unpredictable manner, so most mod devs are not really aware of what is going on

the drawbridge is breaking many mods ... just as an example, place an enderchest from enderstorage mod with white white white code and let it place and then change the code to anything else ... the white white white will work, the color coded ender chests will crash

i think you can reproduce this with carpenters blocks and door pretty good too :)

commented