From a28ca80301607478284c7f26937c2a27aefc65dd Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?=E4=B8=8A=E5=AE=98=E6=B1=90?=
<78731793+ShangguanXi@users.noreply.github.com>
Date: Sun, 1 Jun 2025 16:53:15 +0800
Subject: [PATCH] =?UTF-8?q?feat=EF=BC=9A=E6=96=B0=E5=A2=9E=E9=83=A8?=
=?UTF-8?q?=E5=88=86=E5=9B=BD=E9=99=85=E7=89=88=E5=8E=9F=E7=94=9F=E6=96=B9?=
=?UTF-8?q?=E5=9D=97=E7=BB=84=E4=BB=B6?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
---
.../15-自定义游戏内容/2-自定义方块/1-JSON组件.md | 273 +++++++++++-------
1 file changed, 170 insertions(+), 103 deletions(-)
diff --git a/mcguide/20-玩法开发/15-自定义游戏内容/2-自定义方块/1-JSON组件.md b/mcguide/20-玩法开发/15-自定义游戏内容/2-自定义方块/1-JSON组件.md
index 740c1c7..9cbbace 100644
--- a/mcguide/20-玩法开发/15-自定义游戏内容/2-自定义方块/1-JSON组件.md
+++ b/mcguide/20-玩法开发/15-自定义游戏内容/2-自定义方块/1-JSON组件.md
@@ -10,37 +10,35 @@ time: 分钟
基岩版自定义方块的json结构曾经过多次调整,当填写format_version时,需要按照对应版本的json结构编写components。
-你可以在以下两个版本进行选择:
+例如`minecraft:destroy_time`,在1.10.0中为
-- 1.16.0
+```json
+"minecraft:destroy_time": {
+ "value": 4.0
+}
+```
- 该版本的components结构详见[bedrock.dev](https://bedrock.dev/zh/docs/1.16.0.0/1.16.0.66/Blocks)。
+而在1.16.0的版本中为
-- 1.10.0
+```json
+"minecraft:destroy_time": 4.0
+```
- 该版本的components结构详见[bedrock.dev](https://bedrock.dev/zh/docs/1.12.0.0/1.12.0.28/Blocks)。该版本相比于1.16.0,component的值为一个Json Object,例如`minecraft:destroy_time`,在1.10.0中为
+而在1.19.20以上的版本中为
- ```json
- "minecraft:destroy_time": {
- "value": 4.0
- }
- ```
-
- 而在更高的版本中为
-
- ```json
- "minecraft:destroy_time": 4.0
- ```
-
-
+```json
+"minecraft:destructible_by_mining": {
+ "seconds_to_destroy": 4.0
+}
+```
## description
-| 键 | 类型 | 默认值 | 解释 |
-| ----------------------- | ---- | ------ | ------------------------------------------------------------ |
-| identifier | str | | 包括命名空间及物品名。需要全局唯一。
建议使用mod名称作为命名空间 |
-| register_to_create_menu | bool | false | 是否注册到创造栏 |
-| category | str | Nature | 注册到创造栏的分类,可选的值有:
Construction
Nature
Equipment
Items |
+| 键 | 类型 | 默认值 | 解释 |
+| ----------------------- | ---- | ------ | -------------------------------------------------------------------------------- |
+| identifier | str | | 包括命名空间及物品名。需要全局唯一。建议使用mod名称作为命名空间 |
+| register_to_create_menu | bool | false | 是否注册到创造栏 |
+| category | str | Nature | 注册到创造栏的分类,可选的值有:ConstructionNatureEquipmentItems |
## components
@@ -56,6 +54,12 @@ time: 分钟
可参考[CustomBlocksMod](../../13-模组SDK编程/60-Demo示例.md#CustomBlocksMod)的customblocks:customblocks_test_ore方块
+
+
+### minecraft:friction
+
+可用于设置方块的摩擦力,取值范围为(0.0-0.9)。`注意此摩擦力和原版方块的摩擦力不是同一个摩擦力`
+
### minecraft:max_stack_size
@@ -70,11 +74,40 @@ time: 分钟
主要用于[挖掘](./2-功能.md#wajue)的功能
+
+
+### minecraft:destructible_by_mining
+
+可用于控制挖掘所需的时间。该值的含义与[官方wiki](https://minecraft-zh.gamepedia.com/%E6%8C%96%E6%8E%98#.E6.96.B9.E5.9D.97.E7.A1.AC.E5.BA.A6)的“硬度”一致
+
+- 如果设置为 `true`,方块会采用默认的破坏时间。
+- 如果设置为 `false`,方块将不可被挖掘破坏。
+- 如果省略该组件,则方块同样会使用默认的破坏时间。
+- 如果类型为object,则是以下参数:
+
+| 键 | 类型| 默认值 | 解释|
+|------------------|--------|----------------|-------------|
+| seconds_to_destroy| 浮点数| `0.0` |设置方块的硬度,实际破坏时间 = 1.5 × seconds_to_destroy。 |
+
+此组件需要在`format_version`大于等于1.19.20的方块行为中代替[minecraft:destroy_time](./1-JSON组件.md###minecraft:destroy_time)使用。
+
+主要用于[挖掘](./2-功能.md#wajue)的功能
+
### minecraft:block_light_emission
-可用于设置方块亮度。关于亮度及方块光源可参考[官方wiki](https://minecraft-zh.gamepedia.com/%E4%BA%AE%E5%BA%A6)
+可用于设置方块亮度,取值范围为[0, 1]。关于亮度及方块光源可参考[官方wiki](https://minecraft-zh.gamepedia.com/%E4%BA%AE%E5%BA%A6)
+
+主要用于[亮度](./2-功能.md#liangdu)的功能
+
+
+
+### minecraft:light_emission
+
+可用于设置方块亮度, 取值范围为[0, 15]。此组件需要在`format_version`大于等于1.19.20的方块行为中代替
+[minecraft:block_light_emission](./1-JSON组件.md###minecraft:block_light_emission)使用。
+关于亮度及方块光源可参考[官方wiki](https://minecraft-zh.gamepedia.com/%E4%BA%AE%E5%BA%A6)
主要用于[亮度](./2-功能.md#liangdu)的功能
@@ -84,6 +117,26 @@ time: 分钟
可用于设置爆炸抗性。原版方块的爆炸抗性见[官方wiki](https://minecraft-zh.gamepedia.com/%E7%88%86%E7%82%B8#.E7.88.86.E7.82.B8.E6.8A.97.E6.80.A7)
+
+
+### minecraft:destructible_by_explosion
+
+可用于控制挖掘所需的时间。该值的含义与[官方wiki](https://minecraft-zh.gamepedia.com/%E6%8C%96%E6%8E%98#.E6.96.B9.E5.9D.97.E7.A1.AC.E5.BA.A6)的“硬度”一致
+
+- 如果设置为 `true`,方块会采用默认的爆炸抗性。
+- 如果设置为 `false`,方块将不可被爆炸破坏。
+- 如果省略该组件,则方块同样会使用默认的爆炸抗性。
+- 如果类型为object,则是以下参数:
+
+| 键 | 类型| 默认值 | 解释|
+|------------------|--------|----------------|-------------|
+| explosion_resistance| 浮点数| `0.0` |设置方块的爆炸抗性,实际爆炸抗性 = 5 × explosion_resistance。 |
+
+此组件需要在`format_version`大于等于1.19.20的方块行为中代替[minecraft:explosion_resistance](./1-JSON组件.md###minecraft:explosion_resistance)使用。
+
+原版方块的爆炸抗性见[官方wiki](https://minecraft-zh.gamepedia.com/%E7%88%86%E7%82%B8#.E7.88.86.E7.82.B8.E6.8A.97.E6.80.A7)
+
+
### minecraft:block_light_absorption
@@ -94,12 +147,27 @@ time: 分钟
主要用于[亮度](./2-功能.md#liangdu)的功能
+
+
+### minecraft:light_dampening
+
+可用于设置方块吸光程度, 取值范围为[0, 15]。此组件需要在 `format_version`大于等于1.19.20的方块行为中代替[minecraft:block_light_absorption](./1-JSON组件.md###minecraft:block_light_absorption)使用。
+关于亮度及方块光源可参考[官方wiki](https://minecraft-zh.gamepedia.com/%E4%BA%AE%E5%BA%A6)
+
+主要用于[亮度](./2-功能.md#liangdu)的功能
+
### minecraft:map_color
可用于设置方块显示在地图上的颜色
+
+
+### minecraft:display_name
+
+指定语言文件键,用于映射鼠标悬停在物品栏和快捷栏中的方块物品上时显示的文本。如果给定的字符串无法解析为本地字符串,则将显示给定的原始字符串。使用需要方块行为的 `format_version`大于等于1.19.60。
+
### netease:tier
@@ -108,11 +176,11 @@ time: 分钟
主要用于[挖掘](./2-功能.md#wajue)的功能
-| 键 | 类型 | 默认值 | 解释 |
-| :-------------: | :----: | :----: | :----------------------------------------------------------- |
-| digger | string | | 必须设置。表示方块使用此工具挖掘时有速度加成。
可选的值有:
shovel:铲
pickaxe:镐
hatchet:斧
hoe:锄 |
-| destroy_special | bool | false | 可选。
当设置为true时,表示只有使用digger设置的工具进行挖掘才会产生掉落物。 |
-| level | int | 0 | 可选。
当destroy_special为true时才会生效。表示挖掘所需的工具等级,若手持工具等级小于该值,则不会产生掉落物。
原版工具的等级:
空手/其他非工具物品:0
木制/金制工具:0
石制工具:1
铁制工具:2
钻石工具:3 |
+| 键 | 类型 | 默认值 | 解释 |
+| :-------------: | :----: | :----: | :------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
+| digger | string | | 必须设置。表示方块使用此工具挖掘时有速度加成。可选的值有: shovel:铲 pickaxe:镐 hatchet:斧 hoe:锄 |
+| destroy_special | bool | false | 可选。当设置为true时,表示只有使用digger设置的工具进行挖掘才会产生掉落物。 |
+| level | int | 0 | 可选。当destroy_special为true时才会生效。表示挖掘所需的工具等级,若手持工具等级小于该值,则不会产生掉落物。原版工具的等级: 空手/其他非工具物品:0 木制/金制工具:0 石制工具:1 铁制工具:2 钻石工具:3 |
@@ -128,25 +196,25 @@ time: 分钟
可参考[CustomBlocksMod](../../13-模组SDK编程/60-Demo示例.md#CustomBlocksMod)的customblocks_model_flower及customblocks_model_wire方块。
-| 键 | 类型 | 默认值 | 解释 |
-| --------- | ------------- | ------ | ------------------------------------------------------------ |
-| collision | object或array | | 计算与物体碰撞时用的碰撞盒 |
-| clip | object或array | | 计算射线检测时用的碰撞盒。如准心选取及弹射物碰撞。
(那么当该AABB没有体积时,准心与弹射物都会无视这个方块) |
+| 键 | 类型 | 默认值 | 解释 |
+| --------- | ------------- | ------ | -------------------------------------------------------------------------------------------------------------- |
+| collision | object或array | | 计算与物体碰撞时用的碰撞盒 |
+| clip | object或array | | 计算射线检测时用的碰撞盒。如准心选取及弹射物碰撞。(那么当该AABB没有体积时,准心与弹射物都会无视这个方块) |
当collision或clip为object时,用于表示恒定大小的单一碰撞盒,结构为:
-| 键 | 类型 | 默认值 | 解释 |
-| ---- | ------------ | --------- | ---------------------------------- |
-| min | array(float) | [0, 0, 0] | min的三个值必须小于等于max的三个值 |
-| max | array(float) | [1, 1, 1] | |
+| 键 | 类型 | 默认值 | 解释 |
+| --- | ------------ | --------- | ---------------------------------- |
+| min | array(float) | [0, 0, 0] | min的三个值必须小于等于max的三个值 |
+| max | array(float) | [1, 1, 1] | |
当collision或clip为array时,用于可变化的多个碰撞盒的组合,通常用于可变化的自定义方块模型。元素的结构为:
-| | 类型 | 默认值 | 解释 |
-| ------ | ------------ | --------- | ------------------------------------------------------------ |
-| enable | molang | true | 控制是否开启该碰撞箱
目前仅支持is_connect查询,详见[netease:connection](#netease_connection) |
-| min | array(float) | [0, 0, 0] | min的三个值必须小于等于max的三个值 |
-| max | array(float) | [1, 1, 1] | |
+| | 类型 | 默认值 | 解释 |
+| ------ | ------------ | --------- | ------------------------------------------------------------------------------------------------ |
+| enable | molang | true | 控制是否开启该碰撞箱目前仅支持is_connect查询,详见[netease:connection](#netease_connection) |
+| min | array(float) | [0, 0, 0] | min的三个值必须小于等于max的三个值 |
+| max | array(float) | [1, 1, 1] | |
@@ -158,17 +226,17 @@ time: 分钟
| 键 | 类型 | 默认值 | 解释 |
| ---- | ------ | ------ | ----------------------------------------------------- |
-| type | string | | direction:四面向方块
facing_direction:六面向方块 |
+| type | string | | direction:四面向方块facing_direction:六面向方块 |
-### netease:fuel
+### netease:fuel
- 可燃类物品组件。允许该方块物品作为燃料在熔炉中燃烧
+可燃类物品组件。允许该方块物品作为燃料在熔炉中燃烧
-| 键 | 类型 | 默认值 | 解释 |
-| ------- | ------ | ------ | ------------------------------------------------------------ |
-| duration| float | 0 | 可填, 该物品可提供的熔炉燃烧时长(秒)。 |
+| 键 | 类型 | 默认值 | 解释 |
+| -------- | ----- | ------ | ----------------------------------------- |
+| duration | float | 0 | 可填, 该物品可提供的熔炉燃烧时长(秒)。 |
@@ -178,9 +246,9 @@ time: 分钟
可参考[CustomBlocksMod](../../13-模组SDK编程/60-Demo示例.md#CustomBlocksMod)的customblocks:customblocks_model_flower方块。
-| 键 | 类型 | 默认值 | 解释 |
-| ----- | ------ | ------ | ------------------------------------------------------------ |
-| value | string | | 目前支持的材质有:
opaque:不透明,即“terrain_opaque”材质。默认为此项
alpha:全透明,即“terrain_alpha”材质,如火焰,该材质用于异形方块,用在方块类上但与其他方块重合时会出现闪烁,可以使用no_crop_face_block组件避免闪烁。
blend:半透明,即“terrain_blend”材质,如彩色玻璃。
optionalAlpha:局部透明,与alpha不同,alpha超过一定距离将不渲染,而optionalAlpha不会,能配合no_crop_face_block组件实现原版叶子效果。 |
+| 键 | 类型 | 默认值 | 解释 |
+| ----- | ------ | ------ | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ |
+| value | string | | 目前支持的材质有:opaque:不透明,即“terrain_opaque”材质。默认为此项alpha:全透明,即“terrain_alpha”材质,如火焰,该材质用于异形方块,用在方块类上但与其他方块重合时会出现闪烁,可以使用no_crop_face_block组件避免闪烁。blend:半透明,即“terrain_blend”材质,如彩色玻璃。optionalAlpha:局部透明,与alpha不同,alpha超过一定距离将不渲染,而optionalAlpha不会,能配合no_crop_face_block组件实现原版叶子效果。 |
@@ -192,9 +260,9 @@ time: 分钟
可参考[CustomBlocksMod](../../13-模组SDK编程/60-Demo示例.md#CustomBlocksMod)的customblocks:customblocks_model_flower方块。
-| 键 | 类型 | 默认值 | 解释 |
-| ----- | ---- | ------ | ------------------------------------------------------------ |
-| value | bool | true | 为true时,生物在方块内会受到窒息伤害
为false时,生物在方块内不会受到窒息伤害 |
+| 键 | 类型 | 默认值 | 解释 |
+| ----- | ---- | ------ | ------------------------------------------------------------------------------- |
+| value | bool | true | 为true时,生物在方块内会受到窒息伤害为false时,生物在方块内不会受到窒息伤害 |
@@ -204,22 +272,23 @@ time: 分钟
可参考[CustomBlocksMod](../../13-模组SDK编程/60-Demo示例.md#CustomBlocksMod)的customblocks:customblocks_model_flower方块。
-| 键 | 类型 | 默认值 | 解释 |
-| ----- | ---- | ------ | ------------------------------------------------------------ |
-| value | bool | false | 为true时,寻路时被当作空气
为false时,寻路时被当作障碍物,并且可在其上方行走 |
+| 键 | 类型 | 默认值 | 解释 |
+| ----- | ---- | ------ | ------------------------------------------------------------------------------- |
+| value | bool | false | 为true时,寻路时被当作空气为false时,寻路时被当作障碍物,并且可在其上方行走 |
+
### netease:block_entity
用于给自定义方块添加[自定义方块实体](./4-自定义方块实体.md)。
可参考[CustomBlocksMod](../../13-模组SDK编程/60-Demo示例.md#CustomBlocksMod)的customblocks:customblocks_test_block_entity方块。
-| 键 | 类型 | 默认值 | 解释 |
-| ------- | ---- | ------ | ------------------------------------------------------------ |
-| tick | bool | false | 为true时,当玩家进入方块tick范围时,该方块每秒会发送**20次**ServerBlockEntityTickEvent事件
为false时,该方块不会发送ServerBlockEntityTickEvent事件 |
-| client_tick | bool | false | 为true时,当玩家进入方块tick范围时,该方块每秒会发送**20次**ModBlockEntityTickClientEvent事件
为false时,该方块不会发送ModBlockEntityTickClientEvent事件 |
-| movable | bool | true | 为true时,该方块可被粘性活塞拉回
为false时,该方块不可被粘性活塞拉回 |
+| 键 | 类型 | 默认值 | 解释 |
+| ----------- | ---- | ------ | ----------------------------------------------------------------------------------------------------------------------------------------------------------- |
+| tick | bool | false | 为true时,当玩家进入方块tick范围时,该方块每秒会发送**20次**ServerBlockEntityTickEvent事件为false时,该方块不会发送ServerBlockEntityTickEvent事件 |
+| client_tick | bool | false | 为true时,当玩家进入方块tick范围时,该方块每秒会发送**20次**ModBlockEntityTickClientEvent事件为false时,该方块不会发送ModBlockEntityTickClientEvent事件 |
+| movable | bool | true | 为true时,该方块可被粘性活塞拉回为false时,该方块不可被粘性活塞拉回 |
@@ -227,24 +296,24 @@ time: 分钟
用于给自定义方块定义是否可以随机tick,并且设置该tick事件是否发送到脚本层。
-| 键 | 类型 | 默认值 | 解释 |
-| -------------- | ---- | ------ | ------------------------------------------------------------ |
-| enable | bool | false | 方块是否随机tick |
-| tick_to_script | bool | false | 是否发送事件 BlockRandomTickServerEvent 到python脚本 |
+| 键 | 类型 | 默认值 | 解释 |
+| -------------- | ---- | ------ | -------------------------------------------------------------------------------------------------------------------------------------------------------- |
+| enable | bool | false | 方块是否随机tick |
+| tick_to_script | bool | false | 是否发送事件 BlockRandomTickServerEvent 到python脚本 |
### netease:redstone_property
用于给自定义方块设置红石属性
-| 键 | 类型 | 默认值 | 解释 |
-| ----- | ---- | ------ | ------------------------------------------------------------ |
+| 键 | 类型 | 默认值 | 解释 |
+| ----- | ---- | ------ | ----------------------------------------------------------------------------------------------- |
| value | str | None | 目前只支持break_on_push,设置之后,方块可以被活塞破坏变成掉落物,否则,方块会被活塞推动而不破坏 |
### netease:neighborchanged_sendto_script
-| 键 | 类型 | 默认值 | 解释 |
-| ----- | ---- | ------ | ------------------------------------------------------------ |
-| value | bool | false | 方块周围环境变化是否发送事件 BlockNeighborChangedServerEvent 到脚本层 |
+| 键 | 类型 | 默认值 | 解释 |
+| ----- | ---- | ------ | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
+| value | bool | false | 方块周围环境变化是否发送事件 BlockNeighborChangedServerEvent 到脚本层 |
@@ -264,9 +333,9 @@ time: 分钟
目前该属性只用于[netease:aabb](#netease_aabb)及[自定义方块模型](./5-自定义方块模型.md)的is_connect查询:
-| 名称 | 解释 |
-| ---------------- | ------------------------------------------------------------ |
-| query.is_connect | 传入一个参数,返回该方块与对应临面上的方块是否有connection属性
参数取值与对应的面:
0-down面,1-up面,2-north面,3-south面,4-west面,5-east面。 |
+| 名称 | 解释 |
+| ---------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------- |
+| query.is_connect | 传入一个参数,返回该方块与对应临面上的方块是否有connection属性参数取值与对应的面:0-down面,1-up面,2-north面,3-south面,4-west面,5-east面。 |
@@ -280,11 +349,9 @@ time: 分钟
| 键 | 类型 | 默认值 | 说明 |
| -------- | ---- | ------ | ---------------------------------------------------------- |
-| type | str | | 红石类型:
producer:红石源
consumer:红石机械元件 |
+| type | str | | 红石类型:producer:红石源consumer:红石机械元件 |
| strength | int | 15 | 红石信号值,范围[0,15] |
-
-
### netease:listen_block_remove
@@ -305,11 +372,11 @@ time: 分钟
可参考CustomBlocksMod示例中的customblocks_model_flower
-| 键 | 类型 | 默认值 | 说明 |
-| --------------- | ------------ | ------ | ------------------------------------------------------------ |
-| block | list(str) | | 方块identifier的列表。这些方块的所有[方块状态](../../10-基本概念/1-我的世界基础概念.md#方块状态)都可放置 |
-| block_state | list(object) | | [方块状态](../../10-基本概念/1-我的世界基础概念.md#方块状态)的列表。
每个元素只对应一个特定的方块状态,如果方块有多个种类的状态,需要考虑排列组合的所有情况
最终可在上面放置的方块是block字段与block_state字段的并集 |
-| spawn_resources | bool | true | 已存在的方块因下方的方块发生改变而被破坏时,是否生成掉落物 |
+| 键 | 类型 | 默认值 | 说明 |
+| --------------- | ------------ | ------ | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
+| block | list(str) | | 方块identifier的列表。这些方块的所有[方块状态](../../10-基本概念/1-我的世界基础概念.md#方块状态)都可放置 |
+| block_state | list(object) | | [方块状态](../../10-基本概念/1-我的世界基础概念.md#方块状态)的列表。每个元素只对应一个特定的方块状态,如果方块有多个种类的状态,需要考虑排列组合的所有情况最终可在上面放置的方块是block字段与block_state字段的并集 |
+| spawn_resources | bool | true | 已存在的方块因下方的方块发生改变而被破坏时,是否生成掉落物 |
@@ -333,31 +400,31 @@ time: 分钟
可参考CustomBlocksMod示例中的customblocks_slime、customblocks_flower_extend
-| 键 | 类型 | 默认值 | 说明 |
-| ----- | ---- | ------ | -------- |
+| 键 | 类型 | 默认值 | 说明 |
+| ---------- | ----- | ------ | -------------- |
| properties | array | | 所有属性字符串 |
其中properties数组目前支持以下字符串填充
-| 键 | 说明 |
-| ----- |-------- |
-| piston_block_grabber | 被活塞推动时是否带动旁边方块 |
-| slime | 主要用于变为移动方块(例如被活塞推)时修改对实体力的计算 |
-|breaks_when_fallen_on_by_heavy| 当重力方块结束下落在该方块位置后,自身是否被毁坏|
+| 键 | 说明 |
+| ------------------------------ | -------------------------------------------------------- |
+| piston_block_grabber | 被活塞推动时是否带动旁边方块 |
+| slime | 主要用于变为移动方块(例如被活塞推)时修改对实体力的计算 |
+| breaks_when_fallen_on_by_heavy | 当重力方块结束下落在该方块位置后,自身是否被毁坏 |
如果方块碰撞盒体积使用netease:aabb或minecraft:entity_collision改小可能会导致无法触发(目前可参考范围是边长0.4以下不会触发)。
### netease:on_stand_on
-用于触发实体站在方块上的事件
+用于触发实体站在方块上的事件
可参考CustomBlocksMod示例中的customblocks_slime,利用了该事件组合做出了个模拟原版粘液块的效果。
-| 键 | 类型 | 默认值 | 说明 |
-| ----- | ---- | ------ | -------- |
+| 键 | 类型 | 默认值 | 说明 |
+| ----------------- | ---- | ------ | -------------------- |
| send_python_event | bool | | 是否发送事件至python |
-当send_python_event为true时,该方块会触发OnStandOnBlockClientEvent、OnStandOnBlockServerEvent事件。
+当send_python_event为true时,该方块会触发OnStandOnBlockClientEvent、OnStandOnBlockServerEvent事件。
如果方块碰撞盒体积使用netease:aabb或minecraft:entity_collision改小可能会导致无法触发(目前可参考范围是边长0.4以下不会触发)。
@@ -383,7 +450,6 @@ time: 分钟
当send_python_event为true时,该方块会触发OnEntityInsideBlockClientEvent、OnEntityInsideBlockServerEvent事件。
-
### netease:on_step_on
用于触发实体刚移动至一个实心方块上的事件
@@ -406,8 +472,8 @@ time: 分钟
该组件会把方块的材质设置为透明,且不可与netease:render_layer的不透明材质一起共用,否则会出现渲染错误
-| 键 | 类型 | 默认值 | 解释 |
-| ------- | ------------- | ------ | ------------------------------------------------------------ |
+| 键 | 类型 | 默认值 | 解释 |
+| ------- | ------------- | ------ | ------------------------------------------------------------------------------ |
| x_scope | [float,float] | [0,0] | x轴方向的偏移范围,size为2的array,取值范围为0.0~1.0,如果两个值相同则为指定点 |
| z_scope | [float,float] | [0,0] | z轴方向的偏移范围,size为2的array,取值范围为0.0~1.0,如果两个值相同则为指定点 |
@@ -423,14 +489,14 @@ time: 分钟
使用SetBlockNew接口创建自定义箱子的时候,需要先调用一次SetBlockNew将目标位置方块设置为Air,再使用AddTimer延后调用SetBlockNew创建自定义箱子
-| 键 | 类型 | 默认值 | 解释 |
-| ------------------ | ---- | ------ | ------------------------------------------------------------ |
-| custom_description | str | | 箱子UI上面显示的箱子名称,不填为空 |
-| chest_capacity | int | | 必填,箱子的容量行数,取值范围1-8,如果can_pair取值为true且该值大于4,将自动变为4 |
-| can_pair | bool | false | 是否可以与隔壁箱子组合,合成一个大箱子 |
+| 键 | 类型 | 默认值 | 解释 |
+| ------------------ | ---- | ------ | ------------------------------------------------------------------------------------------ |
+| custom_description | str | | 箱子UI上面显示的箱子名称,不填为空 |
+| chest_capacity | int | | 必填,箱子的容量行数,取值范围1-8,如果can_pair取值为true且该值大于4,将自动变为4 |
+| can_pair | bool | false | 是否可以与隔壁箱子组合,合成一个大箱子 |
| is_shulker_box | bool | false | 是否为潜影盒箱子,如果开启摧毁方块将不会掉落,与原版潜影盒功能相同,无法与隔壁箱子进行组合 |
-| mute | bool | true | 是否关闭箱子开启与关闭时的音效 |
-| can_be_blocked | bool | false | 是否能被阻挡,即箱子上面有阻挡的方块时能否打开箱子 |
+| mute | bool | true | 是否关闭箱子开启与关闭时的音效 |
+| can_be_blocked | bool | false | 是否能被阻挡,即箱子上面有阻挡的方块时能否打开箱子 |
@@ -459,3 +525,4 @@ time: 分钟
| 键 | 类型 | 默认值 | 解释 |
| ----- | ---- | -------- | -------------- |
| value | str | 物品名称 | 物品的描述信息 |
+