SigModule
일반적인 module 아키텍처의 controller 단을 추상화 한 모듈입니다.
init() 및 reload(), 현재 모듈 상태 확인 등을 진행할 수 있게 합니다.
Usage
Controller로 사용되는 클래스에
extends SigModule을 합니다.init()을 구현해 로드 시 실행할 동작을 지정합니다.ModuleController#register로 위 클래스를 등록합니다.ModuleController#load를 호출합니다.
ModuleController modules = ModuleController.getInstance(this);
modules.register(UserInfoController.getInstance());
modules.load();Feature
Reload
SigModuleReloadable을 extend해 리로드가 가능한 모듈을 만들 수 있습니다.
Essential Module
SigModule을 extends 해 플러그인 로드에 필수적인 모듈을 만들 수 있습니다. 만약 이 모듈이 켜지지 않았을 경우 플러그인을 비활성화 합니다.
Optional Module
SigOptionalModule을 extends 해 꺼질 수 있는 모듈을 만들 수 있습니다.
resources/module.yml 에서 해당 모듈이 켜질지, 꺼질지를 컨픽으로 로드 할 수 있습니다.
SigOptionalModule#defaultEnabled를 설정해 기본적으로 로드될 지 아닐 지 정할 수 있습니다.
Dependency
SigModule#getDependencies 를 구현해 이 모듈이 로드 될 때 필요한 모듈을 지정할 수 있습니다.
Last updated