😀 表情
创建表情需要现有图像配置。若您不熟悉此流程,请参考🖼️ 图像页面。
创建表情非常简单——只需填写几个简单易懂的参数。但与其他插件不同,CraftEngine 为您提供了更高的自定义自由度,特别是在表情反馈内容方面。您可以使用自定义文本样式、变量、数学运算等功能。
基础表情配置示例:
emoji:
default:time:
permission: emoji.time
content: "<white><arg:emoji></white>"
image: "default:icons:0:0"
keywords:
- ":time:"
<arg:emoji> 是上下文相关参数,用于返回对应表情的图像表示。
<arg:keyword> 将返回首个可用的关键词
在以下示例中,玩家可通过输入 :pos: 获取当前坐标。虽然 CraftEngine 为表情内容提供了高度客制化能力(特别是 MiniMessage 支持),但这种灵活性也使其学习起来更加复杂——尤其是对于不熟悉高级文本格式的用户而言。
emoji:
default:emoji_location:
permission: emoji.location
content: "<hover:show_text:'使用<yellow>\"<arg:keyword>\"</yellow>来发送表情\"<arg:emoji>\"'><!shadow><white><arg:emoji></white></!shadow><bold>当前坐标:<papi:player_x>,<papi:player_y>,<papi:player_z></bold></hover>"
image: "default:icons:0:0"
keywords:
- ":pos:"
你可以通过 content_overrides 选项控制一个表情在具体使用场景下的内容。可用的场景包含: [chat, book, anvil, sign, command]
emoji:
default:time:
permission: emoji.time
image: "default:icons:0:0"
keywords:
- ":time:"
content: <!shadow><white><arg:emoji></white></!shadow>
content_overrides:
chat: <hover:show_text:'<l10n:emoji.tip:"<arg:keyword>":"<arg:emoji>">'><!shadow><white><arg:emoji></white></!shadow></hover>
book: <hover:show_text:'<arg:keyword>'><!shadow><white><arg:emoji></white></!shadow></hover>
anvil: <!i><!shadow><white><arg:emoji></white></!shadow></!i>
为提升复杂配置的可读性,我们新增了多行格式支持。CraftEngine在处理时会自动合并为单行字符串,使复杂配置的编写和维护更简便,同时保持完整功能。
content:
- <hover:show_text:'使用<yellow>"<arg:keyword>"</yellow>来发送表情"<arg:emoji>"'>
- <!shadow><white><arg:emoji></white></!shadow>
- "<bold>当前坐标:<papi:player_x>,<papi:player_y>,<papi:player_z></bold>"
- </hover>
CraftEngine 使用 Paper 的现代聊天组件 API 实现表情功能。任何仍依赖 Bukkit 旧版聊天事件的聊天插件几乎都无法兼容表情渲染。
已知兼容的聊天插件:TrChatDetails