牧野又白给了
如题,使用getInventory().getHelmet;获取到了玩家头盔栏的物品,然后用itemStack.getItemMeta();获取到了物品的元,调用了getDisplayName但是缺无法获取到物品的Name

牧野又白给了
戴了一个钻石头盔测试的

南柯郡守
牧野又白给了 发表于 2021-9-2 18:04
戴了一个钻石头盔测试的

原版物品(指没有经过任何修改的 即没有setDisplayName()的)  是没有这个DisplayName的

你说的"钻石头盔"是经过客户端翻译的名称 在服务端并不存在


SumCraft
你可以试试这个,会优先获取DisplayName,没有就获取翻译名称
  1. 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(我的世界)中文论坛)

蓝云1
看大佬写插件

牧野又白给了
南柯郡守 发表于 2021-9-2 22:48
参阅
如何获取原版物品的名称?
https://www.mcbbs.net/thread-1050523-1-1.html

谢谢大佬~

Ph-苯
ItemStack有一个原版方法可以直接获取自定义名称或原始名称,Fabric里叫getName(),不知道Forge叫什么。

牧野又白给了
Ph-苯 发表于 2021-9-22 11:15
ItemStack有一个原版方法可以直接获取自定义名称或原始名称,Fabric里叫getName(),不知道Forge叫什么。 ...

我这个是Bukkit的

Ph-苯

无论是forge还是fabric还是bukkit,都反混淆了原版代码,所以它们的方法应该只有名字不同而已(应该

第一页 上一页 下一页 最后一页