UID196429性别保密经验 EP铁粒 粒回帖0主题精华在线时间 小时注册时间2021-12-18最后登录1970-1-1
| 本帖最后由 782 于 2022-6-6 18:20 编辑
物品(一) 基础 一、简介
物品既需要一个行为包文件来确定物品的作用,也需要一个资源包文件来确定物品的外观。
在本期教程中,我们将会理解物品的基础组件。
二、行为包文件示例与详解
路径:行为包/items/物品名称.item.json
示例:
- {
- "format_version": "1.10",
- "minecraft:item": {
- "description": {
- "identifier": "demo:my_item"
- },
- "components": {
- "minecraft:hand_equipped": false,
- "minecraft:stacked_by_data": true,
- "minecraft:foil": false,
- "minecraft:max_stack_size": 64
- }
- }
- }
复制代码 详解:
“format_version”定义文件使用的版本,填写字符串。
在这里,我们将使用1.10,
以后学到高级的物品组件时,会使用1.16.100。
“description”里面的“identifier”定义了物品的名称,填写字符串
一定要使用命名空间!
“components”定义了物品的功能:
- “minecraft:hand_equipped”定义物品是否“装备”在手中,填写布尔值。
这控制了物品在玩家等生物手上的显示方式。
例如,木剑能在手上“装备”,但苹果不能。 - “minecraft:stacked_by_data”定义此具有不同数据值的物品是否能够堆叠,填写布尔值。
- "minecraft:foil"定义物品上是否会有附魔的光芒,填写布尔值。
例如,附魔武器将此组件设置为true。 - “minecraft:max_stack_size”物品的最大堆叠数量,填写整数。
看到这里,你是不是觉得可以做终极堆叠了?当然不行,因为它不能大于64。
对于不可堆叠的物品,请将此设置为1。
如果你现在导入并激活附加包后进入游戏,物品将正常存在,但它没有纹理。
可以通过执行“/give @s 物品名称”命令来测试物品。
现在,让我们在资源包文件夹中定义物品的纹理和其他资源文件。
三、资源包文件示例与详解
路径:资源包/items/物品名称.item.json
示例:
- {
- "format_version": "1.10",
- "minecraft:item": {
- "description": {
- "identifier": "demo:my_item",
- "category": "Nature"
- },
- "components": {
- "minecraft:icon": "my_icon",
- "minecraft:render_offsets": "tools"
- }
- }
- }
复制代码
详解:
“format_version”和行为包文件中的一样,填写字符串。
在“description”下设置相同的标识符“identifier”,填写字符串。
就像在物品的行为包文件中一样,这会将物品的资源包文件与行为包文件联系起来。
“category”定义物品栏中物品的类别,填写字符串。
可以设置为“Nature”(自然)、“Equipment”(装备)、“Construction”(建筑)或“Items”(物品)。
资源文件中的“components”现在定义物品的显示方式:
- “minecraft:render_offsets”定义了物品应该如何呈现,填写字符串。
它可以设置为几乎任何原版物品名称,例如“apple”。 - “minecraft:icon”定义了物品的纹理,填写字符串。
接下来,让我们更深入地研究一下物品纹理。
四、物品纹理与纹理短名称
要定义物品纹理的短名称(在物品上使用纹理),首先需要创建纹理。
创建一个正方形图像,并将其保存到 资源包/textures/items/图像名称.png。
现在让我们在textures文件夹创建一个定义物品纹理短名称的文件:item_texture.json,
下面示例中,以textures/items/my_item.png作为纹理。
路径:资源包/textures/item_texture.json
示例:
- {
- "resource_pack_name": "demo",
- "texture_name": "atlas.items",
- "texture_data": {
- "my_icon": {
- "textures": "textures/items/my_item"
- }
- }
- }
复制代码 详解:
“resource_pack_name”是资源包的名称,填写字符串。
不用填写真实的资源包名称,可以将其设置为命名空间或其他字符。
“texture_name”定义此文件包含哪些类型的纹理,填写字符串。
由于这个文件针对于项目,我们将其设置为“atlas.items”即可。
我们在“texture_data”对象中定义所有项目纹理短名称。
“my_icon”是添加的路径为“textures/items/my_item”纹理的缩写,注意不要有后缀名!
这是在物品资源包文件的 minecraft:icon组件中定义的纹理名称。
五、定义.lang文件
物品创建成功后,在游戏中会显示lang代码,
我们只需要在 资源包/texts/zh_CN.lang 文件中添加lang代码与定义即可。
示例:
- item.demo:my_item.name=我的第一个物品
复制代码
六、本期文件下载
行为包物品文件示例:
my_item.item.json(347 Bytes, 下载次数: 45)
资源包物品文件示例:
my_item.item.json(297 Bytes, 下载次数: 37)
item_texture.json文件示例:
item_texture.json(180 Bytes, 下载次数: 32)
预告:下一期会带大家创建一个可食用的物品
大家的打赏是对楼主最好的鼓励!
附加包教程系列导航 上一期 下一期
|
评分查看全部评分
|