diff --git a/404.html b/404.html new file mode 100644 index 00000000..02027467 --- /dev/null +++ b/404.html @@ -0,0 +1,22 @@ + + + + + + 404 | FDCraft + + + + + + + + + + + +
Skip to content

404

PAGE NOT FOUND

But if you don't change your direction, and if you keep looking, you may end up where you are heading.
+ + + + \ No newline at end of file diff --git a/about/club.html b/about/club.html new file mode 100644 index 00000000..4064fc1a --- /dev/null +++ b/about/club.html @@ -0,0 +1,25 @@ + + + + + + 基岩社 | FDCraft + + + + + + + + + + + + + + +
Skip to content

基岩社

基岩社是一个以游戏 Minecraft(中文译名“我的世界”)为基础的、通过建筑美学设计、红石电路设计、程序设计等方式全面提升社团成员乃至复旦所有感兴趣的同学的专业知识、艺术修养、先进技术经验等的文化体育类社团。

部门组成

基岩社下辖四个分部:运维编程部、建筑宣传部、活动组织部、技术研究部。

运维编程部

  • 负责各个Minecraft 服务端、Q群机器人、官网、FDCraft 皮肤站、资源站的日常运营维护;
  • 撰写Minecraft 基础、服务器运维相关的教程;
  • 围绕Minecraft进行编程开发,包括但不限于:
    • Java:Bukkit 插件、Forge模组、Fabric模组、服务端;
    • Python:MCDR 插件、Nonebot插件;
    • 综合:AIGC相关;
    • ……
  • 撰写Minecraft相关编程开发的教程;
  • ……

建筑宣传部

  • 负责像素复旦项目的建设;
  • 负责社团B站官号(@复旦大学Minecraft基岩社)与微信公众号(@基岩社的小喇叭)的日常运营;
  • 百团时负责海报、明信片等的制作;
  • 进行Minecraft建筑、皮肤、模型、材质的创作;
  • 撰写建筑结构风格相关知识的科普文章&Minecraft创作相关的教程;
  • ……

活动组织部

  • 负责小游戏服务器(FDP)的游戏选择与地图更换&线下活动;

  • 组织社团成员参加小游戏相关活动、比赛;

  • 百团时负责社团摊位活动的设计;

  • 进行Minecraft游戏类地图的创作;

  • ……

技术研究部

  • 负责各类红石技术与模组的技术研究,包括但不限于:
    • 生存红石;
    • 数字电路,固定机械,飞行器机械;
    • 机械动力,应用能源II、热力系列;
    • ……
  • 撰写红石技术相关&模组技术相关教程;
  • ……

创办初衷

基岩社是一个以游戏 Minecraft(中文译名“我的世界”)为基础的文化体育类社团。基岩社成立之初衷是围绕 Minecraft,通过建筑美学设计、红石电路设计、皮肤艺术设计、Java 程序设计等方式全面提升社团成员乃至复旦所有感兴趣的同学的专业知识、艺术修养、先进技术经验等。

得益于 Minecraft 提供的开放式地图编辑功能,同学们可以以数百种方块的组合创造出现实的或想象中的建筑作品。通过对中国古典建筑结构的学习,同学们能领略传统艺术之美,弘扬了优秀传统文化。通过对奇幻场景的构建,同学们的想象力与创新能力能获得极大的解放。基岩社将充分利用此功能,切实提升同学审美与创新能力。

基于 Minecraft 提供的红石电路模块,同学们可以以简单的信号源与信号传递装置构建出基本的逻辑门,进而创建复杂庞大的逻辑电路。通过对基本电路理论的学习与实践,同学们的专业技能与专业素养将获得极大的提升。基岩社将充分发挥该模块的作用,寓教于乐,实现“互联网+”之下的综合创新发展模式。

Minecraft 开放了对角色皮肤的高度定制权限,同学们可以在 64*64 像素的画布上,“带着镣铐跳舞”,绘制自己角色的皮肤。如何在局限的篇幅上创作出精美的作品,这是对同学艺术素养的极大考验。基岩社将提供皮肤分享交流平台,同学们可以自由创作、自由分享、自由点评,在沟通交流中实现审美的共同进步。

Minecraft 本身基于 Java 程序设计语言开发,并通过 Bukkit API 提供诸多可编程接口。同学们可以通过对 Minecraft 程序本身的学习提升对 Java 语言的应用能力。同时,Minecraft 还具有跨平台、多语言、分布式、多终端、云原生的特性。在维护 Minecraft 服务器的过程中,同学们可以学到 Linux 运维、桌面软件开发、复杂环境组网等多方面的计算机科学与软件工程知识。

在当下快速发展的互联网的时代背景下,基岩社将把大学生的学习扩展到课堂之外的地方,与课余文体活动有机结合,全方位创新开展社团工作,让同学们在“追新”的同时,感受到传统文化与现代技术碰撞的精妙美丽。

发展方向

基岩社将以 Minecraft 为核心,采取学术与趣味相结合、学习与娱乐相呼应的发展方针,全面建设高质量现代化的综合性文化体育类学生社团。

基岩社力求借助互联网+技术,寓教于乐,培养成员专业技能与艺术修养,争取发表大量优秀原创作品。基岩社将以各种质量过关、价值可鉴的活动为载体,充分调动成员的主观能动性,让每一个成员参与到社团的建设当中来。基岩社注重循序渐进的积累式发展模式,在日常化工作中,基岩社通过营造良好的交流合作氛围,提供讨论互动平台,使社团成员有充分的参与感与获得感。

社团工作方面,基岩社核心部门将严格自我要求,追求以服务广大社团成员为宗旨,创造性地落实工作,做好活动的提前策划与常规化运营的提前安排,有条不紊地开展社团工作。同时,社团核心部门的工作受到所有社团成员的监督并接受所有成员的反馈。让所有成员在社团的成长中都能贡献自己的力量。

基岩社以人为本,将以最饱满的热情服务复旦大学所有热爱 Minecraft 的人。

+ + + + \ No newline at end of file diff --git a/about/index.html b/about/index.html new file mode 100644 index 00000000..90737cbb --- /dev/null +++ b/about/index.html @@ -0,0 +1,25 @@ + + + + + + FDCraft + + + + + + + + + + + + + + +
Skip to content

FDCraft

FDCraft 是由 KYLN24 于 2020 年 12 月发起的面向复旦大学 Minecraft 爱好者的系列多人联机服务器。

QQ 群:1037308494

运营团队

FDC 云计算中心正在招募实习运维

FDC 云计算中心
腐竹(网络 / 软件 / 运维)Polaris_Light
前腐竹KYLN24
物理腐竹(云储存 / 云计算)JingYiJun
前群主BeatGeneration

服务器概况

FDCraft 用户中心

网站地址:https://auth.fdc.jingyijun.xyz

认证服务器地址:https://auth.fdc.jingyijun.xyz/api/yggdrasil

【主服】复读世界𒆙

代号fdc&fdcc
状态复读世界𒆙
Java 版地址mc.fdc.jingyijun.xyz,使用/server fdcc进入镜像服
基岩版地址mc.fdc.jingyijun.xyz,端口为19132
兼容版本JE 1.20.1 & BE
特性版本JE 1.20.1
核心类型Leaves

【小游戏服】Playground

代号fdp
服务器地址【不定期开放】进入fdc后使用指令 /server fdp 进入
Minecraft 版本JE(具体版本详见群内小游戏相关公告)
核心类型Fabric, Leaves

【PPF】像素 FDU 计划

代号ppf
服务器地址进入fdc后使用指令 /server ppf 进入
Minecraft 版本JE 1.20.1
核心类型Gala

【模组探索服】

【不定期开放】

代号Mod
状态Mod
服务器地址mc.fdc.jingyijun.xyz:25588
Minecraft 版本JE(具体版本详见群内S相关公告)
+ + + + \ No newline at end of file diff --git a/about/server.html b/about/server.html new file mode 100644 index 00000000..6445fbf1 --- /dev/null +++ b/about/server.html @@ -0,0 +1,25 @@ + + + + + + 联动服务器 | FDCraft + + + + + + + + + + + + + + +
Skip to content

联动服务器

联动服务器除非特殊说明, 均可使用 FDCraft 账户登录。

联合大厅

联合大厅是高校联盟最初在2021年6月进行的一项技术性工作,旨在将各个高校的服务器通过同一个群组服代理连接起来,从而使各个高校的玩家可以在各个成员学校服务器直接自由进出,方便各个高校玩家之间交流。由于最初的技术方案维护成本较高、接入方式较复杂,在完成初步测试后,最终放弃进行更大规模的推广应用。

2023年1月底,在基于高校联盟联合验证机制已基本成熟、投入推广使用的背景下,联合大厅建设计划重新启动,并在经过讨论后得到了一个更简单、更易维护的实施方案。各高校可以在保留原有的接入方式的情况下,通过接入联合大厅,使得其他高校的同学能够通过联合大厅访问高校服务器,无需一个个查找服务器地址。

已接入学校(2023.7.12,标签名首字母排序)

所有拥有子服的服务器均可以使用 /server指令切换子服。

学校目录: https://docs.mualliance.cn/zh/dev/union/lobby

服务器地址

下方的表格列出了现有的接入点(元服务器地址),以及解析至该接入点的其他学校的域名。通过不同的域名进入联合大厅,进入的第一个服务器也会有所不同。使用主流 Minecraft Java 版本访问如下服务器地址,即可进入联合大厅,并通过 /hub 标签名 命令进入各高校服务器游玩。

上交接入点(lobby)mua.sjmc.club
中南(CSU-MC)csu-mc.org
方块交大服务器(SJMC,方块交大)build.sjmc.club
SJMC SMP(SJMC,SJMC SMP)smp.sjmc.club
MUA(lobby)lobby.mualliance.ltd

上海交通大学

SJMC SMP

代号SMP
状态SJMC 1.19.2
地址smp.sjmc.club
网站SMP生存 - SJMC
游戏版本JE 1.20.1
核心类型Purpur
特色原版生存
备用地址1.19.sjmc.club
SJMC官网SJTU Minecraft Club

方块交大

代号SJTU
状态SJTU Creative Server
地址build.sjmc.club
网站SJTU Creative Server
游戏版本JE 1.17.1
核心类型Purpur
特色方块交大
SJMC官网SJTU Minecraft Club

华北水利水电大学

代号NCWU
地址sc.ncwu.love 或 zf.ncwu.love
游戏版本JE 1.20.1
核心类型Leaves
特色原版生存
+ + + + \ No newline at end of file diff --git a/assets/1.ATaEMeJ-.webp b/assets/1.ATaEMeJ-.webp new file mode 100644 index 00000000..38f9cc77 Binary files /dev/null and b/assets/1.ATaEMeJ-.webp differ diff --git a/assets/1.HqsgI4cY.webp b/assets/1.HqsgI4cY.webp new file mode 100644 index 00000000..3b07f161 Binary files /dev/null and b/assets/1.HqsgI4cY.webp differ diff --git a/assets/1.KAMMEYFx.webp b/assets/1.KAMMEYFx.webp new file mode 100644 index 00000000..e46ea7c0 Binary files /dev/null and b/assets/1.KAMMEYFx.webp differ diff --git a/assets/1.QpSIGOQw.webp b/assets/1.QpSIGOQw.webp new file mode 100644 index 00000000..39e883f8 Binary files /dev/null and b/assets/1.QpSIGOQw.webp differ diff --git a/assets/1.gYC_xmiF.webp b/assets/1.gYC_xmiF.webp new file mode 100644 index 00000000..2950efa1 Binary files /dev/null and b/assets/1.gYC_xmiF.webp differ diff --git a/assets/10.xOhwYbXx.webp b/assets/10.xOhwYbXx.webp new file mode 100644 index 00000000..3c15e0b6 Binary files /dev/null and b/assets/10.xOhwYbXx.webp differ diff --git a/assets/11.wq51Wfd3.webp b/assets/11.wq51Wfd3.webp new file mode 100644 index 00000000..d9848f66 Binary files /dev/null and b/assets/11.wq51Wfd3.webp differ diff --git a/assets/12.6pH4rczX.webp b/assets/12.6pH4rczX.webp new file mode 100644 index 00000000..d1e4cabc Binary files /dev/null and b/assets/12.6pH4rczX.webp differ diff --git a/assets/13.FmvLPua2.webp b/assets/13.FmvLPua2.webp new file mode 100644 index 00000000..b4f4a75e Binary files /dev/null and b/assets/13.FmvLPua2.webp differ diff --git a/assets/14.z9QL-7cq.webp b/assets/14.z9QL-7cq.webp new file mode 100644 index 00000000..4451fbd6 Binary files /dev/null and b/assets/14.z9QL-7cq.webp differ diff --git a/assets/15.kVEING1l.webp b/assets/15.kVEING1l.webp new file mode 100644 index 00000000..e6a9cd77 Binary files /dev/null and b/assets/15.kVEING1l.webp differ diff --git a/assets/16.sAsPXsxn.webp b/assets/16.sAsPXsxn.webp new file mode 100644 index 00000000..a1cc7ccb Binary files /dev/null and b/assets/16.sAsPXsxn.webp differ diff --git a/assets/17.z8r41cn4.webp b/assets/17.z8r41cn4.webp new file mode 100644 index 00000000..1a23c55b Binary files /dev/null and b/assets/17.z8r41cn4.webp differ diff --git a/assets/2.B-reflV4.webp b/assets/2.B-reflV4.webp new file mode 100644 index 00000000..c4cb8959 Binary files /dev/null and b/assets/2.B-reflV4.webp differ diff --git a/assets/2.WHlrOHio.webp b/assets/2.WHlrOHio.webp new file mode 100644 index 00000000..f1e633a6 Binary files /dev/null and b/assets/2.WHlrOHio.webp differ diff --git a/assets/2.fe4AqjwS.webp b/assets/2.fe4AqjwS.webp new file mode 100644 index 00000000..4491d140 Binary files /dev/null and b/assets/2.fe4AqjwS.webp differ diff --git a/assets/27.HP-4-Kyb.webp b/assets/27.HP-4-Kyb.webp new file mode 100644 index 00000000..5c09b9d7 Binary files /dev/null and b/assets/27.HP-4-Kyb.webp differ diff --git a/assets/28.hDUavPo1.webp b/assets/28.hDUavPo1.webp new file mode 100644 index 00000000..9c901ef2 Binary files /dev/null and b/assets/28.hDUavPo1.webp differ diff --git a/assets/3.KYdkPHad.webp b/assets/3.KYdkPHad.webp new file mode 100644 index 00000000..71e05ece Binary files /dev/null and b/assets/3.KYdkPHad.webp differ diff --git a/assets/3.c15tycHJ.webp b/assets/3.c15tycHJ.webp new file mode 100644 index 00000000..a0572bdf Binary files /dev/null and b/assets/3.c15tycHJ.webp differ diff --git a/assets/3.kFXpADWe.webp b/assets/3.kFXpADWe.webp new file mode 100644 index 00000000..d6a56ae7 Binary files /dev/null and b/assets/3.kFXpADWe.webp differ diff --git a/assets/30.zrt2LXsX.webp b/assets/30.zrt2LXsX.webp new file mode 100644 index 00000000..8dc1dfea Binary files /dev/null and b/assets/30.zrt2LXsX.webp differ diff --git a/assets/31.XX1gpwsu.webp b/assets/31.XX1gpwsu.webp new file mode 100644 index 00000000..e319dc3c Binary files /dev/null and b/assets/31.XX1gpwsu.webp differ diff --git a/assets/34.BFJPCUA_.webp b/assets/34.BFJPCUA_.webp new file mode 100644 index 00000000..204e7664 Binary files /dev/null and b/assets/34.BFJPCUA_.webp differ diff --git a/assets/35.nmPWCt7c.webp b/assets/35.nmPWCt7c.webp new file mode 100644 index 00000000..d10cd66e Binary files /dev/null and b/assets/35.nmPWCt7c.webp differ diff --git a/assets/4.J4UoxIFE.webp b/assets/4.J4UoxIFE.webp new file mode 100644 index 00000000..c58de9e6 Binary files /dev/null and b/assets/4.J4UoxIFE.webp differ diff --git a/assets/4.P3wcxQgo.webp b/assets/4.P3wcxQgo.webp new file mode 100644 index 00000000..28afcd2e Binary files /dev/null and b/assets/4.P3wcxQgo.webp differ diff --git a/assets/4.i5OLdjeC.webp b/assets/4.i5OLdjeC.webp new file mode 100644 index 00000000..f7d518d9 Binary files /dev/null and b/assets/4.i5OLdjeC.webp differ diff --git a/assets/41.aw_tdfJy.webp b/assets/41.aw_tdfJy.webp new file mode 100644 index 00000000..cfc04327 Binary files /dev/null and b/assets/41.aw_tdfJy.webp differ diff --git a/assets/42.tLW2blzK.webp b/assets/42.tLW2blzK.webp new file mode 100644 index 00000000..c04e2db5 Binary files /dev/null and b/assets/42.tLW2blzK.webp differ diff --git a/assets/43.gkxU51e6.webp b/assets/43.gkxU51e6.webp new file mode 100644 index 00000000..c418f517 Binary files /dev/null and b/assets/43.gkxU51e6.webp differ diff --git a/assets/44.FnahrF-u.webp b/assets/44.FnahrF-u.webp new file mode 100644 index 00000000..b90b5274 Binary files /dev/null and b/assets/44.FnahrF-u.webp differ diff --git a/assets/45.3n38PtbJ.webp b/assets/45.3n38PtbJ.webp new file mode 100644 index 00000000..6a97db3b Binary files /dev/null and b/assets/45.3n38PtbJ.webp differ diff --git a/assets/46.0tR9tJ6G.webp b/assets/46.0tR9tJ6G.webp new file mode 100644 index 00000000..2117b050 Binary files /dev/null and b/assets/46.0tR9tJ6G.webp differ diff --git a/assets/47.nr4NSNM7.webp b/assets/47.nr4NSNM7.webp new file mode 100644 index 00000000..a9cc65f0 Binary files /dev/null and b/assets/47.nr4NSNM7.webp differ diff --git a/assets/48.xyzq4X3S.webp b/assets/48.xyzq4X3S.webp new file mode 100644 index 00000000..7343aba6 Binary files /dev/null and b/assets/48.xyzq4X3S.webp differ diff --git a/assets/49.4UndaHyW.webp b/assets/49.4UndaHyW.webp new file mode 100644 index 00000000..b6cbe52e Binary files /dev/null and b/assets/49.4UndaHyW.webp differ diff --git a/assets/5.HdcJrdT3.webp b/assets/5.HdcJrdT3.webp new file mode 100644 index 00000000..35556460 Binary files /dev/null and b/assets/5.HdcJrdT3.webp differ diff --git a/assets/5.NBf3CMJw.webp b/assets/5.NBf3CMJw.webp new file mode 100644 index 00000000..b0b0ec72 Binary files /dev/null and b/assets/5.NBf3CMJw.webp differ diff --git a/assets/50.BbJG4Y_k.webp b/assets/50.BbJG4Y_k.webp new file mode 100644 index 00000000..7c9021ab Binary files /dev/null and b/assets/50.BbJG4Y_k.webp differ diff --git a/assets/51.54ygo46d.webp b/assets/51.54ygo46d.webp new file mode 100644 index 00000000..63c6e623 Binary files /dev/null and b/assets/51.54ygo46d.webp differ diff --git a/assets/52.GWeHbs5R.webp b/assets/52.GWeHbs5R.webp new file mode 100644 index 00000000..6bab005b Binary files /dev/null and b/assets/52.GWeHbs5R.webp differ diff --git a/assets/6.N69sXsPA.webp b/assets/6.N69sXsPA.webp new file mode 100644 index 00000000..a41d1873 Binary files /dev/null and b/assets/6.N69sXsPA.webp differ diff --git a/assets/6.okV0A7id.webp b/assets/6.okV0A7id.webp new file mode 100644 index 00000000..0a946415 Binary files /dev/null and b/assets/6.okV0A7id.webp differ diff --git a/assets/7.WX0pWb1d.webp b/assets/7.WX0pWb1d.webp new file mode 100644 index 00000000..d35b42a4 Binary files /dev/null and b/assets/7.WX0pWb1d.webp differ diff --git a/assets/7.nifdb_eu.webp b/assets/7.nifdb_eu.webp new file mode 100644 index 00000000..a1fdd280 Binary files /dev/null and b/assets/7.nifdb_eu.webp differ diff --git a/assets/8.ha3VaaLh.webp b/assets/8.ha3VaaLh.webp new file mode 100644 index 00000000..f69b6605 Binary files /dev/null and b/assets/8.ha3VaaLh.webp differ diff --git a/assets/8.oxsp9FID.webp b/assets/8.oxsp9FID.webp new file mode 100644 index 00000000..de76931d Binary files /dev/null and b/assets/8.oxsp9FID.webp differ diff --git a/assets/9.EqbgVLDi.webp b/assets/9.EqbgVLDi.webp new file mode 100644 index 00000000..ee06673b Binary files /dev/null and b/assets/9.EqbgVLDi.webp differ diff --git a/assets/9.HyQuFuGe.webp b/assets/9.HyQuFuGe.webp new file mode 100644 index 00000000..29af4a3a Binary files /dev/null and b/assets/9.HyQuFuGe.webp differ diff --git a/assets/about_club.md.G8DisTpt.js b/assets/about_club.md.G8DisTpt.js new file mode 100644 index 00000000..27e2dbd5 --- /dev/null +++ b/assets/about_club.md.G8DisTpt.js @@ -0,0 +1 @@ +import{_ as a,c as i,o as l,V as e}from"./chunks/framework.3rhKcKOk.js";const _=JSON.parse('{"title":"基岩社","description":"","frontmatter":{},"headers":[],"relativePath":"about/club.md","filePath":"about/club.md"}'),t={name:"about/club.md"},r=e('

基岩社

基岩社是一个以游戏 Minecraft(中文译名“我的世界”)为基础的、通过建筑美学设计、红石电路设计、程序设计等方式全面提升社团成员乃至复旦所有感兴趣的同学的专业知识、艺术修养、先进技术经验等的文化体育类社团。

部门组成

基岩社下辖四个分部:运维编程部、建筑宣传部、活动组织部、技术研究部。

运维编程部

建筑宣传部

活动组织部

技术研究部

创办初衷

基岩社是一个以游戏 Minecraft(中文译名“我的世界”)为基础的文化体育类社团。基岩社成立之初衷是围绕 Minecraft,通过建筑美学设计、红石电路设计、皮肤艺术设计、Java 程序设计等方式全面提升社团成员乃至复旦所有感兴趣的同学的专业知识、艺术修养、先进技术经验等。

得益于 Minecraft 提供的开放式地图编辑功能,同学们可以以数百种方块的组合创造出现实的或想象中的建筑作品。通过对中国古典建筑结构的学习,同学们能领略传统艺术之美,弘扬了优秀传统文化。通过对奇幻场景的构建,同学们的想象力与创新能力能获得极大的解放。基岩社将充分利用此功能,切实提升同学审美与创新能力。

基于 Minecraft 提供的红石电路模块,同学们可以以简单的信号源与信号传递装置构建出基本的逻辑门,进而创建复杂庞大的逻辑电路。通过对基本电路理论的学习与实践,同学们的专业技能与专业素养将获得极大的提升。基岩社将充分发挥该模块的作用,寓教于乐,实现“互联网+”之下的综合创新发展模式。

Minecraft 开放了对角色皮肤的高度定制权限,同学们可以在 64*64 像素的画布上,“带着镣铐跳舞”,绘制自己角色的皮肤。如何在局限的篇幅上创作出精美的作品,这是对同学艺术素养的极大考验。基岩社将提供皮肤分享交流平台,同学们可以自由创作、自由分享、自由点评,在沟通交流中实现审美的共同进步。

Minecraft 本身基于 Java 程序设计语言开发,并通过 Bukkit API 提供诸多可编程接口。同学们可以通过对 Minecraft 程序本身的学习提升对 Java 语言的应用能力。同时,Minecraft 还具有跨平台、多语言、分布式、多终端、云原生的特性。在维护 Minecraft 服务器的过程中,同学们可以学到 Linux 运维、桌面软件开发、复杂环境组网等多方面的计算机科学与软件工程知识。

在当下快速发展的互联网的时代背景下,基岩社将把大学生的学习扩展到课堂之外的地方,与课余文体活动有机结合,全方位创新开展社团工作,让同学们在“追新”的同时,感受到传统文化与现代技术碰撞的精妙美丽。

发展方向

基岩社将以 Minecraft 为核心,采取学术与趣味相结合、学习与娱乐相呼应的发展方针,全面建设高质量现代化的综合性文化体育类学生社团。

基岩社力求借助互联网+技术,寓教于乐,培养成员专业技能与艺术修养,争取发表大量优秀原创作品。基岩社将以各种质量过关、价值可鉴的活动为载体,充分调动成员的主观能动性,让每一个成员参与到社团的建设当中来。基岩社注重循序渐进的积累式发展模式,在日常化工作中,基岩社通过营造良好的交流合作氛围,提供讨论互动平台,使社团成员有充分的参与感与获得感。

社团工作方面,基岩社核心部门将严格自我要求,追求以服务广大社团成员为宗旨,创造性地落实工作,做好活动的提前策划与常规化运营的提前安排,有条不紊地开展社团工作。同时,社团核心部门的工作受到所有社团成员的监督并接受所有成员的反馈。让所有成员在社团的成长中都能贡献自己的力量。

基岩社以人为本,将以最饱满的热情服务复旦大学所有热爱 Minecraft 的人。

',24),n=[r];function o(c,p,h,u,s,d){return l(),i("div",null,n)}const b=a(t,[["render",o]]);export{_ as __pageData,b as default}; diff --git a/assets/about_club.md.G8DisTpt.lean.js b/assets/about_club.md.G8DisTpt.lean.js new file mode 100644 index 00000000..b0d446db --- /dev/null +++ b/assets/about_club.md.G8DisTpt.lean.js @@ -0,0 +1 @@ +import{_ as a,c as i,o as l,V as e}from"./chunks/framework.3rhKcKOk.js";const _=JSON.parse('{"title":"基岩社","description":"","frontmatter":{},"headers":[],"relativePath":"about/club.md","filePath":"about/club.md"}'),t={name:"about/club.md"},r=e("",24),n=[r];function o(c,p,h,u,s,d){return l(),i("div",null,n)}const b=a(t,[["render",o]]);export{_ as __pageData,b as default}; diff --git a/assets/about_index.md.7Ca-oRDX.js b/assets/about_index.md.7Ca-oRDX.js new file mode 100644 index 00000000..dd19f288 --- /dev/null +++ b/assets/about_index.md.7Ca-oRDX.js @@ -0,0 +1 @@ +import{_ as t,c as a,o as d,V as r}from"./chunks/framework.3rhKcKOk.js";const u=JSON.parse('{"title":"FDCraft","description":"","frontmatter":{},"headers":[],"relativePath":"about/index.md","filePath":"about/index.md"}'),e={name:"about/index.md"},h=r('

FDCraft

FDCraft 是由 KYLN24 于 2020 年 12 月发起的面向复旦大学 Minecraft 爱好者的系列多人联机服务器。

QQ 群:1037308494

运营团队

FDC 云计算中心正在招募实习运维

FDC 云计算中心
腐竹(网络 / 软件 / 运维)Polaris_Light
前腐竹KYLN24
物理腐竹(云储存 / 云计算)JingYiJun
前群主BeatGeneration

服务器概况

FDCraft 用户中心

网站地址:https://auth.fdc.jingyijun.xyz

认证服务器地址:https://auth.fdc.jingyijun.xyz/api/yggdrasil

【主服】复读世界𒆙

代号fdc&fdcc
状态复读世界𒆙
Java 版地址mc.fdc.jingyijun.xyz,使用/server fdcc进入镜像服
基岩版地址mc.fdc.jingyijun.xyz,端口为19132
兼容版本JE 1.20.1 & BE
特性版本JE 1.20.1
核心类型Leaves

【小游戏服】Playground

代号fdp
服务器地址【不定期开放】进入fdc后使用指令 /server fdp 进入
Minecraft 版本JE(具体版本详见群内小游戏相关公告)
核心类型Fabric, Leaves

【PPF】像素 FDU 计划

代号ppf
服务器地址进入fdc后使用指令 /server ppf 进入
Minecraft 版本JE 1.20.1
核心类型Gala

【模组探索服】

【不定期开放】

代号Mod
状态Mod
服务器地址mc.fdc.jingyijun.xyz:25588
Minecraft 版本JE(具体版本详见群内S相关公告)
',19),i=[h];function n(o,c,l,f,s,p){return d(),a("div",null,i)}const m=t(e,[["render",n]]);export{u as __pageData,m as default}; diff --git a/assets/about_index.md.7Ca-oRDX.lean.js b/assets/about_index.md.7Ca-oRDX.lean.js new file mode 100644 index 00000000..2e251dc7 --- /dev/null +++ b/assets/about_index.md.7Ca-oRDX.lean.js @@ -0,0 +1 @@ +import{_ as t,c as a,o as d,V as r}from"./chunks/framework.3rhKcKOk.js";const u=JSON.parse('{"title":"FDCraft","description":"","frontmatter":{},"headers":[],"relativePath":"about/index.md","filePath":"about/index.md"}'),e={name:"about/index.md"},h=r("",19),i=[h];function n(o,c,l,f,s,p){return d(),a("div",null,i)}const m=t(e,[["render",n]]);export{u as __pageData,m as default}; diff --git a/assets/about_server.md.0Sun6QRZ.js b/assets/about_server.md.0Sun6QRZ.js new file mode 100644 index 00000000..befbb30e --- /dev/null +++ b/assets/about_server.md.0Sun6QRZ.js @@ -0,0 +1 @@ +import{_ as t,c as r,o as e,V as a}from"./chunks/framework.3rhKcKOk.js";const p=JSON.parse('{"title":"联动服务器","description":"","frontmatter":{},"headers":[],"relativePath":"about/server.md","filePath":"about/server.md"}'),d={name:"about/server.md"},l=a('

联动服务器

联动服务器除非特殊说明, 均可使用 FDCraft 账户登录。

联合大厅

联合大厅是高校联盟最初在2021年6月进行的一项技术性工作,旨在将各个高校的服务器通过同一个群组服代理连接起来,从而使各个高校的玩家可以在各个成员学校服务器直接自由进出,方便各个高校玩家之间交流。由于最初的技术方案维护成本较高、接入方式较复杂,在完成初步测试后,最终放弃进行更大规模的推广应用。

2023年1月底,在基于高校联盟联合验证机制已基本成熟、投入推广使用的背景下,联合大厅建设计划重新启动,并在经过讨论后得到了一个更简单、更易维护的实施方案。各高校可以在保留原有的接入方式的情况下,通过接入联合大厅,使得其他高校的同学能够通过联合大厅访问高校服务器,无需一个个查找服务器地址。

已接入学校(2023.7.12,标签名首字母排序)

所有拥有子服的服务器均可以使用 /server指令切换子服。

学校目录: https://docs.mualliance.cn/zh/dev/union/lobby

服务器地址

下方的表格列出了现有的接入点(元服务器地址),以及解析至该接入点的其他学校的域名。通过不同的域名进入联合大厅,进入的第一个服务器也会有所不同。使用主流 Minecraft Java 版本访问如下服务器地址,即可进入联合大厅,并通过 /hub 标签名 命令进入各高校服务器游玩。

上交接入点(lobby)mua.sjmc.club
中南(CSU-MC)csu-mc.org
方块交大服务器(SJMC,方块交大)build.sjmc.club
SJMC SMP(SJMC,SJMC SMP)smp.sjmc.club
MUA(lobby)lobby.mualliance.ltd

上海交通大学

SJMC SMP

代号SMP
状态SJMC 1.19.2
地址smp.sjmc.club
网站SMP生存 - SJMC
游戏版本JE 1.20.1
核心类型Purpur
特色原版生存
备用地址1.19.sjmc.club
SJMC官网SJTU Minecraft Club

方块交大

代号SJTU
状态SJTU Creative Server
地址build.sjmc.club
网站SJTU Creative Server
游戏版本JE 1.17.1
核心类型Purpur
特色方块交大
SJMC官网SJTU Minecraft Club

华北水利水电大学

代号NCWU
地址sc.ncwu.love 或 zf.ncwu.love
游戏版本JE 1.20.1
核心类型Leaves
特色原版生存
',18),s=[l];function o(h,c,n,b,i,u){return e(),r("div",null,s)}const f=t(d,[["render",o]]);export{p as __pageData,f as default}; diff --git a/assets/about_server.md.0Sun6QRZ.lean.js b/assets/about_server.md.0Sun6QRZ.lean.js new file mode 100644 index 00000000..9358b646 --- /dev/null +++ b/assets/about_server.md.0Sun6QRZ.lean.js @@ -0,0 +1 @@ +import{_ as t,c as r,o as e,V as a}from"./chunks/framework.3rhKcKOk.js";const p=JSON.parse('{"title":"联动服务器","description":"","frontmatter":{},"headers":[],"relativePath":"about/server.md","filePath":"about/server.md"}'),d={name:"about/server.md"},l=a("",18),s=[l];function o(h,c,n,b,i,u){return e(),r("div",null,s)}const f=t(d,[["render",o]]);export{p as __pageData,f as default}; diff --git a/assets/app.2w58eD1H.js b/assets/app.2w58eD1H.js new file mode 100644 index 00000000..e33844cc --- /dev/null +++ b/assets/app.2w58eD1H.js @@ -0,0 +1,7 @@ +import{j as o,au as p,av as u,aw as l,ax as c,ay as f,az as d,aA as m,aB as h,aC as A,aD as g,Y as v,d as P,u as y,l as C,z as w,aE as E,aF as _,aG as D,aH as R}from"./chunks/framework.3rhKcKOk.js";import{t as b}from"./chunks/theme.52ZnxHOT.js";function i(e){if(e.extends){const a=i(e.extends);return{...a,...e,async enhanceApp(t){a.enhanceApp&&await a.enhanceApp(t),e.enhanceApp&&await e.enhanceApp(t)}}}return e}const s=i(b),j=P({name:"VitePressApp",setup(){const{site:e,lang:a,dir:t}=y();return C(()=>{w(()=>{document.documentElement.lang=a.value,document.documentElement.dir=t.value})}),e.value.router.prefetchLinks&&E(),_(),D(),s.setup&&s.setup(),()=>R(s.Layout)}});async function x(){const e=L(),a=F();a.provide(u,e);const t=l(e.route);return a.provide(c,t),a.component("Content",f),a.component("ClientOnly",d),Object.defineProperties(a.config.globalProperties,{$frontmatter:{get(){return t.frontmatter.value}},$params:{get(){return t.page.value.params}}}),s.enhanceApp&&await s.enhanceApp({app:a,router:e,siteData:m}),{app:a,router:e,data:t}}function F(){return h(j)}function L(){let e=o,a;return A(t=>{let n=g(t),r=null;return n&&(e&&(a=n),(e||a===n)&&(n=n.replace(/\.js$/,".lean.js")),r=v(()=>import(n),__vite__mapDeps([]))),o&&(e=!1),r},s.NotFound)}o&&x().then(({app:e,router:a,data:t})=>{a.go().then(()=>{p(a.route,t.site),e.mount("#app")})});export{x as createApp}; +function __vite__mapDeps(indexes) { + if (!__vite__mapDeps.viteFileDeps) { + __vite__mapDeps.viteFileDeps = [] + } + return indexes.map((i) => __vite__mapDeps.viteFileDeps[i]) +} diff --git a/assets/chunks/@localSearchIndexroot.pucpsVAw.js b/assets/chunks/@localSearchIndexroot.pucpsVAw.js new file mode 100644 index 00000000..05a466b3 --- /dev/null +++ b/assets/chunks/@localSearchIndexroot.pucpsVAw.js @@ -0,0 +1 @@ +const t='{"documentCount":259,"nextId":259,"documentIds":{"0":"/about/club.html#基岩社","1":"/about/club.html#部门组成","2":"/about/club.html#运维编程部","3":"/about/club.html#建筑宣传部","4":"/about/club.html#活动组织部","5":"/about/club.html#技术研究部","6":"/about/club.html#创办初衷","7":"/about/club.html#发展方向","8":"/about/#fdcraft","9":"/about/#运营团队","10":"/about/#服务器概况","11":"/about/#fdcraft-用户中心","12":"/about/#【主服】复读世界𒆙","13":"/about/#【小游戏服】playground","14":"/about/#【ppf】像素-fdu-计划","15":"/about/#【模组探索服】","16":"/about/server.html#联动服务器","17":"/about/server.html#联合大厅","18":"/about/server.html#已接入学校-2023-7-12-标签名首字母排序","19":"/about/server.html#服务器地址","20":"/about/server.html#上海交通大学","21":"/about/server.html#sjmc-smp","22":"/about/server.html#方块交大","23":"/about/server.html#华北水利水电大学","24":"/guide/commands.html#指令帮助","25":"/guide/commands.html#velocity跨服","26":"/guide/commands.html#bukkit插件指令","27":"/guide/commands.html#消息","28":"/guide/commands.html#信息","29":"/guide/commands.html#传送","30":"/guide/commands.html#点歌","31":"/guide/commands.html#椅子","32":"/guide/commands.html#旦星一号","33":"/guide/commands.html#headdatabase","34":"/guide/commands.html#图片","35":"/guide/commands.html#其他","36":"/guide/commands.html#leaves-假人指令","37":"/guide/commands.html#mcdr指令","38":"/guide/commands.html#task任务清单","39":"/guide/commands.html#stats数据统计","40":"/guide/commands.html#参数说明","41":"/guide/commands.html#其他-1","42":"/guide/features.html#服务器特性介绍","43":"/guide/features.html#群机器人","44":"/guide/features.html#小unicorn","45":"/guide/features.html#使用方法","46":"/guide/features.html#花fufu","47":"/guide/features.html#使用方法-1","48":"/guide/features.html#指令列表","49":"/guide/features.html#服务器保护","50":"/guide/features.html#生电友好","51":"/guide/features.html#内容扩充","52":"/guide/features_ncwu.html#服务器特性-指令介绍","53":"/guide/features_ncwu.html#服务器保护","54":"/guide/features_ncwu.html#生电","55":"/guide/features_ncwu.html#carpet","56":"/guide/features_ncwu.html#其他-mod","57":"/guide/features_ncwu.html#传送","58":"/guide/features_ncwu.html#点歌","59":"/guide/features_ncwu.html#椅子","60":"/guide/features_ncwu.html#作物收获","61":"/guide/functional-buildings.html#功能性建筑","62":"/guide/functional-buildings.html#_120自动熔炉组","63":"/guide/functional-buildings.html#_196k竖式刷石机","64":"/guide/functional-buildings.html#蜜绿全树种树场","65":"/guide/functional-buildings.html#开荒仓库","66":"/guide/functional-buildings.html#四核时钟式刷铁机","67":"/guide/functional-buildings.html#飞行器甘蔗机","68":"/guide/functional-buildings.html#简易植物繁殖处","69":"/guide/functional-buildings.html#丐中丐版袭击塔","70":"/guide/functional-buildings.html#改造前哨站","71":"/guide/functional-buildings.html#双核沼泽史莱姆农场","72":"/guide/functional-buildings.html#简易双维度鱼塔","73":"/guide/functional-buildings.html#刷沙机1-末地门2","74":"/guide/functional-buildings.html#气泡柱迁移式袭击塔","75":"/guide/#新人指南","76":"/guide/#取得联系","77":"/guide/#进入服务器","78":"/guide/learnspace.html#教程搬运","79":"/guide/learnspace.html#红石基础","80":"/guide/learnspace.html#生电","81":"/guide/learnspace.html#建筑","82":"/guide/learnspace.html#建筑学理论","83":"/guide/learnspace.html#建筑风格","84":"/guide/learnspace.html#建筑工具","85":"/guide/learnspace.html#服务器运维","86":"/guide/learnspace.html#核心-server-core","87":"/guide/learnspace.html#崩溃报告","88":"/guide/learnspace.html#网络","89":"/guide/learnspace.html#内网穿透-frp","90":"/guide/learnspace.html#反向代理-nginx","91":"/guide/learnspace.html#插件开发","92":"/guide/learnspace.html#新媒体技术","93":"/guide/learnspace.html#视频录制-replaymod","94":"/guide/learnspace.html#_3d-制作-blender","95":"/guide/learnspace.html#其他","96":"/guide/newbie.html#第一天","97":"/guide/newbie.html#世界树与新的旅程","98":"/guide/newbie.html#出生点","99":"/guide/newbie.html#出生点小镇","100":"/guide/newbie.html#复读地铁一号线","101":"/guide/newbie.html#工业区","102":"/guide/newbie.html#村庄","103":"/guide/newbie.html#雪原区","104":"/guide/newbie.html#住宅区","105":"/guide/newbie.html#第一个庇护所","106":"/guide/newbie.html#开始新旅程","107":"/guide/rules.html#复读公约","108":"/guide/rules.html#总则","109":"/guide/rules.html#关于服务器属性","110":"/guide/rules.html#关于群名片的约定","111":"/guide/rules.html#关于服务器公共资源与私有资源的约定","112":"/guide/rules.html#关于生电用地冲突的约定","113":"/guide/rules.html#功能性建筑与观赏性建筑","114":"/guide/rules.html#冲突处理流程","115":"/guide/rules.html#修订说明","116":"/guide/rules.html#_2023-6-25","117":"/guide/rules.html#_2023-11-10","118":"/guide/newbie_old.html#第一天","119":"/guide/newbie_old.html#世界树与新的旅程","120":"/guide/newbie_old.html#神樱与复读大陆","121":"/guide/newbie_old.html#我的第一个庇护所","122":"/guide/newbie_old.html#这是什么厉害的东西","123":"/guide/newbie_old.html#今天运势如何","124":"/guide/newbie_old.html#开始新旅程","125":"/guide/softversion.html#软件版本","126":"/guide/softversion.html#注-本界面已经年久失修-且不会再更新","127":"/guide/sps.html#旦星-sps","128":"/guide/sps.html#旦星一号","129":"/guide/sps.html#标记点","130":"/guide/sps.html#标记点添加","131":"/guide/sps.html#标记点删除","132":"/guide/sps.html#标记点更新","133":"/guide/sps.html#全部指令集","134":"/guide/tutorial/basic.html#【真·纯萌新指南】minecraft-基本操作","135":"/guide/tutorial/basic.html#minecraft-je-的基本结构","136":"/guide/tutorial/basic.html#模组-材质包-数据包介绍以及安装","137":"/guide/tutorial/basic.html#高版本常用辅助性模组介绍","138":"/guide/tutorial/crashreport/Episode1.html#episode1-崩溃报告和日志在哪里","139":"/guide/tutorial/crashreport/Episode1.html#面向普通玩家","140":"/guide/tutorial/crashreport/Episode1.html#hmcl","141":"/guide/tutorial/crashreport/Episode1.html#pclii","142":"/guide/tutorial/crashreport/Episode1.html#面向运维","143":"/guide/tutorial/crashreport/Episode1.html#解压压缩包","144":"/guide/tutorial/crashreport/Episode1.html#直接获取","145":"/guide/tutorial/crashreport/Episode2.html#episode2-认识崩溃报告","146":"/guide/tutorial/crashreport/Episode2.html#文件名","147":"/guide/tutorial/crashreport/Episode2.html#崩溃报告结构","148":"/guide/tutorial/crashreport/Episode2.html#开头不重要的部分","149":"/guide/tutorial/crashreport/Episode2.html#报错描述","150":"/guide/tutorial/crashreport/Episode2.html#stacktrace-堆栈追踪","151":"/guide/tutorial/crashreport/Episode2.html#分割线","152":"/guide/tutorial/crashreport/Episode2.html#head","153":"/guide/tutorial/crashreport/Episode2.html#details","154":"/guide/tutorial/crashreport/Episode2.html#system-details","155":"/guide/tutorial/crashreport/Episode2.html#mod-list","156":"/guide/tutorial/crashreport/Episode2.html#其他乱七八糟的东西","157":"/guide/tutorial/crashreport/Episode3-1.html#mod-loading-error-has-occurred","158":"/guide/tutorial/crashreport/Episode3-1.html#前置缺失-版本错误","159":"/guide/tutorial/crashreport/Episode3-1.html#mod损坏","160":"/guide/tutorial/crashreport/Episode3-2.html#noclassfound","161":"/guide/tutorial/crashreport/Episode3-2.html#前置缺失","162":"/guide/tutorial/crashreport/Episode3-2.html#乱改文件名","163":"/guide/tutorial/crashreport/Episode3-2.html#mod有bug","164":"/guide/tutorial/crashreport/Episode3-3.html#invalid-id-4096","165":"/guide/tutorial/crashreport/Episode3-3.html#原因","166":"/guide/tutorial/crashreport/Episode3-3.html#解决方法","167":"/guide/tutorial/crashreport/Episode3-4.html#ticking-entity-block","168":"/guide/tutorial/crashreport/Episode3.html#episode3-崩溃报告分类-解决方法","169":"/guide/tutorial/crashreport/Episode3.html#序言","170":"/guide/tutorial/crashreport/Episode3.html#通用分析方法","171":"/guide/tutorial/crashreport/Episode3.html#通用解决方法","172":"/guide/tutorial/crashreport/Episode4.html#episode4-圣经","173":"/guide/tutorial/crashreport/#pl的崩溃报告宝典","174":"/guide/tutorial/survival_redstone.html#pl的生电教程","175":"/guide/tutorial/survival_redstone.html#episode-1-基本知识","176":"/guide/tutorial/survival_redstone.html#part-1-认识生电","177":"/guide/tutorial/survival_redstone.html#什么是生电","178":"/guide/tutorial/survival_redstone.html#什么是生电机器","179":"/guide/tutorial/survival_redstone.html#生电是模块化的生电","180":"/guide/tutorial/survival_redstone.html#生电机器设计的基本流程","181":"/guide/tutorial/survival_redstone.html#part-2-资料的查询","182":"/guide/tutorial/survival_redstone.html#学会查阅wiki","183":"/guide/tutorial/survival_redstone.html#了解学习他人的设计","184":"/guide/tutorial/survival_redstone.html#part-3-工具的使用","185":"/guide/tutorial/survival_redstone.html#xekr红石显示","186":"/guide/tutorial/survival_redstone.html#litematica-投影","187":"/guide/tutorial/survival_redstone.html#模式2补充","188":"/guide/tutorial/survival_redstone.html#模式5补充","189":"/guide/tutorial/survival_redstone.html#蓝图显示模式","190":"/guide/tutorial/survival_redstone.html#简单放置","191":"/guide/tutorial/survival_redstone.html#材料列表","192":"/guide/tutorial/survival_redstone.html#原理图验证","193":"/guide/tutorial/survival_redstone.html#litematica-printer","194":"/guide/tutorial/survival_redstone.html#tweakeroo","195":"/guide/tutorial/survival_redstone.html#凭空放置","196":"/guide/tutorial/survival_redstone.html#实体攻击限制","197":"/guide/tutorial/survival_redstone.html#伪潜行","198":"/guide/tutorial/survival_redstone.html#屏蔽方块交互","199":"/guide/tutorial/survival_redstone.html#方块快速放置","200":"/guide/tutorial/survival_redstone.html#左右键快速点击","201":"/guide/tutorial/survival_redstone.html#方块灵活放置","202":"/guide/tutorial/survival_redstone.html#灵魂出窍","203":"/guide/tutorial/survival_redstone.html#伽马覆写","204":"/guide/tutorial/survival_redstone.html#自动补货","205":"/guide/tutorial/survival_redstone.html#长按左右键","206":"/guide/tutorial/survival_redstone.html#容器预览","207":"/guide/tutorial/survival_redstone.html#岩浆夜视","208":"/guide/tutorial/survival_redstone.html#周期性单击左右键","209":"/guide/tutorial/survival_redstone.html#潜影盒预览","210":"/guide/tutorial/survival_redstone.html#itemscroller","211":"/guide/tutorial/survival_redstone.html#移动物品","212":"/guide/tutorial/survival_redstone.html#快速合成","213":"/guide/tutorial/survival_redstone.html#minihud","214":"/guide/tutorial/survival_redstone.html#carpet","215":"/guide/tutorial/survival_redstone.html#episode-2-常见的模块","216":"/guide/tutorial/survival_redstone.html#图例","217":"/guide/tutorial/survival_redstone.html#part-1-物品收集模块","218":"/guide/tutorial/survival_redstone.html#物品流分析","219":"/guide/tutorial/survival_redstone.html#涓流与冲击流","220":"/guide/tutorial/survival_redstone.html#复杂物品流","221":"/guide/tutorial/survival_redstone.html#变化物品流","222":"/guide/tutorial/survival_redstone.html#ab大吸力分类单片","223":"/guide/tutorial/survival_redstone.html#part-2-物品采集模块","224":"/guide/tutorial/survival_redstone.html#tnt复制-方块、生物","225":"/guide/tutorial/survival_redstone.html#原理","226":"/guide/tutorial/survival_redstone.html#方块更新","227":"/guide/tutorial/survival_redstone.html#激活","228":"/guide/tutorial/survival_redstone.html#侦测器设计","229":"/guide/tutorial/survival_redstone.html#金合欢三无-变种","230":"/guide/tutorial/survival_redstone.html#水星嗷三无","231":"/news/bugs.html#已知问题记录","232":"/news/holes.html#腐竹的新坑","233":"/news/#动态","234":"/news/posts/2021100701.html#国庆快乐-2021-国庆节寻宝活动","235":"/news/posts/2021100701.html#战果记录","236":"/news/posts/2022011201.html#【fdcraft-复读世界𒆙】2-0-更新公告","237":"/news/posts/2022011201.html#新地图-【大厅-世界树之渊】","238":"/news/posts/2022011201.html#特性修改","239":"/news/posts/2022011201.html#问题修复","240":"/news/posts/2022011201.html#常规提升","241":"/news/posts/2022011201.html#已知问题","242":"/news/posts/2022011201.html#维护补偿","243":"/news/posts/2022011801.html#蜃气螭影之宫玉","244":"/news/posts/2022011801.html#活动详情","245":"/news/posts/2022011801.html#特性修改","246":"/news/posts/2022011801.html#维护补偿","247":"/news/posts/2022030901.html#通讯-复旦大学基岩社通过答辩","248":"/news/posts/2022032301.html#sjmc-1-18-现已支持-fdcraft-用户中心","249":"/news/posts/2022031401.html#_3-月活动-耕地农庄","250":"/news/posts/2022031401.html#任务内容","251":"/news/posts/2022031401.html#任务奖励","252":"/news/posts/2022031401.html#全体奖励","253":"/news/posts/2022031401.html#限定奖励","254":"/news/posts/2022032302.html#消息-fdcraft-加入-mua","255":"/news/posts/2022032401.html#复读世界𒆙现已支持-sjmc-skins","256":"/news/posts/2022041201.html#像素-fdu-计划服务器正式上线","257":"/news/posts/2022102401.html#【fdcraft-复读世界𒆙】3-0-现已开启","258":"/the-tree/#世界树的故事"},"fieldIds":{"title":0,"titles":1,"text":2},"fieldLength":{"0":[1,1,11],"1":[1,1,6],"2":[1,2,24],"3":[1,2,16],"4":[1,2,10],"5":[1,2,13],"6":[1,1,78],"7":[1,1,32],"8":[1,1,14],"9":[1,1,18],"10":[1,1,1],"11":[2,2,10],"12":[3,2,24],"13":[3,2,15],"14":[5,2,14],"15":[2,2,15],"16":[1,1,5],"17":[1,1,19],"18":[6,2,12],"19":[1,2,35],"20":[1,1,1],"21":[2,2,25],"22":[1,2,22],"23":[1,1,17],"24":[1,1,1],"25":[1,1,12],"26":[1,1,4],"27":[1,2,13],"28":[1,2,23],"29":[1,2,32],"30":[1,2,60],"31":[1,2,18],"32":[1,2,9],"33":[1,2,10],"34":[1,2,19],"35":[1,2,10],"36":[2,1,7],"37":[1,1,7],"38":[1,2,52],"39":[1,2,37],"40":[1,3,30],"41":[1,2,11],"42":[1,1,1],"43":[1,1,1],"44":[1,2,5],"45":[1,3,16],"46":[1,2,4],"47":[1,3,26],"48":[1,3,16],"49":[1,1,9],"50":[1,1,40],"51":[1,1,38],"52":[3,1,1],"53":[1,3,24],"54":[1,3,1],"55":[1,4,24],"56":[2,4,18],"57":[1,3,32],"58":[1,3,60],"59":[1,3,5],"60":[1,3,2],"61":[1,1,1],"62":[1,1,13],"63":[1,1,15],"64":[1,1,22],"65":[1,1,16],"66":[1,1,13],"67":[1,1,10],"68":[1,1,17],"69":[1,1,30],"70":[1,1,16],"71":[1,1,22],"72":[1,1,19],"73":[3,1,12],"74":[1,1,43],"75":[1,1,20],"76":[1,1,24],"77":[1,1,27],"78":[1,1,4],"79":[1,1,1],"80":[1,1,8],"81":[1,1,1],"82":[1,2,10],"83":[1,2,10],"84":[1,2,17],"85":[1,1,1],"86":[4,2,10],"87":[1,2,5],"88":[1,2,1],"89":[2,3,1],"90":[2,3,1],"91":[1,1,8],"92":[1,1,1],"93":[2,2,1],"94":[3,2,1],"95":[1,1,1],"96":[1,1,13],"97":[1,1,46],"98":[1,1,21],"99":[1,1,6],"100":[1,1,22],"101":[1,1,18],"102":[1,1,16],"103":[1,1,13],"104":[1,1,34],"105":[1,1,38],"106":[1,1,11],"107":[1,1,38],"108":[1,1,39],"109":[1,1,14],"110":[1,1,13],"111":[1,1,44],"112":[1,1,1],"113":[1,2,19],"114":[1,2,19],"115":[1,1,1],"116":[3,2,5],"117":[3,2,17],"118":[1,1,5],"119":[1,1,36],"120":[1,1,71],"121":[1,1,24],"122":[2,1,10],"123":[1,1,19],"124":[1,1,11],"125":[1,1,1],"126":[4,1,99],"127":[2,1,9],"128":[1,2,17],"129":[1,3,9],"130":[1,4,62],"131":[1,4,10],"132":[1,4,18],"133":[1,4,109],"134":[5,1,24],"135":[3,5,126],"136":[3,5,97],"137":[1,5,68],"138":[3,1,52],"139":[1,3,1],"140":[1,3,7],"141":[1,3,11],"142":[1,3,1],"143":[1,3,10],"144":[1,3,34],"145":[2,1,38],"146":[1,2,25],"147":[1,2,299],"148":[1,3,22],"149":[1,3,10],"150":[3,3,56],"151":[1,3,17],"152":[1,3,23],"153":[1,3,48],"154":[2,3,37],"155":[2,3,76],"156":[1,3,70],"157":[5,1,16],"158":[3,5,136],"159":[1,5,24],"160":[1,1,39],"161":[1,1,11],"162":[1,1,65],"163":[1,1,6],"164":[3,1,14],"165":[1,3,35],"166":[1,3,12],"167":[4,1,2],"168":[4,1,1],"169":[1,1,24],"170":[1,1,78],"171":[1,1,25],"172":[2,1,10],"173":[1,1,29],"174":[1,1,1],"175":[4,1,1],"176":[4,5,1],"177":[2,7,9],"178":[2,7,15],"179":[1,7,18],"180":[1,7,36],"181":[4,5,1],"182":[1,8,22],"183":[1,8,34],"184":[4,5,16],"185":[1,8,1],"186":[3,8,22],"187":[1,11,16],"188":[1,11,14],"189":[1,11,26],"190":[1,11,41],"191":[1,11,12],"192":[1,11,7],"193":[2,11,27],"194":[1,8,10],"195":[1,9,3],"196":[1,9,7],"197":[1,9,8],"198":[1,9,9],"199":[1,9,7],"200":[1,9,14],"201":[1,9,28],"202":[1,9,9],"203":[1,9,4],"204":[1,9,4],"205":[1,9,3],"206":[1,9,7],"207":[1,9,4],"208":[1,9,7],"209":[1,9,4],"210":[1,8,11],"211":[1,9,43],"212":[1,9,16],"213":[1,8,1],"214":[1,8,1],"215":[4,1,13],"216":[1,5,17],"217":[4,5,18],"218":[1,8,4],"219":[1,9,46],"220":[1,9,13],"221":[1,9,18],"222":[1,9,67],"223":[4,5,10],"224":[4,7,15],"225":[1,7,23],"226":[1,7,29],"227":[1,7,5],"228":[1,8,15],"229":[3,8,12],"230":[1,8,6],"231":[1,1,1],"232":[1,1,41],"233":[1,1,46],"234":[3,1,19],"235":[1,3,34],"236":[5,1,18],"237":[4,5,25],"238":[1,5,8],"239":[1,5,14],"240":[1,5,20],"241":[1,5,12],"242":[1,5,29],"243":[1,1,13],"244":[1,1,20],"245":[1,1,12],"246":[1,1,13],"247":[3,1,107],"248":[6,1,34],"249":[4,1,6],"250":[1,4,3],"251":[1,4,1],"252":[1,5,6],"253":[1,5,30],"254":[5,1,28],"255":[3,1,16],"256":[3,1,57],"257":[5,1,52],"258":[1,1,2]},"averageFieldLength":[1.5057915057915061,3.2162162162162162,21.822393822393824],"storedFields":{"0":{"title":"基岩社","titles":[]},"1":{"title":"部门组成","titles":["基岩社"]},"2":{"title":"运维编程部","titles":["基岩社","部门组成"]},"3":{"title":"建筑宣传部","titles":["基岩社","部门组成"]},"4":{"title":"活动组织部","titles":["基岩社","部门组成"]},"5":{"title":"技术研究部","titles":["基岩社","部门组成"]},"6":{"title":"创办初衷","titles":["基岩社"]},"7":{"title":"发展方向","titles":["基岩社"]},"8":{"title":"FDCraft","titles":[]},"9":{"title":"运营团队","titles":["FDCraft"]},"10":{"title":"服务器概况","titles":["FDCraft"]},"11":{"title":"FDCraft 用户中心","titles":["FDCraft","服务器概况"]},"12":{"title":"【主服】复读世界𒆙","titles":["FDCraft","服务器概况"]},"13":{"title":"【小游戏服】Playground","titles":["FDCraft","服务器概况"]},"14":{"title":"【PPF】像素 FDU 计划","titles":["FDCraft","服务器概况"]},"15":{"title":"【模组探索服】","titles":["FDCraft","服务器概况"]},"16":{"title":"联动服务器","titles":[]},"17":{"title":"联合大厅","titles":["联动服务器"]},"18":{"title":"已接入学校(2023.7.12,标签名首字母排序)","titles":["联动服务器","联合大厅"]},"19":{"title":"服务器地址","titles":["联动服务器","联合大厅"]},"20":{"title":"上海交通大学","titles":["联动服务器"]},"21":{"title":"SJMC SMP","titles":["联动服务器","上海交通大学"]},"22":{"title":"方块交大","titles":["联动服务器","上海交通大学"]},"23":{"title":"华北水利水电大学","titles":["联动服务器"]},"24":{"title":"指令帮助","titles":[]},"25":{"title":"Velocity跨服","titles":["指令帮助"]},"26":{"title":"Bukkit插件指令","titles":["指令帮助"]},"27":{"title":"消息","titles":["指令帮助","Bukkit插件指令"]},"28":{"title":"信息","titles":["指令帮助","Bukkit插件指令"]},"29":{"title":"传送","titles":["指令帮助","Bukkit插件指令"]},"30":{"title":"点歌","titles":["指令帮助","Bukkit插件指令"]},"31":{"title":"椅子","titles":["指令帮助","Bukkit插件指令"]},"32":{"title":"旦星一号","titles":["指令帮助","Bukkit插件指令"]},"33":{"title":"HeadDataBase","titles":["指令帮助","Bukkit插件指令"]},"34":{"title":"图片","titles":["指令帮助","Bukkit插件指令"]},"35":{"title":"其他","titles":["指令帮助","Bukkit插件指令"]},"36":{"title":"Leaves 假人指令","titles":["指令帮助"]},"37":{"title":"MCDR指令","titles":["指令帮助"]},"38":{"title":"Task任务清单","titles":["指令帮助","MCDR指令"]},"39":{"title":"Stats数据统计","titles":["指令帮助","MCDR指令"]},"40":{"title":"参数说明","titles":["指令帮助","MCDR指令","Stats数据统计"]},"41":{"title":"其他","titles":["指令帮助","MCDR指令"]},"42":{"title":"服务器特性介绍","titles":[]},"43":{"title":"群机器人","titles":["服务器特性介绍"]},"44":{"title":"小Unicorn","titles":["服务器特性介绍","群机器人"]},"45":{"title":"使用方法","titles":["服务器特性介绍","群机器人","小Unicorn"]},"46":{"title":"花fufu","titles":["服务器特性介绍","群机器人"]},"47":{"title":"使用方法","titles":["服务器特性介绍","群机器人","花fufu"]},"48":{"title":"指令列表","titles":["服务器特性介绍","群机器人","花fufu"]},"49":{"title":"服务器保护","titles":["服务器特性介绍"]},"50":{"title":"生电友好","titles":["服务器特性介绍"]},"51":{"title":"内容扩充","titles":["服务器特性介绍"]},"52":{"title":"服务器特性&指令介绍","titles":[]},"53":{"title":"服务器保护","titles":["服务器特性&指令介绍"]},"54":{"title":"生电","titles":["服务器特性&指令介绍"]},"55":{"title":"Carpet","titles":["服务器特性&指令介绍","生电"]},"56":{"title":"其他 Mod","titles":["服务器特性&指令介绍","生电"]},"57":{"title":"传送","titles":["服务器特性&指令介绍"]},"58":{"title":"点歌","titles":["服务器特性&指令介绍"]},"59":{"title":"椅子","titles":["服务器特性&指令介绍"]},"60":{"title":"作物收获","titles":["服务器特性&指令介绍"]},"61":{"title":"功能性建筑","titles":[]},"62":{"title":"120自动熔炉组","titles":["功能性建筑"]},"63":{"title":"196k竖式刷石机","titles":["功能性建筑"]},"64":{"title":"蜜绿全树种树场","titles":["功能性建筑"]},"65":{"title":"开荒仓库","titles":["功能性建筑"]},"66":{"title":"四核时钟式刷铁机","titles":["功能性建筑"]},"67":{"title":"飞行器甘蔗机","titles":["功能性建筑"]},"68":{"title":"简易植物繁殖处","titles":["功能性建筑"]},"69":{"title":"丐中丐版袭击塔","titles":["功能性建筑"]},"70":{"title":"改造前哨站","titles":["功能性建筑"]},"71":{"title":"双核沼泽史莱姆农场","titles":["功能性建筑"]},"72":{"title":"简易双维度鱼塔","titles":["功能性建筑"]},"73":{"title":"刷沙机1&末地门2","titles":["功能性建筑"]},"74":{"title":"气泡柱迁移式袭击塔","titles":["功能性建筑"]},"75":{"title":"新人指南","titles":[]},"76":{"title":"取得联系","titles":["新人指南"]},"77":{"title":"进入服务器","titles":["新人指南"]},"78":{"title":"教程搬运","titles":[]},"79":{"title":"红石基础","titles":["教程搬运"]},"80":{"title":"生电","titles":["教程搬运"]},"81":{"title":"建筑","titles":["教程搬运"]},"82":{"title":"建筑学理论","titles":["教程搬运","建筑"]},"83":{"title":"建筑风格","titles":["教程搬运","建筑"]},"84":{"title":"建筑工具","titles":["教程搬运","建筑"]},"85":{"title":"服务器运维","titles":["教程搬运"]},"86":{"title":"核心(Server Core)","titles":["教程搬运","服务器运维"]},"87":{"title":"崩溃报告","titles":["教程搬运","服务器运维"]},"88":{"title":"网络","titles":["教程搬运","服务器运维"]},"89":{"title":"内网穿透 - frp","titles":["教程搬运","服务器运维","网络"]},"90":{"title":"反向代理 - Nginx","titles":["教程搬运","服务器运维","网络"]},"91":{"title":"插件开发","titles":["教程搬运"]},"92":{"title":"新媒体技术","titles":["教程搬运"]},"93":{"title":"视频录制 - ReplayMod","titles":["教程搬运","新媒体技术"]},"94":{"title":"3D 制作 - Blender","titles":["教程搬运","新媒体技术"]},"95":{"title":"其他","titles":["教程搬运"]},"96":{"title":"第一天","titles":[]},"97":{"title":"世界树与新的旅程","titles":["第一天"]},"98":{"title":"出生点","titles":["第一天"]},"99":{"title":"出生点小镇","titles":["第一天"]},"100":{"title":"复读地铁一号线","titles":["第一天"]},"101":{"title":"工业区","titles":["第一天"]},"102":{"title":"村庄","titles":["第一天"]},"103":{"title":"雪原区","titles":["第一天"]},"104":{"title":"住宅区","titles":["第一天"]},"105":{"title":"第一个庇护所","titles":["第一天"]},"106":{"title":"开始新旅程","titles":["第一天"]},"107":{"title":"复读公约","titles":[]},"108":{"title":"总则","titles":["复读公约"]},"109":{"title":"关于服务器属性","titles":["复读公约"]},"110":{"title":"关于群名片的约定","titles":["复读公约"]},"111":{"title":"关于服务器公共资源与私有资源的约定","titles":["复读公约"]},"112":{"title":"关于生电用地冲突的约定","titles":["复读公约"]},"113":{"title":"功能性建筑与观赏性建筑","titles":["复读公约","关于生电用地冲突的约定"]},"114":{"title":"冲突处理流程","titles":["复读公约","关于生电用地冲突的约定"]},"115":{"title":"修订说明","titles":["复读公约"]},"116":{"title":"2023.6.25","titles":["复读公约","修订说明"]},"117":{"title":"2023.11.10","titles":["复读公约","修订说明"]},"118":{"title":"第一天","titles":[]},"119":{"title":"世界树与新的旅程","titles":["第一天"]},"120":{"title":"神樱与复读大陆","titles":["第一天"]},"121":{"title":"我的第一个庇护所","titles":["第一天"]},"122":{"title":"这是什么厉害的东西?","titles":["第一天"]},"123":{"title":"今天运势如何","titles":["第一天"]},"124":{"title":"开始新旅程","titles":["第一天"]},"125":{"title":"软件版本","titles":[]},"126":{"title":"注:本界面已经年久失修,且不会再更新!","titles":[]},"127":{"title":"旦星 SPS","titles":[]},"128":{"title":"旦星一号","titles":["旦星 SPS"]},"129":{"title":"标记点","titles":["旦星 SPS","旦星一号"]},"130":{"title":"标记点添加","titles":["旦星 SPS","旦星一号","标记点"]},"131":{"title":"标记点删除","titles":["旦星 SPS","旦星一号","标记点"]},"132":{"title":"标记点更新","titles":["旦星 SPS","旦星一号","标记点"]},"133":{"title":"全部指令集","titles":["旦星 SPS","旦星一号","标记点"]},"134":{"title":"【真·纯萌新指南】Minecraft 基本操作","titles":[]},"135":{"title":"Minecraft JE 的基本结构","titles":["【真·纯萌新指南】Minecraft 基本操作"]},"136":{"title":"模组/材质包/数据包介绍以及安装","titles":["【真·纯萌新指南】Minecraft 基本操作"]},"137":{"title":"高版本常用辅助性模组介绍","titles":["【真·纯萌新指南】Minecraft 基本操作"]},"138":{"title":"Episode1 崩溃报告和日志在哪里?","titles":[]},"139":{"title":"面向普通玩家","titles":["Episode1 崩溃报告和日志在哪里?"]},"140":{"title":"HMCL","titles":["Episode1 崩溃报告和日志在哪里?","面向普通玩家"]},"141":{"title":"PCLII","titles":["Episode1 崩溃报告和日志在哪里?","面向普通玩家"]},"142":{"title":"面向运维","titles":["Episode1 崩溃报告和日志在哪里?"]},"143":{"title":"解压压缩包","titles":["Episode1 崩溃报告和日志在哪里?","面向运维"]},"144":{"title":"直接获取","titles":["Episode1 崩溃报告和日志在哪里?","面向运维"]},"145":{"title":"Episode2 认识崩溃报告","titles":[]},"146":{"title":"文件名","titles":["Episode2 认识崩溃报告"]},"147":{"title":"崩溃报告结构","titles":["Episode2 认识崩溃报告"]},"148":{"title":"开头不重要的部分","titles":["Episode2 认识崩溃报告","崩溃报告结构"]},"149":{"title":"报错描述","titles":["Episode2 认识崩溃报告","崩溃报告结构"]},"150":{"title":"StackTrace(堆栈追踪)","titles":["Episode2 认识崩溃报告","崩溃报告结构"]},"151":{"title":"分割线","titles":["Episode2 认识崩溃报告","崩溃报告结构"]},"152":{"title":"Head","titles":["Episode2 认识崩溃报告","崩溃报告结构"]},"153":{"title":"Details","titles":["Episode2 认识崩溃报告","崩溃报告结构"]},"154":{"title":"System Details","titles":["Episode2 认识崩溃报告","崩溃报告结构"]},"155":{"title":"Mod List","titles":["Episode2 认识崩溃报告","崩溃报告结构"]},"156":{"title":"其他乱七八糟的东西","titles":["Episode2 认识崩溃报告","崩溃报告结构"]},"157":{"title":"Mod loading error has occurred","titles":[]},"158":{"title":"前置缺失&版本错误","titles":["Mod loading error has occurred"]},"159":{"title":"Mod损坏","titles":["Mod loading error has occurred"]},"160":{"title":"NoClassFound","titles":[]},"161":{"title":"前置缺失","titles":["NoClassFound"]},"162":{"title":"乱改文件名","titles":["NoClassFound"]},"163":{"title":"Mod有Bug","titles":["NoClassFound"]},"164":{"title":"Invalid id 4096","titles":[]},"165":{"title":"原因","titles":["Invalid id 4096"]},"166":{"title":"解决方法","titles":["Invalid id 4096"]},"167":{"title":"Ticking Entity & Block","titles":[]},"168":{"title":"Episode3 崩溃报告分类&解决方法","titles":[]},"169":{"title":"序言","titles":[]},"170":{"title":"通用分析方法","titles":["序言"]},"171":{"title":"通用解决方法","titles":["序言"]},"172":{"title":"Episode4 圣经","titles":[]},"173":{"title":"PL的崩溃报告宝典","titles":[]},"174":{"title":"PL的生电教程","titles":[]},"175":{"title":"Episode 1 | 基本知识","titles":["PL的生电教程"]},"176":{"title":"Part 1 | 认识生电","titles":["PL的生电教程","Episode 1 | 基本知识"]},"177":{"title":"什么是生电?","titles":["PL的生电教程","Episode 1 | 基本知识","Part 1 | 认识生电"]},"178":{"title":"什么是生电机器?","titles":["PL的生电教程","Episode 1 | 基本知识","Part 1 | 认识生电"]},"179":{"title":"生电是模块化的生电","titles":["PL的生电教程","Episode 1 | 基本知识","Part 1 | 认识生电"]},"180":{"title":"生电机器设计的基本流程","titles":["PL的生电教程","Episode 1 | 基本知识","Part 1 | 认识生电"]},"181":{"title":"Part 2 | 资料的查询","titles":["PL的生电教程","Episode 1 | 基本知识"]},"182":{"title":"学会查阅wiki","titles":["PL的生电教程","Episode 1 | 基本知识","Part 2 | 资料的查询"]},"183":{"title":"了解学习他人的设计","titles":["PL的生电教程","Episode 1 | 基本知识","Part 2 | 资料的查询"]},"184":{"title":"Part 3 | 工具的使用","titles":["PL的生电教程","Episode 1 | 基本知识"]},"185":{"title":"XeKr红石显示","titles":["PL的生电教程","Episode 1 | 基本知识","Part 3 | 工具的使用"]},"186":{"title":"Litematica(投影)","titles":["PL的生电教程","Episode 1 | 基本知识","Part 3 | 工具的使用"]},"187":{"title":"模式2补充","titles":["PL的生电教程","Episode 1 | 基本知识","Part 3 | 工具的使用","Litematica(投影)"]},"188":{"title":"模式5补充","titles":["PL的生电教程","Episode 1 | 基本知识","Part 3 | 工具的使用","Litematica(投影)"]},"189":{"title":"蓝图显示模式","titles":["PL的生电教程","Episode 1 | 基本知识","Part 3 | 工具的使用","Litematica(投影)"]},"190":{"title":"简单放置","titles":["PL的生电教程","Episode 1 | 基本知识","Part 3 | 工具的使用","Litematica(投影)"]},"191":{"title":"材料列表","titles":["PL的生电教程","Episode 1 | 基本知识","Part 3 | 工具的使用","Litematica(投影)"]},"192":{"title":"原理图验证","titles":["PL的生电教程","Episode 1 | 基本知识","Part 3 | 工具的使用","Litematica(投影)"]},"193":{"title":"litematica-printer","titles":["PL的生电教程","Episode 1 | 基本知识","Part 3 | 工具的使用","Litematica(投影)"]},"194":{"title":"Tweakeroo","titles":["PL的生电教程","Episode 1 | 基本知识","Part 3 | 工具的使用"]},"195":{"title":"凭空放置","titles":["PL的生电教程","Episode 1 | 基本知识","Part 3 | 工具的使用","Tweakeroo"]},"196":{"title":"实体攻击限制","titles":["PL的生电教程","Episode 1 | 基本知识","Part 3 | 工具的使用","Tweakeroo"]},"197":{"title":"伪潜行","titles":["PL的生电教程","Episode 1 | 基本知识","Part 3 | 工具的使用","Tweakeroo"]},"198":{"title":"屏蔽方块交互","titles":["PL的生电教程","Episode 1 | 基本知识","Part 3 | 工具的使用","Tweakeroo"]},"199":{"title":"方块快速放置","titles":["PL的生电教程","Episode 1 | 基本知识","Part 3 | 工具的使用","Tweakeroo"]},"200":{"title":"左右键快速点击","titles":["PL的生电教程","Episode 1 | 基本知识","Part 3 | 工具的使用","Tweakeroo"]},"201":{"title":"方块灵活放置","titles":["PL的生电教程","Episode 1 | 基本知识","Part 3 | 工具的使用","Tweakeroo"]},"202":{"title":"灵魂出窍","titles":["PL的生电教程","Episode 1 | 基本知识","Part 3 | 工具的使用","Tweakeroo"]},"203":{"title":"伽马覆写","titles":["PL的生电教程","Episode 1 | 基本知识","Part 3 | 工具的使用","Tweakeroo"]},"204":{"title":"自动补货","titles":["PL的生电教程","Episode 1 | 基本知识","Part 3 | 工具的使用","Tweakeroo"]},"205":{"title":"长按左右键","titles":["PL的生电教程","Episode 1 | 基本知识","Part 3 | 工具的使用","Tweakeroo"]},"206":{"title":"容器预览","titles":["PL的生电教程","Episode 1 | 基本知识","Part 3 | 工具的使用","Tweakeroo"]},"207":{"title":"岩浆夜视","titles":["PL的生电教程","Episode 1 | 基本知识","Part 3 | 工具的使用","Tweakeroo"]},"208":{"title":"周期性单击左右键","titles":["PL的生电教程","Episode 1 | 基本知识","Part 3 | 工具的使用","Tweakeroo"]},"209":{"title":"潜影盒预览","titles":["PL的生电教程","Episode 1 | 基本知识","Part 3 | 工具的使用","Tweakeroo"]},"210":{"title":"ItemScroller","titles":["PL的生电教程","Episode 1 | 基本知识","Part 3 | 工具的使用"]},"211":{"title":"移动物品","titles":["PL的生电教程","Episode 1 | 基本知识","Part 3 | 工具的使用","ItemScroller"]},"212":{"title":"快速合成","titles":["PL的生电教程","Episode 1 | 基本知识","Part 3 | 工具的使用","ItemScroller"]},"213":{"title":"Minihud","titles":["PL的生电教程","Episode 1 | 基本知识","Part 3 | 工具的使用"]},"214":{"title":"Carpet","titles":["PL的生电教程","Episode 1 | 基本知识","Part 3 | 工具的使用"]},"215":{"title":"Episode 2 | 常见的模块","titles":["PL的生电教程"]},"216":{"title":"图例","titles":["PL的生电教程","Episode 2 | 常见的模块"]},"217":{"title":"Part 1 | 物品收集模块","titles":["PL的生电教程","Episode 2 | 常见的模块"]},"218":{"title":"物品流分析","titles":["PL的生电教程","Episode 2 | 常见的模块","Part 1 | 物品收集模块"]},"219":{"title":"涓流与冲击流","titles":["PL的生电教程","Episode 2 | 常见的模块","Part 1 | 物品收集模块","物品流分析"]},"220":{"title":"复杂物品流","titles":["PL的生电教程","Episode 2 | 常见的模块","Part 1 | 物品收集模块","物品流分析"]},"221":{"title":"变化物品流","titles":["PL的生电教程","Episode 2 | 常见的模块","Part 1 | 物品收集模块","物品流分析"]},"222":{"title":"AB大吸力分类单片","titles":["PL的生电教程","Episode 2 | 常见的模块","Part 1 | 物品收集模块","物品流分析"]},"223":{"title":"Part 2 | 物品采集模块","titles":["PL的生电教程","Episode 2 | 常见的模块"]},"224":{"title":"TNT复制(方块、生物)","titles":["PL的生电教程","Episode 2 | 常见的模块","Part 2 | 物品采集模块"]},"225":{"title":"原理","titles":["PL的生电教程","Episode 2 | 常见的模块","Part 2 | 物品采集模块"]},"226":{"title":"方块更新","titles":["PL的生电教程","Episode 2 | 常见的模块","Part 2 | 物品采集模块"]},"227":{"title":"激活","titles":["PL的生电教程","Episode 2 | 常见的模块","Part 2 | 物品采集模块"]},"228":{"title":"侦测器设计","titles":["PL的生电教程","Episode 2 | 常见的模块","Part 2 | 物品采集模块","激活"]},"229":{"title":"金合欢三无&变种","titles":["PL的生电教程","Episode 2 | 常见的模块","Part 2 | 物品采集模块","激活"]},"230":{"title":"水星嗷三无","titles":["PL的生电教程","Episode 2 | 常见的模块","Part 2 | 物品采集模块","激活"]},"231":{"title":"已知问题记录","titles":[]},"232":{"title":"腐竹的新坑","titles":[]},"233":{"title":"动态","titles":[]},"234":{"title":"国庆快乐 - 2021 国庆节寻宝活动","titles":[]},"235":{"title":"战果记录","titles":["国庆快乐 - 2021 国庆节寻宝活动"]},"236":{"title":"【FDCraft|复读世界𒆙】2.0 更新公告","titles":[]},"237":{"title":"新地图:【大厅:世界树之渊】","titles":["【FDCraft|复读世界𒆙】2.0 更新公告"]},"238":{"title":"特性修改","titles":["【FDCraft|复读世界𒆙】2.0 更新公告"]},"239":{"title":"问题修复","titles":["【FDCraft|复读世界𒆙】2.0 更新公告"]},"240":{"title":"常规提升","titles":["【FDCraft|复读世界𒆙】2.0 更新公告"]},"241":{"title":"已知问题","titles":["【FDCraft|复读世界𒆙】2.0 更新公告"]},"242":{"title":"维护补偿","titles":["【FDCraft|复读世界𒆙】2.0 更新公告"]},"243":{"title":"蜃气螭影之宫玉","titles":[]},"244":{"title":"活动详情","titles":["蜃气螭影之宫玉"]},"245":{"title":"特性修改","titles":["蜃气螭影之宫玉"]},"246":{"title":"维护补偿","titles":["蜃气螭影之宫玉"]},"247":{"title":"通讯 | 复旦大学基岩社通过答辩","titles":[]},"248":{"title":"SJMC 1.18 现已支持 FDCraft 用户中心","titles":[]},"249":{"title":"3 月活动 | 耕地农庄","titles":[]},"250":{"title":"任务内容","titles":["3 月活动 | 耕地农庄"]},"251":{"title":"任务奖励","titles":["3 月活动 | 耕地农庄"]},"252":{"title":"全体奖励","titles":["3 月活动 | 耕地农庄","任务奖励"]},"253":{"title":"限定奖励","titles":["3 月活动 | 耕地农庄","任务奖励"]},"254":{"title":"消息 | FDCraft 加入 MUA","titles":[]},"255":{"title":"复读世界𒆙现已支持 SJMC Skins","titles":[]},"256":{"title":"像素 FDU 计划服务器正式上线","titles":[]},"257":{"title":"【FDCraft|复读世界𒆙】3.0 现已开启!","titles":[]},"258":{"title":"世界树的故事","titles":[]}},"dirtCount":0,"index":[["服内传送功能暂时停用",{"2":{"257":1}}],["服务器现已接入",{"2":{"248":1}}],["服务器一角",{"2":{"247":1}}],["服务器为服务端所在目录",{"2":{"144":1}}],["服务器",{"2":{"135":1,"232":1,"241":1,"248":1}}],["服务器的账号系统",{"2":{"135":1}}],["服务器的过程中",{"2":{"6":1}}],["服务器属性",{"2":{"116":1,"117":1}}],["服务器运维",{"0":{"85":1},"1":{"86":1,"87":1,"88":1,"89":1,"90":1}}],["服务器运维相关的教程",{"2":{"2":1}}],["服务器信息同步",{"2":{"56":1}}],["服务器重启假人驻留",{"2":{"55":1}}],["服务器特性",{"0":{"52":1},"1":{"53":1,"54":1,"55":1,"56":1,"57":1,"58":1,"59":1,"60":1}}],["服务器特性介绍",{"0":{"42":1},"1":{"43":1,"44":1,"45":1,"46":1,"47":1,"48":1,"49":1,"50":1,"51":1}}],["服务器保护",{"0":{"49":1,"53":1}}],["服务器地址",{"0":{"19":1},"2":{"13":1,"14":1,"15":1,"256":1}}],["服务器概况",{"0":{"10":1},"1":{"11":1,"12":1,"13":1,"14":1,"15":1}}],["服务端需要有carpet",{"2":{"201":1}}],["服务端需要装carpet",{"2":{"190":1}}],["服务端需要装litematica",{"2":{"190":1}}],["服务端文件夹",{"2":{"133":2}}],["服务端架设",{"2":{"86":1}}],["服务端",{"2":{"2":2}}],["敬请期待",{"2":{"257":1}}],["登录",{"2":{"257":1}}],["登录服务器",{"2":{"242":1}}],["推荐使用",{"2":{"257":1}}],["乃至全体上海交通大学大学的",{"2":{"255":1}}],["高校联盟",{"2":{"254":1}}],["高版本的forge与fabric已经能自动识别这种错误",{"2":{"158":1}}],["高版本常用辅助性模组介绍",{"0":{"137":1}}],["击退抗性",{"2":{"253":1}}],["击杀玩家或者假人获取玩家头颅",{"2":{"51":1}}],["达成解锁条件后自动获得",{"2":{"253":1}}],["把下界合金锄",{"2":{"253":1}}],["把所有匹配的物品全部丢掉",{"2":{"211":1}}],["把所有匹配的物品放到那个槽位",{"2":{"211":1}}],["锄头の太上感受到挑战者对农耕的热忱决定为您所用",{"2":{"253":1}}],["锄头の太上",{"2":{"253":1}}],["农耕之心",{"2":{"253":2}}],["农场等非机械级别玩家活动痕迹",{"2":{"65":1}}],["限定奖励",{"0":{"253":1}}],["纯净1",{"2":{"248":1}}],["纯萌新指南",{"0":{"134":1},"1":{"135":1,"136":1,"137":1}}],["详情请见",{"2":{"248":1}}],["详见统计信息的json文件",{"2":{"40":1}}],["爱好者可以通过",{"2":{"248":1,"255":1}}],["爱好者的系列多人联机服务器",{"2":{"8":1,"109":1}}],["祝愿基岩社以后能更好地发展",{"2":{"247":1}}],["写通讯稿还是一个很大的挑战",{"2":{"247":1}}],["沉稳等美好品质的象征",{"2":{"247":1}}],["麦块社",{"2":{"247":1}}],["起名的过程",{"2":{"247":1}}],["笔者有幸接下了撰写这篇通讯稿的任务",{"2":{"247":1}}],["笔者认为",{"2":{"247":1}}],["笔者当时的提案是",{"2":{"247":1}}],["笔者亲历了",{"2":{"247":1}}],["笔者和其他几个21级新生在西边集中安家",{"2":{"247":1}}],["笔者作为去年刚入学的21级学生",{"2":{"247":1}}],["兴趣爱好",{"2":{"247":1}}],["暑假刚被录取的时候笔者就加入了复旦大学2021级新生群",{"2":{"247":1}}],["希望服务器也能成为大家的第二个家",{"2":{"247":1}}],["希望有uu能参与到服务器的填坑中来",{"2":{"232":1}}],["虽然笔者是新闻学院的学生",{"2":{"247":1}}],["虽然人菜",{"2":{"247":1}}],["虽然但是",{"2":{"247":1}}],["虽然fdcraft在服务器形态上与生电服务器相似",{"2":{"109":1}}],["嘛",{"2":{"247":1}}],["长盛不衰",{"2":{"247":1}}],["长按左右键",{"0":{"205":1}}],["扶摇直上九万里",{"2":{"247":1}}],["吴毅恒同学说",{"2":{"247":1}}],["郭虹麟同学代表社团与友校上海交通大学的minecraft社团建立了友好关系",{"2":{"247":1}}],["晚上22",{"2":{"247":1}}],["终于初步成立了",{"2":{"247":1}}],["酝酿已久的复旦大学minecraft社团",{"2":{"247":1}}],["尚奇",{"2":{"247":1}}],["尚无冰道",{"2":{"72":1}}],["避雷针x1",{"2":{"246":1}}],["避免女巫一击不死扔了治疗药水",{"2":{"69":1}}],["铜块x1",{"2":{"246":1}}],["死亡或传送地点",{"2":{"245":1}}],["连同",{"2":{"245":1}}],["礼包包含稀有矿石",{"2":{"244":1}}],["奖励",{"2":{"244":1}}],["时间",{"2":{"244":1,"249":1}}],["形式",{"2":{"244":1}}],["形成的持续不断的物品流",{"2":{"219":1}}],["冒险家可通过",{"2":{"243":1}}],["冒险家们经常建造一些有趣而高效的功能性建筑",{"2":{"101":1,"122":1}}],["虚空的岛屿上",{"2":{"243":1}}],["虚空交易",{"2":{"50":1}}],["钻石x2",{"2":{"246":1}}],["钻石",{"2":{"242":1}}],["钻石块用来代表模块输入信号的地方",{"2":{"216":1}}],["钻石块",{"2":{"216":1}}],["远古残骸x1",{"2":{"246":1}}],["远古残骸",{"2":{"242":1}}],["远超常规的设计",{"2":{"222":1}}],["附魔之瓶",{"2":{"242":1}}],["补偿内容",{"2":{"242":1,"246":1}}],["补订",{"2":{"91":1}}],["执行指令",{"2":{"242":1}}],["领取时间",{"2":{"246":1}}],["领取期限",{"2":{"242":1}}],["领取方式",{"2":{"242":1,"253":1}}],["领取流程",{"2":{"105":1}}],["维护补偿",{"0":{"242":1,"246":1}}],["维度",{"2":{"136":1}}],["负担加重",{"2":{"241":1}}],["负责各类红石技术与模组的技术研究",{"2":{"5":1}}],["负责各个minecraft",{"2":{"2":1}}],["负责小游戏服务器",{"2":{"4":1}}],["负责社团b站官号",{"2":{"3":1}}],["负责像素复旦项目的建设",{"2":{"3":1}}],["个家",{"2":{"241":1}}],["个宝箱",{"2":{"234":1}}],["家需要重新设置",{"2":{"241":1}}],["暂时弃用了",{"2":{"240":1}}],["权限管理由",{"2":{"240":1}}],["升级至",{"2":{"240":1}}],["缓解了世界难度不定期被重置为简单的问题",{"2":{"239":1}}],["缓存",{"2":{"222":1}}],["问题修复",{"0":{"239":1}}],["常规提升",{"0":{"240":1}}],["常驻池与药水池现已开放",{"2":{"237":1}}],["常见的模块",{"0":{"215":1},"1":{"216":1,"217":1,"218":1,"219":1,"220":1,"221":1,"222":1,"223":1,"224":1,"225":1,"226":1,"227":1,"228":1,"229":1,"230":1}}],["似乎供奉着远古神秘而未知的神明",{"2":{"237":1}}],["环绕于世界树周围的浮空圆盘",{"2":{"237":1}}],["及其附属地图",{"2":{"242":1}}],["及其附属地图互通",{"2":{"237":1}}],["及方块列表不会发生改变",{"2":{"225":1}}],["背包与",{"2":{"237":1}}],["背包整理",{"2":{"137":1}}],["亦可直接升级原有启动器的游戏版本至",{"2":{"236":1}}],["您可以下载新版启动器",{"2":{"236":1}}],["紫水晶块x1",{"2":{"246":1}}],["紫色宝箱",{"2":{"235":1}}],["紫颂花农场种植",{"2":{"200":1}}],["青色宝箱",{"2":{"235":1}}],["战果记录",{"0":{"235":1}}],["战利品",{"2":{"232":1}}],["战利品表",{"2":{"51":1,"136":1}}],["旧主城",{"2":{"234":1}}],["宝箱内至少有一个活动纪念龙蛋和一个蛋糕",{"2":{"234":1}}],["宝箱为特定颜色的潜影盒",{"2":{"234":1}}],["国庆节寻宝活动",{"0":{"234":1},"1":{"235":1},"2":{"233":1}}],["国庆快乐",{"0":{"234":1},"1":{"235":1},"2":{"233":1}}],["蜃气螭影之宫玉纪念龙蛋x1",{"2":{"246":1}}],["蜃气螭影之宫玉",{"0":{"243":1},"1":{"244":1,"245":1,"246":1},"2":{"233":1,"243":1,"244":1}}],["耕地农庄纪念龙蛋x1",{"2":{"252":1}}],["耕地农庄",{"0":{"249":1},"1":{"250":1,"251":1,"252":1,"253":1},"2":{"233":1}}],["现已支持",{"0":{"248":1},"2":{"233":1}}],["现已开启",{"0":{"257":1},"2":{"233":1}}],["现在可以设置",{"2":{"241":1}}],["现在",{"2":{"145":2}}],["现在输入",{"2":{"104":1}}],["现在鞘翅可以通过在末地挖末地石爆宝箱来获取",{"2":{"98":1}}],["寒假活动地图",{"2":{"243":1}}],["寒假活动",{"2":{"233":1}}],["月锄地活动纪念锄",{"2":{"253":1}}],["月活动",{"0":{"249":1},"1":{"250":1,"251":1,"252":1,"253":1},"2":{"233":1}}],["月",{"2":{"233":10,"244":2,"248":1,"249":1,"253":1,"254":1,"255":1}}],["月发起的面向复旦大学",{"2":{"8":1}}],["动态",{"0":{"233":1}}],["怪物",{"2":{"232":1}}],["矿石",{"2":{"232":1}}],["略有了解或希望了解的uu们都可以分一口锅~",{"2":{"232":1}}],["水星嗷三无",{"0":{"230":1}}],["爆炸点准确",{"2":{"229":1}}],["易于连接",{"2":{"229":1}}],["易于寻找",{"2":{"120":1}}],["耗材少",{"2":{"229":1}}],["侦测器设计指使用侦测器引发tnt更新的设计",{"2":{"228":1}}],["侦测器设计",{"0":{"228":1}}],["间接输入也难",{"2":{"227":1}}],["激活",{"0":{"227":1},"1":{"228":1,"229":1,"230":1}}],["珊瑚扇附着的黏液块转变为",{"2":{"226":1}}],["区块刻",{"2":{"226":1}}],["之后被移动但未被其他移动的方块覆盖的方块被删除",{"2":{"225":1}}],["之下的综合创新发展模式",{"2":{"6":1}}],["里面的一些名词对于初学者而言有些难",{"2":{"224":1}}],["里面的latest",{"2":{"144":1}}],["伤害生物",{"2":{"224":1}}],["转化为物品的部分",{"2":{"223":1}}],["填充物样式为",{"2":{"222":1}}],["组合",{"2":{"222":1}}],["组织社团成员参加小游戏相关活动",{"2":{"4":1}}],["两个大吸力单片中间还可以插入普通的分类单片或者另一种大吸力分类单片",{"2":{"222":1}}],["线",{"2":{"222":1}}],["线下活动",{"2":{"4":1}}],["串联",{"2":{"229":1}}],["串",{"2":{"222":1}}],["相册中惊喜地发现了fdcraft交流群的二维码",{"2":{"247":1}}],["相信这两位同学的话能很好地代表复旦大学minecraft爱好者的心情",{"2":{"247":1}}],["相较于串联",{"2":{"230":1}}],["相较于金合欢的三无",{"2":{"230":1}}],["相较于原版耗材更少",{"2":{"229":1}}],["相较于普通的堆叠设计",{"2":{"222":1}}],["相较于普通的分类单片",{"2":{"222":1}}],["相当于无限夜视",{"2":{"203":1}}],["缺点是对建造者与使用者的知识要求较高",{"2":{"221":1}}],["缺点是物品混杂",{"2":{"221":1}}],["缺点是体积十分大",{"2":{"221":1}}],["混杂打包",{"2":{"221":1}}],["混杂有大量不可堆叠物品",{"2":{"220":1}}],["典型的例子有刷沙固化机与熔炉组",{"2":{"221":1}}],["典型的例子为手砍猪人塔",{"2":{"220":1}}],["变种",{"0":{"229":1}}],["变相提升了单个漏斗的效率",{"2":{"222":1}}],["变化物品流指该机器输出的物品流并不包含固定的物品",{"2":{"221":1}}],["变化物品流",{"0":{"221":1}}],["变成鞘翅飞行的模样",{"2":{"31":1}}],["峰值与谷值间相差较大",{"2":{"220":1}}],["猪灵交易所",{"2":{"220":1}}],["凋灵骷髅塔",{"2":{"220":1}}],["垃圾",{"2":{"220":1}}],["往往需要设计多余的漏斗或者循环水道来保证所有物品被吸收",{"2":{"219":1}}],["输出的3格信号会解锁旁边分类单片的漏斗",{"2":{"222":1}}],["输出的物品数量也会随着时间而周期性或非周期性地上下浮动",{"2":{"219":1}}],["输入",{"2":{"30":1,"58":1,"103":1}}],["造成巨量卡顿",{"2":{"219":1}}],["循环水道是一个不错的将冲击流转化为涓流的方式",{"2":{"219":1}}],["计算下来需要8个漏斗而非5个",{"2":{"219":1}}],["计划服务器暂未接入",{"2":{"257":1}}],["计划服务器正式上线",{"0":{"256":1},"2":{"233":1,"256":1}}],["计划地图的实景影像",{"2":{"256":1}}],["计划建设期间",{"2":{"256":1}}],["计划刻",{"2":{"226":1}}],["计划",{"0":{"14":1},"2":{"256":1}}],["矢车菊",{"2":{"219":1}}],["纸面数据为",{"2":{"219":1}}],["冲击流指该机器并不是持续输出物品",{"2":{"219":1}}],["冲突处理流程",{"0":{"114":1}}],["绝大部分机器输出的是涓流",{"2":{"219":1}}],["涓流指该机器持续输出物品或者两次输出之间间隔很短",{"2":{"219":1}}],["涓流与冲击流",{"0":{"219":1}}],["初学时可能会感到困难",{"2":{"217":1}}],["箱子",{"2":{"217":1}}],["又是为了方便也会使用铁块等来替代",{"2":{"216":1}}],["石英块",{"2":{"242":1}}],["石英块来替换",{"2":{"216":1}}],["石英台阶来替换",{"2":{"216":1}}],["黑色染色玻璃",{"2":{"216":1}}],["黑山大叔的教程",{"2":{"210":1,"224":1}}],["旁边为侦测器则表示接受侦测器信号",{"2":{"216":1}}],["平滑石台阶",{"2":{"216":1}}],["平滑石头",{"2":{"216":1}}],["平行世界传送中心",{"2":{"97":3,"119":3}}],["铁块",{"2":{"216":1}}],["都属于物品采集模块",{"2":{"223":1}}],["都面向初学者",{"2":{"215":1}}],["都可以尝试禁用optifine",{"2":{"171":1}}],["根据空岛最终规模发放奖励礼包",{"2":{"244":1}}],["根据选择的合成表消耗背包内所有需要的物品合成物品",{"2":{"212":1}}],["根据再生方式设计相应的流程",{"2":{"180":1}}],["鼠标中键",{"2":{"212":1}}],["选择相应的合成表",{"2":{"212":1}}],["丢弃所有指针指着的物品",{"2":{"211":1}}],["丢弃键",{"2":{"211":3}}],["右键按住",{"2":{"211":4}}],["右键坐下",{"2":{"59":1}}],["拖动",{"2":{"211":6}}],["单击物品栏外",{"2":{"211":1}}],["单击有物品的空槽位",{"2":{"211":1}}],["单击",{"2":{"211":2}}],["滚动",{"2":{"211":5}}],["+40",{"2":{"253":1}}],["+2",{"2":{"253":1}}],["+50",{"2":{"253":1}}],["+",{"2":{"211":30,"212":5}}],["+ignoreunrecognizedvmoptions",{"2":{"147":1}}],["尽管快捷键众多",{"2":{"211":1}}],["尽管搭建了地",{"2":{"128":1}}],["移除了生物不在玩家视角范围内时智商会降低的特性",{"2":{"238":1}}],["移除了生物在远离玩家时智商会降低的特性",{"2":{"238":1}}],["移除某个快速计分板",{"2":{"39":1}}],["移动到世界树大厅",{"2":{"237":1}}],["移动到位后它们也会正常生成",{"2":{"226":1}}],["移动tnt的活塞同时移动的地毯和珊瑚扇的破坏同样也不影响其对应的",{"2":{"226":1}}],["移动tnt的活塞和它移动的多数方块也不能发出nc更新",{"2":{"226":1}}],["移动tnt的活塞的方块事件除外",{"2":{"226":1}}],["移动的活塞",{"2":{"225":4,"226":2}}],["移动物品",{"0":{"211":1},"2":{"211":1}}],["移走堆叠的所有物品",{"2":{"211":2}}],["许多社团成员为新建社团送上了美好祝福",{"2":{"247":1}}],["许多侦测器涉及的tnt复制具有着方向或者坐标的限制",{"2":{"228":1}}],["许多刷怪塔与树厂需要用到这个功能来挂机",{"2":{"208":1}}],["许多玩家的房屋也建立于此处",{"2":{"120":1}}],["周目更换",{"2":{"257":1}}],["周期性单击左右键",{"0":{"208":1}}],["周围包含简易的村民交易",{"2":{"65":1}}],["岩浆夜视",{"0":{"207":1}}],["伽马覆写",{"0":{"203":1}}],["效果",{"2":{"202":1}}],["效率为7",{"2":{"71":1}}],["视角能像旁观者一样自由移动",{"2":{"202":1}}],["视频设置",{"2":{"136":1}}],["视频录制",{"0":{"93":1}}],["视频制作",{"2":{"75":1}}],["灵魂出窍",{"0":{"202":1}}],["红色宝箱",{"2":{"235":1}}],["红色染色玻璃",{"2":{"201":1}}],["红石信号",{"2":{"222":1}}],["红石基础",{"0":{"79":1}}],["红石灯不亮",{"2":{"74":1}}],["红石电路设计",{"2":{"0":1,"6":1}}],["隔空",{"2":{"201":1}}],["橙色染色玻璃",{"2":{"201":1}}],["手挖区块等",{"2":{"200":1}}],["手持锄头右键作物可以收获作物",{"2":{"60":1}}],["手持剪刀右键可旋转部分红石元件",{"2":{"50":1}}],["左",{"2":{"211":2}}],["左键按住",{"2":{"211":2}}],["左右键快速点击",{"0":{"200":1}}],["左侧为未分类物品输出",{"2":{"104":1}}],["铺地",{"2":{"199":1}}],["铺设漏斗链与投掷器链时经常要用到这个功能",{"2":{"198":1}}],["漏斗",{"2":{"198":1}}],["屏蔽方块交互",{"0":{"198":1}}],["类似潜行",{"2":{"197":1}}],["类似的",{"2":{"146":1}}],["伪潜行可以用于快速搭路",{"2":{"197":1}}],["伪潜行",{"0":{"197":1}}],["凭空放置",{"0":{"195":1}}],["确信",{"2":{"194":1}}],["强大的工具箱",{"2":{"194":1}}],["​\\t当放下原理图后",{"2":{"191":1}}],["材料列表",{"0":{"191":1},"2":{"191":1}}],["材质包直接存放于",{"2":{"136":1}}],["材质包文件",{"2":{"135":1}}],["材质包",{"0":{"136":1},"2":{"134":3,"136":1}}],["材质的创作",{"2":{"3":1}}],["会发生怎样的故事呢",{"2":{"243":1}}],["会自动从背包中取半组放在手上",{"2":{"204":1}}],["会往一个方向连续放下多个方块",{"2":{"199":1}}],["会切换至那个潜影盒",{"2":{"190":1}}],["会被当场抓住并被记录到崩溃报告中",{"2":{"169":1}}],["楼梯有时会失灵",{"2":{"190":1}}],["楼梯的精准放置",{"2":{"190":1}}],["支持红石元件与台阶的精准放置",{"2":{"190":1}}],["支持对红石元件",{"2":{"190":1}}],["活动时间",{"2":{"253":1}}],["活动结束后",{"2":{"244":1}}],["活动详情",{"0":{"244":1}}],["活动开始时间",{"2":{"234":1}}],["活动组织部",{"0":{"4":1},"2":{"1":1,"75":1}}],["活塞开始运动无法直接向tnt输入上升沿",{"2":{"227":1}}],["活塞会开始推动方块",{"2":{"225":1}}],["活塞会检测需要被移动的所有方块",{"2":{"225":1}}],["活板门只能位于顶部",{"2":{"190":1}}],["活板门",{"2":{"190":1}}],["台阶",{"2":{"190":1}}],["简单放置的精准度",{"2":{"190":1}}],["简单放置功能用于在生存中准确地建造原理图",{"2":{"190":1}}],["简单放置",{"0":{"190":1}}],["简易双维度鱼塔",{"0":{"72":1}}],["简易植物繁殖处",{"0":{"68":1}}],["渲染某个y高度以上",{"2":{"189":1}}],["渲染某个y高度以下",{"2":{"189":1}}],["渲染一个y轴区间内",{"2":{"189":1}}],["渲染一层",{"2":{"189":1}}],["渲染全部",{"2":{"189":1}}],["默认为左alt",{"2":{"206":1}}],["默认为左中",{"2":{"30":1,"58":1}}],["默认为capslock",{"2":{"193":1}}],["默认",{"2":{"189":1}}],["热键",{"2":{"189":1,"190":1,"193":1,"194":1}}],["热力系列",{"2":{"5":1}}],["蓝色宝箱",{"2":{"235":1}}],["蓝图显示模式",{"0":{"189":1}}],["蓝鸡的worldedit教程",{"2":{"84":1}}],["替换现有方块",{"2":{"188":3}}],["情况",{"2":{"188":1}}],["翻转",{"2":{"187":1}}],["翻到上一页",{"2":{"30":1,"58":1}}],["翻到下一页",{"2":{"30":1,"58":1}}],["旋转",{"2":{"187":1}}],["旋转吧",{"2":{"31":1}}],["首先要做的就是锁定位置",{"2":{"187":1}}],["防止原理图被意外地移动",{"2":{"187":1}}],["锁定位置",{"2":{"187":1}}],["隐藏原理图",{"2":{"187":1}}],["隐藏该插件的计分板",{"2":{"39":1}}],["百科的教程",{"2":{"186":1}}],["百团时负责社团摊位活动的设计",{"2":{"4":1}}],["百团时负责海报",{"2":{"3":1}}],["表明你已经真正理解了这方面的知识",{"2":{"183":1}}],["表明这个机器属于创电的范畴或者尚不能独立完成一些复杂的功能",{"2":{"178":1}}],["表明这个机器一定为生电机器",{"2":{"178":1}}],["除了物品收集部分",{"2":{"183":1}}],["除了空指针异常nullpointerexception以外",{"2":{"150":1}}],["技术生存档案馆",{"2":{"183":1}}],["技术研究部",{"0":{"5":1},"2":{"1":1}}],["肥啾的教程",{"2":{"186":1}}],["肥啾的指路帖",{"2":{"183":1}}],["肥啾u",{"2":{"183":1,"215":1}}],["词条界面",{"2":{"182":1}}],["足以说明设计一台机器与设计新模块的难度完全不相干",{"2":{"180":1}}],["仙人掌农场作为mc中极少数没有使用任何红石元件的机器之一",{"2":{"180":1}}],["仙人掌扳手",{"2":{"55":1}}],["设计一台生电机器很多时候并不需要用到多么高深的红石知识",{"2":{"180":1}}],["设置最多两个家",{"2":{"245":1}}],["设置某个任务的负责人",{"2":{"38":1}}],["设置某个任务的优先级",{"2":{"38":1}}],["设置某个任务的ddl",{"2":{"38":1}}],["设置各种hud的显示位置",{"2":{"30":1,"58":1}}],["流经漏斗上方",{"2":{"180":1}}],["构筑那么大的仓库显然不太合适",{"2":{"219":1}}],["构筑收集模块",{"2":{"180":1}}],["构筑采集模块",{"2":{"180":1}}],["构筑再生模块",{"2":{"180":1}}],["构建的卫星地图与定位系统",{"2":{"128":1}}],["构建起沟通的桥梁",{"2":{"110":1}}],["得知绿色染料由仙人掌烧制而成",{"2":{"180":1}}],["得益于",{"2":{"6":1}}],["便得到了一台生电机器",{"2":{"180":1}}],["甚至用坏三把下界合金锄",{"2":{"250":1}}],["甚至在不同服务器上会得到完全相反的结果",{"2":{"228":1}}],["甚至有可能不是方块",{"2":{"179":1}}],["甚至把原本的名字删除",{"2":{"162":1}}],["直至不可再切分",{"2":{"179":1}}],["直接获取",{"0":{"144":1}}],["直接将下载好的",{"2":{"136":1}}],["直接发送消息即可发送",{"2":{"47":1}}],["判断一台机器是否为生电机器的决定性判据是",{"2":{"178":1}}],["换而言之",{"2":{"177":1}}],["什么是生电机器",{"0":{"178":1}}],["什么是生电",{"0":{"177":1}}],["什么是堆栈追踪",{"2":{"150":1}}],["深湖",{"2":{"173":2}}],["深湖的",{"2":{"173":1}}],["供学习与改进",{"2":{"183":1}}],["供各位运维学习查阅",{"2":{"173":1}}],["供奉着神秘的神明",{"2":{"102":1}}],["供奉着未知的神明",{"2":{"97":1,"119":1}}],["北葵",{"2":{"173":1}}],["北葵的崩溃报告教程而不管他们死活",{"2":{"173":1}}],["北侧的是",{"2":{"97":1,"119":1}}],["玩个原版都有可能崩溃",{"2":{"173":1}}],["玩家只发了日志",{"2":{"145":1}}],["玩家在",{"2":{"135":1}}],["玩家数据",{"2":{"108":1}}],["玩家",{"2":{"39":2}}],["幸运的是",{"2":{"172":1}}],["只能去判断它是否拥有这些限制",{"2":{"228":1}}],["只能删除后重新创建",{"2":{"132":1}}],["只要能保证这两种单片之间不会串线",{"2":{"222":1}}],["只要不去堆叠这种单片",{"2":{"222":1}}],["只是用于保证在物品流峰值保证被吸收",{"2":{"222":1}}],["只在最后的mod",{"2":{"172":1}}],["罪魁祸首在stacktrace中完全没有出现过",{"2":{"172":1}}],["近乎是无厘头的",{"2":{"172":1}}],["圣经",{"0":{"172":1}}],["元凶",{"2":{"170":1}}],["元服务器地址",{"2":{"19":1}}],["嫌疑人",{"2":{"169":1}}],["森林蝙蝠",{"2":{"169":1,"173":4}}],["卸载报告里提到的异常模组",{"2":{"169":1}}],["搞清楚你包里的模组特性",{"2":{"169":1}}],["显卡驱动",{"2":{"169":1}}],["显示",{"2":{"187":1,"191":1}}],["显示服务器状态",{"2":{"48":1}}],["显示fdc的一些统计信息",{"2":{"48":1}}],["显示入服欢迎",{"2":{"41":1}}],["显示该插件的计分板",{"2":{"39":1}}],["显示某个快速计分板",{"2":{"39":1}}],["显示某个任务的详细信息",{"2":{"38":1}}],["显示一个一个统计某个统计内容的快速计分板",{"2":{"39":1}}],["显示stats的帮助信息",{"2":{"39":1}}],["显示完整的任务清单",{"2":{"38":2}}],["显示任务概览",{"2":{"38":2}}],["显示所有在线玩家",{"2":{"28":1}}],["序言",{"0":{"169":1},"1":{"170":1,"171":1}}],["序号后的方括号内为该项需要的技术栈",{"2":{"232":1}}],["序号",{"2":{"30":1,"58":1}}],["另一种方法需要一点点的经验",{"2":{"171":1}}],["另一种方法是删除mod",{"2":{"166":1}}],["另一个例子是在episode2出现的用于讲解的崩溃报告",{"2":{"159":1}}],["另一个可能是有mod损坏",{"2":{"159":1}}],["超出了最大id范围",{"2":{"164":1}}],["说明这个mod写出了bug",{"2":{"163":1}}],["说话",{"2":{"27":1}}],["尤其注意用户名中的中文",{"2":{"162":1}}],["顺带一提",{"2":{"162":1}}],["整合包作者把下载的mod加上中文前缀",{"2":{"162":1}}],["整合包名称",{"2":{"156":1}}],["总之还是很高兴能够在复旦找到归宿",{"2":{"247":1}}],["总是避免不了遇上崩溃",{"2":{"173":1}}],["总有启动器",{"2":{"162":1}}],["总有玩家",{"2":{"162":1}}],["总则",{"0":{"108":1},"2":{"117":1}}],["最大生命值",{"2":{"253":1}}],["最近新加入的王奕飞同学说",{"2":{"247":1}}],["最典型的例子就是刷花机",{"2":{"219":1}}],["最好去找一些简单的生电机器来对照着看",{"2":{"215":1}}],["最好的办法就是删除刚刚安装上的mod",{"2":{"166":1}}],["最小的模块是单个红石元件",{"2":{"179":1}}],["最经典的错误判据是根据该机器所使用的知识来判断该机器是否为生电机器",{"2":{"178":1}}],["最后移动鼠标光标所指的这个槽位的一组物品",{"2":{"211":1}}],["最后对走线进行优化就能得到一台生电机器的原型机",{"2":{"180":1}}],["最后会剩下许多末尾有一对花括号",{"2":{"170":1}}],["最后变成",{"2":{"162":1}}],["最终放弃进行更大规模的推广应用",{"2":{"17":1}}],["奇怪",{"2":{"162":1}}],["被移动的激活的侦测器或避雷针和其他被复制的tnt更新",{"2":{"226":1}}],["被联动的mod的相应类从而抛出异常",{"2":{"162":1}}],["被联动的mod却没有被加载",{"2":{"162":1}}],["被命名为",{"2":{"97":1,"119":1}}],["依旧会生成对应着tnt的",{"2":{"225":1}}],["依赖或者联动",{"2":{"162":1}}],["依照",{"2":{"107":1}}],["却还是报了这个异常",{"2":{"162":1}}],["崩溃解答",{"2":{"162":1}}],["崩溃报告入门",{"2":{"173":6}}],["崩溃报告分类",{"0":{"168":1}}],["崩溃报告开头",{"2":{"148":1}}],["崩溃报告结构",{"0":{"147":1},"1":{"148":1,"149":1,"150":1,"151":1,"152":1,"153":1,"154":1,"155":1,"156":1}}],["崩溃报告和日志究竟在哪里呢",{"2":{"138":1}}],["崩溃报告和日志在哪里",{"0":{"138":1},"1":{"139":1,"140":1,"141":1,"142":1,"143":1,"144":1}}],["崩溃报告",{"0":{"87":1}}],["乱改文件名",{"0":{"162":1}}],["那么生成一个点燃的tnt实体的同时",{"2":{"225":1}}],["那么",{"2":{"222":2,"236":1}}],["那么有什么办法能提升漏斗的平均效率",{"2":{"222":1}}],["那么这个崩溃同样是这个类型",{"2":{"160":1}}],["那么应该如何找到报错",{"2":{"145":1}}],["解锁条件",{"2":{"253":1}}],["解决方案也比较单一",{"2":{"172":1}}],["解决方案是将mc安装在一个没有中文名的文件目录中",{"2":{"162":1}}],["解决方案是将相应的mod的名字改成它原本的样子",{"2":{"162":1}}],["解决方法",{"0":{"166":1,"168":1}}],["解决方法是将mod给禁用掉并在github上提issue",{"2":{"163":1}}],["解决方法是重新下载安装相应的mod",{"2":{"159":1}}],["解决方法也很简单",{"2":{"158":1}}],["解压压缩包",{"0":{"143":1}}],["顾名思义",{"2":{"157":1,"205":1,"228":1}}],["忘却之刻",{"2":{"156":1}}],["唯一要注意的是在client的崩溃报告中会出现这么个东西",{"2":{"156":1}}],["通讯员",{"2":{"247":1}}],["通讯",{"0":{"247":1},"2":{"233":1}}],["通常会使用珊瑚扇来给予tnt方块更新",{"2":{"226":1}}],["通常有三种方案",{"2":{"221":1}}],["通常由机器决定",{"2":{"208":1}}],["通常1就足够了",{"2":{"200":1}}],["通常",{"2":{"183":1,"228":1}}],["通常来说",{"2":{"179":1}}],["通常这些东西并不重要",{"2":{"156":1}}],["通用",{"2":{"190":1}}],["通用中",{"2":{"188":1}}],["通用解决方法",{"0":{"171":1}}],["通用分析方法",{"0":{"170":1}}],["通过复制tnt来爆破方块",{"2":{"224":1}}],["通过在仙人掌旁边放置方块",{"2":{"180":1}}],["通过一定的方式放置仙人掌的阵列",{"2":{"180":1}}],["通过查阅资料",{"2":{"180":1}}],["通过离线账户可以无需付钱即可游玩",{"2":{"135":1}}],["通过这个账号",{"2":{"135":1}}],["通过",{"2":{"135":1}}],["通过不同的域名进入联合大厅",{"2":{"19":1}}],["通过接入联合大厅",{"2":{"17":1}}],["通过对基本电路理论的学习与实践",{"2":{"6":1}}],["通过对奇幻场景的构建",{"2":{"6":1}}],["通过对中国古典建筑结构的学习",{"2":{"6":1}}],["通过建筑美学设计",{"2":{"0":1,"6":1}}],["=",{"2":{"155":9,"156":1,"234":1}}],["寻找相应的文件名",{"2":{"155":1}}],["操作系统",{"2":{"154":1}}],["要注意的是",{"2":{"150":1}}],["因为你可能找错了罪魁凶手",{"2":{"171":1}}],["因为forge官方与许多mod作者做出了妥协",{"2":{"162":1}}],["因为有时候报错表述并不能提供什么有效信息",{"2":{"150":1}}],["因此被广泛运用于许多机器上",{"2":{"228":1}}],["因此玩家常在活塞运动前使tnt处于bud态",{"2":{"227":1}}],["因此能够应对物品数量波动较大的物品流",{"2":{"222":1}}],["因此这种单片不能够堆叠",{"2":{"222":1}}],["因此这次崩溃的",{"2":{"170":1}}],["因此在设计接受冲击流的物品收集模块时",{"2":{"219":1}}],["因此学会灵活放置能极大地方便搭建",{"2":{"201":1}}],["因此建议设置一个快捷键",{"2":{"197":1}}],["因此了解学习他人的设计是必不可少的一环",{"2":{"183":1}}],["因此作为一名生电玩家",{"2":{"182":1}}],["因此一般会在整合包刚开始组建时就安装上",{"2":{"166":1}}],["因此一旦物品过多",{"2":{"165":1}}],["因此不建议将mc安装在用户文件夹下",{"2":{"162":1}}],["因此目前见到的这种情况的崩溃非常少",{"2":{"158":1}}],["因此此处出现的是mod",{"2":{"153":1}}],["因此",{"2":{"108":2}}],["很有可能就是因此引起的",{"2":{"162":1}}],["很多时候直接删除并不是个好主意",{"2":{"171":1}}],["很多时候连mod也无法更改",{"2":{"150":1}}],["很多玩家并不知道如何在崩溃报告去寻找这个记录",{"2":{"169":1}}],["很多启动器",{"2":{"158":1}}],["很实用",{"2":{"137":1}}],["堆栈追踪",{"0":{"150":1}}],["阐述解决崩溃的方法",{"2":{"149":1}}],["报错描述是进行报告诊断的重要依据",{"2":{"149":1}}],["报错描述",{"0":{"149":1}}],["随机生成的一句话",{"2":{"148":1}}],["随意取用",{"2":{"111":1}}],["|done",{"2":{"155":1}}],["|",{"0":{"175":1,"176":1,"181":1,"184":1,"215":1,"217":1,"223":1,"247":1,"249":1,"254":1},"1":{"176":1,"177":2,"178":2,"179":2,"180":2,"181":1,"182":2,"183":2,"184":1,"185":2,"186":2,"187":2,"188":2,"189":2,"190":2,"191":2,"192":2,"193":2,"194":2,"195":2,"196":2,"197":2,"198":2,"199":2,"200":2,"201":2,"202":2,"203":2,"204":2,"205":2,"206":2,"207":2,"208":2,"209":2,"210":2,"211":2,"212":2,"213":2,"214":2,"216":1,"217":1,"218":2,"219":2,"220":2,"221":2,"222":2,"223":1,"224":2,"225":2,"226":2,"227":2,"228":2,"229":2,"230":2,"250":1,"251":1,"252":1,"253":1},"2":{"155":15,"233":4}}],["|unijourney",{"2":{"147":1}}],["|universe",{"2":{"147":1}}],["|36",{"2":{"147":1}}],["|forge",{"2":{"147":1}}],["|mekanism",{"2":{"155":2}}],["|manifest",{"2":{"147":3,"155":1}}],["|minecraft",{"2":{"147":2}}],["|none",{"2":{"147":4}}],["|10",{"2":{"155":1}}],["|1",{"2":{"147":1}}],["\\t|",{"2":{"155":2}}],["\\t",{"2":{"153":1}}],["\\tforge",{"2":{"147":1}}],["\\tfml",{"2":{"147":2}}],["\\tfailure",{"2":{"147":1,"153":1,"158":1}}],["\\t\\tcurrently",{"2":{"158":1}}],["\\t\\tclient",{"2":{"147":1}}],["\\t\\tresources",{"2":{"147":1}}],["\\t\\tforge",{"2":{"147":1}}],["\\t\\tminecraft",{"2":{"147":1}}],["\\t\\tjavafml",{"2":{"147":1}}],["\\t\\t",{"2":{"147":9}}],["\\tjvm",{"2":{"147":1}}],["\\tjava",{"2":{"147":2}}],["\\tcpus",{"2":{"147":1}}],["\\toperating",{"2":{"147":1}}],["\\tmemory",{"2":{"147":1}}],["\\tminecraft",{"2":{"147":2}}],["\\tmodlauncher",{"2":{"147":4}}],["\\tmod",{"2":{"147":4,"153":1,"158":1}}],["\\texception",{"2":{"147":1}}],["\\tat",{"2":{"147":45,"150":2,"152":1,"158":8,"170":2}}],["~",{"2":{"147":33,"150":1,"152":1,"158":6,"244":1}}],["~~图片挂了",{"2":{"47":1}}],["~~在fdc内",{"2":{"47":1}}],["~~现在都可以了",{"2":{"47":1}}],["~~q群内仅能发送",{"2":{"47":1}}],["例如",{"2":{"180":1}}],["例如因为id错乱一种方块全部变成了另一种方块",{"2":{"166":1}}],["例如在fml发生的错误往往是forge损坏",{"2":{"146":1}}],["例如一个美丽的刷石机",{"2":{"113":1}}],["打开合成收藏界面",{"2":{"212":1}}],["打开tweakeroo的配置界面",{"2":{"194":1}}],["打开这份日志",{"2":{"145":1}}],["打开mc安装目录",{"2":{"144":1}}],["导致旁边分类单片损坏",{"2":{"222":1}}],["导致不知道哪个文件是哪个mod",{"2":{"162":1}}],["导致你的文本编辑器卡死",{"2":{"145":1}}],["导出崩溃报告",{"2":{"141":1}}],["导出游戏崩溃信息",{"2":{"140":1}}],["假设我们面前有一份崩溃报告",{"2":{"145":1}}],["假定现在我们有一个crash",{"2":{"145":1}}],["假人钓鱼",{"2":{"55":1}}],["假人补货",{"2":{"55":1}}],["假人",{"2":{"55":1}}],["假人的总指令为",{"2":{"36":1}}],["假人指令",{"0":{"36":1}}],["认识生电",{"0":{"176":1},"1":{"177":1,"178":1,"179":1,"180":1}}],["认识崩溃报告",{"0":{"145":1},"1":{"146":1,"147":1,"148":1,"149":1,"150":1,"151":1,"152":1,"153":1,"154":1,"155":1,"156":1}}],["认证服务器是一个用以代替",{"2":{"135":1}}],["认证服务器地址为",{"2":{"257":1}}],["认证服务器地址",{"2":{"11":1}}],["此锄头经过日以继夜的锻造竟无法对它造成分毫损毁",{"2":{"253":1}}],["此外在加载原理图界面选中原理图后点击材料列表也可以显示这个界面",{"2":{"191":1}}],["此外还经常伴随空指针异常java",{"2":{"160":1}}],["此外",{"2":{"155":1,"173":1,"190":1,"222":1}}],["此处可以修改时间间隔",{"2":{"208":1}}],["此处可以调整每gt",{"2":{"200":1}}],["此处为v",{"2":{"193":1}}],["此处为z",{"2":{"193":1}}],["此处为鼠标右键",{"2":{"190":1}}],["此处为y开关",{"2":{"190":1}}],["此处为上下",{"2":{"189":1}}],["此处为l",{"2":{"189":1}}],["此处的stacktrace通常就是最顶上的那个堆栈追踪",{"2":{"152":1}}],["此处id",{"2":{"132":1}}],["此时需要按下m+l",{"2":{"192":1}}],["此时就需要改变显示模式",{"2":{"189":1}}],["此时就需要重新安装forge",{"2":{"159":1}}],["此时加上jeid或者neid就有损坏存档的风险",{"2":{"166":1}}],["此时你需要翻到这里",{"2":{"155":1}}],["此时应该谨慎下载",{"2":{"145":1}}],["此时日志就成为了诊断的依据",{"2":{"144":1}}],["看到墓地功能很感慨",{"2":{"247":1}}],["看到这里已经可以照着上面的去做",{"2":{"141":1}}],["看看这个玩家的mod文件名是什么",{"2":{"162":1}}],["看看这里都有哪些建筑",{"2":{"104":1}}],["看看哪些玩家居住在村庄",{"2":{"102":1}}],["看看会显示什么",{"2":{"97":1}}],["日与夜",{"2":{"253":1}}],["日接到来自",{"2":{"248":1}}],["日",{"2":{"233":8,"244":2,"254":1,"255":1}}],["日志没有完全导出而有缺少",{"2":{"143":1}}],["日志",{"2":{"140":1,"143":1}}],["日月港",{"2":{"120":1}}],["面对崩溃时",{"2":{"169":1}}],["面向运维",{"0":{"142":1},"1":{"143":1,"144":1}}],["面向普通玩家",{"0":{"139":1},"1":{"140":1,"141":1}}],["面朝下方按潜行键即可召唤",{"2":{"59":1}}],["好",{"2":{"138":1}}],["必学",{"2":{"217":1}}],["必看",{"2":{"186":1}}],["必定与渲染无关",{"2":{"170":1}}],["必要的时候你也可以打出下面这张图",{"2":{"138":1}}],["必须",{"2":{"110":1,"111":1}}],["必须使用附魔有锋利v横扫之刃iii抢夺iii经验修补的钻石剑或下界合金剑攻击",{"2":{"74":1}}],["给他人",{"2":{"138":1}}],["截图",{"2":{"138":1}}],["才能知道究竟报了啥错",{"2":{"138":1}}],["想要诊断崩溃报告和日志",{"2":{"138":1}}],["工具人",{"2":{"247":1}}],["工具",{"2":{"244":1}}],["工具的使用",{"0":{"184":1},"1":{"185":1,"186":1,"187":1,"188":1,"189":1,"190":1,"191":1,"192":1,"193":1,"194":1,"195":1,"196":1,"197":1,"198":1,"199":1,"200":1,"201":1,"202":1,"203":1,"204":1,"205":1,"206":1,"207":1,"208":1,"209":1,"210":1,"211":1,"212":1,"213":1,"214":1}}],["工具耐久不够时",{"2":{"137":1}}],["工业区是fdcraft最活跃的地方之一",{"2":{"101":1}}],["工业区北站附近还有很多有趣的建筑",{"2":{"101":1}}],["工业区北站的南面是工业区",{"2":{"101":1}}],["工业区北站",{"2":{"100":1}}],["工业区共用地狱门",{"2":{"62":1,"63":1}}],["工业区",{"0":{"101":1},"2":{"62":1,"63":1,"64":1,"130":1}}],["容器预览",{"0":{"206":1}}],["容器的物品",{"2":{"137":1}}],["容器",{"2":{"137":1}}],["老牌小地图模组",{"2":{"137":1}}],["旅行地图",{"2":{"137":1}}],["较为流行",{"2":{"137":1}}],["具有非常丰富的可自定义项目",{"2":{"137":1}}],["具体教程可以自行b站搜索tweakeroo",{"2":{"137":1}}],["具体见帮助",{"2":{"48":1}}],["具体见旦星一号",{"2":{"32":1}}],["具体版本详见群内s相关公告",{"2":{"15":1}}],["具体版本详见群内小游戏相关公告",{"2":{"13":1}}],["稍有学习成本的一个进阶小地图模组",{"2":{"137":1}}],["世界初生建设",{"2":{"233":1}}],["世界地图",{"2":{"137":1}}],["世界树的故事",{"0":{"258":1}}],["世界树将枝条伸向穹顶",{"2":{"243":1}}],["世界树神社",{"2":{"237":1}}],["世界树",{"2":{"237":1}}],["世界树之渊",{"0":{"237":1},"2":{"97":1,"119":1,"123":1,"237":1,"242":1,"243":1}}],["世界树与新的旅程",{"0":{"97":1,"119":1}}],["萌新易上手",{"2":{"137":1}}],["~",{"2":{"137":1}}],["适用于",{"2":{"137":2}}],["体积更大",{"2":{"222":1}}],["体积较大",{"2":{"219":1}}],["体素地图",{"2":{"137":1}}],["体验提供了一种新方式",{"2":{"136":1}}],["链接",{"2":{"137":1}}],["完全使用原版指令",{"2":{"136":1}}],["配方",{"2":{"136":1}}],["谓词",{"2":{"136":1}}],["函数",{"2":{"136":1}}],["界面即可开关材质包",{"2":{"136":1}}],["界面也更加美观简洁",{"2":{"135":1}}],["然后便在群相册中的",{"2":{"247":1}}],["然后",{"2":{"225":1}}],["然后把导出的压缩包整个发到kook",{"2":{"140":1,"141":1}}],["然后在启动器内刷新",{"2":{"136":1}}],["然后从气泡柱立刻上来砍",{"2":{"69":1}}],["第三方启动器",{"2":{"135":1}}],["第一个庇护所",{"0":{"105":1}}],["第一天",{"0":{"96":1,"118":1},"1":{"97":1,"98":1,"99":1,"100":1,"101":1,"102":1,"103":1,"104":1,"105":1,"106":1,"119":1,"120":1,"121":1,"122":1,"123":1,"124":1},"2":{"77":1,"106":1,"124":1}}],["衍生的其他游戏",{"2":{"135":1}}],["启动",{"2":{"135":1}}],["启动器可以看做是一个连接了账号和游戏本体文件的多功能平台",{"2":{"135":1}}],["启动器中",{"2":{"135":1}}],["启动器",{"2":{"135":2}}],["官方启动器",{"2":{"135":1}}],["官网写的最低要求",{"2":{"77":1}}],["官网文档编辑",{"2":{"75":1}}],["官网",{"2":{"2":1}}],["后来由服主郭虹麟同学提出的",{"2":{"247":1}}],["后来笔者上线没有以前那么多了",{"2":{"247":1}}],["后文将在川川的教程上进行补充",{"2":{"217":1}}],["后文将在肥啾的教程上补充",{"2":{"186":1}}],["后续讲解",{"2":{"187":1,"196":1}}],["后面会介绍一些相对通用的物品采集模块",{"2":{"223":1}}],["后面按照报错描述对崩溃报告进行分类时会详细讲解这部分",{"2":{"153":1}}],["后面也将按照报错描述对崩溃报告进行分类",{"2":{"149":1}}],["后面的参数不想要更新的不填写即可",{"2":{"132":1}}],["后还需要在",{"2":{"136":1}}],["后产生的的游戏内画面截图",{"2":{"135":1}}],["每16s输出178个矢车菊",{"2":{"219":1}}],["每次从物品栏间移动相同的一组物品",{"2":{"211":1}}],["每次从物品栏间移动一个物品",{"2":{"211":1}}],["每次按下左右键都会点击多次",{"2":{"200":1}}],["每次进入服务器",{"2":{"123":1}}],["每个版本各个方块与生物的特性",{"2":{"182":1}}],["每个地图都是saves下的一个子文件夹",{"2":{"135":1}}],["存放按下",{"2":{"135":1}}],["存放光影文件",{"2":{"135":1}}],["存放存档文件",{"2":{"135":1}}],["存放资源包",{"2":{"135":1}}],["存放模组文件",{"2":{"135":1}}],["存档不能用mcedit编辑等",{"2":{"166":1}}],["存档",{"2":{"135":1}}],["存档所有修改的记录",{"2":{"49":1}}],["文件名",{"0":{"146":1}}],["文件拖入该文件夹下即可",{"2":{"136":1}}],["文件夹中安装",{"2":{"136":1}}],["文件夹内",{"2":{"136":1}}],["文件夹的快捷打开入口",{"2":{"135":1}}],["文件夹来代指该目录文件夹",{"2":{"135":1}}],["文件路径相对于",{"2":{"133":2}}],["均使用",{"2":{"135":1}}],["均可使用",{"2":{"16":1}}],["源文件",{"2":{"135":1}}],["该礼包仅可领取一次",{"2":{"242":1}}],["该文件夹又称为游戏目录",{"2":{"135":1}}],["该文件夹是默认隐藏的",{"2":{"135":1}}],["该机器只可使用锋利iv横扫之刃iii钻石剑以上等级的剑来砍",{"2":{"69":1}}],["结构",{"2":{"136":1}}],["结构显示",{"2":{"56":1}}],["结构显示协议",{"2":{"50":1}}],["结尾的邮箱在",{"2":{"135":1}}],["盗版",{"2":{"135":1}}],["即日起至下一次维护之前",{"2":{"246":1}}],["即日起至下一次维护",{"2":{"242":1}}],["即使是涓流",{"2":{"219":1}}],["即使有",{"2":{"160":1}}],["即支持litematica的version2",{"2":{"201":1}}],["即可在不打开容器的情况下查看里面的物品",{"2":{"206":1}}],["即可在不同的渲染模式中切换",{"2":{"189":1}}],["即可开启printer",{"2":{"193":1}}],["即可查看所需要的材料",{"2":{"191":1}}],["即可跳转到与该名词相关的搜索界面",{"2":{"182":1}}],["即可获得崩溃报告和日志",{"2":{"143":1}}],["即可进入挂机位置",{"2":{"72":1}}],["即可进入联合大厅",{"2":{"19":1}}],["即每个数据包存放于",{"2":{"136":1}}],["即大家常说的的",{"2":{"136":1}}],["即不同版本的游戏使用不同的目录文件夹以防止mod冲突",{"2":{"135":1}}],["即正版账号的认证服务器是",{"2":{"135":1}}],["即只有正版玩家才能进入的",{"2":{"135":1}}],["即所谓的",{"2":{"135":1}}],["密码",{"2":{"135":1}}],["密码即为你的",{"2":{"135":1}}],["所以基本没人愿意去用",{"2":{"135":1}}],["所以无需购买正版账号",{"2":{"135":1}}],["所有游戏模式",{"2":{"256":1}}],["所有物品每格取走一个",{"2":{"211":1}}],["所有物品展示框与盔甲架",{"2":{"111":1}}],["所有的热键都用于切换功能的开关",{"2":{"194":1}}],["所有的观点将会被公平地对待",{"2":{"108":1}}],["所有",{"2":{"188":2,"256":1}}],["所有私人物品",{"2":{"111":1}}],["所有玩家",{"2":{"110":1}}],["所有玩家都可以在此处免费领取一间住房",{"2":{"105":1,"121":1}}],["所有拥有子服的服务器均可以使用",{"2":{"18":1}}],["外置登陆需要使用一个第三方的认证服务器",{"2":{"135":1}}],["外置登陆",{"2":{"135":2}}],["离线账户",{"2":{"135":2}}],["离开家后",{"2":{"105":1,"121":1}}],["离开时直接关闭开关",{"2":{"74":1}}],["正式开放",{"2":{"243":1}}],["正如上文所言",{"2":{"222":1}}],["正如酒石酸所说",{"2":{"138":1}}],["正因为生电机器源自于需求端",{"2":{"180":1}}],["正因此",{"2":{"97":1,"119":1}}],["正确对待文件名的方式依然是不去修改文件名",{"2":{"162":1}}],["正版账号",{"2":{"135":3}}],["三种相互独立的形式",{"2":{"135":1}}],["三个部分组成",{"2":{"135":1}}],["三周目这里暂时没有被使用",{"2":{"97":1}}],["账户进入服务器",{"2":{"256":1}}],["账户登录",{"2":{"16":1,"257":1}}],["账号进入复读世界𒆙服务器",{"2":{"255":1}}],["账号进入",{"2":{"248":1}}],["账号购买游戏后",{"2":{"135":1}}],["账号",{"2":{"135":3}}],["观前提示",{"2":{"134":1}}],["观赏性建筑",{"2":{"130":1}}],["没有崩溃报告的日志的诊断相对困难",{"2":{"145":1}}],["没有则为",{"2":{"144":1}}],["没有像网易版那样的一键安装",{"2":{"134":1}}],["没刷出队长就先上来挂一小会再下去",{"2":{"70":1}}],["对不满盒的处理相对麻烦",{"2":{"221":1}}],["对所有物品进行编码分类打包",{"2":{"221":1}}],["对角",{"2":{"201":1}}],["对准相应区域后按右键",{"2":{"201":2}}],["对准原理图已渲染的方块按下快捷键",{"2":{"190":1}}],["对出现的各类问题经过修复与改进后",{"2":{"180":1}}],["对于这种限制的成因尚不明晰",{"2":{"228":1}}],["对于某个侦测器设计",{"2":{"228":1}}],["对于高效率的机器往往无能为力",{"2":{"221":1}}],["对于大面积的台阶也无能为力",{"2":{"193":1}}],["对于所有渲染问题",{"2":{"171":1}}],["对于低版本的forge来说",{"2":{"155":1}}],["对于minecraft来说",{"2":{"150":1}}],["对于首次入坑",{"2":{"134":1}}],["对一些常用的基础辅助模组的介绍",{"2":{"134":1}}],["对公约进行规范语意化",{"2":{"117":1}}],["真",{"0":{"134":1},"1":{"135":1,"136":1,"137":1}}],["真实姓名的格式编辑自己的群名片",{"2":{"110":1}}],["清除角列表",{"2":{"133":1}}],["清除某个任务的ddl",{"2":{"38":1}}],["添加指定标签和",{"2":{"133":1}}],["添加指定标签的新记号集",{"2":{"133":1}}],["添加一个任务与其描述",{"2":{"38":1}}],["图例",{"0":{"216":1}}],["图标",{"2":{"133":3}}],["图片",{"0":{"34":1},"2":{"47":1}}],["命令",{"2":{"133":1}}],["命令进入各高校服务器游玩",{"2":{"19":1}}],["非空气",{"2":{"188":2}}],["非必要时请不要旋转机器的原理图",{"2":{"187":1}}],["非集群的建筑",{"2":{"130":1}}],["非集群的机器",{"2":{"130":1}}],["非常多在游戏过程中发生的崩溃中",{"2":{"169":1}}],["非常多mod使用了mixin",{"2":{"162":1}}],["非常多的玩家在此建造自己的别墅与观赏建筑",{"2":{"104":1}}],["非常好用的分锅插件",{"2":{"38":1}}],["双维度机器相应的下界端id为individual",{"2":{"130":2}}],["双核沼泽史莱姆农场",{"0":{"71":1}}],["沙漠聚居点",{"2":{"130":1}}],["沙漠定居点附近",{"2":{"73":1}}],["分布在",{"2":{"234":1}}],["分布式",{"2":{"6":1}}],["分割线",{"0":{"151":1}}],["分组",{"2":{"130":3}}],["理论上不需要这些参数也可以添加标记点",{"2":{"130":1}}],["警告",{"2":{"129":1,"144":1,"145":1}}],["旦星二号将展现像素",{"2":{"256":1}}],["旦星二号正准备发射",{"2":{"256":1}}],["旦星是",{"2":{"127":1}}],["旦星",{"0":{"127":1},"1":{"128":1,"129":1,"130":1,"131":1,"132":1,"133":1}}],["旦星一号使用dynmap自带的",{"2":{"129":1}}],["旦星一号重新上线",{"2":{"128":1}}],["旦星一号",{"0":{"32":1,"128":1},"1":{"129":1,"130":1,"131":1,"132":1,"133":1},"2":{"98":1,"101":1,"102":1,"103":1,"111":1,"128":1}}],["频繁变更",{"2":{"126":4}}],["频道",{"2":{"76":1}}],["频道内发送",{"2":{"48":1}}],["8d",{"2":{"254":2}}],["850438",{"2":{"232":1}}],["8开始指令使用字符串id",{"2":{"165":1}}],["8a",{"2":{"147":1}}],["8c",{"2":{"147":2}}],["82",{"2":{"147":2}}],["84950",{"2":{"126":1}}],["8",{"2":{"126":2,"147":24,"154":1,"155":2,"235":2,"247":1}}],["873",{"2":{"67":1}}],["0更新纪念龙蛋",{"2":{"242":1}}],["03",{"2":{"170":1}}],["0的数字id与metadata的组合来标识物品与方块",{"2":{"165":1}}],["07",{"2":{"159":1}}],["00",{"2":{"158":1}}],["05",{"2":{"158":1,"159":1}}],["0a",{"2":{"147":1}}],["04",{"2":{"147":1,"156":1}}],["01",{"2":{"146":2,"147":1,"159":1}}],["02",{"2":{"144":1,"146":2}}],["06",{"2":{"144":1,"146":2}}],["0",{"0":{"236":1,"257":1},"1":{"237":1,"238":1,"239":1,"240":1,"241":1,"242":1},"2":{"126":4,"130":2,"147":16,"154":2,"155":2,"158":2,"165":1,"233":2,"235":4,"236":1}}],["当时群内就社团起名一事展开了激烈讨论",{"2":{"247":1}}],["当时服务器主城的西边还是未开发之地",{"2":{"247":1}}],["当晚",{"2":{"247":1}}],["当同类物品都移走之后",{"2":{"211":1}}],["当手上的东西快使用完时",{"2":{"204":1}}],["当下面的选项打开时",{"2":{"190":1}}],["当简单放置开启时",{"2":{"190":1}}],["当原理图被放下时",{"2":{"187":2}}],["当你能够维修乃至改进这些机器时",{"2":{"183":1}}],["当四周有方块时会变为物品",{"2":{"180":1}}],["当一个mod向mc加入",{"2":{"165":1}}],["当发生这个错误时",{"2":{"160":1}}],["当前版本",{"2":{"126":1}}],["当然你也可以通过bing来知道这些东西是什么",{"2":{"170":1}}],["当然你也可以选择那些已经装修好的建筑入住",{"2":{"105":1}}],["当然没有找到也是正常的",{"2":{"145":1}}],["当然",{"2":{"106":1,"123":1,"124":1,"138":1}}],["名称",{"2":{"126":1}}],["今天运势如何",{"0":{"123":1}}],["摆放在家中",{"2":{"121":1}}],["而有些是两者都复制",{"2":{"226":1}}],["而tnt方块也就重新生成",{"2":{"225":1}}],["而且随着输入的物品变化而变化",{"2":{"221":1}}],["而且这个mod往往是个核心mod",{"2":{"161":1}}],["而对于刷花机这样一个小巧的机器来说",{"2":{"219":1}}],["而一个漏斗单次只能吸收23~26个物品",{"2":{"219":1}}],["而直接在旁边放下方块",{"2":{"198":1}}],["而真正踏入生电的大门往往是从借鉴他人的机器开始的",{"2":{"183":1}}],["而需要对游戏机制与常用模块的功能相当熟悉",{"2":{"180":1}}],["而仙人掌通过自然生长再生",{"2":{"180":1}}],["而将一台原型机经过生存实装",{"2":{"180":1}}],["而每个小机器又可被切分为更小的模块",{"2":{"179":1}}],["而数字id是有上限的",{"2":{"165":1}}],["而metadata被废弃",{"2":{"165":1}}],["而1",{"2":{"165":1}}],["而加载顺序的混乱导致了崩溃的发生",{"2":{"162":1}}],["而出错千奇百怪的整合包会被pl列入黑名单直接劝退",{"2":{"156":1}}],["而这也是mc崩溃的独特之处",{"2":{"150":1}}],["而server则表明发生错误的是服务端",{"2":{"146":1}}],["而是需要结合机器的运行周期来计算",{"2":{"219":1}}],["而是间隔一段时间后输出大量物品",{"2":{"219":1}}],["而是先进行重复行的处理",{"2":{"145":1}}],["而是希望大家前往日月港或光华原进一步开荒",{"2":{"120":1}}],["而不一定要删除相应的mod",{"2":{"171":1}}],["而不是急冲冲地去打开",{"2":{"145":1}}],["而不进行任何代码修改",{"2":{"136":1}}],["而压缩包则是历史日志",{"2":{"144":1}}],["而各服务器",{"2":{"47":1}}],["夜游服务器的感受还是很棒的",{"2":{"247":1}}],["夜晚时分",{"2":{"120":1}}],["夜寒的中世纪建筑教程",{"2":{"83":1}}],["金色宝箱",{"2":{"235":1}}],["金合欢三无",{"0":{"229":1}}],["金合欢选择按钮一",{"2":{"64":1}}],["金牛村上空漂浮着的点点烛光显得格外浪漫",{"2":{"120":1}}],["金牛村主要由",{"2":{"120":1}}],["金牛村",{"2":{"120":1}}],["到了并行的其他的红石",{"2":{"222":1}}],["到站后",{"2":{"120":3}}],["到袭击塔后会出发袭击",{"2":{"74":1}}],["神樱的视觉效果很震撼",{"2":{"247":1}}],["神樱町有许多以前的大家留下的痕迹",{"2":{"120":1}}],["神樱町",{"2":{"120":1}}],["神樱位于",{"2":{"120":1}}],["神樱是世界树的枝条在复读大陆绽放的结果",{"2":{"120":1}}],["神樱站",{"2":{"120":1}}],["神樱与复读大陆",{"0":{"120":1}}],["神殿内供奉着一位神秘的神明",{"2":{"104":1}}],["任意拜访一个公共功能性建筑并试用",{"2":{"122":1}}],["任务奖励",{"0":{"251":1},"1":{"252":1,"253":1}}],["任务内容",{"0":{"250":1}}],["任务9",{"2":{"121":1}}],["任务8",{"2":{"121":1}}],["任务7",{"2":{"121":1}}],["任务6",{"2":{"120":1}}],["任务5",{"2":{"120":1}}],["任务4",{"2":{"120":1}}],["任务3",{"2":{"120":1}}],["任务2",{"2":{"119":1}}],["任务11",{"2":{"123":1}}],["任务10",{"2":{"122":1}}],["任务1",{"2":{"119":1}}],["任何不破坏他人游戏体验的行为都是被允许的",{"2":{"109":1,"117":1}}],["任何人均可以批注",{"2":{"108":1}}],["任何玩家无权追查公共容器内物品去向及用途",{"2":{"111":1}}],["任何玩家有权要求基岩社工具人团队清除其在fdcraft",{"2":{"108":1}}],["任何玩家一旦进入fdcraft",{"2":{"108":1}}],["属于功能性建筑的一部分",{"2":{"117":1}}],["条目",{"2":{"117":2}}],["增加",{"2":{"116":1,"117":2}}],["增进友谊",{"2":{"110":1}}],["修复了游戏内无法使用",{"2":{"239":1}}],["修复了",{"2":{"239":1}}],["修复了每次登录时会提示",{"2":{"239":1}}],["修复了旦星一号卫星地图不能正常显示的问题",{"2":{"239":1}}],["修改天气的权限",{"2":{"256":1}}],["修改行走或飞行速度",{"2":{"256":1}}],["修改了相关的逻辑",{"2":{"162":1}}],["修改某个任务的描述",{"2":{"38":1}}],["修订说明",{"0":{"115":1},"1":{"116":1,"117":1}}],["备注",{"2":{"126":1}}],["备份甲方的机器",{"2":{"114":1}}],["备用地址",{"2":{"21":1}}],["拆除申请提交经工具人团队审核通过后的7天内",{"2":{"114":1}}],["向基岩社工具人团体提交拆除申请",{"2":{"114":1}}],["乙方",{"2":{"114":1}}],["乙方的生电用地需求与甲方未完成的",{"2":{"114":1}}],["改变显示的y高度",{"2":{"189":1}}],["改成了",{"2":{"136":1}}],["改进等流程未完成",{"2":{"114":1}}],["改造前哨站",{"0":{"70":1}}],["滥用公共资源等情况",{"2":{"111":1}}],["公共景观",{"2":{"113":1}}],["公共容器内物品",{"2":{"111":1}}],["公众号运营",{"2":{"75":1}}],["放置方块时不会与箱子",{"2":{"198":1}}],["放置图片",{"2":{"34":1}}],["放到私人容器中",{"2":{"111":1}}],["应对这种物品流",{"2":{"221":1}}],["应当与甲方积极沟通",{"2":{"114":1}}],["应该",{"2":{"111":1}}],["应用能源ii",{"2":{"5":1}}],["木桶",{"2":{"111":1,"217":1}}],["投放总数",{"2":{"235":1}}],["投影",{"0":{"186":1},"1":{"187":1,"188":1,"189":1,"190":1,"191":1,"192":1,"193":1}}],["投掷器",{"2":{"111":1,"198":1}}],["投入推广使用的背景下",{"2":{"17":1}}],["机制",{"2":{"232":1}}],["机器运行时不可或缺的容器",{"2":{"117":1}}],["机器运行时不可或缺的特殊容器除外",{"2":{"111":1}}],["机械动力",{"2":{"5":1}}],["无法破坏の锄头",{"2":{"253":1}}],["无法使用的问题",{"2":{"239":1}}],["无方向坐标限制等",{"2":{"229":1}}],["无实体而方便建造",{"2":{"228":1}}],["无",{"2":{"188":2}}],["无非是比有模组时少一点罢了",{"2":{"173":1}}],["无效的id",{"2":{"164":1}}],["无论是面对着大大小小的服务器",{"2":{"173":1}}],["无论其是否崩溃",{"2":{"144":1}}],["无论在哪的私宅",{"2":{"130":1}}],["无版本隔离",{"2":{"135":1}}],["无标识的既不处于私人空间也不处于公共设施处的容器",{"2":{"111":1}}],["无需一个个查找服务器地址",{"2":{"17":1}}],["明确",{"2":{"117":1}}],["明显告示为私人所有的容器",{"2":{"111":1}}],["明信片等的制作",{"2":{"3":1}}],["未命名新主城",{"2":{"234":1}}],["未命名新居民区",{"2":{"234":1}}],["未完成工程处容器",{"2":{"111":1}}],["未来的旅程充满未知与惊喜",{"2":{"96":1,"106":1,"124":1}}],["私宅",{"2":{"130":1}}],["私人容器内物品",{"2":{"111":1}}],["私人容器的所有者为容器所在建筑的所有者",{"2":{"111":1}}],["私人容器包括个人住宅内容器",{"2":{"111":1}}],["私聊工具人等形式对本公约提出建议",{"2":{"108":1}}],["关于stacktrace",{"2":{"150":1}}],["关于生电用地冲突的约定",{"0":{"112":1},"1":{"113":1,"114":1}}],["关于服务器公共资源与私有资源的约定",{"0":{"111":1},"2":{"117":1}}],["关于服务器属性",{"0":{"109":1}}],["关于群名片的约定",{"0":{"110":1}}],["关闭活板门蹲着进入",{"2":{"74":1}}],["关闭相应的hud",{"2":{"30":1,"58":1}}],["事无巨细的规范",{"2":{"108":1}}],["共",{"2":{"234":1}}],["共需要10个漏斗收集物品",{"2":{"219":1}}],["共产主义",{"2":{"108":1}}],["共享原理图",{"2":{"50":1,"56":1}}],["社长",{"2":{"248":1}}],["社会主义",{"2":{"108":1}}],["社团的核心运营者建立了",{"2":{"247":1}}],["社团落成合影",{"2":{"247":1}}],["社团权力与玩家权力",{"2":{"117":1}}],["社团核心部门的工作受到所有社团成员的监督并接受所有成员的反馈",{"2":{"7":1}}],["社团工作方面",{"2":{"7":1}}],["资料的查询",{"0":{"181":1},"1":{"182":1,"183":1}}],["资源网站",{"2":{"136":1}}],["资源包",{"2":{"136":1}}],["资源包etc",{"2":{"135":1}}],["资源站的日常运营维护",{"2":{"2":1}}],["资本主义",{"2":{"108":1}}],["封禁用户中心账号",{"2":{"108":1}}],["禁止进入fdcraft所有服务器",{"2":{"108":1}}],["禁止破坏地板",{"2":{"105":1}}],["原理",{"0":{"225":1}}],["原理图自带的染色并不能精确反映其是否影响机器",{"2":{"192":1}}],["原理图验证",{"0":{"192":1},"2":{"192":1}}],["原理图为空气",{"2":{"188":1}}],["原理图有方块",{"2":{"188":1}}],["原理图编辑",{"2":{"187":1}}],["原本依靠metadata区分的同id方块被拆分成不同字母id",{"2":{"165":1}}],["原因",{"0":{"165":1}}],["原文",{"2":{"107":1}}],["原版生存",{"2":{"21":1,"23":1,"248":1}}],["了解学习他人的设计",{"0":{"183":1}}],["了解更多服务器的指令",{"2":{"105":1,"121":1}}],["了解各个传送门通向的世界",{"2":{"97":1,"119":1}}],["阳台的四格草方块可以种植植物",{"2":{"105":1}}],["天花板可以破坏至多一格深",{"2":{"105":1}}],["格式与位置参见其他已被领取的楼层",{"2":{"105":1}}],["找到了两个相关",{"2":{"162":1}}],["找到的崩溃报告与日志有可能是不匹配的",{"2":{"144":1}}],["找到crash",{"2":{"144":1}}],["找到第一个没有被认领的楼层",{"2":{"105":1}}],["找人白嫖",{"2":{"100":1,"120":1}}],["告示牌x1",{"2":{"105":1}}],["作为新建minecraft社团的服务器服主",{"2":{"247":1}}],["作为最常使用的tnt复制",{"2":{"229":1}}],["作为运维",{"2":{"173":1}}],["作为一个正常的程序",{"2":{"144":1}}],["作为自己的初始小屋",{"2":{"105":1,"121":1}}],["作物收获",{"0":{"60":1}}],["他庇护着服务器的玩家",{"2":{"104":1}}],["沿路向东走到底",{"2":{"104":1}}],["沿着围绕树干的小路向上走",{"2":{"97":1,"119":1}}],["住宅区是一片广阔的区域",{"2":{"104":1}}],["住宅区",{"0":{"104":1},"2":{"130":1}}],["下面是一种常见的ab大吸力分类单片",{"2":{"222":1}}],["下面是一个比较典型的崩溃报告",{"2":{"147":1}}],["下面是本节结论的推导过程",{"2":{"222":1}}],["下文所说的ctrl",{"2":{"210":1}}],["下文提到的所有mod的汉化包下载地址",{"2":{"184":1}}],["下午5",{"2":{"147":1,"148":1}}],["下",{"2":{"136":1,"211":1}}],["下载页面",{"2":{"193":1}}],["下载下来是什么就是什么",{"2":{"162":1}}],["下载模组的常用网站有国外的",{"2":{"136":1}}],["下载各个游戏版本",{"2":{"135":1}}],["下界合金锄",{"2":{"253":1}}],["下界合金锄头x1",{"2":{"252":1}}],["下界合金锭x2",{"2":{"252":1}}],["下界之星社",{"2":{"247":1}}],["下界传送门",{"2":{"130":1}}],["下界",{"2":{"130":1}}],["下界交通可以到达雪原",{"2":{"103":1}}],["下方的表格列出了现有的接入点",{"2":{"19":1}}],["就需要打开下面的这个选项",{"2":{"202":1}}],["就算你什么模组也不加",{"2":{"173":1}}],["就表明程序出现了循环而不断打印日志",{"2":{"145":1}}],["就说明这种分析方法成功了",{"2":{"170":1}}],["就说",{"2":{"138":1}}],["就可以看到被成功安装的模组",{"2":{"136":1}}],["就是额外植物学和小女仆",{"2":{"170":1}}],["就是最近一次崩溃的崩溃报告",{"2":{"144":1}}],["就是和正版账号相互独立的外置登陆账号",{"2":{"135":1}}],["就是出生点小镇",{"2":{"99":1}}],["就来到了物品仓库",{"2":{"104":1}}],["就能自动地破坏方块",{"2":{"224":1}}],["就能得到一种相对成熟的ab大吸力分类单片设计",{"2":{"222":1}}],["就能得到一台原型机",{"2":{"180":1}}],["就能保证两种单片之间不会串线",{"2":{"222":1}}],["就能将手上的方块切换到对应的方块并放置下来",{"2":{"190":1}}],["就能直接来到住宅区的下界传送门广场",{"2":{"104":1}}],["就能能来到远东的雪原区",{"2":{"103":1}}],["雪原区主要是一些与雪有关的建筑",{"2":{"103":1}}],["雪原区暂未开通",{"2":{"103":1}}],["雪原区",{"0":{"103":1}}],["雪月花",{"2":{"31":1}}],["经常性去wiki查阅便成为了重要的一环",{"2":{"182":1}}],["经过了多次改建后变成了现在的中世纪建筑",{"2":{"102":1}}],["经验吸收无冷却",{"2":{"55":1}}],["位于世界树以北",{"2":{"237":1}}],["位于世界树以东",{"2":{"237":1}}],["位于",{"2":{"237":1}}],["位于通用",{"2":{"208":1}}],["位于通用配置",{"2":{"200":1,"201":1,"202":1}}],["位于列表",{"2":{"196":1}}],["位于顶部底部",{"2":{"190":1}}],["位于配置界面",{"2":{"189":1,"190":2,"193":1}}],["位于西面的是开荒仓库",{"2":{"102":1}}],["位置",{"2":{"62":1,"63":1,"64":1,"65":1,"66":1,"67":1,"68":1,"69":1,"70":1,"71":1,"72":1,"73":1,"74":1,"187":1,"244":1}}],["回到地铁站",{"2":{"102":1}}],["村庄是fdc的第一个大型聚集地",{"2":{"102":1}}],["村庄站",{"2":{"102":1}}],["村庄",{"0":{"102":1},"2":{"130":1}}],["村庄附近",{"2":{"67":1,"68":1}}],["聚集了大量的生电机器获取物资",{"2":{"101":1}}],["尝试着使用工业区北站的无障碍电梯上行吧",{"2":{"101":1}}],["乘坐开往复读广场方向的复读地铁1号线前往终点站",{"2":{"120":1}}],["乘坐开往神樱方向的复读地铁1号线前往终点站",{"2":{"120":1}}],["乘坐开往神樱方向的复读地铁1号线前往下一站",{"2":{"120":1}}],["乘坐复读地铁1号线前往下一站",{"2":{"102":1}}],["乘坐复读地铁1号线",{"2":{"101":1}}],["乘坐地铁前往下一站",{"2":{"100":1,"120":1}}],["逆行会遭到截停",{"2":{"100":1}}],["提升了用户中心的稳定性",{"2":{"239":1}}],["提示",{"2":{"100":1,"120":1,"170":1}}],["提供刷怪场地的建筑",{"2":{"113":1}}],["提供讨论互动平台",{"2":{"7":1}}],["提供诸多可编程接口",{"2":{"6":1}}],["提供的地图保护",{"2":{"49":1,"53":1}}],["提供的核心保护",{"2":{"49":1}}],["提供的红石电路模块",{"2":{"6":1}}],["提供的开放式地图编辑功能",{"2":{"6":1}}],["注册账户",{"2":{"257":1}}],["注册",{"2":{"165":1}}],["注册后",{"2":{"135":1}}],["注",{"0":{"126":1},"2":{"100":1,"120":1,"135":2}}],["注意这个功能在许多服务器是被判定为作弊的",{"2":{"199":1}}],["注意id是无法被更新的",{"2":{"132":1}}],["注意事项",{"2":{"62":1,"63":1,"67":1,"68":1,"69":1}}],["注意改变快捷栏的栏位会使地图消失",{"2":{"47":1}}],["注意",{"2":{"30":1,"58":1,"144":1,"145":1,"171":1}}],["能让人一眼看出这个社团的主要成分",{"2":{"247":1}}],["能见证社团的成立更是令人心潮澎湃",{"2":{"247":1}}],["能在复旦遇到志同道合的朋友",{"2":{"247":1}}],["能在岩浆下看得更清楚",{"2":{"207":1}}],["能拓宽你设计收集的思路",{"2":{"222":1}}],["能将方块按照相应方向放置",{"2":{"201":1}}],["能以特殊的角度放置方块",{"2":{"201":1}}],["能够在官方启动器的基本功能的基础上",{"2":{"135":1}}],["能看到这样一个方框",{"2":{"201":1}}],["能看到复读公寓",{"2":{"105":1}}],["能看到一座神殿",{"2":{"104":1}}],["能看到一个巨大的入口",{"2":{"100":1}}],["能有效放置恼鬼产生",{"2":{"69":1}}],["几个玩家在出生点安家",{"2":{"99":1}}],["潜影盒",{"2":{"217":1}}],["潜影盒预览",{"0":{"209":1}}],["潜影盒中可能会有用于飞行的3级烟花火箭",{"2":{"98":1}}],["潜行右键打开末影箱",{"2":{"55":1}}],["善用",{"2":{"98":1}}],["且一旦遭遇爆仓或潜影盒不足就会有大量物品堆积在水道中",{"2":{"219":1}}],["且其中唯一不可替代的仅有标粗的快捷键",{"2":{"211":1}}],["且抛出了一个不太一样的异常",{"2":{"161":1}}],["且支持外置登陆",{"2":{"135":1}}],["且不会再更新",{"0":{"126":1}}],["且难以再生",{"2":{"98":1}}],["且袭击不堆叠",{"2":{"69":1}}],["鞘翅的数量比较有限",{"2":{"98":1}}],["出站后",{"2":{"120":1}}],["出门后右转直行",{"2":{"120":1}}],["出现在你眼前的应该是南面的复旦大学的校徽",{"2":{"98":1}}],["出现在视线中的是一个红色的鸟居",{"2":{"97":1,"119":1}}],["出生点小镇",{"0":{"99":1}}],["出生点附近的箱子和潜影盒装有一些物资",{"2":{"98":1}}],["出生点",{"0":{"98":1}}],["按下相应的快捷键",{"2":{"193":1}}],["按下m+l",{"2":{"191":1}}],["按下快捷键",{"2":{"189":1}}],["按快捷键",{"2":{"189":1}}],["按照这个判据",{"2":{"178":1}}],["按照提示安装相应的mod",{"2":{"158":1}}],["按理是mod的代码出现了问题",{"2":{"160":1}}],["按住alt键",{"2":{"201":1}}],["按住ctrl",{"2":{"201":1}}],["按住ctrl键或者alt键后对准方块",{"2":{"201":1}}],["按住快捷键",{"2":{"193":1}}],["按住",{"2":{"137":1}}],["按钮",{"2":{"97":1}}],["按完按钮进去种植室",{"2":{"64":1}}],["南侧的是一座建立于很久以前的神社",{"2":{"97":1,"119":1}}],["东侧的是",{"2":{"97":1,"119":1}}],["二周目时可以在这里投币祈愿获得物品",{"2":{"97":1}}],["子虚亭祈愿中心",{"2":{"237":1}}],["子虚亭",{"2":{"97":1,"119":1,"123":2}}],["祈愿中心",{"2":{"97":1,"119":1,"123":2}}],["站在认领的复读公寓初始小屋内",{"2":{"105":1,"121":1}}],["站在小亭子上俯瞰这个地图",{"2":{"97":1,"119":1}}],["站到堆肥桶内修脚即可",{"2":{"74":1}}],["承载着这个世界的秘密",{"2":{"97":1,"119":1}}],["它允许玩家自动放置已经渲染的方块",{"2":{"193":1}}],["它会影响粘贴时对现有方块的操作",{"2":{"188":1}}],["它能高效地帮助玩家在存档之间转移机器与建筑",{"2":{"186":1}}],["它们将id范围拓展至32位从而解决了这个问题",{"2":{"166":1}}],["它们高度依赖mod的加载顺序",{"2":{"162":1}}],["它们的作用是提供一些原版所没有的额外功能接口",{"2":{"136":1}}],["它可能会非常非常大",{"2":{"145":1}}],["它从神秘的末地生长而出",{"2":{"97":1,"119":1}}],["它的使用与carpet的假人系统有着非常大的不同",{"2":{"36":1}}],["至于后来渐渐地基本不再上线了",{"2":{"247":1}}],["至于出现no",{"2":{"153":1}}],["至少看起来像樱花树",{"2":{"97":1,"119":1}}],["至此",{"2":{"77":1,"106":1,"124":1}}],["你没有权限这么做",{"2":{"239":1}}],["你能发现在其中提到了一种相对不安全的分类单片",{"2":{"222":1}}],["你能从中迅速找到某个建筑的位置",{"2":{"98":1}}],["你将会发现大量的矢车菊也被销毁了",{"2":{"219":1}}],["你将对本服务器的大致情况有一个整体把握",{"2":{"96":1,"118":1}}],["你就能够理解绝大部分生电机器的基本构建",{"2":{"215":1}}],["你就要翻到最下方的mod",{"2":{"162":1}}],["你必不可能将这个问题丢给社团的普通玩家",{"2":{"173":1}}],["你大可以丢给他们一篇森林蝙蝠的",{"2":{"173":1}}],["你或许要准备好这些",{"2":{"169":1}}],["你找到的有嫌疑的mod是以mod",{"2":{"155":1}}],["你不能去更改java",{"2":{"150":1}}],["你可能知道哪个mod对应哪个文件",{"2":{"155":1}}],["你可能没法获取到crash",{"2":{"145":1}}],["你可以随时使用钻石或远古残骸进行祈愿",{"2":{"237":1}}],["你可以登陆像",{"2":{"135":1}}],["你可以使用",{"2":{"130":1}}],["你可以继续浏览本网站以了解更多",{"2":{"106":1,"124":1}}],["你可以在",{"2":{"103":1}}],["你可以从中获取一些类似镐子食物之类的起始物资",{"2":{"98":1}}],["你可以选择跟随下方的指南",{"2":{"96":1}}],["你首先要找到",{"2":{"138":1}}],["你只能根据实际游玩的需要选择一个",{"2":{"136":1}}],["你的",{"2":{"135":1}}],["你都会收到一条运势信息",{"2":{"123":1}}],["你所在的地区被称为",{"2":{"120":1}}],["你",{"2":{"113":1}}],["你需要去直接获取崩溃报告",{"2":{"143":1}}],["你需要准备",{"2":{"105":1}}],["你需要前往相应的机器来获取",{"2":{"104":1}}],["你到达的第一站是工业区北站",{"2":{"101":1}}],["你会发现围绕着世界树有三个建筑",{"2":{"97":1,"119":1}}],["你正处于的这个世界",{"2":{"97":1,"119":1}}],["你也可以选择不看下面的指南",{"2":{"96":1}}],["你已经成功进入服务器了",{"2":{"77":1}}],["游客的所有权限",{"2":{"256":1}}],["游客使用",{"2":{"256":1}}],["游戏基础版本升级至",{"2":{"238":1}}],["游戏崩溃后在崩溃界面点",{"2":{"141":1}}],["游戏崩溃后在崩溃界面点左下角",{"2":{"140":1}}],["游戏",{"2":{"136":1}}],["游戏的所有本体文件均位于",{"2":{"135":1}}],["游戏昵称等",{"2":{"135":1}}],["游戏本体",{"2":{"135":2}}],["游戏版本",{"2":{"21":1,"22":1,"23":1,"248":1}}],["游览后",{"2":{"96":1,"118":1}}],["制作一只群聊机器人",{"2":{"232":1}}],["制作",{"0":{"94":1}}],["新fdcraft",{"2":{"257":1}}],["新手引导也很好捏",{"2":{"247":1}}],["新地图",{"0":{"237":1}}],["新版启动器已上传至群文件",{"2":{"236":1}}],["新版本是否修复了这个bug",{"2":{"171":1}}],["新加入的功能",{"2":{"136":1}}],["新媒体技术",{"0":{"92":1},"1":{"93":1,"94":1}}],["新人指南",{"0":{"75":1},"1":{"76":1,"77":1}}],["反向代理",{"0":{"90":1}}],["核心保护检查模式",{"2":{"256":1}}],["核心",{"0":{"86":1},"2":{"240":1}}],["核心类型",{"2":{"12":1,"13":1,"14":1,"21":1,"22":1,"23":1,"248":1,"256":1,"257":1}}],["一共最多有三个家",{"2":{"245":1}}],["一次性从物品栏间移动所有物品",{"2":{"211":2}}],["一次性从物品栏间移动所有同种物品",{"2":{"211":2}}],["一些大型的原理图往往难以整个去观察",{"2":{"189":1}}],["一台生电机器可以被切分为三个模块",{"2":{"179":1}}],["一定是optifine干的",{"2":{"171":1}}],["一种最简单的解决崩溃的思路是",{"2":{"171":1}}],["一种解决方法是安装jeid或者neid",{"2":{"166":1}}],["一颗冷静的心",{"2":{"169":1}}],["一个更合理的方式通过启动器禁用该mod或者把mod的后缀名改为",{"2":{"171":1}}],["一个we",{"2":{"169":1}}],["一个mod使用了自己的类却没找到",{"2":{"163":1}}],["一个由缺少mixinbooter引起的报错的例子",{"2":{"161":1}}],["一个由缺少ccc引起报错的例子",{"2":{"161":1}}],["一个可能的原因是缺少了某个前置mod",{"2":{"161":1}}],["一个可能的原因是有mod缺少了前置或前置版本错误",{"2":{"158":1}}],["一个例子",{"2":{"158":1,"159":1,"170":1}}],["一个正常的崩溃报告的文件名应该是长下面这样的",{"2":{"146":1}}],["一个简洁易用的小地图模组",{"2":{"137":1}}],["一系列小工具的合集",{"2":{"137":1}}],["一系列方便生存的模组",{"2":{"137":1}}],["一键安装",{"2":{"136":1}}],["一节中",{"2":{"117":3}}],["一节",{"2":{"116":1}}],["一节与复读公约进行比对",{"2":{"109":1}}],["一切生电机器都是模块化的",{"2":{"179":1}}],["一切除了optifine以外和底层有关的东西",{"2":{"170":1}}],["一切不必要的约定都不应该被写入本公约",{"2":{"108":1}}],["一切都取决于你自己",{"2":{"96":1}}],["一层一层上楼",{"2":{"105":1}}],["一言以蔽之",{"2":{"84":1}}],["一般都是render",{"2":{"152":1}}],["一般都符合",{"2":{"77":1}}],["一般来说第一个出现的mod就是造成崩溃的罪魁祸首",{"2":{"170":1}}],["一般来说这种异常会发生在fml",{"2":{"157":1}}],["一般来说",{"2":{"136":1,"145":1,"146":1,"152":1,"183":1}}],["一般只需要输入你所希望显示的游戏内昵称即可",{"2":{"135":1}}],["一般为",{"2":{"37":1}}],["欢迎大家投稿轻小说~",{"2":{"258":1}}],["欢迎大家踊跃参与建设",{"2":{"256":1}}],["欢迎大家前往上海交通大学的服务器展开友好交流",{"2":{"248":1}}],["欢迎来自上海交通大学的朋友前往复读世界𒆙展开友好交流",{"2":{"255":1}}],["欢迎来到",{"2":{"75":1,"97":1,"119":1}}],["欢迎投稿",{"2":{"78":1}}],["本次维护的补偿以礼包形式发放",{"2":{"242":1}}],["本应先加载的被依赖",{"2":{"162":1}}],["本文为了方便起见",{"2":{"135":1}}],["本文旨在帮助纯小白快速入坑",{"2":{"134":1}}],["本文主要内容",{"2":{"134":1}}],["本界面已经年久失修",{"0":{"126":1}}],["本公约由基岩社工具人团队编写",{"2":{"108":1}}],["本节将带领你游览",{"2":{"96":1,"118":1}}],["本页提供各类技术的教程搬运",{"2":{"78":1}}],["本身基于",{"2":{"6":1}}],["教程搬运",{"0":{"78":1},"1":{"79":1,"80":1,"81":1,"82":1,"83":1,"84":1,"85":1,"86":1,"87":1,"88":1,"89":1,"90":1,"91":1,"92":1,"93":1,"94":1,"95":1}}],["恭喜你",{"2":{"77":1}}],["来来回回兜了好几圈",{"2":{"247":1}}],["来应对物品流的上下波动",{"2":{"222":1}}],["来更好地理解后面所说的知识",{"2":{"215":1}}],["来更好地理解下面的规则",{"2":{"130":1}}],["来实现全自动化或半自动化生产与储存物资",{"2":{"177":1}}],["来",{"2":{"162":1}}],["来找到崩溃报告",{"2":{"145":1}}],["来到",{"2":{"120":1}}],["来进行配置",{"2":{"77":1}}],["来取消他的请求",{"2":{"29":1,"57":1}}],["45",{"2":{"234":1,"235":1}}],["4d54207",{"2":{"158":4}}],["408",{"2":{"240":1}}],["40k",{"2":{"219":2}}],["4095",{"2":{"165":1}}],["4096",{"0":{"164":1},"1":{"165":1,"166":1},"2":{"164":2}}],["40",{"2":{"158":1}}],["4003",{"2":{"156":1}}],["41",{"2":{"158":1}}],["410",{"2":{"74":1}}],["44",{"2":{"156":1}}],["465",{"2":{"155":1}}],["4b",{"2":{"147":1}}],["49",{"2":{"147":1}}],["498",{"2":{"147":2}}],["4a",{"2":{"147":1}}],["4f",{"2":{"147":1}}],["43",{"2":{"147":2}}],["481",{"2":{"147":2}}],["47",{"2":{"147":2,"159":1}}],["4",{"2":{"126":2,"137":1,"147":3,"156":1,"158":1,"233":1,"235":1,"257":2}}],["4等主机",{"2":{"77":1}}],["参考文献",{"2":{"173":1}}],["参考复读百科",{"2":{"122":1}}],["参考入服教程来进入服务器",{"2":{"77":1}}],["参观了",{"2":{"97":1,"119":1}}],["参观世界树顶端的小亭子",{"2":{"97":1,"119":1}}],["参数",{"2":{"40":1}}],["参数说明",{"0":{"40":1},"2":{"130":1}}],["仔细阅读复读公约",{"2":{"77":1}}],["加入中国",{"2":{"254":1}}],["加入",{"0":{"254":1},"2":{"233":1}}],["加入社团后联系管理员进入社团群聊",{"2":{"76":1}}],["加载联动内容",{"2":{"162":1}}],["加速指令",{"2":{"50":1}}],["搜索",{"2":{"76":1}}],["访问社团系统",{"2":{"76":1}}],["也希望笔者以后能为基岩社做出更多贡献",{"2":{"247":1}}],["也谨以此献给新建的复旦大学基岩社团",{"2":{"247":1}}],["也算是较早加入fdcraft的一批玩家",{"2":{"247":1}}],["也算是社团正式成立之后第一批加入的伙伴了",{"2":{"247":1}}],["也会开始打印",{"2":{"193":1}}],["也就是扁平化",{"2":{"165":1}}],["也就是说",{"2":{"144":1}}],["也无需解压便可以正常使用",{"2":{"136":1}}],["也是很好的",{"2":{"136":1}}],["也是专门用于fdc建设交流的场所",{"2":{"76":1}}],["也没有",{"2":{"135":1}}],["也可以在遇到问题时通过本网站查询资料",{"2":{"106":1,"124":1}}],["也可以破坏",{"2":{"105":1}}],["也可以进行简单的物品分类",{"2":{"104":1}}],["也可以进入主服务器",{"2":{"97":1}}],["也可以通过下界交通游览",{"2":{"100":1}}],["也可以空手右键台阶或者楼梯来在那个位置坐下",{"2":{"31":1}}],["取决于所使用的协议",{"2":{"190":1}}],["取用十分难受",{"2":{"221":1}}],["取用分类器内物品的现象",{"2":{"117":1}}],["取用者同样可对上述询问保持沉默",{"2":{"111":1}}],["取用物品时需要留下一个物品或者使用占位玻璃",{"2":{"104":1}}],["取用公共物资来进行建设",{"2":{"96":1}}],["取得联系",{"0":{"76":1}}],["取消所有待处理的传送请求",{"2":{"29":1,"57":1}}],["骨干招募",{"2":{"75":1}}],["攻击伤害",{"2":{"253":1}}],["攻击频率有待确认",{"2":{"74":1}}],["攻击间隔不低于18gt",{"2":{"69":1}}],["穿全套保护iv的钻石装备或下界合金装备",{"2":{"74":1}}],["走到修脚平台走上楼梯",{"2":{"74":1}}],["蹲在拉杆下方等待能有效减少袭击失败概率",{"2":{"74":1}}],["还给这一片区域取名",{"2":{"247":1}}],["还可以用活塞移动或破坏支撑雪的方块使雪发出nc更新",{"2":{"226":1}}],["还要根据其输出物品流的类型来设计",{"2":{"218":1}}],["还是社团里社群里形色各异的普通玩家",{"2":{"173":1}}],["还是有可能袭击失败的",{"2":{"74":1}}],["还剩下了这些东西",{"2":{"170":1}}],["还有一个东西是需要看的",{"2":{"156":1}}],["还不如上街找个算命先生算算为什么崩溃好些",{"2":{"138":1}}],["还具有跨平台",{"2":{"6":1}}],["袭击失败概率很小",{"2":{"74":1}}],["拉下西北角拉杆",{"2":{"74":1}}],["等提议",{"2":{"247":1}}],["等等非常多的物品相关操作",{"2":{"137":1}}],["等等",{"2":{"120":1}}],["等",{"2":{"111":1}}],["等待着某天再次散发光辉",{"2":{"97":1}}],["等待袭击进度条消失",{"2":{"74":1}}],["等号角声响起或袭击进度条减少后",{"2":{"74":1}}],["等到活塞停止后再开启拉杆",{"2":{"64":1}}],["大鹏一日同风起",{"2":{"247":1}}],["大于两个普通的分类单片",{"2":{"222":1}}],["大型的生电机器通常都是多个能完成特定功能的模块的组合",{"2":{"179":1}}],["大型模组整合包多数使用",{"2":{"136":1}}],["大概率没有optifine的事情",{"2":{"170":1}}],["大概率无",{"2":{"74":1}}],["大佬帮忙看下游戏启动崩溃问题",{"2":{"162":1}}],["大厅的默认游戏模式为冒险模式",{"2":{"237":1}}],["大厅",{"0":{"237":1},"2":{"123":1,"237":1,"242":1,"243":1}}],["大家采用id",{"2":{"110":1}}],["大家会把自己建造的公共功能性建筑记录在",{"2":{"101":1,"122":1}}],["大量玩家在此定居",{"2":{"102":1}}],["大部分站点配备了半自动发车装置",{"2":{"100":1}}],["大冒险家",{"2":{"96":1,"106":1,"124":1}}],["大致相当于单核",{"2":{"66":1}}],["90",{"2":{"254":1}}],["98",{"2":{"254":1}}],["95",{"2":{"165":1,"254":1}}],["954",{"2":{"74":1}}],["96",{"2":{"147":1}}],["97",{"2":{"147":1,"158":1}}],["977",{"2":{"147":2}}],["996",{"2":{"147":1}}],["94",{"2":{"147":2}}],["9",{"2":{"126":1,"155":4,"235":1}}],["920",{"2":{"69":1}}],["气泡柱迁移式袭击塔",{"0":{"74":1}}],["跳入末地门获取沙子后迅速使用指令回到床边",{"2":{"73":1}}],["先去除一些显然无法改变的东西",{"2":{"170":1}}],["先等等",{"2":{"145":1}}],["先用床设置重生点",{"2":{"73":1}}],["先进技术经验等",{"2":{"6":1}}],["先进技术经验等的文化体育类社团",{"2":{"0":1}}],["末地",{"2":{"130":1}}],["末地门2",{"0":{"73":1}}],["末影龙优化",{"2":{"55":1}}],["收集材料制作一些基本家具",{"2":{"121":1}}],["收集在地狱",{"2":{"72":1}}],["收纳袋合成",{"2":{"51":1}}],["572",{"2":{"158":1}}],["55",{"2":{"158":3}}],["552463299",{"2":{"76":1}}],["5f",{"2":{"147":1}}],["5e",{"2":{"147":1}}],["54",{"2":{"147":2}}],["548",{"2":{"72":1}}],["50",{"2":{"170":1}}],["504",{"2":{"147":2}}],["508",{"2":{"147":2}}],["5",{"2":{"126":4,"138":1,"147":66,"150":2,"153":1,"154":1,"155":3,"158":2,"235":1,"242":1}}],["5930630",{"2":{"82":1}}],["5695",{"2":{"71":1}}],["挂机点在y=176处",{"2":{"71":1}}],["挂机需要到僵尸头上才有一点点效率",{"2":{"66":1}}],["由需求端推动但不止于需求端的技术",{"2":{"177":1}}],["由",{"2":{"135":1}}],["由polaris",{"2":{"71":1,"74":1}}],["由于权限管理工具的局限性",{"2":{"256":1}}],["由于刷怪机制修改",{"2":{"241":1}}],["由于兼容性原因",{"2":{"240":1}}],["由于已生成的",{"2":{"225":1}}],["由于不去堆叠",{"2":{"222":1}}],["由于消除了串线的风险",{"2":{"222":1}}],["由于冲击流的特点",{"2":{"219":1}}],["由于生电模块化的特点",{"2":{"183":1}}],["由于mc的独特性",{"2":{"182":1}}],["由于这个崩溃的描述是description",{"2":{"170":1}}],["由于中文前缀",{"2":{"162":1}}],["由于最近各校均出现了有玩家随意取用物品展示框内物品",{"2":{"117":1}}],["由于最初的技术方案维护成本较高",{"2":{"17":1}}],["由于有玩家对于fdcraft的性质提出了疑问",{"2":{"116":1}}],["由于运行需要",{"2":{"104":1}}],["由于通过监听服务器内的聊天消息来识别指令",{"2":{"37":1}}],["已知问题",{"0":{"241":1}}],["已知问题记录",{"0":{"231":1}}],["已更新",{"2":{"236":1}}],["已实现",{"2":{"232":2}}],["已经备份的近期存档",{"2":{"169":1}}],["已修改",{"2":{"69":1}}],["已接入学校",{"0":{"18":1}}],["砍时需注意不要离得太近或按shift",{"2":{"69":1}}],["建材等物资",{"2":{"244":1}}],["建材等",{"2":{"232":1}}],["建造者",{"2":{"111":1}}],["建立了出生点小镇",{"2":{"99":1}}],["建筑师需要在进入服务器后通知运维添加建筑师权限",{"2":{"256":1}}],["建筑现场告示牌或基岩社工具人的判断为准",{"2":{"111":1}}],["建筑之间相隔都比较远",{"2":{"103":1}}],["建筑工具",{"0":{"84":1}}],["建筑风格",{"0":{"83":1}}],["建筑学理论",{"0":{"82":1}}],["建筑",{"0":{"81":1},"1":{"82":1,"83":1,"84":1},"2":{"108":1}}],["建筑创作",{"2":{"75":1}}],["建筑宣传部",{"0":{"3":1},"2":{"1":1,"75":1}}],["建议安装",{"2":{"136":1}}],["建议通读全文而非直接跳到",{"2":{"134":1}}],["建议",{"2":{"110":1}}],["建议从地狱通道进入",{"2":{"72":1}}],["建议自己去小黑塔打一把",{"2":{"69":1}}],["目前",{"2":{"135":1}}],["目前没有合适的剑在这边公用",{"2":{"69":1}}],["目前可以繁殖的植物种类",{"2":{"68":1}}],["否则会迅速堆积大量垃圾",{"2":{"220":1}}],["否则只能看到近处的容器",{"2":{"206":1}}],["否则容易因为产生恼鬼而暴毙",{"2":{"69":1}}],["否则仍播放当前歌曲",{"2":{"30":1,"58":1}}],["60",{"2":{"235":1}}],["607",{"2":{"147":2}}],["63个物品",{"2":{"222":1}}],["6d",{"2":{"147":1}}],["66",{"2":{"147":2}}],["62",{"2":{"147":2}}],["6245",{"2":{"126":1}}],["676818",{"2":{"126":1}}],["672",{"2":{"70":1}}],["6",{"0":{"116":1},"2":{"144":1,"147":1,"156":1,"235":1}}],["6919",{"2":{"107":1}}],["692",{"2":{"69":1}}],["6kph",{"2":{"71":1}}],["642",{"2":{"158":1}}],["64",{"2":{"6":2,"147":1}}],["丐中丐版袭击塔只能手动收集分类",{"2":{"69":1}}],["丐中丐版袭击塔",{"0":{"69":1}}],["可是还是错过了捏",{"2":{"247":1}}],["可能卡顿",{"2":{"241":1}}],["可能的机器与模块都已经有人做过了",{"2":{"183":1}}],["可自动循环的复制机除了用激活的侦测器更新tnt",{"2":{"226":1}}],["可惜的是",{"2":{"162":1}}],["可根据实际需要进行选择",{"2":{"136":1}}],["可选",{"2":{"133":17}}],["可选择在走之前跳下去等待出现袭击胜利",{"2":{"69":1}}],["可向基岩社工具人团体申请仲裁",{"2":{"111":1}}],["可供任何人无条件取用",{"2":{"111":1}}],["可将aircraft的专栏中",{"2":{"109":1}}],["可有效降低生成恼鬼概率",{"2":{"69":1}}],["可可豆",{"2":{"68":1}}],["可以切换飞行模式",{"2":{"256":1}}],["可以将两种单片的红石线放在不同的高度上",{"2":{"222":1}}],["可以将图片上传至免费图床来获得",{"2":{"34":1}}],["可以先暂时跳过这段",{"2":{"222":1}}],["可以先跳到part",{"2":{"217":1}}],["可以先看看下面这篇文章",{"2":{"150":1}}],["可以查看潜影盒内物品",{"2":{"209":1}}],["可以查询某处方块变化的记录",{"2":{"53":1}}],["可以防止意外攻击到某些实体",{"2":{"196":1}}],["可以打开原理图的验证界面",{"2":{"192":1}}],["可以浮空",{"2":{"190":1}}],["可以通过不修改mod的方式解决",{"2":{"150":1}}],["可以通过这个指令切换至其他学校的服务器",{"2":{"25":1}}],["可以理解为一般的模组都会指定这两者的其中之一作为前置",{"2":{"136":1}}],["可以自行设置目录名称",{"2":{"135":1}}],["可以快捷的更换皮肤等",{"2":{"135":1}}],["可以",{"2":{"111":1,"113":1,"114":2}}],["可以在changelog中查看",{"2":{"171":1}}],["可以在房间内进行任意内饰装饰",{"2":{"105":1}}],["可以在旦星一号的下界地图中查看线路",{"2":{"100":1}}],["可以使用一种更为激进的填充方法",{"2":{"222":1}}],["可以使用",{"2":{"105":2}}],["可以用活板门辅助进入堆肥桶内",{"2":{"74":1}}],["可以低下头来查看",{"2":{"47":1}}],["可以点击聊天栏内绿色的",{"2":{"47":1}}],["可以给原版端或者其他服务端提供一些插件的支持",{"2":{"37":1}}],["甜浆果",{"2":{"68":1}}],["四周就是相应方向",{"2":{"201":1}}],["四周",{"2":{"201":1}}],["四种高花",{"2":{"68":1}}],["四核时钟式刷铁机",{"0":{"66":1}}],["记录了对这段代码进行注入的mod",{"2":{"170":1}}],["记录方块变化与箱子变化",{"2":{"53":1}}],["记号集",{"2":{"133":17}}],["记得留一点植物作为种",{"2":{"68":1}}],["甘蔗机旁边",{"2":{"68":1}}],["我明明看到了有那个mod",{"2":{"162":1}}],["我不建议你在这里看",{"2":{"147":1}}],["我建议你将这篇的前言复制下来丢给他",{"2":{"138":1}}],["我崩溃了怎么办",{"2":{"138":1}}],["我的第一个庇护所",{"0":{"121":1}}],["我的世界",{"2":{"0":1,"6":1}}],["我们需要获取绿色染料",{"2":{"180":1}}],["我们可以选择禁用出错的模组",{"2":{"171":1}}],["我们要干的第一件事情应该是拿一个文本编辑器打开它",{"2":{"145":1}}],["我们先来讲讲崩溃报告",{"2":{"145":1}}],["我们找到了崩溃报告和日志",{"2":{"145":1}}],["我们不建议使用官方启动器",{"2":{"135":1}}],["我们不建议新玩家在神樱町继续发展",{"2":{"120":1}}],["我们",{"2":{"110":1}}],["我们仅基于可能遇到的问题进行一事一议式的约定",{"2":{"108":1}}],["我们永远以善意对待",{"2":{"108":1}}],["我们相信我们的同学都是友善的",{"2":{"108":1}}],["我讨厌purpur",{"2":{"74":1}}],["我再上线看看",{"2":{"68":1}}],["3月8晚上匆匆下载想赶来合影",{"2":{"247":1}}],["35",{"2":{"235":1}}],["351",{"2":{"67":1}}],["31日",{"2":{"233":1}}],["336",{"2":{"158":1}}],["3f",{"2":{"147":1}}],["3+main",{"2":{"147":1}}],["3+8",{"2":{"147":1}}],["38",{"2":{"147":2}}],["389548214",{"2":{"76":1}}],["320",{"2":{"147":2}}],["390",{"2":{"155":1}}],["39",{"2":{"147":34,"150":1,"153":1,"154":1,"158":1,"159":1}}],["37是时间戳",{"2":{"146":1}}],["37",{"2":{"146":1,"147":3}}],["34",{"2":{"158":1}}],["341",{"2":{"147":10,"154":1}}],["34315",{"2":{"126":1}}],["344",{"2":{"70":1}}],["30余名社团成员排排站在fdcraft复读世界服务器大厅的东侧鸟居下合影留念",{"2":{"247":1}}],["30",{"2":{"126":1,"235":1}}],["3",{"0":{"184":1,"249":1,"257":1},"1":{"185":1,"186":1,"187":1,"188":1,"189":1,"190":1,"191":1,"192":1,"193":1,"194":1,"195":1,"196":1,"197":1,"198":1,"199":1,"200":1,"201":1,"202":1,"203":1,"204":1,"205":1,"206":1,"207":1,"208":1,"209":1,"210":1,"211":1,"212":1,"213":1,"214":1,"250":1,"251":1,"252":1,"253":1},"2":{"126":4,"144":1,"147":12,"148":1,"155":2,"158":1,"173":1,"190":1,"232":1,"233":6,"235":3,"247":1,"248":1,"249":1,"253":3,"254":1,"255":1}}],["3d",{"0":{"94":1}}],["36",{"2":{"147":35,"150":1,"153":1,"154":1}}],["363",{"2":{"66":1}}],["364",{"2":{"65":1}}],["飞行器甘蔗机",{"0":{"67":1}}],["飞行器机械",{"2":{"5":1}}],["实在是能力有限",{"2":{"247":1}}],["实体",{"2":{"226":1}}],["实体攻击限制",{"0":{"196":1}}],["实际上",{"2":{"180":1,"219":1}}],["实际情况下可以根据你的用途自行更改",{"2":{"135":1}}],["实际效率极低",{"2":{"66":1}}],["实现更多实用功能",{"2":{"135":1}}],["实现",{"2":{"6":1}}],["仓库内资源为公用",{"2":{"65":1}}],["是幸运的",{"2":{"247":1}}],["是否先于珊瑚扇的转变",{"2":{"226":1}}],["是否有新版本",{"2":{"171":1}}],["是玩家的误操作造成的",{"2":{"150":1}}],["是下列所有模组共同需要安装的前置模组",{"2":{"137":1}}],["是较为主流的数据包来源网站",{"2":{"136":1}}],["是两个东西",{"2":{"136":1}}],["是基于",{"2":{"128":1}}],["是被森林围绕的一个草原",{"2":{"120":1}}],["是复读地铁1号线的复读广场站",{"2":{"120":1}}],["是面向复旦大学",{"2":{"109":1}}],["是高耸入云的反牛顿建筑",{"2":{"105":1,"121":1}}],["是一个和谐互助的服务器",{"2":{"101":1,"122":1}}],["是一系列的多人联机服务器",{"2":{"75":1}}],["是很重要的技能",{"2":{"98":1}}],["是重要的连接枢纽",{"2":{"65":1}}],["是由非官方人员编写",{"2":{"135":1}}],["是由",{"2":{"8":1}}],["主流的第三方启动器有",{"2":{"135":1}}],["主要分为官方启动器和第三方启动器",{"2":{"135":1}}],["主要文件夹",{"2":{"135":1}}],["主要有",{"2":{"135":1}}],["主要放置了一些与农业相关的机器",{"2":{"102":1}}],["主要面向复旦大学的学生",{"2":{"75":1}}],["主世界",{"2":{"130":6}}],["主世界只有挂机点",{"2":{"72":1}}],["主世界位置",{"2":{"67":1,"68":1}}],["主世界坐标",{"2":{"65":1,"66":1,"69":1,"70":1,"71":1,"72":1,"74":1}}],["主服",{"0":{"12":1}}],["检查外面的灯是否还亮",{"2":{"64":1}}],["白桦选择按钮三",{"2":{"64":1}}],["橡树",{"2":{"64":1}}],["丛林选择按钮二",{"2":{"64":1}}],["灯不亮补充骨粉潜影盒",{"2":{"64":1}}],["空岛生存",{"2":{"243":1,"244":2}}],["空无线电功能",{"2":{"128":1}}],["空潜影盒会回到下方木桶",{"2":{"64":1}}],["空手右键假人打开假人背包",{"2":{"55":1}}],["保护i",{"2":{"253":1}}],["保存合成表",{"2":{"212":1}}],["保存一个统计某个统计内容的快速计分板",{"2":{"39":1}}],["保持砍怪频率",{"2":{"69":1}}],["保证红石灯亮",{"2":{"64":1}}],["蜜绿全树种树场",{"0":{"64":1}}],["惨痛教训",{"2":{"63":1}}],["人离开一定要关刷石机",{"2":{"63":1}}],["熔炉使用前请阅读下方内部的使用说明",{"2":{"62":1}}],["有待后续通知",{"2":{"257":1}}],["有的出点子",{"2":{"247":1}}],["有的提供服务器美图",{"2":{"247":1}}],["有的做公众号推送",{"2":{"247":1}}],["有",{"2":{"247":1}}],["有机会通往更多的世界",{"2":{"237":1}}],["有关",{"2":{"226":1}}],["有时会失灵",{"2":{"190":1,"201":1}}],["有时候mc的安装目录中有中文会导致mc没有声音",{"2":{"162":1}}],["有时候mc输出了崩溃报告",{"2":{"145":1}}],["有时候压缩包里面没有崩溃报告",{"2":{"143":1}}],["有时候",{"2":{"98":1,"192":1}}],["有一些机器还有物品输入模块",{"2":{"179":1}}],["有一些崩溃报告与其解决方法之间可能完全没有字面上的关联",{"2":{"172":1}}],["有一些报错会与特定的mod绑定",{"2":{"171":1}}],["有一个mod加载时发生了错误",{"2":{"157":1}}],["有不少mod需要改变原版的代码",{"2":{"170":1}}],["有不少情况是不输出崩溃报告的",{"2":{"144":1}}],["有嫌疑的mod就会被记录在崩溃报告的stacktrace中",{"2":{"170":1}}],["有可能出现渲染的问题",{"2":{"156":1}}],["有需要请自行搜索其他下载源",{"2":{"137":1}}],["有些结构是收回复制",{"2":{"226":1}}],["有些结构是推出复制",{"2":{"226":1}}],["有些up主同时会附上原理讲解",{"2":{"183":1}}],["有些",{"2":{"136":1}}],["有些特殊物品则需要通过在特定群系挖矿爆宝箱要获取",{"2":{"104":1}}],["有特殊功能的漏斗",{"2":{"111":1}}],["有意了解或加入者",{"2":{"75":1}}],["有大箭头指示",{"2":{"73":1}}],["有冰道",{"2":{"62":1,"63":1,"65":1,"69":1,"70":1,"71":1,"74":1}}],["有地狱交通连接",{"2":{"62":1,"63":1,"64":1,"65":1,"69":1,"70":1,"71":1,"72":1,"74":1}}],["有条不紊地开展社团工作",{"2":{"7":1}}],["施工方",{"2":{"62":1,"63":1,"64":1,"65":1,"66":1,"67":1,"68":1,"69":1,"70":1,"71":1,"72":1,"73":1,"74":1}}],["功能性建筑即传统意义上的",{"2":{"113":1}}],["功能性建筑与观赏性建筑",{"0":{"113":1}}],["功能性建筑",{"0":{"61":1},"1":{"62":1,"63":1,"64":1,"65":1,"66":1,"67":1,"68":1,"69":1,"70":1,"71":1,"72":1,"73":1,"74":1}}],["再点击进入相应的词条即可",{"2":{"182":1}}],["再将这篇教程丢给他",{"2":{"138":1}}],["再打开活板门后进入水道",{"2":{"74":1}}],["再按潜行起身",{"2":{"59":1}}],["再次输入指令关闭",{"2":{"53":1}}],["再次输入命令以取消",{"2":{"34":1}}],["光影",{"2":{"134":2}}],["光华原被规划为新的居民区",{"2":{"120":1}}],["光华原",{"2":{"120":2}}],["光照线程同步",{"2":{"55":1}}],["光标",{"2":{"44":1}}],["更是坚毅",{"2":{"247":1}}],["更为详细",{"2":{"186":1}}],["更不能指望让服务器自己修复",{"2":{"173":1}}],["更换为",{"2":{"240":2}}],["更换正版皮肤",{"2":{"135":1}}],["更换皮肤",{"2":{"135":1}}],["更新内容如下",{"2":{"236":1}}],["更新公告",{"0":{"236":1},"1":{"237":1,"238":1,"239":1,"240":1,"241":1,"242":1},"2":{"233":1}}],["更新",{"2":{"169":1}}],["更新java",{"2":{"169":1}}],["更新指定标签的线的属性",{"2":{"133":1}}],["更新指定标签的区域的属性",{"2":{"133":1}}],["更新指定标签的记号集",{"2":{"133":1}}],["更新指定",{"2":{"133":4}}],["更新第一个匹配指定",{"2":{"133":1}}],["更新第一个匹配指定标签的记号的图标或标签",{"2":{"133":1}}],["更新抑制防崩",{"2":{"55":1}}],["更易维护的实施方案",{"2":{"17":1}}],["若tnt在方块列表产生后",{"2":{"225":1}}],["若甲方没有明确反对",{"2":{"114":1}}],["若甲方在一定时间内没有回应",{"2":{"114":1}}],["若甲方明确反对",{"2":{"114":1}}],["若物品有缺失所有者有权在群内询问或联系运维查询",{"2":{"111":1}}],["若对于建筑的属性与所有者有异议",{"2":{"111":1}}],["若不遵守本公约",{"2":{"108":1}}],["若没有矿车",{"2":{"100":1,"120":1}}],["若客户端安装了creeper",{"2":{"53":1}}],["若30秒内",{"2":{"30":1,"58":1}}],["苦力怕爆炸放出烟花",{"2":{"53":1}}],["苦力怕爆炸不破坏地形",{"2":{"49":1,"53":1}}],["挖矿爆宝箱",{"2":{"51":1}}],["e5",{"2":{"254":2}}],["e6",{"2":{"254":1}}],["e9",{"2":{"254":1}}],["eerqnkj3",{"2":{"184":1}}],["e",{"2":{"155":1}}],["e0",{"2":{"147":1}}],["eventbus",{"2":{"147":2}}],["episode",{"0":{"175":1,"215":1},"1":{"176":1,"177":1,"178":1,"179":1,"180":1,"181":1,"182":1,"183":1,"184":1,"185":1,"186":1,"187":1,"188":1,"189":1,"190":1,"191":1,"192":1,"193":1,"194":1,"195":1,"196":1,"197":1,"198":1,"199":1,"200":1,"201":1,"202":1,"203":1,"204":1,"205":1,"206":1,"207":1,"208":1,"209":1,"210":1,"211":1,"212":1,"213":1,"214":1,"216":1,"217":1,"218":1,"219":1,"220":1,"221":1,"222":1,"223":1,"224":1,"225":1,"226":1,"227":1,"228":1,"229":1,"230":1}}],["episode4",{"0":{"172":1}}],["episode3",{"0":{"168":1}}],["episode2",{"0":{"145":1},"1":{"146":1,"147":1,"148":1,"149":1,"150":1,"151":1,"152":1,"153":1,"154":1,"155":1,"156":1}}],["episode1",{"0":{"138":1},"1":{"139":1,"140":1,"141":1,"142":1,"143":1,"144":1}}],["eyes",{"2":{"138":1}}],["errored",{"2":{"155":1}}],["error",{"0":{"157":1},"1":{"158":1,"159":1},"2":{"138":1,"147":2,"149":1,"151":1,"153":1,"157":1,"158":3}}],["edu",{"2":{"135":2}}],["edition",{"2":{"134":1,"236":1,"238":1}}],["edit",{"2":{"126":1}}],["entity",{"0":{"167":1},"2":{"170":1}}],["enough",{"2":{"158":1}}],["encountered",{"2":{"158":1}}],["enum",{"2":{"147":1}}],["end",{"2":{"130":1}}],["enabld",{"2":{"30":1,"58":1}}],["essentialsx",{"2":{"126":6,"240":1}}],["elrepo",{"2":{"126":1}}],["el8",{"2":{"126":1}}],["eihei协助搭建平台",{"2":{"71":1}}],["excellentenchants",{"2":{"232":1}}],["exceeded",{"2":{"164":1}}],["exception",{"2":{"147":2,"150":1,"158":2}}],["extender",{"2":{"147":1}}],["extrabotany是额外植物学",{"2":{"170":1}}],["extrabotany",{"2":{"170":1}}],["extra",{"2":{"55":1,"147":1}}],["exe",{"2":{"147":2}}],["explorify",{"2":{"51":1}}],["合成玩家头颅",{"2":{"51":1}}],["头颅获取",{"2":{"51":1}}],["内用坏",{"2":{"253":1}}],["内存",{"2":{"154":1}}],["内",{"2":{"136":1,"170":1}}],["内含游戏的各种资源如",{"2":{"135":1}}],["内网穿透",{"0":{"89":1}}],["内容扩充",{"0":{"51":1}}],["内可以接收到所有其他服务器的聊天",{"2":{"47":1}}],["部分在启动阶段时发生的崩溃中",{"2":{"170":1}}],["部分",{"2":{"134":1}}],["部分应用的fz生存数据包",{"2":{"50":1}}],["部门组成",{"0":{"1":1},"1":{"2":1,"3":1,"4":1,"5":1}}],["刷石机使用时请勿离开",{"2":{"63":1}}],["刷线",{"2":{"50":1}}],["刷沙机1",{"0":{"73":1}}],["刷沙",{"2":{"50":1}}],["需要只显示部分蓝图",{"2":{"189":1}}],["需要获取的物品",{"2":{"180":1}}],["需要大量的经验积累才能从报错转化为解决方案",{"2":{"173":1}}],["需要mixin在代码运行时进行注入来达到改变的目的",{"2":{"170":1}}],["需要使用一些其他的方法",{"2":{"170":1}}],["需要自己使用的物品均",{"2":{"111":1}}],["需要注意的是",{"2":{"105":1,"121":1,"226":1,"228":1}}],["需要bladeren",{"2":{"50":1}}],["需要在客户端上安装与mc版本匹配的allmusic才能听歌",{"2":{"30":1,"58":1}}],["地图名称",{"2":{"136":1}}],["地图自动识别",{"2":{"50":1,"56":1}}],["地下城",{"2":{"135":1}}],["地势开阔",{"2":{"120":1}}],["地面上右侧的大箱子为输入",{"2":{"104":1}}],["地狱坐标",{"2":{"72":1}}],["地狱门出来后等待一小会",{"2":{"70":1}}],["地狱门在仓库二楼",{"2":{"65":1}}],["地址",{"2":{"21":1,"22":1,"23":1,"248":1}}],["和日志",{"2":{"138":1}}],["和鼠标左键并且拖动鼠标可以快速移动物品",{"2":{"137":1}}],["和资源包一样",{"2":{"136":1}}],["和国内的",{"2":{"136":1}}],["和标签的新图标",{"2":{"133":1}}],["和标签的记号",{"2":{"133":2}}],["和",{"2":{"50":1,"56":1,"136":3}}],["饱食度显示",{"2":{"50":1,"56":1}}],["数字键",{"2":{"212":1}}],["数字电路",{"2":{"5":1}}],["数据包只作用于安装了这个数据包的地图",{"2":{"136":1}}],["数据包可用于覆盖或添加新的进度",{"2":{"136":1}}],["数据包是",{"2":{"136":1}}],["数据包介绍以及安装",{"0":{"136":1}}],["数据包",{"2":{"134":2,"136":1}}],["数据同步协议",{"2":{"50":1,"55":1}}],["精确放置协议",{"2":{"50":1,"56":1}}],["火焰不蔓延",{"2":{"49":1}}],["仅滑动鼠标滚轮",{"2":{"211":1}}],["仅支持台阶的精准放置",{"2":{"190":1}}],["仅能够实现正版登陆",{"2":{"135":1}}],["仅包含最基本功能的启动器",{"2":{"135":1}}],["仅用于单个使用",{"2":{"229":1}}],["仅用于portal",{"2":{"130":1}}],["仅用于house",{"2":{"130":1}}],["仅作参考",{"2":{"123":1}}],["仅限频道",{"2":{"48":1}}],["仅自己可见",{"2":{"40":1}}],["互通群",{"2":{"48":1}}],["互联网+",{"2":{"6":1}}],["各种人",{"2":{"75":1}}],["各服务器",{"2":{"47":1}}],["各高校可以在保留原有的接入方式的情况下",{"2":{"17":1}}],["从小学开始看红叔视频就想着日后也要找个服务器一起玩",{"2":{"247":1}}],["从",{"2":{"237":1}}],["从末地之渊中生长出来的参天巨木",{"2":{"237":1}}],["从相对复杂的推爆室到仙人掌农场的几根栅栏",{"2":{"223":1}}],["从所有拖过的槽位中丢掉所有物品",{"2":{"211":2}}],["从所有拖过的槽位中丢掉一个物品",{"2":{"211":1}}],["从物品出发",{"2":{"180":1}}],["从1",{"2":{"165":1}}],["从curseforge或modrinth上下载下来的文件名",{"2":{"162":1}}],["从其字面意思上看",{"2":{"160":1}}],["从而达成复制",{"2":{"225":1}}],["从而减少多余漏斗的使用呢",{"2":{"222":1}}],["从而形成短时间大量的物品流",{"2":{"219":1}}],["从而通过最开始的检查",{"2":{"162":1}}],["从而让特定群体的玩家能够登陆某个服务器",{"2":{"135":1}}],["从而使各个高校的玩家可以在各个成员学校服务器直接自由进出",{"2":{"17":1}}],["从这里可以看出",{"2":{"131":1}}],["从上往下依次匹配",{"2":{"130":1}}],["从公寓大厅开始",{"2":{"105":1}}],["从神殿的中央水柱向上离开神殿",{"2":{"105":1}}],["从神殿的中央水柱向下",{"2":{"104":1}}],["从下界传送门广场向东拾级而下",{"2":{"104":1}}],["从地狱门离开即可",{"2":{"74":1}}],["从地狱门出来后沿脚手架爬下",{"2":{"72":1}}],["从地狱门出来后经脚手架向上有个笼子",{"2":{"71":1}}],["从活板门测跳下",{"2":{"70":1}}],["从交流群中获取互通群的群号后进入",{"2":{"47":1}}],["快捷键改变高度",{"2":{"189":2}}],["快速合成的几个快捷键缺一不可",{"2":{"212":1}}],["快速合成",{"0":{"212":1}}],["快速移动整个背包",{"2":{"137":1}}],["快速回复回复你的最后一位玩家",{"2":{"27":1}}],["快说谢谢fufu",{"2":{"46":1}}],["花fufu群",{"2":{"47":1}}],["花fufu在fdc各服务器和互通群内放置了自己的话筒和花花",{"2":{"46":1}}],["花fufu",{"0":{"46":1},"1":{"47":1,"48":1}}],["交流群内公开提出",{"2":{"108":1}}],["交流群内发送",{"2":{"45":1}}],["交流群与",{"2":{"76":1}}],["交大mc社b站直播间状态",{"2":{"45":1}}],["返回内容",{"2":{"45":1,"48":1}}],["感谢",{"2":{"257":1}}],["感谢群里面大佬们的即时帮助",{"2":{"247":1}}],["感谢冒险家们的理解与支持",{"2":{"242":1}}],["感谢标宝提供的前期的christina机器人支持",{"2":{"44":1}}],["感受到传统文化与现代技术碰撞的精妙美丽",{"2":{"6":1}}],["小麦种子",{"2":{"219":1}}],["小心openj9",{"2":{"154":1}}],["小地图",{"2":{"137":1}}],["小unicorn",{"0":{"44":1},"1":{"45":1}}],["小游戏服",{"0":{"13":1}}],["用户均可使用",{"2":{"256":1}}],["用户中心等服务器上的相关数据",{"2":{"108":1}}],["用户中心",{"0":{"11":1,"248":1},"2":{"135":2,"233":1,"248":1,"257":2}}],["用来代表透明方块",{"2":{"216":1}}],["用于代表实体方块",{"2":{"216":1}}],["用于铺设大量相同方块",{"2":{"199":1}}],["用于获取史莱姆",{"2":{"71":1}}],["用于获取袭击buff",{"2":{"70":1}}],["用的是外置登陆模式",{"2":{"135":1}}],["用弓箭击杀队长再从气泡柱上来",{"2":{"70":1}}],["用法",{"2":{"70":1,"71":1,"72":1,"73":1,"74":1}}],["用途",{"2":{"70":1,"71":1}}],["用uuid替换玩家名",{"2":{"40":1}}],["物品流分析",{"0":{"218":1},"1":{"219":1,"220":1,"221":1,"222":1}}],["物品收集模块指机器中用于将掉落物收集到容器",{"2":{"217":1}}],["物品收集模块",{"0":{"217":1},"1":{"218":1,"219":1,"220":1,"221":1,"222":1}}],["物品的再生方式都有所不同",{"2":{"182":1}}],["物品采集模块指机器中将再生物",{"2":{"223":1}}],["物品采集模块",{"0":{"223":1},"1":{"224":1,"225":1,"226":1,"227":1,"228":1,"229":1,"230":1}}],["物品采集",{"2":{"179":1}}],["物品再生",{"2":{"179":1}}],["物品或者方块时",{"2":{"165":1}}],["物品滚轮",{"2":{"137":1}}],["物品仓库储存了几乎所有种类的物品",{"2":{"104":1}}],["物品",{"2":{"40":1}}],["物理腐竹",{"2":{"9":1}}],["生物",{"0":{"224":1}}],["生物等",{"2":{"223":1}}],["生物id",{"2":{"40":1}}],["生存模式下的上帝模式",{"2":{"256":1}}],["生存模式背包有概率丢失",{"2":{"241":1}}],["生存世界",{"2":{"119":1,"120":1,"237":2,"242":1}}],["生存红石",{"2":{"5":1}}],["生电是模块化的生电",{"0":{"179":1}}],["生电是一门为了满足生存的需要而出现",{"2":{"177":1}}],["生电机器设计的基本流程",{"0":{"180":1}}],["生电机器发生冲突时",{"2":{"114":1}}],["生电机器",{"2":{"113":1,"130":1,"178":1}}],["生电服",{"2":{"109":1}}],["生电",{"0":{"54":1,"80":1},"1":{"55":1,"56":1},"2":{"177":1}}],["生电友好",{"0":{"50":1}}],["但作为新生",{"2":{"247":1}}],["但服务器却不断地涌入新的血液",{"2":{"247":1}}],["但愿基岩社如基岩一般坚韧",{"2":{"247":1}}],["但由于某些原因通常不开启",{"2":{"232":1}}],["但由于主城已换",{"2":{"120":1}}],["但难以运用于飞行器上",{"2":{"228":1}}],["但如果仅使用5个漏斗",{"2":{"219":1}}],["但如果你是非酋",{"2":{"74":1}}],["但十分不建议这样做",{"2":{"216":1}}],["但个人认为printer可以作为简单放置的一个重要补充",{"2":{"193":1}}],["但实装完并不代表你学会了相关的知识",{"2":{"183":1}}],["但实际上",{"2":{"169":1}}],["但全物品是个例外",{"2":{"179":1}}],["但这并不代表不可切分的模块都是一个方块的",{"2":{"179":1}}],["但那个mod不一定会在stacktrace中出现",{"2":{"171":1}}],["但并不绝对",{"2":{"170":1}}],["但内部依旧使用数字id",{"2":{"165":1}}],["但有时候也会发生在server",{"2":{"157":1}}],["但一般都有文件名与mod",{"2":{"155":1}}],["但属于功能性建筑的一部分",{"2":{"111":1}}],["但不能修改外部墙体",{"2":{"105":1}}],["但不保存",{"2":{"39":1}}],["但是还是希望能为服务器建设干点活的",{"2":{"247":1}}],["但是还是有可能产生",{"2":{"69":1}}],["但是有在特定坐标失效的风险",{"2":{"230":1}}],["但是变得具有方向性",{"2":{"229":1}}],["但是它会在哪个方向或者坐标失灵则完全依靠测试",{"2":{"228":1}}],["但是它们往往会有副作用",{"2":{"166":1}}],["但是拥有着更加优越的性能与稳定性",{"2":{"222":1}}],["但是当这种单片一次吸收大量物品时",{"2":{"222":1}}],["但是如果你能够理解基础单片的运作原理",{"2":{"222":1}}],["但是这些机器输出的物品流往往具有着一定冲击流的性质",{"2":{"220":1}}],["但是这个功能才是tweakeroo的精华",{"2":{"201":1}}],["但是这个错误经常是在一个mod引用其他的mod的类时发生的",{"2":{"160":1}}],["但是其缺点也很明显",{"2":{"219":1}}],["但是其结果是自动随机分配参数而不是留空",{"2":{"130":1}}],["但是最后留下一个",{"2":{"211":2}}],["但是实际应用中常用的只有标蓝的快捷键",{"2":{"211":1}}],["但是实际的交互范围仍然在原地",{"2":{"202":1}}],["但是原版是可行的",{"2":{"201":1}}],["但是原版并不开源",{"2":{"170":1}}],["但是开启时跳跃会变得困难",{"2":{"197":1}}],["但是保持原来的速度",{"2":{"197":1}}],["但是完全不能替代简单放置",{"2":{"193":1}}],["但是不能支持中继器档位的自动调节",{"2":{"193":1}}],["但是许多机器具有方向性",{"2":{"187":1}}],["但是设计新的模块通常需要对红石与各种机制有较为深刻的认识",{"2":{"180":1}}],["但是全物品显然没有在创造中建造的必要",{"2":{"178":1}}],["但是作为服务器运维与社团少有的技术工",{"2":{"173":1}}],["但是中文文件名依然会带来潜在的崩溃风险",{"2":{"162":1}}],["但是普通玩家可能并不知道",{"2":{"155":1}}],["但是由于mc输出的崩溃报告可读性极差",{"2":{"169":1}}],["但是由于启动器打包出错",{"2":{"145":1}}],["但是由于国内的下载以及更新速度极慢",{"2":{"135":1}}],["但是",{"2":{"141":1}}],["但是国内打开速度较慢",{"2":{"137":1}}],["但是缺点是只能加入一些无正版验证",{"2":{"135":1}}],["但是为了更易维护",{"2":{"129":1}}],["但是更建议通过花fufu转发的方式来进行通信",{"2":{"128":1}}],["但是爆率有限",{"2":{"98":1}}],["但是暂时没有床",{"2":{"73":1}}],["但是容易点错",{"2":{"30":1,"58":1}}],["但请不要滥用",{"2":{"65":1}}],["但依然造成伤害并摧毁掉落物",{"2":{"49":1,"53":1}}],["查阅该物品的再生方式与采集方式",{"2":{"180":1}}],["查箱子呼叫op",{"2":{"53":1}}],["查询全局的方块变化",{"2":{"53":1}}],["查询附近的方块变化",{"2":{"53":1}}],["查询开服时间",{"2":{"41":1}}],["查询某个玩家某个快速计分板的数值",{"2":{"39":1}}],["查询某个玩家某个统计内容的数值",{"2":{"39":1}}],["查看更加详细的信息",{"2":{"192":1}}],["查看",{"2":{"102":1}}],["查看你的硬件是否符合",{"2":{"77":1}}],["查看fdc在线人数",{"2":{"48":1}}],["查看指令帮助",{"2":{"48":1}}],["查看某个玩家的任务列表",{"2":{"38":1}}],["查看信息更为详细的歌曲列表",{"2":{"30":1,"58":1}}],["查看服务器状态",{"2":{"232":1}}],["查看服务器的规则",{"2":{"28":1}}],["查看服务器当前的mspt",{"2":{"28":1}}],["列出所有线的详细信息",{"2":{"133":1}}],["列出所有区域的详细信息",{"2":{"133":1}}],["列出所有可使用的图标的详细信息",{"2":{"133":1}}],["列出所有的记号",{"2":{"133":1}}],["列出指定记号集中定义的所有记号的详细信息",{"2":{"133":1}}],["列出默认记号集中定义的所有记号的详细信息",{"2":{"133":1}}],["列出已保存的快速计分板",{"2":{"39":1}}],["列出一位玩家附近",{"2":{"28":1}}],["标签",{"2":{"136":1}}],["标签和当前的角列表创建新的区域并将其添加到指定的记号集",{"2":{"133":1}}],["标签名",{"2":{"19":1}}],["标签名首字母排序",{"0":{"18":1}}],["标记的唯一标识符",{"2":{"130":1}}],["标记点更新",{"0":{"132":1}}],["标记点删除",{"0":{"131":1}}],["标记点添加",{"0":{"130":1}}],["标记点",{"0":{"129":1},"1":{"130":1,"131":1,"132":1,"133":1}}],["标宝",{"2":{"44":1}}],["标题",{"2":{"39":2}}],["统计原理图全部的方块还是只统计渲染的方块",{"2":{"191":1}}],["统计内容",{"2":{"39":4,"40":1}}],["统计类别",{"2":{"39":4,"40":1}}],["代表序号",{"2":{"130":1}}],["代名",{"2":{"39":5}}],["代号",{"2":{"12":1,"13":1,"14":1,"15":1,"21":1,"22":1,"23":1,"256":1,"257":1}}],["重启游戏",{"2":{"169":1}}],["重新引入1",{"2":{"50":1}}],["重命名某个任务",{"2":{"38":1}}],["重置所有关于hud的设置",{"2":{"30":1,"58":1}}],["oolloo",{"2":{"170":1}}],["oblivion",{"2":{"156":1}}],["object",{"2":{"147":1}}],["optimiser",{"2":{"240":1}}],["optional",{"2":{"107":1}}],["operating",{"2":{"154":1}}],["or",{"2":{"150":1,"158":1}}],["oracle",{"2":{"147":2,"154":1}}],["org",{"2":{"19":1,"91":1,"126":7}}],["out",{"2":{"147":1,"153":1}}],["ought",{"2":{"107":1}}],["occurred",{"0":{"157":1},"1":{"158":1,"159":1},"2":{"147":1,"149":1,"153":1,"157":1,"158":1}}],["only",{"2":{"190":1}}],["online",{"2":{"48":1}}],["onserverstart",{"2":{"158":1}}],["one",{"2":{"77":1}}],["official",{"2":{"147":31,"150":1}}],["of",{"2":{"51":1,"147":1,"151":1,"156":1}}],["old",{"2":{"38":1}}],["overview",{"2":{"38":1}}],["其声明已修复",{"2":{"240":1}}],["其具有着许多的优点",{"2":{"229":1}}],["其再生模块的设计经历了多个版本后才有了一个合理的高效设计",{"2":{"180":1}}],["其目标十分明确",{"2":{"180":1}}],["其解决方法也是通过穷举法找到的",{"2":{"172":1}}],["其字面意思是",{"2":{"164":1}}],["其报错描述往往是下面这句没有任何有效信息的话",{"2":{"160":1}}],["其出错的原因是forge的核心文件发生了损坏",{"2":{"159":1}}],["其名称表明了其为那天的第几个日志",{"2":{"144":1}}],["其实质其实只是把",{"2":{"136":1}}],["其中又有70",{"2":{"150":1}}],["其中2023",{"2":{"146":1}}],["其中前两者在国内的用户数较多",{"2":{"135":1}}],["其中url必须为直链",{"2":{"34":1}}],["其优点是单机游玩体验和正版并无二致",{"2":{"135":1}}],["其命名规则与该建筑的属性与位置相对应",{"2":{"130":1}}],["其参数的填写有一个比较复杂的规则",{"2":{"129":1}}],["其将转变为公共物品",{"2":{"111":1}}],["其他乱七八糟的东西",{"0":{"156":1}}],["其他类型的exception有95",{"2":{"150":1}}],["其他网站如",{"2":{"136":1}}],["其他一切建筑均属于观赏性建筑",{"2":{"113":1}}],["其他的相关群聊",{"2":{"76":1}}],["其他",{"0":{"35":1,"41":1,"56":1,"95":1}}],["带参数为删除一定范围内的图片",{"2":{"34":1}}],["带着镣铐跳舞",{"2":{"6":1}}],["删除了大厅周围由错误的地图生成器生成的区块",{"2":{"239":1}}],["删除指定标签的线",{"2":{"133":1}}],["删除指定标签的区域",{"2":{"133":1}}],["删除指定标签的记号集",{"2":{"133":1}}],["删除指定",{"2":{"133":4}}],["删除第一个匹配指定",{"2":{"133":1}}],["删除第一个匹配指定标签的记号",{"2":{"133":1}}],["删除某个任务的负责人",{"2":{"38":1}}],["删除某个任务",{"2":{"38":1}}],["删除图片",{"2":{"34":1}}],["删除一个你创建的家",{"2":{"29":1,"57":1}}],["using",{"2":{"156":1}}],["users",{"2":{"147":1,"153":1,"158":1}}],["userdev",{"2":{"147":4}}],["used",{"2":{"40":2}}],["u",{"2":{"155":1}}],["util",{"2":{"147":7}}],["updateline",{"2":{"133":2}}],["updatearea",{"2":{"133":2}}],["updateicon",{"2":{"133":1}}],["updateset",{"2":{"133":2}}],["update",{"2":{"132":2,"133":2}}],["up",{"2":{"40":2,"147":1}}],["uuid",{"2":{"39":2,"40":1}}],["unexpected",{"2":{"158":1}}],["university",{"2":{"254":1}}],["universal",{"2":{"158":1}}],["union",{"2":{"18":1}}],["unofficial",{"2":{"156":1}}],["unloaded",{"2":{"155":1}}],["underwater",{"2":{"51":1}}],["undone",{"2":{"38":1}}],["unresponsible",{"2":{"38":1}}],["unres",{"2":{"38":1}}],["url",{"2":{"34":1,"147":1}}],["i",{"2":{"155":1}}],["ifelse",{"2":{"147":2}}],["isekai",{"2":{"156":1}}],["issue",{"2":{"147":1}}],["is",{"2":{"138":1,"147":1,"151":1,"156":1,"158":1}}],["i+c",{"2":{"137":1}}],["its",{"2":{"147":1,"151":1}}],["itemscroller",{"0":{"210":1},"1":{"211":1,"212":1}}],["item",{"2":{"137":1}}],["ithil",{"2":{"62":1,"66":1,"71":1}}],["icons",{"2":{"133":1}}],["icon",{"2":{"130":4,"132":2,"133":8}}],["id就会越界导致崩溃",{"2":{"165":1}}],["id的对应",{"2":{"155":1}}],["id的形式出现的",{"2":{"155":1}}],["id与规则",{"2":{"130":1}}],["id对应",{"2":{"130":1}}],["id",{"0":{"164":1},"1":{"165":1,"166":1},"2":{"130":6,"131":3,"132":6,"133":71,"147":1,"155":1,"164":2,"235":1}}],["io",{"2":{"126":1}}],["inc",{"2":{"156":1}}],["installed",{"2":{"158":1}}],["instance",{"2":{"156":1}}],["insideplugins",{"2":{"91":1}}],["initialized",{"2":{"155":3}}],["inject",{"2":{"147":1}}],["injector",{"2":{"126":2}}],["invalid",{"0":{"164":1},"1":{"165":1,"166":1},"2":{"164":1}}],["invoke",{"2":{"147":6}}],["invoke0",{"2":{"147":2}}],["inventory",{"2":{"137":1}}],["individual",{"2":{"130":2}}],["industry",{"2":{"130":1}}],["indestructia鞘翅",{"2":{"104":1}}],["info的提示不是上面那种情况",{"2":{"159":1}}],["info的failure",{"2":{"158":1}}],["info",{"2":{"30":1,"48":1,"58":1,"147":3,"153":4,"157":1}}],["images",{"2":{"34":2}}],["将两种大吸力的单片进行堆叠",{"2":{"222":1}}],["将视线对准容器后按下快捷键",{"2":{"206":1}}],["将gamma值调节为默认1500",{"2":{"203":1}}],["将会将方块放在一些正常难以放置的位置",{"2":{"201":1}}],["将三个模块组合",{"2":{"180":1}}],["将启动器发送的压缩包解压到某个文件夹中",{"2":{"143":1}}],["将指定的坐标作为一个角添加到列表",{"2":{"133":1}}],["将指定的文件设为指定",{"2":{"133":1}}],["将玩家的当前位置作为一个角添加到列表",{"2":{"133":1}}],["将第一个匹配指定",{"2":{"133":1}}],["将第一个匹配指定标签的记号移动至玩家的当前位置",{"2":{"133":1}}],["将物品放置于公共容器内意味着放弃对该物品的所有权",{"2":{"111":1}}],["将绿宝石和一本书名为玩家名的成书丢地上",{"2":{"51":1}}],["将某个任务标记为未完成",{"2":{"38":1}}],["将某个任务标记为完成",{"2":{"38":1}}],["将你标记为暂时离开",{"2":{"33":1,"35":1}}],["将以最饱满的热情服务复旦大学所有热爱",{"2":{"7":1}}],["自适应打包",{"2":{"221":1}}],["自动补货",{"0":{"204":1}}],["自动替换背包中耐久更高的工具",{"2":{"137":1}}],["自动将标签设为",{"2":{"133":2}}],["自定义世界生成和生物群系",{"2":{"136":1}}],["自己挖矿合成",{"2":{"100":1,"120":1}}],["自己生存",{"2":{"96":1}}],["自决",{"2":{"33":1,"35":1}}],["自由探索世界",{"2":{"121":1}}],["自由点评",{"2":{"6":1}}],["自由分享",{"2":{"6":1}}],["kunjang",{"2":{"232":1}}],["kaihei",{"2":{"183":1}}],["kernel",{"2":{"126":1}}],["known",{"2":{"147":1,"151":1}}],["know",{"2":{"107":1}}],["kook",{"2":{"76":2}}],["killed",{"2":{"40":4}}],["kit",{"2":{"33":1,"35":1,"123":1,"242":1,"246":1}}],["kyln24",{"2":{"8":1,"9":1}}],["w",{"2":{"211":2}}],["white",{"2":{"165":2}}],["which",{"2":{"156":1}}],["was",{"2":{"156":1,"160":1}}],["walkthrough",{"2":{"147":1,"151":1}}],["warp",{"2":{"103":1,"104":1}}],["www",{"2":{"126":9,"183":1,"184":1,"186":3,"210":1,"217":1,"224":1,"232":1}}],["workspace",{"2":{"147":1,"153":1}}],["worldserverof是optifine",{"2":{"170":1}}],["worldserverof",{"2":{"170":1}}],["worldmap",{"2":{"137":1}}],["worldname",{"2":{"133":1}}],["worldedit",{"2":{"126":1}}],["worldedit与axiom的指令不会在此处列出",{"2":{"26":1}}],["world",{"2":{"50":1,"56":1,"126":1,"133":2}}],["would",{"2":{"107":1}}],["won",{"2":{"107":1}}],["weather",{"2":{"256":1}}],["were",{"2":{"147":1,"153":1}}],["we",{"2":{"107":1}}],["webregister",{"2":{"32":1}}],["windows",{"2":{"147":1,"154":1}}],["with",{"2":{"138":1,"170":1}}],["without",{"2":{"138":1}}],["wide",{"2":{"127":1}}],["wish",{"2":{"107":1}}],["wild",{"2":{"51":1}}],["wikis",{"2":{"232":1}}],["wiki上只提供最基本的知识",{"2":{"183":1}}],["wiki搜索界面",{"2":{"182":1}}],["wiki",{"2":{"40":1,"126":1,"180":1,"182":6,"232":1,"254":1}}],["爬",{"2":{"31":1}}],["躺下的方向与你的朝向相同",{"2":{"31":1}}],["椅子",{"0":{"31":1,"59":1},"2":{"59":1}}],["调整专辑封面的大小",{"2":{"30":1,"58":1}}],["开始全新的冒险之旅吧",{"2":{"236":1}}],["开始新旅程",{"0":{"106":1,"124":1}}],["开始新的旅程吧",{"2":{"96":1,"106":1,"124":1}}],["开头不重要的部分",{"0":{"148":1}}],["开荒仓库旁边",{"2":{"66":1}}],["开荒仓库",{"0":{"65":1}}],["开启后每隔一段时间单击一下左右键",{"2":{"208":1}}],["开启后会长按左右键",{"2":{"205":1}}],["开启后",{"2":{"195":1,"196":1,"197":1,"198":1,"199":1,"200":1,"201":1,"202":1,"203":1,"204":1,"206":1,"207":1,"209":1}}],["开启查询模式",{"2":{"53":1}}],["开启",{"2":{"30":1,"58":1}}],["开放了对角色皮肤的高度定制权限",{"2":{"6":1}}],["播放列表",{"2":{"30":1,"58":1}}],["歌词",{"2":{"30":1,"58":1}}],["歌曲信息",{"2":{"30":1,"58":1}}],["专辑封面",{"2":{"30":1,"58":1}}],["ystgod",{"2":{"235":1}}],["yushi",{"2":{"126":1}}],["your",{"2":{"138":1}}],["you",{"2":{"107":1}}],["y",{"2":{"30":1,"58":1,"133":3}}],["yggdrasil",{"2":{"11":1,"257":1}}],["x+c",{"2":{"194":1}}],["xjtumc",{"2":{"257":1}}],["xjtu",{"2":{"190":1}}],["xekr的教程",{"2":{"186":1}}],["xekr的建筑学理论",{"2":{"82":1}}],["xekr红石显示",{"0":{"185":1}}],["xx",{"2":{"147":2}}],["xxx",{"2":{"138":1,"145":1,"162":1}}],["xxxx",{"2":{"37":1}}],["x3c",{"2":{"147":1}}],["x2048x",{"2":{"69":1,"70":1,"72":1}}],["xaero的地图套装",{"2":{"137":1}}],["xaero",{"2":{"50":2,"56":2,"137":2}}],["x与y的值请自行进行调试",{"2":{"30":1,"58":1}}],["x",{"2":{"30":1,"58":1,"133":3,"147":1}}],["xyz",{"2":{"11":2,"12":2,"15":1,"128":1,"257":3}}],["则会使体积进一步增大",{"2":{"219":1}}],["则会切歌",{"2":{"30":1,"58":1}}],["则位于配置界面",{"2":{"194":1}}],["则乙方",{"2":{"114":1}}],["则乙方不得强制征用甲方的用地",{"2":{"114":1}}],["则请在醒目的地方标注其不是功能性建筑",{"2":{"113":1}}],["则视为观赏性建筑",{"2":{"113":1}}],["则视为同意本公约",{"2":{"108":1}}],["则需要关闭拉杆",{"2":{"74":1}}],["则后面的参数是必需的",{"2":{"29":1,"57":1}}],["包括",{"2":{"256":1}}],["包括子任务",{"2":{"38":1}}],["包括发起者在内共有2个人同意切歌",{"2":{"30":1,"58":1}}],["包括但不限于私家住宅",{"2":{"113":1}}],["包括但不限于利用游戏机制生产物品",{"2":{"113":1}}],["包括但不限于农奴制",{"2":{"108":1}}],["包括但不限于账号",{"2":{"108":1}}],["包括但不限于禁止进入fdcraft下游服务器",{"2":{"108":1}}],["包括但不限于",{"2":{"2":1,"5":1,"111":1}}],["vm",{"2":{"147":2}}],["vegetablest",{"2":{"235":1}}],["versions",{"2":{"158":1}}],["version",{"2":{"138":1,"144":2,"147":6,"154":3,"155":1,"156":2,"190":2}}],["velocity跨服",{"0":{"25":1}}],["vanilla",{"2":{"248":1}}],["value",{"2":{"133":4}}],["vault",{"2":{"126":2}}],["voxelmap",{"2":{"137":1}}],["voidgen",{"2":{"126":2}}],["vote来同意",{"2":{"30":1,"58":1}}],["vote",{"2":{"30":1,"58":1}}],["villiger",{"2":{"240":1}}],["villages",{"2":{"51":2}}],["village",{"2":{"51":1,"130":1}}],["video",{"2":{"184":1,"186":2,"210":1,"217":1,"224":1}}],["view",{"2":{"126":1}}],["点击",{"2":{"211":1}}],["点击的次数",{"2":{"200":1}}],["点击左侧聊天栏的",{"2":{"97":1}}],["点击中央音符盒结束刷沙",{"2":{"73":1}}],["点击中央音符盒开始刷沙",{"2":{"73":1}}],["点相应序号的歌曲",{"2":{"30":1,"58":1}}],["点歌",{"0":{"30":1,"58":1}}],["不继承二周目的背包与数据",{"2":{"257":1}}],["不断有新鲜血液加入",{"2":{"247":1}}],["不仅是minecraft标志性的方块",{"2":{"247":1}}],["不同机器的物品采集模块差异相当大",{"2":{"223":1}}],["不同于物品收集模块",{"2":{"223":1}}],["不就消除了串线的风险了吗",{"2":{"222":1}}],["不能仅仅根据纸面数据计算",{"2":{"219":1}}],["不能单独看其纸面数据来计算所需漏斗倍速",{"2":{"218":1}}],["不能分类不可堆叠物品",{"2":{"104":1}}],["不会消耗",{"2":{"226":1}}],["不会从边缘掉下去",{"2":{"197":1}}],["不会点错",{"2":{"30":1,"58":1}}],["不常用",{"2":{"189":2}}],["不替换现有方块",{"2":{"188":3}}],["不允许被直接修改",{"2":{"170":1}}],["不带re",{"2":{"170":1}}],["不带参数为点击删除图片",{"2":{"34":1}}],["不过依然一眼就能看出来",{"2":{"158":1}}],["不过请记住",{"2":{"136":1}}],["不可能是渲染问题等",{"2":{"146":1}}],["不可共存",{"2":{"136":1}}],["不要点",{"2":{"140":1}}],["不解压也可以正常使用",{"2":{"136":1}}],["不妨通过传送门回到",{"2":{"123":1}}],["不属于公共容器",{"2":{"117":1}}],["不包括装饰",{"2":{"114":1}}],["不适用上述各条",{"2":{"111":1}}],["不适用这里的命令",{"2":{"39":1}}],["不符合私人容器定义的容器均属于公共容器",{"2":{"111":1}}],["不乘坐复读地铁1号线是因为沙堡",{"2":{"103":1}}],["不用管剩下的怪物",{"2":{"74":1}}],["不定期开放",{"2":{"13":1,"15":1}}],["这也是笔者的第一篇通讯稿",{"2":{"247":1}}],["这也是mixinbooter的文件名变来变去",{"2":{"162":1}}],["这天下午",{"2":{"247":1}}],["这款tnt复制的耗材更少",{"2":{"230":1}}],["这和更新顺序",{"2":{"226":1}}],["这使得末端的漏斗往往跑不到9k",{"2":{"222":1}}],["这使得这些机器无法使用循环水道",{"2":{"220":1}}],["这使得在设计收集时",{"2":{"219":1}}],["这使得单个漏斗的效率会远小于9k",{"2":{"219":1}}],["这使得mc没有输出崩溃报告",{"2":{"161":1}}],["这些都是美好的回忆",{"2":{"247":1}}],["这些列表中的方块均将逐一变为",{"2":{"225":1}}],["这些机器都可以直接用于在生存实装",{"2":{"183":1}}],["这些崩溃报告都具有典型的特征",{"2":{"172":1}}],["这有助于后续进行诊断并规避风险",{"2":{"170":1}}],["这一类报错有一大堆变种",{"2":{"167":1}}],["这一类报错的特征是抛出以下两种异常",{"2":{"160":1}}],["这一类报错的特征是这样的",{"2":{"157":1,"164":1}}],["这点和指令不一样",{"2":{"165":1}}],["这就要提到mc如何处理物品的方式了",{"2":{"165":1}}],["这种tnt复制模块更适合横向堆叠或者竖向堆叠",{"2":{"230":1}}],["这种设计每个漏斗每次能吸收",{"2":{"222":1}}],["这种分类单片单次能吸收更多的物品",{"2":{"222":1}}],["这种分类单片填充物品的样式为",{"2":{"222":1}}],["这种情况在开发环境中更多见",{"2":{"163":1}}],["这种情况还有一个明显的特征",{"2":{"157":1}}],["这种方法无需查找id",{"2":{"30":1,"58":1}}],["这部分的内容会随着报错的改变而改变",{"2":{"153":1}}],["这时候cause",{"2":{"150":1}}],["这时候你可以尝试在日志中搜索",{"2":{"145":1}}],["这样方块列表产生后提供nc更新就能复制tnt",{"2":{"227":1}}],["这样就得到了一种大吸力分类单片",{"2":{"222":1}}],["这样能单次吸收63个物品",{"2":{"222":1}}],["这样做一般不会导致崩溃的发生",{"2":{"162":1}}],["这样做还有另外一个原因",{"2":{"145":1}}],["这样的正版服务器",{"2":{"135":1}}],["这还远远不够",{"2":{"141":1}}],["这两个",{"2":{"136":1}}],["这里可以设置不进行攻击的实体",{"2":{"196":1}}],["这里可以简单理解为生物",{"2":{"196":1}}],["这里记载了一些环境相关的信息",{"2":{"154":1}}],["这里就是你的第一个家了",{"2":{"121":1}}],["这里是复读大陆的旧主城",{"2":{"120":1}}],["这里是复读大陆的主城",{"2":{"120":1}}],["这里是服务器的传送中心",{"2":{"97":1}}],["这是上面tnt复制的一个变种",{"2":{"229":1}}],["这是喷射合成的基础",{"2":{"212":1}}],["这是墙面分类仓库取用物品的快捷键",{"2":{"211":1}}],["这是一个经常被人忽视的功能",{"2":{"201":1}}],["这是其特殊的功能所决定的",{"2":{"179":1}}],["这是因为刷花机的物品流为典型的冲击流",{"2":{"219":1}}],["这是因为",{"2":{"170":1}}],["这是正常现象",{"2":{"143":1}}],["这是什么厉害的东西",{"0":{"122":1}}],["这是fdc的第一个仓库",{"2":{"102":1}}],["这是复读地铁1号线的出生点站",{"2":{"100":1}}],["这是对同学艺术素养的极大考验",{"2":{"6":1}}],["这棵树被称为世界树",{"2":{"97":1,"119":1}}],["这个名字获得了一致赞同",{"2":{"247":1}}],["这个功能需要服务器支持pca同步协议",{"2":{"206":1}}],["这个机器有必要在创造模式中使用吗",{"2":{"178":1}}],["这个崩溃也经常发生在玩家向玩了一段时间的存档又加了mod的时候",{"2":{"166":1}}],["这个问题一般发生在一些旧版本mod上",{"2":{"162":1}}],["这个问题出现的逻辑是这样的",{"2":{"162":1}}],["这个报错的意思是没有找到类",{"2":{"160":1}}],["这个报告的报错为mod",{"2":{"153":1}}],["这个异常长得会不太一样",{"2":{"158":1}}],["这个部分也可以成为诊断的标准",{"2":{"155":1}}],["这个信息一般会写在模组介绍的前几行",{"2":{"136":1}}],["这个标记点在旦星一号上的图标",{"2":{"130":1}}],["这个标记点在旦星一号上的名称",{"2":{"130":1}}],["这个圆形的广场是日月港的中心广场",{"2":{"120":1}}],["这个插件在fdcc与ppf上有部署",{"2":{"84":1}}],["这个一个用于生成贝塞尔曲线并根据模板生成曲线的插件",{"2":{"84":1}}],["这个地图本质上就是个普通的地图",{"2":{"47":1}}],["这个方法能准确地点歌",{"2":{"30":1,"58":1}}],["音乐id",{"2":{"30":1,"58":1}}],["获取崩溃报告",{"2":{"138":1}}],["获取",{"2":{"126":1}}],["获取一句一言",{"2":{"41":1}}],["获取今日人品",{"2":{"41":1}}],["获取任务清单插件的指令列表",{"2":{"38":1}}],["获取指定的物品包",{"2":{"33":1,"35":1}}],["获取旦星一号地空通信的注册码",{"2":{"32":1}}],["获取点歌台的指令列表",{"2":{"30":1,"58":1}}],["获取你",{"2":{"28":1}}],["接下来请通过传送门前往",{"2":{"119":1}}],["接下来请通过传送门前往fdc",{"2":{"97":1}}],["接下来",{"2":{"77":1}}],["接受fdc",{"2":{"47":1}}],["接受传送请求",{"2":{"29":1,"57":1}}],["接入方式较复杂",{"2":{"17":1}}],["请看看下面的推导过程",{"2":{"222":1}}],["请务必询问崩溃发生的瞬间玩家在干什么",{"2":{"170":1}}],["请务必遵守此规定",{"2":{"100":1,"120":1}}],["请注意辨识",{"2":{"234":1}}],["请注意查看",{"2":{"136":1}}],["请注意",{"2":{"136":1}}],["请不要将本页面",{"2":{"138":1}}],["请不要尝试修改旦星一号的标记点",{"2":{"129":1}}],["请不要取用鞘翅",{"2":{"98":1}}],["请好好装扮它吧",{"2":{"121":1}}],["请根据复读公寓领取流程领取你的初始小屋",{"2":{"121":1}}],["请找到一栋高耸入云的建筑",{"2":{"120":1}}],["请回到神樱地铁站",{"2":{"120":1}}],["请回到复读神社地铁站",{"2":{"120":1}}],["请回到复读明珠地铁站",{"2":{"120":1}}],["请出站观赏神樱",{"2":{"120":1}}],["请出站游览",{"2":{"120":1}}],["请拜访复读神社",{"2":{"120":1}}],["请进入复读广场东南侧的地铁口",{"2":{"120":1}}],["请进入地铁口",{"2":{"100":1}}],["请相信工具人团队的判断",{"2":{"113":1}}],["请立即退出服务器",{"2":{"108":1}}],["请参",{"2":{"121":1}}],["请参阅指令帮助",{"2":{"105":1}}],["请参考",{"2":{"77":2}}],["请自行想办法",{"2":{"100":1,"120":1}}],["请你试试点击相关链接下面的按钮",{"2":{"97":1}}],["请前往",{"2":{"97":1,"119":1}}],["请前往教程搬运查看相应教程",{"2":{"26":1}}],["请走过鸟居",{"2":{"97":1,"119":1}}],["请通过微信公众号",{"2":{"76":1}}],["请加入我们的",{"2":{"76":1}}],["请与群内管理员联系",{"2":{"75":1}}],["请求所有在线玩家传送到你的位置",{"2":{"29":1,"57":1}}],["请求指定玩家传送到你的位置",{"2":{"29":1,"57":1}}],["请求传送到指定的玩家",{"2":{"29":1,"57":1}}],["传送权限",{"2":{"256":1}}],["传送门",{"2":{"130":1}}],["传送至出生点",{"2":{"29":1,"57":1}}],["传送你至先前的位置",{"2":{"29":1,"57":1}}],["传送到家的位置",{"2":{"29":1,"57":1}}],["传送",{"0":{"29":1,"57":1}}],["groupmanager+",{"2":{"240":1}}],["graphics",{"2":{"156":1}}],["god",{"2":{"256":1}}],["google",{"2":{"170":1}}],["goldstar",{"2":{"130":1}}],["gitlab",{"2":{"232":1}}],["git",{"2":{"158":4,"240":1}}],["github",{"2":{"77":1,"126":2,"232":1}}],["glass的字符串id来标识物品与方块",{"2":{"165":1}}],["glass",{"2":{"165":1}}],["gl",{"2":{"156":1}}],["gamemode",{"2":{"256":1}}],["game",{"2":{"160":1}}],["gamerenderer",{"2":{"147":4}}],["gala",{"2":{"14":1}}],["gui",{"2":{"147":2}}],["guide",{"2":{"87":1}}],["gz就是2023",{"2":{"144":1}}],["getting",{"2":{"138":1}}],["getpos",{"2":{"28":1}}],["gca",{"2":{"55":1}}],["gt",{"2":{"29":4,"30":7,"34":3,"38":20,"39":22,"40":4,"57":4,"58":7,"130":5,"131":2,"132":10,"133":92,"245":1}}],["指将两种单片或者物品进行交替使用",{"2":{"222":1}}],["指运用生电相关的知识而创造的",{"2":{"178":1}}],["指在生存中运用包括但不限于红石电路与游戏机制",{"2":{"177":1}}],["指示是哪个mod出现了问题",{"2":{"157":1}}],["指定",{"2":{"29":1,"57":1}}],["指出你当前相对于海平面的位置",{"2":{"28":1}}],["指令的问题",{"2":{"239":1}}],["指令查看现有的参数",{"2":{"130":1}}],["指令来在其上进行标记",{"2":{"129":1}}],["指令介绍",{"0":{"52":1},"1":{"53":1,"54":1,"55":1,"56":1,"57":1,"58":1,"59":1,"60":1}}],["指令列表",{"0":{"48":1}}],["指令列表与说明参见leaves",{"2":{"36":1}}],["指令",{"2":{"25":1,"27":1,"28":1,"29":1,"30":1,"31":1,"32":1,"33":1,"34":1,"35":1,"38":1,"39":1,"41":1,"53":1,"57":1,"58":1}}],["指令帮助",{"0":{"24":1},"1":{"25":1,"26":1,"27":1,"28":1,"29":1,"30":1,"31":1,"32":1,"33":1,"34":1,"35":1,"36":1,"37":1,"38":1,"39":1,"40":1,"41":1},"2":{"121":1}}],["啪",{"2":{"28":1}}],["信息hud",{"2":{"191":1}}],["信息显示协议",{"2":{"50":1}}],["信息",{"0":{"28":1},"2":{"191":1}}],["管理玩家在服务器内的邮件",{"2":{"27":1}}],["radeon",{"2":{"156":1}}],["rank",{"2":{"39":2}}],["range",{"2":{"34":1,"164":1,"189":1}}],["roadrunner",{"2":{"156":1}}],["roland",{"2":{"147":1,"153":1}}],["r键整理背包",{"2":{"137":1}}],["rfc",{"2":{"107":2}}],["ruby的刷花机单元为例",{"2":{"219":1}}],["ruby",{"2":{"183":1,"215":1}}],["run",{"2":{"147":4,"158":1}}],["runtimeexception",{"2":{"164":1}}],["runtime",{"2":{"147":1}}],["runtimedistcleaner",{"2":{"147":17}}],["runtick",{"2":{"147":2}}],["ruins",{"2":{"51":1}}],["rules",{"2":{"28":1}}],["rng修复",{"2":{"50":1}}],["rm",{"2":{"38":1}}],["read",{"2":{"183":1}}],["really",{"2":{"107":1}}],["requires",{"2":{"158":3}}],["required",{"2":{"107":1}}],["reflect",{"2":{"147":8,"170":1}}],["renderer",{"2":{"147":2}}],["render",{"2":{"147":5,"152":1}}],["rename",{"2":{"38":1}}],["re",{"2":{"147":22,"150":1,"152":1,"158":1}}],["recomp|forge",{"2":{"147":1}}],["recomp",{"2":{"147":25,"150":1}}],["recommended",{"2":{"107":1}}],["report",{"2":{"145":1,"147":1,"148":1,"156":1}}],["report文件",{"2":{"145":1}}],["report文件夹里面那个最新的文件",{"2":{"144":1}}],["replaymod",{"0":{"93":1}}],["reworked",{"2":{"51":1}}],["resorcepacks",{"2":{"136":1}}],["resource",{"2":{"184":1}}],["resourceloadprogressgui",{"2":{"147":4}}],["resourcepacks",{"2":{"135":1}}],["resources",{"2":{"126":6,"147":1,"153":1}}],["residential",{"2":{"104":1,"130":1}}],["responsible",{"2":{"38":1}}],["res",{"2":{"38":1}}],["reset",{"2":{"30":1,"58":1}}],["remove",{"2":{"38":1}}],["r",{"2":{"27":1}}],["以供外围用户游览",{"2":{"256":1}}],["以防误拿别人的潜影盒",{"2":{"234":1}}],["以肥啾u",{"2":{"219":1}}],["以gt为单位",{"2":{"208":1}}],["以免后续安装模组时产生不必要的麻烦",{"2":{"136":1}}],["以免产生不必要的麻烦",{"2":{"134":1}}],["以声明内容为准",{"2":{"111":1}}],["以复读百科",{"2":{"111":1}}],["以下原理部分源自wiki",{"2":{"224":1}}],["以下所有模组链接均为笔者更加熟悉的",{"2":{"137":1}}],["以下关键词",{"2":{"107":2}}],["以下部门正在寻找协作者",{"2":{"75":1}}],["以及新周目筹备小组全体成员提供的大力支持",{"2":{"257":1}}],["以及其背后的巨大的樱花树",{"2":{"97":1,"119":1}}],["以及解析至该接入点的其他学校的域名",{"2":{"19":1}}],["以后还需要新建非干扰型多核刷铁机",{"2":{"66":1}}],["以上所有服务器状态",{"2":{"45":1}}],["以第三人称描述一件事",{"2":{"27":1}}],["发生错误的线程",{"2":{"152":1}}],["发生错误的时间",{"2":{"148":1}}],["发生错误的地方与其错误类型是相对应的",{"2":{"146":1}}],["发生崩溃时如果找不到崩溃报告",{"2":{"138":1}}],["发光浆果",{"2":{"68":1}}],["发光地衣",{"2":{"68":1}}],["发起投票切歌",{"2":{"30":1,"58":1}}],["发送私信给指定玩家",{"2":{"27":1}}],["发展方向",{"0":{"7":1}}],["消息",{"0":{"27":1,"254":1},"2":{"233":1}}],["tp",{"2":{"256":1}}],["tpa传送",{"2":{"98":1}}],["tpacancel",{"2":{"29":1,"57":1}}],["tpaccept",{"2":{"29":1,"57":1}}],["tpaall",{"2":{"29":1,"57":1}}],["tpahere",{"2":{"29":1,"57":1}}],["tpa",{"2":{"29":1,"57":1,"239":1}}],["tnt仅能被活塞直接或间接破坏的方块",{"2":{"226":1}}],["tnt被覆盖或删除前的时间里",{"2":{"226":1}}],["tnt被覆盖或删除前的时间里被触发",{"2":{"225":1}}],["tnt复制的原理与活塞机制有关",{"2":{"225":1}}],["tnt复制指基于活塞特性来对点燃的tnt进行复制",{"2":{"224":1}}],["tnt复制",{"0":{"224":1}}],["technologies",{"2":{"156":1}}],["tell",{"2":{"39":4,"40":1}}],["tm",{"2":{"147":1,"156":1}}],["txt文件",{"2":{"145":1}}],["txt",{"2":{"138":1,"146":1,"147":1,"158":1,"159":2,"170":1}}],["transformationservice",{"2":{"147":2}}],["troubleshooting",{"2":{"138":1}}],["treasure",{"2":{"51":2}}],["tweakeroo必开功能",{"2":{"202":1}}],["tweakeroo的一切功能都在配置界面设置",{"2":{"194":1}}],["tweakeroo",{"0":{"194":1},"1":{"195":1,"196":1,"197":1,"198":1,"199":1,"200":1,"201":1,"202":1,"203":1,"204":1,"205":1,"206":1,"207":1,"208":1,"209":1},"2":{"137":2}}],["twkbeziertemplate贝塞尔曲线放样插件教程",{"2":{"84":1}}],["this",{"2":{"156":1}}],["that",{"2":{"147":1,"153":1,"160":1}}],["thread",{"2":{"126":3,"147":2,"152":4,"158":2,"232":1}}],["there",{"2":{"160":1}}],["them",{"2":{"156":1}}],["thestarryguard提供的核心保护",{"2":{"53":1}}],["the",{"2":{"51":1,"138":1,"147":2,"151":1,"153":1,"158":1,"160":1}}],["top",{"2":{"256":1}}],["total",{"2":{"147":1}}],["to",{"2":{"107":2,"147":1,"156":1,"158":1,"160":1}}],["towers",{"2":{"51":1}}],["t",{"2":{"107":1,"147":1,"148":1}}],["tutorial",{"2":{"87":1}}],["tsg",{"2":{"53":3}}],["times",{"2":{"156":1}}],["time",{"2":{"147":1,"148":1}}],["tis",{"2":{"55":1}}],["tidal",{"2":{"51":1}}],["ticking",{"0":{"167":1}}],["tick",{"2":{"50":1}}],["tip",{"2":{"26":1,"39":1,"97":3,"98":1,"100":1,"101":2,"102":1,"104":2,"156":1}}],["tjmc",{"2":{"45":1}}],["target",{"2":{"147":1}}],["tab菜单显示",{"2":{"55":1}}],["taverns",{"2":{"51":1}}],["task",{"2":{"38":34}}],["task任务清单",{"0":{"38":1}}],["tag",{"2":{"25":1}}],["type有4个可选项",{"2":{"30":1,"58":1}}],["type",{"2":{"30":2,"58":2}}],["如矢车菊",{"2":{"219":1}}],["如铁头功破基岩",{"2":{"200":1}}],["如糊墙",{"2":{"199":1}}],["如无说明",{"2":{"194":1}}],["如黑山大叔",{"2":{"183":1,"215":1}}],["如单选器",{"2":{"178":1}}],["如渲染问题",{"2":{"171":1}}],["如在github上提issue",{"2":{"171":1}}],["如在复读百科公共设施处注明每天只允许以私人目的获取该机器生产的一半产品之类的声明",{"2":{"111":1}}],["如在复读百科中注明",{"2":{"111":1}}],["如2023",{"2":{"144":1}}],["如版本隔离",{"2":{"135":1}}],["如基岩版",{"2":{"135":1}}],["如何保证这点呢",{"2":{"222":1}}],["如何利用stacktrace对程序进行调试",{"2":{"150":1}}],["如何安装模组",{"2":{"134":2}}],["如何在局限的篇幅上创作出精美的作品",{"2":{"6":1}}],["如",{"2":{"120":1,"156":1,"165":1}}],["如遇冲突",{"2":{"113":1}}],["如不认可",{"2":{"108":1}}],["如隐形展示框",{"2":{"104":1}}],["如珊瑚块",{"2":{"104":1}}],["如圆石",{"2":{"104":1}}],["如今这里已经不再存放物品",{"2":{"102":1}}],["如果为了防止物品堆积而修筑盒子仓库",{"2":{"219":1}}],["如果销毁小麦种子仅需5个",{"2":{"219":1}}],["如果仅从纸面数据来计算",{"2":{"219":1}}],["如果只刷一种花",{"2":{"219":1}}],["如果装备着有水下呼吸附魔的头盔",{"2":{"207":1}}],["如果需要在灵魂出窍时操控本体",{"2":{"202":1}}],["如果背包内没有对应方块而背包的潜影盒内有时",{"2":{"190":1}}],["如果崩溃是由mixin注入冲突导致的",{"2":{"170":1}}],["如果崩溃是在游戏过程中发生的",{"2":{"170":1}}],["如果没有",{"2":{"178":1}}],["如果没有命名规则",{"2":{"131":1}}],["如果没剩下什么就说明失效",{"2":{"170":1}}],["如果去除掉这些还剩下些什么",{"2":{"170":1}}],["如果mc正常输出了崩溃报告",{"2":{"170":1}}],["如果mod",{"2":{"159":1}}],["如果出现了中文前缀",{"2":{"162":1}}],["如果出现袭击失败则需要清理机器内的刌民后重复以上流程",{"2":{"74":1}}],["如果这里出现的是a卡",{"2":{"156":1}}],["如果是mac则是可疑点",{"2":{"154":1}}],["如果一个日志超过了3mb",{"2":{"145":1}}],["如果摆在你面前的是一份日志",{"2":{"145":1}}],["如果压缩包里面的崩溃报告",{"2":{"143":1}}],["如果有",{"2":{"178":1}}],["如果有人只问了问题",{"2":{"138":1}}],["如果有可直接使用",{"2":{"74":1}}],["如果住宅区的材料不够用",{"2":{"104":1}}],["如果您使用xbox",{"2":{"77":1}}],["如果无",{"2":{"74":1}}],["如果发射器自己停止",{"2":{"64":1}}],["如果已经有人发起了投票",{"2":{"30":1,"58":1}}],["如果你仔细看了川川的教程",{"2":{"222":1}}],["如果你对于红石元件的功能完全不了解",{"2":{"222":1}}],["如果你面对的是社群",{"2":{"173":1}}],["如果你见多识广",{"2":{"170":1}}],["如果你发现玩家明明装了前置mod",{"2":{"162":1}}],["如果你在各种日志文件",{"2":{"160":1}}],["如果你看的崩溃报告足够多",{"2":{"156":1}}],["如果你是一个运维",{"2":{"141":1}}],["如果你是普通玩家",{"2":{"141":1}}],["如果你想真正试试自己的运气",{"2":{"123":1}}],["如果你的未完成的工地可能被误判为生电机器",{"2":{"113":1}}],["如果你知道下界交通如何使用的话",{"2":{"100":1}}],["如果你只是来服务器参观",{"2":{"98":1}}],["如果你有意向加入社团",{"2":{"76":1}}],["如果你有多个家",{"2":{"29":1,"57":1}}],["如果你从联合大厅进入fdc",{"2":{"25":1}}],["如fdp",{"2":{"25":1}}],["切记",{"2":{"69":1}}],["切换至fdc下的各个子服",{"2":{"25":1}}],["切实提升同学审美与创新能力",{"2":{"6":1}}],["描述你当前的方位",{"2":{"28":1}}],["描述",{"2":{"25":1,"27":1,"28":1,"29":1,"30":1,"31":1,"32":1,"33":1,"34":1,"35":1,"38":1,"39":1,"40":1,"41":1,"53":1,"57":1,"58":1,"133":1}}],["z",{"2":{"133":3}}],["zf",{"2":{"23":1}}],["zh",{"2":{"18":1,"86":1,"182":1}}],["或拖动",{"2":{"211":1}}],["或许藏着许多有关世界的秘密吧",{"2":{"237":1}}],["或许我们应该先观察文件本身",{"2":{"145":1}}],["或许你可以物色一处将来修房子的好地方",{"2":{"120":1}}],["或者直接使用xplus整合包",{"2":{"184":1}}],["或者整合包",{"2":{"171":1}}],["或者检查这个mod",{"2":{"171":1}}],["或者尝试将mod更新至最新版",{"2":{"163":1}}],["或者去教那个普通玩家直接获取",{"2":{"143":1}}],["或者下面那张图",{"2":{"138":1}}],["或者只把hmcl那个带有黑色粗体字",{"2":{"138":1}}],["或者",{"2":{"113":1,"132":1,"136":1}}],["或者建造属于自己的建筑",{"2":{"105":1}}],["或者自行挖取",{"2":{"104":1}}],["或者输入",{"2":{"97":1}}],["或者进入kook的聊天互通频道",{"2":{"47":1}}],["或查看所有可用的物品包",{"2":{"33":1,"35":1}}],["或某一玩家",{"2":{"28":1}}],["或半径内",{"2":{"28":1}}],["或在其他学校的服务器内切换子服",{"2":{"25":1}}],["或",{"2":{"23":1,"40":1,"135":1,"242":1,"257":1}}],["night",{"2":{"235":1}}],["nintendo",{"2":{"77":1}}],["nulli0n",{"2":{"232":1}}],["nullpointerexception",{"2":{"160":1}}],["nz",{"2":{"158":1}}],["nachuan川川的教程",{"2":{"217":1}}],["nachuan川川的机器",{"2":{"215":1}}],["nachuan川川",{"2":{"183":1}}],["naming",{"2":{"147":1}}],["name",{"2":{"29":2,"57":2,"144":1,"245":1}}],["native",{"2":{"147":2}}],["nativemethodaccessorimpl",{"2":{"147":6}}],["noclassdeffounderror",{"2":{"160":1}}],["noclassfound",{"0":{"160":1},"1":{"161":1,"162":1,"163":1}}],["none",{"2":{"155":1}}],["nonebot插件",{"2":{"2":1}}],["nosignature",{"2":{"147":2,"155":1}}],["no",{"2":{"147":3,"153":2}}],["not",{"2":{"107":4,"147":2,"153":1,"156":1,"158":1}}],["nginx",{"0":{"90":1}}],["next",{"2":{"137":1}}],["nextpage",{"2":{"30":1,"58":1}}],["nether",{"2":{"130":1}}],["net",{"2":{"126":6,"147":27,"150":1,"152":1,"154":1,"158":8,"170":1,"184":1,"232":1}}],["newset",{"2":{"132":4}}],["newlabel",{"2":{"132":4,"133":7}}],["newicon",{"2":{"132":2,"133":2}}],["newbie领取新人礼包",{"2":{"123":1}}],["new",{"2":{"38":2,"133":2}}],["near",{"2":{"28":1,"34":1,"53":1}}],["ncwu",{"2":{"23":3}}],["华北水利水电大学",{"0":{"23":1}}],["特性修改",{"0":{"238":1,"245":1}}],["特性",{"2":{"177":1}}],["特性版本",{"2":{"12":1,"257":1}}],["特指基本功能未实现",{"2":{"114":1}}],["特色",{"2":{"21":1,"22":1,"23":1,"248":1}}],["上",{"2":{"222":1}}],["上圣经",{"2":{"162":1}}],["上收集的数据包较为全面",{"2":{"136":1}}],["上文提到的",{"2":{"136":1}}],["上方木桶放置装有骨粉的潜影盒",{"2":{"64":1}}],["上交mc社所有服务器状态",{"2":{"45":1}}],["上交接入点",{"2":{"19":1}}],["上述内容无需带minecraft",{"2":{"40":1}}],["上海交通大学致远镜像",{"2":{"126":3}}],["上海交通大学",{"0":{"20":1},"1":{"21":1,"22":1}}],["方向",{"2":{"190":1}}],["方便建筑的测试修改与实装",{"2":{"186":1}}],["方便各个高校玩家之间交流",{"2":{"17":1}}],["方块社",{"2":{"247":1}}],["方块的产生",{"2":{"226":1}}],["方块实体均不会运算",{"2":{"226":1}}],["方块事件",{"2":{"226":1}}],["方块列表产生后",{"2":{"226":1}}],["方块更新",{"0":{"226":1}}],["方块重新变回普通方块",{"2":{"225":1}}],["方块而开始移动",{"2":{"225":1}}],["方块",{"0":{"224":1},"2":{"223":1,"225":1}}],["方块灵活放置",{"0":{"201":1}}],["方块快速放置",{"0":{"199":1}}],["方块转变为物品形式",{"2":{"179":1}}],["方块id",{"2":{"40":1}}],["方块交大",{"0":{"22":1},"2":{"19":1,"22":1}}],["方块交大服务器",{"2":{"19":1}}],["中央是反方向",{"2":{"201":1}}],["中央",{"2":{"201":1,"237":1}}],["中继器等可以右键互动的方块互动",{"2":{"198":1}}],["中继器比较器的模式",{"2":{"190":1}}],["中看到这些建筑的位置",{"2":{"103":1}}],["中",{"2":{"101":1,"122":1}}],["中间的箱子里面会一些鞘翅",{"2":{"98":1}}],["中的内容快速了解本服务器的基本情况",{"2":{"77":1}}],["中南",{"2":{"19":1}}],["中文译名",{"2":{"0":1,"6":1}}],["cpu",{"2":{"241":1}}],["cpw",{"2":{"147":10,"170":1}}],["c的基础上抛出合成的物品",{"2":{"212":1}}],["ctrl+",{"2":{"211":1}}],["ctrl",{"2":{"211":7,"212":2}}],["cv13612048",{"2":{"183":1}}],["ce",{"2":{"147":1}}],["cf",{"2":{"147":2}}],["c94d18ec",{"2":{"147":1}}],["c",{"2":{"147":1,"153":1,"155":1,"158":1,"212":2,"221":1}}],["curios",{"2":{"158":2}}],["curseforge",{"2":{"136":2,"137":1}}],["custom",{"2":{"40":2}}],["ci",{"2":{"126":1}}],["caused",{"2":{"160":1}}],["cauchy",{"2":{"74":1}}],["catserver",{"2":{"158":4}}],["calculation",{"2":{"158":1}}],["capability",{"2":{"147":1}}],["carpet精准放置协议",{"2":{"55":1}}],["carpet主体",{"2":{"55":1}}],["carpet",{"0":{"55":1,"214":1},"2":{"50":1,"55":3,"56":1}}],["chinese",{"2":{"232":1}}],["charles",{"2":{"235":1}}],["chat",{"2":{"126":1}}],["channel",{"2":{"82":1,"83":1,"84":2}}],["change",{"2":{"38":1}}],["check",{"2":{"53":1}}],["co",{"2":{"183":1}}],["colliding",{"2":{"170":1}}],["collectiondetail",{"2":{"84":1}}],["context",{"2":{"156":1}}],["constructed",{"2":{"155":1}}],["consider",{"2":{"107":1}}],["corporation",{"2":{"147":2,"154":1}}],["core",{"0":{"86":1},"2":{"126":1}}],["coreprotect",{"2":{"49":1,"256":1}}],["code",{"2":{"147":1,"151":1}}],["coord",{"2":{"133":3}}],["could",{"2":{"107":1}}],["common",{"2":{"158":4,"170":1}}],["comp20220118领取维护补偿",{"2":{"246":1}}],["comp20220112",{"2":{"242":1}}],["compatibility",{"2":{"156":1}}],["compass",{"2":{"28":1}}],["completemodloading",{"2":{"147":2}}],["com",{"2":{"51":1,"77":1,"80":1,"82":1,"83":1,"84":2,"107":1,"126":1,"170":2,"182":2,"183":1,"184":1,"186":2,"193":1,"210":1,"217":1,"224":1,"232":1}}],["classnotfoundexception",{"2":{"160":1}}],["class",{"2":{"158":5}}],["classloading",{"2":{"147":22,"150":1,"152":1,"158":1}}],["clientmodloader",{"2":{"147":4}}],["client",{"2":{"147":16,"158":1}}],["client表明客户端",{"2":{"146":1}}],["closed",{"2":{"138":1}}],["clearcorners",{"2":{"133":1}}],["clear",{"2":{"38":1}}],["club",{"2":{"19":3,"21":3,"22":2,"248":1}}],["creeper",{"2":{"53":1}}],["create",{"2":{"34":1}}],["creative",{"2":{"22":1}}],["crash",{"2":{"138":1,"145":1,"146":1,"147":2,"148":1,"158":1,"159":2,"170":1}}],["crashreportextender",{"2":{"147":8,"150":2,"152":2,"158":2}}],["crashreport",{"2":{"87":1}}],["crafted",{"2":{"40":2}}],["crawl有点像",{"2":{"31":1}}],["crawl",{"2":{"31":1}}],["csu",{"2":{"19":2}}],["cn",{"2":{"18":1,"86":1,"135":2,"186":1}}],["skin",{"2":{"257":2}}],["skins",{"0":{"255":1},"2":{"233":1,"255":2}}],["slab",{"2":{"190":1}}],["sodium来解决",{"2":{"171":1}}],["sortmodlist",{"2":{"158":1}}],["source",{"2":{"155":1}}],["sunlight",{"2":{"240":1}}],["sun",{"2":{"147":6,"170":1}}],["suicide",{"2":{"33":1,"35":1}}],["stained",{"2":{"165":2}}],["state",{"2":{"155":1}}],["stats",{"2":{"39":12,"48":1}}],["stats数据统计",{"0":{"39":1},"1":{"40":1}}],["stacktrace有时候会有caused",{"2":{"150":1}}],["stacktrace的第一行抛出的异常是非常重要的",{"2":{"150":1}}],["stacktrace",{"0":{"150":1},"2":{"147":2,"150":1,"152":1}}],["started",{"2":{"138":1}}],["system",{"0":{"154":1},"2":{"127":1,"147":2,"154":1}}],["synopt",{"2":{"73":1,"235":1}}],["syncmatica",{"2":{"50":1,"56":1}}],["shift",{"2":{"137":1,"210":1,"211":12}}],["sharkgirl",{"2":{"232":1}}],["shaderpacks",{"2":{"135":1}}],["shall",{"2":{"107":2}}],["should",{"2":{"107":4}}],["show",{"2":{"39":1}}],["snowy",{"2":{"103":1}}],["switch",{"2":{"77":1}}],["s",{"2":{"50":2,"51":2,"56":2,"137":2,"156":1,"211":2}}],["sad",{"2":{"147":1,"148":1}}],["saves",{"2":{"135":1,"136":1}}],["save",{"2":{"39":1}}],["say",{"2":{"27":1}}],["speed",{"2":{"256":1}}],["spectacle",{"2":{"130":1}}],["sps",{"0":{"127":1},"1":{"128":1,"129":1,"130":1,"131":1,"132":1,"133":1},"2":{"127":1}}],["spigot",{"2":{"256":1}}],["spigotmc",{"2":{"126":6}}],["spin",{"2":{"31":1}}],["space",{"2":{"82":1,"83":1,"84":2}}],["spawn",{"2":{"29":1,"57":1,"126":1}}],["single",{"2":{"189":1}}],["signature",{"2":{"155":1}}],["silverstar",{"2":{"130":1}}],["sid=1322985",{"2":{"84":1}}],["sid=453838",{"2":{"84":1}}],["sid=2333018",{"2":{"83":1}}],["sid=233710",{"2":{"82":1}}],["sit",{"2":{"31":1}}],["size",{"2":{"30":1,"58":1}}],["severe",{"2":{"160":1}}],["set",{"2":{"130":8,"131":2,"132":4,"133":36}}],["sethome指令设置家",{"2":{"105":1,"121":1}}],["sethome",{"2":{"29":1,"57":1,"245":1}}],["services",{"2":{"147":1}}],["server指令切换子服",{"2":{"18":1}}],["server",{"0":{"86":1},"2":{"12":1,"13":1,"14":1,"22":1,"25":1,"97":1,"127":1,"138":1,"146":1,"147":1,"158":4,"170":1}}],["seriesdetail",{"2":{"82":1,"83":1,"84":1}}],["select",{"2":{"30":1,"58":1}}],["search",{"2":{"30":1,"58":1}}],["scroller",{"2":{"137":1}}],["screenshots",{"2":{"135":1}}],["scoreboard",{"2":{"39":4}}],["scale",{"2":{"34":1}}],["sc",{"2":{"23":1}}],["sjtu",{"2":{"21":1,"22":3}}],["sjmclive",{"2":{"45":1}}],["sjmc官网",{"2":{"21":1,"22":1}}],["sjmc",{"0":{"21":1,"248":1,"255":1},"2":{"19":7,"21":3,"22":1,"45":1,"233":2,"248":6,"255":3,"257":2}}],["smp生存",{"2":{"21":1}}],["smp",{"0":{"21":1},"2":{"19":3,"21":2}}],["h的效率",{"2":{"222":1}}],["h",{"2":{"155":1,"219":3}}],["hath",{"2":{"256":1}}],["half",{"2":{"235":1}}],["has",{"0":{"157":1},"1":{"158":1,"159":1},"2":{"147":3,"149":1,"150":1,"153":2,"157":1,"158":2,"160":1}}],["have",{"2":{"147":1,"148":1}}],["hmcl",{"0":{"140":1},"2":{"135":2,"257":1}}],["hypixel",{"2":{"135":1}}],["http",{"2":{"128":1,"138":1}}],["https",{"2":{"11":2,"18":1,"51":1,"77":1,"80":1,"82":1,"83":1,"84":2,"86":1,"91":1,"107":1,"126":17,"182":2,"183":2,"184":2,"186":3,"193":1,"210":1,"217":1,"224":1,"232":2,"254":1,"257":1}}],["html",{"2":{"126":6,"186":1,"232":1}}],["holder",{"2":{"147":1}}],["hotspot",{"2":{"147":1}}],["house",{"2":{"130":2}}],["hopo",{"2":{"51":1}}],["home指令回家",{"2":{"105":1,"121":1}}],["homes",{"2":{"29":1,"57":1}}],["home",{"2":{"29":1,"57":1,"105":1,"232":1}}],["hiril",{"2":{"62":1,"66":1,"71":1}}],["hitokoto",{"2":{"41":1}}],["hide",{"2":{"39":1,"133":8}}],["heapdump",{"2":{"147":1}}],["heapdumppath=mojangtricksinteldriversforperformance",{"2":{"147":1}}],["head里面没有什么有效的信息",{"2":{"152":1}}],["head",{"0":{"152":1},"2":{"147":1,"152":1}}],["headdatabase",{"0":{"33":1}}],["help",{"2":{"30":1,"38":1,"48":1,"58":1}}],["hug",{"2":{"147":1,"148":1}}],["hud",{"2":{"30":4,"58":4,"191":1}}],["hub",{"2":{"19":1,"25":1}}],["d",{"2":{"155":1}}],["d6",{"2":{"147":1}}],["d3",{"2":{"147":1}}],["d4",{"2":{"147":1}}],["during",{"2":{"160":1}}],["dumpmodloadingcrashreport",{"2":{"147":2,"150":1,"158":1}}],["dungeons",{"2":{"51":1}}],["datapacks",{"2":{"136":1}}],["day",{"2":{"38":1,"41":1}}],["disabled来禁用该mod",{"2":{"171":1}}],["disabled",{"2":{"136":1,"155":1}}],["distance",{"2":{"126":1}}],["driving",{"2":{"138":1}}],["dr2lstknns2zurnbw",{"2":{"107":1}}],["dropped",{"2":{"40":1}}],["dshfzyxzbsmrju09h",{"2":{"80":1}}],["dog",{"2":{"235":1}}],["do",{"2":{"156":1}}],["don",{"2":{"147":1,"148":1}}],["done",{"2":{"38":1}}],["downloads",{"2":{"126":3}}],["doc",{"2":{"80":1,"107":1}}],["docs",{"2":{"18":1,"80":1,"86":1,"107":1}}],["dmarker",{"2":{"32":1,"129":1,"130":2,"131":1,"132":2,"133":39}}],["dynmap",{"2":{"32":1,"126":2,"128":1}}],["dedicatedserver",{"2":{"158":2}}],["dedicated",{"2":{"158":1}}],["de",{"2":{"147":1}}],["definalize",{"2":{"147":2}}],["def",{"2":{"133":4}}],["desktop",{"2":{"147":1,"153":1,"158":1}}],["desert",{"2":{"130":1}}],["description",{"2":{"38":2,"147":1,"149":1}}],["deadline",{"2":{"38":2}}],["details部分会出现mod",{"2":{"157":1}}],["details",{"0":{"153":1,"154":1},"2":{"147":4,"151":1,"153":1,"158":1}}],["detailed",{"2":{"147":1,"151":1}}],["detail",{"2":{"38":1}}],["delegatingmethodaccessorimpl",{"2":{"147":4}}],["deleteline",{"2":{"133":2}}],["deletearea",{"2":{"133":2}}],["deleteicon",{"2":{"133":1}}],["deleteset",{"2":{"133":2}}],["delete",{"2":{"34":1,"38":1,"131":1,"133":2}}],["del",{"2":{"38":1,"39":1}}],["delhome",{"2":{"29":1,"57":1}}],["depth",{"2":{"28":1}}],["dev",{"2":{"18":1,"86":1,"126":1}}],["学会查阅wiki",{"0":{"182":1}}],["学会查看",{"2":{"98":1}}],["学校目录",{"2":{"18":1}}],["学习与娱乐相呼应的发展方针",{"2":{"7":1}}],["77",{"2":{"147":1}}],["775",{"2":{"62":1,"63":1,"64":1}}],["7b",{"2":{"147":1}}],["71197",{"2":{"158":1}}],["71",{"2":{"147":1,"150":1}}],["72",{"2":{"147":3,"234":1}}],["72515",{"2":{"126":1}}],["728",{"2":{"66":1}}],["731059",{"2":{"84":1}}],["73",{"2":{"72":1}}],["74",{"2":{"71":1,"147":2,"152":1}}],["704",{"2":{"65":1}}],["7",{"0":{"18":1},"2":{"126":3,"155":2,"158":2,"233":1}}],["并以冒险模式进行参观游览",{"2":{"256":1}}],["并以善意揣测我们的朋友们",{"2":{"108":1}}],["并升级相关",{"2":{"236":1}}],["并将其按一定顺序加入到一个列表中",{"2":{"225":1}}],["并自己设计优化一些机器",{"2":{"215":1}}],["并放出了存档与投影",{"2":{"183":1}}],["并根据这个流程设计与拼搭模块",{"2":{"180":1}}],["并不推荐卸载",{"2":{"169":1}}],["并关掉这篇教程了",{"2":{"141":1}}],["并标记了绝大部分的机器与建筑的标记点",{"2":{"128":1}}],["并且一旦安装后就不能卸载",{"2":{"166":1}}],["并且在玩家周围方块种类较多时错误率相当高",{"2":{"193":1}}],["并且在",{"2":{"135":1}}],["并且",{"2":{"113":1}}],["并在模组作者给出的交流渠道询问这个问题",{"2":{"171":1}}],["并在原址处拆除",{"2":{"114":1}}],["并在理性的批判后被评价为合适与否",{"2":{"108":1}}],["并在minecraft多人游戏列表中删除本服务器的记录",{"2":{"108":1}}],["并在经过讨论后得到了一个更简单",{"2":{"17":1}}],["并按回车来获取用于显示图片的地图",{"2":{"47":1}}],["并通过",{"2":{"6":1,"19":1}}],["旨在将各个高校的服务器通过同一个群组服代理连接起来",{"2":{"17":1}}],["联系腐竹确认后可恢复至维护前的状态",{"2":{"241":1}}],["联动的mod时",{"2":{"162":1}}],["联动服务器除非特殊说明",{"2":{"16":1}}],["联动服务器",{"0":{"16":1},"1":{"17":1,"18":1,"19":1,"20":1,"21":1,"22":1,"23":1}}],["联合黑名单封禁",{"2":{"108":1}}],["联合大厅建设计划重新启动",{"2":{"17":1}}],["联合大厅是高校联盟最初在2021年6月进行的一项技术性工作",{"2":{"17":1}}],["联合大厅",{"0":{"17":1},"1":{"18":1,"19":1}}],["24",{"2":{"233":1,"235":1,"255":1}}],["24日",{"2":{"233":1}}],["246",{"2":{"147":1}}],["2游戏刻后",{"2":{"225":1}}],["2及以下",{"2":{"165":1}}],["26",{"2":{"170":1}}],["266",{"2":{"158":1}}],["268",{"2":{"158":1}}],["22",{"2":{"158":2,"170":1}}],["27",{"2":{"156":1}}],["274",{"2":{"126":1}}],["2394",{"2":{"158":1}}],["23",{"2":{"147":1,"148":1,"159":1,"233":1,"248":1,"254":1}}],["281",{"2":{"155":1}}],["28",{"2":{"147":2,"148":1,"159":1}}],["2的第三个日志",{"2":{"144":1}}],["21新生村",{"2":{"247":1}}],["21",{"2":{"126":1}}],["2119",{"2":{"107":1}}],["21192142",{"2":{"84":1}}],["2",{"0":{"181":1,"215":1,"223":1,"236":1},"1":{"182":1,"183":1,"216":1,"217":1,"218":1,"219":1,"220":1,"221":1,"222":1,"223":1,"224":2,"225":2,"226":2,"227":2,"228":2,"229":2,"230":2,"237":1,"238":1,"239":1,"240":1,"241":1,"242":1},"2":{"126":9,"138":1,"147":37,"150":1,"153":1,"154":1,"155":5,"158":9,"161":1,"173":2,"190":1,"217":1,"233":1,"234":1,"235":7,"236":1,"242":1,"244":1,"256":1}}],["25565",{"2":{"256":1}}],["25588",{"2":{"15":1}}],["258798592",{"2":{"147":1}}],["25391",{"2":{"126":1}}],["25",{"0":{"116":1}}],["20s",{"2":{"200":1}}],["20410",{"2":{"128":1}}],["2058406",{"2":{"83":1}}],["2022年3月8日注定是不平凡的一天",{"2":{"247":1}}],["2022",{"2":{"170":1,"233":9,"243":1,"244":2,"247":1,"248":1,"249":1,"253":2,"254":1,"255":1}}],["2021新生村",{"2":{"234":1}}],["2021年10月3日13",{"2":{"234":1}}],["2021",{"0":{"234":1},"1":{"235":1},"2":{"120":1,"233":2}}],["2023",{"0":{"18":1,"116":1,"117":1},"2":{"146":1,"147":1,"158":1,"159":2}}],["2023年1月底",{"2":{"17":1}}],["2020",{"2":{"8":1}}],["20",{"2":{"12":2,"14":1,"21":1,"23":1,"156":2,"242":1}}],["像素复旦计划ppf建设群",{"2":{"76":1}}],["像素",{"0":{"14":1,"256":1},"2":{"233":1,"256":3,"257":1}}],["像素的画布上",{"2":{"6":1}}],["版",{"2":{"134":1}}],["版的基本结构",{"2":{"134":1}}],["版本进服",{"2":{"236":1}}],["版本错误",{"0":{"158":1}}],["版本名称",{"2":{"156":1}}],["版本访问如下服务器地址",{"2":{"19":1}}],["版本",{"2":{"13":1,"14":1,"15":1,"137":2,"256":1}}],["版地址",{"2":{"12":1,"257":1}}],["lchija",{"2":{"155":1}}],["l",{"2":{"155":1}}],["lucko",{"2":{"126":1}}],["luckperms",{"2":{"126":3,"240":1}}],["lqingning",{"2":{"64":1,"67":1,"68":1,"71":1}}],["legends",{"2":{"135":1}}],["ledger",{"2":{"53":1}}],["leavesmc",{"2":{"126":1}}],["leaves假人",{"2":{"50":1}}],["leaves",{"0":{"36":1},"2":{"12":1,"13":1,"23":1,"50":1,"126":2}}],["latest",{"2":{"160":1}}],["launched",{"2":{"156":2}}],["launcher",{"2":{"147":13}}],["launchtesting",{"2":{"147":4}}],["launchservicehandler",{"2":{"147":8}}],["launchservicehandlerdecorator",{"2":{"147":4}}],["launch",{"2":{"147":7}}],["lambda$dumpmodloadingcrashreport$7",{"2":{"147":2,"152":1}}],["lambda$launchservice$0",{"2":{"147":2}}],["lambda$new$2",{"2":{"147":2}}],["lambda$null$1",{"2":{"147":2}}],["language",{"2":{"147":1}}],["lang",{"2":{"147":3,"150":1,"158":1,"160":3,"164":1}}],["label与set是必填的",{"2":{"132":1}}],["label",{"2":{"130":3,"132":1,"133":22}}],["layer",{"2":{"189":2}}],["lay",{"2":{"31":1}}],["lastpage",{"2":{"30":1,"58":1}}],["lyric",{"2":{"30":1,"58":1}}],["lt",{"2":{"29":4,"30":7,"34":3,"38":20,"39":22,"40":4,"57":4,"58":7,"130":5,"131":2,"132":10,"133":92,"148":1,"245":1}}],["ltd",{"2":{"19":1,"254":1}}],["loadmods",{"2":{"158":1}}],["loaded",{"2":{"155":1}}],["loader",{"2":{"146":1,"158":6}}],["loading",{"0":{"157":1},"1":{"158":1,"159":1},"2":{"147":2,"149":1,"150":1,"153":1,"157":1,"158":2,"160":1}}],["log4j",{"2":{"240":1}}],["logging",{"2":{"158":1}}],["log就是最近一次启动的日志",{"2":{"144":1}}],["log和debug",{"2":{"144":1}}],["log",{"2":{"138":2,"144":1,"160":2,"161":2}}],["loot",{"2":{"51":1}}],["lost",{"2":{"51":1}}],["love",{"2":{"23":2}}],["lobby",{"2":{"18":1,"19":3}}],["litematica是生电所使用的最重要的工具",{"2":{"186":1}}],["litematica",{"0":{"186":1,"193":1},"1":{"187":1,"188":1,"189":1,"190":1,"191":1,"192":1,"193":1},"2":{"193":1}}],["littlemaidmobx是小女仆",{"2":{"170":1}}],["littlemaidmobx",{"2":{"170":1}}],["lithium",{"2":{"156":2}}],["life",{"2":{"156":1}}],["like",{"2":{"138":1}}],["lib",{"2":{"126":1}}],["libraries",{"2":{"51":1}}],["list中露了个脸",{"2":{"172":1}}],["list不同版本的格式差异比较大",{"2":{"155":1}}],["listlines",{"2":{"133":1}}],["listareas",{"2":{"133":1}}],["listsets",{"2":{"133":1}}],["list",{"0":{"155":1},"2":{"28":1,"30":2,"38":2,"39":1,"58":2,"130":1,"133":2,"147":1,"155":3,"162":1}}],["light调试各类参数",{"2":{"74":1}}],["light",{"2":{"9":1,"63":1,"65":1,"71":1,"74":1}}],["linux",{"2":{"6":1,"126":1}}],["兼容版本",{"2":{"12":1,"257":1}}],["端口为19132",{"2":{"12":1}}],["使原理图旋转或翻转",{"2":{"187":1}}],["使仙人掌变为物品",{"2":{"180":1}}],["使生物",{"2":{"179":1}}],["使玩家的机器与建筑不会被苦力怕或凋零所破坏",{"2":{"104":1}}],["使更新抑制器可用",{"2":{"50":1}}],["使得其他高校的同学能够通过联合大厅访问高校服务器",{"2":{"17":1}}],["使用锄头努力耕作",{"2":{"250":1}}],["使用这种设计的tnt复制耗材少",{"2":{"228":1}}],["使用printer在许多服务器被列为作弊行为",{"2":{"193":1}}],["使用的高校服务器有fdc",{"2":{"190":1}}],["使用的高校服务器有xjtu",{"2":{"190":1}}],["使用的时候需要先从活板门跳下开启袭击",{"2":{"69":1}}],["使用当前的角列表和指定的",{"2":{"133":1}}],["使用当前的角列表和指定的标签创建新的线并添加到指定的记号集",{"2":{"133":1}}],["使用指定的",{"2":{"133":1}}],["使用指定的标签和当前的角列表创建并添加新的区域",{"2":{"133":1}}],["使用指令",{"2":{"123":1}}],["使用指令设置的家与床设置的个人出生点无关",{"2":{"105":1,"121":1}}],["使用新人礼包中的钻石与远古残骸在",{"2":{"123":1}}],["使用前先检查机器内是否有小队长",{"2":{"74":1}}],["使用前请先阅读使用说明",{"2":{"67":1}}],["使用旧袭击塔通道",{"2":{"74":1}}],["使用时要对着盔甲架砍",{"2":{"69":1}}],["使用后记得关闭以防造成卡顿",{"2":{"68":1}}],["使用说明",{"2":{"64":1,"105":1}}],["使用方法",{"0":{"45":1,"47":1}}],["使用歌曲名搜索歌曲",{"2":{"30":1,"58":1}}],["使用音乐id点歌",{"2":{"30":1,"58":1}}],["使用主流",{"2":{"19":1}}],["使用",{"2":{"12":1,"105":1,"121":2,"135":1,"245":2,"246":1,"257":1}}],["使社团成员有充分的参与感与获得感",{"2":{"7":1}}],["状态码",{"2":{"155":1}}],["状态码不正常的即为出错的mod",{"2":{"155":1}}],["状态",{"2":{"12":1,"15":1,"21":1,"22":1,"256":1,"257":1}}],["网站给mod加上该死的中文前缀",{"2":{"162":1}}],["网站",{"2":{"21":1,"22":1}}],["网站地址",{"2":{"11":1}}],["网络",{"0":{"88":1},"1":{"89":1,"90":1},"2":{"9":1}}],["b36",{"2":{"225":1,"226":1}}],["b单片",{"2":{"222":1}}],["bv1ck411d7kf",{"2":{"224":1}}],["bv1pq4y1c7rp",{"2":{"217":1}}],["bv1m7411f79t",{"2":{"210":1}}],["bv1dj411x78m",{"2":{"186":1}}],["bv1qp4y1x7sm",{"2":{"186":1}}],["bv1kn4y1j7ym",{"2":{"184":1}}],["block",{"0":{"167":1},"2":{"170":1}}],["blender",{"0":{"94":1}}],["b2",{"2":{"147":1}}],["b0",{"2":{"147":1}}],["b",{"2":{"147":10,"158":1,"221":1}}],["biligame",{"2":{"182":1}}],["bili镜像",{"2":{"182":2}}],["bilibili",{"2":{"82":1,"83":1,"84":2,"183":1,"184":1,"186":2,"210":1,"217":1,"224":1}}],["bit",{"2":{"147":1}}],["bighouse",{"2":{"130":1}}],["b131",{"2":{"126":1}}],["bamboo",{"2":{"51":1}}],["back回到上一个地点",{"2":{"245":1}}],["back",{"2":{"29":1,"57":1}}],["bbor",{"2":{"50":1}}],["boss",{"2":{"232":1}}],["boom",{"2":{"49":1,"126":1}}],["bot",{"2":{"36":1}}],["broken",{"2":{"40":2}}],["by后面抛出的异常也要作为判断依据",{"2":{"150":1}}],["by部分",{"2":{"150":1}}],["bytes",{"2":{"147":3}}],["by",{"2":{"40":2,"133":4}}],["bugs",{"2":{"156":1}}],["but",{"2":{"107":1}}],["building",{"2":{"130":1}}],["build",{"2":{"19":1,"22":1}}],["bukkit插件指令",{"0":{"26":1},"1":{"27":1,"28":1,"29":1,"30":1,"31":1,"32":1,"33":1,"34":1,"35":1}}],["bukkit",{"2":{"2":1,"6":1,"126":2,"256":1}}],["below",{"2":{"189":1}}],["bellyflop",{"2":{"31":1}}],["beginserverloading",{"2":{"158":1}}],["beta",{"2":{"184":1}}],["beta3",{"2":{"126":1}}],["better",{"2":{"51":1}}],["bed",{"2":{"245":1}}],["bed回到床",{"2":{"105":1}}],["bedrockconnect",{"2":{"77":1}}],["be",{"2":{"12":1,"147":1,"148":1,"158":1,"257":1}}],["beatgeneration",{"2":{"9":1}}],["前提是没有乱加mod",{"2":{"156":1}}],["前置缺失",{"0":{"158":1,"161":1},"2":{"146":1}}],["前平行世界传送中心遗址",{"2":{"120":1}}],["前往世界树北侧的",{"2":{"123":1}}],["前往复读百科更新你的住宅信息",{"2":{"105":1}}],["前往复读公寓",{"2":{"105":1}}],["前往改造前哨站获取不祥之兆buff",{"2":{"74":1}}],["前缀",{"2":{"40":1}}],["前群主",{"2":{"9":1}}],["前腐竹",{"2":{"9":1}}],["jy4gf4",{"2":{"183":1}}],["jdk",{"2":{"170":1}}],["just",{"2":{"158":1}}],["j",{"2":{"155":1}}],["jvm虚拟机参数",{"2":{"154":1}}],["jvm",{"2":{"154":1}}],["journey",{"2":{"147":1}}],["journeymap",{"2":{"137":1}}],["job",{"2":{"126":1}}],["joinmotd",{"2":{"41":1}}],["jar的原因",{"2":{"162":1}}],["jar",{"2":{"136":2,"147":45,"150":1,"155":3,"158":2,"171":1}}],["japanese",{"2":{"51":1}}],["jade",{"2":{"50":1}}],["java版本与发行商",{"2":{"154":1}}],["javajava",{"2":{"150":1,"160":1}}],["javaw",{"2":{"147":1}}],["java",{"2":{"2":1,"6":3,"12":1,"19":1,"126":1,"134":3,"147":48,"150":1,"152":1,"154":1,"158":10,"160":1,"170":1,"236":1,"238":1,"257":1}}],["jrrp",{"2":{"41":1}}],["jei",{"2":{"158":1}}],["jecalculation",{"2":{"158":1}}],["je",{"0":{"135":1},"2":{"12":2,"13":1,"14":1,"15":1,"21":1,"22":1,"23":1,"135":1,"248":1,"256":1,"257":2}}],["jingyijun",{"2":{"9":1,"11":2,"12":2,"15":1,"128":1,"257":4}}],["paper",{"2":{"240":2,"256":1}}],["part3中会提到",{"2":{"183":1}}],["part",{"0":{"176":1,"181":1,"184":1,"217":1,"223":1},"1":{"177":1,"178":1,"179":1,"180":1,"182":1,"183":1,"185":1,"186":1,"187":1,"188":1,"189":1,"190":1,"191":1,"192":1,"193":1,"194":1,"195":1,"196":1,"197":1,"198":1,"199":1,"200":1,"201":1,"202":1,"203":1,"204":1,"205":1,"206":1,"207":1,"208":1,"209":1,"210":1,"211":1,"212":1,"213":1,"214":1,"218":1,"219":1,"220":1,"221":1,"222":1,"224":1,"225":1,"226":1,"227":1,"228":1,"229":1,"230":1}}],["path",{"2":{"147":1,"151":1}}],["page",{"2":{"53":1}}],["pclii",{"0":{"141":1}}],["pcl2",{"2":{"135":1}}],["pca",{"2":{"50":1,"55":2}}],["printer可以精准地自动放置放置活板门与楼梯",{"2":{"193":1}}],["printer是litematica的拓展mod",{"2":{"193":1}}],["printer",{"0":{"193":1},"2":{"193":1}}],["prio",{"2":{"133":4}}],["priority",{"2":{"38":2,"133":4}}],["pre",{"2":{"155":1}}],["providers",{"2":{"147":1}}],["provided",{"2":{"147":1}}],["production",{"2":{"147":1,"153":1}}],["problem",{"2":{"138":1,"160":1}}],["probably",{"2":{"107":1}}],["profile",{"2":{"137":1,"156":1}}],["projects",{"2":{"126":1}}],["protocollib",{"2":{"126":1}}],["protocol",{"2":{"126":1}}],["protect",{"2":{"126":1}}],["pvpin",{"2":{"91":1}}],["pl的崩溃报告宝典",{"0":{"173":1}}],["pl的生电教程",{"0":{"174":1},"1":{"175":1,"176":1,"177":1,"178":1,"179":1,"180":1,"181":1,"182":1,"183":1,"184":1,"185":1,"186":1,"187":1,"188":1,"189":1,"190":1,"191":1,"192":1,"193":1,"194":1,"195":1,"196":1,"197":1,"198":1,"199":1,"200":1,"201":1,"202":1,"203":1,"204":1,"205":1,"206":1,"207":1,"208":1,"209":1,"210":1,"211":1,"212":1,"213":1,"214":1,"215":1,"216":1,"217":1,"218":1,"219":1,"220":1,"221":1,"222":1,"223":1,"224":1,"225":1,"226":1,"227":1,"228":1,"229":1,"230":1},"2":{"80":1}}],["please",{"2":{"156":1}}],["pl",{"2":{"147":26}}],["planetminecraft",{"2":{"136":2}}],["placeholderapi",{"2":{"126":1}}],["placeholder",{"2":{"126":1}}],["playstation",{"2":{"77":1}}],["player",{"2":{"29":3,"38":3,"57":3}}],["playground",{"0":{"13":1}}],["pluginservice",{"2":{"147":7}}],["pluginscdtribe",{"2":{"126":1}}],["plugindiary",{"2":{"91":1}}],["pl崩溃报告宝典",{"2":{"87":1}}],["pugmatt",{"2":{"77":1}}],["purpur",{"2":{"21":1,"22":1,"257":1}}],["portal",{"2":{"130":3}}],["post",{"2":{"155":1,"186":1}}],["positioning",{"2":{"127":1}}],["possible",{"2":{"107":1}}],["pong",{"2":{"48":1}}],["polaris",{"2":{"9":1,"63":1,"65":1,"74":1}}],["period",{"2":{"38":1}}],["picked",{"2":{"40":2}}],["picsize",{"2":{"30":1,"58":1}}],["pic",{"2":{"30":1,"58":1}}],["ping",{"2":{"28":1,"48":1}}],["ppf复原",{"2":{"75":1}}],["ppf",{"0":{"14":1},"2":{"14":2,"25":1,"47":1,"256":3}}],["python",{"2":{"2":1,"126":1}}],["软件版本",{"0":{"125":1}}],["软件",{"2":{"9":1}}],["腐竹的新坑",{"0":{"232":1},"2":{"233":1}}],["腐竹",{"2":{"9":1}}],["云杉",{"2":{"64":1}}],["云计算",{"2":{"9":1}}],["云计算中心",{"2":{"9":1}}],["云计算中心正在招募实习运维",{"2":{"9":1}}],["云储存",{"2":{"9":1}}],["云原生的特性",{"2":{"6":1}}],["运势可能是不同等级的凶或者吉",{"2":{"123":1}}],["运营团队",{"0":{"9":1}}],["运维",{"2":{"6":1,"9":1}}],["运维编程部",{"0":{"2":1},"2":{"1":1,"75":1}}],["1生存",{"2":{"248":1}}],["1308",{"2":{"186":1}}],["13及以上",{"2":{"165":1}}],["13596",{"2":{"156":1}}],["135",{"2":{"64":1}}],["15",{"2":{"158":1}}],["153",{"2":{"62":1,"63":1}}],["18create",{"2":{"158":1}}],["18",{"0":{"248":1},"2":{"155":1,"158":3,"222":3,"233":1,"244":2,"248":6,"256":1}}],["1875378176",{"2":{"147":1}}],["184",{"2":{"147":2}}],["144",{"2":{"234":1}}],["14",{"2":{"137":1,"159":1,"233":1,"235":1}}],["14+的辅助性模组用的多为更加简洁的",{"2":{"136":1}}],["145",{"2":{"72":1}}],["169",{"2":{"158":1}}],["16",{"2":{"126":1,"136":1,"147":68,"148":1,"150":2,"153":1,"154":1,"155":1,"158":1,"159":1}}],["1044381696",{"2":{"147":1}}],["10",{"0":{"117":1},"2":{"126":2,"147":2,"154":2,"155":3,"156":1,"158":1,"233":3,"235":1,"247":1}}],["1037308494",{"2":{"8":1,"76":1}}],["11044",{"2":{"156":1}}],["113",{"2":{"147":2}}],["1150139",{"2":{"126":1}}],["11",{"0":{"117":1},"2":{"126":2,"146":2}}],["1170",{"2":{"72":1}}],["1788",{"2":{"147":1}}],["174",{"2":{"147":2}}],["17+",{"2":{"137":1}}],["17",{"2":{"22":1,"126":1,"137":1,"147":1,"159":1,"235":2,"236":1,"238":1}}],["192",{"2":{"242":1}}],["1997",{"2":{"126":1}}],["196k竖式刷石机",{"0":{"63":1}}],["19前的瞬时方块更新机制",{"2":{"50":1}}],["19",{"2":{"21":1,"137":1,"257":2}}],["1",{"0":{"175":1,"176":1,"217":1,"248":1},"1":{"176":1,"177":2,"178":2,"179":2,"180":2,"181":1,"182":1,"183":1,"184":1,"185":1,"186":1,"187":1,"188":1,"189":1,"190":1,"191":1,"192":1,"193":1,"194":1,"195":1,"196":1,"197":1,"198":1,"199":1,"200":1,"201":1,"202":1,"203":1,"204":1,"205":1,"206":1,"207":1,"208":1,"209":1,"210":1,"211":1,"212":1,"213":1,"214":1,"218":1,"219":1,"220":1,"221":1,"222":1},"2":{"12":4,"14":2,"21":3,"22":2,"23":2,"126":13,"136":2,"137":5,"147":91,"148":1,"150":2,"153":1,"154":2,"155":8,"158":14,"161":1,"173":2,"200":1,"222":12,"232":2,"233":2,"235":5,"236":2,"238":2,"241":1,"242":2,"244":1,"248":7,"256":1,"257":2}}],["1259",{"2":{"147":1}}],["120自动熔炉组",{"0":{"62":1}}],["12",{"0":{"18":1},"2":{"8":1,"137":1,"155":2,"158":4,"165":1,"170":1,"233":3,"235":1}}],["群主夏庭浩",{"2":{"247":1}}],["群主的大坑",{"2":{"120":1}}],["群文件",{"2":{"140":1,"141":1}}],["群内的成员分工明确",{"2":{"247":1}}],["群内消息和服内消息的互通群",{"2":{"76":1}}],["群内或者频道内直接发送消息即可发送",{"2":{"47":1}}],["群机器人",{"0":{"43":1},"1":{"44":1,"45":1,"46":1,"47":1,"48":1}}],["群",{"2":{"8":1,"76":1,"247":1}}],["q",{"2":{"211":4}}],["quot",{"2":{"77":2,"133":4}}],["query",{"2":{"39":2}}],["qrafty",{"2":{"51":2}}],["qq",{"2":{"8":1,"76":2,"80":1,"107":1}}],["q群机器人",{"2":{"2":1}}],["年入学的新生共同建立",{"2":{"120":1}}],["年级专业",{"2":{"110":1}}],["年",{"2":{"8":1,"233":10,"244":2,"248":1,"249":1,"253":2,"254":1,"255":1}}],["于是就有了这本面向社团运维的崩溃报告宝典",{"2":{"173":1}}],["于",{"2":{"8":1}}],["做好活动的提前策划与常规化运营的提前安排",{"2":{"7":1}}],["创世神插件",{"2":{"256":1}}],["创世神",{"2":{"169":1}}],["创建新的线并添加到指定的记号集",{"2":{"133":1}}],["创造穿墙",{"2":{"50":1}}],["创造性地落实工作",{"2":{"7":1}}],["创办初衷",{"0":{"6":1}}],["追求以服务广大社团成员为宗旨",{"2":{"7":1}}],["追新",{"2":{"6":1}}],["让我们言归正传",{"2":{"138":1}}],["让fdc各服务器与花fufu群直接能够通话",{"2":{"46":1}}],["让所有成员在社团的成长中都能贡献自己的力量",{"2":{"7":1}}],["让每一个成员参与到社团的建设当中来",{"2":{"7":1}}],["让同学们在",{"2":{"6":1}}],["充分调动成员的主观能动性",{"2":{"7":1}}],["价值可鉴的活动为载体",{"2":{"7":1}}],["争取发表大量优秀原创作品",{"2":{"7":1}}],["培养成员专业技能与艺术修养",{"2":{"7":1}}],["全体奖励将于活动结束后通过礼包发放",{"2":{"252":1}}],["全体奖励",{"0":{"252":1}}],["全新平行世界传送中心",{"2":{"237":1}}],["全物品就会被判入创电之内",{"2":{"178":1}}],["全版本适用",{"2":{"137":2}}],["全部指令集",{"0":{"133":1}}],["全面建设高质量现代化的综合性文化体育类学生社团",{"2":{"7":1}}],["全方位创新开展社团工作",{"2":{"6":1}}],["采取学术与趣味相结合",{"2":{"7":1}}],["为庆祝基岩社的初步成立",{"2":{"247":1}}],["为红石线表示接受长信号",{"2":{"216":1}}],["为生存服务的机器",{"2":{"178":1}}],["为什么会发生这个问题呢",{"2":{"165":1}}],["为了宣传社团落成的这个好消息",{"2":{"247":1}}],["为了防止猪鼻mod",{"2":{"162":1}}],["为了增进对游戏的整体理解",{"2":{"134":1}}],["为啥加载的时候就找不到了呢",{"2":{"162":1}}],["为方便起见",{"2":{"137":1}}],["为玩家进一步定制其",{"2":{"136":1}}],["为促进交流",{"2":{"110":1}}],["为保障玩家的利益",{"2":{"110":1}}],["为他们送上我们的包容",{"2":{"108":1}}],["为防止与他人发生碰撞等交通事故",{"2":{"100":1,"120":1}}],["为本服特约吉祥物",{"2":{"44":1}}],["为核心",{"2":{"7":1}}],["为基础的文化体育类社团",{"2":{"6":1}}],["为基础的",{"2":{"0":1}}],["与此同时",{"2":{"256":1}}],["与群友闲聊",{"2":{"232":1}}],["与物品收集",{"2":{"179":1}}],["与set",{"2":{"130":1}}],["与",{"2":{"31":1,"101":1,"257":1}}],["与课余文体活动有机结合",{"2":{"6":1}}],["与微信公众号",{"2":{"3":1}}],["复旦玩家请前往",{"2":{"257":1}}],["复旦基岩社算是圆梦了吧",{"2":{"247":1}}],["复旦大学基岩社通过答辩",{"0":{"247":1},"2":{"233":1}}],["复旦大学学生社团",{"2":{"76":1}}],["复旦大学minecraft基岩社",{"2":{"3":1}}],["复杂物品流指那些输出物品种类极多",{"2":{"220":1}}],["复杂物品流",{"0":{"220":1}}],["复杂环境组网等多方面的计算机科学与软件工程知识",{"2":{"6":1}}],["复读神社位于",{"2":{"120":1}}],["复读神社站",{"2":{"120":1}}],["复读明珠是",{"2":{"120":1}}],["复读明珠站",{"2":{"120":1}}],["复读广场站",{"2":{"120":1}}],["复读广场下方有一个地铁站",{"2":{"120":1}}],["复读广场",{"2":{"120":1}}],["复读大陆",{"2":{"119":1,"120":1,"237":2,"242":1}}],["复读公约不追求成体系的",{"2":{"108":1}}],["复读公约会以高度审慎的态度进行制定",{"2":{"108":1}}],["复读公约",{"0":{"107":1},"1":{"108":1,"109":1,"110":1,"111":1,"112":1,"113":1,"114":1,"115":1,"116":1,"117":1}}],["复读公寓",{"2":{"105":1,"121":1}}],["复读百科",{"2":{"101":1,"122":1}}],["复读地铁遵从靠右行驶的交通规则",{"2":{"100":1,"120":1}}],["复读地铁一号线",{"0":{"100":1}}],["复读世界𒆙已接入",{"2":{"255":1}}],["复读世界𒆙现已支持",{"0":{"255":1},"2":{"233":1}}],["复读世界𒆙",{"0":{"12":1}}],["桌面软件开发",{"2":{"6":1}}],["在副手时",{"2":{"253":1}}],["在主手时",{"2":{"253":1}}],["在看到树洞贴后才知道旦有这么一个默默无闻的mc社团",{"2":{"247":1}}],["在欢快的氛围中",{"2":{"247":1}}],["在众人的努力下",{"2":{"247":1}}],["在活塞被激活或撤销激活时",{"2":{"225":1}}],["在对角处放上不透明方块来隔断",{"2":{"222":1}}],["在机器输出的间隔内漏斗往往已经传输完其中缓存的物品而不工作",{"2":{"219":1}}],["在设计收集时往往需要设计多余的漏斗",{"2":{"222":1}}],["在设计收集时也需要大量的多余漏斗",{"2":{"220":1}}],["在设计一个机器的收集模块时",{"2":{"218":1}}],["在设计机器时往往需要借用现成的优秀模块",{"2":{"183":1}}],["在实际应用中通常使用白色染色玻璃",{"2":{"216":1}}],["在实际应用中通常使用铁块",{"2":{"216":1}}],["在学习完这个模块后",{"2":{"215":1}}],["在学习这一章的过程中",{"2":{"215":1}}],["在ctrl",{"2":{"212":1}}],["在物品栏中上",{"2":{"211":1}}],["在背包中将鼠标悬停在潜影盒上按下左shift",{"2":{"209":1}}],["在许多收集单片中都有大量对角方块的结构",{"2":{"201":1}}],["在特定情况下会用到",{"2":{"200":1}}],["在放置大量箱子",{"2":{"198":1}}],["在创造模式下可以凭空放置方块",{"2":{"195":1}}],["在屏幕的右下角显示不足方块的列表",{"2":{"191":1}}],["在绝大部分服务器上可以使用",{"2":{"190":1}}],["在配置界面",{"2":{"188":1}}],["在原理图编辑中可以编辑对应的原理图",{"2":{"187":1}}],["在右上角的搜索框搜索相应的名词",{"2":{"182":1}}],["在仙人掌下方放置水流",{"2":{"180":1}}],["在很多情况下崩溃报告和日志的报错与其解决方案之间并没有直接关联",{"2":{"173":1}}],["在很多时候",{"2":{"155":1}}],["在这个例子中",{"2":{"170":1}}],["在这里可以取用建筑所需的材料",{"2":{"104":1}}],["在stacktrace中",{"2":{"170":1}}],["在几乎所有在游戏过程中发生的",{"2":{"170":1}}],["在你见到某个崩溃之前可能都不会想到有这种崩溃方式",{"2":{"169":1}}],["在你没有完全理解这里所说的指令时",{"2":{"129":1}}],["在1",{"2":{"165":1}}],["在加载到那个有依赖",{"2":{"162":1}}],["在日志中",{"2":{"158":1}}],["在日常化工作中",{"2":{"7":1}}],["在mod",{"2":{"158":1}}],["在崩溃报告的最后经常会出现一些乱七八糟的信息",{"2":{"156":1}}],["在每个mod前面会写有status表明这个mod的状态",{"2":{"155":1}}],["在安装目录里找到logs文件夹",{"2":{"144":1}}],["在有些时候会用到这些东西来进行诊断",{"2":{"154":1}}],["在有版本隔离的情况下为",{"2":{"144":1}}],["在有明确声明",{"2":{"111":1}}],["在没有错误日志的情况下诊断任何问题无异于闭眼开车",{"2":{"138":1}}],["在游戏内使用快捷键",{"2":{"137":1}}],["在较低版本整合包中非常常见",{"2":{"137":1}}],["在高版本",{"2":{"137":1}}],["在网上下载后直接拖入该文件夹",{"2":{"136":1}}],["在此便不予以赘述",{"2":{"135":1}}],["在",{"2":{"135":1,"170":1,"242":1}}],["在狗都不用的官方启动器的游戏目录内",{"2":{"135":1}}],["在指定的坐标添加一个指定",{"2":{"133":1}}],["在玩家的当前位置添加一个指定",{"2":{"133":1}}],["在玩家的当前位置添加一个指定标签的记号",{"2":{"133":1}}],["在旦星一号上将会出现在哪个组中",{"2":{"130":1}}],["在经历了数月的停摆后",{"2":{"128":1}}],["在服务器运维人员的协助下",{"2":{"114":1}}],["在服务器的早期",{"2":{"99":1}}],["在沟通中与其他人明确这一点",{"2":{"113":1}}],["在沟通交流中实现审美的共同进步",{"2":{"6":1}}],["在征得所有者同意后方可取用",{"2":{"111":1}}],["在群名片中注明自己在fdcraft中的名称",{"2":{"110":1}}],["在群里与朋友们进行交流可能是解决问题的最快方法",{"2":{"106":1,"124":1}}],["在门旁贴上门牌",{"2":{"105":1}}],["在住宅区转一下",{"2":{"104":1}}],["在周边逛一逛看看都有哪些建筑吧",{"2":{"101":1}}],["在出生点北面",{"2":{"100":1}}],["在出生点东侧",{"2":{"99":1}}],["在笼子里挂机就行",{"2":{"71":1}}],["在走前一定要清掉袭击buff",{"2":{"69":1}}],["在聊天栏显示某个快速计分板的排行",{"2":{"39":1}}],["在聊天栏显示某个统计内容的排行",{"2":{"39":1}}],["在点歌台的hud能看到较为粗略的点歌列表",{"2":{"30":1,"58":1}}],["在当下",{"2":{"162":1}}],["在当下快速发展的互联网的时代背景下",{"2":{"6":1}}],["在当前位置躺下",{"2":{"31":1}}],["在当前位置坐下",{"2":{"31":1}}],["在当前位置设置家",{"2":{"29":1,"57":1}}],["在基于高校联盟联合验证机制已基本成熟",{"2":{"17":1}}],["在完成初步测试后",{"2":{"17":1}}],["在维护",{"2":{"6":1}}],["多数第三方启动器都提供了在安装游戏的同时",{"2":{"136":1}}],["多数第三方启动器都具有开关模组的勾选功能",{"2":{"136":1}}],["多个私宅为house",{"2":{"130":1}}],["多终端",{"2":{"6":1}}],["多语言",{"2":{"6":1}}],["同样可以暂时跳过",{"2":{"224":1}}],["同样可以参照fdc内的机器",{"2":{"215":1}}],["同样有材质包的分区",{"2":{"136":1}}],["同一个整合包出现的报错往往是相同的",{"2":{"156":1}}],["同济mc社所有服务器状态",{"2":{"45":1}}],["同",{"2":{"38":1,"211":2}}],["同时也与中国minecraft高校联盟",{"2":{"247":1}}],["同时无论printer是否开启",{"2":{"193":1}}],["同时能阻止你放下错误的方块",{"2":{"190":1}}],["同时",{"2":{"6":1,"7":1,"183":1,"222":1,"256":1}}],["同学们可以学到",{"2":{"6":1}}],["同学们可以通过对",{"2":{"6":1}}],["同学们可以自由创作",{"2":{"6":1}}],["同学们可以在",{"2":{"6":1}}],["同学们可以以简单的信号源与信号传递装置构建出基本的逻辑门",{"2":{"6":1}}],["同学们可以以数百种方块的组合创造出现实的或想象中的建筑作品",{"2":{"6":1}}],["同学们的专业技能与专业素养将获得极大的提升",{"2":{"6":1}}],["同学们的想象力与创新能力能获得极大的解放",{"2":{"6":1}}],["同学们能领略传统艺术之美",{"2":{"6":1}}],["语言的应用能力",{"2":{"6":1}}],["程序本身的学习提升对",{"2":{"6":1}}],["程序设计语言开发",{"2":{"6":1}}],["程序设计等方式全面提升社团成员乃至复旦所有感兴趣的同学的专业知识",{"2":{"0":1,"6":1}}],["绘制自己角色的皮肤",{"2":{"6":1}}],["寓教于乐",{"2":{"6":1,"7":1}}],["进行了友好交流",{"2":{"247":1}}],["进行诊断呢",{"2":{"145":1}}],["进行管理将会十分痛苦",{"2":{"131":1}}],["进行祈愿",{"2":{"123":2}}],["进行旦星一号的标记点操作",{"2":{"32":1}}],["进行minecraft游戏类地图的创作",{"2":{"4":1}}],["进行minecraft建筑",{"2":{"3":1}}],["进入设置菜单",{"2":{"137":1}}],["进入fdc",{"2":{"98":1}}],["进入fdc后使用指令",{"2":{"13":1,"14":1}}],["进入服务器",{"0":{"77":1},"2":{"97":1,"119":1}}],["进入的第一个服务器也会有所不同",{"2":{"19":1}}],["进入",{"2":{"13":1,"14":1,"136":1}}],["进而创建复杂庞大的逻辑电路",{"2":{"6":1}}],["弘扬了优秀传统文化",{"2":{"6":1}}],["模式",{"2":{"188":1}}],["模式5存在着这样一个配置",{"2":{"188":1}}],["模式5补充",{"0":{"188":1}}],["模式2补充",{"0":{"187":1}}],["模组在安装了",{"2":{"136":1}}],["模组加载器",{"2":{"136":1}}],["模组名",{"2":{"136":3}}],["模组安装在",{"2":{"136":1}}],["模组",{"0":{"136":1},"2":{"134":1,"136":1}}],["模组探索服",{"0":{"15":1}}],["模组技术相关教程",{"2":{"5":1}}],["模型",{"2":{"3":1}}],["固定机械",{"2":{"5":1}}],["比赛",{"2":{"4":1}}],["的消息",{"2":{"248":1}}],["的平行世界传送中心活动传送门前往",{"2":{"243":1}}],["的漏洞",{"2":{"240":1}}],["的问题",{"2":{"239":1}}],["的稀有附魔书",{"2":{"232":1}}],["的物品流",{"2":{"220":1}}],["的部分",{"2":{"217":1}}],["的手段",{"2":{"177":1}}],["的开头为net",{"2":{"170":1}}],["的末尾发现了同样的异常",{"2":{"160":1}}],["的mod",{"2":{"155":3,"162":1}}],["的界面截图发过来",{"2":{"138":1}}],["的功能",{"2":{"136":1}}],["的功能确实是个比较难适应的操作",{"2":{"134":1}}],["的启动器",{"2":{"135":1}}],["的文件夹内",{"2":{"135":1}}],["的",{"2":{"135":1}}],["的服务器游玩",{"2":{"135":1}}],["的基本结构",{"0":{"135":1}}],["的同学来说",{"2":{"134":1}}],["的同时直接一并安装",{"2":{"136":1}}],["的同时",{"2":{"6":1}}],["的线的属性",{"2":{"133":1}}],["的线",{"2":{"133":1}}],["的区域的属性",{"2":{"133":1}}],["的区域",{"2":{"133":1}}],["的图标",{"2":{"133":1}}],["的图标的标签或文件",{"2":{"133":1}}],["的新记号集",{"2":{"133":1}}],["的记号集",{"2":{"133":2}}],["的记号",{"2":{"133":1}}],["的记号的图标或标签",{"2":{"133":1}}],["的记号移动至玩家的当前位置",{"2":{"133":1}}],["的全服定位系统",{"2":{"127":1}}],["的地标性建筑",{"2":{"120":1}}],["的情况下",{"2":{"111":1}}],["的规则",{"2":{"109":1}}],["的叙述解读",{"2":{"107":2}}],["的指引就结束了",{"2":{"106":1,"124":1}}],["的大厅",{"2":{"97":1,"119":1}}],["的当前坐标",{"2":{"28":1}}],["的玩家",{"2":{"28":1}}],["的人",{"2":{"7":1}}],["的游戏选择与地图更换",{"2":{"4":1}}],["的日常运营",{"2":{"3":1}}],["a0",{"2":{"254":1}}],["a单片",{"2":{"222":1}}],["ab的设计施工更加复杂",{"2":{"222":1}}],["ab",{"2":{"222":1,"254":1}}],["ab大吸力分类单片",{"0":{"222":1}}],["above",{"2":{"158":1,"189":1}}],["alt",{"2":{"211":2,"212":1}}],["alt均为键盘左侧的",{"2":{"210":1}}],["alt需要开启carpet精准放置协议",{"2":{"201":1}}],["alliance",{"2":{"254":1}}],["all",{"2":{"38":1,"147":1,"151":1,"189":3}}],["akari",{"2":{"158":1}}],["ati",{"2":{"156":1}}],["ae",{"2":{"147":1}}],["ad",{"2":{"147":1}}],["addline",{"2":{"133":2}}],["addarea",{"2":{"133":2}}],["addcorner",{"2":{"133":2}}],["addicon",{"2":{"133":1}}],["addition",{"2":{"55":2}}],["addset",{"2":{"133":2}}],["add",{"2":{"38":1,"130":1,"133":3}}],["a1",{"2":{"147":1,"254":1}}],["art1st",{"2":{"257":1}}],["arraylist",{"2":{"147":2}}],["arg",{"2":{"133":4}}],["available是因为这里出错的是forge",{"2":{"153":1}}],["available",{"2":{"147":2,"153":1,"155":1,"158":1}}],["as",{"2":{"147":1,"151":1}}],["accesstransformers",{"2":{"147":1}}],["accesstransformer",{"2":{"147":11}}],["a",{"2":{"147":18,"148":1,"155":1,"160":1,"212":2,"221":1}}],["an",{"2":{"156":1,"158":1}}],["any",{"2":{"138":1}}],["and",{"2":{"51":1,"147":1,"151":1}}],["amd",{"2":{"156":1}}],["amd64",{"2":{"147":1,"154":1}}],["ams",{"2":{"55":1}}],["amp",{"0":{"52":1,"73":1,"158":1,"167":1,"168":1,"229":1},"1":{"53":1,"54":1,"55":1,"56":1,"57":1,"58":1,"59":1,"60":1},"2":{"3":1,"4":1,"5":1,"12":2,"53":1,"55":1,"56":1,"86":1,"253":1,"257":1}}],["apache",{"2":{"138":1}}],["apache官方文档",{"2":{"138":1}}],["appleskin",{"2":{"50":1,"56":1}}],["api",{"2":{"6":1,"11":1,"126":1,"136":3,"156":1,"257":1}}],["afk",{"2":{"33":1,"35":1}}],["authlib",{"2":{"126":2}}],["auth",{"2":{"11":2,"257":1}}],["aigc相关",{"2":{"2":1}}],["撰写红石技术相关",{"2":{"5":1}}],["撰写建筑结构风格相关知识的科普文章",{"2":{"3":1}}],["撰写minecraft相关编程开发的教程",{"2":{"2":1}}],["撰写minecraft",{"2":{"2":1}}],["皮肤艺术设计",{"2":{"6":1}}],["皮肤",{"2":{"3":1}}],["皮肤站账号",{"2":{"135":1}}],["皮肤站",{"2":{"2":1}}],["综合",{"2":{"2":1}}],["mythicmobs",{"2":{"232":2}}],["mb",{"2":{"147":3}}],["mdk",{"2":{"147":1,"153":1}}],["m",{"2":{"135":1}}],["monsterpve",{"2":{"232":1}}],["movehere",{"2":{"133":2}}],["moe",{"2":{"126":1}}],["modrinth",{"2":{"193":1}}],["modpack",{"2":{"184":1}}],["modproject",{"2":{"147":1,"153":1}}],["mod的下载与安装在后文肥啾的教程中有介绍",{"2":{"184":1}}],["mod的加载顺序变得混乱",{"2":{"162":1}}],["mod有bug",{"0":{"163":1}}],["mode",{"2":{"147":1}}],["modlauncher",{"2":{"147":20,"170":1}}],["mod损坏",{"0":{"159":1},"2":{"146":1}}],["mods",{"2":{"135":1,"136":2,"147":11,"153":1,"158":1,"170":1}}],["mod",{"0":{"56":1,"155":1,"157":1},"1":{"158":1,"159":1},"2":{"15":1,"47":1,"146":1,"147":5,"149":1,"150":1,"153":3,"155":1,"157":1,"158":7,"160":1,"193":1,"236":1}}],["mirrorlife2000",{"2":{"235":1}}],["mixin字样的net",{"2":{"170":1}}],["mixinbooter特意加上英文感叹号来使自己第一个加载",{"2":{"162":1}}],["mixinbooter",{"2":{"162":1}}],["mixin",{"2":{"147":4}}],["mixed",{"2":{"147":1}}],["missingmodsexception",{"2":{"158":1}}],["missing",{"2":{"147":1}}],["microsoft",{"2":{"135":4}}],["might依照",{"2":{"107":1}}],["minzoom",{"2":{"133":8}}],["minihud",{"0":{"213":1},"2":{"50":1,"56":1}}],["minimap",{"2":{"50":1,"56":1,"137":1}}],["mine",{"2":{"51":2}}],["mined",{"2":{"40":2}}],["minecraft是个很玄学的游戏",{"2":{"173":1}}],["minecraft行",{"2":{"170":2}}],["minecraft不一定会生成崩溃报告",{"2":{"160":1}}],["minecraftserver",{"2":{"158":2}}],["minecraftforge",{"2":{"147":11,"150":1,"152":1,"154":1,"158":6,"170":1}}],["minecraft官网",{"2":{"135":2}}],["minecraft账号可以理解成玩家在游戏内显示的名称",{"2":{"135":1}}],["minecraft基础",{"2":{"78":2}}],["minecraft创作相关的教程",{"2":{"3":1}}],["minecraft",{"0":{"134":1,"135":1},"1":{"135":1,"136":1,"137":1},"2":{"0":1,"6":9,"7":2,"8":1,"13":1,"14":1,"15":1,"19":1,"21":1,"22":1,"77":1,"109":1,"133":2,"134":2,"135":7,"136":6,"137":4,"144":2,"145":1,"147":34,"148":1,"150":1,"154":1,"158":2,"160":1,"161":2,"165":1,"182":3,"248":1,"254":2,"255":1,"256":1}}],["maximum",{"2":{"164":1}}],["manametalmod",{"2":{"158":2}}],["main",{"2":{"147":12}}],["mail",{"2":{"27":1}}],["markdownjava",{"2":{"164":1}}],["markdowndescription",{"2":{"157":1,"158":1,"160":1}}],["markdown\\tat",{"2":{"170":1}}],["markdown\\tbackend",{"2":{"156":1}}],["markdown\\troadrunner",{"2":{"156":1}}],["markdown\\tmekanism",{"2":{"155":1}}],["markdown\\t|",{"2":{"155":1}}],["markdown\\tuchijaaaa\\tmekanism",{"2":{"155":1}}],["markdowna",{"2":{"151":1}}],["markdown",{"2":{"147":1,"153":1}}],["malilib",{"2":{"137":1}}],["masa前置库",{"2":{"137":1}}],["masa工具箱",{"2":{"137":1}}],["machine",{"2":{"130":1}}],["may",{"2":{"107":2}}],["mapped",{"2":{"147":31,"150":1}}],["map",{"2":{"50":1,"56":1}}],["muya",{"2":{"158":1}}],["multimc",{"2":{"135":1}}],["must",{"2":{"107":3}}],["music",{"2":{"30":13,"58":13}}],["mua相关技术文档",{"2":{"86":1}}],["mua",{"0":{"254":1},"2":{"19":2,"233":1,"247":1,"254":1}}],["mualliance",{"2":{"18":1,"19":1,"86":1,"254":1}}],["mspt信息同步",{"2":{"50":1}}],["mspt",{"2":{"28":1}}],["msg",{"2":{"27":1}}],["meteor",{"2":{"170":1}}],["method",{"2":{"147":6}}],["meetyourfight",{"2":{"158":3}}],["mekanism",{"2":{"155":4}}],["memory",{"2":{"154":1}}],["message中会提示需要的mod与其版本要求",{"2":{"158":1}}],["message",{"2":{"147":3,"153":1,"158":1}}],["me",{"2":{"27":1,"126":1}}],["mc中的最小时间单位",{"2":{"200":1}}],["mcmod",{"2":{"186":1}}],["mcmod百科",{"2":{"136":1}}],["mc的崩溃千奇百怪",{"2":{"169":1}}],["mc的崩溃很可能是玩家的误操作所造成的",{"2":{"150":1}}],["mc只给数字id分配了12位",{"2":{"165":1}}],["mc内部改为使用类似minecraft",{"2":{"165":1}}],["mc内部使用类似95",{"2":{"165":1}}],["mc会分配给这个物品或者方块一个id",{"2":{"165":1}}],["mc百科",{"2":{"162":1}}],["mc版本",{"2":{"154":1}}],["mcp",{"2":{"147":1}}],["mc每次启动都会打印日志",{"2":{"144":1}}],["mcbbs",{"2":{"126":3,"184":1,"232":1}}],["mclive或",{"2":{"45":1}}],["mc",{"2":{"12":2,"15":1,"19":2,"40":1,"45":1,"128":1,"134":1,"182":1,"257":2}}],["mcdreforged",{"2":{"126":1}}],["mcdr的指令标识与其他指令不同",{"2":{"37":1}}],["mcdr是一个基于python的服务端控制工具",{"2":{"37":1}}],["mcdr指令",{"0":{"37":1},"1":{"38":1,"39":1,"40":1,"41":1}}],["mcdr",{"2":{"2":1,"239":1}}],["fly",{"2":{"256":1}}],["flags",{"2":{"147":1,"154":1}}],["ff98sha",{"2":{"248":1}}],["func",{"2":{"158":1}}],["fudan",{"2":{"135":2}}],["fork",{"2":{"156":1}}],["foreach",{"2":{"147":1}}],["forge版本",{"2":{"154":1}}],["forge",{"2":{"136":4,"147":33,"150":2,"152":1,"153":2,"154":1,"158":1}}],["forge模组",{"2":{"2":1}}],["found",{"2":{"147":1,"153":1}}],["follows",{"2":{"147":1,"151":1}}],["fml没有找到被依赖",{"2":{"162":1}}],["fml按照文件名顺序一个个加载mod",{"2":{"162":1}}],["fml搜索mods文件夹",{"2":{"162":1}}],["fmlcommonhandler",{"2":{"158":3}}],["fmlserverhandler",{"2":{"158":3}}],["fmluserdevclient",{"2":{"147":1}}],["fmluserdevclientlaunchprovider",{"2":{"147":4}}],["fml",{"2":{"147":8,"150":1,"152":1,"158":7,"159":2,"162":1}}],["fml表明forge",{"2":{"146":1}}],["f2",{"2":{"135":1}}],["filename",{"2":{"133":2}}],["file",{"2":{"133":2,"147":3,"153":3,"158":1}}],["firework",{"2":{"53":2}}],["frp",{"0":{"89":1}}],["fandom",{"2":{"182":1}}],["fantasy",{"2":{"156":1}}],["fail",{"2":{"160":1}}],["failed",{"2":{"147":1,"150":1,"158":1}}],["fartherviewdistance",{"2":{"126":1}}],["farther",{"2":{"126":1}}],["fakeplayer",{"2":{"36":1}}],["fabric",{"2":{"13":1,"136":11,"150":1}}],["fabric模组",{"2":{"2":1}}],["fdu",{"0":{"14":1,"256":1},"2":{"233":1,"256":4,"257":1}}],["fdc的冒险家",{"2":{"76":1}}],["fdc的建筑榜不是由这个插件构建的",{"2":{"39":1}}],["fdclive",{"2":{"45":1}}],["fdc使用的是由服务端leaves提供的假人系统",{"2":{"36":1}}],["fdcc的聊天",{"2":{"47":1}}],["fdcc进入镜像服",{"2":{"12":1}}],["fdcc",{"2":{"12":1,"47":1}}],["fdc",{"2":{"9":2,"11":2,"12":3,"15":1,"45":1,"47":1,"97":2,"128":1,"256":1,"257":4}}],["fdcraft举行了合影活动",{"2":{"247":1}}],["fdcraft复读世界服务器服主郭虹麟",{"2":{"247":1}}],["fdcraft在规则上与生电服务器完全不同",{"2":{"109":1}}],["fdcraft不是生电服",{"2":{"109":1}}],["fdcraft不喜欢规矩与约束",{"2":{"108":1,"109":1,"117":1}}],["fdcraft不适用任何现实中的社会管理或资源配置理论与概念",{"2":{"108":1}}],["fdcraft|复读世界𒆙的主要区域",{"2":{"96":1,"118":1}}],["fdcraft|复读世界𒆙",{"0":{"236":1,"257":1},"1":{"237":1,"238":1,"239":1,"240":1,"241":1,"242":1},"2":{"75":1,"97":1,"119":1,"233":2,"236":1}}],["fdcraft",{"0":{"8":1,"11":1,"248":1,"254":1},"1":{"9":1,"10":1,"11":1,"12":1,"13":1,"14":1,"15":1},"2":{"2":1,"8":1,"16":1,"75":1,"97":1,"101":1,"109":1,"119":1,"122":1,"127":1,"135":2,"233":2,"248":2,"252":1,"253":1,"254":1,"255":1,"256":2,"257":1}}],["fdp组织",{"2":{"75":1}}],["fdp",{"2":{"4":1,"13":2,"47":1}}],["插件或者其他的手段以变更出错的区块",{"2":{"169":1}}],["插件开发日记",{"2":{"91":1}}],["插件开发",{"0":{"91":1}}],["插件",{"2":{"2":2}}],["围绕minecraft进行编程开发",{"2":{"2":1}}],["基本知识",{"0":{"175":1},"1":{"176":1,"177":1,"178":1,"179":1,"180":1,"181":1,"182":1,"183":1,"184":1,"185":1,"186":1,"187":1,"188":1,"189":1,"190":1,"191":1,"192":1,"193":1,"194":1,"195":1,"196":1,"197":1,"198":1,"199":1,"200":1,"201":1,"202":1,"203":1,"204":1,"205":1,"206":1,"207":1,"208":1,"209":1,"210":1,"211":1,"212":1,"213":1,"214":1}}],["基本都是这种情况",{"2":{"159":1}}],["基本无学习成本",{"2":{"137":1}}],["基本操作",{"0":{"134":1},"1":{"135":1,"136":1,"137":1}}],["基岩",{"2":{"247":1}}],["基岩上层",{"2":{"72":1}}],["基岩版地址",{"2":{"12":1,"257":1}}],["基岩社乃至全体复旦大学的",{"2":{"248":1}}],["基岩社社长陆金泽三人合作通过了社团答辩",{"2":{"247":1}}],["基岩社工具人团队有权对该玩家的账号进行不同程度的封禁",{"2":{"108":1}}],["基岩社的苦力怕们",{"2":{"76":1}}],["基岩社的冒险家们",{"2":{"76":1}}],["基岩社的小喇叭",{"2":{"3":1}}],["基岩社b站直播间状态",{"2":{"45":1}}],["基岩社所有服务器状态",{"2":{"45":1}}],["基岩社以人为本",{"2":{"7":1}}],["基岩社核心部门将严格自我要求",{"2":{"7":1}}],["基岩社通过营造良好的交流合作氛围",{"2":{"7":1}}],["基岩社注重循序渐进的积累式发展模式",{"2":{"7":1}}],["基岩社力求借助互联网+技术",{"2":{"7":1}}],["基岩社将以各种质量过关",{"2":{"7":1}}],["基岩社将以",{"2":{"7":1}}],["基岩社将把大学生的学习扩展到课堂之外的地方",{"2":{"6":1}}],["基岩社将提供皮肤分享交流平台",{"2":{"6":1}}],["基岩社将充分发挥该模块的作用",{"2":{"6":1}}],["基岩社将充分利用此功能",{"2":{"6":1}}],["基岩社成立之初衷是围绕",{"2":{"6":1}}],["基岩社下辖四个分部",{"2":{"1":1}}],["基岩社是一个以游戏",{"2":{"0":1,"6":1}}],["基岩社",{"0":{"0":1},"1":{"1":1,"2":1,"3":1,"4":1,"5":1,"6":1,"7":1},"2":{"76":1,"247":3}}],["基于gpt",{"2":{"232":1}}],["基于数据包的结构扩充",{"2":{"51":1}}],["基于xekrlazy的懒人合成数据包",{"2":{"50":1}}],["基于leaves的特性",{"2":{"50":1}}],["基于leaves的mod协议",{"2":{"50":1}}],["基于",{"2":{"6":1,"232":3}}],["基础插件由",{"2":{"240":1}}],["基础",{"2":{"2":1}}],["艺术修养",{"2":{"0":1,"6":1}}]],"serializationVersion":2}';export{t as default}; diff --git a/assets/chunks/VPLocalSearchBox.pOJdOY9U.js b/assets/chunks/VPLocalSearchBox.pOJdOY9U.js new file mode 100644 index 00000000..f4a031d9 --- /dev/null +++ b/assets/chunks/VPLocalSearchBox.pOJdOY9U.js @@ -0,0 +1,13 @@ +var kt=Object.defineProperty;var It=(o,e,t)=>e in o?kt(o,e,{enumerable:!0,configurable:!0,writable:!0,value:t}):o[e]=t;var Oe=(o,e,t)=>(It(o,typeof e!="symbol"?e+"":e,t),t);import{Y as mt,h as oe,y as $e,aI as Dt,aJ as Ot,d as Rt,H as xe,aK as tt,k as Fe,aL as _t,aM as Mt,z as Lt,aN as zt,l as Re,S as de,Q as Ee,aO as Pt,aP as Bt,Z as Vt,j as $t,aQ as Wt,o as ee,b as Kt,m as E,a2 as jt,p as U,aR as Jt,aS as Ut,aT as Ht,c as re,n as rt,e as Se,G as at,F as nt,a as ve,t as pe,aU as Gt,q as Qt,s as qt,aV as it,aW as Yt,ax as Zt,aD as Xt,aX as er,_ as tr}from"./framework.3rhKcKOk.js";import{u as rr,c as ar}from"./theme.52ZnxHOT.js";const nr={root:()=>mt(()=>import("./@localSearchIndexroot.pucpsVAw.js"),__vite__mapDeps([]))};/*! +* tabbable 6.2.0 +* @license MIT, https://github.com/focus-trap/tabbable/blob/master/LICENSE +*/var yt=["input:not([inert])","select:not([inert])","textarea:not([inert])","a[href]:not([inert])","button:not([inert])","[tabindex]:not(slot):not([inert])","audio[controls]:not([inert])","video[controls]:not([inert])",'[contenteditable]:not([contenteditable="false"]):not([inert])',"details>summary:first-of-type:not([inert])","details:not([inert])"],Ce=yt.join(","),gt=typeof Element>"u",ue=gt?function(){}:Element.prototype.matches||Element.prototype.msMatchesSelector||Element.prototype.webkitMatchesSelector,Ne=!gt&&Element.prototype.getRootNode?function(o){var e;return o==null||(e=o.getRootNode)===null||e===void 0?void 0:e.call(o)}:function(o){return o==null?void 0:o.ownerDocument},ke=function o(e,t){var r;t===void 0&&(t=!0);var n=e==null||(r=e.getAttribute)===null||r===void 0?void 0:r.call(e,"inert"),a=n===""||n==="true",i=a||t&&e&&o(e.parentNode);return i},ir=function(e){var t,r=e==null||(t=e.getAttribute)===null||t===void 0?void 0:t.call(e,"contenteditable");return r===""||r==="true"},bt=function(e,t,r){if(ke(e))return[];var n=Array.prototype.slice.apply(e.querySelectorAll(Ce));return t&&ue.call(e,Ce)&&n.unshift(e),n=n.filter(r),n},wt=function o(e,t,r){for(var n=[],a=Array.from(e);a.length;){var i=a.shift();if(!ke(i,!1))if(i.tagName==="SLOT"){var s=i.assignedElements(),u=s.length?s:i.children,l=o(u,!0,r);r.flatten?n.push.apply(n,l):n.push({scopeParent:i,candidates:l})}else{var h=ue.call(i,Ce);h&&r.filter(i)&&(t||!e.includes(i))&&n.push(i);var d=i.shadowRoot||typeof r.getShadowRoot=="function"&&r.getShadowRoot(i),v=!ke(d,!1)&&(!r.shadowRootFilter||r.shadowRootFilter(i));if(d&&v){var m=o(d===!0?i.children:d.children,!0,r);r.flatten?n.push.apply(n,m):n.push({scopeParent:i,candidates:m})}else a.unshift.apply(a,i.children)}}return n},xt=function(e){return!isNaN(parseInt(e.getAttribute("tabindex"),10))},se=function(e){if(!e)throw new Error("No node provided");return e.tabIndex<0&&(/^(AUDIO|VIDEO|DETAILS)$/.test(e.tagName)||ir(e))&&!xt(e)?0:e.tabIndex},or=function(e,t){var r=se(e);return r<0&&t&&!xt(e)?0:r},sr=function(e,t){return e.tabIndex===t.tabIndex?e.documentOrder-t.documentOrder:e.tabIndex-t.tabIndex},Ft=function(e){return e.tagName==="INPUT"},ur=function(e){return Ft(e)&&e.type==="hidden"},lr=function(e){var t=e.tagName==="DETAILS"&&Array.prototype.slice.apply(e.children).some(function(r){return r.tagName==="SUMMARY"});return t},cr=function(e,t){for(var r=0;rsummary:first-of-type"),i=a?e.parentElement:e;if(ue.call(i,"details:not([open]) *"))return!0;if(!r||r==="full"||r==="legacy-full"){if(typeof n=="function"){for(var s=e;e;){var u=e.parentElement,l=Ne(e);if(u&&!u.shadowRoot&&n(u)===!0)return ot(e);e.assignedSlot?e=e.assignedSlot:!u&&l!==e.ownerDocument?e=l.host:e=u}e=s}if(vr(e))return!e.getClientRects().length;if(r!=="legacy-full")return!0}else if(r==="non-zero-area")return ot(e);return!1},mr=function(e){if(/^(INPUT|BUTTON|SELECT|TEXTAREA)$/.test(e.tagName))for(var t=e.parentElement;t;){if(t.tagName==="FIELDSET"&&t.disabled){for(var r=0;r=0)},gr=function o(e){var t=[],r=[];return e.forEach(function(n,a){var i=!!n.scopeParent,s=i?n.scopeParent:n,u=or(s,i),l=i?o(n.candidates):s;u===0?i?t.push.apply(t,l):t.push(s):r.push({documentOrder:a,tabIndex:u,item:n,isScope:i,content:l})}),r.sort(sr).reduce(function(n,a){return a.isScope?n.push.apply(n,a.content):n.push(a.content),n},[]).concat(t)},br=function(e,t){t=t||{};var r;return t.getShadowRoot?r=wt([e],t.includeContainer,{filter:We.bind(null,t),flatten:!1,getShadowRoot:t.getShadowRoot,shadowRootFilter:yr}):r=bt(e,t.includeContainer,We.bind(null,t)),gr(r)},wr=function(e,t){t=t||{};var r;return t.getShadowRoot?r=wt([e],t.includeContainer,{filter:Ie.bind(null,t),flatten:!0,getShadowRoot:t.getShadowRoot}):r=bt(e,t.includeContainer,Ie.bind(null,t)),r},le=function(e,t){if(t=t||{},!e)throw new Error("No node provided");return ue.call(e,Ce)===!1?!1:We(t,e)},xr=yt.concat("iframe").join(","),_e=function(e,t){if(t=t||{},!e)throw new Error("No node provided");return ue.call(e,xr)===!1?!1:Ie(t,e)};/*! +* focus-trap 7.5.4 +* @license MIT, https://github.com/focus-trap/focus-trap/blob/master/LICENSE +*/function st(o,e){var t=Object.keys(o);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(o);e&&(r=r.filter(function(n){return Object.getOwnPropertyDescriptor(o,n).enumerable})),t.push.apply(t,r)}return t}function ut(o){for(var e=1;e0){var r=e[e.length-1];r!==t&&r.pause()}var n=e.indexOf(t);n===-1||e.splice(n,1),e.push(t)},deactivateTrap:function(e,t){var r=e.indexOf(t);r!==-1&&e.splice(r,1),e.length>0&&e[e.length-1].unpause()}},Ar=function(e){return e.tagName&&e.tagName.toLowerCase()==="input"&&typeof e.select=="function"},Tr=function(e){return(e==null?void 0:e.key)==="Escape"||(e==null?void 0:e.key)==="Esc"||(e==null?void 0:e.keyCode)===27},ge=function(e){return(e==null?void 0:e.key)==="Tab"||(e==null?void 0:e.keyCode)===9},Cr=function(e){return ge(e)&&!e.shiftKey},Nr=function(e){return ge(e)&&e.shiftKey},ct=function(e){return setTimeout(e,0)},ft=function(e,t){var r=-1;return e.every(function(n,a){return t(n)?(r=a,!1):!0}),r},me=function(e){for(var t=arguments.length,r=new Array(t>1?t-1:0),n=1;n1?p-1:0),I=1;I=0)c=r.activeElement;else{var f=i.tabbableGroups[0],p=f&&f.firstTabbableNode;c=p||h("fallbackFocus")}if(!c)throw new Error("Your focus-trap needs to have at least one focusable element");return c},v=function(){if(i.containerGroups=i.containers.map(function(c){var f=br(c,a.tabbableOptions),p=wr(c,a.tabbableOptions),k=f.length>0?f[0]:void 0,I=f.length>0?f[f.length-1]:void 0,M=p.find(function(y){return le(y)}),z=p.slice().reverse().find(function(y){return le(y)}),P=!!f.find(function(y){return se(y)>0});return{container:c,tabbableNodes:f,focusableNodes:p,posTabIndexesFound:P,firstTabbableNode:k,lastTabbableNode:I,firstDomTabbableNode:M,lastDomTabbableNode:z,nextTabbableNode:function(x){var $=arguments.length>1&&arguments[1]!==void 0?arguments[1]:!0,K=f.indexOf(x);return K<0?$?p.slice(p.indexOf(x)+1).find(function(G){return le(G)}):p.slice(0,p.indexOf(x)).reverse().find(function(G){return le(G)}):f[K+($?1:-1)]}}}),i.tabbableGroups=i.containerGroups.filter(function(c){return c.tabbableNodes.length>0}),i.tabbableGroups.length<=0&&!h("fallbackFocus"))throw new Error("Your focus-trap must have at least one container with at least one tabbable node in it at all times");if(i.containerGroups.find(function(c){return c.posTabIndexesFound})&&i.containerGroups.length>1)throw new Error("At least one node with a positive tabindex was found in one of your focus-trap's multiple containers. Positive tabindexes are only supported in single-container focus-traps.")},m=function w(c){var f=c.activeElement;if(f)return f.shadowRoot&&f.shadowRoot.activeElement!==null?w(f.shadowRoot):f},b=function w(c){if(c!==!1&&c!==m(document)){if(!c||!c.focus){w(d());return}c.focus({preventScroll:!!a.preventScroll}),i.mostRecentlyFocusedNode=c,Ar(c)&&c.select()}},S=function(c){var f=h("setReturnFocus",c);return f||(f===!1?!1:c)},g=function(c){var f=c.target,p=c.event,k=c.isBackward,I=k===void 0?!1:k;f=f||Ae(p),v();var M=null;if(i.tabbableGroups.length>0){var z=l(f,p),P=z>=0?i.containerGroups[z]:void 0;if(z<0)I?M=i.tabbableGroups[i.tabbableGroups.length-1].lastTabbableNode:M=i.tabbableGroups[0].firstTabbableNode;else if(I){var y=ft(i.tabbableGroups,function(B){var J=B.firstTabbableNode;return f===J});if(y<0&&(P.container===f||_e(f,a.tabbableOptions)&&!le(f,a.tabbableOptions)&&!P.nextTabbableNode(f,!1))&&(y=z),y>=0){var x=y===0?i.tabbableGroups.length-1:y-1,$=i.tabbableGroups[x];M=se(f)>=0?$.lastTabbableNode:$.lastDomTabbableNode}else ge(p)||(M=P.nextTabbableNode(f,!1))}else{var K=ft(i.tabbableGroups,function(B){var J=B.lastTabbableNode;return f===J});if(K<0&&(P.container===f||_e(f,a.tabbableOptions)&&!le(f,a.tabbableOptions)&&!P.nextTabbableNode(f))&&(K=z),K>=0){var G=K===i.tabbableGroups.length-1?0:K+1,Q=i.tabbableGroups[G];M=se(f)>=0?Q.firstTabbableNode:Q.firstDomTabbableNode}else ge(p)||(M=P.nextTabbableNode(f))}}else M=h("fallbackFocus");return M},A=function(c){var f=Ae(c);if(!(l(f,c)>=0)){if(me(a.clickOutsideDeactivates,c)){s.deactivate({returnFocus:a.returnFocusOnDeactivate});return}me(a.allowOutsideClick,c)||c.preventDefault()}},C=function(c){var f=Ae(c),p=l(f,c)>=0;if(p||f instanceof Document)p&&(i.mostRecentlyFocusedNode=f);else{c.stopImmediatePropagation();var k,I=!0;if(i.mostRecentlyFocusedNode)if(se(i.mostRecentlyFocusedNode)>0){var M=l(i.mostRecentlyFocusedNode),z=i.containerGroups[M].tabbableNodes;if(z.length>0){var P=z.findIndex(function(y){return y===i.mostRecentlyFocusedNode});P>=0&&(a.isKeyForward(i.recentNavEvent)?P+1=0&&(k=z[P-1],I=!1))}}else i.containerGroups.some(function(y){return y.tabbableNodes.some(function(x){return se(x)>0})})||(I=!1);else I=!1;I&&(k=g({target:i.mostRecentlyFocusedNode,isBackward:a.isKeyBackward(i.recentNavEvent)})),b(k||i.mostRecentlyFocusedNode||d())}i.recentNavEvent=void 0},F=function(c){var f=arguments.length>1&&arguments[1]!==void 0?arguments[1]:!1;i.recentNavEvent=c;var p=g({event:c,isBackward:f});p&&(ge(c)&&c.preventDefault(),b(p))},L=function(c){if(Tr(c)&&me(a.escapeDeactivates,c)!==!1){c.preventDefault(),s.deactivate();return}(a.isKeyForward(c)||a.isKeyBackward(c))&&F(c,a.isKeyBackward(c))},_=function(c){var f=Ae(c);l(f,c)>=0||me(a.clickOutsideDeactivates,c)||me(a.allowOutsideClick,c)||(c.preventDefault(),c.stopImmediatePropagation())},V=function(){if(i.active)return lt.activateTrap(n,s),i.delayInitialFocusTimer=a.delayInitialFocus?ct(function(){b(d())}):b(d()),r.addEventListener("focusin",C,!0),r.addEventListener("mousedown",A,{capture:!0,passive:!1}),r.addEventListener("touchstart",A,{capture:!0,passive:!1}),r.addEventListener("click",_,{capture:!0,passive:!1}),r.addEventListener("keydown",L,{capture:!0,passive:!1}),s},N=function(){if(i.active)return r.removeEventListener("focusin",C,!0),r.removeEventListener("mousedown",A,!0),r.removeEventListener("touchstart",A,!0),r.removeEventListener("click",_,!0),r.removeEventListener("keydown",L,!0),s},R=function(c){var f=c.some(function(p){var k=Array.from(p.removedNodes);return k.some(function(I){return I===i.mostRecentlyFocusedNode})});f&&b(d())},T=typeof window<"u"&&"MutationObserver"in window?new MutationObserver(R):void 0,O=function(){T&&(T.disconnect(),i.active&&!i.paused&&i.containers.map(function(c){T.observe(c,{subtree:!0,childList:!0})}))};return s={get active(){return i.active},get paused(){return i.paused},activate:function(c){if(i.active)return this;var f=u(c,"onActivate"),p=u(c,"onPostActivate"),k=u(c,"checkCanFocusTrap");k||v(),i.active=!0,i.paused=!1,i.nodeFocusedBeforeActivation=r.activeElement,f==null||f();var I=function(){k&&v(),V(),O(),p==null||p()};return k?(k(i.containers.concat()).then(I,I),this):(I(),this)},deactivate:function(c){if(!i.active)return this;var f=ut({onDeactivate:a.onDeactivate,onPostDeactivate:a.onPostDeactivate,checkCanReturnFocus:a.checkCanReturnFocus},c);clearTimeout(i.delayInitialFocusTimer),i.delayInitialFocusTimer=void 0,N(),i.active=!1,i.paused=!1,O(),lt.deactivateTrap(n,s);var p=u(f,"onDeactivate"),k=u(f,"onPostDeactivate"),I=u(f,"checkCanReturnFocus"),M=u(f,"returnFocus","returnFocusOnDeactivate");p==null||p();var z=function(){ct(function(){M&&b(S(i.nodeFocusedBeforeActivation)),k==null||k()})};return M&&I?(I(S(i.nodeFocusedBeforeActivation)).then(z,z),this):(z(),this)},pause:function(c){if(i.paused||!i.active)return this;var f=u(c,"onPause"),p=u(c,"onPostPause");return i.paused=!0,f==null||f(),N(),O(),p==null||p(),this},unpause:function(c){if(!i.paused||!i.active)return this;var f=u(c,"onUnpause"),p=u(c,"onPostUnpause");return i.paused=!1,f==null||f(),v(),V(),O(),p==null||p(),this},updateContainerElements:function(c){var f=[].concat(c).filter(Boolean);return i.containers=f.map(function(p){return typeof p=="string"?r.querySelector(p):p}),i.active&&v(),O(),this}},s.updateContainerElements(e),s};function Dr(o,e={}){let t;const{immediate:r,...n}=e,a=oe(!1),i=oe(!1),s=d=>t&&t.activate(d),u=d=>t&&t.deactivate(d),l=()=>{t&&(t.pause(),i.value=!0)},h=()=>{t&&(t.unpause(),i.value=!1)};return $e(()=>Dt(o),d=>{d&&(t=Ir(d,{...n,onActivate(){a.value=!0,e.onActivate&&e.onActivate()},onDeactivate(){a.value=!1,e.onDeactivate&&e.onDeactivate()}}),r&&s())},{flush:"post"}),Ot(()=>u()),{hasFocus:a,isPaused:i,activate:s,deactivate:u,pause:l,unpause:h}}class fe{constructor(e,t=!0,r=[],n=5e3){this.ctx=e,this.iframes=t,this.exclude=r,this.iframesTimeout=n}static matches(e,t){const r=typeof t=="string"?[t]:t,n=e.matches||e.matchesSelector||e.msMatchesSelector||e.mozMatchesSelector||e.oMatchesSelector||e.webkitMatchesSelector;if(n){let a=!1;return r.every(i=>n.call(e,i)?(a=!0,!1):!0),a}else return!1}getContexts(){let e,t=[];return typeof this.ctx>"u"||!this.ctx?e=[]:NodeList.prototype.isPrototypeOf(this.ctx)?e=Array.prototype.slice.call(this.ctx):Array.isArray(this.ctx)?e=this.ctx:typeof this.ctx=="string"?e=Array.prototype.slice.call(document.querySelectorAll(this.ctx)):e=[this.ctx],e.forEach(r=>{const n=t.filter(a=>a.contains(r)).length>0;t.indexOf(r)===-1&&!n&&t.push(r)}),t}getIframeContents(e,t,r=()=>{}){let n;try{const a=e.contentWindow;if(n=a.document,!a||!n)throw new Error("iframe inaccessible")}catch{r()}n&&t(n)}isIframeBlank(e){const t="about:blank",r=e.getAttribute("src").trim();return e.contentWindow.location.href===t&&r!==t&&r}observeIframeLoad(e,t,r){let n=!1,a=null;const i=()=>{if(!n){n=!0,clearTimeout(a);try{this.isIframeBlank(e)||(e.removeEventListener("load",i),this.getIframeContents(e,t,r))}catch{r()}}};e.addEventListener("load",i),a=setTimeout(i,this.iframesTimeout)}onIframeReady(e,t,r){try{e.contentWindow.document.readyState==="complete"?this.isIframeBlank(e)?this.observeIframeLoad(e,t,r):this.getIframeContents(e,t,r):this.observeIframeLoad(e,t,r)}catch{r()}}waitForIframes(e,t){let r=0;this.forEachIframe(e,()=>!0,n=>{r++,this.waitForIframes(n.querySelector("html"),()=>{--r||t()})},n=>{n||t()})}forEachIframe(e,t,r,n=()=>{}){let a=e.querySelectorAll("iframe"),i=a.length,s=0;a=Array.prototype.slice.call(a);const u=()=>{--i<=0&&n(s)};i||u(),a.forEach(l=>{fe.matches(l,this.exclude)?u():this.onIframeReady(l,h=>{t(l)&&(s++,r(h)),u()},u)})}createIterator(e,t,r){return document.createNodeIterator(e,t,r,!1)}createInstanceOnIframe(e){return new fe(e.querySelector("html"),this.iframes)}compareNodeIframe(e,t,r){const n=e.compareDocumentPosition(r),a=Node.DOCUMENT_POSITION_PRECEDING;if(n&a)if(t!==null){const i=t.compareDocumentPosition(r),s=Node.DOCUMENT_POSITION_FOLLOWING;if(i&s)return!0}else return!0;return!1}getIteratorNode(e){const t=e.previousNode();let r;return t===null?r=e.nextNode():r=e.nextNode()&&e.nextNode(),{prevNode:t,node:r}}checkIframeFilter(e,t,r,n){let a=!1,i=!1;return n.forEach((s,u)=>{s.val===r&&(a=u,i=s.handled)}),this.compareNodeIframe(e,t,r)?(a===!1&&!i?n.push({val:r,handled:!0}):a!==!1&&!i&&(n[a].handled=!0),!0):(a===!1&&n.push({val:r,handled:!1}),!1)}handleOpenIframes(e,t,r,n){e.forEach(a=>{a.handled||this.getIframeContents(a.val,i=>{this.createInstanceOnIframe(i).forEachNode(t,r,n)})})}iterateThroughNodes(e,t,r,n,a){const i=this.createIterator(t,e,n);let s=[],u=[],l,h,d=()=>({prevNode:h,node:l}=this.getIteratorNode(i),l);for(;d();)this.iframes&&this.forEachIframe(t,v=>this.checkIframeFilter(l,h,v,s),v=>{this.createInstanceOnIframe(v).forEachNode(e,m=>u.push(m),n)}),u.push(l);u.forEach(v=>{r(v)}),this.iframes&&this.handleOpenIframes(s,e,r,n),a()}forEachNode(e,t,r,n=()=>{}){const a=this.getContexts();let i=a.length;i||n(),a.forEach(s=>{const u=()=>{this.iterateThroughNodes(e,s,t,r,()=>{--i<=0&&n()})};this.iframes?this.waitForIframes(s,u):u()})}}let Or=class{constructor(e){this.ctx=e,this.ie=!1;const t=window.navigator.userAgent;(t.indexOf("MSIE")>-1||t.indexOf("Trident")>-1)&&(this.ie=!0)}set opt(e){this._opt=Object.assign({},{element:"",className:"",exclude:[],iframes:!1,iframesTimeout:5e3,separateWordSearch:!0,diacritics:!0,synonyms:{},accuracy:"partially",acrossElements:!1,caseSensitive:!1,ignoreJoiners:!1,ignoreGroups:0,ignorePunctuation:[],wildcards:"disabled",each:()=>{},noMatch:()=>{},filter:()=>!0,done:()=>{},debug:!1,log:window.console},e)}get opt(){return this._opt}get iterator(){return new fe(this.ctx,this.opt.iframes,this.opt.exclude,this.opt.iframesTimeout)}log(e,t="debug"){const r=this.opt.log;this.opt.debug&&typeof r=="object"&&typeof r[t]=="function"&&r[t](`mark.js: ${e}`)}escapeStr(e){return e.replace(/[\-\[\]\/\{\}\(\)\*\+\?\.\\\^\$\|]/g,"\\$&")}createRegExp(e){return this.opt.wildcards!=="disabled"&&(e=this.setupWildcardsRegExp(e)),e=this.escapeStr(e),Object.keys(this.opt.synonyms).length&&(e=this.createSynonymsRegExp(e)),(this.opt.ignoreJoiners||this.opt.ignorePunctuation.length)&&(e=this.setupIgnoreJoinersRegExp(e)),this.opt.diacritics&&(e=this.createDiacriticsRegExp(e)),e=this.createMergedBlanksRegExp(e),(this.opt.ignoreJoiners||this.opt.ignorePunctuation.length)&&(e=this.createJoinersRegExp(e)),this.opt.wildcards!=="disabled"&&(e=this.createWildcardsRegExp(e)),e=this.createAccuracyRegExp(e),e}createSynonymsRegExp(e){const t=this.opt.synonyms,r=this.opt.caseSensitive?"":"i",n=this.opt.ignoreJoiners||this.opt.ignorePunctuation.length?"\0":"";for(let a in t)if(t.hasOwnProperty(a)){const i=t[a],s=this.opt.wildcards!=="disabled"?this.setupWildcardsRegExp(a):this.escapeStr(a),u=this.opt.wildcards!=="disabled"?this.setupWildcardsRegExp(i):this.escapeStr(i);s!==""&&u!==""&&(e=e.replace(new RegExp(`(${this.escapeStr(s)}|${this.escapeStr(u)})`,`gm${r}`),n+`(${this.processSynomyms(s)}|${this.processSynomyms(u)})`+n))}return e}processSynomyms(e){return(this.opt.ignoreJoiners||this.opt.ignorePunctuation.length)&&(e=this.setupIgnoreJoinersRegExp(e)),e}setupWildcardsRegExp(e){return e=e.replace(/(?:\\)*\?/g,t=>t.charAt(0)==="\\"?"?":""),e.replace(/(?:\\)*\*/g,t=>t.charAt(0)==="\\"?"*":"")}createWildcardsRegExp(e){let t=this.opt.wildcards==="withSpaces";return e.replace(/\u0001/g,t?"[\\S\\s]?":"\\S?").replace(/\u0002/g,t?"[\\S\\s]*?":"\\S*")}setupIgnoreJoinersRegExp(e){return e.replace(/[^(|)\\]/g,(t,r,n)=>{let a=n.charAt(r+1);return/[(|)\\]/.test(a)||a===""?t:t+"\0"})}createJoinersRegExp(e){let t=[];const r=this.opt.ignorePunctuation;return Array.isArray(r)&&r.length&&t.push(this.escapeStr(r.join(""))),this.opt.ignoreJoiners&&t.push("\\u00ad\\u200b\\u200c\\u200d"),t.length?e.split(/\u0000+/).join(`[${t.join("")}]*`):e}createDiacriticsRegExp(e){const t=this.opt.caseSensitive?"":"i",r=this.opt.caseSensitive?["aàáảãạăằắẳẵặâầấẩẫậäåāą","AÀÁẢÃẠĂẰẮẲẴẶÂẦẤẨẪẬÄÅĀĄ","cçćč","CÇĆČ","dđď","DĐĎ","eèéẻẽẹêềếểễệëěēę","EÈÉẺẼẸÊỀẾỂỄỆËĚĒĘ","iìíỉĩịîïī","IÌÍỈĨỊÎÏĪ","lł","LŁ","nñňń","NÑŇŃ","oòóỏõọôồốổỗộơởỡớờợöøō","OÒÓỎÕỌÔỒỐỔỖỘƠỞỠỚỜỢÖØŌ","rř","RŘ","sšśșş","SŠŚȘŞ","tťțţ","TŤȚŢ","uùúủũụưừứửữựûüůū","UÙÚỦŨỤƯỪỨỬỮỰÛÜŮŪ","yýỳỷỹỵÿ","YÝỲỶỸỴŸ","zžżź","ZŽŻŹ"]:["aàáảãạăằắẳẵặâầấẩẫậäåāąAÀÁẢÃẠĂẰẮẲẴẶÂẦẤẨẪẬÄÅĀĄ","cçćčCÇĆČ","dđďDĐĎ","eèéẻẽẹêềếểễệëěēęEÈÉẺẼẸÊỀẾỂỄỆËĚĒĘ","iìíỉĩịîïīIÌÍỈĨỊÎÏĪ","lłLŁ","nñňńNÑŇŃ","oòóỏõọôồốổỗộơởỡớờợöøōOÒÓỎÕỌÔỒỐỔỖỘƠỞỠỚỜỢÖØŌ","rřRŘ","sšśșşSŠŚȘŞ","tťțţTŤȚŢ","uùúủũụưừứửữựûüůūUÙÚỦŨỤƯỪỨỬỮỰÛÜŮŪ","yýỳỷỹỵÿYÝỲỶỸỴŸ","zžżźZŽŻŹ"];let n=[];return e.split("").forEach(a=>{r.every(i=>{if(i.indexOf(a)!==-1){if(n.indexOf(i)>-1)return!1;e=e.replace(new RegExp(`[${i}]`,`gm${t}`),`[${i}]`),n.push(i)}return!0})}),e}createMergedBlanksRegExp(e){return e.replace(/[\s]+/gmi,"[\\s]+")}createAccuracyRegExp(e){const t="!\"#$%&'()*+,-./:;<=>?@[\\]^_`{|}~¡¿";let r=this.opt.accuracy,n=typeof r=="string"?r:r.value,a=typeof r=="string"?[]:r.limiters,i="";switch(a.forEach(s=>{i+=`|${this.escapeStr(s)}`}),n){case"partially":default:return`()(${e})`;case"complementary":return i="\\s"+(i||this.escapeStr(t)),`()([^${i}]*${e}[^${i}]*)`;case"exactly":return`(^|\\s${i})(${e})(?=$|\\s${i})`}}getSeparatedKeywords(e){let t=[];return e.forEach(r=>{this.opt.separateWordSearch?r.split(" ").forEach(n=>{n.trim()&&t.indexOf(n)===-1&&t.push(n)}):r.trim()&&t.indexOf(r)===-1&&t.push(r)}),{keywords:t.sort((r,n)=>n.length-r.length),length:t.length}}isNumeric(e){return Number(parseFloat(e))==e}checkRanges(e){if(!Array.isArray(e)||Object.prototype.toString.call(e[0])!=="[object Object]")return this.log("markRanges() will only accept an array of objects"),this.opt.noMatch(e),[];const t=[];let r=0;return e.sort((n,a)=>n.start-a.start).forEach(n=>{let{start:a,end:i,valid:s}=this.callNoMatchOnInvalidRanges(n,r);s&&(n.start=a,n.length=i-a,t.push(n),r=i)}),t}callNoMatchOnInvalidRanges(e,t){let r,n,a=!1;return e&&typeof e.start<"u"?(r=parseInt(e.start,10),n=r+parseInt(e.length,10),this.isNumeric(e.start)&&this.isNumeric(e.length)&&n-t>0&&n-r>0?a=!0:(this.log(`Ignoring invalid or overlapping range: ${JSON.stringify(e)}`),this.opt.noMatch(e))):(this.log(`Ignoring invalid range: ${JSON.stringify(e)}`),this.opt.noMatch(e)),{start:r,end:n,valid:a}}checkWhitespaceRanges(e,t,r){let n,a=!0,i=r.length,s=t-i,u=parseInt(e.start,10)-s;return u=u>i?i:u,n=u+parseInt(e.length,10),n>i&&(n=i,this.log(`End range automatically set to the max value of ${i}`)),u<0||n-u<0||u>i||n>i?(a=!1,this.log(`Invalid range: ${JSON.stringify(e)}`),this.opt.noMatch(e)):r.substring(u,n).replace(/\s+/g,"")===""&&(a=!1,this.log("Skipping whitespace only range: "+JSON.stringify(e)),this.opt.noMatch(e)),{start:u,end:n,valid:a}}getTextNodes(e){let t="",r=[];this.iterator.forEachNode(NodeFilter.SHOW_TEXT,n=>{r.push({start:t.length,end:(t+=n.textContent).length,node:n})},n=>this.matchesExclude(n.parentNode)?NodeFilter.FILTER_REJECT:NodeFilter.FILTER_ACCEPT,()=>{e({value:t,nodes:r})})}matchesExclude(e){return fe.matches(e,this.opt.exclude.concat(["script","style","title","head","html"]))}wrapRangeInTextNode(e,t,r){const n=this.opt.element?this.opt.element:"mark",a=e.splitText(t),i=a.splitText(r-t);let s=document.createElement(n);return s.setAttribute("data-markjs","true"),this.opt.className&&s.setAttribute("class",this.opt.className),s.textContent=a.textContent,a.parentNode.replaceChild(s,a),i}wrapRangeInMappedTextNode(e,t,r,n,a){e.nodes.every((i,s)=>{const u=e.nodes[s+1];if(typeof u>"u"||u.start>t){if(!n(i.node))return!1;const l=t-i.start,h=(r>i.end?i.end:r)-i.start,d=e.value.substr(0,i.start),v=e.value.substr(h+i.start);if(i.node=this.wrapRangeInTextNode(i.node,l,h),e.value=d+v,e.nodes.forEach((m,b)=>{b>=s&&(e.nodes[b].start>0&&b!==s&&(e.nodes[b].start-=h),e.nodes[b].end-=h)}),r-=h,a(i.node.previousSibling,i.start),r>i.end)t=i.end;else return!1}return!0})}wrapMatches(e,t,r,n,a){const i=t===0?0:t+1;this.getTextNodes(s=>{s.nodes.forEach(u=>{u=u.node;let l;for(;(l=e.exec(u.textContent))!==null&&l[i]!=="";){if(!r(l[i],u))continue;let h=l.index;if(i!==0)for(let d=1;d{let u;for(;(u=e.exec(s.value))!==null&&u[i]!=="";){let l=u.index;if(i!==0)for(let d=1;dr(u[i],d),(d,v)=>{e.lastIndex=v,n(d)})}a()})}wrapRangeFromIndex(e,t,r,n){this.getTextNodes(a=>{const i=a.value.length;e.forEach((s,u)=>{let{start:l,end:h,valid:d}=this.checkWhitespaceRanges(s,i,a.value);d&&this.wrapRangeInMappedTextNode(a,l,h,v=>t(v,s,a.value.substring(l,h),u),v=>{r(v,s)})}),n()})}unwrapMatches(e){const t=e.parentNode;let r=document.createDocumentFragment();for(;e.firstChild;)r.appendChild(e.removeChild(e.firstChild));t.replaceChild(r,e),this.ie?this.normalizeTextNode(t):t.normalize()}normalizeTextNode(e){if(e){if(e.nodeType===3)for(;e.nextSibling&&e.nextSibling.nodeType===3;)e.nodeValue+=e.nextSibling.nodeValue,e.parentNode.removeChild(e.nextSibling);else this.normalizeTextNode(e.firstChild);this.normalizeTextNode(e.nextSibling)}}markRegExp(e,t){this.opt=t,this.log(`Searching with expression "${e}"`);let r=0,n="wrapMatches";const a=i=>{r++,this.opt.each(i)};this.opt.acrossElements&&(n="wrapMatchesAcrossElements"),this[n](e,this.opt.ignoreGroups,(i,s)=>this.opt.filter(s,i,r),a,()=>{r===0&&this.opt.noMatch(e),this.opt.done(r)})}mark(e,t){this.opt=t;let r=0,n="wrapMatches";const{keywords:a,length:i}=this.getSeparatedKeywords(typeof e=="string"?[e]:e),s=this.opt.caseSensitive?"":"i",u=l=>{let h=new RegExp(this.createRegExp(l),`gm${s}`),d=0;this.log(`Searching with expression "${h}"`),this[n](h,1,(v,m)=>this.opt.filter(m,l,r,d),v=>{d++,r++,this.opt.each(v)},()=>{d===0&&this.opt.noMatch(l),a[i-1]===l?this.opt.done(r):u(a[a.indexOf(l)+1])})};this.opt.acrossElements&&(n="wrapMatchesAcrossElements"),i===0?this.opt.done(r):u(a[0])}markRanges(e,t){this.opt=t;let r=0,n=this.checkRanges(e);n&&n.length?(this.log("Starting to mark with the following ranges: "+JSON.stringify(n)),this.wrapRangeFromIndex(n,(a,i,s,u)=>this.opt.filter(a,i,s,u),(a,i)=>{r++,this.opt.each(a,i)},()=>{this.opt.done(r)})):this.opt.done(r)}unmark(e){this.opt=e;let t=this.opt.element?this.opt.element:"*";t+="[data-markjs]",this.opt.className&&(t+=`.${this.opt.className}`),this.log(`Removal selector "${t}"`),this.iterator.forEachNode(NodeFilter.SHOW_ELEMENT,r=>{this.unwrapMatches(r)},r=>{const n=fe.matches(r,t),a=this.matchesExclude(r);return!n||a?NodeFilter.FILTER_REJECT:NodeFilter.FILTER_ACCEPT},this.opt.done)}};function Rr(o){const e=new Or(o);return this.mark=(t,r)=>(e.mark(t,r),this),this.markRegExp=(t,r)=>(e.markRegExp(t,r),this),this.markRanges=(t,r)=>(e.markRanges(t,r),this),this.unmark=t=>(e.unmark(t),this),this}var W=function(){return W=Object.assign||function(e){for(var t,r=1,n=arguments.length;r0&&a[a.length-1])&&(l[0]===6||l[0]===2)){t=0;continue}if(l[0]===3&&(!a||l[1]>a[0]&&l[1]=o.length&&(o=void 0),{value:o&&o[r++],done:!o}}};throw new TypeError(e?"Object is not iterable.":"Symbol.iterator is not defined.")}function j(o,e){var t=typeof Symbol=="function"&&o[Symbol.iterator];if(!t)return o;var r=t.call(o),n,a=[],i;try{for(;(e===void 0||e-- >0)&&!(n=r.next()).done;)a.push(n.value)}catch(s){i={error:s}}finally{try{n&&!n.done&&(t=r.return)&&t.call(r)}finally{if(i)throw i.error}}return a}var Lr="ENTRIES",Et="KEYS",St="VALUES",H="",Me=function(){function o(e,t){var r=e._tree,n=Array.from(r.keys());this.set=e,this._type=t,this._path=n.length>0?[{node:r,keys:n}]:[]}return o.prototype.next=function(){var e=this.dive();return this.backtrack(),e},o.prototype.dive=function(){if(this._path.length===0)return{done:!0,value:void 0};var e=ce(this._path),t=e.node,r=e.keys;if(ce(r)===H)return{done:!1,value:this.result()};var n=t.get(ce(r));return this._path.push({node:n,keys:Array.from(n.keys())}),this.dive()},o.prototype.backtrack=function(){if(this._path.length!==0){var e=ce(this._path).keys;e.pop(),!(e.length>0)&&(this._path.pop(),this.backtrack())}},o.prototype.key=function(){return this.set._prefix+this._path.map(function(e){var t=e.keys;return ce(t)}).filter(function(e){return e!==H}).join("")},o.prototype.value=function(){return ce(this._path).node.get(H)},o.prototype.result=function(){switch(this._type){case St:return this.value();case Et:return this.key();default:return[this.key(),this.value()]}},o.prototype[Symbol.iterator]=function(){return this},o}(),ce=function(o){return o[o.length-1]},zr=function(o,e,t){var r=new Map;if(e===void 0)return r;for(var n=e.length+1,a=n+t,i=new Uint8Array(a*n).fill(t+1),s=0;st)continue e}At(o.get(m),e,t,r,n,S,i,s+m)}}}catch(f){u={error:f}}finally{try{v&&!v.done&&(l=d.return)&&l.call(d)}finally{if(u)throw u.error}}},Le=function(){function o(e,t){e===void 0&&(e=new Map),t===void 0&&(t=""),this._size=void 0,this._tree=e,this._prefix=t}return o.prototype.atPrefix=function(e){var t,r;if(!e.startsWith(this._prefix))throw new Error("Mismatched prefix");var n=j(De(this._tree,e.slice(this._prefix.length)),2),a=n[0],i=n[1];if(a===void 0){var s=j(Ue(i),2),u=s[0],l=s[1];try{for(var h=D(u.keys()),d=h.next();!d.done;d=h.next()){var v=d.value;if(v!==H&&v.startsWith(l)){var m=new Map;return m.set(v.slice(l.length),u.get(v)),new o(m,e)}}}catch(b){t={error:b}}finally{try{d&&!d.done&&(r=h.return)&&r.call(h)}finally{if(t)throw t.error}}}return new o(a,e)},o.prototype.clear=function(){this._size=void 0,this._tree.clear()},o.prototype.delete=function(e){return this._size=void 0,Pr(this._tree,e)},o.prototype.entries=function(){return new Me(this,Lr)},o.prototype.forEach=function(e){var t,r;try{for(var n=D(this),a=n.next();!a.done;a=n.next()){var i=j(a.value,2),s=i[0],u=i[1];e(s,u,this)}}catch(l){t={error:l}}finally{try{a&&!a.done&&(r=n.return)&&r.call(n)}finally{if(t)throw t.error}}},o.prototype.fuzzyGet=function(e,t){return zr(this._tree,e,t)},o.prototype.get=function(e){var t=Ke(this._tree,e);return t!==void 0?t.get(H):void 0},o.prototype.has=function(e){var t=Ke(this._tree,e);return t!==void 0&&t.has(H)},o.prototype.keys=function(){return new Me(this,Et)},o.prototype.set=function(e,t){if(typeof e!="string")throw new Error("key must be a string");this._size=void 0;var r=ze(this._tree,e);return r.set(H,t),this},Object.defineProperty(o.prototype,"size",{get:function(){if(this._size)return this._size;this._size=0;for(var e=this.entries();!e.next().done;)this._size+=1;return this._size},enumerable:!1,configurable:!0}),o.prototype.update=function(e,t){if(typeof e!="string")throw new Error("key must be a string");this._size=void 0;var r=ze(this._tree,e);return r.set(H,t(r.get(H))),this},o.prototype.fetch=function(e,t){if(typeof e!="string")throw new Error("key must be a string");this._size=void 0;var r=ze(this._tree,e),n=r.get(H);return n===void 0&&r.set(H,n=t()),n},o.prototype.values=function(){return new Me(this,St)},o.prototype[Symbol.iterator]=function(){return this.entries()},o.from=function(e){var t,r,n=new o;try{for(var a=D(e),i=a.next();!i.done;i=a.next()){var s=j(i.value,2),u=s[0],l=s[1];n.set(u,l)}}catch(h){t={error:h}}finally{try{i&&!i.done&&(r=a.return)&&r.call(a)}finally{if(t)throw t.error}}return n},o.fromObject=function(e){return o.from(Object.entries(e))},o}(),De=function(o,e,t){var r,n;if(t===void 0&&(t=[]),e.length===0||o==null)return[o,t];try{for(var a=D(o.keys()),i=a.next();!i.done;i=a.next()){var s=i.value;if(s!==H&&e.startsWith(s))return t.push([o,s]),De(o.get(s),e.slice(s.length),t)}}catch(u){r={error:u}}finally{try{i&&!i.done&&(n=a.return)&&n.call(a)}finally{if(r)throw r.error}}return t.push([o,e]),De(void 0,"",t)},Ke=function(o,e){var t,r;if(e.length===0||o==null)return o;try{for(var n=D(o.keys()),a=n.next();!a.done;a=n.next()){var i=a.value;if(i!==H&&e.startsWith(i))return Ke(o.get(i),e.slice(i.length))}}catch(s){t={error:s}}finally{try{a&&!a.done&&(r=n.return)&&r.call(n)}finally{if(t)throw t.error}}},ze=function(o,e){var t,r,n=e.length;e:for(var a=0;o&&a0)throw new Error("Expected documents to be present. Omit the argument to remove all documents.");this._index=new Le,this._documentCount=0,this._documentIds=new Map,this._idToShortId=new Map,this._fieldLength=new Map,this._avgFieldLength=[],this._storedFields=new Map,this._nextId=0}},o.prototype.discard=function(e){var t=this,r=this._idToShortId.get(e);if(r==null)throw new Error("MiniSearch: cannot discard document with ID ".concat(e,": it is not in the index"));this._idToShortId.delete(e),this._documentIds.delete(r),this._storedFields.delete(r),(this._fieldLength.get(r)||[]).forEach(function(n,a){t.removeFieldLength(r,a,t._documentCount,n)}),this._fieldLength.delete(r),this._documentCount-=1,this._dirtCount+=1,this.maybeAutoVacuum()},o.prototype.maybeAutoVacuum=function(){if(this._options.autoVacuum!==!1){var e=this._options.autoVacuum,t=e.minDirtFactor,r=e.minDirtCount,n=e.batchSize,a=e.batchWait;this.conditionalVacuum({batchSize:n,batchWait:a},{minDirtCount:r,minDirtFactor:t})}},o.prototype.discardAll=function(e){var t,r,n=this._options.autoVacuum;try{this._options.autoVacuum=!1;try{for(var a=D(e),i=a.next();!i.done;i=a.next()){var s=i.value;this.discard(s)}}catch(u){t={error:u}}finally{try{i&&!i.done&&(r=a.return)&&r.call(a)}finally{if(t)throw t.error}}}finally{this._options.autoVacuum=n}this.maybeAutoVacuum()},o.prototype.replace=function(e){var t=this._options,r=t.idField,n=t.extractField,a=n(e,r);this.discard(a),this.add(e)},o.prototype.vacuum=function(e){return e===void 0&&(e={}),this.conditionalVacuum(e)},o.prototype.conditionalVacuum=function(e,t){var r=this;return this._currentVacuum?(this._enqueuedVacuumConditions=this._enqueuedVacuumConditions&&t,this._enqueuedVacuum!=null?this._enqueuedVacuum:(this._enqueuedVacuum=this._currentVacuum.then(function(){var n=r._enqueuedVacuumConditions;return r._enqueuedVacuumConditions=Je,r.performVacuuming(e,n)}),this._enqueuedVacuum)):this.vacuumConditionsMet(t)===!1?Promise.resolve():(this._currentVacuum=this.performVacuuming(e),this._currentVacuum)},o.prototype.performVacuuming=function(e,t){return _r(this,void 0,void 0,function(){var r,n,a,i,s,u,l,h,d,v,m,b,S,g,A,C,F,L,_,V,N,R,T,O,w;return Mr(this,function(c){switch(c.label){case 0:if(r=this._dirtCount,!this.vacuumConditionsMet(t))return[3,10];n=e.batchSize||je.batchSize,a=e.batchWait||je.batchWait,i=1,c.label=1;case 1:c.trys.push([1,7,8,9]),s=D(this._index),u=s.next(),c.label=2;case 2:if(u.done)return[3,6];l=j(u.value,2),h=l[0],d=l[1];try{for(v=(R=void 0,D(d)),m=v.next();!m.done;m=v.next()){b=j(m.value,2),S=b[0],g=b[1];try{for(A=(O=void 0,D(g)),C=A.next();!C.done;C=A.next())F=j(C.value,1),L=F[0],!this._documentIds.has(L)&&(g.size<=1?d.delete(S):g.delete(L))}catch(f){O={error:f}}finally{try{C&&!C.done&&(w=A.return)&&w.call(A)}finally{if(O)throw O.error}}}}catch(f){R={error:f}}finally{try{m&&!m.done&&(T=v.return)&&T.call(v)}finally{if(R)throw R.error}}return this._index.get(h).size===0&&this._index.delete(h),i%n!==0?[3,4]:[4,new Promise(function(f){return setTimeout(f,a)})];case 3:c.sent(),c.label=4;case 4:i+=1,c.label=5;case 5:return u=s.next(),[3,2];case 6:return[3,9];case 7:return _=c.sent(),V={error:_},[3,9];case 8:try{u&&!u.done&&(N=s.return)&&N.call(s)}finally{if(V)throw V.error}return[7];case 9:this._dirtCount-=r,c.label=10;case 10:return[4,null];case 11:return c.sent(),this._currentVacuum=this._enqueuedVacuum,this._enqueuedVacuum=null,[2]}})})},o.prototype.vacuumConditionsMet=function(e){if(e==null)return!0;var t=e.minDirtCount,r=e.minDirtFactor;return t=t||Ve.minDirtCount,r=r||Ve.minDirtFactor,this.dirtCount>=t&&this.dirtFactor>=r},Object.defineProperty(o.prototype,"isVacuuming",{get:function(){return this._currentVacuum!=null},enumerable:!1,configurable:!0}),Object.defineProperty(o.prototype,"dirtCount",{get:function(){return this._dirtCount},enumerable:!1,configurable:!0}),Object.defineProperty(o.prototype,"dirtFactor",{get:function(){return this._dirtCount/(1+this._documentCount+this._dirtCount)},enumerable:!1,configurable:!0}),o.prototype.has=function(e){return this._idToShortId.has(e)},o.prototype.getStoredFields=function(e){var t=this._idToShortId.get(e);if(t!=null)return this._storedFields.get(t)},o.prototype.search=function(e,t){var r,n;t===void 0&&(t={});var a=this.executeQuery(e,t),i=[];try{for(var s=D(a),u=s.next();!u.done;u=s.next()){var l=j(u.value,2),h=l[0],d=l[1],v=d.score,m=d.terms,b=d.match,S=m.length||1,g={id:this._documentIds.get(h),score:v*S,terms:Object.keys(b),queryTerms:m,match:b};Object.assign(g,this._storedFields.get(h)),(t.filter==null||t.filter(g))&&i.push(g)}}catch(A){r={error:A}}finally{try{u&&!u.done&&(n=s.return)&&n.call(s)}finally{if(r)throw r.error}}return e===o.wildcard&&t.boostDocument==null&&this._options.searchOptions.boostDocument==null||i.sort(vt),i},o.prototype.autoSuggest=function(e,t){var r,n,a,i;t===void 0&&(t={}),t=W(W({},this._options.autoSuggestOptions),t);var s=new Map;try{for(var u=D(this.search(e,t)),l=u.next();!l.done;l=u.next()){var h=l.value,d=h.score,v=h.terms,m=v.join(" "),b=s.get(m);b!=null?(b.score+=d,b.count+=1):s.set(m,{score:d,terms:v,count:1})}}catch(_){r={error:_}}finally{try{l&&!l.done&&(n=u.return)&&n.call(u)}finally{if(r)throw r.error}}var S=[];try{for(var g=D(s),A=g.next();!A.done;A=g.next()){var C=j(A.value,2),b=C[0],F=C[1],d=F.score,v=F.terms,L=F.count;S.push({suggestion:b,terms:v,score:d/L})}}catch(_){a={error:_}}finally{try{A&&!A.done&&(i=g.return)&&i.call(g)}finally{if(a)throw a.error}}return S.sort(vt),S},Object.defineProperty(o.prototype,"documentCount",{get:function(){return this._documentCount},enumerable:!1,configurable:!0}),Object.defineProperty(o.prototype,"termCount",{get:function(){return this._index.size},enumerable:!1,configurable:!0}),o.loadJSON=function(e,t){if(t==null)throw new Error("MiniSearch: loadJSON should be given the same options used when serializing the index");return this.loadJS(JSON.parse(e),t)},o.getDefault=function(e){if(Be.hasOwnProperty(e))return Pe(Be,e);throw new Error('MiniSearch: unknown option "'.concat(e,'"'))},o.loadJS=function(e,t){var r,n,a,i,s,u,l=e.index,h=e.documentCount,d=e.nextId,v=e.documentIds,m=e.fieldIds,b=e.fieldLength,S=e.averageFieldLength,g=e.storedFields,A=e.dirtCount,C=e.serializationVersion;if(C!==1&&C!==2)throw new Error("MiniSearch: cannot deserialize an index created with an incompatible version");var F=new o(t);F._documentCount=h,F._nextId=d,F._documentIds=Te(v),F._idToShortId=new Map,F._fieldIds=m,F._fieldLength=Te(b),F._avgFieldLength=S,F._storedFields=Te(g),F._dirtCount=A||0,F._index=new Le;try{for(var L=D(F._documentIds),_=L.next();!_.done;_=L.next()){var V=j(_.value,2),N=V[0],R=V[1];F._idToShortId.set(R,N)}}catch(P){r={error:P}}finally{try{_&&!_.done&&(n=L.return)&&n.call(L)}finally{if(r)throw r.error}}try{for(var T=D(l),O=T.next();!O.done;O=T.next()){var w=j(O.value,2),c=w[0],f=w[1],p=new Map;try{for(var k=(s=void 0,D(Object.keys(f))),I=k.next();!I.done;I=k.next()){var M=I.value,z=f[M];C===1&&(z=z.ds),p.set(parseInt(M,10),Te(z))}}catch(P){s={error:P}}finally{try{I&&!I.done&&(u=k.return)&&u.call(k)}finally{if(s)throw s.error}}F._index.set(c,p)}}catch(P){a={error:P}}finally{try{O&&!O.done&&(i=T.return)&&i.call(T)}finally{if(a)throw a.error}}return F},o.prototype.executeQuery=function(e,t){var r=this;if(t===void 0&&(t={}),e===o.wildcard)return this.executeWildcardQuery(t);if(typeof e!="string"){var n=W(W(W({},t),e),{queries:void 0}),a=e.queries.map(function(g){return r.executeQuery(g,n)});return this.combineResults(a,n.combineWith)}var i=this._options,s=i.tokenize,u=i.processTerm,l=i.searchOptions,h=W(W({tokenize:s,processTerm:u},l),t),d=h.tokenize,v=h.processTerm,m=d(e).flatMap(function(g){return v(g)}).filter(function(g){return!!g}),b=m.map(jr(h)),S=b.map(function(g){return r.executeQuerySpec(g,h)});return this.combineResults(S,h.combineWith)},o.prototype.executeQuerySpec=function(e,t){var r,n,a,i,s=W(W({},this._options.searchOptions),t),u=(s.fields||this._options.fields).reduce(function(M,z){var P;return W(W({},M),(P={},P[z]=Pe(s.boost,z)||1,P))},{}),l=s.boostDocument,h=s.weights,d=s.maxFuzzy,v=s.bm25,m=W(W({},ht.weights),h),b=m.fuzzy,S=m.prefix,g=this._index.get(e.term),A=this.termResults(e.term,e.term,1,g,u,l,v),C,F;if(e.prefix&&(C=this._index.atPrefix(e.term)),e.fuzzy){var L=e.fuzzy===!0?.2:e.fuzzy,_=L<1?Math.min(d,Math.round(e.term.length*L)):L;_&&(F=this._index.fuzzyGet(e.term,_))}if(C)try{for(var V=D(C),N=V.next();!N.done;N=V.next()){var R=j(N.value,2),T=R[0],O=R[1],w=T.length-e.term.length;if(w){F==null||F.delete(T);var c=S*T.length/(T.length+.3*w);this.termResults(e.term,T,c,O,u,l,v,A)}}}catch(M){r={error:M}}finally{try{N&&!N.done&&(n=V.return)&&n.call(V)}finally{if(r)throw r.error}}if(F)try{for(var f=D(F.keys()),p=f.next();!p.done;p=f.next()){var T=p.value,k=j(F.get(T),2),I=k[0],w=k[1];if(w){var c=b*T.length/(T.length+w);this.termResults(e.term,T,c,I,u,l,v,A)}}}catch(M){a={error:M}}finally{try{p&&!p.done&&(i=f.return)&&i.call(f)}finally{if(a)throw a.error}}return A},o.prototype.executeWildcardQuery=function(e){var t,r,n=new Map,a=W(W({},this._options.searchOptions),e);try{for(var i=D(this._documentIds),s=i.next();!s.done;s=i.next()){var u=j(s.value,2),l=u[0],h=u[1],d=a.boostDocument?a.boostDocument(h,"",this._storedFields.get(l)):1;n.set(l,{score:d,terms:[],match:{}})}}catch(v){t={error:v}}finally{try{s&&!s.done&&(r=i.return)&&r.call(i)}finally{if(t)throw t.error}}return n},o.prototype.combineResults=function(e,t){if(t===void 0&&(t=He),e.length===0)return new Map;var r=t.toLowerCase();return e.reduce($r[r])||new Map},o.prototype.toJSON=function(){var e,t,r,n,a=[];try{for(var i=D(this._index),s=i.next();!s.done;s=i.next()){var u=j(s.value,2),l=u[0],h=u[1],d={};try{for(var v=(r=void 0,D(h)),m=v.next();!m.done;m=v.next()){var b=j(m.value,2),S=b[0],g=b[1];d[S]=Object.fromEntries(g)}}catch(A){r={error:A}}finally{try{m&&!m.done&&(n=v.return)&&n.call(v)}finally{if(r)throw r.error}}a.push([l,d])}}catch(A){e={error:A}}finally{try{s&&!s.done&&(t=i.return)&&t.call(i)}finally{if(e)throw e.error}}return{documentCount:this._documentCount,nextId:this._nextId,documentIds:Object.fromEntries(this._documentIds),fieldIds:this._fieldIds,fieldLength:Object.fromEntries(this._fieldLength),averageFieldLength:this._avgFieldLength,storedFields:Object.fromEntries(this._storedFields),dirtCount:this._dirtCount,index:a,serializationVersion:2}},o.prototype.termResults=function(e,t,r,n,a,i,s,u){var l,h,d,v,m;if(u===void 0&&(u=new Map),n==null)return u;try{for(var b=D(Object.keys(a)),S=b.next();!S.done;S=b.next()){var g=S.value,A=a[g],C=this._fieldIds[g],F=n.get(C);if(F!=null){var L=F.size,_=this._avgFieldLength[C];try{for(var V=(d=void 0,D(F.keys())),N=V.next();!N.done;N=V.next()){var R=N.value;if(!this._documentIds.has(R)){this.removeTerm(C,R,t),L-=1;continue}var T=i?i(this._documentIds.get(R),t,this._storedFields.get(R)):1;if(T){var O=F.get(R),w=this._fieldLength.get(R)[C],c=Kr(O,L,this._documentCount,w,_,s),f=r*A*T*c,p=u.get(R);if(p){p.score+=f,Ur(p.terms,e);var k=Pe(p.match,t);k?k.push(g):p.match[t]=[g]}else u.set(R,{score:f,terms:[e],match:(m={},m[t]=[g],m)})}}}catch(I){d={error:I}}finally{try{N&&!N.done&&(v=V.return)&&v.call(V)}finally{if(d)throw d.error}}}}}catch(I){l={error:I}}finally{try{S&&!S.done&&(h=b.return)&&h.call(b)}finally{if(l)throw l.error}}return u},o.prototype.addTerm=function(e,t,r){var n=this._index.fetch(r,pt),a=n.get(e);if(a==null)a=new Map,a.set(t,1),n.set(e,a);else{var i=a.get(t);a.set(t,(i||0)+1)}},o.prototype.removeTerm=function(e,t,r){if(!this._index.has(r)){this.warnDocumentChanged(t,e,r);return}var n=this._index.fetch(r,pt),a=n.get(e);a==null||a.get(t)==null?this.warnDocumentChanged(t,e,r):a.get(t)<=1?a.size<=1?n.delete(e):a.delete(t):a.set(t,a.get(t)-1),this._index.get(r).size===0&&this._index.delete(r)},o.prototype.warnDocumentChanged=function(e,t,r){var n,a;try{for(var i=D(Object.keys(this._fieldIds)),s=i.next();!s.done;s=i.next()){var u=s.value;if(this._fieldIds[u]===t){this._options.logger("warn","MiniSearch: document with ID ".concat(this._documentIds.get(e),' has changed before removal: term "').concat(r,'" was not present in field "').concat(u,'". Removing a document after it has changed can corrupt the index!'),"version_conflict");return}}}catch(l){n={error:l}}finally{try{s&&!s.done&&(a=i.return)&&a.call(i)}finally{if(n)throw n.error}}},o.prototype.addDocumentId=function(e){var t=this._nextId;return this._idToShortId.set(e,t),this._documentIds.set(t,e),this._documentCount+=1,this._nextId+=1,t},o.prototype.addFields=function(e){for(var t=0;t(Qt("data-v-df273b76"),o=o(),qt(),o),Qr=["aria-owns"],qr={class:"shell"},Yr=["title"],Zr=Y(()=>E("svg",{class:"search-icon",width:"18",height:"18",viewBox:"0 0 24 24","aria-hidden":"true"},[E("g",{fill:"none",stroke:"currentColor","stroke-linecap":"round","stroke-linejoin":"round","stroke-width":"2"},[E("circle",{cx:"11",cy:"11",r:"8"}),E("path",{d:"m21 21l-4.35-4.35"})])],-1)),Xr=[Zr],ea={class:"search-actions before"},ta=["title"],ra=Y(()=>E("svg",{width:"18",height:"18",viewBox:"0 0 24 24","aria-hidden":"true"},[E("path",{fill:"none",stroke:"currentColor","stroke-linecap":"round","stroke-linejoin":"round","stroke-width":"2",d:"M19 12H5m7 7l-7-7l7-7"})],-1)),aa=[ra],na=["placeholder"],ia={class:"search-actions"},oa=["title"],sa=Y(()=>E("svg",{width:"18",height:"18",viewBox:"0 0 24 24","aria-hidden":"true"},[E("path",{fill:"none",stroke:"currentColor","stroke-linecap":"round","stroke-linejoin":"round","stroke-width":"2",d:"M3 14h7v7H3zM3 3h7v7H3zm11 1h7m-7 5h7m-7 6h7m-7 5h7"})],-1)),ua=[sa],la=["disabled","title"],ca=Y(()=>E("svg",{width:"18",height:"18",viewBox:"0 0 24 24","aria-hidden":"true"},[E("path",{fill:"none",stroke:"currentColor","stroke-linecap":"round","stroke-linejoin":"round","stroke-width":"2",d:"M20 5H9l-7 7l7 7h11a2 2 0 0 0 2-2V7a2 2 0 0 0-2-2Zm-2 4l-6 6m0-6l6 6"})],-1)),fa=[ca],ha=["id","role","aria-labelledby"],da=["aria-selected"],va=["href","aria-label","onMouseenter","onFocusin"],pa={class:"titles"},ma=Y(()=>E("span",{class:"title-icon"},"#",-1)),ya=["innerHTML"],ga=Y(()=>E("svg",{width:"18",height:"18",viewBox:"0 0 24 24"},[E("path",{fill:"none",stroke:"currentColor","stroke-linecap":"round","stroke-linejoin":"round","stroke-width":"2",d:"m9 18l6-6l-6-6"})],-1)),ba={class:"title main"},wa=["innerHTML"],xa={key:0,class:"excerpt-wrapper"},Fa={key:0,class:"excerpt",inert:""},Ea=["innerHTML"],Sa=Y(()=>E("div",{class:"excerpt-gradient-bottom"},null,-1)),Aa=Y(()=>E("div",{class:"excerpt-gradient-top"},null,-1)),Ta={key:0,class:"no-results"},Ca={class:"search-keyboard-shortcuts"},Na=["aria-label"],ka=Y(()=>E("svg",{width:"14",height:"14",viewBox:"0 0 24 24"},[E("path",{fill:"none",stroke:"currentColor","stroke-linecap":"round","stroke-linejoin":"round","stroke-width":"2",d:"M12 19V5m-7 7l7-7l7 7"})],-1)),Ia=[ka],Da=["aria-label"],Oa=Y(()=>E("svg",{width:"14",height:"14",viewBox:"0 0 24 24"},[E("path",{fill:"none",stroke:"currentColor","stroke-linecap":"round","stroke-linejoin":"round","stroke-width":"2",d:"M12 5v14m7-7l-7 7l-7-7"})],-1)),Ra=[Oa],_a=["aria-label"],Ma=Y(()=>E("svg",{width:"14",height:"14",viewBox:"0 0 24 24"},[E("g",{fill:"none",stroke:"currentcolor","stroke-linecap":"round","stroke-linejoin":"round","stroke-width":"2"},[E("path",{d:"m9 10l-5 5l5 5"}),E("path",{d:"M20 4v7a4 4 0 0 1-4 4H4"})])],-1)),La=[Ma],za=["aria-label"],Pa=Rt({__name:"VPLocalSearchBox",emits:["close"],setup(o,{emit:e}){var z,P;const t=e,r=xe(),n=xe(),a=xe(nr),i=rr(),{activate:s}=Dr(r,{immediate:!0,allowOutsideClick:!0,clickOutsideDeactivates:!0,escapeDeactivates:!0}),{localeIndex:u,theme:l}=i,h=tt(async()=>{var y,x,$,K,G,Q,B,J,Z;return it(Vr.loadJSON(($=await((x=(y=a.value)[u.value])==null?void 0:x.call(y)))==null?void 0:$.default,{fields:["title","titles","text"],storeFields:["title","titles"],searchOptions:{fuzzy:.2,prefix:!0,boost:{title:4,text:2,titles:1},...((K=l.value.search)==null?void 0:K.provider)==="local"&&((Q=(G=l.value.search.options)==null?void 0:G.miniSearch)==null?void 0:Q.searchOptions)},...((B=l.value.search)==null?void 0:B.provider)==="local"&&((Z=(J=l.value.search.options)==null?void 0:J.miniSearch)==null?void 0:Z.options)}))}),v=Fe(()=>{var y,x;return((y=l.value.search)==null?void 0:y.provider)==="local"&&((x=l.value.search.options)==null?void 0:x.disableQueryPersistence)===!0}).value?oe(""):_t("vitepress:local-search-filter",""),m=Mt("vitepress:local-search-detailed-list",((z=l.value.search)==null?void 0:z.provider)==="local"&&((P=l.value.search.options)==null?void 0:P.detailedView)===!0),b=Fe(()=>{var y,x,$;return((y=l.value.search)==null?void 0:y.provider)==="local"&&(((x=l.value.search.options)==null?void 0:x.disableDetailedView)===!0||(($=l.value.search.options)==null?void 0:$.detailedView)===!1)}),S=Fe(()=>{var x,$,K,G,Q,B,J;const y=((x=l.value.search)==null?void 0:x.options)??l.value.algolia;return((Q=(G=(K=($=y==null?void 0:y.locales)==null?void 0:$[u.value])==null?void 0:K.translations)==null?void 0:G.button)==null?void 0:Q.buttonText)||((J=(B=y==null?void 0:y.translations)==null?void 0:B.button)==null?void 0:J.buttonText)||"Search"});Lt(()=>{b.value&&(m.value=!1)});const g=xe([]),A=oe(!1);$e(v,()=>{A.value=!1});const C=tt(async()=>{if(n.value)return it(new Rr(n.value))},null),F=new Gr(16);zt(()=>[h.value,v.value,m.value],async([y,x,$],K,G)=>{var be,Ge,Qe,qe;(K==null?void 0:K[0])!==y&&F.clear();let Q=!1;if(G(()=>{Q=!0}),!y)return;g.value=y.search(x).slice(0,16),A.value=!0;const B=$?await Promise.all(g.value.map(q=>L(q.id))):[];if(Q)return;for(const{id:q,mod:ae}of B){const ne=q.slice(0,q.indexOf("#"));let te=F.get(ne);if(te)continue;te=new Map,F.set(ne,te);const X=ae.default??ae;if(X!=null&&X.render||X!=null&&X.setup){const ie=Yt(X);ie.config.warnHandler=()=>{},ie.provide(Zt,i),Object.defineProperties(ie.config.globalProperties,{$frontmatter:{get(){return i.frontmatter.value}},$params:{get(){return i.page.value.params}}});const Ye=document.createElement("div");ie.mount(Ye),Ye.querySelectorAll("h1, h2, h3, h4, h5, h6").forEach(he=>{var et;const we=(et=he.querySelector("a"))==null?void 0:et.getAttribute("href"),Ze=(we==null?void 0:we.startsWith("#"))&&we.slice(1);if(!Ze)return;let Xe="";for(;(he=he.nextElementSibling)&&!/^h[1-6]$/i.test(he.tagName);)Xe+=he.outerHTML;te.set(Ze,Xe)}),ie.unmount()}if(Q)return}const J=new Set;if(g.value=g.value.map(q=>{const[ae,ne]=q.id.split("#"),te=F.get(ae),X=(te==null?void 0:te.get(ne))??"";for(const ie in q.match)J.add(ie);return{...q,text:X}}),await de(),Q)return;await new Promise(q=>{var ae;(ae=C.value)==null||ae.unmark({done:()=>{var ne;(ne=C.value)==null||ne.markRegExp(M(J),{done:q})}})});const Z=((be=r.value)==null?void 0:be.querySelectorAll(".result .excerpt"))??[];for(const q of Z)(Ge=q.querySelector('mark[data-markjs="true"]'))==null||Ge.scrollIntoView({block:"center"});(qe=(Qe=n.value)==null?void 0:Qe.firstElementChild)==null||qe.scrollIntoView({block:"start"})},{debounce:200,immediate:!0});async function L(y){const x=Xt(y.slice(0,y.indexOf("#")));try{if(!x)throw new Error(`Cannot find file for id: ${y}`);return{id:y,mod:await mt(()=>import(x),__vite__mapDeps([]))}}catch($){return console.error($),{id:y,mod:{}}}}const _=oe(),V=Fe(()=>{var y;return((y=v.value)==null?void 0:y.length)<=0});function N(y=!0){var x,$;(x=_.value)==null||x.focus(),y&&(($=_.value)==null||$.select())}Re(()=>{N()});function R(y){y.pointerType==="mouse"&&N()}const T=oe(-1),O=oe(!1);$e(g,y=>{T.value=y.length?0:-1,w()});function w(){de(()=>{const y=document.querySelector(".result.selected");y&&y.scrollIntoView({block:"nearest"})})}Ee("ArrowUp",y=>{y.preventDefault(),T.value--,T.value<0&&(T.value=g.value.length-1),O.value=!0,w()}),Ee("ArrowDown",y=>{y.preventDefault(),T.value++,T.value>=g.value.length&&(T.value=0),O.value=!0,w()});const c=Pt();Ee("Enter",y=>{if(y.isComposing||y.target instanceof HTMLButtonElement&&y.target.type!=="submit")return;const x=g.value[T.value];if(y.target instanceof HTMLInputElement&&!x){y.preventDefault();return}x&&(c.go(x.id),t("close"))}),Ee("Escape",()=>{t("close")});const p=ar({modal:{displayDetails:"Display detailed list",resetButtonTitle:"Reset search",backButtonTitle:"Close search",noResultsText:"No results for",footer:{selectText:"to select",selectKeyAriaLabel:"enter",navigateText:"to navigate",navigateUpKeyAriaLabel:"up arrow",navigateDownKeyAriaLabel:"down arrow",closeText:"to close",closeKeyAriaLabel:"escape"}}});Re(()=>{window.history.pushState(null,"",null)}),Bt("popstate",y=>{y.preventDefault(),t("close")});const k=Vt($t?document.body:null);Re(()=>{de(()=>{k.value=!0,de().then(()=>s())})}),Wt(()=>{k.value=!1});function I(){v.value="",de().then(()=>N(!1))}function M(y){return new RegExp([...y].sort((x,$)=>$.length-x.length).map(x=>`(${er(x)})`).join("|"),"gi")}return(y,x)=>{var $,K,G,Q;return ee(),Kt(Gt,{to:"body"},[E("div",{ref_key:"el",ref:r,role:"button","aria-owns":($=g.value)!=null&&$.length?"localsearch-list":void 0,"aria-expanded":"true","aria-haspopup":"listbox","aria-labelledby":"localsearch-label",class:"VPLocalSearchBox"},[E("div",{class:"backdrop",onClick:x[0]||(x[0]=B=>y.$emit("close"))}),E("div",qr,[E("form",{class:"search-bar",onPointerup:x[4]||(x[4]=B=>R(B)),onSubmit:x[5]||(x[5]=jt(()=>{},["prevent"]))},[E("label",{title:S.value,id:"localsearch-label",for:"localsearch-input"},Xr,8,Yr),E("div",ea,[E("button",{class:"back-button",title:U(p)("modal.backButtonTitle"),onClick:x[1]||(x[1]=B=>y.$emit("close"))},aa,8,ta)]),Jt(E("input",{ref_key:"searchInput",ref:_,"onUpdate:modelValue":x[2]||(x[2]=B=>Ht(v)?v.value=B:null),placeholder:S.value,id:"localsearch-input","aria-labelledby":"localsearch-label",class:"search-input"},null,8,na),[[Ut,U(v)]]),E("div",ia,[b.value?Se("",!0):(ee(),re("button",{key:0,class:rt(["toggle-layout-button",{"detailed-list":U(m)}]),type:"button",title:U(p)("modal.displayDetails"),onClick:x[3]||(x[3]=B=>T.value>-1&&(m.value=!U(m)))},ua,10,oa)),E("button",{class:"clear-button",type:"reset",disabled:V.value,title:U(p)("modal.resetButtonTitle"),onClick:I},fa,8,la)])],32),E("ul",{ref_key:"resultsEl",ref:n,id:(K=g.value)!=null&&K.length?"localsearch-list":void 0,role:(G=g.value)!=null&&G.length?"listbox":void 0,"aria-labelledby":(Q=g.value)!=null&&Q.length?"localsearch-label":void 0,class:"results",onMousemove:x[7]||(x[7]=B=>O.value=!1)},[(ee(!0),re(nt,null,at(g.value,(B,J)=>(ee(),re("li",{key:B.id,role:"option","aria-selected":T.value===J?"true":"false"},[E("a",{href:B.id,class:rt(["result",{selected:T.value===J}]),"aria-label":[...B.titles,B.title].join(" > "),onMouseenter:Z=>!O.value&&(T.value=J),onFocusin:Z=>T.value=J,onClick:x[6]||(x[6]=Z=>y.$emit("close"))},[E("div",null,[E("div",pa,[ma,(ee(!0),re(nt,null,at(B.titles,(Z,be)=>(ee(),re("span",{key:be,class:"title"},[E("span",{class:"text",innerHTML:Z},null,8,ya),ga]))),128)),E("span",ba,[E("span",{class:"text",innerHTML:B.title},null,8,wa)])]),U(m)?(ee(),re("div",xa,[B.text?(ee(),re("div",Fa,[E("div",{class:"vp-doc",innerHTML:B.text},null,8,Ea)])):Se("",!0),Sa,Aa])):Se("",!0)])],42,va)],8,da))),128)),U(v)&&!g.value.length&&A.value?(ee(),re("li",Ta,[ve(pe(U(p)("modal.noResultsText"))+' "',1),E("strong",null,pe(U(v)),1),ve('" ')])):Se("",!0)],40,ha),E("div",Ca,[E("span",null,[E("kbd",{"aria-label":U(p)("modal.footer.navigateUpKeyAriaLabel")},Ia,8,Na),E("kbd",{"aria-label":U(p)("modal.footer.navigateDownKeyAriaLabel")},Ra,8,Da),ve(" "+pe(U(p)("modal.footer.navigateText")),1)]),E("span",null,[E("kbd",{"aria-label":U(p)("modal.footer.selectKeyAriaLabel")},La,8,_a),ve(" "+pe(U(p)("modal.footer.selectText")),1)]),E("span",null,[E("kbd",{"aria-label":U(p)("modal.footer.closeKeyAriaLabel")},"esc",8,za),ve(" "+pe(U(p)("modal.footer.closeText")),1)])])])],8,Qr)])}}}),ja=tr(Pa,[["__scopeId","data-v-df273b76"]]);export{ja as default}; +function __vite__mapDeps(indexes) { + if (!__vite__mapDeps.viteFileDeps) { + __vite__mapDeps.viteFileDeps = [] + } + return indexes.map((i) => __vite__mapDeps.viteFileDeps[i]) +} diff --git a/assets/chunks/framework.3rhKcKOk.js b/assets/chunks/framework.3rhKcKOk.js new file mode 100644 index 00000000..38d06de5 --- /dev/null +++ b/assets/chunks/framework.3rhKcKOk.js @@ -0,0 +1,17 @@ +/** +* @vue/shared v3.4.15 +* (c) 2018-present Yuxi (Evan) You and Vue contributors +* @license MIT +**/function xs(e,t){const n=new Set(e.split(","));return t?s=>n.has(s.toLowerCase()):s=>n.has(s)}const ee={},yt=[],xe=()=>{},Ai=()=>!1,kt=e=>e.charCodeAt(0)===111&&e.charCodeAt(1)===110&&(e.charCodeAt(2)>122||e.charCodeAt(2)<97),As=e=>e.startsWith("onUpdate:"),ce=Object.assign,Ts=(e,t)=>{const n=e.indexOf(t);n>-1&&e.splice(n,1)},Ti=Object.prototype.hasOwnProperty,z=(e,t)=>Ti.call(e,t),U=Array.isArray,bt=e=>Sn(e)==="[object Map]",zr=e=>Sn(e)==="[object Set]",q=e=>typeof e=="function",ne=e=>typeof e=="string",Tt=e=>typeof e=="symbol",Q=e=>e!==null&&typeof e=="object",Yr=e=>(Q(e)||q(e))&&q(e.then)&&q(e.catch),Zr=Object.prototype.toString,Sn=e=>Zr.call(e),Si=e=>Sn(e).slice(8,-1),Qr=e=>Sn(e)==="[object Object]",Ss=e=>ne(e)&&e!=="NaN"&&e[0]!=="-"&&""+parseInt(e,10)===e,Ft=xs(",key,ref,ref_for,ref_key,onVnodeBeforeMount,onVnodeMounted,onVnodeBeforeUpdate,onVnodeUpdated,onVnodeBeforeUnmount,onVnodeUnmounted"),Rn=e=>{const t=Object.create(null);return n=>t[n]||(t[n]=e(n))},Ri=/-(\w)/g,Ne=Rn(e=>e.replace(Ri,(t,n)=>n?n.toUpperCase():"")),Oi=/\B([A-Z])/g,ft=Rn(e=>e.replace(Oi,"-$1").toLowerCase()),On=Rn(e=>e.charAt(0).toUpperCase()+e.slice(1)),dn=Rn(e=>e?`on${On(e)}`:""),Qe=(e,t)=>!Object.is(e,t),hn=(e,t)=>{for(let n=0;n{Object.defineProperty(e,t,{configurable:!0,enumerable:!1,value:n})},cs=e=>{const t=parseFloat(e);return isNaN(t)?e:t},Li=e=>{const t=ne(e)?Number(e):NaN;return isNaN(t)?e:t};let er;const eo=()=>er||(er=typeof globalThis<"u"?globalThis:typeof self<"u"?self:typeof window<"u"?window:typeof global<"u"?global:{});function Rs(e){if(U(e)){const t={};for(let n=0;n{if(n){const s=n.split(Mi);s.length>1&&(t[s[0].trim()]=s[1].trim())}}),t}function Os(e){let t="";if(ne(e))t=e;else if(U(e))for(let n=0;nne(e)?e:e==null?"":U(e)||Q(e)&&(e.toString===Zr||!q(e.toString))?JSON.stringify(e,no,2):String(e),no=(e,t)=>t&&t.__v_isRef?no(e,t.value):bt(t)?{[`Map(${t.size})`]:[...t.entries()].reduce((n,[s,r],o)=>(n[qn(s,o)+" =>"]=r,n),{})}:zr(t)?{[`Set(${t.size})`]:[...t.values()].map(n=>qn(n))}:Tt(t)?qn(t):Q(t)&&!U(t)&&!Qr(t)?String(t):t,qn=(e,t="")=>{var n;return Tt(e)?`Symbol(${(n=e.description)!=null?n:t})`:e};/** +* @vue/reactivity v3.4.15 +* (c) 2018-present Yuxi (Evan) You and Vue contributors +* @license MIT +**/let be;class Di{constructor(t=!1){this.detached=t,this._active=!0,this.effects=[],this.cleanups=[],this.parent=be,!t&&be&&(this.index=(be.scopes||(be.scopes=[])).push(this)-1)}get active(){return this._active}run(t){if(this._active){const n=be;try{return be=this,t()}finally{be=n}}}on(){be=this}off(){be=this.parent}stop(t){if(this._active){let n,s;for(n=0,s=this.effects.length;n=2))break}this._dirtyLevel<2&&(this._dirtyLevel=0),ht()}return this._dirtyLevel>=2}set dirty(t){this._dirtyLevel=t?2:0}run(){if(this._dirtyLevel=0,!this.active)return this.fn();let t=Je,n=ct;try{return Je=!0,ct=this,this._runnings++,tr(this),this.fn()}finally{nr(this),this._runnings--,ct=n,Je=t}}stop(){var t;this.active&&(tr(this),nr(this),(t=this.onStop)==null||t.call(this),this.active=!1)}}function Vi(e){return e.value}function tr(e){e._trackId++,e._depsLength=0}function nr(e){if(e.deps&&e.deps.length>e._depsLength){for(let t=e._depsLength;t{const n=new Map;return n.cleanup=e,n.computed=t,n},_n=new WeakMap,at=Symbol(""),fs=Symbol("");function _e(e,t,n){if(Je&&ct){let s=_n.get(e);s||_n.set(e,s=new Map);let r=s.get(n);r||s.set(n,r=ao(()=>s.delete(n))),io(ct,r)}}function Be(e,t,n,s,r,o){const i=_n.get(e);if(!i)return;let l=[];if(t==="clear")l=[...i.values()];else if(n==="length"&&U(e)){const c=Number(s);i.forEach((a,f)=>{(f==="length"||!Tt(f)&&f>=c)&&l.push(a)})}else switch(n!==void 0&&l.push(i.get(n)),t){case"add":U(e)?Ss(n)&&l.push(i.get("length")):(l.push(i.get(at)),bt(e)&&l.push(i.get(fs)));break;case"delete":U(e)||(l.push(i.get(at)),bt(e)&&l.push(i.get(fs)));break;case"set":bt(e)&&l.push(i.get(at));break}Fs();for(const c of l)c&&lo(c,2);Ms()}function ji(e,t){var n;return(n=_n.get(e))==null?void 0:n.get(t)}const Ui=xs("__proto__,__v_isRef,__isVue"),uo=new Set(Object.getOwnPropertyNames(Symbol).filter(e=>e!=="arguments"&&e!=="caller").map(e=>Symbol[e]).filter(Tt)),sr=Ki();function Ki(){const e={};return["includes","indexOf","lastIndexOf"].forEach(t=>{e[t]=function(...n){const s=Y(this);for(let o=0,i=this.length;o{e[t]=function(...n){dt(),Fs();const s=Y(this)[t].apply(this,n);return Ms(),ht(),s}}),e}function ki(e){const t=Y(this);return _e(t,"has",e),t.hasOwnProperty(e)}class fo{constructor(t=!1,n=!1){this._isReadonly=t,this._shallow=n}get(t,n,s){const r=this._isReadonly,o=this._shallow;if(n==="__v_isReactive")return!r;if(n==="__v_isReadonly")return r;if(n==="__v_isShallow")return o;if(n==="__v_raw")return s===(r?o?sl:mo:o?go:po).get(t)||Object.getPrototypeOf(t)===Object.getPrototypeOf(s)?t:void 0;const i=U(t);if(!r){if(i&&z(sr,n))return Reflect.get(sr,n,s);if(n==="hasOwnProperty")return ki}const l=Reflect.get(t,n,s);return(Tt(n)?uo.has(n):Ui(n))||(r||_e(t,"get",n),o)?l:de(l)?i&&Ss(n)?l:l.value:Q(l)?r?Mn(l):Fn(l):l}}class ho extends fo{constructor(t=!1){super(!1,t)}set(t,n,s,r){let o=t[n];if(!this._shallow){const c=xt(o);if(!yn(s)&&!xt(s)&&(o=Y(o),s=Y(s)),!U(t)&&de(o)&&!de(s))return c?!1:(o.value=s,!0)}const i=U(t)&&Ss(n)?Number(n)e,Ln=e=>Reflect.getPrototypeOf(e);function Yt(e,t,n=!1,s=!1){e=e.__v_raw;const r=Y(e),o=Y(t);n||(Qe(t,o)&&_e(r,"get",t),_e(r,"get",o));const{has:i}=Ln(r),l=s?Ps:n?$s:Ht;if(i.call(r,t))return l(e.get(t));if(i.call(r,o))return l(e.get(o));e!==r&&e.get(t)}function Zt(e,t=!1){const n=this.__v_raw,s=Y(n),r=Y(e);return t||(Qe(e,r)&&_e(s,"has",e),_e(s,"has",r)),e===r?n.has(e):n.has(e)||n.has(r)}function Qt(e,t=!1){return e=e.__v_raw,!t&&_e(Y(e),"iterate",at),Reflect.get(e,"size",e)}function rr(e){e=Y(e);const t=Y(this);return Ln(t).has.call(t,e)||(t.add(e),Be(t,"add",e,e)),this}function or(e,t){t=Y(t);const n=Y(this),{has:s,get:r}=Ln(n);let o=s.call(n,e);o||(e=Y(e),o=s.call(n,e));const i=r.call(n,e);return n.set(e,t),o?Qe(t,i)&&Be(n,"set",e,t):Be(n,"add",e,t),this}function ir(e){const t=Y(this),{has:n,get:s}=Ln(t);let r=n.call(t,e);r||(e=Y(e),r=n.call(t,e)),s&&s.call(t,e);const o=t.delete(e);return r&&Be(t,"delete",e,void 0),o}function lr(){const e=Y(this),t=e.size!==0,n=e.clear();return t&&Be(e,"clear",void 0,void 0),n}function en(e,t){return function(s,r){const o=this,i=o.__v_raw,l=Y(i),c=t?Ps:e?$s:Ht;return!e&&_e(l,"iterate",at),i.forEach((a,f)=>s.call(r,c(a),c(f),o))}}function tn(e,t,n){return function(...s){const r=this.__v_raw,o=Y(r),i=bt(o),l=e==="entries"||e===Symbol.iterator&&i,c=e==="keys"&&i,a=r[e](...s),f=n?Ps:t?$s:Ht;return!t&&_e(o,"iterate",c?fs:at),{next(){const{value:h,done:p}=a.next();return p?{value:h,done:p}:{value:l?[f(h[0]),f(h[1])]:f(h),done:p}},[Symbol.iterator](){return this}}}}function Ve(e){return function(...t){return e==="delete"?!1:e==="clear"?void 0:this}}function Xi(){const e={get(o){return Yt(this,o)},get size(){return Qt(this)},has:Zt,add:rr,set:or,delete:ir,clear:lr,forEach:en(!1,!1)},t={get(o){return Yt(this,o,!1,!0)},get size(){return Qt(this)},has:Zt,add:rr,set:or,delete:ir,clear:lr,forEach:en(!1,!0)},n={get(o){return Yt(this,o,!0)},get size(){return Qt(this,!0)},has(o){return Zt.call(this,o,!0)},add:Ve("add"),set:Ve("set"),delete:Ve("delete"),clear:Ve("clear"),forEach:en(!0,!1)},s={get(o){return Yt(this,o,!0,!0)},get size(){return Qt(this,!0)},has(o){return Zt.call(this,o,!0)},add:Ve("add"),set:Ve("set"),delete:Ve("delete"),clear:Ve("clear"),forEach:en(!0,!0)};return["keys","values","entries",Symbol.iterator].forEach(o=>{e[o]=tn(o,!1,!1),n[o]=tn(o,!0,!1),t[o]=tn(o,!1,!0),s[o]=tn(o,!0,!0)}),[e,n,t,s]}const[zi,Yi,Zi,Qi]=Xi();function Is(e,t){const n=t?e?Qi:Zi:e?Yi:zi;return(s,r,o)=>r==="__v_isReactive"?!e:r==="__v_isReadonly"?e:r==="__v_raw"?s:Reflect.get(z(n,r)&&r in s?n:s,r,o)}const el={get:Is(!1,!1)},tl={get:Is(!1,!0)},nl={get:Is(!0,!1)},po=new WeakMap,go=new WeakMap,mo=new WeakMap,sl=new WeakMap;function rl(e){switch(e){case"Object":case"Array":return 1;case"Map":case"Set":case"WeakMap":case"WeakSet":return 2;default:return 0}}function ol(e){return e.__v_skip||!Object.isExtensible(e)?0:rl(Si(e))}function Fn(e){return xt(e)?e:Ns(e,!1,qi,el,po)}function il(e){return Ns(e,!1,Ji,tl,go)}function Mn(e){return Ns(e,!0,Gi,nl,mo)}function Ns(e,t,n,s,r){if(!Q(e)||e.__v_raw&&!(t&&e.__v_isReactive))return e;const o=r.get(e);if(o)return o;const i=ol(e);if(i===0)return e;const l=new Proxy(e,i===2?s:n);return r.set(e,l),l}function wt(e){return xt(e)?wt(e.__v_raw):!!(e&&e.__v_isReactive)}function xt(e){return!!(e&&e.__v_isReadonly)}function yn(e){return!!(e&&e.__v_isShallow)}function _o(e){return wt(e)||xt(e)}function Y(e){const t=e&&e.__v_raw;return t?Y(t):e}function Mt(e){return mn(e,"__v_skip",!0),e}const Ht=e=>Q(e)?Fn(e):e,$s=e=>Q(e)?Mn(e):e;class yo{constructor(t,n,s,r){this._setter=n,this.dep=void 0,this.__v_isRef=!0,this.__v_isReadonly=!1,this.effect=new Ls(()=>t(this._value),()=>Pt(this,1),()=>this.dep&&co(this.dep)),this.effect.computed=this,this.effect.active=this._cacheable=!r,this.__v_isReadonly=s}get value(){const t=Y(this);return(!t._cacheable||t.effect.dirty)&&Qe(t._value,t._value=t.effect.run())&&Pt(t,2),Ds(t),t.effect._dirtyLevel>=1&&Pt(t,1),t._value}set value(t){this._setter(t)}get _dirty(){return this.effect.dirty}set _dirty(t){this.effect.dirty=t}}function ll(e,t,n=!1){let s,r;const o=q(e);return o?(s=e,r=xe):(s=e.get,r=e.set),new yo(s,r,o||!r,n)}function Ds(e){Je&&ct&&(e=Y(e),io(ct,e.dep||(e.dep=ao(()=>e.dep=void 0,e instanceof yo?e:void 0))))}function Pt(e,t=2,n){e=Y(e);const s=e.dep;s&&lo(s,t)}function de(e){return!!(e&&e.__v_isRef===!0)}function ie(e){return bo(e,!1)}function Bs(e){return bo(e,!0)}function bo(e,t){return de(e)?e:new cl(e,t)}class cl{constructor(t,n){this.__v_isShallow=n,this.dep=void 0,this.__v_isRef=!0,this._rawValue=n?t:Y(t),this._value=n?t:Ht(t)}get value(){return Ds(this),this._value}set value(t){const n=this.__v_isShallow||yn(t)||xt(t);t=n?t:Y(t),Qe(t,this._rawValue)&&(this._rawValue=t,this._value=n?t:Ht(t),Pt(this,2))}}function wo(e){return de(e)?e.value:e}const al={get:(e,t,n)=>wo(Reflect.get(e,t,n)),set:(e,t,n,s)=>{const r=e[t];return de(r)&&!de(n)?(r.value=n,!0):Reflect.set(e,t,n,s)}};function vo(e){return wt(e)?e:new Proxy(e,al)}class ul{constructor(t){this.dep=void 0,this.__v_isRef=!0;const{get:n,set:s}=t(()=>Ds(this),()=>Pt(this));this._get=n,this._set=s}get value(){return this._get()}set value(t){this._set(t)}}function fl(e){return new ul(e)}class dl{constructor(t,n,s){this._object=t,this._key=n,this._defaultValue=s,this.__v_isRef=!0}get value(){const t=this._object[this._key];return t===void 0?this._defaultValue:t}set value(t){this._object[this._key]=t}get dep(){return ji(Y(this._object),this._key)}}class hl{constructor(t){this._getter=t,this.__v_isRef=!0,this.__v_isReadonly=!0}get value(){return this._getter()}}function pl(e,t,n){return de(e)?e:q(e)?new hl(e):Q(e)&&arguments.length>1?gl(e,t,n):ie(e)}function gl(e,t,n){const s=e[t];return de(s)?s:new dl(e,t,n)}/** +* @vue/runtime-core v3.4.15 +* (c) 2018-present Yuxi (Evan) You and Vue contributors +* @license MIT +**/function Xe(e,t,n,s){let r;try{r=s?e(...s):e()}catch(o){Wt(o,t,n)}return r}function Ae(e,t,n,s){if(q(e)){const o=Xe(e,t,n,s);return o&&Yr(o)&&o.catch(i=>{Wt(i,t,n)}),o}const r=[];for(let o=0;o>>1,r=he[s],o=jt(r);oPe&&he.splice(t,1)}function bl(e){U(e)?vt.push(...e):(!ke||!ke.includes(e,e.allowRecurse?ot+1:ot))&&vt.push(e),Co()}function cr(e,t,n=Vt?Pe+1:0){for(;njt(n)-jt(s));if(vt.length=0,ke){ke.push(...t);return}for(ke=t,ot=0;ote.id==null?1/0:e.id,wl=(e,t)=>{const n=jt(e)-jt(t);if(n===0){if(e.pre&&!t.pre)return-1;if(t.pre&&!e.pre)return 1}return n};function xo(e){ds=!1,Vt=!0,he.sort(wl);try{for(Pe=0;Pene(_)?_.trim():_)),h&&(r=n.map(cs))}let l,c=s[l=dn(t)]||s[l=dn(Ne(t))];!c&&o&&(c=s[l=dn(ft(t))]),c&&Ae(c,e,6,r);const a=s[l+"Once"];if(a){if(!e.emitted)e.emitted={};else if(e.emitted[l])return;e.emitted[l]=!0,Ae(a,e,6,r)}}function Ao(e,t,n=!1){const s=t.emitsCache,r=s.get(e);if(r!==void 0)return r;const o=e.emits;let i={},l=!1;if(!q(e)){const c=a=>{const f=Ao(a,t,!0);f&&(l=!0,ce(i,f))};!n&&t.mixins.length&&t.mixins.forEach(c),e.extends&&c(e.extends),e.mixins&&e.mixins.forEach(c)}return!o&&!l?(Q(e)&&s.set(e,null),null):(U(o)?o.forEach(c=>i[c]=null):ce(i,o),Q(e)&&s.set(e,i),i)}function Nn(e,t){return!e||!kt(t)?!1:(t=t.slice(2).replace(/Once$/,""),z(e,t[0].toLowerCase()+t.slice(1))||z(e,ft(t))||z(e,t))}let le=null,$n=null;function wn(e){const t=le;return le=e,$n=e&&e.type.__scopeId||null,t}function Za(e){$n=e}function Qa(){$n=null}function El(e,t=le,n){if(!t||e._n)return e;const s=(...r)=>{s._d&&Er(-1);const o=wn(t);let i;try{i=e(...r)}finally{wn(o),s._d&&Er(1)}return i};return s._n=!0,s._c=!0,s._d=!0,s}function Gn(e){const{type:t,vnode:n,proxy:s,withProxy:r,props:o,propsOptions:[i],slots:l,attrs:c,emit:a,render:f,renderCache:h,data:p,setupState:_,ctx:v,inheritAttrs:O}=e;let N,K;const j=wn(e);try{if(n.shapeFlag&4){const y=r||s,P=y;N=Se(f.call(P,y,h,o,_,p,v)),K=c}else{const y=t;N=Se(y.length>1?y(o,{attrs:c,slots:l,emit:a}):y(o,null)),K=t.props?c:Cl(c)}}catch(y){Dt.length=0,Wt(y,e,1),N=re(we)}let g=N;if(K&&O!==!1){const y=Object.keys(K),{shapeFlag:P}=g;y.length&&P&7&&(i&&y.some(As)&&(K=xl(K,i)),g=et(g,K))}return n.dirs&&(g=et(g),g.dirs=g.dirs?g.dirs.concat(n.dirs):n.dirs),n.transition&&(g.transition=n.transition),N=g,wn(j),N}const Cl=e=>{let t;for(const n in e)(n==="class"||n==="style"||kt(n))&&((t||(t={}))[n]=e[n]);return t},xl=(e,t)=>{const n={};for(const s in e)(!As(s)||!(s.slice(9)in t))&&(n[s]=e[s]);return n};function Al(e,t,n){const{props:s,children:r,component:o}=e,{props:i,children:l,patchFlag:c}=t,a=o.emitsOptions;if(t.dirs||t.transition)return!0;if(n&&c>=0){if(c&1024)return!0;if(c&16)return s?ar(s,i,a):!!i;if(c&8){const f=t.dynamicProps;for(let h=0;he.__isSuspense;function Ro(e,t){t&&t.pendingBranch?U(e)?t.effects.push(...e):t.effects.push(e):bl(e)}const Rl=Symbol.for("v-scx"),Ol=()=>Ct(Rl);function js(e,t){return Dn(e,null,t)}function nu(e,t){return Dn(e,null,{flush:"post"})}const nn={};function ze(e,t,n){return Dn(e,t,n)}function Dn(e,t,{immediate:n,deep:s,flush:r,once:o,onTrack:i,onTrigger:l}=ee){if(t&&o){const L=t;t=(...$)=>{L(...$),P()}}const c=ue,a=L=>s===!0?L:lt(L,s===!1?1:void 0);let f,h=!1,p=!1;if(de(e)?(f=()=>e.value,h=yn(e)):wt(e)?(f=()=>a(e),h=!0):U(e)?(p=!0,h=e.some(L=>wt(L)||yn(L)),f=()=>e.map(L=>{if(de(L))return L.value;if(wt(L))return a(L);if(q(L))return Xe(L,c,2)})):q(e)?t?f=()=>Xe(e,c,2):f=()=>(_&&_(),Ae(e,c,3,[v])):f=xe,t&&s){const L=f;f=()=>lt(L())}let _,v=L=>{_=g.onStop=()=>{Xe(L,c,4),_=g.onStop=void 0}},O;if(Jt)if(v=xe,t?n&&Ae(t,c,3,[f(),p?[]:void 0,v]):f(),r==="sync"){const L=Ol();O=L.__watcherHandles||(L.__watcherHandles=[])}else return xe;let N=p?new Array(e.length).fill(nn):nn;const K=()=>{if(!(!g.active||!g.dirty))if(t){const L=g.run();(s||h||(p?L.some(($,S)=>Qe($,N[S])):Qe(L,N)))&&(_&&_(),Ae(t,c,3,[L,N===nn?void 0:p&&N[0]===nn?[]:N,v]),N=L)}else g.run()};K.allowRecurse=!!t;let j;r==="sync"?j=K:r==="post"?j=()=>ge(K,c&&c.suspense):(K.pre=!0,c&&(K.id=c.uid),j=()=>In(K));const g=new Ls(f,xe,j),y=so(),P=()=>{g.stop(),y&&Ts(y.effects,g)};return t?n?K():N=g.run():r==="post"?ge(g.run.bind(g),c&&c.suspense):g.run(),O&&O.push(P),P}function Ll(e,t,n){const s=this.proxy,r=ne(e)?e.includes(".")?Oo(s,e):()=>s[e]:e.bind(s,s);let o;q(t)?o=t:(o=t.handler,n=t);const i=Gt(this),l=Dn(r,o.bind(s),n);return i(),l}function Oo(e,t){const n=t.split(".");return()=>{let s=e;for(let r=0;r0){if(n>=t)return e;n++}if(s=s||new Set,s.has(e))return e;if(s.add(e),de(e))lt(e.value,t,n,s);else if(U(e))for(let r=0;r{lt(r,t,n,s)});else if(Qr(e))for(const r in e)lt(e[r],t,n,s);return e}function su(e,t){if(le===null)return e;const n=Un(le)||le.proxy,s=e.dirs||(e.dirs=[]);for(let r=0;r{e.isMounted=!0}),Io(()=>{e.isUnmounting=!0}),e}const ve=[Function,Array],Lo={mode:String,appear:Boolean,persisted:Boolean,onBeforeEnter:ve,onEnter:ve,onAfterEnter:ve,onEnterCancelled:ve,onBeforeLeave:ve,onLeave:ve,onAfterLeave:ve,onLeaveCancelled:ve,onBeforeAppear:ve,onAppear:ve,onAfterAppear:ve,onAppearCancelled:ve},Ml={name:"BaseTransition",props:Lo,setup(e,{slots:t}){const n=jn(),s=Fl();let r;return()=>{const o=t.default&&Mo(t.default(),!0);if(!o||!o.length)return;let i=o[0];if(o.length>1){for(const O of o)if(O.type!==we){i=O;break}}const l=Y(e),{mode:c}=l;if(s.isLeaving)return Jn(i);const a=fr(i);if(!a)return Jn(i);const f=hs(a,l,s,n);ps(a,f);const h=n.subTree,p=h&&fr(h);let _=!1;const{getTransitionKey:v}=a.type;if(v){const O=v();r===void 0?r=O:O!==r&&(r=O,_=!0)}if(p&&p.type!==we&&(!it(a,p)||_)){const O=hs(p,l,s,n);if(ps(p,O),c==="out-in")return s.isLeaving=!0,O.afterLeave=()=>{s.isLeaving=!1,n.update.active!==!1&&(n.effect.dirty=!0,n.update())},Jn(i);c==="in-out"&&a.type!==we&&(O.delayLeave=(N,K,j)=>{const g=Fo(s,p);g[String(p.key)]=p,N[We]=()=>{K(),N[We]=void 0,delete f.delayedLeave},f.delayedLeave=j})}return i}}},Pl=Ml;function Fo(e,t){const{leavingVNodes:n}=e;let s=n.get(t.type);return s||(s=Object.create(null),n.set(t.type,s)),s}function hs(e,t,n,s){const{appear:r,mode:o,persisted:i=!1,onBeforeEnter:l,onEnter:c,onAfterEnter:a,onEnterCancelled:f,onBeforeLeave:h,onLeave:p,onAfterLeave:_,onLeaveCancelled:v,onBeforeAppear:O,onAppear:N,onAfterAppear:K,onAppearCancelled:j}=t,g=String(e.key),y=Fo(n,e),P=(S,A)=>{S&&Ae(S,s,9,A)},L=(S,A)=>{const T=A[1];P(S,A),U(S)?S.every(k=>k.length<=1)&&T():S.length<=1&&T()},$={mode:o,persisted:i,beforeEnter(S){let A=l;if(!n.isMounted)if(r)A=O||l;else return;S[We]&&S[We](!0);const T=y[g];T&&it(e,T)&&T.el[We]&&T.el[We](),P(A,[S])},enter(S){let A=c,T=a,k=f;if(!n.isMounted)if(r)A=N||c,T=K||a,k=j||f;else return;let M=!1;const G=S[sn]=oe=>{M||(M=!0,oe?P(k,[S]):P(T,[S]),$.delayedLeave&&$.delayedLeave(),S[sn]=void 0)};A?L(A,[S,G]):G()},leave(S,A){const T=String(e.key);if(S[sn]&&S[sn](!0),n.isUnmounting)return A();P(h,[S]);let k=!1;const M=S[We]=G=>{k||(k=!0,A(),G?P(v,[S]):P(_,[S]),S[We]=void 0,y[T]===e&&delete y[T])};y[T]=e,p?L(p,[S,M]):M()},clone(S){return hs(S,t,n,s)}};return $}function Jn(e){if(qt(e))return e=et(e),e.children=null,e}function fr(e){return qt(e)?e.children?e.children[0]:void 0:e}function ps(e,t){e.shapeFlag&6&&e.component?ps(e.component.subTree,t):e.shapeFlag&128?(e.ssContent.transition=t.clone(e.ssContent),e.ssFallback.transition=t.clone(e.ssFallback)):e.transition=t}function Mo(e,t=!1,n){let s=[],r=0;for(let o=0;o1)for(let o=0;o!!e.type.__asyncLoader;/*! #__NO_SIDE_EFFECTS__ */function ru(e){q(e)&&(e={loader:e});const{loader:t,loadingComponent:n,errorComponent:s,delay:r=200,timeout:o,suspensible:i=!0,onError:l}=e;let c=null,a,f=0;const h=()=>(f++,c=null,p()),p=()=>{let _;return c||(_=c=t().catch(v=>{if(v=v instanceof Error?v:new Error(String(v)),l)return new Promise((O,N)=>{l(v,()=>O(h()),()=>N(v),f+1)});throw v}).then(v=>_!==c&&c?c:(v&&(v.__esModule||v[Symbol.toStringTag]==="Module")&&(v=v.default),a=v,v)))};return Us({name:"AsyncComponentWrapper",__asyncLoader:p,get __asyncResolved(){return a},setup(){const _=ue;if(a)return()=>Xn(a,_);const v=j=>{c=null,Wt(j,_,13,!s)};if(i&&_.suspense||Jt)return p().then(j=>()=>Xn(j,_)).catch(j=>(v(j),()=>s?re(s,{error:j}):null));const O=ie(!1),N=ie(),K=ie(!!r);return r&&setTimeout(()=>{K.value=!1},r),o!=null&&setTimeout(()=>{if(!O.value&&!N.value){const j=new Error(`Async component timed out after ${o}ms.`);v(j),N.value=j}},o),p().then(()=>{O.value=!0,_.parent&&qt(_.parent.vnode)&&(_.parent.effect.dirty=!0,In(_.parent.update))}).catch(j=>{v(j),N.value=j}),()=>{if(O.value&&a)return Xn(a,_);if(N.value&&s)return re(s,{error:N.value});if(n&&!K.value)return re(n)}}})}function Xn(e,t){const{ref:n,props:s,children:r,ce:o}=t.vnode,i=re(e,s,r);return i.ref=n,i.ce=o,delete t.vnode.ce,i}const qt=e=>e.type.__isKeepAlive;function Il(e,t){Po(e,"a",t)}function Nl(e,t){Po(e,"da",t)}function Po(e,t,n=ue){const s=e.__wdc||(e.__wdc=()=>{let r=n;for(;r;){if(r.isDeactivated)return;r=r.parent}return e()});if(Bn(t,s,n),n){let r=n.parent;for(;r&&r.parent;)qt(r.parent.vnode)&&$l(s,t,n,r),r=r.parent}}function $l(e,t,n,s){const r=Bn(t,e,s,!0);Hn(()=>{Ts(s[t],r)},n)}function Bn(e,t,n=ue,s=!1){if(n){const r=n[e]||(n[e]=[]),o=t.__weh||(t.__weh=(...i)=>{if(n.isUnmounted)return;dt();const l=Gt(n),c=Ae(t,n,e,i);return l(),ht(),c});return s?r.unshift(o):r.push(o),o}}const He=e=>(t,n=ue)=>(!Jt||e==="sp")&&Bn(e,(...s)=>t(...s),n),Dl=He("bm"),St=He("m"),Bl=He("bu"),Hl=He("u"),Io=He("bum"),Hn=He("um"),Vl=He("sp"),jl=He("rtg"),Ul=He("rtc");function Kl(e,t=ue){Bn("ec",e,t)}function ou(e,t,n,s){let r;const o=n&&n[s];if(U(e)||ne(e)){r=new Array(e.length);for(let i=0,l=e.length;it(i,l,void 0,o&&o[l]));else{const i=Object.keys(e);r=new Array(i.length);for(let l=0,c=i.length;lxn(t)?!(t.type===we||t.type===me&&!No(t.children)):!0)?e:null}function lu(e,t){const n={};for(const s in e)n[t&&/[A-Z]/.test(s)?`on:${s}`:dn(s)]=e[s];return n}const gs=e=>e?Qo(e)?Un(e)||e.proxy:gs(e.parent):null,It=ce(Object.create(null),{$:e=>e,$el:e=>e.vnode.el,$data:e=>e.data,$props:e=>e.props,$attrs:e=>e.attrs,$slots:e=>e.slots,$refs:e=>e.refs,$parent:e=>gs(e.parent),$root:e=>gs(e.root),$emit:e=>e.emit,$options:e=>Ks(e),$forceUpdate:e=>e.f||(e.f=()=>{e.effect.dirty=!0,In(e.update)}),$nextTick:e=>e.n||(e.n=Pn.bind(e.proxy)),$watch:e=>Ll.bind(e)}),zn=(e,t)=>e!==ee&&!e.__isScriptSetup&&z(e,t),kl={get({_:e},t){const{ctx:n,setupState:s,data:r,props:o,accessCache:i,type:l,appContext:c}=e;let a;if(t[0]!=="$"){const _=i[t];if(_!==void 0)switch(_){case 1:return s[t];case 2:return r[t];case 4:return n[t];case 3:return o[t]}else{if(zn(s,t))return i[t]=1,s[t];if(r!==ee&&z(r,t))return i[t]=2,r[t];if((a=e.propsOptions[0])&&z(a,t))return i[t]=3,o[t];if(n!==ee&&z(n,t))return i[t]=4,n[t];ms&&(i[t]=0)}}const f=It[t];let h,p;if(f)return t==="$attrs"&&_e(e,"get",t),f(e);if((h=l.__cssModules)&&(h=h[t]))return h;if(n!==ee&&z(n,t))return i[t]=4,n[t];if(p=c.config.globalProperties,z(p,t))return p[t]},set({_:e},t,n){const{data:s,setupState:r,ctx:o}=e;return zn(r,t)?(r[t]=n,!0):s!==ee&&z(s,t)?(s[t]=n,!0):z(e.props,t)||t[0]==="$"&&t.slice(1)in e?!1:(o[t]=n,!0)},has({_:{data:e,setupState:t,accessCache:n,ctx:s,appContext:r,propsOptions:o}},i){let l;return!!n[i]||e!==ee&&z(e,i)||zn(t,i)||(l=o[0])&&z(l,i)||z(s,i)||z(It,i)||z(r.config.globalProperties,i)},defineProperty(e,t,n){return n.get!=null?e._.accessCache[t]=0:z(n,"value")&&this.set(e,t,n.value,null),Reflect.defineProperty(e,t,n)}};function cu(){return Wl().slots}function Wl(){const e=jn();return e.setupContext||(e.setupContext=ti(e))}function dr(e){return U(e)?e.reduce((t,n)=>(t[n]=null,t),{}):e}let ms=!0;function ql(e){const t=Ks(e),n=e.proxy,s=e.ctx;ms=!1,t.beforeCreate&&hr(t.beforeCreate,e,"bc");const{data:r,computed:o,methods:i,watch:l,provide:c,inject:a,created:f,beforeMount:h,mounted:p,beforeUpdate:_,updated:v,activated:O,deactivated:N,beforeDestroy:K,beforeUnmount:j,destroyed:g,unmounted:y,render:P,renderTracked:L,renderTriggered:$,errorCaptured:S,serverPrefetch:A,expose:T,inheritAttrs:k,components:M,directives:G,filters:oe}=t;if(a&&Gl(a,s,null),i)for(const X in i){const B=i[X];q(B)&&(s[X]=B.bind(n))}if(r){const X=r.call(n,n);Q(X)&&(e.data=Fn(X))}if(ms=!0,o)for(const X in o){const B=o[X],$e=q(B)?B.bind(n,n):q(B.get)?B.get.bind(n,n):xe,Xt=!q(B)&&q(B.set)?B.set.bind(n):xe,tt=se({get:$e,set:Xt});Object.defineProperty(s,X,{enumerable:!0,configurable:!0,get:()=>tt.value,set:Le=>tt.value=Le})}if(l)for(const X in l)$o(l[X],s,n,X);if(c){const X=q(c)?c.call(n):c;Reflect.ownKeys(X).forEach(B=>{Ql(B,X[B])})}f&&hr(f,e,"c");function H(X,B){U(B)?B.forEach($e=>X($e.bind(n))):B&&X(B.bind(n))}if(H(Dl,h),H(St,p),H(Bl,_),H(Hl,v),H(Il,O),H(Nl,N),H(Kl,S),H(Ul,L),H(jl,$),H(Io,j),H(Hn,y),H(Vl,A),U(T))if(T.length){const X=e.exposed||(e.exposed={});T.forEach(B=>{Object.defineProperty(X,B,{get:()=>n[B],set:$e=>n[B]=$e})})}else e.exposed||(e.exposed={});P&&e.render===xe&&(e.render=P),k!=null&&(e.inheritAttrs=k),M&&(e.components=M),G&&(e.directives=G)}function Gl(e,t,n=xe){U(e)&&(e=_s(e));for(const s in e){const r=e[s];let o;Q(r)?"default"in r?o=Ct(r.from||s,r.default,!0):o=Ct(r.from||s):o=Ct(r),de(o)?Object.defineProperty(t,s,{enumerable:!0,configurable:!0,get:()=>o.value,set:i=>o.value=i}):t[s]=o}}function hr(e,t,n){Ae(U(e)?e.map(s=>s.bind(t.proxy)):e.bind(t.proxy),t,n)}function $o(e,t,n,s){const r=s.includes(".")?Oo(n,s):()=>n[s];if(ne(e)){const o=t[e];q(o)&&ze(r,o)}else if(q(e))ze(r,e.bind(n));else if(Q(e))if(U(e))e.forEach(o=>$o(o,t,n,s));else{const o=q(e.handler)?e.handler.bind(n):t[e.handler];q(o)&&ze(r,o,e)}}function Ks(e){const t=e.type,{mixins:n,extends:s}=t,{mixins:r,optionsCache:o,config:{optionMergeStrategies:i}}=e.appContext,l=o.get(t);let c;return l?c=l:!r.length&&!n&&!s?c=t:(c={},r.length&&r.forEach(a=>vn(c,a,i,!0)),vn(c,t,i)),Q(t)&&o.set(t,c),c}function vn(e,t,n,s=!1){const{mixins:r,extends:o}=t;o&&vn(e,o,n,!0),r&&r.forEach(i=>vn(e,i,n,!0));for(const i in t)if(!(s&&i==="expose")){const l=Jl[i]||n&&n[i];e[i]=l?l(e[i],t[i]):t[i]}return e}const Jl={data:pr,props:gr,emits:gr,methods:Lt,computed:Lt,beforeCreate:pe,created:pe,beforeMount:pe,mounted:pe,beforeUpdate:pe,updated:pe,beforeDestroy:pe,beforeUnmount:pe,destroyed:pe,unmounted:pe,activated:pe,deactivated:pe,errorCaptured:pe,serverPrefetch:pe,components:Lt,directives:Lt,watch:zl,provide:pr,inject:Xl};function pr(e,t){return t?e?function(){return ce(q(e)?e.call(this,this):e,q(t)?t.call(this,this):t)}:t:e}function Xl(e,t){return Lt(_s(e),_s(t))}function _s(e){if(U(e)){const t={};for(let n=0;n1)return n&&q(t)?t.call(s&&s.proxy):t}}function ec(e,t,n,s=!1){const r={},o={};mn(o,Vn,1),e.propsDefaults=Object.create(null),Bo(e,t,r,o);for(const i in e.propsOptions[0])i in r||(r[i]=void 0);n?e.props=s?r:il(r):e.type.props?e.props=r:e.props=o,e.attrs=o}function tc(e,t,n,s){const{props:r,attrs:o,vnode:{patchFlag:i}}=e,l=Y(r),[c]=e.propsOptions;let a=!1;if((s||i>0)&&!(i&16)){if(i&8){const f=e.vnode.dynamicProps;for(let h=0;h{c=!0;const[p,_]=Ho(h,t,!0);ce(i,p),_&&l.push(..._)};!n&&t.mixins.length&&t.mixins.forEach(f),e.extends&&f(e.extends),e.mixins&&e.mixins.forEach(f)}if(!o&&!c)return Q(e)&&s.set(e,yt),yt;if(U(o))for(let f=0;f-1,_[1]=O<0||v-1||z(_,"default"))&&l.push(h)}}}const a=[i,l];return Q(e)&&s.set(e,a),a}function mr(e){return e[0]!=="$"}function _r(e){const t=e&&e.toString().match(/^\s*(function|class) (\w+)/);return t?t[2]:e===null?"null":""}function yr(e,t){return _r(e)===_r(t)}function br(e,t){return U(t)?t.findIndex(n=>yr(n,e)):q(t)&&yr(t,e)?0:-1}const Vo=e=>e[0]==="_"||e==="$stable",ks=e=>U(e)?e.map(Se):[Se(e)],nc=(e,t,n)=>{if(t._n)return t;const s=El((...r)=>ks(t(...r)),n);return s._c=!1,s},jo=(e,t,n)=>{const s=e._ctx;for(const r in e){if(Vo(r))continue;const o=e[r];if(q(o))t[r]=nc(r,o,s);else if(o!=null){const i=ks(o);t[r]=()=>i}}},Uo=(e,t)=>{const n=ks(t);e.slots.default=()=>n},sc=(e,t)=>{if(e.vnode.shapeFlag&32){const n=t._;n?(e.slots=Y(t),mn(t,"_",n)):jo(t,e.slots={})}else e.slots={},t&&Uo(e,t);mn(e.slots,Vn,1)},rc=(e,t,n)=>{const{vnode:s,slots:r}=e;let o=!0,i=ee;if(s.shapeFlag&32){const l=t._;l?n&&l===1?o=!1:(ce(r,t),!n&&l===1&&delete r._):(o=!t.$stable,jo(t,r)),i=t}else t&&(Uo(e,t),i={default:1});if(o)for(const l in r)!Vo(l)&&i[l]==null&&delete r[l]};function Cn(e,t,n,s,r=!1){if(U(e)){e.forEach((p,_)=>Cn(p,t&&(U(t)?t[_]:t),n,s,r));return}if(Et(s)&&!r)return;const o=s.shapeFlag&4?Un(s.component)||s.component.proxy:s.el,i=r?null:o,{i:l,r:c}=e,a=t&&t.r,f=l.refs===ee?l.refs={}:l.refs,h=l.setupState;if(a!=null&&a!==c&&(ne(a)?(f[a]=null,z(h,a)&&(h[a]=null)):de(a)&&(a.value=null)),q(c))Xe(c,l,12,[i,f]);else{const p=ne(c),_=de(c),v=e.f;if(p||_){const O=()=>{if(v){const N=p?z(h,c)?h[c]:f[c]:c.value;r?U(N)&&Ts(N,o):U(N)?N.includes(o)||N.push(o):p?(f[c]=[o],z(h,c)&&(h[c]=f[c])):(c.value=[o],e.k&&(f[e.k]=c.value))}else p?(f[c]=i,z(h,c)&&(h[c]=i)):_&&(c.value=i,e.k&&(f[e.k]=i))};r||v?O():(O.id=-1,ge(O,n))}}}let je=!1;const oc=e=>e.namespaceURI.includes("svg")&&e.tagName!=="foreignObject",ic=e=>e.namespaceURI.includes("MathML"),rn=e=>{if(oc(e))return"svg";if(ic(e))return"mathml"},on=e=>e.nodeType===8;function lc(e){const{mt:t,p:n,o:{patchProp:s,createText:r,nextSibling:o,parentNode:i,remove:l,insert:c,createComment:a}}=e,f=(g,y)=>{if(!y.hasChildNodes()){n(null,g,y),bn(),y._vnode=g;return}je=!1,h(y.firstChild,g,null,null,null),bn(),y._vnode=g,je&&console.error("Hydration completed but contains mismatches.")},h=(g,y,P,L,$,S=!1)=>{const A=on(g)&&g.data==="[",T=()=>O(g,y,P,L,$,A),{type:k,ref:M,shapeFlag:G,patchFlag:oe}=y;let fe=g.nodeType;y.el=g,oe===-2&&(S=!1,y.dynamicChildren=null);let H=null;switch(k){case At:fe!==3?y.children===""?(c(y.el=r(""),i(g),g),H=g):H=T():(g.data!==y.children&&(je=!0,g.data=y.children),H=o(g));break;case we:j(g)?(H=o(g),K(y.el=g.content.firstChild,g,P)):fe!==8||A?H=T():H=o(g);break;case $t:if(A&&(g=o(g),fe=g.nodeType),fe===1||fe===3){H=g;const X=!y.children.length;for(let B=0;B{S=S||!!y.dynamicChildren;const{type:A,props:T,patchFlag:k,shapeFlag:M,dirs:G,transition:oe}=y,fe=A==="input"||A==="option";if(fe||k!==-1){G&&Me(y,null,P,"created");let H=!1;if(j(g)){H=ko(L,oe)&&P&&P.vnode.props&&P.vnode.props.appear;const B=g.content.firstChild;H&&oe.beforeEnter(B),K(B,g,P),y.el=g=B}if(M&16&&!(T&&(T.innerHTML||T.textContent))){let B=_(g.firstChild,y,g,P,L,$,S);for(;B;){je=!0;const $e=B;B=B.nextSibling,l($e)}}else M&8&&g.textContent!==y.children&&(je=!0,g.textContent=y.children);if(T)if(fe||!S||k&48)for(const B in T)(fe&&(B.endsWith("value")||B==="indeterminate")||kt(B)&&!Ft(B)||B[0]===".")&&s(g,B,null,T[B],void 0,void 0,P);else T.onClick&&s(g,"onClick",null,T.onClick,void 0,void 0,P);let X;(X=T&&T.onVnodeBeforeMount)&&Ee(X,P,y),G&&Me(y,null,P,"beforeMount"),((X=T&&T.onVnodeMounted)||G||H)&&Ro(()=>{X&&Ee(X,P,y),H&&oe.enter(g),G&&Me(y,null,P,"mounted")},L)}return g.nextSibling},_=(g,y,P,L,$,S,A)=>{A=A||!!y.dynamicChildren;const T=y.children,k=T.length;for(let M=0;M{const{slotScopeIds:A}=y;A&&($=$?$.concat(A):A);const T=i(g),k=_(o(g),y,T,P,L,$,S);return k&&on(k)&&k.data==="]"?o(y.anchor=k):(je=!0,c(y.anchor=a("]"),T,k),k)},O=(g,y,P,L,$,S)=>{if(je=!0,y.el=null,S){const k=N(g);for(;;){const M=o(g);if(M&&M!==k)l(M);else break}}const A=o(g),T=i(g);return l(g),n(null,y,T,A,P,L,rn(T),$),A},N=(g,y="[",P="]")=>{let L=0;for(;g;)if(g=o(g),g&&on(g)&&(g.data===y&&L++,g.data===P)){if(L===0)return o(g);L--}return g},K=(g,y,P)=>{const L=y.parentNode;L&&L.replaceChild(g,y);let $=P;for(;$;)$.vnode.el===y&&($.vnode.el=$.subTree.el=g),$=$.parent},j=g=>g.nodeType===1&&g.tagName.toLowerCase()==="template";return[f,h]}const ge=Ro;function cc(e){return Ko(e)}function ac(e){return Ko(e,lc)}function Ko(e,t){const n=eo();n.__VUE__=!0;const{insert:s,remove:r,patchProp:o,createElement:i,createText:l,createComment:c,setText:a,setElementText:f,parentNode:h,nextSibling:p,setScopeId:_=xe,insertStaticContent:v}=e,O=(u,d,m,b=null,w=null,x=null,F=void 0,C=null,R=!!d.dynamicChildren)=>{if(u===d)return;u&&!it(u,d)&&(b=zt(u),Le(u,w,x,!0),u=null),d.patchFlag===-2&&(R=!1,d.dynamicChildren=null);const{type:E,ref:I,shapeFlag:V}=d;switch(E){case At:N(u,d,m,b);break;case we:K(u,d,m,b);break;case $t:u==null&&j(d,m,b,F);break;case me:M(u,d,m,b,w,x,F,C,R);break;default:V&1?P(u,d,m,b,w,x,F,C,R):V&6?G(u,d,m,b,w,x,F,C,R):(V&64||V&128)&&E.process(u,d,m,b,w,x,F,C,R,pt)}I!=null&&w&&Cn(I,u&&u.ref,x,d||u,!d)},N=(u,d,m,b)=>{if(u==null)s(d.el=l(d.children),m,b);else{const w=d.el=u.el;d.children!==u.children&&a(w,d.children)}},K=(u,d,m,b)=>{u==null?s(d.el=c(d.children||""),m,b):d.el=u.el},j=(u,d,m,b)=>{[u.el,u.anchor]=v(u.children,d,m,b,u.el,u.anchor)},g=({el:u,anchor:d},m,b)=>{let w;for(;u&&u!==d;)w=p(u),s(u,m,b),u=w;s(d,m,b)},y=({el:u,anchor:d})=>{let m;for(;u&&u!==d;)m=p(u),r(u),u=m;r(d)},P=(u,d,m,b,w,x,F,C,R)=>{d.type==="svg"?F="svg":d.type==="math"&&(F="mathml"),u==null?L(d,m,b,w,x,F,C,R):A(u,d,w,x,F,C,R)},L=(u,d,m,b,w,x,F,C)=>{let R,E;const{props:I,shapeFlag:V,transition:D,dirs:W}=u;if(R=u.el=i(u.type,x,I&&I.is,I),V&8?f(R,u.children):V&16&&S(u.children,R,null,b,w,Yn(u,x),F,C),W&&Me(u,null,b,"created"),$(R,u,u.scopeId,F,b),I){for(const Z in I)Z!=="value"&&!Ft(Z)&&o(R,Z,null,I[Z],x,u.children,b,w,De);"value"in I&&o(R,"value",null,I.value,x),(E=I.onVnodeBeforeMount)&&Ee(E,b,u)}W&&Me(u,null,b,"beforeMount");const J=ko(w,D);J&&D.beforeEnter(R),s(R,d,m),((E=I&&I.onVnodeMounted)||J||W)&&ge(()=>{E&&Ee(E,b,u),J&&D.enter(R),W&&Me(u,null,b,"mounted")},w)},$=(u,d,m,b,w)=>{if(m&&_(u,m),b)for(let x=0;x{for(let E=R;E{const C=d.el=u.el;let{patchFlag:R,dynamicChildren:E,dirs:I}=d;R|=u.patchFlag&16;const V=u.props||ee,D=d.props||ee;let W;if(m&&nt(m,!1),(W=D.onVnodeBeforeUpdate)&&Ee(W,m,d,u),I&&Me(d,u,m,"beforeUpdate"),m&&nt(m,!0),E?T(u.dynamicChildren,E,C,m,b,Yn(d,w),x):F||B(u,d,C,null,m,b,Yn(d,w),x,!1),R>0){if(R&16)k(C,d,V,D,m,b,w);else if(R&2&&V.class!==D.class&&o(C,"class",null,D.class,w),R&4&&o(C,"style",V.style,D.style,w),R&8){const J=d.dynamicProps;for(let Z=0;Z{W&&Ee(W,m,d,u),I&&Me(d,u,m,"updated")},b)},T=(u,d,m,b,w,x,F)=>{for(let C=0;C{if(m!==b){if(m!==ee)for(const C in m)!Ft(C)&&!(C in b)&&o(u,C,m[C],null,F,d.children,w,x,De);for(const C in b){if(Ft(C))continue;const R=b[C],E=m[C];R!==E&&C!=="value"&&o(u,C,E,R,F,d.children,w,x,De)}"value"in b&&o(u,"value",m.value,b.value,F)}},M=(u,d,m,b,w,x,F,C,R)=>{const E=d.el=u?u.el:l(""),I=d.anchor=u?u.anchor:l("");let{patchFlag:V,dynamicChildren:D,slotScopeIds:W}=d;W&&(C=C?C.concat(W):W),u==null?(s(E,m,b),s(I,m,b),S(d.children||[],m,I,w,x,F,C,R)):V>0&&V&64&&D&&u.dynamicChildren?(T(u.dynamicChildren,D,m,w,x,F,C),(d.key!=null||w&&d===w.subTree)&&Ws(u,d,!0)):B(u,d,m,I,w,x,F,C,R)},G=(u,d,m,b,w,x,F,C,R)=>{d.slotScopeIds=C,u==null?d.shapeFlag&512?w.ctx.activate(d,m,b,F,R):oe(d,m,b,w,x,F,R):fe(u,d,R)},oe=(u,d,m,b,w,x,F)=>{const C=u.component=wc(u,b,w);if(qt(u)&&(C.ctx.renderer=pt),vc(C),C.asyncDep){if(w&&w.registerDep(C,H),!u.el){const R=C.subTree=re(we);K(null,R,d,m)}}else H(C,u,d,m,w,x,F)},fe=(u,d,m)=>{const b=d.component=u.component;if(Al(u,d,m))if(b.asyncDep&&!b.asyncResolved){X(b,d,m);return}else b.next=d,yl(b.update),b.effect.dirty=!0,b.update();else d.el=u.el,b.vnode=d},H=(u,d,m,b,w,x,F)=>{const C=()=>{if(u.isMounted){let{next:I,bu:V,u:D,parent:W,vnode:J}=u;{const gt=Wo(u);if(gt){I&&(I.el=J.el,X(u,I,F)),gt.asyncDep.then(()=>{u.isUnmounted||C()});return}}let Z=I,te;nt(u,!1),I?(I.el=J.el,X(u,I,F)):I=J,V&&hn(V),(te=I.props&&I.props.onVnodeBeforeUpdate)&&Ee(te,W,I,J),nt(u,!0);const ae=Gn(u),Te=u.subTree;u.subTree=ae,O(Te,ae,h(Te.el),zt(Te),u,w,x),I.el=ae.el,Z===null&&Tl(u,ae.el),D&&ge(D,w),(te=I.props&&I.props.onVnodeUpdated)&&ge(()=>Ee(te,W,I,J),w)}else{let I;const{el:V,props:D}=d,{bm:W,m:J,parent:Z}=u,te=Et(d);if(nt(u,!1),W&&hn(W),!te&&(I=D&&D.onVnodeBeforeMount)&&Ee(I,Z,d),nt(u,!0),V&&Wn){const ae=()=>{u.subTree=Gn(u),Wn(V,u.subTree,u,w,null)};te?d.type.__asyncLoader().then(()=>!u.isUnmounted&&ae()):ae()}else{const ae=u.subTree=Gn(u);O(null,ae,m,b,u,w,x),d.el=ae.el}if(J&&ge(J,w),!te&&(I=D&&D.onVnodeMounted)){const ae=d;ge(()=>Ee(I,Z,ae),w)}(d.shapeFlag&256||Z&&Et(Z.vnode)&&Z.vnode.shapeFlag&256)&&u.a&&ge(u.a,w),u.isMounted=!0,d=m=b=null}},R=u.effect=new Ls(C,xe,()=>In(E),u.scope),E=u.update=()=>{R.dirty&&R.run()};E.id=u.uid,nt(u,!0),E()},X=(u,d,m)=>{d.component=u;const b=u.vnode.props;u.vnode=d,u.next=null,tc(u,d.props,b,m),rc(u,d.children,m),dt(),cr(u),ht()},B=(u,d,m,b,w,x,F,C,R=!1)=>{const E=u&&u.children,I=u?u.shapeFlag:0,V=d.children,{patchFlag:D,shapeFlag:W}=d;if(D>0){if(D&128){Xt(E,V,m,b,w,x,F,C,R);return}else if(D&256){$e(E,V,m,b,w,x,F,C,R);return}}W&8?(I&16&&De(E,w,x),V!==E&&f(m,V)):I&16?W&16?Xt(E,V,m,b,w,x,F,C,R):De(E,w,x,!0):(I&8&&f(m,""),W&16&&S(V,m,b,w,x,F,C,R))},$e=(u,d,m,b,w,x,F,C,R)=>{u=u||yt,d=d||yt;const E=u.length,I=d.length,V=Math.min(E,I);let D;for(D=0;DI?De(u,w,x,!0,!1,V):S(d,m,b,w,x,F,C,R,V)},Xt=(u,d,m,b,w,x,F,C,R)=>{let E=0;const I=d.length;let V=u.length-1,D=I-1;for(;E<=V&&E<=D;){const W=u[E],J=d[E]=R?qe(d[E]):Se(d[E]);if(it(W,J))O(W,J,m,null,w,x,F,C,R);else break;E++}for(;E<=V&&E<=D;){const W=u[V],J=d[D]=R?qe(d[D]):Se(d[D]);if(it(W,J))O(W,J,m,null,w,x,F,C,R);else break;V--,D--}if(E>V){if(E<=D){const W=D+1,J=WD)for(;E<=V;)Le(u[E],w,x,!0),E++;else{const W=E,J=E,Z=new Map;for(E=J;E<=D;E++){const ye=d[E]=R?qe(d[E]):Se(d[E]);ye.key!=null&&Z.set(ye.key,E)}let te,ae=0;const Te=D-J+1;let gt=!1,Ys=0;const Rt=new Array(Te);for(E=0;E=Te){Le(ye,w,x,!0);continue}let Fe;if(ye.key!=null)Fe=Z.get(ye.key);else for(te=J;te<=D;te++)if(Rt[te-J]===0&&it(ye,d[te])){Fe=te;break}Fe===void 0?Le(ye,w,x,!0):(Rt[Fe-J]=E+1,Fe>=Ys?Ys=Fe:gt=!0,O(ye,d[Fe],m,null,w,x,F,C,R),ae++)}const Zs=gt?uc(Rt):yt;for(te=Zs.length-1,E=Te-1;E>=0;E--){const ye=J+E,Fe=d[ye],Qs=ye+1{const{el:x,type:F,transition:C,children:R,shapeFlag:E}=u;if(E&6){tt(u.component.subTree,d,m,b);return}if(E&128){u.suspense.move(d,m,b);return}if(E&64){F.move(u,d,m,pt);return}if(F===me){s(x,d,m);for(let V=0;VC.enter(x),w);else{const{leave:V,delayLeave:D,afterLeave:W}=C,J=()=>s(x,d,m),Z=()=>{V(x,()=>{J(),W&&W()})};D?D(x,J,Z):Z()}else s(x,d,m)},Le=(u,d,m,b=!1,w=!1)=>{const{type:x,props:F,ref:C,children:R,dynamicChildren:E,shapeFlag:I,patchFlag:V,dirs:D}=u;if(C!=null&&Cn(C,null,m,u,!0),I&256){d.ctx.deactivate(u);return}const W=I&1&&D,J=!Et(u);let Z;if(J&&(Z=F&&F.onVnodeBeforeUnmount)&&Ee(Z,d,u),I&6)xi(u.component,m,b);else{if(I&128){u.suspense.unmount(m,b);return}W&&Me(u,null,d,"beforeUnmount"),I&64?u.type.remove(u,d,m,w,pt,b):E&&(x!==me||V>0&&V&64)?De(E,d,m,!1,!0):(x===me&&V&384||!w&&I&16)&&De(R,d,m),b&&Xs(u)}(J&&(Z=F&&F.onVnodeUnmounted)||W)&&ge(()=>{Z&&Ee(Z,d,u),W&&Me(u,null,d,"unmounted")},m)},Xs=u=>{const{type:d,el:m,anchor:b,transition:w}=u;if(d===me){Ci(m,b);return}if(d===$t){y(u);return}const x=()=>{r(m),w&&!w.persisted&&w.afterLeave&&w.afterLeave()};if(u.shapeFlag&1&&w&&!w.persisted){const{leave:F,delayLeave:C}=w,R=()=>F(m,x);C?C(u.el,x,R):R()}else x()},Ci=(u,d)=>{let m;for(;u!==d;)m=p(u),r(u),u=m;r(d)},xi=(u,d,m)=>{const{bum:b,scope:w,update:x,subTree:F,um:C}=u;b&&hn(b),w.stop(),x&&(x.active=!1,Le(F,u,d,m)),C&&ge(C,d),ge(()=>{u.isUnmounted=!0},d),d&&d.pendingBranch&&!d.isUnmounted&&u.asyncDep&&!u.asyncResolved&&u.suspenseId===d.pendingId&&(d.deps--,d.deps===0&&d.resolve())},De=(u,d,m,b=!1,w=!1,x=0)=>{for(let F=x;Fu.shapeFlag&6?zt(u.component.subTree):u.shapeFlag&128?u.suspense.next():p(u.anchor||u.el);let Kn=!1;const zs=(u,d,m)=>{u==null?d._vnode&&Le(d._vnode,null,null,!0):O(d._vnode||null,u,d,null,null,null,m),Kn||(Kn=!0,cr(),bn(),Kn=!1),d._vnode=u},pt={p:O,um:Le,m:tt,r:Xs,mt:oe,mc:S,pc:B,pbc:T,n:zt,o:e};let kn,Wn;return t&&([kn,Wn]=t(pt)),{render:zs,hydrate:kn,createApp:Zl(zs,kn)}}function Yn({type:e,props:t},n){return n==="svg"&&e==="foreignObject"||n==="mathml"&&e==="annotation-xml"&&t&&t.encoding&&t.encoding.includes("html")?void 0:n}function nt({effect:e,update:t},n){e.allowRecurse=t.allowRecurse=n}function ko(e,t){return(!e||e&&!e.pendingBranch)&&t&&!t.persisted}function Ws(e,t,n=!1){const s=e.children,r=t.children;if(U(s)&&U(r))for(let o=0;o>1,e[n[l]]0&&(t[s]=n[o-1]),n[o]=s)}}for(o=n.length,i=n[o-1];o-- >0;)n[o]=i,i=t[i];return n}function Wo(e){const t=e.subTree.component;if(t)return t.asyncDep&&!t.asyncResolved?t:Wo(t)}const fc=e=>e.__isTeleport,Nt=e=>e&&(e.disabled||e.disabled===""),wr=e=>typeof SVGElement<"u"&&e instanceof SVGElement,vr=e=>typeof MathMLElement=="function"&&e instanceof MathMLElement,bs=(e,t)=>{const n=e&&e.to;return ne(n)?t?t(n):null:n},dc={name:"Teleport",__isTeleport:!0,process(e,t,n,s,r,o,i,l,c,a){const{mc:f,pc:h,pbc:p,o:{insert:_,querySelector:v,createText:O,createComment:N}}=a,K=Nt(t.props);let{shapeFlag:j,children:g,dynamicChildren:y}=t;if(e==null){const P=t.el=O(""),L=t.anchor=O("");_(P,n,s),_(L,n,s);const $=t.target=bs(t.props,v),S=t.targetAnchor=O("");$&&(_(S,$),i==="svg"||wr($)?i="svg":(i==="mathml"||vr($))&&(i="mathml"));const A=(T,k)=>{j&16&&f(g,T,k,r,o,i,l,c)};K?A(n,L):$&&A($,S)}else{t.el=e.el;const P=t.anchor=e.anchor,L=t.target=e.target,$=t.targetAnchor=e.targetAnchor,S=Nt(e.props),A=S?n:L,T=S?P:$;if(i==="svg"||wr(L)?i="svg":(i==="mathml"||vr(L))&&(i="mathml"),y?(p(e.dynamicChildren,y,A,r,o,i,l),Ws(e,t,!0)):c||h(e,t,A,T,r,o,i,l,!1),K)S?t.props&&e.props&&t.props.to!==e.props.to&&(t.props.to=e.props.to):ln(t,n,P,a,1);else if((t.props&&t.props.to)!==(e.props&&e.props.to)){const k=t.target=bs(t.props,v);k&&ln(t,k,null,a,0)}else S&&ln(t,L,$,a,1)}qo(t)},remove(e,t,n,s,{um:r,o:{remove:o}},i){const{shapeFlag:l,children:c,anchor:a,targetAnchor:f,target:h,props:p}=e;if(h&&o(f),i&&o(a),l&16){const _=i||!Nt(p);for(let v=0;v0?Re||yt:null,pc(),Ut>0&&Re&&Re.push(e),e}function uu(e,t,n,s,r,o){return Jo(Yo(e,t,n,s,r,o,!0))}function Xo(e,t,n,s,r){return Jo(re(e,t,n,s,r,!0))}function xn(e){return e?e.__v_isVNode===!0:!1}function it(e,t){return e.type===t.type&&e.key===t.key}const Vn="__vInternal",zo=({key:e})=>e??null,pn=({ref:e,ref_key:t,ref_for:n})=>(typeof e=="number"&&(e=""+e),e!=null?ne(e)||de(e)||q(e)?{i:le,r:e,k:t,f:!!n}:e:null);function Yo(e,t=null,n=null,s=0,r=null,o=e===me?0:1,i=!1,l=!1){const c={__v_isVNode:!0,__v_skip:!0,type:e,props:t,key:t&&zo(t),ref:t&&pn(t),scopeId:$n,slotScopeIds:null,children:n,component:null,suspense:null,ssContent:null,ssFallback:null,dirs:null,transition:null,el:null,anchor:null,target:null,targetAnchor:null,staticCount:0,shapeFlag:o,patchFlag:s,dynamicProps:r,dynamicChildren:null,appContext:null,ctx:le};return l?(qs(c,n),o&128&&e.normalize(c)):n&&(c.shapeFlag|=ne(n)?8:16),Ut>0&&!i&&Re&&(c.patchFlag>0||o&6)&&c.patchFlag!==32&&Re.push(c),c}const re=gc;function gc(e,t=null,n=null,s=0,r=null,o=!1){if((!e||e===To)&&(e=we),xn(e)){const l=et(e,t,!0);return n&&qs(l,n),Ut>0&&!o&&Re&&(l.shapeFlag&6?Re[Re.indexOf(e)]=l:Re.push(l)),l.patchFlag|=-2,l}if(Ac(e)&&(e=e.__vccOpts),t){t=mc(t);let{class:l,style:c}=t;l&&!ne(l)&&(t.class=Os(l)),Q(c)&&(_o(c)&&!U(c)&&(c=ce({},c)),t.style=Rs(c))}const i=ne(e)?1:Sl(e)?128:fc(e)?64:Q(e)?4:q(e)?2:0;return Yo(e,t,n,s,r,i,o,!0)}function mc(e){return e?_o(e)||Vn in e?ce({},e):e:null}function et(e,t,n=!1){const{props:s,ref:r,patchFlag:o,children:i}=e,l=t?_c(s||{},t):s;return{__v_isVNode:!0,__v_skip:!0,type:e.type,props:l,key:l&&zo(l),ref:t&&t.ref?n&&r?U(r)?r.concat(pn(t)):[r,pn(t)]:pn(t):r,scopeId:e.scopeId,slotScopeIds:e.slotScopeIds,children:i,target:e.target,targetAnchor:e.targetAnchor,staticCount:e.staticCount,shapeFlag:e.shapeFlag,patchFlag:t&&e.type!==me?o===-1?16:o|16:o,dynamicProps:e.dynamicProps,dynamicChildren:e.dynamicChildren,appContext:e.appContext,dirs:e.dirs,transition:e.transition,component:e.component,suspense:e.suspense,ssContent:e.ssContent&&et(e.ssContent),ssFallback:e.ssFallback&&et(e.ssFallback),el:e.el,anchor:e.anchor,ctx:e.ctx,ce:e.ce}}function Zo(e=" ",t=0){return re(At,null,e,t)}function fu(e,t){const n=re($t,null,e);return n.staticCount=t,n}function du(e="",t=!1){return t?(Go(),Xo(we,null,e)):re(we,null,e)}function Se(e){return e==null||typeof e=="boolean"?re(we):U(e)?re(me,null,e.slice()):typeof e=="object"?qe(e):re(At,null,String(e))}function qe(e){return e.el===null&&e.patchFlag!==-1||e.memo?e:et(e)}function qs(e,t){let n=0;const{shapeFlag:s}=e;if(t==null)t=null;else if(U(t))n=16;else if(typeof t=="object")if(s&65){const r=t.default;r&&(r._c&&(r._d=!1),qs(e,r()),r._c&&(r._d=!0));return}else{n=32;const r=t._;!r&&!(Vn in t)?t._ctx=le:r===3&&le&&(le.slots._===1?t._=1:(t._=2,e.patchFlag|=1024))}else q(t)?(t={default:t,_ctx:le},n=32):(t=String(t),s&64?(n=16,t=[Zo(t)]):n=8);e.children=t,e.shapeFlag|=n}function _c(...e){const t={};for(let n=0;nue||le;let An,ws;{const e=eo(),t=(n,s)=>{let r;return(r=e[n])||(r=e[n]=[]),r.push(s),o=>{r.length>1?r.forEach(i=>i(o)):r[0](o)}};An=t("__VUE_INSTANCE_SETTERS__",n=>ue=n),ws=t("__VUE_SSR_SETTERS__",n=>Jt=n)}const Gt=e=>{const t=ue;return An(e),e.scope.on(),()=>{e.scope.off(),An(t)}},Cr=()=>{ue&&ue.scope.off(),An(null)};function Qo(e){return e.vnode.shapeFlag&4}let Jt=!1;function vc(e,t=!1){t&&ws(t);const{props:n,children:s}=e.vnode,r=Qo(e);ec(e,n,r,t),sc(e,s);const o=r?Ec(e,t):void 0;return t&&ws(!1),o}function Ec(e,t){const n=e.type;e.accessCache=Object.create(null),e.proxy=Mt(new Proxy(e.ctx,kl));const{setup:s}=n;if(s){const r=e.setupContext=s.length>1?ti(e):null,o=Gt(e);dt();const i=Xe(s,e,0,[e.props,r]);if(ht(),o(),Yr(i)){if(i.then(Cr,Cr),t)return i.then(l=>{xr(e,l,t)}).catch(l=>{Wt(l,e,0)});e.asyncDep=i}else xr(e,i,t)}else ei(e,t)}function xr(e,t,n){q(t)?e.type.__ssrInlineRender?e.ssrRender=t:e.render=t:Q(t)&&(e.setupState=vo(t)),ei(e,n)}let Ar;function ei(e,t,n){const s=e.type;if(!e.render){if(!t&&Ar&&!s.render){const r=s.template||Ks(e).template;if(r){const{isCustomElement:o,compilerOptions:i}=e.appContext.config,{delimiters:l,compilerOptions:c}=s,a=ce(ce({isCustomElement:o,delimiters:l},i),c);s.render=Ar(r,a)}}e.render=s.render||xe}{const r=Gt(e);dt();try{ql(e)}finally{ht(),r()}}}function Cc(e){return e.attrsProxy||(e.attrsProxy=new Proxy(e.attrs,{get(t,n){return _e(e,"get","$attrs"),t[n]}}))}function ti(e){const t=n=>{e.exposed=n||{}};return{get attrs(){return Cc(e)},slots:e.slots,emit:e.emit,expose:t}}function Un(e){if(e.exposed)return e.exposeProxy||(e.exposeProxy=new Proxy(vo(Mt(e.exposed)),{get(t,n){if(n in t)return t[n];if(n in It)return It[n](e)},has(t,n){return n in t||n in It}}))}function xc(e,t=!0){return q(e)?e.displayName||e.name:e.name||t&&e.__name}function Ac(e){return q(e)&&"__vccOpts"in e}const se=(e,t)=>ll(e,t,Jt);function vs(e,t,n){const s=arguments.length;return s===2?Q(t)&&!U(t)?xn(t)?re(e,null,[t]):re(e,t):re(e,null,t):(s>3?n=Array.prototype.slice.call(arguments,2):s===3&&xn(n)&&(n=[n]),re(e,t,n))}const Tc="3.4.15";/** +* @vue/runtime-dom v3.4.15 +* (c) 2018-present Yuxi (Evan) You and Vue contributors +* @license MIT +**/const Sc="http://www.w3.org/2000/svg",Rc="http://www.w3.org/1998/Math/MathML",Ge=typeof document<"u"?document:null,Tr=Ge&&Ge.createElement("template"),Oc={insert:(e,t,n)=>{t.insertBefore(e,n||null)},remove:e=>{const t=e.parentNode;t&&t.removeChild(e)},createElement:(e,t,n,s)=>{const r=t==="svg"?Ge.createElementNS(Sc,e):t==="mathml"?Ge.createElementNS(Rc,e):Ge.createElement(e,n?{is:n}:void 0);return e==="select"&&s&&s.multiple!=null&&r.setAttribute("multiple",s.multiple),r},createText:e=>Ge.createTextNode(e),createComment:e=>Ge.createComment(e),setText:(e,t)=>{e.nodeValue=t},setElementText:(e,t)=>{e.textContent=t},parentNode:e=>e.parentNode,nextSibling:e=>e.nextSibling,querySelector:e=>Ge.querySelector(e),setScopeId(e,t){e.setAttribute(t,"")},insertStaticContent(e,t,n,s,r,o){const i=n?n.previousSibling:t.lastChild;if(r&&(r===o||r.nextSibling))for(;t.insertBefore(r.cloneNode(!0),n),!(r===o||!(r=r.nextSibling)););else{Tr.innerHTML=s==="svg"?`${e}`:s==="mathml"?`${e}`:e;const l=Tr.content;if(s==="svg"||s==="mathml"){const c=l.firstChild;for(;c.firstChild;)l.appendChild(c.firstChild);l.removeChild(c)}t.insertBefore(l,n)}return[i?i.nextSibling:t.firstChild,n?n.previousSibling:t.lastChild]}},Ue="transition",Ot="animation",Kt=Symbol("_vtc"),ni=(e,{slots:t})=>vs(Pl,Lc(e),t);ni.displayName="Transition";const si={name:String,type:String,css:{type:Boolean,default:!0},duration:[String,Number,Object],enterFromClass:String,enterActiveClass:String,enterToClass:String,appearFromClass:String,appearActiveClass:String,appearToClass:String,leaveFromClass:String,leaveActiveClass:String,leaveToClass:String};ni.props=ce({},Lo,si);const st=(e,t=[])=>{U(e)?e.forEach(n=>n(...t)):e&&e(...t)},Sr=e=>e?U(e)?e.some(t=>t.length>1):e.length>1:!1;function Lc(e){const t={};for(const M in e)M in si||(t[M]=e[M]);if(e.css===!1)return t;const{name:n="v",type:s,duration:r,enterFromClass:o=`${n}-enter-from`,enterActiveClass:i=`${n}-enter-active`,enterToClass:l=`${n}-enter-to`,appearFromClass:c=o,appearActiveClass:a=i,appearToClass:f=l,leaveFromClass:h=`${n}-leave-from`,leaveActiveClass:p=`${n}-leave-active`,leaveToClass:_=`${n}-leave-to`}=e,v=Fc(r),O=v&&v[0],N=v&&v[1],{onBeforeEnter:K,onEnter:j,onEnterCancelled:g,onLeave:y,onLeaveCancelled:P,onBeforeAppear:L=K,onAppear:$=j,onAppearCancelled:S=g}=t,A=(M,G,oe)=>{rt(M,G?f:l),rt(M,G?a:i),oe&&oe()},T=(M,G)=>{M._isLeaving=!1,rt(M,h),rt(M,_),rt(M,p),G&&G()},k=M=>(G,oe)=>{const fe=M?$:j,H=()=>A(G,M,oe);st(fe,[G,H]),Rr(()=>{rt(G,M?c:o),Ke(G,M?f:l),Sr(fe)||Or(G,s,O,H)})};return ce(t,{onBeforeEnter(M){st(K,[M]),Ke(M,o),Ke(M,i)},onBeforeAppear(M){st(L,[M]),Ke(M,c),Ke(M,a)},onEnter:k(!1),onAppear:k(!0),onLeave(M,G){M._isLeaving=!0;const oe=()=>T(M,G);Ke(M,h),Ic(),Ke(M,p),Rr(()=>{M._isLeaving&&(rt(M,h),Ke(M,_),Sr(y)||Or(M,s,N,oe))}),st(y,[M,oe])},onEnterCancelled(M){A(M,!1),st(g,[M])},onAppearCancelled(M){A(M,!0),st(S,[M])},onLeaveCancelled(M){T(M),st(P,[M])}})}function Fc(e){if(e==null)return null;if(Q(e))return[Zn(e.enter),Zn(e.leave)];{const t=Zn(e);return[t,t]}}function Zn(e){return Li(e)}function Ke(e,t){t.split(/\s+/).forEach(n=>n&&e.classList.add(n)),(e[Kt]||(e[Kt]=new Set)).add(t)}function rt(e,t){t.split(/\s+/).forEach(s=>s&&e.classList.remove(s));const n=e[Kt];n&&(n.delete(t),n.size||(e[Kt]=void 0))}function Rr(e){requestAnimationFrame(()=>{requestAnimationFrame(e)})}let Mc=0;function Or(e,t,n,s){const r=e._endId=++Mc,o=()=>{r===e._endId&&s()};if(n)return setTimeout(o,n);const{type:i,timeout:l,propCount:c}=Pc(e,t);if(!i)return s();const a=i+"end";let f=0;const h=()=>{e.removeEventListener(a,p),o()},p=_=>{_.target===e&&++f>=c&&h()};setTimeout(()=>{f(n[v]||"").split(", "),r=s(`${Ue}Delay`),o=s(`${Ue}Duration`),i=Lr(r,o),l=s(`${Ot}Delay`),c=s(`${Ot}Duration`),a=Lr(l,c);let f=null,h=0,p=0;t===Ue?i>0&&(f=Ue,h=i,p=o.length):t===Ot?a>0&&(f=Ot,h=a,p=c.length):(h=Math.max(i,a),f=h>0?i>a?Ue:Ot:null,p=f?f===Ue?o.length:c.length:0);const _=f===Ue&&/\b(transform|all)(,|$)/.test(s(`${Ue}Property`).toString());return{type:f,timeout:h,propCount:p,hasTransform:_}}function Lr(e,t){for(;e.lengthFr(n)+Fr(e[s])))}function Fr(e){return e==="auto"?0:Number(e.slice(0,-1).replace(",","."))*1e3}function Ic(){return document.body.offsetHeight}function Nc(e,t,n){const s=e[Kt];s&&(t=(t?[t,...s]:[...s]).join(" ")),t==null?e.removeAttribute("class"):n?e.setAttribute("class",t):e.className=t}const $c=Symbol("_vod"),Dc=Symbol("");function Bc(e,t,n){const s=e.style,r=s.display,o=ne(n);if(n&&!o){if(t&&!ne(t))for(const i in t)n[i]==null&&Es(s,i,"");for(const i in n)Es(s,i,n[i])}else if(o){if(t!==n){const i=s[Dc];i&&(n+=";"+i),s.cssText=n}}else t&&e.removeAttribute("style");$c in e&&(s.display=r)}const Mr=/\s*!important$/;function Es(e,t,n){if(U(n))n.forEach(s=>Es(e,t,s));else if(n==null&&(n=""),t.startsWith("--"))e.setProperty(t,n);else{const s=Hc(e,t);Mr.test(n)?e.setProperty(ft(s),n.replace(Mr,""),"important"):e[s]=n}}const Pr=["Webkit","Moz","ms"],Qn={};function Hc(e,t){const n=Qn[t];if(n)return n;let s=Ne(t);if(s!=="filter"&&s in e)return Qn[t]=s;s=On(s);for(let r=0;res||(Wc.then(()=>es=0),es=Date.now());function Gc(e,t){const n=s=>{if(!s._vts)s._vts=Date.now();else if(s._vts<=n.attached)return;Ae(Jc(s,n.value),t,5,[s])};return n.value=e,n.attached=qc(),n}function Jc(e,t){if(U(t)){const n=e.stopImmediatePropagation;return e.stopImmediatePropagation=()=>{n.call(e),e._stopped=!0},t.map(s=>r=>!r._stopped&&s&&s(r))}else return t}const Dr=e=>e.charCodeAt(0)===111&&e.charCodeAt(1)===110&&e.charCodeAt(2)>96&&e.charCodeAt(2)<123,Xc=(e,t,n,s,r,o,i,l,c)=>{const a=r==="svg";t==="class"?Nc(e,s,a):t==="style"?Bc(e,n,s):kt(t)?As(t)||Kc(e,t,n,s,i):(t[0]==="."?(t=t.slice(1),!0):t[0]==="^"?(t=t.slice(1),!1):zc(e,t,s,a))?jc(e,t,s,o,i,l,c):(t==="true-value"?e._trueValue=s:t==="false-value"&&(e._falseValue=s),Vc(e,t,s,a))};function zc(e,t,n,s){if(s)return!!(t==="innerHTML"||t==="textContent"||t in e&&Dr(t)&&q(n));if(t==="spellcheck"||t==="draggable"||t==="translate"||t==="form"||t==="list"&&e.tagName==="INPUT"||t==="type"&&e.tagName==="TEXTAREA")return!1;if(t==="width"||t==="height"){const r=e.tagName;if(r==="IMG"||r==="VIDEO"||r==="CANVAS"||r==="SOURCE")return!1}return Dr(t)&&ne(n)?!1:t in e}const Br=e=>{const t=e.props["onUpdate:modelValue"]||!1;return U(t)?n=>hn(t,n):t};function Yc(e){e.target.composing=!0}function Hr(e){const t=e.target;t.composing&&(t.composing=!1,t.dispatchEvent(new Event("input")))}const ts=Symbol("_assign"),hu={created(e,{modifiers:{lazy:t,trim:n,number:s}},r){e[ts]=Br(r);const o=s||r.props&&r.props.type==="number";mt(e,t?"change":"input",i=>{if(i.target.composing)return;let l=e.value;n&&(l=l.trim()),o&&(l=cs(l)),e[ts](l)}),n&&mt(e,"change",()=>{e.value=e.value.trim()}),t||(mt(e,"compositionstart",Yc),mt(e,"compositionend",Hr),mt(e,"change",Hr))},mounted(e,{value:t}){e.value=t??""},beforeUpdate(e,{value:t,modifiers:{lazy:n,trim:s,number:r}},o){if(e[ts]=Br(o),e.composing)return;const i=r||e.type==="number"?cs(e.value):e.value,l=t??"";i!==l&&(document.activeElement===e&&e.type!=="range"&&(n||s&&e.value.trim()===l)||(e.value=l))}},Zc=["ctrl","shift","alt","meta"],Qc={stop:e=>e.stopPropagation(),prevent:e=>e.preventDefault(),self:e=>e.target!==e.currentTarget,ctrl:e=>!e.ctrlKey,shift:e=>!e.shiftKey,alt:e=>!e.altKey,meta:e=>!e.metaKey,left:e=>"button"in e&&e.button!==0,middle:e=>"button"in e&&e.button!==1,right:e=>"button"in e&&e.button!==2,exact:(e,t)=>Zc.some(n=>e[`${n}Key`]&&!t.includes(n))},pu=(e,t)=>{const n=e._withMods||(e._withMods={}),s=t.join(".");return n[s]||(n[s]=(r,...o)=>{for(let i=0;i{const n=e._withKeys||(e._withKeys={}),s=t.join(".");return n[s]||(n[s]=r=>{if(!("key"in r))return;const o=ft(r.key);if(t.some(i=>i===o||ea[i]===o))return e(r)})},ri=ce({patchProp:Xc},Oc);let Bt,Vr=!1;function ta(){return Bt||(Bt=cc(ri))}function na(){return Bt=Vr?Bt:ac(ri),Vr=!0,Bt}const mu=(...e)=>{const t=ta().createApp(...e),{mount:n}=t;return t.mount=s=>{const r=ii(s);if(!r)return;const o=t._component;!q(o)&&!o.render&&!o.template&&(o.template=r.innerHTML),r.innerHTML="";const i=n(r,!1,oi(r));return r instanceof Element&&(r.removeAttribute("v-cloak"),r.setAttribute("data-v-app","")),i},t},_u=(...e)=>{const t=na().createApp(...e),{mount:n}=t;return t.mount=s=>{const r=ii(s);if(r)return n(r,!0,oi(r))},t};function oi(e){if(e instanceof SVGElement)return"svg";if(typeof MathMLElement=="function"&&e instanceof MathMLElement)return"mathml"}function ii(e){return ne(e)?document.querySelector(e):e}const yu=(e,t)=>{const n=e.__vccOpts||e;for(const[s,r]of t)n[s]=r;return n},bu="/img_old/E95C9820C18E7B59FACF620B53B10E98.webp",wu="/img_old/9B7D07E3DE478535C6191687C96467FD.webp",vu="/img_old/361A93D277D3CE3483550298416ADEB1.webp",Eu="/img_old/51E660F9E4BE01DFEC8B47721C982936.webp",Cu="/img_old/7329553DD333537A874EC3FB48DB1BF3.webp",xu="/img_old/822814DB27C04E18BDDB58B42838A2AB.webp",Au="/img_old/E56991FFFC3F52BD9F240FF689446EE6.webp",Tu="/img_old/83E82AD1BB4213AC403CBB393AC8A0EC.webp",Su="/img_old/38187030BC2F1971DF457DA3AF77064D.webp",Ru="/img_old/FC0B8E43C1F979162FD4E756CEA4678E.webp",Ou="/img_old/ED3236B5117A914F5EF3C1FC38F52A22.webp",Lu="/img/gallary/2023-03-22_00.07.09.webp",Fu="/img/gallary/2023-03-21_13.39.18.webp",Mu="/img/gallary/2023-03-21_13.19.32.webp",Pu="/img/gallary/2023-03-21_13.39.09.webp",Iu="/img_old/ICVPRO0JK6VDP52WDEO93BFSDV3OYWLBIUDP1EG.webp",Nu="/img_old/7RCMFCENIE9XDJWPY1V77JDECCFPX2LXEEPLSS3JIKEP5MKM.webp",$u="/img_old/ONI4MW2H0JVTRJBN8E7MO6AK9WBHORC2XTL0CZCCZRVUEIZFRBSCSJ8LC81PI.webp",Du="/img_old/1SHEODILJFKET4VDJAIL6ERFBERA2EA7DK1SKW0NDOAPC8NI2HGPT.webp",Bu="/img/2023-01-21_21.54.31.webp",Hu="/img_old/8a670318d98c454699a7205adfddbeba.webp",Vu="/img_old/f6cbbe36e6684ff9a588d74a253e4c61.webp",ju="/img_old/482017EB4CCD40D894AB766867409E86.webp",Uu="/img_old/MKJNOAOBPOE9ADPN1NACJJ3IAAF77LOEIOH1RFXUIVOYEO6LJS86.webp",Ku="/img_old/4GNU0587W6BELWSTTQF0M74LJO6YKRD3.webp",ku="/img_old/EEE7A1DBFD864FF89C443AC7B3CB8ADB.webp",sa="modulepreload",ra=function(e){return"/"+e},jr={},Wu=function(t,n,s){let r=Promise.resolve();if(n&&n.length>0){const o=document.getElementsByTagName("link");r=Promise.all(n.map(i=>{if(i=ra(i),i in jr)return;jr[i]=!0;const l=i.endsWith(".css"),c=l?'[rel="stylesheet"]':"";if(!!s)for(let h=o.length-1;h>=0;h--){const p=o[h];if(p.href===i&&(!l||p.rel==="stylesheet"))return}else if(document.querySelector(`link[href="${i}"]${c}`))return;const f=document.createElement("link");if(f.rel=l?"stylesheet":sa,l||(f.as="script",f.crossOrigin=""),f.href=i,document.head.appendChild(f),l)return new Promise((h,p)=>{f.addEventListener("load",h),f.addEventListener("error",()=>p(new Error(`Unable to preload CSS for ${i}`)))})}))}return r.then(()=>t()).catch(o=>{const i=new Event("vite:preloadError",{cancelable:!0});if(i.payload=o,window.dispatchEvent(i),!i.defaultPrevented)throw o})},oa=window.__VP_SITE_DATA__;function Gs(e){return so()?(Hi(e),!0):!1}function Ie(e){return typeof e=="function"?e():wo(e)}const li=typeof window<"u"&&typeof document<"u";typeof WorkerGlobalScope<"u"&&globalThis instanceof WorkerGlobalScope;const ia=Object.prototype.toString,la=e=>ia.call(e)==="[object Object]",Ye=()=>{},Cs=ca();function ca(){var e,t;return li&&((e=window==null?void 0:window.navigator)==null?void 0:e.userAgent)&&(/iP(ad|hone|od)/.test(window.navigator.userAgent)||((t=window==null?void 0:window.navigator)==null?void 0:t.maxTouchPoints)>2&&/iPad|Macintosh/.test(window==null?void 0:window.navigator.userAgent))}function aa(e,t){function n(...s){return new Promise((r,o)=>{Promise.resolve(e(()=>t.apply(this,s),{fn:t,thisArg:this,args:s})).then(r).catch(o)})}return n}const ci=e=>e();function ua(e,t={}){let n,s,r=Ye;const o=l=>{clearTimeout(l),r(),r=Ye};return l=>{const c=Ie(e),a=Ie(t.maxWait);return n&&o(n),c<=0||a!==void 0&&a<=0?(s&&(o(s),s=null),Promise.resolve(l())):new Promise((f,h)=>{r=t.rejectOnCancel?h:f,a&&!s&&(s=setTimeout(()=>{n&&o(n),s=null,f(l())},a)),n=setTimeout(()=>{s&&o(s),s=null,f(l())},c)})}}function fa(e=ci){const t=ie(!0);function n(){t.value=!1}function s(){t.value=!0}const r=(...o)=>{t.value&&e(...o)};return{isActive:Mn(t),pause:n,resume:s,eventFilter:r}}function da(e){return e||jn()}function ai(...e){if(e.length!==1)return pl(...e);const t=e[0];return typeof t=="function"?Mn(fl(()=>({get:t,set:Ye}))):ie(t)}function ui(e,t,n={}){const{eventFilter:s=ci,...r}=n;return ze(e,aa(s,t),r)}function ha(e,t,n={}){const{eventFilter:s,...r}=n,{eventFilter:o,pause:i,resume:l,isActive:c}=fa(s);return{stop:ui(e,t,{...r,eventFilter:o}),pause:i,resume:l,isActive:c}}function fi(e,t=!0,n){da()?St(e,n):t?e():Pn(e)}function qu(e,t,n={}){const{debounce:s=0,maxWait:r=void 0,...o}=n;return ui(e,t,{...o,eventFilter:ua(s,{maxWait:r})})}function Gu(e,t,n){let s;de(n)?s={evaluating:n}:s=n||{};const{lazy:r=!1,evaluating:o=void 0,shallow:i=!0,onError:l=Ye}=s,c=ie(!r),a=i?Bs(t):ie(t);let f=0;return js(async h=>{if(!c.value)return;f++;const p=f;let _=!1;o&&Promise.resolve().then(()=>{o.value=!0});try{const v=await e(O=>{h(()=>{o&&(o.value=!1),_||O()})});p===f&&(a.value=v)}catch(v){l(v)}finally{o&&p===f&&(o.value=!1),_=!0}}),r?se(()=>(c.value=!0,a.value)):a}function _t(e){var t;const n=Ie(e);return(t=n==null?void 0:n.$el)!=null?t:n}const Oe=li?window:void 0;function Ze(...e){let t,n,s,r;if(typeof e[0]=="string"||Array.isArray(e[0])?([n,s,r]=e,t=Oe):[t,n,s,r]=e,!t)return Ye;Array.isArray(n)||(n=[n]),Array.isArray(s)||(s=[s]);const o=[],i=()=>{o.forEach(f=>f()),o.length=0},l=(f,h,p,_)=>(f.addEventListener(h,p,_),()=>f.removeEventListener(h,p,_)),c=ze(()=>[_t(t),Ie(r)],([f,h])=>{if(i(),!f)return;const p=la(h)?{...h}:h;o.push(...n.flatMap(_=>s.map(v=>l(f,_,v,p))))},{immediate:!0,flush:"post"}),a=()=>{c(),i()};return Gs(a),a}let Ur=!1;function Ju(e,t,n={}){const{window:s=Oe,ignore:r=[],capture:o=!0,detectIframe:i=!1}=n;if(!s)return Ye;Cs&&!Ur&&(Ur=!0,Array.from(s.document.body.children).forEach(p=>p.addEventListener("click",Ye)),s.document.documentElement.addEventListener("click",Ye));let l=!0;const c=p=>r.some(_=>{if(typeof _=="string")return Array.from(s.document.querySelectorAll(_)).some(v=>v===p.target||p.composedPath().includes(v));{const v=_t(_);return v&&(p.target===v||p.composedPath().includes(v))}}),f=[Ze(s,"click",p=>{const _=_t(e);if(!(!_||_===p.target||p.composedPath().includes(_))){if(p.detail===0&&(l=!c(p)),!l){l=!0;return}t(p)}},{passive:!0,capture:o}),Ze(s,"pointerdown",p=>{const _=_t(e);l=!c(p)&&!!(_&&!p.composedPath().includes(_))},{passive:!0}),i&&Ze(s,"blur",p=>{setTimeout(()=>{var _;const v=_t(e);((_=s.document.activeElement)==null?void 0:_.tagName)==="IFRAME"&&!(v!=null&&v.contains(s.document.activeElement))&&t(p)},0)})].filter(Boolean);return()=>f.forEach(p=>p())}function pa(e){return typeof e=="function"?e:typeof e=="string"?t=>t.key===e:Array.isArray(e)?t=>e.includes(t.key):()=>!0}function Xu(...e){let t,n,s={};e.length===3?(t=e[0],n=e[1],s=e[2]):e.length===2?typeof e[1]=="object"?(t=!0,n=e[0],s=e[1]):(t=e[0],n=e[1]):(t=!0,n=e[0]);const{target:r=Oe,eventName:o="keydown",passive:i=!1,dedupe:l=!1}=s,c=pa(t);return Ze(r,o,f=>{f.repeat&&Ie(l)||c(f)&&n(f)},i)}function ga(){const e=ie(!1);return jn()&&St(()=>{e.value=!0}),e}function ma(e){const t=ga();return se(()=>(t.value,!!e()))}function _a(e,t={}){const{window:n=Oe}=t,s=ma(()=>n&&"matchMedia"in n&&typeof n.matchMedia=="function");let r;const o=ie(!1),i=a=>{o.value=a.matches},l=()=>{r&&("removeEventListener"in r?r.removeEventListener("change",i):r.removeListener(i))},c=js(()=>{s.value&&(l(),r=n.matchMedia(Ie(e)),"addEventListener"in r?r.addEventListener("change",i):r.addListener(i),o.value=r.matches)});return Gs(()=>{c(),l(),r=void 0}),o}const cn=typeof globalThis<"u"?globalThis:typeof window<"u"?window:typeof global<"u"?global:typeof self<"u"?self:{},an="__vueuse_ssr_handlers__",ya=ba();function ba(){return an in cn||(cn[an]=cn[an]||{}),cn[an]}function di(e,t){return ya[e]||t}function wa(e){return e==null?"any":e instanceof Set?"set":e instanceof Map?"map":e instanceof Date?"date":typeof e=="boolean"?"boolean":typeof e=="string"?"string":typeof e=="object"?"object":Number.isNaN(e)?"any":"number"}const va={boolean:{read:e=>e==="true",write:e=>String(e)},object:{read:e=>JSON.parse(e),write:e=>JSON.stringify(e)},number:{read:e=>Number.parseFloat(e),write:e=>String(e)},any:{read:e=>e,write:e=>String(e)},string:{read:e=>e,write:e=>String(e)},map:{read:e=>new Map(JSON.parse(e)),write:e=>JSON.stringify(Array.from(e.entries()))},set:{read:e=>new Set(JSON.parse(e)),write:e=>JSON.stringify(Array.from(e))},date:{read:e=>new Date(e),write:e=>e.toISOString()}},Kr="vueuse-storage";function Js(e,t,n,s={}){var r;const{flush:o="pre",deep:i=!0,listenToStorageChanges:l=!0,writeDefaults:c=!0,mergeDefaults:a=!1,shallow:f,window:h=Oe,eventFilter:p,onError:_=A=>{console.error(A)},initOnMounted:v}=s,O=(f?Bs:ie)(typeof t=="function"?t():t);if(!n)try{n=di("getDefaultStorage",()=>{var A;return(A=Oe)==null?void 0:A.localStorage})()}catch(A){_(A)}if(!n)return O;const N=Ie(t),K=wa(N),j=(r=s.serializer)!=null?r:va[K],{pause:g,resume:y}=ha(O,()=>P(O.value),{flush:o,deep:i,eventFilter:p});return h&&l&&fi(()=>{Ze(h,"storage",S),Ze(h,Kr,$),v&&S()}),v||S(),O;function P(A){try{if(A==null)n.removeItem(e);else{const T=j.write(A),k=n.getItem(e);k!==T&&(n.setItem(e,T),h&&h.dispatchEvent(new CustomEvent(Kr,{detail:{key:e,oldValue:k,newValue:T,storageArea:n}})))}}catch(T){_(T)}}function L(A){const T=A?A.newValue:n.getItem(e);if(T==null)return c&&N!=null&&n.setItem(e,j.write(N)),N;if(!A&&a){const k=j.read(T);return typeof a=="function"?a(k,N):K==="object"&&!Array.isArray(k)?{...N,...k}:k}else return typeof T!="string"?T:j.read(T)}function $(A){S(A.detail)}function S(A){if(!(A&&A.storageArea!==n)){if(A&&A.key==null){O.value=N;return}if(!(A&&A.key!==e)){g();try{(A==null?void 0:A.newValue)!==j.write(O.value)&&(O.value=L(A))}catch(T){_(T)}finally{A?Pn(y):y()}}}}}function hi(e){return _a("(prefers-color-scheme: dark)",e)}function Ea(e={}){const{selector:t="html",attribute:n="class",initialValue:s="auto",window:r=Oe,storage:o,storageKey:i="vueuse-color-scheme",listenToStorageChanges:l=!0,storageRef:c,emitAuto:a,disableTransition:f=!0}=e,h={auto:"",light:"light",dark:"dark",...e.modes||{}},p=hi({window:r}),_=se(()=>p.value?"dark":"light"),v=c||(i==null?ai(s):Js(i,s,o,{window:r,listenToStorageChanges:l})),O=se(()=>v.value==="auto"?_.value:v.value),N=di("updateHTMLAttrs",(y,P,L)=>{const $=typeof y=="string"?r==null?void 0:r.document.querySelector(y):_t(y);if(!$)return;let S;if(f&&(S=r.document.createElement("style"),S.appendChild(document.createTextNode("*,*::before,*::after{-webkit-transition:none!important;-moz-transition:none!important;-o-transition:none!important;-ms-transition:none!important;transition:none!important}")),r.document.head.appendChild(S)),P==="class"){const A=L.split(/\s/g);Object.values(h).flatMap(T=>(T||"").split(/\s/g)).filter(Boolean).forEach(T=>{A.includes(T)?$.classList.add(T):$.classList.remove(T)})}else $.setAttribute(P,L);f&&(r.getComputedStyle(S).opacity,document.head.removeChild(S))});function K(y){var P;N(t,n,(P=h[y])!=null?P:y)}function j(y){e.onChanged?e.onChanged(y,K):K(y)}ze(O,j,{flush:"post",immediate:!0}),fi(()=>j(O.value));const g=se({get(){return a?v.value:O.value},set(y){v.value=y}});try{return Object.assign(g,{store:v,system:_,state:O})}catch{return g}}function Ca(e={}){const{valueDark:t="dark",valueLight:n="",window:s=Oe}=e,r=Ea({...e,onChanged:(l,c)=>{var a;e.onChanged?(a=e.onChanged)==null||a.call(e,l==="dark",c,l):c(l)},modes:{dark:t,light:n}}),o=se(()=>r.system?r.system.value:hi({window:s}).value?"dark":"light");return se({get(){return r.value==="dark"},set(l){const c=l?"dark":"light";o.value===c?r.value="auto":r.value=c}})}function ns(e){return typeof Window<"u"&&e instanceof Window?e.document.documentElement:typeof Document<"u"&&e instanceof Document?e.documentElement:e}function zu(e,t,n={}){const{window:s=Oe}=n;return Js(e,t,s==null?void 0:s.localStorage,n)}function pi(e){const t=window.getComputedStyle(e);if(t.overflowX==="scroll"||t.overflowY==="scroll"||t.overflowX==="auto"&&e.clientWidth1?!0:(t.preventDefault&&t.preventDefault(),!1)}const un=new WeakMap;function Yu(e,t=!1){const n=ie(t);let s=null,r;ze(ai(e),l=>{const c=ns(Ie(l));if(c){const a=c;un.get(a)||un.set(a,r),n.value&&(a.style.overflow="hidden")}},{immediate:!0});const o=()=>{const l=ns(Ie(e));!l||n.value||(Cs&&(s=Ze(l,"touchmove",c=>{xa(c)},{passive:!1})),l.style.overflow="hidden",n.value=!0)},i=()=>{var l;const c=ns(Ie(e));!c||!n.value||(Cs&&(s==null||s()),c.style.overflow=(l=un.get(c))!=null?l:"",un.delete(c),n.value=!1)};return Gs(i),se({get(){return n.value},set(l){l?o():i()}})}function Zu(e,t,n={}){const{window:s=Oe}=n;return Js(e,t,s==null?void 0:s.sessionStorage,n)}function Qu(e={}){const{window:t=Oe,behavior:n="auto"}=e;if(!t)return{x:ie(0),y:ie(0)};const s=ie(t.scrollX),r=ie(t.scrollY),o=se({get(){return s.value},set(l){scrollTo({left:l,behavior:n})}}),i=se({get(){return r.value},set(l){scrollTo({top:l,behavior:n})}});return Ze(t,"scroll",()=>{s.value=t.scrollX,r.value=t.scrollY},{capture:!1,passive:!0}),{x:o,y:i}}var ss={BASE_URL:"/",MODE:"production",DEV:!1,PROD:!0,SSR:!1},Aa={};const gi=/^(?:[a-z]+:|\/\/)/i,Ta="vitepress-theme-appearance",mi=/#.*$/,Sa=/(index)?\.(md|html)$/,Ce=typeof document<"u",_i={relativePath:"",filePath:"",title:"404",description:"Not Found",headers:[],frontmatter:{sidebar:!1,layout:"page"},lastUpdated:0,isNotFound:!0};function Ra(e,t,n=!1){if(t===void 0)return!1;if(e=kr(`/${e}`),n)return new RegExp(t).test(e);if(kr(t)!==e)return!1;const s=t.match(mi);return s?(Ce?location.hash:"")===s[0]:!0}function kr(e){return decodeURI(e).replace(mi,"").replace(Sa,"")}function Oa(e){return gi.test(e)}function La(e,t){var s,r,o,i,l,c,a;const n=Object.keys(e.locales).find(f=>f!=="root"&&!Oa(f)&&Ra(t,`/${f}/`,!0))||"root";return Object.assign({},e,{localeIndex:n,lang:((s=e.locales[n])==null?void 0:s.lang)??e.lang,dir:((r=e.locales[n])==null?void 0:r.dir)??e.dir,title:((o=e.locales[n])==null?void 0:o.title)??e.title,titleTemplate:((i=e.locales[n])==null?void 0:i.titleTemplate)??e.titleTemplate,description:((l=e.locales[n])==null?void 0:l.description)??e.description,head:bi(e.head,((c=e.locales[n])==null?void 0:c.head)??[]),themeConfig:{...e.themeConfig,...(a=e.locales[n])==null?void 0:a.themeConfig}})}function yi(e,t){const n=t.title||e.title,s=t.titleTemplate??e.titleTemplate;if(typeof s=="string"&&s.includes(":title"))return s.replace(/:title/g,n);const r=Fa(e.title,s);return n===r.slice(3)?n:`${n}${r}`}function Fa(e,t){return t===!1?"":t===!0||t===void 0?` | ${e}`:e===t?"":` | ${t}`}function Ma(e,t){const[n,s]=t;if(n!=="meta")return!1;const r=Object.entries(s)[0];return r==null?!1:e.some(([o,i])=>o===n&&i[r[0]]===r[1])}function bi(e,t){return[...e.filter(n=>!Ma(t,n)),...t]}const Pa=/[\u0000-\u001F"#$&*+,:;<=>?[\]^`{|}\u007F]/g,Ia=/^[a-z]:/i;function Wr(e){const t=Ia.exec(e),n=t?t[0]:"";return n+e.slice(n.length).replace(Pa,"_").replace(/(^|\/)_+(?=[^/]*$)/,"$1")}const rs=typeof process=="object"&&Aa.VITE_EXTRA_EXTENSIONS||(ss==null?void 0:ss.VITE_EXTRA_EXTENSIONS)||"",Na=new Set(("3g2,3gp,aac,ai,apng,au,avif,bin,bmp,cer,class,conf,crl,css,csv,dll,doc,eps,epub,exe,gif,gz,ics,ief,jar,jpe,jpeg,jpg,js,json,jsonld,m4a,man,mid,midi,mjs,mov,mp2,mp3,mp4,mpe,mpeg,mpg,mpp,oga,ogg,ogv,ogx,opus,otf,p10,p7c,p7m,p7s,pdf,png,ps,qt,roff,rtf,rtx,ser,svg,t,tif,tiff,tr,ts,tsv,ttf,txt,vtt,wav,weba,webm,webp,woff,woff2,xhtml,xml,yaml,yml,zip"+(rs&&typeof rs=="string"?","+rs:"")).split(","));function $a(e){const t=e.split(".").pop();return t==null||!Na.has(t.toLowerCase())}function ef(e){return e.replace(/[|\\{}()[\]^$+*?.]/g,"\\$&").replace(/-/g,"\\x2d")}const Da=Symbol(),ut=Bs(oa);function tf(e){const t=se(()=>La(ut.value,e.data.relativePath)),n=t.value.appearance,s=n==="force-dark"?ie(!0):n?Ca({storageKey:Ta,initialValue:()=>typeof n=="string"?n:"auto",...typeof n=="object"?n:{}}):ie(!1);return{site:t,theme:se(()=>t.value.themeConfig),page:se(()=>e.data),frontmatter:se(()=>e.data.frontmatter),params:se(()=>e.data.params),lang:se(()=>t.value.lang),dir:se(()=>e.data.frontmatter.dir||t.value.dir),localeIndex:se(()=>t.value.localeIndex||"root"),title:se(()=>yi(t.value,e.data)),description:se(()=>e.data.description||t.value.description),isDark:s}}function Ba(){const e=Ct(Da);if(!e)throw new Error("vitepress data not properly injected in app");return e}function Ha(e,t){return`${e}${t}`.replace(/\/+/g,"/")}function qr(e){return gi.test(e)||!e.startsWith("/")?e:Ha(ut.value.base,e)}function Va(e){let t=e.replace(/\.html$/,"");if(t=decodeURIComponent(t),t=t.replace(/\/$/,"/index"),Ce){const n="/";t=Wr(t.slice(n.length).replace(/\//g,"_")||"index")+".md";let s=__VP_HASH_MAP__[t.toLowerCase()];if(s||(t=t.endsWith("_index.md")?t.slice(0,-9)+".md":t.slice(0,-3)+"_index.md",s=__VP_HASH_MAP__[t.toLowerCase()]),!s)return null;t=`${n}assets/${t}.${s}.js`}else t=`./${Wr(t.slice(1).replace(/\//g,"_"))}.md.js`;return t}let gn=[];function nf(e){gn.push(e),Hn(()=>{gn=gn.filter(t=>t!==e)})}function ja(){let e=ut.value.scrollOffset,t=0,n=24;if(typeof e=="object"&&"padding"in e&&(n=e.padding,e=e.selector),typeof e=="number")t=e;else if(typeof e=="string")t=Gr(e,n);else if(Array.isArray(e))for(const s of e){const r=Gr(s,n);if(r){t=r;break}}return t}function Gr(e,t){const n=document.querySelector(e);if(!n)return 0;const s=n.getBoundingClientRect().bottom;return s<0?0:s+t}const Ua=Symbol(),wi="http://a.com",Ka=()=>({path:"/",component:null,data:_i});function sf(e,t){const n=Fn(Ka()),s={route:n,go:r};async function r(l=Ce?location.href:"/"){var c,a;l=Tn(l),await((c=s.onBeforeRouteChange)==null?void 0:c.call(s,l))!==!1&&(Xr(l),await i(l),await((a=s.onAfterRouteChanged)==null?void 0:a.call(s,l)))}let o=null;async function i(l,c=0,a=!1){var p;if(await((p=s.onBeforePageLoad)==null?void 0:p.call(s,l))===!1)return;const f=new URL(l,wi),h=o=f.pathname;try{let _=await e(h);if(!_)throw new Error(`Page not found: ${h}`);if(o===h){o=null;const{default:v,__pageData:O}=_;if(!v)throw new Error(`Invalid route component: ${v}`);n.path=Ce?h:qr(h),n.component=Mt(v),n.data=Mt(O),Ce&&Pn(()=>{let N=ut.value.base+O.relativePath.replace(/(?:(^|\/)index)?\.md$/,"$1");if(!ut.value.cleanUrls&&!N.endsWith("/")&&(N+=".html"),N!==f.pathname&&(f.pathname=N,l=N+f.search+f.hash,history.replaceState(null,"",l)),f.hash&&!c){let K=null;try{K=document.getElementById(decodeURIComponent(f.hash).slice(1))}catch(j){console.warn(j)}if(K){Jr(K,f.hash);return}}window.scrollTo(0,c)})}}catch(_){if(!/fetch|Page not found/.test(_.message)&&!/^\/404(\.html|\/)?$/.test(l)&&console.error(_),!a)try{const v=await fetch(ut.value.base+"hashmap.json");window.__VP_HASH_MAP__=await v.json(),await i(l,c,!0);return}catch{}o===h&&(o=null,n.path=Ce?h:qr(h),n.component=t?Mt(t):null,n.data=_i)}}return Ce&&(window.addEventListener("click",l=>{if(l.target.closest("button"))return;const a=l.target.closest("a");if(a&&!a.closest(".vp-raw")&&(a instanceof SVGElement||!a.download)){const{target:f}=a,{href:h,origin:p,pathname:_,hash:v,search:O}=new URL(a.href instanceof SVGAnimatedString?a.href.animVal:a.href,a.baseURI),N=window.location;!l.ctrlKey&&!l.shiftKey&&!l.altKey&&!l.metaKey&&!f&&p===N.origin&&$a(_)&&(l.preventDefault(),_===N.pathname&&O===N.search?(v!==N.hash&&(history.pushState(null,"",v),window.dispatchEvent(new Event("hashchange"))),v?Jr(a,v,a.classList.contains("header-anchor")):(Xr(h),window.scrollTo(0,0))):r(h))}},{capture:!0}),window.addEventListener("popstate",async l=>{var c;await i(Tn(location.href),l.state&&l.state.scrollPosition||0),(c=s.onAfterRouteChanged)==null||c.call(s,location.href)}),window.addEventListener("hashchange",l=>{l.preventDefault()})),s}function ka(){const e=Ct(Ua);if(!e)throw new Error("useRouter() is called without provider.");return e}function vi(){return ka().route}function Jr(e,t,n=!1){let s=null;try{s=e.classList.contains("header-anchor")?e:document.getElementById(decodeURIComponent(t).slice(1))}catch(r){console.warn(r)}if(s){let r=function(){!n||Math.abs(i-window.scrollY)>window.innerHeight?window.scrollTo(0,i):window.scrollTo({left:0,top:i,behavior:"smooth"})};const o=parseInt(window.getComputedStyle(s).paddingTop,10),i=window.scrollY+s.getBoundingClientRect().top-ja()+o;requestAnimationFrame(r)}}function Xr(e){Ce&&Tn(e)!==Tn(location.href)&&(history.replaceState({scrollPosition:window.scrollY},document.title),history.pushState(null,"",e))}function Tn(e){const t=new URL(e,wi);return t.pathname=t.pathname.replace(/(^|\/)index(\.html)?$/,"$1"),ut.value.cleanUrls?t.pathname=t.pathname.replace(/\.html$/,""):!t.pathname.endsWith("/")&&!t.pathname.endsWith(".html")&&(t.pathname+=".html"),t.pathname+t.search+t.hash}const os=()=>gn.forEach(e=>e()),rf=Us({name:"VitePressContent",props:{as:{type:[Object,String],default:"div"}},setup(e){const t=vi(),{site:n}=Ba();return()=>vs(e.as,n.value.contentProps??{style:{position:"relative"}},[t.component?vs(t.component,{onVnodeMounted:os,onVnodeUpdated:os,onVnodeUnmounted:os}):"404 Page Not Found"])}}),of=Us({setup(e,{slots:t}){const n=ie(!1);return St(()=>{n.value=!0}),()=>n.value&&t.default?t.default():null}});function lf(){Ce&&window.addEventListener("click",e=>{var n;const t=e.target;if(t.matches(".vp-code-group input")){const s=(n=t.parentElement)==null?void 0:n.parentElement;if(!s)return;const r=Array.from(s.querySelectorAll("input")).indexOf(t);if(r<0)return;const o=s.querySelector(".blocks");if(!o)return;const i=Array.from(o.children).find(a=>a.classList.contains("active"));if(!i)return;const l=o.children[r];if(!l||i===l)return;i.classList.remove("active"),l.classList.add("active");const c=s==null?void 0:s.querySelector(`label[for="${t.id}"]`);c==null||c.scrollIntoView({block:"nearest"})}})}function cf(){if(Ce){const e=new WeakMap;window.addEventListener("click",t=>{var s;const n=t.target;if(n.matches('div[class*="language-"] > button.copy')){const r=n.parentElement,o=(s=n.nextElementSibling)==null?void 0:s.nextElementSibling;if(!r||!o)return;const i=/language-(shellscript|shell|bash|sh|zsh)/.test(r.className),l=[".vp-copy-ignore",".diff.remove"],c=o.cloneNode(!0);c.querySelectorAll(l.join(",")).forEach(f=>f.remove());let a=c.textContent||"";i&&(a=a.replace(/^ *(\$|>) /gm,"").trim()),Wa(a).then(()=>{n.classList.add("copied"),clearTimeout(e.get(n));const f=setTimeout(()=>{n.classList.remove("copied"),n.blur(),e.delete(n)},2e3);e.set(n,f)})}})}}async function Wa(e){try{return navigator.clipboard.writeText(e)}catch{const t=document.createElement("textarea"),n=document.activeElement;t.value=e,t.setAttribute("readonly",""),t.style.contain="strict",t.style.position="absolute",t.style.left="-9999px",t.style.fontSize="12pt";const s=document.getSelection(),r=s?s.rangeCount>0&&s.getRangeAt(0):null;document.body.appendChild(t),t.select(),t.selectionStart=0,t.selectionEnd=e.length,document.execCommand("copy"),document.body.removeChild(t),r&&(s.removeAllRanges(),s.addRange(r)),n&&n.focus()}}function af(e,t){let n=!0,s=[];const r=o=>{if(n){n=!1,o.forEach(l=>{const c=is(l);for(const a of document.head.children)if(a.isEqualNode(c)){s.push(a);return}});return}const i=o.map(is);s.forEach((l,c)=>{const a=i.findIndex(f=>f==null?void 0:f.isEqualNode(l??null));a!==-1?delete i[a]:(l==null||l.remove(),delete s[c])}),i.forEach(l=>l&&document.head.appendChild(l)),s=[...s,...i].filter(Boolean)};js(()=>{const o=e.data,i=t.value,l=o&&o.description,c=o&&o.frontmatter.head||[],a=yi(i,o);a!==document.title&&(document.title=a);const f=l||i.description;let h=document.querySelector("meta[name=description]");h?h.getAttribute("content")!==f&&h.setAttribute("content",f):is(["meta",{name:"description",content:f}]),r(bi(i.head,Ga(c)))})}function is([e,t,n]){const s=document.createElement(e);for(const r in t)s.setAttribute(r,t[r]);return n&&(s.innerHTML=n),e==="script"&&!t.async&&(s.async=!1),s}function qa(e){return e[0]==="meta"&&e[1]&&e[1].name==="description"}function Ga(e){return e.filter(t=>!qa(t))}const ls=new Set,Ei=()=>document.createElement("link"),Ja=e=>{const t=Ei();t.rel="prefetch",t.href=e,document.head.appendChild(t)},Xa=e=>{const t=new XMLHttpRequest;t.open("GET",e,t.withCredentials=!0),t.send()};let fn;const za=Ce&&(fn=Ei())&&fn.relList&&fn.relList.supports&&fn.relList.supports("prefetch")?Ja:Xa;function uf(){if(!Ce||!window.IntersectionObserver)return;let e;if((e=navigator.connection)&&(e.saveData||/2g/.test(e.effectiveType)))return;const t=window.requestIdleCallback||setTimeout;let n=null;const s=()=>{n&&n.disconnect(),n=new IntersectionObserver(o=>{o.forEach(i=>{if(i.isIntersecting){const l=i.target;n.unobserve(l);const{pathname:c}=l;if(!ls.has(c)){ls.add(c);const a=Va(c);a&&za(a)}}})}),t(()=>{document.querySelectorAll("#app a").forEach(o=>{const{hostname:i,pathname:l}=new URL(o.href instanceof SVGAnimatedString?o.href.animVal:o.href,o.baseURI),c=l.match(/\.\w+$/);c&&c[0]!==".html"||o.target!=="_blank"&&i===location.hostname&&(l!==location.pathname?n.observe(o):ls.add(l))})})};St(s);const r=vi();ze(()=>r.path,s),Hn(()=>{n&&n.disconnect()})}export{Ql as $,Hn as A,nu as B,Hl as C,ja as D,eu as E,me as F,ou as G,Bs as H,nf as I,re as J,tu as K,gi as L,vi as M,_c as N,Ct as O,Ju as P,Xu as Q,Rs as R,Pn as S,ni as T,Qu as U,fu as V,Mn as W,ru as X,Wu as Y,Yu as Z,yu as _,Zo as a,gu as a0,lu as a1,pu as a2,cu as a3,bu as a4,wu as a5,vu as a6,Eu as a7,Cu as a8,xu as a9,ut as aA,_u as aB,sf as aC,Va as aD,uf as aE,cf as aF,lf as aG,vs as aH,_t as aI,Gs as aJ,Gu as aK,Zu as aL,zu as aM,qu as aN,ka as aO,Ze as aP,Io as aQ,su as aR,hu as aS,de as aT,au as aU,Mt as aV,mu as aW,ef as aX,Au as aa,Tu as ab,Su as ac,Ru as ad,Ou as ae,Lu as af,Fu as ag,Mu as ah,Pu as ai,Iu as aj,Nu as ak,$u as al,Du as am,Bu as an,Hu as ao,Vu as ap,ju as aq,Uu as ar,Ku as as,ku as at,af as au,Ua as av,tf as aw,Da as ax,rf as ay,of as az,Xo as b,uu as c,Us as d,du as e,$a as f,qr as g,ie as h,Oa as i,Ce as j,se as k,St as l,Yo as m,Os as n,Go as o,wo as p,Za as q,iu as r,Qa as s,Ya as t,Ba as u,Ra as v,El as w,_a as x,ze as y,js as z}; diff --git a/assets/chunks/theme.52ZnxHOT.js b/assets/chunks/theme.52ZnxHOT.js new file mode 100644 index 00000000..0d45156f --- /dev/null +++ b/assets/chunks/theme.52ZnxHOT.js @@ -0,0 +1,7 @@ +import{d as g,o as a,c as l,r as d,n as I,a as H,t as L,b as $,w as p,T as ve,e as f,_ as m,u as Oe,i as xe,f as Ue,g as he,h as M,j as q,k as b,l as G,m as u,p as r,q as E,s as D,v as U,x as ie,y as j,z as Q,A as pe,B as we,C as Ge,D as je,E as K,F as T,G as A,H as Pe,I as ee,J as _,K as x,L as Ve,M as te,N as J,O as se,P as Ke,Q as le,R as Re,S as qe,U as Le,V as We,W as Ye,X as Je,Y as Xe,Z as Se,$ as Me,a0 as Ze,a1 as Qe,a2 as et,a3 as tt}from"./framework.3rhKcKOk.js";const st=g({__name:"VPBadge",props:{text:{},type:{default:"tip"}},setup(s){return(e,t)=>(a(),l("span",{class:I(["VPBadge",e.type])},[d(e.$slots,"default",{},()=>[H(L(e.text),1)])],2))}}),nt={key:0,class:"VPBackdrop"},ot=g({__name:"VPBackdrop",props:{show:{type:Boolean}},setup(s){return(e,t)=>(a(),$(ve,{name:"fade"},{default:p(()=>[e.show?(a(),l("div",nt)):f("",!0)]),_:1}))}}),at=m(ot,[["__scopeId","data-v-c79a1216"]]),P=Oe;function rt(s,e){let t,n=!1;return()=>{t&&clearTimeout(t),n?t=setTimeout(s,e):(s(),(n=!0)&&setTimeout(()=>n=!1,e))}}function ce(s){return/^\//.test(s)?s:`/${s}`}function _e(s){const{pathname:e,search:t,hash:n,protocol:o}=new URL(s,"http://a.com");if(xe(s)||s.startsWith("#")||!o.startsWith("http")||!Ue(e))return s;const{site:i}=P(),c=e.endsWith("/")||e.endsWith(".html")?s:s.replace(/(?:(^\.+)\/)?.*$/,`$1${e.replace(/(\.md)?$/,i.value.cleanUrls?"":".html")}${t}${n}`);return he(c)}const fe=M(q?location.hash:"");q&&window.addEventListener("hashchange",()=>{fe.value=location.hash});function W({removeCurrent:s=!0,correspondingLink:e=!1}={}){const{site:t,localeIndex:n,page:o,theme:i}=P(),c=b(()=>{var v,k;return{label:(v=t.value.locales[n.value])==null?void 0:v.label,link:((k=t.value.locales[n.value])==null?void 0:k.link)||(n.value==="root"?"/":`/${n.value}/`)}});return{localeLinks:b(()=>Object.entries(t.value.locales).flatMap(([v,k])=>s&&c.value.label===k.label?[]:{text:k.label,link:it(k.link||(v==="root"?"/":`/${v}/`),i.value.i18nRouting!==!1&&e,o.value.relativePath.slice(c.value.link.length-1),!t.value.cleanUrls)+fe.value})),currentLang:c}}function it(s,e,t,n){return e?s.replace(/\/$/,"")+ce(t.replace(/(^|\/)index\.md$/,"$1").replace(/\.md$/,n?".html":"")):s}const lt=s=>(E("data-v-f87ff6e4"),s=s(),D(),s),ct={class:"NotFound"},ut={class:"code"},dt={class:"title"},vt=lt(()=>u("div",{class:"divider"},null,-1)),ht={class:"quote"},pt={class:"action"},_t=["href","aria-label"],ft=g({__name:"NotFound",setup(s){const{site:e,theme:t}=P(),{localeLinks:n}=W({removeCurrent:!1}),o=M("/");return G(()=>{var c;const i=window.location.pathname.replace(e.value.base,"").replace(/(^.*?\/).*$/,"/$1");n.value.length&&(o.value=((c=n.value.find(({link:h})=>h.startsWith(i)))==null?void 0:c.link)||n.value[0].link)}),(i,c)=>{var h,v,k,w,y;return a(),l("div",ct,[u("p",ut,L(((h=r(t).notFound)==null?void 0:h.code)??"404"),1),u("h1",dt,L(((v=r(t).notFound)==null?void 0:v.title)??"PAGE NOT FOUND"),1),vt,u("blockquote",ht,L(((k=r(t).notFound)==null?void 0:k.quote)??"But if you don't change your direction, and if you keep looking, you may end up where you are heading."),1),u("div",pt,[u("a",{class:"link",href:r(he)(o.value),"aria-label":((w=r(t).notFound)==null?void 0:w.linkLabel)??"go to home"},L(((y=r(t).notFound)==null?void 0:y.linkText)??"Take me home"),9,_t)])])}}}),mt=m(ft,[["__scopeId","data-v-f87ff6e4"]]);function Ce(s,e){if(Array.isArray(s))return X(s);if(s==null)return[];e=ce(e);const t=Object.keys(s).sort((o,i)=>i.split("/").length-o.split("/").length).find(o=>e.startsWith(ce(o))),n=t?s[t]:[];return Array.isArray(n)?X(n):X(n.items,n.base)}function gt(s){const e=[];let t=0;for(const n in s){const o=s[n];if(o.items){t=e.push(o);continue}e[t]||e.push({items:[]}),e[t].items.push(o)}return e}function kt(s){const e=[];function t(n){for(const o of n)o.text&&o.link&&e.push({text:o.text,link:o.link,docFooterText:o.docFooterText}),o.items&&t(o.items)}return t(s),e}function ue(s,e){return Array.isArray(e)?e.some(t=>ue(s,t)):U(s,e.link)?!0:e.items?ue(s,e.items):!1}function X(s,e){return[...s].map(t=>{const n={...t},o=n.base||e;return o&&n.link&&(n.link=o+n.link),n.items&&(n.items=X(n.items,o)),n})}function F(){const{frontmatter:s,page:e,theme:t}=P(),n=ie("(min-width: 960px)"),o=M(!1),i=b(()=>{const B=t.value.sidebar,C=e.value.relativePath;return B?Ce(B,C):[]}),c=M(i.value);j(i,(B,C)=>{JSON.stringify(B)!==JSON.stringify(C)&&(c.value=i.value)});const h=b(()=>s.value.sidebar!==!1&&c.value.length>0&&s.value.layout!=="home"),v=b(()=>k?s.value.aside==null?t.value.aside==="left":s.value.aside==="left":!1),k=b(()=>s.value.layout==="home"?!1:s.value.aside!=null?!!s.value.aside:t.value.aside!==!1),w=b(()=>h.value&&n.value),y=b(()=>h.value?gt(c.value):[]);function V(){o.value=!0}function S(){o.value=!1}function N(){o.value?S():V()}return{isOpen:o,sidebar:c,sidebarGroups:y,hasSidebar:h,hasAside:k,leftAside:v,isSidebarEnabled:w,open:V,close:S,toggle:N}}function $t(s,e){let t;Q(()=>{t=s.value?document.activeElement:void 0}),G(()=>{window.addEventListener("keyup",n)}),pe(()=>{window.removeEventListener("keyup",n)});function n(o){o.key==="Escape"&&s.value&&(e(),t==null||t.focus())}}function bt(s){const{page:e}=P(),t=M(!1),n=b(()=>s.value.collapsed!=null),o=b(()=>!!s.value.link),i=M(!1),c=()=>{i.value=U(e.value.relativePath,s.value.link)};j([e,s,fe],c),G(c);const h=b(()=>i.value?!0:s.value.items?ue(e.value.relativePath,s.value.items):!1),v=b(()=>!!(s.value.items&&s.value.items.length));Q(()=>{t.value=!!(n.value&&s.value.collapsed)}),we(()=>{(i.value||h.value)&&(t.value=!1)});function k(){n.value&&(t.value=!t.value)}return{collapsed:t,collapsible:n,isLink:o,isActiveLink:i,hasActiveLink:h,hasChildren:v,toggle:k}}function yt(){const{hasSidebar:s}=F(),e=ie("(min-width: 960px)"),t=ie("(min-width: 1280px)");return{isAsideEnabled:b(()=>!t.value&&!e.value?!1:s.value?t.value:e.value)}}const de=[];function Te(s){return typeof s.outline=="object"&&!Array.isArray(s.outline)&&s.outline.label||s.outlineTitle||"On this page"}function me(s){const e=[...document.querySelectorAll(".VPDoc :where(h1,h2,h3,h4,h5,h6)")].filter(t=>t.id&&t.hasChildNodes()).map(t=>{const n=Number(t.tagName[1]);return{element:t,title:wt(t),link:"#"+t.id,level:n}});return Pt(e,s)}function wt(s){let e="";for(const t of s.childNodes)if(t.nodeType===1){if(t.classList.contains("VPBadge")||t.classList.contains("header-anchor")||t.classList.contains("ignore-header"))continue;e+=t.textContent}else t.nodeType===3&&(e+=t.textContent);return e.trim()}function Pt(s,e){if(e===!1)return[];const t=(typeof e=="object"&&!Array.isArray(e)?e.level:e)||2,[n,o]=typeof t=="number"?[t,t]:t==="deep"?[2,6]:t;s=s.filter(c=>c.level>=n&&c.level<=o),de.length=0;for(const{element:c,link:h}of s)de.push({element:c,link:h});const i=[];e:for(let c=0;c=0;v--){const k=s[v];if(k.level{requestAnimationFrame(i),window.addEventListener("scroll",n)}),Ge(()=>{c(location.hash)}),pe(()=>{window.removeEventListener("scroll",n)});function i(){if(!t.value)return;const h=window.scrollY,v=window.innerHeight,k=document.body.offsetHeight,w=Math.abs(h+v-k)<1,y=de.map(({element:S,link:N})=>({link:N,top:Lt(S)})).filter(({top:S})=>!Number.isNaN(S)).sort((S,N)=>S.top-N.top);if(!y.length){c(null);return}if(h<1){c(null);return}if(w){c(y[y.length-1].link);return}let V=null;for(const{link:S,top:N}of y){if(N>h+je()+4)break;V=S}c(V)}function c(h){o&&o.classList.remove("active"),h==null?o=null:o=s.value.querySelector(`a[href="${decodeURIComponent(h)}"]`);const v=o;v?(v.classList.add("active"),e.value.style.top=v.offsetTop+39+"px",e.value.style.opacity="1"):(e.value.style.top="33px",e.value.style.opacity="0")}}function Lt(s){let e=0;for(;s!==document.body;){if(s===null)return NaN;e+=s.offsetTop,s=s.offsetParent}return e}const St=["href","title"],Mt=g({__name:"VPDocOutlineItem",props:{headers:{},root:{type:Boolean}},setup(s){function e({target:t}){const n=t.href.split("#")[1],o=document.getElementById(decodeURIComponent(n));o==null||o.focus({preventScroll:!0})}return(t,n)=>{const o=K("VPDocOutlineItem",!0);return a(),l("ul",{class:I(["VPDocOutlineItem",t.root?"root":"nested"])},[(a(!0),l(T,null,A(t.headers,({children:i,link:c,title:h})=>(a(),l("li",null,[u("a",{class:"outline-link",href:c,onClick:e,title:h},L(h),9,St),i!=null&&i.length?(a(),$(o,{key:0,headers:i},null,8,["headers"])):f("",!0)]))),256))],2)}}}),Ie=m(Mt,[["__scopeId","data-v-b933a997"]]),Ct=s=>(E("data-v-935f8a84"),s=s(),D(),s),Tt={class:"content"},It={class:"outline-title",role:"heading","aria-level":"2"},Nt={"aria-labelledby":"doc-outline-aria-label"},Bt=Ct(()=>u("span",{class:"visually-hidden",id:"doc-outline-aria-label"}," Table of Contents for current page ",-1)),At=g({__name:"VPDocAsideOutline",setup(s){const{frontmatter:e,theme:t}=P(),n=Pe([]);ee(()=>{n.value=me(e.value.outline??t.value.outline)});const o=M(),i=M();return Vt(o,i),(c,h)=>(a(),l("div",{class:I(["VPDocAsideOutline",{"has-outline":n.value.length>0}]),ref_key:"container",ref:o,role:"navigation"},[u("div",Tt,[u("div",{class:"outline-marker",ref_key:"marker",ref:i},null,512),u("div",It,L(r(Te)(r(t))),1),u("nav",Nt,[Bt,_(Ie,{headers:n.value,root:!0},null,8,["headers"])])])],2))}}),Ht=m(At,[["__scopeId","data-v-935f8a84"]]),zt={class:"VPDocAsideCarbonAds"},Et=g({__name:"VPDocAsideCarbonAds",props:{carbonAds:{}},setup(s){const e=()=>null;return(t,n)=>(a(),l("div",zt,[_(r(e),{"carbon-ads":t.carbonAds},null,8,["carbon-ads"])]))}}),Dt=s=>(E("data-v-3f215769"),s=s(),D(),s),Ft={class:"VPDocAside"},Ot=Dt(()=>u("div",{class:"spacer"},null,-1)),xt=g({__name:"VPDocAside",setup(s){const{theme:e}=P();return(t,n)=>(a(),l("div",Ft,[d(t.$slots,"aside-top",{},void 0,!0),d(t.$slots,"aside-outline-before",{},void 0,!0),_(Ht),d(t.$slots,"aside-outline-after",{},void 0,!0),Ot,d(t.$slots,"aside-ads-before",{},void 0,!0),r(e).carbonAds?(a(),$(Et,{key:0,"carbon-ads":r(e).carbonAds},null,8,["carbon-ads"])):f("",!0),d(t.$slots,"aside-ads-after",{},void 0,!0),d(t.$slots,"aside-bottom",{},void 0,!0)]))}}),Ut=m(xt,[["__scopeId","data-v-3f215769"]]);function Gt(){const{theme:s,page:e}=P();return b(()=>{const{text:t="Edit this page",pattern:n=""}=s.value.editLink||{};let o;return typeof n=="function"?o=n(e.value):o=n.replace(/:path/g,e.value.filePath),{url:o,text:t}})}function jt(){const{page:s,theme:e,frontmatter:t}=P();return b(()=>{var v,k,w,y,V,S,N,B;const n=Ce(e.value.sidebar,s.value.relativePath),o=kt(n),i=o.findIndex(C=>U(s.value.relativePath,C.link)),c=((v=e.value.docFooter)==null?void 0:v.prev)===!1&&!t.value.prev||t.value.prev===!1,h=((k=e.value.docFooter)==null?void 0:k.next)===!1&&!t.value.next||t.value.next===!1;return{prev:c?void 0:{text:(typeof t.value.prev=="string"?t.value.prev:typeof t.value.prev=="object"?t.value.prev.text:void 0)??((w=o[i-1])==null?void 0:w.docFooterText)??((y=o[i-1])==null?void 0:y.text),link:(typeof t.value.prev=="object"?t.value.prev.link:void 0)??((V=o[i-1])==null?void 0:V.link)},next:h?void 0:{text:(typeof t.value.next=="string"?t.value.next:typeof t.value.next=="object"?t.value.next.text:void 0)??((S=o[i+1])==null?void 0:S.docFooterText)??((N=o[i+1])==null?void 0:N.text),link:(typeof t.value.next=="object"?t.value.next.link:void 0)??((B=o[i+1])==null?void 0:B.link)}}})}const Kt={},Rt={xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 24 24"},qt=u("path",{d:"M18,23H4c-1.7,0-3-1.3-3-3V6c0-1.7,1.3-3,3-3h7c0.6,0,1,0.4,1,1s-0.4,1-1,1H4C3.4,5,3,5.4,3,6v14c0,0.6,0.4,1,1,1h14c0.6,0,1-0.4,1-1v-7c0-0.6,0.4-1,1-1s1,0.4,1,1v7C21,21.7,19.7,23,18,23z"},null,-1),Wt=u("path",{d:"M8,17c-0.3,0-0.5-0.1-0.7-0.3C7,16.5,6.9,16.1,7,15.8l1-4c0-0.2,0.1-0.3,0.3-0.5l9.5-9.5c1.2-1.2,3.2-1.2,4.4,0c1.2,1.2,1.2,3.2,0,4.4l-9.5,9.5c-0.1,0.1-0.3,0.2-0.5,0.3l-4,1C8.2,17,8.1,17,8,17zM9.9,12.5l-0.5,2.1l2.1-0.5l9.3-9.3c0.4-0.4,0.4-1.1,0-1.6c-0.4-0.4-1.2-0.4-1.6,0l0,0L9.9,12.5z M18.5,2.5L18.5,2.5L18.5,2.5z"},null,-1),Yt=[qt,Wt];function Jt(s,e){return a(),l("svg",Rt,Yt)}const Xt=m(Kt,[["render",Jt]]),z=g({__name:"VPLink",props:{tag:{},href:{},noIcon:{type:Boolean},target:{},rel:{}},setup(s){const e=s,t=b(()=>e.tag??(e.href?"a":"span")),n=b(()=>e.href&&Ve.test(e.href));return(o,i)=>(a(),$(x(t.value),{class:I(["VPLink",{link:o.href,"vp-external-link-icon":n.value,"no-icon":o.noIcon}]),href:o.href?r(_e)(o.href):void 0,target:o.target??(n.value?"_blank":void 0),rel:o.rel??(n.value?"noreferrer":void 0)},{default:p(()=>[d(o.$slots,"default")]),_:3},8,["class","href","target","rel"]))}}),Zt={class:"VPLastUpdated"},Qt=["datetime"],es=g({__name:"VPDocFooterLastUpdated",setup(s){const{theme:e,page:t,frontmatter:n,lang:o}=P(),i=b(()=>new Date(n.value.lastUpdated??t.value.lastUpdated)),c=b(()=>i.value.toISOString()),h=M("");return G(()=>{Q(()=>{var v,k,w;h.value=new Intl.DateTimeFormat((k=(v=e.value.lastUpdated)==null?void 0:v.formatOptions)!=null&&k.forceLocale?o.value:void 0,((w=e.value.lastUpdated)==null?void 0:w.formatOptions)??{dateStyle:"short",timeStyle:"short"}).format(i.value)})}),(v,k)=>{var w;return a(),l("p",Zt,[H(L(((w=r(e).lastUpdated)==null?void 0:w.text)||r(e).lastUpdatedText||"Last updated")+": ",1),u("time",{datetime:c.value},L(h.value),9,Qt)])}}}),ts=m(es,[["__scopeId","data-v-7e05ebdb"]]),ss={key:0,class:"VPDocFooter"},ns={key:0,class:"edit-info"},os={key:0,class:"edit-link"},as={key:1,class:"last-updated"},rs={key:1,class:"prev-next"},is={class:"pager"},ls=["innerHTML"],cs=["innerHTML"],us={class:"pager"},ds=["innerHTML"],vs=["innerHTML"],hs=g({__name:"VPDocFooter",setup(s){const{theme:e,page:t,frontmatter:n}=P(),o=Gt(),i=jt(),c=b(()=>e.value.editLink&&n.value.editLink!==!1),h=b(()=>t.value.lastUpdated&&n.value.lastUpdated!==!1),v=b(()=>c.value||h.value||i.value.prev||i.value.next);return(k,w)=>{var y,V,S,N;return v.value?(a(),l("footer",ss,[d(k.$slots,"doc-footer-before",{},void 0,!0),c.value||h.value?(a(),l("div",ns,[c.value?(a(),l("div",os,[_(z,{class:"edit-link-button",href:r(o).url,"no-icon":!0},{default:p(()=>[_(Xt,{class:"edit-link-icon","aria-label":"edit icon"}),H(" "+L(r(o).text),1)]),_:1},8,["href"])])):f("",!0),h.value?(a(),l("div",as,[_(ts)])):f("",!0)])):f("",!0),(y=r(i).prev)!=null&&y.link||(V=r(i).next)!=null&&V.link?(a(),l("nav",rs,[u("div",is,[(S=r(i).prev)!=null&&S.link?(a(),$(z,{key:0,class:"pager-link prev",href:r(i).prev.link},{default:p(()=>{var B;return[u("span",{class:"desc",innerHTML:((B=r(e).docFooter)==null?void 0:B.prev)||"Previous page"},null,8,ls),u("span",{class:"title",innerHTML:r(i).prev.text},null,8,cs)]}),_:1},8,["href"])):f("",!0)]),u("div",us,[(N=r(i).next)!=null&&N.link?(a(),$(z,{key:0,class:"pager-link next",href:r(i).next.link},{default:p(()=>{var B;return[u("span",{class:"desc",innerHTML:((B=r(e).docFooter)==null?void 0:B.next)||"Next page"},null,8,ds),u("span",{class:"title",innerHTML:r(i).next.text},null,8,vs)]}),_:1},8,["href"])):f("",!0)])])):f("",!0)])):f("",!0)}}}),ps=m(hs,[["__scopeId","data-v-48f9bb55"]]),_s=s=>(E("data-v-39a288b8"),s=s(),D(),s),fs={class:"container"},ms=_s(()=>u("div",{class:"aside-curtain"},null,-1)),gs={class:"aside-container"},ks={class:"aside-content"},$s={class:"content"},bs={class:"content-container"},ys={class:"main"},ws=g({__name:"VPDoc",setup(s){const{theme:e}=P(),t=te(),{hasSidebar:n,hasAside:o,leftAside:i}=F(),c=b(()=>t.path.replace(/[./]+/g,"_").replace(/_html$/,""));return(h,v)=>{const k=K("Content");return a(),l("div",{class:I(["VPDoc",{"has-sidebar":r(n),"has-aside":r(o)}])},[d(h.$slots,"doc-top",{},void 0,!0),u("div",fs,[r(o)?(a(),l("div",{key:0,class:I(["aside",{"left-aside":r(i)}])},[ms,u("div",gs,[u("div",ks,[_(Ut,null,{"aside-top":p(()=>[d(h.$slots,"aside-top",{},void 0,!0)]),"aside-bottom":p(()=>[d(h.$slots,"aside-bottom",{},void 0,!0)]),"aside-outline-before":p(()=>[d(h.$slots,"aside-outline-before",{},void 0,!0)]),"aside-outline-after":p(()=>[d(h.$slots,"aside-outline-after",{},void 0,!0)]),"aside-ads-before":p(()=>[d(h.$slots,"aside-ads-before",{},void 0,!0)]),"aside-ads-after":p(()=>[d(h.$slots,"aside-ads-after",{},void 0,!0)]),_:3})])])],2)):f("",!0),u("div",$s,[u("div",bs,[d(h.$slots,"doc-before",{},void 0,!0),u("main",ys,[_(k,{class:I(["vp-doc",[c.value,r(e).externalLinkIcon&&"external-link-icon-enabled"]])},null,8,["class"])]),_(ps,null,{"doc-footer-before":p(()=>[d(h.$slots,"doc-footer-before",{},void 0,!0)]),_:3}),d(h.$slots,"doc-after",{},void 0,!0)])])]),d(h.$slots,"doc-bottom",{},void 0,!0)],2)}}}),Ps=m(ws,[["__scopeId","data-v-39a288b8"]]),Vs=g({__name:"VPButton",props:{tag:{},size:{default:"medium"},theme:{default:"brand"},text:{},href:{}},setup(s){const e=s,t=b(()=>e.href&&Ve.test(e.href)),n=b(()=>e.tag||e.href?"a":"button");return(o,i)=>(a(),$(x(n.value),{class:I(["VPButton",[o.size,o.theme]]),href:o.href?r(_e)(o.href):void 0,target:t.value?"_blank":void 0,rel:t.value?"noreferrer":void 0},{default:p(()=>[H(L(o.text),1)]),_:1},8,["class","href","target","rel"]))}}),Ls=m(Vs,[["__scopeId","data-v-c1c5efc1"]]),Ss=["src","alt"],Ms=g({inheritAttrs:!1,__name:"VPImage",props:{image:{},alt:{}},setup(s){return(e,t)=>{const n=K("VPImage",!0);return e.image?(a(),l(T,{key:0},[typeof e.image=="string"||"src"in e.image?(a(),l("img",J({key:0,class:"VPImage"},typeof e.image=="string"?e.$attrs:{...e.image,...e.$attrs},{src:r(he)(typeof e.image=="string"?e.image:e.image.src),alt:e.alt??(typeof e.image=="string"?"":e.image.alt||"")}),null,16,Ss)):(a(),l(T,{key:1},[_(n,J({class:"dark",image:e.image.dark,alt:e.image.alt},e.$attrs),null,16,["image","alt"]),_(n,J({class:"light",image:e.image.light,alt:e.image.alt},e.$attrs),null,16,["image","alt"])],64))],64)):f("",!0)}}}),Z=m(Ms,[["__scopeId","data-v-8426fc1a"]]),Cs=s=>(E("data-v-da5d1713"),s=s(),D(),s),Ts={class:"container"},Is={class:"main"},Ns={key:0,class:"name"},Bs=["innerHTML"],As=["innerHTML"],Hs=["innerHTML"],zs={key:0,class:"actions"},Es={key:0,class:"image"},Ds={class:"image-container"},Fs=Cs(()=>u("div",{class:"image-bg"},null,-1)),Os=g({__name:"VPHero",props:{name:{},text:{},tagline:{},image:{},actions:{}},setup(s){const e=se("hero-image-slot-exists");return(t,n)=>(a(),l("div",{class:I(["VPHero",{"has-image":t.image||r(e)}])},[u("div",Ts,[u("div",Is,[d(t.$slots,"home-hero-info",{},()=>[t.name?(a(),l("h1",Ns,[u("span",{innerHTML:t.name,class:"clip"},null,8,Bs)])):f("",!0),t.text?(a(),l("p",{key:1,innerHTML:t.text,class:"text"},null,8,As)):f("",!0),t.tagline?(a(),l("p",{key:2,innerHTML:t.tagline,class:"tagline"},null,8,Hs)):f("",!0)],!0),t.actions?(a(),l("div",zs,[(a(!0),l(T,null,A(t.actions,o=>(a(),l("div",{key:o.link,class:"action"},[_(Ls,{tag:"a",size:"medium",theme:o.theme,text:o.text,href:o.link},null,8,["theme","text","href"])]))),128))])):f("",!0)]),t.image||r(e)?(a(),l("div",Es,[u("div",Ds,[Fs,d(t.$slots,"home-hero-image",{},()=>[t.image?(a(),$(Z,{key:0,class:"image-src",image:t.image},null,8,["image"])):f("",!0)],!0)])])):f("",!0)])],2))}}),xs=m(Os,[["__scopeId","data-v-da5d1713"]]),Us=g({__name:"VPHomeHero",setup(s){const{frontmatter:e}=P();return(t,n)=>r(e).hero?(a(),$(xs,{key:0,class:"VPHomeHero",name:r(e).hero.name,text:r(e).hero.text,tagline:r(e).hero.tagline,image:r(e).hero.image,actions:r(e).hero.actions},{"home-hero-info":p(()=>[d(t.$slots,"home-hero-info")]),"home-hero-image":p(()=>[d(t.$slots,"home-hero-image")]),_:3},8,["name","text","tagline","image","actions"])):f("",!0)}}),Gs={},js={xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 24 24"},Ks=u("path",{d:"M19.9,12.4c0.1-0.2,0.1-0.5,0-0.8c-0.1-0.1-0.1-0.2-0.2-0.3l-7-7c-0.4-0.4-1-0.4-1.4,0s-0.4,1,0,1.4l5.3,5.3H5c-0.6,0-1,0.4-1,1s0.4,1,1,1h11.6l-5.3,5.3c-0.4,0.4-0.4,1,0,1.4c0.2,0.2,0.5,0.3,0.7,0.3s0.5-0.1,0.7-0.3l7-7C19.8,12.6,19.9,12.5,19.9,12.4z"},null,-1),Rs=[Ks];function qs(s,e){return a(),l("svg",js,Rs)}const Ws=m(Gs,[["render",qs]]),Ys={class:"box"},Js={key:0,class:"icon"},Xs=["innerHTML"],Zs=["innerHTML"],Qs=["innerHTML"],en={key:4,class:"link-text"},tn={class:"link-text-value"},sn=g({__name:"VPFeature",props:{icon:{},title:{},details:{},link:{},linkText:{},rel:{},target:{}},setup(s){return(e,t)=>(a(),$(z,{class:"VPFeature",href:e.link,rel:e.rel,target:e.target,"no-icon":!0,tag:e.link?"a":"div"},{default:p(()=>[u("article",Ys,[typeof e.icon=="object"&&e.icon.wrap?(a(),l("div",Js,[_(Z,{image:e.icon,alt:e.icon.alt,height:e.icon.height||48,width:e.icon.width||48},null,8,["image","alt","height","width"])])):typeof e.icon=="object"?(a(),$(Z,{key:1,image:e.icon,alt:e.icon.alt,height:e.icon.height||48,width:e.icon.width||48},null,8,["image","alt","height","width"])):e.icon?(a(),l("div",{key:2,class:"icon",innerHTML:e.icon},null,8,Xs)):f("",!0),u("h2",{class:"title",innerHTML:e.title},null,8,Zs),e.details?(a(),l("p",{key:3,class:"details",innerHTML:e.details},null,8,Qs)):f("",!0),e.linkText?(a(),l("div",en,[u("p",tn,[H(L(e.linkText)+" ",1),_(Ws,{class:"link-text-icon"})])])):f("",!0)])]),_:1},8,["href","rel","target","tag"]))}}),nn=m(sn,[["__scopeId","data-v-33204567"]]),on={key:0,class:"VPFeatures"},an={class:"container"},rn={class:"items"},ln=g({__name:"VPFeatures",props:{features:{}},setup(s){const e=s,t=b(()=>{const n=e.features.length;if(n){if(n===2)return"grid-2";if(n===3)return"grid-3";if(n%3===0)return"grid-6";if(n>3)return"grid-4"}else return});return(n,o)=>n.features?(a(),l("div",on,[u("div",an,[u("div",rn,[(a(!0),l(T,null,A(n.features,i=>(a(),l("div",{key:i.title,class:I(["item",[t.value]])},[_(nn,{icon:i.icon,title:i.title,details:i.details,link:i.link,"link-text":i.linkText,rel:i.rel,target:i.target},null,8,["icon","title","details","link","link-text","rel","target"])],2))),128))])])])):f("",!0)}}),cn=m(ln,[["__scopeId","data-v-a6181336"]]),un=g({__name:"VPHomeFeatures",setup(s){const{frontmatter:e}=P();return(t,n)=>r(e).features?(a(),$(cn,{key:0,class:"VPHomeFeatures",features:r(e).features},null,8,["features"])):f("",!0)}}),dn={class:"VPHome"},vn=g({__name:"VPHome",setup(s){return(e,t)=>{const n=K("Content");return a(),l("div",dn,[d(e.$slots,"home-hero-before",{},void 0,!0),_(Us,null,{"home-hero-info":p(()=>[d(e.$slots,"home-hero-info",{},void 0,!0)]),"home-hero-image":p(()=>[d(e.$slots,"home-hero-image",{},void 0,!0)]),_:3}),d(e.$slots,"home-hero-after",{},void 0,!0),d(e.$slots,"home-features-before",{},void 0,!0),_(un),d(e.$slots,"home-features-after",{},void 0,!0),_(n)])}}}),hn=m(vn,[["__scopeId","data-v-d82743a8"]]),pn={},_n={class:"VPPage"};function fn(s,e){const t=K("Content");return a(),l("div",_n,[d(s.$slots,"page-top"),_(t),d(s.$slots,"page-bottom")])}const mn=m(pn,[["render",fn]]),gn=g({__name:"VPContent",setup(s){const{page:e,frontmatter:t}=P(),{hasSidebar:n}=F();return(o,i)=>(a(),l("div",{class:I(["VPContent",{"has-sidebar":r(n),"is-home":r(t).layout==="home"}]),id:"VPContent"},[r(e).isNotFound?d(o.$slots,"not-found",{key:0},()=>[_(mt)],!0):r(t).layout==="page"?(a(),$(mn,{key:1},{"page-top":p(()=>[d(o.$slots,"page-top",{},void 0,!0)]),"page-bottom":p(()=>[d(o.$slots,"page-bottom",{},void 0,!0)]),_:3})):r(t).layout==="home"?(a(),$(hn,{key:2},{"home-hero-before":p(()=>[d(o.$slots,"home-hero-before",{},void 0,!0)]),"home-hero-info":p(()=>[d(o.$slots,"home-hero-info",{},void 0,!0)]),"home-hero-image":p(()=>[d(o.$slots,"home-hero-image",{},void 0,!0)]),"home-hero-after":p(()=>[d(o.$slots,"home-hero-after",{},void 0,!0)]),"home-features-before":p(()=>[d(o.$slots,"home-features-before",{},void 0,!0)]),"home-features-after":p(()=>[d(o.$slots,"home-features-after",{},void 0,!0)]),_:3})):r(t).layout&&r(t).layout!=="doc"?(a(),$(x(r(t).layout),{key:3})):(a(),$(Ps,{key:4},{"doc-top":p(()=>[d(o.$slots,"doc-top",{},void 0,!0)]),"doc-bottom":p(()=>[d(o.$slots,"doc-bottom",{},void 0,!0)]),"doc-footer-before":p(()=>[d(o.$slots,"doc-footer-before",{},void 0,!0)]),"doc-before":p(()=>[d(o.$slots,"doc-before",{},void 0,!0)]),"doc-after":p(()=>[d(o.$slots,"doc-after",{},void 0,!0)]),"aside-top":p(()=>[d(o.$slots,"aside-top",{},void 0,!0)]),"aside-outline-before":p(()=>[d(o.$slots,"aside-outline-before",{},void 0,!0)]),"aside-outline-after":p(()=>[d(o.$slots,"aside-outline-after",{},void 0,!0)]),"aside-ads-before":p(()=>[d(o.$slots,"aside-ads-before",{},void 0,!0)]),"aside-ads-after":p(()=>[d(o.$slots,"aside-ads-after",{},void 0,!0)]),"aside-bottom":p(()=>[d(o.$slots,"aside-bottom",{},void 0,!0)]),_:3}))],2))}}),kn=m(gn,[["__scopeId","data-v-669faec9"]]),$n={class:"container"},bn=["innerHTML"],yn=["innerHTML"],wn=g({__name:"VPFooter",setup(s){const{theme:e,frontmatter:t}=P(),{hasSidebar:n}=F();return(o,i)=>r(e).footer&&r(t).footer!==!1?(a(),l("footer",{key:0,class:I(["VPFooter",{"has-sidebar":r(n)}])},[u("div",$n,[r(e).footer.message?(a(),l("p",{key:0,class:"message",innerHTML:r(e).footer.message},null,8,bn)):f("",!0),r(e).footer.copyright?(a(),l("p",{key:1,class:"copyright",innerHTML:r(e).footer.copyright},null,8,yn)):f("",!0)])],2)):f("",!0)}}),Pn=m(wn,[["__scopeId","data-v-e315a0ad"]]);function Ne(){const{theme:s,frontmatter:e}=P(),t=Pe([]),n=b(()=>t.value.length>0);return ee(()=>{t.value=me(e.value.outline??s.value.outline)}),{headers:t,hasLocalNav:n}}const Vn={},Ln={xmlns:"http://www.w3.org/2000/svg","aria-hidden":"true",focusable:"false",viewBox:"0 0 24 24"},Sn=u("path",{d:"M9,19c-0.3,0-0.5-0.1-0.7-0.3c-0.4-0.4-0.4-1,0-1.4l5.3-5.3L8.3,6.7c-0.4-0.4-0.4-1,0-1.4s1-0.4,1.4,0l6,6c0.4,0.4,0.4,1,0,1.4l-6,6C9.5,18.9,9.3,19,9,19z"},null,-1),Mn=[Sn];function Cn(s,e){return a(),l("svg",Ln,Mn)}const Be=m(Vn,[["render",Cn]]),Tn={class:"header"},In={class:"outline"},Nn=g({__name:"VPLocalNavOutlineDropdown",props:{headers:{},navHeight:{}},setup(s){const e=s,{theme:t}=P(),n=M(!1),o=M(0),i=M(),c=M();Ke(i,()=>{n.value=!1}),le("Escape",()=>{n.value=!1}),ee(()=>{n.value=!1});function h(){n.value=!n.value,o.value=window.innerHeight+Math.min(window.scrollY-e.navHeight,0)}function v(w){w.target.classList.contains("outline-link")&&(c.value&&(c.value.style.transition="none"),qe(()=>{n.value=!1}))}function k(){n.value=!1,window.scrollTo({top:0,left:0,behavior:"smooth"})}return(w,y)=>(a(),l("div",{class:"VPLocalNavOutlineDropdown",style:Re({"--vp-vh":o.value+"px"}),ref_key:"main",ref:i},[w.headers.length>0?(a(),l("button",{key:0,onClick:h,class:I({open:n.value})},[H(L(r(Te)(r(t)))+" ",1),_(Be,{class:"icon"})],2)):(a(),l("button",{key:1,onClick:k},L(r(t).returnToTopLabel||"Return to top"),1)),_(ve,{name:"flyout"},{default:p(()=>[n.value?(a(),l("div",{key:0,ref_key:"items",ref:c,class:"items",onClick:v},[u("div",Tn,[u("a",{class:"top-link",href:"#",onClick:k},L(r(t).returnToTopLabel||"Return to top"),1)]),u("div",In,[_(Ie,{headers:w.headers},null,8,["headers"])])],512)):f("",!0)]),_:1})],4))}}),Bn=m(Nn,[["__scopeId","data-v-af18c0d5"]]),An={},Hn={xmlns:"http://www.w3.org/2000/svg","aria-hidden":"true",focusable:"false",viewBox:"0 0 24 24"},zn=u("path",{d:"M17,11H3c-0.6,0-1-0.4-1-1s0.4-1,1-1h14c0.6,0,1,0.4,1,1S17.6,11,17,11z"},null,-1),En=u("path",{d:"M21,7H3C2.4,7,2,6.6,2,6s0.4-1,1-1h18c0.6,0,1,0.4,1,1S21.6,7,21,7z"},null,-1),Dn=u("path",{d:"M21,15H3c-0.6,0-1-0.4-1-1s0.4-1,1-1h18c0.6,0,1,0.4,1,1S21.6,15,21,15z"},null,-1),Fn=u("path",{d:"M17,19H3c-0.6,0-1-0.4-1-1s0.4-1,1-1h14c0.6,0,1,0.4,1,1S17.6,19,17,19z"},null,-1),On=[zn,En,Dn,Fn];function xn(s,e){return a(),l("svg",Hn,On)}const Un=m(An,[["render",xn]]),Gn={class:"container"},jn=["aria-expanded"],Kn={class:"menu-text"},Rn=g({__name:"VPLocalNav",props:{open:{type:Boolean}},emits:["open-menu"],setup(s){const{theme:e,frontmatter:t}=P(),{hasSidebar:n}=F(),{headers:o}=Ne(),{y:i}=Le(),c=M(0);G(()=>{c.value=parseInt(getComputedStyle(document.documentElement).getPropertyValue("--vp-nav-height"))}),ee(()=>{o.value=me(t.value.outline??e.value.outline)});const h=b(()=>o.value.length===0),v=b(()=>h.value&&!n.value),k=b(()=>({VPLocalNav:!0,"has-sidebar":n.value,empty:h.value,fixed:v.value}));return(w,y)=>r(t).layout!=="home"&&(!v.value||r(i)>=c.value)?(a(),l("div",{key:0,class:I(k.value)},[u("div",Gn,[r(n)?(a(),l("button",{key:0,class:"menu","aria-expanded":w.open,"aria-controls":"VPSidebarNav",onClick:y[0]||(y[0]=V=>w.$emit("open-menu"))},[_(Un,{class:"menu-icon"}),u("span",Kn,L(r(e).sidebarMenuLabel||"Menu"),1)],8,jn)):f("",!0),_(Bn,{headers:r(o),navHeight:c.value},null,8,["headers","navHeight"])])],2)):f("",!0)}}),qn=m(Rn,[["__scopeId","data-v-0282ae07"]]);function Wn(){const s=M(!1);function e(){s.value=!0,window.addEventListener("resize",o)}function t(){s.value=!1,window.removeEventListener("resize",o)}function n(){s.value?t():e()}function o(){window.outerWidth>=768&&t()}const i=te();return j(()=>i.path,t),{isScreenOpen:s,openScreen:e,closeScreen:t,toggleScreen:n}}const Yn={},Jn={class:"VPSwitch",type:"button",role:"switch"},Xn={class:"check"},Zn={key:0,class:"icon"};function Qn(s,e){return a(),l("button",Jn,[u("span",Xn,[s.$slots.default?(a(),l("span",Zn,[d(s.$slots,"default",{},void 0,!0)])):f("",!0)])])}const eo=m(Yn,[["render",Qn],["__scopeId","data-v-b1685198"]]),to={},so={xmlns:"http://www.w3.org/2000/svg","aria-hidden":"true",focusable:"false",viewBox:"0 0 24 24"},no=u("path",{d:"M12.1,22c-0.3,0-0.6,0-0.9,0c-5.5-0.5-9.5-5.4-9-10.9c0.4-4.8,4.2-8.6,9-9c0.4,0,0.8,0.2,1,0.5c0.2,0.3,0.2,0.8-0.1,1.1c-2,2.7-1.4,6.4,1.3,8.4c2.1,1.6,5,1.6,7.1,0c0.3-0.2,0.7-0.3,1.1-0.1c0.3,0.2,0.5,0.6,0.5,1c-0.2,2.7-1.5,5.1-3.6,6.8C16.6,21.2,14.4,22,12.1,22zM9.3,4.4c-2.9,1-5,3.6-5.2,6.8c-0.4,4.4,2.8,8.3,7.2,8.7c2.1,0.2,4.2-0.4,5.8-1.8c1.1-0.9,1.9-2.1,2.4-3.4c-2.5,0.9-5.3,0.5-7.5-1.1C9.2,11.4,8.1,7.7,9.3,4.4z"},null,-1),oo=[no];function ao(s,e){return a(),l("svg",so,oo)}const ro=m(to,[["render",ao]]),io={},lo={xmlns:"http://www.w3.org/2000/svg","aria-hidden":"true",focusable:"false",viewBox:"0 0 24 24"},co=We('',9),uo=[co];function vo(s,e){return a(),l("svg",lo,uo)}const ho=m(io,[["render",vo]]),po=g({__name:"VPSwitchAppearance",setup(s){const{isDark:e,theme:t}=P(),n=se("toggle-appearance",()=>{e.value=!e.value}),o=b(()=>e.value?t.value.lightModeSwitchTitle||"Switch to light theme":t.value.darkModeSwitchTitle||"Switch to dark theme");return(i,c)=>(a(),$(eo,{title:o.value,class:"VPSwitchAppearance","aria-checked":r(e),onClick:r(n)},{default:p(()=>[_(ho,{class:"sun"}),_(ro,{class:"moon"})]),_:1},8,["title","aria-checked","onClick"]))}}),ge=m(po,[["__scopeId","data-v-1736f215"]]),_o={key:0,class:"VPNavBarAppearance"},fo=g({__name:"VPNavBarAppearance",setup(s){const{site:e}=P();return(t,n)=>r(e).appearance&&r(e).appearance!=="force-dark"?(a(),l("div",_o,[_(ge)])):f("",!0)}}),mo=m(fo,[["__scopeId","data-v-e6aabb21"]]),ke=M();let Ae=!1,re=0;function go(s){const e=M(!1);if(q){!Ae&&ko(),re++;const t=j(ke,n=>{var o,i,c;n===s.el.value||(o=s.el.value)!=null&&o.contains(n)?(e.value=!0,(i=s.onFocus)==null||i.call(s)):(e.value=!1,(c=s.onBlur)==null||c.call(s))});pe(()=>{t(),re--,re||$o()})}return Ye(e)}function ko(){document.addEventListener("focusin",He),Ae=!0,ke.value=document.activeElement}function $o(){document.removeEventListener("focusin",He)}function He(){ke.value=document.activeElement}const bo={},yo={xmlns:"http://www.w3.org/2000/svg","aria-hidden":"true",focusable:"false",viewBox:"0 0 24 24"},wo=u("path",{d:"M12,16c-0.3,0-0.5-0.1-0.7-0.3l-6-6c-0.4-0.4-0.4-1,0-1.4s1-0.4,1.4,0l5.3,5.3l5.3-5.3c0.4-0.4,1-0.4,1.4,0s0.4,1,0,1.4l-6,6C12.5,15.9,12.3,16,12,16z"},null,-1),Po=[wo];function Vo(s,e){return a(),l("svg",yo,Po)}const ze=m(bo,[["render",Vo]]),Lo={},So={xmlns:"http://www.w3.org/2000/svg","aria-hidden":"true",focusable:"false",viewBox:"0 0 24 24"},Mo=u("circle",{cx:"12",cy:"12",r:"2"},null,-1),Co=u("circle",{cx:"19",cy:"12",r:"2"},null,-1),To=u("circle",{cx:"5",cy:"12",r:"2"},null,-1),Io=[Mo,Co,To];function No(s,e){return a(),l("svg",So,Io)}const Bo=m(Lo,[["render",No]]),Ao={class:"VPMenuLink"},Ho=g({__name:"VPMenuLink",props:{item:{}},setup(s){const{page:e}=P();return(t,n)=>(a(),l("div",Ao,[_(z,{class:I({active:r(U)(r(e).relativePath,t.item.activeMatch||t.item.link,!!t.item.activeMatch)}),href:t.item.link,target:t.item.target,rel:t.item.rel},{default:p(()=>[H(L(t.item.text),1)]),_:1},8,["class","href","target","rel"])]))}}),ne=m(Ho,[["__scopeId","data-v-43f1e123"]]),zo={class:"VPMenuGroup"},Eo={key:0,class:"title"},Do=g({__name:"VPMenuGroup",props:{text:{},items:{}},setup(s){return(e,t)=>(a(),l("div",zo,[e.text?(a(),l("p",Eo,L(e.text),1)):f("",!0),(a(!0),l(T,null,A(e.items,n=>(a(),l(T,null,["link"in n?(a(),$(ne,{key:0,item:n},null,8,["item"])):f("",!0)],64))),256))]))}}),Fo=m(Do,[["__scopeId","data-v-69e747b5"]]),Oo={class:"VPMenu"},xo={key:0,class:"items"},Uo=g({__name:"VPMenu",props:{items:{}},setup(s){return(e,t)=>(a(),l("div",Oo,[e.items?(a(),l("div",xo,[(a(!0),l(T,null,A(e.items,n=>(a(),l(T,{key:n.text},["link"in n?(a(),$(ne,{key:0,item:n},null,8,["item"])):(a(),$(Fo,{key:1,text:n.text,items:n.items},null,8,["text","items"]))],64))),128))])):f("",!0),d(e.$slots,"default",{},void 0,!0)]))}}),Go=m(Uo,[["__scopeId","data-v-e7ea1737"]]),jo=["aria-expanded","aria-label"],Ko={key:0,class:"text"},Ro=["innerHTML"],qo={class:"menu"},Wo=g({__name:"VPFlyout",props:{icon:{},button:{},label:{},items:{}},setup(s){const e=M(!1),t=M();go({el:t,onBlur:n});function n(){e.value=!1}return(o,i)=>(a(),l("div",{class:"VPFlyout",ref_key:"el",ref:t,onMouseenter:i[1]||(i[1]=c=>e.value=!0),onMouseleave:i[2]||(i[2]=c=>e.value=!1)},[u("button",{type:"button",class:"button","aria-haspopup":"true","aria-expanded":e.value,"aria-label":o.label,onClick:i[0]||(i[0]=c=>e.value=!e.value)},[o.button||o.icon?(a(),l("span",Ko,[o.icon?(a(),$(x(o.icon),{key:0,class:"option-icon"})):f("",!0),o.button?(a(),l("span",{key:1,innerHTML:o.button},null,8,Ro)):f("",!0),_(ze,{class:"text-icon"})])):(a(),$(Bo,{key:1,class:"icon"}))],8,jo),u("div",qo,[_(Go,{items:o.items},{default:p(()=>[d(o.$slots,"default",{},void 0,!0)]),_:3},8,["items"])])],544))}}),$e=m(Wo,[["__scopeId","data-v-9c007e85"]]),Yo={discord:'Discord',facebook:'Facebook',github:'GitHub',instagram:'Instagram',linkedin:'LinkedIn',mastodon:'Mastodon',npm:'npm',slack:'Slack',twitter:'Twitter',x:'X',youtube:'YouTube'},Jo=["href","aria-label","innerHTML"],Xo=g({__name:"VPSocialLink",props:{icon:{},link:{},ariaLabel:{}},setup(s){const e=s,t=b(()=>typeof e.icon=="object"?e.icon.svg:Yo[e.icon]);return(n,o)=>(a(),l("a",{class:"VPSocialLink no-icon",href:n.link,"aria-label":n.ariaLabel??(typeof n.icon=="string"?n.icon:""),target:"_blank",rel:"noopener",innerHTML:t.value},null,8,Jo))}}),Zo=m(Xo,[["__scopeId","data-v-f80f8133"]]),Qo={class:"VPSocialLinks"},ea=g({__name:"VPSocialLinks",props:{links:{}},setup(s){return(e,t)=>(a(),l("div",Qo,[(a(!0),l(T,null,A(e.links,({link:n,icon:o,ariaLabel:i})=>(a(),$(Zo,{key:n,icon:o,link:n,ariaLabel:i},null,8,["icon","link","ariaLabel"]))),128))]))}}),be=m(ea,[["__scopeId","data-v-7bc22406"]]),ta={key:0,class:"group translations"},sa={class:"trans-title"},na={key:1,class:"group"},oa={class:"item appearance"},aa={class:"label"},ra={class:"appearance-action"},ia={key:2,class:"group"},la={class:"item social-links"},ca=g({__name:"VPNavBarExtra",setup(s){const{site:e,theme:t}=P(),{localeLinks:n,currentLang:o}=W({correspondingLink:!0}),i=b(()=>n.value.length&&o.value.label||e.value.appearance||t.value.socialLinks);return(c,h)=>i.value?(a(),$($e,{key:0,class:"VPNavBarExtra",label:"extra navigation"},{default:p(()=>[r(n).length&&r(o).label?(a(),l("div",ta,[u("p",sa,L(r(o).label),1),(a(!0),l(T,null,A(r(n),v=>(a(),$(ne,{key:v.link,item:v},null,8,["item"]))),128))])):f("",!0),r(e).appearance&&r(e).appearance!=="force-dark"?(a(),l("div",na,[u("div",oa,[u("p",aa,L(r(t).darkModeSwitchLabel||"Appearance"),1),u("div",ra,[_(ge)])])])):f("",!0),r(t).socialLinks?(a(),l("div",ia,[u("div",la,[_(be,{class:"social-links-list",links:r(t).socialLinks},null,8,["links"])])])):f("",!0)]),_:1})):f("",!0)}}),ua=m(ca,[["__scopeId","data-v-d0bd9dde"]]),da=s=>(E("data-v-e5dd9c1c"),s=s(),D(),s),va=["aria-expanded"],ha=da(()=>u("span",{class:"container"},[u("span",{class:"top"}),u("span",{class:"middle"}),u("span",{class:"bottom"})],-1)),pa=[ha],_a=g({__name:"VPNavBarHamburger",props:{active:{type:Boolean}},emits:["click"],setup(s){return(e,t)=>(a(),l("button",{type:"button",class:I(["VPNavBarHamburger",{active:e.active}]),"aria-label":"mobile navigation","aria-expanded":e.active,"aria-controls":"VPNavScreen",onClick:t[0]||(t[0]=n=>e.$emit("click"))},pa,10,va))}}),fa=m(_a,[["__scopeId","data-v-e5dd9c1c"]]),ma=["innerHTML"],ga=g({__name:"VPNavBarMenuLink",props:{item:{}},setup(s){const{page:e}=P();return(t,n)=>(a(),$(z,{class:I({VPNavBarMenuLink:!0,active:r(U)(r(e).relativePath,t.item.activeMatch||t.item.link,!!t.item.activeMatch)}),href:t.item.link,target:t.item.target,rel:t.item.rel,tabindex:"0"},{default:p(()=>[u("span",{innerHTML:t.item.text},null,8,ma)]),_:1},8,["class","href","target","rel"]))}}),ka=m(ga,[["__scopeId","data-v-42ef59de"]]),$a=g({__name:"VPNavBarMenuGroup",props:{item:{}},setup(s){const e=s,{page:t}=P(),n=i=>"link"in i?U(t.value.relativePath,i.link,!!e.item.activeMatch):i.items.some(n),o=b(()=>n(e.item));return(i,c)=>(a(),$($e,{class:I({VPNavBarMenuGroup:!0,active:r(U)(r(t).relativePath,i.item.activeMatch,!!i.item.activeMatch)||o.value}),button:i.item.text,items:i.item.items},null,8,["class","button","items"]))}}),ba=s=>(E("data-v-7f418b0f"),s=s(),D(),s),ya={key:0,"aria-labelledby":"main-nav-aria-label",class:"VPNavBarMenu"},wa=ba(()=>u("span",{id:"main-nav-aria-label",class:"visually-hidden"},"Main Navigation",-1)),Pa=g({__name:"VPNavBarMenu",setup(s){const{theme:e}=P();return(t,n)=>r(e).nav?(a(),l("nav",ya,[wa,(a(!0),l(T,null,A(r(e).nav,o=>(a(),l(T,{key:o.text},["link"in o?(a(),$(ka,{key:0,item:o},null,8,["item"])):(a(),$($a,{key:1,item:o},null,8,["item"]))],64))),128))])):f("",!0)}}),Va=m(Pa,[["__scopeId","data-v-7f418b0f"]]);function La(s){const{localeIndex:e,theme:t}=P();function n(o){var N,B,C;const i=o.split("."),c=(N=t.value.search)==null?void 0:N.options,h=c&&typeof c=="object",v=h&&((C=(B=c.locales)==null?void 0:B[e.value])==null?void 0:C.translations)||null,k=h&&c.translations||null;let w=v,y=k,V=s;const S=i.pop();for(const Y of i){let O=null;const R=V==null?void 0:V[Y];R&&(O=V=R);const oe=y==null?void 0:y[Y];oe&&(O=y=oe);const ae=w==null?void 0:w[Y];ae&&(O=w=ae),R||(V=O),oe||(y=O),ae||(w=O)}return(w==null?void 0:w[S])??(y==null?void 0:y[S])??(V==null?void 0:V[S])??""}return n}const Sa=["aria-label"],Ma={class:"DocSearch-Button-Container"},Ca=u("svg",{class:"DocSearch-Search-Icon",width:"20",height:"20",viewBox:"0 0 20 20","aria-label":"search icon"},[u("path",{d:"M14.386 14.386l4.0877 4.0877-4.0877-4.0877c-2.9418 2.9419-7.7115 2.9419-10.6533 0-2.9419-2.9418-2.9419-7.7115 0-10.6533 2.9418-2.9419 7.7115-2.9419 10.6533 0 2.9419 2.9418 2.9419 7.7115 0 10.6533z",stroke:"currentColor",fill:"none","fill-rule":"evenodd","stroke-linecap":"round","stroke-linejoin":"round"})],-1),Ta={class:"DocSearch-Button-Placeholder"},Ia=u("span",{class:"DocSearch-Button-Keys"},[u("kbd",{class:"DocSearch-Button-Key"}),u("kbd",{class:"DocSearch-Button-Key"},"K")],-1),ye=g({__name:"VPNavBarSearchButton",setup(s){const t=La({button:{buttonText:"Search",buttonAriaLabel:"Search"}});return(n,o)=>(a(),l("button",{type:"button",class:"DocSearch DocSearch-Button","aria-label":r(t)("button.buttonAriaLabel")},[u("span",Ma,[Ca,u("span",Ta,L(r(t)("button.buttonText")),1)]),Ia],8,Sa))}}),Na={class:"VPNavBarSearch"},Ba={id:"local-search"},Aa={key:1,id:"docsearch"},Ha=g({__name:"VPNavBarSearch",setup(s){const e=Je(()=>Xe(()=>import("./VPLocalSearchBox.pOJdOY9U.js"),__vite__mapDeps([0,1]))),t=()=>null,{theme:n}=P(),o=M(!1),i=M(!1);G(()=>{});function c(){o.value||(o.value=!0,setTimeout(h,16))}function h(){const y=new Event("keydown");y.key="k",y.metaKey=!0,window.dispatchEvent(y),setTimeout(()=>{document.querySelector(".DocSearch-Modal")||h()},16)}function v(y){const V=y.target,S=V.tagName;return V.isContentEditable||S==="INPUT"||S==="SELECT"||S==="TEXTAREA"}const k=M(!1);le("k",y=>{(y.ctrlKey||y.metaKey)&&(y.preventDefault(),k.value=!0)}),le("/",y=>{v(y)||(y.preventDefault(),k.value=!0)});const w="local";return(y,V)=>{var S;return a(),l("div",Na,[r(w)==="local"?(a(),l(T,{key:0},[k.value?(a(),$(r(e),{key:0,onClose:V[0]||(V[0]=N=>k.value=!1)})):f("",!0),u("div",Ba,[_(ye,{onClick:V[1]||(V[1]=N=>k.value=!0)})])],64)):r(w)==="algolia"?(a(),l(T,{key:1},[o.value?(a(),$(r(t),{key:0,algolia:((S=r(n).search)==null?void 0:S.options)??r(n).algolia,onVnodeBeforeMount:V[2]||(V[2]=N=>i.value=!0)},null,8,["algolia"])):f("",!0),i.value?f("",!0):(a(),l("div",Aa,[_(ye,{onClick:c})]))],64)):f("",!0)])}}}),za=g({__name:"VPNavBarSocialLinks",setup(s){const{theme:e}=P();return(t,n)=>r(e).socialLinks?(a(),$(be,{key:0,class:"VPNavBarSocialLinks",links:r(e).socialLinks},null,8,["links"])):f("",!0)}}),Ea=m(za,[["__scopeId","data-v-0394ad82"]]),Da=["href","rel","target"],Fa=g({__name:"VPNavBarTitle",setup(s){const{site:e,theme:t}=P(),{hasSidebar:n}=F(),{currentLang:o}=W(),i=b(()=>{var v;return typeof t.value.logoLink=="string"?t.value.logoLink:(v=t.value.logoLink)==null?void 0:v.link}),c=b(()=>{var v;return typeof t.value.logoLink=="string"||(v=t.value.logoLink)==null?void 0:v.rel}),h=b(()=>{var v;return typeof t.value.logoLink=="string"||(v=t.value.logoLink)==null?void 0:v.target});return(v,k)=>(a(),l("div",{class:I(["VPNavBarTitle",{"has-sidebar":r(n)}])},[u("a",{class:"title",href:i.value??r(_e)(r(o).link),rel:c.value,target:h.value},[d(v.$slots,"nav-bar-title-before",{},void 0,!0),r(t).logo?(a(),$(Z,{key:0,class:"logo",image:r(t).logo},null,8,["image"])):f("",!0),r(t).siteTitle?(a(),l(T,{key:1},[H(L(r(t).siteTitle),1)],64)):r(t).siteTitle===void 0?(a(),l(T,{key:2},[H(L(r(e).title),1)],64)):f("",!0),d(v.$slots,"nav-bar-title-after",{},void 0,!0)],8,Da)],2))}}),Oa=m(Fa,[["__scopeId","data-v-8460f0a8"]]),xa={},Ua={xmlns:"http://www.w3.org/2000/svg","aria-hidden":"true",focusable:"false",viewBox:"0 0 24 24"},Ga=u("path",{d:"M0 0h24v24H0z",fill:"none"},null,-1),ja=u("path",{d:" M12.87 15.07l-2.54-2.51.03-.03c1.74-1.94 2.98-4.17 3.71-6.53H17V4h-7V2H8v2H1v1.99h11.17C11.5 7.92 10.44 9.75 9 11.35 8.07 10.32 7.3 9.19 6.69 8h-2c.73 1.63 1.73 3.17 2.98 4.56l-5.09 5.02L4 19l5-5 3.11 3.11.76-2.04zM18.5 10h-2L12 22h2l1.12-3h4.75L21 22h2l-4.5-12zm-2.62 7l1.62-4.33L19.12 17h-3.24z ",class:"css-c4d79v"},null,-1),Ka=[Ga,ja];function Ra(s,e){return a(),l("svg",Ua,Ka)}const Ee=m(xa,[["render",Ra]]),qa={class:"items"},Wa={class:"title"},Ya=g({__name:"VPNavBarTranslations",setup(s){const{theme:e}=P(),{localeLinks:t,currentLang:n}=W({correspondingLink:!0});return(o,i)=>r(t).length&&r(n).label?(a(),$($e,{key:0,class:"VPNavBarTranslations",icon:Ee,label:r(e).langMenuLabel||"Change language"},{default:p(()=>[u("div",qa,[u("p",Wa,L(r(n).label),1),(a(!0),l(T,null,A(r(t),c=>(a(),$(ne,{key:c.link,item:c},null,8,["item"]))),128))])]),_:1},8,["label"])):f("",!0)}}),Ja=m(Ya,[["__scopeId","data-v-74abcbb9"]]),Xa=s=>(E("data-v-19c990f1"),s=s(),D(),s),Za={class:"wrapper"},Qa={class:"container"},er={class:"title"},tr={class:"content"},sr={class:"content-body"},nr=Xa(()=>u("div",{class:"divider"},[u("div",{class:"divider-line"})],-1)),or=g({__name:"VPNavBar",props:{isScreenOpen:{type:Boolean}},emits:["toggle-screen"],setup(s){const{y:e}=Le(),{hasSidebar:t}=F(),{hasLocalNav:n}=Ne(),{frontmatter:o}=P(),i=M({});return we(()=>{i.value={"has-sidebar":t.value,"has-local-nav":n.value,top:o.value.layout==="home"&&e.value===0}}),(c,h)=>(a(),l("div",{class:I(["VPNavBar",i.value])},[u("div",Za,[u("div",Qa,[u("div",er,[_(Oa,null,{"nav-bar-title-before":p(()=>[d(c.$slots,"nav-bar-title-before",{},void 0,!0)]),"nav-bar-title-after":p(()=>[d(c.$slots,"nav-bar-title-after",{},void 0,!0)]),_:3})]),u("div",tr,[u("div",sr,[d(c.$slots,"nav-bar-content-before",{},void 0,!0),_(Ha,{class:"search"}),_(Va,{class:"menu"}),_(Ja,{class:"translations"}),_(mo,{class:"appearance"}),_(Ea,{class:"social-links"}),_(ua,{class:"extra"}),d(c.$slots,"nav-bar-content-after",{},void 0,!0),_(fa,{class:"hamburger",active:c.isScreenOpen,onClick:h[0]||(h[0]=v=>c.$emit("toggle-screen"))},null,8,["active"])])])])]),nr],2))}}),ar=m(or,[["__scopeId","data-v-19c990f1"]]),rr={key:0,class:"VPNavScreenAppearance"},ir={class:"text"},lr=g({__name:"VPNavScreenAppearance",setup(s){const{site:e,theme:t}=P();return(n,o)=>r(e).appearance&&r(e).appearance!=="force-dark"?(a(),l("div",rr,[u("p",ir,L(r(t).darkModeSwitchLabel||"Appearance"),1),_(ge)])):f("",!0)}}),cr=m(lr,[["__scopeId","data-v-2d7af913"]]),ur=g({__name:"VPNavScreenMenuLink",props:{item:{}},setup(s){const e=se("close-screen");return(t,n)=>(a(),$(z,{class:"VPNavScreenMenuLink",href:t.item.link,target:t.item.target,rel:t.item.rel,onClick:r(e)},{default:p(()=>[H(L(t.item.text),1)]),_:1},8,["href","target","rel","onClick"]))}}),dr=m(ur,[["__scopeId","data-v-05f27b2a"]]),vr={},hr={xmlns:"http://www.w3.org/2000/svg","aria-hidden":"true",focusable:"false",viewBox:"0 0 24 24"},pr=u("path",{d:"M18.9,10.9h-6v-6c0-0.6-0.4-1-1-1s-1,0.4-1,1v6h-6c-0.6,0-1,0.4-1,1s0.4,1,1,1h6v6c0,0.6,0.4,1,1,1s1-0.4,1-1v-6h6c0.6,0,1-0.4,1-1S19.5,10.9,18.9,10.9z"},null,-1),_r=[pr];function fr(s,e){return a(),l("svg",hr,_r)}const mr=m(vr,[["render",fr]]),gr=g({__name:"VPNavScreenMenuGroupLink",props:{item:{}},setup(s){const e=se("close-screen");return(t,n)=>(a(),$(z,{class:"VPNavScreenMenuGroupLink",href:t.item.link,target:t.item.target,rel:t.item.rel,onClick:r(e)},{default:p(()=>[H(L(t.item.text),1)]),_:1},8,["href","target","rel","onClick"]))}}),De=m(gr,[["__scopeId","data-v-19976ae1"]]),kr={class:"VPNavScreenMenuGroupSection"},$r={key:0,class:"title"},br=g({__name:"VPNavScreenMenuGroupSection",props:{text:{},items:{}},setup(s){return(e,t)=>(a(),l("div",kr,[e.text?(a(),l("p",$r,L(e.text),1)):f("",!0),(a(!0),l(T,null,A(e.items,n=>(a(),$(De,{key:n.text,item:n},null,8,["item"]))),128))]))}}),yr=m(br,[["__scopeId","data-v-8133b170"]]),wr=["aria-controls","aria-expanded"],Pr=["innerHTML"],Vr=["id"],Lr={key:1,class:"group"},Sr=g({__name:"VPNavScreenMenuGroup",props:{text:{},items:{}},setup(s){const e=s,t=M(!1),n=b(()=>`NavScreenGroup-${e.text.replace(" ","-").toLowerCase()}`);function o(){t.value=!t.value}return(i,c)=>(a(),l("div",{class:I(["VPNavScreenMenuGroup",{open:t.value}])},[u("button",{class:"button","aria-controls":n.value,"aria-expanded":t.value,onClick:o},[u("span",{class:"button-text",innerHTML:i.text},null,8,Pr),_(mr,{class:"button-icon"})],8,wr),u("div",{id:n.value,class:"items"},[(a(!0),l(T,null,A(i.items,h=>(a(),l(T,{key:h.text},["link"in h?(a(),l("div",{key:h.text,class:"item"},[_(De,{item:h},null,8,["item"])])):(a(),l("div",Lr,[_(yr,{text:h.text,items:h.items},null,8,["text","items"])]))],64))),128))],8,Vr)],2))}}),Mr=m(Sr,[["__scopeId","data-v-65ef89ca"]]),Cr={key:0,class:"VPNavScreenMenu"},Tr=g({__name:"VPNavScreenMenu",setup(s){const{theme:e}=P();return(t,n)=>r(e).nav?(a(),l("nav",Cr,[(a(!0),l(T,null,A(r(e).nav,o=>(a(),l(T,{key:o.text},["link"in o?(a(),$(dr,{key:0,item:o},null,8,["item"])):(a(),$(Mr,{key:1,text:o.text||"",items:o.items},null,8,["text","items"]))],64))),128))])):f("",!0)}}),Ir=g({__name:"VPNavScreenSocialLinks",setup(s){const{theme:e}=P();return(t,n)=>r(e).socialLinks?(a(),$(be,{key:0,class:"VPNavScreenSocialLinks",links:r(e).socialLinks},null,8,["links"])):f("",!0)}}),Nr={class:"list"},Br=g({__name:"VPNavScreenTranslations",setup(s){const{localeLinks:e,currentLang:t}=W({correspondingLink:!0}),n=M(!1);function o(){n.value=!n.value}return(i,c)=>r(e).length&&r(t).label?(a(),l("div",{key:0,class:I(["VPNavScreenTranslations",{open:n.value}])},[u("button",{class:"title",onClick:o},[_(Ee,{class:"icon lang"}),H(" "+L(r(t).label)+" ",1),_(ze,{class:"icon chevron"})]),u("ul",Nr,[(a(!0),l(T,null,A(r(e),h=>(a(),l("li",{key:h.link,class:"item"},[_(z,{class:"link",href:h.link},{default:p(()=>[H(L(h.text),1)]),_:2},1032,["href"])]))),128))])],2)):f("",!0)}}),Ar=m(Br,[["__scopeId","data-v-d72aa483"]]),Hr={class:"container"},zr=g({__name:"VPNavScreen",props:{open:{type:Boolean}},setup(s){const e=M(null),t=Se(q?document.body:null);return(n,o)=>(a(),$(ve,{name:"fade",onEnter:o[0]||(o[0]=i=>t.value=!0),onAfterLeave:o[1]||(o[1]=i=>t.value=!1)},{default:p(()=>[n.open?(a(),l("div",{key:0,class:"VPNavScreen",ref_key:"screen",ref:e,id:"VPNavScreen"},[u("div",Hr,[d(n.$slots,"nav-screen-content-before",{},void 0,!0),_(Tr,{class:"menu"}),_(Ar,{class:"translations"}),_(cr,{class:"appearance"}),_(Ir,{class:"social-links"}),d(n.$slots,"nav-screen-content-after",{},void 0,!0)])],512)):f("",!0)]),_:3}))}}),Er=m(zr,[["__scopeId","data-v-cc5739dd"]]),Dr={key:0,class:"VPNav"},Fr=g({__name:"VPNav",setup(s){const{isScreenOpen:e,closeScreen:t,toggleScreen:n}=Wn(),{frontmatter:o}=P(),i=b(()=>o.value.navbar!==!1);return Me("close-screen",t),Q(()=>{q&&document.documentElement.classList.toggle("hide-nav",!i.value)}),(c,h)=>i.value?(a(),l("header",Dr,[_(ar,{"is-screen-open":r(e),onToggleScreen:r(n)},{"nav-bar-title-before":p(()=>[d(c.$slots,"nav-bar-title-before",{},void 0,!0)]),"nav-bar-title-after":p(()=>[d(c.$slots,"nav-bar-title-after",{},void 0,!0)]),"nav-bar-content-before":p(()=>[d(c.$slots,"nav-bar-content-before",{},void 0,!0)]),"nav-bar-content-after":p(()=>[d(c.$slots,"nav-bar-content-after",{},void 0,!0)]),_:3},8,["is-screen-open","onToggleScreen"]),_(Er,{open:r(e)},{"nav-screen-content-before":p(()=>[d(c.$slots,"nav-screen-content-before",{},void 0,!0)]),"nav-screen-content-after":p(()=>[d(c.$slots,"nav-screen-content-after",{},void 0,!0)]),_:3},8,["open"])])):f("",!0)}}),Or=m(Fr,[["__scopeId","data-v-ae24b3ad"]]),xr=s=>(E("data-v-e31bd47b"),s=s(),D(),s),Ur=["role","tabindex"],Gr=xr(()=>u("div",{class:"indicator"},null,-1)),jr={key:1,class:"items"},Kr=g({__name:"VPSidebarItem",props:{item:{},depth:{}},setup(s){const e=s,{collapsed:t,collapsible:n,isLink:o,isActiveLink:i,hasActiveLink:c,hasChildren:h,toggle:v}=bt(b(()=>e.item)),k=b(()=>h.value?"section":"div"),w=b(()=>o.value?"a":"div"),y=b(()=>h.value?e.depth+2===7?"p":`h${e.depth+2}`:"p"),V=b(()=>o.value?void 0:"button"),S=b(()=>[[`level-${e.depth}`],{collapsible:n.value},{collapsed:t.value},{"is-link":o.value},{"is-active":i.value},{"has-active":c.value}]);function N(C){"key"in C&&C.key!=="Enter"||!e.item.link&&v()}function B(){e.item.link&&v()}return(C,Y)=>{const O=K("VPSidebarItem",!0);return a(),$(x(k.value),{class:I(["VPSidebarItem",S.value])},{default:p(()=>[C.item.text?(a(),l("div",J({key:0,class:"item",role:V.value},Qe(C.item.items?{click:N,keydown:N}:{},!0),{tabindex:C.item.items&&0}),[Gr,C.item.link?(a(),$(z,{key:0,tag:w.value,class:"link",href:C.item.link,rel:C.item.rel,target:C.item.target},{default:p(()=>[(a(),$(x(y.value),{class:"text",innerHTML:C.item.text},null,8,["innerHTML"]))]),_:1},8,["tag","href","rel","target"])):(a(),$(x(y.value),{key:1,class:"text",innerHTML:C.item.text},null,8,["innerHTML"])),C.item.collapsed!=null?(a(),l("div",{key:2,class:"caret",role:"button","aria-label":"toggle section",onClick:B,onKeydown:Ze(B,["enter"]),tabindex:"0"},[_(Be,{class:"caret-icon"})],32)):f("",!0)],16,Ur)):f("",!0),C.item.items&&C.item.items.length?(a(),l("div",jr,[C.depth<5?(a(!0),l(T,{key:0},A(C.item.items,R=>(a(),$(O,{key:R.text,item:R,depth:C.depth+1},null,8,["item","depth"]))),128)):f("",!0)])):f("",!0)]),_:1},8,["class"])}}}),Rr=m(Kr,[["__scopeId","data-v-e31bd47b"]]),Fe=s=>(E("data-v-575e6a36"),s=s(),D(),s),qr=Fe(()=>u("div",{class:"curtain"},null,-1)),Wr={class:"nav",id:"VPSidebarNav","aria-labelledby":"sidebar-aria-label",tabindex:"-1"},Yr=Fe(()=>u("span",{class:"visually-hidden",id:"sidebar-aria-label"}," Sidebar Navigation ",-1)),Jr=g({__name:"VPSidebar",props:{open:{type:Boolean}},setup(s){const{sidebarGroups:e,hasSidebar:t}=F(),n=s,o=M(null),i=Se(q?document.body:null);return j([n,o],()=>{var c;n.open?(i.value=!0,(c=o.value)==null||c.focus()):i.value=!1},{immediate:!0,flush:"post"}),(c,h)=>r(t)?(a(),l("aside",{key:0,class:I(["VPSidebar",{open:c.open}]),ref_key:"navEl",ref:o,onClick:h[0]||(h[0]=et(()=>{},["stop"]))},[qr,u("nav",Wr,[Yr,d(c.$slots,"sidebar-nav-before",{},void 0,!0),(a(!0),l(T,null,A(r(e),v=>(a(),l("div",{key:v.text,class:"group"},[_(Rr,{item:v,depth:0},null,8,["item"])]))),128)),d(c.$slots,"sidebar-nav-after",{},void 0,!0)])],2)):f("",!0)}}),Xr=m(Jr,[["__scopeId","data-v-575e6a36"]]),Zr=g({__name:"VPSkipLink",setup(s){const e=te(),t=M();j(()=>e.path,()=>t.value.focus());function n({target:o}){const i=document.getElementById(decodeURIComponent(o.hash).slice(1));if(i){const c=()=>{i.removeAttribute("tabindex"),i.removeEventListener("blur",c)};i.setAttribute("tabindex","-1"),i.addEventListener("blur",c),i.focus(),window.scrollTo(0,0)}}return(o,i)=>(a(),l(T,null,[u("span",{ref_key:"backToTop",ref:t,tabindex:"-1"},null,512),u("a",{href:"#VPContent",class:"VPSkipLink visually-hidden",onClick:n}," Skip to content ")],64))}}),Qr=m(Zr,[["__scopeId","data-v-0f60ec36"]]),ei=g({__name:"Layout",setup(s){const{isOpen:e,open:t,close:n}=F(),o=te();j(()=>o.path,n),$t(e,n);const{frontmatter:i}=P(),c=tt(),h=b(()=>!!c["home-hero-image"]);return Me("hero-image-slot-exists",h),(v,k)=>{const w=K("Content");return r(i).layout!==!1?(a(),l("div",{key:0,class:I(["Layout",r(i).pageClass])},[d(v.$slots,"layout-top",{},void 0,!0),_(Qr),_(at,{class:"backdrop",show:r(e),onClick:r(n)},null,8,["show","onClick"]),_(Or,null,{"nav-bar-title-before":p(()=>[d(v.$slots,"nav-bar-title-before",{},void 0,!0)]),"nav-bar-title-after":p(()=>[d(v.$slots,"nav-bar-title-after",{},void 0,!0)]),"nav-bar-content-before":p(()=>[d(v.$slots,"nav-bar-content-before",{},void 0,!0)]),"nav-bar-content-after":p(()=>[d(v.$slots,"nav-bar-content-after",{},void 0,!0)]),"nav-screen-content-before":p(()=>[d(v.$slots,"nav-screen-content-before",{},void 0,!0)]),"nav-screen-content-after":p(()=>[d(v.$slots,"nav-screen-content-after",{},void 0,!0)]),_:3}),_(qn,{open:r(e),onOpenMenu:r(t)},null,8,["open","onOpenMenu"]),_(Xr,{open:r(e)},{"sidebar-nav-before":p(()=>[d(v.$slots,"sidebar-nav-before",{},void 0,!0)]),"sidebar-nav-after":p(()=>[d(v.$slots,"sidebar-nav-after",{},void 0,!0)]),_:3},8,["open"]),_(kn,null,{"page-top":p(()=>[d(v.$slots,"page-top",{},void 0,!0)]),"page-bottom":p(()=>[d(v.$slots,"page-bottom",{},void 0,!0)]),"not-found":p(()=>[d(v.$slots,"not-found",{},void 0,!0)]),"home-hero-before":p(()=>[d(v.$slots,"home-hero-before",{},void 0,!0)]),"home-hero-info":p(()=>[d(v.$slots,"home-hero-info",{},void 0,!0)]),"home-hero-image":p(()=>[d(v.$slots,"home-hero-image",{},void 0,!0)]),"home-hero-after":p(()=>[d(v.$slots,"home-hero-after",{},void 0,!0)]),"home-features-before":p(()=>[d(v.$slots,"home-features-before",{},void 0,!0)]),"home-features-after":p(()=>[d(v.$slots,"home-features-after",{},void 0,!0)]),"doc-footer-before":p(()=>[d(v.$slots,"doc-footer-before",{},void 0,!0)]),"doc-before":p(()=>[d(v.$slots,"doc-before",{},void 0,!0)]),"doc-after":p(()=>[d(v.$slots,"doc-after",{},void 0,!0)]),"doc-top":p(()=>[d(v.$slots,"doc-top",{},void 0,!0)]),"doc-bottom":p(()=>[d(v.$slots,"doc-bottom",{},void 0,!0)]),"aside-top":p(()=>[d(v.$slots,"aside-top",{},void 0,!0)]),"aside-bottom":p(()=>[d(v.$slots,"aside-bottom",{},void 0,!0)]),"aside-outline-before":p(()=>[d(v.$slots,"aside-outline-before",{},void 0,!0)]),"aside-outline-after":p(()=>[d(v.$slots,"aside-outline-after",{},void 0,!0)]),"aside-ads-before":p(()=>[d(v.$slots,"aside-ads-before",{},void 0,!0)]),"aside-ads-after":p(()=>[d(v.$slots,"aside-ads-after",{},void 0,!0)]),_:3}),_(Pn),d(v.$slots,"layout-bottom",{},void 0,!0)],2)):(a(),$(w,{key:1}))}}}),ti=m(ei,[["__scopeId","data-v-5a346dfe"]]),ni={Layout:ti,enhanceApp:({app:s})=>{s.component("Badge",st)}};export{La as c,ni as t,P as u}; +function __vite__mapDeps(indexes) { + if (!__vite__mapDeps.viteFileDeps) { + __vite__mapDeps.viteFileDeps = ["assets/chunks/VPLocalSearchBox.pOJdOY9U.js","assets/chunks/framework.3rhKcKOk.js"] + } + return indexes.map((i) => __vite__mapDeps.viteFileDeps[i]) +} diff --git a/assets/guide_commands.md._zn-OHWw.js b/assets/guide_commands.md._zn-OHWw.js new file mode 100644 index 00000000..f4a6ef80 --- /dev/null +++ b/assets/guide_commands.md._zn-OHWw.js @@ -0,0 +1 @@ +import{_ as t,c as d,o as a,V as r}from"./chunks/framework.3rhKcKOk.js";const g=JSON.parse('{"title":"指令帮助","description":"","frontmatter":{},"headers":[],"relativePath":"guide/commands.md","filePath":"guide/commands.md"}'),e={name:"guide/commands.md"},l=r('

指令帮助

Velocity跨服

指令描述
/server [tag]切换至FDC下的各个子服(如fdp、ppf),或在其他学校的服务器内切换子服。
/hub如果你从联合大厅进入FDC,可以通过这个指令切换至其他学校的服务器。

Bukkit插件指令

TIP

WorldEdit与Axiom的指令不会在此处列出,请前往教程搬运查看相应教程。

消息

指令描述
/msg发送私信给指定玩家。
/me以第三人称描述一件事。
/r快速回复回复你的最后一位玩家。
/mail管理玩家在服务器内的邮件。
/say说话!

信息

指令描述
/near列出一位玩家附近(或半径内)的玩家。
/ping啪!
/mspt查看服务器当前的MSPT。
/depth指出你当前相对于海平面的位置。
/rules查看服务器的规则。
/list显示所有在线玩家。
/compass描述你当前的方位。
/getpos获取你(或某一玩家)的当前坐标。

传送

指令描述
/home <homes>传送到家的位置。如果你有多个家,则后面的参数是必需的。
/sethome <name>在当前位置设置家。
/delhome <name>删除一个你创建的家。
/tpa <player>请求传送到指定的玩家。
/tpahere请求指定玩家传送到你的位置。
/tpaall请求所有在线玩家传送到你的位置。
/tpaccept接受传送请求。
/tpacancel [player]取消所有待处理的传送请求。指定[player]来取消他的请求。
/back传送你至先前的位置。
/spawn传送至出生点。

点歌

注意:需要在客户端上安装与mc版本匹配的AllMusic才能听歌。

指令描述
/music help获取点歌台的指令列表。
/music <音乐ID>使用音乐id点歌,这个方法能准确地点歌,不会点错。
/music search使用歌曲名搜索歌曲,这种方法无需查找id,但是容易点错。
/music select <序号>点相应序号的歌曲。
/music nextpage翻到下一页。
/music lastpage翻到上一页。
/music vote发起投票切歌。如果已经有人发起了投票,输入/music vote来同意。若30秒内,包括发起者在内共有2个人同意切歌,则会切歌,否则仍播放当前歌曲。
/music list查看信息更为详细的歌曲列表。在点歌台的Hud能看到较为粗略的点歌列表。
/music hud <type> <x> <y>设置各种hud的显示位置,默认为左中。type有4个可选项。info:歌曲信息, pic:专辑封面,lyric:歌词,list:播放列表。x与y的值请自行进行调试。
/music hud enabld <type>开启/关闭相应的hud。
/music hud picsize <size>调整专辑封面的大小。
/music hud reset重置所有关于hud的设置。

椅子

指令描述
/sit在当前位置坐下。也可以空手右键台阶或者楼梯来在那个位置坐下。
/lay在当前位置躺下。躺下的方向与你的朝向相同。
/crawl爬!
/bellyflop变成鞘翅飞行的模样,与/crawl有点像。
/spin旋转吧,雪月花!

旦星一号

指令描述
/dynmap webregister获取旦星一号地空通信的注册码。
/dmarker进行旦星一号的标记点操作,具体见旦星一号

HeadDataBase

指令描述
/kit获取指定的物品包(或查看所有可用的物品包)。
/suicide自决。
/afk将你标记为暂时离开。

图片

指令描述
/images create <url> <scale>放置图片,其中url必须为直链,可以将图片上传至免费图床来获得。
/images delete [near <range>]删除图片。不带参数为点击删除图片,带参数为删除一定范围内的图片。再次输入命令以取消。

其他

指令描述
/kit获取指定的物品包(或查看所有可用的物品包)。
/suicide自决。
/afk将你标记为暂时离开。

Leaves 假人指令

FDC使用的是由服务端Leaves提供的假人系统,假人的总指令为 /bot。它的使用与Carpet的假人系统有着非常大的不同。

指令列表与说明参见Leaves Fakeplayer

MCDR指令

MCDR是一个基于python的服务端控制工具,可以给原版端或者其他服务端提供一些插件的支持.由于通过监听服务器内的聊天消息来识别指令,MCDR的指令标识与其他指令不同,一般为!!XXXX

Task任务清单

非常好用的分锅插件(

指令描述
!!task显示任务概览。
!!task help获取任务清单插件的指令列表。
!!task overview显示任务概览,同!!task
!!task list显示完整的任务清单。
!!task list-all <task>显示完整的任务清单(包括子任务)。
!!task detail <task>显示某个任务的详细信息。
!!task add <task> [description]添加一个任务与其描述。
!!task remove/rm/delete/del <task>删除某个任务。
!!task rename <old task> <new task>重命名某个任务。
!!task change <task> <new description>修改某个任务的描述。
!!task done <task>将某个任务标记为完成。
!!task undone <task>将某个任务标记为未完成。
!!task deadline <task> <period: day>设置某个任务的ddl。
!!task deadline <task> clear清除某个任务的ddl。
!!task priority <task> <priority>设置某个任务的优先级。
!!task player <task>查看某个玩家的任务列表。
!!task res/responsible <task> <player>设置某个任务的负责人。
!!task unres/unresponsible <task> <player>删除某个任务的负责人。

Stats数据统计

TIP

FDC的建筑榜不是由这个插件构建的,不适用这里的命令。

指令描述
!!stats显示Stats的帮助信息。
!!stats save <代名> <统计类别> <统计内容> <标题>保存一个统计某个统计内容的快速计分板。
!!stats del <代名>移除某个快速计分板。
!!stats list列出已保存的快速计分板。
!!stats query <玩家> <统计类别> <统计内容> [< -uuid>] [< -tell>]查询某个玩家某个统计内容的数值。
!!stats query <玩家> <代名> [< -uuid>] [< -tell>]查询某个玩家某个快速计分板的数值。
!!stats rank <统计类别> <统计内容> [< -tell>]在聊天栏显示某个统计内容的排行。
!!stats rank <代名> [< -tell>]在聊天栏显示某个快速计分板的排行。
!!stats scoreboard <统计类别> <统计内容> (标题)显示一个一个统计某个统计内容的快速计分板,但不保存。
!!stats scoreboard <代名>显示某个快速计分板。
!!stats scoreboard show显示该插件的计分板。
!!stats scoreboard hide隐藏该插件的计分板

参数说明

参数描述
<统计类别>killed, killed_by, dropped, picked_up, used, mined, broken, crafted, custom
<统计内容>killed, killed_by:生物ID
picked_up, used, mined, broken, crafted:物品/方块ID
custom:详见统计信息的json文件,或 MC Wiki
上述内容无需带minecraft:前缀
[< -uuid>]用uuid替换玩家名。
[< -tell>]仅自己可见。

其他

指令描述
!!jrrp获取今日人品!
!!joinMOTD显示入服欢迎。
!!day查询开服时间。
!!hitokoto获取一句一言
',39),s=[l];function h(o,i,c,n,b,u){return a(),d("div",null,s)}const m=t(e,[["render",h]]);export{g as __pageData,m as default}; diff --git a/assets/guide_commands.md._zn-OHWw.lean.js b/assets/guide_commands.md._zn-OHWw.lean.js new file mode 100644 index 00000000..53a40609 --- /dev/null +++ b/assets/guide_commands.md._zn-OHWw.lean.js @@ -0,0 +1 @@ +import{_ as t,c as d,o as a,V as r}from"./chunks/framework.3rhKcKOk.js";const g=JSON.parse('{"title":"指令帮助","description":"","frontmatter":{},"headers":[],"relativePath":"guide/commands.md","filePath":"guide/commands.md"}'),e={name:"guide/commands.md"},l=r("",39),s=[l];function h(o,i,c,n,b,u){return a(),d("div",null,s)}const m=t(e,[["render",h]]);export{g as __pageData,m as default}; diff --git a/assets/guide_features.md.8H2QXWlT.js b/assets/guide_features.md.8H2QXWlT.js new file mode 100644 index 00000000..907862a3 --- /dev/null +++ b/assets/guide_features.md.8H2QXWlT.js @@ -0,0 +1 @@ +import{_ as e,c as t,o as r,V as a}from"./chunks/framework.3rhKcKOk.js";const m=JSON.parse('{"title":"服务器特性介绍","description":"","frontmatter":{},"headers":[],"relativePath":"guide/features.md","filePath":"guide/features.md"}'),l={name:"guide/features.md"},i=a('

服务器特性介绍

群机器人

小Unicorn

光标(标宝)为本服特约吉祥物,感谢标宝提供的前期的Christina机器人支持

使用方法

交流群内发送返回内容
-fdc基岩社所有服务器状态
-sjmc上交MC社所有服务器状态
-tjmc同济MC社所有服务器状态
-mc以上所有服务器状态
-mclive或-sjmclive交大MC社B站直播间状态
-fdclive基岩社B站直播间状态

花fufu

花fufu在FDC各服务器和互通群内放置了自己的话筒和花花,让FDC各服务器与花fufu群直接能够通话。

快说谢谢fufu!

使用方法

从交流群中获取互通群的群号后进入,或者进入KOOK的聊天互通频道。

~~Q群内仅能发送/接受FDC、FDCC的聊天,而各服务器(FDC、FDCC、PPF、FDP、MOD)内可以接收到所有其他服务器的聊天。~~现在都可以了!

花fufu群:群内或者频道内直接发送消息即可发送。

各服务器:直接发送消息即可发送。

~~在FDC内,可以点击聊天栏内绿色的[图片]并按回车来获取用于显示图片的地图。这个地图本质上就是个普通的地图,可以低下头来查看。注意改变快捷栏的栏位会使地图消失。~~图片挂了()

指令列表

互通群/频道内发送返回内容
!!help查看指令帮助
!!pingpong!!
!!online查看FDC在线人数
!!stats显示FDC的一些统计信息,具体见帮助
!!info (仅限频道)显示服务器状态

服务器保护

  • CoreProtect 提供的核心保护
    • 存档所有修改的记录
  • Boom 提供的地图保护
    • 苦力怕爆炸不破坏地形(但依然造成伤害并摧毁掉落物)
    • 火焰不蔓延

生电友好

内容扩充

',23),o=[i];function n(d,s,h,c,u,f){return r(),t("div",null,o)}const b=e(l,[["render",n]]);export{m as __pageData,b as default}; diff --git a/assets/guide_features.md.8H2QXWlT.lean.js b/assets/guide_features.md.8H2QXWlT.lean.js new file mode 100644 index 00000000..f23395a6 --- /dev/null +++ b/assets/guide_features.md.8H2QXWlT.lean.js @@ -0,0 +1 @@ +import{_ as e,c as t,o as r,V as a}from"./chunks/framework.3rhKcKOk.js";const m=JSON.parse('{"title":"服务器特性介绍","description":"","frontmatter":{},"headers":[],"relativePath":"guide/features.md","filePath":"guide/features.md"}'),l={name:"guide/features.md"},i=a("",23),o=[i];function n(d,s,h,c,u,f){return r(),t("div",null,o)}const b=e(l,[["render",n]]);export{m as __pageData,b as default}; diff --git a/assets/guide_features_ncwu.md.DXW1l0c2.js b/assets/guide_features_ncwu.md.DXW1l0c2.js new file mode 100644 index 00000000..a07149f7 --- /dev/null +++ b/assets/guide_features_ncwu.md.DXW1l0c2.js @@ -0,0 +1 @@ +import{_ as t,c as e,o as r,V as a}from"./chunks/framework.3rhKcKOk.js";const b=JSON.parse('{"title":"服务器特性&指令介绍","description":"","frontmatter":{},"headers":[],"relativePath":"guide/features_ncwu.md","filePath":"guide/features_ncwu.md"}'),d={name:"guide/features_ncwu.md"},l=a('

服务器特性&指令介绍

服务器保护

  • Ledger & TheStarryGuard提供的核心保护
    • 记录方块变化与箱子变化(查箱子呼叫op)
指令描述
/tsg check开启查询模式,再次输入指令关闭。可以查询某处方块变化的记录
/tsg near查询附近的方块变化。
/tsg page查询全局的方块变化。
  • Creeper Firework 提供的地图保护
    • 苦力怕爆炸不破坏地形(但依然造成伤害并摧毁掉落物)
    • 苦力怕爆炸放出烟花(若客户端安装了Creeper Firework)

生电

Carpet

  • Carpet主体
    • 假人
    • TAB菜单显示
    • 经验吸收无冷却
    • 仙人掌扳手
  • Carpet-Extra
    • Carpet精准放置协议
    • 更新抑制防崩
  • Carpet-TIS-Addition
    • 光照线程同步
  • GCA
    • 空手右键假人打开假人背包&潜行右键打开末影箱
    • 服务器重启假人驻留
    • 假人补货
    • 假人钓鱼
  • PCA
    • PCA 数据同步协议
  • Carpet-AMS-Addition
    • 末影龙优化

其他 Mod

传送

指令描述
/home <homes>传送到家的位置。如果你有多个家,则后面的参数是必需的。
/sethome <name>在当前位置设置家。
/delhome <name>删除一个你创建的家。
/tpa <player>请求传送到指定的玩家。
/tpahere请求指定玩家传送到你的位置。
/tpaall请求所有在线玩家传送到你的位置。
/tpaccept接受传送请求。
/tpacancel [player]取消所有待处理的传送请求。指定[player]来取消他的请求。
/back传送你至先前的位置。
/spawn传送至出生点。

点歌

注意:需要在客户端上安装与mc版本匹配的AllMusic才能听歌。

指令描述
/music help获取点歌台的指令列表。
/music <音乐ID>使用音乐id点歌,这个方法能准确地点歌,不会点错。
/music search使用歌曲名搜索歌曲,这种方法无需查找id,但是容易点错。
/music select <序号>点相应序号的歌曲。
/music nextpage翻到下一页。
/music lastpage翻到上一页。
/music vote发起投票切歌。如果已经有人发起了投票,输入/music vote来同意。若30秒内,包括发起者在内共有2个人同意切歌,则会切歌,否则仍播放当前歌曲。
/music list查看信息更为详细的歌曲列表。在点歌台的Hud能看到较为粗略的点歌列表。
/music hud <type> <x> <y>设置各种hud的显示位置,默认为左中。type有4个可选项。info:歌曲信息, pic:专辑封面,lyric:歌词,list:播放列表。x与y的值请自行进行调试。
/music hud enabld <type>开启/关闭相应的hud。
/music hud picsize <size>调整专辑封面的大小。
/music hud reset重置所有关于hud的设置。

椅子

面朝下方按潜行键即可召唤“椅子”,右键坐下。再按潜行起身。

作物收获

手持锄头右键作物可以收获作物。

',19),i=[l];function o(h,s,c,u,n,p){return r(),e("div",null,i)}const f=t(d,[["render",o]]);export{b as __pageData,f as default}; diff --git a/assets/guide_features_ncwu.md.DXW1l0c2.lean.js b/assets/guide_features_ncwu.md.DXW1l0c2.lean.js new file mode 100644 index 00000000..8b2b3f8d --- /dev/null +++ b/assets/guide_features_ncwu.md.DXW1l0c2.lean.js @@ -0,0 +1 @@ +import{_ as t,c as e,o as r,V as a}from"./chunks/framework.3rhKcKOk.js";const b=JSON.parse('{"title":"服务器特性&指令介绍","description":"","frontmatter":{},"headers":[],"relativePath":"guide/features_ncwu.md","filePath":"guide/features_ncwu.md"}'),d={name:"guide/features_ncwu.md"},l=a("",19),i=[l];function o(h,s,c,u,n,p){return r(),e("div",null,i)}const f=t(d,[["render",o]]);export{b as __pageData,f as default}; diff --git a/assets/guide_functional-buildings.md.XobrtCsm.js b/assets/guide_functional-buildings.md.XobrtCsm.js new file mode 100644 index 00000000..a34e765c --- /dev/null +++ b/assets/guide_functional-buildings.md.XobrtCsm.js @@ -0,0 +1 @@ +import{_ as a,c as e,o as i,V as t}from"./chunks/framework.3rhKcKOk.js";const b=JSON.parse('{"title":"功能性建筑","description":"","frontmatter":{},"headers":[],"relativePath":"guide/functional-buildings.md","filePath":"guide/functional-buildings.md"}'),r={name:"guide/functional-buildings.md"},h=t('

功能性建筑

120自动熔炉组

【施工方】Ithil_hiril 【位置】工业区 (775, 153) 有地狱交通连接(工业区共用地狱门),有冰道。 【注意事项】熔炉使用前请阅读下方内部的使用说明!

196k竖式刷石机

【施工方】Polaris_Light 【位置】工业区 (775, 153) 有地狱交通连接(工业区共用地狱门),有冰道。 【注意事项】刷石机使用时请勿离开!!人离开一定要关刷石机!!(惨痛教训)

蜜绿全树种树场

【施工方】LQingNing 【位置】工业区(775,135),有地狱交通连接 【使用说明】上方木桶放置装有骨粉的潜影盒,保证红石灯亮,空潜影盒会回到下方木桶,灯不亮补充骨粉潜影盒; 金合欢选择按钮一,云杉、丛林选择按钮二,橡树、白桦选择按钮三; 按完按钮进去种植室,等到活塞停止后再开启拉杆; 如果发射器自己停止,检查外面的灯是否还亮。

开荒仓库

【施工方】Polaris_Light 【位置】主世界坐标:(704,364) 有地狱交通连接,有冰道。 地狱门在仓库二楼,是重要的连接枢纽。 周围包含简易的村民交易,农场等非机械级别玩家活动痕迹。 仓库内资源为公用,但请不要滥用!

四核时钟式刷铁机

【施工方】Ithil_hiril 【位置】主世界坐标:(728,363) 开荒仓库旁边。 实际效率极低,大致相当于单核,挂机需要到僵尸头上才有一点点效率,以后还需要新建非干扰型多核刷铁机。

飞行器甘蔗机

【施工方】LQingNing 【位置】主世界位置:(873,351)村庄附近。 【注意事项】使用前请先阅读使用说明!

简易植物繁殖处

【施工方】LQingNing

【位置】主世界位置:(我再上线看看)村庄附近,甘蔗机旁边。 【注意事项】使用后记得关闭以防造成卡顿;记得留一点植物作为种! 目前可以繁殖的植物种类:四种高花,发光地衣,甜浆果,发光浆果,可可豆\\

丐中丐版袭击塔

【施工方】x2048x 【位置】主世界坐标:(692,920) 有地狱交通连接,有冰道 【注意事项】该机器只可使用锋利IV横扫之刃III钻石剑以上等级的剑来砍,否则容易因为产生恼鬼而暴毙(目前没有合适的剑在这边公用,建议自己去小黑塔打一把)。丐中丐版袭击塔只能手动收集分类,且袭击不堆叠。使用的时候需要先从活板门跳下开启袭击,然后从气泡柱立刻上来砍。砍时需注意不要离得太近或按shift,保持砍怪频率(避免女巫一击不死扔了治疗药水),可有效降低生成恼鬼概率。 已修改:使用时要对着盔甲架砍,攻击间隔不低于18gt,能有效放置恼鬼产生(但是还是有可能产生) 切记!!在走前一定要清掉袭击buff!!可选择在走之前跳下去等待出现袭击胜利

改造前哨站

【施工方】x2048x 【位置】主世界坐标:(-672,344) 有地狱交通连接,有冰道。 【用途】用于获取袭击buff. 【用法】地狱门出来后等待一小会,从活板门测跳下,用弓箭击杀队长再从气泡柱上来。没刷出队长就先上来挂一小会再下去

双核沼泽史莱姆农场

【施工方】Ithil_hiril 由Polaris_Light,LQingNing,EiHei协助搭建平台 【位置】主世界坐标:(74,5695) 有地狱交通连接,有冰道。 【用途】用于获取史莱姆,效率为7.6kph. 【用法】挂机点在y=176处。从地狱门出来后经脚手架向上有个笼子,在笼子里挂机就行。

简易双维度鱼塔

【施工方】x2048x 【位置】主世界坐标:(548,1170) ;地狱坐标:基岩上层(73,145) 有地狱交通连接,尚无冰道、 建议从地狱通道进入!主世界只有挂机点。 【用法】从地狱门出来后沿脚手架爬下,即可进入挂机位置。收集在地狱。

刷沙机1&末地门2

【施工方】Synopt 【位置】沙漠定居点附近,有大箭头指示。 【用法】先用床设置重生点(但是暂时没有床)。点击中央音符盒开始刷沙,跳入末地门获取沙子后迅速使用指令回到床边,点击中央音符盒结束刷沙。

气泡柱迁移式袭击塔

【施工方】Cauchy,由Polaris_Light调试各类参数(Polaris_Light:我讨厌purpur) 【位置】主世界坐标:(410,954) 有地狱交通连接(使用旧袭击塔通道),有冰道 【用法】使用前先检查机器内是否有小队长(大概率无),如果有可直接使用;如果无,则需要关闭拉杆(红石灯不亮),前往改造前哨站获取不祥之兆BUFF。 到袭击塔后会出发袭击,等号角声响起或袭击进度条减少后,拉下西北角拉杆。等待袭击进度条消失。(如果出现袭击失败则需要清理机器内的刌民后重复以上流程,袭击失败概率很小,但如果你是非酋,还是有可能袭击失败的。蹲在拉杆下方等待能有效减少袭击失败概率。) 走到修脚平台走上楼梯,关闭活板门蹲着进入,再打开活板门后进入水道,站到堆肥桶内修脚即可,可以用活板门辅助进入堆肥桶内。 必须使用附魔有锋利V横扫之刃III抢夺III经验修补的钻石剑或下界合金剑攻击,穿全套保护IV的钻石装备或下界合金装备,攻击频率有待确认。 离开时直接关闭开关,从地狱门离开即可,不用管剩下的怪物。

',28),o=[h];function l(n,d,s,c,u,p){return i(),e("div",null,o)}const f=a(r,[["render",l]]);export{b as __pageData,f as default}; diff --git a/assets/guide_functional-buildings.md.XobrtCsm.lean.js b/assets/guide_functional-buildings.md.XobrtCsm.lean.js new file mode 100644 index 00000000..12326b0a --- /dev/null +++ b/assets/guide_functional-buildings.md.XobrtCsm.lean.js @@ -0,0 +1 @@ +import{_ as a,c as e,o as i,V as t}from"./chunks/framework.3rhKcKOk.js";const b=JSON.parse('{"title":"功能性建筑","description":"","frontmatter":{},"headers":[],"relativePath":"guide/functional-buildings.md","filePath":"guide/functional-buildings.md"}'),r={name:"guide/functional-buildings.md"},h=t("",28),o=[h];function l(n,d,s,c,u,p){return i(),e("div",null,o)}const f=a(r,[["render",l]]);export{b as __pageData,f as default}; diff --git a/assets/guide_index.md.p-_1HujW.js b/assets/guide_index.md.p-_1HujW.js new file mode 100644 index 00000000..9432982e --- /dev/null +++ b/assets/guide_index.md.p-_1HujW.js @@ -0,0 +1 @@ +import{_ as e,c as t,o as a,V as r}from"./chunks/framework.3rhKcKOk.js";const u=JSON.parse('{"title":"新人指南","description":"","frontmatter":{},"headers":[],"relativePath":"guide/index.md","filePath":"guide/index.md"}'),o={name:"guide/index.md"},i=r('

新人指南

欢迎来到 FDCraft|复读世界𒆙!

FDCraft 是一系列的多人联机服务器,主要面向复旦大学的学生。

骨干招募

以下部门正在寻找协作者:

  1. 建筑宣传部:PPF复原、建筑创作 / 官网文档编辑、公众号运营、视频制作
  2. 运维编程部:各种人……
  3. 活动组织部:FDP组织

有意了解或加入者,请与群内管理员联系。

取得联系

请加入我们的 QQ 交流群与 KOOK 频道。

QQ 群:1037308494

KOOK:基岩社的冒险家们

其他的相关群聊:

基岩社的苦力怕们:552463299,像素复旦计划PPF建设群

FDC的冒险家:389548214,群内消息和服内消息的互通群,也是专门用于FDC建设交流的场所

如果你有意向加入社团,请通过微信公众号“复旦大学学生社团”访问社团系统,搜索“基岩社”加入社团后联系管理员进入社团群聊。

进入服务器

  1. 仔细阅读复读公约
  2. 查看你的硬件是否符合 Minecraft 官网写的最低要求,一般都符合。
  3. 参考入服教程来进入服务器。如果您使用Xbox One / Nintendo Switch / PlayStation 4等主机,请参考 https://github.com/Pugmatt/BedrockConnect 来进行配置。

恭喜你!至此,你已经成功进入服务器了。接下来,请参考"第一天"中的内容快速了解本服务器的基本情况。

',14),l=[i];function n(c,p,s,h,d,_){return a(),t("div",null,l)}const f=e(o,[["render",n]]);export{u as __pageData,f as default}; diff --git a/assets/guide_index.md.p-_1HujW.lean.js b/assets/guide_index.md.p-_1HujW.lean.js new file mode 100644 index 00000000..4d669d10 --- /dev/null +++ b/assets/guide_index.md.p-_1HujW.lean.js @@ -0,0 +1 @@ +import{_ as e,c as t,o as a,V as r}from"./chunks/framework.3rhKcKOk.js";const u=JSON.parse('{"title":"新人指南","description":"","frontmatter":{},"headers":[],"relativePath":"guide/index.md","filePath":"guide/index.md"}'),o={name:"guide/index.md"},i=r("",14),l=[i];function n(c,p,s,h,d,_){return a(),t("div",null,l)}const f=e(o,[["render",n]]);export{u as __pageData,f as default}; diff --git a/assets/guide_learnspace.md.b7XeWgd2.js b/assets/guide_learnspace.md.b7XeWgd2.js new file mode 100644 index 00000000..a3ae7758 --- /dev/null +++ b/assets/guide_learnspace.md.b7XeWgd2.js @@ -0,0 +1 @@ +import{_ as a,c as e,o as t,V as r}from"./chunks/framework.3rhKcKOk.js";const m=JSON.parse('{"title":"教程搬运","description":"","frontmatter":{},"headers":[],"relativePath":"guide/learnspace.md","filePath":"guide/learnspace.md"}'),i={name:"guide/learnspace.md"},l=r('

教程搬运

本页提供各类技术的教程搬运,欢迎投稿

Minecraft基础

Minecraft基础

红石基础

生电

建筑

建筑学理论

建筑风格

建筑工具

TwkBezierTemplate贝塞尔曲线放样插件教程

一言以蔽之,这个一个用于生成贝塞尔曲线并根据模板生成曲线的插件。

这个插件在FDCC与PPF上有部署。

https://space.bilibili.com/21192142/channel/collectiondetail?sid=1322985

服务器运维

核心(Server Core)

服务端架设 & MUA相关技术文档

https://docs.mualliance.cn/zh/dev

崩溃报告

PL崩溃报告宝典

/guide/tutorial/crashreport/

网络

内网穿透 - frp

反向代理 - Nginx

插件开发

InsidePlugins 补订《插件开发日记》

https://plugindiary.pvpin.org/

新媒体技术

视频录制 - ReplayMod

3D 制作 - Blender

其他

',28),o=[l];function s(c,h,n,d,p,b){return t(),e("div",null,o)}const f=a(i,[["render",s]]);export{m as __pageData,f as default}; diff --git a/assets/guide_learnspace.md.b7XeWgd2.lean.js b/assets/guide_learnspace.md.b7XeWgd2.lean.js new file mode 100644 index 00000000..da1e3ce5 --- /dev/null +++ b/assets/guide_learnspace.md.b7XeWgd2.lean.js @@ -0,0 +1 @@ +import{_ as a,c as e,o as t,V as r}from"./chunks/framework.3rhKcKOk.js";const m=JSON.parse('{"title":"教程搬运","description":"","frontmatter":{},"headers":[],"relativePath":"guide/learnspace.md","filePath":"guide/learnspace.md"}'),i={name:"guide/learnspace.md"},l=r("",28),o=[l];function s(c,h,n,d,p,b){return t(),e("div",null,o)}const f=a(i,[["render",s]]);export{m as __pageData,f as default}; diff --git a/assets/guide_newbie.md.xy_tVI8m.js b/assets/guide_newbie.md.xy_tVI8m.js new file mode 100644 index 00000000..1fca6951 --- /dev/null +++ b/assets/guide_newbie.md.xy_tVI8m.js @@ -0,0 +1 @@ +import{_ as t,c as e,o as a,V as p}from"./chunks/framework.3rhKcKOk.js";const s="/assets/lobby_1.7jZFQ6CV.webp",o="/assets/lobby_2.Dj_KbeAP.webp",c="/assets/lobby_3.6OvB4DSZ.webp",l="/assets/motd.ceykhe7p.png",r="/assets/1.HqsgI4cY.webp",i="/assets/2.B-reflV4.webp",d="/assets/3.KYdkPHad.webp",n="/assets/4.J4UoxIFE.webp",b="/assets/5.HdcJrdT3.webp",m="/assets/6.N69sXsPA.webp",h="/assets/7.WX0pWb1d.webp",u="/assets/8.oxsp9FID.webp",_="/assets/9.HyQuFuGe.webp",I=JSON.parse('{"title":"第一天","description":"","frontmatter":{},"headers":[],"relativePath":"guide/newbie.md","filePath":"guide/newbie.md"}'),k={name:"guide/newbie.md"},f=p('

第一天

本节将带领你游览 FDCraft|复读世界𒆙的主要区域。游览后,你将对本服务器的大致情况有一个整体把握。

你可以选择跟随下方的指南,取用公共物资来进行建设;你也可以选择不看下面的指南,自己生存:一切都取决于你自己。

未来的旅程充满未知与惊喜,开始新的旅程吧,大冒险家!

世界树与新的旅程

世界树上的小亭子

欢迎来到 FDCraft|复读世界𒆙!进入服务器,出现在视线中的是一个红色的鸟居,以及其背后的巨大的樱花树(至少看起来像樱花树)。这棵树被称为世界树,它从神秘的末地生长而出,承载着这个世界的秘密。正因此,你正处于的这个世界,FDCraft 的大厅,被命名为“世界树之渊”。

TIP

请走过鸟居,沿着围绕树干的小路向上走,参观世界树顶端的小亭子。

世界树上的小亭子

站在小亭子上俯瞰这个地图,你会发现围绕着世界树有三个建筑。

北侧的是【祈愿中心:子虚亭】。二周目时可以在这里投币祈愿获得物品;三周目这里暂时没有被使用,等待着某天再次散发光辉。

东侧的是【平行世界传送中心】。这里是服务器的传送中心。

南侧的是一座建立于很久以前的神社,供奉着未知的神明。

神社

TIP

请前往【平行世界传送中心】,了解各个传送门通向的世界。

参观了【平行世界传送中心】,接下来请通过传送门前往FDC。

TIP

点击左侧聊天栏的 [FDC] 按钮,或者输入/server fdc,也可以进入主服务器。

请你试试点击相关链接下面的按钮,看看会显示什么。

motd

出生点

进入FDC,出现在你眼前的应该是南面的复旦大学的校徽。

学会查看【旦星一号】是很重要的技能,你能从中迅速找到某个建筑的位置。

出生点

出生点附近的箱子和潜影盒装有一些物资。你可以从中获取一些类似镐子食物之类的起始物资。

有时候,中间的箱子里面会一些鞘翅。鞘翅的数量比较有限,且难以再生。如果你只是来服务器参观,请不要取用鞘翅,善用/tpa传送。潜影盒中可能会有用于飞行的3级烟花火箭。

TIP

现在鞘翅可以通过在末地挖末地石爆宝箱来获取,但是爆率有限。

出生点小镇

在出生点东侧,就是出生点小镇。

在服务器的早期,几个玩家在出生点安家,建立了出生点小镇。

出生点小镇

复读地铁一号线

在出生点北面,能看到一个巨大的入口。这是复读地铁1号线的出生点站。

TIP

请进入地铁口。乘坐地铁前往下一站——工业区北站。

注:大部分站点配备了半自动发车装置。若没有矿车,请自行想办法(自己挖矿合成/找人白嫖/...)

提示:复读地铁遵从靠右行驶的交通规则,逆行会遭到截停。为防止与他人发生碰撞等交通事故,请务必遵守此规定!

如果你知道下界交通如何使用的话,也可以通过下界交通游览。可以在旦星一号的下界地图中查看线路。

工业区

乘坐复读地铁1号线,你到达的第一站是工业区北站。

TIP

尝试着使用工业区北站的无障碍电梯上行吧!

工业区北站的南面是工业区。工业区是FDCraft最活跃的地方之一,聚集了大量的生电机器获取物资。

工业区

FDCraft 是一个和谐互助的服务器。冒险家们经常建造一些有趣而高效的功能性建筑。大家会把自己建造的公共功能性建筑记录在【复读百科】【旦星一号】中。

TIP

工业区北站附近还有很多有趣的建筑,在周边逛一逛看看都有哪些建筑吧!

村庄

回到地铁站,乘坐复读地铁1号线前往下一站——村庄站。

村庄

村庄是FDC的第一个大型聚集地,主要放置了一些与农业相关的机器,大量玩家在此定居。

TIP

查看【旦星一号】看看哪些玩家居住在村庄!

位于西面的是开荒仓库,这是FDC的第一个仓库,经过了多次改建后变成了现在的中世纪建筑。如今这里已经不再存放物品,供奉着神秘的神明。

开荒仓库

雪原区

输入/warp snowy,就能能来到远东的雪原区。

不乘坐复读地铁1号线是因为沙堡-雪原区暂未开通。下界交通可以到达雪原。

开拓者协会

雪原区主要是一些与雪有关的建筑,建筑之间相隔都比较远。你可以在【旦星一号】中看到这些建筑的位置。

住宅区

现在输入/warp residential,就能直接来到住宅区的下界传送门广场。住宅区是一片广阔的区域,非常多的玩家在此建造自己的别墅与观赏建筑。

开荒仓库

TIP

在住宅区转一下,看看这里都有哪些建筑!

从下界传送门广场向东拾级而下,沿路向东走到底,能看到一座神殿。神殿内供奉着一位神秘的神明,他庇护着服务器的玩家,使玩家的机器与建筑不会被苦力怕或凋零所破坏。

神秘神明

从神殿的中央水柱向下,就来到了物品仓库。物品仓库储存了几乎所有种类的物品,也可以进行简单的物品分类。在这里可以取用建筑所需的材料。

全无品

地面上右侧的大箱子为输入,左侧为未分类物品输出,不能分类不可堆叠物品。由于运行需要,取用物品时需要留下一个物品或者使用占位玻璃。

TIP

如果住宅区的材料不够用,你需要前往相应的机器来获取(如圆石),或者自行挖取(如珊瑚块)。有些特殊物品则需要通过在特定群系挖矿爆宝箱要获取(如隐形展示框,Indestructia鞘翅)。

第一个庇护所

从神殿的中央水柱向上离开神殿,能看到复读公寓。

【复读公寓】是高耸入云的反牛顿建筑。所有玩家都可以在此处免费领取一间住房,作为自己的初始小屋。

领取流程

你需要准备:告示牌x1

  1. 前往复读公寓。
  2. 从公寓大厅开始,一层一层上楼,找到第一个没有被认领的楼层。
  3. 在门旁贴上门牌(格式与位置参见其他已被领取的楼层)
  4. 站在认领的复读公寓初始小屋内,使用/sethome指令设置家。离开家后,可以使用/home指令回家。
  5. 前往复读百科更新你的住宅信息!

使用说明

  1. 可以在房间内进行任意内饰装饰,但不能修改外部墙体。
  2. 禁止破坏地板,天花板可以破坏至多一格深。
  3. 阳台的四格草方块可以种植植物,也可以破坏。

需要注意的是,使用指令设置的家与床设置的个人出生点无关。可以使用/home bed回到床。

了解更多服务器的指令,请参阅指令帮助

当然你也可以选择那些已经装修好的建筑入住,或者建造属于自己的建筑。

开始新旅程

至此,“第一天”的指引就结束了。你可以继续浏览本网站以了解更多,也可以在遇到问题时通过本网站查询资料。当然,在群里与朋友们进行交流可能是解决问题的最快方法。

未来的旅程充满未知与惊喜,开始新的旅程吧,大冒险家!

',74),q=[f];function g(v,P,w,x,D,T){return a(),e("div",null,q)}const F=t(k,[["render",g]]);export{I as __pageData,F as default}; diff --git a/assets/guide_newbie.md.xy_tVI8m.lean.js b/assets/guide_newbie.md.xy_tVI8m.lean.js new file mode 100644 index 00000000..abe2dd1e --- /dev/null +++ b/assets/guide_newbie.md.xy_tVI8m.lean.js @@ -0,0 +1 @@ +import{_ as t,c as e,o as a,V as p}from"./chunks/framework.3rhKcKOk.js";const s="/assets/lobby_1.7jZFQ6CV.webp",o="/assets/lobby_2.Dj_KbeAP.webp",c="/assets/lobby_3.6OvB4DSZ.webp",l="/assets/motd.ceykhe7p.png",r="/assets/1.HqsgI4cY.webp",i="/assets/2.B-reflV4.webp",d="/assets/3.KYdkPHad.webp",n="/assets/4.J4UoxIFE.webp",b="/assets/5.HdcJrdT3.webp",m="/assets/6.N69sXsPA.webp",h="/assets/7.WX0pWb1d.webp",u="/assets/8.oxsp9FID.webp",_="/assets/9.HyQuFuGe.webp",I=JSON.parse('{"title":"第一天","description":"","frontmatter":{},"headers":[],"relativePath":"guide/newbie.md","filePath":"guide/newbie.md"}'),k={name:"guide/newbie.md"},f=p("",74),q=[f];function g(v,P,w,x,D,T){return a(),e("div",null,q)}const F=t(k,[["render",g]]);export{I as __pageData,F as default}; diff --git a/assets/guide_newbie_old.md.OjawYz--.js b/assets/guide_newbie_old.md.OjawYz--.js new file mode 100644 index 00000000..eaafb778 --- /dev/null +++ b/assets/guide_newbie_old.md.OjawYz--.js @@ -0,0 +1 @@ +import{_ as a,c as t,o as p,V as s,a4 as o,a5 as c,a6 as i,a7 as e,a8 as l,a9 as r,aa as d,ab as m,ac as _,ad as u,ae as b}from"./chunks/framework.3rhKcKOk.js";const T=JSON.parse('{"title":"第一天","description":"","frontmatter":{},"headers":[],"relativePath":"guide/newbie_old.md","filePath":"guide/newbie_old.md"}'),n={name:"guide/newbie_old.md"},h=s('

第一天

本节将带领你游览 FDCraft|复读世界𒆙的主要区域。游览后,你将对本服务器的大致情况有一个整体把握。

世界树与新的旅程

欢迎来到 FDCraft|复读世界𒆙。进入服务器,出现在视线中的是一个红色的鸟居,以及其背后的巨大的樱花树(至少看起来像樱花树)。这棵树被称为世界树,它从神秘的末地生长而出,承载着这个世界的秘密。正因此,你正处于的这个世界,FDCraft 的大厅,被命名为“世界树之渊”。

鸟居与世界树

【任务1】

请走过鸟居,沿着围绕树干的小路向上走,参观世界树顶端的小亭子

世界树上的小亭子

站在小亭子上俯瞰这个地图,你会发现围绕着世界树有三个建筑。北侧的是【祈愿中心:子虚亭】,东侧的是【平行世界传送中心】,南侧的是一座建立于很久以前的神社,供奉着未知的神明。

【任务2】

请前往【平行世界传送中心】,了解各个传送门通向的世界

参观了【平行世界传送中心】,接下来请通过传送门前往【生存世界:复读大陆】。

通往【生存世界:复读大陆】的传送门

神樱与复读大陆

来到【生存世界:复读大陆】,你所在的地区被称为【日月港】,这里是复读大陆的主城。出门后右转直行,这个圆形的广场是日月港的中心广场——复读广场。复读广场下方有一个地铁站,是复读地铁1号线的复读广场站。

复读广场鸟瞰

【任务3】

请进入复读广场东南侧的地铁口。乘坐地铁前往下一站——复读明珠站。到站后,请出站游览【光华原】。

注:若没有矿车,请自行想办法(自己挖矿合成/找人白嫖/...)

提示:复读地铁遵从靠右行驶的交通规则。为防止与他人发生碰撞等交通事故,请务必遵守此规定!

复读地铁1号线复读广场站神樱方向

复读明珠是【光华原】的地标性建筑。光华原被规划为新的居民区,是被森林围绕的一个草原,地势开阔,易于寻找。或许你可以物色一处将来修房子的好地方。

复读明珠

【任务4】

请回到复读明珠地铁站,乘坐开往神樱方向的复读地铁1号线前往下一站——复读神社站。到站后,请拜访复读神社。

复读神社

复读神社位于【金牛村】。金牛村主要由 2021 年入学的新生共同建立。夜晚时分,金牛村上空漂浮着的点点烛光显得格外浪漫。

金牛村夜景

【任务5】

请回到复读神社地铁站,乘坐开往神樱方向的复读地铁1号线前往终点站——神樱站。到站后,请出站观赏神樱。

神樱

神樱是世界树的枝条在复读大陆绽放的结果。神樱位于【神樱町】,这里是复读大陆的旧主城。神樱町有许多以前的大家留下的痕迹,如“前平行世界传送中心遗址”、“群主的大坑”等等。许多玩家的房屋也建立于此处。但由于主城已换,我们不建议新玩家在神樱町继续发展。而是希望大家前往日月港或光华原进一步开荒。

【任务6】

请回到神樱地铁站,乘坐开往复读广场方向的复读地铁1号线前往终点站——复读广场站。出站后,请找到一栋高耸入云的建筑。

复读公寓1号楼

我的第一个庇护所

【复读公寓】)是高耸入云的反牛顿建筑。所有玩家都可以在此处免费领取一间住房,作为自己的初始小屋。

【任务7】

请根据复读公寓领取流程领取你的初始小屋。

这里就是你的第一个家了,请好好装扮它吧!

【任务8】

站在认领的复读公寓初始小屋内,使用/sethome指令设置家。离开家后,使用/home指令回家。

了解更多服务器的指令,请参[指令帮助

需要注意的是,使用指令设置的家与床设置的个人出生点无关。

【任务9】

自由探索世界,收集材料制作一些基本家具,摆放在家中。

这是什么厉害的东西?

FDCraft 是一个和谐互助的服务器。冒险家们经常建造一些有趣而高效的功能性建筑。大家会把自己建造的公共功能性建筑记录在【复读百科】中。

【任务10】

参考复读百科,任意拜访一个公共功能性建筑并试用。

今天运势如何

每次进入服务器,你都会收到一条运势信息。运势可能是不同等级的凶或者吉,当然,仅作参考。如果你想真正试试自己的运气,不妨通过传送门回到【大厅:世界树之渊】,前往世界树北侧的【祈愿中心:子虚亭】进行祈愿。

【任务11】

使用指令/kit newbie领取新人礼包。使用新人礼包中的钻石与远古残骸在【祈愿中心:子虚亭】进行祈愿。

【祈愿中心:子虚亭】

开始新旅程

至此,“第一天”的指引就结束了。你可以继续浏览本网站以了解更多,也可以在遇到问题时通过本网站查询资料。当然,在群里与朋友们进行交流可能是解决问题的最快方法。

未来的旅程充满未知与惊喜,开始新的旅程吧,大冒险家!

',46),k=[h];function v(f,q,g,P,x,C){return p(),t("div",null,k)}const w=a(n,[["render",v]]);export{T as __pageData,w as default}; diff --git a/assets/guide_newbie_old.md.OjawYz--.lean.js b/assets/guide_newbie_old.md.OjawYz--.lean.js new file mode 100644 index 00000000..f3dbd2dd --- /dev/null +++ b/assets/guide_newbie_old.md.OjawYz--.lean.js @@ -0,0 +1 @@ +import{_ as a,c as t,o as p,V as s,a4 as o,a5 as c,a6 as i,a7 as e,a8 as l,a9 as r,aa as d,ab as m,ac as _,ad as u,ae as b}from"./chunks/framework.3rhKcKOk.js";const T=JSON.parse('{"title":"第一天","description":"","frontmatter":{},"headers":[],"relativePath":"guide/newbie_old.md","filePath":"guide/newbie_old.md"}'),n={name:"guide/newbie_old.md"},h=s("",46),k=[h];function v(f,q,g,P,x,C){return p(),t("div",null,k)}const w=a(n,[["render",v]]);export{T as __pageData,w as default}; diff --git a/assets/guide_rules.md.7SOzuVcG.js b/assets/guide_rules.md.7SOzuVcG.js new file mode 100644 index 00000000..20c8dd74 --- /dev/null +++ b/assets/guide_rules.md.7SOzuVcG.js @@ -0,0 +1 @@ +import{_ as r,c as a,o as t,V as l}from"./chunks/framework.3rhKcKOk.js";const u=JSON.parse('{"title":"复读公约","description":"","frontmatter":{},"headers":[],"relativePath":"guide/rules.md","filePath":"guide/rules.md"}'),o={name:"guide/rules.md"},e=l('

复读公约

以下关键词 MUST、MUST NOT、REQUIRED、SHALL、SHALL NOT、SHOULD、SHOULD NOT、 RECOMMENDED、MAY、OPTIONAL 依照 RFC 2119 的叙述解读。

以下关键词 MUST (BUT WE KNOW YOU WON'T)、SHOULD CONSIDER、REALLY SHOULD NOT、OUGHT TO、WOULD PROBABLY、MAY WISH TO、COULD、POSSIBLE、MIGHT依照 RFC 6919 的叙述解读。

总则

  1. 本公约由基岩社工具人团队编写。

  2. 任何玩家一旦进入FDCraft,则视为同意本公约。如不认可,请立即退出服务器,并在Minecraft多人游戏列表中删除本服务器的记录。

  3. 若不遵守本公约,基岩社工具人团队有权对该玩家的账号进行不同程度的封禁,包括但不限于禁止进入FDCraft下游服务器、禁止进入FDCraft所有服务器、封禁用户中心账号、联合黑名单封禁。

  4. 任何玩家有权要求基岩社工具人团队清除其在FDCraft、用户中心等服务器上的相关数据,包括但不限于账号、玩家数据、建筑。

  5. FDCraft不适用任何现实中的社会管理或资源配置理论与概念,包括但不限于农奴制、资本主义、社会主义、共产主义。

  6. FDCraft不喜欢规矩与约束。因此,复读公约会以高度审慎的态度进行制定。一切不必要的约定都不应该被写入本公约。

  7. 复读公约不追求成体系的、事无巨细的规范。我们相信我们的同学都是友善的。我们永远以善意对待,并以善意揣测我们的朋友们,为他们送上我们的包容。因此,我们仅基于可能遇到的问题进行一事一议式的约定。

  8. 任何人均可以批注、交流群内公开提出、私聊工具人等形式对本公约提出建议。所有的观点将会被公平地对待,并在理性的批判后被评价为合适与否。

关于服务器属性

  1. 虽然FDCraft在服务器形态上与生电服务器相似,FDCraft不是生电服。FDCraft 是面向复旦大学 Minecraft 爱好者的系列多人联机服务器
  2. FDCraft在规则上与生电服务器完全不同,可将Aircraft的专栏「生电服」的规则 一节与复读公约进行比对。FDCraft不喜欢规矩与约束,任何不破坏他人游戏体验的行为都是被允许的。

关于群名片的约定

  1. 为保障玩家的利益,构建起沟通的桥梁,所有玩家 必须 在群名片中注明自己在FDCraft中的名称。

  2. 为促进交流,增进友谊,我们 建议 大家采用ID-年级专业-真实姓名的格式编辑自己的群名片。

关于服务器公共资源与私有资源的约定

  1. 私人容器包括个人住宅内容器未完成工程处容器明显告示为私人所有的容器无标识的既不处于私人空间也不处于公共设施处的容器。私人容器的所有者为容器所在建筑的所有者/建造者。
  2. 不符合私人容器定义的容器均属于公共容器,但属于功能性建筑的一部分、机器运行时不可或缺的特殊容器除外,包括但不限于 所有物品展示框与盔甲架、有特殊功能的漏斗/投掷器/木桶 等。
  3. 若对于建筑的属性与所有者有异议,以复读百科、旦星一号、建筑现场告示牌或基岩社工具人的判断为准。
  4. 私人容器内物品 必须 在征得所有者同意后方可取用。若物品有缺失所有者有权在群内询问或联系运维查询。所有私人物品/需要自己使用的物品均 应该 放到私人容器中。
  5. 公共容器内物品 可以 随意取用。任何玩家无权追查公共容器内物品去向及用途,取用者同样可对上述询问保持沉默。将物品放置于公共容器内意味着放弃对该物品的所有权,其将转变为公共物品,可供任何人无条件取用
  6. 滥用公共资源等情况,可向基岩社工具人团体申请仲裁。
  7. 在有明确声明(如在复读百科中注明)的情况下,以声明内容为准,不适用上述各条(如在复读百科公共设施处注明每天只允许以私人目的获取该机器生产的一半产品之类的声明)。

关于生电用地冲突的约定

功能性建筑与观赏性建筑

  1. 功能性建筑即传统意义上的“生电机器”,包括但不限于利用游戏机制生产物品、提供刷怪场地的建筑。

  2. 其他一切建筑均属于观赏性建筑,包括但不限于私家住宅、公共景观。

  3. 如遇冲突,则视为观赏性建筑,例如一个美丽的刷石机。

  4. 如果你的未完成的工地可能被误判为生电机器,则请在醒目的地方标注其不是功能性建筑。或者,你 可以 在沟通中与其他人明确这一点。并且,请相信工具人团队的判断。

冲突处理流程

  1. 乙方的生电用地需求与甲方未完成的(特指基本功能未实现,不包括装饰、改进等流程未完成)生电机器发生冲突时,应当与甲方积极沟通。

  2. 若甲方明确反对,则乙方不得强制征用甲方的用地。

  3. 若甲方在一定时间内没有回应,乙方 可以 向基岩社工具人团体提交拆除申请。拆除申请提交经工具人团队审核通过后的7天内,若甲方没有明确反对,则乙方 可以 在服务器运维人员的协助下,备份甲方的机器,并在原址处拆除。

修订说明

2023.6.25

  • 由于有玩家对于FDCraft的性质提出了疑问,增加 “服务器属性” 一节。

2023.11.10

  • 对公约进行规范语意化。
  • “总则”一节中,增加 社团权力与玩家权力 条目。
  • “服务器属性”一节中,增加 “FDCraft不喜欢规矩与约束,任何不破坏他人游戏体验的行为都是被允许的” 条目。
  • 由于最近各校均出现了有玩家随意取用物品展示框内物品、取用分类器内物品的现象,”关于服务器公共资源与私有资源的约定“一节中,明确 “属于功能性建筑的一部分、机器运行时不可或缺的容器” 不属于公共容器。
',22),i=[e];function n(s,h,c,d,p,g){return t(),a("div",null,i)}const _=r(o,[["render",n]]);export{u as __pageData,_ as default}; diff --git a/assets/guide_rules.md.7SOzuVcG.lean.js b/assets/guide_rules.md.7SOzuVcG.lean.js new file mode 100644 index 00000000..ae45d86c --- /dev/null +++ b/assets/guide_rules.md.7SOzuVcG.lean.js @@ -0,0 +1 @@ +import{_ as r,c as a,o as t,V as l}from"./chunks/framework.3rhKcKOk.js";const u=JSON.parse('{"title":"复读公约","description":"","frontmatter":{},"headers":[],"relativePath":"guide/rules.md","filePath":"guide/rules.md"}'),o={name:"guide/rules.md"},e=l("",22),i=[e];function n(s,h,c,d,p,g){return t(),a("div",null,i)}const _=r(o,[["render",n]]);export{u as __pageData,_ as default}; diff --git a/assets/guide_softversion.md.vRTcdP7w.js b/assets/guide_softversion.md.vRTcdP7w.js new file mode 100644 index 00000000..9117ad36 --- /dev/null +++ b/assets/guide_softversion.md.vRTcdP7w.js @@ -0,0 +1 @@ +import{_ as t,c as r,o as e,V as d}from"./chunks/framework.3rhKcKOk.js";const b=JSON.parse('{"title":"软件版本","description":"","frontmatter":{"sidebar":false},"headers":[],"relativePath":"guide/softversion.md","filePath":"guide/softversion.md"}'),s={name:"guide/softversion.md"},o=d('

软件版本

注:本界面已经年久失修,且不会再更新!

名称当前版本获取备注
Linux Kernel5.16.0-1el8.elrepo
Java17.0.1上海交通大学致远镜像
Python3.11.7上海交通大学致远镜像
MCDReforged2.8.2上海交通大学致远镜像
Leaves频繁变更https://github.com/LeavesMC/Leaves
Authlib Injector1.2.2https://authlib-injector.yushi.moe/
Boom2.0.10https://www.mcbbs.net/thread-1150139-1-1.html
Core Protect21.3https://www.mcbbs.net/thread-72515-1-1.html
Dynmap3.5-beta3https://www.spigotmc.org/resources/dynmap.274/
EssentialsX频繁变更https://essentialsx.net/downloads.html
EssentialsX Spawn频繁变更https://essentialsx.net/downloads.html
EssentialsX Chat频繁变更https://essentialsx.net/downloads.html
Farther View Distance9.5.1https://www.spigotmc.org/resources/fartherviewdistance.84950/
LuckPerms Bukkit5.4.30https://www.mcbbs.net/thread-676818-1-1.html https://pluginscdtribe.github.io/wiki/luckperms https://ci.lucko.me/job/LuckPerms/
Placeholder API2.11.1https://www.spigotmc.org/resources/placeholderapi.6245/
Protocol Lib4.8.0https://www.spigotmc.org/resources/protocollib.1997/
Vault1.7.3-b131https://www.spigotmc.org/resources/vault.34315/
VoidGen2.2.1https://www.spigotmc.org/resources/voidgen.25391/
World Edit7.2.10https://dev.bukkit.org/projects/worldedit
',3),a=[o];function n(h,l,g,i,c,p){return e(),r("div",null,a)}const m=t(s,[["render",n]]);export{b as __pageData,m as default}; diff --git a/assets/guide_softversion.md.vRTcdP7w.lean.js b/assets/guide_softversion.md.vRTcdP7w.lean.js new file mode 100644 index 00000000..c760b70e --- /dev/null +++ b/assets/guide_softversion.md.vRTcdP7w.lean.js @@ -0,0 +1 @@ +import{_ as t,c as r,o as e,V as d}from"./chunks/framework.3rhKcKOk.js";const b=JSON.parse('{"title":"软件版本","description":"","frontmatter":{"sidebar":false},"headers":[],"relativePath":"guide/softversion.md","filePath":"guide/softversion.md"}'),s={name:"guide/softversion.md"},o=d("",3),a=[o];function n(h,l,g,i,c,p){return e(),r("div",null,a)}const m=t(s,[["render",n]]);export{b as __pageData,m as default}; diff --git a/assets/guide_sps.md.WpyVfJFo.js b/assets/guide_sps.md.WpyVfJFo.js new file mode 100644 index 00000000..044292da --- /dev/null +++ b/assets/guide_sps.md.WpyVfJFo.js @@ -0,0 +1 @@ +import{_ as t,c as e,o as d,V as l}from"./chunks/framework.3rhKcKOk.js";const p=JSON.parse('{"title":"旦星 SPS","description":"","frontmatter":{},"headers":[],"relativePath":"guide/sps.md","filePath":"guide/sps.md"}'),r={name:"guide/sps.md"},a=l('

旦星 SPS

旦星是 FDCraft 的全服定位系统(Server-wide Positioning System, SPS)。

旦星一号

旦星一号:http://mc.fdc.jingyijun.xyz:20410/ 是基于 Dynmap 构建的卫星地图与定位系统。

在经历了数月的停摆后,旦星一号重新上线,并标记了绝大部分的机器与建筑的标记点。

尽管搭建了地-空无线电功能,但是更建议通过花fufu转发的方式来进行通信。

标记点

警告!

在你没有完全理解这里所说的指令时,请不要尝试修改旦星一号的标记点!

旦星一号使用Dynmap自带的/dmarker 指令来在其上进行标记。但是为了更易维护,其参数的填写有一个比较复杂的规则。

标记点添加

/dmarker add id:<id> label:<label> icon:<icon> set:<set-id>

你可以使用/dmarker list set:<set-id> 指令查看现有的参数,来更好地理解下面的规则。理论上不需要这些参数也可以添加标记点,但是其结果是自动随机分配参数而不是留空。

参数说明:

label:这个标记点在旦星一号上的名称。

set:分组,在旦星一号上将会出现在哪个组中。

icon:这个标记点在旦星一号上的图标,与set-id对应。

分组set-idicon
生电机器machinesilverstar
观赏性建筑spectaclebighouse
私宅housegoldstar
传送门portalportal

id:标记的唯一标识符。其命名规则与该建筑的属性与位置相对应,从上往下依次匹配。

分组id与规则,?代表序号
无论在哪的私宅house?,多个私宅为house_?_?,仅用于house set
主世界-工业区industry_?
主世界-村庄village_?
主世界-沙漠聚居点desert_?
主世界-住宅区residential_?
下界nether_?,双维度机器相应的下界端id为individual_0?
下界传送门portal_?,仅用于portal set
末地end_?
主世界-非集群的机器individual_?,双维度机器相应的下界端id为individual_0?
主世界-非集群的建筑individual_building_?

标记点删除

/dmarker delete id:<id> set:<set-id>

从这里可以看出,如果没有命名规则,进行管理将会十分痛苦(

标记点更新

/dmarker update <label> set:<set-id> icon:<newicon> newlabel:<newlabel> newset:<newset-id>

或者 /dmarker update id:<id> set:<set-id> icon:<newicon> newlabel:<newlabel> newset:<newset-id>

此处id/label与set是必填的,后面的参数不想要更新的不填写即可。

注意id是无法被更新的,只能删除后重新创建。

全部指令集

命令描述
/dmarker add <label> icon:<icon> set:<set-id>在玩家的当前位置添加一个指定标签的记号(可选:图标、记号集)
/dmarker add id:<id> <label> icon:<icon> set:<set-id>在玩家的当前位置添加一个指定 ID 和标签的记号(可选:图标、记号集)
/dmarker add id:<id> <label> icon:<icon> set:<set-id> x:<x-coord> y:<y-coord> z:<z-coord> world:<Worldname>在指定的坐标添加一个指定 ID 和标签的记号(可选:图标、记号集)
/dmarker movehere <label>将第一个匹配指定标签的记号移动至玩家的当前位置
/dmarker movehere id:<id>将第一个匹配指定 ID 的记号移动至玩家的当前位置
/dmarker update <label> icon:<newicon> newlabel:<newlabel>更新第一个匹配指定标签的记号的图标或标签
/dmarker update id:<id> icon:<newicon> newlabel:<newlabel>更新第一个匹配指定 ID 的记号的图标或标签
/dmarker delete <label>删除第一个匹配指定标签的记号
/dmarker delete id:<id> set:<set-id>删除第一个匹配指定 ID 的记号(可选:记号集)
/dmarker list列出默认记号集中定义的所有记号的详细信息
/dmarker list set:<set-id>列出指定记号集中定义的所有记号的详细信息
/dmarker addset <label> hide:<hide-by-def> prio:<priority> minzoom:<minzoom>添加指定标签的新记号集 (自动将标签设为 ID)
/dmarker addset id:<id> <label> hide:<hide-by-def> prio:<priority> minzoom:<minzoom>添加指定标签和 ID 的新记号集
/dmarker updateset <label> newlabel:<new-label> hide:<hide-by-def> prio:<priority> minzoom:<minzoom>更新指定标签的记号集(自动将标签设为 ID)
/dmarker updateset id:<id> newlabel:<new-label> hide:<hide-by-def> prio:<priority> minzoom:<minzoom>更新指定 ID 的记号集
/dmarker deleteset <label>删除指定标签的记号集
/dmarker deleteset id:<id>删除指定 ID 的记号集
/dmarker listsets列出所有的记号
/dmarker icons列出所有可使用的图标的详细信息
/dmarker addicon id:<id> <label> file:"filename"将指定的文件设为指定 ID 和标签的新图标(文件路径相对于 Minecraft 服务端文件夹)。
/dmarker updateicon id:<id> newlabel:<label> file:"filename"更新指定 ID 的图标的标签或文件(文件路径相对于 Minecraft 服务端文件夹)。
/dmarker deleteicon id:<id>删除指定 ID 的图标
/dmarker addcorner将玩家的当前位置作为一个角添加到列表
/dmarker addcorner <x> <y> <z> <world>将指定的坐标作为一个角添加到列表
/dmarker clearcorners清除角列表
/dmarker addarea <label>使用指定的标签和当前的角列表创建并添加新的区域
/dmarker addarea id:<id> <label> set:<set-id>使用指定的 ID、标签和当前的角列表创建新的区域并将其添加到指定的记号集(可选:记号集)
/dmarker deletearea <label> set:<set-id>删除指定标签的区域(可选:记号集)
/dmarker deletearea id:<id> set:<set-id>删除指定 ID 的区域(可选:记号集)
/dmarker listareas set:<set-id>列出所有区域的详细信息(可选:记号集)
/dmarker updatearea <label> set:<set-id> <arg>:<value> ...更新指定标签的区域的属性(可选:记号集)
/dmarker updatearea id:<id> set:<set-id> <arg>:<value> ...更新指定 ID 的区域的属性(可选:记号集)
/dmarker addline <label> set:<set-id>使用当前的角列表和指定的标签创建新的线并添加到指定的记号集(可选:记号集)
/dmarker addline id:<id> <label> set:<set-id>使用当前的角列表和指定的 ID 创建新的线并添加到指定的记号集(可选:记号集)
/dmarker deleteline <label> set:<set-id>删除指定标签的线(可选:记号集)
/dmarker deleteline id:<id> set:<set-id>删除指定 ID 的线(可选:记号集)
/dmarker listlines set:<set-id>列出所有线的详细信息(可选:记号集)
/dmarker updateline <label> set:<set-id> <arg>:<value> ...更新指定标签的线的属性(可选:记号集)
/dmarker updateline id:<id> set:<set-id> <arg>:<value> ...更新指定 ID 的线的属性(可选:记号集)
',28),i=[a];function n(s,g,c,o,y,x){return d(),e("div",null,i)}const h=t(r,[["render",n]]);export{p as __pageData,h as default}; diff --git a/assets/guide_sps.md.WpyVfJFo.lean.js b/assets/guide_sps.md.WpyVfJFo.lean.js new file mode 100644 index 00000000..b018d5fa --- /dev/null +++ b/assets/guide_sps.md.WpyVfJFo.lean.js @@ -0,0 +1 @@ +import{_ as t,c as e,o as d,V as l}from"./chunks/framework.3rhKcKOk.js";const p=JSON.parse('{"title":"旦星 SPS","description":"","frontmatter":{},"headers":[],"relativePath":"guide/sps.md","filePath":"guide/sps.md"}'),r={name:"guide/sps.md"},a=l("",28),i=[a];function n(s,g,c,o,y,x){return d(),e("div",null,i)}const h=t(r,[["render",n]]);export{p as __pageData,h as default}; diff --git a/assets/guide_tutorial_basic.md.3eZv2yL5.js b/assets/guide_tutorial_basic.md.3eZv2yL5.js new file mode 100644 index 00000000..0694fc30 --- /dev/null +++ b/assets/guide_tutorial_basic.md.3eZv2yL5.js @@ -0,0 +1 @@ +import{_ as e,c as r,o as l,V as a}from"./chunks/framework.3rhKcKOk.js";const h=JSON.parse('{"title":"【真·纯萌新指南】Minecraft 基本操作","description":"","frontmatter":{},"headers":[],"relativePath":"guide/tutorial/basic.md","filePath":"guide/tutorial/basic.md"}'),t={name:"guide/tutorial/basic.md"},i=a('

【真·纯萌新指南】Minecraft 基本操作

本文主要内容

  1. Minecraft Java 版的基本结构
  2. 如何安装模组/材质包/光影/数据包
  3. 对一些常用的基础辅助模组的介绍

对于首次入坑 Minecraft Java Edition 的同学来说,没有像网易版那样的一键安装 模组/材质包 的功能确实是个比较难适应的操作,本文旨在帮助纯小白快速入坑 Java 版 MC。

观前提示:为了增进对游戏的整体理解,以免产生不必要的麻烦,建议通读全文而非直接跳到 如何安装模组/材质包/光影/数据包 部分。

Minecraft JE 的基本结构

Minecraft JE 由 账号-游戏本体-启动器 三个部分组成

  • 账号

    Minecraft账号可以理解成玩家在游戏内显示的名称,主要有 正版账号/离线账户/外置登陆 三种相互独立的形式。

    注:目前 FDCraft 用的是外置登陆模式,所以无需购买正版账号

    • 正版账号
      • 玩家在 Minecraft官网 通过 Microsoft 账号购买游戏后,你的 Microsoft 账号/密码即为你的 Minecraft 正版账号/密码,通过这个账号,你可以登陆像 Hypixel 这样的正版服务器,并且在 Minecraft官网 更换皮肤/游戏昵称等。
    • 离线账户
      • 即所谓的“盗版”,一般只需要输入你所希望显示的游戏内昵称即可。通过离线账户可以无需付钱即可游玩 Minecraft。其优点是单机游玩体验和正版并无二致,但是缺点是只能加入一些无正版验证(即只有正版玩家才能进入的)的服务器游玩。
    • 外置登陆
      • 外置登陆需要使用一个第三方的认证服务器。认证服务器是一个用以代替 Microsoft 服务器的账号系统(即正版账号的认证服务器是 Microsoft 服务器),从而让特定群体的玩家能够登陆某个服务器。FDCraft 的“用户中心/皮肤站账号”就是和正版账号相互独立的外置登陆账号,使用 fudan.edu.cnm.fudan.edu.cn 结尾的邮箱在 用户中心 注册后,可以快捷的更换皮肤等。
  • 游戏本体

    • 游戏的所有本体文件均位于 .minecraft 的文件夹内(在狗都不用的官方启动器的游戏目录内,该文件夹是默认隐藏的,我们不建议使用官方启动器),内含游戏的各种资源如:源文件、存档、资源包etc. 在 HMCL 启动器中,该文件夹又称为游戏目录,可以自行设置目录名称。【注:本文为了方便起见,均使用 .minecraft 文件夹来代指该目录文件夹,实际情况下可以根据你的用途自行更改】
    • 主要文件夹
    • mods:存放模组文件
    • resourcepacks:存放资源包/材质包文件
    • saves:存放存档文件(每个地图都是saves下的一个子文件夹)
    • shaderpacks:存放光影文件
    • screenshots:存放按下 F2 后产生的的游戏内画面截图
  • 启动器

    启动器可以看做是一个连接了账号和游戏本体文件的多功能平台,主要分为官方启动器和第三方启动器。

    • 官方启动器
      • 仅包含最基本功能的启动器,仅能够实现正版登陆、下载各个游戏版本、更换正版皮肤、启动 Minecraft 衍生的其他游戏(如基岩版/地下城/Legends),但是由于国内的下载以及更新速度极慢,无版本隔离,也没有 .minecraft 文件夹的快捷打开入口,所以基本没人愿意去用,在此便不予以赘述。
    • 第三方启动器
      • 是由非官方人员编写、能够在官方启动器的基本功能的基础上,实现更多实用功能(如版本隔离,即不同版本的游戏使用不同的目录文件夹以防止mod冲突)的启动器。
      • 主流的第三方启动器有 HMCLPCL2MultiMC,其中前两者在国内的用户数较多,且支持外置登陆,界面也更加美观简洁。

模组/材质包/数据包介绍以及安装

  • 模组

    模组安装在 .minecraft/mods 文件夹内,直接将下载好的 模组名.jar 文件拖入该文件夹下即可,然后在启动器内刷新,就可以看到被成功安装的模组。多数第三方启动器都具有开关模组的勾选功能,其实质其实只是把 模组名.jar 改成了 模组名.disabled

    • 模组加载器:即大家常说的的 Fabric 和 Forge 这两个,它们的作用是提供一些原版所没有的额外功能接口,可以理解为一般的模组都会指定这两者的其中之一作为前置。一般来说,大型模组整合包多数使用 Forge,1.14+的辅助性模组用的多为更加简洁的 Fabric。不过请记住,Forge 和 Fabric 不可共存,你只能根据实际游玩的需要选择一个。
    • 多数第三方启动器都提供了在安装游戏的同时,一键安装 Fabric 或者 Forge 的功能。
    • 下载模组的常用网站有国外的 Curseforge 和国内的 MCMod百科,可根据实际需要进行选择。

    请注意:Fabric 和 Fabric API 是两个东西,有些 Fabric 模组在安装了 Fabric 后还需要在 mods 文件夹中安装 Fabric API,这个信息一般会写在模组介绍的前几行,请注意查看。建议安装 Fabric 的同时直接一并安装 Fabric API,以免后续安装模组时产生不必要的麻烦。

  • 材质包
    • 材质包直接存放于 .minecraft/resorcepacks 下,不解压也可以正常使用。在网上下载后直接拖入该文件夹,进入 游戏-视频设置-资源包 界面即可开关材质包。
    • 上文提到的 Curseforge 同样有材质包的分区,其他网站如 Planetminecraft 也是很好的 Minecraft 资源网站。
  • 数据包
    • 数据包是 Minecraft 1.16 新加入的功能,为玩家进一步定制其 Minecraft 体验提供了一种新方式。数据包可用于覆盖或添加新的进度、维度、函数、战利品表、谓词、配方、结构、标签、自定义世界生成和生物群系,而不进行任何代码修改(完全使用原版指令)。
    • 数据包只作用于安装了这个数据包的地图,即每个数据包存放于 .minecraft/saves/地图名称/datapacks 内,和资源包一样,也无需解压便可以正常使用Planetminecraft 上收集的数据包较为全面,是较为主流的数据包来源网站。

高版本常用辅助性模组介绍

为方便起见,以下所有模组链接均为笔者更加熟悉的 Curseforge 链接,但是国内打开速度较慢,有需要请自行搜索其他下载源

  • 【体素地图】 VoxelMap

    • 适用于 Minecraft 版本 1.12 ~ 1.17
    • 一个简洁易用的小地图模组,基本无学习成本,萌新易上手
  • Xaero的地图套装

    • 【小地图】 Xaero's Minimap
    • 【世界地图】 Xaero's Worldmap
    • Minecraft 全版本适用
    • 稍有学习成本的一个进阶小地图模组,具有非常丰富的可自定义项目,在高版本(1.17+)较为流行
  • 【旅行地图】JourneyMap

    • Minecraft 全版本适用
    • 老牌小地图模组,在较低版本整合包中非常常见
  • 【背包整理】Inventory Profile Next

    • 适用于 Minecraft 版本 1.14.4-1.19
    • R键整理背包/容器
    • 工具耐久不够时,自动替换背包中耐久更高的工具
    • 快速移动整个背包/容器的物品
  • 【Masa工具箱】——一系列方便生存的模组

    • 【Masa前置库】Malilib
      • 是下列所有模组共同需要安装的前置模组
    • 【物品滚轮】Item Scroller
      • 按住 shift 和鼠标左键并且拖动鼠标可以快速移动物品
      • 等等非常多的物品相关操作,在游戏内使用快捷键 I+C 进入设置菜单
    • 【Tweakeroo】Tweakeroo
      • 一系列小工具的合集,很实用
      • 具体教程可以自行b站搜索Tweakeroo
',12),o=[i];function c(n,s,f,u,m,d){return l(),r("div",null,o)}const g=e(t,[["render",c]]);export{h as __pageData,g as default}; diff --git a/assets/guide_tutorial_basic.md.3eZv2yL5.lean.js b/assets/guide_tutorial_basic.md.3eZv2yL5.lean.js new file mode 100644 index 00000000..92ef322e --- /dev/null +++ b/assets/guide_tutorial_basic.md.3eZv2yL5.lean.js @@ -0,0 +1 @@ +import{_ as e,c as r,o as l,V as a}from"./chunks/framework.3rhKcKOk.js";const h=JSON.parse('{"title":"【真·纯萌新指南】Minecraft 基本操作","description":"","frontmatter":{},"headers":[],"relativePath":"guide/tutorial/basic.md","filePath":"guide/tutorial/basic.md"}'),t={name:"guide/tutorial/basic.md"},i=a("",12),o=[i];function c(n,s,f,u,m,d){return l(),r("div",null,o)}const g=e(t,[["render",c]]);export{h as __pageData,g as default}; diff --git a/assets/guide_tutorial_crashreport_Episode1.md.I29Dfgdq.js b/assets/guide_tutorial_crashreport_Episode1.md.I29Dfgdq.js new file mode 100644 index 00000000..cbc4bc7b --- /dev/null +++ b/assets/guide_tutorial_crashreport_Episode1.md.I29Dfgdq.js @@ -0,0 +1 @@ +import{_ as e,c as a,o as t,V as o}from"./chunks/framework.3rhKcKOk.js";const r="/assets/1.QpSIGOQw.webp",s="/assets/2.WHlrOHio.webp",i="/assets/3.kFXpADWe.webp",p="/assets/4.P3wcxQgo.webp",k=JSON.parse('{"title":"Episode1 崩溃报告和日志在哪里?","description":"","frontmatter":{},"headers":[],"relativePath":"guide/tutorial/crashreport/Episode1.md","filePath":"guide/tutorial/crashreport/Episode1.md"}'),l={name:"guide/tutorial/crashreport/Episode1.md"},c=o('

Episode1 崩溃报告和日志在哪里?

Troubleshooting any problem without the error log is like driving with your eyes closed.

在没有错误日志的情况下诊断任何问题无异于闭眼开车。

——Apache官方文档

Getting Started - Apache HTTP Server Version 2.5

想要诊断崩溃报告和日志,你首先要找到/获取崩溃报告(crash-XXX.txt)和日志(.log),才能知道究竟报了啥错。正如酒石酸所说:发生崩溃时如果找不到崩溃报告,就说“我崩溃了怎么办”,还不如上街找个算命先生算算为什么崩溃好些。

如果有人只问了问题,或者只把HMCL那个带有黑色粗体字“!!!请不要将本页面【截图】给他人!!!”的界面截图发过来,我建议你将这篇的前言复制下来丢给他(或者下面那张图),再将这篇教程丢给他。

Driving with your eyes closed

当然,必要的时候你也可以打出下面这张图:

?

好,让我们言归正传,崩溃报告和日志究竟在哪里呢?

面向普通玩家

HMCL

游戏崩溃后在崩溃界面点左下角“导出游戏崩溃信息”(不要点“日志”!),然后把导出的压缩包整个发到KOOK/群文件。

HMCL

PCLII

游戏崩溃后在崩溃界面点“导出崩溃报告”,然后把导出的压缩包整个发到KOOK/群文件。

PCLII

如果你是普通玩家,看到这里已经可以照着上面的去做,并关掉这篇教程了。

但是,如果你是一个运维……这还远远不够。

面向运维

解压压缩包

将启动器发送的压缩包解压到某个文件夹中,即可获得崩溃报告和日志。有时候压缩包里面没有崩溃报告,这是正常现象;如果压缩包里面的崩溃报告/日志没有完全导出而有缺少,你需要去直接获取崩溃报告/日志(或者去教那个普通玩家直接获取)。

直接获取

打开MC安装目录(在有版本隔离的情况下为.minecraft/version/{version_name},没有则为./minecraft,服务器为服务端所在目录),找到crash-report文件夹里面那个最新的文件,就是最近一次崩溃的崩溃报告。

在安装目录里找到logs文件夹,里面的latest.log和debug.log就是最近一次启动的日志。而压缩包则是历史日志,其名称表明了其为那天的第几个日志(如2023-06-02-3.log.gz就是2023-6-2的第三个日志。)

注意

有不少情况是不输出崩溃报告的,此时日志就成为了诊断的依据。

警告

作为一个正常的程序,MC每次启动都会打印日志,无论其是否崩溃。

也就是说,找到的崩溃报告与日志有可能是不匹配的。

',25),n=[c];function h(d,u,_,m,g,b){return t(),a("div",null,n)}const q=e(l,[["render",h]]);export{k as __pageData,q as default}; diff --git a/assets/guide_tutorial_crashreport_Episode1.md.I29Dfgdq.lean.js b/assets/guide_tutorial_crashreport_Episode1.md.I29Dfgdq.lean.js new file mode 100644 index 00000000..58ee5118 --- /dev/null +++ b/assets/guide_tutorial_crashreport_Episode1.md.I29Dfgdq.lean.js @@ -0,0 +1 @@ +import{_ as e,c as a,o as t,V as o}from"./chunks/framework.3rhKcKOk.js";const r="/assets/1.QpSIGOQw.webp",s="/assets/2.WHlrOHio.webp",i="/assets/3.kFXpADWe.webp",p="/assets/4.P3wcxQgo.webp",k=JSON.parse('{"title":"Episode1 崩溃报告和日志在哪里?","description":"","frontmatter":{},"headers":[],"relativePath":"guide/tutorial/crashreport/Episode1.md","filePath":"guide/tutorial/crashreport/Episode1.md"}'),l={name:"guide/tutorial/crashreport/Episode1.md"},c=o("",25),n=[c];function h(d,u,_,m,g,b){return t(),a("div",null,n)}const q=e(l,[["render",h]]);export{k as __pageData,q as default}; diff --git a/assets/guide_tutorial_crashreport_Episode2.md.AvnLe82_.js b/assets/guide_tutorial_crashreport_Episode2.md.AvnLe82_.js new file mode 100644 index 00000000..009334f7 --- /dev/null +++ b/assets/guide_tutorial_crashreport_Episode2.md.AvnLe82_.js @@ -0,0 +1,114 @@ +import{_ as a,c as s,o as i,V as e}from"./chunks/framework.3rhKcKOk.js";const n="/assets/1.gYC_xmiF.webp",m=JSON.parse('{"title":"Episode2 认识崩溃报告","description":"","frontmatter":{},"headers":[],"relativePath":"guide/tutorial/crashreport/Episode2.md","filePath":"guide/tutorial/crashreport/Episode2.md"}'),t={name:"guide/tutorial/crashreport/Episode2.md"},l=e('

Episode2 认识崩溃报告

现在,我们找到了崩溃报告和日志,那么应该如何找到报错,进行诊断呢?

没有崩溃报告的日志的诊断相对困难,我们先来讲讲崩溃报告。假定现在我们有一个crash-XXX.txt文件。

注意

有时候MC输出了崩溃报告,但是由于启动器打包出错/玩家只发了日志,你可能没法获取到crash-report文件。

这时候你可以尝试在日志中搜索 ---- Minecraft Crash Report ---- 来找到崩溃报告;当然没有找到也是正常的。

现在,假设我们面前有一份崩溃报告,我们要干的第一件事情应该是拿一个文本编辑器打开它……先等等!或许我们应该先观察文件本身,而不是急冲冲地去打开。

警告

这样做还有另外一个原因:如果摆在你面前的是一份日志,它可能会非常非常大,导致你的文本编辑器卡死。

1

一般来说,如果一个日志超过了3MB,就表明程序出现了循环而不断打印日志。此时应该谨慎下载 / 打开这份日志,而是先进行重复行的处理。

文件名

一个正常的崩溃报告的文件名应该是长下面这样的:

crash-2023-01-02_06.11.37-server.txt

其中2023-01-02_06.11.37是时间戳,而server则表明发生错误的是服务端。类似的,client表明客户端,fml表明Forge Mod Loader。

一般来说,发生错误的地方与其错误类型是相对应的。例如在fml发生的错误往往是Forge损坏 / Mod损坏 / 前置缺失,不可能是渲染问题等。

崩溃报告结构

下面是一个比较典型的崩溃报告:

crash-2023-01-28_17.16.47-fml.txt

我不建议你在这里看
markdown
---- Minecraft Crash Report ----
+// Don't be sad, have a hug! <3
+
+Time: 23-1-28 下午5:16
+Description: Mod loading error has occurred
+
+java.lang.Exception: Mod Loading has failed
+	at net.minecraftforge.fml.CrashReportExtender.dumpModLoadingCrashReport(CrashReportExtender.java:71) ~[forge-1.16.5-36.2.39_mapped_official_1.16.5-recomp.jar:?] {re:classloading}
+	at net.minecraftforge.fml.client.ClientModLoader.completeModLoading(ClientModLoader.java:174) ~[forge-1.16.5-36.2.39_mapped_official_1.16.5-recomp.jar:?] {re:classloading,pl:runtimedistcleaner:A}
+	at net.minecraft.client.Minecraft.lambda$null$1(Minecraft.java:508) ~[forge-1.16.5-36.2.39_mapped_official_1.16.5-recomp.jar:?] {re:classloading,pl:accesstransformer:B,pl:runtimedistcleaner:A}
+	at net.minecraft.util.Util.ifElse(Util.java:320) ~[forge-1.16.5-36.2.39_mapped_official_1.16.5-recomp.jar:?] {re:classloading}
+	at net.minecraft.client.Minecraft.lambda$new$2(Minecraft.java:504) ~[forge-1.16.5-36.2.39_mapped_official_1.16.5-recomp.jar:?] {re:classloading,pl:accesstransformer:B,pl:runtimedistcleaner:A}
+	at net.minecraft.client.gui.ResourceLoadProgressGui.render(ResourceLoadProgressGui.java:113) ~[forge-1.16.5-36.2.39_mapped_official_1.16.5-recomp.jar:?] {re:classloading,pl:runtimedistcleaner:A}
+	at net.minecraft.client.renderer.GameRenderer.render(GameRenderer.java:481) ~[forge-1.16.5-36.2.39_mapped_official_1.16.5-recomp.jar:?] {re:classloading,pl:accesstransformer:B,pl:runtimedistcleaner:A}
+	at net.minecraft.client.Minecraft.runTick(Minecraft.java:977) ~[forge-1.16.5-36.2.39_mapped_official_1.16.5-recomp.jar:?] {re:classloading,pl:accesstransformer:B,pl:runtimedistcleaner:A}
+	at net.minecraft.client.Minecraft.run(Minecraft.java:607) ~[forge-1.16.5-36.2.39_mapped_official_1.16.5-recomp.jar:?] {re:classloading,pl:accesstransformer:B,pl:runtimedistcleaner:A}
+	at net.minecraft.client.main.Main.main(Main.java:184) ~[forge-1.16.5-36.2.39_mapped_official_1.16.5-recomp.jar:?] {re:classloading,pl:runtimedistcleaner:A}
+	at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) ~[?:1.8.0_341] {}
+	at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) ~[?:1.8.0_341] {}
+	at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) ~[?:1.8.0_341] {}
+	at java.lang.reflect.Method.invoke(Method.java:498) ~[?:1.8.0_341] {}
+	at net.minecraftforge.userdev.FMLUserdevClientLaunchProvider.lambda$launchService$0(FMLUserdevClientLaunchProvider.java:38) ~[forge-1.16.5-36.2.39_mapped_official_1.16.5-recomp.jar:?] {}
+	at cpw.mods.modlauncher.LaunchServiceHandlerDecorator.launch(LaunchServiceHandlerDecorator.java:37) [modlauncher-8.1.3.jar:?] {}
+	at cpw.mods.modlauncher.LaunchServiceHandler.launch(LaunchServiceHandler.java:54) [modlauncher-8.1.3.jar:?] {}
+	at cpw.mods.modlauncher.LaunchServiceHandler.launch(LaunchServiceHandler.java:72) [modlauncher-8.1.3.jar:?] {}
+	at cpw.mods.modlauncher.Launcher.run(Launcher.java:82) [modlauncher-8.1.3.jar:?] {}
+	at cpw.mods.modlauncher.Launcher.main(Launcher.java:66) [modlauncher-8.1.3.jar:?] {}
+	at net.minecraftforge.userdev.LaunchTesting.main(LaunchTesting.java:94) [forge-1.16.5-36.2.39_mapped_official_1.16.5-recomp.jar:?] {}
+
+
+A detailed walkthrough of the error, its code path and all known details is as follows:
+---------------------------------------------------------------------------------------
+
+-- Head --
+Thread: Render thread
+Stacktrace:
+	at net.minecraftforge.fml.CrashReportExtender.lambda$dumpModLoadingCrashReport$7(CrashReportExtender.java:74) ~[forge:?] {re:classloading}
+-- NO MOD INFO AVAILABLE --
+Details:
+	Mod File: NO FILE INFO
+	Failure message: The Mod File C:\\Users\\Roland\\Desktop\\workspace\\ModProject\\forge\\forge-1.16.5-36.2.39-mdk\\out\\production\\resources has mods that were not found
+	Mod Version: NO MOD INFO AVAILABLE
+	Mod Issue URL: NOT PROVIDED
+	Exception message: MISSING EXCEPTION MESSAGE
+Stacktrace:
+	at net.minecraftforge.fml.CrashReportExtender.lambda$dumpModLoadingCrashReport$7(CrashReportExtender.java:74) ~[forge-1.16.5-36.2.39_mapped_official_1.16.5-recomp.jar:?] {re:classloading}
+	at java.util.ArrayList.forEach(ArrayList.java:1259) ~[?:1.8.0_341] {}
+	at net.minecraftforge.fml.CrashReportExtender.dumpModLoadingCrashReport(CrashReportExtender.java:72) ~[forge-1.16.5-36.2.39_mapped_official_1.16.5-recomp.jar:?] {re:classloading}
+	at net.minecraftforge.fml.client.ClientModLoader.completeModLoading(ClientModLoader.java:174) ~[forge-1.16.5-36.2.39_mapped_official_1.16.5-recomp.jar:?] {re:classloading,pl:runtimedistcleaner:A}
+	at net.minecraft.client.Minecraft.lambda$null$1(Minecraft.java:508) ~[forge-1.16.5-36.2.39_mapped_official_1.16.5-recomp.jar:?] {re:classloading,pl:accesstransformer:B,pl:runtimedistcleaner:A}
+	at net.minecraft.util.Util.ifElse(Util.java:320) ~[forge-1.16.5-36.2.39_mapped_official_1.16.5-recomp.jar:?] {re:classloading}
+	at net.minecraft.client.Minecraft.lambda$new$2(Minecraft.java:504) ~[forge-1.16.5-36.2.39_mapped_official_1.16.5-recomp.jar:?] {re:classloading,pl:accesstransformer:B,pl:runtimedistcleaner:A}
+	at net.minecraft.client.gui.ResourceLoadProgressGui.render(ResourceLoadProgressGui.java:113) ~[forge-1.16.5-36.2.39_mapped_official_1.16.5-recomp.jar:?] {re:classloading,pl:runtimedistcleaner:A}
+	at net.minecraft.client.renderer.GameRenderer.render(GameRenderer.java:481) ~[forge-1.16.5-36.2.39_mapped_official_1.16.5-recomp.jar:?] {re:classloading,pl:accesstransformer:B,pl:runtimedistcleaner:A}
+	at net.minecraft.client.Minecraft.runTick(Minecraft.java:977) ~[forge-1.16.5-36.2.39_mapped_official_1.16.5-recomp.jar:?] {re:classloading,pl:accesstransformer:B,pl:runtimedistcleaner:A}
+	at net.minecraft.client.Minecraft.run(Minecraft.java:607) ~[forge-1.16.5-36.2.39_mapped_official_1.16.5-recomp.jar:?] {re:classloading,pl:accesstransformer:B,pl:runtimedistcleaner:A}
+	at net.minecraft.client.main.Main.main(Main.java:184) ~[forge-1.16.5-36.2.39_mapped_official_1.16.5-recomp.jar:?] {re:classloading,pl:runtimedistcleaner:A}
+	at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) ~[?:1.8.0_341] {}
+	at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) ~[?:1.8.0_341] {}
+	at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) ~[?:1.8.0_341] {}
+	at java.lang.reflect.Method.invoke(Method.java:498) ~[?:1.8.0_341] {}
+	at net.minecraftforge.userdev.FMLUserdevClientLaunchProvider.lambda$launchService$0(FMLUserdevClientLaunchProvider.java:38) ~[forge-1.16.5-36.2.39_mapped_official_1.16.5-recomp.jar:?] {}
+	at cpw.mods.modlauncher.LaunchServiceHandlerDecorator.launch(LaunchServiceHandlerDecorator.java:37) [modlauncher-8.1.3.jar:?] {}
+	at cpw.mods.modlauncher.LaunchServiceHandler.launch(LaunchServiceHandler.java:54) [modlauncher-8.1.3.jar:?] {}
+	at cpw.mods.modlauncher.LaunchServiceHandler.launch(LaunchServiceHandler.java:72) [modlauncher-8.1.3.jar:?] {}
+	at cpw.mods.modlauncher.Launcher.run(Launcher.java:82) [modlauncher-8.1.3.jar:?] {}
+	at cpw.mods.modlauncher.Launcher.main(Launcher.java:66) [modlauncher-8.1.3.jar:?] {}
+	at net.minecraftforge.userdev.LaunchTesting.main(LaunchTesting.java:94) [forge-1.16.5-36.2.39_mapped_official_1.16.5-recomp.jar:?] {}
+
+
+-- System Details --
+Details:
+	Minecraft Version: 1.16.5
+	Minecraft Version ID: 1.16.5
+	Operating System: Windows 10 (amd64) version 10.0
+	Java Version: 1.8.0_341, Oracle Corporation
+	Java VM Version: Java HotSpot(TM) 64-Bit Server VM (mixed mode), Oracle Corporation
+	Memory: 258798592 bytes (246 MB) / 1044381696 bytes (996 MB) up to 1875378176 bytes (1788 MB)
+	CPUs: 6
+	JVM Flags: 2 total; -XX:+IgnoreUnrecognizedVMOptions -XX:HeapDumpPath=MojangTricksIntelDriversForPerformance_javaw.exe_minecraft.exe.heapdump
+	ModLauncher: 8.1.3+8.1.3+main-8.1.x.c94d18ec
+	ModLauncher launch target: fmluserdevclient
+	ModLauncher naming: mcp
+	ModLauncher services: 
+		/mixin-0.8.4.jar mixin PLUGINSERVICE 
+		/eventbus-4.0.0.jar eventbus PLUGINSERVICE 
+		/forge-1.16.5-36.2.39_mapped_official_1.16.5-launcher.jar object_holder_definalize PLUGINSERVICE 
+		/forge-1.16.5-36.2.39_mapped_official_1.16.5-launcher.jar runtime_enum_extender PLUGINSERVICE 
+		/accesstransformers-3.0.1.jar accesstransformer PLUGINSERVICE 
+		/forge-1.16.5-36.2.39_mapped_official_1.16.5-launcher.jar capability_inject_definalize PLUGINSERVICE 
+		/forge-1.16.5-36.2.39_mapped_official_1.16.5-launcher.jar runtimedistcleaner PLUGINSERVICE 
+		/mixin-0.8.4.jar mixin TRANSFORMATIONSERVICE 
+		/forge-1.16.5-36.2.39_mapped_official_1.16.5-launcher.jar fml TRANSFORMATIONSERVICE 
+	FML: 36.2
+	Forge: net.minecraftforge:36.2.39
+	FML Language Providers: 
+		javafml@36.2
+		minecraft@1
+	Mod List: 
+		client-extra.jar                                  |Minecraft                     |minecraft                     |1.16.5              |NONE      |Manifest: a1:d4:5e:04:4f:d3:d6:e0:7b:37:97:cf:77:b0:de:ad:4a:47:ce:8c:96:49:5f:0a:cf:8c:ae:b2:6d:4b:8a:3f
+		forge-1.16.5-36.2.39_mapped_official_1.16.5-recomp|Forge                         |forge                         |36.2.39             |NONE      |Manifest: NOSIGNATURE
+		resources                                         |Universe Journey              |unijourney                    |NONE                |NONE      |Manifest: NOSIGNATURE

开头不重要的部分

---- Minecraft Crash Report ----:崩溃报告开头

// Don't be sad, have a hug! <3:随机生成的一句话

Time: 23-1-28 下午5:16:发生错误的时间

报错描述

Description: Mod loading error has occurred

报错描述是进行报告诊断的重要依据,后面也将按照报错描述对崩溃报告进行分类,阐述解决崩溃的方法。

StackTrace(堆栈追踪)

java
java.lang.Exception: Mod Loading has failed
+	at net.minecraftforge.fml.CrashReportExtender.dumpModLoadingCrashReport(CrashReportExtender.java:71) ~[forge-1.16.5-36.2.39_mapped_official_1.16.5-recomp.jar:?] {re:classloading}
+	at ...

关于StackTrace,可以先看看下面这篇文章:

什么是堆栈追踪(StackTrace)?如何利用StackTrace对程序进行调试?

对于Minecraft来说,你不能去更改Java/Minecraft/Forge or Fabric,很多时候连Mod也无法更改。而这也是MC崩溃的独特之处,MC的崩溃很可能是玩家的误操作所造成的。除了空指针异常NullPointerException以外,其他类型的Exception有95%可以通过不修改Mod的方式解决,其中又有70%是玩家的误操作造成的。

StackTrace的第一行抛出的异常是非常重要的,因为有时候报错表述并不能提供什么有效信息。

要注意的是,StackTrace有时候会有Caused by部分,这时候Cause by后面抛出的异常也要作为判断依据。

分割线

markdown
A detailed walkthrough of the error, its code path and all known details is as follows:
+---------------------------------------------------------------------------------------
-- Head --
+Thread: Render thread
+Stacktrace:
+	at net.minecraftforge.fml.CrashReportExtender.lambda$dumpModLoadingCrashReport$7(CrashReportExtender.java:74) ~[forge:?] {re:classloading}

一般来说,Head里面没有什么有效的信息。

Thread:发生错误的线程,一般都是Render thread

此处的StackTrace通常就是最顶上的那个堆栈追踪。

Details

markdown
-- NO MOD INFO AVAILABLE --
+Details:
+	Mod File: NO FILE INFO
+	Failure message: The Mod File C:\\Users\\Roland\\Desktop\\workspace\\ModProject\\forge\\forge-1.16.5-36.2.39-mdk\\out\\production\\resources has mods that were not found
+	...

这部分的内容会随着报错的改变而改变。

这个报告的报错为Mod loading error has occurred,因此此处出现的是Mod Info。至于出现NO MOD INFO AVAILABLE是因为这里出错的是Forge。

后面按照报错描述对崩溃报告进行分类时会详细讲解这部分。

System Details

这里记载了一些环境相关的信息。在有些时候会用到这些东西来进行诊断。

Minecraft Version: 1.16.5:MC版本

Operating System: Windows 10 (amd64) version 10.0:操作系统,如果是Mac则是可疑点

Java Version: 1.8.0_341, Oracle Corporation:Java版本与发行商,小心Openj9!

Memory:内存

JVM Flags:JVM虚拟机参数

Forge: net.minecraftforge:36.2.39:Forge版本

Mod List

在很多时候,你找到的有嫌疑的Mod是以Mod ID的形式出现的。你可能知道哪个Mod对应哪个文件;但是普通玩家可能并不知道。此时你需要翻到这里,寻找相应的文件名。Mod List不同版本的格式差异比较大,但一般都有文件名与Mod ID的对应。

此外,对于低版本的Forge来说,这个部分也可以成为诊断的标准。在每个Mod前面会写有Status表明这个Mod的状态,状态码不正常的即为出错的Mod。

状态码: 'U' = Unloaded 'L' = Loaded 'C' = Constructed 'H' = Pre-initialized 'I' = Initialized 'J' = Post-initialized 'A' = Available 'D' = Disabled 'E' = Errored

1.7.10 的Mod List

markdown
	UCHIJAAAA	Mekanism{9.1.0} [Mekanism] (Mekanism-1.7.10-9.1.0.281.jar)

1.12.2 的Mod List

markdown
	| State  | ID       | Version | Source                        | Signature  |
+	|:------ |:-------- |:------- |:----------------------------- |:---------- |
+	| LCHIJA | mekanism | 9.8.3   | Mekanism-1.12.2-9.8.3.390.jar | None       |

1.16.5 的Mod List

markdown
	Mekanism-1.18.2-10.2.5.465.jar |Mekanism |mekanism |10.2.5 |DONE |Manifest: NOSIGNATURE

其他乱七八糟的东西

markdown
	RoadRunner != Lithium: This instance was launched using RoadRunner, which is an *unofficial* Lithium fork! Please **do not** report bugs to them!

在崩溃报告的最后经常会出现一些乱七八糟的信息。通常这些东西并不重要。

唯一要注意的是在Client的崩溃报告中会出现这么个东西:

markdown
	Backend API: AMD Radeon(TM) Graphics GL version 4.6.13596 Compatibility Profile Context 20.10.44.04 27.20.11044.4003, ATI Technologies Inc.

如果这里出现的是A卡,有可能出现渲染的问题。

TIP

如果你看的崩溃报告足够多,还有一个东西是需要看的:

Launched Version: 忘却之刻 — Times Of Oblivion:版本名称(整合包名称)

同一个整合包出现的报错往往是相同的(前提是没有乱加Mod),而出错千奇百怪的整合包会被PL列入黑名单直接劝退(如 Isekai Life's Fantasy)。

`,63),p=[l];function r(c,o,h,d,E,k){return i(),s("div",null,p)}const f=a(t,[["render",r]]);export{m as __pageData,f as default}; diff --git a/assets/guide_tutorial_crashreport_Episode2.md.AvnLe82_.lean.js b/assets/guide_tutorial_crashreport_Episode2.md.AvnLe82_.lean.js new file mode 100644 index 00000000..441d6381 --- /dev/null +++ b/assets/guide_tutorial_crashreport_Episode2.md.AvnLe82_.lean.js @@ -0,0 +1 @@ +import{_ as a,c as s,o as i,V as e}from"./chunks/framework.3rhKcKOk.js";const n="/assets/1.gYC_xmiF.webp",m=JSON.parse('{"title":"Episode2 认识崩溃报告","description":"","frontmatter":{},"headers":[],"relativePath":"guide/tutorial/crashreport/Episode2.md","filePath":"guide/tutorial/crashreport/Episode2.md"}'),t={name:"guide/tutorial/crashreport/Episode2.md"},l=e("",63),p=[l];function r(c,o,h,d,E,k){return i(),s("div",null,p)}const f=a(t,[["render",r]]);export{m as __pageData,f as default}; diff --git a/assets/guide_tutorial_crashreport_Episode3-1.md.pVfSz9Gx.js b/assets/guide_tutorial_crashreport_Episode3-1.md.pVfSz9Gx.js new file mode 100644 index 00000000..a420e3ef --- /dev/null +++ b/assets/guide_tutorial_crashreport_Episode3-1.md.pVfSz9Gx.js @@ -0,0 +1,20 @@ +import{_ as s,c as i,o as a,V as t}from"./chunks/framework.3rhKcKOk.js";const h="/assets/1.ATaEMeJ-.webp",c=JSON.parse('{"title":"Mod loading error has occurred","description":"","frontmatter":{},"headers":[],"relativePath":"guide/tutorial/crashreport/Episode3-1.md","filePath":"guide/tutorial/crashreport/Episode3-1.md"}'),n={name:"guide/tutorial/crashreport/Episode3-1.md"},l=t(`

Mod loading error has occurred

这一类报错的特征是这样的:

markdown
Description: Mod loading error has occurred

顾名思义,有一个Mod加载时发生了错误。这种情况还有一个明显的特征:Details部分会出现Mod Info,指示是哪个Mod出现了问题。一般来说这种异常会发生在fml,但有时候也会发生在server

前置缺失&版本错误

一个可能的原因是有Mod缺少了前置或前置版本错误,在Mod Info的Failure message中会提示需要的Mod与其版本要求。

解决方法也很简单:按照提示安装相应的Mod。

一个例子:crash-2023-05-10_22.55.41-fml.txt

markdown
Description: Mod loading error has occurred
+
+java.lang.Exception: Mod Loading has failed
+	at net.minecraftforge.logging.CrashReportExtender.dumpModLoadingCrashReport(CrashReportExtender.java:55) ~[forge-1.18.2-40.2.1-universal.jar%2394!/:?] {re:classloading}
+	at ...
+
+...
+
+-- MOD meetyourfight --
+Details:
+	Mod File: /C:/Users/Akari/Desktop/1.18create/mods/meetyourfight-1.18.2-1.2.5.jar
+	Failure message: Mod meetyourfight requires curios 1.18-5.0.2.3 or above
+		Currently, curios is not installed

在日志中,这个异常长得会不太一样,不过依然一眼就能看出来:

java
[16:39:34] [Client thread/ERROR] [FML/]: The mod manametalmod (ManaMetalMod) requires mod versions [Muya@[1.7.1,1.7.1]] to be available
java
[22:55:00] [Server thread/ERROR]: Encountered an unexpected exception
+net.minecraftforge.fml.common.MissingModsException: Mod jecalculation (Just Enough Calculation) requires [jei@[4.15.0.268,)]
+	at net.minecraftforge.fml.common.Loader.sortModList(Loader.java:266) ~[Loader.class:git-CatServer-1.12.2-4d54207]
+	at net.minecraftforge.fml.common.Loader.loadMods(Loader.java:572) ~[Loader.class:git-CatServer-1.12.2-4d54207]
+	at net.minecraftforge.fml.server.FMLServerHandler.beginServerLoading(FMLServerHandler.java:97) ~[FMLServerHandler.class:git-CatServer-1.12.2-4d54207]
+	at net.minecraftforge.fml.common.FMLCommonHandler.onServerStart(FMLCommonHandler.java:336) ~[FMLCommonHandler.class:git-CatServer-1.12.2-4d54207]
+	at net.minecraft.server.dedicated.DedicatedServer.func_71197_b(DedicatedServer.java:169) ~[nz.class:?]
+	at net.minecraft.server.MinecraftServer.run(MinecraftServer.java:642)

很多启动器、高版本的Forge与Fabric已经能自动识别这种错误,因此目前见到的这种情况的崩溃非常少。

1

Mod损坏

另一个可能是有Mod损坏。如果Mod Info的提示不是上面那种情况,基本都是这种情况。

解决方法是重新下载安装相应的Mod。

一个例子:crash-2023-05-14_23.39.07-fml.txt

另一个例子是在Episode2出现的用于讲解的崩溃报告:crash-2023-01-28_17.16.47-fml.txt。其出错的原因是Forge的核心文件发生了损坏,此时就需要重新安装Forge。

',19),e=[l];function k(p,r,d,E,o,g){return a(),i("div",null,e)}const F=s(n,[["render",k]]);export{c as __pageData,F as default}; diff --git a/assets/guide_tutorial_crashreport_Episode3-1.md.pVfSz9Gx.lean.js b/assets/guide_tutorial_crashreport_Episode3-1.md.pVfSz9Gx.lean.js new file mode 100644 index 00000000..6a635c9d --- /dev/null +++ b/assets/guide_tutorial_crashreport_Episode3-1.md.pVfSz9Gx.lean.js @@ -0,0 +1 @@ +import{_ as s,c as i,o as a,V as t}from"./chunks/framework.3rhKcKOk.js";const h="/assets/1.ATaEMeJ-.webp",c=JSON.parse('{"title":"Mod loading error has occurred","description":"","frontmatter":{},"headers":[],"relativePath":"guide/tutorial/crashreport/Episode3-1.md","filePath":"guide/tutorial/crashreport/Episode3-1.md"}'),n={name:"guide/tutorial/crashreport/Episode3-1.md"},l=t("",19),e=[l];function k(p,r,d,E,o,g){return a(),i("div",null,e)}const F=s(n,[["render",k]]);export{c as __pageData,F as default}; diff --git a/assets/guide_tutorial_crashreport_Episode3-2.md.kxB4ZsjZ.js b/assets/guide_tutorial_crashreport_Episode3-2.md.kxB4ZsjZ.js new file mode 100644 index 00000000..578f4dce --- /dev/null +++ b/assets/guide_tutorial_crashreport_Episode3-2.md.kxB4ZsjZ.js @@ -0,0 +1,2 @@ +import{_ as a,c as o,o as e,V as t}from"./chunks/framework.3rhKcKOk.js";const M=JSON.parse('{"title":"NoClassFound","description":"","frontmatter":{},"headers":[],"relativePath":"guide/tutorial/crashreport/Episode3-2.md","filePath":"guide/tutorial/crashreport/Episode3-2.md"}'),s={name:"guide/tutorial/crashreport/Episode3-2.md"},r=t(`

NoClassFound

这一类报错的特征是抛出以下两种异常:

java
java.lang.NoClassDefFoundError
+java.lang.ClassNotFoundException

此外还经常伴随空指针异常java.lang.NullPointerException

当发生这个错误时,Minecraft不一定会生成崩溃报告。即使有,其报错描述往往是下面这句没有任何有效信息的话:

markdown
Description: There was a severe problem during mod loading that has caused the game to fail

如果你在各种日志文件(latest.log / minecraft.log)的末尾发现了同样的异常,那么这个崩溃同样是这个类型。

从其字面意思上看,这个报错的意思是没有找到类,按理是Mod的代码出现了问题;但是这个错误经常是在一个Mod引用其他的Mod的类时发生的。

前置缺失

一个可能的原因是缺少了某个前置Mod,而且这个Mod往往是个核心Mod。这使得MC没有输出崩溃报告,且抛出了一个不太一样的异常。

一个由缺少CCC引起报错的例子:minecraft-1.log

一个由缺少MixinBooter引起的报错的例子:minecraft-2.log

乱改文件名

来,上圣经!

大佬帮忙看下游戏启动崩溃问题 - 崩溃解答 - MC百科

如果你发现玩家明明装了前置Mod,却还是报了这个异常,你就要翻到最下方的Mod List,看看这个玩家的Mod文件名是什么。如果出现了中文前缀,很有可能就是因此引起的。

这个问题出现的逻辑是这样的:

  • FML搜索Mods文件夹,找到了两个相关(依赖或者联动)的Mod,从而通过最开始的检查 / 加载联动内容。

  • FML按照文件名顺序一个个加载Mod,由于中文前缀,Mod的加载顺序变得混乱。

  • 在加载到那个有依赖 / 联动的Mod时,本应先加载的被依赖 / 被联动的Mod却没有被加载。FML没有找到被依赖 / 被联动的Mod的相应类从而抛出异常。

(FML:奇怪,我明明看到了有那个Mod,为啥加载的时候就找不到了呢?)

这个问题一般发生在一些旧版本Mod上,它们高度依赖Mod的加载顺序,而加载顺序的混乱导致了崩溃的发生。解决方案是将相应的Mod的名字改成它原本的样子(从CurseForge或Modrinth上下载下来的文件名)。

(这也是MixinBooter的文件名变来变去,最后变成!mixinbooter-XXX.jar的原因。非常多Mod使用了mixin,为了防止猪鼻Mod,MixinBooter特意加上英文感叹号来使自己第一个加载。)

可惜的是,总有玩家 / 整合包作者把下载的Mod加上中文前缀,甚至把原本的名字删除,导致不知道哪个文件是哪个Mod;总有启动器 / 网站给Mod加上该死的中文前缀。 在当下,这样做一般不会导致崩溃的发生。因为Forge官方与许多Mod作者做出了妥协,修改了相关的逻辑。但是中文文件名依然会带来潜在的崩溃风险,正确对待文件名的方式依然是不去修改文件名,下载下来是什么就是什么。

顺带一提,有时候MC的安装目录中有中文会导致MC没有声音。解决方案是将MC安装在一个没有中文名的文件目录中(尤其注意用户名中的中文,因此不建议将MC安装在用户文件夹下)。

Mod有Bug

这种情况在开发环境中更多见。一个Mod使用了自己的类却没找到,说明这个Mod写出了Bug。

解决方法是将Mod给禁用掉并在Github上提Issue,或者尝试将Mod更新至最新版。

`,26),i=[r];function d(n,p,l,c,h,u){return e(),o("div",null,i)}const m=a(s,[["render",d]]);export{M as __pageData,m as default}; diff --git a/assets/guide_tutorial_crashreport_Episode3-2.md.kxB4ZsjZ.lean.js b/assets/guide_tutorial_crashreport_Episode3-2.md.kxB4ZsjZ.lean.js new file mode 100644 index 00000000..34484d86 --- /dev/null +++ b/assets/guide_tutorial_crashreport_Episode3-2.md.kxB4ZsjZ.lean.js @@ -0,0 +1 @@ +import{_ as a,c as o,o as e,V as t}from"./chunks/framework.3rhKcKOk.js";const M=JSON.parse('{"title":"NoClassFound","description":"","frontmatter":{},"headers":[],"relativePath":"guide/tutorial/crashreport/Episode3-2.md","filePath":"guide/tutorial/crashreport/Episode3-2.md"}'),s={name:"guide/tutorial/crashreport/Episode3-2.md"},r=t("",26),i=[r];function d(n,p,l,c,h,u){return e(),o("div",null,i)}const m=a(s,[["render",d]]);export{M as __pageData,m as default}; diff --git a/assets/guide_tutorial_crashreport_Episode3-3.md.J7kKtUAh.js b/assets/guide_tutorial_crashreport_Episode3-3.md.J7kKtUAh.js new file mode 100644 index 00000000..a0e4871e --- /dev/null +++ b/assets/guide_tutorial_crashreport_Episode3-3.md.J7kKtUAh.js @@ -0,0 +1 @@ +import{_ as a,c as e,o as i,V as d}from"./chunks/framework.3rhKcKOk.js";const m=JSON.parse('{"title":"Invalid id 4096","description":"","frontmatter":{},"headers":[],"relativePath":"guide/tutorial/crashreport/Episode3-3.md","filePath":"guide/tutorial/crashreport/Episode3-3.md"}'),t={name:"guide/tutorial/crashreport/Episode3-3.md"},o=d('

Invalid id 4096

这一类报错的特征是这样的:

markdown
java.lang.RuntimeException: Invalid id 4096 - maximum id range exceeded.

其字面意思是“无效的id 4096-超出了最大id范围”。

原因

为什么会发生这个问题呢?这就要提到MC如何处理物品的方式了。当一个Mod向MC加入(注册)物品或者方块时,MC会分配给这个物品或者方块一个id,如:95minecraft:white_stained_glass。在1.12.2及以下,MC内部使用类似95:0的数字id与Metadata的组合来标识物品与方块;而1.13及以上,MC内部改为使用类似minecraft:white_stained_glass的字符串id来标识物品与方块,而Metadata被废弃,原本依靠Metadata区分的同id方块被拆分成不同字母id,也就是扁平化。(这点和指令不一样,从1.8开始指令使用字符串id,但内部依旧使用数字id)

而数字id是有上限的。MC只给数字id分配了12位(0-4095),因此一旦物品过多,id就会越界导致崩溃。

解决方法

一种解决方法是安装JEID或者NEID。它们将id范围拓展至32位从而解决了这个问题,但是它们往往会有副作用(例如因为id错乱一种方块全部变成了另一种方块、存档不能用MCEdit编辑等),并且一旦安装后就不能卸载,因此一般会在整合包刚开始组建时就安装上。

另一种方法是删除Mod。这个崩溃也经常发生在玩家向玩了一段时间的存档又加了Mod的时候,此时加上JEID或者NEID就有损坏存档的风险,最好的办法就是删除刚刚安装上的Mod。

',10),s=[o];function r(n,c,l,p,h,_){return i(),e("div",null,s)}const E=a(t,[["render",r]]);export{m as __pageData,E as default}; diff --git a/assets/guide_tutorial_crashreport_Episode3-3.md.J7kKtUAh.lean.js b/assets/guide_tutorial_crashreport_Episode3-3.md.J7kKtUAh.lean.js new file mode 100644 index 00000000..559ae997 --- /dev/null +++ b/assets/guide_tutorial_crashreport_Episode3-3.md.J7kKtUAh.lean.js @@ -0,0 +1 @@ +import{_ as a,c as e,o as i,V as d}from"./chunks/framework.3rhKcKOk.js";const m=JSON.parse('{"title":"Invalid id 4096","description":"","frontmatter":{},"headers":[],"relativePath":"guide/tutorial/crashreport/Episode3-3.md","filePath":"guide/tutorial/crashreport/Episode3-3.md"}'),t={name:"guide/tutorial/crashreport/Episode3-3.md"},o=d("",10),s=[o];function r(n,c,l,p,h,_){return i(),e("div",null,s)}const E=a(t,[["render",r]]);export{m as __pageData,E as default}; diff --git a/assets/guide_tutorial_crashreport_Episode3-4.md.rApn1Li8.js b/assets/guide_tutorial_crashreport_Episode3-4.md.rApn1Li8.js new file mode 100644 index 00000000..d821e5d8 --- /dev/null +++ b/assets/guide_tutorial_crashreport_Episode3-4.md.rApn1Li8.js @@ -0,0 +1 @@ +import{_ as e,c as i,o,m as t,a}from"./chunks/framework.3rhKcKOk.js";const f=JSON.parse('{"title":"Ticking Entity & Block","description":"","frontmatter":{},"headers":[],"relativePath":"guide/tutorial/crashreport/Episode3-4.md","filePath":"guide/tutorial/crashreport/Episode3-4.md"}'),r={name:"guide/tutorial/crashreport/Episode3-4.md"},c=t("h1",{id:"ticking-entity-block",tabindex:"-1"},[a("Ticking Entity & Block "),t("a",{class:"header-anchor",href:"#ticking-entity-block","aria-label":'Permalink to "Ticking Entity & Block"'},"​")],-1),s=t("p",null,"这一类报错有一大堆变种",-1),n=[c,s];function d(l,p,_,h,k,u){return o(),i("div",null,n)}const g=e(r,[["render",d]]);export{f as __pageData,g as default}; diff --git a/assets/guide_tutorial_crashreport_Episode3-4.md.rApn1Li8.lean.js b/assets/guide_tutorial_crashreport_Episode3-4.md.rApn1Li8.lean.js new file mode 100644 index 00000000..d821e5d8 --- /dev/null +++ b/assets/guide_tutorial_crashreport_Episode3-4.md.rApn1Li8.lean.js @@ -0,0 +1 @@ +import{_ as e,c as i,o,m as t,a}from"./chunks/framework.3rhKcKOk.js";const f=JSON.parse('{"title":"Ticking Entity & Block","description":"","frontmatter":{},"headers":[],"relativePath":"guide/tutorial/crashreport/Episode3-4.md","filePath":"guide/tutorial/crashreport/Episode3-4.md"}'),r={name:"guide/tutorial/crashreport/Episode3-4.md"},c=t("h1",{id:"ticking-entity-block",tabindex:"-1"},[a("Ticking Entity & Block "),t("a",{class:"header-anchor",href:"#ticking-entity-block","aria-label":'Permalink to "Ticking Entity & Block"'},"​")],-1),s=t("p",null,"这一类报错有一大堆变种",-1),n=[c,s];function d(l,p,_,h,k,u){return o(),i("div",null,n)}const g=e(r,[["render",d]]);export{f as __pageData,g as default}; diff --git a/assets/guide_tutorial_crashreport_Episode3.md.z3t13YCG.js b/assets/guide_tutorial_crashreport_Episode3.md.z3t13YCG.js new file mode 100644 index 00000000..811971fc --- /dev/null +++ b/assets/guide_tutorial_crashreport_Episode3.md.z3t13YCG.js @@ -0,0 +1,3 @@ +import{_ as e,c as a,o as t,V as i}from"./chunks/framework.3rhKcKOk.js";const k=JSON.parse('{"title":"Episode3 崩溃报告分类&解决方法","description":"","frontmatter":{},"headers":[],"relativePath":"guide/tutorial/crashreport/Episode3.md","filePath":"guide/tutorial/crashreport/Episode3.md"}'),o={name:"guide/tutorial/crashreport/Episode3.md"},s=i(`

Episode3 崩溃报告分类&解决方法

序言

面对崩溃时,你或许要准备好这些:

重启游戏;

更新Java、显卡驱动;

搞清楚你包里的模组特性,更新/卸载报告里提到的异常模组(并不推荐卸载);

一个WE(创世神)插件或者其他的手段以变更出错的区块;

已经备份的近期存档;

一颗冷静的心。

——森林蝙蝠

MC的崩溃千奇百怪,在你见到某个崩溃之前可能都不会想到有这种崩溃方式。但实际上,非常多在游戏过程中发生的崩溃中,“嫌疑人”会被当场抓住并被记录到崩溃报告中;但是由于MC输出的崩溃报告可读性极差,很多玩家并不知道如何在崩溃报告去寻找这个记录。

通用分析方法

在几乎所有在游戏过程中发生的、部分在启动阶段时发生的崩溃中,如果MC正常输出了崩溃报告,有嫌疑的Mod就会被记录在崩溃报告的StackTrace中。

提示

如果崩溃是在游戏过程中发生的,请务必询问崩溃发生的瞬间玩家在干什么。这有助于后续进行诊断并规避风险。

一个例子:crash-2022-03-12_22.50.26-server.txt

在StackTrace中,先去除一些显然无法改变的东西:

  • java.
  • jdk.
  • oolloo.
  • sun.reflect
  • net.minecraftforge
  • cpw.mods.modlauncher
  • com.google
  • 不带re:mixin字样的net.minecraft行
  • 一切除了Optifine以外和底层有关的东西

如果去除掉这些还剩下些什么,就说明这种分析方法成功了;如果没剩下什么就说明失效,需要使用一些其他的方法。

在这个例子中,还剩下了这些东西:

markdown
	at com.meteor.extrabotany.common
+	at littleMaidMobX
+	at WorldServerOF

如果你见多识广,extrabotany是额外植物学,littleMaidMobX是小女仆,WorldServerOF是Optifine。当然你也可以通过Bing来知道这些东西是什么。

由于这个崩溃的描述是Description: Colliding entity with block,必定与渲染无关,大概率没有Optifine的事情。因此这次崩溃的“元凶”就是额外植物学和小女仆。

如果崩溃是由mixin注入冲突导致的,最后会剩下许多末尾有一对花括号{}的开头为net.minecraft行。这是因为,有不少mod需要改变原版的代码,但是原版并不开源,不允许被直接修改,需要mixin在代码运行时进行注入来达到改变的目的。在{}内,记录了对这段代码进行注入的mod。一般来说第一个出现的mod就是造成崩溃的罪魁祸首(但并不绝对)。

通用解决方法

一种最简单的解决崩溃的思路是,我们可以选择禁用出错的模组,并在模组作者给出的交流渠道询问这个问题(如在Github上提Issue);或者检查这个Mod(或者整合包)是否有新版本,新版本是否修复了这个bug(可以在Changelog中查看)。

注意

很多时候直接删除并不是个好主意,因为你可能找错了罪魁凶手;一个更合理的方式通过启动器禁用该Mod或者把Mod的后缀名改为.jar.disabled来禁用该Mod。

另一种方法需要一点点的经验。有一些报错会与特定的mod绑定,但那个mod不一定会在StackTrace中出现。如渲染问题“一定是Optifine干的!”对于所有渲染问题,都可以尝试禁用Optifine/Sodium来解决,而不一定要删除相应的mod。

`,20),p=[s];function l(r,d,c,n,h,m){return t(),a("div",null,p)}const _=e(o,[["render",l]]);export{k as __pageData,_ as default}; diff --git a/assets/guide_tutorial_crashreport_Episode3.md.z3t13YCG.lean.js b/assets/guide_tutorial_crashreport_Episode3.md.z3t13YCG.lean.js new file mode 100644 index 00000000..d83e59c4 --- /dev/null +++ b/assets/guide_tutorial_crashreport_Episode3.md.z3t13YCG.lean.js @@ -0,0 +1 @@ +import{_ as e,c as a,o as t,V as i}from"./chunks/framework.3rhKcKOk.js";const k=JSON.parse('{"title":"Episode3 崩溃报告分类&解决方法","description":"","frontmatter":{},"headers":[],"relativePath":"guide/tutorial/crashreport/Episode3.md","filePath":"guide/tutorial/crashreport/Episode3.md"}'),o={name:"guide/tutorial/crashreport/Episode3.md"},s=i("",20),p=[s];function l(r,d,c,n,h,m){return t(),a("div",null,p)}const _=e(o,[["render",l]]);export{k as __pageData,_ as default}; diff --git a/assets/guide_tutorial_crashreport_Episode4.md.bYO6Hge2.js b/assets/guide_tutorial_crashreport_Episode4.md.bYO6Hge2.js new file mode 100644 index 00000000..7233e210 --- /dev/null +++ b/assets/guide_tutorial_crashreport_Episode4.md.bYO6Hge2.js @@ -0,0 +1 @@ +import{_ as t,c as o,o as a,m as e,a as s}from"./chunks/framework.3rhKcKOk.js";const x=JSON.parse('{"title":"Episode4 圣经","description":"","frontmatter":{},"headers":[],"relativePath":"guide/tutorial/crashreport/Episode4.md","filePath":"guide/tutorial/crashreport/Episode4.md"}'),r={name:"guide/tutorial/crashreport/Episode4.md"},i=e("h1",{id:"episode4-圣经",tabindex:"-1"},[s("Episode4 圣经 "),e("a",{class:"header-anchor",href:"#episode4-圣经","aria-label":'Permalink to "Episode4 圣经"'},"​")],-1),d=e("p",null,"有一些崩溃报告与其解决方法之间可能完全没有字面上的关联,近乎是无厘头的。罪魁祸首在StackTrace中完全没有出现过,只在最后的Mod List中露了个脸,其解决方法也是通过穷举法找到的。",-1),c=e("p",null,"幸运的是,这些崩溃报告都具有典型的特征,解决方案也比较单一。",-1),n=[i,d,c];function p(l,_,h,u,m,f){return a(),o("div",null,n)}const g=t(r,[["render",p]]);export{x as __pageData,g as default}; diff --git a/assets/guide_tutorial_crashreport_Episode4.md.bYO6Hge2.lean.js b/assets/guide_tutorial_crashreport_Episode4.md.bYO6Hge2.lean.js new file mode 100644 index 00000000..7233e210 --- /dev/null +++ b/assets/guide_tutorial_crashreport_Episode4.md.bYO6Hge2.lean.js @@ -0,0 +1 @@ +import{_ as t,c as o,o as a,m as e,a as s}from"./chunks/framework.3rhKcKOk.js";const x=JSON.parse('{"title":"Episode4 圣经","description":"","frontmatter":{},"headers":[],"relativePath":"guide/tutorial/crashreport/Episode4.md","filePath":"guide/tutorial/crashreport/Episode4.md"}'),r={name:"guide/tutorial/crashreport/Episode4.md"},i=e("h1",{id:"episode4-圣经",tabindex:"-1"},[s("Episode4 圣经 "),e("a",{class:"header-anchor",href:"#episode4-圣经","aria-label":'Permalink to "Episode4 圣经"'},"​")],-1),d=e("p",null,"有一些崩溃报告与其解决方法之间可能完全没有字面上的关联,近乎是无厘头的。罪魁祸首在StackTrace中完全没有出现过,只在最后的Mod List中露了个脸,其解决方法也是通过穷举法找到的。",-1),c=e("p",null,"幸运的是,这些崩溃报告都具有典型的特征,解决方案也比较单一。",-1),n=[i,d,c];function p(l,_,h,u,m,f){return a(),o("div",null,n)}const g=t(r,[["render",p]]);export{x as __pageData,g as default}; diff --git a/assets/guide_tutorial_crashreport_index.md.BPEkWplO.js b/assets/guide_tutorial_crashreport_index.md.BPEkWplO.js new file mode 100644 index 00000000..440b238f --- /dev/null +++ b/assets/guide_tutorial_crashreport_index.md.BPEkWplO.js @@ -0,0 +1 @@ +import{_ as e,c as r,o as t,V as a}from"./chunks/framework.3rhKcKOk.js";const f=JSON.parse('{"title":"PL的崩溃报告宝典","description":"","frontmatter":{},"headers":[],"relativePath":"guide/tutorial/crashreport/index.md","filePath":"guide/tutorial/crashreport/index.md"}'),i={name:"guide/tutorial/crashreport/index.md"},o=a('

PL的崩溃报告宝典

Minecraft是个很玄学的游戏,就算你什么模组也不加,玩个原版都有可能崩溃,无非是比有模组时少一点罢了。

——森林蝙蝠

作为运维,无论是面对着大大小小的服务器,还是社团里社群里形色各异的普通玩家,总是避免不了遇上崩溃。

如果你面对的是社群,你大可以丢给他们一篇森林蝙蝠的、深湖的、北葵的崩溃报告教程而不管他们死活;但是作为服务器运维与社团少有的技术工,你必不可能将这个问题丢给社团的普通玩家,更不能指望让服务器自己修复。

此外,在很多情况下崩溃报告和日志的报错与其解决方案之间并没有直接关联,需要大量的经验积累才能从报错转化为解决方案。

于是就有了这本面向社团运维的崩溃报告宝典,供各位运维学习查阅。

',7),l=[o];function p(c,s,n,_,d,h){return t(),r("div",null,l)}const m=e(i,[["render",p]]);export{f as __pageData,m as default}; diff --git a/assets/guide_tutorial_crashreport_index.md.BPEkWplO.lean.js b/assets/guide_tutorial_crashreport_index.md.BPEkWplO.lean.js new file mode 100644 index 00000000..935407ca --- /dev/null +++ b/assets/guide_tutorial_crashreport_index.md.BPEkWplO.lean.js @@ -0,0 +1 @@ +import{_ as e,c as r,o as t,V as a}from"./chunks/framework.3rhKcKOk.js";const f=JSON.parse('{"title":"PL的崩溃报告宝典","description":"","frontmatter":{},"headers":[],"relativePath":"guide/tutorial/crashreport/index.md","filePath":"guide/tutorial/crashreport/index.md"}'),i={name:"guide/tutorial/crashreport/index.md"},o=a("",7),l=[o];function p(c,s,n,_,d,h){return t(),r("div",null,l)}const m=e(i,[["render",p]]);export{f as __pageData,m as default}; diff --git a/assets/guide_tutorial_survival_redstone.md.WvZxjppC.js b/assets/guide_tutorial_survival_redstone.md.WvZxjppC.js new file mode 100644 index 00000000..a94ab519 --- /dev/null +++ b/assets/guide_tutorial_survival_redstone.md.WvZxjppC.js @@ -0,0 +1 @@ +import{_ as a,c as e,o as t,V as i}from"./chunks/framework.3rhKcKOk.js";const r="/assets/1.KAMMEYFx.webp",p="/assets/2.fe4AqjwS.webp",s="/assets/3.c15tycHJ.webp",l="/assets/4.i5OLdjeC.webp",o="/assets/5.NBf3CMJw.webp",n="/assets/6.okV0A7id.webp",c="/assets/7.nifdb_eu.webp",h="/assets/8.ha3VaaLh.webp",d="/assets/9.EqbgVLDi.webp",m="/assets/10.xOhwYbXx.webp",b="/assets/11.wq51Wfd3.webp",A="/assets/12.6pH4rczX.webp",k="/assets/13.FmvLPua2.webp",f="/assets/14.z9QL-7cq.webp",u="/assets/15.kVEING1l.webp",q="/assets/16.sAsPXsxn.webp",P="/assets/17.z8r41cn4.webp",g="data:image/webp;base64,UklGRlgEAABXRUJQVlA4TEwEAAAvKQYWAJfAJgCANDg3NchDVrL47cz1ooaaSLaa/4klLvCvARzkEgs5VSiNZKv5mRbovxRqwDHoIBlUZv4DAJz/w5RBRP+bSBGRZCI3xkXL2u4+HLXTNkmtmPrg0ukmUM2TqjJAkG2rbWM7Su/Z/2oVfhW2QBHRexH9h8XYVtzm3G7UxL5BgisZL0n7d/mr192CqrYBLh2k/RAcKeBIAUcKuFqcq9M/y3CkgH9KnFZLCe29mcrPqRr5qXc8OPxnpwFmPa6WACDY3pupAKB+rqtfAsDhP5sfvbbsabUke0OgvbtT69d/luV+lu1Dx9cvq2/Hw3/2GpyF1omc9t5uyV+kp5VOvF8e/vPPBvqyw3/+QJigeijk9xfzHneIgNrojL8zgHU+4+93K9t9lSX65QMtHgIaYfiElhafhZb+AfiE69kV8m1gD4qWPRYfhXwbGFsoU4n0p8UUEg19Io5/A3vNKxNae7E+FFn4NjC6MM1KSBa3ZMbYqQWQmUm350RLJS1xsqqMLUwoa/v3aMm0sefJNUdyPXqO+feMGdmmqp35Qa/yQM2BNTJ5fNl7S9rvjL/6XulBHg9BWRmmrEHVuMIEmS2kJzm09JH7sawfbCfSxQT7WcTn44F25ou9CqnPnGrzqg/0+tJHqt5Cz55I+gAZKTaioKVPrIpeK3run1VFexbu3znUFrzMeq1OP4pIQPqQnjR3lktWqJdZvwTau8lUzoyWDgD5OOnD7av59AIgn+9ZzjQSssnolw8OWb5iGQbY7TiKQOZAAnEvE7TsiZzLF1lP+0J+cS4UKrOndFDyRckXy4dKh73EB0g/0lef4rs6yCvzUmx8wc6N/GQBtD1oMTznDLYyMonkBjQHEr+PfgLwYvvSx6xWJb6o5oIXGCKB8QT//qvozLZnDtyPdiYhGS+0OHbuOFHUR2i548X2ZY1Zbc61F8YY7Gp5s+5R5JXT+6Wg+XEWFC3L86y2BogCtFqVZwD5fIclU0iie7iGwjNGGKzMqIG8K573DFrP7ifIB/rQffUnpH0+X0ZhpEFm0FJMIH1VeqsAeFZUSQ8X2vaoq//UVeVsKrfKg1M5K7LacfTAny4eJmTzCXk3Jv2uS31RkBnk26sFWI4A6eSLPYWWRdpo5Uksa2TrO0jvdQejs+3DCIk/+a4AEr/vkZVI5Va01fdFgSyvOOjLnS9ajrS19hDkB2wHcrTy+tLHsxbjNlyZ8CGoWGF0YULsSh+aH7ilO5Mb8CQe2TZ3Zb19I/UV0uDqNciPoDJSLPuL9y53S9//DvD6QFD9ygLncWymAoD679+9XL/MTTGSHDG4le8FaT9JXe041vM+62W1xFm/BNp7MxVJ+rGvOaV7yOW6+iVJHv6zFdJdi95WSwAQbO/u1Pr1n7rx9cvqx4PDf7Y9Roq/PPzhP5seu6l/U9vlFqt+ru//c3T4zyhJk/wf8Q7/GZZpFR3+cyANAQ==",v="data:image/webp;base64,UklGRvoEAABXRUJQVlA4TO4EAAAvJsYWAKfAJgCANFgBlwrkISkVKOEVZL5dq8E2AIAkxAH8/1Y3PNCpTqqNbCXiKgL6r4eM1DHVkDG6nf8AAP7/hzGDEH3fRJLoqKCqSzSMs11z2HsKPWwjfd8ErbDExO1UrvxQjjQGCbJtxW3UmUfZmfa/WBn+ex+jCNQiej+i/7IY247b5txuimj5kgV5AVLyAv3d7pR0d1Fpp4RuF6PPRLe7XQ0TRBz+8ycWN9Xp8J8dE/9WSwXaezMVTz31urCsfnn4z44CzXpaLUmSs703U0lS/SyrX0rS4T9bHV2273m1lHcFR3t3p9av/1yXh1nYh82y+mW+6/CfHQU3mdaJMu29XYMjyY4qG3+/PPznDwzsfYf//MfgXn5fwGEFtShDae/Sul3WdyNpnS/ru5G03Re5Rr98DMSjQyMI/sjwMgVy4Hd5HV/KFCEg3EK5d1zXPR9W8CBOibgnGFG4d2mpTLOk5OeGuCBi2du95CCavDoZQnBPMK4wAfGRIEXY+EIud1kuDDGpa7t2F7z13OthRZIVN6WKjChYMSJxJ9sipvAFyxT29JQnfszwM4VJ2sIUjkqmnhFtxI96lcewHKBhifGFJ0na77K++j6qQTkenUIBZhzB1DgCigv21Fb8r9QRjhZ26VrCDsseKI9MX5Ep0GJ+S/GlXiXCXiq1FlIfg/VlD1O9hR08nuiRSkTYaIL/1FaMvWzt825Pnk1xjQOhqCQ8UFofXme9VacfQxFS7iP3ZLlDLqNCvc664GjvJlO6FJo6kPLH5T5oX82nV0nl+Z5FRlEmTIl++UgI+fIFmITHg9EDu1gO6wvjm8BKJ6eIWHEKRxxTxLf83kZEfGneSJQGT+og5Us5X0ofmjvsJU6K4Ml99Snci3+8RbkIG1PwTk5JKHDyCSnfBBZHBLxoEApPukmWP38924g8hvInsBzk8D76CYkF+7IHrFbFv6vmDRYJL7OPKvBxgk57Rc7yn3uWw63DlyzCYU9+TcG/SEhrgUOHxFAfYYUOC/aFBqw2Z+kb4wkll7OZJW0rOHywESZxE1W4JZBryYo527U9HdZ2sEW+DF2Xl1ltjeRFarUiL5LK8+1WHkE5toclbLxoJIFfzva/FKAdaMw/UKxJEQxTcA74FzC3ooifEruNdsXq1r1EOlhx2L76kwh80V6JjQEF54uZe18KMI+w1KP9WCvarCLXAV1i6PFvH6EV+RFzoEq6d6Ztj7r6T11FbqDKFnkkVeZAaDwYSWCmpvhL6LhAsb1cnOGoKwXvzJo44zesN31tIfIA4iazfmQ5Qi85+KWewgoia6hi4goNa31HBPuCgt7l9ZEF7lTXMifZcovwbNT5T/z1gPxLqJb2cSKkViJ9KUEudCTkyDpqDxFxEnaQD1WsL3swazF+h5ccfHTKtzGI4NrHnepaHvQvvgbMB8zxbViO2LbB9VsXfo9uvUAaXL2FWcypEhF2wAEe9rk1DuyD81TOcUmf6Oyt8o57hCtc/b2ZSpLq/0Qf1+uXZSMsImK4YDW/893+jPr75SjPedbrauk864KjvTdTnSXx4FentT2UZVn98izp8J+dAtxQ/bFakiRne3en1q//1A3XL+sfDw7/2eIYJm4IwuE/Wxz/Ae/n1vK1iv+VC6qxdYe86md5d8jr8J8hnCXdvcfDf/5wYHl6n3X4z19BBA==",w="data:image/webp;base64,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",U="data:image/webp;base64,UklGRrYEAABXRUJQVlA4TKkEAAAvLcYWAJ+gJpKt5n9yzi0VtPh3BQr+YENRI0nK7usYVJCYc3JWUQE9z8MmahPZiv79o4/ZmYmV2atYlR/mPwAgIkJERIkoiS2ggaufl5tVtvGXTdMPn2auv+qsa9Yj+cLb0JQyQJBtq23TE/eW/W9WFu/9j3EEioj+i+i/LEa267bZk5dCwjokYB6AtBi3+nubHfT6a2m6+14lajeSlh56HWklkliOotmI9+L0nwv6x5+XyZKfl9lUdqIY2Sm3H1f/WYgQg74nS76iUX/PpoqIeD4iIsrux9V/ZkVaruxnsmQvAv09myod2R/L5yDuA/Nc41FatPrPQoT3RNOIrb/nW/IX4cTC+Mej1X/++QCXrf7zB8NHIAd+hz5/ETV7VeC7pGm+KvBd0nxf5RHj0UYMOdTTcFRE6sCePakv7o+7CqJlLCyPGIeRbCfoaXhThCd9JJQ+yIHF3dj1kWjJupshm9E6ADFsJ+hZsKXL+GF8M1vS2FfqUZL4T7YqbcDXoL/pndIP4jNauar0NKTpYgM4Mor9FNEq3Mu2g6zp1SrYV0yZC+YLOZK8vh7Rjnq5KrC8d4+Qj41TLMfAI0D1MXwMOsqXP6hofJCegP0qnRdrFbbh89QypCMMzg3mAvuSDkJ+PL4iInK2I3XcCuD88SSQlCPJ+hnehNOHnQknFv69bZXelnc1xnXQpSjdSRwk8nqiHgvTdZAN0N9VoTvIQXoC7oL72egijy/UsnztAI4qQ1dJ+TkPMiZSIk6O8WhjEPPlyzGJ92NfAroSkO0oYvGS5tJR+AS2tON5J0l1zxfQ3cNF25G+xGCeuI/6x5Y/PDtSUm/clwVvO1oJ204iF+VLsr4E65wVIkKygLzxma0Ia9ox5/V/cM+ZGOnuAc17cSKQU+6s1sHjykE5ZrRSh8wJSz3/DJtkG99qC39RyQdWDuIr8X0L/PW23h3TI4BDoHRNHqWdnTapYssguuoOVPegkYWlhhXbKHX3LGHsKYR98nbXJs9+0M8gcfhsVgyyr7mztGsd2Iq5dX4rAhV9KYAex21QTVbBqWEnzTNLETuwpZDP59Rzi4j8nN1KkygFe3iGg1v0NPh2TEcuAoqnUCsRcZHVAS6yrKm3AV4f7PW9qRvcAn8V7rONkPg1fzkO+htwrthXylmVtsNWhV8niJ0V8CxPVHvk9IFX03Nz0LRRzvOnrCqiyltlY1SeB2L92LvA/0KrB08KtdQDoSTCOxYiDxHcRynU51WBksfXRRZfbCzztqONkKx7FXpX4Psb8F4jlneCkL9KRGuAc4btPcJem4tfp8t81DoSH3nQCJQ6ye8LtSR3O+qC32E3w41TvoPeBl5N4gmTqwrzXmv8TqP1k9Ewag2kg1M5kqyPQWJ/KcmXL2yXEb+rymOS1OZM2/Pnud49Qt7nZd4kk6R1DJ7737u3VKWsfuzz2Q+6Tpb2g2yA/p5NtZdkh+9/iz08lr2ksvtx9Z9ZkhYrOk2W/P9XnKfZVOmIXja28aj8flz9Zzakt7iTC6v/zIbMxTdFTNOsJrrtn+XzfPdCbA2ZWCCjhqal7uHkMohY/WdepK20yos6MqLPRf9hIAA=",T="data:image/webp;base64,UklGRnoFAABXRUJQVlA4TG4FAAAvK0YXAKegNpKt5OPupESQ0n9X0IC1oSi2rYS/wiWFhaEJVTWBLcnAn1GbyFb07x99zM5MrMxexaq+MP8BBCJACBACdH66+NEloIKlnp2anrf6loHT90lQV24159XK4V1hTMhSGSRIkiS3jcxDl61b/38sgJ3pGYLcBYg1uiP6D4m2rarNuZMYiF5ZhbuWKP3NDquF/tw0qRX1d6rDiqL9TdSNwR4X7f5zP+c0O+3topv2agvJQ7UU52E1Fc7DbIQz33bc/WfjAQc9V0uxokl7r6Yiyetj3v2SJP9bw6Gf4CBtIMG/Dn+rJbDIbu/VVOW4flkeB/k+bK5rPCqL1k4OUi/BQeomOGhDyqlQrcho7/WW/CI7r2zi/XI956DdfzbF2GW7/9ydOLM8AOouy1Wmw9Z4BvBEsi7ktvd6X+US/fKFHi8B9S+cQaG8szxATrrEvF/WPwPa7uGlkcfbRNgB+hfeATlJEhSeQ/lk+zdaB1Dt1iysEHefNQu9a1lvhjywA/QyRL1YyYVlQ0aO+SA+s/MwlnHtwtOgezRWLlmZk1WliwESmltS6abMCzDHICG54mee4T+odmMsex2EZle7k3WHZdwHGRuZfB+eN8Sp3w455137ZwDn9zMh5PESlJdixh5M9TD42XKmnyv2VatIOpSOMrIQv/cXTUAyJ1tbh1fGPC0BvBHDG00QH6Q35iDnYY1Lng87hTwXvs/ST855tzV2+kTyR8rIsR4Gf+UQ5CrTlNLTpea57SyM8s6MF6R/d3FN+B70NSuNFA4KRT25Hmem70EjgfauskbiPiJuUUeWA9+H5yfik5TeFD7viuubZD6fg8A8KuST0S9fAMlRLMUkfzzoT4jeX+s7Iu28iV2RijwDiIFlZHm1LZ6GLcOTodHDl14nepKH58n3sRzB0sc/g5LS29IBWzPkS3k51r8gIU/4obPu44vY7v25eZRIJpLTNvCcovPurYQ0pgwnGj1YV7x8SMup76y1sUYT30cE3PebfB9ohtm+LYf+ebcS8aI5b2D4+yGlPgZ0hhtLCTuvIiC5EX0G0MtEfIafjL0ntVYVLIHcuXZDrQw+qvg+sjas8cjyMf2cN7JFeBPaDm3ItW/0MuArBGKz7vZHz5QuRZkr8e/GFMsebC2U1sGbJ0evbJFW0ZNo6HL8DFoWVUg/w3DKdGuFKj8k8/kMq8yhEtvDNWz8sIcBX+nczoPyoxZoAklRyvyLeI9f0cJWN2wpyC+hDuwiZCZ9CWL5iVUhbTdLCMl/wi9joychmgPRKug8euS9iAuyfHrQXqUkupH3M/C0FlgV/6lA29kM+nih9kciEWLXymrDfPrPvKqcXOVWeQGVsyNvPOhP8DInuiPJPh662ofk42cdknDoCiSxDMOTsaV2ZOWQvS6h5YH0fbQu9gjj+7gE8Wf+ECTcJ9IOywIJXZEwOu/eu4AlU5Ry91Z+IK+i99mSaJZhZaTtQ8r62XdaBTtlvFVGvLtx7TtzPR+ti2SPMKgP1C02Cnm+S4eWV8yHFPWJjoD15jasWfgSVGyjVwFPjRh49pzpVYvOc8e+h5Nf5rXNNH+yfm6EenBb+vZtpQUy7rqSo+WR3oLKyLGehNhRbA8RV6TvEXUbfXov4gVPmcyffLMiVElJrKIqq8z/Z0K4XL/MzTFJ6jOoy+8etr1j/v2yv+ffoO9qSYNGAu29mkqScPx1C20PuVxXv5Sk3X82FGDj9Ue19EAy2N6LU/XrP/MG65fzHw92/9loIEmsluLtfd/7+/jv/rMGsiZrhfxnrF4JV6X/67PxQT0Gy+h/YLj7T29Is+uYq4O0refoapuFmjmUOgOOrjoDjp56BY5T1RQB",R="data:image/webp;base64,UklGRqoFAABXRUJQVlA4TJ0FAAAvNcYXAJ/ANACANLh700Qm8/9D0GH7Q1EkSc3t6+7INhCDE6xmBGAEqhQnABJ5+xKf4rshmqddo6kS5j8AQQgEgSDQ977/D3IFaGC75+QyyrL8xtndM3Jsc129Hi4lHUKyyiBBANu4bXZvqXv3/591IgKUlUrJrBqI6L8sSLLjtpl1DooItUAVsBWApA/+/dhZ6WdOPz4d/WpO/kx0+M/A0T3tVZk1fh1J8bU4Rxsl+3d14eE/OzW+dUsV2vtuKp526sXT7nhw+M9OBq361y1JUrK976aSpPa5rn4pSYf/7ETIj9gf3VLZMxLtfXOqf/1nW/6swj5irqtflrsO/9nJ8KtQn6jT3vdb6u+Kkysm3y8P//nihHjf4T//qfiteq6kOt62q6mU96aE+nZ14S9Jfb668Jek+32RLfrlSYhTQvMJ9f+S49Gxhzre+CSq4Z/xBv1eiHuDvR4olxDLhbg3mH149PbUSaIaM1qPzsO/wd7urolopmsJhODeYMbhd1IMTMrkvbFJE8xoBeLa4TLbKGiNDX9X/Z++Q/tiPNNVq8iMg/3oIDkoMbNReNUbpwjyxuVHNtFQC/D+Hs2217hw3vewik2xkSY7nnA+sKfozE5mLKpbp8hb5KJuPbl69/rqwva+yoV6nJJCeRYcIdRsQitHQHnBr3pLlz5ib7n1ej7RYq8SnkOrMZs3Ljwo52n0iUaTcnw5KXISe7qcz4gdoFEoVydUxziPIhdcPSM/sW+bq/cYE+dQJonsGok2H4FnwzKUufNoBE495IqpMSoStUrmNfRSH3hb9dqUzhQOCmU9QY+N6W3VmUR7d1cr5hwwTrDH2HmdOvE1y9dTsiNfdO06rDfb9XlZRSZTIUyNfnkiZKBcntl4PJhlQPNLmSsHa4A3cOoxRR6dmzVjszRzx8Tx4G+g1YNf/XChv0YgT9jHLYDdFlwO8fUsvd0qcHcoeXW9RJt3QPNNHJmMkOxLal2laJcOo9ksLucy4ONI9qhgr3ljXejsIZoPw0iRU+xsZInHEA523MHUqRP2waZZ7Bu1Rux7dMjvanmDAx9HsucO2irCg1fk46SJsoVbH0cwZwhjsD87vxExSkW4LIKr84HGl3Jmg8kfKcoYNO7U2MA+cR1R+mVYzI57Y8e1b8xSxPlhb+etnEkrPfCg1f0x28istLPzXlK0668VaDveV41TEclmsRdLbRWRcJrxlDnX+yLvkurzklaZSCWxh2vYeNe8w2/ZeSQpzg+enLdoNgzNfrGgNhm/jWgWjHUQ72LW3seYxRkvLVGvXrGbWwYbXztYY2P+Aa+UM//20XacNBlqeEPn8aKktLki+Y3RgiuCrzeMnTXQ2wuNz9WFPFJr2BKThrmZtF7QTv9pq8gvqLpFTqTqHAiNBzMIdV/DMMmAHUoc+A1wDZFfdnW9PBsY5d5YHihKpPjOiJEHCfsYVbjEQKNO6WAbMlcTZuqR8YlHx9sAm70nYnalftaBSSB21Rv/jfsLShjGWZw9uTuiRGcEo2wcu404b9A9TdA5vfH5vcjHyGIvRg7QqFM6WIw9xs65cQnVga8j9p71yY6J/eVzuGviKamWN/gEenQdh+xZV0w9uP/TcJ8bHTvjsrFPn0Pwcxy1r4zBE/y8DVekEcdekqqRaPMN3CxYxmHey6O5ejBzVlu3yGNSHaFLqsRdVOXL7X++8u36Zd1Es+3Zg55/j077Mtrvl18D8LTqrVt6WnUm0d53Uz3Z5sH3wIo91IXrl22PB4f/7FDgRu7nbumbpGR735zqX/9pG65ftj8eHP5z92TW+KnaH/5z92Qv+2D+rpfvhFp57Fl7d+zvlHaNzwCz09TcpbmA6kX3j3TzOf1tU3QCYMNde382LLoXfCDW3Wa7ovPFYxSfNbDtWQN7n8nPSeOXPWvgscQA",V="data:image/webp;base64,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",y="data:image/webp;base64,UklGRooFAABXRUJQVlA4TH4FAAAv/oMqAE/BNACANDhdn+D/yCNU7aQpfgSj2rZS4VqABPQvQgEbsv7UXS7jNpIULW/+6e2f+Ziv538dACE74P8+TCmQUj4buRd2/rjD6oD2/zqgA5771n7GtIXwUhiaOk58eHXAOhza//u/z3WevvfV/t8+tESVyevxxbVmoCjbttu2cSAzPXEv6l0m/v8PI757z3uCOCHwTJwd0X9HkCRFSvVnL3Uggg5hwWOeJ0uU3r6IeLX6CRXPVfxzeKgngeOIvDkc9Dp4M1ktXLw9wgDLL9OzAtv+bbKy7fVp/pD0VyFX6Rnt3PvJqjy1Ps13WafAOfAVOAdc6M52Hb8UWkfnFLiwHXMGfAWc6pvtVRIG2sY0UBvdQAsG2kU1ldqqi3C24U/bpZ2cA6fAM9q5M+AcuAHaTTfKXmXjDFeoy2CkLiYlSi262lIM1JZUj+qla2tIpW7MnKiGYm93pL1AZwLA7gvEzbg9sBO3oCkyEMc0Av9FEaiozQrtPzY+OKYb/dtM321fA23IOhHbQBnaC3QTDJXKGjdA2ZRHBnaPK9Q14ChuzQhq66RFfeXl240msiGldCNBDaTab2xsbzmAgS15J6LVJR0DVQ1PUtxkW5lB9hZf6xK0sCYAUKygRX3FRDHpZppZUhbHPkG77IDgb+AU2LGUQr8Wsu0L2+UwZMmt7Xo2lVKMCWxCdQu85NVQNlAodzJr2o0l6oDUDQhm1jSdSxRyA8vijAdQ44fuu50tBzCwpcZSoIU1dSMMRA03H1QcUZr5SEZuXllUSom1G4DtyeMuuxRaKaNOUrS1/57owLgk5itQ8q3QJ9slp4C+1OgD8DHRRlAWV50xQRzhB6BboL6xZXYTRQIaNTuacYF023JHWUeh/U3SPG61JrKORmlMJ8yGaJOIP7qdNXUP1DVlLaZympESXRRTm2lAu8ZVngOF2o7FCNRPFIoNJCerLaWOBmYWzoFnzoBL2/El5TKkL0AZ2z3wUjsqJLKhs2CgdvpvGU85+KjtRE1as4MM5QZlW1rElJerZmcks7HIFGcvprzTZTBS14jjJlvfoYgbfV0J4oHM+uVPmhFpZc3LVx5XUUoSP3Y24Xcgnkp0CgSkeuaz7UfbU995524B9SXaoHdPdPvKyxBHFHdSlA1t0ZNilJplquRlbbPIeq8tNQp0AGPnk4la7HQOqBONWi3cybsnteakHlImJANkhpE/DgZaEpU86thEp2Ck1Y3LvbbUKNAhMd2omb4C7S7ZiGr5RO8KdQWoWy2AfCCxjtxWQB2K1Lsl2kbrndgAa4wwq/F9/AHjBy62upCodliyqwBG2n3EaNl0a58oH8LUTK6ujANxl0S3sEHUiGKVSk3MUGhfH/rd9jkQf+XIGXAFPAD1bCpVd7iDQDglK38TP6LFqZlT3Pi1ToZexjjqMoK8A6NHnl1S3hrVOlazKPa2Ui2sqVdgksrNSTG1tpHXRNQ25mwZVJsSzER8Bb4VKq3mshCF7mxX0ERtrcm2uwH+//yomHmQSelnWeKfEHEGXNjOY4l/boTOD9sfJivbXp9mZwix0A1wDdzavrN9DzzaBngAyvji6UZ5OZ4mq/IvRB3pZ5H8+5Cv769DH/FnOUoZyt7WsWiWfq3+s/rP0X4W/6VG6xEsr/kBnh6v6yNGj46z+p8f4NX//ACv/ucHePU/P8ArFPkB7iRY/c8P8Ep/foCz5reAJwi3a2DkhMU5QbjdBAOLc4JwuwoGlDf6AwtugnA7CZTuQt6YF94E4XYNKDfcNBbbBOF2EWSDbioLcn6AuwZAZ7FNEG6XgZps24U2QbgdBjWTjRfdBOF2FYBiMwtygnBfitX//ACv/ucHeD0+P8BH/Fn8U4ZyLJqlX+svAA==",J="data:image/webp;base64,UklGRgoFAABXRUJQVlA4TP4EAAAvQoYWAJ/AJgCANDi3hyAPWYni7N7nflGDTQAAaXBOWtC/Aw38pIA7u8Y2sq1UOC3Qf01k7hIyRPJl/gMAcPw/jDEIof/bSCQmZIgwZC0t+7rHcrQpKGXuzZAPzrnoE5sc3wUnOoME2bbiNoold+Y5+9+sLP5/H6MIFGi/F9F/WYxtx21zbjZqvWJBXoCymBT+m/6WNIdUqf+cU/n6XGnqaVSnS6S5ryOwrlqZOjTQdY3HNT9PxemPnkkaMHDXjR1MUjPyeSBzt1vKUN+HqXDuitGFbbXLm/90THDRw26JJIP1fZiKJMtnW+2SJG/+0/EQ774fd0tpMwnUd3Nq/9rPdfm3yPdhs612ma66+U/HxCnRPpGnvo9b8q+yY8wm3i5v/vMfGux1N//5Q+TMfK7IkiAxJ9FrZED79kjjieQ+P9J4Inncb3KNdnkvj/uABheK/YH8oO0hX6DEYgkPHBK7XsfLStgJej6sUPJ4Xwk7wbjEBzMCiYAQh2fa+6b+kCuIg5+gt5ve0RsQezfkgZ1gLOIcFEL+2+YXUCdosPlXRUoQsHo8rLiyoijXJmMRkjnUBSkSOVj0RMPkzDyDY14N4EH5QbS+6ocftir3shx4XRbiyx94qb9HGsv7sx/ycR+UF27GEUwNLRR5BC88orfNo5ucGYk4rwYsn15A5Rj0qx++1KpI9m1b66buvVBfdhfWWtihFIklMke8jVR4g2b5X7x7AXOBDX4hUSnZYRlZ5i3aB54XvRSnH0MSmfpIPVnuPJcqUM+LLgTqu8q0vi27dkCm+6U+YF/Vp2eS+fleBMZUIp8c7fIekOcrFm6k3x+MP3jDUJFHGiPkeXkviU+aYruxQikSkpGpHesF6UtLYaV1KK0drPlSypfWu6YOW4l3SjiprzYFmzDlRfnibUTCmw4FIx4Y2LAW9khjDtL9YiBTuNQNVjClJ7AcpOA+2gkSxfdld2a1SnxVyQUUOpLIcYhopOC+ItGE3HRHp49HIhAndUpK8UJN4QcSiKGW4rIfiu/L68zqnK0Xxi+sMMG9x2/zfxAbrouRDujVZ8HyAxYMXZenRXUNGYWstU2eSObnO6w0nlJsD1soPHFE4kwpDknaYRIZHMOHvdAXB0fJN9F8jWI1+VZi3ZFh2L7aE8l/YDFHYWTigxEXpDXRohVQ2AQs6a544MRZ+8Y2qeUCiRyokKaf6NijrPZT1iYnV3k3uQeV50BefzACsY4ZHyQmPIdIoGC+rsM6HkkvCOuwkIYTNkBGeo7I1MmXWgorpKxuDIkyr8trOyR08sborf4RiHjcoENf/k9YOJGILxIl9kt5rcjygrAOC9J62kYskL7kObKO2kJI77QceJ0a6svu6GqM32F6x/ugYoXRCDyOPhhx6Hvx1iGR508BGX+kMfVAYkG5T79w9/frwjdIhau1MDcLKke8jURgg2U5HGJRg/iNOfLiKneNMKj24AqPNB6mIsny/+yH67XLvPEmSUMJ1fAfdOvLKL9d/u+At0XPuyUtuhCo78NUkoTjT/Foe8jLttqlJN38pxMC68Zfd0skGazv5tT+tZ+ywdpl+f3BzX+OYoaQdyzh5j9HMT3Pu4eojVzmr/Q2TG6EDk2zxg/mDTP14szaQabOlVm7yy/xlkx2c591S4f2075t2b0yjx/M2lN6Vc2/AlPfzay9pPP9HB6Y95PPfp35xghTiyA=",S="/assets/27.HP-4-Kyb.webp",Z="/assets/28.hDUavPo1.webp",x="data:image/webp;base64,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",N="/assets/30.zrt2LXsX.webp",z="/assets/31.XX1gpwsu.webp",O="data:image/webp;base64,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",X="data:image/webp;base64,UklGRlYEAABXRUJQVlA4TEoEAAAvIAYVANfAJgDAJHN3oQBd6N/A5eN3ajCqbVvJd3eYkYlghKOA28whAAu2kSQ1QmutfVIjVrLAfvsDoJj/AAD8/+f9LjISoAYOs83uMcXQllPZipIXmWiPJjjnGuG9Dbe/n246eLU06+WCp52VNNVn0AehmyDn/TNIkCRJbhuSuiVQp+//f9Q0dmZ2CIoLmCt0RfRfFiTJbtvMSLYfAQFLpa1CeE5/mwtWt5Nzc6p+ActDz/bDtMpk9Z/LIG7Olgnv7+XU0+V2sq7+c3nAzcEfZ0tJqnx/L6dK0vG5AvwcNrFlPycrwOo/lwlsC88Pee/vBZf8RXZJ5bAtXP3nCwnsZav/LPnskOC4UGkr3qC3lXSeb9DbSvrfsIqrt5ffeFBhZ8Kew+Pk1o5c94U7jB2YZtTXRSjRyoHHkbEddDRIOEZTZhSOVVax53GhOUmgd6jq0dAjtoNug/jaNjkHm6LYAyuF//yiz7x9uT74n3qa8Uf5h6qyVulM2GMdirILxiuPBEJ6+cBL7CVqW64F90C0sOYgd/gJ7gqjue5MW/QGvaObx+9KveoytmDajTAuD7uOrBx+FflUPOSYdalu+3JPXaY5CJQMjOtnGHlHNNdgOruwK8cpHdeM8upQkHKJnmSP1U7GHtqDbwc/JuUBigSFtZncjBPz28HK93eTeYCBcYKB8u3KHOFc7ec3Sfm8AXV/4ZV6/gDvjr8DytGproB2wj9Ah8EOKY/YQSn/Elm/esYZMi6kbVuuDf9l+ND9yGt5eJn8HHOIgTvilLlmKrGpO/6SV14dCNKeLKToxBxe4ezwKiyv3lp38K9aGPkh6zAW+ICV1E82jxiIEspl2KzUL5ryIMqjI0gdCfWDrIk+rF95G8qqtzZfJVY77klzw/mDVTdRgrkMG51TH3RG+BfqeoOc9O2Md8I7euAKrEXXwvB4fAfamoFaBpptle9APm/VljlL7AynMPilLoa6E9ol3oW6kY1C3RZanJpV7EWRU+JziPEOYti5ZiiSf/tdxqBLYYdUMyCo5G8oNqjdArQ6sVX8W/bsZBP4ui5cAJnOF9C0Von9w6Hk8Tto5oZ+FXYg2AeljnNa2641a7AjZwLANt+QVT72RIBWBvBzzCW8CgKQgkVlOvOQolMA1p5A71AAqayUsk5q2RGb8G+ctVyrnBAwI30LY1eLN9mHdwGtfTGtl2PuIA34Ccob8KK5MG0yPodJAn9XWjfoUNhTPiaV1ZJTKnsiB8mst7UOkmWkbxM+l6/nE6PBnW1Ij5VmlFcngl1B2SUB0SwA4F1QW5t+7nKEG/SWUctVpveHJUgixdzykqRVCT4lLzGZlB07r8C3syVA5ft7ORUgjj+TrJ3huDwBfybrE7D6z0LGrPLlbJnw/l5O3Ug6AUI+T9bNwdV/li86iP+WgtV/vlzgQR0EWkmgg/gvwlwV4aF74EHaXLDbySBp9Z9FEgE=",L="/assets/34.BFJPCUA_.webp",B="/assets/35.nmPWCt7c.webp",G="data:image/webp;base64,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",C="data:image/webp;base64,UklGRm4EAABXRUJQVlA4TGEEAAAvJ0YUAJfAKJKtRmRuyQZ60IqWHAWw+biFDTWRbDX/E0tc4N8DDnKJgZxKBrWRbCX/oy3QfynUQMaQu4c6/wEA7v/97yKZKcTRKfDWWHf71nKPwRlr8o2WbOuDS6kWTURgp2KUZ5Ag23bbNpZ7b/tfLQm8/z4EmgBChP9F9F8SY9t125y7kWRGuhbweAGyZH+7t+OqLtVJI0Q3u6UC73uciuemGq1sqzBP/zlWEIsedktrKTjf9zjVTUTUz7YKc/3o9J+BR5d99rhbykvB8b77U/tXQNflbpHtA7Otwsw/Ov3nWMEl0z5R5n0PbOxMwlmF8Rfm6T//yQB/dvrPvw5u5XVVzp/vm7Xc+r5LROzz+r71KQO/yTUK8z4swqFphVshPoPLkVvZriKuf3Br6CAKSh6Lj0TcA6YVPoNzYKUKgsuVW6e4b3mrAJIiDpv7D1rjVx9AFtwDJh+kNEXSpOJyJXcCHgBl55r9zQ6doExCeVOqycwCJYbUS/okNAbGuIvwJA5OtTztWpvf6FXuAzmwuiXGlz1M0oDr++r78xuU494pK8HAHaCmFaRPSnyTNFX4ozcxY1uMN0xEa/OtXiUCT5eiydQI1hfuproN6UOe7JFKZNj0QTmxmYJn1/Mj/hoa22JHxNqH50Uv1ekXaPWQ+8g9IXeWy5cKpUUrjvfdZEqnQ1MHUv5zuQ/aV/vpWVJ5fhaRWZTJpkRh3hOyfPkSTLI7hAkEz6o8boQKfcYd4exhZ8bTG7U6Ed9aThKlyZM6SJFypPRHc4e9xIcieHJfnQq3D8hLlMuwqQR7ZZ6nce4gzxL0JGaGHeeZBXIitTl5DuUPQA5yeB/9hMRi+8IdVrPi/6jmExYZipAmFMh5bfeYWH4i5TfFM+z8CkDGG/bY3tipQwLUR6DUYbF9WR1Wo7P1k7mEYrdnxsSYXInAztAKQOvX3LLecFa9qe1hmwjoujwtamskL1KzNXmSVJ4ft/IMysEetnDypImFW9mtpQjfKj/v+j7pVj5v3KrBHgGVdS+RdlYc2FeHEmGv3itxMrXAzmAjuFV++BG2W9snB3bQG/wGc6NKyjvT4KOuAqqrycVU2Sb3pMrcyOoQJhHQ7h8czE7l9nhViRMWbheSNiZPIG486zeQI2v/QamnQEmEuiomr6xurfOIYHcX9M6xTyzkOwn6fr/VW+EdQGxH3uyROPK8s27TyqT7CnKpI1mO0F17iIgP2Q7yror1hTuzJuNv2H/w3inf5QkFOzW8N7J2HLQdWUjYW+rDxt5HRGoT/o6y3iANru4CNnOqRIbNItBPsn3w/vzuI7A3zofEOOtZrrC+b5xKkur/8xtcrzDLZlhExHzBn/j3/TooUn9hTvO8L3reLb0vWnG873Gqd0k89h6E2ENZtlWY75JO/xmAdNVHr7ultQSc77s/tX8FVDdcYdbfIZz+M+iYJ/6d+E//GXUcVrURNqXTf8YiB+n/38HTf0Yf04W+Fp3+818iBAA=",D="data:image/webp;base64,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",Q="data:image/webp;base64,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",E="data:image/webp;base64,UklGRgIFAABXRUJQVlA4TPYEAAAvKwYWAN/AJADANGNmUnPr8v4N0N/za7AJACAN7s5JJoIRbgXcXksgbAIASIO7vPwejKy0oAGzW+c/AAD///e+L7IQoAMOM+zuZ0owatQBYL4mE+3RBOdcE97bcxu90XOZ1om3rh0vFzztrKSpOUMfhG6CnM/FIEG2rbiNbGdO5Mxz9r/QtvX/e2AcgWJa/0X0XxZj23HbnJuNISteE1AvQJrM9vfYVWjxnyZjXZwW/zm1YjVZyjDec6l4VsWIp9z/Dhb/OfUgdrqYLK0iInG851KtIqJ8uNvyslhFRCz+MxPScHUfkyV7gyeMd2tq+m6fw3ImCfvw4eo+i5WtWvzn1IO10TSRZ7xnW/JX+XmVh7XR4j//6cCvW/zn74WNbAeHI4vvA4xBPewBXEfENO8B3Pfyt9AECvXyLYQS1L2wkc9WtgPgDSg9izZiHSHnG6U8GjwGJ5Kw6SPdjsR10LkgocywDmB2ObKZwebH2O9WxgEUcm48GKFH4+Gl2EnimYVoLuvWEYLroIvBZoZNDC+TuILHOI1w3divfRwSNyvGOmewzuw41B3nO/1Jn4V+G3guK1eT7gUnTUjxBS9fcB3yjaqQW9SaxXf5qLor7OuuJbHZ1YJcCTuQEetLrqpvD2B53xNCPr4ThVLMuYKrPoTkq+IVbi+T2ILNGux7tG7uyHOCZshS1+klySt4fraqPa6V5qkFkSyDxkk0jHQl1tfgqrHw0wfkD1SOHOtakDZCK97sHj4mubgdetzsGevKWzP39hym+59W3iS9FqU9xoFRqifosTC9SdqTMN5Vpj2Dxg4G2X9nfdC+ak9vkvLzvBOZR0bp/Eh6AfomFEAgxQj5Dn8kdSZsZZ9Dy85qcavt/EW3ktLmtDayfrxn5FpS/dcc5472Hl7jeqTzQCBP2EcLMehKPNZXk8KdGfKPfDnWtSB5eYFnp5zPEbJplj5ntRWbiDnA6+91V9injEZ6DW+eS8JInlPsrI0YxEL5clSppFeVXGC5BZIiOhj82S4822QvlKMZn2YY7/GkgzuozyZcAsG1dkftg5c8LKQvR1XOsRe6GDaSuCTYiF8r5/cASvz5JFz61DlonZyd2ZK8qvOQo8PxLqmuGcRB+6opvUvKz3OybA5ZfA/HUPhSH0KG1jhjPHhHXK4x55Nw6YNW11MYr+vXJylN/CpmJb2FGHfA4ftqTiLwDr8chS4GO8PEzXClnS3iXwAni59eHF462ipmdd56tolYn3BN8K5A31kBN7nR7Ec5t09ZTdZQeZt8k8p5oS+jToU8TfwZKfzRoWDX5SXkyp8rq8sLeTnkn0voeZCwj1YCpZEkRZCZ5arpiGBPJExdd+9m4JowWeL7o752a6I8/yhzvPxhv2MdvAZfc/gpg04ZQc/G9Z+Zi3y0DhGDsAO7x4/1JVcVxu9wZuF3otIK3QxSahObFn5eMCeLbJOEcomdN2O+Yx2UflPM73JzHxkVrkYj4jZROXKsJyFDL9gDTiHg4SDynac4YtOv3TjAHsC5VJJU3veEkIksyptjERF9BpPys4edClKUOnyeJL1Nlp4k7UkY77lUT5J48LmFvofDcifpp1jdSVr8Z2akwaoeJkuriEgc79bU9N0+ZcPdlvfFyv7+Nhf/mQHpK34//ov/zIGctKp8ju/vD7b4z0xBX/E3MFz8Z06ky9DNTov/LFEj",K="/assets/41.aw_tdfJy.webp",I="/assets/42.tLW2blzK.webp",M="/assets/43.gkxU51e6.webp",H="/assets/44.FnahrF-u.webp",j="/assets/45.3n38PtbJ.webp",F="/assets/46.0tR9tJ6G.webp",Y="/assets/47.nr4NSNM7.webp",W="/assets/48.xyzq4X3S.webp",_="/assets/49.4UndaHyW.webp",$="/assets/50.BbJG4Y_k.webp",aa="/assets/51.54ygo46d.webp",ea="/assets/52.GWeHbs5R.webp",ma=JSON.parse('{"title":"PL的生电教程","description":"","frontmatter":{},"headers":[],"relativePath":"guide/tutorial/survival_redstone.md","filePath":"guide/tutorial/survival_redstone.md"}'),ta={name:"guide/tutorial/survival_redstone.md"},ia=i('

PL的生电教程

Episode 1 | 基本知识

Part 1 | 认识生电

什么是生电?

生电,指在生存中运用包括但不限于红石电路与游戏机制(特性)的手段,来实现全自动化或半自动化生产与储存物资。换而言之,生电是一门为了满足生存的需要而出现、由需求端推动但不止于需求端的技术。

什么是生电机器?

生电机器,指运用生电相关的知识而创造的、为生存服务的机器。

判断一台机器是否为生电机器的决定性判据是:这个机器有必要在创造模式中使用吗?如果没有,表明这个机器一定为生电机器;如果有,表明这个机器属于创电的范畴或者尚不能独立完成一些复杂的功能(如单选器)。

最经典的错误判据是根据该机器所使用的知识来判断该机器是否为生电机器。按照这个判据,全物品就会被判入创电之内,但是全物品显然没有在创造中建造的必要。

生电是模块化的生电

一切生电机器都是模块化的。大型的生电机器通常都是多个能完成特定功能的模块的组合,而每个小机器又可被切分为更小的模块,直至不可再切分。最小的模块是单个红石元件,但这并不代表不可切分的模块都是一个方块的(甚至有可能不是方块)。

通常来说,一台生电机器可以被切分为三个模块:物品再生,物品采集(使生物、方块转变为物品形式)与物品收集,有一些机器还有物品输入模块;但全物品是个例外,这是其特殊的功能所决定的。

生电机器设计的基本流程

正因为生电机器源自于需求端,其目标十分明确:需要获取的物品。从物品出发,查阅该物品的再生方式与采集方式,根据再生方式设计相应的流程,并根据这个流程设计与拼搭模块,最后对走线进行优化就能得到一台生电机器的原型机。而将一台原型机经过生存实装,对出现的各类问题经过修复与改进后,便得到了一台生电机器。

例如:我们需要获取绿色染料,通过查阅资料(wiki)得知绿色染料由仙人掌烧制而成,而仙人掌通过自然生长再生,当四周有方块时会变为物品。

通过一定的方式放置仙人掌的阵列,构筑再生模块;通过在仙人掌旁边放置方块,使仙人掌变为物品,构筑采集模块;在仙人掌下方放置水流,流经漏斗上方,构筑收集模块。将三个模块组合,就能得到一台原型机。

设计一台生电机器很多时候并不需要用到多么高深的红石知识,而需要对游戏机制与常用模块的功能相当熟悉;但是设计新的模块通常需要对红石与各种机制有较为深刻的认识。实际上,仙人掌农场作为mc中极少数没有使用任何红石元件的机器之一,其再生模块的设计经历了多个版本后才有了一个合理的高效设计,足以说明设计一台机器与设计新模块的难度完全不相干。

Part 2 | 资料的查询

学会查阅wiki

由于MC的独特性,每个版本各个方块与生物的特性、物品的再生方式都有所不同。因此作为一名生电玩家,经常性去wiki查阅便成为了重要的一环。在右上角的搜索框搜索相应的名词,即可跳转到与该名词相关的搜索界面,再点击进入相应的词条即可。

Wiki:https://minecraft.fandom.com/zh/wiki/Minecraft_Wiki

Bili镜像:https://wiki.biligame.com/mc/Minecraft_Wiki

1

Wiki

2

Bili镜像

3

Wiki搜索界面

4

词条界面

了解学习他人的设计

wiki上只提供最基本的知识,而真正踏入生电的大门往往是从借鉴他人的机器开始的。一般来说,可能的机器与模块都已经有人做过了,并放出了存档与投影(Part3中会提到)供学习与改进,有些UP主同时会附上原理讲解(如黑山大叔、肥啾U_ruby、Nachuan川川)。

肥啾的指路帖:https://www.bilibili.com/read/cv13612048

技术生存档案馆:https://kaihei.co/Jy4Gf4

通常,这些机器都可以直接用于在生存实装(除了物品收集部分),但实装完并不代表你学会了相关的知识。当你能够维修乃至改进这些机器时,表明你已经真正理解了这方面的知识。

同时,由于生电模块化的特点,在设计机器时往往需要借用现成的优秀模块,因此了解学习他人的设计是必不可少的一环。

Part 3 | 工具的使用

下文提到的所有mod的汉化包下载地址:https://www.bilibili.com/video/BV1KN4y1j7ym

mod的下载与安装在后文肥啾的教程中有介绍。或者直接使用XPlus整合包:https://beta.mcbbs.net/resource/modpack/eerqnkj3

XeKr红石显示

Litematica(投影)

Litematica是生电所使用的最重要的工具,它能高效地帮助玩家在存档之间转移机器与建筑,方便建筑的测试修改与实装。

肥啾的教程(必看):https://www.bilibili.com/video/BV1Qp4y1x7SM

Xekr的教程(更为详细):https://www.bilibili.com/video/BV1DJ411X78m/

百科的教程:https://www.mcmod.cn/post/1308.html

后文将在肥啾的教程上补充。

模式2补充

当原理图被放下时,在原理图编辑中可以编辑对应的原理图。

5

原理图编辑

  • 位置:显示/隐藏原理图

  • 锁定位置:防止原理图被意外地移动。当原理图被放下时,首先要做的就是锁定位置。

  • 旋转/翻转:使原理图旋转或翻转。但是许多机器具有方向性(后续讲解),非必要时请不要旋转机器的原理图!

模式5补充

6

在配置界面-通用中,模式5存在着这样一个配置,它会影响粘贴时对现有方块的操作。

模式\\情况原理图有方块原理图为空气
不替换现有方块不替换现有方块
非空气替换现有方块不替换现有方块
所有替换现有方块替换现有方块

7

8

非空气

9

所有

蓝图显示模式

一些大型的原理图往往难以整个去观察,需要只显示部分蓝图,此时就需要改变显示模式。

10

位于配置界面-热键

按下快捷键(此处为L),即可在不同的渲染模式中切换。

  • 默认,All:渲染全部

  • Single Layer:渲染一层,按快捷键(此处为上下)改变显示的y高度

  • Layer Range:渲染一个Y轴区间内(不常用)

  • All below:渲染某个y高度以下,快捷键改变高度

  • All above:渲染某个y高度以上,快捷键改变高度(不常用)

简单放置

简单放置功能用于在生存中准确地建造原理图。当简单放置开启时(此处为Y开关),对准原理图已渲染的方块按下快捷键(此处为鼠标右键),就能将手上的方块切换到对应的方块并放置下来(可以浮空)。同时能阻止你放下错误的方块(有时会失灵)。

11

位于配置界面-热键

简单放置的精准度(方向,位于顶部底部、中继器比较器的模式)取决于所使用的协议。

12

  • Version 3:服务端需要装Litematica,支持对红石元件,台阶,活板门,楼梯的精准放置。使用的高校服务器有XJTU。

  • Version 2:服务端需要装Carpet,支持红石元件与台阶的精准放置。楼梯有时会失灵,活板门只能位于顶部。使用的高校服务器有FDC,XJTU。

  • Slab Only:仅支持台阶的精准放置。在绝大部分服务器上可以使用。

此外,当下面的选项打开时,如果背包内没有对应方块而背包的潜影盒内有时,会切换至那个潜影盒。

13

位于配置界面-通用

材料列表

​ 当放下原理图后,按下M+L,即可查看所需要的材料。此外在加载原理图界面选中原理图后点击材料列表也可以显示这个界面。

14

材料列表

  • 显示:统计原理图全部的方块还是只统计渲染的方块

  • 信息 HUD:在屏幕的右下角显示不足方块的列表

15

信息HUD

原理图验证

有时候,原理图自带的染色并不能精确反映其是否影响机器。此时需要按下M+L,可以打开原理图的验证界面,查看更加详细的信息。

16

原理图验证

litematica-printer

下载页面:https://modrinth.com/mod/litematica-printer

Printer是litematica的拓展mod,它允许玩家自动放置已经渲染的方块。Printer可以精准地自动放置放置活板门与楼梯,但是不能支持中继器档位的自动调节,对于大面积的台阶也无能为力;并且在玩家周围方块种类较多时错误率相当高。使用Printer在许多服务器被列为作弊行为,但个人认为Printer可以作为简单放置的一个重要补充,但是完全不能替代简单放置。

17

位于配置界面-热键

按下相应的快捷键(此处为Z,默认为CapsLock)即可开启printer,同时无论printer是否开启,按住快捷键(此处为V)也会开始打印。

Tweakeroo

强大的工具箱(确信)

X+C:打开Tweakeroo的配置界面,Tweakeroo的一切功能都在配置界面设置。如无说明,则位于配置界面-热键。所有的热键都用于切换功能的开关。

凭空放置

18

开启后,在创造模式下可以凭空放置方块。

实体攻击限制

开启后,可以防止意外攻击到某些实体(后续讲解,这里可以简单理解为生物)。

19

20

位于列表

这里可以设置不进行攻击的实体。

伪潜行

21

开启后,类似潜行,不会从边缘掉下去,但是保持原来的速度。伪潜行可以用于快速搭路,但是开启时跳跃会变得困难,因此建议设置一个快捷键。

屏蔽方块交互

22

开启后,放置方块时不会与箱子,漏斗、投掷器、中继器等可以右键互动的方块互动,而直接在旁边放下方块。

在放置大量箱子,铺设漏斗链与投掷器链时经常要用到这个功能。

方块快速放置

23

开启后,会往一个方向连续放下多个方块。用于铺设大量相同方块(如糊墙,铺地)。注意这个功能在许多服务器是被判定为作弊的。

左右键快速点击

24

开启后,每次按下左右键都会点击多次。在特定情况下会用到(如铁头功破基岩,紫颂花农场种植,手挖区块等)。

25

位于通用配置

此处可以调整每gt(1/20s,mc中的最小时间单位)点击的次数,通常1就足够了。

方块灵活放置

26

开启后,能以特殊的角度放置方块。这是一个经常被人忽视的功能,但是这个功能才是Tweakeroo的精华。

按住Ctrl键或者Alt键后对准方块,能看到这样一个方框:

27

按住Ctrl,对准相应区域后按右键,将会将方块放在一些正常难以放置的位置(但是原版是可行的)。

28

中央:橙色染色玻璃(隔空) 四周:红色染色玻璃(对角)

Alt需要开启Carpet精准放置协议(服务端需要有Carpet,,即支持Litematica的Version2)。

29

位于通用配置

按住Alt键,对准相应区域后按右键,能将方块按照相应方向放置。四周就是相应方向,中央是反方向(有时会失灵)。

在许多收集单片中都有大量对角方块的结构,因此学会灵活放置能极大地方便搭建。

灵魂出窍

30

开启后,视角能像旁观者一样自由移动,但是实际的交互范围仍然在原地。Tweakeroo必开功能。

31

效果

如果需要在灵魂出窍时操控本体,就需要打开下面的这个选项。

32

位于通用配置

伽马覆写

33

开启后,将Gamma值调节为默认1500%,相当于无限夜视。

自动补货

34

开启后,当手上的东西快使用完时,会自动从背包中取半组放在手上。

长按左右键

35

顾名思义,开启后会长按左右键。

容器预览

36

开启后,将视线对准容器后按下快捷键(默认为左Alt),即可在不打开容器的情况下查看里面的物品。

这个功能需要服务器支持PCA同步协议,否则只能看到近处的容器。

岩浆夜视

37

开启后,如果装备着有水下呼吸附魔的头盔,能在岩浆下看得更清楚。

周期性单击左右键

38

开启后每隔一段时间单击一下左右键。许多刷怪塔与树厂需要用到这个功能来挂机。

39

位于通用

此处可以修改时间间隔,以gt为单位,通常由机器决定。

潜影盒预览

40

开启后,在背包中将鼠标悬停在潜影盒上按下左Shift,可以查看潜影盒内物品。

ItemScroller

黑山大叔的教程:https://www.bilibili.com/video/BV1m7411F79T

下文所说的Ctrl、Shift、Alt均为键盘左侧的。

移动物品

尽管快捷键众多,但是实际应用中常用的只有标蓝的快捷键。且其中唯一不可替代的仅有标粗的快捷键,这是墙面分类仓库取用物品的快捷键。

  • 仅滑动鼠标滚轮: 每次从物品栏间移动一个物品;

  • Shift + 滚动: 每次从物品栏间移动相同的一组物品。当同类物品都移走之后,最后移动鼠标光标所指的这个槽位的一组物品;

  • Ctrl + 滚动: 一次性从物品栏间移动所有同种物品;

  • Alt + 点击: 一次性从物品栏间移动所有同种物品(同 Ctrl + 滚动);

  • Ctrl + Shift + 滚动: 一次性从物品栏间移动所有物品;

  • Alt + Shift + 单击: 一次性从物品栏间移动所有物品(同 Ctrl+ Shift + 滚动);

  • Shift + 左键按住 + 拖动: 移走堆叠的所有物品;

  • Shift + 右键按住 + 拖动: 移走堆叠的所有物品,但是最后留下一个;

  • Ctrl + 左/右键按住 + 拖动: 所有物品每格取走一个;

  • Shift + 单击有物品的空槽位: 把所有匹配的物品放到那个槽位;

  • Shift + 单击物品栏外:把所有匹配的物品全部丢掉;

  • Ctrl + Q(丢弃键) + 左/右键按住 + 拖动: 从所有拖过的槽位中丢掉一个物品;

  • Shift + Q(丢弃键) + 左键按住 + 拖动: 从所有拖过的槽位中丢掉所有物品;

  • Shift + Q(丢弃键) + 右键按住 + 拖动: 从所有拖过的槽位中丢掉所有物品,但是最后留下一个;

  • Ctrl + Shift + Q:丢弃所有指针指着的物品;

  • W/S + Shift/Ctrl + 单击 (或拖动): 在物品栏中上 (W) 下 (S) 移动物品。

快速合成

快速合成的几个快捷键缺一不可,这是喷射合成的基础。

  • A:打开合成收藏界面

  • A + 数字键:选择相应的合成表

  • 鼠标中键:保存合成表

  • Ctrl + C:根据选择的合成表消耗背包内所有需要的物品合成物品

  • Ctrl + Alt + C:在Ctrl + C的基础上抛出合成的物品

Minihud

Carpet

Episode 2 | 常见的模块

在学习这一章的过程中,最好去找一些简单的生电机器来对照着看(如黑山大叔、肥啾U_ruby、Nachuan川川的机器,都面向初学者;同样可以参照FDC内的机器),来更好地理解后面所说的知识;在学习完这个模块后,你就能够理解绝大部分生电机器的基本构建,并自己设计优化一些机器。

图例

  • 铁块,钻石块:在实际应用中通常使用铁块、平滑石头、石英块来替换。用于代表实体方块。钻石块用来代表模块输入信号的地方。旁边为侦测器则表示接受侦测器信号,为红石线表示接受长信号。
  • 黑色染色玻璃:在实际应用中通常使用白色染色玻璃、平滑石台阶、石英台阶来替换;又是为了方便也会使用铁块等来替代,但十分不建议这样做。用来代表透明方块。

Part 1 | 物品收集模块

物品收集模块指机器中用于将掉落物收集到容器(箱子、潜影盒、木桶)的部分。

Nachuan川川的教程(必学):https://www.bilibili.com/video/BV1PQ4y1C7Rp

后文将在川川的教程上进行补充,初学时可能会感到困难,可以先跳到Part 2。

物品流分析

在设计一个机器的收集模块时,不能单独看其纸面数据来计算所需漏斗倍速,还要根据其输出物品流的类型来设计。

涓流与冲击流

涓流指该机器持续输出物品或者两次输出之间间隔很短,形成的持续不断的物品流,绝大部分机器输出的是涓流。

冲击流指该机器并不是持续输出物品,而是间隔一段时间后输出大量物品,从而形成短时间大量的物品流。由于冲击流的特点,在机器输出的间隔内漏斗往往已经传输完其中缓存的物品而不工作,这使得单个漏斗的效率会远小于9k/h,因此在设计接受冲击流的物品收集模块时,不能仅仅根据纸面数据计算,而是需要结合机器的运行周期来计算。

41

最典型的例子就是刷花机。以肥啾U_ruby的刷花机单元为例,如果只刷一种花(如矢车菊),纸面数据为:

矢车菊:40k/h ,

小麦种子:40k/h

如果仅从纸面数据来计算,共需要10个漏斗收集物品;如果销毁小麦种子仅需5个。但如果仅使用5个漏斗,你将会发现大量的矢车菊也被销毁了。这是因为刷花机的物品流为典型的冲击流,每16s输出178个矢车菊。而一个漏斗单次只能吸收23~26个物品,计算下来需要8个漏斗而非5个。

循环水道是一个不错的将冲击流转化为涓流的方式,但是其缺点也很明显:体积较大,且一旦遭遇爆仓或潜影盒不足就会有大量物品堆积在水道中,造成巨量卡顿。如果为了防止物品堆积而修筑盒子仓库,则会使体积进一步增大。而对于刷花机这样一个小巧的机器来说,构筑那么大的仓库显然不太合适。

实际上,即使是涓流,输出的物品数量也会随着时间而周期性或非周期性地上下浮动,这使得在设计收集时,往往需要设计多余的漏斗或者循环水道来保证所有物品被吸收。

复杂物品流

复杂物品流指那些输出物品种类极多,混杂有大量不可堆叠物品(垃圾)的物品流,典型的例子为手砍猪人塔、凋灵骷髅塔、猪灵交易所。这使得这些机器无法使用循环水道,否则会迅速堆积大量垃圾。但是这些机器输出的物品流往往具有着一定冲击流的性质,峰值与谷值间相差较大,在设计收集时也需要大量的多余漏斗。

变化物品流

变化物品流指该机器输出的物品流并不包含固定的物品,而且随着输入的物品变化而变化。典型的例子有刷沙固化机与熔炉组。应对这种物品流,通常有三种方案:

a.对所有物品进行编码分类打包,缺点是体积十分大,对于高效率的机器往往无能为力。

b.混杂打包,缺点是物品混杂,取用十分难受。

c.自适应打包,缺点是对建造者与使用者的知识要求较高,对不满盒的处理相对麻烦。

AB大吸力分类单片

正如上文所言,在设计收集时往往需要设计多余的漏斗,来应对物品流的上下波动。这使得末端的漏斗往往跑不到9k/h的效率,只是用于保证在物品流峰值保证被吸收。那么有什么办法能提升漏斗的平均效率,从而减少多余漏斗的使用呢?

下面是本节结论的推导过程。如果你对于红石元件的功能完全不了解,可以先暂时跳过这段;但是如果你能够理解基础单片的运作原理,请看看下面的推导过程,能拓宽你设计收集的思路。

如果你仔细看了川川的教程,你能发现在其中提到了一种相对不安全的分类单片:

42

这种分类单片填充物品的样式为[18,1,1,1,1],相较于普通的分类单片,这种分类单片单次能吸收更多的物品。但是当这种单片一次吸收大量物品时,输出的3格信号会解锁旁边分类单片的漏斗(红石信号“串”到了并行的其他的红石“线”上),导致旁边分类单片损坏,因此这种单片不能够堆叠。

那么,只要不去堆叠这种单片,不就消除了串线的风险了吗?同时,由于消除了串线的风险,可以使用一种更为激进的填充方法:[1,18,1,1,1]。这样能单次吸收63个物品,大于两个普通的分类单片,变相提升了单个漏斗的效率。这样就得到了一种大吸力分类单片。

此外,由于不去堆叠,两个大吸力单片中间还可以插入普通的分类单片或者另一种大吸力分类单片,只要能保证这两种单片之间不会串线。那么,如何保证这点呢?可以将两种单片的红石线放在不同的高度上,在对角处放上不透明方块来隔断,就能保证两种单片之间不会串线。将两种大吸力的单片进行堆叠,就能得到一种相对成熟的AB大吸力分类单片设计。

AB,指将两种单片或者物品进行交替使用。相较于普通的堆叠设计,AB的设计施工更加复杂,体积更大,但是拥有着更加优越的性能与稳定性。下面是一种常见的AB大吸力分类单片:

43

A单片

44

B单片

45

组合

填充物样式为[1,18,1,1,1]。这种设计每个漏斗每次能吸收(缓存)63个物品,远超常规的设计,因此能够应对物品数量波动较大的物品流。

Part 2 | 物品采集模块

物品采集模块指机器中将再生物(方块、生物等)转化为物品的部分。不同于物品收集模块,不同机器的物品采集模块差异相当大,从相对复杂的推爆室到仙人掌农场的几根栅栏,都属于物品采集模块。后面会介绍一些相对通用的物品采集模块。

TNT复制(方块、生物)

TNT复制指基于活塞特性来对点燃的TNT进行复制。通过复制TNT来爆破方块,就能自动地破坏方块、伤害生物。

黑山大叔的教程:https://www.bilibili.com/video/BV1CK411d7kF

以下原理部分源自wiki,里面的一些名词对于初学者而言有些难,同样可以暂时跳过。

原理

TNT复制的原理与活塞机制有关。在活塞被激活或撤销激活时,活塞会检测需要被移动的所有方块,并将其按一定顺序加入到一个列表中。然后,活塞会开始推动方块,这些列表中的方块均将逐一变为“移动的活塞”(B36)方块而开始移动,之后被移动但未被其他移动的方块覆盖的方块被删除。若TNT在方块列表产生后、TNT被覆盖或删除前的时间里被触发,那么生成一个点燃的TNT实体的同时,由于已生成的“移动的活塞”及方块列表不会发生改变,依旧会生成对应着TNT的“移动的活塞”方块。2游戏刻后,“移动的活塞”方块重新变回普通方块,而TNT方块也就重新生成,从而达成复制。

方块更新

方块列表产生后、TNT被覆盖或删除前的时间里,计划刻、区块刻、方块事件(移动TNT的活塞的方块事件除外)、实体、方块实体均不会运算,移动TNT的活塞和它移动的多数方块也不能发出NC更新,TNT仅能被活塞直接或间接破坏的方块被移动的激活的侦测器避雷针和其他被复制的TNT更新。

可自动循环的复制机除了用激活的侦测器更新TNT,还可以用活塞移动或破坏支撑雪的方块使雪发出NC更新。移动TNT的活塞同时移动的地毯和珊瑚扇的破坏同样也不影响其对应的“移动的活塞”方块的产生,移动到位后它们也会正常生成,不会消耗。

通常会使用珊瑚扇来给予TNT方块更新。需要注意的是,有些结构是推出复制,有些结构是收回复制,而有些是两者都复制,这和更新顺序(珊瑚扇附着的黏液块转变为“移动的活塞”(B36)是否先于珊瑚扇的转变)有关。

激活

活塞开始运动无法直接向TNT输入上升沿,间接输入也难,因此玩家常在活塞运动前使TNT处于BUD态,这样方块列表产生后提供NC更新就能复制TNT。

侦测器设计

顾名思义,侦测器设计指使用侦测器引发TNT更新的设计。通常,使用这种设计的TNT复制耗材少,无实体而方便建造,但难以运用于飞行器上,因此被广泛运用于许多机器上。

需要注意的是,许多侦测器涉及的TNT复制具有着方向或者坐标的限制。对于某个侦测器设计,只能去判断它是否拥有这些限制,但是它会在哪个方向或者坐标失灵则完全依靠测试,甚至在不同服务器上会得到完全相反的结果。对于这种限制的成因尚不明晰。

金合欢三无&变种

46

47

作为最常使用的TNT复制,其具有着许多的优点:耗材少,易于连接,爆炸点准确,无方向坐标限制等。

48

49

这是上面TNT复制的一个变种,相较于原版耗材更少,但是变得具有方向性,仅用于单个使用。

50

串联

水星嗷三无

51

52

相较于金合欢的三无,这款TNT复制的耗材更少,但是有在特定坐标失效的风险。相较于串联,这种TNT复制模块更适合横向堆叠或者竖向堆叠。

',241),ra=[ia];function pa(sa,la,oa,na,ca,ha){return t(),e("div",null,ra)}const ba=a(ta,[["render",pa]]);export{ma as __pageData,ba as default}; diff --git a/assets/guide_tutorial_survival_redstone.md.WvZxjppC.lean.js b/assets/guide_tutorial_survival_redstone.md.WvZxjppC.lean.js new file mode 100644 index 00000000..a6eebdb1 --- /dev/null +++ b/assets/guide_tutorial_survival_redstone.md.WvZxjppC.lean.js @@ -0,0 +1 @@ +import{_ as a,c as e,o as t,V as i}from"./chunks/framework.3rhKcKOk.js";const r="/assets/1.KAMMEYFx.webp",p="/assets/2.fe4AqjwS.webp",s="/assets/3.c15tycHJ.webp",l="/assets/4.i5OLdjeC.webp",o="/assets/5.NBf3CMJw.webp",n="/assets/6.okV0A7id.webp",c="/assets/7.nifdb_eu.webp",h="/assets/8.ha3VaaLh.webp",d="/assets/9.EqbgVLDi.webp",m="/assets/10.xOhwYbXx.webp",b="/assets/11.wq51Wfd3.webp",A="/assets/12.6pH4rczX.webp",k="/assets/13.FmvLPua2.webp",f="/assets/14.z9QL-7cq.webp",u="/assets/15.kVEING1l.webp",q="/assets/16.sAsPXsxn.webp",P="/assets/17.z8r41cn4.webp",g="data:image/webp;base64,UklGRlgEAABXRUJQVlA4TEwEAAAvKQYWAJfAJgCANDg3NchDVrL47cz1ooaaSLaa/4klLvCvARzkEgs5VSiNZKv5mRbovxRqwDHoIBlUZv4DAJz/w5RBRP+bSBGRZCI3xkXL2u4+HLXTNkmtmPrg0ukmUM2TqjJAkG2rbWM7Su/Z/2oVfhW2QBHRexH9h8XYVtzm3G7UxL5BgisZL0n7d/mr192CqrYBLh2k/RAcKeBIAUcKuFqcq9M/y3CkgH9KnFZLCe29mcrPqRr5qXc8OPxnpwFmPa6WACDY3pupAKB+rqtfAsDhP5sfvbbsabUke0OgvbtT69d/luV+lu1Dx9cvq2/Hw3/2GpyF1omc9t5uyV+kp5VOvF8e/vPPBvqyw3/+QJigeijk9xfzHneIgNrojL8zgHU+4+93K9t9lSX65QMtHgIaYfiElhafhZb+AfiE69kV8m1gD4qWPRYfhXwbGFsoU4n0p8UUEg19Io5/A3vNKxNae7E+FFn4NjC6MM1KSBa3ZMbYqQWQmUm350RLJS1xsqqMLUwoa/v3aMm0sefJNUdyPXqO+feMGdmmqp35Qa/yQM2BNTJ5fNl7S9rvjL/6XulBHg9BWRmmrEHVuMIEmS2kJzm09JH7sawfbCfSxQT7WcTn44F25ou9CqnPnGrzqg/0+tJHqt5Cz55I+gAZKTaioKVPrIpeK3run1VFexbu3znUFrzMeq1OP4pIQPqQnjR3lktWqJdZvwTau8lUzoyWDgD5OOnD7av59AIgn+9ZzjQSssnolw8OWb5iGQbY7TiKQOZAAnEvE7TsiZzLF1lP+0J+cS4UKrOndFDyRckXy4dKh73EB0g/0lef4rs6yCvzUmx8wc6N/GQBtD1oMTznDLYyMonkBjQHEr+PfgLwYvvSx6xWJb6o5oIXGCKB8QT//qvozLZnDtyPdiYhGS+0OHbuOFHUR2i548X2ZY1Zbc61F8YY7Gp5s+5R5JXT+6Wg+XEWFC3L86y2BogCtFqVZwD5fIclU0iie7iGwjNGGKzMqIG8K573DFrP7ifIB/rQffUnpH0+X0ZhpEFm0FJMIH1VeqsAeFZUSQ8X2vaoq//UVeVsKrfKg1M5K7LacfTAny4eJmTzCXk3Jv2uS31RkBnk26sFWI4A6eSLPYWWRdpo5Uksa2TrO0jvdQejs+3DCIk/+a4AEr/vkZVI5Va01fdFgSyvOOjLnS9ajrS19hDkB2wHcrTy+tLHsxbjNlyZ8CGoWGF0YULsSh+aH7ilO5Mb8CQe2TZ3Zb19I/UV0uDqNciPoDJSLPuL9y53S9//DvD6QFD9ygLncWymAoD679+9XL/MTTGSHDG4le8FaT9JXe041vM+62W1xFm/BNp7MxVJ+rGvOaV7yOW6+iVJHv6zFdJdi95WSwAQbO/u1Pr1n7rx9cvqx4PDf7Y9Roq/PPzhP5seu6l/U9vlFqt+ru//c3T4zyhJk/wf8Q7/GZZpFR3+cyANAQ==",v="data:image/webp;base64,UklGRvoEAABXRUJQVlA4TO4EAAAvJsYWAKfAJgCANFgBlwrkISkVKOEVZL5dq8E2AIAkxAH8/1Y3PNCpTqqNbCXiKgL6r4eM1DHVkDG6nf8AAP7/hzGDEH3fRJLoqKCqSzSMs11z2HsKPWwjfd8ErbDExO1UrvxQjjQGCbJtxW3UmUfZmfa/WBn+ex+jCNQiej+i/7IY247b5txuimj5kgV5AVLyAv3d7pR0d1Fpp4RuF6PPRLe7XQ0TRBz+8ycWN9Xp8J8dE/9WSwXaezMVTz31urCsfnn4z44CzXpaLUmSs703U0lS/SyrX0rS4T9bHV2273m1lHcFR3t3p9av/1yXh1nYh82y+mW+6/CfHQU3mdaJMu29XYMjyY4qG3+/PPznDwzsfYf//MfgXn5fwGEFtShDae/Sul3WdyNpnS/ru5G03Re5Rr98DMSjQyMI/sjwMgVy4Hd5HV/KFCEg3EK5d1zXPR9W8CBOibgnGFG4d2mpTLOk5OeGuCBi2du95CCavDoZQnBPMK4wAfGRIEXY+EIud1kuDDGpa7t2F7z13OthRZIVN6WKjChYMSJxJ9sipvAFyxT29JQnfszwM4VJ2sIUjkqmnhFtxI96lcewHKBhifGFJ0na77K++j6qQTkenUIBZhzB1DgCigv21Fb8r9QRjhZ26VrCDsseKI9MX5Ep0GJ+S/GlXiXCXiq1FlIfg/VlD1O9hR08nuiRSkTYaIL/1FaMvWzt825Pnk1xjQOhqCQ8UFofXme9VacfQxFS7iP3ZLlDLqNCvc664GjvJlO6FJo6kPLH5T5oX82nV0nl+Z5FRlEmTIl++UgI+fIFmITHg9EDu1gO6wvjm8BKJ6eIWHEKRxxTxLf83kZEfGneSJQGT+og5Us5X0ofmjvsJU6K4Ml99Snci3+8RbkIG1PwTk5JKHDyCSnfBBZHBLxoEApPukmWP38924g8hvInsBzk8D76CYkF+7IHrFbFv6vmDRYJL7OPKvBxgk57Rc7yn3uWw63DlyzCYU9+TcG/SEhrgUOHxFAfYYUOC/aFBqw2Z+kb4wkll7OZJW0rOHywESZxE1W4JZBryYo527U9HdZ2sEW+DF2Xl1ltjeRFarUiL5LK8+1WHkE5toclbLxoJIFfzva/FKAdaMw/UKxJEQxTcA74FzC3ooifEruNdsXq1r1EOlhx2L76kwh80V6JjQEF54uZe18KMI+w1KP9WCvarCLXAV1i6PFvH6EV+RFzoEq6d6Ztj7r6T11FbqDKFnkkVeZAaDwYSWCmpvhL6LhAsb1cnOGoKwXvzJo44zesN31tIfIA4iazfmQ5Qi85+KWewgoia6hi4goNa31HBPuCgt7l9ZEF7lTXMifZcovwbNT5T/z1gPxLqJb2cSKkViJ9KUEudCTkyDpqDxFxEnaQD1WsL3swazF+h5ccfHTKtzGI4NrHnepaHvQvvgbMB8zxbViO2LbB9VsXfo9uvUAaXL2FWcypEhF2wAEe9rk1DuyD81TOcUmf6Oyt8o57hCtc/b2ZSpLq/0Qf1+uXZSMsImK4YDW/893+jPr75SjPedbrauk864KjvTdTnSXx4FentT2UZVn98izp8J+dAtxQ/bFakiRne3en1q//1A3XL+sfDw7/2eIYJm4IwuE/Wxz/Ae/n1vK1iv+VC6qxdYe86md5d8jr8J8hnCXdvcfDf/5wYHl6n3X4z19BBA==",w="data:image/webp;base64,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",U="data:image/webp;base64,UklGRrYEAABXRUJQVlA4TKkEAAAvLcYWAJ+gJpKt5n9yzi0VtPh3BQr+YENRI0nK7usYVJCYc3JWUQE9z8MmahPZiv79o4/ZmYmV2atYlR/mPwAgIkJERIkoiS2ggaufl5tVtvGXTdMPn2auv+qsa9Yj+cLb0JQyQJBtq23TE/eW/W9WFu/9j3EEioj+i+i/LEa267bZk5dCwjokYB6AtBi3+nubHfT6a2m6+14lajeSlh56HWklkliOotmI9+L0nwv6x5+XyZKfl9lUdqIY2Sm3H1f/WYgQg74nS76iUX/PpoqIeD4iIsrux9V/ZkVaruxnsmQvAv09myod2R/L5yDuA/Nc41FatPrPQoT3RNOIrb/nW/IX4cTC+Mej1X/++QCXrf7zB8NHIAd+hz5/ETV7VeC7pGm+KvBd0nxf5RHj0UYMOdTTcFRE6sCePakv7o+7CqJlLCyPGIeRbCfoaXhThCd9JJQ+yIHF3dj1kWjJupshm9E6ADFsJ+hZsKXL+GF8M1vS2FfqUZL4T7YqbcDXoL/pndIP4jNauar0NKTpYgM4Mor9FNEq3Mu2g6zp1SrYV0yZC+YLOZK8vh7Rjnq5KrC8d4+Qj41TLMfAI0D1MXwMOsqXP6hofJCegP0qnRdrFbbh89QypCMMzg3mAvuSDkJ+PL4iInK2I3XcCuD88SSQlCPJ+hnehNOHnQknFv69bZXelnc1xnXQpSjdSRwk8nqiHgvTdZAN0N9VoTvIQXoC7oL72egijy/UsnztAI4qQ1dJ+TkPMiZSIk6O8WhjEPPlyzGJ92NfAroSkO0oYvGS5tJR+AS2tON5J0l1zxfQ3cNF25G+xGCeuI/6x5Y/PDtSUm/clwVvO1oJ204iF+VLsr4E65wVIkKygLzxma0Ia9ox5/V/cM+ZGOnuAc17cSKQU+6s1sHjykE5ZrRSh8wJSz3/DJtkG99qC39RyQdWDuIr8X0L/PW23h3TI4BDoHRNHqWdnTapYssguuoOVPegkYWlhhXbKHX3LGHsKYR98nbXJs9+0M8gcfhsVgyyr7mztGsd2Iq5dX4rAhV9KYAex21QTVbBqWEnzTNLETuwpZDP59Rzi4j8nN1KkygFe3iGg1v0NPh2TEcuAoqnUCsRcZHVAS6yrKm3AV4f7PW9qRvcAn8V7rONkPg1fzkO+htwrthXylmVtsNWhV8niJ0V8CxPVHvk9IFX03Nz0LRRzvOnrCqiyltlY1SeB2L92LvA/0KrB08KtdQDoSTCOxYiDxHcRynU51WBksfXRRZfbCzztqONkKx7FXpX4Psb8F4jlneCkL9KRGuAc4btPcJem4tfp8t81DoSH3nQCJQ6ye8LtSR3O+qC32E3w41TvoPeBl5N4gmTqwrzXmv8TqP1k9Ewag2kg1M5kqyPQWJ/KcmXL2yXEb+rymOS1OZM2/Pnud49Qt7nZd4kk6R1DJ7737u3VKWsfuzz2Q+6Tpb2g2yA/p5NtZdkh+9/iz08lr2ksvtx9Z9ZkhYrOk2W/P9XnKfZVOmIXja28aj8flz9Zzakt7iTC6v/zIbMxTdFTNOsJrrtn+XzfPdCbA2ZWCCjhqal7uHkMohY/WdepK20yos6MqLPRf9hIAA=",T="data:image/webp;base64,UklGRnoFAABXRUJQVlA4TG4FAAAvK0YXAKegNpKt5OPupESQ0n9X0IC1oSi2rYS/wiWFhaEJVTWBLcnAn1GbyFb07x99zM5MrMxexaq+MP8BBCJACBACdH66+NEloIKlnp2anrf6loHT90lQV24159XK4V1hTMhSGSRIkiS3jcxDl61b/38sgJ3pGYLcBYg1uiP6D4m2rarNuZMYiF5ZhbuWKP3NDquF/tw0qRX1d6rDiqL9TdSNwR4X7f5zP+c0O+3topv2agvJQ7UU52E1Fc7DbIQz33bc/WfjAQc9V0uxokl7r6Yiyetj3v2SJP9bw6Gf4CBtIMG/Dn+rJbDIbu/VVOW4flkeB/k+bK5rPCqL1k4OUi/BQeomOGhDyqlQrcho7/WW/CI7r2zi/XI956DdfzbF2GW7/9ydOLM8AOouy1Wmw9Z4BvBEsi7ktvd6X+US/fKFHi8B9S+cQaG8szxATrrEvF/WPwPa7uGlkcfbRNgB+hfeATlJEhSeQ/lk+zdaB1Dt1iysEHefNQu9a1lvhjywA/QyRL1YyYVlQ0aO+SA+s/MwlnHtwtOgezRWLlmZk1WliwESmltS6abMCzDHICG54mee4T+odmMsex2EZle7k3WHZdwHGRuZfB+eN8Sp3w455137ZwDn9zMh5PESlJdixh5M9TD42XKmnyv2VatIOpSOMrIQv/cXTUAyJ1tbh1fGPC0BvBHDG00QH6Q35iDnYY1Lng87hTwXvs/ST855tzV2+kTyR8rIsR4Gf+UQ5CrTlNLTpea57SyM8s6MF6R/d3FN+B70NSuNFA4KRT25Hmem70EjgfauskbiPiJuUUeWA9+H5yfik5TeFD7viuubZD6fg8A8KuST0S9fAMlRLMUkfzzoT4jeX+s7Iu28iV2RijwDiIFlZHm1LZ6GLcOTodHDl14nepKH58n3sRzB0sc/g5LS29IBWzPkS3k51r8gIU/4obPu44vY7v25eZRIJpLTNvCcovPurYQ0pgwnGj1YV7x8SMup76y1sUYT30cE3PebfB9ohtm+LYf+ebcS8aI5b2D4+yGlPgZ0hhtLCTuvIiC5EX0G0MtEfIafjL0ntVYVLIHcuXZDrQw+qvg+sjas8cjyMf2cN7JFeBPaDm3ItW/0MuArBGKz7vZHz5QuRZkr8e/GFMsebC2U1sGbJ0evbJFW0ZNo6HL8DFoWVUg/w3DKdGuFKj8k8/kMq8yhEtvDNWz8sIcBX+nczoPyoxZoAklRyvyLeI9f0cJWN2wpyC+hDuwiZCZ9CWL5iVUhbTdLCMl/wi9joychmgPRKug8euS9iAuyfHrQXqUkupH3M/C0FlgV/6lA29kM+nih9kciEWLXymrDfPrPvKqcXOVWeQGVsyNvPOhP8DInuiPJPh662ofk42cdknDoCiSxDMOTsaV2ZOWQvS6h5YH0fbQu9gjj+7gE8Wf+ECTcJ9IOywIJXZEwOu/eu4AlU5Ry91Z+IK+i99mSaJZhZaTtQ8r62XdaBTtlvFVGvLtx7TtzPR+ti2SPMKgP1C02Cnm+S4eWV8yHFPWJjoD15jasWfgSVGyjVwFPjRh49pzpVYvOc8e+h5Nf5rXNNH+yfm6EenBb+vZtpQUy7rqSo+WR3oLKyLGehNhRbA8RV6TvEXUbfXov4gVPmcyffLMiVElJrKIqq8z/Z0K4XL/MzTFJ6jOoy+8etr1j/v2yv+ffoO9qSYNGAu29mkqScPx1C20PuVxXv5Sk3X82FGDj9Ue19EAy2N6LU/XrP/MG65fzHw92/9loIEmsluLtfd/7+/jv/rMGsiZrhfxnrF4JV6X/67PxQT0Gy+h/YLj7T29Is+uYq4O0refoapuFmjmUOgOOrjoDjp56BY5T1RQB",R="data:image/webp;base64,UklGRqoFAABXRUJQVlA4TJ0FAAAvNcYXAJ/ANACANLh700Qm8/9D0GH7Q1EkSc3t6+7INhCDE6xmBGAEqhQnABJ5+xKf4rshmqddo6kS5j8AQQgEgSDQ977/D3IFaGC75+QyyrL8xtndM3Jsc129Hi4lHUKyyiBBANu4bXZvqXv3/591IgKUlUrJrBqI6L8sSLLjtpl1DooItUAVsBWApA/+/dhZ6WdOPz4d/WpO/kx0+M/A0T3tVZk1fh1J8bU4Rxsl+3d14eE/OzW+dUsV2vtuKp526sXT7nhw+M9OBq361y1JUrK976aSpPa5rn4pSYf/7ETIj9gf3VLZMxLtfXOqf/1nW/6swj5irqtflrsO/9nJ8KtQn6jT3vdb6u+Kkysm3y8P//nihHjf4T//qfiteq6kOt62q6mU96aE+nZ14S9Jfb668Jek+32RLfrlSYhTQvMJ9f+S49Gxhzre+CSq4Z/xBv1eiHuDvR4olxDLhbg3mH149PbUSaIaM1qPzsO/wd7urolopmsJhODeYMbhd1IMTMrkvbFJE8xoBeLa4TLbKGiNDX9X/Z++Q/tiPNNVq8iMg/3oIDkoMbNReNUbpwjyxuVHNtFQC/D+Hs2217hw3vewik2xkSY7nnA+sKfozE5mLKpbp8hb5KJuPbl69/rqwva+yoV6nJJCeRYcIdRsQitHQHnBr3pLlz5ib7n1ej7RYq8SnkOrMZs3Ljwo52n0iUaTcnw5KXISe7qcz4gdoFEoVydUxziPIhdcPSM/sW+bq/cYE+dQJonsGok2H4FnwzKUufNoBE495IqpMSoStUrmNfRSH3hb9dqUzhQOCmU9QY+N6W3VmUR7d1cr5hwwTrDH2HmdOvE1y9dTsiNfdO06rDfb9XlZRSZTIUyNfnkiZKBcntl4PJhlQPNLmSsHa4A3cOoxRR6dmzVjszRzx8Tx4G+g1YNf/XChv0YgT9jHLYDdFlwO8fUsvd0qcHcoeXW9RJt3QPNNHJmMkOxLal2laJcOo9ksLucy4ONI9qhgr3ljXejsIZoPw0iRU+xsZInHEA523MHUqRP2waZZ7Bu1Rux7dMjvanmDAx9HsucO2irCg1fk46SJsoVbH0cwZwhjsD87vxExSkW4LIKr84HGl3Jmg8kfKcoYNO7U2MA+cR1R+mVYzI57Y8e1b8xSxPlhb+etnEkrPfCg1f0x28istLPzXlK0668VaDveV41TEclmsRdLbRWRcJrxlDnX+yLvkurzklaZSCWxh2vYeNe8w2/ZeSQpzg+enLdoNgzNfrGgNhm/jWgWjHUQ72LW3seYxRkvLVGvXrGbWwYbXztYY2P+Aa+UM//20XacNBlqeEPn8aKktLki+Y3RgiuCrzeMnTXQ2wuNz9WFPFJr2BKThrmZtF7QTv9pq8gvqLpFTqTqHAiNBzMIdV/DMMmAHUoc+A1wDZFfdnW9PBsY5d5YHihKpPjOiJEHCfsYVbjEQKNO6WAbMlcTZuqR8YlHx9sAm70nYnalftaBSSB21Rv/jfsLShjGWZw9uTuiRGcEo2wcu404b9A9TdA5vfH5vcjHyGIvRg7QqFM6WIw9xs65cQnVga8j9p71yY6J/eVzuGviKamWN/gEenQdh+xZV0w9uP/TcJ8bHTvjsrFPn0Pwcxy1r4zBE/y8DVekEcdekqqRaPMN3CxYxmHey6O5ejBzVlu3yGNSHaFLqsRdVOXL7X++8u36Zd1Es+3Zg55/j077Mtrvl18D8LTqrVt6WnUm0d53Uz3Z5sH3wIo91IXrl22PB4f/7FDgRu7nbumbpGR735zqX/9pG65ftj8eHP5z92TW+KnaH/5z92Qv+2D+rpfvhFp57Fl7d+zvlHaNzwCz09TcpbmA6kX3j3TzOf1tU3QCYMNde382LLoXfCDW3Wa7ovPFYxSfNbDtWQN7n8nPSeOXPWvgscQA",V="data:image/webp;base64,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",y="data:image/webp;base64,UklGRooFAABXRUJQVlA4TH4FAAAv/oMqAE/BNACANDhdn+D/yCNU7aQpfgSj2rZS4VqABPQvQgEbsv7UXS7jNpIULW/+6e2f+Ziv538dACE74P8+TCmQUj4buRd2/rjD6oD2/zqgA5771n7GtIXwUhiaOk58eHXAOhza//u/z3WevvfV/t8+tESVyevxxbVmoCjbttu2cSAzPXEv6l0m/v8PI757z3uCOCHwTJwd0X9HkCRFSvVnL3Uggg5hwWOeJ0uU3r6IeLX6CRXPVfxzeKgngeOIvDkc9Dp4M1ktXLw9wgDLL9OzAtv+bbKy7fVp/pD0VyFX6Rnt3PvJqjy1Ps13WafAOfAVOAdc6M52Hb8UWkfnFLiwHXMGfAWc6pvtVRIG2sY0UBvdQAsG2kU1ldqqi3C24U/bpZ2cA6fAM9q5M+AcuAHaTTfKXmXjDFeoy2CkLiYlSi262lIM1JZUj+qla2tIpW7MnKiGYm93pL1AZwLA7gvEzbg9sBO3oCkyEMc0Av9FEaiozQrtPzY+OKYb/dtM321fA23IOhHbQBnaC3QTDJXKGjdA2ZRHBnaPK9Q14ChuzQhq66RFfeXl240msiGldCNBDaTab2xsbzmAgS15J6LVJR0DVQ1PUtxkW5lB9hZf6xK0sCYAUKygRX3FRDHpZppZUhbHPkG77IDgb+AU2LGUQr8Wsu0L2+UwZMmt7Xo2lVKMCWxCdQu85NVQNlAodzJr2o0l6oDUDQhm1jSdSxRyA8vijAdQ44fuu50tBzCwpcZSoIU1dSMMRA03H1QcUZr5SEZuXllUSom1G4DtyeMuuxRaKaNOUrS1/57owLgk5itQ8q3QJ9slp4C+1OgD8DHRRlAWV50xQRzhB6BboL6xZXYTRQIaNTuacYF023JHWUeh/U3SPG61JrKORmlMJ8yGaJOIP7qdNXUP1DVlLaZympESXRRTm2lAu8ZVngOF2o7FCNRPFIoNJCerLaWOBmYWzoFnzoBL2/El5TKkL0AZ2z3wUjsqJLKhs2CgdvpvGU85+KjtRE1as4MM5QZlW1rElJerZmcks7HIFGcvprzTZTBS14jjJlvfoYgbfV0J4oHM+uVPmhFpZc3LVx5XUUoSP3Y24Xcgnkp0CgSkeuaz7UfbU995524B9SXaoHdPdPvKyxBHFHdSlA1t0ZNilJplquRlbbPIeq8tNQp0AGPnk4la7HQOqBONWi3cybsnteakHlImJANkhpE/DgZaEpU86thEp2Ck1Y3LvbbUKNAhMd2omb4C7S7ZiGr5RO8KdQWoWy2AfCCxjtxWQB2K1Lsl2kbrndgAa4wwq/F9/AHjBy62upCodliyqwBG2n3EaNl0a58oH8LUTK6ujANxl0S3sEHUiGKVSk3MUGhfH/rd9jkQf+XIGXAFPAD1bCpVd7iDQDglK38TP6LFqZlT3Pi1ToZexjjqMoK8A6NHnl1S3hrVOlazKPa2Ui2sqVdgksrNSTG1tpHXRNQ25mwZVJsSzER8Bb4VKq3mshCF7mxX0ERtrcm2uwH+//yomHmQSelnWeKfEHEGXNjOY4l/boTOD9sfJivbXp9mZwix0A1wDdzavrN9DzzaBngAyvji6UZ5OZ4mq/IvRB3pZ5H8+5Cv769DH/FnOUoZyt7WsWiWfq3+s/rP0X4W/6VG6xEsr/kBnh6v6yNGj46z+p8f4NX//ACv/ucHePU/P8ArFPkB7iRY/c8P8Ep/foCz5reAJwi3a2DkhMU5QbjdBAOLc4JwuwoGlDf6AwtugnA7CZTuQt6YF94E4XYNKDfcNBbbBOF2EWSDbioLcn6AuwZAZ7FNEG6XgZps24U2QbgdBjWTjRfdBOF2FYBiMwtygnBfitX//ACv/ucHeD0+P8BH/Fn8U4ZyLJqlX+svAA==",J="data:image/webp;base64,UklGRgoFAABXRUJQVlA4TP4EAAAvQoYWAJ/AJgCANDi3hyAPWYni7N7nflGDTQAAaXBOWtC/Aw38pIA7u8Y2sq1UOC3Qf01k7hIyRPJl/gMAcPw/jDEIof/bSCQmZIgwZC0t+7rHcrQpKGXuzZAPzrnoE5sc3wUnOoME2bbiNoold+Y5+9+sLP5/H6MIFGi/F9F/WYxtx21zbjZqvWJBXoCymBT+m/6WNIdUqf+cU/n6XGnqaVSnS6S5ryOwrlqZOjTQdY3HNT9PxemPnkkaMHDXjR1MUjPyeSBzt1vKUN+HqXDuitGFbbXLm/90THDRw26JJIP1fZiKJMtnW+2SJG/+0/EQ774fd0tpMwnUd3Nq/9rPdfm3yPdhs612ma66+U/HxCnRPpGnvo9b8q+yY8wm3i5v/vMfGux1N//5Q+TMfK7IkiAxJ9FrZED79kjjieQ+P9J4Inncb3KNdnkvj/uABheK/YH8oO0hX6DEYgkPHBK7XsfLStgJej6sUPJ4Xwk7wbjEBzMCiYAQh2fa+6b+kCuIg5+gt5ve0RsQezfkgZ1gLOIcFEL+2+YXUCdosPlXRUoQsHo8rLiyoijXJmMRkjnUBSkSOVj0RMPkzDyDY14N4EH5QbS+6ocftir3shx4XRbiyx94qb9HGsv7sx/ycR+UF27GEUwNLRR5BC88orfNo5ucGYk4rwYsn15A5Rj0qx++1KpI9m1b66buvVBfdhfWWtihFIklMke8jVR4g2b5X7x7AXOBDX4hUSnZYRlZ5i3aB54XvRSnH0MSmfpIPVnuPJcqUM+LLgTqu8q0vi27dkCm+6U+YF/Vp2eS+fleBMZUIp8c7fIekOcrFm6k3x+MP3jDUJFHGiPkeXkviU+aYruxQikSkpGpHesF6UtLYaV1KK0drPlSypfWu6YOW4l3SjiprzYFmzDlRfnibUTCmw4FIx4Y2LAW9khjDtL9YiBTuNQNVjClJ7AcpOA+2gkSxfdld2a1SnxVyQUUOpLIcYhopOC+ItGE3HRHp49HIhAndUpK8UJN4QcSiKGW4rIfiu/L68zqnK0Xxi+sMMG9x2/zfxAbrouRDujVZ8HyAxYMXZenRXUNGYWstU2eSObnO6w0nlJsD1soPHFE4kwpDknaYRIZHMOHvdAXB0fJN9F8jWI1+VZi3ZFh2L7aE8l/YDFHYWTigxEXpDXRohVQ2AQs6a544MRZ+8Y2qeUCiRyokKaf6NijrPZT1iYnV3k3uQeV50BefzACsY4ZHyQmPIdIoGC+rsM6HkkvCOuwkIYTNkBGeo7I1MmXWgorpKxuDIkyr8trOyR08sborf4RiHjcoENf/k9YOJGILxIl9kt5rcjygrAOC9J62kYskL7kObKO2kJI77QceJ0a6svu6GqM32F6x/ugYoXRCDyOPhhx6Hvx1iGR508BGX+kMfVAYkG5T79w9/frwjdIhau1MDcLKke8jURgg2U5HGJRg/iNOfLiKneNMKj24AqPNB6mIsny/+yH67XLvPEmSUMJ1fAfdOvLKL9d/u+At0XPuyUtuhCo78NUkoTjT/Foe8jLttqlJN38pxMC68Zfd0skGazv5tT+tZ+ywdpl+f3BzX+OYoaQdyzh5j9HMT3Pu4eojVzmr/Q2TG6EDk2zxg/mDTP14szaQabOlVm7yy/xlkx2c591S4f2075t2b0yjx/M2lN6Vc2/AlPfzay9pPP9HB6Y95PPfp35xghTiyA=",S="/assets/27.HP-4-Kyb.webp",Z="/assets/28.hDUavPo1.webp",x="data:image/webp;base64,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",N="/assets/30.zrt2LXsX.webp",z="/assets/31.XX1gpwsu.webp",O="data:image/webp;base64,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",X="data:image/webp;base64,UklGRlYEAABXRUJQVlA4TEoEAAAvIAYVANfAJgDAJHN3oQBd6N/A5eN3ajCqbVvJd3eYkYlghKOA28whAAu2kSQ1QmutfVIjVrLAfvsDoJj/AAD8/+f9LjISoAYOs83uMcXQllPZipIXmWiPJjjnGuG9Dbe/n246eLU06+WCp52VNNVn0AehmyDn/TNIkCRJbhuSuiVQp+//f9Q0dmZ2CIoLmCt0RfRfFiTJbtvMSLYfAQFLpa1CeE5/mwtWt5Nzc6p+ActDz/bDtMpk9Z/LIG7Olgnv7+XU0+V2sq7+c3nAzcEfZ0tJqnx/L6dK0vG5AvwcNrFlPycrwOo/lwlsC88Pee/vBZf8RXZJ5bAtXP3nCwnsZav/LPnskOC4UGkr3qC3lXSeb9DbSvrfsIqrt5ffeFBhZ8Kew+Pk1o5c94U7jB2YZtTXRSjRyoHHkbEddDRIOEZTZhSOVVax53GhOUmgd6jq0dAjtoNug/jaNjkHm6LYAyuF//yiz7x9uT74n3qa8Uf5h6qyVulM2GMdirILxiuPBEJ6+cBL7CVqW64F90C0sOYgd/gJ7gqjue5MW/QGvaObx+9KveoytmDajTAuD7uOrBx+FflUPOSYdalu+3JPXaY5CJQMjOtnGHlHNNdgOruwK8cpHdeM8upQkHKJnmSP1U7GHtqDbwc/JuUBigSFtZncjBPz28HK93eTeYCBcYKB8u3KHOFc7ec3Sfm8AXV/4ZV6/gDvjr8DytGproB2wj9Ah8EOKY/YQSn/Elm/esYZMi6kbVuuDf9l+ND9yGt5eJn8HHOIgTvilLlmKrGpO/6SV14dCNKeLKToxBxe4ezwKiyv3lp38K9aGPkh6zAW+ICV1E82jxiIEspl2KzUL5ryIMqjI0gdCfWDrIk+rF95G8qqtzZfJVY77klzw/mDVTdRgrkMG51TH3RG+BfqeoOc9O2Md8I7euAKrEXXwvB4fAfamoFaBpptle9APm/VljlL7AynMPilLoa6E9ol3oW6kY1C3RZanJpV7EWRU+JziPEOYti5ZiiSf/tdxqBLYYdUMyCo5G8oNqjdArQ6sVX8W/bsZBP4ui5cAJnOF9C0Von9w6Hk8Tto5oZ+FXYg2AeljnNa2641a7AjZwLANt+QVT72RIBWBvBzzCW8CgKQgkVlOvOQolMA1p5A71AAqayUsk5q2RGb8G+ctVyrnBAwI30LY1eLN9mHdwGtfTGtl2PuIA34Ccob8KK5MG0yPodJAn9XWjfoUNhTPiaV1ZJTKnsiB8mst7UOkmWkbxM+l6/nE6PBnW1Ij5VmlFcngl1B2SUB0SwA4F1QW5t+7nKEG/SWUctVpveHJUgixdzykqRVCT4lLzGZlB07r8C3syVA5ft7ORUgjj+TrJ3huDwBfybrE7D6z0LGrPLlbJnw/l5O3Ug6AUI+T9bNwdV/li86iP+WgtV/vlzgQR0EWkmgg/gvwlwV4aF74EHaXLDbySBp9Z9FEgE=",L="/assets/34.BFJPCUA_.webp",B="/assets/35.nmPWCt7c.webp",G="data:image/webp;base64,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",C="data:image/webp;base64,UklGRm4EAABXRUJQVlA4TGEEAAAvJ0YUAJfAKJKtRmRuyQZ60IqWHAWw+biFDTWRbDX/E0tc4N8DDnKJgZxKBrWRbCX/oy3QfynUQMaQu4c6/wEA7v/97yKZKcTRKfDWWHf71nKPwRlr8o2WbOuDS6kWTURgp2KUZ5Ag23bbNpZ7b/tfLQm8/z4EmgBChP9F9F8SY9t125y7kWRGuhbweAGyZH+7t+OqLtVJI0Q3u6UC73uciuemGq1sqzBP/zlWEIsedktrKTjf9zjVTUTUz7YKc/3o9J+BR5d99rhbykvB8b77U/tXQNflbpHtA7Otwsw/Ov3nWMEl0z5R5n0PbOxMwlmF8Rfm6T//yQB/dvrPvw5u5XVVzp/vm7Xc+r5LROzz+r71KQO/yTUK8z4swqFphVshPoPLkVvZriKuf3Br6CAKSh6Lj0TcA6YVPoNzYKUKgsuVW6e4b3mrAJIiDpv7D1rjVx9AFtwDJh+kNEXSpOJyJXcCHgBl55r9zQ6doExCeVOqycwCJYbUS/okNAbGuIvwJA5OtTztWpvf6FXuAzmwuiXGlz1M0oDr++r78xuU494pK8HAHaCmFaRPSnyTNFX4ozcxY1uMN0xEa/OtXiUCT5eiydQI1hfuproN6UOe7JFKZNj0QTmxmYJn1/Mj/hoa22JHxNqH50Uv1ekXaPWQ+8g9IXeWy5cKpUUrjvfdZEqnQ1MHUv5zuQ/aV/vpWVJ5fhaRWZTJpkRh3hOyfPkSTLI7hAkEz6o8boQKfcYd4exhZ8bTG7U6Ed9aThKlyZM6SJFypPRHc4e9xIcieHJfnQq3D8hLlMuwqQR7ZZ6nce4gzxL0JGaGHeeZBXIitTl5DuUPQA5yeB/9hMRi+8IdVrPi/6jmExYZipAmFMh5bfeYWH4i5TfFM+z8CkDGG/bY3tipQwLUR6DUYbF9WR1Wo7P1k7mEYrdnxsSYXInAztAKQOvX3LLecFa9qe1hmwjoujwtamskL1KzNXmSVJ4ft/IMysEetnDypImFW9mtpQjfKj/v+j7pVj5v3KrBHgGVdS+RdlYc2FeHEmGv3itxMrXAzmAjuFV++BG2W9snB3bQG/wGc6NKyjvT4KOuAqqrycVU2Sb3pMrcyOoQJhHQ7h8czE7l9nhViRMWbheSNiZPIG486zeQI2v/QamnQEmEuiomr6xurfOIYHcX9M6xTyzkOwn6fr/VW+EdQGxH3uyROPK8s27TyqT7CnKpI1mO0F17iIgP2Q7yror1hTuzJuNv2H/w3inf5QkFOzW8N7J2HLQdWUjYW+rDxt5HRGoT/o6y3iANru4CNnOqRIbNItBPsn3w/vzuI7A3zofEOOtZrrC+b5xKkur/8xtcrzDLZlhExHzBn/j3/TooUn9hTvO8L3reLb0vWnG873Gqd0k89h6E2ENZtlWY75JO/xmAdNVHr7ultQSc77s/tX8FVDdcYdbfIZz+M+iYJ/6d+E//GXUcVrURNqXTf8YiB+n/38HTf0Yf04W+Fp3+818iBAA=",D="data:image/webp;base64,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",Q="data:image/webp;base64,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",E="data:image/webp;base64,UklGRgIFAABXRUJQVlA4TPYEAAAvKwYWAN/AJADANGNmUnPr8v4N0N/za7AJACAN7s5JJoIRbgXcXksgbAIASIO7vPwejKy0oAGzW+c/AAD///e+L7IQoAMOM+zuZ0owatQBYL4mE+3RBOdcE97bcxu90XOZ1om3rh0vFzztrKSpOUMfhG6CnM/FIEG2rbiNbGdO5Mxz9r/QtvX/e2AcgWJa/0X0XxZj23HbnJuNISteE1AvQJrM9vfYVWjxnyZjXZwW/zm1YjVZyjDec6l4VsWIp9z/Dhb/OfUgdrqYLK0iInG851KtIqJ8uNvyslhFRCz+MxPScHUfkyV7gyeMd2tq+m6fw3ImCfvw4eo+i5WtWvzn1IO10TSRZ7xnW/JX+XmVh7XR4j//6cCvW/zn74WNbAeHI4vvA4xBPewBXEfENO8B3Pfyt9AECvXyLYQS1L2wkc9WtgPgDSg9izZiHSHnG6U8GjwGJ5Kw6SPdjsR10LkgocywDmB2ObKZwebH2O9WxgEUcm48GKFH4+Gl2EnimYVoLuvWEYLroIvBZoZNDC+TuILHOI1w3divfRwSNyvGOmewzuw41B3nO/1Jn4V+G3guK1eT7gUnTUjxBS9fcB3yjaqQW9SaxXf5qLor7OuuJbHZ1YJcCTuQEetLrqpvD2B53xNCPr4ThVLMuYKrPoTkq+IVbi+T2ILNGux7tG7uyHOCZshS1+klySt4fraqPa6V5qkFkSyDxkk0jHQl1tfgqrHw0wfkD1SOHOtakDZCK97sHj4mubgdetzsGevKWzP39hym+59W3iS9FqU9xoFRqifosTC9SdqTMN5Vpj2Dxg4G2X9nfdC+ak9vkvLzvBOZR0bp/Eh6AfomFEAgxQj5Dn8kdSZsZZ9Dy85qcavt/EW3ktLmtDayfrxn5FpS/dcc5472Hl7jeqTzQCBP2EcLMehKPNZXk8KdGfKPfDnWtSB5eYFnp5zPEbJplj5ntRWbiDnA6+91V9injEZ6DW+eS8JInlPsrI0YxEL5clSppFeVXGC5BZIiOhj82S4822QvlKMZn2YY7/GkgzuozyZcAsG1dkftg5c8LKQvR1XOsRe6GDaSuCTYiF8r5/cASvz5JFz61DlonZyd2ZK8qvOQo8PxLqmuGcRB+6opvUvKz3OybA5ZfA/HUPhSH0KG1jhjPHhHXK4x55Nw6YNW11MYr+vXJylN/CpmJb2FGHfA4ftqTiLwDr8chS4GO8PEzXClnS3iXwAni59eHF462ipmdd56tolYn3BN8K5A31kBN7nR7Ec5t09ZTdZQeZt8k8p5oS+jToU8TfwZKfzRoWDX5SXkyp8rq8sLeTnkn0voeZCwj1YCpZEkRZCZ5arpiGBPJExdd+9m4JowWeL7o752a6I8/yhzvPxhv2MdvAZfc/gpg04ZQc/G9Z+Zi3y0DhGDsAO7x4/1JVcVxu9wZuF3otIK3QxSahObFn5eMCeLbJOEcomdN2O+Yx2UflPM73JzHxkVrkYj4jZROXKsJyFDL9gDTiHg4SDynac4YtOv3TjAHsC5VJJU3veEkIksyptjERF9BpPys4edClKUOnyeJL1Nlp4k7UkY77lUT5J48LmFvofDcifpp1jdSVr8Z2akwaoeJkuriEgc79bU9N0+ZcPdlvfFyv7+Nhf/mQHpK34//ov/zIGctKp8ju/vD7b4z0xBX/E3MFz8Z06ky9DNTov/LFEj",K="/assets/41.aw_tdfJy.webp",I="/assets/42.tLW2blzK.webp",M="/assets/43.gkxU51e6.webp",H="/assets/44.FnahrF-u.webp",j="/assets/45.3n38PtbJ.webp",F="/assets/46.0tR9tJ6G.webp",Y="/assets/47.nr4NSNM7.webp",W="/assets/48.xyzq4X3S.webp",_="/assets/49.4UndaHyW.webp",$="/assets/50.BbJG4Y_k.webp",aa="/assets/51.54ygo46d.webp",ea="/assets/52.GWeHbs5R.webp",ma=JSON.parse('{"title":"PL的生电教程","description":"","frontmatter":{},"headers":[],"relativePath":"guide/tutorial/survival_redstone.md","filePath":"guide/tutorial/survival_redstone.md"}'),ta={name:"guide/tutorial/survival_redstone.md"},ia=i("",241),ra=[ia];function pa(sa,la,oa,na,ca,ha){return t(),e("div",null,ra)}const ba=a(ta,[["render",pa]]);export{ma as __pageData,ba as default}; diff --git a/assets/index.md.gFFysAVd.js b/assets/index.md.gFFysAVd.js new file mode 100644 index 00000000..c91eea4c --- /dev/null +++ b/assets/index.md.gFFysAVd.js @@ -0,0 +1 @@ +import{_ as i,o as t,c as s,V as r,af as c,ag as _,ah as l,ai as m,aj as n,ak as o,al as d,am as p,an as g,ao as h,ap as f,aq as x,ar as u,J as v}from"./chunks/framework.3rhKcKOk.js";const j={},k={class:"homepage"},y=r('

服务器状态

mc.fdc.jingyijun.xyz FDCraft

minecraftlist.com 提供状态监测服务

三周目画廊

服务器图片展示服务器图片展示服务器图片展示服务器图片展示

二周目画廊

服务器图片展示服务器图片展示服务器图片展示服务器图片展示

合影

除夕合影(还有交大的同学一起~)

2023/1/21 除夕合影

国庆合影(还有交大的同学一起~)

2022/10/1 国庆合影

中秋合影(还有交大的同学一起~)

2022/9/10 中秋合影

社团落成合影

2022/3/8 社团落成合影

中秋合影

2021/9/21 中秋合影

',18),C=[y];function D(a,e){return t(),s("div",k,C)}const b=i(j,[["render",D]]),S=JSON.parse('{"title":"FDCraft","description":"","frontmatter":{"layout":"home","title":"FDCraft","heroImage":"/logo.svg","hero":{"name":"FDCraft","text":"复旦大学基岩社","actions":[{"theme":"brand","text":"开始","link":"/guide/newbie"},{"theme":"alt","text":"动态","link":"/news/"}]},"features":[{"title":"🌏 平行世界","details":"生存、模组、创造...应有尽有,还有穿梭到其他高校的神秘虫洞"},{"title":"👔 史蒂夫的衣柜","details":"自建 FDCraft 用户中心账户系统,可上传分享自定义皮肤"},{"title":"🛠️ 科技专家","details":"加入技术研究部门,一起探索 Minecraft 的无限可能"},{"title":"🏠 建筑大师","details":"展现才华的绝佳舞台,还有复刻复旦校园的像素复旦计划等你参加"},{"title":"🖥️ 搞点幕后技术","details":"参与服务器的开发与运维,一起整点好活儿"},{"title":"📖 我是萌新","details":"公众号不定期发动活动通知与新手教程"}]},"headers":[],"relativePath":"index.md","filePath":"index.md"}'),T={name:"index.md"},w=Object.assign(T,{setup(a){return(e,V)=>(t(),s("div",null,[v(b)]))}});export{S as __pageData,w as default}; diff --git a/assets/index.md.gFFysAVd.lean.js b/assets/index.md.gFFysAVd.lean.js new file mode 100644 index 00000000..82094b10 --- /dev/null +++ b/assets/index.md.gFFysAVd.lean.js @@ -0,0 +1 @@ +import{_ as i,o as t,c as s,V as r,af as c,ag as _,ah as l,ai as m,aj as n,ak as o,al as d,am as p,an as g,ao as h,ap as f,aq as x,ar as u,J as v}from"./chunks/framework.3rhKcKOk.js";const j={},k={class:"homepage"},y=r("",18),C=[y];function D(a,e){return t(),s("div",k,C)}const b=i(j,[["render",D]]),S=JSON.parse('{"title":"FDCraft","description":"","frontmatter":{"layout":"home","title":"FDCraft","heroImage":"/logo.svg","hero":{"name":"FDCraft","text":"复旦大学基岩社","actions":[{"theme":"brand","text":"开始","link":"/guide/newbie"},{"theme":"alt","text":"动态","link":"/news/"}]},"features":[{"title":"🌏 平行世界","details":"生存、模组、创造...应有尽有,还有穿梭到其他高校的神秘虫洞"},{"title":"👔 史蒂夫的衣柜","details":"自建 FDCraft 用户中心账户系统,可上传分享自定义皮肤"},{"title":"🛠️ 科技专家","details":"加入技术研究部门,一起探索 Minecraft 的无限可能"},{"title":"🏠 建筑大师","details":"展现才华的绝佳舞台,还有复刻复旦校园的像素复旦计划等你参加"},{"title":"🖥️ 搞点幕后技术","details":"参与服务器的开发与运维,一起整点好活儿"},{"title":"📖 我是萌新","details":"公众号不定期发动活动通知与新手教程"}]},"headers":[],"relativePath":"index.md","filePath":"index.md"}'),T={name:"index.md"},w=Object.assign(T,{setup(a){return(e,V)=>(t(),s("div",null,[v(b)]))}});export{S as __pageData,w as default}; diff --git a/assets/inter-italic-cyrillic-ext.OVycGSDq.woff2 b/assets/inter-italic-cyrillic-ext.OVycGSDq.woff2 new file mode 100644 index 00000000..2a687296 Binary files /dev/null and b/assets/inter-italic-cyrillic-ext.OVycGSDq.woff2 differ diff --git a/assets/inter-italic-cyrillic.-nLMcIwj.woff2 b/assets/inter-italic-cyrillic.-nLMcIwj.woff2 new file mode 100644 index 00000000..f6403515 Binary files /dev/null and b/assets/inter-italic-cyrillic.-nLMcIwj.woff2 differ diff --git a/assets/inter-italic-greek-ext.hznxWNZO.woff2 b/assets/inter-italic-greek-ext.hznxWNZO.woff2 new file mode 100644 index 00000000..00218960 Binary files /dev/null and b/assets/inter-italic-greek-ext.hznxWNZO.woff2 differ diff --git a/assets/inter-italic-greek.PSfer2Kc.woff2 b/assets/inter-italic-greek.PSfer2Kc.woff2 new file mode 100644 index 00000000..71c265f8 Binary files /dev/null and b/assets/inter-italic-greek.PSfer2Kc.woff2 differ diff --git a/assets/inter-italic-latin-ext.RnFly65-.woff2 b/assets/inter-italic-latin-ext.RnFly65-.woff2 new file mode 100644 index 00000000..9c1b9440 Binary files /dev/null and b/assets/inter-italic-latin-ext.RnFly65-.woff2 differ diff --git a/assets/inter-italic-latin.27E69YJn.woff2 b/assets/inter-italic-latin.27E69YJn.woff2 new file mode 100644 index 00000000..01fcf207 Binary files /dev/null and b/assets/inter-italic-latin.27E69YJn.woff2 differ diff --git a/assets/inter-italic-vietnamese.xzQHe1q1.woff2 b/assets/inter-italic-vietnamese.xzQHe1q1.woff2 new file mode 100644 index 00000000..e4f788ee Binary files /dev/null and b/assets/inter-italic-vietnamese.xzQHe1q1.woff2 differ diff --git a/assets/inter-roman-cyrillic-ext.8T9wMG5w.woff2 b/assets/inter-roman-cyrillic-ext.8T9wMG5w.woff2 new file mode 100644 index 00000000..28593ccb Binary files /dev/null and b/assets/inter-roman-cyrillic-ext.8T9wMG5w.woff2 differ diff --git a/assets/inter-roman-cyrillic.jIZ9REo5.woff2 b/assets/inter-roman-cyrillic.jIZ9REo5.woff2 new file mode 100644 index 00000000..a20adc16 Binary files /dev/null and b/assets/inter-roman-cyrillic.jIZ9REo5.woff2 differ diff --git a/assets/inter-roman-greek-ext.9JiNzaSO.woff2 b/assets/inter-roman-greek-ext.9JiNzaSO.woff2 new file mode 100644 index 00000000..e3b0be76 Binary files /dev/null and b/assets/inter-roman-greek-ext.9JiNzaSO.woff2 differ diff --git a/assets/inter-roman-greek.Cb5wWeGA.woff2 b/assets/inter-roman-greek.Cb5wWeGA.woff2 new file mode 100644 index 00000000..f790e047 Binary files /dev/null and b/assets/inter-roman-greek.Cb5wWeGA.woff2 differ diff --git a/assets/inter-roman-latin-ext.GZWE-KO4.woff2 b/assets/inter-roman-latin-ext.GZWE-KO4.woff2 new file mode 100644 index 00000000..715bd903 Binary files /dev/null and b/assets/inter-roman-latin-ext.GZWE-KO4.woff2 differ diff --git a/assets/inter-roman-latin.bvIUbFQP.woff2 b/assets/inter-roman-latin.bvIUbFQP.woff2 new file mode 100644 index 00000000..a540b7af Binary files /dev/null and b/assets/inter-roman-latin.bvIUbFQP.woff2 differ diff --git a/assets/inter-roman-vietnamese.paY3CzEB.woff2 b/assets/inter-roman-vietnamese.paY3CzEB.woff2 new file mode 100644 index 00000000..5a9f9cb9 Binary files /dev/null and b/assets/inter-roman-vietnamese.paY3CzEB.woff2 differ diff --git a/assets/lobby_1.7jZFQ6CV.webp b/assets/lobby_1.7jZFQ6CV.webp new file mode 100644 index 00000000..cccc6b45 Binary files /dev/null and b/assets/lobby_1.7jZFQ6CV.webp differ diff --git a/assets/lobby_2.Dj_KbeAP.webp b/assets/lobby_2.Dj_KbeAP.webp new file mode 100644 index 00000000..7f605a3b Binary files /dev/null and b/assets/lobby_2.Dj_KbeAP.webp differ diff --git a/assets/lobby_3.6OvB4DSZ.webp b/assets/lobby_3.6OvB4DSZ.webp new file mode 100644 index 00000000..5fdb7b99 Binary files /dev/null and b/assets/lobby_3.6OvB4DSZ.webp differ diff --git a/assets/motd.ceykhe7p.png b/assets/motd.ceykhe7p.png new file mode 100644 index 00000000..0a2bf6d4 Binary files /dev/null and b/assets/motd.ceykhe7p.png differ diff --git a/assets/news_bugs.md.LilKGTRG.js b/assets/news_bugs.md.LilKGTRG.js new file mode 100644 index 00000000..bc4819bb --- /dev/null +++ b/assets/news_bugs.md.LilKGTRG.js @@ -0,0 +1 @@ +import{_ as a,c as s,o as t,m as e,a as r}from"./chunks/framework.3rhKcKOk.js";const u=JSON.parse('{"title":"已知问题记录","description":"","frontmatter":{"sidebar":false},"headers":[],"relativePath":"news/bugs.md","filePath":"news/bugs.md"}'),o={name:"news/bugs.md"},n=e("h1",{id:"已知问题记录",tabindex:"-1"},[r("已知问题记录 "),e("a",{class:"header-anchor",href:"#已知问题记录","aria-label":'Permalink to "已知问题记录"'},"​")],-1),c=[n];function d(i,_,l,m,p,f){return t(),s("div",null,c)}const b=a(o,[["render",d]]);export{u as __pageData,b as default}; diff --git a/assets/news_bugs.md.LilKGTRG.lean.js b/assets/news_bugs.md.LilKGTRG.lean.js new file mode 100644 index 00000000..bc4819bb --- /dev/null +++ b/assets/news_bugs.md.LilKGTRG.lean.js @@ -0,0 +1 @@ +import{_ as a,c as s,o as t,m as e,a as r}from"./chunks/framework.3rhKcKOk.js";const u=JSON.parse('{"title":"已知问题记录","description":"","frontmatter":{"sidebar":false},"headers":[],"relativePath":"news/bugs.md","filePath":"news/bugs.md"}'),o={name:"news/bugs.md"},n=e("h1",{id:"已知问题记录",tabindex:"-1"},[r("已知问题记录 "),e("a",{class:"header-anchor",href:"#已知问题记录","aria-label":'Permalink to "已知问题记录"'},"​")],-1),c=[n];function d(i,_,l,m,p,f){return t(),s("div",null,c)}const b=a(o,[["render",d]]);export{u as __pageData,b as default}; diff --git a/assets/news_holes.md.efNJzrqy.js b/assets/news_holes.md.efNJzrqy.js new file mode 100644 index 00000000..87e9fa61 --- /dev/null +++ b/assets/news_holes.md.efNJzrqy.js @@ -0,0 +1 @@ +import{_ as e,c as t,o as a,V as l}from"./chunks/framework.3rhKcKOk.js";const b=JSON.parse('{"title":"腐竹的新坑","description":"","frontmatter":{"sidebar":false},"headers":[],"relativePath":"news/holes.md","filePath":"news/holes.md"}'),i={name:"news/holes.md"},s=l('

腐竹的新坑

希望有uu能参与到服务器的填坑中来。序号后的方括号内为该项需要的技术栈,略有了解或希望了解的uu们都可以分一口锅~

  1. 服务器 BOSS:
    1. 战利品:基于 github:nulli0n/ExcellentEnchants 的稀有附魔书、矿石、建材等
    2. 怪物:基于 MythicMobs https://gitlab.com/SharkGirl_kunjang/MythicMobs-Chinese-Wiki/-/wikis/home
    3. 机制:基于 MonsterPVE https://www.mcbbs.net/thread-850438-1-1.html
  2. 制作一只群聊机器人
    1. 查看服务器状态 已实现。
    2. 与群友闲聊 已实现,基于GPT-3,但由于某些原因通常不开启。
',3),o=[s];function r(n,h,_,c,d,m){return a(),t("div",null,o)}const u=e(i,[["render",r]]);export{b as __pageData,u as default}; diff --git a/assets/news_holes.md.efNJzrqy.lean.js b/assets/news_holes.md.efNJzrqy.lean.js new file mode 100644 index 00000000..fe272b7c --- /dev/null +++ b/assets/news_holes.md.efNJzrqy.lean.js @@ -0,0 +1 @@ +import{_ as e,c as t,o as a,V as l}from"./chunks/framework.3rhKcKOk.js";const b=JSON.parse('{"title":"腐竹的新坑","description":"","frontmatter":{"sidebar":false},"headers":[],"relativePath":"news/holes.md","filePath":"news/holes.md"}'),i={name:"news/holes.md"},s=l("",3),o=[s];function r(n,h,_,c,d,m){return a(),t("div",null,o)}const u=e(i,[["render",r]]);export{b as __pageData,u as default}; diff --git a/assets/news_index.md.Zm08Jqyr.js b/assets/news_index.md.Zm08Jqyr.js new file mode 100644 index 00000000..53d800c5 --- /dev/null +++ b/assets/news_index.md.Zm08Jqyr.js @@ -0,0 +1 @@ +import{_ as s,c as t,o as c,V as a}from"./chunks/framework.3rhKcKOk.js";const _=JSON.parse('{"title":"动态","description":"","frontmatter":{},"headers":[],"relativePath":"news/index.md","filePath":"news/index.md"}'),e={name:"news/index.md"},o=a('

动态

腐竹的新坑

2022 年 12 月 31日

寒假活动 | 世界初生建设

2022 年 3 月 14 日

3 月活动 | 耕地农庄

2022 年 1 月 18 日

蜃气螭影之宫玉

',12),l=[o];function p(i,m,d,n,r,h){return c(),t("div",null,l)}const f=s(e,[["render",p]]);export{_ as __pageData,f as default}; diff --git a/assets/news_index.md.Zm08Jqyr.lean.js b/assets/news_index.md.Zm08Jqyr.lean.js new file mode 100644 index 00000000..870bfff8 --- /dev/null +++ b/assets/news_index.md.Zm08Jqyr.lean.js @@ -0,0 +1 @@ +import{_ as s,c as t,o as c,V as a}from"./chunks/framework.3rhKcKOk.js";const _=JSON.parse('{"title":"动态","description":"","frontmatter":{},"headers":[],"relativePath":"news/index.md","filePath":"news/index.md"}'),e={name:"news/index.md"},o=a("",12),l=[o];function p(i,m,d,n,r,h){return c(),t("div",null,l)}const f=s(e,[["render",p]]);export{_ as __pageData,f as default}; diff --git a/assets/news_posts_2021100701.md.jqhG_ru0.js b/assets/news_posts_2021100701.md.jqhG_ru0.js new file mode 100644 index 00000000..3fb51e3d --- /dev/null +++ b/assets/news_posts_2021100701.md.jqhG_ru0.js @@ -0,0 +1 @@ +import{_ as t,c as d,o as e,V as a}from"./chunks/framework.3rhKcKOk.js";const m=JSON.parse('{"title":"国庆快乐 - 2021 国庆节寻宝活动","description":"","frontmatter":{},"headers":[],"relativePath":"news/posts/2021100701.md","filePath":"news/posts/2021100701.md"}'),r={name:"news/posts/2021100701.md"},o=a('

国庆快乐 - 2021 国庆节寻宝活动

活动开始时间:2021年10月3日13:45

宝箱为特定颜色的潜影盒,宝箱内至少有一个活动纪念龙蛋和一个蛋糕(请注意辨识,以防误拿别人的潜影盒)

共 72*2 = 144 个宝箱,分布在“旧主城”、“2021新生村”、“未命名新居民区”、“未命名新主城”

战果记录

ID蓝色宝箱青色宝箱紫色宝箱红色宝箱金色宝箱
投放总数4535302410
Charles1714921
ystgod381785
half_night22221
Synopt24101
vegetablest_dog630600
Mirrorlife2000121032
',6),s=[o];function h(_,n,i,c,l,p){return e(),d("div",null,s)}const b=t(r,[["render",h]]);export{m as __pageData,b as default}; diff --git a/assets/news_posts_2021100701.md.jqhG_ru0.lean.js b/assets/news_posts_2021100701.md.jqhG_ru0.lean.js new file mode 100644 index 00000000..d2589783 --- /dev/null +++ b/assets/news_posts_2021100701.md.jqhG_ru0.lean.js @@ -0,0 +1 @@ +import{_ as t,c as d,o as e,V as a}from"./chunks/framework.3rhKcKOk.js";const m=JSON.parse('{"title":"国庆快乐 - 2021 国庆节寻宝活动","description":"","frontmatter":{},"headers":[],"relativePath":"news/posts/2021100701.md","filePath":"news/posts/2021100701.md"}'),r={name:"news/posts/2021100701.md"},o=a("",6),s=[o];function h(_,n,i,c,l,p){return e(),d("div",null,s)}const b=t(r,[["render",h]]);export{m as __pageData,b as default}; diff --git a/assets/news_posts_2022011201.md.epAYTVHc.js b/assets/news_posts_2022011201.md.epAYTVHc.js new file mode 100644 index 00000000..9cb85faa --- /dev/null +++ b/assets/news_posts_2022011201.md.epAYTVHc.js @@ -0,0 +1 @@ +import{_ as a,c as i,o as l,V as e}from"./chunks/framework.3rhKcKOk.js";const u=JSON.parse('{"title":"【FDCraft|复读世界𒆙】2.0 更新公告","description":"","frontmatter":{},"headers":[],"relativePath":"news/posts/2022011201.md","filePath":"news/posts/2022011201.md"}'),t={name:"news/posts/2022011201.md"},o=e('

【FDCraft|复读世界𒆙】2.0 更新公告

【FDCraft|复读世界𒆙】2.0 已更新,新版启动器已上传至群文件。您可以下载新版启动器,亦可直接升级原有启动器的游戏版本至 Java Edition 1.17.1,并升级相关 mod 版本进服。那么,开始全新的冒险之旅吧!

更新内容如下:

新地图:【大厅:世界树之渊】

大厅的默认游戏模式为冒险模式,背包与【生存世界:复读大陆】及其附属地图互通。

  1. 世界树:位于【大厅:世界树之渊】中央。从末地之渊中生长出来的参天巨木,或许藏着许多有关世界的秘密吧
  2. 世界树神社:环绕于世界树周围的浮空圆盘。似乎供奉着远古神秘而未知的神明
  3. 全新平行世界传送中心:位于世界树以东。从【生存世界:复读大陆】移动到世界树大厅,有机会通往更多的世界
  4. 子虚亭祈愿中心:位于世界树以北。常驻池与药水池现已开放,你可以随时使用钻石或远古残骸进行祈愿

特性修改

  1. 游戏基础版本升级至 Java Edition 1.17.1
  2. 移除了生物在远离玩家时智商会降低的特性
  3. 移除了生物不在玩家视角范围内时智商会降低的特性

问题修复

  1. 修复了旦星一号卫星地图不能正常显示的问题
  2. 提升了用户中心的稳定性
  3. 修复了每次登录时会提示“你没有权限这么做”的问题
  4. 删除了大厅周围由错误的地图生成器生成的区块
  5. 修复了 tpa 无法使用的问题
  6. 缓解了世界难度不定期被重置为简单的问题
  7. 修复了游戏内无法使用 MCDR 指令的问题

常规提升

  1. 核心 Paper 升级至 git-Paper-408,其声明已修复 log4j 的漏洞
  2. 基础插件由 SunLight 更换为 EssentialsX
  3. 权限管理由 GroupManager+ 更换为 LuckPerms
  4. 由于兼容性原因,暂时弃用了 Villiger Optimiser

已知问题

  1. 家需要重新设置,现在可以设置 1 个家
  2. 生存模式背包有概率丢失,联系腐竹确认后可恢复至维护前的状态
  3. 由于刷怪机制修改,服务器 CPU 负担加重,可能卡顿

维护补偿

感谢冒险家们的理解与支持,本次维护的补偿以礼包形式发放。 领取方式:登录服务器,在【大厅:世界树之渊】或【生存世界:复读大陆】及其附属地图,执行指令 /kit comp20220112,该礼包仅可领取一次 补偿内容:2.0更新纪念龙蛋*1 石英块*192 附魔之瓶*20 远古残骸*1 钻石*5 领取期限:即日起至下一次维护

',16),r=[o];function s(n,h,d,c,p,_){return l(),i("div",null,r)}const m=a(t,[["render",s]]);export{u as __pageData,m as default}; diff --git a/assets/news_posts_2022011201.md.epAYTVHc.lean.js b/assets/news_posts_2022011201.md.epAYTVHc.lean.js new file mode 100644 index 00000000..91caa60b --- /dev/null +++ b/assets/news_posts_2022011201.md.epAYTVHc.lean.js @@ -0,0 +1 @@ +import{_ as a,c as i,o as l,V as e}from"./chunks/framework.3rhKcKOk.js";const u=JSON.parse('{"title":"【FDCraft|复读世界𒆙】2.0 更新公告","description":"","frontmatter":{},"headers":[],"relativePath":"news/posts/2022011201.md","filePath":"news/posts/2022011201.md"}'),t={name:"news/posts/2022011201.md"},o=e("",16),r=[o];function s(n,h,d,c,p,_){return l(),i("div",null,r)}const m=a(t,[["render",s]]);export{u as __pageData,m as default}; diff --git a/assets/news_posts_2022011801.md.kjbksAv9.js b/assets/news_posts_2022011801.md.kjbksAv9.js new file mode 100644 index 00000000..21353c87 --- /dev/null +++ b/assets/news_posts_2022011801.md.kjbksAv9.js @@ -0,0 +1 @@ +import{_ as a,c as e,o as t,V as o,as as r}from"./chunks/framework.3rhKcKOk.js";const u=JSON.parse('{"title":"蜃气螭影之宫玉","description":"","frontmatter":{},"headers":[],"relativePath":"news/posts/2022011801.md","filePath":"news/posts/2022011801.md"}'),s={name:"news/posts/2022011801.md"},c=o('

蜃气螭影之宫玉

世界树将枝条伸向穹顶,虚空的岛屿上,会发生怎样的故事呢......

2022 寒假活动地图,【空岛生存:蜃气螭影之宫玉】正式开放。冒险家可通过【大厅:世界树之渊】的平行世界传送中心活动传送门前往。

初始空岛

活动详情

位置:【空岛生存:蜃气螭影之宫玉】 形式:空岛生存
时间:2022 年 1 月 18 日 ~ 2022 年 2 月 18 日
奖励:活动结束后,根据空岛最终规模发放奖励礼包。礼包包含稀有矿石、工具、建材等物资

特性修改

  1. 使用/sethome <name>设置最多两个家(连同 bed,一共最多有三个家)
  2. 使用/back回到上一个地点(死亡或传送地点)

维护补偿

使用/kit comp20220118领取维护补偿

补偿内容:蜃气螭影之宫玉纪念龙蛋x1、远古残骸x1、钻石x2、紫水晶块x1、铜块x1、避雷针x1、
领取时间:即日起至下一次维护之前

',11),i=[c];function n(l,d,_,p,h,m){return t(),e("div",null,i)}const x=a(s,[["render",n]]);export{u as __pageData,x as default}; diff --git a/assets/news_posts_2022011801.md.kjbksAv9.lean.js b/assets/news_posts_2022011801.md.kjbksAv9.lean.js new file mode 100644 index 00000000..4128b5d9 --- /dev/null +++ b/assets/news_posts_2022011801.md.kjbksAv9.lean.js @@ -0,0 +1 @@ +import{_ as a,c as e,o as t,V as o,as as r}from"./chunks/framework.3rhKcKOk.js";const u=JSON.parse('{"title":"蜃气螭影之宫玉","description":"","frontmatter":{},"headers":[],"relativePath":"news/posts/2022011801.md","filePath":"news/posts/2022011801.md"}'),s={name:"news/posts/2022011801.md"},c=o("",11),i=[c];function n(l,d,_,p,h,m){return t(),e("div",null,i)}const x=a(s,[["render",n]]);export{u as __pageData,x as default}; diff --git a/assets/news_posts_2022030901.md.AhMouINO.js b/assets/news_posts_2022030901.md.AhMouINO.js new file mode 100644 index 00000000..65cdc203 --- /dev/null +++ b/assets/news_posts_2022030901.md.AhMouINO.js @@ -0,0 +1 @@ +import{_ as t,c as a,o as e,V as s,aq as r,at as p}from"./chunks/framework.3rhKcKOk.js";const M=JSON.parse('{"title":"通讯 | 复旦大学基岩社通过答辩","description":"","frontmatter":{},"headers":[],"relativePath":"news/posts/2022030901.md","filePath":"news/posts/2022030901.md"}'),c={name:"news/posts/2022030901.md"},o=s('

通讯 | 复旦大学基岩社通过答辩

通讯员:尚奇)2022年3月8日注定是不平凡的一天。这天下午,FDCraft复读世界服务器服主郭虹麟、群主夏庭浩、基岩社社长陆金泽三人合作通过了社团答辩,酝酿已久的复旦大学Minecraft社团——基岩社——在众人的努力下,终于初步成立了!

2022/3/8 社团落成合影

2022/3/8 社团落成合影

当晚,为庆祝基岩社的初步成立,FDCraft举行了合影活动。晚上22:10,在欢快的氛围中,30余名社团成员排排站在FDCraft复读世界服务器大厅的东侧鸟居下合影留念。

作为新建Minecraft社团的服务器服主,郭虹麟同学代表社团与友校上海交通大学的Minecraft社团建立了友好关系,同时也与中国Minecraft高校联盟(MUA)进行了友好交流。

许多社团成员为新建社团送上了美好祝福。吴毅恒同学说:“能在复旦遇到志同道合的朋友,是幸运的,能见证社团的成立更是令人心潮澎湃!大鹏一日同风起,扶摇直上九万里。但愿基岩社如基岩一般坚韧,长盛不衰!”最近新加入的王奕飞同学说:“嘛……在看到树洞贴后才知道旦有这么一个默默无闻的MC社团,3月8晚上匆匆下载想赶来合影……可是还是错过了捏。虽然但是,夜游服务器的感受还是很棒的,神樱的视觉效果很震撼,来来回回兜了好几圈。新手引导也很好捏……感谢群里面大佬们的即时帮助。总之还是很高兴能够在复旦找到归宿,也算是社团正式成立之后第一批加入的伙伴了?从小学开始看红叔视频就想着日后也要找个服务器一起玩,复旦基岩社算是圆梦了吧(看到墓地功能很感慨)。虽然人菜,但是还是希望能为服务器建设干点活的……希望服务器也能成为大家的第二个家。”相信这两位同学的话能很好地代表复旦大学Minecraft爱好者的心情。

服务器一角

服务器一角

笔者作为去年刚入学的21级学生,也算是较早加入FDCraft的一批玩家。暑假刚被录取的时候笔者就加入了复旦大学2021级新生群,然后便在群相册中的“兴趣爱好”相册中惊喜地发现了FDCraft交流群的二维码。当时服务器主城的西边还是未开发之地,笔者和其他几个21级新生在西边集中安家,还给这一片区域取名“21新生村”。这些都是美好的回忆。后来笔者上线没有以前那么多了,至于后来渐渐地基本不再上线了,但服务器却不断地涌入新的血液。

笔者亲历了“基岩社”起名的过程。当时群内就社团起名一事展开了激烈讨论。有“下界之星社”“方块社”等提议,笔者当时的提案是“麦块社”。后来由服主郭虹麟同学提出的“基岩社”这个名字获得了一致赞同。笔者认为,“基岩”不仅是Minecraft标志性的方块,能让人一眼看出这个社团的主要成分,更是坚毅、沉稳等美好品质的象征。

社团的核心运营者建立了 “工具人”群。为了宣传社团落成的这个好消息,群内的成员分工明确:有的做公众号推送、有的提供服务器美图、有的出点子……笔者有幸接下了撰写这篇通讯稿的任务。虽然笔者是新闻学院的学生,但作为新生,写通讯稿还是一个很大的挑战。这也是笔者的第一篇通讯稿,实在是能力有限,也谨以此献给新建的复旦大学基岩社团。祝愿基岩社以后能更好地发展,不断有新鲜血液加入,也希望笔者以后能为基岩社做出更多贡献。

',12),n=[o];function _(i,d,f,l,m,h){return e(),a("div",null,n)}const u=t(c,[["render",_]]);export{M as __pageData,u as default}; diff --git a/assets/news_posts_2022030901.md.AhMouINO.lean.js b/assets/news_posts_2022030901.md.AhMouINO.lean.js new file mode 100644 index 00000000..e1d3e0ba --- /dev/null +++ b/assets/news_posts_2022030901.md.AhMouINO.lean.js @@ -0,0 +1 @@ +import{_ as t,c as a,o as e,V as s,aq as r,at as p}from"./chunks/framework.3rhKcKOk.js";const M=JSON.parse('{"title":"通讯 | 复旦大学基岩社通过答辩","description":"","frontmatter":{},"headers":[],"relativePath":"news/posts/2022030901.md","filePath":"news/posts/2022030901.md"}'),c={name:"news/posts/2022030901.md"},o=s("",12),n=[o];function _(i,d,f,l,m,h){return e(),a("div",null,n)}const u=t(c,[["render",_]]);export{M as __pageData,u as default}; diff --git a/assets/news_posts_2022031401.md.vyFBKGmC.js b/assets/news_posts_2022031401.md.vyFBKGmC.js new file mode 100644 index 00000000..af9cc64e --- /dev/null +++ b/assets/news_posts_2022031401.md.vyFBKGmC.js @@ -0,0 +1 @@ +import{_ as a,c as t,o as r,V as e}from"./chunks/framework.3rhKcKOk.js";const g=JSON.parse('{"title":"3 月活动 | 耕地农庄","description":"","frontmatter":{},"headers":[],"relativePath":"news/posts/2022031401.md","filePath":"news/posts/2022031401.md"}'),o={name:"news/posts/2022031401.md"},s=e('

3 月活动 | 耕地农庄

时间:2022 年 3 月

任务内容

使用锄头努力耕作,甚至用坏三把下界合金锄

任务奖励

全体奖励

FDCraft 耕地农庄纪念龙蛋x1、下界合金锄头x1、下界合金锭x2

全体奖励将于活动结束后通过礼包发放

限定奖励

【下界合金锄:农耕之心·锄头の太上】
保护I & 无法破坏の锄头

解锁条件 活动时间(2022 年 3 月)内用坏 3 把下界合金锄领取方式 达成解锁条件后自动获得


【日与夜】此锄头经过日以继夜的锻造竟无法对它造成分毫损毁
【农耕之心】锄头の太上感受到挑战者对农耕的热忱决定为您所用


FDCraft 2022 年 3 月锄地活动纪念锄
在主手时 +50% 最大生命值
在副手时 +2 击退抗性 +40% 攻击伤害

',15),n=[s];function h(i,p,_,c,l,d){return r(),t("div",null,n)}const m=a(o,[["render",h]]);export{g as __pageData,m as default}; diff --git a/assets/news_posts_2022031401.md.vyFBKGmC.lean.js b/assets/news_posts_2022031401.md.vyFBKGmC.lean.js new file mode 100644 index 00000000..a3a34f6e --- /dev/null +++ b/assets/news_posts_2022031401.md.vyFBKGmC.lean.js @@ -0,0 +1 @@ +import{_ as a,c as t,o as r,V as e}from"./chunks/framework.3rhKcKOk.js";const g=JSON.parse('{"title":"3 月活动 | 耕地农庄","description":"","frontmatter":{},"headers":[],"relativePath":"news/posts/2022031401.md","filePath":"news/posts/2022031401.md"}'),o={name:"news/posts/2022031401.md"},s=e("",15),n=[s];function h(i,p,_,c,l,d){return r(),t("div",null,n)}const m=a(o,[["render",h]]);export{g as __pageData,m as default}; diff --git a/assets/news_posts_2022032301.md.cdWYoxL6.js b/assets/news_posts_2022032301.md.cdWYoxL6.js new file mode 100644 index 00000000..881574aa --- /dev/null +++ b/assets/news_posts_2022032301.md.cdWYoxL6.js @@ -0,0 +1 @@ +import{_ as t,c as a,o as e,V as r}from"./chunks/framework.3rhKcKOk.js";const m=JSON.parse('{"title":"SJMC 1.18 现已支持 FDCraft 用户中心","description":"","frontmatter":{},"headers":[],"relativePath":"news/posts/2022032301.md","filePath":"news/posts/2022032301.md"}'),s={name:"news/posts/2022032301.md"},d=r('

SJMC 1.18 现已支持 FDCraft 用户中心

2022 年 3 月 23 日接到来自 SJMC 社长 ff98sha 的消息, SJMC 1.18 服务器现已接入 FDCraft 用户中心. 基岩社乃至全体复旦大学的 Minecraft 爱好者可以通过 FDCraft 账号进入 SJMC 1.18 服务器.

欢迎大家前往上海交通大学的服务器展开友好交流!

SJMC 1.18.1

地址1.18.sjmc.club
游戏版本JE 1.18.1
核心类型Vanilla
特色原版生存

详情请见 纯净1.18.1生存 - SJMC

',5),c=[d];function o(n,_,f,l,p,i){return e(),a("div",null,c)}const C=t(s,[["render",o]]);export{m as __pageData,C as default}; diff --git a/assets/news_posts_2022032301.md.cdWYoxL6.lean.js b/assets/news_posts_2022032301.md.cdWYoxL6.lean.js new file mode 100644 index 00000000..ce9fc1aa --- /dev/null +++ b/assets/news_posts_2022032301.md.cdWYoxL6.lean.js @@ -0,0 +1 @@ +import{_ as t,c as a,o as e,V as r}from"./chunks/framework.3rhKcKOk.js";const m=JSON.parse('{"title":"SJMC 1.18 现已支持 FDCraft 用户中心","description":"","frontmatter":{},"headers":[],"relativePath":"news/posts/2022032301.md","filePath":"news/posts/2022032301.md"}'),s={name:"news/posts/2022032301.md"},d=r("",5),c=[d];function o(n,_,f,l,p,i){return e(),a("div",null,c)}const C=t(s,[["render",o]]);export{m as __pageData,C as default}; diff --git a/assets/news_posts_2022032302.md.pxt67sKt.js b/assets/news_posts_2022032302.md.pxt67sKt.js new file mode 100644 index 00000000..afbd803f --- /dev/null +++ b/assets/news_posts_2022032302.md.pxt67sKt.js @@ -0,0 +1 @@ +import{_ as t,c as a,o as r,m as e,a as s}from"./chunks/framework.3rhKcKOk.js";const D=JSON.parse('{"title":"消息 | FDCraft 加入 MUA","description":"","frontmatter":{},"headers":[],"relativePath":"news/posts/2022032302.md","filePath":"news/posts/2022032302.md"}'),n={name:"news/posts/2022032302.md"},o=e("h1",{id:"消息-fdcraft-加入-mua",tabindex:"-1"},[s("消息 | FDCraft 加入 MUA "),e("a",{class:"header-anchor",href:"#消息-fdcraft-加入-mua","aria-label":'Permalink to "消息 | FDCraft 加入 MUA"'},"​")],-1),c=e("p",null,"2022 年 3 月 23 日, FDCraft 加入中国 Minecraft 高校联盟 ( Minecraft University Alliance, MUA).",-1),i=e("p",null,[e("a",{href:"https://wiki.mualliance.ltd/%E9%AB%98%E6%A0%A1%E5%90%8D%E5%8D%95",target:"_blank",rel:"noreferrer"},"https://wiki.mualliance.ltd/%E9%AB%98%E6%A0%A1%E5%90%8D%E5%8D%95")],-1),l=[o,c,i];function d(f,_,p,h,m,u){return r(),a("div",null,l)}const E=t(n,[["render",d]]);export{D as __pageData,E as default}; diff --git a/assets/news_posts_2022032302.md.pxt67sKt.lean.js b/assets/news_posts_2022032302.md.pxt67sKt.lean.js new file mode 100644 index 00000000..afbd803f --- /dev/null +++ b/assets/news_posts_2022032302.md.pxt67sKt.lean.js @@ -0,0 +1 @@ +import{_ as t,c as a,o as r,m as e,a as s}from"./chunks/framework.3rhKcKOk.js";const D=JSON.parse('{"title":"消息 | FDCraft 加入 MUA","description":"","frontmatter":{},"headers":[],"relativePath":"news/posts/2022032302.md","filePath":"news/posts/2022032302.md"}'),n={name:"news/posts/2022032302.md"},o=e("h1",{id:"消息-fdcraft-加入-mua",tabindex:"-1"},[s("消息 | FDCraft 加入 MUA "),e("a",{class:"header-anchor",href:"#消息-fdcraft-加入-mua","aria-label":'Permalink to "消息 | FDCraft 加入 MUA"'},"​")],-1),c=e("p",null,"2022 年 3 月 23 日, FDCraft 加入中国 Minecraft 高校联盟 ( Minecraft University Alliance, MUA).",-1),i=e("p",null,[e("a",{href:"https://wiki.mualliance.ltd/%E9%AB%98%E6%A0%A1%E5%90%8D%E5%8D%95",target:"_blank",rel:"noreferrer"},"https://wiki.mualliance.ltd/%E9%AB%98%E6%A0%A1%E5%90%8D%E5%8D%95")],-1),l=[o,c,i];function d(f,_,p,h,m,u){return r(),a("div",null,l)}const E=t(n,[["render",d]]);export{D as __pageData,E as default}; diff --git a/assets/news_posts_2022032401.md.yzmfX13B.js b/assets/news_posts_2022032401.md.yzmfX13B.js new file mode 100644 index 00000000..be29a088 --- /dev/null +++ b/assets/news_posts_2022032401.md.yzmfX13B.js @@ -0,0 +1 @@ +import{_ as e,c as t,o as a,m as s,a as n}from"./chunks/framework.3rhKcKOk.js";const u=JSON.parse('{"title":"复读世界𒆙现已支持 SJMC Skins","description":"","frontmatter":{},"headers":[],"relativePath":"news/posts/2022032401.md","filePath":"news/posts/2022032401.md"}'),o={name:"news/posts/2022032401.md"},r=s("h1",{id:"复读世界𒆙现已支持-sjmc-skins",tabindex:"-1"},[n("复读世界𒆙现已支持 SJMC Skins "),s("a",{class:"header-anchor",href:"#复读世界𒆙现已支持-sjmc-skins","aria-label":'Permalink to "复读世界𒆙现已支持 SJMC Skins"'},"​")],-1),c=s("p",null,"2022 年 3 月 24 日 FDCraft: 复读世界𒆙已接入 SJMC Skins. SJMC 乃至全体上海交通大学大学的 Minecraft 爱好者可以通过 SJMC Skins 账号进入复读世界𒆙服务器.",-1),i=s("p",null,"欢迎来自上海交通大学的朋友前往复读世界𒆙展开友好交流!",-1),_=[r,c,i];function d(l,p,m,h,S,f){return a(),t("div",null,_)}const C=e(o,[["render",d]]);export{u as __pageData,C as default}; diff --git a/assets/news_posts_2022032401.md.yzmfX13B.lean.js b/assets/news_posts_2022032401.md.yzmfX13B.lean.js new file mode 100644 index 00000000..be29a088 --- /dev/null +++ b/assets/news_posts_2022032401.md.yzmfX13B.lean.js @@ -0,0 +1 @@ +import{_ as e,c as t,o as a,m as s,a as n}from"./chunks/framework.3rhKcKOk.js";const u=JSON.parse('{"title":"复读世界𒆙现已支持 SJMC Skins","description":"","frontmatter":{},"headers":[],"relativePath":"news/posts/2022032401.md","filePath":"news/posts/2022032401.md"}'),o={name:"news/posts/2022032401.md"},r=s("h1",{id:"复读世界𒆙现已支持-sjmc-skins",tabindex:"-1"},[n("复读世界𒆙现已支持 SJMC Skins "),s("a",{class:"header-anchor",href:"#复读世界𒆙现已支持-sjmc-skins","aria-label":'Permalink to "复读世界𒆙现已支持 SJMC Skins"'},"​")],-1),c=s("p",null,"2022 年 3 月 24 日 FDCraft: 复读世界𒆙已接入 SJMC Skins. SJMC 乃至全体上海交通大学大学的 Minecraft 爱好者可以通过 SJMC Skins 账号进入复读世界𒆙服务器.",-1),i=s("p",null,"欢迎来自上海交通大学的朋友前往复读世界𒆙展开友好交流!",-1),_=[r,c,i];function d(l,p,m,h,S,f){return a(),t("div",null,_)}const C=e(o,[["render",d]]);export{u as __pageData,C as default}; diff --git a/assets/news_posts_2022041201.md.qHHyU1a5.js b/assets/news_posts_2022041201.md.qHHyU1a5.js new file mode 100644 index 00000000..e7bdb3ae --- /dev/null +++ b/assets/news_posts_2022041201.md.qHHyU1a5.js @@ -0,0 +1 @@ +import{_ as t,c as e,o as a,V as r}from"./chunks/framework.3rhKcKOk.js";const m=JSON.parse('{"title":"像素 FDU 计划服务器正式上线","description":"","frontmatter":{},"headers":[],"relativePath":"news/posts/2022041201.md","filePath":"news/posts/2022041201.md"}'),o={name:"news/posts/2022041201.md"},d=r('

像素 FDU 计划服务器正式上线

【PPF】像素 FDU 计划

代号ppf
状态Proj. Pixel FDU
服务器地址ppf.fdc.hath.top(:25565)
Minecraft 版本JE 1.18.2
核心类型Paper, Spigot, Bukkit

像素 FDU 计划服务器正式上线,所有 FDCraft 用户均可使用 FDCraft 账户进入服务器,并以冒险模式进行参观游览。同时,游客使用 /fly 可以切换飞行模式。

像素 FDU 计划建设期间,由于权限管理工具的局限性,建筑师需要在进入服务器后通知运维添加建筑师权限,包括

  • 游客的所有权限
  • 所有游戏模式(/gamemode)
  • 创世神插件(//)
  • 生存模式下的上帝模式(/god)
  • 核心保护检查模式(/coreprotect)
  • 修改行走或飞行速度(/speed)
  • 传送权限(/tp)
  • 修改天气的权限(/weather)

与此同时,旦星二号正准备发射,旦星二号将展现像素 FDU 计划地图的实景影像,以供外围用户游览。

欢迎大家踊跃参与建设!

',7),s=[d];function i(l,p,c,n,_,h){return a(),e("div",null,s)}const u=t(o,[["render",i]]);export{m as __pageData,u as default}; diff --git a/assets/news_posts_2022041201.md.qHHyU1a5.lean.js b/assets/news_posts_2022041201.md.qHHyU1a5.lean.js new file mode 100644 index 00000000..3743c44a --- /dev/null +++ b/assets/news_posts_2022041201.md.qHHyU1a5.lean.js @@ -0,0 +1 @@ +import{_ as t,c as e,o as a,V as r}from"./chunks/framework.3rhKcKOk.js";const m=JSON.parse('{"title":"像素 FDU 计划服务器正式上线","description":"","frontmatter":{},"headers":[],"relativePath":"news/posts/2022041201.md","filePath":"news/posts/2022041201.md"}'),o={name:"news/posts/2022041201.md"},d=r("",7),s=[d];function i(l,p,c,n,_,h){return a(),e("div",null,s)}const u=t(o,[["render",i]]);export{m as __pageData,u as default}; diff --git a/assets/news_posts_2022102401.md.aNpRiXCU.js b/assets/news_posts_2022102401.md.aNpRiXCU.js new file mode 100644 index 00000000..fe6ffeb2 --- /dev/null +++ b/assets/news_posts_2022102401.md.aNpRiXCU.js @@ -0,0 +1 @@ +import{_ as t,c as r,o as a,V as e}from"./chunks/framework.3rhKcKOk.js";const u=JSON.parse('{"title":"【FDCraft|复读世界𒆙】3.0 现已开启!","description":"","frontmatter":{},"headers":[],"relativePath":"news/posts/2022102401.md","filePath":"news/posts/2022102401.md"}'),d={name:"news/posts/2022102401.md"},i=e('

【FDCraft|复读世界𒆙】3.0 现已开启!

代号fdc
状态复读世界𒆙
Java 版地址mc.fdc.jingyijun.xyz
基岩版地址mc.fdc.jingyijun.xyz
兼容版本JE 1.19.4 & BE
特性版本JE 1.19.4
核心类型Purpur

-----------------------------------

  • 周目更换,不继承二周目的背包与数据。

  • 使用 新FDCraft 用户中心、SJMC Skin 或 XJTUMC Skin 账户登录。

  • 复旦玩家请前往 FDCraft 用户中心 注册账户。

  • 推荐使用 HMCL 登录,认证服务器地址为 https://auth.fdc.jingyijun.xyz/api/yggdrasil。

  • 像素 FDU 计划服务器暂未接入,有待后续通知,敬请期待。

  • 与 SJMC 服内传送功能暂时停用。

  • 感谢 Jingyijun、ART1st 以及新周目筹备小组全体成员提供的大力支持。

',4),n=[i];function s(l,p,c,o,f,_){return a(),r("div",null,n)}const m=t(d,[["render",s]]);export{u as __pageData,m as default}; diff --git a/assets/news_posts_2022102401.md.aNpRiXCU.lean.js b/assets/news_posts_2022102401.md.aNpRiXCU.lean.js new file mode 100644 index 00000000..80db30e5 --- /dev/null +++ b/assets/news_posts_2022102401.md.aNpRiXCU.lean.js @@ -0,0 +1 @@ +import{_ as t,c as r,o as a,V as e}from"./chunks/framework.3rhKcKOk.js";const u=JSON.parse('{"title":"【FDCraft|复读世界𒆙】3.0 现已开启!","description":"","frontmatter":{},"headers":[],"relativePath":"news/posts/2022102401.md","filePath":"news/posts/2022102401.md"}'),d={name:"news/posts/2022102401.md"},i=e("",4),n=[i];function s(l,p,c,o,f,_){return a(),r("div",null,n)}const m=t(d,[["render",s]]);export{u as __pageData,m as default}; diff --git a/assets/style.P9N7vkGc.css b/assets/style.P9N7vkGc.css new file mode 100644 index 00000000..2797c0f2 --- /dev/null +++ b/assets/style.P9N7vkGc.css @@ -0,0 +1 @@ +@font-face{font-family:Inter var;font-weight:100 900;font-display:swap;font-style:normal;font-named-instance:"Regular";src:url(/assets/inter-roman-cyrillic.jIZ9REo5.woff2) format("woff2");unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116}@font-face{font-family:Inter var;font-weight:100 900;font-display:swap;font-style:normal;font-named-instance:"Regular";src:url(/assets/inter-roman-cyrillic-ext.8T9wMG5w.woff2) format("woff2");unicode-range:U+0460-052F,U+1C80-1C88,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:Inter var;font-weight:100 900;font-display:swap;font-style:normal;font-named-instance:"Regular";src:url(/assets/inter-roman-greek.Cb5wWeGA.woff2) format("woff2");unicode-range:U+0370-03FF}@font-face{font-family:Inter var;font-weight:100 900;font-display:swap;font-style:normal;font-named-instance:"Regular";src:url(/assets/inter-roman-greek-ext.9JiNzaSO.woff2) format("woff2");unicode-range:U+1F00-1FFF}@font-face{font-family:Inter var;font-weight:100 900;font-display:swap;font-style:normal;font-named-instance:"Regular";src:url(/assets/inter-roman-latin.bvIUbFQP.woff2) format("woff2");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+2000-206F,U+2074,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Inter var;font-weight:100 900;font-display:swap;font-style:normal;font-named-instance:"Regular";src:url(/assets/inter-roman-latin-ext.GZWE-KO4.woff2) format("woff2");unicode-range:U+0100-024F,U+0259,U+1E00-1EFF,U+2020,U+20A0-20AB,U+20AD-20CF,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Inter var;font-weight:100 900;font-display:swap;font-style:normal;font-named-instance:"Regular";src:url(/assets/inter-roman-vietnamese.paY3CzEB.woff2) format("woff2");unicode-range:U+0102-0103,U+0110-0111,U+0128-0129,U+0168-0169,U+01A0-01A1,U+01AF-01B0,U+1EA0-1EF9,U+20AB}@font-face{font-family:Inter var;font-weight:100 900;font-display:swap;font-style:italic;font-named-instance:"Italic";src:url(/assets/inter-italic-cyrillic.-nLMcIwj.woff2) format("woff2");unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116}@font-face{font-family:Inter var;font-weight:100 900;font-display:swap;font-style:italic;font-named-instance:"Italic";src:url(/assets/inter-italic-cyrillic-ext.OVycGSDq.woff2) format("woff2");unicode-range:U+0460-052F,U+1C80-1C88,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:Inter var;font-weight:100 900;font-display:swap;font-style:italic;font-named-instance:"Italic";src:url(/assets/inter-italic-greek.PSfer2Kc.woff2) format("woff2");unicode-range:U+0370-03FF}@font-face{font-family:Inter var;font-weight:100 900;font-display:swap;font-style:italic;font-named-instance:"Italic";src:url(/assets/inter-italic-greek-ext.hznxWNZO.woff2) format("woff2");unicode-range:U+1F00-1FFF}@font-face{font-family:Inter var;font-weight:100 900;font-display:swap;font-style:italic;font-named-instance:"Italic";src:url(/assets/inter-italic-latin.27E69YJn.woff2) format("woff2");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+2000-206F,U+2074,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Inter var;font-weight:100 900;font-display:swap;font-style:italic;font-named-instance:"Italic";src:url(/assets/inter-italic-latin-ext.RnFly65-.woff2) format("woff2");unicode-range:U+0100-024F,U+0259,U+1E00-1EFF,U+2020,U+20A0-20AB,U+20AD-20CF,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Inter var;font-weight:100 900;font-display:swap;font-style:italic;font-named-instance:"Italic";src:url(/assets/inter-italic-vietnamese.xzQHe1q1.woff2) format("woff2");unicode-range:U+0102-0103,U+0110-0111,U+0128-0129,U+0168-0169,U+01A0-01A1,U+01AF-01B0,U+1EA0-1EF9,U+20AB}@font-face{font-family:Chinese Quotes;src:local("PingFang SC Regular"),local("PingFang SC"),local("SimHei"),local("Source Han Sans SC");unicode-range:U+2018,U+2019,U+201C,U+201D}:root{--vp-c-white: #ffffff;--vp-c-black: #000000;--vp-c-neutral: var(--vp-c-black);--vp-c-neutral-inverse: var(--vp-c-white)}.dark{--vp-c-neutral: var(--vp-c-white);--vp-c-neutral-inverse: var(--vp-c-black)}:root{--vp-c-gray-1: #dddde3;--vp-c-gray-2: #e4e4e9;--vp-c-gray-3: #ebebef;--vp-c-gray-soft: rgba(142, 150, 170, .14);--vp-c-indigo-1: #3451b2;--vp-c-indigo-2: #3a5ccc;--vp-c-indigo-3: #5672cd;--vp-c-indigo-soft: rgba(100, 108, 255, .14);--vp-c-purple-1: #6f42c1;--vp-c-purple-2: #7e4cc9;--vp-c-purple-3: #8e5cd9;--vp-c-purple-soft: rgba(159, 122, 234, .14);--vp-c-green-1: #18794e;--vp-c-green-2: #299764;--vp-c-green-3: #30a46c;--vp-c-green-soft: rgba(16, 185, 129, .14);--vp-c-yellow-1: #915930;--vp-c-yellow-2: #946300;--vp-c-yellow-3: #9f6a00;--vp-c-yellow-soft: rgba(234, 179, 8, .14);--vp-c-red-1: #b8272c;--vp-c-red-2: #d5393e;--vp-c-red-3: #e0575b;--vp-c-red-soft: rgba(244, 63, 94, .14);--vp-c-sponsor: #db2777}.dark{--vp-c-gray-1: #515c67;--vp-c-gray-2: #414853;--vp-c-gray-3: #32363f;--vp-c-gray-soft: rgba(101, 117, 133, .16);--vp-c-indigo-1: #a8b1ff;--vp-c-indigo-2: #5c73e7;--vp-c-indigo-3: #3e63dd;--vp-c-indigo-soft: rgba(100, 108, 255, .16);--vp-c-purple-1: #c8abfa;--vp-c-purple-2: #a879e6;--vp-c-purple-3: #8e5cd9;--vp-c-purple-soft: rgba(159, 122, 234, .16);--vp-c-green-1: #3dd68c;--vp-c-green-2: #30a46c;--vp-c-green-3: #298459;--vp-c-green-soft: rgba(16, 185, 129, .16);--vp-c-yellow-1: #f9b44e;--vp-c-yellow-2: #da8b17;--vp-c-yellow-3: #a46a0a;--vp-c-yellow-soft: rgba(234, 179, 8, .16);--vp-c-red-1: #f66f81;--vp-c-red-2: #f14158;--vp-c-red-3: #b62a3c;--vp-c-red-soft: rgba(244, 63, 94, .16)}:root{--vp-c-bg: #ffffff;--vp-c-bg-alt: #f6f6f7;--vp-c-bg-elv: #ffffff;--vp-c-bg-soft: #f6f6f7}.dark{--vp-c-bg: #1b1b1f;--vp-c-bg-alt: #161618;--vp-c-bg-elv: #202127;--vp-c-bg-soft: #202127}:root{--vp-c-border: #c2c2c4;--vp-c-divider: #e2e2e3;--vp-c-gutter: #e2e2e3}.dark{--vp-c-border: #3c3f44;--vp-c-divider: #2e2e32;--vp-c-gutter: #000000}:root{--vp-c-text-1: rgba(60, 60, 67);--vp-c-text-2: rgba(60, 60, 67, .78);--vp-c-text-3: rgba(60, 60, 67, .56)}.dark{--vp-c-text-1: rgba(255, 255, 245, .86);--vp-c-text-2: rgba(235, 235, 245, .6);--vp-c-text-3: rgba(235, 235, 245, .38)}:root{--vp-c-default-1: var(--vp-c-gray-1);--vp-c-default-2: var(--vp-c-gray-2);--vp-c-default-3: var(--vp-c-gray-3);--vp-c-default-soft: var(--vp-c-gray-soft);--vp-c-brand-1: var(--vp-c-indigo-1);--vp-c-brand-2: var(--vp-c-indigo-2);--vp-c-brand-3: var(--vp-c-indigo-3);--vp-c-brand-soft: var(--vp-c-indigo-soft);--vp-c-brand: var(--vp-c-brand-1);--vp-c-tip-1: var(--vp-c-brand-1);--vp-c-tip-2: var(--vp-c-brand-2);--vp-c-tip-3: var(--vp-c-brand-3);--vp-c-tip-soft: var(--vp-c-brand-soft);--vp-c-note-1: var(--vp-c-brand-1);--vp-c-note-2: var(--vp-c-brand-2);--vp-c-note-3: var(--vp-c-brand-3);--vp-c-note-soft: var(--vp-c-brand-soft);--vp-c-success-1: var(--vp-c-green-1);--vp-c-success-2: var(--vp-c-green-2);--vp-c-success-3: var(--vp-c-green-3);--vp-c-success-soft: var(--vp-c-green-soft);--vp-c-important-1: var(--vp-c-purple-1);--vp-c-important-2: var(--vp-c-purple-2);--vp-c-important-3: var(--vp-c-purple-3);--vp-c-important-soft: var(--vp-c-purple-soft);--vp-c-warning-1: var(--vp-c-yellow-1);--vp-c-warning-2: var(--vp-c-yellow-2);--vp-c-warning-3: var(--vp-c-yellow-3);--vp-c-warning-soft: var(--vp-c-yellow-soft);--vp-c-danger-1: var(--vp-c-red-1);--vp-c-danger-2: var(--vp-c-red-2);--vp-c-danger-3: var(--vp-c-red-3);--vp-c-danger-soft: var(--vp-c-red-soft);--vp-c-caution-1: var(--vp-c-red-1);--vp-c-caution-2: var(--vp-c-red-2);--vp-c-caution-3: var(--vp-c-red-3);--vp-c-caution-soft: var(--vp-c-red-soft)}:root{--vp-font-family-base: "Chinese Quotes", "Inter var", "Inter", ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Helvetica, Arial, "Noto Sans", sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji";--vp-font-family-mono: ui-monospace, SFMono-Regular, "SF Mono", Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace}:root{--vp-shadow-1: 0 1px 2px rgba(0, 0, 0, .04), 0 1px 2px rgba(0, 0, 0, .06);--vp-shadow-2: 0 3px 12px rgba(0, 0, 0, .07), 0 1px 4px rgba(0, 0, 0, .07);--vp-shadow-3: 0 12px 32px rgba(0, 0, 0, .1), 0 2px 6px rgba(0, 0, 0, .08);--vp-shadow-4: 0 14px 44px rgba(0, 0, 0, .12), 0 3px 9px rgba(0, 0, 0, .12);--vp-shadow-5: 0 18px 56px rgba(0, 0, 0, .16), 0 4px 12px rgba(0, 0, 0, .16)}:root{--vp-z-index-footer: 10;--vp-z-index-local-nav: 20;--vp-z-index-nav: 30;--vp-z-index-layout-top: 40;--vp-z-index-backdrop: 50;--vp-z-index-sidebar: 60}@media (min-width: 960px){:root{--vp-z-index-sidebar: 25}}:root{--vp-icon-copy: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='none' height='20' width='20' stroke='rgba(128,128,128,1)' stroke-width='2' viewBox='0 0 24 24'%3E%3Cpath stroke-linecap='round' stroke-linejoin='round' d='M9 5H7a2 2 0 0 0-2 2v12a2 2 0 0 0 2 2h10a2 2 0 0 0 2-2V7a2 2 0 0 0-2-2h-2M9 5a2 2 0 0 0 2 2h2a2 2 0 0 0 2-2M9 5a2 2 0 0 1 2-2h2a2 2 0 0 1 2 2'/%3E%3C/svg%3E");--vp-icon-copied: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='none' height='20' width='20' stroke='rgba(128,128,128,1)' stroke-width='2' viewBox='0 0 24 24'%3E%3Cpath stroke-linecap='round' stroke-linejoin='round' d='M9 5H7a2 2 0 0 0-2 2v12a2 2 0 0 0 2 2h10a2 2 0 0 0 2-2V7a2 2 0 0 0-2-2h-2M9 5a2 2 0 0 0 2 2h2a2 2 0 0 0 2-2M9 5a2 2 0 0 1 2-2h2a2 2 0 0 1 2 2m-6 9 2 2 4-4'/%3E%3C/svg%3E")}:root{--vp-layout-max-width: 1440px}:root{--vp-header-anchor-symbol: "#"}:root{--vp-code-line-height: 1.7;--vp-code-font-size: .875em;--vp-code-color: var(--vp-c-brand-1);--vp-code-link-color: var(--vp-c-brand-1);--vp-code-link-hover-color: var(--vp-c-brand-2);--vp-code-bg: var(--vp-c-default-soft);--vp-code-block-color: var(--vp-c-text-2);--vp-code-block-bg: var(--vp-c-bg-alt);--vp-code-block-divider-color: var(--vp-c-gutter);--vp-code-lang-color: var(--vp-c-text-3);--vp-code-line-highlight-color: var(--vp-c-default-soft);--vp-code-line-number-color: var(--vp-c-text-3);--vp-code-line-diff-add-color: var(--vp-c-success-soft);--vp-code-line-diff-add-symbol-color: var(--vp-c-success-1);--vp-code-line-diff-remove-color: var(--vp-c-danger-soft);--vp-code-line-diff-remove-symbol-color: var(--vp-c-danger-1);--vp-code-line-warning-color: var(--vp-c-warning-soft);--vp-code-line-error-color: var(--vp-c-danger-soft);--vp-code-copy-code-border-color: var(--vp-c-divider);--vp-code-copy-code-bg: var(--vp-c-bg-soft);--vp-code-copy-code-hover-border-color: var(--vp-c-divider);--vp-code-copy-code-hover-bg: var(--vp-c-bg);--vp-code-copy-code-active-text: var(--vp-c-text-2);--vp-code-copy-copied-text-content: "Copied";--vp-code-tab-divider: var(--vp-code-block-divider-color);--vp-code-tab-text-color: var(--vp-c-text-2);--vp-code-tab-bg: var(--vp-code-block-bg);--vp-code-tab-hover-text-color: var(--vp-c-text-1);--vp-code-tab-active-text-color: var(--vp-c-text-1);--vp-code-tab-active-bar-color: var(--vp-c-brand-1)}:root{--vp-button-brand-border: transparent;--vp-button-brand-text: var(--vp-c-white);--vp-button-brand-bg: var(--vp-c-brand-3);--vp-button-brand-hover-border: transparent;--vp-button-brand-hover-text: var(--vp-c-white);--vp-button-brand-hover-bg: var(--vp-c-brand-2);--vp-button-brand-active-border: transparent;--vp-button-brand-active-text: var(--vp-c-white);--vp-button-brand-active-bg: var(--vp-c-brand-1);--vp-button-alt-border: transparent;--vp-button-alt-text: var(--vp-c-text-1);--vp-button-alt-bg: var(--vp-c-default-3);--vp-button-alt-hover-border: transparent;--vp-button-alt-hover-text: var(--vp-c-text-1);--vp-button-alt-hover-bg: var(--vp-c-default-2);--vp-button-alt-active-border: transparent;--vp-button-alt-active-text: var(--vp-c-text-1);--vp-button-alt-active-bg: var(--vp-c-default-1);--vp-button-sponsor-border: var(--vp-c-text-2);--vp-button-sponsor-text: var(--vp-c-text-2);--vp-button-sponsor-bg: transparent;--vp-button-sponsor-hover-border: var(--vp-c-sponsor);--vp-button-sponsor-hover-text: var(--vp-c-sponsor);--vp-button-sponsor-hover-bg: transparent;--vp-button-sponsor-active-border: var(--vp-c-sponsor);--vp-button-sponsor-active-text: var(--vp-c-sponsor);--vp-button-sponsor-active-bg: transparent}:root{--vp-custom-block-font-size: 14px;--vp-custom-block-code-font-size: 13px;--vp-custom-block-info-border: transparent;--vp-custom-block-info-text: var(--vp-c-text-1);--vp-custom-block-info-bg: var(--vp-c-default-soft);--vp-custom-block-info-code-bg: var(--vp-c-default-soft);--vp-custom-block-note-border: transparent;--vp-custom-block-note-text: var(--vp-c-text-1);--vp-custom-block-note-bg: var(--vp-c-default-soft);--vp-custom-block-note-code-bg: var(--vp-c-default-soft);--vp-custom-block-tip-border: transparent;--vp-custom-block-tip-text: var(--vp-c-text-1);--vp-custom-block-tip-bg: var(--vp-c-tip-soft);--vp-custom-block-tip-code-bg: var(--vp-c-tip-soft);--vp-custom-block-important-border: transparent;--vp-custom-block-important-text: var(--vp-c-text-1);--vp-custom-block-important-bg: var(--vp-c-important-soft);--vp-custom-block-important-code-bg: var(--vp-c-important-soft);--vp-custom-block-warning-border: transparent;--vp-custom-block-warning-text: var(--vp-c-text-1);--vp-custom-block-warning-bg: var(--vp-c-warning-soft);--vp-custom-block-warning-code-bg: var(--vp-c-warning-soft);--vp-custom-block-danger-border: transparent;--vp-custom-block-danger-text: var(--vp-c-text-1);--vp-custom-block-danger-bg: var(--vp-c-danger-soft);--vp-custom-block-danger-code-bg: var(--vp-c-danger-soft);--vp-custom-block-caution-border: transparent;--vp-custom-block-caution-text: var(--vp-c-text-1);--vp-custom-block-caution-bg: var(--vp-c-caution-soft);--vp-custom-block-caution-code-bg: var(--vp-c-caution-soft);--vp-custom-block-details-border: var(--vp-custom-block-info-border);--vp-custom-block-details-text: var(--vp-custom-block-info-text);--vp-custom-block-details-bg: var(--vp-custom-block-info-bg);--vp-custom-block-details-code-bg: var(--vp-custom-block-info-code-bg)}:root{--vp-input-border-color: var(--vp-c-border);--vp-input-bg-color: var(--vp-c-bg-alt);--vp-input-switch-bg-color: var(--vp-c-default-soft)}:root{--vp-nav-height: 64px;--vp-nav-bg-color: var(--vp-c-bg);--vp-nav-screen-bg-color: var(--vp-c-bg);--vp-nav-logo-height: 24px}.hide-nav{--vp-nav-height: 0px}.hide-nav .VPSidebar{--vp-nav-height: 22px}:root{--vp-local-nav-bg-color: var(--vp-c-bg)}:root{--vp-sidebar-width: 272px;--vp-sidebar-bg-color: var(--vp-c-bg-alt)}:root{--vp-backdrop-bg-color: rgba(0, 0, 0, .6)}:root{--vp-home-hero-name-color: var(--vp-c-brand-1);--vp-home-hero-name-background: transparent;--vp-home-hero-image-background-image: none;--vp-home-hero-image-filter: none}:root{--vp-badge-info-border: transparent;--vp-badge-info-text: var(--vp-c-text-2);--vp-badge-info-bg: var(--vp-c-default-soft);--vp-badge-tip-border: transparent;--vp-badge-tip-text: var(--vp-c-tip-1);--vp-badge-tip-bg: var(--vp-c-tip-soft);--vp-badge-warning-border: transparent;--vp-badge-warning-text: var(--vp-c-warning-1);--vp-badge-warning-bg: var(--vp-c-warning-soft);--vp-badge-danger-border: transparent;--vp-badge-danger-text: var(--vp-c-danger-1);--vp-badge-danger-bg: var(--vp-c-danger-soft)}:root{--vp-carbon-ads-text-color: var(--vp-c-text-1);--vp-carbon-ads-poweredby-color: var(--vp-c-text-2);--vp-carbon-ads-bg-color: var(--vp-c-bg-soft);--vp-carbon-ads-hover-text-color: var(--vp-c-brand-1);--vp-carbon-ads-hover-poweredby-color: var(--vp-c-text-1)}:root{--vp-local-search-bg: var(--vp-c-bg);--vp-local-search-result-bg: var(--vp-c-bg);--vp-local-search-result-border: var(--vp-c-divider);--vp-local-search-result-selected-bg: var(--vp-c-bg);--vp-local-search-result-selected-border: var(--vp-c-brand-1);--vp-local-search-highlight-bg: var(--vp-c-brand-1);--vp-local-search-highlight-text: var(--vp-c-neutral-inverse)}@media (prefers-reduced-motion: reduce){*,:before,:after{animation-delay:-1ms!important;animation-duration:1ms!important;animation-iteration-count:1!important;background-attachment:initial!important;scroll-behavior:auto!important;transition-duration:0s!important;transition-delay:0s!important}}*,:before,:after{box-sizing:border-box}html{line-height:1.4;font-size:16px;-webkit-text-size-adjust:100%}html.dark{color-scheme:dark}body{margin:0;width:100%;min-width:320px;min-height:100vh;line-height:24px;font-family:var(--vp-font-family-base);font-size:16px;font-weight:400;color:var(--vp-c-text-1);background-color:var(--vp-c-bg);font-synthesis:style;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}main{display:block}h1,h2,h3,h4,h5,h6{margin:0;line-height:24px;font-size:16px;font-weight:400}p{margin:0}strong,b{font-weight:600}a,area,button,[role=button],input,label,select,summary,textarea{touch-action:manipulation}a{color:inherit;text-decoration:inherit}ol,ul{list-style:none;margin:0;padding:0}blockquote{margin:0}pre,code,kbd,samp{font-family:var(--vp-font-family-mono)}img,svg,video,canvas,audio,iframe,embed,object{display:block}figure{margin:0}img,video{max-width:100%;height:auto}button,input,optgroup,select,textarea{border:0;padding:0;line-height:inherit;color:inherit}button{padding:0;font-family:inherit;background-color:transparent;background-image:none}button:enabled,[role=button]:enabled{cursor:pointer}button:focus,button:focus-visible{outline:1px dotted;outline:4px auto -webkit-focus-ring-color}button:focus:not(:focus-visible){outline:none!important}input:focus,textarea:focus,select:focus{outline:none}table{border-collapse:collapse}input{background-color:transparent}input:-ms-input-placeholder,textarea:-ms-input-placeholder{color:var(--vp-c-text-3)}input::-ms-input-placeholder,textarea::-ms-input-placeholder{color:var(--vp-c-text-3)}input::placeholder,textarea::placeholder{color:var(--vp-c-text-3)}input::-webkit-outer-spin-button,input::-webkit-inner-spin-button{-webkit-appearance:none;margin:0}input[type=number]{-moz-appearance:textfield}textarea{resize:vertical}select{-webkit-appearance:none}fieldset{margin:0;padding:0}h1,h2,h3,h4,h5,h6,li,p{overflow-wrap:break-word}vite-error-overlay{z-index:9999}mjx-container{display:inline-block;margin:auto 2px -2px}mjx-container>svg{margin:auto}.visually-hidden{position:absolute;width:1px;height:1px;white-space:nowrap;clip:rect(0 0 0 0);clip-path:inset(50%);overflow:hidden}.custom-block{border:1px solid transparent;border-radius:8px;padding:16px 16px 8px;line-height:24px;font-size:var(--vp-custom-block-font-size);color:var(--vp-c-text-2)}.custom-block.info{border-color:var(--vp-custom-block-info-border);color:var(--vp-custom-block-info-text);background-color:var(--vp-custom-block-info-bg)}.custom-block.info a,.custom-block.info code{color:var(--vp-c-brand-1)}.custom-block.info a:hover,.custom-block.info a:hover>code{color:var(--vp-c-brand-2)}.custom-block.info code{background-color:var(--vp-custom-block-info-code-bg)}.custom-block.note{border-color:var(--vp-custom-block-note-border);color:var(--vp-custom-block-note-text);background-color:var(--vp-custom-block-note-bg)}.custom-block.note a,.custom-block.note code{color:var(--vp-c-brand-1)}.custom-block.note a:hover,.custom-block.note a:hover>code{color:var(--vp-c-brand-2)}.custom-block.note code{background-color:var(--vp-custom-block-note-code-bg)}.custom-block.tip{border-color:var(--vp-custom-block-tip-border);color:var(--vp-custom-block-tip-text);background-color:var(--vp-custom-block-tip-bg)}.custom-block.tip a,.custom-block.tip code{color:var(--vp-c-tip-1)}.custom-block.tip a:hover,.custom-block.tip a:hover>code{color:var(--vp-c-tip-2)}.custom-block.tip code{background-color:var(--vp-custom-block-tip-code-bg)}.custom-block.important{border-color:var(--vp-custom-block-important-border);color:var(--vp-custom-block-important-text);background-color:var(--vp-custom-block-important-bg)}.custom-block.important a,.custom-block.important code{color:var(--vp-c-important-1)}.custom-block.important a:hover,.custom-block.important a:hover>code{color:var(--vp-c-important-2)}.custom-block.important code{background-color:var(--vp-custom-block-important-code-bg)}.custom-block.warning{border-color:var(--vp-custom-block-warning-border);color:var(--vp-custom-block-warning-text);background-color:var(--vp-custom-block-warning-bg)}.custom-block.warning a,.custom-block.warning code{color:var(--vp-c-warning-1)}.custom-block.warning a:hover,.custom-block.warning a:hover>code{color:var(--vp-c-warning-2)}.custom-block.warning code{background-color:var(--vp-custom-block-warning-code-bg)}.custom-block.danger{border-color:var(--vp-custom-block-danger-border);color:var(--vp-custom-block-danger-text);background-color:var(--vp-custom-block-danger-bg)}.custom-block.danger a,.custom-block.danger code{color:var(--vp-c-danger-1)}.custom-block.danger a:hover,.custom-block.danger a:hover>code{color:var(--vp-c-danger-2)}.custom-block.danger code{background-color:var(--vp-custom-block-danger-code-bg)}.custom-block.caution{border-color:var(--vp-custom-block-caution-border);color:var(--vp-custom-block-caution-text);background-color:var(--vp-custom-block-caution-bg)}.custom-block.caution a,.custom-block.caution code{color:var(--vp-c-caution-1)}.custom-block.caution a:hover,.custom-block.caution a:hover>code{color:var(--vp-c-caution-2)}.custom-block.caution code{background-color:var(--vp-custom-block-caution-code-bg)}.custom-block.details{border-color:var(--vp-custom-block-details-border);color:var(--vp-custom-block-details-text);background-color:var(--vp-custom-block-details-bg)}.custom-block.details a{color:var(--vp-c-brand-1)}.custom-block.details a:hover,.custom-block.details a:hover>code{color:var(--vp-c-brand-2)}.custom-block.details code{background-color:var(--vp-custom-block-details-code-bg)}.custom-block-title{font-weight:600}.custom-block p+p{margin:8px 0}.custom-block.details summary{margin:0 0 8px;font-weight:700;cursor:pointer;-webkit-user-select:none;user-select:none}.custom-block.details summary+p{margin:8px 0}.custom-block a{color:inherit;font-weight:600;text-decoration:underline;text-underline-offset:2px;transition:opacity .25s}.custom-block a:hover{opacity:.75}.custom-block code{font-size:var(--vp-custom-block-code-font-size)}.custom-block.custom-block th,.custom-block.custom-block blockquote>p{font-size:var(--vp-custom-block-font-size);color:inherit}.dark .vp-code span{color:var(--shiki-dark, inherit)}html:not(.dark) .vp-code span{color:var(--shiki-light, inherit)}.vp-code-group{margin-top:16px}.vp-code-group .tabs{position:relative;display:flex;margin-right:-24px;margin-left:-24px;padding:0 12px;background-color:var(--vp-code-tab-bg);overflow-x:auto;overflow-y:hidden;box-shadow:inset 0 -1px var(--vp-code-tab-divider)}@media (min-width: 640px){.vp-code-group .tabs{margin-right:0;margin-left:0;border-radius:8px 8px 0 0}}.vp-code-group .tabs input{position:fixed;opacity:0;pointer-events:none}.vp-code-group .tabs label{position:relative;display:inline-block;border-bottom:1px solid transparent;padding:0 12px;line-height:48px;font-size:14px;font-weight:500;color:var(--vp-code-tab-text-color);white-space:nowrap;cursor:pointer;transition:color .25s}.vp-code-group .tabs label:after{position:absolute;right:8px;bottom:-1px;left:8px;z-index:1;height:2px;border-radius:2px;content:"";background-color:transparent;transition:background-color .25s}.vp-code-group label:hover{color:var(--vp-code-tab-hover-text-color)}.vp-code-group input:checked+label{color:var(--vp-code-tab-active-text-color)}.vp-code-group input:checked+label:after{background-color:var(--vp-code-tab-active-bar-color)}.vp-code-group div[class*=language-],.vp-block{display:none;margin-top:0!important;border-top-left-radius:0!important;border-top-right-radius:0!important}.vp-code-group div[class*=language-].active,.vp-block.active{display:block}.vp-block{padding:20px 24px}.vp-doc h1,.vp-doc h2,.vp-doc h3,.vp-doc h4,.vp-doc h5,.vp-doc h6{position:relative;font-weight:600;outline:none}.vp-doc h1{letter-spacing:-.02em;line-height:40px;font-size:28px}.vp-doc h2{margin:48px 0 16px;border-top:1px solid var(--vp-c-divider);padding-top:24px;letter-spacing:-.02em;line-height:32px;font-size:24px}.vp-doc h3{margin:32px 0 0;letter-spacing:-.01em;line-height:28px;font-size:20px}.vp-doc .header-anchor{position:absolute;top:0;left:0;margin-left:-.87em;font-weight:500;-webkit-user-select:none;user-select:none;opacity:0;text-decoration:none;transition:color .25s,opacity .25s}.vp-doc .header-anchor:before{content:var(--vp-header-anchor-symbol)}.vp-doc h1:hover .header-anchor,.vp-doc h1 .header-anchor:focus,.vp-doc h2:hover .header-anchor,.vp-doc h2 .header-anchor:focus,.vp-doc h3:hover .header-anchor,.vp-doc h3 .header-anchor:focus,.vp-doc h4:hover .header-anchor,.vp-doc h4 .header-anchor:focus,.vp-doc h5:hover .header-anchor,.vp-doc h5 .header-anchor:focus,.vp-doc h6:hover .header-anchor,.vp-doc h6 .header-anchor:focus{opacity:1}@media (min-width: 768px){.vp-doc h1{letter-spacing:-.02em;line-height:40px;font-size:32px}}.vp-doc h2 .header-anchor{top:24px}.vp-doc p,.vp-doc summary{margin:16px 0}.vp-doc p{line-height:28px}.vp-doc blockquote{margin:16px 0;border-left:2px solid var(--vp-c-divider);padding-left:16px;transition:border-color .5s}.vp-doc blockquote>p{margin:0;font-size:16px;color:var(--vp-c-text-2);transition:color .5s}.vp-doc a{font-weight:500;color:var(--vp-c-brand-1);text-decoration:underline;text-underline-offset:2px;transition:color .25s,opacity .25s}.vp-doc a:hover{color:var(--vp-c-brand-2)}.vp-doc strong{font-weight:600}.vp-doc ul,.vp-doc ol{padding-left:1.25rem;margin:16px 0}.vp-doc ul{list-style:disc}.vp-doc ol{list-style:decimal}.vp-doc li+li{margin-top:8px}.vp-doc li>ol,.vp-doc li>ul{margin:8px 0 0}.vp-doc table{display:block;border-collapse:collapse;margin:20px 0;overflow-x:auto}.vp-doc tr{background-color:var(--vp-c-bg);border-top:1px solid var(--vp-c-divider);transition:background-color .5s}.vp-doc tr:nth-child(2n){background-color:var(--vp-c-bg-soft)}.vp-doc th,.vp-doc td{border:1px solid var(--vp-c-divider);padding:8px 16px}.vp-doc th{text-align:left;font-size:14px;font-weight:600;color:var(--vp-c-text-2);background-color:var(--vp-c-bg-soft)}.vp-doc td{font-size:14px}.vp-doc hr{margin:16px 0;border:none;border-top:1px solid var(--vp-c-divider)}.vp-doc .custom-block{margin:16px 0}.vp-doc .custom-block p{margin:8px 0;line-height:24px}.vp-doc .custom-block p:first-child{margin:0}.vp-doc .custom-block div[class*=language-]{margin:8px 0;border-radius:8px}.vp-doc .custom-block div[class*=language-] code{font-weight:400;background-color:transparent}.vp-doc .custom-block .vp-code-group .tabs{margin:0;border-radius:8px 8px 0 0}.vp-doc :not(pre,h1,h2,h3,h4,h5,h6)>code{font-size:var(--vp-code-font-size);color:var(--vp-code-color)}.vp-doc :not(pre)>code{border-radius:4px;padding:3px 6px;background-color:var(--vp-code-bg);transition:color .25s,background-color .5s}.vp-doc a>code{color:var(--vp-code-link-color)}.vp-doc a:hover>code{color:var(--vp-code-link-hover-color)}.vp-doc h1>code,.vp-doc h2>code,.vp-doc h3>code{font-size:.9em}.vp-doc div[class*=language-],.vp-block{position:relative;margin:16px -24px;background-color:var(--vp-code-block-bg);overflow-x:auto;transition:background-color .5s}@media (min-width: 640px){.vp-doc div[class*=language-],.vp-block{border-radius:8px;margin:16px 0}}@media (max-width: 639px){.vp-doc li div[class*=language-]{border-radius:8px 0 0 8px}}.vp-doc div[class*=language-]+div[class*=language-],.vp-doc div[class$=-api]+div[class*=language-],.vp-doc div[class*=language-]+div[class$=-api]>div[class*=language-]{margin-top:-8px}.vp-doc [class*=language-] pre,.vp-doc [class*=language-] code{direction:ltr;text-align:left;white-space:pre;word-spacing:normal;word-break:normal;word-wrap:normal;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-hyphens:none;-moz-hyphens:none;-ms-hyphens:none;hyphens:none}.vp-doc [class*=language-] pre{position:relative;z-index:1;margin:0;padding:20px 0;background:transparent;overflow-x:auto}.vp-doc [class*=language-] code{display:block;padding:0 24px;width:fit-content;min-width:100%;line-height:var(--vp-code-line-height);font-size:var(--vp-code-font-size);color:var(--vp-code-block-color);transition:color .5s}.vp-doc [class*=language-] code .highlighted{background-color:var(--vp-code-line-highlight-color);transition:background-color .5s;margin:0 -24px;padding:0 24px;width:calc(100% + 48px);display:inline-block}.vp-doc [class*=language-] code .highlighted.error{background-color:var(--vp-code-line-error-color)}.vp-doc [class*=language-] code .highlighted.warning{background-color:var(--vp-code-line-warning-color)}.vp-doc [class*=language-] code .diff{transition:background-color .5s;margin:0 -24px;padding:0 24px;width:calc(100% + 48px);display:inline-block}.vp-doc [class*=language-] code .diff:before{position:absolute;left:10px}.vp-doc [class*=language-] .has-focused-lines .line:not(.has-focus){filter:blur(.095rem);opacity:.4;transition:filter .35s,opacity .35s}.vp-doc [class*=language-] .has-focused-lines .line:not(.has-focus){opacity:.7;transition:filter .35s,opacity .35s}.vp-doc [class*=language-]:hover .has-focused-lines .line:not(.has-focus){filter:blur(0);opacity:1}.vp-doc [class*=language-] code .diff.remove{background-color:var(--vp-code-line-diff-remove-color);opacity:.7}.vp-doc [class*=language-] code .diff.remove:before{content:"-";color:var(--vp-code-line-diff-remove-symbol-color)}.vp-doc [class*=language-] code .diff.add{background-color:var(--vp-code-line-diff-add-color)}.vp-doc [class*=language-] code .diff.add:before{content:"+";color:var(--vp-code-line-diff-add-symbol-color)}.vp-doc div[class*=language-].line-numbers-mode{padding-left:32px}.vp-doc .line-numbers-wrapper{position:absolute;top:0;bottom:0;left:0;z-index:3;border-right:1px solid var(--vp-code-block-divider-color);padding-top:20px;width:32px;text-align:center;font-family:var(--vp-font-family-mono);line-height:var(--vp-code-line-height);font-size:var(--vp-code-font-size);color:var(--vp-code-line-number-color);transition:border-color .5s,color .5s}.vp-doc [class*=language-]>button.copy{direction:ltr;position:absolute;top:12px;right:12px;z-index:3;border:1px solid var(--vp-code-copy-code-border-color);border-radius:4px;width:40px;height:40px;background-color:var(--vp-code-copy-code-bg);opacity:0;cursor:pointer;background-image:var(--vp-icon-copy);background-position:50%;background-size:20px;background-repeat:no-repeat;transition:border-color .25s,background-color .25s,opacity .25s}.vp-doc [class*=language-]:hover>button.copy,.vp-doc [class*=language-]>button.copy:focus{opacity:1}.vp-doc [class*=language-]>button.copy:hover,.vp-doc [class*=language-]>button.copy.copied{border-color:var(--vp-code-copy-code-hover-border-color);background-color:var(--vp-code-copy-code-hover-bg)}.vp-doc [class*=language-]>button.copy.copied,.vp-doc [class*=language-]>button.copy:hover.copied{border-radius:0 4px 4px 0;background-color:var(--vp-code-copy-code-hover-bg);background-image:var(--vp-icon-copied)}.vp-doc [class*=language-]>button.copy.copied:before,.vp-doc [class*=language-]>button.copy:hover.copied:before{position:relative;top:-1px;transform:translate(calc(-100% - 1px));display:flex;justify-content:center;align-items:center;border:1px solid var(--vp-code-copy-code-hover-border-color);border-right:0;border-radius:4px 0 0 4px;padding:0 10px;width:fit-content;height:40px;text-align:center;font-size:12px;font-weight:500;color:var(--vp-code-copy-code-active-text);background-color:var(--vp-code-copy-code-hover-bg);white-space:nowrap;content:var(--vp-code-copy-copied-text-content)}.vp-doc [class*=language-]>span.lang{position:absolute;top:2px;right:8px;z-index:2;font-size:12px;font-weight:500;color:var(--vp-code-lang-color);transition:color .4s,opacity .4s}.vp-doc [class*=language-]:hover>button.copy+span.lang,.vp-doc [class*=language-]>button.copy:focus+span.lang{opacity:0}.vp-doc .VPTeamMembers{margin-top:24px}.vp-doc .VPTeamMembers.small.count-1 .container{margin:0!important;max-width:calc((100% - 24px)/2)!important}.vp-doc .VPTeamMembers.small.count-2 .container,.vp-doc .VPTeamMembers.small.count-3 .container{max-width:100%!important}.vp-doc .VPTeamMembers.medium.count-1 .container{margin:0!important;max-width:calc((100% - 24px)/2)!important}:is(.vp-external-link-icon,.vp-doc a[href*="://"],.vp-doc a[target=_blank]):not(.no-icon):after{display:inline-block;margin-top:-1px;margin-left:4px;width:11px;height:11px;background:currentColor;color:var(--vp-c-text-3);flex-shrink:0;--icon: url("data:image/svg+xml, %3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' %3E%3Cpath d='M0 0h24v24H0V0z' fill='none' /%3E%3Cpath d='M9 5v2h6.59L4 18.59 5.41 20 17 8.41V15h2V5H9z' /%3E%3C/svg%3E");-webkit-mask-image:var(--icon);mask-image:var(--icon)}.vp-external-link-icon:after{content:""}.external-link-icon-enabled :is(.vp-doc a[href*="://"],.vp-doc a[target=_blank]):after{content:"";color:currentColor}.vp-sponsor{border-radius:16px;overflow:hidden}.vp-sponsor.aside{border-radius:12px}.vp-sponsor-section+.vp-sponsor-section{margin-top:4px}.vp-sponsor-tier{margin-bottom:4px;text-align:center;letter-spacing:1px;line-height:24px;width:100%;font-weight:600;color:var(--vp-c-text-2);background-color:var(--vp-c-bg-soft)}.vp-sponsor.normal .vp-sponsor-tier{padding:13px 0 11px;font-size:14px}.vp-sponsor.aside .vp-sponsor-tier{padding:9px 0 7px;font-size:12px}.vp-sponsor-grid+.vp-sponsor-tier{margin-top:4px}.vp-sponsor-grid{display:flex;flex-wrap:wrap;gap:4px}.vp-sponsor-grid.xmini .vp-sponsor-grid-link{height:64px}.vp-sponsor-grid.xmini .vp-sponsor-grid-image{max-width:64px;max-height:22px}.vp-sponsor-grid.mini .vp-sponsor-grid-link{height:72px}.vp-sponsor-grid.mini .vp-sponsor-grid-image{max-width:96px;max-height:24px}.vp-sponsor-grid.small .vp-sponsor-grid-link{height:96px}.vp-sponsor-grid.small .vp-sponsor-grid-image{max-width:96px;max-height:24px}.vp-sponsor-grid.medium .vp-sponsor-grid-link{height:112px}.vp-sponsor-grid.medium .vp-sponsor-grid-image{max-width:120px;max-height:36px}.vp-sponsor-grid.big .vp-sponsor-grid-link{height:184px}.vp-sponsor-grid.big .vp-sponsor-grid-image{max-width:192px;max-height:56px}.vp-sponsor-grid[data-vp-grid="2"] .vp-sponsor-grid-item{width:calc((100% - 4px)/2)}.vp-sponsor-grid[data-vp-grid="3"] .vp-sponsor-grid-item{width:calc((100% - 4px * 2) / 3)}.vp-sponsor-grid[data-vp-grid="4"] .vp-sponsor-grid-item{width:calc((100% - 12px)/4)}.vp-sponsor-grid[data-vp-grid="5"] .vp-sponsor-grid-item{width:calc((100% - 16px)/5)}.vp-sponsor-grid[data-vp-grid="6"] .vp-sponsor-grid-item{width:calc((100% - 4px * 5) / 6)}.vp-sponsor-grid-item{flex-shrink:0;width:100%;background-color:var(--vp-c-bg-soft);transition:background-color .25s}.vp-sponsor-grid-item:hover{background-color:var(--vp-c-default-soft)}.vp-sponsor-grid-item:hover .vp-sponsor-grid-image{filter:grayscale(0) invert(0)}.vp-sponsor-grid-item.empty:hover{background-color:var(--vp-c-bg-soft)}.dark .vp-sponsor-grid-item:hover{background-color:var(--vp-c-white)}.dark .vp-sponsor-grid-item.empty:hover{background-color:var(--vp-c-bg-soft)}.vp-sponsor-grid-link{display:flex}.vp-sponsor-grid-box{display:flex;justify-content:center;align-items:center;width:100%}.vp-sponsor-grid-image{max-width:100%;filter:grayscale(1);transition:filter .25s}.dark .vp-sponsor-grid-image{filter:grayscale(1) invert(1)}.VPBadge{display:inline-block;margin-left:2px;border:1px solid transparent;border-radius:12px;padding:0 10px;line-height:22px;font-size:12px;font-weight:500;transform:translateY(-2px)}.VPBadge.small{padding:0 6px;line-height:18px;font-size:10px;transform:translateY(-8px)}.VPDocFooter .VPBadge{display:none}.vp-doc h1>.VPBadge{margin-top:4px;vertical-align:top}.vp-doc h2>.VPBadge{margin-top:3px;padding:0 8px;vertical-align:top}.vp-doc h3>.VPBadge{vertical-align:middle}.vp-doc h4>.VPBadge,.vp-doc h5>.VPBadge,.vp-doc h6>.VPBadge{vertical-align:middle;line-height:18px}.VPBadge.info{border-color:var(--vp-badge-info-border);color:var(--vp-badge-info-text);background-color:var(--vp-badge-info-bg)}.VPBadge.tip{border-color:var(--vp-badge-tip-border);color:var(--vp-badge-tip-text);background-color:var(--vp-badge-tip-bg)}.VPBadge.warning{border-color:var(--vp-badge-warning-border);color:var(--vp-badge-warning-text);background-color:var(--vp-badge-warning-bg)}.VPBadge.danger{border-color:var(--vp-badge-danger-border);color:var(--vp-badge-danger-text);background-color:var(--vp-badge-danger-bg)}.VPBackdrop[data-v-c79a1216]{position:fixed;top:0;right:0;bottom:0;left:0;z-index:var(--vp-z-index-backdrop);background:var(--vp-backdrop-bg-color);transition:opacity .5s}.VPBackdrop.fade-enter-from[data-v-c79a1216],.VPBackdrop.fade-leave-to[data-v-c79a1216]{opacity:0}.VPBackdrop.fade-leave-active[data-v-c79a1216]{transition-duration:.25s}@media (min-width: 1280px){.VPBackdrop[data-v-c79a1216]{display:none}}.NotFound[data-v-f87ff6e4]{padding:64px 24px 96px;text-align:center}@media (min-width: 768px){.NotFound[data-v-f87ff6e4]{padding:96px 32px 168px}}.code[data-v-f87ff6e4]{line-height:64px;font-size:64px;font-weight:600}.title[data-v-f87ff6e4]{padding-top:12px;letter-spacing:2px;line-height:20px;font-size:20px;font-weight:700}.divider[data-v-f87ff6e4]{margin:24px auto 18px;width:64px;height:1px;background-color:var(--vp-c-divider)}.quote[data-v-f87ff6e4]{margin:0 auto;max-width:256px;font-size:14px;font-weight:500;color:var(--vp-c-text-2)}.action[data-v-f87ff6e4]{padding-top:20px}.link[data-v-f87ff6e4]{display:inline-block;border:1px solid var(--vp-c-brand-1);border-radius:16px;padding:3px 16px;font-size:14px;font-weight:500;color:var(--vp-c-brand-1);transition:border-color .25s,color .25s}.link[data-v-f87ff6e4]:hover{border-color:var(--vp-c-brand-2);color:var(--vp-c-brand-2)}.root[data-v-b933a997]{position:relative;z-index:1}.nested[data-v-b933a997]{padding-right:16px;padding-left:16px}.outline-link[data-v-b933a997]{display:block;line-height:32px;font-size:14px;font-weight:400;color:var(--vp-c-text-2);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;transition:color .5s}.outline-link[data-v-b933a997]:hover,.outline-link.active[data-v-b933a997]{color:var(--vp-c-text-1);transition:color .25s}.outline-link.nested[data-v-b933a997]{padding-left:13px}.VPDocAsideOutline[data-v-935f8a84]{display:none}.VPDocAsideOutline.has-outline[data-v-935f8a84]{display:block}.content[data-v-935f8a84]{position:relative;border-left:1px solid var(--vp-c-divider);padding-left:16px;font-size:13px;font-weight:500}.outline-marker[data-v-935f8a84]{position:absolute;top:32px;left:-1px;z-index:0;opacity:0;width:2px;border-radius:2px;height:18px;background-color:var(--vp-c-brand-1);transition:top .25s cubic-bezier(0,1,.5,1),background-color .5s,opacity .25s}.outline-title[data-v-935f8a84]{line-height:32px;font-size:14px;font-weight:600}.VPDocAside[data-v-3f215769]{display:flex;flex-direction:column;flex-grow:1}.spacer[data-v-3f215769]{flex-grow:1}.VPDocAside[data-v-3f215769] .spacer+.VPDocAsideSponsors,.VPDocAside[data-v-3f215769] .spacer+.VPDocAsideCarbonAds{margin-top:24px}.VPDocAside[data-v-3f215769] .VPDocAsideSponsors+.VPDocAsideCarbonAds{margin-top:16px}.VPLastUpdated[data-v-7e05ebdb]{line-height:24px;font-size:14px;font-weight:500;color:var(--vp-c-text-2)}@media (min-width: 640px){.VPLastUpdated[data-v-7e05ebdb]{line-height:32px;font-size:14px;font-weight:500}}.VPDocFooter[data-v-48f9bb55]{margin-top:64px}.edit-info[data-v-48f9bb55]{padding-bottom:18px}@media (min-width: 640px){.edit-info[data-v-48f9bb55]{display:flex;justify-content:space-between;align-items:center;padding-bottom:14px}}.edit-link-button[data-v-48f9bb55]{display:flex;align-items:center;border:0;line-height:32px;font-size:14px;font-weight:500;color:var(--vp-c-brand-1);transition:color .25s}.edit-link-button[data-v-48f9bb55]:hover{color:var(--vp-c-brand-2)}.edit-link-icon[data-v-48f9bb55]{margin-right:8px;width:14px;height:14px;fill:currentColor}.prev-next[data-v-48f9bb55]{border-top:1px solid var(--vp-c-divider);padding-top:24px;display:grid;grid-row-gap:8px}@media (min-width: 640px){.prev-next[data-v-48f9bb55]{grid-template-columns:repeat(2,1fr);grid-column-gap:16px}}.pager-link[data-v-48f9bb55]{display:block;border:1px solid var(--vp-c-divider);border-radius:8px;padding:11px 16px 13px;width:100%;height:100%;transition:border-color .25s}.pager-link[data-v-48f9bb55]:hover{border-color:var(--vp-c-brand-1)}.pager-link.next[data-v-48f9bb55]{margin-left:auto;text-align:right}.desc[data-v-48f9bb55]{display:block;line-height:20px;font-size:12px;font-weight:500;color:var(--vp-c-text-2)}.title[data-v-48f9bb55]{display:block;line-height:20px;font-size:14px;font-weight:500;color:var(--vp-c-brand-1);transition:color .25s}.VPDoc[data-v-39a288b8]{padding:32px 24px 96px;width:100%}@media (min-width: 768px){.VPDoc[data-v-39a288b8]{padding:48px 32px 128px}}@media (min-width: 960px){.VPDoc[data-v-39a288b8]{padding:48px 32px 0}.VPDoc:not(.has-sidebar) .container[data-v-39a288b8]{display:flex;justify-content:center;max-width:992px}.VPDoc:not(.has-sidebar) .content[data-v-39a288b8]{max-width:752px}}@media (min-width: 1280px){.VPDoc .container[data-v-39a288b8]{display:flex;justify-content:center}.VPDoc .aside[data-v-39a288b8]{display:block}}@media (min-width: 1440px){.VPDoc:not(.has-sidebar) .content[data-v-39a288b8]{max-width:784px}.VPDoc:not(.has-sidebar) .container[data-v-39a288b8]{max-width:1104px}}.container[data-v-39a288b8]{margin:0 auto;width:100%}.aside[data-v-39a288b8]{position:relative;display:none;order:2;flex-grow:1;padding-left:32px;width:100%;max-width:256px}.left-aside[data-v-39a288b8]{order:1;padding-left:unset;padding-right:32px}.aside-container[data-v-39a288b8]{position:fixed;top:0;padding-top:calc(var(--vp-nav-height) + var(--vp-layout-top-height, 0px) + var(--vp-doc-top-height, 0px) + 48px);width:224px;height:100vh;overflow-x:hidden;overflow-y:auto;scrollbar-width:none}.aside-container[data-v-39a288b8]::-webkit-scrollbar{display:none}.aside-curtain[data-v-39a288b8]{position:fixed;bottom:0;z-index:10;width:224px;height:32px;background:linear-gradient(transparent,var(--vp-c-bg) 70%)}.aside-content[data-v-39a288b8]{display:flex;flex-direction:column;min-height:calc(100vh - (var(--vp-nav-height) + var(--vp-layout-top-height, 0px) + 48px));padding-bottom:32px}.content[data-v-39a288b8]{position:relative;margin:0 auto;width:100%}@media (min-width: 960px){.content[data-v-39a288b8]{padding:0 32px 128px}}@media (min-width: 1280px){.content[data-v-39a288b8]{order:1;margin:0;min-width:640px}}.content-container[data-v-39a288b8]{margin:0 auto}.VPDoc.has-aside .content-container[data-v-39a288b8]{max-width:688px}.VPButton[data-v-c1c5efc1]{display:inline-block;border:1px solid transparent;text-align:center;font-weight:600;white-space:nowrap;transition:color .25s,border-color .25s,background-color .25s}.VPButton[data-v-c1c5efc1]:active{transition:color .1s,border-color .1s,background-color .1s}.VPButton.medium[data-v-c1c5efc1]{border-radius:20px;padding:0 20px;line-height:38px;font-size:14px}.VPButton.big[data-v-c1c5efc1]{border-radius:24px;padding:0 24px;line-height:46px;font-size:16px}.VPButton.brand[data-v-c1c5efc1]{border-color:var(--vp-button-brand-border);color:var(--vp-button-brand-text);background-color:var(--vp-button-brand-bg)}.VPButton.brand[data-v-c1c5efc1]:hover{border-color:var(--vp-button-brand-hover-border);color:var(--vp-button-brand-hover-text);background-color:var(--vp-button-brand-hover-bg)}.VPButton.brand[data-v-c1c5efc1]:active{border-color:var(--vp-button-brand-active-border);color:var(--vp-button-brand-active-text);background-color:var(--vp-button-brand-active-bg)}.VPButton.alt[data-v-c1c5efc1]{border-color:var(--vp-button-alt-border);color:var(--vp-button-alt-text);background-color:var(--vp-button-alt-bg)}.VPButton.alt[data-v-c1c5efc1]:hover{border-color:var(--vp-button-alt-hover-border);color:var(--vp-button-alt-hover-text);background-color:var(--vp-button-alt-hover-bg)}.VPButton.alt[data-v-c1c5efc1]:active{border-color:var(--vp-button-alt-active-border);color:var(--vp-button-alt-active-text);background-color:var(--vp-button-alt-active-bg)}.VPButton.sponsor[data-v-c1c5efc1]{border-color:var(--vp-button-sponsor-border);color:var(--vp-button-sponsor-text);background-color:var(--vp-button-sponsor-bg)}.VPButton.sponsor[data-v-c1c5efc1]:hover{border-color:var(--vp-button-sponsor-hover-border);color:var(--vp-button-sponsor-hover-text);background-color:var(--vp-button-sponsor-hover-bg)}.VPButton.sponsor[data-v-c1c5efc1]:active{border-color:var(--vp-button-sponsor-active-border);color:var(--vp-button-sponsor-active-text);background-color:var(--vp-button-sponsor-active-bg)}html:not(.dark) .VPImage.dark[data-v-8426fc1a]{display:none}.dark .VPImage.light[data-v-8426fc1a]{display:none}.VPHero[data-v-da5d1713]{margin-top:calc((var(--vp-nav-height) + var(--vp-layout-top-height, 0px)) * -1);padding:calc(var(--vp-nav-height) + var(--vp-layout-top-height, 0px) + 48px) 24px 48px}@media (min-width: 640px){.VPHero[data-v-da5d1713]{padding:calc(var(--vp-nav-height) + var(--vp-layout-top-height, 0px) + 80px) 48px 64px}}@media (min-width: 960px){.VPHero[data-v-da5d1713]{padding:calc(var(--vp-nav-height) + var(--vp-layout-top-height, 0px) + 80px) 64px 64px}}.container[data-v-da5d1713]{display:flex;flex-direction:column;margin:0 auto;max-width:1152px}@media (min-width: 960px){.container[data-v-da5d1713]{flex-direction:row}}.main[data-v-da5d1713]{position:relative;z-index:10;order:2;flex-grow:1;flex-shrink:0}.VPHero.has-image .container[data-v-da5d1713]{text-align:center}@media (min-width: 960px){.VPHero.has-image .container[data-v-da5d1713]{text-align:left}}@media (min-width: 960px){.main[data-v-da5d1713]{order:1;width:calc((100% / 3) * 2)}.VPHero.has-image .main[data-v-da5d1713]{max-width:592px}}.name[data-v-da5d1713],.text[data-v-da5d1713]{max-width:392px;letter-spacing:-.4px;line-height:40px;font-size:32px;font-weight:700;white-space:pre-wrap}.VPHero.has-image .name[data-v-da5d1713],.VPHero.has-image .text[data-v-da5d1713]{margin:0 auto}.name[data-v-da5d1713]{color:var(--vp-home-hero-name-color)}.clip[data-v-da5d1713]{background:var(--vp-home-hero-name-background);-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:var(--vp-home-hero-name-color)}@media (min-width: 640px){.name[data-v-da5d1713],.text[data-v-da5d1713]{max-width:576px;line-height:56px;font-size:48px}}@media (min-width: 960px){.name[data-v-da5d1713],.text[data-v-da5d1713]{line-height:64px;font-size:56px}.VPHero.has-image .name[data-v-da5d1713],.VPHero.has-image .text[data-v-da5d1713]{margin:0}}.tagline[data-v-da5d1713]{padding-top:8px;max-width:392px;line-height:28px;font-size:18px;font-weight:500;white-space:pre-wrap;color:var(--vp-c-text-2)}.VPHero.has-image .tagline[data-v-da5d1713]{margin:0 auto}@media (min-width: 640px){.tagline[data-v-da5d1713]{padding-top:12px;max-width:576px;line-height:32px;font-size:20px}}@media (min-width: 960px){.tagline[data-v-da5d1713]{line-height:36px;font-size:24px}.VPHero.has-image .tagline[data-v-da5d1713]{margin:0}}.actions[data-v-da5d1713]{display:flex;flex-wrap:wrap;margin:-6px;padding-top:24px}.VPHero.has-image .actions[data-v-da5d1713]{justify-content:center}@media (min-width: 640px){.actions[data-v-da5d1713]{padding-top:32px}}@media (min-width: 960px){.VPHero.has-image .actions[data-v-da5d1713]{justify-content:flex-start}}.action[data-v-da5d1713]{flex-shrink:0;padding:6px}.image[data-v-da5d1713]{order:1;margin:-76px -24px -48px}@media (min-width: 640px){.image[data-v-da5d1713]{margin:-108px -24px -48px}}@media (min-width: 960px){.image[data-v-da5d1713]{flex-grow:1;order:2;margin:0;min-height:100%}}.image-container[data-v-da5d1713]{position:relative;margin:0 auto;width:320px;height:320px}@media (min-width: 640px){.image-container[data-v-da5d1713]{width:392px;height:392px}}@media (min-width: 960px){.image-container[data-v-da5d1713]{display:flex;justify-content:center;align-items:center;width:100%;height:100%;transform:translate(-32px,-32px)}}.image-bg[data-v-da5d1713]{position:absolute;top:50%;left:50%;border-radius:50%;width:192px;height:192px;background-image:var(--vp-home-hero-image-background-image);filter:var(--vp-home-hero-image-filter);transform:translate(-50%,-50%)}@media (min-width: 640px){.image-bg[data-v-da5d1713]{width:256px;height:256px}}@media (min-width: 960px){.image-bg[data-v-da5d1713]{width:320px;height:320px}}[data-v-da5d1713] .image-src{position:absolute;top:50%;left:50%;max-width:192px;max-height:192px;transform:translate(-50%,-50%)}@media (min-width: 640px){[data-v-da5d1713] .image-src{max-width:256px;max-height:256px}}@media (min-width: 960px){[data-v-da5d1713] .image-src{max-width:320px;max-height:320px}}.VPFeature[data-v-33204567]{display:block;border:1px solid var(--vp-c-bg-soft);border-radius:12px;height:100%;background-color:var(--vp-c-bg-soft);transition:border-color .25s,background-color .25s}.VPFeature.link[data-v-33204567]:hover{border-color:var(--vp-c-brand-1)}.box[data-v-33204567]{display:flex;flex-direction:column;padding:24px;height:100%}.box[data-v-33204567]>.VPImage{margin-bottom:20px}.icon[data-v-33204567]{display:flex;justify-content:center;align-items:center;margin-bottom:20px;border-radius:6px;background-color:var(--vp-c-default-soft);width:48px;height:48px;font-size:24px;transition:background-color .25s}.title[data-v-33204567]{line-height:24px;font-size:16px;font-weight:600}.details[data-v-33204567]{flex-grow:1;padding-top:8px;line-height:24px;font-size:14px;font-weight:500;color:var(--vp-c-text-2)}.link-text[data-v-33204567]{padding-top:8px}.link-text-value[data-v-33204567]{display:flex;align-items:center;font-size:14px;font-weight:500;color:var(--vp-c-brand-1)}.link-text-icon[data-v-33204567]{display:inline-block;margin-left:6px;width:14px;height:14px;fill:currentColor}.VPFeatures[data-v-a6181336]{position:relative;padding:0 24px}@media (min-width: 640px){.VPFeatures[data-v-a6181336]{padding:0 48px}}@media (min-width: 960px){.VPFeatures[data-v-a6181336]{padding:0 64px}}.container[data-v-a6181336]{margin:0 auto;max-width:1152px}.items[data-v-a6181336]{display:flex;flex-wrap:wrap;margin:-8px}.item[data-v-a6181336]{padding:8px;width:100%}@media (min-width: 640px){.item.grid-2[data-v-a6181336],.item.grid-4[data-v-a6181336],.item.grid-6[data-v-a6181336]{width:50%}}@media (min-width: 768px){.item.grid-2[data-v-a6181336],.item.grid-4[data-v-a6181336]{width:50%}.item.grid-3[data-v-a6181336],.item.grid-6[data-v-a6181336]{width:calc(100% / 3)}}@media (min-width: 960px){.item.grid-4[data-v-a6181336]{width:25%}}.VPHome[data-v-d82743a8]{padding-bottom:96px}.VPHome[data-v-d82743a8] .VPHomeSponsors{margin-top:112px;margin-bottom:-128px}@media (min-width: 768px){.VPHome[data-v-d82743a8]{padding-bottom:128px}}.VPContent[data-v-669faec9]{flex-grow:1;flex-shrink:0;margin:var(--vp-layout-top-height, 0px) auto 0;width:100%}.VPContent.is-home[data-v-669faec9]{width:100%;max-width:100%}.VPContent.has-sidebar[data-v-669faec9]{margin:0}@media (min-width: 960px){.VPContent[data-v-669faec9]{padding-top:var(--vp-nav-height)}.VPContent.has-sidebar[data-v-669faec9]{margin:var(--vp-layout-top-height, 0px) 0 0;padding-left:var(--vp-sidebar-width)}}@media (min-width: 1440px){.VPContent.has-sidebar[data-v-669faec9]{padding-right:calc((100vw - var(--vp-layout-max-width)) / 2);padding-left:calc((100vw - var(--vp-layout-max-width)) / 2 + var(--vp-sidebar-width))}}.VPFooter[data-v-e315a0ad]{position:relative;z-index:var(--vp-z-index-footer);border-top:1px solid var(--vp-c-gutter);padding:32px 24px;background-color:var(--vp-c-bg)}.VPFooter.has-sidebar[data-v-e315a0ad]{display:none}.VPFooter[data-v-e315a0ad] a{text-decoration-line:underline;text-underline-offset:2px;transition:color .25s}.VPFooter[data-v-e315a0ad] a:hover{color:var(--vp-c-text-1)}@media (min-width: 768px){.VPFooter[data-v-e315a0ad]{padding:32px}}.container[data-v-e315a0ad]{margin:0 auto;max-width:var(--vp-layout-max-width);text-align:center}.message[data-v-e315a0ad],.copyright[data-v-e315a0ad]{line-height:24px;font-size:14px;font-weight:500;color:var(--vp-c-text-2)}.VPLocalNavOutlineDropdown[data-v-af18c0d5]{padding:12px 20px 11px}@media (min-width: 960px){.VPLocalNavOutlineDropdown[data-v-af18c0d5]{padding:12px 36px 11px}}.VPLocalNavOutlineDropdown button[data-v-af18c0d5]{display:block;font-size:12px;font-weight:500;line-height:24px;color:var(--vp-c-text-2);transition:color .5s;position:relative}.VPLocalNavOutlineDropdown button[data-v-af18c0d5]:hover{color:var(--vp-c-text-1);transition:color .25s}.VPLocalNavOutlineDropdown button.open[data-v-af18c0d5]{color:var(--vp-c-text-1)}@media (min-width: 960px){.VPLocalNavOutlineDropdown button[data-v-af18c0d5]{font-size:14px}}.icon[data-v-af18c0d5]{display:inline-block;vertical-align:middle;margin-left:2px;width:14px;height:14px;fill:currentColor}.open>.icon[data-v-af18c0d5]{transform:rotate(90deg)}.items[data-v-af18c0d5]{position:absolute;top:40px;right:16px;left:16px;display:grid;gap:1px;border:1px solid var(--vp-c-border);border-radius:8px;background-color:var(--vp-c-gutter);max-height:calc(var(--vp-vh, 100vh) - 86px);overflow:hidden auto;box-shadow:var(--vp-shadow-3)}@media (min-width: 960px){.items[data-v-af18c0d5]{right:auto;left:calc(var(--vp-sidebar-width) + 32px);width:320px}}.header[data-v-af18c0d5]{background-color:var(--vp-c-bg-soft)}.top-link[data-v-af18c0d5]{display:block;padding:0 16px;line-height:48px;font-size:14px;font-weight:500;color:var(--vp-c-brand-1)}.outline[data-v-af18c0d5]{padding:8px 0;background-color:var(--vp-c-bg-soft)}.flyout-enter-active[data-v-af18c0d5]{transition:all .2s ease-out}.flyout-leave-active[data-v-af18c0d5]{transition:all .15s ease-in}.flyout-enter-from[data-v-af18c0d5],.flyout-leave-to[data-v-af18c0d5]{opacity:0;transform:translateY(-16px)}.VPLocalNav[data-v-0282ae07]{position:sticky;top:0;left:0;z-index:var(--vp-z-index-local-nav);border-bottom:1px solid var(--vp-c-gutter);padding-top:var(--vp-layout-top-height, 0px);width:100%;background-color:var(--vp-local-nav-bg-color)}.VPLocalNav.fixed[data-v-0282ae07]{position:fixed}@media (min-width: 960px){.VPLocalNav[data-v-0282ae07]{top:var(--vp-nav-height)}.VPLocalNav.has-sidebar[data-v-0282ae07]{padding-left:var(--vp-sidebar-width)}.VPLocalNav.empty[data-v-0282ae07]{display:none}}@media (min-width: 1280px){.VPLocalNav[data-v-0282ae07]{display:none}}@media (min-width: 1440px){.VPLocalNav.has-sidebar[data-v-0282ae07]{padding-left:calc((100vw - var(--vp-layout-max-width)) / 2 + var(--vp-sidebar-width))}}.container[data-v-0282ae07]{display:flex;justify-content:space-between;align-items:center}.menu[data-v-0282ae07]{display:flex;align-items:center;padding:12px 24px 11px;line-height:24px;font-size:12px;font-weight:500;color:var(--vp-c-text-2);transition:color .5s}.menu[data-v-0282ae07]:hover{color:var(--vp-c-text-1);transition:color .25s}@media (min-width: 768px){.menu[data-v-0282ae07]{padding:0 32px}}@media (min-width: 960px){.menu[data-v-0282ae07]{display:none}}.menu-icon[data-v-0282ae07]{margin-right:8px;width:16px;height:16px;fill:currentColor}.VPOutlineDropdown[data-v-0282ae07]{padding:12px 24px 11px}@media (min-width: 768px){.VPOutlineDropdown[data-v-0282ae07]{padding:12px 32px 11px}}.VPSwitch[data-v-b1685198]{position:relative;border-radius:11px;display:block;width:40px;height:22px;flex-shrink:0;border:1px solid var(--vp-input-border-color);background-color:var(--vp-input-switch-bg-color);transition:border-color .25s!important}.VPSwitch[data-v-b1685198]:hover{border-color:var(--vp-c-brand-1)}.check[data-v-b1685198]{position:absolute;top:1px;left:1px;width:18px;height:18px;border-radius:50%;background-color:var(--vp-c-neutral-inverse);box-shadow:var(--vp-shadow-1);transition:transform .25s!important}.icon[data-v-b1685198]{position:relative;display:block;width:18px;height:18px;border-radius:50%;overflow:hidden}.icon[data-v-b1685198] svg{position:absolute;top:3px;left:3px;width:12px;height:12px;fill:var(--vp-c-text-2)}.dark .icon[data-v-b1685198] svg{fill:var(--vp-c-text-1);transition:opacity .25s!important}.sun[data-v-1736f215]{opacity:1}.moon[data-v-1736f215],.dark .sun[data-v-1736f215]{opacity:0}.dark .moon[data-v-1736f215]{opacity:1}.dark .VPSwitchAppearance[data-v-1736f215] .check{transform:translate(18px)}.VPNavBarAppearance[data-v-e6aabb21]{display:none}@media (min-width: 1280px){.VPNavBarAppearance[data-v-e6aabb21]{display:flex;align-items:center}}.VPMenuGroup+.VPMenuLink[data-v-43f1e123]{margin:12px -12px 0;border-top:1px solid var(--vp-c-divider);padding:12px 12px 0}.link[data-v-43f1e123]{display:block;border-radius:6px;padding:0 12px;line-height:32px;font-size:14px;font-weight:500;color:var(--vp-c-text-1);white-space:nowrap;transition:background-color .25s,color .25s}.link[data-v-43f1e123]:hover{color:var(--vp-c-brand-1);background-color:var(--vp-c-default-soft)}.link.active[data-v-43f1e123]{color:var(--vp-c-brand-1)}.VPMenuGroup[data-v-69e747b5]{margin:12px -12px 0;border-top:1px solid var(--vp-c-divider);padding:12px 12px 0}.VPMenuGroup[data-v-69e747b5]:first-child{margin-top:0;border-top:0;padding-top:0}.VPMenuGroup+.VPMenuGroup[data-v-69e747b5]{margin-top:12px;border-top:1px solid var(--vp-c-divider)}.title[data-v-69e747b5]{padding:0 12px;line-height:32px;font-size:14px;font-weight:600;color:var(--vp-c-text-2);white-space:nowrap;transition:color .25s}.VPMenu[data-v-e7ea1737]{border-radius:12px;padding:12px;min-width:128px;border:1px solid var(--vp-c-divider);background-color:var(--vp-c-bg-elv);box-shadow:var(--vp-shadow-3);transition:background-color .5s;max-height:calc(100vh - var(--vp-nav-height));overflow-y:auto}.VPMenu[data-v-e7ea1737] .group{margin:0 -12px;padding:0 12px 12px}.VPMenu[data-v-e7ea1737] .group+.group{border-top:1px solid var(--vp-c-divider);padding:11px 12px 12px}.VPMenu[data-v-e7ea1737] .group:last-child{padding-bottom:0}.VPMenu[data-v-e7ea1737] .group+.item{border-top:1px solid var(--vp-c-divider);padding:11px 16px 0}.VPMenu[data-v-e7ea1737] .item{padding:0 16px;white-space:nowrap}.VPMenu[data-v-e7ea1737] .label{flex-grow:1;line-height:28px;font-size:12px;font-weight:500;color:var(--vp-c-text-2);transition:color .5s}.VPMenu[data-v-e7ea1737] .action{padding-left:24px}.VPFlyout[data-v-9c007e85]{position:relative}.VPFlyout[data-v-9c007e85]:hover{color:var(--vp-c-brand-1);transition:color .25s}.VPFlyout:hover .text[data-v-9c007e85]{color:var(--vp-c-text-2)}.VPFlyout:hover .icon[data-v-9c007e85]{fill:var(--vp-c-text-2)}.VPFlyout.active .text[data-v-9c007e85]{color:var(--vp-c-brand-1)}.VPFlyout.active:hover .text[data-v-9c007e85]{color:var(--vp-c-brand-2)}.VPFlyout:hover .menu[data-v-9c007e85],.button[aria-expanded=true]+.menu[data-v-9c007e85]{opacity:1;visibility:visible;transform:translateY(0)}.button[aria-expanded=false]+.menu[data-v-9c007e85]{opacity:0;visibility:hidden;transform:translateY(0)}.button[data-v-9c007e85]{display:flex;align-items:center;padding:0 12px;height:var(--vp-nav-height);color:var(--vp-c-text-1);transition:color .5s}.text[data-v-9c007e85]{display:flex;align-items:center;line-height:var(--vp-nav-height);font-size:14px;font-weight:500;color:var(--vp-c-text-1);transition:color .25s}.option-icon[data-v-9c007e85]{margin-right:0;width:16px;height:16px;fill:currentColor}.text-icon[data-v-9c007e85]{margin-left:4px;width:14px;height:14px;fill:currentColor}.icon[data-v-9c007e85]{width:20px;height:20px;fill:currentColor;transition:fill .25s}.menu[data-v-9c007e85]{position:absolute;top:calc(var(--vp-nav-height) / 2 + 20px);right:0;opacity:0;visibility:hidden;transition:opacity .25s,visibility .25s,transform .25s}.VPSocialLink[data-v-f80f8133]{display:flex;justify-content:center;align-items:center;width:36px;height:36px;color:var(--vp-c-text-2);transition:color .5s}.VPSocialLink[data-v-f80f8133]:hover{color:var(--vp-c-text-1);transition:color .25s}.VPSocialLink[data-v-f80f8133]>svg{width:20px;height:20px;fill:currentColor}.VPSocialLinks[data-v-7bc22406]{display:flex;justify-content:center}.VPNavBarExtra[data-v-d0bd9dde]{display:none;margin-right:-12px}@media (min-width: 768px){.VPNavBarExtra[data-v-d0bd9dde]{display:block}}@media (min-width: 1280px){.VPNavBarExtra[data-v-d0bd9dde]{display:none}}.trans-title[data-v-d0bd9dde]{padding:0 24px 0 12px;line-height:32px;font-size:14px;font-weight:700;color:var(--vp-c-text-1)}.item.appearance[data-v-d0bd9dde],.item.social-links[data-v-d0bd9dde]{display:flex;align-items:center;padding:0 12px}.item.appearance[data-v-d0bd9dde]{min-width:176px}.appearance-action[data-v-d0bd9dde]{margin-right:-2px}.social-links-list[data-v-d0bd9dde]{margin:-4px -8px}.VPNavBarHamburger[data-v-e5dd9c1c]{display:flex;justify-content:center;align-items:center;width:48px;height:var(--vp-nav-height)}@media (min-width: 768px){.VPNavBarHamburger[data-v-e5dd9c1c]{display:none}}.container[data-v-e5dd9c1c]{position:relative;width:16px;height:14px;overflow:hidden}.VPNavBarHamburger:hover .top[data-v-e5dd9c1c]{top:0;left:0;transform:translate(4px)}.VPNavBarHamburger:hover .middle[data-v-e5dd9c1c]{top:6px;left:0;transform:translate(0)}.VPNavBarHamburger:hover .bottom[data-v-e5dd9c1c]{top:12px;left:0;transform:translate(8px)}.VPNavBarHamburger.active .top[data-v-e5dd9c1c]{top:6px;transform:translate(0) rotate(225deg)}.VPNavBarHamburger.active .middle[data-v-e5dd9c1c]{top:6px;transform:translate(16px)}.VPNavBarHamburger.active .bottom[data-v-e5dd9c1c]{top:6px;transform:translate(0) rotate(135deg)}.VPNavBarHamburger.active:hover .top[data-v-e5dd9c1c],.VPNavBarHamburger.active:hover .middle[data-v-e5dd9c1c],.VPNavBarHamburger.active:hover .bottom[data-v-e5dd9c1c]{background-color:var(--vp-c-text-2);transition:top .25s,background-color .25s,transform .25s}.top[data-v-e5dd9c1c],.middle[data-v-e5dd9c1c],.bottom[data-v-e5dd9c1c]{position:absolute;width:16px;height:2px;background-color:var(--vp-c-text-1);transition:top .25s,background-color .5s,transform .25s}.top[data-v-e5dd9c1c]{top:0;left:0;transform:translate(0)}.middle[data-v-e5dd9c1c]{top:6px;left:0;transform:translate(8px)}.bottom[data-v-e5dd9c1c]{top:12px;left:0;transform:translate(4px)}.VPNavBarMenuLink[data-v-42ef59de]{display:flex;align-items:center;padding:0 12px;line-height:var(--vp-nav-height);font-size:14px;font-weight:500;color:var(--vp-c-text-1);transition:color .25s}.VPNavBarMenuLink.active[data-v-42ef59de],.VPNavBarMenuLink[data-v-42ef59de]:hover{color:var(--vp-c-brand-1)}.VPNavBarMenu[data-v-7f418b0f]{display:none}@media (min-width: 768px){.VPNavBarMenu[data-v-7f418b0f]{display:flex}}/*! @docsearch/css 3.5.2 | MIT License | © Algolia, Inc. and contributors | https://docsearch.algolia.com */:root{--docsearch-primary-color:#5468ff;--docsearch-text-color:#1c1e21;--docsearch-spacing:12px;--docsearch-icon-stroke-width:1.4;--docsearch-highlight-color:var(--docsearch-primary-color);--docsearch-muted-color:#969faf;--docsearch-container-background:rgba(101,108,133,.8);--docsearch-logo-color:#5468ff;--docsearch-modal-width:560px;--docsearch-modal-height:600px;--docsearch-modal-background:#f5f6f7;--docsearch-modal-shadow:inset 1px 1px 0 0 hsla(0,0%,100%,.5),0 3px 8px 0 #555a64;--docsearch-searchbox-height:56px;--docsearch-searchbox-background:#ebedf0;--docsearch-searchbox-focus-background:#fff;--docsearch-searchbox-shadow:inset 0 0 0 2px var(--docsearch-primary-color);--docsearch-hit-height:56px;--docsearch-hit-color:#444950;--docsearch-hit-active-color:#fff;--docsearch-hit-background:#fff;--docsearch-hit-shadow:0 1px 3px 0 #d4d9e1;--docsearch-key-gradient:linear-gradient(-225deg,#d5dbe4,#f8f8f8);--docsearch-key-shadow:inset 0 -2px 0 0 #cdcde6,inset 0 0 1px 1px #fff,0 1px 2px 1px rgba(30,35,90,.4);--docsearch-footer-height:44px;--docsearch-footer-background:#fff;--docsearch-footer-shadow:0 -1px 0 0 #e0e3e8,0 -3px 6px 0 rgba(69,98,155,.12)}html[data-theme=dark]{--docsearch-text-color:#f5f6f7;--docsearch-container-background:rgba(9,10,17,.8);--docsearch-modal-background:#15172a;--docsearch-modal-shadow:inset 1px 1px 0 0 #2c2e40,0 3px 8px 0 #000309;--docsearch-searchbox-background:#090a11;--docsearch-searchbox-focus-background:#000;--docsearch-hit-color:#bec3c9;--docsearch-hit-shadow:none;--docsearch-hit-background:#090a11;--docsearch-key-gradient:linear-gradient(-26.5deg,#565872,#31355b);--docsearch-key-shadow:inset 0 -2px 0 0 #282d55,inset 0 0 1px 1px #51577d,0 2px 2px 0 rgba(3,4,9,.3);--docsearch-footer-background:#1e2136;--docsearch-footer-shadow:inset 0 1px 0 0 rgba(73,76,106,.5),0 -4px 8px 0 rgba(0,0,0,.2);--docsearch-logo-color:#fff;--docsearch-muted-color:#7f8497}.DocSearch-Button{align-items:center;background:var(--docsearch-searchbox-background);border:0;border-radius:40px;color:var(--docsearch-muted-color);cursor:pointer;display:flex;font-weight:500;height:36px;justify-content:space-between;margin:0 0 0 16px;padding:0 8px;-webkit-user-select:none;user-select:none}.DocSearch-Button:active,.DocSearch-Button:focus,.DocSearch-Button:hover{background:var(--docsearch-searchbox-focus-background);box-shadow:var(--docsearch-searchbox-shadow);color:var(--docsearch-text-color);outline:none}.DocSearch-Button-Container{align-items:center;display:flex}.DocSearch-Search-Icon{stroke-width:1.6}.DocSearch-Button .DocSearch-Search-Icon{color:var(--docsearch-text-color)}.DocSearch-Button-Placeholder{font-size:1rem;padding:0 12px 0 6px}.DocSearch-Button-Keys{display:flex;min-width:calc(40px + .8em)}.DocSearch-Button-Key{align-items:center;background:var(--docsearch-key-gradient);border-radius:3px;box-shadow:var(--docsearch-key-shadow);color:var(--docsearch-muted-color);display:flex;height:18px;justify-content:center;margin-right:.4em;position:relative;padding:0 0 2px;border:0;top:-1px;width:20px}@media (max-width:768px){.DocSearch-Button-Keys,.DocSearch-Button-Placeholder{display:none}}.DocSearch--active{overflow:hidden!important}.DocSearch-Container,.DocSearch-Container *{box-sizing:border-box}.DocSearch-Container{background-color:var(--docsearch-container-background);height:100vh;left:0;position:fixed;top:0;width:100vw;z-index:200}.DocSearch-Container a{text-decoration:none}.DocSearch-Link{-webkit-appearance:none;-moz-appearance:none;appearance:none;background:none;border:0;color:var(--docsearch-highlight-color);cursor:pointer;font:inherit;margin:0;padding:0}.DocSearch-Modal{background:var(--docsearch-modal-background);border-radius:6px;box-shadow:var(--docsearch-modal-shadow);flex-direction:column;margin:60px auto auto;max-width:var(--docsearch-modal-width);position:relative}.DocSearch-SearchBar{display:flex;padding:var(--docsearch-spacing) var(--docsearch-spacing) 0}.DocSearch-Form{align-items:center;background:var(--docsearch-searchbox-focus-background);border-radius:4px;box-shadow:var(--docsearch-searchbox-shadow);display:flex;height:var(--docsearch-searchbox-height);margin:0;padding:0 var(--docsearch-spacing);position:relative;width:100%}.DocSearch-Input{-webkit-appearance:none;-moz-appearance:none;appearance:none;background:transparent;border:0;color:var(--docsearch-text-color);flex:1;font:inherit;font-size:1.2em;height:100%;outline:none;padding:0 0 0 8px;width:80%}.DocSearch-Input::placeholder{color:var(--docsearch-muted-color);opacity:1}.DocSearch-Input::-webkit-search-cancel-button,.DocSearch-Input::-webkit-search-decoration,.DocSearch-Input::-webkit-search-results-button,.DocSearch-Input::-webkit-search-results-decoration{display:none}.DocSearch-LoadingIndicator,.DocSearch-MagnifierLabel,.DocSearch-Reset{margin:0;padding:0}.DocSearch-MagnifierLabel,.DocSearch-Reset{align-items:center;color:var(--docsearch-highlight-color);display:flex;justify-content:center}.DocSearch-Container--Stalled .DocSearch-MagnifierLabel,.DocSearch-LoadingIndicator{display:none}.DocSearch-Container--Stalled .DocSearch-LoadingIndicator{align-items:center;color:var(--docsearch-highlight-color);display:flex;justify-content:center}@media screen and (prefers-reduced-motion:reduce){.DocSearch-Reset{animation:none;-webkit-appearance:none;-moz-appearance:none;appearance:none;background:none;border:0;border-radius:50%;color:var(--docsearch-icon-color);cursor:pointer;right:0;stroke-width:var(--docsearch-icon-stroke-width)}}.DocSearch-Reset{animation:fade-in .1s ease-in forwards;-webkit-appearance:none;-moz-appearance:none;appearance:none;background:none;border:0;border-radius:50%;color:var(--docsearch-icon-color);cursor:pointer;padding:2px;right:0;stroke-width:var(--docsearch-icon-stroke-width)}.DocSearch-Reset[hidden]{display:none}.DocSearch-Reset:hover{color:var(--docsearch-highlight-color)}.DocSearch-LoadingIndicator svg,.DocSearch-MagnifierLabel svg{height:24px;width:24px}.DocSearch-Cancel{display:none}.DocSearch-Dropdown{max-height:calc(var(--docsearch-modal-height) - var(--docsearch-searchbox-height) - var(--docsearch-spacing) - var(--docsearch-footer-height));min-height:var(--docsearch-spacing);overflow-y:auto;overflow-y:overlay;padding:0 var(--docsearch-spacing);scrollbar-color:var(--docsearch-muted-color) var(--docsearch-modal-background);scrollbar-width:thin}.DocSearch-Dropdown::-webkit-scrollbar{width:12px}.DocSearch-Dropdown::-webkit-scrollbar-track{background:transparent}.DocSearch-Dropdown::-webkit-scrollbar-thumb{background-color:var(--docsearch-muted-color);border:3px solid var(--docsearch-modal-background);border-radius:20px}.DocSearch-Dropdown ul{list-style:none;margin:0;padding:0}.DocSearch-Label{font-size:.75em;line-height:1.6em}.DocSearch-Help,.DocSearch-Label{color:var(--docsearch-muted-color)}.DocSearch-Help{font-size:.9em;margin:0;-webkit-user-select:none;user-select:none}.DocSearch-Title{font-size:1.2em}.DocSearch-Logo a{display:flex}.DocSearch-Logo svg{color:var(--docsearch-logo-color);margin-left:8px}.DocSearch-Hits:last-of-type{margin-bottom:24px}.DocSearch-Hits mark{background:none;color:var(--docsearch-highlight-color)}.DocSearch-HitsFooter{color:var(--docsearch-muted-color);display:flex;font-size:.85em;justify-content:center;margin-bottom:var(--docsearch-spacing);padding:var(--docsearch-spacing)}.DocSearch-HitsFooter a{border-bottom:1px solid;color:inherit}.DocSearch-Hit{border-radius:4px;display:flex;padding-bottom:4px;position:relative}@media screen and (prefers-reduced-motion:reduce){.DocSearch-Hit--deleting{transition:none}}.DocSearch-Hit--deleting{opacity:0;transition:all .25s linear}@media screen and (prefers-reduced-motion:reduce){.DocSearch-Hit--favoriting{transition:none}}.DocSearch-Hit--favoriting{transform:scale(0);transform-origin:top center;transition:all .25s linear;transition-delay:.25s}.DocSearch-Hit a{background:var(--docsearch-hit-background);border-radius:4px;box-shadow:var(--docsearch-hit-shadow);display:block;padding-left:var(--docsearch-spacing);width:100%}.DocSearch-Hit-source{background:var(--docsearch-modal-background);color:var(--docsearch-highlight-color);font-size:.85em;font-weight:600;line-height:32px;margin:0 -4px;padding:8px 4px 0;position:sticky;top:0;z-index:10}.DocSearch-Hit-Tree{color:var(--docsearch-muted-color);height:var(--docsearch-hit-height);opacity:.5;stroke-width:var(--docsearch-icon-stroke-width);width:24px}.DocSearch-Hit[aria-selected=true] a{background-color:var(--docsearch-highlight-color)}.DocSearch-Hit[aria-selected=true] mark{text-decoration:underline}.DocSearch-Hit-Container{align-items:center;color:var(--docsearch-hit-color);display:flex;flex-direction:row;height:var(--docsearch-hit-height);padding:0 var(--docsearch-spacing) 0 0}.DocSearch-Hit-icon{height:20px;width:20px}.DocSearch-Hit-action,.DocSearch-Hit-icon{color:var(--docsearch-muted-color);stroke-width:var(--docsearch-icon-stroke-width)}.DocSearch-Hit-action{align-items:center;display:flex;height:22px;width:22px}.DocSearch-Hit-action svg{display:block;height:18px;width:18px}.DocSearch-Hit-action+.DocSearch-Hit-action{margin-left:6px}.DocSearch-Hit-action-button{-webkit-appearance:none;-moz-appearance:none;appearance:none;background:none;border:0;border-radius:50%;color:inherit;cursor:pointer;padding:2px}svg.DocSearch-Hit-Select-Icon{display:none}.DocSearch-Hit[aria-selected=true] .DocSearch-Hit-Select-Icon{display:block}.DocSearch-Hit-action-button:focus,.DocSearch-Hit-action-button:hover{background:#0003;transition:background-color .1s ease-in}@media screen and (prefers-reduced-motion:reduce){.DocSearch-Hit-action-button:focus,.DocSearch-Hit-action-button:hover{transition:none}}.DocSearch-Hit-action-button:focus path,.DocSearch-Hit-action-button:hover path{fill:#fff}.DocSearch-Hit-content-wrapper{display:flex;flex:1 1 auto;flex-direction:column;font-weight:500;justify-content:center;line-height:1.2em;margin:0 8px;overflow-x:hidden;position:relative;text-overflow:ellipsis;white-space:nowrap;width:80%}.DocSearch-Hit-title{font-size:.9em}.DocSearch-Hit-path{color:var(--docsearch-muted-color);font-size:.75em}.DocSearch-Hit[aria-selected=true] .DocSearch-Hit-action,.DocSearch-Hit[aria-selected=true] .DocSearch-Hit-icon,.DocSearch-Hit[aria-selected=true] .DocSearch-Hit-path,.DocSearch-Hit[aria-selected=true] .DocSearch-Hit-text,.DocSearch-Hit[aria-selected=true] .DocSearch-Hit-title,.DocSearch-Hit[aria-selected=true] .DocSearch-Hit-Tree,.DocSearch-Hit[aria-selected=true] mark{color:var(--docsearch-hit-active-color)!important}@media screen and (prefers-reduced-motion:reduce){.DocSearch-Hit-action-button:focus,.DocSearch-Hit-action-button:hover{background:#0003;transition:none}}.DocSearch-ErrorScreen,.DocSearch-NoResults,.DocSearch-StartScreen{font-size:.9em;margin:0 auto;padding:36px 0;text-align:center;width:80%}.DocSearch-Screen-Icon{color:var(--docsearch-muted-color);padding-bottom:12px}.DocSearch-NoResults-Prefill-List{display:inline-block;padding-bottom:24px;text-align:left}.DocSearch-NoResults-Prefill-List ul{display:inline-block;padding:8px 0 0}.DocSearch-NoResults-Prefill-List li{list-style-position:inside;list-style-type:"» "}.DocSearch-Prefill{-webkit-appearance:none;-moz-appearance:none;appearance:none;background:none;border:0;border-radius:1em;color:var(--docsearch-highlight-color);cursor:pointer;display:inline-block;font-size:1em;font-weight:700;padding:0}.DocSearch-Prefill:focus,.DocSearch-Prefill:hover{outline:none;text-decoration:underline}.DocSearch-Footer{align-items:center;background:var(--docsearch-footer-background);border-radius:0 0 8px 8px;box-shadow:var(--docsearch-footer-shadow);display:flex;flex-direction:row-reverse;flex-shrink:0;height:var(--docsearch-footer-height);justify-content:space-between;padding:0 var(--docsearch-spacing);position:relative;-webkit-user-select:none;user-select:none;width:100%;z-index:300}.DocSearch-Commands{color:var(--docsearch-muted-color);display:flex;list-style:none;margin:0;padding:0}.DocSearch-Commands li{align-items:center;display:flex}.DocSearch-Commands li:not(:last-of-type){margin-right:.8em}.DocSearch-Commands-Key{align-items:center;background:var(--docsearch-key-gradient);border-radius:2px;box-shadow:var(--docsearch-key-shadow);display:flex;height:18px;justify-content:center;margin-right:.4em;padding:0 0 1px;color:var(--docsearch-muted-color);border:0;width:20px}@media (max-width:768px){:root{--docsearch-spacing:10px;--docsearch-footer-height:40px}.DocSearch-Dropdown{height:100%}.DocSearch-Container{height:100vh;height:-webkit-fill-available;height:calc(var(--docsearch-vh, 1vh)*100);position:absolute}.DocSearch-Footer{border-radius:0;bottom:0;position:absolute}.DocSearch-Hit-content-wrapper{display:flex;position:relative;width:80%}.DocSearch-Modal{border-radius:0;box-shadow:none;height:100vh;height:-webkit-fill-available;height:calc(var(--docsearch-vh, 1vh)*100);margin:0;max-width:100%;width:100%}.DocSearch-Dropdown{max-height:calc(var(--docsearch-vh, 1vh)*100 - var(--docsearch-searchbox-height) - var(--docsearch-spacing) - var(--docsearch-footer-height))}.DocSearch-Cancel{-webkit-appearance:none;-moz-appearance:none;appearance:none;background:none;border:0;color:var(--docsearch-highlight-color);cursor:pointer;display:inline-block;flex:none;font:inherit;font-size:1em;font-weight:500;margin-left:var(--docsearch-spacing);outline:none;overflow:hidden;padding:0;-webkit-user-select:none;user-select:none;white-space:nowrap}.DocSearch-Commands,.DocSearch-Hit-Tree{display:none}}@keyframes fade-in{0%{opacity:0}to{opacity:1}}[class*=DocSearch]{--docsearch-primary-color: var(--vp-c-brand-1);--docsearch-highlight-color: var(--docsearch-primary-color);--docsearch-text-color: var(--vp-c-text-1);--docsearch-muted-color: var(--vp-c-text-2);--docsearch-searchbox-shadow: none;--docsearch-searchbox-background: transparent;--docsearch-searchbox-focus-background: transparent;--docsearch-key-gradient: transparent;--docsearch-key-shadow: none;--docsearch-modal-background: var(--vp-c-bg-soft);--docsearch-footer-background: var(--vp-c-bg)}.dark [class*=DocSearch]{--docsearch-modal-shadow: none;--docsearch-footer-shadow: none;--docsearch-logo-color: var(--vp-c-text-2);--docsearch-hit-background: var(--vp-c-default-soft);--docsearch-hit-color: var(--vp-c-text-2);--docsearch-hit-shadow: none}.DocSearch-Button{display:flex;justify-content:center;align-items:center;margin:0;padding:0;width:48px;height:55px;background:transparent;transition:border-color .25s}.DocSearch-Button:hover{background:transparent}.DocSearch-Button:focus{outline:1px dotted;outline:5px auto -webkit-focus-ring-color}.DocSearch-Button:focus:not(:focus-visible){outline:none!important}@media (min-width: 768px){.DocSearch-Button{justify-content:flex-start;border:1px solid transparent;border-radius:8px;padding:0 10px 0 12px;width:100%;height:40px;background-color:var(--vp-c-bg-alt)}.DocSearch-Button:hover{border-color:var(--vp-c-brand-1);background:var(--vp-c-bg-alt)}}.DocSearch-Button .DocSearch-Button-Container{display:flex;align-items:center}.DocSearch-Button .DocSearch-Search-Icon{position:relative;width:16px;height:16px;color:var(--vp-c-text-1);fill:currentColor;transition:color .5s}.DocSearch-Button:hover .DocSearch-Search-Icon{color:var(--vp-c-text-1)}@media (min-width: 768px){.DocSearch-Button .DocSearch-Search-Icon{top:1px;margin-right:8px;width:14px;height:14px;color:var(--vp-c-text-2)}}.DocSearch-Button .DocSearch-Button-Placeholder{display:none;margin-top:2px;padding:0 16px 0 0;font-size:13px;font-weight:500;color:var(--vp-c-text-2);transition:color .5s}.DocSearch-Button:hover .DocSearch-Button-Placeholder{color:var(--vp-c-text-1)}@media (min-width: 768px){.DocSearch-Button .DocSearch-Button-Placeholder{display:inline-block}}.DocSearch-Button .DocSearch-Button-Keys{direction:ltr;display:none;min-width:auto}@media (min-width: 768px){.DocSearch-Button .DocSearch-Button-Keys{display:flex;align-items:center}}.DocSearch-Button .DocSearch-Button-Key{display:block;margin:2px 0 0;border:1px solid var(--vp-c-divider);border-right:none;border-radius:4px 0 0 4px;padding-left:6px;min-width:0;width:auto;height:22px;line-height:22px;font-family:var(--vp-font-family-base);font-size:12px;font-weight:500;transition:color .5s,border-color .5s}.DocSearch-Button .DocSearch-Button-Key+.DocSearch-Button-Key{border-right:1px solid var(--vp-c-divider);border-left:none;border-radius:0 4px 4px 0;padding-left:2px;padding-right:6px}.DocSearch-Button .DocSearch-Button-Key:first-child{font-size:0!important}.DocSearch-Button .DocSearch-Button-Key:first-child:after{content:"Ctrl";font-size:12px;letter-spacing:normal;color:var(--docsearch-muted-color)}.mac .DocSearch-Button .DocSearch-Button-Key:first-child:after{content:"⌘"}.DocSearch-Button .DocSearch-Button-Key:first-child>*{display:none}.VPNavBarSearch{display:flex;align-items:center}@media (min-width: 768px){.VPNavBarSearch{flex-grow:1;padding-left:24px}}@media (min-width: 960px){.VPNavBarSearch{padding-left:32px}}.dark .DocSearch-Footer{border-top:1px solid var(--vp-c-divider)}.DocSearch-Form{border:1px solid var(--vp-c-brand-1);background-color:var(--vp-c-white)}.dark .DocSearch-Form{background-color:var(--vp-c-default-soft)}.DocSearch-Screen-Icon>svg{margin:auto}.VPNavBarSocialLinks[data-v-0394ad82]{display:none}@media (min-width: 1280px){.VPNavBarSocialLinks[data-v-0394ad82]{display:flex;align-items:center}}.title[data-v-8460f0a8]{display:flex;align-items:center;border-bottom:1px solid transparent;width:100%;height:var(--vp-nav-height);font-size:16px;font-weight:600;color:var(--vp-c-text-1);transition:opacity .25s}@media (min-width: 960px){.title[data-v-8460f0a8]{flex-shrink:0}.VPNavBarTitle.has-sidebar .title[data-v-8460f0a8]{border-bottom-color:var(--vp-c-divider)}}[data-v-8460f0a8] .logo{margin-right:8px;height:var(--vp-nav-logo-height)}.VPNavBarTranslations[data-v-74abcbb9]{display:none}@media (min-width: 1280px){.VPNavBarTranslations[data-v-74abcbb9]{display:flex;align-items:center}}.title[data-v-74abcbb9]{padding:0 24px 0 12px;line-height:32px;font-size:14px;font-weight:700;color:var(--vp-c-text-1)}.VPNavBar[data-v-19c990f1]{position:relative;height:var(--vp-nav-height);pointer-events:none;white-space:nowrap;transition:background-color .5s}.VPNavBar.has-local-nav[data-v-19c990f1]{background-color:var(--vp-nav-bg-color)}@media (min-width: 960px){.VPNavBar.has-local-nav[data-v-19c990f1]{background-color:transparent}.VPNavBar[data-v-19c990f1]:not(.has-sidebar):not(.top){background-color:var(--vp-nav-bg-color)}}.wrapper[data-v-19c990f1]{padding:0 8px 0 24px}@media (min-width: 768px){.wrapper[data-v-19c990f1]{padding:0 32px}}@media (min-width: 960px){.VPNavBar.has-sidebar .wrapper[data-v-19c990f1]{padding:0}}.container[data-v-19c990f1]{display:flex;justify-content:space-between;margin:0 auto;max-width:calc(var(--vp-layout-max-width) - 64px);height:var(--vp-nav-height);pointer-events:none}.container>.title[data-v-19c990f1],.container>.content[data-v-19c990f1]{pointer-events:none}.container[data-v-19c990f1] *{pointer-events:auto}@media (min-width: 960px){.VPNavBar.has-sidebar .container[data-v-19c990f1]{max-width:100%}}.title[data-v-19c990f1]{flex-shrink:0;height:calc(var(--vp-nav-height) - 1px);transition:background-color .5s}@media (min-width: 960px){.VPNavBar.has-sidebar .title[data-v-19c990f1]{position:absolute;top:0;left:0;z-index:2;padding:0 32px;width:var(--vp-sidebar-width);height:var(--vp-nav-height);background-color:transparent}}@media (min-width: 1440px){.VPNavBar.has-sidebar .title[data-v-19c990f1]{padding-left:max(32px,calc((100% - (var(--vp-layout-max-width) - 64px)) / 2));width:calc((100% - (var(--vp-layout-max-width) - 64px)) / 2 + var(--vp-sidebar-width) - 32px)}}.content[data-v-19c990f1]{flex-grow:1}@media (min-width: 960px){.VPNavBar.has-sidebar .content[data-v-19c990f1]{position:relative;z-index:1;padding-right:32px;padding-left:var(--vp-sidebar-width)}}@media (min-width: 1440px){.VPNavBar.has-sidebar .content[data-v-19c990f1]{padding-right:calc((100vw - var(--vp-layout-max-width)) / 2 + 32px);padding-left:calc((100vw - var(--vp-layout-max-width)) / 2 + var(--vp-sidebar-width))}}.content-body[data-v-19c990f1]{display:flex;justify-content:flex-end;align-items:center;height:var(--vp-nav-height);transition:background-color .5s}@media (min-width: 960px){.VPNavBar:not(.top) .content-body[data-v-19c990f1]{position:relative;background-color:var(--vp-nav-bg-color)}.VPNavBar:not(.has-sidebar):not(.top) .content-body[data-v-19c990f1]{background-color:transparent}}@media (max-width: 767px){.content-body[data-v-19c990f1]{column-gap:.5rem}}.menu+.translations[data-v-19c990f1]:before,.menu+.appearance[data-v-19c990f1]:before,.menu+.social-links[data-v-19c990f1]:before,.translations+.appearance[data-v-19c990f1]:before,.appearance+.social-links[data-v-19c990f1]:before{margin-right:8px;margin-left:8px;width:1px;height:24px;background-color:var(--vp-c-divider);content:""}.menu+.appearance[data-v-19c990f1]:before,.translations+.appearance[data-v-19c990f1]:before{margin-right:16px}.appearance+.social-links[data-v-19c990f1]:before{margin-left:16px}.social-links[data-v-19c990f1]{margin-right:-8px}.divider[data-v-19c990f1]{width:100%;height:1px}@media (min-width: 960px){.VPNavBar.has-sidebar .divider[data-v-19c990f1]{padding-left:var(--vp-sidebar-width)}}@media (min-width: 1440px){.VPNavBar.has-sidebar .divider[data-v-19c990f1]{padding-left:calc((100vw - var(--vp-layout-max-width)) / 2 + var(--vp-sidebar-width))}}.divider-line[data-v-19c990f1]{width:100%;height:1px;transition:background-color .5s}.VPNavBar.has-local-nav .divider-line[data-v-19c990f1]{background-color:var(--vp-c-gutter)}@media (min-width: 960px){.VPNavBar:not(.top) .divider-line[data-v-19c990f1]{background-color:var(--vp-c-gutter)}.VPNavBar:not(.has-sidebar):not(.top) .divider[data-v-19c990f1]{background-color:var(--vp-c-gutter)}}.VPNavScreenAppearance[data-v-2d7af913]{display:flex;justify-content:space-between;align-items:center;border-radius:8px;padding:12px 14px 12px 16px;background-color:var(--vp-c-bg-soft)}.text[data-v-2d7af913]{line-height:24px;font-size:12px;font-weight:500;color:var(--vp-c-text-2)}.VPNavScreenMenuLink[data-v-05f27b2a]{display:block;border-bottom:1px solid var(--vp-c-divider);padding:12px 0 11px;line-height:24px;font-size:14px;font-weight:500;color:var(--vp-c-text-1);transition:border-color .25s,color .25s}.VPNavScreenMenuLink[data-v-05f27b2a]:hover{color:var(--vp-c-brand-1)}.VPNavScreenMenuGroupLink[data-v-19976ae1]{display:block;margin-left:12px;line-height:32px;font-size:14px;font-weight:400;color:var(--vp-c-text-1);transition:color .25s}.VPNavScreenMenuGroupLink[data-v-19976ae1]:hover{color:var(--vp-c-brand-1)}.VPNavScreenMenuGroupSection[data-v-8133b170]{display:block}.title[data-v-8133b170]{line-height:32px;font-size:13px;font-weight:700;color:var(--vp-c-text-2);transition:color .25s}.VPNavScreenMenuGroup[data-v-65ef89ca]{border-bottom:1px solid var(--vp-c-divider);height:48px;overflow:hidden;transition:border-color .5s}.VPNavScreenMenuGroup .items[data-v-65ef89ca]{visibility:hidden}.VPNavScreenMenuGroup.open .items[data-v-65ef89ca]{visibility:visible}.VPNavScreenMenuGroup.open[data-v-65ef89ca]{padding-bottom:10px;height:auto}.VPNavScreenMenuGroup.open .button[data-v-65ef89ca]{padding-bottom:6px;color:var(--vp-c-brand-1)}.VPNavScreenMenuGroup.open .button-icon[data-v-65ef89ca]{transform:rotate(45deg)}.button[data-v-65ef89ca]{display:flex;justify-content:space-between;align-items:center;padding:12px 4px 11px 0;width:100%;line-height:24px;font-size:14px;font-weight:500;color:var(--vp-c-text-1);transition:color .25s}.button[data-v-65ef89ca]:hover{color:var(--vp-c-brand-1)}.button-icon[data-v-65ef89ca]{width:14px;height:14px;fill:var(--vp-c-text-2);transition:fill .5s,transform .25s}.group[data-v-65ef89ca]:first-child{padding-top:0}.group+.group[data-v-65ef89ca],.group+.item[data-v-65ef89ca]{padding-top:4px}.VPNavScreenTranslations[data-v-d72aa483]{height:24px;overflow:hidden}.VPNavScreenTranslations.open[data-v-d72aa483]{height:auto}.title[data-v-d72aa483]{display:flex;align-items:center;font-size:14px;font-weight:500;color:var(--vp-c-text-1)}.icon[data-v-d72aa483]{width:16px;height:16px;fill:currentColor}.icon.lang[data-v-d72aa483]{margin-right:8px}.icon.chevron[data-v-d72aa483]{margin-left:4px}.list[data-v-d72aa483]{padding:4px 0 0 24px}.link[data-v-d72aa483]{line-height:32px;font-size:13px;color:var(--vp-c-text-1)}.VPNavScreen[data-v-cc5739dd]{position:fixed;top:calc(var(--vp-nav-height) + var(--vp-layout-top-height, 0px) + 1px);right:0;bottom:0;left:0;padding:0 32px;width:100%;background-color:var(--vp-nav-screen-bg-color);overflow-y:auto;transition:background-color .5s;pointer-events:auto}.VPNavScreen.fade-enter-active[data-v-cc5739dd],.VPNavScreen.fade-leave-active[data-v-cc5739dd]{transition:opacity .25s}.VPNavScreen.fade-enter-active .container[data-v-cc5739dd],.VPNavScreen.fade-leave-active .container[data-v-cc5739dd]{transition:transform .25s ease}.VPNavScreen.fade-enter-from[data-v-cc5739dd],.VPNavScreen.fade-leave-to[data-v-cc5739dd]{opacity:0}.VPNavScreen.fade-enter-from .container[data-v-cc5739dd],.VPNavScreen.fade-leave-to .container[data-v-cc5739dd]{transform:translateY(-8px)}@media (min-width: 768px){.VPNavScreen[data-v-cc5739dd]{display:none}}.container[data-v-cc5739dd]{margin:0 auto;padding:24px 0 96px;max-width:288px}.menu+.translations[data-v-cc5739dd],.menu+.appearance[data-v-cc5739dd],.translations+.appearance[data-v-cc5739dd]{margin-top:24px}.menu+.social-links[data-v-cc5739dd]{margin-top:16px}.appearance+.social-links[data-v-cc5739dd]{margin-top:16px}.VPNav[data-v-ae24b3ad]{position:relative;top:var(--vp-layout-top-height, 0px);left:0;z-index:var(--vp-z-index-nav);width:100%;pointer-events:none;transition:background-color .5s}@media (min-width: 960px){.VPNav[data-v-ae24b3ad]{position:fixed}}.VPSidebarItem.level-0[data-v-e31bd47b]{padding-bottom:24px}.VPSidebarItem.collapsed.level-0[data-v-e31bd47b]{padding-bottom:10px}.item[data-v-e31bd47b]{position:relative;display:flex;width:100%}.VPSidebarItem.collapsible>.item[data-v-e31bd47b]{cursor:pointer}.indicator[data-v-e31bd47b]{position:absolute;top:6px;bottom:6px;left:-17px;width:2px;border-radius:2px;transition:background-color .25s}.VPSidebarItem.level-2.is-active>.item>.indicator[data-v-e31bd47b],.VPSidebarItem.level-3.is-active>.item>.indicator[data-v-e31bd47b],.VPSidebarItem.level-4.is-active>.item>.indicator[data-v-e31bd47b],.VPSidebarItem.level-5.is-active>.item>.indicator[data-v-e31bd47b]{background-color:var(--vp-c-brand-1)}.link[data-v-e31bd47b]{display:flex;align-items:center;flex-grow:1}.text[data-v-e31bd47b]{flex-grow:1;padding:4px 0;line-height:24px;font-size:14px;transition:color .25s}.VPSidebarItem.level-0 .text[data-v-e31bd47b]{font-weight:700;color:var(--vp-c-text-1)}.VPSidebarItem.level-1 .text[data-v-e31bd47b],.VPSidebarItem.level-2 .text[data-v-e31bd47b],.VPSidebarItem.level-3 .text[data-v-e31bd47b],.VPSidebarItem.level-4 .text[data-v-e31bd47b],.VPSidebarItem.level-5 .text[data-v-e31bd47b]{font-weight:500;color:var(--vp-c-text-2)}.VPSidebarItem.level-0.is-link>.item>.link:hover .text[data-v-e31bd47b],.VPSidebarItem.level-1.is-link>.item>.link:hover .text[data-v-e31bd47b],.VPSidebarItem.level-2.is-link>.item>.link:hover .text[data-v-e31bd47b],.VPSidebarItem.level-3.is-link>.item>.link:hover .text[data-v-e31bd47b],.VPSidebarItem.level-4.is-link>.item>.link:hover .text[data-v-e31bd47b],.VPSidebarItem.level-5.is-link>.item>.link:hover .text[data-v-e31bd47b]{color:var(--vp-c-brand-1)}.VPSidebarItem.level-0.has-active>.item>.text[data-v-e31bd47b],.VPSidebarItem.level-1.has-active>.item>.text[data-v-e31bd47b],.VPSidebarItem.level-2.has-active>.item>.text[data-v-e31bd47b],.VPSidebarItem.level-3.has-active>.item>.text[data-v-e31bd47b],.VPSidebarItem.level-4.has-active>.item>.text[data-v-e31bd47b],.VPSidebarItem.level-5.has-active>.item>.text[data-v-e31bd47b],.VPSidebarItem.level-0.has-active>.item>.link>.text[data-v-e31bd47b],.VPSidebarItem.level-1.has-active>.item>.link>.text[data-v-e31bd47b],.VPSidebarItem.level-2.has-active>.item>.link>.text[data-v-e31bd47b],.VPSidebarItem.level-3.has-active>.item>.link>.text[data-v-e31bd47b],.VPSidebarItem.level-4.has-active>.item>.link>.text[data-v-e31bd47b],.VPSidebarItem.level-5.has-active>.item>.link>.text[data-v-e31bd47b]{color:var(--vp-c-text-1)}.VPSidebarItem.level-0.is-active>.item .link>.text[data-v-e31bd47b],.VPSidebarItem.level-1.is-active>.item .link>.text[data-v-e31bd47b],.VPSidebarItem.level-2.is-active>.item .link>.text[data-v-e31bd47b],.VPSidebarItem.level-3.is-active>.item .link>.text[data-v-e31bd47b],.VPSidebarItem.level-4.is-active>.item .link>.text[data-v-e31bd47b],.VPSidebarItem.level-5.is-active>.item .link>.text[data-v-e31bd47b]{color:var(--vp-c-brand-1)}.caret[data-v-e31bd47b]{display:flex;justify-content:center;align-items:center;margin-right:-7px;width:32px;height:32px;color:var(--vp-c-text-3);cursor:pointer;transition:color .25s;flex-shrink:0}.item:hover .caret[data-v-e31bd47b]{color:var(--vp-c-text-2)}.item:hover .caret[data-v-e31bd47b]:hover{color:var(--vp-c-text-1)}.caret-icon[data-v-e31bd47b]{width:18px;height:18px;fill:currentColor;transform:rotate(90deg);transition:transform .25s}.VPSidebarItem.collapsed .caret-icon[data-v-e31bd47b]{transform:rotate(0)}.VPSidebarItem.level-1 .items[data-v-e31bd47b],.VPSidebarItem.level-2 .items[data-v-e31bd47b],.VPSidebarItem.level-3 .items[data-v-e31bd47b],.VPSidebarItem.level-4 .items[data-v-e31bd47b],.VPSidebarItem.level-5 .items[data-v-e31bd47b]{border-left:1px solid var(--vp-c-divider);padding-left:16px}.VPSidebarItem.collapsed .items[data-v-e31bd47b]{display:none}.VPSidebar[data-v-575e6a36]{position:fixed;top:var(--vp-layout-top-height, 0px);bottom:0;left:0;z-index:var(--vp-z-index-sidebar);padding:32px 32px 96px;width:calc(100vw - 64px);max-width:320px;background-color:var(--vp-sidebar-bg-color);opacity:0;box-shadow:var(--vp-c-shadow-3);overflow-x:hidden;overflow-y:auto;transform:translate(-100%);transition:opacity .5s,transform .25s ease;overscroll-behavior:contain}.VPSidebar.open[data-v-575e6a36]{opacity:1;visibility:visible;transform:translate(0);transition:opacity .25s,transform .5s cubic-bezier(.19,1,.22,1)}.dark .VPSidebar[data-v-575e6a36]{box-shadow:var(--vp-shadow-1)}@media (min-width: 960px){.VPSidebar[data-v-575e6a36]{padding-top:var(--vp-nav-height);width:var(--vp-sidebar-width);max-width:100%;background-color:var(--vp-sidebar-bg-color);opacity:1;visibility:visible;box-shadow:none;transform:translate(0)}}@media (min-width: 1440px){.VPSidebar[data-v-575e6a36]{padding-left:max(32px,calc((100% - (var(--vp-layout-max-width) - 64px)) / 2));width:calc((100% - (var(--vp-layout-max-width) - 64px)) / 2 + var(--vp-sidebar-width) - 32px)}}@media (min-width: 960px){.curtain[data-v-575e6a36]{position:sticky;top:-64px;left:0;z-index:1;margin-top:calc(var(--vp-nav-height) * -1);margin-right:-32px;margin-left:-32px;height:var(--vp-nav-height);background-color:var(--vp-sidebar-bg-color)}}.nav[data-v-575e6a36]{outline:0}.group+.group[data-v-575e6a36]{border-top:1px solid var(--vp-c-divider);padding-top:10px}@media (min-width: 960px){.group[data-v-575e6a36]{padding-top:10px;width:calc(var(--vp-sidebar-width) - 64px)}}.VPSkipLink[data-v-0f60ec36]{top:8px;left:8px;padding:8px 16px;z-index:999;border-radius:8px;font-size:12px;font-weight:700;text-decoration:none;color:var(--vp-c-brand-1);box-shadow:var(--vp-shadow-3);background-color:var(--vp-c-bg)}.VPSkipLink[data-v-0f60ec36]:focus{height:auto;width:auto;clip:auto;clip-path:none}@media (min-width: 1280px){.VPSkipLink[data-v-0f60ec36]{top:14px;left:16px}}.Layout[data-v-5a346dfe]{display:flex;flex-direction:column;min-height:100vh}.VPHomeSponsors[data-v-96bd69d5]{border-top:1px solid var(--vp-c-gutter);padding:88px 24px 96px;background-color:var(--vp-c-bg)}.container[data-v-96bd69d5]{margin:0 auto;max-width:1152px}.love[data-v-96bd69d5]{margin:0 auto;width:28px;height:28px;color:var(--vp-c-text-3)}.icon[data-v-96bd69d5]{width:28px;height:28px;fill:currentColor}.message[data-v-96bd69d5]{margin:0 auto;padding-top:10px;max-width:320px;text-align:center;line-height:24px;font-size:16px;font-weight:500;color:var(--vp-c-text-2)}.sponsors[data-v-96bd69d5]{padding-top:32px}.action[data-v-96bd69d5]{padding-top:40px;text-align:center}.VPTeamPage[data-v-10b00018]{padding-bottom:96px}@media (min-width: 768px){.VPTeamPage[data-v-10b00018]{padding-bottom:128px}}.VPTeamPageSection+.VPTeamPageSection[data-v-10b00018-s],.VPTeamMembers+.VPTeamPageSection[data-v-10b00018-s]{margin-top:64px}.VPTeamMembers+.VPTeamMembers[data-v-10b00018-s]{margin-top:24px}@media (min-width: 768px){.VPTeamPageTitle+.VPTeamPageSection[data-v-10b00018-s]{margin-top:16px}.VPTeamPageSection+.VPTeamPageSection[data-v-10b00018-s],.VPTeamMembers+.VPTeamPageSection[data-v-10b00018-s]{margin-top:96px}}.VPTeamMembers[data-v-10b00018-s]{padding:0 24px}@media (min-width: 768px){.VPTeamMembers[data-v-10b00018-s]{padding:0 48px}}@media (min-width: 960px){.VPTeamMembers[data-v-10b00018-s]{padding:0 64px}}.VPTeamPageTitle[data-v-bf2cbdac]{padding:48px 32px;text-align:center}@media (min-width: 768px){.VPTeamPageTitle[data-v-bf2cbdac]{padding:64px 48px 48px}}@media (min-width: 960px){.VPTeamPageTitle[data-v-bf2cbdac]{padding:80px 64px 48px}}.title[data-v-bf2cbdac]{letter-spacing:0;line-height:44px;font-size:36px;font-weight:500}@media (min-width: 768px){.title[data-v-bf2cbdac]{letter-spacing:-.5px;line-height:56px;font-size:48px}}.lead[data-v-bf2cbdac]{margin:0 auto;max-width:512px;padding-top:12px;line-height:24px;font-size:16px;font-weight:500;color:var(--vp-c-text-2)}@media (min-width: 768px){.lead[data-v-bf2cbdac]{max-width:592px;letter-spacing:.15px;line-height:28px;font-size:20px}}.VPTeamPageSection[data-v-b1a88750]{padding:0 32px}@media (min-width: 768px){.VPTeamPageSection[data-v-b1a88750]{padding:0 48px}}@media (min-width: 960px){.VPTeamPageSection[data-v-b1a88750]{padding:0 64px}}.title[data-v-b1a88750]{position:relative;margin:0 auto;max-width:1152px;text-align:center;color:var(--vp-c-text-2)}.title-line[data-v-b1a88750]{position:absolute;top:16px;left:0;width:100%;height:1px;background-color:var(--vp-c-divider)}.title-text[data-v-b1a88750]{position:relative;display:inline-block;padding:0 24px;letter-spacing:0;line-height:32px;font-size:20px;font-weight:500;background-color:var(--vp-c-bg)}.lead[data-v-b1a88750]{margin:0 auto;max-width:480px;padding-top:12px;text-align:center;line-height:24px;font-size:16px;font-weight:500;color:var(--vp-c-text-2)}.members[data-v-b1a88750]{padding-top:40px}.VPTeamMembersItem[data-v-0d3d0d4d]{display:flex;flex-direction:column;gap:2px;border-radius:12px;width:100%;height:100%;overflow:hidden}.VPTeamMembersItem.small .profile[data-v-0d3d0d4d]{padding:32px}.VPTeamMembersItem.small .data[data-v-0d3d0d4d]{padding-top:20px}.VPTeamMembersItem.small .avatar[data-v-0d3d0d4d]{width:64px;height:64px}.VPTeamMembersItem.small .name[data-v-0d3d0d4d]{line-height:24px;font-size:16px}.VPTeamMembersItem.small .affiliation[data-v-0d3d0d4d]{padding-top:4px;line-height:20px;font-size:14px}.VPTeamMembersItem.small .desc[data-v-0d3d0d4d]{padding-top:12px;line-height:20px;font-size:14px}.VPTeamMembersItem.small .links[data-v-0d3d0d4d]{margin:0 -16px -20px;padding:10px 0 0}.VPTeamMembersItem.medium .profile[data-v-0d3d0d4d]{padding:48px 32px}.VPTeamMembersItem.medium .data[data-v-0d3d0d4d]{padding-top:24px;text-align:center}.VPTeamMembersItem.medium .avatar[data-v-0d3d0d4d]{width:96px;height:96px}.VPTeamMembersItem.medium .name[data-v-0d3d0d4d]{letter-spacing:.15px;line-height:28px;font-size:20px}.VPTeamMembersItem.medium .affiliation[data-v-0d3d0d4d]{padding-top:4px;font-size:16px}.VPTeamMembersItem.medium .desc[data-v-0d3d0d4d]{padding-top:16px;max-width:288px;font-size:16px}.VPTeamMembersItem.medium .links[data-v-0d3d0d4d]{margin:0 -16px -12px;padding:16px 12px 0}.profile[data-v-0d3d0d4d]{flex-grow:1;background-color:var(--vp-c-bg-soft)}.data[data-v-0d3d0d4d]{text-align:center}.avatar[data-v-0d3d0d4d]{position:relative;flex-shrink:0;margin:0 auto;border-radius:50%;box-shadow:var(--vp-shadow-3)}.avatar-img[data-v-0d3d0d4d]{position:absolute;top:0;right:0;bottom:0;left:0;border-radius:50%;object-fit:cover}.name[data-v-0d3d0d4d]{margin:0;font-weight:600}.affiliation[data-v-0d3d0d4d]{margin:0;font-weight:500;color:var(--vp-c-text-2)}.org.link[data-v-0d3d0d4d]{color:var(--vp-c-text-2);transition:color .25s}.org.link[data-v-0d3d0d4d]:hover{color:var(--vp-c-brand-1)}.desc[data-v-0d3d0d4d]{margin:0 auto}.desc[data-v-0d3d0d4d] a{font-weight:500;color:var(--vp-c-brand-1);text-decoration-style:dotted;transition:color .25s}.links[data-v-0d3d0d4d]{display:flex;justify-content:center;height:56px}.sp-link[data-v-0d3d0d4d]{display:flex;justify-content:center;align-items:center;text-align:center;padding:16px;font-size:14px;font-weight:500;color:var(--vp-c-sponsor);background-color:var(--vp-c-bg-soft);transition:color .25s,background-color .25s}.sp .sp-link.link[data-v-0d3d0d4d]:hover,.sp .sp-link.link[data-v-0d3d0d4d]:focus{outline:none;color:var(--vp-c-white);background-color:var(--vp-c-sponsor)}.sp-icon[data-v-0d3d0d4d]{margin-right:8px;width:16px;height:16px;fill:currentColor}.VPTeamMembers.small .container[data-v-6cb0dbc4]{grid-template-columns:repeat(auto-fit,minmax(224px,1fr))}.VPTeamMembers.small.count-1 .container[data-v-6cb0dbc4]{max-width:276px}.VPTeamMembers.small.count-2 .container[data-v-6cb0dbc4]{max-width:576px}.VPTeamMembers.small.count-3 .container[data-v-6cb0dbc4]{max-width:876px}.VPTeamMembers.medium .container[data-v-6cb0dbc4]{grid-template-columns:repeat(auto-fit,minmax(256px,1fr))}@media (min-width: 375px){.VPTeamMembers.medium .container[data-v-6cb0dbc4]{grid-template-columns:repeat(auto-fit,minmax(288px,1fr))}}.VPTeamMembers.medium.count-1 .container[data-v-6cb0dbc4]{max-width:368px}.VPTeamMembers.medium.count-2 .container[data-v-6cb0dbc4]{max-width:760px}.container[data-v-6cb0dbc4]{display:grid;gap:24px;margin:0 auto;max-width:1152px}.home-hero .image{width:200px;height:200px}.nav-bar .logo{height:30px;margin-right:2px}:root{--vp-c-white: #ffffff;--vp-c-gray: #f8f8f8;--vp-c-black: #000000;--vp-c-divider-light: rgba(67, 60, 61, .12);--vp-c-divider-dark: rgba(88, 84, 85, .48);--vp-c-text-light-1: #2c3e50;--vp-c-text-light-2: #476582;--vp-c-text-light-3: #90a4b7;--vp-c-brand-1: #f36c87;--vp-c-brand-2: #e94e6d;--vp-c-brand-3: #e32d51;--vp-font-family-base: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Oxygen, Ubuntu, Cantarell, "Fira Sans", "Droid Sans", "Helvetica Neue", sans-serif;--vp-font-family-mono: source-code-pro, Menlo, Monaco, Consolas, "Courier New", monospace;--vp-z-index-nav: 10;--vp-z-index-sidebar: 6;--vp-shadow-1: 0 1px 2px rgba(0, 0, 0, .04), 0 1px 2px rgba(0, 0, 0, .06);--vp-shadow-2: 0 3px 12px rgba(0, 0, 0, .07), 0 1px 4px rgba(0, 0, 0, .07);--vp-shadow-3: 0 12px 32px rgba(0, 0, 0, .1), 0 2px 6px rgba(0, 0, 0, .08);--vp-shadow-4: 0 14px 44px rgba(0, 0, 0, .12), 0 3px 9px rgba(0, 0, 0, .12);--vp-shadow-5: 0 18px 56px rgba(0, 0, 0, .16), 0 4px 12px rgba(0, 0, 0, .16);--vp-header-height: 3.6rem}.homepage{text-align:center;max-width:100%}.homepage *{max-width:100%}.homepage h2{color:#6e6e73;font-size:1.2rem;border:none;margin-top:2rem;margin-bottom:2rem}.homepage .x-imgs{display:flex;margin:auto;overflow-x:auto;max-width:100%}.homepage .x-imgs img{max-width:100%}.homepage{margin-top:20px;text-align:center;max-width:100%}.homepage h2{color:#6e6e73;font-size:1.2rem;border:none}.homepage .x-imgs{display:flex;margin:auto;overflow-x:auto;width:768px;max-width:100%}.homepage .x-imgs img{width:768px;max-width:100%}.homepage img{width:768px;max-width:100%;margin:auto}.desc{color:#999}.content img{box-shadow:0 0 30px #3232321a}.VPLocalSearchBox[data-v-df273b76]{position:fixed;z-index:100;top:0;right:0;bottom:0;left:0;display:flex}.backdrop[data-v-df273b76]{position:absolute;top:0;right:0;bottom:0;left:0;background:var(--vp-backdrop-bg-color);transition:opacity .5s}.shell[data-v-df273b76]{position:relative;padding:12px;margin:64px auto;display:flex;flex-direction:column;gap:16px;background:var(--vp-local-search-bg);width:min(100vw - 60px,900px);height:min-content;max-height:min(100vh - 128px,900px);border-radius:6px}@media (max-width: 767px){.shell[data-v-df273b76]{margin:0;width:100vw;height:100vh;max-height:none;border-radius:0}}.search-bar[data-v-df273b76]{border:1px solid var(--vp-c-divider);border-radius:4px;display:flex;align-items:center;padding:0 12px;cursor:text}@media (max-width: 767px){.search-bar[data-v-df273b76]{padding:0 8px}}.search-bar[data-v-df273b76]:focus-within{border-color:var(--vp-c-brand-1)}.search-icon[data-v-df273b76]{margin:8px}@media (max-width: 767px){.search-icon[data-v-df273b76]{display:none}}.search-input[data-v-df273b76]{padding:6px 12px;font-size:inherit;width:100%}@media (max-width: 767px){.search-input[data-v-df273b76]{padding:6px 4px}}.search-actions[data-v-df273b76]{display:flex;gap:4px}@media (any-pointer: coarse){.search-actions[data-v-df273b76]{gap:8px}}@media (min-width: 769px){.search-actions.before[data-v-df273b76]{display:none}}.search-actions button[data-v-df273b76]{padding:8px}.search-actions button[data-v-df273b76]:not([disabled]):hover,.toggle-layout-button.detailed-list[data-v-df273b76]{color:var(--vp-c-brand-1)}.search-actions button.clear-button[data-v-df273b76]:disabled{opacity:.37}.search-keyboard-shortcuts[data-v-df273b76]{font-size:.8rem;opacity:75%;display:flex;flex-wrap:wrap;gap:16px;line-height:14px}.search-keyboard-shortcuts span[data-v-df273b76]{display:flex;align-items:center;gap:4px}@media (max-width: 767px){.search-keyboard-shortcuts[data-v-df273b76]{display:none}}.search-keyboard-shortcuts kbd[data-v-df273b76]{background:#8080801a;border-radius:4px;padding:3px 6px;min-width:24px;display:inline-block;text-align:center;vertical-align:middle;border:1px solid rgba(128,128,128,.15);box-shadow:0 2px 2px #0000001a}.results[data-v-df273b76]{display:flex;flex-direction:column;gap:6px;overflow-x:hidden;overflow-y:auto;overscroll-behavior:contain}.result[data-v-df273b76]{display:flex;align-items:center;gap:8px;border-radius:4px;transition:none;line-height:1rem;border:solid 2px var(--vp-local-search-result-border);outline:none}.result>div[data-v-df273b76]{margin:12px;width:100%;overflow:hidden}@media (max-width: 767px){.result>div[data-v-df273b76]{margin:8px}}.titles[data-v-df273b76]{display:flex;flex-wrap:wrap;gap:4px;position:relative;z-index:1001;padding:2px 0}.title[data-v-df273b76]{display:flex;align-items:center;gap:4px}.title.main[data-v-df273b76]{font-weight:500}.title-icon[data-v-df273b76]{opacity:.5;font-weight:500;color:var(--vp-c-brand-1)}.title svg[data-v-df273b76]{opacity:.5}.result.selected[data-v-df273b76]{--vp-local-search-result-bg: var(--vp-local-search-result-selected-bg);border-color:var(--vp-local-search-result-selected-border)}.excerpt-wrapper[data-v-df273b76]{position:relative}.excerpt[data-v-df273b76]{opacity:75%;pointer-events:none;max-height:140px;overflow:hidden;position:relative;opacity:.5;margin-top:4px}.result.selected .excerpt[data-v-df273b76]{opacity:1}.excerpt[data-v-df273b76] *{font-size:.8rem!important;line-height:130%!important}.titles[data-v-df273b76] mark,.excerpt[data-v-df273b76] mark{background-color:var(--vp-local-search-highlight-bg);color:var(--vp-local-search-highlight-text);border-radius:2px;padding:0 2px}.excerpt[data-v-df273b76] .vp-code-group .tabs{display:none}.excerpt[data-v-df273b76] .vp-code-group div[class*=language-]{border-radius:8px!important}.excerpt-gradient-bottom[data-v-df273b76]{position:absolute;bottom:-1px;left:0;width:100%;height:8px;background:linear-gradient(transparent,var(--vp-local-search-result-bg));z-index:1000}.excerpt-gradient-top[data-v-df273b76]{position:absolute;top:-1px;left:0;width:100%;height:8px;background:linear-gradient(var(--vp-local-search-result-bg),transparent);z-index:1000}.result.selected .titles[data-v-df273b76],.result.selected .title-icon[data-v-df273b76]{color:var(--vp-c-brand-1)!important}.no-results[data-v-df273b76]{font-size:.9rem;text-align:center;padding:12px}svg[data-v-df273b76]{flex:none} diff --git a/assets/the-tree_index.md.iHeyFaFR.js b/assets/the-tree_index.md.iHeyFaFR.js new file mode 100644 index 00000000..dbbf72dc --- /dev/null +++ b/assets/the-tree_index.md.iHeyFaFR.js @@ -0,0 +1 @@ +import{_ as t,c as a,o as r,m as e,a as n}from"./chunks/framework.3rhKcKOk.js";const u=JSON.parse('{"title":"世界树的故事","description":"","frontmatter":{},"headers":[],"relativePath":"the-tree/index.md","filePath":"the-tree/index.md"}'),o={name:"the-tree/index.md"},s=e("h1",{id:"世界树的故事",tabindex:"-1"},[n("世界树的故事 "),e("a",{class:"header-anchor",href:"#世界树的故事","aria-label":'Permalink to "世界树的故事"'},"​")],-1),c=e("p",null,"欢迎大家投稿轻小说~",-1),d=[s,c];function i(_,l,h,p,m,f){return r(),a("div",null,d)}const $=t(o,[["render",i]]);export{u as __pageData,$ as default}; diff --git a/assets/the-tree_index.md.iHeyFaFR.lean.js b/assets/the-tree_index.md.iHeyFaFR.lean.js new file mode 100644 index 00000000..dbbf72dc --- /dev/null +++ b/assets/the-tree_index.md.iHeyFaFR.lean.js @@ -0,0 +1 @@ +import{_ as t,c as a,o as r,m as e,a as n}from"./chunks/framework.3rhKcKOk.js";const u=JSON.parse('{"title":"世界树的故事","description":"","frontmatter":{},"headers":[],"relativePath":"the-tree/index.md","filePath":"the-tree/index.md"}'),o={name:"the-tree/index.md"},s=e("h1",{id:"世界树的故事",tabindex:"-1"},[n("世界树的故事 "),e("a",{class:"header-anchor",href:"#世界树的故事","aria-label":'Permalink to "世界树的故事"'},"​")],-1),c=e("p",null,"欢迎大家投稿轻小说~",-1),d=[s,c];function i(_,l,h,p,m,f){return r(),a("div",null,d)}const $=t(o,[["render",i]]);export{u as __pageData,$ as default}; diff --git a/bg.webp b/bg.webp new file mode 100644 index 00000000..82d0564c Binary files /dev/null and b/bg.webp differ diff --git a/bg_old.webp b/bg_old.webp new file mode 100644 index 00000000..4b421d06 Binary files /dev/null and b/bg_old.webp differ diff --git a/guide/commands.html b/guide/commands.html new file mode 100644 index 00000000..3d8eb0dd --- /dev/null +++ b/guide/commands.html @@ -0,0 +1,25 @@ + + + + + + 指令帮助 | FDCraft + + + + + + + + + + + + + + +
Skip to content

指令帮助

Velocity跨服

指令描述
/server [tag]切换至FDC下的各个子服(如fdp、ppf),或在其他学校的服务器内切换子服。
/hub如果你从联合大厅进入FDC,可以通过这个指令切换至其他学校的服务器。

Bukkit插件指令

TIP

WorldEdit与Axiom的指令不会在此处列出,请前往教程搬运查看相应教程。

消息

指令描述
/msg发送私信给指定玩家。
/me以第三人称描述一件事。
/r快速回复回复你的最后一位玩家。
/mail管理玩家在服务器内的邮件。
/say说话!

信息

指令描述
/near列出一位玩家附近(或半径内)的玩家。
/ping啪!
/mspt查看服务器当前的MSPT。
/depth指出你当前相对于海平面的位置。
/rules查看服务器的规则。
/list显示所有在线玩家。
/compass描述你当前的方位。
/getpos获取你(或某一玩家)的当前坐标。

传送

指令描述
/home <homes>传送到家的位置。如果你有多个家,则后面的参数是必需的。
/sethome <name>在当前位置设置家。
/delhome <name>删除一个你创建的家。
/tpa <player>请求传送到指定的玩家。
/tpahere请求指定玩家传送到你的位置。
/tpaall请求所有在线玩家传送到你的位置。
/tpaccept接受传送请求。
/tpacancel [player]取消所有待处理的传送请求。指定[player]来取消他的请求。
/back传送你至先前的位置。
/spawn传送至出生点。

点歌

注意:需要在客户端上安装与mc版本匹配的AllMusic才能听歌。

指令描述
/music help获取点歌台的指令列表。
/music <音乐ID>使用音乐id点歌,这个方法能准确地点歌,不会点错。
/music search使用歌曲名搜索歌曲,这种方法无需查找id,但是容易点错。
/music select <序号>点相应序号的歌曲。
/music nextpage翻到下一页。
/music lastpage翻到上一页。
/music vote发起投票切歌。如果已经有人发起了投票,输入/music vote来同意。若30秒内,包括发起者在内共有2个人同意切歌,则会切歌,否则仍播放当前歌曲。
/music list查看信息更为详细的歌曲列表。在点歌台的Hud能看到较为粗略的点歌列表。
/music hud <type> <x> <y>设置各种hud的显示位置,默认为左中。type有4个可选项。info:歌曲信息, pic:专辑封面,lyric:歌词,list:播放列表。x与y的值请自行进行调试。
/music hud enabld <type>开启/关闭相应的hud。
/music hud picsize <size>调整专辑封面的大小。
/music hud reset重置所有关于hud的设置。

椅子

指令描述
/sit在当前位置坐下。也可以空手右键台阶或者楼梯来在那个位置坐下。
/lay在当前位置躺下。躺下的方向与你的朝向相同。
/crawl爬!
/bellyflop变成鞘翅飞行的模样,与/crawl有点像。
/spin旋转吧,雪月花!

旦星一号

指令描述
/dynmap webregister获取旦星一号地空通信的注册码。
/dmarker进行旦星一号的标记点操作,具体见旦星一号

HeadDataBase

指令描述
/kit获取指定的物品包(或查看所有可用的物品包)。
/suicide自决。
/afk将你标记为暂时离开。

图片

指令描述
/images create <url> <scale>放置图片,其中url必须为直链,可以将图片上传至免费图床来获得。
/images delete [near <range>]删除图片。不带参数为点击删除图片,带参数为删除一定范围内的图片。再次输入命令以取消。

其他

指令描述
/kit获取指定的物品包(或查看所有可用的物品包)。
/suicide自决。
/afk将你标记为暂时离开。

Leaves 假人指令

FDC使用的是由服务端Leaves提供的假人系统,假人的总指令为 /bot。它的使用与Carpet的假人系统有着非常大的不同。

指令列表与说明参见Leaves Fakeplayer

MCDR指令

MCDR是一个基于python的服务端控制工具,可以给原版端或者其他服务端提供一些插件的支持.由于通过监听服务器内的聊天消息来识别指令,MCDR的指令标识与其他指令不同,一般为!!XXXX

Task任务清单

非常好用的分锅插件(

指令描述
!!task显示任务概览。
!!task help获取任务清单插件的指令列表。
!!task overview显示任务概览,同!!task
!!task list显示完整的任务清单。
!!task list-all <task>显示完整的任务清单(包括子任务)。
!!task detail <task>显示某个任务的详细信息。
!!task add <task> [description]添加一个任务与其描述。
!!task remove/rm/delete/del <task>删除某个任务。
!!task rename <old task> <new task>重命名某个任务。
!!task change <task> <new description>修改某个任务的描述。
!!task done <task>将某个任务标记为完成。
!!task undone <task>将某个任务标记为未完成。
!!task deadline <task> <period: day>设置某个任务的ddl。
!!task deadline <task> clear清除某个任务的ddl。
!!task priority <task> <priority>设置某个任务的优先级。
!!task player <task>查看某个玩家的任务列表。
!!task res/responsible <task> <player>设置某个任务的负责人。
!!task unres/unresponsible <task> <player>删除某个任务的负责人。

Stats数据统计

TIP

FDC的建筑榜不是由这个插件构建的,不适用这里的命令。

指令描述
!!stats显示Stats的帮助信息。
!!stats save <代名> <统计类别> <统计内容> <标题>保存一个统计某个统计内容的快速计分板。
!!stats del <代名>移除某个快速计分板。
!!stats list列出已保存的快速计分板。
!!stats query <玩家> <统计类别> <统计内容> [< -uuid>] [< -tell>]查询某个玩家某个统计内容的数值。
!!stats query <玩家> <代名> [< -uuid>] [< -tell>]查询某个玩家某个快速计分板的数值。
!!stats rank <统计类别> <统计内容> [< -tell>]在聊天栏显示某个统计内容的排行。
!!stats rank <代名> [< -tell>]在聊天栏显示某个快速计分板的排行。
!!stats scoreboard <统计类别> <统计内容> (标题)显示一个一个统计某个统计内容的快速计分板,但不保存。
!!stats scoreboard <代名>显示某个快速计分板。
!!stats scoreboard show显示该插件的计分板。
!!stats scoreboard hide隐藏该插件的计分板

参数说明

参数描述
<统计类别>killed, killed_by, dropped, picked_up, used, mined, broken, crafted, custom
<统计内容>killed, killed_by:生物ID
picked_up, used, mined, broken, crafted:物品/方块ID
custom:详见统计信息的json文件,或 MC Wiki
上述内容无需带minecraft:前缀
[< -uuid>]用uuid替换玩家名。
[< -tell>]仅自己可见。

其他

指令描述
!!jrrp获取今日人品!
!!joinMOTD显示入服欢迎。
!!day查询开服时间。
!!hitokoto获取一句一言
+ + + + \ No newline at end of file diff --git a/guide/features.html b/guide/features.html new file mode 100644 index 00000000..0d767e01 --- /dev/null +++ b/guide/features.html @@ -0,0 +1,25 @@ + + + + + + 服务器特性介绍 | FDCraft + + + + + + + + + + + + + + +
Skip to content

服务器特性介绍

群机器人

小Unicorn

光标(标宝)为本服特约吉祥物,感谢标宝提供的前期的Christina机器人支持

使用方法

交流群内发送返回内容
-fdc基岩社所有服务器状态
-sjmc上交MC社所有服务器状态
-tjmc同济MC社所有服务器状态
-mc以上所有服务器状态
-mclive或-sjmclive交大MC社B站直播间状态
-fdclive基岩社B站直播间状态

花fufu

花fufu在FDC各服务器和互通群内放置了自己的话筒和花花,让FDC各服务器与花fufu群直接能够通话。

快说谢谢fufu!

使用方法

从交流群中获取互通群的群号后进入,或者进入KOOK的聊天互通频道。

~~Q群内仅能发送/接受FDC、FDCC的聊天,而各服务器(FDC、FDCC、PPF、FDP、MOD)内可以接收到所有其他服务器的聊天。~~现在都可以了!

花fufu群:群内或者频道内直接发送消息即可发送。

各服务器:直接发送消息即可发送。

~~在FDC内,可以点击聊天栏内绿色的[图片]并按回车来获取用于显示图片的地图。这个地图本质上就是个普通的地图,可以低下头来查看。注意改变快捷栏的栏位会使地图消失。~~图片挂了()

指令列表

互通群/频道内发送返回内容
!!help查看指令帮助
!!pingpong!!
!!online查看FDC在线人数
!!stats显示FDC的一些统计信息,具体见帮助
!!info (仅限频道)显示服务器状态

服务器保护

  • CoreProtect 提供的核心保护
    • 存档所有修改的记录
  • Boom 提供的地图保护
    • 苦力怕爆炸不破坏地形(但依然造成伤害并摧毁掉落物)
    • 火焰不蔓延

生电友好

内容扩充

+ + + + \ No newline at end of file diff --git a/guide/features_ncwu.html b/guide/features_ncwu.html new file mode 100644 index 00000000..fe40d5ff --- /dev/null +++ b/guide/features_ncwu.html @@ -0,0 +1,25 @@ + + + + + + 服务器特性&指令介绍 | FDCraft + + + + + + + + + + + + + + +
Skip to content

服务器特性&指令介绍

服务器保护

  • Ledger & TheStarryGuard提供的核心保护
    • 记录方块变化与箱子变化(查箱子呼叫op)
指令描述
/tsg check开启查询模式,再次输入指令关闭。可以查询某处方块变化的记录
/tsg near查询附近的方块变化。
/tsg page查询全局的方块变化。
  • Creeper Firework 提供的地图保护
    • 苦力怕爆炸不破坏地形(但依然造成伤害并摧毁掉落物)
    • 苦力怕爆炸放出烟花(若客户端安装了Creeper Firework)

生电

Carpet

  • Carpet主体
    • 假人
    • TAB菜单显示
    • 经验吸收无冷却
    • 仙人掌扳手
  • Carpet-Extra
    • Carpet精准放置协议
    • 更新抑制防崩
  • Carpet-TIS-Addition
    • 光照线程同步
  • GCA
    • 空手右键假人打开假人背包&潜行右键打开末影箱
    • 服务器重启假人驻留
    • 假人补货
    • 假人钓鱼
  • PCA
    • PCA 数据同步协议
  • Carpet-AMS-Addition
    • 末影龙优化

其他 Mod

传送

指令描述
/home <homes>传送到家的位置。如果你有多个家,则后面的参数是必需的。
/sethome <name>在当前位置设置家。
/delhome <name>删除一个你创建的家。
/tpa <player>请求传送到指定的玩家。
/tpahere请求指定玩家传送到你的位置。
/tpaall请求所有在线玩家传送到你的位置。
/tpaccept接受传送请求。
/tpacancel [player]取消所有待处理的传送请求。指定[player]来取消他的请求。
/back传送你至先前的位置。
/spawn传送至出生点。

点歌

注意:需要在客户端上安装与mc版本匹配的AllMusic才能听歌。

指令描述
/music help获取点歌台的指令列表。
/music <音乐ID>使用音乐id点歌,这个方法能准确地点歌,不会点错。
/music search使用歌曲名搜索歌曲,这种方法无需查找id,但是容易点错。
/music select <序号>点相应序号的歌曲。
/music nextpage翻到下一页。
/music lastpage翻到上一页。
/music vote发起投票切歌。如果已经有人发起了投票,输入/music vote来同意。若30秒内,包括发起者在内共有2个人同意切歌,则会切歌,否则仍播放当前歌曲。
/music list查看信息更为详细的歌曲列表。在点歌台的Hud能看到较为粗略的点歌列表。
/music hud <type> <x> <y>设置各种hud的显示位置,默认为左中。type有4个可选项。info:歌曲信息, pic:专辑封面,lyric:歌词,list:播放列表。x与y的值请自行进行调试。
/music hud enabld <type>开启/关闭相应的hud。
/music hud picsize <size>调整专辑封面的大小。
/music hud reset重置所有关于hud的设置。

椅子

面朝下方按潜行键即可召唤“椅子”,右键坐下。再按潜行起身。

作物收获

手持锄头右键作物可以收获作物。

+ + + + \ No newline at end of file diff --git a/guide/functional-buildings.html b/guide/functional-buildings.html new file mode 100644 index 00000000..903e1c9b --- /dev/null +++ b/guide/functional-buildings.html @@ -0,0 +1,25 @@ + + + + + + 功能性建筑 | FDCraft + + + + + + + + + + + + + + +
Skip to content

功能性建筑

120自动熔炉组

【施工方】Ithil_hiril 【位置】工业区 (775, 153) 有地狱交通连接(工业区共用地狱门),有冰道。 【注意事项】熔炉使用前请阅读下方内部的使用说明!

196k竖式刷石机

【施工方】Polaris_Light 【位置】工业区 (775, 153) 有地狱交通连接(工业区共用地狱门),有冰道。 【注意事项】刷石机使用时请勿离开!!人离开一定要关刷石机!!(惨痛教训)

蜜绿全树种树场

【施工方】LQingNing 【位置】工业区(775,135),有地狱交通连接 【使用说明】上方木桶放置装有骨粉的潜影盒,保证红石灯亮,空潜影盒会回到下方木桶,灯不亮补充骨粉潜影盒; 金合欢选择按钮一,云杉、丛林选择按钮二,橡树、白桦选择按钮三; 按完按钮进去种植室,等到活塞停止后再开启拉杆; 如果发射器自己停止,检查外面的灯是否还亮。

开荒仓库

【施工方】Polaris_Light 【位置】主世界坐标:(704,364) 有地狱交通连接,有冰道。 地狱门在仓库二楼,是重要的连接枢纽。 周围包含简易的村民交易,农场等非机械级别玩家活动痕迹。 仓库内资源为公用,但请不要滥用!

四核时钟式刷铁机

【施工方】Ithil_hiril 【位置】主世界坐标:(728,363) 开荒仓库旁边。 实际效率极低,大致相当于单核,挂机需要到僵尸头上才有一点点效率,以后还需要新建非干扰型多核刷铁机。

飞行器甘蔗机

【施工方】LQingNing 【位置】主世界位置:(873,351)村庄附近。 【注意事项】使用前请先阅读使用说明!

简易植物繁殖处

【施工方】LQingNing

【位置】主世界位置:(我再上线看看)村庄附近,甘蔗机旁边。 【注意事项】使用后记得关闭以防造成卡顿;记得留一点植物作为种! 目前可以繁殖的植物种类:四种高花,发光地衣,甜浆果,发光浆果,可可豆\

丐中丐版袭击塔

【施工方】x2048x 【位置】主世界坐标:(692,920) 有地狱交通连接,有冰道 【注意事项】该机器只可使用锋利IV横扫之刃III钻石剑以上等级的剑来砍,否则容易因为产生恼鬼而暴毙(目前没有合适的剑在这边公用,建议自己去小黑塔打一把)。丐中丐版袭击塔只能手动收集分类,且袭击不堆叠。使用的时候需要先从活板门跳下开启袭击,然后从气泡柱立刻上来砍。砍时需注意不要离得太近或按shift,保持砍怪频率(避免女巫一击不死扔了治疗药水),可有效降低生成恼鬼概率。 已修改:使用时要对着盔甲架砍,攻击间隔不低于18gt,能有效放置恼鬼产生(但是还是有可能产生) 切记!!在走前一定要清掉袭击buff!!可选择在走之前跳下去等待出现袭击胜利

改造前哨站

【施工方】x2048x 【位置】主世界坐标:(-672,344) 有地狱交通连接,有冰道。 【用途】用于获取袭击buff. 【用法】地狱门出来后等待一小会,从活板门测跳下,用弓箭击杀队长再从气泡柱上来。没刷出队长就先上来挂一小会再下去

双核沼泽史莱姆农场

【施工方】Ithil_hiril 由Polaris_Light,LQingNing,EiHei协助搭建平台 【位置】主世界坐标:(74,5695) 有地狱交通连接,有冰道。 【用途】用于获取史莱姆,效率为7.6kph. 【用法】挂机点在y=176处。从地狱门出来后经脚手架向上有个笼子,在笼子里挂机就行。

简易双维度鱼塔

【施工方】x2048x 【位置】主世界坐标:(548,1170) ;地狱坐标:基岩上层(73,145) 有地狱交通连接,尚无冰道、 建议从地狱通道进入!主世界只有挂机点。 【用法】从地狱门出来后沿脚手架爬下,即可进入挂机位置。收集在地狱。

刷沙机1&末地门2

【施工方】Synopt 【位置】沙漠定居点附近,有大箭头指示。 【用法】先用床设置重生点(但是暂时没有床)。点击中央音符盒开始刷沙,跳入末地门获取沙子后迅速使用指令回到床边,点击中央音符盒结束刷沙。

气泡柱迁移式袭击塔

【施工方】Cauchy,由Polaris_Light调试各类参数(Polaris_Light:我讨厌purpur) 【位置】主世界坐标:(410,954) 有地狱交通连接(使用旧袭击塔通道),有冰道 【用法】使用前先检查机器内是否有小队长(大概率无),如果有可直接使用;如果无,则需要关闭拉杆(红石灯不亮),前往改造前哨站获取不祥之兆BUFF。 到袭击塔后会出发袭击,等号角声响起或袭击进度条减少后,拉下西北角拉杆。等待袭击进度条消失。(如果出现袭击失败则需要清理机器内的刌民后重复以上流程,袭击失败概率很小,但如果你是非酋,还是有可能袭击失败的。蹲在拉杆下方等待能有效减少袭击失败概率。) 走到修脚平台走上楼梯,关闭活板门蹲着进入,再打开活板门后进入水道,站到堆肥桶内修脚即可,可以用活板门辅助进入堆肥桶内。 必须使用附魔有锋利V横扫之刃III抢夺III经验修补的钻石剑或下界合金剑攻击,穿全套保护IV的钻石装备或下界合金装备,攻击频率有待确认。 离开时直接关闭开关,从地狱门离开即可,不用管剩下的怪物。

+ + + + \ No newline at end of file diff --git a/guide/index.html b/guide/index.html new file mode 100644 index 00000000..bfeeddfe --- /dev/null +++ b/guide/index.html @@ -0,0 +1,25 @@ + + + + + + 新人指南 | FDCraft + + + + + + + + + + + + + + +
Skip to content

新人指南

欢迎来到 FDCraft|复读世界𒆙!

FDCraft 是一系列的多人联机服务器,主要面向复旦大学的学生。

骨干招募

以下部门正在寻找协作者:

  1. 建筑宣传部:PPF复原、建筑创作 / 官网文档编辑、公众号运营、视频制作
  2. 运维编程部:各种人……
  3. 活动组织部:FDP组织

有意了解或加入者,请与群内管理员联系。

取得联系

请加入我们的 QQ 交流群与 KOOK 频道。

QQ 群:1037308494

KOOK:基岩社的冒险家们

其他的相关群聊:

基岩社的苦力怕们:552463299,像素复旦计划PPF建设群

FDC的冒险家:389548214,群内消息和服内消息的互通群,也是专门用于FDC建设交流的场所

如果你有意向加入社团,请通过微信公众号“复旦大学学生社团”访问社团系统,搜索“基岩社”加入社团后联系管理员进入社团群聊。

进入服务器

  1. 仔细阅读复读公约
  2. 查看你的硬件是否符合 Minecraft 官网写的最低要求,一般都符合。
  3. 参考入服教程来进入服务器。如果您使用Xbox One / Nintendo Switch / PlayStation 4等主机,请参考 https://github.com/Pugmatt/BedrockConnect 来进行配置。

恭喜你!至此,你已经成功进入服务器了。接下来,请参考"第一天"中的内容快速了解本服务器的基本情况。

+ + + + \ No newline at end of file diff --git a/guide/learnspace.html b/guide/learnspace.html new file mode 100644 index 00000000..d41042df --- /dev/null +++ b/guide/learnspace.html @@ -0,0 +1,25 @@ + + + + + + 教程搬运 | FDCraft + + + + + + + + + + + + + + +
Skip to content

教程搬运

本页提供各类技术的教程搬运,欢迎投稿

Minecraft基础

Minecraft基础

红石基础

生电

建筑

建筑学理论

建筑风格

建筑工具

TwkBezierTemplate贝塞尔曲线放样插件教程

一言以蔽之,这个一个用于生成贝塞尔曲线并根据模板生成曲线的插件。

这个插件在FDCC与PPF上有部署。

https://space.bilibili.com/21192142/channel/collectiondetail?sid=1322985

服务器运维

核心(Server Core)

服务端架设 & MUA相关技术文档

https://docs.mualliance.cn/zh/dev

崩溃报告

PL崩溃报告宝典

/guide/tutorial/crashreport/

网络

内网穿透 - frp

反向代理 - Nginx

插件开发

InsidePlugins 补订《插件开发日记》

https://plugindiary.pvpin.org/

新媒体技术

视频录制 - ReplayMod

3D 制作 - Blender

其他

+ + + + \ No newline at end of file diff --git a/guide/newbie.html b/guide/newbie.html new file mode 100644 index 00000000..8653263b --- /dev/null +++ b/guide/newbie.html @@ -0,0 +1,25 @@ + + + + + + 第一天 | FDCraft + + + + + + + + + + + + + + +
Skip to content

第一天

本节将带领你游览 FDCraft|复读世界𒆙的主要区域。游览后,你将对本服务器的大致情况有一个整体把握。

你可以选择跟随下方的指南,取用公共物资来进行建设;你也可以选择不看下面的指南,自己生存:一切都取决于你自己。

未来的旅程充满未知与惊喜,开始新的旅程吧,大冒险家!

世界树与新的旅程

世界树上的小亭子

欢迎来到 FDCraft|复读世界𒆙!进入服务器,出现在视线中的是一个红色的鸟居,以及其背后的巨大的樱花树(至少看起来像樱花树)。这棵树被称为世界树,它从神秘的末地生长而出,承载着这个世界的秘密。正因此,你正处于的这个世界,FDCraft 的大厅,被命名为“世界树之渊”。

TIP

请走过鸟居,沿着围绕树干的小路向上走,参观世界树顶端的小亭子。

世界树上的小亭子

站在小亭子上俯瞰这个地图,你会发现围绕着世界树有三个建筑。

北侧的是【祈愿中心:子虚亭】。二周目时可以在这里投币祈愿获得物品;三周目这里暂时没有被使用,等待着某天再次散发光辉。

东侧的是【平行世界传送中心】。这里是服务器的传送中心。

南侧的是一座建立于很久以前的神社,供奉着未知的神明。

神社

TIP

请前往【平行世界传送中心】,了解各个传送门通向的世界。

参观了【平行世界传送中心】,接下来请通过传送门前往FDC。

TIP

点击左侧聊天栏的 [FDC] 按钮,或者输入/server fdc,也可以进入主服务器。

请你试试点击相关链接下面的按钮,看看会显示什么。

motd

出生点

进入FDC,出现在你眼前的应该是南面的复旦大学的校徽。

学会查看【旦星一号】是很重要的技能,你能从中迅速找到某个建筑的位置。

出生点

出生点附近的箱子和潜影盒装有一些物资。你可以从中获取一些类似镐子食物之类的起始物资。

有时候,中间的箱子里面会一些鞘翅。鞘翅的数量比较有限,且难以再生。如果你只是来服务器参观,请不要取用鞘翅,善用/tpa传送。潜影盒中可能会有用于飞行的3级烟花火箭。

TIP

现在鞘翅可以通过在末地挖末地石爆宝箱来获取,但是爆率有限。

出生点小镇

在出生点东侧,就是出生点小镇。

在服务器的早期,几个玩家在出生点安家,建立了出生点小镇。

出生点小镇

复读地铁一号线

在出生点北面,能看到一个巨大的入口。这是复读地铁1号线的出生点站。

TIP

请进入地铁口。乘坐地铁前往下一站——工业区北站。

注:大部分站点配备了半自动发车装置。若没有矿车,请自行想办法(自己挖矿合成/找人白嫖/...)

提示:复读地铁遵从靠右行驶的交通规则,逆行会遭到截停。为防止与他人发生碰撞等交通事故,请务必遵守此规定!

如果你知道下界交通如何使用的话,也可以通过下界交通游览。可以在旦星一号的下界地图中查看线路。

工业区

乘坐复读地铁1号线,你到达的第一站是工业区北站。

TIP

尝试着使用工业区北站的无障碍电梯上行吧!

工业区北站的南面是工业区。工业区是FDCraft最活跃的地方之一,聚集了大量的生电机器获取物资。

工业区

FDCraft 是一个和谐互助的服务器。冒险家们经常建造一些有趣而高效的功能性建筑。大家会把自己建造的公共功能性建筑记录在【复读百科】【旦星一号】中。

TIP

工业区北站附近还有很多有趣的建筑,在周边逛一逛看看都有哪些建筑吧!

村庄

回到地铁站,乘坐复读地铁1号线前往下一站——村庄站。

村庄

村庄是FDC的第一个大型聚集地,主要放置了一些与农业相关的机器,大量玩家在此定居。

TIP

查看【旦星一号】看看哪些玩家居住在村庄!

位于西面的是开荒仓库,这是FDC的第一个仓库,经过了多次改建后变成了现在的中世纪建筑。如今这里已经不再存放物品,供奉着神秘的神明。

开荒仓库

雪原区

输入/warp snowy,就能能来到远东的雪原区。

不乘坐复读地铁1号线是因为沙堡-雪原区暂未开通。下界交通可以到达雪原。

开拓者协会

雪原区主要是一些与雪有关的建筑,建筑之间相隔都比较远。你可以在【旦星一号】中看到这些建筑的位置。

住宅区

现在输入/warp residential,就能直接来到住宅区的下界传送门广场。住宅区是一片广阔的区域,非常多的玩家在此建造自己的别墅与观赏建筑。

开荒仓库

TIP

在住宅区转一下,看看这里都有哪些建筑!

从下界传送门广场向东拾级而下,沿路向东走到底,能看到一座神殿。神殿内供奉着一位神秘的神明,他庇护着服务器的玩家,使玩家的机器与建筑不会被苦力怕或凋零所破坏。

神秘神明

从神殿的中央水柱向下,就来到了物品仓库。物品仓库储存了几乎所有种类的物品,也可以进行简单的物品分类。在这里可以取用建筑所需的材料。

全无品

地面上右侧的大箱子为输入,左侧为未分类物品输出,不能分类不可堆叠物品。由于运行需要,取用物品时需要留下一个物品或者使用占位玻璃。

TIP

如果住宅区的材料不够用,你需要前往相应的机器来获取(如圆石),或者自行挖取(如珊瑚块)。有些特殊物品则需要通过在特定群系挖矿爆宝箱要获取(如隐形展示框,Indestructia鞘翅)。

第一个庇护所

从神殿的中央水柱向上离开神殿,能看到复读公寓。

【复读公寓】是高耸入云的反牛顿建筑。所有玩家都可以在此处免费领取一间住房,作为自己的初始小屋。

领取流程

你需要准备:告示牌x1

  1. 前往复读公寓。
  2. 从公寓大厅开始,一层一层上楼,找到第一个没有被认领的楼层。
  3. 在门旁贴上门牌(格式与位置参见其他已被领取的楼层)
  4. 站在认领的复读公寓初始小屋内,使用/sethome指令设置家。离开家后,可以使用/home指令回家。
  5. 前往复读百科更新你的住宅信息!

使用说明

  1. 可以在房间内进行任意内饰装饰,但不能修改外部墙体。
  2. 禁止破坏地板,天花板可以破坏至多一格深。
  3. 阳台的四格草方块可以种植植物,也可以破坏。

需要注意的是,使用指令设置的家与床设置的个人出生点无关。可以使用/home bed回到床。

了解更多服务器的指令,请参阅指令帮助

当然你也可以选择那些已经装修好的建筑入住,或者建造属于自己的建筑。

开始新旅程

至此,“第一天”的指引就结束了。你可以继续浏览本网站以了解更多,也可以在遇到问题时通过本网站查询资料。当然,在群里与朋友们进行交流可能是解决问题的最快方法。

未来的旅程充满未知与惊喜,开始新的旅程吧,大冒险家!

+ + + + \ No newline at end of file diff --git a/guide/newbie_old.html b/guide/newbie_old.html new file mode 100644 index 00000000..f8bbc680 --- /dev/null +++ b/guide/newbie_old.html @@ -0,0 +1,25 @@ + + + + + + 第一天 | FDCraft + + + + + + + + + + + + + + +
Skip to content

第一天

本节将带领你游览 FDCraft|复读世界𒆙的主要区域。游览后,你将对本服务器的大致情况有一个整体把握。

世界树与新的旅程

欢迎来到 FDCraft|复读世界𒆙。进入服务器,出现在视线中的是一个红色的鸟居,以及其背后的巨大的樱花树(至少看起来像樱花树)。这棵树被称为世界树,它从神秘的末地生长而出,承载着这个世界的秘密。正因此,你正处于的这个世界,FDCraft 的大厅,被命名为“世界树之渊”。

鸟居与世界树

【任务1】

请走过鸟居,沿着围绕树干的小路向上走,参观世界树顶端的小亭子

世界树上的小亭子

站在小亭子上俯瞰这个地图,你会发现围绕着世界树有三个建筑。北侧的是【祈愿中心:子虚亭】,东侧的是【平行世界传送中心】,南侧的是一座建立于很久以前的神社,供奉着未知的神明。

【任务2】

请前往【平行世界传送中心】,了解各个传送门通向的世界

参观了【平行世界传送中心】,接下来请通过传送门前往【生存世界:复读大陆】。

通往【生存世界:复读大陆】的传送门

神樱与复读大陆

来到【生存世界:复读大陆】,你所在的地区被称为【日月港】,这里是复读大陆的主城。出门后右转直行,这个圆形的广场是日月港的中心广场——复读广场。复读广场下方有一个地铁站,是复读地铁1号线的复读广场站。

复读广场鸟瞰

【任务3】

请进入复读广场东南侧的地铁口。乘坐地铁前往下一站——复读明珠站。到站后,请出站游览【光华原】。

注:若没有矿车,请自行想办法(自己挖矿合成/找人白嫖/...)

提示:复读地铁遵从靠右行驶的交通规则。为防止与他人发生碰撞等交通事故,请务必遵守此规定!

复读地铁1号线复读广场站神樱方向

复读明珠是【光华原】的地标性建筑。光华原被规划为新的居民区,是被森林围绕的一个草原,地势开阔,易于寻找。或许你可以物色一处将来修房子的好地方。

复读明珠

【任务4】

请回到复读明珠地铁站,乘坐开往神樱方向的复读地铁1号线前往下一站——复读神社站。到站后,请拜访复读神社。

复读神社

复读神社位于【金牛村】。金牛村主要由 2021 年入学的新生共同建立。夜晚时分,金牛村上空漂浮着的点点烛光显得格外浪漫。

金牛村夜景

【任务5】

请回到复读神社地铁站,乘坐开往神樱方向的复读地铁1号线前往终点站——神樱站。到站后,请出站观赏神樱。

神樱

神樱是世界树的枝条在复读大陆绽放的结果。神樱位于【神樱町】,这里是复读大陆的旧主城。神樱町有许多以前的大家留下的痕迹,如“前平行世界传送中心遗址”、“群主的大坑”等等。许多玩家的房屋也建立于此处。但由于主城已换,我们不建议新玩家在神樱町继续发展。而是希望大家前往日月港或光华原进一步开荒。

【任务6】

请回到神樱地铁站,乘坐开往复读广场方向的复读地铁1号线前往终点站——复读广场站。出站后,请找到一栋高耸入云的建筑。

复读公寓1号楼

我的第一个庇护所

【复读公寓】)是高耸入云的反牛顿建筑。所有玩家都可以在此处免费领取一间住房,作为自己的初始小屋。

【任务7】

请根据复读公寓领取流程领取你的初始小屋。

这里就是你的第一个家了,请好好装扮它吧!

【任务8】

站在认领的复读公寓初始小屋内,使用/sethome指令设置家。离开家后,使用/home指令回家。

了解更多服务器的指令,请参[指令帮助

需要注意的是,使用指令设置的家与床设置的个人出生点无关。

【任务9】

自由探索世界,收集材料制作一些基本家具,摆放在家中。

这是什么厉害的东西?

FDCraft 是一个和谐互助的服务器。冒险家们经常建造一些有趣而高效的功能性建筑。大家会把自己建造的公共功能性建筑记录在【复读百科】中。

【任务10】

参考复读百科,任意拜访一个公共功能性建筑并试用。

今天运势如何

每次进入服务器,你都会收到一条运势信息。运势可能是不同等级的凶或者吉,当然,仅作参考。如果你想真正试试自己的运气,不妨通过传送门回到【大厅:世界树之渊】,前往世界树北侧的【祈愿中心:子虚亭】进行祈愿。

【任务11】

使用指令/kit newbie领取新人礼包。使用新人礼包中的钻石与远古残骸在【祈愿中心:子虚亭】进行祈愿。

【祈愿中心:子虚亭】

开始新旅程

至此,“第一天”的指引就结束了。你可以继续浏览本网站以了解更多,也可以在遇到问题时通过本网站查询资料。当然,在群里与朋友们进行交流可能是解决问题的最快方法。

未来的旅程充满未知与惊喜,开始新的旅程吧,大冒险家!

+ + + + \ No newline at end of file diff --git a/guide/rules.html b/guide/rules.html new file mode 100644 index 00000000..29d1a022 --- /dev/null +++ b/guide/rules.html @@ -0,0 +1,25 @@ + + + + + + 复读公约 | FDCraft + + + + + + + + + + + + + + +
Skip to content

复读公约

以下关键词 MUST、MUST NOT、REQUIRED、SHALL、SHALL NOT、SHOULD、SHOULD NOT、 RECOMMENDED、MAY、OPTIONAL 依照 RFC 2119 的叙述解读。

以下关键词 MUST (BUT WE KNOW YOU WON'T)、SHOULD CONSIDER、REALLY SHOULD NOT、OUGHT TO、WOULD PROBABLY、MAY WISH TO、COULD、POSSIBLE、MIGHT依照 RFC 6919 的叙述解读。

总则

  1. 本公约由基岩社工具人团队编写。

  2. 任何玩家一旦进入FDCraft,则视为同意本公约。如不认可,请立即退出服务器,并在Minecraft多人游戏列表中删除本服务器的记录。

  3. 若不遵守本公约,基岩社工具人团队有权对该玩家的账号进行不同程度的封禁,包括但不限于禁止进入FDCraft下游服务器、禁止进入FDCraft所有服务器、封禁用户中心账号、联合黑名单封禁。

  4. 任何玩家有权要求基岩社工具人团队清除其在FDCraft、用户中心等服务器上的相关数据,包括但不限于账号、玩家数据、建筑。

  5. FDCraft不适用任何现实中的社会管理或资源配置理论与概念,包括但不限于农奴制、资本主义、社会主义、共产主义。

  6. FDCraft不喜欢规矩与约束。因此,复读公约会以高度审慎的态度进行制定。一切不必要的约定都不应该被写入本公约。

  7. 复读公约不追求成体系的、事无巨细的规范。我们相信我们的同学都是友善的。我们永远以善意对待,并以善意揣测我们的朋友们,为他们送上我们的包容。因此,我们仅基于可能遇到的问题进行一事一议式的约定。

  8. 任何人均可以批注、交流群内公开提出、私聊工具人等形式对本公约提出建议。所有的观点将会被公平地对待,并在理性的批判后被评价为合适与否。

关于服务器属性

  1. 虽然FDCraft在服务器形态上与生电服务器相似,FDCraft不是生电服。FDCraft 是面向复旦大学 Minecraft 爱好者的系列多人联机服务器
  2. FDCraft在规则上与生电服务器完全不同,可将Aircraft的专栏「生电服」的规则 一节与复读公约进行比对。FDCraft不喜欢规矩与约束,任何不破坏他人游戏体验的行为都是被允许的。

关于群名片的约定

  1. 为保障玩家的利益,构建起沟通的桥梁,所有玩家 必须 在群名片中注明自己在FDCraft中的名称。

  2. 为促进交流,增进友谊,我们 建议 大家采用ID-年级专业-真实姓名的格式编辑自己的群名片。

关于服务器公共资源与私有资源的约定

  1. 私人容器包括个人住宅内容器未完成工程处容器明显告示为私人所有的容器无标识的既不处于私人空间也不处于公共设施处的容器。私人容器的所有者为容器所在建筑的所有者/建造者。
  2. 不符合私人容器定义的容器均属于公共容器,但属于功能性建筑的一部分、机器运行时不可或缺的特殊容器除外,包括但不限于 所有物品展示框与盔甲架、有特殊功能的漏斗/投掷器/木桶 等。
  3. 若对于建筑的属性与所有者有异议,以复读百科、旦星一号、建筑现场告示牌或基岩社工具人的判断为准。
  4. 私人容器内物品 必须 在征得所有者同意后方可取用。若物品有缺失所有者有权在群内询问或联系运维查询。所有私人物品/需要自己使用的物品均 应该 放到私人容器中。
  5. 公共容器内物品 可以 随意取用。任何玩家无权追查公共容器内物品去向及用途,取用者同样可对上述询问保持沉默。将物品放置于公共容器内意味着放弃对该物品的所有权,其将转变为公共物品,可供任何人无条件取用
  6. 滥用公共资源等情况,可向基岩社工具人团体申请仲裁。
  7. 在有明确声明(如在复读百科中注明)的情况下,以声明内容为准,不适用上述各条(如在复读百科公共设施处注明每天只允许以私人目的获取该机器生产的一半产品之类的声明)。

关于生电用地冲突的约定

功能性建筑与观赏性建筑

  1. 功能性建筑即传统意义上的“生电机器”,包括但不限于利用游戏机制生产物品、提供刷怪场地的建筑。

  2. 其他一切建筑均属于观赏性建筑,包括但不限于私家住宅、公共景观。

  3. 如遇冲突,则视为观赏性建筑,例如一个美丽的刷石机。

  4. 如果你的未完成的工地可能被误判为生电机器,则请在醒目的地方标注其不是功能性建筑。或者,你 可以 在沟通中与其他人明确这一点。并且,请相信工具人团队的判断。

冲突处理流程

  1. 乙方的生电用地需求与甲方未完成的(特指基本功能未实现,不包括装饰、改进等流程未完成)生电机器发生冲突时,应当与甲方积极沟通。

  2. 若甲方明确反对,则乙方不得强制征用甲方的用地。

  3. 若甲方在一定时间内没有回应,乙方 可以 向基岩社工具人团体提交拆除申请。拆除申请提交经工具人团队审核通过后的7天内,若甲方没有明确反对,则乙方 可以 在服务器运维人员的协助下,备份甲方的机器,并在原址处拆除。

修订说明

2023.6.25

  • 由于有玩家对于FDCraft的性质提出了疑问,增加 “服务器属性” 一节。

2023.11.10

  • 对公约进行规范语意化。
  • “总则”一节中,增加 社团权力与玩家权力 条目。
  • “服务器属性”一节中,增加 “FDCraft不喜欢规矩与约束,任何不破坏他人游戏体验的行为都是被允许的” 条目。
  • 由于最近各校均出现了有玩家随意取用物品展示框内物品、取用分类器内物品的现象,”关于服务器公共资源与私有资源的约定“一节中,明确 “属于功能性建筑的一部分、机器运行时不可或缺的容器” 不属于公共容器。
+ + + + \ No newline at end of file diff --git a/guide/softversion.html b/guide/softversion.html new file mode 100644 index 00000000..8e4d0fa6 --- /dev/null +++ b/guide/softversion.html @@ -0,0 +1,25 @@ + + + + + + 软件版本 | FDCraft + + + + + + + + + + + + + + +
Skip to content

软件版本

注:本界面已经年久失修,且不会再更新!

名称当前版本获取备注
Linux Kernel5.16.0-1el8.elrepo
Java17.0.1上海交通大学致远镜像
Python3.11.7上海交通大学致远镜像
MCDReforged2.8.2上海交通大学致远镜像
Leaves频繁变更https://github.com/LeavesMC/Leaves
Authlib Injector1.2.2https://authlib-injector.yushi.moe/
Boom2.0.10https://www.mcbbs.net/thread-1150139-1-1.html
Core Protect21.3https://www.mcbbs.net/thread-72515-1-1.html
Dynmap3.5-beta3https://www.spigotmc.org/resources/dynmap.274/
EssentialsX频繁变更https://essentialsx.net/downloads.html
EssentialsX Spawn频繁变更https://essentialsx.net/downloads.html
EssentialsX Chat频繁变更https://essentialsx.net/downloads.html
Farther View Distance9.5.1https://www.spigotmc.org/resources/fartherviewdistance.84950/
LuckPerms Bukkit5.4.30https://www.mcbbs.net/thread-676818-1-1.html https://pluginscdtribe.github.io/wiki/luckperms https://ci.lucko.me/job/LuckPerms/
Placeholder API2.11.1https://www.spigotmc.org/resources/placeholderapi.6245/
Protocol Lib4.8.0https://www.spigotmc.org/resources/protocollib.1997/
Vault1.7.3-b131https://www.spigotmc.org/resources/vault.34315/
VoidGen2.2.1https://www.spigotmc.org/resources/voidgen.25391/
World Edit7.2.10https://dev.bukkit.org/projects/worldedit
+ + + + \ No newline at end of file diff --git a/guide/sps.html b/guide/sps.html new file mode 100644 index 00000000..e68b0e32 --- /dev/null +++ b/guide/sps.html @@ -0,0 +1,25 @@ + + + + + + 旦星 SPS | FDCraft + + + + + + + + + + + + + + +
Skip to content

旦星 SPS

旦星是 FDCraft 的全服定位系统(Server-wide Positioning System, SPS)。

旦星一号

旦星一号:http://mc.fdc.jingyijun.xyz:20410/ 是基于 Dynmap 构建的卫星地图与定位系统。

在经历了数月的停摆后,旦星一号重新上线,并标记了绝大部分的机器与建筑的标记点。

尽管搭建了地-空无线电功能,但是更建议通过花fufu转发的方式来进行通信。

标记点

警告!

在你没有完全理解这里所说的指令时,请不要尝试修改旦星一号的标记点!

旦星一号使用Dynmap自带的/dmarker 指令来在其上进行标记。但是为了更易维护,其参数的填写有一个比较复杂的规则。

标记点添加

/dmarker add id:<id> label:<label> icon:<icon> set:<set-id>

你可以使用/dmarker list set:<set-id> 指令查看现有的参数,来更好地理解下面的规则。理论上不需要这些参数也可以添加标记点,但是其结果是自动随机分配参数而不是留空。

参数说明:

label:这个标记点在旦星一号上的名称。

set:分组,在旦星一号上将会出现在哪个组中。

icon:这个标记点在旦星一号上的图标,与set-id对应。

分组set-idicon
生电机器machinesilverstar
观赏性建筑spectaclebighouse
私宅housegoldstar
传送门portalportal

id:标记的唯一标识符。其命名规则与该建筑的属性与位置相对应,从上往下依次匹配。

分组id与规则,?代表序号
无论在哪的私宅house?,多个私宅为house_?_?,仅用于house set
主世界-工业区industry_?
主世界-村庄village_?
主世界-沙漠聚居点desert_?
主世界-住宅区residential_?
下界nether_?,双维度机器相应的下界端id为individual_0?
下界传送门portal_?,仅用于portal set
末地end_?
主世界-非集群的机器individual_?,双维度机器相应的下界端id为individual_0?
主世界-非集群的建筑individual_building_?

标记点删除

/dmarker delete id:<id> set:<set-id>

从这里可以看出,如果没有命名规则,进行管理将会十分痛苦(

标记点更新

/dmarker update <label> set:<set-id> icon:<newicon> newlabel:<newlabel> newset:<newset-id>

或者 /dmarker update id:<id> set:<set-id> icon:<newicon> newlabel:<newlabel> newset:<newset-id>

此处id/label与set是必填的,后面的参数不想要更新的不填写即可。

注意id是无法被更新的,只能删除后重新创建。

全部指令集

命令描述
/dmarker add <label> icon:<icon> set:<set-id>在玩家的当前位置添加一个指定标签的记号(可选:图标、记号集)
/dmarker add id:<id> <label> icon:<icon> set:<set-id>在玩家的当前位置添加一个指定 ID 和标签的记号(可选:图标、记号集)
/dmarker add id:<id> <label> icon:<icon> set:<set-id> x:<x-coord> y:<y-coord> z:<z-coord> world:<Worldname>在指定的坐标添加一个指定 ID 和标签的记号(可选:图标、记号集)
/dmarker movehere <label>将第一个匹配指定标签的记号移动至玩家的当前位置
/dmarker movehere id:<id>将第一个匹配指定 ID 的记号移动至玩家的当前位置
/dmarker update <label> icon:<newicon> newlabel:<newlabel>更新第一个匹配指定标签的记号的图标或标签
/dmarker update id:<id> icon:<newicon> newlabel:<newlabel>更新第一个匹配指定 ID 的记号的图标或标签
/dmarker delete <label>删除第一个匹配指定标签的记号
/dmarker delete id:<id> set:<set-id>删除第一个匹配指定 ID 的记号(可选:记号集)
/dmarker list列出默认记号集中定义的所有记号的详细信息
/dmarker list set:<set-id>列出指定记号集中定义的所有记号的详细信息
/dmarker addset <label> hide:<hide-by-def> prio:<priority> minzoom:<minzoom>添加指定标签的新记号集 (自动将标签设为 ID)
/dmarker addset id:<id> <label> hide:<hide-by-def> prio:<priority> minzoom:<minzoom>添加指定标签和 ID 的新记号集
/dmarker updateset <label> newlabel:<new-label> hide:<hide-by-def> prio:<priority> minzoom:<minzoom>更新指定标签的记号集(自动将标签设为 ID)
/dmarker updateset id:<id> newlabel:<new-label> hide:<hide-by-def> prio:<priority> minzoom:<minzoom>更新指定 ID 的记号集
/dmarker deleteset <label>删除指定标签的记号集
/dmarker deleteset id:<id>删除指定 ID 的记号集
/dmarker listsets列出所有的记号
/dmarker icons列出所有可使用的图标的详细信息
/dmarker addicon id:<id> <label> file:"filename"将指定的文件设为指定 ID 和标签的新图标(文件路径相对于 Minecraft 服务端文件夹)。
/dmarker updateicon id:<id> newlabel:<label> file:"filename"更新指定 ID 的图标的标签或文件(文件路径相对于 Minecraft 服务端文件夹)。
/dmarker deleteicon id:<id>删除指定 ID 的图标
/dmarker addcorner将玩家的当前位置作为一个角添加到列表
/dmarker addcorner <x> <y> <z> <world>将指定的坐标作为一个角添加到列表
/dmarker clearcorners清除角列表
/dmarker addarea <label>使用指定的标签和当前的角列表创建并添加新的区域
/dmarker addarea id:<id> <label> set:<set-id>使用指定的 ID、标签和当前的角列表创建新的区域并将其添加到指定的记号集(可选:记号集)
/dmarker deletearea <label> set:<set-id>删除指定标签的区域(可选:记号集)
/dmarker deletearea id:<id> set:<set-id>删除指定 ID 的区域(可选:记号集)
/dmarker listareas set:<set-id>列出所有区域的详细信息(可选:记号集)
/dmarker updatearea <label> set:<set-id> <arg>:<value> ...更新指定标签的区域的属性(可选:记号集)
/dmarker updatearea id:<id> set:<set-id> <arg>:<value> ...更新指定 ID 的区域的属性(可选:记号集)
/dmarker addline <label> set:<set-id>使用当前的角列表和指定的标签创建新的线并添加到指定的记号集(可选:记号集)
/dmarker addline id:<id> <label> set:<set-id>使用当前的角列表和指定的 ID 创建新的线并添加到指定的记号集(可选:记号集)
/dmarker deleteline <label> set:<set-id>删除指定标签的线(可选:记号集)
/dmarker deleteline id:<id> set:<set-id>删除指定 ID 的线(可选:记号集)
/dmarker listlines set:<set-id>列出所有线的详细信息(可选:记号集)
/dmarker updateline <label> set:<set-id> <arg>:<value> ...更新指定标签的线的属性(可选:记号集)
/dmarker updateline id:<id> set:<set-id> <arg>:<value> ...更新指定 ID 的线的属性(可选:记号集)
+ + + + \ No newline at end of file diff --git a/guide/tutorial/basic.html b/guide/tutorial/basic.html new file mode 100644 index 00000000..448356a2 --- /dev/null +++ b/guide/tutorial/basic.html @@ -0,0 +1,25 @@ + + + + + + 【真·纯萌新指南】Minecraft 基本操作 | FDCraft + + + + + + + + + + + + + + +
Skip to content

【真·纯萌新指南】Minecraft 基本操作

本文主要内容

  1. Minecraft Java 版的基本结构
  2. 如何安装模组/材质包/光影/数据包
  3. 对一些常用的基础辅助模组的介绍

对于首次入坑 Minecraft Java Edition 的同学来说,没有像网易版那样的一键安装 模组/材质包 的功能确实是个比较难适应的操作,本文旨在帮助纯小白快速入坑 Java 版 MC。

观前提示:为了增进对游戏的整体理解,以免产生不必要的麻烦,建议通读全文而非直接跳到 如何安装模组/材质包/光影/数据包 部分。

Minecraft JE 的基本结构

Minecraft JE 由 账号-游戏本体-启动器 三个部分组成

  • 账号

    Minecraft账号可以理解成玩家在游戏内显示的名称,主要有 正版账号/离线账户/外置登陆 三种相互独立的形式。

    注:目前 FDCraft 用的是外置登陆模式,所以无需购买正版账号

    • 正版账号
      • 玩家在 Minecraft官网 通过 Microsoft 账号购买游戏后,你的 Microsoft 账号/密码即为你的 Minecraft 正版账号/密码,通过这个账号,你可以登陆像 Hypixel 这样的正版服务器,并且在 Minecraft官网 更换皮肤/游戏昵称等。
    • 离线账户
      • 即所谓的“盗版”,一般只需要输入你所希望显示的游戏内昵称即可。通过离线账户可以无需付钱即可游玩 Minecraft。其优点是单机游玩体验和正版并无二致,但是缺点是只能加入一些无正版验证(即只有正版玩家才能进入的)的服务器游玩。
    • 外置登陆
      • 外置登陆需要使用一个第三方的认证服务器。认证服务器是一个用以代替 Microsoft 服务器的账号系统(即正版账号的认证服务器是 Microsoft 服务器),从而让特定群体的玩家能够登陆某个服务器。FDCraft 的“用户中心/皮肤站账号”就是和正版账号相互独立的外置登陆账号,使用 fudan.edu.cnm.fudan.edu.cn 结尾的邮箱在 用户中心 注册后,可以快捷的更换皮肤等。
  • 游戏本体

    • 游戏的所有本体文件均位于 .minecraft 的文件夹内(在狗都不用的官方启动器的游戏目录内,该文件夹是默认隐藏的,我们不建议使用官方启动器),内含游戏的各种资源如:源文件、存档、资源包etc. 在 HMCL 启动器中,该文件夹又称为游戏目录,可以自行设置目录名称。【注:本文为了方便起见,均使用 .minecraft 文件夹来代指该目录文件夹,实际情况下可以根据你的用途自行更改】
    • 主要文件夹
    • mods:存放模组文件
    • resourcepacks:存放资源包/材质包文件
    • saves:存放存档文件(每个地图都是saves下的一个子文件夹)
    • shaderpacks:存放光影文件
    • screenshots:存放按下 F2 后产生的的游戏内画面截图
  • 启动器

    启动器可以看做是一个连接了账号和游戏本体文件的多功能平台,主要分为官方启动器和第三方启动器。

    • 官方启动器
      • 仅包含最基本功能的启动器,仅能够实现正版登陆、下载各个游戏版本、更换正版皮肤、启动 Minecraft 衍生的其他游戏(如基岩版/地下城/Legends),但是由于国内的下载以及更新速度极慢,无版本隔离,也没有 .minecraft 文件夹的快捷打开入口,所以基本没人愿意去用,在此便不予以赘述。
    • 第三方启动器
      • 是由非官方人员编写、能够在官方启动器的基本功能的基础上,实现更多实用功能(如版本隔离,即不同版本的游戏使用不同的目录文件夹以防止mod冲突)的启动器。
      • 主流的第三方启动器有 HMCLPCL2MultiMC,其中前两者在国内的用户数较多,且支持外置登陆,界面也更加美观简洁。

模组/材质包/数据包介绍以及安装

  • 模组

    模组安装在 .minecraft/mods 文件夹内,直接将下载好的 模组名.jar 文件拖入该文件夹下即可,然后在启动器内刷新,就可以看到被成功安装的模组。多数第三方启动器都具有开关模组的勾选功能,其实质其实只是把 模组名.jar 改成了 模组名.disabled

    • 模组加载器:即大家常说的的 Fabric 和 Forge 这两个,它们的作用是提供一些原版所没有的额外功能接口,可以理解为一般的模组都会指定这两者的其中之一作为前置。一般来说,大型模组整合包多数使用 Forge,1.14+的辅助性模组用的多为更加简洁的 Fabric。不过请记住,Forge 和 Fabric 不可共存,你只能根据实际游玩的需要选择一个。
    • 多数第三方启动器都提供了在安装游戏的同时,一键安装 Fabric 或者 Forge 的功能。
    • 下载模组的常用网站有国外的 Curseforge 和国内的 MCMod百科,可根据实际需要进行选择。

    请注意:Fabric 和 Fabric API 是两个东西,有些 Fabric 模组在安装了 Fabric 后还需要在 mods 文件夹中安装 Fabric API,这个信息一般会写在模组介绍的前几行,请注意查看。建议安装 Fabric 的同时直接一并安装 Fabric API,以免后续安装模组时产生不必要的麻烦。

  • 材质包
    • 材质包直接存放于 .minecraft/resorcepacks 下,不解压也可以正常使用。在网上下载后直接拖入该文件夹,进入 游戏-视频设置-资源包 界面即可开关材质包。
    • 上文提到的 Curseforge 同样有材质包的分区,其他网站如 Planetminecraft 也是很好的 Minecraft 资源网站。
  • 数据包
    • 数据包是 Minecraft 1.16 新加入的功能,为玩家进一步定制其 Minecraft 体验提供了一种新方式。数据包可用于覆盖或添加新的进度、维度、函数、战利品表、谓词、配方、结构、标签、自定义世界生成和生物群系,而不进行任何代码修改(完全使用原版指令)。
    • 数据包只作用于安装了这个数据包的地图,即每个数据包存放于 .minecraft/saves/地图名称/datapacks 内,和资源包一样,也无需解压便可以正常使用Planetminecraft 上收集的数据包较为全面,是较为主流的数据包来源网站。

高版本常用辅助性模组介绍

为方便起见,以下所有模组链接均为笔者更加熟悉的 Curseforge 链接,但是国内打开速度较慢,有需要请自行搜索其他下载源

  • 【体素地图】 VoxelMap

    • 适用于 Minecraft 版本 1.12 ~ 1.17
    • 一个简洁易用的小地图模组,基本无学习成本,萌新易上手
  • Xaero的地图套装

    • 【小地图】 Xaero's Minimap
    • 【世界地图】 Xaero's Worldmap
    • Minecraft 全版本适用
    • 稍有学习成本的一个进阶小地图模组,具有非常丰富的可自定义项目,在高版本(1.17+)较为流行
  • 【旅行地图】JourneyMap

    • Minecraft 全版本适用
    • 老牌小地图模组,在较低版本整合包中非常常见
  • 【背包整理】Inventory Profile Next

    • 适用于 Minecraft 版本 1.14.4-1.19
    • R键整理背包/容器
    • 工具耐久不够时,自动替换背包中耐久更高的工具
    • 快速移动整个背包/容器的物品
  • 【Masa工具箱】——一系列方便生存的模组

    • 【Masa前置库】Malilib
      • 是下列所有模组共同需要安装的前置模组
    • 【物品滚轮】Item Scroller
      • 按住 shift 和鼠标左键并且拖动鼠标可以快速移动物品
      • 等等非常多的物品相关操作,在游戏内使用快捷键 I+C 进入设置菜单
    • 【Tweakeroo】Tweakeroo
      • 一系列小工具的合集,很实用
      • 具体教程可以自行b站搜索Tweakeroo
+ + + + \ No newline at end of file diff --git a/guide/tutorial/crashreport/Episode1.html b/guide/tutorial/crashreport/Episode1.html new file mode 100644 index 00000000..e44b5224 --- /dev/null +++ b/guide/tutorial/crashreport/Episode1.html @@ -0,0 +1,25 @@ + + + + + + Episode1 崩溃报告和日志在哪里? | FDCraft + + + + + + + + + + + + + + +
Skip to content

Episode1 崩溃报告和日志在哪里?

Troubleshooting any problem without the error log is like driving with your eyes closed.

在没有错误日志的情况下诊断任何问题无异于闭眼开车。

——Apache官方文档

Getting Started - Apache HTTP Server Version 2.5

想要诊断崩溃报告和日志,你首先要找到/获取崩溃报告(crash-XXX.txt)和日志(.log),才能知道究竟报了啥错。正如酒石酸所说:发生崩溃时如果找不到崩溃报告,就说“我崩溃了怎么办”,还不如上街找个算命先生算算为什么崩溃好些。

如果有人只问了问题,或者只把HMCL那个带有黑色粗体字“!!!请不要将本页面【截图】给他人!!!”的界面截图发过来,我建议你将这篇的前言复制下来丢给他(或者下面那张图),再将这篇教程丢给他。

Driving with your eyes closed

当然,必要的时候你也可以打出下面这张图:

?

好,让我们言归正传,崩溃报告和日志究竟在哪里呢?

面向普通玩家

HMCL

游戏崩溃后在崩溃界面点左下角“导出游戏崩溃信息”(不要点“日志”!),然后把导出的压缩包整个发到KOOK/群文件。

HMCL

PCLII

游戏崩溃后在崩溃界面点“导出崩溃报告”,然后把导出的压缩包整个发到KOOK/群文件。

PCLII

如果你是普通玩家,看到这里已经可以照着上面的去做,并关掉这篇教程了。

但是,如果你是一个运维……这还远远不够。

面向运维

解压压缩包

将启动器发送的压缩包解压到某个文件夹中,即可获得崩溃报告和日志。有时候压缩包里面没有崩溃报告,这是正常现象;如果压缩包里面的崩溃报告/日志没有完全导出而有缺少,你需要去直接获取崩溃报告/日志(或者去教那个普通玩家直接获取)。

直接获取

打开MC安装目录(在有版本隔离的情况下为.minecraft/version/{version_name},没有则为./minecraft,服务器为服务端所在目录),找到crash-report文件夹里面那个最新的文件,就是最近一次崩溃的崩溃报告。

在安装目录里找到logs文件夹,里面的latest.log和debug.log就是最近一次启动的日志。而压缩包则是历史日志,其名称表明了其为那天的第几个日志(如2023-06-02-3.log.gz就是2023-6-2的第三个日志。)

注意

有不少情况是不输出崩溃报告的,此时日志就成为了诊断的依据。

警告

作为一个正常的程序,MC每次启动都会打印日志,无论其是否崩溃。

也就是说,找到的崩溃报告与日志有可能是不匹配的。

+ + + + \ No newline at end of file diff --git a/guide/tutorial/crashreport/Episode2.html b/guide/tutorial/crashreport/Episode2.html new file mode 100644 index 00000000..aac0101f --- /dev/null +++ b/guide/tutorial/crashreport/Episode2.html @@ -0,0 +1,138 @@ + + + + + + Episode2 认识崩溃报告 | FDCraft + + + + + + + + + + + + + + +
Skip to content

Episode2 认识崩溃报告

现在,我们找到了崩溃报告和日志,那么应该如何找到报错,进行诊断呢?

没有崩溃报告的日志的诊断相对困难,我们先来讲讲崩溃报告。假定现在我们有一个crash-XXX.txt文件。

注意

有时候MC输出了崩溃报告,但是由于启动器打包出错/玩家只发了日志,你可能没法获取到crash-report文件。

这时候你可以尝试在日志中搜索 ---- Minecraft Crash Report ---- 来找到崩溃报告;当然没有找到也是正常的。

现在,假设我们面前有一份崩溃报告,我们要干的第一件事情应该是拿一个文本编辑器打开它……先等等!或许我们应该先观察文件本身,而不是急冲冲地去打开。

警告

这样做还有另外一个原因:如果摆在你面前的是一份日志,它可能会非常非常大,导致你的文本编辑器卡死。

1

一般来说,如果一个日志超过了3MB,就表明程序出现了循环而不断打印日志。此时应该谨慎下载 / 打开这份日志,而是先进行重复行的处理。

文件名

一个正常的崩溃报告的文件名应该是长下面这样的:

crash-2023-01-02_06.11.37-server.txt

其中2023-01-02_06.11.37是时间戳,而server则表明发生错误的是服务端。类似的,client表明客户端,fml表明Forge Mod Loader。

一般来说,发生错误的地方与其错误类型是相对应的。例如在fml发生的错误往往是Forge损坏 / Mod损坏 / 前置缺失,不可能是渲染问题等。

崩溃报告结构

下面是一个比较典型的崩溃报告:

crash-2023-01-28_17.16.47-fml.txt

我不建议你在这里看
markdown
---- Minecraft Crash Report ----
+// Don't be sad, have a hug! <3
+
+Time: 23-1-28 下午5:16
+Description: Mod loading error has occurred
+
+java.lang.Exception: Mod Loading has failed
+	at net.minecraftforge.fml.CrashReportExtender.dumpModLoadingCrashReport(CrashReportExtender.java:71) ~[forge-1.16.5-36.2.39_mapped_official_1.16.5-recomp.jar:?] {re:classloading}
+	at net.minecraftforge.fml.client.ClientModLoader.completeModLoading(ClientModLoader.java:174) ~[forge-1.16.5-36.2.39_mapped_official_1.16.5-recomp.jar:?] {re:classloading,pl:runtimedistcleaner:A}
+	at net.minecraft.client.Minecraft.lambda$null$1(Minecraft.java:508) ~[forge-1.16.5-36.2.39_mapped_official_1.16.5-recomp.jar:?] {re:classloading,pl:accesstransformer:B,pl:runtimedistcleaner:A}
+	at net.minecraft.util.Util.ifElse(Util.java:320) ~[forge-1.16.5-36.2.39_mapped_official_1.16.5-recomp.jar:?] {re:classloading}
+	at net.minecraft.client.Minecraft.lambda$new$2(Minecraft.java:504) ~[forge-1.16.5-36.2.39_mapped_official_1.16.5-recomp.jar:?] {re:classloading,pl:accesstransformer:B,pl:runtimedistcleaner:A}
+	at net.minecraft.client.gui.ResourceLoadProgressGui.render(ResourceLoadProgressGui.java:113) ~[forge-1.16.5-36.2.39_mapped_official_1.16.5-recomp.jar:?] {re:classloading,pl:runtimedistcleaner:A}
+	at net.minecraft.client.renderer.GameRenderer.render(GameRenderer.java:481) ~[forge-1.16.5-36.2.39_mapped_official_1.16.5-recomp.jar:?] {re:classloading,pl:accesstransformer:B,pl:runtimedistcleaner:A}
+	at net.minecraft.client.Minecraft.runTick(Minecraft.java:977) ~[forge-1.16.5-36.2.39_mapped_official_1.16.5-recomp.jar:?] {re:classloading,pl:accesstransformer:B,pl:runtimedistcleaner:A}
+	at net.minecraft.client.Minecraft.run(Minecraft.java:607) ~[forge-1.16.5-36.2.39_mapped_official_1.16.5-recomp.jar:?] {re:classloading,pl:accesstransformer:B,pl:runtimedistcleaner:A}
+	at net.minecraft.client.main.Main.main(Main.java:184) ~[forge-1.16.5-36.2.39_mapped_official_1.16.5-recomp.jar:?] {re:classloading,pl:runtimedistcleaner:A}
+	at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) ~[?:1.8.0_341] {}
+	at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) ~[?:1.8.0_341] {}
+	at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) ~[?:1.8.0_341] {}
+	at java.lang.reflect.Method.invoke(Method.java:498) ~[?:1.8.0_341] {}
+	at net.minecraftforge.userdev.FMLUserdevClientLaunchProvider.lambda$launchService$0(FMLUserdevClientLaunchProvider.java:38) ~[forge-1.16.5-36.2.39_mapped_official_1.16.5-recomp.jar:?] {}
+	at cpw.mods.modlauncher.LaunchServiceHandlerDecorator.launch(LaunchServiceHandlerDecorator.java:37) [modlauncher-8.1.3.jar:?] {}
+	at cpw.mods.modlauncher.LaunchServiceHandler.launch(LaunchServiceHandler.java:54) [modlauncher-8.1.3.jar:?] {}
+	at cpw.mods.modlauncher.LaunchServiceHandler.launch(LaunchServiceHandler.java:72) [modlauncher-8.1.3.jar:?] {}
+	at cpw.mods.modlauncher.Launcher.run(Launcher.java:82) [modlauncher-8.1.3.jar:?] {}
+	at cpw.mods.modlauncher.Launcher.main(Launcher.java:66) [modlauncher-8.1.3.jar:?] {}
+	at net.minecraftforge.userdev.LaunchTesting.main(LaunchTesting.java:94) [forge-1.16.5-36.2.39_mapped_official_1.16.5-recomp.jar:?] {}
+
+
+A detailed walkthrough of the error, its code path and all known details is as follows:
+---------------------------------------------------------------------------------------
+
+-- Head --
+Thread: Render thread
+Stacktrace:
+	at net.minecraftforge.fml.CrashReportExtender.lambda$dumpModLoadingCrashReport$7(CrashReportExtender.java:74) ~[forge:?] {re:classloading}
+-- NO MOD INFO AVAILABLE --
+Details:
+	Mod File: NO FILE INFO
+	Failure message: The Mod File C:\Users\Roland\Desktop\workspace\ModProject\forge\forge-1.16.5-36.2.39-mdk\out\production\resources has mods that were not found
+	Mod Version: NO MOD INFO AVAILABLE
+	Mod Issue URL: NOT PROVIDED
+	Exception message: MISSING EXCEPTION MESSAGE
+Stacktrace:
+	at net.minecraftforge.fml.CrashReportExtender.lambda$dumpModLoadingCrashReport$7(CrashReportExtender.java:74) ~[forge-1.16.5-36.2.39_mapped_official_1.16.5-recomp.jar:?] {re:classloading}
+	at java.util.ArrayList.forEach(ArrayList.java:1259) ~[?:1.8.0_341] {}
+	at net.minecraftforge.fml.CrashReportExtender.dumpModLoadingCrashReport(CrashReportExtender.java:72) ~[forge-1.16.5-36.2.39_mapped_official_1.16.5-recomp.jar:?] {re:classloading}
+	at net.minecraftforge.fml.client.ClientModLoader.completeModLoading(ClientModLoader.java:174) ~[forge-1.16.5-36.2.39_mapped_official_1.16.5-recomp.jar:?] {re:classloading,pl:runtimedistcleaner:A}
+	at net.minecraft.client.Minecraft.lambda$null$1(Minecraft.java:508) ~[forge-1.16.5-36.2.39_mapped_official_1.16.5-recomp.jar:?] {re:classloading,pl:accesstransformer:B,pl:runtimedistcleaner:A}
+	at net.minecraft.util.Util.ifElse(Util.java:320) ~[forge-1.16.5-36.2.39_mapped_official_1.16.5-recomp.jar:?] {re:classloading}
+	at net.minecraft.client.Minecraft.lambda$new$2(Minecraft.java:504) ~[forge-1.16.5-36.2.39_mapped_official_1.16.5-recomp.jar:?] {re:classloading,pl:accesstransformer:B,pl:runtimedistcleaner:A}
+	at net.minecraft.client.gui.ResourceLoadProgressGui.render(ResourceLoadProgressGui.java:113) ~[forge-1.16.5-36.2.39_mapped_official_1.16.5-recomp.jar:?] {re:classloading,pl:runtimedistcleaner:A}
+	at net.minecraft.client.renderer.GameRenderer.render(GameRenderer.java:481) ~[forge-1.16.5-36.2.39_mapped_official_1.16.5-recomp.jar:?] {re:classloading,pl:accesstransformer:B,pl:runtimedistcleaner:A}
+	at net.minecraft.client.Minecraft.runTick(Minecraft.java:977) ~[forge-1.16.5-36.2.39_mapped_official_1.16.5-recomp.jar:?] {re:classloading,pl:accesstransformer:B,pl:runtimedistcleaner:A}
+	at net.minecraft.client.Minecraft.run(Minecraft.java:607) ~[forge-1.16.5-36.2.39_mapped_official_1.16.5-recomp.jar:?] {re:classloading,pl:accesstransformer:B,pl:runtimedistcleaner:A}
+	at net.minecraft.client.main.Main.main(Main.java:184) ~[forge-1.16.5-36.2.39_mapped_official_1.16.5-recomp.jar:?] {re:classloading,pl:runtimedistcleaner:A}
+	at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) ~[?:1.8.0_341] {}
+	at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) ~[?:1.8.0_341] {}
+	at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) ~[?:1.8.0_341] {}
+	at java.lang.reflect.Method.invoke(Method.java:498) ~[?:1.8.0_341] {}
+	at net.minecraftforge.userdev.FMLUserdevClientLaunchProvider.lambda$launchService$0(FMLUserdevClientLaunchProvider.java:38) ~[forge-1.16.5-36.2.39_mapped_official_1.16.5-recomp.jar:?] {}
+	at cpw.mods.modlauncher.LaunchServiceHandlerDecorator.launch(LaunchServiceHandlerDecorator.java:37) [modlauncher-8.1.3.jar:?] {}
+	at cpw.mods.modlauncher.LaunchServiceHandler.launch(LaunchServiceHandler.java:54) [modlauncher-8.1.3.jar:?] {}
+	at cpw.mods.modlauncher.LaunchServiceHandler.launch(LaunchServiceHandler.java:72) [modlauncher-8.1.3.jar:?] {}
+	at cpw.mods.modlauncher.Launcher.run(Launcher.java:82) [modlauncher-8.1.3.jar:?] {}
+	at cpw.mods.modlauncher.Launcher.main(Launcher.java:66) [modlauncher-8.1.3.jar:?] {}
+	at net.minecraftforge.userdev.LaunchTesting.main(LaunchTesting.java:94) [forge-1.16.5-36.2.39_mapped_official_1.16.5-recomp.jar:?] {}
+
+
+-- System Details --
+Details:
+	Minecraft Version: 1.16.5
+	Minecraft Version ID: 1.16.5
+	Operating System: Windows 10 (amd64) version 10.0
+	Java Version: 1.8.0_341, Oracle Corporation
+	Java VM Version: Java HotSpot(TM) 64-Bit Server VM (mixed mode), Oracle Corporation
+	Memory: 258798592 bytes (246 MB) / 1044381696 bytes (996 MB) up to 1875378176 bytes (1788 MB)
+	CPUs: 6
+	JVM Flags: 2 total; -XX:+IgnoreUnrecognizedVMOptions -XX:HeapDumpPath=MojangTricksIntelDriversForPerformance_javaw.exe_minecraft.exe.heapdump
+	ModLauncher: 8.1.3+8.1.3+main-8.1.x.c94d18ec
+	ModLauncher launch target: fmluserdevclient
+	ModLauncher naming: mcp
+	ModLauncher services: 
+		/mixin-0.8.4.jar mixin PLUGINSERVICE 
+		/eventbus-4.0.0.jar eventbus PLUGINSERVICE 
+		/forge-1.16.5-36.2.39_mapped_official_1.16.5-launcher.jar object_holder_definalize PLUGINSERVICE 
+		/forge-1.16.5-36.2.39_mapped_official_1.16.5-launcher.jar runtime_enum_extender PLUGINSERVICE 
+		/accesstransformers-3.0.1.jar accesstransformer PLUGINSERVICE 
+		/forge-1.16.5-36.2.39_mapped_official_1.16.5-launcher.jar capability_inject_definalize PLUGINSERVICE 
+		/forge-1.16.5-36.2.39_mapped_official_1.16.5-launcher.jar runtimedistcleaner PLUGINSERVICE 
+		/mixin-0.8.4.jar mixin TRANSFORMATIONSERVICE 
+		/forge-1.16.5-36.2.39_mapped_official_1.16.5-launcher.jar fml TRANSFORMATIONSERVICE 
+	FML: 36.2
+	Forge: net.minecraftforge:36.2.39
+	FML Language Providers: 
+		javafml@36.2
+		minecraft@1
+	Mod List: 
+		client-extra.jar                                  |Minecraft                     |minecraft                     |1.16.5              |NONE      |Manifest: a1:d4:5e:04:4f:d3:d6:e0:7b:37:97:cf:77:b0:de:ad:4a:47:ce:8c:96:49:5f:0a:cf:8c:ae:b2:6d:4b:8a:3f
+		forge-1.16.5-36.2.39_mapped_official_1.16.5-recomp|Forge                         |forge                         |36.2.39             |NONE      |Manifest: NOSIGNATURE
+		resources                                         |Universe Journey              |unijourney                    |NONE                |NONE      |Manifest: NOSIGNATURE

开头不重要的部分

---- Minecraft Crash Report ----:崩溃报告开头

// Don't be sad, have a hug! <3:随机生成的一句话

Time: 23-1-28 下午5:16:发生错误的时间

报错描述

Description: Mod loading error has occurred

报错描述是进行报告诊断的重要依据,后面也将按照报错描述对崩溃报告进行分类,阐述解决崩溃的方法。

StackTrace(堆栈追踪)

java
java.lang.Exception: Mod Loading has failed
+	at net.minecraftforge.fml.CrashReportExtender.dumpModLoadingCrashReport(CrashReportExtender.java:71) ~[forge-1.16.5-36.2.39_mapped_official_1.16.5-recomp.jar:?] {re:classloading}
+	at ...

关于StackTrace,可以先看看下面这篇文章:

什么是堆栈追踪(StackTrace)?如何利用StackTrace对程序进行调试?

对于Minecraft来说,你不能去更改Java/Minecraft/Forge or Fabric,很多时候连Mod也无法更改。而这也是MC崩溃的独特之处,MC的崩溃很可能是玩家的误操作所造成的。除了空指针异常NullPointerException以外,其他类型的Exception有95%可以通过不修改Mod的方式解决,其中又有70%是玩家的误操作造成的。

StackTrace的第一行抛出的异常是非常重要的,因为有时候报错表述并不能提供什么有效信息。

要注意的是,StackTrace有时候会有Caused by部分,这时候Cause by后面抛出的异常也要作为判断依据。

分割线

markdown
A detailed walkthrough of the error, its code path and all known details is as follows:
+---------------------------------------------------------------------------------------
-- Head --
+Thread: Render thread
+Stacktrace:
+	at net.minecraftforge.fml.CrashReportExtender.lambda$dumpModLoadingCrashReport$7(CrashReportExtender.java:74) ~[forge:?] {re:classloading}

一般来说,Head里面没有什么有效的信息。

Thread:发生错误的线程,一般都是Render thread

此处的StackTrace通常就是最顶上的那个堆栈追踪。

Details

markdown
-- NO MOD INFO AVAILABLE --
+Details:
+	Mod File: NO FILE INFO
+	Failure message: The Mod File C:\Users\Roland\Desktop\workspace\ModProject\forge\forge-1.16.5-36.2.39-mdk\out\production\resources has mods that were not found
+	...

这部分的内容会随着报错的改变而改变。

这个报告的报错为Mod loading error has occurred,因此此处出现的是Mod Info。至于出现NO MOD INFO AVAILABLE是因为这里出错的是Forge。

后面按照报错描述对崩溃报告进行分类时会详细讲解这部分。

System Details

这里记载了一些环境相关的信息。在有些时候会用到这些东西来进行诊断。

Minecraft Version: 1.16.5:MC版本

Operating System: Windows 10 (amd64) version 10.0:操作系统,如果是Mac则是可疑点

Java Version: 1.8.0_341, Oracle Corporation:Java版本与发行商,小心Openj9!

Memory:内存

JVM Flags:JVM虚拟机参数

Forge: net.minecraftforge:36.2.39:Forge版本

Mod List

在很多时候,你找到的有嫌疑的Mod是以Mod ID的形式出现的。你可能知道哪个Mod对应哪个文件;但是普通玩家可能并不知道。此时你需要翻到这里,寻找相应的文件名。Mod List不同版本的格式差异比较大,但一般都有文件名与Mod ID的对应。

此外,对于低版本的Forge来说,这个部分也可以成为诊断的标准。在每个Mod前面会写有Status表明这个Mod的状态,状态码不正常的即为出错的Mod。

状态码: 'U' = Unloaded 'L' = Loaded 'C' = Constructed 'H' = Pre-initialized 'I' = Initialized 'J' = Post-initialized 'A' = Available 'D' = Disabled 'E' = Errored

1.7.10 的Mod List

markdown
	UCHIJAAAA	Mekanism{9.1.0} [Mekanism] (Mekanism-1.7.10-9.1.0.281.jar)

1.12.2 的Mod List

markdown
	| State  | ID       | Version | Source                        | Signature  |
+	|:------ |:-------- |:------- |:----------------------------- |:---------- |
+	| LCHIJA | mekanism | 9.8.3   | Mekanism-1.12.2-9.8.3.390.jar | None       |

1.16.5 的Mod List

markdown
	Mekanism-1.18.2-10.2.5.465.jar |Mekanism |mekanism |10.2.5 |DONE |Manifest: NOSIGNATURE

其他乱七八糟的东西

markdown
	RoadRunner != Lithium: This instance was launched using RoadRunner, which is an *unofficial* Lithium fork! Please **do not** report bugs to them!

在崩溃报告的最后经常会出现一些乱七八糟的信息。通常这些东西并不重要。

唯一要注意的是在Client的崩溃报告中会出现这么个东西:

markdown
	Backend API: AMD Radeon(TM) Graphics GL version 4.6.13596 Compatibility Profile Context 20.10.44.04 27.20.11044.4003, ATI Technologies Inc.

如果这里出现的是A卡,有可能出现渲染的问题。

TIP

如果你看的崩溃报告足够多,还有一个东西是需要看的:

Launched Version: 忘却之刻 — Times Of Oblivion:版本名称(整合包名称)

同一个整合包出现的报错往往是相同的(前提是没有乱加Mod),而出错千奇百怪的整合包会被PL列入黑名单直接劝退(如 Isekai Life's Fantasy)。

+ + + + \ No newline at end of file diff --git a/guide/tutorial/crashreport/Episode3-1.html b/guide/tutorial/crashreport/Episode3-1.html new file mode 100644 index 00000000..800c3c15 --- /dev/null +++ b/guide/tutorial/crashreport/Episode3-1.html @@ -0,0 +1,44 @@ + + + + + + Mod loading error has occurred | FDCraft + + + + + + + + + + + + + + +
Skip to content

Mod loading error has occurred

这一类报错的特征是这样的:

markdown
Description: Mod loading error has occurred

顾名思义,有一个Mod加载时发生了错误。这种情况还有一个明显的特征:Details部分会出现Mod Info,指示是哪个Mod出现了问题。一般来说这种异常会发生在fml,但有时候也会发生在server

前置缺失&版本错误

一个可能的原因是有Mod缺少了前置或前置版本错误,在Mod Info的Failure message中会提示需要的Mod与其版本要求。

解决方法也很简单:按照提示安装相应的Mod。

一个例子:crash-2023-05-10_22.55.41-fml.txt

markdown
Description: Mod loading error has occurred
+
+java.lang.Exception: Mod Loading has failed
+	at net.minecraftforge.logging.CrashReportExtender.dumpModLoadingCrashReport(CrashReportExtender.java:55) ~[forge-1.18.2-40.2.1-universal.jar%2394!/:?] {re:classloading}
+	at ...
+
+...
+
+-- MOD meetyourfight --
+Details:
+	Mod File: /C:/Users/Akari/Desktop/1.18create/mods/meetyourfight-1.18.2-1.2.5.jar
+	Failure message: Mod meetyourfight requires curios 1.18-5.0.2.3 or above
+		Currently, curios is not installed

在日志中,这个异常长得会不太一样,不过依然一眼就能看出来:

java
[16:39:34] [Client thread/ERROR] [FML/]: The mod manametalmod (ManaMetalMod) requires mod versions [Muya@[1.7.1,1.7.1]] to be available
java
[22:55:00] [Server thread/ERROR]: Encountered an unexpected exception
+net.minecraftforge.fml.common.MissingModsException: Mod jecalculation (Just Enough Calculation) requires [jei@[4.15.0.268,)]
+	at net.minecraftforge.fml.common.Loader.sortModList(Loader.java:266) ~[Loader.class:git-CatServer-1.12.2-4d54207]
+	at net.minecraftforge.fml.common.Loader.loadMods(Loader.java:572) ~[Loader.class:git-CatServer-1.12.2-4d54207]
+	at net.minecraftforge.fml.server.FMLServerHandler.beginServerLoading(FMLServerHandler.java:97) ~[FMLServerHandler.class:git-CatServer-1.12.2-4d54207]
+	at net.minecraftforge.fml.common.FMLCommonHandler.onServerStart(FMLCommonHandler.java:336) ~[FMLCommonHandler.class:git-CatServer-1.12.2-4d54207]
+	at net.minecraft.server.dedicated.DedicatedServer.func_71197_b(DedicatedServer.java:169) ~[nz.class:?]
+	at net.minecraft.server.MinecraftServer.run(MinecraftServer.java:642)

很多启动器、高版本的Forge与Fabric已经能自动识别这种错误,因此目前见到的这种情况的崩溃非常少。

1

Mod损坏

另一个可能是有Mod损坏。如果Mod Info的提示不是上面那种情况,基本都是这种情况。

解决方法是重新下载安装相应的Mod。

一个例子:crash-2023-05-14_23.39.07-fml.txt

另一个例子是在Episode2出现的用于讲解的崩溃报告:crash-2023-01-28_17.16.47-fml.txt。其出错的原因是Forge的核心文件发生了损坏,此时就需要重新安装Forge。

+ + + + \ No newline at end of file diff --git a/guide/tutorial/crashreport/Episode3-2.html b/guide/tutorial/crashreport/Episode3-2.html new file mode 100644 index 00000000..a148bb57 --- /dev/null +++ b/guide/tutorial/crashreport/Episode3-2.html @@ -0,0 +1,26 @@ + + + + + + NoClassFound | FDCraft + + + + + + + + + + + + + + +
Skip to content

NoClassFound

这一类报错的特征是抛出以下两种异常:

java
java.lang.NoClassDefFoundError
+java.lang.ClassNotFoundException

此外还经常伴随空指针异常java.lang.NullPointerException

当发生这个错误时,Minecraft不一定会生成崩溃报告。即使有,其报错描述往往是下面这句没有任何有效信息的话:

markdown
Description: There was a severe problem during mod loading that has caused the game to fail

如果你在各种日志文件(latest.log / minecraft.log)的末尾发现了同样的异常,那么这个崩溃同样是这个类型。

从其字面意思上看,这个报错的意思是没有找到类,按理是Mod的代码出现了问题;但是这个错误经常是在一个Mod引用其他的Mod的类时发生的。

前置缺失

一个可能的原因是缺少了某个前置Mod,而且这个Mod往往是个核心Mod。这使得MC没有输出崩溃报告,且抛出了一个不太一样的异常。

一个由缺少CCC引起报错的例子:minecraft-1.log

一个由缺少MixinBooter引起的报错的例子:minecraft-2.log

乱改文件名

来,上圣经!

大佬帮忙看下游戏启动崩溃问题 - 崩溃解答 - MC百科

如果你发现玩家明明装了前置Mod,却还是报了这个异常,你就要翻到最下方的Mod List,看看这个玩家的Mod文件名是什么。如果出现了中文前缀,很有可能就是因此引起的。

这个问题出现的逻辑是这样的:

  • FML搜索Mods文件夹,找到了两个相关(依赖或者联动)的Mod,从而通过最开始的检查 / 加载联动内容。

  • FML按照文件名顺序一个个加载Mod,由于中文前缀,Mod的加载顺序变得混乱。

  • 在加载到那个有依赖 / 联动的Mod时,本应先加载的被依赖 / 被联动的Mod却没有被加载。FML没有找到被依赖 / 被联动的Mod的相应类从而抛出异常。

(FML:奇怪,我明明看到了有那个Mod,为啥加载的时候就找不到了呢?)

这个问题一般发生在一些旧版本Mod上,它们高度依赖Mod的加载顺序,而加载顺序的混乱导致了崩溃的发生。解决方案是将相应的Mod的名字改成它原本的样子(从CurseForge或Modrinth上下载下来的文件名)。

(这也是MixinBooter的文件名变来变去,最后变成!mixinbooter-XXX.jar的原因。非常多Mod使用了mixin,为了防止猪鼻Mod,MixinBooter特意加上英文感叹号来使自己第一个加载。)

可惜的是,总有玩家 / 整合包作者把下载的Mod加上中文前缀,甚至把原本的名字删除,导致不知道哪个文件是哪个Mod;总有启动器 / 网站给Mod加上该死的中文前缀。 在当下,这样做一般不会导致崩溃的发生。因为Forge官方与许多Mod作者做出了妥协,修改了相关的逻辑。但是中文文件名依然会带来潜在的崩溃风险,正确对待文件名的方式依然是不去修改文件名,下载下来是什么就是什么。

顺带一提,有时候MC的安装目录中有中文会导致MC没有声音。解决方案是将MC安装在一个没有中文名的文件目录中(尤其注意用户名中的中文,因此不建议将MC安装在用户文件夹下)。

Mod有Bug

这种情况在开发环境中更多见。一个Mod使用了自己的类却没找到,说明这个Mod写出了Bug。

解决方法是将Mod给禁用掉并在Github上提Issue,或者尝试将Mod更新至最新版。

+ + + + \ No newline at end of file diff --git a/guide/tutorial/crashreport/Episode3-3.html b/guide/tutorial/crashreport/Episode3-3.html new file mode 100644 index 00000000..ffccfe0a --- /dev/null +++ b/guide/tutorial/crashreport/Episode3-3.html @@ -0,0 +1,25 @@ + + + + + + Invalid id 4096 | FDCraft + + + + + + + + + + + + + + +
Skip to content

Invalid id 4096

这一类报错的特征是这样的:

markdown
java.lang.RuntimeException: Invalid id 4096 - maximum id range exceeded.

其字面意思是“无效的id 4096-超出了最大id范围”。

原因

为什么会发生这个问题呢?这就要提到MC如何处理物品的方式了。当一个Mod向MC加入(注册)物品或者方块时,MC会分配给这个物品或者方块一个id,如:95minecraft:white_stained_glass。在1.12.2及以下,MC内部使用类似95:0的数字id与Metadata的组合来标识物品与方块;而1.13及以上,MC内部改为使用类似minecraft:white_stained_glass的字符串id来标识物品与方块,而Metadata被废弃,原本依靠Metadata区分的同id方块被拆分成不同字母id,也就是扁平化。(这点和指令不一样,从1.8开始指令使用字符串id,但内部依旧使用数字id)

而数字id是有上限的。MC只给数字id分配了12位(0-4095),因此一旦物品过多,id就会越界导致崩溃。

解决方法

一种解决方法是安装JEID或者NEID。它们将id范围拓展至32位从而解决了这个问题,但是它们往往会有副作用(例如因为id错乱一种方块全部变成了另一种方块、存档不能用MCEdit编辑等),并且一旦安装后就不能卸载,因此一般会在整合包刚开始组建时就安装上。

另一种方法是删除Mod。这个崩溃也经常发生在玩家向玩了一段时间的存档又加了Mod的时候,此时加上JEID或者NEID就有损坏存档的风险,最好的办法就是删除刚刚安装上的Mod。

+ + + + \ No newline at end of file diff --git a/guide/tutorial/crashreport/Episode3-4.html b/guide/tutorial/crashreport/Episode3-4.html new file mode 100644 index 00000000..2589c1bf --- /dev/null +++ b/guide/tutorial/crashreport/Episode3-4.html @@ -0,0 +1,25 @@ + + + + + + Ticking Entity & Block | FDCraft + + + + + + + + + + + + + + +
Skip to content

Ticking Entity & Block

这一类报错有一大堆变种

+ + + + \ No newline at end of file diff --git a/guide/tutorial/crashreport/Episode3.html b/guide/tutorial/crashreport/Episode3.html new file mode 100644 index 00000000..b850c077 --- /dev/null +++ b/guide/tutorial/crashreport/Episode3.html @@ -0,0 +1,27 @@ + + + + + + Episode3 崩溃报告分类&解决方法 | FDCraft + + + + + + + + + + + + + + +
Skip to content

Episode3 崩溃报告分类&解决方法

序言

面对崩溃时,你或许要准备好这些:

重启游戏;

更新Java、显卡驱动;

搞清楚你包里的模组特性,更新/卸载报告里提到的异常模组(并不推荐卸载);

一个WE(创世神)插件或者其他的手段以变更出错的区块;

已经备份的近期存档;

一颗冷静的心。

——森林蝙蝠

MC的崩溃千奇百怪,在你见到某个崩溃之前可能都不会想到有这种崩溃方式。但实际上,非常多在游戏过程中发生的崩溃中,“嫌疑人”会被当场抓住并被记录到崩溃报告中;但是由于MC输出的崩溃报告可读性极差,很多玩家并不知道如何在崩溃报告去寻找这个记录。

通用分析方法

在几乎所有在游戏过程中发生的、部分在启动阶段时发生的崩溃中,如果MC正常输出了崩溃报告,有嫌疑的Mod就会被记录在崩溃报告的StackTrace中。

提示

如果崩溃是在游戏过程中发生的,请务必询问崩溃发生的瞬间玩家在干什么。这有助于后续进行诊断并规避风险。

一个例子:crash-2022-03-12_22.50.26-server.txt

在StackTrace中,先去除一些显然无法改变的东西:

  • java.
  • jdk.
  • oolloo.
  • sun.reflect
  • net.minecraftforge
  • cpw.mods.modlauncher
  • com.google
  • 不带re:mixin字样的net.minecraft行
  • 一切除了Optifine以外和底层有关的东西

如果去除掉这些还剩下些什么,就说明这种分析方法成功了;如果没剩下什么就说明失效,需要使用一些其他的方法。

在这个例子中,还剩下了这些东西:

markdown
	at com.meteor.extrabotany.common
+	at littleMaidMobX
+	at WorldServerOF

如果你见多识广,extrabotany是额外植物学,littleMaidMobX是小女仆,WorldServerOF是Optifine。当然你也可以通过Bing来知道这些东西是什么。

由于这个崩溃的描述是Description: Colliding entity with block,必定与渲染无关,大概率没有Optifine的事情。因此这次崩溃的“元凶”就是额外植物学和小女仆。

如果崩溃是由mixin注入冲突导致的,最后会剩下许多末尾有一对花括号{}的开头为net.minecraft行。这是因为,有不少mod需要改变原版的代码,但是原版并不开源,不允许被直接修改,需要mixin在代码运行时进行注入来达到改变的目的。在{}内,记录了对这段代码进行注入的mod。一般来说第一个出现的mod就是造成崩溃的罪魁祸首(但并不绝对)。

通用解决方法

一种最简单的解决崩溃的思路是,我们可以选择禁用出错的模组,并在模组作者给出的交流渠道询问这个问题(如在Github上提Issue);或者检查这个Mod(或者整合包)是否有新版本,新版本是否修复了这个bug(可以在Changelog中查看)。

注意

很多时候直接删除并不是个好主意,因为你可能找错了罪魁凶手;一个更合理的方式通过启动器禁用该Mod或者把Mod的后缀名改为.jar.disabled来禁用该Mod。

另一种方法需要一点点的经验。有一些报错会与特定的mod绑定,但那个mod不一定会在StackTrace中出现。如渲染问题“一定是Optifine干的!”对于所有渲染问题,都可以尝试禁用Optifine/Sodium来解决,而不一定要删除相应的mod。

+ + + + \ No newline at end of file diff --git a/guide/tutorial/crashreport/Episode4.html b/guide/tutorial/crashreport/Episode4.html new file mode 100644 index 00000000..7f6576b4 --- /dev/null +++ b/guide/tutorial/crashreport/Episode4.html @@ -0,0 +1,25 @@ + + + + + + Episode4 圣经 | FDCraft + + + + + + + + + + + + + + +
Skip to content

Episode4 圣经

有一些崩溃报告与其解决方法之间可能完全没有字面上的关联,近乎是无厘头的。罪魁祸首在StackTrace中完全没有出现过,只在最后的Mod List中露了个脸,其解决方法也是通过穷举法找到的。

幸运的是,这些崩溃报告都具有典型的特征,解决方案也比较单一。

+ + + + \ No newline at end of file diff --git a/guide/tutorial/crashreport/index.html b/guide/tutorial/crashreport/index.html new file mode 100644 index 00000000..b78799bf --- /dev/null +++ b/guide/tutorial/crashreport/index.html @@ -0,0 +1,25 @@ + + + + + + PL的崩溃报告宝典 | FDCraft + + + + + + + + + + + + + + +
Skip to content

PL的崩溃报告宝典

Minecraft是个很玄学的游戏,就算你什么模组也不加,玩个原版都有可能崩溃,无非是比有模组时少一点罢了。

——森林蝙蝠

作为运维,无论是面对着大大小小的服务器,还是社团里社群里形色各异的普通玩家,总是避免不了遇上崩溃。

如果你面对的是社群,你大可以丢给他们一篇森林蝙蝠的、深湖的、北葵的崩溃报告教程而不管他们死活;但是作为服务器运维与社团少有的技术工,你必不可能将这个问题丢给社团的普通玩家,更不能指望让服务器自己修复。

此外,在很多情况下崩溃报告和日志的报错与其解决方案之间并没有直接关联,需要大量的经验积累才能从报错转化为解决方案。

于是就有了这本面向社团运维的崩溃报告宝典,供各位运维学习查阅。

+ + + + \ No newline at end of file diff --git a/guide/tutorial/survival_redstone.html b/guide/tutorial/survival_redstone.html new file mode 100644 index 00000000..ecb6481f --- /dev/null +++ b/guide/tutorial/survival_redstone.html @@ -0,0 +1,25 @@ + + + + + + PL的生电教程 | FDCraft + + + + + + + + + + + + + + +
+ + + + \ No newline at end of file diff --git a/hashmap.json b/hashmap.json new file mode 100644 index 00000000..8e12fdc3 --- /dev/null +++ b/hashmap.json @@ -0,0 +1 @@ +{"about_club.md":"G8DisTpt","guide_softversion.md":"vRTcdP7w","guide_rules.md":"7SOzuVcG","guide_sps.md":"WpyVfJFo","guide_features.md":"8H2QXWlT","guide_tutorial_basic.md":"3eZv2yL5","guide_newbie_old.md":"OjawYz--","guide_tutorial_crashreport_episode2.md":"AvnLe82_","news_holes.md":"efNJzrqy","news_posts_2021100701.md":"jqhG_ru0","news_posts_2022011201.md":"epAYTVHc","guide_learnspace.md":"b7XeWgd2","news_posts_2022030901.md":"AhMouINO","news_posts_2022031401.md":"vyFBKGmC","news_posts_2022032301.md":"cdWYoxL6","news_posts_2022032302.md":"pxt67sKt","news_posts_2022041201.md":"qHHyU1a5","index.md":"gFFysAVd","about_server.md":"0Sun6QRZ","the-tree_index.md":"iHeyFaFR","news_index.md":"Zm08Jqyr","news_posts_2022032401.md":"yzmfX13B","about_index.md":"7Ca-oRDX","news_posts_2022011801.md":"kjbksAv9","news_posts_2022102401.md":"aNpRiXCU","news_bugs.md":"LilKGTRG","guide_functional-buildings.md":"XobrtCsm","guide_tutorial_crashreport_episode3-1.md":"pVfSz9Gx","guide_tutorial_survival_redstone.md":"WvZxjppC","guide_tutorial_crashreport_episode3-3.md":"J7kKtUAh","guide_newbie.md":"xy_tVI8m","guide_tutorial_crashreport_episode4.md":"bYO6Hge2","guide_tutorial_crashreport_episode3-4.md":"rApn1Li8","guide_tutorial_crashreport_episode3.md":"z3t13YCG","guide_index.md":"p-_1HujW","guide_commands.md":"_zn-OHWw","guide_tutorial_crashreport_index.md":"BPEkWplO","guide_tutorial_crashreport_episode1.md":"I29Dfgdq","guide_features_ncwu.md":"DXW1l0c2","guide_tutorial_crashreport_episode3-2.md":"kxB4ZsjZ"} diff --git a/img/2023-01-21_21.54.31.webp b/img/2023-01-21_21.54.31.webp new file mode 100644 index 00000000..7a9ec399 Binary files /dev/null and b/img/2023-01-21_21.54.31.webp differ diff --git a/img/2023-10-03_22.09.05.webp b/img/2023-10-03_22.09.05.webp new file mode 100644 index 00000000..2c3207ee Binary files /dev/null and b/img/2023-10-03_22.09.05.webp differ diff --git a/img/gallary/2023-03-21_13.19.32.webp b/img/gallary/2023-03-21_13.19.32.webp new file mode 100644 index 00000000..bc0e972d Binary files /dev/null and b/img/gallary/2023-03-21_13.19.32.webp differ diff --git a/img/gallary/2023-03-21_13.20.13.webp b/img/gallary/2023-03-21_13.20.13.webp new file mode 100644 index 00000000..d4395763 Binary files /dev/null and b/img/gallary/2023-03-21_13.20.13.webp differ diff --git a/img/gallary/2023-03-21_13.22.02.webp b/img/gallary/2023-03-21_13.22.02.webp new file mode 100644 index 00000000..079a3ede Binary files /dev/null and b/img/gallary/2023-03-21_13.22.02.webp differ diff --git a/img/gallary/2023-03-21_13.36.59.webp b/img/gallary/2023-03-21_13.36.59.webp new file mode 100644 index 00000000..4149b1b5 Binary files /dev/null and b/img/gallary/2023-03-21_13.36.59.webp differ diff --git a/img/gallary/2023-03-21_13.39.09.webp b/img/gallary/2023-03-21_13.39.09.webp new file mode 100644 index 00000000..f209252a Binary files /dev/null and b/img/gallary/2023-03-21_13.39.09.webp differ diff --git a/img/gallary/2023-03-21_13.39.18.webp b/img/gallary/2023-03-21_13.39.18.webp new file mode 100644 index 00000000..ca3bb671 Binary files /dev/null and b/img/gallary/2023-03-21_13.39.18.webp differ diff --git a/img/gallary/2023-03-21_13.43.03.webp b/img/gallary/2023-03-21_13.43.03.webp new file mode 100644 index 00000000..8ad81806 Binary files /dev/null and b/img/gallary/2023-03-21_13.43.03.webp differ diff --git a/img/gallary/2023-03-21_13.43.46.webp b/img/gallary/2023-03-21_13.43.46.webp new file mode 100644 index 00000000..0a121017 Binary files /dev/null and b/img/gallary/2023-03-21_13.43.46.webp differ diff --git a/img/gallary/2023-03-21_13.50.31.webp b/img/gallary/2023-03-21_13.50.31.webp new file mode 100644 index 00000000..89c0cbad Binary files /dev/null and b/img/gallary/2023-03-21_13.50.31.webp differ diff --git a/img/gallary/2023-03-21_13.58.40.webp b/img/gallary/2023-03-21_13.58.40.webp new file mode 100644 index 00000000..cc111dd3 Binary files /dev/null and b/img/gallary/2023-03-21_13.58.40.webp differ diff --git a/img/gallary/2023-03-21_14.05.36.webp b/img/gallary/2023-03-21_14.05.36.webp new file mode 100644 index 00000000..19f546eb Binary files /dev/null and b/img/gallary/2023-03-21_14.05.36.webp differ diff --git a/img/gallary/2023-03-21_14.12.59.webp b/img/gallary/2023-03-21_14.12.59.webp new file mode 100644 index 00000000..5dda8238 Binary files /dev/null and b/img/gallary/2023-03-21_14.12.59.webp differ diff --git a/img/gallary/2023-03-21_14.13.12.webp b/img/gallary/2023-03-21_14.13.12.webp new file mode 100644 index 00000000..c6bf7b84 Binary files /dev/null and b/img/gallary/2023-03-21_14.13.12.webp differ diff --git a/img/gallary/2023-03-21_14.15.39.webp b/img/gallary/2023-03-21_14.15.39.webp new file mode 100644 index 00000000..83b62863 Binary files /dev/null and b/img/gallary/2023-03-21_14.15.39.webp differ diff --git a/img/gallary/2023-03-21_14.19.40.webp b/img/gallary/2023-03-21_14.19.40.webp new file mode 100644 index 00000000..c019165d Binary files /dev/null and b/img/gallary/2023-03-21_14.19.40.webp differ diff --git a/img/gallary/2023-03-21_14.22.09.webp b/img/gallary/2023-03-21_14.22.09.webp new file mode 100644 index 00000000..264d771c Binary files /dev/null and b/img/gallary/2023-03-21_14.22.09.webp differ diff --git a/img/gallary/2023-03-21_14.23.41.webp b/img/gallary/2023-03-21_14.23.41.webp new file mode 100644 index 00000000..3b50898d Binary files /dev/null and b/img/gallary/2023-03-21_14.23.41.webp differ diff --git a/img/gallary/2023-03-21_14.29.52.webp b/img/gallary/2023-03-21_14.29.52.webp new file mode 100644 index 00000000..6e13b9d3 Binary files /dev/null and b/img/gallary/2023-03-21_14.29.52.webp differ diff --git a/img/gallary/2023-03-21_20.01.47.webp b/img/gallary/2023-03-21_20.01.47.webp new file mode 100644 index 00000000..2f8e5431 Binary files /dev/null and b/img/gallary/2023-03-21_20.01.47.webp differ diff --git a/img/gallary/2023-03-21_20.42.13.webp b/img/gallary/2023-03-21_20.42.13.webp new file mode 100644 index 00000000..52fee42e Binary files /dev/null and b/img/gallary/2023-03-21_20.42.13.webp differ diff --git a/img/gallary/2023-03-21_20.42.30.webp b/img/gallary/2023-03-21_20.42.30.webp new file mode 100644 index 00000000..f11fc406 Binary files /dev/null and b/img/gallary/2023-03-21_20.42.30.webp differ diff --git a/img/gallary/2023-03-22_00.07.09.webp b/img/gallary/2023-03-22_00.07.09.webp new file mode 100644 index 00000000..b658ae4c Binary files /dev/null and b/img/gallary/2023-03-22_00.07.09.webp differ diff --git a/img_old/1SHEODILJFKET4VDJAIL6ERFBERA2EA7DK1SKW0NDOAPC8NI2HGPT.webp b/img_old/1SHEODILJFKET4VDJAIL6ERFBERA2EA7DK1SKW0NDOAPC8NI2HGPT.webp new file mode 100644 index 00000000..c9777795 Binary files /dev/null and b/img_old/1SHEODILJFKET4VDJAIL6ERFBERA2EA7DK1SKW0NDOAPC8NI2HGPT.webp differ diff --git a/img_old/361A93D277D3CE3483550298416ADEB1.webp b/img_old/361A93D277D3CE3483550298416ADEB1.webp new file mode 100644 index 00000000..6ad0b8c9 Binary files /dev/null and b/img_old/361A93D277D3CE3483550298416ADEB1.webp differ diff --git a/img_old/38187030BC2F1971DF457DA3AF77064D.webp b/img_old/38187030BC2F1971DF457DA3AF77064D.webp new file mode 100644 index 00000000..b8dfc966 Binary files /dev/null and b/img_old/38187030BC2F1971DF457DA3AF77064D.webp differ diff --git a/img_old/482017EB4CCD40D894AB766867409E86.webp b/img_old/482017EB4CCD40D894AB766867409E86.webp new file mode 100644 index 00000000..b5ea984b Binary files /dev/null and b/img_old/482017EB4CCD40D894AB766867409E86.webp differ diff --git a/img_old/4GNU0587W6BELWSTTQF0M74LJO6YKRD3.webp b/img_old/4GNU0587W6BELWSTTQF0M74LJO6YKRD3.webp new file mode 100644 index 00000000..68255068 Binary files /dev/null and b/img_old/4GNU0587W6BELWSTTQF0M74LJO6YKRD3.webp differ diff --git a/img_old/51E660F9E4BE01DFEC8B47721C982936.webp b/img_old/51E660F9E4BE01DFEC8B47721C982936.webp new file mode 100644 index 00000000..f46ee0ca Binary files /dev/null and b/img_old/51E660F9E4BE01DFEC8B47721C982936.webp differ diff --git a/img_old/7329553DD333537A874EC3FB48DB1BF3.webp b/img_old/7329553DD333537A874EC3FB48DB1BF3.webp new file mode 100644 index 00000000..61c50290 Binary files /dev/null and b/img_old/7329553DD333537A874EC3FB48DB1BF3.webp differ diff --git a/img_old/7RCMFCENIE9XDJWPY1V77JDECCFPX2LXEEPLSS3JIKEP5MKM.webp b/img_old/7RCMFCENIE9XDJWPY1V77JDECCFPX2LXEEPLSS3JIKEP5MKM.webp new file mode 100644 index 00000000..7ed20f67 Binary files /dev/null and b/img_old/7RCMFCENIE9XDJWPY1V77JDECCFPX2LXEEPLSS3JIKEP5MKM.webp differ diff --git a/img_old/822814DB27C04E18BDDB58B42838A2AB.webp b/img_old/822814DB27C04E18BDDB58B42838A2AB.webp new file mode 100644 index 00000000..f0703166 Binary files /dev/null and b/img_old/822814DB27C04E18BDDB58B42838A2AB.webp differ diff --git a/img_old/83E82AD1BB4213AC403CBB393AC8A0EC.webp b/img_old/83E82AD1BB4213AC403CBB393AC8A0EC.webp new file mode 100644 index 00000000..57cbb3bf Binary files /dev/null and b/img_old/83E82AD1BB4213AC403CBB393AC8A0EC.webp differ diff --git a/img_old/8a670318d98c454699a7205adfddbeba.webp b/img_old/8a670318d98c454699a7205adfddbeba.webp new file mode 100644 index 00000000..73825c69 Binary files /dev/null and b/img_old/8a670318d98c454699a7205adfddbeba.webp differ diff --git a/img_old/9B7D07E3DE478535C6191687C96467FD.webp b/img_old/9B7D07E3DE478535C6191687C96467FD.webp new file mode 100644 index 00000000..4571fb2d Binary files /dev/null and b/img_old/9B7D07E3DE478535C6191687C96467FD.webp differ diff --git a/img_old/E56991FFFC3F52BD9F240FF689446EE6.webp b/img_old/E56991FFFC3F52BD9F240FF689446EE6.webp new file mode 100644 index 00000000..3e59cb51 Binary files /dev/null and b/img_old/E56991FFFC3F52BD9F240FF689446EE6.webp differ diff --git a/img_old/E95C9820C18E7B59FACF620B53B10E98.webp b/img_old/E95C9820C18E7B59FACF620B53B10E98.webp new file mode 100644 index 00000000..07b0d819 Binary files /dev/null and b/img_old/E95C9820C18E7B59FACF620B53B10E98.webp differ diff --git a/img_old/ED3236B5117A914F5EF3C1FC38F52A22.webp b/img_old/ED3236B5117A914F5EF3C1FC38F52A22.webp new file mode 100644 index 00000000..9ccfaa96 Binary files /dev/null and b/img_old/ED3236B5117A914F5EF3C1FC38F52A22.webp differ diff --git a/img_old/EEE7A1DBFD864FF89C443AC7B3CB8ADB.webp b/img_old/EEE7A1DBFD864FF89C443AC7B3CB8ADB.webp new file mode 100644 index 00000000..2acd0688 Binary files /dev/null and b/img_old/EEE7A1DBFD864FF89C443AC7B3CB8ADB.webp differ diff --git a/img_old/FC0B8E43C1F979162FD4E756CEA4678E.webp b/img_old/FC0B8E43C1F979162FD4E756CEA4678E.webp new file mode 100644 index 00000000..6b792f4b Binary files /dev/null and b/img_old/FC0B8E43C1F979162FD4E756CEA4678E.webp differ diff --git a/img_old/ICVPRO0JK6VDP52WDEO93BFSDV3OYWLBIUDP1EG.webp b/img_old/ICVPRO0JK6VDP52WDEO93BFSDV3OYWLBIUDP1EG.webp new file mode 100644 index 00000000..1b3d5c05 Binary files /dev/null and b/img_old/ICVPRO0JK6VDP52WDEO93BFSDV3OYWLBIUDP1EG.webp differ diff --git a/img_old/MKJNOAOBPOE9ADPN1NACJJ3IAAF77LOEIOH1RFXUIVOYEO6LJS86.webp b/img_old/MKJNOAOBPOE9ADPN1NACJJ3IAAF77LOEIOH1RFXUIVOYEO6LJS86.webp new file mode 100644 index 00000000..2175b10a Binary files /dev/null and b/img_old/MKJNOAOBPOE9ADPN1NACJJ3IAAF77LOEIOH1RFXUIVOYEO6LJS86.webp differ diff --git a/img_old/ONI4MW2H0JVTRJBN8E7MO6AK9WBHORC2XTL0CZCCZRVUEIZFRBSCSJ8LC81PI.webp b/img_old/ONI4MW2H0JVTRJBN8E7MO6AK9WBHORC2XTL0CZCCZRVUEIZFRBSCSJ8LC81PI.webp new file mode 100644 index 00000000..bf9b67c0 Binary files /dev/null and b/img_old/ONI4MW2H0JVTRJBN8E7MO6AK9WBHORC2XTL0CZCCZRVUEIZFRBSCSJ8LC81PI.webp differ diff --git a/img_old/f6cbbe36e6684ff9a588d74a253e4c61.webp b/img_old/f6cbbe36e6684ff9a588d74a253e4c61.webp new file mode 100644 index 00000000..41ba341f Binary files /dev/null and b/img_old/f6cbbe36e6684ff9a588d74a253e4c61.webp differ diff --git a/index.html b/index.html new file mode 100644 index 00000000..79464213 --- /dev/null +++ b/index.html @@ -0,0 +1,25 @@ + + + + + + FDCraft + + + + + + + + + + + + + + +
Skip to content

FDCraft

复旦大学基岩社

服务器状态

mc.fdc.jingyijun.xyz FDCraft

minecraftlist.com 提供状态监测服务

三周目画廊

服务器图片展示服务器图片展示服务器图片展示服务器图片展示

二周目画廊

服务器图片展示服务器图片展示服务器图片展示服务器图片展示

合影

除夕合影(还有交大的同学一起~)

2023/1/21 除夕合影

国庆合影(还有交大的同学一起~)

2022/10/1 国庆合影

中秋合影(还有交大的同学一起~)

2022/9/10 中秋合影

社团落成合影

2022/3/8 社团落成合影

中秋合影

2021/9/21 中秋合影

+ + + + \ No newline at end of file diff --git a/logo.svg b/logo.svg new file mode 100644 index 00000000..4eda8f3d --- /dev/null +++ b/logo.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/news/bugs.html b/news/bugs.html new file mode 100644 index 00000000..06671af6 --- /dev/null +++ b/news/bugs.html @@ -0,0 +1,25 @@ + + + + + + 已知问题记录 | FDCraft + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/news/holes.html b/news/holes.html new file mode 100644 index 00000000..54bf3474 --- /dev/null +++ b/news/holes.html @@ -0,0 +1,25 @@ + + + + + + 腐竹的新坑 | FDCraft + + + + + + + + + + + + + + +
Skip to content

腐竹的新坑

希望有uu能参与到服务器的填坑中来。序号后的方括号内为该项需要的技术栈,略有了解或希望了解的uu们都可以分一口锅~

  1. 服务器 BOSS:
    1. 战利品:基于 github:nulli0n/ExcellentEnchants 的稀有附魔书、矿石、建材等
    2. 怪物:基于 MythicMobs https://gitlab.com/SharkGirl_kunjang/MythicMobs-Chinese-Wiki/-/wikis/home
    3. 机制:基于 MonsterPVE https://www.mcbbs.net/thread-850438-1-1.html
  2. 制作一只群聊机器人
    1. 查看服务器状态 已实现。
    2. 与群友闲聊 已实现,基于GPT-3,但由于某些原因通常不开启。
+ + + + \ No newline at end of file diff --git a/news/index.html b/news/index.html new file mode 100644 index 00000000..6b2997b8 --- /dev/null +++ b/news/index.html @@ -0,0 +1,25 @@ + + + + + + 动态 | FDCraft + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/news/posts/2021100701.html b/news/posts/2021100701.html new file mode 100644 index 00000000..1871b07a --- /dev/null +++ b/news/posts/2021100701.html @@ -0,0 +1,25 @@ + + + + + + 国庆快乐 - 2021 国庆节寻宝活动 | FDCraft + + + + + + + + + + + + + + +
Skip to content

国庆快乐 - 2021 国庆节寻宝活动

活动开始时间:2021年10月3日13:45

宝箱为特定颜色的潜影盒,宝箱内至少有一个活动纪念龙蛋和一个蛋糕(请注意辨识,以防误拿别人的潜影盒)

共 72*2 = 144 个宝箱,分布在“旧主城”、“2021新生村”、“未命名新居民区”、“未命名新主城”

战果记录

ID蓝色宝箱青色宝箱紫色宝箱红色宝箱金色宝箱
投放总数4535302410
Charles1714921
ystgod381785
half_night22221
Synopt24101
vegetablest_dog630600
Mirrorlife2000121032
+ + + + \ No newline at end of file diff --git a/news/posts/2022011201.html b/news/posts/2022011201.html new file mode 100644 index 00000000..de2dcb73 --- /dev/null +++ b/news/posts/2022011201.html @@ -0,0 +1,25 @@ + + + + + + 【FDCraft|复读世界𒆙】2.0 更新公告 | FDCraft + + + + + + + + + + + + + + +
Skip to content

【FDCraft|复读世界𒆙】2.0 更新公告

【FDCraft|复读世界𒆙】2.0 已更新,新版启动器已上传至群文件。您可以下载新版启动器,亦可直接升级原有启动器的游戏版本至 Java Edition 1.17.1,并升级相关 mod 版本进服。那么,开始全新的冒险之旅吧!

更新内容如下:

新地图:【大厅:世界树之渊】

大厅的默认游戏模式为冒险模式,背包与【生存世界:复读大陆】及其附属地图互通。

  1. 世界树:位于【大厅:世界树之渊】中央。从末地之渊中生长出来的参天巨木,或许藏着许多有关世界的秘密吧
  2. 世界树神社:环绕于世界树周围的浮空圆盘。似乎供奉着远古神秘而未知的神明
  3. 全新平行世界传送中心:位于世界树以东。从【生存世界:复读大陆】移动到世界树大厅,有机会通往更多的世界
  4. 子虚亭祈愿中心:位于世界树以北。常驻池与药水池现已开放,你可以随时使用钻石或远古残骸进行祈愿

特性修改

  1. 游戏基础版本升级至 Java Edition 1.17.1
  2. 移除了生物在远离玩家时智商会降低的特性
  3. 移除了生物不在玩家视角范围内时智商会降低的特性

问题修复

  1. 修复了旦星一号卫星地图不能正常显示的问题
  2. 提升了用户中心的稳定性
  3. 修复了每次登录时会提示“你没有权限这么做”的问题
  4. 删除了大厅周围由错误的地图生成器生成的区块
  5. 修复了 tpa 无法使用的问题
  6. 缓解了世界难度不定期被重置为简单的问题
  7. 修复了游戏内无法使用 MCDR 指令的问题

常规提升

  1. 核心 Paper 升级至 git-Paper-408,其声明已修复 log4j 的漏洞
  2. 基础插件由 SunLight 更换为 EssentialsX
  3. 权限管理由 GroupManager+ 更换为 LuckPerms
  4. 由于兼容性原因,暂时弃用了 Villiger Optimiser

已知问题

  1. 家需要重新设置,现在可以设置 1 个家
  2. 生存模式背包有概率丢失,联系腐竹确认后可恢复至维护前的状态
  3. 由于刷怪机制修改,服务器 CPU 负担加重,可能卡顿

维护补偿

感谢冒险家们的理解与支持,本次维护的补偿以礼包形式发放。 领取方式:登录服务器,在【大厅:世界树之渊】或【生存世界:复读大陆】及其附属地图,执行指令 /kit comp20220112,该礼包仅可领取一次 补偿内容:2.0更新纪念龙蛋*1 石英块*192 附魔之瓶*20 远古残骸*1 钻石*5 领取期限:即日起至下一次维护

+ + + + \ No newline at end of file diff --git a/news/posts/2022011801.html b/news/posts/2022011801.html new file mode 100644 index 00000000..02cc557f --- /dev/null +++ b/news/posts/2022011801.html @@ -0,0 +1,25 @@ + + + + + + 蜃气螭影之宫玉 | FDCraft + + + + + + + + + + + + + + +
Skip to content

蜃气螭影之宫玉

世界树将枝条伸向穹顶,虚空的岛屿上,会发生怎样的故事呢......

2022 寒假活动地图,【空岛生存:蜃气螭影之宫玉】正式开放。冒险家可通过【大厅:世界树之渊】的平行世界传送中心活动传送门前往。

初始空岛

活动详情

位置:【空岛生存:蜃气螭影之宫玉】 形式:空岛生存
时间:2022 年 1 月 18 日 ~ 2022 年 2 月 18 日
奖励:活动结束后,根据空岛最终规模发放奖励礼包。礼包包含稀有矿石、工具、建材等物资

特性修改

  1. 使用/sethome <name>设置最多两个家(连同 bed,一共最多有三个家)
  2. 使用/back回到上一个地点(死亡或传送地点)

维护补偿

使用/kit comp20220118领取维护补偿

补偿内容:蜃气螭影之宫玉纪念龙蛋x1、远古残骸x1、钻石x2、紫水晶块x1、铜块x1、避雷针x1、
领取时间:即日起至下一次维护之前

+ + + + \ No newline at end of file diff --git a/news/posts/2022030901.html b/news/posts/2022030901.html new file mode 100644 index 00000000..1b63de3b --- /dev/null +++ b/news/posts/2022030901.html @@ -0,0 +1,25 @@ + + + + + + 通讯 | 复旦大学基岩社通过答辩 | FDCraft + + + + + + + + + + + + + + +
Skip to content

通讯 | 复旦大学基岩社通过答辩

通讯员:尚奇)2022年3月8日注定是不平凡的一天。这天下午,FDCraft复读世界服务器服主郭虹麟、群主夏庭浩、基岩社社长陆金泽三人合作通过了社团答辩,酝酿已久的复旦大学Minecraft社团——基岩社——在众人的努力下,终于初步成立了!

2022/3/8 社团落成合影

2022/3/8 社团落成合影

当晚,为庆祝基岩社的初步成立,FDCraft举行了合影活动。晚上22:10,在欢快的氛围中,30余名社团成员排排站在FDCraft复读世界服务器大厅的东侧鸟居下合影留念。

作为新建Minecraft社团的服务器服主,郭虹麟同学代表社团与友校上海交通大学的Minecraft社团建立了友好关系,同时也与中国Minecraft高校联盟(MUA)进行了友好交流。

许多社团成员为新建社团送上了美好祝福。吴毅恒同学说:“能在复旦遇到志同道合的朋友,是幸运的,能见证社团的成立更是令人心潮澎湃!大鹏一日同风起,扶摇直上九万里。但愿基岩社如基岩一般坚韧,长盛不衰!”最近新加入的王奕飞同学说:“嘛……在看到树洞贴后才知道旦有这么一个默默无闻的MC社团,3月8晚上匆匆下载想赶来合影……可是还是错过了捏。虽然但是,夜游服务器的感受还是很棒的,神樱的视觉效果很震撼,来来回回兜了好几圈。新手引导也很好捏……感谢群里面大佬们的即时帮助。总之还是很高兴能够在复旦找到归宿,也算是社团正式成立之后第一批加入的伙伴了?从小学开始看红叔视频就想着日后也要找个服务器一起玩,复旦基岩社算是圆梦了吧(看到墓地功能很感慨)。虽然人菜,但是还是希望能为服务器建设干点活的……希望服务器也能成为大家的第二个家。”相信这两位同学的话能很好地代表复旦大学Minecraft爱好者的心情。

服务器一角

服务器一角

笔者作为去年刚入学的21级学生,也算是较早加入FDCraft的一批玩家。暑假刚被录取的时候笔者就加入了复旦大学2021级新生群,然后便在群相册中的“兴趣爱好”相册中惊喜地发现了FDCraft交流群的二维码。当时服务器主城的西边还是未开发之地,笔者和其他几个21级新生在西边集中安家,还给这一片区域取名“21新生村”。这些都是美好的回忆。后来笔者上线没有以前那么多了,至于后来渐渐地基本不再上线了,但服务器却不断地涌入新的血液。

笔者亲历了“基岩社”起名的过程。当时群内就社团起名一事展开了激烈讨论。有“下界之星社”“方块社”等提议,笔者当时的提案是“麦块社”。后来由服主郭虹麟同学提出的“基岩社”这个名字获得了一致赞同。笔者认为,“基岩”不仅是Minecraft标志性的方块,能让人一眼看出这个社团的主要成分,更是坚毅、沉稳等美好品质的象征。

社团的核心运营者建立了 “工具人”群。为了宣传社团落成的这个好消息,群内的成员分工明确:有的做公众号推送、有的提供服务器美图、有的出点子……笔者有幸接下了撰写这篇通讯稿的任务。虽然笔者是新闻学院的学生,但作为新生,写通讯稿还是一个很大的挑战。这也是笔者的第一篇通讯稿,实在是能力有限,也谨以此献给新建的复旦大学基岩社团。祝愿基岩社以后能更好地发展,不断有新鲜血液加入,也希望笔者以后能为基岩社做出更多贡献。

+ + + + \ No newline at end of file diff --git a/news/posts/2022031401.html b/news/posts/2022031401.html new file mode 100644 index 00000000..8a7d3d39 --- /dev/null +++ b/news/posts/2022031401.html @@ -0,0 +1,25 @@ + + + + + + 3 月活动 | 耕地农庄 | FDCraft + + + + + + + + + + + + + + +
Skip to content

3 月活动 | 耕地农庄

时间:2022 年 3 月

任务内容

使用锄头努力耕作,甚至用坏三把下界合金锄

任务奖励

全体奖励

FDCraft 耕地农庄纪念龙蛋x1、下界合金锄头x1、下界合金锭x2

全体奖励将于活动结束后通过礼包发放

限定奖励

【下界合金锄:农耕之心·锄头の太上】
保护I & 无法破坏の锄头

解锁条件 活动时间(2022 年 3 月)内用坏 3 把下界合金锄领取方式 达成解锁条件后自动获得


【日与夜】此锄头经过日以继夜的锻造竟无法对它造成分毫损毁
【农耕之心】锄头の太上感受到挑战者对农耕的热忱决定为您所用


FDCraft 2022 年 3 月锄地活动纪念锄
在主手时 +50% 最大生命值
在副手时 +2 击退抗性 +40% 攻击伤害

+ + + + \ No newline at end of file diff --git a/news/posts/2022032301.html b/news/posts/2022032301.html new file mode 100644 index 00000000..35186561 --- /dev/null +++ b/news/posts/2022032301.html @@ -0,0 +1,25 @@ + + + + + + SJMC 1.18 现已支持 FDCraft 用户中心 | FDCraft + + + + + + + + + + + + + + +
Skip to content

SJMC 1.18 现已支持 FDCraft 用户中心

2022 年 3 月 23 日接到来自 SJMC 社长 ff98sha 的消息, SJMC 1.18 服务器现已接入 FDCraft 用户中心. 基岩社乃至全体复旦大学的 Minecraft 爱好者可以通过 FDCraft 账号进入 SJMC 1.18 服务器.

欢迎大家前往上海交通大学的服务器展开友好交流!

SJMC 1.18.1

地址1.18.sjmc.club
游戏版本JE 1.18.1
核心类型Vanilla
特色原版生存

详情请见 纯净1.18.1生存 - SJMC

+ + + + \ No newline at end of file diff --git a/news/posts/2022032302.html b/news/posts/2022032302.html new file mode 100644 index 00000000..0784a541 --- /dev/null +++ b/news/posts/2022032302.html @@ -0,0 +1,25 @@ + + + + + + 消息 | FDCraft 加入 MUA | FDCraft + + + + + + + + + + + + + + +
Skip to content

消息 | FDCraft 加入 MUA

2022 年 3 月 23 日, FDCraft 加入中国 Minecraft 高校联盟 ( Minecraft University Alliance, MUA).

https://wiki.mualliance.ltd/%E9%AB%98%E6%A0%A1%E5%90%8D%E5%8D%95

+ + + + \ No newline at end of file diff --git a/news/posts/2022032401.html b/news/posts/2022032401.html new file mode 100644 index 00000000..af8e5843 --- /dev/null +++ b/news/posts/2022032401.html @@ -0,0 +1,25 @@ + + + + + + 复读世界𒆙现已支持 SJMC Skins | FDCraft + + + + + + + + + + + + + + +
Skip to content

复读世界𒆙现已支持 SJMC Skins

2022 年 3 月 24 日 FDCraft: 复读世界𒆙已接入 SJMC Skins. SJMC 乃至全体上海交通大学大学的 Minecraft 爱好者可以通过 SJMC Skins 账号进入复读世界𒆙服务器.

欢迎来自上海交通大学的朋友前往复读世界𒆙展开友好交流!

+ + + + \ No newline at end of file diff --git a/news/posts/2022041201.html b/news/posts/2022041201.html new file mode 100644 index 00000000..5fbacd27 --- /dev/null +++ b/news/posts/2022041201.html @@ -0,0 +1,25 @@ + + + + + + 像素 FDU 计划服务器正式上线 | FDCraft + + + + + + + + + + + + + + +
Skip to content

像素 FDU 计划服务器正式上线

【PPF】像素 FDU 计划

代号ppf
状态Proj. Pixel FDU
服务器地址ppf.fdc.hath.top(:25565)
Minecraft 版本JE 1.18.2
核心类型Paper, Spigot, Bukkit

像素 FDU 计划服务器正式上线,所有 FDCraft 用户均可使用 FDCraft 账户进入服务器,并以冒险模式进行参观游览。同时,游客使用 /fly 可以切换飞行模式。

像素 FDU 计划建设期间,由于权限管理工具的局限性,建筑师需要在进入服务器后通知运维添加建筑师权限,包括

  • 游客的所有权限
  • 所有游戏模式(/gamemode)
  • 创世神插件(//)
  • 生存模式下的上帝模式(/god)
  • 核心保护检查模式(/coreprotect)
  • 修改行走或飞行速度(/speed)
  • 传送权限(/tp)
  • 修改天气的权限(/weather)

与此同时,旦星二号正准备发射,旦星二号将展现像素 FDU 计划地图的实景影像,以供外围用户游览。

欢迎大家踊跃参与建设!

+ + + + \ No newline at end of file diff --git a/news/posts/2022102401.html b/news/posts/2022102401.html new file mode 100644 index 00000000..1156d913 --- /dev/null +++ b/news/posts/2022102401.html @@ -0,0 +1,25 @@ + + + + + + 【FDCraft|复读世界𒆙】3.0 现已开启! | FDCraft + + + + + + + + + + + + + + +
Skip to content

【FDCraft|复读世界𒆙】3.0 现已开启!

代号fdc
状态复读世界𒆙
Java 版地址mc.fdc.jingyijun.xyz
基岩版地址mc.fdc.jingyijun.xyz
兼容版本JE 1.19.4 & BE
特性版本JE 1.19.4
核心类型Purpur

-----------------------------------

  • 周目更换,不继承二周目的背包与数据。

  • 使用 新FDCraft 用户中心、SJMC Skin 或 XJTUMC Skin 账户登录。

  • 复旦玩家请前往 FDCraft 用户中心 注册账户。

  • 推荐使用 HMCL 登录,认证服务器地址为 https://auth.fdc.jingyijun.xyz/api/yggdrasil。

  • 像素 FDU 计划服务器暂未接入,有待后续通知,敬请期待。

  • 与 SJMC 服内传送功能暂时停用。

  • 感谢 Jingyijun、ART1st 以及新周目筹备小组全体成员提供的大力支持。

+ + + + \ No newline at end of file diff --git a/the-tree/index.html b/the-tree/index.html new file mode 100644 index 00000000..6180ec00 --- /dev/null +++ b/the-tree/index.html @@ -0,0 +1,25 @@ + + + + + + 世界树的故事 | FDCraft + + + + + + + + + + + + + + +
+ + + + \ No newline at end of file