7月31日同步更新
This commit is contained in:
203
mcguide/20-玩法开发/13-模组SDK编程/2-Python脚本开发/101-3.2版本物品id变更.md
Normal file
203
mcguide/20-玩法开发/13-模组SDK编程/2-Python脚本开发/101-3.2版本物品id变更.md
Normal file
@@ -0,0 +1,203 @@
|
||||
# 3.2版本物品id变更
|
||||
|
||||
## 简介
|
||||
|
||||
微软在1.20.50继续修改了部分方块ID,取消了附加值,相关链接请参阅[基岩版扁平化](https://zh.minecraft.wiki/w/%E5%AE%98%E6%96%B9%E9%A1%B5%E9%9D%A2/%E5%9F%BA%E5%B2%A9%E7%89%88%E6%89%81%E5%B9%B3%E5%8C%96),请开发者注意适配。
|
||||
|
||||
## 处理方法
|
||||
|
||||
在ModSDK的接口与事件中,我们针对上述情况做了以下处理:
|
||||
|
||||
1. 对于返回物品信息字典的接口与事件:
|
||||
|
||||
newItemName及newAuxValue返回新版名称与附加值。
|
||||
|
||||
原字段itemName及auxValue返回旧版名称与附加值。
|
||||
|
||||
2. 对于接受物品信息字典的接口与事件:
|
||||
|
||||
当字典存在newItemName及newAuxValue时,使用这两个字段。
|
||||
|
||||
不存在时,使用旧字段itemName及auxValue。
|
||||
|
||||
## 注意事项
|
||||
|
||||
* 通过附加值获取获取方块状态接口没有做兼容,例如GetBlockAuxValueFromStates、GetBlockStatesFromAuxValue、GetBlockStates、SetBlockStates,如果您的组件对此有依赖,则需要对这次的改动自行做兼容处理。
|
||||
|
||||
* **开发完成或正在开发的组件,建议统一采用newItemName及newAuxValue字段,也不要新旧字段混用。**
|
||||
|
||||
* 某些写法可能会失效,例如
|
||||
|
||||
```python
|
||||
# 获取itemDict,然后在他基础上修改itemName或auxValue后再用来生成
|
||||
itemdict = GetPlayerItem()
|
||||
itemdict['itemName'] = 'xxx'
|
||||
itemdict['auxValue'] = itemdict['auxValue']+1
|
||||
SpawnItemToPlayerInv(itemdict)
|
||||
```
|
||||
|
||||
因为GetPlayerItem返回的itemDict含有新字段,再传入SpawnItemToPlayerInv时,会读取新字段生成物品,因此对原字段的修改无效。
|
||||
|
||||
## 物品名称变更表
|
||||
|
||||
以下为3.2版本变更了名称的物品列表,表格内的名称省略了minecraft命名空间。
|
||||
|
||||
| 中文名称 | 旧命名 | 旧附加值 | 新命名 |
|
||||
| :------- | ------ | -------- | ------ |
|
||||
| 花岗岩 | stone | 1 | granite |
|
||||
| 磨制花岗岩 | stone | 2 | polished_granite |
|
||||
| 闪长岩 | stone | 3 | diorite |
|
||||
| 磨制闪长岩 | stone | 4 | polished_diorite |
|
||||
| 安山岩 | stone | 5 | andesite |
|
||||
| 磨制安山岩 | stone | 6 | polished_andesite |
|
||||
| 云杉树木板 | planks | 1 | spruce_planks |
|
||||
| 白桦木板 | planks | 2 | birch_planks |
|
||||
| 丛林树木板 | planks | 3 | jungle_planks |
|
||||
| 金合欢木板 | planks | 4 | acacia_planks |
|
||||
| 深色橡木板 | planks | 5 | dark_oak_planks |
|
||||
| 橙色玻璃 | stained_glass | 1 | orange_stained_glass |
|
||||
| 品红色玻璃 | stained_glass | 2 | magenta_stained_glass |
|
||||
| 淡蓝色玻璃 | stained_glass | 3 | light_blue_stained_glass |
|
||||
| 黄色玻璃 | stained_glass | 4 | yellow_stained_glass |
|
||||
| 黄绿色玻璃 | stained_glass | 5 | lime_stained_glass |
|
||||
| 粉红色玻璃 | stained_glass | 6 | pink_stained_glass |
|
||||
| 灰色玻璃 | stained_glass | 7 | gray_stained_glass |
|
||||
| 淡灰色玻璃 | stained_glass | 8 | light_gray_stained_glass |
|
||||
| 青色玻璃 | stained_glass | 9 | cyan_stained_glass |
|
||||
| 紫色玻璃 | stained_glass | 10 | purple_stained_glass |
|
||||
| 蓝色玻璃 | stained_glass | 11 | blue_stained_glass |
|
||||
| 棕色玻璃 | stained_glass | 12 | brown_stained_glass |
|
||||
| 绿色玻璃 | stained_glass | 13 | green_stained_glass |
|
||||
| 红色玻璃 | stained_glass | 14 | red_stained_glass |
|
||||
| 黑色玻璃 | stained_glass | 15 | black_stained_glass |
|
||||
| 橙色玻璃板 | stained_glass_pane | 1 | orange_stained_glass_pane |
|
||||
| 品红色玻璃板 | stained_glass_pane | 2 | magenta_stained_glass_pane |
|
||||
| 淡蓝色玻璃板 | stained_glass_pane | 3 | light_blue_stained_glass_pane |
|
||||
| 黄色玻璃板 | stained_glass_pane | 4 | yellow_stained_glass_pane |
|
||||
| 黄绿色玻璃板 | stained_glass_pane | 5 | lime_stained_glass_pane |
|
||||
| 粉红色玻璃板 | stained_glass_pane | 6 | pink_stained_glass_pane |
|
||||
| 灰色玻璃板 | stained_glass_pane | 7 | gray_stained_glass_pane |
|
||||
| 淡灰色玻璃板 | stained_glass_pane | 8 | light_gray_stained_glass_pane |
|
||||
| 青色玻璃板 | stained_glass_pane | 9 | cyan_stained_glass_pane |
|
||||
| 紫色玻璃板 | stained_glass_pane | 10 | purple_stained_glass_pane |
|
||||
| 蓝色玻璃板 | stained_glass_pane | 11 | blue_stained_glass_pane |
|
||||
| 棕色玻璃板 | stained_glass_pane | 12 | brown_stained_glass_pane |
|
||||
| 绿色玻璃板 | stained_glass_pane | 13 | green_stained_glass_pane |
|
||||
| 红色玻璃板 | stained_glass_pane | 14 | red_stained_glass_pane |
|
||||
| 黑色玻璃板 | stained_glass_pane | 15 | black_stained_glass_pane |
|
||||
| 橙色陶瓦 | stained_hardened_clay | 1 | orange_terracotta |
|
||||
| 品红色陶瓦 | stained_hardened_clay | 2 | magenta_terracotta |
|
||||
| 淡蓝色陶瓦 | stained_hardened_clay | 3 | light_blue_terracotta |
|
||||
| 黄色陶瓦 | stained_hardened_clay | 4 | yellow_terracotta |
|
||||
| 黄绿色陶瓦 | stained_hardened_clay | 5 | lime_terracotta |
|
||||
| 粉红色陶瓦 | stained_hardened_clay | 6 | pink_terracotta |
|
||||
| 灰色陶瓦 | stained_hardened_clay | 7 | gray_terracotta |
|
||||
| 淡灰色陶瓦 | stained_hardened_clay | 8 | light_gray_terracotta |
|
||||
| 青色陶瓦 | stained_hardened_clay | 9 | cyan_terracotta |
|
||||
| 紫色陶瓦 | stained_hardened_clay | 10 | purple_terracotta |
|
||||
| 蓝色陶瓦 | stained_hardened_clay | 11 | blue_terracotta |
|
||||
| 棕色陶瓦 | stained_hardened_clay | 12 | brown_terracotta |
|
||||
| 绿色陶瓦 | stained_hardened_clay | 13 | green_terracotta |
|
||||
| 红色陶瓦 | stained_hardened_clay | 14 | red_terracotta |
|
||||
| 黑色陶瓦 | stained_hardened_clay | 15 | black_terracotta |
|
||||
| 橙色混凝土粉末 | concretepowder | 1 | orange_concrete_powder |
|
||||
| 品红色混凝土粉末 | concretepowder | 2 | magenta_concrete_powder |
|
||||
| 淡蓝色混凝土粉末 | concretepowder | 3 | light_blue_concrete_powder |
|
||||
| 黄色混凝土粉末 | concretepowder | 4 | yellow_concrete_powder |
|
||||
| 黄绿色混凝土粉末 | concretepowder | 5 | lime_concrete_powder |
|
||||
| 粉红色混凝土粉末 | concretepowder | 6 | pink_concrete_powder |
|
||||
| 灰色混凝土粉末 | concretepowder | 7 | gray_concrete_powder |
|
||||
| 淡灰色混凝土粉末 | concretepowder | 8 | light_gray_concrete_powder |
|
||||
| 青色混凝土粉末 | concretepowder | 9 | cyan_concrete_powder |
|
||||
| 紫色混凝土粉末 | concretepowder | 10 | purple_concrete_powder |
|
||||
| 蓝色混凝土粉末 | concretepowder | 11 | blue_concrete_powder |
|
||||
| 棕色混凝土粉末 | concretepowder | 12 | brown_concrete_powder |
|
||||
| 绿色混凝土粉末 | concretepowder | 13 | green_concrete_powder |
|
||||
| 红色混凝土粉末 | concretepowder | 14 | red_concrete_powder |
|
||||
| 黑色混凝土粉末 | concretepowder | 15 | black_concrete_powder |
|
||||
|
||||
为方便开发者转换数据,下面提供了一个Python函数,该函数根据旧命名和旧附加值返回新命名。将以下代码保存在一个py文件中,导入后调用其中的get_new_name函数即可:
|
||||
|
||||
```python
|
||||
# -*- coding: utf-8 -*-
|
||||
# 定义旧命名和新命名的映射关系
|
||||
mapping = {
|
||||
('stone', 1): 'granite',
|
||||
('stone', 2): 'polished_granite',
|
||||
('stone', 3): 'diorite',
|
||||
('stone', 4): 'polished_diorite',
|
||||
('stone', 5): 'andesite',
|
||||
('stone', 6): 'polished_andesite',
|
||||
('planks', 1): 'spruce_planks',
|
||||
('planks', 2): 'birch_planks',
|
||||
('planks', 3): 'jungle_planks',
|
||||
('planks', 4): 'acacia_planks',
|
||||
('planks', 5): 'dark_oak_planks',
|
||||
('stained_glass', 1): 'orange_stained_glass',
|
||||
('stained_glass', 2): 'magenta_stained_glass',
|
||||
('stained_glass', 3): 'light_blue_stained_glass',
|
||||
('stained_glass', 4): 'yellow_stained_glass',
|
||||
('stained_glass', 5): 'lime_stained_glass',
|
||||
('stained_glass', 6): 'pink_stained_glass',
|
||||
('stained_glass', 7): 'gray_stained_glass',
|
||||
('stained_glass', 8): 'light_gray_stained_glass',
|
||||
('stained_glass', 9): 'cyan_stained_glass',
|
||||
('stained_glass', 10): 'purple_stained_glass',
|
||||
('stained_glass', 11): 'blue_stained_glass',
|
||||
('stained_glass', 12): 'brown_stained_glass',
|
||||
('stained_glass', 13): 'green_stained_glass',
|
||||
('stained_glass', 14): 'red_stained_glass',
|
||||
('stained_glass', 15): 'black_stained_glass',
|
||||
('stained_glass_pane', 1): 'orange_stained_glass_pane',
|
||||
('stained_glass_pane', 2): 'magenta_stained_glass_pane',
|
||||
('stained_glass_pane', 3): 'light_blue_stained_glass_pane',
|
||||
('stained_glass_pane', 4): 'yellow_stained_glass_pane',
|
||||
('stained_glass_pane', 5): 'lime_stained_glass_pane',
|
||||
('stained_glass_pane', 6): 'pink_stained_glass_pane',
|
||||
('stained_glass_pane', 7): 'gray_stained_glass_pane',
|
||||
('stained_glass_pane', 8): 'light_gray_stained_glass_pane',
|
||||
('stained_glass_pane', 9): 'cyan_stained_glass_pane',
|
||||
('stained_glass_pane', 10): 'purple_stained_glass_pane',
|
||||
('stained_glass_pane', 11): 'blue_stained_glass_pane',
|
||||
('stained_glass_pane', 12): 'brown_stained_glass_pane',
|
||||
('stained_glass_pane', 13): 'green_stained_glass_pane',
|
||||
('stained_glass_pane', 14): 'red_stained_glass_pane',
|
||||
('stained_glass_pane', 15): 'black_stained_glass_pane',
|
||||
('stained_hardened_clay', 1): 'orange_terracotta',
|
||||
('stained_hardened_clay', 2): 'magenta_terracotta',
|
||||
('stained_hardened_clay', 3): 'light_blue_terracotta',
|
||||
('stained_hardened_clay', 4): 'yellow_terracotta',
|
||||
('stained_hardened_clay', 5): 'lime_terracotta',
|
||||
('stained_hardened_clay', 6): 'pink_terracotta',
|
||||
('stained_hardened_clay', 7): 'gray_terracotta',
|
||||
('stained_hardened_clay', 8): 'light_gray_terracotta',
|
||||
('stained_hardened_clay', 9): 'cyan_terracotta',
|
||||
('stained_hardened_clay', 10): 'purple_terracotta',
|
||||
('stained_hardened_clay', 11): 'blue_terracotta',
|
||||
('stained_hardened_clay', 12): 'brown_terracotta',
|
||||
('stained_hardened_clay', 13): 'green_terracotta',
|
||||
('stained_hardened_clay', 14): 'red_terracotta',
|
||||
('stained_hardened_clay', 15): 'black_terracotta',
|
||||
('concretepowder', 1): 'orange_concrete_powder',
|
||||
('concretepowder', 2): 'magenta_concrete_powder',
|
||||
('concretepowder', 3): 'light_blue_concrete_powder',
|
||||
('concretepowder', 4): 'yellow_concrete_powder',
|
||||
('concretepowder', 5): 'lime_concrete_powder',
|
||||
('concretepowder', 6): 'pink_concrete_powder',
|
||||
('concretepowder', 7): 'gray_concrete_powder',
|
||||
('concretepowder', 8): 'light_gray_concrete_powder',
|
||||
('concretepowder', 9): 'cyan_concrete_powder',
|
||||
('concretepowder', 10): 'purple_concrete_powder',
|
||||
('concretepowder', 11): 'blue_concrete_powder',
|
||||
('concretepowder', 12): 'brown_concrete_powder',
|
||||
('concretepowder', 13): 'green_concrete_powder',
|
||||
('concretepowder', 14): 'red_concrete_powder',
|
||||
('concretepowder', 15): 'black_concrete_powder'
|
||||
}
|
||||
|
||||
def get_new_name(old_name, old_aux):
|
||||
# 根据旧命名和旧附加值返回新命名
|
||||
return mapping.get((old_name, old_aux), old_name)
|
||||
```
|
||||
|
||||
这个函数 `get_new_name` 接受两个参数:`old_name` 和 `old_aux`,并返回对应的新命名。如果输入的旧命名和旧附加值在映射表中找不到,会返回 `old_name`。
|
||||
130
mcguide/20-玩法开发/13-模组SDK编程/2-Python脚本开发/102-3.4版本物品id变更.md
Normal file
130
mcguide/20-玩法开发/13-模组SDK编程/2-Python脚本开发/102-3.4版本物品id变更.md
Normal file
@@ -0,0 +1,130 @@
|
||||
# 3.4版本物品id变更
|
||||
|
||||
## 简介
|
||||
|
||||
微软在1.21.00继续修改了部分方块ID,取消了附加值,相关链接请参阅[基岩版扁平化](https://zh.minecraft.wiki/w/%E5%AE%98%E6%96%B9%E9%A1%B5%E9%9D%A2/%E5%9F%BA%E5%B2%A9%E7%89%88%E6%89%81%E5%B9%B3%E5%8C%96),请开发者注意适配。
|
||||
|
||||
## 处理方法
|
||||
|
||||
在ModSDK的接口与事件中,我们针对上述情况做了以下处理:
|
||||
|
||||
1. 对于返回物品信息字典的接口与事件:
|
||||
|
||||
newItemName及newAuxValue返回新版名称与附加值。
|
||||
|
||||
原字段itemName及auxValue返回旧版名称与附加值。
|
||||
|
||||
2. 对于接受物品信息字典的接口与事件:
|
||||
|
||||
当字典存在newItemName及newAuxValue时,使用这两个字段。
|
||||
|
||||
不存在时,使用旧字段itemName及auxValue。
|
||||
|
||||
## 注意事项
|
||||
|
||||
* 通过附加值获取获取方块状态接口没有做兼容,例如GetBlockAuxValueFromStates、GetBlockStatesFromAuxValue、GetBlockStates、SetBlockStates,如果您的组件对此有依赖,则需要对这次的改动自行做兼容处理。
|
||||
|
||||
* **开发完成或正在开发的组件,建议统一采用newItemName及newAuxValue字段,也不要新旧字段混用。**
|
||||
|
||||
* 某些写法可能会失效,例如
|
||||
|
||||
```python
|
||||
# 获取itemDict,然后在他基础上修改itemName或auxValue后再用来生成
|
||||
itemdict = GetPlayerItem()
|
||||
itemdict['itemName'] = 'xxx'
|
||||
itemdict['auxValue'] = itemdict['auxValue']+1
|
||||
SpawnItemToPlayerInv(itemdict)
|
||||
```
|
||||
|
||||
因为GetPlayerItem返回的itemDict含有新字段,再传入SpawnItemToPlayerInv时,会读取新字段生成物品,因此对原字段的修改无效。
|
||||
|
||||
## 物品名称变更表
|
||||
|
||||
以下为3.4版本变更了名称的物品列表,表格内的名称省略了minecraft命名空间。
|
||||
|
||||
| 中文名称 | 旧命名 | 旧附加值 | 新命名 |
|
||||
| :------- | ------ | -------- | ------ |
|
||||
| 草方块 | grass | 0 | grass_block |
|
||||
| 橡树树苗 | sapling | 0 | oak_sapling |
|
||||
| 云杉树苗 | sapling | 1 | spruce_sapling |
|
||||
| 白桦树苗 | sapling | 2 | birch_sapling |
|
||||
| 丛林树苗 | sapling | 3 | jungle_sapling |
|
||||
| 金合欢树苗 | sapling | 4 | acacia_sapling |
|
||||
| 深色橡树苗 | sapling | 5 | dark_oak_sapling |
|
||||
| 橡树树叶 | leaves | 0 | oak_leaves |
|
||||
| 云杉树叶 | leaves | 1 | spruce_leaves |
|
||||
| 白桦树叶 | leaves | 2 | birch_leaves |
|
||||
| 丛林树叶 | leaves | 3 | jungle_leaves |
|
||||
| 金合欢树叶 | leaves2 | 0 | acacia_leaves |
|
||||
| 深色橡树叶 | leaves2 | 1 | dark_oak_leaves |
|
||||
| 矮草丛 | 0 | tallgrass | short_grass |
|
||||
| 蕨 | 2 | tallgrass | fern |
|
||||
| 虞美人 | 0 | red_flower | poppy |
|
||||
| 兰花 | 1 | red_flower | blue_orchid |
|
||||
| 绒球葱 | 2 | red_flower | allium |
|
||||
| 蓝花美耳草 | 3 | red_flower | azure_bluet |
|
||||
| 红色郁金香 | 4 | red_flower | red_tulip |
|
||||
| 橙色郁金香 | 5 | red_flower | orange_tulip |
|
||||
| 白色郁金香 | 6 | red_flower | white_tulip |
|
||||
| 粉红色郁金香 | 7 | red_flower | pink_tulip |
|
||||
| 滨菊 | 8 | red_flower | oxeye_daisy |
|
||||
| 矢车菊 | 9 | red_flower | cornflower |
|
||||
| 铃兰 | 10 | red_flower | lily_of_the_valley |
|
||||
| 平滑石台阶 | 0 | stone_block_slab | smooth_stone_slab |
|
||||
| 砂岩台阶 | 1 | stone_block_slab | sandstone_slab |
|
||||
| 石化橡木台阶 | 2 | stone_block_slab | petrified_oak_slab |
|
||||
| 圆石台阶 | 3 | stone_block_slab | cobblestone_slab |
|
||||
| 红砖台阶 | 4 | stone_block_slab | brick_slab |
|
||||
| 石砖台阶 | 5 | stone_block_slab | stone_brick_slab |
|
||||
| 石英台阶 | 6 | stone_block_slab | quartz_slab |
|
||||
| 下界砖台阶 | 7 | stone_block_slab | nether_brick_slab |
|
||||
| 双橡木台阶 | 0 | double_wooden_slab | oak_double_slab |
|
||||
| 双云杉木台阶 | 1 | double_wooden_slab | spruce_double_slab |
|
||||
| 双白桦木台阶 | 2 | double_wooden_slab | birch_double_slab |
|
||||
| 双丛林木台阶 | 3 | double_wooden_slab | jungle_double_slab |
|
||||
| 双金合欢木台阶 | 4 | double_wooden_slab | acacia_double_slab |
|
||||
| 双深色橡木台阶 | 5 | double_wooden_slab | dark_oak_double_slab |
|
||||
| 橡木台阶 | 0 | wooden_slab | oak_slab |
|
||||
| 云杉木台阶 | 1 | wooden_slab | spruce_slab |
|
||||
| 白桦木台阶 | 2 | wooden_slab | birch_slab |
|
||||
| 丛林木台阶 | 3 | wooden_slab | jungle_slab |
|
||||
| 金合欢木台阶 | 4 | wooden_slab | acacia_slab |
|
||||
| 深色橡木台阶 | 5 | wooden_slab | dark_oak_slab |
|
||||
| 向日葵 | 0 | double_plant | sunflower |
|
||||
| 丁香 | 1 | double_plant | lilac |
|
||||
| 高草丛 | 2 | double_plant | tall_grass |
|
||||
| 大型蕨 | 3 | double_plant | large_fern |
|
||||
| 玫瑰丛 | 4 | double_plant | rose_bush |
|
||||
| 牡丹 | 5 | double_plant | peony |
|
||||
| 管珊瑚块 | 0 | coral_block | tube_coral_block |
|
||||
| 脑纹珊瑚块 | 1 | coral_block | brain_coral_block |
|
||||
| 气泡珊瑚块 | 2 | coral_block | bubble_coral_block |
|
||||
| 火珊瑚块 | 3 | coral_block | fire_coral_block |
|
||||
| 鹿角珊瑚块 | 4 | coral_block | horn_coral_block |
|
||||
| 失活的管珊瑚块 | 5 | coral_block | dead_tube_coral_block |
|
||||
| 失活的脑纹珊瑚块 | 6 | coral_block | dead_brain_coral_block |
|
||||
| 失活的气泡珊瑚块 | 7 | coral_block | dead_bubble_coral_block |
|
||||
| 失活的火珊瑚块 | 8 | coral_block | dead_fire_coral_block |
|
||||
| 失活的鹿角珊瑚块 | 9 | coral_block | dead_horn_coral_block |
|
||||
| 管珊瑚扇 | 0 | coral_fan | tube_coral_fan |
|
||||
| 脑纹珊瑚扇 | 1 | coral_fan | brain_coral_fan |
|
||||
| 气泡珊瑚扇 | 2 | coral_fan | bubble_coral_fan |
|
||||
| 火珊瑚扇 | 3 | coral_fan | fire_coral_fan |
|
||||
| 鹿角珊瑚扇 | 4 | coral_fan | horn_coral_fan |
|
||||
| 失活的管珊瑚扇 | 0 | coral_fan_dead | dead_tube_coral_fan |
|
||||
| 失活的脑纹珊瑚扇 | 1 | coral_fan_dead | dead_brain_coral_fan |
|
||||
| 失活的气泡珊瑚扇 | 2 | coral_fan_dead | dead_bubble_coral_fan |
|
||||
| 失活的火珊瑚扇 | 3 | coral_fan_dead | dead_fire_coral_fan |
|
||||
| 失活的鹿角珊瑚扇 | 4 | coral_fan_dead | dead_horn_coral_fan |
|
||||
| 橡木 | 0 | wood | oak_wood |
|
||||
| 云杉木 | 1 | wood | spruce_wood |
|
||||
| 白桦木 | 2 | wood | birch_wood |
|
||||
| 丛林木 | 3 | wood | jungle_wood |
|
||||
| 金合欢木 | 4 | wood | acacia_wood |
|
||||
| 深色橡木 | 5 | wood | dark_oak_wood |
|
||||
| 去皮橡木 | 8 | wood | stripped_oak_wood |
|
||||
| 去皮云杉木 | 9 | wood | stripped_spruce_wood |
|
||||
| 去皮桦木 | 10 | wood | stripped_birch_wood |
|
||||
| 去皮丛林木 | 11 | wood | stripped_jungle_wood |
|
||||
| 去皮金合欢木 | 12 | wood | stripped_acacia_wood |
|
||||
| 去皮深色橡木 | 13 | wood | stripped_dark_oak_wood |
|
||||
73
mcguide/20-玩法开发/14-预设玩法编程/13-PresetAPI/config.json
Normal file
73
mcguide/20-玩法开发/14-预设玩法编程/13-PresetAPI/config.json
Normal file
@@ -0,0 +1,73 @@
|
||||
{
|
||||
"children": [
|
||||
{
|
||||
"children": [
|
||||
"/mcdocs/3-PresetAPI/预设管理/PresetApi"
|
||||
],
|
||||
"title": "预设管理"
|
||||
},
|
||||
{
|
||||
"children": [
|
||||
{
|
||||
"children": [
|
||||
"/mcdocs/3-PresetAPI/预设对象/通用/游戏对象GameObject",
|
||||
"/mcdocs/3-PresetAPI/预设对象/通用/坐标变换Transform",
|
||||
"/mcdocs/3-PresetAPI/预设对象/通用/变换对象TransformObject",
|
||||
"/mcdocs/3-PresetAPI/预设对象/通用/素材数据BoxData",
|
||||
"/mcdocs/3-PresetAPI/预设对象/通用/SDK接口封装SdkInterface"
|
||||
],
|
||||
"title": "通用"
|
||||
},
|
||||
{
|
||||
"children": [
|
||||
"/mcdocs/3-PresetAPI/预设对象/预设/预设基类PresetBase",
|
||||
"/mcdocs/3-PresetAPI/预设对象/预设/实体对象EntityObject",
|
||||
"/mcdocs/3-PresetAPI/预设对象/预设/实体预设EntityPreset",
|
||||
"/mcdocs/3-PresetAPI/预设对象/预设/特效对象EffectObject",
|
||||
"/mcdocs/3-PresetAPI/预设对象/预设/特效预设EffectPreset",
|
||||
"/mcdocs/3-PresetAPI/预设对象/预设/玩家对象PlayerObject",
|
||||
"/mcdocs/3-PresetAPI/预设对象/预设/玩家预设PlayerPreset",
|
||||
"/mcdocs/3-PresetAPI/预设对象/预设/方块预设BlockPreset",
|
||||
"/mcdocs/3-PresetAPI/预设对象/预设/界面预设UIPreset",
|
||||
"/mcdocs/3-PresetAPI/预设对象/预设/文字面板对象TextboardObject",
|
||||
"/mcdocs/3-PresetAPI/预设对象/预设/文字面板预设TextboardPreset"
|
||||
],
|
||||
"title": "预设"
|
||||
},
|
||||
{
|
||||
"children": [
|
||||
"/mcdocs/3-PresetAPI/预设对象/零件/零件PartBase",
|
||||
"/mcdocs/3-PresetAPI/预设对象/零件/零件事件PartEvent",
|
||||
"/mcdocs/3-PresetAPI/预设对象/零件/触发器零件TriggerPart",
|
||||
"/mcdocs/3-PresetAPI/预设对象/零件/世界属性零件WorldPart",
|
||||
"/mcdocs/3-PresetAPI/预设对象/零件/玩家基础属性零件PlayerBasicPart",
|
||||
"/mcdocs/3-PresetAPI/预设对象/零件/实体零件EntityBasePart",
|
||||
"/mcdocs/3-PresetAPI/预设对象/零件/相机轨迹CameraTrackPart",
|
||||
"/mcdocs/3-PresetAPI/预设对象/零件/导航路径零件NavPointsPart"
|
||||
],
|
||||
"title": "零件"
|
||||
}
|
||||
],
|
||||
"title": "预设对象"
|
||||
},
|
||||
{
|
||||
"children": [
|
||||
"/mcdocs/3-PresetAPI/更新信息/1.23.0",
|
||||
"/mcdocs/3-PresetAPI/更新信息/1.23.1",
|
||||
"/mcdocs/3-PresetAPI/更新信息/1.23.2",
|
||||
"/mcdocs/3-PresetAPI/更新信息/1.23.3",
|
||||
"/mcdocs/3-PresetAPI/更新信息/1.23.4",
|
||||
"/mcdocs/3-PresetAPI/更新信息/1.24.0",
|
||||
"/mcdocs/3-PresetAPI/更新信息/1.24.1",
|
||||
"/mcdocs/3-PresetAPI/更新信息/1.25.0",
|
||||
"/mcdocs/3-PresetAPI/更新信息/2.0.1",
|
||||
"/mcdocs/3-PresetAPI/更新信息/2.0.2",
|
||||
"/mcdocs/3-PresetAPI/更新信息/2.0.3",
|
||||
"/mcdocs/3-PresetAPI/更新信息/2.2.0",
|
||||
"/mcdocs/3-PresetAPI/更新信息/2.4.0"
|
||||
],
|
||||
"title": "更新信息"
|
||||
}
|
||||
],
|
||||
"title": "PresetAPI"
|
||||
}
|
||||
256
mcguide/20-玩法开发/14-预设玩法编程/13-PresetAPI/更新信息/1.23.0.md
Normal file
256
mcguide/20-玩法开发/14-预设玩法编程/13-PresetAPI/更新信息/1.23.0.md
Normal file
@@ -0,0 +1,256 @@
|
||||
# 1.23.0
|
||||
|
||||
- 新增
|
||||
|
||||
1. 新增[Preset.Model.GameObject.GameObject](../预设对象/通用/游戏对象GameObject.md#__init__),游戏对象<!--by gzxuguobin-->
|
||||
|
||||
1. 新增[Preset.Model.GameObject.GameObject.LoadFile](../预设对象/通用/游戏对象GameObject.md#loadfile),加载指定路径的非python脚本文件内容<!--by gzxuguobin-->
|
||||
|
||||
1. 新增[Preset.Model.Entity.EntityPreset.EntityPreset](../预设对象/预设/实体预设EntityPreset.md#__init__),实体预设<!--by gzxuguobin-->
|
||||
|
||||
1. 新增[Preset.Model.Entity.EntityPreset.EntityPreset.GetHealth](../预设对象/预设/实体预设EntityPreset.md#gethealth),获取实体预设的生命值<!--by gzxuguobin-->
|
||||
|
||||
1. 新增[Preset.Model.Entity.EntityPreset.EntityPreset.SetHealth](../预设对象/预设/实体预设EntityPreset.md#sethealth),设置实体预设的生命值<!--by gzxuguobin-->
|
||||
|
||||
1. 新增[Preset.Model.Effect.EffectPreset.EffectPreset](../预设对象/预设/特效预设EffectPreset.md#__init__),特效预设<!--by gzxuguobin-->
|
||||
|
||||
1. 新增[Preset.Model.Effect.EffectPreset.EffectPreset.Play](../预设对象/预设/特效预设EffectPreset.md#play),播放特效<!--by gzxuguobin-->
|
||||
|
||||
1. 新增[Preset.Model.Effect.EffectPreset.EffectPreset.Stop](../预设对象/预设/特效预设EffectPreset.md#stop),停止播放特效<!--by gzxuguobin-->
|
||||
|
||||
1. 新增[Preset.Model.Effect.EffectPreset.EffectPreset.GetResource](../预设对象/预设/特效预设EffectPreset.md#getresource),获取绑定的json资源<!--by gzxuguobin-->
|
||||
|
||||
1. 新增[Preset.Model.Effect.EffectPreset.EffectPreset.SetResource](../预设对象/预设/特效预设EffectPreset.md#setresource),设置绑定的json资源<!--by gzxuguobin-->
|
||||
|
||||
1. 新增[Preset.Model.Transform.Transform](../预设对象/通用/坐标变换Transform.md#__init__),坐标变换Transform<!--by gzxuguobin-->
|
||||
|
||||
1. 新增[Preset.Model.Transform.Transform.AddOffset](../预设对象/通用/坐标变换Transform.md#addoffset),给坐标变换位置增加偏移量<!--by gzxuguobin-->
|
||||
|
||||
1. 新增[Preset.Model.Transform.Transform.AddRotation](../预设对象/通用/坐标变换Transform.md#addrotation),给坐标变换旋转增加偏移量<!--by gzxuguobin-->
|
||||
|
||||
1. 新增[Preset.Model.Transform.Transform.AddScale](../预设对象/通用/坐标变换Transform.md#addscale),给坐标变换缩放增加偏移量<!--by gzxuguobin-->
|
||||
|
||||
1. 新增[Preset.Model.Transform.Transform.AddTransform](../预设对象/通用/坐标变换Transform.md#addtransform),给坐标变换增加偏移量<!--by gzxuguobin-->
|
||||
|
||||
1. 新增[Preset.Model.Transform.Transform.GetMatrix](../预设对象/通用/坐标变换Transform.md#getmatrix),获取坐标变换矩阵<!--by gzxuguobin-->
|
||||
|
||||
1. 新增[Preset.Model.PartBase.PartBase](../预设对象/零件/零件PartBase.md#__init__),零件基类<!--by gzxuguobin-->
|
||||
|
||||
1. 新增[Preset.Model.PartBase.PartBase.InitClient](../预设对象/零件/零件PartBase.md#initclient),客户端的零件对象初始化入口<!--by gzxuguobin-->
|
||||
|
||||
1. 新增[Preset.Model.PartBase.PartBase.InitServer](../预设对象/零件/零件PartBase.md#initserver),服务端的零件对象初始化入口<!--by gzxuguobin-->
|
||||
|
||||
1. 新增[Preset.Model.PartBase.PartBase.TickClient](../预设对象/零件/零件PartBase.md#tickclient),客户端的零件对象逻辑驱动入口<!--by gzxuguobin-->
|
||||
|
||||
1. 新增[Preset.Model.PartBase.PartBase.TickServer](../预设对象/零件/零件PartBase.md#tickserver),服务端的零件对象逻辑驱动入口<!--by gzxuguobin-->
|
||||
|
||||
1. 新增[Preset.Model.PartBase.PartBase.UnloadClient](../预设对象/零件/零件PartBase.md#unloadclient),客户端的零件对象卸载逻辑入口<!--by gzxuguobin-->
|
||||
|
||||
1. 新增[Preset.Model.PartBase.PartBase.UnloadServer](../预设对象/零件/零件PartBase.md#unloadserver),服务端的零件对象卸载逻辑入口<!--by gzxuguobin-->
|
||||
|
||||
1. 新增[Preset.Model.PartBase.PartBase.DestroyClient](../预设对象/零件/零件PartBase.md#destroyclient),客户端的零件对象销毁逻辑入口<!--by gzxuguobin-->
|
||||
|
||||
1. 新增[Preset.Model.PartBase.PartBase.DestroyServer](../预设对象/零件/零件PartBase.md#destroyserver),服务端的零件对象销毁逻辑入口<!--by gzxuguobin-->
|
||||
|
||||
1. 新增[Preset.Model.PartBase.PartBase.CanAdd](../预设对象/零件/零件PartBase.md#canadd),判断零件是否可以挂接到指定的父节点上<!--by gzxuguobin-->
|
||||
|
||||
1. 新增[Preset.Model.PartBase.PartBase.GetTickCount](../预设对象/零件/零件PartBase.md#gettickcount),获取当前帧数<!--by gzxuguobin-->
|
||||
|
||||
1. 新增[Preset.Model.PartBase.PartBase.ListenForEvent](../预设对象/零件/零件PartBase.md#listenforevent),监听指定的事件<!--by gzxuguobin-->
|
||||
|
||||
1. 新增[Preset.Model.PartBase.PartBase.UnListenForEvent](../预设对象/零件/零件PartBase.md#unlistenforevent),反监听指定的事件<!--by gzxuguobin-->
|
||||
|
||||
1. 新增[Preset.Model.PartBase.PartBase.DefineEvent](../预设对象/零件/零件PartBase.md#defineevent),定义事件<!--by gzxuguobin-->
|
||||
|
||||
1. 新增[Preset.Model.PartBase.PartBase.UnDefineEvent](../预设对象/零件/零件PartBase.md#undefineevent),反定义事件<!--by gzxuguobin-->
|
||||
|
||||
1. 新增[Preset.Model.PartBase.PartBase.BroadcastEvent](../预设对象/零件/零件PartBase.md#broadcastevent),广播事件<!--by gzxuguobin-->
|
||||
|
||||
1. 新增[Preset.Model.PartBase.PartBase.BroadcastClientEvent](../预设对象/零件/零件PartBase.md#broadcastclientevent),广播给所有客户端<!--by gzxuguobin-->
|
||||
|
||||
1. 新增[Preset.Model.PartBase.PartBase.BroadcastServerEvent](../预设对象/零件/零件PartBase.md#broadcastserverevent),广播给所有服务端<!--by gzxuguobin-->
|
||||
|
||||
1. 新增[Preset.Model.PartBase.PartBase.NotifyToServer](../预设对象/零件/零件PartBase.md#notifytoserver),通知服务端触发事件<!--by gzxuguobin-->
|
||||
|
||||
1. 新增[Preset.Model.PartBase.PartBase.NotifyToClient](../预设对象/零件/零件PartBase.md#notifytoclient),通知指定客户端触发事件<!--by gzxuguobin-->
|
||||
|
||||
1. 新增[Preset.Model.PartBase.PartBase.BroadcastToAllClient](../预设对象/零件/零件PartBase.md#broadcasttoallclient),通知指所有客户端触发事件<!--by gzxuguobin-->
|
||||
|
||||
1. 新增[Preset.Model.PartBase.PartBase.ListenSelfEvent](../预设对象/零件/零件PartBase.md#listenselfevent),监听来自自己的事件<!--by gzxuguobin-->
|
||||
|
||||
1. 新增[Preset.Model.PartBase.PartBase.UnListenSelfEvent](../预设对象/零件/零件PartBase.md#unlistenselfevent),反监听来自自己的事件<!--by gzxuguobin-->
|
||||
|
||||
1. 新增[Preset.Model.PartBase.PartBase.ListenPartEvent](../预设对象/零件/零件PartBase.md#listenpartevent),监听来自指定零件的事件<!--by gzxuguobin-->
|
||||
|
||||
1. 新增[Preset.Model.PartBase.PartBase.UnListenPartEvent](../预设对象/零件/零件PartBase.md#unlistenpartevent),反监听来自指定零件的事件<!--by gzxuguobin-->
|
||||
|
||||
1. 新增[Preset.Model.PartBase.PartBase.CreateComponent](../预设对象/零件/零件PartBase.md#createcomponent),给实体创建组件<!--by gzxuguobin-->
|
||||
|
||||
1. 新增[Preset.Model.Player.PlayerPreset.PlayerPreset](../预设对象/预设/玩家预设PlayerPreset.md#__init__),玩家预设<!--by gzxuguobin-->
|
||||
|
||||
1. 新增[Preset.Model.Player.PlayerPreset.PlayerPreset.GetPlayerId](../预设对象/预设/玩家预设PlayerPreset.md#getplayerid),获取玩家预设的玩家ID<!--by gzxuguobin-->
|
||||
|
||||
1. 新增[Preset.Model.Block.BlockPreset.BlockPreset](../预设对象/预设/方块预设BlockPreset.md#__init__),方块预设<!--by gzxuguobin-->
|
||||
|
||||
1. 新增[Preset.Model.Block.BlockPreset.BlockPreset.GetEngineTypeStr](../预设对象/预设/方块预设BlockPreset.md#getenginetypestr),获取方块预设的方块类型ID<!--by gzxuguobin-->
|
||||
|
||||
1. 新增[Preset.Model.BoxData.BoxData](../预设对象/通用/素材数据BoxData.md#__init__),素材数据<!--by gzxuguobin-->
|
||||
|
||||
1. 新增[Preset.Model.PresetBase.PresetBase](../预设对象/预设/预设基类PresetBase.md#__init__),预设基类<!--by gzxuguobin-->
|
||||
|
||||
1. 新增[Preset.Model.PresetBase.PresetBase.GetIsAlive](../预设对象/预设/预设基类PresetBase.md#getisalive),获取预设的存活状态<!--by gzxuguobin-->
|
||||
|
||||
1. 新增[Preset.Model.PresetBase.PresetBase.GetGameObjectById](../预设对象/预设/预设基类PresetBase.md#getgameobjectbyid),获取当前预设节点底下指定ID的游戏对象<!--by gzxuguobin-->
|
||||
|
||||
1. 新增[Preset.Model.PresetBase.PresetBase.GetGameObjectByEntityId](../预设对象/预设/预设基类PresetBase.md#getgameobjectbyentityid),获取当前预设节点底下指定实体ID的游戏对象<!--by gzxuguobin-->
|
||||
|
||||
1. 新增[Preset.Model.PresetBase.PresetBase.GetChildPresets](../预设对象/预设/预设基类PresetBase.md#getchildpresets),获取当前预设的所有子预设<!--by gzxuguobin-->
|
||||
|
||||
1. 新增[Preset.Model.PresetBase.PresetBase.GetChildPresetsByName](../预设对象/预设/预设基类PresetBase.md#getchildpresetsbyname),获取指定名称的所有子预设<!--by gzxuguobin-->
|
||||
|
||||
1. 新增[Preset.Model.PresetBase.PresetBase.GetChildPresetsByType](../预设对象/预设/预设基类PresetBase.md#getchildpresetsbytype),获取指定类型的所有子预设<!--by gzxuguobin-->
|
||||
|
||||
1. 新增[Preset.Model.PresetBase.PresetBase.Replicate](../预设对象/预设/预设基类PresetBase.md#replicate),在指定位置坐标下复制当前预设<!--by gzxuguobin-->
|
||||
|
||||
1. 新增[Preset.Model.PresetBase.PresetBase.RemoveChild](../预设对象/预设/预设基类PresetBase.md#removechild),移除指定的子节点对象<!--by gzxuguobin-->
|
||||
|
||||
1. 新增[Preset.Model.PresetBase.PresetBase.AddBoxData](../预设对象/预设/预设基类PresetBase.md#addboxdata),添加指定的素材数据<!--by gzxuguobin-->
|
||||
|
||||
1. 新增[Preset.Model.PresetBase.PresetBase.RemoveBoxData](../预设对象/预设/预设基类PresetBase.md#removeboxdata),移除指定的素材数据<!--by gzxuguobin-->
|
||||
|
||||
1. 新增[Preset.Model.PresetBase.PresetBase.AddPreset](../预设对象/预设/预设基类PresetBase.md#addpreset),添加指定预设作为子预设<!--by gzxuguobin-->
|
||||
|
||||
1. 新增[Preset.Model.PresetBase.PresetBase.RemovePreset](../预设对象/预设/预设基类PresetBase.md#removepreset),移除指定的子预设<!--by gzxuguobin-->
|
||||
|
||||
1. 新增[Preset.Model.PresetBase.PresetBase.AddPart](../预设对象/预设/预设基类PresetBase.md#addpart),添加指定零件作为子零件<!--by gzxuguobin-->
|
||||
|
||||
1. 新增[Preset.Model.PresetBase.PresetBase.RemovePart](../预设对象/预设/预设基类PresetBase.md#removepart),移除指定的子零件<!--by gzxuguobin-->
|
||||
|
||||
1. 新增[Preset.Model.PresetBase.PresetBase.GetPartsByName](../预设对象/预设/预设基类PresetBase.md#getpartsbyname),获取指定名称的所有零件<!--by gzxuguobin-->
|
||||
|
||||
1. 新增[Preset.Model.PresetBase.PresetBase.GetPartByName](../预设对象/预设/预设基类PresetBase.md#getpartbyname),获取指定名称的第一个零件<!--by gzxuguobin-->
|
||||
|
||||
1. 新增[Preset.Model.PresetBase.PresetBase.GetPartsByType](../预设对象/预设/预设基类PresetBase.md#getpartsbytype),获取指定类型的所有零件<!--by gzxuguobin-->
|
||||
|
||||
1. 新增[Preset.Model.PresetBase.PresetBase.GetPartByType](../预设对象/预设/预设基类PresetBase.md#getpartbytype),获取指定类型的第一个零件<!--by gzxuguobin-->
|
||||
|
||||
1. 新增[Preset.Model.PresetBase.PresetBase.RemovePartsByType](../预设对象/预设/预设基类PresetBase.md#removepartsbytype),移除指定类型的所有零件<!--by gzxuguobin-->
|
||||
|
||||
1. 新增[Preset.Model.TransformObject.TransformObject](../预设对象/通用/变换对象TransformObject.md#__init__),变换对象<!--by gzxuguobin-->
|
||||
|
||||
1. 新增[Preset.Model.TransformObject.TransformObject.GetDependencyChunks](../预设对象/通用/变换对象TransformObject.md#getdependencychunks),获取所有依赖的chunkPos<!--by gzxuguobin-->
|
||||
|
||||
1. 新增[Preset.Model.TransformObject.TransformObject.GetChildTransformObjects](../预设对象/通用/变换对象TransformObject.md#getchildtransformobjects),获取子TransformObject列表<!--by gzxuguobin-->
|
||||
|
||||
1. 新增[Preset.Model.TransformObject.TransformObject.GetTransformObjects](../预设对象/通用/变换对象TransformObject.md#gettransformobjects),获取TransformObject列表<!--by gzxuguobin-->
|
||||
|
||||
1. 新增[Preset.Model.TransformObject.TransformObject.GetChildGameObjects](../预设对象/通用/变换对象TransformObject.md#getchildgameobjects),获取GameObject列表<!--by gzxuguobin-->
|
||||
|
||||
1. 新增[Preset.Model.TransformObject.TransformObject.GetGameObjects](../预设对象/通用/变换对象TransformObject.md#getgameobjects),获取GameObject列表<!--by gzxuguobin-->
|
||||
|
||||
1. 新增[Preset.Model.TransformObject.TransformObject.GetGameObjectById](../预设对象/通用/变换对象TransformObject.md#getgameobjectbyid),根据ID获取GameObject<!--by gzxuguobin-->
|
||||
|
||||
1. 新增[Preset.Model.TransformObject.TransformObject.GetGameObjectByEntityId](../预设对象/通用/变换对象TransformObject.md#getgameobjectbyentityid),根据实体ID获取GameObject<!--by gzxuguobin-->
|
||||
|
||||
1. 新增[Preset.Model.TransformObject.TransformObject.GetLevelId](../预设对象/通用/变换对象TransformObject.md#getlevelid),获取当前对象所在的level_id<!--by gzxuguobin-->
|
||||
|
||||
1. 新增[Preset.Model.TransformObject.TransformObject.GetDisplayName](../预设对象/通用/变换对象TransformObject.md#getdisplayname),获取当前预设的显示名称<!--by gzxuguobin-->
|
||||
|
||||
1. 新增[Preset.Model.TransformObject.TransformObject.GetDisplayPath](../预设对象/通用/变换对象TransformObject.md#getdisplaypath),获取当前预设到根节点的显示路径<!--by gzxuguobin-->
|
||||
|
||||
1. 新增[Preset.Model.TransformObject.TransformObject.GetLocalTransform](../预设对象/通用/变换对象TransformObject.md#getlocaltransform),获取当前预设的局部坐标变换<!--by gzxuguobin-->
|
||||
|
||||
1. 新增[Preset.Model.TransformObject.TransformObject.SetLocalTransform](../预设对象/通用/变换对象TransformObject.md#setlocaltransform),设置当前预设的局部坐标变换<!--by gzxuguobin-->
|
||||
|
||||
1. 新增[Preset.Model.TransformObject.TransformObject.GetLocalPosition](../预设对象/通用/变换对象TransformObject.md#getlocalposition),获取当前预设的局部坐标位置<!--by gzxuguobin-->
|
||||
|
||||
1. 新增[Preset.Model.TransformObject.TransformObject.SetLocalPosition](../预设对象/通用/变换对象TransformObject.md#setlocalposition),设置当前预设的局部坐标位置<!--by gzxuguobin-->
|
||||
|
||||
1. 新增[Preset.Model.TransformObject.TransformObject.GetLocalRotation](../预设对象/通用/变换对象TransformObject.md#getlocalrotation),获取当前预设的局部坐标旋转<!--by gzxuguobin-->
|
||||
|
||||
1. 新增[Preset.Model.TransformObject.TransformObject.SetLocalRotation](../预设对象/通用/变换对象TransformObject.md#setlocalrotation),设置当前预设的局部坐标旋转<!--by gzxuguobin-->
|
||||
|
||||
1. 新增[Preset.Model.TransformObject.TransformObject.GetLocalScale](../预设对象/通用/变换对象TransformObject.md#getlocalscale),获取当前预设的局部坐标缩放<!--by gzxuguobin-->
|
||||
|
||||
1. 新增[Preset.Model.TransformObject.TransformObject.SetLocalScale](../预设对象/通用/变换对象TransformObject.md#setlocalscale),设置当前预设的局部坐标缩放<!--by gzxuguobin-->
|
||||
|
||||
1. 新增[Preset.Model.TransformObject.TransformObject.GetWorldTransform](../预设对象/通用/变换对象TransformObject.md#getworldtransform),获取当前预设的世界坐标变换<!--by gzxuguobin-->
|
||||
|
||||
1. 新增[Preset.Model.TransformObject.TransformObject.GetWorldMatrix](../预设对象/通用/变换对象TransformObject.md#getworldmatrix),获取世界坐标变换矩阵<!--by gzxuguobin-->
|
||||
|
||||
1. 新增[Preset.Model.TransformObject.TransformObject.GetLocalMatrix](../预设对象/通用/变换对象TransformObject.md#getlocalmatrix),获取局部坐标变换矩阵<!--by gzxuguobin-->
|
||||
|
||||
1. 新增[Preset.Model.TransformObject.TransformObject.SetWorldTransform](../预设对象/通用/变换对象TransformObject.md#setworldtransform),设置当前预设的世界坐标变换<!--by gzxuguobin-->
|
||||
|
||||
1. 新增[Preset.Model.TransformObject.TransformObject.GetWorldPosition](../预设对象/通用/变换对象TransformObject.md#getworldposition),获取当前预设的世界坐标位置<!--by gzxuguobin-->
|
||||
|
||||
1. 新增[Preset.Model.TransformObject.TransformObject.SetWorldPosition](../预设对象/通用/变换对象TransformObject.md#setworldposition),设置当前预设的世界坐标位置<!--by gzxuguobin-->
|
||||
|
||||
1. 新增[Preset.Model.TransformObject.TransformObject.GetWorldRotation](../预设对象/通用/变换对象TransformObject.md#getworldrotation),获取当前预设的世界坐标旋转<!--by gzxuguobin-->
|
||||
|
||||
1. 新增[Preset.Model.TransformObject.TransformObject.SetWorldRotation](../预设对象/通用/变换对象TransformObject.md#setworldrotation),设置当前预设的世界坐标旋转<!--by gzxuguobin-->
|
||||
|
||||
1. 新增[Preset.Model.TransformObject.TransformObject.GetWorldScale](../预设对象/通用/变换对象TransformObject.md#getworldscale),获取当前预设的世界坐标缩放<!--by gzxuguobin-->
|
||||
|
||||
1. 新增[Preset.Model.TransformObject.TransformObject.SetWorldScale](../预设对象/通用/变换对象TransformObject.md#setworldscale),设置当前预设的世界坐标缩放<!--by gzxuguobin-->
|
||||
|
||||
1. 新增[Preset.Model.TransformObject.TransformObject.AddLocalOffset](../预设对象/通用/变换对象TransformObject.md#addlocaloffset),给局部坐标变换位置增加偏移量<!--by gzxuguobin-->
|
||||
|
||||
1. 新增[Preset.Model.TransformObject.TransformObject.AddWorldOffset](../预设对象/通用/变换对象TransformObject.md#addworldoffset),给世界坐标变换位置增加偏移量<!--by gzxuguobin-->
|
||||
|
||||
1. 新增[Preset.Model.TransformObject.TransformObject.AddLocalRotation](../预设对象/通用/变换对象TransformObject.md#addlocalrotation),给局部坐标变换旋转增加偏移量<!--by gzxuguobin-->
|
||||
|
||||
1. 新增[Preset.Model.TransformObject.TransformObject.AddWorldRotation](../预设对象/通用/变换对象TransformObject.md#addworldrotation),给世界坐标变换旋转增加偏移量<!--by gzxuguobin-->
|
||||
|
||||
1. 新增[Preset.Model.TransformObject.TransformObject.AddLocalScale](../预设对象/通用/变换对象TransformObject.md#addlocalscale),给局部坐标变换缩放增加偏移量<!--by gzxuguobin-->
|
||||
|
||||
1. 新增[Preset.Model.TransformObject.TransformObject.AddWorldScale](../预设对象/通用/变换对象TransformObject.md#addworldscale),给世界坐标变换缩放增加偏移量<!--by gzxuguobin-->
|
||||
|
||||
1. 新增[Preset.Model.TransformObject.TransformObject.AddLocalTransform](../预设对象/通用/变换对象TransformObject.md#addlocaltransform),给局部坐标变换增加偏移量<!--by gzxuguobin-->
|
||||
|
||||
1. 新增[Preset.Model.TransformObject.TransformObject.AddWorldTransform](../预设对象/通用/变换对象TransformObject.md#addworldtransform),给世界坐标变换增加偏移量<!--by gzxuguobin-->
|
||||
|
||||
1. 新增[Preset.Model.TransformObject.TransformObject.GetRootParent](../预设对象/通用/变换对象TransformObject.md#getrootparent),获取当前预设所在的根预设<!--by gzxuguobin-->
|
||||
|
||||
1. 新增[Preset.Model.TransformObject.TransformObject.GetParent](../预设对象/通用/变换对象TransformObject.md#getparent),获取当前预设的父预设<!--by gzxuguobin-->
|
||||
|
||||
1. 新增[Preset.Model.TransformObject.TransformObject.SetParent](../预设对象/通用/变换对象TransformObject.md#setparent),设置当前预设的父预设<!--by gzxuguobin-->
|
||||
|
||||
1. 新增[Preset.Model.TransformObject.TransformObject.GetManager](../预设对象/通用/变换对象TransformObject.md#getmanager),获取当前预设所在的预设管理器<!--by gzxuguobin-->
|
||||
|
||||
1. 新增[Preset.Model.TransformObject.TransformObject.Unload](../预设对象/通用/变换对象TransformObject.md#unload),卸载当前预设<!--by gzxuguobin-->
|
||||
|
||||
1. 新增[Preset.Model.TransformObject.TransformObject.Destroy](../预设对象/通用/变换对象TransformObject.md#destroy),销毁当前预设<!--by gzxuguobin-->
|
||||
|
||||
1. 新增[Preset.Controller.PresetApi.GetAllPresets](../预设管理/PresetApi.md#getallpresets),获取所有预设<!--by gzxuguobin-->
|
||||
|
||||
1. 新增[Preset.Controller.PresetApi.GetBlockPresetByPosition](../预设管理/PresetApi.md#getblockpresetbyposition),获取指定位置的第一个方块预设<!--by gzxuguobin-->
|
||||
|
||||
1. 新增[Preset.Controller.PresetApi.GetGameObjectByEntityId](../预设管理/PresetApi.md#getgameobjectbyentityid),获取指定实体ID的游戏对象<!--by gzxuguobin-->
|
||||
|
||||
1. 新增[Preset.Controller.PresetApi.GetGameObjectById](../预设管理/PresetApi.md#getgameobjectbyid),获取指定ID的游戏对象<!--by gzxuguobin-->
|
||||
|
||||
1. 新增[Preset.Controller.PresetApi.GetManager](../预设管理/PresetApi.md#getmanager),获取预设管理器<!--by gzxuguobin-->
|
||||
|
||||
1. 新增[Preset.Controller.PresetApi.GetPresetByName](../预设管理/PresetApi.md#getpresetbyname),获取指定名称的第一个预设<!--by gzxuguobin-->
|
||||
|
||||
1. 新增[Preset.Controller.PresetApi.GetPresetByType](../预设管理/PresetApi.md#getpresetbytype),获取指定类型的第一个预设<!--by gzxuguobin-->
|
||||
|
||||
1. 新增[Preset.Controller.PresetApi.GetPresetsByName](../预设管理/PresetApi.md#getpresetsbyname),获取指定名称的所有预设<!--by gzxuguobin-->
|
||||
|
||||
1. 新增[Preset.Controller.PresetApi.GetPresetsByType](../预设管理/PresetApi.md#getpresetsbytype),获取指定类型的所有预设<!--by gzxuguobin-->
|
||||
|
||||
1. 新增[Preset.Controller.PresetApi.GetTickCount](../预设管理/PresetApi.md#gettickcount),获取当前帧数<!--by gzxuguobin-->
|
||||
|
||||
1. 新增[Preset.Controller.PresetApi.LoadPartByModulePath](../预设管理/PresetApi.md#loadpartbymodulepath),通过模块相对路径加载零件并实例化<!--by gzxuguobin-->
|
||||
|
||||
1. 新增[Preset.Controller.PresetApi.LoadPartByType](../预设管理/PresetApi.md#loadpartbytype),通过类名加载零件并实例化<!--by gzxuguobin-->
|
||||
|
||||
1. 新增[Preset.Controller.PresetApi.SpawnPreset](../预设管理/PresetApi.md#spawnpreset),在指定坐标变换处生成指定预设<!--by gzxuguobin-->
|
||||
|
||||
1. 新增[Preset.Parts.PartEvent.OnTriggerEntityEnter](../预设对象/零件/零件事件PartEvent.md#ontriggerentityenter),触发器范围有实体进入时触发<!--by gzxuguobin-->
|
||||
|
||||
1. 新增[Preset.Parts.PartEvent.OnTriggerEntityExit](../预设对象/零件/零件事件PartEvent.md#ontriggerentityexit),触发器范围有实体离开时触发<!--by gzxuguobin-->
|
||||
|
||||
1. 新增[Preset.Parts.PartEvent.OnTriggerEntityStay](../预设对象/零件/零件事件PartEvent.md#ontriggerentitystay),触发器范围有实体停留时触发<!--by gzxuguobin-->
|
||||
|
||||
770
mcguide/20-玩法开发/14-预设玩法编程/13-PresetAPI/更新信息/1.23.1.md
Normal file
770
mcguide/20-玩法开发/14-预设玩法编程/13-PresetAPI/更新信息/1.23.1.md
Normal file
@@ -0,0 +1,770 @@
|
||||
# 1.23.1
|
||||
|
||||
* 注:该版本功能仅在modpc开发包生效,移动端生效请期待1.24大版本更新。
|
||||
|
||||
- 新增
|
||||
|
||||
1. 新增[Preset.Model.Entity.EntityPreset.EntityPreset.GetMaxHealth](../预设对象/预设/实体预设EntityPreset.md#getmaxhealth),获取实体预设的最大生命值<!--by xgb-->
|
||||
|
||||
1. 新增[Preset.Model.Entity.EntityPreset.EntityPreset.SetMaxHealth](../预设对象/预设/实体预设EntityPreset.md#setmaxhealth),设置实体预设的最大生命值<!--by xgb-->
|
||||
|
||||
1. 新增[Preset.Model.Entity.EntityPreset.EntityPreset.GetSpeed](../预设对象/预设/实体预设EntityPreset.md#getspeed),获取实体预设的速度<!--by xgb-->
|
||||
|
||||
1. 新增[Preset.Model.Entity.EntityPreset.EntityPreset.SetSpeed](../预设对象/预设/实体预设EntityPreset.md#setspeed),设置实体预设的速度<!--by xgb-->
|
||||
|
||||
1. 新增[Preset.Model.Entity.EntityPreset.EntityPreset.GetMaxSpeed](../预设对象/预设/实体预设EntityPreset.md#getmaxspeed),获取实体预设的最大速度<!--by xgb-->
|
||||
|
||||
1. 新增[Preset.Model.Entity.EntityPreset.EntityPreset.SetMaxSpeed](../预设对象/预设/实体预设EntityPreset.md#setmaxspeed),设置实体预设的最大速度<!--by xgb-->
|
||||
|
||||
1. 新增[Preset.Model.Entity.EntityPreset.EntityPreset.GetDamage](../预设对象/预设/实体预设EntityPreset.md#getdamage),获取实体预设的伤害<!--by xgb-->
|
||||
|
||||
1. 新增[Preset.Model.Entity.EntityPreset.EntityPreset.SetDamage](../预设对象/预设/实体预设EntityPreset.md#setdamage),设置实体预设的伤害<!--by xgb-->
|
||||
|
||||
1. 新增[Preset.Model.Entity.EntityPreset.EntityPreset.GetMaxDamage](../预设对象/预设/实体预设EntityPreset.md#getmaxdamage),获取实体预设的最大伤害<!--by xgb-->
|
||||
|
||||
1. 新增[Preset.Model.Entity.EntityPreset.EntityPreset.SetMaxDamage](../预设对象/预设/实体预设EntityPreset.md#setmaxdamage),设置实体预设的最大伤害<!--by xgb-->
|
||||
|
||||
1. 新增[Preset.Model.Entity.EntityPreset.EntityPreset.ShowHealth](../预设对象/预设/实体预设EntityPreset.md#showhealth),组件工厂化<!--by xgb-->
|
||||
|
||||
1. 新增[Preset.Model.Entity.EntityPreset.EntityPreset.SetAttackTarget](../预设对象/预设/实体预设EntityPreset.md#setattacktarget),组件工厂化<!--by xgb-->
|
||||
|
||||
1. 新增[Preset.Model.Entity.EntityPreset.EntityPreset.ResetAttackTarget](../预设对象/预设/实体预设EntityPreset.md#resetattacktarget),组件工厂化<!--by xgb-->
|
||||
|
||||
1. 新增[Preset.Model.Entity.EntityPreset.EntityPreset.GetAttackTarget](../预设对象/预设/实体预设EntityPreset.md#getattacktarget),组件工厂化<!--by xgb-->
|
||||
|
||||
1. 新增[Preset.Model.Entity.EntityPreset.EntityPreset.SetKnockback](../预设对象/预设/实体预设EntityPreset.md#setknockback),组件工厂化<!--by xgb-->
|
||||
|
||||
1. 新增[Preset.Model.Entity.EntityPreset.EntityPreset.SetOwner](../预设对象/预设/实体预设EntityPreset.md#setowner),组件工厂化<!--by xgb-->
|
||||
|
||||
1. 新增[Preset.Model.Entity.EntityPreset.EntityPreset.GetOwner](../预设对象/预设/实体预设EntityPreset.md#getowner),组件工厂化<!--by xgb-->
|
||||
|
||||
1. 新增[Preset.Model.Entity.EntityPreset.EntityPreset.IsOnFire](../预设对象/预设/实体预设EntityPreset.md#isonfire),组件工厂化<!--by xgb-->
|
||||
|
||||
1. 新增[Preset.Model.Entity.EntityPreset.EntityPreset.SetOnFire](../预设对象/预设/实体预设EntityPreset.md#setonfire),组件工厂化<!--by xgb-->
|
||||
|
||||
1. 新增[Preset.Model.Entity.EntityPreset.EntityPreset.GetAttrValue](../预设对象/预设/实体预设EntityPreset.md#getattrvalue),组件工厂化<!--by xgb-->
|
||||
|
||||
1. 新增[Preset.Model.Entity.EntityPreset.EntityPreset.GetAttrMaxValue](../预设对象/预设/实体预设EntityPreset.md#getattrmaxvalue),组件工厂化<!--by xgb-->
|
||||
|
||||
1. 新增[Preset.Model.Entity.EntityPreset.EntityPreset.SetAttrValue](../预设对象/预设/实体预设EntityPreset.md#setattrvalue),组件工厂化<!--by xgb-->
|
||||
|
||||
1. 新增[Preset.Model.Entity.EntityPreset.EntityPreset.SetAttrMaxValue](../预设对象/预设/实体预设EntityPreset.md#setattrmaxvalue),组件工厂化<!--by xgb-->
|
||||
|
||||
1. 新增[Preset.Model.Entity.EntityPreset.EntityPreset.IsInLava](../预设对象/预设/实体预设EntityPreset.md#isinlava),组件工厂化<!--by xgb-->
|
||||
|
||||
1. 新增[Preset.Model.Entity.EntityPreset.EntityPreset.IsOnGround](../预设对象/预设/实体预设EntityPreset.md#isonground),组件工厂化<!--by xgb-->
|
||||
|
||||
1. 新增[Preset.Model.Entity.EntityPreset.EntityPreset.GetAuxValue](../预设对象/预设/实体预设EntityPreset.md#getauxvalue),组件工厂化<!--by xgb-->
|
||||
|
||||
1. 新增[Preset.Model.Entity.EntityPreset.EntityPreset.GetCurrentAirSupply](../预设对象/预设/实体预设EntityPreset.md#getcurrentairsupply),组件工厂化<!--by xgb-->
|
||||
|
||||
1. 新增[Preset.Model.Entity.EntityPreset.EntityPreset.GetMaxAirSupply](../预设对象/预设/实体预设EntityPreset.md#getmaxairsupply),组件工厂化<!--by xgb-->
|
||||
|
||||
1. 新增[Preset.Model.Entity.EntityPreset.EntityPreset.SetCurrentAirSupply](../预设对象/预设/实体预设EntityPreset.md#setcurrentairsupply),组件工厂化<!--by xgb-->
|
||||
|
||||
1. 新增[Preset.Model.Entity.EntityPreset.EntityPreset.SetMaxAirSupply](../预设对象/预设/实体预设EntityPreset.md#setmaxairsupply),组件工厂化<!--by xgb-->
|
||||
|
||||
1. 新增[Preset.Model.Entity.EntityPreset.EntityPreset.IsConsumingAirSupply](../预设对象/预设/实体预设EntityPreset.md#isconsumingairsupply),组件工厂化<!--by xgb-->
|
||||
|
||||
1. 新增[Preset.Model.Entity.EntityPreset.EntityPreset.SetRecoverTotalAirSupplyTime](../预设对象/预设/实体预设EntityPreset.md#setrecovertotalairsupplytime),组件工厂化<!--by xgb-->
|
||||
|
||||
1. 新增[Preset.Model.Entity.EntityPreset.EntityPreset.GetSourceId](../预设对象/预设/实体预设EntityPreset.md#getsourceid),组件工厂化<!--by xgb-->
|
||||
|
||||
1. 新增[Preset.Model.Entity.EntityPreset.EntityPreset.SetCollisionBoxSize](../预设对象/预设/实体预设EntityPreset.md#setcollisionboxsize),组件工厂化<!--by xgb-->
|
||||
|
||||
1. 新增[Preset.Model.Entity.EntityPreset.EntityPreset.GetCollisionBoxSize](../预设对象/预设/实体预设EntityPreset.md#getcollisionboxsize),组件工厂化<!--by xgb-->
|
||||
|
||||
1. 新增[Preset.Model.Entity.EntityPreset.EntityPreset.SetBlockControlAi](../预设对象/预设/实体预设EntityPreset.md#setblockcontrolai),组件工厂化<!--by xgb-->
|
||||
|
||||
1. 新增[Preset.Model.Entity.EntityPreset.EntityPreset.GetDimensionId](../预设对象/预设/实体预设EntityPreset.md#getdimensionid),组件工厂化<!--by xgb-->
|
||||
|
||||
1. 新增[Preset.Model.Entity.EntityPreset.EntityPreset.ChangeDimension](../预设对象/预设/实体预设EntityPreset.md#changedimension),组件工厂化<!--by xgb-->
|
||||
|
||||
1. 新增[Preset.Model.Entity.EntityPreset.EntityPreset.RemoveEffect](../预设对象/预设/实体预设EntityPreset.md#removeeffect),组件工厂化<!--by xgb-->
|
||||
|
||||
1. 新增[Preset.Model.Entity.EntityPreset.EntityPreset.AddEffect](../预设对象/预设/实体预设EntityPreset.md#addeffect),组件工厂化<!--by xgb-->
|
||||
|
||||
1. 新增[Preset.Model.Entity.EntityPreset.EntityPreset.GetEffects](../预设对象/预设/实体预设EntityPreset.md#geteffects),组件工厂化<!--by xgb-->
|
||||
|
||||
1. 新增[Preset.Model.Entity.EntityPreset.EntityPreset.TriggerCustomEvent](../预设对象/预设/实体预设EntityPreset.md#triggercustomevent),组件工厂化<!--by xgb-->
|
||||
|
||||
1. 新增[Preset.Model.Entity.EntityPreset.EntityPreset.IsAlive](../预设对象/预设/实体预设EntityPreset.md#isalive),组件工厂化<!--by xgb-->
|
||||
|
||||
1. 新增[Preset.Model.Entity.EntityPreset.EntityPreset.GetGravity](../预设对象/预设/实体预设EntityPreset.md#getgravity),组件工厂化<!--by xgb-->
|
||||
|
||||
1. 新增[Preset.Model.Entity.EntityPreset.EntityPreset.SetGravity](../预设对象/预设/实体预设EntityPreset.md#setgravity),组件工厂化<!--by xgb-->
|
||||
|
||||
1. 新增[Preset.Model.Entity.EntityPreset.EntityPreset.SetHurt](../预设对象/预设/实体预设EntityPreset.md#sethurt),组件工厂化<!--by xgb-->
|
||||
|
||||
1. 新增[Preset.Model.Entity.EntityPreset.EntityPreset.SetImmuneDamage](../预设对象/预设/实体预设EntityPreset.md#setimmunedamage),组件工厂化<!--by xgb-->
|
||||
|
||||
1. 新增[Preset.Model.Entity.EntityPreset.EntityPreset.SetModAttr](../预设对象/预设/实体预设EntityPreset.md#setmodattr),组件工厂化<!--by xgb-->
|
||||
|
||||
1. 新增[Preset.Model.Entity.EntityPreset.EntityPreset.GetModAttr](../预设对象/预设/实体预设EntityPreset.md#getmodattr),组件工厂化<!--by xgb-->
|
||||
|
||||
1. 新增[Preset.Model.Entity.EntityPreset.EntityPreset.RegisterModAttrUpdateFunc](../预设对象/预设/实体预设EntityPreset.md#registermodattrupdatefunc),组件工厂化<!--by xgb-->
|
||||
|
||||
1. 新增[Preset.Model.Entity.EntityPreset.EntityPreset.UnRegisterModAttrUpdateFunc](../预设对象/预设/实体预设EntityPreset.md#unregistermodattrupdatefunc),组件工厂化<!--by xgb-->
|
||||
|
||||
1. 新增[Preset.Model.Entity.EntityPreset.EntityPreset.GetName](../预设对象/预设/实体预设EntityPreset.md#getname),组件工厂化<!--by xgb-->
|
||||
|
||||
1. 新增[Preset.Model.Entity.EntityPreset.EntityPreset.SetName](../预设对象/预设/实体预设EntityPreset.md#setname),组件工厂化<!--by xgb-->
|
||||
|
||||
1. 新增[Preset.Model.Entity.EntityPreset.EntityPreset.SetShowName](../预设对象/预设/实体预设EntityPreset.md#setshowname),组件工厂化<!--by xgb-->
|
||||
|
||||
1. 新增[Preset.Model.Entity.EntityPreset.EntityPreset.SetAlwaysShowName](../预设对象/预设/实体预设EntityPreset.md#setalwaysshowname),组件工厂化<!--by xgb-->
|
||||
|
||||
1. 新增[Preset.Model.Entity.EntityPreset.EntityPreset.SetPersistence](../预设对象/预设/实体预设EntityPreset.md#setpersistence),组件工厂化<!--by xgb-->
|
||||
|
||||
1. 新增[Preset.Model.PartBase.PartBase.GetGameObjectById](../预设对象/零件/零件PartBase.md#getgameobjectbyid),获取指定ID的游戏对象<!--by xgb-->
|
||||
|
||||
1. 新增[Preset.Model.PartBase.PartBase.GetGameObjectByEntityId](../预设对象/零件/零件PartBase.md#getgameobjectbyentityid),获取指定实体ID的游戏对象<!--by xgb-->
|
||||
|
||||
1. 新增[Preset.Model.PartBase.PartBase.CreateGameObjectByEntityId](../预设对象/零件/零件PartBase.md#creategameobjectbyentityid),根据指定实体ID创建游戏对象,已存在则直接返回<!--by xgb-->
|
||||
|
||||
1. 新增[Preset.Model.PartBase.PartBase.CreateEventData](../预设对象/零件/零件PartBase.md#createeventdata),反定义事件<!--by xgb-->
|
||||
|
||||
1. 新增[Preset.Model.Player.PlayerPreset.PlayerPreset.IsSneaking](../预设对象/预设/玩家预设PlayerPreset.md#issneaking),组件工厂化<!--by xgb-->
|
||||
|
||||
1. 新增[Preset.Model.Player.PlayerPreset.PlayerPreset.GetHunger](../预设对象/预设/玩家预设PlayerPreset.md#gethunger),组件工厂化<!--by xgb-->
|
||||
|
||||
1. 新增[Preset.Model.Player.PlayerPreset.PlayerPreset.SetHunger](../预设对象/预设/玩家预设PlayerPreset.md#sethunger),组件工厂化<!--by xgb-->
|
||||
|
||||
1. 新增[Preset.Model.Player.PlayerPreset.PlayerPreset.SetMotion](../预设对象/预设/玩家预设PlayerPreset.md#setmotion),组件工厂化<!--by xgb-->
|
||||
|
||||
1. 新增[Preset.Model.Player.PlayerPreset.PlayerPreset.GetMotion](../预设对象/预设/玩家预设PlayerPreset.md#getmotion),组件工厂化<!--by xgb-->
|
||||
|
||||
1. 新增[Preset.Model.Player.PlayerPreset.PlayerPreset.SetStepHeight](../预设对象/预设/玩家预设PlayerPreset.md#setstepheight),组件工厂化<!--by xgb-->
|
||||
|
||||
1. 新增[Preset.Model.Player.PlayerPreset.PlayerPreset.GetStepHeight](../预设对象/预设/玩家预设PlayerPreset.md#getstepheight),组件工厂化<!--by xgb-->
|
||||
|
||||
1. 新增[Preset.Model.Player.PlayerPreset.PlayerPreset.ResetStepHeight](../预设对象/预设/玩家预设PlayerPreset.md#resetstepheight),组件工厂化<!--by xgb-->
|
||||
|
||||
1. 新增[Preset.Model.Player.PlayerPreset.PlayerPreset.GetExp](../预设对象/预设/玩家预设PlayerPreset.md#getexp),组件工厂化<!--by xgb-->
|
||||
|
||||
1. 新增[Preset.Model.Player.PlayerPreset.PlayerPreset.AddExp](../预设对象/预设/玩家预设PlayerPreset.md#addexp),组件工厂化<!--by xgb-->
|
||||
|
||||
1. 新增[Preset.Model.Player.PlayerPreset.PlayerPreset.GetTotalExp](../预设对象/预设/玩家预设PlayerPreset.md#gettotalexp),组件工厂化<!--by xgb-->
|
||||
|
||||
1. 新增[Preset.Model.Player.PlayerPreset.PlayerPreset.SetTotalExp](../预设对象/预设/玩家预设PlayerPreset.md#settotalexp),组件工厂化<!--by xgb-->
|
||||
|
||||
1. 新增[Preset.Model.Player.PlayerPreset.PlayerPreset.IsFlying](../预设对象/预设/玩家预设PlayerPreset.md#isflying),组件工厂化<!--by xgb-->
|
||||
|
||||
1. 新增[Preset.Model.Player.PlayerPreset.PlayerPreset.ChangeFlyState](../预设对象/预设/玩家预设PlayerPreset.md#changeflystate),组件工厂化<!--by xgb-->
|
||||
|
||||
1. 新增[Preset.Model.Player.PlayerPreset.PlayerPreset.GetLevel](../预设对象/预设/玩家预设PlayerPreset.md#getlevel),组件工厂化<!--by xgb-->
|
||||
|
||||
1. 新增[Preset.Model.Player.PlayerPreset.PlayerPreset.AddLevel](../预设对象/预设/玩家预设PlayerPreset.md#addlevel),组件工厂化<!--by xgb-->
|
||||
|
||||
1. 新增[Preset.Model.Player.PlayerPreset.PlayerPreset.SetPrefixAndSuffixName](../预设对象/预设/玩家预设PlayerPreset.md#setprefixandsuffixname),组件工厂化<!--by xgb-->
|
||||
|
||||
1. 新增[Preset.Model.SdkInterface.SdkInterface.CreateComponent](../预设对象/通用/SDK接口封装SdkInterface.md#createcomponent),给实体创建组件<!--by xgb-->
|
||||
|
||||
1. 新增[Preset.Model.SdkInterface.SdkInterface.CreateActionComponent](../预设对象/通用/SDK接口封装SdkInterface.md#createactioncomponent),组件工厂化<!--by xgb-->
|
||||
|
||||
1. 新增[Preset.Model.SdkInterface.SdkInterface.SetEntityAttackTarget](../预设对象/通用/SDK接口封装SdkInterface.md#setentityattacktarget),组件工厂化<!--by xgb-->
|
||||
|
||||
1. 新增[Preset.Model.SdkInterface.SdkInterface.ResetEntityAttackTarget](../预设对象/通用/SDK接口封装SdkInterface.md#resetentityattacktarget),组件工厂化<!--by xgb-->
|
||||
|
||||
1. 新增[Preset.Model.SdkInterface.SdkInterface.GetEntityAttackTarget](../预设对象/通用/SDK接口封装SdkInterface.md#getentityattacktarget),组件工厂化<!--by xgb-->
|
||||
|
||||
1. 新增[Preset.Model.SdkInterface.SdkInterface.SetMobKnockback](../预设对象/通用/SDK接口封装SdkInterface.md#setmobknockback),组件工厂化<!--by xgb-->
|
||||
|
||||
1. 新增[Preset.Model.SdkInterface.SdkInterface.CreateActorLootComponent](../预设对象/通用/SDK接口封装SdkInterface.md#createactorlootcomponent),组件工厂化<!--by xgb-->
|
||||
|
||||
1. 新增[Preset.Model.SdkInterface.SdkInterface.SpawnLootTable](../预设对象/通用/SDK接口封装SdkInterface.md#spawnloottable),组件工厂化<!--by xgb-->
|
||||
|
||||
1. 新增[Preset.Model.SdkInterface.SdkInterface.SpawnLootTableWithActor](../预设对象/通用/SDK接口封装SdkInterface.md#spawnloottablewithactor),组件工厂化<!--by xgb-->
|
||||
|
||||
1. 新增[Preset.Model.SdkInterface.SdkInterface.CreateActorMotionComponent](../预设对象/通用/SDK接口封装SdkInterface.md#createactormotioncomponent),组件工厂化<!--by xgb-->
|
||||
|
||||
1. 新增[Preset.Model.SdkInterface.SdkInterface.GetDirFromRot](../预设对象/通用/SDK接口封装SdkInterface.md#getdirfromrot),组件工厂化<!--by xgb-->
|
||||
|
||||
1. 新增[Preset.Model.SdkInterface.SdkInterface.SetEntityMotion](../预设对象/通用/SDK接口封装SdkInterface.md#setentitymotion),组件工厂化<!--by xgb-->
|
||||
|
||||
1. 新增[Preset.Model.SdkInterface.SdkInterface.GetEntityMotion](../预设对象/通用/SDK接口封装SdkInterface.md#getentitymotion),组件工厂化<!--by xgb-->
|
||||
|
||||
1. 新增[Preset.Model.SdkInterface.SdkInterface.GetInputVector](../预设对象/通用/SDK接口封装SdkInterface.md#getinputvector),组件工厂化<!--by xgb-->
|
||||
|
||||
1. 新增[Preset.Model.SdkInterface.SdkInterface.LockInputVector](../预设对象/通用/SDK接口封装SdkInterface.md#lockinputvector),组件工厂化<!--by xgb-->
|
||||
|
||||
1. 新增[Preset.Model.SdkInterface.SdkInterface.UnlockInputVector](../预设对象/通用/SDK接口封装SdkInterface.md#unlockinputvector),组件工厂化<!--by xgb-->
|
||||
|
||||
1. 新增[Preset.Model.SdkInterface.SdkInterface.CreateActorOwnerComponent](../预设对象/通用/SDK接口封装SdkInterface.md#createactorownercomponent),组件工厂化<!--by xgb-->
|
||||
|
||||
1. 新增[Preset.Model.SdkInterface.SdkInterface.SetEntityOwner](../预设对象/通用/SDK接口封装SdkInterface.md#setentityowner),组件工厂化<!--by xgb-->
|
||||
|
||||
1. 新增[Preset.Model.SdkInterface.SdkInterface.GetEntityOwner](../预设对象/通用/SDK接口封装SdkInterface.md#getentityowner),组件工厂化<!--by xgb-->
|
||||
|
||||
1. 新增[Preset.Model.SdkInterface.SdkInterface.CreateActorPushableComponent](../预设对象/通用/SDK接口封装SdkInterface.md#createactorpushablecomponent),组件工厂化<!--by xgb-->
|
||||
|
||||
1. 新增[Preset.Model.SdkInterface.SdkInterface.SetActorPushable](../预设对象/通用/SDK接口封装SdkInterface.md#setactorpushable),组件工厂化<!--by xgb-->
|
||||
|
||||
1. 新增[Preset.Model.SdkInterface.SdkInterface.CreateAttrComponent](../预设对象/通用/SDK接口封装SdkInterface.md#createattrcomponent),组件工厂化<!--by xgb-->
|
||||
|
||||
1. 新增[Preset.Model.SdkInterface.SdkInterface.IsEntityOnFire](../预设对象/通用/SDK接口封装SdkInterface.md#isentityonfire),组件工厂化<!--by xgb-->
|
||||
|
||||
1. 新增[Preset.Model.SdkInterface.SdkInterface.SetEntityOnFire](../预设对象/通用/SDK接口封装SdkInterface.md#setentityonfire),组件工厂化<!--by xgb-->
|
||||
|
||||
1. 新增[Preset.Model.SdkInterface.SdkInterface.GetEntityAttrValue](../预设对象/通用/SDK接口封装SdkInterface.md#getentityattrvalue),组件工厂化<!--by xgb-->
|
||||
|
||||
1. 新增[Preset.Model.SdkInterface.SdkInterface.GetEntityAttrMaxValue](../预设对象/通用/SDK接口封装SdkInterface.md#getentityattrmaxvalue),组件工厂化<!--by xgb-->
|
||||
|
||||
1. 新增[Preset.Model.SdkInterface.SdkInterface.SetEntityAttrValue](../预设对象/通用/SDK接口封装SdkInterface.md#setentityattrvalue),组件工厂化<!--by xgb-->
|
||||
|
||||
1. 新增[Preset.Model.SdkInterface.SdkInterface.SetEntityAttrMaxValue](../预设对象/通用/SDK接口封装SdkInterface.md#setentityattrmaxvalue),组件工厂化<!--by xgb-->
|
||||
|
||||
1. 新增[Preset.Model.SdkInterface.SdkInterface.SetPlayerStepHeight](../预设对象/通用/SDK接口封装SdkInterface.md#setplayerstepheight),组件工厂化<!--by xgb-->
|
||||
|
||||
1. 新增[Preset.Model.SdkInterface.SdkInterface.GetPlayerStepHeight](../预设对象/通用/SDK接口封装SdkInterface.md#getplayerstepheight),组件工厂化<!--by xgb-->
|
||||
|
||||
1. 新增[Preset.Model.SdkInterface.SdkInterface.ResetPlayerStepHeight](../预设对象/通用/SDK接口封装SdkInterface.md#resetplayerstepheight),组件工厂化<!--by xgb-->
|
||||
|
||||
1. 新增[Preset.Model.SdkInterface.SdkInterface.IsEntityInLava](../预设对象/通用/SDK接口封装SdkInterface.md#isentityinlava),组件工厂化<!--by xgb-->
|
||||
|
||||
1. 新增[Preset.Model.SdkInterface.SdkInterface.IsEntityOnGround](../预设对象/通用/SDK接口封装SdkInterface.md#isentityonground),组件工厂化<!--by xgb-->
|
||||
|
||||
1. 新增[Preset.Model.SdkInterface.SdkInterface.CreateAuxValueComponent](../预设对象/通用/SDK接口封装SdkInterface.md#createauxvaluecomponent),组件工厂化<!--by xgb-->
|
||||
|
||||
1. 新增[Preset.Model.SdkInterface.SdkInterface.GetEntityAuxValue](../预设对象/通用/SDK接口封装SdkInterface.md#getentityauxvalue),组件工厂化<!--by xgb-->
|
||||
|
||||
1. 新增[Preset.Model.SdkInterface.SdkInterface.CreateBiomeComponent](../预设对象/通用/SDK接口封装SdkInterface.md#createbiomecomponent),组件工厂化<!--by xgb-->
|
||||
|
||||
1. 新增[Preset.Model.SdkInterface.SdkInterface.GetBiomeName](../预设对象/通用/SDK接口封装SdkInterface.md#getbiomename),组件工厂化<!--by xgb-->
|
||||
|
||||
1. 新增[Preset.Model.SdkInterface.SdkInterface.CreateBlockComponent](../预设对象/通用/SDK接口封装SdkInterface.md#createblockcomponent),组件工厂化<!--by xgb-->
|
||||
|
||||
1. 新增[Preset.Model.SdkInterface.SdkInterface.RegisterBlockPatterns](../预设对象/通用/SDK接口封装SdkInterface.md#registerblockpatterns),组件工厂化<!--by xgb-->
|
||||
|
||||
1. 新增[Preset.Model.SdkInterface.SdkInterface.CreateMicroBlockResStr](../预设对象/通用/SDK接口封装SdkInterface.md#createmicroblockresstr),组件工厂化<!--by xgb-->
|
||||
|
||||
1. 新增[Preset.Model.SdkInterface.SdkInterface.CreateBlockEntityData](../预设对象/通用/SDK接口封装SdkInterface.md#createblockentitydata),组件工厂化<!--by xgb-->
|
||||
|
||||
1. 新增[Preset.Model.SdkInterface.SdkInterface.GetCustomBlockEntityData](../预设对象/通用/SDK接口封装SdkInterface.md#getcustomblockentitydata),组件工厂化<!--by xgb-->
|
||||
|
||||
1. 新增[Preset.Model.SdkInterface.SdkInterface.CreateBlockInfoComponent](../预设对象/通用/SDK接口封装SdkInterface.md#createblockinfocomponent),组件工厂化<!--by xgb-->
|
||||
|
||||
1. 新增[Preset.Model.SdkInterface.SdkInterface.GetBlock](../预设对象/通用/SDK接口封装SdkInterface.md#getblock),组件工厂化<!--by xgb-->
|
||||
|
||||
1. 新增[Preset.Model.SdkInterface.SdkInterface.SetBlock](../预设对象/通用/SDK接口封装SdkInterface.md#setblock),组件工厂化<!--by xgb-->
|
||||
|
||||
1. 新增[Preset.Model.SdkInterface.SdkInterface.GetTopBlockHeight](../预设对象/通用/SDK接口封装SdkInterface.md#gettopblockheight),组件工厂化<!--by xgb-->
|
||||
|
||||
1. 新增[Preset.Model.SdkInterface.SdkInterface.GetBlockDestroyTime](../预设对象/通用/SDK接口封装SdkInterface.md#getblockdestroytime),组件工厂化<!--by xgb-->
|
||||
|
||||
1. 新增[Preset.Model.SdkInterface.SdkInterface.GetBlockEntityData](../预设对象/通用/SDK接口封装SdkInterface.md#getblockentitydata),组件工厂化<!--by xgb-->
|
||||
|
||||
1. 新增[Preset.Model.SdkInterface.SdkInterface.CreateBlockStateComponent](../预设对象/通用/SDK接口封装SdkInterface.md#createblockstatecomponent),组件工厂化<!--by xgb-->
|
||||
|
||||
1. 新增[Preset.Model.SdkInterface.SdkInterface.GetBlockStates](../预设对象/通用/SDK接口封装SdkInterface.md#getblockstates),组件工厂化<!--by xgb-->
|
||||
|
||||
1. 新增[Preset.Model.SdkInterface.SdkInterface.SetBlockStates](../预设对象/通用/SDK接口封装SdkInterface.md#setblockstates),组件工厂化<!--by xgb-->
|
||||
|
||||
1. 新增[Preset.Model.SdkInterface.SdkInterface.GetBlockAuxValueFromStates](../预设对象/通用/SDK接口封装SdkInterface.md#getblockauxvaluefromstates),组件工厂化<!--by xgb-->
|
||||
|
||||
1. 新增[Preset.Model.SdkInterface.SdkInterface.GetBlockStatesFromAuxValue](../预设对象/通用/SDK接口封装SdkInterface.md#getblockstatesfromauxvalue),组件工厂化<!--by xgb-->
|
||||
|
||||
1. 新增[Preset.Model.SdkInterface.SdkInterface.CreateBlockUseEventWhiteList](../预设对象/通用/SDK接口封装SdkInterface.md#createblockuseeventwhitelist),组件工厂化<!--by xgb-->
|
||||
|
||||
1. 新增[Preset.Model.SdkInterface.SdkInterface.AddBlockItemListenForUseEvent](../预设对象/通用/SDK接口封装SdkInterface.md#addblockitemlistenforuseevent),组件工厂化<!--by xgb-->
|
||||
|
||||
1. 新增[Preset.Model.SdkInterface.SdkInterface.RemoveBlockItemListenForUseEvent](../预设对象/通用/SDK接口封装SdkInterface.md#removeblockitemlistenforuseevent),组件工厂化<!--by xgb-->
|
||||
|
||||
1. 新增[Preset.Model.SdkInterface.SdkInterface.ClearAllListenForBlockUseEventItems](../预设对象/通用/SDK接口封装SdkInterface.md#clearalllistenforblockuseeventitems),组件工厂化<!--by xgb-->
|
||||
|
||||
1. 新增[Preset.Model.SdkInterface.SdkInterface.CreateBreathComponent](../预设对象/通用/SDK接口封装SdkInterface.md#createbreathcomponent),组件工厂化<!--by xgb-->
|
||||
|
||||
1. 新增[Preset.Model.SdkInterface.SdkInterface.GetUnitBubbleAirSupply](../预设对象/通用/SDK接口封装SdkInterface.md#getunitbubbleairsupply),组件工厂化<!--by xgb-->
|
||||
|
||||
1. 新增[Preset.Model.SdkInterface.SdkInterface.GetEntityCurrentAirSupply](../预设对象/通用/SDK接口封装SdkInterface.md#getentitycurrentairsupply),组件工厂化<!--by xgb-->
|
||||
|
||||
1. 新增[Preset.Model.SdkInterface.SdkInterface.GetEntityMaxAirSupply](../预设对象/通用/SDK接口封装SdkInterface.md#getentitymaxairsupply),组件工厂化<!--by xgb-->
|
||||
|
||||
1. 新增[Preset.Model.SdkInterface.SdkInterface.SetEntityCurrentAirSupply](../预设对象/通用/SDK接口封装SdkInterface.md#setentitycurrentairsupply),组件工厂化<!--by xgb-->
|
||||
|
||||
1. 新增[Preset.Model.SdkInterface.SdkInterface.SetEntityMaxAirSupply](../预设对象/通用/SDK接口封装SdkInterface.md#setentitymaxairsupply),组件工厂化<!--by xgb-->
|
||||
|
||||
1. 新增[Preset.Model.SdkInterface.SdkInterface.IsEntityConsumingAirSupply](../预设对象/通用/SDK接口封装SdkInterface.md#isentityconsumingairsupply),组件工厂化<!--by xgb-->
|
||||
|
||||
1. 新增[Preset.Model.SdkInterface.SdkInterface.SetEntityRecoverTotalAirSupplyTime](../预设对象/通用/SDK接口封装SdkInterface.md#setentityrecovertotalairsupplytime),组件工厂化<!--by xgb-->
|
||||
|
||||
1. 新增[Preset.Model.SdkInterface.SdkInterface.CreateBulletAttributesComponent](../预设对象/通用/SDK接口封装SdkInterface.md#createbulletattributescomponent),组件工厂化<!--by xgb-->
|
||||
|
||||
1. 新增[Preset.Model.SdkInterface.SdkInterface.GetEntitySourceId](../预设对象/通用/SDK接口封装SdkInterface.md#getentitysourceid),组件工厂化<!--by xgb-->
|
||||
|
||||
1. 新增[Preset.Model.SdkInterface.SdkInterface.CreateChestBlockComponent](../预设对象/通用/SDK接口封装SdkInterface.md#createchestblockcomponent),组件工厂化<!--by xgb-->
|
||||
|
||||
1. 新增[Preset.Model.SdkInterface.SdkInterface.GetChestBoxSize](../预设对象/通用/SDK接口封装SdkInterface.md#getchestboxsize),组件工厂化<!--by xgb-->
|
||||
|
||||
1. 新增[Preset.Model.SdkInterface.SdkInterface.SetChestBoxItemNum](../预设对象/通用/SDK接口封装SdkInterface.md#setchestboxitemnum),组件工厂化<!--by xgb-->
|
||||
|
||||
1. 新增[Preset.Model.SdkInterface.SdkInterface.SetChestBoxItemExchange](../预设对象/通用/SDK接口封装SdkInterface.md#setchestboxitemexchange),组件工厂化<!--by xgb-->
|
||||
|
||||
1. 新增[Preset.Model.SdkInterface.SdkInterface.CreateChunkSourceComponent](../预设对象/通用/SDK接口封装SdkInterface.md#createchunksourcecomponent),组件工厂化<!--by xgb-->
|
||||
|
||||
1. 新增[Preset.Model.SdkInterface.SdkInterface.SetAddArea](../预设对象/通用/SDK接口封装SdkInterface.md#setaddarea),组件工厂化<!--by xgb-->
|
||||
|
||||
1. 新增[Preset.Model.SdkInterface.SdkInterface.DeleteArea](../预设对象/通用/SDK接口封装SdkInterface.md#deletearea),组件工厂化<!--by xgb-->
|
||||
|
||||
1. 新增[Preset.Model.SdkInterface.SdkInterface.DeleteAllArea](../预设对象/通用/SDK接口封装SdkInterface.md#deleteallarea),组件工厂化<!--by xgb-->
|
||||
|
||||
1. 新增[Preset.Model.SdkInterface.SdkInterface.GetAllAreaKeys](../预设对象/通用/SDK接口封装SdkInterface.md#getallareakeys),组件工厂化<!--by xgb-->
|
||||
|
||||
1. 新增[Preset.Model.SdkInterface.SdkInterface.CheckChunkState](../预设对象/通用/SDK接口封装SdkInterface.md#checkchunkstate),组件工厂化<!--by xgb-->
|
||||
|
||||
1. 新增[Preset.Model.SdkInterface.SdkInterface.GetLoadedChunks](../预设对象/通用/SDK接口封装SdkInterface.md#getloadedchunks),组件工厂化<!--by xgb-->
|
||||
|
||||
1. 新增[Preset.Model.SdkInterface.SdkInterface.GetChunkEntities](../预设对象/通用/SDK接口封装SdkInterface.md#getchunkentities),组件工厂化<!--by xgb-->
|
||||
|
||||
1. 新增[Preset.Model.SdkInterface.SdkInterface.GetChunkMobNum](../预设对象/通用/SDK接口封装SdkInterface.md#getchunkmobnum),组件工厂化<!--by xgb-->
|
||||
|
||||
1. 新增[Preset.Model.SdkInterface.SdkInterface.IsChunkGenerated](../预设对象/通用/SDK接口封装SdkInterface.md#ischunkgenerated),组件工厂化<!--by xgb-->
|
||||
|
||||
1. 新增[Preset.Model.SdkInterface.SdkInterface.CreateCollisionBoxComponent](../预设对象/通用/SDK接口封装SdkInterface.md#createcollisionboxcomponent),组件工厂化<!--by xgb-->
|
||||
|
||||
1. 新增[Preset.Model.SdkInterface.SdkInterface.SetEntityCollisionBoxSize](../预设对象/通用/SDK接口封装SdkInterface.md#setentitycollisionboxsize),组件工厂化<!--by xgb-->
|
||||
|
||||
1. 新增[Preset.Model.SdkInterface.SdkInterface.GetEntityCollisionBoxSize](../预设对象/通用/SDK接口封装SdkInterface.md#getentitycollisionboxsize),组件工厂化<!--by xgb-->
|
||||
|
||||
1. 新增[Preset.Model.SdkInterface.SdkInterface.CreateCommandComponent](../预设对象/通用/SDK接口封装SdkInterface.md#createcommandcomponent),组件工厂化<!--by xgb-->
|
||||
|
||||
1. 新增[Preset.Model.SdkInterface.SdkInterface.SetCommand](../预设对象/通用/SDK接口封装SdkInterface.md#setcommand),组件工厂化<!--by xgb-->
|
||||
|
||||
1. 新增[Preset.Model.SdkInterface.SdkInterface.GetCommandPermissionLevel](../预设对象/通用/SDK接口封装SdkInterface.md#getcommandpermissionlevel),组件工厂化<!--by xgb-->
|
||||
|
||||
1. 新增[Preset.Model.SdkInterface.SdkInterface.SetCommandPermissionLevel](../预设对象/通用/SDK接口封装SdkInterface.md#setcommandpermissionlevel),组件工厂化<!--by xgb-->
|
||||
|
||||
1. 新增[Preset.Model.SdkInterface.SdkInterface.GetDefaultPlayerPermissionLevel](../预设对象/通用/SDK接口封装SdkInterface.md#getdefaultplayerpermissionlevel),组件工厂化<!--by xgb-->
|
||||
|
||||
1. 新增[Preset.Model.SdkInterface.SdkInterface.SetDefaultPlayerPermissionLevel](../预设对象/通用/SDK接口封装SdkInterface.md#setdefaultplayerpermissionlevel),组件工厂化<!--by xgb-->
|
||||
|
||||
1. 新增[Preset.Model.SdkInterface.SdkInterface.CreateControlAiComponent](../预设对象/通用/SDK接口封装SdkInterface.md#createcontrolaicomponent),组件工厂化<!--by xgb-->
|
||||
|
||||
1. 新增[Preset.Model.SdkInterface.SdkInterface.SetEntityBlockControlAi](../预设对象/通用/SDK接口封装SdkInterface.md#setentityblockcontrolai),组件工厂化<!--by xgb-->
|
||||
|
||||
1. 新增[Preset.Model.SdkInterface.SdkInterface.CreateDimensionComponent](../预设对象/通用/SDK接口封装SdkInterface.md#createdimensioncomponent),组件工厂化<!--by xgb-->
|
||||
|
||||
1. 新增[Preset.Model.SdkInterface.SdkInterface.GetEntityDimensionId](../预设对象/通用/SDK接口封装SdkInterface.md#getentitydimensionid),组件工厂化<!--by xgb-->
|
||||
|
||||
1. 新增[Preset.Model.SdkInterface.SdkInterface.ChangeEntityDimension](../预设对象/通用/SDK接口封装SdkInterface.md#changeentitydimension),组件工厂化<!--by xgb-->
|
||||
|
||||
1. 新增[Preset.Model.SdkInterface.SdkInterface.ChangePlayerDimension](../预设对象/通用/SDK接口封装SdkInterface.md#changeplayerdimension),组件工厂化<!--by xgb-->
|
||||
|
||||
1. 新增[Preset.Model.SdkInterface.SdkInterface.MirrorDimension](../预设对象/通用/SDK接口封装SdkInterface.md#mirrordimension),组件工厂化<!--by xgb-->
|
||||
|
||||
1. 新增[Preset.Model.SdkInterface.SdkInterface.CreateDimension](../预设对象/通用/SDK接口封装SdkInterface.md#createdimension),组件工厂化<!--by xgb-->
|
||||
|
||||
1. 新增[Preset.Model.SdkInterface.SdkInterface.RegisterEntityAOIEvent](../预设对象/通用/SDK接口封装SdkInterface.md#registerentityaoievent),组件工厂化<!--by xgb-->
|
||||
|
||||
1. 新增[Preset.Model.SdkInterface.SdkInterface.UnRegisterEntityAOIEvent](../预设对象/通用/SDK接口封装SdkInterface.md#unregisterentityaoievent),组件工厂化<!--by xgb-->
|
||||
|
||||
1. 新增[Preset.Model.SdkInterface.SdkInterface.SetUseLocalTime](../预设对象/通用/SDK接口封装SdkInterface.md#setuselocaltime),组件工厂化<!--by xgb-->
|
||||
|
||||
1. 新增[Preset.Model.SdkInterface.SdkInterface.GetUseLocalTime](../预设对象/通用/SDK接口封装SdkInterface.md#getuselocaltime),组件工厂化<!--by xgb-->
|
||||
|
||||
1. 新增[Preset.Model.SdkInterface.SdkInterface.SetLocalTime](../预设对象/通用/SDK接口封装SdkInterface.md#setlocaltime),组件工厂化<!--by xgb-->
|
||||
|
||||
1. 新增[Preset.Model.SdkInterface.SdkInterface.SetLocalTimeOfDay](../预设对象/通用/SDK接口封装SdkInterface.md#setlocaltimeofday),组件工厂化<!--by xgb-->
|
||||
|
||||
1. 新增[Preset.Model.SdkInterface.SdkInterface.GetLocalTime](../预设对象/通用/SDK接口封装SdkInterface.md#getlocaltime),组件工厂化<!--by xgb-->
|
||||
|
||||
1. 新增[Preset.Model.SdkInterface.SdkInterface.SetLocalDoDayNightCycle](../预设对象/通用/SDK接口封装SdkInterface.md#setlocaldodaynightcycle),组件工厂化<!--by xgb-->
|
||||
|
||||
1. 新增[Preset.Model.SdkInterface.SdkInterface.GetLocalDoDayNightCycle](../预设对象/通用/SDK接口封装SdkInterface.md#getlocaldodaynightcycle),组件工厂化<!--by xgb-->
|
||||
|
||||
1. 新增[Preset.Model.SdkInterface.SdkInterface.CreateEffectComponent](../预设对象/通用/SDK接口封装SdkInterface.md#createeffectcomponent),组件工厂化<!--by xgb-->
|
||||
|
||||
1. 新增[Preset.Model.SdkInterface.SdkInterface.RemoveEffectFromEntity](../预设对象/通用/SDK接口封装SdkInterface.md#removeeffectfromentity),组件工厂化<!--by xgb-->
|
||||
|
||||
1. 新增[Preset.Model.SdkInterface.SdkInterface.AddEffectToEntity](../预设对象/通用/SDK接口封装SdkInterface.md#addeffecttoentity),组件工厂化<!--by xgb-->
|
||||
|
||||
1. 新增[Preset.Model.SdkInterface.SdkInterface.GetEntityEffects](../预设对象/通用/SDK接口封装SdkInterface.md#getentityeffects),组件工厂化<!--by xgb-->
|
||||
|
||||
1. 新增[Preset.Model.SdkInterface.SdkInterface.CreateEngineTypeComponent](../预设对象/通用/SDK接口封装SdkInterface.md#createenginetypecomponent),组件工厂化<!--by xgb-->
|
||||
|
||||
1. 新增[Preset.Model.SdkInterface.SdkInterface.GetEntityEngineTypeStr](../预设对象/通用/SDK接口封装SdkInterface.md#getentityenginetypestr),组件工厂化<!--by xgb-->
|
||||
|
||||
1. 新增[Preset.Model.SdkInterface.SdkInterface.GetEntityEngineType](../预设对象/通用/SDK接口封装SdkInterface.md#getentityenginetype),组件工厂化<!--by xgb-->
|
||||
|
||||
1. 新增[Preset.Model.SdkInterface.SdkInterface.CreateEntityEventComponent](../预设对象/通用/SDK接口封装SdkInterface.md#createentityeventcomponent),组件工厂化<!--by xgb-->
|
||||
|
||||
1. 新增[Preset.Model.SdkInterface.SdkInterface.TriggerEntityCustomEvent](../预设对象/通用/SDK接口封装SdkInterface.md#triggerentitycustomevent),组件工厂化<!--by xgb-->
|
||||
|
||||
1. 新增[Preset.Model.SdkInterface.SdkInterface.CreateExtraDataComponent](../预设对象/通用/SDK接口封装SdkInterface.md#createextradatacomponent),组件工厂化<!--by xgb-->
|
||||
|
||||
1. 新增[Preset.Model.SdkInterface.SdkInterface.GetExtraData](../预设对象/通用/SDK接口封装SdkInterface.md#getextradata),组件工厂化<!--by xgb-->
|
||||
|
||||
1. 新增[Preset.Model.SdkInterface.SdkInterface.SaveExtraData](../预设对象/通用/SDK接口封装SdkInterface.md#saveextradata),组件工厂化<!--by xgb-->
|
||||
|
||||
1. 新增[Preset.Model.SdkInterface.SdkInterface.SetExtraData](../预设对象/通用/SDK接口封装SdkInterface.md#setextradata),组件工厂化<!--by xgb-->
|
||||
|
||||
1. 新增[Preset.Model.SdkInterface.SdkInterface.CleanExtraData](../预设对象/通用/SDK接口封装SdkInterface.md#cleanextradata),组件工厂化<!--by xgb-->
|
||||
|
||||
1. 新增[Preset.Model.SdkInterface.SdkInterface.GetWholeExtraData](../预设对象/通用/SDK接口封装SdkInterface.md#getwholeextradata),组件工厂化<!--by xgb-->
|
||||
|
||||
1. 新增[Preset.Model.SdkInterface.SdkInterface.CreateExpComponent](../预设对象/通用/SDK接口封装SdkInterface.md#createexpcomponent),组件工厂化<!--by xgb-->
|
||||
|
||||
1. 新增[Preset.Model.SdkInterface.SdkInterface.GetPlayerExp](../预设对象/通用/SDK接口封装SdkInterface.md#getplayerexp),组件工厂化<!--by xgb-->
|
||||
|
||||
1. 新增[Preset.Model.SdkInterface.SdkInterface.AddPlayerExp](../预设对象/通用/SDK接口封装SdkInterface.md#addplayerexp),组件工厂化<!--by xgb-->
|
||||
|
||||
1. 新增[Preset.Model.SdkInterface.SdkInterface.GetPlayerTotalExp](../预设对象/通用/SDK接口封装SdkInterface.md#getplayertotalexp),组件工厂化<!--by xgb-->
|
||||
|
||||
1. 新增[Preset.Model.SdkInterface.SdkInterface.SetPlayerTotalExp](../预设对象/通用/SDK接口封装SdkInterface.md#setplayertotalexp),组件工厂化<!--by xgb-->
|
||||
|
||||
1. 新增[Preset.Model.SdkInterface.SdkInterface.GetOrbExperience](../预设对象/通用/SDK接口封装SdkInterface.md#getorbexperience),组件工厂化<!--by xgb-->
|
||||
|
||||
1. 新增[Preset.Model.SdkInterface.SdkInterface.SetOrbExperience](../预设对象/通用/SDK接口封装SdkInterface.md#setorbexperience),组件工厂化<!--by xgb-->
|
||||
|
||||
1. 新增[Preset.Model.SdkInterface.SdkInterface.CreateExperienceOrb](../预设对象/通用/SDK接口封装SdkInterface.md#createexperienceorb),组件工厂化<!--by xgb-->
|
||||
|
||||
1. 新增[Preset.Model.SdkInterface.SdkInterface.CreateExplosionComponent](../预设对象/通用/SDK接口封装SdkInterface.md#createexplosioncomponent),组件工厂化<!--by xgb-->
|
||||
|
||||
1. 新增[Preset.Model.SdkInterface.SdkInterface.CreateExplosion](../预设对象/通用/SDK接口封装SdkInterface.md#createexplosion),组件工厂化<!--by xgb-->
|
||||
|
||||
1. 新增[Preset.Model.SdkInterface.SdkInterface.CreateFeatureComponent](../预设对象/通用/SDK接口封装SdkInterface.md#createfeaturecomponent),组件工厂化<!--by xgb-->
|
||||
|
||||
1. 新增[Preset.Model.SdkInterface.SdkInterface.AddNeteaseFeatureWhiteList](../预设对象/通用/SDK接口封装SdkInterface.md#addneteasefeaturewhitelist),组件工厂化<!--by xgb-->
|
||||
|
||||
1. 新增[Preset.Model.SdkInterface.SdkInterface.RemoveNeteaseFeatureWhiteList](../预设对象/通用/SDK接口封装SdkInterface.md#removeneteasefeaturewhitelist),组件工厂化<!--by xgb-->
|
||||
|
||||
1. 新增[Preset.Model.SdkInterface.SdkInterface.ClearAllNeteaseFeatureWhiteList](../预设对象/通用/SDK接口封装SdkInterface.md#clearallneteasefeaturewhitelist),组件工厂化<!--by xgb-->
|
||||
|
||||
1. 新增[Preset.Model.SdkInterface.SdkInterface.LocateStructureFeature](../预设对象/通用/SDK接口封装SdkInterface.md#locatestructurefeature),组件工厂化<!--by xgb-->
|
||||
|
||||
1. 新增[Preset.Model.SdkInterface.SdkInterface.LocateNeteaseFeatureRule](../预设对象/通用/SDK接口封装SdkInterface.md#locateneteasefeaturerule),组件工厂化<!--by xgb-->
|
||||
|
||||
1. 新增[Preset.Model.SdkInterface.SdkInterface.CreateFlyComponent](../预设对象/通用/SDK接口封装SdkInterface.md#createflycomponent),组件工厂化<!--by xgb-->
|
||||
|
||||
1. 新增[Preset.Model.SdkInterface.SdkInterface.IsPlayerFlying](../预设对象/通用/SDK接口封装SdkInterface.md#isplayerflying),组件工厂化<!--by xgb-->
|
||||
|
||||
1. 新增[Preset.Model.SdkInterface.SdkInterface.ChangePlayerFlyState](../预设对象/通用/SDK接口封装SdkInterface.md#changeplayerflystate),组件工厂化<!--by xgb-->
|
||||
|
||||
1. 新增[Preset.Model.SdkInterface.SdkInterface.CreateGameComponent](../预设对象/通用/SDK接口封装SdkInterface.md#creategamecomponent),组件工厂化<!--by xgb-->
|
||||
|
||||
1. 新增[Preset.Model.SdkInterface.SdkInterface.KillEntity](../预设对象/通用/SDK接口封装SdkInterface.md#killentity),组件工厂化<!--by xgb-->
|
||||
|
||||
1. 新增[Preset.Model.SdkInterface.SdkInterface.CreateEngineEntityByTypeStr](../预设对象/通用/SDK接口封装SdkInterface.md#createengineentitybytypestr),组件工厂化<!--by xgb-->
|
||||
|
||||
1. 新增[Preset.Model.SdkInterface.SdkInterface.PlaceStructure](../预设对象/通用/SDK接口封装SdkInterface.md#placestructure),组件工厂化<!--by xgb-->
|
||||
|
||||
1. 新增[Preset.Model.SdkInterface.SdkInterface.AddTimer](../预设对象/通用/SDK接口封装SdkInterface.md#addtimer),组件工厂化<!--by xgb-->
|
||||
|
||||
1. 新增[Preset.Model.SdkInterface.SdkInterface.AddRepeatedTimer](../预设对象/通用/SDK接口封装SdkInterface.md#addrepeatedtimer),组件工厂化<!--by xgb-->
|
||||
|
||||
1. 新增[Preset.Model.SdkInterface.SdkInterface.CancelTimer](../预设对象/通用/SDK接口封装SdkInterface.md#canceltimer),组件工厂化<!--by xgb-->
|
||||
|
||||
1. 新增[Preset.Model.SdkInterface.SdkInterface.GetEntitiesInArea](../预设对象/通用/SDK接口封装SdkInterface.md#getentitiesinarea),组件工厂化<!--by xgb-->
|
||||
|
||||
1. 新增[Preset.Model.SdkInterface.SdkInterface.GetEntitiesAround](../预设对象/通用/SDK接口封装SdkInterface.md#getentitiesaround),组件工厂化<!--by xgb-->
|
||||
|
||||
1. 新增[Preset.Model.SdkInterface.SdkInterface.ShowHealthBar](../预设对象/通用/SDK接口封装SdkInterface.md#showhealthbar),组件工厂化<!--by xgb-->
|
||||
|
||||
1. 新增[Preset.Model.SdkInterface.SdkInterface.SetNameDeeptest](../预设对象/通用/SDK接口封装SdkInterface.md#setnamedeeptest),组件工厂化<!--by xgb-->
|
||||
|
||||
1. 新增[Preset.Model.SdkInterface.SdkInterface.GetScreenSize](../预设对象/通用/SDK接口封装SdkInterface.md#getscreensize),组件工厂化<!--by xgb-->
|
||||
|
||||
1. 新增[Preset.Model.SdkInterface.SdkInterface.SetRenderLocalPlayer](../预设对象/通用/SDK接口封装SdkInterface.md#setrenderlocalplayer),组件工厂化<!--by xgb-->
|
||||
|
||||
1. 新增[Preset.Model.SdkInterface.SdkInterface.AddPickBlacklist](../预设对象/通用/SDK接口封装SdkInterface.md#addpickblacklist),组件工厂化<!--by xgb-->
|
||||
|
||||
1. 新增[Preset.Model.SdkInterface.SdkInterface.ClearPickBlacklist](../预设对象/通用/SDK接口封装SdkInterface.md#clearpickblacklist),组件工厂化<!--by xgb-->
|
||||
|
||||
1. 新增[Preset.Model.SdkInterface.SdkInterface.CheckWordsValid](../预设对象/通用/SDK接口封装SdkInterface.md#checkwordsvalid),组件工厂化<!--by xgb-->
|
||||
|
||||
1. 新增[Preset.Model.SdkInterface.SdkInterface.CheckNameValid](../预设对象/通用/SDK接口封装SdkInterface.md#checknamevalid),组件工厂化<!--by xgb-->
|
||||
|
||||
1. 新增[Preset.Model.SdkInterface.SdkInterface.GetScreenViewInfo](../预设对象/通用/SDK接口封装SdkInterface.md#getscreenviewinfo),组件工厂化<!--by xgb-->
|
||||
|
||||
1. 新增[Preset.Model.SdkInterface.SdkInterface.SimulateTouchWithMouse](../预设对象/通用/SDK接口封装SdkInterface.md#simulatetouchwithmouse),组件工厂化<!--by xgb-->
|
||||
|
||||
1. 新增[Preset.Model.SdkInterface.SdkInterface.GetCurrentDimension](../预设对象/通用/SDK接口封装SdkInterface.md#getcurrentdimension),组件工厂化<!--by xgb-->
|
||||
|
||||
1. 新增[Preset.Model.SdkInterface.SdkInterface.GetChinese](../预设对象/通用/SDK接口封装SdkInterface.md#getchinese),组件工厂化<!--by xgb-->
|
||||
|
||||
1. 新增[Preset.Model.SdkInterface.SdkInterface.SetDisableHunger](../预设对象/通用/SDK接口封装SdkInterface.md#setdisablehunger),组件工厂化<!--by xgb-->
|
||||
|
||||
1. 新增[Preset.Model.SdkInterface.SdkInterface.SetOneTipMessage](../预设对象/通用/SDK接口封装SdkInterface.md#setonetipmessage),组件工厂化<!--by xgb-->
|
||||
|
||||
1. 新增[Preset.Model.SdkInterface.SdkInterface.SetPopupNotice](../预设对象/通用/SDK接口封装SdkInterface.md#setpopupnotice),组件工厂化<!--by xgb-->
|
||||
|
||||
1. 新增[Preset.Model.SdkInterface.SdkInterface.SetTipMessage](../预设对象/通用/SDK接口封装SdkInterface.md#settipmessage),组件工厂化<!--by xgb-->
|
||||
|
||||
1. 新增[Preset.Model.SdkInterface.SdkInterface.SetNotifyMsg](../预设对象/通用/SDK接口封装SdkInterface.md#setnotifymsg),组件工厂化<!--by xgb-->
|
||||
|
||||
1. 新增[Preset.Model.SdkInterface.SdkInterface.GetPlayerGameType](../预设对象/通用/SDK接口封装SdkInterface.md#getplayergametype),组件工厂化<!--by xgb-->
|
||||
|
||||
1. 新增[Preset.Model.SdkInterface.SdkInterface.HasEntity](../预设对象/通用/SDK接口封装SdkInterface.md#hasentity),组件工厂化<!--by xgb-->
|
||||
|
||||
1. 新增[Preset.Model.SdkInterface.SdkInterface.IsEntityAlive](../预设对象/通用/SDK接口封装SdkInterface.md#isentityalive),组件工厂化<!--by xgb-->
|
||||
|
||||
1. 新增[Preset.Model.SdkInterface.SdkInterface.CreateGravityComponent](../预设对象/通用/SDK接口封装SdkInterface.md#creategravitycomponent),组件工厂化<!--by xgb-->
|
||||
|
||||
1. 新增[Preset.Model.SdkInterface.SdkInterface.GetEntityGravity](../预设对象/通用/SDK接口封装SdkInterface.md#getentitygravity),组件工厂化<!--by xgb-->
|
||||
|
||||
1. 新增[Preset.Model.SdkInterface.SdkInterface.SetEntityGravity](../预设对象/通用/SDK接口封装SdkInterface.md#setentitygravity),组件工厂化<!--by xgb-->
|
||||
|
||||
1. 新增[Preset.Model.SdkInterface.SdkInterface.CreateHurtComponent](../预设对象/通用/SDK接口封装SdkInterface.md#createhurtcomponent),组件工厂化<!--by xgb-->
|
||||
|
||||
1. 新增[Preset.Model.SdkInterface.SdkInterface.SetHurtByEntity](../预设对象/通用/SDK接口封装SdkInterface.md#sethurtbyentity),组件工厂化<!--by xgb-->
|
||||
|
||||
1. 新增[Preset.Model.SdkInterface.SdkInterface.SetHurtByEntityNew](../预设对象/通用/SDK接口封装SdkInterface.md#sethurtbyentitynew),组件工厂化<!--by xgb-->
|
||||
|
||||
1. 新增[Preset.Model.SdkInterface.SdkInterface.SetEntityImmuneDamage](../预设对象/通用/SDK接口封装SdkInterface.md#setentityimmunedamage),组件工厂化<!--by xgb-->
|
||||
|
||||
1. 新增[Preset.Model.SdkInterface.SdkInterface.CreateItemBannedComponent](../预设对象/通用/SDK接口封装SdkInterface.md#createitembannedcomponent),组件工厂化<!--by xgb-->
|
||||
|
||||
1. 新增[Preset.Model.SdkInterface.SdkInterface.AddBannedItem](../预设对象/通用/SDK接口封装SdkInterface.md#addbanneditem),组件工厂化<!--by xgb-->
|
||||
|
||||
1. 新增[Preset.Model.SdkInterface.SdkInterface.GetBannedItemList](../预设对象/通用/SDK接口封装SdkInterface.md#getbanneditemlist),组件工厂化<!--by xgb-->
|
||||
|
||||
1. 新增[Preset.Model.SdkInterface.SdkInterface.RemoveBannedItem](../预设对象/通用/SDK接口封装SdkInterface.md#removebanneditem),组件工厂化<!--by xgb-->
|
||||
|
||||
1. 新增[Preset.Model.SdkInterface.SdkInterface.ClearBannedItems](../预设对象/通用/SDK接口封装SdkInterface.md#clearbanneditems),组件工厂化<!--by xgb-->
|
||||
|
||||
1. 新增[Preset.Model.SdkInterface.SdkInterface.CreateItemComponent](../预设对象/通用/SDK接口封装SdkInterface.md#createitemcomponent),组件工厂化<!--by xgb-->
|
||||
|
||||
1. 新增[Preset.Model.SdkInterface.SdkInterface.GetItemBasicInfo](../预设对象/通用/SDK接口封装SdkInterface.md#getitembasicinfo),组件工厂化<!--by xgb-->
|
||||
|
||||
1. 新增[Preset.Model.SdkInterface.SdkInterface.ClearPlayerOffHand](../预设对象/通用/SDK接口封装SdkInterface.md#clearplayeroffhand),组件工厂化<!--by xgb-->
|
||||
|
||||
1. 新增[Preset.Model.SdkInterface.SdkInterface.GetPlayerItem](../预设对象/通用/SDK接口封装SdkInterface.md#getplayeritem),组件工厂化<!--by xgb-->
|
||||
|
||||
1. 新增[Preset.Model.SdkInterface.SdkInterface.ChangePlayerItemTipsAndExtraId](../预设对象/通用/SDK接口封装SdkInterface.md#changeplayeritemtipsandextraid),组件工厂化<!--by xgb-->
|
||||
|
||||
1. 新增[Preset.Model.SdkInterface.SdkInterface.AddEnchantToInvItem](../预设对象/通用/SDK接口封装SdkInterface.md#addenchanttoinvitem),组件工厂化<!--by xgb-->
|
||||
|
||||
1. 新增[Preset.Model.SdkInterface.SdkInterface.GetInvItemEnchantData](../预设对象/通用/SDK接口封装SdkInterface.md#getinvitemenchantdata),组件工厂化<!--by xgb-->
|
||||
|
||||
1. 新增[Preset.Model.SdkInterface.SdkInterface.GetOffhandItem](../预设对象/通用/SDK接口封装SdkInterface.md#getoffhanditem),组件工厂化<!--by xgb-->
|
||||
|
||||
1. 新增[Preset.Model.SdkInterface.SdkInterface.SetInvItemNum](../预设对象/通用/SDK接口封装SdkInterface.md#setinvitemnum),组件工厂化<!--by xgb-->
|
||||
|
||||
1. 新增[Preset.Model.SdkInterface.SdkInterface.SpawnItemToLevel](../预设对象/通用/SDK接口封装SdkInterface.md#spawnitemtolevel),组件工厂化<!--by xgb-->
|
||||
|
||||
1. 新增[Preset.Model.SdkInterface.SdkInterface.SpawnItemToPlayerInv](../预设对象/通用/SDK接口封装SdkInterface.md#spawnitemtoplayerinv),组件工厂化<!--by xgb-->
|
||||
|
||||
1. 新增[Preset.Model.SdkInterface.SdkInterface.SpawnItemToPlayerCarried](../预设对象/通用/SDK接口封装SdkInterface.md#spawnitemtoplayercarried),组件工厂化<!--by xgb-->
|
||||
|
||||
1. 新增[Preset.Model.SdkInterface.SdkInterface.GetCarriedItem](../预设对象/通用/SDK接口封装SdkInterface.md#getcarrieditem),组件工厂化<!--by xgb-->
|
||||
|
||||
1. 新增[Preset.Model.SdkInterface.SdkInterface.GetSlotId](../预设对象/通用/SDK接口封装SdkInterface.md#getslotid),组件工厂化<!--by xgb-->
|
||||
|
||||
1. 新增[Preset.Model.SdkInterface.SdkInterface.GetItemFormattedHoverText](../预设对象/通用/SDK接口封装SdkInterface.md#getitemformattedhovertext),组件工厂化<!--by xgb-->
|
||||
|
||||
1. 新增[Preset.Model.SdkInterface.SdkInterface.GetItemHoverName](../预设对象/通用/SDK接口封装SdkInterface.md#getitemhovername),组件工厂化<!--by xgb-->
|
||||
|
||||
1. 新增[Preset.Model.SdkInterface.SdkInterface.GetItemEffectName](../预设对象/通用/SDK接口封装SdkInterface.md#getitemeffectname),组件工厂化<!--by xgb-->
|
||||
|
||||
1. 新增[Preset.Model.SdkInterface.SdkInterface.GetUserDataInEvent](../预设对象/通用/SDK接口封装SdkInterface.md#getuserdatainevent),组件工厂化<!--by xgb-->
|
||||
|
||||
1. 新增[Preset.Model.SdkInterface.SdkInterface.ChangeItemTexture](../预设对象/通用/SDK接口封装SdkInterface.md#changeitemtexture),组件工厂化<!--by xgb-->
|
||||
|
||||
1. 新增[Preset.Model.SdkInterface.SdkInterface.CreateLvComponent](../预设对象/通用/SDK接口封装SdkInterface.md#createlvcomponent),组件工厂化<!--by xgb-->
|
||||
|
||||
1. 新增[Preset.Model.SdkInterface.SdkInterface.GetPlayerLevel](../预设对象/通用/SDK接口封装SdkInterface.md#getplayerlevel),组件工厂化<!--by xgb-->
|
||||
|
||||
1. 新增[Preset.Model.SdkInterface.SdkInterface.AddPlayerLevel](../预设对象/通用/SDK接口封装SdkInterface.md#addplayerlevel),组件工厂化<!--by xgb-->
|
||||
|
||||
1. 新增[Preset.Model.SdkInterface.SdkInterface.CreateMobSpawnComponent](../预设对象/通用/SDK接口封装SdkInterface.md#createmobspawncomponent),组件工厂化<!--by xgb-->
|
||||
|
||||
1. 新增[Preset.Model.SdkInterface.SdkInterface.SpawnCustomModule](../预设对象/通用/SDK接口封装SdkInterface.md#spawncustommodule),组件工厂化<!--by xgb-->
|
||||
|
||||
1. 新增[Preset.Model.SdkInterface.SdkInterface.CreateModAttrComponent](../预设对象/通用/SDK接口封装SdkInterface.md#createmodattrcomponent),组件工厂化<!--by xgb-->
|
||||
|
||||
1. 新增[Preset.Model.SdkInterface.SdkInterface.SetEntityModAttr](../预设对象/通用/SDK接口封装SdkInterface.md#setentitymodattr),组件工厂化<!--by xgb-->
|
||||
|
||||
1. 新增[Preset.Model.SdkInterface.SdkInterface.GetEntityModAttr](../预设对象/通用/SDK接口封装SdkInterface.md#getentitymodattr),组件工厂化<!--by xgb-->
|
||||
|
||||
1. 新增[Preset.Model.SdkInterface.SdkInterface.RegisterEntityModAttrUpdateFunc](../预设对象/通用/SDK接口封装SdkInterface.md#registerentitymodattrupdatefunc),组件工厂化<!--by xgb-->
|
||||
|
||||
1. 新增[Preset.Model.SdkInterface.SdkInterface.UnRegisterEntityModAttrUpdateFunc](../预设对象/通用/SDK接口封装SdkInterface.md#unregisterentitymodattrupdatefunc),组件工厂化<!--by xgb-->
|
||||
|
||||
1. 新增[Preset.Model.SdkInterface.SdkInterface.CreateModelComponent](../预设对象/通用/SDK接口封装SdkInterface.md#createmodelcomponent),组件工厂化<!--by xgb-->
|
||||
|
||||
1. 新增[Preset.Model.SdkInterface.SdkInterface.SetEntityOpacity](../预设对象/通用/SDK接口封装SdkInterface.md#setentityopacity),组件工厂化<!--by xgb-->
|
||||
|
||||
1. 新增[Preset.Model.SdkInterface.SdkInterface.PlayEntityAnim](../预设对象/通用/SDK接口封装SdkInterface.md#playentityanim),组件工厂化<!--by xgb-->
|
||||
|
||||
1. 新增[Preset.Model.SdkInterface.SdkInterface.GetModelId](../预设对象/通用/SDK接口封装SdkInterface.md#getmodelid),组件工厂化<!--by xgb-->
|
||||
|
||||
1. 新增[Preset.Model.SdkInterface.SdkInterface.SetEntityModel](../预设对象/通用/SDK接口封装SdkInterface.md#setentitymodel),组件工厂化<!--by xgb-->
|
||||
|
||||
1. 新增[Preset.Model.SdkInterface.SdkInterface.ResetEntityModel](../预设对象/通用/SDK接口封装SdkInterface.md#resetentitymodel),组件工厂化<!--by xgb-->
|
||||
|
||||
1. 新增[Preset.Model.SdkInterface.SdkInterface.BindModelToEntity](../预设对象/通用/SDK接口封装SdkInterface.md#bindmodeltoentity),组件工厂化<!--by xgb-->
|
||||
|
||||
1. 新增[Preset.Model.SdkInterface.SdkInterface.UnBindModelToEntity](../预设对象/通用/SDK接口封装SdkInterface.md#unbindmodeltoentity),组件工厂化<!--by xgb-->
|
||||
|
||||
1. 新增[Preset.Model.SdkInterface.SdkInterface.CreateMoveToComponent](../预设对象/通用/SDK接口封装SdkInterface.md#createmovetocomponent),组件工厂化<!--by xgb-->
|
||||
|
||||
1. 新增[Preset.Model.SdkInterface.SdkInterface.SetEntityMoveSetting](../预设对象/通用/SDK接口封装SdkInterface.md#setentitymovesetting),组件工厂化<!--by xgb-->
|
||||
|
||||
1. 新增[Preset.Model.SdkInterface.SdkInterface.CreateMsgComponent](../预设对象/通用/SDK接口封装SdkInterface.md#createmsgcomponent),组件工厂化<!--by xgb-->
|
||||
|
||||
1. 新增[Preset.Model.SdkInterface.SdkInterface.SendMsg](../预设对象/通用/SDK接口封装SdkInterface.md#sendmsg),组件工厂化<!--by xgb-->
|
||||
|
||||
1. 新增[Preset.Model.SdkInterface.SdkInterface.SendMsgToPlayer](../预设对象/通用/SDK接口封装SdkInterface.md#sendmsgtoplayer),组件工厂化<!--by xgb-->
|
||||
|
||||
1. 新增[Preset.Model.SdkInterface.SdkInterface.NotifyOneMessage](../预设对象/通用/SDK接口封装SdkInterface.md#notifyonemessage),组件工厂化<!--by xgb-->
|
||||
|
||||
1. 新增[Preset.Model.SdkInterface.SdkInterface.CreateNameComponent](../预设对象/通用/SDK接口封装SdkInterface.md#createnamecomponent),组件工厂化<!--by xgb-->
|
||||
|
||||
1. 新增[Preset.Model.SdkInterface.SdkInterface.GetEntityName](../预设对象/通用/SDK接口封装SdkInterface.md#getentityname),组件工厂化<!--by xgb-->
|
||||
|
||||
1. 新增[Preset.Model.SdkInterface.SdkInterface.SetEntityName](../预设对象/通用/SDK接口封装SdkInterface.md#setentityname),组件工厂化<!--by xgb-->
|
||||
|
||||
1. 新增[Preset.Model.SdkInterface.SdkInterface.SetPlayerPrefixAndSuffixName](../预设对象/通用/SDK接口封装SdkInterface.md#setplayerprefixandsuffixname),组件工厂化<!--by xgb-->
|
||||
|
||||
1. 新增[Preset.Model.SdkInterface.SdkInterface.SetEntityShowName](../预设对象/通用/SDK接口封装SdkInterface.md#setentityshowname),组件工厂化<!--by xgb-->
|
||||
|
||||
1. 新增[Preset.Model.SdkInterface.SdkInterface.SetEntityAlwaysShowName](../预设对象/通用/SDK接口封装SdkInterface.md#setentityalwaysshowname),组件工厂化<!--by xgb-->
|
||||
|
||||
1. 新增[Preset.Model.SdkInterface.SdkInterface.CreatePersistenceComponent](../预设对象/通用/SDK接口封装SdkInterface.md#createpersistencecomponent),组件工厂化<!--by xgb-->
|
||||
|
||||
1. 新增[Preset.Model.SdkInterface.SdkInterface.SetEntityPersistence](../预设对象/通用/SDK接口封装SdkInterface.md#setentitypersistence),组件工厂化<!--by xgb-->
|
||||
|
||||
1. 新增[Preset.Model.SdkInterface.SdkInterface.CreatePetComponent](../预设对象/通用/SDK接口封装SdkInterface.md#createpetcomponent),组件工厂化<!--by xgb-->
|
||||
|
||||
1. 新增[Preset.Model.SdkInterface.SdkInterface.DisablePet](../预设对象/通用/SDK接口封装SdkInterface.md#disablepet),组件工厂化<!--by xgb-->
|
||||
|
||||
1. 新增[Preset.Model.SdkInterface.SdkInterface.EnablePet](../预设对象/通用/SDK接口封装SdkInterface.md#enablepet),组件工厂化<!--by xgb-->
|
||||
|
||||
1. 新增[Preset.Model.SdkInterface.SdkInterface.CreatePlayerComponent](../预设对象/通用/SDK接口封装SdkInterface.md#createplayercomponent),组件工厂化<!--by xgb-->
|
||||
|
||||
1. 新增[Preset.Model.SdkInterface.SdkInterface.IsPlayerSneaking](../预设对象/零件/零件PartBase.md#isplayersneaking),组件工厂化<!--by xgb-->
|
||||
|
||||
1. 新增[Preset.Model.SdkInterface.SdkInterface.GetPlayerHunger](../预设对象/零件/零件PartBase.md#getplayerhunger),组件工厂化<!--by xgb-->
|
||||
|
||||
1. 新增[Preset.Model.SdkInterface.SdkInterface.SetPlayerHunger](../预设对象/零件/零件PartBase.md#setplayerhunger),组件工厂化<!--by xgb-->
|
||||
|
||||
1. 新增[Preset.Model.SdkInterface.SdkInterface.CreatePortalComponent](../预设对象/通用/SDK接口封装SdkInterface.md#createportalcomponent),组件工厂化<!--by xgb-->
|
||||
|
||||
1. 新增[Preset.Model.SdkInterface.SdkInterface.CreatePosComponent](../预设对象/通用/SDK接口封装SdkInterface.md#createposcomponent),组件工厂化<!--by xgb-->
|
||||
|
||||
1. 新增[Preset.Model.SdkInterface.SdkInterface.GetEntityPos](../预设对象/通用/SDK接口封装SdkInterface.md#getentitypos),组件工厂化<!--by xgb-->
|
||||
|
||||
1. 新增[Preset.Model.SdkInterface.SdkInterface.GetEntityFootPos](../预设对象/通用/SDK接口封装SdkInterface.md#getentityfootpos),组件工厂化<!--by xgb-->
|
||||
|
||||
1. 新增[Preset.Model.SdkInterface.SdkInterface.SetEntityPos](../预设对象/通用/SDK接口封装SdkInterface.md#setentitypos),组件工厂化<!--by xgb-->
|
||||
|
||||
1. 新增[Preset.Model.SdkInterface.SdkInterface.SetEntityFootPos](../预设对象/通用/SDK接口封装SdkInterface.md#setentityfootpos),组件工厂化<!--by xgb-->
|
||||
|
||||
1. 新增[Preset.Model.SdkInterface.SdkInterface.CreateProjectileComponent](../预设对象/通用/SDK接口封装SdkInterface.md#createprojectilecomponent),组件工厂化<!--by xgb-->
|
||||
|
||||
1. 新增[Preset.Model.SdkInterface.SdkInterface.CreateProjectileEntity](../预设对象/通用/SDK接口封装SdkInterface.md#createprojectileentity),组件工厂化<!--by xgb-->
|
||||
|
||||
1. 新增[Preset.Model.SdkInterface.SdkInterface.CreateRecipeComponent](../预设对象/通用/SDK接口封装SdkInterface.md#createrecipecomponent),组件工厂化<!--by xgb-->
|
||||
|
||||
1. 新增[Preset.Model.SdkInterface.SdkInterface.GetRecipeResult](../预设对象/通用/SDK接口封装SdkInterface.md#getreciperesult),组件工厂化<!--by xgb-->
|
||||
|
||||
1. 新增[Preset.Model.SdkInterface.SdkInterface.GetRecipesByResult](../预设对象/通用/SDK接口封装SdkInterface.md#getrecipesbyresult),组件工厂化<!--by xgb-->
|
||||
|
||||
1. 新增[Preset.Model.SdkInterface.SdkInterface.GetRecipesByInput](../预设对象/通用/SDK接口封装SdkInterface.md#getrecipesbyinput),组件工厂化<!--by xgb-->
|
||||
|
||||
1. 新增[Preset.Model.SdkInterface.SdkInterface.CreateRedStoneComponent](../预设对象/通用/SDK接口封装SdkInterface.md#createredstonecomponent),组件工厂化<!--by xgb-->
|
||||
|
||||
1. 新增[Preset.Model.SdkInterface.SdkInterface.CreateRideComponent](../预设对象/通用/SDK接口封装SdkInterface.md#createridecomponent),组件工厂化<!--by xgb-->
|
||||
|
||||
1. 新增[Preset.Model.SdkInterface.SdkInterface.CreateRotComponent](../预设对象/通用/SDK接口封装SdkInterface.md#createrotcomponent),组件工厂化<!--by xgb-->
|
||||
|
||||
1. 新增[Preset.Model.SdkInterface.SdkInterface.GetEntityRot](../预设对象/通用/SDK接口封装SdkInterface.md#getentityrot),组件工厂化<!--by xgb-->
|
||||
|
||||
1. 新增[Preset.Model.SdkInterface.SdkInterface.SetEntityRot](../预设对象/通用/SDK接口封装SdkInterface.md#setentityrot),组件工厂化<!--by xgb-->
|
||||
|
||||
1. 新增[Preset.Model.SdkInterface.SdkInterface.SetEntityLookAtPos](../预设对象/通用/SDK接口封装SdkInterface.md#setentitylookatpos),组件工厂化<!--by xgb-->
|
||||
|
||||
1. 新增[Preset.Model.SdkInterface.SdkInterface.GetBodyRot](../预设对象/通用/SDK接口封装SdkInterface.md#getbodyrot),组件工厂化<!--by xgb-->
|
||||
|
||||
1. 新增[Preset.Model.SdkInterface.SdkInterface.LockLocalPlayerRot](../预设对象/通用/SDK接口封装SdkInterface.md#locklocalplayerrot),组件工厂化<!--by xgb-->
|
||||
|
||||
1. 新增[Preset.Model.SdkInterface.SdkInterface.SetPlayerLookAtPos](../预设对象/通用/SDK接口封装SdkInterface.md#setplayerlookatpos),组件工厂化<!--by xgb-->
|
||||
|
||||
1. 新增[Preset.Model.SdkInterface.SdkInterface.CreateScaleComponent](../预设对象/通用/SDK接口封装SdkInterface.md#createscalecomponent),组件工厂化<!--by xgb-->
|
||||
|
||||
1. 新增[Preset.Model.SdkInterface.SdkInterface.CreateTameComponent](../预设对象/通用/SDK接口封装SdkInterface.md#createtamecomponent),组件工厂化<!--by xgb-->
|
||||
|
||||
1. 新增[Preset.Model.SdkInterface.SdkInterface.CreateTimeComponent](../预设对象/通用/SDK接口封装SdkInterface.md#createtimecomponent),组件工厂化<!--by xgb-->
|
||||
|
||||
1. 新增[Preset.Model.SdkInterface.SdkInterface.GetTime](../预设对象/通用/SDK接口封装SdkInterface.md#gettime),组件工厂化<!--by xgb-->
|
||||
|
||||
1. 新增[Preset.Model.SdkInterface.SdkInterface.CreateWeatherComponent](../预设对象/通用/SDK接口封装SdkInterface.md#createweathercomponent),组件工厂化<!--by xgb-->
|
||||
|
||||
1. 新增[Preset.Model.SdkInterface.SdkInterface.CreateActorCollidableComponent](../预设对象/通用/SDK接口封装SdkInterface.md#createactorcollidablecomponent),组件工厂化<!--by xgb-->
|
||||
|
||||
1. 新增[Preset.Model.SdkInterface.SdkInterface.CreateActorRenderComponent](../预设对象/通用/SDK接口封装SdkInterface.md#createactorrendercomponent),组件工厂化<!--by xgb-->
|
||||
|
||||
1. 新增[Preset.Model.SdkInterface.SdkInterface.CreateCustomAudioComponent](../预设对象/通用/SDK接口封装SdkInterface.md#createcustomaudiocomponent),组件工厂化<!--by xgb-->
|
||||
|
||||
1. 新增[Preset.Model.SdkInterface.SdkInterface.CreateBrightnessComponent](../预设对象/通用/SDK接口封装SdkInterface.md#createbrightnesscomponent),组件工厂化<!--by xgb-->
|
||||
|
||||
1. 新增[Preset.Model.SdkInterface.SdkInterface.CreateCameraComponent](../预设对象/通用/SDK接口封装SdkInterface.md#createcameracomponent),组件工厂化<!--by xgb-->
|
||||
|
||||
1. 新增[Preset.Model.SdkInterface.SdkInterface.PickFacing](../预设对象/通用/SDK接口封装SdkInterface.md#pickfacing),组件工厂化<!--by xgb-->
|
||||
|
||||
1. 新增[Preset.Model.SdkInterface.SdkInterface.CreateFogComponent](../预设对象/通用/SDK接口封装SdkInterface.md#createfogcomponent),组件工厂化<!--by xgb-->
|
||||
|
||||
1. 新增[Preset.Model.SdkInterface.SdkInterface.CreateFrameAniControlComponent](../预设对象/通用/SDK接口封装SdkInterface.md#createframeanicontrolcomponent),组件工厂化<!--by xgb-->
|
||||
|
||||
1. 新增[Preset.Model.SdkInterface.SdkInterface.SetFrameAniLoop](../预设对象/通用/SDK接口封装SdkInterface.md#setframeaniloop),组件工厂化<!--by xgb-->
|
||||
|
||||
1. 新增[Preset.Model.SdkInterface.SdkInterface.SetFrameAniFaceCamera](../预设对象/通用/SDK接口封装SdkInterface.md#setframeanifacecamera),组件工厂化<!--by xgb-->
|
||||
|
||||
1. 新增[Preset.Model.SdkInterface.SdkInterface.SetFrameAniDeepTest](../预设对象/通用/SDK接口封装SdkInterface.md#setframeanideeptest),组件工厂化<!--by xgb-->
|
||||
|
||||
1. 新增[Preset.Model.SdkInterface.SdkInterface.CreateFrameAniEntityBindComponent](../预设对象/通用/SDK接口封装SdkInterface.md#createframeanientitybindcomponent),组件工厂化<!--by xgb-->
|
||||
|
||||
1. 新增[Preset.Model.SdkInterface.SdkInterface.CreateFrameAniSkeletonBindComponent](../预设对象/通用/SDK接口封装SdkInterface.md#createframeaniskeletonbindcomponent),组件工厂化<!--by xgb-->
|
||||
|
||||
1. 新增[Preset.Model.SdkInterface.SdkInterface.CreateFrameAniTransComponent](../预设对象/通用/SDK接口封装SdkInterface.md#createframeanitranscomponent),组件工厂化<!--by xgb-->
|
||||
|
||||
1. 新增[Preset.Model.SdkInterface.SdkInterface.SetFrameAniPos](../预设对象/通用/SDK接口封装SdkInterface.md#setframeanipos),组件工厂化<!--by xgb-->
|
||||
|
||||
1. 新增[Preset.Model.SdkInterface.SdkInterface.SetFrameAniRot](../预设对象/通用/SDK接口封装SdkInterface.md#setframeanirot),组件工厂化<!--by xgb-->
|
||||
|
||||
1. 新增[Preset.Model.SdkInterface.SdkInterface.SetFrameAniScale](../预设对象/通用/SDK接口封装SdkInterface.md#setframeaniscale),组件工厂化<!--by xgb-->
|
||||
|
||||
1. 新增[Preset.Model.SdkInterface.SdkInterface.CreateHealthComponent](../预设对象/通用/SDK接口封装SdkInterface.md#createhealthcomponent),组件工厂化<!--by xgb-->
|
||||
|
||||
1. 新增[Preset.Model.SdkInterface.SdkInterface.ShowEntityHealth](../预设对象/通用/SDK接口封装SdkInterface.md#showentityhealth),组件工厂化<!--by xgb-->
|
||||
|
||||
1. 新增[Preset.Model.SdkInterface.SdkInterface.CreateOperationComponent](../预设对象/通用/SDK接口封装SdkInterface.md#createoperationcomponent),组件工厂化<!--by xgb-->
|
||||
|
||||
1. 新增[Preset.Model.SdkInterface.SdkInterface.SetCanAll](../预设对象/通用/SDK接口封装SdkInterface.md#setcanall),组件工厂化<!--by xgb-->
|
||||
|
||||
1. 新增[Preset.Model.SdkInterface.SdkInterface.CreateDeviceComponent](../预设对象/通用/SDK接口封装SdkInterface.md#createdevicecomponent),创建device组件<!--by xgb-->
|
||||
|
||||
1. 新增[Preset.Model.SdkInterface.SdkInterface.CreateParticleControlComponent](../预设对象/通用/SDK接口封装SdkInterface.md#createparticlecontrolcomponent),组件工厂化<!--by xgb-->
|
||||
|
||||
1. 新增[Preset.Model.SdkInterface.SdkInterface.CreateParticleEntityBindComponent](../预设对象/通用/SDK接口封装SdkInterface.md#createparticleentitybindcomponent),组件工厂化<!--by xgb-->
|
||||
|
||||
1. 新增[Preset.Model.SdkInterface.SdkInterface.CreateParticleSkeletonBindComponent](../预设对象/通用/SDK接口封装SdkInterface.md#createparticleskeletonbindcomponent),组件工厂化<!--by xgb-->
|
||||
|
||||
1. 新增[Preset.Model.SdkInterface.SdkInterface.CreateParticleTransComponent](../预设对象/通用/SDK接口封装SdkInterface.md#createparticletranscomponent),组件工厂化<!--by xgb-->
|
||||
|
||||
1. 新增[Preset.Model.SdkInterface.SdkInterface.SetParticlePos](../预设对象/通用/SDK接口封装SdkInterface.md#setparticlepos),组件工厂化<!--by xgb-->
|
||||
|
||||
1. 新增[Preset.Model.SdkInterface.SdkInterface.SetParticleRot](../预设对象/通用/SDK接口封装SdkInterface.md#setparticlerot),组件工厂化<!--by xgb-->
|
||||
|
||||
1. 新增[Preset.Model.SdkInterface.SdkInterface.CreatePlayerViewComponent](../预设对象/通用/SDK接口封装SdkInterface.md#createplayerviewcomponent),组件工厂化<!--by xgb-->
|
||||
|
||||
1. 新增[Preset.Model.SdkInterface.SdkInterface.GetPlayerPerspective](../预设对象/通用/SDK接口封装SdkInterface.md#getplayerperspective),组件工厂化<!--by xgb-->
|
||||
|
||||
1. 新增[Preset.Model.SdkInterface.SdkInterface.SetPlayerPerspective](../预设对象/通用/SDK接口封装SdkInterface.md#setplayerperspective),组件工厂化<!--by xgb-->
|
||||
|
||||
1. 新增[Preset.Model.SdkInterface.SdkInterface.LockPlayerPerspective](../预设对象/通用/SDK接口封装SdkInterface.md#lockplayerperspective),组件工厂化<!--by xgb-->
|
||||
|
||||
1. 新增[Preset.Model.SdkInterface.SdkInterface.CreateQueryVariableComponent](../预设对象/通用/SDK接口封装SdkInterface.md#createqueryvariablecomponent),组件工厂化<!--by xgb-->
|
||||
|
||||
1. 新增[Preset.Model.SdkInterface.SdkInterface.CreateSkyRenderComponent](../预设对象/通用/SDK接口封装SdkInterface.md#createskyrendercomponent),组件工厂化<!--by xgb-->
|
||||
|
||||
1. 新增[Preset.Model.SdkInterface.SdkInterface.CreateTextBoardComponent](../预设对象/通用/SDK接口封装SdkInterface.md#createtextboardcomponent),组件工厂化<!--by xgb-->
|
||||
|
||||
1. 新增[Preset.Model.SdkInterface.SdkInterface.CreateTextNotifyClientComponent](../预设对象/通用/SDK接口封装SdkInterface.md#createtextnotifyclientcomponent),组件工厂化<!--by xgb-->
|
||||
|
||||
1. 新增[Preset.Model.SdkInterface.SdkInterface.CreateConfigClientComponent](../预设对象/通用/SDK接口封装SdkInterface.md#createconfigclientcomponent),组件工厂化<!--by xgb-->
|
||||
|
||||
1. 新增[Preset.Model.SdkInterface.SdkInterface.CreateVirtualWorldComponent](../预设对象/通用/SDK接口封装SdkInterface.md#createvirtualworldcomponent),组件工厂化<!--by xgb-->
|
||||
|
||||
1. 新增[Preset.Model.SdkInterface.SdkInterface.CreatePlayerAnimComponent](../预设对象/通用/SDK接口封装SdkInterface.md#createplayeranimcomponent),组件工厂化<!--by xgb-->
|
||||
|
||||
24
mcguide/20-玩法开发/14-预设玩法编程/13-PresetAPI/更新信息/1.23.2.md
Normal file
24
mcguide/20-玩法开发/14-预设玩法编程/13-PresetAPI/更新信息/1.23.2.md
Normal file
@@ -0,0 +1,24 @@
|
||||
# 1.23.2
|
||||
|
||||
* 注:该版本功能仅在modpc开发包生效,移动端生效请期待1.24大版本更新。
|
||||
|
||||
- 新增
|
||||
|
||||
1. 新增[Preset.Model.SdkInterface.SdkInterface.GetServerSystem](../预设对象/通用/SDK接口封装SdkInterface.md#getserversystem),返回当前对象可使用的服务端system<!--by xgb-->
|
||||
|
||||
1. 新增[Preset.Model.SdkInterface.SdkInterface.GetClientSystem](../预设对象/通用/SDK接口封装SdkInterface.md#getclientsystem),返回当前对象可使用的客户端system<!--by xgb-->
|
||||
|
||||
1. 新增[Preset.Model.SdkInterface.SdkInterface.GetSystem](../预设对象/通用/SDK接口封装SdkInterface.md#getsystem),返回当前对象可使用的system<!--by xgb-->
|
||||
|
||||
1. 新增[Preset.Model.UI.UIPreset.UIPreset](../预设对象/预设/界面预设UIPreset.md#__init__),界面预设<!--by panlei01-->
|
||||
|
||||
1. 新增[Preset.Model.UI.UIPreset.UIPreset.SetUiActive](../预设对象/预设/界面预设UIPreset.md#setuiactive),界面预设<!--by panlei01-->
|
||||
|
||||
1. 新增[Preset.Model.UI.UIPreset.UIPreset.GetUiActive](../预设对象/预设/界面预设UIPreset.md#getuiactive),界面预设<!--by panlei01-->
|
||||
|
||||
1. 新增[Preset.Model.UI.UIPreset.UIPreset.SetUiVisible](../预设对象/预设/界面预设UIPreset.md#setuivisible),界面预设<!--by panlei01-->
|
||||
|
||||
1. 新增[Preset.Model.UI.UIPreset.UIPreset.GetUiVisible](../预设对象/预设/界面预设UIPreset.md#getuivisible),界面预设<!--by panlei01-->
|
||||
|
||||
1. 新增[Preset.Model.UI.UIPreset.UIPreset.GetScreenNode](../预设对象/预设/界面预设UIPreset.md#getscreennode),界面预设<!--by panlei01-->
|
||||
|
||||
21
mcguide/20-玩法开发/14-预设玩法编程/13-PresetAPI/更新信息/1.23.3.md
Normal file
21
mcguide/20-玩法开发/14-预设玩法编程/13-PresetAPI/更新信息/1.23.3.md
Normal file
@@ -0,0 +1,21 @@
|
||||
# 1.23.3
|
||||
|
||||
- 注:该版本功能仅在modpc开发包生效,移动端生效请期待1.24大版本更新。
|
||||
- 新增
|
||||
|
||||
1. 新增[Preset.Model.PartBase.PartBase.LogDebug](../预设对象/零件/零件PartBase.md#logdebug),打印调试日志,仅PC开发包有效<!--by xgb-->
|
||||
|
||||
1. 新增[Preset.Model.PartBase.PartBase.LogInfo](../预设对象/零件/零件PartBase.md#loginfo),打印消息日志<!--by xgb-->
|
||||
|
||||
1. 新增[Preset.Model.PartBase.PartBase.LogError](../预设对象/零件/零件PartBase.md#logerror),打印错误日志<!--by xgb-->
|
||||
|
||||
1. 新增[Preset.Model.PartBase.PartBase.ListenForEngineEvent](../预设对象/零件/零件PartBase.md#listenforengineevent),监听指定的引擎事件<!--by xgb-->
|
||||
|
||||
1. 新增[Preset.Model.PartBase.PartBase.UnListenForEngineEvent](../预设对象/零件/零件PartBase.md#unlistenforengineevent),反监听指定的引擎事件<!--by xgb-->
|
||||
|
||||
1. 新增[Preset.Model.SdkInterface.SdkInterface.GetApi](../预设对象/零件/零件PartBase.md#getapi),返回当前对象可使用的SDK API模块<!--by xgb-->
|
||||
|
||||
1. 新增[Preset.Model.SdkInterface.SdkInterface.GetExtraData](../预设对象/通用/SDK接口封装SdkInterface.md#getextradata),组件工厂化<!--by xgb-->
|
||||
|
||||
1. 新增[Preset.Model.SdkInterface.SdkInterface.SaveExtraData](../预设对象/通用/SDK接口封装SdkInterface.md#saveextradata),组件工厂化<!--by xgb-->
|
||||
|
||||
225
mcguide/20-玩法开发/14-预设玩法编程/13-PresetAPI/更新信息/1.23.4.md
Normal file
225
mcguide/20-玩法开发/14-预设玩法编程/13-PresetAPI/更新信息/1.23.4.md
Normal file
@@ -0,0 +1,225 @@
|
||||
# 1.23.4
|
||||
|
||||
- 注:该版本功能仅在modpc开发包生效,移动端生效请期待1.25大版本更新。
|
||||
- 新增
|
||||
|
||||
1. 新增[Preset.Model.Effect.EffectObject.EffectObject](../预设对象/预设/特效对象EffectObject.md#__init__),特效对象<!--by xgb-->
|
||||
|
||||
1. 新增[Preset.Model.Effect.EffectObject.EffectObject.Play](../预设对象/预设/特效对象EffectObject.md#play),播放特效<!--by xgb-->
|
||||
|
||||
1. 新增[Preset.Model.Effect.EffectObject.EffectObject.Stop](../预设对象/预设/特效对象EffectObject.md#stop),停止播放特效<!--by xgb-->
|
||||
|
||||
1. 新增[Preset.Model.Effect.EffectObject.EffectObject.BindToEntity](../预设对象/预设/特效对象EffectObject.md#bindtoentity),组件工厂化<!--by xgb-->
|
||||
|
||||
1. 新增[Preset.Model.Effect.EffectObject.EffectObject.BindToSkeleton](../预设对象/预设/特效对象EffectObject.md#bindtoskeleton),组件工厂化<!--by xgb-->
|
||||
|
||||
1. 新增[Preset.Model.Player.PlayerObject.PlayerObject](../预设对象/预设/玩家对象PlayerObject.md#__init__),玩家对象<!--by xgb-->
|
||||
|
||||
1. 新增[Preset.Model.Player.PlayerObject.PlayerObject.GetPlayerId](../预设对象/预设/玩家对象PlayerObject.md#getplayerid),获取玩家预设的玩家ID<!--by xgb-->
|
||||
|
||||
1. 新增[Preset.Model.Player.PlayerObject.PlayerObject.IsLocalPlayer](../预设对象/预设/玩家对象PlayerObject.md#islocalplayer),判断当前玩家对象是否本地玩家,服务端为False<!--by xgb-->
|
||||
|
||||
1. 新增[Preset.Model.Player.PlayerObject.PlayerObject.IsSneaking](../预设对象/预设/玩家对象PlayerObject.md#issneaking),组件工厂化<!--by xgb-->
|
||||
|
||||
1. 新增[Preset.Model.Player.PlayerObject.PlayerObject.GetHunger](../预设对象/预设/玩家对象PlayerObject.md#gethunger),组件工厂化<!--by xgb-->
|
||||
|
||||
1. 新增[Preset.Model.Player.PlayerObject.PlayerObject.SetHunger](../预设对象/预设/玩家对象PlayerObject.md#sethunger),组件工厂化<!--by xgb-->
|
||||
|
||||
1. 新增[Preset.Model.Player.PlayerObject.PlayerObject.SetMotion](../预设对象/预设/玩家对象PlayerObject.md#setmotion),组件工厂化<!--by xgb-->
|
||||
|
||||
1. 新增[Preset.Model.Player.PlayerObject.PlayerObject.GetMotion](../预设对象/预设/玩家对象PlayerObject.md#getmotion),组件工厂化<!--by xgb-->
|
||||
|
||||
1. 新增[Preset.Model.Player.PlayerObject.PlayerObject.SetStepHeight](../预设对象/预设/玩家对象PlayerObject.md#setstepheight),组件工厂化<!--by xgb-->
|
||||
|
||||
1. 新增[Preset.Model.Player.PlayerObject.PlayerObject.GetStepHeight](../预设对象/预设/玩家对象PlayerObject.md#getstepheight),组件工厂化<!--by xgb-->
|
||||
|
||||
1. 新增[Preset.Model.Player.PlayerObject.PlayerObject.ResetStepHeight](../预设对象/预设/玩家对象PlayerObject.md#resetstepheight),组件工厂化<!--by xgb-->
|
||||
|
||||
1. 新增[Preset.Model.Player.PlayerObject.PlayerObject.GetExp](../预设对象/预设/玩家对象PlayerObject.md#getexp),组件工厂化<!--by xgb-->
|
||||
|
||||
1. 新增[Preset.Model.Player.PlayerObject.PlayerObject.AddExp](../预设对象/预设/玩家对象PlayerObject.md#addexp),组件工厂化<!--by xgb-->
|
||||
|
||||
1. 新增[Preset.Model.Player.PlayerObject.PlayerObject.GetTotalExp](../预设对象/预设/玩家对象PlayerObject.md#gettotalexp),组件工厂化<!--by xgb-->
|
||||
|
||||
1. 新增[Preset.Model.Player.PlayerObject.PlayerObject.SetTotalExp](../预设对象/预设/玩家对象PlayerObject.md#settotalexp),组件工厂化<!--by xgb-->
|
||||
|
||||
1. 新增[Preset.Model.Player.PlayerObject.PlayerObject.IsFlying](../预设对象/预设/玩家对象PlayerObject.md#isflying),组件工厂化<!--by xgb-->
|
||||
|
||||
1. 新增[Preset.Model.Player.PlayerObject.PlayerObject.ChangeFlyState](../预设对象/预设/玩家对象PlayerObject.md#changeflystate),组件工厂化<!--by xgb-->
|
||||
|
||||
1. 新增[Preset.Model.Player.PlayerObject.PlayerObject.GetLevel](../预设对象/预设/玩家对象PlayerObject.md#getlevel),组件工厂化<!--by xgb-->
|
||||
|
||||
1. 新增[Preset.Model.Player.PlayerObject.PlayerObject.AddLevel](../预设对象/预设/玩家对象PlayerObject.md#addlevel),组件工厂化<!--by xgb-->
|
||||
|
||||
1. 新增[Preset.Model.Player.PlayerObject.PlayerObject.SetPrefixAndSuffixName](../预设对象/预设/玩家对象PlayerObject.md#setprefixandsuffixname),组件工厂化<!--by xgb-->
|
||||
|
||||
1. 新增[Preset.Model.PartBase.PartBase.GetPlayerObject](../预设对象/零件/零件PartBase.md#getplayerobject),获取玩家对象<!--by xgb-->
|
||||
|
||||
1. 新增[Preset.Model.PartBase.PartBase.GetEntityObject](../预设对象/零件/零件PartBase.md#getentityobject),获取实体对象<!--by xgb-->
|
||||
|
||||
1. 新增[Preset.Model.PartBase.PartBase.GetEffectObject](../预设对象/零件/零件PartBase.md#geteffectobject),获取特效对象<!--by xgb-->
|
||||
|
||||
1. 新增[Preset.Model.PartBase.PartBase.CreateEffectPreset](../预设对象/零件/零件PartBase.md#createeffectpreset),创建特效对象<!--by xgb-->
|
||||
|
||||
1. 新增[Preset.Model.PresetBase.PresetBase.GetChildPresetsByName](../预设对象/预设/预设基类PresetBase.md#getchildpresetsbyname),增加递归查找参数<!--by xgb-->
|
||||
|
||||
1. 新增[Preset.Model.PresetBase.PresetBase.GetChildObjectByTypeName](../预设对象/预设/预设基类PresetBase.md#getchildobjectbytypename),获取指定类型和名称的第一个游戏对象<!--by xgb-->
|
||||
|
||||
1. 新增[Preset.Model.PresetBase.PresetBase.GetChildObjectsByTypeName](../预设对象/预设/预设基类PresetBase.md#getchildobjectsbytypename),获取指定类型和名称的第一个游戏对象<!--by xgb-->
|
||||
|
||||
1. 新增[Preset.Model.SdkInterface.SdkInterface.GetEntityId](../预设对象/通用/SDK接口封装SdkInterface.md#getentityid),组件工厂化<!--by xgb-->
|
||||
|
||||
1. 新增[Preset.Model.SdkInterface.SdkInterface.ToPlayerPreset](../预设对象/通用/SDK接口封装SdkInterface.md#toplayerpreset),组件工厂化<!--by xgb-->
|
||||
|
||||
1. 新增[Preset.Model.SdkInterface.SdkInterface.ToEntityPreset](../预设对象/通用/SDK接口封装SdkInterface.md#toentitypreset),组件工厂化<!--by xgb-->
|
||||
|
||||
1. 新增[Preset.Model.SdkInterface.SdkInterface.ToEffectPreset](../预设对象/通用/SDK接口封装SdkInterface.md#toeffectpreset),组件工厂化<!--by xgb-->
|
||||
|
||||
1. 新增[Preset.Model.SdkInterface.SdkInterface.ToBlockPreset](../预设对象/通用/SDK接口封装SdkInterface.md#toblockpreset),组件工厂化<!--by xgb-->
|
||||
|
||||
1. 新增[Preset.Model.SdkInterface.SdkInterface.ToUIPreset](../预设对象/通用/SDK接口封装SdkInterface.md#touipreset),组件工厂化<!--by xgb-->
|
||||
|
||||
1. 新增[Preset.Model.SdkInterface.SdkInterface.DestroyEntity](../预设对象/通用/SDK接口封装SdkInterface.md#destroyentity),组件工厂化<!--by xgb-->
|
||||
|
||||
1. 新增[Preset.Model.SdkInterface.SdkInterface.BindFrameAniToEntity](../预设对象/通用/SDK接口封装SdkInterface.md#bindframeanitoentity),组件工厂化<!--by xgb-->
|
||||
|
||||
1. 新增[Preset.Model.SdkInterface.SdkInterface.BindFrameAniToSkeleton](../预设对象/通用/SDK接口封装SdkInterface.md#bindframeanitoskeleton),组件工厂化<!--by xgb-->
|
||||
|
||||
1. 新增[Preset.Model.SdkInterface.SdkInterface.BindParticleToEntity](../预设对象/通用/SDK接口封装SdkInterface.md#bindparticletoentity),组件工厂化<!--by xgb-->
|
||||
|
||||
1. 新增[Preset.Model.SdkInterface.SdkInterface.BindParticleToSkeleton](../预设对象/通用/SDK接口封装SdkInterface.md#bindparticletoskeleton),组件工厂化<!--by xgb-->
|
||||
|
||||
1. 新增[Preset.Model.Entity.EntityObject.EntityObject](../预设对象/预设/实体对象EntityObject.md#__init__),实体对象<!--by xgb-->
|
||||
|
||||
1. 新增[Preset.Model.Entity.EntityObject.EntityObject.GetEngineTypeStr](../预设对象/预设/实体对象EntityObject.md#getenginetypestr),组件工厂化<!--by xgb-->
|
||||
|
||||
1. 新增[Preset.Model.Entity.EntityObject.EntityObject.GetEngineType](../预设对象/预设/实体对象EntityObject.md#getenginetype),组件工厂化<!--by xgb-->
|
||||
|
||||
1. 新增[Preset.Model.Entity.EntityObject.EntityObject.GetModelId](../预设对象/预设/实体对象EntityObject.md#getmodelid),组件工厂化<!--by xgb-->
|
||||
|
||||
1. 新增[Preset.Model.Entity.EntityObject.EntityObject.PlayAnim](../预设对象/预设/实体对象EntityObject.md#playanim),组件工厂化<!--by xgb-->
|
||||
|
||||
1. 新增[Preset.Model.Entity.EntityObject.EntityObject.SetOpacity](../预设对象/预设/实体对象EntityObject.md#setopacity),组件工厂化<!--by xgb-->
|
||||
|
||||
1. 新增[Preset.Model.Entity.EntityObject.EntityObject.GetHealth](../预设对象/预设/实体对象EntityObject.md#gethealth),获取实体预设的生命值<!--by xgb-->
|
||||
|
||||
1. 新增[Preset.Model.Entity.EntityObject.EntityObject.SetHealth](../预设对象/预设/实体对象EntityObject.md#sethealth),设置实体预设的生命值<!--by xgb-->
|
||||
|
||||
1. 新增[Preset.Model.Entity.EntityObject.EntityObject.GetMaxHealth](../预设对象/预设/实体对象EntityObject.md#getmaxhealth),获取实体预设的最大生命值<!--by xgb-->
|
||||
|
||||
1. 新增[Preset.Model.Entity.EntityObject.EntityObject.SetMaxHealth](../预设对象/预设/实体对象EntityObject.md#setmaxhealth),设置实体预设的最大生命值<!--by xgb-->
|
||||
|
||||
1. 新增[Preset.Model.Entity.EntityObject.EntityObject.GetSpeed](../预设对象/预设/实体对象EntityObject.md#getspeed),获取实体预设的速度<!--by xgb-->
|
||||
|
||||
1. 新增[Preset.Model.Entity.EntityObject.EntityObject.SetSpeed](../预设对象/预设/实体对象EntityObject.md#setspeed),设置实体预设的速度<!--by xgb-->
|
||||
|
||||
1. 新增[Preset.Model.Entity.EntityObject.EntityObject.GetMaxSpeed](../预设对象/预设/实体对象EntityObject.md#getmaxspeed),获取实体预设的最大速度<!--by xgb-->
|
||||
|
||||
1. 新增[Preset.Model.Entity.EntityObject.EntityObject.SetMaxSpeed](../预设对象/预设/实体对象EntityObject.md#setmaxspeed),设置实体预设的最大速度<!--by xgb-->
|
||||
|
||||
1. 新增[Preset.Model.Entity.EntityObject.EntityObject.GetDamage](../预设对象/预设/实体对象EntityObject.md#getdamage),获取实体预设的伤害<!--by xgb-->
|
||||
|
||||
1. 新增[Preset.Model.Entity.EntityObject.EntityObject.SetDamage](../预设对象/预设/实体对象EntityObject.md#setdamage),设置实体预设的伤害<!--by xgb-->
|
||||
|
||||
1. 新增[Preset.Model.Entity.EntityObject.EntityObject.GetMaxDamage](../预设对象/预设/实体对象EntityObject.md#getmaxdamage),获取实体预设的最大伤害<!--by xgb-->
|
||||
|
||||
1. 新增[Preset.Model.Entity.EntityObject.EntityObject.SetMaxDamage](../预设对象/预设/实体对象EntityObject.md#setmaxdamage),设置实体预设的最大伤害<!--by xgb-->
|
||||
|
||||
1. 新增[Preset.Model.Entity.EntityObject.EntityObject.ShowHealth](../预设对象/预设/实体对象EntityObject.md#showhealth),组件工厂化<!--by xgb-->
|
||||
|
||||
1. 新增[Preset.Model.Entity.EntityObject.EntityObject.SetAttackTarget](../预设对象/预设/实体对象EntityObject.md#setattacktarget),组件工厂化<!--by xgb-->
|
||||
|
||||
1. 新增[Preset.Model.Entity.EntityObject.EntityObject.ResetAttackTarget](../预设对象/预设/实体对象EntityObject.md#resetattacktarget),组件工厂化<!--by xgb-->
|
||||
|
||||
1. 新增[Preset.Model.Entity.EntityObject.EntityObject.GetAttackTarget](../预设对象/预设/实体对象EntityObject.md#getattacktarget),组件工厂化<!--by xgb-->
|
||||
|
||||
1. 新增[Preset.Model.Entity.EntityObject.EntityObject.SetKnockback](../预设对象/预设/实体对象EntityObject.md#setknockback),组件工厂化<!--by xgb-->
|
||||
|
||||
1. 新增[Preset.Model.Entity.EntityObject.EntityObject.SetOwner](../预设对象/预设/实体对象EntityObject.md#setowner),组件工厂化<!--by xgb-->
|
||||
|
||||
1. 新增[Preset.Model.Entity.EntityObject.EntityObject.GetOwner](../预设对象/预设/实体对象EntityObject.md#getowner),组件工厂化<!--by xgb-->
|
||||
|
||||
1. 新增[Preset.Model.Entity.EntityObject.EntityObject.IsOnFire](../预设对象/预设/实体对象EntityObject.md#isonfire),组件工厂化<!--by xgb-->
|
||||
|
||||
1. 新增[Preset.Model.Entity.EntityObject.EntityObject.SetOnFire](../预设对象/预设/实体对象EntityObject.md#setonfire),组件工厂化<!--by xgb-->
|
||||
|
||||
1. 新增[Preset.Model.Entity.EntityObject.EntityObject.GetAttrValue](../预设对象/预设/实体对象EntityObject.md#getattrvalue),组件工厂化<!--by xgb-->
|
||||
|
||||
1. 新增[Preset.Model.Entity.EntityObject.EntityObject.GetAttrMaxValue](../预设对象/预设/实体对象EntityObject.md#getattrmaxvalue),组件工厂化<!--by xgb-->
|
||||
|
||||
1. 新增[Preset.Model.Entity.EntityObject.EntityObject.SetAttrValue](../预设对象/预设/实体对象EntityObject.md#setattrvalue),组件工厂化<!--by xgb-->
|
||||
|
||||
1. 新增[Preset.Model.Entity.EntityObject.EntityObject.SetAttrMaxValue](../预设对象/预设/实体对象EntityObject.md#setattrmaxvalue),组件工厂化<!--by xgb-->
|
||||
|
||||
1. 新增[Preset.Model.Entity.EntityObject.EntityObject.IsInLava](../预设对象/预设/实体对象EntityObject.md#isinlava),组件工厂化<!--by xgb-->
|
||||
|
||||
1. 新增[Preset.Model.Entity.EntityObject.EntityObject.IsOnGround](../预设对象/预设/实体对象EntityObject.md#isonground),组件工厂化<!--by xgb-->
|
||||
|
||||
1. 新增[Preset.Model.Entity.EntityObject.EntityObject.GetAuxValue](../预设对象/预设/实体对象EntityObject.md#getauxvalue),组件工厂化<!--by xgb-->
|
||||
|
||||
1. 新增[Preset.Model.Entity.EntityObject.EntityObject.GetCurrentAirSupply](../预设对象/预设/实体对象EntityObject.md#getcurrentairsupply),组件工厂化<!--by xgb-->
|
||||
|
||||
1. 新增[Preset.Model.Entity.EntityObject.EntityObject.GetMaxAirSupply](../预设对象/预设/实体对象EntityObject.md#getmaxairsupply),组件工厂化<!--by xgb-->
|
||||
|
||||
1. 新增[Preset.Model.Entity.EntityObject.EntityObject.SetCurrentAirSupply](../预设对象/预设/实体对象EntityObject.md#setcurrentairsupply),组件工厂化<!--by xgb-->
|
||||
|
||||
1. 新增[Preset.Model.Entity.EntityObject.EntityObject.SetMaxAirSupply](../预设对象/预设/实体对象EntityObject.md#setmaxairsupply),组件工厂化<!--by xgb-->
|
||||
|
||||
1. 新增[Preset.Model.Entity.EntityObject.EntityObject.IsConsumingAirSupply](../预设对象/预设/实体对象EntityObject.md#isconsumingairsupply),组件工厂化<!--by xgb-->
|
||||
|
||||
1. 新增[Preset.Model.Entity.EntityObject.EntityObject.SetRecoverTotalAirSupplyTime](../预设对象/预设/实体对象EntityObject.md#setrecovertotalairsupplytime),组件工厂化<!--by xgb-->
|
||||
|
||||
1. 新增[Preset.Model.Entity.EntityObject.EntityObject.GetSourceId](../预设对象/预设/实体对象EntityObject.md#getsourceid),组件工厂化<!--by xgb-->
|
||||
|
||||
1. 新增[Preset.Model.Entity.EntityObject.EntityObject.SetCollisionBoxSize](../预设对象/预设/实体对象EntityObject.md#setcollisionboxsize),组件工厂化<!--by xgb-->
|
||||
|
||||
1. 新增[Preset.Model.Entity.EntityObject.EntityObject.GetCollisionBoxSize](../预设对象/预设/实体对象EntityObject.md#getcollisionboxsize),组件工厂化<!--by xgb-->
|
||||
|
||||
1. 新增[Preset.Model.Entity.EntityObject.EntityObject.SetBlockControlAi](../预设对象/预设/实体对象EntityObject.md#setblockcontrolai),组件工厂化<!--by xgb-->
|
||||
|
||||
1. 新增[Preset.Model.Entity.EntityObject.EntityObject.GetDimensionId](../预设对象/预设/实体对象EntityObject.md#getdimensionid),组件工厂化<!--by xgb-->
|
||||
|
||||
1. 新增[Preset.Model.Entity.EntityObject.EntityObject.ChangeDimension](../预设对象/预设/实体对象EntityObject.md#changedimension),组件工厂化<!--by xgb-->
|
||||
|
||||
1. 新增[Preset.Model.Entity.EntityObject.EntityObject.RemoveEffect](../预设对象/预设/实体对象EntityObject.md#removeeffect),组件工厂化<!--by xgb-->
|
||||
|
||||
1. 新增[Preset.Model.Entity.EntityObject.EntityObject.AddEffect](../预设对象/预设/实体对象EntityObject.md#addeffect),组件工厂化<!--by xgb-->
|
||||
|
||||
1. 新增[Preset.Model.Entity.EntityObject.EntityObject.GetEffects](../预设对象/预设/实体对象EntityObject.md#geteffects),组件工厂化<!--by xgb-->
|
||||
|
||||
1. 新增[Preset.Model.Entity.EntityObject.EntityObject.TriggerCustomEvent](../预设对象/预设/实体对象EntityObject.md#triggercustomevent),组件工厂化<!--by xgb-->
|
||||
|
||||
1. 新增[Preset.Model.Entity.EntityObject.EntityObject.IsAlive](../预设对象/预设/实体对象EntityObject.md#isalive),组件工厂化<!--by xgb-->
|
||||
|
||||
1. 新增[Preset.Model.Entity.EntityObject.EntityObject.GetGravity](../预设对象/预设/实体对象EntityObject.md#getgravity),组件工厂化<!--by xgb-->
|
||||
|
||||
1. 新增[Preset.Model.Entity.EntityObject.EntityObject.SetGravity](../预设对象/预设/实体对象EntityObject.md#setgravity),组件工厂化<!--by xgb-->
|
||||
|
||||
1. 新增[Preset.Model.Entity.EntityObject.EntityObject.SetHurt](../预设对象/预设/实体对象EntityObject.md#sethurt),组件工厂化<!--by xgb-->
|
||||
|
||||
1. 新增[Preset.Model.Entity.EntityObject.EntityObject.SetImmuneDamage](../预设对象/预设/实体对象EntityObject.md#setimmunedamage),组件工厂化<!--by xgb-->
|
||||
|
||||
1. 新增[Preset.Model.Entity.EntityObject.EntityObject.SetModAttr](../预设对象/预设/实体对象EntityObject.md#setmodattr),组件工厂化<!--by xgb-->
|
||||
|
||||
1. 新增[Preset.Model.Entity.EntityObject.EntityObject.GetModAttr](../预设对象/预设/实体对象EntityObject.md#getmodattr),组件工厂化<!--by xgb-->
|
||||
|
||||
1. 新增[Preset.Model.Entity.EntityObject.EntityObject.RegisterModAttrUpdateFunc](../预设对象/预设/实体对象EntityObject.md#registermodattrupdatefunc),组件工厂化<!--by xgb-->
|
||||
|
||||
1. 新增[Preset.Model.Entity.EntityObject.EntityObject.UnRegisterModAttrUpdateFunc](../预设对象/预设/实体对象EntityObject.md#unregistermodattrupdatefunc),组件工厂化<!--by xgb-->
|
||||
|
||||
1. 新增[Preset.Model.Entity.EntityObject.EntityObject.GetName](../预设对象/预设/实体对象EntityObject.md#getname),组件工厂化<!--by xgb-->
|
||||
|
||||
1. 新增[Preset.Model.Entity.EntityObject.EntityObject.SetName](../预设对象/预设/实体对象EntityObject.md#setname),组件工厂化<!--by xgb-->
|
||||
|
||||
1. 新增[Preset.Model.Entity.EntityObject.EntityObject.SetShowName](../预设对象/预设/实体对象EntityObject.md#setshowname),组件工厂化<!--by xgb-->
|
||||
|
||||
1. 新增[Preset.Model.Entity.EntityObject.EntityObject.SetAlwaysShowName](../预设对象/预设/实体对象EntityObject.md#setalwaysshowname),组件工厂化<!--by xgb-->
|
||||
|
||||
1. 新增[Preset.Model.Entity.EntityObject.EntityObject.SetPersistence](../预设对象/预设/实体对象EntityObject.md#setpersistence),组件工厂化<!--by xgb-->
|
||||
|
||||
1. 新增[Preset.Controller.PresetApi.GetGameObjectByTypeName](../预设管理/PresetApi.md#getgameobjectbytypename),获取指定类型和名称的第一个游戏对象<!--by xgb-->
|
||||
|
||||
1. 新增[Preset.Controller.PresetApi.GetGameObjectsByTypeName](../预设管理/PresetApi.md#getgameobjectsbytypename),获取指定类型和名称的所有游戏对象<!--by xgb-->
|
||||
|
||||
1. 新增[Preset.Controller.PresetApi.GetPartApi](../预设管理/PresetApi.md#getpartapi),获取零件API<!--by xgb-->
|
||||
|
||||
29
mcguide/20-玩法开发/14-预设玩法编程/13-PresetAPI/更新信息/1.24.0.md
Normal file
29
mcguide/20-玩法开发/14-预设玩法编程/13-PresetAPI/更新信息/1.24.0.md
Normal file
@@ -0,0 +1,29 @@
|
||||
# 1.24.0
|
||||
|
||||
- 注:该版本功能仅在modpc开发包生效,移动端生效请期待1.25大版本更新。
|
||||
- 新增
|
||||
|
||||
1. 新增[Preset.Model.Player.PlayerObject.PlayerObject.EnableKeepInventory](../预设对象/预设/玩家对象PlayerObject.md#enablekeepinventory),组件工厂化<!--by xgb-->
|
||||
|
||||
1. 新增[Preset.Model.PartBase.PartBase.GetLoadedPlayers](../预设对象/零件/零件PartBase.md#getloadedplayers),获取服务器所有玩家的ID列表<!--by xgb-->
|
||||
|
||||
1. 新增[Preset.Model.PartBase.PartBase.BroadcastPresetSystemEvent](../预设对象/零件/零件PartBase.md#broadcastpresetsystemevent),广播给预设系统<!--by zqh-->
|
||||
|
||||
1. 新增[Preset.Model.PartBase.PartBase.ListenPresetSystemEvent](../预设对象/零件/零件PartBase.md#listenpresetsystemevent),监听来自预设系统的事件<!--by zqh-->
|
||||
|
||||
1. 新增[Preset.Model.PartBase.PartBase.UnListenPresetSystemEvent](../预设对象/零件/零件PartBase.md#unlistenpresetsystemevent),反监听来自预设系统的事件<!--by zqh-->
|
||||
|
||||
1. 新增[Preset.Model.SdkInterface.SdkInterface.EnablePlayerKeepInventory](../预设对象/通用/SDK接口封装SdkInterface.md#enableplayerkeepinventory),组件工厂化<!--by xgb-->
|
||||
|
||||
1. 新增[Preset.Model.Entity.EntityObject.EntityObject.GetPos](../预设对象/预设/实体对象EntityObject.md#getpos),组件工厂化<!--by xgb-->
|
||||
|
||||
1. 新增[Preset.Model.Entity.EntityObject.EntityObject.GetFootPos](../预设对象/预设/实体对象EntityObject.md#getfootpos),组件工厂化<!--by xgb-->
|
||||
|
||||
1. 新增[Preset.Model.Entity.EntityObject.EntityObject.SetPos](../预设对象/预设/实体对象EntityObject.md#setpos),组件工厂化<!--by xgb-->
|
||||
|
||||
1. 新增[Preset.Model.Entity.EntityObject.EntityObject.SetFootPos](../预设对象/预设/实体对象EntityObject.md#setfootpos),组件工厂化<!--by xgb-->
|
||||
|
||||
1. 新增[Preset.Model.Entity.EntityObject.EntityObject.GetRot](../预设对象/预设/实体对象EntityObject.md#getrot),组件工厂化<!--by xgb-->
|
||||
|
||||
1. 新增[Preset.Model.Entity.EntityObject.EntityObject.SetRot](../预设对象/预设/实体对象EntityObject.md#setrot),组件工厂化<!--by xgb-->
|
||||
|
||||
32
mcguide/20-玩法开发/14-预设玩法编程/13-PresetAPI/更新信息/1.24.1.md
Normal file
32
mcguide/20-玩法开发/14-预设玩法编程/13-PresetAPI/更新信息/1.24.1.md
Normal file
@@ -0,0 +1,32 @@
|
||||
# 1.24.1
|
||||
|
||||
- 新增
|
||||
|
||||
1. 新增[Preset.Model.TransformObject.TransformObject.GetId](../预设对象/通用/变换对象TransformObject.md#getid),获取当前预设的ID<!--by czk-->
|
||||
|
||||
1. 新增[Preset.Model.SdkInterface.SdkInterface.AddBlockProtectField](../预设对象/通用/SDK接口封装SdkInterface.md#addblockprotectfield),设置一个方块无法被玩家/实体破坏的区域<!--by xgb-->
|
||||
|
||||
1. 新增[Preset.Model.SdkInterface.SdkInterface.RemoveBlockProtectField](../预设对象/通用/SDK接口封装SdkInterface.md#removeblockprotectfield),取消一个方块无法被玩家/实体破坏的区域<!--by xgb-->
|
||||
|
||||
1. 新增[Preset.Model.SdkInterface.SdkInterface.CleanBlockProtectField](../预设对象/通用/SDK接口封装SdkInterface.md#cleanblockprotectfield),取消全部已设置的方块无法被玩家/实体破坏的区域<!--by xgb-->
|
||||
|
||||
1. 新增[Preset.Parts.TriggerPart.TriggerPart](../预设对象/零件/触发器零件TriggerPart.md#__init__),触发器零件<!--by xgb-->
|
||||
|
||||
1. 新增[Preset.Parts.TriggerPart.TriggerPart.GetEntitiesInTrigger](../预设对象/零件/触发器零件TriggerPart.md#getentitiesintrigger),获取当前在触发器区域的实体列表<!--by xgb-->
|
||||
|
||||
1. 新增[Preset.Parts.NavPointsPart.NavPointsPart](../预设对象/零件/导航路径零件NavPointsPart.md#__init__),导航路径零件<!--by panlei-->
|
||||
|
||||
1. 新增[Preset.Parts.EntityBasePart.EntityBasePart](../预设对象/零件/实体零件EntityBasePart.md#__init__),实体零件<!--by xgb-->
|
||||
|
||||
1. 新增[Preset.Parts.EntityBasePart.EntityBasePart.CreateVirtualEntity](../预设对象/零件/实体零件EntityBasePart.md#createvirtualentity),手动创建关联实体<!--by xgb-->
|
||||
|
||||
1. 新增[Preset.Parts.EntityBasePart.EntityBasePart.DestroyVirtualEntity](../预设对象/零件/实体零件EntityBasePart.md#destroyvirtualentity),移除已创建的关联实体<!--by xgb-->
|
||||
|
||||
1. 新增[Preset.Parts.CameraTrackPart.CameraTrackPart](../预设对象/零件/相机轨迹CameraTrackPart.md#__init__),相机轨迹零件<!--by panlei-->
|
||||
|
||||
1. 新增[Preset.Parts.PortalPart.PortalPart](../预设对象/零件/传送门零件PortalPart.md#__init__),传送门零件<!--by xgb-->
|
||||
|
||||
1. 新增[Preset.Parts.PlayerBasicPart.PlayerBasicPart](../预设对象/零件/玩家基础属性零件PlayerBasicPart.md#__init__),玩家基础属性零件<!--by xgb-->
|
||||
|
||||
1. 新增[Preset.Parts.WorldPart.WorldPart](../预设对象/零件/世界属性零件WorldPart.md#__init__),世界属性零件<!--by xgb-->
|
||||
|
||||
22
mcguide/20-玩法开发/14-预设玩法编程/13-PresetAPI/更新信息/1.25.0.md
Normal file
22
mcguide/20-玩法开发/14-预设玩法编程/13-PresetAPI/更新信息/1.25.0.md
Normal file
@@ -0,0 +1,22 @@
|
||||
# 1.25.0
|
||||
|
||||
- 新增
|
||||
|
||||
1. 新增[Preset.Model.PresetBase.PresetBase.SetBlockProtect](../预设对象/预设/预设基类PresetBase.md#setblockprotect),设置预设内的所有素材区域的方块保护状态<!--by xgb-->
|
||||
|
||||
1. 新增[Preset.Model.GameObject.type.fromDict](../预设对象/通用/游戏对象GameObject.md#fromdict),将字典根据classType字段转换为对应类型的对象,该类型必须使用@registerGenericClass装饰<!--by xgb-->
|
||||
|
||||
1. 新增[Preset.Parts.NavPointsPart.NavPointsPart](../预设对象/零件/导航路径零件NavPointsPart.md#__init__),导航路径零件<!--by panlei-->
|
||||
|
||||
1. 新增[Preset.Parts.NavPointsPart.NavPointsPart.GetNavigationPoints](../预设对象/零件/导航路径零件NavPointsPart.md#getnavigationpoints),获得路径点的世界坐标列表<!--by panlei-->
|
||||
|
||||
1. 新增[Preset.Parts.CameraTrackPart.CameraTrackPart](../预设对象/零件/相机轨迹CameraTrackPart.md#__init__),相机轨迹零件<!--by panlei-->
|
||||
|
||||
1. 新增[Preset.Parts.CameraTrackPart.CameraTrackPart.PlayFromStart](../预设对象/零件/相机轨迹CameraTrackPart.md#playfromstart),从头开始播放相机运动轨迹<!--by panlei-->
|
||||
|
||||
1. 新增[Preset.Parts.CameraTrackPart.CameraTrackPart.Pause](../预设对象/零件/相机轨迹CameraTrackPart.md#pause),暂停播放相机轨迹<!--by panlei-->
|
||||
|
||||
1. 新增[Preset.Parts.CameraTrackPart.CameraTrackPart.Continue](../预设对象/零件/相机轨迹CameraTrackPart.md#continue),继续播放相机轨迹<!--by panlei-->
|
||||
|
||||
1. 新增[Preset.Parts.CameraTrackPart.CameraTrackPart.Stop](../预设对象/零件/相机轨迹CameraTrackPart.md#stop),停止播放相机轨迹<!--by panlei-->
|
||||
|
||||
10
mcguide/20-玩法开发/14-预设玩法编程/13-PresetAPI/更新信息/2.0.1.md
Normal file
10
mcguide/20-玩法开发/14-预设玩法编程/13-PresetAPI/更新信息/2.0.1.md
Normal file
@@ -0,0 +1,10 @@
|
||||
# 2.0.1
|
||||
|
||||
- 新增
|
||||
|
||||
1. 新增[Preset.Model.Entity.EntityObject.EntityObject.SetMotion](../预设对象/预设/实体对象EntityObject.md#setmotion),组件工厂化<!--by xgb-->
|
||||
|
||||
1. 新增[Preset.Model.Entity.EntityObject.EntityObject.GetMotion](../预设对象/预设/实体对象EntityObject.md#getmotion),组件工厂化<!--by xgb-->
|
||||
|
||||
1. 新增[Preset.Parts.NavPointsPart.NavPointsPart.GetNavigationRadius](../预设对象/零件/导航路径零件NavPointsPart.md#getnavigationradius),获得路径点的随机半径列表<!--by panlei-->
|
||||
|
||||
76
mcguide/20-玩法开发/14-预设玩法编程/13-PresetAPI/更新信息/2.0.2.md
Normal file
76
mcguide/20-玩法开发/14-预设玩法编程/13-PresetAPI/更新信息/2.0.2.md
Normal file
@@ -0,0 +1,76 @@
|
||||
# 2.0.2
|
||||
|
||||
- 新增
|
||||
|
||||
1. 新增[Preset.Model.Player.PlayerObject.PlayerObject.AddAnimation](../预设对象/预设/玩家对象PlayerObject.md#addanimation),铺量属性接口<!--by OOP-->
|
||||
|
||||
1. 新增[Preset.Model.Player.PlayerObject.PlayerObject.SetHealthLevel](../预设对象/预设/玩家对象PlayerObject.md#sethealthlevel),铺量属性接口<!--by OOP-->
|
||||
|
||||
1. 新增[Preset.Model.Player.PlayerObject.PlayerObject.SetStarveLevel](../预设对象/预设/玩家对象PlayerObject.md#setstarvelevel),铺量属性接口<!--by OOP-->
|
||||
|
||||
1. 新增[Preset.Model.Player.PlayerObject.PlayerObject.SetNaturalStarve](../预设对象/预设/玩家对象PlayerObject.md#setnaturalstarve),铺量属性接口<!--by OOP-->
|
||||
|
||||
1. 新增[Preset.Model.Player.PlayerObject.PlayerObject.SetStarveTick](../预设对象/预设/玩家对象PlayerObject.md#setstarvetick),铺量属性接口<!--by OOP-->
|
||||
|
||||
1. 新增[Preset.Model.Player.PlayerObject.PlayerObject.SetNaturalRegen](../预设对象/预设/玩家对象PlayerObject.md#setnaturalregen),铺量属性接口<!--by OOP-->
|
||||
|
||||
1. 新增[Preset.Model.Player.PlayerObject.PlayerObject.SetHealthTick](../预设对象/预设/玩家对象PlayerObject.md#sethealthtick),铺量属性接口<!--by OOP-->
|
||||
|
||||
1. 新增[Preset.Model.Player.PlayerObject.PlayerObject.SetMaxExhaustionValue](../预设对象/预设/玩家对象PlayerObject.md#setmaxexhaustionvalue),铺量属性接口<!--by OOP-->
|
||||
|
||||
1. 新增[Preset.Model.Player.PlayerObject.PlayerObject.SetPickUpArea](../预设对象/预设/玩家对象PlayerObject.md#setpickuparea),铺量属性接口<!--by OOP-->
|
||||
|
||||
1. 新增[Preset.Model.Player.PlayerObject.PlayerObject.SetJumpable](../预设对象/预设/玩家对象PlayerObject.md#setjumpable),铺量属性接口<!--by OOP-->
|
||||
|
||||
1. 新增[Preset.Model.Player.PlayerObject.PlayerObject.SetMovable](../预设对象/预设/玩家对象PlayerObject.md#setmovable),铺量属性接口<!--by OOP-->
|
||||
|
||||
1. 新增[Preset.Model.Player.PlayerObject.PlayerObject.AddAnimationController](../预设对象/预设/玩家对象PlayerObject.md#addanimationcontroller),铺量属性接口<!--by OOP-->
|
||||
|
||||
1. 新增[Preset.Model.Player.PlayerObject.PlayerObject.AddAnimationIntoState](../预设对象/预设/玩家对象PlayerObject.md#addanimationintostate),铺量属性接口<!--by OOP-->
|
||||
|
||||
1. 新增[Preset.Model.Player.PlayerObject.PlayerObject.AddGeometry](../预设对象/预设/玩家对象PlayerObject.md#addgeometry),铺量属性接口<!--by OOP-->
|
||||
|
||||
1. 新增[Preset.Model.Player.PlayerObject.PlayerObject.AddParticleEffect](../预设对象/预设/玩家对象PlayerObject.md#addparticleeffect),铺量属性接口<!--by OOP-->
|
||||
|
||||
1. 新增[Preset.Model.Player.PlayerObject.PlayerObject.AddRenderController](../预设对象/预设/玩家对象PlayerObject.md#addrendercontroller),铺量属性接口<!--by OOP-->
|
||||
|
||||
1. 新增[Preset.Model.Player.PlayerObject.PlayerObject.AddRenderMaterial](../预设对象/预设/玩家对象PlayerObject.md#addrendermaterial),铺量属性接口<!--by OOP-->
|
||||
|
||||
1. 新增[Preset.Model.Player.PlayerObject.PlayerObject.AddSoundEffect](../预设对象/预设/玩家对象PlayerObject.md#addsoundeffect),铺量属性接口<!--by OOP-->
|
||||
|
||||
1. 新增[Preset.Model.Player.PlayerObject.PlayerObject.AddTexture](../预设对象/预设/玩家对象PlayerObject.md#addtexture),铺量属性接口<!--by OOP-->
|
||||
|
||||
1. 新增[Preset.Model.Player.PlayerObject.PlayerObject.SetSkin](../预设对象/预设/玩家对象PlayerObject.md#setskin),铺量属性接口<!--by OOP-->
|
||||
|
||||
1. 新增[Preset.Model.Entity.EntityObject.EntityObject.SetItem](../预设对象/预设/实体对象EntityObject.md#setitem),铺量属性接口<!--by OOP-->
|
||||
|
||||
1. 新增[Preset.Model.Entity.EntityObject.EntityObject.SetCanOtherPlayerRide](../预设对象/预设/实体对象EntityObject.md#setcanotherplayerride),铺量属性接口<!--by OOP-->
|
||||
|
||||
1. 新增[Preset.Model.Entity.EntityObject.EntityObject.SetControl](../预设对象/预设/实体对象EntityObject.md#setcontrol),铺量属性接口<!--by OOP-->
|
||||
|
||||
1. 新增[Preset.Model.Entity.EntityObject.EntityObject.SetRidePos](../预设对象/预设/实体对象EntityObject.md#setridepos),铺量属性接口<!--by OOP-->
|
||||
|
||||
1. 新增[Preset.Model.Entity.EntityObject.EntityObject.SetNotRender](../预设对象/预设/实体对象EntityObject.md#setnotrender),铺量属性接口<!--by OOP-->
|
||||
|
||||
1. 新增[Preset.Model.Entity.EntityObject.EntityObject.SetCollidable](../预设对象/预设/实体对象EntityObject.md#setcollidable),铺量属性接口<!--by OOP-->
|
||||
|
||||
1. 新增[Preset.Model.Entity.EntityObject.EntityObject.SetHealthColor](../预设对象/预设/实体对象EntityObject.md#sethealthcolor),铺量属性接口<!--by OOP-->
|
||||
|
||||
1. 新增[Preset.Model.Entity.EntityObject.EntityObject.AddAnimation](../预设对象/预设/实体对象EntityObject.md#addanimation),铺量属性接口<!--by OOP-->
|
||||
|
||||
1. 新增[Preset.Model.Entity.EntityObject.EntityObject.AddAnimationController](../预设对象/预设/实体对象EntityObject.md#addanimationcontroller),铺量属性接口<!--by OOP-->
|
||||
|
||||
1. 新增[Preset.Model.Entity.EntityObject.EntityObject.AddScriptAnimate](../预设对象/预设/实体对象EntityObject.md#addscriptanimate),铺量属性接口<!--by OOP-->
|
||||
|
||||
1. 新增[Preset.Model.Entity.EntityObject.EntityObject.AddParticleEffect](../预设对象/预设/实体对象EntityObject.md#addparticleeffect),铺量属性接口<!--by OOP-->
|
||||
|
||||
1. 新增[Preset.Model.Entity.EntityObject.EntityObject.AddRenderController](../预设对象/预设/实体对象EntityObject.md#addrendercontroller),铺量属性接口<!--by OOP-->
|
||||
|
||||
1. 新增[Preset.Model.Entity.EntityObject.EntityObject.AddRenderMaterial](../预设对象/预设/实体对象EntityObject.md#addrendermaterial),铺量属性接口<!--by OOP-->
|
||||
|
||||
1. 新增[Preset.Model.Entity.EntityObject.EntityObject.AddSoundEffect](../预设对象/预设/实体对象EntityObject.md#addsoundeffect),铺量属性接口<!--by OOP-->
|
||||
|
||||
1. 新增[Preset.Model.Entity.EntityObject.EntityObject.SetPushable](../预设对象/预设/实体对象EntityObject.md#setpushable),铺量属性接口<!--by OOP-->
|
||||
|
||||
1. 新增[Preset.Model.Entity.EntityObject.EntityObject.SetModel](../预设对象/预设/实体对象EntityObject.md#setmodel),铺量属性接口<!--by OOP-->
|
||||
|
||||
38
mcguide/20-玩法开发/14-预设玩法编程/13-PresetAPI/更新信息/2.0.3.md
Normal file
38
mcguide/20-玩法开发/14-预设玩法编程/13-PresetAPI/更新信息/2.0.3.md
Normal file
@@ -0,0 +1,38 @@
|
||||
# 2.0.3
|
||||
|
||||
- 新增
|
||||
|
||||
1. 新增[Preset.Model.PartBase.PartBase.CreateTextboardPreset](../预设对象/零件/零件PartBase.md#createtextboardpreset)(客户端/服务端), 创建文字面板对象<!--by OOP-->
|
||||
|
||||
1. 新增[Preset.Model.Textboard.TextboardPreset.TextboardPreset](../预设对象/预设/文字面板预设TextboardPreset.md#__init__)(客户端/服务端), 文字面板预设<!--by OOP-->
|
||||
|
||||
1. 新增[Preset.Model.SdkInterface.SdkInterface.CreatePostProcessComponent](../预设对象/通用/SDK接口封装SdkInterface.md#createpostprocesscomponent)(客户端/服务端), 铺量属性接口<!--by OOP-->
|
||||
|
||||
1. 新增[Preset.Model.Entity.EntityObject.EntityObject.GetLavaSpeed](../预设对象/预设/实体对象EntityObject.md#getlavaspeed)(客户端/服务端), 铺量属性接口<!--by OOP-->
|
||||
|
||||
1. 新增[Preset.Model.Entity.EntityObject.EntityObject.SetLavaSpeed](../预设对象/预设/实体对象EntityObject.md#setlavaspeed)(客户端/服务端), 铺量属性接口<!--by OOP-->
|
||||
|
||||
1. 新增[Preset.Model.Entity.EntityObject.EntityObject.GetMaxLavaSpeed](../预设对象/预设/实体对象EntityObject.md#getmaxlavaspeed)(客户端/服务端), 铺量属性接口<!--by OOP-->
|
||||
|
||||
1. 新增[Preset.Model.Entity.EntityObject.EntityObject.SetMaxLavaSpeed](../预设对象/预设/实体对象EntityObject.md#setmaxlavaspeed)(客户端/服务端), 铺量属性接口<!--by OOP-->
|
||||
|
||||
1. 新增[Preset.Model.Textboard.TextboardObject.TextboardObject](../预设对象/预设/文字面板对象TextboardObject.md#__init__)(客户端/服务端), 文字面板对象<!--by OOP-->
|
||||
|
||||
1. 新增[Preset.Model.Textboard.TextboardObject.TextboardObject.SetBindEntity](../预设对象/预设/文字面板对象TextboardObject.md#setbindentity)(客户端/服务端), 铺量属性接口<!--by OOP-->
|
||||
|
||||
1. 新增[Preset.Model.Textboard.TextboardObject.TextboardObject.SetPos](../预设对象/预设/文字面板对象TextboardObject.md#setpos)(客户端/服务端), 铺量属性接口<!--by OOP-->
|
||||
|
||||
1. 新增[Preset.Model.Textboard.TextboardObject.TextboardObject.SetRot](../预设对象/预设/文字面板对象TextboardObject.md#setrot)(客户端/服务端), 铺量属性接口<!--by OOP-->
|
||||
|
||||
1. 新增[Preset.Model.Textboard.TextboardObject.TextboardObject.SetScale](../预设对象/预设/文字面板对象TextboardObject.md#setscale)(客户端/服务端), 铺量属性接口<!--by OOP-->
|
||||
|
||||
1. 新增[Preset.Model.Textboard.TextboardObject.TextboardObject.SetText](../预设对象/预设/文字面板对象TextboardObject.md#settext)(客户端/服务端), 铺量属性接口<!--by OOP-->
|
||||
|
||||
1. 新增[Preset.Model.Textboard.TextboardObject.TextboardObject.SetColor](../预设对象/预设/文字面板对象TextboardObject.md#setcolor)(客户端/服务端), 铺量属性接口<!--by OOP-->
|
||||
|
||||
1. 新增[Preset.Model.Textboard.TextboardObject.TextboardObject.SetBackgroundColor](../预设对象/预设/文字面板对象TextboardObject.md#setbackgroundcolor)(客户端/服务端), 铺量属性接口<!--by OOP-->
|
||||
|
||||
1. 新增[Preset.Model.Textboard.TextboardObject.TextboardObject.SetFaceCamera](../预设对象/预设/文字面板对象TextboardObject.md#setfacecamera)(客户端/服务端), 铺量属性接口<!--by OOP-->
|
||||
|
||||
1. 新增[Preset.Model.Textboard.TextboardObject.TextboardObject.SetBoardDepthTest](../预设对象/预设/文字面板对象TextboardObject.md#setboarddepthtest)(客户端/服务端), 铺量属性接口<!--by OOP-->
|
||||
|
||||
6
mcguide/20-玩法开发/14-预设玩法编程/13-PresetAPI/更新信息/2.2.0.md
Normal file
6
mcguide/20-玩法开发/14-预设玩法编程/13-PresetAPI/更新信息/2.2.0.md
Normal file
@@ -0,0 +1,6 @@
|
||||
# 2.2.0
|
||||
|
||||
- 新增
|
||||
|
||||
1. 新增[Preset.Controller.PresetApi.CreateTransform](../预设管理/PresetApi.md#createtransform)(客户端/服务端), 构造变换对象<!--by czk-->
|
||||
|
||||
30
mcguide/20-玩法开发/14-预设玩法编程/13-PresetAPI/更新信息/2.4.0.md
Normal file
30
mcguide/20-玩法开发/14-预设玩法编程/13-PresetAPI/更新信息/2.4.0.md
Normal file
@@ -0,0 +1,30 @@
|
||||
# 2.4.0
|
||||
|
||||
- 新增
|
||||
|
||||
1. 新增[Preset.Model.TransformObject.TransformObject.GetDimension](../预设对象/通用/变换对象TransformObject.md#getdimension)(客户端/服务端), 获取所在的维度<!--by xgb-->
|
||||
|
||||
1. 新增[Preset.Model.TransformObject.TransformObject.SetDimension](../预设对象/通用/变换对象TransformObject.md#setdimension)(客户端/服务端), 设置所在的维度<!--by xgb-->
|
||||
|
||||
1. 新增[Preset.Controller.PresetApi.GetPresetSize](../预设管理/PresetApi.md#getpresetsize)(客户端/服务端), 根据预设ID获取预设的包围盒大小<!--by xgb-->
|
||||
|
||||
- 调整
|
||||
|
||||
1. 调整[Preset.Controller.PresetApi.GetAllPresets](../预设管理/PresetApi.md#getallpresets)(客户端/服务端), 新增dimension参数<!--by xgb-->
|
||||
|
||||
1. 调整[Preset.Controller.PresetApi.GetBlockPresetByPosition](../预设管理/PresetApi.md#getblockpresetbyposition)(客户端/服务端), 新增dimension参数<!--by xgb-->
|
||||
|
||||
1. 调整[Preset.Controller.PresetApi.GetGameObjectByTypeName](../预设管理/PresetApi.md#getgameobjectbytypename)(客户端/服务端), 新增dimension参数<!--by xgb-->
|
||||
|
||||
1. 调整[Preset.Controller.PresetApi.GetGameObjectsByTypeName](../预设管理/PresetApi.md#getgameobjectsbytypename)(客户端/服务端), 新增dimension参数<!--by xgb-->
|
||||
|
||||
1. 调整[Preset.Controller.PresetApi.GetPresetByName](../预设管理/PresetApi.md#getpresetbyname)(客户端/服务端), 新增dimension参数<!--by xgb-->
|
||||
|
||||
1. 调整[Preset.Controller.PresetApi.GetPresetByType](../预设管理/PresetApi.md#getpresetbytype)(客户端/服务端), 新增dimension参数<!--by xgb-->
|
||||
|
||||
1. 调整[Preset.Controller.PresetApi.GetPresetsByName](../预设管理/PresetApi.md#getpresetsbyname)(客户端/服务端), 新增dimension参数<!--by xgb-->
|
||||
|
||||
1. 调整[Preset.Controller.PresetApi.GetPresetsByType](../预设管理/PresetApi.md#getpresetsbytype)(客户端/服务端), 新增dimension参数<!--by xgb-->
|
||||
|
||||
1. 调整[Preset.Controller.PresetApi.SpawnPreset](../预设管理/PresetApi.md#spawnpreset)(客户端/服务端), 新增dimension与virtual参数<!--by xgb-->
|
||||
|
||||
10317
mcguide/20-玩法开发/14-预设玩法编程/13-PresetAPI/预设对象/通用/SDK接口封装SdkInterface.md
Normal file
10317
mcguide/20-玩法开发/14-预设玩法编程/13-PresetAPI/预设对象/通用/SDK接口封装SdkInterface.md
Normal file
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
157
mcguide/20-玩法开发/14-预设玩法编程/13-PresetAPI/预设对象/通用/坐标变换Transform.md
Normal file
157
mcguide/20-玩法开发/14-预设玩法编程/13-PresetAPI/预设对象/通用/坐标变换Transform.md
Normal file
@@ -0,0 +1,157 @@
|
||||
---
|
||||
sidebarDepth: 1
|
||||
---
|
||||
# 坐标变换Transform
|
||||
|
||||
|
||||
|
||||
## 概述
|
||||
|
||||
- 继承关系
|
||||
|
||||
```mermaid
|
||||
classDiagram
|
||||
GameObject <|-- Transform
|
||||
link GameObject "../../../../mcguide/20-玩法开发/14-预设玩法编程/13-PresetAPI/%E9%A2%84%E8%AE%BE%E5%AF%B9%E8%B1%A1/%E9%80%9A%E7%94%A8/%E6%B8%B8%E6%88%8F%E5%AF%B9%E8%B1%A1GameObject.html"
|
||||
Transform: 坐标变换
|
||||
GameObject: 游戏对象
|
||||
GameObject: (点击跳转)
|
||||
```
|
||||
|
||||
- 描述
|
||||
|
||||
坐标变换,包含位置、旋转和缩放
|
||||
|
||||
- 成员变量
|
||||
|
||||
| 变量名 | <div style="width: 4em">数据类型</div> | 说明 |
|
||||
| :--- | :--- | :--- |
|
||||
| pos | tuple(float,float,float) | 位置变换 |
|
||||
| rotation | tuple(float,float,float) | 旋转变换 |
|
||||
| scale | tuple(float,float,float) | 缩放变换 |
|
||||
|
||||
|
||||
|
||||
## 索引
|
||||
|
||||
| 接口 | <div style="width: 3em"></div> | 描述 |
|
||||
| --- | --- | --- |
|
||||
| [AddOffset](#addoffset) | <span style="display:inline;color:#7575f9">客户端</span>/<span style="display:inline;color:#ff5555">服务端</span> | 给坐标变换位置增加偏移量 |
|
||||
| [AddRotation](#addrotation) | <span style="display:inline;color:#7575f9">客户端</span>/<span style="display:inline;color:#ff5555">服务端</span> | 给坐标变换旋转增加偏移量 |
|
||||
| [AddScale](#addscale) | <span style="display:inline;color:#7575f9">客户端</span>/<span style="display:inline;color:#ff5555">服务端</span> | 给坐标变换缩放增加偏移量 |
|
||||
| [AddTransform](#addtransform) | <span style="display:inline;color:#7575f9">客户端</span>/<span style="display:inline;color:#ff5555">服务端</span> | 给坐标变换增加偏移量 |
|
||||
| [GetMatrix](#getmatrix) | <span style="display:inline;color:#7575f9">客户端</span>/<span style="display:inline;color:#ff5555">服务端</span> | 获取坐标变换矩阵 |
|
||||
|
||||
|
||||
|
||||
|
||||
## AddOffset
|
||||
|
||||
<span style="display:inline;color:#7575f9">客户端</span>/<span style="display:inline;color:#ff5555">服务端</span>
|
||||
|
||||
method in Preset.Model.Transform.Transform
|
||||
|
||||
- 描述
|
||||
|
||||
给坐标变换位置增加偏移量
|
||||
|
||||
- 参数
|
||||
|
||||
| 参数名 | <div style="width: 4em">数据类型</div> | 说明 |
|
||||
| :--- | :--- | :--- |
|
||||
| offset | tuple(float,float,float) | 变换位置 |
|
||||
|
||||
- 返回值
|
||||
|
||||
无
|
||||
|
||||
|
||||
|
||||
## AddRotation
|
||||
|
||||
<span style="display:inline;color:#7575f9">客户端</span>/<span style="display:inline;color:#ff5555">服务端</span>
|
||||
|
||||
method in Preset.Model.Transform.Transform
|
||||
|
||||
- 描述
|
||||
|
||||
给坐标变换旋转增加偏移量
|
||||
|
||||
- 参数
|
||||
|
||||
| 参数名 | <div style="width: 4em">数据类型</div> | 说明 |
|
||||
| :--- | :--- | :--- |
|
||||
| rotation | tuple(float,float,float) | 变换旋转 |
|
||||
|
||||
- 返回值
|
||||
|
||||
无
|
||||
|
||||
|
||||
|
||||
## AddScale
|
||||
|
||||
<span style="display:inline;color:#7575f9">客户端</span>/<span style="display:inline;color:#ff5555">服务端</span>
|
||||
|
||||
method in Preset.Model.Transform.Transform
|
||||
|
||||
- 描述
|
||||
|
||||
给坐标变换缩放增加偏移量
|
||||
|
||||
- 参数
|
||||
|
||||
| 参数名 | <div style="width: 4em">数据类型</div> | 说明 |
|
||||
| :--- | :--- | :--- |
|
||||
| scale | tuple(float,float,float) | 变换缩放 |
|
||||
|
||||
- 返回值
|
||||
|
||||
无
|
||||
|
||||
|
||||
|
||||
## AddTransform
|
||||
|
||||
<span style="display:inline;color:#7575f9">客户端</span>/<span style="display:inline;color:#ff5555">服务端</span>
|
||||
|
||||
method in Preset.Model.Transform.Transform
|
||||
|
||||
- 描述
|
||||
|
||||
给坐标变换增加偏移量
|
||||
|
||||
- 参数
|
||||
|
||||
| 参数名 | <div style="width: 4em">数据类型</div> | 说明 |
|
||||
| :--- | :--- | :--- |
|
||||
| transform | Transform | 坐标变换 |
|
||||
|
||||
- 返回值
|
||||
|
||||
无
|
||||
|
||||
|
||||
|
||||
## GetMatrix
|
||||
|
||||
<span style="display:inline;color:#7575f9">客户端</span>/<span style="display:inline;color:#ff5555">服务端</span>
|
||||
|
||||
method in Preset.Model.Transform.Transform
|
||||
|
||||
- 描述
|
||||
|
||||
获取坐标变换矩阵
|
||||
|
||||
- 参数
|
||||
|
||||
无
|
||||
|
||||
- 返回值
|
||||
|
||||
| <div style="width: 4em">数据类型</div> | 说明 |
|
||||
| :--- | :--- |
|
||||
| Matrix | 坐标变换矩阵 |
|
||||
|
||||
|
||||
|
||||
@@ -0,0 +1,81 @@
|
||||
---
|
||||
sidebarDepth: 1
|
||||
---
|
||||
# 游戏对象GameObject
|
||||
|
||||
|
||||
|
||||
## 概述
|
||||
|
||||
- 描述
|
||||
|
||||
GameObject(游戏对象)是所有预设对象的基类,即API文档中Preset API - 预设对象下的所有类都继承自GameObject。
|
||||
|
||||
- 成员变量
|
||||
|
||||
| 变量名 | <div style="width: 4em">数据类型</div> | 说明 |
|
||||
| :--- | :--- | :--- |
|
||||
| id | int | 对象ID |
|
||||
| classType | str | 对象类名 |
|
||||
| isClient | bool | 对象运行于客户端还是服务端 |
|
||||
|
||||
|
||||
|
||||
## 索引
|
||||
|
||||
| 接口 | <div style="width: 3em"></div> | 描述 |
|
||||
| --- | --- | --- |
|
||||
| [LoadFile](#loadfile) | <span style="display:inline;color:#7575f9">客户端</span>/<span style="display:inline;color:#ff5555">服务端</span> | 加载指定路径的非python脚本文件内容,如配置文件 |
|
||||
| [fromDict](#fromdict) | <span style="display:inline;color:#7575f9">客户端</span>/<span style="display:inline;color:#ff5555">服务端</span> | 将字典根据classType字段转换为对应类型的对象,该类型必须使用@registerGenericClass装饰 |
|
||||
|
||||
|
||||
|
||||
|
||||
## LoadFile
|
||||
|
||||
<span style="display:inline;color:#7575f9">客户端</span>/<span style="display:inline;color:#ff5555">服务端</span>
|
||||
|
||||
method in Preset.Model.GameObject.GameObject
|
||||
|
||||
- 描述
|
||||
|
||||
加载指定路径的非python脚本文件内容,如配置文件
|
||||
|
||||
- 参数
|
||||
|
||||
| 参数名 | <div style="width: 4em">数据类型</div> | 说明 |
|
||||
| :--- | :--- | :--- |
|
||||
| path | str | 指定相对路径 |
|
||||
|
||||
- 返回值
|
||||
|
||||
| <div style="width: 4em">数据类型</div> | 说明 |
|
||||
| :--- | :--- |
|
||||
| str | 文件内容 |
|
||||
|
||||
|
||||
|
||||
## fromDict
|
||||
|
||||
<span style="display:inline;color:#7575f9">客户端</span>/<span style="display:inline;color:#ff5555">服务端</span>
|
||||
|
||||
method in Preset.Model.GameObject.type
|
||||
|
||||
- 描述
|
||||
|
||||
将字典根据classType字段转换为对应类型的对象,该类型必须使用@registerGenericClass装饰
|
||||
|
||||
- 参数
|
||||
|
||||
| 参数名 | <div style="width: 4em">数据类型</div> | 说明 |
|
||||
| :--- | :--- | :--- |
|
||||
| data | dict | 要转换的字典 |
|
||||
|
||||
- 返回值
|
||||
|
||||
| <div style="width: 4em">数据类型</div> | 说明 |
|
||||
| :--- | :--- |
|
||||
| GameObject或dict | 转换成功返回对象,否则返回字典本身 |
|
||||
|
||||
|
||||
|
||||
@@ -0,0 +1,36 @@
|
||||
---
|
||||
sidebarDepth: 1
|
||||
---
|
||||
# 素材数据BoxData
|
||||
|
||||
|
||||
|
||||
## 概述
|
||||
|
||||
- 继承关系
|
||||
|
||||
```mermaid
|
||||
classDiagram
|
||||
TransformObject <|-- BoxData
|
||||
link TransformObject "../../../../mcguide/20-玩法开发/14-预设玩法编程/13-PresetAPI/%E9%A2%84%E8%AE%BE%E5%AF%B9%E8%B1%A1/%E9%80%9A%E7%94%A8/%E5%8F%98%E6%8D%A2%E5%AF%B9%E8%B1%A1TransformObject.html"
|
||||
GameObject <|-- TransformObject
|
||||
link GameObject "../../../../mcguide/20-玩法开发/14-预设玩法编程/13-PresetAPI/%E9%A2%84%E8%AE%BE%E5%AF%B9%E8%B1%A1/%E9%80%9A%E7%94%A8/%E6%B8%B8%E6%88%8F%E5%AF%B9%E8%B1%A1GameObject.html"
|
||||
BoxData: 素材数据
|
||||
GameObject: 游戏对象
|
||||
GameObject: (点击跳转)
|
||||
TransformObject: 变换对象
|
||||
TransformObject: (点击跳转)
|
||||
```
|
||||
|
||||
- 描述
|
||||
|
||||
BoxData(素材数据)与素材类似,可以挂接在预设下使用。BoxData在编辑器中不会实际生成,可以重叠放置。
|
||||
|
||||
- 成员变量
|
||||
|
||||
| 变量名 | <div style="width: 4em">数据类型</div> | 说明 |
|
||||
| :--- | :--- | :--- |
|
||||
| filePath | str | 素材相对于BoxData目录的相对路径 |
|
||||
|
||||
|
||||
|
||||
@@ -0,0 +1,23 @@
|
||||
---
|
||||
sidebarDepth: 1
|
||||
---
|
||||
# 世界属性零件WorldPart
|
||||
|
||||
|
||||
|
||||
## 概述
|
||||
|
||||
- 描述
|
||||
|
||||
世界属性零件
|
||||
|
||||
- 成员变量
|
||||
|
||||
| 变量名 | <div style="width: 4em">数据类型</div> | 说明 |
|
||||
| :--- | :--- | :--- |
|
||||
| gameMode | int | 游戏模式 |
|
||||
| difficulty | int | 游戏难度 |
|
||||
| cheat | bool | 作弊模式 |
|
||||
|
||||
|
||||
|
||||
@@ -0,0 +1,24 @@
|
||||
---
|
||||
sidebarDepth: 1
|
||||
---
|
||||
# 传送门零件PortalPart
|
||||
|
||||
|
||||
|
||||
## 概述
|
||||
|
||||
- 描述
|
||||
|
||||
传送门零件
|
||||
|
||||
- 成员变量
|
||||
|
||||
| 变量名 | <div style="width: 4em">数据类型</div> | 说明 |
|
||||
| :--- | :--- | :--- |
|
||||
| portalGateType | int | 传送门类型,0表示单向,1表示双向 |
|
||||
| portalGateShape | int | 传送门形状,当前只能是立式方框0 |
|
||||
| portalGateWidth | int | 传送门宽度 |
|
||||
| portalGateHeight | int | 传送门高度 |
|
||||
|
||||
|
||||
|
||||
@@ -0,0 +1,75 @@
|
||||
---
|
||||
sidebarDepth: 1
|
||||
---
|
||||
# 实体零件EntityBasePart
|
||||
|
||||
|
||||
|
||||
## 概述
|
||||
|
||||
- 描述
|
||||
|
||||
实体零件
|
||||
|
||||
- 成员变量
|
||||
|
||||
| 变量名 | <div style="width: 4em">数据类型</div> | 说明 |
|
||||
| :--- | :--- | :--- |
|
||||
| engineType | str | 实体类型 |
|
||||
| autoCreate | bool | 是否在零件初始化时,自动创建关联实体,默认为True |
|
||||
| persistence | bool | 创建的实体是否持久化,默认为False,设为True时,创建完实体会将autoCreate重置为False |
|
||||
|
||||
|
||||
|
||||
## 索引
|
||||
|
||||
| 接口 | <div style="width: 3em"></div> | 描述 |
|
||||
| --- | --- | --- |
|
||||
| [CreateVirtualEntity](#createvirtualentity) | <span style="display:inline;color:#ff5555">服务端</span> | 手动创建关联实体,如果已创建会直接返回 |
|
||||
| [DestroyVirtualEntity](#destroyvirtualentity) | <span style="display:inline;color:#ff5555">服务端</span> | 移除已创建的关联实体,引擎退出时会默认调用 |
|
||||
|
||||
|
||||
|
||||
|
||||
## CreateVirtualEntity
|
||||
|
||||
<span style="display:inline;color:#ff5555">服务端</span>
|
||||
|
||||
method in Preset.Parts.EntityBasePart.EntityBasePart
|
||||
|
||||
- 描述
|
||||
|
||||
手动创建关联实体,如果已创建会直接返回
|
||||
|
||||
- 参数
|
||||
|
||||
无
|
||||
|
||||
- 返回值
|
||||
|
||||
| <div style="width: 4em">数据类型</div> | 说明 |
|
||||
| :--- | :--- |
|
||||
| str | 返回创建的实体ID |
|
||||
|
||||
|
||||
|
||||
## DestroyVirtualEntity
|
||||
|
||||
<span style="display:inline;color:#ff5555">服务端</span>
|
||||
|
||||
method in Preset.Parts.EntityBasePart.EntityBasePart
|
||||
|
||||
- 描述
|
||||
|
||||
移除已创建的关联实体,引擎退出时会默认调用
|
||||
|
||||
- 参数
|
||||
|
||||
无
|
||||
|
||||
- 返回值
|
||||
|
||||
无
|
||||
|
||||
|
||||
|
||||
@@ -0,0 +1,75 @@
|
||||
---
|
||||
sidebarDepth: 1
|
||||
---
|
||||
# 导航路径零件NavPointsPart
|
||||
|
||||
|
||||
|
||||
## 概述
|
||||
|
||||
- 描述
|
||||
|
||||
导航路径零件, 在编辑器内可以选定一系列相对于该零件的坐标点,当零件运行时可以获得这些坐标点的世界坐标列表
|
||||
|
||||
- 成员变量
|
||||
|
||||
| 变量名 | <div style="width: 4em">数据类型</div> | 说明 |
|
||||
| :--- | :--- | :--- |
|
||||
| patrolsPath | list(tuple(float,float,float)) | 路径点列表 |
|
||||
|
||||
|
||||
|
||||
## 索引
|
||||
|
||||
| 接口 | <div style="width: 3em"></div> | 描述 |
|
||||
| --- | --- | --- |
|
||||
| [GetNavigationPoints](#getnavigationpoints) | <span style="display:inline;color:#7575f9">客户端</span>/<span style="display:inline;color:#ff5555">服务端</span> | 获得路径点的世界坐标列表 |
|
||||
| [GetNavigationRadius](#getnavigationradius) | <span style="display:inline;color:#7575f9">客户端</span>/<span style="display:inline;color:#ff5555">服务端</span> | 获得路径点的随机半径列表 |
|
||||
|
||||
|
||||
|
||||
|
||||
## GetNavigationPoints
|
||||
|
||||
<span style="display:inline;color:#7575f9">客户端</span>/<span style="display:inline;color:#ff5555">服务端</span>
|
||||
|
||||
method in Preset.Parts.NavPointsPart.NavPointsPart
|
||||
|
||||
- 描述
|
||||
|
||||
获得路径点的世界坐标列表
|
||||
|
||||
- 参数
|
||||
|
||||
无
|
||||
|
||||
- 返回值
|
||||
|
||||
| <div style="width: 4em">数据类型</div> | 说明 |
|
||||
| :--- | :--- |
|
||||
| list(tuple(float,float,float)) | 路径点的世界坐标列表 |
|
||||
|
||||
|
||||
|
||||
## GetNavigationRadius
|
||||
|
||||
<span style="display:inline;color:#7575f9">客户端</span>/<span style="display:inline;color:#ff5555">服务端</span>
|
||||
|
||||
method in Preset.Parts.NavPointsPart.NavPointsPart
|
||||
|
||||
- 描述
|
||||
|
||||
获得路径点的随机半径列表
|
||||
|
||||
- 参数
|
||||
|
||||
无
|
||||
|
||||
- 返回值
|
||||
|
||||
| <div style="width: 4em">数据类型</div> | 说明 |
|
||||
| :--- | :--- |
|
||||
| list(float) | 路径点的随机半径列表 |
|
||||
|
||||
|
||||
|
||||
@@ -0,0 +1,26 @@
|
||||
---
|
||||
sidebarDepth: 1
|
||||
---
|
||||
# 玩家基础属性零件PlayerBasicPart
|
||||
|
||||
|
||||
|
||||
## 概述
|
||||
|
||||
- 描述
|
||||
|
||||
玩家基础属性零件
|
||||
|
||||
- 成员变量
|
||||
|
||||
| 变量名 | <div style="width: 4em">数据类型</div> | 说明 |
|
||||
| :--- | :--- | :--- |
|
||||
| attackDamage | float | 攻击力 |
|
||||
| healthMax | float | 生命上限 |
|
||||
| disableHunger | bool | 是否锁定饥饿值 |
|
||||
| spawnPos | tuple(float,float,float) | 玩家复活点 |
|
||||
| nameDeeptest | bool | 名字是否透视 |
|
||||
| showName | bool | 是否在头顶显示名字 |
|
||||
|
||||
|
||||
|
||||
@@ -0,0 +1,113 @@
|
||||
---
|
||||
sidebarDepth: 1
|
||||
---
|
||||
# 相机轨迹CameraTrackPart
|
||||
|
||||
|
||||
|
||||
## 概述
|
||||
|
||||
- 描述
|
||||
|
||||
相机轨迹零件
|
||||
|
||||
- 成员变量
|
||||
|
||||
| 变量名 | <div style="width: 4em">数据类型</div> | 说明 |
|
||||
| :--- | :--- | :--- |
|
||||
| track | list(dict) | 路径点列表 |
|
||||
|
||||
|
||||
|
||||
## 索引
|
||||
|
||||
| 接口 | <div style="width: 3em"></div> | 描述 |
|
||||
| --- | --- | --- |
|
||||
| [PlayFromStart](#playfromstart) | <span style="display:inline;color:#7575f9">客户端</span> | 从头开始播放相机运动轨迹 |
|
||||
| [Pause](#pause) | <span style="display:inline;color:#7575f9">客户端</span> | 暂停播放相机轨迹 |
|
||||
| [Continue](#continue) | <span style="display:inline;color:#7575f9">客户端</span> | 继续播放相机轨迹 |
|
||||
| [Stop](#stop) | <span style="display:inline;color:#7575f9">客户端</span> | 停止播放相机轨迹 |
|
||||
|
||||
|
||||
|
||||
|
||||
## PlayFromStart
|
||||
|
||||
<span style="display:inline;color:#7575f9">客户端</span>
|
||||
|
||||
method in Preset.Parts.CameraTrackPart.CameraTrackPart
|
||||
|
||||
- 描述
|
||||
|
||||
从头开始播放相机运动轨迹
|
||||
|
||||
- 参数
|
||||
|
||||
无
|
||||
|
||||
- 返回值
|
||||
|
||||
无
|
||||
|
||||
|
||||
|
||||
## Pause
|
||||
|
||||
<span style="display:inline;color:#7575f9">客户端</span>
|
||||
|
||||
method in Preset.Parts.CameraTrackPart.CameraTrackPart
|
||||
|
||||
- 描述
|
||||
|
||||
暂停播放相机轨迹
|
||||
|
||||
- 参数
|
||||
|
||||
无
|
||||
|
||||
- 返回值
|
||||
|
||||
无
|
||||
|
||||
|
||||
|
||||
## Continue
|
||||
|
||||
<span style="display:inline;color:#7575f9">客户端</span>
|
||||
|
||||
method in Preset.Parts.CameraTrackPart.CameraTrackPart
|
||||
|
||||
- 描述
|
||||
|
||||
继续播放相机轨迹
|
||||
|
||||
- 参数
|
||||
|
||||
无
|
||||
|
||||
- 返回值
|
||||
|
||||
无
|
||||
|
||||
|
||||
|
||||
## Stop
|
||||
|
||||
<span style="display:inline;color:#7575f9">客户端</span>
|
||||
|
||||
method in Preset.Parts.CameraTrackPart.CameraTrackPart
|
||||
|
||||
- 描述
|
||||
|
||||
停止播放相机轨迹
|
||||
|
||||
- 参数
|
||||
|
||||
无
|
||||
|
||||
- 返回值
|
||||
|
||||
无
|
||||
|
||||
|
||||
|
||||
@@ -0,0 +1,53 @@
|
||||
---
|
||||
sidebarDepth: 1
|
||||
---
|
||||
# 触发器零件TriggerPart
|
||||
|
||||
|
||||
|
||||
## 概述
|
||||
|
||||
- 描述
|
||||
|
||||
触发器零件,当实体进入时触发OnTriggerEntityEnter,当实体退出时触发OnTriggerEntityExit,当实体停留时触发OnTriggerEntityStay
|
||||
|
||||
- 成员变量
|
||||
|
||||
| 变量名 | <div style="width: 4em">数据类型</div> | 说明 |
|
||||
| :--- | :--- | :--- |
|
||||
| isTriggerEnter | bool | 是否监听实体进入,默认为True |
|
||||
| isTriggerExit | bool | 是否监听实体退出,默认为True |
|
||||
| isTriggerStay | bool | 是否监听实体进入,默认为False |
|
||||
| support | int | 支持客户端(1)/服务端(2)/双端(3),默认为双端(3) |
|
||||
|
||||
|
||||
|
||||
## 索引
|
||||
|
||||
| 接口 | <div style="width: 3em"></div> | 描述 |
|
||||
| --- | --- | --- |
|
||||
| [GetEntitiesInTrigger](#getentitiesintrigger) | <span style="display:inline;color:#7575f9">客户端</span>/<span style="display:inline;color:#ff5555">服务端</span> | 获取当前在触发器区域的实体列表 |
|
||||
|
||||
|
||||
|
||||
|
||||
## GetEntitiesInTrigger
|
||||
|
||||
<span style="display:inline;color:#7575f9">客户端</span>/<span style="display:inline;color:#ff5555">服务端</span>
|
||||
|
||||
method in Preset.Parts.TriggerPart.TriggerPart
|
||||
|
||||
- 描述
|
||||
|
||||
获取当前在触发器区域的实体列表
|
||||
|
||||
- 参数
|
||||
|
||||
无
|
||||
|
||||
- 返回值
|
||||
|
||||
无
|
||||
|
||||
|
||||
|
||||
1169
mcguide/20-玩法开发/14-预设玩法编程/13-PresetAPI/预设对象/零件/零件PartBase.md
Normal file
1169
mcguide/20-玩法开发/14-预设玩法编程/13-PresetAPI/预设对象/零件/零件PartBase.md
Normal file
File diff suppressed because it is too large
Load Diff
112
mcguide/20-玩法开发/14-预设玩法编程/13-PresetAPI/预设对象/零件/零件事件PartEvent.md
Normal file
112
mcguide/20-玩法开发/14-预设玩法编程/13-PresetAPI/预设对象/零件/零件事件PartEvent.md
Normal file
@@ -0,0 +1,112 @@
|
||||
---
|
||||
sidebarDepth: 1
|
||||
---
|
||||
# 零件事件PartEvent
|
||||
|
||||
## 索引
|
||||
|
||||
| 接口 | <div style="width: 3em"></div> | 描述 |
|
||||
| --- | --- | --- |
|
||||
| [OnTriggerEntityEnter](#ontriggerentityenter) | <span style="display:inline;color:#7575f9">客户端</span>/<span style="display:inline;color:#ff5555">服务端</span> | 触发器范围有实体进入时触发,只适用于TriggerPart |
|
||||
| [OnTriggerEntityExit](#ontriggerentityexit) | <span style="display:inline;color:#7575f9">客户端</span>/<span style="display:inline;color:#ff5555">服务端</span> | 触发器范围有实体离开时触发,只适用于TriggerPart |
|
||||
| [OnTriggerEntityStay](#ontriggerentitystay) | <span style="display:inline;color:#7575f9">客户端</span>/<span style="display:inline;color:#ff5555">服务端</span> | 触发器范围有实体停留时触发,只适用于TriggerPart |
|
||||
|
||||
|
||||
|
||||
|
||||
## OnTriggerEntityEnter
|
||||
|
||||
<span style="display:inline;color:#7575f9">客户端</span>/<span style="display:inline;color:#ff5555">服务端</span>
|
||||
|
||||
method in Preset.Parts.PartEvent
|
||||
|
||||
- 描述
|
||||
|
||||
触发器范围有实体进入时触发,只适用于TriggerPart
|
||||
|
||||
- 参数
|
||||
|
||||
| 参数名 | <div style="width: 4em">数据类型</div> | 说明 |
|
||||
| :--- | :--- | :--- |
|
||||
| TriggerPart | PartBase | 发射事件的触发器零件 |
|
||||
| EnterEntityIds | list(str) | 进入触发器范围的实体ID列表 |
|
||||
|
||||
- 返回值
|
||||
|
||||
无
|
||||
|
||||
- 示例
|
||||
|
||||
```python
|
||||
part = self.GetParent().GetPartByType("TriggerPart")
|
||||
if not part:
|
||||
return
|
||||
self.ListenPartClientEvent(part.id, "OnTriggerEntityEnter", self, self.OnTriggerEntityEnter)
|
||||
```
|
||||
|
||||
|
||||
|
||||
## OnTriggerEntityExit
|
||||
|
||||
<span style="display:inline;color:#7575f9">客户端</span>/<span style="display:inline;color:#ff5555">服务端</span>
|
||||
|
||||
method in Preset.Parts.PartEvent
|
||||
|
||||
- 描述
|
||||
|
||||
触发器范围有实体离开时触发,只适用于TriggerPart
|
||||
|
||||
- 参数
|
||||
|
||||
| 参数名 | <div style="width: 4em">数据类型</div> | 说明 |
|
||||
| :--- | :--- | :--- |
|
||||
| TriggerPart | PartBase | 发射事件的触发器零件 |
|
||||
| ExitEntityIds | list(str) | 离开触发器范围的实体ID列表 |
|
||||
|
||||
- 返回值
|
||||
|
||||
无
|
||||
|
||||
- 示例
|
||||
|
||||
```python
|
||||
part = self.GetParent().GetPartByType("TriggerPart")
|
||||
if not part:
|
||||
return
|
||||
self.ListenPartClientEvent(part.id, "OnTriggerEntityExit", self, self.OnTriggerEntityExit)
|
||||
```
|
||||
|
||||
|
||||
|
||||
## OnTriggerEntityStay
|
||||
|
||||
<span style="display:inline;color:#7575f9">客户端</span>/<span style="display:inline;color:#ff5555">服务端</span>
|
||||
|
||||
method in Preset.Parts.PartEvent
|
||||
|
||||
- 描述
|
||||
|
||||
触发器范围有实体停留时触发,只适用于TriggerPart
|
||||
|
||||
- 参数
|
||||
|
||||
| 参数名 | <div style="width: 4em">数据类型</div> | 说明 |
|
||||
| :--- | :--- | :--- |
|
||||
| TriggerPart | PartBase | 发射事件的触发器零件 |
|
||||
| StayEntityIds | list(str) | 停留在触发器范围的实体ID列表 |
|
||||
|
||||
- 返回值
|
||||
|
||||
无
|
||||
|
||||
- 示例
|
||||
|
||||
```python
|
||||
part = self.GetParent().GetPartByType("TriggerPart")
|
||||
if not part:
|
||||
return
|
||||
self.ListenPartClientEvent(part.id, "OnTriggerEntityStay", self, self.OnTriggerEntityStay)
|
||||
```
|
||||
|
||||
|
||||
|
||||
2843
mcguide/20-玩法开发/14-预设玩法编程/13-PresetAPI/预设对象/预设/实体对象EntityObject.md
Normal file
2843
mcguide/20-玩法开发/14-预设玩法编程/13-PresetAPI/预设对象/预设/实体对象EntityObject.md
Normal file
File diff suppressed because it is too large
Load Diff
@@ -0,0 +1,50 @@
|
||||
---
|
||||
sidebarDepth: 1
|
||||
---
|
||||
# 实体预设EntityPreset
|
||||
|
||||
|
||||
|
||||
## 概述
|
||||
|
||||
- 继承关系
|
||||
|
||||
```mermaid
|
||||
classDiagram
|
||||
PresetBase <|-- EntityPreset
|
||||
link PresetBase "../../../../mcguide/20-玩法开发/14-预设玩法编程/13-PresetAPI/%E9%A2%84%E8%AE%BE%E5%AF%B9%E8%B1%A1/%E9%A2%84%E8%AE%BE/%E9%A2%84%E8%AE%BE%E5%9F%BA%E7%B1%BBPresetBase.html"
|
||||
EntityObject <|-- EntityPreset
|
||||
link EntityObject "../../../../mcguide/20-玩法开发/14-预设玩法编程/13-PresetAPI/%E9%A2%84%E8%AE%BE%E5%AF%B9%E8%B1%A1/%E9%A2%84%E8%AE%BE/%E5%AE%9E%E4%BD%93%E5%AF%B9%E8%B1%A1EntityObject.html"
|
||||
SdkInterface <|-- PresetBase
|
||||
link SdkInterface "../../../../mcguide/20-玩法开发/14-预设玩法编程/13-PresetAPI/%E9%A2%84%E8%AE%BE%E5%AF%B9%E8%B1%A1/%E9%80%9A%E7%94%A8/SDK%E6%8E%A5%E5%8F%A3%E5%B0%81%E8%A3%85SdkInterface.html"
|
||||
TransformObject <|-- PresetBase
|
||||
link TransformObject "../../../../mcguide/20-玩法开发/14-预设玩法编程/13-PresetAPI/%E9%A2%84%E8%AE%BE%E5%AF%B9%E8%B1%A1/%E9%80%9A%E7%94%A8/%E5%8F%98%E6%8D%A2%E5%AF%B9%E8%B1%A1TransformObject.html"
|
||||
GameObject <|-- TransformObject
|
||||
link GameObject "../../../../mcguide/20-玩法开发/14-预设玩法编程/13-PresetAPI/%E9%A2%84%E8%AE%BE%E5%AF%B9%E8%B1%A1/%E9%80%9A%E7%94%A8/%E6%B8%B8%E6%88%8F%E5%AF%B9%E8%B1%A1GameObject.html"
|
||||
EntityPreset: 实体预设
|
||||
EntityObject: 实体对象
|
||||
EntityObject: (点击跳转)
|
||||
PresetBase: 预设基类
|
||||
PresetBase: (点击跳转)
|
||||
GameObject: 游戏对象
|
||||
GameObject: (点击跳转)
|
||||
TransformObject: 变换对象
|
||||
TransformObject: (点击跳转)
|
||||
SdkInterface: SDK接口封装
|
||||
SdkInterface: (点击跳转)
|
||||
```
|
||||
|
||||
- 描述
|
||||
|
||||
EntityPreset(实体预设)是一类特殊的预设,实体预设通常会绑定MC的某类实体,实体预设实例与MC的某一个实体绑定,因此可以使用实体预设来进行一些实体相关的逻辑的编程。如果玩家同时启用了多个AddOn,且这些AddOn中均包含与同一种MC原版实体绑定的实体预设,那么只会加载第一个这种实体预设。
|
||||
|
||||
- 成员变量
|
||||
|
||||
| 变量名 | <div style="width: 4em">数据类型</div> | 说明 |
|
||||
| :--- | :--- | :--- |
|
||||
| engineTypeStr | str | 实体的类型ID |
|
||||
| entityId | str | 实体ID |
|
||||
| updateTransformInterval | int | 实体预设子节点的变换更新间隔,0表示永不更新 |
|
||||
|
||||
|
||||
|
||||
@@ -0,0 +1,321 @@
|
||||
---
|
||||
sidebarDepth: 1
|
||||
---
|
||||
# 文字面板对象TextboardObject
|
||||
|
||||
|
||||
|
||||
## 概述
|
||||
|
||||
- 继承关系
|
||||
|
||||
```mermaid
|
||||
classDiagram
|
||||
SdkInterface <|-- TextboardObject
|
||||
link SdkInterface "../../../../mcguide/20-玩法开发/14-预设玩法编程/13-PresetAPI/%E9%A2%84%E8%AE%BE%E5%AF%B9%E8%B1%A1/%E9%80%9A%E7%94%A8/SDK%E6%8E%A5%E5%8F%A3%E5%B0%81%E8%A3%85SdkInterface.html"
|
||||
TextboardObject: 文字面板对象
|
||||
SdkInterface: SDK接口封装
|
||||
SdkInterface: (点击跳转)
|
||||
```
|
||||
|
||||
- 描述
|
||||
|
||||
TextboardObject(文字面板对象)是对文字面板对象封装的基类,为文字面板提供了面向对象方法
|
||||
|
||||
- 成员变量
|
||||
|
||||
| 变量名 | <div style="width: 4em">数据类型</div> | 说明 |
|
||||
| :--- | :--- | :--- |
|
||||
| textboardId | int | 关联文字面板ID |
|
||||
|
||||
|
||||
|
||||
## 索引
|
||||
|
||||
| 接口 | <div style="width: 3em"></div> | 描述 |
|
||||
| --- | --- | --- |
|
||||
| [SetBindEntity](#setbindentity) | <span style="display:inline;color:#7575f9">客户端</span> | 文字面板绑定实体对象 |
|
||||
| [SetPos](#setpos) | <span style="display:inline;color:#7575f9">客户端</span> | 修改文字面板预设位置 |
|
||||
| [SetRot](#setrot) | <span style="display:inline;color:#7575f9">客户端</span> | 修改旋转角度, 若设置了文本朝向相机,则旋转角度的修改不会生效 |
|
||||
| [SetScale](#setscale) | <span style="display:inline;color:#7575f9">客户端</span> | 内容整体缩放 |
|
||||
| [SetText](#settext) | <span style="display:inline;color:#7575f9">客户端</span> | 修改文字面板内容 |
|
||||
| [SetColor](#setcolor) | <span style="display:inline;color:#7575f9">客户端</span> | 修改字体颜色 |
|
||||
| [SetBackgroundColor](#setbackgroundcolor) | <span style="display:inline;color:#7575f9">客户端</span> | 修改背景颜色 |
|
||||
| [SetFaceCamera](#setfacecamera) | <span style="display:inline;color:#7575f9">客户端</span> | 设置是否始终朝向相机 |
|
||||
| [SetBoardDepthTest](#setboarddepthtest) | <span style="display:inline;color:#7575f9">客户端</span> | 设置是否开启深度测试, 默认状态下是开启 |
|
||||
|
||||
|
||||
|
||||
|
||||
## SetBindEntity
|
||||
|
||||
<span style="display:inline;color:#7575f9">客户端</span>
|
||||
|
||||
method in Preset.Model.Textboard.TextboardObject.TextboardObject
|
||||
|
||||
- 描述
|
||||
|
||||
文字面板绑定实体对象
|
||||
|
||||
- 参数
|
||||
|
||||
| 参数名 | <div style="width: 4em">数据类型</div> | 说明 |
|
||||
| :--- | :--- | :--- |
|
||||
| bindEntityId | str | 绑定entity的Id; 如果为None,则为取消实体绑定, 此时下面参数为世界坐标和旋转 |
|
||||
| offset | tuple(float,float,float) | 相对于实体的偏移量 |
|
||||
| rot | tuple(float,float,float) | 相对于实体的偏移角度 |
|
||||
|
||||
- 返回值
|
||||
|
||||
| <div style="width: 4em">数据类型</div> | 说明 |
|
||||
| :--- | :--- |
|
||||
| bool | 返回是否设置成功 |
|
||||
|
||||
- 示例
|
||||
|
||||
```python
|
||||
self.SetBindEntity(self.GetLocalPlayerId(), (0.0, 1.5, 0.0), (0.0, 0.0, 0.0))
|
||||
```
|
||||
|
||||
|
||||
|
||||
## SetPos
|
||||
|
||||
<span style="display:inline;color:#7575f9">客户端</span>
|
||||
|
||||
method in Preset.Model.Textboard.TextboardObject.TextboardObject
|
||||
|
||||
- 描述
|
||||
|
||||
修改文字面板预设位置
|
||||
|
||||
- 参数
|
||||
|
||||
| 参数名 | <div style="width: 4em">数据类型</div> | 说明 |
|
||||
| :--- | :--- | :--- |
|
||||
| pos | tuple(float,float,float) | 坐标 |
|
||||
|
||||
- 返回值
|
||||
|
||||
| <div style="width: 4em">数据类型</div> | 说明 |
|
||||
| :--- | :--- |
|
||||
| bool | 返回是否设置成功 |
|
||||
|
||||
- 示例
|
||||
|
||||
```python
|
||||
self.SetPos((0.0, 3.0, 0.0))
|
||||
```
|
||||
|
||||
|
||||
|
||||
## SetRot
|
||||
|
||||
<span style="display:inline;color:#7575f9">客户端</span>
|
||||
|
||||
method in Preset.Model.Textboard.TextboardObject.TextboardObject
|
||||
|
||||
- 描述
|
||||
|
||||
修改旋转角度, 若设置了文本朝向相机,则旋转角度的修改不会生效
|
||||
|
||||
- 参数
|
||||
|
||||
| 参数名 | <div style="width: 4em">数据类型</div> | 说明 |
|
||||
| :--- | :--- | :--- |
|
||||
| rot | tuple(float,float,float) | 角度(不是弧度) |
|
||||
|
||||
- 返回值
|
||||
|
||||
| <div style="width: 4em">数据类型</div> | 说明 |
|
||||
| :--- | :--- |
|
||||
| bool | 返回是否设置成功 |
|
||||
|
||||
- 示例
|
||||
|
||||
```python
|
||||
self.SetRot((45.0, 90.0, 0.0))
|
||||
```
|
||||
|
||||
|
||||
|
||||
## SetScale
|
||||
|
||||
<span style="display:inline;color:#7575f9">客户端</span>
|
||||
|
||||
method in Preset.Model.Textboard.TextboardObject.TextboardObject
|
||||
|
||||
- 描述
|
||||
|
||||
内容整体缩放
|
||||
|
||||
- 参数
|
||||
|
||||
| 参数名 | <div style="width: 4em">数据类型</div> | 说明 |
|
||||
| :--- | :--- | :--- |
|
||||
| scale | tuple(float,float) | x,y方向上的缩放值,要求值大于0,正常状态下是(1.0,1.0) |
|
||||
|
||||
- 返回值
|
||||
|
||||
| <div style="width: 4em">数据类型</div> | 说明 |
|
||||
| :--- | :--- |
|
||||
| bool | 返回是否设置成功 |
|
||||
|
||||
- 示例
|
||||
|
||||
```python
|
||||
self.SetScale((2.0, 2.0))
|
||||
```
|
||||
|
||||
|
||||
|
||||
## SetText
|
||||
|
||||
<span style="display:inline;color:#7575f9">客户端</span>
|
||||
|
||||
method in Preset.Model.Textboard.TextboardObject.TextboardObject
|
||||
|
||||
- 描述
|
||||
|
||||
修改文字面板内容
|
||||
|
||||
- 参数
|
||||
|
||||
| 参数名 | <div style="width: 4em">数据类型</div> | 说明 |
|
||||
| :--- | :--- | :--- |
|
||||
| text | str | 文字内容 |
|
||||
|
||||
- 返回值
|
||||
|
||||
| <div style="width: 4em">数据类型</div> | 说明 |
|
||||
| :--- | :--- |
|
||||
| bool | 是否修改成功 |
|
||||
|
||||
- 示例
|
||||
|
||||
```python
|
||||
self.SetText("修改后的文字")
|
||||
```
|
||||
|
||||
|
||||
|
||||
## SetColor
|
||||
|
||||
<span style="display:inline;color:#7575f9">客户端</span>
|
||||
|
||||
method in Preset.Model.Textboard.TextboardObject.TextboardObject
|
||||
|
||||
- 描述
|
||||
|
||||
修改字体颜色
|
||||
|
||||
- 参数
|
||||
|
||||
| 参数名 | <div style="width: 4em">数据类型</div> | 说明 |
|
||||
| :--- | :--- | :--- |
|
||||
| textColor | tuple(float,float,float,float) | 颜色的RGBA值,范围0-1 |
|
||||
|
||||
- 返回值
|
||||
|
||||
| <div style="width: 4em">数据类型</div> | 说明 |
|
||||
| :--- | :--- |
|
||||
| bool | 返回是否设置成功 |
|
||||
|
||||
- 示例
|
||||
|
||||
```python
|
||||
self.SetColor((1.0, 1.0, 0.0, 0.8))
|
||||
```
|
||||
|
||||
|
||||
|
||||
## SetBackgroundColor
|
||||
|
||||
<span style="display:inline;color:#7575f9">客户端</span>
|
||||
|
||||
method in Preset.Model.Textboard.TextboardObject.TextboardObject
|
||||
|
||||
- 描述
|
||||
|
||||
修改背景颜色
|
||||
|
||||
- 参数
|
||||
|
||||
| 参数名 | <div style="width: 4em">数据类型</div> | 说明 |
|
||||
| :--- | :--- | :--- |
|
||||
| backgroundColor | tuple(float,float,float,float) | 颜色的RGBA值,范围0-1 |
|
||||
|
||||
- 返回值
|
||||
|
||||
| <div style="width: 4em">数据类型</div> | 说明 |
|
||||
| :--- | :--- |
|
||||
| bool | 返回是否设置成功 |
|
||||
|
||||
- 示例
|
||||
|
||||
```python
|
||||
self.SetBackgroundColor((1.0, 1.0, 1.0, 1.0))
|
||||
```
|
||||
|
||||
|
||||
|
||||
## SetFaceCamera
|
||||
|
||||
<span style="display:inline;color:#7575f9">客户端</span>
|
||||
|
||||
method in Preset.Model.Textboard.TextboardObject.TextboardObject
|
||||
|
||||
- 描述
|
||||
|
||||
设置是否始终朝向相机
|
||||
|
||||
- 参数
|
||||
|
||||
| 参数名 | <div style="width: 4em">数据类型</div> | 说明 |
|
||||
| :--- | :--- | :--- |
|
||||
| faceCamera | bool | 是否始终朝向相机, 默认为True |
|
||||
|
||||
- 返回值
|
||||
|
||||
| <div style="width: 4em">数据类型</div> | 说明 |
|
||||
| :--- | :--- |
|
||||
| bool | 返回是否设置成功 |
|
||||
|
||||
- 示例
|
||||
|
||||
```python
|
||||
self.SetFaceCamera(True)
|
||||
```
|
||||
|
||||
|
||||
|
||||
## SetBoardDepthTest
|
||||
|
||||
<span style="display:inline;color:#7575f9">客户端</span>
|
||||
|
||||
method in Preset.Model.Textboard.TextboardObject.TextboardObject
|
||||
|
||||
- 描述
|
||||
|
||||
设置是否开启深度测试, 默认状态下是开启
|
||||
|
||||
- 参数
|
||||
|
||||
| 参数名 | <div style="width: 4em">数据类型</div> | 说明 |
|
||||
| :--- | :--- | :--- |
|
||||
| depthTest | bool | True为开启深度测试,False为不开启 |
|
||||
|
||||
- 返回值
|
||||
|
||||
| <div style="width: 4em">数据类型</div> | 说明 |
|
||||
| :--- | :--- |
|
||||
| bool | 返回是否设置成功 |
|
||||
|
||||
- 示例
|
||||
|
||||
```python
|
||||
self.SetBoardDepthTest(False)
|
||||
```
|
||||
|
||||
|
||||
|
||||
@@ -0,0 +1,46 @@
|
||||
---
|
||||
sidebarDepth: 1
|
||||
---
|
||||
# 文字面板预设TextboardPreset
|
||||
|
||||
|
||||
|
||||
## 概述
|
||||
|
||||
- 继承关系
|
||||
|
||||
```mermaid
|
||||
classDiagram
|
||||
PresetBase <|-- TextboardPreset
|
||||
link PresetBase "../../../../mcguide/20-玩法开发/14-预设玩法编程/13-PresetAPI/%E9%A2%84%E8%AE%BE%E5%AF%B9%E8%B1%A1/%E9%A2%84%E8%AE%BE/%E9%A2%84%E8%AE%BE%E5%9F%BA%E7%B1%BBPresetBase.html"
|
||||
TextboardObject <|-- TextboardPreset
|
||||
link TextboardObject "../../../../mcguide/20-玩法开发/14-预设玩法编程/13-PresetAPI/%E9%A2%84%E8%AE%BE%E5%AF%B9%E8%B1%A1/%E9%A2%84%E8%AE%BE/%E6%96%87%E5%AD%97%E9%9D%A2%E6%9D%BF%E5%AF%B9%E8%B1%A1TextboardObject.html"
|
||||
SdkInterface <|-- PresetBase
|
||||
link SdkInterface "../../../../mcguide/20-玩法开发/14-预设玩法编程/13-PresetAPI/%E9%A2%84%E8%AE%BE%E5%AF%B9%E8%B1%A1/%E9%80%9A%E7%94%A8/SDK%E6%8E%A5%E5%8F%A3%E5%B0%81%E8%A3%85SdkInterface.html"
|
||||
TransformObject <|-- PresetBase
|
||||
link TransformObject "../../../../mcguide/20-玩法开发/14-预设玩法编程/13-PresetAPI/%E9%A2%84%E8%AE%BE%E5%AF%B9%E8%B1%A1/%E9%80%9A%E7%94%A8/%E5%8F%98%E6%8D%A2%E5%AF%B9%E8%B1%A1TransformObject.html"
|
||||
GameObject <|-- TransformObject
|
||||
link GameObject "../../../../mcguide/20-玩法开发/14-预设玩法编程/13-PresetAPI/%E9%A2%84%E8%AE%BE%E5%AF%B9%E8%B1%A1/%E9%80%9A%E7%94%A8/%E6%B8%B8%E6%88%8F%E5%AF%B9%E8%B1%A1GameObject.html"
|
||||
TextboardPreset: 文字面板预设
|
||||
TextboardObject: 文字面板对象
|
||||
TextboardObject: (点击跳转)
|
||||
PresetBase: 预设基类
|
||||
PresetBase: (点击跳转)
|
||||
GameObject: 游戏对象
|
||||
GameObject: (点击跳转)
|
||||
TransformObject: 变换对象
|
||||
TransformObject: (点击跳转)
|
||||
SdkInterface: SDK接口封装
|
||||
SdkInterface: (点击跳转)
|
||||
```
|
||||
|
||||
- 描述
|
||||
|
||||
TextboardPreset(文字面板预设)与文字面板实体绑定,以面向对象的形式提供文字面板相关属性修改接口。
|
||||
|
||||
- 成员变量
|
||||
|
||||
无
|
||||
|
||||
|
||||
|
||||
@@ -0,0 +1,77 @@
|
||||
---
|
||||
sidebarDepth: 1
|
||||
---
|
||||
# 方块预设BlockPreset
|
||||
|
||||
|
||||
|
||||
## 概述
|
||||
|
||||
- 继承关系
|
||||
|
||||
```mermaid
|
||||
classDiagram
|
||||
PresetBase <|-- BlockPreset
|
||||
link PresetBase "../../../../mcguide/20-玩法开发/14-预设玩法编程/13-PresetAPI/%E9%A2%84%E8%AE%BE%E5%AF%B9%E8%B1%A1/%E9%A2%84%E8%AE%BE/%E9%A2%84%E8%AE%BE%E5%9F%BA%E7%B1%BBPresetBase.html"
|
||||
SdkInterface <|-- PresetBase
|
||||
link SdkInterface "../../../../mcguide/20-玩法开发/14-预设玩法编程/13-PresetAPI/%E9%A2%84%E8%AE%BE%E5%AF%B9%E8%B1%A1/%E9%80%9A%E7%94%A8/SDK%E6%8E%A5%E5%8F%A3%E5%B0%81%E8%A3%85SdkInterface.html"
|
||||
TransformObject <|-- PresetBase
|
||||
link TransformObject "../../../../mcguide/20-玩法开发/14-预设玩法编程/13-PresetAPI/%E9%A2%84%E8%AE%BE%E5%AF%B9%E8%B1%A1/%E9%80%9A%E7%94%A8/%E5%8F%98%E6%8D%A2%E5%AF%B9%E8%B1%A1TransformObject.html"
|
||||
GameObject <|-- TransformObject
|
||||
link GameObject "../../../../mcguide/20-玩法开发/14-预设玩法编程/13-PresetAPI/%E9%A2%84%E8%AE%BE%E5%AF%B9%E8%B1%A1/%E9%80%9A%E7%94%A8/%E6%B8%B8%E6%88%8F%E5%AF%B9%E8%B1%A1GameObject.html"
|
||||
BlockPreset: 方块预设
|
||||
SdkInterface: SDK接口封装
|
||||
SdkInterface: (点击跳转)
|
||||
PresetBase: 预设基类
|
||||
PresetBase: (点击跳转)
|
||||
TransformObject: 变换对象
|
||||
TransformObject: (点击跳转)
|
||||
GameObject: 游戏对象
|
||||
GameObject: (点击跳转)
|
||||
```
|
||||
|
||||
- 描述
|
||||
|
||||
BlockPreset(方块预设)是一类绑定方块的预设。由于MC的方块数量巨大,将方块预设与MC的原生方块绑定,尤其是地图中常见的原生方块可能对性能造成重大影响。
|
||||
|
||||
- 成员变量
|
||||
|
||||
| 变量名 | <div style="width: 4em">数据类型</div> | 说明 |
|
||||
| :--- | :--- | :--- |
|
||||
| engineTypeStr | str | 方块类型ID |
|
||||
| blockId | str | 方块类型数字ID |
|
||||
| auxValue | int | 附加值 |
|
||||
|
||||
|
||||
|
||||
## 索引
|
||||
|
||||
| 接口 | <div style="width: 3em"></div> | 描述 |
|
||||
| --- | --- | --- |
|
||||
| [GetEngineTypeStr](#getenginetypestr) | <span style="display:inline;color:#7575f9">客户端</span>/<span style="display:inline;color:#ff5555">服务端</span> | 获取方块预设的方块类型ID |
|
||||
|
||||
|
||||
|
||||
|
||||
## GetEngineTypeStr
|
||||
|
||||
<span style="display:inline;color:#7575f9">客户端</span>/<span style="display:inline;color:#ff5555">服务端</span>
|
||||
|
||||
method in Preset.Model.Block.BlockPreset.BlockPreset
|
||||
|
||||
- 描述
|
||||
|
||||
获取方块预设的方块类型ID
|
||||
|
||||
- 参数
|
||||
|
||||
无
|
||||
|
||||
- 返回值
|
||||
|
||||
| <div style="width: 4em">数据类型</div> | 说明 |
|
||||
| :--- | :--- |
|
||||
| str | 方块类型ID |
|
||||
|
||||
|
||||
|
||||
@@ -0,0 +1,246 @@
|
||||
---
|
||||
sidebarDepth: 1
|
||||
---
|
||||
# 特效对象EffectObject
|
||||
|
||||
|
||||
|
||||
## 概述
|
||||
|
||||
- 继承关系
|
||||
|
||||
```mermaid
|
||||
classDiagram
|
||||
SdkInterface <|-- EffectObject
|
||||
link SdkInterface "../../../../mcguide/20-玩法开发/14-预设玩法编程/13-PresetAPI/%E9%A2%84%E8%AE%BE%E5%AF%B9%E8%B1%A1/%E9%80%9A%E7%94%A8/SDK%E6%8E%A5%E5%8F%A3%E5%B0%81%E8%A3%85SdkInterface.html"
|
||||
EffectObject: 特效对象
|
||||
SdkInterface: SDK接口封装
|
||||
SdkInterface: (点击跳转)
|
||||
```
|
||||
|
||||
- 描述
|
||||
|
||||
EffectObject(特效对象)是对特效对象封装的基类,它为特效提供了面向对象的使用方式。
|
||||
|
||||
- 成员变量
|
||||
|
||||
| 变量名 | <div style="width: 4em">数据类型</div> | 说明 |
|
||||
| :--- | :--- | :--- |
|
||||
| effectId | int | 关联特效ID |
|
||||
| effectType | str | 关联特效类型,frame/particle |
|
||||
|
||||
|
||||
|
||||
## 索引
|
||||
|
||||
| 接口 | <div style="width: 3em"></div> | 描述 |
|
||||
| --- | --- | --- |
|
||||
| [Play](#play) | <span style="display:inline;color:#7575f9">客户端</span> | 播放特效,仅客户端有效 |
|
||||
| [Stop](#stop) | <span style="display:inline;color:#7575f9">客户端</span> | 停止播放特效,仅客户端有效 |
|
||||
| [BindToEntity](#bindtoentity) | <span style="display:inline;color:#7575f9">客户端</span> | 绑定到实体 |
|
||||
| [BindToSkeleton](#bindtoskeleton) | <span style="display:inline;color:#7575f9">客户端</span> | 绑定骨骼模型 |
|
||||
| [SetLoop](#setloop) | <span style="display:inline;color:#7575f9">客户端</span> | 设置特效是否循环播放,默认为否,仅对序列帧有效 |
|
||||
| [SetDeepTest](#setdeeptest) | <span style="display:inline;color:#7575f9">客户端</span> | 设置序列帧是否透视,默认为否 |
|
||||
| [SetFaceCamera](#setfacecamera) | <span style="display:inline;color:#7575f9">客户端</span> | 设置序列帧是否始终朝向摄像机,默认为是 |
|
||||
|
||||
|
||||
|
||||
|
||||
## Play
|
||||
|
||||
<span style="display:inline;color:#7575f9">客户端</span>
|
||||
|
||||
method in Preset.Model.Effect.EffectObject.EffectObject
|
||||
|
||||
- 描述
|
||||
|
||||
播放特效,仅客户端有效
|
||||
|
||||
- 参数
|
||||
|
||||
无
|
||||
|
||||
- 返回值
|
||||
|
||||
无
|
||||
|
||||
|
||||
|
||||
## Stop
|
||||
|
||||
<span style="display:inline;color:#7575f9">客户端</span>
|
||||
|
||||
method in Preset.Model.Effect.EffectObject.EffectObject
|
||||
|
||||
- 描述
|
||||
|
||||
停止播放特效,仅客户端有效
|
||||
|
||||
- 参数
|
||||
|
||||
无
|
||||
|
||||
- 返回值
|
||||
|
||||
无
|
||||
|
||||
|
||||
|
||||
## BindToEntity
|
||||
|
||||
<span style="display:inline;color:#7575f9">客户端</span>
|
||||
|
||||
method in Preset.Model.Effect.EffectObject.EffectObject
|
||||
|
||||
- 描述
|
||||
|
||||
绑定到实体
|
||||
|
||||
- 参数
|
||||
|
||||
| 参数名 | <div style="width: 4em">数据类型</div> | 说明 |
|
||||
| :--- | :--- | :--- |
|
||||
| bindEntityId | str | 绑定的实体ID |
|
||||
| offset | tuple(float,float,float) | 绑定的偏移量 |
|
||||
| rot | tuple(float,float,float) | 绑定的旋转角度 |
|
||||
|
||||
- 返回值
|
||||
|
||||
| <div style="width: 4em">数据类型</div> | 说明 |
|
||||
| :--- | :--- |
|
||||
| bool | 设置是否成功 |
|
||||
|
||||
- 示例
|
||||
|
||||
```python
|
||||
self.BindToEntity(entityId, (0, 1, 0), (0, 0, 0))
|
||||
```
|
||||
|
||||
|
||||
|
||||
## BindToSkeleton
|
||||
|
||||
<span style="display:inline;color:#7575f9">客户端</span>
|
||||
|
||||
method in Preset.Model.Effect.EffectObject.EffectObject
|
||||
|
||||
- 描述
|
||||
|
||||
绑定骨骼模型
|
||||
|
||||
- 参数
|
||||
|
||||
| 参数名 | <div style="width: 4em">数据类型</div> | 说明 |
|
||||
| :--- | :--- | :--- |
|
||||
| modelId | int | 绑定的骨骼模型的ID(见model组件的GetModelId) |
|
||||
| boneName | str | 绑定具体骨骼的名称 |
|
||||
| offset | tuple(float,float,float) | 绑定的偏移量 |
|
||||
| rot | tuple(float,float,float) | 绑定的旋转角度 |
|
||||
|
||||
- 返回值
|
||||
|
||||
| <div style="width: 4em">数据类型</div> | 说明 |
|
||||
| :--- | :--- |
|
||||
| bool | 设置是否成功 |
|
||||
|
||||
- 示例
|
||||
|
||||
```python
|
||||
self.BindToSkeleton(modelId, "root", (0, 1, 0), (0, 0, 0))
|
||||
```
|
||||
|
||||
|
||||
|
||||
## SetLoop
|
||||
|
||||
<span style="display:inline;color:#7575f9">客户端</span>
|
||||
|
||||
method in Preset.Model.Effect.EffectObject.EffectObject
|
||||
|
||||
- 描述
|
||||
|
||||
设置特效是否循环播放,默认为否,仅对序列帧有效
|
||||
|
||||
- 参数
|
||||
|
||||
| 参数名 | <div style="width: 4em">数据类型</div> | 说明 |
|
||||
| :--- | :--- | :--- |
|
||||
| loop | bool | True表示循环播放 |
|
||||
|
||||
- 返回值
|
||||
|
||||
| <div style="width: 4em">数据类型</div> | 说明 |
|
||||
| :--- | :--- |
|
||||
| bool | 设置是否成功 |
|
||||
|
||||
- 示例
|
||||
|
||||
```python
|
||||
# 设置为循环播放
|
||||
self.SetLoop(True)
|
||||
```
|
||||
|
||||
|
||||
|
||||
## SetDeepTest
|
||||
|
||||
<span style="display:inline;color:#7575f9">客户端</span>
|
||||
|
||||
method in Preset.Model.Effect.EffectObject.EffectObject
|
||||
|
||||
- 描述
|
||||
|
||||
设置序列帧是否透视,默认为否
|
||||
|
||||
- 参数
|
||||
|
||||
| 参数名 | <div style="width: 4em">数据类型</div> | 说明 |
|
||||
| :--- | :--- | :--- |
|
||||
| deepTest | bool | False表示透视,则被物体/方块阻挡时仍然能看到序列帧 |
|
||||
|
||||
- 返回值
|
||||
|
||||
| <div style="width: 4em">数据类型</div> | 说明 |
|
||||
| :--- | :--- |
|
||||
| bool | 设置是否成功 |
|
||||
|
||||
- 示例
|
||||
|
||||
```python
|
||||
# 设置为透视
|
||||
self.SetDeepTest(False)
|
||||
```
|
||||
|
||||
|
||||
|
||||
## SetFaceCamera
|
||||
|
||||
<span style="display:inline;color:#7575f9">客户端</span>
|
||||
|
||||
method in Preset.Model.Effect.EffectObject.EffectObject
|
||||
|
||||
- 描述
|
||||
|
||||
设置序列帧是否始终朝向摄像机,默认为是
|
||||
|
||||
- 参数
|
||||
|
||||
| 参数名 | <div style="width: 4em">数据类型</div> | 说明 |
|
||||
| :--- | :--- | :--- |
|
||||
| face | bool | True表示朝摄像机 |
|
||||
|
||||
- 返回值
|
||||
|
||||
| <div style="width: 4em">数据类型</div> | 说明 |
|
||||
| :--- | :--- |
|
||||
| bool | 设置是否成功 |
|
||||
|
||||
- 示例
|
||||
|
||||
```python
|
||||
# 设置为不始终朝摄像机
|
||||
self.SetFaceCamera(False)
|
||||
```
|
||||
|
||||
|
||||
|
||||
@@ -0,0 +1,105 @@
|
||||
---
|
||||
sidebarDepth: 1
|
||||
---
|
||||
# 特效预设EffectPreset
|
||||
|
||||
|
||||
|
||||
## 概述
|
||||
|
||||
- 继承关系
|
||||
|
||||
```mermaid
|
||||
classDiagram
|
||||
PresetBase <|-- EffectPreset
|
||||
link PresetBase "../../../../mcguide/20-玩法开发/14-预设玩法编程/13-PresetAPI/%E9%A2%84%E8%AE%BE%E5%AF%B9%E8%B1%A1/%E9%A2%84%E8%AE%BE/%E9%A2%84%E8%AE%BE%E5%9F%BA%E7%B1%BBPresetBase.html"
|
||||
EffectObject <|-- EffectPreset
|
||||
link EffectObject "../../../../mcguide/20-玩法开发/14-预设玩法编程/13-PresetAPI/%E9%A2%84%E8%AE%BE%E5%AF%B9%E8%B1%A1/%E9%A2%84%E8%AE%BE/%E7%89%B9%E6%95%88%E5%AF%B9%E8%B1%A1EffectObject.html"
|
||||
SdkInterface <|-- PresetBase
|
||||
link SdkInterface "../../../../mcguide/20-玩法开发/14-预设玩法编程/13-PresetAPI/%E9%A2%84%E8%AE%BE%E5%AF%B9%E8%B1%A1/%E9%80%9A%E7%94%A8/SDK%E6%8E%A5%E5%8F%A3%E5%B0%81%E8%A3%85SdkInterface.html"
|
||||
TransformObject <|-- PresetBase
|
||||
link TransformObject "../../../../mcguide/20-玩法开发/14-预设玩法编程/13-PresetAPI/%E9%A2%84%E8%AE%BE%E5%AF%B9%E8%B1%A1/%E9%80%9A%E7%94%A8/%E5%8F%98%E6%8D%A2%E5%AF%B9%E8%B1%A1TransformObject.html"
|
||||
GameObject <|-- TransformObject
|
||||
link GameObject "../../../../mcguide/20-玩法开发/14-预设玩法编程/13-PresetAPI/%E9%A2%84%E8%AE%BE%E5%AF%B9%E8%B1%A1/%E9%80%9A%E7%94%A8/%E6%B8%B8%E6%88%8F%E5%AF%B9%E8%B1%A1GameObject.html"
|
||||
EffectPreset: 特效预设
|
||||
SdkInterface: SDK接口封装
|
||||
SdkInterface: (点击跳转)
|
||||
PresetBase: 预设基类
|
||||
PresetBase: (点击跳转)
|
||||
TransformObject: 变换对象
|
||||
TransformObject: (点击跳转)
|
||||
EffectObject: 特效对象
|
||||
EffectObject: (点击跳转)
|
||||
GameObject: 游戏对象
|
||||
GameObject: (点击跳转)
|
||||
```
|
||||
|
||||
- 描述
|
||||
|
||||
EffectPreset(特效预设)是一类绑定特效资源的预设。
|
||||
|
||||
- 成员变量
|
||||
|
||||
| 变量名 | <div style="width: 4em">数据类型</div> | 说明 |
|
||||
| :--- | :--- | :--- |
|
||||
| resource | str | 特效json的相对路径,不含后缀.json |
|
||||
| effectType | str | 特效类型,frame/particle |
|
||||
| effectId | int | 特效ID |
|
||||
| auto | bool | 是否自动播放 |
|
||||
|
||||
|
||||
|
||||
## 索引
|
||||
|
||||
| 接口 | <div style="width: 3em"></div> | 描述 |
|
||||
| --- | --- | --- |
|
||||
| [GetResource](#getresource) | <span style="display:inline;color:#7575f9">客户端</span> | 获取绑定的json资源 |
|
||||
| [SetResource](#setresource) | <span style="display:inline;color:#7575f9">客户端</span> | 设置绑定的json资源 |
|
||||
|
||||
|
||||
|
||||
|
||||
## GetResource
|
||||
|
||||
<span style="display:inline;color:#7575f9">客户端</span>
|
||||
|
||||
method in Preset.Model.Effect.EffectPreset.EffectPreset
|
||||
|
||||
- 描述
|
||||
|
||||
获取绑定的json资源
|
||||
|
||||
- 参数
|
||||
|
||||
无
|
||||
|
||||
- 返回值
|
||||
|
||||
| <div style="width: 4em">数据类型</div> | 说明 |
|
||||
| :--- | :--- |
|
||||
| str | json资源相对路径,不含.json后缀 |
|
||||
|
||||
|
||||
|
||||
## SetResource
|
||||
|
||||
<span style="display:inline;color:#7575f9">客户端</span>
|
||||
|
||||
method in Preset.Model.Effect.EffectPreset.EffectPreset
|
||||
|
||||
- 描述
|
||||
|
||||
设置绑定的json资源
|
||||
|
||||
- 参数
|
||||
|
||||
| 参数名 | <div style="width: 4em">数据类型</div> | 说明 |
|
||||
| :--- | :--- | :--- |
|
||||
| resource | str | json资源相对路径,不含.json后缀 |
|
||||
|
||||
- 返回值
|
||||
|
||||
无
|
||||
|
||||
|
||||
|
||||
1199
mcguide/20-玩法开发/14-预设玩法编程/13-PresetAPI/预设对象/预设/玩家对象PlayerObject.md
Normal file
1199
mcguide/20-玩法开发/14-预设玩法编程/13-PresetAPI/预设对象/预设/玩家对象PlayerObject.md
Normal file
File diff suppressed because it is too large
Load Diff
@@ -0,0 +1,56 @@
|
||||
---
|
||||
sidebarDepth: 1
|
||||
---
|
||||
# 玩家预设PlayerPreset
|
||||
|
||||
|
||||
|
||||
## 概述
|
||||
|
||||
- 继承关系
|
||||
|
||||
```mermaid
|
||||
classDiagram
|
||||
EntityPreset <|-- PlayerPreset
|
||||
link EntityPreset "../../../../mcguide/20-玩法开发/14-预设玩法编程/13-PresetAPI/%E9%A2%84%E8%AE%BE%E5%AF%B9%E8%B1%A1/%E9%A2%84%E8%AE%BE/%E5%AE%9E%E4%BD%93%E9%A2%84%E8%AE%BEEntityPreset.html"
|
||||
PlayerObject <|-- PlayerPreset
|
||||
link PlayerObject "../../../../mcguide/20-玩法开发/14-预设玩法编程/13-PresetAPI/%E9%A2%84%E8%AE%BE%E5%AF%B9%E8%B1%A1/%E9%A2%84%E8%AE%BE/%E7%8E%A9%E5%AE%B6%E5%AF%B9%E8%B1%A1PlayerObject.html"
|
||||
PresetBase <|-- EntityPreset
|
||||
link PresetBase "../../../../mcguide/20-玩法开发/14-预设玩法编程/13-PresetAPI/%E9%A2%84%E8%AE%BE%E5%AF%B9%E8%B1%A1/%E9%A2%84%E8%AE%BE/%E9%A2%84%E8%AE%BE%E5%9F%BA%E7%B1%BBPresetBase.html"
|
||||
EntityObject <|-- EntityPreset
|
||||
link EntityObject "../../../../mcguide/20-玩法开发/14-预设玩法编程/13-PresetAPI/%E9%A2%84%E8%AE%BE%E5%AF%B9%E8%B1%A1/%E9%A2%84%E8%AE%BE/%E5%AE%9E%E4%BD%93%E5%AF%B9%E8%B1%A1EntityObject.html"
|
||||
TransformObject <|-- PresetBase
|
||||
link TransformObject "../../../../mcguide/20-玩法开发/14-预设玩法编程/13-PresetAPI/%E9%A2%84%E8%AE%BE%E5%AF%B9%E8%B1%A1/%E9%80%9A%E7%94%A8/%E5%8F%98%E6%8D%A2%E5%AF%B9%E8%B1%A1TransformObject.html"
|
||||
SdkInterface <|-- PresetBase
|
||||
link SdkInterface "../../../../mcguide/20-玩法开发/14-预设玩法编程/13-PresetAPI/%E9%A2%84%E8%AE%BE%E5%AF%B9%E8%B1%A1/%E9%80%9A%E7%94%A8/SDK%E6%8E%A5%E5%8F%A3%E5%B0%81%E8%A3%85SdkInterface.html"
|
||||
GameObject <|-- TransformObject
|
||||
link GameObject "../../../../mcguide/20-玩法开发/14-预设玩法编程/13-PresetAPI/%E9%A2%84%E8%AE%BE%E5%AF%B9%E8%B1%A1/%E9%80%9A%E7%94%A8/%E6%B8%B8%E6%88%8F%E5%AF%B9%E8%B1%A1GameObject.html"
|
||||
PlayerPreset: 玩家预设
|
||||
PlayerObject: 玩家对象
|
||||
PlayerObject: (点击跳转)
|
||||
EntityPreset: 实体预设
|
||||
EntityPreset: (点击跳转)
|
||||
GameObject: 游戏对象
|
||||
GameObject: (点击跳转)
|
||||
EntityObject: 实体对象
|
||||
EntityObject: (点击跳转)
|
||||
SdkInterface: SDK接口封装
|
||||
SdkInterface: (点击跳转)
|
||||
TransformObject: 变换对象
|
||||
TransformObject: (点击跳转)
|
||||
PresetBase: 预设基类
|
||||
PresetBase: (点击跳转)
|
||||
```
|
||||
|
||||
- 描述
|
||||
|
||||
PlayerPreset(玩家预设)是一类特殊的实体预设,玩家预设与玩家实体进行绑定。每个AddOn(编辑器作品)只允许创建一个玩家预设。如果玩家同时启用了多个使用了玩家预设的AddOn,只会加载第一个玩家预设。
|
||||
|
||||
- 成员变量
|
||||
|
||||
| 变量名 | <div style="width: 4em">数据类型</div> | 说明 |
|
||||
| :--- | :--- | :--- |
|
||||
| entityId | str | 玩家ID |
|
||||
|
||||
|
||||
|
||||
177
mcguide/20-玩法开发/14-预设玩法编程/13-PresetAPI/预设对象/预设/界面预设UIPreset.md
Normal file
177
mcguide/20-玩法开发/14-预设玩法编程/13-PresetAPI/预设对象/预设/界面预设UIPreset.md
Normal file
@@ -0,0 +1,177 @@
|
||||
---
|
||||
sidebarDepth: 1
|
||||
---
|
||||
# 界面预设UIPreset
|
||||
|
||||
|
||||
|
||||
## 概述
|
||||
|
||||
- 继承关系
|
||||
|
||||
```mermaid
|
||||
classDiagram
|
||||
PresetBase <|-- UIPreset
|
||||
link PresetBase "../../../../mcguide/20-玩法开发/14-预设玩法编程/13-PresetAPI/%E9%A2%84%E8%AE%BE%E5%AF%B9%E8%B1%A1/%E9%A2%84%E8%AE%BE/%E9%A2%84%E8%AE%BE%E5%9F%BA%E7%B1%BBPresetBase.html"
|
||||
TransformObject <|-- PresetBase
|
||||
link TransformObject "../../../../mcguide/20-玩法开发/14-预设玩法编程/13-PresetAPI/%E9%A2%84%E8%AE%BE%E5%AF%B9%E8%B1%A1/%E9%80%9A%E7%94%A8/%E5%8F%98%E6%8D%A2%E5%AF%B9%E8%B1%A1TransformObject.html"
|
||||
SdkInterface <|-- PresetBase
|
||||
link SdkInterface "../../../../mcguide/20-玩法开发/14-预设玩法编程/13-PresetAPI/%E9%A2%84%E8%AE%BE%E5%AF%B9%E8%B1%A1/%E9%80%9A%E7%94%A8/SDK%E6%8E%A5%E5%8F%A3%E5%B0%81%E8%A3%85SdkInterface.html"
|
||||
GameObject <|-- TransformObject
|
||||
link GameObject "../../../../mcguide/20-玩法开发/14-预设玩法编程/13-PresetAPI/%E9%A2%84%E8%AE%BE%E5%AF%B9%E8%B1%A1/%E9%80%9A%E7%94%A8/%E6%B8%B8%E6%88%8F%E5%AF%B9%E8%B1%A1GameObject.html"
|
||||
UIPreset: 界面预设
|
||||
SdkInterface: SDK接口封装
|
||||
SdkInterface: (点击跳转)
|
||||
PresetBase: 预设基类
|
||||
PresetBase: (点击跳转)
|
||||
TransformObject: 变换对象
|
||||
TransformObject: (点击跳转)
|
||||
GameObject: 游戏对象
|
||||
GameObject: (点击跳转)
|
||||
```
|
||||
|
||||
- 描述
|
||||
|
||||
UIPreset(界面预设)是一类绑定界面资源的预设。
|
||||
|
||||
- 成员变量
|
||||
|
||||
| 变量名 | <div style="width: 4em">数据类型</div> | 说明 |
|
||||
| :--- | :--- | :--- |
|
||||
| uiNodeScreen | str | UI画布路径,为"UI文件名.UI画布名"的字符串形式 |
|
||||
| uiNodeModulePath | str | 继承自ScreenNode的UI逻辑文件模块路径 |
|
||||
| uiNodeModule | str | 继承自ScreenNode的UI逻辑文件类名 |
|
||||
| uiName | str | UI名称,需保证在单个addon中唯一 |
|
||||
| autoCreate | bool | 在界面预设创建完成后是否自动创建UI |
|
||||
| isHud | bool | 该界面是否屏蔽游戏操作 |
|
||||
| createUIMethod | str | 创建界面接口 |
|
||||
| isBindParent | bool | 是否绑定父预设,仅当父预设为实体预设时生效 |
|
||||
| bindParentOffset | tuple | 当绑定父预设时生效,修改与绑定实体之间的偏移量 |
|
||||
| bindParentAutoScale | bool | 当绑定父预设时生效,设置已绑定实体的UI是否根据绑定实体与本地玩家间的距离动态缩放 |
|
||||
| showInEditor | bool | 是否在预设编辑器中创建UI |
|
||||
|
||||
|
||||
|
||||
## 索引
|
||||
|
||||
| 接口 | <div style="width: 3em"></div> | 描述 |
|
||||
| --- | --- | --- |
|
||||
| [SetUiActive](#setuiactive) | <span style="display:inline;color:#7575f9">客户端</span> | 设置UI激活 |
|
||||
| [GetUiActive](#getuiactive) | <span style="display:inline;color:#7575f9">客户端</span> | 获取当前UI是否激活 |
|
||||
| [SetUiVisible](#setuivisible) | <span style="display:inline;color:#7575f9">客户端</span> | 设置UI显隐 |
|
||||
| [GetUiVisible](#getuivisible) | <span style="display:inline;color:#7575f9">客户端</span> | 获取当前UI是否显示 |
|
||||
| [GetScreenNode](#getscreennode) | <span style="display:inline;color:#7575f9">客户端</span> | 获取当前ScreenNode实例 |
|
||||
|
||||
|
||||
|
||||
|
||||
## SetUiActive
|
||||
|
||||
<span style="display:inline;color:#7575f9">客户端</span>
|
||||
|
||||
method in Preset.Model.UI.UIPreset.UIPreset
|
||||
|
||||
- 描述
|
||||
|
||||
设置UI激活
|
||||
|
||||
- 参数
|
||||
|
||||
| 参数名 | <div style="width: 4em">数据类型</div> | 说明 |
|
||||
| :--- | :--- | :--- |
|
||||
| active | bool | 是否激活 |
|
||||
|
||||
- 返回值
|
||||
|
||||
无
|
||||
|
||||
|
||||
|
||||
## GetUiActive
|
||||
|
||||
<span style="display:inline;color:#7575f9">客户端</span>
|
||||
|
||||
method in Preset.Model.UI.UIPreset.UIPreset
|
||||
|
||||
- 描述
|
||||
|
||||
获取当前UI是否激活
|
||||
|
||||
- 参数
|
||||
|
||||
无
|
||||
|
||||
- 返回值
|
||||
|
||||
| <div style="width: 4em">数据类型</div> | 说明 |
|
||||
| :--- | :--- |
|
||||
| bool | UI是否激活 |
|
||||
|
||||
|
||||
|
||||
## SetUiVisible
|
||||
|
||||
<span style="display:inline;color:#7575f9">客户端</span>
|
||||
|
||||
method in Preset.Model.UI.UIPreset.UIPreset
|
||||
|
||||
- 描述
|
||||
|
||||
设置UI显隐
|
||||
|
||||
- 参数
|
||||
|
||||
| 参数名 | <div style="width: 4em">数据类型</div> | 说明 |
|
||||
| :--- | :--- | :--- |
|
||||
| visible | bool | 是否显示 |
|
||||
|
||||
- 返回值
|
||||
|
||||
无
|
||||
|
||||
|
||||
|
||||
## GetUiVisible
|
||||
|
||||
<span style="display:inline;color:#7575f9">客户端</span>
|
||||
|
||||
method in Preset.Model.UI.UIPreset.UIPreset
|
||||
|
||||
- 描述
|
||||
|
||||
获取当前UI是否显示
|
||||
|
||||
- 参数
|
||||
|
||||
无
|
||||
|
||||
- 返回值
|
||||
|
||||
| <div style="width: 4em">数据类型</div> | 说明 |
|
||||
| :--- | :--- |
|
||||
| bool | UI是否显示 |
|
||||
|
||||
|
||||
|
||||
## GetScreenNode
|
||||
|
||||
<span style="display:inline;color:#7575f9">客户端</span>
|
||||
|
||||
method in Preset.Model.UI.UIPreset.UIPreset
|
||||
|
||||
- 描述
|
||||
|
||||
获取当前ScreenNode实例
|
||||
|
||||
- 参数
|
||||
|
||||
无
|
||||
|
||||
- 返回值
|
||||
|
||||
| <div style="width: 4em">数据类型</div> | 说明 |
|
||||
| :--- | :--- |
|
||||
| ScreenNode | 当前ScreenNode实例 |
|
||||
|
||||
|
||||
|
||||
598
mcguide/20-玩法开发/14-预设玩法编程/13-PresetAPI/预设对象/预设/预设基类PresetBase.md
Normal file
598
mcguide/20-玩法开发/14-预设玩法编程/13-PresetAPI/预设对象/预设/预设基类PresetBase.md
Normal file
@@ -0,0 +1,598 @@
|
||||
---
|
||||
sidebarDepth: 1
|
||||
---
|
||||
# 预设基类PresetBase
|
||||
|
||||
|
||||
|
||||
## 概述
|
||||
|
||||
- 继承关系
|
||||
|
||||
```mermaid
|
||||
classDiagram
|
||||
SdkInterface <|-- PresetBase
|
||||
link SdkInterface "../../../../mcguide/20-玩法开发/14-预设玩法编程/13-PresetAPI/%E9%A2%84%E8%AE%BE%E5%AF%B9%E8%B1%A1/%E9%80%9A%E7%94%A8/SDK%E6%8E%A5%E5%8F%A3%E5%B0%81%E8%A3%85SdkInterface.html"
|
||||
TransformObject <|-- PresetBase
|
||||
link TransformObject "../../../../mcguide/20-玩法开发/14-预设玩法编程/13-PresetAPI/%E9%A2%84%E8%AE%BE%E5%AF%B9%E8%B1%A1/%E9%80%9A%E7%94%A8/%E5%8F%98%E6%8D%A2%E5%AF%B9%E8%B1%A1TransformObject.html"
|
||||
GameObject <|-- TransformObject
|
||||
link GameObject "../../../../mcguide/20-玩法开发/14-预设玩法编程/13-PresetAPI/%E9%A2%84%E8%AE%BE%E5%AF%B9%E8%B1%A1/%E9%80%9A%E7%94%A8/%E6%B8%B8%E6%88%8F%E5%AF%B9%E8%B1%A1GameObject.html"
|
||||
PresetBase: 预设基类
|
||||
SdkInterface: SDK接口封装
|
||||
SdkInterface: (点击跳转)
|
||||
TransformObject: 变换对象
|
||||
TransformObject: (点击跳转)
|
||||
GameObject: 游戏对象
|
||||
GameObject: (点击跳转)
|
||||
```
|
||||
|
||||
- 描述
|
||||
|
||||
PresetBase(预设基类)是所有预设的基类。预设是一类可以被直接放置在场景中的TransformObject(变换对象),并且预设下可以挂接其他TransformObject,可以通过这种方式对游戏逻辑进行简单的封装。在编辑器中放置预设时,会生成预设的虚拟实例,在游戏中生成预设,会生成实例。
|
||||
|
||||
- 成员变量
|
||||
|
||||
| 变量名 | <div style="width: 4em">数据类型</div> | 说明 |
|
||||
| :--- | :--- | :--- |
|
||||
| presetId | str | 预设文件ID |
|
||||
| preLoad | bool | 是否预加载 |
|
||||
| forceLoad | bool | 是否常加载 |
|
||||
| childPresetInstances | list(PresetBase) | 子预设列表 |
|
||||
| childPartInstances | list(PartBase) | 子零件列表 |
|
||||
| dimension | int | 预设所在维度 |
|
||||
| isAlive | bool | 预设是否存活 |
|
||||
|
||||
|
||||
|
||||
## 索引
|
||||
|
||||
| 接口 | <div style="width: 3em"></div> | 描述 |
|
||||
| --- | --- | --- |
|
||||
| [GetIsAlive](#getisalive) | <span style="display:inline;color:#7575f9">客户端</span>/<span style="display:inline;color:#ff5555">服务端</span> | 获取预设的存活状态 |
|
||||
| [GetGameObjectById](#getgameobjectbyid) | <span style="display:inline;color:#7575f9">客户端</span>/<span style="display:inline;color:#ff5555">服务端</span> | 获取当前预设节点底下指定ID的游戏对象 |
|
||||
| [GetGameObjectByEntityId](#getgameobjectbyentityid) | <span style="display:inline;color:#7575f9">客户端</span>/<span style="display:inline;color:#ff5555">服务端</span> | 获取当前预设节点底下指定实体ID的游戏对象 |
|
||||
| [GetChildPresets](#getchildpresets) | <span style="display:inline;color:#7575f9">客户端</span>/<span style="display:inline;color:#ff5555">服务端</span> | 获取当前预设的所有子预设 |
|
||||
| [GetChildPresetsByName](#getchildpresetsbyname) | <span style="display:inline;color:#7575f9">客户端</span>/<span style="display:inline;color:#ff5555">服务端</span> | 获取指定名称的所有子预设 |
|
||||
| [GetChildPresetsByType](#getchildpresetsbytype) | <span style="display:inline;color:#7575f9">客户端</span>/<span style="display:inline;color:#ff5555">服务端</span> | 获取指定类型的所有子预设 |
|
||||
| [GetChildObjectByTypeName](#getchildobjectbytypename) | <span style="display:inline;color:#7575f9">客户端</span>/<span style="display:inline;color:#ff5555">服务端</span> | 获取指定实体ID的游戏对象 |
|
||||
| [GetChildObjectsByTypeName](#getchildobjectsbytypename) | <span style="display:inline;color:#7575f9">客户端</span>/<span style="display:inline;color:#ff5555">服务端</span> | 获取指定实体ID的游戏对象 |
|
||||
| [SetBlockProtect](#setblockprotect) | <span style="display:inline;color:#ff5555">服务端</span> | 设置预设内的所有素材区域的方块保护状态 |
|
||||
| [Replicate](#replicate) | <span style="display:inline;color:#7575f9">客户端</span>/<span style="display:inline;color:#ff5555">服务端</span> | 在指定位置坐标下复制当前预设 |
|
||||
| [RemoveChild](#removechild) | <span style="display:inline;color:#7575f9">客户端</span>/<span style="display:inline;color:#ff5555">服务端</span> | 移除指定的子节点对象 |
|
||||
| [AddBoxData](#addboxdata) | <span style="display:inline;color:#7575f9">客户端</span>/<span style="display:inline;color:#ff5555">服务端</span> | 添加指定的素材数据 |
|
||||
| [RemoveBoxData](#removeboxdata) | <span style="display:inline;color:#7575f9">客户端</span>/<span style="display:inline;color:#ff5555">服务端</span> | 移除指定的素材数据 |
|
||||
| [AddPreset](#addpreset) | <span style="display:inline;color:#7575f9">客户端</span>/<span style="display:inline;color:#ff5555">服务端</span> | 添加指定预设作为子预设 |
|
||||
| [RemovePreset](#removepreset) | <span style="display:inline;color:#7575f9">客户端</span>/<span style="display:inline;color:#ff5555">服务端</span> | 移除指定的子预设 |
|
||||
| [AddPart](#addpart) | <span style="display:inline;color:#7575f9">客户端</span>/<span style="display:inline;color:#ff5555">服务端</span> | 添加指定零件作为子零件 |
|
||||
| [RemovePart](#removepart) | <span style="display:inline;color:#7575f9">客户端</span>/<span style="display:inline;color:#ff5555">服务端</span> | 移除指定的子零件 |
|
||||
| [GetPartsByName](#getpartsbyname) | <span style="display:inline;color:#7575f9">客户端</span>/<span style="display:inline;color:#ff5555">服务端</span> | 获取指定名称的所有子零件 |
|
||||
| [GetPartByName](#getpartbyname) | <span style="display:inline;color:#7575f9">客户端</span>/<span style="display:inline;color:#ff5555">服务端</span> | 获取指定名称的第一个子零件 |
|
||||
| [GetPartsByType](#getpartsbytype) | <span style="display:inline;color:#7575f9">客户端</span>/<span style="display:inline;color:#ff5555">服务端</span> | 获取指定类型的所有子零件 |
|
||||
| [GetPartByType](#getpartbytype) | <span style="display:inline;color:#7575f9">客户端</span>/<span style="display:inline;color:#ff5555">服务端</span> | 获取指定类型的第一个子零件 |
|
||||
| [RemovePartsByType](#removepartsbytype) | <span style="display:inline;color:#7575f9">客户端</span>/<span style="display:inline;color:#ff5555">服务端</span> | 移除指定类型的所有子零件 |
|
||||
|
||||
|
||||
|
||||
|
||||
## GetIsAlive
|
||||
|
||||
<span style="display:inline;color:#7575f9">客户端</span>/<span style="display:inline;color:#ff5555">服务端</span>
|
||||
|
||||
method in Preset.Model.PresetBase.PresetBase
|
||||
|
||||
- 描述
|
||||
|
||||
获取预设的存活状态
|
||||
|
||||
- 参数
|
||||
|
||||
无
|
||||
|
||||
- 返回值
|
||||
|
||||
| <div style="width: 4em">数据类型</div> | 说明 |
|
||||
| :--- | :--- |
|
||||
| bool | 是否存活 |
|
||||
|
||||
|
||||
|
||||
## GetGameObjectById
|
||||
|
||||
<span style="display:inline;color:#7575f9">客户端</span>/<span style="display:inline;color:#ff5555">服务端</span>
|
||||
|
||||
method in Preset.Model.PresetBase.PresetBase
|
||||
|
||||
- 描述
|
||||
|
||||
获取当前预设节点底下指定ID的游戏对象
|
||||
|
||||
- 参数
|
||||
|
||||
| 参数名 | <div style="width: 4em">数据类型</div> | 说明 |
|
||||
| :--- | :--- | :--- |
|
||||
| id | int | 对象ID |
|
||||
|
||||
- 返回值
|
||||
|
||||
| <div style="width: 4em">数据类型</div> | 说明 |
|
||||
| :--- | :--- |
|
||||
| GameObject | 成功返回游戏对象,失败返回None |
|
||||
|
||||
|
||||
|
||||
## GetGameObjectByEntityId
|
||||
|
||||
<span style="display:inline;color:#7575f9">客户端</span>/<span style="display:inline;color:#ff5555">服务端</span>
|
||||
|
||||
method in Preset.Model.PresetBase.PresetBase
|
||||
|
||||
- 描述
|
||||
|
||||
获取当前预设节点底下指定实体ID的游戏对象
|
||||
|
||||
- 参数
|
||||
|
||||
| 参数名 | <div style="width: 4em">数据类型</div> | 说明 |
|
||||
| :--- | :--- | :--- |
|
||||
| entityId | str | 实体ID |
|
||||
|
||||
- 返回值
|
||||
|
||||
| <div style="width: 4em">数据类型</div> | 说明 |
|
||||
| :--- | :--- |
|
||||
| GameObject | 成功返回游戏对象,失败返回None |
|
||||
|
||||
|
||||
|
||||
## GetChildPresets
|
||||
|
||||
<span style="display:inline;color:#7575f9">客户端</span>/<span style="display:inline;color:#ff5555">服务端</span>
|
||||
|
||||
method in Preset.Model.PresetBase.PresetBase
|
||||
|
||||
- 描述
|
||||
|
||||
获取当前预设的所有子预设
|
||||
|
||||
- 参数
|
||||
|
||||
无
|
||||
|
||||
- 返回值
|
||||
|
||||
| <div style="width: 4em">数据类型</div> | 说明 |
|
||||
| :--- | :--- |
|
||||
| list(PresetBase) | 子预设列表 |
|
||||
|
||||
|
||||
|
||||
## GetChildPresetsByName
|
||||
|
||||
<span style="display:inline;color:#7575f9">客户端</span>/<span style="display:inline;color:#ff5555">服务端</span>
|
||||
|
||||
method in Preset.Model.PresetBase.PresetBase
|
||||
|
||||
- 描述
|
||||
|
||||
获取指定名称的所有子预设
|
||||
|
||||
- 参数
|
||||
|
||||
| 参数名 | <div style="width: 4em">数据类型</div> | 说明 |
|
||||
| :--- | :--- | :--- |
|
||||
| name | str | 名称 |
|
||||
| recursive | bool | 是否递归查找,默认为是 |
|
||||
|
||||
- 返回值
|
||||
|
||||
| <div style="width: 4em">数据类型</div> | 说明 |
|
||||
| :--- | :--- |
|
||||
| list(PresetBase) | 子预设列表 |
|
||||
|
||||
|
||||
|
||||
## GetChildPresetsByType
|
||||
|
||||
<span style="display:inline;color:#7575f9">客户端</span>/<span style="display:inline;color:#ff5555">服务端</span>
|
||||
|
||||
method in Preset.Model.PresetBase.PresetBase
|
||||
|
||||
- 描述
|
||||
|
||||
获取指定类型的所有子预设
|
||||
|
||||
- 参数
|
||||
|
||||
| 参数名 | <div style="width: 4em">数据类型</div> | 说明 |
|
||||
| :--- | :--- | :--- |
|
||||
| classType | str | 类型 |
|
||||
| recursive | bool | 是否递归查找,默认为是 |
|
||||
|
||||
- 返回值
|
||||
|
||||
| <div style="width: 4em">数据类型</div> | 说明 |
|
||||
| :--- | :--- |
|
||||
| list(PresetBase) | 子预设列表 |
|
||||
|
||||
|
||||
|
||||
## GetChildObjectByTypeName
|
||||
|
||||
<span style="display:inline;color:#7575f9">客户端</span>/<span style="display:inline;color:#ff5555">服务端</span>
|
||||
|
||||
method in Preset.Model.PresetBase.PresetBase
|
||||
|
||||
- 描述
|
||||
|
||||
获取指定实体ID的游戏对象
|
||||
|
||||
- 参数
|
||||
|
||||
| 参数名 | <div style="width: 4em">数据类型</div> | 说明 |
|
||||
| :--- | :--- | :--- |
|
||||
| classType | str | 指定类型 |
|
||||
| name | str | 指定名称,可缺省 |
|
||||
|
||||
- 返回值
|
||||
|
||||
| <div style="width: 4em">数据类型</div> | 说明 |
|
||||
| :--- | :--- |
|
||||
| TransformObject | 成功返回游戏对象,失败返回None |
|
||||
|
||||
- 示例
|
||||
|
||||
```python
|
||||
self.GetChildObjectByTypeName("PresetDebugPart")
|
||||
```
|
||||
|
||||
|
||||
|
||||
## GetChildObjectsByTypeName
|
||||
|
||||
<span style="display:inline;color:#7575f9">客户端</span>/<span style="display:inline;color:#ff5555">服务端</span>
|
||||
|
||||
method in Preset.Model.PresetBase.PresetBase
|
||||
|
||||
- 描述
|
||||
|
||||
获取指定实体ID的游戏对象
|
||||
|
||||
- 参数
|
||||
|
||||
| 参数名 | <div style="width: 4em">数据类型</div> | 说明 |
|
||||
| :--- | :--- | :--- |
|
||||
| classType | str | 指定类型 |
|
||||
| name | str | 指定名称,可缺省 |
|
||||
|
||||
- 返回值
|
||||
|
||||
| <div style="width: 4em">数据类型</div> | 说明 |
|
||||
| :--- | :--- |
|
||||
| TransformObject | 成功返回游戏对象,失败返回None |
|
||||
|
||||
- 示例
|
||||
|
||||
```python
|
||||
self.GetChildObjectsByTypeName("PresetDebugPart")
|
||||
```
|
||||
|
||||
|
||||
|
||||
## SetBlockProtect
|
||||
|
||||
<span style="display:inline;color:#ff5555">服务端</span>
|
||||
|
||||
method in Preset.Model.PresetBase.PresetBase
|
||||
|
||||
- 描述
|
||||
|
||||
设置预设内的所有素材区域的方块保护状态
|
||||
|
||||
- 参数
|
||||
|
||||
| 参数名 | <div style="width: 4em">数据类型</div> | 说明 |
|
||||
| :--- | :--- | :--- |
|
||||
| protect | bool | 保护/取消保护 |
|
||||
|
||||
- 返回值
|
||||
|
||||
无
|
||||
|
||||
|
||||
|
||||
## Replicate
|
||||
|
||||
<span style="display:inline;color:#7575f9">客户端</span>/<span style="display:inline;color:#ff5555">服务端</span>
|
||||
|
||||
method in Preset.Model.PresetBase.PresetBase
|
||||
|
||||
- 描述
|
||||
|
||||
在指定位置坐标下复制当前预设
|
||||
|
||||
- 参数
|
||||
|
||||
| 参数名 | <div style="width: 4em">数据类型</div> | 说明 |
|
||||
| :--- | :--- | :--- |
|
||||
| pos | tuple(float,float,float) | 位置坐标 |
|
||||
|
||||
- 返回值
|
||||
|
||||
| <div style="width: 4em">数据类型</div> | 说明 |
|
||||
| :--- | :--- |
|
||||
| PresetBase | 返回复制的预设,失败返回None |
|
||||
|
||||
|
||||
|
||||
## RemoveChild
|
||||
|
||||
<span style="display:inline;color:#7575f9">客户端</span>/<span style="display:inline;color:#ff5555">服务端</span>
|
||||
|
||||
method in Preset.Model.PresetBase.PresetBase
|
||||
|
||||
- 描述
|
||||
|
||||
移除指定的子节点对象
|
||||
|
||||
- 参数
|
||||
|
||||
| 参数名 | <div style="width: 4em">数据类型</div> | 说明 |
|
||||
| :--- | :--- | :--- |
|
||||
| child | TransformObject | 待移除的子对象 |
|
||||
|
||||
- 返回值
|
||||
|
||||
无
|
||||
|
||||
|
||||
|
||||
## AddBoxData
|
||||
|
||||
<span style="display:inline;color:#7575f9">客户端</span>/<span style="display:inline;color:#ff5555">服务端</span>
|
||||
|
||||
method in Preset.Model.PresetBase.PresetBase
|
||||
|
||||
- 描述
|
||||
|
||||
添加指定的素材数据
|
||||
|
||||
- 参数
|
||||
|
||||
| 参数名 | <div style="width: 4em">数据类型</div> | 说明 |
|
||||
| :--- | :--- | :--- |
|
||||
| boxData | BoxData | 待添加的素材数据 |
|
||||
|
||||
- 返回值
|
||||
|
||||
无
|
||||
|
||||
|
||||
|
||||
## RemoveBoxData
|
||||
|
||||
<span style="display:inline;color:#7575f9">客户端</span>/<span style="display:inline;color:#ff5555">服务端</span>
|
||||
|
||||
method in Preset.Model.PresetBase.PresetBase
|
||||
|
||||
- 描述
|
||||
|
||||
移除指定的素材数据
|
||||
|
||||
- 参数
|
||||
|
||||
| 参数名 | <div style="width: 4em">数据类型</div> | 说明 |
|
||||
| :--- | :--- | :--- |
|
||||
| boxData | BoxData | 待移除的素材数据 |
|
||||
|
||||
- 返回值
|
||||
|
||||
无
|
||||
|
||||
|
||||
|
||||
## AddPreset
|
||||
|
||||
<span style="display:inline;color:#7575f9">客户端</span>/<span style="display:inline;color:#ff5555">服务端</span>
|
||||
|
||||
method in Preset.Model.PresetBase.PresetBase
|
||||
|
||||
- 描述
|
||||
|
||||
添加指定预设作为子预设
|
||||
|
||||
- 参数
|
||||
|
||||
| 参数名 | <div style="width: 4em">数据类型</div> | 说明 |
|
||||
| :--- | :--- | :--- |
|
||||
| preset | PresetBase | 待添加的预设 |
|
||||
|
||||
- 返回值
|
||||
|
||||
无
|
||||
|
||||
|
||||
|
||||
## RemovePreset
|
||||
|
||||
<span style="display:inline;color:#7575f9">客户端</span>/<span style="display:inline;color:#ff5555">服务端</span>
|
||||
|
||||
method in Preset.Model.PresetBase.PresetBase
|
||||
|
||||
- 描述
|
||||
|
||||
移除指定的子预设
|
||||
|
||||
- 参数
|
||||
|
||||
| 参数名 | <div style="width: 4em">数据类型</div> | 说明 |
|
||||
| :--- | :--- | :--- |
|
||||
| preset | PresetBase | 待移除的子预设 |
|
||||
|
||||
- 返回值
|
||||
|
||||
无
|
||||
|
||||
|
||||
|
||||
## AddPart
|
||||
|
||||
<span style="display:inline;color:#7575f9">客户端</span>/<span style="display:inline;color:#ff5555">服务端</span>
|
||||
|
||||
method in Preset.Model.PresetBase.PresetBase
|
||||
|
||||
- 描述
|
||||
|
||||
添加指定零件作为子零件
|
||||
|
||||
- 参数
|
||||
|
||||
| 参数名 | <div style="width: 4em">数据类型</div> | 说明 |
|
||||
| :--- | :--- | :--- |
|
||||
| part | PartBase | 待添加的零件 |
|
||||
|
||||
- 返回值
|
||||
|
||||
无
|
||||
|
||||
|
||||
|
||||
## RemovePart
|
||||
|
||||
<span style="display:inline;color:#7575f9">客户端</span>/<span style="display:inline;color:#ff5555">服务端</span>
|
||||
|
||||
method in Preset.Model.PresetBase.PresetBase
|
||||
|
||||
- 描述
|
||||
|
||||
移除指定的子零件
|
||||
|
||||
- 参数
|
||||
|
||||
| 参数名 | <div style="width: 4em">数据类型</div> | 说明 |
|
||||
| :--- | :--- | :--- |
|
||||
| part | PartBase | 待移除的零件 |
|
||||
|
||||
- 返回值
|
||||
|
||||
无
|
||||
|
||||
|
||||
|
||||
## GetPartsByName
|
||||
|
||||
<span style="display:inline;color:#7575f9">客户端</span>/<span style="display:inline;color:#ff5555">服务端</span>
|
||||
|
||||
method in Preset.Model.PresetBase.PresetBase
|
||||
|
||||
- 描述
|
||||
|
||||
获取指定名称的所有子零件
|
||||
|
||||
- 参数
|
||||
|
||||
| 参数名 | <div style="width: 4em">数据类型</div> | 说明 |
|
||||
| :--- | :--- | :--- |
|
||||
| name | str | 零件名称 |
|
||||
|
||||
- 返回值
|
||||
|
||||
| <div style="width: 4em">数据类型</div> | 说明 |
|
||||
| :--- | :--- |
|
||||
| list(PartBase) | 零件列表 |
|
||||
|
||||
|
||||
|
||||
## GetPartByName
|
||||
|
||||
<span style="display:inline;color:#7575f9">客户端</span>/<span style="display:inline;color:#ff5555">服务端</span>
|
||||
|
||||
method in Preset.Model.PresetBase.PresetBase
|
||||
|
||||
- 描述
|
||||
|
||||
获取指定名称的第一个子零件
|
||||
|
||||
- 参数
|
||||
|
||||
| 参数名 | <div style="width: 4em">数据类型</div> | 说明 |
|
||||
| :--- | :--- | :--- |
|
||||
| name | str | 零件名称 |
|
||||
|
||||
- 返回值
|
||||
|
||||
| <div style="width: 4em">数据类型</div> | 说明 |
|
||||
| :--- | :--- |
|
||||
| PartBase | 零件/None |
|
||||
|
||||
|
||||
|
||||
## GetPartsByType
|
||||
|
||||
<span style="display:inline;color:#7575f9">客户端</span>/<span style="display:inline;color:#ff5555">服务端</span>
|
||||
|
||||
method in Preset.Model.PresetBase.PresetBase
|
||||
|
||||
- 描述
|
||||
|
||||
获取指定类型的所有子零件
|
||||
|
||||
- 参数
|
||||
|
||||
| 参数名 | <div style="width: 4em">数据类型</div> | 说明 |
|
||||
| :--- | :--- | :--- |
|
||||
| type | str | 零件类名 |
|
||||
|
||||
- 返回值
|
||||
|
||||
| <div style="width: 4em">数据类型</div> | 说明 |
|
||||
| :--- | :--- |
|
||||
| list(PartBase) | 零件列表 |
|
||||
|
||||
|
||||
|
||||
## GetPartByType
|
||||
|
||||
<span style="display:inline;color:#7575f9">客户端</span>/<span style="display:inline;color:#ff5555">服务端</span>
|
||||
|
||||
method in Preset.Model.PresetBase.PresetBase
|
||||
|
||||
- 描述
|
||||
|
||||
获取指定类型的第一个子零件
|
||||
|
||||
- 参数
|
||||
|
||||
| 参数名 | <div style="width: 4em">数据类型</div> | 说明 |
|
||||
| :--- | :--- | :--- |
|
||||
| type | str | 零件类名 |
|
||||
|
||||
- 返回值
|
||||
|
||||
| <div style="width: 4em">数据类型</div> | 说明 |
|
||||
| :--- | :--- |
|
||||
| PartBase | 零件/None |
|
||||
|
||||
|
||||
|
||||
## RemovePartsByType
|
||||
|
||||
<span style="display:inline;color:#7575f9">客户端</span>/<span style="display:inline;color:#ff5555">服务端</span>
|
||||
|
||||
method in Preset.Model.PresetBase.PresetBase
|
||||
|
||||
- 描述
|
||||
|
||||
移除指定类型的所有子零件
|
||||
|
||||
- 参数
|
||||
|
||||
| 参数名 | <div style="width: 4em">数据类型</div> | 说明 |
|
||||
| :--- | :--- | :--- |
|
||||
| type | str | 零件类名 |
|
||||
|
||||
- 返回值
|
||||
|
||||
无
|
||||
|
||||
|
||||
|
||||
581
mcguide/20-玩法开发/14-预设玩法编程/13-PresetAPI/预设管理/PresetApi.md
Normal file
581
mcguide/20-玩法开发/14-预设玩法编程/13-PresetAPI/预设管理/PresetApi.md
Normal file
@@ -0,0 +1,581 @@
|
||||
---
|
||||
sidebarDepth: 1
|
||||
---
|
||||
# PresetApi
|
||||
|
||||
## 索引
|
||||
|
||||
| 接口 | <div style="width: 3em"></div> | 描述 |
|
||||
| --- | --- | --- |
|
||||
| [CreateTransform](#createtransform) | <span style="display:inline;color:#7575f9">客户端</span>/<span style="display:inline;color:#ff5555">服务端</span> | 构造变换对象 |
|
||||
| [GetAllPresets](#getallpresets) | <span style="display:inline;color:#7575f9">客户端</span>/<span style="display:inline;color:#ff5555">服务端</span> | 获取所有预设 |
|
||||
| [GetBlockPresetByPosition](#getblockpresetbyposition) | <span style="display:inline;color:#7575f9">客户端</span>/<span style="display:inline;color:#ff5555">服务端</span> | 获取指定位置的第一个方块预设 |
|
||||
| [GetGameObjectByEntityId](#getgameobjectbyentityid) | <span style="display:inline;color:#7575f9">客户端</span>/<span style="display:inline;color:#ff5555">服务端</span> | 获取指定实体ID的游戏对象 |
|
||||
| [GetGameObjectById](#getgameobjectbyid) | <span style="display:inline;color:#7575f9">客户端</span>/<span style="display:inline;color:#ff5555">服务端</span> | 获取指定对象ID的游戏对象 |
|
||||
| [GetGameObjectByTypeName](#getgameobjectbytypename) | <span style="display:inline;color:#7575f9">客户端</span>/<span style="display:inline;color:#ff5555">服务端</span> | 获取指定类型和名称的第一个游戏对象 |
|
||||
| [GetGameObjectsByTypeName](#getgameobjectsbytypename) | <span style="display:inline;color:#7575f9">客户端</span>/<span style="display:inline;color:#ff5555">服务端</span> | 获取指定类型和名称的所有游戏对象 |
|
||||
| [GetPartApi](#getpartapi) | <span style="display:inline;color:#7575f9">客户端</span>/<span style="display:inline;color:#ff5555">服务端</span> | 获取零件API |
|
||||
| [GetPresetByName](#getpresetbyname) | <span style="display:inline;color:#7575f9">客户端</span>/<span style="display:inline;color:#ff5555">服务端</span> | 获取指定名称的第一个预设 |
|
||||
| [GetPresetByType](#getpresetbytype) | <span style="display:inline;color:#7575f9">客户端</span>/<span style="display:inline;color:#ff5555">服务端</span> | 获取指定维度的指定类型的第一个预设 |
|
||||
| [GetPresetSize](#getpresetsize) | <span style="display:inline;color:#7575f9">客户端</span>/<span style="display:inline;color:#ff5555">服务端</span> | 根据预设ID获取预设的包围盒大小 |
|
||||
| [GetPresetsByName](#getpresetsbyname) | <span style="display:inline;color:#7575f9">客户端</span>/<span style="display:inline;color:#ff5555">服务端</span> | 获取指定名称的所有预设 |
|
||||
| [GetPresetsByType](#getpresetsbytype) | <span style="display:inline;color:#7575f9">客户端</span>/<span style="display:inline;color:#ff5555">服务端</span> | 获取指定维度的指定类型的所有预设 |
|
||||
| [GetTickCount](#gettickcount) | <span style="display:inline;color:#7575f9">客户端</span>/<span style="display:inline;color:#ff5555">服务端</span> | 获取当前帧数 |
|
||||
| [LoadPartByModulePath](#loadpartbymodulepath) | <span style="display:inline;color:#7575f9">客户端</span>/<span style="display:inline;color:#ff5555">服务端</span> | 通过模块相对路径加载零件并实例化 |
|
||||
| [LoadPartByType](#loadpartbytype) | <span style="display:inline;color:#7575f9">客户端</span>/<span style="display:inline;color:#ff5555">服务端</span> | 通过类名加载零件并实例化 |
|
||||
| [SpawnPreset](#spawnpreset) | <span style="display:inline;color:#ff5555">服务端</span> | 在指定维度的指定坐标变换处生成指定预设 |
|
||||
|
||||
|
||||
|
||||
|
||||
## CreateTransform
|
||||
|
||||
<span style="display:inline;color:#7575f9">客户端</span>/<span style="display:inline;color:#ff5555">服务端</span>
|
||||
|
||||
method in Preset.Controller.PresetApi
|
||||
|
||||
- 描述
|
||||
|
||||
构造变换对象
|
||||
|
||||
- 参数
|
||||
|
||||
| 参数名 | <div style="width: 4em">数据类型</div> | 说明 |
|
||||
| :--- | :--- | :--- |
|
||||
| pos | tuple(float,float,float) | 位置变换 |
|
||||
| rotation | tuple(float,float,float) | 旋转变换 |
|
||||
| scale | tuple(float,float,float) | 缩放变换 |
|
||||
|
||||
- 返回值
|
||||
|
||||
| <div style="width: 4em">数据类型</div> | 说明 |
|
||||
| :--- | :--- |
|
||||
| Transform | 生成的变换对象 |
|
||||
|
||||
- 示例
|
||||
|
||||
```python
|
||||
# 创建Transform对象
|
||||
import Preset.Controller.PresetApi as presetApi
|
||||
transform = presetApi.CreateTransform((0, 0, 0), (0, 0, 0), (1, 1, 1))
|
||||
```
|
||||
|
||||
|
||||
|
||||
## GetAllPresets
|
||||
|
||||
<span style="display:inline;color:#7575f9">客户端</span>/<span style="display:inline;color:#ff5555">服务端</span>
|
||||
|
||||
method in Preset.Controller.PresetApi
|
||||
|
||||
- 描述
|
||||
|
||||
获取所有预设
|
||||
|
||||
- 参数
|
||||
|
||||
| 参数名 | <div style="width: 4em">数据类型</div> | 说明 |
|
||||
| :--- | :--- | :--- |
|
||||
| dimension | int | 指定维度ID,默认为-1表示所有维度,本参数在客户端调用时无效,客户端只能获取当前维度 |
|
||||
|
||||
- 返回值
|
||||
|
||||
| <div style="width: 4em">数据类型</div> | 说明 |
|
||||
| :--- | :--- |
|
||||
| list(PresetBase) | 预设列表 |
|
||||
|
||||
- 示例
|
||||
|
||||
```python
|
||||
import Preset.Controller.PresetApi as presetApi
|
||||
presets = presetApi.GetAllPresets()
|
||||
```
|
||||
|
||||
|
||||
|
||||
## GetBlockPresetByPosition
|
||||
|
||||
<span style="display:inline;color:#7575f9">客户端</span>/<span style="display:inline;color:#ff5555">服务端</span>
|
||||
|
||||
method in Preset.Controller.PresetApi
|
||||
|
||||
- 描述
|
||||
|
||||
获取指定位置的第一个方块预设
|
||||
|
||||
- 参数
|
||||
|
||||
| 参数名 | <div style="width: 4em">数据类型</div> | 说明 |
|
||||
| :--- | :--- | :--- |
|
||||
| x | int | X轴坐标 |
|
||||
| y | int | Y轴坐标 |
|
||||
| z | int | Z轴坐标 |
|
||||
| dimension | int | 指定维度ID,默认为-1表示所有维度,本参数在客户端调用时无效,客户端只能获取当前维度 |
|
||||
|
||||
- 返回值
|
||||
|
||||
| <div style="width: 4em">数据类型</div> | 说明 |
|
||||
| :--- | :--- |
|
||||
| BlockPreset | 指定位置的第一个方块预设,没有返回None |
|
||||
|
||||
- 示例
|
||||
|
||||
```python
|
||||
import Preset.Controller.PresetApi as presetApi
|
||||
obj = presetApi.GetBlockPresetByPosition(0, 0, 0)
|
||||
```
|
||||
|
||||
|
||||
|
||||
## GetGameObjectByEntityId
|
||||
|
||||
<span style="display:inline;color:#7575f9">客户端</span>/<span style="display:inline;color:#ff5555">服务端</span>
|
||||
|
||||
method in Preset.Controller.PresetApi
|
||||
|
||||
- 描述
|
||||
|
||||
获取指定实体ID的游戏对象
|
||||
|
||||
- 参数
|
||||
|
||||
| 参数名 | <div style="width: 4em">数据类型</div> | 说明 |
|
||||
| :--- | :--- | :--- |
|
||||
| entityId | str | 指定的实体ID |
|
||||
|
||||
- 返回值
|
||||
|
||||
| <div style="width: 4em">数据类型</div> | 说明 |
|
||||
| :--- | :--- |
|
||||
| TransformObject | 成功返回游戏对象,失败返回None |
|
||||
|
||||
- 示例
|
||||
|
||||
```python
|
||||
import Preset.Controller.PresetApi as presetApi
|
||||
obj = presetApi.GetGameObjectByEntityId(0)
|
||||
```
|
||||
|
||||
|
||||
|
||||
## GetGameObjectById
|
||||
|
||||
<span style="display:inline;color:#7575f9">客户端</span>/<span style="display:inline;color:#ff5555">服务端</span>
|
||||
|
||||
method in Preset.Controller.PresetApi
|
||||
|
||||
- 描述
|
||||
|
||||
获取指定对象ID的游戏对象
|
||||
|
||||
- 参数
|
||||
|
||||
| 参数名 | <div style="width: 4em">数据类型</div> | 说明 |
|
||||
| :--- | :--- | :--- |
|
||||
| id | int | 指定的对象ID |
|
||||
|
||||
- 返回值
|
||||
|
||||
| <div style="width: 4em">数据类型</div> | 说明 |
|
||||
| :--- | :--- |
|
||||
| TransformObject | 成功返回游戏对象,失败返回None |
|
||||
|
||||
- 示例
|
||||
|
||||
```python
|
||||
import Preset.Controller.PresetApi as presetApi
|
||||
obj = presetApi.GetGameObjectById(0)
|
||||
```
|
||||
|
||||
|
||||
|
||||
## GetGameObjectByTypeName
|
||||
|
||||
<span style="display:inline;color:#7575f9">客户端</span>/<span style="display:inline;color:#ff5555">服务端</span>
|
||||
|
||||
method in Preset.Controller.PresetApi
|
||||
|
||||
- 描述
|
||||
|
||||
获取指定类型和名称的第一个游戏对象
|
||||
|
||||
- 参数
|
||||
|
||||
| 参数名 | <div style="width: 4em">数据类型</div> | 说明 |
|
||||
| :--- | :--- | :--- |
|
||||
| classType | str | 指定类型 (包括预设,零件,素材数据的类型) |
|
||||
| name | str | 指定名称,可缺省 |
|
||||
| dimension | int | 指定维度ID,默认为-1表示所有维度,本参数在客户端调用时无效,客户端只能获取当前维度 |
|
||||
|
||||
- 返回值
|
||||
|
||||
| <div style="width: 4em">数据类型</div> | 说明 |
|
||||
| :--- | :--- |
|
||||
| TransformObject | 成功返回游戏对象,失败返回None |
|
||||
|
||||
- 示例
|
||||
|
||||
```python
|
||||
# 找到第一个实体预设
|
||||
import Preset.Controller.PresetApi as presetApi
|
||||
obj = presetApi.GetGameObjectByTypeName("EntityPreset")
|
||||
```
|
||||
|
||||
|
||||
|
||||
## GetGameObjectsByTypeName
|
||||
|
||||
<span style="display:inline;color:#7575f9">客户端</span>/<span style="display:inline;color:#ff5555">服务端</span>
|
||||
|
||||
method in Preset.Controller.PresetApi
|
||||
|
||||
- 描述
|
||||
|
||||
获取指定类型和名称的所有游戏对象
|
||||
|
||||
- 参数
|
||||
|
||||
| 参数名 | <div style="width: 4em">数据类型</div> | 说明 |
|
||||
| :--- | :--- | :--- |
|
||||
| classType | str | 指定类型 (包括预设,零件,素材数据的类型) |
|
||||
| name | str | 指定名称,可缺省 |
|
||||
| dimension | int | 指定维度ID,默认为-1表示所有维度,本参数在客户端调用时无效,客户端只能获取当前维度 |
|
||||
|
||||
- 返回值
|
||||
|
||||
| <div style="width: 4em">数据类型</div> | 说明 |
|
||||
| :--- | :--- |
|
||||
| list(TransformObject) | 变换对象列表 |
|
||||
|
||||
- 示例
|
||||
|
||||
```python
|
||||
# 找到第一个实体预设
|
||||
import Preset.Controller.PresetApi as presetApi
|
||||
objects = presetApi.GetGameObjectsByTypeName("EntityPreset")
|
||||
```
|
||||
|
||||
|
||||
|
||||
## GetPartApi
|
||||
|
||||
<span style="display:inline;color:#7575f9">客户端</span>/<span style="display:inline;color:#ff5555">服务端</span>
|
||||
|
||||
method in Preset.Controller.PresetApi
|
||||
|
||||
- 描述
|
||||
|
||||
获取零件API
|
||||
|
||||
- 参数
|
||||
|
||||
无
|
||||
|
||||
- 返回值
|
||||
|
||||
| <div style="width: 4em">数据类型</div> | 说明 |
|
||||
| :--- | :--- |
|
||||
| PartBase | 空零件,用于调用零件API |
|
||||
|
||||
- 示例
|
||||
|
||||
```python
|
||||
import Preset.Controller.PresetApi as presetApi
|
||||
partApi = presetApi.GetPartApi()
|
||||
partApi.LogDebug("debug")
|
||||
```
|
||||
|
||||
|
||||
|
||||
## GetPresetByName
|
||||
|
||||
<span style="display:inline;color:#7575f9">客户端</span>/<span style="display:inline;color:#ff5555">服务端</span>
|
||||
|
||||
method in Preset.Controller.PresetApi
|
||||
|
||||
- 描述
|
||||
|
||||
获取指定名称的第一个预设
|
||||
|
||||
- 参数
|
||||
|
||||
| 参数名 | <div style="width: 4em">数据类型</div> | 说明 |
|
||||
| :--- | :--- | :--- |
|
||||
| name | str | 指定名称 |
|
||||
| dimension | int | 指定维度ID,默认为-1表示所有维度,本参数在客户端调用时无效,客户端只能获取当前维度 |
|
||||
|
||||
- 返回值
|
||||
|
||||
| <div style="width: 4em">数据类型</div> | 说明 |
|
||||
| :--- | :--- |
|
||||
| PresetBase | 预设/None |
|
||||
|
||||
- 示例
|
||||
|
||||
```python
|
||||
import Preset.Controller.PresetApi as presetApi
|
||||
obj = presetApi.GetPresetByName("name")
|
||||
```
|
||||
|
||||
|
||||
|
||||
## GetPresetByType
|
||||
|
||||
<span style="display:inline;color:#7575f9">客户端</span>/<span style="display:inline;color:#ff5555">服务端</span>
|
||||
|
||||
method in Preset.Controller.PresetApi
|
||||
|
||||
- 描述
|
||||
|
||||
获取指定维度的指定类型的第一个预设
|
||||
|
||||
- 参数
|
||||
|
||||
| 参数名 | <div style="width: 4em">数据类型</div> | 说明 |
|
||||
| :--- | :--- | :--- |
|
||||
| classType | str | 指定类型 |
|
||||
| dimension | int | 指定维度ID,默认为-1表示所有维度,本参数在客户端调用时无效,客户端只能获取当前维度 |
|
||||
|
||||
- 返回值
|
||||
|
||||
| <div style="width: 4em">数据类型</div> | 说明 |
|
||||
| :--- | :--- |
|
||||
| PresetBase | 预设/None |
|
||||
|
||||
- 示例
|
||||
|
||||
```python
|
||||
# 获取第一个实体预设
|
||||
import Preset.Controller.PresetApi as presetApi
|
||||
obj = presetApi.GetPresetByType("EntityPreset")
|
||||
```
|
||||
|
||||
|
||||
|
||||
## GetPresetSize
|
||||
|
||||
<span style="display:inline;color:#7575f9">客户端</span>/<span style="display:inline;color:#ff5555">服务端</span>
|
||||
|
||||
method in Preset.Controller.PresetApi
|
||||
|
||||
- 描述
|
||||
|
||||
根据预设ID获取预设的包围盒大小
|
||||
|
||||
- 参数
|
||||
|
||||
| 参数名 | <div style="width: 4em">数据类型</div> | 说明 |
|
||||
| :--- | :--- | :--- |
|
||||
| presetId | str | 预设ID |
|
||||
|
||||
- 返回值
|
||||
|
||||
| <div style="width: 4em">数据类型</div> | 说明 |
|
||||
| :--- | :--- |
|
||||
| tuple(float, | float, float) 预设的包围盒大小 |
|
||||
|
||||
- 示例
|
||||
|
||||
```python
|
||||
import Preset.Controller.PresetApi as presetApi
|
||||
size = presetApi.GetPresetSize(presetId)
|
||||
```
|
||||
|
||||
|
||||
|
||||
## GetPresetsByName
|
||||
|
||||
<span style="display:inline;color:#7575f9">客户端</span>/<span style="display:inline;color:#ff5555">服务端</span>
|
||||
|
||||
method in Preset.Controller.PresetApi
|
||||
|
||||
- 描述
|
||||
|
||||
获取指定名称的所有预设
|
||||
|
||||
- 参数
|
||||
|
||||
| 参数名 | <div style="width: 4em">数据类型</div> | 说明 |
|
||||
| :--- | :--- | :--- |
|
||||
| name | str | 指定名称 |
|
||||
| dimension | int | 指定维度ID,默认为-1表示所有维度,本参数在客户端调用时无效,客户端只能获取当前维度 |
|
||||
|
||||
- 返回值
|
||||
|
||||
| <div style="width: 4em">数据类型</div> | 说明 |
|
||||
| :--- | :--- |
|
||||
| list(PresetBase) | 预设列表 |
|
||||
|
||||
- 示例
|
||||
|
||||
```python
|
||||
import Preset.Controller.PresetApi as presetApi
|
||||
obj = presetApi.GetPresetsByName("name")
|
||||
```
|
||||
|
||||
|
||||
|
||||
## GetPresetsByType
|
||||
|
||||
<span style="display:inline;color:#7575f9">客户端</span>/<span style="display:inline;color:#ff5555">服务端</span>
|
||||
|
||||
method in Preset.Controller.PresetApi
|
||||
|
||||
- 描述
|
||||
|
||||
获取指定维度的指定类型的所有预设
|
||||
|
||||
- 参数
|
||||
|
||||
| 参数名 | <div style="width: 4em">数据类型</div> | 说明 |
|
||||
| :--- | :--- | :--- |
|
||||
| classType | str | 指定类型 |
|
||||
| dimension | int | 指定维度ID,默认为-1表示所有维度,本参数在客户端调用时无效,客户端只能获取当前维度 |
|
||||
|
||||
- 返回值
|
||||
|
||||
| <div style="width: 4em">数据类型</div> | 说明 |
|
||||
| :--- | :--- |
|
||||
| list(PresetBase) | 预设列表 |
|
||||
|
||||
- 示例
|
||||
|
||||
```python
|
||||
# 获取所有的空预设
|
||||
import Preset.Controller.PresetApi as presetApi
|
||||
obj = presetApi.GetPresetsByType("EmptyPreset")
|
||||
```
|
||||
|
||||
|
||||
|
||||
## GetTickCount
|
||||
|
||||
<span style="display:inline;color:#7575f9">客户端</span>/<span style="display:inline;color:#ff5555">服务端</span>
|
||||
|
||||
method in Preset.Controller.PresetApi
|
||||
|
||||
- 描述
|
||||
|
||||
获取当前帧数
|
||||
|
||||
- 参数
|
||||
|
||||
无
|
||||
|
||||
- 返回值
|
||||
|
||||
| <div style="width: 4em">数据类型</div> | 说明 |
|
||||
| :--- | :--- |
|
||||
| int | 当前帧数 |
|
||||
|
||||
- 示例
|
||||
|
||||
```python
|
||||
import Preset.Controller.PresetApi as presetApi
|
||||
cnt = presetApi.GetTickCount()
|
||||
```
|
||||
|
||||
|
||||
|
||||
## LoadPartByModulePath
|
||||
|
||||
<span style="display:inline;color:#7575f9">客户端</span>/<span style="display:inline;color:#ff5555">服务端</span>
|
||||
|
||||
method in Preset.Controller.PresetApi
|
||||
|
||||
- 描述
|
||||
|
||||
通过模块相对路径加载零件并实例化
|
||||
|
||||
- 参数
|
||||
|
||||
| 参数名 | <div style="width: 4em">数据类型</div> | 说明 |
|
||||
| :--- | :--- | :--- |
|
||||
| modulePath | str | 零件模块相对路径 |
|
||||
|
||||
- 返回值
|
||||
|
||||
| <div style="width: 4em">数据类型</div> | 说明 |
|
||||
| :--- | :--- |
|
||||
| PartBase | 实例化后的零件,失败返回None |
|
||||
|
||||
- 示例
|
||||
|
||||
```python
|
||||
# 加载内置的世界属性零件
|
||||
import Preset.Controller.PresetApi as presetApi
|
||||
obj = presetApi.LoadPartByModulePath("Preset.Parts.WorldPart")
|
||||
# 加载自定义零件,需要把Script_xxxxxx,YourPartDir,YourPart替换为你的自定义零件
|
||||
import Preset.Controller.PresetApi as presetApi
|
||||
obj = presetApi.LoadPartByModulePath("Script_xxxxxx.Parts.YourPartDir.YourPart")
|
||||
```
|
||||
|
||||
|
||||
|
||||
## LoadPartByType
|
||||
|
||||
<span style="display:inline;color:#7575f9">客户端</span>/<span style="display:inline;color:#ff5555">服务端</span>
|
||||
|
||||
method in Preset.Controller.PresetApi
|
||||
|
||||
- 描述
|
||||
|
||||
通过类名加载零件并实例化
|
||||
|
||||
- 参数
|
||||
|
||||
| 参数名 | <div style="width: 4em">数据类型</div> | 说明 |
|
||||
| :--- | :--- | :--- |
|
||||
| partType | str | 零件类名 |
|
||||
|
||||
- 返回值
|
||||
|
||||
| <div style="width: 4em">数据类型</div> | 说明 |
|
||||
| :--- | :--- |
|
||||
| PartBase | 实例化后的零件,失败返回None |
|
||||
|
||||
- 示例
|
||||
|
||||
```python
|
||||
import Preset.Controller.PresetApi as presetApi
|
||||
obj = presetApi.LoadPartByType("WorldPart")
|
||||
```
|
||||
|
||||
|
||||
|
||||
## SpawnPreset
|
||||
|
||||
<span style="display:inline;color:#ff5555">服务端</span>
|
||||
|
||||
method in Preset.Controller.PresetApi
|
||||
|
||||
- 描述
|
||||
|
||||
在指定维度的指定坐标变换处生成指定预设
|
||||
|
||||
- 参数
|
||||
|
||||
| 参数名 | <div style="width: 4em">数据类型</div> | 说明 |
|
||||
| :--- | :--- | :--- |
|
||||
| presetId | str | 指定预设的文件ID,对应预设对象的属性presetId |
|
||||
| transform | Transform | 指定的坐标变换(预设对象->通用->坐标变换Transform) |
|
||||
| dimension | int | 指定的维度ID |
|
||||
| virtual | bool | 素材是否已实例化到地图,True表示未实例化,会在首次加载该预设时实例化素材到地图存档,False则会忽略所有素材 |
|
||||
|
||||
- 返回值
|
||||
|
||||
| <div style="width: 4em">数据类型</div> | 说明 |
|
||||
| :--- | :--- |
|
||||
| PresetBase | 返回生成的预设,失败返回None |
|
||||
|
||||
- 示例
|
||||
|
||||
```python
|
||||
# 内置空预设,特效预设的文件ID分别为EmptyPreset,EffectPreset
|
||||
import Preset.Controller.PresetApi as presetApi
|
||||
from Preset.Model.Transform import Transform
|
||||
preset = presetApi.SpawnPreset("EmptyPreset", Transform(), 0)
|
||||
```
|
||||
|
||||
|
||||
|
||||
309
mcguide/20-玩法开发/15-自定义游戏内容/2-自定义方块/3-特殊方块/11-自定义容器.md
Normal file
309
mcguide/20-玩法开发/15-自定义游戏内容/2-自定义方块/3-特殊方块/11-自定义容器.md
Normal file
@@ -0,0 +1,309 @@
|
||||
---
|
||||
hard: 入门
|
||||
time: 分钟
|
||||
---
|
||||
|
||||
# 自定义容器
|
||||
|
||||
## 概述
|
||||
|
||||
该功能类似自定义箱子,使用原生c++驱动背包界面,实现自定义容器界面的方块。
|
||||
包含长按分堆、双击合堆、右键拖放等功能,方块破坏后内部物品会掉落,方便开发者制作自定义熔炉等界面,而无需考虑复杂的UI逻辑,数据同步逻辑等。
|
||||
|
||||
## base_block新增netease_container
|
||||
|
||||
base_block指定现在可以指定为netease_container
|
||||
|
||||
## netease:block_container
|
||||
|
||||
| 键 | 类型 | 默认值 | 解释 |
|
||||
| ----- | ---- | -------- | -------------- |
|
||||
| custom_description | str | 容器名 | 容器ui打开时的title(复用原版ui时生效)|
|
||||
| screen_name | str | ui名 | 交互方块时打开的ui,形如namespace.screenName |
|
||||
| container_size | int | 容器容量 | 方块容器能够存放的物品槽位数量,取值范围1-108,需与ui槽位匹配。若ui槽位大于配置容量,超过配置的部分无法放入物品;若ui槽位小于配置容量,按shift可放入,但无法在ui中显示 |
|
||||
|
||||
### 注意事项
|
||||
|
||||
- netease_container的size限定为1-108,不在该范围会导致注册失败,需在组件中配置
|
||||
|
||||
- netease_ui_container的size为108,ui中如果指定了大于108的slot将无法放入物品,无需配置
|
||||
|
||||
## 自定义容器事件
|
||||
|
||||
1. PlayerTryPutCustomContainerItemServerEvent事件,玩家尝试改变自定义容器物品时触发该事件,开发者可以监听该事件实现其他逻辑
|
||||
|
||||
## 示例
|
||||
|
||||
自定义容器方块配置:
|
||||
|
||||
```json
|
||||
{
|
||||
"format_version": "1.16.100",
|
||||
"minecraft:block": {
|
||||
"components": {
|
||||
"netease:block_container": {
|
||||
"custom_description": "自定义方块容器",
|
||||
"screen_name": "netease_container.netease_custom_container_screen", // 交互该方块时打开的ui
|
||||
"container_size": 27 // 关闭后保存在方块中的容器size,对应ui中的netease_container扩展写法
|
||||
}
|
||||
},
|
||||
"description": {
|
||||
"base_block": "netease_container",
|
||||
"category": "construction",
|
||||
"identifier": "test:my_custom_container"
|
||||
}
|
||||
}
|
||||
}
|
||||
```
|
||||
|
||||
ui配置:
|
||||
> 此处以原版箱子的json为基础进行修改
|
||||
|
||||
注意:
|
||||
- collection_name指定为netease_container
|
||||
|
||||
- ui的grid空格数量如果大于组件中设置的size,那超出的那一部分无法放置物品
|
||||
|
||||
```json
|
||||
{
|
||||
"namespace": "netease_container",
|
||||
"test_collection": {
|
||||
"type": "stack_panel",
|
||||
"size": [ "100%", "100%c" ],
|
||||
"controls": [
|
||||
{
|
||||
"row_1": {
|
||||
"type": "stack_panel",
|
||||
"orientation": "horizontal",
|
||||
"size": [ "100%", "100%cm" ],
|
||||
"collection_name": "netease_container",
|
||||
"controls": [
|
||||
{
|
||||
"a@netease_container.custom_grid_item": {
|
||||
"collection_index": 27
|
||||
}
|
||||
},
|
||||
{
|
||||
"padding": {
|
||||
"type": "panel",
|
||||
"size": [ 4, 0 ]
|
||||
}
|
||||
},
|
||||
{
|
||||
"b@netease_container.custom_grid_item": {
|
||||
"collection_index": 28
|
||||
}
|
||||
}
|
||||
]
|
||||
}
|
||||
},
|
||||
{
|
||||
"padding_1": {
|
||||
"type": "panel",
|
||||
"size": [ "100%", 4 ]
|
||||
}
|
||||
},
|
||||
{
|
||||
"row_2": {
|
||||
"type": "stack_panel",
|
||||
"orientation": "horizontal",
|
||||
"size": [ "100%", "100%cm" ],
|
||||
"collection_name": "netease_container",
|
||||
"controls": [
|
||||
{
|
||||
"c@netease_container.custom_grid_item": {
|
||||
"collection_index": 29
|
||||
}
|
||||
},
|
||||
{
|
||||
"padding": {
|
||||
"type": "panel",
|
||||
"size": [ 4, 0 ]
|
||||
}
|
||||
},
|
||||
{
|
||||
"d@netease_container.custom_grid_item": {
|
||||
"collection_index": 30
|
||||
}
|
||||
}
|
||||
]
|
||||
}
|
||||
},
|
||||
{
|
||||
"padding_2": {
|
||||
"type": "panel",
|
||||
"size": [ "100%", 4 ]
|
||||
}
|
||||
}
|
||||
]
|
||||
},
|
||||
"custom_grid_item@common.container_item": {
|
||||
"$item_collection_name": "netease_container"
|
||||
},
|
||||
"custom_drop_grid_item@common.container_item": {
|
||||
"$item_collection_name": "netease_ui_container"
|
||||
},
|
||||
"netease_custom_container_grid": {
|
||||
"type": "grid",
|
||||
"size": [ 162, "100.0%c" ],
|
||||
"anchor_from": "top_left",
|
||||
"anchor_to": "top_left",
|
||||
"grid_dimensions": [ 9, 3 ],
|
||||
"grid_item_template": "netease_container.custom_grid_item",
|
||||
"collection_name": "netease_container",
|
||||
"maximum_grid_items": 27
|
||||
},
|
||||
"netease_drop_container_grid": {
|
||||
"type": "grid",
|
||||
"size": [ 162, "100.0%c" ],
|
||||
"anchor_from": "top_left",
|
||||
"anchor_to": "top_left",
|
||||
"grid_dimensions": [ 9, 2 ],
|
||||
"grid_item_template": "netease_container.custom_drop_grid_item",
|
||||
"collection_name": "netease_ui_container",
|
||||
"maximum_grid_items": 18
|
||||
},
|
||||
"container_label": {
|
||||
"type": "label",
|
||||
"offset": [ 7, -1 ],
|
||||
"anchor_from": "top_left",
|
||||
"anchor_to": "top_left",
|
||||
"text": "$container_title",
|
||||
"size": [ "90%", "default" ],
|
||||
"color": "$title_text_color",
|
||||
"layer": 2
|
||||
},
|
||||
"selected_item_details@common.selected_item_details": {
|
||||
"offset": [ 0, 0 ]
|
||||
},
|
||||
"netease_custom_container_panel_top_half": {
|
||||
"type": "panel",
|
||||
"size": [ "100%", "100.0%c" ],
|
||||
"offset": [ 0, 11 ],
|
||||
"anchor_to": "top_left",
|
||||
"anchor_from": "top_left",
|
||||
"controls": [
|
||||
{
|
||||
"container_label@netease_container.container_label": {}
|
||||
},
|
||||
{
|
||||
"netease_custom_container_grid1@netease_container.netease_custom_container_grid": {
|
||||
"offset": [ 7, 10 ]
|
||||
}
|
||||
},
|
||||
{
|
||||
"netease_custom_container_grid2@netease_container.netease_drop_container_grid": {
|
||||
"offset": [ 7, 70 ]
|
||||
}
|
||||
}
|
||||
]
|
||||
},
|
||||
"netease_custom_container_panel": {
|
||||
"type": "panel",
|
||||
"controls": [
|
||||
{
|
||||
"container_gamepad_helpers@common.container_gamepad_helpers": {}
|
||||
},
|
||||
{
|
||||
"flying_item_renderer@common.flying_item_renderer": {
|
||||
"layer": 11
|
||||
}
|
||||
},
|
||||
{
|
||||
"selected_item_details_factory@common.selected_item_details_factory": {
|
||||
"control_name": "@netease_container.selected_item_details"
|
||||
}
|
||||
},
|
||||
{
|
||||
"item_lock_notification_factory@common.item_lock_notification_factory": {
|
||||
"control_name": "@common.item_lock_notification"
|
||||
}
|
||||
},
|
||||
{
|
||||
"root_panel@common.root_panel": {
|
||||
"size": [ 176, 220 ],
|
||||
"layer": 1,
|
||||
"controls": [
|
||||
{
|
||||
"common_panel@common.common_panel": {
|
||||
"size": [ "100%", "100.0%c" ],
|
||||
"$dialog_background|default": "common.dialog_background_opaque",
|
||||
"controls": [
|
||||
{
|
||||
"bg_image@$dialog_background": {
|
||||
"size": [ "100%", "100.0%c+-37.0px" ],
|
||||
"layer": 1,
|
||||
"controls": [
|
||||
{
|
||||
"chest_panel": {
|
||||
"type": "panel",
|
||||
"layer": 5,
|
||||
"size": [ "100%", "100.0%c+-7.0px" ],
|
||||
"controls": [
|
||||
{
|
||||
"netease_custom_container_panel_top_half@netease_container.netease_custom_container_panel_top_half": {}
|
||||
},
|
||||
{
|
||||
"inventory_panel_bottom_half_with_label@common.inventory_panel_bottom_half_with_label": {}
|
||||
},
|
||||
{
|
||||
"hotbar_grid@common.hotbar_grid_template": {}
|
||||
}
|
||||
]
|
||||
}
|
||||
},
|
||||
{
|
||||
"inventory_selected_icon_button@common.inventory_selected_icon_button": {}
|
||||
},
|
||||
{
|
||||
"gamepad_cursor@common.gamepad_cursor_button": {}
|
||||
},
|
||||
{
|
||||
"close@common.close_button": {
|
||||
"layer": "$close_button_layer",
|
||||
"offset": "$close_button_offset",
|
||||
"ignored": "$use_compact_close_button"
|
||||
}
|
||||
},
|
||||
{
|
||||
"compact_close@common.compact_close_button": {
|
||||
"layer": "$close_button_layer",
|
||||
"offset": "$close_button_offset",
|
||||
"ignored": "(not $use_compact_close_button)"
|
||||
}
|
||||
}
|
||||
],
|
||||
"bindings": [
|
||||
{
|
||||
"binding_name": "$close_button_visible_binding_name",
|
||||
"binding_name_override": "#visible"
|
||||
}
|
||||
]
|
||||
}
|
||||
}
|
||||
]
|
||||
}
|
||||
}
|
||||
]
|
||||
}
|
||||
}
|
||||
]
|
||||
},
|
||||
"netease_custom_container_screen@common.inventory_screen_common": {
|
||||
"$close_on_player_hurt|default": true,
|
||||
"close_on_player_hurt": "$close_on_player_hurt",
|
||||
"variables": [
|
||||
{
|
||||
"requires": "$desktop_screen",
|
||||
"$screen_content": "netease_container.netease_custom_container_panel",
|
||||
"$screen_bg_content": "common.screen_background",
|
||||
"$screen_background_alpha": 0.4
|
||||
},
|
||||
{
|
||||
"requires": "$pocket_screen",
|
||||
"$screen_content": "netease_container_pocket.netease_custom_container_panel"
|
||||
}
|
||||
]
|
||||
}
|
||||
}
|
||||
```
|
||||
BIN
mcguide/20-玩法开发/15-自定义游戏内容/picture/custom_command6.png
Normal file
BIN
mcguide/20-玩法开发/15-自定义游戏内容/picture/custom_command6.png
Normal file
Binary file not shown.
|
After Width: | Height: | Size: 25 KiB |
BIN
mcguide/20-玩法开发/18-性能优化/images/after_optimization.png
Normal file
BIN
mcguide/20-玩法开发/18-性能优化/images/after_optimization.png
Normal file
Binary file not shown.
|
After Width: | Height: | Size: 13 KiB |
BIN
mcguide/20-玩法开发/18-性能优化/images/before_optimization.png
Normal file
BIN
mcguide/20-玩法开发/18-性能优化/images/before_optimization.png
Normal file
Binary file not shown.
|
After Width: | Height: | Size: 14 KiB |
659
mcguide/20-玩法开发/18-性能优化/代码优化.md
Normal file
659
mcguide/20-玩法开发/18-性能优化/代码优化.md
Normal file
@@ -0,0 +1,659 @@
|
||||
---
|
||||
front: https://nie.res.netease.com/r/pic/20210728/2dc2a94f-71f6-4cc5-8700-3c3696f79a0c.jpg
|
||||
hard: 进阶
|
||||
time: 30分钟
|
||||
---
|
||||
|
||||
# 代码优化
|
||||
|
||||
## 前言
|
||||
|
||||
本文介绍了基于Python 2的一些常用技巧,能够优化代码,提升程序运行效率。
|
||||
|
||||
## 使用缓存(内存换CPU)
|
||||
|
||||
对象的重复创建与销毁会有一定性能消耗,对于需要频繁使用的数据,建议保存起来,下次从内存取出来直接使用,是一种常用的空间换时间(内存换CPU)的优化手段,对于减少游戏卡顿有较好效果。
|
||||
|
||||
### 避免在tick函数内使用import
|
||||
|
||||
import模块的消耗并没有小到可以忽略的地步,建议挪到文件的顶部进行import。如果这样会导致循环引用,则可以将模块缓存为类的成员变量
|
||||
|
||||
- 错误写法:
|
||||
|
||||
```python
|
||||
class DemoClientSystem(ClientSystem):
|
||||
def Update(self):
|
||||
# 在每帧执行的逻辑内import模块
|
||||
import mod.client.extraClientApi as clientApi
|
||||
clientApi.xxx
|
||||
```
|
||||
|
||||
- 正确写法:
|
||||
|
||||
```python
|
||||
# 在文件顶部import模块
|
||||
import mod.client.extraClientApi as clientApi
|
||||
class DemoClientSystem(ClientSystem):
|
||||
def Update(self):
|
||||
clientApi.xxx
|
||||
```
|
||||
|
||||
如果两个模块需要相互引用,那么同时在文件顶部import对方,会导致循环引用报错,则可以用下面的方法处理:
|
||||
|
||||
```python
|
||||
class DemoClientSystem(ClientSystem):
|
||||
def __init__(self, namespace, systemName):
|
||||
ClientSystem.__init__(self, namespace, systemName)
|
||||
# 假设当前模块与另一个otherModule模块需要相互引用
|
||||
import demoScripts.client.otherModule as otherModule
|
||||
self.otherModule = otherModule
|
||||
|
||||
def Update(self):
|
||||
self.otherModule.xxx
|
||||
```
|
||||
|
||||
### 避免多次初始化常量
|
||||
|
||||
- 错误写法:
|
||||
|
||||
在频繁调用的函数中进行声明,例如每次Update的时候
|
||||
|
||||
```python
|
||||
class DemoClientSystem(ClientSystem):
|
||||
def Update(self):
|
||||
# 常量,每帧创建,实际中可能这里会是比较多的数据
|
||||
bigDict = {
|
||||
(-1, -1): 1,
|
||||
(-1, 0): 2,
|
||||
(-1, 1): 3,
|
||||
(0, -1): 4,
|
||||
(0, 0): 5,
|
||||
(0, 1): 6,
|
||||
(1, -1): 7,
|
||||
(1, 0): 8,
|
||||
(1, 1): 9,
|
||||
}
|
||||
# 读取常量做一些逻辑
|
||||
do_something(bigDict)
|
||||
```
|
||||
|
||||
- 正确写法:
|
||||
|
||||
包含数据比较多的一些常量,特别是List或者Dict类型的,可以放到类的__init__函数当中
|
||||
|
||||
```python
|
||||
class DemoClientSystem(ClientSystem):
|
||||
# 构造函数
|
||||
def __init__(self, namespace, systemName):
|
||||
ClientSystem.__init__(self, namespace, systemName)
|
||||
# 在初始化时创建
|
||||
self.bigDict = {
|
||||
(-1, -1): 1,
|
||||
(-1, 0): 2,
|
||||
(-1, 1): 3,
|
||||
(0, -1): 4,
|
||||
(0, 0): 5,
|
||||
(0, 1): 6,
|
||||
(1, -1): 7,
|
||||
(1, 0): 8,
|
||||
(1, 1): 9,
|
||||
}
|
||||
|
||||
def Update(self):
|
||||
do_something(self.bigDict)
|
||||
```
|
||||
|
||||
### 缓存多次用到的中间数据
|
||||
|
||||
一些方法多次调用的返回值是一样,可以使用临时变量缓存,不需要重复调用
|
||||
|
||||
- 错误写法:
|
||||
```python
|
||||
class DemoServerSystem(ServerSystem):
|
||||
# 监听的ServerItemUseOnEvent事件回调
|
||||
def ServerItemUseOnEvent(self, args):
|
||||
# 设置多个方块
|
||||
self.SetBlock(args['dimensionId'], (args['x']-1, args['y'], args['z']), 'minecraft:air')
|
||||
self.SetBlock(args['dimensionId'], (args['x']-1, args['y'], args['z']), 'minecraft:air')
|
||||
self.SetBlock(args['dimensionId'], (args['x'], args['y'], args['z']), 'minecraft:air')
|
||||
self.SetBlock(args['dimensionId'], (args['x'], args['y'], args['z']-1), 'minecraft:air')
|
||||
self.SetBlock(args['dimensionId'], (args['x'], args['y'], args['z']+1), 'minecraft:air')
|
||||
|
||||
def SetBlock(self, dimensionId, pos, blockName):
|
||||
serverApi.GetEngineCompFactory().CreateBlockInfo(levelId).SetBlockNew(pos, {'name': blockName}, 0, dimensionId)
|
||||
```
|
||||
|
||||
- 正确写法:
|
||||
|
||||
```python
|
||||
# compFactory使用缓存
|
||||
serverCompFactory = serverApi.GetEngineCompFactory()
|
||||
class DemoServerSystem(ServerSystem):
|
||||
# 监听的ServerItemUseOnEvent事件回调
|
||||
def ServerItemUseOnEvent(self, args):
|
||||
# 对字典内的值做缓存
|
||||
dimensionId = args['dimensionId']
|
||||
x = args['x']
|
||||
y = args['y']
|
||||
z = args['z']
|
||||
self.SetBlock(dimensionId, (x-1, y, z), 'minecraft:air')
|
||||
self.SetBlock(dimensionId, (x-1, y, z), 'minecraft:air')
|
||||
self.SetBlock(dimensionId, (x, y, z), 'minecraft:air')
|
||||
self.SetBlock(dimensionId, (x, y, z-1), 'minecraft:air')
|
||||
self.SetBlock(dimensionId, (x, y, z+1), 'minecraft:air')
|
||||
|
||||
def SetBlock(self, dimensionId, pos, blockName):
|
||||
serverCompFactory.CreateBlockInfo(levelId).SetBlockNew(pos, {'name': blockName}, 0, dimensionId)
|
||||
```
|
||||
|
||||
### 使用dict代替多个else if
|
||||
|
||||
当条件判断的分支很多时,dict跳转的性能会比一连串的else高很多。如果一定要用if,推荐把命中概率较高的判断放前面。
|
||||
|
||||
- 错误写法:
|
||||
|
||||
```python
|
||||
serverCompFactory = serverApi.GetEngineCompFactory()
|
||||
class DemoServerSystem(ServerSystem):
|
||||
def HandleBlocks(self, pos, dimensionId):
|
||||
# 获取方块信息
|
||||
blockIdentifier = serverCompFactory.CreateBlockInfo(levelId).GetBlockNew(pos, dimensionId)[0]
|
||||
# 根据方块类型做出不同的处理
|
||||
if blockIdentifier == "minecraft:iron_ore":
|
||||
self.handleIronBlock()
|
||||
elif blockIdentifier == "minecraft:gold_ore":
|
||||
self.handleGoldBlock()
|
||||
elif blockIdentifier == "minecraft:diamond_ore":
|
||||
self.handleDiamondBlock()
|
||||
...
|
||||
```
|
||||
|
||||
- 正确写法:
|
||||
|
||||
```python
|
||||
serverCompFactory = serverApi.GetEngineCompFactory()
|
||||
class DemoServerSystem(ServerSystem):
|
||||
def __init__(self):
|
||||
# 注册处理函数
|
||||
self.blockHandlers = {
|
||||
"minecraft:iron_ore": self.handleIronBlock,
|
||||
"minecraft:gold_ore": self.handleGoldBlock,
|
||||
"minecraft:diamond_ore": self.handleDiamondBlock,
|
||||
}
|
||||
|
||||
def HandleBlocks(self, data):
|
||||
blockIdentifier = serverCompFactory.CreateBlockInfo(levelId).GetBlockNew(pos, dimensionId)[0]
|
||||
# 从dict中选取处理函数
|
||||
handler = self.blockHandlers.get(blockIdentifier)
|
||||
if handler:
|
||||
handler()
|
||||
```
|
||||
|
||||
## 使用分帧(实时性换CPU)
|
||||
|
||||
同一时刻内处理大量的逻辑,容易造成卡顿。这时候需要把逻辑执行的时间错开到多帧去执行,让每一帧的任务量不要太重。
|
||||
|
||||
### 大批量修改数据分多帧处理
|
||||
|
||||
这里以方块为例:
|
||||
|
||||
- 错误写法: (同一时刻全部处理,需要处理 100 * 100 * 100 即一百万个方块,必然会卡)
|
||||
|
||||
```python
|
||||
# 修改某个区域 100 * 100 * 100范围内的方块为空气
|
||||
def SetBlocksToAir(self, fromPos):
|
||||
blockcomp = serverApi.CreateComponent(id, "Minecraft", "blockInfo")
|
||||
for x in range(1, 100):
|
||||
for y in range(1, 100):
|
||||
for z in range(1, 100):
|
||||
blockcomp.SetBlockNew((fromPos[0] + x, fromPos[1] + y, fromPos[2] + z), {'name':'minecraft:air'})
|
||||
```
|
||||
|
||||
- 正确写法: (分开每帧只处理5个)
|
||||
|
||||
```python
|
||||
# 修改某个区域 100 * 100 * 100范围内的方块为空气
|
||||
def SetBlocksToAir(self, fromPos):
|
||||
# 命令队列
|
||||
self.posList = []
|
||||
self.posIndex = 0
|
||||
|
||||
for x in range(1, 100):
|
||||
for y in range(1, 100):
|
||||
for z in range(1, 100):
|
||||
self.posList.append((fromPos[0] + x, fromPos[1] + y, fromPos[2] + z))
|
||||
|
||||
# 被引擎直接执行的父类的重写函数,引擎会执行该Update回调,1秒钟30帧
|
||||
def Update(self):
|
||||
if self.posList:
|
||||
posListLen = len(self.posList)
|
||||
blockcomp = serverApi.CreateComponent(id, "Minecraft", "blockInfo")
|
||||
#每帧处理5个
|
||||
handleNum = 5
|
||||
while(handleNum > 0 and self.posIndex < posListLen):
|
||||
blockcomp.SetBlockNew(self.posList[self.posIndex], {'name':'minecraft:air'})
|
||||
self.posIndex = self.posIndex + 1
|
||||
handleNum = handleNum - 1
|
||||
|
||||
# 全部处理完成
|
||||
if self.posIndex >= posListLen:
|
||||
self.posList = None
|
||||
```
|
||||
|
||||
### 非重要逻辑降帧处理
|
||||
|
||||
不要每帧执行所有逻辑更新,不同的逻辑实际中根据实时性要求进行间隔更新
|
||||
|
||||
- 错误写法:
|
||||
(每帧执行所有更新逻辑)
|
||||
```python
|
||||
def Update(self):
|
||||
self.do_something1()
|
||||
self.do_something2()
|
||||
self.do_something3()
|
||||
```
|
||||
|
||||
- 正确写法:
|
||||
(分开每帧只处理5个)
|
||||
```python
|
||||
class DemoClientSystem(ClientSystem):
|
||||
# 构造函数
|
||||
def __init__(self, namespace, systemName):
|
||||
ClientSystem.__init__(self, namespace, systemName)
|
||||
self.tick = 0
|
||||
|
||||
def Update(self):
|
||||
self.tick = self.tick + 1
|
||||
# 重要逻辑每帧执行
|
||||
self.do_something1()
|
||||
|
||||
if self.tick % 5 == 0:
|
||||
# 次要逻辑降帧执行
|
||||
self.do_something2()
|
||||
|
||||
if self.tick % 10 == 0:
|
||||
# 更次要的逻辑,使用更低的帧率执行
|
||||
self.do_something3()
|
||||
```
|
||||
|
||||
### 少用轮询逻辑
|
||||
|
||||
使用事件或一些适用的接口来代替每帧尝试的操作。
|
||||
|
||||
假想有一个需求:我想删除一个实体,但是当前这个实体没有被加载
|
||||
|
||||
- 错误写法:
|
||||
|
||||
每帧尝试删除该实体,直到成功为止
|
||||
|
||||
- 推荐写法:
|
||||
|
||||
1. 监听AddEntityServerEvent,在该实体的回调中删除。
|
||||
2. 如果该实体是手动创建的,可以使用SetPersistence接口将其设置为不存盘,那就不再需要处理该实体被卸载而无法删除的情况。
|
||||
|
||||
## 优化字节码
|
||||
|
||||
Python 是解释型语言,代码在运行时会先编译为字节码(Bytecode),再由解释器逐行执行字节码,优化字节码可以直接提升执行效率。
|
||||
|
||||
### 使用推导式
|
||||
|
||||
如果要对容器进行操作,使用推导式是最快的办法。在可以使用列表/字典/集合推导式时,尽量使用推导式,而不是使用for循环。
|
||||
|
||||
**列表添加元素:**
|
||||
|
||||
```python
|
||||
a = []
|
||||
for i in xrange(1000):
|
||||
if i % 2 == 0:
|
||||
a.append(i*i)
|
||||
```
|
||||
|
||||
**缓存append方法:**
|
||||
|
||||
```python
|
||||
a = []
|
||||
l = a.append
|
||||
for i in xrange(1000):
|
||||
if i % 2 == 0:
|
||||
l(i*i)
|
||||
```
|
||||
|
||||
**列表推导式:**
|
||||
|
||||
```python
|
||||
a = [i*i for i in xrange(1000) if i % 2 == 0]
|
||||
```
|
||||
|
||||
**测试样例:**
|
||||
|
||||
```python
|
||||
from timeit import timeit
|
||||
print "loop + append:", timeit("for i in xrange(1000):\n if i % 2 == 0:\n a.append(i*i)", "a=[]", number=10000)
|
||||
print "loop + append(cache):", timeit("for i in xrange(1000):\n if i % 2 == 0:\n l(i*i)", "a=[];l=a.append", number=10000)
|
||||
print "list comprehenshion:", timeit("a = [i*i for i in xrange(1000) if i % 2 == 0]", number=10000)
|
||||
```
|
||||
|
||||
**测试结果:**
|
||||
|
||||
```python
|
||||
loop + append: 0.6161811
|
||||
loop + append(cache): 0.5132234
|
||||
list comprehenshion: 0.4063318
|
||||
```
|
||||
|
||||
**结论:**
|
||||
|
||||
列表推导式,能获得明显的性能提升,元素越多差距越明显。
|
||||
|
||||
还有**字典推导式:**
|
||||
|
||||
```python
|
||||
g = (('a',1),('b',2),('c',3),('d',4),('e',5),('f',6))
|
||||
d = {k:v for k, v in g if v % 2 == 0}
|
||||
```
|
||||
|
||||
**集合推导式:**
|
||||
|
||||
```python
|
||||
g = (1,2,3,4,5,6)
|
||||
s = {v for v in g if v % 2 == 0}
|
||||
```
|
||||
|
||||
### 字符串拼接
|
||||
|
||||
我们有很多办法拼接字符串,比如直接相加、使用format、使用%、使用join,那么到底哪种办法最快呢?
|
||||
|
||||
**常见写法:**
|
||||
|
||||
```python
|
||||
s = s1 + s2 + s3
|
||||
|
||||
s = s1; s += s2; s += s3
|
||||
|
||||
s = '%s%s%s' % (s1,s2,s3)
|
||||
|
||||
s = ''.join((s1,s2,s3))
|
||||
```
|
||||
|
||||
**测试样例1:**
|
||||
|
||||
```python
|
||||
from timeit import timeit
|
||||
N = 10000000
|
||||
setup = 's1="hello"*35; s2="world"*25; s3="!"*30; s4=s3*2; s5=s3*2'
|
||||
print(timeit("s = s1 + s2 + s3", setup, number=N))
|
||||
print(timeit("s = s1; s+=s2; s+=s3", setup, number=N))
|
||||
print(timeit("s = '%s%s%s' % (s1,s2,s3)", setup, number=N))
|
||||
print(timeit("s = '{}{}{}'.format(s1,s2,s3)", setup, number=N))
|
||||
print(timeit("s = ''.join((s1,s2,s3))", setup, number=N))
|
||||
```
|
||||
|
||||
**测试结果1:**
|
||||
|
||||
```python
|
||||
0.7396258
|
||||
0.8553558
|
||||
1.5691264
|
||||
3.8130296
|
||||
1.0085892
|
||||
```
|
||||
|
||||
**测试样例2:**
|
||||
|
||||
```python
|
||||
from timeit import timeit
|
||||
N = 10000000
|
||||
setup = 's1="hello"*35; s2="world"*25; s3="!"*30; s4=s3*2; s5=s3*2'
|
||||
print(timeit("s = s1 + s2 + s3 + s4 + s5", setup, number=N))
|
||||
print(timeit("s = s1; s+=s2; s+= s3; s+= s4; s+= s5", setup, number=N))
|
||||
print(timeit("s = '%s%s%s%s%s' % (s1,s2,s3,s4,s5)", setup, number=N))
|
||||
print(timeit("s = '{}{}{}{}{}'.format(s1,s2,s3,s4,s5)", setup, number=N))
|
||||
print(timeit("s = ''.join((s1,s2,s3,s4,s5))", setup, number=N))
|
||||
```
|
||||
|
||||
**测试结果2:**
|
||||
|
||||
```python
|
||||
1.4091635
|
||||
1.6201083
|
||||
3.4721674
|
||||
4.6679361
|
||||
1.2252783
|
||||
```
|
||||
|
||||
**结论:**
|
||||
|
||||
- 要拼接的子串数量较少时(如不多于3个),直接相加是最快的
|
||||
- 当拼接的子串数量较多时,`join`方法是最快的
|
||||
- 如果只是想纯粹拼接一下字符串,不要使用格式化方法
|
||||
|
||||
### 变量访问
|
||||
|
||||
局部变量访问速度最快,其次是全局变量。如果要访问对象的属性,比如self.client.aaa.bbb中出现了三个点,而每一个点代表一次访问,就会多消耗一次性能。建议在频繁使用时缓存为局部变量。
|
||||
|
||||
```python
|
||||
# 缓存为全局变量CF,减少了一次访问
|
||||
CF = serverApi.GetEngineCompFactory()
|
||||
def OnCustomCommandTrigger(self, args):
|
||||
# 在循环前,将api方法缓存为局部变量
|
||||
createExplosion = CF.CreateExplosion(levelId).CreateExplosion
|
||||
for _ in xrange(1000):
|
||||
createExplosion(...)# 直接调用
|
||||
|
||||
# 将自己的方法/属性缓存为局部变量
|
||||
func = self.xxxsystem.aaa.bbb
|
||||
for _ in xrange(1000):
|
||||
func(...)
|
||||
```
|
||||
|
||||
### 字典查询
|
||||
|
||||
字典的查询属于属性访问中的一个特例。取字典中特定key的值,如取不到返回None,可有下列写法:
|
||||
|
||||
```python
|
||||
def get1(d, key):
|
||||
if key in d:
|
||||
return d[key]
|
||||
return None
|
||||
|
||||
def get2(d, key):
|
||||
if d.has_key(key):
|
||||
return d[key]
|
||||
return None
|
||||
|
||||
def get3(d, key):
|
||||
return d.get(key)
|
||||
|
||||
def get4(d, key):
|
||||
return d.get(key, None)
|
||||
|
||||
def get5(d, key):
|
||||
try:
|
||||
return d[key]
|
||||
except KeyError:
|
||||
pass
|
||||
```
|
||||
|
||||
**测试样例:**
|
||||
|
||||
```python
|
||||
g_d = {"a": 23, "b": 11, "c": 88, "d": 2, "e": 3, "f": 4, "g": 11, "h": 25, "i": 46}
|
||||
from timeit import timeit
|
||||
print(timeit('get1(g_d, "b")', 'from __main__ import get1, g_d', number=100000))
|
||||
print(timeit('get2(g_d, "b")', 'from __main__ import get2, g_d', number=100000))
|
||||
print(timeit('get3(g_d, "b")', 'from __main__ import get3, g_d', number=100000))
|
||||
print(timeit('get4(g_d, "b")', 'from __main__ import get4, g_d', number=100000))
|
||||
print(timeit('get5(g_d, "b")', 'from __main__ import get5, g_d', number=100000))
|
||||
|
||||
print(timeit('get1(g_d, "z")', 'from __main__ import get1, g_d', number=100000))
|
||||
print(timeit('get2(g_d, "z")', 'from __main__ import get2, g_d', number=100000))
|
||||
print(timeit('get3(g_d, "z")', 'from __main__ import get3, g_d', number=100000))
|
||||
print(timeit('get4(g_d, "z")', 'from __main__ import get4, g_d', number=100000))
|
||||
print(timeit('get5(g_d, "z")', 'from __main__ import get5, g_d', number=100000))
|
||||
```
|
||||
|
||||
结果分命中、不命中两种情况汇总:
|
||||
|
||||
| 单位:ms/1w次 | 命中 | 不命中 |
|
||||
| --------- | -------- | -------- |
|
||||
| get1 | 1.17 | **1.05** |
|
||||
| get2 | 1.59 | 1.43 |
|
||||
| get3 | 1.62 | 1.59 |
|
||||
| get4 | **1.75** | 1.80 |
|
||||
| get5 | **1.04** | **9.01** |
|
||||
|
||||
从这个表可以看到,get1用in来判断,平均表现是最好的,是否命中,都是1ms多一点。而最后这个try except,命中的时候是最佳的,不命中的时候性能就大幅恶化。
|
||||
|
||||
**结论:**
|
||||
|
||||
- 对于key是否存在,直接用in来做判断即可,has_key接口比in慢。当然in方法不止可以对字典用,也可以对任何iterable的对象用,python是动态语言,要清楚你in的对象到底是什么。
|
||||
- get的default参数不必填None,因为它本来就是None,填进去反而更慢。
|
||||
|
||||
### 函数调用
|
||||
|
||||
函数调用是有额外开销的,效率敏感场合不容忽略。
|
||||
|
||||
**测试样例:**
|
||||
|
||||
```python
|
||||
log = lambda msg: None
|
||||
|
||||
def foo(msg):
|
||||
log(msg)
|
||||
|
||||
from timeit import timeit
|
||||
print(timeit('foo("hello")', 'from __main__ import foo', number=100000))
|
||||
print(timeit('log("hello")', 'from __main__ import log', number=100000))
|
||||
```
|
||||
|
||||
**测试结果:**
|
||||
|
||||
```python
|
||||
0.0104322
|
||||
0.0051873
|
||||
```
|
||||
|
||||
**结论:**
|
||||
|
||||
python里1万次的函数调用的消耗,约1毫秒的量级。在效率敏感场合,尽量省去不必要的几行代码的函数包装,减少调用层级,以及减少默认参数个数。
|
||||
|
||||
### 方法调用
|
||||
|
||||
类与实例方法的调用和函数调用类似,封装太多也会有明显的效率下降,而且情况可能更严重。
|
||||
|
||||
**测试样例:**
|
||||
|
||||
```python
|
||||
# -*- coding: gbk -*-
|
||||
import time
|
||||
# 定义时间测量装饰器
|
||||
def time_it(func):
|
||||
def wrapper(*args, **kwargs):
|
||||
start_time = time.time()
|
||||
result = func(*args, **kwargs)
|
||||
end_time = time.time()
|
||||
print "函数 {} 耗时: {:.0f} 毫秒".format(func.__name__, (end_time - start_time) * 1000)
|
||||
return result
|
||||
return wrapper
|
||||
def show_warn(message):
|
||||
pass
|
||||
HP_TH = 10
|
||||
class Player(object):
|
||||
def __init__(self):
|
||||
self.hp = 0
|
||||
self.hp_th = HP_TH
|
||||
def tick(self):
|
||||
if self.hp < self.hp_th:
|
||||
self.perform_warn()
|
||||
def perform_warn(self):
|
||||
show_warn("warn")
|
||||
class Player2(object):
|
||||
def __init__(self):
|
||||
self.hp = 0
|
||||
self.hp_th = HP_TH
|
||||
def tick(self):
|
||||
if self.hp < self.hp_th:
|
||||
show_warn("warn")
|
||||
# 性能测试
|
||||
if __name__ == "__main__":
|
||||
N = 10000
|
||||
# 测试 Player 类
|
||||
players = []
|
||||
for _ in xrange(N):
|
||||
players.append(Player())
|
||||
@time_it
|
||||
def run(n):
|
||||
for _ in xrange(n):
|
||||
for p in players:
|
||||
p.tick()
|
||||
run(100)
|
||||
# 测试 Player2 类
|
||||
players = []
|
||||
for _ in xrange(N):
|
||||
players.append(Player2())
|
||||
@time_it
|
||||
def run2(n):
|
||||
for _ in xrange(n):
|
||||
for p in players:
|
||||
p.tick()
|
||||
run2(100)
|
||||
```
|
||||
|
||||
**测试结果:**
|
||||
|
||||
```python
|
||||
函数 run 耗时: 274 毫秒
|
||||
函数 run2 耗时: 168 毫秒
|
||||
```
|
||||
|
||||
可见,减少一层方法调用后,耗时274ms能降到168ms。
|
||||
|
||||
**结论:**
|
||||
|
||||
为了效率的话,请尽量避免过多的类方法封装;同一实例方法的频繁调用,请先缓存下来(如第一个例子中的l=a.append)
|
||||
|
||||
### 模块导入
|
||||
|
||||
关于import写在什么地方,我们都知道,写在模块开头,有这么一些弊端:
|
||||
|
||||
- 首次加载卡顿
|
||||
- 内存过多
|
||||
- 带来冗余
|
||||
- 循环引用
|
||||
|
||||
但写在函数内就一定是最好的办法吗?
|
||||
|
||||
**测试样例:**
|
||||
|
||||
```python
|
||||
def tick():
|
||||
from packageA.subpackageA import math
|
||||
math.fabs(100)
|
||||
|
||||
from packageA.subpackageA import math
|
||||
def tick2():
|
||||
math.fabs(100)
|
||||
|
||||
from timeit import timeit
|
||||
print timeit("tick()", "from __main__ import tick", number=100000)
|
||||
print timeit("tick2()", "from __main__ import tick2", number=100000)
|
||||
|
||||
# 假设把tick函数移到另一个package下(packageB/test.py):
|
||||
print timeit("tick()", "from packageB.test import tick", number=100000)
|
||||
```
|
||||
|
||||
**测试结果:**
|
||||
|
||||
```python
|
||||
0.1006268
|
||||
0.0177434
|
||||
0.1125192
|
||||
```
|
||||
|
||||
可见,函数内import明显要慢很多,尤其是在另外一个package里面import。
|
||||
|
||||
**结论:**
|
||||
|
||||
基础性/通用性模块的导入,import写在模块头,当然前提是这些基础模块要做好规划,不要过于臃肿,不要互相耦合严重。
|
||||
|
||||
对于频繁调用的函数,函数开头不适宜有太多import,package结构也不宜搞得过于复杂。
|
||||
222
mcguide/20-玩法开发/18-性能优化/着色器优化.md
Normal file
222
mcguide/20-玩法开发/18-性能优化/着色器优化.md
Normal file
@@ -0,0 +1,222 @@
|
||||
---
|
||||
front: https://nie.res.netease.com/r/pic/20210728/5a263f49-e1f3-4a9a-96b3-307b11848590.png
|
||||
hard: 进阶
|
||||
time: 30分钟
|
||||
---
|
||||
|
||||
# Shader优化
|
||||
|
||||
## 前言
|
||||
|
||||
为了做出更加炫酷的效果,我们往往会自定义材质,然后定义自己的Shader,或者直接重写替换原版Shader,特别是目前的很多光影MOD,基本都需要对Shader进行修改。Shader与GPU性能密切相关,Shader写得好能让配置不是很高的玩家也能流畅体验炫酷的效果。写得不好,则可能导致高端机也很卡。
|
||||
|
||||
## 尽量少用 if else 条件语句
|
||||
|
||||
GPU是并行处理逻辑的,采用SIMD(单指令多数据)结构, 同一段代码,同一时刻会被多个GPU的处理单元同时处理,这段代码的执行耗时取决于会被执行到的时间最长的代码。为了充分发挥GPU的并行性,我们尽量少用条件分支逻辑,让所有GPU处理单元都执行相同的代码。
|
||||
|
||||
if else的写法如果底下逻辑不多,大部分可以合并,则常常可以改用step()函数进行优化
|
||||
|
||||
step(a,b)的功能为:
|
||||
```glsl
|
||||
若b >= a则返回1,否则返回0
|
||||
```
|
||||
|
||||
所以如果有这么一个写法:
|
||||
```glsl
|
||||
if(r >= 0.5)
|
||||
{
|
||||
r = 0.6;
|
||||
}else{
|
||||
r = 0.4;
|
||||
}
|
||||
```
|
||||
|
||||
则应该写成:
|
||||
```glsl
|
||||
r = 0.4 + step(0.5, r) * (0.6 - 0.4);
|
||||
```
|
||||
|
||||
逻辑上相当于若r >= 0.5 ,则:
|
||||
```glsl
|
||||
r = 0.4 + 1 * 0.2 = 0.6;
|
||||
```
|
||||
否则r < 0.5,则:
|
||||
```glsl
|
||||
r = 0.4 + 0 * 0.2 = 0.4;
|
||||
```
|
||||
由此即可消去if else语句。
|
||||
|
||||
|
||||
- 错误写法:
|
||||
(if else大量使用)
|
||||
```python
|
||||
// 简单的卡通着色例子,把连续的颜色值映射到几个特殊的离散的值上面
|
||||
//根据传入的颜色值取得一个新的颜色值, 这里为了展示简单,我们用仅用一个通道进行举例
|
||||
void main()
|
||||
{
|
||||
color.r = getNewRedColor(color.r);
|
||||
...(省略无关代码)
|
||||
}
|
||||
float getNewRedColor(float r)
|
||||
{
|
||||
float newR;
|
||||
if(r >= 0.6)
|
||||
{
|
||||
newR = 0.8;
|
||||
}else if(r >= 0.3)
|
||||
{
|
||||
newR = 0.5;
|
||||
}else{
|
||||
newR = 0.1;
|
||||
}
|
||||
return newR;
|
||||
}
|
||||
```
|
||||
|
||||
- 正确写法:
|
||||
(分开每帧只处理5个)
|
||||
```python
|
||||
// 简单的卡通着色例子,把连续的颜色值映射到几个特殊的离散的值上面
|
||||
//根据传入的颜色值取得一个新的颜色值, 这里为了展示简单,我们用仅用一个通道进行举例
|
||||
void main()
|
||||
{
|
||||
color.r = getNewRedColor(color.r);
|
||||
...(省略无关代码)
|
||||
}
|
||||
float getNewRedColor(float r)
|
||||
{
|
||||
float newR = 0.0;
|
||||
newR = newR + step(0.6, r) * 0.8;
|
||||
newR = newR + step(0.3, r) * step(r, 0.6) * 0.5;
|
||||
newR = newR + step(r, 0.3) * 0.1;
|
||||
return newR;
|
||||
}
|
||||
```
|
||||
|
||||
## 循环语句
|
||||
|
||||
for, while这类的循环语句内部实现其实也会有条件判断if else语句,并行性比较低,所以如果可以不用尽量不用,但这并不是让大家去复制粘贴多少次代码,这没有意义,则是尽量从逻辑上避免循环逻辑的出现,如果实在需要使用,则建议循环体内不要做太多耗性能的操作。
|
||||
除此之外,循环变量一定要记得初始化!变量的初始值在不同设备上有时候是不一样的, 比如int的初始值并不一定在所有设备上都是0。
|
||||
|
||||
- 错误写法:
|
||||
(循环变量i没有初始化)
|
||||
```python
|
||||
for(int i; i < 5; i ++)
|
||||
{
|
||||
func();
|
||||
}
|
||||
```
|
||||
在一些设备上i的值会被初始化为0,循环5次没有问题。但在一些设备上,i的默认值可能是一个没有意义的数,甚至是负数!例如是−2147483648,上面循环则会循环超级多次,玩家会直接卡到动不了。
|
||||
|
||||
- 正确写法:
|
||||
(分开每帧只处理5个)
|
||||
```python
|
||||
//这里i一定要给一个默认值
|
||||
for(int i = 0; i < 5; i ++)
|
||||
{
|
||||
func();
|
||||
}
|
||||
```
|
||||
|
||||
## 精美贴图开关
|
||||
|
||||
开关在游戏中的位置:设置->视频->精美贴图
|
||||
开发者可根据玩家是否开启精美贴图执行不一样的shader逻辑。这里需要声明两个文件,materials/sad.json 和 materials/fancy.json。我们先看下原版中两个文件的内容:
|
||||
```python
|
||||
sad.json:
|
||||
[
|
||||
{"path":"materials/sad.material"},
|
||||
{"path":"materials/entity.material"},
|
||||
{"path":"materials/terrain.material"},
|
||||
{"path":"materials/portal.material"},
|
||||
{"path":"materials/barrier.material"},
|
||||
{"path":"materials/wireframe.material"}
|
||||
]
|
||||
|
||||
fancy.json:
|
||||
[
|
||||
{"path":"materials/fancy.material", "+defines":["FANCY"]},
|
||||
{"path":"materials/entity.material", "+defines":["FANCY"]},
|
||||
{"path":"materials/terrain.material", "+defines":["FANCY"]},
|
||||
{"path":"materials/hologram.material"},
|
||||
{"path":"materials/portal.material", "+defines":["FANCY"]},
|
||||
{"path":"materials/barrier.material"},
|
||||
{"path":"materials/wireframe.material"}
|
||||
]
|
||||
```
|
||||
|
||||
开启精美贴图的时候会加载下面的材质,不开启的话加载上面的材质。我们用一个材质进行举例,比如sad和fancy中都有的terrain.material材质,fancy中不同在于额外定义了FANCY字段,则在Shader中可以这样写:
|
||||
```python
|
||||
void main()
|
||||
{
|
||||
#ifdef FANCY
|
||||
//这里可以做更多的逻辑,渲染更好的效果
|
||||
renderBeautiful();
|
||||
#else
|
||||
// 这里是关闭了精美贴图,这里不应该执行过多逻辑,只需要提供简单的显示效果就可以了
|
||||
renderSimple();
|
||||
#endif
|
||||
}
|
||||
```
|
||||
|
||||
## 降低精度
|
||||
|
||||
通常来说,我们写的shader不需要过于关注精度,因为大部分情况下性能瓶颈不在这里,但一些过于复杂,大部分玩家都说卡的MOD,建议可以考虑在精度方面做一些优化。
|
||||
|
||||
shader中变量精度越低,GPU运算越快,精度分为3档,关键字分别为:
|
||||
```glsl
|
||||
低:lowp
|
||||
中:mediump
|
||||
高:highp
|
||||
```
|
||||
|
||||
int(整数):建议256内的整数使用lowp, 1024内的整数使用mediump,其它情况则使用highp
|
||||
float(浮点):建议256内的浮点数使用lowp, 16384内的浮点数使用mediump,其它情况则使用highp
|
||||
|
||||
默认精度:
|
||||
```glsl
|
||||
顶点着色器中float, int均为highp
|
||||
像素着色器中int为mediump,float根据设备不同无默认精度
|
||||
```
|
||||
声明方法例子(直接把精度关键字加在变量类型前面):
|
||||
```glsl
|
||||
lowp float color
|
||||
```
|
||||
|
||||
## 移除无用变量与逻辑
|
||||
|
||||
部分开发者编写Shader的时候可能会偷下懒,从自己以前写的代码里面复制粘贴过来,但这部分代码可能有很多逻辑或者变量都没有用上,导致大量的运算是无意义浪费性能的,需要去掉。
|
||||
|
||||
- 错误写法:
|
||||
(包含大量无用逻辑)
|
||||
```python
|
||||
void main()
|
||||
{
|
||||
//这里声明多个变量,又或许是从其它地方复制过来,具体值先省略
|
||||
A = ...;
|
||||
B = ...;
|
||||
C = ...;
|
||||
|
||||
//这里只用了变量A;B和C都没有用到
|
||||
DoSomeThingWithA(A);
|
||||
return;
|
||||
}
|
||||
```
|
||||
|
||||
- 正确写法:
|
||||
(删除无用逻辑)
|
||||
```python
|
||||
void main()
|
||||
{
|
||||
//只留下A,把其它没用上的都删除掉
|
||||
A = ...;
|
||||
|
||||
//这里只用了变量A;B和C都没有用到
|
||||
DoSomeThingWithA(A);
|
||||
return;
|
||||
}
|
||||
```
|
||||
|
||||
## 分级做多个MOD版本
|
||||
|
||||
开发者可根据Shader复杂度上架不同版本,举个例子,例如可以有“网易光影低配版”, “网易光影高配版”,玩家看名字就大概知道对性能有不同的要求了,让玩家下载时自行选择。
|
||||
177
mcguide/20-玩法开发/18-性能优化/配置文件优化.md
Normal file
177
mcguide/20-玩法开发/18-性能优化/配置文件优化.md
Normal file
@@ -0,0 +1,177 @@
|
||||
---
|
||||
front: https://nie.res.netease.com/r/pic/20210728/5507b669-4c6f-4958-b5d0-b8556ab4cfb5.png
|
||||
hard: 进阶
|
||||
time: 20分钟
|
||||
---
|
||||
|
||||
# 配置文件优化指南
|
||||
|
||||
本文介绍了如何优化Python配置文件的内存使用。
|
||||
|
||||
## 1. 使用结构优化建筑生成
|
||||
|
||||
在建筑生成和放置方面,我们推荐使用结构文件而不是Python配置。
|
||||
|
||||
### 使用feature\_rules控制建筑生成
|
||||
|
||||
参考教程:[自定义特征](../15-自定义游戏内容/4-自定义维度/4-自定义特征.md)
|
||||
|
||||
**优点:**
|
||||
|
||||
* 无需代码处理,无卡顿效果
|
||||
* 采用微软原生机制,性能优异
|
||||
|
||||
**缺点:**
|
||||
|
||||
* feature\_rules文件中的molang表达式不宜过于复杂
|
||||
* 复杂的表达式可能导致内存占用增加,影响游戏加载速度
|
||||
|
||||
### 通过API放置structure
|
||||
|
||||
|
||||
参考API:<a href="../../../mcdocs/1-ModAPI/接口/世界/地图.html#placestructure" rel="noopenner">PlaceStructure</a>
|
||||
|
||||
**优点:**
|
||||
|
||||
* 提供灵活的代码控制能力
|
||||
* 可实现复杂的生成规则
|
||||
|
||||
**缺点:**
|
||||
|
||||
* 放置时可能出现短暂卡顿
|
||||
|
||||
## 2. 使用方块调色板节约内存
|
||||
|
||||
方块调色板可用于保存建筑数据。使用<a href="../../../mcdocs/1-ModAPI/接口/世界/方块组合.html#getblockpalettebetweenpos" rel="noopenner">GetBlockPaletteBetweenPos</a>等接口获取方块调色板后,使用<a href="../../../mcdocs/1-ModAPI/接口/方块/方块调色板.html#serializeblockpalette" rel="noopenner">SerializeBlockPalette</a>将调色板转化成字典后,手动存入配置文件中。
|
||||
|
||||
**优点:**
|
||||
|
||||
* 方块调色板是高度压缩的字典结构,可最大程度节约内存
|
||||
* 对应的放置接口<a href="../../../mcdocs/1-ModAPI/接口/世界/方块组合.html#setblockbyblockpalette" rel="noopenner">SetBlockByBlockPalette</a>是原生c++批量放置,性能较好
|
||||
* 可实现复杂的生成规则
|
||||
|
||||
**缺点:**
|
||||
|
||||
* 放置时可能出现短暂卡顿
|
||||
|
||||
## 3. 使用引用避免重复定义
|
||||
|
||||
在配置文件中,应避免重复定义相同的配置项,而是采用引用方式:
|
||||
|
||||
* 错误的写法
|
||||
|
||||
```python
|
||||
# 存在大量重复的方块数据定义
|
||||
building = {
|
||||
'build_A': {
|
||||
'size': [0, 1, 2],
|
||||
'blocks': [
|
||||
{'aux': 0, 'name': 'minecraft:air'},
|
||||
{'aux': 0, 'name': 'minecraft:air'},
|
||||
{'aux': 0, 'name': 'minecraft:air'},
|
||||
{'aux': 0, 'name': 'minecraft:air'},
|
||||
{'aux': 0, 'name': 'minecraft:air'},
|
||||
{'aux': 0, 'name': 'minecraft:air'},
|
||||
{'aux': 0, 'name': 'minecraft:air'},
|
||||
{'aux': 0, 'name': 'minecraft:air'},
|
||||
{'aux': 0, 'name': 'minecraft:air'},
|
||||
{'aux': 0, 'name': 'minecraft:air'},
|
||||
{'aux': 0, 'name': 'minecraft:air'},
|
||||
],
|
||||
},
|
||||
}
|
||||
```
|
||||
|
||||
* 正确的写法
|
||||
|
||||
```python
|
||||
# 定义基础方块数据
|
||||
AirBlock = {'aux': 0, 'name': 'minecraft:air'}
|
||||
GrassBlock = {'aux': 0, 'name': 'minecraft:grass'}
|
||||
StoneBlock = {'aux': 0, 'name': 'minecraft:stone'}
|
||||
|
||||
# 通过引用复用方块数据
|
||||
building = {
|
||||
'build_A': {
|
||||
'size': (0, 1, 2),
|
||||
'blocks': [
|
||||
AirBlock, AirBlock, StoneBlock, AirBlock, AirBlock,
|
||||
GrassBlock, AirBlock, GrassBlock, AirBlock, AirBlock, StoneBlock,
|
||||
],
|
||||
},
|
||||
}
|
||||
```
|
||||
|
||||
## 4. 使用元组替代字典
|
||||
|
||||
对于只读的配置数据,建议使用元组代替字典,以提高内存使用效率:
|
||||
|
||||
* 错误的写法
|
||||
|
||||
```python
|
||||
# 定义基础方块数据
|
||||
AirBlock = {'aux': 0, 'name': 'minecraft:air'}
|
||||
GrassBlock = {'aux': 0, 'name': 'minecraft:grass'}
|
||||
StoneBlock = {'aux': 0, 'name': 'minecraft:stone'}
|
||||
```
|
||||
|
||||
* 正确的写法
|
||||
|
||||
```python
|
||||
# 使用元组存储只读数据,提高内存效率
|
||||
AirBlock = ('minecraft:air', 0)
|
||||
GrassBlock = ('minecraft:grass', 0)
|
||||
StoneBlock = ('minecraft:stone', 0)
|
||||
```
|
||||
|
||||
## 5. 分割配置文件并动态加载
|
||||
|
||||
如果你的配置文件已经有几十M的大小,建议将配置文件按功能模块分割,采用动态加载方式:
|
||||
|
||||
* 错误的写法
|
||||
|
||||
```python
|
||||
# 一次性导入所有配置
|
||||
from build import build1, build2, build3
|
||||
```
|
||||
|
||||
* 正确的写法
|
||||
|
||||
```python
|
||||
def load_build_config(data):
|
||||
building = data['build']
|
||||
|
||||
if build == '1':
|
||||
# 按需导入配置
|
||||
import build1
|
||||
place_build(data, build1)
|
||||
elif build == '2':
|
||||
# 按需导入配置
|
||||
import build2
|
||||
place_build(data, build)
|
||||
```
|
||||
|
||||
## 注意事项
|
||||
|
||||
* 建议将一个模块切割得尽量细,并结合前面所述的方法减少单个模块的大小,否则动态加载模块也会带来卡顿。
|
||||
* 即便使用动态加载,如果玩家将各个类型的建筑都摆放一次,那么所有配置也会被加载进来,大量占用内存。
|
||||
* 如果想进一步优化,可以将配置存储为json文件,通过json方式使用和卸载,相关接口<a href="../../../mcdocs/1-ModAPI/接口/通用/工具.html#getmodconfigjson" rel="noopenner">GetModConfigJson</a>。
|
||||
* 可以使用`zlib`库压缩数据。
|
||||
|
||||
## 优化效果
|
||||
|
||||
**优化前内存占用715.32M、优化后占用下降到了224.46M**
|
||||
|
||||
优化前的内存占用(使用方块探针工具):
|
||||

|
||||
|
||||
优化后的内存占用(使用方块探针工具):
|
||||

|
||||
|
||||
## 总结
|
||||
|
||||
1. 优先使用结构文件/方块调色板存储大型数据
|
||||
2. 使用类组织相关配置
|
||||
3. 采用引用而不是重复定义
|
||||
4. 使用元组存储只读数据
|
||||
5. 按功能分割配置文件
|
||||
Reference in New Issue
Block a user