プラグイン作成でアイテムやブロックの名前を日本語で取得したいときがあります。標準のSpigot APIでは英語名(アイテムID)のみ取得できますが、ライブラリを使用することで指定の言語の名前で取得することができます。
言語ファイルのデータはライブラリ使用時にMinecraft公式アセットよりダウンロードしています。そのためプラグインに組み込むなどの取り扱いは自己責任でお願いいたします。
目次
使用方法
Mavenでの設定の場合以下のように設定すれば使用できます。
<repository>
<id>lenlino-repo</id>
<url>https://repo.lenlino.com/repository/maven-public/</url>
</repository>
<dependency>
<groupId>com.lenlino</groupId>
<artifactId>McMaterialTranslator</artifactId>
<version>1.2.0</version>
</dependency>一例 アイテムの名前を日本語、英語、中国語で出力しています。デフォルトは日本語となっています。Material以外にもEntityType、Enchantmentにも対応しています。
McMaterialTranslator mcMaterialTranslator = McMaterialTranslator.getInstance();
getLogger().info(mcMaterialTranslator.translate(Material.DIAMOND_SWORD));
McMaterialTranslator mcMaterialTranslatorEn = McMaterialTranslator.getInstance("en_gb");
getLogger().info(mcMaterialTranslatorEn.translate(Material.DIAMOND_SWORD));
McMaterialTranslator mcMaterialTranslatorCn = McMaterialTranslator.getInstance("zh_cn");
getLogger().info(mcMaterialTranslatorCn.translate(Material.DIAMOND_SWORD));
取得方法
Minecraftの公式より言語ファイルを取得しています。バージョンが取得可能であれば取得し、自動でそのバージョンに合わせた言語ファイルを取得します。取得したファイルはシステムのtmpdirに保存されます。
ソースコード
不具合や要望などこちらでお願いします。
GitHub

GitHub - lenlino/McMaterialTranslator
Contribute to lenlino/McMaterialTranslator development by creating an account on GitHub.
コメント