VirtualBooks

VirtualBooks - 虚拟书册

想以炫酷的方式查看信息?看这里就对了!
Bukkit / Spigot 作者 ProBro_YT 支持版本 1.8 - 1.21
服务器使用量
未统计
服务玩家数
未统计
下载量
8,499
插件详细介绍

想优雅地展示信息,又不想让聊天栏被刷屏?VirtualBooks 正是你需要的解决方案。它允许你创建任意数量的虚拟书,并通过自定义命令打开,无需占用物品栏空间。同时,本插件支持无限页面,并兼容 PlaceholderAPI 和 JSON 格式。

核心特性

  • 极其轻量:对服务器性能影响极小。
  • 无依赖:开箱即用,无需安装其他前置插件。
  • 无限页面支持:为每本书创建任意数量的页面。
  • 颜色代码支持:支持传统颜色代码(&)和十六进制(HEX)颜色(1.16+)。
  • 多版本兼容:完美支持 1.8.8 至 1.20.x 版本。
  • 便捷管理:轻松添加更多页面。
  • 多命令别名:单本书可绑定多个触发命令。
  • 实体书转换:所有虚拟书均可转换为实体书。
  • 实体书附魔:可为实体书添加自定义 Lore(支持 PlaceholderAPI)。
  • 成书类型:可设置实体书的生成类型(仅限 1.13+):原始(Original)、副本(Copy)、副本的副本(Copy of Copy)、残破(Tattered)。
  • 不占空间:虚拟书不消耗玩家物品栏。
  • 无限创建:可创建无限数量的虚拟书。
  • PlaceholderAPI 支持:在书中使用各种变量,创造动态内容。
  • 加入赠书:支持设置玩家首次加入和每次加入时自动获得的书籍(可设为虚拟或实体书)。

安装与配置

快速开始

  • 从本页面下载 VirtualBooks.jar
  • VirtualBooks.jar 放入服务器的 plugins 文件夹。
  • 重启服务器以生成配置文件。
  • plugins/VirtualBooks/Books/ 文件夹中添加你的书籍文件(该文件夹内有一个示例书)。
  • 使用 /vb reload 重载插件配置。
  • 开始使用!

配置文件详解

主要配置文件为 config.yml,你可以在其中设置:

  • 无权限提示信息 (No_Permission_Msg)
  • 加入赠书绕过权限 (join_books_bypass)
  • 每次加入赠书 (on-join-book): 设置书籍文件名(需包含 .yml),可配置延迟、权限、是否发放实体书。
  • 首次加入赠书 (on-first-join-book): 设置同上,专为首次加入的玩家准备。

重要提示:添加或修改书籍文件后,请重启服务器或使用 /vb reload 命令使更改生效。

命令与权限

所有命令均支持 Tab 自动补全。

  • /vb help
  • 显示帮助页面。
  • 权限:virtualbooks.command.help
  • /vb list
  • 列出所有可用书籍及其触发命令。
  • 权限:virtualbooks.command.list
  • /vb reload
  • 重载所有配置文件。
  • 权限:virtualbooks.command.reload
  • /vb announce [<文本>]
  • 向全服玩家公告信息。支持 PlaceholderAPI 和颜色代码。
  • 手持签名书时,直接输入 /vb announce 可将该书内容公告给所有人。
  • 权限:virtualbooks.command.announce
  • /vb announcebook <书籍文件名>
  • 公告指定书籍的内容给全服玩家。文件名需包含 .yml
  • 示例/vb announcebook jsonexample.yml
  • 权限:virtualbooks.command.announcebook
  • /vb open <书籍文件名> <玩家名>
  • 为指定玩家打开一本虚拟书。文件名需包含 .yml
  • 示例/vb open jsonexample.yml Blqz
  • 权限:virtualbooks.command.open
  • /vb give <书籍文件名> <玩家名>
  • 给予指定玩家一本实体书。文件名需包含 .yml
  • 示例/vb give jsonexample.yml Blqz
  • 权限:virtualbooks.command.give
  • /vb create <书籍名> <命令> [<权限>/none]
  • 将手中持有的签名书快速创建为一个书籍配置文件。书籍名不要包含 .yml
  • 若不想设置权限,请在命令末尾使用 none
  • 示例/vb create TestBook testcommand none
  • 权限:virtualbooks.command.create

全局权限:授予 virtualbooks.command.* 可一次性获得所有命令的使用权限。

创建书籍

通过 YAML 文件创建

  • 定位到 plugins/VirtualBooks/Books/ 文件夹。
  • 复制并修改已有的 Thanks.yml 示例文件,或按以下格式创建新的 <书名>.yml 文件。

书籍文件格式

每个书籍配置文件都必须包含以下必要字段

command: "thanks" # 用于打开书的命令
permission: "thanks.book" # 命令所需权限(若不需要,请删除整行)
Title: "ThanksBook" # 实体书的标题
Author: "TheBlazingPro" # 实体书的作者
condition: 'original' # 实体书生成类型:original, copy, copy_of_copy, tattered
physical: false # 是否发放实体书(true/false)
command_aliases: # 命令别名列表
  - 'thank_you'
  - 'ty'
lore: # 实体书的 Lore 描述(仅当 physical: true 时生效)
  - "&cLore line 1"
  - "&6Lore line 2"
pages: # 书页内容
  '1': # 页码
    - "&2&lExample Help!&r" # 每行代表书页上的一行文字
    - "{json}" # 此处可插入自定义 JSON
    - "*/help: Shows help!"
  '2':
    - "&2&lThanks for downloading!"
    - "&c<3 - TheBlazingPro"

