Rothes / PrismRefracted

[Chinese Modified Edition] A continuation of Prism, a change-tracking plugin for Bukkit-based servers.
Other
22 stars 6 forks source link

[优化]聊天消息展示物品优化 #10

Open bilwjjsai0093 opened 11 months ago

bilwjjsai0093 commented 11 months ago

能否将如 [1] 玩家 掉落了 1 草方块,名称为xxxx 改为[物品名称],如果没有自定义名称则显示[物品类型], ![Uploading prism.png…]() 如[1] 玩家 掉落了 [草方块] x 10 [1] 玩家 掉落了 [xxxx] x 10 并且能否调整为调用某个方法,实现将某一段改为物品展示,因为当我在自定义动作时,使用了ItemUtils.getItemFullNiceName()方法,但是并不能显示和获取物品,比如在物品转为字符串时添加特定的开头和结尾,然后通过正则匹配,将其重新转为物品

bilwjjsai0093 commented 11 months ago

prism

Rothes commented 11 months ago

如果要保存物品数据,正确的做法是在你的Action类中存储ItemStackActionData或扩展ItemStackAction类,并复写serialize及deserialize方法。第二者才会支持显示和获取。 ItemUtils#getItemFullNiceName仅用于在查询结果中显示。

bilwjjsai0093 commented 11 months ago

因为当我以前查询物品时,玩家物品有很多附魔,就会导致。。。 prism2 占用很大的屏幕空间 如果能优化一下的话会好很多,同时漏掉了一个问题,能否支持一条消息多个物品,因为我有些自定义动作需要存储多个物品

bilwjjsai0093 commented 11 months ago

如果要保存物品数据,正确的做法是在你的Action类中存储ItemStackActionData或扩展ItemStackAction类,并复写serialize及deserialize方法。第二者才会支持显示和获取。 ItemUtils#getItemFullNiceName仅用于在查询结果中显示。

好的好的,我会尝试一下

bilwjjsai0093 commented 11 months ago

因为当我以前查询物品时,玩家物品有很多附魔,就会导致。。。 prism2 占用很大的屏幕空间 如果能优化一下的话会好很多,同时漏掉了一个问题,能否支持一条消息多个物品,因为我有些自定义动作需要存储多个物品

prism3

Rothes commented 11 months ago

Prism目前只支持自定义行为中的纯文本信息。设定悬停文本不在API之中,因此只能显示一个物品的悬停和点击信息。 关于ItemUtils#getItemFullNiceName的问题,由于实现了悬停文本,可以针对游戏内消息修改为类似原版的模式。