支柱ブロックに矢が刺さるとサーバー・クライアントがクラッシュし、以降ワールドを読み込んでも数秒でクラッシュするようになるという不具合である。

industrialcraft-2-2.2.720-experimental forge-1.7.10-10.13.3.1403 なんかForge側のデバッグによって、いつの間にかこのバグは起こらなくなった

industrialcraft-2-2.2.517-experimental このバグが顕在であることを確認。

全貌

支柱のエンティティ接触イベント(BlockCrop#onEntityCollidedWithBlock)では、渡されたブロック座標のタイルエンティティを取得してタイルエンティティの接触イベントを発生させるという処理が存在するが、ここでnull若しくは支柱タイルエンティティ(TileEntityCrop)でないタイルエンティティを持つ座標が渡されるとNullPointerExceptionなどが発生する。

通常はブロックの接触イベントに不正な座標が渡されることは無いが、矢のエンティティは何らかの理由によってブロックを取得する座標と異なる座標をブロックのイベントに指定してしまうことがあるため、この問題が発生する。

発生条件

支柱ブロックに矢が刺さったとき。

影響

サーバー・クライアントがクラッシュする。ワールドデータが矢が刺さった状態で保存されるため、場合によってはそのままでは二度と入れなくなることもあり得る。

回避方法

  • Crop農場では無暗に矢を放たない、戦闘をしない。
  • スケルトンが湧かないように、徹底的に湧きつぶしをする

プラグイン

PluginCropsによりクラッシュを回避することができる。

トリビア

  • 雪玉や卵ではかなり再現率は低い(ないし発生しない)。
最終更新:2015年05月20日 22:52