制作Minecraft的其他Mod附加组件的方法【适用于IntelliJ IDEA】
首先
最近我们将开发环境从Eclipse迁移到了IntelliJ IDEA。
真是太好用了!这是我真实的感受。太棒了!
不过,在迁移过程中遇到了一些问题。
这次是在制作一个通过其他Mod源代码创建的插件过程中搞得一团糟,
所以我会整理一下方法等以备记录。
这篇文章是针对那些能够独立进行Minecraft的Modding的人的。因此,本文不会解释Modding的环境设置等内容。请根据其他资料自行进行环境搭建。
09/25 追记
当前环境并非最新的1.14.x版本,而是使用1.7.10进行开发,因此内容可能会有很大差异。
虽然有些人提到了这一点,但是由于该环境使用了内置的Gradle,所以无法使用implementation。
顺便说一下,根据属性信息,版本号似乎是2.0。实在是太老了!
即使被认为是不推荐的,但至少还能运行,所以我个人觉得还可以。
开发环境 fā
今回は以下の環境でやっていきます。
-
- Windows 10
-
- JDK 8u161
-
- Minecraft 1.7.10
-
- MinecraftForge 10.13.4.1614
- Eclipse 4.6 Neon から IntelliJ IDEA 2019.1.3 へ
让我们实际行动起来
build.gradleを開く

这里应该有一个名为”dependencies”的项目。在这个项目中,可以指定在开发和构建时所需的库。请按照下面的内容进行追加。
dependencies {
compile fileTree(dir: 'libs', include: '*.jar')
}

BuildCraftのアドオンを作ってみよう!
有名な工業ModであるBuildCraftのアドオンを作っていきます。
今回は、レシピをいじるなどの簡単なものですが、やり方次第では
某木エンジンみたいなこともできるので、皆さん頑張ってください。
将BuildCraft的开发版放入文件夹中。



实际上添加食谱
本次我们将利用现有的ExampleMod源码作为样本进行流用。
这次的结果大致如下所示。
package com.example.examplemod;
@Mod(modid = ExampleMod.MODID, version = ExampleMod.VERSION, dependencies = "required-after:BuildCraft|Core")
public class ExampleMod
{
static final String MODID = "CheapestQuarry";
static final String VERSION = "1.0";
@EventHandler
public void PostInit(FMLPostInitializationEvent event)
{
if(Loader.isModLoaded("BuildCraft|Builders"))
{
GameRegistry.addShapedRecipe(new ItemStack(BuildCraftBuilders.quarryBlock, 1, 0),
"XXX", "XPX", "XXX", 'X', Blocks.cobblestone, 'P', Items.wheat_seeds);
}
}
}
FMLPostInitializeEventは、他Modなどの初期化処理も終わったタイミングで処理を行いたい時に使います。なので今回はこいつを使います。但し前提となるMod側のソースを見て事前初期化処理で全て行われている場合は初期化処理の段階(FMLInitializeEvent)でも動く場合があります。個人的には全部事後初期化処理でやった方が安全だと思います。
レシピ追加の構文は基本的なものと同じです。このコードでは、
クラフト結果のアイテムとして、BuildCraftの露天掘り機を指定しています。
ただし、このModがBuildCraft以前に読み込まれるとエラーが出て
Minecraftが起動しなくなるので、必ずModアノテーションの後に
dependencies = “required-after:BuildCraft|Core”
と入力しておきましょう。この場合では、
BuildCraftのコアModが読み込まれた後にこのModを読み込む
といった感じです。とりあえずはこれで完成なので起動してみましょう!
我试着启动并玩一下。

真是令人惊讶。才过了几分钟就增加了非常低成本的食谱!这只是时间问题,世界将会消耗殆尽….。

终局
正直Eclipseで開発していたときと殆ど同じように実装できました。
むしろ当方の環境では手動で追加しないといけなかったので、
いろいろと自動でできるようになって本当に助かっています。
こんな感じでのほほぉ~んともぢんぐをこれからもやっていこうと思いました。
祝大家拥有美好的生活!