環境
Windows 10 64bit
IntelliJ IDEA 2016.2(まだインストールしてない方はこちらをどうぞ)
また当投稿内[簡単なModの作成]は[http://minecraftjp.info/modding/index.php/1.9のブロック追加] を参考にしています。
環境構築
現在は Minecraft Devを入れると簡単に環境構築が出来ます
プロジェクト作成画面にMinecraft Devが追加されるのでウィザードを進めるだけでOkです
まずはForgeを準備しましょう
1.こちら(Minecraft Forge)からForgeのソースをダウンロードします。
(Mdkというのがソースです。Recommendedを落とすのが良いでしょう)
今回は現在(2016/07/17)のRecommendedである[forge-1.10.2-12.18.1.2011-mdk.zip]を使用します
2.落としてきたzipを解凍し、フォルダを開いて
[Shift + 右クリック -> コマンドウィンドウをここで開く]を選択します。
3.コマンドプロンプト内で
gradlew setupDecompWorkspace
gradlew setupDevWorkspace ideaModule
を実行します。
これでForgeの準備はOKです
4.IDEAを起動し[Create New Project -> Empty Project]からからのプロジェクトを作成します。
5.作成したプロジェクトのフォルダに解凍したForgeのフォルダ内から
.gradle
build
gradle
src
build.gradle
forge-1.10.2-12.18.1.2011-mdk.iml
gradlew
gradlew.bat
をコピーします
6.IDEAの画面に戻り[File -> Project Structure...]から
[Project]タブを選択しProject SDKを選択します(今回はJava 1.8)
またそれに合わせて下の[Project language level]も変更しましょう
7.[Module]タブを選択し、[緑の+ -> import module]よりプロジェクトのフォルダ内にコピーした[forge-1.10.2-12.18.1.2011-mdk.iml]を選択します。
またこの時、Windowが出てきたらそれに従いましょう
出てこない場合、再起動してみてください
8.プロジェクトのフォルダ内で
gradlew genIntellijRuns
を実行します
これで終了です。
#簡単なModの作成
1.まずは[build.gradle]を開き
tasks.withType(Jar) {
compileJava.options.encoding = 'UTF-8'
}
を追記します。
2.[src -> main -> java -> com.example.examplemod.ExampleMod]を開きます。
public static final String VERSION = "1.0";
の下に
public static Block sampleBlock;
を追記します。
またinitメソッドを
@EventHandler
public void init(FMLInitializationEvent event) {
sampleBlock = new SampleBlock();
ResourceLocation registryName = new ResourceLocation(MODID, "sampleblock");
ItemBlock sampleItemBlock = new ItemBlock(sampleBlock);
GameRegistry.register(sampleBlock, registryName);
GameRegistry.register(sampleItemBlock, registryName);
if(event.getSide().isClient()){
ModelLoader.setCustomModelResourceLocation(sampleItemBlock, 0, new ModelResourceLocation(new ResourceLocation(MODID, "sampleblock"), "inventory"));
}
}
というふうに置き換えます。
またSampleBlock.javaを作成し
public class SampleBlock extends Block {
public SampleBlock() {
super(Material.ROCK);
setCreativeTab(CreativeTabs.BUILDING_BLOCKS);
setUnlocalizedName("blockSample");
}
}
という風に書き込みます。
4.[src -> main -> java -> resources]内に[assets -> examplemod -> blockstates -> sampleblock.json]を作成し、
{
"forge_marker": 1,
"defaults": {
"model": "cube_all",
"textures": {
"all": "blocks/dirt"
},
"transform": "forge:default-block"
},
"variants": {
"normal":[{}],
"inventory":[{}]
}
}
と書き込みます。
5.[View -> Tool Window -> Gradle]より[Tasks -> forgegradle -> runClient]を実行します。
6.ゲーム内よりBuilding Blocks内に紫と黒のテクスチャを持ったアイテムで、置くと土のテクスチャが反映されているものがあればブロック追加の成功です。お疲れ様でした。
#最後に
お恥ずかしながらこの記事は自分もModdingしてみたい!ということで初めてModを作りながら書いた記事なので至らない部分もございますがご了承ください。
また今後の開発においては
Minecraft Modding Wiki様
などを見ていただけると幸いです。