# 自定义特殊方块
# 作者:境界
原版的部分方块具有特殊功能,开花组为开发者提供了方块继承的形式来继承这些特殊方块的能力,本章将教给开发者如何自定义红石元件方块和刷怪箱方块。由于McStudio当前尚不支持完整自定义这两种特殊方块的功能,这里会使用JSON语法来演示。
# 自定义红石元件方块
{
"format_version": "1.16.0",
"minecraft:block": {
"description": {
"identifier": "design:redstone_consumer",
"register_to_creative_menu": true
},
"components": {
"minecraft:destroy_time": 2.0,
"minecraft:map_color": "#ffffff",
"netease:tier": {
"digger": "pickaxe",
"level": 0
},
"netease:redstone": {
"type": "consumer"
}
}
}
}
1)1.16.0是当前下界更新的自定义方块内容格式,所以我们在format_version里填1.16.0
2)identifier是自定义方块的名称域,这里可以由开发者自己定义。register_to_creative_menu是管理方块是否注册到创造背包里。
3)components下的参数会储存方块的各项功能。主要来看netease:redstone组件,它可以传入两种类型,这里我们传入consumer,这样该方块即可接收红石信号,成为红石元件方块。
{
"format_version": [
1,
1,
0
],
"design:redstone_producer": {
"textures": "gold_block",
"sound": "metal"
},
"design:redstone_consumer": {
"textures": "gold_block",
"sound": "metal"
}
}
4)最后,还应在blocks.json下进行如下配置,示例图中将方块贴图设置为金方块贴图,则6个面都是金方块面,走在该方块上和破坏方块时产生的音效类型是金属音效。
# 自定义红石信号源方块
{
"format_version": "1.16.0",
"minecraft:block": {
"description": {
"identifier": "design:redstone_producer",
"register_to_creative_menu": true
},
"components": {
"minecraft:destroy_time": 2.0,
"minecraft:map_color": "#ffffff",
"netease:tier": {
"digger": "pickaxe",
"level": 0
},
"netease:redstone": {
"type": "producer",
"strength": 10
}
}
}
}
1)1.16.0是当前下界更新的自定义方块内容格式,所以我们在format_version里填1.16.0
2)identifier是自定义方块的名称域,这里可以由开发者自己定义。register_to_creative_menu是管理方块是否注册到创造背包里。
3)components下的参数会储存方块的各项功能。主要来看netease:redstone组件,它可以传入两种类型,这里我们传入producer,这样该方块即可接发送红石信号,strength掌管红石信号的强度,即信号每传递一格,强度会降低1点。
4)最后,还应在blocks.json下进行如下配置,示例图中将方块贴图设置为金方块贴图,则6个面都是金方块面,走在该方块上和破坏方块时产生的音效类型是金属音效。
# 自定义刷怪箱方块
{
"format_version": "1.16.0",
"minecraft:block": {
"description": {
"identifier": "design:chicken_mob_spawner",
"register_to_creative_menu": true,
"base_block": "mob_spawner"
},
"components": {
"minecraft:block_light_absorption": 0,
"netease:tier": {
"digger": "pickaxe",
"level": 0
},
"netease:render_layer": {
"value": "alpha"
},
"netease:mob_spawner": {
"type": "minecraft:chicken"
},
"minecraft:block_light_emission": 1.0,
"minecraft:destroy_time": 2.0,
"minecraft:map_color": "#ffffff"
}
}
}
1)1.16.0是当前下界更新的自定义方块内容格式,所以我们在format_version里填1.16.0
2)identifier是自定义方块的名称域,这里可以由开发者自己定义。register_to_creative_menu是管理方块是否注册到创造背包里。在这里还要额外指定base_block键对,将方块继承刷怪箱即"mob_spawner"。
3)components下的参数会储存方块的各项功能。主要来看netease:mob_spawner组件,它里面的键类型会指向一种生物名称域,该组件功能同时支持自定义生物和MC原版生物。
{
"format_version": [
1,
1,
0
],
"design:chicken_mob_spawner": {
"textures": "mob_spawner",
"sound": "metal"
}
}
4)最后,还应在blocks.json下进行如下配置,示例图中将方块贴图设置为原版刷怪箱贴图。则6个面都是刷怪箱子贴图,走在该方块上和破坏方块时产生的音效类型是金属音效。
进阶
15分钟