{"id":20228815,"url":"https://github.com/carm-outsource/timereward","last_synced_at":"2025-06-12T04:12:22.627Z","repository":{"id":74963235,"uuid":"464140347","full_name":"carm-outsource/TimeReward","owner":"carm-outsource","description":"在线时长自动领奖插件，通过指令发放奖励，基于EasyPlugin实现。","archived":false,"fork":false,"pushed_at":"2025-03-18T13:03:17.000Z","size":9956,"stargazers_count":7,"open_issues_count":1,"forks_count":2,"subscribers_count":1,"default_branch":"master","last_synced_at":"2025-03-18T14:22:42.470Z","etag":null,"topics":["bukkit-plugin","easyplugin","outsource","spigot-plugin"],"latest_commit_sha":null,"homepage":"","language":"Java","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"gpl-3.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/carm-outsource.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":".github/FUNDING.yml","license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null},"funding":{"custom":["https://donate.carm.cc"]}},"created_at":"2022-02-27T13:11:46.000Z","updated_at":"2025-03-18T13:03:24.000Z","dependencies_parsed_at":"2025-03-19T01:15:11.899Z","dependency_job_id":null,"html_url":"https://github.com/carm-outsource/TimeReward","commit_stats":null,"previous_names":[],"tags_count":11,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/carm-outsource%2FTimeReward","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/carm-outsource%2FTimeReward/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/carm-outsource%2FTimeReward/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/carm-outsource%2FTimeReward/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/carm-outsource","download_url":"https://codeload.github.com/carm-outsource/TimeReward/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":248262298,"owners_count":21074283,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["bukkit-plugin","easyplugin","outsource","spigot-plugin"],"created_at":"2024-11-14T07:32:51.603Z","updated_at":"2025-06-12T04:12:22.614Z","avatar_url":"https://github.com/carm-outsource.png","language":"Java","funding_links":["https://donate.carm.cc"],"categories":[],"sub_categories":[],"readme":"```text\n  _______                ____                              __\n /_  __(_)___ ___  ___  / __ \\___ _      ______ __________/ /\n  / / / / __ `__ \\/ _ \\/ /_/ / _ \\ | /| / / __ `/ ___/ __  / \n / / / / / / / / /  __/ _, _/  __/ |/ |/ / /_/ / /  / /_/ /  \n/_/ /_/_/ /_/ /_/\\___/_/ |_|\\___/|__/|__/\\__,_/_/   \\__,_/   \n```\n\n# TimeReward\n\n![CodeSize](https://img.shields.io/github/languages/code-size/carm-outsource/TimeReward)\n[![Download](https://img.shields.io/github/downloads/carm-outsource/TimeReward/total)](https://github.com/carm-outsource/TimeReward/releases)\n[![Java CI with Maven](https://github.com/CarmJos/TimeReward/actions/workflows/maven.yml/badge.svg?branch=master)](https://github.com/CarmJos/TimeReward/actions/workflows/maven.yml)\n![Support](https://img.shields.io/badge/Minecraft-Java%201.8--Latest-yellow)\n![](https://visitor-badge.glitch.me/badge?page_id=TimeReward.readme)\n\n使用数据库存储的在线时长自动领奖插件，通过指令发放奖励，基于EasyPlugin实现。\n\n## 功能\n\n- 基于数据库存储的用户在线时长统计。\n- **高效算法。** 在线时间不受服务器卡顿(如果有)影响。\n- **异步存取。** 数据读取与存储均为异步操作，不影响服务器性能。\n- **接口全面。** 提供插件用户数据访问接口与变量，便于其他插件进行读取判断。\n- **轻量插件。** 适合小型服务器使用，配置简单方便。\n- **规范开发。** 插件架构符合开发规范，适合新手开发者学习。\n\n## [依赖](https://github.com/CarmJos/TimeReward/network/dependencies)\n\n- **[必须]** 插件本体基于 [Spigot-API](https://hub.spigotmc.org/stash/projects/SPIGOT) 、[BukkitAPI](http://bukkit.org/) 实现。\n- **[自带]** 插件功能基于 [EasyPlugin](https://github.com/CarmJos/EasyPlugin) 实现。\n- **[自带]** 数据功能基于 [EasySQL](https://github.com/CarmJos/EasySQL) 实现。\n- **[自带]** 消息格式基于 [MineDown](https://github.com/Phoenix616/MineDown) 实现。\n    - 所有 messages.yml 均支持 MineDown 语法。\n- **[推荐]** 变量部分基于 [PlaceholderAPI](https://www.spigotmc.org/resources/6245/) 实现。\n\n详细依赖列表可见 [Dependencies](https://github.com/CarmJos/TimeReward/network/dependencies) 。\n\n## [指令](src/main/resources/plugin.yml)\n\n以下指令的主指令为 `/TimeReward` 或 `/tr`。\n\n- 必须参数 `\u003c参数\u003e`\n\n```text\n# claim [奖励ID]\n@ 玩家指令 (TimeReward.claim)\n- 为自己手动领取对应奖励。\n- 若不填写奖励ID，则自动领取全部可领取的奖励。\n\n# reload\n@ 管理指令 (TimeReward.admin)\n- 重载插件配置文件。\n\n# user \u003c玩家名\u003e\n@ 管理指令 (TimeReward.admin)\n- 查看用户的在线时长信息与奖励领取情况。\n\n# list\n@ 管理指令 (TimeReward.admin)\n- 列出所有奖励与条件。\n\n# test \u003c奖励ID\u003e\n@ 管理指令 (TimeReward.admin)\n- 测试执行奖励配置的指令。\n```\n\n## 变量 (PlaceholderAPI)\n\n安装 PlaceholderAPI 后，可以输入 /papi info TimeReward 查看相关变量。\n\n变量如下:\n\n```text\n# %TimeReward_\u003c单位\u003e_\u003c时间类型\u003e%\n- 得到玩家的在线时长。\n- 单位可选 seconds, minutes, hours, days.\n- 时间类型可选 TOTAL, DAILY, WEEKLY, MONTHLY 。\n\n\n\n# %TimeReward_reward_\u003c奖励ID\u003e%\n- 得到某个奖励配置的名称。\n\n# %TimeReward_claimed_\u003c奖励ID\u003e%\n- 得到玩家是否已经领取过某个奖励。\n? 若奖励为循环奖励（即每在线X小时即可领取一次)，\n? 但玩家曾经领取过，该变量仍为 true 。\n? 因此，需使用 %TimeReward_claimable_\u003c奖励ID\u003e% 判断是否可领取。\n\n# %TimeReward_claimable_\u003c奖励ID\u003e%\n- 得到玩家是否可以领取某个奖励 \n```\n\n## 配置文件\n\n### 插件配置文件 ([config.yml](src/main/java/cc/carm/plugin/timereward/conf/PluginConfig.java))\n\n详见代码源文件，将在首次启动时生成配置。\n\n### 消息配置文件 ([messages.yml](src/main/java/cc/carm/plugin/timereward/conf/PluginMessages.java))\n\n支持 [MineDown 语法](https://wiki.phoenix616.dev/library:minedown:syntax)，详见代码源文件，将在首次启动时生成配置。\n\n## 使用统计\n\n[![bStats](https://bstats.org/signatures/bukkit/TimeReward.svg)](https://bstats.org/plugin/bukkit/TimeReward/14505)\n\n## 支持与捐赠\n\n若您觉得本插件做的不错，您可以捐赠支持我，感谢您成为开源项目的支持者！\n\n万分感谢 [egg_拿]() 与 [ayoiz](https://github.com/ayoi2) 赞助本项目的开发与维护！\n\nMany thanks to Jetbrains for kindly providing a license for me to work on this and other open-source projects.  \n[![](https://resources.jetbrains.com/storage/products/company/brand/logos/jb_beam.svg)](https://www.jetbrains.com/?from=https://github.com/CarmJos/UserPrefix)\n\n## 开源协议\n本项目源码采用 [GNU General Public License v3.0](https://opensource.org/licenses/GPL-3.0) 开源协议。\n\n\u003cdetails\u003e\n\u003csummary\u003e关于 GPL 协议\u003c/summary\u003e\n\n\u003e GNU General Public Licence (GPL) 有可能是开源界最常用的许可模式。GPL 保证了所有开发者的权利，同时为使用者提供了足够的复制，分发，修改的权利：\n\u003e\n\u003e #### 可自由复制\n\u003e 你可以将软件复制到你的电脑，你客户的电脑，或者任何地方。复制份数没有任何限制。\n\u003e #### 可自由分发\n\u003e 在你的网站提供下载，拷贝到U盘送人，或者将源代码打印出来从窗户扔出去（环保起见，请别这样做）。\n\u003e #### 可以用来盈利\n\u003e 你可以在分发软件的时候收费，但你必须在收费前向你的客户提供该软件的 GNU GPL 许可协议，以便让他们知道，他们可以从别的渠道免费得到这份软件，以及你收费的理由。\n\u003e #### 可自由修改\n\u003e 如果你想添加或删除某个功能，没问题，如果你想在别的项目中使用部分代码，也没问题，唯一的要求是，使用了这段代码的项目也必须使用 GPL 协议。\n\u003e\n\u003e 需要注意的是，分发的时候，需要明确提供源代码和二进制文件，另外，用于某些程序的某些协议有一些问题和限制，你可以看一下 @PierreJoye 写的 Practical Guide to GPL Compliance 一文。使用 GPL 协议，你必须在源代码代码中包含相应信息，以及协议本身。\n\u003e\n\u003e *以上文字来自 [五种开源协议GPL,LGPL,BSD,MIT,Apache](https://www.oschina.net/question/54100_9455) 。*\n\u003c/details\u003e\n\n\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fcarm-outsource%2Ftimereward","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fcarm-outsource%2Ftimereward","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fcarm-outsource%2Ftimereward/lists"}