你可以帮助我们扩充关于该主题的更多信息。
原因:这是一篇中文原创教程,与英文页面有较大差异
自定义方块是在基岩版beta 1.12.0.2中的新增内容。 注:基岩版1.15后,方块不能被注册到创造模式物品栏且旧版本的自定义方块无法在新版本中使用。
在阅读本教程前,请先确保自身已有一定的行为包及材质包基础。如果还未掌握,可先阅读教程/制作行为包页面以学习行为包的基础制作。
示范包下载:item_demo
行为包
首先,你需要一个可用的清单文件,然后在于manifest.json同层的地方,新建一个名为blocks的文件夹,并在文件夹中放入你所要新增的方块的json 文件
1.15前
{
"format_version": "1.10.0",
"minecraft:block": {
"description": {
"identifier": "test:space",
"is_experimental": false,
"register_to_creative_menu":true
},
"components": {
"minecraft:destroy_time": {
"value":1
},
"minecraft:block_light_absorption": {
"value": 0
},
"minecraft:block_light_emission": {
"emission": 0.0
},
"minecraft:explosion_resistance": {
"value": 0.0
},
"minecraft:flammable": {
"burn_odds": 0,
"flame_odds": 0
},
"minecraft:friction": {
"value": 0.1
},
"minecraft:loot": {
"table": "loot_table/blocks/space"
},
"minecraft:map_color": {
"color": "#ffff99"
}
}
}
}
1.15后
{
"format_version": "1.10.0",
"minecraft:block": {
"description": {
"identifier": "test:space",
"is_experimental": false,//true在部分版本会导致闪退
"register_to_creative_menu":true//暂时废弃
},
"components": {
"minecraft:destroy_time": 1,
"minecraft:block_light_absorption": 0,
"minecraft:block_light_emission": 0.0,
"minecraft:explosion_resistance": 0.0,
"minecraft:flammable": {
"burn_odds": 0,
"flame_odds": 0
},
"minecraft:friction": 0.1,
"minecraft:loot": "loot_table/blocks/space",
"minecraft:map_color": "#ffff99"
}
}
}
-
- format_version:定义了此档案的版本,除非有充分理由,否则请勿更改
- minecraft_block
- description
- identifier:方块命名空间ID
- is_experimental:此方块是否使用实验模式
- register_to_creative_menu:此方块是否出现在创造模式物品栏中
- components
- minecraft:destroy_time:破坏此方块所需的时间
- minecraft:block_light_absorption:此方块会吸收多少光
- minecraft:block_light_emission:此方块会发出多亮的光
- minecraft:explosion_resistance:此方块的爆炸抗性
- minecraft:flammable
- burn_odds:着火时,此方块被烧毁的几率(设为0则不可燃)
- flame_odds:周围有火时,此方块被引燃的几率
- minecraft:friction:此方块的摩擦系数,影响实体在其上的移动速度(限使用小数)
- minecraft:loot:破坏此方块时掉落的物品,使用路径表示
- minecraft:map_color:此方块在地图上显示的颜色,使用HEX颜色编码表示
- description
资源包
同样需要一个可用的清单文件。在与manifest.json同层的地方,创建一个名为blocks.json的文件,并将方块的属性写进去,写法可参照原版中的blocks.json。
{
"format_version": [1,1,0],
"test:space": {
"textures": "space",
"sound": "stone"
}
}
从上至下三个东西分别为命名空间,材质,音效。命名空间是在引号内中进行更改,材质及音效需要更改红色部分。你可以直接调用原版中的贴图及音效,但若想调用自定义的材质及音效,则需要在terrain_texture.json和sound_definitions中增加对应的路径。 接着创建一个名为textures的文件夹,在文件夹中创建一个名为terrain_texture.json的文件。
{
"resource_pack_name": "vanilla",
"texture_name": "atlas.terrain",
"padding": 8,
"num_mip_levels": 4,
"texture_data": {
"space": {
"textures": [
"textures/blocks/space"
]
}
}
}
从texture_data开始写,space为在blocks.json中所指定的材质的命名空间。textures的红色部分为该材质的路径位置。
之后需要根据路径在textures中创建一个blocks的文件夹,根据所填路径在对应位置放入一个名为space的图片,后缀一般为png。 后将该附加包进行打包导入至Minecraft即可。
参见
| ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||