的NeoForge1.20.4Mod开发的视频,这篇教程是我边学边总结的,与其说是教程更像我的学习笔记,如有不清楚的地方,大家可以在评论区提问。在我力所能及的范围内,我都会解答的。
创建ModCreativeTab类
你可以将此类与ModItems类放在一个目录下,也可以和ExampleMod类放在一起
public class ModCreativeTab {
public static final DeferredRegister<CreativeModeTab> CREATIVE_MODE_TABS =DeferredRegister.create(Registries.CREATIVE_MODE_TAB, ExampleMod.MODID);//物品栏注册器
public static final String EXAMPLE_MOD_TAB_STRING = "creative.example_tab";//鼠标移到物品栏上显示的名称,会在lang中翻译这个键
//
public static final Supplier<CreativeModeTab> EXAMPLE_TAB =CREATIVE_MODE_TABS.register("example_tab",()->CreativeModeTab.builder()
.withTabsBefore(CreativeModeTabs.COMBAT)//这表示这个自定义标签会插入到原版创造标签页 “战斗(Combat)” 之前
.title(Component.translatable(EXAMPLE_MOD_TAB_STRING))//设置标签页显示的名称,使用翻译 key,这样不同语言也能自动支持
.icon(()->ModItems.RUBY.get().getDefaultInstance())//设置这个标签的图标,这里使用注册的 Ruby 物品实例
.displayItems((pParameters,pOutput) -> {
pOutput.accept(ModItems.RUBY.get());//这个是标签页打开后显示的物品列表
})
.build()
);
public static void register(IEventBus eventBus){//把你的创造标签页注册器挂到模组的事件总线上
CREATIVE_MODE_TABS.register(eventBus);
}
}
记得把register写到总线里去,和物品注册一样
lang中翻译creative.example_tab这个键

还要说明一点
.displayItems((pParameters,pOutput) -> {
这里可以写成
.displayItems((parameters,output) -> {
那为什么会有这个p呢?
首先我们要知道Mojang 和 Forge 的代码通常是由自动映射生成的。Minecraft 的源代码本身被 混淆过(方法参数没有真实名字),Forge 的开发者会用映射(MCP mappings / community mappings)把名字翻译成人类可读的名字。 有些参数还没有被映射出来,这时 Forge/NeoForge 的 MDK 会自动生成临时名字,例如 p_12345_ 或 pParameters 这种带前缀 p 的形式。这就是为什么很多 Minecraft/Forge/NeoForge 示例用 p 前缀。这个 p 只是开发者/映射系统加上的前缀,用来避免和其它变量名冲突或者标记这是一个“参数”
Item和ItemStack的区别
Item 是 Minecraft 里 一种物品类型的定义,类似一份“物品的模板”
-
它描述了这个物品是什么,比如名字、最大堆叠、耐久、效果等等
-
比如“钻石”“苹果”“剑”这些,每种只有一个
Item实例(单例) 所有钻石物品都是引用同一个Item对象。
ItemStack 是 Item 的具体“物品堆”实例,就像你背包里真正放的东西:
-
它包含了一种物品(由
Item指定) -
有具体 数量(stack size)
-
可以保存 NBT 或额外数据(如耐久、附魔、名字等)
举例:
-
背包里有 5 个苹果 → 这是一个
ItemStack,它内部有指向苹果的Item,并且数量是5 -
背包里有 1 把剑(耐久 50/250) → 它也是一个
ItemStack
















![表情[ciya]-方块工坊](https://crapark.com/wp-content/themes/zibll/img/smilies/ciya.gif)
![表情[se]-方块工坊](https://crapark.com/wp-content/themes/zibll/img/smilies/se.gif)
![表情[jie]-方块工坊](https://crapark.com/wp-content/themes/zibll/img/smilies/jie.gif)
暂无评论内容