種袋

バージョン: industrialcraft-2-2.2.716-experimental

概要




 
 

種袋の実装は、ic2.core.item.ItemCropSeedにある。

 

機能

プロパティとその他
親クラス ItemIC2
最大スタックサイズ 1
クリエイティブタブ デバッグ時(Util.inDev)である間だけIC2のタブに出現し、通常時はどのタブにも出現しない
登録名(register) "itemCropSeed"
内部名
getUnlocalizedName
スキャンレベルが0を超えて作物種が存在する: 作物種のdisplayName()
スキャンレベルが0を超えて作物種がnull: "ic2.crop.invalid"
それ以外: "ic2.crop.unknown"
getItemStackDisplayName StatCollector.translateToLocalFormatted(
  "ic2.crop.seeds", new Object[] { super.getItemStackDisplayName(itemStack) })
isDamageable true
isRepairable false
ツールチップ スキャンレベルが4以上である場合、以下の文字列列(§は制御記号
§2Gr§7Growth
§6Ga§7Gain
§3Re§7Resistance
使用時 対象座標にTileEntityCropがある場合、それのtryPlantInを叩き、
  成功した場合プレイヤーの持ってる種袋を消してイベントを消費する。
  成功しない場合、イベントは消費しない(return false)。
クリエイティブタブ
におけるサブアイテム
Crops#getCropsを呼び出して、全ての作物種に対して
  GGR=111、スキャンレベル=4の種袋を生成する。
public static ItemStack
generateItemStackFromValues
(CropCard, byte, byte, byte, byte)
種袋(Ic2Items.cropSeed)のItemStackを作り、以下の値が入ったNBTを格納して返す。
String oener, name
Byte growth, gain, resistance, scan
public static byte *(ItemStack)
getGrowthFromStack
getGainFromStack
getResistanceFromStack
getScannedFromStack
ItemStackから例のNBTを取得して返す。
public static void
incrementScannedOfStack
(ItemStack)
貰ったItemStackのNBT"scan"をインクリメントする。

初期化

コンストラクタはic2.core.init.BlocksItems#initItemsにて呼び出されている。このとき第一引数はInternalName.itemCropSeedを受け取る。

トリビア

  • 種袋はBaseSeedではないらしい
  • やってることはNBTでデータを保持して支柱をクリック時に作物を設置して消滅するだけ
  • スタック不可なのは使用時に個数を1個だけ減らす処理が面倒だから?
最終更新:2015年05月16日 17:16