此特性为基岩版独有。
自定义方块是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:路径与贴图位置需对齐。
| ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||