LoginSignup
9
13

More than 5 years have passed since last update.

IntelliJ IDEAでmoddingしてみる

Last updated at Posted at 2016-07-17

環境

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.コマンドプロンプト内で

CMD
gradlew setupDecompWorkspace
gradlew setupDevWorkspace ideaModule

を実行します。

これでForgeの準備はOKです

4.IDEAを起動し[Create New Project -> Empty Project]からからのプロジェクトを作成します。

5.作成したプロジェクトのフォルダに解凍したForgeのフォルダ内から

File
.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.プロジェクトのフォルダ内で

CMD
gradlew genIntellijRuns

を実行します

これで終了です。

簡単なModの作成

1.まずは[build.gradle]を開き

build.gradle
tasks.withType(Jar) {
    compileJava.options.encoding = 'UTF-8'
}

を追記します。

2.[src -> main -> java -> com.example.examplemod.ExampleMod]を開きます。

3.

ExampleMod.java
public static final String VERSION = "1.0";

の下に

ExampleMod.java
public static Block sampleBlock;

を追記します。

またinitメソッドを

ExampleMod.java
@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を作成し

ExampleMod.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]を作成し、

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
などを見ていただけると幸いです。

9
13
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
9
13