初心者modderの備忘録

マイクラのmodを作りたくて、初めて見たのですが難しくて忘れそうなので自分用の備忘録も兼ねてブログにしようと思います

12日目 木の追加

今回は、木を追加していこうと思います。木を作るためには、最低限、原木、葉、苗木ブロックを追加する必要があります。 その後、必要に応じて木材やそれらに対応したドア、階段等も追加することになるかもしれません。 とりあえず今回は、原木、葉、苗木の…

11日目 バイオームの追加

今回はバイオームを追加しようと思います。まず、Biomeを継承したクラスを作成します。 public class TestBiome extends Biome { protected TestBiome() { super(new Biome.Builder() .surfaceBuilder(SurfaceBuilder.DEFAULT, new SurfaceBuilderConfig(Blo…

10日目 Tile EntityへのGUIの追加

先日作成したインベントリ付きタイルエンティティにGUIを実装します。GUIを持たせるためには、Containerを継承したクラスとScreenを継承したクラスが必要になります。まず、Containerクラスから作成します。 public class TestTileContainer extends Contain…

9日目 Tile Entityへのインベントリの追加

先日作成したTileEntityにインベントリを追加しようと思います。 インベントリ自体はTileEntityクラスのみ編集することで追加できます。 今回はそれに加えてインベントリにアクセスするための機能をブロッククラスに追加していきます。 インベントリを実装す…

8日目 Tile Entityの追加 (1.15)

タイルエンティティの追加の1.15バージョンを書いていきます。 タイルエンティティは情報を持ったブロックで、チェストやかまど等のように多くの場合にインベントリとGUIを持ちます。今回も最終的にはインベントリとGUIを持ったタイルエンティティを追加しま…

7日目 nbtデータを使った構造物の追加

今回は、nbtデータを使って構造物を追加します。 基本的なコードは通常の構造物の追加とあまり変わりません。以前の記事参照 2日目 構造物の生成 - 初心者modderの備忘録二つに分けて書いていきます。①構造物の保存 ②Javaの記述①構造物の保存 まず、構造物を…

よく使うサイト

MC Assets - Browser for Minecraft Asset Filesバニラのアセットやテクスチャーを見るのに使用。 MCPBot - Exports1.14と1.15の難読化マップをcsv形式でアップロードしてくれている。 func_xxxxx_xとかfield_xxxxx_xとかの元の名前等を調べることが出来る。…

6日目 Mobの追加2 (スポーン関連、loot_tableなど)

前回、とりあえずMobだけ追加しましたが、スポーンエッグや自然スポーンを登録していなかったので、それらを行なっていこうと思います。 また、Mobが倒された時にドロップするアイテムの設定などはすべてルートテーブルで行なうので、そちらも簡単に設定して…

5日目 Mobの追加 (1.15 ver)

前回の終わりにストラクチャーブロックを使った構造物の追加について書くと言ったのですが、いろいろ忘れそうなので少し予定を変更してMobEntityの追加を先に書きます。Mobの追加は1.12以前と比べると特に登録の仕方が結構変わっていました。1. ~Entity.clas…

1.15~まとめ

0日目 環境設定(Forge1.13.2) - 初心者modderの備忘録1日目 Modメインファイル(Forge1.15.2) - 初心者modderの備忘録2日目 構造物の生成 - 初心者modderの備忘録3日目 アイテムの追加とアイテムグループの追加 (追記あり) - 初心者modderの備忘録4日目 ブロ…

4日目 ブロックの追加 (単純なブロックとカスタムモデルを持つブロック)

今日はブロックの追加について書きたいと思います。 前半で基本的なブロックの登録、後半でカスタムモデルを持つブロックの登録について書いていきます。~Part 1~ 基本的なブロックの宣言と登録は次のようになります。 @Mod.EventBusSubscriber(bus=Mod.Even…

3日目 アイテムの追加とアイテムグループの追加 (追記あり)

今回はアイテムの登録と、アイテムグループの登録を行いたいと思います。 アイテムはインゴットのような、それ単体では何もできない無機能アイテムと、エンダーパールのように消費することで何かしらの効果を発揮する機能を持ったアイテムをついかしようと思…

2日目 構造物の生成

ちょっと前回の予定と変わってしまったのですが、せっかく調べたのに忘れてしまいそうなのでいろいろ飛ばして構造物の生成について書いておきたいと思います。ここでいう構造物はIFeatureConfigを継承したもので、バニラでは海底神殿、ネザー要塞のような大…

1日目 Modメインファイル(Forge1.15.2)

前回(約1年前)の記事を書いたときは1.13.2がforgeの最新版だったので環境設定は1.13.2になっていますが1.15.2でも同様の手順で出来ました。とりあえず今回からは現時点(2020/3/15)で最新の1.15.2に関して更新していこうと思います。 前回までで環境設定が終…

参考にしているサイト

www.youtube.com 1.10.2と1.11.1に対応したチュートリアルをあげています。 非常に項目が多いので、このシリーズを一通り見ればある程度好きなことができると思います。 www.youtube.com 1.12.Xがメインで1.13も少しあげています。 こちらも非常に多くの解説…

12日目 他Modのアイテム、ブロックの使用

メモどこかで宣言 Mainクラスでも他クラスでも好きなところで。 その後、postInitでBlock.REGSTRY.getObjectを使って登録(代入)する。 一応、登録の前に目的のModが読み込まれているかをif分で確認したほうがベター。例として、testmodのblock_testを利用。 …

0日目 環境設定(Forge1.13.2)

forgeの1.13がリリースされたので、そちらでMod作成をしていきたいと思います。 1.12とは結構変わっていて戸惑いました。また、ネットに落ちてるコードの数がまだ少ないのであまり参考にするものがないのも厳しいです。 少しずつ情報を集めて更新していこう…

お久しぶりです

すみません、前回の更新から数ヶ月経ってしまいました。 個人的に忙しかったり、マイクラ以外のことに興味が移ったりであまりmod作成を出来ていませんでした。 modでプログラムを触っているうちにプログラミングとかゲーム作成そのものに関心が移って、java3…

11日目 WorldGeneratorの利用

前回から少し間が開きましたたが、今回は追加したブロック等を自然生成させるためのWorldGeneratorの使い方を調べて見ました。基本的には 親クラスWorldGeneratorを継承したクラスと インターフェースIWorldGeneratorを実装したクラスの 合計2つのクラスを作…

10日目 GUIの追加

前回に引き続きTileEntityの編集をしていきたいと思います。 今回はGUIを追加します。GUIを追加するとバニラのチェストみたいに画面上でTileEntityのイベントリにアクセスできます。前回までに作った2つのクラス、BlockTomatoとTileEntityTomatoに加えて今回…

9日目 イベントリの追加

前回作ったint型のカウンターしか持たないTileEntityにイベントリを追加していこうと思います。 なので、今回はメインのクラスは触らず、BlockTomatoとTileEntityTomatoを書き換えます。まず、TileEntityクラスを書き換えていきます。TileEntityTomato.java …

8日目 TileEntityの追加

今回は、TileEntityの追加をやっていきたいと思います。 TileEntityっていうのはチェストみたいに、ブロックそれぞれが独立してデータをもっているようなブロックだと思ってます。一応、GUIの実装まで書こうと思っているのですが、長くなりそうなのとファイ…

7.5日目 jarファイルの生成

前回、サウンドを追加したのですがこのパソコンのeclipseから実行で起動すると音声が全く再生されないんですね;; 今回追加した音声とかじゃなくて、ほんとにすべての音声がないんです。クリック音もBGMも。 別のパソコンを使っているときは同じ方法で音が…

7日目 MOBへの機能の追加

前回作ったMOBに機能を追加していきたいと思います。とりあえずこんな感じの動きのものをつくりましたっていう動画あげておきます。 video1.mp4 編集したのは主に前回つくったEntitySample.javaです。 全部乗せるととても長くなってしまうので、編集または追…

6日目 MOBの追加

今回はMOBを追加していきたいと思います。 MOBの登録は主に3つのクラスで行います。 Entity~~、Model~~、Render~~、の3つです。これらをこんな感じでメインのクラスに書いておきます。testmod.java package testmod; import net.minecraft.client.rend…

5日目 アイテムの機能の追加2

前回に引き続き、アイテムに機能をもたせようと思います。 今回はエンダーパールのようにブロックにカーソルを合わせないで使うタイプのアイテムを作成します。今回は新しいアイテムは作成せずに前回作成したItemTomatoEggの中身だけ編集していこうと思いま…

4日目 アイテムの機能の追加

今回は簡単な機能を持ったアイテムを作成しようと思います。前回作成したトマトは何の機能も持たないアイテムだったので、もう少し実用的な何かを作りたいと思います。 まずは、トマトを追加したときと同じようにアイテムを登録します。 1日目 アイテムの追…

3日目 レシピの追加

今回は簡単なのでレシピの追加をやってしまおうと思います。レシピはjsonファイルを追加するだけで比較的単純に追加できます。 トマト9個からトマトブロックを作るレシピを作成します。 まず、assets.testmodにrecipesというパッケージを作ります。この中に…

2.5日目 ブロックのカスタマイズ

今回は、前回作ったブロックをもう少し細かく設定していこうと思います。 主に次の4つをやっていこうと思います。 1.各面のテクスチャを個別に設定 2.ドロップアイテムの設定 3.硬さや明るさの設定 4.当たり判定の設定 1.各面のテクスチャを個別に設定前回作…

2日目 ブロックの追加

アイテムの次はブロックの追加をやっていきたいと思います。 パッケージは前回とおなじものを使用していきます。まず新しいブロックを登録するためのクラスを作成します。 testmodのパッケージ内にBlockTomatoというクラスを作りました。 中身を書いていきま…