如题,使用getInventory().getHelmet;获取到了玩家头盔栏的物品,然后用itemStack.getItemMeta();获取到了物品的元,调用了getDisplayName但是缺无法获取到物品的Name
戴了一个钻石头盔测试的
牧野又白给了 发表于 2021-9-2 18:04
戴了一个钻石头盔测试的
原版物品(指没有经过任何修改的 即没有setDisplayName()的) 是没有这个DisplayName的
你说的"钻石头盔"是经过客户端翻译的名称 在服务端并不存在
你可以试试这个,会优先获取DisplayName,没有就获取翻译名称
复制代码
getItemDisplayName()就是 item.getItemMeta().getDisplayName() 的简单封装.
- getItemDisplayName(item) != null ? getItemDisplayName(item) : item.getItemMeta().getLocalizedName()
getItemDisplayName()就是 item.getItemMeta().getDisplayName() 的简单封装.
南柯郡守 发表于 2021-9-2 18:23
原版物品(指没有经过任何修改的 即没有setDisplayName()的) 是没有这个DisplayName的
你说的"钻石头盔" ...
大佬好,那有什么办法呢?
咸鱼气功王 发表于 2021-9-2 20:51
你可以试试这个,会优先获取DisplayName,没有就获取翻译名称
getItemDisplayName()就是 item.getItemMeta() ...
谢谢大佬~,我试试
牧野又白给了 发表于 2021-9-2 22:16
大佬好,那有什么办法呢?
参阅
如何获取原版物品的名称?
https://www.mcbbs.net/thread-1050523-1-1.html
(出处: Minecraft(我的世界)中文论坛)
看大佬写插件
南柯郡守 发表于 2021-9-2 22:48
参阅
如何获取原版物品的名称?
https://www.mcbbs.net/thread-1050523-1-1.html
谢谢大佬~
ItemStack有一个原版方法可以直接获取自定义名称或原始名称,Fabric里叫getName(),不知道Forge叫什么。
Ph-苯 发表于 2021-9-22 11:15
ItemStack有一个原版方法可以直接获取自定义名称或原始名称,Fabric里叫getName(),不知道Forge叫什么。 ...
我这个是Bukkit的