・原因
ビデオ設定の中のChunk LoadingがSmoothになっているから。
・なぜクラッシュするのか推測
実行環境:Windows 10, Minecraft 1.7.10, Forge#1558,
Mod:ImmersiveEngineering, Mekanism, CodeChickenCore, AppliedEnergistics2など他100個~
私の環境で落ちた時のクラッシュレポートを一部抜粋します。
コード: 全て選択
Description: Rendering Block Entity
java.lang.IllegalStateException: Already tesselating!
at net.minecraft.client.renderer.Tessellator.func_78371_b(Tessellator.java:394)
at codechicken.lib.render.CCRenderState.startDrawing(CCRenderState.java:418)
at codechicken.lib.render.CCRenderState.startDrawing(CCRenderState.java:414)
at mekanism.client.render.RenderPartTransmitter.renderContents(RenderPartTransmitter.java:255)
コード: 全て選択
-- Block Entity Details --
Details:
Name: savedMultipart // TileMultipart_cmp$$0
Block type: ID #724 (tile.multipart // codechicken.multipart.BlockMultipart)
Block data value: 0 / 0x0 / 0b0000
Block location: World: (1268,68,-808), Chunk: (at 4,4,8 in 79,-51; contains blocks 1264,0,-816 to 1279,255,-801), Region: (2,-2; contains chunks 64,-64 to 95,-33, blocks 1024,0,-1024 to 1535,255,-513)
Actual block type: ID #724 (tile.multipart // codechicken.multipart.BlockMultipart)
Actual block data value: 0 / 0x0 / 0b0000
Stacktrace:
at net.minecraft.client.renderer.tileentity.TileEntityRendererDispatcher.func_147549_a(SourceFile:100)
at net.minecraft.client.renderer.tileentity.TileEntityRendererDispatcher.func_147544_a(SourceFile:92)
at net.minecraft.client.renderer.RenderGlobal.func_147589_a(RenderGlobal.java:807)
at net.minecraft.client.renderer.EntityRenderer.func_78471_a(EntityRenderer.java:1712)
おそらくですが、Smoothに設定時、本来1回ずつ読み込むTessellatorを何回も同時に読み込むためと思われます。本来Minecraftのブロックは1ブロックですが、マルチブロックの場合複数のブロックを設置して相互にやり取りするため、ここでOptifineが何度もTessellatorを呼び出してしまい、IllegalStateExceptionがスローされると考えられます。
・対処方法
ビデオ設定の中のChunk LoadingをDefaultにする。
マルチブロックを利用しているModを導入しているときはこうしておいたほうがいいかと。
参考: https://github.com/SleepyTrousers/EnderIO/issues/3097