作物種
準拠: industrialcraft-2-2.2.517-experimental
概要
作物種とは、作物IDによって区別される植物の種類のことである。
作物種はMinecraftにおけるアイテムやブロックの様に1種類につき1つのインスタンスを持ち、そのクラスは多様である。
根底クラス(CropCard)
IC2やその他のMODに存在する全てのCrop作物種は根底クラスとしてCropCardを継承している。
作物の一覧
参照
作物種が持っているパラメータ(CropCard)
ここでは、考えられる全てのパラメータと呼べそうなものを列挙する。
単純に値が出るものだけでなく、イベント発生時の挙動やパラメータを基本式に当てはめて出てくるものも列挙する。
橙字の項目: protected(継承したクラスから参照できる)
黒字の項目: public(どこからでも参照できる)
太字の項目: abstract(必ずオーバーライド)
桃字の項目: final(オーバーライド不可能)
青字: 既定の挙動や値
赤字: 戻り値の意味
支柱に依存しない値
- 内部保持テクスチャ(#textures:IIcon[])
- 名前(#name():String)
- 発見者(#discoveredBy():String) "Alblaka"
- 説明文(#desc(int i):String) i:0~1 i=0なら2個、i=1なら残りのを所持属性を", "で区切ったもの i=0:上段、i=1:下段
- Tier値(#tier():int)
- Stat値(#stat(int
paramInt):int)
- 所持属性(#attributes():String[])
- 最大成長サイズ(#maxSize():int)
- テクスチャファイル名(#getTextureFile():String) "/ic2/sprites/crops_0.png" 使われない値
- 基本収穫量(#dropGainChance():float) 0.95^Tier
- CropId(#getId():int) Crops.instanceに登録されている作物種から自身のIDを調べる
計算に支柱が必要な値
- テクスチャ(#getSprite(ICropTile crop):IIcon) 内部保持テクスチャから選択する
- 必要成長経験値(#growthDuration(ICropTile
crop):int) Tier*200
- 比重適用済み環境値(#weightInfluences(ICropTile
crop, float humidity, float nutrients, float air)) 3引数の和
- 成長可能か否か(#canGrow(ICropTile paramICropTile):boolean)
- 交配可能か否か(#canCross(ICropTile
crop):boolean) 現在の成長サイズが3以上のときに真 trueの場合、交配に参加できる
- 収穫可能か否か(#canBeHarvested(ICropTile
paramICropTile):boolean)
- 収穫物(#getGain(ICropTile paramICropTile):ItemStack)
- 収穫後サイズ(#getSizeAfterHarvest(ICropTile crop):byte) 1
- 基本種袋採取確率(#dropSeedChance(ICropTile
crop):float) (サイズ1で0、サイズ2で0.25、サイズ3以上で0.5)*0.8^Tier
- 種(#getSeeds(ICropTile crop):ItemStack) 支柱にある作物と等しいGGR値とスキャンレベルを持つ種袋
- 赤石出力強度(#emitRedstone(ICropTile crop):int) 0 その支柱が全方向に弱い赤石出力を持つ
- 発光量(#getEmittedLight(ICropTile crop):int) 0 その支柱の持つ光量
- 雑草属性状態(#isWeed(ICropTile
crop):boolean) 成長サイズが2以上 && (IDが0 ||
Growthが24以上) trueの場合周囲に雑草を生む
イベント
- テクスチャの読み込み(#registerSprites(IIconRegister iconRegister):void) サイズ分、内部保持テクスチャに次のリソース名で登録する
"ic2:crop/blockCrop." + name + "." + size
- 右クリック(#rightclick(ICropTile
crop, EntityPlayer player):boolean) 収穫 収穫の試み等の処理が行われたかどうか
- 左クリック(#leftclick(ICropTile
crop, EntityPlayer player):boolean) 種袋採取 種袋採取の試み等の処理が行われたかどうか
- BUD(#onNeighbourChange(ICropTile
crop):void) 何もしない
- 破壊(#onBlockDestroyed(ICropTile
crop):void) 何もしない
- 接触(#onEntityCollision(ICropTile
crop, Entity entity):boolean) 接触したものが生物で疾走状態ならtrue trueで踏み荒らし判定
- CropTick(#tick(ICropTile
crop):void) 何もしない
交配レートの計算に使われる値の具体的な値はstat値を参照。
以下に交配レートを計算した表を載せる。上に並んでいる作物種が左に並んでいる作物種を生成させるレートを表す。
IC2作物一覧
【ic2.core.block.crop.IC2Crops#registerCrops】にて登録を行っている。
|
作物のTier順全体図 |
雑草はTier0の植物であるが、色々と格が違うので分離した。
最終更新:2014年07月31日 02:32