親記事 Tick
Minecraftの世界では1秒間に20回ワールドの更新が入る。これは一般的にtickと呼ばれ、IndustrialCraft2を含む多くのMODで時間の単位として受け入れられている。
ところで、IC2Cropの世界では1秒間に20回の更新が入ることはない(TileEntityCrop#updateEntity)。正確には、1秒間に20回のtickが訪れるが、タイルエンティティがフィルタリングして256tick(TileEntityCrop#tickRate)ごとに1回の更新を行うようにしている。
ここで、更新の際に呼ばれるメソッド名にはtickという名前が付けられている(TileEntityCrop#tick)が、この名前をそのまま呼称として使うとMinecraft本来のtickの周期(1/20秒)なのか、TileEntityCropクラスのメソッドであるtickが呼ばれる周期(12.8秒)なのかが紛らわしい。
よって、本記事群では便宜上このMinecraft本来のtickをMinecraftTick、TileEntityCropクラスのメソッドであるtickの呼び出しをCropTickと呼ぶ。
TileEntityCropが持つchar型の変数であり、保存されない。
チャンクロード時に0~255の範囲の整数乱数値で初期化され、1 MinecraftTick毎に1つずつインクリメントされる。
ちなみに、Javaのchar型は2バイト(-32768~32767)である。
次のことを行っている。
次のことを行っている。
※ 作物種のtickで支柱が空や交配用支柱になった場合、ここで必ず例外が発生しサーバーダウンする。
環境値の更新周期は、次のようになっている。
ticker | 更新される環境値 |
1024 * n + 256 *0 | 保水 |
1024 * n + 256 *1 | 肥沃 |
1024 * n + 256 *2 | 通気 |
1024 * n + 256 *3 | × |
タイルエンティティのほかに、作物種にも個別にCropTickイベントが設定可能である。デフォルトでは何も行っていないが、いくつかの作物種では特別な挙動が設定されている。
そのほかにはIC2・GregTechともに存在しない。