在範例中,你可以看到一個module下有兩個module,分別是 example-tutorial-api 和 example-tutorial-plugin,他們分別是 API 模組 及 伺服器插件模組。
而伺服器插件模組是依賴於 API 模組的,因此伺服器插件建置的時候會包裝 API 模組以創建完整的伺服器插件。
public class ExampleServiceImpl implements ExampleService {
@Override
public void doSomethingCool() {
Bukkit.getLogger().info("Hello World!!");
}
}
剩下的三個 classes, 分別是註冊為 ELD 插件所需的三個組件。
TutorialLifeCycle.java
public class TutorialLifeCycle implements ELDLifeCycle {
@Inject // 實現自我使用而注入
private ExampleService service;
@Override
public void onEnable(JavaPlugin javaPlugin) {
service.doSomethingCool();
}
@Override
public void onDisable(JavaPlugin javaPlugin) {
service.doSomethingCool();
}
}
TutorialRegistry.java
public class TutorialRegistry implements ComponentsRegistry {
@Override
public void registerCommand(CommandRegistry<CommandSender> commandRegistry) {
// no command
}
@Override
public void registerListeners(ListenerRegistry<Listener> listenerRegistry) {
// no listeners
}
}