考虑到SpongeAPI已经发布了1.0版本,我在这写个短短的小样例,让各位(主要是各位Bukkit插件开发者)对Sponge插件开发有个基本认识。
具体的教程在这里都可以查到https://docs.spongepowered.org/en/latest/plugins/。不过是英文的,应该不久就有人去翻译成中文吧。
我在这里写一个小小的“Hello World”插件:每个玩家登录时显示一条欢迎信息。
我以Gradle和Intellij作为开发环境来演示。
首先是建一个文件夹来放你的代码,然后建立一个build.gradle文件,内容如下:
- apply plugin: 'java'
- sourceCompatibility = 1.6
- version = '1.0'
- repositories {
- mavenCentral()
- maven {
- name 'Sponge maven repo'
- url 'http://repo.spongepowered.org/maven/'
- }
- }
- dependencies {
- compile "org.spongepowered:spongeapi:1.1-SNAPSHOT"
- testCompile group: 'junit', name: 'junit', version: '4.11'
- }
最终的目录结构会像是这样的:
主类的代码像是这样的:
是不是有一种似曾相识的感觉?需要注意的是,Sponge插件不再需要plugin.yml文件,而是用@Plugin这个Annotation代替,注册事件使用@Subscribe。大部分事件都位于org.spongepowered.api.event包下,有需要的可以自行查看。
最后,运行gradle的build task,编译好的jar就会在build/libs文件夹下了。然后把这个jar拖进mods文件夹即可运行(没错!是mods文件夹而不是plugins文件夹)虽然现在Sponge还没正式发布。
最后来一发测试时候的截图(不要问我是怎么跑起来的)
(全文完)