<目次に戻る>
開発環境をカスタマイズする
build.gradleの内容を編集することで、開発及びビルドの環境をカスタム出来ます。 出来ることはいろいろありますが、ここでは要求度の高そうなものについて説明していきます。
build.gradleの設定
デフォルトのbuild.gradleはこんな感じ。
buildscript { repositories { mavenCentral() maven { name = "forge" url = "http://files.minecraftforge.net/maven" } maven { name = "sonatype" url = "https://oss.sonatype.org/content/repositories/snapshots/" } } dependencies { classpath 'net.minecraftforge.gradle:ForgeGradle:1.2-SNAPSHOT' } } apply plugin: 'forge' version = "1.0" group= "com.yourname.modid" // &nolink(http://maven.apache.org/guides/mini/guide-naming-conventions.html) archivesBaseName = "modid" minecraft { version = "1.7.10*10.13.4.1448-1.7.10" runDir = "eclipse" } dependencies { // you may put jars on which you depend on in ./libs // or you may define them like so.. //compile "some.group:artifact:version:classifier" //compile "some.group:artifact:version" // real examples //compile 'com.mod*buildcraft:buildcraft:6.0.8:dev' // adds buildcraft to the dev env //compile 'com.googlecode.efficient*java*matrix*library:ejml:0.24' // adds ejml to the dev env // for more info...} // &nolink(http://www.gradle.org/docs/current/userguide/artifact_dependencies_tutorial.html) // &nolink(http://www.gradle.org/docs/current/userguide/dependency_management.html) } processResources { // this will ensure that this task is redone when the versions change. inputs.property "version", project.version inputs.property "mcversion", project.minecraft.version // replace stuff in mcmod.info, nothing else from(sourceSets.main.resources.srcDirs) { include 'mcmod.info' // replace version and mcversion expand 'version':project.version, 'mcversion':project.minecraft.version } // copy everything else, thats not the mcmod.info from(sourceSets.main.resources.srcDirs) { exclude 'mcmod.info' } }
部分的にの変更・あるいは下部に新しい行を継ぎ足し で済む方法のみを、ここでは記述していきます。 他にも改変ポイントはあるのですが、今回は割愛。
MODの基本情報
version = "1.0" group= "com.yourname.modid" // http://maven.apache.org/guides/mini/guide-naming-conventions.html archivesBaseName = "modid"
この部分はデフォルトのままでも動作はしますが、 archivesBaseNameは出力時のMODのパッケージ名、versionはバージョンを変更できるので、 MOD出力後に手作業でパッケージ名を変更するよりここで変更した方が楽です。
groupは(ライブラリ自動DL用などで)mavenを利用するときに変更する部分のようです。 デフォルトの命名に習って、"com.作者名.MODID"としておけば良いんじゃないかと。
dependencyの設定
中段あたりにあるdependenciesの部分では、 開発及びビルドに必要なライブラリを指定できます。
これを、まずこのように変更します。
dependencies { compile fileTree(dir: 'libs', include: '*.jar') }
これは、「build.gradleのこのファイルと同じディレクトリ内に「libs」というフォルダがあるなら、 その中にある、拡張子が.jarのファイルをライブラリとしてコンパイル時に使用できる」という設定です。 更に、eclipse上でのビルドパスの指定なども自動で行ってくれるので、ライブラリに含まれるソースコードも開発に活用できます。
次に、実際にフォルダを作ります。
使いたいライブラリ(deobf版のMODなど)がある場合はここで入れてしまってOK。 deobf版MODの場合、ここにライブラリとして入れれば、デバッグプレイ時にも導入された状態で起動できます。 私の場合は、自作MOD自体がお助けライブラリとして機能するため&デバッグプレイで使いたいため、 自作MODのdeobf版は大抵放り込んでいます。
- ※注意点として、開発環境の場合は実環境以上にバージョンあわせがシビアになるようです。
- deobf版のバージョンを変えたら動かなくなった、Forgeを上げたら動かなくなった、というのが頻発したりします。
- 動くバージョンを根気よく探る気力も必要です。
文字コードを変更する
デフォルトではソースコードやビルド時にはSJISが使われていますが、このままではソースコードに日本語を含んでいるとビルドできなくなります。 そこで、文字コードの設定をUTF-8に変更します。
tasks.withType(Jar) { compileJava.options.encoding = 'UTF-8' } tasks.withType(Jar) { compileApiJava.options.encoding = 'UTF-8' }
上記の記述を、build.gradleの下部に追加して下さい。
build.gradle変更後
編集したらbuild.gradleを保存しましょう。 注意点:保存時の文字コードはSJISで保存するか、BOMなしの文字コードにしましょう。 BOMつきUTF-8等で保存してしまうと1行目にバケ文字が挿入されてしまい、正常に環境が作れなくなります。
保存後は、install.batをダブルクリック。 build successの文字がコンソールに出ていれば、build.gradleでの環境カスタムは完了です。
この後も、build.gradle変更後はinstall.batを叩かないと変更が反映されませんので、覚えておきましょう。
install.bat後、Eclipseを起動すれば、「libs」フォルダに入れていたdeobf版MODもプロジェクトに反映しているはずです。
こんな感じ。
Eclipseの設定変更
以下は日本語版の場合なので、日本語化していないものだと名称が異なると思います。
文字コードの変更
- ウィンドウタブからの変更
ウィンドウ」タブ→設定 を開きます。
設定のうち、「一般」→「エディター」→「テキストエディター」→「スペル」を選択。
「エンコード」という項目があるので、そこでUTF-8を選んで設定を保存します。
- プロジェクトのプロパティからの変更
プロジェクトエクスプローラに表示されている「Minecraft」のプロジェクトを右クリック。 「プロパティー」を選択します。
ここで、「テキストファイルのエンコード」の項目がUTF-8になっていなければUTF-8を選択して保存しましょう。
文字コードの選択はこれでOKです。
ここまで設定すれば、日本語を含む自分のソースや和製MODが含まれていてもコンパイルできる環境が整います。