PluginCrops(646)

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

概要

収穫物の数を計算するはさみ

旧版はTileEntityCropクラスごと置換しているので、IC2Expのバージョンアップによって動かない可能性が少しある。だが、当時は517付近のバージョンから始まる農業革命到来前であり、Crop周辺の仕様が変わることはほぼなかったため、そこまで問題視していなかった。

しかし、最近は頻繁に大規模な改革が起こっており、クラスファイルを直接置換するだけではどうしようもないというところまで来ている。これを解決するには、JavaASMを触り発見した問題点(及び機能拡張)を一つ一つ直す必要がある。

 

機能

  • 旧版が持っている深刻なバグや謎挙動の矯正機能の移植
    • 致命的なバグの例:
      • 支柱に矢でセーブデータが読み込めなくなる問題は、Forge側の更新により今後は気にしなくてもよくなった。
  • (この後本記事群から公開するかもしれない)作物追加アドオンのためのAPI
    • 折角作物がID競合地獄から解放されたので
  • コンフィグファイルにより修正するバグを選択可能にしたい

リリース

もしリンク切れしてたら、この記事の下側の添付ファイルリストから落とせるかもしれません。

plugincrops-732-1.3 2015/6/8

対応Ver:

  • ic2exp
    • 開発環境: 732
    • 推奨環境: 732
    • 必要環境: バージョンがずれると問題が起きる可能性あり
  • その他前バージョンと同一

ダウンロード:

機能・変更:

×形レンダリングが適用され、方角依存が修正され、24Growthバグが修正された雑草。

未解決事項:

  •  

plugincrops-720-1.2  2015/5/31

対応Ver:

  • 前バージョンと同一

ダウンロード:

機能:

  • バニラのファイヤーチャージの名称がこのModで上書きされる問題を修正
  • 新たなアイテムを追加
    • 【鉱石辞書の看板】
      • 使用すると登録されているすべての鉱石辞書と登録されているアイテムを表示する。
      • 数が多くて見切れる場合はコンソールからコピーすると全部見れる。
  • アイテムの説明文を.langファイルに移行

未解決事項:

  • 【鉱石辞書の看板】
    • ​アイテムの親Modの特定
    • ファイルにDump
  • アイテムの説明欄が​日本語設定でないと説明文が出てこない

plugincrops-720-1.1  2015/5/16

対応Ver:

  • 前バージョンと同一

ダウンロード:

機能:

  • デバッグ用アイテムに名前を設定
  • 文字化けを解決
  • バケツが負のXY座標を持つ地域で利用できなかった問題を修正
  • デバッグ用アイテムの追加
    • ​GGR値をインクリメント/デクリメントする粉
      • ​APIを使って設定している。
      • ScanLevelもいじれる
空中に広大な農業用地を設置できる

未解決事項:

plugincrops-646-1.0  2015/5/16

対応Ver:

  • minecraft 1.7.10
  • forge
    • 開発環境: 10.13.3.1403
    • 推奨環境: 10.13.0.1200以上
    • 必要環境: 無指定
  • ic2exp
    • 開発環境: 720
    • 推奨環境: 720
    • 必要環境: 720近辺の±50程度までなら互換性がありそう

ダウンロード:

機能:

  • クリエイティブタブの追加
    • 変色した本の色のタブが増えて、そこに全追加アイテムが入っている。
  • デバッグ用アイテムの追加
    • 支柱の状態を見るスキャナ
      • Block・TileEntity・ICropTile・CropCard・ITileEntity×CropCardで決定されるパラメータを表示。
    • 周辺を一気に耕すクワ
      • 通常のクワと同じ仕様で、広範囲に耕作の処理を行う。
      • 赤いクワは、元々真上が空気だったらという処理が真上が透過ブロックだったらという処理にしてある。
    • 木や植物系のブロックを破壊する斧
      • 使用地点の周囲のバニラブロック:原木・葉・雑草・花などを消去する。
    • 周辺の農場に水源を設置するバケツ
      • 周囲に、XZ座標が共にmod 8 == 3であり耕土の上4マス分が空気である場所を見つけたら、そこに水源と光源を建てる。
      • この座標ならチャンク境界で荒地になる問題も起こらないはず・・・
    • 広範囲のMobを殺す剣
      • 着火なし・破壊なし爆発を起こす。
    • 放火だけをする火薬
      • 着火あり・破壊なし爆発を起こす。
      • Mobも死ぬ。
    • ただの大爆発する爆弾
      • 着火なし・破壊あり爆発を起こす。
      • Mobも死ぬ。
    • 横一面に同じブロックを並べるレンガ
      • 右クリックした物体が横一面に広がる。
      • 本来そのブロックを置けない場所にも問答無用で設置する。
      • TileEntityを持っているブロックは増殖しない。
    • 交配が成功するまで試行する物体
      • IC2の非APIメソッドを呼び出して交配を連続で試行する。
      • (試行にミスした回数+1)*256tickがかかったことになる。
      • 100ミスしたら中断する。
      • こちらは交配で生まれたGGR値も表示する。
    • 10000回交配した結果を出す物体
      • IC2の非APIメソッドを呼び出して10000回交配を試行する。
      • 結果出てきた作物種のランキングを発表する。
    • 支柱に一気に時間を流す砂時計
      • リーチと回数が合計16種類のパターンがあるアイテムである。
        • NBTを設定した状態の物をコマンドで出せば何でも設定できる。
      • 右クリック地点からY±1、XZ±reachの範囲の支柱のcroptickを連続で呼び出す。
        • 雑草はものすごい勢いで生える。
    • 支柱の状態をコピー・ペーストする矢筒
      • 支柱の作物種・GGR・Scan・Sizeを保持しておける。
      • このアイテムはクリエイティブタブに入っている全種のIC2種袋を登録する。
        • GGRは数パターン用意してある。
    • 導入されているCropの一覧を表示する看板
      • どこで使用しても同じ結果になる。
    • 導入されているCrop同士の交配レートを出力する額縁
      • 交配レートの計算には、(メソッドの宣言上は)支柱ブロックが必要である。支柱ブロックを右クリックしなければならない。
      • TileEntityCrop#calculateRatioForを直接呼び出している。
        • これはTileEntityCrop#attemptCrossing()で使われるメソッドである。
    • 作物の株を傷つけずに収穫物を得るはさみ
      • 収穫時に得られる収穫物の数をシミュレートする。
    • 作物の株を傷つけずに種袋を得る種
      • 破壊時に得られる種袋の数をシミュレートする。
  • 一応IC2Expは必須ではないので、単体で動作する。
  • IC2Expのバージョン変化に強いはず。
    • APIにCrop関連以外の更新が来ても互換性を維持。
  • 一応マルチサーバーでも動く・・・かも。
  • まだCoremodではない。

未解決事項:

  • 盛大に文字化けしている
  • 非devでバケツが機能しない
  • アイテム名がまだ未指定
  • 全ての説明文が日本語のみ
    • 説明文の外部化
  • Coremod部分の実装
  • GGRをインクリメント/デクリメントしていじれるデバッグアイテム

技術情報

 

最終更新:2015年06月08日 04:01