工業MODの制作過程

Modding・サーバPlugin制作・ツール制作など、開発関連の質問があればこちらにお願い致します。
フォーラムルール
質問関連フォーラムで質問する時は、必ず次のトピックを一読/厳守お願い致します。
viewtopic.php?f=5&t=999
  • (PostNo.322633)

工業MODの制作過程

投稿記事by 工業マン » 2018年12月14日(金) 03:50

工業MODを製作している方々に質問します。
工業MODを最初に制作したとき、
・エネルギーのインターフェース
・エネルギーを生成する装置のブロック
・エネルギーを生成する装置のTileEntity、GUI
・マシン(エネルギーを受けて動作する装置)のブロック
・マシンのTileEntity、GUI
・(マシンやエネルギーを生成する装置のレンダー)
・(あれば)エネルギーを使うアイテム、GUI
・エネルギーを伝達する装置類のブロック
・エネルギーを伝達する装置類のTileEntity
を、どの順番で作りましたか?
もしくは、これから工業MODを作っていきたいのですが、どの順番で作るのがおすすめですか?
工業マン
ID:d0970500
 

  • (PostNo.322652)

Re: 工業MODの制作過程

投稿記事by defeatedcrow » 2018年12月14日(金) 20:14

工業系mod(ここでは大手海外工業modに内容を寄せる、あるいは連携して動作するようにするmodとして書きます)の場合、まず最初にやらなければならないのはどの工業modの規格に追従するのかを決めることです

アドオンにしろ連携にしろ、工業系の場合の多くは(とくにマシンブロックやエネルギー操作の部分は)はじめから連携先modのAPIを組み込んで作る必要があります。(API側から、どんな構造のブロックを作るかの規格が示されていて、その指示に沿って作る感じです)
後から連携を追加するのは、基礎部分から作り直しになる可能性もあり(特に初心者には)めっっっっっっちゃくちゃ厳しいと思いますので、最初に決めておきましょう

したがって、工業modを作る場合、大手modのソースコードを見て内容を理解できる力も必要になります(なので、ただmodを作るより遥かに難易度が高いです、というか大手modのソースコードを読めないと何も作れないので人権がない感じです)

●大手工業modの規格
RF系…RFAPI、1.7以前はCoFHCoreをベースにするCoFHチームの系統です
 更新が早く、APIの内容も利用するModderに親切なのが特徴
 マシンTileEntityに必要なインターフェイスを実装し、用意された規格に従うように作ることで連携します
EU系…IC2の系統です
 近年なかなか安定版がでなかったり、チームが分裂して不安定なのがネック
 これはマシンTileEntityにIC2APIのベースクラスを継承させる必要があります。アドオン化して構わないなら、ベースクラス側が最低限の機能をあらかじめ持ってくれているのが良いところ
FU系…1.12.2以降限定、Forgeが用意してくれた新規格です
 Forgeだけで作れるので他の工業modに頼らなくていいのが最大のメリット
 実装方法はCoFH系に準じます(作ったのもCoFHの人なので使い方が似ています)が、FUの場合はForgeの新システムであるCapabilityへの理解が必要です

EU系は最近どうも不安定なので、RFかFUがおすすめ
どちらの場合も、規格に従って作ればいろいろなmodと自然に連携が取れます、自作のマシンが他のmodと連動して動くのは楽しいですよ


例:私の場合
AMT・HaCの場合は、エネルギーにRF系、APIやマシンの構造はFFMに追従していることが多いです
RFは特に、APIへの依存を低く作れる(RFAPIが導入されていなくてもクラッシュせず使えるものを作れる)点が便利なので多用しています


エネルギー規格を自力で作るのはおすすめしません
使われ方的に、大手と連携できていない規格のエネルギーはユーザーに嫌われる界隈ですから、アレやコレに連携してほしいという要望やクレクレが大量に押し寄せます。初心者ではおそらくそれを捌けません
加えて、初心者が適当に作ったシステムの場合おそらく遊べないくらいPC負荷が大きくなる可能性が高いです、これもめちゃくちゃ不満が飛んできます
(大手modは負荷軽減のためにいろいろな難しいことをやっています、ただ”作ることが出来る”では叩かれまくるのが工業のしんどいところです)

●作るものの難易度
・エネルギーを利用するマシン
  - エネルギーを利用する構造…
  - インベントリ…中、液体が絡むと
  - 独自レシピの自作…中、ただしAPI化は、NEI・JEIのレシピ表示への対応も
  - GUIやレンダーへの表示…(サーバ・クライアント間の同期処理について正しく理解していないと痛い目を見ます)
・エネルギーを生成するマシン
  - Tick処理でエネルギーを増やすこと…
  - エネルギーのシステム…中~(選択した大手modの規格によります)
・エネルギー・アイテムを輸送するシステム
  - ケーブルの接続やネットワークを正しく管理するアルゴリズム…激高
   (めちゃくちゃ難しいので、軽負荷で高度な有名modはそれ自体が一種の技術のお披露目のような性質です)
  - エネルギーを出し入れする構造…中
  - アイテムの出し入れ…(ロストやDupeをきっちり防止するのはなかなか大変です)

一番簡単なのは、”RFなどのエネルギーを使ってバニラの精錬アイテムを処理するかまど型マシン”だと思います
お手本(かまど)が存在し、レシピシステムの自作が不要で、エネルギー消費の管理やインベントリやGUI表示の練習になるので

そこからレシピの独自化なり、機能追加(完成品の自動搬出とか)なりを段階を踏んで手を出していくのがいいんじゃないかと思います
すべてをいっぺんにやるより、実績解除みたいに順番に習得していく感じです
輸送関係はめっちゃくちゃ難しいので、最初のうちは他のmodのパイプやケーブルを使うことにして自作は控えても問題ないと思います
そのかわり、Forgeが用意している”他のブロックがアイテム・液体の出し入れを出来るようにする機能”(ItemHandler・FluidHandler)を実装すれば他modのパイプ類と勝手につながるようになるので、こちらを作るのをおすすめします
カラスの敗残兵です。AppleMilkTea他、少々のMODを作成しています。
トピック: AppleMilkTea(~1.7.10) / HeatAndClimate(1.10.2)
作者Wiki / github / twitter
アバター
defeatedcrow
ID:69e3e707
ラピスラズリ収集家
 
記事: 1143
登録日時: 2014年1月08日(水) 13:48

  • (PostNo.322676)

Re: 工業MODの制作過程

投稿記事by 工業マン » 2018年12月15日(土) 13:30

ありがとうございます。
参考にしながら頑張って作ります!
工業マン
ID:d0970500
 


Return to 質問:開発・制作関連

x