我们本次在Fabric下创建自己模组中的物品栏和物品。

1.在Java包中新建一个init包,在init包中新建一个物品注册类ItemInit用于注册所有物品:
ItemInit.java
package net.joy187.joyggd.init;
import net.minecraft.item.Item;
import net.minecraft.item.SpawnEggItem;
import net.fabricmc.fabric.api.item.v1.FabricItemSettings;
import net.joy187.joyggd.ModMain;
import net.minecraft.util.Identifier;
import net.minecraft.util.registry.Registry;
public class ItemInit {
//声明一个我们的物品
public static final Item SHERIFF = registerItem("sheriff",
new Item(new FabricItemSettings().group(ModMain.ITEMTAB)));
private static Item registerItem(String name, Item item) {
return Registry.register(Registry.ITEM, new Identifier(ModMain.MOD_ID, name), item);
}
public static void registerModItems() {
ModMain.LOGGER.debug("Registering Mod Items for " + ModMain.MOD_ID);
}
}
2.来到项目主类,将我们的物品注册类放入函数中,同时声明一个物品栏:
ModMain.java
package net.joy187.joyggd;
import net.fabricmc.api.ModInitializer;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
public class ModMain implements ModInitializer {
public static final String MOD_ID = "joyggd";
public static final Logger LOGGER = LoggerFactory.getLogger(MOD_ID);
//声明物品栏,图标为我们刚刚的物品
public static final ItemGroup ITEMTAB = FabricItemGroupBuilder.build(
new Identifier(MOD_ID, "itemtab"), () -> new ItemStack(ItemInit.SHERIFF));
@Override
public void onInitialize() {
//将物品注册类进行注册
ItemInit.registerModItems();
}
}
3.来到资源包,在src\main\resources\assets\你的modid\lang中添加物品和物品栏名称:
英文名称
en_us.json
"item.joyggd.sheriff": "Sheriff",
"itemGroup.joyggd.itemtab": "Item Tab"
中文名称
zh_cn.json
"item.joyggd.sheriff": "物品名称",
"itemGroup.joyggd.itemtab": "物品栏名称"
在models\item中添加物品模型文件:
sheriff.json
{
"parent": "item/generated",
"textures": {
"layer0": "joyggd:item/sheriff"
}
}
在textures\item中添加我们的物品贴图文件:

4.保存文件 -> 运行游戏:

本文介绍了如何在Fabric模组开发中创建自己的物品和物品栏。首先,通过在Java包中创建`ItemInit`类来注册物品。接着,在`ModMain`主类中声明物品栏并进行注册。然后,更新资源包中的语言文件和模型文件以定义物品名称和模型。最后,保存并运行游戏以查看效果。
6635

被折叠的 条评论
为什么被折叠?



