Minecraft Fabric 教程 #2 添加物品
首发于Enaium的个人博客
创建物品
public class ExampleMod implements ModInitializer
{
private static final Item END_HEART = new Item(new Item.Settings().group(ItemGroup.COMBAT).maxCount(32));
[...]
}
ItemGroup.COMBAT //分类为COMBAT
maxCount(32) //一组最大堆叠数 一组最大只能叠32个物品
注册物品
public class ExampleMod implements ModInitializer
{
private static final Item END_HEART = new Item(new Item.Settings().group(ItemGroup.COMBAT).maxCount(32));
@Override
public void onInitialize()
{
Registry.register(Registry.ITEM, new Identifier("endarmor", "end_heart"), END_HEART);
}
}
Registry.ITEM //类别是物品
new Identifier("endarmor", "end_heart") //第一个参数是MOD ID 第二个参数是 物品的名字
END_HEART //要注册的物品的变量名
运行看看
发现是一个紫色方块 而且 名字是 item.endarmor.end_heart 紫色方块是没用纹理(材质)
接下来要添加纹理
需要的文件
Item model: .../resources/assets/endarmor/models/item/end_heart.json
Item texture: .../resources/assets/endarmor/textures/item/end_heart.png
end_heart.json 内容
{
"parent": "item/generated",
"textures": {
"layer0": "endarmor:item/end_heart"
}
}
end_heart.png 就是纹理
创建物品类
public EndHeart(Settings settings) {
super(settings);
}
这是一个使用物品然后发出声音的例子
public class FabricItem extends Item
{
public FabricItem(Settings settings)
{
super(settings);
}
@Override
public TypedActionResult<ItemStack> use(World world, PlayerEntity playerEntity, Hand hand)
{
playerEntity.playSound(SoundEvents.BLOCK_WOOL_BREAK, 1.0F, 1.0F);
return new TypedActionResult<>(ActionResult.SUCCESS, playerEntity.getStackInHand(hand));
}
}
替换
private static final EndHeart END_HEART = new EndHeart(new Item.Settings().group(ItemGroup.COMBAT).maxCount(32));
9 声望
0 粉丝
推荐阅读
Jimmer VS MyBatisPlus查询自关联表
对象抓取器是 jimmer-sql 一个非常强大的特征,具备可媲美 GraphQL 的能力。即使用户不采用任何 GraphQL 相关的技术栈,也能在 SQL 查询层面得到和 GraphQL 相似的对象图查询能力。
Enaium
Java8的新特性
Java语言特性系列Java5的新特性Java6的新特性Java7的新特性Java8的新特性Java9的新特性Java10的新特性Java11的新特性Java12的新特性Java13的新特性Java14的新特性Java15的新特性Java16的新特性Java17的新特性Java...
codecraft赞 32阅读 27.4k评论 1
一文彻底搞懂加密、数字签名和数字证书!
微信搜索🔍「编程指北」,关注这个写干货的程序员,回复「资源」,即可获取后台开发学习路线和书籍来源:个人CS学习网站:[链接]前言这本是 2020 年一个平平无奇的周末,小北在家里刷着 B 站,看着喜欢的 up 主视...
编程指北赞 71阅读 33.4k评论 20
Java11的新特性
Java语言特性系列Java5的新特性Java6的新特性Java7的新特性Java8的新特性Java9的新特性Java10的新特性Java11的新特性Java12的新特性Java13的新特性Java14的新特性Java15的新特性Java16的新特性Java17的新特性Java...
codecraft赞 28阅读 19.2k评论 3
Java5的新特性
Java语言特性系列Java5的新特性Java6的新特性Java7的新特性Java8的新特性Java9的新特性Java10的新特性Java11的新特性Java12的新特性Java13的新特性Java14的新特性Java15的新特性Java16的新特性Java17的新特性Java...
codecraft赞 13阅读 21.7k
Java9的新特性
Java语言特性系列Java5的新特性Java6的新特性Java7的新特性Java8的新特性Java9的新特性Java10的新特性Java11的新特性Java12的新特性Java13的新特性Java14的新特性Java15的新特性Java16的新特性Java17的新特性Java...
codecraft赞 20阅读 15.2k
Java13的新特性
Java语言特性系列Java5的新特性Java6的新特性Java7的新特性Java8的新特性Java9的新特性Java10的新特性Java11的新特性Java12的新特性Java13的新特性Java14的新特性Java15的新特性Java16的新特性Java17的新特性Java...
codecraft赞 17阅读 11.1k
**粗体** _斜体_ [链接](http://example.com) `代码` - 列表 > 引用
。你还可以使用@
来通知其他用户。