Войти или зарегистрироваться

Помогите Получение имени предмета

  • Автор темы Автор темы Migel
  • Дата начала Дата начала
Статус
Закрыто для дальнейших ответов.

Migel

Активный участник
Пользователь
Баллы
66
Имя в Minecraft
Migel077
Как получить название ItemStack на русском языке (тип, Алмазная руда и тп.)?
 
stack.translationKey() ну и отправить через TranslatableComponent, клиент переведет под выбранный язык.
 
Какая версия сервера?
 
Без особых усилий ты не получишь на сервере имя предмета. Как минимум потому, что оно зависит от языка игры, а на сервере имеется только английская локализация. Но, на самом деле, его и не нужно получать.
Ты можешь отправить игроку или отобразить ему где-либо название предмета посредством ключа локализации. Клиент сам получит нужный текст по этому ключу из файла языка, выбранного в настройках.

Использовать это так:
PHP:
ItemStack stack = new ItemStack(Material.DIAMOND_SWORD);

// Вариант для Spigot
player.sendMessage(new TranslatableComponent(Bukkit.getUnsafe().getTranslationKey(stack)));

// Вариант для Paper
player.sendMessage(Component.translatable(stack));
Документация по компонентам BungeeCord (используется в Spigot):
https://www.spigotmc.org/wiki/the-chat-component-api/#translatablecomponent

Документация по компонентам Keiko (используется в Paper):
https://docs.adventure.kyori.net/text.html

P.S. Вместо Spigot настоятельно рекомендую Paper - он существенно более производительный, безопасный и функциональный
 
Последнее редактирование:
Без особых усилий ты не получишь на сервере имя предмета. Как минимум потому, что оно зависит от языка игры, а на сервере имеется только английская локализация. Но, на самом деле, его и не нужно получать.
Ты можешь отправить игроку или отобразить ему где-либо название предмета посредством ключа локализации. Клиент сам получит нужный текст по этому ключу из файла языка, выбранного в настройках.

Использовать это так:
PHP:
ItemStack stack = new ItemStack(Material.DIAMOND_SWORD);

// Вариант для Spigot
player.sendMessage(new TranslatableComponent(Bukkit.getUnsafe().getTranslationKey(stack)));

// Вариант для Paper
player.sendMessage(Component.translatable(stack));
Документация по компонентам BungeeCord (используется в Spigot):
https://www.spigotmc.org/wiki/the-chat-component-api/#translatablecomponent

Документация по компонентам Keiko (используется в Paper):
https://docs.adventure.kyori.net/text.html

P.S. Вместо Spigot настоятельно рекомендую Paper - он существенно более производительный, безопасный и функциональный
Сябки <3
 
Статус
Закрыто для дальнейших ответов.
Назад
Верх