关于使用Kotlin进行Minecraft Paper插件的开发
体验
开发体验是很重要的,不过我比较喜欢Kotlin的开发体验,但和Paper插件结合起来有点奇怪,尤其是使用IDEA的补全时
优点
- Kotlin的功能很多,写起来很舒服,尤其是变量的自动类型推断,用惯了val和var你就不习惯Java的标注类型了,不过有些时候你需要手动标注类型
- 其次,得益于Kotlin的语法,写的时候是很方便的,也得益于IDEA的补全
(成也补全,败也补全,左右脑互搏这一块)
缺点
- IDEA的补全在此时很奇怪,例如logger.info,它推荐给你补全
logger.info { }而不是logger.info(),这点比较奇怪 - 由于PaperAPI弃用了大部分与显示有关且形参为String的接口,比如
Player中的sendMessage和ItemStack的displayName等,都变为了形参为Component的接口,而Component在补全时很奇怪,例如Component.text(),IDEA会直接补全无形参的text(),而不是text(String),其它例如color()也一样 - 由于需要Kotlin库,导致即使什么都没有的插件也有
1.8MB的大小,如果再用到Exposed和数据库,会更大,例如我的使用Exposed和H2 v2.4+的插件,大小来到了10.8MB
题外话
好久没写博客了,突然没事干想写写了,刚好在用Kotlin写插件 虽然写博客了也不太可能有人看
插件: Nest