初心者Mod作成日記

Mod作成初心者がModを作成していくブログです。 少しでもみなさんのやくにたてたら嬉しいです。

タグ:Forge

みなさんModding作業ははかどっているでしょうか?
私は先ほど一つModを完成させることに成功したので、
最初にそちらの紹介をして
一番最初に作りのはそれに似たものにしていこうと思います。

このようなアイテム、ブロック、ツールなど
基礎的なものの紹介をしていきます。

SnapCrab_NoName_2014-9-29_15-50-40_No-00

今回は左下の棒と、中央列右の青いのを作っていきます。


★簡単なアイテムの作成★

SnapCrab_NoName_2014-9-29_16-23-15_No-00

前回はここまで作りましたが、皆さんついてこれてますでしょうか?
今回からかなり本格化してきますので、
頑張っていきましょう。

package LXM;

import cpw.mods.fml.common.Mod;
import cpw.mods.fml.common.event.FMLPreInitializationEvent;
import cpw.mods.fml.common.registry.GameRegistry;
import net.minecraft.creativetab.CreativeTabs;
import net.minecraft.item.Item;

public class Middle {

}
 
 
まずimportという項目が必須になってきますのでしっかりと
これをコピペするなりしてください。
importというのは簡単に言うと、許可みたいなものです。
コードをうっていくなかで許可されてないものをうつと注意をうけます。
なのでここで最初に許可を取っているようなものです。
このimport項目は作るものによって変わります。

