IXBOB 模组开发者 API¶
本站点是 IXBOB 网易MC模组的公开 API 文档, 便于其他模组开发者进行模组联动。 任意问题均可进Q群 589523062 联系群主交流反馈~
项目导航¶
-
PlayerRevive Server
《倒地救援与背负•超多自定义》 为原版添加玩家濒死倒地/救援机制
-
LimbHealth Server
《肢体血量-医疗护理•超多自定义》 扩展原版单血条为身体各部位独立血条系统
-
HolyParty Server
《更好的组队•超多自定义》 为原版添加多玩家组队/队内聊天/队伍身份组等复杂队伍功能
通用约定¶
下列约定对所有项目都适用,每个 API 方法页不再重复说明。
类型注释¶
所有 API 使用 Python 2.7 兼容的注释式类型标注:
文档中均按类型注释中给出的实际类型展示。
静态方法¶
所有公开 API 都是 @staticmethod / @classmethod,无需实例化,直接通过类名调用:
PlayerReviveServerAPI.getIsNeedRevive(playerId)
LimbHealthServerAPI.setLimbHealth(playerId, posTypeEnum, newHealth, isFromHurt)
HolyPartyServerAPI.getPlayerCurrentParties(playerId)
事件优先级¶
所有项目都暴露一个 *EventPriorityEnum(PlayerRevive 用 PlayerReviveEventPriorityEnum,LimbHealth 用 LimbHealthEventPriorityEnum,HolyParty 用 ModEventPriorityEnum),五个等级的执行顺序一致:
| 常量 | slot | 触发顺序 |
|---|---|---|
LOWEST |
0 | 最先触发 |
LOW |
1 | |
NORMAL |
2 | 默认值 |
HIGH |
3 | |
HIGHEST |
4 | 最晚触发 |
注册时若不传 priority,默认按 NORMAL 处理。
registerEventHandler 的 *presetArgs¶
所有项目的事件注册接口签名一致:
调用时附加的 *presetArgs 会在事件对象之前传入处理器。例如:
api.registerEventHandler(
api.getApiEvents().SomeEvent,
handler,
api.getEventPriorityEnum().NORMAL,
"extra-arg-1", 42,
)
def handler(extraArg1, extraNumber, event):
# extraArg1 == "extra-arg-1"
# extraNumber == 42
# event 是 SomeEvent 实例
...
异常约定¶
TypeError—— 参数类型不匹配(如把非EnumObject传给priority,或把不可调用对象传给func)。ValueError—— 实体不存在(如查询未在管理器中注册的玩家 ID)。