-
Notifications
You must be signed in to change notification settings - Fork 5
App Chat
手机上的聊天 App,名字就叫这个。双向好友、会话列表(未读数、在线状态、最后一条预览)、气泡式会话界面。
消息存进世界存档,对方离线也能发,其下次上线即可看到。
| 项 | 值 |
|---|---|
| 好友 | 100 人 |
| 每人待处理申请 | 50 条 |
| 每对会话保留消息 | 最近 100 条 |
| 单条消息长度 | 256 字 |
| 每对会话保留图片 | 最近 20 张(按内容去重后计) |
| 单张图片体积 | 由服主定,默认 512 KB,见服务端配置 |
| 图片长边 | 512 像素 |
| 动图帧数 | 6–36 帧 |
加好友需对方同意。在右上角的「+」中从当前在线玩家里点选,对方在同一界面同意或拒绝;两人同时点「添加」直接成为好友。
| 规则 | 说明 |
|---|---|
| 聊天范围 | 仅限好友之间,陌生人发不进来 |
| 解除好友 | 聊天记录不删除,重新加回后历史即恢复 |
| 在线状态刷新 | 每 3 秒一次 |
输入栏左侧的「+」中有两项:图片与表情。
即相册内容:相机 App 拍的、按 F2 截的都在其中,选中点击即发送。
也可直接把图片文件拖入游戏窗口——会话正开着时拖入即为发送给对方,无须先把文件移进 screenshots/ 再从相册里找。
存放于 config/mcphone/stickers/,跟随客户端,换服务器、换存档均保留。
导入方式两种:
- 把图片拖入游戏窗口(表情页开着时为"收进来"而非"发出去",可一次拖入整包)
- 点该页右上角「打开文件夹」,用系统文件管理器放入
同一张表情反复发送,在服务器上只占一份存储:图片按内容存储(文件名是"会话键 + 图片字节"的哈希),也只占那 20 个名额中的一个。
发送前客户端先行压缩:
| 步骤 | 规则 |
|---|---|
| 1 | 长边压到 512 像素 |
| 2 | 仍超出体积上限时,依次降档重压:384 → 320 → 256 → 192 |
| 3 | 仍压不下则提示更换图片 |
雨天、树叶一类满屏噪点的截图 PNG 压不动,是走到第 2 步的主要情形。
| 其他限制 | 值 |
|---|---|
| 上传超时 | 15 秒 |
| 发送冷却 | 2 秒 |
| 同时排队 | 最多 4 张 |
| 分块传输 | 每块 16 KB |
不存原图:手机放大看图时也只有 448×680 个真实像素,存原图只是占用服主硬盘与所有人的带宽。
GIF 表情发出后在对方手机上是动的:拆成帧、拼成一张雪碧图传输,播放在客户端完成。
| 约束 | 值 |
|---|---|
| 帧数 | 6–36 帧 |
| 雪碧图长边 | 最大 1024 像素 |
| 超出上限时 | 先降一档帧尺寸;再不行隔帧抽稀;仍塞不下则退回发送第一帧 |
表情页格子中显示的是第一帧——该页不做动画。
收到的图片直接显示,不套气泡。
| 操作 | 结果 |
|---|---|
| 点击图片 | 放大铺满屏幕 |
| 放大后点右上角 | 存进相册,存的是原始文件,存完即可再转发 |
| 点击别处 | 收起 |
动图存进相册的是第一帧——相册是给截图用的,动图放进去别处都读不了。
每对会话只保留最近 20 张不同的图。 更早的图片消息仍留在记录中,显示为「已过期」。
保留那一行而不删除:删掉之后聊天记录会凭空少几句,而少的是什么谁也想不起来。
文字消息不受此限制,仍为每对会话 100 条。
服主可整个关闭图片功能,见服务端配置。
在线好友那一行的右下角有一个 7×7 的图标,点击即传送,手机同时自动关闭。
| 项 | 行为 |
|---|---|
| 落点 | 与原版 /tp 玩家 玩家 一致:对方所站坐标,朝向也一致 |
| 跨维度 | 支持 |
| 是否需对方同意 | 否。好友本身已是双方同意的结果 |
| 对方是否知情 | 是。两端各响一次末影人传送声,其动作栏写明是谁来了 |
| 费用与冷却 | 无 |
| 离线好友 | 不显示该图标 |
鼠标悬停时图标点亮,该行第二行的消息预览临时替换为「传送到他身边」。
对方恰在点击瞬间下线时提示"对方已经不在线了"——在线状态 3 秒刷新一次,这几秒的空档撞得上。
图标放在右下角,是为了不与未读数、时间挤占位置,名字也不必让出宽度。
服主可关闭:allowFriendTeleport = false,图标不再显示,服务端也拒绝传送请求。好友关系与聊天不受影响。