本帖最后由 1582952890 于 2017-9-17 07:20 编辑
简介:
获取一个物品的名字一直是一个很麻烦的事情,Bukkit/Spigot没有提供相对的API。之前这里有一个实现,但是只支持英文,而且对于一些特殊的物品(药水,怪物蛋等)没有支持。所以这个API诞生了(其实这个API一年前就想搞了,一直没开工/w\)。
在之后的更新中加入了获取生物、附魔、附魔等级名字的功能。
这个API为插件提供了获取物品名字的能力,能够根据玩家客户端使用的语言发送相应语言的物品名称(使用的是原版的语言文件,一共90个)。目前该API只支持原版物品和生物。在1.4.0更新中,服主和插件作者已经可以自定义语言条目了,具体请看后文(之后版本中可能就使用这一功能提供mod支持)。
从现在1.2.0.1-1.7.10的版本起,该插件已经能够工作在Cauldron/KCauldron服务器上了,并且对于原版的物品和生物工作是正常的。只不过可能花费时间长一点。当然,对于mod里面的物品也不会崩溃,但是只能够返回一个自动生成的Material的名字,如果你有好的想法解决mod支持这个问题可以告诉我。
我仍然还是推荐插件作者用复制代码来检测一下环境。
Demo:
目前版本采用HashMap和Enum(其实还是HashMap)来管理和获取语言文件。大概需要100-250 ms来加载所有语言文件,需要50-300 μs来获取一个名字(开服第一次获取时间可能长一点(大概1ms左右),包括反射获取客户端语言的时间)。如果你有更高效的方法请在Github上发PR或者Issues。
当前构建状态:
资源:
使用:
- 如果你是一个服主:
如果有插件需要本插件作为前置,只要把本插件(无任何后缀的版本)下载下来放到plugins/文件夹里去就行了。本插件单独使用无任何功能!(除非你想凑数什么的/w\)
本插件主要版本为1.12,如果你使用的是Minecraft 1.7.10或1.8.x或1.9.4或1.10.x或1.11.x,请下载后缀为1.7.10或1.8.x或1.9.x或1.10.x或1.11.x的版本!(暂无计划支持更低的版本,如果需要请自行更改编译)
设置:
修改语言条目的教程:
- 如果你是一个开发者:
首先,请把该插件加到你IDE的Build Path里。如果你想要源码和Javadoc,我提供了sources和javadoc,至于怎么使用请参考各自IDE的说明。
接下来,添加插件的依赖:
如果你使用了Gradle或者Maven:
接下来是一些功能的对应方法,你也可以去看这个示例插件:
如果你想对本API贡献代码:
下载地址(3个都可以):
更新日志:
如果你喜欢这个工程,请在Github给这个工程Star. 如果有Bug请向我汇报.
简介:
获取一个物品的名字一直是一个很麻烦的事情,Bukkit/Spigot没有提供相对的API。之前这里有一个实现,但是只支持英文,而且对于一些特殊的物品(药水,怪物蛋等)没有支持。所以这个API诞生了(其实这个API一年前就想搞了,一直没开工/w\)。
在之后的更新中加入了获取生物、附魔、附魔等级名字的功能。
这个API为插件提供了获取物品名字的能力,能够根据玩家客户端使用的语言发送相应语言的物品名称(使用的是原版的语言文件,一共90个)。目前该API只支持原版物品和生物。在1.4.0更新中,服主和插件作者已经可以自定义语言条目了,具体请看后文(之后版本中可能就使用这一功能提供mod支持)。
从现在1.2.0.1-1.7.10的版本起,该插件已经能够工作在Cauldron/KCauldron服务器上了,并且对于原版的物品和生物工作是正常的。只不过可能花费时间长一点。当然,对于mod里面的物品也不会崩溃,但是只能够返回一个自动生成的Material的名字,如果你有好的想法解决mod支持这个问题可以告诉我。
我仍然还是推荐插件作者用
- getServer().getName().contains("Cauldron") // JavaPlugin 类中
Demo:
目前版本采用HashMap和Enum(其实还是HashMap)来管理和获取语言文件。大概需要100-250 ms来加载所有语言文件,需要50-300 μs来获取一个名字(开服第一次获取时间可能长一点(大概1ms左右),包括反射获取客户端语言的时间)。如果你有更高效的方法请在Github上发PR或者Issues。
当前构建状态:
资源:
- Github项目(使用MIT协议开源): https://github.com/MascusJeoraly/LanguageUtils
- Github发布页面: https://github.com/MascusJeoraly/LanguageUtils/releases
- Demo插件: https://github.com/MascusJeoraly/LangUtilsExample
- Maven仓库(穷orz,只好用Github作仓库了): https://raw.github.com/MascusJeoraly/LanguageUtils/mvn-repo/
- SpigotMC上的发布页面: https://www.spigotmc.org/resources/8859/
使用:
- 如果你是一个服主:
如果有插件需要本插件作为前置,只要把本插件(无任何后缀的版本)下载下来放到plugins/文件夹里去就行了。本插件单独使用无任何功能!(除非你想凑数什么的/w\)
本插件主要版本为1.12,如果你使用的是Minecraft 1.7.10或1.8.x或1.9.4或1.10.x或1.11.x,请下载后缀为1.7.10或1.8.x或1.9.x或1.10.x或1.11.x的版本!(暂无计划支持更低的版本,如果需要请自行更改编译)
设置:
修改语言条目的教程:
- 如果你是一个开发者:
首先,请把该插件加到你IDE的Build Path里。如果你想要源码和Javadoc,我提供了sources和javadoc,至于怎么使用请参考各自IDE的说明。
接下来,添加插件的依赖:
如果你使用了Gradle或者Maven:
接下来是一些功能的对应方法,你也可以去看这个示例插件:
如果你想对本API贡献代码:
下载地址(3个都可以):
- https://github.com/MascusJeoraly/LanguageUtils/releases
- http://pan.baidu.com/s/1nt7osy9
- https://www.spigotmc.org/resources/8859/history(这里面没有1.7.10版本和1.8.9的下载)
更新日志:
如果你喜欢这个工程,请在Github给这个工程Star. 如果有Bug请向我汇报.
本帖最后由 810587921 于 2015-7-7 21:54 编辑
验证完毕
已在github的Issue回复,如果该插件原创属实请在Issue回复,稍后可删除以保持Issue区整洁
谢谢合作
能否说一下这个API的授权协议
本帖最后由 fyfly 于 2015-7-7 21:58 编辑
谁和你讲Github的Issues可以删除了orz, https://github.com/isaacs/github/issues/253 这个问题排了这么长还是没加上去
谁和你讲Github的Issues可以删除了orz, https://github.com/isaacs/github/issues/253 这个问题排了这么长还是没加上去
更新至1.1.1,修复玩家头颅显示问题
我觉得挺不错啊,都汉化而且挺方便的
然并luan
已添加支持1.7.10的版本,如果需要的服主可以来安装
更新1.2.0版本,添加生物语言支持
6666!收下了
1.7.10的版本更新1.2.0.1,添加Cauldron/KCauldron兼容,注意只是兼容而不是能够获取mod物品名称
更新1.3.0,添加附魔与附魔等级支持。1.7.10版本稍后再准备更新
请问一般什么类型的插件会用到这个插件做前置呢?
更新1.4.0,添加自定义语言条目功能
不明所以。。是说根据这个获取物品名 的时候能获取到中文名吗?
我以前有个疑惑就是。quests插件。比如需求物品之类的。他都会显示成英文的。。用这个插件会变成中文嘛?我估计不会吧 - -
我以前有个疑惑就是。quests插件。比如需求物品之类的。他都会显示成英文的。。用这个插件会变成中文嘛?我估计不会吧 - -
插件不错噢
li709854423 发表于 2015-12-10 17:33
不明所以。。是说根据这个获取物品名 的时候能获取到中文名吗?
我以前有个疑惑就是。quests插件。比如需求 ...
不会,必须要调用我这个插件的API才行
fyfly 发表于 2015-12-10 22:08
不会,必须要调用我这个插件的API才行
= =不知道有没有意义啊。先码一下再考虑。。一般RPG服都是自定义名字。。也用不到原版的这些
这个插件,相当喜欢
没有1.72的吗?
huwei5201314789 发表于 2016-1-3 11:19
没有1.72的吗?
你可以试试1.7.10版本,不保证能用,不过这个是完全开源你可以自己修改