配置说明
修改 config.yml、表情、动作、动画、冷却和世界贴图配置后,可以使用 /ylesemoji reload 重载。
修改 DragonCore 界面文件后,需要按龙核客户端资源加载方式重新加载或重进客户端查看效果。
配置文件
| 文件 / 目录 | 用途 |
|---|---|
config.yml | 基础设置、表情分类 |
datasource.yml | SQLite / MySQL 数据存储 |
emoji/ | 表情列表 |
action/ | 表情动作 |
animation/ | 表情动画 |
cooldown/ | 表情冷却 |
world-texture/ | 世界贴图显示效果 |
gui/ | 龙核界面 |
配置示例
下面几个文件可以切换查看。示例保留了注释,复制时注意文件路径。
yaml
# 是否开启调试模式
# 说明:调试模式会打印较多内部信息,仅在开发或排查 bug 时建议开启。
debug: false
# 是否启用 bStats
# 说明:bStats 会收集一些匿名使用数据(如插件版本、服务器软件等),用于插件开发者改进功能与兼容性。
# 该统计不包含个人可识别信息;如需完全不发送任何数据可设为 false。
# 详细说明与查看: https://bstats.org/plugin/bukkit/YlesEmoji/
metrics: true
# 龙核相关设置
dragon:
# 龙核界面发包间隔 防止连点器卡服 单位毫秒
# 表情GUI和HUD都要用发包 这里不建议太高
packet-interval: 300
emoji:
# 默认打开的表情分类
default-type: "default"
# 表情分类配置
types:
# 分类ID emoji文件里的type就填这个
default:
# 分类显示名
name: "默认"
# 每页显示多少个表情
page-size: 16
# 分类ID emoji文件里的type就填这个
league:
# 分类显示名
name: "英雄联盟"
# 每页显示多少个表情
page-size: 16yaml
# 当前文件里的表情默认分类
type: "default"
# 表情列表
emojis:
# 表情 ID,全局唯一
smile:
# 显示名
name: "微笑"
# 表情描述,可以写多行
description:
- "一个默认微笑表情"
# 表情图片路径
path: "textures/emoji/smile.png"
# 使用哪个世界贴图配置
world-texture: "默认世界贴图"
# 使用哪个动作配置,可删除
action: "默认表情动作"
# 使用哪个冷却配置,可删除
cooldown: "默认冷却组"
# 排序,数字越小越靠前
sort: 10yaml
#唯一节点
默认世界贴图:
# 贴图在玩家身上的偏移
translate-x: 0
translate-y: 2.2
translate-z: 0
#旋转角 可删除 默认为0
rotate-y: 0
rotate-x: 0
rotate-z: 0
# 是否穿透地形显示(默认false)
through: false
# 仅在第一视角显示贴图(默认false)
renderOnFirst: false
# 玩家多少距离内能看见该贴图(默认64)
distance: 32
# 显示的宽度高度
width: 1.5
height: 1.5
# 透明度 不要太低 不然基本看不见
alpha: 1.0
# 自发光 晚上也能看清楚
glow: true
# 是否跟随玩家视角
follow-player-eyes: false
# 是否绑定到玩家身上
bind-entity: true
# 是否跟随玩家身体方向
follow-entity-direction: true
# 绑定玩家后 前后偏移 正数在前面
translate-entity-front: 1.2
# 绑定玩家后 左右偏移 正数在右边
translate-entity-right: 0
# 显示时间 单位tick
duration: 60yaml
# 动作ID emoji里填这个名字
默认表情动作:
# 播放表情时执行
start:
# 启动动画
animations:
- "自定义表情启动动画"
# 启动命令列表
# 支持的命令类型:
# [console] 以控制台身份执行命令
# [op] 以OP身份执行命令
# [message] 给玩家发消息
# [chat] 让玩家发聊天
# [bc] 全服广播
# [sound] 播放音效 格式: [sound] 音效名:音量:音调
# [actionbar] 发送ActionBar
# [title] 发送标题 格式: [title] 主标题:副标题:淡入:停留:淡出
# [delay] 延迟执行 格式: [delay] tick数
# 无标识符 以玩家身份执行命令
commands:
- "[sound] ENTITY_EXPERIENCE_ORB_PICKUP:1:1"
# 表情结束时执行
end:
# 结束动画
animations:
- "自定义表情结束动画"
# 结束命令列表 写法同上
commands:
- "[actionbar] &a表情播放结束"yaml
# 动画ID action里填这个名字
自定义表情启动动画:
# 动画类型 rotate scale translate
type: "scale"
# 延迟多久开始 单位tick
delay: 0
# 缩放动画用 从多大变到多大
from-scale: 0.7
to-scale: 1.0
# 动画时间 单位tick
duration: 10
# 播放次数
cycle-count: 1
# 是否固定
fixed: false
# 重置时间 单位tick
reset-time: 0
# 动画ID action里填这个名字
自定义表情结束动画:
# 动画类型 rotate scale translate
type: "scale"
# 延迟多久开始 单位tick
delay: 0
# 缩放动画用 从多大变到多大
from-scale: 1.0
to-scale: 0.7
# 动画时间 单位tick
duration: 10
# 播放次数
cycle-count: 1
# 是否固定
fixed: false
# 重置时间 单位tick
reset-time: 0yaml
# 冷却配置ID emoji里填这个名字
默认冷却组:
# 同组共享冷却
group: "default"
# 冷却时间 毫秒
time: 1000yaml
# 自动保存
auto-save:
# 是否启用
enable: true
# 保存周期,单位 tick
time: 6000
# 每批处理玩家数量
batch-size: 10
# 批次间隔,单位 tick
batch-delay: 1
# 存储类型:MySQL,SQLite
use-datasource: SQLite
# 数据库配置
datasource:
# 数据库地址
hostname: localhost
# 端口
port: 3306
# 用户名
username: root
# 密码
password: 123456
# 数据库
database: mc表情分类
config.yml 里的分类 ID 要和 emoji/ 文件中的 type 对上。
如果你只用赠送的英雄联盟资源,这里默认已经包含 league 分类。
emoji.default-type 是默认打开的分类 ID,需要和 emoji.types 里的节点一致。
表情文件
表情配置放在 emoji/ 目录。
每个表情 ID 必须全局唯一。重复 ID 会被跳过,控制台会输出提示。
世界贴图
世界贴图用于控制表情显示在玩家身边的位置、大小、透明度、显示距离和持续时间。
大部分服务器只需要改 width、height、duration 和位置偏移。
表情动作
动作配置放在 action/ 目录。
表情文件里的 action 填动作 ID。动作可以在表情开始和结束时播放动画,也可以执行命令、音效、消息、标题等效果。
表情动画
动画配置放在 animation/ 目录。
动作配置里的 animations 填动画 ID。动画类型支持 rotate、scale、translate。
表情冷却
冷却配置放在 cooldown/ 目录。
表情文件里的 cooldown 填冷却 ID。同一个 group 会共享冷却,time 单位是毫秒。
数据库
玩家的表情解锁、快捷栏绑定等数据会保存到数据库。
单服推荐使用 SQLite。需要多端或其他业务统一存储时,再改成 MySQL。
警告
切换数据库类型后建议重启服务器。不要在正式服运行中切换存储方式。
龙核界面
插件自带的表情 GUI 配置文件是 gui/YlesEmoji.yml。
默认 GUI 会显示分类、搜索框、表情列表、收藏状态、快捷栏绑定区和翻页按钮。
快捷栏 HUD 不在插件 gui/ 目录里。HUD 必须放在 DragonCore 的界面目录中,插件首次加载时会自动释放默认文件。
HUD 配置位置
快捷栏 HUD 文件:DragonCore/Gui/YlesEmoji_Hud.yml
需要修改快捷栏位置、大小或样式时,改这个文件即可。
HUD 负责显示 1-9 快捷栏表情。玩家绑定快捷槽后,下次上线会继续读取之前的绑定。
如果只是改背景、按钮位置、文字颜色,直接修改 DragonCore GUI 文件即可。
如果要改每页显示数量,需要同时确认:
config.yml里的emoji.types.<分类ID>.page-size- GUI 里实际摆放的表情格子数量
数量不一致时,可能出现空格子或部分表情不显示。