关于 MC 的 Forge 模组开发(四):创造模式物品栏与合成表
关于 MC 的 Forge 模组开发(四):创造模式物品栏与合成表
私下我又制作了一个物品 “C++”,暂不放图。
一、创造模式物品栏
大家肯定不喜欢把东西堆在杂项里面,毕竟是自己的物品,肯定安排一个专属物品栏。
现在我们就来干这个事情。
首先新建 groups 包,和 items 放在一块,然后在下面新建 OIGroup 和 ModGroup 两个类。
OIGroup
的内容如下:
public class OIGroup extends ItemGroup {
public OIGroup(){ super("oi_group"); }
public ItemStack makeIcon(){
return new ItemStack(ItemRegistry.c__.get());
}
}
这里我们先让它继承自原版的 ItemGroup
,并提供一个构造函数,调用父类的构造函数,参数是注册名。
然后我们复写 makeIcon
方法,它返回用作图标的物品,其返回值是 ItemStack
(你可以简单地理解为,ItemStack
和 Item
的区别就是,Item
只是物品,ItemStack
则是占据一个物品栏的物品,它多出了数量和 NBT 的概念,并由一个 Item
实例代表其中所有的物品),调用 ItemRegistry
中注册的物品的 get()
方法。
这里用我们新写的 “C++" 物品作为图标,当然,你也可以替换为其他物品。
然后进入到 ModGroup
,我们要在这里声明我们创造模式物品栏的示例:
public class ModGroup {
public static final ItemGroup oiGroup=new OIGroup();
}
名字随意就好了,现在我们回到已有的物品中,更改它们的创造模式物品栏。
以 IncompleteC__
为例,打开后将 super(new Properties().group(ItemGroup.MATERIALS))
改为 super(new Properties().tab(ModGroup.oiGroup))
即可。
先别急着启动,我们到汉化文件中给物品栏加上名字:
itemGroup.oi_group: OI
然后启动游戏,就会发现物品栏多出了翻页功能,翻过去就是我们的 OI 物品栏啦!
如果汉化没加载成功,请检查一下语法,比如 ,
是否正确,我不会告诉你我卡这卡了十分钟~。
现在看看我们的物品栏吧!
二、合成配方
合成配方的制作和我们之前的部分不太一样,它是通过数据包的方式加载的。
就像为原版制作数据包一样,我们要为 mod
制作数据包。
你可能注意到了,在 resources
目录下还有一个 pack.mcmeta
文件,这其实就是数据包的一部分,尽管你可以保持默认。
我们新建一个 data
文件夹,然后在里面建立对应的文件目录。
对于我们需要的配方,它就是这样:data/olympiadininformatics/recipes
。
请不要用 IDEA
一次性建立这个文件夹,它不会建立为多层,而仅仅是一个名为:data.olympiadininformatics.recipes
的文件夹。天知道我搁这卡了多久
现在我们创建一个 json
文件,名称随意,我选择和物品同名:c__.json
。
我们接下来添加一个配方,用九个 “残缺的C++” 合成 “C++”,就像锭合成块一样。
c__.json
中内容如下:
{
"type": "minecraft:crafting_shaped",
"pattern": [
"111",
"111",
"111"
],
"key": {
"1": {
"item": "olympiadininformatics:incompletec__"
}
},
"result": {
"item": "olympiadininformatics:c__",
"count": 1
}
}
type
是合成的类型,在这里,我们是有序合成,其他都以后可能会涉及。
pattern
就是合成表的形式,其中物品用字符表示,不需要的位置用空格代替。
key
存贮每个字符代表的物品,当然,不一定是物品,也可以是指定的 tag
(或者矿辞?)。
resault
是返回的物品,其中 count
表示数量。
现在进入游戏,就可以发现配方生效了!
三、一些其他的事
参考链接:
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 被坑几百块钱后,我竟然真的恢复了删除的微信聊天记录!
· 没有Manus邀请码?试试免邀请码的MGX或者开源的OpenManus吧
· 【自荐】一款简洁、开源的在线白板工具 Drawnix
· 园子的第一款AI主题卫衣上架——"HELLO! HOW CAN I ASSIST YOU TODAY
· Docker 太简单,K8s 太复杂?w7panel 让容器管理更轻松!