農業Modを作りたい!

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

農業Modを作りたい!

投稿記事by gatya1129 » 2016年4月05日(火) 20:49

農業Modを作ろうとしているのですが、いろいろわからないことがあるので教えてください!

・環境
 forge-1.7.10-10.13.2.1291

・教えてほしい内容
 ・種を持ち、右クリックしたときに畑に植える処理
 ・作物がたまに成長するようにする処理
 ・骨粉の処理
 ・作物を壊したときにドロップするアイテムの種類と個数の設定の仕方
 ・作物のテクスチャの設定の仕方
 ・エントリポイントに作物のブロックを追加する処理

Modding初心者なのでわからないことがたくさんあるのでよろしくお願いします。
サンプルコードを一緒に添付してくれたらうれしいです。。。
modの公開をしています。
ProactiveMod1.7.10対応版、整地系ツール追加modなど)
また、簡単なmodの制作依頼も受け付けています。
よかったらどうぞ
Modding歴=Java歴<プログラム歴ッ!
gatya1129
ID:fa4b0917
大工さん
 
記事: 67
登録日時: 2015年2月21日(土) 21:01
お住まい: どこだと思う?ねえ、どこだと思う?

  • (PostNo.269622)

Re: 農業Modを作りたい!

投稿記事by dwarf » 2016年4月05日(火) 22:29

植物は作ったことがないので詳しくは知りませんが、
こちらを参考にして作れば質問のうちの大半はできるのではないでしょうか。
http://minecraftjp.info/modding/index.php/1.6%E3%81%AE%E9%AA%A8%E7%B2%89%E5%87%A6%E7%90%86
http://minecraftjp.info/modding/index.php/1.6%E3%81%AE%E6%A4%8D%E7%89%A9%E8%BF%BD%E5%8A%A0

ざっと見た感じ、

・作物がたまに成長するようにする処理
・骨粉の処理
・作物を壊したときにドロップするアイテムの種類と個数の設定の仕方

は、どこがその処理か書いてあるようです。

・エントリポイントに作物のブロックを追加する処理  は
SampleBushCore.javaの
コード: 全て選択
public static Block sampleBush;

です。
ローカライズとIDの部分はバージョン的にいりません。(ローカライズは方法変更)

・種を持ち、右クリックしたときに畑に植える処理  は
コード: 全て選択
@Override
    protected boolean canPlaceBlockOn(Block parBlock)
    {
        return parBlock == Blocks.farmland;
    }

だと思います。
というか、ここではfarmland(耕された土)にしか置けないようにしていて、
作物を植えるという処理は、作物自体がブロックなので書かれていない?です。

わかりにくかったらすみません。
ここでいらないMod作ってます。
アバター
dwarf
ID:2627f285
石掘り
 
記事: 96
登録日時: 2012年12月20日(木) 20:18

  • (PostNo.269711)

Re: 農業Modを作りたい!

投稿記事by gatya1129 » 2016年4月06日(水) 20:18

dwarf さんが書きました:

返信ありがとうございます。
いくつか質問があるので質問させていただきます。

  • 種を持ち右クリックしたときに畑に植える処理は
     
    コード: 全て選択
    @Override
        protected boolean canPlaceBlockOn(Block parBlock)
        {
            return parBlock == Blocks.farmland;
        }

     これを植物の種のコードに書けばいいのでしょうか?
  • 骨粉の処理は作物のブロックのクラスに2つ、別のページにもう1つありますが、どれを使えばいいのでしょうか?
  • 作物を壊した時にドロップするアイテムの種類の設定の仕方は、
    コード: 全て選択
        @Override
        // ドロップするアイテム
        public Item getItemDropped(int metadata, Random random, int fortune) {
            return /* ここに種や収穫物等*/ ;

    これ↑の
    コード: 全て選択
    /*ここに種や収穫物など*/

    のところにどのように書けばいいのでしょうか?

分からないことがたくさんあるので、よろしくお願いします。
modの公開をしています。
ProactiveMod1.7.10対応版、整地系ツール追加modなど)
また、簡単なmodの制作依頼も受け付けています。
よかったらどうぞ
Modding歴=Java歴<プログラム歴ッ!
gatya1129
ID:fa4b0917
大工さん
 
記事: 67
登録日時: 2015年2月21日(土) 21:01
お住まい: どこだと思う?ねえ、どこだと思う?

  • (PostNo.269729)

