每日通用奖励

每日通用奖励

完全可用、双语且高度优化的原始每日奖励模组分支,专为现代 Fabric 服务器定制。

经济

通用每日奖励

版本 Minecraft 许可证 平台 构建通用每日奖励

此版本标志着对原始 daily-rewards-fabric 模组的完全演进和彻底重构。以前称为 Cobbleverse 每日奖励,4.0.0 版本引入了为任何 Minecraft 服务器设计的通用架构。

在 Modrinth 上下载 在 CurseForge 上下载 GitHub

通用每日奖励 是一个 100% 独立、服务端模组,提供高度可配置的奖励系统,支持原生本地化和强大的模板引擎。

📖 点击此处阅读完整的更新日志

🌟 4.1.0 版本新特性(界面全面改版)

  • 🎨 完全重新设计的 GUI: 我们彻底升级了菜单布局!奖励现在以动态网格形式精美展示,每页最多 28 天,为您的玩家提供更好的视觉进度体验,同时完全保留经典的多页支持,以实现无限连续签到。
  • 📏 自适应响应式网格: 界面会自动缩放以适应您服务器的配置!如果您设置了 7 天奖励,它会完美地居中显示一行 7 个槽位。配置 14 天奖励,它会显示两行,并动态缩放至完整的 28 天网格。配置超过 28 天的奖励?模组将自动为您生成额外的页面!

✨ 主要特性(v4.0.0+)

  • 🚀 100% 服务端: 无需客户端安装。由 Polymer 提供支持。
  • 🌍 原生本地化 (i18n): 使用 服务器翻译 API 自动适应玩家的客户端语言。
    • 目前原生支持英语、西班牙语(多种变体)以及现在的韩语。
    • 其他语言将默认使用英语。
    • 🤝 欢迎贡献: 如果您想帮助将模组翻译成您的语言,欢迎在我们的 GitHub 上发起拉取请求!
  • 📋 模板系统: 使用 /rewards-setup load 命令在奖励集之间快速切换。它会自动检测放置在 config/rewards/templates/ 文件夹中的任何模板(包括您自己的模板!)。
  • 🔄 循环连续签到: 只需配置一次每日奖励,即可让它们自动循环。
  • 🕒 动态冷却时间: GUI 工具提示中实时显示“可在:X小时Y分钟”计时器。
  • 🖥️ 远程访问: 玩家可以使用 /daily 命令打开奖励菜单(可在 global.json 中配置)。
  • ⚙️ 通用 i18n 模板: 默认模板现在使用 Minecraft translate 键,确保奖励名称以玩家语言本地化显示。

🛠️ 命令

玩家命令

  • /daily - 打开奖励选择菜单(如果在配置中启用)。
  • /rewards open - /daily 的别名。

管理员命令(权限等级 2 及以上)

  • /rewards-reload-<type>-config - 热重载特定配置。
  • /rewards-check <player> - 检查玩家的当前连续签到天数和游戏时间统计。
  • /rewards-force-save - 立即将所有玩家数据强制保存到磁盘。
  • /rewards-reset <player> - 重置玩家的所有进度。
  • /rewards-setstreak <player> <days> - 调整每日登录连续签到天数。
  • /rewards-setplaytime <player> <seconds> - 调整记录的游戏时间。
  • /rewards-screen-entity <add|remove> <entity> - 将菜单绑定到物理 NPC。

设置命令(权限等级 4)

  • /rewards-setup load <template> - 应用预置模板(vanilla、economy、cobbleverse)。
  • /rewards-setup allow-player-command <true|false> - 切换通过 /daily 的远程访问权限。

⚙️ 配置与灵活性

该模组使用直观的 JSON 结构,让您在分配奖励时拥有完全的自由。您可以选择两种主要方法(或混合使用):

1. 基于命令的奖励(推荐用于经济/虚拟物品)

适用于货币、权限或具有复杂 NBT 的自定义物品。您在后台运行一个命令,并在 GUI 中使用一个视觉占位符。

  • 将 "give_item" 设置为 false,使 GUI 物品仅作为视觉图标。
  • 将您的命令添加到 "commands" 数组中。

2. 直接物理奖励

模组直接将 GUI 中显示的物理物品给予玩家。

  • 将 "give_item" 设置为 true。
  • 玩家将获得他们看到的确切物品(数量、附魔、名称、描述)。

配置示例

以下示例对比了命令 vs. 直接奖励(第 1 天)以及文本 vs. 翻译名称(第 2 天):

[
  {
    "day": 1,
    "id": "day_1",
    "commands": ["experience add %player% 500 points"],
    "items": [
      {
        "item": "minecraft:experience_bottle",
        "name": "{\"text\":\"500 XP点数 (命令)\",\"color\":\"green\"}",
        "amount": 1,
        "give_item": false
      },
      {
        "item": "minecraft:diamond",
        "name": "{\"translate\":\"item.minecraft.diamond\",\"color\":\"aqua\"}",
        "amount": 3,
        "give_item": true
      }
    ]
  },
  {
    "day": 2,
    "id": "day_2",
    "items": [
      {
        "item": "minecraft:iron_sword",
        "name": "{\"text\":\"自定义屠魔剑\",\"color\":\"red\",\"bold\":true}",
        "amount": 1,
        "give_item": true
      },
      {
        "item": "minecraft:golden_apple",
        "name": "{\"translate\":\"item.minecraft.golden_apple\",\"color\":\"gold\"}",
        "amount": 5,
        "give_item": true
      }
    ]
  }
]

💡 想看更多完整示例?

您可以直接在我们的 GitHub 仓库中浏览所有预置模板的完整代码。

📁 浏览模板文件夹

🎨 创建自定义模板

您可以轻松创建自己的奖励预设。只要您遵循以下步骤,模组就会自动检测到它们:

  1. 导航到您服务器的 config/rewards/templates/ 文件夹。
  2. 创建两个具有相同前缀的 JSON 文件:
    • yourname_daily.json(用于每日奖励)
    • yourname_playtime.json(用于游戏时间奖励)
  3. 在游戏中使用 /rewards-setup load yourname 命令。模组将找到您的文件并立即应用它们!

📜 致谢

本项目是对 SmugTheKiler 的原始 Daily-Rewards-Fabric 的重构分支。非常感谢他们奠定了坚实的基础!