読者です 読者をやめる 読者になる 読者になる

無気力生活 (ノ ´ω`)ノ ~゜

脱力系エンジニア。てきとーに生きてます。

minecraft1.7.10用のIC2 classicは2種類ある。安定している方と安定していない方だ

GCPで動かし始めたMinecraftサーバー。IC2 classicを導入して遊んでいたんですが、時折クラッシュすることがありました

// Would you like a cupcake?

Time: 4/22/17 7:16 AM
Description: Ticking block entity

java.lang.IllegalArgumentException: Energy source ic2classic.core.block.wiring.TileEntityElectricBatBox@28fa649b is not added to the enet.
        at ic2classic.core.EnergyNet.emitEnergyFrom(EnergyNet.java:140)
        at ic2classic.core.EnergyNet$EventHandler.onEnergyTileSource(EnergyNet.java:553)
        at cpw.mods.fml.common.eventhandler.ASMEventHandler_30_EventHandler_onEnergyTileSource_EnergyTileSourceEvent.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 ic2classic.core.block.wiring.TileEntityElectricBlock.func_145845_h(TileEntityElectricBlock.java:139)
        at net.minecraft.world.World.func_72939_s(World.java:1939)
        at net.minecraft.world.WorldServer.func_72939_s(WorldServer.java:489)
        at net.minecraft.server.MinecraftServer.func_71190_q(MinecraftServer.java:636)
        at net.minecraft.server.dedicated.DedicatedServer.func_71190_q(DedicatedServer.java:334)
        at net.minecraft.server.MinecraftServer.func_71217_p(MinecraftServer.java:547)
        at net.minecraft.server.MinecraftServer.run(MinecraftServer.java:427)
        at net.minecraft.server.MinecraftServer$2.run(MinecraftServer.java:685)

色々調べてみたところ、Eneregy関連のロジックに問題があるらしく、Batboxといった電力をプールする系のブロックの電力が空になると発生する模様。遠出して拠点に戻る際、Batboxがあるところに近づくと確実に発生するので、チャンクロードのタイミングで発生しているっぽい。

この現象が発生した後、インする度にサーバーが即死するという困った状況に見舞われるわけです(´・ω・`)

結論としては、1.7.10に対応したIC2 classicは2種類あり、今回問題が発生したimmbis版ではなく、もう一つのSpeiger版を使うことで回避できました。

ただし入れ替えすると、ワールドに設置していたimmbis版のマシンはごそっと消滅します。 機能的にはほぼ同一ですがMod自体が異なるので、まーしょーがないですね。