• 欢迎加入MineBBS QQ讨论群:点击查看所有的官方讨论群
  • 我们将于近期对服务器进行迁移,服务可能中断至多2日。请各位安排好自己的访问计划,造成不便敬请谅解!
  • MineBBS入站考试已经上线!想要成为【正式会员】解锁更多功能吗?快来参与吧!【点我去看】
BiLibiliVideoFork —— B站三连奖励 | GUI界面支持

二次开发 开源 工具 BiLibiliVideoFork —— B站三连奖励 | GUI界面支持 2.8.0

完成注册/登录后下载
版权类型
二次开发
插件中文名称
B站视频三连奖励
插件英文名称
BiliBiliVideoFork
原帖地址
https://github.com/BalanceSea/BilibiliVideo-Fork
支持的核心(服务端)
  1. Spigot
  2. Paper
  3. Folia
  4. Purpur
  5. PufferFish
语言支持
中文(简体)
适配版本(Java)
  1. 最新版本
  2. 26.x
  3. 1.21
  4. 1.20
  5. 1.19
  6. 1.18
  7. 1.17
  8. 1.16
  9. 1.15
  10. 1.14
  11. 1.13
  12. 1.12
三连奖励.webp

[MD] ### BiLiBiLiVideo-Fork ## 前情提要 ### 在此感谢原作者 BingZi-233 开发的BiliBiliVideo 插件,本项目基于该项目源码进行二次开发,本插件网络缓存部分由AI辅助开发,如有介意请勿使用该插件 #### [插件开源地址](https://github.com/BalanceSea/BilibiliVideo-Fork) #### [最新构建版下载](https://github.com/BalanceSea/BilibiliVideo-Fork/releases) #### [交流群](https://qm.qq.com/q/t6LBeFIQjC) ## 📖 项目简介 **BilibiliVideo-Fork** 是一个基于 TabooLib 6.3.0-afd75a7 框架与 BiliBiliVideo Plugin 开发的 Minecraft 服务器插件,为服务器提供完整的哔哩哔哩平台集成能力。每个玩家可以独立登录自己的 B 站账号,在游戏内完成视频三连检测、领取奖励等互动功能。 ### 🎯 核心亮点 - 🗺️ **游戏内二维码登录** - 创新性地使用地图物品展示 B 站登录二维码 - 💻 **游戏内GUI界面** - '傻瓜式'操作,妈妈再也不用担心玩家不会输指令啦 - 📜 **自定义语言** - 高度自定义化的语言文件 - 👥 **多账户隔离系统** - 每位玩家使用独立的 B 站账号,数据完全隔离 - ⚡ **异步架构** - 所有网络请求异步执行,不影响服务器性能 - 🎁 **灵活奖励系统** - 基于 Kether 脚本引擎,支持自定义奖励逻辑 - 🛡️ **风控规避机制** - 内置 buvid3 参数管理,保证请求稳定性 - 🗄️ **双数据库支持** - SQLite 开箱即用,可切换至 MySQL --- ## ✨ 功能特性 ### 🔐 账号系统 | 功能 | 说明 | |------|------| | **二维码登录** | 在游戏内生成 B 站登录二维码地图物品,扫码即可绑定 | | **账号绑定** | 每个玩家绑定独立的 B 站账号,支持查看绑定状态 | | **Cookie 自动刷新** | 自动维护登录凭证有效性,避免过期失效 | | **凭证管理** | 完整的凭证生命周期管理(创建、更新、过期、禁用) | ### 🎬 互动功能 | 功能 | 说明 | |------|------| | **三连状态检测** | 检测玩家是否完成视频的点赞、投币、收藏 | | **奖励发放** | 基于三连状态自动发放游戏内奖励 | | **防重复领取** | 智能记录奖励领取历史,避免重复领取 | --- ## 🚀 快速开始 ### 📋 环境要求 | 组件 | 版本要求 | |------|----------| | **Minecraft 服务端** | Bukkit/Spigot/Paper (推荐 1.12+) | | **Java** | JRE 8 或更高版本 | | **TabooLib** | 6.3.0-afd75a7 (自动加载) | | **数据库** | SQLite (默认) 或 MySQL 5.7+ | ### 📥 安装步骤 1. **下载插件** ```bash # 从 Releases 页面下载最新版本 wget https://github.com/BalanceSea/BilibiliVideo/releases/download/v2.0.0-beta/BilibiliVideo-2.0.0-beta.jar ``` 2. **放置插件文件** ``` plugins/ └── BilibiliVideo-Fork-2.8.0-beta.jar ``` 3. **启动服务器** 插件会自动创建配置文件和数据库: ``` plugins/BilibiliVideo/ ├── config.yml # 奖励配置 ├── gui.yml # GUI配置 ├── database.yml # 数据库配置 ├── lang/ # 语言文件 └── bilibili_video.db # SQLite 数据库 ``` 4. **验证安装** 在控制台或游戏内执行: ``` /bv help ``` --- ## 💻 命令系统 ### 权限节点 | 权限节点 | 说明 | 默认许可 | |----------|------|----------| | `bilibili.video.use` | 玩家基础命令(qrcode/status/triple/reward) | 所有人 | | `bilibili.video.admin` | 管理员命令(unbind/credential/reload) | 仅 OP | ### 玩家命令 | 命令 | 功能 | 权限节点 | |---------------------|---------------|----------| | `/bv help` | 查看帮助信息 | `bilibili.video.use` | | `/bv menu` | 打开GUI菜单 | `bilibili.video.use` | | `/bv qrcode` | 生成 B 站登录二维码地图 | `bilibili.video.use` | | `/bv status` | 查看账号绑定状态 | `bilibili.video.use` | | `/bv triple <bvid>` | 检测视频三连状态 | `bilibili.video.use` | | `/bv reward <bvid>` | 领取三连奖励 | `bilibili.video.use` | ### 管理员命令 | 命令 | 功能 | 权限节点 | |------|------|----------| | `/bv admin reload` | 重载配置文件 | `bilibili.video.admin` | | `/bv admin unbind <target>` | 解除玩家绑定(支持玩家名/UUID/B站UID) | `bilibili.video.admin` | | `/bv admin credential list` | 列出所有登录凭证 | `bilibili.video.admin` | | `/bv admin credential info <label>` | 查看凭证详细信息 | `bilibili.video.admin` | | `/bv admin credential refresh <label>` | 刷新指定凭证(待实现) | `bilibili.video.admin` | ### 🎮 使用示例 ```bash # 1. 玩家绑定 B 站账号 /bv qrcode # 系统会给玩家一张地图物品,展示登录二维码 # 用 B 站 APP 扫码并确认登录 # 2. 查看绑定状态 /bv status # 输出: ✓ 已绑定 B 站账号: 用户名 (UID: 123456789) # 3. 检测视频三连 /bv triple BV1xx411c7mD # 输出: ✓ 点赞 | ✓ 投币(2) | ✓ 收藏 - 已完成三连! # 4. 领取奖励 /bv reward BV1xx411c7mD # 系统执行奖励脚本并提示领取成功 # 5. 视频菜单 /bv menu # 傻瓜式一键操作 ``` --- ## ⚙️ 配置指南 ### 数据库配置 (`database.yml`) ```yaml database: # 是否启用数据库(必须为 true) enabled: true # 数据库类型: sqlite (默认) 或 mysql type: sqlite # SQLite 配置(开箱即用) sqlite: file: "bilibili_video.db" # MySQL 配置(可选) mysql: host: "127.0.0.1" port: 3306 database: "bilibili_video" username: "root" password: "your_password" params: "useSSL=false&allowPublicKeyRetrieval=true&serverTimezone=Asia/Shanghai" # HikariCP 连接池配置 hikari: pool-name: "BilibiliVideoPool" maximum-pool-size: 10 # 最大连接数 minimum-idle: 2 # 最小空闲连接 connection-timeout: 30000 # 连接超时 (ms) idle-timeout: 600000 # 空闲超时 (ms) max-lifetime: 1800000 # 最大生命周期 (ms) # 数据库选项 options: table-prefix: "bv_" # 表名前缀 show-sql: false # 是否打印 SQL slow-sql-threshold-ms: 500 # 慢查询阈值 (ms) ``` ### 奖励配置 (`config.yml`) ```yaml reward: # 奖励判重策略 # PLAYER_AND_BILIBILI - 玩家和 B 站账户同时记录(最严格:同一玩家 + 同一 B 站号只能领一次) # BILIBILI_ONLY - 仅记录 B 站账户(同一 B 站号只能领一次,玩家换号可重新领) # PLAYER_ONLY - 仅记录玩家(同一玩家只能领一次,换号无法重新领,默认值,兼容旧版本行为) dedup-strategy: "PLAYER_ONLY" templates: default: # 该介绍会用于显示在 GUI 界面中 description: "完成三连时发放的默认奖励示例" kether: # 仅作为示例,实际脚本可根据需要自行编写 - 'tell "&7[&bBiliBili三连奖励&7] &a你已完成该视频的三连,感谢支持!"' # 执行指令(带有papi解析) - 'command papi "give %player_name% diamond 3"' vip: description: "特殊视频VIP奖励" kether: - 'tell "&6你对该视频的支持获得了 VIP 奖励!"' - # 执行指令(带有papi解析) - 'command papi "give %player_name% diamond 64"' - 'command papi "give %player_name% gold_ingot 32"' # 活动模板(限时活动) event: description: "活动期间的特殊奖励" kether: - 'tell "&d[活动奖励] &f恭喜完成三连!"' - 'command papi "crate givekey %player_name% activity 1"' # 针对特定 bvid 的奖励配置 videos: # 完全自定义的示例:BV1xxxxx 使用 vip 模板 BV1xxxxx: rewardKey: "vip" # 使用活动 event 模板 BV2ccccc: rewardKey: "event" # 如果仅配置了 bvid 但不写 rewardKey,将自动回退到 templates.default BV3yyyyy: { } ``` ### GUI配置 (` gui.yml `) ````yaml Title: "&fBiliBiliVideo &7| &f三连奖励" #不要填写过多视频占位符 请求过多B站会风控!!! #不要填写过多视频占位符 请求过多B站会风控!!! #不要填写过多视频占位符 请求过多B站会风控!!! Layout: - "####i####" - "#1111111#" - "#p#####n#" Icons: # 隔板 '#': display: #物品名称 name: "&7▪ 我只是个隔板" #物品材质 mats: "gray_stained_glass_pane" #物品CustomModelData cmd: '-1' #物品描述 lore: - "&7爱上一只小猪?" # BiliBiliVideo '1': type: VIDEO display: name: "&f⭐&6 %bv%" mats: "gold_ingot" lore: - "&8&m " - "&f📺&b&l 三连状态" - " &7▪ 点赞: &f%status_like%" - " &7▪ 收藏: &f%status_favorite%" - " &7▪ 投币: &f%status_coin%" - " &7▪ 三连: &f%status%" - "&8&m " - "&f🎁&b&l 三连奖励" - " &7▪ %description%" - "&8&m " - "&f✅&b&l 奖励状态" - " &7▪ %claim_status%" - "&8&m " - "&f✔&a&l 左键领取奖励 &7| &r🔗&b&l 右键查看视频链接" - "&8&m " 'p': type: PREVIOUS display: name: "&f上一页" mats: "paper" lore: - "&7点击前往上一页" - "&7当前页: &e%page%" 'n': type: NEXT display: name: "&f下一页" mats: "paper" lore: - "&7点击前往下一页" - "&7当前页: &e%page%" # 玩家信息 'i': display: name: "&f📋&b&l BiliBiliVideo &7| &f三连奖励" mats: "player_head" lore: - "&8&m " - " &7点击查看三连奖励" - "&8&m " ```` ### 语言配置(`lang/zh_CN.yml`) ````yaml prefix: '&7[&bBiliBili三连奖励&7] &r' no-permission: '&c⚠ 你没有权限执行该指令!' player-only: '&c⚠ 此命令只能由玩家执行!' unknown-command: '&c⚠ 未知指令!' help-player: - "&b指令帮助" - " &7▪ /bv help &f查看帮助信息" - " &7▪ /bv menu &f打开GUI菜单" - " &7▪ /bv qrcode &f生成 B 站登录二维码地图" - " &7▪ /bv status &f查看账号绑定状态" - " &7▪ /bv triple <bvid> &f检测视频三连状态" - " &7▪ /bv reward <bvid> &f领取三连奖励" help-admin: - "&b指令帮助" - " &7▪ /bv help &f查看帮助信息" - " &7▪ /bv menu &f打开GUI菜单" - " &7▪ /bv qrcode &f生成 B 站登录二维码地图" - " &7▪ /bv status &f查看账号绑定状态" - " &7▪ /bv triple <bvid> &f检测视频三连状态" - " &7▪ /bv reward <bvid> &f领取三连奖励" - "&b管理员指令帮助" - " &7▪ /bv admin reload &f重载配置文件" - " &7▪ /bv admin unbind <target> &f解除玩家绑定(支持玩家名/UUID/B站UID)" - " &7▪ /bv admin credential list &f列出所有登录凭证" - " &7▪ /bv admin credential info <label> <bvid> &f查看凭证详细信息" - " &7▪ /bv admin credential refresh <label> <bvid> &f刷新指定凭证(待实现)" # 账号未绑定 account-not-bind: '❌&c B站账号未绑定,请通过 &e/bv qrcode &c扫码登录' # 账号绑定提示 account-bind-tip: '📱&a 已为你生成二维码,请使用手机扫码完成绑定' # 账号绑定成功提示 account-bind-success: '✅&a 已成功绑定 B 站账号 &e{user_name} &7(&e{user_mid}&7)' # 账号信息 account-bind-info: - '&8&m ' - '📋&b&l 当前绑定信息' - ' &7▪ 玩家: &f{player}' - ' &7▪ B 站 UID: &f{user_mid}' - ' &7▪ B 站昵称: &f{user_name}' - '&8&m ' # 凭证未保存 token-not-save: '❌&c 尚未为你保存登录凭证,请通过 &e/bv qrcode &c扫码登录' # 凭证信息 token-info: - '&8&m ' - '🔑&b&l 当前凭证信息' - ' &7▪ 标签: &f{token_tag}' - ' &7▪ 状态: &f{token_status}' - ' &7▪ 绑定 UID: &f{user_mid}' - '&8&m ' # 凭证列表 token-list-head: '&b凭证列表:' token-list-info: '&7 ▪ &fUID: {user_mid} &7| &f状态: {token_status}' token-list-empty: '&e当前没有任何凭证记录。' # 凭证查找 token-find-success: - '&8&m ' - '🔍&b&l 凭证详情' - ' &7▪ UID: &f{user_mid}' - ' &7▪ 状态: &f{token_status}' - ' &7▪ lastUsedAt: &f{token_lastUsedAt}' - ' &7▪ expiredAt: &f{token_expiredAt}' - '&8&m ' token-find-fail: '&c❌ 未找到名为 &e{token_label} &c的凭证' # 视频三连信息 video-status: - '&8&m ' - '📺&b&l 视频 &e{bv} &b的三连状态' - ' &7▪ {video_like}' - ' &7▪ {video_coin}' - ' &7▪ {video_favorite}' - ' &7▪ {video_triple}' - '&8&m ' # 视频点赞 video-like-success: '👍&a 已点赞' video-like-fail: '👎&c 未点赞' # 视频投币 video-coin-success: '🪙&a 已投币' video-coin-fail: '🪙&c 未投币' # 视频收藏 video-favorite-success: '⭐&a 已收藏' video-favorite-fail: '⭐&c 未收藏' # 三连状态 video-triple-success: '🎉&a 已完成三连' video-triple-fail: '📝&e 未完成三连' # 三连奖励领取提示 video-claim: '🎁&a 成功领取三连奖励' video-not-claim: '⚠&e 尚未完成该视频的点赞、投币、收藏,无法领取奖励' video-claimed: '✅&a 已领取过该奖励' video-claim-error: '❌&c 领取奖励失败,请稍后重试' video-claim-warn: '⚠&e 已记录该视频三连,但并没有设置奖励' # 视频链接提示 video-url: '🔗&b&l 视频链接&7: &fhttps://www.bilibili.com/video/{bv}' # 视频不存在提示 video-not-find: '⚠&e 视频 &e{bv} &e并未登记' # 二维码失效 qrcode-invalid: '❌&c 二维码已失效,请重新执行 &e/bv qrcode' # GUI领取文本 gui-video-claim: '✅&a 点击领取奖励' gui-video-cant-claim: '❌&c 不可领取' gui-video-already-claim: '✔&a 已领取该奖励' # 解绑提示 admin-unbind-success: '✅&a 已解除玩家 &e{player} &a与 B 站账号 &e{user_mid} &a的绑定' admin-unbind-fail: '❌&c 未找到与 &e{player} &c匹配的玩家、UUID 或 B 站 UID' ```` #### 🎨 Kether 脚本语法示例 [Kether Explorer](https://taboolib.hhhhhy.kim/kether-list/) --- [/MD]
  • 三连奖励.webp
    三连奖励.webp
    64.4 KB · 查看: 4
作者
没钱的山海
下载
19
查看
131
首次发布
最后更新

评分

0.00 星 0 次评分
后退
顶部 底部