写一本带作者、标题与章节的成书并导出指令。
免费在线
正在加载工具…
# 1.20.5 及以后:written_book_content 组件
give @s written_book[written_book_content={title:"标题",author:"作者",pages:['{"text":"第一页"}','{"text":"第二页"}']}] 1
# 1.20.4 及以下:直接写 NBT
give @s written_book{title:"标题",author:"作者",pages:['{"text":"第一页"}','{"text":"第二页"}']} 1书名不支持颜色 —— 原版的书本标题永远是纯文本,给 title 加 color 不会有任何效果。
run_command 是以玩家自己的身份执行的。 要让普通玩家触发 OP 指令,标准做法是让书执行一条 trigger, 再由循环命令方块检测计分板。Java 版一本书最多 100 页,每页最多 798 个字符、14 行,每行宽度上限 114 像素。中文汉字宽度约是英文字母的两倍,所以一页中文实际大概只能写 150 字左右就满了,写长文要主动分页或用工具自动分页。
书与笔(writable_book)是空白可写的,任何人拿到都能继续编辑;点"署名"之后就变成成书(written_book),内容被锁死不可再改,但可以在工作台里复制。指令上分别对应 writable_book_content 和 written_book_content 两个组件,前者的页面是纯字符串,后者是文本组件。
给页面的文本组件加 click_event,动作选 run_command 并填要执行的指令(1.21.5 之前写作 clickEvent + action/value)。玩家点击那段文字时会以自己的权限执行,所以传送、领取礼包这类要配合命令方块或 datapack 的权限设计。open_url 可以开网页,change_page 可以做目录跳转。