Re: 農業Modを作りたい!

投稿記事by elise_blacklab » 2016年4月06日(水) 21:57

挙げられたチュートリアルは作物というよりは「植物」寄りなので,結構細かい違いがありますね…
と言うのも,上のチュートリアルは作物ではなく草や花について追加・処理することが前提のようです.
ひとまずはお試しとして,上のチュートリアル通りに作ってみて,そこから作物を作るという流れにしても良いですが.

とりあえず,質問の件に触れていきましょう.
種を持ち右クリックしたときに畑に植える処理は〜これを植物の種のコードに書けばいいのでしょうか?

これは「植物ブロック」に対して「そのブロックが他のブロックの上に置けるか?」を判定する処理です.「種(アイテム)」に関する処理ではありません.
種を持って右クリックするとアイテムを植える処理については後述します.

骨粉の処理は作物のブロックのクラスに2つ、別のページにもう1つありますが、どれを使えばいいのでしょうか?

バニラの処理を使うのが「1.6の植物追加」に書かれているもの,FMLのイベントを利用するのが「1.6の骨粉処理」ページに書かれているものです.どちらを使っても構いませんが,作物を操作する他MODとの互換性に違いが出ます.1.7だとBoneMealEventは存在しないですね…

作物を壊した時にドロップするアイテムの種類の設定の仕方は、

getItemDroppedの返り値はItemなので,ドロップさせたいアイテムの種類だけ指定します.
例えば小麦の種をドロップさせたいのならばreturn Items.wheat_seeds;(1.7だと違ったかもしれない)というようにします.
ドロップさせる量を調整するにはquantityDroppedでドロップさせたい量を整数値で返してください.
他にもドロップさせたいアイテムを指定するには,onBlockHarvestedなどで手動でアイテムをドロップさせる処理が必要です.

それと,「種を持って右クリックで植える処理」は,ItemクラスのonItemUse()をOverrideして,その中でWorld.setBlockで作物ブロックを設置する,という手順で実現できます.仕組みは至って単純なので,バニラのItemSeedsクラスのソースを参照するのが早いです.
一応,バニラ互換(他MODから明確に作物の種だと認識させることができます)で種アイテムを追加するには,IPlantableインターフェースを実装しておくと良いでしょう.
メイドつくってたりします.http://el-blacklab.net/
アバター
elise_blacklab
ID:62eed25c
掘り廃人
 
記事: 2287
登録日時: 2014年6月25日(水) 18:30

  • (PostNo.269786)

Re: 農業Modを作りたい!

投稿記事by gatya1129 » 2016年4月07日(木) 15:45

elise_blacklab さんが書きました:一応,バニラ互換(他MODから明確に作物の種だと認識させることができます)で種アイテムを追加するには,IPlantableインターフェースを実装しておくと良いでしょう.

IPlantableの実装をgoogle先生に聞いたところ、http://minecraftjp.info/modding/index.php/IPlantableが出てきたのですが、どこに何を書けばよいのでしょうか?

分からないことだらけですが、よろしくお願いします。
modの公開をしています。
ProactiveMod1.7.10対応版、整地系ツール追加modなど)
また、簡単なmodの制作依頼も受け付けています。
よかったらどうぞ
Modding歴=Java歴<プログラム歴ッ!
gatya1129
ID:5100392b
大工さん
 
記事: 67
登録日時: 2015年2月21日(土) 21:01
お住まい: どこだと思う?ねえ、どこだと思う?

  • (PostNo.282970)

Re: 農業Modを作りたい!

投稿記事by たいさん » 2016年9月12日(月) 19:52

話の流れに関係はありませんが、自分も作物が追加したくて、
とある農業MODをつくっている方に質問したんです。
そしたら、
Minecraft Modding Tutorial 1.7.2 #28 - Crops

Minecraft Modding Tutorial 1.7.2 #30 - Adding Seeds to the World
を進められて、この動画を見たら、なんと成功したんです!
英語ですが、分かりやすいので、参考に
マインクラフトの中で、
蕎麦職人になってみませんか?

そばMODっていうMOD、絶賛更新中です!
1.7.10
ぜひダウンロードして下さい!
ダウンロード先
アバター
たいさん
ID:585a93e2
石掘り
 
記事: 128
登録日時: 2014年8月30日(土) 16:48
お住まい: Eclipseの中


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

x