Skip to content

Latest commit

 

History

4 Commits

Folders and files

NameName
Last commit message
Last commit date
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

TempApply — 时间制临时权限申请插件

把"临时给个权限"变成一条可审计的流水线:玩家自助申请 → 管理员 / AI 审批 → 定时生效与倒计时 → 到期自动收回。拒绝私聊轰炸,告别忘收回权限的安全隐患。

状态

  • 七类权限模板:bot / fly / tp / creative / give / cmd / pvp
  • GUI 菜单 + 聊天向导双通道申请(理由可强制)
  • 时长上限、并发数量上限、风险分级
  • 管理员审批工作台:待审列表 / 详情页 / 批准 / 附加理由驳回
  • License-Key 激活 AI 自动审核(多厂商可配)
  • 游戏内提醒 + SMTP 邮件 + QQ 群机器人多通道通知
  • 到期提醒与统一回收引擎,权限自动撤销
  • SQLite 默认 / MySQL 可选,表结构自动迁移
  • zh_CN 语言文案

下载

版本 日期 适用平台 文件
v1.0.4 2026-08-28 Paper / Leaves / Purpur 1.21.x tempapply-1.0.4-paper.jar
v1.0.0 (Beta) 2026-08-27 Paper / Leaves / Purpur 1.21.x tempapply-1.0.0-paper.jar

Spigot / CraftBukkit 用户请使用 -Pspigot 自行构建,或关注 Releases 页的后续发布。

文档

构建

mvn clean package                # 默认 paper 平台 → plugin/target/tempapply-1.0.4-paper.jar
mvn clean package -Pspigot       # Spigot 平台(shade 重定位 Adventure API)

依赖 Maven 3.9+ 与 JDK 21。

安装

  1. 将 jar 放入服务器 plugins/ 目录并重启;
  2. 编辑 plugins/TempApply/config.yml:选择存储方式(SQLite / MySQL)、各权限类型的默认时长与上限;
  3. 如需邮件或 QQ 群通知,填入 SMTP 或 QQ 机器人凭据;如需 AI 自动审核,在后台获取 License-Key 并启用 license-key

使用

玩家

  • /apply 无参数打开申请菜单;/apply fly duration=30 reason=建筑展示 直接提交;
  • 类型需要理由时,按聊天提示逐步输入即可(聊天向导全程引导);
  • 申请进入待审队列后等待批准,生效期间注意到期倒计时提醒。

管理员

  • /tadmin 打开管理台查看待审列表与详情;
  • approve <id> 批准、deny <id> [理由] 驳回(驳回理由会反馈给玩家);
  • 拥有 tempapply.admin.instaapprove 可一键即时批准;
  • 持有 tempapply.notify 的在线管理员会收到新申请提醒。

主要权限节点:tempapply.use(默认所有人)、tempapply.admin(OP 默认)、tempapply.bypass.limit / tempapply.bypass.duration(豁免上限)、tempapply.notifytempapply.admin.instaapprove

核心设计

特性 说明
时间化权限 所有授权都是"带到期时间的租约",而非永久修改,到期由引擎统一撤销
七类权限模板 bot / fly / tp / creative / give / cmd / pvp 各自实现授权与回收语义,参数与上限独立配置
双通道申请 GUI 菜单零门槛点击申请;命令行 key=value 面向熟练用户;必填理由时聊天向导追问
三级审批 自动规则校验 → License-Key AI 审核(可关)→ 管理员人工裁决,支持一键批与超时自动驳回
回收注册表 授权时登记撤销动作(恢复游戏模式 / 飞行状态 / 移除指令额度等),到期精确还原现场
多通道通知 游戏内 ActionBar / 聊天提醒、SMTP 邮件、QQ 群机器人推送新申请与审批结果
双存储方言 SQLite 开箱即用,MySQL 适配集群部署,建表列变更自动迁移

架构

plugin/src/main/java/top/midream/tempapply/
├── TempApplyPlugin.java        # 入口:加载配置与语言,初始化存储、调度与模块
├── command/                    # apply / tadmin 命令解析与 Tab 补全
├── gui/                        # GuiManager 与 Menu 体系:申请菜单 / 待审列表 / 详情页
├── input/                      # ChatInputManager 多步聊天向导(时长与理由问答)
├── permission/                 # PermissionType 抽象与七类实现的 grant/revoke
├── service/                    # ApplyService 申请生命周期、上限校验与到期调度
├── storage/                    # SQLite / MySQL 双方言 DAO 与自动迁移
├── notify/                     # 游戏内提醒、SMTP 邮件、QQ 群机器人推送
├── review/                     # License-Key 校验与 AI 自动审核管线
└── lang/                       # LanguageManager 语言文案(默认 zh_CN)

目录结构

TempApply/
├── docs/                       # GitHub Pages 站点
│   ├── index.html              # 主页
│   ├── proposal/               # 策划案
│   └── player-guide/           # 玩家指南
├── plugin/
│   ├── src/main/java/top/midream/tempapply/
│   ├── src/main/resources/     # plugin.yml / config.yml
│   └── pom.xml                 # Maven 双 profile(paper / spigot)
├── CHANGELOG.md
├── LICENSE
└── README.md

许可

本项目以 GPL-3.0 协议开源。

About

TempApply - 时间制临时权限申请插件:自助申请 / 三级审批 / 到期自动回收 (Paper 1.21.x)

Resources

Stars

1 star

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages