索引
| 接口 | 端 | 描述 |
|---|---|---|
| RegisterRiderSeat | 客户端 | 注册协同骑乘座位 |
| SetSeatBroadcastInterval | 客户端 | 设置协同骑乘座位广播间隔 |
| SetPlayerVehicleRotation | 客户端 | 设置玩家当前协同座位的载具旋转角度 |
| GetPlayerVehicleRotation | 客户端 | 获取玩家当前协同座位的载具旋转角度 |
| GetPlayerVehicleSeatIndex | 客户端 | 获取玩家当前坐骑的协同骑乘座位的次序 |
LASystem.RegisterRiderSeat(xxx)- 或使用面向对象
LASystem.Vehicle().RegisterRiderSeat(xxx)
RegisterRiderSeat
客户端
-
描述
注册协同骑乘座位 -
参数
| 参数名 | 数据类型 | 说明 |
|---|---|---|
| EntityName | str | 载具实体名称,例如'minecraft:zombie' |
| SeatPosList | list[tuple[float, float, float]] | 同步填写该载具Json中的座位位置列表,每个元素为(x, y, z)三元组 |
| PrivotPos | list[float, float, float] | 载具绑定la_vehicle_rotation_x、la_vehicle_rotation_y、la_vehicle_rotation_z的枢轴坐标(BlockBench中的坐标) |
| RenderJsonIdList | list[str] | 同步填写该载具Json中的座位Json文件Id列表,每个元素为Json文件Id,对应SeatPosList中的座位进行渲染。渲染玩家骑乘动作的Json文件Id,玩家骑乘动作的屁股必须位于(0, 0, 0)附近,且玩家的整个身体的位移、旋转都要绑定下面的自定义molang函数,且枢轴位于(0, 0, 0)处 |
| EntityScale | float | 同步填写该载具Json中载具实体缩放比例,默认1.0 |
-
返回值
无 -
备注
- Molang数据,以下简写query.mod.开头
Molang 变量说明 备注 la_vehicle_rotation_x 载具X轴旋转角度 绑定在整个载具上,用于控制载具的倾斜(修改载具旋转角度);绑定在坐时玩家上,枢轴需要在玩家屁股中,且玩家屁股显示位于 (0, 0, 0)附近用于控制玩家的倾斜(不要直接修改)la_vehicle_rotation_y 载具Y轴旋转角度 绑定在整个载具上,用于控制载具的倾斜(修改载具旋转角度);绑定在坐时玩家上,枢轴需要在玩家屁股中,且玩家屁股显示位于 (0, 0, 0)附近用于控制玩家的倾斜(不要直接修改)la_vehicle_rotation_z 载具Z轴旋转角度 绑定在整个载具上,用于控制载具的倾斜(修改载具旋转角度);绑定在坐时玩家上,枢轴需要在玩家屁股中,且玩家屁股显示位于 (0, 0, 0)附近用于控制玩家的倾斜(不要直接修改)la_vehicle_position_x 载具X轴位置 绑定在整个玩家上,用于控制玩家的位置(不要直接修改) la_vehicle_position_y 载具Y轴位置 绑定在整个玩家上,用于控制玩家的位置(不要直接修改) la_vehicle_position_z 载具Z轴位置 绑定在整个玩家上,用于控制玩家的位置(不要直接修改) - 载具实体json的seat需要加入以下字段:
"lock_rider_rotation": 181, "rotate_rider_by": "query.mod.la_vehicle_rotation_y"最终效果如下:
"minecraft:rideable": { "rider_can_interact": true, "interact_text": "开车", "family_types": [ "player" ], "seat_count": 2, "seats": [ { "position": [ 0.0, 1.8, 0.0 ], "lock_rider_rotation": 181, "rotate_rider_by": "query.mod.la_vehicle_rotation_y" }, { "position": [ 0.0, 1.9, -0.5 ], "lock_rider_rotation": 181, "rotate_rider_by": "query.mod.la_vehicle_rotation_y" } ] }- 通过修改载具实体的自定义Molang(la_vehicle_rotation_x, la_vehicle_rotation_y, la_vehicle_rotation_z)来控制载具旋转,协同座位将会生效。不过更推荐使用接口
SetPlayerVehicleRotation来控制载具的旋转。
SetSeatBroadcastInterval
客户端
-
描述
设置协同骑乘座位广播间隔 -
参数
| 参数名 | 数据类型 | 说明 |
|---|---|---|
| Interval | float | 广播间隔,默认30次/秒 |
-
返回值
无 -
备注
无
SetPlayerVehicleRotation
客户端
-
描述
设置玩家当前协同座位的载具旋转角度。需要RegisterRiderSeat注册后的载具才能使用此接口设置。 -
参数
| 参数名 | 数据类型 | 说明 |
|---|---|---|
| Rotation | tuple[float, float, float] | 载具旋转角度,默认(0.0, 0.0, 0.0) |
-
返回值
无 -
备注
无
GetPlayerVehicleRotation
客户端
-
描述
获取玩家当前协同座位的载具旋转角度。需要RegisterRiderSeat注册后的载具才能使用此接口获取。 -
参数
无 -
返回值
玩家当前协同座位的载具旋转角度 (tuple[float, float, float]) -
备注
无
GetPlayerVehicleSeatIndex
客户端
-
描述
获取玩家当前坐骑的协同骑乘座位的次序。需要RegisterRiderSeat注册后的载具才能使用此接口获取。 -
参数
无 -
返回值
玩家当前协同座位的载具旋转角度 (int) -
备注
无