此特性为基岩版独有。

网站建设哪家好,找成都创新互联公司!专注于网页设计、网站建设、微信开发、成都微信小程序、集团企业网站建设等服务项目。为回馈新老客户创新互联还提供了邵阳免费建站欢迎大家使用!
此处提供的指南是为了使创作者得到为Minecraft创作内容时的较好体验的一种最佳操作。它将有助于确保作品可以工作,并且在应对游戏中的变化时具有高效性和弹性。
bp_mw 有如下目录:
MyWorld/behavior_packs/bp_mwblocks.json、mobs.json、sound_definitions.json以及其他位置的定义文件包含了原版中所有元素的定义。请确保你的包只包含那些需要更改的元素和字段。这意味着:不要直接复制/粘贴所有原来的定义,然后只更改需要更改的那一段,而是仅需要保留文件中需要更改的那一段。游戏会自动将这些更改与原版的文件合并。
以下文件不应该改写,除非你有意更改此内容。它们还没有获得官方的支持,但是如果你的修改可行,也可以在至少同版本正常运行。 因此无法保证所做的更改会正常工作或在未来依旧能工作。
credits/end.txtfont/emoticons.jsontexts/language_names.jsonitems_client.jsonitems_offsets_client.json注:shaders文件夹内文件为HLSL或GLSL语言编写
下面是一些示例,它们介绍了如何在不完全复制整个界面的前提下修改一个UI定义文件。下面以附魔台界面文件(enchanting_screen_pocket.json)的一部分为例。
不要包含那些无需更改的变量。例如,如果"color"和"shadow"是要更改的,那么就不要把其他的变量复制/粘贴到这里。只需要声明那些需要替换的变量就可以完成简单的所需要的更改。
不佳的复制/粘贴法:
"generic_label": {
"type": "label",
"color": "$pocket_title_text_color",
"anchor_from": "center",
"anchor_to": "center",
"shadow": false
},
更好的例子:
"generic_label": {
"color": "$pocket_title_text_color",
"shadow": false
},
无需重新声明正在修改的控件所继承自的控件。仅声明正在修改的控件名即可。在下面的代码中,"common.button"就可以跳过不写:
不佳的例子:
"enchanting_confirm_button@common.button": {
较好的例子:
"enchanting_confirm_button": {
以同一个按钮为例,如果只需要修改该控件的子控件中的一些特定的变量,例如,default控件。仅修改一个控件的子控件请使用control_name/child_name语法。所以与之这样写:
"enchanting_confirm_button@common.button": {
"controls": [
{
"default@enchanting_pocket.confirm_default_control": {
"type": "image",
"texture": "textures/ui/button_borderless_light" //Added fancy button texture to default control
}
}
]
},
不如这样写:
"enchanting_confirm_button/default": {
"texture": "textures/ui/button_borderless_light" //Added fancy button texture to default control
},
这个示例将展示如何修改一个控件中的数组。例如:添加一个新的控件作为子控件或从一个控件的绑定中移除一个绑定。就该例来说,有一个叫"modifications"特殊的变量。对modifications数组里的每一条记录,可以指定一个特定的数组去修改、操作并输出结果。
以"enchanting_book_panel"为例,如果需要在"controls"数组里添加一个控件,就可以添加一个modifications数组,数组中指定了"array_name": "controls"、"operation": "insert_front"和"value",其中最后一个中可以填入新的控件,新控件就会如同被放到了controls 数组里一样。下面的例子展示了上面所说的内容以及偏移量的更改。
"enchanting_book_panel": {
"offset": [ -4, 1],
"modifications": [
{
"array_name": "controls",
"operation": "insert_front",
"value": [
"panel_outline@beacon_pocket.panel_outline": { "layer": 0 }
]
}
]
}
要从"player_level_label"子控件中移除"#player_level_color"绑定,可以进行如下操作:
"enchanting_book_panel/player_level_label": {
"offset": [ 0, 10 ],
"layer": 3,
"color": "$experience_text_color"
"modifications": [
{
"array_name": "bindings",
"operation": "remove",
"where": {
"binding_name": "#player_level_color"
}
}
]
}
只要有可能,就一定不要让红石元件在区块边界处交互。
教程(作下划线标记的教程为中文独有教程) |
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||