次に、Modの情報をかいていきます。

 public class Middle{     のうえに

@Mod(modid="~~~", name="===", version="0.0.0")

というようなものをつけてください。 
~~~という欄には他のModと区別できるようにModのIDを
===という欄にはそのModの名前を
0.0.0というのはそのModのVersionを書き込んでください。基本的になんでもOKです。

@Mod(modid="Lammerite-X-", name="Limmerite -X- Mod", version="1.0.0")

私の場合はこうなりました。

そしたらまず、
public class Middle {
の下の  }  までの間に

public static final String MODID = "先ほどのModID"
public static final String VERSION = "先ほどのModのVersion";


を書いてください。

public static Item 今回作りたいアイテムの名前(英語表記);

をその下に書いてください。
これは重要となりますが、
表面にはでなくModをつくる際のものになるので自分がわかれば何でもいいです。
空白は使わないでください。

そしたらまず
クラスの中でもいろいろ種類があるのですが、今回はそのうちの一つ
@Mod.EventHandlerというのを使います。
意味はよく知りません。
すいません(笑)
@Mod.EventHandler
public void preInit(FMLPreInitializationEvent event)
    {

    } 
そしたら
{

}

のなかに

LammeriteOre = (new Item());
LammeriteOre.setUnlocalizedName("LammeriteOre");
LammeriteOre.setCreativeTab(CreativeTabs.tabMaterials);
GameRegistry.registerItem(LammeriteOre, "LammeriteOre"); 
 というようなものを打ちます。
赤い文字の部分は先ほどうった作りたいアイテムの名前の
もので統一しておくとわかりやすいです。
Materialsというのはクリエイティブのときに
どこにおくかというものです。
この場合、素材などが置いてある場所におかれます。

こちらのクリエイティブタブですが、
今度そのModだけのクリエイティブタブを作ることも
更新したいなと思っておりますので、その際に変え方も紹介します。
SnapCrab_NoName_2014-9-29_17-33-20_No-00

左上のアイコンも自分で作ったアイテムに変えられます。


でもって、
GameRegistry.registerItem(LammeriteOre, "LammeriteOre"); 
の部分ですが、これは
登録をしています。
これがないといくらなにをやっても追加はされませんので必ず入れてください。

次にテクスチャを入れていきます。

前回作ったLXM Texturesフォルダで右クリック→新規→パッケージで、
パッケージ名を

assets.(最初につけたModの名前をすべて小文字で入力).textures.Items

かならずこれにかんしては全部小文字にしてください。

そしたら

SnapCrab_NoName_2014-9-29_17-40-21_No-00

このように追加されてるとおもいますので、
Itemsのうえに16×16でかいた絵をおくと

SnapCrab_NoName_2014-9-29_17-42-13_No-00

これをファイルをコピーを選びOKにしてください。
そして、Itemsの上で右クリックし、中間あたりにリフレッシュというのが
あるとおもうのでそれをクリック

そしたらItemsのなかに先ほどいれた写真がありますよね?
あればうまくできています。
ではそのテクスチャを反映させましょう。

LammeriteOre = (new Item());
LammeriteOre.setUnlocalizedName("LammeriteOre");
LammeriteOre.setCreativeTab(LammeriteX);
LammeriteOre.setTextureName("Mod名をすべて小文字にしたもの:テクスチャの写真の名前");

GameRegistry.registerItem(LammeriteOre, "LammeriteOre"); 
 先ほど入力したものに
赤い部分を追加してください。 
テクスチャの写真の名前は拡張子をかかないでください。 
そして起動したら

SnapCrab_NoName_2014-9-29_18-3-32_No-00

このように適用されているはずです。


これにてアイテムの追加編は以上です。
次回はクラフト、かまどの編集をしていきます。

みなさん、こんばんわ。
このブログは初心者が、Modを作成しているところを
ブログとして紹介していくものです。
Modを作ってる最中におもいましていざ行動を
おこしてみました。
三日坊主になることが多いですが自分なりに頑張ろうと思います。
 
それでは本題。

 ★Mod開発環境をつくる★

こちらに関しては自分も大体把握はできてるので、
教えやすいのですが間違っていたりもっとやりやすい方法があれば
コメント欄にて教えてくれるとうれしいです。
なお、forgeのみにてのmoddingとなります。
modloaderは使いませんので
ご了承ください。

---自分の開発環境---
windows8.1
64bit
forge 1.7.2

---用意するもの---
Java
JDK
開発したいversionのforgeのsrcファイル
Eclipse
根性

これだと何をいってるのかさっぱりという方も多いとは思うので
自分なりの理解方法で説明しますので、
知ったかになってしまうかもしれませんがご了承ください。

1 Javaの用意

コチラからJavaをダウンロードしてください。
※この作業はマイクラが普通にプレイできている方は必要ないです。

ダウンロードしたら起動し、
その先は指示に従ってください。

2 JDKの用意

コチラ
からJDKをダウンロードします。
少し下に下がると画像のようなものがでてくるとおもいますが、
このままではダウンロードできないので
JDKの利用規約をしっかり読み、
Decline License Agreementから
Accept License Agreementにチェックをしてください。
(日本語に訳すと同意しないから同意するにチェックをしています。)

SnapCrab_NoName_2014-9-28_1-2-34_No-00
そうしたら自分のパソコンにあったものをダウンロードしてください。

ダウンロードし終わったらこれも起動し、
その先の指示に従ってください。

3 Forgeの用意

次はforgeの準備をしていきます。
modを使用したことあるなら一度は
触れたことがあるとはおもいます。
その際はインストーラーというのをダウンロードしていたとは思いますが、
そのとなりまたは下のsrcというのをダウンロードしてください。
そしたらドライブ直下が好ましいですが、Modを作る基礎となる
データが入るためのフォルダを一つ作ってください。
私はCドライブ直下にCreateModというのをつくりました。

そしたらそれを開きその中にworkフォルダをつくります。
名前はコチラもおすきなのでいいです。
そしたらそのworkフォルダの中で、forgeを解凍してください。
その際にバラバラ(一つのフォルダにまとめられてない)に
解凍されてしまったら、新しいフォルダをつくりその中にいれてください。
そのフォルダの名前はzipファイルにまとめられているときの
forgeのsrcフォルダの名前が好ましいです。

4 パソコンの設定

左下のwindowsボタンをおし、(windows8.1の場合、右クリック)
コントロール パネル→システム→セキュリティ→システム→システムの詳細→詳細設定→環境変数
を開いてください。
そしたら意味の分からない文字がでるとおもいますので、
変数名(上のやつ)を
JAVA_HOME
変数値(下のやつ)を
JDKがダウンロードされたところのPathをいれます。
たぶんCドライブのProgram Filesの中のJavaの中にあると思うので先ほどダウンロードしたやつを
開き、そこのPathをコピペしてください。
サンプル
C:\Program Files\Java\jdk1.7.0_67
そしたらOKをクリック
次に、Pathという項目を探し編集をクリックしてください。
そしたら一番最後のところに;をつけて
先ほどのをつけてください。
そしたら;をつけずにOKをクリックしてください。

5 forgeにminecraftのデータをダウンロードする

コマンドプロンプトを開き
cd (forgeのファイルの場所のパス)をうってください。

サンプル
cd C:\CreateMod\wk\forge-1.7.2-10.12.2.1121-src

このようにうってコントロールパネル内でのフォルダ移動をしてください。
そうしたら、
gradlew setupDecompWorkspace --refresh-dependencies eclipse
という風にうってください。
そうしたらロードが始まりますので
BUILD SUCCESSFUL
という風に表示されたら、
成功していますが、
BUILD FAILED
と表示されたり、ロードが
BUILD SUCCESSFUL
と表示されずに終わったら、
途中で作業をミスしているか、
windowsのOSなどによって少し違うか、
JDKの8をダウンロードしている可能性、
Pathを間違っている可能性があります。

もう一度見直してみてください。

6 Eclipseのダウンロード

コチラ
から自分のbitにあったJavaのFull Editionをダウンロードして、
先ほど作ったCreateModフォルダに解凍してください。
解凍が終わったらpleiades→eclipseを
ひらいて、eclipse.exeを開いてください。
そしたら途中で写真のようなものが出てくると思いますが、SnapCrab_NoName_2014-9-28_1-37-13_No-00
参照から、先ほどつくったCreateModの中のworkフォルダを指定して
OKをクリックしてください。

そしたらeclipseが開くと思いますので、
左上のファイル→インポートを開き
一般→既存プロジェクトをワークスペースへを選択し、次へをクリック
そしたらルートディレクトリーの選択のとこの参照をクリックし、
forgeのsrcフォルダを選択しOK→完了をクリック。

7 エラーを消す

これに関しては原因がわかりませんが人によってはエラーがでるみたい
なのでやっていきます。

forgeフォルダをインポートした際に問題というとこにエラーが
表示されてなければとばしてOKです。

基本てきにエラーは2個のはずなのですが
それ以上あるかたも一応試してみてください。


5 forgeにminecraftのデータをダウンロードする
で、開いたコマンドプロンプトを起動してください。
そしたらそこに
gradlew --refresh-dependencies eclipse
と、うってください。
そしたらロードが始まると思いますので、
また
BUILD SUCCESSFUL
 と表示されたらOKです。

8 基礎を作る

Mod開発環境は整ったので最初にEclipseを使って作っていくのが、
野球でいうグラウンドです。
これがないとなにもはじまりませんのでしっかりとついてきてください。

では、まず左上のフォルダ→新規→Javaプロジェクトを開き

プロジェクト名を今回つくりたいMod名にしてください。
今回は「Lammerite-X-Mod」という名前にしました。
Lammeriteとはランメライトという鉱石です。

SnapCrab_NoName_2014-9-29_16-4-59_No-00

そしたら次へをおし先ほどいれたModの名前のうえで右クリックをし、
新規ソースフォルダーを選んでください。
フォルダー名は、まずModの中心となるものの名前になります。
今回は「LXM Java」にしました。
そしたら完了をおして、もう一度
新規ソースフォルダーを選び、
テクスチャをいれたりするフォルダーなので
フォルダー名は「LXM Textures」にします。
そうしたら、

SnapCrab_NoName_2014-9-29_16-11-44_No-00

ソースのとなりのプロジェクトを開いて、
追加→6でやったforgeを選択し、OKを押してください。
そうしたら完了を押してください。

SnapCrab_NoName_2014-9-29_16-16-1_No-00

左側の欄がこのようになっていると思うので先ほど作った
ファイルのようなものの横の▷をおしてください。
LXM Javaの上で右クリック→新規→パッケージを開き
名前はこれからModを作るための工場みたいなものなので
「LXM」にしておきます。

そしたらそのMiddleの上でもう一度右クリック→新規→クラスを選択してください。
クラス名は中央となるもの(このクラスから分岐していくようなもの。)なので
「Middle」にしておきます。
そして完了を押してください。
そしたら右側に、

SnapCrab_NoName_2014-9-29_16-23-15_No-00

このようなものができましたよね?
これが野球のグラウンドとなっていきますので、
これができない場合は
もう一度違うことをやってないかなど細かくチェックしてみてください。

9 EclipseでMinecraftを起動する!?

えーはい。
MinecraftをEclipseで一応起動することができます。
今作ってるModをすぐに試しプレイができるようなもんです。
サーバー用のものもつくっているならばそれもできます。
ですが、ほかの鯖などにはいることは不可能です。

あくまでも試しプレイということを忘れないでください。


SnapCrab_NoName_2014-9-29_22-40-27_No-00

上の欄の緑色の丸の中に▷がはいってるだけのやつの隣の▼をクリックし、
実行の構成をクリックしてください。
そしたら左の欄のJavaアプリケーションをダブルクリックし、
名前は特に何でもいいです。
メインのプロジェクト欄は
参照をおし、forgeフォルダを選択してください。
メイン・クラスは

net.minecraft.launchwrapper.Launch 

を選択しOKをおしてください。

SnapCrab_NoName_2014-9-29_22-48-58_No-00

次に、メインの隣の引数を開き
プログラムの引数の欄に

--version 1.7 --tweakClass cpw.mods.fml.common.launcher.FMLTweaker --accessToken modstest --assetsDir=eclipse/assets --username (Minecraftのユーザーネーム)

を入力し、
VM引数に

-Dfml.ignoreInvalidMinecraftCertificates=true 

と入力してクラスパスというのに移動してください。

SnapCrab_NoName_2014-9-29_22-49-19_No-00


ユーザーエントリーというのをクリックし、
プロジェクトの追加→先ほど作った自分のModの名前が書いてあるものをチェック
→下の選択された~~~の二つの項目のチェックをはずし、OKをおします。

SnapCrab_NoName_2014-9-29_22-49-39_No-00

そしたら実行ボタンをおします。
あら不思議、Minecraftが無事起動したと思います。

環境開発はこれで終了です。お疲れ様でした。
質問等があればぜひぜひいってください。
こちらの勉強にもなるのでお願いします。( *´艸`)
次回は、簡単なアイテムの追加をしていこうと思います。 

↑このページのトップヘ