为单本书添加多个命令

在书籍 YAML 文件中添加 command_aliases 部分即可:

command_aliases:
  - 'alias1'
  - 'alias2'
# 可以添加任意数量的别名

JSON 高级功能

书籍内容支持嵌入自定义 JSON,实现点击、悬停等交互效果。

JSON 基础结构

在书籍 YAML 文件中定义 JSON 对象,然后在页面内容中用 {json对象名} 引用。

examplejson: # JSON 对象名称,可自定义
  TEXT: "&c[TEST]" # 必填,显示在书中的文本(支持 PAPI)
  HOVER_TEXT: "&a悬停提示!%player_name%" # 选填,鼠标悬停时显示的文本
  CLICK_EVENT: # 选填,点击事件
    RUN_COMMAND: "/vb help" # 执行命令
    # 其他可用动作见下文

可用的点击事件(CLICK_EVENT)

一次只能使用一种动作。

  • RUN_COMMAND: 执行一条命令(命令前需加 /)。
  • CHANGE_PAGE: 跳转到指定页码(只需填写数字)。
  • OPEN_URL: 打开一个网页链接。
  • SEND_MSG_TO_PLAYER: 向点击的玩家发送一条消息(支持 PAPI)。
  • RUN_COMMAND_AS_CONSOLE: 以控制台身份执行一条或多条命令(用英文逗号分隔)。
  • OPEN_BOOK: 打开另一本虚拟书(填写书籍文件名,需包含 .yml)。
  • SUGGEST_COMMAND: 向玩家聊天栏填充一个命令建议。

JSON 使用示例

示例1:多命令执行

MULTI_COMMAND:
  TEXT: "[CLICK ME]"
  HOVER_TEXT: "&9点击执行多个命令!"
  CLICK_EVENT:
    RUN_COMMAND_AS_CONSOLE: "say 命令1, say 命令2, gamemode creative %player_name%"

示例2:打开其他书籍

examplejson:
  TEXT: '&c&l[ OPEN BOOK ]'
  HOVER_TEXT: '&a点击打开书'
  CLICK_EVENT:
    OPEN_BOOK: "Thanks.yml"

示例3:建议命令

examplejson:
  TEXT: '&c&l[ SUGGEST COMMAND ]'
  HOVER_TEXT: '&a点击获取命令建议'
  CLICK_EVENT:
    SUGGEST_COMMAND:
      MESSAGE: "&a将在聊天栏填充命令"
      HOVER_TEXT: "&6点击发送"
      COMMAND: "/command"

常见问题与提示

关于实体书

  • 若要将虚拟书转换为实体书,必须在书籍 YAML 文件中填写 TitleAuthor 字段,否则实体书标题和作者将为空白。
  • 实体书的 Lore 和生成类型(condition)仅在发放实体书时生效。

关于加入赠书

  • 设置加入赠书:在 config.yml 中修改 on-join-bookon-first-join-book 为你的书籍文件名(需包含 .yml)。
  • 设为实体书:将对应的 physical-on-join-bookphysical-on-first-join-book 改为 true
  • 设置延迟:通过 on_join_book_delayfirst_join_book_delay 调整(单位:秒,建议至少 2 秒)。
  • 设置权限:通过 on_join_book_permissionon_first_join_book_permission 指定,留空则对所有玩家生效。
  • 绕过赠书:为管理员或特定人员配置 join_books_bypass 权限,拥有此权限的玩家将不会收到自动赠书。

版本与兼容性

  • 注意:最新版插件无法在 1.8.8 以下版本运行。
  • HEX 颜色代码:仅在 1.16 及以上版本被支持。
  • 成书类型(condition):仅在 1.13 及以上版本可用。

支持与条款

获取支持

  • 请勿在评分中提出问题。如需支持,请通过 SpigotMC 页面联系作者或加入 [Discord](here)。
  • Discord 是获得回复最快的方式。

使用条款

  • 请勿在遇到问题时直接给插件差评,请先寻求支持。
  • 仅接受合理的功能建议。
  • 请勿在评论区域报告问题或提出建议。
  • 报告问题或建议前,请确保你使用的是插件最新版本。
  • 请勿在讨论区报告漏洞、故障或提出建议。
  • 禁止出于个人或商业目的反编译、查看或修改插件代码。
  • 本插件作者不对其他插件导致的兼容性问题负责,但会尽力协助修复。
  • 禁止以任何形式重新分发本插件。
  • 下载本插件即表示你同意以上条款。

感谢你下载 VirtualBooks!如果你喜欢这个插件,请考虑为其评分。如果你愿意支持开发者,捐赠将获得极大的感激(非必需但非常感谢)![捐赠链接](here)

测试支持版本
1.8 1.9 1.10 1.11 1.12 1.13 1.14 1.15 1.16 1.17 1.18 1.19 1.20 1.20.6 1.21
版本分布
基本信息
插件名称 VirtualBooks
作者 ProBro_YT
平台 Bukkit / Spigot
支持版本 1.8 - 1.21
点赞数 7
最近版本
暂无数据 -

友情链接: 网易我的世界 | 泰拉瑞亚 | ocent云计算 | 米饭Minecraft插件文档 | 友链合作

历史访问人数:2,657,502  |  历史访问人次:3,221,713

今日访问人数:2,526  |  今日访问人次:2,691

昨日访问人数:30,655  |  昨日访问人次:36,381

Copyright © 2019-2026 我的世界服务器列表站. All rights reserved.

Powered by GermMC 京ICP备17023959号-6