自称中級者のMinecraft日記 Eclipseで艦これMOD(仮)に挑戦 鉱石ブロック4 追加鉱石ブロックをワールドに生成させる
閉じる
閉じる

新しい記事を投稿しました。シェアして読者に伝えましょう

×

自称中級者のMinecraft日記 Eclipseで艦これMOD(仮)に挑戦 鉱石ブロック4 追加鉱石ブロックをワールドに生成させる

2016-11-27 18:28
    <目 次>
    開発環境の構築編
    最初に書くメインクラスの基本形
    防具の追加1 登録用Armorクラス
    アイテムの追加1 アイテムの登録まで
    クリエイティブタブの追加
    ブロックの追加1 ブロックの登録まで
    レシピの追加1 作業台を使うクラフト
    MODのリリーステストの準備

    鉱石ブロック1 アイテムをドロップするブロック
    鉱石ブロック2 幸運のエンチャントによる加算
    鉱石ブロック3 経験値ドロップ
    鉱石ブロック4 追加鉱石ブロックをワールドに生成させる

    鎮守府MOD の配布はじめました
    ――――――――――――――――――――――――――――――――――――――――

    WorldGeneratorクラスを書こう

    ワールドで追加ブロックを生成させるには、ワールドの生成を管理する WorldGeneratorクラス を用意します。

    鎮守府MOD の WorldGenerator であるため、ChinjufuWorldGene というクラス名にしました。MOD解説では WorldGen とすることが多いようです。

    WorldGenerator の枠組みは implements IWorldGenerator を使い、


    public void generator () {} で1チャンク当たりの生成頻度を登録します。


    その public void generator() {} を支援するために private void rungenerator() {} を用意しましたが、Forum から拾ってきたので私自身はまだ「そういうものかぁ・・・」という感じです。

    private void rungenerator() {} に黄色い警告が付くのが気になりますが、この警告は public void generator() {} の中身を書くと消える警告なのでスルーして大丈夫です。

    以上の枠組みに対して「◯◯という鉱石を、1チャンク当たり幾つ作る」というコードを書いていきます。書いていく形は、ブロックやアイテムの追加に割りと近い感じになります。

    public WorldGenerator BauxiteOre; 」でクラス内での名前を宣言し、
    BauxiteOre = new WorldGenMinable
     (ChinjufuModBlocks.BAUXITE_ORE.getDefaultState(), 8);」
     で追加する鉱石ブロックと鉱脈の大きさを設定し、
    this.runGenerator(BauxiteOre, world, random, chunkX, chunkZ, 40, 10, 70);」
     で1チャンク当たりの生成頻度を設定します。

    ボーキサイト鉱石以外にも、新たに生成させたい追加ブロックがあれば、ここへ追記していくことになります。

    生成頻度は、一旦、鉄鉱石の半分ぐらいにしました。しかし、ボーキサイト鉱石1つからボーキサイトは3つドロップするため、頻度かドロップ数のいずれかを減らすかもしれません。


    書き上げた WorldGenerator は、「GameRegistry.registerWorldGenerator(); 」を使ってメインクラスに登録します。



    実行テストをしよう



    今回の実行テストはいつものスーパーフラットでは意味が無いので、クリエイティブモードにはしますが、Minecraft に地形生成をさせる通常ワールドを新たに用意します。



    ボーキサイト鉱石は地下に生成されているでしょうから、スペクターモードで地下渓谷を探しに行きます。


    ありました。F3 で照準を合わせると、ボーキサイト鉱石であることを教えてくれます。


    ボーキサイトを掘れるようにするため、サバイバルモードで採掘してみます。


    掘っている最中に上からゾンビが振ってきて焦りましたが、採掘を続けます。



    エンチャント無しで、1鉱脈から15個のボーキサイトが取れました。幸運のエンチャントでドロップ数も増やせますから、ドロップ数を2に減らしてちょうどかなぁ。

    ともあれ、Minecraft にボーキサイト鉱石を生成させることには成功しました。

    (つづく)
    ――――――――――――――――――――――――――――――――――――――――
    12月第1週・2週分休載のお知らせ

    技術的に「出来そうで出来ないこと」の試行錯誤で行き詰まっている間に、記事のストックが尽きてしまいました。

    記事を書こうにも MOD製作 が進まなければネタが発生しない関係上、しばらく MOD製作 の方へ集中したいと思います。そのため、2週分、ブロマガ更新はお休みさせていただきます。

    何とか、12月17日には記事を挙げられるスケジュールとなるよう、努力します。
    広告
    コメントを書く
    コメントをするには、
    ログインして下さい。