已注销_uD2k2z 发表于 2023-8-6 10:38:10

【Fabric Mod】给大家讲讲mod开发时的巨坑

本帖最后由 Axlotol 于 2023-8-14 18:33 编辑

经过许久的论坛维护,是终于能够访问论坛了。这段时间我一直在研究mod,有一个非常大的坑我自己踩到了。
我们都知道Minecraft Java版的mod可以用Java开发(Fabric还可以Kotlin),Java属于静态类型的语言。
比如我想要注册一个物品,我在编辑器里输入:
public class ExampleMod implements ModInitializer {


或者:
public class ExampleMod implements ModInitializer {

    // an instance of our new item
public static final Item CUSTOM_ITEM =
但是你直接粘贴的话一定会报错,因为Registry在原生Java里就是存在的。所以此时编辑器不知道你到底指那个Registry。如下图:

你会发现这里既有Java的Registry也有来自net.minecraft的,我们要选的是net.minecraft的,不是Java的(在上方图片突出显示)。
甚至是后面的Identifider也有这个坑。如果你输入正确就不会报错我们可以在上面启动调试,如图:

点击”▲“继续,然后进入游戏(进入一个存档或者新建一个)。
在聊天框里输入”/give @s <你的命名空间>:<物品名称>“
在之前需要运行“genSource”。

希望你可以吸收这个教训,做出独一无二的mod :)。

--Karla Tarkuros

已注销_r8iazA 发表于 2023-8-6 10:51:25

看不懂,但我还是觉得很震撼
(点个赞[贴吧_滑稽])

Annakra 发表于 2023-8-6 11:17:22

一大推代码我表示震撼

LinGCar 发表于 2023-8-6 11:42:28

导错包了是吧(
之前看到一个群友导错了 他修了一天(
页: [1]
查看完整版本: 【Fabric Mod】给大家讲讲mod开发时的巨坑