本帖最后由 RecursiveG 于 2015-1-13 12:07 编辑

考虑到SpongeAPI已经发布了1.0版本,我在这写个短短的小样例,让各位(主要是各位Bukkit插件开发者)对Sponge插件开发有个基本认识。
具体的教程在这里都可以查到https://docs.spongepowered.org/en/latest/plugins/。不过是英文的,应该不久就有人去翻译成中文吧。
我在这里写一个小小的“Hello World”插件:每个玩家登录时显示一条欢迎信息。
我以Gradle和Intellij作为开发环境来演示。

首先是建一个文件夹来放你的代码,然后建立一个build.gradle文件,内容如下:
  1. apply plugin: 'java'

  2. sourceCompatibility = 1.6
  3. version = '1.0'

  4. repositories {
  5.     mavenCentral()
  6.     maven {
  7.         name 'Sponge maven repo'
  8.         url 'http://repo.spongepowered.org/maven/'
  9.     }
  10. }

  11. dependencies {
  12.     compile "org.spongepowered:spongeapi:1.1-SNAPSHOT"
  13.     testCompile group: 'junit', name: 'junit', version: '4.11'
  14. }
复制代码
接着打开IDE,导入这个Gradle项目,各种建立文件夹,各种设定source。而依赖会由Gradle帮你搞定。

最终的目录结构会像是这样的:

主类的代码像是这样的:


是不是有一种似曾相识的感觉?需要注意的是,Sponge插件不再需要plugin.yml文件,而是用@Plugin这个Annotation代替,注册事件使用@Subscribe。大部分事件都位于org.spongepowered.api.event包下,有需要的可以自行查看。

最后,运行gradle的build task,编译好的jar就会在build/libs文件夹下了。然后把这个jar拖进mods文件夹即可运行(没错!是mods文件夹而不是plugins文件夹)虽然现在Sponge还没正式发布。

最后来一发测试时候的截图(不要问我是怎么跑起来的)

(全文完)