PageSourceSearch

https://www.nukkit-mot.com/zh/assets/js/787720fc.0cb3ec3d.js

js nukkit-mot.com collected 2026-10-04 21:53:35 UTC 17,589 bytes, 1 lines download raw bytes

1"use strict";(globalThis.webpackChunknk_mot=globalThis.webpackChunknk_mot||[]).push([[8263],{3698(e,n,r){r.r(n),r.d(n,{assets:()=>d,contentTitle:()=>u,default:()=>x,frontMatter:()=>o,metadata:()=>s,toc:()=>h});const s=JSON.parse('{"id":"user-guide/server-config/resourcepacks-encryption","title":"\u8d44\u6e90\u5305\u52a0\u5bc6","description":"Nukkit-MOT \u652f\u6301\u4f7f\u7528\u52a0\u5bc6\u8d44\u6e90\u5305\u4fdd\u62a4\u60a8\u7684\u4f5c\u54c1\u3002\u672c\u6307\u5357\u5c06\u5e2e\u52a9\u60a8\u901a\u8fc7\u7b80\u5355\u7684\u4e09\u6b65\u914d\u7f6e\u5b9e\u73b0\u8d44\u6e90\u5305\u52a0\u5bc6\u3002","source":"@site/i18n/zh/docusaurus-plugin-content-docs/current/user-guide/server-config/resourcepacks-encryption.mdx","sourceDirName":"user-guide/server-config","slug":"/user-guide/server-config/resourcepacks-encryption","permalink":"/zh/docs/user-guide/server-config/resourcepacks-encryption","draft":false,"unlisted":false,"editUrl":"https://github.com/MemoriesOfTime/Nukkit-MOT-Wiki/tree/master/i18n/zh/docusaurus-plugin-content-docs/current/user-guide/server-config/resourcepacks-encryption.mdx","tags":[],"version":"current","sidebarPosition":3,"frontMatter":{"sidebar_position":3},"sidebar":"tutorialSidebar","previous":{"title":"nukkit-mot.yml","permalink":"/zh/docs/user-guide/server-config/nukkit-mot-yml"},"next":{"title":"\u5f00\u53d1\u6587\u6863","permalink":"/zh/docs/category/developer-documentation"}}');var t=r(4848),c=r(8453),a=r(9223),i=r(5645),l=r(7227);const o={sidebar_position:3},u="\u8d44\u6e90\u5305\u52a0\u5bc6",d={},h=[{value:"\ud83d\udce6 \u52a0\u5bc6\u8d44\u6e90\u5305",id:"encrypt-resource-pack",level:2},{value:"\ud83d\udd11 \u914d\u7f6e\u52a0\u5bc6\u5bc6\u94a5",id:"configure-key",level:2},{value:"\ud83d\udd04 \u91cd\u542f\u670d\u52a1\u7aef",id:"restart-server",level:2},{value:"\u2753 \u5e38\u89c1\u95ee\u9898\u89e3\u7b54",id:"faq",level:2}];function p(e){const n={a:"a",admonition:"admonition",br:"br",code:"code",h1:"h1",h2:"h2",header:"header",li:"li",ol:"ol",p:"p",pre:"pre",strong:"strong",table:"table",tbody:"tbody",td:"td",th:"th",thead:"thead",tr:"tr",ul:"ul",...(0,c.R)(),...e.components};return(0,t.jsxs)(t.Fragment,{children:[(0,t.jsx)(n.header,{children:(0,t.jsx)(n.h1,{id:"\u8d44\u6e90\u5305\u52a0\u5bc6",children:"\u8d44\u6e90\u5305\u52a0\u5bc6"})}),"\n",(0,t.jsx)(n.p,{children:"Nukkit-MOT \u652f\u6301\u4f7f\u7528\u52a0\u5bc6\u8d44\u6e90\u5305\u4fdd\u62a4\u60a8\u7684\u4f5c\u54c1\u3002\u672c\u6307\u5357\u5c06\u5e2e\u52a9\u60a8\u901a\u8fc7\u7b80\u5355\u7684\u4e09\u6b65\u914d\u7f6e\u5b9e\u73b0\u8d44\u6e90\u5305\u52a0\u5bc6\u3002"}),"\n",(0,t.jsx)(n.admonition,{title:"\u65b0\u624b\u987b\u77e5",type:"caution",children:(0,t.jsx)(n.p,{children:"\u8be5\u52a0\u5bc6\u57fa\u4e8e AES \u5bf9\u79f0\u7b97\u6cd5\uff0c\u867d\u7136\u80fd\u6709\u6548\u63d0\u9ad8\u8d44\u6e90\u5305\u5b89\u5168\u6027\uff0c\u4f46\u65e0\u6cd5\u5b8c\u5168\u675c\u7edd\u6293\u5305\u7b49\u4e13\u4e1a\u624b\u6bb5\u7834\u89e3"})}),"\n",(0,t.jsx)(n.h2,{id:"encrypt-resource-pack",children:"\ud83d\udce6 \u52a0\u5bc6\u8d44\u6e90\u5305"}),"\n","\n",(0,t.jsx)(n.p,{children:"\u63a8\u8350\u4f7f\u7528\u5f00\u6e90\u547d\u4ee4\u884c\u5de5\u5177 EncryptMyPack \u8fdb\u884c\u52a0\u5bc6\uff0c\u64cd\u4f5c\u6d41\u7a0b\uff1a"}),"\n",(0,t.jsxs)(n.ol,{children:["\n",(0,t.jsxs)(n.li,{children:["\n",(0,t.jsxs)(n.p,{children:[(0,t.jsx)(n.strong,{children:"\u4e0b\u8f7d\u5de5\u5177"}),(0,t.jsx)(n.br,{}),"\n","\u4ece ",(0,t.jsx)(n.a,{href:"https://github.com/AllayMC/EncryptMyPack/releases/latest",children:"GitHub Releases"})," \u4e0b\u8f7d\u6700\u65b0\u7248\u7a0b\u5e8f"]}),"\n"]}),"\n",(0,t.jsxs)(n.li,{children:["\n",(0,t.jsx)(n.p,{children:(0,t.jsx)(n.strong,{children:"\u51c6\u5907\u8d44\u6e90\u5305"})}),"\n",(0,t.jsxs)(n.ul,{children:["\n",(0,t.jsxs)(n.li,{children:["\u5fc5\u987b\u4e3a ",(0,t.jsx)(n.code,{children:".zip"})," \u683c\u5f0f\uff08\u53ef\u76f4\u63a5\u91cd\u547d\u540d .mcpack \u6587\u4ef6\uff09"]}),"\n",(0,t.jsxs)(n.li,{children:["\u538b\u7f29\u5305\u6839\u76ee\u5f55\u5fc5\u987b\u5305\u542b ",(0,t.jsx)(n.code,{children:"manifest.json"})," \u6587\u4ef6"]}),"\n",(0,t.jsx)(n.li,{children:"\u652f\u6301\u5305\u542b\u5b50\u8d44\u
16e90\u5305\uff08Sub Packs\uff09"}),"\n"]}),"\n"]}),"\n",(0,t.jsxs)(n.li,{children:["\n",(0,t.jsx)(n.p,{children:(0,t.jsx)(n.strong,{children:"\u52a0\u5bc6"})}),"\n"]}),"\n"]}),"\n",(0,t.jsxs)(n.p,{children:["inputZip \u4e3a\u8f93\u5165\u7684\u538b\u7f29\u5305\u6587\u4ef6\u5168\u540d\uff0c\u4f8b\u5982 ",(0,t.jsx)(n.code,{children:"example.zip"})]}),"\n",(0,t.jsxs)(n.p,{children:["outputZip \u4e3a\u8f93\u51fa\u7684\u538b\u7f29\u5305\u6587\u4ef6\u5168\u540d\uff0c\u4f8b\u5982 ",(0,t.jsx)(n.code,{children:"example.zip"})]}),"\n",(0,t.jsxs)(n.p,{children:["key \u4e3a\u81ea\u5b9a\u4e49\u7684 32 \u4f4d\u5bc6\u94a5\uff0c\u82e5\u4e0d\u6307\u5b9a key \u5219\u4f7f\u7528\u9ed8\u8ba4\u5bc6\u94a5 ",(0,t.jsx)(n.code,{children:"liulihaocai123456789123456789123"})]}),"\n",(0,t.jsxs)(i.A,{groupId:"operating-systems",children:[(0,t.jsx)(l.A,{value:"win",label:"Windows",children:(0,t.jsx)(n.pre,{children:(0,t.jsx)(n.code,{className:"language-bash",children:"EncryptMyPack.exe encrypt <inputZip> <outputZip> [key]\n"})})}),(0,t.jsx)(l.A,{value:"mac",label:"macOS",children:(0,t.jsx)(n.pre,{children:(0,t.jsx)(n.code,{className:"language-bash",children:"EncryptMyPack encrypt <inputZip> <outputZip> [key]\n"})})}),(0,t.jsxs)(l.A,{value:"linux",label:"Linux",children:[(0,t.jsx)(n.p,{children:"\u6dfb\u52a0\u53ef\u6267\u884c\u6743\u9650"}),(0,t.jsx)(n.pre,{children:(0,t.jsx)(n.code,{className:"language-bash",children:"chmod +x EncryptMyPack\n"})}),(0,t.jsx)(n.p,{children:"\u65b9\u53ef\u7ee7\u7eed\u4f7f\u7528"}),(0,t.jsx)(n.pre,{children:(0,t.jsx)(n.code,{className:"language-bash",children:"./EncryptMyPack encrypt <inputZip> <outputZip> [key]\n"})})]})]}),"\n",(0,t.jsx)(n.admonition,{title:"\u91cd\u8981\u63d0\u9192",type:"tip",children:(0,t.jsx)(n.p,{children:"Nukkit-MOT \u4ec5\u8d1f\u8d23\u5411\u5ba2\u6237\u7aef\u4f20\u9012\u5bc6\u94a5\uff0c\u4e0d\u53c2\u4e0e\u5b9e\u9645\u7684\u52a0\u5bc6/\u89e3\u5bc6\u8fc7\u7a0b"})}),"\n",(0,t.jsx)(n.h2,{id:"configure-key",children:"\ud83d\udd11 \u914d\u7f6e\u52a0\u5bc6\u5bc6\u94a5"}),"\n",(0,t.jsxs)(n.p,{children:["\u52a0\u5bc6\u5bc6\u94a5\u5728\u670d\u52a1\u7aef ",(0,t.jsx)(n.code,{children:"resource_packs"})," \u6587\u4ef6\u5939\u4e2d\u7684 ",(0,t.jsx)(n.code,{children:"packs.yml"})," \u6587\u4ef6\u91cc\u914d\u7f6e\uff08\u65e7\u7684 ",(0,t.jsx)(n.code,{children:"<\u5305\u540d>.mcpack.key"})," \u540c\u540d\u6587\u4ef6\u5df2\u4e0d\u518d\u88ab\u8bfb\u53d6\uff09\u3002\u8be5\u6587\u4ef6\u4f1a\u5728\u9996\u6b21\u542f\u52a8\u65f6\u81ea\u52a8\u751f\u6210\uff0c\u4ee5\u8d44\u6e90\u5305 UUID \u4e3a\u952e\uff0cUUID \u53ef\u5728\u8d44\u6e90\u5305 ",(0,t.jsx)(n.code,{children:"manifest.json"})," \u7684 ",(0,t.jsx)(n.code,{children:"header.uuid"})," \u4e2d\u627e\u5230\u3002"]}),"\n",(0,t.jsx)(a.A,{paths:["resource_packs/\u793a\u4f8b\u8d44\u6e90\u5305.mcpack","resource_packs/packs.yml"]}),"\n",(0,t.jsx)(n.pre,{children:(0,t.jsx)(n.code,{className:"language-yaml",children:'# resource_packs/packs.yml\n"12c2b614-796a-3d8e-9364-cb39c86cebfa":\n  key: "0123456789abcdefGHIJKLMNOPQRSTUV" # 32 \u4f4d\u52a0\u5bc6\u5bc6\u94a5\n  cdn: "https://cdn.example.com/packs/\u793a\u4f8b\u8d44\u6e90\u5305.mcpack" # \u53ef\u9009\n  priority: 10 # \u53ef\u9009\n'})}),"\n",(0,t.jsxs)(n.ul,{children:["\n",(0,t.jsxs)(n.li,{children:[(0,t.jsx)(n.code,{children:"key"}),"\uff1a\u8be5\u8d44\u6e90\u5305\u7684 32 \u4f4d\u52a0\u5bc6\u5bc6\u94a5\uff0c\u7559\u7a7a\u8868\u793a\u4e0d\u52a0\u5bc6"]}),"\n",(0,t.jsxs)(n.li,{children:[(0,t.jsx)(n.code,{children:"cdn"}),"\uff08\u53ef\u9009\uff09\uff1a\u8be5\u8d44\u6e90\u5305\u7684 CDN \u4e0b\u8f7d\u5730\u5740\u3002\u5ba2\u6237\u7aef\u4f1a\u4f18\u5148\u4ece\u8be5\u5730\u5740\u4e0b\u8f7d\u8d44\u6e90\u5305\uff0c\u5931\u8d25\u65f6\u81ea\u52a8\u964d\u7ea7\u4e3a\u670d\u52a1\u5668\u5206\u5757\u4f20\u8f93"]}),"\n",(0,t.jsxs)(n.li,{children:[(0,t.jsx)(n.code,{children:"priority"}),"\uff08\u53ef\u9009\uff09\uff1a\u8be5\u8d44\u6e90\u5305\u5728\u8d44\u6e90\u5305\u6808\u4e2d\u7684\u4f4d\u7f6e\uff08\u6574\u6570\uff0c\u9ed8\u8ba4 ",(0,t.jsx)(n.code,{children:"0"}),"\uff09\u3002\u4f18\u5148\u7ea7\u9ad8\u7684\u8d44\u6e90\u5305\u4f4d\u4e8e\u6808\u7684\u4e0a\u5c42\uff0c\u4f1a\u8986\u76d6\u4e0b\u5c42\u8d44\u6e90\u5305\u5b9a\u4e49\u7684\u540c\u540d\u5185\u5bb9\uff1b\u4f18\u5148\u7ea7\u76f8\u540c\u7684\u8d44\u6e90\u5305\u4fdd\u6301\u539f\u6709\u52a0\u8f7d\u987a\u5e8f\uff08\u6309\u6587\u4ef6\u540d\u6392\u5217\uff09"]}),"\n"]}),"\n",(0,t.jsx)(n.admonition,{title:"\u7f51\u6613\u7248\u8d44\u6e90\u5305",type:"tip",children:(0,t.jsxs)(n.p,{children:["\u6587\u4ef6\u540d\u5305\u542b ",(0,t.jsx)(n.code,{children:"netease"})," \u7684\u8d44\u6e90\u5305\u4ec5\u4f1a\u53d1\u9001\u7ed9\u4f7f\u7528\u7f51\u6613\u7248\u5ba2\u6237\u7aef\u7684\u73a9\u5bb6"]})}),"\n",(0,t.jsx)(n.h2,{id:"restart-server",children:"\ud83d\udd04 \u91cd\u542f\u670d\u52a1\u7aef"}),"\n",(0,t.jsx)(n.p,{children:"\u4fee\u6539\u914d\u7f6e\u540e\u5fc5\u987b\u91cd\u542f\u670d\u52a1\u5668\u624d\u80fd\u4f7f\u52a0\u5bc6\u751f\u6548\uff08Nukkit-MOT \u4ec5\u5728\u542f\u52a8\u
165f6\u52a0\u8f7d\u8d44\u6e90\u5305\u914d\u7f6e\uff09"}),"\n",(0,t.jsx)(n.h2,{id:"faq",children:"\u2753 \u5e38\u89c1\u95ee\u9898\u89e3\u7b54"}),"\n",(0,t.jsxs)(n.table,{children:[(0,t.jsx)(n.thead,{children:(0,t.jsxs)(n.tr,{children:[(0,t.jsx)(n.th,{children:"\u95ee\u9898"}),(0,t.jsx)(n.th,{children:"\u89e3\u7b54"})]})}),(0,t.jsxs)(n.tbody,{children:[(0,t.jsxs)(n.tr,{children:[(0,t.jsx)(n.td,{children:"\u52a0\u5bc6\u540e\u8d44\u6e90\u5305\u80fd\u88ab\u7834\u89e3\u5417\uff1f"}),(0,t.jsx)(n.td,{children:"\u53ef\u80fd\u4f1a\u906d\u53d7\u4e13\u4e1a\u624b\u6bb5\u7834\u89e3\uff0c\u4f46\u6bd4\u672a\u52a0\u5bc6\u8d44\u6e90\u5305\u5b89\u5168\u5f97\u591a"})]}),(0,t.jsxs)(n.tr,{children:[(0,t.jsx)(n.td,{children:"\u52a0\u5bc6\u662f\u5426\u5f71\u54cd\u6e38\u620f\u6027\u80fd\uff1f"}),(0,t.jsx)(n.td,{children:"\u5b8c\u5168\u4e0d\u4f1a\u5f71\u54cd\u5ba2\u6237\u7aef\u548c\u670d\u52a1\u7aef\u6027\u80fd"})]}),(0,t.jsxs)(n.tr,{children:[(0,t.jsx)(n.td,{children:"\u652f\u6301\u591a\u4e2a\u52a0\u5bc6\u5305\u5417\uff1f"}),(0,t.jsxs)(n.td,{children:["\u53ef\u4ee5\u540c\u65f6\u90e8\u7f72\u591a\u4e2a\u52a0\u5bc6\u5305\uff0c\u53ea\u9700\u5728 ",(0,t.jsx)(n.code,{children:"packs.yml"})," \u4e2d\u4e3a\u6bcf\u4e2a\u8d44\u6e90\u5305\u7684 UUID \u6dfb\u52a0\u5bf9\u5e94\u914d\u7f6e"]})]})]})]}),"\n",(0,t.jsx)(n.admonition,{title:"\u5b8c\u6210\uff01",type:"success",children:(0,t.jsx)(n.p,{children:"\u73b0\u5728\u60a8\u7684\u73a9\u5bb6\u52a0\u8f7d\u8d44\u6e90\u5305\u65f6\uff0c\u5ba2\u6237\u7aef\u4f1a\u81ea\u52a8\u4f7f\u7528\u914d\u7f6e\u7684\u5bc6\u94a5\u8fdb\u884c\u89e3\u5bc6\u52a0\u8f7d"})})]})}function x(e={}){const{wrapper:n}={...(0,c.R)(),...e.components};return n?(0,t.jsx)(n,{...e,children:(0,t.jsx)(p,{...e})}):p(e)}},7227(e,n,r){r.d(n,{A:()=>l});r(6540);var s=r(4164),t=r(8626);const c="tabItem_Ymn6";var a=r(4848);function i({children:e,className:n,hidden:r}){return(0,a.jsx)("div",{role:"tabpanel",className:(0,s.A)(c,n),hidden:r,children:e})}function l({children:e,className:n,value:r}){const{selectedValue:s,lazy:c}=(0,t.uc)(),l=r===s;return!l&&c?null:(0,a.jsx)(i,{className:n,hidden:!l,children:e})}},5645(e,n,r){r.d(n,{A:()=>x});r(6540);var s=r(4164),t=r(8630),c=r(8626),a=r(4245),i=r(1062);const l="tabList__CuJ",o="tabItem_LNqP";var u=r(4848);function d({className:e}){const{selectedValue:n,selectValue:r,tabValues:t,block:i}=(0,c.uc)(),l=[],{blockElementScrollPositionUntilNextRender:d}=(0,a.a_)(),h=e=>{const s=e.currentTarget,c=l.indexOf(s),a=t[c].value;a!==n&&(d(s),r(a))},p=e=>{let n=null;switch(e.key){case"Enter":h(e);break;case"ArrowRight":{const r=l.indexOf(e.currentTarget)+1;n=l[r]??l[0];break}case"ArrowLeft":{const r=l.indexOf(e.currentTarget)-1;n=l[r]??l[l.length-1];break}}n?.focus()};return(0,u.jsx)("ul",{role:"tablist","aria-orientation":"horizontal",className:(0,s.A)("tabs",{"tabs--block":i},e),children:t.map(({value:e,label:r,attributes:t})=>(0,u.jsx)("li",{role:"tab",tabIndex:n===e?0:-1,"aria-selected":n===e,ref:e=>{l.push(e)},onKeyDown:p,onClick:h,...t,className:(0,s.A)("tabs__item",o,t?.className,{"tabs__item--active":n===e}),children:r??e},e))})}function h({children:e}){return(0,u.jsx)("div",{className:"margin-top--md",children:e})}function p({className:e,children:n}){return(0,u.jsxs)("div",{className:(0,s.A)(t.G.tabs.container,"tabs-container",l),children:[(0,u.jsx)(d,{className:e}),(0,u.jsx)(h,{children:n})]})}function x(e){const n=(0,i.A)(),r=(0,c.OC)(e);return(0,u.jsx)(c.O_,{value:r,children:(0,u.jsx)(p,{className:e.className,children:(0,c.vT)(e.children)})},String(n))}},8626(e,n,r){r.d(n,{OC:()=>x,O_:()=>f,uc:()=>m,vT:()=>u});var s=r(6540),t=r(6347),c=r(6494),a=r(2814),i=r(9900),l=r(5167),o=r(4848);function u(e){return s.Children.toArray(e).filter(e=>"\n"!==e)}function d(e){const{values:n,children:r}=e;return(0,s.useMemo)(()=>{const e=n??function(e){return s.Children.toArray(e).flatMap(e=>{if(!e)return[];if((0,s.isValidElement)(e)&&function(e){const{props:n}=e;return!!n&&"object"==typeof n&&"value"in n}(e))return[e];const n="string"==typeof e.type?e.type:e.type.name;throw new Error(`Docusaurus error: Bad <Tabs> child <${n}>: all children of the <Tabs> component should be <TabItem>, and every <TabItem> should have a unique "value" prop.\nIf you do not want to pass on a "value" prop to the direct children of <Tabs>, you can also pass an explicit <Tabs values={...}> prop.`)}).map(({props:{value:e,label:n,attributes:r,default:s}})=>({value:e,label:n,attributes:r,default:s}))}(r);return function(e){const n=(0,l.XI)(e,(e,n)=>e.value===n.value);if(n.length>0)throw new Error(`Docusaurus error: Duplicate values "${n.map(e=>`'${e.value}'`).join(", ")}" found in <Tabs>. Every value needs to be unique.`)}(e),e},[n,r])}function h({value:e,tabValues:n}){return n.some(n=>n.value===e)}function p({queryString:e=!1,groupId:n}){const r=(0,t.W6)(),c=function({queryString:e=!1,groupId:n}){if("string"==typeof e)return e;if(!1===e)return null;if(!0===e&&!n)throw new Error('Docusaurus error: The <Tabs> component groupId prop is required if queryString=true, because this value is used as the search param name. You can also provide an explicit value such as queryString="my-search-param".');return n??null}({queryString:e,groupId:n});return[(0,a.aZ)(c),(0,s.useCallback)(e=>{if(!c)return;const n=new URLSearchParams(r.location.search);n.set(c,e),r.replace({...r.location,search:n.toString()})},[c,r])]}function x(e){const{defaultValue:n,queryString:r=!1,groupId:t}
1=e,a=d(e),[l,o]=(0,s.useState)(()=>function({defaultValue:e,tabValues:n}){if(0===n.length)throw new Error("Docusaurus error: the <Tabs> component requires at least one <TabItem> children component");if(e){if(!h({value:e,tabValues:n}))throw new Error(`Docusaurus error: The <Tabs> has a defaultValue "${e}" but none of its children has the corresponding value. Available values are: ${n.map(e=>e.value).join(", ")}. If you intend to show no default tab, use defaultValue={null} instead.`);return e}const r=n.find(e=>e.default)??n[0];if(!r)throw new Error("Unexpected error: 0 tabValues");return r.value}({defaultValue:n,tabValues:a})),[u,x]=p({queryString:r,groupId:t}),[j,m]=function({groupId:e}){const n=function(e){return e?`docusaurus.tab.${e}`:null}(e),[r,t]=(0,i.Dv)(n);return[r,(0,s.useCallback)(e=>{n&&t.set(e)},[n,t])]}({groupId:t}),f=(()=>{const e=u??j;return h({value:e,tabValues:a})?e:null})();(0,c.A)(()=>{f&&o(f)},[f]);return{selectedValue:l,selectValue:(0,s.useCallback)(e=>{if(!h({value:e,tabValues:a}))throw new Error(`Can't select invalid tab value=${e}`);o(e),x(e),m(e)},[x,m,a]),tabValues:a,lazy:e.lazy??!1,block:e.block??!1}}const j=(0,s.createContext)(null);function m(){const e=s.useContext(j);if(!e)throw new Error("useTabsContext() must be used within a Tabs component");return e}function f(e){return(0,o.jsx)(j.Provider,{value:e.value,children:e.children})}},9223(e,n,r){r.d(n,{A:()=>u});var s=r(6540);const t="folderView_EtT2",c="collapsed_Cimj",a="hidden_jWwT";var i=r(4848);const l=({nodes:e,depth:n,name:r})=>
1{const[t,o]=(0,s.useState)(!1),u=()=>Object.keys(e.children).length>0,d=e=>{if(u())return"\ud83d\udcc1";const n=e.split(".").pop();return"js"===n||"ts"===n||"yml"===n||"json"===n||"mcfunction"===n||"mcpack"===n||"key"===n?"\ud83d\udcc4":"mcstructure"===n?"\ud83c\udfdb":"png"===n||"jpg"===n||"jpeg"===n?"\ud83d\uddbc\ufe0f":"ogg"===n||"wav"===n||"mp3"===n||"fsb"===n?"\ud83d\udd0a":"lang"===n?"\ud83c\udf0d":"\ud83d\udcc1"},h=e=>e.split("/")[0],p={transform:`translate(${30*n}px)`};return(0,i.jsxs)("div",{children:[(0,i.jsx)("div",{className:"flex",children:(0,i.jsx)("div",{style:p,className:t?c:"",onClick:()=>{u()&&o(!t)},children:-1===n?"":d(r)+h(r)})}),(0,i.jsx)("div",{className:t?a:"",children:Object.values(e.children).map((e,r)=>(0,i.jsx)(l,{depth:n+1,nodes:e,name:e.name},r))})]})},o=l,u=({paths:e})=>{const n=(e,r)=>{let s=r.shift();s in e||(e[s]={name:s,children:{}}),r.length>0&&n(e[s].children,r)};return(0,i.jsx)("div",{className:t,children:(0,i.jsx)(o,{depth:-1,name:".",nodes:(()=>{let r={name:"root",children:{}};return e.forEach(e=>{const s=e.split("/");n(r.children,s)}),r})()})})}},8453(e,n,r){r.d(n,{R:()=>a,x:()=>i});var s=r(6540);const t={},c=s.createContext(t);function a(e){const n=s.useContext(c);return s.useMemo(function(){return"function"==typeof e?e(n):{...n,...e}},[n,e])}function i(e){let n;return n=e.disableParentContext?"function"==typeof e.components?e.components(t):e.components||t:a(e.components),s.createElement(c.Provider,{value:n},e.children)}}}]);

Line numbers count LF bytes from the start of the resource, as the search results do. Vendor segments are library code the classifier recognised; they are stored but not indexed. Bytes are shown as Latin1 characters, one per byte.