🌏 平行世界
生存、模组、创造...应有尽有,还有穿梭到其他高校的神秘虫洞
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
But if you don't change your direction, and if you keep looking, you may end up where you are heading.
基岩社是一个以游戏 Minecraft(中文译名“我的世界”)为基础的、通过建筑美学设计、红石电路设计、程序设计等方式全面提升社团成员乃至复旦所有感兴趣的同学的专业知识、艺术修养、先进技术经验等的文化体育类社团。
基岩社下辖四个分部:运维编程部、建筑宣传部、活动组织部、技术研究部。
负责小游戏服务器(FDP)的游戏选择与地图更换&线下活动;
组织社团成员参加小游戏相关活动、比赛;
百团时负责社团摊位活动的设计;
进行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 是由 KYLN24 于 2020 年 12 月发起的面向复旦大学 Minecraft 爱好者的系列多人联机服务器。
QQ 群:1037308494
FDC 云计算中心正在招募实习运维
FDC 云计算中心 | |
---|---|
腐竹(网络 / 软件 / 运维) | Polaris_Light |
前腐竹 | KYLN24 |
物理腐竹(云储存 / 云计算) | JingYiJun |
前群主 | BeatGeneration |
网站地址: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 |
代号 | fdp |
---|---|
服务器地址 | 【不定期开放】进入fdc后使用指令 /server fdp 进入 |
Minecraft 版本 | JE(具体版本详见群内小游戏相关公告) |
核心类型 | Fabric, Leaves |
代号 | ppf |
---|---|
服务器地址 | 进入fdc后使用指令 /server ppf 进入 |
Minecraft 版本 | JE 1.20.1 |
核心类型 | Gala |
【不定期开放】
代号 | Mod |
---|---|
状态 | |
服务器地址 | mc.fdc.jingyijun.xyz:25588 |
Minecraft 版本 | JE(具体版本详见群内S相关公告) |
联动服务器除非特殊说明, 均可使用 FDCraft 账户登录。
联合大厅是高校联盟最初在2021年6月进行的一项技术性工作,旨在将各个高校的服务器通过同一个群组服代理连接起来,从而使各个高校的玩家可以在各个成员学校服务器直接自由进出,方便各个高校玩家之间交流。由于最初的技术方案维护成本较高、接入方式较复杂,在完成初步测试后,最终放弃进行更大规模的推广应用。
2023年1月底,在基于高校联盟联合验证机制已基本成熟、投入推广使用的背景下,联合大厅建设计划重新启动,并在经过讨论后得到了一个更简单、更易维护的实施方案。各高校可以在保留原有的接入方式的情况下,通过接入联合大厅,使得其他高校的同学能够通过联合大厅访问高校服务器,无需一个个查找服务器地址。
所有拥有子服的服务器均可以使用 /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 |
代号 | SMP |
---|---|
状态 | |
地址 | smp.sjmc.club |
网站 | SMP生存 - SJMC |
游戏版本 | JE 1.20.1 |
核心类型 | Purpur |
特色 | 原版生存 |
备用地址 | 1.19.sjmc.club |
SJMC官网 | SJTU Minecraft Club |
代号 | SJTU |
---|---|
状态 | |
地址 | 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 |
特色 | 原版生存 |
=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 TIP WorldEdit与Axiom的指令不会在此处列出,请前往教程搬运查看相应教程。 注意:需要在客户端上安装与mc版本匹配的AllMusic才能听歌。 FDC使用的是由服务端Leaves提供的假人系统,假人的总指令为 指令列表与说明参见Leaves Fakeplayer。 MCDR是一个基于python的服务端控制工具,可以给原版端或者其他服务端提供一些插件的支持.由于通过监听服务器内的聊天消息来识别指令,MCDR的指令标识与其他指令不同,一般为 非常好用的分锅插件( TIP FDC的建筑榜不是由这个插件构建的,不适用这里的命令。 光标(标宝)为本服特约吉祥物,感谢标宝提供的前期的Christina机器人支持 花fufu在FDC各服务器和互通群内放置了自己的话筒和花花,让FDC各服务器与花fufu群直接能够通话。 快说谢谢fufu! 从交流群中获取互通群的群号后进入,或者进入KOOK的聊天互通频道。 ~~Q群内仅能发送/接受FDC、FDCC的聊天,而各服务器(FDC、FDCC、PPF、FDP、MOD)内可以接收到所有其他服务器的聊天。~~现在都可以了! 花fufu群:群内或者频道内直接发送消息即可发送。 各服务器:直接发送消息即可发送。 ~~在FDC内,可以点击聊天栏内绿色的[图片]并按回车来获取用于显示图片的地图。这个地图本质上就是个普通的地图,可以低下头来查看。注意改变快捷栏的栏位会使地图消失。~~图片挂了() 基于Leaves的Mod协议 基于Leaves的特性 部分应用的FZ生存数据包 收纳袋合成 头颅获取 基于数据包的结构扩充 Mine Treasure 挖矿爆宝箱 注意:需要在客户端上安装与mc版本匹配的AllMusic才能听歌。 面朝下方按潜行键即可召唤“椅子”,右键坐下。再按潜行起身。 手持锄头右键作物可以收获作物。 【施工方】Ithil_hiril 【位置】工业区 (775, 153) 有地狱交通连接(工业区共用地狱门),有冰道。 【注意事项】熔炉使用前请阅读下方内部的使用说明! 【施工方】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) 有地狱交通连接,尚无冰道、 建议从地狱通道进入!主世界只有挂机点。 【用法】从地狱门出来后沿脚手架爬下,即可进入挂机位置。收集在地狱。 【施工方】Synopt 【位置】沙漠定居点附近,有大箭头指示。 【用法】先用床设置重生点(但是暂时没有床)。点击中央音符盒开始刷沙,跳入末地门获取沙子后迅速使用指令回到床边,点击中央音符盒结束刷沙。 【施工方】Cauchy,由Polaris_Light调试各类参数(Polaris_Light:我讨厌purpur) 【位置】主世界坐标:(410,954) 有地狱交通连接(使用旧袭击塔通道),有冰道 【用法】使用前先检查机器内是否有小队长(大概率无),如果有可直接使用;如果无,则需要关闭拉杆(红石灯不亮),前往改造前哨站获取不祥之兆BUFF。 到袭击塔后会出发袭击,等号角声响起或袭击进度条减少后,拉下西北角拉杆。等待袭击进度条消失。(如果出现袭击失败则需要清理机器内的刌民后重复以上流程,袭击失败概率很小,但如果你是非酋,还是有可能袭击失败的。蹲在拉杆下方等待能有效减少袭击失败概率。) 走到修脚平台走上楼梯,关闭活板门蹲着进入,再打开活板门后进入水道,站到堆肥桶内修脚即可,可以用活板门辅助进入堆肥桶内。 必须使用附魔有锋利V横扫之刃III抢夺III经验修补的钻石剑或下界合金剑攻击,穿全套保护IV的钻石装备或下界合金装备,攻击频率有待确认。 离开时直接关闭开关,从地狱门离开即可,不用管剩下的怪物。 欢迎来到 FDCraft|复读世界𒆙! FDCraft 是一系列的多人联机服务器,主要面向复旦大学的学生。 骨干招募 以下部门正在寻找协作者: 有意了解或加入者,请与群内管理员联系。 请加入我们的 QQ 交流群与 KOOK 频道。 QQ 群:1037308494 KOOK:基岩社的冒险家们 其他的相关群聊: 基岩社的苦力怕们:552463299,像素复旦计划PPF建设群 FDC的冒险家:389548214,群内消息和服内消息的互通群,也是专门用于FDC建设交流的场所 如果你有意向加入社团,请通过微信公众号“复旦大学学生社团”访问社团系统,搜索“基岩社”加入社团后联系管理员进入社团群聊。 恭喜你!至此,你已经成功进入服务器了。接下来,请参考"第一天"中的内容快速了解本服务器的基本情况。 本页提供各类技术的教程搬运,欢迎投稿 Minecraft基础 TwkBezierTemplate贝塞尔曲线放样插件教程 一言以蔽之,这个一个用于生成贝塞尔曲线并根据模板生成曲线的插件。 这个插件在FDCC与PPF上有部署。 https://space.bilibili.com/21192142/channel/collectiondetail?sid=1322985 服务端架设 & MUA相关技术文档 PL崩溃报告宝典 InsidePlugins 补订《插件开发日记》 本节将带领你游览 FDCraft|复读世界𒆙的主要区域。游览后,你将对本服务器的大致情况有一个整体把握。 你可以选择跟随下方的指南,取用公共物资来进行建设;你也可以选择不看下面的指南,自己生存:一切都取决于你自己。 未来的旅程充满未知与惊喜,开始新的旅程吧,大冒险家! 欢迎来到 FDCraft|复读世界𒆙!进入服务器,出现在视线中的是一个红色的鸟居,以及其背后的巨大的樱花树(至少看起来像樱花树)。这棵树被称为世界树,它从神秘的末地生长而出,承载着这个世界的秘密。正因此,你正处于的这个世界,FDCraft 的大厅,被命名为“世界树之渊”。 TIP 请走过鸟居,沿着围绕树干的小路向上走,参观世界树顶端的小亭子。 站在小亭子上俯瞰这个地图,你会发现围绕着世界树有三个建筑。 北侧的是【祈愿中心:子虚亭】。二周目时可以在这里投币祈愿获得物品;三周目这里暂时没有被使用,等待着某天再次散发光辉。 东侧的是【平行世界传送中心】。这里是服务器的传送中心。 南侧的是一座建立于很久以前的神社,供奉着未知的神明。 TIP 请前往【平行世界传送中心】,了解各个传送门通向的世界。 参观了【平行世界传送中心】,接下来请通过传送门前往FDC。 TIP 点击左侧聊天栏的 [FDC] 按钮,或者输入 请你试试点击相关链接下面的按钮,看看会显示什么。 进入FDC,出现在你眼前的应该是南面的复旦大学的校徽。 学会查看【旦星一号】是很重要的技能,你能从中迅速找到某个建筑的位置。 出生点附近的箱子和潜影盒装有一些物资。你可以从中获取一些类似镐子食物之类的起始物资。 有时候,中间的箱子里面会一些鞘翅。鞘翅的数量比较有限, TIP 现在鞘翅可以通过在末地挖末地石爆宝箱来获取,但是爆率有限。 在出生点东侧,就是出生点小镇。 在服务器的早期,几个玩家在出生点安家,建立了出生点小镇。 在出生点北面,能看到一个巨大的入口。这是复读地铁1号线的出生点站。 TIP 请进入地铁口。乘坐地铁前往下一站——工业区北站。 注:大部分站点配备了半自动发车装置。若没有矿车,请自行想办法(自己挖矿合成/找人白嫖/...) 提示:复读地铁遵从靠右行驶的交通规则,逆行会遭到截停。为防止与他人发生碰撞等交通事故,请务必遵守此规定! 如果你知道下界交通如何使用的话,也可以通过下界交通游览。可以在旦星一号的下界地图中查看线路。 乘坐复读地铁1号线,你到达的第一站是工业区北站。 TIP 尝试着使用工业区北站的无障碍电梯上行吧! 工业区北站的南面是工业区。工业区是FDCraft最活跃的地方之一,聚集了大量的生电机器获取物资。 FDCraft 是一个和谐互助的服务器。冒险家们经常建造一些有趣而高效的功能性建筑。大家会把自己建造的公共功能性建筑记录在【复读百科】与【旦星一号】中。 TIP 工业区北站附近还有很多有趣的建筑,在周边逛一逛看看都有哪些建筑吧! 回到地铁站,乘坐复读地铁1号线前往下一站——村庄站。 村庄是FDC的第一个大型聚集地,主要放置了一些与农业相关的机器,大量玩家在此定居。 TIP 查看【旦星一号】看看哪些玩家居住在村庄! 位于西面的是开荒仓库,这是FDC的第一个仓库,经过了多次改建后变成了现在的中世纪建筑。如今这里已经不再存放物品,供奉着神秘的神明。 输入 不乘坐复读地铁1号线是因为沙堡-雪原区暂未开通。下界交通可以到达雪原。 雪原区主要是一些与雪有关的建筑,建筑之间相隔都比较远。你可以在【旦星一号】中看到这些建筑的位置。 现在输入 TIP 在住宅区转一下,看看这里都有哪些建筑! 从下界传送门广场向东拾级而下,沿路向东走到底,能看到一座神殿。神殿内供奉着一位神秘的神明,他庇护着服务器的玩家,使玩家的机器与建筑不会被苦力怕或凋零所破坏。 从神殿的中央水柱向下,就来到了物品仓库。物品仓库储存了几乎所有种类的物品,也可以进行简单的物品分类。在这里可以取用建筑所需的材料。 地面上右侧的大箱子为输入,左侧为未分类物品输出,不能分类不可堆叠物品。由于运行需要,取用物品时需要留下一个物品或者使用占位玻璃。 TIP 如果住宅区的材料不够用,你需要前往相应的机器来获取(如圆石),或者自行挖取(如珊瑚块)。有些特殊物品则需要通过在特定群系挖矿爆宝箱要获取(如隐形展示框,Indestructia鞘翅)。 从神殿的中央水柱向上离开神殿,能看到复读公寓。 【复读公寓】是高耸入云的反牛顿建筑。所有玩家都可以在此处免费领取一间住房,作为自己的初始小屋。 领取流程 你需要准备:告示牌x1 使用说明 需要注意的是,使用指令设置的家与床设置的个人出生点无关。可以使用 了解更多服务器的指令,请参阅指令帮助。 当然你也可以选择那些已经装修好的建筑入住,或者建造属于自己的建筑。 至此,“第一天”的指引就结束了。你可以继续浏览本网站以了解更多,也可以在遇到问题时通过本网站查询资料。当然,在群里与朋友们进行交流可能是解决问题的最快方法。 未来的旅程充满未知与惊喜,开始新的旅程吧,大冒险家! 本节将带领你游览 FDCraft|复读世界𒆙的主要区域。游览后,你将对本服务器的大致情况有一个整体把握。 欢迎来到 FDCraft|复读世界𒆙。进入服务器,出现在视线中的是一个红色的鸟居,以及其背后的巨大的樱花树(至少看起来像樱花树)。这棵树被称为世界树,它从神秘的末地生长而出,承载着这个世界的秘密。正因此,你正处于的这个世界,FDCraft 的大厅,被命名为“世界树之渊”。 【任务1】 请走过鸟居,沿着围绕树干的小路向上走,参观世界树顶端的小亭子 站在小亭子上俯瞰这个地图,你会发现围绕着世界树有三个建筑。北侧的是【祈愿中心:子虚亭】,东侧的是【平行世界传送中心】,南侧的是一座建立于很久以前的神社,供奉着未知的神明。 【任务2】 请前往【平行世界传送中心】,了解各个传送门通向的世界 参观了【平行世界传送中心】,接下来请通过传送门前往【生存世界:复读大陆】。 来到【生存世界:复读大陆】,你所在的地区被称为【日月港】,这里是复读大陆的主城。出门后右转直行,这个圆形的广场是日月港的中心广场——复读广场。复读广场下方有一个地铁站,是复读地铁1号线的复读广场站。 【任务3】 请进入复读广场东南侧的地铁口。乘坐地铁前往下一站——复读明珠站。到站后,请出站游览【光华原】。 注:若没有矿车,请自行想办法(自己挖矿合成/找人白嫖/...) 提示:复读地铁遵从靠右行驶的交通规则。为防止与他人发生碰撞等交通事故,请务必遵守此规定! 复读明珠是【光华原】的地标性建筑。光华原被规划为新的居民区,是被森林围绕的一个草原,地势开阔,易于寻找。或许你可以物色一处将来修房子的好地方。 【任务4】 请回到复读明珠地铁站,乘坐开往神樱方向的复读地铁1号线前往下一站——复读神社站。到站后,请拜访复读神社。 复读神社位于【金牛村】。金牛村主要由 2021 年入学的新生共同建立。夜晚时分,金牛村上空漂浮着的点点烛光显得格外浪漫。 【任务5】 请回到复读神社地铁站,乘坐开往神樱方向的复读地铁1号线前往终点站——神樱站。到站后,请出站观赏神樱。 神樱是世界树的枝条在复读大陆绽放的结果。神樱位于【神樱町】,这里是复读大陆的旧主城。神樱町有许多以前的大家留下的痕迹,如“前平行世界传送中心遗址”、“群主的大坑”等等。许多玩家的房屋也建立于此处。但由于主城已换,我们不建议新玩家在神樱町继续发展。而是希望大家前往日月港或光华原进一步开荒。 【任务6】 请回到神樱地铁站,乘坐开往复读广场方向的复读地铁1号线前往终点站——复读广场站。出站后,请找到一栋高耸入云的建筑。 【复读公寓】)是高耸入云的反牛顿建筑。所有玩家都可以在此处免费领取一间住房,作为自己的初始小屋。 【任务7】 请根据复读公寓领取流程领取你的初始小屋。 这里就是你的第一个家了,请好好装扮它吧! 【任务8】 站在认领的复读公寓初始小屋内,使用 了解更多服务器的指令,请参[指令帮助 需要注意的是,使用指令设置的家与床设置的个人出生点无关。 【任务9】 自由探索世界,收集材料制作一些基本家具,摆放在家中。 FDCraft 是一个和谐互助的服务器。冒险家们经常建造一些有趣而高效的功能性建筑。大家会把自己建造的公共功能性建筑记录在【复读百科】中。 【任务10】 参考复读百科,任意拜访一个公共功能性建筑并试用。 每次进入服务器,你都会收到一条运势信息。运势可能是不同等级的凶或者吉,当然,仅作参考。如果你想真正试试自己的运气,不妨通过传送门回到【大厅:世界树之渊】,前往世界树北侧的【祈愿中心:子虚亭】进行祈愿。 【任务11】 使用指令 至此,“第一天”的指引就结束了。你可以继续浏览本网站以了解更多,也可以在遇到问题时通过本网站查询资料。当然,在群里与朋友们进行交流可能是解决问题的最快方法。 未来的旅程充满未知与惊喜,开始新的旅程吧,大冒险家! 以下关键词 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 的叙述解读。 本公约由基岩社工具人团队编写。 任何玩家一旦进入FDCraft,则视为同意本公约。如不认可,请立即退出服务器,并在Minecraft多人游戏列表中删除本服务器的记录。 若不遵守本公约,基岩社工具人团队有权对该玩家的账号进行不同程度的封禁,包括但不限于禁止进入FDCraft下游服务器、禁止进入FDCraft所有服务器、封禁用户中心账号、联合黑名单封禁。 任何玩家有权要求基岩社工具人团队清除其在FDCraft、用户中心等服务器上的相关数据,包括但不限于账号、玩家数据、建筑。 FDCraft不适用任何现实中的社会管理或资源配置理论与概念,包括但不限于农奴制、资本主义、社会主义、共产主义。 FDCraft不喜欢规矩与约束。因此,复读公约会以高度审慎的态度进行制定。一切不必要的约定都不应该被写入本公约。 复读公约不追求成体系的、事无巨细的规范。我们相信我们的同学都是友善的。我们永远以善意对待,并以善意揣测我们的朋友们,为他们送上我们的包容。因此,我们仅基于可能遇到的问题进行一事一议式的约定。 任何人均可以批注、交流群内公开提出、私聊工具人等形式对本公约提出建议。所有的观点将会被公平地对待,并在理性的批判后被评价为合适与否。 为保障玩家的利益,构建起沟通的桥梁,所有玩家 必须 在群名片中注明自己在FDCraft中的名称。 为促进交流,增进友谊,我们 建议 大家采用 功能性建筑即传统意义上的“生电机器”,包括但不限于利用游戏机制生产物品、提供刷怪场地的建筑。 其他一切建筑均属于观赏性建筑,包括但不限于私家住宅、公共景观。 如遇冲突,则视为观赏性建筑,例如一个美丽的刷石机。 如果你的未完成的工地可能被误判为生电机器,则请在醒目的地方标注其不是功能性建筑。或者,你 可以 在沟通中与其他人明确这一点。并且,请相信工具人团队的判断。 乙方的生电用地需求与甲方未完成的(特指基本功能未实现,不包括装饰、改进等流程未完成)生电机器发生冲突时,应当与甲方积极沟通。 若甲方明确反对,则乙方不得强制征用甲方的用地。 若甲方在一定时间内没有回应,乙方 可以 向基岩社工具人团体提交拆除申请。拆除申请提交经工具人团队审核通过后的7天内,若甲方没有明确反对,则乙方 可以 在服务器运维人员的协助下,备份甲方的机器,并在原址处拆除。 旦星是 FDCraft 的全服定位系统(Server-wide Positioning System, SPS)。 旦星一号:http://mc.fdc.jingyijun.xyz:20410/ 是基于 Dynmap 构建的卫星地图与定位系统。 在经历了数月的停摆后,旦星一号重新上线,并标记了绝大部分的机器与建筑的标记点。 尽管搭建了地-空无线电功能,但是更建议通过花fufu转发的方式来进行通信。 警告! 在你没有完全理解这里所说的指令时,请不要尝试修改旦星一号的标记点! 旦星一号使用Dynmap自带的 /dmarker add id:<id> label:<label> icon:<icon> set:<set-id> 你可以使用 参数说明: label:这个标记点在旦星一号上的名称。 set:分组,在旦星一号上将会出现在哪个组中。 icon:这个标记点在旦星一号上的图标,与set-id对应。 id:标记的唯一标识符。其命名规则与该建筑的属性与位置相对应,从上往下依次匹配。 /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是无法被更新的,只能删除后重新创建。 本文主要内容 对于首次入坑 Minecraft Java Edition 的同学来说,没有像网易版那样的一键安装 模组/材质包 的功能确实是个比较难适应的操作,本文旨在帮助纯小白快速入坑 Java 版 MC。 观前提示:为了增进对游戏的整体理解,以免产生不必要的麻烦,建议通读全文而非直接跳到 Minecraft JE 由 账号 Minecraft账号可以理解成玩家在游戏内显示的名称,主要有 注:目前 FDCraft 用的是外置登陆模式,所以无需购买正版账号 游戏本体 启动器 启动器可以看做是一个连接了账号和游戏本体文件的多功能平台,主要分为官方启动器和第三方启动器。 模组安装在 请注意:Fabric 和 Fabric API 是两个东西,有些 Fabric 模组在安装了 Fabric 后还需要在 为方便起见,以下所有模组链接均为笔者更加熟悉的 Curseforge 链接,但是国内打开速度较慢,有需要请自行搜索其他下载源 【体素地图】 VoxelMap Xaero的地图套装 【旅行地图】JourneyMap 【背包整理】Inventory Profile Next 【Masa工具箱】——一系列方便生存的模组 Troubleshooting any problem without the error log is like driving with your eyes closed. 在没有错误日志的情况下诊断任何问题无异于闭眼开车。 ——Apache官方文档 想要诊断崩溃报告和日志,你首先要找到/获取崩溃报告(crash-XXX.txt)和日志(.log),才能知道究竟报了啥错。正如酒石酸所说:发生崩溃时如果找不到崩溃报告,就说“我崩溃了怎么办”,还不如上街找个算命先生算算为什么崩溃好些。 如果有人只问了问题,或者只把HMCL那个带有黑色粗体字“!!!请不要将本页面【截图】给他人!!!”的界面截图发过来,我建议你将这篇的前言复制下来丢给他(或者下面那张图),再将这篇教程丢给他。 当然,必要的时候你也可以打出下面这张图: 好,让我们言归正传,崩溃报告和日志究竟在哪里呢? 游戏崩溃后在崩溃界面点左下角“导出游戏崩溃信息”(不要点“日志”!),然后把导出的压缩包整个发到KOOK/群文件。 游戏崩溃后在崩溃界面点“导出崩溃报告”,然后把导出的压缩包整个发到KOOK/群文件。 如果你是普通玩家,看到这里已经可以照着上面的去做,并关掉这篇教程了。 但是,如果你是一个运维……这还远远不够。 将启动器发送的压缩包解压到某个文件夹中,即可获得崩溃报告和日志。有时候压缩包里面没有崩溃报告,这是正常现象;如果压缩包里面的崩溃报告/日志没有完全导出而有缺少,你需要去直接获取崩溃报告/日志(或者去教那个普通玩家直接获取)。 打开MC安装目录(在有版本隔离的情况下为.minecraft/version/{version_name},没有则为./minecraft,服务器为服务端所在目录),找到crash-report文件夹里面那个最新的文件,就是最近一次崩溃的崩溃报告。 在安装目录里找到logs文件夹,里面的latest.log和debug.log就是最近一次启动的日志。而压缩包则是历史日志,其名称表明了其为那天的第几个日志(如2023-06-02-3.log.gz就是2023-6-2的第三个日志。) 注意 有不少情况是不输出崩溃报告的,此时日志就成为了诊断的依据。 警告 作为一个正常的程序,MC每次启动都会打印日志,无论其是否崩溃。 也就是说,找到的崩溃报告与日志有可能是不匹配的。 现在,我们找到了崩溃报告和日志,那么应该如何找到报错,进行诊断呢? 没有崩溃报告的日志的诊断相对困难,我们先来讲讲崩溃报告。假定现在我们有一个crash-XXX.txt文件。 注意 有时候MC输出了崩溃报告,但是由于启动器打包出错/玩家只发了日志,你可能没法获取到crash-report文件。 这时候你可以尝试在日志中搜索 现在,假设我们面前有一份崩溃报告,我们要干的第一件事情应该是拿一个文本编辑器打开它……先等等!或许我们应该先观察文件本身,而不是急冲冲地去打开。 警告 这样做还有另外一个原因:如果摆在你面前的是一份日志,它可能会非常非常大,导致你的文本编辑器卡死。 一般来说,如果一个日志超过了3MB,就表明程序出现了循环而不断打印日志。此时应该谨慎下载 / 打开这份日志,而是先进行重复行的处理。 一个正常的崩溃报告的文件名应该是长下面这样的: crash-2023-01-02_06.11.37-server.txt 其中 一般来说,发生错误的地方与其错误类型是相对应的。例如在 下面是一个比较典型的崩溃报告: crash-2023-01-28_17.16.47-fml.txt 报错描述是进行报告诊断的重要依据,后面也将按照报错描述对崩溃报告进行分类,阐述解决崩溃的方法。 关于StackTrace,可以先看看下面这篇文章: 什么是堆栈追踪(StackTrace)?如何利用StackTrace对程序进行调试? 对于Minecraft来说,你不能去更改Java/Minecraft/Forge or Fabric,很多时候连Mod也无法更改。而这也是MC崩溃的独特之处,MC的崩溃很可能是玩家的误操作所造成的。除了空指针异常NullPointerException以外,其他类型的Exception有95%可以通过不修改Mod的方式解决,其中又有70%是玩家的误操作造成的。 StackTrace的第一行抛出的异常是非常重要的,因为有时候报错表述并不能提供什么有效信息。 要注意的是,StackTrace有时候会有 一般来说,Head里面没有什么有效的信息。 此处的StackTrace通常就是最顶上的那个堆栈追踪。 这部分的内容会随着报错的改变而改变。 这个报告的报错为 后面按照报错描述对崩溃报告进行分类时会详细讲解这部分。 这里记载了一些环境相关的信息。在有些时候会用到这些东西来进行诊断。 在很多时候,你找到的有嫌疑的Mod是以Mod ID的形式出现的。你可能知道哪个Mod对应哪个文件;但是普通玩家可能并不知道。此时你需要翻到这里,寻找相应的文件名。Mod List不同版本的格式差异比较大,但一般都有文件名与Mod ID的对应。 此外,对于低版本的Forge来说,这个部分也可以成为诊断的标准。在每个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 1.12.2 的Mod List 1.16.5 的Mod List 在崩溃报告的最后经常会出现一些乱七八糟的信息。通常这些东西并不重要。 唯一要注意的是在Client的崩溃报告中会出现这么个东西: 如果这里出现的是A卡,有可能出现渲染的问题。 TIP 如果你看的崩溃报告足够多,还有一个东西是需要看的: 同一个整合包出现的报错往往是相同的(前提是没有乱加Mod),而出错千奇百怪的整合包会被PL列入黑名单直接劝退(如 Isekai Life's Fantasy)。 这一类报错的特征是这样的: 顾名思义,有一个Mod加载时发生了错误。这种情况还有一个明显的特征:Details部分会出现Mod Info,指示是哪个Mod出现了问题。一般来说这种异常会发生在 一个可能的原因是有Mod缺少了前置或前置版本错误,在Mod Info的 解决方法也很简单:按照提示安装相应的Mod。 一个例子:crash-2023-05-10_22.55.41-fml.txt 在日志中,这个异常长得会不太一样,不过依然一眼就能看出来: 很多启动器、高版本的Forge与Fabric已经能自动识别这种错误,因此目前见到的这种情况的崩溃非常少。 另一个可能是有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。 这一类报错的特征是抛出以下两种异常: 此外还经常伴随空指针异常 当发生这个错误时,Minecraft不一定会生成崩溃报告。即使有,其报错描述往往是下面这句没有任何有效信息的话: 如果你在各种日志文件(latest.log / minecraft.log)的末尾发现了同样的异常,那么这个崩溃同样是这个类型。 从其字面意思上看,这个报错的意思是没有找到类,按理是Mod的代码出现了问题;但是这个错误经常是在一个Mod引用其他的Mod的类时发生的。 一个可能的原因是缺少了某个前置Mod,而且这个Mod往往是个核心Mod。这使得MC没有输出崩溃报告,且抛出了一个不太一样的异常。 一个由缺少CCC引起报错的例子:minecraft-1.log 一个由缺少MixinBooter引起的报错的例子:minecraft-2.log 来,上圣经! 如果你发现玩家明明装了前置Mod,却还是报了这个异常,你就要翻到最下方的Mod List,看看这个玩家的Mod文件名是什么。如果出现了中文前缀,很有可能就是因此引起的。 这个问题出现的逻辑是这样的: FML搜索Mods文件夹,找到了两个相关(依赖或者联动)的Mod,从而通过最开始的检查 / 加载联动内容。 FML按照文件名顺序一个个加载Mod,由于中文前缀,Mod的加载顺序变得混乱。 在加载到那个有依赖 / 联动的Mod时,本应先加载的被依赖 / 被联动的Mod却没有被加载。FML没有找到被依赖 / 被联动的Mod的相应类从而抛出异常。 (FML:奇怪,我明明看到了有那个Mod,为啥加载的时候就找不到了呢?) 这个问题一般发生在一些旧版本Mod上,它们高度依赖Mod的加载顺序,而加载顺序的混乱导致了崩溃的发生。解决方案是将相应的Mod的名字改成它原本的样子(从CurseForge或Modrinth上下载下来的文件名)。 (这也是MixinBooter的文件名变来变去,最后变成 可惜的是,总有玩家 / 整合包作者把下载的Mod加上中文前缀,甚至把原本的名字删除,导致不知道哪个文件是哪个Mod;总有启动器 / 网站给Mod加上该死的中文前缀。 在当下,这样做一般不会导致崩溃的发生。因为Forge官方与许多Mod作者做出了妥协,修改了相关的逻辑。但是中文文件名依然会带来潜在的崩溃风险,正确对待文件名的方式依然是不去修改文件名,下载下来是什么就是什么。 顺带一提,有时候MC的安装目录中有中文会导致MC没有声音。解决方案是将MC安装在一个没有中文名的文件目录中(尤其注意用户名中的中文,因此不建议将MC安装在用户文件夹下)。 这种情况在开发环境中更多见。一个Mod使用了自己的类却没找到,说明这个Mod写出了Bug。 解决方法是将Mod给禁用掉并在Github上提Issue,或者尝试将Mod更新至最新版。 这一类报错的特征是这样的: 其字面意思是“无效的id 4096-超出了最大id范围”。 为什么会发生这个问题呢?这就要提到MC如何处理物品的方式了。当一个Mod向MC加入(注册)物品或者方块时,MC会分配给这个物品或者方块一个id,如: 而数字id是有上限的。MC只给数字id分配了12位(0-4095),因此一旦物品过多,id就会越界导致崩溃。 一种解决方法是安装JEID或者NEID。它们将id范围拓展至32位从而解决了这个问题,但是它们往往会有副作用(例如因为id错乱一种方块全部变成了另一种方块、存档不能用MCEdit编辑等),并且一旦安装后就不能卸载,因此一般会在整合包刚开始组建时就安装上。 另一种方法是删除Mod。这个崩溃也经常发生在玩家向玩了一段时间的存档又加了Mod的时候,此时加上JEID或者NEID就有损坏存档的风险,最好的办法就是删除刚刚安装上的Mod。 面对崩溃时,你或许要准备好这些: 重启游戏; 更新Java、显卡驱动; 搞清楚你包里的模组特性,更新/卸载报告里提到的异常模组(并不推荐卸载); 一个WE(创世神)插件或者其他的手段以变更出错的区块; 已经备份的近期存档; 一颗冷静的心。 ——森林蝙蝠 MC的崩溃千奇百怪,在你见到某个崩溃之前可能都不会想到有这种崩溃方式。但实际上,非常多在游戏过程中发生的崩溃中,“嫌疑人”会被当场抓住并被记录到崩溃报告中;但是由于MC输出的崩溃报告可读性极差,很多玩家并不知道如何在崩溃报告去寻找这个记录。 在几乎所有在游戏过程中发生的、部分在启动阶段时发生的崩溃中,如果MC正常输出了崩溃报告,有嫌疑的Mod就会被记录在崩溃报告的StackTrace中。 提示 如果崩溃是在游戏过程中发生的,请务必询问崩溃发生的瞬间玩家在干什么。这有助于后续进行诊断并规避风险。 一个例子:crash-2022-03-12_22.50.26-server.txt 在StackTrace中,先去除一些显然无法改变的东西: 如果去除掉这些还剩下些什么,就说明这种分析方法成功了;如果没剩下什么就说明失效,需要使用一些其他的方法。 在这个例子中,还剩下了这些东西: 如果你见多识广, 由于这个崩溃的描述是 如果崩溃是由mixin注入冲突导致的,最后会剩下许多末尾有一对花括号 一种最简单的解决崩溃的思路是,我们可以选择禁用出错的模组,并在模组作者给出的交流渠道询问这个问题(如在Github上提Issue);或者检查这个Mod(或者整合包)是否有新版本,新版本是否修复了这个bug(可以在Changelog中查看)。 注意 很多时候直接删除并不是个好主意,因为你可能找错了罪魁凶手;一个更合理的方式通过启动器禁用该Mod或者把Mod的后缀名改为 另一种方法需要一点点的经验。有一些报错会与特定的mod绑定,但那个mod不一定会在StackTrace中出现。如渲染问题“一定是Optifine干的!”对于所有渲染问题,都可以尝试禁用Optifine/Sodium来解决,而不一定要删除相应的mod。 Minecraft是个很玄学的游戏,就算你什么模组也不加,玩个原版都有可能崩溃,无非是比有模组时少一点罢了。 ——森林蝙蝠 作为运维,无论是面对着大大小小的服务器,还是社团里社群里形色各异的普通玩家,总是避免不了遇上崩溃。 如果你面对的是社群,你大可以丢给他们一篇森林蝙蝠的、深湖的、北葵的崩溃报告教程而不管他们死活;但是作为服务器运维与社团少有的技术工,你必不可能将这个问题丢给社团的普通玩家,更不能指望让服务器自己修复。 此外,在很多情况下崩溃报告和日志的报错与其解决方案之间并没有直接关联,需要大量的经验积累才能从报错转化为解决方案。 于是就有了这本面向社团运维的崩溃报告宝典,供各位运维学习查阅。 生电,指在生存中运用包括但不限于红石电路与游戏机制(特性)的手段,来实现全自动化或半自动化生产与储存物资。换而言之,生电是一门为了满足生存的需要而出现、由需求端推动但不止于需求端的技术。 生电机器,指运用生电相关的知识而创造的、为生存服务的机器。 判断一台机器是否为生电机器的决定性判据是:这个机器有必要在创造模式中使用吗?如果没有,表明这个机器一定为生电机器;如果有,表明这个机器属于创电的范畴或者尚不能独立完成一些复杂的功能(如单选器)。 最经典的错误判据是根据该机器所使用的知识来判断该机器是否为生电机器。按照这个判据,全物品就会被判入创电之内,但是全物品显然没有在创造中建造的必要。 一切生电机器都是模块化的。大型的生电机器通常都是多个能完成特定功能的模块的组合,而每个小机器又可被切分为更小的模块,直至不可再切分。最小的模块是单个红石元件,但这并不代表不可切分的模块都是一个方块的(甚至有可能不是方块)。 通常来说,一台生电机器可以被切分为三个模块:物品再生,物品采集(使生物、方块转变为物品形式)与物品收集,有一些机器还有物品输入模块;但全物品是个例外,这是其特殊的功能所决定的。 正因为生电机器源自于需求端,其目标十分明确:需要获取的物品。从物品出发,查阅该物品的再生方式与采集方式,根据再生方式设计相应的流程,并根据这个流程设计与拼搭模块,最后对走线进行优化就能得到一台生电机器的原型机。而将一台原型机经过生存实装,对出现的各类问题经过修复与改进后,便得到了一台生电机器。 例如:我们需要获取绿色染料,通过查阅资料(wiki)得知绿色染料由仙人掌烧制而成,而仙人掌通过自然生长再生,当四周有方块时会变为物品。 通过一定的方式放置仙人掌的阵列,构筑再生模块;通过在仙人掌旁边放置方块,使仙人掌变为物品,构筑采集模块;在仙人掌下方放置水流,流经漏斗上方,构筑收集模块。将三个模块组合,就能得到一台原型机。 设计一台生电机器很多时候并不需要用到多么高深的红石知识,而需要对游戏机制与常用模块的功能相当熟悉;但是设计新的模块通常需要对红石与各种机制有较为深刻的认识。实际上,仙人掌农场作为mc中极少数没有使用任何红石元件的机器之一,其再生模块的设计经历了多个版本后才有了一个合理的高效设计,足以说明设计一台机器与设计新模块的难度完全不相干。 由于MC的独特性,每个版本各个方块与生物的特性、物品的再生方式都有所不同。因此作为一名生电玩家,经常性去wiki查阅便成为了重要的一环。在右上角的搜索框搜索相应的名词,即可跳转到与该名词相关的搜索界面,再点击进入相应的词条即可。 Wiki:https://minecraft.fandom.com/zh/wiki/Minecraft_Wiki Bili镜像:https://wiki.biligame.com/mc/Minecraft_Wiki Wiki Bili镜像 Wiki搜索界面 词条界面 wiki上只提供最基本的知识,而真正踏入生电的大门往往是从借鉴他人的机器开始的。一般来说,可能的机器与模块都已经有人做过了,并放出了存档与投影(Part3中会提到)供学习与改进,有些UP主同时会附上原理讲解(如黑山大叔、肥啾U_ruby、Nachuan川川)。 肥啾的指路帖:https://www.bilibili.com/read/cv13612048 技术生存档案馆:https://kaihei.co/Jy4Gf4 通常,这些机器都可以直接用于在生存实装(除了物品收集部分),但实装完并不代表你学会了相关的知识。当你能够维修乃至改进这些机器时,表明你已经真正理解了这方面的知识。 同时,由于生电模块化的特点,在设计机器时往往需要借用现成的优秀模块,因此了解学习他人的设计是必不可少的一环。 下文提到的所有mod的汉化包下载地址:https://www.bilibili.com/video/BV1KN4y1j7ym mod的下载与安装在后文肥啾的教程中有介绍。或者直接使用XPlus整合包:https://beta.mcbbs.net/resource/modpack/eerqnkj3 Litematica是生电所使用的最重要的工具,它能高效地帮助玩家在存档之间转移机器与建筑,方便建筑的测试修改与实装。 肥啾的教程(必看):https://www.bilibili.com/video/BV1Qp4y1x7SM Xekr的教程(更为详细):https://www.bilibili.com/video/BV1DJ411X78m/ 百科的教程:https://www.mcmod.cn/post/1308.html 后文将在肥啾的教程上补充。 当原理图被放下时,在原理图编辑中可以编辑对应的原理图。 原理图编辑 位置:显示/隐藏原理图 锁定位置:防止原理图被意外地移动。当原理图被放下时,首先要做的就是锁定位置。 旋转/翻转:使原理图旋转或翻转。但是许多机器具有方向性(后续讲解),非必要时请不要旋转机器的原理图! 在配置界面-通用中,模式5存在着这样一个配置,它会影响粘贴时对现有方块的操作。 无 非空气 所有 一些大型的原理图往往难以整个去观察,需要只显示部分蓝图,此时就需要改变显示模式。 位于配置界面-热键 按下快捷键(此处为L),即可在不同的渲染模式中切换。 默认,All:渲染全部 Single Layer:渲染一层,按快捷键(此处为上下)改变显示的y高度 Layer Range:渲染一个Y轴区间内(不常用) All below:渲染某个y高度以下,快捷键改变高度 All above:渲染某个y高度以上,快捷键改变高度(不常用) 简单放置功能用于在生存中准确地建造原理图。当简单放置开启时(此处为Y开关),对准原理图已渲染的方块按下快捷键(此处为鼠标右键),就能将手上的方块切换到对应的方块并放置下来(可以浮空)。同时能阻止你放下错误的方块(有时会失灵)。 位于配置界面-热键 简单放置的精准度(方向,位于顶部底部、中继器比较器的模式)取决于所使用的协议。 Version 3:服务端需要装Litematica,支持对红石元件,台阶,活板门,楼梯的精准放置。使用的高校服务器有XJTU。 Version 2:服务端需要装Carpet,支持红石元件与台阶的精准放置。楼梯有时会失灵,活板门只能位于顶部。使用的高校服务器有FDC,XJTU。 Slab Only:仅支持台阶的精准放置。在绝大部分服务器上可以使用。 此外,当下面的选项打开时,如果背包内没有对应方块而背包的潜影盒内有时,会切换至那个潜影盒。 位于配置界面-通用 当放下原理图后,按下M+L,即可查看所需要的材料。此外在加载原理图界面选中原理图后点击材料列表也可以显示这个界面。 材料列表 显示:统计原理图全部的方块还是只统计渲染的方块 信息 HUD:在屏幕的右下角显示不足方块的列表 信息HUD 有时候,原理图自带的染色并不能精确反映其是否影响机器。此时需要按下M+L,可以打开原理图的验证界面,查看更加详细的信息。 原理图验证 下载页面:https://modrinth.com/mod/litematica-printer Printer是litematica的拓展mod,它允许玩家自动放置已经渲染的方块。Printer可以精准地自动放置放置活板门与楼梯,但是不能支持中继器档位的自动调节,对于大面积的台阶也无能为力;并且在玩家周围方块种类较多时错误率相当高。使用Printer在许多服务器被列为作弊行为,但个人认为Printer可以作为简单放置的一个重要补充,但是完全不能替代简单放置。 位于配置界面-热键 按下相应的快捷键(此处为Z,默认为CapsLock)即可开启printer,同时无论printer是否开启,按住快捷键(此处为V)也会开始打印。 强大的工具箱(确信) X+C:打开Tweakeroo的配置界面,Tweakeroo的一切功能都在配置界面设置。如无说明,则位于配置界面-热键。所有的热键都用于切换功能的开关。 开启后,在创造模式下可以凭空放置方块。 开启后,可以防止意外攻击到某些实体(后续讲解,这里可以简单理解为生物)。 位于列表 这里可以设置不进行攻击的实体。 开启后,类似潜行,不会从边缘掉下去,但是保持原来的速度。伪潜行可以用于快速搭路,但是开启时跳跃会变得困难,因此建议设置一个快捷键。 开启后,放置方块时不会与箱子,漏斗、投掷器、中继器等可以右键互动的方块互动,而直接在旁边放下方块。 在放置大量箱子,铺设漏斗链与投掷器链时经常要用到这个功能。 开启后,会往一个方向连续放下多个方块。用于铺设大量相同方块(如糊墙,铺地)。注意这个功能在许多服务器是被判定为作弊的。 开启后,每次按下左右键都会点击多次。在特定情况下会用到(如铁头功破基岩,紫颂花农场种植,手挖区块等)。 位于通用配置 此处可以调整每gt(1/20s,mc中的最小时间单位)点击的次数,通常1就足够了。 开启后,能以特殊的角度放置方块。这是一个经常被人忽视的功能,但是这个功能才是Tweakeroo的精华。 按住Ctrl键或者Alt键后对准方块,能看到这样一个方框: 按住Ctrl,对准相应区域后按右键,将会将方块放在一些正常难以放置的位置(但是原版是可行的)。 中央:橙色染色玻璃(隔空) 四周:红色染色玻璃(对角) Alt需要开启Carpet精准放置协议(服务端需要有Carpet,,即支持Litematica的Version2)。 位于通用配置 按住Alt键,对准相应区域后按右键,能将方块按照相应方向放置。四周就是相应方向,中央是反方向(有时会失灵)。 在许多收集单片中都有大量对角方块的结构,因此学会灵活放置能极大地方便搭建。 开启后,视角能像旁观者一样自由移动,但是实际的交互范围仍然在原地。Tweakeroo必开功能。 效果 如果需要在灵魂出窍时操控本体,就需要打开下面的这个选项。 位于通用配置 开启后,将Gamma值调节为默认1500%,相当于无限夜视。 开启后,当手上的东西快使用完时,会自动从背包中取半组放在手上。 顾名思义,开启后会长按左右键。 开启后,将视线对准容器后按下快捷键(默认为左Alt),即可在不打开容器的情况下查看里面的物品。 这个功能需要服务器支持PCA同步协议,否则只能看到近处的容器。 开启后,如果装备着有水下呼吸附魔的头盔,能在岩浆下看得更清楚。 开启后每隔一段时间单击一下左右键。许多刷怪塔与树厂需要用到这个功能来挂机。 位于通用 此处可以修改时间间隔,以gt为单位,通常由机器决定。 开启后,在背包中将鼠标悬停在潜影盒上按下左Shift,可以查看潜影盒内物品。 黑山大叔的教程: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的基础上抛出合成的物品 在学习这一章的过程中,最好去找一些简单的生电机器来对照着看(如黑山大叔、肥啾U_ruby、Nachuan川川的机器,都面向初学者;同样可以参照FDC内的机器),来更好地理解后面所说的知识;在学习完这个模块后,你就能够理解绝大部分生电机器的基本构建,并自己设计优化一些机器。 物品收集模块指机器中用于将掉落物收集到容器(箱子、潜影盒、木桶)的部分。 Nachuan川川的教程(必学):https://www.bilibili.com/video/BV1PQ4y1C7Rp 后文将在川川的教程上进行补充,初学时可能会感到困难,可以先跳到Part 2。 在设计一个机器的收集模块时,不能单独看其纸面数据来计算所需漏斗倍速,还要根据其输出物品流的类型来设计。 涓流指该机器持续输出物品或者两次输出之间间隔很短,形成的持续不断的物品流,绝大部分机器输出的是涓流。 冲击流指该机器并不是持续输出物品,而是间隔一段时间后输出大量物品,从而形成短时间大量的物品流。由于冲击流的特点,在机器输出的间隔内漏斗往往已经传输完其中缓存的物品而不工作,这使得单个漏斗的效率会远小于9k/h,因此在设计接受冲击流的物品收集模块时,不能仅仅根据纸面数据计算,而是需要结合机器的运行周期来计算。 最典型的例子就是刷花机。以肥啾U_ruby的刷花机单元为例,如果只刷一种花(如矢车菊),纸面数据为: 矢车菊:40k/h , 小麦种子:40k/h 如果仅从纸面数据来计算,共需要10个漏斗收集物品;如果销毁小麦种子仅需5个。但如果仅使用5个漏斗,你将会发现大量的矢车菊也被销毁了。这是因为刷花机的物品流为典型的冲击流,每16s输出178个矢车菊。而一个漏斗单次只能吸收23~26个物品,计算下来需要8个漏斗而非5个。 循环水道是一个不错的将冲击流转化为涓流的方式,但是其缺点也很明显:体积较大,且一旦遭遇爆仓或潜影盒不足就会有大量物品堆积在水道中,造成巨量卡顿。如果为了防止物品堆积而修筑盒子仓库,则会使体积进一步增大。而对于刷花机这样一个小巧的机器来说,构筑那么大的仓库显然不太合适。 实际上,即使是涓流,输出的物品数量也会随着时间而周期性或非周期性地上下浮动,这使得在设计收集时,往往需要设计多余的漏斗或者循环水道来保证所有物品被吸收。 复杂物品流指那些输出物品种类极多,混杂有大量不可堆叠物品(垃圾)的物品流,典型的例子为手砍猪人塔、凋灵骷髅塔、猪灵交易所。这使得这些机器无法使用循环水道,否则会迅速堆积大量垃圾。但是这些机器输出的物品流往往具有着一定冲击流的性质,峰值与谷值间相差较大,在设计收集时也需要大量的多余漏斗。 变化物品流指该机器输出的物品流并不包含固定的物品,而且随着输入的物品变化而变化。典型的例子有刷沙固化机与熔炉组。应对这种物品流,通常有三种方案: a.对所有物品进行编码分类打包,缺点是体积十分大,对于高效率的机器往往无能为力。 b.混杂打包,缺点是物品混杂,取用十分难受。 c.自适应打包,缺点是对建造者与使用者的知识要求较高,对不满盒的处理相对麻烦。 正如上文所言,在设计收集时往往需要设计多余的漏斗,来应对物品流的上下波动。这使得末端的漏斗往往跑不到9k/h的效率,只是用于保证在物品流峰值保证被吸收。那么有什么办法能提升漏斗的平均效率,从而减少多余漏斗的使用呢? 下面是本节结论的推导过程。如果你对于红石元件的功能完全不了解,可以先暂时跳过这段;但是如果你能够理解基础单片的运作原理,请看看下面的推导过程,能拓宽你设计收集的思路。 如果你仔细看了川川的教程,你能发现在其中提到了一种相对不安全的分类单片: 这种分类单片填充物品的样式为[18,1,1,1,1],相较于普通的分类单片,这种分类单片单次能吸收更多的物品。但是当这种单片一次吸收大量物品时,输出的3格信号会解锁旁边分类单片的漏斗(红石信号“串”到了并行的其他的红石“线”上),导致旁边分类单片损坏,因此这种单片不能够堆叠。 那么,只要不去堆叠这种单片,不就消除了串线的风险了吗?同时,由于消除了串线的风险,可以使用一种更为激进的填充方法:[1,18,1,1,1]。这样能单次吸收63个物品,大于两个普通的分类单片,变相提升了单个漏斗的效率。这样就得到了一种大吸力分类单片。 此外,由于不去堆叠,两个大吸力单片中间还可以插入普通的分类单片或者另一种大吸力分类单片,只要能保证这两种单片之间不会串线。那么,如何保证这点呢?可以将两种单片的红石线放在不同的高度上,在对角处放上不透明方块来隔断,就能保证两种单片之间不会串线。将两种大吸力的单片进行堆叠,就能得到一种相对成熟的AB大吸力分类单片设计。 AB,指将两种单片或者物品进行交替使用。相较于普通的堆叠设计,AB的设计施工更加复杂,体积更大,但是拥有着更加优越的性能与稳定性。下面是一种常见的AB大吸力分类单片: A单片 B单片 组合 填充物样式为[1,18,1,1,1]。这种设计每个漏斗每次能吸收(缓存)63个物品,远超常规的设计,因此能够应对物品数量波动较大的物品流。 物品采集模块指机器中将再生物(方块、生物等)转化为物品的部分。不同于物品收集模块,不同机器的物品采集模块差异相当大,从相对复杂的推爆室到仙人掌农场的几根栅栏,都属于物品采集模块。后面会介绍一些相对通用的物品采集模块。 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复制具有着方向或者坐标的限制。对于某个侦测器设计,只能去判断它是否拥有这些限制,但是它会在哪个方向或者坐标失灵则完全依靠测试,甚至在不同服务器上会得到完全相反的结果。对于这种限制的成因尚不明晰。 作为最常使用的TNT复制,其具有着许多的优点:耗材少,易于连接,爆炸点准确,无方向坐标限制等。 这是上面TNT复制的一个变种,相较于原版耗材更少,但是变得具有方向性,仅用于单个使用。 串联 相较于金合欢的三无,这款TNT复制的耗材更少,但是有在特定坐标失效的风险。相较于串联,这种TNT复制模块更适合横向堆叠或者竖向堆叠。 由 minecraftlist.com 提供状态监测服务 2023/1/21 除夕合影 2022/10/1 国庆合影 2022/9/10 中秋合影 2022/3/8 社团落成合影 2021/9/21 中秋合影 希望有uu能参与到服务器的填坑中来。序号后的方括号内为该项需要的技术栈,略有了解或希望了解的uu们都可以分一口锅~ 2022 年 12 月 31日 寒假活动 | 世界初生建设 2022 年 10 月 24日 2022 年 4 月 12 日 2022 年 3 月 24 日 2022 年 3 月 14 日 2022 年 3 月 10 日 2022 年 1 月 18 日 2022 年 1 月 12 日 2021 年 10 月 7 日 活动开始时间:2021年10月3日13:45 宝箱为特定颜色的潜影盒,宝箱内至少有一个活动纪念龙蛋和一个蛋糕(请注意辨识,以防误拿别人的潜影盒) 共 72*2 = 144 个宝箱,分布在“旧主城”、“2021新生村”、“未命名新居民区”、“未命名新主城” 【FDCraft|复读世界𒆙】2.0 已更新,新版启动器已上传至群文件。您可以下载新版启动器,亦可直接升级原有启动器的游戏版本至 Java Edition 1.17.1,并升级相关 mod 版本进服。那么,开始全新的冒险之旅吧! 更新内容如下: 大厅的默认游戏模式为冒险模式,背包与【生存世界:复读大陆】及其附属地图互通。 感谢冒险家们的理解与支持,本次维护的补偿以礼包形式发放。 领取方式:登录服务器,在【大厅:世界树之渊】或【生存世界:复读大陆】及其附属地图,执行指令 /kit comp20220112,该礼包仅可领取一次 补偿内容:2.0更新纪念龙蛋*1 石英块*192 附魔之瓶*20 远古残骸*1 钻石*5 领取期限:即日起至下一次维护 世界树将枝条伸向穹顶,虚空的岛屿上,会发生怎样的故事呢...... 2022 寒假活动地图,【空岛生存:蜃气螭影之宫玉】正式开放。冒险家可通过【大厅:世界树之渊】的平行世界传送中心活动传送门前往。 位置:【空岛生存:蜃气螭影之宫玉】 形式:空岛生存 使用 补偿内容:蜃气螭影之宫玉纪念龙蛋x1、远古残骸x1、钻石x2、紫水晶块x1、铜块x1、避雷针x1、 (通讯员:尚奇)2022年3月8日注定是不平凡的一天。这天下午,FDCraft复读世界服务器服主郭虹麟、群主夏庭浩、基岩社社长陆金泽三人合作通过了社团答辩,酝酿已久的复旦大学Minecraft社团——基岩社——在众人的努力下,终于初步成立了! 当晚,为庆祝基岩社的初步成立,FDCraft举行了合影活动。晚上22:10,在欢快的氛围中,30余名社团成员排排站在FDCraft复读世界服务器大厅的东侧鸟居下合影留念。 作为新建Minecraft社团的服务器服主,郭虹麟同学代表社团与友校上海交通大学的Minecraft社团建立了友好关系,同时也与中国Minecraft高校联盟(MUA)进行了友好交流。 许多社团成员为新建社团送上了美好祝福。吴毅恒同学说:“能在复旦遇到志同道合的朋友,是幸运的,能见证社团的成立更是令人心潮澎湃!大鹏一日同风起,扶摇直上九万里。但愿基岩社如基岩一般坚韧,长盛不衰!”最近新加入的王奕飞同学说:“嘛……在看到树洞贴后才知道旦有这么一个默默无闻的MC社团,3月8晚上匆匆下载想赶来合影……可是还是错过了捏。虽然但是,夜游服务器的感受还是很棒的,神樱的视觉效果很震撼,来来回回兜了好几圈。新手引导也很好捏……感谢群里面大佬们的即时帮助。总之还是很高兴能够在复旦找到归宿,也算是社团正式成立之后第一批加入的伙伴了?从小学开始看红叔视频就想着日后也要找个服务器一起玩,复旦基岩社算是圆梦了吧(看到墓地功能很感慨)。虽然人菜,但是还是希望能为服务器建设干点活的……希望服务器也能成为大家的第二个家。”相信这两位同学的话能很好地代表复旦大学Minecraft爱好者的心情。 笔者作为去年刚入学的21级学生,也算是较早加入FDCraft的一批玩家。暑假刚被录取的时候笔者就加入了复旦大学2021级新生群,然后便在群相册中的“兴趣爱好”相册中惊喜地发现了FDCraft交流群的二维码。当时服务器主城的西边还是未开发之地,笔者和其他几个21级新生在西边集中安家,还给这一片区域取名“21新生村”。这些都是美好的回忆。后来笔者上线没有以前那么多了,至于后来渐渐地基本不再上线了,但服务器却不断地涌入新的血液。 笔者亲历了“基岩社”起名的过程。当时群内就社团起名一事展开了激烈讨论。有“下界之星社”“方块社”等提议,笔者当时的提案是“麦块社”。后来由服主郭虹麟同学提出的“基岩社”这个名字获得了一致赞同。笔者认为,“基岩”不仅是Minecraft标志性的方块,能让人一眼看出这个社团的主要成分,更是坚毅、沉稳等美好品质的象征。 社团的核心运营者建立了 “工具人”群。为了宣传社团落成的这个好消息,群内的成员分工明确:有的做公众号推送、有的提供服务器美图、有的出点子……笔者有幸接下了撰写这篇通讯稿的任务。虽然笔者是新闻学院的学生,但作为新生,写通讯稿还是一个很大的挑战。这也是笔者的第一篇通讯稿,实在是能力有限,也谨以此献给新建的复旦大学基岩社团。祝愿基岩社以后能更好地发展,不断有新鲜血液加入,也希望笔者以后能为基岩社做出更多贡献。 时间:2022 年 3 月 使用锄头努力耕作,甚至用坏三把下界合金锄 FDCraft 耕地农庄纪念龙蛋x1、下界合金锄头x1、下界合金锭x2 全体奖励将于活动结束后通过礼包发放 【下界合金锄:农耕之心·锄头の太上】 解锁条件 活动时间(2022 年 3 月)内用坏 3 把下界合金锄领取方式 达成解锁条件后自动获得 【日与夜】此锄头经过日以继夜的锻造竟无法对它造成分毫损毁 FDCraft 2022 年 3 月锄地活动纪念锄 2022 年 3 月 23 日接到来自 SJMC 社长 ff98sha 的消息, SJMC 1.18 服务器现已接入 FDCraft 用户中心. 基岩社乃至全体复旦大学的 Minecraft 爱好者可以通过 FDCraft 账号进入 SJMC 1.18 服务器. 欢迎大家前往上海交通大学的服务器展开友好交流! SJMC 1.18.1 详情请见 纯净1.18.1生存 - SJMC 【PPF】像素 FDU 计划 像素 FDU 计划服务器正式上线,所有 FDCraft 用户均可使用 FDCraft 账户进入服务器,并以冒险模式进行参观游览。同时,游客使用 像素 FDU 计划建设期间,由于权限管理工具的局限性,建筑师需要在进入服务器后通知运维添加建筑师权限,包括 与此同时,旦星二号正准备发射,旦星二号将展现像素 FDU 计划地图的实景影像,以供外围用户游览。 欢迎大家踊跃参与建设! ----------------------------------- 周目更换,不继承二周目的背包与数据。 使用 新FDCraft 用户中心、SJMC Skin 或 XJTUMC Skin 账户登录。 复旦玩家请前往 FDCraft 用户中心 注册账户。 推荐使用 HMCL 登录,认证服务器地址为 https://auth.fdc.jingyijun.xyz/api/yggdrasil。 像素 FDU 计划服务器暂未接入,有待后续通知,敬请期待。 与 SJMC 服内传送功能暂时停用。 感谢 Jingyijun、ART1st 以及新周目筹备小组全体成员提供的大力支持。 由 minecraftlist.com 提供状态监测服务 2023/1/21 除夕合影 2022/10/1 国庆合影 2022/9/10 中秋合影 2022/3/8 社团落成合影 2021/9/21 中秋合影 希望有uu能参与到服务器的填坑中来。序号后的方括号内为该项需要的技术栈,略有了解或希望了解的uu们都可以分一口锅~ 2022 年 12 月 31日 寒假活动 | 世界初生建设 2022 年 10 月 24日 2022 年 4 月 12 日 2022 年 3 月 24 日 2022 年 3 月 14 日 2022 年 3 月 10 日 2022 年 1 月 18 日 2022 年 1 月 12 日 2021 年 10 月 7 日 【FDCraft|复读世界𒆙】2.0 已更新,新版启动器已上传至群文件。您可以下载新版启动器,亦可直接升级原有启动器的游戏版本至 Java Edition 1.17.1,并升级相关 mod 版本进服。那么,开始全新的冒险之旅吧! 更新内容如下: 大厅的默认游戏模式为冒险模式,背包与【生存世界:复读大陆】及其附属地图互通。 感谢冒险家们的理解与支持,本次维护的补偿以礼包形式发放。 领取方式:登录服务器,在【大厅:世界树之渊】或【生存世界:复读大陆】及其附属地图,执行指令 /kit comp20220112,该礼包仅可领取一次 补偿内容:2.0更新纪念龙蛋*1 石英块*192 附魔之瓶*20 远古残骸*1 钻石*5 领取期限:即日起至下一次维护 世界树将枝条伸向穹顶,虚空的岛屿上,会发生怎样的故事呢...... 2022 寒假活动地图,【空岛生存:蜃气螭影之宫玉】正式开放。冒险家可通过【大厅:世界树之渊】的平行世界传送中心活动传送门前往。 位置:【空岛生存:蜃气螭影之宫玉】 形式:空岛生存 使用 补偿内容:蜃气螭影之宫玉纪念龙蛋x1、远古残骸x1、钻石x2、紫水晶块x1、铜块x1、避雷针x1、 (通讯员:尚奇)2022年3月8日注定是不平凡的一天。这天下午,FDCraft复读世界服务器服主郭虹麟、群主夏庭浩、基岩社社长陆金泽三人合作通过了社团答辩,酝酿已久的复旦大学Minecraft社团——基岩社——在众人的努力下,终于初步成立了! 当晚,为庆祝基岩社的初步成立,FDCraft举行了合影活动。晚上22:10,在欢快的氛围中,30余名社团成员排排站在FDCraft复读世界服务器大厅的东侧鸟居下合影留念。 作为新建Minecraft社团的服务器服主,郭虹麟同学代表社团与友校上海交通大学的Minecraft社团建立了友好关系,同时也与中国Minecraft高校联盟(MUA)进行了友好交流。 许多社团成员为新建社团送上了美好祝福。吴毅恒同学说:“能在复旦遇到志同道合的朋友,是幸运的,能见证社团的成立更是令人心潮澎湃!大鹏一日同风起,扶摇直上九万里。但愿基岩社如基岩一般坚韧,长盛不衰!”最近新加入的王奕飞同学说:“嘛……在看到树洞贴后才知道旦有这么一个默默无闻的MC社团,3月8晚上匆匆下载想赶来合影……可是还是错过了捏。虽然但是,夜游服务器的感受还是很棒的,神樱的视觉效果很震撼,来来回回兜了好几圈。新手引导也很好捏……感谢群里面大佬们的即时帮助。总之还是很高兴能够在复旦找到归宿,也算是社团正式成立之后第一批加入的伙伴了?从小学开始看红叔视频就想着日后也要找个服务器一起玩,复旦基岩社算是圆梦了吧(看到墓地功能很感慨)。虽然人菜,但是还是希望能为服务器建设干点活的……希望服务器也能成为大家的第二个家。”相信这两位同学的话能很好地代表复旦大学Minecraft爱好者的心情。 笔者作为去年刚入学的21级学生,也算是较早加入FDCraft的一批玩家。暑假刚被录取的时候笔者就加入了复旦大学2021级新生群,然后便在群相册中的“兴趣爱好”相册中惊喜地发现了FDCraft交流群的二维码。当时服务器主城的西边还是未开发之地,笔者和其他几个21级新生在西边集中安家,还给这一片区域取名“21新生村”。这些都是美好的回忆。后来笔者上线没有以前那么多了,至于后来渐渐地基本不再上线了,但服务器却不断地涌入新的血液。 笔者亲历了“基岩社”起名的过程。当时群内就社团起名一事展开了激烈讨论。有“下界之星社”“方块社”等提议,笔者当时的提案是“麦块社”。后来由服主郭虹麟同学提出的“基岩社”这个名字获得了一致赞同。笔者认为,“基岩”不仅是Minecraft标志性的方块,能让人一眼看出这个社团的主要成分,更是坚毅、沉稳等美好品质的象征。 社团的核心运营者建立了 “工具人”群。为了宣传社团落成的这个好消息,群内的成员分工明确:有的做公众号推送、有的提供服务器美图、有的出点子……笔者有幸接下了撰写这篇通讯稿的任务。虽然笔者是新闻学院的学生,但作为新生,写通讯稿还是一个很大的挑战。这也是笔者的第一篇通讯稿,实在是能力有限,也谨以此献给新建的复旦大学基岩社团。祝愿基岩社以后能更好地发展,不断有新鲜血液加入,也希望笔者以后能为基岩社做出更多贡献。 时间:2022 年 3 月 使用锄头努力耕作,甚至用坏三把下界合金锄 FDCraft 耕地农庄纪念龙蛋x1、下界合金锄头x1、下界合金锭x2 全体奖励将于活动结束后通过礼包发放 【下界合金锄:农耕之心·锄头の太上】 解锁条件 活动时间(2022 年 3 月)内用坏 3 把下界合金锄领取方式 达成解锁条件后自动获得 【日与夜】此锄头经过日以继夜的锻造竟无法对它造成分毫损毁 FDCraft 2022 年 3 月锄地活动纪念锄 2022 年 3 月 23 日接到来自 SJMC 社长 ff98sha 的消息, SJMC 1.18 服务器现已接入 FDCraft 用户中心. 基岩社乃至全体复旦大学的 Minecraft 爱好者可以通过 FDCraft 账号进入 SJMC 1.18 服务器. 欢迎大家前往上海交通大学的服务器展开友好交流! SJMC 1.18.1 详情请见 纯净1.18.1生存 - SJMC 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 2022 年 3 月 24 日 FDCraft: 复读世界𒆙已接入 SJMC Skins. SJMC 乃至全体上海交通大学大学的 Minecraft 爱好者可以通过 SJMC Skins 账号进入复读世界𒆙服务器. 欢迎来自上海交通大学的朋友前往复读世界𒆙展开友好交流! 【PPF】像素 FDU 计划 像素 FDU 计划服务器正式上线,所有 FDCraft 用户均可使用 FDCraft 账户进入服务器,并以冒险模式进行参观游览。同时,游客使用 像素 FDU 计划建设期间,由于权限管理工具的局限性,建筑师需要在进入服务器后通知运维添加建筑师权限,包括 与此同时,旦星二号正准备发射,旦星二号将展现像素 FDU 计划地图的实景影像,以供外围用户游览。 欢迎大家踊跃参与建设! ----------------------------------- 周目更换,不继承二周目的背包与数据。 使用 新FDCraft 用户中心、SJMC Skin 或 XJTUMC Skin 账户登录。 复旦玩家请前往 FDCraft 用户中心 注册账户。 推荐使用 HMCL 登录,认证服务器地址为 https://auth.fdc.jingyijun.xyz/api/yggdrasil。 像素 FDU 计划服务器暂未接入,有待后续通知,敬请期待。 与 SJMC 服内传送功能暂时停用。 感谢 Jingyijun、ART1st 以及新周目筹备小组全体成员提供的大力支持。=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指令帮助
Velocity跨服
指令 描述 /server [tag] 切换至FDC下的各个子服(如fdp、ppf),或在其他学校的服务器内切换子服。 /hub 如果你从联合大厅进入FDC,可以通过这个指令切换至其他学校的服务器。 Bukkit插件指令
消息
指令 描述 /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 传送至出生点。 点歌
指令 描述 /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 假人指令
/bot
。它的使用与Carpet的假人系统有着非常大的不同。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数据统计
指令 描述 !!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>] 仅自己可见。 其他
',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('指令 描述 !!jrrp 获取今日人品! !!joinMOTD 显示入服欢迎。 !!day 查询开服时间。 !!hitokoto 获取一句一言! 服务器特性介绍
群机器人
小Unicorn
使用方法
交流群内发送 返回内容 -fdc 基岩社所有服务器状态 -sjmc 上交MC社所有服务器状态 -tjmc 同济MC社所有服务器状态 -mc 以上所有服务器状态 -mclive或-sjmclive 交大MC社B站直播间状态 -fdclive 基岩社B站直播间状态 花fufu
使用方法
指令列表
互通群/频道内发送 返回内容 !!help 查看指令帮助 !!ping pong!! !!online 查看FDC在线人数 !!stats 显示FDC的一些统计信息,具体见帮助 !!info (仅限频道) 显示服务器状态 服务器保护
生电友好
内容扩充
',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('服务器特性&指令介绍
服务器保护
指令 描述 /tsg check 开启查询模式,再次输入指令关闭。可以查询某处方块变化的记录 /tsg near 查询附近的方块变化。 /tsg page 查询全局的方块变化。 生电
Carpet
其他 Mod
传送
指令 描述 /home <homes> 传送到家的位置。如果你有多个家,则后面的参数是必需的。 /sethome <name> 在当前位置设置家。 /delhome <name> 删除一个你创建的家。 /tpa <player> 请求传送到指定的玩家。 /tpahere 请求指定玩家传送到你的位置。 /tpaall 请求所有在线玩家传送到你的位置。 /tpaccept 接受传送请求。 /tpacancel [player] 取消所有待处理的传送请求。指定[player]来取消他的请求。 /back 传送你至先前的位置。 /spawn 传送至出生点。 点歌
指令 描述 /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的设置。 椅子
作物收获
功能性建筑
120自动熔炉组
196k竖式刷石机
蜜绿全树种树场
开荒仓库
四核时钟式刷铁机
飞行器甘蔗机
简易植物繁殖处
丐中丐版袭击塔
改造前哨站
双核沼泽史莱姆农场
简易双维度鱼塔
刷沙机1&末地门2
气泡柱迁移式袭击塔
新人指南
取得联系
进入服务器
教程搬运
红石基础
生电
建筑
建筑学理论
建筑风格
建筑工具
服务器运维
核心(Server Core)
崩溃报告
网络
内网穿透 - frp
反向代理 - Nginx
插件开发
新媒体技术
视频录制 - 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('第一天
世界树与新的旅程
/server fdc
,也可以进入主服务器。出生点
且难以再生。如果你只是来服务器参观,请不要取用鞘翅,善用/tpa传送。潜影盒中可能会有用于飞行的3级烟花火箭。出生点小镇
复读地铁一号线
工业区
村庄
雪原区
/warp snowy
,就能能来到远东的雪原区。住宅区
/warp residential
,就能直接来到住宅区的下界传送门广场。住宅区是一片广阔的区域,非常多的玩家在此建造自己的别墅与观赏建筑。第一个庇护所
/sethome
指令设置家。离开家后,可以使用/home
指令回家。/home bed
回到床。开始新旅程
第一天
世界树与新的旅程
神樱与复读大陆
我的第一个庇护所
/sethome
指令设置家。离开家后,使用/home
指令回家。这是什么厉害的东西?
今天运势如何
/kit newbie
领取新人礼包。使用新人礼包中的钻石与远古残骸在【祈愿中心:子虚亭】进行祈愿。开始新旅程
复读公约
总则
关于服务器属性
「生电服」的规则
一节与复读公约进行比对。FDCraft不喜欢规矩与约束,任何不破坏他人游戏体验的行为都是被允许的。关于群名片的约定
ID-年级专业-真实姓名
的格式编辑自己的群名片。关于服务器公共资源与私有资源的约定
关于生电用地冲突的约定
功能性建筑与观赏性建筑
冲突处理流程
修订说明
2023.6.25
2023.11.10
',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('软件版本
注:本界面已经年久失修,且不会再更新!
旦星 SPS
旦星一号
标记点
/dmarker
指令来在其上进行标记。但是为了更易维护,其参数的填写有一个比较复杂的规则。标记点添加
/dmarker list set:<set-id>
指令查看现有的参数,来更好地理解下面的规则。理论上不需要这些参数也可以添加标记点,但是其结果是自动随机分配参数而不是留空。分组 set-id icon 生电机器 machine silverstar 观赏性建筑 spectacle bighouse 私宅 house goldstar 传送门 portal portal 分组 id与规则,?代表序号 无论在哪的私宅 house?,多个私宅为house_?_?,仅用于house set 主世界-工业区 industry_? 主世界-村庄 village_? 主世界-沙漠聚居点 desert_? 主世界-住宅区 residential_? 下界 nether_?,双维度机器相应的下界端id为individual_0? 下界传送门 portal_?,仅用于portal set 末地 end_? 主世界-非集群的机器 individual_?,双维度机器相应的下界端id为individual_0? 主世界-非集群的建筑 individual_building_? 标记点删除
标记点更新
全部指令集
',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('命令 描述 /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 的线的属性(可选:记号集) 【真·纯萌新指南】Minecraft 基本操作
如何安装模组/材质包/光影/数据包
部分。Minecraft JE 的基本结构
账号-游戏本体-启动器
三个部分组成正版账号/离线账户/外置登陆
三种相互独立的形式。fudan.edu.cn
或 m.fudan.edu.cn
结尾的邮箱在 用户中心 注册后,可以快捷的更换皮肤等。.minecraft
的文件夹内(在狗都不用的官方启动器的游戏目录内,该文件夹是默认隐藏的,我们不建议使用官方启动器),内含游戏的各种资源如:源文件、存档、资源包etc. 在 HMCL 启动器中,该文件夹又称为游戏目录,可以自行设置目录名称。【注:本文为了方便起见,均使用 .minecraft
文件夹来代指该目录文件夹,实际情况下可以根据你的用途自行更改】F2
后产生的的游戏内画面截图模组/材质包/数据包介绍以及安装
.minecraft/mods
文件夹内,直接将下载好的 模组名.jar
文件拖入该文件夹下即可,然后在启动器内刷新,就可以看到被成功安装的模组。多数第三方启动器都具有开关模组的勾选功能,其实质其实只是把 模组名.jar
改成了 模组名.disabled
。mods
文件夹中安装 Fabric API,这个信息一般会写在模组介绍的前几行,请注意查看。建议安装 Fabric 的同时直接一并安装 Fabric API,以免后续安装模组时产生不必要的麻烦。.minecraft/resorcepacks
下,不解压也可以正常使用。在网上下载后直接拖入该文件夹,进入 游戏-视频设置-资源包
界面即可开关材质包。.minecraft/saves/地图名称/datapacks
内,和资源包一样,也无需解压便可以正常使用。Planetminecraft 上收集的数据包较为全面,是较为主流的数据包来源网站。高版本常用辅助性模组介绍
',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('I+C
进入设置菜单Episode1 崩溃报告和日志在哪里?
面向普通玩家
HMCL
PCLII
面向运维
解压压缩包
直接获取
Episode2 认识崩溃报告
---- Minecraft Crash Report ----
来找到崩溃报告;当然没有找到也是正常的。文件名
2023-01-02_06.11.37
是时间戳,而server
则表明发生错误的是服务端。类似的,client
表明客户端,fml
表明Forge Mod Loader。fml
发生的错误往往是Forge损坏 / Mod损坏 / 前置缺失,不可能是渲染问题等。崩溃报告结构
我不建议你在这里看
---- 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.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 ...
Caused by
部分,这时候Cause by
后面抛出的异常也要作为判断依据。分割线
A detailed walkthrough of the error, its code path and all known details is as follows:
+---------------------------------------------------------------------------------------
Head
-- Head --
+Thread: Render thread
+Stacktrace:
+ at net.minecraftforge.fml.CrashReportExtender.lambda$dumpModLoadingCrashReport$7(CrashReportExtender.java:74) ~[forge:?] {re:classloading}
Thread
:发生错误的线程,一般都是Render thread
。Details
-- 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
Status
表明这个Mod的状态,状态码不正常的即为出错的Mod。 UCHIJAAAA Mekanism{9.1.0} [Mekanism] (Mekanism-1.7.10-9.1.0.281.jar)
| State | ID | Version | Source | Signature |
+ |:------ |:-------- |:------- |:----------------------------- |:---------- |
+ | LCHIJA | mekanism | 9.8.3 | Mekanism-1.12.2-9.8.3.390.jar | None |
Mekanism-1.18.2-10.2.5.465.jar |Mekanism |mekanism |10.2.5 |DONE |Manifest: NOSIGNATURE
其他乱七八糟的东西
RoadRunner != Lithium: This instance was launched using RoadRunner, which is an *unofficial* Lithium fork! Please **do not** report bugs to them!
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.
Launched Version: 忘却之刻 — Times Of Oblivion
:版本名称(整合包名称)Mod loading error has occurred
Description: Mod loading error has occurred
fml
,但有时候也会发生在server
。前置缺失&版本错误
Failure message
中会提示需要的Mod与其版本要求。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
[16:39:34] [Client thread/ERROR] [FML/]: The mod manametalmod (ManaMetalMod) requires mod versions [Muya@[1.7.1,1.7.1]] to be available
[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)
Mod损坏
NoClassFound
java.lang.NoClassDefFoundError
+java.lang.ClassNotFoundException
java.lang.NullPointerException
。Description: There was a severe problem during mod loading that has caused the game to fail
前置缺失
乱改文件名
!mixinbooter-XXX.jar
的原因。非常多Mod使用了mixin,为了防止猪鼻Mod,MixinBooter特意加上英文感叹号来使自己第一个加载。)Mod有Bug
Invalid id 4096
java.lang.RuntimeException: Invalid id 4096 - maximum id range exceeded.
原因
95
、minecraft: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)解决方法
Episode3 崩溃报告分类&解决方法
序言
通用分析方法
re:mixin
字样的net.minecraft行 at com.meteor.extrabotany.common
+ at littleMaidMobX
+ at WorldServerOF
extrabotany
是额外植物学,littleMaidMobX
是小女仆,WorldServerOF
是Optifine。当然你也可以通过Bing来知道这些东西是什么。Description: Colliding entity with block
,必定与渲染无关,大概率没有Optifine的事情。因此这次崩溃的“元凶”就是额外植物学和小女仆。{}
的开头为net.minecraft行。这是因为,有不少mod需要改变原版的代码,但是原版并不开源,不允许被直接修改,需要mixin在代码运行时进行注入来达到改变的目的。在{}
内,记录了对这段代码进行注入的mod。一般来说第一个出现的mod就是造成崩溃的罪魁祸首(但并不绝对)。通用解决方法
.jar.disabled
来禁用该Mod。PL的崩溃报告宝典
PL的生电教程
Episode 1 | 基本知识
Part 1 | 认识生电
什么是生电?
什么是生电机器?
生电是模块化的生电
生电机器设计的基本流程
Part 2 | 资料的查询
学会查阅wiki
了解学习他人的设计
Part 3 | 工具的使用
XeKr红石显示
Litematica(投影)
模式2补充
模式5补充
模式\\情况 原理图有方块 原理图为空气 无 不替换现有方块 不替换现有方块 非空气 替换现有方块 不替换现有方块 所有 替换现有方块 替换现有方块 蓝图显示模式
简单放置
材料列表
原理图验证
litematica-printer
Tweakeroo
凭空放置
实体攻击限制
伪潜行
屏蔽方块交互
方块快速放置
左右键快速点击
方块灵活放置
灵魂出窍
伽马覆写
自动补货
长按左右键
容器预览
岩浆夜视
周期性单击左右键
潜影盒预览
ItemScroller
移动物品
快速合成
Minihud
Carpet
Episode 2 | 常见的模块
图例
Part 1 | 物品收集模块
物品流分析
涓流与冲击流
复杂物品流
变化物品流
AB大吸力分类单片
Part 2 | 物品采集模块
TNT复制(方块、生物)
原理
方块更新
激活
侦测器设计
金合欢三无&变种
水星嗷三无
服务器状态
三周目画廊
二周目画廊
合影
腐竹的新坑
',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('查看服务器状态 已实现。与群友闲聊 已实现,基于GPT-3,但由于某些原因通常不开启。动态
国庆快乐 - 2021 国庆节寻宝活动
战果记录
',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('ID 蓝色宝箱 青色宝箱 紫色宝箱 红色宝箱 金色宝箱 投放总数 45 35 30 24 10 Charles 17 14 9 2 1 ystgod 3 8 17 8 5 half_night 2 2 2 2 1 Synopt 2 4 1 0 1 vegetablest_dog 6 3 0 60 0 Mirrorlife2000 12 1 0 3 2 【FDCraft|复读世界𒆙】2.0 更新公告
新地图:【大厅:世界树之渊】
特性修改
问题修复
常规提升
已知问题
维护补偿
蜃气螭影之宫玉
活动详情
时间:2022 年 1 月 18 日 ~ 2022 年 2 月 18 日
奖励:活动结束后,根据空岛最终规模发放奖励礼包。礼包包含稀有矿石、工具、建材等物资特性修改
/sethome <name>
设置最多两个家(连同 bed,一共最多有三个家)/back
回到上一个地点(死亡或传送地点)维护补偿
/kit comp20220118
领取维护补偿
领取时间:即日起至下一次维护之前通讯 | 复旦大学基岩社通过答辩
3 月活动 | 耕地农庄
任务内容
任务奖励
全体奖励
限定奖励
保护I & 无法破坏の锄头
【农耕之心】锄头の太上感受到挑战者对农耕的热忱决定为您所用
在主手时 +50% 最大生命值
在副手时 +2 击退抗性 +40% 攻击伤害SJMC 1.18 现已支持 FDCraft 用户中心
地址 1.18.sjmc.club 游戏版本 JE 1.18.1 核心类型 Vanilla 特色 原版生存 像素 FDU 计划服务器正式上线
代号 ppf 状态 服务器地址 ppf.fdc.hath.top(:25565) Minecraft 版本 JE 1.18.2 核心类型 Paper, Spigot, Bukkit /fly
可以切换飞行模式。【FDCraft|复读世界𒆙】3.0 现已开启!
代号 fdc 状态 Java 版地址 mc.fdc.jingyijun.xyz 基岩版地址 mc.fdc.jingyijun.xyz 兼容版本 JE 1.19.4 & BE 特性版本 JE 1.19.4 核心类型 Purpur
',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 @@
+
+
+
+
+
+ 软件版本
注:本界面已经年久失修,且不会再更新!
服务器状态
三周目画廊
二周目画廊
合影
腐竹的新坑
查看服务器状态 已实现。与群友闲聊 已实现,基于GPT-3,但由于某些原因通常不开启。动态
【FDCraft|复读世界𒆙】2.0 更新公告
新地图:【大厅:世界树之渊】
特性修改
问题修复
常规提升
已知问题
维护补偿
蜃气螭影之宫玉
活动详情
时间:2022 年 1 月 18 日 ~ 2022 年 2 月 18 日
奖励:活动结束后,根据空岛最终规模发放奖励礼包。礼包包含稀有矿石、工具、建材等物资特性修改
/sethome <name>
设置最多两个家(连同 bed,一共最多有三个家)/back
回到上一个地点(死亡或传送地点)维护补偿
/kit comp20220118
领取维护补偿
领取时间:即日起至下一次维护之前通讯 | 复旦大学基岩社通过答辩
3 月活动 | 耕地农庄
任务内容
任务奖励
全体奖励
限定奖励
保护I & 无法破坏の锄头
【农耕之心】锄头の太上感受到挑战者对农耕的热忱决定为您所用
在主手时 +50% 最大生命值
在副手时 +2 击退抗性 +40% 攻击伤害SJMC 1.18 现已支持 FDCraft 用户中心
地址 1.18.sjmc.club 游戏版本 JE 1.18.1 核心类型 Vanilla 特色 原版生存 消息 | FDCraft 加入 MUA
复读世界𒆙现已支持 SJMC Skins
像素 FDU 计划服务器正式上线
代号 ppf 状态 服务器地址 ppf.fdc.hath.top(:25565) Minecraft 版本 JE 1.18.2 核心类型 Paper, Spigot, Bukkit /fly
可以切换飞行模式。【FDCraft|复读世界𒆙】3.0 现已开启!
代号 fdc 状态 Java 版地址 mc.fdc.jingyijun.xyz 基岩版地址 mc.fdc.jingyijun.xyz 兼容版本 JE 1.19.4 & BE 特性版本 JE 1.19.4 核心类型 Purpur