Skip to content

Latest commit

 

History

History
74 lines (59 loc) · 2.29 KB

File metadata and controls

74 lines (59 loc) · 2.29 KB

生日插件改进测试说明

🎯 改进功能

1. 智能生日提醒系统

  • 首次进服务器: 弹出GUI界面 + 醒目的欢迎消息和提示
  • 第二次及以后: 只显示ActionBar和简洁的聊天提示,不再弹出GUI
  • 设置完生日后: 不再显示任何提醒

2. 年度庆祝限制

  • 每个玩家每年只能庆祝一次生日
  • 即使修改生日到当年已过的日期,也不会重复庆祝
  • 跨年自动重置庆祝状态

3. 生日自由修改

  • 玩家可以随时使用 /birthday set 修改生日
  • 不再需要管理员权限修改自己的生日

🧪 测试场景

场景1: 新玩家首次进服务器

预期行为:

  1. 弹出生日设置GUI界面
  2. 显示醒目的欢迎消息和生日设置提示
  3. 播放提示音效
  4. 玩家数据中标记 has_seen_gui: true

场景2: 玩家第二次进服务器(未设置生日)

预期行为:

  1. 不弹出GUI界面
  2. 显示ActionBar提示: "💡 提示:你还没有设置生日!使用 /birthday set 进行设置"
  3. 发送简洁的聊天提示
  4. 播放轻微的提示音

场景3: 玩家设置生日成功

预期行为:

  1. 显示成功消息和生日信息
  2. 首次设置显示特殊的恭喜消息
  3. 播放成功音效
  4. 今后进服务器不再显示任何生日提醒

场景4: 生日当天登录

预期行为:

  1. 检查是否为玩家生日 (今天是8月1日)
  2. 如果是生日且当年未庆祝过,触发庆祝
  3. 记录庆祝年份为2025
  4. 即使玩家修改生日,当年不会再次庆祝

场景5: 玩家修改生日

预期行为:

  1. 允许随时修改生日
  2. 显示修改成功提示
  3. 如果当年已庆祝过,修改生日不会触发新的庆祝

📅 日期逻辑验证

当前日期: 2025年8月1日

测试用例:

  • 设置生日为8月1日 → 应该立即庆祝(如果当年未庆祝过)
  • 设置生日为8月2日 → 明天才庆祝
  • 已庆祝过的玩家修改为8月1日 → 不会重复庆祝
  • 跨年到2026年 → 庆祝状态重置,可以再次庆祝

🔧 数据结构

玩家数据文件新增字段:

name: "玩家名称"
birthday: "8-1"  # 月-日格式
last_celebrated: "8-1"  # 保留兼容性
last_celebrated_year: "2025"  # 新增:上次庆祝的年份
has_seen_gui: true  # 新增:是否已看过GUI提示