その1【1.7.10】minecraftminecraftmoddingはじめに実はアイデアがなくてマトモに書いたことがなかったんですよね。あと思いついても使うかどうかすら微妙だったので途中まで書いて破棄したコードも今までたくさんありました。最近無駄なModを作るのがマイブームなので、その過程でできたとあるコードをこちらで解説したいと思います。自分はしっくりこなかったので、破棄するのももったいないし、せっかく最近Qiitaを始めたので書くか!ということで書いていきます。11/09追記この記事で作ったEntityを使ってそれっぽいModを作りました。{}}本当は他にもいろいろ書いてますが、簡略化させていただきます。これがベースになります。Moddingをやったことある人なら誰でもできますね。ここには載せていませんが、ClientProxyも必要です。内容はCommonProxyを継承して中身を丸コピで構いません。Modのベースクラスです。サーバーサイドで処理したいことを書きます。クライアントサイドで処理したいことを書きます。Entityのレンダリングに使います。無機能なEntityを作るなんでもそうですが、まずはある程度コンセプトなどを考えておきましょう。スムーズに書けると思います。今回は以下のコンセプトで作っていきます。エンダーパールのように投げられる落下地点のブロックが土か草ブロックなら、耕す(耕地ブロックに置き換える)要は使い捨てワイヤレスクワですね。何でもかんでもワイヤレスにするのはどうなのかというのはさておき、書いていきます。}}これだけで、一応はEntityとして完成です。コンストラクタが3つありますが、今回は2つめしか使いません。いろんな方のコードを拝見すると、大体この3つは最低限書いてあるので書いておいて損はないでしょう。親クラスは投げられるEntityとしてある程度機能が既に備わっているEntityThrowableを使います。...保険ですね!次にこいつをEntityとしてMinecraftに登録します。PreInitのタイミングで登録します。好きなタイミングで登録できますが、事前初期化処理の時が一番いいと思います。}registerModEntityメソッドについて解説します。EntityRegistry内では以下のようになっています。Entityを登録する時の名前。速度情報の有無この辺はEntityの動いて欲しい挙動を元に自分で微調整してあげるといいです。登録はしましたが、これでは実際にできているのかよくわからないので、このEntityを投げられるアイテムも作っておきます。Entityを投げられるアイテムを作るアイテムを登録する処理については割愛させていただきます。}}エンダーパールのソースを流用しました。スタックサイズや名前とかは自分で好きにいじってください。生成するEntity先程Entityのクラスで作った2つ目のコンストラクタを使うのはこのためです。しないと、スロワーの情報が取得できないため、ワールド内でアイテムを使った時に上手くEntityが生成されません。プレイしてみるとりあえずEntityを投げられるようになったのでプレイしてチェックしてみます。微妙に見にくいですが、右クリックした際に白いブロックが出ているのがわかると思います。いうわけで、Entityとしては完成です!長くなりそうなので次回に続く!ちゃんと解説しようとすると思った以上に長くなりそうなので、続きは別の記事に分けたいと思います。次回は肝心な中身を記述していこうと思います。requestStockLike2@RiSE4MinecraftでModdingやってます。upLoginユーザーは見つかりませんでした。