擴充插件範例詳解
教程將以擴充插件範本提供的範例為主。
API Module 詳解
/**
* 範例服務
*/
public interface ExampleService {
/**
* 做一些很酷的事情!
*/
void doSomethingCool();
}Plugin Module 詳解
為什麼要分開模組進行開發?
最后更新于
教程將以擴充插件範本提供的範例為主。
/**
* 範例服務
*/
public interface ExampleService {
/**
* 做一些很酷的事情!
*/
void doSomethingCool();
}最后更新于
public class ExampleServiceImpl implements ExampleService {
@Override
public void doSomethingCool() {
Bukkit.getLogger().info("Hello World!!");
}
}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();
}
}public class TutorialRegistry implements ComponentsRegistry {
@Override
public void registerCommand(CommandRegistry commandRegistry) {
// no command
}
@Override
public void registerListeners(ListenerRegistry listenerRegistry) {
// no listeners
}
}@ELDPlugin(
lifeCycle = TutorialLifeCycle.class,
registry = TutorialRegistry.class
)
public class TutorialPlugin extends ELDBukkitPlugin {
@Override
protected void bindServices(ServiceCollection serviceCollection) {
// 這裏註冊你的服務
serviceCollection.bindService(ExampleService.class, ExampleServiceImpl.class);
}
@Override
protected void manageProvider(ManagerProvider managerProvider) {
}
}