【マイクラMOD開発】他の前提MODと連携する、自作MODの作り方【Java版】

はじめに

タイトルの通り、本記事では自作のMODに対して他のMODを前提にして、連携させる方法について解説します。

Character
意外と情報がない

なお、今回は代表的な工業MODの一種である、Mekanismと連携させる場合を例に解説します。他の場合も同様だと思うので、参考にしつつ、必要に応じて変えてください。また、前提MODの定義にあたっては、そもそもとしてMODを作成できる環境が必須です。環境がない場合は、先に以下の記事をご覧ください:

Character
最低限MODが作れればOKです

build.gradleの編集

さて、前提MODの定義にあたっては、MODの概要を定義しているbuild.gradleの編集が必要です。具体的には、まずはrepositoriesという部分を探して、そこにmavenを定義します:

Copied!
repositories {
    // ...(他のスクリプト)
    maven { url 'https://modmaven.dev/' }
}
これによって、自動でこのURLからアドオンがダウンロードされます

続いて、dependenciesを探し、以下のようなfg.deobf(~~)というスクリプトを追加します。以下は、mekanismの場合の一例です。

Copied!
dependencies {
    // ...(他のスクリプト)
    minecraft "net.minecraftforge:forge:${minecraft_version}-${forge_version}"

    //追記
    compileOnly "mekanism:Mekanism:${mekanism_version}:api"
    
    runtimeOnly fg.deobf("mekanism:Mekanism:${mekanism_version}")
    runtimeOnly fg.deobf("mekanism:Mekanism:${mekanism_version}:additions")
    runtimeOnly fg.deobf("mekanism:Mekanism:${mekanism_version}:generators")
    runtimeOnly fg.deobf("mekanism:Mekanism:${mekanism_version}:tools")
}
compileOnlyは開発時だけに前提とするMOD、runtimeOnlyは実行時に必要とするMODです

ここで、おそらくminecraft_versionは、別途存在するgradle.propertiesにて定義済みだと思いますが、MODのバージョン(ここではmekanism_version)は未定義だと思われますので、次にこのバージョン部分の定義を行います。

minecraft_versionは元々存在します

gradle.propertiesの編集

以下のように、MODのバージョンを指し示すスクリプトをminecraft_versionの下あたりに追加します:

Copied!
# 他のスクリプト
minecraft_version=1.20.1

# 以下を追記
mekanism_version=1.20.1-10.4.6.20

今回はmekanism_versionを追加していますが、この部分は各自で追加したいMODに合わせて変更してください。mekanismの場合は、以下のページよりバージョンの一覧を確認できます:

https://modmaven.dev/mekanism/Mekanism

リロード&ビルド

以上を完了後、gradleのマークを押して、出てくるメニューの左上「全てのgradleプロジェクトを同期」をクリックします:

これを行ってビルドを行うことで、無事定義したMODが開発環境に入っていることが確認できると思います。このようにして前提MODを定義することができます。

最新情報をチェックしよう!