本帖最后由 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版本,不保证能用,不过这个是完全开源你可以自己修改
fyfly 发表于 2016-1-3 12:19
你可以试试1.7.10版本,不保证能用,不过这个是完全开源你可以自己修改
试过了,完美报错。。
当然,只是试过了与http://www.mcbbs.net/thread-471208-1-1.html
完美报错{:10_503:}
huwei5201314789 发表于 2016-1-3 12:35
试过了,完美报错。。
当然,只是试过了与http://www.mcbbs.net/thread-471208-1-1.html
完美报错{:10_50 ...
1.7.2太老了我不想支持,如果你想要的话自己改吧
fyfly 发表于 2016-1-3 13:43
1.7.2太老了我不想支持,如果你想要的话自己改吧
额,,,我怎么知道怎么改= ={:10_493:}
已升级1.9.x
同头像的来支持一下,期待插件能做得更好
楼主你真的是太帅啦
已更新MC1.10.2的对应版本,增加了一个回溯语言的选项
好创意,拿来。。。。
很好的一个插件~收下了~谢谢
已更新至1.12
fyfly 发表于 2017-6-9 02:06
已更新至1.12
提交了一个issue 我觉得可以把HashMap改成EnumMap
楼主您好,我是一个插件开发者。
我打算用您的API来获取一些东西(比如附魔)对应的中文名,但是我似乎遇到了一些问题无法解决:
以下是调用您的API的异常信息(节选):
java.lang.NoSuchFieldError: BINDING_CURSE
at com.meowj.langutils.lang.convert.EnumEnchantment.<clinit>(EnumEnchant
ment.java:55) ~[?:?]
at com.meowj.langutils.lang.LanguageHelper.getEnchantmentUnlocalizedName
(LanguageHelper.java:230) ~[?:?]
at com.meowj.langutils.lang.LanguageHelper.getEnchantmentName(LanguageHe
lper.java:253) ~[?:?]
at chenji.itemeditor.help.HelpManager.<init>(HelpManager.java:65) ~[?:?]
HelpManager.java 65: String display = LanguageHelper.getEnchantmentName(e3, "zh_cn"); //e3是一个非null的Enchantment
测试环境是java8 + Spigot 1.10.2 (R0.1)
劳烦您帮忙看下是什么原因qaq。感谢了
我打算用您的API来获取一些东西(比如附魔)对应的中文名,但是我似乎遇到了一些问题无法解决:
以下是调用您的API的异常信息(节选):
java.lang.NoSuchFieldError: BINDING_CURSE
at com.meowj.langutils.lang.convert.EnumEnchantment.<clinit>(EnumEnchant
ment.java:55) ~[?:?]
at com.meowj.langutils.lang.LanguageHelper.getEnchantmentUnlocalizedName
(LanguageHelper.java:230) ~[?:?]
at com.meowj.langutils.lang.LanguageHelper.getEnchantmentName(LanguageHe
lper.java:253) ~[?:?]
at chenji.itemeditor.help.HelpManager.<init>(HelpManager.java:65) ~[?:?]
HelpManager.java 65: String display = LanguageHelper.getEnchantmentName(e3, "zh_cn"); //e3是一个非null的Enchantment
测试环境是java8 + Spigot 1.10.2 (R0.1)
劳烦您帮忙看下是什么原因qaq。感谢了
方便的插件
1582952890 发表于 2017-6-20 14:37
楼主您好,我是一个插件开发者。
我打算用您的API来获取一些东西(比如附魔)对应的中文名,但是我似乎遇到 ...
你用的是对应1.10.2的LangUtils吗,对应的插件版本是1.6.3。不同版本之间是不兼容的。
fyfly 发表于 2017-6-21 13:36
你用的是对应1.10.2的LangUtils吗,对应的插件版本是1.6.3。不同版本之间是不兼容的。 ...
好吧我明白了 一直以为您网盘中的文件名
比如1.8.1-1.11.2是支持1.8.1版本到1.11.2
之前没好好看贴,见笑了,感谢您的解答与回复。
怎么弄都显示不了中文
Not103 发表于 2017-11-4 08:25
怎么弄都显示不了中文
用的是哪个版本呢
fyfly 发表于 2017-11-5 03:01
用的是哪个版本呢
服务器版本:paperspigot 插件:LangUtils-1.8.1-1.11.2
换了新版本 然后就又没提示任何东西
Not103 发表于 2017-11-5 05:02
服务器版本:paperspigot 插件:LangUtils-1.8.1-1.11.2
把配置里的en_us改成all试试,如果没改的话默认只加载英语的
fyfly 发表于 2017-11-7 14:48
把配置里的en_us改成all试试,如果没改的话默认只加载英语的
你好 还是不行 加载不出来语言 我跟他一样paper服务端1.11.2版本 你的插件就是1.8.1
FallbackLanguage: all
LoadLanguage:
- all
还有zh_CN 还是不行
fyxrim 发表于 2018-1-17 23:52
你好 还是不行 加载不出来语言 我跟他一样paper服务端1.11.2版本 你的插件就是1.8.1
FallbackLanguage: ...
等我回去试试Paper吧,最近没什么时间所以可能要等一会
我是一个插件的开发者,这个插件在1.9无法获取到包含药水效果的ItemDisplayName,报错如下
没有看出此api的作用
很棒的插件
(人气恢复了再评分
希望能够更新至支持1.13
(人气恢复了再评分
希望能够更新至支持1.13
很需要该插件,希望可以尽快支持到1.13
找了好久,以为bbs上没有,想搬运,结果……
楼主这是你原创的吗?spigot上好像也有