Theseus 模组文档
API 参考 / 能力接口(capability 包)

怎么拿到能力


能力接口获取方式可用时机
CapabilityRegistryctx.capabilities()进程级
ModManagerAccessModContext.capabilities().get(ModManagerAccess.class)(onInit 中取用);经事件总线在任意场景亦可获取进程级
ModServiceRegistryctx.modServices()进程级
NetworkAccessctx.network()进程级
UiCustomizationctx.uiCustomization()进程级(游戏启动后任意时刻可用)
GlobalHotkeysctx.hotkeys()进程级
SceneHostctx.capabilities().get(SceneHost.class)进程级(全局常驻,不依赖游玩场景)
StoryAccessctx.capabilities().get(StoryAccess.class)进程级
GameStateAccessctx.capabilities().get(GameStateAccess.class)游玩中
InputAccessctx.capabilities().get(InputAccess.class)游玩中
AudioAccessctx.capabilities().get(AudioAccess.class)游玩中
GameplayHudGameplayMod.createGameplayHud(),或 ctx.capabilities().register(GameplayHud.class, ...)游玩中
LaneInputMapperGameplayMod.createLaneInputMapper()游玩中

ModContext 上与本包相关的入口声明:

java
CapabilityRegistry capabilities();
ModServiceRegistry modServices();
NetworkAccess network();
UiCustomization uiCustomization();
GlobalHotkeys hotkeys();

GameplayMod 上与游玩能力相关的钩子声明:

java
public interface GameplayMod extends Mod {
    default boolean replacesDisorderProgressBar();
    default GameplayHud createGameplayHud();
    default LaneInputMapper createLaneInputMapper();
}