此特性为基岩版独有。
自定义方块是minecraft1.12.02beta中的新增内容,可以修改原版方块的部分特性及增加一个全新的方块。
行为包
首先,你需要一个可用的范本,然后在于manifest.json同层的地方,新建一个blocks的文件夹,在文件夹中放入你新增的方块的json
{
"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"
}
}
}
}
-
- 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"
}
}
三个东西分别为ID,材质,音效,ID直接改引号内的内容,材质及音效需要更改红色部分。若材质及音效为自定义,则需要在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中所指定的材质ID。textureS的红色部分为该材质的路径位置。
之后需要根据路径在textures中创建一个blocks的文件夹,在内放入一个名字为space的图片,导入即可。
ps:路径与贴图位置需对齐。
| ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||