diff --git a/404.html b/404.html index 09cd03b4..4253d684 100644 --- a/404.html +++ b/404.html @@ -20,9 +20,9 @@ 404 - - - + + +
diff --git a/advancement/index.html b/advancement/index.html index 8716d050..49a4585a 100644 --- a/advancement/index.html +++ b/advancement/index.html @@ -20,9 +20,9 @@ undefined Generator Minecraft 1.15, 1.16, 1.17 - - - + + +
diff --git a/assets/index.3386e255.css b/assets/index.138b3407.css similarity index 67% rename from assets/index.3386e255.css rename to assets/index.138b3407.css index f7b6f106..e62bd737 100644 --- a/assets/index.3386e255.css +++ b/assets/index.138b3407.css @@ -1 +1 @@ -:root{--background-1:#1b1b1b;--background-2:#252525;--background-3:#2f2f2f;--background-4:#3d3d3d;--background-5:#464646;--text-1:#ffffff;--text-2:#dcdcdc;--text-3:#c3c3c3;--accent-blue:#50baf9;--accent-red:#f1453f;--nav:#91908f;--nav-hover:#b4b3b0;--nav-faded:#4d4c4c;--nav-faded-hover:#6e6e6e;--selection:#6786dd99;--errors-background:#62190f;--errors-text:#ffffffcc}:root[data-theme=light]{--background-1:#fafafa;--background-2:#e2e2e2;--background-3:#d4d3d3;--background-4:#cccccc;--background-5:#d6d6d6;--text-1:#000000;--text-2:#505050;--text-3:#6a6a6a;--accent-blue:#088cdb;--accent-red:#cc312c;--nav:#343a40;--nav-hover:#565d64;--nav-faded:#9fa2a7;--nav-faded-hover:#bcbfc3;--selection:#6786dd99;--errors-background:#f66653;--errors-text:#000000cc}@media (prefers-color-scheme:light){:root[data-theme=system]{--background-1:#fafafa;--background-2:#e2e2e2;--background-3:#d4d3d3;--background-4:#cccccc;--background-5:#d6d6d6;--text-1:#000000;--text-2:#505050;--text-3:#6a6a6a;--accent-blue:#088cdb;--accent-red:#cc312c;--nav:#343a40;--nav-hover:#565d64;--nav-faded:#9fa2a7;--nav-faded-hover:#bcbfc3;--selection:#6786dd99;--errors-background:#f66653;--errors-text:#000000cc}}*{box-sizing:border-box;margin:0;padding:0}::selection{background-color:var(--selection)}a svg{pointer-events:none}body{font-size:18px;font-family:Arial,Helvetica,sans-serif;overflow-x:hidden;background-color:var(--background-1)}header{display:flex;justify-content:space-between;align-items:center;padding:10px;width:100%;height:56px;z-index:5;position:fixed;box-shadow:0 0 9px -3px #000;background-color:var(--background-2)}body[data-panel=home] header,body[data-panel=settings] header{position:fixed}.title{display:flex;align-items:center}.title h2{color:var(--nav)}.home-link{margin:0 8px 0 0}.home-link svg{display:block;width:32px;height:32px;padding:2px}.home-link svg rect:nth-child(2n){transition:transform .2s}.home-link:hover rect:nth-child(2){transform:translateX(-8px)}.home-link:hover rect:nth-child(4){transform:translateX(-11px)}.home-link:hover rect:nth-child(6){transform:translateX(-6px)}nav ul{display:flex;align-items:center}nav li{display:flex;align-items:center;cursor:pointer;margin:0 16px;fill:var(--nav);user-select:none;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none}.home-link:hover svg{fill:var(--nav-hover)}nav li.dimmed svg{fill:var(--nav-faded)}nav li.dimmed:hover svg{fill:var(--nav-faded-hover)}nav li svg,nav li>*{width:24px;height:24px}.title .btn-menu{margin:0 8px}.title .btn-menu>.btn svg{width:24px;height:24px}header .btn-menu>.btn{background:0 0!important;padding:0;box-shadow:none;fill:var(--nav)}header .btn-menu>.btn:hover{fill:var(--nav-hover)}main{padding-top:68px;color:var(--text-1);fill:var(--text-1);transition:padding .3s}.controls{display:flex;justify-content:flex-end;position:fixed;top:12px;right:16px;z-index:1;pointer-events:none}main>.controls{position:sticky;margin-right:16px;right:16px;top:68px}.controls>*{pointer-events:all}.controls>:not(:last-child){margin-right:8px}.tree{margin-top:-36px;overflow-x:auto;padding:4px 16px 50vh}.error+.tree{margin-top:0}.popup-source{position:fixed;display:flex;flex-direction:column;width:40vw;left:100%;bottom:0;z-index:1;transition:transform .3s;border-radius:6px 0 0 0}.popup-source.shown{transform:translateX(-100%)}.source{width:100%;height:40vh;max-height:50vh;padding:12px;border:none;font-family:Consolas,monospace;font-size:14px;white-space:pre;overflow-wrap:normal;overflow-x:auto;tab-size:4;-moz-tab-size:4;-o-tab-size:4;-webkit-tab-size:4;outline:0;resize:none;position:static;background-color:var(--background-2);border-top-left-radius:6px;color:var(--text-1);box-shadow:0 0 7px -3px #000}.popup-preview{position:fixed;display:flex;flex-direction:column;height:calc(100% - 56px);width:40vw;left:100%;bottom:0;z-index:1;background-color:var(--background-2);box-shadow:0 0 7px -3px #000;transition:transform .3s}main.has-preview{padding-right:40vw}.popup-preview.shown{transform:translateX(-100%)}.popup-preview canvas{width:100%;background-color:var(--nav-faded);display:block;cursor:crosshair;image-rendering:-moz-crisp-edges;image-rendering:-webkit-crisp-edges;image-rendering:crisp-edges;image-rendering:pixelated;user-select:none;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none}.btn{display:flex;align-items:center;border:none;height:32px;border-radius:6px;padding:7px 11px;cursor:pointer;outline:0;font-size:1rem;white-space:nowrap;background-color:var(--background-4);box-shadow:0 1px 7px -2px #000;color:var(--text-2);fill:var(--text-2);user-select:none;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none}.btn.active{color:var(--accent-blue);fill:var(--accent-blue)}.btn:not(.btn-input):hover{background-color:var(--background-5)}.btn.no-pointer{pointer-events:none}.btn svg:not(:last-child){margin-right:5px}.btn-menu:not(.no-relative){position:relative}.btn-menu>.btn{height:100%}.btn-menu .btn-group{display:flex;flex-direction:column;position:absolute;right:0;top:100%;margin-top:8px}.btn-group{border-radius:6px;box-shadow:0 0 7px -2px #000}.btn-group .btn{box-shadow:none}.btn-group .btn:not(:last-child){border-bottom-right-radius:0;border-bottom-left-radius:0}.btn-group .btn:not(:first-child),.btn-menu .result-list .btn:first-child{border-top-right-radius:0;border-top-left-radius:0}.btn-input{cursor:initial;padding-right:7px}.btn-input input{background:var(--background-1);color:var(--text-1);font-size:17px;border:none;padding:0 3px;margin-left:5px;width:100px}.btn-input.large-input{padding:5px;padding-left:11px}.btn-input.large-input input{width:100%;height:100%}.btn-menu .result-list{display:block;width:380px;height:unset;overflow-y:auto;overflow-x:hidden;max-height:240px;border-bottom-left-radius:6px;border-bottom-right-radius:6px}.popup-actions{display:flex;position:fixed;bottom:8px;left:100%;z-index:5;padding:0 8px;border-top-left-radius:24px;border-bottom-left-radius:24px;background-color:var(--background-4);box-shadow:0 0 7px -3px #000;user-select:none;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;transform:translateX(var(--offset));transition:padding .1s,transform .3s}.popup-actions:hover{background-color:var(--background-5)}.popup-action{padding:12px;fill:var(--text-2);cursor:pointer}.popup-action:not(.shown){pointer-events:none;order:1;visibility:hidden}.popup-action>svg{display:block;width:24px;height:24px}.popup-action.action-preview{fill:var(--accent-blue)}.error{padding:5px 14px;margin:12px 16px;color:var(--text-1);background-color:var(--errors-background);border-radius:3px}.error>*{margin:10px 0}.error .error-dismiss{float:right;cursor:pointer;margin-left:10px}.error-dismiss svg{display:block;width:24px;height:24px}.error a{color:var(--text-1)}.home{padding:16px}.generator-picker{display:flex}.home.center{flex-direction:column;align-items:center;color:var(--nav)}.home.center p{padding-bottom:20px;text-align:center;font-size:20px}.home{max-width:960px;margin:0 auto}.tool-card{display:flex;padding:10px;margin-bottom:8px;color:var(--text-2);background-color:var(--background-2);box-shadow:1px 1px 7px -3px #000;border-radius:6px;text-decoration:none}.tool-card:hover{background-color:var(--background-3)}.tool-card svg{width:32px;height:32px;flex-shrink:0;margin-right:8px}.tool-card h3{font-weight:unset}.tool-card p{color:var(--text-3)}hr{margin:12px 0;border:none}.settings{padding:20px}.settings p{color:var(--nav);padding:8px;border-bottom:2px solid var(--background-4)}.field-list{width:100%;border-collapse:collapse;list-style-type:none}.field-list li{display:flex;justify-content:space-between;padding:4px 0;border-bottom:1px solid var(--background-4)}.field-prop{display:inline-flex;align-items:center;max-width:100%;margin:4px}.field-prop>input,.field-prop>label{height:34px;color:var(--text-1);margin-right:-1px;border:1px solid;border-color:var(--nav-faded-hover)}.field-prop label{padding:0 9px;line-height:1.94rem;background-color:var(--node-background-label);white-space:nowrap;border-top-left-radius:3px;border-bottom-left-radius:3px}.field-prop input{width:100%;line-height:1.6rem;background-color:var(--node-background-input);color:var(--text-1);padding-left:9px;font-size:18px;border-top-right-radius:3px;border-bottom-right-radius:3px}.field-prop svg{padding:4px;margin:0 4px;height:28px;width:28px;fill:var(--nav);cursor:pointer}.field-prop .hidden svg{fill:#be4b2e}.field-prop .dimmed svg{fill:var(--nav-faded)}.very-large{font-size:80px;font-weight:100}[data-ea-publisher]{margin:0 16px 8px}.ea-content{margin:0!important;background:var(--background-2)!important}.ea-content span{color:var(--text-2)!important}.ea-content strong{color:var(--accent-blue)!important}.ea-callout{margin:.25rem 0!important;padding:0!important}.ea-callout a{color:var(--text-3)!important}@keyframes spinner{0%{transform:rotate(0)}100%{transform:rotate(360deg)}}@keyframes fadein{from{opacity:0}to{opacity:1}}@media screen and (max-width:1300px){main.has-preview .tree{margin-top:8px}}@media screen and (max-width:800px){main .tree{margin-top:4px!important}}@media screen and (max-width:580px){.title h2{font-size:18px}body nav li{margin:0 8px}main.has-preview{padding-right:0}main .controls{top:64px}.tree{padding-left:8px;padding-right:8px}.popup-source{width:100vw}.source{border-radius:0}.popup-preview{width:100vw;height:unset;bottom:0;background-color:transparent;box-shadow:none}.popup-preview canvas{margin-top:8px}.btn-menu .result-list,.btn.btn.large-input{width:calc(100vw - 10px)}.generator-picker{justify-content:center}.field-list li{flex-direction:column}.field-prop{width:100%}.field-prop input{width:100%}}:root{--node-border:#4e4e4e;--node-background-label:#1b1b1b;--node-background-input:#272727;--node-text:#dadada;--node-selected:#ad9715;--node-selected-border:#8d7a0d;--node-add:#487c13;--node-add-border:#3b6e0c;--node-remove:#9b341b;--node-remove-border:#7e1d05;--node-indent-border:#454749;--node-popup-background:#0a0a0ae6;--node-popup-text:#dadada;--node-popup-text-dimmed:#b4b4b4;--category-predicate:#306163;--category-predicate-border:#224849;--category-predicate-background:#1d3333;--category-function:#838383;--category-function-border:#6b6b6b;--category-function-background:#414141;--category-pool:#386330;--category-pool-border:#2e4922;--category-pool-background:#21331d}:root[data-theme=light]{--node-border:#bcbfc3;--node-background-label:#e4e4e4;--node-background-input:#ffffff;--node-text:#000000;--node-selected:#f0e65e;--node-selected-border:#b9a327;--node-add:#9bd464;--node-add-border:#498d09;--node-remove:#e76f51;--node-remove-border:#be4b2e;--node-indent-border:#b9b9b9;--node-popup-background:#1f2020e6;--node-popup-text:#dadada;--node-popup-text-dimmed:#b4b4b4;--category-predicate:#65b5b8;--category-predicate-border:#187e81;--category-predicate-background:#95c5c7;--category-function:#979fa7;--category-function-border:#788086;--category-function-background:#dce0e4;--category-pool:#76b865;--category-pool-border:#398118;--category-pool-background:#b1d6a6}@media (prefers-color-scheme:light){:root[data-theme=system]{--node-border:#bcbfc3;--node-background-label:#e4e4e4;--node-background-input:#ffffff;--node-text:#000000;--node-selected:#f0e65e;--node-selected-border:#b9a327;--node-add:#9bd464;--node-add-border:#498d09;--node-remove:#e76f51;--node-remove-border:#be4b2e;--node-indent-border:#b9b9b9;--node-popup-background:#1f2020e6;--node-popup-text:#dadada;--node-popup-text-dimmed:#b4b4b4;--category-predicate:#65b5b8;--category-predicate-border:#187e81;--category-predicate-background:#95c5c7;--category-function:#979fa7;--category-function-border:#788086;--category-function-background:#dce0e4;--category-pool:#76b865;--category-pool-border:#398118;--category-pool-background:#b1d6a6}}.node-header{display:inline-flex;position:relative;align-items:center;width:100%}.node-header>*{height:34px;border:1px solid;color:var(--node-text);border-color:var(--node-border)}.node-header>label{align-self:flex-start;padding:0 9px;line-height:1.94rem;white-space:nowrap;user-select:none;background-color:var(--node-background-label)}.node-header>input{font-size:18px;padding-left:9px;background-color:var(--node-background-input)}.node-header>input[type=color]{padding:0 2px}.node-header>textarea{min-width:236.33px;min-height:34px;font-size:18px;padding-left:9px;padding-top:5px;background-color:var(--node-background-input)}.node-header>datalist,.node-header>select{font-size:18px;padding-left:6px;background-color:var(--node-background-input)}.node-header button{font-size:18px;padding:0 9px;line-height:1.94rem;white-space:nowrap;user-select:none;cursor:pointer;background-color:var(--node-background-input)}.object-node>.node-header>.collapse{cursor:pointer}.node-error~input:last-child,.node-error~input[list]:nth-last-child(2),.node-error~select:last-child{border-color:var(--node-remove)!important}.node-header>.node-icon{order:1}.node-header>.node-icon+*,.node-header>:first-child{border-top-left-radius:3px;border-bottom-left-radius:3px}.node-header>:last-child,.node-header>input[list]:nth-last-child(2){border-top-right-radius:3px;border-bottom-right-radius:3px}.node-header>*{margin-right:-1px}.list-node>.node-header>:first-child,.map-node>.node-header>:first-child,.object-node:not(.no-body)>.node-header>:first-child{border-top-left-radius:8px;border-bottom-left-radius:0}button.selected{background-color:var(--node-selected);border-color:var(--node-selected-border)}.collapse svg{fill:var(--node-text)}.collapse.closed,button.add{background-color:var(--node-add);border-color:var(--node-add-border)}.collapse.open,button.remove{background-color:var(--node-remove);border-color:var(--node-remove-border)}.node-header>button svg{display:inline-block;position:relative;top:2px;fill:var(--node-text)}.node-header>button.add:last-child,.node-header>button.collapse:last-child{border-top-right-radius:6px;border-bottom-right-radius:6px}.node-move{display:flex;flex-direction:column;width:34px}button.move{height:50%;border:none;display:flex}button.move+button.move{border-top:1px solid var(--node-border)}button.move:disabled{cursor:unset;fill:var(--node-border)}.node-icon{border:none;position:relative;display:inline-block}.node-icon .icon-popup{visibility:hidden;width:240px;background-color:var(--node-popup-background);color:var(--node-popup-text);text-align:center;border-radius:6px;padding:8px 4px;position:absolute;z-index:2;top:125%;left:50%;margin-left:-120px}.node-icon .icon-popup::after{content:"";position:absolute;bottom:100%;left:50%;margin-left:-3px;border-width:5px;border-style:solid;border-color:transparent transparent var(--node-popup-background) transparent}.node-icon .icon-popup.show,.node-icon svg:hover+.icon-popup{visibility:visible}.node-icon svg{height:34px;width:34px;min-width:34px;margin-left:6px;cursor:pointer}.node-icon.node-help svg{fill:var(--node-border)}.node-icon.node-error svg{fill:var(--node-remove)}.node-menu{position:absolute;left:0;top:100%;width:min-content;margin-top:4px;margin-left:4px;z-index:1;color:var(--node-popup-text);font-size:16px;border-radius:3px;background-color:var(--node-popup-background)}.node-menu::after{content:"";position:absolute;bottom:100%;left:0;margin-left:6px;border-width:5px;border-style:solid;border-color:transparent transparent var(--node-popup-background) transparent}.menu-item{padding:4px;display:flex;align-items:center;white-space:normal}.menu-item>*{margin-right:4px}.menu-item .btn{padding:8px}span.menu-item{padding:4px 8px}.menu-item-context{color:var(--node-popup-text-dimmed)}.node{margin-bottom:4px}.node-body>.node:first-child{margin-top:4px}.node:last-child{margin-bottom:0}.node-body{border-left:3px solid var(--node-indent-border)}.node-body{display:flex;flex-direction:column;padding-left:18px}.node-entry>.object-node>.node-body{padding-left:0}.node-entry>.object-node>.node-body>.node>.node-body{border-left:none}.node-entry>.object-node>.node-body>.node>.node-header>.node-icon+*,.node-entry>.object-node>.node-body>.node>.node-header>:first-child{border-top-left-radius:0;border-bottom-left-radius:0;border-left:none}.node-entry{display:flex;flex-direction:column;margin-top:4px}.node-entry>.list-node[data-category],.node-entry>.map-node[data-category],.node-entry>.object-node[data-category]{width:100%;min-width:max-content;padding:5px;padding-left:0;margin-top:8px;border:2px solid var(--node-border);border-radius:3px}.node-entry:first-child>.list-node[data-category],.node-entry:first-child>.map-node[data-category],.node-entry:first-child>.object-node[data-category]{margin-top:4px}.node-entry>.object-node[data-category]>.node-header>.node-icon+*,.node-entry>.object-node[data-category]>.node-header>:first-child{border-top-left-radius:0;border-bottom-left-radius:0;border-left:none}.node-entry>.list-node[data-category]>.node-body,.node-entry>.map-node[data-category]>.node-body,.node-entry>.object-node[data-category]>.node-body{border:none}.range-node select{width:25px}.number-node input,.range-node input{width:100px}[data-category=predicate]>.node-body>.node>.node-header>label,[data-category=predicate]>.node-header>label{background-color:var(--category-predicate)}[data-category=predicate]>.node-body,[data-category=predicate]>.node-body>.node>.node-header>:not(.selected),[data-category=predicate]>.node-header>:not(.selected),[data-category=predicate]>.node-header>label{border-color:var(--category-predicate-border)}.node-entry>.node.list-node[data-category=predicate],.node-entry>.node.map-node[data-category=predicate],.node-entry>.node.object-node[data-category=predicate]{background-color:var(--category-predicate-background);border-color:var(--category-predicate-border)}[data-category=function]>.node-body>.node>.node-header>label,[data-category=function]>.node-header>label{background-color:var(--category-function)}[data-category=function]>.node-body,[data-category=function]>.node-body>.node>.node-header>:not(.selected),[data-category=function]>.node-header>:not(.selected),[data-category=function]>.node-header>label{border-color:var(--category-function-border)}.node-entry>.node.list-node[data-category=function],.node-entry>.node.map-node[data-category=function],.node-entry>.node.object-node[data-category=function]{background-color:var(--category-function-background);border-color:var(--category-function-border)}[data-category=pool]>.node-body>.node>.node-header>label,[data-category=pool]>.node-header>label{background-color:var(--category-pool)}[data-category=pool]>.node-body,[data-category=pool]>.node-body>.node>.node-header>:not(.selected),[data-category=pool]>.node-header>:not(.selected),[data-category=pool]>.node-header>label{border-color:var(--category-pool-border)}.node-entry>.node.list-node[data-category=pool],.node-entry>.node.map-node[data-category=pool],.node-entry>.node.object-node[data-category=pool]{background-color:var(--category-pool-background);border-color:var(--category-pool-border)} \ No newline at end of file +:root{--background-1:#1b1b1b;--background-2:#252525;--background-3:#2f2f2f;--background-4:#3d3d3d;--background-5:#464646;--text-1:#ffffff;--text-2:#dcdcdc;--text-3:#c3c3c3;--accent-blue:#50baf9;--accent-red:#f1453f;--nav:#91908f;--nav-hover:#b4b3b0;--nav-faded:#4d4c4c;--nav-faded-hover:#6e6e6e;--selection:#6786dd99;--errors-background:#62190f;--errors-text:#ffffffcc}:root[data-theme=light]{--background-1:#fafafa;--background-2:#e2e2e2;--background-3:#d4d3d3;--background-4:#cccccc;--background-5:#d6d6d6;--text-1:#000000;--text-2:#505050;--text-3:#6a6a6a;--accent-blue:#088cdb;--accent-red:#cc312c;--nav:#343a40;--nav-hover:#565d64;--nav-faded:#9fa2a7;--nav-faded-hover:#bcbfc3;--selection:#6786dd99;--errors-background:#f66653;--errors-text:#000000cc}@media (prefers-color-scheme:light){:root[data-theme=system]{--background-1:#fafafa;--background-2:#e2e2e2;--background-3:#d4d3d3;--background-4:#cccccc;--background-5:#d6d6d6;--text-1:#000000;--text-2:#505050;--text-3:#6a6a6a;--accent-blue:#088cdb;--accent-red:#cc312c;--nav:#343a40;--nav-hover:#565d64;--nav-faded:#9fa2a7;--nav-faded-hover:#bcbfc3;--selection:#6786dd99;--errors-background:#f66653;--errors-text:#000000cc}}*{box-sizing:border-box;margin:0;padding:0}::selection{background-color:var(--selection)}a svg{pointer-events:none}body{font-size:18px;font-family:Arial,Helvetica,sans-serif;overflow-x:hidden;background-color:var(--background-1)}header{display:flex;justify-content:space-between;align-items:center;padding:10px;width:100%;height:56px;z-index:5;position:fixed;box-shadow:0 0 9px -3px #000;background-color:var(--background-2)}body[data-panel=home] header,body[data-panel=settings] header{position:fixed}.title{display:flex;align-items:center}.title h2{color:var(--nav)}.home-link{margin:0 8px 0 0}.home-link svg{display:block;width:32px;height:32px;padding:2px}.home-link svg rect:nth-child(2n){transition:transform .2s}.home-link:hover rect:nth-child(2){transform:translateX(-8px)}.home-link:hover rect:nth-child(4){transform:translateX(-11px)}.home-link:hover rect:nth-child(6){transform:translateX(-6px)}nav ul{display:flex;align-items:center}nav li{display:flex;align-items:center;cursor:pointer;margin:0 16px;fill:var(--nav);user-select:none;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none}.home-link:hover svg{fill:var(--nav-hover)}nav li.dimmed svg{fill:var(--nav-faded)}nav li.dimmed:hover svg{fill:var(--nav-faded-hover)}nav li svg,nav li>*{width:24px;height:24px}.title .btn-menu{margin:0 8px}.title .btn-menu>.btn svg{width:24px;height:24px}header .btn-menu>.btn{background:0 0!important;padding:0;box-shadow:none;fill:var(--nav)}header .btn-menu>.btn:hover{fill:var(--nav-hover)}main{padding-top:68px;color:var(--text-1);fill:var(--text-1);transition:padding .3s}.controls{display:flex;justify-content:flex-end;position:fixed;top:12px;right:16px;z-index:1;pointer-events:none}main>.controls{position:sticky;margin-right:16px;right:16px;top:68px}.controls>*{pointer-events:all}.controls>:not(:last-child){margin-right:8px}.tree{margin-top:-36px;overflow-x:auto;padding:4px 16px 50vh}.error+.tree{margin-top:0}.popup-source{position:fixed;display:flex;flex-direction:column;width:40vw;left:100%;bottom:0;z-index:1;transition:transform .3s;border-radius:6px 0 0 0}.popup-source.shown{transform:translateX(-100%)}.source{width:100%;height:40vh;max-height:50vh;padding:12px;border:none;font-family:Consolas,monospace;font-size:14px;white-space:pre;overflow-wrap:normal;overflow-x:auto;tab-size:4;-moz-tab-size:4;-o-tab-size:4;-webkit-tab-size:4;outline:0;resize:none;position:static;background-color:var(--background-2);border-top-left-radius:6px;color:var(--text-1);box-shadow:0 0 7px -3px #000}.popup-preview{position:fixed;display:flex;flex-direction:column;height:calc(100% - 56px);width:40vw;left:100%;bottom:0;z-index:1;background-color:var(--background-2);box-shadow:0 0 7px -3px #000;transition:transform .3s}main.has-preview{padding-right:40vw}.popup-preview.shown{transform:translateX(-100%)}.popup-preview canvas{width:100%;background-color:var(--nav-faded);display:block;cursor:crosshair;image-rendering:-moz-crisp-edges;image-rendering:-webkit-crisp-edges;image-rendering:crisp-edges;image-rendering:pixelated;user-select:none;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none}.btn{display:flex;align-items:center;border:none;height:32px;border-radius:6px;padding:7px 11px;cursor:pointer;outline:0;font-size:1rem;white-space:nowrap;background-color:var(--background-4);box-shadow:0 1px 7px -2px #000;color:var(--text-2);fill:var(--text-2);user-select:none;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none}.btn.active{color:var(--accent-blue);fill:var(--accent-blue)}.btn:not(.btn-input):hover{background-color:var(--background-5)}.btn.no-pointer{pointer-events:none}.btn svg:not(:last-child){margin-right:5px}.btn-menu:not(.no-relative){position:relative}.btn-menu>.btn{height:100%}.btn-menu .btn-group{display:flex;flex-direction:column;position:absolute;right:0;top:100%;margin-top:8px}.btn-group{border-radius:6px;box-shadow:0 0 7px -2px #000}.btn-group .btn{box-shadow:none}.btn-group .btn:not(:last-child){border-bottom-right-radius:0;border-bottom-left-radius:0}.btn-group .btn:not(:first-child),.btn-menu .result-list .btn:first-child{border-top-right-radius:0;border-top-left-radius:0}.btn-input{cursor:initial;padding-right:7px}.btn-input input{background:var(--background-1);color:var(--text-1);font-size:17px;border:none;padding:0 3px;margin-left:5px;width:100px}.btn-input.large-input{padding:5px;padding-left:11px}.btn-input.large-input input{width:100%;height:100%}.btn-menu .result-list{display:block;width:380px;height:unset;overflow-y:auto;overflow-x:hidden;max-height:240px;border-bottom-left-radius:6px;border-bottom-right-radius:6px}.popup-actions{display:flex;position:fixed;bottom:8px;left:100%;z-index:5;padding:0 8px;border-top-left-radius:24px;border-bottom-left-radius:24px;background-color:var(--background-4);box-shadow:0 0 7px -3px #000;user-select:none;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;transform:translateX(var(--offset));transition:padding .1s,transform .3s}.popup-actions:hover{background-color:var(--background-5)}.popup-action{padding:12px;fill:var(--text-2);cursor:pointer}.popup-action:not(.shown){pointer-events:none;order:1;visibility:hidden}.popup-action>svg{display:block;width:24px;height:24px}.popup-action.action-preview{fill:var(--accent-blue)}.error{padding:5px 14px;margin:12px 16px;color:var(--text-1);background-color:var(--errors-background);border-radius:3px}.error>*{margin:10px 0}.error .error-dismiss{float:right;cursor:pointer;margin-left:10px}.error-dismiss svg{display:block;width:24px;height:24px}.error a{color:var(--text-1)}.home{padding:16px}.generator-picker{display:flex}.home.center{flex-direction:column;align-items:center;color:var(--nav)}.home.center p{padding-bottom:20px;text-align:center;font-size:20px}.home{max-width:960px;margin:0 auto}.tool-card{display:flex;padding:10px;margin-bottom:8px;color:var(--text-2);background-color:var(--background-2);box-shadow:1px 1px 7px -3px #000;border-radius:6px;text-decoration:none}.tool-card:hover{background-color:var(--background-3)}.tool-card svg{width:32px;height:32px;flex-shrink:0;margin-right:8px}.tool-card h3{font-weight:unset}.tool-card p{color:var(--text-3)}hr{margin:12px 0;border:none}.settings{padding:20px}.settings p{color:var(--nav);padding:8px;border-bottom:2px solid var(--background-4)}.field-list{width:100%;border-collapse:collapse;list-style-type:none}.field-list li{display:flex;justify-content:space-between;padding:4px 0;border-bottom:1px solid var(--background-4)}.field-prop{display:inline-flex;align-items:center;max-width:100%;margin:4px}.field-prop>input,.field-prop>label{height:34px;color:var(--text-1);margin-right:-1px;border:1px solid;border-color:var(--nav-faded-hover)}.field-prop label{padding:0 9px;line-height:1.94rem;background-color:var(--node-background-label);white-space:nowrap;border-top-left-radius:3px;border-bottom-left-radius:3px}.field-prop input{width:100%;line-height:1.6rem;background-color:var(--node-background-input);color:var(--text-1);padding-left:9px;font-size:18px;border-top-right-radius:3px;border-bottom-right-radius:3px}.field-prop svg{padding:4px;margin:0 4px;height:28px;width:28px;fill:var(--nav);cursor:pointer}.field-prop .hidden svg{fill:#be4b2e}.field-prop .dimmed svg{fill:var(--nav-faded)}.very-large{font-size:80px;font-weight:100}[data-ea-publisher]{margin:0 16px 8px}.ea-content{margin:0!important;background:var(--background-2)!important}.ea-content span{color:var(--text-2)!important}.ea-content strong{color:var(--accent-blue)!important}.ea-callout{margin:.25rem 0!important;padding:0!important}.ea-callout a{color:var(--text-3)!important}@keyframes spinner{0%{transform:rotate(0)}100%{transform:rotate(360deg)}}@keyframes fadein{from{opacity:0}to{opacity:1}}@media screen and (max-width:1300px){main.has-preview .tree{margin-top:8px}}@media screen and (max-width:800px){main .tree{margin-top:4px!important}}@media screen and (max-width:580px){.title h2{font-size:18px}body nav li{margin:0 8px}main.has-preview{padding-right:0}main .controls{top:64px}.tree{padding-left:8px;padding-right:8px}.popup-source{width:100vw}.source{border-radius:0}.popup-preview{width:100vw;height:unset;bottom:0;background-color:transparent;box-shadow:none}.popup-preview canvas{margin-top:8px}.btn-menu .result-list,.btn.btn.large-input{width:calc(100vw - 10px)}.generator-picker{justify-content:center}.field-list li{flex-direction:column}.field-prop{width:100%}.field-prop input{width:100%}}:root{--node-border:#4e4e4e;--node-background-label:#1b1b1b;--node-background-input:#272727;--node-text:#dadada;--node-selected:#ad9715;--node-selected-border:#8d7a0d;--node-add:#487c13;--node-add-border:#3b6e0c;--node-remove:#9b341b;--node-remove-border:#7e1d05;--node-indent-border:#454749;--node-popup-background:#0a0a0ae6;--node-popup-text:#dadada;--node-popup-text-dimmed:#b4b4b4;--category-predicate:#306163;--category-predicate-border:#224849;--category-predicate-background:#1d3333;--category-function:#838383;--category-function-border:#6b6b6b;--category-function-background:#414141;--category-pool:#386330;--category-pool-border:#2e4922;--category-pool-background:#21331d}:root[data-theme=light]{--node-border:#bcbfc3;--node-background-label:#e4e4e4;--node-background-input:#ffffff;--node-text:#000000;--node-selected:#f0e65e;--node-selected-border:#b9a327;--node-add:#9bd464;--node-add-border:#498d09;--node-remove:#e76f51;--node-remove-border:#be4b2e;--node-indent-border:#b9b9b9;--node-popup-background:#1f2020e6;--node-popup-text:#dadada;--node-popup-text-dimmed:#b4b4b4;--category-predicate:#65b5b8;--category-predicate-border:#187e81;--category-predicate-background:#95c5c7;--category-function:#979fa7;--category-function-border:#788086;--category-function-background:#dce0e4;--category-pool:#76b865;--category-pool-border:#398118;--category-pool-background:#b1d6a6}@media (prefers-color-scheme:light){:root[data-theme=system]{--node-border:#bcbfc3;--node-background-label:#e4e4e4;--node-background-input:#ffffff;--node-text:#000000;--node-selected:#f0e65e;--node-selected-border:#b9a327;--node-add:#9bd464;--node-add-border:#498d09;--node-remove:#e76f51;--node-remove-border:#be4b2e;--node-indent-border:#b9b9b9;--node-popup-background:#1f2020e6;--node-popup-text:#dadada;--node-popup-text-dimmed:#b4b4b4;--category-predicate:#65b5b8;--category-predicate-border:#187e81;--category-predicate-background:#95c5c7;--category-function:#979fa7;--category-function-border:#788086;--category-function-background:#dce0e4;--category-pool:#76b865;--category-pool-border:#398118;--category-pool-background:#b1d6a6}}.node-header{display:inline-flex;position:relative;align-items:center;width:100%}.node-header>*{height:34px;border:1px solid;color:var(--node-text);border-color:var(--node-border)}.node-header>label{align-self:flex-start;padding:0 9px;line-height:1.94rem;white-space:nowrap;user-select:none;background-color:var(--node-background-label)}.node-header>input{font-size:18px;padding-left:9px;background-color:var(--node-background-input)}.node-header>input[type=color]{padding:0 2px}.node-header>textarea{min-width:236.33px;min-height:34px;font-size:18px;padding-left:9px;padding-top:5px;background-color:var(--node-background-input)}.node-header>datalist,.node-header>select{font-size:18px;padding-left:6px;background-color:var(--node-background-input)}.node-header button{font-size:18px;padding:0 9px;line-height:1.94rem;white-space:nowrap;user-select:none;cursor:pointer;background-color:var(--node-background-input)}.object-node>.node-header>.collapse{cursor:pointer}.node-error~input:last-child,.node-error~input[list]:nth-last-child(2),.node-error~select:last-child{border-color:var(--node-remove)!important}.node-header>:focus{position:relative}.node-header>.node-icon{order:1}.node-header>.node-icon+*,.node-header>:first-child{border-top-left-radius:3px;border-bottom-left-radius:3px}.node-header>:last-child,.node-header>input[list]:nth-last-child(2){border-top-right-radius:3px;border-bottom-right-radius:3px}.node-header>*{margin-right:-1px}.list-node>.node-header>:first-child,.map-node>.node-header>:first-child,.object-node:not(.no-body)>.node-header>:first-child{border-top-left-radius:8px;border-bottom-left-radius:0}button.selected{background-color:var(--node-selected);border-color:var(--node-selected-border)}.collapse svg{fill:var(--node-text)}.collapse.closed,button.add{background-color:var(--node-add);border-color:var(--node-add-border)}.collapse.open,button.remove{background-color:var(--node-remove);border-color:var(--node-remove-border)}.node-header>button svg{display:inline-block;position:relative;top:2px;fill:var(--node-text)}.node-header>button.add:last-child,.node-header>button.collapse:last-child{border-top-right-radius:6px;border-bottom-right-radius:6px}.node-move{display:flex;flex-direction:column;width:34px}button.move{height:50%;border:none;display:flex}button.move+button.move{border-top:1px solid var(--node-border)}button.move:disabled{cursor:unset;fill:var(--node-border)}.node-icon{border:none;position:relative;display:inline-block}.node-icon .icon-popup{visibility:hidden;width:240px;background-color:var(--node-popup-background);color:var(--node-popup-text);text-align:center;border-radius:6px;padding:8px 4px;position:absolute;z-index:2;top:125%;left:50%;margin-left:-120px}.node-icon .icon-popup::after{content:"";position:absolute;bottom:100%;left:50%;margin-left:-3px;border-width:5px;border-style:solid;border-color:transparent transparent var(--node-popup-background) transparent}.node-icon svg:hover+.icon-popup,.node-icon.show .icon-popup{visibility:visible}.node-icon svg{height:34px;width:34px;min-width:34px;margin-left:6px;cursor:pointer}.node-icon.node-help svg{fill:var(--node-border)}.node-icon.node-error svg{fill:var(--node-remove)}.node-menu{position:absolute;left:0;top:100%;width:min-content;margin-top:4px;margin-left:4px;z-index:1;color:var(--node-popup-text);font-size:16px;border-radius:3px;background-color:var(--node-popup-background)}.node-menu::after{content:"";position:absolute;bottom:100%;left:0;margin-left:6px;border-width:5px;border-style:solid;border-color:transparent transparent var(--node-popup-background) transparent}.menu-item{padding:4px;display:flex;align-items:center;white-space:normal}.menu-item>*{margin-right:4px}.menu-item .btn{padding:8px}span.menu-item{padding:4px 8px}.menu-item-context{color:var(--node-popup-text-dimmed)}.node{margin-bottom:4px}.node-body>.node:first-child{margin-top:4px}.node:last-child{margin-bottom:0}.node-body{border-left:3px solid var(--node-indent-border)}.node-body{display:flex;flex-direction:column;padding-left:18px}.node-entry>.object-node>.node-body{padding-left:0}.node-entry>.object-node>.node-body>.node>.node-body{border-left:none}.node-entry>.object-node>.node-body>.node>.node-header>.node-icon+*,.node-entry>.object-node>.node-body>.node>.node-header>:first-child{border-top-left-radius:0;border-bottom-left-radius:0;border-left:none}.node-entry{display:flex;flex-direction:column;margin-top:4px}.node-entry>.list-node[data-category],.node-entry>.map-node[data-category],.node-entry>.object-node[data-category]{width:100%;min-width:max-content;padding:5px;padding-left:0;margin-top:8px;border:2px solid var(--node-border);border-radius:3px}.node-entry:first-child>.list-node[data-category],.node-entry:first-child>.map-node[data-category],.node-entry:first-child>.object-node[data-category]{margin-top:4px}.node-entry>.object-node[data-category]>.node-header>.node-icon+*,.node-entry>.object-node[data-category]>.node-header>:first-child{border-top-left-radius:0;border-bottom-left-radius:0;border-left:none}.node-entry>.list-node[data-category]>.node-body,.node-entry>.map-node[data-category]>.node-body,.node-entry>.object-node[data-category]>.node-body{border:none}.range-node select{width:25px}.number-node input,.range-node input{width:100px}[data-category=predicate]>.node-body>.node>.node-header>label,[data-category=predicate]>.node-header>label{background-color:var(--category-predicate)}[data-category=predicate]>.node-body,[data-category=predicate]>.node-body>.node>.node-header>:not(.selected),[data-category=predicate]>.node-header>:not(.selected),[data-category=predicate]>.node-header>label{border-color:var(--category-predicate-border)}.node-entry>.node.list-node[data-category=predicate],.node-entry>.node.map-node[data-category=predicate],.node-entry>.node.object-node[data-category=predicate]{background-color:var(--category-predicate-background);border-color:var(--category-predicate-border)}[data-category=function]>.node-body>.node>.node-header>label,[data-category=function]>.node-header>label{background-color:var(--category-function)}[data-category=function]>.node-body,[data-category=function]>.node-body>.node>.node-header>:not(.selected),[data-category=function]>.node-header>:not(.selected),[data-category=function]>.node-header>label{border-color:var(--category-function-border)}.node-entry>.node.list-node[data-category=function],.node-entry>.node.map-node[data-category=function],.node-entry>.node.object-node[data-category=function]{background-color:var(--category-function-background);border-color:var(--category-function-border)}[data-category=pool]>.node-body>.node>.node-header>label,[data-category=pool]>.node-header>label{background-color:var(--category-pool)}[data-category=pool]>.node-body,[data-category=pool]>.node-body>.node>.node-header>:not(.selected),[data-category=pool]>.node-header>:not(.selected),[data-category=pool]>.node-header>label{border-color:var(--category-pool-border)}.node-entry>.node.list-node[data-category=pool],.node-entry>.node.map-node[data-category=pool],.node-entry>.node.object-node[data-category=pool]{background-color:var(--category-pool-background);border-color:var(--category-pool-border)} \ No newline at end of file diff --git a/assets/index.5908f24b.js b/assets/index.5908f24b.js new file mode 100644 index 00000000..19ed99b8 --- /dev/null +++ b/assets/index.5908f24b.js @@ -0,0 +1,2 @@ +var e=Object.defineProperty,t=Object.defineProperties,n=Object.getOwnPropertyDescriptors,r=Object.getOwnPropertySymbols,o=Object.prototype.hasOwnProperty,i=Object.prototype.propertyIsEnumerable,a=(t,n,r)=>n in t?e(t,n,{enumerable:!0,configurable:!0,writable:!0,value:r}):t[n]=r,s=(e,t)=>{for(var n in t||(t={}))o.call(t,n)&&a(e,n,t[n]);if(r)for(var n of r(t))i.call(t,n)&&a(e,n,t[n]);return e},l=(e,r)=>t(e,n(r));import{y as c,a as d,s as u,l as h,b as m,j as g,c as p,d as f,g as v,L as _,r as w,e as y,f as b,h as C,q as k,i as x,N as V,R as z}from"./vendor.f4c463d9.js";var M;function A({type:e,id:t}){return c((()=>{var e;null==(e=document.getElementById("ad-placeholder"))||e.remove(),"ethicalads"in window&ðicalads.load()}),[]),d("div",{"data-ea-publisher":"misode-github-io","data-ea-type":e,class:"ad dark flat",id:t})}function E({icon:e,label:t,active:n,class:r,onClick:o}){return d("div",{class:`btn${n?" active":""}${r?` ${r}`:""}`,onClick:o},e&&I[e],t&&d("span",null,t))}function j({icon:e,label:t,large:n,type:r,doSelect:o,value:i,onChange:a}){const s=void 0===a?()=>{}:e=>{const t=e.target.value;"number"===r&&(t.endsWith(".")||isNaN(Number(t)))||null==a||a(t)},l=u(null);return c((()=>{o&&l.current&&l.current.select()}),[o]),d("div",{class:"btn btn-input "+(n?"large-input":""),onClick:e=>e.stopPropagation()},e&&I[e],t&&d("span",null,t),d("input",{ref:l,type:"text",value:i,onInput:s}))}function L(){const[e,t]=h(!1),n=()=>{t(!1)};return c((()=>(e&&document.body.addEventListener("click",n),()=>{document.body.removeEventListener("click",n)})),[e]),[e,()=>t(!0)]}function P(e,t){const n={invalidated(){e&&t(e)}};c((()=>(null==e||e.addListener(n),()=>{null==e||e.removeListener(n)})),[e])}function $(e,t){if(!e)return;const n=u(),r=u(),o=u([0,0]);c((()=>{const i=e=>{r.current=[e.offsetX,e.offsetY]},a=e=>{if(void 0===r.current)return;const i=e.offsetX-r.current[0],a=e.offsetY-r.current[1];0===i&&0===a||(cancelAnimationFrame(n.current),o.current=[o.current[0]+i,o.current[1]+a],n.current=requestAnimationFrame((()=>{t(...o.current),o.current=[0,0]}))),r.current=[e.offsetX,e.offsetY]},s=e=>{r.current=void 0};return e.addEventListener("mousedown",i),e.addEventListener("mousemove",a),document.body.addEventListener("mouseup",s),()=>{e.removeEventListener("mousedown",i),e.removeEventListener("mousemove",a),document.body.removeEventListener("mouseup",s)}}),[e])}function D({icon:e,label:t,relative:n,children:r}){const[o,i]=L();return d("div",{class:"btn-menu"+(!1===n?" no-relative":"")},d(E,{icon:e,label:t,onClick:i}),o&&d("div",{class:"btn-group"},r))}!function(e){const t="Site",n="Generator";function r(e,t,n){ga("send","event",e,t,n)}function o(e,t){ga("set",`dimension${e}`,t)}e.pageview=function(e){ga("set","page",e),ga("send","pageview")},e.setLanguage=function(e){o(4,e),r(t,"set-language",e)},e.setTheme=function(e){o(1,e),r(t,"set-theme",e)},e.setVersion=function(e){o(3,e),r(n,"set-version",e)},e.setPreview=function(e){o(5,e),r(n,"set-preview",e)},e.generatorEvent=function(e,t){r(n,e,t)}}(M||(M={}));const I={archive:d("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 16 16",width:"16",height:"16"},d("path",{"fill-rule":"evenodd",d:"M1.75 2.5a.25.25 0 00-.25.25v1.5c0 .138.112.25.25.25h12.5a.25.25 0 00.25-.25v-1.5a.25.25 0 00-.25-.25H1.75zM0 2.75C0 1.784.784 1 1.75 1h12.5c.966 0 1.75.784 1.75 1.75v1.5A1.75 1.75 0 0114.25 6H1.75A1.75 1.75 0 010 4.25v-1.5zM1.75 7a.75.75 0 01.75.75v5.5c0 .138.112.25.25.25h10.5a.25.25 0 00.25-.25v-5.5a.75.75 0 111.5 0v5.5A1.75 1.75 0 0113.25 15H2.75A1.75 1.75 0 011 13.25v-5.5A.75.75 0 011.75 7zm4.5 1a.75.75 0 000 1.5h3.5a.75.75 0 100-1.5h-3.5z"})),arrow_left:d("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 16 16",width:"16",height:"16"},d("path",{"fill-rule":"evenodd",d:"M7.78 12.53a.75.75 0 01-1.06 0L2.47 8.28a.75.75 0 010-1.06l4.25-4.25a.75.75 0 011.06 1.06L4.81 7h7.44a.75.75 0 010 1.5H4.81l2.97 2.97a.75.75 0 010 1.06z"})),arrow_right:d("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 16 16",width:"16",height:"16"},d("path",{"fill-rule":"evenodd",d:"M8.22 2.97a.75.75 0 011.06 0l4.25 4.25a.75.75 0 010 1.06l-4.25 4.25a.75.75 0 01-1.06-1.06l2.97-2.97H3.75a.75.75 0 010-1.5h7.44L8.22 4.03a.75.75 0 010-1.06z"})),chevron_down:d("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 16 16",width:"16",height:"16"},d("path",{"fill-rule":"evenodd",d:"M12.78 6.22a.75.75 0 010 1.06l-4.25 4.25a.75.75 0 01-1.06 0L3.22 7.28a.75.75 0 011.06-1.06L8 9.94l3.72-3.72a.75.75 0 011.06 0z"})),chevron_right:d("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 16 16",width:"16",height:"16"},d("path",{"fill-rule":"evenodd",d:"M6.22 3.22a.75.75 0 011.06 0l4.25 4.25a.75.75 0 010 1.06l-4.25 4.25a.75.75 0 01-1.06-1.06L9.94 8 6.22 4.28a.75.75 0 010-1.06z"})),chevron_up:d("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 16 16",width:"16",height:"16"},d("path",{"fill-rule":"evenodd",d:"M3.22 9.78a.75.75 0 010-1.06l4.25-4.25a.75.75 0 011.06 0l4.25 4.25a.75.75 0 01-1.06 1.06L8 6.06 4.28 9.78a.75.75 0 01-1.06 0z"})),clippy:d("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 16 16",width:"16",height:"16"},d("path",{"fill-rule":"evenodd",d:"M5.75 1a.75.75 0 00-.75.75v3c0 .414.336.75.75.75h4.5a.75.75 0 00.75-.75v-3a.75.75 0 00-.75-.75h-4.5zm.75 3V2.5h3V4h-3zm-2.874-.467a.75.75 0 00-.752-1.298A1.75 1.75 0 002 3.75v9.5c0 .966.784 1.75 1.75 1.75h8.5A1.75 1.75 0 0014 13.25v-9.5a1.75 1.75 0 00-.874-1.515.75.75 0 10-.752 1.298.25.25 0 01.126.217v9.5a.25.25 0 01-.25.25h-8.5a.25.25 0 01-.25-.25v-9.5a.25.25 0 01.126-.217z"})),code:d("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 16 16",width:"16",height:"16"},d("path",{"fill-rule":"evenodd",d:"M4.72 3.22a.75.75 0 011.06 1.06L2.06 8l3.72 3.72a.75.75 0 11-1.06 1.06L.47 8.53a.75.75 0 010-1.06l4.25-4.25zm6.56 0a.75.75 0 10-1.06 1.06L13.94 8l-3.72 3.72a.75.75 0 101.06 1.06l4.25-4.25a.75.75 0 000-1.06l-4.25-4.25z"})),dash:d("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 16 16",width:"16",height:"16"},d("path",{"fill-rule":"evenodd",d:"M2 8a.75.75 0 01.75-.75h10.5a.75.75 0 010 1.5H2.75A.75.75 0 012 8z"})),device_desktop:d("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 16 16",width:"16",height:"16"},d("path",{"fill-rule":"evenodd",d:"M1.75 2.5h12.5a.25.25 0 01.25.25v7.5a.25.25 0 01-.25.25H1.75a.25.25 0 01-.25-.25v-7.5a.25.25 0 01.25-.25zM14.25 1H1.75A1.75 1.75 0 000 2.75v7.5C0 11.216.784 12 1.75 12h3.727c-.1 1.041-.52 1.872-1.292 2.757A.75.75 0 004.75 16h6.5a.75.75 0 00.565-1.243c-.772-.885-1.193-1.716-1.292-2.757h3.727A1.75 1.75 0 0016 10.25v-7.5A1.75 1.75 0 0014.25 1zM9.018 12H6.982a5.72 5.72 0 01-.765 2.5h3.566a5.72 5.72 0 01-.765-2.5z"})),download:d("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 16 16",width:"16",height:"16"},d("path",{"fill-rule":"evenodd",d:"M7.47 10.78a.75.75 0 001.06 0l3.75-3.75a.75.75 0 00-1.06-1.06L8.75 8.44V1.75a.75.75 0 00-1.5 0v6.69L4.78 5.97a.75.75 0 00-1.06 1.06l3.75 3.75zM3.75 13a.75.75 0 000 1.5h8.5a.75.75 0 000-1.5h-8.5z"})),eye:d("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 16 16",width:"16",height:"16"},d("path",{"fill-rule":"evenodd",d:"M1.679 7.932c.412-.621 1.242-1.75 2.366-2.717C5.175 4.242 6.527 3.5 8 3.5c1.473 0 2.824.742 3.955 1.715 1.124.967 1.954 2.096 2.366 2.717a.119.119 0 010 .136c-.412.621-1.242 1.75-2.366 2.717C10.825 11.758 9.473 12.5 8 12.5c-1.473 0-2.824-.742-3.955-1.715C2.92 9.818 2.09 8.69 1.679 8.068a.119.119 0 010-.136zM8 2c-1.981 0-3.67.992-4.933 2.078C1.797 5.169.88 6.423.43 7.1a1.619 1.619 0 000 1.798c.45.678 1.367 1.932 2.637 3.024C4.329 13.008 6.019 14 8 14c1.981 0 3.67-.992 4.933-2.078 1.27-1.091 2.187-2.345 2.637-3.023a1.619 1.619 0 000-1.798c-.45-.678-1.367-1.932-2.637-3.023C11.671 2.992 9.981 2 8 2zm0 8a2 2 0 100-4 2 2 0 000 4z"})),eye_closed:d("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 16 16",width:"16",height:"16"},d("path",{"fill-rule":"evenodd",d:"M.143 2.31a.75.75 0 011.047-.167l14.5 10.5a.75.75 0 11-.88 1.214l-2.248-1.628C11.346 13.19 9.792 14 8 14c-1.981 0-3.67-.992-4.933-2.078C1.797 10.832.88 9.577.43 8.9a1.618 1.618 0 010-1.797c.353-.533.995-1.42 1.868-2.305L.31 3.357A.75.75 0 01.143 2.31zm3.386 3.378a14.21 14.21 0 00-1.85 2.244.12.12 0 00-.022.068c0 .021.006.045.022.068.412.621 1.242 1.75 2.366 2.717C5.175 11.758 6.527 12.5 8 12.5c1.195 0 2.31-.488 3.29-1.191L9.063 9.695A2 2 0 016.058 7.52l-2.53-1.832zM8 3.5c-.516 0-1.017.09-1.499.251a.75.75 0 11-.473-1.423A6.23 6.23 0 018 2c1.981 0 3.67.992 4.933 2.078 1.27 1.091 2.187 2.345 2.637 3.023a1.619 1.619 0 010 1.798c-.11.166-.248.365-.41.587a.75.75 0 11-1.21-.887c.148-.201.272-.382.371-.53a.119.119 0 000-.137c-.412-.621-1.242-1.75-2.366-2.717C10.825 4.242 9.473 3.5 8 3.5z"})),gear:d("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 16 16",width:"16",height:"16"},d("path",{"fill-rule":"evenodd",d:"M7.429 1.525a6.593 6.593 0 011.142 0c.036.003.108.036.137.146l.289 1.105c.147.56.55.967.997 1.189.174.086.341.183.501.29.417.278.97.423 1.53.27l1.102-.303c.11-.03.175.016.195.046.219.31.41.641.573.989.014.031.022.11-.059.19l-.815.806c-.411.406-.562.957-.53 1.456a4.588 4.588 0 010 .582c-.032.499.119 1.05.53 1.456l.815.806c.08.08.073.159.059.19a6.494 6.494 0 01-.573.99c-.02.029-.086.074-.195.045l-1.103-.303c-.559-.153-1.112-.008-1.529.27-.16.107-.327.204-.5.29-.449.222-.851.628-.998 1.189l-.289 1.105c-.029.11-.101.143-.137.146a6.613 6.613 0 01-1.142 0c-.036-.003-.108-.037-.137-.146l-.289-1.105c-.147-.56-.55-.967-.997-1.189a4.502 4.502 0 01-.501-.29c-.417-.278-.97-.423-1.53-.27l-1.102.303c-.11.03-.175-.016-.195-.046a6.492 6.492 0 01-.573-.989c-.014-.031-.022-.11.059-.19l.815-.806c.411-.406.562-.957.53-1.456a4.587 4.587 0 010-.582c.032-.499-.119-1.05-.53-1.456l-.815-.806c-.08-.08-.073-.159-.059-.19a6.44 6.44 0 01.573-.99c.02-.029.086-.075.195-.045l1.103.303c.559.153 1.112.008 1.529-.27.16-.107.327-.204.5-.29.449-.222.851-.628.998-1.189l.289-1.105c.029-.11.101-.143.137-.146zM8 0c-.236 0-.47.01-.701.03-.743.065-1.29.615-1.458 1.261l-.29 1.106c-.017.066-.078.158-.211.224a5.994 5.994 0 00-.668.386c-.123.082-.233.09-.3.071L3.27 2.776c-.644-.177-1.392.02-1.82.63a7.977 7.977 0 00-.704 1.217c-.315.675-.111 1.422.363 1.891l.815.806c.05.048.098.147.088.294a6.084 6.084 0 000 .772c.01.147-.038.246-.088.294l-.815.806c-.474.469-.678 1.216-.363 1.891.2.428.436.835.704 1.218.428.609 1.176.806 1.82.63l1.103-.303c.066-.019.176-.011.299.071.213.143.436.272.668.386.133.066.194.158.212.224l.289 1.106c.169.646.715 1.196 1.458 1.26a8.094 8.094 0 001.402 0c.743-.064 1.29-.614 1.458-1.26l.29-1.106c.017-.066.078-.158.211-.224a5.98 5.98 0 00.668-.386c.123-.082.233-.09.3-.071l1.102.302c.644.177 1.392-.02 1.82-.63.268-.382.505-.789.704-1.217.315-.675.111-1.422-.364-1.891l-.814-.806c-.05-.048-.098-.147-.088-.294a6.1 6.1 0 000-.772c-.01-.147.039-.246.088-.294l.814-.806c.475-.469.679-1.216.364-1.891a7.992 7.992 0 00-.704-1.218c-.428-.609-1.176-.806-1.82-.63l-1.103.303c-.066.019-.176.011-.299-.071a5.991 5.991 0 00-.668-.386c-.133-.066-.194-.158-.212-.224L10.16 1.29C9.99.645 9.444.095 8.701.031A8.094 8.094 0 008 0zm1.5 8a1.5 1.5 0 11-3 0 1.5 1.5 0 013 0zM11 8a3 3 0 11-6 0 3 3 0 016 0z"})),globe:d("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 16 16",width:"16",height:"16"},d("path",{"fill-rule":"evenodd",d:"M1.543 7.25h2.733c.144-2.074.866-3.756 1.58-4.948.12-.197.237-.381.353-.552a6.506 6.506 0 00-4.666 5.5zm2.733 1.5H1.543a6.506 6.506 0 004.666 5.5 11.13 11.13 0 01-.352-.552c-.715-1.192-1.437-2.874-1.581-4.948zm1.504 0h4.44a9.637 9.637 0 01-1.363 4.177c-.306.51-.612.919-.857 1.215a9.978 9.978 0 01-.857-1.215A9.637 9.637 0 015.78 8.75zm4.44-1.5H5.78a9.637 9.637 0 011.363-4.177c.306-.51.612-.919.857-1.215.245.296.55.705.857 1.215A9.638 9.638 0 0110.22 7.25zm1.504 1.5c-.144 2.074-.866 3.756-1.58 4.948-.12.197-.237.381-.353.552a6.506 6.506 0 004.666-5.5h-2.733zm2.733-1.5h-2.733c-.144-2.074-.866-3.756-1.58-4.948a11.738 11.738 0 00-.353-.552 6.506 6.506 0 014.666 5.5zM8 0a8 8 0 100 16A8 8 0 008 0z"})),history:d("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 16 16",width:"16",height:"16"},d("path",{"fill-rule":"evenodd",d:"M1.643 3.143L.427 1.927A.25.25 0 000 2.104V5.75c0 .138.112.25.25.25h3.646a.25.25 0 00.177-.427L2.715 4.215a6.5 6.5 0 11-1.18 4.458.75.75 0 10-1.493.154 8.001 8.001 0 101.6-5.684zM7.75 4a.75.75 0 01.75.75v2.992l2.028.812a.75.75 0 01-.557 1.392l-2.5-1A.75.75 0 017 8.25v-3.5A.75.75 0 017.75 4z"})),info:d("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 16 16",width:"16",height:"16"},d("path",{"fill-rule":"evenodd",d:"M8 1.5a6.5 6.5 0 100 13 6.5 6.5 0 000-13zM0 8a8 8 0 1116 0A8 8 0 010 8zm6.5-.25A.75.75 0 017.25 7h1a.75.75 0 01.75.75v2.75h.25a.75.75 0 010 1.5h-2a.75.75 0 010-1.5h.25v-2h-.25a.75.75 0 01-.75-.75zM8 6a1 1 0 100-2 1 1 0 000 2z"})),issue_opened:d("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 16 16",width:"16",height:"16"},d("path",{"fill-rule":"evenodd",d:"M8 1.5a6.5 6.5 0 100 13 6.5 6.5 0 000-13zM0 8a8 8 0 1116 0A8 8 0 010 8zm9 3a1 1 0 11-2 0 1 1 0 012 0zm-.25-6.25a.75.75 0 00-1.5 0v3.5a.75.75 0 001.5 0v-3.5z"})),kebab_horizontal:d("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 16 16",width:"16",height:"16"},d("path",{d:"M8 9a1.5 1.5 0 100-3 1.5 1.5 0 000 3zM1.5 9a1.5 1.5 0 100-3 1.5 1.5 0 000 3zm13 0a1.5 1.5 0 100-3 1.5 1.5 0 000 3z"})),link:d("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 16 16",width:"16",height:"16"},d("path",{"fill-rule":"evenodd",d:"M7.775 3.275a.75.75 0 001.06 1.06l1.25-1.25a2 2 0 112.83 2.83l-2.5 2.5a2 2 0 01-2.83 0 .75.75 0 00-1.06 1.06 3.5 3.5 0 004.95 0l2.5-2.5a3.5 3.5 0 00-4.95-4.95l-1.25 1.25zm-4.69 9.64a2 2 0 010-2.83l2.5-2.5a2 2 0 012.83 0 .75.75 0 001.06-1.06 3.5 3.5 0 00-4.95 0l-2.5 2.5a3.5 3.5 0 004.95 4.95l1.25-1.25a.75.75 0 00-1.06-1.06l-1.25 1.25a2 2 0 01-2.83 0z"})),mark_github:d("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 16 16",width:"16",height:"16"},d("path",{"fill-rule":"evenodd",d:"M8 0C3.58 0 0 3.58 0 8c0 3.54 2.29 6.53 5.47 7.59.4.07.55-.17.55-.38 0-.19-.01-.82-.01-1.49-2.01.37-2.53-.49-2.69-.94-.09-.23-.48-.94-.82-1.13-.28-.15-.68-.52-.01-.53.63-.01 1.08.58 1.23.82.72 1.21 1.87.87 2.33.66.07-.52.28-.87.51-1.07-1.78-.2-3.64-.89-3.64-3.95 0-.87.31-1.59.82-2.15-.08-.2-.36-1.02.08-2.12 0 0 .67-.21 2.2.82.64-.18 1.32-.27 2-.27.68 0 1.36.09 2 .27 1.53-1.04 2.2-.82 2.2-.82.44 1.1.16 1.92.08 2.12.51.56.82 1.27.82 2.15 0 3.07-1.87 3.75-3.65 3.95.29.25.54.73.54 1.48 0 1.07-.01 1.93-.01 2.2 0 .21.15.46.55.38A8.013 8.013 0 0016 8c0-4.42-3.58-8-8-8z"})),moon:d("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 16 16",width:"16",height:"16"},d("path",{"fill-rule":"evenodd",d:"M9.598 1.591a.75.75 0 01.785-.175 7 7 0 11-8.967 8.967.75.75 0 01.961-.96 5.5 5.5 0 007.046-7.046.75.75 0 01.175-.786zm1.616 1.945a7 7 0 01-7.678 7.678 5.5 5.5 0 107.678-7.678z"})),play:d("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 16 16",width:"16",height:"16"},d("path",{"fill-rule":"evenodd",d:"M1.5 8a6.5 6.5 0 1113 0 6.5 6.5 0 01-13 0zM8 0a8 8 0 100 16A8 8 0 008 0zM6.379 5.227A.25.25 0 006 5.442v5.117a.25.25 0 00.379.214l4.264-2.559a.25.25 0 000-.428L6.379 5.227z"})),plus:d("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 16 16",width:"16",height:"16"},d("path",{"fill-rule":"evenodd",d:"M8 2a.75.75 0 01.75.75v4.5h4.5a.75.75 0 010 1.5h-4.5v4.5a.75.75 0 01-1.5 0v-4.5h-4.5a.75.75 0 010-1.5h4.5v-4.5A.75.75 0 018 2z"})),plus_circle:d("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 16 16",width:"16",height:"16"},d("path",{"fill-rule":"evenodd",d:"M1.5 8a6.5 6.5 0 1113 0 6.5 6.5 0 01-13 0zM8 0a8 8 0 100 16A8 8 0 008 0zm.75 4.75a.75.75 0 00-1.5 0v2.5h-2.5a.75.75 0 000 1.5h2.5v2.5a.75.75 0 001.5 0v-2.5h2.5a.75.75 0 000-1.5h-2.5v-2.5z"})),search:d("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 16 16",width:"16",height:"16"},d("path",{"fill-rule":"evenodd",d:"M11.5 7a4.499 4.499 0 11-8.998 0A4.499 4.499 0 0111.5 7zm-.82 4.74a6 6 0 111.06-1.06l3.04 3.04a.75.75 0 11-1.06 1.06l-3.04-3.04z"})),sun:d("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 16 16",width:"16",height:"16"},d("path",{"fill-rule":"evenodd",d:"M8 10.5a2.5 2.5 0 100-5 2.5 2.5 0 000 5zM8 12a4 4 0 100-8 4 4 0 000 8zM8 0a.75.75 0 01.75.75v1.5a.75.75 0 01-1.5 0V.75A.75.75 0 018 0zm0 13a.75.75 0 01.75.75v1.5a.75.75 0 01-1.5 0v-1.5A.75.75 0 018 13zM2.343 2.343a.75.75 0 011.061 0l1.06 1.061a.75.75 0 01-1.06 1.06l-1.06-1.06a.75.75 0 010-1.06zm9.193 9.193a.75.75 0 011.06 0l1.061 1.06a.75.75 0 01-1.06 1.061l-1.061-1.06a.75.75 0 010-1.061zM16 8a.75.75 0 01-.75.75h-1.5a.75.75 0 010-1.5h1.5A.75.75 0 0116 8zM3 8a.75.75 0 01-.75.75H.75a.75.75 0 010-1.5h1.5A.75.75 0 013 8zm10.657-5.657a.75.75 0 010 1.061l-1.061 1.06a.75.75 0 11-1.06-1.06l1.06-1.06a.75.75 0 011.06 0zm-9.193 9.193a.75.75 0 010 1.06l-1.06 1.061a.75.75 0 11-1.061-1.06l1.06-1.061a.75.75 0 011.061 0z"})),sync:d("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 16 16",width:"16",height:"16"},d("path",{"fill-rule":"evenodd",d:"M8 2.5a5.487 5.487 0 00-4.131 1.869l1.204 1.204A.25.25 0 014.896 6H1.25A.25.25 0 011 5.75V2.104a.25.25 0 01.427-.177l1.38 1.38A7.001 7.001 0 0114.95 7.16a.75.75 0 11-1.49.178A5.501 5.501 0 008 2.5zM1.705 8.005a.75.75 0 01.834.656 5.501 5.501 0 009.592 2.97l-1.204-1.204a.25.25 0 01.177-.427h3.646a.25.25 0 01.25.25v3.646a.25.25 0 01-.427.177l-1.38-1.38A7.001 7.001 0 011.05 8.84a.75.75 0 01.656-.834z"})),tag:d("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 16 16",width:"16",height:"16"},d("path",{"fill-rule":"evenodd",d:"M2.5 7.775V2.75a.25.25 0 01.25-.25h5.025a.25.25 0 01.177.073l6.25 6.25a.25.25 0 010 .354l-5.025 5.025a.25.25 0 01-.354 0l-6.25-6.25a.25.25 0 01-.073-.177zm-1.5 0V2.75C1 1.784 1.784 1 2.75 1h5.025c.464 0 .91.184 1.238.513l6.25 6.25a1.75 1.75 0 010 2.474l-5.026 5.026a1.75 1.75 0 01-2.474 0l-6.25-6.25A1.75 1.75 0 011 7.775zM6 5a1 1 0 100 2 1 1 0 000-2z"})),three_bars:d("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 16 16",width:"16",height:"16"},d("path",{"fill-rule":"evenodd",d:"M1 2.75A.75.75 0 011.75 2h12.5a.75.75 0 110 1.5H1.75A.75.75 0 011 2.75zm0 5A.75.75 0 011.75 7h12.5a.75.75 0 110 1.5H1.75A.75.75 0 011 7.75zM1.75 12a.75.75 0 100 1.5h12.5a.75.75 0 100-1.5H1.75z"})),trashcan:d("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 16 16",width:"16",height:"16"},d("path",{"fill-rule":"evenodd",d:"M6.5 1.75a.25.25 0 01.25-.25h2.5a.25.25 0 01.25.25V3h-3V1.75zm4.5 0V3h2.25a.75.75 0 010 1.5H2.75a.75.75 0 010-1.5H5V1.75C5 .784 5.784 0 6.75 0h2.5C10.216 0 11 .784 11 1.75zM4.496 6.675a.75.75 0 10-1.492.15l.66 6.6A1.75 1.75 0 005.405 15h5.19c.9 0 1.652-.681 1.741-1.576l.66-6.6a.75.75 0 00-1.492-.149l-.66 6.6a.25.25 0 01-.249.225h-5.19a.25.25 0 01-.249-.225l-.66-6.6z"})),unfold:d("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 16 16",width:"16",height:"16"},d("path",{d:"M8.177.677l2.896 2.896a.25.25 0 01-.177.427H8.75v1.25a.75.75 0 01-1.5 0V4H5.104a.25.25 0 01-.177-.427L7.823.677a.25.25 0 01.354 0zM7.25 10.75a.75.75 0 011.5 0V12h2.146a.25.25 0 01.177.427l-2.896 2.896a.25.25 0 01-.354 0l-2.896-2.896A.25.25 0 015.104 12H7.25v-1.25zm-5-2a.75.75 0 000-1.5h-.5a.75.75 0 000 1.5h.5zM6 8a.75.75 0 01-.75.75h-.5a.75.75 0 010-1.5h.5A.75.75 0 016 8zm2.25.75a.75.75 0 000-1.5h-.5a.75.75 0 000 1.5h.5zM12 8a.75.75 0 01-.75.75h-.5a.75.75 0 010-1.5h.5A.75.75 0 0112 8zm2.25.75a.75.75 0 000-1.5h-.5a.75.75 0 000 1.5h.5z"})),upload:d("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 16 16",width:"16",height:"16"},d("path",{"fill-rule":"evenodd",d:"M8.53 1.22a.75.75 0 00-1.06 0L3.72 4.97a.75.75 0 001.06 1.06l2.47-2.47v6.69a.75.75 0 001.5 0V3.56l2.47 2.47a.75.75 0 101.06-1.06L8.53 1.22zM3.75 13a.75.75 0 000 1.5h8.5a.75.75 0 000-1.5h-8.5z"})),x:d("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 16 16",width:"16",height:"16"},d("path",{"fill-rule":"evenodd",d:"M3.72 3.72a.75.75 0 011.06 0L8 6.94l3.22-3.22a.75.75 0 111.06 1.06L9.06 8l3.22 3.22a.75.75 0 11-1.06 1.06L8 9.06l-3.22 3.22a.75.75 0 01-1.06-1.06L6.94 8 3.72 4.78a.75.75 0 010-1.06z"})),x_circle:d("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 16 16",width:"16",height:"16"},d("path",{"fill-rule":"evenodd",d:"M3.404 12.596a6.5 6.5 0 119.192-9.192 6.5 6.5 0 01-9.192 9.192zM2.344 2.343a8 8 0 1011.313 11.314A8 8 0 002.343 2.343zM6.03 4.97a.75.75 0 00-1.06 1.06L6.94 8 4.97 9.97a.75.75 0 101.06 1.06L8 9.06l1.97 1.97a.75.75 0 101.06-1.06L9.06 8l1.97-1.97a.75.75 0 10-1.06-1.06L8 6.94 6.03 4.97z"}))};function O({error:e,onDismiss:t}){return d("div",{class:"error"},t&&d("div",{class:"error-dismiss",onClick:t},I.x),d("h3",null,e),d("p",null,"If you think this is a bug, you can report it ",d("a",{href:"https://github.com/misode/misode.github.io/issues/new",target:"_blank"},"on GitHub")))}var S=JSON.parse('{"languages":[{"code":"de","name":"Deutsch"},{"code":"en","name":"English"},{"code":"fr","name":"Français"},{"code":"it","name":"Italiano"},{"code":"ja","name":"日本語"},{"code":"pl","name":"Polski"},{"code":"pt","name":"Português"},{"code":"ru","name":"Русский"},{"code":"sk","name":"Slovenčina","schemas":false},{"code":"zh-cn","name":"简体中文"},{"code":"zh-tw","name":"正體中文"}],"versions":[{"id":"1.15","refs":{"mcdata_master":"13355f7"}},{"id":"1.16","refs":{"mcdata_master":"1.16.4","vanilla_datapack_data":"1.16.4-data","vanilla_datapack_summary":"1.16.4-summary"}},{"id":"1.17","refs":{"mcdata_master":"master","vanilla_datapack_data":"data","vanilla_datapack_summary":"summary"},"dynamic":true}],"generators":[{"id":"loot_table","url":"loot-table","path":"loot_tables","schema":"loot_table"},{"id":"predicate","url":"predicate","path":"predicates","schema":"predicate"},{"id":"item_modifier","url":"item-modifier","path":"item_modifiers","schema":"item_modifier","minVersion":"1.17"},{"id":"advancement","url":"advancement","path":"advancements","schema":"advancement"},{"id":"dimension","url":"dimension","schema":"dimension","category":"worldgen","minVersion":"1.16"},{"id":"dimension_type","url":"dimension-type","schema":"dimension_type","category":"worldgen","minVersion":"1.16"},{"id":"world","url":"world","schema":"world_settings","category":"worldgen","minVersion":"1.16"},{"id":"worldgen/biome","url":"worldgen/biome","category":"worldgen","schema":"biome","minVersion":"1.16"},{"id":"worldgen/configured_carver","url":"worldgen/carver","category":"worldgen","schema":"configured_carver","minVersion":"1.16"},{"id":"worldgen/configured_feature","url":"worldgen/feature","category":"worldgen","schema":"configured_feature","minVersion":"1.16"},{"id":"worldgen/noise_settings","url":"worldgen/noise-settings","category":"worldgen","schema":"noise_settings","minVersion":"1.16"},{"id":"worldgen/configured_structure_feature","url":"worldgen/structure-feature","category":"worldgen","schema":"configured_structure_feature","minVersion":"1.16"},{"id":"worldgen/configured_surface_builder","url":"worldgen/surface-builder","category":"worldgen","schema":"configured_surface_builder","minVersion":"1.16"},{"id":"worldgen/processor_list","url":"worldgen/processor-list","category":"worldgen","schema":"processor_list","minVersion":"1.16"},{"id":"worldgen/template_pool","url":"worldgen/template-pool","category":"worldgen","schema":"template_pool","minVersion":"1.16"}],"registries":[{"id":"advancement","dynamic":true},{"id":"attribute","minVersion":"1.16"},{"id":"block"},{"id":"dimension","dynamic":true},{"id":"dimension_type","dynamic":true},{"id":"enchantment"},{"id":"entity_type"},{"id":"fluid"},{"id":"function","dynamic":true},{"id":"float_provider_type","minVersion":"1.17"},{"id":"item"},{"id":"int_provider_type","minVersion":"1.17"},{"id":"height_provider_type","minVersion":"1.17"},{"id":"loot_condition_type","minVersion":"1.16"},{"id":"loot_condition_type","minVersion":"1.16"},{"id":"loot_function_type","minVersion":"1.16"},{"id":"loot_nbt_provider_type","minVersion":"1.17"},{"id":"loot_number_provider_type","minVersion":"1.17"},{"id":"loot_pool_entry_type","minVersion":"1.16"},{"id":"loot_score_provider_type","minVersion":"1.17"},{"id":"loot_table","dynamic":true},{"id":"mob_effect"},{"id":"pos_rule_test","minVersion":"1.16"},{"id":"potion","minVersion":"1.15"},{"id":"predicate","dynamic":true},{"id":"recipe","dynamic":true},{"id":"rule_test","minVersion":"1.16"},{"id":"sound_event"},{"id":"stat_type"},{"id":"structure","dynamic":true},{"id":"tag/block","dynamic":true},{"id":"tag/entity_type","dynamic":true},{"id":"tag/fluid","dynamic":true},{"id":"tag/function","dynamic":true},{"id":"tag/item","dynamic":true},{"id":"worldgen/biome","dynamic":true},{"id":"worldgen/block_state_provider_type","minVersion":"1.16"},{"id":"worldgen/block_placer_type","minVersion":"1.16"},{"id":"worldgen/biome_source","minVersion":"1.16"},{"id":"worldgen/carver","minVersion":"1.16"},{"id":"worldgen/chunk_generator","minVersion":"1.16"},{"id":"worldgen/configured_carver","minVersion":"1.16","dynamic":true},{"id":"worldgen/configured_decorator","minVersion":"1.16","dynamic":true},{"id":"worldgen/configured_feature","minVersion":"1.16","dynamic":true},{"id":"worldgen/configured_structure_feature","minVersion":"1.16","dynamic":true},{"id":"worldgen/configured_surface_builder","minVersion":"1.16","dynamic":true},{"id":"worldgen/decorator","minVersion":"1.16"},{"id":"worldgen/feature","minVersion":"1.16"},{"id":"worldgen/feature_size_type","minVersion":"1.16"},{"id":"worldgen/foliage_placer_type","minVersion":"1.16"},{"id":"worldgen/noise_settings","minVersion":"1.16","dynamic":true},{"id":"worldgen/processor_list","minVersion":"1.16","dynamic":true},{"id":"worldgen/structure_feature","minVersion":"1.16"},{"id":"worldgen/structure_pool_element","minVersion":"1.16"},{"id":"worldgen/structure_processor","minVersion":"1.16"},{"id":"worldgen/surface_builder","minVersion":"1.16"},{"id":"worldgen/template_pool","minVersion":"1.16","dynamic":true},{"id":"worldgen/tree_decorator_type","minVersion":"1.16"},{"id":"worldgen/trunk_placer_type","minVersion":"1.16"},{"id":"biome","maxVersion":"1.15"},{"id":"worldgen/biome","minVersion":"1.16","path":"processed/reports/biomes"}]}');let N;const T={},B=function(e,t){if(!t)return e();if(void 0===N){const e=document.createElement("link").relList;N=e&&e.supports&&e.supports("modulepreload")?"modulepreload":"preload"}return Promise.all(t.map((e=>{if(e in T)return;T[e]=!0;const t=e.endsWith(".css"),n=t?'[rel="stylesheet"]':"";if(document.querySelector(`link[href="${e}"]${n}`))return;const r=document.createElement("link");return r.rel=t?"stylesheet":N,t||(r.as="script",r.crossOrigin=""),r.href=e,document.head.appendChild(r),t?new Promise(((e,t)=>{r.addEventListener("load",e),r.addEventListener("error",t)})):void 0}))).then((()=>e()))};var R=JSON.parse('{"advancement":"Advancement","button.add":"Add","button.collapse":"Collapse","button.expand":"Expand","button.remove":"Remove","copy":"Copy","dimension_type":"Dimension Type","dimension":"Dimension","download":"Download","fields":"Fields","github":"GitHub","home":"Home","import":"Import","indentation.2_spaces":"2 spaces","indentation.4_spaces":"4 spaces","indentation.tabs":"Tabs","item_modifier":"Item Modifier","language":"Language","loot_table":"Loot Table","not_found.description":"The page you were looking for does not exist.","no_presets":"No presets","predicate":"Predicate","redo":"Redo","reset":"Reset","settings":"Settings","settings.fields.description":"Customize advanced field settings","settings.fields.path":"Context","settings.fields.name":"Name","share":"Share","theme.dark":"Dark","theme.light":"Light","theme.system":"System","title.generator":"%0% Generator","title.generator_category":"%0% Generators","title.home":"Data Pack Generators","presets":"Presets","preview":"Visualize","preview.scale":"Scale","preview.depth":"Depth","preview.width":"Width","source_placeholder":"Paste JSON content here","undo":"Undo","world":"World Settings","worldgen":"Worldgen","worldgen/biome":"Biome","worldgen/configured_carver":"Carver","worldgen/configured_feature":"Feature","worldgen/noise_settings":"Noise Settings","worldgen/processor_list":"Processor List","worldgen/configured_structure_feature":"Structure Feature","worldgen/configured_surface_builder":"Surface Builder","worldgen/template_pool":"Template Pool"}'),H=Object.freeze({__proto__:null,[Symbol.toStringTag]:"Module",default:R});const F={fallback:R};function W(e,t,...n){var r,o,i,a,s;return function(e,t){return e.replace(/%\d+%/g,(e=>{const n=parseInt(e.slice(1,-1));return void 0!==(null==t?void 0:t[n])?t[n]:e}))}(null!=(s=null!=(a=null!=(i=null==(r=F[e])?void 0:r[t])?i:null==(o=F.en)?void 0:o[t])?a:F.fallback[t])?s:t,n)}async function G(e){const t=S.languages.find((t=>t.code===e));if(!t)return;const n=await function(e){switch(e){case"../locales/de.json":return B((()=>import("./de.9324c846.js")),void 0);case"../locales/en.json":return B((()=>Promise.resolve().then((function(){return H}))),void 0);case"../locales/es.json":return B((()=>import("./es.be1c5183.js")),void 0);case"../locales/fr.json":return B((()=>import("./fr.cc0e1c18.js")),void 0);case"../locales/it.json":return B((()=>import("./it.fd9a8268.js")),void 0);case"../locales/ja.json":return B((()=>import("./ja.8c79487c.js")),void 0);case"../locales/pl.json":return B((()=>import("./pl.3a9fb38c.js")),void 0);case"../locales/pt.json":return B((()=>import("./pt.689bba1d.js")),void 0);case"../locales/ru.json":return B((()=>import("./ru.43cf4da1.js")),void 0);case"../locales/sk.json":return B((()=>import("./sk.586a2a32.js")),void 0);case"../locales/zh-cn.json":return B((()=>import("./zh-cn.97195370.js")),void 0);case"../locales/zh-tw.json":return B((()=>import("./zh-tw.a82e5245.js")),void 0);default:return Promise.reject(new Error("Unknown variable dynamic import: "+e))}}(`../locales/${e}.json`),r=!1!==t.schemas&&await function(e){switch(e){case"../../node_modules/@mcschema/locales/src/de.json":return B((()=>import("./de.ba8c635a.js")),void 0);case"../../node_modules/@mcschema/locales/src/en.json":return B((()=>import("./en.6ae73cdb.js")),void 0);case"../../node_modules/@mcschema/locales/src/fr.json":return B((()=>import("./fr.c1ebc76d.js")),void 0);case"../../node_modules/@mcschema/locales/src/it.json":return B((()=>import("./it.288ea523.js")),void 0);case"../../node_modules/@mcschema/locales/src/ja.json":return B((()=>import("./ja.d68f1cee.js")),void 0);case"../../node_modules/@mcschema/locales/src/pl.json":return B((()=>import("./pl.2f8b352f.js")),void 0);case"../../node_modules/@mcschema/locales/src/pt.json":return B((()=>import("./pt.98ad9b62.js")),void 0);case"../../node_modules/@mcschema/locales/src/ru.json":return B((()=>import("./ru.61de7e2f.js")),void 0);case"../../node_modules/@mcschema/locales/src/zh-cn.json":return B((()=>import("./zh-cn.655950f4.js")),void 0);case"../../node_modules/@mcschema/locales/src/zh-tw.json":return B((()=>import("./zh-tw.a8f28612.js")),void 0);default:return Promise.reject(new Error("Unknown variable dynamic import: "+e))}}(`../../node_modules/@mcschema/locales/src/${e}.json`);F[e]=s(s({},n.default),r.default)}["1.15","1.16","1.17"].forEach((e=>localStorage.removeItem(`cache_${e}`)));const J="https://raw.githubusercontent.com/Arcensoth/mcdata",Y="https://raw.githubusercontent.com/SPGoding/vanilla-datapack",q=[{id:"mcdata_master",hash:"c1adf4f9ba8e81a7683ce775b7f2847bdd118e82",url:J},{id:"vanilla_datapack_summary",hash:"8a2f8022eb88840e6871ff6a72f63d6e64afc323",url:Y}];async function U(e,t,n){const r=S.versions.find((t=>t.id===e));r?(console.debug(`[fetchData] ${JSON.stringify(r)}`),r.dynamic&&await Promise.all(q.filter((e=>localStorage.getItem(`cached_${e.id}`)!==e.hash)).map((async e=>{console.debug(`[deleteMatching] ${e.id} '${localStorage.getItem(`cached_${e.id}`)}' < '${e.hash}' ${e.url}/${r.refs[e.id]}`),await async function(e){try{const t=await caches.open("misode-v1");console.debug("[deleteMatching] Opened cache misode-v1");const n=[];for(const r of await t.keys())e(r.url)&&n.push(t.delete(r));console.debug(`[deleteMatching] Removing ${n.length} cache objects...`),await Promise.all(n)}catch(t){console.warn(`[deleteMatching] Failed to open cache misode-v1: ${t.message}`)}}((t=>t.startsWith(`${e.url}/${r.refs[e.id]}`))),console.debug(`[deleteMatching] Done! ${e.id} ${e.hash} '${localStorage.getItem(`cached_${e.id}`)}'`),localStorage.setItem(`cached_${e.id}`,e.hash),console.debug(`[deleteMatching] Set! ${e.id} ${e.hash} '${localStorage.getItem(`cached_${e.id}`)}'`)}))),await Promise.all([Z(r,t),X(r,n),K(r,t)])):console.error(`[fetchData] Unknown version ${r} in ${JSON.stringify(S.versions)}`)}async function Z(e,t){console.debug(`[fetchRegistries] ${e.id}`);const n=S.registries.filter((e=>!e.dynamic)).filter((t=>ie(e.id,t.minVersion,t.maxVersion)));if(ie(e.id,void 0,"1.15")){const o=`${J}/${e.refs.mcdata_master}/generated/reports/registries.json`;try{const e=await Q(o,(e=>{const t={};return Object.keys(e).forEach((n=>{t[n.slice(10)]=Object.keys(e[n].entries)})),t}));n.forEach((n=>{var r;t.register(n.id,null!=(r=e[n.id])?r:[])}))}catch(r){console.warn("Error occurred while fetching registries:",r)}}else await Promise.all(n.map((async n=>{try{const r=n.path?`${J}/${e.refs.mcdata_master}/${n.path}/data.min.json`:`${J}/${e.refs.mcdata_master}/processed/reports/registries/${n.id}/data.min.json`;t.register(n.id,await Q(r,(e=>e.values)))}catch(r){console.warn(`Error occurred while fetching registry ${n.id}:`,r)}})))}async function X(e,t){if(console.debug(`[fetchBlockStateMap] ${e.id}`),ie(e.id,void 0,"1.16")){const r=ie(e.id,void 0,"1.15")?`${J}/${e.refs.mcdata_master}/generated/reports/blocks.json`:`${J}/${e.refs.mcdata_master}/processed/reports/blocks/data.min.json`;try{const e=await Q(r,(e=>{const t={};return Object.keys(e).forEach((n=>{t[n]={properties:e[n].properties,default:e[n].states.find((e=>e.default)).properties}})),t}));Object.assign(t,e)}catch(n){console.warn("Error occurred while fetching block state map:",n)}}else{const r=`${J}/${e.refs.mcdata_master}/processed/reports/blocks/simplified/data.min.json`;try{const e=await Q(r);Object.assign(t,e)}catch(n){console.warn("Error occurred while fetching block state map:",n)}}}async function K(e,t){console.debug(`[fetchDynamicRegistries] ${e.id}`);const n=S.registries.filter((e=>e.dynamic)).filter((t=>ie(e.id,t.minVersion,t.maxVersion)));if(ie(e.id,"1.16")){const o=`${Y}/${e.refs.vanilla_datapack_summary}/summary/flattened.min.json`;try{const e=await Q(o);n.forEach((n=>{t.register(n.id,e[n.id])}))}catch(r){console.warn("Error occurred while fetching dynamic registries:",r)}}}async function Q(e,t=(e=>e)){try{const n=await caches.open("misode-v1");console.debug(`[getData] Opened cache misode-v1 ${e}`);const r=await n.match(e);if(r&&r.ok)return console.debug(`[getData] Retrieving cached data ${e}`),await r.json();console.debug(`[getData] fetching data ${e}`);const o=await fetch(e),i=t(await o.json());return await n.put(e,new Response(JSON.stringify(i))),i}catch(n){console.warn(`[getData] Failed to open cache misode-v1: ${n.message}`),console.debug(`[getData] fetching data ${e}`);const r=await fetch(e);return t(await r.json())}}const ee=["1.15","1.16","1.17"],te={},ne={},re={1.15:g,1.16:p,1.17:f};async function oe(e){return te[e]||(te[e]=(async()=>{try{const t=re[e].getCollections(),n={};await U(e,t,n);const r=re[e].getSchemas(t);return te[e]={collections:t,schemas:r,blockStates:n},te[e]}catch(t){throw new Error(`Cannot get version "${e}": ${t.message}`)}})()),te[e]}function ie(e,t,n){const r=S.versions.findIndex((t=>t.id===e)),o=t?S.versions.findIndex((e=>e.id===t)):0,i=n?S.versions.findIndex((e=>e.id===n)):S.versions.length-1;return o<=r&&r<=i}const ae=e=>("0"+e.toString(16)).substr(-2);function se(e=12){var t=new Uint8Array(e/2);return window.crypto.getRandomValues(t),Array.from(t,ae).join("")}function le(e){return`/${e}/`.replaceAll("//","/")}function ce(e){const t=e.replace(/^\//,"").replace(/\/$/,"");return S.generators.find((e=>e.url===t))}function de(e){const t=Math.abs(function(e){let t=0;for(let n=0;n>8)%256,(t>>16)%256]}function ue(e,t,n){return Math.max(e,Math.min(t,n))}function he(e,t,n){return n<0?e:n>1?t:me(n,e,t)}function me(e,t,n){return t+e*(n-t)}function ge(e,t,n,r,o,i){return me(t,me(e,n,r),me(e,o,i))}function pe(e){return e*e*e*(e*(6*e-15)+10)}const fe={system:"device_desktop",dark:"moon",light:"sun"};function ve({lang:e,title:t,version:n,theme:r,changeTheme:o,language:i,changeLanguage:a}){const s=W.bind(null,e),l=ce(v());return d("header",null,d("div",{class:"title"},d(_,{class:"home-link",href:"/"},_e.home),d("h2",null,t),l&&d(D,{icon:"chevron_down"},S.generators.filter((e=>e.category===(null==l?void 0:l.category)&&ie(n,e.minVersion))).map((e=>d(E,{label:s(e.id),active:e.id===l.id,onClick:()=>w(le(e.url))}))))),d("nav",null,d("ul",null,d("li",null,d(D,{icon:"globe"},S.languages.map((({code:e,name:t})=>d(E,{label:t,active:e===i,onClick:()=>a(e)}))))),d("li",null,d(D,{icon:fe[r]},Object.entries(fe).map((([e,t])=>d(E,{icon:t,label:s(`theme.${e}`),active:e===r,onClick:()=>o(e)}))))),d("li",{class:"dimmed"},d("a",{href:"https://github.com/misode/misode.github.io",target:"_blank",rel:"noreferrer",title:s("github")},I.mark_github)))))}const _e={home:d("svg",{width:"32",height:"28",viewBox:"0 0 32 28",fill:"none",xmlns:"http://www.w3.org/2000/svg"},d("rect",{width:"26",height:"6",rx:"3",fill:"#7CB45C"}),d("rect",{x:"8",width:"18",height:"6",rx:"3",fill:"#4BA041"}),d("rect",{y:"11",width:"32",height:"6",rx:"3",fill:"#AAA8A8"}),d("rect",{x:"11",y:"11",width:"21",height:"6",rx:"3",fill:"#91908F"}),d("rect",{x:"11",y:"22",width:"21",height:"6",rx:"3",fill:"#70B5C3"}),d("rect",{x:"17",y:"22",width:"15",height:"6",rx:"3",fill:"#4D989B"})),report:d("svg",{width:"30",height:"36",viewBox:"0 0 30 36",xmlns:"http://www.w3.org/2000/svg"},d("path",{d:"M0 16C0 13.7909 1.79086 12 4 12V12C6.20914 12 8 13.7909 8 16V32C8 34.2091 6.20914 36 4 36V36C1.79086 36 0 34.2091 0 32V16Z",fill:"#6ACC5D"}),d("path",{d:"M11 4C11 1.79086 12.7909 0 15 0V0C17.2091 0 19 1.79086 19 4V32C19 34.2091 17.2091 36 15 36V36C12.7909 36 11 34.2091 11 32V4Z",fill:"#FF4C4C"}),d("path",{d:"M22 10C22 7.79086 23.7909 6 26 6V6C28.2091 6 30 7.79086 30 10V32C30 34.2091 28.2091 36 26 36V36C23.7909 36 22 34.2091 22 32V10Z",fill:"#E5B442"}),d("path",{d:"M0 23C0 20.7909 1.79086 19 4 19V19C6.20914 19 8 20.7909 8 23V32C8 34.2091 6.20914 36 4 36V36C1.79086 36 0 34.2091 0 32V23Z",fill:"#2BAD1D"}),d("path",{d:"M11 15C11 12.7909 12.7909 11 15 11V11C17.2091 11 19 12.7909 19 15V32C19 34.2091 17.2091 36 15 36V36C12.7909 36 11 34.2091 11 32V15Z",fill:"#C10B0B"}),d("path",{d:"M22 19C22 16.7909 23.7909 15 26 15V15C28.2091 15 30 16.7909 30 19V32C30 34.2091 28.2091 36 26 36V36C23.7909 36 22 34.2091 22 32V19Z",fill:"#CC8E00"})),sounds:d("svg",{width:"20",height:"20",viewBox:"0 0 20 20",xmlns:"http://www.w3.org/2000/svg"},d("circle",{cx:"10",cy:"10",r:"10",fill:"#451475"}),d("path",{"fill-rule":"evenodd","clip-rule":"evenodd",d:"M3.5 10C3.5 8.27609 4.18482 6.62279 5.40381 5.40381C6.62279 4.18482 8.27609 3.5 10 3.5C11.7239 3.5 13.3772 4.18482 14.5962 5.40381C15.8152 6.62279 16.5 8.27609 16.5 10C16.5 11.7239 15.8152 13.3772 14.5962 14.5962C13.3772 15.8152 11.7239 16.5 10 16.5C8.27609 16.5 6.62279 15.8152 5.40381 14.5962C4.18482 13.3772 3.5 11.7239 3.5 10V10ZM10 2C7.87827 2 5.84344 2.84285 4.34315 4.34315C2.84285 5.84344 2 7.87827 2 10C2 12.1217 2.84285 14.1566 4.34315 15.6569C5.84344 17.1571 7.87827 18 10 18C12.1217 18 14.1566 17.1571 15.6569 15.6569C17.1571 14.1566 18 12.1217 18 10C18 7.87827 17.1571 5.84344 15.6569 4.34315C14.1566 2.84285 12.1217 2 10 2V2ZM8.379 7.227C8.34101 7.20412 8.29762 7.19175 8.25327 7.19117C8.20892 7.19059 8.16522 7.20181 8.12664 7.2237C8.08807 7.24558 8.05601 7.27733 8.03375 7.3157C8.0115 7.35406 7.99985 7.39765 8 7.442V12.559C8.00003 12.6033 8.0118 12.6467 8.03413 12.685C8.05646 12.7232 8.08854 12.7548 8.12708 12.7765C8.16563 12.7983 8.20926 12.8095 8.25352 12.8088C8.29778 12.8082 8.34108 12.7958 8.379 12.773L12.643 10.214C12.6798 10.1917 12.7103 10.1604 12.7315 10.1229C12.7526 10.0854 12.7638 10.043 12.7638 10C12.7638 9.95695 12.7526 9.91463 12.7315 9.87714C12.7103 9.83965 12.6798 9.80825 12.643 9.786L8.379 7.227Z",fill:"#C5A5E6"}))},we=class{constructor(e){this.xo=256*e(),this.yo=256*e(),this.zo=256*e(),this.p=Array(256);for(let t=0;t<256;t+=1)this.p[t]=t;for(let t=0;t<256;t+=1){const n=e.int32()%(256-t),r=this.p[t];this.p[t]=this.p[t+n],this.p[t+n]=r}}noise(e,t,n,r,o){const i=e+this.xo,a=t+this.yo,s=n+this.zo,l=Math.floor(i),c=Math.floor(a),d=Math.floor(s),u=i-l,h=a-c,m=s-d,g=pe(u),p=pe(h),f=pe(m);let v=0;return 0!==r&&(v=Math.floor(Math.min(o,h)/r)*r),this.sampleAndLerp(l,c,d,u,h-v,m,g,p,f)}gradDot(e,t,n,r){const o=we.GRADIENT[15&e];return o[0]*t+o[1]*n+o[2]*r}P(e){return 255&this.p[255&e]}sampleAndLerp(e,t,n,r,o,i,a,s,l){const c=this.P(e)+t,d=this.P(c)+n,u=this.P(c+1)+n,h=this.P(e+1)+t,m=this.P(h)+n,g=this.P(h+1)+n;return function(e,t,n,r,o,i,a,s,l,c,d){return me(n,ge(e,t,r,o,i,a),ge(e,t,s,l,c,d))}(a,s,l,this.gradDot(this.P(d),r,o,i),this.gradDot(this.P(m),r-1,o,i),this.gradDot(this.P(u),r,o-1,i),this.gradDot(this.P(g),r-1,o-1,i),this.gradDot(this.P(d+1),r,o,i-1),this.gradDot(this.P(m+1),r-1,o,i-1),this.gradDot(this.P(u+1),r,o-1,i-1),this.gradDot(this.P(g+1),r-1,o-1,i-1))}};let ye=we;ye.GRADIENT=[[1,1,0],[-1,1,0],[1,-1,0],[-1,-1,0],[1,0,1],[-1,0,1],[1,0,-1],[-1,0,-1],[0,1,1],[0,-1,1],[0,1,-1],[0,-1,-1],[1,1,0],[0,-1,1],[-1,1,0],[0,-1,-1]];class be{constructor(e,t,n){this.amplitudes=n,this.noiseLevels=Array(this.amplitudes.length);for(let r=0;r{const o=e[`${t}_noise`];return new Ce(n.seed+r,o.firstOctave,o.amplitudes)})),a={};e.biomes.forEach((e=>{a[e.biome]=Ve(e.biome,n.biomeColors)}));const s=t.data,l=-n.offset[0]-100+n.res/2,c=-n.offset[1]-100+n.res/2,d=4*t.width/n.res,u=4/n.res;for(let h=0;h<200;h+=n.res)for(let t=0;t<200;t+=n.res){const r=t*d+h*u,m=(h+l)*n.scale,g=(t+c)*n.scale,p=ze(i,e.biomes,m,g),f=null!=(o=a[p])?o:[128,128,128];s[r]=f[0],s[r+1]=f[1],s[r+2]=f[2],s[r+3]=255}}(e,t,n);case"fixed":return function(e,t,n){const r=t.data,o=Ve(e.biome,n.biomeColors),i=4*t.width/n.res,a=4/n.res;for(let s=0;s<200;s+=n.res)for(let e=0;e<200;e+=n.res){const t=e*i+s*a;r[t]=o[0],r[t+1]=o[1],r[t+2]=o[2],r[t+3]=255}}(e,t,n);case"checkerboard":return function(e,t,n){var r,o,i,a,s,l;const c={};null==(r=e.biomes)||r.forEach((e=>{c[e]=Ve(e,n.biomeColors)}));const d=t.data,u=-n.offset[0]-100+n.res/2,h=-n.offset[1]-100+n.res/2,m=4*t.width/n.res,g=4/n.res,p=(null!=(o=e.scale)?o:2)+2,f=null!=(a=null==(i=e.biomes)?void 0:i.length)?a:0;for(let v=0;v<200;v+=n.res)for(let t=0;t<200;t+=n.res){const r=t*m+v*g,o=((((v+u)*n.scale>>p)+((t+h)*n.scale>>p))%f+f)%f,i=null==(s=e.biomes)?void 0:s[o],a=null!=(l=c[i])?l:[128,128,128];d[r]=a[0],d[r+1]=a[1],d[r+2]=a[2],d[r+3]=255}}(e,t,n)}}function Ve(e,t){var n;if(!e)return[128,128,128];const r=null!=(n=t[e])?n:Ae[e];return void 0===r?de(e):r}function ze(e,t,n,r){if(!Array.isArray(t)||0===t.length)return"";const o=e.map((e=>e.getValue(n,r,0)));let i=1/0,a="";for(const s of t){const e=Me(s.parameters,{altitude:o[0],temperature:o[1],humidity:o[2],weirdness:o[3],offset:0});e{Ne(t,null==e?void 0:e.decorator,n).forEach((t=>Se(t,null==e?void 0:e.feature,n)))},random_boolean_selector:(e,t,n)=>{Se(t,n.random()<.5?null==e?void 0:e.feature_true:null==e?void 0:e.feature_false,n)},random_selector:(e,t,n)=>{var r,o;for(const i of null!=(r=null==e?void 0:e.features)?r:[])if(n.random()<(null!=(o=null==i?void 0:i.chance)?o:0))return void Se(t,i.feature,n);Se(t,null==e?void 0:e.default,n)},simple_random_selector:(e,t,n)=>{var r,o,i;Se(t,null==(i=null==e?void 0:e.features)?void 0:i[De(null!=(o=null==(r=null==e?void 0:e.features)?void 0:r.length)?o:0,n)],n)}},Be={chance:(e,t,n)=>{var r;return n.random()<1/(null!=(r=null==e?void 0:e.chance)?r:1)?[t]:[]},count:(e,t,n)=>{var r;return new Array(Ie(null!=(r=null==e?void 0:e.count)?r:1,n)).fill(t)},count_extra:(e,t,n)=>{var r,o;let i=null!=(r=null==e?void 0:e.count)?r:1;return n.random(){var r;return new Array(Ie(null!=(r=null==e?void 0:e.count)?r:1,n)).fill(t).map((e=>[e[0]+De(16,n),e[1],e[2]+De(16,n)]))},count_noise:(e,t,n)=>{const r=n.biomeInfoNoise.getValue(t[0]/200,0,t[2]/200){var r;const o=Math.max(1,e.noise_factor),i=n.biomeInfoNoise.getValue(t[0]/o,0,t[2]/o),a=Math.max(0,Math.ceil((i+(null!=(r=e.noise_offset)?r:0))*e.noise_to_count_ratio));return new Array(a).fill(t)},dark_oak_tree:(e,t,n)=>[...new Array(16)].map(((e,r)=>{const o=4*Math.floor(r/4)+1+De(3,n)+t[0];return[o,Math.max(n.seaLevel,je[ue(0,63,o)]),4*Math.floor(r%4)+1+De(3,n)+t[2]]})),decorated:(e,t,n)=>Ne(t,null==e?void 0:e.outer,n).flatMap((t=>Ne(t,null==e?void 0:e.inner,n))),depth_average:(e,t,n)=>{var r,o,i,a;return $e(t,De(null!=(r=null==e?void 0:e.spread)?r:0,n)+De(null!=(o=null==e?void 0:e.spread)?o:0,n)-(null!=(i=e.spread)?i:0)+(null!=(a=null==e?void 0:e.baseline)?a:0))},emerald_ore:(e,t,n)=>{const r=3+De(6,n);return[...new Array(r)].map((()=>[t[0]+De(16,n),4+De(28,n),t[2]+De(16,n)]))},fire:(e,t,n)=>{const r=1+De(De(Ie(null==e?void 0:e.count,n),n),n);return[...new Array(r)].map((()=>[t[0]+De(16,n),De(128,n),t[2]+De(16,n)]))},glowstone:(e,t,n)=>{const r=De(1+De(Ie(null==e?void 0:e.count,n),n),n);return[...new Array(r)].map((()=>[t[0]+De(16,n),De(128,n),t[2]+De(16,n)]))},heightmap:(e,t,n)=>$e(t,Math.max(n.seaLevel,je[ue(0,63,t[0])])),heightmap_spread_double:(e,t,n)=>$e(t,De(2*Math.max(n.seaLevel,je[ue(0,63,t[0])]),n)),heightmap_world_surface:(e,t,n)=>$e(t,Math.max(n.seaLevel,je[ue(0,63,t[0])])),iceberg:(e,t,n)=>[[t[0]+4+De(8,n),t[1],t[2]+4+De(8,n)]],lava_lake:(e,t,n)=>{var r,o;if(0===De((null!=(r=e.chance)?r:1)/10,n)){const r=De(De(248,n)+8,n);if(r[t],range:(e,t,n)=>{var r,o,i;return $e(t,De((null!=(r=null==e?void 0:e.maximum)?r:1)-(null!=(o=null==e?void 0:e.top_offset)?o:0),n)+(null!=(i=null==e?void 0:e.bottom_offset)?i:0))},range_biased:(e,t,n)=>{var r,o,i;return $e(t,De(De((null!=(r=null==e?void 0:e.maximum)?r:1)-(null!=(o=null==e?void 0:e.top_offset)?o:0),n)+(null!=(i=null==e?void 0:e.bottom_offset)?i:0),n))},range_very_biased:(e,t,n)=>{var r,o,i,a;return $e(t,De(De(De((null!=(r=null==e?void 0:e.maximum)?r:1)-(null!=(o=null==e?void 0:e.top_offset)?o:0),n)+(null!=(i=null==e?void 0:e.bottom_offset)?i:0),n)+(null!=(a=null==e?void 0:e.bottom_offset)?a:0),n))},spread_32_above:(e,t,n)=>$e(t,De(t[1]+32,n)),top_solid_heightmap:(e,t)=>$e(t,je[ue(0,63,t[0])]),magma:(e,t,n)=>$e(t,De(t[1]+32,n)),square:(e,t,n)=>[[t[0]+De(16,n),t[1],t[2]+De(16,n)]],water_lake:(e,t,n)=>{var r;return 0===De(null!=(r=e.chance)?r:1,n)?[[t[0]+De(16,n),De(256,n),t[2]+De(16,n)]]:[]}};class Re{constructor(e){this.settings={},this.chunkWidth=4,this.chunkHeight=4,this.chunkCountY=32,this.biomeDepth=.1,this.biomeScale=.2,this.noiseColumnCache=[],this.xOffset=0,this.minLimitPerlinNoise=be.fromRange(e+"djfqnqd",-15,0),this.maxLimitPerlinNoise=be.fromRange(e+"gowdnqs",-15,0),this.mainPerlinNoise=be.fromRange(e+"afiwmco",-7,0),this.depthNoise=be.fromRange(e+"qphnmeo",-15,0)}reset(e,t,n,r,o){this.settings=e,this.chunkWidth=4*e.size_horizontal,this.chunkHeight=4*e.size_vertical,this.chunkCountY=Math.floor(e.height/this.chunkHeight),e.amplified&&t>0&&(t=1+2*t,n=1+4*n),this.biomeDepth=.265625*(.5*t-.125),this.biomeScale=96/(.9*n+.1),this.noiseColumnCache=Array(o).fill(null),this.xOffset=r}iterateNoiseColumn(e){const t=Array(this.chunkCountY*this.chunkHeight),n=Math.floor(e/this.chunkWidth),r=Math.floor(e%this.chunkWidth)/this.chunkWidth,o=this.fillNoiseColumn(n),i=this.fillNoiseColumn(n+1);for(let a=this.chunkCountY-1;a>=0;a-=1)for(let e=this.chunkHeight;e>=0;e-=1){const n=e/this.chunkHeight;t[a*this.chunkHeight+e]=ge(n,r,o[a],o[a+1],i[a],i[a+1])}return t}fillNoiseColumn(e){const t=this.noiseColumnCache[e-this.xOffset];if(t)return t;const n=Array(this.chunkCountY+1),r=684.412*this.settings.sampling.xz_scale,o=684.412*this.settings.sampling.y_scale,i=r/this.settings.sampling.xz_factor,a=o/this.settings.sampling.y_factor,s=this.settings.random_density_offset?this.getRandomDensity(e):0;for(let l=0;l<=this.chunkCountY;l+=1){let t=this.sampleAndClampNoise(e,l,this.mainPerlinNoise.getOctaveNoise(0).zo,r,o,i,a);const c=((1-2*l/this.chunkCountY+s)*this.settings.density_factor+this.settings.density_offset+this.biomeDepth)*this.biomeScale;t+=c*(c>0?4:1),this.settings.top_slide.size>0&&(t=he(this.settings.top_slide.target,t,(this.chunkCountY-l-this.settings.top_slide.offset)/this.settings.top_slide.size)),this.settings.bottom_slide.size>0&&(t=he(this.settings.bottom_slide.target,t,(l-this.settings.bottom_slide.offset)/this.settings.bottom_slide.size)),n[l]=t}return this.noiseColumnCache[e-this.xOffset]=n,n}getRandomDensity(e){const t=this.depthNoise.getValue(200*e,10,this.depthNoise.getOctaveNoise(0).zo,1,0,!0),n=24.575625*(t<0?.3*-t:t)-2;return n<0?.009486607142857142*n:.006640625*Math.min(n,1)}sampleAndClampNoise(e,t,n,r,o,i,a){let s=0,l=0,c=0,d=1;for(let u=0;u<16;u+=1){const h=be.wrap(e*r*d),m=be.wrap(t*o*d),g=be.wrap(n*r*d),p=o*d,f=this.minLimitPerlinNoise.getOctaveNoise(u);f&&(s+=f.noise(h,m,g,p,t*p)/d);const v=this.maxLimitPerlinNoise.getOctaveNoise(u);if(v&&(l+=v.noise(h,m,g,p,t*p)/d),u<8){const r=this.mainPerlinNoise.getOctaveNoise(u);r&&(c+=r.noise(be.wrap(e*i*d),be.wrap(t*a*d),be.wrap(n*i*d),a*d,t*a*d)/d)}d/=2}return he(s/512,l/512,(c/10+1)/2)}}function He(e,t){return e[t]>0?0:e[t+1]>0?150:255}const Fe=["dimension","worldgen/noise_settings","worldgen/configured_feature"],We=[{id:"biome-noise",generator:"dimension",path:new m.Path(["generator","biome_source"]),predicate:e=>e.get(new m.Path(["generator","type"])).endsWith("noise"),preview:({data:e,shown:t})=>{var n;const[r,o]=h(2),[i,a]=h(se()),[s,l]=h(void 0),m=null==(n=e.type)?void 0:n.replace(/^minecraft:/,""),g=u(null),p=u([0,0]),f=u(void 0),v=u(),_=u();c((()=>{v.current=(t=4)=>{"multi_noise"!==m&&(t=1);const n=g.current.getContext("2d");g.current.width=200/t,g.current.height=200/t;const o=n.createImageData(g.current.width,g.current.height);xe(e,o,{biomeColors:{},offset:p.current,scale:r,seed:i,res:t}),n.putImageData(o,0,0),1!==t&&(clearTimeout(f.current),f.current=setTimeout((()=>v.current(1)),150))},_.current=(t,n)=>{const o=200*t/g.current.clientWidth,a=200*n/g.current.clientHeight,s=function(e,t,n,r){var o,i,a,s,l;const[c,d]=function([e,t],n){return[(e-n.offset[0]-100+n.res/2)*n.scale,(t-n.offset[1]-100+n.res/2)*n.scale]}([t,n],r);switch(null==(o=null==e?void 0:e.type)?void 0:o.replace(/^minecraft:/,"")){case"multi_noise":return ze(ke.map(((t,n)=>{const o=e[`${t}_noise`];return new Ce(r.seed+n,o.firstOctave,o.amplitudes)})),e.biomes,c,d);case"fixed":return e.biome;case"checkerboard":const t=(null!=(i=e.scale)?i:2)+2,n=null!=(s=null==(a=e.biomes)?void 0:a.length)?s:0,o=(((c>>t)+(d>>t))%n+n)%n;return null==(l=e.biomes)?void 0:l[o]}}(e,o,a,{biomeColors:{},offset:p.current,scale:r,seed:i,res:1});l(s)}})),$(g.current,((e,t)=>{const n=200*e/g.current.clientWidth,r=200*t/g.current.clientHeight;p.current=[p.current[0]+n,p.current[1]+r],v.current()})),function(e,t){if(!e)return;const n=e=>{t(e.offsetX,e.offsetY)},r=()=>{t(void 0,void 0)};c((()=>(e.addEventListener("mousemove",n),e.addEventListener("mouseleave",r),()=>{e.removeEventListener("mousemove",n),e.removeEventListener("mouseleave",r)})),[e])}(g.current,((e,t)=>{void 0===e||void 0===t?l(void 0):_.current(e,t)}));const w=JSON.stringify(e);c((()=>{t&&v.current()}),[w,r,i,t]);const y=e=>{p.current[0]*=r/e,p.current[1]*=r/e,o(e)};return d(b,null,d("div",{class:"controls"},s&&d(E,{label:s,class:"no-pointer"}),("multi_noise"===m||"checkerboard"===m)&&d(b,null,d(E,{icon:"dash",onClick:()=>y(1.5*r)}),d(E,{icon:"plus",onClick:()=>y(r/1.5)})),"multi_noise"===m&&d(E,{icon:"sync",onClick:()=>a(se())})),d("canvas",{ref:g,width:"200",height:"200"}))}},{id:"noise-settings",generator:"worldgen/noise_settings",path:new m.Path(["noise"]),predicate:()=>!0,preview:({lang:e,data:t,shown:n})=>{const r=W.bind(null,e),[o,i]=h(se()),[a,s]=h(.1),[l,m]=h(.2),g=u(null),p=u(0),f=u();c((()=>{f.current=()=>{const e=g.current.getContext("2d"),n=t.height;g.current.width=n,g.current.height=n;const r=e.createImageData(g.current.width,g.current.height);!function(e,t,n){const r=new Re(n.seed);r.reset(e,n.biomeDepth,n.biomeScale,n.offset,200);const o=t.data,i=4*t.width;for(let a=0;a{const t=e*g.current.width/g.current.clientWidth;p.current=p.current+t,f.current()}));const v=JSON.stringify(t);return c((()=>{n&&f.current()}),[v,a,l,o,n]),d(b,null,d("div",{class:"controls"},d(D,{icon:"gear"},d(j,{type:"number",label:r("preview.depth"),value:`${a}`,onChange:e=>s(Number(e))}),d(j,{type:"number",label:r("preview.scale"),value:`${l}`,onChange:e=>m(Number(e))})),d(E,{icon:"sync",onClick:()=>i(se())})),d("canvas",{ref:g,width:"200",height:t.height}))}},{id:"decorator",generator:"worldgen/configured_feature",path:new m.Path([]),predicate:()=>!0,preview:({data:e,version:t,shown:n})=>{const[r,o]=h(4),[i,a]=h(se()),s=u(null),l=u();c((()=>{l.current=()=>{const n=s.current.getContext("2d");s.current.width=16*r,s.current.height=16*r;const o=n.createImageData(s.current.width,s.current.height);!function(e,t,n){const r={placements:[],features:[],random:y(n.seed),biomeInfoNoise:new be(n.seed+"frwynup",0,[1]),seaLevel:63,version:n.version};for(let i=0;i=n.size[0]||i[1]>=n.size[1]||i[2]>=n.size[2])continue;const e=i[2]*(4*t.width)+4*i[0],s=a{n&&setTimeout((()=>l.current()))}),[m,r,i,n]),d(b,null,d("div",{class:"controls"},d(E,{icon:"dash",onClick:()=>o(Math.min(16,r+1))}),d(E,{icon:"plus",onClick:()=>o(Math.max(1,r-1))}),d(E,{icon:"sync",onClick:()=>a(se())})),d("canvas",{ref:s,width:"64",height:"64"}))}}];function Ge({lang:e,model:t,version:n,id:r,shown:o}){const[,i]=h(0);return P(t,(()=>{i((e=>e+1))})),d(b,null,We.filter((e=>e.generator===r)).map((r=>{const i=null==t?void 0:t.get(r.path);return t&&void 0!==i&&r.predicate(t)?r.preview({lang:e,model:t,data:i,version:n,shown:o}):d(b,null)})))}const Je={base:({},e,t)=>t,choice({switchNode:e},t,n,r){return e.hook(this,t,n,r)},list({children:e},t,n,r){return Array.isArray(n)?n.map(((n,o)=>e.hook(this,t.push(o),n,r))):n},map({children:e,config:t},n,r,o){var i,a;if(void 0===r)return;const s="block_state_map"===(null==(i=t.validation)?void 0:i.validator)?null==(a=o.blockStates)?void 0:a[m.relativePath(n,t.validation.params.id).get()]:null,l={};return Object.keys(r).forEach((t=>{var i;s&&!Object.keys(null!=(i=s.properties)?i:{}).includes(t)||(l[t]=e.hook(this,n.push(t),r[t],o))})),l},object({getActiveFields:e},t,n,r){if(null==n||"object"!=typeof n)return n;const o={},i=e(t);return Object.keys(i).filter((e=>i[e].enabled(t))).forEach((e=>{o[e]=i[e].hook(this,t.push(e),n[e],r)})),o}};var Ye,qe;(qe=Ye||(Ye={})).ID_LANGUAGE="language",qe.ID_THEME="theme",qe.ID_VERSION="schema_version",qe.ID_INDENT="indentation",qe.getLanguage=function(){var e;return null!=(e=localStorage.getItem(qe.ID_LANGUAGE))?e:"en"},qe.getTheme=function(){var e;return null!=(e=localStorage.getItem(qe.ID_THEME))?e:"dark"},qe.getVersion=function(){const e=localStorage.getItem(qe.ID_VERSION);return e&&ee.includes(e)?e:"1.17"},qe.getIndent=function(){var e;return null!=(e=localStorage.getItem(qe.ID_INDENT))?e:"2_spaces"},qe.setLanguage=function(e){e&&localStorage.setItem(qe.ID_LANGUAGE,e)},qe.setTheme=function(e){e&&localStorage.setItem(qe.ID_THEME,e)},qe.setVersion=function(e){e&&localStorage.setItem(qe.ID_VERSION,e)},qe.setIndent=function(e){e&&localStorage.setItem(qe.ID_INDENT,e)};const Ue={"2_spaces":2,"4_spaces":4,tabs:"\t"};function Ze({lang:e,name:t,model:n,blockStates:r,doCopy:o,doDownload:i,doImport:a,onError:s}){const l=W.bind(null,e),[g,p]=h(Ye.getIndent()),f=u(null),v=u(null),_=u();c((()=>{_.current=()=>{if(n&&r)try{const e={blockStates:null!=r?r:{}},t=n.schema.hook(Je,new m.ModelPath(n),n.data,e);f.current.value=JSON.stringify(t,null,Ue[g])+"\n"}catch(e){s(`Error getting JSON output: ${e.message}`),console.error(e),f.current.value=""}}})),P(n,(()=>{_.current()})),c((()=>{n&&_.current()}),[n]),c((()=>{_.current()}),[g]);c((()=>{o&&f.current&&(f.current.select(),document.execCommand("copy"))}),[o]),c((()=>{if(i&&f.current&&v.current){const e=encodeURIComponent(f.current.value);v.current.setAttribute("href",`data:text/json;charset=utf-8,${e}`),v.current.setAttribute("download",`${t}.json`),v.current.click()}}),[i]),c((()=>{a&&f.current&&(f.current.value="",f.current.select())}),[a]);return d(b,null,d("div",{class:"controls"},d(D,{icon:"gear"},Object.entries(Ue).map((([e])=>d(E,{label:l(`indentation.${e}`),active:g===e,onClick:()=>{return t=e,Ye.setIndent(t),void p(t);var t}}))))),d("textarea",{ref:f,class:"source",onChange:()=>{try{const e=JSON.parse(f.current.value);null==n||n.reset(e,!1)}catch(e){s(`Error importing: ${e.message}`)}},spellcheck:!1,autocorrect:"off",placeholder:l("source_placeholder")}),d("a",{ref:v,style:"display: none;"}))}function Xe({title:e,link:t,icon:n,children:r}){return d("a",{class:"tool-card",href:t},n&&_e[n],d("div",null,d("h3",null,e),r))}const Ke=["loot_table.type","loot_entry.type","function.function","condition.condition","criterion.trigger","dimension.generator.type","dimension.generator.biome_source.type","carver.type","feature.type","decorator.type","feature.tree.minimum_size.type","block_state_provider.type","trunk_placer.type","foliage_placer.type","tree_decorator.type","int_provider.type","float_provider.type","height_provider.type","structure_feature.type","surface_builder.type","processor.processor_type","rule_test.predicate_type","pos_rule_test.predicate_type","template_element.element_type","block_placer.type"],Qe=["number_provider.type","score_provider.type","nbt_provider.type","int_provider.type","float_provider.type","height_provider.type"],et=["feature.config","decorator.config","int_provider.value","float_provider.value","block_state_provider.simple_state_provider.state","block_state_provider.rotated_block_provider.state","block_state_provider.weighted_state_provider.entries.entry.data","rule_test.block_state","structure_feature.config","surface_builder.config","template_pool.elements.entry.element"],tt=["loot_entry.type","function.function","condition.condition","criterion.trigger","dimension.generator.type","dimension.generator.biome_source.type","feature.type","decorator.type","block_state_provider.type","feature.tree.minimum_size.type","trunk_placer.type","foliage_placer.type","tree_decorator.type","block_placer.type","rule_test.predicate_type","processor.processor_type","template_element.element_type","nbt_operation.op","number_provider.value","score_provider.name","score_provider.target","nbt_provider.source","nbt_provider.target"],nt=["function.set_nbt.tag","advancement.display.icon.nbt","text_component_object.nbt","entity.nbt","block.nbt","item.nbt"],rt=new m.DataModel(m.MapNode(m.StringNode(),m.StringNode()),{historyMax:0}),ot={base:()=>[null,null,null],boolean:(e,t,n,r,o)=>[null,d(it,s({},l(s({},e),{path:t,value:n,lang:r,states:o}))),null],choice({choices:e,config:t,switchNode:n},r,o,i,a){const s=n.activeCase(r,!0),l=(null==t?void 0:t.context)?new m.ModelPath(r.getModel(),new m.Path(r.getArray(),[t.context])):r,[c,u,h]=s.node.hook(this,l,o,i,a);if(1===e.length)return[c,u,h];const g=(null==t?void 0:t.choiceContext)?new m.Path([],[t.choiceContext]):(null==t?void 0:t.context)?new m.Path([],[t.context]):r,p=d("select",{value:s.type,onChange:t=>(t=>{var n;const o=null!=(n=e.find((e=>e.type===t)))?n:s;console.log(o),r.model.set(r,o.change?o.change(t):o.node.default())})(t.target.value)},e.map((e=>d("option",{value:e.type},ut(i,g.contextPush(e.type))))));return[c,d(b,null,p,u),h]},list:({children:e},t,n,r,o)=>[null,d("button",{class:"add",onClick:()=>{Array.isArray(n)||(n=[]),t.model.set(t,[e.default(),...n])}},I.plus_circle),d(b,null,n&&Array.isArray(n)&&n.map(((i,a)=>{const s=t.push(a).contextPush("entry");return d("div",{class:"node-entry"},d(lt,{path:s,schema:e,value:i,lang:r,states:o},d("button",{class:"remove",onClick:()=>s.set(void 0)},I.trashcan),n.length>1&&d("div",{class:"node-move"},d("button",{class:"move",onClick:()=>{const e=[...n];[e[a-1],e[a]]=[e[a],e[a-1]],t.model.set(t,e)},disabled:0===a},I.chevron_up),d("button",{class:"move",onClick:()=>{const e=[...n];[e[a+1],e[a]]=[e[a],e[a+1]],t.model.set(t,e)},disabled:a===n.length-1},I.chevron_down))))})),n&&n.length>2&&d("div",{class:"node-entry"},d("div",{class:"node node-header"},d("button",{class:"add",onClick:()=>{Array.isArray(n)||(n=[]),t.model.set(t,[...n,e.default()])}},I.plus_circle))))],map({children:e,keys:t,config:n},r,o,i,a){var s,l,c,u,h;const g=new m.ModelPath(rt,new m.Path([dt(r.toString())])),p="block_state_map"===(null==(s=n.validation)?void 0:s.validator)?null==a?void 0:a[m.relativePath(r,n.validation.params.id).get()]:null,f=(null==p?void 0:p.properties)?m.StringNode(null,{enum:Object.keys(null!=(l=p.properties)?l:{})}):t;if(p&&"Properties"===r.last()){"object"!=typeof o&&(o={});const e=Object.entries(null!=(c=p.properties)?c:{}).map((([e,t])=>[e,m.StringNode(null,{enum:t})]));return Object.entries(null!=(u=p.properties)?u:{}).forEach((([e,t])=>{"string"!=typeof o[e]?r.model.errors.add(r.push(e),"error.expected_string"):t.includes(o[e])||r.model.errors.add(r.push(e),"error.invalid_enum_option",o[e])})),m.ObjectNode(Object.fromEntries(e)).hook(this,r,o,i,a)}return[null,d(b,null,f.hook(this,g,null!=(h=g.get())?h:"",i,a)[1],d("button",{class:"add",onClick:()=>{const t=g.get();r.model.set(r.push(t),e.default())}},I.plus_circle)),d(b,null,"object"==typeof o&&Object.entries(o).map((([t,n])=>{var o,s,l,c;const u=r.modelPush(t),h=p?m.StringNode(null,{enum:null!=(s=null==(o=p.properties)?void 0:o[t])?s:[]}):e;(null==(l=null==p?void 0:p.properties)?void 0:l[t])&&"string"==typeof n&&!(null==(c=p.properties)?void 0:c[t].includes(n))&&r.model.errors.add(u,"error.invalid_enum_option",n);return d("div",{class:"node-entry",key:t},d(lt,{schema:h,path:u,value:n,lang:i,states:a,label:t},d("button",{class:"remove",onClick:()=>u.set(void 0)},I.trashcan)))})))]},number:(e,t,n,r,o)=>[null,d(at,s({},l(s({},e),{path:t,value:n,lang:r,states:o}))),null],object({node:e,getActiveFields:t,getChildModelPath:n},r,o,i,a){let s=null,l=null;if(e.optional())if(void 0===o){l=d("button",{class:"collapse closed",onClick:()=>r.set(e.default())},I.plus_circle)}else{l=d("button",{class:"collapse open",onClick:()=>r.set(void 0)},I.trashcan)}const c=d(b,null,"object"==typeof o&&!(e.optional()&&void 0===o)&&Object.entries(t(r)).filter((([e,t])=>t.enabled(r))).map((([e,t])=>{var c,u,h;const m=n(r,e),g=m.getContext().join(".");if(Qe.includes(g))return null;const[p,f,v]=t.hook(this,m,o[e],i,a);if(!(p||f||(null!=(h=null==(u=null==(c=null==v?void 0:v.props)?void 0:c.children)?void 0:u.length)?h:0)>0))return null;const _="object"===t.type(m)&&et.includes(g),w=tt.includes(g);return _||w?(s=d(b,null,s,d(ht,{lang:i,path:m}),d(mt,{lang:i,path:m}),p),l=d(b,null,l,f),_?v:null):d(lt,{schema:t,path:m,value:o[e],lang:i,states:a})})));return[s,l,c]},string:(e,t,n,r,o)=>[null,d(st,s({},l(s({},e),{path:t,value:n,lang:r,states:o}))),null]};function it({path:e,node:t,value:n,lang:r}){const o=r=>{e.model.set(e,t.optional()&&n===r?void 0:r)};return d(b,null,d("button",{class:!1===n?"selected":"",onClick:()=>o(!1)},W(r,"false")),d("button",{class:!0===n?"selected":"",onClick:()=>o(!0)},W(r,"true")))}function at({path:e,config:t,integer:n,value:r}){return d("input",{type:(null==t?void 0:t.color)?"color":"text",onChange:r=>{const o=r.target.value,i=(null==t?void 0:t.color)?parseInt(o.slice(1),16):n?parseInt(o):parseFloat(o);e.model.set(e,i)},value:(null==t?void 0:t.color)?"#"+(null==r?void 0:r.toString(16).padStart(6,"0")):null!=r?r:""})}function st({path:e,getValues:t,config:n,node:r,value:o,lang:i,states:a}){var s;const l=t=>{const n=t.target.value;e.model.set(e,0===n.length?void 0:n),t.stopPropagation()},c=t(),u=e.getContext().join(".");if(nt.includes(u))return d("textarea",{value:null!=o?o:"",onChange:l});if(ct(n)&&!n.additional||Ke.includes(u)){let e=new m.Path([]);return ct(n)&&"string"==typeof n.enum?e=e.contextPush(n.enum):ct(n)||"resource"!==(null==n?void 0:n.validator)||"string"!=typeof n.params.pool||(e=e.contextPush(n.params.pool)),d("select",{value:null!=o?o:"",onChange:l},r.optional()&&d("option",{value:""},W(i,"unset")),c.map((t=>d("option",{value:t},ut(i,e.contextPush(t.replace(/^minecraft:/,"")))))))}if(ct(n)||"block_state_key"!==(null==n?void 0:n.validator)){const e=se();return d(b,null,d("input",{value:null!=o?o:"",onChange:l,list:c.length>0?e:""}),c.length>0&&d("datalist",{id:e},c.map((e=>d("option",{value:e})))))}{const t=null==a?void 0:a[m.relativePath(e,n.params.id).get()],r=Object.keys(null!=(s=null==t?void 0:t.properties)?s:{});return d("select",{value:null!=o?o:"",onChange:l},r.map((e=>d("option",null,e))))}}function lt({label:e,schema:t,path:n,value:r,lang:o,states:i,children:a}){const s=t.type(n),l=t.category(n),[c,u,h]=t.hook(ot,n,r,o,i);return d("div",{class:`node ${s}-node`,"data-category":l},d("div",{class:"node-header"},d(ht,{lang:o,path:n}),d(mt,{lang:o,path:n}),a,c,d("label",null,null!=e?e:ut(o,n,`${n.last()}`)),u),h&&d("div",{class:"node-body"},h))}function ct(e){return!!(null==e?void 0:e.enum)}function dt(e){var t,n=0;for(t=0;t{const[r,o]=L();return d("div",{class:`node-icon ${e}${r?" show":""}`,onClick:o},I[t],d("span",{class:"icon-popup"},n))},pt=C();function ft({lang:e,model:t,blockStates:n,onError:r}){if(!t||!n)return d(b,null);const[o]=k((e=>{r(`Error rendering the tree: ${e.message}`),console.error(e)}));if(o)return d(b,null);const[i,a]=h(0);P(t,(()=>{a((e=>e+1))}));const s=new m.ModelPath(t),l=u(null);return x((()=>{var r;const[o,i,a]=t.schema.hook(ot,s,pt(t.data),e,n);l.current=(null==(r=null==i?void 0:i.props)?void 0:r.children.some((e=>e)))?d("div",{class:`node ${t.schema.type(s)}-node`,"data-category":t.schema.category(s)},d("div",{class:"node-header"},o,i),d("div",{class:"node-body"},a)):a}),[e,t,n,i]),d("div",{class:"tree"},l.current)}function vt({lang:e}){const t=W.bind(null,e);return d("main",null,d("div",{class:"settings"},d("p",null,t("settings.fields.description")),d("ul",{class:"field-list"})))}function _t({lang:e,changeTitle:t,version:n,onChangeVersion:r}){var o;const i=W.bind(null,e),[a,u]=h(null),[g,p]=k();if(g)return d("main",null,d(O,{error:`Something went wrong rendering the generator: ${g.message}`,onDismiss:p}));const f=ce(v());if(!f)return d("main",null,d(O,{error:`Cannot find generator "${v()}"`}));c((()=>{u(null)}),[f.id,n]);const _=S.versions.filter((e=>ie(e.id,f.minVersion))).map((e=>e.id));t(i("title.generator",i(f.id)),_),ie(n,f.minVersion)||u(`The minimum version for this generator is ${f.minVersion}`);const[w,y]=h(null),[C,x]=h(null);c((()=>{y(null),async function(e){return(await oe(e)).blockStates}(n).then((e=>x(e))),async function(e,t){var n;if(!ne[t]||ne[t].version!==e){const o=await oe(e),i=null==(n=S.generators.find((e=>e.id===t)))?void 0:n.schema;if(!i)throw new Error(`Cannot find model ${t}`);try{const n=o.schemas.get(i),r=new m.DataModel(n);ne[t]?r.reset(ne[t].model.data,!1):(r.validate(!0),r.history=[JSON.stringify(r.data)]),ne[t]={model:r,version:e}}catch(r){throw new Error(`Cannot get generator "${t}" for version "${e}": ${r.message}`)}}return ne[t].model}(n,f.id).then((e=>y(e))).catch((e=>{console.error(e),u(e.message)}))}),[n,f.id]),P(w,(()=>{u(null)}));const V=e=>{e.ctrlKey&&"z"===e.key?(M.generatorEvent("undo","Hotkey"),null==w||w.undo()):e.ctrlKey&&"y"===e.key&&(M.generatorEvent("redo","Hotkey"),null==w||w.redo())};c((()=>(document.addEventListener("keyup",V),()=>{document.removeEventListener("keyup",V)})),[w]);const[z,L]=h(""),[$,N]=h([]);c((()=>{(async function(e){return(await oe(e)).collections})(n).then((e=>{const t=(null!=z?z:"").trim().split(" "),n=e.get(f.id).map((e=>e.slice(10))).filter((e=>t.every((t=>e.includes(t)))));n&&N(n)})).catch((e=>{console.error(e),u(e.message)}))}),[n,f.id,z]);const T=e=>{var t;M.generatorEvent("load-preset",e),async function(e,t,n){console.debug(`[fetchPreset] ${n} ${t} ${n}`);const r=S.versions.find((t=>t.id===e));try{const e=await fetch(`${Y}/${r.refs.vanilla_datapack_data}/data/minecraft/${t}/${n}.json`);return await e.json()}catch(o){console.warn(`Error occurred while fetching ${t} preset ${n}:`,o)}}(n,null!=(t=f.path)?t:f.id,e).then((e=>{null==w||w.reset(e,!1)}))},[B,R]=h(window.innerWidth>820),[H,F]=h(0),[G,J]=h(0),[q,U]=h(0),[Z,X]=h(!1),K=Fe.includes(f.id);let Q=1;K&&(Q+=1),B&&(Q+=2);return d(b,null,d("main",{class:Z?"has-preview":""},d(A,{id:"data-pack-generator",type:"text"}),d("div",{class:"controls"},d(E,{icon:"upload",label:i("import"),onClick:()=>{M.generatorEvent("import"),R(!0),U(q+1)}}),d(D,{icon:"archive",label:i("presets"),relative:!1},d(j,{icon:"search",large:!0,value:z,onChange:L,doSelect:1}),d("div",{class:"result-list"},$.map((e=>d(E,{label:e,onClick:()=>T(e)})))),0===$.length&&d(E,{label:i("no_presets")})),d(D,{icon:"tag",label:n},_.reverse().map((e=>d(E,{label:e,active:e===n,onClick:()=>r(e)})))),d(D,{icon:"kebab_horizontal"},d(E,{icon:"history",label:i("reset"),onClick:()=>{M.generatorEvent("reset"),null==w||w.reset(w.schema.default(),!0)}}),d(E,{icon:"arrow_left",label:i("undo"),onClick:e=>{e.stopPropagation(),M.generatorEvent("undo","Menu"),null==w||w.undo()}}),d(E,{icon:"arrow_right",label:i("redo"),onClick:e=>{e.stopPropagation(),M.generatorEvent("redo","Menu"),null==w||w.redo()}}))),a&&d(O,{error:a,onDismiss:()=>u(null)}),d(ft,l(s({},{lang:e,model:w,version:n,blockStates:C}),{onError:u}))),d("div",{class:"popup-actions",style:`--offset: -${10+50*Q}px;`},d("div",{class:"popup-action action-preview"+(K?" shown":""),onClick:()=>{M.generatorEvent("toggle-preview",Z?"hidden":"visible"),X(!Z)}},Z?I.x_circle:I.play),d("div",{class:"popup-action action-download"+(B?" shown":""),onClick:()=>{M.generatorEvent("download"),J(G+1)}},I.download),d("div",{class:"popup-action action-copy"+(B?" shown":""),onClick:()=>{M.generatorEvent("copy"),F(H+1)}},I.clippy),d("div",{class:"popup-action action-code shown",onClick:()=>{M.generatorEvent("toggle-output",B?"hidden":"visible"),R(!B),F(0),J(0),U(0)}},B?I.chevron_right:I.code)),d("div",{class:"popup-preview"+(Z?" shown":"")},d(Ge,l(s({},{lang:e,model:w,version:n,id:f.id}),{shown:Z,onError:u}))),d("div",{class:"popup-source"+(B?" shown":"")},d(Ze,l(s({},{lang:e,model:w,blockStates:C,doCopy:H,doDownload:G,doImport:q}),{name:null!=(o=f.schema)?o:"data",onError:u}))))}function wt({lang:e,changeTitle:t}){const n=W.bind(null,e);return t(n("title.home")),d("main",null,d("div",{class:"home"},S.generators.filter((e=>!e.category)).map((e=>d(Xe,{title:n(e.id),link:le(e.url)}))),d(Xe,{title:n("worldgen"),link:"/worldgen/"}),d("hr",null),d(Xe,{title:"Report Inspector",icon:"report",link:"https://misode.github.io/report/"},d("p",null,"Analyse your performance reports")),d(Xe,{title:"Minecraft Sounds",icon:"sounds",link:"https://misode.github.io/sounds/"},d("p",null,"Browse through and mix all the vanilla sounds")),d(Xe,{title:"Data Pack Upgrader",link:"https://misode.github.io/upgrader/"},d("p",null,"Convert your 1.16 data packs to 1.17"))))}function yt({lang:e,changeTitle:t}){const n=W.bind(null,e);return t(n("title.generator_category",n("worldgen"))),d("main",null,d("div",{class:"home"},S.generators.filter((e=>"worldgen"===e.category)).map((e=>d(Xe,{title:n(e.id),link:le(e.url)})))))}function bt(){const[e,t]=h("en");c((()=>{(async()=>{const e=Ye.getLanguage();await Promise.all([G("en"),..."en"!==e?[G(e)]:[]]),t(e)})()}),[]);const[n,r]=h(Ye.getTheme());c((()=>{document.documentElement.setAttribute("data-theme",n)}),[n]);const[o,i]=h(Ye.getVersion()),[a,u]=h(W(e,"title.home")),m=(e,t=["1.15","1.16","1.17"])=>{document.title=`${e} Minecraft ${t.join(", ")}`,u(e)};return d(b,null,d(ve,s({},{lang:e,title:a,version:o,theme:n,language:e,changeLanguage:async e=>{F[e]||await G(e),M.setLanguage(e),Ye.setLanguage(e),t(e)},changeTheme:e=>{M.setTheme(e),Ye.setTheme(e),r(e)}})),d(z,{onChange:e=>{setTimeout((()=>M.pageview(le(e.url))))}},d(wt,s({path:"/"},{lang:e,changeTitle:m})),d(vt,s({path:"/settings/fields"},{lang:e,changeTitle:m})),d(yt,s({path:"/worldgen"},{lang:e,changeTitle:m})),d(_t,l(s({default:!0},{lang:e,version:o,changeTitle:m}),{onChangeVersion:e=>{M.setVersion(e),Ye.setVersion(e),i(e)}}))))}V(d(bt,null),document.body); +//# sourceMappingURL=index.5908f24b.js.map diff --git a/assets/index.5908f24b.js.map b/assets/index.5908f24b.js.map new file mode 100644 index 00000000..60913d1f --- /dev/null +++ b/assets/index.5908f24b.js.map @@ -0,0 +1 @@ +{"version":3,"file":"index.5908f24b.js","sources":["../../src/app/Analytics.ts","../../src/app/components/Ad.tsx","../../src/app/components/Btn.tsx","../../src/app/components/BtnInput.tsx","../../src/app/hooks/useFocus.ts","../../src/app/hooks/useModel.ts","../../src/app/hooks/useOnDrag.ts","../../src/app/components/BtnMenu.tsx","../../src/app/components/Octicon.tsx","../../src/app/components/ErrorPanel.tsx","../../vite/preload-helper","../../src/app/Locales.ts","../../src/app/DataFetcher.ts","../../src/app/Schemas.ts","../../src/app/Utils.ts","../../src/app/components/Header.tsx","../../src/app/components/Icons.tsx","../../src/app/previews/noise/ImprovedNoise.ts","../../src/app/previews/noise/PerlinNoise.ts","../../src/app/previews/noise/NormalNoise.ts","../../src/app/previews/BiomeSource.ts","../../src/app/previews/Decorator.ts","../../src/app/previews/noise/NoiseChunkGenerator.ts","../../src/app/previews/NoiseSettings.ts","../../src/app/components/PreviewPanel.tsx","../../src/app/components/previews/BiomeSourcePreview.tsx","../../src/app/hooks/useOnHover.ts","../../src/app/components/previews/NoiseSettingsPreview.tsx","../../src/app/components/previews/DecoratorPreview.tsx","../../src/app/schema/transformOutput.ts","../../src/app/Store.ts","../../src/app/components/SourcePanel.tsx","../../src/app/components/ToolCard.tsx","../../src/app/schema/renderHtml.tsx","../../src/app/components/Tree.tsx","../../src/app/pages/FieldSettings.tsx","../../src/app/pages/Generator.tsx","../../src/app/pages/Home.tsx","../../src/app/pages/Worldgen.tsx","../../src/app/Main.tsx"],"sourcesContent":["export namespace Analytics {\n\tconst ID_SITE = 'Site'\n\tconst ID_GENERATOR = 'Generator'\n\n\tconst DIM_THEME = 1\n\tconst DIM_VERSION = 3\n\tconst DIM_LANGUAGE = 4\n\tconst DIM_PREVIEW = 5\n\n\tfunction event(category: string, action: string, label?: string) {\n\t\tga('send', 'event', category, action, label)\n\t}\n\n\tfunction dimension(index: number, value: string) {\n\t\tga('set', `dimension${index}`, value)\n\t}\n\n\texport function pageview(page: string) {\n\t\tga('set', 'page', page)\n\t\tga('send', 'pageview')\n\t}\n\n\texport function setLanguage(language: string) {\n\t\tdimension(DIM_LANGUAGE, language)\n\t\tevent(ID_SITE, 'set-language', language)\n\t}\n\n\texport function setTheme(theme: string) {\n\t\tdimension(DIM_THEME, theme)\n\t\tevent(ID_SITE, 'set-theme', theme)\n\t}\n\n\texport function setVersion(version: string) {\n\t\tdimension(DIM_VERSION, version)\n\t\tevent(ID_GENERATOR, 'set-version', version)\n\t}\n\n\texport function setPreview(preview: string) {\n\t\tdimension(DIM_PREVIEW, preview)\n\t\tevent(ID_GENERATOR, 'set-preview', preview)\n\t}\n\n\texport function generatorEvent(action: string, label?: string) {\n\t\tevent(ID_GENERATOR, action, label)\n\t}\n}\n","import { useEffect } from 'preact/hooks'\n\ndeclare const ethicalads: any\n\ntype AdProps = {\n\ttype: 'text' | 'image',\n\tid: string,\n}\nexport function Ad({ type, id }: AdProps) {\n\tuseEffect(() => {\n\t\tdocument.getElementById('ad-placeholder')?.remove()\n\t\tif ('ethicalads' in window) {\n\t\t\tethicalads.load()\n\t\t}\n\t}, [])\n\n\treturn
\n}\n","import { Octicon } from '.'\n\ntype BtnProps = {\n\ticon?: keyof typeof Octicon,\n\tlabel?: string,\n\tactive?: boolean,\n\tclass?: string,\n\tonClick?: (event: MouseEvent) => unknown,\n}\nexport function Btn({ icon, label, active, class: class_, onClick }: BtnProps) {\n\treturn
\n\t\t{icon && Octicon[icon]}\n\t\t{label && {label}}\n\t
\n}\n","import { useEffect, useRef } from 'preact/hooks'\nimport { Octicon } from '.'\n\ntype BtnInputProps = {\n\ticon?: keyof typeof Octicon,\n\tlabel?: string,\n\tlarge?: boolean,\n\ttype?: 'number' | 'text',\n\tdoSelect?: number,\n\tvalue?: string,\n\tonChange?: (value: string) => unknown,\n}\nexport function BtnInput({ icon, label, large, type, doSelect, value, onChange }: BtnInputProps) {\n\tconst onInput = onChange === undefined ? () => {} : (e: any) => {\n\t\tconst value = (e.target as HTMLInputElement).value\n\t\tif (type !== 'number' || (!value.endsWith('.') && !isNaN(Number(value)))) {\n\t\t\tonChange?.(value)\n\t\t}\n\t}\n\n\tconst ref = useRef(null)\n\tuseEffect(() => {\n\t\tif (doSelect && ref.current) {\n\t\t\tref.current.select()\n\t\t}\n\t}, [doSelect])\n\n\treturn
e.stopPropagation()}>\n\t\t{icon && Octicon[icon]}\n\t\t{label && {label}}\n\t\t\n\t
\n}\n","import { useEffect, useState } from 'preact/hooks'\n\nexport function useFocus(): [boolean, () => unknown] {\n\tconst [active, setActive] = useState(false)\n\n\tconst hider = () => {\n\t\tsetActive(false)\n\t}\n\n\tuseEffect(() => {\n\t\tif (active) {\n\t\t\tdocument.body.addEventListener('click', hider)\n\t\t}\n\t\treturn () => {\n\t\t\tdocument.body.removeEventListener('click', hider)\n\t\t}\n\t}, [active])\n\n\treturn [active, () => setActive(true)]\n}\n","import type { DataModel } from '@mcschema/core'\nimport { useEffect } from 'preact/hooks'\n\nexport function useModel(model: DataModel | undefined | null, invalidated: (model: DataModel) => unknown) {\n\tconst listener = {\n\t\tinvalidated() {\n\t\t\tif (model) {\n\t\t\t\tinvalidated(model)\n\t\t\t}\n\t\t},\n\t}\n\n\tuseEffect(() => {\n\t\tmodel?.addListener(listener)\n\t\treturn () => {\n\t\t\tmodel?.removeListener(listener)\n\t\t}\n\t}, [model])\n}\n","import { useEffect, useRef } from 'preact/hooks'\n\nexport function useOnDrag(element: HTMLElement, drag: (dx: number, dy: number) => unknown) {\n\tif (!element) return\n\n\tconst request = useRef()\n\tconst dragStart = useRef<[number, number] | undefined>()\n\tconst pending = useRef<[number, number]>([0, 0])\n\n\tuseEffect(() => {\n\t\tconst onMouseDown = (e: MouseEvent) => {\n\t\t\tdragStart.current = [e.offsetX, e.offsetY]\n\t\t}\n\t\tconst onMouseMove = (e: MouseEvent) => {\n\t\t\tif (dragStart.current === undefined) return\n\t\t\tconst dx = e.offsetX - dragStart.current[0]\n\t\t\tconst dy = e.offsetY - dragStart.current[1]\n\t\t\tif (!(dx === 0 && dy === 0)) {\n\t\t\t\tcancelAnimationFrame(request.current)\n\t\t\t\tpending.current = [pending.current[0] + dx, pending.current[1] + dy]\n\t\t\t\trequest.current = requestAnimationFrame(() => {\n\t\t\t\t\tdrag(...pending.current)\n\t\t\t\t\tpending.current = [0, 0]\n\t\t\t\t})\n\t\t\t}\n\t\t\tdragStart.current = [e.offsetX, e.offsetY]\n\t\t}\n\t\tconst onMouseUp = (_e: MouseEvent) => {\n\t\t\tdragStart.current = undefined\n\t\t}\n\n\t\telement.addEventListener('mousedown', onMouseDown)\n\t\telement.addEventListener('mousemove', onMouseMove)\n\t\tdocument.body.addEventListener('mouseup', onMouseUp)\n\t\treturn () => {\n\t\t\telement.removeEventListener('mousedown', onMouseDown)\n\t\t\telement.removeEventListener('mousemove', onMouseMove)\n\t\t\tdocument.body.removeEventListener('mouseup', onMouseUp)\n\t\t}\n\t}, [element])\n}\n","import type { ComponentChildren } from 'preact'\nimport type { Octicon } from '.'\nimport { Btn } from '.'\nimport { useFocus } from '../hooks'\n\ntype BtnMenuProps = {\n\ticon?: keyof typeof Octicon,\n\tlabel?: string,\n\trelative?: boolean,\n\tchildren: ComponentChildren,\n}\nexport function BtnMenu({ icon, label, relative, children }: BtnMenuProps) {\n\tconst [active, setActive] = useFocus()\n\n\treturn
\n\t\t\n\t\t{active &&
\n\t\t\t{children}\n\t\t
}\n\t
\n}\n","export const Octicon = {\n\tarchive: ,\n\tarrow_left: ,\n\tarrow_right: ,\n\tchevron_down: ,\n\tchevron_right: ,\n\tchevron_up: ,\n\tclippy: ,\n\tcode: ,\n\tdash: ,\n\tdevice_desktop: ,\n\tdownload: ,\n\teye: ,\n\teye_closed: ,\n\tgear: ,\n\tglobe: ,\n\thistory: ,\n\tinfo: ,\n\tissue_opened: ,\n\tkebab_horizontal: ,\n\tlink: ,\n\tmark_github: ,\n\tmoon: ,\n\tplay: ,\n\tplus: ,\n\tplus_circle: ,\n\tsearch: ,\n\tsun: ,\n\tsync: ,\n\ttag: ,\n\tthree_bars: ,\n\ttrashcan: ,\n\tunfold: ,\n\tupload: ,\n\tx: ,\n\tx_circle: ,\n}\n","import { Octicon } from './Octicon'\n\ntype ErrorPanelProps = {\n\terror: string,\n\tonDismiss?: () => unknown,\n}\nexport function ErrorPanel({ error, onDismiss }: ErrorPanelProps) {\n\treturn
\n\t\t{onDismiss &&
{Octicon.x}
}\n\t\t

{error}

\n\t\t

If you think this is a bug, you can report it on GitHub

\n\t
\n}\n","let scriptRel;const seen = {};export const __vitePreload = function preload(baseModule, deps) {\n // @ts-ignore\n if (!__VITE_IS_MODERN__ || !deps) {\n return baseModule();\n }\n // @ts-ignore\n if (scriptRel === undefined) {\n // @ts-ignore\n const relList = document.createElement('link').relList;\n // @ts-ignore\n scriptRel =\n relList && relList.supports && relList.supports('modulepreload')\n ? 'modulepreload'\n : 'preload';\n }\n return Promise.all(deps.map((dep) => {\n // @ts-ignore\n if (dep in seen)\n return;\n // @ts-ignore\n seen[dep] = true;\n const isCss = dep.endsWith('.css');\n const cssSelector = isCss ? '[rel=\"stylesheet\"]' : '';\n // @ts-ignore check if the file is already preloaded by SSR markup\n if (document.querySelector(`link[href=\"${dep}\"]${cssSelector}`)) {\n return;\n }\n // @ts-ignore\n const link = document.createElement('link');\n // @ts-ignore\n link.rel = isCss ? 'stylesheet' : scriptRel;\n if (!isCss) {\n link.as = 'script';\n link.crossOrigin = '';\n }\n link.href = dep;\n // @ts-ignore\n document.head.appendChild(link);\n if (isCss) {\n return new Promise((res, rej) => {\n link.addEventListener('load', res);\n link.addEventListener('error', rej);\n });\n }\n })).then(() => baseModule());\n}","import config from '../config.json'\nimport English from '../locales/en.json'\n\nexport type Localize = (key: string, ...params: string[]) => string\n\ninterface Locale {\n\t[key: string]: string\n}\n\nexport const Locales: {\n\t[key: string]: Locale,\n} = {\n\tfallback: English,\n}\n\nfunction resolveLocaleParams(value: string, params?: string[]): string {\n\treturn value.replace(/%\\d+%/g, match => {\n\t\tconst index = parseInt(match.slice(1, -1))\n\t\treturn params?.[index] !== undefined ? params[index] : match\n\t})\n}\n\nexport function locale(language: string, key: string, ...params: string[]): string {\n\tconst value: string | undefined = Locales[language]?.[key]\n\t\t?? Locales.en?.[key] ?? Locales.fallback[key] ?? key\n\treturn resolveLocaleParams(value, params)\n}\n\nexport async function loadLocale(language: string) {\n\tconst langConfig = config.languages.find(lang => lang.code === language)\n\tif (!langConfig) return\n\tconst data = await import(`../locales/${language}.json`)\n\tconst schema = langConfig.schemas !== false\n\t\t&& await import(`../../node_modules/@mcschema/locales/src/${language}.json`)\n\tLocales[language] = { ...data.default, ...schema.default }\n}\n","import type { CollectionRegistry } from '@mcschema/core'\nimport config from '../config.json'\nimport type { BlockStateRegistry, VersionId } from './Schemas'\nimport { checkVersion } from './Schemas'\n\n['1.15', '1.16', '1.17'].forEach(v => localStorage.removeItem(`cache_${v}`))\n\nconst CACHE_NAME = 'misode-v1'\n\ntype VersionRef = 'mcdata_master' | 'vanilla_datapack_summary' | 'vanilla_datapack_data'\n\ntype Version = {\n\tid: string,\n\trefs: Partial<{ [key in VersionRef]: string }>,\n\tdynamic?: boolean,\n}\n\ndeclare var __MCDATA_MASTER_HASH__: string\ndeclare var __VANILLA_DATAPACK_SUMMARY_HASH__: string\n\nconst mcdataUrl = 'https://raw.githubusercontent.com/Arcensoth/mcdata'\nconst vanillaDatapackUrl = 'https://raw.githubusercontent.com/SPGoding/vanilla-datapack'\n\nconst refs: {\n\tid: VersionRef,\n\thash: string,\n\turl: string,\n}[] = [\n\t{\n\t\tid: 'mcdata_master',\n\t\thash: __MCDATA_MASTER_HASH__,\n\t\turl: mcdataUrl,\n\t},\n\t{\n\t\tid: 'vanilla_datapack_summary',\n\t\thash: __VANILLA_DATAPACK_SUMMARY_HASH__,\n\t\turl: vanillaDatapackUrl,\n\t},\n]\n\nexport async function fetchData(versionId: string, collectionTarget: CollectionRegistry, blockStateTarget: BlockStateRegistry) {\n\tconst version = config.versions.find(v => v.id === versionId) as Version | undefined\n\tif (!version) {\n\t\tconsole.error(`[fetchData] Unknown version ${version} in ${JSON.stringify(config.versions)}`)\n\t\treturn\n\t}\n\tconsole.debug(`[fetchData] ${JSON.stringify(version)}`)\n\n\tif (version.dynamic) {\n\t\tawait Promise.all(refs\n\t\t\t.filter(r => localStorage.getItem(`cached_${r.id}`) !== r.hash)\n\t\t\t.map(async r => {\n\t\t\t\tconsole.debug(`[deleteMatching] ${r.id} '${localStorage.getItem(`cached_${r.id}`)}' < '${r.hash}' ${r.url}/${version.refs[r.id]}`)\n\t\t\t\tawait deleteMatching(url => url.startsWith(`${r.url}/${version.refs[r.id]}`))\n\t\t\t\tconsole.debug(`[deleteMatching] Done! ${r.id} ${r.hash} '${localStorage.getItem(`cached_${r.id}`)}'`)\n\t\t\t\tlocalStorage.setItem(`cached_${r.id}`, r.hash)\n\t\t\t\tconsole.debug(`[deleteMatching] Set! ${r.id} ${r.hash} '${localStorage.getItem(`cached_${r.id}`)}'`)\n\t\t\t}))\n\t}\n\n\tawait Promise.all([\n\t\tfetchRegistries(version, collectionTarget),\n\t\tfetchBlockStateMap(version, blockStateTarget),\n\t\tfetchDynamicRegistries(version, collectionTarget),\n\t])\n}\n\nasync function fetchRegistries(version: Version, target: CollectionRegistry) {\n\tconsole.debug(`[fetchRegistries] ${version.id}`)\n\tconst registries = config.registries\n\t\t.filter(r => !r.dynamic)\n\t\t.filter(r => checkVersion(version.id, r.minVersion, r.maxVersion))\n\n\tif (checkVersion(version.id, undefined, '1.15')) {\n\t\tconst url = `${mcdataUrl}/${version.refs.mcdata_master}/generated/reports/registries.json`\n\t\ttry {\n\t\t\tconst data = await getData(url, (data) => {\n\t\t\t\tconst res: {[id: string]: string[]} = {}\n\t\t\t\tObject.keys(data).forEach(k => {\n\t\t\t\t\tres[k.slice(10)] = Object.keys(data[k].entries)\n\t\t\t\t})\n\t\t\t\treturn res\n\t\t\t})\n\t\t\tregistries.forEach(r => {\n\t\t\t\ttarget.register(r.id, data[r.id] ?? [])\n\t\t\t})\n\t\t} catch (e) {\n\t\t\tconsole.warn('Error occurred while fetching registries:', e)\n\t\t}\n\t} else {\n\t\tawait Promise.all(registries.map(async r => {\n\t\t\ttry {\n\t\t\t\tconst url = r.path\n\t\t\t\t\t? `${mcdataUrl}/${version.refs.mcdata_master}/${r.path}/data.min.json`\n\t\t\t\t\t: `${mcdataUrl}/${version.refs.mcdata_master}/processed/reports/registries/${r.id}/data.min.json`\n\t\t\t\ttarget.register(r.id, await getData(url, v => v.values))\n\t\t\t} catch (e) {\n\t\t\t\tconsole.warn(`Error occurred while fetching registry ${r.id}:`, e)\n\t\t\t}\n\t\t}))\n\t}\n}\n\nasync function fetchBlockStateMap(version: Version, target: BlockStateRegistry) {\n\tconsole.debug(`[fetchBlockStateMap] ${version.id}`)\n\tif (checkVersion(version.id, undefined, '1.16')) {\n\t\tconst url = (checkVersion(version.id, undefined, '1.15'))\n\t\t\t? `${mcdataUrl}/${version.refs.mcdata_master}/generated/reports/blocks.json`\n\t\t\t: `${mcdataUrl}/${version.refs.mcdata_master}/processed/reports/blocks/data.min.json`\n\n\t\ttry {\n\t\t\tconst data = await getData(url, (data) => {\n\t\t\t\tconst res: BlockStateRegistry = {}\n\t\t\t\tObject.keys(data).forEach(b => {\n\t\t\t\t\tres[b] = {\n\t\t\t\t\t\tproperties: data[b].properties,\n\t\t\t\t\t\tdefault: data[b].states.find((s: any) => s.default).properties,\n\t\t\t\t\t}\n\t\t\t\t})\n\t\t\t\treturn res\n\t\t\t})\n\t\t\tObject.assign(target, data)\n\t\t} catch (e) {\n\t\t\tconsole.warn('Error occurred while fetching block state map:', e)\n\t\t}\n\t} else {\n\t\tconst url = `${mcdataUrl}/${version.refs.mcdata_master}/processed/reports/blocks/simplified/data.min.json`\n\t\ttry {\n\t\t\tconst data = await getData(url)\n\t\t\tObject.assign(target, data)\n\t\t} catch (e) {\n\t\t\tconsole.warn('Error occurred while fetching block state map:', e)\n\t\t}\n\t}\n}\n\nasync function fetchDynamicRegistries(version: Version, target: CollectionRegistry) {\n\tconsole.debug(`[fetchDynamicRegistries] ${version.id}`)\n\tconst registries = config.registries\n\t\t.filter(r => r.dynamic)\n\t\t.filter(r => checkVersion(version.id, r.minVersion, r.maxVersion))\n\n\tif (checkVersion(version.id, '1.16')) {\n\t\tconst url = `${vanillaDatapackUrl}/${version.refs.vanilla_datapack_summary}/summary/flattened.min.json`\n\t\ttry {\n\t\t\tconst data = await getData(url)\n\t\t\tregistries.forEach(r => {\n\t\t\t\ttarget.register(r.id, data[r.id])\n\t\t\t})\n\t\t} catch (e) {\n\t\t\tconsole.warn('Error occurred while fetching dynamic registries:', e)\n\t\t}\n\t}\n}\n\nexport async function fetchPreset(version: VersionId, registry: string, id: string) {\n\tconsole.debug(`[fetchPreset] ${id} ${registry} ${id}`)\n\tconst versionData = config.versions.find(v => v.id === version)!\n\ttry {\n\t\tconst res = await fetch(`${vanillaDatapackUrl}/${versionData.refs.vanilla_datapack_data}/data/minecraft/${registry}/${id}.json`)\n\t\treturn await res.json()\n\t} catch (e) {\n\t\tconsole.warn(`Error occurred while fetching ${registry} preset ${id}:`, e)\n\t}\n}\n\nasync function getData(url: string, fn: (v: any) => T = (v: any) => v): Promise {\n\ttry {\n\t\tconst cache = await caches.open(CACHE_NAME)\n\t\tconsole.debug(`[getData] Opened cache ${CACHE_NAME} ${url}`)\n\t\tconst cacheResponse = await cache.match(url)\n \n\t\tif (cacheResponse && cacheResponse.ok) {\n\t\t\tconsole.debug(`[getData] Retrieving cached data ${url}`)\n\t\t\treturn await cacheResponse.json()\n\t\t}\n \n\t\tconsole.debug(`[getData] fetching data ${url}`)\n\t\tconst fetchResponse = await fetch(url)\n\t\tconst responseData = fn(await fetchResponse.json())\n\t\tawait cache.put(url, new Response(JSON.stringify(responseData)))\n\t\treturn responseData\n\t} catch (e) {\n\t\tconsole.warn(`[getData] Failed to open cache ${CACHE_NAME}: ${e.message}`)\n\n\t\tconsole.debug(`[getData] fetching data ${url}`)\n\t\tconst fetchResponse = await fetch(url)\n\t\tconst responseData = fn(await fetchResponse.json())\n\t\treturn responseData\n\t}\n}\n\nasync function deleteMatching(matches: (url: string) => boolean) {\n\ttry {\n\t\tconst cache = await caches.open(CACHE_NAME)\n\t\tconsole.debug(`[deleteMatching] Opened cache ${CACHE_NAME}`)\n\t\tconst promises: Promise[] = []\n \n\t\tfor (const request of await cache.keys()) {\n\t\t\tif (matches(request.url)) {\n\t\t\t\tpromises.push(cache.delete(request))\n\t\t\t}\n\t\t}\n\t\tconsole.debug(`[deleteMatching] Removing ${promises.length} cache objects...`)\n\t\tawait Promise.all(promises)\n\t} catch (e) {\n\t\tconsole.warn(`[deleteMatching] Failed to open cache ${CACHE_NAME}: ${e.message}`)\n\t}\n}\n","import type { CollectionRegistry, SchemaRegistry } from '@mcschema/core'\nimport { DataModel } from '@mcschema/core'\nimport * as java15 from '@mcschema/java-1.15'\nimport * as java16 from '@mcschema/java-1.16'\nimport * as java17 from '@mcschema/java-1.17'\nimport config from '../config.json'\nimport { fetchData } from './DataFetcher'\n\nexport const VersionIds = ['1.15', '1.16', '1.17'] as const\nexport type VersionId = typeof VersionIds[number]\n\nexport type BlockStateRegistry = {\n\t[block: string]: {\n\t\tproperties?: {\n\t\t\t[key: string]: string[],\n\t\t},\n\t\tdefault?: {\n\t\t\t[key: string]: string,\n\t\t},\n\t},\n}\n\ntype VersionData = {\n\tcollections: CollectionRegistry,\n\tschemas: SchemaRegistry,\n\tblockStates: BlockStateRegistry,\n}\nconst Versions: Record> = {}\n\ntype ModelData = {\n\tmodel: DataModel,\n\tversion: VersionId,\n}\nconst Models: Record = {}\n\nconst versionGetter: {\n\t[versionId in VersionId]: {\n\t\tgetCollections: () => CollectionRegistry,\n\t\tgetSchemas: (collections: CollectionRegistry) => SchemaRegistry,\n\t}\n} = {\n\t1.15: java15,\n\t1.16: java16,\n\t1.17: java17,\n}\n\nasync function getVersion(id: VersionId): Promise {\n\tif (!Versions[id]) {\n\t\tVersions[id] = (async () => {\n\t\t\ttry {\n\t\t\t\tconst collections = versionGetter[id].getCollections()\n\t\t\t\tconst blockStates: BlockStateRegistry = {}\n\t\t\t\tawait fetchData(id, collections, blockStates)\n\t\t\t\tconst schemas = versionGetter[id].getSchemas(collections)\n\t\t\t\tVersions[id] = { collections, schemas, blockStates }\n\t\t\t\treturn Versions[id]\n\t\t\t} catch (e) {\n\t\t\t\tthrow new Error(`Cannot get version \"${id}\": ${e.message}`)\n\t\t\t}\n\t\t})()\n\t\treturn Versions[id]\n\t}\n\treturn Versions[id]\n}\n\nexport async function getModel(version: VersionId, id: string): Promise {\n\tif (!Models[id] || Models[id].version !== version) {\n\t\tconst versionData = await getVersion(version)\n\t\tconst schemaName = config.generators.find(g => g.id === id)?.schema\n\t\tif (!schemaName) {\n\t\t\tthrow new Error(`Cannot find model ${id}`)\n\t\t}\n\t\ttry {\n\t\t\tconst schema = versionData.schemas.get(schemaName)\n\t\t\tconst model = new DataModel(schema)\n\t\t\tif (Models[id]) {\n\t\t\t\tmodel.reset(Models[id].model.data, false)\n\t\t\t} else {\n\t\t\t\tmodel.validate(true)\n\t\t\t\tmodel.history = [JSON.stringify(model.data)]\n\t\t\t}\n\t\t\tModels[id] = { model, version }\n\t\t} catch (e) {\n\t\t\tthrow new Error(`Cannot get generator \"${id}\" for version \"${version}\": ${e.message}`)\n\t\t}\n\t}\n\treturn Models[id].model\n}\n\nexport async function getCollections(version: VersionId): Promise {\n\tconst versionData = await getVersion(version)\n\treturn versionData.collections\n}\n\nexport async function getBlockStates(version: VersionId): Promise {\n\tconst versionData = await getVersion(version)\n\treturn versionData.blockStates\n}\n\nexport function checkVersion(versionId: string, minVersionId: string | undefined, maxVersionId?: string) {\n\tconst version = config.versions.findIndex(v => v.id === versionId)\n\tconst minVersion = minVersionId ? config.versions.findIndex(v => v.id === minVersionId) : 0\n\tconst maxVersion = maxVersionId ? config.versions.findIndex(v => v.id === maxVersionId) : config.versions.length - 1\n\treturn minVersion <= version && version <= maxVersion\n}\n","import config from '../config.json'\n\nexport function isPromise(obj: any): obj is Promise {\n\treturn typeof (obj as any)?.then === 'function' \n}\n\nconst dec2hex = (dec: number) => ('0' + dec.toString(16)).substr(-2)\n\nexport function hexId(length = 12) {\n\tvar arr = new Uint8Array(length / 2)\n\twindow.crypto.getRandomValues(arr)\n\treturn Array.from(arr, dec2hex).join('')\n}\n\nexport function htmlEncode(str: string) {\n\treturn str.replace(/&/g, '&').replace(//g, '>')\n\t\t.replace(/\"/g, '"').replace(/'/g, ''').replace(/\\//g, '/')\n}\n\nexport function hashString(s: string) {\n\tlet h = 0\n\tfor(let i = 0; i < s.length; i++)\n\t\th = Math.imul(31, h) + s.charCodeAt(i) | 0\n\treturn h\n}\n\nexport function cleanUrl(url: string) {\n\treturn `/${url}/`.replaceAll('//', '/')\n}\n\nexport function getGenerator(url: string) {\n\tconst trimmedUrl = url.replace(/^\\//, '').replace(/\\/$/, '')\n\treturn config.generators.find(g => g.url === trimmedUrl)\n}\n\nexport function stringToColor(str: string): [number, number, number] {\n\tconst h = Math.abs(hashString(str))\n\treturn [h % 256, (h >> 8) % 256, (h >> 16) % 256]\n}\n\nexport function clamp(a: number, b: number, c: number) {\n\treturn Math.max(a, Math.min(b, c))\n}\n\nexport function clampedLerp(a: number, b: number, c: number): number {\n\tif (c < 0) {\n\t\treturn a\n\t} else if (c > 1) {\n\t\treturn b\n\t} else {\n\t\treturn lerp(c, a, b)\n\t}\n}\n\nexport function lerp(a: number, b: number, c: number): number {\n\treturn b + a * (c - b)\n}\n\nexport function lerp2(a: number, b: number, c: number, d: number, e: number, f: number): number {\n\treturn lerp(b, lerp(a, c, d), lerp(a, e, f))\n}\n\nexport function lerp3(a: number, b: number, c: number, d: number, e: number, f: number, g: number, h: number, i: number, j: number, k: number) {\n\treturn lerp(c, lerp2(a, b, d, e, f, g), lerp2(a, b, h, i, j, k))\n}\n\nexport function smoothstep(x: number): number {\n\treturn x * x * x * (x * (x * 6 - 15) + 10)\n}\n","import { getCurrentUrl, Link, route } from 'preact-router'\nimport { Btn, BtnMenu, Icons, Octicon } from '.'\nimport config from '../../config.json'\nimport { locale } from '../Locales'\nimport type { VersionId } from '../Schemas'\nimport { checkVersion } from '../Schemas'\nimport { cleanUrl, getGenerator } from '../Utils'\n\nconst Themes: Record = {\n\tsystem: 'device_desktop',\n\tdark: 'moon',\n\tlight: 'sun',\n}\n\ntype HeaderProps = {\n\tlang: string,\n\ttitle: string,\n\tversion: VersionId,\n\ttheme: string,\n\tchangeTheme: (theme: string) => unknown,\n\tlanguage: string,\n\tchangeLanguage: (language: string) => unknown,\n}\nexport function Header({ lang, title, version, theme, changeTheme, language, changeLanguage }: HeaderProps) {\n\tconst loc = locale.bind(null, lang)\n\tconst gen = getGenerator(getCurrentUrl())\n\n\treturn
\n\t\t
\n\t\t\t{Icons.home}\n\t\t\t

{title}

\n\t\t\t{gen && \n\t\t\t\t{config.generators\n\t\t\t\t\t.filter(g => g.category === gen?.category && checkVersion(version, g.minVersion))\n\t\t\t\t\t.map(g =>\n\t\t\t\t\t\t route(cleanUrl(g.url))} />\n\t\t\t\t\t)}\n\t\t\t}\n\t\t
\n\t\t\n\t
\n}\n","export const Icons = {\n\thome: ,\n\treport: ,\n\tsounds: ,\n}\n","import type seedrandom from 'seedrandom'\nimport { lerp3, smoothstep } from '../../Utils'\n\nexport class ImprovedNoise {\n\tprivate static readonly GRADIENT = [[1, 1, 0], [-1, 1, 0], [1, -1, 0], [-1, -1, 0], [1, 0, 1], [-1, 0, 1], [1, 0, -1], [-1, 0, -1], [0, 1, 1], [0, -1, 1], [0, 1, -1], [0, -1, -1], [1, 1, 0], [0, -1, 1], [-1, 1, 0], [0, -1, -1]]\n\tprivate readonly p: number[]\n\tpublic readonly xo: number\n\tpublic readonly yo: number\n\tpublic readonly zo: number\n\n\tconstructor(random: seedrandom.prng) {\n\t\tthis.xo = random() * 256\n\t\tthis.yo = random() * 256\n\t\tthis.zo = random() * 256\n\t\tthis.p = Array(256)\n\n\t\tfor (let i = 0; i < 256; i += 1) {\n\t\t\tthis.p[i] = i\n\t\t}\n\t\tfor (let i = 0; i < 256; i += 1) {\n\t\t\tconst n = random.int32() % (256 - i)\n\t\t\tconst b = this.p[i]\n\t\t\tthis.p[i] = this.p[i + n]\n\t\t\tthis.p[i + n] = b\n\t\t}\n\t}\n\n\tpublic noise(x: number, y: number, z: number, a: number, b: number) {\n\t\tconst x2 = x + this.xo\n\t\tconst y2 = y + this.yo\n\t\tconst z2 = z + this.zo\n\t\tconst x3 = Math.floor(x2)\n\t\tconst y3 = Math.floor(y2)\n\t\tconst z3 = Math.floor(z2)\n\t\tconst x4 = x2 - x3\n\t\tconst y4 = y2 - y3\n\t\tconst z4 = z2 - z3\n\t\tconst x5 = smoothstep(x4)\n\t\tconst y5 = smoothstep(y4)\n\t\tconst z5 = smoothstep(z4)\n\n\t\tlet y6 = 0\n\t\tif (a !== 0) {\n\t\t\ty6 = Math.floor(Math.min(b, y4) / a) * a\n\t\t}\n\n\t\treturn this.sampleAndLerp(x3, y3, z3, x4, y4 - y6, z4, x5, y5, z5)\n\t}\n\n\tprivate gradDot(a: number, b: number, c: number, d: number) {\n\t\tconst grad = ImprovedNoise.GRADIENT[a & 15]\n\t\treturn grad[0] * b + grad[1] * c + grad[2] * d\n\t}\n\n\tprivate P(i: number) {\n\t\treturn this.p[i & 255] & 255\n\t}\n\n\tpublic sampleAndLerp(a: number, b: number, c: number, d: number, e: number, f: number, g: number, h: number, i: number) {\n\t\tconst j = this.P(a) + b\n\t\tconst k = this.P(j) + c\n\t\tconst l = this.P(j + 1) + c\n\t\tconst m = this.P(a + 1) + b\n\t\tconst n = this.P(m) + c\n\t\tconst o = this.P(m + 1) + c\n\n\t\tconst p = this.gradDot(this.P(k), d, e, f)\n\t\tconst q = this.gradDot(this.P(n), d - 1, e, f)\n\t\tconst r = this.gradDot(this.P(l), d, e - 1, f)\n\t\tconst s = this.gradDot(this.P(o), d - 1, e - 1, f)\n \n\t\tconst t = this.gradDot(this.P(k + 1), d, e, f - 1)\n\t\tconst u = this.gradDot(this.P(n + 1), d - 1, e, f - 1)\n\t\tconst v = this.gradDot(this.P(l + 1), d, e - 1, f - 1)\n\t\tconst w = this.gradDot(this.P(o + 1), d - 1, e - 1, f - 1)\n\n\t\treturn lerp3(g, h, i, p, q, r, s, t, u, v, w)\n\t}\n}\n","import seedrandom from 'seedrandom'\nimport { ImprovedNoise } from './ImprovedNoise'\n\nexport class PerlinNoise {\n\tprivate readonly noiseLevels: ImprovedNoise[]\n\tprivate readonly amplitudes: number[]\n\tprivate readonly lowestFreqValueFactor: number\n\tprivate readonly lowestFreqInputFactor: number\n\n\tconstructor(seed: string, firstOctave: number, amplitudes: number[]) {\n\t\tthis.amplitudes = amplitudes\n\n\t\tthis.noiseLevels = Array(this.amplitudes.length)\n\t\tfor (let i = 0; i < this.amplitudes.length; i += 1) {\n\t\t\tthis.noiseLevels[i] = new ImprovedNoise(seedrandom(seed))\n\t\t}\n \n\t\tthis.lowestFreqInputFactor = Math.pow(2, firstOctave)\n\t\tthis.lowestFreqValueFactor = Math.pow(2, (amplitudes.length - 1)) / (Math.pow(2, amplitudes.length) - 1)\n\t}\n\n\tpublic static fromRange(seed: string, min: number, max: number) {\n\t\treturn new PerlinNoise(seed, min, Array(max - min + 1).fill(1))\n\t}\n\n\tpublic getValue(x: number, y: number, z: number, a = 0, b = 0, fixY = false) {\n\t\tlet value = 0\n\t\tlet inputF = this.lowestFreqInputFactor\n\t\tlet valueF = this.lowestFreqValueFactor\n\t\tfor (let i = 0; i < this.noiseLevels.length; i += 1) {\n\t\t\tconst noise = this.noiseLevels[i]\n\t\t\tif (noise) {\n\t\t\t\tvalue += this.amplitudes[i] * noise.noise(\n\t\t\t\t\tPerlinNoise.wrap(x * inputF),\n\t\t\t\t\tfixY ? -noise.yo : PerlinNoise.wrap(y * inputF),\n\t\t\t\t\tPerlinNoise.wrap(z * inputF),\n\t\t\t\t\ta * inputF,\n\t\t\t\t\tb * inputF\n\t\t\t\t) * valueF\n\t\t\t}\n\t\t\tinputF *= 2\n\t\t\tvalueF /= 2\n\t\t}\n\t\treturn value\n\t}\n\n\tpublic getOctaveNoise(i: number) {\n\t\treturn this.noiseLevels[this.noiseLevels.length - 1 - i]\n\t}\n\n\tpublic static wrap(value: number) {\n\t\treturn value - Math.floor(value / 3.3554432E7 + 0.5) * 3.3554432E7\n\t}\n}\n","import { PerlinNoise } from './PerlinNoise'\n\nexport class NormalNoise {\n\tprivate readonly valueFactor: number\n\tprivate readonly first: PerlinNoise\n\tprivate readonly second: PerlinNoise\n\n\tconstructor(seed: string, firstOctave: number, amplitudes: number[]) {\n\t\tthis.first = new PerlinNoise(seed, firstOctave, amplitudes)\n\t\tthis.second = new PerlinNoise(seed + 'a', firstOctave, amplitudes)\n\n\t\tlet min = +Infinity\n\t\tlet max = -Infinity\n\t\tfor (let i = 0; i < amplitudes.length; i += 1) {\n\t\t\tif (amplitudes[i] !== 0) {\n\t\t\t\tmin = Math.min(min, i)\n\t\t\t\tmax = Math.max(max, i)\n\t\t\t}\n\t\t}\n\n\t\tconst expectedDeviation = 0.1 * (1 + 1 / (max - min + 1))\n\t\tthis.valueFactor = (1/6) / expectedDeviation\n\t}\n\n\tgetValue(x: number, y: number, z: number) {\n\t\tconst x2 = x * 1.0181268882175227\n\t\tconst y2 = y * 1.0181268882175227\n\t\tconst z2 = z * 1.0181268882175227\n\t\treturn (this.first.getValue(x, y, z) + this.second.getValue(x2, y2, z2)) * this.valueFactor\n\t}\n}\n","import { stringToColor } from '../Utils'\nimport { NormalNoise } from './noise/NormalNoise'\n\ntype BiomeColors =Record\ntype BiomeSourceOptions = {\n\tbiomeColors: BiomeColors,\n\toffset: [number, number],\n\tscale: number,\n\tres: number,\n\tseed: string,\n}\n\nconst NoiseMaps = ['altitude', 'temperature', 'humidity', 'weirdness']\n\nexport function biomeSource(state: any, img: ImageData, options: BiomeSourceOptions) {\n\tswitch (state?.type?.replace(/^minecraft:/, '')) {\n\t\tcase 'multi_noise': return multiNoise(state, img, options)\n\t\tcase 'fixed': return fixed(state, img, options)\n\t\tcase 'checkerboard': return checkerboard(state, img, options)\n\t}\n}\n\nfunction fixed(state: any, img: ImageData, options: BiomeSourceOptions) {\n\tconst data = img.data\n\tconst color = getBiomeColor(state.biome, options.biomeColors)\n\tconst row = img.width * 4 / options.res\n\tconst col = 4 / options.res\n\tfor (let x = 0; x < 200; x += options.res) {\n\t\tfor (let y = 0; y < 200; y += options.res) {\n\t\t\tconst i = y * row + x * col\n\t\t\tdata[i] = color[0]\n\t\t\tdata[i + 1] = color[1]\n\t\t\tdata[i + 2] = color[2]\n\t\t\tdata[i + 3] = 255\n\t\t}\n\t}\n}\n\nfunction checkerboard(state: any, img: ImageData, options: BiomeSourceOptions) {\n\tconst biomeColorCache: BiomeColors = {}\n\tstate.biomes?.forEach((b: string) => {\n\t\tbiomeColorCache[b] = getBiomeColor(b, options.biomeColors)\n\t})\n\n\tconst data = img.data\n\tconst ox = -options.offset[0] - 100 + options.res / 2\n\tconst oy = -options.offset[1] - 100 + options.res / 2\n\tconst row = img.width * 4 / options.res\n\tconst col = 4 / options.res\n\tconst shift = (state.scale ?? 2) + 2\n\tconst numBiomes = state.biomes?.length ?? 0\n\tfor (let x = 0; x < 200; x += options.res) {\n\t\tfor (let y = 0; y < 200; y += options.res) {\n\t\t\tconst i = y * row + x * col\n\t\t\tconst xx = (x + ox) * options.scale\n\t\t\tconst yy = (y + oy) * options.scale\n\t\t\tconst j = (((xx >> shift) + (yy >> shift)) % numBiomes + numBiomes) % numBiomes\n\t\t\tconst b = state.biomes?.[j]\n\t\t\tconst color = biomeColorCache[b] ?? [128, 128, 128]\n\t\t\tdata[i] = color[0]\n\t\t\tdata[i + 1] = color[1]\n\t\t\tdata[i + 2] = color[2]\n\t\t\tdata[i + 3] = 255\n\t\t}\n\t}\n}\n\nfunction multiNoise(state: any, img: ImageData, options: BiomeSourceOptions) {\n\tif (state.preset?.replace(/^minecraft:/, '') === 'nether') {\n\t\tstate = NetherPreset\n\t}\n\n\tconst noise = NoiseMaps.map((id, i) => {\n\t\tconst config = state[`${id}_noise`]\n\t\treturn new NormalNoise(options.seed + i, config.firstOctave, config.amplitudes)\n\t})\n\n\tconst biomeColorCache: BiomeColors = {}\n\tstate.biomes.forEach((b: any) => {\n\t\tbiomeColorCache[b.biome] = getBiomeColor(b.biome, options.biomeColors)\n\t})\n\n\tconst data = img.data\n\tconst ox = -options.offset[0] - 100 + options.res / 2\n\tconst oy = -options.offset[1] - 100 + options.res / 2\n\tconst row = img.width * 4 / options.res\n\tconst col = 4 / options.res\n\tfor (let x = 0; x < 200; x += options.res) {\n\t\tfor (let y = 0; y < 200; y += options.res) {\n\t\t\tconst i = y * row + x * col\n\t\t\tconst xx = (x + ox) * options.scale\n\t\t\tconst yy = (y + oy) * options.scale\n\t\t\tconst b = closestBiome(noise, state.biomes, xx, yy)\n\t\t\tconst color = biomeColorCache[b] ?? [128, 128, 128]\n\t\t\tdata[i] = color[0]\n\t\t\tdata[i + 1] = color[1]\n\t\t\tdata[i + 2] = color[2]\n\t\t\tdata[i + 3] = 255\n\t\t}\n\t}\n}\n\nexport function getBiome(state: any, x: number, y: number, options: BiomeSourceOptions): string | undefined {\n\tconst [xx, yy] = toWorld([x, y], options)\n\tswitch (state?.type?.replace(/^minecraft:/, '')) {\n\t\tcase 'multi_noise':\n\t\t\tconst noise = NoiseMaps.map((id, i) => {\n\t\t\t\tconst config = state[`${id}_noise`]\n\t\t\t\treturn new NormalNoise(options.seed + i, config.firstOctave, config.amplitudes)\n\t\t\t})\n\t\t\treturn closestBiome(noise, state.biomes, xx, yy)\n\t\tcase 'fixed': return state.biome\n\t\tcase 'checkerboard':\n\t\t\tconst shift = (state.scale ?? 2) + 2\n\t\t\tconst numBiomes = state.biomes?.length ?? 0\n\t\t\tconst j = (((xx >> shift) + (yy >> shift)) % numBiomes + numBiomes) % numBiomes\n\t\t\treturn state.biomes?.[j]\n\t}\n\treturn undefined\n}\n\nexport function getBiomeColor(biome: string, biomeColors: BiomeColors) {\n\tif (!biome) {\n\t\treturn [128, 128, 128]\n\t}\n\tconst color = biomeColors[biome] ?? VanillaColors[biome]\n\tif (color === undefined) {\n\t\treturn stringToColor(biome)\n\t}\n\treturn color\n}\n\nfunction toWorld([x, y]: [number, number], options: BiomeSourceOptions) {\n\tconst xx = (x - options.offset[0] - 100 + options.res / 2) * options.scale\n\tconst yy = (y - options.offset[1] - 100 + options.res / 2) * options.scale\n\treturn [xx, yy]\n}\n\nfunction closestBiome(noise: NormalNoise[], biomes: any[], x: number, y: number): string {\n\tif (!Array.isArray(biomes) || biomes.length === 0) return ''\n\tconst n = noise.map(n => n.getValue(x, y, 0))\n\tlet minDist = Infinity\n\tlet minBiome = ''\n\tfor (const b of biomes) {\n\t\tconst dist = fitness(b.parameters, {altitude: n[0], temperature: n[1], humidity: n[2], weirdness: n[3], offset: 0})\n\t\tif (dist < minDist) {\n\t\t\tminDist = dist\n\t\t\tminBiome = b.biome\n\t\t}\n\t}\n\treturn minBiome\n}\n\nfunction fitness(a: any, b: any) {\n\treturn (a.altitude - b.altitude) * (a.altitude - b.altitude) + (a.temperature - b.temperature) * (a.temperature - b.temperature) + (a.humidity - b.humidity) * (a.humidity - b.humidity) + (a.weirdness - b.weirdness) * (a.weirdness - b.weirdness) + (a.offset - b.offset) * (a.offset - b.offset)\n}\n\nconst VanillaColors: Record = {\n\t'minecraft:badlands': [217,69,21],\n\t'minecraft:badlands_plateau': [202,140,101],\n\t'minecraft:bamboo_jungle': [118,142,20],\n\t'minecraft:bamboo_jungle_hills': [59,71,10],\n\t'minecraft:basalt_deltas': [64,54,54],\n\t'minecraft:beach': [250,222,85],\n\t'minecraft:birch_forest': [48,116,68],\n\t'minecraft:birch_forest_hills': [31,95,50],\n\t'minecraft:cold_ocean': [32,32,112],\n\t'minecraft:crimson_forest': [221,8,8],\n\t'minecraft:dark_forest': [64,81,26],\n\t'minecraft:dark_forest_hills': [104,121,66],\n\t'minecraft:deep_cold_ocean': [32,32,56],\n\t'minecraft:deep_frozen_ocean': [64,64,144],\n\t'minecraft:deep_lukewarm_ocean': [0,0,64],\n\t'minecraft:deep_ocean': [0,0,48],\n\t'minecraft:deep_warm_ocean': [0,0,80],\n\t'minecraft:desert': [250,148,24],\n\t'minecraft:desert_hills': [210,95,18],\n\t'minecraft:desert_lakes': [255,188,64],\n\t'minecraft:end_barrens': [128,128,255],\n\t'minecraft:end_highlands': [128,128,255],\n\t'minecraft:end_midlands': [128,128,255],\n\t'minecraft:eroded_badlands': [255,109,61],\n\t'minecraft:flower_forest': [45,142,73],\n\t'minecraft:forest': [5,102,33],\n\t'minecraft:frozen_ocean': [112,112,214],\n\t'minecraft:frozen_river': [160,160,255],\n\t'minecraft:giant_spruce_taiga': [129,142,121],\n\t'minecraft:giant_spruce_taiga_hills': [109,119,102],\n\t'minecraft:giant_tree_taiga': [89,102,81],\n\t'minecraft:giant_tree_taiga_hills': [69,79,62],\n\t'minecraft:gravelly_mountains': [136,136,136],\n\t'minecraft:ice_spikes': [180,220,220],\n\t'minecraft:jungle': [83,123,9],\n\t'minecraft:jungle_edge': [98,139,23],\n\t'minecraft:jungle_hills': [44,66,5],\n\t'minecraft:lukewarm_ocean': [0,0,144],\n\t'minecraft:modified_badlands_plateau': [242,180,141],\n\t'minecraft:modified_gravelly_mountains': [120,152,120],\n\t'minecraft:modified_jungle': [123,163,49],\n\t'minecraft:modified_jungle_edge': [138,179,63],\n\t'minecraft:modified_wooded_badlands_plateau': [216,191,141],\n\t'minecraft:mountain_edge': [114,120,154],\n\t'minecraft:mountains': [96,96,96],\n\t'minecraft:mushroom_field_shore': [160,0,255],\n\t'minecraft:mushroom_fields': [255,0,255],\n\t'minecraft:nether_wastes': [191,59,59],\n\t'minecraft:ocean': [0,0,112],\n\t'minecraft:plains': [141,179,96],\n\t'minecraft:river': [0,0,255],\n\t'minecraft:savanna': [189,178,95],\n\t'minecraft:savanna_plateau': [167,157,100],\n\t'minecraft:shattered_savanna': [229,218,135],\n\t'minecraft:shattered_savanna_plateau': [207,197,140],\n\t'minecraft:small_end_islands': [128,128,255],\n\t'minecraft:snowy_beach': [250,240,192],\n\t'minecraft:snowy_mountains': [160,160,160],\n\t'minecraft:snowy_taiga': [49,85,74],\n\t'minecraft:snowy_taiga_hills': [36,63,54],\n\t'minecraft:snowy_taiga_mountains': [89,125,114],\n\t'minecraft:snowy_tundra': [255,255,255],\n\t'minecraft:soul_sand_valley': [94,56,48],\n\t'minecraft:stone_shore': [162,162,132],\n\t'minecraft:sunflower_plains': [181,219,136],\n\t'minecraft:swamp': [7,249,178],\n\t'minecraft:swamp_hills': [47,255,218],\n\t'minecraft:taiga': [11,102,89],\n\t'minecraft:taiga_hills': [22,57,51],\n\t'minecraft:taiga_mountains': [51,142,129],\n\t'minecraft:tall_birch_forest': [88,156,108],\n\t'minecraft:tall_birch_hills': [71,135,90],\n\t'minecraft:the_end': [128,128,255],\n\t'minecraft:the_void': [0,0,0],\n\t'minecraft:warm_ocean': [0,0,172],\n\t'minecraft:warped_forest': [73,144,123],\n\t'minecraft:wooded_badlands_plateau': [176,151,101],\n\t'minecraft:wooded_hills': [34,85,28],\n\t'minecraft:wooded_mountains': [80,112,80],\n}\n\nconst NetherPreset = {type:'minecraft:multi_noise',seed:0,altitude_noise:{firstOctave:-7,amplitudes:[1,1]},temperature_noise:{firstOctave:-7,amplitudes:[1,1]},humidity_noise:{firstOctave:-7,amplitudes:[1,1]},weirdness_noise:{firstOctave:-7,amplitudes:[1,1]},biomes:[{biome:'minecraft:nether_wastes',parameters:{altitude:0,temperature:0,humidity:0,weirdness:0,offset:0}},{biome:'minecraft:soul_sand_valley',parameters:{altitude:0,temperature:0,humidity:-0.5,weirdness:0,offset:0}},{biome:'minecraft:crimson_forest',parameters:{altitude:0,temperature:0.4,humidity:0,weirdness:0,offset:0}},{biome:'minecraft:warped_forest',parameters:{altitude:0,temperature:0,humidity:0.5,weirdness:0,offset:0.375}},{biome:'minecraft:basalt_deltas',parameters:{altitude:0,temperature:-0.5,humidity:0,weirdness:0,offset:0.175}}]}\n","import seedrandom from 'seedrandom'\nimport type { VersionId } from '../Schemas'\nimport { clamp, stringToColor } from '../Utils'\nimport { PerlinNoise } from './noise/PerlinNoise'\n\ntype BlockPos = [number, number, number]\ntype Placement = [BlockPos, number]\n\ntype PlacementContext = {\n\tplacements: Placement[],\n\tfeatures: string[],\n\trandom: seedrandom.prng,\n\tbiomeInfoNoise: PerlinNoise,\n\tseaLevel: number,\n\tversion: VersionId,\n}\n\nconst terrain = [50, 50, 51, 51, 52, 52, 53, 54, 56, 57, 57, 58, 58, 59, 60, 60, 60, 59, 59, 59, 60, 61, 61, 62, 63, 63, 64, 64, 64, 65, 65, 66, 66, 65, 65, 66, 66, 67, 67, 67, 68, 69, 71, 73, 74, 76, 79, 80, 81, 81, 82, 83, 83, 82, 82, 81, 81, 80, 80, 80, 81, 81, 82, 82] \n\nconst featureColors = [\n\t[255, 77, 54], // red\n\t[59, 118, 255], // blue\n\t[91, 207, 25], // green\n\t[217, 32, 245], // magenta\n\t[255, 209, 41], // yellow\n\t[52, 204, 209], // cyan\n]\n\nexport type DecoratorOptions = {\n\tsize: [number, number, number],\n\tseed: string,\n\tversion: VersionId,\n}\nexport function decorator(state: any, img: ImageData, options: DecoratorOptions) {\n\tconst random = seedrandom(options.seed)\n\tconst ctx: PlacementContext = {\n\t\tplacements: [],\n\t\tfeatures: [],\n\t\trandom,\n\t\tbiomeInfoNoise: new PerlinNoise(options.seed + 'frwynup', 0, [1]),\n\t\tseaLevel: 63,\n\t\tversion: options.version,\n\t}\n\n\tfor (let x = 0; x < options.size[0] / 16; x += 1) {\n\t\tfor (let z = 0; z < options.size[2] / 16; z += 1) {\n\t\t\tgetPlacements([x * 16, 0, z * 16], state, ctx)\n\t\t}\n\t}\n\n\tconst data = img.data\n\timg.data.fill(255)\n\n\tfor (const [pos, feature] of ctx.placements) {\n\t\tif (pos[0] < 0 || pos[1] < 0 || pos[2] < 0 || pos[0] >= options.size[0] || pos[1] >= options.size[1] || pos[2] >= options.size[2]) continue\n\t\tconst i = (pos[2] * (img.width * 4)) + (pos[0] * 4)\n\t\tconst color = feature < featureColors.length ? featureColors[feature] : stringToColor(ctx.features[feature])\n\t\tdata[i] = clamp(50, 205, color[0])\n\t\tdata[i + 1] = clamp(50, 205, color[1])\n\t\tdata[i + 2] = clamp(50, 205, color[2])\n\t\tdata[i + 3] = 255\n\t}\n\n\tfor (let x = 0; x < options.size[0]; x += 1) {\n\t\tfor (let y = 0; y < options.size[2]; y += 1) {\n\t\t\tif ((Math.floor(x / 16) + Math.floor(y / 16)) % 2 === 0) continue\n\t\t\tconst i = (y * (img.width * 4)) + (x * 4)\n\t\t\tfor (let j = 0; j < 3; j += 1) {\n\t\t\t\tdata[i + j] = 0.85 * data[i + j] \n\t\t\t}\n\t\t}\n\t}\n}\n\nfunction normalize(id: string) {\n\treturn id.startsWith('minecraft:') ? id.slice(10) : id\n}\n\nfunction decorateY(pos: BlockPos, y: number): BlockPos[] {\n\treturn [[ pos[0], y, pos[2] ]]\n}\n\nfunction nextInt(max: number, ctx: PlacementContext): number {\n\treturn Math.floor(ctx.random() * max)\n}\n\nfunction sampleInt(value: any, ctx: PlacementContext): number {\n\tif (typeof value === 'number') {\n\t\treturn value\n\t} else if (value.base) {\n\t\treturn value.base ?? 1 + nextInt(1 + (value.spread ?? 0), ctx)\n\t} else {\n\t\tswitch (normalize(value.type)) {\n\t\t\tcase 'constant': return value.value\n\t\t\tcase 'uniform': return value.value.min_inclusive + nextInt(value.value.max_inclusive - value.value.min_inclusive + 1, ctx)\n\t\t\tcase 'biased_to_bottom': return value.value.min_inclusive + nextInt(nextInt(value.value.max_inclusive - value.value.min_inclusive + 1, ctx) + 1, ctx)\n\t\t\tcase 'clamped': return Math.max(value.value.min_inclusive, Math.min(value.value.max_inclusive, sampleInt(value.value.source, ctx)))\n\t\t}\n\t\treturn 1\n\t}\n}\n\nfunction useFeature(s: string, ctx: PlacementContext) {\n\tconst i = ctx.features.indexOf(s)\n\tif (i != -1) return i\n\tctx.features.push(s)\n\treturn ctx.features.length - 1\n}\n\nfunction getPlacements(pos: BlockPos, feature: any, ctx: PlacementContext): void {\n\tif (typeof feature === 'string') {\n\t\tctx.placements.push([pos, useFeature(feature, ctx)])\n\t\treturn\n\t}\n\tconst type = normalize(feature?.type ?? 'no_op')\n\tconst featureFn = Features[type]\n\tif (featureFn) {\n\t\tfeatureFn(feature.config, pos, ctx)\n\t} else {\n\t\tctx.placements.push([pos, useFeature(JSON.stringify(feature), ctx)])\n\t}\n}\n\nfunction getPositions(pos: BlockPos, decorator: any, ctx: PlacementContext): BlockPos[] {\n\tconst type = normalize(decorator?.type ?? 'nope')\n\tconst decoratorFn = Decorators[type]\n\tif (!decoratorFn) {\n\t\treturn [pos]\n\t}\n\treturn decoratorFn(decorator?.config, pos, ctx)\n}\n\nconst Features: {\n\t[key: string]: (config: any, pos: BlockPos, ctx: PlacementContext) => void,\n} = {\n\tdecorated: (config, pos, ctx) => {\n\t\tconst positions = getPositions(pos, config?.decorator, ctx)\n\t\tpositions.forEach(p => getPlacements(p, config?.feature, ctx))\n\t},\n\trandom_boolean_selector: (config, pos, ctx) => {\n\t\tconst feature = ctx.random() < 0.5 ? config?.feature_true : config?.feature_false\n\t\tgetPlacements(pos, feature, ctx)\n\t},\n\trandom_selector: (config, pos, ctx) => {\n\t\tfor (const f of config?.features ?? []) {\n\t\t\tif (ctx.random() < (f?.chance ?? 0)) {\n\t\t\t\tgetPlacements(pos, f.feature, ctx)\n\t\t\t\treturn\n\t\t\t}\n\t\t}\n\t\tgetPlacements(pos, config?.default, ctx)\n\t},\n\tsimple_random_selector: (config, pos, ctx) => {\n\t\tconst feature = config?.features?.[nextInt(config?.features?.length ?? 0, ctx)]\n\t\tgetPlacements(pos, feature, ctx)\n\t},\n}\n\nconst Decorators: {\n\t[key: string]: (config: any, pos: BlockPos, ctx: PlacementContext) => BlockPos[],\n} = {\n\tchance: (config, pos, ctx) => {\n\t\treturn ctx.random() < 1 / (config?.chance ?? 1) ? [pos] : []\n\t},\n\tcount: (config, pos, ctx) => {\n\t\treturn new Array(sampleInt(config?.count ?? 1, ctx)).fill(pos)\n\t},\n\tcount_extra: (config, pos, ctx) => {\n\t\tlet count = config?.count ?? 1\n\t\tif (ctx.random() < config.extra_chance ?? 0){\n\t\t\tcount += config.extra_count ?? 0\n\t\t}\n\t\treturn new Array(count).fill(pos)\n\t},\n\tcount_multilayer: (config, pos, ctx) => {\n\t\treturn new Array(sampleInt(config?.count ?? 1, ctx)).fill(pos)\n\t\t\t.map(p => [\n\t\t\t\tp[0] + nextInt(16, ctx),\n\t\t\t\tp[1], \n\t\t\t\tp[2] + nextInt(16, ctx),\n\t\t\t])\n\t},\n\tcount_noise: (config, pos, ctx) => {\n\t\tconst noise = ctx.biomeInfoNoise.getValue(pos[0] / 200, 0, pos[2] / 200)\n\t\tconst count = noise < config.noise_level ? config.below_noise : config.above_noise\n\t\treturn new Array(count).fill(pos)\n\t},\n\tcount_noise_biased: (config, pos, ctx) => {\n\t\tconst factor = Math.max(1, config.noise_factor)\n\t\tconst noise = ctx.biomeInfoNoise.getValue(pos[0] / factor, 0, pos[2] / factor)\n\t\tconst count = Math.max(0, Math.ceil((noise + (config.noise_offset ?? 0)) * config.noise_to_count_ratio))\n\t\treturn new Array(count).fill(pos)\n\t},\n\tdark_oak_tree: (_config, pos, ctx) => {\n\t\treturn [...new Array(16)].map((_, i) => {\n\t\t\tconst x = Math.floor(i / 4) * 4 + 1 + nextInt(3, ctx) + pos[0]\n\t\t\tconst y = Math.max(ctx.seaLevel, terrain[clamp(0, 63, x)])\n\t\t\tconst z = Math.floor(i % 4) * 4 + 1 + nextInt(3, ctx) + pos[2]\n\t\t\treturn [x, y, z]\n\t\t})\n\t},\n\tdecorated: (config, pos, ctx) => {\n\t\treturn getPositions(pos, config?.outer, ctx).flatMap(p => {\n\t\t\treturn getPositions(p, config?.inner, ctx)\n\t\t})\n\t},\n\tdepth_average: (config, pos, ctx) => {\n\t\tconst y = nextInt(config?.spread ?? 0, ctx) + nextInt(config?.spread ?? 0, ctx) - (config.spread ?? 0) + (config?.baseline ?? 0)\n\t\treturn decorateY(pos, y)\n\t},\n\temerald_ore: (_config, pos, ctx) => {\n\t\tconst count = 3 + nextInt(6, ctx)\n\t\treturn [...new Array(count)].map(() => [\n\t\t\tpos[0] + nextInt(16, ctx),\n\t\t\t4 + nextInt(28, ctx),\n\t\t\tpos[2] + nextInt(16, ctx),\n\t\t])\n\t},\n\tfire: (config, pos, ctx) => {\n\t\tconst count = 1 + nextInt(nextInt(sampleInt(config?.count, ctx), ctx), ctx)\n\t\treturn [...new Array(count)].map(() => [\n\t\t\tpos[0] + nextInt(16, ctx),\n\t\t\tnextInt(128, ctx),\n\t\t\tpos[2] + nextInt(16, ctx),\n\t\t])\n\t},\n\tglowstone: (config, pos, ctx) => {\n\t\tconst count = nextInt(1 + nextInt(sampleInt(config?.count, ctx), ctx), ctx)\n\t\treturn [...new Array(count)].map(() => [\n\t\t\tpos[0] + nextInt(16, ctx),\n\t\t\tnextInt(128, ctx),\n\t\t\tpos[2] + nextInt(16, ctx),\n\t\t])\n\t},\n\theightmap: (_config, pos, ctx) => {\n\t\tconst y = Math.max(ctx.seaLevel, terrain[clamp(0, 63, pos[0])])\n\t\treturn decorateY(pos, y)\n\t},\n\theightmap_spread_double: (_config, pos, ctx) => {\n\t\tconst y = Math.max(ctx.seaLevel, terrain[clamp(0, 63, pos[0])])\n\t\treturn decorateY(pos, nextInt(y * 2, ctx))\n\t},\n\theightmap_world_surface: (_config, pos, ctx) => {\n\t\tconst y = Math.max(ctx.seaLevel, terrain[clamp(0, 63, pos[0])])\n\t\treturn decorateY(pos, y)\n\t},\n\ticeberg: (_config, pos, ctx) => {\n\t\treturn [[\n\t\t\tpos[0] + 4 + nextInt(8, ctx),\n\t\t\tpos[1],\n\t\t\tpos[2] + 4 + nextInt(8, ctx),\n\t\t]]\n\t},\n\tlava_lake: (config, pos, ctx) => {\n\t\tif (nextInt((config.chance ?? 1) / 10, ctx) === 0) {\n\t\t\tconst y = nextInt(nextInt(256 - 8, ctx) + 8, ctx)\n\t\t\tif (y < ctx.seaLevel || nextInt((config?.chance ?? 1) / 8, ctx) == 0) {\n\t\t\t\tconst x = nextInt(16, ctx) + pos[0]\n\t\t\t\tconst z = nextInt(16, ctx) + pos[2]\n\t\t\t\treturn [[x, y, z]]\n\t\t\t}\n\t\t}\n\t\treturn []\n\t},\n\tnope: (_config, pos) => {\n\t\treturn [pos]\n\t},\n\trange: (config, pos, ctx) => {\n\t\tconst y = nextInt((config?.maximum ?? 1) - (config?.top_offset ?? 0), ctx) + (config?.bottom_offset ?? 0)\n\t\treturn decorateY(pos, y)\n\t},\n\trange_biased: (config, pos, ctx) => {\n\t\tconst y = nextInt(nextInt((config?.maximum ?? 1) - (config?.top_offset ?? 0), ctx) + (config?.bottom_offset ?? 0), ctx)\n\t\treturn decorateY(pos, y)\n\t},\n\trange_very_biased: (config, pos, ctx) => {\n\t\tconst y = nextInt(nextInt(nextInt((config?.maximum ?? 1) - (config?.top_offset ?? 0), ctx) + (config?.bottom_offset ?? 0), ctx) + (config?.bottom_offset ?? 0), ctx)\n\t\treturn decorateY(pos, y)\n\t},\n\tspread_32_above: (_config, pos, ctx) => {\n\t\tconst y = nextInt(pos[1] + 32, ctx)\n\t\treturn decorateY(pos, y)\n\t},\n\ttop_solid_heightmap: (_config, pos) => {\n\t\tconst y = terrain[clamp(0, 63, pos[0])]\n\t\treturn decorateY(pos, y)\n\t},\n\tmagma: (_config, pos, ctx) => {\n\t\tconst y = nextInt(pos[1] + 32, ctx)\n\t\treturn decorateY(pos, y)\n\t},\n\tsquare: (_config, pos, ctx) => {\n\t\treturn [[\n\t\t\tpos[0] + nextInt(16, ctx),\n\t\t\tpos[1],\n\t\t\tpos[2] + nextInt(16, ctx),\n\t\t]]\n\t},\n\twater_lake: (config, pos, ctx) => {\n\t\tif (nextInt(config.chance ?? 1, ctx) === 0) {\n\t\t\treturn [[\n\t\t\t\tpos[0] + nextInt(16, ctx),\n\t\t\t\tnextInt(256, ctx),\n\t\t\t\tpos[2] + nextInt(16, ctx),\n\t\t\t]]\n\t\t}\n\t\treturn []\n\t},\n}\n","import { clampedLerp, lerp2 } from '../../Utils'\nimport { PerlinNoise } from './PerlinNoise'\n\nexport class NoiseChunkGenerator {\n\tprivate readonly minLimitPerlinNoise: PerlinNoise\n\tprivate readonly maxLimitPerlinNoise: PerlinNoise\n\tprivate readonly mainPerlinNoise: PerlinNoise\n\tprivate readonly depthNoise: PerlinNoise\n\n\tprivate settings: any = {}\n\tprivate chunkWidth: number = 4\n\tprivate chunkHeight: number = 4\n\tprivate chunkCountY: number = 32\n\tprivate biomeDepth: number = 0.1\n\tprivate biomeScale: number = 0.2\n\n\tprivate noiseColumnCache: (number[] | null)[] = []\n\tprivate xOffset: number = 0\n\n\tconstructor(seed: string) {\n\t\tthis.minLimitPerlinNoise = PerlinNoise.fromRange(seed + 'djfqnqd', -15, 0)\n\t\tthis.maxLimitPerlinNoise = PerlinNoise.fromRange(seed + 'gowdnqs', -15, 0)\n\t\tthis.mainPerlinNoise = PerlinNoise.fromRange(seed + 'afiwmco', -7, 0)\n\t\tthis.depthNoise = PerlinNoise.fromRange(seed + 'qphnmeo', -15, 0)\n\t}\n\n\tpublic reset(settings: any, depth: number, scale: number, xOffset: number, width: number) {\n\t\tthis.settings = settings\n\t\tthis.chunkWidth = settings.size_horizontal * 4\n\t\tthis.chunkHeight = settings.size_vertical * 4\n\t\tthis.chunkCountY = Math.floor(settings.height / this.chunkHeight)\n\n\t\tif (settings.amplified && depth > 0) {\n\t\t\tdepth = 1 + depth * 2\n\t\t\tscale = 1 + scale * 4\n\t\t}\n\t\tthis.biomeDepth = 0.265625 * (depth * 0.5 - 0.125)\n\t\tthis.biomeScale = 96.0 / (scale * 0.9 + 0.1)\n\n\t\tthis.noiseColumnCache = Array(width).fill(null)\n\t\tthis.xOffset = xOffset\n\t}\n \n\tpublic iterateNoiseColumn(x: number): number[] {\n\t\tconst data = Array(this.chunkCountY * this.chunkHeight)\n\t\tconst cx = Math.floor(x / this.chunkWidth)\n\t\tconst ox = Math.floor(x % this.chunkWidth) / this.chunkWidth\n\t\tconst noise1 = this.fillNoiseColumn(cx)\n\t\tconst noise2 = this.fillNoiseColumn(cx + 1)\n\n\t\tfor (let y = this.chunkCountY - 1; y >= 0; y -= 1) {\n\t\t\tfor (let yy = this.chunkHeight; yy >= 0; yy -= 1) {\n\t\t\t\tconst oy = yy / this.chunkHeight\n\t\t\t\tconst i = y * this.chunkHeight + yy\n\t\t\t\tdata[i] = lerp2(oy, ox, noise1[y], noise1[y+1], noise2[y], noise2[y+1])\n\t\t\t}\n\t\t}\n\t\treturn data\n\t}\n\n\tprivate fillNoiseColumn(x: number): number[] {\n\t\tconst cachedColumn = this.noiseColumnCache[x - this.xOffset]\n\t\tif (cachedColumn) return cachedColumn\n\n\t\tconst data = Array(this.chunkCountY + 1)\n\n\t\tconst xzScale = 684.412 * this.settings.sampling.xz_scale\n\t\tconst yScale = 684.412 * this.settings.sampling.y_scale\n\t\tconst xzFactor = xzScale / this.settings.sampling.xz_factor\n\t\tconst yFactor = yScale / this.settings.sampling.y_factor\n\t\tconst randomDensity = this.settings.random_density_offset ? this.getRandomDensity(x) : 0\n\n\t\tfor (let y = 0; y <= this.chunkCountY; y += 1) {\n\t\t\tlet noise = this.sampleAndClampNoise(x, y, this.mainPerlinNoise.getOctaveNoise(0).zo, xzScale, yScale, xzFactor, yFactor)\n\t\t\tconst yOffset = 1 - y * 2 / this.chunkCountY + randomDensity\n\t\t\tconst density = yOffset * this.settings.density_factor + this.settings.density_offset\n\t\t\tconst falloff = (density + this.biomeDepth) * this.biomeScale\n\t\t\tnoise += falloff * (falloff > 0 ? 4 : 1)\n\n\t\t\tif (this.settings.top_slide.size > 0) {\n\t\t\t\tnoise = clampedLerp(\n\t\t\t\t\tthis.settings.top_slide.target,\n\t\t\t\t\tnoise,\n\t\t\t\t\t(this.chunkCountY - y - (this.settings.top_slide.offset)) / (this.settings.top_slide.size)\n\t\t\t\t)\n\t\t\t}\n\n\t\t\tif (this.settings.bottom_slide.size > 0) {\n\t\t\t\tnoise = clampedLerp(\n\t\t\t\t\tthis.settings.bottom_slide.target,\n\t\t\t\t\tnoise,\n\t\t\t\t\t(y - (this.settings.bottom_slide.offset)) / (this.settings.bottom_slide.size)\n\t\t\t\t)\n\t\t\t}\n\t\t\tdata[y] = noise\n\t\t}\n\n\t\tthis.noiseColumnCache[x - this.xOffset] = data\n\t\treturn data\n\t}\n\n\tprivate getRandomDensity(x: number): number {\n\t\tconst noise = this.depthNoise.getValue(x * 200, 10, this.depthNoise.getOctaveNoise(0).zo, 1, 0, true)\n\t\tconst a = (noise < 0) ? -noise * 0.3 : noise\n\t\tconst b = a * 24.575625 - 2\n\t\treturn (b < 0) ? b * 0.009486607142857142 : Math.min(b, 1) * 0.006640625\n\t}\n\n\tprivate sampleAndClampNoise(x: number, y: number, z: number, xzScale: number, yScale: number, xzFactor: number, yFactor: number): number {\n\t\tlet a = 0\n\t\tlet b = 0\n\t\tlet c = 0\n\t\tlet d = 1\n\n\t\tfor (let i = 0; i < 16; i += 1) {\n\t\t\tconst x2 = PerlinNoise.wrap(x * xzScale * d)\n\t\t\tconst y2 = PerlinNoise.wrap(y * yScale * d)\n\t\t\tconst z2 = PerlinNoise.wrap(z * xzScale * d)\n\t\t\tconst e = yScale * d\n\n\t\t\tconst minLimitNoise = this.minLimitPerlinNoise.getOctaveNoise(i)\n\t\t\tif (minLimitNoise) {\n\t\t\t\ta += minLimitNoise.noise(x2, y2, z2, e, y * e) / d\n\t\t\t}\n\n\t\t\tconst maxLimitNoise = this.maxLimitPerlinNoise.getOctaveNoise(i)\n\t\t\tif (maxLimitNoise) {\n\t\t\t\tb += maxLimitNoise.noise(x2, y2, z2, e, y * e) / d\n\t\t\t}\n\n\t\t\tif (i < 8) {\n\t\t\t\tconst mainNoise = this.mainPerlinNoise.getOctaveNoise(i)\n\t\t\t\tif (mainNoise) {\n\t\t\t\t\tc += mainNoise.noise(\n\t\t\t\t\t\tPerlinNoise.wrap(x * xzFactor * d),\n\t\t\t\t\t\tPerlinNoise.wrap(y * yFactor * d),\n\t\t\t\t\t\tPerlinNoise.wrap(z * xzFactor * d),\n\t\t\t\t\t\tyFactor * d,\n\t\t\t\t\t\ty * yFactor * d \n\t\t\t\t\t) / d\n\t\t\t\t}\n\t\t\t}\n\n\t\t\td /= 2\n\t\t}\n\n\t\treturn clampedLerp(a / 512, b / 512, (c / 10 + 1) / 2)\n\t}\n}\n","import { NoiseChunkGenerator } from './noise/NoiseChunkGenerator'\n\nexport type NoiseSettingsOptions = {\n\tbiomeScale: number,\n\tbiomeDepth: number,\n\toffset: number,\n\twidth: number,\n\tseed: string,\n}\n\nexport function noiseSettings(state: any, img: ImageData, options: NoiseSettingsOptions) {\n\tconst generator = new NoiseChunkGenerator(options.seed)\n\tgenerator.reset(state, options.biomeDepth, options.biomeScale, options.offset, 200)\n\tconst data = img.data\n\tconst row = img.width * 4\n\tfor (let x = 0; x < options.width; x += 1) {\n\t\tconst noise = generator.iterateNoiseColumn(x - options.offset).reverse()\n\t\tfor (let y = 0; y < state.height; y += 1) {\n\t\t\tconst i = y * row + x * 4\n\t\t\tconst color = getColor(noise, y)\n\t\t\tdata[i] = color\n\t\t\tdata[i + 1] = color\n\t\t\tdata[i + 2] = color\n\t\t\tdata[i + 3] = 255\n\t\t}\n\t}\n}\n\nfunction getColor(noise: number[], y: number): number {\n\tif (noise[y] > 0) {\n\t\treturn 0\n\t}\n\tif (noise[y+1] > 0) {\n\t\treturn 150\n\t}\n\treturn 255\n}\n","import type { DataModel } from '@mcschema/core'\nimport { Path } from '@mcschema/core'\nimport type { FunctionalComponent } from 'preact'\nimport { useState } from 'preact/hooks'\nimport { useModel } from '../hooks'\nimport type { VersionId } from '../Schemas'\nimport { BiomeSourcePreview, DecoratorPreview, NoiseSettingsPreview } from './previews'\n\nexport const HasPreview = ['dimension', 'worldgen/noise_settings', 'worldgen/configured_feature']\n\nexport const Previews: {\n\tid: string,\n\tgenerator: string,\n\tpath: Path,\n\tpredicate: (model: DataModel) => boolean,\n\tpreview: FunctionalComponent<{\n\t\tlang: string,\n\t\tmodel: DataModel,\n\t\tdata: any,\n\t\tversion: VersionId,\n\t\tshown: boolean,\n\t}>,\n}[] = [\n\t{\n\t\tid: 'biome-noise',\n\t\tgenerator: 'dimension',\n\t\tpath: new Path(['generator', 'biome_source']),\n\t\tpredicate: model => model.get(new Path(['generator', 'type'])).endsWith('noise'),\n\t\tpreview: BiomeSourcePreview,\n\t},\n\t{\n\t\tid: 'noise-settings',\n\t\tgenerator: 'worldgen/noise_settings',\n\t\tpath: new Path(['noise']),\n\t\tpredicate: () => true,\n\t\tpreview: NoiseSettingsPreview,\n\t},\n\t{\n\t\tid: 'decorator',\n\t\tgenerator: 'worldgen/configured_feature',\n\t\tpath: new Path([]),\n\t\tpredicate: () => true,\n\t\tpreview: DecoratorPreview,\n\t},\n]\n\ntype PreviewPanelProps = {\n\tlang: string,\n\tmodel: DataModel | null,\n\tversion: VersionId,\n\tid: string,\n\tshown: boolean,\n\tonError: (message: string) => unknown,\n}\nexport function PreviewPanel({ lang, model, version, id, shown }: PreviewPanelProps) {\n\tconst [, setCount] = useState(0)\n\n\tuseModel(model, () => {\n\t\tsetCount(count => count + 1)\n\t})\n\n\treturn <>\n\t\t{Previews.filter(p => p.generator === id).map(p => {\n\t\t\tconst data = model?.get(p.path)\n\t\t\tif (!model || data === undefined || !p.predicate(model)) {\n\t\t\t\treturn <>\n\t\t\t}\n\t\t\treturn p.preview({ lang, model: model!, data, version, shown })\n\t\t})}\n\t\n}\n","import type { DataModel } from '@mcschema/core'\nimport { useEffect, useRef, useState } from 'preact/hooks'\nimport { Btn } from '..'\nimport { useOnDrag, useOnHover } from '../../hooks'\nimport { biomeSource, getBiome } from '../../previews'\nimport { hexId } from '../../Utils'\n\ntype BiomeSourceProps = {\n\tlang: string,\n\tmodel: DataModel,\n\tdata: any,\n\tshown: boolean,\n}\nexport const BiomeSourcePreview = ({ data, shown }: BiomeSourceProps) => {\n\tconst [scale, setScale] = useState(2)\n\tconst [seed, setSeed] = useState(hexId())\n\tconst [focused, setFocused] = useState(undefined)\n\tconst type: string = data.type?.replace(/^minecraft:/, '')\n\n\tconst canvas = useRef(null)\n\tconst offset = useRef<[number, number]>([0, 0])\n\tconst redrawTimeout = useRef(undefined)\n\tconst redraw = useRef()\n\tconst refocus = useRef()\n\n\tuseEffect(() => {\n\t\tredraw.current = (res = 4) => {\n\t\t\tif (type !== 'multi_noise') res = 1\n\t\t\tconst ctx = canvas.current.getContext('2d')!\n\t\t\tcanvas.current.width = 200 / res\n\t\t\tcanvas.current.height = 200 / res\n\t\t\tconst img = ctx.createImageData(canvas.current.width, canvas.current.height)\n\t\t\tbiomeSource(data, img, { biomeColors: {}, offset: offset.current, scale, seed, res })\n\t\t\tctx.putImageData(img, 0, 0)\n\t\t\tif (res !== 1) {\n\t\t\t\tclearTimeout(redrawTimeout.current)\n\t\t\t\tredrawTimeout.current = setTimeout(() => redraw.current(1), 150) as any\n\t\t\t}\n\t\t}\n\t\trefocus.current = (x: number, y: number) => {\n\t\t\tconst x2 = x * 200 / canvas.current.clientWidth\n\t\t\tconst y2 = y * 200 / canvas.current.clientHeight\n\t\t\tconst biome = getBiome(data, x2, y2, { biomeColors: {}, offset: offset.current, scale, seed, res: 1 })\n\t\t\tsetFocused(biome)\n\t\t}\n\t})\n\n\tuseOnDrag(canvas.current, (dx, dy) => {\n\t\tconst x = dx * 200 / canvas.current.clientWidth\n\t\tconst y = dy * 200 / canvas.current.clientHeight\n\t\toffset.current = [offset.current[0] + x, offset.current[1] + y]\n\t\tredraw.current()\n\t})\n\n\tuseOnHover(canvas.current, (x, y) => {\n\t\tif (x === undefined || y === undefined) {\n\t\t\tsetFocused(undefined)\n\t\t} else {\n\t\t\trefocus.current(x, y)\n\t\t}\n\t})\n\n\tconst state = JSON.stringify(data)\n\tuseEffect(() => {\n\t\tif (shown) {\n\t\t\tredraw.current()\n\t\t}\n\t}, [state, scale, seed, shown])\n\n\tconst changeScale = (newScale: number) => {\n\t\toffset.current[0] *= scale / newScale\n\t\toffset.current[1] *= scale / newScale\n\t\tsetScale(newScale)\n\t}\n\n\treturn <>\n\t\t
\n\t\t\t{focused && }\n\t\t\t{(type === 'multi_noise' || type === 'checkerboard') && <>\n\t\t\t\t changeScale(scale * 1.5)} />\n\t\t\t\t changeScale(scale / 1.5)} />\n\t\t\t}\n\t\t\t{type === 'multi_noise' &&\n\t\t\t\t setSeed(hexId())} />}\n\t\t
\n\t\t\n\t\n}\n","import { useEffect } from 'preact/hooks'\n\nexport function useOnHover(element: HTMLElement, hover: (x: number | undefined, y: number | undefined) => unknown) {\n\tif (!element) return\n\n\tconst onMouseMove = (e: MouseEvent) => {\n\t\thover(e.offsetX, e.offsetY)\n\t}\n\tconst onMouseLeave = () => {\n\t\thover(undefined, undefined)\n\t}\n\n\tuseEffect(() => {\n\t\telement.addEventListener('mousemove', onMouseMove)\n\t\telement.addEventListener('mouseleave', onMouseLeave)\n\t\treturn () => {\n\t\t\telement.removeEventListener('mousemove', onMouseMove)\n\t\t\telement.removeEventListener('mouseleave', onMouseLeave)\n\t\t}\n\t}, [element])\n}\n","import type { DataModel } from '@mcschema/core'\nimport { useEffect, useRef, useState } from 'preact/hooks'\nimport { Btn, BtnInput, BtnMenu } from '..'\nimport { useOnDrag } from '../../hooks'\nimport { locale } from '../../Locales'\nimport { noiseSettings } from '../../previews'\nimport { hexId } from '../../Utils'\n\ntype NoiseSettingsProps = {\n\tlang: string,\n\tmodel: DataModel,\n\tdata: any,\n\tshown: boolean,\n}\nexport const NoiseSettingsPreview = ({ lang, data, shown }: NoiseSettingsProps) => {\n\tconst loc = locale.bind(null, lang)\n\tconst [seed, setSeed] = useState(hexId())\n\tconst [biomeDepth, setBiomeDepth] = useState(0.1)\n\tconst [biomeScale, setBiomeScale] = useState(0.2)\n\n\tconst canvas = useRef(null)\n\tconst offset = useRef(0)\n\tconst redraw = useRef()\n\n\tuseEffect(() => {\n\t\tredraw.current = () => {\n\t\t\tconst ctx = canvas.current.getContext('2d')!\n\t\t\tconst size = data.height\n\t\t\tcanvas.current.width = size\n\t\t\tcanvas.current.height = size\n\t\t\tconst img = ctx.createImageData(canvas.current.width, canvas.current.height)\n\t\t\tnoiseSettings(data, img, { biomeDepth, biomeScale, offset: offset.current, width: size, seed })\n\t\t\tctx.putImageData(img, 0, 0)\n\t\t}\n\t})\n\n\tuseOnDrag(canvas.current, (dx) => {\n\t\tconst x = dx * canvas.current.width / canvas.current.clientWidth\n\t\toffset.current = offset.current + x\n\t\tredraw.current()\n\t})\n\n\tconst state = JSON.stringify(data)\n\tuseEffect(() => {\n\t\tif (shown) {\n\t\t\tredraw.current()\n\t\t}\n\t}, [state, biomeDepth, biomeScale, seed, shown])\n\n\treturn <>\n\t\t
\n\t\t\t\n\t\t\t\t setBiomeDepth(Number(v))} />\n\t\t\t\t setBiomeScale(Number(v))} />\n\t\t\t\n\t\t\t setSeed(hexId())} />\n\t\t
\n\t\t\n\t\n}\n","import type { DataModel } from '@mcschema/core'\nimport { useEffect, useRef, useState } from 'preact/hooks'\nimport { Btn } from '..'\nimport { decorator } from '../../previews'\nimport type { VersionId } from '../../Schemas'\nimport { hexId } from '../../Utils'\n\ntype DecoratorProps = {\n\tlang: string,\n\tmodel: DataModel,\n\tdata: any,\n\tversion: VersionId,\n\tshown: boolean,\n}\nexport const DecoratorPreview = ({ data, version, shown }: DecoratorProps) => {\n\tconst [scale, setScale] = useState(4)\n\tconst [seed, setSeed] = useState(hexId())\n\n\tconst canvas = useRef(null)\n\tconst redraw = useRef()\n\n\tuseEffect(() => {\n\t\tredraw.current = () => {\n\t\t\tconst ctx = canvas.current.getContext('2d')!\n\t\t\tcanvas.current.width = scale * 16\n\t\t\tcanvas.current.height = scale * 16\n\t\t\tconst img = ctx.createImageData(canvas.current.width, canvas.current.height)\n\t\t\tdecorator(data, img, { seed, version, size: [scale * 16, 128, scale * 16] })\n\t\t\tctx.putImageData(img, 0, 0)\n\t\t}\n\t})\n\n\tconst state = JSON.stringify(data)\n\tuseEffect(() => {\n\t\tif (shown) {\n\t\t\tsetTimeout(() => redraw.current())\n\t\t}\n\t}, [state, scale, seed, shown])\n\n\treturn <>\n\t\t
\n\t\t\t setScale(Math.min(16, scale + 1))} />\n\t\t\t setScale(Math.max(1, scale - 1))} />\n\t\t\t setSeed(hexId())} />\n\t\t
\n\t\t\n\t\n}\n","import type { Hook } from '@mcschema/core'\nimport { relativePath } from '@mcschema/core'\nimport type { BlockStateRegistry } from '../Schemas'\n\nexport type OutputProps = {\n\tblockStates: BlockStateRegistry,\n}\nexport const transformOutput: Hook<[any, OutputProps], any> = {\n\tbase({}, _, value) {\n\t\treturn value\n\t},\n\n\tchoice({ switchNode }, path, value, props) {\n\t\treturn switchNode.hook(this, path, value, props)\n\t},\n\n\tlist({ children }, path, value, props) {\n\t\tif (!Array.isArray(value)) return value\n\t\treturn value.map((obj, index) =>\n\t\t\tchildren.hook(this, path.push(index), obj, props)\n\t\t)\n\t},\n\n\tmap({ children, config }, path, value, props) {\n\t\tif (value === undefined) return undefined\n\t\tconst blockState = config.validation?.validator === 'block_state_map'? props.blockStates?.[relativePath(path, config.validation.params.id).get()] : null\n\t\tconst res: any = {}\n\t\tObject.keys(value).forEach(f => {\n\t\t\tif (blockState) {\n\t\t\t\tif (!Object.keys(blockState.properties ?? {}).includes(f)) return\n\t\t\t}\n\t\t\tres[f] = children.hook(this, path.push(f), value[f], props)\n\t\t})\n\t\treturn res\n\t},\n\n\tobject({ getActiveFields }, path, value, props) {\n\t\tif (value === undefined || value === null || typeof value !== 'object') {\n\t\t\treturn value\n\t\t}\n\t\tconst res: any = {}\n\t\tconst activeFields = getActiveFields(path)\n\t\tObject.keys(activeFields)\n\t\t\t.filter(k => activeFields[k].enabled(path))\n\t\t\t.forEach(f => {\n\t\t\t\tres[f] = activeFields[f].hook(this, path.push(f), value[f], props)\n\t\t\t})\n\t\treturn res\n\t},\n}\n","import type { VersionId } from './Schemas'\nimport { VersionIds } from './Schemas'\n\nexport namespace Store {\n\texport const ID_LANGUAGE = 'language'\n\texport const ID_THEME = 'theme'\n\texport const ID_VERSION = 'schema_version'\n\texport const ID_INDENT = 'indentation'\n\n\texport function getLanguage() {\n\t\treturn localStorage.getItem(ID_LANGUAGE) ?? 'en'\n\t}\n\n\texport function getTheme() {\n\t\treturn localStorage.getItem(ID_THEME) ?? 'dark'\n\t}\n\n\texport function getVersion(): VersionId {\n\t\tconst version = localStorage.getItem(ID_VERSION)\n\t\tif (version && VersionIds.includes(version as VersionId)) {\n\t\t\treturn version as VersionId\n\t\t}\n\t\treturn '1.17'\n\t}\n\n\texport function getIndent() {\n\t\treturn localStorage.getItem(ID_INDENT) ?? '2_spaces'\n\t}\n\n\texport function setLanguage(language: string | undefined) {\n\t\tif (language) localStorage.setItem(ID_LANGUAGE, language)\n\t}\n\n\texport function setTheme(theme: string | undefined) {\n\t\tif (theme) localStorage.setItem(ID_THEME, theme)\n\t}\n\n\texport function setVersion(version: VersionId | undefined) {\n\t\tif (version) localStorage.setItem(ID_VERSION, version)\n\t}\n\n\texport function setIndent(indent: string) {\n\t\tif (indent) localStorage.setItem(ID_INDENT, indent)\n\t}\n}\n","import type { DataModel } from '@mcschema/core'\nimport { ModelPath } from '@mcschema/core'\nimport { useEffect, useRef, useState } from 'preact/hooks'\nimport { Btn, BtnMenu } from '.'\nimport { useModel } from '../hooks'\nimport { locale } from '../Locales'\nimport { transformOutput } from '../schema/transformOutput'\nimport type { BlockStateRegistry } from '../Schemas'\nimport { Store } from '../Store'\n\nconst INDENT: Record = {\n\t'2_spaces': 2,\n\t'4_spaces': 4,\n\ttabs: '\\t',\n}\n\ntype SourcePanelProps = {\n\tlang: string,\n\tname: string,\n\tmodel: DataModel | null,\n\tblockStates: BlockStateRegistry | null,\n\tdoCopy?: number,\n\tdoDownload?: number,\n\tdoImport?: number,\n\tonError: (message: string) => unknown,\n}\nexport function SourcePanel({ lang, name, model, blockStates, doCopy, doDownload, doImport, onError }: SourcePanelProps) {\n\tconst loc = locale.bind(null, lang)\n\tconst [indent, setIndent] = useState(Store.getIndent())\n\tconst source = useRef(null)\n\tconst download = useRef(null)\n\tconst retransform = useRef()\n\n\tuseEffect(() => {\n\t\tretransform.current = () => {\n\t\t\tif (!model || !blockStates) return\n\t\t\ttry {\n\t\t\t\tconst props = { blockStates: blockStates ?? {} }\n\t\t\t\tconst data = model.schema.hook(transformOutput, new ModelPath(model), model.data, props)\n\t\t\t\tsource.current.value = JSON.stringify(data, null, INDENT[indent]) + '\\n'\n\t\t\t} catch (e) {\n\t\t\t\tonError(`Error getting JSON output: ${e.message}`)\n\t\t\t\tconsole.error(e)\n\t\t\t\tsource.current.value = ''\n\t\t\t}\n\t\t}\n\t})\n\n\tuseModel(model, () => {\n\t\tretransform.current()\n\t})\n\tuseEffect(() => {\n\t\tif (model) retransform.current()\n\t}, [model])\n\n\tuseEffect(() => {\n\t\tretransform.current()\n\t}, [indent])\n\n\tconst onImport = () => {\n\t\ttry {\n\t\t\tconst data = JSON.parse(source.current.value)\n\t\t\tmodel?.reset(data, false)\n\t\t} catch (e) {\n\t\t\tonError(`Error importing: ${e.message}`)\n\t\t}\n\t}\n\n\tuseEffect(() => {\n\t\tif (doCopy && source.current) {\n\t\t\tsource.current.select()\n\t\t\tdocument.execCommand('copy')\n\t\t}\n\t}, [doCopy])\n\n\tuseEffect(() => {\n\t\tif (doDownload && source.current && download.current) {\n\t\t\tconst content = encodeURIComponent(source.current.value)\n\t\t\tdownload.current.setAttribute('href', `data:text/json;charset=utf-8,${content}`)\n\t\t\tdownload.current.setAttribute('download', `${name}.json`)\n\t\t\tdownload.current.click()\n\t\t}\n\t}, [doDownload])\n\n\tuseEffect(() => {\n\t\tif (doImport && source.current) {\n\t\t\tsource.current.value = ''\n\t\t\tsource.current.select()\n\t\t}\n\t}, [doImport])\n\n\tconst changeIndent = (value: string) => {\n\t\tStore.setIndent(value)\n\t\tsetIndent(value)\n\t}\n\n\treturn <> \n\t\t
\n\t\t\t\n\t\t\t\t{Object.entries(INDENT).map(([key]) =>\n\t\t\t\t\t changeIndent(key)}/>\n\t\t\t\t)}\n\t\t\t\n\t\t
\n\t\t\n\t\t\n\t\n}\n","import type { ComponentChildren } from 'preact'\nimport { Icons } from './Icons'\n\ntype ToolCardProps = {\n\ttitle: string,\n\tlink: string,\n\ticon?: keyof typeof Icons,\n\tchildren?: ComponentChildren,\n}\nexport function ToolCard({ title, link, icon, children }: ToolCardProps) {\n\treturn \n\t\t{icon && Icons[icon]}\n\t\t
\n\t\t\t

{title}

\n\t\t\t{children}\n\t\t
\n\t
\n}\n","import type { BooleanHookParams, EnumOption, Hook, INode, NumberHookParams, StringHookParams, ValidationOption } from '@mcschema/core'\nimport { DataModel, MapNode, ModelPath, ObjectNode, Path, relativePath, StringNode } from '@mcschema/core'\nimport type { ComponentChildren, JSX } from 'preact'\nimport { Octicon } from '../components/Octicon'\nimport { useFocus } from '../hooks'\nimport { locale } from '../Locales'\nimport type { BlockStateRegistry } from '../Schemas'\nimport { hexId } from '../Utils'\n\nconst selectRegistries = ['loot_table.type', 'loot_entry.type', 'function.function', 'condition.condition', 'criterion.trigger', 'dimension.generator.type', 'dimension.generator.biome_source.type', 'carver.type', 'feature.type', 'decorator.type', 'feature.tree.minimum_size.type', 'block_state_provider.type', 'trunk_placer.type', 'foliage_placer.type', 'tree_decorator.type', 'int_provider.type', 'float_provider.type', 'height_provider.type', 'structure_feature.type', 'surface_builder.type', 'processor.processor_type', 'rule_test.predicate_type', 'pos_rule_test.predicate_type', 'template_element.element_type', 'block_placer.type']\nconst hiddenFields = ['number_provider.type', 'score_provider.type', 'nbt_provider.type', 'int_provider.type', 'float_provider.type', 'height_provider.type']\nconst flattenedFields = ['feature.config', 'decorator.config', 'int_provider.value', 'float_provider.value', 'block_state_provider.simple_state_provider.state', 'block_state_provider.rotated_block_provider.state', 'block_state_provider.weighted_state_provider.entries.entry.data', 'rule_test.block_state', 'structure_feature.config', 'surface_builder.config', 'template_pool.elements.entry.element']\nconst inlineFields = ['loot_entry.type', 'function.function', 'condition.condition', 'criterion.trigger', 'dimension.generator.type', 'dimension.generator.biome_source.type', 'feature.type', 'decorator.type', 'block_state_provider.type', 'feature.tree.minimum_size.type', 'trunk_placer.type', 'foliage_placer.type', 'tree_decorator.type', 'block_placer.type', 'rule_test.predicate_type', 'processor.processor_type', 'template_element.element_type', 'nbt_operation.op', 'number_provider.value', 'score_provider.name', 'score_provider.target', 'nbt_provider.source', 'nbt_provider.target']\nconst nbtFields = ['function.set_nbt.tag', 'advancement.display.icon.nbt', 'text_component_object.nbt', 'entity.nbt', 'block.nbt', 'item.nbt']\n\n/**\n * Secondary model used to remember the keys of a map\n */\nconst keysModel = new DataModel(MapNode(\n\tStringNode(),\n\tStringNode()\n), { historyMax: 0 })\n\ntype JSXTriple = [JSX.Element | null, JSX.Element | null, JSX.Element | null]\ntype RenderHook = Hook<[any, string, BlockStateRegistry], JSXTriple>\n\ntype NodeProps = T & { node: INode } & { path: ModelPath } & { value: any} & { lang: string } & { states: BlockStateRegistry }\n\n/**\n * Renders the node and handles events to update the model\n * @returns string HTML representation of this node using the given data\n */\nexport const renderHtml: RenderHook = {\n\tbase() {\n\t\treturn [null, null, null]\n\t},\n\n\tboolean(params, path, value, lang, states) {\n\t\treturn [null, , null]\n\t},\n\n\tchoice({ choices, config, switchNode }, path, value, lang, states) {\n\t\tconst choice = switchNode.activeCase(path, true) as typeof choices[number]\n\t\tconst contextPath = (config?.context) ? new ModelPath(path.getModel(), new Path(path.getArray(), [config.context])) : path\n\t\tconst [prefix, suffix, body] = choice.node.hook(this, contextPath, value, lang, states)\n\t\tif (choices.length === 1) {\n\t\t\treturn [prefix, suffix, body]\n\t\t}\n\t\tconst choiceContextPath = config?.choiceContext ? new Path([], [config.choiceContext]) : config?.context ? new Path([], [config.context]) : path\n\t\tconst set = (value: string) => {\n\t\t\tconst c = choices.find(c => c.type === value) ?? choice\n\t\t\tconsole.log(c)\n\t\t\tpath.model.set(path, c.change ? c.change(value) : c.node.default())\n\t\t}\n\t\tconst inject = \n\t\treturn [prefix, <>{inject}{suffix}, body]\n\t},\n\n\tlist({ children }, path, value, lang, states) {\n\t\tconst onAdd = () => {\n\t\t\tif (!Array.isArray(value)) value = []\n\t\t\tpath.model.set(path, [children.default(), ...value])\n\t\t}\n\t\tconst onAddBottom = () => {\n\t\t\tif (!Array.isArray(value)) value = []\n\t\t\tpath.model.set(path, [...value, children.default()])\n\t\t}\n\t\tconst suffix = \n\t\tconst body = <>\n\t\t\t{(value && Array.isArray(value)) && value.map((cValue, index) => {\n\t\t\t\tconst cPath = path.push(index).contextPush('entry')\n\t\t\t\tconst onRemove = () => cPath.set(undefined)\n\t\t\t\tconst onMoveUp = () => {\n\t\t\t\t\tconst v = [...value];\n\t\t\t\t\t[v[index - 1], v[index]] = [v[index], v[index - 1]]\n\t\t\t\t\tpath.model.set(path, v)\n\t\t\t\t}\n\t\t\t\tconst onMoveDown = () => {\n\t\t\t\t\tconst v = [...value];\n\t\t\t\t\t[v[index + 1], v[index]] = [v[index], v[index + 1]]\n\t\t\t\t\tpath.model.set(path, v)\n\t\t\t\t}\n\t\t\t\treturn
\n\t\t\t\t\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t{value.length > 1 &&
\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t
}\n\t\t\t\t\t
\n\t\t\t\t
\n\t\t\t})}\n\t\t\t{(value && value.length > 2) &&
\n\t\t\t\t
\n\t\t\t\t\t\n\t\t\t\t
\n\t\t\t
}\n\t\t\n\t\treturn [null, suffix, body]\n\t},\n\n\tmap({ children, keys, config }, path, value, lang, states) {\n\t\tconst keyPath = new ModelPath(keysModel, new Path([hashString(path.toString())]))\n\t\tconst onAdd = () => {\n\t\t\tconst key = keyPath.get()\n\t\t\tpath.model.set(path.push(key), children.default())\n\t\t}\n\t\tconst blockState = config.validation?.validator === 'block_state_map' ? states?.[relativePath(path, config.validation.params.id).get()] : null\n\t\tconst keysSchema = blockState?.properties\n\t\t\t? StringNode(null!, { enum: Object.keys(blockState.properties ?? {}) })\n\t\t\t: keys\n\t\tif (blockState && path.last() === 'Properties') {\n\t\t\tif (typeof value !== 'object') value = {}\n\t\t\tconst properties = Object.entries(blockState.properties ?? {})\n\t\t\t\t.map(([key, values]) => [key, StringNode(null!, { enum: values })])\n\t\t\tObject.entries(blockState.properties ?? {}).forEach(([key, values]) => {\n\t\t\t\tif (typeof value[key] !== 'string') {\n\t\t\t\t\tpath.model.errors.add(path.push(key), 'error.expected_string')\n\t\t\t\t} else if (!values.includes(value[key])) {\n\t\t\t\t\tpath.model.errors.add(path.push(key), 'error.invalid_enum_option', value[key])\n\t\t\t\t}\n\t\t\t})\n\t\t\treturn ObjectNode(Object.fromEntries(properties)).hook(this, path, value, lang, states)\n\t\t}\n\t\tconst suffix = <>\n\t\t\t{keysSchema.hook(this, keyPath, keyPath.get() ?? '', lang, states)[1]}\n\t\t\t\n\t\t\n\t\tconst body = <>\n\t\t\t{typeof value === 'object' && Object.entries(value).map(([key, cValue]) => {\n\t\t\t\tconst cPath = path.modelPush(key)\n\t\t\t\tconst cSchema = blockState\n\t\t\t\t\t? StringNode(null!, { enum: blockState.properties?.[key] ?? [] })\n\t\t\t\t\t: children\n\t\t\t\tif (blockState?.properties?.[key] && typeof cValue === 'string'\n\t\t\t\t\t&& !blockState.properties?.[key].includes(cValue)) {\n\t\t\t\t\tpath.model.errors.add(cPath, 'error.invalid_enum_option', cValue)\n\t\t\t\t}\n\t\t\t\tconst onRemove = () => cPath.set(undefined)\n\t\t\t\treturn
\n\t\t\t\t\t\n\t\t\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t
\n\t\t\t})}\n\t\t\n\t\treturn [null, suffix, body]\n\t},\n\n\tnumber(params, path, value, lang, states) {\n\t\treturn [null, , null]\n\t},\n\n\tobject({ node, getActiveFields, getChildModelPath }, path, value, lang, states) {\n\t\tlet prefix: JSX.Element | null = null\n\t\tlet suffix: JSX.Element | null = null\n\t\tif (node.optional()) {\n\t\t\tif (value === undefined) {\n\t\t\t\tconst onExpand = () => path.set(node.default())\n\t\t\t\tsuffix = \n\t\t\t} else {\n\t\t\t\tconst onCollapse = () => path.set(undefined)\n\t\t\t\tsuffix = \n\t\t\t}\n\t\t}\n\t\tconst body = <>\n\t\t\t{(typeof value === 'object' && !(node.optional() && value === undefined)) &&\n\t\t\t\tObject.entries(getActiveFields(path))\n\t\t\t\t\t.filter(([_, child]) => child.enabled(path))\n\t\t\t\t\t.map(([key, child]) => {\n\t\t\t\t\t\tconst cPath = getChildModelPath(path, key)\n\t\t\t\t\t\tconst context = cPath.getContext().join('.')\n\t\t\t\t\t\tif (hiddenFields.includes(context)) return null\n\t\t\t\t\t\tconst [cPrefix, cSuffix, cBody] = child.hook(this, cPath, value[key], lang, states)\n\t\t\t\t\t\tif (!cPrefix && !cSuffix && !((cBody?.props?.children?.length ?? 0) > 0)) return null\n\t\t\t\t\t\tconst isFlattened = child.type(cPath) === 'object' && flattenedFields.includes(context)\n\t\t\t\t\t\tconst isInlined = inlineFields.includes(context)\n\t\t\t\t\t\tif (isFlattened || isInlined) {\n\t\t\t\t\t\t\tprefix = <>{prefix}{cPrefix}\n\t\t\t\t\t\t\tsuffix = <>{suffix}{cSuffix}\n\t\t\t\t\t\t\treturn isFlattened ? cBody : null\n\t\t\t\t\t\t}\n\t\t\t\t\t\treturn \n\t\t\t\t\t})\n\t\t\t}\n\t\t\n\t\treturn [prefix, suffix, body]\n\t},\n\n\tstring(params, path, value, lang, states) {\n\t\treturn [null, , null]\n\t},\n}\n\nfunction BooleanSuffix({ path, node, value, lang }: NodeProps) {\n\tconst set = (target: boolean) => {\n\t\tpath.model.set(path, node.optional() && value === target ? undefined : target)\n\t}\n\treturn <>\n\t\t\n\t\t\n\t\n}\n\nfunction NumberSuffix({ path, config, integer, value }: NodeProps) {\n\tconst onChange = (evt: Event) => {\n\t\tconst value = (evt.target as HTMLInputElement).value\n\t\tconst parsed = config?.color\n\t\t\t? parseInt(value.slice(1), 16)\n\t\t\t: integer ? parseInt(value) : parseFloat(value)\n\t\tpath.model.set(path, parsed)\n\t}\n\treturn \n}\n\nfunction StringSuffix({ path, getValues, config, node, value, lang, states }: NodeProps) {\n\tconst onChange = (evt: Event) => {\n\t\tconst newValue = (evt.target as HTMLSelectElement).value\n\t\tpath.model.set(path, newValue.length === 0 ? undefined : newValue)\n\t\tevt.stopPropagation()\n\t}\n\tconst values = getValues()\n\tconst context = path.getContext().join('.')\n\tif (nbtFields.includes(context)) {\n\t\treturn \n\t} else if ((isEnum(config) && !config.additional) || selectRegistries.includes(context)) {\n\t\tlet context = new Path([])\n\t\tif (isEnum(config) && typeof config.enum === 'string') {\n\t\t\tcontext = context.contextPush(config.enum)\n\t\t} else if (!isEnum(config) && config?.validator === 'resource' && typeof config.params.pool === 'string') {\n\t\t\tcontext = context.contextPush(config.params.pool)\n\t\t}\n\t\treturn \n\t} else if (!isEnum(config) && config?.validator === 'block_state_key') {\n\t\tconst blockState = states?.[relativePath(path, config.params.id).get()]\n\t\tconst values = Object.keys(blockState?.properties ?? {})\n\t\treturn \n\t} else {\n\t\tconst datalistId = hexId()\n\t\treturn <>\n\t\t\t 0 ? datalistId : ''} />\n\t\t\t{values.length > 0 && \n\t\t\t\t{values.map(v => }\n\t\t\n\t}\n}\n\ntype TreeNodeProps = {\n\tschema: INode,\n\tpath: ModelPath,\n\tvalue: any,\n\tlang: string,\n\tstates: BlockStateRegistry,\n\tcompare?: any,\n\tlabel?: string,\n\tchildren?: ComponentChildren,\n}\nfunction TreeNode({ label, schema, path, value, lang, states, children }: TreeNodeProps) {\n\tconst type = schema.type(path)\n\tconst category = schema.category(path)\n\tconst [prefix, suffix, body] = schema.hook(renderHtml, path, value, lang, states)\n\treturn
\n\t\t
\n\t\t\t\n\t\t\t\n\t\t\t{children}\n\t\t\t{prefix}\n\t\t\t\n\t\t\t{suffix}\n\t\t
\n\t\t{body &&
{body}
}\n\t
\n}\n\nfunction isEnum(value?: ValidationOption | EnumOption): value is EnumOption {\n\treturn !!(value as any)?.enum\n}\n\nfunction hashString(str: string) {\n\tvar hash = 0, i, chr\n\tfor (i = 0; i < str.length; i++) {\n\t\tchr = str.charCodeAt(i)\n\t\thash = ((hash << 5) - hash) + chr\n\t\thash |= 0\n\t}\n\treturn hash\n}\n\nfunction pathLocale(lang: string, path: Path, ...params: string[]) {\n\tconst ctx = path.getContext()\n\tfor (let i = 0; i < ctx.length; i += 1) {\n\t\tconst key = ctx.slice(i).join('.')\n\t\tconst result = locale(lang, key, ...params)\n\t\tif (key !== result) {\n\t\t\treturn result\n\t\t}\n\t}\n\treturn ctx[ctx.length - 1]\n}\n\nfunction ErrorPopup({ lang, path }: { lang: string, path: ModelPath }) {\n\tconst e = path.model.errors.get(path, true)\n\tif (e.length === 0) return null\n\tconst message = locale(lang, e[0].error, ...(e[0].params ?? []))\n\treturn popupIcon('node-error', 'issue_opened', message)\n}\n\nfunction HelpPopup({ lang, path }: { lang: string, path: Path }) {\n\tconst key = path.contextPush('help').getContext().join('.')\n\tconst message = locale(lang, key)\n\tif (message === key) return null\n\treturn popupIcon('node-help', 'info', message)\n}\n\nconst popupIcon = (type: string, icon: keyof typeof Octicon, popup: string) => {\n\tconst [active, setActive] = useFocus()\n\n\treturn
\n\t\t{Octicon[icon]}\n\t\t{popup}\n\t
\n}\n","import type { DataModel } from '@mcschema/core'\nimport { ModelPath } from '@mcschema/core'\nimport type { JSX } from 'preact'\nimport { useErrorBoundary, useMemo, useRef, useState } from 'preact/hooks'\nimport rfdc from 'rfdc'\nimport { useModel } from '../hooks'\nimport { renderHtml } from '../schema/renderHtml'\nimport type { BlockStateRegistry, VersionId } from '../Schemas'\nconst clone = rfdc()\n\ntype TreePanelProps = {\n\tlang: string,\n\tversion: VersionId,\n\tmodel: DataModel | null,\n\tblockStates: BlockStateRegistry | null,\n\tonError: (message: string) => unknown,\n}\nexport function Tree({ lang, model, blockStates, onError }: TreePanelProps) {\n\tif (!model || !blockStates) return <>\n\n\tconst [error] = useErrorBoundary(e => {\n\t\tonError(`Error rendering the tree: ${e.message}`)\n\t\tconsole.error(e)\n\t})\n\tif (error) return <>\n\n\tconst [state, setState] = useState(0)\n\tuseModel(model, () => {\n\t\tsetState(state => state + 1)\n\t})\n\n\tconst path = new ModelPath(model)\n\tconst tree = useRef(null)\n\tuseMemo(() => {\n\t\tconst [prefix, suffix, body] = model.schema.hook(renderHtml, path, clone(model.data), lang, blockStates)\n\t\ttree.current = suffix?.props?.children.some((c: any) => c) ?
\n\t\t\t
{prefix}{suffix}
\n\t\t\t
{body}
\n\t\t
: body\n\t}, [lang, model, blockStates, state])\n\n\treturn
{tree.current}
\n}\n","import { locale } from '../Locales'\n\ntype FieldSettingsProps = {\n\tlang: string,\n\tpath?: string,\n}\nexport function FieldSettings({ lang }: FieldSettingsProps) {\n\tconst loc = locale.bind(null, lang)\n\treturn
\n\t\t
\n\t\t\t

{loc('settings.fields.description')}

\n\t\t\t
    \n\t\t\t\t\n\t\t\t
\n\t\t
\n\t
\n}\n","import type { DataModel } from '@mcschema/core'\nimport { getCurrentUrl } from 'preact-router'\nimport { useEffect, useErrorBoundary, useState } from 'preact/hooks'\nimport config from '../../config.json'\nimport { Analytics } from '../Analytics'\nimport { Ad, Btn, BtnInput, BtnMenu, ErrorPanel, HasPreview, Octicon, PreviewPanel, SourcePanel, Tree } from '../components'\nimport { fetchPreset } from '../DataFetcher'\nimport { useModel } from '../hooks'\nimport { locale } from '../Locales'\nimport type { BlockStateRegistry, VersionId } from '../Schemas'\nimport { checkVersion, getBlockStates, getCollections, getModel } from '../Schemas'\nimport { getGenerator } from '../Utils'\n\ntype GeneratorProps = {\n\tlang: string,\n\tchangeTitle: (title: string, versions?: string[]) => unknown,\n\tversion: VersionId,\n\tonChangeVersion: (version: VersionId) => unknown,\n\tdefault?: true,\n}\nexport function Generator({ lang, changeTitle, version, onChangeVersion }: GeneratorProps) {\n\tconst loc = locale.bind(null, lang)\n\tconst [error, setError] = useState(null)\n\tconst [errorBoundary, errorRetry] = useErrorBoundary()\n\tif (errorBoundary) {\n\t\treturn
\n\t}\n\n\tconst gen = getGenerator(getCurrentUrl())\n\tif (!gen) {\n\t\treturn
\n\t}\n\n\tuseEffect(() => {\n\t\tsetError(null)\n\t}, [gen.id, version])\n\n\tconst allowedVersions = config.versions\n\t\t.filter(v => checkVersion(v.id, gen.minVersion))\n\t\t.map(v => v.id as VersionId)\n\n\tchangeTitle(loc('title.generator', loc(gen.id)), allowedVersions)\n\n\tif (!checkVersion(version, gen.minVersion)) {\n\t\tsetError(`The minimum version for this generator is ${gen.minVersion}`)\n\t}\n\n\tconst [model, setModel] = useState(null)\n\tconst [blockStates, setBlockStates] = useState(null)\n\tuseEffect(() => {\n\t\tsetModel(null)\n\t\tgetBlockStates(version)\n\t\t\t.then(b => setBlockStates(b))\n\t\tgetModel(version, gen.id)\n\t\t\t.then(m => setModel(m))\n\t\t\t.catch(e => { console.error(e); setError(e.message) })\n\t}, [version, gen.id])\n\n\tuseModel(model, () => {\n\t\tsetError(null)\n\t})\n\n\tconst reset = () => {\n\t\tAnalytics.generatorEvent('reset')\n\t\tmodel?.reset(model.schema.default(), true)\n\t}\n\tconst undo = (e: MouseEvent) => {\n\t\te.stopPropagation()\n\t\tAnalytics.generatorEvent('undo', 'Menu')\n\t\tmodel?.undo()\n\t}\n\tconst redo = (e: MouseEvent) => {\n\t\te.stopPropagation()\n\t\tAnalytics.generatorEvent('redo', 'Menu')\n\t\tmodel?.redo()\n\t}\n\n\tconst onKeyUp = (e: KeyboardEvent) => {\n\t\tif (e.ctrlKey && e.key === 'z') {\n\t\t\tAnalytics.generatorEvent('undo', 'Hotkey')\n\t\t\tmodel?.undo()\n\t\t} else if (e.ctrlKey && e.key === 'y') {\n\t\t\tAnalytics.generatorEvent('redo', 'Hotkey')\n\t\t\tmodel?.redo()\n\t\t}\n\t}\n\tuseEffect(() => {\n\t\tdocument.addEventListener('keyup', onKeyUp)\n\t\treturn () => {\n\t\t\tdocument.removeEventListener('keyup', onKeyUp)\n\t\t}\n\t}, [model])\n\n\tconst [presetFilter, setPresetFilter] = useState('')\n\tconst [presetResults, setPresetResults] = useState([])\n\tuseEffect(() => {\n\t\tgetCollections(version)\n\t\t\t.then(collections => {\n\t\t\t\tconst terms = (presetFilter ?? '').trim().split(' ')\n\t\t\t\tconst presets = collections.get(gen.id)\n\t\t\t\t\t.map(p => p.slice(10))\n\t\t\t\t\t.filter(p => terms.every(t => p.includes(t)))\n\t\t\t\tif (presets) {\n\t\t\t\t\tsetPresetResults(presets)\n\t\t\t\t}\n\t\t\t})\n\t\t\t.catch(e => { console.error(e); setError(e.message) })\n\t}, [version, gen.id, presetFilter])\n\n\tconst loadPreset = (id: string) => {\n\t\tAnalytics.generatorEvent('load-preset', id)\n\t\tfetchPreset(version, gen.path ?? gen.id, id).then(preset => {\n\t\t\tmodel?.reset(preset, false)\n\t\t})\n\t}\n\n\tconst [sourceShown, setSourceShown] = useState(window.innerWidth > 820)\n\tconst [doCopy, setCopy] = useState(0)\n\tconst [doDownload, setDownload] = useState(0)\n\tconst [doImport, setImport] = useState(0)\n\n\tconst copySource = () => {\n\t\tAnalytics.generatorEvent('copy')\n\t\tsetCopy(doCopy + 1)\n\t}\n\tconst downloadSource = () => {\n\t\tAnalytics.generatorEvent('download')\n\t\tsetDownload(doDownload + 1)\n\t}\n\tconst importSource = () => {\n\t\tAnalytics.generatorEvent('import')\n\t\tsetSourceShown(true)\n\t\tsetImport(doImport + 1)\n\t}\n\tconst toggleSource = () => {\n\t\tAnalytics.generatorEvent('toggle-output', !sourceShown ? 'visible' : 'hidden')\n\t\tsetSourceShown(!sourceShown)\n\t\tsetCopy(0)\n\t\tsetDownload(0)\n\t\tsetImport(0)\n\t}\n\n\tconst [previewShown, setPreviewShown] = useState(false)\n\n\tconst hasPreview = HasPreview.includes(gen.id)\n\tlet actionsShown = 1\n\tif (hasPreview) actionsShown += 1\n\tif (sourceShown) actionsShown += 2\n\n\tconst togglePreview = () => {\n\t\tAnalytics.generatorEvent('toggle-preview', !previewShown ? 'visible' : 'hidden')\n\t\tsetPreviewShown(!previewShown)\n\t}\n\n\treturn <>\n\t\t
\n\t\t\t\n\t\t\t
\n\t\t\t\t\n\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\t
\n\t\t\t\t\t\t{presetResults.map(preset => loadPreset(preset)} />)}\n\t\t\t\t\t
\n\t\t\t\t\t{presetResults.length === 0 && }\n\t\t\t\t
\n\t\t\t\t\n\t\t\t\t\t{allowedVersions.reverse().map(v =>\n\t\t\t\t\t\t onChangeVersion(v)} />\n\t\t\t\t\t)}\n\t\t\t\t\n\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\n\t\t\t
\n\t\t\t{error && setError(null)} />}\n\t\t\t\n\t\t
\n\t\t
\n\t\t\t
\n\t\t\t\t{previewShown ? Octicon.x_circle : Octicon.play}\n\t\t\t
\n\t\t\t
\n\t\t\t\t{Octicon.download}\n\t\t\t
\n\t\t\t
\n\t\t\t\t{Octicon.clippy}\n\t\t\t
\n\t\t\t
\n\t\t\t\t{sourceShown ? Octicon.chevron_right : Octicon.code}\n\t\t\t
\n\t\t
\n\t\t
\n\t\t\t\n\t\t
\n\t\t
\n\t\t\t\n\t\t
\n\t\n}\n","import config from '../../config.json'\nimport { ToolCard } from '../components'\nimport { locale } from '../Locales'\nimport { cleanUrl } from '../Utils'\n\ntype HomeProps = {\n\tlang: string,\n\tchangeTitle: (title: string) => unknown,\n\tpath?: string,\n}\nexport function Home({ lang, changeTitle }: HomeProps) {\n\tconst loc = locale.bind(null, lang)\n\tchangeTitle(loc('title.home'))\n\treturn
\n\t\t
\n\t\t\t{config.generators.filter(g => !g.category).map(g => \n\t\t\t\t\n\t\t\t)}\n\t\t\t\n\t\t\t
\n\t\t\t\n\t\t\t\t

Analyse your performance reports

\n\t\t\t
\n\t\t\t\n\t\t\t\t

Browse through and mix all the vanilla sounds

\n\t\t\t
\n\t\t\t\n\t\t\t\t

Convert your 1.16 data packs to 1.17

\n\t\t\t
\n\t\t
\n\t
\n}\n","import config from '../../config.json'\nimport { ToolCard } from '../components'\nimport { locale } from '../Locales'\nimport { cleanUrl } from '../Utils'\n\ntype WorldgenProps = {\n\tlang: string,\n\tchangeTitle: (title: string) => unknown,\n\tpath?: string,\n}\nexport function Worldgen({ lang, changeTitle }: WorldgenProps) {\n\tconst loc = locale.bind(null, lang)\n\tchangeTitle(loc('title.generator_category', loc('worldgen')))\n\treturn
\n\t\t
\n\t\t\t{config.generators.filter(g => g.category === 'worldgen').map(g => \n\t\t\t\t\n\t\t\t)}\n\t\t
\n\t
\n}\n","import { render } from 'preact'\nimport type { RouterOnChangeArgs } from 'preact-router'\nimport { Router } from 'preact-router'\nimport { useEffect, useState } from 'preact/hooks'\nimport '../styles/global.css'\nimport '../styles/nodes.css'\nimport { Analytics } from './Analytics'\nimport { Header } from './components'\nimport { loadLocale, locale, Locales } from './Locales'\nimport { FieldSettings, Generator, Home, Worldgen } from './pages'\nimport type { VersionId } from './Schemas'\nimport { Store } from './Store'\nimport { cleanUrl } from './Utils'\n\nfunction Main() {\n\tconst [lang, setLanguage] = useState('en')\n\tconst changeLanguage = async (language: string) => {\n\t\tif (!Locales[language]) {\n\t\t\tawait loadLocale(language)\n\t\t}\n\t\tAnalytics.setLanguage(language)\n\t\tStore.setLanguage(language)\n\t\tsetLanguage(language)\n\t}\n\tuseEffect(() => {\n\t\t(async () => {\n\t\t\tconst target = Store.getLanguage()\n\t\t\tawait Promise.all([\n\t\t\t\tloadLocale('en'),\n\t\t\t\t...(target !== 'en' ? [loadLocale(target)] : []),\n\t\t\t])\n\t\t\tsetLanguage(target)\n\t\t})()\n\t}, [])\n\n\tconst [theme, setTheme] = useState(Store.getTheme())\n\tconst changeTheme = (theme: string) => {\n\t\tAnalytics.setTheme(theme)\n\t\tStore.setTheme(theme)\n\t\tsetTheme(theme)\n\t}\n\tuseEffect(() => {\n\t\tdocument.documentElement.setAttribute('data-theme', theme)\n\t}, [theme])\n\n\tconst [version, setVersion] = useState(Store.getVersion())\n\tconst changeVersion = (version: VersionId) => {\n\t\tAnalytics.setVersion(version)\n\t\tStore.setVersion(version)\n\t\tsetVersion(version)\n\t}\n\n\tconst [title, setTitle] = useState(locale(lang, 'title.home'))\n\tconst changeTitle = (title: string, versions = ['1.15', '1.16', '1.17']) => {\n\t\tdocument.title = `${title} Minecraft ${versions.join(', ')}`\n\t\tsetTitle(title)\n\t}\n\n\tconst changeRoute = (e: RouterOnChangeArgs) => {\n\t\t// Needs a timeout to ensure the title is set correctly\n\t\tsetTimeout(() => Analytics.pageview(cleanUrl(e.url)))\n\t}\n\n\treturn <>\n\t\t
\n\t\t\n\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t\n\t\t\n\t\n}\n\nrender(
, document.body)\n"],"names":["Analytics","type","id","getElementById","remove","window","load","data-ea-publisher","data-ea-type","class","icon","label","active","class_","onClick","Octicon","large","doSelect","value","onChange","onInput","e","value2","target","endsWith","isNaN","Number","ref","useRef","current","select","stopPropagation","setActive","useState","hider","body","addEventListener","removeEventListener","model","invalidated","listener","[object Object]","addListener","removeListener","element","drag","request","dragStart","pending","onMouseDown","offsetX","offsetY","onMouseMove","dx","dy","requestAnimationFrame","onMouseUp","_e","relative","children","useFocus","Btn","Analytics2","ID_SITE","ID_GENERATOR","category","action","index","pageview","page","setLanguage","language","setTheme","theme","setVersion","version","setPreview","preview","generatorEvent","archive","xmlns","viewBox","width","height","fill-rule","d","arrow_left","arrow_right","chevron_down","chevron_right","chevron_up","clippy","code","dash","device_desktop","download","eye","eye_closed","gear","globe","history","info","issue_opened","kebab_horizontal","link","mark_github","moon","play","plus","plus_circle","search","sun","sync","tag","three_bars","trashcan","unfold","upload","x","x_circle","error","onDismiss","href","scriptRel","seen","__vitePreload","baseModule","deps","relList","document","createElement","supports","Promise","all","map","dep","isCss","cssSelector","querySelector","rel","as","crossOrigin","head","appendChild","res","rej","then","Locales","fallback","English","key","params","replace","parseInt","match","slice","resolveLocaleParams","en","langConfig","config","languages","find","lang","data","__variableDynamicImportRuntime0__","schema","schemas","__variableDynamicImportRuntime1__","__spreadValues","default","forEach","localStorage","removeItem","v","mcdataUrl","vanillaDatapackUrl","refs","hash","url","versionId","collectionTarget","blockStateTarget","versions","debug","JSON","stringify","dynamic","filter","getItem","r","async","matches","cache","caches","open","promises","keys","push","delete","length","warn","message","deleteMatching","startsWith","setItem","fetchRegistries","fetchBlockStateMap","fetchDynamicRegistries","registries","checkVersion","minVersion","maxVersion","mcdata_master","getData","data2","k","Object","entries","register","path","values","b","properties","states","s2","assign","vanilla_datapack_summary","fn","cacheResponse","ok","json","fetchResponse","fetch","responseData","put","Response","VersionIds","Versions","Models","versionGetter","1.15","java15","1.16","java16","1.17","java17","collections","getCollections","blockStates","fetchData","getSchemas","Error","minVersionId","maxVersionId","findIndex","dec2hex","dec","toString","substr","arr","Uint8Array","crypto","getRandomValues","Array","from","join","replaceAll","trimmedUrl","generators","g","str","h","Math","abs","i","imul","charCodeAt","hashString","a2","c","max","min","lerp","d2","f","Themes","system","dark","light","title","changeTheme","changeLanguage","loc","locale","bind","gen","getGenerator","getCurrentUrl","Link","Icons","home","BtnMenu","route","cleanUrl","name","th","fill","rx","y","report","sounds","cx","cy","clip-rule","random","xo","yo","zo","p","n","int32","this","y2","z","x2","y22","z2","x3","floor","y3","z3","x4","y4","z4","x5","smoothstep","y5","z5","y6","sampleAndLerp","grad","_ImprovedNoise","GRADIENT","j","P","l2","m","o","lerp2","lerp3","gradDot","ImprovedNoise","seed","firstOctave","amplitudes","noiseLevels","seedrandom","lowestFreqInputFactor","pow","lowestFreqValueFactor","PerlinNoise","fixY","inputF","valueF","noise","wrap","first","second","Infinity","expectedDeviation","valueFactor","getValue","NoiseMaps","state","img","options","preset","NetherPreset","config2","NormalNoise","biomeColorCache","biomes","biome","getBiomeColor","biomeColors","ox","offset","oy","row","col","xx","scale","yy","closestBiome","color","multiNoise","fixed","shift","numBiomes","checkerboard","VanillaColors","stringToColor","isArray","n2","minDist","minBiome","dist","fitness","parameters","altitude","temperature","humidity","weirdness","minecraft:badlands","minecraft:badlands_plateau","minecraft:bamboo_jungle","minecraft:bamboo_jungle_hills","minecraft:basalt_deltas","minecraft:beach","minecraft:birch_forest","minecraft:birch_forest_hills","minecraft:cold_ocean","minecraft:crimson_forest","minecraft:dark_forest","minecraft:dark_forest_hills","minecraft:deep_cold_ocean","minecraft:deep_frozen_ocean","minecraft:deep_lukewarm_ocean","minecraft:deep_ocean","minecraft:deep_warm_ocean","minecraft:desert","minecraft:desert_hills","minecraft:desert_lakes","minecraft:end_barrens","minecraft:end_highlands","minecraft:end_midlands","minecraft:eroded_badlands","minecraft:flower_forest","minecraft:forest","minecraft:frozen_ocean","minecraft:frozen_river","minecraft:giant_spruce_taiga","minecraft:giant_spruce_taiga_hills","minecraft:giant_tree_taiga","minecraft:giant_tree_taiga_hills","minecraft:gravelly_mountains","minecraft:ice_spikes","minecraft:jungle","minecraft:jungle_edge","minecraft:jungle_hills","minecraft:lukewarm_ocean","minecraft:modified_badlands_plateau","minecraft:modified_gravelly_mountains","minecraft:modified_jungle","minecraft:modified_jungle_edge","minecraft:modified_wooded_badlands_plateau","minecraft:mountain_edge","minecraft:mountains","minecraft:mushroom_field_shore","minecraft:mushroom_fields","minecraft:nether_wastes","minecraft:ocean","minecraft:plains","minecraft:river","minecraft:savanna","minecraft:savanna_plateau","minecraft:shattered_savanna","minecraft:shattered_savanna_plateau","minecraft:small_end_islands","minecraft:snowy_beach","minecraft:snowy_mountains","minecraft:snowy_taiga","minecraft:snowy_taiga_hills","minecraft:snowy_taiga_mountains","minecraft:snowy_tundra","minecraft:soul_sand_valley","minecraft:stone_shore","minecraft:sunflower_plains","minecraft:swamp","minecraft:swamp_hills","minecraft:taiga","minecraft:taiga_hills","minecraft:taiga_mountains","minecraft:tall_birch_forest","minecraft:tall_birch_hills","minecraft:the_end","minecraft:the_void","minecraft:warm_ocean","minecraft:warped_forest","minecraft:wooded_badlands_plateau","minecraft:wooded_hills","minecraft:wooded_mountains","altitude_noise","temperature_noise","humidity_noise","weirdness_noise","terrain","featureColors","pos","ctx","base","nextInt","spread","normalize","min_inclusive","max_inclusive","sampleInt","source","features","indexOf","feature","placements","useFeature","featureFn","Features","decorator2","decoratorFn","Decorators","decorated","getPositions","decorator","getPlacements","random_boolean_selector","feature_true","feature_false","random_selector","chance","simple_random_selector","count","count_extra","extra_chance","extra_count","count_multilayer","count_noise","biomeInfoNoise","noise_level","below_noise","above_noise","count_noise_biased","factor","noise_factor","ceil","noise_offset","noise_to_count_ratio","dark_oak_tree","_config","_","seaLevel","clamp","outer","flatMap","inner","depth_average","decorateY","baseline","emerald_ore","fire","glowstone","heightmap","heightmap_spread_double","heightmap_world_surface","iceberg","lava_lake","nope","range","maximum","top_offset","bottom_offset","range_biased","range_very_biased","spread_32_above","top_solid_heightmap","magma","square","water_lake","minLimitPerlinNoise","fromRange","maxLimitPerlinNoise","mainPerlinNoise","depthNoise","settings","depth","xOffset","chunkWidth","size_horizontal","chunkHeight","size_vertical","chunkCountY","amplified","biomeDepth","biomeScale","noiseColumnCache","noise1","fillNoiseColumn","noise2","cachedColumn","xzScale","sampling","xz_scale","yScale","y_scale","xzFactor","xz_factor","yFactor","y_factor","randomDensity","random_density_offset","getRandomDensity","sampleAndClampNoise","getOctaveNoise","falloff","density_factor","density_offset","top_slide","size","clampedLerp","bottom_slide","minLimitNoise","maxLimitNoise","mainNoise","HasPreview","Previews","generator","Path","predicate","get","shown","setScale","setSeed","hexId","focused","setFocused","canvas","redrawTimeout","redraw","refocus","getContext","createImageData","putImageData","setTimeout","clientWidth","clientHeight","toWorld","getBiome","hover","onMouseLeave","changeScale","newScale","setBiomeDepth","setBiomeScale","NoiseChunkGenerator","reset","iterateNoiseColumn","reverse","getColor","BtnInput","setCount","transformOutput","switchNode","props","hook","obj","blockState","validation","validator","relativePath","includes","getActiveFields","activeFields","enabled","Store","Store2","getLanguage","getTheme","getVersion","getIndent","setIndent","indent","INDENT","2_spaces","4_spaces","tabs","doCopy","doDownload","doImport","onError","retransform","ModelPath","execCommand","content","encodeURIComponent","setAttribute","click","changeIndent","parse","spellcheck","autocorrect","placeholder","style","selectRegistries","hiddenFields","flattenedFields","inlineFields","nbtFields","keysModel","DataModel","MapNode","StringNode","historyMax","renderHtml","boolean","BooleanSuffix","__spreadProps","choices","choice","activeCase","contextPath","context","getModel","getArray","prefix","suffix","node","choiceContextPath","choiceContext","inject","c2","log","set","change","pathLocale","contextPush","list","cValue","cPath","TreeNode","disabled","keyPath","keysSchema","enum","last","errors","add","ObjectNode","fromEntries","modelPush","cSchema","number","NumberSuffix","getChildModelPath","optional","child","cPrefix","cSuffix","cBody","isFlattened","isInlined","ErrorPopup","HelpPopup","string","StringSuffix","integer","evt","parsed","parseFloat","padStart","getValues","newValue","isEnum","additional","context2","pool","datalistId","values2","data-category","result","popupIcon","popup","clone","rfdc","useErrorBoundary","setState","state2","tree","some","changeTitle","onChangeVersion","setError","errorBoundary","errorRetry","ErrorPanel","allowedVersions","setModel","setBlockStates","versionData","schemaName","validate","catch","onKeyUp","ctrlKey","undo","redo","presetFilter","setPresetFilter","presetResults","setPresetResults","terms","trim","split","presets","every","t","loadPreset","registry","vanilla_datapack_data","sourceShown","setSourceShown","innerWidth","setCopy","setDownload","setImport","previewShown","setPreviewShown","hasPreview","actionsShown","Ad","Tree","PreviewPanel","SourcePanel","ToolCard","loadLocale","documentElement","setTitle","title2","Header","theme2","Router","Home","FieldSettings","Worldgen","Generator","version2","render","Main"],"mappings":"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"} \ No newline at end of file diff --git a/assets/index.f9905724.js b/assets/index.f9905724.js deleted file mode 100644 index 9fddd577..00000000 --- a/assets/index.f9905724.js +++ /dev/null @@ -1,2 +0,0 @@ -var e=Object.defineProperty,t=Object.defineProperties,n=Object.getOwnPropertyDescriptors,o=Object.getOwnPropertySymbols,r=Object.prototype.hasOwnProperty,i=Object.prototype.propertyIsEnumerable,a=(t,n,o)=>n in t?e(t,n,{enumerable:!0,configurable:!0,writable:!0,value:o}):t[n]=o,s=(e,t)=>{for(var n in t||(t={}))r.call(t,n)&&a(e,n,t[n]);if(o)for(var n of o(t))i.call(t,n)&&a(e,n,t[n]);return e},l=(e,o)=>t(e,n(o));import{y as c,a as d,s as u,l as h,b as m,j as g,c as p,d as f,g as v,L as _,r as w,e as b,f as y,q as $,N as k,R as C}from"./vendor.57c081fd.js";var x;function V({type:e,id:t}){return c((()=>{var e;null==(e=document.getElementById("ad-placeholder"))||e.remove(),"ethicalads"in window&ðicalads.load()}),[]),d("div",{"data-ea-publisher":"misode-github-io","data-ea-type":e,class:"ad dark flat",id:t})}function z({icon:e,label:t,active:n,class:o,onClick:r}){return d("div",{class:`btn${n?" active":""}${o?` ${o}`:""}`,onClick:r},e&&A[e],t&&d("span",null,t))}function E({icon:e,label:t,large:n,type:o,doSelect:r,value:i,onChange:a}){const s=void 0===a?()=>{}:e=>{const t=e.target.value;"number"===o&&(t.endsWith(".")||isNaN(Number(t)))||null==a||a(t)},l=u(null);return c((()=>{r&&l.current&&l.current.select()}),[r]),d("div",{class:"btn btn-input "+(n?"large-input":""),onClick:e=>e.stopPropagation()},e&&A[e],t&&d("span",null,t),d("input",{ref:l,type:"text",value:i,onKeyUp:s}))}function M({icon:e,label:t,relative:n,children:o}){const[r,i]=h(!1),a=()=>{i(!1)};return c((()=>(r&&document.body.addEventListener("click",a),()=>{document.body.removeEventListener("click",a)})),[r]),d("div",{class:"btn-menu"+(!1===n?" no-relative":"")},d(z,{icon:e,label:t,onClick:()=>i(!0)}),r&&d("div",{class:"btn-group"},o))}!function(e){const t="Site",n="Generator";function o(e,t,n){ga("send","event",e,t,n)}function r(e,t){ga("set",`dimension${e}`,t)}e.pageview=function(e){ga("set","page",e),ga("send","pageview")},e.setLanguage=function(e){r(4,e),o(t,"set-language",e)},e.setTheme=function(e){r(1,e),o(t,"set-theme",e)},e.setVersion=function(e){r(3,e),o(n,"set-version",e)},e.setPreview=function(e){r(5,e),o(n,"set-preview",e)},e.generatorEvent=function(e,t){o(n,e,t)}}(x||(x={}));const A={archive:d("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 16 16",width:"16",height:"16"},d("path",{"fill-rule":"evenodd",d:"M1.75 2.5a.25.25 0 00-.25.25v1.5c0 .138.112.25.25.25h12.5a.25.25 0 00.25-.25v-1.5a.25.25 0 00-.25-.25H1.75zM0 2.75C0 1.784.784 1 1.75 1h12.5c.966 0 1.75.784 1.75 1.75v1.5A1.75 1.75 0 0114.25 6H1.75A1.75 1.75 0 010 4.25v-1.5zM1.75 7a.75.75 0 01.75.75v5.5c0 .138.112.25.25.25h10.5a.25.25 0 00.25-.25v-5.5a.75.75 0 111.5 0v5.5A1.75 1.75 0 0113.25 15H2.75A1.75 1.75 0 011 13.25v-5.5A.75.75 0 011.75 7zm4.5 1a.75.75 0 000 1.5h3.5a.75.75 0 100-1.5h-3.5z"})),arrow_left:d("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 16 16",width:"16",height:"16"},d("path",{"fill-rule":"evenodd",d:"M7.78 12.53a.75.75 0 01-1.06 0L2.47 8.28a.75.75 0 010-1.06l4.25-4.25a.75.75 0 011.06 1.06L4.81 7h7.44a.75.75 0 010 1.5H4.81l2.97 2.97a.75.75 0 010 1.06z"})),arrow_right:d("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 16 16",width:"16",height:"16"},d("path",{"fill-rule":"evenodd",d:"M8.22 2.97a.75.75 0 011.06 0l4.25 4.25a.75.75 0 010 1.06l-4.25 4.25a.75.75 0 01-1.06-1.06l2.97-2.97H3.75a.75.75 0 010-1.5h7.44L8.22 4.03a.75.75 0 010-1.06z"})),chevron_down:d("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 16 16",width:"16",height:"16"},d("path",{"fill-rule":"evenodd",d:"M12.78 6.22a.75.75 0 010 1.06l-4.25 4.25a.75.75 0 01-1.06 0L3.22 7.28a.75.75 0 011.06-1.06L8 9.94l3.72-3.72a.75.75 0 011.06 0z"})),chevron_right:d("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 16 16",width:"16",height:"16"},d("path",{"fill-rule":"evenodd",d:"M6.22 3.22a.75.75 0 011.06 0l4.25 4.25a.75.75 0 010 1.06l-4.25 4.25a.75.75 0 01-1.06-1.06L9.94 8 6.22 4.28a.75.75 0 010-1.06z"})),clippy:d("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 16 16",width:"16",height:"16"},d("path",{"fill-rule":"evenodd",d:"M5.75 1a.75.75 0 00-.75.75v3c0 .414.336.75.75.75h4.5a.75.75 0 00.75-.75v-3a.75.75 0 00-.75-.75h-4.5zm.75 3V2.5h3V4h-3zm-2.874-.467a.75.75 0 00-.752-1.298A1.75 1.75 0 002 3.75v9.5c0 .966.784 1.75 1.75 1.75h8.5A1.75 1.75 0 0014 13.25v-9.5a1.75 1.75 0 00-.874-1.515.75.75 0 10-.752 1.298.25.25 0 01.126.217v9.5a.25.25 0 01-.25.25h-8.5a.25.25 0 01-.25-.25v-9.5a.25.25 0 01.126-.217z"})),code:d("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 16 16",width:"16",height:"16"},d("path",{"fill-rule":"evenodd",d:"M4.72 3.22a.75.75 0 011.06 1.06L2.06 8l3.72 3.72a.75.75 0 11-1.06 1.06L.47 8.53a.75.75 0 010-1.06l4.25-4.25zm6.56 0a.75.75 0 10-1.06 1.06L13.94 8l-3.72 3.72a.75.75 0 101.06 1.06l4.25-4.25a.75.75 0 000-1.06l-4.25-4.25z"})),dash:d("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 16 16",width:"16",height:"16"},d("path",{"fill-rule":"evenodd",d:"M2 8a.75.75 0 01.75-.75h10.5a.75.75 0 010 1.5H2.75A.75.75 0 012 8z"})),device_desktop:d("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 16 16",width:"16",height:"16"},d("path",{"fill-rule":"evenodd",d:"M1.75 2.5h12.5a.25.25 0 01.25.25v7.5a.25.25 0 01-.25.25H1.75a.25.25 0 01-.25-.25v-7.5a.25.25 0 01.25-.25zM14.25 1H1.75A1.75 1.75 0 000 2.75v7.5C0 11.216.784 12 1.75 12h3.727c-.1 1.041-.52 1.872-1.292 2.757A.75.75 0 004.75 16h6.5a.75.75 0 00.565-1.243c-.772-.885-1.193-1.716-1.292-2.757h3.727A1.75 1.75 0 0016 10.25v-7.5A1.75 1.75 0 0014.25 1zM9.018 12H6.982a5.72 5.72 0 01-.765 2.5h3.566a5.72 5.72 0 01-.765-2.5z"})),download:d("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 16 16",width:"16",height:"16"},d("path",{"fill-rule":"evenodd",d:"M7.47 10.78a.75.75 0 001.06 0l3.75-3.75a.75.75 0 00-1.06-1.06L8.75 8.44V1.75a.75.75 0 00-1.5 0v6.69L4.78 5.97a.75.75 0 00-1.06 1.06l3.75 3.75zM3.75 13a.75.75 0 000 1.5h8.5a.75.75 0 000-1.5h-8.5z"})),eye:d("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 16 16",width:"16",height:"16"},d("path",{"fill-rule":"evenodd",d:"M1.679 7.932c.412-.621 1.242-1.75 2.366-2.717C5.175 4.242 6.527 3.5 8 3.5c1.473 0 2.824.742 3.955 1.715 1.124.967 1.954 2.096 2.366 2.717a.119.119 0 010 .136c-.412.621-1.242 1.75-2.366 2.717C10.825 11.758 9.473 12.5 8 12.5c-1.473 0-2.824-.742-3.955-1.715C2.92 9.818 2.09 8.69 1.679 8.068a.119.119 0 010-.136zM8 2c-1.981 0-3.67.992-4.933 2.078C1.797 5.169.88 6.423.43 7.1a1.619 1.619 0 000 1.798c.45.678 1.367 1.932 2.637 3.024C4.329 13.008 6.019 14 8 14c1.981 0 3.67-.992 4.933-2.078 1.27-1.091 2.187-2.345 2.637-3.023a1.619 1.619 0 000-1.798c-.45-.678-1.367-1.932-2.637-3.023C11.671 2.992 9.981 2 8 2zm0 8a2 2 0 100-4 2 2 0 000 4z"})),eye_closed:d("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 16 16",width:"16",height:"16"},d("path",{"fill-rule":"evenodd",d:"M.143 2.31a.75.75 0 011.047-.167l14.5 10.5a.75.75 0 11-.88 1.214l-2.248-1.628C11.346 13.19 9.792 14 8 14c-1.981 0-3.67-.992-4.933-2.078C1.797 10.832.88 9.577.43 8.9a1.618 1.618 0 010-1.797c.353-.533.995-1.42 1.868-2.305L.31 3.357A.75.75 0 01.143 2.31zm3.386 3.378a14.21 14.21 0 00-1.85 2.244.12.12 0 00-.022.068c0 .021.006.045.022.068.412.621 1.242 1.75 2.366 2.717C5.175 11.758 6.527 12.5 8 12.5c1.195 0 2.31-.488 3.29-1.191L9.063 9.695A2 2 0 016.058 7.52l-2.53-1.832zM8 3.5c-.516 0-1.017.09-1.499.251a.75.75 0 11-.473-1.423A6.23 6.23 0 018 2c1.981 0 3.67.992 4.933 2.078 1.27 1.091 2.187 2.345 2.637 3.023a1.619 1.619 0 010 1.798c-.11.166-.248.365-.41.587a.75.75 0 11-1.21-.887c.148-.201.272-.382.371-.53a.119.119 0 000-.137c-.412-.621-1.242-1.75-2.366-2.717C10.825 4.242 9.473 3.5 8 3.5z"})),gear:d("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 16 16",width:"16",height:"16"},d("path",{"fill-rule":"evenodd",d:"M7.429 1.525a6.593 6.593 0 011.142 0c.036.003.108.036.137.146l.289 1.105c.147.56.55.967.997 1.189.174.086.341.183.501.29.417.278.97.423 1.53.27l1.102-.303c.11-.03.175.016.195.046.219.31.41.641.573.989.014.031.022.11-.059.19l-.815.806c-.411.406-.562.957-.53 1.456a4.588 4.588 0 010 .582c-.032.499.119 1.05.53 1.456l.815.806c.08.08.073.159.059.19a6.494 6.494 0 01-.573.99c-.02.029-.086.074-.195.045l-1.103-.303c-.559-.153-1.112-.008-1.529.27-.16.107-.327.204-.5.29-.449.222-.851.628-.998 1.189l-.289 1.105c-.029.11-.101.143-.137.146a6.613 6.613 0 01-1.142 0c-.036-.003-.108-.037-.137-.146l-.289-1.105c-.147-.56-.55-.967-.997-1.189a4.502 4.502 0 01-.501-.29c-.417-.278-.97-.423-1.53-.27l-1.102.303c-.11.03-.175-.016-.195-.046a6.492 6.492 0 01-.573-.989c-.014-.031-.022-.11.059-.19l.815-.806c.411-.406.562-.957.53-1.456a4.587 4.587 0 010-.582c.032-.499-.119-1.05-.53-1.456l-.815-.806c-.08-.08-.073-.159-.059-.19a6.44 6.44 0 01.573-.99c.02-.029.086-.075.195-.045l1.103.303c.559.153 1.112.008 1.529-.27.16-.107.327-.204.5-.29.449-.222.851-.628.998-1.189l.289-1.105c.029-.11.101-.143.137-.146zM8 0c-.236 0-.47.01-.701.03-.743.065-1.29.615-1.458 1.261l-.29 1.106c-.017.066-.078.158-.211.224a5.994 5.994 0 00-.668.386c-.123.082-.233.09-.3.071L3.27 2.776c-.644-.177-1.392.02-1.82.63a7.977 7.977 0 00-.704 1.217c-.315.675-.111 1.422.363 1.891l.815.806c.05.048.098.147.088.294a6.084 6.084 0 000 .772c.01.147-.038.246-.088.294l-.815.806c-.474.469-.678 1.216-.363 1.891.2.428.436.835.704 1.218.428.609 1.176.806 1.82.63l1.103-.303c.066-.019.176-.011.299.071.213.143.436.272.668.386.133.066.194.158.212.224l.289 1.106c.169.646.715 1.196 1.458 1.26a8.094 8.094 0 001.402 0c.743-.064 1.29-.614 1.458-1.26l.29-1.106c.017-.066.078-.158.211-.224a5.98 5.98 0 00.668-.386c.123-.082.233-.09.3-.071l1.102.302c.644.177 1.392-.02 1.82-.63.268-.382.505-.789.704-1.217.315-.675.111-1.422-.364-1.891l-.814-.806c-.05-.048-.098-.147-.088-.294a6.1 6.1 0 000-.772c-.01-.147.039-.246.088-.294l.814-.806c.475-.469.679-1.216.364-1.891a7.992 7.992 0 00-.704-1.218c-.428-.609-1.176-.806-1.82-.63l-1.103.303c-.066.019-.176.011-.299-.071a5.991 5.991 0 00-.668-.386c-.133-.066-.194-.158-.212-.224L10.16 1.29C9.99.645 9.444.095 8.701.031A8.094 8.094 0 008 0zm1.5 8a1.5 1.5 0 11-3 0 1.5 1.5 0 013 0zM11 8a3 3 0 11-6 0 3 3 0 016 0z"})),globe:d("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 16 16",width:"16",height:"16"},d("path",{"fill-rule":"evenodd",d:"M1.543 7.25h2.733c.144-2.074.866-3.756 1.58-4.948.12-.197.237-.381.353-.552a6.506 6.506 0 00-4.666 5.5zm2.733 1.5H1.543a6.506 6.506 0 004.666 5.5 11.13 11.13 0 01-.352-.552c-.715-1.192-1.437-2.874-1.581-4.948zm1.504 0h4.44a9.637 9.637 0 01-1.363 4.177c-.306.51-.612.919-.857 1.215a9.978 9.978 0 01-.857-1.215A9.637 9.637 0 015.78 8.75zm4.44-1.5H5.78a9.637 9.637 0 011.363-4.177c.306-.51.612-.919.857-1.215.245.296.55.705.857 1.215A9.638 9.638 0 0110.22 7.25zm1.504 1.5c-.144 2.074-.866 3.756-1.58 4.948-.12.197-.237.381-.353.552a6.506 6.506 0 004.666-5.5h-2.733zm2.733-1.5h-2.733c-.144-2.074-.866-3.756-1.58-4.948a11.738 11.738 0 00-.353-.552 6.506 6.506 0 014.666 5.5zM8 0a8 8 0 100 16A8 8 0 008 0z"})),history:d("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 16 16",width:"16",height:"16"},d("path",{"fill-rule":"evenodd",d:"M1.643 3.143L.427 1.927A.25.25 0 000 2.104V5.75c0 .138.112.25.25.25h3.646a.25.25 0 00.177-.427L2.715 4.215a6.5 6.5 0 11-1.18 4.458.75.75 0 10-1.493.154 8.001 8.001 0 101.6-5.684zM7.75 4a.75.75 0 01.75.75v2.992l2.028.812a.75.75 0 01-.557 1.392l-2.5-1A.75.75 0 017 8.25v-3.5A.75.75 0 017.75 4z"})),kebab_horizontal:d("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 16 16",width:"16",height:"16"},d("path",{d:"M8 9a1.5 1.5 0 100-3 1.5 1.5 0 000 3zM1.5 9a1.5 1.5 0 100-3 1.5 1.5 0 000 3zm13 0a1.5 1.5 0 100-3 1.5 1.5 0 000 3z"})),link:d("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 16 16",width:"16",height:"16"},d("path",{"fill-rule":"evenodd",d:"M7.775 3.275a.75.75 0 001.06 1.06l1.25-1.25a2 2 0 112.83 2.83l-2.5 2.5a2 2 0 01-2.83 0 .75.75 0 00-1.06 1.06 3.5 3.5 0 004.95 0l2.5-2.5a3.5 3.5 0 00-4.95-4.95l-1.25 1.25zm-4.69 9.64a2 2 0 010-2.83l2.5-2.5a2 2 0 012.83 0 .75.75 0 001.06-1.06 3.5 3.5 0 00-4.95 0l-2.5 2.5a3.5 3.5 0 004.95 4.95l1.25-1.25a.75.75 0 00-1.06-1.06l-1.25 1.25a2 2 0 01-2.83 0z"})),mark_github:d("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 16 16",width:"16",height:"16"},d("path",{"fill-rule":"evenodd",d:"M8 0C3.58 0 0 3.58 0 8c0 3.54 2.29 6.53 5.47 7.59.4.07.55-.17.55-.38 0-.19-.01-.82-.01-1.49-2.01.37-2.53-.49-2.69-.94-.09-.23-.48-.94-.82-1.13-.28-.15-.68-.52-.01-.53.63-.01 1.08.58 1.23.82.72 1.21 1.87.87 2.33.66.07-.52.28-.87.51-1.07-1.78-.2-3.64-.89-3.64-3.95 0-.87.31-1.59.82-2.15-.08-.2-.36-1.02.08-2.12 0 0 .67-.21 2.2.82.64-.18 1.32-.27 2-.27.68 0 1.36.09 2 .27 1.53-1.04 2.2-.82 2.2-.82.44 1.1.16 1.92.08 2.12.51.56.82 1.27.82 2.15 0 3.07-1.87 3.75-3.65 3.95.29.25.54.73.54 1.48 0 1.07-.01 1.93-.01 2.2 0 .21.15.46.55.38A8.013 8.013 0 0016 8c0-4.42-3.58-8-8-8z"})),moon:d("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 16 16",width:"16",height:"16"},d("path",{"fill-rule":"evenodd",d:"M9.598 1.591a.75.75 0 01.785-.175 7 7 0 11-8.967 8.967.75.75 0 01.961-.96 5.5 5.5 0 007.046-7.046.75.75 0 01.175-.786zm1.616 1.945a7 7 0 01-7.678 7.678 5.5 5.5 0 107.678-7.678z"})),play:d("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 16 16",width:"16",height:"16"},d("path",{"fill-rule":"evenodd",d:"M1.5 8a6.5 6.5 0 1113 0 6.5 6.5 0 01-13 0zM8 0a8 8 0 100 16A8 8 0 008 0zM6.379 5.227A.25.25 0 006 5.442v5.117a.25.25 0 00.379.214l4.264-2.559a.25.25 0 000-.428L6.379 5.227z"})),plus:d("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 16 16",width:"16",height:"16"},d("path",{"fill-rule":"evenodd",d:"M8 2a.75.75 0 01.75.75v4.5h4.5a.75.75 0 010 1.5h-4.5v4.5a.75.75 0 01-1.5 0v-4.5h-4.5a.75.75 0 010-1.5h4.5v-4.5A.75.75 0 018 2z"})),search:d("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 16 16",width:"16",height:"16"},d("path",{"fill-rule":"evenodd",d:"M11.5 7a4.499 4.499 0 11-8.998 0A4.499 4.499 0 0111.5 7zm-.82 4.74a6 6 0 111.06-1.06l3.04 3.04a.75.75 0 11-1.06 1.06l-3.04-3.04z"})),sun:d("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 16 16",width:"16",height:"16"},d("path",{"fill-rule":"evenodd",d:"M8 10.5a2.5 2.5 0 100-5 2.5 2.5 0 000 5zM8 12a4 4 0 100-8 4 4 0 000 8zM8 0a.75.75 0 01.75.75v1.5a.75.75 0 01-1.5 0V.75A.75.75 0 018 0zm0 13a.75.75 0 01.75.75v1.5a.75.75 0 01-1.5 0v-1.5A.75.75 0 018 13zM2.343 2.343a.75.75 0 011.061 0l1.06 1.061a.75.75 0 01-1.06 1.06l-1.06-1.06a.75.75 0 010-1.06zm9.193 9.193a.75.75 0 011.06 0l1.061 1.06a.75.75 0 01-1.06 1.061l-1.061-1.06a.75.75 0 010-1.061zM16 8a.75.75 0 01-.75.75h-1.5a.75.75 0 010-1.5h1.5A.75.75 0 0116 8zM3 8a.75.75 0 01-.75.75H.75a.75.75 0 010-1.5h1.5A.75.75 0 013 8zm10.657-5.657a.75.75 0 010 1.061l-1.061 1.06a.75.75 0 11-1.06-1.06l1.06-1.06a.75.75 0 011.06 0zm-9.193 9.193a.75.75 0 010 1.06l-1.06 1.061a.75.75 0 11-1.061-1.06l1.06-1.061a.75.75 0 011.061 0z"})),sync:d("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 16 16",width:"16",height:"16"},d("path",{"fill-rule":"evenodd",d:"M8 2.5a5.487 5.487 0 00-4.131 1.869l1.204 1.204A.25.25 0 014.896 6H1.25A.25.25 0 011 5.75V2.104a.25.25 0 01.427-.177l1.38 1.38A7.001 7.001 0 0114.95 7.16a.75.75 0 11-1.49.178A5.501 5.501 0 008 2.5zM1.705 8.005a.75.75 0 01.834.656 5.501 5.501 0 009.592 2.97l-1.204-1.204a.25.25 0 01.177-.427h3.646a.25.25 0 01.25.25v3.646a.25.25 0 01-.427.177l-1.38-1.38A7.001 7.001 0 011.05 8.84a.75.75 0 01.656-.834z"})),tag:d("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 16 16",width:"16",height:"16"},d("path",{"fill-rule":"evenodd",d:"M2.5 7.775V2.75a.25.25 0 01.25-.25h5.025a.25.25 0 01.177.073l6.25 6.25a.25.25 0 010 .354l-5.025 5.025a.25.25 0 01-.354 0l-6.25-6.25a.25.25 0 01-.073-.177zm-1.5 0V2.75C1 1.784 1.784 1 2.75 1h5.025c.464 0 .91.184 1.238.513l6.25 6.25a1.75 1.75 0 010 2.474l-5.026 5.026a1.75 1.75 0 01-2.474 0l-6.25-6.25A1.75 1.75 0 011 7.775zM6 5a1 1 0 100 2 1 1 0 000-2z"})),three_bars:d("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 16 16",width:"16",height:"16"},d("path",{"fill-rule":"evenodd",d:"M1 2.75A.75.75 0 011.75 2h12.5a.75.75 0 110 1.5H1.75A.75.75 0 011 2.75zm0 5A.75.75 0 011.75 7h12.5a.75.75 0 110 1.5H1.75A.75.75 0 011 7.75zM1.75 12a.75.75 0 100 1.5h12.5a.75.75 0 100-1.5H1.75z"})),unfold:d("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 16 16",width:"16",height:"16"},d("path",{d:"M8.177.677l2.896 2.896a.25.25 0 01-.177.427H8.75v1.25a.75.75 0 01-1.5 0V4H5.104a.25.25 0 01-.177-.427L7.823.677a.25.25 0 01.354 0zM7.25 10.75a.75.75 0 011.5 0V12h2.146a.25.25 0 01.177.427l-2.896 2.896a.25.25 0 01-.354 0l-2.896-2.896A.25.25 0 015.104 12H7.25v-1.25zm-5-2a.75.75 0 000-1.5h-.5a.75.75 0 000 1.5h.5zM6 8a.75.75 0 01-.75.75h-.5a.75.75 0 010-1.5h.5A.75.75 0 016 8zm2.25.75a.75.75 0 000-1.5h-.5a.75.75 0 000 1.5h.5zM12 8a.75.75 0 01-.75.75h-.5a.75.75 0 010-1.5h.5A.75.75 0 0112 8zm2.25.75a.75.75 0 000-1.5h-.5a.75.75 0 000 1.5h.5z"})),upload:d("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 16 16",width:"16",height:"16"},d("path",{"fill-rule":"evenodd",d:"M8.53 1.22a.75.75 0 00-1.06 0L3.72 4.97a.75.75 0 001.06 1.06l2.47-2.47v6.69a.75.75 0 001.5 0V3.56l2.47 2.47a.75.75 0 101.06-1.06L8.53 1.22zM3.75 13a.75.75 0 000 1.5h8.5a.75.75 0 000-1.5h-8.5z"})),x:d("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 16 16",width:"16",height:"16"},d("path",{"fill-rule":"evenodd",d:"M3.72 3.72a.75.75 0 011.06 0L8 6.94l3.22-3.22a.75.75 0 111.06 1.06L9.06 8l3.22 3.22a.75.75 0 11-1.06 1.06L8 9.06l-3.22 3.22a.75.75 0 01-1.06-1.06L6.94 8 3.72 4.78a.75.75 0 010-1.06z"})),x_circle:d("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 16 16",width:"16",height:"16"},d("path",{"fill-rule":"evenodd",d:"M3.404 12.596a6.5 6.5 0 119.192-9.192 6.5 6.5 0 01-9.192 9.192zM2.344 2.343a8 8 0 1011.313 11.314A8 8 0 002.343 2.343zM6.03 4.97a.75.75 0 00-1.06 1.06L6.94 8 4.97 9.97a.75.75 0 101.06 1.06L8 9.06l1.97 1.97a.75.75 0 101.06-1.06L9.06 8l1.97-1.97a.75.75 0 10-1.06-1.06L8 6.94 6.03 4.97z"}))};function j({error:e,onDismiss:t}){return d("div",{class:"error"},t&&d("div",{class:"error-dismiss",onClick:t},A.x),d("h3",null,e),d("p",null,"If you think this is a bug, you can report it ",d("a",{href:"https://github.com/misode/misode.github.io/issues/new",target:"_blank"},"on GitHub")))}var L=JSON.parse('{"languages":[{"code":"de","name":"Deutsch"},{"code":"en","name":"English"},{"code":"fr","name":"Français"},{"code":"it","name":"Italiano"},{"code":"ja","name":"日本語"},{"code":"pl","name":"Polski"},{"code":"pt","name":"Português"},{"code":"ru","name":"Русский"},{"code":"sk","name":"Slovenčina","schemas":false},{"code":"zh-cn","name":"简体中文"},{"code":"zh-tw","name":"正體中文"}],"versions":[{"id":"1.15","refs":{"mcdata_master":"13355f7"}},{"id":"1.16","refs":{"mcdata_master":"1.16.4","vanilla_datapack_data":"1.16.4-data","vanilla_datapack_summary":"1.16.4-summary"}},{"id":"1.17","refs":{"mcdata_master":"master","vanilla_datapack_data":"data","vanilla_datapack_summary":"summary"},"dynamic":true}],"generators":[{"id":"loot_table","url":"loot-table","path":"loot_tables","schema":"loot_table"},{"id":"predicate","url":"predicate","path":"predicates","schema":"predicate"},{"id":"item_modifier","url":"item-modifier","path":"item_modifiers","schema":"item_modifier","minVersion":"1.17"},{"id":"advancement","url":"advancement","path":"advancements","schema":"advancement"},{"id":"dimension","url":"dimension","schema":"dimension","category":"worldgen","minVersion":"1.16"},{"id":"dimension_type","url":"dimension-type","schema":"dimension_type","category":"worldgen","minVersion":"1.16"},{"id":"world","url":"world","schema":"world_settings","category":"worldgen","minVersion":"1.16"},{"id":"worldgen/biome","url":"worldgen/biome","category":"worldgen","schema":"biome","minVersion":"1.16"},{"id":"worldgen/configured_carver","url":"worldgen/carver","category":"worldgen","schema":"configured_carver","minVersion":"1.16"},{"id":"worldgen/configured_feature","url":"worldgen/feature","category":"worldgen","schema":"configured_feature","minVersion":"1.16"},{"id":"worldgen/noise_settings","url":"worldgen/noise-settings","category":"worldgen","schema":"noise_settings","minVersion":"1.16"},{"id":"worldgen/configured_structure_feature","url":"worldgen/structure-feature","category":"worldgen","schema":"configured_structure_feature","minVersion":"1.16"},{"id":"worldgen/configured_surface_builder","url":"worldgen/surface-builder","category":"worldgen","schema":"configured_surface_builder","minVersion":"1.16"},{"id":"worldgen/processor_list","url":"worldgen/processor-list","category":"worldgen","schema":"processor_list","minVersion":"1.16"},{"id":"worldgen/template_pool","url":"worldgen/template-pool","category":"worldgen","schema":"template_pool","minVersion":"1.16"}],"registries":[{"id":"advancement","dynamic":true},{"id":"attribute","minVersion":"1.16"},{"id":"block"},{"id":"dimension","dynamic":true},{"id":"dimension_type","dynamic":true},{"id":"enchantment"},{"id":"entity_type"},{"id":"fluid"},{"id":"function","dynamic":true},{"id":"float_provider_type","minVersion":"1.17"},{"id":"item"},{"id":"int_provider_type","minVersion":"1.17"},{"id":"height_provider_type","minVersion":"1.17"},{"id":"loot_condition_type","minVersion":"1.16"},{"id":"loot_condition_type","minVersion":"1.16"},{"id":"loot_function_type","minVersion":"1.16"},{"id":"loot_nbt_provider_type","minVersion":"1.17"},{"id":"loot_number_provider_type","minVersion":"1.17"},{"id":"loot_pool_entry_type","minVersion":"1.16"},{"id":"loot_score_provider_type","minVersion":"1.17"},{"id":"loot_table","dynamic":true},{"id":"mob_effect"},{"id":"pos_rule_test","minVersion":"1.16"},{"id":"potion","minVersion":"1.15"},{"id":"predicate","dynamic":true},{"id":"recipe","dynamic":true},{"id":"rule_test","minVersion":"1.16"},{"id":"sound_event"},{"id":"stat_type"},{"id":"structure","dynamic":true},{"id":"tag/block","dynamic":true},{"id":"tag/entity_type","dynamic":true},{"id":"tag/fluid","dynamic":true},{"id":"tag/function","dynamic":true},{"id":"tag/item","dynamic":true},{"id":"worldgen/biome","dynamic":true},{"id":"worldgen/block_state_provider_type","minVersion":"1.16"},{"id":"worldgen/block_placer_type","minVersion":"1.16"},{"id":"worldgen/biome_source","minVersion":"1.16"},{"id":"worldgen/carver","minVersion":"1.16"},{"id":"worldgen/chunk_generator","minVersion":"1.16"},{"id":"worldgen/configured_carver","minVersion":"1.16","dynamic":true},{"id":"worldgen/configured_decorator","minVersion":"1.16","dynamic":true},{"id":"worldgen/configured_feature","minVersion":"1.16","dynamic":true},{"id":"worldgen/configured_structure_feature","minVersion":"1.16","dynamic":true},{"id":"worldgen/configured_surface_builder","minVersion":"1.16","dynamic":true},{"id":"worldgen/decorator","minVersion":"1.16"},{"id":"worldgen/feature","minVersion":"1.16"},{"id":"worldgen/feature_size_type","minVersion":"1.16"},{"id":"worldgen/foliage_placer_type","minVersion":"1.16"},{"id":"worldgen/noise_settings","minVersion":"1.16","dynamic":true},{"id":"worldgen/processor_list","minVersion":"1.16","dynamic":true},{"id":"worldgen/structure_feature","minVersion":"1.16"},{"id":"worldgen/structure_pool_element","minVersion":"1.16"},{"id":"worldgen/structure_processor","minVersion":"1.16"},{"id":"worldgen/surface_builder","minVersion":"1.16"},{"id":"worldgen/template_pool","minVersion":"1.16","dynamic":true},{"id":"worldgen/tree_decorator_type","minVersion":"1.16"},{"id":"worldgen/trunk_placer_type","minVersion":"1.16"},{"id":"biome","maxVersion":"1.15"},{"id":"worldgen/biome","minVersion":"1.16","path":"processed/reports/biomes"}]}');let P;const D={},O=function(e,t){if(!t)return e();if(void 0===P){const e=document.createElement("link").relList;P=e&&e.supports&&e.supports("modulepreload")?"modulepreload":"preload"}return Promise.all(t.map((e=>{if(e in D)return;D[e]=!0;const t=e.endsWith(".css"),n=t?'[rel="stylesheet"]':"";if(document.querySelector(`link[href="${e}"]${n}`))return;const o=document.createElement("link");return o.rel=t?"stylesheet":P,t||(o.as="script",o.crossOrigin=""),o.href=e,document.head.appendChild(o),t?new Promise(((e,t)=>{o.addEventListener("load",e),o.addEventListener("error",t)})):void 0}))).then((()=>e()))};var I=JSON.parse('{"advancement":"Advancement","button.add":"Add","button.collapse":"Collapse","button.expand":"Expand","button.remove":"Remove","copy":"Copy","dimension_type":"Dimension Type","dimension":"Dimension","download":"Download","fields":"Fields","github":"GitHub","home":"Home","import":"Import","indentation.2_spaces":"2 spaces","indentation.4_spaces":"4 spaces","indentation.tabs":"Tabs","item_modifier":"Item Modifier","language":"Language","loot_table":"Loot Table","not_found.description":"The page you were looking for does not exist.","no_presets":"No presets","predicate":"Predicate","redo":"Redo","reset":"Reset","settings":"Settings","settings.fields.description":"Customize advanced field settings","settings.fields.path":"Context","settings.fields.name":"Name","share":"Share","theme.dark":"Dark","theme.light":"Light","theme.system":"System","title.generator":"%0% Generator","title.generator_category":"%0% Generators","title.home":"Data Pack Generators","presets":"Presets","preview":"Visualize","preview.scale":"Scale","preview.depth":"Depth","preview.width":"Width","source_placeholder":"Paste JSON content here","undo":"Undo","world":"World Settings","worldgen":"Worldgen","worldgen/biome":"Biome","worldgen/configured_carver":"Carver","worldgen/configured_feature":"Feature","worldgen/noise_settings":"Noise Settings","worldgen/processor_list":"Processor List","worldgen/configured_structure_feature":"Structure Feature","worldgen/configured_surface_builder":"Surface Builder","worldgen/template_pool":"Template Pool"}'),S=Object.freeze({__proto__:null,[Symbol.toStringTag]:"Module",default:I});const N={fallback:I};function T(e,t,...n){var o,r,i,a,s;return function(e,t){return e.replace(/%\d+%/g,(e=>{const n=parseInt(e.slice(1,-1));return void 0!==(null==t?void 0:t[n])?t[n]:e}))}(null!=(s=null!=(a=null!=(i=null==(o=N[e])?void 0:o[t])?i:null==(r=N.en)?void 0:r[t])?a:N.fallback[t])?s:t,n)}async function B(e){const t=L.languages.find((t=>t.code===e));if(!t)return;const n=await function(e){switch(e){case"../locales/de.json":return O((()=>import("./de.9324c846.js")),void 0);case"../locales/en.json":return O((()=>Promise.resolve().then((function(){return S}))),void 0);case"../locales/es.json":return O((()=>import("./es.be1c5183.js")),void 0);case"../locales/fr.json":return O((()=>import("./fr.cc0e1c18.js")),void 0);case"../locales/it.json":return O((()=>import("./it.fd9a8268.js")),void 0);case"../locales/ja.json":return O((()=>import("./ja.8c79487c.js")),void 0);case"../locales/pl.json":return O((()=>import("./pl.3a9fb38c.js")),void 0);case"../locales/pt.json":return O((()=>import("./pt.689bba1d.js")),void 0);case"../locales/ru.json":return O((()=>import("./ru.43cf4da1.js")),void 0);case"../locales/sk.json":return O((()=>import("./sk.586a2a32.js")),void 0);case"../locales/zh-cn.json":return O((()=>import("./zh-cn.97195370.js")),void 0);case"../locales/zh-tw.json":return O((()=>import("./zh-tw.a82e5245.js")),void 0);default:return Promise.reject(new Error("Unknown variable dynamic import: "+e))}}(`../locales/${e}.json`),o=!1!==t.schemas&&await function(e){switch(e){case"../../node_modules/@mcschema/locales/src/de.json":return O((()=>import("./de.ba8c635a.js")),void 0);case"../../node_modules/@mcschema/locales/src/en.json":return O((()=>import("./en.6ae73cdb.js")),void 0);case"../../node_modules/@mcschema/locales/src/fr.json":return O((()=>import("./fr.c1ebc76d.js")),void 0);case"../../node_modules/@mcschema/locales/src/it.json":return O((()=>import("./it.288ea523.js")),void 0);case"../../node_modules/@mcschema/locales/src/ja.json":return O((()=>import("./ja.d68f1cee.js")),void 0);case"../../node_modules/@mcschema/locales/src/pl.json":return O((()=>import("./pl.2f8b352f.js")),void 0);case"../../node_modules/@mcschema/locales/src/pt.json":return O((()=>import("./pt.98ad9b62.js")),void 0);case"../../node_modules/@mcschema/locales/src/ru.json":return O((()=>import("./ru.61de7e2f.js")),void 0);case"../../node_modules/@mcschema/locales/src/zh-cn.json":return O((()=>import("./zh-cn.655950f4.js")),void 0);case"../../node_modules/@mcschema/locales/src/zh-tw.json":return O((()=>import("./zh-tw.a8f28612.js")),void 0);default:return Promise.reject(new Error("Unknown variable dynamic import: "+e))}}(`../../node_modules/@mcschema/locales/src/${e}.json`);N[e]=s(s({},n.default),o.default)}["1.15","1.16","1.17"].forEach((e=>localStorage.removeItem(`cache_${e}`)));const R="https://raw.githubusercontent.com/Arcensoth/mcdata",H="https://raw.githubusercontent.com/SPGoding/vanilla-datapack",F=[{id:"mcdata_master",hash:"c1adf4f9ba8e81a7683ce775b7f2847bdd118e82",url:R},{id:"vanilla_datapack_summary",hash:"8a2f8022eb88840e6871ff6a72f63d6e64afc323",url:H}];async function W(e,t,n){const o=L.versions.find((t=>t.id===e));o?(console.debug(`[fetchData] ${JSON.stringify(o)}`),o.dynamic&&await Promise.all(F.filter((e=>localStorage.getItem(`cached_${e.id}`)!==e.hash)).map((async e=>{console.debug(`[deleteMatching] ${e.id} '${localStorage.getItem(`cached_${e.id}`)}' < '${e.hash}' ${e.url}/${o.refs[e.id]}`),await async function(e){try{const t=await caches.open("misode-v1");console.debug("[deleteMatching] Opened cache misode-v1");const n=[];for(const o of await t.keys())e(o.url)&&n.push(t.delete(o));console.debug(`[deleteMatching] Removing ${n.length} cache objects...`),await Promise.all(n)}catch(t){console.warn(`[deleteMatching] Failed to open cache misode-v1: ${t.message}`)}}((t=>t.startsWith(`${e.url}/${o.refs[e.id]}`))),console.debug(`[deleteMatching] Done! ${e.id} ${e.hash} '${localStorage.getItem(`cached_${e.id}`)}'`),localStorage.setItem(`cached_${e.id}`,e.hash),console.debug(`[deleteMatching] Set! ${e.id} ${e.hash} '${localStorage.getItem(`cached_${e.id}`)}'`)}))),await Promise.all([G(o,t),q(o,n),J(o,t)])):console.error(`[fetchData] Unknown version ${o} in ${JSON.stringify(L.versions)}`)}async function G(e,t){console.debug(`[fetchRegistries] ${e.id}`);const n=L.registries.filter((e=>!e.dynamic)).filter((t=>ee(e.id,t.minVersion,t.maxVersion)));if(ee(e.id,void 0,"1.15")){const r=`${R}/${e.refs.mcdata_master}/generated/reports/registries.json`;try{const e=await Y(r,(e=>{const t={};return Object.keys(e).forEach((n=>{t[n.slice(10)]=Object.keys(e[n].entries)})),t}));n.forEach((n=>{var o;t.register(n.id,null!=(o=e[n.id])?o:[])}))}catch(o){console.warn("Error occurred while fetching registries:",o)}}else await Promise.all(n.map((async n=>{try{const o=n.path?`${R}/${e.refs.mcdata_master}/${n.path}/data.min.json`:`${R}/${e.refs.mcdata_master}/processed/reports/registries/${n.id}/data.min.json`;t.register(n.id,await Y(o,(e=>e.values)))}catch(o){console.warn(`Error occurred while fetching registry ${n.id}:`,o)}})))}async function q(e,t){if(console.debug(`[fetchBlockStateMap] ${e.id}`),ee(e.id,void 0,"1.16")){const o=ee(e.id,void 0,"1.15")?`${R}/${e.refs.mcdata_master}/generated/reports/blocks.json`:`${R}/${e.refs.mcdata_master}/processed/reports/blocks/data.min.json`;try{const e=await Y(o,(e=>{const t={};return Object.keys(e).forEach((n=>{t[n]={properties:e[n].properties,default:e[n].states.find((e=>e.default)).properties}})),t}));Object.assign(t,e)}catch(n){console.warn("Error occurred while fetching block state map:",n)}}else{const o=`${R}/${e.refs.mcdata_master}/processed/reports/blocks/simplified/data.min.json`;try{const e=await Y(o);Object.assign(t,e)}catch(n){console.warn("Error occurred while fetching block state map:",n)}}}async function J(e,t){console.debug(`[fetchDynamicRegistries] ${e.id}`);const n=L.registries.filter((e=>e.dynamic)).filter((t=>ee(e.id,t.minVersion,t.maxVersion)));if(ee(e.id,"1.16")){const r=`${H}/${e.refs.vanilla_datapack_summary}/summary/flattened.min.json`;try{const e=await Y(r);n.forEach((n=>{t.register(n.id,e[n.id])}))}catch(o){console.warn("Error occurred while fetching dynamic registries:",o)}}}async function Y(e,t=(e=>e)){try{const n=await caches.open("misode-v1");console.debug(`[getData] Opened cache misode-v1 ${e}`);const o=await n.match(e);if(o&&o.ok)return console.debug(`[getData] Retrieving cached data ${e}`),await o.json();console.debug(`[getData] fetching data ${e}`);const r=await fetch(e),i=t(await r.json());return await n.put(e,new Response(JSON.stringify(i))),i}catch(n){console.warn(`[getData] Failed to open cache misode-v1: ${n.message}`),console.debug(`[getData] fetching data ${e}`);const o=await fetch(e);return t(await o.json())}}const U=["1.15","1.16","1.17"],Z={},X={},K={1.15:g,1.16:p,1.17:f};async function Q(e){return Z[e]||(Z[e]=(async()=>{try{const t=K[e].getCollections(),n={};await W(e,t,n);const o=K[e].getSchemas(t);return Z[e]={collections:t,schemas:o,blockStates:n},Z[e]}catch(t){throw new Error(`Cannot get version "${e}": ${t.message}`)}})()),Z[e]}function ee(e,t,n){const o=L.versions.findIndex((t=>t.id===e)),r=t?L.versions.findIndex((e=>e.id===t)):0,i=n?L.versions.findIndex((e=>e.id===n)):L.versions.length-1;return r<=o&&o<=i}const te=e=>("0"+e.toString(16)).substr(-2);function ne(e=12){var t=new Uint8Array(e/2);return window.crypto.getRandomValues(t),Array.from(t,te).join("")}function oe(e){return e.replace(/&/g,"&").replace(//g,">").replace(/"/g,""").replace(/'/g,"'").replace(/\//g,"/")}function re(e){return`/${e}/`.replaceAll("//","/")}function ie(e){const t=e.replace(/^\//,"").replace(/\/$/,"");return L.generators.find((e=>e.url===t))}function ae(e){const t=Math.abs(function(e){let t=0;for(let n=0;n>8)%256,(t>>16)%256]}function se(e,t,n){return Math.max(e,Math.min(t,n))}function le(e,t,n){return n<0?e:n>1?t:ce(n,e,t)}function ce(e,t,n){return t+e*(n-t)}function de(e,t,n,o,r,i){return ce(t,ce(e,n,o),ce(e,r,i))}function ue(e){return e*e*e*(e*(6*e-15)+10)}const he={system:"device_desktop",dark:"moon",light:"sun"};function me({lang:e,title:t,version:n,theme:o,changeTheme:r,language:i,changeLanguage:a}){const s=T.bind(null,e),l=ie(v());return d("header",null,d("div",{class:"title"},d(_,{class:"home-link",href:"/"},ge.home),d("h2",null,t),l&&d(M,{icon:"chevron_down"},L.generators.filter((e=>e.category===(null==l?void 0:l.category)&&ee(n,e.minVersion))).map((e=>d(z,{label:s(e.id),active:e.id===l.id,onClick:()=>w(re(e.url))}))))),d("nav",null,d("ul",null,d("li",null,d(M,{icon:"globe"},L.languages.map((({code:e,name:t})=>d(z,{label:t,active:e===i,onClick:()=>a(e)}))))),d("li",null,d(M,{icon:he[o]},Object.entries(he).map((([e,t])=>d(z,{icon:t,label:s(`theme.${e}`),active:e===o,onClick:()=>r(e)}))))),d("li",{class:"dimmed"},d("a",{href:"https://github.com/misode/misode.github.io",target:"_blank",rel:"noreferrer",title:s("github")},A.mark_github)))))}const ge={home:d("svg",{width:"32",height:"28",viewBox:"0 0 32 28",fill:"none",xmlns:"http://www.w3.org/2000/svg"},d("rect",{width:"26",height:"6",rx:"3",fill:"#7CB45C"}),d("rect",{x:"8",width:"18",height:"6",rx:"3",fill:"#4BA041"}),d("rect",{y:"11",width:"32",height:"6",rx:"3",fill:"#AAA8A8"}),d("rect",{x:"11",y:"11",width:"21",height:"6",rx:"3",fill:"#91908F"}),d("rect",{x:"11",y:"22",width:"21",height:"6",rx:"3",fill:"#70B5C3"}),d("rect",{x:"17",y:"22",width:"15",height:"6",rx:"3",fill:"#4D989B"})),report:d("svg",{width:"30",height:"36",viewBox:"0 0 30 36",xmlns:"http://www.w3.org/2000/svg"},d("path",{d:"M0 16C0 13.7909 1.79086 12 4 12V12C6.20914 12 8 13.7909 8 16V32C8 34.2091 6.20914 36 4 36V36C1.79086 36 0 34.2091 0 32V16Z",fill:"#6ACC5D"}),d("path",{d:"M11 4C11 1.79086 12.7909 0 15 0V0C17.2091 0 19 1.79086 19 4V32C19 34.2091 17.2091 36 15 36V36C12.7909 36 11 34.2091 11 32V4Z",fill:"#FF4C4C"}),d("path",{d:"M22 10C22 7.79086 23.7909 6 26 6V6C28.2091 6 30 7.79086 30 10V32C30 34.2091 28.2091 36 26 36V36C23.7909 36 22 34.2091 22 32V10Z",fill:"#E5B442"}),d("path",{d:"M0 23C0 20.7909 1.79086 19 4 19V19C6.20914 19 8 20.7909 8 23V32C8 34.2091 6.20914 36 4 36V36C1.79086 36 0 34.2091 0 32V23Z",fill:"#2BAD1D"}),d("path",{d:"M11 15C11 12.7909 12.7909 11 15 11V11C17.2091 11 19 12.7909 19 15V32C19 34.2091 17.2091 36 15 36V36C12.7909 36 11 34.2091 11 32V15Z",fill:"#C10B0B"}),d("path",{d:"M22 19C22 16.7909 23.7909 15 26 15V15C28.2091 15 30 16.7909 30 19V32C30 34.2091 28.2091 36 26 36V36C23.7909 36 22 34.2091 22 32V19Z",fill:"#CC8E00"})),sounds:d("svg",{width:"20",height:"20",viewBox:"0 0 20 20",xmlns:"http://www.w3.org/2000/svg"},d("circle",{cx:"10",cy:"10",r:"10",fill:"#451475"}),d("path",{"fill-rule":"evenodd","clip-rule":"evenodd",d:"M3.5 10C3.5 8.27609 4.18482 6.62279 5.40381 5.40381C6.62279 4.18482 8.27609 3.5 10 3.5C11.7239 3.5 13.3772 4.18482 14.5962 5.40381C15.8152 6.62279 16.5 8.27609 16.5 10C16.5 11.7239 15.8152 13.3772 14.5962 14.5962C13.3772 15.8152 11.7239 16.5 10 16.5C8.27609 16.5 6.62279 15.8152 5.40381 14.5962C4.18482 13.3772 3.5 11.7239 3.5 10V10ZM10 2C7.87827 2 5.84344 2.84285 4.34315 4.34315C2.84285 5.84344 2 7.87827 2 10C2 12.1217 2.84285 14.1566 4.34315 15.6569C5.84344 17.1571 7.87827 18 10 18C12.1217 18 14.1566 17.1571 15.6569 15.6569C17.1571 14.1566 18 12.1217 18 10C18 7.87827 17.1571 5.84344 15.6569 4.34315C14.1566 2.84285 12.1217 2 10 2V2ZM8.379 7.227C8.34101 7.20412 8.29762 7.19175 8.25327 7.19117C8.20892 7.19059 8.16522 7.20181 8.12664 7.2237C8.08807 7.24558 8.05601 7.27733 8.03375 7.3157C8.0115 7.35406 7.99985 7.39765 8 7.442V12.559C8.00003 12.6033 8.0118 12.6467 8.03413 12.685C8.05646 12.7232 8.08854 12.7548 8.12708 12.7765C8.16563 12.7983 8.20926 12.8095 8.25352 12.8088C8.29778 12.8082 8.34108 12.7958 8.379 12.773L12.643 10.214C12.6798 10.1917 12.7103 10.1604 12.7315 10.1229C12.7526 10.0854 12.7638 10.043 12.7638 10C12.7638 9.95695 12.7526 9.91463 12.7315 9.87714C12.7103 9.83965 12.6798 9.80825 12.643 9.786L8.379 7.227Z",fill:"#C5A5E6"}))};function pe(e,t){const n={invalidated(){e&&t(e)}};c((()=>(null==e||e.addListener(n),n.invalidated(),()=>{null==e||e.removeListener(n)})),[e])}function fe(e,t){if(!e)return;const n=u(),o=u(),r=u([0,0]);c((()=>{const i=e=>{o.current=[e.offsetX,e.offsetY]},a=e=>{if(void 0===o.current)return;const i=e.offsetX-o.current[0],a=e.offsetY-o.current[1];0===i&&0===a||(cancelAnimationFrame(n.current),r.current=[r.current[0]+i,r.current[1]+a],n.current=requestAnimationFrame((()=>{t(...r.current),r.current=[0,0]}))),o.current=[e.offsetX,e.offsetY]},s=e=>{o.current=void 0};return e.addEventListener("mousedown",i),e.addEventListener("mousemove",a),document.body.addEventListener("mouseup",s),()=>{e.removeEventListener("mousedown",i),e.removeEventListener("mousemove",a),document.body.removeEventListener("mouseup",s)}}),[e])}const ve=class{constructor(e){this.xo=256*e(),this.yo=256*e(),this.zo=256*e(),this.p=Array(256);for(let t=0;t<256;t+=1)this.p[t]=t;for(let t=0;t<256;t+=1){const n=e.int32()%(256-t),o=this.p[t];this.p[t]=this.p[t+n],this.p[t+n]=o}}noise(e,t,n,o,r){const i=e+this.xo,a=t+this.yo,s=n+this.zo,l=Math.floor(i),c=Math.floor(a),d=Math.floor(s),u=i-l,h=a-c,m=s-d,g=ue(u),p=ue(h),f=ue(m);let v=0;return 0!==o&&(v=Math.floor(Math.min(r,h)/o)*o),this.sampleAndLerp(l,c,d,u,h-v,m,g,p,f)}gradDot(e,t,n,o){const r=ve.GRADIENT[15&e];return r[0]*t+r[1]*n+r[2]*o}P(e){return 255&this.p[255&e]}sampleAndLerp(e,t,n,o,r,i,a,s,l){const c=this.P(e)+t,d=this.P(c)+n,u=this.P(c+1)+n,h=this.P(e+1)+t,m=this.P(h)+n,g=this.P(h+1)+n;return function(e,t,n,o,r,i,a,s,l,c,d){return ce(n,de(e,t,o,r,i,a),de(e,t,s,l,c,d))}(a,s,l,this.gradDot(this.P(d),o,r,i),this.gradDot(this.P(m),o-1,r,i),this.gradDot(this.P(u),o,r-1,i),this.gradDot(this.P(g),o-1,r-1,i),this.gradDot(this.P(d+1),o,r,i-1),this.gradDot(this.P(m+1),o-1,r,i-1),this.gradDot(this.P(u+1),o,r-1,i-1),this.gradDot(this.P(g+1),o-1,r-1,i-1))}};let _e=ve;_e.GRADIENT=[[1,1,0],[-1,1,0],[1,-1,0],[-1,-1,0],[1,0,1],[-1,0,1],[1,0,-1],[-1,0,-1],[0,1,1],[0,-1,1],[0,1,-1],[0,-1,-1],[1,1,0],[0,-1,1],[-1,1,0],[0,-1,-1]];class we{constructor(e,t,n){this.amplitudes=n,this.noiseLevels=Array(this.amplitudes.length);for(let o=0;o{const r=e[`${t}_noise`];return new be(n.seed+o,r.firstOctave,r.amplitudes)})),a={};e.biomes.forEach((e=>{a[e.biome]=ke(e.biome,n.biomeColors)}));const s=t.data,l=-n.offset[0]-100+n.res/2,c=-n.offset[1]-100+n.res/2,d=4*t.width/n.res,u=4/n.res;for(let h=0;h<200;h+=n.res)for(let t=0;t<200;t+=n.res){const o=t*d+h*u,m=(h+l)*n.scale,g=(t+c)*n.scale,p=Ce(i,e.biomes,m,g),f=null!=(r=a[p])?r:[128,128,128];s[o]=f[0],s[o+1]=f[1],s[o+2]=f[2],s[o+3]=255}}(e,t,n);case"fixed":return function(e,t,n){const o=t.data,r=ke(e.biome,n.biomeColors),i=4*t.width/n.res,a=4/n.res;for(let s=0;s<200;s+=n.res)for(let e=0;e<200;e+=n.res){const t=e*i+s*a;o[t]=r[0],o[t+1]=r[1],o[t+2]=r[2],o[t+3]=255}}(e,t,n);case"checkerboard":return function(e,t,n){var o,r,i,a,s,l;const c={};null==(o=e.biomes)||o.forEach((e=>{c[e]=ke(e,n.biomeColors)}));const d=t.data,u=-n.offset[0]-100+n.res/2,h=-n.offset[1]-100+n.res/2,m=4*t.width/n.res,g=4/n.res,p=(null!=(r=e.scale)?r:2)+2,f=null!=(a=null==(i=e.biomes)?void 0:i.length)?a:0;for(let v=0;v<200;v+=n.res)for(let t=0;t<200;t+=n.res){const o=t*m+v*g,r=((((v+u)*n.scale>>p)+((t+h)*n.scale>>p))%f+f)%f,i=null==(s=e.biomes)?void 0:s[r],a=null!=(l=c[i])?l:[128,128,128];d[o]=a[0],d[o+1]=a[1],d[o+2]=a[2],d[o+3]=255}}(e,t,n)}}function ke(e,t){var n;if(!e)return[128,128,128];const o=null!=(n=t[e])?n:Ve[e];return void 0===o?ae(e):o}function Ce(e,t,n,o){if(!Array.isArray(t)||0===t.length)return"";const r=e.map((e=>e.getValue(n,o,0)));let i=1/0,a="";for(const s of t){const e=xe(s.parameters,{altitude:r[0],temperature:r[1],humidity:r[2],weirdness:r[3],offset:0});e{Ie(t,null==e?void 0:e.decorator,n).forEach((t=>Oe(t,null==e?void 0:e.feature,n)))},random_boolean_selector:(e,t,n)=>{Oe(t,n.random()<.5?null==e?void 0:e.feature_true:null==e?void 0:e.feature_false,n)},random_selector:(e,t,n)=>{var o,r;for(const i of null!=(o=null==e?void 0:e.features)?o:[])if(n.random()<(null!=(r=null==i?void 0:i.chance)?r:0))return void Oe(t,i.feature,n);Oe(t,null==e?void 0:e.default,n)},simple_random_selector:(e,t,n)=>{var o,r,i;Oe(t,null==(i=null==e?void 0:e.features)?void 0:i[Le(null!=(r=null==(o=null==e?void 0:e.features)?void 0:o.length)?r:0,n)],n)}},Ne={chance:(e,t,n)=>{var o;return n.random()<1/(null!=(o=null==e?void 0:e.chance)?o:1)?[t]:[]},count:(e,t,n)=>{var o;return new Array(Pe(null!=(o=null==e?void 0:e.count)?o:1,n)).fill(t)},count_extra:(e,t,n)=>{var o,r;let i=null!=(o=null==e?void 0:e.count)?o:1;return n.random(){var o;return new Array(Pe(null!=(o=null==e?void 0:e.count)?o:1,n)).fill(t).map((e=>[e[0]+Le(16,n),e[1],e[2]+Le(16,n)]))},count_noise:(e,t,n)=>{const o=n.biomeInfoNoise.getValue(t[0]/200,0,t[2]/200){var o;const r=Math.max(1,e.noise_factor),i=n.biomeInfoNoise.getValue(t[0]/r,0,t[2]/r),a=Math.max(0,Math.ceil((i+(null!=(o=e.noise_offset)?o:0))*e.noise_to_count_ratio));return new Array(a).fill(t)},dark_oak_tree:(e,t,n)=>[...new Array(16)].map(((e,o)=>{const r=4*Math.floor(o/4)+1+Le(3,n)+t[0];return[r,Math.max(n.seaLevel,Ee[se(0,63,r)]),4*Math.floor(o%4)+1+Le(3,n)+t[2]]})),decorated:(e,t,n)=>Ie(t,null==e?void 0:e.outer,n).flatMap((t=>Ie(t,null==e?void 0:e.inner,n))),depth_average:(e,t,n)=>{var o,r,i,a;return je(t,Le(null!=(o=null==e?void 0:e.spread)?o:0,n)+Le(null!=(r=null==e?void 0:e.spread)?r:0,n)-(null!=(i=e.spread)?i:0)+(null!=(a=null==e?void 0:e.baseline)?a:0))},emerald_ore:(e,t,n)=>{const o=3+Le(6,n);return[...new Array(o)].map((()=>[t[0]+Le(16,n),4+Le(28,n),t[2]+Le(16,n)]))},fire:(e,t,n)=>{const o=1+Le(Le(Pe(null==e?void 0:e.count,n),n),n);return[...new Array(o)].map((()=>[t[0]+Le(16,n),Le(128,n),t[2]+Le(16,n)]))},glowstone:(e,t,n)=>{const o=Le(1+Le(Pe(null==e?void 0:e.count,n),n),n);return[...new Array(o)].map((()=>[t[0]+Le(16,n),Le(128,n),t[2]+Le(16,n)]))},heightmap:(e,t,n)=>je(t,Math.max(n.seaLevel,Ee[se(0,63,t[0])])),heightmap_spread_double:(e,t,n)=>je(t,Le(2*Math.max(n.seaLevel,Ee[se(0,63,t[0])]),n)),heightmap_world_surface:(e,t,n)=>je(t,Math.max(n.seaLevel,Ee[se(0,63,t[0])])),iceberg:(e,t,n)=>[[t[0]+4+Le(8,n),t[1],t[2]+4+Le(8,n)]],lava_lake:(e,t,n)=>{var o,r;if(0===Le((null!=(o=e.chance)?o:1)/10,n)){const o=Le(Le(248,n)+8,n);if(o[t],range:(e,t,n)=>{var o,r,i;return je(t,Le((null!=(o=null==e?void 0:e.maximum)?o:1)-(null!=(r=null==e?void 0:e.top_offset)?r:0),n)+(null!=(i=null==e?void 0:e.bottom_offset)?i:0))},range_biased:(e,t,n)=>{var o,r,i;return je(t,Le(Le((null!=(o=null==e?void 0:e.maximum)?o:1)-(null!=(r=null==e?void 0:e.top_offset)?r:0),n)+(null!=(i=null==e?void 0:e.bottom_offset)?i:0),n))},range_very_biased:(e,t,n)=>{var o,r,i,a;return je(t,Le(Le(Le((null!=(o=null==e?void 0:e.maximum)?o:1)-(null!=(r=null==e?void 0:e.top_offset)?r:0),n)+(null!=(i=null==e?void 0:e.bottom_offset)?i:0),n)+(null!=(a=null==e?void 0:e.bottom_offset)?a:0),n))},spread_32_above:(e,t,n)=>je(t,Le(t[1]+32,n)),top_solid_heightmap:(e,t)=>je(t,Ee[se(0,63,t[0])]),magma:(e,t,n)=>je(t,Le(t[1]+32,n)),square:(e,t,n)=>[[t[0]+Le(16,n),t[1],t[2]+Le(16,n)]],water_lake:(e,t,n)=>{var o;return 0===Le(null!=(o=e.chance)?o:1,n)?[[t[0]+Le(16,n),Le(256,n),t[2]+Le(16,n)]]:[]}};class Te{constructor(e){this.settings={},this.chunkWidth=4,this.chunkHeight=4,this.chunkCountY=32,this.biomeDepth=.1,this.biomeScale=.2,this.noiseColumnCache=[],this.xOffset=0,this.minLimitPerlinNoise=we.fromRange(e+"djfqnqd",-15,0),this.maxLimitPerlinNoise=we.fromRange(e+"gowdnqs",-15,0),this.mainPerlinNoise=we.fromRange(e+"afiwmco",-7,0),this.depthNoise=we.fromRange(e+"qphnmeo",-15,0)}reset(e,t,n,o,r){this.settings=e,this.chunkWidth=4*e.size_horizontal,this.chunkHeight=4*e.size_vertical,this.chunkCountY=Math.floor(e.height/this.chunkHeight),e.amplified&&t>0&&(t=1+2*t,n=1+4*n),this.biomeDepth=.265625*(.5*t-.125),this.biomeScale=96/(.9*n+.1),this.noiseColumnCache=Array(r).fill(null),this.xOffset=o}iterateNoiseColumn(e){const t=Array(this.chunkCountY*this.chunkHeight),n=Math.floor(e/this.chunkWidth),o=Math.floor(e%this.chunkWidth)/this.chunkWidth,r=this.fillNoiseColumn(n),i=this.fillNoiseColumn(n+1);for(let a=this.chunkCountY-1;a>=0;a-=1)for(let e=this.chunkHeight;e>=0;e-=1){const n=e/this.chunkHeight;t[a*this.chunkHeight+e]=de(n,o,r[a],r[a+1],i[a],i[a+1])}return t}fillNoiseColumn(e){const t=this.noiseColumnCache[e-this.xOffset];if(t)return t;const n=Array(this.chunkCountY+1),o=684.412*this.settings.sampling.xz_scale,r=684.412*this.settings.sampling.y_scale,i=o/this.settings.sampling.xz_factor,a=r/this.settings.sampling.y_factor,s=this.settings.random_density_offset?this.getRandomDensity(e):0;for(let l=0;l<=this.chunkCountY;l+=1){let t=this.sampleAndClampNoise(e,l,this.mainPerlinNoise.getOctaveNoise(0).zo,o,r,i,a);const c=((1-2*l/this.chunkCountY+s)*this.settings.density_factor+this.settings.density_offset+this.biomeDepth)*this.biomeScale;t+=c*(c>0?4:1),this.settings.top_slide.size>0&&(t=le(this.settings.top_slide.target,t,(this.chunkCountY-l-this.settings.top_slide.offset)/this.settings.top_slide.size)),this.settings.bottom_slide.size>0&&(t=le(this.settings.bottom_slide.target,t,(l-this.settings.bottom_slide.offset)/this.settings.bottom_slide.size)),n[l]=t}return this.noiseColumnCache[e-this.xOffset]=n,n}getRandomDensity(e){const t=this.depthNoise.getValue(200*e,10,this.depthNoise.getOctaveNoise(0).zo,1,0,!0),n=24.575625*(t<0?.3*-t:t)-2;return n<0?.009486607142857142*n:.006640625*Math.min(n,1)}sampleAndClampNoise(e,t,n,o,r,i,a){let s=0,l=0,c=0,d=1;for(let u=0;u<16;u+=1){const h=we.wrap(e*o*d),m=we.wrap(t*r*d),g=we.wrap(n*o*d),p=r*d,f=this.minLimitPerlinNoise.getOctaveNoise(u);f&&(s+=f.noise(h,m,g,p,t*p)/d);const v=this.maxLimitPerlinNoise.getOctaveNoise(u);if(v&&(l+=v.noise(h,m,g,p,t*p)/d),u<8){const o=this.mainPerlinNoise.getOctaveNoise(u);o&&(c+=o.noise(we.wrap(e*i*d),we.wrap(t*a*d),we.wrap(n*i*d),a*d,t*a*d)/d)}d/=2}return le(s/512,l/512,(c/10+1)/2)}}function Be(e,t){return e[t]>0?0:e[t+1]>0?150:255}const Re=["dimension","worldgen/noise_settings","worldgen/configured_feature"],He=[{id:"biome-noise",generator:"dimension",path:new m.Path(["generator","biome_source"]),predicate:e=>e.get(new m.Path(["generator","type"])).endsWith("noise"),preview:({data:e,shown:t})=>{var n;const[o,r]=h(2),[i,a]=h(ne()),[s,l]=h(void 0),m=null==(n=e.type)?void 0:n.replace(/^minecraft:/,""),g=u(null),p=u([0,0]),f=u(void 0),v=u(),_=u();c((()=>{v.current=(t=4)=>{"multi_noise"!==m&&(t=1);const n=g.current.getContext("2d");g.current.width=200/t,g.current.height=200/t;const r=n.createImageData(g.current.width,g.current.height);$e(e,r,{biomeColors:{},offset:p.current,scale:o,seed:i,res:t}),n.putImageData(r,0,0),1!==t&&(clearTimeout(f.current),f.current=setTimeout((()=>v.current(1)),150))},_.current=(t,n)=>{const r=200*t/g.current.clientWidth,a=200*n/g.current.clientHeight,s=function(e,t,n,o){var r,i,a,s,l;const[c,d]=function([e,t],n){return[(e-n.offset[0]-100+n.res/2)*n.scale,(t-n.offset[1]-100+n.res/2)*n.scale]}([t,n],o);switch(null==(r=null==e?void 0:e.type)?void 0:r.replace(/^minecraft:/,"")){case"multi_noise":return Ce(ye.map(((t,n)=>{const r=e[`${t}_noise`];return new be(o.seed+n,r.firstOctave,r.amplitudes)})),e.biomes,c,d);case"fixed":return e.biome;case"checkerboard":const t=(null!=(i=e.scale)?i:2)+2,n=null!=(s=null==(a=e.biomes)?void 0:a.length)?s:0,r=(((c>>t)+(d>>t))%n+n)%n;return null==(l=e.biomes)?void 0:l[r]}}(e,r,a,{biomeColors:{},offset:p.current,scale:o,seed:i,res:1});l(s)}})),fe(g.current,((e,t)=>{const n=200*e/g.current.clientWidth,o=200*t/g.current.clientHeight;p.current=[p.current[0]+n,p.current[1]+o],v.current()})),function(e,t){if(!e)return;const n=e=>{t(e.offsetX,e.offsetY)},o=()=>{t(void 0,void 0)};c((()=>(e.addEventListener("mousemove",n),e.addEventListener("mouseleave",o),()=>{e.removeEventListener("mousemove",n),e.removeEventListener("mouseleave",o)})),[e])}(g.current,((e,t)=>{void 0===e||void 0===t?l(void 0):_.current(e,t)}));const w=JSON.stringify(e);c((()=>{t&&v.current()}),[w,o,i,t]);const b=e=>{p.current[0]*=o/e,p.current[1]*=o/e,r(e)};return d(y,null,d("div",{class:"controls"},s&&d(z,{label:s,class:"no-pointer"}),("multi_noise"===m||"checkerboard"===m)&&d(y,null,d(z,{icon:"dash",onClick:()=>b(1.5*o)}),d(z,{icon:"plus",onClick:()=>b(o/1.5)})),"multi_noise"===m&&d(z,{icon:"sync",onClick:()=>a(ne())})),d("canvas",{ref:g,width:"200",height:"200"}))}},{id:"noise-settings",generator:"worldgen/noise_settings",path:new m.Path(["noise"]),predicate:()=>!0,preview:({lang:e,data:t,shown:n})=>{const o=T.bind(null,e),[r,i]=h(ne()),[a,s]=h(.1),[l,m]=h(.2),g=u(null),p=u(0),f=u();c((()=>{f.current=()=>{const e=g.current.getContext("2d"),n=t.height;g.current.width=n,g.current.height=n;const o=e.createImageData(g.current.width,g.current.height);!function(e,t,n){const o=new Te(n.seed);o.reset(e,n.biomeDepth,n.biomeScale,n.offset,200);const r=t.data,i=4*t.width;for(let a=0;a{const t=e*g.current.width/g.current.clientWidth;p.current=p.current+t,f.current()}));const v=JSON.stringify(t);return c((()=>{n&&f.current()}),[v,a,l,r,n]),d(y,null,d("div",{class:"controls"},d(M,{icon:"gear"},d(E,{type:"number",label:o("preview.depth"),value:`${a}`,onChange:e=>s(Number(e))}),d(E,{type:"number",label:o("preview.scale"),value:`${l}`,onChange:e=>m(Number(e))})),d(z,{icon:"sync",onClick:()=>i(ne())})),d("canvas",{ref:g,width:"200",height:t.height}))}},{id:"decorator",generator:"worldgen/configured_feature",path:new m.Path([]),predicate:()=>!0,preview:({data:e,version:t,shown:n})=>{const[o,r]=h(4),[i,a]=h(ne()),s=u(null),l=u();c((()=>{l.current=()=>{const n=s.current.getContext("2d");s.current.width=16*o,s.current.height=16*o;const r=n.createImageData(s.current.width,s.current.height);!function(e,t,n){const o={placements:[],features:[],random:b(n.seed),biomeInfoNoise:new we(n.seed+"frwynup",0,[1]),seaLevel:63,version:n.version};for(let i=0;i=n.size[0]||i[1]>=n.size[1]||i[2]>=n.size[2])continue;const e=i[2]*(4*t.width)+4*i[0],s=a{n&&setTimeout((()=>l.current()))}),[m,o,i,n]),d(y,null,d("div",{class:"controls"},d(z,{icon:"dash",onClick:()=>r(Math.min(16,o+1))}),d(z,{icon:"plus",onClick:()=>r(Math.max(1,o-1))}),d(z,{icon:"sync",onClick:()=>a(ne())})),d("canvas",{ref:s,width:"64",height:"64"}))}}];function Fe({lang:e,model:t,version:n,id:o,shown:r}){const[,i]=h(0);return pe(t,(()=>{i((e=>e+1))})),d(y,null,He.filter((e=>e.generator===o)).map((o=>{const i=null==t?void 0:t.get(o.path);return t&&void 0!==i&&o.predicate(t)?o.preview({lang:e,model:t,data:i,version:n,shown:r}):d(y,null)})))}const We={base:({},e,t)=>t,choice({switchNode:e},t,n,o){return e.hook(this,t,n,o)},list({children:e},t,n,o){return Array.isArray(n)?n.map(((n,r)=>e.hook(this,t.push(r),n,o))):n},map({children:e,config:t},n,o,r){var i,a;if(void 0===o)return;const s="block_state_map"===(null==(i=t.validation)?void 0:i.validator)?null==(a=r.blockStates)?void 0:a[m.relativePath(n,t.validation.params.id).get()]:null,l={};return Object.keys(o).forEach((t=>{var i;s&&!Object.keys(null!=(i=s.properties)?i:{}).includes(t)||(l[t]=e.hook(this,n.push(t),o[t],r))})),l},object({getActiveFields:e},t,n,o){if(null==n||"object"!=typeof n)return n;const r={},i=e(t);return Object.keys(i).filter((e=>i[e].enabled(t))).forEach((e=>{r[e]=i[e].hook(this,t.push(e),n[e],o)})),r}};var Ge,qe;(qe=Ge||(Ge={})).ID_LANGUAGE="language",qe.ID_THEME="theme",qe.ID_VERSION="schema_version",qe.ID_INDENT="indentation",qe.getLanguage=function(){var e;return null!=(e=localStorage.getItem(qe.ID_LANGUAGE))?e:"en"},qe.getTheme=function(){var e;return null!=(e=localStorage.getItem(qe.ID_THEME))?e:"dark"},qe.getVersion=function(){const e=localStorage.getItem(qe.ID_VERSION);return e&&U.includes(e)?e:"1.17"},qe.getIndent=function(){var e;return null!=(e=localStorage.getItem(qe.ID_INDENT))?e:"2_spaces"},qe.setLanguage=function(e){e&&localStorage.setItem(qe.ID_LANGUAGE,e)},qe.setTheme=function(e){e&&localStorage.setItem(qe.ID_THEME,e)},qe.setVersion=function(e){e&&localStorage.setItem(qe.ID_VERSION,e)},qe.setIndent=function(e){e&&localStorage.setItem(qe.ID_INDENT,e)};const Je={"2_spaces":2,"4_spaces":4,tabs:"\t"};function Ye({lang:e,name:t,model:n,blockStates:o,doCopy:r,doDownload:i,doImport:a,onError:s}){const l=T.bind(null,e),[g,p]=h(Ge.getIndent()),f=u(null),v=u(null),_=u();c((()=>{_.current=()=>{if(n&&o)try{const e={blockStates:null!=o?o:{}},t=n.schema.hook(We,new m.ModelPath(n),n.data,e);f.current.value=JSON.stringify(t,null,Je[g])+"\n"}catch(e){s(`Error getting JSON output: ${e.message}`),console.error(e),f.current.value=""}}})),pe(n,(()=>{_.current()})),c((()=>{_.current()}),[g]);c((()=>{r&&f.current&&(f.current.select(),document.execCommand("copy"))}),[r]),c((()=>{if(i&&f.current&&v.current){const e=encodeURIComponent(f.current.value);v.current.setAttribute("href",`data:text/json;charset=utf-8,${e}`),v.current.setAttribute("download",`${t}.json`),v.current.click()}}),[i]),c((()=>{a&&f.current&&(f.current.value="",f.current.select())}),[a]);return d(y,null,d("div",{class:"controls"},d(M,{icon:"gear"},Object.entries(Je).map((([e])=>d(z,{label:l(`indentation.${e}`),active:g===e,onClick:()=>{return t=e,Ge.setIndent(t),void p(t);var t}}))))),d("textarea",{ref:f,class:"source",onChange:()=>{try{const e=JSON.parse(f.current.value);null==n||n.reset(e,!1)}catch(e){s(`Error importing: ${e.message}`)}},spellcheck:!1,autocorrect:"off",placeholder:l("source_placeholder")}),d("a",{ref:v,style:"display: none;"}))}function Ue({title:e,link:t,icon:n,children:o}){return d("a",{class:"tool-card",href:t},n&&ge[n],d("div",null,d("h3",null,e),o))}class Ze{constructor(){this.registry={}}register(e){const t=ne();return this.registry[t]=e,t}on(e,t){return this.register((n=>{n.addEventListener(e,(e=>{t(n),e.stopPropagation()}))}))}onChange(e){return this.on("change",e)}onClick(e){return this.on("click",e)}mounted(e){e.querySelectorAll("[data-id]").forEach((e=>{var t,n;const o=e.getAttribute("data-id");null==(n=(t=this.registry)[o])||n.call(t,e)})),this.registry={}}}const Xe={chevron_down:'',chevron_up:'',clippy:'',info:'',issue_opened:'',plus_circle:'',trashcan:''},Ke=["loot_table.type","loot_entry.type","function.function","condition.condition","criterion.trigger","dimension.generator.type","dimension.generator.biome_source.type","carver.type","feature.type","decorator.type","feature.tree.minimum_size.type","block_state_provider.type","trunk_placer.type","foliage_placer.type","tree_decorator.type","int_provider.type","float_provider.type","height_provider.type","structure_feature.type","surface_builder.type","processor.processor_type","rule_test.predicate_type","pos_rule_test.predicate_type","template_element.element_type","block_placer.type"],Qe=["number_provider.type","score_provider.type","nbt_provider.type","int_provider.type","float_provider.type","height_provider.type"],et=["feature.config","decorator.config","int_provider.value","float_provider.value","block_state_provider.simple_state_provider.state","block_state_provider.rotated_block_provider.state","block_state_provider.weighted_state_provider.entries.entry.data","rule_test.block_state","structure_feature.config","surface_builder.config","template_pool.elements.entry.element"],tt=["loot_entry.type","function.function","condition.condition","criterion.trigger","dimension.generator.type","dimension.generator.biome_source.type","feature.type","decorator.type","block_state_provider.type","feature.tree.minimum_size.type","trunk_placer.type","foliage_placer.type","tree_decorator.type","block_placer.type","rule_test.predicate_type","processor.processor_type","template_element.element_type","nbt_operation.op","number_provider.value","score_provider.name","score_provider.target","nbt_provider.source","nbt_provider.target"],nt=["function.set_nbt.tag","advancement.display.icon.nbt","text_component_object.nbt","entity.nbt","block.nbt","item.nbt"],ot=new m.DataModel(m.MapNode(m.StringNode(),m.StringNode()),{historyMax:0}),rt={base:()=>["","",""],boolean({node:e},t,n,o){const r=o.mounter.onClick((()=>{t.model.set(t,!(!e.optional()||!1!==n)&&void 0)})),i=o.mounter.onClick((()=>{t.model.set(t,!e.optional()||!0!==n||void 0)}));return["",`${oe(o.loc("false"))}\n\t\t\t${oe(o.loc("true"))}`,""]},choice({choices:e,config:t,switchNode:n},o,r,i){const a=n.activeCase(o,!0),s=(null==t?void 0:t.context)?new m.ModelPath(o.getModel(),new m.Path(o.getArray(),[t.context])):o,l=(null==t?void 0:t.choiceContext)?new m.Path([],[t.choiceContext]):(null==t?void 0:t.context)?new m.Path([],[t.context]):o,[c,d,u]=a.node.hook(this,s,r,i);if(1===e.length)return[c,d,u];return[c,``+d,u]},list({children:e},t,n,o){const r=o.mounter.onClick((()=>{Array.isArray(n)||(n=[]),t.model.set(t,[e.default(),...n])})),i=o.mounter.onClick((()=>{Array.isArray(n)||(n=[]),t.model.set(t,[...n,e.default()])})),a=``;let s="";return Array.isArray(n)&&(s=n.map(((r,i)=>{const a=o.mounter.onClick((()=>t.model.set(t.push(i),void 0))),s=o.mounter.onClick((()=>{[n[i-1],n[i]]=[n[i],n[i-1]],t.model.set(t,n)})),l=o.mounter.onClick((()=>{[n[i+1],n[i]]=[n[i],n[i+1]],t.model.set(t,n)})),c=t.push(i).contextPush("entry"),d=e.category(c),[u,h,m]=e.hook(this,c,r,o);return`
\n\t\t\t\t\t
\n\t\t\t\t\t\t${lt(o.loc,c,o.mounter)}\n\t\t\t\t\t\t${ct(o.loc,c,o.mounter)}\n\t\t\t\t\t\t\n\t\t\t\t\t\t${n.length<=1?"":`
\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t
`}\n\t\t\t\t\t\t${u}\n\t\t\t\t\t\t\n\t\t\t\t\t\t${h}\n\t\t\t\t\t
\n\t\t\t\t\t${m?`
${m}
`:""}\n\t\t\t\t\t
\n\t\t\t\t
`})).join(""),n.length>2&&(s+=`
\n\t\t\t\t\t
\n\t\t\t\t\t\t\n\t\t\t\t\t
\n\t\t\t\t
`)),["",a,s]},map({children:e,keys:t,config:n},o,r,i){var a,s,l,c,d,u;const h=new m.ModelPath(ot,new m.Path([at(o.toString())])),g=i.mounter.onClick((()=>{const t=h.get();o.model.set(o.push(t),e.default())})),p="block_state_map"===(null==(a=n.validation)?void 0:a.validator)?null==(s=i.blockStates)?void 0:s[m.relativePath(o,n.validation.params.id).get()]:null,f=((null==p?void 0:p.properties)?m.StringNode(null,{enum:Object.keys(null!=(l=p.properties)?l:{})}):t).hook(this,h,null!=(c=h.get())?c:"",i)[1]+``;if(p&&"Properties"===o.last()){"object"!=typeof r&&(r={});const e=Object.entries(null!=(d=p.properties)?d:{}).map((([e,t])=>[e,m.StringNode(null,{enum:t})]));return Object.entries(null!=(u=p.properties)?u:{}).forEach((([e,t])=>{"string"!=typeof r[e]?o.model.errors.add(o.push(e),"error.expected_string"):t.includes(r[e])||o.model.errors.add(o.push(e),"error.invalid_enum_option",r[e])})),m.ObjectNode(Object.fromEntries(e)).hook(this,o,r,i)}let v="";return"object"==typeof r&&void 0!==r&&(v=Object.keys(r).map((t=>{var n,a,s,l;const c=i.mounter.onClick((()=>o.model.set(o.push(t),void 0))),d=o.modelPush(t),u=e.category(d),h=p?m.StringNode(null,{enum:null!=(a=null==(n=p.properties)?void 0:n[t])?a:[]}):e;(null==(s=null==p?void 0:p.properties)?void 0:s[t])&&!(null==(l=p.properties)?void 0:l[t].includes(r[t]))&&o.model.errors.add(d,"error.invalid_enum_option",r[t]);const[g,f,v]=h.hook(this,d,r[t],i);return`
\n\t\t\t\t\t\t
\n\t\t\t\t\t\t\t${lt(i.loc,d,i.mounter)}\n\t\t\t\t\t\t\t${ct(i.loc,d,i.mounter)}\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t${g}\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t${f}\n\t\t\t\t\t\t
\n\t\t\t\t\t\t${v?`
${v}
`:""}\n\t\t\t\t\t\t
\n\t\t\t\t\t
`})).join("")),["",f,v]},number({integer:e,config:t},n,o,{mounter:r}){var i;const a=r.onChange((o=>{const r=o.value,i=(null==t?void 0:t.color)?parseInt(r.slice(1),16):e?parseInt(r):parseFloat(r);n.model.set(n,i)}));if(null==t?void 0:t.color){return["",``,""]}return["",``,""]},object({node:e,getActiveFields:t,getChildModelPath:n},o,r,i){let a="",s="";e.optional()&&(s=void 0===r?``:``);let l="";if("object"==typeof r&&void 0!==r&&(!e.optional()||void 0!==r)){const e=t(o);l=Object.keys(e).filter((t=>e[t].enabled(o))).map((t=>{const l=e[t],c=n(o,t),d=c.getContext().join(".");if(Qe.includes(d))return"";const u=l.category(c),[h,m,g]=l.hook(this,c,r[t],i);if(0===h.length&&0===m.length&&0===g.length)return"";const p="object"===l.type(c)&&et.includes(d),f=tt.includes(d);return p||f?(a+=`${lt(i.loc,c,i.mounter)}${ct(i.loc,c,i.mounter)}${h}`,s+=m,p?g:""):`
\n\t\t\t\t\t
\n\t\t\t\t\t\t${lt(i.loc,c,i.mounter)}\n\t\t\t\t\t\t${ct(i.loc,c,i.mounter)}\n\t\t\t\t\t\t${h}\n\t\t\t\t\t\t\n\t\t\t\t\t\t${m}\n\t\t\t\t\t
\n\t\t\t\t\t${g?`
${g}
`:""}\n\t\t\t\t
`})).join("")}return[a,s,l]},string({node:e,getValues:t,config:n},o,r,i){var a,s;const l=i.mounter.register((e=>{e.value=null!=r?r:"",e.addEventListener("change",(t=>{const n=e.value;o.model.set(o,0===n.length?void 0:n),t.stopPropagation()}))}));let c;const d=t(),u=o.getContext().join(".");if(nt.includes(u)){const e=new m.ModelPath(ot,new m.Path([at(o.toString())]));c=``}else if(it(n)&&!n.additional||Ke.includes(u)){let t=new m.Path([]);it(n)&&"string"==typeof n.enum?t=t.contextPush(n.enum):it(n)||"resource"!==(null==n?void 0:n.validator)||"string"!=typeof n.params.pool||(t=t.contextPush(n.params.pool)),c=``}else if(it(n)||"block_state_key"!==(null==n?void 0:n.validator)){const e=ne();c=`\n\t\t\t\t${0===d.length?"":`\n\t\t\t\t\t${d.map((e=>``}`}else{const e=null==(a=i.blockStates)?void 0:a[m.relativePath(o,n.params.id).get()];c=``}return["",c,""]}};function it(e){return!!(null==e?void 0:e.enum)}function at(e){var t,n=0;for(t=0;t`
{e.getElementsByTagName("span")[0].classList.remove("show")}),{capture:!0,once:!0})}))}">\n\t\t${Xe[t]}\n\t\t${n}\n\t
`,ut=(e,t,n)=>`data-id="${n.register((n=>{const o=()=>{var o;const r=document.createElement("div");r.classList.add("node-menu");const i=e(t.contextPush("help").getContext().join("."));i.endsWith(".help")||r.insertAdjacentHTML("beforeend",`${i}`);const a=t.getContext().join(".");r.insertAdjacentHTML("beforeend",`\n\t\t\t\t`),null==(o=r.querySelector(".menu-item .btn"))||o.addEventListener("click",(()=>{const e=document.createElement("input");e.value=a,n.appendChild(e),e.select(),document.execCommand("copy"),n.removeChild(e)})),n.appendChild(r),document.body.addEventListener("click",(()=>{try{n.removeChild(r)}catch(e){}}),{capture:!0,once:!0}),document.body.addEventListener("contextmenu",(()=>{try{n.removeChild(r)}catch(e){}}),{capture:!0,once:!0})};n.addEventListener("contextmenu",(e=>{o(),e.preventDefault()}));let r=null;n.addEventListener("touchstart",(()=>{r=setTimeout((()=>{o(),r=null}),800)})),n.addEventListener("touchend",(()=>{r&&(clearTimeout(r),r=null)}))}))}"`;function ht({lang:e,model:t,version:n,blockStates:o,onError:r}){const i=u(null),a=u();return c((()=>{a.current=()=>{if(t&&o)try{const r=new Ze,a={loc:T.bind(null,e),version:n,mounter:r,blockStates:o},s=new m.ModelPath(t),l=t.schema.hook(rt,s,t.data,a),c=t.schema.category(s),d=t.schema.type(s);let u=l[2];l[1]&&(u=`
\n\t\t\t\t\t\t
${l[0]}${l[1]}
\n\t\t\t\t\t\t
${l[2]}
\n\t\t\t\t\t
`),i.current.innerHTML=u,r.mounted(i.current)}catch(a){r(`Error rendering the tree: ${a.message}`),console.error(a),i.current.innerHTML=""}}})),pe(t,(()=>{a.current()})),c((()=>{a.current()}),[e,t,o]),d("div",{ref:i,class:"tree"})}function mt({lang:e}){const t=T.bind(null,e);return d("main",null,d("div",{class:"settings"},d("p",null,t("settings.fields.description")),d("ul",{class:"field-list"})))}function gt({lang:e,changeTitle:t,version:n,onChangeVersion:o}){var r;const i=T.bind(null,e),[a,u]=h(null),[g,p]=$();if(g)return d("main",null,d(j,{error:`Something went wrong rendering the generator: ${g.message}`,onDismiss:p}));const f=ie(v());if(!f)return d("main",null,d(j,{error:`Cannot find generator "${v()}"`}));c((()=>{u(null)}),[f.id,n]);const _=L.versions.filter((e=>ee(e.id,f.minVersion))).map((e=>e.id));t(i("title.generator",i(f.id)),_),ee(n,f.minVersion)||u(`The minimum version for this generator is ${f.minVersion}`);const[w,b]=h(null),[k,C]=h(null);c((()=>{b(null),async function(e){return(await Q(e)).blockStates}(n).then((e=>C(e))),async function(e,t){var n;if(!X[t]||X[t].version!==e){const r=await Q(e),i=null==(n=L.generators.find((e=>e.id===t)))?void 0:n.schema;if(!i)throw new Error(`Cannot find model ${t}`);try{const n=r.schemas.get(i),o=new m.DataModel(n);X[t]?o.reset(X[t].model.data,!1):(o.validate(!0),o.history=[JSON.stringify(o.data)]),X[t]={model:o,version:e}}catch(o){throw new Error(`Cannot get generator "${t}" for version "${e}": ${o.message}`)}}return X[t].model}(n,f.id).then((e=>b(e))).catch((e=>{console.error(e),u(e.message)}))}),[n,f.id]),pe(w,(()=>{u(null)}));const P=e=>{e.ctrlKey&&"z"===e.key?(x.generatorEvent("undo","Hotkey"),null==w||w.undo()):e.ctrlKey&&"y"===e.key&&(x.generatorEvent("redo","Hotkey"),null==w||w.redo())};c((()=>(document.addEventListener("keyup",P),()=>{document.removeEventListener("keyup",P)})),[w]);const[D,O]=h(""),[I,S]=h([]);c((()=>{(async function(e){return(await Q(e)).collections})(n).then((e=>{const t=(null!=D?D:"").trim().split(" "),n=e.get(f.id).map((e=>e.slice(10))).filter((e=>t.every((t=>e.includes(t)))));n&&S(n)})).catch((e=>{console.error(e),u(e.message)}))}),[n,f.id,D]);const N=e=>{var t;x.generatorEvent("load-preset",e),async function(e,t,n){console.debug(`[fetchPreset] ${n} ${t} ${n}`);const o=L.versions.find((t=>t.id===e));try{const e=await fetch(`${H}/${o.refs.vanilla_datapack_data}/data/minecraft/${t}/${n}.json`);return await e.json()}catch(r){console.warn(`Error occurred while fetching ${t} preset ${n}:`,r)}}(n,null!=(t=f.path)?t:f.id,e).then((e=>{null==w||w.reset(e,!1)}))},[B,R]=h(window.innerWidth>820),[F,W]=h(0),[G,q]=h(0),[J,Y]=h(0),[U,Z]=h(!1),K=Re.includes(f.id);let te=1;K&&(te+=1),B&&(te+=2);return d(y,null,d("main",{class:U?"has-preview":""},d(V,{id:"data-pack-generator",type:"text"}),d("div",{class:"controls"},d(z,{icon:"upload",label:i("import"),onClick:()=>{x.generatorEvent("import"),R(!0),Y(J+1)}}),d(M,{icon:"archive",label:i("presets"),relative:!1},d(E,{icon:"search",large:!0,value:D,onChange:O,doSelect:1}),d("div",{class:"result-list"},I.map((e=>d(z,{label:e,onClick:()=>N(e)})))),0===I.length&&d(z,{label:i("no_presets")})),d(M,{icon:"tag",label:n},_.reverse().map((e=>d(z,{label:e,active:e===n,onClick:()=>o(e)})))),d(M,{icon:"kebab_horizontal"},d(z,{icon:"history",label:i("reset"),onClick:()=>{x.generatorEvent("reset"),null==w||w.reset(w.schema.default(),!0)}}),d(z,{icon:"arrow_left",label:i("undo"),onClick:e=>{e.stopPropagation(),x.generatorEvent("undo","Menu"),null==w||w.undo()}}),d(z,{icon:"arrow_right",label:i("redo"),onClick:e=>{e.stopPropagation(),x.generatorEvent("redo","Menu"),null==w||w.redo()}}))),a&&d(j,{error:a,onDismiss:()=>u(null)}),d(ht,l(s({},{lang:e,model:w,version:n,blockStates:k}),{onError:u}))),d("div",{class:"popup-actions",style:`--offset: -${10+50*te}px;`},d("div",{class:"popup-action action-preview"+(K?" shown":""),onClick:()=>{x.generatorEvent("toggle-preview",U?"hidden":"visible"),Z(!U)}},U?A.x_circle:A.play),d("div",{class:"popup-action action-download"+(B?" shown":""),onClick:()=>{x.generatorEvent("download"),q(G+1)}},A.download),d("div",{class:"popup-action action-copy"+(B?" shown":""),onClick:()=>{x.generatorEvent("copy"),W(F+1)}},A.clippy),d("div",{class:"popup-action action-code shown",onClick:()=>{x.generatorEvent("toggle-output",B?"hidden":"visible"),R(!B),W(0),q(0),Y(0)}},B?A.chevron_right:A.code)),d("div",{class:"popup-preview"+(U?" shown":"")},d(Fe,l(s({},{lang:e,model:w,version:n,id:f.id}),{shown:U,onError:u}))),d("div",{class:"popup-source"+(B?" shown":"")},d(Ye,l(s({},{lang:e,model:w,blockStates:k,doCopy:F,doDownload:G,doImport:J}),{name:null!=(r=f.schema)?r:"data",onError:u}))))}function pt({lang:e,changeTitle:t}){const n=T.bind(null,e);return t(n("title.home")),d("main",null,d("div",{class:"home"},L.generators.filter((e=>!e.category)).map((e=>d(Ue,{title:n(e.id),link:re(e.url)}))),d(Ue,{title:n("worldgen"),link:"/worldgen/"}),d("hr",null),d(Ue,{title:"Report Inspector",icon:"report",link:"https://misode.github.io/report/"},d("p",null,"Analyse your performance reports")),d(Ue,{title:"Minecraft Sounds",icon:"sounds",link:"https://misode.github.io/sounds/"},d("p",null,"Browse through and mix all the vanilla sounds")),d(Ue,{title:"Data Pack Upgrader",link:"https://misode.github.io/upgrader/"},d("p",null,"Convert your 1.16 data packs to 1.17"))))}function ft({lang:e,changeTitle:t}){const n=T.bind(null,e);return t(n("title.generator_category",n("worldgen"))),d("main",null,d("div",{class:"home"},L.generators.filter((e=>"worldgen"===e.category)).map((e=>d(Ue,{title:n(e.id),link:re(e.url)})))))}function vt(){const[e,t]=h("en");c((()=>{(async()=>{const e=Ge.getLanguage();await Promise.all([B("en"),..."en"!==e?[B(e)]:[]]),t(e)})()}),[]);const[n,o]=h(Ge.getTheme());c((()=>{document.documentElement.setAttribute("data-theme",n)}),[n]);const[r,i]=h(Ge.getVersion()),[a,u]=h(T(e,"title.home")),m=(e,t=["1.15","1.16","1.17"])=>{document.title=`${e} Minecraft ${t.join(", ")}`,u(e)};return d(y,null,d(me,s({},{lang:e,title:a,version:r,theme:n,language:e,changeLanguage:async e=>{N[e]||await B(e),x.setLanguage(e),Ge.setLanguage(e),t(e)},changeTheme:e=>{x.setTheme(e),Ge.setTheme(e),o(e)}})),d(C,{onChange:e=>{setTimeout((()=>x.pageview(re(e.url))))}},d(pt,s({path:"/"},{lang:e,changeTitle:m})),d(mt,s({path:"/settings/fields"},{lang:e,changeTitle:m})),d(ft,s({path:"/worldgen"},{lang:e,changeTitle:m})),d(gt,l(s({default:!0},{lang:e,version:r,changeTitle:m}),{onChangeVersion:e=>{x.setVersion(e),Ge.setVersion(e),i(e)}}))))}k(d(vt,null),document.body); -//# sourceMappingURL=index.f9905724.js.map diff --git a/assets/index.f9905724.js.map b/assets/index.f9905724.js.map deleted file mode 100644 index eac2b640..00000000 --- a/assets/index.f9905724.js.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"file":"index.f9905724.js","sources":["../../src/app/Analytics.ts","../../src/app/components/Ad.tsx","../../src/app/components/Btn.tsx","../../src/app/components/BtnInput.tsx","../../src/app/components/BtnMenu.tsx","../../src/app/components/Octicon.tsx","../../src/app/components/ErrorPanel.tsx","../../vite/preload-helper","../../src/app/Locales.ts","../../src/app/DataFetcher.ts","../../src/app/Schemas.ts","../../src/app/Utils.ts","../../src/app/components/Header.tsx","../../src/app/components/Icons.tsx","../../src/app/hooks/useModel.ts","../../src/app/hooks/useOnDrag.ts","../../src/app/previews/noise/ImprovedNoise.ts","../../src/app/previews/noise/PerlinNoise.ts","../../src/app/previews/noise/NormalNoise.ts","../../src/app/previews/BiomeSource.ts","../../src/app/previews/Decorator.ts","../../src/app/previews/noise/NoiseChunkGenerator.ts","../../src/app/previews/NoiseSettings.ts","../../src/app/components/PreviewPanel.tsx","../../src/app/components/previews/BiomeSourcePreview.tsx","../../src/app/hooks/useOnHover.ts","../../src/app/components/previews/NoiseSettingsPreview.tsx","../../src/app/components/previews/DecoratorPreview.tsx","../../src/app/schema/transformOutput.ts","../../src/app/Store.ts","../../src/app/components/SourcePanel.tsx","../../src/app/components/ToolCard.tsx","../../src/app/schema/Mounter.ts","../../src/app/schema/Octicon.ts","../../src/app/schema/renderHtml.ts","../../src/app/components/Tree.tsx","../../src/app/pages/FieldSettings.tsx","../../src/app/pages/Generator.tsx","../../src/app/pages/Home.tsx","../../src/app/pages/Worldgen.tsx","../../src/app/Main.tsx"],"sourcesContent":["export namespace Analytics {\n\tconst ID_SITE = 'Site'\n\tconst ID_GENERATOR = 'Generator'\n\n\tconst DIM_THEME = 1\n\tconst DIM_VERSION = 3\n\tconst DIM_LANGUAGE = 4\n\tconst DIM_PREVIEW = 5\n\n\tfunction event(category: string, action: string, label?: string) {\n\t\tga('send', 'event', category, action, label)\n\t}\n\n\tfunction dimension(index: number, value: string) {\n\t\tga('set', `dimension${index}`, value)\n\t}\n\n\texport function pageview(page: string) {\n\t\tga('set', 'page', page)\n\t\tga('send', 'pageview')\n\t}\n\n\texport function setLanguage(language: string) {\n\t\tdimension(DIM_LANGUAGE, language)\n\t\tevent(ID_SITE, 'set-language', language)\n\t}\n\n\texport function setTheme(theme: string) {\n\t\tdimension(DIM_THEME, theme)\n\t\tevent(ID_SITE, 'set-theme', theme)\n\t}\n\n\texport function setVersion(version: string) {\n\t\tdimension(DIM_VERSION, version)\n\t\tevent(ID_GENERATOR, 'set-version', version)\n\t}\n\n\texport function setPreview(preview: string) {\n\t\tdimension(DIM_PREVIEW, preview)\n\t\tevent(ID_GENERATOR, 'set-preview', preview)\n\t}\n\n\texport function generatorEvent(action: string, label?: string) {\n\t\tevent(ID_GENERATOR, action, label)\n\t}\n}\n","import { useEffect } from 'preact/hooks'\n\ndeclare const ethicalads: any\n\ntype AdProps = {\n\ttype: 'text' | 'image',\n\tid: string,\n}\nexport function Ad({ type, id }: AdProps) {\n\tuseEffect(() => {\n\t\tdocument.getElementById('ad-placeholder')?.remove()\n\t\tif ('ethicalads' in window) {\n\t\t\tethicalads.load()\n\t\t}\n\t}, [])\n\n\treturn
\n}\n","import { Octicon } from '.'\n\ntype BtnProps = {\n\ticon?: keyof typeof Octicon,\n\tlabel?: string,\n\tactive?: boolean,\n\tclass?: string,\n\tonClick?: (event: MouseEvent) => unknown,\n}\nexport function Btn({ icon, label, active, class: class_, onClick }: BtnProps) {\n\treturn
\n\t\t{icon && Octicon[icon]}\n\t\t{label && {label}}\n\t
\n}\n","import { useEffect, useRef } from 'preact/hooks'\nimport { Octicon } from '.'\n\ntype BtnInputProps = {\n\ticon?: keyof typeof Octicon,\n\tlabel?: string,\n\tlarge?: boolean,\n\ttype?: 'number' | 'text',\n\tdoSelect?: number,\n\tvalue?: string,\n\tonChange?: (value: string) => unknown,\n}\nexport function BtnInput({ icon, label, large, type, doSelect, value, onChange }: BtnInputProps) {\n\tconst onKeyUp = onChange === undefined ? () => {} : (e: any) => {\n\t\tconst value = (e.target as HTMLInputElement).value\n\t\tif (type !== 'number' || (!value.endsWith('.') && !isNaN(Number(value)))) {\n\t\t\tonChange?.(value)\n\t\t}\n\t}\n\n\tconst ref = useRef(null)\n\tuseEffect(() => {\n\t\tif (doSelect && ref.current) {\n\t\t\tref.current.select()\n\t\t}\n\t}, [doSelect])\n\n\treturn
e.stopPropagation()}>\n\t\t{icon && Octicon[icon]}\n\t\t{label && {label}}\n\t\t\n\t
\n}\n","import type { ComponentChildren } from 'preact'\nimport { useEffect, useState } from 'preact/hooks'\nimport type { Octicon } from '.'\nimport { Btn } from '.'\n\ntype BtnMenuProps = {\n\ticon?: keyof typeof Octicon,\n\tlabel?: string,\n\trelative?: boolean,\n\tchildren: ComponentChildren,\n}\nexport function BtnMenu({ icon, label, relative, children }: BtnMenuProps) {\n\tconst [active, setActive] = useState(false)\n\n\tconst hider = () => {\n\t\tsetActive(false)\n\t}\n\n\tuseEffect(() => {\n\t\tif (active) {\n\t\t\tdocument.body.addEventListener('click', hider)\n\t\t}\n\t\treturn () => {\n\t\t\tdocument.body.removeEventListener('click', hider)\n\t\t}\n\t}, [active])\n\n\treturn
\n\t\t setActive(true)} />\n\t\t{active &&
\n\t\t\t{children}\n\t\t
}\n\t
\n}\n","export const Octicon = {\n\tarchive: ,\n\tarrow_left: ,\n\tarrow_right: ,\n\tchevron_down: ,\n\tchevron_right: ,\n\tclippy: ,\n\tcode: ,\n\tdash: ,\n\tdevice_desktop: ,\n\tdownload: ,\n\teye: ,\n\teye_closed: ,\n\tgear: ,\n\tglobe: ,\n\thistory: ,\n\tkebab_horizontal: ,\n\tlink: ,\n\tmark_github: ,\n\tmoon: ,\n\tplay: ,\n\tplus: ,\n\tsearch: ,\n\tsun: ,\n\tsync: ,\n\ttag: ,\n\tthree_bars: ,\n\tunfold: ,\n\tupload: ,\n\tx: ,\n\tx_circle: ,\n}\n","import { Octicon } from './Octicon'\n\ntype ErrorPanelProps = {\n\terror: string,\n\tonDismiss?: () => unknown,\n}\nexport function ErrorPanel({ error, onDismiss }: ErrorPanelProps) {\n\treturn
\n\t\t{onDismiss &&
{Octicon.x}
}\n\t\t

{error}

\n\t\t

If you think this is a bug, you can report it on GitHub

\n\t
\n}\n","let scriptRel;const seen = {};export const __vitePreload = function preload(baseModule, deps) {\n // @ts-ignore\n if (!__VITE_IS_MODERN__ || !deps) {\n return baseModule();\n }\n // @ts-ignore\n if (scriptRel === undefined) {\n // @ts-ignore\n const relList = document.createElement('link').relList;\n // @ts-ignore\n scriptRel =\n relList && relList.supports && relList.supports('modulepreload')\n ? 'modulepreload'\n : 'preload';\n }\n return Promise.all(deps.map((dep) => {\n // @ts-ignore\n if (dep in seen)\n return;\n // @ts-ignore\n seen[dep] = true;\n const isCss = dep.endsWith('.css');\n const cssSelector = isCss ? '[rel=\"stylesheet\"]' : '';\n // @ts-ignore check if the file is already preloaded by SSR markup\n if (document.querySelector(`link[href=\"${dep}\"]${cssSelector}`)) {\n return;\n }\n // @ts-ignore\n const link = document.createElement('link');\n // @ts-ignore\n link.rel = isCss ? 'stylesheet' : scriptRel;\n if (!isCss) {\n link.as = 'script';\n link.crossOrigin = '';\n }\n link.href = dep;\n // @ts-ignore\n document.head.appendChild(link);\n if (isCss) {\n return new Promise((res, rej) => {\n link.addEventListener('load', res);\n link.addEventListener('error', rej);\n });\n }\n })).then(() => baseModule());\n}","import config from '../config.json'\nimport English from '../locales/en.json'\n\nexport type Localize = (key: string, ...params: string[]) => string\n\ninterface Locale {\n\t[key: string]: string\n}\n\nexport const Locales: {\n\t[key: string]: Locale,\n} = {\n\tfallback: English,\n}\n\nfunction resolveLocaleParams(value: string, params?: string[]): string {\n\treturn value.replace(/%\\d+%/g, match => {\n\t\tconst index = parseInt(match.slice(1, -1))\n\t\treturn params?.[index] !== undefined ? params[index] : match\n\t})\n}\n\nexport function locale(language: string, key: string, ...params: string[]): string {\n\tconst value: string | undefined = Locales[language]?.[key]\n\t\t?? Locales.en?.[key] ?? Locales.fallback[key] ?? key\n\treturn resolveLocaleParams(value, params)\n}\n\nexport async function loadLocale(language: string) {\n\tconst langConfig = config.languages.find(lang => lang.code === language)\n\tif (!langConfig) return\n\tconst data = await import(`../locales/${language}.json`)\n\tconst schema = langConfig.schemas !== false\n\t\t&& await import(`../../node_modules/@mcschema/locales/src/${language}.json`)\n\tLocales[language] = { ...data.default, ...schema.default }\n}\n","import type { CollectionRegistry } from '@mcschema/core'\nimport config from '../config.json'\nimport type { BlockStateRegistry, VersionId } from './Schemas'\nimport { checkVersion } from './Schemas'\n\n['1.15', '1.16', '1.17'].forEach(v => localStorage.removeItem(`cache_${v}`))\n\nconst CACHE_NAME = 'misode-v1'\n\ntype VersionRef = 'mcdata_master' | 'vanilla_datapack_summary' | 'vanilla_datapack_data'\n\ntype Version = {\n\tid: string,\n\trefs: Partial<{ [key in VersionRef]: string }>,\n\tdynamic?: boolean,\n}\n\ndeclare var __MCDATA_MASTER_HASH__: string\ndeclare var __VANILLA_DATAPACK_SUMMARY_HASH__: string\n\nconst mcdataUrl = 'https://raw.githubusercontent.com/Arcensoth/mcdata'\nconst vanillaDatapackUrl = 'https://raw.githubusercontent.com/SPGoding/vanilla-datapack'\n\nconst refs: {\n\tid: VersionRef,\n\thash: string,\n\turl: string,\n}[] = [\n\t{\n\t\tid: 'mcdata_master',\n\t\thash: __MCDATA_MASTER_HASH__,\n\t\turl: mcdataUrl,\n\t},\n\t{\n\t\tid: 'vanilla_datapack_summary',\n\t\thash: __VANILLA_DATAPACK_SUMMARY_HASH__,\n\t\turl: vanillaDatapackUrl,\n\t},\n]\n\nexport async function fetchData(versionId: string, collectionTarget: CollectionRegistry, blockStateTarget: BlockStateRegistry) {\n\tconst version = config.versions.find(v => v.id === versionId) as Version | undefined\n\tif (!version) {\n\t\tconsole.error(`[fetchData] Unknown version ${version} in ${JSON.stringify(config.versions)}`)\n\t\treturn\n\t}\n\tconsole.debug(`[fetchData] ${JSON.stringify(version)}`)\n\n\tif (version.dynamic) {\n\t\tawait Promise.all(refs\n\t\t\t.filter(r => localStorage.getItem(`cached_${r.id}`) !== r.hash)\n\t\t\t.map(async r => {\n\t\t\t\tconsole.debug(`[deleteMatching] ${r.id} '${localStorage.getItem(`cached_${r.id}`)}' < '${r.hash}' ${r.url}/${version.refs[r.id]}`)\n\t\t\t\tawait deleteMatching(url => url.startsWith(`${r.url}/${version.refs[r.id]}`))\n\t\t\t\tconsole.debug(`[deleteMatching] Done! ${r.id} ${r.hash} '${localStorage.getItem(`cached_${r.id}`)}'`)\n\t\t\t\tlocalStorage.setItem(`cached_${r.id}`, r.hash)\n\t\t\t\tconsole.debug(`[deleteMatching] Set! ${r.id} ${r.hash} '${localStorage.getItem(`cached_${r.id}`)}'`)\n\t\t\t}))\n\t}\n\n\tawait Promise.all([\n\t\tfetchRegistries(version, collectionTarget),\n\t\tfetchBlockStateMap(version, blockStateTarget),\n\t\tfetchDynamicRegistries(version, collectionTarget),\n\t])\n}\n\nasync function fetchRegistries(version: Version, target: CollectionRegistry) {\n\tconsole.debug(`[fetchRegistries] ${version.id}`)\n\tconst registries = config.registries\n\t\t.filter(r => !r.dynamic)\n\t\t.filter(r => checkVersion(version.id, r.minVersion, r.maxVersion))\n\n\tif (checkVersion(version.id, undefined, '1.15')) {\n\t\tconst url = `${mcdataUrl}/${version.refs.mcdata_master}/generated/reports/registries.json`\n\t\ttry {\n\t\t\tconst data = await getData(url, (data) => {\n\t\t\t\tconst res: {[id: string]: string[]} = {}\n\t\t\t\tObject.keys(data).forEach(k => {\n\t\t\t\t\tres[k.slice(10)] = Object.keys(data[k].entries)\n\t\t\t\t})\n\t\t\t\treturn res\n\t\t\t})\n\t\t\tregistries.forEach(r => {\n\t\t\t\ttarget.register(r.id, data[r.id] ?? [])\n\t\t\t})\n\t\t} catch (e) {\n\t\t\tconsole.warn('Error occurred while fetching registries:', e)\n\t\t}\n\t} else {\n\t\tawait Promise.all(registries.map(async r => {\n\t\t\ttry {\n\t\t\t\tconst url = r.path\n\t\t\t\t\t? `${mcdataUrl}/${version.refs.mcdata_master}/${r.path}/data.min.json`\n\t\t\t\t\t: `${mcdataUrl}/${version.refs.mcdata_master}/processed/reports/registries/${r.id}/data.min.json`\n\t\t\t\ttarget.register(r.id, await getData(url, v => v.values))\n\t\t\t} catch (e) {\n\t\t\t\tconsole.warn(`Error occurred while fetching registry ${r.id}:`, e)\n\t\t\t}\n\t\t}))\n\t}\n}\n\nasync function fetchBlockStateMap(version: Version, target: BlockStateRegistry) {\n\tconsole.debug(`[fetchBlockStateMap] ${version.id}`)\n\tif (checkVersion(version.id, undefined, '1.16')) {\n\t\tconst url = (checkVersion(version.id, undefined, '1.15'))\n\t\t\t? `${mcdataUrl}/${version.refs.mcdata_master}/generated/reports/blocks.json`\n\t\t\t: `${mcdataUrl}/${version.refs.mcdata_master}/processed/reports/blocks/data.min.json`\n\n\t\ttry {\n\t\t\tconst data = await getData(url, (data) => {\n\t\t\t\tconst res: BlockStateRegistry = {}\n\t\t\t\tObject.keys(data).forEach(b => {\n\t\t\t\t\tres[b] = {\n\t\t\t\t\t\tproperties: data[b].properties,\n\t\t\t\t\t\tdefault: data[b].states.find((s: any) => s.default).properties,\n\t\t\t\t\t}\n\t\t\t\t})\n\t\t\t\treturn res\n\t\t\t})\n\t\t\tObject.assign(target, data)\n\t\t} catch (e) {\n\t\t\tconsole.warn('Error occurred while fetching block state map:', e)\n\t\t}\n\t} else {\n\t\tconst url = `${mcdataUrl}/${version.refs.mcdata_master}/processed/reports/blocks/simplified/data.min.json`\n\t\ttry {\n\t\t\tconst data = await getData(url)\n\t\t\tObject.assign(target, data)\n\t\t} catch (e) {\n\t\t\tconsole.warn('Error occurred while fetching block state map:', e)\n\t\t}\n\t}\n}\n\nasync function fetchDynamicRegistries(version: Version, target: CollectionRegistry) {\n\tconsole.debug(`[fetchDynamicRegistries] ${version.id}`)\n\tconst registries = config.registries\n\t\t.filter(r => r.dynamic)\n\t\t.filter(r => checkVersion(version.id, r.minVersion, r.maxVersion))\n\n\tif (checkVersion(version.id, '1.16')) {\n\t\tconst url = `${vanillaDatapackUrl}/${version.refs.vanilla_datapack_summary}/summary/flattened.min.json`\n\t\ttry {\n\t\t\tconst data = await getData(url)\n\t\t\tregistries.forEach(r => {\n\t\t\t\ttarget.register(r.id, data[r.id])\n\t\t\t})\n\t\t} catch (e) {\n\t\t\tconsole.warn('Error occurred while fetching dynamic registries:', e)\n\t\t}\n\t}\n}\n\nexport async function fetchPreset(version: VersionId, registry: string, id: string) {\n\tconsole.debug(`[fetchPreset] ${id} ${registry} ${id}`)\n\tconst versionData = config.versions.find(v => v.id === version)!\n\ttry {\n\t\tconst res = await fetch(`${vanillaDatapackUrl}/${versionData.refs.vanilla_datapack_data}/data/minecraft/${registry}/${id}.json`)\n\t\treturn await res.json()\n\t} catch (e) {\n\t\tconsole.warn(`Error occurred while fetching ${registry} preset ${id}:`, e)\n\t}\n}\n\nasync function getData(url: string, fn: (v: any) => T = (v: any) => v): Promise {\n\ttry {\n\t\tconst cache = await caches.open(CACHE_NAME)\n\t\tconsole.debug(`[getData] Opened cache ${CACHE_NAME} ${url}`)\n\t\tconst cacheResponse = await cache.match(url)\n \n\t\tif (cacheResponse && cacheResponse.ok) {\n\t\t\tconsole.debug(`[getData] Retrieving cached data ${url}`)\n\t\t\treturn await cacheResponse.json()\n\t\t}\n \n\t\tconsole.debug(`[getData] fetching data ${url}`)\n\t\tconst fetchResponse = await fetch(url)\n\t\tconst responseData = fn(await fetchResponse.json())\n\t\tawait cache.put(url, new Response(JSON.stringify(responseData)))\n\t\treturn responseData\n\t} catch (e) {\n\t\tconsole.warn(`[getData] Failed to open cache ${CACHE_NAME}: ${e.message}`)\n\n\t\tconsole.debug(`[getData] fetching data ${url}`)\n\t\tconst fetchResponse = await fetch(url)\n\t\tconst responseData = fn(await fetchResponse.json())\n\t\treturn responseData\n\t}\n}\n\nasync function deleteMatching(matches: (url: string) => boolean) {\n\ttry {\n\t\tconst cache = await caches.open(CACHE_NAME)\n\t\tconsole.debug(`[deleteMatching] Opened cache ${CACHE_NAME}`)\n\t\tconst promises: Promise[] = []\n \n\t\tfor (const request of await cache.keys()) {\n\t\t\tif (matches(request.url)) {\n\t\t\t\tpromises.push(cache.delete(request))\n\t\t\t}\n\t\t}\n\t\tconsole.debug(`[deleteMatching] Removing ${promises.length} cache objects...`)\n\t\tawait Promise.all(promises)\n\t} catch (e) {\n\t\tconsole.warn(`[deleteMatching] Failed to open cache ${CACHE_NAME}: ${e.message}`)\n\t}\n}\n","import type { CollectionRegistry, SchemaRegistry } from '@mcschema/core'\nimport { DataModel } from '@mcschema/core'\nimport * as java15 from '@mcschema/java-1.15'\nimport * as java16 from '@mcschema/java-1.16'\nimport * as java17 from '@mcschema/java-1.17'\nimport config from '../config.json'\nimport { fetchData } from './DataFetcher'\n\nexport const VersionIds = ['1.15', '1.16', '1.17'] as const\nexport type VersionId = typeof VersionIds[number]\n\nexport type BlockStateRegistry = {\n\t[block: string]: {\n\t\tproperties?: {\n\t\t\t[key: string]: string[],\n\t\t},\n\t\tdefault?: {\n\t\t\t[key: string]: string,\n\t\t},\n\t},\n}\n\ntype VersionData = {\n\tcollections: CollectionRegistry,\n\tschemas: SchemaRegistry,\n\tblockStates: BlockStateRegistry,\n}\nconst Versions: Record> = {}\n\ntype ModelData = {\n\tmodel: DataModel,\n\tversion: VersionId,\n}\nconst Models: Record = {}\n\nconst versionGetter: {\n\t[versionId in VersionId]: {\n\t\tgetCollections: () => CollectionRegistry,\n\t\tgetSchemas: (collections: CollectionRegistry) => SchemaRegistry,\n\t}\n} = {\n\t1.15: java15,\n\t1.16: java16,\n\t1.17: java17,\n}\n\nasync function getVersion(id: VersionId): Promise {\n\tif (!Versions[id]) {\n\t\tVersions[id] = (async () => {\n\t\t\ttry {\n\t\t\t\tconst collections = versionGetter[id].getCollections()\n\t\t\t\tconst blockStates: BlockStateRegistry = {}\n\t\t\t\tawait fetchData(id, collections, blockStates)\n\t\t\t\tconst schemas = versionGetter[id].getSchemas(collections)\n\t\t\t\tVersions[id] = { collections, schemas, blockStates }\n\t\t\t\treturn Versions[id]\n\t\t\t} catch (e) {\n\t\t\t\tthrow new Error(`Cannot get version \"${id}\": ${e.message}`)\n\t\t\t}\n\t\t})()\n\t\treturn Versions[id]\n\t}\n\treturn Versions[id]\n}\n\nexport async function getModel(version: VersionId, id: string): Promise {\n\tif (!Models[id] || Models[id].version !== version) {\n\t\tconst versionData = await getVersion(version)\n\t\tconst schemaName = config.generators.find(g => g.id === id)?.schema\n\t\tif (!schemaName) {\n\t\t\tthrow new Error(`Cannot find model ${id}`)\n\t\t}\n\t\ttry {\n\t\t\tconst schema = versionData.schemas.get(schemaName)\n\t\t\tconst model = new DataModel(schema)\n\t\t\tif (Models[id]) {\n\t\t\t\tmodel.reset(Models[id].model.data, false)\n\t\t\t} else {\n\t\t\t\tmodel.validate(true)\n\t\t\t\tmodel.history = [JSON.stringify(model.data)]\n\t\t\t}\n\t\t\tModels[id] = { model, version }\n\t\t} catch (e) {\n\t\t\tthrow new Error(`Cannot get generator \"${id}\" for version \"${version}\": ${e.message}`)\n\t\t}\n\t}\n\treturn Models[id].model\n}\n\nexport async function getCollections(version: VersionId): Promise {\n\tconst versionData = await getVersion(version)\n\treturn versionData.collections\n}\n\nexport async function getBlockStates(version: VersionId): Promise {\n\tconst versionData = await getVersion(version)\n\treturn versionData.blockStates\n}\n\nexport function checkVersion(versionId: string, minVersionId: string | undefined, maxVersionId?: string) {\n\tconst version = config.versions.findIndex(v => v.id === versionId)\n\tconst minVersion = minVersionId ? config.versions.findIndex(v => v.id === minVersionId) : 0\n\tconst maxVersion = maxVersionId ? config.versions.findIndex(v => v.id === maxVersionId) : config.versions.length - 1\n\treturn minVersion <= version && version <= maxVersion\n}\n","import config from '../config.json'\n\nexport function isPromise(obj: any): obj is Promise {\n\treturn typeof (obj as any)?.then === 'function' \n}\n\nconst dec2hex = (dec: number) => ('0' + dec.toString(16)).substr(-2)\n\nexport function hexId(length = 12) {\n\tvar arr = new Uint8Array(length / 2)\n\twindow.crypto.getRandomValues(arr)\n\treturn Array.from(arr, dec2hex).join('')\n}\n\nexport function htmlEncode(str: string) {\n\treturn str.replace(/&/g, '&').replace(//g, '>')\n\t\t.replace(/\"/g, '"').replace(/'/g, ''').replace(/\\//g, '/')\n}\n\nexport function hashString(s: string) {\n\tlet h = 0\n\tfor(let i = 0; i < s.length; i++)\n\t\th = Math.imul(31, h) + s.charCodeAt(i) | 0\n\treturn h\n}\n\nexport function cleanUrl(url: string) {\n\treturn `/${url}/`.replaceAll('//', '/')\n}\n\nexport function getGenerator(url: string) {\n\tconst trimmedUrl = url.replace(/^\\//, '').replace(/\\/$/, '')\n\treturn config.generators.find(g => g.url === trimmedUrl)\n}\n\nexport function stringToColor(str: string): [number, number, number] {\n\tconst h = Math.abs(hashString(str))\n\treturn [h % 256, (h >> 8) % 256, (h >> 16) % 256]\n}\n\nexport function clamp(a: number, b: number, c: number) {\n\treturn Math.max(a, Math.min(b, c))\n}\n\nexport function clampedLerp(a: number, b: number, c: number): number {\n\tif (c < 0) {\n\t\treturn a\n\t} else if (c > 1) {\n\t\treturn b\n\t} else {\n\t\treturn lerp(c, a, b)\n\t}\n}\n\nexport function lerp(a: number, b: number, c: number): number {\n\treturn b + a * (c - b)\n}\n\nexport function lerp2(a: number, b: number, c: number, d: number, e: number, f: number): number {\n\treturn lerp(b, lerp(a, c, d), lerp(a, e, f))\n}\n\nexport function lerp3(a: number, b: number, c: number, d: number, e: number, f: number, g: number, h: number, i: number, j: number, k: number) {\n\treturn lerp(c, lerp2(a, b, d, e, f, g), lerp2(a, b, h, i, j, k))\n}\n\nexport function smoothstep(x: number): number {\n\treturn x * x * x * (x * (x * 6 - 15) + 10)\n}\n","import { getCurrentUrl, Link, route } from 'preact-router'\nimport { Btn, BtnMenu, Icons, Octicon } from '.'\nimport config from '../../config.json'\nimport { locale } from '../Locales'\nimport type { VersionId } from '../Schemas'\nimport { checkVersion } from '../Schemas'\nimport { cleanUrl, getGenerator } from '../Utils'\n\nconst Themes: Record = {\n\tsystem: 'device_desktop',\n\tdark: 'moon',\n\tlight: 'sun',\n}\n\ntype HeaderProps = {\n\tlang: string,\n\ttitle: string,\n\tversion: VersionId,\n\ttheme: string,\n\tchangeTheme: (theme: string) => unknown,\n\tlanguage: string,\n\tchangeLanguage: (language: string) => unknown,\n}\nexport function Header({ lang, title, version, theme, changeTheme, language, changeLanguage }: HeaderProps) {\n\tconst loc = locale.bind(null, lang)\n\tconst gen = getGenerator(getCurrentUrl())\n\n\treturn
\n\t\t
\n\t\t\t{Icons.home}\n\t\t\t

{title}

\n\t\t\t{gen && \n\t\t\t\t{config.generators\n\t\t\t\t\t.filter(g => g.category === gen?.category && checkVersion(version, g.minVersion))\n\t\t\t\t\t.map(g =>\n\t\t\t\t\t\t route(cleanUrl(g.url))} />\n\t\t\t\t\t)}\n\t\t\t}\n\t\t
\n\t\t\n\t
\n}\n","export const Icons = {\n\thome: ,\n\treport: ,\n\tsounds: ,\n}\n","import type { DataModel } from '@mcschema/core'\nimport { useEffect } from 'preact/hooks'\n\nexport function useModel(model: DataModel | undefined | null, invalidated: (model: DataModel) => unknown) {\n\tconst listener = {\n\t\tinvalidated() {\n\t\t\tif (model) {\n\t\t\t\tinvalidated(model)\n\t\t\t}\n\t\t},\n\t}\n\n\tuseEffect(() => {\n\t\tmodel?.addListener(listener)\n\t\tlistener.invalidated()\n\t\treturn () => {\n\t\t\tmodel?.removeListener(listener)\n\t\t}\n\t}, [model])\n}\n","import { useEffect, useRef } from 'preact/hooks'\n\nexport function useOnDrag(element: HTMLElement, drag: (dx: number, dy: number) => unknown) {\n\tif (!element) return\n\n\tconst request = useRef()\n\tconst dragStart = useRef<[number, number] | undefined>()\n\tconst pending = useRef<[number, number]>([0, 0])\n\n\tuseEffect(() => {\n\t\tconst onMouseDown = (e: MouseEvent) => {\n\t\t\tdragStart.current = [e.offsetX, e.offsetY]\n\t\t}\n\t\tconst onMouseMove = (e: MouseEvent) => {\n\t\t\tif (dragStart.current === undefined) return\n\t\t\tconst dx = e.offsetX - dragStart.current[0]\n\t\t\tconst dy = e.offsetY - dragStart.current[1]\n\t\t\tif (!(dx === 0 && dy === 0)) {\n\t\t\t\tcancelAnimationFrame(request.current)\n\t\t\t\tpending.current = [pending.current[0] + dx, pending.current[1] + dy]\n\t\t\t\trequest.current = requestAnimationFrame(() => {\n\t\t\t\t\tdrag(...pending.current)\n\t\t\t\t\tpending.current = [0, 0]\n\t\t\t\t})\n\t\t\t}\n\t\t\tdragStart.current = [e.offsetX, e.offsetY]\n\t\t}\n\t\tconst onMouseUp = (_e: MouseEvent) => {\n\t\t\tdragStart.current = undefined\n\t\t}\n\n\t\telement.addEventListener('mousedown', onMouseDown)\n\t\telement.addEventListener('mousemove', onMouseMove)\n\t\tdocument.body.addEventListener('mouseup', onMouseUp)\n\t\treturn () => {\n\t\t\telement.removeEventListener('mousedown', onMouseDown)\n\t\t\telement.removeEventListener('mousemove', onMouseMove)\n\t\t\tdocument.body.removeEventListener('mouseup', onMouseUp)\n\t\t}\n\t}, [element])\n}\n","import type seedrandom from 'seedrandom'\nimport { lerp3, smoothstep } from '../../Utils'\n\nexport class ImprovedNoise {\n\tprivate static readonly GRADIENT = [[1, 1, 0], [-1, 1, 0], [1, -1, 0], [-1, -1, 0], [1, 0, 1], [-1, 0, 1], [1, 0, -1], [-1, 0, -1], [0, 1, 1], [0, -1, 1], [0, 1, -1], [0, -1, -1], [1, 1, 0], [0, -1, 1], [-1, 1, 0], [0, -1, -1]]\n\tprivate readonly p: number[]\n\tpublic readonly xo: number\n\tpublic readonly yo: number\n\tpublic readonly zo: number\n\n\tconstructor(random: seedrandom.prng) {\n\t\tthis.xo = random() * 256\n\t\tthis.yo = random() * 256\n\t\tthis.zo = random() * 256\n\t\tthis.p = Array(256)\n\n\t\tfor (let i = 0; i < 256; i += 1) {\n\t\t\tthis.p[i] = i\n\t\t}\n\t\tfor (let i = 0; i < 256; i += 1) {\n\t\t\tconst n = random.int32() % (256 - i)\n\t\t\tconst b = this.p[i]\n\t\t\tthis.p[i] = this.p[i + n]\n\t\t\tthis.p[i + n] = b\n\t\t}\n\t}\n\n\tpublic noise(x: number, y: number, z: number, a: number, b: number) {\n\t\tconst x2 = x + this.xo\n\t\tconst y2 = y + this.yo\n\t\tconst z2 = z + this.zo\n\t\tconst x3 = Math.floor(x2)\n\t\tconst y3 = Math.floor(y2)\n\t\tconst z3 = Math.floor(z2)\n\t\tconst x4 = x2 - x3\n\t\tconst y4 = y2 - y3\n\t\tconst z4 = z2 - z3\n\t\tconst x5 = smoothstep(x4)\n\t\tconst y5 = smoothstep(y4)\n\t\tconst z5 = smoothstep(z4)\n\n\t\tlet y6 = 0\n\t\tif (a !== 0) {\n\t\t\ty6 = Math.floor(Math.min(b, y4) / a) * a\n\t\t}\n\n\t\treturn this.sampleAndLerp(x3, y3, z3, x4, y4 - y6, z4, x5, y5, z5)\n\t}\n\n\tprivate gradDot(a: number, b: number, c: number, d: number) {\n\t\tconst grad = ImprovedNoise.GRADIENT[a & 15]\n\t\treturn grad[0] * b + grad[1] * c + grad[2] * d\n\t}\n\n\tprivate P(i: number) {\n\t\treturn this.p[i & 255] & 255\n\t}\n\n\tpublic sampleAndLerp(a: number, b: number, c: number, d: number, e: number, f: number, g: number, h: number, i: number) {\n\t\tconst j = this.P(a) + b\n\t\tconst k = this.P(j) + c\n\t\tconst l = this.P(j + 1) + c\n\t\tconst m = this.P(a + 1) + b\n\t\tconst n = this.P(m) + c\n\t\tconst o = this.P(m + 1) + c\n\n\t\tconst p = this.gradDot(this.P(k), d, e, f)\n\t\tconst q = this.gradDot(this.P(n), d - 1, e, f)\n\t\tconst r = this.gradDot(this.P(l), d, e - 1, f)\n\t\tconst s = this.gradDot(this.P(o), d - 1, e - 1, f)\n \n\t\tconst t = this.gradDot(this.P(k + 1), d, e, f - 1)\n\t\tconst u = this.gradDot(this.P(n + 1), d - 1, e, f - 1)\n\t\tconst v = this.gradDot(this.P(l + 1), d, e - 1, f - 1)\n\t\tconst w = this.gradDot(this.P(o + 1), d - 1, e - 1, f - 1)\n\n\t\treturn lerp3(g, h, i, p, q, r, s, t, u, v, w)\n\t}\n}\n","import seedrandom from 'seedrandom'\nimport { ImprovedNoise } from './ImprovedNoise'\n\nexport class PerlinNoise {\n\tprivate readonly noiseLevels: ImprovedNoise[]\n\tprivate readonly amplitudes: number[]\n\tprivate readonly lowestFreqValueFactor: number\n\tprivate readonly lowestFreqInputFactor: number\n\n\tconstructor(seed: string, firstOctave: number, amplitudes: number[]) {\n\t\tthis.amplitudes = amplitudes\n\n\t\tthis.noiseLevels = Array(this.amplitudes.length)\n\t\tfor (let i = 0; i < this.amplitudes.length; i += 1) {\n\t\t\tthis.noiseLevels[i] = new ImprovedNoise(seedrandom(seed))\n\t\t}\n \n\t\tthis.lowestFreqInputFactor = Math.pow(2, firstOctave)\n\t\tthis.lowestFreqValueFactor = Math.pow(2, (amplitudes.length - 1)) / (Math.pow(2, amplitudes.length) - 1)\n\t}\n\n\tpublic static fromRange(seed: string, min: number, max: number) {\n\t\treturn new PerlinNoise(seed, min, Array(max - min + 1).fill(1))\n\t}\n\n\tpublic getValue(x: number, y: number, z: number, a = 0, b = 0, fixY = false) {\n\t\tlet value = 0\n\t\tlet inputF = this.lowestFreqInputFactor\n\t\tlet valueF = this.lowestFreqValueFactor\n\t\tfor (let i = 0; i < this.noiseLevels.length; i += 1) {\n\t\t\tconst noise = this.noiseLevels[i]\n\t\t\tif (noise) {\n\t\t\t\tvalue += this.amplitudes[i] * noise.noise(\n\t\t\t\t\tPerlinNoise.wrap(x * inputF),\n\t\t\t\t\tfixY ? -noise.yo : PerlinNoise.wrap(y * inputF),\n\t\t\t\t\tPerlinNoise.wrap(z * inputF),\n\t\t\t\t\ta * inputF,\n\t\t\t\t\tb * inputF\n\t\t\t\t) * valueF\n\t\t\t}\n\t\t\tinputF *= 2\n\t\t\tvalueF /= 2\n\t\t}\n\t\treturn value\n\t}\n\n\tpublic getOctaveNoise(i: number) {\n\t\treturn this.noiseLevels[this.noiseLevels.length - 1 - i]\n\t}\n\n\tpublic static wrap(value: number) {\n\t\treturn value - Math.floor(value / 3.3554432E7 + 0.5) * 3.3554432E7\n\t}\n}\n","import { PerlinNoise } from './PerlinNoise'\n\nexport class NormalNoise {\n\tprivate readonly valueFactor: number\n\tprivate readonly first: PerlinNoise\n\tprivate readonly second: PerlinNoise\n\n\tconstructor(seed: string, firstOctave: number, amplitudes: number[]) {\n\t\tthis.first = new PerlinNoise(seed, firstOctave, amplitudes)\n\t\tthis.second = new PerlinNoise(seed + 'a', firstOctave, amplitudes)\n\n\t\tlet min = +Infinity\n\t\tlet max = -Infinity\n\t\tfor (let i = 0; i < amplitudes.length; i += 1) {\n\t\t\tif (amplitudes[i] !== 0) {\n\t\t\t\tmin = Math.min(min, i)\n\t\t\t\tmax = Math.max(max, i)\n\t\t\t}\n\t\t}\n\n\t\tconst expectedDeviation = 0.1 * (1 + 1 / (max - min + 1))\n\t\tthis.valueFactor = (1/6) / expectedDeviation\n\t}\n\n\tgetValue(x: number, y: number, z: number) {\n\t\tconst x2 = x * 1.0181268882175227\n\t\tconst y2 = y * 1.0181268882175227\n\t\tconst z2 = z * 1.0181268882175227\n\t\treturn (this.first.getValue(x, y, z) + this.second.getValue(x2, y2, z2)) * this.valueFactor\n\t}\n}\n","import { stringToColor } from '../Utils'\nimport { NormalNoise } from './noise/NormalNoise'\n\ntype BiomeColors =Record\ntype BiomeSourceOptions = {\n\tbiomeColors: BiomeColors,\n\toffset: [number, number],\n\tscale: number,\n\tres: number,\n\tseed: string,\n}\n\nconst NoiseMaps = ['altitude', 'temperature', 'humidity', 'weirdness']\n\nexport function biomeSource(state: any, img: ImageData, options: BiomeSourceOptions) {\n\tswitch (state?.type?.replace(/^minecraft:/, '')) {\n\t\tcase 'multi_noise': return multiNoise(state, img, options)\n\t\tcase 'fixed': return fixed(state, img, options)\n\t\tcase 'checkerboard': return checkerboard(state, img, options)\n\t}\n}\n\nfunction fixed(state: any, img: ImageData, options: BiomeSourceOptions) {\n\tconst data = img.data\n\tconst color = getBiomeColor(state.biome, options.biomeColors)\n\tconst row = img.width * 4 / options.res\n\tconst col = 4 / options.res\n\tfor (let x = 0; x < 200; x += options.res) {\n\t\tfor (let y = 0; y < 200; y += options.res) {\n\t\t\tconst i = y * row + x * col\n\t\t\tdata[i] = color[0]\n\t\t\tdata[i + 1] = color[1]\n\t\t\tdata[i + 2] = color[2]\n\t\t\tdata[i + 3] = 255\n\t\t}\n\t}\n}\n\nfunction checkerboard(state: any, img: ImageData, options: BiomeSourceOptions) {\n\tconst biomeColorCache: BiomeColors = {}\n\tstate.biomes?.forEach((b: string) => {\n\t\tbiomeColorCache[b] = getBiomeColor(b, options.biomeColors)\n\t})\n\n\tconst data = img.data\n\tconst ox = -options.offset[0] - 100 + options.res / 2\n\tconst oy = -options.offset[1] - 100 + options.res / 2\n\tconst row = img.width * 4 / options.res\n\tconst col = 4 / options.res\n\tconst shift = (state.scale ?? 2) + 2\n\tconst numBiomes = state.biomes?.length ?? 0\n\tfor (let x = 0; x < 200; x += options.res) {\n\t\tfor (let y = 0; y < 200; y += options.res) {\n\t\t\tconst i = y * row + x * col\n\t\t\tconst xx = (x + ox) * options.scale\n\t\t\tconst yy = (y + oy) * options.scale\n\t\t\tconst j = (((xx >> shift) + (yy >> shift)) % numBiomes + numBiomes) % numBiomes\n\t\t\tconst b = state.biomes?.[j]\n\t\t\tconst color = biomeColorCache[b] ?? [128, 128, 128]\n\t\t\tdata[i] = color[0]\n\t\t\tdata[i + 1] = color[1]\n\t\t\tdata[i + 2] = color[2]\n\t\t\tdata[i + 3] = 255\n\t\t}\n\t}\n}\n\nfunction multiNoise(state: any, img: ImageData, options: BiomeSourceOptions) {\n\tif (state.preset?.replace(/^minecraft:/, '') === 'nether') {\n\t\tstate = NetherPreset\n\t}\n\n\tconst noise = NoiseMaps.map((id, i) => {\n\t\tconst config = state[`${id}_noise`]\n\t\treturn new NormalNoise(options.seed + i, config.firstOctave, config.amplitudes)\n\t})\n\n\tconst biomeColorCache: BiomeColors = {}\n\tstate.biomes.forEach((b: any) => {\n\t\tbiomeColorCache[b.biome] = getBiomeColor(b.biome, options.biomeColors)\n\t})\n\n\tconst data = img.data\n\tconst ox = -options.offset[0] - 100 + options.res / 2\n\tconst oy = -options.offset[1] - 100 + options.res / 2\n\tconst row = img.width * 4 / options.res\n\tconst col = 4 / options.res\n\tfor (let x = 0; x < 200; x += options.res) {\n\t\tfor (let y = 0; y < 200; y += options.res) {\n\t\t\tconst i = y * row + x * col\n\t\t\tconst xx = (x + ox) * options.scale\n\t\t\tconst yy = (y + oy) * options.scale\n\t\t\tconst b = closestBiome(noise, state.biomes, xx, yy)\n\t\t\tconst color = biomeColorCache[b] ?? [128, 128, 128]\n\t\t\tdata[i] = color[0]\n\t\t\tdata[i + 1] = color[1]\n\t\t\tdata[i + 2] = color[2]\n\t\t\tdata[i + 3] = 255\n\t\t}\n\t}\n}\n\nexport function getBiome(state: any, x: number, y: number, options: BiomeSourceOptions): string | undefined {\n\tconst [xx, yy] = toWorld([x, y], options)\n\tswitch (state?.type?.replace(/^minecraft:/, '')) {\n\t\tcase 'multi_noise':\n\t\t\tconst noise = NoiseMaps.map((id, i) => {\n\t\t\t\tconst config = state[`${id}_noise`]\n\t\t\t\treturn new NormalNoise(options.seed + i, config.firstOctave, config.amplitudes)\n\t\t\t})\n\t\t\treturn closestBiome(noise, state.biomes, xx, yy)\n\t\tcase 'fixed': return state.biome\n\t\tcase 'checkerboard':\n\t\t\tconst shift = (state.scale ?? 2) + 2\n\t\t\tconst numBiomes = state.biomes?.length ?? 0\n\t\t\tconst j = (((xx >> shift) + (yy >> shift)) % numBiomes + numBiomes) % numBiomes\n\t\t\treturn state.biomes?.[j]\n\t}\n\treturn undefined\n}\n\nexport function getBiomeColor(biome: string, biomeColors: BiomeColors) {\n\tif (!biome) {\n\t\treturn [128, 128, 128]\n\t}\n\tconst color = biomeColors[biome] ?? VanillaColors[biome]\n\tif (color === undefined) {\n\t\treturn stringToColor(biome)\n\t}\n\treturn color\n}\n\nfunction toWorld([x, y]: [number, number], options: BiomeSourceOptions) {\n\tconst xx = (x - options.offset[0] - 100 + options.res / 2) * options.scale\n\tconst yy = (y - options.offset[1] - 100 + options.res / 2) * options.scale\n\treturn [xx, yy]\n}\n\nfunction closestBiome(noise: NormalNoise[], biomes: any[], x: number, y: number): string {\n\tif (!Array.isArray(biomes) || biomes.length === 0) return ''\n\tconst n = noise.map(n => n.getValue(x, y, 0))\n\tlet minDist = Infinity\n\tlet minBiome = ''\n\tfor (const b of biomes) {\n\t\tconst dist = fitness(b.parameters, {altitude: n[0], temperature: n[1], humidity: n[2], weirdness: n[3], offset: 0})\n\t\tif (dist < minDist) {\n\t\t\tminDist = dist\n\t\t\tminBiome = b.biome\n\t\t}\n\t}\n\treturn minBiome\n}\n\nfunction fitness(a: any, b: any) {\n\treturn (a.altitude - b.altitude) * (a.altitude - b.altitude) + (a.temperature - b.temperature) * (a.temperature - b.temperature) + (a.humidity - b.humidity) * (a.humidity - b.humidity) + (a.weirdness - b.weirdness) * (a.weirdness - b.weirdness) + (a.offset - b.offset) * (a.offset - b.offset)\n}\n\nconst VanillaColors: Record = {\n\t'minecraft:badlands': [217,69,21],\n\t'minecraft:badlands_plateau': [202,140,101],\n\t'minecraft:bamboo_jungle': [118,142,20],\n\t'minecraft:bamboo_jungle_hills': [59,71,10],\n\t'minecraft:basalt_deltas': [64,54,54],\n\t'minecraft:beach': [250,222,85],\n\t'minecraft:birch_forest': [48,116,68],\n\t'minecraft:birch_forest_hills': [31,95,50],\n\t'minecraft:cold_ocean': [32,32,112],\n\t'minecraft:crimson_forest': [221,8,8],\n\t'minecraft:dark_forest': [64,81,26],\n\t'minecraft:dark_forest_hills': [104,121,66],\n\t'minecraft:deep_cold_ocean': [32,32,56],\n\t'minecraft:deep_frozen_ocean': [64,64,144],\n\t'minecraft:deep_lukewarm_ocean': [0,0,64],\n\t'minecraft:deep_ocean': [0,0,48],\n\t'minecraft:deep_warm_ocean': [0,0,80],\n\t'minecraft:desert': [250,148,24],\n\t'minecraft:desert_hills': [210,95,18],\n\t'minecraft:desert_lakes': [255,188,64],\n\t'minecraft:end_barrens': [128,128,255],\n\t'minecraft:end_highlands': [128,128,255],\n\t'minecraft:end_midlands': [128,128,255],\n\t'minecraft:eroded_badlands': [255,109,61],\n\t'minecraft:flower_forest': [45,142,73],\n\t'minecraft:forest': [5,102,33],\n\t'minecraft:frozen_ocean': [112,112,214],\n\t'minecraft:frozen_river': [160,160,255],\n\t'minecraft:giant_spruce_taiga': [129,142,121],\n\t'minecraft:giant_spruce_taiga_hills': [109,119,102],\n\t'minecraft:giant_tree_taiga': [89,102,81],\n\t'minecraft:giant_tree_taiga_hills': [69,79,62],\n\t'minecraft:gravelly_mountains': [136,136,136],\n\t'minecraft:ice_spikes': [180,220,220],\n\t'minecraft:jungle': [83,123,9],\n\t'minecraft:jungle_edge': [98,139,23],\n\t'minecraft:jungle_hills': [44,66,5],\n\t'minecraft:lukewarm_ocean': [0,0,144],\n\t'minecraft:modified_badlands_plateau': [242,180,141],\n\t'minecraft:modified_gravelly_mountains': [120,152,120],\n\t'minecraft:modified_jungle': [123,163,49],\n\t'minecraft:modified_jungle_edge': [138,179,63],\n\t'minecraft:modified_wooded_badlands_plateau': [216,191,141],\n\t'minecraft:mountain_edge': [114,120,154],\n\t'minecraft:mountains': [96,96,96],\n\t'minecraft:mushroom_field_shore': [160,0,255],\n\t'minecraft:mushroom_fields': [255,0,255],\n\t'minecraft:nether_wastes': [191,59,59],\n\t'minecraft:ocean': [0,0,112],\n\t'minecraft:plains': [141,179,96],\n\t'minecraft:river': [0,0,255],\n\t'minecraft:savanna': [189,178,95],\n\t'minecraft:savanna_plateau': [167,157,100],\n\t'minecraft:shattered_savanna': [229,218,135],\n\t'minecraft:shattered_savanna_plateau': [207,197,140],\n\t'minecraft:small_end_islands': [128,128,255],\n\t'minecraft:snowy_beach': [250,240,192],\n\t'minecraft:snowy_mountains': [160,160,160],\n\t'minecraft:snowy_taiga': [49,85,74],\n\t'minecraft:snowy_taiga_hills': [36,63,54],\n\t'minecraft:snowy_taiga_mountains': [89,125,114],\n\t'minecraft:snowy_tundra': [255,255,255],\n\t'minecraft:soul_sand_valley': [94,56,48],\n\t'minecraft:stone_shore': [162,162,132],\n\t'minecraft:sunflower_plains': [181,219,136],\n\t'minecraft:swamp': [7,249,178],\n\t'minecraft:swamp_hills': [47,255,218],\n\t'minecraft:taiga': [11,102,89],\n\t'minecraft:taiga_hills': [22,57,51],\n\t'minecraft:taiga_mountains': [51,142,129],\n\t'minecraft:tall_birch_forest': [88,156,108],\n\t'minecraft:tall_birch_hills': [71,135,90],\n\t'minecraft:the_end': [128,128,255],\n\t'minecraft:the_void': [0,0,0],\n\t'minecraft:warm_ocean': [0,0,172],\n\t'minecraft:warped_forest': [73,144,123],\n\t'minecraft:wooded_badlands_plateau': [176,151,101],\n\t'minecraft:wooded_hills': [34,85,28],\n\t'minecraft:wooded_mountains': [80,112,80],\n}\n\nconst NetherPreset = {type:'minecraft:multi_noise',seed:0,altitude_noise:{firstOctave:-7,amplitudes:[1,1]},temperature_noise:{firstOctave:-7,amplitudes:[1,1]},humidity_noise:{firstOctave:-7,amplitudes:[1,1]},weirdness_noise:{firstOctave:-7,amplitudes:[1,1]},biomes:[{biome:'minecraft:nether_wastes',parameters:{altitude:0,temperature:0,humidity:0,weirdness:0,offset:0}},{biome:'minecraft:soul_sand_valley',parameters:{altitude:0,temperature:0,humidity:-0.5,weirdness:0,offset:0}},{biome:'minecraft:crimson_forest',parameters:{altitude:0,temperature:0.4,humidity:0,weirdness:0,offset:0}},{biome:'minecraft:warped_forest',parameters:{altitude:0,temperature:0,humidity:0.5,weirdness:0,offset:0.375}},{biome:'minecraft:basalt_deltas',parameters:{altitude:0,temperature:-0.5,humidity:0,weirdness:0,offset:0.175}}]}\n","import seedrandom from 'seedrandom'\nimport type { VersionId } from '../Schemas'\nimport { clamp, stringToColor } from '../Utils'\nimport { PerlinNoise } from './noise/PerlinNoise'\n\ntype BlockPos = [number, number, number]\ntype Placement = [BlockPos, number]\n\ntype PlacementContext = {\n\tplacements: Placement[],\n\tfeatures: string[],\n\trandom: seedrandom.prng,\n\tbiomeInfoNoise: PerlinNoise,\n\tseaLevel: number,\n\tversion: VersionId,\n}\n\nconst terrain = [50, 50, 51, 51, 52, 52, 53, 54, 56, 57, 57, 58, 58, 59, 60, 60, 60, 59, 59, 59, 60, 61, 61, 62, 63, 63, 64, 64, 64, 65, 65, 66, 66, 65, 65, 66, 66, 67, 67, 67, 68, 69, 71, 73, 74, 76, 79, 80, 81, 81, 82, 83, 83, 82, 82, 81, 81, 80, 80, 80, 81, 81, 82, 82] \n\nconst featureColors = [\n\t[255, 77, 54], // red\n\t[59, 118, 255], // blue\n\t[91, 207, 25], // green\n\t[217, 32, 245], // magenta\n\t[255, 209, 41], // yellow\n\t[52, 204, 209], // cyan\n]\n\nexport type DecoratorOptions = {\n\tsize: [number, number, number],\n\tseed: string,\n\tversion: VersionId,\n}\nexport function decorator(state: any, img: ImageData, options: DecoratorOptions) {\n\tconst random = seedrandom(options.seed)\n\tconst ctx: PlacementContext = {\n\t\tplacements: [],\n\t\tfeatures: [],\n\t\trandom,\n\t\tbiomeInfoNoise: new PerlinNoise(options.seed + 'frwynup', 0, [1]),\n\t\tseaLevel: 63,\n\t\tversion: options.version,\n\t}\n\n\tfor (let x = 0; x < options.size[0] / 16; x += 1) {\n\t\tfor (let z = 0; z < options.size[2] / 16; z += 1) {\n\t\t\tgetPlacements([x * 16, 0, z * 16], state, ctx)\n\t\t}\n\t}\n\n\tconst data = img.data\n\timg.data.fill(255)\n\n\tfor (const [pos, feature] of ctx.placements) {\n\t\tif (pos[0] < 0 || pos[1] < 0 || pos[2] < 0 || pos[0] >= options.size[0] || pos[1] >= options.size[1] || pos[2] >= options.size[2]) continue\n\t\tconst i = (pos[2] * (img.width * 4)) + (pos[0] * 4)\n\t\tconst color = feature < featureColors.length ? featureColors[feature] : stringToColor(ctx.features[feature])\n\t\tdata[i] = clamp(50, 205, color[0])\n\t\tdata[i + 1] = clamp(50, 205, color[1])\n\t\tdata[i + 2] = clamp(50, 205, color[2])\n\t\tdata[i + 3] = 255\n\t}\n\n\tfor (let x = 0; x < options.size[0]; x += 1) {\n\t\tfor (let y = 0; y < options.size[2]; y += 1) {\n\t\t\tif ((Math.floor(x / 16) + Math.floor(y / 16)) % 2 === 0) continue\n\t\t\tconst i = (y * (img.width * 4)) + (x * 4)\n\t\t\tfor (let j = 0; j < 3; j += 1) {\n\t\t\t\tdata[i + j] = 0.85 * data[i + j] \n\t\t\t}\n\t\t}\n\t}\n}\n\nfunction normalize(id: string) {\n\treturn id.startsWith('minecraft:') ? id.slice(10) : id\n}\n\nfunction decorateY(pos: BlockPos, y: number): BlockPos[] {\n\treturn [[ pos[0], y, pos[2] ]]\n}\n\nfunction nextInt(max: number, ctx: PlacementContext): number {\n\treturn Math.floor(ctx.random() * max)\n}\n\nfunction sampleInt(value: any, ctx: PlacementContext): number {\n\tif (typeof value === 'number') {\n\t\treturn value\n\t} else if (value.base) {\n\t\treturn value.base ?? 1 + nextInt(1 + (value.spread ?? 0), ctx)\n\t} else {\n\t\tswitch (normalize(value.type)) {\n\t\t\tcase 'constant': return value.value\n\t\t\tcase 'uniform': return value.value.min_inclusive + nextInt(value.value.max_inclusive - value.value.min_inclusive + 1, ctx)\n\t\t\tcase 'biased_to_bottom': return value.value.min_inclusive + nextInt(nextInt(value.value.max_inclusive - value.value.min_inclusive + 1, ctx) + 1, ctx)\n\t\t\tcase 'clamped': return Math.max(value.value.min_inclusive, Math.min(value.value.max_inclusive, sampleInt(value.value.source, ctx)))\n\t\t}\n\t\treturn 1\n\t}\n}\n\nfunction useFeature(s: string, ctx: PlacementContext) {\n\tconst i = ctx.features.indexOf(s)\n\tif (i != -1) return i\n\tctx.features.push(s)\n\treturn ctx.features.length - 1\n}\n\nfunction getPlacements(pos: BlockPos, feature: any, ctx: PlacementContext): void {\n\tif (typeof feature === 'string') {\n\t\tctx.placements.push([pos, useFeature(feature, ctx)])\n\t\treturn\n\t}\n\tconst type = normalize(feature?.type ?? 'no_op')\n\tconst featureFn = Features[type]\n\tif (featureFn) {\n\t\tfeatureFn(feature.config, pos, ctx)\n\t} else {\n\t\tctx.placements.push([pos, useFeature(JSON.stringify(feature), ctx)])\n\t}\n}\n\nfunction getPositions(pos: BlockPos, decorator: any, ctx: PlacementContext): BlockPos[] {\n\tconst type = normalize(decorator?.type ?? 'nope')\n\tconst decoratorFn = Decorators[type]\n\tif (!decoratorFn) {\n\t\treturn [pos]\n\t}\n\treturn decoratorFn(decorator?.config, pos, ctx)\n}\n\nconst Features: {\n\t[key: string]: (config: any, pos: BlockPos, ctx: PlacementContext) => void,\n} = {\n\tdecorated: (config, pos, ctx) => {\n\t\tconst positions = getPositions(pos, config?.decorator, ctx)\n\t\tpositions.forEach(p => getPlacements(p, config?.feature, ctx))\n\t},\n\trandom_boolean_selector: (config, pos, ctx) => {\n\t\tconst feature = ctx.random() < 0.5 ? config?.feature_true : config?.feature_false\n\t\tgetPlacements(pos, feature, ctx)\n\t},\n\trandom_selector: (config, pos, ctx) => {\n\t\tfor (const f of config?.features ?? []) {\n\t\t\tif (ctx.random() < (f?.chance ?? 0)) {\n\t\t\t\tgetPlacements(pos, f.feature, ctx)\n\t\t\t\treturn\n\t\t\t}\n\t\t}\n\t\tgetPlacements(pos, config?.default, ctx)\n\t},\n\tsimple_random_selector: (config, pos, ctx) => {\n\t\tconst feature = config?.features?.[nextInt(config?.features?.length ?? 0, ctx)]\n\t\tgetPlacements(pos, feature, ctx)\n\t},\n}\n\nconst Decorators: {\n\t[key: string]: (config: any, pos: BlockPos, ctx: PlacementContext) => BlockPos[],\n} = {\n\tchance: (config, pos, ctx) => {\n\t\treturn ctx.random() < 1 / (config?.chance ?? 1) ? [pos] : []\n\t},\n\tcount: (config, pos, ctx) => {\n\t\treturn new Array(sampleInt(config?.count ?? 1, ctx)).fill(pos)\n\t},\n\tcount_extra: (config, pos, ctx) => {\n\t\tlet count = config?.count ?? 1\n\t\tif (ctx.random() < config.extra_chance ?? 0){\n\t\t\tcount += config.extra_count ?? 0\n\t\t}\n\t\treturn new Array(count).fill(pos)\n\t},\n\tcount_multilayer: (config, pos, ctx) => {\n\t\treturn new Array(sampleInt(config?.count ?? 1, ctx)).fill(pos)\n\t\t\t.map(p => [\n\t\t\t\tp[0] + nextInt(16, ctx),\n\t\t\t\tp[1], \n\t\t\t\tp[2] + nextInt(16, ctx),\n\t\t\t])\n\t},\n\tcount_noise: (config, pos, ctx) => {\n\t\tconst noise = ctx.biomeInfoNoise.getValue(pos[0] / 200, 0, pos[2] / 200)\n\t\tconst count = noise < config.noise_level ? config.below_noise : config.above_noise\n\t\treturn new Array(count).fill(pos)\n\t},\n\tcount_noise_biased: (config, pos, ctx) => {\n\t\tconst factor = Math.max(1, config.noise_factor)\n\t\tconst noise = ctx.biomeInfoNoise.getValue(pos[0] / factor, 0, pos[2] / factor)\n\t\tconst count = Math.max(0, Math.ceil((noise + (config.noise_offset ?? 0)) * config.noise_to_count_ratio))\n\t\treturn new Array(count).fill(pos)\n\t},\n\tdark_oak_tree: (_config, pos, ctx) => {\n\t\treturn [...new Array(16)].map((_, i) => {\n\t\t\tconst x = Math.floor(i / 4) * 4 + 1 + nextInt(3, ctx) + pos[0]\n\t\t\tconst y = Math.max(ctx.seaLevel, terrain[clamp(0, 63, x)])\n\t\t\tconst z = Math.floor(i % 4) * 4 + 1 + nextInt(3, ctx) + pos[2]\n\t\t\treturn [x, y, z]\n\t\t})\n\t},\n\tdecorated: (config, pos, ctx) => {\n\t\treturn getPositions(pos, config?.outer, ctx).flatMap(p => {\n\t\t\treturn getPositions(p, config?.inner, ctx)\n\t\t})\n\t},\n\tdepth_average: (config, pos, ctx) => {\n\t\tconst y = nextInt(config?.spread ?? 0, ctx) + nextInt(config?.spread ?? 0, ctx) - (config.spread ?? 0) + (config?.baseline ?? 0)\n\t\treturn decorateY(pos, y)\n\t},\n\temerald_ore: (_config, pos, ctx) => {\n\t\tconst count = 3 + nextInt(6, ctx)\n\t\treturn [...new Array(count)].map(() => [\n\t\t\tpos[0] + nextInt(16, ctx),\n\t\t\t4 + nextInt(28, ctx),\n\t\t\tpos[2] + nextInt(16, ctx),\n\t\t])\n\t},\n\tfire: (config, pos, ctx) => {\n\t\tconst count = 1 + nextInt(nextInt(sampleInt(config?.count, ctx), ctx), ctx)\n\t\treturn [...new Array(count)].map(() => [\n\t\t\tpos[0] + nextInt(16, ctx),\n\t\t\tnextInt(128, ctx),\n\t\t\tpos[2] + nextInt(16, ctx),\n\t\t])\n\t},\n\tglowstone: (config, pos, ctx) => {\n\t\tconst count = nextInt(1 + nextInt(sampleInt(config?.count, ctx), ctx), ctx)\n\t\treturn [...new Array(count)].map(() => [\n\t\t\tpos[0] + nextInt(16, ctx),\n\t\t\tnextInt(128, ctx),\n\t\t\tpos[2] + nextInt(16, ctx),\n\t\t])\n\t},\n\theightmap: (_config, pos, ctx) => {\n\t\tconst y = Math.max(ctx.seaLevel, terrain[clamp(0, 63, pos[0])])\n\t\treturn decorateY(pos, y)\n\t},\n\theightmap_spread_double: (_config, pos, ctx) => {\n\t\tconst y = Math.max(ctx.seaLevel, terrain[clamp(0, 63, pos[0])])\n\t\treturn decorateY(pos, nextInt(y * 2, ctx))\n\t},\n\theightmap_world_surface: (_config, pos, ctx) => {\n\t\tconst y = Math.max(ctx.seaLevel, terrain[clamp(0, 63, pos[0])])\n\t\treturn decorateY(pos, y)\n\t},\n\ticeberg: (_config, pos, ctx) => {\n\t\treturn [[\n\t\t\tpos[0] + 4 + nextInt(8, ctx),\n\t\t\tpos[1],\n\t\t\tpos[2] + 4 + nextInt(8, ctx),\n\t\t]]\n\t},\n\tlava_lake: (config, pos, ctx) => {\n\t\tif (nextInt((config.chance ?? 1) / 10, ctx) === 0) {\n\t\t\tconst y = nextInt(nextInt(256 - 8, ctx) + 8, ctx)\n\t\t\tif (y < ctx.seaLevel || nextInt((config?.chance ?? 1) / 8, ctx) == 0) {\n\t\t\t\tconst x = nextInt(16, ctx) + pos[0]\n\t\t\t\tconst z = nextInt(16, ctx) + pos[2]\n\t\t\t\treturn [[x, y, z]]\n\t\t\t}\n\t\t}\n\t\treturn []\n\t},\n\tnope: (_config, pos) => {\n\t\treturn [pos]\n\t},\n\trange: (config, pos, ctx) => {\n\t\tconst y = nextInt((config?.maximum ?? 1) - (config?.top_offset ?? 0), ctx) + (config?.bottom_offset ?? 0)\n\t\treturn decorateY(pos, y)\n\t},\n\trange_biased: (config, pos, ctx) => {\n\t\tconst y = nextInt(nextInt((config?.maximum ?? 1) - (config?.top_offset ?? 0), ctx) + (config?.bottom_offset ?? 0), ctx)\n\t\treturn decorateY(pos, y)\n\t},\n\trange_very_biased: (config, pos, ctx) => {\n\t\tconst y = nextInt(nextInt(nextInt((config?.maximum ?? 1) - (config?.top_offset ?? 0), ctx) + (config?.bottom_offset ?? 0), ctx) + (config?.bottom_offset ?? 0), ctx)\n\t\treturn decorateY(pos, y)\n\t},\n\tspread_32_above: (_config, pos, ctx) => {\n\t\tconst y = nextInt(pos[1] + 32, ctx)\n\t\treturn decorateY(pos, y)\n\t},\n\ttop_solid_heightmap: (_config, pos) => {\n\t\tconst y = terrain[clamp(0, 63, pos[0])]\n\t\treturn decorateY(pos, y)\n\t},\n\tmagma: (_config, pos, ctx) => {\n\t\tconst y = nextInt(pos[1] + 32, ctx)\n\t\treturn decorateY(pos, y)\n\t},\n\tsquare: (_config, pos, ctx) => {\n\t\treturn [[\n\t\t\tpos[0] + nextInt(16, ctx),\n\t\t\tpos[1],\n\t\t\tpos[2] + nextInt(16, ctx),\n\t\t]]\n\t},\n\twater_lake: (config, pos, ctx) => {\n\t\tif (nextInt(config.chance ?? 1, ctx) === 0) {\n\t\t\treturn [[\n\t\t\t\tpos[0] + nextInt(16, ctx),\n\t\t\t\tnextInt(256, ctx),\n\t\t\t\tpos[2] + nextInt(16, ctx),\n\t\t\t]]\n\t\t}\n\t\treturn []\n\t},\n}\n","import { clampedLerp, lerp2 } from '../../Utils'\nimport { PerlinNoise } from './PerlinNoise'\n\nexport class NoiseChunkGenerator {\n\tprivate readonly minLimitPerlinNoise: PerlinNoise\n\tprivate readonly maxLimitPerlinNoise: PerlinNoise\n\tprivate readonly mainPerlinNoise: PerlinNoise\n\tprivate readonly depthNoise: PerlinNoise\n\n\tprivate settings: any = {}\n\tprivate chunkWidth: number = 4\n\tprivate chunkHeight: number = 4\n\tprivate chunkCountY: number = 32\n\tprivate biomeDepth: number = 0.1\n\tprivate biomeScale: number = 0.2\n\n\tprivate noiseColumnCache: (number[] | null)[] = []\n\tprivate xOffset: number = 0\n\n\tconstructor(seed: string) {\n\t\tthis.minLimitPerlinNoise = PerlinNoise.fromRange(seed + 'djfqnqd', -15, 0)\n\t\tthis.maxLimitPerlinNoise = PerlinNoise.fromRange(seed + 'gowdnqs', -15, 0)\n\t\tthis.mainPerlinNoise = PerlinNoise.fromRange(seed + 'afiwmco', -7, 0)\n\t\tthis.depthNoise = PerlinNoise.fromRange(seed + 'qphnmeo', -15, 0)\n\t}\n\n\tpublic reset(settings: any, depth: number, scale: number, xOffset: number, width: number) {\n\t\tthis.settings = settings\n\t\tthis.chunkWidth = settings.size_horizontal * 4\n\t\tthis.chunkHeight = settings.size_vertical * 4\n\t\tthis.chunkCountY = Math.floor(settings.height / this.chunkHeight)\n\n\t\tif (settings.amplified && depth > 0) {\n\t\t\tdepth = 1 + depth * 2\n\t\t\tscale = 1 + scale * 4\n\t\t}\n\t\tthis.biomeDepth = 0.265625 * (depth * 0.5 - 0.125)\n\t\tthis.biomeScale = 96.0 / (scale * 0.9 + 0.1)\n\n\t\tthis.noiseColumnCache = Array(width).fill(null)\n\t\tthis.xOffset = xOffset\n\t}\n \n\tpublic iterateNoiseColumn(x: number): number[] {\n\t\tconst data = Array(this.chunkCountY * this.chunkHeight)\n\t\tconst cx = Math.floor(x / this.chunkWidth)\n\t\tconst ox = Math.floor(x % this.chunkWidth) / this.chunkWidth\n\t\tconst noise1 = this.fillNoiseColumn(cx)\n\t\tconst noise2 = this.fillNoiseColumn(cx + 1)\n\n\t\tfor (let y = this.chunkCountY - 1; y >= 0; y -= 1) {\n\t\t\tfor (let yy = this.chunkHeight; yy >= 0; yy -= 1) {\n\t\t\t\tconst oy = yy / this.chunkHeight\n\t\t\t\tconst i = y * this.chunkHeight + yy\n\t\t\t\tdata[i] = lerp2(oy, ox, noise1[y], noise1[y+1], noise2[y], noise2[y+1])\n\t\t\t}\n\t\t}\n\t\treturn data\n\t}\n\n\tprivate fillNoiseColumn(x: number): number[] {\n\t\tconst cachedColumn = this.noiseColumnCache[x - this.xOffset]\n\t\tif (cachedColumn) return cachedColumn\n\n\t\tconst data = Array(this.chunkCountY + 1)\n\n\t\tconst xzScale = 684.412 * this.settings.sampling.xz_scale\n\t\tconst yScale = 684.412 * this.settings.sampling.y_scale\n\t\tconst xzFactor = xzScale / this.settings.sampling.xz_factor\n\t\tconst yFactor = yScale / this.settings.sampling.y_factor\n\t\tconst randomDensity = this.settings.random_density_offset ? this.getRandomDensity(x) : 0\n\n\t\tfor (let y = 0; y <= this.chunkCountY; y += 1) {\n\t\t\tlet noise = this.sampleAndClampNoise(x, y, this.mainPerlinNoise.getOctaveNoise(0).zo, xzScale, yScale, xzFactor, yFactor)\n\t\t\tconst yOffset = 1 - y * 2 / this.chunkCountY + randomDensity\n\t\t\tconst density = yOffset * this.settings.density_factor + this.settings.density_offset\n\t\t\tconst falloff = (density + this.biomeDepth) * this.biomeScale\n\t\t\tnoise += falloff * (falloff > 0 ? 4 : 1)\n\n\t\t\tif (this.settings.top_slide.size > 0) {\n\t\t\t\tnoise = clampedLerp(\n\t\t\t\t\tthis.settings.top_slide.target,\n\t\t\t\t\tnoise,\n\t\t\t\t\t(this.chunkCountY - y - (this.settings.top_slide.offset)) / (this.settings.top_slide.size)\n\t\t\t\t)\n\t\t\t}\n\n\t\t\tif (this.settings.bottom_slide.size > 0) {\n\t\t\t\tnoise = clampedLerp(\n\t\t\t\t\tthis.settings.bottom_slide.target,\n\t\t\t\t\tnoise,\n\t\t\t\t\t(y - (this.settings.bottom_slide.offset)) / (this.settings.bottom_slide.size)\n\t\t\t\t)\n\t\t\t}\n\t\t\tdata[y] = noise\n\t\t}\n\n\t\tthis.noiseColumnCache[x - this.xOffset] = data\n\t\treturn data\n\t}\n\n\tprivate getRandomDensity(x: number): number {\n\t\tconst noise = this.depthNoise.getValue(x * 200, 10, this.depthNoise.getOctaveNoise(0).zo, 1, 0, true)\n\t\tconst a = (noise < 0) ? -noise * 0.3 : noise\n\t\tconst b = a * 24.575625 - 2\n\t\treturn (b < 0) ? b * 0.009486607142857142 : Math.min(b, 1) * 0.006640625\n\t}\n\n\tprivate sampleAndClampNoise(x: number, y: number, z: number, xzScale: number, yScale: number, xzFactor: number, yFactor: number): number {\n\t\tlet a = 0\n\t\tlet b = 0\n\t\tlet c = 0\n\t\tlet d = 1\n\n\t\tfor (let i = 0; i < 16; i += 1) {\n\t\t\tconst x2 = PerlinNoise.wrap(x * xzScale * d)\n\t\t\tconst y2 = PerlinNoise.wrap(y * yScale * d)\n\t\t\tconst z2 = PerlinNoise.wrap(z * xzScale * d)\n\t\t\tconst e = yScale * d\n\n\t\t\tconst minLimitNoise = this.minLimitPerlinNoise.getOctaveNoise(i)\n\t\t\tif (minLimitNoise) {\n\t\t\t\ta += minLimitNoise.noise(x2, y2, z2, e, y * e) / d\n\t\t\t}\n\n\t\t\tconst maxLimitNoise = this.maxLimitPerlinNoise.getOctaveNoise(i)\n\t\t\tif (maxLimitNoise) {\n\t\t\t\tb += maxLimitNoise.noise(x2, y2, z2, e, y * e) / d\n\t\t\t}\n\n\t\t\tif (i < 8) {\n\t\t\t\tconst mainNoise = this.mainPerlinNoise.getOctaveNoise(i)\n\t\t\t\tif (mainNoise) {\n\t\t\t\t\tc += mainNoise.noise(\n\t\t\t\t\t\tPerlinNoise.wrap(x * xzFactor * d),\n\t\t\t\t\t\tPerlinNoise.wrap(y * yFactor * d),\n\t\t\t\t\t\tPerlinNoise.wrap(z * xzFactor * d),\n\t\t\t\t\t\tyFactor * d,\n\t\t\t\t\t\ty * yFactor * d \n\t\t\t\t\t) / d\n\t\t\t\t}\n\t\t\t}\n\n\t\t\td /= 2\n\t\t}\n\n\t\treturn clampedLerp(a / 512, b / 512, (c / 10 + 1) / 2)\n\t}\n}\n","import { NoiseChunkGenerator } from './noise/NoiseChunkGenerator'\n\nexport type NoiseSettingsOptions = {\n\tbiomeScale: number,\n\tbiomeDepth: number,\n\toffset: number,\n\twidth: number,\n\tseed: string,\n}\n\nexport function noiseSettings(state: any, img: ImageData, options: NoiseSettingsOptions) {\n\tconst generator = new NoiseChunkGenerator(options.seed)\n\tgenerator.reset(state, options.biomeDepth, options.biomeScale, options.offset, 200)\n\tconst data = img.data\n\tconst row = img.width * 4\n\tfor (let x = 0; x < options.width; x += 1) {\n\t\tconst noise = generator.iterateNoiseColumn(x - options.offset).reverse()\n\t\tfor (let y = 0; y < state.height; y += 1) {\n\t\t\tconst i = y * row + x * 4\n\t\t\tconst color = getColor(noise, y)\n\t\t\tdata[i] = color\n\t\t\tdata[i + 1] = color\n\t\t\tdata[i + 2] = color\n\t\t\tdata[i + 3] = 255\n\t\t}\n\t}\n}\n\nfunction getColor(noise: number[], y: number): number {\n\tif (noise[y] > 0) {\n\t\treturn 0\n\t}\n\tif (noise[y+1] > 0) {\n\t\treturn 150\n\t}\n\treturn 255\n}\n","import type { DataModel } from '@mcschema/core'\nimport { Path } from '@mcschema/core'\nimport type { FunctionalComponent } from 'preact'\nimport { useState } from 'preact/hooks'\nimport { useModel } from '../hooks'\nimport type { VersionId } from '../Schemas'\nimport { BiomeSourcePreview, DecoratorPreview, NoiseSettingsPreview } from './previews'\n\nexport const HasPreview = ['dimension', 'worldgen/noise_settings', 'worldgen/configured_feature']\n\nexport const Previews: {\n\tid: string,\n\tgenerator: string,\n\tpath: Path,\n\tpredicate: (model: DataModel) => boolean,\n\tpreview: FunctionalComponent<{\n\t\tlang: string,\n\t\tmodel: DataModel,\n\t\tdata: any,\n\t\tversion: VersionId,\n\t\tshown: boolean,\n\t}>,\n}[] = [\n\t{\n\t\tid: 'biome-noise',\n\t\tgenerator: 'dimension',\n\t\tpath: new Path(['generator', 'biome_source']),\n\t\tpredicate: model => model.get(new Path(['generator', 'type'])).endsWith('noise'),\n\t\tpreview: BiomeSourcePreview,\n\t},\n\t{\n\t\tid: 'noise-settings',\n\t\tgenerator: 'worldgen/noise_settings',\n\t\tpath: new Path(['noise']),\n\t\tpredicate: () => true,\n\t\tpreview: NoiseSettingsPreview,\n\t},\n\t{\n\t\tid: 'decorator',\n\t\tgenerator: 'worldgen/configured_feature',\n\t\tpath: new Path([]),\n\t\tpredicate: () => true,\n\t\tpreview: DecoratorPreview,\n\t},\n]\n\ntype PreviewPanelProps = {\n\tlang: string,\n\tmodel: DataModel | null,\n\tversion: VersionId,\n\tid: string,\n\tshown: boolean,\n\tonError: (message: string) => unknown,\n}\nexport function PreviewPanel({ lang, model, version, id, shown }: PreviewPanelProps) {\n\tconst [, setCount] = useState(0)\n\n\tuseModel(model, () => {\n\t\tsetCount(count => count + 1)\n\t})\n\n\treturn <>\n\t\t{Previews.filter(p => p.generator === id).map(p => {\n\t\t\tconst data = model?.get(p.path)\n\t\t\tif (!model || data === undefined || !p.predicate(model)) {\n\t\t\t\treturn <>\n\t\t\t}\n\t\t\treturn p.preview({ lang, model: model!, data, version, shown })\n\t\t})}\n\t\n}\n","import type { DataModel } from '@mcschema/core'\nimport { useEffect, useRef, useState } from 'preact/hooks'\nimport { Btn } from '..'\nimport { useOnDrag, useOnHover } from '../../hooks'\nimport { biomeSource, getBiome } from '../../previews'\nimport { hexId } from '../../Utils'\n\ntype BiomeSourceProps = {\n\tlang: string,\n\tmodel: DataModel,\n\tdata: any,\n\tshown: boolean,\n}\nexport const BiomeSourcePreview = ({ data, shown }: BiomeSourceProps) => {\n\tconst [scale, setScale] = useState(2)\n\tconst [seed, setSeed] = useState(hexId())\n\tconst [focused, setFocused] = useState(undefined)\n\tconst type: string = data.type?.replace(/^minecraft:/, '')\n\n\tconst canvas = useRef(null)\n\tconst offset = useRef<[number, number]>([0, 0])\n\tconst redrawTimeout = useRef(undefined)\n\tconst redraw = useRef()\n\tconst refocus = useRef()\n\n\tuseEffect(() => {\n\t\tredraw.current = (res = 4) => {\n\t\t\tif (type !== 'multi_noise') res = 1\n\t\t\tconst ctx = canvas.current.getContext('2d')!\n\t\t\tcanvas.current.width = 200 / res\n\t\t\tcanvas.current.height = 200 / res\n\t\t\tconst img = ctx.createImageData(canvas.current.width, canvas.current.height)\n\t\t\tbiomeSource(data, img, { biomeColors: {}, offset: offset.current, scale, seed, res })\n\t\t\tctx.putImageData(img, 0, 0)\n\t\t\tif (res !== 1) {\n\t\t\t\tclearTimeout(redrawTimeout.current)\n\t\t\t\tredrawTimeout.current = setTimeout(() => redraw.current(1), 150) as any\n\t\t\t}\n\t\t}\n\t\trefocus.current = (x: number, y: number) => {\n\t\t\tconst x2 = x * 200 / canvas.current.clientWidth\n\t\t\tconst y2 = y * 200 / canvas.current.clientHeight\n\t\t\tconst biome = getBiome(data, x2, y2, { biomeColors: {}, offset: offset.current, scale, seed, res: 1 })\n\t\t\tsetFocused(biome)\n\t\t}\n\t})\n\n\tuseOnDrag(canvas.current, (dx, dy) => {\n\t\tconst x = dx * 200 / canvas.current.clientWidth\n\t\tconst y = dy * 200 / canvas.current.clientHeight\n\t\toffset.current = [offset.current[0] + x, offset.current[1] + y]\n\t\tredraw.current()\n\t})\n\n\tuseOnHover(canvas.current, (x, y) => {\n\t\tif (x === undefined || y === undefined) {\n\t\t\tsetFocused(undefined)\n\t\t} else {\n\t\t\trefocus.current(x, y)\n\t\t}\n\t})\n\n\tconst state = JSON.stringify(data)\n\tuseEffect(() => {\n\t\tif (shown) {\n\t\t\tredraw.current()\n\t\t}\n\t}, [state, scale, seed, shown])\n\n\tconst changeScale = (newScale: number) => {\n\t\toffset.current[0] *= scale / newScale\n\t\toffset.current[1] *= scale / newScale\n\t\tsetScale(newScale)\n\t}\n\n\treturn <>\n\t\t
\n\t\t\t{focused && }\n\t\t\t{(type === 'multi_noise' || type === 'checkerboard') && <>\n\t\t\t\t changeScale(scale * 1.5)} />\n\t\t\t\t changeScale(scale / 1.5)} />\n\t\t\t}\n\t\t\t{type === 'multi_noise' &&\n\t\t\t\t setSeed(hexId())} />}\n\t\t
\n\t\t\n\t\n}\n","import { useEffect } from 'preact/hooks'\n\nexport function useOnHover(element: HTMLElement, hover: (x: number | undefined, y: number | undefined) => unknown) {\n\tif (!element) return\n\n\tconst onMouseMove = (e: MouseEvent) => {\n\t\thover(e.offsetX, e.offsetY)\n\t}\n\tconst onMouseLeave = () => {\n\t\thover(undefined, undefined)\n\t}\n\n\tuseEffect(() => {\n\t\telement.addEventListener('mousemove', onMouseMove)\n\t\telement.addEventListener('mouseleave', onMouseLeave)\n\t\treturn () => {\n\t\t\telement.removeEventListener('mousemove', onMouseMove)\n\t\t\telement.removeEventListener('mouseleave', onMouseLeave)\n\t\t}\n\t}, [element])\n}\n","import type { DataModel } from '@mcschema/core'\nimport { useEffect, useRef, useState } from 'preact/hooks'\nimport { Btn, BtnInput, BtnMenu } from '..'\nimport { useOnDrag } from '../../hooks'\nimport { locale } from '../../Locales'\nimport { noiseSettings } from '../../previews'\nimport { hexId } from '../../Utils'\n\ntype NoiseSettingsProps = {\n\tlang: string,\n\tmodel: DataModel,\n\tdata: any,\n\tshown: boolean,\n}\nexport const NoiseSettingsPreview = ({ lang, data, shown }: NoiseSettingsProps) => {\n\tconst loc = locale.bind(null, lang)\n\tconst [seed, setSeed] = useState(hexId())\n\tconst [biomeDepth, setBiomeDepth] = useState(0.1)\n\tconst [biomeScale, setBiomeScale] = useState(0.2)\n\n\tconst canvas = useRef(null)\n\tconst offset = useRef(0)\n\tconst redraw = useRef()\n\n\tuseEffect(() => {\n\t\tredraw.current = () => {\n\t\t\tconst ctx = canvas.current.getContext('2d')!\n\t\t\tconst size = data.height\n\t\t\tcanvas.current.width = size\n\t\t\tcanvas.current.height = size\n\t\t\tconst img = ctx.createImageData(canvas.current.width, canvas.current.height)\n\t\t\tnoiseSettings(data, img, { biomeDepth, biomeScale, offset: offset.current, width: size, seed })\n\t\t\tctx.putImageData(img, 0, 0)\n\t\t}\n\t})\n\n\tuseOnDrag(canvas.current, (dx) => {\n\t\tconst x = dx * canvas.current.width / canvas.current.clientWidth\n\t\toffset.current = offset.current + x\n\t\tredraw.current()\n\t})\n\n\tconst state = JSON.stringify(data)\n\tuseEffect(() => {\n\t\tif (shown) {\n\t\t\tredraw.current()\n\t\t}\n\t}, [state, biomeDepth, biomeScale, seed, shown])\n\n\treturn <>\n\t\t
\n\t\t\t\n\t\t\t\t setBiomeDepth(Number(v))} />\n\t\t\t\t setBiomeScale(Number(v))} />\n\t\t\t\n\t\t\t setSeed(hexId())} />\n\t\t
\n\t\t\n\t\n}\n","import type { DataModel } from '@mcschema/core'\nimport { useEffect, useRef, useState } from 'preact/hooks'\nimport { Btn } from '..'\nimport { decorator } from '../../previews'\nimport type { VersionId } from '../../Schemas'\nimport { hexId } from '../../Utils'\n\ntype DecoratorProps = {\n\tlang: string,\n\tmodel: DataModel,\n\tdata: any,\n\tversion: VersionId,\n\tshown: boolean,\n}\nexport const DecoratorPreview = ({ data, version, shown }: DecoratorProps) => {\n\tconst [scale, setScale] = useState(4)\n\tconst [seed, setSeed] = useState(hexId())\n\n\tconst canvas = useRef(null)\n\tconst redraw = useRef()\n\n\tuseEffect(() => {\n\t\tredraw.current = () => {\n\t\t\tconst ctx = canvas.current.getContext('2d')!\n\t\t\tcanvas.current.width = scale * 16\n\t\t\tcanvas.current.height = scale * 16\n\t\t\tconst img = ctx.createImageData(canvas.current.width, canvas.current.height)\n\t\t\tdecorator(data, img, { seed, version, size: [scale * 16, 128, scale * 16] })\n\t\t\tctx.putImageData(img, 0, 0)\n\t\t}\n\t})\n\n\tconst state = JSON.stringify(data)\n\tuseEffect(() => {\n\t\tif (shown) {\n\t\t\tsetTimeout(() => redraw.current())\n\t\t}\n\t}, [state, scale, seed, shown])\n\n\treturn <>\n\t\t
\n\t\t\t setScale(Math.min(16, scale + 1))} />\n\t\t\t setScale(Math.max(1, scale - 1))} />\n\t\t\t setSeed(hexId())} />\n\t\t
\n\t\t\n\t\n}\n","import type { Hook } from '@mcschema/core'\nimport { relativePath } from '@mcschema/core'\nimport type { BlockStateRegistry } from '../Schemas'\n\nexport type OutputProps = {\n\tblockStates: BlockStateRegistry,\n}\nexport const transformOutput: Hook<[any, OutputProps], any> = {\n\tbase({}, _, value) {\n\t\treturn value\n\t},\n\n\tchoice({ switchNode }, path, value, props) {\n\t\treturn switchNode.hook(this, path, value, props)\n\t},\n\n\tlist({ children }, path, value, props) {\n\t\tif (!Array.isArray(value)) return value\n\t\treturn value.map((obj, index) =>\n\t\t\tchildren.hook(this, path.push(index), obj, props)\n\t\t)\n\t},\n\n\tmap({ children, config }, path, value, props) {\n\t\tif (value === undefined) return undefined\n\t\tconst blockState = config.validation?.validator === 'block_state_map'? props.blockStates?.[relativePath(path, config.validation.params.id).get()] : null\n\t\tconst res: any = {}\n\t\tObject.keys(value).forEach(f => {\n\t\t\tif (blockState) {\n\t\t\t\tif (!Object.keys(blockState.properties ?? {}).includes(f)) return\n\t\t\t}\n\t\t\tres[f] = children.hook(this, path.push(f), value[f], props)\n\t\t})\n\t\treturn res\n\t},\n\n\tobject({ getActiveFields }, path, value, props) {\n\t\tif (value === undefined || value === null || typeof value !== 'object') {\n\t\t\treturn value\n\t\t}\n\t\tconst res: any = {}\n\t\tconst activeFields = getActiveFields(path)\n\t\tObject.keys(activeFields)\n\t\t\t.filter(k => activeFields[k].enabled(path))\n\t\t\t.forEach(f => {\n\t\t\t\tres[f] = activeFields[f].hook(this, path.push(f), value[f], props)\n\t\t\t})\n\t\treturn res\n\t},\n}\n","import type { VersionId } from './Schemas'\nimport { VersionIds } from './Schemas'\n\nexport namespace Store {\n\texport const ID_LANGUAGE = 'language'\n\texport const ID_THEME = 'theme'\n\texport const ID_VERSION = 'schema_version'\n\texport const ID_INDENT = 'indentation'\n\n\texport function getLanguage() {\n\t\treturn localStorage.getItem(ID_LANGUAGE) ?? 'en'\n\t}\n\n\texport function getTheme() {\n\t\treturn localStorage.getItem(ID_THEME) ?? 'dark'\n\t}\n\n\texport function getVersion(): VersionId {\n\t\tconst version = localStorage.getItem(ID_VERSION)\n\t\tif (version && VersionIds.includes(version as VersionId)) {\n\t\t\treturn version as VersionId\n\t\t}\n\t\treturn '1.17'\n\t}\n\n\texport function getIndent() {\n\t\treturn localStorage.getItem(ID_INDENT) ?? '2_spaces'\n\t}\n\n\texport function setLanguage(language: string | undefined) {\n\t\tif (language) localStorage.setItem(ID_LANGUAGE, language)\n\t}\n\n\texport function setTheme(theme: string | undefined) {\n\t\tif (theme) localStorage.setItem(ID_THEME, theme)\n\t}\n\n\texport function setVersion(version: VersionId | undefined) {\n\t\tif (version) localStorage.setItem(ID_VERSION, version)\n\t}\n\n\texport function setIndent(indent: string) {\n\t\tif (indent) localStorage.setItem(ID_INDENT, indent)\n\t}\n}\n","import type { DataModel } from '@mcschema/core'\nimport { ModelPath } from '@mcschema/core'\nimport { useEffect, useRef, useState } from 'preact/hooks'\nimport { Btn, BtnMenu } from '.'\nimport { useModel } from '../hooks'\nimport { locale } from '../Locales'\nimport { transformOutput } from '../schema/transformOutput'\nimport type { BlockStateRegistry } from '../Schemas'\nimport { Store } from '../Store'\n\nconst INDENT: Record = {\n\t'2_spaces': 2,\n\t'4_spaces': 4,\n\ttabs: '\\t',\n}\n\ntype SourcePanelProps = {\n\tlang: string,\n\tname: string,\n\tmodel: DataModel | null,\n\tblockStates: BlockStateRegistry | null,\n\tdoCopy?: number,\n\tdoDownload?: number,\n\tdoImport?: number,\n\tonError: (message: string) => unknown,\n}\nexport function SourcePanel({ lang, name, model, blockStates, doCopy, doDownload, doImport, onError }: SourcePanelProps) {\n\tconst loc = locale.bind(null, lang)\n\tconst [indent, setIndent] = useState(Store.getIndent())\n\tconst source = useRef(null)\n\tconst download = useRef(null)\n\tconst retransform = useRef()\n\n\tuseEffect(() => {\n\t\tretransform.current = () => {\n\t\t\tif (!model || !blockStates) return\n\t\t\ttry {\n\t\t\t\tconst props = { blockStates: blockStates ?? {} }\n\t\t\t\tconst data = model.schema.hook(transformOutput, new ModelPath(model), model.data, props)\n\t\t\t\tsource.current.value = JSON.stringify(data, null, INDENT[indent]) + '\\n'\n\t\t\t} catch (e) {\n\t\t\t\tonError(`Error getting JSON output: ${e.message}`)\n\t\t\t\tconsole.error(e)\n\t\t\t\tsource.current.value = ''\n\t\t\t}\n\t\t}\n\t})\n\n\tuseModel(model, () => {\n\t\tretransform.current()\n\t})\n\n\tuseEffect(() => {\n\t\tretransform.current()\n\t}, [indent])\n\n\tconst onImport = () => {\n\t\ttry {\n\t\t\tconst data = JSON.parse(source.current.value)\n\t\t\tmodel?.reset(data, false)\n\t\t} catch (e) {\n\t\t\tonError(`Error importing: ${e.message}`)\n\t\t}\n\t}\n\n\tuseEffect(() => {\n\t\tif (doCopy && source.current) {\n\t\t\tsource.current.select()\n\t\t\tdocument.execCommand('copy')\n\t\t}\n\t}, [doCopy])\n\n\tuseEffect(() => {\n\t\tif (doDownload && source.current && download.current) {\n\t\t\tconst content = encodeURIComponent(source.current.value)\n\t\t\tdownload.current.setAttribute('href', `data:text/json;charset=utf-8,${content}`)\n\t\t\tdownload.current.setAttribute('download', `${name}.json`)\n\t\t\tdownload.current.click()\n\t\t}\n\t}, [doDownload])\n\n\tuseEffect(() => {\n\t\tif (doImport && source.current) {\n\t\t\tsource.current.value = ''\n\t\t\tsource.current.select()\n\t\t}\n\t}, [doImport])\n\n\tconst changeIndent = (value: string) => {\n\t\tStore.setIndent(value)\n\t\tsetIndent(value)\n\t}\n\n\treturn <> \n\t\t
\n\t\t\t\n\t\t\t\t{Object.entries(INDENT).map(([key]) =>\n\t\t\t\t\t changeIndent(key)}/>\n\t\t\t\t)}\n\t\t\t\n\t\t
\n\t\t\n\t\t\n\t\n}\n","import type { ComponentChildren } from 'preact'\nimport { Icons } from './Icons'\n\ntype ToolCardProps = {\n\ttitle: string,\n\tlink: string,\n\ticon?: keyof typeof Icons,\n\tchildren?: ComponentChildren,\n}\nexport function ToolCard({ title, link, icon, children }: ToolCardProps) {\n\treturn \n\t\t{icon && Icons[icon]}\n\t\t
\n\t\t\t

{title}

\n\t\t\t{children}\n\t\t
\n\t
\n}\n","import { hexId } from '../Utils'\n\nexport class Mounter {\n\tprivate registry: { [id: string]: (el: Element) => void } = {}\n\n\tregister(callback: (el: Element) => void): string {\n\t\tconst id = hexId()\n\t\tthis.registry[id] = callback\n\t\treturn id\n\t}\n\n\ton(type: string, callback: (el: Element) => void): string {\n\t\treturn this.register(el => {\n\t\t\tel.addEventListener(type, evt => {\n\t\t\t\tcallback(el)\n\t\t\t\tevt.stopPropagation()\n\t\t\t})\n\t\t})\n\t}\n\n\tonChange(callback: (el: Element) => void): string {\n\t\treturn this.on('change', callback)\n\t}\n\n\tonClick(callback: (el: Element) => void): string {\n\t\treturn this.on('click', callback)\n\t}\n\n\tmounted(el: Element): void {\n\t\tel.querySelectorAll('[data-id]').forEach(el => {\n\t\t\tconst id = el.getAttribute('data-id')!\n\t\t\tthis.registry[id]?.(el)\n\t\t})\n\t\tthis.registry = {}\n\t}\n}\n","export const Octicon = {\n\tchevron_down: '',\n\tchevron_up: '',\n\tclippy: '',\n\tinfo: '',\n\tissue_opened: '',\n\tplus_circle: '',\n\ttrashcan: '',\n}\n","import type { EnumOption, Hook, ValidationOption } from '@mcschema/core'\nimport { DataModel, MapNode, ModelPath, ObjectNode, Path, relativePath, StringNode } from '@mcschema/core'\nimport type { Localize } from '../Locales'\nimport type { BlockStateRegistry, VersionId } from '../Schemas'\nimport { hexId, htmlEncode } from '../Utils'\nimport type { Mounter } from './Mounter'\nimport { Octicon } from './Octicon'\n\nexport type TreeProps = {\n\tloc: Localize,\n\tmounter: Mounter,\n\tversion: VersionId,\n\tblockStates: BlockStateRegistry,\n}\n\ndeclare var ResizeObserver: any\n\nconst selectRegistries = ['loot_table.type', 'loot_entry.type', 'function.function', 'condition.condition', 'criterion.trigger', 'dimension.generator.type', 'dimension.generator.biome_source.type', 'carver.type', 'feature.type', 'decorator.type', 'feature.tree.minimum_size.type', 'block_state_provider.type', 'trunk_placer.type', 'foliage_placer.type', 'tree_decorator.type', 'int_provider.type', 'float_provider.type', 'height_provider.type', 'structure_feature.type', 'surface_builder.type', 'processor.processor_type', 'rule_test.predicate_type', 'pos_rule_test.predicate_type', 'template_element.element_type', 'block_placer.type']\nconst hiddenFields = ['number_provider.type', 'score_provider.type', 'nbt_provider.type', 'int_provider.type', 'float_provider.type', 'height_provider.type']\nconst flattenedFields = ['feature.config', 'decorator.config', 'int_provider.value', 'float_provider.value', 'block_state_provider.simple_state_provider.state', 'block_state_provider.rotated_block_provider.state', 'block_state_provider.weighted_state_provider.entries.entry.data', 'rule_test.block_state', 'structure_feature.config', 'surface_builder.config', 'template_pool.elements.entry.element']\nconst inlineFields = ['loot_entry.type', 'function.function', 'condition.condition', 'criterion.trigger', 'dimension.generator.type', 'dimension.generator.biome_source.type', 'feature.type', 'decorator.type', 'block_state_provider.type', 'feature.tree.minimum_size.type', 'trunk_placer.type', 'foliage_placer.type', 'tree_decorator.type', 'block_placer.type', 'rule_test.predicate_type', 'processor.processor_type', 'template_element.element_type', 'nbt_operation.op', 'number_provider.value', 'score_provider.name', 'score_provider.target', 'nbt_provider.source', 'nbt_provider.target']\nconst nbtFields = ['function.set_nbt.tag', 'advancement.display.icon.nbt', 'text_component_object.nbt', 'entity.nbt', 'block.nbt', 'item.nbt']\n\n/**\n * Secondary model used to remember the keys of a map\n */\nconst keysModel = new DataModel(MapNode(\n\tStringNode(),\n\tStringNode()\n), { historyMax: 0 })\n\n/**\n * Renders the node and handles events to update the model\n * @returns string HTML representation of this node using the given data\n */\nexport const renderHtml: Hook<[any, TreeProps], [string, string, string]> = {\n\tbase() {\n\t\treturn ['', '', '']\n\t},\n\n\tboolean({ node }, path, value, props) {\n\t\tconst onFalse = props.mounter.onClick(() => {\n\t\t\tpath.model.set(path, node.optional() && value === false ? undefined : false)\n\t\t})\n\t\tconst onTrue = props.mounter.onClick(() => {\n\t\t\tpath.model.set(path, node.optional() && value === true ? undefined : true)\n\t\t})\n\t\treturn ['', `${htmlEncode(props.loc('false'))}\n\t\t\t${htmlEncode(props.loc('true'))}`, '']\n\t},\n\n\tchoice({ choices, config, switchNode }, path, value, props) {\n\t\tconst choice = switchNode.activeCase(path, true)\n\t\tconst pathWithContext = (config?.context) ? new ModelPath(path.getModel(), new Path(path.getArray(), [config.context])) : path\n\t\tconst pathWithChoiceContext = config?.choiceContext ? new Path([], [config.choiceContext]) : config?.context ? new Path([], [config.context]) : path\n\n\t\tconst [prefix, suffix, body] = choice.node.hook(this, pathWithContext, value, props)\n\t\tif (choices.length === 1) {\n\t\t\treturn [prefix, suffix, body]\n\t\t}\n\n\t\tconst inputId = props.mounter.register(el => {\n\t\t\t(el as HTMLSelectElement).value = choice.type\n\t\t\tel.addEventListener('change', () => {\n\t\t\t\tconst c = choices.find(c => c.type === (el as HTMLSelectElement).value) ?? choice\n\t\t\t\tpath.model.set(path, c.change ? c.change(value) : c.node.default())\n\t\t\t})\n\t\t})\n\t\tconst inject = ``\n\n\t\treturn [prefix, inject + suffix, body]\n\t},\n\n\tlist({ children }, path, value, props) {\n\t\tconst onAdd = props.mounter.onClick(() => {\n\t\t\tif (!Array.isArray(value)) value = []\n\t\t\tpath.model.set(path, [children.default(), ...value])\n\t\t})\n\t\tconst onAddBottom = props.mounter.onClick(() => {\n\t\t\tif (!Array.isArray(value)) value = []\n\t\t\tpath.model.set(path, [...value, children.default()])\n\t\t})\n\t\tconst suffix = ``\n\n\t\tlet body = ''\n\t\tif (Array.isArray(value)) {\n\t\t\tbody = value.map((childValue, index) => {\n\t\t\t\tconst onRemove = props.mounter.onClick(() => path.model.set(path.push(index), undefined))\n\t\t\t\tconst onMoveUp = props.mounter.onClick(() => {\n\t\t\t\t\t[value[index - 1], value[index]] = [value[index], value[index - 1]]\n\t\t\t\t\tpath.model.set(path, value)\n\t\t\t\t})\n\t\t\t\tconst onMoveDown = props.mounter.onClick(() => {\n\t\t\t\t\t[value[index + 1], value[index]] = [value[index], value[index + 1]]\n\t\t\t\t\tpath.model.set(path, value)\n\t\t\t\t})\n\t\t\t\tconst childPath = path.push(index).contextPush('entry')\n\t\t\t\tconst category = children.category(childPath)\n\t\t\t\tconst [cPrefix, cSuffix, cBody] = children.hook(this, childPath, childValue, props)\n\t\t\t\treturn `
\n\t\t\t\t\t
\n\t\t\t\t\t\t${error(props.loc, childPath, props.mounter)}\n\t\t\t\t\t\t${help(props.loc, childPath, props.mounter)}\n\t\t\t\t\t\t\n\t\t\t\t\t\t${value.length <= 1 ? '' : `
\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t
`}\n\t\t\t\t\t\t${cPrefix}\n\t\t\t\t\t\t\n\t\t\t\t\t\t${cSuffix}\n\t\t\t\t\t
\n\t\t\t\t\t${cBody ? `
${cBody}
` : ''}\n\t\t\t\t\t
\n\t\t\t\t
`\n\t\t\t}).join('')\n\t\t\tif (value.length > 2) {\n\t\t\t\tbody += `
\n\t\t\t\t\t
\n\t\t\t\t\t\t\n\t\t\t\t\t
\n\t\t\t\t
`\n\t\t\t}\n\t\t}\n\t\treturn ['', suffix, body]\n\t},\n\n\tmap({ children, keys, config }, path, value, props) {\n\t\tconst keyPath = new ModelPath(keysModel, new Path([hashString(path.toString())]))\n\t\tconst onAdd = props.mounter.onClick(() => {\n\t\t\tconst key = keyPath.get()\n\t\t\tpath.model.set(path.push(key), children.default())\n\t\t})\n\t\tconst blockState = config.validation?.validator === 'block_state_map'? props.blockStates?.[relativePath(path, config.validation.params.id).get()] : null\n\t\tconst keysSchema = blockState?.properties\n\t\t\t? StringNode(null!, { enum: Object.keys(blockState.properties ?? {}) })\n\t\t\t: keys\n\t\tconst keyRendered = keysSchema.hook(this, keyPath, keyPath.get() ?? '', props)\n\t\tconst suffix = keyRendered[1] + ``\n\t\tif (blockState && path.last() === 'Properties') {\n\t\t\tif (typeof value !== 'object') value = {}\n\t\t\tconst properties = Object.entries(blockState.properties ?? {})\n\t\t\t\t.map(([key, values]) => [key, StringNode(null!, { enum: values })])\n\t\t\tObject.entries(blockState.properties ?? {}).forEach(([key, values]) => {\n\t\t\t\tif (typeof value[key] !== 'string') {\n\t\t\t\t\tpath.model.errors.add(path.push(key), 'error.expected_string')\n\t\t\t\t} else if (!values.includes(value[key])) {\n\t\t\t\t\tpath.model.errors.add(path.push(key), 'error.invalid_enum_option', value[key])\n\t\t\t\t}\n\t\t\t})\n\t\t\treturn ObjectNode(Object.fromEntries(properties)).hook(this, path, value, props)\n\t\t}\n\t\tlet body = ''\n\t\tif (typeof value === 'object' && value !== undefined) {\n\t\t\tbody = Object.keys(value)\n\t\t\t\t.map(key => {\n\t\t\t\t\tconst onRemove = props.mounter.onClick(() => path.model.set(path.push(key), undefined))\n\t\t\t\t\tconst childPath = path.modelPush(key)\n\t\t\t\t\tconst category = children.category(childPath)\n\t\t\t\t\tconst childrenSchema = blockState\n\t\t\t\t\t\t? StringNode(null!, { enum: blockState.properties?.[key] ?? [] })\n\t\t\t\t\t\t: children\n\t\t\t\t\tif (blockState?.properties?.[key] && !blockState.properties?.[key].includes(value[key])) {\n\t\t\t\t\t\tpath.model.errors.add(childPath, 'error.invalid_enum_option', value[key])\n\t\t\t\t\t}\n\t\t\t\t\tconst [cPrefix, cSuffix, cBody] = childrenSchema.hook(this, childPath, value[key], props)\n\t\t\t\t\treturn `
\n\t\t\t\t\t\t
\n\t\t\t\t\t\t\t${error(props.loc, childPath, props.mounter)}\n\t\t\t\t\t\t\t${help(props.loc, childPath, props.mounter)}\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t${cPrefix}\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t${cSuffix}\n\t\t\t\t\t\t
\n\t\t\t\t\t\t${cBody ? `
${cBody}
` : ''}\n\t\t\t\t\t\t
\n\t\t\t\t\t
`\n\t\t\t\t})\n\t\t\t\t.join('')\n\t\t}\n\t\treturn ['', suffix, body]\n\t},\n\n\tnumber({ integer, config }, path, value, { mounter }) {\n\t\tconst onChange = mounter.onChange(el => {\n\t\t\tconst value = (el as HTMLInputElement).value\n\t\t\tconst parsed = config?.color\n\t\t\t\t? parseInt(value.slice(1), 16)\n\t\t\t\t: integer ? parseInt(value) : parseFloat(value)\n\t\t\tpath.model.set(path, parsed)\n\t\t})\n\t\tif (config?.color) {\n\t\t\tconst hex = (value?.toString(16).padStart(6, '0') ?? '000000')\n\t\t\treturn ['', ``, '']\n\t\t}\n\t\treturn ['', ``, '']\n\t},\n\n\tobject({ node, getActiveFields, getChildModelPath }, path, value, props) {\n\t\tlet prefix = ''\n\t\tlet suffix = ''\n\t\tif (node.optional()) {\n\t\t\tif (value === undefined) {\n\t\t\t\tsuffix = ``\n\t\t\t} else {\n\t\t\t\tsuffix = ``\n\t\t\t}\n\t\t}\n\t\tlet body = ''\n\t\tif (typeof value === 'object' && value !== undefined && (!(node.optional() && value === undefined))) {\n\t\t\tconst activeFields = getActiveFields(path)\n\t\t\tconst activeKeys = Object.keys(activeFields)\n\t\t\t\t.filter(k => activeFields[k].enabled(path))\n\t\t\tbody = activeKeys.map(k => {\n\t\t\t\tconst field = activeFields[k]\n\t\t\t\tconst childPath = getChildModelPath(path, k)\n\t\t\t\tconst context = childPath.getContext().join('.')\n\t\t\t\tif (hiddenFields.includes(context)) {\n\t\t\t\t\treturn ''\n\t\t\t\t}\n\n\t\t\t\tconst category = field.category(childPath)\n\t\t\t\tconst [cPrefix, cSuffix, cBody] = field.hook(this, childPath, value[k], props)\n\t\t\t\tif (cPrefix.length === 0 && cSuffix.length === 0 && cBody.length === 0) {\n\t\t\t\t\treturn ''\n\t\t\t\t}\n\n\t\t\t\tconst isFlattened = field.type(childPath) === 'object' && flattenedFields.includes(context)\n\t\t\t\tconst isInlined = inlineFields.includes(context)\n\t\t\t\tif (isFlattened || isInlined) {\n\t\t\t\t\tprefix += `${error(props.loc, childPath, props.mounter)}${help(props.loc, childPath, props.mounter)}${cPrefix}`\n\t\t\t\t\tsuffix += cSuffix\n\t\t\t\t\treturn isFlattened ? cBody : ''\n\t\t\t\t}\n\n\t\t\t\treturn `
\n\t\t\t\t\t
\n\t\t\t\t\t\t${error(props.loc, childPath, props.mounter)}\n\t\t\t\t\t\t${help(props.loc, childPath, props.mounter)}\n\t\t\t\t\t\t${cPrefix}\n\t\t\t\t\t\t\n\t\t\t\t\t\t${cSuffix}\n\t\t\t\t\t
\n\t\t\t\t\t${cBody ? `
${cBody}
` : ''}\n\t\t\t\t
`\n\t\t\t})\n\t\t\t\t.join('')\n\t\t}\n\t\treturn [prefix, suffix, body]\n\t},\n\n\tstring({ node, getValues, config }, path, value, props) {\n\t\tconst inputId = props.mounter.register(el => {\n\t\t\t(el as HTMLSelectElement).value = value ?? ''\n\t\t\tel.addEventListener('change', evt => {\n\t\t\t\tconst newValue = (el as HTMLSelectElement).value\n\t\t\t\tpath.model.set(path, newValue.length === 0 ? undefined : newValue)\n\t\t\t\tevt.stopPropagation()\n\t\t\t})\n\t\t})\n\t\tlet suffix\n\t\tconst values = getValues()\n\t\tconst context = path.getContext().join('.')\n\t\tif (nbtFields.includes(context)) {\n\t\t\tconst keyPath = new ModelPath(keysModel, new Path([hashString(path.toString())]))\n\t\t\tconst textareaId = props.mounter.register(el => {\n\t\t\t\tconst textarea = el as HTMLTextAreaElement\n\t\t\t\ttextarea.value = value ?? ''\n\t\t\t\ttextarea.addEventListener('change', evt => {\n\t\t\t\t\tconst newValue = textarea.value\n\t\t\t\t\tpath.model.set(path, newValue.length === 0 ? undefined : newValue)\n\t\t\t\t\tevt.stopPropagation()\n\t\t\t\t})\n\t\t\t\tconst sizes = keyPath.get()\n\t\t\t\tif (sizes) {\n\t\t\t\t\ttextarea.style.width = `${sizes.split(' ')[0]}px`\n\t\t\t\t\ttextarea.style.height = `${sizes.split(' ')[1]}px`\n\t\t\t\t}\n\t\t\t\tnew ResizeObserver(() => {\n\t\t\t\t\tkeyPath.set(`${textarea.offsetWidth} ${textarea.offsetHeight}`)\n\t\t\t\t}).observe(el)\n\t\t\t})\n\t\t\tsuffix = ``\n\t\t} else if ((isEnum(config) && !config.additional)\n\t\t\t|| selectRegistries.includes(context)\t) {\n\t\t\tlet context = new Path([])\n\t\t\tif (isEnum(config) && typeof config.enum === 'string') {\n\t\t\t\tcontext = context.contextPush(config.enum)\n\t\t\t} else if (!isEnum(config) && config?.validator === 'resource' && typeof config.params.pool === 'string') {\n\t\t\t\tcontext = context.contextPush(config.params.pool)\n\t\t\t}\n\t\t\tsuffix = ``\n\t\t} else if (!isEnum(config) && config?.validator === 'block_state_key') {\n\t\t\tconst blockState = props.blockStates?.[relativePath(path, config.params.id).get()]\n\t\t\tconst values = Object.keys(blockState?.properties ?? {})\n\t\t\tsuffix = ``\n\t\t} else {\n\t\t\tconst datalistId = hexId()\n\t\t\tsuffix = `\n\t\t\t\t${values.length === 0 ? '' : `\n\t\t\t\t\t${values.map(v => ``}`\n\t\t}\n\t\treturn ['', suffix, '']\n\t},\n}\n\nfunction isEnum(value?: ValidationOption | EnumOption): value is EnumOption {\n\treturn !!(value as any)?.enum\n}\n\nfunction hashString(str: string) {\n\tvar hash = 0, i, chr\n\tfor (i = 0; i < str.length; i++) {\n\t\tchr = str.charCodeAt(i)\n\t\thash = ((hash << 5) - hash) + chr\n\t\thash |= 0\n\t}\n\treturn hash\n}\n\nfunction pathLocale(loc: Localize, path: Path, ...params: string[]) {\n\tconst ctx = path.getContext()\n\tfor (let i = 0; i < ctx.length; i += 1) {\n\t\tconst key = ctx.slice(i).join('.')\n\t\tconst result = loc(key, ...params)\n\t\tif (key !== result) {\n\t\t\treturn result\n\t\t}\n\t}\n\treturn htmlEncode(ctx[ctx.length - 1])\n}\n\nfunction error(loc: Localize, path: ModelPath, mounter: Mounter) {\n\tconst e = path.model.errors.get(path, true)\n\tif (e.length === 0) return ''\n\tconst message = e[0].params ? loc(e[0].error, ...e[0].params) : loc(e[0].error)\n\treturn popupIcon('node-error', 'issue_opened', htmlEncode(message), mounter)\n}\n\nfunction help(loc: Localize, path: Path, mounter: Mounter) {\n\tconst key = path.contextPush('help').getContext().join('.')\n\tconst message = loc(key)\n\tif (message === key) return ''\n\treturn popupIcon('node-help', 'info', htmlEncode(message), mounter)\n}\n\nconst popupIcon = (type: string, icon: keyof typeof Octicon, popup: string, mounter: Mounter) => {\n\tconst onClick = mounter.onClick(el => {\n\t\tel.getElementsByTagName('span')[0].classList.add('show')\n\t\tdocument.body.addEventListener('click', () => {\n\t\t\tel.getElementsByTagName('span')[0].classList.remove('show')\n\t\t}, { capture: true, once: true })\n\t})\n\treturn `
\n\t\t${Octicon[icon]}\n\t\t${popup}\n\t
`\n}\n\nconst contextMenu = (loc: Localize, path: ModelPath, mounter: Mounter) => {\n\tconst id = mounter.register(el => {\n\t\tconst openMenu = () => {\n\t\t\tconst popup = document.createElement('div')\n\t\t\tpopup.classList.add('node-menu')\n\n\t\t\tconst message = loc(path.contextPush('help').getContext().join('.'))\n\t\t\tif (!message.endsWith('.help')) {\n\t\t\t\tpopup.insertAdjacentHTML('beforeend', `${message}`)\n\t\t\t}\n\n\t\t\tconst context = path.getContext().join('.')\n\t\t\tpopup.insertAdjacentHTML('beforeend', `\n\t\t\t\t
\n\t\t\t\t\t${Octicon.clippy}\n\t\t\t\t\tContext: \n\t\t\t\t\t${context}\n\t\t\t\t
`)\n\t\t\tpopup.querySelector('.menu-item .btn')?.addEventListener('click', () => {\n\t\t\t\tconst inputEl = document.createElement('input')\n\t\t\t\tinputEl.value = context\n\t\t\t\tel.appendChild(inputEl) \n\t\t\t\tinputEl.select()\n\t\t\t\tdocument.execCommand('copy')\n\t\t\t\tel.removeChild(inputEl)\n\t\t\t})\n\n\t\t\tel.appendChild(popup)\n\t\t\tdocument.body.addEventListener('click', () => {\n\t\t\t\ttry {el.removeChild(popup)} catch (e) {}\n\t\t\t}, { capture: true, once: true })\n\t\t\tdocument.body.addEventListener('contextmenu', () => {\n\t\t\t\ttry {el.removeChild(popup)} catch (e) {}\n\t\t\t}, { capture: true, once: true })\n\t\t}\n\t\tel.addEventListener('contextmenu', evt => {\n\t\t\topenMenu()\n\t\t\tevt.preventDefault()\n\t\t})\n\t\tlet timer: any = null\n\t\tel.addEventListener('touchstart', () => {\n\t\t\ttimer = setTimeout(() => {\n\t\t\t\topenMenu()\n\t\t\t\ttimer = null\n\t\t\t}, 800)\n\t\t})\n\t\tel.addEventListener('touchend', () => {\n\t\t\tif (timer) {\n\t\t\t\tclearTimeout(timer)\n\t\t\t\ttimer = null\n\t\t\t}\n\t\t})\n\t})\n\treturn `data-id=\"${id}\"`\n}\n","import type { DataModel } from '@mcschema/core'\nimport { ModelPath } from '@mcschema/core'\nimport { useEffect, useRef } from 'preact/hooks'\nimport { useModel } from '../hooks'\nimport { locale } from '../Locales'\nimport { Mounter } from '../schema/Mounter'\nimport { renderHtml } from '../schema/renderHtml'\nimport type { BlockStateRegistry, VersionId } from '../Schemas'\n\ntype TreePanelProps = {\n\tlang: string,\n\tversion: VersionId,\n\tmodel: DataModel | null,\n\tblockStates: BlockStateRegistry | null,\n\tonError: (message: string) => unknown,\n}\nexport function Tree({ lang, model, version, blockStates, onError }: TreePanelProps) {\n\tconst tree = useRef(null)\n\tconst redraw = useRef()\n\n\tuseEffect(() => {\n\t\tredraw.current = () => {\n\t\t\tif (!model || !blockStates) return\n\t\t\ttry {\n\t\t\t\tconst mounter = new Mounter()\n\t\t\t\tconst props = { loc: locale.bind(null, lang), version, mounter, blockStates }\n\t\t\t\tconst path = new ModelPath(model)\n\t\t\t\tconst rendered = model.schema.hook(renderHtml, path, model.data, props)\n\t\t\t\tconst category = model.schema.category(path)\n\t\t\t\tconst type = model.schema.type(path)\n\t\t\t\tlet html = rendered[2]\n\t\t\t\tif (rendered[1]) {\n\t\t\t\t\thtml = `
\n\t\t\t\t\t\t
${rendered[0]}${rendered[1]}
\n\t\t\t\t\t\t
${rendered[2]}
\n\t\t\t\t\t
`\n\t\t\t\t}\n\t\t\t\ttree.current.innerHTML = html\n\t\t\t\tmounter.mounted(tree.current)\n\t\t\t} catch (e) {\n\t\t\t\tonError(`Error rendering the tree: ${e.message}`)\n\t\t\t\tconsole.error(e)\n\t\t\t\ttree.current.innerHTML = ''\n\t\t\t}\n\t\t}\n\t})\n\n\tuseModel(model, () => {\n\t\tredraw.current()\n\t})\n\n\tuseEffect(() => {\n\t\tredraw.current()\n\t}, [lang, model, blockStates])\n\n\treturn
\n}\n","import { locale } from '../Locales'\n\ntype FieldSettingsProps = {\n\tlang: string,\n\tpath?: string,\n}\nexport function FieldSettings({ lang }: FieldSettingsProps) {\n\tconst loc = locale.bind(null, lang)\n\treturn
\n\t\t
\n\t\t\t

{loc('settings.fields.description')}

\n\t\t\t
    \n\t\t\t\t\n\t\t\t
\n\t\t
\n\t
\n}\n","import type { DataModel } from '@mcschema/core'\nimport { getCurrentUrl } from 'preact-router'\nimport { useEffect, useErrorBoundary, useState } from 'preact/hooks'\nimport config from '../../config.json'\nimport { Analytics } from '../Analytics'\nimport { Ad, Btn, BtnInput, BtnMenu, ErrorPanel, HasPreview, Octicon, PreviewPanel, SourcePanel, Tree } from '../components'\nimport { fetchPreset } from '../DataFetcher'\nimport { useModel } from '../hooks'\nimport { locale } from '../Locales'\nimport type { BlockStateRegistry, VersionId } from '../Schemas'\nimport { checkVersion, getBlockStates, getCollections, getModel } from '../Schemas'\nimport { getGenerator } from '../Utils'\n\ntype GeneratorProps = {\n\tlang: string,\n\tchangeTitle: (title: string, versions?: string[]) => unknown,\n\tversion: VersionId,\n\tonChangeVersion: (version: VersionId) => unknown,\n\tdefault?: true,\n}\nexport function Generator({ lang, changeTitle, version, onChangeVersion }: GeneratorProps) {\n\tconst loc = locale.bind(null, lang)\n\tconst [error, setError] = useState(null)\n\tconst [errorBoundary, errorRetry] = useErrorBoundary()\n\tif (errorBoundary) {\n\t\treturn
\n\t}\n\n\tconst gen = getGenerator(getCurrentUrl())\n\tif (!gen) {\n\t\treturn
\n\t}\n\n\tuseEffect(() => {\n\t\tsetError(null)\n\t}, [gen.id, version])\n\n\tconst allowedVersions = config.versions\n\t\t.filter(v => checkVersion(v.id, gen.minVersion))\n\t\t.map(v => v.id as VersionId)\n\n\tchangeTitle(loc('title.generator', loc(gen.id)), allowedVersions)\n\n\tif (!checkVersion(version, gen.minVersion)) {\n\t\tsetError(`The minimum version for this generator is ${gen.minVersion}`)\n\t}\n\n\tconst [model, setModel] = useState(null)\n\tconst [blockStates, setBlockStates] = useState(null)\n\tuseEffect(() => {\n\t\tsetModel(null)\n\t\tgetBlockStates(version)\n\t\t\t.then(b => setBlockStates(b))\n\t\tgetModel(version, gen.id)\n\t\t\t.then(m => setModel(m))\n\t\t\t.catch(e => { console.error(e); setError(e.message) })\n\t}, [version, gen.id])\n\n\tuseModel(model, () => {\n\t\tsetError(null)\n\t})\n\n\tconst reset = () => {\n\t\tAnalytics.generatorEvent('reset')\n\t\tmodel?.reset(model.schema.default(), true)\n\t}\n\tconst undo = (e: MouseEvent) => {\n\t\te.stopPropagation()\n\t\tAnalytics.generatorEvent('undo', 'Menu')\n\t\tmodel?.undo()\n\t}\n\tconst redo = (e: MouseEvent) => {\n\t\te.stopPropagation()\n\t\tAnalytics.generatorEvent('redo', 'Menu')\n\t\tmodel?.redo()\n\t}\n\n\tconst onKeyUp = (e: KeyboardEvent) => {\n\t\tif (e.ctrlKey && e.key === 'z') {\n\t\t\tAnalytics.generatorEvent('undo', 'Hotkey')\n\t\t\tmodel?.undo()\n\t\t} else if (e.ctrlKey && e.key === 'y') {\n\t\t\tAnalytics.generatorEvent('redo', 'Hotkey')\n\t\t\tmodel?.redo()\n\t\t}\n\t}\n\tuseEffect(() => {\n\t\tdocument.addEventListener('keyup', onKeyUp)\n\t\treturn () => {\n\t\t\tdocument.removeEventListener('keyup', onKeyUp)\n\t\t}\n\t}, [model])\n\n\tconst [presetFilter, setPresetFilter] = useState('')\n\tconst [presetResults, setPresetResults] = useState([])\n\tuseEffect(() => {\n\t\tgetCollections(version)\n\t\t\t.then(collections => {\n\t\t\t\tconst terms = (presetFilter ?? '').trim().split(' ')\n\t\t\t\tconst presets = collections.get(gen.id)\n\t\t\t\t\t.map(p => p.slice(10))\n\t\t\t\t\t.filter(p => terms.every(t => p.includes(t)))\n\t\t\t\tif (presets) {\n\t\t\t\t\tsetPresetResults(presets)\n\t\t\t\t}\n\t\t\t})\n\t\t\t.catch(e => { console.error(e); setError(e.message) })\n\t}, [version, gen.id, presetFilter])\n\n\tconst loadPreset = (id: string) => {\n\t\tAnalytics.generatorEvent('load-preset', id)\n\t\tfetchPreset(version, gen.path ?? gen.id, id).then(preset => {\n\t\t\tmodel?.reset(preset, false)\n\t\t})\n\t}\n\n\tconst [sourceShown, setSourceShown] = useState(window.innerWidth > 820)\n\tconst [doCopy, setCopy] = useState(0)\n\tconst [doDownload, setDownload] = useState(0)\n\tconst [doImport, setImport] = useState(0)\n\n\tconst copySource = () => {\n\t\tAnalytics.generatorEvent('copy')\n\t\tsetCopy(doCopy + 1)\n\t}\n\tconst downloadSource = () => {\n\t\tAnalytics.generatorEvent('download')\n\t\tsetDownload(doDownload + 1)\n\t}\n\tconst importSource = () => {\n\t\tAnalytics.generatorEvent('import')\n\t\tsetSourceShown(true)\n\t\tsetImport(doImport + 1)\n\t}\n\tconst toggleSource = () => {\n\t\tAnalytics.generatorEvent('toggle-output', !sourceShown ? 'visible' : 'hidden')\n\t\tsetSourceShown(!sourceShown)\n\t\tsetCopy(0)\n\t\tsetDownload(0)\n\t\tsetImport(0)\n\t}\n\n\tconst [previewShown, setPreviewShown] = useState(false)\n\n\tconst hasPreview = HasPreview.includes(gen.id)\n\tlet actionsShown = 1\n\tif (hasPreview) actionsShown += 1\n\tif (sourceShown) actionsShown += 2\n\n\tconst togglePreview = () => {\n\t\tAnalytics.generatorEvent('toggle-preview', !previewShown ? 'visible' : 'hidden')\n\t\tsetPreviewShown(!previewShown)\n\t}\n\n\treturn <>\n\t\t
\n\t\t\t\n\t\t\t
\n\t\t\t\t\n\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\t
\n\t\t\t\t\t\t{presetResults.map(preset => loadPreset(preset)} />)}\n\t\t\t\t\t
\n\t\t\t\t\t{presetResults.length === 0 && }\n\t\t\t\t
\n\t\t\t\t\n\t\t\t\t\t{allowedVersions.reverse().map(v =>\n\t\t\t\t\t\t onChangeVersion(v)} />\n\t\t\t\t\t)}\n\t\t\t\t\n\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\n\t\t\t
\n\t\t\t{error && setError(null)} />}\n\t\t\t\n\t\t
\n\t\t
\n\t\t\t
\n\t\t\t\t{previewShown ? Octicon.x_circle : Octicon.play}\n\t\t\t
\n\t\t\t
\n\t\t\t\t{Octicon.download}\n\t\t\t
\n\t\t\t
\n\t\t\t\t{Octicon.clippy}\n\t\t\t
\n\t\t\t
\n\t\t\t\t{sourceShown ? Octicon.chevron_right : Octicon.code}\n\t\t\t
\n\t\t
\n\t\t
\n\t\t\t\n\t\t
\n\t\t
\n\t\t\t\n\t\t
\n\t\n}\n","import config from '../../config.json'\nimport { ToolCard } from '../components'\nimport { locale } from '../Locales'\nimport { cleanUrl } from '../Utils'\n\ntype HomeProps = {\n\tlang: string,\n\tchangeTitle: (title: string) => unknown,\n\tpath?: string,\n}\nexport function Home({ lang, changeTitle }: HomeProps) {\n\tconst loc = locale.bind(null, lang)\n\tchangeTitle(loc('title.home'))\n\treturn
\n\t\t
\n\t\t\t{config.generators.filter(g => !g.category).map(g => \n\t\t\t\t\n\t\t\t)}\n\t\t\t\n\t\t\t
\n\t\t\t\n\t\t\t\t

Analyse your performance reports

\n\t\t\t
\n\t\t\t\n\t\t\t\t

Browse through and mix all the vanilla sounds

\n\t\t\t
\n\t\t\t\n\t\t\t\t

Convert your 1.16 data packs to 1.17

\n\t\t\t
\n\t\t
\n\t
\n}\n","import config from '../../config.json'\nimport { ToolCard } from '../components'\nimport { locale } from '../Locales'\nimport { cleanUrl } from '../Utils'\n\ntype WorldgenProps = {\n\tlang: string,\n\tchangeTitle: (title: string) => unknown,\n\tpath?: string,\n}\nexport function Worldgen({ lang, changeTitle }: WorldgenProps) {\n\tconst loc = locale.bind(null, lang)\n\tchangeTitle(loc('title.generator_category', loc('worldgen')))\n\treturn
\n\t\t
\n\t\t\t{config.generators.filter(g => g.category === 'worldgen').map(g => \n\t\t\t\t\n\t\t\t)}\n\t\t
\n\t
\n}\n","import { render } from 'preact'\nimport type { RouterOnChangeArgs } from 'preact-router'\nimport { Router } from 'preact-router'\nimport { useEffect, useState } from 'preact/hooks'\nimport '../styles/global.css'\nimport '../styles/nodes.css'\nimport { Analytics } from './Analytics'\nimport { Header } from './components'\nimport { loadLocale, locale, Locales } from './Locales'\nimport { FieldSettings, Generator, Home, Worldgen } from './pages'\nimport type { VersionId } from './Schemas'\nimport { Store } from './Store'\nimport { cleanUrl } from './Utils'\n\nfunction Main() {\n\tconst [lang, setLanguage] = useState('en')\n\tconst changeLanguage = async (language: string) => {\n\t\tif (!Locales[language]) {\n\t\t\tawait loadLocale(language)\n\t\t}\n\t\tAnalytics.setLanguage(language)\n\t\tStore.setLanguage(language)\n\t\tsetLanguage(language)\n\t}\n\tuseEffect(() => {\n\t\t(async () => {\n\t\t\tconst target = Store.getLanguage()\n\t\t\tawait Promise.all([\n\t\t\t\tloadLocale('en'),\n\t\t\t\t...(target !== 'en' ? [loadLocale(target)] : []),\n\t\t\t])\n\t\t\tsetLanguage(target)\n\t\t})()\n\t}, [])\n\n\tconst [theme, setTheme] = useState(Store.getTheme())\n\tconst changeTheme = (theme: string) => {\n\t\tAnalytics.setTheme(theme)\n\t\tStore.setTheme(theme)\n\t\tsetTheme(theme)\n\t}\n\tuseEffect(() => {\n\t\tdocument.documentElement.setAttribute('data-theme', theme)\n\t}, [theme])\n\n\tconst [version, setVersion] = useState(Store.getVersion())\n\tconst changeVersion = (version: VersionId) => {\n\t\tAnalytics.setVersion(version)\n\t\tStore.setVersion(version)\n\t\tsetVersion(version)\n\t}\n\n\tconst [title, setTitle] = useState(locale(lang, 'title.home'))\n\tconst changeTitle = (title: string, versions = ['1.15', '1.16', '1.17']) => {\n\t\tdocument.title = `${title} Minecraft ${versions.join(', ')}`\n\t\tsetTitle(title)\n\t}\n\n\tconst changeRoute = (e: RouterOnChangeArgs) => {\n\t\t// Needs a timeout to ensure the title is set correctly\n\t\tsetTimeout(() => Analytics.pageview(cleanUrl(e.url)))\n\t}\n\n\treturn <>\n\t\t
\n\t\t\n\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t\n\t\t\n\t\n}\n\nrender(
, document.body)\n"],"names":["Analytics","type","id","getElementById","remove","window","load","data-ea-publisher","data-ea-type","class","icon","label","active","class_","onClick","Octicon","large","doSelect","value","onChange","onKeyUp","e","value2","target","endsWith","isNaN","Number","ref","useRef","current","select","stopPropagation","relative","children","setActive","useState","hider","body","addEventListener","removeEventListener","Btn","Analytics2","ID_SITE","ID_GENERATOR","category","action","index","pageview","page","setLanguage","language","setTheme","theme","setVersion","version","setPreview","preview","generatorEvent","archive","xmlns","viewBox","width","height","fill-rule","d","arrow_left","arrow_right","chevron_down","chevron_right","clippy","code","dash","device_desktop","download","eye","eye_closed","gear","globe","history","kebab_horizontal","link","mark_github","moon","play","plus","search","sun","sync","tag","three_bars","unfold","upload","x","x_circle","error","onDismiss","error2","href","scriptRel","seen","__vitePreload","baseModule","deps","relList","document","createElement","supports","Promise","all","map","dep","isCss","cssSelector","querySelector","rel","as","crossOrigin","head","appendChild","res","rej","then","Locales","fallback","English","key","params","replace","parseInt","match","slice","resolveLocaleParams","en","langConfig","config","languages","find","lang","data","__variableDynamicImportRuntime0__","schema","schemas","__variableDynamicImportRuntime1__","__spreadValues","default","forEach","localStorage","removeItem","v","mcdataUrl","vanillaDatapackUrl","refs","hash","url","versionId","collectionTarget","blockStateTarget","versions","debug","JSON","stringify","dynamic","filter","getItem","r","async","matches","cache","caches","open","promises","request","keys","push","delete","length","warn","message","deleteMatching","startsWith","setItem","fetchRegistries","fetchBlockStateMap","fetchDynamicRegistries","registries","checkVersion","minVersion","maxVersion","mcdata_master","getData","data2","k","Object","entries","register","path","values","b","properties","states","s2","assign","vanilla_datapack_summary","fn","cacheResponse","ok","json","fetchResponse","fetch","responseData","put","Response","VersionIds","Versions","Models","versionGetter","1.15","java15","1.16","java16","1.17","java17","collections","getCollections","blockStates","fetchData","getSchemas","Error","minVersionId","maxVersionId","findIndex","dec2hex","dec","toString","substr","arr","Uint8Array","crypto","getRandomValues","Array","from","join","str","replaceAll","trimmedUrl","generators","g","h","Math","abs","i","imul","charCodeAt","hashString","a2","c","max","min","lerp","f","Themes","system","dark","light","title","changeTheme","changeLanguage","loc","locale","bind","gen","getGenerator","getCurrentUrl","Link","Icons","home","BtnMenu","route","cleanUrl","name","th","fill","rx","y","report","sounds","cx","cy","clip-rule","model","invalidated","listener","[object Object]","addListener","removeListener","element","drag","dragStart","pending","onMouseDown","offsetX","offsetY","onMouseMove","dx","dy","requestAnimationFrame","onMouseUp","_e","random","xo","yo","zo","p","n","int32","this","y2","z","x2","y22","z2","x3","floor","y3","z3","x4","y4","z4","x5","smoothstep","y5","z5","y6","sampleAndLerp","grad","_ImprovedNoise","GRADIENT","j","P","l2","m","o","lerp2","lerp3","gradDot","ImprovedNoise","seed","firstOctave","amplitudes","noiseLevels","seedrandom","lowestFreqInputFactor","pow","lowestFreqValueFactor","PerlinNoise","fixY","inputF","valueF","noise","wrap","first","second","Infinity","expectedDeviation","valueFactor","getValue","NoiseMaps","state","img","options","preset","NetherPreset","config2","NormalNoise","biomeColorCache","biomes","biome","getBiomeColor","biomeColors","ox","offset","oy","row","col","xx","scale","yy","closestBiome","color","multiNoise","fixed","shift","numBiomes","checkerboard","VanillaColors","stringToColor","isArray","n2","minDist","minBiome","dist","fitness","parameters","altitude","temperature","humidity","weirdness","minecraft:badlands","minecraft:badlands_plateau","minecraft:bamboo_jungle","minecraft:bamboo_jungle_hills","minecraft:basalt_deltas","minecraft:beach","minecraft:birch_forest","minecraft:birch_forest_hills","minecraft:cold_ocean","minecraft:crimson_forest","minecraft:dark_forest","minecraft:dark_forest_hills","minecraft:deep_cold_ocean","minecraft:deep_frozen_ocean","minecraft:deep_lukewarm_ocean","minecraft:deep_ocean","minecraft:deep_warm_ocean","minecraft:desert","minecraft:desert_hills","minecraft:desert_lakes","minecraft:end_barrens","minecraft:end_highlands","minecraft:end_midlands","minecraft:eroded_badlands","minecraft:flower_forest","minecraft:forest","minecraft:frozen_ocean","minecraft:frozen_river","minecraft:giant_spruce_taiga","minecraft:giant_spruce_taiga_hills","minecraft:giant_tree_taiga","minecraft:giant_tree_taiga_hills","minecraft:gravelly_mountains","minecraft:ice_spikes","minecraft:jungle","minecraft:jungle_edge","minecraft:jungle_hills","minecraft:lukewarm_ocean","minecraft:modified_badlands_plateau","minecraft:modified_gravelly_mountains","minecraft:modified_jungle","minecraft:modified_jungle_edge","minecraft:modified_wooded_badlands_plateau","minecraft:mountain_edge","minecraft:mountains","minecraft:mushroom_field_shore","minecraft:mushroom_fields","minecraft:nether_wastes","minecraft:ocean","minecraft:plains","minecraft:river","minecraft:savanna","minecraft:savanna_plateau","minecraft:shattered_savanna","minecraft:shattered_savanna_plateau","minecraft:small_end_islands","minecraft:snowy_beach","minecraft:snowy_mountains","minecraft:snowy_taiga","minecraft:snowy_taiga_hills","minecraft:snowy_taiga_mountains","minecraft:snowy_tundra","minecraft:soul_sand_valley","minecraft:stone_shore","minecraft:sunflower_plains","minecraft:swamp","minecraft:swamp_hills","minecraft:taiga","minecraft:taiga_hills","minecraft:taiga_mountains","minecraft:tall_birch_forest","minecraft:tall_birch_hills","minecraft:the_end","minecraft:the_void","minecraft:warm_ocean","minecraft:warped_forest","minecraft:wooded_badlands_plateau","minecraft:wooded_hills","minecraft:wooded_mountains","altitude_noise","temperature_noise","humidity_noise","weirdness_noise","terrain","featureColors","pos","ctx","base","nextInt","spread","normalize","min_inclusive","max_inclusive","sampleInt","source","features","indexOf","feature","placements","useFeature","featureFn","Features","decorator2","decoratorFn","Decorators","decorated","getPositions","decorator","getPlacements","random_boolean_selector","feature_true","feature_false","random_selector","chance","simple_random_selector","count","count_extra","extra_chance","extra_count","count_multilayer","count_noise","biomeInfoNoise","noise_level","below_noise","above_noise","count_noise_biased","factor","noise_factor","ceil","noise_offset","noise_to_count_ratio","dark_oak_tree","_config","_","seaLevel","clamp","outer","flatMap","inner","depth_average","decorateY","baseline","emerald_ore","fire","glowstone","heightmap","heightmap_spread_double","heightmap_world_surface","iceberg","lava_lake","nope","range","maximum","top_offset","bottom_offset","range_biased","range_very_biased","spread_32_above","top_solid_heightmap","magma","square","water_lake","minLimitPerlinNoise","fromRange","maxLimitPerlinNoise","mainPerlinNoise","depthNoise","settings","depth","xOffset","chunkWidth","size_horizontal","chunkHeight","size_vertical","chunkCountY","amplified","biomeDepth","biomeScale","noiseColumnCache","noise1","fillNoiseColumn","noise2","cachedColumn","xzScale","sampling","xz_scale","yScale","y_scale","xzFactor","xz_factor","yFactor","y_factor","randomDensity","random_density_offset","getRandomDensity","sampleAndClampNoise","getOctaveNoise","falloff","density_factor","density_offset","top_slide","size","clampedLerp","bottom_slide","minLimitNoise","maxLimitNoise","mainNoise","HasPreview","Previews","generator","Path","predicate","get","shown","setScale","setSeed","hexId","focused","setFocused","canvas","redrawTimeout","redraw","refocus","getContext","createImageData","putImageData","setTimeout","clientWidth","clientHeight","toWorld","getBiome","hover","onMouseLeave","changeScale","newScale","setBiomeDepth","setBiomeScale","NoiseChunkGenerator","reset","iterateNoiseColumn","reverse","getColor","BtnInput","setCount","transformOutput","switchNode","props","hook","obj","blockState","validation","validator","relativePath","includes","getActiveFields","activeFields","enabled","Store","Store2","getLanguage","getTheme","getVersion","getIndent","setIndent","indent","INDENT","2_spaces","4_spaces","tabs","doCopy","doDownload","doImport","onError","retransform","ModelPath","execCommand","content","encodeURIComponent","setAttribute","click","changeIndent","parse","spellcheck","autocorrect","placeholder","style","callback","registry","el","on","querySelectorAll","el2","getAttribute","chevron_up","info","issue_opened","plus_circle","trashcan","selectRegistries","hiddenFields","flattenedFields","inlineFields","nbtFields","keysModel","DataModel","MapNode","StringNode","historyMax","renderHtml","node","onFalse","mounter","set","optional","onTrue","htmlEncode","choices","choice","activeCase","pathWithContext","context","getModel","getArray","pathWithChoiceContext","choiceContext","prefix","suffix","c2","change","pathLocale","contextPush","onAdd","onAddBottom","childValue","onRemove","onMoveUp","onMoveDown","childPath","cPrefix","cSuffix","cBody","help","contextMenu","keyPath","enum","last","errors","add","ObjectNode","fromEntries","modelPush","childrenSchema","integer","parsed","parseFloat","padStart","getChildModelPath","field","isFlattened","isInlined","getValues","inputId","newValue","textarea","sizes","split","ResizeObserver","offsetWidth","offsetHeight","observe","isEnum","additional","context2","pool","datalistId","result","popupIcon","popup","getElementsByTagName","classList","capture","once","openMenu","insertAdjacentHTML","inputEl","removeChild","preventDefault","timer","tree","Mounter","rendered","html","innerHTML","mounted","changeTitle","onChangeVersion","setError","errorBoundary","errorRetry","useErrorBoundary","ErrorPanel","allowedVersions","setModel","setBlockStates","versionData","schemaName","validate","catch","ctrlKey","undo","redo","presetFilter","setPresetFilter","presetResults","setPresetResults","terms","trim","presets","every","t","loadPreset","vanilla_datapack_data","sourceShown","setSourceShown","innerWidth","setCopy","setDownload","setImport","previewShown","setPreviewShown","hasPreview","actionsShown","Ad","Tree","__spreadProps","PreviewPanel","SourcePanel","ToolCard","loadLocale","documentElement","setTitle","title2","Header","theme2","Router","Home","FieldSettings","Worldgen","Generator","version2","render","Main"],"mappings":"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"} \ No newline at end of file diff --git a/assets/vendor.57c081fd.js b/assets/vendor.57c081fd.js deleted file mode 100644 index d187944e..00000000 --- a/assets/vendor.57c081fd.js +++ /dev/null @@ -1,2 +0,0 @@ -var e,t,r,o,i=Object.defineProperty,a=Object.defineProperties,n=Object.getOwnPropertyDescriptors,c=Object.getOwnPropertySymbols,s=Object.prototype.hasOwnProperty,l=Object.prototype.propertyIsEnumerable,d=(e,t,r)=>t in e?i(e,t,{enumerable:!0,configurable:!0,writable:!0,value:r}):e[t]=r,m=(e,t)=>{for(var r in t||(t={}))s.call(t,r)&&d(e,r,t[r]);if(c)for(var r of c(t))l.call(t,r)&&d(e,r,t[r]);return e},_=(e,t)=>a(e,n(t)),p=e=>"symbol"==typeof e?e:e+"",u={},f=[],g=/acit|ex(?:s|g|n|p|$)|rph|grid|ows|mnc|ntw|ine[ch]|zoo|^ord|itera/i;function b(e,t){for(var r in t)e[r]=t[r];return e}function h(e){var t=e.parentNode;t&&t.removeChild(e)}function v(e,t,r){var o,i,a,n=arguments,c={};for(a in t)"key"==a?o=t[a]:"ref"==a?i=t[a]:c[a]=t[a];if(arguments.length>3)for(r=[r],a=3;a0?y(p.type,p.props,p.key,null,p.__v):p)){if(p.__=r,p.__b=r.__b+1,null===(_=v[d])||_&&p.key==_.key&&p.type===_.type)v[d]=void 0;else for(m=0;mt.rank?-1:e.index-t.index}function H(e,t){return e.index=t,e.rank=function(e){return e.props.default?0:(t=e.props.path,K(t).map(G).join(""));var t}(e),e.props}function K(e){return e.replace(/(^\/+|\/+$)/g,"").split("/")}function G(e){return":"==e.charAt(0)?1+"*+?".indexOf(e.charAt(e.length-1))||4:5}var X=null,V=[],J=[],Z={};function Y(){var e;return""+((e=X&&X.location?X.location:X&&X.getCurrentLocation?X.getCurrentLocation():"undefined"!=typeof location?location:Z).pathname||"")+(e.search||"")}function Q(e,t){return void 0===t&&(t=!1),"string"!=typeof e&&e.url&&(t=e.replace,e=e.url),function(e){for(var t=V.length;t--;)if(V[t].canRoute(e))return!0;return!1}(e)&&function(e,t){void 0===t&&(t="push"),X&&X[t]?X[t](e):"undefined"!=typeof history&&history[t+"State"]&&history[t+"State"](null,null,e)}(e,t?"replace":"push"),ee(e)}function ee(e){for(var t=!1,r=0;r0},t.prototype.routeTo=function(e){this.setState({url:e});var t=this.canRoute(e);return this.updating||this.forceUpdate(),t},t.prototype.componentWillMount=function(){V.push(this),this.updating=!0},t.prototype.componentDidMount=function(){var e=this;X&&(this.unlisten=X.listen((function(t){e.routeTo(""+(t.pathname||"")+(t.search||""))}))),this.updating=!1},t.prototype.componentWillUnmount=function(){"function"==typeof this.unlisten&&this.unlisten(),V.splice(V.indexOf(this),1)},t.prototype.componentWillUpdate=function(){this.updating=!0},t.prototype.componentDidUpdate=function(){this.updating=!1},t.prototype.getMatchingChildren=function(e,t,r){return e.filter(H).sort(W).map((function(e){var o=U(t,e.props.path,e.props);if(o){if(!1!==r){var i={url:t,matches:o};return E(i,o),delete i.ref,delete i.key,function(e,t,r){var o,i,a,n=arguments,c=b({},e.props);for(a in t)"key"==a?o=t[a]:"ref"==a?i=t[a]:c[a]=t[a];if(arguments.length>3)for(r=[r],a=3;a=o.__.length&&o.__.push({}),o.__[t]}function ve(e){return me=1,function(e,t,r){var o=he(se++,2);return o.t=e,o.__c||(o.__=[r?r(t):Me(void 0,t),function(e){var t=o.t(o.__[0],e);o.__[0]!==t&&(o.__=[t,o.__[1]],o.__c.setState({}))}],o.__c=le),o.__}(Me,e)}function ye(t,r){var o=he(se++,3);!e.__s&&Se(o.__H,r)&&(o.__=t,o.__H=r,le.__H.__h.push(o))}function Ne(e){return me=5,function(e,t){var r=he(se++,7);return Se(r.__H,t)&&(r.__=e(),r.__H=t,r.__h=e),r.__}((function(){return{current:e}}),[])}function Oe(e){var t=he(se++,10),r=ve();return t.__=e,le.componentDidCatch||(le.componentDidCatch=function(e){t.__&&t.__(e),r[1](e)}),[r[0],function(){r[1](void 0)}]}function ke(){_e.forEach((function(t){if(t.__P)try{t.__H.__h.forEach(we),t.__H.__h.forEach(je),t.__H.__h=[]}catch(r){t.__H.__h=[],e.__e(r,t.__v)}})),_e=[]}e.__b=function(e){le=null,pe&&pe(e)},e.__r=function(e){ue&&ue(e),se=0;var t=(le=e.__c).__H;t&&(t.__h.forEach(we),t.__h.forEach(je),t.__h=[])},e.diffed=function(t){fe&&fe(t);var r=t.__c;r&&r.__H&&r.__H.__h.length&&(1!==_e.push(r)&&de===e.requestAnimationFrame||((de=e.requestAnimationFrame)||function(e){var t,r=function(){clearTimeout(o),xe&&cancelAnimationFrame(t),setTimeout(e)},o=setTimeout(r,100);xe&&(t=requestAnimationFrame(r))})(ke)),le=void 0},e.__c=function(t,r){r.some((function(t){try{t.__h.forEach(we),t.__h=t.__h.filter((function(e){return!e.__||je(e)}))}catch(o){r.some((function(e){e.__h&&(e.__h=[])})),r=[],e.__e(o,t.__v)}})),ge&&ge(t,r)},e.unmount=function(t){be&&be(t);var r=t.__c;if(r&&r.__H)try{r.__H.__.forEach(we)}catch(o){e.__e(o,r.__v)}};var xe="function"==typeof requestAnimationFrame;function we(e){var t=le;"function"==typeof e.__c&&e.__c(),le=t}function je(e){var t=le;e.__c=e.__(),le=t}function Se(e,t){return!e||e.length!==t.length||t.some((function(t,r){return t!==e[r]}))}function Me(e,t){return"function"==typeof t?t(e):t}var Ce="undefined"!=typeof globalThis?globalThis:"undefined"!=typeof window?window:"undefined"!=typeof global?global:"undefined"!=typeof self?self:{};function Pe(e){if(e.__esModule)return e;var t=Object.defineProperty({},"__esModule",{value:!0});return Object.keys(e).forEach((function(r){var o=Object.getOwnPropertyDescriptor(e,r);Object.defineProperty(t,r,o.get?o:{enumerable:!0,get:function(){return e[r]}})})),t}var Le={},Be={},ze={};Object.defineProperty(ze,"__esModule",{value:!0}),ze.ModelPath=ze.Path=ze.relativePath=void 0,ze.relativePath=function(e,t){return t.reduce(((e,t)=>"pop"===t?e.pop():e.push(t.push)),e)};class Re{constructor(e,t){this.modelArr=null!=e?e:[],this.contextArr=null!=t?t:[]}last(){return this.modelArr[this.modelArr.length-1]}slice(e,t){return new Re(this.modelArr.slice(e,t),this.contextArr)}shift(){return new Re(this.modelArr.slice(1),this.contextArr)}pop(){return new Re(this.modelArr.slice(0,-1),this.contextArr)}push(e){return this.modelPush(e).contextPush(e)}modelPush(e){return new Re([...this.modelArr,e],[...this.contextArr])}contextPush(e){if("number"==typeof e)return this.copy();const t=e.startsWith("minecraft:")?e.slice(10):e;return new Re([...this.modelArr],[...this.contextArr,t])}copy(){return new Re([...this.modelArr],[...this.contextArr])}getArray(){return this.modelArr}withModel(e){return new $e(e,this)}getContext(){return this.contextArr}equals(e){return e.modelArr.length===this.modelArr.length&&e.modelArr.every(((e,t)=>e===this.modelArr[t]))}startsWith(e){return!(this.modelArr.lengthe===this.modelArr[t]))}endsWith(e){const t=this.modelArr.length-e.modelArr.length;return!(t<0)&&e.modelArr.every(((e,r)=>e===this.modelArr[t+r]))}toString(){return this.modelArr.map((e=>"string"==typeof e?`.${e}`:`[${e}]`)).join("").replace(/^\./,"")}forEach(e,t){return this.modelArr.forEach(e,t)}}ze.Path=Re;class $e extends Re{constructor(e,t){super(null==t?void 0:t.modelArr,null==t?void 0:t.contextArr),this.model=e}getModel(){return this.model}get(){var e;return null===(e=this.model)||void 0===e?void 0:e.get(this)}set(e){var t;null===(t=this.model)||void 0===t||t.set(this,e)}slice(e,t){return new $e(this.model,super.slice(e,t))}shift(){return new $e(this.model,super.shift())}pop(){return new $e(this.model,super.pop())}push(e){return this.modelPush(e).contextPush(e)}modelPush(e){return new $e(this.model,super.modelPush(e))}contextPush(e){return new $e(this.model,super.contextPush(e))}copy(){return new $e(this.model,super.copy())}}ze.ModelPath=$e;var Ae={};Object.defineProperty(Ae,"__esModule",{value:!0}),Ae.Errors=void 0;class Te{constructor(){this.errors=[]}add(e,t,...r){return this.errors.push({path:e,error:t,params:r}),!1}get(e,t=!1){return t?this.errors.filter((t=>t.path.equals(e))):this.errors.filter((t=>t.path.startsWith(e)))}getAll(){return this.errors}clear(){this.errors=[]}count(){return this.errors.length}*[Symbol.iterator](){for(const e of this.errors)yield e}}Ae.Errors=Te,Object.defineProperty(Be,"__esModule",{value:!0}),Be.DataModel=void 0;const qe=ze,Ie=Ae;Be.DataModel=class{constructor(e,t){var r;this.schema=e,this.data=e.default(),this.listeners=[],this.errors=new Ie.Errors,this.history=[JSON.stringify(this.data)],this.historyIndex=0,this.historyMax=null!==(r=null==t?void 0:t.historyMax)&&void 0!==r?r:50}addListener(e){this.listeners.push(e)}removeListener(e){const t=this.listeners.indexOf(e);t>-1&&this.listeners.splice(t,1)}invalidate(){const e=JSON.stringify(this.data);this.history[this.historyIndex]!==e&&(this.historyIndex+=1,this.history.splice(this.historyIndex,this.historyMax,e),this.history.length>this.historyMax&&(this.history.splice(0,1),this.historyIndex-=1)),this.silentInvalidate()}silentInvalidate(){this.listeners.forEach((e=>{e.invalidated&&e.invalidated(this),e.errors&&e.errors(this.errors)}))}reset(e,t){this.data=e,this.validate(t),this.invalidate()}get(e){let t=this.data;return e.forEach((e=>{if(void 0===t)return t;t=t[e]})),t}set(e,t,r){if(0===e.getArray().length)return void this.reset(t,!0);let o=this.data;e.pop().forEach((e=>{void 0!==o[e]&&"string"!=typeof o[e]&&"number"!=typeof o[e]||(o[e]={}),o=o[e]})),void 0===t||"number"==typeof t&&isNaN(t)?"number"==typeof e.last()?o.splice(e.last(),1):delete o[e.last()]:o[e.last()]=t,r||(console.log("Set",e.toString(),JSON.stringify(t)),this.validate(!0),this.invalidate())}undo(){this.historyIndex>0&&(this.historyIndex-=1,this.data=JSON.parse(this.history[this.historyIndex]),this.validate(!1),this.silentInvalidate())}redo(){this.historyIndex{e.errors&&e.errors(o)}))}};var De,Fe={};De=Fe,Object.defineProperty(De,"__esModule",{value:!0}),De.Keep=De.Opt=De.Has=De.Mod=De.Base=void 0,De.Base={type:()=>"base",category:()=>{},default:()=>{},enabled:()=>!0,keep:()=>!1,optional:()=>!1,navigate(){return this},pathPush:e=>e,suggest:()=>[],validate:(e,t)=>t,validationOption:()=>{},hook(e,t,...r){return e.base({node:this},t,...r)},canUpdate:()=>!1,update:()=>[]},De.Mod=(e,t)=>m(m({},e),"function"==typeof t?t(e):t),De.Has=(e,t)=>De.Mod(t,{enabled:t=>void 0!==t.push(e).get()}),De.Opt=function(e){return _(m({},e),{optional:()=>!0})},De.Keep=function(e){return _(m({},e),{keep:()=>!0})};var Ee={};Object.defineProperty(Ee,"__esModule",{value:!0}),Ee.BooleanNode=void 0;const Ue=Fe;Ee.BooleanNode=()=>_(m({},Ue.Base),{type:()=>"boolean",default:()=>!1,suggest:()=>["false","true"],validate(e,t,r,o){return o.loose&&"boolean"!=typeof t&&(t=this.default()),"boolean"==typeof t&&void 0!==t||r.add(e,"error.expected_boolean"),t},hook(e,t,...r){var o;return(null!==(o=e.boolean)&&void 0!==o?o:e.base).call(e,{node:this},t,...r)}});var We={},He={};Object.defineProperty(He,"__esModule",{value:!0}),He.ListNode=void 0;const Ke=Fe;He.ListNode=(e,t)=>{var r,o;const i=null!==(r=null==t?void 0:t.minLength)&&void 0!==r?r:0,a=null!==(o=null==t?void 0:t.maxLength)&&void 0!==o?o:1/0,n=(null==t?void 0:t.minLength)&&(null==t?void 0:t.maxLength);return _(m({},Ke.Base),{type:()=>"list",default:()=>(null==t?void 0:t.minLength)?[...Array(i)].map((t=>e.default())):[],navigate(t,r){const o=r+1;return t.getArray().length<=o?this:e.navigate(t,o)},pathPush:(e,t)=>e.push(parseInt(t.toString())).contextPush("entry"),validate(t,r,o,c){return c.loose&&!Array.isArray(r)&&(r=this.default()),Array.isArray(r)?(n&&(r.lengtha)?i===a?o.add(t,"error.invalid_list_range.exact",r.length,i):o.add(t,"error.invalid_list_range.between",r.length,i,a):r.lengtha&&o.add(t,"error.invalid_list_range.larger",r.length,a),r.map(((r,i)=>e.validate(t.push(i),r,o,c)))):(o.add(t,"error.expected_list"),r)},hook(r,o,...i){var a;return(null!==(a=r.list)&&void 0!==a?a:r.base).call(r,{node:this,children:e,config:null!=t?t:{}},o,...i)}})};var Ge={};Object.defineProperty(Ge,"__esModule",{value:!0}),Ge.SwitchNode=void 0;const Xe=Fe;Ge.SwitchNode=e=>_(m({},Xe.Base),{type(e){return this.activeCase(e,!0).node.type(e)},category(e){return this.activeCase(e,!0).node.category(e)},default:()=>e[0].node.default(),navigate(e,t){var r;const o=t+1;return null===(r=this.activeCase(e.slice(0,o)))||void 0===r?void 0:r.node.navigate(e,t)},pathPush(e,t){var r,o;return null!==(o=null===(r=this.activeCase(e))||void 0===r?void 0:r.node.pathPush(e,t))&&void 0!==o?o:e},suggest(t,r){var o,i;return null!==(i=null===(o=this.activeCase(t))||void 0===o?void 0:o.node.suggest(t,r))&&void 0!==i?i:e.filter((e=>e.match(t))).map((e=>e.node.suggest(t,r))).reduce(((e,t)=>e.concat(t)))},validate(e,t,r,o){let i=this.activeCase(e);return void 0===i?t:i.node.validate(e,t,r,o)},validationOption(e){var t;return null===(t=this.activeCase(e))||void 0===t?void 0:t.node.validationOption(e)},activeCase(t,r){const o=(e,t)=>{var r,o;return(null!==(r=t.priority)&&void 0!==r?r:0)-(null!==(o=e.priority)&&void 0!==o?o:0)},i=e.filter((e=>e.match(t))).sort(o);return r&&0===i.length?e.sort(o)[0]:i.length>0?i[0]:void 0},hook(e,t,...r){return this.activeCase(t,!0).node.hook(e,t,...r)}}),function(e){Object.defineProperty(e,"__esModule",{value:!0}),e.ObjectOrPreset=e.StringOrList=e.ObjectOrList=e.ChoiceNode=void 0;const t=He,r=Ge;e.ChoiceNode=(e,t)=>{const o=r.SwitchNode(e.map((e=>({type:e.type,priority:e.priority,match:t=>((e,t)=>{if(e.match)return e.match(t);switch(e.type){case"list":return Array.isArray(t);case"object":return"object"==typeof t&&!Array.isArray(t);default:return typeof t===e.type}})(e,t.get()),node:e.node}))));return _(m({},o),{validate(e,t,r,i){let a=o.activeCase(e,!0);return a.node.optional()?t:a.node.validate(e,t,r,i)},hook(r,i,...a){var n;return(null!==(n=r.choice)&&void 0!==n?n:r.base).call(r,{node:this,choices:e,config:null!=t?t:{},switchNode:o},i,...a)}})};const o=r=>(o,i)=>e.ChoiceNode([{type:r,node:o,change:e=>{var t;return null!==(t=e[0])&&void 0!==t?t:o.default()}},{type:"list",node:t.ListNode(o),change:e=>e?[e]:[]}],i);e.ObjectOrList=o("object"),e.StringOrList=o("string"),e.ObjectOrPreset=(t,r,o)=>e.ChoiceNode([{type:"string",priority:1,node:t,change:e=>Object.keys(o)[0]},{type:"object",node:r,change:e=>{var t;return null!==(t=o[e])&&void 0!==t?t:o[Object.keys(o)[0]]}}])}(We);var Ve={};Object.defineProperty(Ve,"__esModule",{value:!0}),Ve.MapNode=void 0;const Je=Fe;Ve.MapNode=(e,t,r)=>_(m({},Je.Base),{type:()=>"map",default:()=>({}),navigate(e,r){const o=r+1;return e.getArray().length<=o?this:t.navigate(e,o)},pathPush:(e,t)=>e.modelPush(t),suggest:t=>e.suggest(t,""),validate(r,o,i,a){if(a.loose&&"object"!=typeof o&&(o=this.default()),null===o||"object"!=typeof o)return i.add(r,"error.expected_object"),o;let n={};return Object.keys(o).forEach((c=>{e.validate(r,c,i,a),n[c]=t.validate(r.push(c),o[c],i,a)})),n},validationOption(t){var o;return null!==(o=null==r?void 0:r.validation)&&void 0!==o?o:e.validationOption(t.push(""))},hook(o,i,...a){var n;return(null!==(n=o.map)&&void 0!==n?n:o.base).call(o,{node:this,keys:e,children:t,config:null!=r?r:{}},i,...a)}});var Ze={};Object.defineProperty(Ze,"__esModule",{value:!0}),Ze.NumberNode=void 0;const Ye=Fe;Ze.NumberNode=e=>{var t,r,o;const i=!!(null==e?void 0:e.color)||null!==(t=null==e?void 0:e.integer)&&void 0!==t&&t,a=(null==e?void 0:e.color)?0:null!==(r=null==e?void 0:e.min)&&void 0!==r?r:-1/0,n=(null==e?void 0:e.color)?16777215:null!==(o=null==e?void 0:e.max)&&void 0!==o?o:1/0,c=void 0!==(null==e?void 0:e.min)&&void 0!==(null==e?void 0:e.max);return _(m({},Ye.Base),{type:()=>"number",default:()=>a>0?a:0,validate(e,t,r,o){return o.loose&&"number"!=typeof t&&(t=this.default()),"number"!=typeof t?r.add(e,"error.expected_number"):i&&!Number.isInteger(t)?r.add(e,"error.expected_integer"):c&&(tn)?r.add(e,"error.invalid_number_range.between",t,a,n):tn&&r.add(e,"error.invalid_number_range.larger",t,n),t},hook(t,r,...o){var s;return(null!==(s=t.number)&&void 0!==s?s:t.base).call(t,{node:this,integer:i,min:a,max:n,between:c,config:null!=e?e:{}},r,...o)}})};var Qe={},et={};function tt(e){return e.replace(/(\\|")/g,"\\$1")}Object.defineProperty(et,"__esModule",{value:!0}),et.quoteString=et.escapeString=void 0,et.escapeString=tt,et.quoteString=function(e){return`"${tt(e)}"`},function(e){Object.defineProperty(e,"__esModule",{value:!0}),e.ObjectNode=e.Case=e.Switch=void 0;const t=Fe,r=ze,o=Ae,i=et;e.Switch=Symbol("switch"),e.Case=Symbol("case"),e.ObjectNode=(a,n)=>{var d,u;const f=a,{[d=e.Switch]:g,[u=e.Case]:b}=f,h=((e,t)=>{var r={};for(var o in e)s.call(e,o)&&t.indexOf(o)<0&&(r[o]=e[o]);if(null!=e&&c)for(var o of c(e))t.indexOf(o)<0&&l.call(e,o)&&(r[o]=e[o]);return r})(f,[p(d),p(u)]),v=e=>{if(void 0===g)return h;const t=r.relativePath(e,g).get(),o=b[t];return m(m({},h),o)},y=(e,t)=>{var o;const i=g?r.relativePath(e,g).get():void 0,a=g&&null!==(o=b[i])&&void 0!==o?o:{},c=Object.keys(a),s=(null==n?void 0:n.context)?new r.ModelPath(e.getModel(),new r.Path(e.getArray(),[n.context])):e;return(!(null==n?void 0:n.disableSwitchContext)&&i&&c.includes(t)?s.contextPush(i):s).push(t)};return _(m({},t.Base),{type:()=>"object",category:()=>null==n?void 0:n.category,default:()=>({}),keep(){return this.optional()},navigate(e,t){const r=t+1,o=e.getArray();if(o.length<=r)return this;const i=v(e.slice(0,r))[o[r]];return null==i?void 0:i.navigate(e,r)},pathPush:(e,t)=>y(e,t.toString()),suggest(e,t){const r=v(e),o=Object.keys("object"==typeof t?t:{});return Object.keys(r).filter((t=>r[t].enabled(e))).filter((e=>!o.includes(e))).map(i.quoteString)},validate(e,t,i,a){if(a.loose&&"object"!=typeof t&&(t=this.default()),"object"!=typeof t)return i.add(e,"error.expected_object"),t;let n=h;if(g){const i=r.relativePath(e,g);let c=i.get();if(e.equals(i.pop())){const r=i.last();c=h[r].validate(e.push(r),t[r],new o.Errors,a)}n=m(m({},n),b[c])}const c=Object.keys(n),s=c.filter((e=>!n[e].optional())),l=new Set([...s,...Object.keys(t)]);let d={};return l.forEach((r=>{if(c.includes(r)){if(!n[r].enabled(e))return;const o=n[r].validate(e.push(r),t[r],i,a);!n[r].keep()&&n[r].optional()&&(void 0===o||Array.isArray(o)&&0===o.length||o.constructor===Object&&0===Object.keys(o).length)?d[r]=void 0:(d[r]=o,e.getModel().set(e.push(r),o,!0))}else d[r]=t[r]})),d},hook(e,t,...r){var o;return(null!==(o=e.object)&&void 0!==o?o:e.base).call(e,{node:this,fields:h,filter:g,cases:b,getActiveFields:v,getChildModelPath:y},t,...r)}})}}(Qe);var rt={};Object.defineProperty(rt,"__esModule",{value:!0}),rt.Reference=void 0,rt.Reference=(e,t)=>({type(r){return e.get(t).type.bind(this)(r)},category(r){return e.get(t).category.bind(this)(r)},default(){return e.get(t).default.bind(this)()},transform:(r,o)=>e.get(t).transform(r,o),enabled(r){return e.get(t).enabled.bind(this)(r)},keep(){return e.get(t).keep.bind(this)()},optional(){return e.get(t).optional.bind(this)()},navigate(r,o){return e.get(t).navigate.bind(this)(r,o)},pathPush(r,o){return e.get(t).pathPush.bind(this)(r,o)},suggest(r,o){return e.get(t).suggest.bind(this)(r,o)},validate(r,o,i,a){return e.get(t).validate.bind(this)(r,o,i,a)},validationOption(r){return e.get(t).validationOption.bind(this)(r)},hook(r,o,...i){return e.get(t).hook.bind(this)(r,o,...i)},activeCase(r,o){return e.get(t).activeCase.bind(this)(r,o)},canUpdate(r,o){return e.get(t).canUpdate.bind(this)(r,o)},update(r,o){return e.get(t).update.bind(this)(r,o)}});var ot={};Object.defineProperty(ot,"__esModule",{value:!0}),ot.StringNode=void 0;const it=Fe,at=et,nt=e=>{var t;return!!(null===(t=e)||void 0===t?void 0:t.enum)},ct=e=>{var t;return!!(null===(t=e)||void 0===t?void 0:t.validator)};ot.StringNode=(e,t)=>{const r=nt(t)?"string"==typeof t.enum?()=>{var r;return null!==(r=null==e?void 0:e.get(t.enum))&&void 0!==r?r:[]}:()=>t.enum:"resource"===(null==t?void 0:t.validator)?"string"==typeof t.params.pool?t.params.pool.startsWith("$")?()=>{var r;return null!==(r=null==e?void 0:e.get(t.params.pool.slice(1)))&&void 0!==r?r:[]}:()=>{var r;return null!==(r=null==e?void 0:e.get(t.params.pool))&&void 0!==r?r:[]}:()=>t.params.pool:()=>[];return _(m({},it.Base),{type:()=>"string",default:()=>"",validate(e,o,i,a){if(a.loose&&"string"!=typeof o&&(o=this.default()||void 0),"string"!=typeof o)return i.add(e,"error.expected_string"),o;if(ct(t)&&("resource"===t.validator&&o.length>0&&!o.includes(":")&&(o="#"===o[0]?"#minecraft:"+o.slice(1):"minecraft:"+o),"resource"===t.validator&&("string"==typeof t.params.pool&&t.params.pool.startsWith("$")||t.params.allowTag&&"#"===o[0]||t.params.isDefinition||t.params.allowUnknown)))return o;if(nt(t)&&t.additional)return o;const n=r();return n.length>0&&!n.includes(o)&&i.add(e,"error.invalid_enum_option",o),o},suggest:()=>r().map(at.quoteString),validationOption:()=>ct(t)?t:void 0,hook(e,o,...i){var a;return(null!==(a=e.string)&&void 0!==a?a:e.base).call(e,{node:this,getValues:r,config:t},o,...i)}})};var st={};Object.defineProperty(st,"__esModule",{value:!0});var lt={};Object.defineProperty(lt,"__esModule",{value:!0}),lt.CollectionRegistry=lt.SchemaRegistry=void 0;lt.SchemaRegistry=class{constructor(){this.registry={}}register(e,t){this.registry[e]=t}get(e){const t=this.registry[e];return void 0===t&&console.error(`Tried to access schema "${e}", but that doesn't exist.`),t}};lt.CollectionRegistry=class{constructor(){this.registry={}}register(e,t){this.registry[e]=t}get(e){const t=this.registry[e];return void 0===t&&console.warn(`Tried to access collection "${e}", but that doesn't exist.`),null!=t?t:[]}};var dt={};Object.defineProperty(dt,"__esModule",{value:!0}),function(e){var t=Ce&&Ce.__createBinding||(Object.create?function(e,t,r,o){void 0===o&&(o=r),Object.defineProperty(e,o,{enumerable:!0,get:function(){return t[r]}})}:function(e,t,r,o){void 0===o&&(o=r),e[o]=t[r]}),r=Ce&&Ce.__exportStar||function(e,r){for(var o in e)"default"===o||r.hasOwnProperty(o)||t(r,e,o)};Object.defineProperty(e,"__esModule",{value:!0}),r(Be,e),r(ze,e),r(Ae,e),r(Fe,e),r(Ee,e),r(We,e),r(He,e),r(Ve,e),r(Ze,e),r(Qe,e),r(rt,e),r(ot,e),r(Ge,e),r(st,e),r(lt,e),r(dt,e)}(Le);var mt={},_t={};Object.defineProperty(_t,"__esModule",{value:!0}),_t.initCollections=void 0,_t.initCollections=function(e){e.register("advancement_trigger",["minecraft:bee_nest_destroyed","minecraft:bred_animals","minecraft:brewed_potion","minecraft:changed_dimension","minecraft:channeled_lightning","minecraft:construct_beacon","minecraft:consume_item","minecraft:cured_zombie_villager","minecraft:effects_changed","minecraft:enchanted_item","minecraft:enter_block","minecraft:entity_hurt_player","minecraft:entity_killed_player","minecraft:filled_bucket","minecraft:fishing_rod_hooked","minecraft:hero_of_the_village","minecraft:impossible","minecraft:inventory_changed","minecraft:item_durability_changed","minecraft:killed_by_crossbow","minecraft:levitation","minecraft:location","minecraft:nether_travel","minecraft:placed_block","minecraft:player_hurt_entity","minecraft:player_killed_entity","minecraft:recipe_unlocked","minecraft:shot_crossbow","minecraft:safely_harvest_honey","minecraft:slept_in_bed","minecraft:slide_down_block","minecraft:summoned_entity","minecraft:tame_animal","minecraft:tick","minecraft:used_ender_eye","minecraft:used_totem","minecraft:villager_trade","minecraft:voluntary_exile"]),e.register("loot_pool_entry_type",["minecraft:empty","minecraft:item","minecraft:tag","minecraft:loot_table","minecraft:alternatives","minecraft:sequence","minecraft:group","minecraft:dynamic"]),e.register("loot_condition_type",["minecraft:alternative","minecraft:inverted","minecraft:reference","minecraft:entity_properties","minecraft:block_state_property","minecraft:match_tool","minecraft:damage_source_properties","minecraft:location_check","minecraft:weather_check","minecraft:time_check","minecraft:entity_scores","minecraft:random_chance","minecraft:random_chance_with_looting","minecraft:table_bonus","minecraft:killed_by_player","minecraft:survives_explosion"]),e.register("loot_function_type",["minecraft:set_count","minecraft:set_damage","minecraft:set_name","minecraft:set_lore","minecraft:set_nbt","minecraft:set_attributes","minecraft:set_contents","minecraft:enchant_randomly","minecraft:enchant_with_levels","minecraft:looting_enchant","minecraft:limit_count","minecraft:furnace_smelt","minecraft:explosion_decay","minecraft:fill_player_head","minecraft:copy_name","minecraft:copy_nbt","minecraft:copy_state","minecraft:apply_bonus","minecraft:exploration_map","minecraft:set_stew_effect"]),e.register("attribute",["generic.maxHealth","generic.followRange","generic.knockbackResistance","generic.movementSpeed","generic.attackDamage","generic.armor","generic.armorToughness","generic.attackSpeed","generic.luck","horse.jumpStrength","generic.attackKnockback","generic.flyingSpeed","zombie.spawnReinforcements"]),e.register("structure_feature",["pillager_outpost","mineshaft","mansion","jungle_pyramid","desert_pyramid","igloo","shipwreck","swamp_hut","stronghold","monument","ocean_ruin","fortress","endcity","buried_treasure","village"]),e.register("dimension",["minecraft:overworld","minecraft:the_nether","minecraft:the_end"]),e.register("keybind",["key.advancements","key.attack","key.back","key.chat","key.command","key.drop","key.forward","key.fullscreen","key.hotbar.1","key.hotbar.2","key.hotbar.3","key.hotbar.4","key.hotbar.5","key.hotbar.6","key.hotbar.7","key.hotbar.8","key.hotbar.9","key.inventory","key.jump","key.left","key.loadToolbarActivator","key.pickItem","key.playerlist","key.right","key.saveToolbarActivator","key.screenshot","key.smoothCamera","key.sneak","key.spectatorOutlines","key.sprint","key.swapOffhand","key.togglePerspective","key.use"]),e.register("slot",["mainhand","offhand","head","chest","legs","feet"]),e.register("gamemode",["survival","creative","adventure","spectator"]),e.register("entity_source",["this","direct_killer","killer","killer_player"]),e.register("copy_source",["block_entity","this","killer","killer_player"]),e.register("loot_table_apply_bonus_formula",["minecraft:uniform_bonus_count","minecraft:binomial_with_bonus_count","minecraft:ore_drops"]),e.register("map_decoration",["mansion","monument","player","frame","red_marker","blue_marker","target_x","target_point","player_off_map","player_off_limits","red_x","banner_white","banner_orange","banner_magenta","banner_light_blue","banner_yellow","banner_lime","banner_pink","banner_gray","banner_light_gray","banner_cyan","banner_purple","banner_blue","banner_brown","banner_green","banner_red","banner_black"]),e.register("recipe_group",["bed","light_gray_dye","iron_ingot","wooden_stairs","black_dye","stained_terracotta","dyed_bed","magenta_dye","bark","rabbit_stew","light_blue_dye","wooden_fence_gate","planks","stained_glass","wooden_door","stained_glass_pane","wooden_fence","sticks","concrete_powder","wooden_pressure_plate","boat","brown_dye","yellow_dye","bonemeal","red_dye","wooden_trapdoor","wooden_button","gold_ingot","pink_dye","wooden_slab","orange_dye","carpet","sign","wool","sugar","blue_dye","white_dye","banner","netherite_ingot"]),e.register("loot_context_type",["minecraft:empty","minecraft:chest","minecraft:command","minecraft:selector","minecraft:fishing","minecraft:entity","minecraft:gift","minecraft:barter","minecraft:advancement_reward","minecraft:advancement_entity","minecraft:generic","minecraft:block"])};var pt={},ut={},ft={};!function(e){Object.defineProperty(e,"__esModule",{value:!0}),e.initCommonSchemas=e.Range=e.ConditionCases=void 0;const t=Le;e.initCommonSchemas=function(r,o){const i=t.StringNode.bind(void 0,o),a=t.Reference.bind(void 0,r);r.register("block_state",t.Mod(t.ObjectNode({Name:i({validator:"resource",params:{pool:"block"}}),Properties:t.Opt(t.MapNode(i(),i(),{validation:{validator:"block_state_map",params:{id:["pop",{push:"Name"}]}}}))},{context:"block_state"}),{default:()=>({Name:"minecraft:stone"})})),r.register("fluid_state",t.Mod(t.ObjectNode({Name:i({validator:"resource",params:{pool:"fluid"}}),Properties:t.Opt(t.MapNode(i(),i()))},{context:"fluid_state"}),{default:()=>({Name:"minecraft:water",Properties:{level:"0"}})})),r.register("block_pos",t.Mod(t.ListNode(t.NumberNode({integer:!0})),{default:()=>[0,0,0]})),e.Range=e=>t.ChoiceNode([...(null==e?void 0:e.forceRange)?[]:[{type:"number",node:t.NumberNode(e),change:e=>{var t,r,o;return void 0===e?0:null!==(o=null!==(r=null!==(t=e.min)&&void 0!==t?t:e.max)&&void 0!==r?r:e.n)&&void 0!==o?o:0}}],{type:"object",priority:-1,node:t.ObjectNode({min:(null==e?void 0:e.bounds)?t.NumberNode(e):t.Opt(t.NumberNode(e)),max:(null==e?void 0:e.bounds)?t.NumberNode(e):t.Opt(t.NumberNode(e))},{context:"range"}),change:e=>({min:"number"==typeof e?e:void 0===e?1:e.n,max:"number"==typeof e?e:void 0===e?1:e.n})},...(null==e?void 0:e.allowBinomial)?[{type:"binomial",node:t.ObjectNode({type:i({enum:["minecraft:binomial"]}),n:t.NumberNode({integer:!0,min:0}),p:t.NumberNode({min:0,max:1})},{context:"range"}),match:e=>void 0!==e&&"minecraft:binomial"===e.type,change:e=>{var t,r;return{type:"minecraft:binomial",n:"number"==typeof e?e:void 0===e?1:null!==(r=null!==(t=e.min)&&void 0!==t?t:e.max)&&void 0!==r?r:1,p:.5}}}]:[]],{choiceContext:"range"}),e.ConditionCases={"minecraft:alternative":{terms:t.ListNode(a("condition"))},"minecraft:block_state_property":{block:i({validator:"resource",params:{pool:"block"}}),properties:t.MapNode(i(),i(),{validation:{validator:"block_state_map",params:{id:["pop",{push:"block"}]}}})},"minecraft:damage_source_properties":{predicate:a("damage_source_predicate")},"minecraft:entity_properties":{entity:i({enum:"entity_source"}),predicate:a("entity_predicate")},"minecraft:entity_scores":{entity:i({enum:"entity_source"}),scores:t.MapNode(i({validator:"objective"}),e.Range({forceRange:!0,bounds:!0}))},"minecraft:inverted":{term:a("condition")},"minecraft:killed_by_player":{inverse:t.Opt(t.BooleanNode())},"minecraft:location_check":{offsetX:t.Opt(t.NumberNode({integer:!0})),offsetY:t.Opt(t.NumberNode({integer:!0})),offsetZ:t.Opt(t.NumberNode({integer:!0})),predicate:a("location_predicate")},"minecraft:match_tool":{predicate:a("item_predicate")},"minecraft:random_chance":{chance:t.NumberNode({min:0,max:1})},"minecraft:random_chance_with_looting":{chance:t.NumberNode({min:0,max:1}),looting_multiplier:t.NumberNode()},"minecraft:requirements":{terms:t.ListNode(a("condition"))},"minecraft:reference":{name:i({validator:"resource",params:{pool:"$predicate"}})},"minecraft:table_bonus":{enchantment:i({validator:"resource",params:{pool:"enchantment"}}),chances:t.ListNode(t.NumberNode({min:0,max:1}))},"minecraft:time_check":{value:e.Range(),period:t.Opt(t.NumberNode())},"minecraft:weather_check":{raining:t.Opt(t.BooleanNode()),thundering:t.Opt(t.BooleanNode())}}}}(ft);var gt={};!function(e){Object.defineProperty(e,"__esModule",{value:!0}),e.initPredicatesSchemas=e.LocationFields=void 0;const t=Le,r=ft;e.initPredicatesSchemas=function(o,i){const a=t.Reference.bind(void 0,o),n=t.StringNode.bind(void 0,i),c=t.ChoiceNode([{type:"string",node:n(),change:e=>"boolean"==typeof e||"number"==typeof e?e.toString():""},{type:"number",node:t.NumberNode(),change:e=>"string"==typeof e?parseInt(e):0},{type:"object",node:t.ObjectNode({min:t.Opt(t.NumberNode({integer:!0})),max:t.Opt(t.NumberNode({integer:!0}))}),change:e=>"number"==typeof e?{min:e,max:e}:{}},{type:"boolean",node:t.BooleanNode(),change:e=>"true"===e||1===e}]);o.register("item_predicate",t.ObjectNode({item:t.Opt(n({validator:"resource",params:{pool:"item"}})),tag:t.Opt(n({validator:"resource",params:{pool:"$tag/item"}})),count:t.Opt(r.Range()),durability:t.Opt(r.Range()),potion:t.Opt(n({validator:"resource",params:{pool:"potion"}})),nbt:t.Opt(n({validator:"nbt",params:{registry:{category:"minecraft:item",id:["pop",{push:"item"}]}}})),enchantments:t.Opt(t.ListNode(a("enchantment_predicate")))},{context:"item"})),o.register("enchantment_predicate",t.ObjectNode({enchantment:t.Opt(n({validator:"resource",params:{pool:"enchantment"}})),levels:t.Opt(r.Range())},{context:"enchantment"})),o.register("block_predicate",t.ObjectNode({block:t.Opt(n({validator:"resource",params:{pool:"block"}})),tag:t.Opt(n({validator:"resource",params:{pool:"$tag/block"}})),nbt:t.Opt(n({validator:"nbt",params:{registry:{category:"minecraft:block",id:["pop",{push:"block"}]}}})),state:t.Opt(t.MapNode(n(),c,{validation:{validator:"block_state_map",params:{id:["pop",{push:"block"}]}}}))},{context:"block"})),o.register("fluid_predicate",t.ObjectNode({fluid:t.Opt(n({validator:"resource",params:{pool:"fluid"}})),tag:t.Opt(n({validator:"resource",params:{pool:"$tag/fluid"}})),state:t.Opt(t.MapNode(n(),c))},{context:"fluid"})),e.LocationFields={position:t.Opt(t.ObjectNode({x:t.Opt(r.Range()),y:t.Opt(r.Range()),z:t.Opt(r.Range())})),biome:t.Opt(n({enum:"biome"})),feature:t.Opt(n({enum:"structure_feature"})),dimension:t.Opt(n({enum:"dimension"})),light:t.Opt(t.ObjectNode({light:t.Opt(r.Range({integer:!0,min:0,max:15}))})),block:t.Opt(a("block_predicate")),fluid:t.Opt(a("fluid_predicate"))},o.register("location_predicate",t.ObjectNode(e.LocationFields,{context:"location"})),o.register("statistic_predicate",t.ObjectNode({type:n({validator:"resource",params:{pool:"stat_type"}}),stat:n(),value:r.Range(),[t.Switch]:[{push:"type"}],[t.Case]:{"minecraft:mined":{stat:n({validator:"resource",params:{pool:"block"}})},"minecraft:crafted":{stat:n({validator:"resource",params:{pool:"item"}})},"minecraft:used":{stat:n({validator:"resource",params:{pool:"item"}})},"minecraft:broken":{stat:n({validator:"resource",params:{pool:"item"}})},"minecraft:picked_up":{stat:n({validator:"resource",params:{pool:"item"}})},"minecraft:dropped":{stat:n({validator:"resource",params:{pool:"item"}})},"minecraft:killed":{stat:n({validator:"resource",params:{pool:"entity_type"}})},"minecraft:killed_by":{stat:n({validator:"resource",params:{pool:"entity_type"}})},"minecraft:custom":{stat:n({validator:"resource",params:{pool:"custom_stat"}})}}})),o.register("player_predicate",t.ObjectNode({gamemode:t.Opt(n({enum:"gamemode"})),level:t.Opt(r.Range()),advancements:t.Opt(t.MapNode(n({validator:"resource",params:{pool:"$advancement"}}),t.ChoiceNode([{type:"boolean",node:t.BooleanNode(),change:e=>!0},{type:"object",node:t.MapNode(n(),t.BooleanNode())}]))),recipes:t.Opt(t.MapNode(n({validator:"resource",params:{pool:"$recipe"}}),t.BooleanNode())),stats:t.Opt(t.ListNode(a("statistic_predicate")))},{context:"player"})),o.register("status_effect_predicate",t.ObjectNode({amplifier:t.Opt(r.Range()),duration:t.Opt(r.Range()),ambient:t.Opt(t.BooleanNode()),visible:t.Opt(t.BooleanNode())},{context:"status_effect"})),o.register("distance_predicate",t.ObjectNode({x:t.Opt(r.Range()),y:t.Opt(r.Range()),z:t.Opt(r.Range()),absolute:t.Opt(r.Range()),horizontal:t.Opt(r.Range())},{context:"distance"})),o.register("entity_predicate",t.ObjectNode({type:t.Opt(n({validator:"resource",params:{pool:"entity_type",allowTag:!0}})),nbt:t.Opt(n({validator:"nbt",params:{registry:{category:"minecraft:entity",id:["pop",{push:"type"}]}}})),team:t.Opt(n({validator:"team"})),location:t.Opt(a("location_predicate")),distance:t.Opt(a("distance_predicate")),flags:t.Opt(t.ObjectNode({is_on_fire:t.Opt(t.BooleanNode()),is_sneaking:t.Opt(t.BooleanNode()),is_sprinting:t.Opt(t.BooleanNode()),is_swimming:t.Opt(t.BooleanNode()),is_baby:t.Opt(t.BooleanNode())})),equipment:t.Opt(t.MapNode(n({enum:"slot"}),a("item_predicate"))),player:t.Opt(a("player_predicate")),effects:t.Opt(t.MapNode(n({validator:"resource",params:{pool:"mob_effect"}}),a("status_effect_predicate")))},{context:"entity"})),o.register("damage_source_predicate",t.ObjectNode({is_explosion:t.Opt(t.BooleanNode()),is_fire:t.Opt(t.BooleanNode()),is_magic:t.Opt(t.BooleanNode()),is_projectile:t.Opt(t.BooleanNode()),is_lightning:t.Opt(t.BooleanNode()),bypasses_armor:t.Opt(t.BooleanNode()),bypasses_invulnerability:t.Opt(t.BooleanNode()),bypasses_magic:t.Opt(t.BooleanNode()),source_entity:t.Opt(a("entity_predicate")),direct_entity:t.Opt(a("entity_predicate"))},{context:"damage_source"})),o.register("damage_predicate",t.ObjectNode({dealt:t.Opt(r.Range()),taken:t.Opt(r.Range()),blocked:t.Opt(t.BooleanNode()),source_entity:t.Opt(a("entity_predicate")),type:t.Opt(a("damage_source_predicate"))},{context:"damage"}))}}(gt),Object.defineProperty(ut,"__esModule",{value:!0}),ut.initAdvancementSchemas=void 0;const bt=Le,ht=ft,vt=gt;ut.initAdvancementSchemas=function(e,t){const r=bt.Reference.bind(void 0,e),o=bt.StringNode.bind(void 0,t);e.register("advancement",bt.Mod(bt.ObjectNode({display:bt.Opt(bt.Mod(bt.ObjectNode({icon:bt.ObjectNode({item:o({validator:"resource",params:{pool:"item"}}),nbt:bt.Opt(o({validator:"nbt",params:{registry:{category:"minecraft:item",id:["pop",{push:"item"}]}}}))}),title:r("text_component"),description:r("text_component"),background:bt.Opt(o()),frame:bt.Opt(o({enum:["task","challenge","goal"]})),show_toast:bt.Opt(bt.BooleanNode()),announce_to_chat:bt.Opt(bt.BooleanNode()),hidden:bt.Opt(bt.BooleanNode())}),{default:()=>({icon:{item:"minecraft:stone"},title:"",description:""})})),parent:bt.Opt(o({validator:"resource",params:{pool:"$advancement"}})),criteria:bt.MapNode(o(),r("advancement_criteria")),requirements:bt.Opt(bt.ListNode(bt.ListNode(o()))),rewards:bt.Opt(bt.ObjectNode({function:bt.Opt(o({validator:"resource",params:{pool:"$function"}})),loot:bt.Opt(bt.ListNode(o({validator:"resource",params:{pool:"$loot_table"}}))),recipes:bt.Opt(bt.ListNode(o({validator:"resource",params:{pool:"$recipe"}}))),experience:bt.Opt(bt.NumberNode({integer:!0}))}))},{context:"advancement"}),{default:()=>({criteria:{requirement:{trigger:"minecraft:location"}}})})),e.register("advancement_criteria",bt.ObjectNode({trigger:o({validator:"resource",params:{pool:t.get("advancement_trigger")}}),conditions:bt.Opt(bt.ObjectNode({[bt.Switch]:["pop",{push:"trigger"}],[bt.Case]:{"minecraft:bee_nest_destroyed":{block:bt.Opt(o({validator:"resource",params:{pool:"block"}})),num_bees_inside:bt.Opt(bt.NumberNode({integer:!0})),item:bt.Opt(r("item_predicate"))},"minecraft:bred_animals":{parent:bt.Opt(r("entity_predicate")),partner:bt.Opt(r("entity_predicate")),child:bt.Opt(r("entity_predicate"))},"minecraft:brewed_potion":{potion:bt.Opt(o({validator:"resource",params:{pool:"potion"}}))},"minecraft:changed_dimension":{from:bt.Opt(o({enum:"dimension"})),to:bt.Opt(o({enum:"dimension"}))},"minecraft:channeled_lightning":{victims:bt.Opt(bt.ListNode(bt.Opt(r("entity_predicate"))))},"minecraft:construct_beacon":{level:bt.Opt(ht.Range())},"minecraft:consume_item":{item:bt.Opt(r("item_predicate"))},"minecraft:cured_zombie_villager":{villager:bt.Opt(r("entity_predicate")),zombie:bt.Opt(r("entity_predicate"))},"minecraft:effects_changed":{effects:bt.Opt(bt.MapNode(o({validator:"resource",params:{pool:"mob_effect"}}),bt.ObjectNode({amplifier:ht.Range(),duration:ht.Range()})))},"minecraft:enter_block":{block:bt.Opt(o({validator:"resource",params:{pool:"block"}})),state:bt.Opt(bt.MapNode(o(),o(),{validation:{validator:"block_state_map",params:{id:["pop",{push:"block"}]}}}))},"minecraft:enchanted_item":{levels:bt.Opt(ht.Range()),item:bt.Opt(r("item_predicate"))},"minecraft:entity_hurt_player":{damage:bt.Opt(r("damage_predicate"))},"minecraft:entity_killed_player":{entity:bt.Opt(r("entity_predicate")),killing_blow:bt.Opt(r("damage_source_predicate"))},"minecraft:filled_bucket":{item:bt.Opt(r("item_predicate"))},"minecraft:fishing_rod_hooked":{entity:bt.Opt(r("entity_predicate")),item:bt.Opt(r("item_predicate"))},"minecraft:hero_of_the_village":vt.LocationFields,"minecraft:inventory_changed":{slots:bt.Opt(bt.ObjectNode({empty:bt.Opt(ht.Range()),occupied:bt.Opt(ht.Range()),full:bt.Opt(ht.Range())})),items:bt.Opt(bt.ListNode(r("item_predicate")))},"minecraft:item_durability_changed":{delta:bt.Opt(ht.Range()),durability:bt.Opt(ht.Range()),item:bt.Opt(r("item_predicate"))},"minecraft:killed_by_crossbow":{unique_entity_types:bt.Opt(ht.Range()),victims:bt.Opt(bt.ListNode(bt.Opt(r("entity_predicate"))))},"minecraft:levitation":{distance:bt.Opt(ht.Range()),duration:bt.Opt(ht.Range())},"minecraft:location":vt.LocationFields,"minecraft:nether_travel":{distance:bt.Opt(ht.Range()),entered:bt.Opt(r("location_predicate")),exited:bt.Opt(r("location_predicate"))},"minecraft:placed_block":{block:bt.Opt(o({validator:"resource",params:{pool:"block"}})),state:bt.Opt(bt.MapNode(o(),o(),{validation:{validator:"block_state_map",params:{id:["pop",{push:"block"}]}}})),item:bt.Opt(r("item_predicate")),location:bt.Opt(r("location_predicate"))},"minecraft:player_hurt_entity":{damage:bt.Opt(r("damage_predicate")),entity:bt.Opt(r("entity_predicate"))},"minecraft:player_killed_entity":{entity:bt.Opt(r("entity_predicate")),killing_blow:bt.Opt(r("damage_source_predicate"))},"minecraft:recipe_unlocked":{recipe:o({validator:"resource",params:{pool:"$recipe"}})},"minecraft:safely_harvest_honey":{block:bt.Opt(bt.ObjectNode({block:bt.Opt(o({validator:"resource",params:{pool:"block"}})),tag:bt.Opt(o({validator:"resource",params:{pool:"$tag/block"}}))})),item:bt.Opt(r("item_predicate"))},"minecraft:slept_in_bed":vt.LocationFields,"minecraft:slide_down_block":{block:bt.Opt(o({validator:"resource",params:{pool:"block"}}))},"minecraft:shot_crossbow":{item:bt.Opt(r("item_predicate"))},"minecraft:summoned_entity":{entity:bt.Opt(r("entity_predicate"))},"minecraft:tame_animal":{entity:bt.Opt(r("entity_predicate"))},"minecraft:used_ender_eye":{distance:bt.Opt(ht.Range())},"minecraft:used_totem":{item:bt.Opt(r("item_predicate"))},"minecraft:villager_trade":{villager:bt.Opt(r("entity_predicate")),item:bt.Opt(r("item_predicate"))},"minecraft:voluntary_exile":vt.LocationFields}},{context:"criterion"}))},{category:"predicate",context:"criterion"}))};var yt={};Object.defineProperty(yt,"__esModule",{value:!0}),yt.initConditionSchemas=void 0;const Nt=Le,Ot=ft;yt.initConditionSchemas=function(e,t){const r=Nt.Reference.bind(void 0,e),o=Nt.StringNode.bind(void 0,t);e.register("predicate",Nt.ObjectOrList(r("condition"),{choiceContext:"condition"})),e.register("condition",Nt.Mod(Nt.ObjectNode({condition:o({validator:"resource",params:{pool:"loot_condition_type"}}),[Nt.Switch]:[{push:"condition"}],[Nt.Case]:Ot.ConditionCases},{category:"predicate",context:"condition"}),{default:()=>({condition:"minecraft:entity_properties",entity:"this"})}))};var kt={},xt={};Object.defineProperty(xt,"__esModule",{value:!0}),xt.LootFunctions=xt.LootConditions=xt.LootCopySources=xt.LootEntitySources=xt.LootTableTypes=void 0,xt.LootTableTypes=new Map([["minecraft:advancement_entity",{requires:[7,8],allows:[]}],["minecraft:advancement_reward",{requires:[7,8],allows:[]}],["minecraft:barter",{requires:[8],allows:[]}],["minecraft:block",{requires:[1,7,9],allows:[0,4,8]}],["minecraft:chest",{requires:[7],allows:[8]}],["minecraft:command",{requires:[7],allows:[8]}],["minecraft:empty",{requires:[],allows:[]}],["minecraft:entity",{requires:[2,7,8],allows:[3,5,6]}],["minecraft:fishing",{requires:[7,9],allows:[8]}],["minecraft:generic",{requires:[2,0,1,3,4,5,6,7,8,9],allows:[]}],["minecraft:gift",{requires:[7,8],allows:[]}],["minecraft:selector",{requires:[7],allows:[8]}]]),xt.LootEntitySources=new Map([["direct_killer",[3]],["killer",[5]],["killer_player",[5]],["this",[8]]]),xt.LootCopySources=new Map([["block_entity",[0]],["killer",[5]],["killer_player",[5]],["this",[8]]]),xt.LootConditions=new Map([["minecraft:alternative",[]],["minecraft:block_state_property",[1]],["minecraft:damage_source_properties",[2]],["minecraft:entity_properties",[7]],["minecraft:entity_scores",[]],["minecraft:inverted",[]],["minecraft:killed_by_player",[6]],["minecraft:location_check",[]],["minecraft:match_tool",[9]],["minecraft:random_chance",[]],["minecraft:random_chance_with_looting",[5]],["minecraft:reference",[]],["minecraft:survives_explosion",[4]],["minecraft:table_bonus",[9]],["minecraft:time_check",[]],["minecraft:weather_check",[]]]),xt.LootFunctions=new Map([["minecraft:apply_bonus",[9]],["minecraft:copy_name",[]],["minecraft:copy_nbt",[]],["minecraft:copy_state",[1]],["minecraft:enchant_randomly",[]],["minecraft:enchant_with_levels",[]],["minecraft:exploration_map",[7]],["minecraft:explosion_decay",[]],["minecraft:fill_player_head",[]],["minecraft:furnace_smelt",[]],["minecraft:limit_count",[]],["minecraft:looting_enchant",[5]],["minecraft:set_attributes",[]],["minecraft:set_contents",[]],["minecraft:set_count",[]],["minecraft:set_damage",[]],["minecraft:set_loot_table",[]],["minecraft:set_lore",[]],["minecraft:set_name",[]],["minecraft:set_nbt",[]],["minecraft:set_stew_effect",[]]]),Object.defineProperty(kt,"__esModule",{value:!0}),kt.initLootTableSchemas=void 0;const wt=Le,jt=xt,St=ft;kt.initLootTableSchemas=function(e,t){const r=wt.Reference.bind(void 0,e),o=wt.StringNode.bind(void 0,t),i={conditions:wt.Opt(wt.ListNode(r("loot_condition")))},a=m({functions:wt.Opt(wt.ListNode(r("loot_function")))},i);function n(e,r,o){const i=[],a=o=>t.get(r).filter((t=>{var r;return(null!==(r=e.get(t))&&void 0!==r?r:[]).every((e=>o.includes(e)))}));for(const[t,{allows:n,requires:c}]of jt.LootTableTypes){const e=[...n,...c];i.push({match:e=>e.getModel().get(new wt.Path(["type"]))===t,node:o(a(e))})}return i.push({match:e=>!0,node:o(r)}),wt.SwitchNode(i)}const c=n(jt.LootConditions,"loot_condition_type",(e=>o({validator:"resource",params:{pool:e instanceof Array?e:"loot_condition_type"}}))),s=n(jt.LootFunctions,"loot_function_type",(e=>o({validator:"resource",params:{pool:e instanceof Array?e:"loot_function_type"}}))),l=n(jt.LootEntitySources,"entity_source",(e=>o({enum:e}))),d=n(jt.LootCopySources,"copy_source",(e=>o({enum:e})));e.register("loot_table",wt.Mod(wt.ObjectNode({type:wt.Opt(o({validator:"resource",params:{pool:t.get("loot_context_type")}})),pools:wt.Opt(wt.ListNode(wt.Mod(wt.ObjectNode(m({rolls:St.Range({allowBinomial:!0,integer:!0}),bonus_rolls:wt.Opt(St.Range({integer:!0})),entries:wt.ListNode(r("loot_entry"))},a),{category:"pool",context:"loot_pool"}),{default:()=>({rolls:1,entries:[{type:"minecraft:item",name:"minecraft:stone"}]})}))),functions:wt.Opt(wt.ListNode(r("loot_function")))},{context:"loot_table"}),{default:()=>({pools:[{rolls:1,entries:[{type:"minecraft:item",name:"minecraft:stone"}]}]})}));const p={enabled:e=>{var t;return(null===(t=e.pop().get())||void 0===t?void 0:t.length)>1&&!["minecraft:alternatives","minecraft:group","minecraft:sequence"].includes(e.push("type").get())}};e.register("loot_entry",wt.Mod(wt.ObjectNode({type:o({validator:"resource",params:{pool:"loot_pool_entry_type"}}),weight:wt.Opt(wt.Mod(wt.NumberNode({integer:!0,min:1}),p)),quality:wt.Opt(wt.Mod(wt.NumberNode({integer:!0}),p)),[wt.Switch]:[{push:"type"}],[wt.Case]:{"minecraft:alternatives":m({children:wt.ListNode(r("loot_entry"))},a),"minecraft:dynamic":m({name:o()},a),"minecraft:group":m({children:wt.ListNode(r("loot_entry"))},a),"minecraft:item":m({name:o({validator:"resource",params:{pool:"item"}})},a),"minecraft:loot_table":m({name:o({validator:"resource",params:{pool:"$loot_table"}})},a),"minecraft:sequence":m({children:wt.ListNode(r("loot_entry"))},a),"minecraft:tag":m({name:o({validator:"resource",params:{pool:"$tag/item"}}),expand:wt.Opt(wt.BooleanNode())},a)}},{context:"loot_entry"}),{default:()=>({type:"minecraft:item",name:"minecraft:stone"})})),e.register("loot_function",wt.Mod(wt.ObjectNode({function:s,[wt.Switch]:[{push:"function"}],[wt.Case]:{"minecraft:apply_bonus":m({enchantment:o({validator:"resource",params:{pool:"enchantment"}}),formula:o({validator:"resource",params:{pool:t.get("loot_table_apply_bonus_formula")}}),parameters:wt.Mod(wt.ObjectNode({bonusMultiplier:wt.Mod(wt.NumberNode(),{enabled:e=>"minecraft:uniform_bonus_count"===e.pop().push("formula").get()}),extra:wt.Mod(wt.NumberNode(),{enabled:e=>"minecraft:binomial_with_bonus_count"===e.pop().push("formula").get()}),probability:wt.Mod(wt.NumberNode(),{enabled:e=>"minecraft:binomial_with_bonus_count"===e.pop().push("formula").get()})}),{enabled:e=>"minecraft:ore_drops"!==e.push("formula").get()})},i),"minecraft:copy_name":m({source:d},i),"minecraft:copy_nbt":m({source:d,ops:wt.ListNode(wt.ObjectNode({source:o({validator:"nbt_path",params:{category:{getter:"copy_source",path:["pop","pop","pop",{push:"source"}]}}}),target:o({validator:"nbt_path",params:{category:"minecraft:item"}}),op:o({enum:["replace","append","merge"]})},{context:"nbt_operation"}))},i),"minecraft:copy_state":m({block:o({validator:"resource",params:{pool:"block"}}),properties:wt.ListNode(o({validator:"block_state_key",params:{id:["pop","pop",{push:"block"}]}}))},i),"minecraft:enchant_randomly":m({enchantments:wt.Opt(wt.ListNode(o({validator:"resource",params:{pool:"enchantment"}})))},i),"minecraft:enchant_with_levels":m({levels:St.Range({allowBinomial:!0}),treasure:wt.Opt(wt.BooleanNode())},i),"minecraft:exploration_map":m({destination:wt.Opt(o({enum:"structure_feature"})),decoration:wt.Opt(o({enum:"map_decoration"})),zoom:wt.Opt(wt.NumberNode({integer:!0})),search_radius:wt.Opt(wt.NumberNode({integer:!0})),skip_existing_chunks:wt.Opt(wt.BooleanNode())},i),"minecraft:fill_player_head":m({entity:l},i),"minecraft:limit_count":m({limit:St.Range({bounds:!0})},i),"minecraft:looting_enchant":m({count:St.Range({bounds:!0}),limit:wt.Opt(wt.NumberNode({integer:!0}))},i),"minecraft:set_attributes":m({modifiers:wt.ListNode(r("attribute_modifier"))},i),"minecraft:set_contents":m({entries:wt.ListNode(r("loot_entry"))},i),"minecraft:set_count":m({count:St.Range({allowBinomial:!0})},i),"minecraft:set_damage":m({damage:St.Range({forceRange:!0})},i),"minecraft:set_loot_table":{name:o({validator:"resource",params:{pool:"$loot_table"}}),seed:wt.Opt(wt.NumberNode({integer:!0}))},"minecraft:set_lore":m({entity:wt.Opt(l),lore:wt.ListNode(r("text_component")),replace:wt.Opt(wt.BooleanNode())},i),"minecraft:set_name":m({entity:wt.Opt(l),name:wt.Opt(r("text_component"))},i),"minecraft:set_nbt":m({tag:o({validator:"nbt",params:{registry:{category:"minecraft:item"}}})},i),"minecraft:set_stew_effect":m({effects:wt.Opt(wt.ListNode(wt.ObjectNode({type:o({validator:"resource",params:{pool:"mob_effect"}}),duration:St.Range()})))},i)}},{category:"function",context:"function"}),{default:()=>({function:"minecraft:set_count",count:1})})),e.register("loot_condition",wt.Mod(wt.ObjectNode({condition:c,[wt.Switch]:[{push:"condition"}],[wt.Case]:_(m({},St.ConditionCases),{"minecraft:entity_properties":{entity:l,predicate:r("entity_predicate")},"minecraft:entity_scores":{entity:l,scores:wt.MapNode(o({validator:"objective"}),St.Range({bounds:!0}))}})},{category:"predicate",context:"condition"}),{default:()=>({condition:"minecraft:random_chance",chance:.5})})),e.register("attribute_modifier",wt.Mod(wt.ObjectNode({attribute:o({validator:"resource",params:{pool:"attribute"}}),name:o(),amount:St.Range({bounds:!0}),operation:o({enum:["addition","multiply_base","multiply_total"]}),slot:wt.StringOrList(o({enum:"slot"}))},{context:"attribute_modifier"}),{default:()=>({attribute:"minecraft:generic.max_health",name:"",amount:1,operation:"addition",slot:"mainhand"})}))};var Mt={};Object.defineProperty(Mt,"__esModule",{value:!0}),Mt.initPackMcmetaSchemas=void 0;const Ct=Le;Mt.initPackMcmetaSchemas=function(e,t){e.register("pack_mcmeta",Ct.Mod(Ct.ObjectNode({pack:Ct.Mod(Ct.ObjectNode({pack_format:Ct.Mod(Ct.NumberNode({integer:!0,min:5,max:5}),{default:()=>5}),description:Ct.Reference(e,"text_component")}),{default:()=>({pack_format:5,description:""})})}),{default:()=>({pack:{pack_format:5,description:""}})}))};var Pt={};Object.defineProperty(Pt,"__esModule",{value:!0}),Pt.initRecipeSchemas=void 0;const Lt=Le;Pt.initRecipeSchemas=function(e,t){const r=Lt.Reference.bind(void 0,e),o=Lt.StringNode.bind(void 0,t);e.register("recipe",Lt.Mod(Lt.ObjectNode({type:o({validator:"resource",params:{pool:"recipe_serializer"}}),[Lt.Switch]:[{push:"type"}],[Lt.Case]:{"minecraft:crafting_shaped":{group:Lt.Opt(o({enum:"recipe_group",additional:!0})),pattern:Lt.ListNode(o()),key:Lt.MapNode(o(),r("recipe_ingredient")),result:r("recipe_result")},"minecraft:crafting_shapeless":{group:Lt.Opt(o()),ingredients:Lt.ListNode(r("recipe_ingredient")),result:r("recipe_result")},"minecraft:smelting":{group:Lt.Opt(o()),ingredient:r("recipe_ingredient"),result:o({validator:"resource",params:{pool:"item"}}),experience:Lt.Opt(Lt.NumberNode()),cookingtime:Lt.Opt(Lt.Mod(Lt.NumberNode({integer:!0}),{default:()=>200}))},"minecraft:blasting":{group:Lt.Opt(o()),ingredient:r("recipe_ingredient"),result:o({validator:"resource",params:{pool:"item"}}),experience:Lt.Opt(Lt.NumberNode()),cookingtime:Lt.Opt(Lt.Mod(Lt.NumberNode({integer:!0}),{default:()=>100}))},"minecraft:smoking":{group:Lt.Opt(o()),ingredient:r("recipe_ingredient"),result:o({validator:"resource",params:{pool:"item"}}),experience:Lt.Opt(Lt.NumberNode()),cookingtime:Lt.Opt(Lt.Mod(Lt.NumberNode({integer:!0}),{default:()=>100}))},"minecraft:campfire_cooking":{group:Lt.Opt(o()),ingredient:r("recipe_ingredient"),result:o({validator:"resource",params:{pool:"item"}}),experience:Lt.Opt(Lt.NumberNode()),cookingtime:Lt.Opt(Lt.Mod(Lt.NumberNode({integer:!0}),{default:()=>100}))},"minecraft:stonecutting":{group:Lt.Opt(o()),ingredient:r("recipe_ingredient"),result:o({validator:"resource",params:{pool:"item"}}),count:Lt.NumberNode({integer:!0})},"minecraft:smithing":{group:Lt.Opt(o()),base:r("recipe_ingredient_object"),addition:r("recipe_ingredient_object"),result:r("recipe_result")}}},{context:"recipe"}),{default:()=>({type:"minecraft:crafting_shaped"})})),e.register("recipe_ingredient",Lt.Mod(Lt.ChoiceNode([{type:"object",node:r("recipe_ingredient_object"),change:e=>e[0]},{type:"list",node:Lt.ListNode(r("recipe_ingredient_object")),change:e=>[e]}]),{default:()=>({item:"minecraft:stone"})})),e.register("recipe_ingredient_object",Lt.Mod(Lt.ObjectNode({item:Lt.Opt(o({validator:"resource",params:{pool:"item"}})),tag:Lt.Opt(o({validator:"resource",params:{pool:"$tag/item"}}))}),{default:()=>({item:"minecraft:stone"})})),e.register("recipe_result",Lt.Mod(Lt.ObjectNode({item:o({validator:"resource",params:{pool:"item"}}),count:Lt.Opt(Lt.Mod(Lt.NumberNode({integer:!0}),{default:()=>1}))}),{default:()=>({item:"minecraft:stone"})}))};var Bt={};Object.defineProperty(Bt,"__esModule",{value:!0}),Bt.initTagsSchemas=void 0;const zt=Le;Bt.initTagsSchemas=function(e,t){const r=zt.StringNode.bind(void 0,t),o=e=>zt.Mod(zt.ObjectNode({replace:zt.Opt(zt.BooleanNode()),values:zt.ListNode(zt.ChoiceNode([{type:"string",node:r({validator:"resource",params:{pool:e,allowTag:!0}}),change:e=>e.id},{type:"object",node:zt.ObjectNode({id:r({validator:"resource",params:{pool:e,allowTag:!0,allowUnknown:!0}}),required:zt.BooleanNode()}),change:e=>({id:e})}]))},{context:"tag"}),{default:()=>({values:[]})});e.register("block_tag",o("block")),e.register("entity_type_tag",o("entity_type")),e.register("fluid_tag",o("fluid")),e.register("function_tag",o("$function")),e.register("item_tag",o("item"))};var Rt={};Object.defineProperty(Rt,"__esModule",{value:!0}),Rt.initTextComponentSchemas=void 0;const $t=Le;Rt.initTextComponentSchemas=function(e,t){const r=$t.Reference.bind(void 0,e),o=$t.StringNode.bind(void 0,t),i=e=>{var t;return e instanceof Array?i(e[0]):null!==(t=null==e?void 0:e.text)&&void 0!==t?t:"object"==typeof e?"":null==e?void 0:e.toString()};e.register("text_component",$t.Mod($t.ChoiceNode([{type:"object",node:r("text_component_object"),change:e=>e instanceof Array?"object"==typeof e[0]?e[0]:{text:i(e[0])}:"object"==typeof e?e:{text:i(e)}},{type:"list",node:r("text_component_list"),change:e=>[e]},{type:"string",priority:1,node:o(),change:i},{type:"number",node:$t.NumberNode(),change:e=>{const t=parseFloat(i(e));return isFinite(t)?t:e?1:0}},{type:"boolean",node:$t.BooleanNode(),change:e=>{const t=i(e);return"true"===t||"false"===t?"true"===t:!!t}}],{context:"text_component"}),{default:()=>({text:""})}));const a={bold:$t.Opt($t.BooleanNode()),italic:$t.Opt($t.BooleanNode()),underlined:$t.Opt($t.BooleanNode()),strikethrough:$t.Opt($t.BooleanNode()),obfuscated:$t.Opt($t.BooleanNode()),insertion:$t.Opt(o()),clickEvent:$t.Opt($t.ObjectNode({action:o({enum:["open_url","open_file","run_command","suggest_command","change_page","copy_to_clipboard"]}),[$t.Switch]:[{push:"action"}],[$t.Case]:{change_page:{value:o()},copy_to_clipboard:{value:o()},open_file:{value:o()},open_url:{value:o()},run_command:{value:o({validator:"command",params:{leadingSlash:!0,allowPartial:!0}})},suggest_command:{value:o({validator:"command",params:{leadingSlash:!0,allowPartial:!0}})}}})),hoverEvent:$t.Opt($t.ObjectNode({action:o({enum:["show_text","show_item","show_entity"]}),[$t.Switch]:[{push:"action"}],[$t.Case]:{show_text:{value:$t.Opt(r("text_component"))},show_item:{value:$t.Opt(o({validator:"nbt",params:{module:"util::InventoryItem"}}))},show_entity:{value:$t.Opt($t.ObjectNode({name:$t.Opt(o()),type:$t.Opt(o()),id:$t.Opt(o())}))}}})),extra:$t.Opt(r("text_component_list"))};e.register("text_component_object",$t.Mod($t.ChoiceNode([{type:"text",match:e=>"object"==typeof e,change:e=>({text:""}),priority:-1,node:$t.ObjectNode(m({text:o()},a))},{type:"translation",match:e=>void 0!==(null==e?void 0:e.translate),change:e=>({translate:""}),node:$t.ObjectNode(m({translate:o(),with:$t.Opt(r("text_component_list"))},a))},{type:"score",match:e=>void 0!==(null==e?void 0:e.score),change:e=>({score:{}}),node:$t.ObjectNode(m({score:$t.ObjectNode({name:o({validator:"entity",params:{amount:"single",type:"entities",isScoreHolder:!0}}),objective:o({validator:"objective"}),value:$t.Opt(o())})},a))},{type:"selector",match:e=>void 0!==(null==e?void 0:e.selector),change:e=>({selector:""}),node:$t.ObjectNode(m({selector:o({validator:"entity",params:{amount:"multiple",type:"entities"}})},a))},{type:"keybind",match:e=>void 0!==(null==e?void 0:e.keybind),change:e=>({keybind:""}),node:$t.ObjectNode(m({keybind:o({enum:"keybind",additional:!0})},a))},{type:"nbt",match:e=>void 0!==(null==e?void 0:e.nbt),change:e=>({nbt:""}),node:$t.ObjectNode(m({nbt:o({validator:"nbt_path"}),block:$t.Opt(o({validator:"vector",params:{dimension:3,isInteger:!0}})),entity:$t.Opt(o({validator:"entity",params:{amount:"single",type:"entities"}})),storage:$t.Opt(o({validator:"resource",params:{pool:"$storage"}})),interpret:$t.Opt($t.BooleanNode())},a))}],{context:"text_component_object",choiceContext:"text_component.object"}),{default:()=>({text:""})})),e.register("text_component_list",$t.Mod($t.ListNode(r("text_component")),{default:()=>[{text:""}]}))},Object.defineProperty(pt,"__esModule",{value:!0}),pt.initSchemas=void 0;const At=ut,Tt=ft,qt=yt,It=kt,Dt=Mt,Ft=gt,Et=Pt,Ut=Bt,Wt=Rt;pt.initSchemas=function(e,t){Tt.initCommonSchemas(e,t),Ft.initPredicatesSchemas(e,t),At.initAdvancementSchemas(e,t),qt.initConditionSchemas(e,t),It.initLootTableSchemas(e,t),Dt.initPackMcmetaSchemas(e,t),Et.initRecipeSchemas(e,t),Ut.initTagsSchemas(e,t),Wt.initTextComponentSchemas(e,t)};var Ht=Ce&&Ce.__createBinding||(Object.create?function(e,t,r,o){void 0===o&&(o=r),Object.defineProperty(e,o,{enumerable:!0,get:function(){return t[r]}})}:function(e,t,r,o){void 0===o&&(o=r),e[o]=t[r]}),Kt=Ce&&Ce.__setModuleDefault||(Object.create?function(e,t){Object.defineProperty(e,"default",{enumerable:!0,value:t})}:function(e,t){e.default=t}),Gt=Ce&&Ce.__importStar||function(e){if(e&&e.__esModule)return e;var t={};if(null!=e)for(var r in e)"default"!==r&&Object.prototype.hasOwnProperty.call(e,r)&&Ht(t,e,r);return Kt(t,e),t};Object.defineProperty(mt,"__esModule",{value:!0});var Xt=mt.getSchemas=mt.getCollections=mt.lootContext=void 0;const Vt=Le,Jt=_t,Zt=pt;var Yt=mt.lootContext=Gt(xt);var Qt=mt.getCollections=function(){const e=new Vt.CollectionRegistry;return Jt.initCollections(e),e};Xt=mt.getSchemas=function(e){const t=new Vt.SchemaRegistry;return Zt.initSchemas(t,e),t};var er=Object.freeze(Object.assign(Object.create(null),mt,{[Symbol.toStringTag]:"Module",get getSchemas(){return Xt},get getCollections(){return Qt},get lootContext(){return Yt},default:mt})),tr={},rr={};Object.defineProperty(rr,"__esModule",{value:!0}),rr.initCollections=void 0,rr.initCollections=function(e){e.register("advancement_trigger",["minecraft:bee_nest_destroyed","minecraft:bred_animals","minecraft:brewed_potion","minecraft:changed_dimension","minecraft:channeled_lightning","minecraft:construct_beacon","minecraft:consume_item","minecraft:cured_zombie_villager","minecraft:effects_changed","minecraft:enchanted_item","minecraft:enter_block","minecraft:entity_hurt_player","minecraft:entity_killed_player","minecraft:filled_bucket","minecraft:fishing_rod_hooked","minecraft:hero_of_the_village","minecraft:impossible","minecraft:inventory_changed","minecraft:item_durability_changed","minecraft:item_used_on_block","minecraft:killed_by_crossbow","minecraft:levitation","minecraft:location","minecraft:nether_travel","minecraft:placed_block","minecraft:player_generates_container_loot","minecraft:player_hurt_entity","minecraft:player_interacted_with_entity","minecraft:player_killed_entity","minecraft:recipe_unlocked","minecraft:shot_crossbow","minecraft:slept_in_bed","minecraft:slide_down_block","minecraft:summoned_entity","minecraft:tame_animal","minecraft:target_hit","minecraft:tick","minecraft:thrown_item_picked_up_by_entity","minecraft:used_ender_eye","minecraft:used_totem","minecraft:villager_trade","minecraft:voluntary_exile"]),e.register("dimension",["minecraft:overworld","minecraft:the_nether","minecraft:the_end"]),e.register("dimension_type",["minecraft:overworld","minecraft:the_nether","minecraft:the_end"]),e.register("keybind",["key.advancements","key.attack","key.back","key.chat","key.command","key.drop","key.forward","key.fullscreen","key.hotbar.1","key.hotbar.2","key.hotbar.3","key.hotbar.4","key.hotbar.5","key.hotbar.6","key.hotbar.7","key.hotbar.8","key.hotbar.9","key.inventory","key.jump","key.left","key.loadToolbarActivator","key.pickItem","key.playerlist","key.right","key.saveToolbarActivator","key.screenshot","key.smoothCamera","key.sneak","key.spectatorOutlines","key.sprint","key.swapOffhand","key.togglePerspective","key.use"]),e.register("slot",["mainhand","offhand","head","chest","legs","feet"]),e.register("gamemode",["survival","creative","adventure","spectator"]),e.register("worldgen/noise_settings",["minecraft:overworld","minecraft:nether","minecraft:end","minecraft:amplified","minecraft:caves","minecraft:floating_islands"]),e.register("entity_source",["this","direct_killer","killer","killer_player"]),e.register("copy_source",["block_entity","this","killer","killer_player"]),e.register("loot_table_apply_bonus_formula",["minecraft:uniform_bonus_count","minecraft:binomial_with_bonus_count","minecraft:ore_drops"]),e.register("map_decoration",["mansion","monument","player","frame","red_marker","blue_marker","target_x","target_point","player_off_map","player_off_limits","red_x","banner_white","banner_orange","banner_magenta","banner_light_blue","banner_yellow","banner_lime","banner_pink","banner_gray","banner_light_gray","banner_cyan","banner_purple","banner_blue","banner_brown","banner_green","banner_red","banner_black"]),e.register("map_feature",["bastion_remnant","buried_treasure","desert_pyramid","endcity","fortress","igloo","jungle_pyramid","mansion","mineshaft","monument","nether_fossil","ocean_ruin","pillager_outpost","ruined_portal","shipwreck","stronghold","swamp_hut","village"]),e.register("recipe_group",["bed","light_gray_dye","iron_ingot","wooden_stairs","black_dye","stained_terracotta","dyed_bed","magenta_dye","bark","rabbit_stew","light_blue_dye","wooden_fence_gate","planks","stained_glass","wooden_door","stained_glass_pane","wooden_fence","sticks","concrete_powder","wooden_pressure_plate","boat","brown_dye","yellow_dye","bonemeal","red_dye","wooden_trapdoor","wooden_button","gold_ingot","pink_dye","wooden_slab","orange_dye","carpet","sign","wool","sugar","blue_dye","white_dye","banner","netherite_ingot"]),e.register("worldgen/configured_feature",["minecraft:acacia","minecraft:bamboo_light","minecraft:bamboo_vegetation","minecraft:bamboo","minecraft:basalt_blobs","minecraft:basalt_pillar","minecraft:birch_bees_0002","minecraft:birch_bees_002","minecraft:birch_bees_005","minecraft:birch_other","minecraft:birch_tall","minecraft:birch","minecraft:blackstone_blobs","minecraft:blue_ice","minecraft:bonus_chest","minecraft:brown_mushroom_giant","minecraft:brown_mushroom_nether","minecraft:brown_mushroom_normal","minecraft:brown_mushroom_swamp","minecraft:brown_mushroom_taiga","minecraft:chorus_plant","minecraft:crimson_forest_vegetation","minecraft:crimson_fungi_planted","minecraft:crimson_fungi","minecraft:dark_forest_vegetation_brown","minecraft:dark_forest_vegetation_red","minecraft:dark_oak","minecraft:delta","minecraft:desert_well","minecraft:disk_clay","minecraft:disk_gravel","minecraft:disk_sand","minecraft:end_gateway_delayed","minecraft:end_gateway","minecraft:end_island_decorated","minecraft:end_island","minecraft:end_spike","minecraft:fancy_oak_bees_0002","minecraft:fancy_oak_bees_002","minecraft:fancy_oak_bees_005","minecraft:fancy_oak","minecraft:flower_default","minecraft:flower_forest","minecraft:flower_plain_decorated","minecraft:flower_plain","minecraft:flower_swamp","minecraft:flower_warm","minecraft:forest_flower_trees","minecraft:forest_flower_vegetation_common","minecraft:forest_flower_vegetation","minecraft:forest_rock","minecraft:fossil","minecraft:freeze_top_layer","minecraft:glowstone_extra","minecraft:glowstone","minecraft:huge_brown_mushroom","minecraft:huge_red_mushroom","minecraft:ice_patch","minecraft:ice_spike","minecraft:iceberg_blue","minecraft:iceberg_packed","minecraft:jungle_bush","minecraft:jungle_tree_no_vine","minecraft:jungle_tree","minecraft:kelp_cold","minecraft:kelp_warm","minecraft:lake_lava","minecraft:lake_water","minecraft:large_basalt_columns","minecraft:mega_jungle_tree","minecraft:mega_pine","minecraft:mega_spruce","minecraft:monster_room","minecraft:mushroom_field_vegetation","minecraft:nether_sprouts","minecraft:oak_badlands","minecraft:oak_bees_0002","minecraft:oak_bees_002","minecraft:oak_bees_005","minecraft:oak","minecraft:ore_andesite","minecraft:ore_blackstone","minecraft:ore_coal","minecraft:ore_debris_large","minecraft:ore_debris_small","minecraft:ore_diamond","minecraft:ore_diorite","minecraft:ore_dirt","minecraft:ore_emerald","minecraft:ore_gold_deltas","minecraft:ore_gold_extra","minecraft:ore_gold_nether","minecraft:ore_gold","minecraft:ore_granite","minecraft:ore_gravel_nether","minecraft:ore_gravel","minecraft:ore_infested","minecraft:ore_iron","minecraft:ore_lapis","minecraft:ore_magma","minecraft:ore_quartz_deltas","minecraft:ore_quartz_nether","minecraft:ore_redstone","minecraft:ore_soul_sand","minecraft:patch_berry_bush","minecraft:patch_berry_decorated","minecraft:patch_berry_sparse","minecraft:patch_brown_mushroom","minecraft:patch_cactus_decorated","minecraft:patch_cactus_desert","minecraft:patch_cactus","minecraft:patch_crimson_roots","minecraft:patch_dead_bush_2","minecraft:patch_dead_bush_badlands","minecraft:patch_dead_bush","minecraft:patch_fire","minecraft:patch_grass_badlands","minecraft:patch_grass_forest","minecraft:patch_grass_jungle","minecraft:patch_grass_normal","minecraft:patch_grass_plain","minecraft:patch_grass_savanna","minecraft:patch_grass_taiga_2","minecraft:patch_grass_taiga","minecraft:patch_large_fern","minecraft:patch_melon","minecraft:patch_pumpkin","minecraft:patch_red_mushroom","minecraft:patch_soul_fire","minecraft:patch_sugar_cane_badlands","minecraft:patch_sugar_cane_desert","minecraft:patch_sugar_cane_swamp","minecraft:patch_sugar_cane","minecraft:patch_sunflower","minecraft:patch_taiga_grass","minecraft:patch_tall_grass_2","minecraft:patch_tall_grass","minecraft:patch_waterlilly","minecraft:pile_hay","minecraft:pile_ice","minecraft:pile_melon","minecraft:pile_pumpkin","minecraft:pile_snow","minecraft:pine","minecraft:plain_vegetation","minecraft:red_mushroom_giant","minecraft:red_mushroom_nether","minecraft:red_mushroom_normal","minecraft:red_mushroom_swamp","minecraft:red_mushroom_taiga","minecraft:sea_pickle","minecraft:seagrass_cold","minecraft:seagrass_deep_cold","minecraft:seagrass_deep_warm","minecraft:seagrass_deep","minecraft:seagrass_normal","minecraft:seagrass_river","minecraft:seagrass_simple","minecraft:seagrass_swamp","minecraft:seagrass_warm","minecraft:small_basalt_columns","minecraft:spring_closed_double","minecraft:spring_closed","minecraft:spring_delta","minecraft:spring_lava_double","minecraft:spring_lava","minecraft:spring_open","minecraft:spring_water","minecraft:spruce_snowy","minecraft:spruce","minecraft:super_birch_bees_0002","minecraft:swamp_tree","minecraft:taiga_vegetation","minecraft:trees_birch","minecraft:trees_giant_spruce","minecraft:trees_giant","minecraft:trees_jungle_edge","minecraft:trees_jungle","minecraft:trees_mountain_edge","minecraft:trees_mountain","minecraft:trees_savanna","minecraft:trees_shattered_savanna","minecraft:trees_water","minecraft:twisting_vines","minecraft:vines","minecraft:void_start_platform","minecraft:warm_ocean_vegetation","minecraft:warped_forest_vegetation","minecraft:warped_fungi_planted","minecraft:warped_fungi","minecraft:weeping_vines"]),e.register("worldgen/configured_structure_feature",["minecraft:bastion_remnant","minecraft:buried_treasure","minecraft:desert_pyramid","minecraft:end_city","minecraft:fortress","minecraft:igloo","minecraft:jungle_pyramid","minecraft:mansion","minecraft:mineshaft_mesa","minecraft:mineshaft","minecraft:monument","minecraft:nether_fossil","minecraft:ocean_ruin_cold","minecraft:ocean_ruin_warm","minecraft:pillager_outpost","minecraft:ruined_portal_desert","minecraft:ruined_portal_jungle","minecraft:ruined_portal_mountain","minecraft:ruined_portal_nether","minecraft:ruined_portal_ocean","minecraft:ruined_portal_swamp","minecraft:ruined_portal","minecraft:shipwreck_beached","minecraft:shipwreck","minecraft:stronghold","minecraft:swamp_hut","minecraft:village_desert","minecraft:village_plains","minecraft:village_savanna","minecraft:village_snowy","minecraft:village_taiga"]),e.register("worldgen/configured_surface_builder",["minecraft:badlands","minecraft:basalt_deltas","minecraft:crimson_forest","minecraft:desert","minecraft:end","minecraft:eroded_badlands","minecraft:frozen_ocean","minecraft:full_sand","minecraft:giant_tree_taiga","minecraft:grass","minecraft:gravelly_mountain","minecraft:ice_spikes","minecraft:mountain","minecraft:mycelium","minecraft:nether","minecraft:nope","minecraft:ocean_sand","minecraft:shattered_savanna","minecraft:soul_sand_valley","minecraft:stone","minecraft:swamp","minecraft:warped_forest","minecraft:wooded_badlands"]),e.register("biome_category",["beach","desert","extreme_hills","forest","icy","jungle","mesa","mushroom","nether","none","ocean","plains","river","savanna","swamp","taiga","the_end"]),e.register("heightmap_type",["MOTION_BLOCKING","MOTION_BLOCKING_NO_LEAVES","OCEAN_FLOOR","OCEAN_FLOOR_WG","WORLD_SURFACE","WORLD_SURFACE_WG"]),e.register("generation_step",["air","liquid"]),e.register("loot_context_type",["minecraft:empty","minecraft:chest","minecraft:command","minecraft:selector","minecraft:fishing","minecraft:entity","minecraft:gift","minecraft:barter","minecraft:advancement_reward","minecraft:advancement_entity","minecraft:generic","minecraft:block"])};var or={},ir={},ar={};!function(e){Object.defineProperty(e,"__esModule",{value:!0}),e.initCommonSchemas=e.UniformInt=e.Range=e.NoiseSettingsPresets=e.DefaultNoiseSettings=e.DimensionTypePresets=e.DefaultDimensionType=e.ConditionCases=void 0;const t=Le;e.DefaultDimensionType={ultrawarm:!1,natural:!0,piglin_safe:!1,respawn_anchor_works:!1,bed_works:!0,has_raids:!0,has_skylight:!0,has_ceiling:!1,coordinate_scale:1,ambient_light:0,logical_height:256,infiniburn:"minecraft:infiniburn_overworld"},e.DefaultNoiseSettings={name:"minecraft:overworld",bedrock_roof_position:-10,bedrock_floor_position:0,sea_level:63,disable_mob_generation:!1,noise:{density_factor:1,density_offset:-.46875,simplex_surface_noise:!0,random_density_offset:!0,size_horizontal:1,size_vertical:2,height:256,sampling:{xz_scale:1,y_scale:1,xz_factor:80,y_factor:160},top_slide:{target:-10,size:3,offset:0},bottom_slide:{target:-30,size:0,offset:0}},default_block:{Name:"minecraft:stone"},default_fluid:{Name:"minecraft:water",Properties:{level:"0"}}},e.initCommonSchemas=function(r,o){const i=t.StringNode.bind(void 0,o),a=t.Reference.bind(void 0,r);r.register("block_state",t.Mod(t.ObjectNode({Name:i({validator:"resource",params:{pool:"block"}}),Properties:t.Opt(t.MapNode(i(),i(),{validation:{validator:"block_state_map",params:{id:["pop",{push:"Name"}]}}}))},{context:"block_state"}),{default:()=>({Name:"minecraft:stone"})})),r.register("fluid_state",t.Mod(t.ObjectNode({Name:i({validator:"resource",params:{pool:"fluid"}}),Properties:t.Opt(t.MapNode(i(),i()))},{context:"fluid_state"}),{default:()=>({Name:"minecraft:water",Properties:{level:"0"}})})),r.register("block_pos",t.Mod(t.ListNode(t.NumberNode({integer:!0}),{minLength:3,maxLength:3}),{default:()=>[0,0,0]})),e.Range=e=>t.ChoiceNode([...(null==e?void 0:e.forceRange)?[]:[{type:"number",node:t.NumberNode(e),change:e=>{var t,r,o;return void 0===e?0:null!==(o=null!==(r=null!==(t=e.min)&&void 0!==t?t:e.max)&&void 0!==r?r:e.n)&&void 0!==o?o:0}}],{type:"object",priority:-1,node:t.ObjectNode({min:(null==e?void 0:e.bounds)?t.NumberNode(e):t.Opt(t.NumberNode(e)),max:(null==e?void 0:e.bounds)?t.NumberNode(e):t.Opt(t.NumberNode(e))},{context:"range"}),change:e=>({min:"number"==typeof e?e:void 0===e?1:e.n,max:"number"==typeof e?e:void 0===e?1:e.n})},...(null==e?void 0:e.allowBinomial)?[{type:"binomial",node:t.ObjectNode({type:i({enum:["minecraft:binomial"]}),n:t.NumberNode({integer:!0,min:0}),p:t.NumberNode({min:0,max:1})},{context:"range"}),match:e=>void 0!==e&&"minecraft:binomial"===e.type,change:e=>{var t,r;return{type:"minecraft:binomial",n:"number"==typeof e?e:void 0===e?1:null!==(r=null!==(t=e.min)&&void 0!==t?t:e.max)&&void 0!==r?r:1,p:.5}}}]:[]],{choiceContext:"range"}),e.UniformInt=e=>t.ChoiceNode([{type:"number",node:t.NumberNode({integer:!0,min:null==e?void 0:e.min,max:null==e?void 0:e.max}),change:e=>e.base},{type:"object",node:t.ObjectNode({base:t.NumberNode({integer:!0,min:null==e?void 0:e.min,max:null==e?void 0:e.max}),spread:t.NumberNode({integer:!0,min:0,max:null==e?void 0:e.maxSpread})}),change:e=>({base:e,spread:0})}],{context:"uniform_int"}),e.ConditionCases={"minecraft:alternative":{terms:t.ListNode(a("condition"))},"minecraft:block_state_property":{block:i({validator:"resource",params:{pool:"block"}}),properties:t.MapNode(i(),i(),{validation:{validator:"block_state_map",params:{id:["pop",{push:"block"}]}}})},"minecraft:damage_source_properties":{predicate:a("damage_source_predicate")},"minecraft:entity_properties":{entity:i({enum:"entity_source"}),predicate:a("entity_predicate")},"minecraft:entity_scores":{entity:i({enum:"entity_source"}),scores:t.MapNode(i({validator:"objective"}),e.Range({forceRange:!0}))},"minecraft:inverted":{term:a("condition")},"minecraft:killed_by_player":{inverse:t.Opt(t.BooleanNode())},"minecraft:location_check":{offsetX:t.Opt(t.NumberNode({integer:!0})),offsetY:t.Opt(t.NumberNode({integer:!0})),offsetZ:t.Opt(t.NumberNode({integer:!0})),predicate:a("location_predicate")},"minecraft:match_tool":{predicate:a("item_predicate")},"minecraft:random_chance":{chance:t.NumberNode({min:0,max:1})},"minecraft:random_chance_with_looting":{chance:t.NumberNode({min:0,max:1}),looting_multiplier:t.NumberNode()},"minecraft:reference":{name:i({validator:"resource",params:{pool:"$predicate"}})},"minecraft:table_bonus":{enchantment:i({validator:"resource",params:{pool:"enchantment"}}),chances:t.ListNode(t.NumberNode({min:0,max:1}))},"minecraft:time_check":{value:e.Range(),period:t.Opt(t.NumberNode())},"minecraft:weather_check":{raining:t.Opt(t.BooleanNode()),thundering:t.Opt(t.BooleanNode())}},e.DimensionTypePresets=r=>t.ObjectOrPreset(i({validator:"resource",params:{pool:"$dimension_type"}}),r,{"minecraft:overworld":e.DefaultDimensionType,"minecraft:the_nether":{name:"minecraft:the_nether",ultrawarm:!0,natural:!1,shrunk:!0,piglin_safe:!0,respawn_anchor_works:!0,bed_works:!1,has_raids:!1,has_skylight:!1,has_ceiling:!0,ambient_light:.1,fixed_time:18e3,logical_height:128,effects:"minecraft:the_nether",infiniburn:"minecraft:infiniburn_nether"},"minecraft:the_end":{name:"minecraft:the_end",ultrawarm:!1,natural:!1,shrunk:!1,piglin_safe:!1,respawn_anchor_works:!1,bed_works:!1,has_raids:!0,has_skylight:!1,has_ceiling:!1,ambient_light:0,fixed_time:6e3,logical_height:256,effects:"minecraft:the_end",infiniburn:"minecraft:infiniburn_end"}}),e.NoiseSettingsPresets=r=>t.ObjectOrPreset(i({validator:"resource",params:{pool:"$worldgen/noise_settings"}}),r,{"minecraft:overworld":e.DefaultNoiseSettings,"minecraft:nether":{name:"minecraft:nether",bedrock_roof_position:0,bedrock_floor_position:0,sea_level:32,disable_mob_generation:!0,noise:{density_factor:0,density_offset:.019921875,simplex_surface_noise:!1,random_density_offset:!1,size_horizontal:1,size_vertical:2,height:128,sampling:{xz_scale:1,y_scale:3,xz_factor:80,y_factor:60},top_slide:{target:120,size:3,offset:0},bottom_slide:{target:320,size:4,offset:-1}},default_block:{Name:"minecraft:netherrack"},default_fluid:{Name:"minecraft:lava",Properties:{level:"0"}}},"minecraft:end":{name:"minecraft:end",bedrock_roof_position:-10,bedrock_floor_position:-10,sea_level:0,disable_mob_generation:!0,noise:{density_factor:0,density_offset:0,simplex_surface_noise:!0,random_density_offset:!1,island_noise_override:!0,size_horizontal:2,size_vertical:1,height:128,sampling:{xz_scale:2,y_scale:1,xz_factor:80,y_factor:160},top_slide:{target:-3e3,size:64,offset:-46},bottom_slide:{target:-30,size:7,offset:1}},default_block:{Name:"minecraft:end_stone"},default_fluid:{Name:"minecraft:air"}},"minecraft:amplified":{name:"minecraft:amplified",bedrock_roof_position:-10,bedrock_floor_position:0,sea_level:63,disable_mob_generation:!1,noise:{density_factor:1,density_offset:-.46875,simplex_surface_noise:!0,random_density_offset:!0,amplified:!0,size_horizontal:1,size_vertical:2,height:256,sampling:{xz_scale:1,y_scale:1,xz_factor:80,y_factor:160},top_slide:{target:-10,size:3,offset:0},bottom_slide:{target:-30,size:0,offset:0}},default_block:{Name:"minecraft:stone"},default_fluid:{Name:"minecraft:water",Properties:{level:"0"}}},"minecraft:caves":{name:"minecraft:caves",bedrock_roof_position:0,bedrock_floor_position:0,sea_level:32,disable_mob_generation:!0,noise:{density_factor:0,density_offset:.019921875,simplex_surface_noise:!1,random_density_offset:!1,size_horizontal:1,size_vertical:2,height:128,sampling:{xz_scale:1,y_scale:3,xz_factor:80,y_factor:60},top_slide:{target:120,size:3,offset:0},bottom_slide:{target:320,size:4,offset:-1}},default_block:{Name:"minecraft:stone"},default_fluid:{Name:"minecraft:water",Properties:{level:"0"}}},"minecraft:floating_islands":{name:"minecraft:floating_islands",bedrock_roof_position:-10,bedrock_floor_position:-10,sea_level:0,disable_mob_generation:!0,noise:{density_factor:0,density_offset:0,simplex_surface_noise:!0,random_density_offset:!1,island_noise_override:!0,size_horizontal:2,size_vertical:1,height:128,sampling:{xz_scale:2,y_scale:1,xz_factor:80,y_factor:160},top_slide:{target:-3e3,size:64,offset:-46},bottom_slide:{target:-30,size:7,offset:1}},default_block:{Name:"minecraft:stone"},default_fluid:{Name:"minecraft:water",Properties:{level:"0"}}}})}}(ar),Object.defineProperty(ir,"__esModule",{value:!0}),ir.initAdvancementSchemas=void 0;const nr=Le,cr=ar;ir.initAdvancementSchemas=function(e,t){const r=nr.Reference.bind(void 0,e),o=nr.StringNode.bind(void 0,t),i=nr.ChoiceNode([{type:"object",node:nr.Opt(r("entity_predicate")),change:e=>{var t,r;return null!==(r=null===(t=e[0])||void 0===t?void 0:t.predicate)&&void 0!==r?r:{}}},{type:"list",node:nr.ListNode(r("condition")),change:e=>[{condition:"minecraft:entity_properties",predicate:e}]}],{context:"conditions"});e.register("advancement",nr.Mod(nr.ObjectNode({display:nr.Opt(nr.Mod(nr.ObjectNode({icon:nr.ObjectNode({item:o({validator:"resource",params:{pool:"item"}}),nbt:nr.Opt(o({validator:"nbt",params:{registry:{category:"minecraft:item",id:["pop",{push:"item"}]}}}))}),title:r("text_component"),description:r("text_component"),background:nr.Opt(o()),frame:nr.Opt(o({enum:["task","challenge","goal"]})),show_toast:nr.Opt(nr.BooleanNode()),announce_to_chat:nr.Opt(nr.BooleanNode()),hidden:nr.Opt(nr.BooleanNode())}),{default:()=>({icon:{item:"minecraft:stone"},title:"",description:""})})),parent:nr.Opt(o({validator:"resource",params:{pool:"$advancement"}})),criteria:nr.MapNode(o(),r("advancement_criteria")),requirements:nr.Opt(nr.ListNode(nr.ListNode(o()))),rewards:nr.Opt(nr.ObjectNode({function:nr.Opt(o({validator:"resource",params:{pool:"$function"}})),loot:nr.Opt(nr.ListNode(o({validator:"resource",params:{pool:"$loot_table"}}))),recipes:nr.Opt(nr.ListNode(o({validator:"resource",params:{pool:"$recipe"}}))),experience:nr.Opt(nr.NumberNode({integer:!0}))}))},{context:"advancement"}),{default:()=>({criteria:{requirement:{trigger:"minecraft:location"}}})})),e.register("advancement_criteria",nr.ObjectNode({trigger:o({validator:"resource",params:{pool:t.get("advancement_trigger")}}),conditions:nr.Opt(nr.ObjectNode({player:nr.Mod(i,{enabled:e=>"minecraft:impossible"!==e.pop().push("trigger").get()}),[nr.Switch]:["pop",{push:"trigger"}],[nr.Case]:{"minecraft:bee_nest_destroyed":{block:nr.Opt(o({validator:"resource",params:{pool:"block"}})),num_bees_inside:nr.Opt(nr.NumberNode({integer:!0})),item:nr.Opt(r("item_predicate"))},"minecraft:bred_animals":{parent:i,partner:i,child:i},"minecraft:brewed_potion":{potion:nr.Opt(o({validator:"resource",params:{pool:"potion"}}))},"minecraft:changed_dimension":{from:nr.Opt(o({validator:"resource",params:{pool:"$dimension"}})),to:nr.Opt(o({validator:"resource",params:{pool:"$dimension"}}))},"minecraft:channeled_lightning":{victims:nr.Opt(nr.ListNode(i))},"minecraft:construct_beacon":{level:nr.Opt(cr.Range())},"minecraft:consume_item":{item:nr.Opt(r("item_predicate"))},"minecraft:cured_zombie_villager":{villager:i,zombie:i},"minecraft:effects_changed":{effects:nr.Opt(nr.MapNode(o({validator:"resource",params:{pool:"mob_effect"}}),r("status_effect_predicate")))},"minecraft:enter_block":{block:nr.Opt(o({validator:"resource",params:{pool:"block"}})),state:nr.Opt(nr.MapNode(o(),o(),{validation:{validator:"block_state_map",params:{id:["pop",{push:"block"}]}}}))},"minecraft:enchanted_item":{levels:nr.Opt(cr.Range()),item:nr.Opt(r("item_predicate"))},"minecraft:entity_hurt_player":{damage:nr.Opt(r("damage_predicate"))},"minecraft:entity_killed_player":{entity:i,killing_blow:nr.Opt(r("damage_source_predicate"))},"minecraft:filled_bucket":{item:nr.Opt(r("item_predicate"))},"minecraft:fishing_rod_hooked":{entity:i,item:nr.Opt(r("item_predicate"))},"minecraft:hero_of_the_village":{location:nr.Opt(r("location_predicate"))},"minecraft:inventory_changed":{slots:nr.Opt(nr.ObjectNode({empty:nr.Opt(cr.Range()),occupied:nr.Opt(cr.Range()),full:nr.Opt(cr.Range())})),items:nr.Opt(nr.ListNode(r("item_predicate")))},"minecraft:item_durability_changed":{delta:nr.Opt(cr.Range()),durability:nr.Opt(cr.Range()),item:nr.Opt(r("item_predicate"))},"minecraft:item_used_on_block":{item:nr.Opt(r("item_predicate")),location:nr.Opt(r("location_predicate"))},"minecraft:killed_by_crossbow":{unique_entity_types:nr.Opt(cr.Range()),victims:nr.Opt(nr.ListNode(i))},"minecraft:levitation":{distance:nr.Opt(cr.Range()),duration:nr.Opt(cr.Range())},"minecraft:location":{location:nr.Opt(r("location_predicate"))},"minecraft:nether_travel":{distance:nr.Opt(cr.Range()),entered:nr.Opt(r("location_predicate")),exited:nr.Opt(r("location_predicate"))},"minecraft:placed_block":{block:nr.Opt(o({validator:"resource",params:{pool:"block"}})),state:nr.Opt(nr.MapNode(o(),o(),{validation:{validator:"block_state_map",params:{id:["pop",{push:"block"}]}}})),item:nr.Opt(r("item_predicate")),location:nr.Opt(r("location_predicate"))},"minecraft:player_generates_container_loot":{loot_table:o({validator:"resource",params:{pool:"$loot_table"}})},"minecraft:player_hurt_entity":{damage:nr.Opt(r("damage_predicate")),entity:i},"minecraft:player_interacted_with_entity":{item:nr.Opt(r("item_predicate")),entity:i},"minecraft:player_killed_entity":{entity:i,killing_blow:nr.Opt(r("damage_source_predicate"))},"minecraft:recipe_unlocked":{recipe:o({validator:"resource",params:{pool:"$recipe"}})},"minecraft:slept_in_bed":{location:nr.Opt(r("location_predicate"))},"minecraft:slide_down_block":{block:nr.Opt(o({validator:"resource",params:{pool:"block"}}))},"minecraft:shot_crossbow":{item:nr.Opt(r("item_predicate"))},"minecraft:summoned_entity":{entity:i},"minecraft:tame_animal":{entity:i},"minecraft:target_hit":{projectile:i,shooter:i,signal_strength:nr.Opt(cr.Range({integer:!0}))},"minecraft:thrown_item_picked_up_by_entity":{entity:nr.Opt(r("entity_predicate")),item:nr.Opt(r("item_predicate"))},"minecraft:used_ender_eye":{distance:nr.Opt(cr.Range())},"minecraft:used_totem":{item:nr.Opt(r("item_predicate"))},"minecraft:villager_trade":{villager:nr.Opt(r("entity_predicate")),item:nr.Opt(r("item_predicate"))},"minecraft:voluntary_exile":{location:r("location_predicate")}}},{context:"criterion"}))},{category:"predicate",context:"criterion"}))};var sr={};Object.defineProperty(sr,"__esModule",{value:!0}),sr.initConditionSchemas=void 0;const lr=Le,dr=ar;sr.initConditionSchemas=function(e,t){const r=lr.Reference.bind(void 0,e),o=lr.StringNode.bind(void 0,t);e.register("predicate",lr.ObjectOrList(r("condition"),{choiceContext:"condition"})),e.register("condition",lr.Mod(lr.ObjectNode({condition:o({validator:"resource",params:{pool:"loot_condition_type"}}),[lr.Switch]:[{push:"condition"}],[lr.Case]:dr.ConditionCases},{category:"predicate",context:"condition"}),{default:()=>({condition:"minecraft:entity_properties",entity:"this"})}))};var mr={};Object.defineProperty(mr,"__esModule",{value:!0}),mr.initDimensionSchemas=void 0;const _r=Le,pr=ar;mr.initDimensionSchemas=function(e,t){const r=_r.Reference.bind(void 0,e),o=_r.StringNode.bind(void 0,t),i=e=>_r.Mod(e,{enabled:e=>void 0===e.push("preset").get()});e.register("dimension",_r.Mod(_r.ObjectNode({type:pr.DimensionTypePresets(r("dimension_type")),generator:_r.ObjectNode({type:o({validator:"resource",params:{pool:"worldgen/chunk_generator"}}),[_r.Switch]:[{push:"type"}],[_r.Case]:{"minecraft:noise":{seed:_r.NumberNode({integer:!0}),settings:pr.NoiseSettingsPresets(r("noise_settings")),biome_source:_r.ObjectNode({type:o({validator:"resource",params:{pool:"worldgen/biome_source"}}),[_r.Switch]:[{push:"type"}],[_r.Case]:{"minecraft:fixed":{biome:o({validator:"resource",params:{pool:"$worldgen/biome"}})},"minecraft:multi_noise":{seed:_r.NumberNode({integer:!0}),preset:_r.Opt(o({enum:["nether"]})),altitude_noise:i(r("generator_biome_noise")),temperature_noise:i(r("generator_biome_noise")),humidity_noise:i(r("generator_biome_noise")),weirdness_noise:i(r("generator_biome_noise")),biomes:i(_r.Mod(_r.ListNode(r("generator_biome")),{default:()=>[{biome:"minecraft:plains"}]}))},"minecraft:checkerboard":{scale:_r.Opt(_r.NumberNode({integer:!0,min:0,max:62})),biomes:_r.ListNode(o({validator:"resource",params:{pool:"$worldgen/biome"}}))},"minecraft:the_end":{seed:_r.NumberNode({integer:!0})},"minecraft:vanilla_layered":{seed:_r.NumberNode({integer:!0}),large_biomes:_r.Opt(_r.BooleanNode()),legacy_biome_init_layer:_r.Opt(_r.BooleanNode())}}},{category:"predicate",disableSwitchContext:!0})},"minecraft:flat":{settings:_r.ObjectNode({biome:_r.Opt(o({validator:"resource",params:{pool:"$worldgen/biome"}})),lakes:_r.Opt(_r.BooleanNode()),features:_r.Opt(_r.BooleanNode()),layers:_r.ListNode(r("generator_layer")),structures:r("generator_structures")})}}},{disableSwitchContext:!0})},{category:"pool",context:"dimension"}),{default:()=>{const e=Math.floor(4294967296*Math.random())-2147483648;return{type:"minecraft:overworld",generator:{type:"minecraft:noise",seed:e,biome_source:{type:"minecraft:fixed",seed:e,biome:"minecraft:plains"},settings:"minecraft:overworld"}}}})),e.register("generator_biome",_r.Mod(_r.ObjectNode({biome:o({validator:"resource",params:{pool:"$worldgen/biome"}}),parameters:_r.ObjectNode({altitude:_r.NumberNode(),temperature:_r.NumberNode(),humidity:_r.NumberNode(),weirdness:_r.NumberNode(),offset:_r.NumberNode()})},{context:"generator_biome"}),{default:()=>({biome:"minecraft:plains",parameters:{altitude:0,temperature:0,humidity:0,weirdness:0,offset:0}})})),e.register("generator_biome_noise",_r.Mod(_r.ObjectNode({firstOctave:_r.NumberNode({integer:!0}),amplitudes:_r.ListNode(_r.NumberNode())},{context:"generator_biome_noise"}),{default:()=>({firstOctave:-7,amplitudes:[1,1]})}))};var ur={};Object.defineProperty(ur,"__esModule",{value:!0}),ur.initDimensionTypeSchemas=void 0;const fr=Le,gr=ar;ur.initDimensionTypeSchemas=function(e,t){const r=fr.StringNode.bind(void 0,t);e.register("dimension_type",fr.Mod(fr.ObjectNode({name:fr.Mod(r({validator:"resource",params:{pool:"$dimension_type",isDefinition:!0}}),{enabled:e=>e.getArray().length>0}),ultrawarm:fr.BooleanNode(),natural:fr.BooleanNode(),piglin_safe:fr.BooleanNode(),respawn_anchor_works:fr.BooleanNode(),bed_works:fr.BooleanNode(),has_raids:fr.BooleanNode(),has_skylight:fr.BooleanNode(),has_ceiling:fr.BooleanNode(),coordinate_scale:fr.NumberNode({min:1e-5,max:3e7}),ambient_light:fr.NumberNode(),fixed_time:fr.Opt(fr.NumberNode({integer:!0})),logical_height:fr.NumberNode({integer:!0,min:0,max:256}),effects:fr.Opt(r({enum:["minecraft:overworld","minecraft:the_nether","minecraft:the_end"]})),infiniburn:r({validator:"resource",params:{pool:"$tag/block"}})},{context:"dimension_type"}),{default:()=>gr.DefaultDimensionType}))};var br={},hr={};Object.defineProperty(hr,"__esModule",{value:!0}),hr.LootFunctions=hr.LootConditions=hr.LootCopySources=hr.LootEntitySources=hr.LootTableTypes=void 0,hr.LootTableTypes=new Map([["minecraft:advancement_entity",{requires:[7,8],allows:[]}],["minecraft:advancement_reward",{requires:[7,8],allows:[]}],["minecraft:barter",{requires:[8],allows:[]}],["minecraft:block",{requires:[1,7,9],allows:[0,4,8]}],["minecraft:chest",{requires:[7],allows:[8]}],["minecraft:command",{requires:[7],allows:[8]}],["minecraft:empty",{requires:[],allows:[]}],["minecraft:entity",{requires:[2,7,8],allows:[3,5,6]}],["minecraft:fishing",{requires:[7,9],allows:[8]}],["minecraft:generic",{requires:[2,0,1,3,4,5,6,7,8,9],allows:[]}],["minecraft:gift",{requires:[7,8],allows:[]}],["minecraft:selector",{requires:[7],allows:[8]}]]),hr.LootEntitySources=new Map([["direct_killer",[3]],["killer",[5]],["killer_player",[5]],["this",[8]]]),hr.LootCopySources=new Map([["block_entity",[0]],["killer",[5]],["killer_player",[5]],["this",[8]]]),hr.LootConditions=new Map([["minecraft:alternative",[]],["minecraft:block_state_property",[1]],["minecraft:damage_source_properties",[2]],["minecraft:entity_properties",[7]],["minecraft:entity_scores",[]],["minecraft:inverted",[]],["minecraft:killed_by_player",[6]],["minecraft:location_check",[]],["minecraft:match_tool",[9]],["minecraft:random_chance",[]],["minecraft:random_chance_with_looting",[5]],["minecraft:reference",[]],["minecraft:survives_explosion",[4]],["minecraft:table_bonus",[9]],["minecraft:time_check",[]],["minecraft:weather_check",[]]]),hr.LootFunctions=new Map([["minecraft:apply_bonus",[9]],["minecraft:copy_name",[]],["minecraft:copy_nbt",[]],["minecraft:copy_state",[1]],["minecraft:enchant_randomly",[]],["minecraft:enchant_with_levels",[]],["minecraft:exploration_map",[7]],["minecraft:explosion_decay",[]],["minecraft:fill_player_head",[]],["minecraft:furnace_smelt",[]],["minecraft:limit_count",[]],["minecraft:looting_enchant",[5]],["minecraft:set_attributes",[]],["minecraft:set_contents",[]],["minecraft:set_count",[]],["minecraft:set_damage",[]],["minecraft:set_loot_table",[]],["minecraft:set_lore",[]],["minecraft:set_name",[]],["minecraft:set_nbt",[]],["minecraft:set_stew_effect",[]]]),Object.defineProperty(br,"__esModule",{value:!0}),br.initLootTableSchemas=void 0;const vr=Le,yr=hr,Nr=ar;br.initLootTableSchemas=function(e,t){const r=vr.Reference.bind(void 0,e),o=vr.StringNode.bind(void 0,t),i={conditions:vr.Opt(vr.ListNode(r("loot_condition")))},a=m({functions:vr.Opt(vr.ListNode(r("loot_function")))},i);function n(e,r,o){const i=[],a=o=>t.get(r).filter((t=>{var r;return(null!==(r=e.get(t))&&void 0!==r?r:[]).every((e=>o.includes(e)))}));for(const[t,{allows:n,requires:c}]of yr.LootTableTypes){const e=[...n,...c];i.push({match:e=>e.getModel().get(new vr.Path(["type"]))===t,node:o(a(e))})}return i.push({match:e=>!0,node:o(r)}),vr.SwitchNode(i)}const c=n(yr.LootConditions,"loot_condition_type",(e=>o({validator:"resource",params:{pool:e instanceof Array?e:"loot_condition_type"}}))),s=n(yr.LootFunctions,"loot_function_type",(e=>o({validator:"resource",params:{pool:e instanceof Array?e:"loot_function_type"}}))),l=n(yr.LootEntitySources,"entity_source",(e=>o({enum:e}))),d=n(yr.LootCopySources,"copy_source",(e=>o({enum:e})));e.register("loot_table",vr.Mod(vr.ObjectNode({type:vr.Opt(o({validator:"resource",params:{pool:t.get("loot_context_type")}})),pools:vr.Opt(vr.ListNode(vr.Mod(vr.ObjectNode(m({rolls:Nr.Range({allowBinomial:!0,integer:!0}),bonus_rolls:vr.Opt(Nr.Range({integer:!0})),entries:vr.ListNode(r("loot_entry"))},a),{category:"pool",context:"loot_pool"}),{default:()=>({rolls:1,entries:[{type:"minecraft:item",name:"minecraft:stone"}]})}))),functions:vr.Opt(vr.ListNode(r("loot_function")))},{context:"loot_table"}),{default:()=>({pools:[{rolls:1,entries:[{type:"minecraft:item",name:"minecraft:stone"}]}]})}));const p={enabled:e=>{var t;return(null===(t=e.pop().get())||void 0===t?void 0:t.length)>1&&!["minecraft:alternatives","minecraft:group","minecraft:sequence"].includes(e.push("type").get())}};e.register("loot_entry",vr.Mod(vr.ObjectNode({type:o({validator:"resource",params:{pool:"loot_pool_entry_type"}}),weight:vr.Opt(vr.Mod(vr.NumberNode({integer:!0,min:1}),p)),quality:vr.Opt(vr.Mod(vr.NumberNode({integer:!0}),p)),[vr.Switch]:[{push:"type"}],[vr.Case]:{"minecraft:alternatives":m({children:vr.ListNode(r("loot_entry"))},a),"minecraft:dynamic":m({name:o()},a),"minecraft:group":m({children:vr.ListNode(r("loot_entry"))},a),"minecraft:item":m({name:o({validator:"resource",params:{pool:"item"}})},a),"minecraft:loot_table":m({name:o({validator:"resource",params:{pool:"$loot_table"}})},a),"minecraft:sequence":m({children:vr.ListNode(r("loot_entry"))},a),"minecraft:tag":m({name:o({validator:"resource",params:{pool:"$tag/item"}}),expand:vr.Opt(vr.BooleanNode())},a)}},{context:"loot_entry"}),{default:()=>({type:"minecraft:item",name:"minecraft:stone"})})),e.register("loot_function",vr.Mod(vr.ObjectNode({function:s,[vr.Switch]:[{push:"function"}],[vr.Case]:(()=>{const e={"minecraft:apply_bonus":{enchantment:o({validator:"resource",params:{pool:"enchantment"}}),formula:o({validator:"resource",params:{pool:t.get("loot_table_apply_bonus_formula")}}),parameters:vr.Mod(vr.ObjectNode({bonusMultiplier:vr.Mod(vr.NumberNode(),{enabled:e=>"minecraft:uniform_bonus_count"===e.pop().push("formula").get()}),extra:vr.Mod(vr.NumberNode(),{enabled:e=>"minecraft:binomial_with_bonus_count"===e.pop().push("formula").get()}),probability:vr.Mod(vr.NumberNode(),{enabled:e=>"minecraft:binomial_with_bonus_count"===e.pop().push("formula").get()})}),{enabled:e=>"minecraft:ore_drops"!==e.push("formula").get()})},"minecraft:copy_name":{source:d},"minecraft:copy_nbt":{source:d,ops:vr.ListNode(vr.ObjectNode({source:o({validator:"nbt_path",params:{category:{getter:"copy_source",path:["pop","pop","pop",{push:"source"}]}}}),target:o({validator:"nbt_path",params:{category:"minecraft:item"}}),op:o({enum:["replace","append","merge"]})},{context:"nbt_operation"}))},"minecraft:copy_state":{block:o({validator:"resource",params:{pool:"block"}}),properties:vr.ListNode(o({validator:"block_state_key",params:{id:["pop","pop",{push:"block"}]}}))},"minecraft:enchant_randomly":{enchantments:vr.Opt(vr.ListNode(o({validator:"resource",params:{pool:"enchantment"}})))},"minecraft:enchant_with_levels":{levels:Nr.Range({allowBinomial:!0}),treasure:vr.Opt(vr.BooleanNode())},"minecraft:exploration_map":{destination:vr.Opt(o({enum:"map_feature"})),decoration:vr.Opt(o({enum:"map_decoration"})),zoom:vr.Opt(vr.NumberNode({integer:!0})),search_radius:vr.Opt(vr.NumberNode({integer:!0})),skip_existing_chunks:vr.Opt(vr.BooleanNode())},"minecraft:fill_player_head":{entity:l},"minecraft:limit_count":{limit:Nr.Range({bounds:!0})},"minecraft:looting_enchant":{count:Nr.Range({bounds:!0}),limit:vr.Opt(vr.NumberNode({integer:!0}))},"minecraft:set_attributes":{modifiers:vr.ListNode(r("attribute_modifier"))},"minecraft:set_contents":{entries:vr.ListNode(r("loot_entry"))},"minecraft:set_count":{count:Nr.Range({allowBinomial:!0})},"minecraft:set_damage":{damage:Nr.Range({forceRange:!0})},"minecraft:set_loot_table":{name:o({validator:"resource",params:{pool:"$loot_table"}}),seed:vr.Opt(vr.NumberNode({integer:!0}))},"minecraft:set_lore":{entity:vr.Opt(l),lore:vr.ListNode(r("text_component")),replace:vr.Opt(vr.BooleanNode())},"minecraft:set_name":{entity:vr.Opt(l),name:vr.Opt(r("text_component"))},"minecraft:set_nbt":{tag:o({validator:"nbt",params:{registry:{category:"minecraft:item"}}})},"minecraft:set_stew_effect":{effects:vr.Opt(vr.ListNode(vr.ObjectNode({type:o({validator:"resource",params:{pool:"mob_effect"}}),duration:Nr.Range()})))}},a={};return t.get("loot_function_type").forEach((t=>{a[t]=m(m({},e[t]),i)})),a})()},{category:"function",context:"function"}),{default:()=>({function:"minecraft:set_count",count:1})})),e.register("loot_condition",vr.Mod(vr.ObjectNode({condition:c,[vr.Switch]:[{push:"condition"}],[vr.Case]:_(m({},Nr.ConditionCases),{"minecraft:entity_properties":{entity:l,predicate:r("entity_predicate")},"minecraft:entity_scores":{entity:l,scores:vr.MapNode(o({validator:"objective"}),Nr.Range({bounds:!0}))}})},{category:"predicate",context:"condition"}),{default:()=>({condition:"minecraft:random_chance",chance:.5})})),e.register("attribute_modifier",vr.Mod(vr.ObjectNode({attribute:o({validator:"resource",params:{pool:"attribute"}}),name:o(),amount:Nr.Range({bounds:!0}),operation:o({enum:["addition","multiply_base","multiply_total"]}),slot:vr.StringOrList(o({enum:"slot"}))},{context:"attribute_modifier"}),{default:()=>({attribute:"minecraft:generic.max_health",name:"",amount:1,operation:"addition",slot:"mainhand"})}))};var Or={};Object.defineProperty(Or,"__esModule",{value:!0}),Or.initPackMcmetaSchemas=void 0;const kr=Le;Or.initPackMcmetaSchemas=function(e,t){e.register("pack_mcmeta",kr.Mod(kr.ObjectNode({pack:kr.Mod(kr.ObjectNode({pack_format:kr.Mod(kr.NumberNode({integer:!0,min:6,max:6}),{default:()=>6}),description:kr.Reference(e,"text_component")}),{default:()=>({pack_format:6,description:""})})}),{default:()=>({pack:{pack_format:6,description:""}})}))};var xr={};Object.defineProperty(xr,"__esModule",{value:!0}),xr.initPredicatesSchemas=void 0;const wr=Le,jr=ar;xr.initPredicatesSchemas=function(e,t){const r=wr.Reference.bind(void 0,e),o=wr.StringNode.bind(void 0,t),i=wr.ChoiceNode([{type:"string",node:o(),change:e=>"boolean"==typeof e||"number"==typeof e?e.toString():""},{type:"number",node:wr.NumberNode(),change:e=>"string"==typeof e?parseInt(e):0},{type:"object",node:wr.ObjectNode({min:wr.Opt(wr.NumberNode({integer:!0})),max:wr.Opt(wr.NumberNode({integer:!0}))}),change:e=>"number"==typeof e?{min:e,max:e}:{}},{type:"boolean",node:wr.BooleanNode(),change:e=>"true"===e||1===e}]);e.register("item_predicate",wr.ObjectNode({item:wr.Opt(o({validator:"resource",params:{pool:"item"}})),tag:wr.Opt(o({validator:"resource",params:{pool:"$tag/item"}})),count:wr.Opt(jr.Range()),durability:wr.Opt(jr.Range()),potion:wr.Opt(o({validator:"resource",params:{pool:"potion"}})),nbt:wr.Opt(o({validator:"nbt",params:{registry:{category:"minecraft:item",id:["pop",{push:"item"}]}}})),enchantments:wr.Opt(wr.ListNode(r("enchantment_predicate")))},{context:"item"})),e.register("enchantment_predicate",wr.ObjectNode({enchantment:wr.Opt(o({validator:"resource",params:{pool:"enchantment"}})),levels:wr.Opt(jr.Range())},{context:"enchantment"})),e.register("block_predicate",wr.ObjectNode({block:wr.Opt(o({validator:"resource",params:{pool:"block"}})),tag:wr.Opt(o({validator:"resource",params:{pool:"$tag/block"}})),nbt:wr.Opt(o({validator:"nbt",params:{registry:{category:"minecraft:block",id:["pop",{push:"block"}]}}})),state:wr.Opt(wr.MapNode(o(),i,{validation:{validator:"block_state_map",params:{id:["pop",{push:"block"}]}}}))},{context:"block"})),e.register("fluid_predicate",wr.ObjectNode({fluid:wr.Opt(o({validator:"resource",params:{pool:"fluid"}})),tag:wr.Opt(o({validator:"resource",params:{pool:"$tag/fluid"}})),state:wr.Opt(wr.MapNode(o(),i))},{context:"fluid"})),e.register("location_predicate",wr.ObjectNode({position:wr.Opt(wr.ObjectNode({x:wr.Opt(jr.Range()),y:wr.Opt(jr.Range()),z:wr.Opt(jr.Range())})),biome:wr.Opt(o({validator:"resource",params:{pool:"$worldgen/biome"}})),feature:wr.Opt(o({enum:t.get("worldgen/structure_feature").map((e=>e.slice(10)))})),dimension:wr.Opt(o({validator:"resource",params:{pool:"$dimension"}})),light:wr.Opt(wr.ObjectNode({light:wr.Opt(jr.Range({integer:!0,min:0,max:15}))})),smokey:wr.Opt(wr.BooleanNode()),block:wr.Opt(r("block_predicate")),fluid:wr.Opt(r("fluid_predicate"))},{context:"location"})),e.register("statistic_predicate",wr.ObjectNode({type:o({validator:"resource",params:{pool:"stat_type"}}),stat:o(),value:jr.Range(),[wr.Switch]:[{push:"type"}],[wr.Case]:{"minecraft:mined":{stat:o({validator:"resource",params:{pool:"block"}})},"minecraft:crafted":{stat:o({validator:"resource",params:{pool:"item"}})},"minecraft:used":{stat:o({validator:"resource",params:{pool:"item"}})},"minecraft:broken":{stat:o({validator:"resource",params:{pool:"item"}})},"minecraft:picked_up":{stat:o({validator:"resource",params:{pool:"item"}})},"minecraft:dropped":{stat:o({validator:"resource",params:{pool:"item"}})},"minecraft:killed":{stat:o({validator:"resource",params:{pool:"entity_type"}})},"minecraft:killed_by":{stat:o({validator:"resource",params:{pool:"entity_type"}})},"minecraft:custom":{stat:o({validator:"resource",params:{pool:"custom_stat"}})}}})),e.register("player_predicate",wr.ObjectNode({gamemode:wr.Opt(o({enum:"gamemode"})),level:wr.Opt(jr.Range()),advancements:wr.Opt(wr.MapNode(o({validator:"resource",params:{pool:"$advancement"}}),wr.ChoiceNode([{type:"boolean",node:wr.BooleanNode(),change:e=>!0},{type:"object",node:wr.MapNode(o(),wr.BooleanNode())}]))),recipes:wr.Opt(wr.MapNode(o({validator:"resource",params:{pool:"$recipe"}}),wr.BooleanNode())),stats:wr.Opt(wr.ListNode(r("statistic_predicate")))},{context:"player"})),e.register("status_effect_predicate",wr.ObjectNode({amplifier:wr.Opt(jr.Range()),duration:wr.Opt(jr.Range()),ambient:wr.Opt(wr.BooleanNode()),visible:wr.Opt(wr.BooleanNode())},{context:"status_effect"})),e.register("distance_predicate",wr.ObjectNode({x:wr.Opt(jr.Range()),y:wr.Opt(jr.Range()),z:wr.Opt(jr.Range()),absolute:wr.Opt(jr.Range()),horizontal:wr.Opt(jr.Range())},{context:"distance"})),e.register("entity_predicate",wr.ObjectNode({type:wr.Opt(o({validator:"resource",params:{pool:"entity_type",allowTag:!0}})),nbt:wr.Opt(o({validator:"nbt",params:{registry:{category:"minecraft:entity",id:["pop",{push:"type"}]}}})),team:wr.Opt(o({validator:"team"})),location:wr.Opt(r("location_predicate")),distance:wr.Opt(r("distance_predicate")),flags:wr.Opt(wr.ObjectNode({is_on_fire:wr.Opt(wr.BooleanNode()),is_sneaking:wr.Opt(wr.BooleanNode()),is_sprinting:wr.Opt(wr.BooleanNode()),is_swimming:wr.Opt(wr.BooleanNode()),is_baby:wr.Opt(wr.BooleanNode())})),equipment:wr.Opt(wr.MapNode(o({enum:"slot"}),r("item_predicate"))),vehicle:wr.Opt(r("entity_predicate")),targeted_entity:wr.Opt(r("entity_predicate")),player:wr.Opt(r("player_predicate")),fishing_hook:wr.Opt(wr.ObjectNode({in_open_water:wr.Opt(wr.BooleanNode())})),effects:wr.Opt(wr.MapNode(o({validator:"resource",params:{pool:"mob_effect"}}),r("status_effect_predicate")))},{context:"entity"})),e.register("damage_source_predicate",wr.ObjectNode({is_explosion:wr.Opt(wr.BooleanNode()),is_fire:wr.Opt(wr.BooleanNode()),is_magic:wr.Opt(wr.BooleanNode()),is_projectile:wr.Opt(wr.BooleanNode()),is_lightning:wr.Opt(wr.BooleanNode()),bypasses_armor:wr.Opt(wr.BooleanNode()),bypasses_invulnerability:wr.Opt(wr.BooleanNode()),bypasses_magic:wr.Opt(wr.BooleanNode()),source_entity:wr.Opt(r("entity_predicate")),direct_entity:wr.Opt(r("entity_predicate"))},{context:"damage_source"})),e.register("damage_predicate",wr.ObjectNode({dealt:wr.Opt(jr.Range()),taken:wr.Opt(jr.Range()),blocked:wr.Opt(wr.BooleanNode()),source_entity:wr.Opt(r("entity_predicate")),type:wr.Opt(r("damage_source_predicate"))},{context:"damage"}))};var Sr={};Object.defineProperty(Sr,"__esModule",{value:!0}),Sr.initRecipeSchemas=void 0;const Mr=Le;Sr.initRecipeSchemas=function(e,t){const r=Mr.Reference.bind(void 0,e),o=Mr.StringNode.bind(void 0,t);e.register("recipe",Mr.Mod(Mr.ObjectNode({type:o({validator:"resource",params:{pool:"recipe_serializer"}}),[Mr.Switch]:[{push:"type"}],[Mr.Case]:{"minecraft:crafting_shaped":{group:Mr.Opt(o({enum:"recipe_group",additional:!0})),pattern:Mr.ListNode(o()),key:Mr.MapNode(o(),r("recipe_ingredient")),result:r("recipe_result")},"minecraft:crafting_shapeless":{group:Mr.Opt(o()),ingredients:Mr.ListNode(r("recipe_ingredient")),result:r("recipe_result")},"minecraft:smelting":{group:Mr.Opt(o()),ingredient:r("recipe_ingredient"),result:o({validator:"resource",params:{pool:"item"}}),experience:Mr.Opt(Mr.NumberNode()),cookingtime:Mr.Opt(Mr.Mod(Mr.NumberNode({integer:!0}),{default:()=>200}))},"minecraft:blasting":{group:Mr.Opt(o()),ingredient:r("recipe_ingredient"),result:o({validator:"resource",params:{pool:"item"}}),experience:Mr.Opt(Mr.NumberNode()),cookingtime:Mr.Opt(Mr.Mod(Mr.NumberNode({integer:!0}),{default:()=>100}))},"minecraft:smoking":{group:Mr.Opt(o()),ingredient:r("recipe_ingredient"),result:o({validator:"resource",params:{pool:"item"}}),experience:Mr.Opt(Mr.NumberNode()),cookingtime:Mr.Opt(Mr.Mod(Mr.NumberNode({integer:!0}),{default:()=>100}))},"minecraft:campfire_cooking":{group:Mr.Opt(o()),ingredient:r("recipe_ingredient"),result:o({validator:"resource",params:{pool:"item"}}),experience:Mr.Opt(Mr.NumberNode()),cookingtime:Mr.Opt(Mr.Mod(Mr.NumberNode({integer:!0}),{default:()=>100}))},"minecraft:stonecutting":{group:Mr.Opt(o()),ingredient:r("recipe_ingredient"),result:o({validator:"resource",params:{pool:"item"}}),count:Mr.NumberNode({integer:!0})},"minecraft:smithing":{group:Mr.Opt(o()),base:r("recipe_ingredient_object"),addition:r("recipe_ingredient_object"),result:r("recipe_result")}}},{context:"recipe"}),{default:()=>({type:"minecraft:crafting_shaped"})})),e.register("recipe_ingredient",Mr.Mod(Mr.ChoiceNode([{type:"object",node:r("recipe_ingredient_object"),change:e=>e[0]},{type:"list",node:Mr.ListNode(r("recipe_ingredient_object")),change:e=>[e]}]),{default:()=>({item:"minecraft:stone"})})),e.register("recipe_ingredient_object",Mr.Mod(Mr.ObjectNode({item:Mr.Opt(o({validator:"resource",params:{pool:"item"}})),tag:Mr.Opt(o({validator:"resource",params:{pool:"$tag/item"}}))}),{default:()=>({item:"minecraft:stone"})})),e.register("recipe_result",Mr.Mod(Mr.ObjectNode({item:o({validator:"resource",params:{pool:"item"}}),count:Mr.Opt(Mr.Mod(Mr.NumberNode({integer:!0}),{default:()=>1}))}),{default:()=>({item:"minecraft:stone"})}))};var Cr={};Object.defineProperty(Cr,"__esModule",{value:!0}),Cr.initTagsSchemas=void 0;const Pr=Le;Cr.initTagsSchemas=function(e,t){const r=Pr.StringNode.bind(void 0,t),o=e=>Pr.Mod(Pr.ObjectNode({replace:Pr.Opt(Pr.BooleanNode()),values:Pr.ListNode(Pr.ChoiceNode([{type:"string",node:r({validator:"resource",params:{pool:e,allowTag:!0}}),change:e=>e.id},{type:"object",node:Pr.ObjectNode({id:r({validator:"resource",params:{pool:e,allowTag:!0,allowUnknown:!0}}),required:Pr.BooleanNode()}),change:e=>({id:e})}]))},{context:"tag"}),{default:()=>({values:[]})});e.register("block_tag",o("block")),e.register("entity_type_tag",o("entity_type")),e.register("fluid_tag",o("fluid")),e.register("function_tag",o("$function")),e.register("item_tag",o("item"))};var Lr={};Object.defineProperty(Lr,"__esModule",{value:!0}),Lr.initTextComponentSchemas=void 0;const Br=Le;Lr.initTextComponentSchemas=function(e,t){const r=Br.Reference.bind(void 0,e),o=Br.StringNode.bind(void 0,t),i=e=>{var t;return e instanceof Array?i(e[0]):null!==(t=null==e?void 0:e.text)&&void 0!==t?t:"object"==typeof e?"":null==e?void 0:e.toString()};e.register("text_component",Br.Mod(Br.ChoiceNode([{type:"object",node:r("text_component_object"),change:e=>e instanceof Array?"object"==typeof e[0]?e[0]:{text:i(e[0])}:"object"==typeof e?e:{text:i(e)}},{type:"list",node:r("text_component_list"),change:e=>[e]},{type:"string",priority:1,node:o(),change:i},{type:"number",node:Br.NumberNode(),change:e=>{const t=parseFloat(i(e));return isFinite(t)?t:e?1:0}},{type:"boolean",node:Br.BooleanNode(),change:e=>{const t=i(e);return"true"===t||"false"===t?"true"===t:!!t}}],{context:"text_component"}),{default:()=>({text:""})}));const a={color:Br.Opt(o()),font:Br.Opt(o()),bold:Br.Opt(Br.BooleanNode()),italic:Br.Opt(Br.BooleanNode()),underlined:Br.Opt(Br.BooleanNode()),strikethrough:Br.Opt(Br.BooleanNode()),obfuscated:Br.Opt(Br.BooleanNode()),insertion:Br.Opt(o()),clickEvent:Br.Opt(Br.ObjectNode({action:o({enum:["open_url","open_file","run_command","suggest_command","change_page","copy_to_clipboard"]}),[Br.Switch]:[{push:"action"}],[Br.Case]:{change_page:{value:o()},copy_to_clipboard:{value:o()},open_file:{value:o()},open_url:{value:o()},run_command:{value:o({validator:"command",params:{leadingSlash:!0,allowPartial:!0}})},suggest_command:{value:o({validator:"command",params:{leadingSlash:!0,allowPartial:!0}})}}})),hoverEvent:Br.Opt(Br.ObjectNode({action:o({enum:["show_text","show_item","show_entity"]}),[Br.Switch]:[{push:"action"}],[Br.Case]:{show_text:{value:Br.Opt(r("text_component")),contents:Br.Opt(r("text_component"))},show_item:{value:Br.Opt(o({validator:"nbt",params:{module:"util::InventoryItem"}})),contents:Br.Opt(Br.ObjectNode({id:o({validator:"resource",params:{pool:"item"}}),count:Br.Opt(Br.NumberNode({integer:!0})),tag:Br.Opt(o({validator:"nbt",params:{registry:{category:"minecraft:item",id:["pop",{push:"id"}]}}}))}))},show_entity:{value:Br.Opt(Br.ObjectNode({name:Br.Opt(o()),type:Br.Opt(o()),id:Br.Opt(o())})),contents:Br.Opt(Br.Mod(Br.ObjectNode({name:Br.Opt(r("text_component")),type:o({validator:"resource",params:{pool:"entity_type"}}),id:o({validator:"uuid"})}),{default:()=>({type:"minecraft:pig",id:"00000001-0001-0001-0001-000000000001"})}))}}})),extra:Br.Opt(r("text_component_list"))};e.register("text_component_object",Br.Mod(Br.ChoiceNode([{type:"text",match:e=>"object"==typeof e,change:e=>({text:""}),priority:-1,node:Br.ObjectNode(m({text:o()},a))},{type:"translation",match:e=>void 0!==(null==e?void 0:e.translate),change:e=>({translate:""}),node:Br.ObjectNode(m({translate:o(),with:Br.Opt(r("text_component_list"))},a))},{type:"score",match:e=>void 0!==(null==e?void 0:e.score),change:e=>({score:{}}),node:Br.ObjectNode(m({score:Br.ObjectNode({name:o({validator:"entity",params:{amount:"single",type:"entities",isScoreHolder:!0}}),objective:o({validator:"objective"}),value:Br.Opt(o())})},a))},{type:"selector",match:e=>void 0!==(null==e?void 0:e.selector),change:e=>({selector:""}),node:Br.ObjectNode(m({selector:o({validator:"entity",params:{amount:"multiple",type:"entities"}})},a))},{type:"keybind",match:e=>void 0!==(null==e?void 0:e.keybind),change:e=>({keybind:""}),node:Br.ObjectNode(m({keybind:o({enum:"keybind",additional:!0})},a))},{type:"nbt",match:e=>void 0!==(null==e?void 0:e.nbt),change:e=>({nbt:""}),node:Br.ObjectNode(m({nbt:o({validator:"nbt_path"}),block:Br.Opt(o({validator:"vector",params:{dimension:3,isInteger:!0}})),entity:Br.Opt(o({validator:"entity",params:{amount:"single",type:"entities"}})),storage:Br.Opt(o({validator:"resource",params:{pool:"$storage"}})),interpret:Br.Opt(Br.BooleanNode())},a))}],{context:"text_component_object",choiceContext:"text_component.object"}),{default:()=>({text:""})})),e.register("text_component_list",Br.Mod(Br.ListNode(r("text_component")),{default:()=>[{text:""}]}))};var zr={},Rr={};Object.defineProperty(Rr,"__esModule",{value:!0}),Rr.initBiomeSchemas=void 0;const $r=Le;Rr.initBiomeSchemas=function(e,t){const r=$r.StringNode.bind(void 0,t);e.register("biome",$r.Mod($r.ObjectNode({surface_builder:r({validator:"resource",params:{pool:"$worldgen/configured_surface_builder"}}),depth:$r.NumberNode(),scale:$r.NumberNode(),temperature:$r.NumberNode(),downfall:$r.NumberNode(),precipitation:r({enum:["none","rain","snow"]}),temperature_modifier:$r.Opt(r({enum:["none","frozen"]})),category:r({enum:"biome_category"}),player_spawn_friendly:$r.Opt($r.BooleanNode()),creature_spawn_probability:$r.Opt($r.NumberNode({min:0,max:1})),effects:$r.ObjectNode({sky_color:$r.NumberNode({color:!0}),fog_color:$r.NumberNode({color:!0}),water_color:$r.NumberNode({color:!0}),water_fog_color:$r.NumberNode({color:!0}),grass_color:$r.Opt($r.NumberNode({color:!0})),foliage_color:$r.Opt($r.NumberNode({color:!0})),grass_color_modifier:$r.Opt(r({enum:["none","dark_forest","swamp"]})),ambient_sound:$r.Opt(r()),mood_sound:$r.Opt($r.ObjectNode({sound:r(),tick_delay:$r.NumberNode({integer:!0}),block_search_extent:$r.NumberNode({integer:!0}),offset:$r.NumberNode()})),additions_sound:$r.Opt($r.ObjectNode({sound:r(),tick_chance:$r.NumberNode({min:0,max:1})})),music:$r.Opt($r.ObjectNode({sound:r(),min_delay:$r.NumberNode({integer:!0,min:0}),max_delay:$r.NumberNode({integer:!0,min:0}),replace_current_music:$r.BooleanNode()})),particle:$r.Opt($r.ObjectNode({options:$r.ObjectNode({type:r()}),probability:$r.NumberNode({min:0,max:1})}))}),starts:$r.ListNode(r({validator:"resource",params:{pool:"$worldgen/configured_structure_feature"}})),spawners:$r.MapNode(r({enum:["water_ambient","ambient","misc","water_creature","creature","monster"]}),$r.Mod($r.ListNode($r.ObjectNode({type:r({validator:"resource",params:{pool:"entity_type"}}),weight:$r.NumberNode({integer:!0}),minCount:$r.NumberNode({integer:!0}),maxCount:$r.NumberNode({integer:!0})})),{category:()=>"pool",default:()=>[{type:"minecraft:bat",weight:1}]})),spawn_costs:$r.MapNode(r({validator:"resource",params:{pool:"entity_type"}}),$r.Mod($r.ObjectNode({energy_budget:$r.NumberNode(),charge:$r.NumberNode()},{category:"function"}),{default:()=>({energy_budget:.12,charge:1})})),carvers:$r.MapNode(r({enum:["air","liquid"]}),$r.Mod($r.ListNode(r({validator:"resource",params:{pool:"$worldgen/configured_carver"}})),{default:()=>["minecraft:cave"]})),features:$r.ListNode($r.Mod($r.ListNode(r({validator:"resource",params:{pool:"$worldgen/configured_feature"}})),{category:()=>"predicate"}),{maxLength:10})},{context:"biome"}),{default:()=>({surface_builder:"minecraft:grass",depth:.125,scale:.05,temperature:.8,downfall:.4,precipitation:"rain",category:"plains",effects:{sky_color:7907327,fog_color:12638463,water_color:4159204,water_fog_color:329011}})}))};var Ar={};Object.defineProperty(Ar,"__esModule",{value:!0}),Ar.initCarverSchemas=void 0;const Tr=Le;Ar.initCarverSchemas=function(e,t){const r=Tr.StringNode.bind(void 0,t);e.register("configured_carver",Tr.Mod(Tr.ObjectNode({type:r({validator:"resource",params:{pool:"worldgen/carver"}}),config:Tr.ObjectNode({probability:Tr.NumberNode({min:0,max:1})})},{context:"carver"}),{default:()=>({type:"minecraft:cave",config:{probability:.1}})}))};var qr={};Object.defineProperty(qr,"__esModule",{value:!0}),qr.initDecoratorSchemas=void 0;const Ir=Le,Dr=ar;qr.initDecoratorSchemas=function(e,t){const r=Ir.Reference.bind(void 0,e),o=Ir.StringNode.bind(void 0,t),i={maximum:Ir.NumberNode({integer:!0}),bottom_offset:Ir.NumberNode({integer:!0}),top_offset:Ir.NumberNode({integer:!0})},a={chance:Ir.NumberNode({integer:!0,min:0})},n={count:Dr.UniformInt({min:-10,max:128,maxSpread:128})};e.register("configured_decorator",Ir.ObjectNode({type:o({validator:"resource",params:{pool:"worldgen/decorator"}}),config:Ir.ObjectNode({[Ir.Switch]:["pop",{push:"type"}],[Ir.Case]:{"minecraft:carving_mask":{step:o({enum:"generation_step"}),probability:Ir.NumberNode({min:0,max:1})},"minecraft:chance":a,"minecraft:count":n,"minecraft:count_extra":{count:Ir.NumberNode({integer:!0,min:0}),extra_count:Ir.NumberNode({integer:!0,min:0}),extra_chance:Ir.NumberNode({min:0,max:1})},"minecraft:count_multilayer":n,"minecraft:count_noise":{noise_level:Ir.NumberNode(),below_noise:Ir.NumberNode({integer:!0}),above_noise:Ir.NumberNode({integer:!0})},"minecraft:count_noise_biased":{noise_to_count_ratio:Ir.NumberNode({integer:!0}),noise_factor:Ir.NumberNode(),noise_offset:Ir.Opt(Ir.NumberNode())},"minecraft:decorated":{outer:r("configured_decorator"),inner:r("configured_decorator")},"minecraft:depth_average":{baseline:Ir.NumberNode({integer:!0}),spread:Ir.NumberNode({integer:!0})},"minecraft:fire":n,"minecraft:glowstone":n,"minecraft:lava_lake":a,"minecraft:range":i,"minecraft:range_biased":i,"minecraft:range_very_biased":i,"minecraft:water_lake":a}},{context:"decorator",category:"predicate"})},{context:"decorator",category:"predicate"}))};var Fr={},Er={};Object.defineProperty(Er,"__esModule",{value:!0}),Er.initProcessorListSchemas=void 0;const Ur=Le;Er.initProcessorListSchemas=function(e,t){const r=Ur.Reference.bind(void 0,e),o=Ur.StringNode.bind(void 0,t);e.register("processor_list",Ur.Mod(Ur.ObjectNode({processors:Ur.ListNode(r("processor"))},{context:"processor_list"}),{default:()=>({processors:[{processor_type:"minecraft:rule",rules:[{location_predicate:{predicate_type:"minecraft:always_true"},input_predicate:{predicate_type:"minecraft:always_true"}}]}]})})),e.register("processor",Ur.Mod(Ur.ObjectNode({processor_type:o({validator:"resource",params:{pool:"worldgen/structure_processor"}}),[Ur.Switch]:[{push:"processor_type"}],[Ur.Case]:{"minecraft:block_age":{mossiness:Ur.NumberNode()},"minecraft:block_ignore":{blocks:Ur.ListNode(r("block_state"))},"minecraft:block_rot":{integrity:Ur.NumberNode({min:0,max:1})},"minecraft:gravity":{heightmap:o({enum:"heightmap_type"}),offset:Ur.NumberNode({integer:!0})},"minecraft:rule":{rules:Ur.ListNode(r("processor_rule"))}}},{category:"function",context:"processor"}),{default:()=>({processor_type:"minecraft:rule",rules:[{location_predicate:{predicate_type:"minecraft:always_true"},input_predicate:{predicate_type:"minecraft:always_true"}}]})})),e.register("processor_rule",Ur.Mod(Ur.ObjectNode({position_predicate:Ur.Opt(r("pos_rule_test")),location_predicate:r("rule_test"),input_predicate:r("rule_test"),output_state:r("block_state"),output_nbt:Ur.Opt(o({validator:"nbt",params:{registry:{category:"minecraft:block"}}}))},{category:"predicate",context:"processor_rule"}),{default:()=>({location_predicate:{predicate_type:"minecraft:always_true"},input_predicate:{predicate_type:"minecraft:always_true"}})}));const i={min_dist:Ur.NumberNode({min:0,max:255,integer:!0}),max_dist:Ur.NumberNode({min:0,max:255,integer:!0}),min_chance:Ur.NumberNode({min:0,max:1}),max_chance:Ur.NumberNode({min:0,max:1})};e.register("pos_rule_test",Ur.ObjectNode({predicate_type:o({validator:"resource",params:{pool:"pos_rule_test"}}),[Ur.Switch]:[{push:"predicate_type"}],[Ur.Case]:{"minecraft:axis_aligned_linear_pos":m({axis:o({enum:["x","y","z"]})},i),"minecraft:linear_pos":i}},{context:"pos_rule_test",disableSwitchContext:!0})),e.register("rule_test",Ur.ObjectNode({predicate_type:o({validator:"resource",params:{pool:"rule_test"}}),[Ur.Switch]:[{push:"predicate_type"}],[Ur.Case]:{"minecraft:block_match":{block:o({validator:"resource",params:{pool:"block"}})},"minecraft:blockstate_match":{block_state:r("block_state")},"minecraft:random_block_match":{block:o({validator:"resource",params:{pool:"block"}}),probability:Ur.NumberNode({min:0,max:1})},"minecraft:random_blockstate_match":{block_state:r("block_state"),probability:Ur.NumberNode({min:0,max:1})},"minecraft:tag_match":{tag:o({validator:"resource",params:{pool:"$tag/block"}})}}},{context:"rule_test",disableSwitchContext:!0}))},Object.defineProperty(Fr,"__esModule",{value:!0}),Fr.initFeatureSchemas=void 0;const Wr=Le,Hr=ar;Fr.initFeatureSchemas=function(e,t){const r=Wr.Reference.bind(void 0,e),o=Wr.StringNode.bind(void 0,t),i={can_replace:Wr.BooleanNode(),project:Wr.BooleanNode(),need_water:Wr.BooleanNode(),xspread:Wr.NumberNode({integer:!0}),yspread:Wr.NumberNode({integer:!0}),zspread:Wr.NumberNode({integer:!0}),tries:Wr.NumberNode({integer:!0}),state_provider:r("block_state_provider"),block_placer:r("block_placer"),whitelist:Wr.ListNode(r("block_state")),blacklist:Wr.ListNode(r("block_state"))},a={state:r("block_state"),radius:Hr.UniformInt({min:0,max:4,maxSpread:4}),half_height:Wr.NumberNode({integer:!0,min:0,max:4}),targets:Wr.ListNode(r("block_state"))},n={cap_provider:r("block_state_provider"),stem_provider:r("block_state_provider"),foliage_radius:Wr.Opt(Wr.NumberNode({integer:!0}))},c={state:r("block_state"),size:Wr.NumberNode({integer:!0,min:0,max:64}),target:r("rule_test")},s={count:Hr.UniformInt({min:-10,max:128,maxSpread:128})},l=Wr.ChoiceNode([{type:"string",node:o({validator:"resource",params:{pool:"$worldgen/configured_feature"}})},{type:"object",node:r("configured_feature")}],{choiceContext:"feature"});e.register("configured_feature",Wr.Mod(Wr.ObjectNode({type:o({validator:"resource",params:{pool:"worldgen/feature"}}),config:Wr.ObjectNode({[Wr.Switch]:["pop",{push:"type"}],[Wr.Case]:{"minecraft:bamboo":{probability:Wr.NumberNode({min:0,max:1})},"minecraft:basalt_columns":{reach:Hr.UniformInt({min:0,max:2,maxSpread:1}),height:Hr.UniformInt({min:1,max:5,maxSpread:5})},"minecraft:block_pile":{state_provider:r("block_state_provider")},"minecraft:decorated":{decorator:r("configured_decorator"),feature:l},"minecraft:delta_feature":{contents:r("block_state"),rim:r("block_state"),size:Hr.UniformInt({min:0,max:8,maxSpread:8}),rim_size:Hr.UniformInt({min:0,max:8,maxSpread:8})},"minecraft:disk":a,"minecraft:emerald_ore":{state:r("block_state"),target:r("block_state")},"minecraft:end_gateway":{exact:Wr.BooleanNode(),exit:Wr.Opt(r("block_pos"))},"minecraft:end_spike":{crystal_invulnerable:Wr.Opt(Wr.BooleanNode()),crystal_beam_target:Wr.Opt(r("block_pos")),spikes:Wr.ListNode(Wr.ObjectNode({centerX:Wr.Opt(Wr.NumberNode({integer:!0})),centerZ:Wr.Opt(Wr.NumberNode({integer:!0})),radius:Wr.Opt(Wr.NumberNode({integer:!0})),height:Wr.Opt(Wr.NumberNode({integer:!0})),guarded:Wr.Opt(Wr.BooleanNode())}))},"minecraft:fill_layer":{state:r("block_state"),height:Wr.NumberNode({integer:!0,min:0,max:255})},"minecraft:flower":i,"minecraft:forest_rock":{state:r("block_state")},"minecraft:huge_brown_mushroom":n,"minecraft:huge_fungus":{hat_state:r("block_state"),decor_state:r("block_state"),stem_state:r("block_state"),valid_base_block:r("block_state"),planted:Wr.Opt(Wr.BooleanNode())},"minecraft:huge_red_mushroom":n,"minecraft:ice_patch":a,"minecraft:iceberg":{state:r("block_state")},"minecraft:lake":{state:r("block_state")},"minecraft:nether_forest_vegetation":{state_provider:r("block_state_provider")},"minecraft:netherrack_replace_blobs":{state:r("block_state"),target:r("block_state"),radius:Hr.UniformInt()},"minecraft:no_bonemeal_flower":i,"minecraft:no_surface_ore":c,"minecraft:ore":c,"minecraft:random_patch":i,"minecraft:random_boolean_selector":{feature_false:l,feature_true:l},"minecraft:random_selector":{features:Wr.ListNode(Wr.ObjectNode({chance:Wr.NumberNode({min:0,max:1}),feature:l})),default:l},"minecraft:sea_pickle":s,"minecraft:seagrass":{probability:Wr.NumberNode({min:0,max:1})},"minecraft:simple_block":{to_place:r("block_state"),place_on:Wr.ListNode(r("block_state")),place_in:Wr.ListNode(r("block_state")),place_under:Wr.ListNode(r("block_state"))},"minecraft:simple_random_selector":{features:Wr.ListNode(l)},"minecraft:spring_feature":{state:r("fluid_state"),rock_count:Wr.NumberNode({integer:!0}),hole_count:Wr.NumberNode({integer:!0}),requires_block_below:Wr.BooleanNode(),valid_blocks:Wr.ListNode(o({validator:"resource",params:{pool:"block"}}))},"minecraft:tree":{max_water_depth:Wr.NumberNode({integer:!0}),ignore_vines:Wr.BooleanNode(),heightmap:o({enum:"heightmap_type"}),minimum_size:r("feature_size"),trunk_provider:r("block_state_provider"),leaves_provider:r("block_state_provider"),trunk_placer:Wr.ObjectNode({type:o({validator:"resource",params:{pool:"worldgen/trunk_placer_type"}}),base_height:Wr.NumberNode({integer:!0,min:0,max:32}),height_rand_a:Wr.NumberNode({integer:!0,min:0,max:24}),height_rand_b:Wr.NumberNode({integer:!0,min:0,max:24})},{context:"trunk_placer"}),foliage_placer:Wr.ObjectNode({type:o({validator:"resource",params:{pool:"worldgen/foliage_placer_type"}}),radius:Hr.UniformInt({min:0,max:8,maxSpread:8}),offset:Hr.UniformInt({min:0,max:8,maxSpread:8}),[Wr.Switch]:[{push:"type"}],[Wr.Case]:{"minecraft:blob_foliage_placer":{height:Wr.NumberNode({integer:!0,min:0,max:16})},"minecraft:bush_foliage_placer":{height:Wr.NumberNode({integer:!0,min:0,max:16})},"minecraft:fancy_foliage_placer":{height:Wr.NumberNode({integer:!0,min:0,max:16})},"minecraft:jungle_foliage_placer":{height:Wr.NumberNode({integer:!0,min:0,max:16})},"minecraft:mega_pine_foliage_placer":{crown_height:Hr.UniformInt({min:0,max:16,maxSpread:8})},"minecraft:pine_foliage_placer":{height:Hr.UniformInt({min:0,max:16,maxSpread:8})},"minecraft:spruce_foliage_placer":{trunk_height:Hr.UniformInt({min:0,max:16,maxSpread:8})}}},{context:"foliage_placer",disableSwitchContext:!0}),decorators:Wr.ListNode(Wr.ObjectNode({type:o({validator:"resource",params:{pool:"worldgen/tree_decorator_type"}}),[Wr.Switch]:[{push:"type"}],[Wr.Case]:{"minecraft:alter_ground":{provider:r("block_state_provider")},"minecraft:beehive":{probability:Wr.NumberNode({min:0,max:1})},"minecraft:cocoa":{probability:Wr.NumberNode({min:0,max:1})}}},{context:"tree_decorator"}))}}},{context:"feature"})},{context:"feature"}),{default:()=>({type:"minecraft:decorated",config:{decorator:{type:"minecraft:count",config:{count:4}},feature:{type:"minecraft:tree",config:{max_water_depth:0,ignore_vines:!0,minimum_size:{},trunk_placer:{base_height:5,height_rand_a:2,height_rand_b:0},foliage_placer:{radius:2,offset:0,height:3}}}}})})),e.register("feature_size",Wr.Mod(Wr.ObjectNode({type:o({validator:"resource",params:{pool:"worldgen/feature_size_type"}}),min_clipped_height:Wr.Opt(Wr.NumberNode({min:0,max:80})),[Wr.Switch]:[{push:"type"}],[Wr.Case]:{"minecraft:two_layers_feature_size":{limit:Wr.Opt(Wr.NumberNode({integer:!0,min:0,max:81})),lower_size:Wr.Opt(Wr.NumberNode({integer:!0,min:0,max:16})),upper_size:Wr.Opt(Wr.NumberNode({integer:!0,min:0,max:16}))},"minecraft:three_layers_feature_size":{limit:Wr.Opt(Wr.NumberNode({integer:!0,min:0,max:80})),upper_limit:Wr.Opt(Wr.NumberNode({integer:!0,min:0,max:80})),lower_size:Wr.Opt(Wr.NumberNode({integer:!0,min:0,max:16})),middle_size:Wr.Opt(Wr.NumberNode({integer:!0,min:0,max:16})),upper_size:Wr.Opt(Wr.NumberNode({integer:!0,min:0,max:16}))}}},{disableSwitchContext:!0}),{default:()=>({type:"minecraft:two_layers_feature_size"})})),e.register("block_state_provider",Wr.Mod(Wr.ObjectNode({type:o({validator:"resource",params:{pool:"worldgen/block_state_provider_type"}}),[Wr.Switch]:[{push:"type"}],[Wr.Case]:{"minecraft:rotated_block_provider":{state:r("block_state")},"minecraft:simple_state_provider":{state:r("block_state")},"minecraft:weighted_state_provider":{entries:Wr.ListNode(Wr.Mod(Wr.ObjectNode({weight:Wr.NumberNode({integer:!0,min:1}),data:r("block_state")}),{default:()=>({data:{}})}))}}},{context:"block_state_provider"}),{default:()=>({type:"minecraft:simple_state_provider"})})),e.register("block_placer",Wr.Mod(Wr.ObjectNode({type:o({validator:"resource",params:{pool:"worldgen/block_placer_type"}}),[Wr.Switch]:[{push:"type"}],[Wr.Case]:{"minecraft:column_placer":{min_size:Wr.NumberNode({integer:!0}),extra_size:Wr.NumberNode({integer:!0})}}},{context:"block_placer"}),{default:()=>({type:"minecraft:simple_block_placer"})}))};var Kr={};Object.defineProperty(Kr,"__esModule",{value:!0}),Kr.initNoiseSettingsSchemas=void 0;const Gr=Le,Xr=ar;Kr.initNoiseSettingsSchemas=function(e,t){const r=Gr.Reference.bind(void 0,e),o=Gr.StringNode.bind(void 0,t);e.register("noise_settings",Gr.Mod(Gr.ObjectNode({name:Gr.Mod(o({validator:"resource",params:{pool:"$worldgen/noise_settings",isDefinition:!0}}),{enabled:e=>e.getArray().length>0}),bedrock_roof_position:Gr.NumberNode({integer:!0}),bedrock_floor_position:Gr.NumberNode({integer:!0}),sea_level:Gr.NumberNode({integer:!0}),disable_mob_generation:Gr.BooleanNode(),default_block:r("block_state"),default_fluid:r("block_state"),noise:Gr.ObjectNode({height:Gr.NumberNode({integer:!0}),density_factor:Gr.NumberNode(),density_offset:Gr.NumberNode(),size_horizontal:Gr.NumberNode({integer:!0}),size_vertical:Gr.NumberNode({integer:!0}),simplex_surface_noise:Gr.BooleanNode(),random_density_offset:Gr.Opt(Gr.BooleanNode()),island_noise_override:Gr.Opt(Gr.BooleanNode()),amplified:Gr.Opt(Gr.BooleanNode()),sampling:Gr.ObjectNode({xz_scale:Gr.NumberNode(),y_scale:Gr.NumberNode(),xz_factor:Gr.NumberNode(),y_factor:Gr.NumberNode()}),bottom_slide:Gr.ObjectNode({target:Gr.NumberNode({integer:!0}),size:Gr.NumberNode({integer:!0}),offset:Gr.NumberNode({integer:!0})}),top_slide:Gr.ObjectNode({target:Gr.NumberNode({integer:!0}),size:Gr.NumberNode({integer:!0}),offset:Gr.NumberNode({integer:!0})})}),structures:r("generator_structures")},{context:"noise_settings"}),{default:()=>Xr.DefaultNoiseSettings})),e.register("generator_structures",Gr.ObjectNode({stronghold:Gr.Opt(Gr.ObjectNode({distance:Gr.NumberNode({integer:!0,min:0,max:1023}),spread:Gr.NumberNode({integer:!0,min:0,max:1023}),count:Gr.NumberNode({integer:!0,min:1,max:4095})})),structures:Gr.MapNode(o({validator:"resource",params:{pool:"worldgen/structure_feature"}}),Gr.Mod(Gr.ObjectNode({spacing:Gr.NumberNode({integer:!0,min:0,max:4096}),separation:Gr.Mod(Gr.NumberNode({integer:!0,min:0,max:4096}),(e=>({validate:(t,r,o,i)=>(t.pop().push("spacing").get()<=r&&o.add(t,"error.separation_smaller_spacing"),e.validate(t,r,o,i))}))),salt:Gr.NumberNode({integer:!0,min:0})},{context:"generator_structure"}),{default:()=>({spacing:10,separation:5,salt:0})}))})),e.register("generator_layer",Gr.Mod(Gr.ObjectNode({block:o({validator:"resource",params:{pool:"block"}}),height:Gr.NumberNode({integer:!0,min:1})}),{default:()=>({block:"minecraft:stone",height:1})}))};var Vr={};Object.defineProperty(Vr,"__esModule",{value:!0}),Vr.initStructureFeatureSchemas=void 0;const Jr=Le;Vr.initStructureFeatureSchemas=function(e,t){const r=Jr.StringNode.bind(void 0,t),o={start_pool:r({validator:"resource",params:{pool:"$worldgen/template_pool"}}),size:Jr.NumberNode({integer:!0})};e.register("configured_structure_feature",Jr.Mod(Jr.ObjectNode({type:r({validator:"resource",params:{pool:"worldgen/structure_feature"}}),config:Jr.ObjectNode({[Jr.Switch]:["pop",{push:"type"}],[Jr.Case]:{"minecraft:bastion_remnant":o,"minecraft:buried_treasure":{probability:Jr.NumberNode({min:0,max:1})},"minecraft:mineshaft":{type:r({enum:["normal","mesa"]}),probability:Jr.NumberNode({min:0,max:1})},"minecraft:ocean_ruin":{biome_temp:r({enum:["cold","warm"]}),large_probability:Jr.NumberNode({min:0,max:1}),cluster_probability:Jr.NumberNode({min:0,max:1})},"minecraft:pillager_outpost":o,"minecraft:ruined_portal":{portal_type:r({enum:["standard","desert","jungle","mountain","nether","ocean","swamp"]})},"minecraft:shipwreck":{is_beached:Jr.Opt(Jr.BooleanNode())},"minecraft:village":o}},{context:"structure_feature",disableSwitchContext:!0})},{context:"structure_feature"}),{default:()=>({type:"minecraft:bastion_remnant",config:{start_pool:"minecraft:bastion/starts",size:6}})}))};var Zr={};Object.defineProperty(Zr,"__esModule",{value:!0}),Zr.initSurfaceBuilderSchemas=void 0;const Yr=Le;Zr.initSurfaceBuilderSchemas=function(e,t){const r=Yr.StringNode.bind(void 0,t),o=Yr.Reference.bind(void 0,e);e.register("configured_surface_builder",Yr.Mod(Yr.ObjectNode({type:r({validator:"resource",params:{pool:"worldgen/surface_builder"}}),config:Yr.ObjectNode({top_material:o("block_state"),under_material:o("block_state"),underwater_material:o("block_state")},{context:"surface_builder"})},{context:"surface_builder"}),{default:()=>({type:"minecraft:default",config:{top_material:{Name:"minecraft:grass_block",Properties:{snowy:"false"}},under_material:{Name:"minecraft:dirt"},underwater_material:{Name:"minecraft:gravel"}}})}))};var Qr={};Object.defineProperty(Qr,"__esModule",{value:!0}),Qr.initTemplatePoolSchemas=void 0;const eo=Le;Qr.initTemplatePoolSchemas=function(e,t){const r=eo.Reference.bind(void 0,e),o=eo.StringNode.bind(void 0,t),i=eo.ChoiceNode([{type:"string",node:o({validator:"resource",params:{pool:"$worldgen/processor_list"}}),change:e=>{}},{type:"object",node:r("processor_list"),change:e=>({processors:[{processor_type:"minecraft:nop"}]})}]);e.register("template_pool",eo.Mod(eo.ObjectNode({name:o(),fallback:o(),elements:eo.ListNode(r("template_weighted_element"))},{context:"template_pool"}),{default:()=>({fallback:"minecraft:empty",elements:[{weight:1,element:{element_type:"minecraft:single_pool_element",projection:"rigid",processors:"minecraft:empty"}}]})})),e.register("template_weighted_element",eo.Mod(eo.ObjectNode({weight:eo.NumberNode({integer:!0,min:1}),element:r("template_element")},{category:"pool"}),{default:()=>({weight:1,element:{element_type:"minecraft:single_pool_element",projection:"rigid",processors:"minecraft:empty"}})})),e.register("template_element",eo.Mod(eo.ObjectNode({element_type:o({validator:"resource",params:{pool:"worldgen/structure_pool_element"}}),projection:o({enum:["rigid","terrain_matching"]}),[eo.Switch]:[{push:"element_type"}],[eo.Case]:{"minecraft:feature_pool_element":{feature:o({validator:"resource",params:{pool:"$worldgen/configured_feature"}})},"minecraft:legacy_single_pool_element":{location:o({validator:"resource",params:{pool:"$structure"}}),processors:i},"minecraft:list_pool_element":{elements:eo.ListNode(r("template_element"))},"minecraft:single_pool_element":{location:o({validator:"resource",params:{pool:"$structure"}}),processors:i}}},{context:"template_element",disableSwitchContext:!0}),{default:()=>({element_type:"minecraft:single_pool_element",projection:"rigid",processors:"minecraft:empty"})}))},Object.defineProperty(zr,"__esModule",{value:!0}),zr.initWorldgenSchemas=void 0;const to=Rr,ro=Ar,oo=qr,io=Fr,ao=Kr,no=Er,co=Vr,so=Zr,lo=Qr;zr.initWorldgenSchemas=function(e,t){to.initBiomeSchemas(e,t),ro.initCarverSchemas(e,t),oo.initDecoratorSchemas(e,t),io.initFeatureSchemas(e,t),ao.initNoiseSettingsSchemas(e,t),no.initProcessorListSchemas(e,t),co.initStructureFeatureSchemas(e,t),so.initSurfaceBuilderSchemas(e,t),lo.initTemplatePoolSchemas(e,t)};var mo={};Object.defineProperty(mo,"__esModule",{value:!0}),mo.initWorldSettingsSchemas=void 0;const _o=Le;mo.initWorldSettingsSchemas=function(e,t){const r=_o.Reference.bind(void 0,e),o=_o.StringNode.bind(void 0,t);e.register("world_settings",_o.Mod(_o.ObjectNode({generate_features:_o.BooleanNode(),bonus_chest:_o.BooleanNode(),seed:_o.NumberNode({integer:!0}),dimensions:_o.MapNode(o({validator:"resource",params:{pool:"$dimension"}}),r("dimension"))},{context:"world_settings"}),{default:()=>{const e=Math.floor(4294967296*Math.random())-2147483648;return{generate_features:!0,bonus_chest:!1,seed:e,dimensions:{"minecraft:overworld":{type:"minecraft:overworld",generator:{type:"minecraft:noise",seed:e,biome_source:{type:"minecraft:vanilla_layered",seed:e},settings:"minecraft:overworld"}},"minecraft:the_nether":{type:"minecraft:the_nether",generator:{type:"minecraft:noise",seed:e,biome_source:{type:"minecraft:multi_noise",seed:e,humidity_noise:{firstOctave:-7,amplitudes:[1,1]},altitude_noise:{firstOctave:-7,amplitudes:[1,1]},weirdness_noise:{firstOctave:-7,amplitudes:[1,1]},temperature_noise:{firstOctave:-7,amplitudes:[1,1]},biomes:[{parameters:{altitude:0,weirdness:0,offset:0,temperature:0,humidity:0},biome:"minecraft:nether_wastes"},{parameters:{altitude:0,weirdness:0,offset:0,temperature:0,humidity:-.5},biome:"minecraft:soul_sand_valley"},{parameters:{altitude:0,weirdness:0,offset:0,temperature:.4,humidity:0},biome:"minecraft:crimson_forest"},{parameters:{altitude:0,weirdness:0,offset:.375,temperature:0,humidity:.5},biome:"minecraft:warped_forest"},{parameters:{altitude:0,weirdness:0,offset:.175,temperature:-.5,humidity:0},biome:"minecraft:basalt_deltas"}]},settings:"minecraft:nether"}},"minecraft:the_end":{type:"minecraft:the_end",generator:{type:"minecraft:noise",seed:e,biome_source:{type:"minecraft:the_end",seed:e},settings:"minecraft:end"}}}}}}))},Object.defineProperty(or,"__esModule",{value:!0}),or.initSchemas=void 0;const po=ir,uo=ar,fo=sr,go=mr,bo=ur,ho=br,vo=Or,yo=xr,No=Sr,Oo=Cr,ko=Lr,xo=zr,wo=mo;or.initSchemas=function(e,t){uo.initCommonSchemas(e,t),po.initAdvancementSchemas(e,t),fo.initConditionSchemas(e,t),bo.initDimensionTypeSchemas(e,t),go.initDimensionSchemas(e,t),ho.initLootTableSchemas(e,t),vo.initPackMcmetaSchemas(e,t),yo.initPredicatesSchemas(e,t),No.initRecipeSchemas(e,t),Oo.initTagsSchemas(e,t),ko.initTextComponentSchemas(e,t),xo.initWorldgenSchemas(e,t),wo.initWorldSettingsSchemas(e,t)};var jo=Ce&&Ce.__createBinding||(Object.create?function(e,t,r,o){void 0===o&&(o=r),Object.defineProperty(e,o,{enumerable:!0,get:function(){return t[r]}})}:function(e,t,r,o){void 0===o&&(o=r),e[o]=t[r]}),So=Ce&&Ce.__setModuleDefault||(Object.create?function(e,t){Object.defineProperty(e,"default",{enumerable:!0,value:t})}:function(e,t){e.default=t}),Mo=Ce&&Ce.__importStar||function(e){if(e&&e.__esModule)return e;var t={};if(null!=e)for(var r in e)"default"!==r&&Object.hasOwnProperty.call(e,r)&&jo(t,e,r);return So(t,e),t};Object.defineProperty(tr,"__esModule",{value:!0});var Co=tr.getSchemas=tr.getCollections=void 0;const Po=Le,Lo=rr,Bo=or;var zo=tr.lootContext=Mo(hr);var Ro=tr.getCollections=function(){const e=new Po.CollectionRegistry;return Lo.initCollections(e),e};Co=tr.getSchemas=function(e){const t=new Po.SchemaRegistry;return Bo.initSchemas(t,e),t};var $o=Object.freeze(Object.assign(Object.create(null),tr,{[Symbol.toStringTag]:"Module",get getSchemas(){return Co},get getCollections(){return Ro},lootContext:zo,default:tr})),Ao={},To={};Object.defineProperty(To,"__esModule",{value:!0}),To.initCollections=void 0,To.initCollections=function(e){e.register("advancement_trigger",["minecraft:bee_nest_destroyed","minecraft:bred_animals","minecraft:brewed_potion","minecraft:changed_dimension","minecraft:channeled_lightning","minecraft:construct_beacon","minecraft:consume_item","minecraft:cured_zombie_villager","minecraft:effects_changed","minecraft:enchanted_item","minecraft:enter_block","minecraft:entity_hurt_player","minecraft:entity_killed_player","minecraft:filled_bucket","minecraft:fishing_rod_hooked","minecraft:hero_of_the_village","minecraft:impossible","minecraft:inventory_changed","minecraft:item_durability_changed","minecraft:item_used_on_block","minecraft:killed_by_crossbow","minecraft:levitation","minecraft:lightning_strike","minecraft:location","minecraft:nether_travel","minecraft:placed_block","minecraft:player_generates_container_loot","minecraft:player_hurt_entity","minecraft:player_interacted_with_entity","minecraft:player_killed_entity","minecraft:recipe_unlocked","minecraft:shot_crossbow","minecraft:slept_in_bed","minecraft:slide_down_block","minecraft:started_riding","minecraft:summoned_entity","minecraft:tame_animal","minecraft:target_hit","minecraft:tick","minecraft:thrown_item_picked_up_by_entity","minecraft:used_ender_eye","minecraft:used_totem","minecraft:using_item","minecraft:villager_trade","minecraft:voluntary_exile"]),e.register("dimension",["minecraft:overworld","minecraft:the_nether","minecraft:the_end"]),e.register("dimension_type",["minecraft:overworld","minecraft:the_nether","minecraft:the_end"]),e.register("keybind",["key.advancements","key.attack","key.back","key.chat","key.command","key.drop","key.forward","key.fullscreen","key.hotbar.1","key.hotbar.2","key.hotbar.3","key.hotbar.4","key.hotbar.5","key.hotbar.6","key.hotbar.7","key.hotbar.8","key.hotbar.9","key.inventory","key.jump","key.left","key.loadToolbarActivator","key.pickItem","key.playerlist","key.right","key.saveToolbarActivator","key.screenshot","key.smoothCamera","key.sneak","key.spectatorOutlines","key.sprint","key.swapOffhand","key.togglePerspective","key.use"]),e.register("slot",["mainhand","offhand","head","chest","legs","feet"]),e.register("gamemode",["survival","creative","adventure","spectator"]),e.register("worldgen/noise_settings",["minecraft:overworld","minecraft:nether","minecraft:end","minecraft:amplified","minecraft:caves","minecraft:floating_islands"]),e.register("entity_source",["this","killer","direct_killer","killer_player"]),e.register("copy_source",["block_entity","this","killer","killer_player"]),e.register("loot_table_apply_bonus_formula",["minecraft:uniform_bonus_count","minecraft:binomial_with_bonus_count","minecraft:ore_drops"]),e.register("map_decoration",["mansion","monument","player","frame","red_marker","blue_marker","target_x","target_point","player_off_map","player_off_limits","red_x","banner_white","banner_orange","banner_magenta","banner_light_blue","banner_yellow","banner_lime","banner_pink","banner_gray","banner_light_gray","banner_cyan","banner_purple","banner_blue","banner_brown","banner_green","banner_red","banner_black"]),e.register("map_feature",["bastion_remnant","buried_treasure","desert_pyramid","endcity","fortress","igloo","jungle_pyramid","mansion","mineshaft","monument","nether_fossil","ocean_ruin","pillager_outpost","ruined_portal","shipwreck","stronghold","swamp_hut","village"]),e.register("recipe_group",["bed","light_gray_dye","iron_ingot","wooden_stairs","black_dye","stained_terracotta","dyed_bed","magenta_dye","bark","rabbit_stew","light_blue_dye","wooden_fence_gate","planks","stained_glass","wooden_door","stained_glass_pane","wooden_fence","sticks","concrete_powder","wooden_pressure_plate","boat","brown_dye","yellow_dye","bonemeal","red_dye","wooden_trapdoor","wooden_button","gold_ingot","pink_dye","wooden_slab","orange_dye","carpet","sign","wool","sugar","blue_dye","white_dye","banner","netherite_ingot"]),e.register("worldgen/configured_feature",["minecraft:acacia","minecraft:bamboo_light","minecraft:bamboo_vegetation","minecraft:bamboo","minecraft:basalt_blobs","minecraft:basalt_pillar","minecraft:birch_bees_0002","minecraft:birch_bees_002","minecraft:birch_bees_005","minecraft:birch_other","minecraft:birch_tall","minecraft:birch","minecraft:blackstone_blobs","minecraft:blue_ice","minecraft:bonus_chest","minecraft:brown_mushroom_giant","minecraft:brown_mushroom_nether","minecraft:brown_mushroom_normal","minecraft:brown_mushroom_swamp","minecraft:brown_mushroom_taiga","minecraft:chorus_plant","minecraft:crimson_forest_vegetation","minecraft:crimson_fungi_planted","minecraft:crimson_fungi","minecraft:dark_forest_vegetation_brown","minecraft:dark_forest_vegetation_red","minecraft:dark_oak","minecraft:delta","minecraft:desert_well","minecraft:disk_clay","minecraft:disk_gravel","minecraft:disk_sand","minecraft:end_gateway_delayed","minecraft:end_gateway","minecraft:end_island_decorated","minecraft:end_island","minecraft:end_spike","minecraft:fancy_oak_bees_0002","minecraft:fancy_oak_bees_002","minecraft:fancy_oak_bees_005","minecraft:fancy_oak","minecraft:flower_default","minecraft:flower_forest","minecraft:flower_plain_decorated","minecraft:flower_plain","minecraft:flower_swamp","minecraft:flower_warm","minecraft:forest_flower_trees","minecraft:forest_flower_vegetation_common","minecraft:forest_flower_vegetation","minecraft:forest_rock","minecraft:fossil","minecraft:freeze_top_layer","minecraft:glowstone_extra","minecraft:glowstone","minecraft:huge_brown_mushroom","minecraft:huge_red_mushroom","minecraft:ice_patch","minecraft:ice_spike","minecraft:iceberg_blue","minecraft:iceberg_packed","minecraft:jungle_bush","minecraft:jungle_tree_no_vine","minecraft:jungle_tree","minecraft:kelp_cold","minecraft:kelp_warm","minecraft:lake_lava","minecraft:lake_water","minecraft:large_basalt_columns","minecraft:mega_jungle_tree","minecraft:mega_pine","minecraft:mega_spruce","minecraft:monster_room","minecraft:mushroom_field_vegetation","minecraft:nether_sprouts","minecraft:oak_badlands","minecraft:oak_bees_0002","minecraft:oak_bees_002","minecraft:oak_bees_005","minecraft:oak","minecraft:ore_andesite","minecraft:ore_blackstone","minecraft:ore_coal","minecraft:ore_debris_large","minecraft:ore_debris_small","minecraft:ore_diamond","minecraft:ore_diorite","minecraft:ore_dirt","minecraft:ore_emerald","minecraft:ore_gold_deltas","minecraft:ore_gold_extra","minecraft:ore_gold_nether","minecraft:ore_gold","minecraft:ore_granite","minecraft:ore_gravel_nether","minecraft:ore_gravel","minecraft:ore_infested","minecraft:ore_iron","minecraft:ore_lapis","minecraft:ore_magma","minecraft:ore_quartz_deltas","minecraft:ore_quartz_nether","minecraft:ore_redstone","minecraft:ore_soul_sand","minecraft:patch_berry_bush","minecraft:patch_berry_decorated","minecraft:patch_berry_sparse","minecraft:patch_brown_mushroom","minecraft:patch_cactus_decorated","minecraft:patch_cactus_desert","minecraft:patch_cactus","minecraft:patch_crimson_roots","minecraft:patch_dead_bush_2","minecraft:patch_dead_bush_badlands","minecraft:patch_dead_bush","minecraft:patch_fire","minecraft:patch_grass_badlands","minecraft:patch_grass_forest","minecraft:patch_grass_jungle","minecraft:patch_grass_normal","minecraft:patch_grass_plain","minecraft:patch_grass_savanna","minecraft:patch_grass_taiga_2","minecraft:patch_grass_taiga","minecraft:patch_large_fern","minecraft:patch_melon","minecraft:patch_pumpkin","minecraft:patch_red_mushroom","minecraft:patch_soul_fire","minecraft:patch_sugar_cane_badlands","minecraft:patch_sugar_cane_desert","minecraft:patch_sugar_cane_swamp","minecraft:patch_sugar_cane","minecraft:patch_sunflower","minecraft:patch_taiga_grass","minecraft:patch_tall_grass_2","minecraft:patch_tall_grass","minecraft:patch_waterlilly","minecraft:pile_hay","minecraft:pile_ice","minecraft:pile_melon","minecraft:pile_pumpkin","minecraft:pile_snow","minecraft:pine","minecraft:plain_vegetation","minecraft:red_mushroom_giant","minecraft:red_mushroom_nether","minecraft:red_mushroom_normal","minecraft:red_mushroom_swamp","minecraft:red_mushroom_taiga","minecraft:sea_pickle","minecraft:seagrass_cold","minecraft:seagrass_deep_cold","minecraft:seagrass_deep_warm","minecraft:seagrass_deep","minecraft:seagrass_normal","minecraft:seagrass_river","minecraft:seagrass_simple","minecraft:seagrass_swamp","minecraft:seagrass_warm","minecraft:small_basalt_columns","minecraft:spring_closed_double","minecraft:spring_closed","minecraft:spring_delta","minecraft:spring_lava_double","minecraft:spring_lava","minecraft:spring_open","minecraft:spring_water","minecraft:spruce_snowy","minecraft:spruce","minecraft:super_birch_bees_0002","minecraft:swamp_tree","minecraft:taiga_vegetation","minecraft:trees_birch","minecraft:trees_giant_spruce","minecraft:trees_giant","minecraft:trees_jungle_edge","minecraft:trees_jungle","minecraft:trees_mountain_edge","minecraft:trees_mountain","minecraft:trees_savanna","minecraft:trees_shattered_savanna","minecraft:trees_water","minecraft:twisting_vines","minecraft:vines","minecraft:void_start_platform","minecraft:warm_ocean_vegetation","minecraft:warped_forest_vegetation","minecraft:warped_fungi_planted","minecraft:warped_fungi","minecraft:weeping_vines"]),e.register("worldgen/configured_structure_feature",["minecraft:bastion_remnant","minecraft:buried_treasure","minecraft:desert_pyramid","minecraft:end_city","minecraft:fortress","minecraft:igloo","minecraft:jungle_pyramid","minecraft:mansion","minecraft:mineshaft_mesa","minecraft:mineshaft","minecraft:monument","minecraft:nether_fossil","minecraft:ocean_ruin_cold","minecraft:ocean_ruin_warm","minecraft:pillager_outpost","minecraft:ruined_portal_desert","minecraft:ruined_portal_jungle","minecraft:ruined_portal_mountain","minecraft:ruined_portal_nether","minecraft:ruined_portal_ocean","minecraft:ruined_portal_swamp","minecraft:ruined_portal","minecraft:shipwreck_beached","minecraft:shipwreck","minecraft:stronghold","minecraft:swamp_hut","minecraft:village_desert","minecraft:village_plains","minecraft:village_savanna","minecraft:village_snowy","minecraft:village_taiga"]),e.register("worldgen/configured_surface_builder",["minecraft:badlands","minecraft:basalt_deltas","minecraft:crimson_forest","minecraft:desert","minecraft:end","minecraft:eroded_badlands","minecraft:frozen_ocean","minecraft:full_sand","minecraft:giant_tree_taiga","minecraft:grass","minecraft:gravelly_mountain","minecraft:ice_spikes","minecraft:mountain","minecraft:mycelium","minecraft:nether","minecraft:nope","minecraft:ocean_sand","minecraft:shattered_savanna","minecraft:soul_sand_valley","minecraft:stone","minecraft:swamp","minecraft:warped_forest","minecraft:wooded_badlands"]),e.register("biome_category",["beach","desert","extreme_hills","forest","icy","jungle","mesa","mushroom","nether","none","ocean","plains","river","savanna","swamp","taiga","the_end"]),e.register("heightmap_type",["MOTION_BLOCKING","MOTION_BLOCKING_NO_LEAVES","OCEAN_FLOOR","OCEAN_FLOOR_WG","WORLD_SURFACE","WORLD_SURFACE_WG"]),e.register("generation_step",["air","liquid"]),e.register("loot_context_type",["minecraft:empty","minecraft:chest","minecraft:command","minecraft:selector","minecraft:fishing","minecraft:entity","minecraft:gift","minecraft:barter","minecraft:advancement_reward","minecraft:advancement_entity","minecraft:generic","minecraft:block"]),e.register("banner_pattern",["base","square_bottom_left","square_bottom_right","square_top_left","square_top_right","stripe_bottom","stripe_top","stripe_left","stripe_right","stripe_center","stripe_middle","stripe_downright","stripe_downleft","small_stripes","cross","straight_cross","triangle_bottom","triangle_top","triangles_bottom","triangles_top","diagonal_left","diagonal_up_right","diagonal_up_left","diagonal_right","circle","rhombus","half_vertical","half_horizontal","half_vertical_right","half_horizontal_bottom","border","curly_border","gradient","gradient_up","bricks","globe","creeper","skull","flower","mojang","piglin"]),e.register("dye_color",["white","orange","magenta","light_blue","yellow","lime","pink","gray","light_gray","cyan","purple","blue","brown","green","red","black"])};var qo={},Io={};Object.defineProperty(Io,"__esModule",{value:!0}),Io.initAdvancementSchemas=void 0;const Do=Le;Io.initAdvancementSchemas=function(e,t){const r=Do.Reference.bind(void 0,e),o=Do.StringNode.bind(void 0,t),i=Do.ChoiceNode([{type:"object",node:Do.Opt(r("entity_predicate")),change:e=>{var t,r;return null!==(r=null===(t=e[0])||void 0===t?void 0:t.predicate)&&void 0!==r?r:{}}},{type:"list",node:Do.ListNode(r("condition")),change:e=>[{condition:"minecraft:entity_properties",predicate:e}]}],{context:"conditions"});e.register("advancement",Do.Mod(Do.ObjectNode({display:Do.Opt(Do.Mod(Do.ObjectNode({icon:Do.ObjectNode({item:o({validator:"resource",params:{pool:"item"}}),nbt:Do.Opt(o({validator:"nbt",params:{registry:{category:"minecraft:item",id:["pop",{push:"item"}]}}}))}),title:r("text_component"),description:r("text_component"),background:Do.Opt(o()),frame:Do.Opt(o({enum:["task","challenge","goal"]})),show_toast:Do.Opt(Do.BooleanNode()),announce_to_chat:Do.Opt(Do.BooleanNode()),hidden:Do.Opt(Do.BooleanNode())}),{default:()=>({icon:{item:"minecraft:stone"},title:"",description:""})})),parent:Do.Opt(o({validator:"resource",params:{pool:"$advancement"}})),criteria:Do.MapNode(o(),r("advancement_criteria")),requirements:Do.Opt(Do.ListNode(Do.ListNode(o()))),rewards:Do.Opt(Do.ObjectNode({function:Do.Opt(o({validator:"resource",params:{pool:"$function"}})),loot:Do.Opt(Do.ListNode(o({validator:"resource",params:{pool:"$loot_table"}}))),recipes:Do.Opt(Do.ListNode(o({validator:"resource",params:{pool:"$recipe"}}))),experience:Do.Opt(Do.NumberNode({integer:!0}))}))},{context:"advancement"}),{default:()=>({criteria:{requirement:{trigger:"minecraft:location"}}})})),e.register("advancement_criteria",Do.ObjectNode({trigger:o({validator:"resource",params:{pool:t.get("advancement_trigger")}}),conditions:Do.Opt(Do.ObjectNode({player:Do.Mod(i,{enabled:e=>"minecraft:impossible"!==e.pop().push("trigger").get()}),[Do.Switch]:["pop",{push:"trigger"}],[Do.Case]:{"minecraft:bee_nest_destroyed":{block:Do.Opt(o({validator:"resource",params:{pool:"block"}})),num_bees_inside:Do.Opt(Do.NumberNode({integer:!0})),item:Do.Opt(r("item_predicate"))},"minecraft:bred_animals":{parent:i,partner:i,child:i},"minecraft:brewed_potion":{potion:Do.Opt(o({validator:"resource",params:{pool:"potion"}}))},"minecraft:changed_dimension":{from:Do.Opt(o({validator:"resource",params:{pool:"$dimension"}})),to:Do.Opt(o({validator:"resource",params:{pool:"$dimension"}}))},"minecraft:channeled_lightning":{victims:Do.Opt(Do.ListNode(i))},"minecraft:construct_beacon":{level:r("int_bounds")},"minecraft:consume_item":{item:Do.Opt(r("item_predicate"))},"minecraft:cured_zombie_villager":{villager:i,zombie:i},"minecraft:effects_changed":{effects:Do.Opt(Do.MapNode(o({validator:"resource",params:{pool:"mob_effect"}}),Do.ObjectNode({amplifier:r("int_bounds"),duration:r("int_bounds")}))),source:Do.Opt(i)},"minecraft:enter_block":{block:Do.Opt(o({validator:"resource",params:{pool:"block"}})),state:Do.Opt(Do.MapNode(o(),o(),{validation:{validator:"block_state_map",params:{id:["pop",{push:"block"}]}}}))},"minecraft:enchanted_item":{levels:r("int_bounds"),item:Do.Opt(r("item_predicate"))},"minecraft:entity_hurt_player":{damage:Do.Opt(r("damage_predicate"))},"minecraft:entity_killed_player":{entity:i,killing_blow:Do.Opt(r("damage_source_predicate"))},"minecraft:filled_bucket":{item:Do.Opt(r("item_predicate"))},"minecraft:fishing_rod_hooked":{entity:i,item:Do.Opt(r("item_predicate"))},"minecraft:hero_of_the_village":{location:Do.Opt(r("location_predicate"))},"minecraft:inventory_changed":{slots:Do.Opt(Do.ObjectNode({empty:r("int_bounds"),occupied:r("int_bounds"),full:r("int_bounds")})),items:Do.Opt(Do.ListNode(r("item_predicate")))},"minecraft:item_durability_changed":{delta:r("int_bounds"),durability:r("int_bounds"),item:Do.Opt(r("item_predicate"))},"minecraft:item_used_on_block":{item:Do.Opt(r("item_predicate")),location:Do.Opt(r("location_predicate"))},"minecraft:killed_by_crossbow":{unique_entity_types:r("int_bounds"),victims:Do.Opt(Do.ListNode(i))},"minecraft:levitation":{distance:r("distance_predicate"),duration:r("int_bounds")},"minecraft:lightning_strike":{lightning:i,bystander:i},"minecraft:location":{location:Do.Opt(r("location_predicate"))},"minecraft:nether_travel":{distance:r("distance_predicate"),entered:Do.Opt(r("location_predicate")),exited:Do.Opt(r("location_predicate"))},"minecraft:placed_block":{block:Do.Opt(o({validator:"resource",params:{pool:"block"}})),state:Do.Opt(Do.MapNode(o(),o(),{validation:{validator:"block_state_map",params:{id:["pop",{push:"block"}]}}})),item:Do.Opt(r("item_predicate")),location:Do.Opt(r("location_predicate"))},"minecraft:player_generates_container_loot":{loot_table:o({validator:"resource",params:{pool:"$loot_table"}})},"minecraft:player_hurt_entity":{damage:Do.Opt(r("damage_predicate")),entity:i},"minecraft:player_interacted_with_entity":{item:Do.Opt(r("item_predicate")),entity:i},"minecraft:player_killed_entity":{entity:i,killing_blow:Do.Opt(r("damage_source_predicate"))},"minecraft:recipe_unlocked":{recipe:o({validator:"resource",params:{pool:"$recipe"}})},"minecraft:slept_in_bed":{location:Do.Opt(r("location_predicate"))},"minecraft:slide_down_block":{block:Do.Opt(o({validator:"resource",params:{pool:"block"}}))},"minecraft:shot_crossbow":{item:Do.Opt(r("item_predicate"))},"minecraft:summoned_entity":{entity:i},"minecraft:tame_animal":{entity:i},"minecraft:target_hit":{projectile:i,shooter:i,signal_strength:r("int_bounds")},"minecraft:thrown_item_picked_up_by_entity":{entity:Do.Opt(r("entity_predicate")),item:Do.Opt(r("item_predicate"))},"minecraft:used_ender_eye":{distance:r("float_bounds")},"minecraft:used_totem":{item:Do.Opt(r("item_predicate"))},"minecraft:using_item":{item:Do.Opt(r("item_predicate"))},"minecraft:villager_trade":{villager:Do.Opt(r("entity_predicate")),item:Do.Opt(r("item_predicate"))},"minecraft:voluntary_exile":{location:r("location_predicate")}}},{context:"criterion"}))},{category:"predicate",context:"criterion"}))};var Fo={};!function(e){Object.defineProperty(e,"__esModule",{value:!0}),e.initCommonSchemas=e.IntProvider=e.FloatProvider=e.NoiseSettingsPresets=e.DefaultNoiseSettings=e.DimensionTypePresets=e.DefaultDimensionType=e.FunctionCases=e.ConditionCases=void 0;const t=Le;e.DefaultDimensionType={ultrawarm:!1,natural:!0,piglin_safe:!1,respawn_anchor_works:!1,bed_works:!0,has_raids:!0,has_skylight:!0,has_ceiling:!1,coordinate_scale:1,ambient_light:0,logical_height:256,infiniburn:"minecraft:infiniburn_overworld",min_y:0,height:256},e.DefaultNoiseSettings={name:"minecraft:overworld",bedrock_roof_position:-10,bedrock_floor_position:0,sea_level:63,disable_mob_generation:!1,noise_caves_enabled:!0,aquifers_enabled:!0,deepslate_enabled:!0,noise:{min_y:0,height:256,density_factor:1,density_offset:-.46875,simplex_surface_noise:!0,random_density_offset:!0,size_horizontal:1,size_vertical:2,sampling:{xz_scale:1,y_scale:1,xz_factor:80,y_factor:160},top_slide:{target:-10,size:3,offset:0},bottom_slide:{target:-30,size:0,offset:0}},default_block:{Name:"minecraft:stone"},default_fluid:{Name:"minecraft:water",Properties:{level:"0"}}},e.initCommonSchemas=function(r,o){const i=t.StringNode.bind(void 0,o),a=t.Reference.bind(void 0,r);r.register("block_state",t.Mod(t.ObjectNode({Name:i({validator:"resource",params:{pool:"block"}}),Properties:t.Opt(t.MapNode(i(),i(),{validation:{validator:"block_state_map",params:{id:["pop",{push:"Name"}]}}}))},{context:"block_state"}),{default:()=>({Name:"minecraft:stone"})})),r.register("fluid_state",t.Mod(t.ObjectNode({Name:i({validator:"resource",params:{pool:"fluid"}}),Properties:t.Opt(t.MapNode(i(),i()))},{context:"fluid_state"}),{default:()=>({Name:"minecraft:water",Properties:{level:"0"}})})),r.register("block_pos",t.Mod(t.ListNode(t.NumberNode({integer:!0}),{minLength:3,maxLength:3}),{default:()=>[0,0,0]}));const n=e=>t.Opt(t.ChoiceNode([{type:"number",node:t.NumberNode({integer:e}),change:e=>{var t,r;return void 0===e?0:null!==(r=null!==(t=e.min)&&void 0!==t?t:e.max)&&void 0!==r?r:0}},{type:"object",node:t.ObjectNode({min:t.Opt(t.NumberNode({integer:e})),max:t.Opt(t.NumberNode({integer:e}))},{context:"range"}),change:e=>({min:null!=e?e:0,max:null!=e?e:0})}]));r.register("int_bounds",n(!0)),r.register("float_bounds",n()),r.register("int_range",t.ChoiceNode([{type:"object",node:t.ObjectNode({min:t.Opt(a("number_provider")),max:t.Opt(a("number_provider"))})},{type:"number",node:t.NumberNode({integer:!0})}],{context:"range"}));const c=(e,r,o,a,n,c,s)=>{let l={};n&&Object.keys(s[n]).forEach((e=>{l[e]=t.Mod(s[n][e],{enabled:e=>void 0===e.push("type").get()})}));const d=t.ObjectNode(m({type:t.Mod(t.Opt(i({validator:"resource",params:{pool:e}})),{hidden:()=>!0}),[t.Switch]:[{push:"type"}],[t.Case]:s},l),{context:c,disableSwitchContext:!0}),_=[{type:r,node:s[a][o]}];return n&&_.push({type:"object",priority:-1,node:d}),Object.keys(s).forEach((e=>{_.push({type:e,match:t=>{var r;if("minecraft:"+(null===(r=null==t?void 0:t.type)||void 0===r?void 0:r.replace(/^minecraft:/,""))===e)return!0;const o=t?Object.keys(t):[];return"object"==typeof t&&(0===(null==o?void 0:o.length)||1===(null==o?void 0:o.length)&&"type"===(null==o?void 0:o[0]))},node:d,change:t=>({type:e})})})),t.ChoiceNode(_,{context:c,choiceContext:`${c}.type`})};r.register("number_provider",c("loot_number_provider_type","number","value","minecraft:constant","minecraft:uniform","number_provider",{"minecraft:constant":{value:t.NumberNode()},"minecraft:uniform":{min:a("number_provider"),max:a("number_provider")},"minecraft:binomial":{n:a("number_provider"),p:a("number_provider")},"minecraft:score":{target:a("scoreboard_name_provider"),score:i({validator:"objective"}),scale:t.Opt(t.NumberNode())}})),r.register("scoreboard_name_provider",c("loot_score_provider_type","string","target","minecraft:context",null,"score_provider",{"minecraft:fixed":{name:i({validator:"entity",params:{amount:"multiple",type:"entities",isScoreHolder:!0}})},"minecraft:context":{target:t.Mod(i({enum:"entity_source"}),{default:()=>"this"})}})),r.register("nbt_provider",c("loot_nbt_provider_type","string","target","minecraft:context",null,"nbt_provider",{"minecraft:storage":{source:i({validator:"resource",params:{pool:"$storage"}})},"minecraft:context":{target:t.Mod(i({enum:"copy_source"}),{default:()=>"this"})}})),e.FloatProvider=e=>c("float_provider_type","number","value","minecraft:constant",null,"float_provider",{"minecraft:constant":{value:t.NumberNode(e)},"minecraft:uniform":{value:t.ObjectNode({min_inclusive:t.NumberNode(e),max_exclusive:t.NumberNode(e)})},"minecraft:clamped_normal":{value:t.ObjectNode({min:t.NumberNode(),max:t.NumberNode(),mean:t.NumberNode(),deviation:t.NumberNode()})},"minecraft:trapezoid":{value:t.ObjectNode({min:t.NumberNode(),max:t.NumberNode(),plateau:t.NumberNode()})}}),r.register("float_provider",e.FloatProvider()),e.IntProvider=e=>c("int_provider_type","number","value","minecraft:constant",null,"int_provider",{"minecraft:constant":{value:t.NumberNode(m({integer:!0},e))},"minecraft:uniform":{value:t.ObjectNode({min_inclusive:t.NumberNode(m({integer:!0},e)),max_inclusive:t.NumberNode(m({integer:!0},e))})},"minecraft:biased_to_bottom":{value:t.ObjectNode({min_inclusive:t.NumberNode(m({integer:!0},e)),max_inclusive:t.NumberNode(m({integer:!0},e))})},"minecraft:clamped":{value:t.ObjectNode({min_inclusive:t.NumberNode(m({integer:!0},e)),max_inclusive:t.NumberNode(m({integer:!0},e)),source:a("int_provider")})}}),r.register("int_provider",e.IntProvider()),r.register("vertical_anchor",t.ChoiceNode(["absolute","above_bottom","below_top"].map((e=>({type:e,match:t=>void 0!==(null==t?void 0:t[e]),change:t=>{var r,o,i;return{[e]:null!==(i=null!==(o=null!==(r=t.absolute)&&void 0!==r?r:t.above_bottom)&&void 0!==o?o:t.below_top)&&void 0!==i?i:0}},node:t.ObjectNode({[e]:t.NumberNode({integer:!0,min:-2048,max:2047})})}))),{context:"vertical_anchor"})),r.register("height_provider",c("height_provider_type","number","value","minecraft:constant",null,"height_provider",{"minecraft:constant":{value:a("vertical_anchor")},"minecraft:uniform":{min_inclusive:a("vertical_anchor"),max_inclusive:a("vertical_anchor")},"minecraft:biased_to_bottom":{min_inclusive:a("vertical_anchor"),max_inclusive:a("vertical_anchor"),inner:t.Opt(t.NumberNode({integer:!0,min:1}))},"minecraft:very_biased_to_bottom":{min_inclusive:a("vertical_anchor"),max_inclusive:a("vertical_anchor"),inner:t.Opt(t.NumberNode({integer:!0,min:1}))},"minecraft:trapezoid":{min_inclusive:a("vertical_anchor"),max_inclusive:a("vertical_anchor"),plateau:t.Opt(t.NumberNode({integer:!0}))}})),e.ConditionCases=(e=i({enum:"entity_source"}))=>({"minecraft:alternative":{terms:t.ListNode(a("condition"))},"minecraft:block_state_property":{block:i({validator:"resource",params:{pool:"block"}}),properties:t.MapNode(i(),i(),{validation:{validator:"block_state_map",params:{id:["pop",{push:"block"}]}}})},"minecraft:damage_source_properties":{predicate:a("damage_source_predicate")},"minecraft:entity_properties":{entity:e,predicate:a("entity_predicate")},"minecraft:entity_scores":{entity:e,scores:t.MapNode(i({validator:"objective"}),a("int_range"))},"minecraft:inverted":{term:a("condition")},"minecraft:killed_by_player":{inverse:t.Opt(t.BooleanNode())},"minecraft:location_check":{offsetX:t.Opt(t.NumberNode({integer:!0})),offsetY:t.Opt(t.NumberNode({integer:!0})),offsetZ:t.Opt(t.NumberNode({integer:!0})),predicate:a("location_predicate")},"minecraft:match_tool":{predicate:a("item_predicate")},"minecraft:random_chance":{chance:t.NumberNode({min:0,max:1})},"minecraft:random_chance_with_looting":{chance:t.NumberNode({min:0,max:1}),looting_multiplier:t.NumberNode()},"minecraft:reference":{name:i({validator:"resource",params:{pool:"$predicate"}})},"minecraft:table_bonus":{enchantment:i({validator:"resource",params:{pool:"enchantment"}}),chances:t.ListNode(t.NumberNode({min:0,max:1}))},"minecraft:time_check":{value:a("int_range"),period:t.Opt(t.NumberNode({integer:!0}))},"minecraft:value_check":{value:a("number_provider"),range:a("int_range")},"minecraft:weather_check":{raining:t.Opt(t.BooleanNode()),thundering:t.Opt(t.BooleanNode())}}),e.FunctionCases=(e,r=i({enum:"copy_source"}),n=i({enum:"entity_source"}))=>{const c={"minecraft:apply_bonus":{enchantment:i({validator:"resource",params:{pool:"enchantment"}}),formula:i({validator:"resource",params:{pool:o.get("loot_table_apply_bonus_formula")}}),parameters:t.Mod(t.ObjectNode({bonusMultiplier:t.Mod(t.NumberNode(),{enabled:e=>"minecraft:uniform_bonus_count"===e.pop().push("formula").get()}),extra:t.Mod(t.NumberNode(),{enabled:e=>"minecraft:binomial_with_bonus_count"===e.pop().push("formula").get()}),probability:t.Mod(t.NumberNode(),{enabled:e=>"minecraft:binomial_with_bonus_count"===e.pop().push("formula").get()})}),{enabled:e=>"minecraft:ore_drops"!==e.push("formula").get()})},"minecraft:copy_name":{source:r},"minecraft:copy_nbt":{source:a("nbt_provider"),ops:t.ListNode(t.ObjectNode({source:i({validator:"nbt_path",params:{category:{getter:"copy_source",path:["pop","pop","pop",{push:"source"}]}}}),target:i({validator:"nbt_path",params:{category:"minecraft:item"}}),op:i({enum:["replace","append","merge"]})},{context:"nbt_operation"}))},"minecraft:copy_state":{block:i({validator:"resource",params:{pool:"block"}}),properties:t.ListNode(i({validator:"block_state_key",params:{id:["pop","pop",{push:"block"}]}}))},"minecraft:enchant_randomly":{enchantments:t.Opt(t.ListNode(i({validator:"resource",params:{pool:"enchantment"}})))},"minecraft:enchant_with_levels":{levels:a("number_provider"),treasure:t.Opt(t.BooleanNode())},"minecraft:exploration_map":{destination:t.Opt(i({enum:"map_feature"})),decoration:t.Opt(i({enum:"map_decoration"})),zoom:t.Opt(t.NumberNode({integer:!0})),search_radius:t.Opt(t.NumberNode({integer:!0})),skip_existing_chunks:t.Opt(t.BooleanNode())},"minecraft:fill_player_head":{entity:n},"minecraft:limit_count":{limit:a("int_range")},"minecraft:looting_enchant":{count:a("number_provider"),limit:t.Opt(t.NumberNode({integer:!0}))},"minecraft:set_attributes":{modifiers:t.ListNode(a("attribute_modifier"))},"minecraft:set_banner_pattern":{patterns:t.ListNode(t.ObjectNode({pattern:i({enum:"banner_pattern"}),color:i({enum:"dye_color"})})),append:t.Opt(t.BooleanNode())},"minecraft:set_contents":{entries:t.ListNode(a("loot_entry"))},"minecraft:set_count":{count:a("number_provider"),add:t.Opt(t.BooleanNode())},"minecraft:set_damage":{damage:a("number_provider"),add:t.Opt(t.BooleanNode())},"minecraft:set_enchantments":{enchantments:t.MapNode(i({validator:"resource",params:{pool:"enchantment"}}),a("number_provider")),add:t.Opt(t.BooleanNode())},"minecraft:set_loot_table":{name:i({validator:"resource",params:{pool:"$loot_table"}}),seed:t.Opt(t.NumberNode({integer:!0}))},"minecraft:set_lore":{entity:t.Opt(n),lore:t.ListNode(a("text_component")),replace:t.Opt(t.BooleanNode())},"minecraft:set_name":{entity:t.Opt(n),name:t.Opt(a("text_component"))},"minecraft:set_nbt":{tag:i({validator:"nbt",params:{registry:{category:"minecraft:item"}}})},"minecraft:set_stew_effect":{effects:t.Opt(t.ListNode(t.ObjectNode({type:i({validator:"resource",params:{pool:"mob_effect"}}),duration:a("number_provider")})))}},s={};return o.get("loot_function_type").forEach((t=>{s[t]=m(m({},c[t]),e)})),s},e.DimensionTypePresets=r=>t.ObjectOrPreset(i({validator:"resource",params:{pool:"$dimension_type"}}),r,{"minecraft:overworld":e.DefaultDimensionType,"minecraft:the_nether":{name:"minecraft:the_nether",ultrawarm:!0,natural:!1,shrunk:!0,piglin_safe:!0,respawn_anchor_works:!0,bed_works:!1,has_raids:!1,has_skylight:!1,has_ceiling:!0,ambient_light:.1,fixed_time:18e3,logical_height:128,effects:"minecraft:the_nether",infiniburn:"minecraft:infiniburn_nether",min_y:0,height:256},"minecraft:the_end":{name:"minecraft:the_end",ultrawarm:!1,natural:!1,shrunk:!1,piglin_safe:!1,respawn_anchor_works:!1,bed_works:!1,has_raids:!0,has_skylight:!1,has_ceiling:!1,ambient_light:0,fixed_time:6e3,logical_height:256,effects:"minecraft:the_end",infiniburn:"minecraft:infiniburn_end",min_y:0,height:256}}),e.NoiseSettingsPresets=r=>t.ObjectOrPreset(i({validator:"resource",params:{pool:"$worldgen/noise_settings"}}),r,{"minecraft:overworld":e.DefaultNoiseSettings,"minecraft:nether":{name:"minecraft:nether",bedrock_roof_position:0,bedrock_floor_position:0,sea_level:32,disable_mob_generation:!0,noise_caves_enabled:!1,aquifers_enabled:!1,deepslate_enabled:!1,noise:{min_y:0,height:128,density_factor:0,density_offset:.019921875,simplex_surface_noise:!1,random_density_offset:!1,size_horizontal:1,size_vertical:2,sampling:{xz_scale:1,y_scale:3,xz_factor:80,y_factor:60},top_slide:{target:120,size:3,offset:0},bottom_slide:{target:320,size:4,offset:-1}},default_block:{Name:"minecraft:netherrack"},default_fluid:{Name:"minecraft:lava",Properties:{level:"0"}}},"minecraft:end":{name:"minecraft:end",bedrock_roof_position:-10,bedrock_floor_position:-10,sea_level:0,disable_mob_generation:!0,noise_caves_enabled:!1,aquifers_enabled:!1,deepslate_enabled:!1,noise:{min_y:0,height:128,density_factor:0,density_offset:0,simplex_surface_noise:!0,random_density_offset:!1,island_noise_override:!0,size_horizontal:2,size_vertical:1,sampling:{xz_scale:2,y_scale:1,xz_factor:80,y_factor:160},top_slide:{target:-3e3,size:64,offset:-46},bottom_slide:{target:-30,size:7,offset:1}},default_block:{Name:"minecraft:end_stone"},default_fluid:{Name:"minecraft:air"}},"minecraft:amplified":{name:"minecraft:amplified",bedrock_roof_position:-10,bedrock_floor_position:0,sea_level:63,disable_mob_generation:!1,noise_caves_enabled:!0,aquifers_enabled:!0,deepslate_enabled:!0,noise:{min_y:0,height:256,density_factor:1,density_offset:-.46875,simplex_surface_noise:!0,random_density_offset:!0,amplified:!0,size_horizontal:1,size_vertical:2,sampling:{xz_scale:1,y_scale:1,xz_factor:80,y_factor:160},top_slide:{target:-10,size:3,offset:0},bottom_slide:{target:-30,size:0,offset:0}},default_block:{Name:"minecraft:stone"},default_fluid:{Name:"minecraft:water",Properties:{level:"0"}}},"minecraft:caves":{name:"minecraft:caves",bedrock_roof_position:0,bedrock_floor_position:0,sea_level:32,disable_mob_generation:!0,noise_caves_enabled:!1,aquifers_enabled:!1,deepslate_enabled:!1,noise:{min_y:0,height:128,density_factor:0,density_offset:.019921875,simplex_surface_noise:!1,random_density_offset:!1,size_horizontal:1,size_vertical:2,sampling:{xz_scale:1,y_scale:3,xz_factor:80,y_factor:60},top_slide:{target:120,size:3,offset:0},bottom_slide:{target:320,size:4,offset:-1}},default_block:{Name:"minecraft:stone"},default_fluid:{Name:"minecraft:water",Properties:{level:"0"}}},"minecraft:floating_islands":{name:"minecraft:floating_islands",bedrock_roof_position:-10,bedrock_floor_position:-10,sea_level:0,disable_mob_generation:!0,noise_caves_enabled:!1,aquifers_enabled:!1,deepslate_enabled:!1,noise:{min_y:0,height:128,density_factor:0,density_offset:0,simplex_surface_noise:!0,random_density_offset:!1,island_noise_override:!0,size_horizontal:2,size_vertical:1,sampling:{xz_scale:2,y_scale:1,xz_factor:80,y_factor:160},top_slide:{target:-3e3,size:64,offset:-46},bottom_slide:{target:-30,size:7,offset:1}},default_block:{Name:"minecraft:stone"},default_fluid:{Name:"minecraft:water",Properties:{level:"0"}}}})}}(Fo);var Eo={};Object.defineProperty(Eo,"__esModule",{value:!0}),Eo.initConditionSchemas=void 0;const Uo=Le,Wo=Fo;Eo.initConditionSchemas=function(e,t){const r=Uo.Reference.bind(void 0,e),o=Uo.StringNode.bind(void 0,t);e.register("predicate",Uo.ObjectOrList(r("condition"),{choiceContext:"condition"})),e.register("condition",Uo.Mod(Uo.ObjectNode({condition:o({validator:"resource",params:{pool:"loot_condition_type"}}),[Uo.Switch]:[{push:"condition"}],[Uo.Case]:Wo.ConditionCases()},{category:"predicate",context:"condition"}),{default:()=>({condition:"minecraft:entity_properties",entity:"this"})}))};var Ho={};Object.defineProperty(Ho,"__esModule",{value:!0}),Ho.initDimensionSchemas=void 0;const Ko=Le,Go=Fo;Ho.initDimensionSchemas=function(e,t){const r=Ko.Reference.bind(void 0,e),o=Ko.StringNode.bind(void 0,t),i=e=>Ko.Mod(e,{enabled:e=>void 0===e.push("preset").get()});e.register("dimension",Ko.Mod(Ko.ObjectNode({type:Go.DimensionTypePresets(r("dimension_type")),generator:Ko.ObjectNode({type:o({validator:"resource",params:{pool:"worldgen/chunk_generator"}}),[Ko.Switch]:[{push:"type"}],[Ko.Case]:{"minecraft:noise":{seed:Ko.NumberNode({integer:!0}),settings:Go.NoiseSettingsPresets(r("noise_settings")),biome_source:Ko.ObjectNode({type:o({validator:"resource",params:{pool:"worldgen/biome_source"}}),[Ko.Switch]:[{push:"type"}],[Ko.Case]:{"minecraft:fixed":{biome:o({validator:"resource",params:{pool:"$worldgen/biome"}})},"minecraft:multi_noise":{seed:Ko.NumberNode({integer:!0}),preset:Ko.Opt(o({enum:["nether"]})),altitude_noise:i(r("generator_biome_noise")),temperature_noise:i(r("generator_biome_noise")),humidity_noise:i(r("generator_biome_noise")),weirdness_noise:i(r("generator_biome_noise")),biomes:i(Ko.Mod(Ko.ListNode(r("generator_biome")),{default:()=>[{biome:"minecraft:plains"}]}))},"minecraft:checkerboard":{scale:Ko.Opt(Ko.NumberNode({integer:!0,min:0,max:62})),biomes:Ko.ListNode(o({validator:"resource",params:{pool:"$worldgen/biome"}}))},"minecraft:the_end":{seed:Ko.NumberNode({integer:!0})},"minecraft:vanilla_layered":{seed:Ko.NumberNode({integer:!0}),large_biomes:Ko.Opt(Ko.BooleanNode()),legacy_biome_init_layer:Ko.Opt(Ko.BooleanNode())}}},{category:"predicate",disableSwitchContext:!0})},"minecraft:flat":{settings:Ko.ObjectNode({biome:Ko.Opt(o({validator:"resource",params:{pool:"$worldgen/biome"}})),lakes:Ko.Opt(Ko.BooleanNode()),features:Ko.Opt(Ko.BooleanNode()),layers:Ko.ListNode(r("generator_layer")),structures:r("generator_structures")})}}},{disableSwitchContext:!0})},{category:"pool",context:"dimension"}),{default:()=>{const e=Math.floor(4294967296*Math.random())-2147483648;return{type:"minecraft:overworld",generator:{type:"minecraft:noise",seed:e,biome_source:{type:"minecraft:fixed",seed:e,biome:"minecraft:plains"},settings:"minecraft:overworld"}}}})),e.register("generator_biome",Ko.Mod(Ko.ObjectNode({biome:o({validator:"resource",params:{pool:"$worldgen/biome"}}),parameters:Ko.ObjectNode({altitude:Ko.NumberNode(),temperature:Ko.NumberNode(),humidity:Ko.NumberNode(),weirdness:Ko.NumberNode(),offset:Ko.NumberNode()})},{context:"generator_biome"}),{default:()=>({biome:"minecraft:plains",parameters:{altitude:0,temperature:0,humidity:0,weirdness:0,offset:0}})})),e.register("generator_biome_noise",Ko.Mod(Ko.ObjectNode({firstOctave:Ko.NumberNode({integer:!0}),amplitudes:Ko.ListNode(Ko.NumberNode())},{context:"generator_biome_noise"}),{default:()=>({firstOctave:-7,amplitudes:[1,1]})}))};var Xo={};Object.defineProperty(Xo,"__esModule",{value:!0}),Xo.initDimensionTypeSchemas=void 0;const Vo=Le,Jo=Fo;Xo.initDimensionTypeSchemas=function(e,t){const r=Vo.StringNode.bind(void 0,t);e.register("dimension_type",Vo.Mod(Vo.ObjectNode({name:Vo.Mod(r({validator:"resource",params:{pool:"$dimension_type",isDefinition:!0}}),{enabled:e=>e.getArray().length>0}),ultrawarm:Vo.BooleanNode(),natural:Vo.BooleanNode(),piglin_safe:Vo.BooleanNode(),respawn_anchor_works:Vo.BooleanNode(),bed_works:Vo.BooleanNode(),has_raids:Vo.BooleanNode(),has_skylight:Vo.BooleanNode(),has_ceiling:Vo.BooleanNode(),coordinate_scale:Vo.NumberNode({min:1e-5,max:3e7}),ambient_light:Vo.NumberNode(),fixed_time:Vo.Opt(Vo.NumberNode({integer:!0})),logical_height:Vo.NumberNode({integer:!0,min:0,max:4096}),effects:Vo.Opt(r({enum:["minecraft:overworld","minecraft:the_nether","minecraft:the_end"]})),infiniburn:r({validator:"resource",params:{pool:"$tag/block"}}),min_y:Vo.NumberNode({integer:!0,min:-2048,max:2047}),height:Vo.NumberNode({integer:!0,min:0,max:4096})},{context:"dimension_type"}),(e=>({default:()=>Jo.DefaultDimensionType,validate:(t,r,o,i)=>((null==(r=e.validate(t,r,o,i))?void 0:r.min_y)+(null==r?void 0:r.height)>2047&&o.add(t.push("height"),"error.min_y_plus_height",2047),(null==r?void 0:r.logical_height)>(null==r?void 0:r.height)&&o.add(t.push("logical_height"),"error.logical_height"),(null==r?void 0:r.height)%16!=0&&o.add(t.push("height"),"error.height_multiple",16),(null==r?void 0:r.min_y)%16!=0&&o.add(t.push("min_y"),"error.min_y_multiple",16),r)}))))};var Zo={};Object.defineProperty(Zo,"__esModule",{value:!0}),Zo.initItemModifierSchemas=void 0;const Yo=Le,Qo=Fo;Zo.initItemModifierSchemas=function(e,t){const r=Yo.Reference.bind(void 0,e),o=Yo.StringNode.bind(void 0,t);e.register("item_modifier",Yo.ObjectOrList(r("function"),{choiceContext:"function"}));const i={conditions:Yo.Opt(Yo.ListNode(r("condition")))};e.register("function",Yo.Mod(Yo.ObjectNode({function:o({validator:"resource",params:{pool:"loot_function_type"}}),[Yo.Switch]:[{push:"function"}],[Yo.Case]:Qo.FunctionCases(i)},{category:"function",context:"function"}),{default:()=>[{function:"minecraft:set_count",count:1}]}))};var ei={},ti={};Object.defineProperty(ti,"__esModule",{value:!0}),ti.LootFunctions=ti.LootConditions=ti.LootCopySources=ti.LootEntitySources=ti.LootTableTypes=void 0,ti.LootTableTypes=new Map([["minecraft:advancement_entity",{requires:[7,8],allows:[]}],["minecraft:advancement_reward",{requires:[7,8],allows:[]}],["minecraft:barter",{requires:[8],allows:[]}],["minecraft:block",{requires:[1,7,9],allows:[0,4,8]}],["minecraft:chest",{requires:[7],allows:[8]}],["minecraft:command",{requires:[7],allows:[8]}],["minecraft:empty",{requires:[],allows:[]}],["minecraft:entity",{requires:[2,7,8],allows:[3,5,6]}],["minecraft:fishing",{requires:[7,9],allows:[8]}],["minecraft:generic",{requires:[2,0,1,3,4,5,6,7,8,9],allows:[]}],["minecraft:gift",{requires:[7,8],allows:[]}],["minecraft:selector",{requires:[7],allows:[8]}]]),ti.LootEntitySources=new Map([["direct_killer",[3]],["killer",[5]],["killer_player",[5]],["this",[8]]]),ti.LootCopySources=new Map([["block_entity",[0]],["killer",[5]],["killer_player",[5]],["this",[8]]]),ti.LootConditions=new Map([["minecraft:alternative",[]],["minecraft:block_state_property",[1]],["minecraft:damage_source_properties",[2]],["minecraft:entity_properties",[7]],["minecraft:entity_scores",[]],["minecraft:inverted",[]],["minecraft:killed_by_player",[6]],["minecraft:location_check",[]],["minecraft:match_tool",[9]],["minecraft:random_chance",[]],["minecraft:random_chance_with_looting",[5]],["minecraft:reference",[]],["minecraft:survives_explosion",[4]],["minecraft:table_bonus",[9]],["minecraft:time_check",[]],["minecraft:weather_check",[]]]),ti.LootFunctions=new Map([["minecraft:apply_bonus",[9]],["minecraft:copy_name",[]],["minecraft:copy_nbt",[]],["minecraft:copy_state",[1]],["minecraft:enchant_randomly",[]],["minecraft:enchant_with_levels",[]],["minecraft:exploration_map",[7]],["minecraft:explosion_decay",[]],["minecraft:fill_player_head",[]],["minecraft:furnace_smelt",[]],["minecraft:limit_count",[]],["minecraft:looting_enchant",[5]],["minecraft:set_attributes",[]],["minecraft:set_banner_pattern",[]],["minecraft:set_contents",[]],["minecraft:set_count",[]],["minecraft:set_damage",[]],["minecraft:set_loot_table",[]],["minecraft:set_lore",[]],["minecraft:set_name",[]],["minecraft:set_nbt",[]],["minecraft:set_stew_effect",[]]]),Object.defineProperty(ei,"__esModule",{value:!0}),ei.initLootTableSchemas=void 0;const ri=Le,oi=ti,ii=Fo;ei.initLootTableSchemas=function(e,t){const r=ri.Reference.bind(void 0,e),o=ri.StringNode.bind(void 0,t),i={conditions:ri.Opt(ri.ListNode(r("loot_condition")))},a=m({functions:ri.Opt(ri.ListNode(r("loot_function")))},i);function n(e,r,o){const i=[],a=o=>t.get(r).filter((t=>{var r;return(null!==(r=e.get(t))&&void 0!==r?r:[]).every((e=>o.includes(e)))}));for(const[t,{allows:n,requires:c}]of oi.LootTableTypes){const e=[...n,...c];i.push({match:e=>e.getModel().get(new ri.Path(["type"]))===t,node:o(a(e))})}return i.push({match:e=>!0,node:o(r)}),ri.SwitchNode(i)}const c=n(oi.LootConditions,"loot_condition_type",(e=>o({validator:"resource",params:{pool:e instanceof Array?e:"loot_condition_type"}}))),s=n(oi.LootFunctions,"loot_function_type",(e=>o({validator:"resource",params:{pool:e instanceof Array?e:"loot_function_type"}}))),l=n(oi.LootEntitySources,"entity_source",(e=>o({enum:e}))),d=n(oi.LootCopySources,"copy_source",(e=>o({enum:e})));e.register("loot_table",ri.Mod(ri.ObjectNode({type:ri.Opt(o({validator:"resource",params:{pool:t.get("loot_context_type")}})),pools:ri.Opt(ri.ListNode(ri.Mod(ri.ObjectNode(m({rolls:r("number_provider"),bonus_rolls:ri.Opt(r("number_provider")),entries:ri.ListNode(r("loot_entry"))},a),{category:"pool",context:"loot_pool"}),{default:()=>({rolls:1,entries:[{type:"minecraft:item",name:"minecraft:stone"}]})}))),functions:ri.Opt(ri.ListNode(r("loot_function")))},{context:"loot_table"}),{default:()=>({pools:[{rolls:1,entries:[{type:"minecraft:item",name:"minecraft:stone"}]}]})}));const _={enabled:e=>{var t;return(null===(t=e.pop().get())||void 0===t?void 0:t.length)>1&&!["minecraft:alternatives","minecraft:group","minecraft:sequence"].includes(e.push("type").get())}};e.register("loot_entry",ri.Mod(ri.ObjectNode({type:o({validator:"resource",params:{pool:"loot_pool_entry_type"}}),weight:ri.Opt(ri.Mod(ri.NumberNode({integer:!0,min:1}),_)),quality:ri.Opt(ri.Mod(ri.NumberNode({integer:!0}),_)),[ri.Switch]:[{push:"type"}],[ri.Case]:{"minecraft:alternatives":m({children:ri.ListNode(r("loot_entry"))},a),"minecraft:dynamic":m({name:o()},a),"minecraft:group":m({children:ri.ListNode(r("loot_entry"))},a),"minecraft:item":m({name:o({validator:"resource",params:{pool:"item"}})},a),"minecraft:loot_table":m({name:o({validator:"resource",params:{pool:"$loot_table"}})},a),"minecraft:sequence":m({children:ri.ListNode(r("loot_entry"))},a),"minecraft:tag":m({name:o({validator:"resource",params:{pool:"$tag/item"}}),expand:ri.Opt(ri.BooleanNode())},a)}},{context:"loot_entry"}),{default:()=>({type:"minecraft:item",name:"minecraft:stone"})})),e.register("loot_function",ri.Mod(ri.ObjectNode({function:s,[ri.Switch]:[{push:"function"}],[ri.Case]:ii.FunctionCases(i,d,l)},{category:"function",context:"function"}),{default:()=>({function:"minecraft:set_count",count:1})})),e.register("loot_condition",ri.Mod(ri.ObjectNode({condition:c,[ri.Switch]:[{push:"condition"}],[ri.Case]:ii.ConditionCases(l)},{category:"predicate",context:"condition"}),{default:()=>({condition:"minecraft:random_chance",chance:.5})})),e.register("attribute_modifier",ri.Mod(ri.ObjectNode({attribute:o({validator:"resource",params:{pool:"attribute"}}),name:o(),amount:r("number_provider"),operation:o({enum:["addition","multiply_base","multiply_total"]}),slot:ri.StringOrList(o({enum:"slot"}))},{context:"attribute_modifier"}),{default:()=>({attribute:"minecraft:generic.max_health",name:"",amount:1,operation:"addition",slot:"mainhand"})}))};var ai={};Object.defineProperty(ai,"__esModule",{value:!0}),ai.initPackMcmetaSchemas=void 0;const ni=Le;ai.initPackMcmetaSchemas=function(e,t){e.register("pack_mcmeta",ni.Mod(ni.ObjectNode({pack:ni.Mod(ni.ObjectNode({pack_format:ni.Mod(ni.NumberNode({integer:!0,min:7,max:7}),{default:()=>7,canUpdate:(e,t)=>7!==t,update:()=>[{name:"pack_format",params:[7],newValue:7}]}),description:ni.Reference(e,"text_component")}),{default:()=>({pack_format:7,description:""})})}),{default:()=>({pack:{pack_format:7,description:""}})}))};var ci={};Object.defineProperty(ci,"__esModule",{value:!0}),ci.initPredicatesSchemas=void 0;const si=Le;ci.initPredicatesSchemas=function(e,t){const r=si.Reference.bind(void 0,e),o=si.StringNode.bind(void 0,t),i=si.ChoiceNode([{type:"string",node:o(),change:e=>"boolean"==typeof e||"number"==typeof e?e.toString():""},{type:"number",node:si.NumberNode(),change:e=>"string"==typeof e?parseInt(e):0},{type:"object",node:si.ObjectNode({min:si.Opt(si.NumberNode({integer:!0})),max:si.Opt(si.NumberNode({integer:!0}))}),change:e=>"number"==typeof e?{min:e,max:e}:{}},{type:"boolean",node:si.BooleanNode(),change:e=>"true"===e||1===e}]);e.register("item_predicate",si.ObjectNode({items:si.Opt(si.ListNode(o({validator:"resource",params:{pool:"item"}}))),tag:si.Opt(o({validator:"resource",params:{pool:"$tag/item"}})),count:r("int_bounds"),durability:r("int_bounds"),potion:si.Opt(o({validator:"resource",params:{pool:"potion"}})),nbt:si.Opt(o({validator:"nbt",params:{registry:{category:"minecraft:item",id:["pop",{push:"item"}]}}})),enchantments:si.Opt(si.ListNode(r("enchantment_predicate")))},{context:"item"})),e.register("enchantment_predicate",si.ObjectNode({enchantment:si.Opt(o({validator:"resource",params:{pool:"enchantment"}})),levels:r("int_bounds")},{context:"enchantment"})),e.register("block_predicate",si.ObjectNode({blocks:si.Opt(si.ListNode(o({validator:"resource",params:{pool:"block"}}))),tag:si.Opt(o({validator:"resource",params:{pool:"$tag/block"}})),nbt:si.Opt(o({validator:"nbt",params:{registry:{category:"minecraft:block",id:["pop",{push:"block"}]}}})),state:si.Opt(si.MapNode(o(),i,{validation:{validator:"block_state_map",params:{id:["pop",{push:"block"}]}}}))},{context:"block"})),e.register("fluid_predicate",si.ObjectNode({fluid:si.Opt(o({validator:"resource",params:{pool:"fluid"}})),tag:si.Opt(o({validator:"resource",params:{pool:"$tag/fluid"}})),state:si.Opt(si.MapNode(o(),i))},{context:"fluid"})),e.register("location_predicate",si.ObjectNode({position:si.Opt(si.ObjectNode({x:r("float_bounds"),y:r("float_bounds"),z:r("float_bounds")})),biome:si.Opt(o({validator:"resource",params:{pool:"$worldgen/biome"}})),feature:si.Opt(o({enum:t.get("worldgen/structure_feature").map((e=>e.slice(10)))})),dimension:si.Opt(o({validator:"resource",params:{pool:"$dimension"}})),light:si.Opt(si.ObjectNode({light:r("int_bounds")})),smokey:si.Opt(si.BooleanNode()),block:si.Opt(r("block_predicate")),fluid:si.Opt(r("fluid_predicate"))},{context:"location"})),e.register("statistic_predicate",si.ObjectNode({type:o({validator:"resource",params:{pool:"stat_type"}}),stat:o(),value:r("int_bounds"),[si.Switch]:[{push:"type"}],[si.Case]:{"minecraft:mined":{stat:o({validator:"resource",params:{pool:"block"}})},"minecraft:crafted":{stat:o({validator:"resource",params:{pool:"item"}})},"minecraft:used":{stat:o({validator:"resource",params:{pool:"item"}})},"minecraft:broken":{stat:o({validator:"resource",params:{pool:"item"}})},"minecraft:picked_up":{stat:o({validator:"resource",params:{pool:"item"}})},"minecraft:dropped":{stat:o({validator:"resource",params:{pool:"item"}})},"minecraft:killed":{stat:o({validator:"resource",params:{pool:"entity_type"}})},"minecraft:killed_by":{stat:o({validator:"resource",params:{pool:"entity_type"}})},"minecraft:custom":{stat:o({validator:"resource",params:{pool:"custom_stat"}})}}})),e.register("player_predicate",si.ObjectNode({gamemode:si.Opt(o({enum:"gamemode"})),level:r("int_bounds"),advancements:si.Opt(si.MapNode(o({validator:"resource",params:{pool:"$advancement"}}),si.ChoiceNode([{type:"boolean",node:si.BooleanNode(),change:e=>!0},{type:"object",node:si.MapNode(o(),si.BooleanNode())}]))),recipes:si.Opt(si.MapNode(o({validator:"resource",params:{pool:"$recipe"}}),si.BooleanNode())),stats:si.Opt(si.ListNode(r("statistic_predicate"))),looking_at:si.Opt(r("entity_predicate"))},{context:"player"})),e.register("status_effect_predicate",si.ObjectNode({amplifier:r("int_bounds"),duration:r("int_bounds"),ambient:si.Opt(si.BooleanNode()),visible:si.Opt(si.BooleanNode())},{context:"status_effect"})),e.register("distance_predicate",si.ObjectNode({x:r("float_bounds"),y:r("float_bounds"),z:r("float_bounds"),absolute:r("float_bounds"),horizontal:r("float_bounds")},{context:"distance"})),e.register("entity_predicate",si.ObjectNode({type:si.Opt(o({validator:"resource",params:{pool:"entity_type",allowTag:!0}})),nbt:si.Opt(o({validator:"nbt",params:{registry:{category:"minecraft:entity",id:["pop",{push:"type"}]}}})),team:si.Opt(o({validator:"team"})),location:si.Opt(r("location_predicate")),stepping_on:si.Opt(r("location_predicate")),distance:si.Opt(r("distance_predicate")),flags:si.Opt(si.ObjectNode({is_on_fire:si.Opt(si.BooleanNode()),is_sneaking:si.Opt(si.BooleanNode()),is_sprinting:si.Opt(si.BooleanNode()),is_swimming:si.Opt(si.BooleanNode()),is_baby:si.Opt(si.BooleanNode())})),equipment:si.Opt(si.MapNode(o({enum:"slot"}),r("item_predicate"))),player:si.Opt(r("player_predicate")),vehicle:si.Opt(r("entity_predicate")),passenger:si.Opt(r("entity_predicate")),targeted_entity:si.Opt(r("entity_predicate")),lightning_bolt:si.Opt(si.ObjectNode({blocks_set_on_fire:si.Opt(r("int_bounds")),entity_struck:si.Opt(r("entity_predicate"))})),fishing_hook:si.Opt(si.ObjectNode({in_open_water:si.Opt(si.BooleanNode())})),effects:si.Opt(si.MapNode(o({validator:"resource",params:{pool:"mob_effect"}}),r("status_effect_predicate")))},{context:"entity"})),e.register("damage_source_predicate",si.ObjectNode({is_explosion:si.Opt(si.BooleanNode()),is_fire:si.Opt(si.BooleanNode()),is_magic:si.Opt(si.BooleanNode()),is_projectile:si.Opt(si.BooleanNode()),is_lightning:si.Opt(si.BooleanNode()),bypasses_armor:si.Opt(si.BooleanNode()),bypasses_invulnerability:si.Opt(si.BooleanNode()),bypasses_magic:si.Opt(si.BooleanNode()),source_entity:si.Opt(r("entity_predicate")),direct_entity:si.Opt(r("entity_predicate"))},{context:"damage_source"})),e.register("damage_predicate",si.ObjectNode({dealt:r("float_bounds"),taken:r("float_bounds"),blocked:si.Opt(si.BooleanNode()),source_entity:si.Opt(r("entity_predicate")),type:si.Opt(r("damage_source_predicate"))},{context:"damage"}))};var li={};Object.defineProperty(li,"__esModule",{value:!0}),li.initRecipeSchemas=void 0;const di=Le;li.initRecipeSchemas=function(e,t){const r=di.Reference.bind(void 0,e),o=di.StringNode.bind(void 0,t);e.register("recipe",di.Mod(di.ObjectNode({type:o({validator:"resource",params:{pool:"recipe_serializer"}}),[di.Switch]:[{push:"type"}],[di.Case]:{"minecraft:crafting_shaped":{group:di.Opt(o({enum:"recipe_group",additional:!0})),pattern:di.ListNode(o()),key:di.MapNode(o(),r("recipe_ingredient")),result:r("recipe_result")},"minecraft:crafting_shapeless":{group:di.Opt(o()),ingredients:di.ListNode(r("recipe_ingredient")),result:r("recipe_result")},"minecraft:smelting":{group:di.Opt(o()),ingredient:r("recipe_ingredient"),result:o({validator:"resource",params:{pool:"item"}}),experience:di.Opt(di.NumberNode()),cookingtime:di.Opt(di.Mod(di.NumberNode({integer:!0}),{default:()=>200}))},"minecraft:blasting":{group:di.Opt(o()),ingredient:r("recipe_ingredient"),result:o({validator:"resource",params:{pool:"item"}}),experience:di.Opt(di.NumberNode()),cookingtime:di.Opt(di.Mod(di.NumberNode({integer:!0}),{default:()=>100}))},"minecraft:smoking":{group:di.Opt(o()),ingredient:r("recipe_ingredient"),result:o({validator:"resource",params:{pool:"item"}}),experience:di.Opt(di.NumberNode()),cookingtime:di.Opt(di.Mod(di.NumberNode({integer:!0}),{default:()=>100}))},"minecraft:campfire_cooking":{group:di.Opt(o()),ingredient:r("recipe_ingredient"),result:o({validator:"resource",params:{pool:"item"}}),experience:di.Opt(di.NumberNode()),cookingtime:di.Opt(di.Mod(di.NumberNode({integer:!0}),{default:()=>100}))},"minecraft:stonecutting":{group:di.Opt(o()),ingredient:r("recipe_ingredient"),result:o({validator:"resource",params:{pool:"item"}}),count:di.NumberNode({integer:!0})},"minecraft:smithing":{group:di.Opt(o()),base:r("recipe_ingredient_object"),addition:r("recipe_ingredient_object"),result:r("recipe_result")}}},{context:"recipe"}),{default:()=>({type:"minecraft:crafting_shaped"})})),e.register("recipe_ingredient",di.Mod(di.ChoiceNode([{type:"object",node:r("recipe_ingredient_object"),change:e=>e[0]},{type:"list",node:di.ListNode(r("recipe_ingredient_object")),change:e=>[e]}]),{default:()=>({item:"minecraft:stone"})})),e.register("recipe_ingredient_object",di.Mod(di.ObjectNode({item:di.Opt(o({validator:"resource",params:{pool:"item"}})),tag:di.Opt(o({validator:"resource",params:{pool:"$tag/item"}}))}),{default:()=>({item:"minecraft:stone"})})),e.register("recipe_result",di.Mod(di.ObjectNode({item:o({validator:"resource",params:{pool:"item"}}),count:di.Opt(di.Mod(di.NumberNode({integer:!0}),{default:()=>1}))}),{default:()=>({item:"minecraft:stone"})}))};var mi={};Object.defineProperty(mi,"__esModule",{value:!0}),mi.initTagsSchemas=void 0;const _i=Le;mi.initTagsSchemas=function(e,t){const r=_i.StringNode.bind(void 0,t),o=e=>_i.Mod(_i.ObjectNode({replace:_i.Opt(_i.BooleanNode()),values:_i.ListNode(_i.ChoiceNode([{type:"string",node:r({validator:"resource",params:{pool:e,allowTag:!0}}),change:e=>e.id},{type:"object",node:_i.ObjectNode({id:r({validator:"resource",params:{pool:e,allowTag:!0,allowUnknown:!0}}),required:_i.BooleanNode()}),change:e=>({id:e})}]))},{context:"tag"}),{default:()=>({values:[]})});e.register("block_tag",o("block")),e.register("entity_type_tag",o("entity_type")),e.register("fluid_tag",o("fluid")),e.register("function_tag",o("$function")),e.register("game_event_tag",o("game_event")),e.register("item_tag",o("item"))};var pi={};Object.defineProperty(pi,"__esModule",{value:!0}),pi.initTextComponentSchemas=void 0;const ui=Le;pi.initTextComponentSchemas=function(e,t){const r=ui.Reference.bind(void 0,e),o=ui.StringNode.bind(void 0,t),i=e=>{var t;return e instanceof Array?i(e[0]):null!==(t=null==e?void 0:e.text)&&void 0!==t?t:"object"==typeof e?"":null==e?void 0:e.toString()};e.register("text_component",ui.Mod(ui.ChoiceNode([{type:"object",node:r("text_component_object"),change:e=>e instanceof Array?"object"==typeof e[0]?e[0]:{text:i(e[0])}:"object"==typeof e?e:{text:i(e)}},{type:"list",node:r("text_component_list"),change:e=>[e]},{type:"string",priority:1,node:o(),change:i},{type:"number",node:ui.NumberNode(),change:e=>{const t=parseFloat(i(e));return isFinite(t)?t:e?1:0}},{type:"boolean",node:ui.BooleanNode(),change:e=>{const t=i(e);return"true"===t||"false"===t?"true"===t:!!t}}],{context:"text_component"}),{default:()=>({text:""})}));const a={color:ui.Opt(o()),font:ui.Opt(o()),bold:ui.Opt(ui.BooleanNode()),italic:ui.Opt(ui.BooleanNode()),underlined:ui.Opt(ui.BooleanNode()),strikethrough:ui.Opt(ui.BooleanNode()),obfuscated:ui.Opt(ui.BooleanNode()),insertion:ui.Opt(o()),clickEvent:ui.Opt(ui.ObjectNode({action:o({enum:["open_url","open_file","run_command","suggest_command","change_page","copy_to_clipboard"]}),[ui.Switch]:[{push:"action"}],[ui.Case]:{change_page:{value:o()},copy_to_clipboard:{value:o()},open_file:{value:o()},open_url:{value:o()},run_command:{value:o({validator:"command",params:{leadingSlash:!0,allowPartial:!0}})},suggest_command:{value:o({validator:"command",params:{leadingSlash:!0,allowPartial:!0}})}}})),hoverEvent:ui.Opt(ui.ObjectNode({action:o({enum:["show_text","show_item","show_entity"]}),[ui.Switch]:[{push:"action"}],[ui.Case]:{show_text:{value:ui.Opt(r("text_component")),contents:ui.Opt(r("text_component"))},show_item:{value:ui.Opt(o({validator:"nbt",params:{module:"util::InventoryItem"}})),contents:ui.Opt(ui.ObjectNode({id:o({validator:"resource",params:{pool:"item"}}),count:ui.Opt(ui.NumberNode({integer:!0})),tag:ui.Opt(o({validator:"nbt",params:{registry:{category:"minecraft:item",id:["pop",{push:"id"}]}}}))}))},show_entity:{value:ui.Opt(ui.ObjectNode({name:ui.Opt(o()),type:ui.Opt(o()),id:ui.Opt(o())})),contents:ui.Opt(ui.Mod(ui.ObjectNode({name:ui.Opt(r("text_component")),type:o({validator:"resource",params:{pool:"entity_type"}}),id:o({validator:"uuid"})}),{default:()=>({type:"minecraft:pig",id:"00000001-0001-0001-0001-000000000001"})}))}}})),extra:ui.Opt(r("text_component_list"))};e.register("text_component_object",ui.Mod(ui.ChoiceNode([{type:"text",match:e=>"object"==typeof e,change:e=>({text:""}),priority:-1,node:ui.ObjectNode(m({text:o()},a))},{type:"translation",match:e=>void 0!==(null==e?void 0:e.translate),change:e=>({translate:""}),node:ui.ObjectNode(m({translate:o(),with:ui.Opt(r("text_component_list"))},a))},{type:"score",match:e=>void 0!==(null==e?void 0:e.score),change:e=>({score:{}}),node:ui.ObjectNode(m({score:ui.ObjectNode({name:o({validator:"entity",params:{amount:"single",type:"entities",isScoreHolder:!0}}),objective:o({validator:"objective"}),value:ui.Opt(o())})},a))},{type:"selector",match:e=>void 0!==(null==e?void 0:e.selector),change:e=>({selector:""}),node:ui.ObjectNode(m({selector:o({validator:"entity",params:{amount:"multiple",type:"entities"}}),separator:ui.Opt(r("text_component"))},a))},{type:"keybind",match:e=>void 0!==(null==e?void 0:e.keybind),change:e=>({keybind:""}),node:ui.ObjectNode(m({keybind:o({enum:"keybind",additional:!0})},a))},{type:"nbt",match:e=>void 0!==(null==e?void 0:e.nbt),change:e=>({nbt:""}),node:ui.ObjectNode(m({nbt:o({validator:"nbt_path"}),block:ui.Opt(o({validator:"vector",params:{dimension:3,isInteger:!0}})),entity:ui.Opt(o({validator:"entity",params:{amount:"multiple",type:"entities"}})),storage:ui.Opt(o({validator:"resource",params:{pool:"$storage"}})),interpret:ui.Opt(ui.BooleanNode()),separator:ui.Opt(r("text_component"))},a))}],{context:"text_component_object",choiceContext:"text_component.object"}),{default:()=>({text:""})})),e.register("text_component_list",ui.Mod(ui.ListNode(r("text_component")),{default:()=>[{text:""}]}))};var fi={},gi={};Object.defineProperty(gi,"__esModule",{value:!0}),gi.initBiomeSchemas=void 0;const bi=Le;gi.initBiomeSchemas=function(e,t){const r=bi.StringNode.bind(void 0,t);e.register("biome",bi.Mod(bi.ObjectNode({surface_builder:r({validator:"resource",params:{pool:"$worldgen/configured_surface_builder"}}),depth:bi.NumberNode(),scale:bi.NumberNode(),temperature:bi.NumberNode(),downfall:bi.NumberNode(),precipitation:r({enum:["none","rain","snow"]}),temperature_modifier:bi.Opt(r({enum:["none","frozen"]})),category:r({enum:"biome_category"}),player_spawn_friendly:bi.Opt(bi.BooleanNode()),creature_spawn_probability:bi.Opt(bi.NumberNode({min:0,max:1})),effects:bi.ObjectNode({sky_color:bi.NumberNode({color:!0}),fog_color:bi.NumberNode({color:!0}),water_color:bi.NumberNode({color:!0}),water_fog_color:bi.NumberNode({color:!0}),grass_color:bi.Opt(bi.NumberNode({color:!0})),foliage_color:bi.Opt(bi.NumberNode({color:!0})),grass_color_modifier:bi.Opt(r({enum:["none","dark_forest","swamp"]})),ambient_sound:bi.Opt(r()),mood_sound:bi.Opt(bi.ObjectNode({sound:r(),tick_delay:bi.NumberNode({integer:!0}),block_search_extent:bi.NumberNode({integer:!0}),offset:bi.NumberNode()})),additions_sound:bi.Opt(bi.ObjectNode({sound:r(),tick_chance:bi.NumberNode({min:0,max:1})})),music:bi.Opt(bi.ObjectNode({sound:r(),min_delay:bi.NumberNode({integer:!0,min:0}),max_delay:bi.NumberNode({integer:!0,min:0}),replace_current_music:bi.BooleanNode()})),particle:bi.Opt(bi.ObjectNode({options:bi.ObjectNode({type:r()}),probability:bi.NumberNode({min:0,max:1})}))}),starts:bi.ListNode(r({validator:"resource",params:{pool:"$worldgen/configured_structure_feature"}})),spawners:bi.MapNode(r({enum:["monster","creature","ambient","underground_water_creature","water_creature","water_ambient","misc"]}),bi.Mod(bi.ListNode(bi.ObjectNode({type:r({validator:"resource",params:{pool:"entity_type"}}),weight:bi.NumberNode({integer:!0}),minCount:bi.NumberNode({integer:!0}),maxCount:bi.NumberNode({integer:!0})})),{category:()=>"pool",default:()=>[{type:"minecraft:bat",weight:1}]})),spawn_costs:bi.MapNode(r({validator:"resource",params:{pool:"entity_type"}}),bi.Mod(bi.ObjectNode({energy_budget:bi.NumberNode(),charge:bi.NumberNode()},{category:"function"}),{default:()=>({energy_budget:.12,charge:1})})),carvers:bi.MapNode(r({enum:["air","liquid"]}),bi.Mod(bi.ListNode(r({validator:"resource",params:{pool:"$worldgen/configured_carver"}})),{default:()=>["minecraft:cave"]})),features:bi.ListNode(bi.Mod(bi.ListNode(r({validator:"resource",params:{pool:"$worldgen/configured_feature"}})),{category:()=>"predicate"}),{maxLength:10})},{context:"biome"}),{default:()=>({surface_builder:"minecraft:grass",depth:.125,scale:.05,temperature:.8,downfall:.4,precipitation:"rain",category:"plains",effects:{sky_color:7907327,fog_color:12638463,water_color:4159204,water_fog_color:329011}})}))};var hi={};Object.defineProperty(hi,"__esModule",{value:!0}),hi.initCarverSchemas=void 0;const vi=Le,yi=Fo;hi.initCarverSchemas=function(e,t){const r=vi.Reference.bind(void 0,e),o=vi.StringNode.bind(void 0,t),i={vertical_rotation:yi.FloatProvider(),shape:vi.ObjectNode({distance_factor:yi.FloatProvider(),thickness:yi.FloatProvider(),width_smoothness:vi.NumberNode({integer:!0,min:0}),horizontal_radius_factor:yi.FloatProvider(),vertical_radius_default_factor:vi.NumberNode(),vertical_radius_center_factor:vi.NumberNode()})},a={horizontal_radius_multiplier:yi.FloatProvider(),vertical_radius_multiplier:yi.FloatProvider(),floor_level:yi.FloatProvider({min:-1,max:1})};e.register("configured_carver",vi.Mod(vi.ObjectNode({type:o({validator:"resource",params:{pool:"worldgen/carver"}}),config:vi.ObjectNode({probability:vi.NumberNode({min:0,max:1}),y:r("height_provider"),yScale:yi.FloatProvider(),lava_level:r("vertical_anchor"),aquifers_enabled:vi.BooleanNode(),debug_settings:vi.Opt(vi.ObjectNode({debug_mode:vi.Opt(vi.BooleanNode()),air_state:vi.Opt(r("block_state")),water_state:vi.Opt(r("block_state")),lava_state:vi.Opt(r("block_state")),barrier_state:vi.Opt(r("block_state"))})),[vi.Switch]:["pop",{push:"type"}],[vi.Case]:{"minecraft:canyon":i,"minecraft:cave":a,"minecraft:nether_cave":a}})},{context:"carver"}),{default:()=>({type:"minecraft:cave",config:{probability:.1}})}))};var Ni={};Object.defineProperty(Ni,"__esModule",{value:!0}),Ni.initDecoratorSchemas=void 0;const Oi=Le,ki=Fo;Ni.initDecoratorSchemas=function(e,t){const r=Oi.Reference.bind(void 0,e),o=Oi.StringNode.bind(void 0,t),i={count:ki.IntProvider({min:0,max:256})};e.register("configured_decorator",Oi.ObjectNode({type:o({validator:"resource",params:{pool:"worldgen/decorator"}}),config:Oi.ObjectNode({[Oi.Switch]:["pop",{push:"type"}],[Oi.Case]:{"minecraft:carving_mask":{step:o({enum:"generation_step"})},"minecraft:cave_surface":{surface:o({enum:["floor","ceiling"]}),floor_to_ceiling_search_range:Oi.NumberNode({integer:!0})},"minecraft:chance":{chance:Oi.NumberNode({integer:!0,min:0})},"minecraft:count":i,"minecraft:count_extra":{count:Oi.NumberNode({integer:!0,min:0}),extra_count:Oi.NumberNode({integer:!0,min:0}),extra_chance:Oi.NumberNode({min:0,max:1})},"minecraft:count_multilayer":i,"minecraft:count_noise":{noise_level:Oi.NumberNode(),below_noise:Oi.NumberNode({integer:!0}),above_noise:Oi.NumberNode({integer:!0})},"minecraft:count_noise_biased":{noise_to_count_ratio:Oi.NumberNode({integer:!0}),noise_factor:Oi.NumberNode(),noise_offset:Oi.Opt(Oi.NumberNode())},"minecraft:decorated":{outer:r("configured_decorator"),inner:r("configured_decorator")},"minecraft:heightmap":{heightmap:o({enum:"heightmap_type"})},"minecraft:heightmap_spread_double":{heightmap:o({enum:"heightmap_type"})},"minecraft:lava_lake":{chance:Oi.NumberNode({integer:!0,min:0})},"minecraft:range":{height:r("height_provider")},"minecraft:water_depth_threshold":{max_water_depth:Oi.NumberNode({integer:!0})}}},{context:"decorator",category:"predicate"})},{context:"decorator",category:"predicate"}))};var xi={},wi={};Object.defineProperty(wi,"__esModule",{value:!0}),wi.initProcessorListSchemas=wi.Processors=void 0;const ji=Le;wi.initProcessorListSchemas=function(e,t){const r=ji.Reference.bind(void 0,e),o=ji.StringNode.bind(void 0,t);wi.Processors=ji.ChoiceNode([{type:"string",node:o({validator:"resource",params:{pool:"$worldgen/processor_list"}}),change:e=>{}},{type:"object",node:r("processor_list"),change:e=>({processors:[{processor_type:"minecraft:nop"}]})}]),e.register("processor_list",ji.Mod(ji.ObjectNode({processors:ji.ListNode(r("processor"))},{context:"processor_list"}),{default:()=>({processors:[{processor_type:"minecraft:rule",rules:[{location_predicate:{predicate_type:"minecraft:always_true"},input_predicate:{predicate_type:"minecraft:always_true"}}]}]})})),e.register("processor",ji.Mod(ji.ObjectNode({processor_type:o({validator:"resource",params:{pool:"worldgen/structure_processor"}}),[ji.Switch]:[{push:"processor_type"}],[ji.Case]:{"minecraft:block_age":{mossiness:ji.NumberNode()},"minecraft:block_ignore":{blocks:ji.ListNode(r("block_state"))},"minecraft:block_rot":{integrity:ji.NumberNode({min:0,max:1})},"minecraft:gravity":{heightmap:o({enum:"heightmap_type"}),offset:ji.NumberNode({integer:!0})},"minecraft:protected_blocks":{value:o({validator:"resource",params:{pool:"$tag/block"}})},"minecraft:rule":{rules:ji.ListNode(r("processor_rule"))}}},{category:"function",context:"processor"}),{default:()=>({processor_type:"minecraft:rule",rules:[{location_predicate:{predicate_type:"minecraft:always_true"},input_predicate:{predicate_type:"minecraft:always_true"}}]})})),e.register("processor_rule",ji.Mod(ji.ObjectNode({position_predicate:ji.Opt(r("pos_rule_test")),location_predicate:r("rule_test"),input_predicate:r("rule_test"),output_state:r("block_state"),output_nbt:ji.Opt(o({validator:"nbt",params:{registry:{category:"minecraft:block"}}}))},{category:"predicate",context:"processor_rule"}),{default:()=>({location_predicate:{predicate_type:"minecraft:always_true"},input_predicate:{predicate_type:"minecraft:always_true"}})}));const i={min_dist:ji.Opt(ji.NumberNode({min:0,max:255,integer:!0})),max_dist:ji.Opt(ji.NumberNode({min:0,max:255,integer:!0})),min_chance:ji.Opt(ji.NumberNode({min:0,max:1})),max_chance:ji.Opt(ji.NumberNode({min:0,max:1}))};e.register("pos_rule_test",ji.ObjectNode({predicate_type:o({validator:"resource",params:{pool:"pos_rule_test"}}),[ji.Switch]:[{push:"predicate_type"}],[ji.Case]:{"minecraft:axis_aligned_linear_pos":m({axis:o({enum:["x","y","z"]})},i),"minecraft:linear_pos":i}},{context:"pos_rule_test",disableSwitchContext:!0})),e.register("rule_test",ji.ObjectNode({predicate_type:o({validator:"resource",params:{pool:"rule_test"}}),[ji.Switch]:[{push:"predicate_type"}],[ji.Case]:{"minecraft:block_match":{block:o({validator:"resource",params:{pool:"block"}})},"minecraft:blockstate_match":{block_state:r("block_state")},"minecraft:random_block_match":{block:o({validator:"resource",params:{pool:"block"}}),probability:ji.NumberNode({min:0,max:1})},"minecraft:random_blockstate_match":{block_state:r("block_state"),probability:ji.NumberNode({min:0,max:1})},"minecraft:tag_match":{tag:o({validator:"resource",params:{pool:"$tag/block"}})}}},{context:"rule_test",disableSwitchContext:!0}))},Object.defineProperty(xi,"__esModule",{value:!0}),xi.initFeatureSchemas=void 0;const Si=Le,Mi=Fo,Ci=wi;xi.initFeatureSchemas=function(e,t){const r=Si.Reference.bind(void 0,e),o=Si.StringNode.bind(void 0,t),i={can_replace:Si.Opt(Si.BooleanNode()),project:Si.Opt(Si.BooleanNode()),need_water:Si.Opt(Si.BooleanNode()),xspread:Si.Opt(Si.NumberNode({integer:!0,min:0})),yspread:Si.Opt(Si.NumberNode({integer:!0,min:0})),zspread:Si.Opt(Si.NumberNode({integer:!0,min:0})),tries:Si.Opt(Si.NumberNode({integer:!0,min:1})),state_provider:r("block_state_provider"),block_placer:r("block_placer"),whitelist:Si.ListNode(r("block_state")),blacklist:Si.ListNode(r("block_state"))},a={state:r("block_state"),radius:Mi.IntProvider({min:0,max:8}),half_height:Si.NumberNode({integer:!0,min:0,max:4}),targets:Si.ListNode(r("block_state"))},n={cap_provider:r("block_state_provider"),stem_provider:r("block_state_provider"),foliage_radius:Si.Opt(Si.NumberNode({integer:!0}))},c=Si.ObjectNode({target:r("rule_test"),state:r("block_state")}),s={size:Si.NumberNode({integer:!0,min:0,max:64}),discard_chance_on_air_exposure:Si.NumberNode({min:0,max:1}),targets:Si.ListNode(c)},l=Si.ChoiceNode([{type:"string",node:o({validator:"resource",params:{pool:"$worldgen/configured_feature"}})},{type:"object",node:r("configured_feature")}],{choiceContext:"feature"}),d={surface:o({enum:["floor","ceiling"]}),depth:Mi.IntProvider({min:1,max:128}),vertical_range:Si.NumberNode({integer:!0,min:1,max:256}),extra_bottom_block_chance:Si.NumberNode({min:0,max:1}),extra_edge_column_chance:Si.NumberNode({min:0,max:1}),vegetation_chance:Si.NumberNode({min:0,max:1}),xz_radius:Mi.IntProvider(),replaceable:o({validator:"resource",params:{pool:"$tag/block"}}),ground_state:r("block_state_provider"),vegetation_feature:l};e.register("configured_feature",Si.Mod(Si.ObjectNode({type:o({validator:"resource",params:{pool:"worldgen/feature"}}),config:Si.ObjectNode({[Si.Switch]:["pop",{push:"type"}],[Si.Case]:{"minecraft:bamboo":{probability:Si.NumberNode({min:0,max:1})},"minecraft:basalt_columns":{reach:Mi.IntProvider({min:0,max:3}),height:Mi.IntProvider({min:1,max:10})},"minecraft:block_pile":{state_provider:r("block_state_provider")},"minecraft:decorated":{decorator:r("configured_decorator"),feature:l},"minecraft:decorated_flower":{decorator:r("configured_decorator"),feature:l},"minecraft:delta_feature":{contents:r("block_state"),rim:r("block_state"),size:Mi.IntProvider({min:0,max:16}),rim_size:Mi.IntProvider({min:0,max:16})},"minecraft:disk":a,"minecraft:dripstone_cluster":{floor_to_ceiling_search_range:Si.NumberNode({integer:!0,min:1,max:512}),height:Mi.IntProvider({min:0,max:128}),radius:Mi.IntProvider({min:0,max:128}),max_stalagmite_stalactite_height_diff:Si.NumberNode({integer:!0,min:0,max:64}),height_deviation:Si.NumberNode({integer:!0,min:1,max:64}),dripstone_block_layer_thickness:Mi.IntProvider({min:0,max:128}),density:Mi.FloatProvider({min:0,max:2}),wetness:Mi.FloatProvider({min:0,max:2}),chance_of_dripstone_column_at_max_distance_from_center:Si.NumberNode({min:0,max:1}),max_distance_from_edge_affecting_chance_of_dripstone_column:Si.NumberNode({integer:!0,min:1,max:64}),max_distance_from_center_affecting_height_bias:Si.NumberNode({integer:!0,min:1,max:64})},"minecraft:end_gateway":{exact:Si.BooleanNode(),exit:Si.Opt(r("block_pos"))},"minecraft:end_spike":{crystal_invulnerable:Si.Opt(Si.BooleanNode()),crystal_beam_target:Si.Opt(r("block_pos")),spikes:Si.ListNode(Si.ObjectNode({centerX:Si.Opt(Si.NumberNode({integer:!0})),centerZ:Si.Opt(Si.NumberNode({integer:!0})),radius:Si.Opt(Si.NumberNode({integer:!0})),height:Si.Opt(Si.NumberNode({integer:!0})),guarded:Si.Opt(Si.BooleanNode())}))},"minecraft:fill_layer":{state:r("block_state"),height:Si.NumberNode({integer:!0,min:0,max:255})},"minecraft:flower":i,"minecraft:forest_rock":{state:r("block_state")},"minecraft:fossil":{max_empty_corners_allowed:Si.NumberNode({integer:!0,min:0,max:7}),fossil_structures:Si.ListNode(o({validator:"resource",params:{pool:"$structure"}})),overlay_structures:Si.ListNode(o({validator:"resource",params:{pool:"$structure"}})),fossil_processors:Ci.Processors,overlay_processors:Ci.Processors},"minecraft:geode":{blocks:Si.ObjectNode({filling_provider:r("block_state_provider"),inner_layer_provider:r("block_state_provider"),alternate_inner_layer_provider:r("block_state_provider"),middle_layer_provider:r("block_state_provider"),outer_layer_provider:r("block_state_provider"),inner_placements:Si.ListNode(r("block_state")),cannot_replace:o({validator:"resource",params:{pool:"$tag/block"}}),invalid_blocks:o({validator:"resource",params:{pool:"$tag/block"}})}),layers:Si.ObjectNode({filling:Si.Opt(Si.NumberNode({min:.01,max:50})),inner_layer:Si.Opt(Si.NumberNode({min:.01,max:50})),middle_layer:Si.Opt(Si.NumberNode({min:.01,max:50})),outer_layer:Si.Opt(Si.NumberNode({min:.01,max:50}))}),crack:Si.ObjectNode({generate_crack_chance:Si.Opt(Si.NumberNode({min:0,max:1})),base_crack_size:Si.Opt(Si.NumberNode({min:0,max:5})),crack_point_offset:Si.Opt(Si.NumberNode({min:0,max:10,integer:!0}))}),noise_multiplier:Si.Opt(Si.NumberNode({min:0,max:1})),use_potential_placements_chance:Si.Opt(Si.NumberNode({min:0,max:1})),use_alternate_layer0_chance:Si.Opt(Si.NumberNode({min:0,max:1})),placements_require_layer0_alternate:Si.Opt(Si.BooleanNode()),outer_wall_distance:Si.Opt(Mi.IntProvider({min:1,max:20})),distribution_points:Si.Opt(Mi.IntProvider({min:1,max:20})),point_offset:Si.Opt(Mi.IntProvider({min:0,max:10})),min_gen_offset:Si.Opt(Si.NumberNode({integer:!0})),max_gen_offset:Si.Opt(Si.NumberNode({integer:!0})),invalid_blocks_threshold:Si.NumberNode({integer:!0})},"minecraft:glow_lichen":{search_range:Si.Opt(Si.NumberNode({min:1,max:64,integer:!0})),chance_of_spreading:Si.Opt(Si.NumberNode({min:0,max:1})),can_place_on_floor:Si.Opt(Si.BooleanNode()),can_place_on_ceiling:Si.Opt(Si.BooleanNode()),can_place_on_wall:Si.Opt(Si.BooleanNode()),can_be_placed_on:Si.ListNode(r("block_state"))},"minecraft:growing_plant":{direction:o({enum:["up","down","north","east","south","west"]}),allow_water:Si.BooleanNode(),height_distribution:Si.ListNode(Si.ObjectNode({weight:Si.NumberNode({integer:!0}),data:Mi.IntProvider()})),body_provider:r("block_state_provider"),head_provider:r("block_state_provider")},"minecraft:huge_brown_mushroom":n,"minecraft:huge_fungus":{hat_state:r("block_state"),decor_state:r("block_state"),stem_state:r("block_state"),valid_base_block:r("block_state"),planted:Si.Opt(Si.BooleanNode())},"minecraft:huge_red_mushroom":n,"minecraft:ice_patch":a,"minecraft:iceberg":{state:r("block_state")},"minecraft:lake":{state:r("block_state")},"minecraft:large_dripstone":{floor_to_ceiling_search_range:Si.Opt(Si.NumberNode({integer:!0,min:1,max:512})),column_radius:Mi.IntProvider({min:0,max:60}),height_scale:Mi.FloatProvider({min:0,max:20}),max_column_radius_to_cave_height_ratio:Si.NumberNode({min:0,max:1}),stalactite_bluntness:Mi.FloatProvider({min:.1,max:10}),stalagmite_bluntness:Mi.FloatProvider({min:.1,max:10}),wind_speed:Mi.FloatProvider({min:0,max:2}),min_radius_for_wind:Si.NumberNode({integer:!0,min:0,max:100}),min_bluntness_for_wind:Si.NumberNode({min:0,max:5})},"minecraft:nether_forest_vegetation":{state_provider:r("block_state_provider")},"minecraft:netherrack_replace_blobs":{state:r("block_state"),target:r("block_state"),radius:Mi.IntProvider({min:0,max:12})},"minecraft:no_bonemeal_flower":i,"minecraft:ore":s,"minecraft:random_patch":i,"minecraft:random_boolean_selector":{feature_false:l,feature_true:l},"minecraft:random_selector":{features:Si.ListNode(Si.ObjectNode({chance:Si.NumberNode({min:0,max:1}),feature:l})),default:l},"minecraft:replace_single_block":{targets:Si.ListNode(c)},"minecraft:root_system":{required_vertical_space_for_tree:Si.NumberNode({integer:!0,min:1,max:64}),root_radius:Si.NumberNode({integer:!0,min:1,max:64}),root_placement_attempts:Si.NumberNode({integer:!0,min:1,max:256}),root_column_max_height:Si.NumberNode({integer:!0,min:1,max:4096}),hanging_root_radius:Si.NumberNode({integer:!0,min:1,max:64}),hanging_roots_vertical_span:Si.NumberNode({integer:!0,min:0,max:16}),hanging_root_placement_attempts:Si.NumberNode({integer:!0,min:0,max:256}),allowed_vertical_water_for_tree:Si.NumberNode({integer:!0,min:1,max:64}),root_replaceable:o({validator:"resource",params:{pool:"$tag/block"}}),root_state_provider:r("block_state_provider"),hanging_root_state_provider:r("block_state_provider"),feature:l},"minecraft:scattered_ore":s,"minecraft:sea_pickle":{count:Mi.IntProvider({min:0,max:256})},"minecraft:seagrass":{probability:Si.NumberNode({min:0,max:1})},"minecraft:simple_block":{to_place:r("block_state_provider"),place_on:Si.ListNode(r("block_state")),place_in:Si.ListNode(r("block_state")),place_under:Si.ListNode(r("block_state"))},"minecraft:simple_random_selector":{features:Si.ListNode(l)},"minecraft:small_dripstone":{max_placements:Si.Opt(Si.NumberNode({integer:!0,min:0,max:100})),empty_space_search_radius:Si.Opt(Si.NumberNode({integer:!0,min:0,max:20})),max_offset_from_origin:Si.Opt(Si.NumberNode({integer:!0,min:0,max:20})),chance_of_taller_dripstone:Si.Opt(Si.NumberNode({min:0,max:1}))},"minecraft:spring_feature":{state:r("fluid_state"),rock_count:Si.NumberNode({integer:!0}),hole_count:Si.NumberNode({integer:!0}),requires_block_below:Si.BooleanNode(),valid_blocks:Si.ListNode(o({validator:"resource",params:{pool:"block"}}))},"minecraft:tree":{ignore_vines:Si.Opt(Si.BooleanNode()),force_dirt:Si.Opt(Si.BooleanNode()),minimum_size:r("feature_size"),dirt_provider:r("block_state_provider"),sapling_provider:r("block_state_provider"),trunk_provider:r("block_state_provider"),foliage_provider:r("block_state_provider"),trunk_placer:Si.ObjectNode({type:o({validator:"resource",params:{pool:"worldgen/trunk_placer_type"}}),base_height:Si.NumberNode({integer:!0,min:0,max:32}),height_rand_a:Si.NumberNode({integer:!0,min:0,max:24}),height_rand_b:Si.NumberNode({integer:!0,min:0,max:24}),[Si.Switch]:[{push:"type"}],[Si.Case]:{"minecraft:bending_trunk_placer":{bend_length:Mi.IntProvider({min:1,max:64}),min_height_for_leaves:Si.Opt(Si.NumberNode({integer:!0,min:1}))}}},{context:"trunk_placer"}),foliage_placer:Si.ObjectNode({type:o({validator:"resource",params:{pool:"worldgen/foliage_placer_type"}}),radius:Mi.IntProvider({min:0,max:16}),offset:Mi.IntProvider({min:0,max:16}),[Si.Switch]:[{push:"type"}],[Si.Case]:{"minecraft:blob_foliage_placer":{height:Si.NumberNode({integer:!0,min:0,max:16})},"minecraft:bush_foliage_placer":{height:Si.NumberNode({integer:!0,min:0,max:16})},"minecraft:fancy_foliage_placer":{height:Si.NumberNode({integer:!0,min:0,max:16})},"minecraft:jungle_foliage_placer":{height:Si.NumberNode({integer:!0,min:0,max:16})},"minecraft:mega_pine_foliage_placer":{crown_height:Mi.IntProvider({min:0,max:24})},"minecraft:pine_foliage_placer":{height:Mi.IntProvider({min:0,max:24})},"minecraft:random_spread_foliage_placer":{foliage_height:Mi.IntProvider({min:1,max:512}),leaf_placement_attempts:Si.NumberNode({integer:!0,min:0,max:256})},"minecraft:spruce_foliage_placer":{trunk_height:Mi.IntProvider({min:0,max:24})}}},{context:"foliage_placer",disableSwitchContext:!0}),decorators:Si.ListNode(Si.ObjectNode({type:o({validator:"resource",params:{pool:"worldgen/tree_decorator_type"}}),[Si.Switch]:[{push:"type"}],[Si.Case]:{"minecraft:alter_ground":{provider:r("block_state_provider")},"minecraft:beehive":{probability:Si.NumberNode({min:0,max:1})},"minecraft:cocoa":{probability:Si.NumberNode({min:0,max:1})}}},{context:"tree_decorator"}))},"minecraft:underwater_magma":{floor_search_range:Si.NumberNode({integer:!0,min:0,max:512}),placement_radius_around_floor:Si.NumberNode({integer:!0,min:0,max:64}),placement_probability_per_valid_position:Si.NumberNode({min:0,max:1})},"minecraft:vegetation_patch":d,"minecraft:waterlogged_vegetation_patch":d}},{context:"feature"})},{context:"feature"}),{default:()=>({type:"minecraft:decorated",config:{decorator:{type:"minecraft:count",config:{count:4}},feature:{type:"minecraft:tree",config:{max_water_depth:0,ignore_vines:!0,minimum_size:{},trunk_placer:{base_height:5,height_rand_a:2,height_rand_b:0},foliage_placer:{radius:2,offset:0,height:3}}}}})})),e.register("feature_size",Si.Mod(Si.ObjectNode({type:o({validator:"resource",params:{pool:"worldgen/feature_size_type"}}),min_clipped_height:Si.Opt(Si.NumberNode({min:0,max:80})),[Si.Switch]:[{push:"type"}],[Si.Case]:{"minecraft:two_layers_feature_size":{limit:Si.Opt(Si.NumberNode({integer:!0,min:0,max:81})),lower_size:Si.Opt(Si.NumberNode({integer:!0,min:0,max:16})),upper_size:Si.Opt(Si.NumberNode({integer:!0,min:0,max:16}))},"minecraft:three_layers_feature_size":{limit:Si.Opt(Si.NumberNode({integer:!0,min:0,max:80})),upper_limit:Si.Opt(Si.NumberNode({integer:!0,min:0,max:80})),lower_size:Si.Opt(Si.NumberNode({integer:!0,min:0,max:16})),middle_size:Si.Opt(Si.NumberNode({integer:!0,min:0,max:16})),upper_size:Si.Opt(Si.NumberNode({integer:!0,min:0,max:16}))}}},{disableSwitchContext:!0}),{default:()=>({type:"minecraft:two_layers_feature_size"})})),e.register("block_state_provider",Si.Mod(Si.ObjectNode({type:o({validator:"resource",params:{pool:"worldgen/block_state_provider_type"}}),[Si.Switch]:[{push:"type"}],[Si.Case]:{"minecraft:randomized_int_state_provider":{property:o(),values:Mi.IntProvider(),source:r("block_state_provider")},"minecraft:rotated_block_provider":{state:r("block_state")},"minecraft:simple_state_provider":{state:r("block_state")},"minecraft:weighted_state_provider":{entries:Si.ListNode(Si.Mod(Si.ObjectNode({weight:Si.NumberNode({integer:!0,min:1}),data:r("block_state")}),{default:()=>({data:{}})}))}}},{context:"block_state_provider"}),{default:()=>({type:"minecraft:simple_state_provider"})})),e.register("block_placer",Si.Mod(Si.ObjectNode({type:o({validator:"resource",params:{pool:"worldgen/block_placer_type"}}),[Si.Switch]:[{push:"type"}],[Si.Case]:{"minecraft:column_placer":{size:Mi.IntProvider({min:0})}}},{context:"block_placer"}),{default:()=>({type:"minecraft:simple_block_placer"})}))};var Pi={};Object.defineProperty(Pi,"__esModule",{value:!0}),Pi.initNoiseSettingsSchemas=void 0;const Li=Le,Bi=Fo;Pi.initNoiseSettingsSchemas=function(e,t){const r=Li.Reference.bind(void 0,e),o=Li.StringNode.bind(void 0,t);e.register("noise_settings",Li.Mod(Li.ObjectNode({name:Li.Mod(o({validator:"resource",params:{pool:"$worldgen/noise_settings",isDefinition:!0}}),{enabled:e=>e.getArray().length>0}),bedrock_roof_position:Li.NumberNode({integer:!0}),bedrock_floor_position:Li.NumberNode({integer:!0}),sea_level:Li.NumberNode({integer:!0}),min_surface_level:Li.NumberNode({integer:!0}),disable_mob_generation:Li.BooleanNode(),noise_caves_enabled:Li.BooleanNode(),noodle_caves_enabled:Li.BooleanNode(),aquifers_enabled:Li.BooleanNode(),deepslate_enabled:Li.BooleanNode(),ore_veins_enabled:Li.BooleanNode(),default_block:r("block_state"),default_fluid:r("block_state"),noise:Li.ObjectNode({min_y:Li.NumberNode({integer:!0,min:-2048,max:2047}),height:Li.NumberNode({integer:!0,min:0,max:4096}),density_factor:Li.NumberNode(),density_offset:Li.NumberNode(),size_horizontal:Li.NumberNode({integer:!0}),size_vertical:Li.NumberNode({integer:!0}),simplex_surface_noise:Li.BooleanNode(),random_density_offset:Li.Opt(Li.BooleanNode()),island_noise_override:Li.Opt(Li.BooleanNode()),amplified:Li.Opt(Li.BooleanNode()),sampling:Li.ObjectNode({xz_scale:Li.NumberNode(),y_scale:Li.NumberNode(),xz_factor:Li.NumberNode(),y_factor:Li.NumberNode()}),bottom_slide:Li.ObjectNode({target:Li.NumberNode({integer:!0}),size:Li.NumberNode({integer:!0,min:0}),offset:Li.NumberNode({integer:!0})}),top_slide:Li.ObjectNode({target:Li.NumberNode({integer:!0}),size:Li.NumberNode({integer:!0,min:0}),offset:Li.NumberNode({integer:!0})})}),structures:r("generator_structures")},{context:"noise_settings"}),(e=>({default:()=>Bi.DefaultNoiseSettings,validate:(t,r,o,i)=>{var a,n,c,s;return(null===(a=null==(r=e.validate(t,r,o,i))?void 0:r.noise)||void 0===a?void 0:a.min_y)+(null===(n=null==r?void 0:r.noise)||void 0===n?void 0:n.height)>2047&&o.add(t.push("noise").push("height"),"error.min_y_plus_height",2047),(null===(c=null==r?void 0:r.noise)||void 0===c?void 0:c.height)%16!=0&&o.add(t.push("noise").push("height"),"error.height_multiple",16),(null===(s=null==r?void 0:r.noise)||void 0===s?void 0:s.min_y)%16!=0&&o.add(t.push("noise").push("min_y"),"error.min_y_multiple",16),r}})))),e.register("generator_structures",Li.ObjectNode({stronghold:Li.Opt(Li.ObjectNode({distance:Li.NumberNode({integer:!0,min:0,max:1023}),spread:Li.NumberNode({integer:!0,min:0,max:1023}),count:Li.NumberNode({integer:!0,min:1,max:4095})})),structures:Li.MapNode(o({validator:"resource",params:{pool:"worldgen/structure_feature"}}),Li.Mod(Li.ObjectNode({spacing:Li.NumberNode({integer:!0,min:0,max:4096}),separation:Li.Mod(Li.NumberNode({integer:!0,min:0,max:4096}),(e=>({validate:(t,r,o,i)=>(t.pop().push("spacing").get()<=r&&o.add(t,"error.separation_smaller_spacing"),e.validate(t,r,o,i))}))),salt:Li.NumberNode({integer:!0,min:0})},{context:"generator_structure"}),{default:()=>({spacing:10,separation:5,salt:0})}))})),e.register("generator_layer",Li.Mod(Li.ObjectNode({block:o({validator:"resource",params:{pool:"block"}}),height:Li.NumberNode({integer:!0,min:1})}),{default:()=>({block:"minecraft:stone",height:1})}))};var zi={};Object.defineProperty(zi,"__esModule",{value:!0}),zi.initStructureFeatureSchemas=void 0;const Ri=Le;zi.initStructureFeatureSchemas=function(e,t){const r=Ri.StringNode.bind(void 0,t),o=Ri.Reference.bind(void 0,e),i={start_pool:r({validator:"resource",params:{pool:"$worldgen/template_pool"}}),size:Ri.NumberNode({integer:!0})};e.register("configured_structure_feature",Ri.Mod(Ri.ObjectNode({type:r({validator:"resource",params:{pool:"worldgen/structure_feature"}}),config:Ri.ObjectNode({[Ri.Switch]:["pop",{push:"type"}],[Ri.Case]:{"minecraft:bastion_remnant":i,"minecraft:buried_treasure":{probability:Ri.NumberNode({min:0,max:1})},"minecraft:mineshaft":{type:r({enum:["normal","mesa"]}),probability:Ri.NumberNode({min:0,max:1})},"minecraft:nether_fossil":{height:o("height_provider")},"minecraft:ocean_ruin":{biome_temp:r({enum:["cold","warm"]}),large_probability:Ri.NumberNode({min:0,max:1}),cluster_probability:Ri.NumberNode({min:0,max:1})},"minecraft:pillager_outpost":i,"minecraft:ruined_portal":{portal_type:r({enum:["standard","desert","jungle","mountain","nether","ocean","swamp"]})},"minecraft:shipwreck":{is_beached:Ri.Opt(Ri.BooleanNode())},"minecraft:village":i}},{context:"structure_feature",disableSwitchContext:!0})},{context:"structure_feature"}),{default:()=>({type:"minecraft:bastion_remnant",config:{start_pool:"minecraft:bastion/starts",size:6}})}))};var $i={};Object.defineProperty($i,"__esModule",{value:!0}),$i.initSurfaceBuilderSchemas=void 0;const Ai=Le;$i.initSurfaceBuilderSchemas=function(e,t){const r=Ai.StringNode.bind(void 0,t),o=Ai.Reference.bind(void 0,e);e.register("configured_surface_builder",Ai.Mod(Ai.ObjectNode({type:r({validator:"resource",params:{pool:"worldgen/surface_builder"}}),config:Ai.ObjectNode({top_material:o("block_state"),under_material:o("block_state"),underwater_material:o("block_state")},{context:"surface_builder"})},{context:"surface_builder"}),{default:()=>({type:"minecraft:default",config:{top_material:{Name:"minecraft:grass_block",Properties:{snowy:"false"}},under_material:{Name:"minecraft:dirt"},underwater_material:{Name:"minecraft:gravel"}}})}))};var Ti={};Object.defineProperty(Ti,"__esModule",{value:!0}),Ti.initTemplatePoolSchemas=void 0;const qi=Le,Ii=wi;Ti.initTemplatePoolSchemas=function(e,t){const r=qi.Reference.bind(void 0,e),o=qi.StringNode.bind(void 0,t);e.register("template_pool",qi.Mod(qi.ObjectNode({name:o(),fallback:o(),elements:qi.ListNode(r("template_weighted_element"))},{context:"template_pool"}),{default:()=>({fallback:"minecraft:empty",elements:[{weight:1,element:{element_type:"minecraft:single_pool_element",projection:"rigid",processors:"minecraft:empty"}}]})})),e.register("template_weighted_element",qi.Mod(qi.ObjectNode({weight:qi.NumberNode({integer:!0,min:1}),element:r("template_element")},{category:"pool"}),{default:()=>({weight:1,element:{element_type:"minecraft:single_pool_element",projection:"rigid",processors:"minecraft:empty"}})})),e.register("template_element",qi.Mod(qi.ObjectNode({element_type:o({validator:"resource",params:{pool:"worldgen/structure_pool_element"}}),projection:o({enum:["rigid","terrain_matching"]}),[qi.Switch]:[{push:"element_type"}],[qi.Case]:{"minecraft:feature_pool_element":{feature:o({validator:"resource",params:{pool:"$worldgen/configured_feature"}})},"minecraft:legacy_single_pool_element":{location:o({validator:"resource",params:{pool:"$structure"}}),processors:Ii.Processors},"minecraft:list_pool_element":{elements:qi.ListNode(r("template_element"))},"minecraft:single_pool_element":{location:o({validator:"resource",params:{pool:"$structure"}}),processors:Ii.Processors}}},{context:"template_element",disableSwitchContext:!0}),{default:()=>({element_type:"minecraft:single_pool_element",projection:"rigid",processors:"minecraft:empty"})}))},Object.defineProperty(fi,"__esModule",{value:!0}),fi.initWorldgenSchemas=void 0;const Di=gi,Fi=hi,Ei=Ni,Ui=xi,Wi=Pi,Hi=wi,Ki=zi,Gi=$i,Xi=Ti;fi.initWorldgenSchemas=function(e,t){Hi.initProcessorListSchemas(e,t),Di.initBiomeSchemas(e,t),Fi.initCarverSchemas(e,t),Ei.initDecoratorSchemas(e,t),Ui.initFeatureSchemas(e,t),Wi.initNoiseSettingsSchemas(e,t),Ki.initStructureFeatureSchemas(e,t),Gi.initSurfaceBuilderSchemas(e,t),Xi.initTemplatePoolSchemas(e,t)};var Vi={};Object.defineProperty(Vi,"__esModule",{value:!0}),Vi.initWorldSettingsSchemas=void 0;const Ji=Le;Vi.initWorldSettingsSchemas=function(e,t){const r=Ji.Reference.bind(void 0,e),o=Ji.StringNode.bind(void 0,t);e.register("world_settings",Ji.Mod(Ji.ObjectNode({generate_features:Ji.BooleanNode(),bonus_chest:Ji.BooleanNode(),seed:Ji.NumberNode({integer:!0}),dimensions:Ji.MapNode(o({validator:"resource",params:{pool:"$dimension"}}),r("dimension"))},{context:"world_settings"}),{default:()=>{const e=Math.floor(4294967296*Math.random())-2147483648;return{generate_features:!0,bonus_chest:!1,seed:e,dimensions:{"minecraft:overworld":{type:"minecraft:overworld",generator:{type:"minecraft:noise",seed:e,biome_source:{type:"minecraft:vanilla_layered",seed:e},settings:"minecraft:overworld"}},"minecraft:the_nether":{type:"minecraft:the_nether",generator:{type:"minecraft:noise",seed:e,biome_source:{type:"minecraft:multi_noise",seed:e,humidity_noise:{firstOctave:-7,amplitudes:[1,1]},altitude_noise:{firstOctave:-7,amplitudes:[1,1]},weirdness_noise:{firstOctave:-7,amplitudes:[1,1]},temperature_noise:{firstOctave:-7,amplitudes:[1,1]},biomes:[{parameters:{altitude:0,weirdness:0,offset:0,temperature:0,humidity:0},biome:"minecraft:nether_wastes"},{parameters:{altitude:0,weirdness:0,offset:0,temperature:0,humidity:-.5},biome:"minecraft:soul_sand_valley"},{parameters:{altitude:0,weirdness:0,offset:0,temperature:.4,humidity:0},biome:"minecraft:crimson_forest"},{parameters:{altitude:0,weirdness:0,offset:.375,temperature:0,humidity:.5},biome:"minecraft:warped_forest"},{parameters:{altitude:0,weirdness:0,offset:.175,temperature:-.5,humidity:0},biome:"minecraft:basalt_deltas"}]},settings:"minecraft:nether"}},"minecraft:the_end":{type:"minecraft:the_end",generator:{type:"minecraft:noise",seed:e,biome_source:{type:"minecraft:the_end",seed:e},settings:"minecraft:end"}}}}}}))},Object.defineProperty(qo,"__esModule",{value:!0}),qo.initSchemas=void 0;const Zi=Io,Yi=Fo,Qi=Eo,ea=Ho,ta=Xo,ra=Zo,oa=ei,ia=ai,aa=ci,na=li,ca=mi,sa=pi,la=fi,da=Vi;qo.initSchemas=function(e,t){Yi.initCommonSchemas(e,t),Zi.initAdvancementSchemas(e,t),Qi.initConditionSchemas(e,t),ta.initDimensionTypeSchemas(e,t),ea.initDimensionSchemas(e,t),ra.initItemModifierSchemas(e,t),oa.initLootTableSchemas(e,t),ia.initPackMcmetaSchemas(e,t),aa.initPredicatesSchemas(e,t),na.initRecipeSchemas(e,t),ca.initTagsSchemas(e,t),sa.initTextComponentSchemas(e,t),la.initWorldgenSchemas(e,t),da.initWorldSettingsSchemas(e,t)};var ma=Ce&&Ce.__createBinding||(Object.create?function(e,t,r,o){void 0===o&&(o=r),Object.defineProperty(e,o,{enumerable:!0,get:function(){return t[r]}})}:function(e,t,r,o){void 0===o&&(o=r),e[o]=t[r]}),_a=Ce&&Ce.__setModuleDefault||(Object.create?function(e,t){Object.defineProperty(e,"default",{enumerable:!0,value:t})}:function(e,t){e.default=t}),pa=Ce&&Ce.__importStar||function(e){if(e&&e.__esModule)return e;var t={};if(null!=e)for(var r in e)"default"!==r&&Object.hasOwnProperty.call(e,r)&&ma(t,e,r);return _a(t,e),t};Object.defineProperty(Ao,"__esModule",{value:!0});var ua=Ao.getSchemas=Ao.getCollections=void 0;const fa=Le,ga=To,ba=qo;var ha=Ao.lootContext=pa(ti);var va=Ao.getCollections=function(){const e=new fa.CollectionRegistry;return ga.initCollections(e),e};ua=Ao.getSchemas=function(e){const t=new fa.SchemaRegistry;return ba.initSchemas(t,e),t};var ya=Object.freeze(Object.assign(Object.create(null),Ao,{[Symbol.toStringTag]:"Module",get getSchemas(){return ua},get getCollections(){return va},lootContext:ha,default:Ao})),Na={exports:{}};!function(e,t,r){function o(e){var t,r=this,o=(t=4022871197,function(e){e=String(e);for(var r=0;r>>0,t=(o*=t)>>>0,t+=4294967296*(o-=t)}return 2.3283064365386963e-10*(t>>>0)});r.next=function(){var e=2091639*r.s0+2.3283064365386963e-10*r.c;return r.s0=r.s1,r.s1=r.s2,r.s2=e-(r.c=0|e)},r.c=1,r.s0=o(" "),r.s1=o(" "),r.s2=o(" "),r.s0-=o(e),r.s0<0&&(r.s0+=1),r.s1-=o(e),r.s1<0&&(r.s1+=1),r.s2-=o(e),r.s2<0&&(r.s2+=1),o=null}function i(e,t){return t.c=e.c,t.s0=e.s0,t.s1=e.s1,t.s2=e.s2,t}function a(e,t){var r=new o(e),a=t&&t.state,n=r.next;return n.int32=function(){return 4294967296*r.next()|0},n.double=function(){return n()+11102230246251565e-32*(2097152*n()|0)},n.quick=n,a&&("object"==typeof a&&i(a,r),n.state=function(){return i(r,{})}),n}t&&t.exports?t.exports=a:this.alea=a}(0,Na);var Oa={exports:{}};!function(e,t,r){function o(e){var t=this,r="";t.x=0,t.y=0,t.z=0,t.w=0,t.next=function(){var e=t.x^t.x<<11;return t.x=t.y,t.y=t.z,t.z=t.w,t.w^=t.w>>>19^e^e>>>8},e===(0|e)?t.x=e:r+=e;for(var o=0;o>>0)/4294967296};return n.double=function(){do{var e=((r.next()>>>11)+(r.next()>>>0)/4294967296)/(1<<21)}while(0===e);return e},n.int32=r.next,n.quick=n,a&&("object"==typeof a&&i(a,r),n.state=function(){return i(r,{})}),n}t&&t.exports?t.exports=a:this.xor128=a}(0,Oa);var ka={exports:{}};!function(e,t,r){function o(e){var t=this,r="";t.next=function(){var e=t.x^t.x>>>2;return t.x=t.y,t.y=t.z,t.z=t.w,t.w=t.v,(t.d=t.d+362437|0)+(t.v=t.v^t.v<<4^e^e<<1)|0},t.x=0,t.y=0,t.z=0,t.w=0,t.v=0,e===(0|e)?t.x=e:r+=e;for(var o=0;o>>4),t.next()}function i(e,t){return t.x=e.x,t.y=e.y,t.z=e.z,t.w=e.w,t.v=e.v,t.d=e.d,t}function a(e,t){var r=new o(e),a=t&&t.state,n=function(){return(r.next()>>>0)/4294967296};return n.double=function(){do{var e=((r.next()>>>11)+(r.next()>>>0)/4294967296)/(1<<21)}while(0===e);return e},n.int32=r.next,n.quick=n,a&&("object"==typeof a&&i(a,r),n.state=function(){return i(r,{})}),n}t&&t.exports?t.exports=a:this.xorwow=a}(0,ka);var xa={exports:{}};!function(e,t,r){function o(e){var t=this;t.next=function(){var e,r,o=t.x,i=t.i;return e=o[i],r=(e^=e>>>7)^e<<24,r^=(e=o[i+1&7])^e>>>10,r^=(e=o[i+3&7])^e>>>3,r^=(e=o[i+4&7])^e<<7,e=o[i+7&7],r^=(e^=e<<13)^e<<9,o[i]=r,t.i=i+1&7,r},function(e,t){var r,o=[];if(t===(0|t))o[0]=t;else for(t=""+t,r=0;r0;--r)e.next()}(t,e)}function i(e,t){return t.x=e.x.slice(),t.i=e.i,t}function a(e,t){null==e&&(e=+new Date);var r=new o(e),a=t&&t.state,n=function(){return(r.next()>>>0)/4294967296};return n.double=function(){do{var e=((r.next()>>>11)+(r.next()>>>0)/4294967296)/(1<<21)}while(0===e);return e},n.int32=r.next,n.quick=n,a&&(a.x&&i(a,r),n.state=function(){return i(r,{})}),n}t&&t.exports?t.exports=a:this.xorshift7=a}(0,xa);var wa={exports:{}};!function(e,t,r){function o(e){var t=this;t.next=function(){var e,r,o=t.w,i=t.X,a=t.i;return t.w=o=o+1640531527|0,r=i[a+34&127],e=i[a=a+1&127],r^=r<<13,e^=e<<17,r^=r>>>15,e^=e>>>12,r=i[a]=r^e,t.i=a,r+(o^o>>>16)|0},function(e,t){var r,o,i,a,n,c=[],s=128;for(t===(0|t)?(o=t,t=null):(t+="\0",o=0,s=Math.max(s,t.length)),i=0,a=-32;a>>15,o^=o<<4,o^=o>>>13,a>=0&&(n=n+1640531527|0,i=0==(r=c[127&a]^=o+n)?i+1:0);for(i>=128&&(c[127&(t&&t.length||0)]=-1),i=127,a=512;a>0;--a)o=c[i+34&127],r=c[i=i+1&127],o^=o<<13,r^=r<<17,o^=o>>>15,r^=r>>>12,c[i]=o^r;e.w=n,e.X=c,e.i=i}(t,e)}function i(e,t){return t.i=e.i,t.w=e.w,t.X=e.X.slice(),t}function a(e,t){null==e&&(e=+new Date);var r=new o(e),a=t&&t.state,n=function(){return(r.next()>>>0)/4294967296};return n.double=function(){do{var e=((r.next()>>>11)+(r.next()>>>0)/4294967296)/(1<<21)}while(0===e);return e},n.int32=r.next,n.quick=n,a&&(a.X&&i(a,r),n.state=function(){return i(r,{})}),n}t&&t.exports?t.exports=a:this.xor4096=a}(0,wa);var ja={exports:{}};!function(e,t,r){function o(e){var t=this,r="";t.next=function(){var e=t.b,r=t.c,o=t.d,i=t.a;return e=e<<25^e>>>7^r,r=r-o|0,o=o<<24^o>>>8^i,i=i-e|0,t.b=e=e<<20^e>>>12^r,t.c=r=r-o|0,t.d=o<<16^r>>>16^i,t.a=i-e|0},t.a=0,t.b=0,t.c=-1640531527,t.d=1367130551,e===Math.floor(e)?(t.a=e/4294967296|0,t.b=0|e):r+=e;for(var o=0;o>>0)/4294967296};return n.double=function(){do{var e=((r.next()>>>11)+(r.next()>>>0)/4294967296)/(1<<21)}while(0===e);return e},n.int32=r.next,n.quick=n,a&&("object"==typeof a&&i(a,r),n.state=function(){return i(r,{})}),n}t&&t.exports?t.exports=a:this.tychei=a}(0,ja);var Sa,Ma={exports:{}},Ca=Pe(Object.freeze({__proto__:null,[Symbol.toStringTag]:"Module",default:{}}));Sa=Ma,function(e,t,r){var o,i=256,a=r.pow(i,6),n=r.pow(2,52),c=2*n,s=255;function l(s,l,f){var g=[],b=p(_((l=1==l?{entropy:!0}:l||{}).entropy?[s,u(t)]:null==s?function(){try{var r;return o&&(r=o.randomBytes)?r=r(i):(r=new Uint8Array(i),(e.crypto||e.msCrypto).getRandomValues(r)),u(r)}catch(c){var a=e.navigator,n=a&&a.plugins;return[+new Date,e,n,e.screen,u(t)]}}():s,3),g),h=new d(g),v=function(){for(var e=h.g(6),t=a,r=0;e=c;)e/=2,t/=2,r>>>=1;return(e+r)/t};return v.int32=function(){return 0|h.g(4)},v.quick=function(){return h.g(4)/4294967296},v.double=v,p(u(h.S),t),(l.pass||f||function(e,t,o,i){return i&&(i.S&&m(i,h),e.state=function(){return m(h,{})}),o?(r.random=e,t):e})(v,b,"global"in l?l.global:this==r,l.state)}function d(e){var t,r=e.length,o=this,a=0,n=o.i=o.j=0,c=o.S=[];for(r||(e=[r++]);a3)for(u=[u],o=3;o0?v(k.type,k.props,k.key,null,k.__v):k)){if(k.__=u,k.__b=u.__b+1,null===(_=A[h])||_&&k.key==_.key&&k.type===_.type)A[h]=void 0;else for(p=0;p3)for(u=[u],o=3;o b.rank) ? -1 :\n\t\t\t\t(a.index - b.index)\n\t);\n}\n\n// filter out VNodes without attributes (which are unrankeable), and add `index`/`rank` properties to be used in sorting.\nfunction prepareVNodeForRanking(vnode, index) {\n\tvnode.index = index;\n\tvnode.rank = rankChild(vnode);\n\treturn vnode.props;\n}\n\nfunction segmentize(url) {\n\treturn url.replace(/(^\\/+|\\/+$)/g, '').split('/');\n}\n\nfunction rankSegment(segment) {\n\treturn segment.charAt(0)==':' ? (1 + '*+?'.indexOf(segment.charAt(segment.length-1))) || 4 : 5;\n}\n\nfunction rank(path) {\n\treturn segmentize(path).map(rankSegment).join('');\n}\n\nfunction rankChild(vnode) {\n\treturn vnode.props.default ? 0 : rank(vnode.props.path);\n}\n\nvar customHistory = null;\n\nvar ROUTERS = [];\n\nvar subscribers = [];\n\nvar EMPTY = {};\n\nfunction setUrl(url, type) {\n\tif ( type === void 0 ) type='push';\n\n\tif (customHistory && customHistory[type]) {\n\t\tcustomHistory[type](url);\n\t}\n\telse if (typeof history!=='undefined' && history[type+'State']) {\n\t\thistory[type+'State'](null, null, url);\n\t}\n}\n\n\nfunction getCurrentUrl() {\n\tvar url;\n\tif (customHistory && customHistory.location) {\n\t\turl = customHistory.location;\n\t}\n\telse if (customHistory && customHistory.getCurrentLocation) {\n\t\turl = customHistory.getCurrentLocation();\n\t}\n\telse {\n\t\turl = typeof location!=='undefined' ? location : EMPTY;\n\t}\n\treturn (\"\" + (url.pathname || '') + (url.search || ''));\n}\n\n\n\nfunction route(url, replace) {\n\tif ( replace === void 0 ) replace=false;\n\n\tif (typeof url!=='string' && url.url) {\n\t\treplace = url.replace;\n\t\turl = url.url;\n\t}\n\n\t// only push URL into history if we can handle it\n\tif (canRoute(url)) {\n\t\tsetUrl(url, replace ? 'replace' : 'push');\n\t}\n\n\treturn routeTo(url);\n}\n\n\n/** Check if the given URL can be handled by any router instances. */\nfunction canRoute(url) {\n\tfor (var i=ROUTERS.length; i--; ) {\n\t\tif (ROUTERS[i].canRoute(url)) { return true; }\n\t}\n\treturn false;\n}\n\n\n/** Tell all router instances to handle the given URL. */\nfunction routeTo(url) {\n\tvar didRoute = false;\n\tfor (var i=0; i 0;\n\t};\n\n\t/** Re-render children with a new URL to match against. */\n\tRouter.prototype.routeTo = function routeTo (url) {\n\t\tthis.setState({ url: url });\n\n\t\tvar didRoute = this.canRoute(url);\n\n\t\t// trigger a manual re-route if we're not in the middle of an update:\n\t\tif (!this.updating) { this.forceUpdate(); }\n\n\t\treturn didRoute;\n\t};\n\n\tRouter.prototype.componentWillMount = function componentWillMount () {\n\t\tROUTERS.push(this);\n\t\tthis.updating = true;\n\t};\n\n\tRouter.prototype.componentDidMount = function componentDidMount () {\n\t\tvar this$1 = this;\n\n\t\tif (customHistory) {\n\t\t\tthis.unlisten = customHistory.listen(function (location) {\n\t\t\t\tthis$1.routeTo((\"\" + (location.pathname || '') + (location.search || '')));\n\t\t\t});\n\t\t}\n\t\tthis.updating = false;\n\t};\n\n\tRouter.prototype.componentWillUnmount = function componentWillUnmount () {\n\t\tif (typeof this.unlisten==='function') { this.unlisten(); }\n\t\tROUTERS.splice(ROUTERS.indexOf(this), 1);\n\t};\n\n\tRouter.prototype.componentWillUpdate = function componentWillUpdate () {\n\t\tthis.updating = true;\n\t};\n\n\tRouter.prototype.componentDidUpdate = function componentDidUpdate () {\n\t\tthis.updating = false;\n\t};\n\n\tRouter.prototype.getMatchingChildren = function getMatchingChildren (children, url, invoke) {\n\t\treturn children\n\t\t\t.filter(prepareVNodeForRanking)\n\t\t\t.sort(pathRankSort)\n\t\t\t.map( function (vnode) {\n\t\t\t\tvar matches = exec(url, vnode.props.path, vnode.props);\n\t\t\t\tif (matches) {\n\t\t\t\t\tif (invoke !== false) {\n\t\t\t\t\t\tvar newProps = { url: url, matches: matches };\n\t\t\t\t\t\tassign(newProps, matches);\n\t\t\t\t\t\tdelete newProps.ref;\n\t\t\t\t\t\tdelete newProps.key;\n\t\t\t\t\t\treturn cloneElement(vnode, newProps);\n\t\t\t\t\t}\n\t\t\t\t\treturn vnode;\n\t\t\t\t}\n\t\t\t}).filter(Boolean);\n\t};\n\n\tRouter.prototype.render = function render (ref, ref$1) {\n\t\tvar children = ref.children;\n\t\tvar onChange = ref.onChange;\n\t\tvar url = ref$1.url;\n\n\t\tvar active = this.getMatchingChildren(toChildArray(children), url, true);\n\n\t\tvar current = active[0] || null;\n\n\t\tvar previous = this.previousUrl;\n\t\tif (url!==previous) {\n\t\t\tthis.previousUrl = url;\n\t\t\tif (typeof onChange==='function') {\n\t\t\t\tonChange({\n\t\t\t\t\trouter: this,\n\t\t\t\t\turl: url,\n\t\t\t\t\tprevious: previous,\n\t\t\t\t\tactive: active,\n\t\t\t\t\tcurrent: current\n\t\t\t\t});\n\t\t\t}\n\t\t}\n\n\t\treturn current;\n\t};\n\n\treturn Router;\n}(Component));\n\nvar Link = function (props) { return (\n\tcreateElement('a', assign({ onClick: handleLinkClick }, props))\n); };\n\nvar Route = function (props) { return createElement(props.component, props); };\n\nRouter.subscribers = subscribers;\nRouter.getCurrentUrl = getCurrentUrl;\nRouter.route = route;\nRouter.Router = Router;\nRouter.Route = Route;\nRouter.Link = Link;\nRouter.exec = exec;\n\nexport { subscribers, getCurrentUrl, route, Router, Route, Link, exec };export default Router;\n//# sourceMappingURL=preact-router.es.js.map\n","import{options as n}from\"preact\";var t,u,r,o=0,i=[],c=n.__b,f=n.__r,e=n.diffed,a=n.__c,v=n.unmount;function m(t,r){n.__h&&n.__h(u,t,o||r),o=0;var i=u.__H||(u.__H={__:[],__h:[]});return t>=i.__.length&&i.__.push({}),i.__[t]}function l(n){return o=1,p(w,n)}function p(n,r,o){var i=m(t++,2);return i.t=n,i.__c||(i.__=[o?o(r):w(void 0,r),function(n){var t=i.t(i.__[0],n);i.__[0]!==t&&(i.__=[t,i.__[1]],i.__c.setState({}))}],i.__c=u),i.__}function y(r,o){var i=m(t++,3);!n.__s&&k(i.__H,o)&&(i.__=r,i.__H=o,u.__H.__h.push(i))}function h(r,o){var i=m(t++,4);!n.__s&&k(i.__H,o)&&(i.__=r,i.__H=o,u.__h.push(i))}function s(n){return o=5,d(function(){return{current:n}},[])}function _(n,t,u){o=6,h(function(){\"function\"==typeof n?n(t()):n&&(n.current=t())},null==u?u:u.concat(n))}function d(n,u){var r=m(t++,7);return k(r.__H,u)&&(r.__=n(),r.__H=u,r.__h=n),r.__}function A(n,t){return o=8,d(function(){return n},t)}function F(n){var r=u.context[n.__c],o=m(t++,9);return o.__c=n,r?(null==o.__&&(o.__=!0,r.sub(u)),r.props.value):n.__}function T(t,u){n.useDebugValue&&n.useDebugValue(u?u(t):t)}function q(n){var r=m(t++,10),o=l();return r.__=n,u.componentDidCatch||(u.componentDidCatch=function(n){r.__&&r.__(n),o[1](n)}),[o[0],function(){o[1](void 0)}]}function x(){i.forEach(function(t){if(t.__P)try{t.__H.__h.forEach(g),t.__H.__h.forEach(j),t.__H.__h=[]}catch(u){t.__H.__h=[],n.__e(u,t.__v)}}),i=[]}n.__b=function(n){u=null,c&&c(n)},n.__r=function(n){f&&f(n),t=0;var r=(u=n.__c).__H;r&&(r.__h.forEach(g),r.__h.forEach(j),r.__h=[])},n.diffed=function(t){e&&e(t);var o=t.__c;o&&o.__H&&o.__H.__h.length&&(1!==i.push(o)&&r===n.requestAnimationFrame||((r=n.requestAnimationFrame)||function(n){var t,u=function(){clearTimeout(r),b&&cancelAnimationFrame(t),setTimeout(n)},r=setTimeout(u,100);b&&(t=requestAnimationFrame(u))})(x)),u=void 0},n.__c=function(t,u){u.some(function(t){try{t.__h.forEach(g),t.__h=t.__h.filter(function(n){return!n.__||j(n)})}catch(r){u.some(function(n){n.__h&&(n.__h=[])}),u=[],n.__e(r,t.__v)}}),a&&a(t,u)},n.unmount=function(t){v&&v(t);var u=t.__c;if(u&&u.__H)try{u.__H.__.forEach(g)}catch(t){n.__e(t,u.__v)}};var b=\"function\"==typeof requestAnimationFrame;function g(n){var t=u;\"function\"==typeof n.__c&&n.__c(),u=t}function j(n){var t=u;n.__c=n.__(),u=t}function k(n,t){return!n||n.length!==t.length||t.some(function(t,u){return t!==n[u]})}function w(n,t){return\"function\"==typeof t?t(n):t}export{l as useState,p as useReducer,y as useEffect,h as useLayoutEffect,s as useRef,_ as useImperativeHandle,d as useMemo,A as useCallback,F as useContext,T as useDebugValue,q as useErrorBoundary};\n//# sourceMappingURL=hooks.module.js.map\n","\"use strict\";\r\nObject.defineProperty(exports, \"__esModule\", { value: true });\r\nexports.ModelPath = exports.Path = exports.relativePath = void 0;\r\nfunction relativePath(start, relativePath) {\r\n return relativePath.reduce((path, e) => {\r\n if (e === 'pop') {\r\n return path.pop();\r\n }\r\n else {\r\n return path.push(e.push);\r\n }\r\n }, start);\r\n}\r\nexports.relativePath = relativePath;\r\n/**\r\n * Immutable helper class to represent a path in data\r\n */\r\nclass Path {\r\n /**\r\n * @param modelArr Initial array of path model elements. Empty if not given\r\n * @param contextArr Initial array of path context elements. Empty if not given\r\n */\r\n constructor(modelArr, contextArr) {\r\n this.modelArr = modelArr !== null && modelArr !== void 0 ? modelArr : [];\r\n this.contextArr = contextArr !== null && contextArr !== void 0 ? contextArr : [];\r\n }\r\n /**\r\n * The last model element of this path\r\n */\r\n last() {\r\n return this.modelArr[this.modelArr.length - 1];\r\n }\r\n /**\r\n * A new path with the specific sliced module elements\r\n */\r\n slice(start, end) {\r\n return new Path(this.modelArr.slice(start, end), this.contextArr);\r\n }\r\n /**\r\n * A new path with the first model element removed\r\n */\r\n shift() {\r\n return new Path(this.modelArr.slice(1), this.contextArr);\r\n }\r\n /**\r\n * A new path with the last model element removed\r\n */\r\n pop() {\r\n return new Path(this.modelArr.slice(0, -1), this.contextArr);\r\n }\r\n /**\r\n * A new path with an element added at the end\r\n * @param element element to push at the end of the array\r\n */\r\n push(element) {\r\n return this.modelPush(element).contextPush(element);\r\n }\r\n /**\r\n * Push an element exclusivly to the model array\r\n * @param element\r\n */\r\n modelPush(element) {\r\n return new Path([...this.modelArr, element], [...this.contextArr]);\r\n }\r\n /**\r\n * Push an element exclusivly to the context array\r\n * @param element\r\n */\r\n contextPush(element) {\r\n if (typeof element === 'number')\r\n return this.copy();\r\n const newElement = element.startsWith('minecraft:') ? element.slice(10) : element;\r\n return new Path([...this.modelArr], [...this.contextArr, newElement]);\r\n }\r\n copy() {\r\n return new Path([...this.modelArr], [...this.contextArr]);\r\n }\r\n getArray() {\r\n return this.modelArr;\r\n }\r\n /**\r\n * Attaches a model to this path and all paths created from this\r\n * @param model\r\n */\r\n withModel(model) {\r\n return new ModelPath(model, this);\r\n }\r\n getContext() {\r\n return this.contextArr;\r\n }\r\n /**\r\n * Checks path equality\r\n * @param other path to compare\r\n */\r\n equals(other) {\r\n return other.modelArr.length === this.modelArr.length\r\n && other.modelArr.every((v, i) => v === this.modelArr[i]);\r\n }\r\n /**\r\n * Checks if this path starts with another path\r\n * @param other path that this path should start with\r\n */\r\n startsWith(other) {\r\n if (this.modelArr.length < other.modelArr.length)\r\n return false;\r\n return other.modelArr.every((v, i) => v === this.modelArr[i]);\r\n }\r\n /**\r\n * Checks if this path ends with another path\r\n * @param other parent path where this path should end with\r\n */\r\n endsWith(other) {\r\n const offset = this.modelArr.length - other.modelArr.length;\r\n if (offset < 0)\r\n return false;\r\n return other.modelArr.every((v, i) => v === this.modelArr[offset + i]);\r\n }\r\n toString() {\r\n return this.modelArr\r\n .map(e => (typeof e === 'string') ? `.${e}` : `[${e}]`)\r\n .join('')\r\n .replace(/^\\./, '');\r\n }\r\n forEach(fn, thisArg) {\r\n return this.modelArr.forEach(fn, thisArg);\r\n }\r\n}\r\nexports.Path = Path;\r\nclass ModelPath extends Path {\r\n constructor(model, path) {\r\n super(path === null || path === void 0 ? void 0 : path.modelArr, path === null || path === void 0 ? void 0 : path.contextArr);\r\n this.model = model;\r\n }\r\n getModel() {\r\n return this.model;\r\n }\r\n /**\r\n * Gets the data from the model if it was attached\r\n * @returns undefined, if no model was attached\r\n */\r\n get() {\r\n var _a;\r\n return (_a = this.model) === null || _a === void 0 ? void 0 : _a.get(this);\r\n }\r\n /**\r\n * Sets the value to the model if it was attached\r\n */\r\n set(value) {\r\n var _a;\r\n (_a = this.model) === null || _a === void 0 ? void 0 : _a.set(this, value);\r\n }\r\n /**\r\n * A new path with the specific sliced module elements\r\n */\r\n slice(start, end) {\r\n return new ModelPath(this.model, super.slice(start, end));\r\n }\r\n /**\r\n * A new path with the first model element removed\r\n */\r\n shift() {\r\n return new ModelPath(this.model, super.shift());\r\n }\r\n /**\r\n * A new path with the last model element removed\r\n */\r\n pop() {\r\n return new ModelPath(this.model, super.pop());\r\n }\r\n /**\r\n * A new path with an element added at the end\r\n * @param element element to push at the end of the array\r\n */\r\n push(element) {\r\n return this.modelPush(element).contextPush(element);\r\n }\r\n /**\r\n * Push an element exclusivly to the model array\r\n * @param element\r\n */\r\n modelPush(element) {\r\n return new ModelPath(this.model, super.modelPush(element));\r\n }\r\n /**\r\n * Push an element exclusivly to the context array\r\n * @param element\r\n */\r\n contextPush(element) {\r\n return new ModelPath(this.model, super.contextPush(element));\r\n }\r\n copy() {\r\n return new ModelPath(this.model, super.copy());\r\n }\r\n}\r\nexports.ModelPath = ModelPath;\r\n","\"use strict\";\r\nObject.defineProperty(exports, \"__esModule\", { value: true });\r\nexports.Errors = void 0;\r\n/**\r\n * Collects errors from data paths\r\n */\r\nclass Errors {\r\n constructor() {\r\n this.errors = [];\r\n }\r\n add(path, error, ...params) {\r\n this.errors.push({ path, error, params });\r\n return false;\r\n }\r\n get(path, exact = false) {\r\n return exact ? this.errors.filter(e => e.path.equals(path))\r\n : this.errors.filter(e => e.path.startsWith(path));\r\n }\r\n getAll() {\r\n return this.errors;\r\n }\r\n clear() {\r\n this.errors = [];\r\n }\r\n count() {\r\n return this.errors.length;\r\n }\r\n *[Symbol.iterator]() {\r\n for (const e of this.errors) {\r\n yield e;\r\n }\r\n }\r\n}\r\nexports.Errors = Errors;\r\n","\"use strict\";\r\nObject.defineProperty(exports, \"__esModule\", { value: true });\r\nexports.DataModel = void 0;\r\nconst Path_1 = require(\"./Path\");\r\nconst Errors_1 = require(\"./Errors\");\r\n/**\r\n * Holding the data linked to a given schema\r\n */\r\nclass DataModel {\r\n /**\r\n * @param schema node to use as schema for this model\r\n */\r\n constructor(schema, options) {\r\n var _a;\r\n this.schema = schema;\r\n this.data = schema.default();\r\n this.listeners = [];\r\n this.errors = new Errors_1.Errors();\r\n this.history = [JSON.stringify(this.data)];\r\n this.historyIndex = 0;\r\n this.historyMax = (_a = options === null || options === void 0 ? void 0 : options.historyMax) !== null && _a !== void 0 ? _a : 50;\r\n }\r\n /**\r\n * Adds a listener to notify when the model is invalidated\r\n * @param listener the listener to be notified\r\n */\r\n addListener(listener) {\r\n this.listeners.push(listener);\r\n }\r\n /**\r\n * Removes a listener from this model\r\n * @param listener the listener to be removed\r\n */\r\n removeListener(listener) {\r\n const index = this.listeners.indexOf(listener);\r\n if (index > -1) {\r\n this.listeners.splice(index, 1);\r\n }\r\n }\r\n /**\r\n * Updates the history and notifies all\r\n * listeners that the model is invalidated\r\n */\r\n invalidate() {\r\n const newHistory = JSON.stringify(this.data);\r\n if (this.history[this.historyIndex] !== newHistory) {\r\n this.historyIndex += 1;\r\n this.history.splice(this.historyIndex, this.historyMax, newHistory);\r\n if (this.history.length > this.historyMax) {\r\n this.history.splice(0, 1);\r\n this.historyIndex -= 1;\r\n }\r\n }\r\n this.silentInvalidate();\r\n }\r\n /**\r\n * Notifies all listeners that the model is invalidated\r\n */\r\n silentInvalidate() {\r\n this.listeners.forEach(l => {\r\n if (l.invalidated)\r\n l.invalidated(this);\r\n if (l.errors)\r\n l.errors(this.errors);\r\n });\r\n }\r\n /**\r\n * Resets the full data and notifies listeners\r\n * @param value new model data\r\n */\r\n reset(value, loose) {\r\n this.data = value;\r\n this.validate(loose);\r\n this.invalidate();\r\n }\r\n /**\r\n * Gets the data at a specified path\r\n * @param path path at which to find the data\r\n * @returns undefined, if the the path does not exist in the data\r\n */\r\n get(path) {\r\n let node = this.data;\r\n path.forEach(e => {\r\n if (node === undefined)\r\n return node;\r\n node = node[e];\r\n });\r\n return node;\r\n }\r\n /**\r\n * Updates the data on a path. Node will be removed when value is undefined\r\n * @param path path to update\r\n * @param value new data at the specified path\r\n */\r\n set(path, value, silent) {\r\n if (path.getArray().length === 0) {\r\n this.reset(value, true);\r\n return;\r\n }\r\n let node = this.data;\r\n path.pop().forEach(e => {\r\n if (node[e] === undefined || typeof node[e] === 'string' || typeof node[e] === 'number') {\r\n node[e] = {};\r\n }\r\n node = node[e];\r\n });\r\n if (value === undefined || (typeof value === 'number' && isNaN(value))) {\r\n if (typeof path.last() === 'number') {\r\n node.splice(path.last(), 1);\r\n }\r\n else {\r\n delete node[path.last()];\r\n }\r\n }\r\n else {\r\n node[path.last()] = value;\r\n }\r\n if (silent)\r\n return;\r\n console.log('Set', path.toString(), JSON.stringify(value));\r\n this.validate(true);\r\n this.invalidate();\r\n }\r\n /**\r\n * Go one step back in history\r\n */\r\n undo() {\r\n if (this.historyIndex > 0) {\r\n this.historyIndex -= 1;\r\n this.data = JSON.parse(this.history[this.historyIndex]);\r\n this.validate(false);\r\n this.silentInvalidate();\r\n }\r\n }\r\n /**\r\n * Go one step forward in history.\r\n */\r\n redo() {\r\n if (this.historyIndex < this.history.length - 1) {\r\n this.historyIndex += 1;\r\n this.data = JSON.parse(this.history[this.historyIndex]);\r\n this.validate(false);\r\n this.silentInvalidate();\r\n }\r\n }\r\n /**\r\n * Uses the schema to check whether the data is valid\r\n */\r\n validate(loose) {\r\n var _a;\r\n const path = new Path_1.Path().withModel(this);\r\n this.errors.clear();\r\n this.data = (_a = this.schema.validate(path, this.data, this.errors, { loose })) !== null && _a !== void 0 ? _a : {};\r\n }\r\n error(path, error, ...params) {\r\n const tempErrors = new Errors_1.Errors();\r\n tempErrors.add(path, error, params);\r\n this.listeners.forEach(l => {\r\n if (l.errors)\r\n l.errors(tempErrors);\r\n });\r\n }\r\n}\r\nexports.DataModel = DataModel;\r\n","\"use strict\";\r\nObject.defineProperty(exports, \"__esModule\", { value: true });\r\nexports.Keep = exports.Opt = exports.Has = exports.Mod = exports.Base = void 0;\r\nexports.Base = ({\r\n type: () => 'base',\r\n category: () => undefined,\r\n default: () => undefined,\r\n enabled: () => true,\r\n keep: () => false,\r\n optional: () => false,\r\n navigate() { return this; },\r\n pathPush: (p) => p,\r\n suggest: () => [],\r\n validate: (_, v) => v,\r\n validationOption: () => undefined,\r\n hook(hook, path, ...args) { return hook.base({ node: this }, path, ...args); },\r\n canUpdate: () => false,\r\n update: () => []\r\n});\r\nexports.Mod = (node, mods) => ({\r\n ...node, ...(typeof mods === 'function' ? mods(node) : mods)\r\n});\r\nexports.Has = (key, node) => exports.Mod(node, {\r\n enabled: (p) => p.push(key).get() !== undefined\r\n});\r\nfunction Opt(node) {\r\n return {\r\n ...node,\r\n optional: () => true\r\n };\r\n}\r\nexports.Opt = Opt;\r\nfunction Keep(node) {\r\n return {\r\n ...node,\r\n keep: () => true\r\n };\r\n}\r\nexports.Keep = Keep;\r\n","\"use strict\";\r\nObject.defineProperty(exports, \"__esModule\", { value: true });\r\nexports.BooleanNode = void 0;\r\nconst Node_1 = require(\"./Node\");\r\n/**\r\n * Boolean node with two buttons for true/false\r\n */\r\nexports.BooleanNode = () => {\r\n return {\r\n ...Node_1.Base,\r\n type: () => 'boolean',\r\n default: () => false,\r\n suggest: () => ['false', 'true'],\r\n validate(path, value, errors, options) {\r\n if (options.loose && typeof value !== 'boolean') {\r\n value = this.default();\r\n }\r\n if (typeof value !== 'boolean' || value === undefined) {\r\n errors.add(path, 'error.expected_boolean');\r\n }\r\n return value;\r\n },\r\n hook(hook, path, ...args) {\r\n var _a;\r\n return ((_a = hook.boolean) !== null && _a !== void 0 ? _a : hook.base).call(hook, { node: this }, path, ...args);\r\n }\r\n };\r\n};\r\n","\"use strict\";\r\nObject.defineProperty(exports, \"__esModule\", { value: true });\r\nexports.ListNode = void 0;\r\nconst Node_1 = require(\"./Node\");\r\nexports.ListNode = (children, config) => {\r\n var _a, _b;\r\n const min = (_a = config === null || config === void 0 ? void 0 : config.minLength) !== null && _a !== void 0 ? _a : 0;\r\n const max = (_b = config === null || config === void 0 ? void 0 : config.maxLength) !== null && _b !== void 0 ? _b : Infinity;\r\n const between = (config === null || config === void 0 ? void 0 : config.minLength) && (config === null || config === void 0 ? void 0 : config.maxLength);\r\n return ({\r\n ...Node_1.Base,\r\n type: () => 'list',\r\n default: () => (config === null || config === void 0 ? void 0 : config.minLength) ? [...Array(min)].map(_ => children.default()) : [],\r\n navigate(path, index) {\r\n const nextIndex = index + 1;\r\n const pathElements = path.getArray();\r\n if (pathElements.length <= nextIndex) {\r\n return this;\r\n }\r\n return children.navigate(path, nextIndex);\r\n },\r\n pathPush(path, index) {\r\n return path.push(parseInt(index.toString())).contextPush('entry');\r\n },\r\n validate(path, value, errors, options) {\r\n if (options.loose && !Array.isArray(value)) {\r\n value = this.default();\r\n }\r\n if (!Array.isArray(value)) {\r\n errors.add(path, 'error.expected_list');\r\n return value;\r\n }\r\n else if (between && (value.length < min || value.length > max)) {\r\n if (min === max) {\r\n errors.add(path, 'error.invalid_list_range.exact', value.length, min);\r\n }\r\n else {\r\n errors.add(path, 'error.invalid_list_range.between', value.length, min, max);\r\n }\r\n }\r\n else if (value.length < min) {\r\n errors.add(path, 'error.invalid_list_range.smaller', value.length, min);\r\n }\r\n else if (value.length > max) {\r\n errors.add(path, 'error.invalid_list_range.larger', value.length, max);\r\n }\r\n return value.map((obj, index) => children.validate(path.push(index), obj, errors, options));\r\n },\r\n hook(hook, path, ...args) {\r\n var _a;\r\n return ((_a = hook.list) !== null && _a !== void 0 ? _a : hook.base).call(hook, { node: this, children, config: config !== null && config !== void 0 ? config : {} }, path, ...args);\r\n }\r\n });\r\n};\r\n","\"use strict\";\r\nObject.defineProperty(exports, \"__esModule\", { value: true });\r\nexports.SwitchNode = void 0;\r\nconst Node_1 = require(\"./Node\");\r\n/**\r\n * Node that allows multiple types\r\n */\r\nexports.SwitchNode = (cases) => {\r\n return {\r\n ...Node_1.Base,\r\n type(path) {\r\n return this.activeCase(path, true)\r\n .node.type(path);\r\n },\r\n category(path) {\r\n return this.activeCase(path, true)\r\n .node.category(path);\r\n },\r\n default: () => cases[0].node.default(),\r\n navigate(path, index) {\r\n var _a;\r\n const nextIndex = index + 1;\r\n return (_a = this.activeCase(path.slice(0, nextIndex))) === null || _a === void 0 ? void 0 : _a.node.navigate(path, index);\r\n },\r\n pathPush(path, key) {\r\n var _a, _b;\r\n return (_b = (_a = this.activeCase(path)) === null || _a === void 0 ? void 0 : _a.node.pathPush(path, key)) !== null && _b !== void 0 ? _b : path;\r\n },\r\n suggest(path, value) {\r\n var _a, _b;\r\n return (_b = (_a = this.activeCase(path)) === null || _a === void 0 ? void 0 : _a.node.suggest(path, value)) !== null && _b !== void 0 ? _b : cases\r\n .filter(c => c.match(path))\r\n .map(c => c.node.suggest(path, value))\r\n .reduce((p, c) => p.concat(c));\r\n },\r\n validate(path, value, errors, options) {\r\n let c = this.activeCase(path);\r\n if (c === undefined) {\r\n return value;\r\n }\r\n return c.node.validate(path, value, errors, options);\r\n },\r\n validationOption(path) {\r\n var _a;\r\n return (_a = this.activeCase(path)) === null || _a === void 0 ? void 0 : _a.node.validationOption(path);\r\n },\r\n activeCase(path, fallback) {\r\n const sorter = (a, b) => { var _a, _b; return ((_a = b.priority) !== null && _a !== void 0 ? _a : 0) - ((_b = a.priority) !== null && _b !== void 0 ? _b : 0); };\r\n const matchedCases = cases.filter(c => c.match(path)).sort(sorter);\r\n if (fallback && matchedCases.length === 0) {\r\n return cases.sort(sorter)[0];\r\n }\r\n return (matchedCases.length > 0 ? matchedCases[0] : undefined);\r\n },\r\n hook(hook, path, ...args) {\r\n return this.activeCase(path, true)\r\n .node.hook(hook, path, ...args);\r\n },\r\n };\r\n};\r\n","\"use strict\";\r\nObject.defineProperty(exports, \"__esModule\", { value: true });\r\nexports.ObjectOrPreset = exports.StringOrList = exports.ObjectOrList = exports.ChoiceNode = void 0;\r\nconst ListNode_1 = require(\"./ListNode\");\r\nconst SwitchNode_1 = require(\"./SwitchNode\");\r\n/**\r\n * Node that allows multiple types\r\n */\r\nexports.ChoiceNode = (choices, config) => {\r\n const isValid = (choice, value) => {\r\n if (choice.match) {\r\n return choice.match(value);\r\n }\r\n switch (choice.type) {\r\n case 'list': return Array.isArray(value);\r\n case 'object': return typeof value === 'object' && !Array.isArray(value);\r\n default: return typeof value === choice.type;\r\n }\r\n };\r\n const switchNode = SwitchNode_1.SwitchNode(choices.map(c => ({\r\n type: c.type,\r\n priority: c.priority,\r\n match: (path) => isValid(c, path.get()),\r\n node: c.node\r\n })));\r\n return {\r\n ...switchNode,\r\n validate(path, value, errors, options) {\r\n let choice = switchNode.activeCase(path, true);\r\n if (choice.node.optional()) {\r\n return value;\r\n }\r\n return choice.node.validate(path, value, errors, options);\r\n },\r\n hook(hook, path, ...args) {\r\n var _a;\r\n return ((_a = hook.choice) !== null && _a !== void 0 ? _a : hook.base).call(hook, { node: this, choices, config: config !== null && config !== void 0 ? config : {}, switchNode }, path, ...args);\r\n }\r\n };\r\n};\r\nconst XOrList = (x) => ((node, config) => {\r\n return exports.ChoiceNode([\r\n {\r\n type: x,\r\n node,\r\n change: v => { var _a; return (_a = v[0]) !== null && _a !== void 0 ? _a : node.default(); }\r\n },\r\n {\r\n type: 'list',\r\n node: ListNode_1.ListNode(node),\r\n change: v => v ? [v] : []\r\n }\r\n ], config);\r\n});\r\nexports.ObjectOrList = XOrList('object');\r\nexports.StringOrList = XOrList('string');\r\nexports.ObjectOrPreset = (presetNode, objectNode, presets) => {\r\n return exports.ChoiceNode([\r\n {\r\n type: 'string',\r\n priority: 1,\r\n node: presetNode,\r\n change: v => Object.keys(presets)[0]\r\n },\r\n {\r\n type: 'object',\r\n node: objectNode,\r\n change: v => { var _a; return (_a = presets[v]) !== null && _a !== void 0 ? _a : presets[Object.keys(presets)[0]]; }\r\n }\r\n ]);\r\n};\r\n","\"use strict\";\r\nObject.defineProperty(exports, \"__esModule\", { value: true });\r\nexports.MapNode = void 0;\r\nconst Node_1 = require(\"./Node\");\r\n/**\r\n * Map nodes similar to list nodes, but a string key is required to add children\r\n */\r\nexports.MapNode = (keys, children, config) => {\r\n return {\r\n ...Node_1.Base,\r\n type: () => 'map',\r\n default: () => ({}),\r\n navigate(path, index) {\r\n const nextIndex = index + 1;\r\n const pathElements = path.getArray();\r\n if (pathElements.length <= nextIndex) {\r\n return this;\r\n }\r\n return children.navigate(path, nextIndex);\r\n },\r\n pathPush(path, key) {\r\n return path.modelPush(key);\r\n },\r\n suggest: (path) => keys.suggest(path, ''),\r\n validate(path, value, errors, options) {\r\n if (options.loose && typeof value !== 'object') {\r\n value = this.default();\r\n }\r\n if (value === null || typeof value !== 'object') {\r\n errors.add(path, 'error.expected_object');\r\n return value;\r\n }\r\n let res = {};\r\n Object.keys(value).forEach(k => {\r\n keys.validate(path, k, errors, options);\r\n res[k] = children.validate(path.push(k), value[k], errors, options);\r\n });\r\n return res;\r\n },\r\n validationOption(path) {\r\n var _a;\r\n return (_a = config === null || config === void 0 ? void 0 : config.validation) !== null && _a !== void 0 ? _a : keys.validationOption(path.push(''));\r\n },\r\n hook(hook, path, ...args) {\r\n var _a;\r\n return ((_a = hook.map) !== null && _a !== void 0 ? _a : hook.base).call(hook, { node: this, keys, children, config: config !== null && config !== void 0 ? config : {} }, path, ...args);\r\n }\r\n };\r\n};\r\n","\"use strict\";\r\nObject.defineProperty(exports, \"__esModule\", { value: true });\r\nexports.NumberNode = void 0;\r\nconst Node_1 = require(\"./Node\");\r\nexports.NumberNode = (config) => {\r\n var _a, _b, _c;\r\n const integer = (config === null || config === void 0 ? void 0 : config.color) ? true : (_a = config === null || config === void 0 ? void 0 : config.integer) !== null && _a !== void 0 ? _a : false;\r\n const min = (config === null || config === void 0 ? void 0 : config.color) ? 0 : (_b = config === null || config === void 0 ? void 0 : config.min) !== null && _b !== void 0 ? _b : -Infinity;\r\n const max = (config === null || config === void 0 ? void 0 : config.color) ? 16777215 : (_c = config === null || config === void 0 ? void 0 : config.max) !== null && _c !== void 0 ? _c : Infinity;\r\n const between = (config === null || config === void 0 ? void 0 : config.min) !== undefined && (config === null || config === void 0 ? void 0 : config.max) !== undefined;\r\n return {\r\n ...Node_1.Base,\r\n type: () => 'number',\r\n default: () => min > 0 ? min : 0,\r\n validate(path, value, errors, options) {\r\n if (options.loose && typeof value !== 'number') {\r\n value = this.default();\r\n }\r\n if (typeof value !== 'number') {\r\n errors.add(path, 'error.expected_number');\r\n }\r\n else if (integer && !Number.isInteger(value)) {\r\n errors.add(path, 'error.expected_integer');\r\n }\r\n else if (between && (value < min || value > max)) {\r\n errors.add(path, 'error.invalid_number_range.between', value, min, max);\r\n }\r\n else if (value < min) {\r\n errors.add(path, 'error.invalid_number_range.smaller', value, min);\r\n }\r\n else if (value > max) {\r\n errors.add(path, 'error.invalid_number_range.larger', value, max);\r\n }\r\n return value;\r\n },\r\n hook(hook, path, ...args) {\r\n var _a;\r\n return ((_a = hook.number) !== null && _a !== void 0 ? _a : hook.base).call(hook, { node: this, integer, min, max, between, config: config !== null && config !== void 0 ? config : {} }, path, ...args);\r\n }\r\n };\r\n};\r\n","\"use strict\";\r\nObject.defineProperty(exports, \"__esModule\", { value: true });\r\nexports.quoteString = exports.escapeString = void 0;\r\nfunction escapeString(str) {\r\n return str.replace(/(\\\\|\")/g, '\\\\$1');\r\n}\r\nexports.escapeString = escapeString;\r\nfunction quoteString(str) {\r\n return `\"${escapeString(str)}\"`;\r\n}\r\nexports.quoteString = quoteString;\r\n","\"use strict\";\r\nObject.defineProperty(exports, \"__esModule\", { value: true });\r\nexports.ObjectNode = exports.Case = exports.Switch = void 0;\r\nconst Node_1 = require(\"./Node\");\r\nconst Path_1 = require(\"../model/Path\");\r\nconst Errors_1 = require(\"../model/Errors\");\r\nconst utils_1 = require(\"../utils\");\r\nexports.Switch = Symbol('switch');\r\nexports.Case = Symbol('case');\r\nexports.ObjectNode = (fields, config) => {\r\n const { [exports.Switch]: filter, [exports.Case]: cases, ...defaultFields } = fields;\r\n const getActiveFields = (path) => {\r\n if (filter === undefined)\r\n return defaultFields;\r\n const switchValue = Path_1.relativePath(path, filter).get();\r\n const activeCase = cases[switchValue];\r\n return { ...defaultFields, ...activeCase };\r\n };\r\n const getChildModelPath = (path, childKey) => {\r\n var _a;\r\n const switchValue = filter ? Path_1.relativePath(path, filter).get() : undefined;\r\n const caseFields = filter ? ((_a = cases[switchValue]) !== null && _a !== void 0 ? _a : {}) : {};\r\n const caseKeys = Object.keys(caseFields);\r\n const pathWithContext = (config === null || config === void 0 ? void 0 : config.context) ?\r\n new Path_1.ModelPath(path.getModel(), new Path_1.Path(path.getArray(), [config.context])) : path;\r\n const pathWithFilter = !(config === null || config === void 0 ? void 0 : config.disableSwitchContext) && switchValue && caseKeys.includes(childKey) ?\r\n pathWithContext.contextPush(switchValue) : pathWithContext;\r\n return pathWithFilter.push(childKey);\r\n };\r\n return ({\r\n ...Node_1.Base,\r\n type: () => 'object',\r\n category: () => config === null || config === void 0 ? void 0 : config.category,\r\n default: () => ({}),\r\n keep() {\r\n return this.optional();\r\n },\r\n navigate(path, index) {\r\n const nextIndex = index + 1;\r\n const pathElements = path.getArray();\r\n if (pathElements.length <= nextIndex) {\r\n return this;\r\n }\r\n const activeFields = getActiveFields(path.slice(0, nextIndex));\r\n const node = activeFields[pathElements[nextIndex]];\r\n return node === null || node === void 0 ? void 0 : node.navigate(path, nextIndex);\r\n },\r\n pathPush(path, key) {\r\n return getChildModelPath(path, key.toString());\r\n },\r\n suggest(path, value) {\r\n const activeFields = getActiveFields(path);\r\n const existingKeys = Object.keys(typeof value === 'object' ? value : {});\r\n return Object.keys(activeFields)\r\n .filter(k => activeFields[k].enabled(path))\r\n .filter(k => !existingKeys.includes(k))\r\n .map(utils_1.quoteString);\r\n },\r\n validate(path, value, errors, options) {\r\n if (options.loose && typeof value !== 'object') {\r\n value = this.default();\r\n }\r\n if (typeof value !== 'object') {\r\n errors.add(path, 'error.expected_object');\r\n return value;\r\n }\r\n let activeFields = defaultFields;\r\n if (filter) {\r\n const filterPath = Path_1.relativePath(path, filter);\r\n let switchValue = filterPath.get();\r\n if (path.equals(filterPath.pop())) {\r\n const filterField = filterPath.last();\r\n switchValue = defaultFields[filterField].validate(path.push(filterField), value[filterField], new Errors_1.Errors(), options);\r\n }\r\n activeFields = { ...activeFields, ...cases[switchValue] };\r\n }\r\n const activeKeys = Object.keys(activeFields);\r\n const forcedKeys = activeKeys.filter(k => !activeFields[k].optional());\r\n const keys = new Set([...forcedKeys, ...Object.keys(value)]);\r\n let res = {};\r\n keys.forEach(k => {\r\n if (activeKeys.includes(k)) {\r\n if (!activeFields[k].enabled(path))\r\n return;\r\n const newValue = activeFields[k].validate(path.push(k), value[k], errors, options);\r\n if (!activeFields[k].keep() && activeFields[k].optional()\r\n && (newValue === undefined\r\n || (Array.isArray(newValue) && newValue.length === 0)\r\n || (newValue.constructor === Object && Object.keys(newValue).length === 0))) {\r\n res[k] = undefined;\r\n }\r\n else {\r\n res[k] = newValue;\r\n path.getModel().set(path.push(k), newValue, true);\r\n }\r\n }\r\n else {\r\n res[k] = value[k];\r\n }\r\n });\r\n return res;\r\n },\r\n hook(hook, path, ...args) {\r\n var _a;\r\n return ((_a = hook.object) !== null && _a !== void 0 ? _a : hook.base).call(hook, { node: this, fields: defaultFields, filter, cases, getActiveFields, getChildModelPath }, path, ...args);\r\n }\r\n });\r\n};\r\n","\"use strict\";\r\nObject.defineProperty(exports, \"__esModule\", { value: true });\r\nexports.Reference = void 0;\r\nexports.Reference = (schemas, schema) => ({\r\n type(path) {\r\n return schemas.get(schema).type.bind(this)(path);\r\n },\r\n category(path) {\r\n return schemas.get(schema).category.bind(this)(path);\r\n },\r\n default() {\r\n return schemas.get(schema).default.bind(this)();\r\n },\r\n transform(path, value) {\r\n return schemas.get(schema).transform(path, value);\r\n },\r\n enabled(path) {\r\n return schemas.get(schema).enabled.bind(this)(path);\r\n },\r\n keep() {\r\n return schemas.get(schema).keep.bind(this)();\r\n },\r\n optional() {\r\n return schemas.get(schema).optional.bind(this)();\r\n },\r\n navigate(path, index) {\r\n return schemas.get(schema).navigate.bind(this)(path, index);\r\n },\r\n pathPush(path, key) {\r\n return schemas.get(schema).pathPush.bind(this)(path, key);\r\n },\r\n suggest(path, value) {\r\n return schemas.get(schema).suggest.bind(this)(path, value);\r\n },\r\n validate(path, value, errors, options) {\r\n return schemas.get(schema).validate.bind(this)(path, value, errors, options);\r\n },\r\n validationOption(path) {\r\n return schemas.get(schema).validationOption.bind(this)(path);\r\n },\r\n hook(hook, path, ...args) {\r\n return schemas.get(schema).hook.bind(this)(hook, path, ...args);\r\n },\r\n activeCase(path, fallback) {\r\n return schemas.get(schema).activeCase.bind(this)(path, fallback);\r\n },\r\n canUpdate(path, value) {\r\n return schemas.get(schema).canUpdate.bind(this)(path, value);\r\n },\r\n update(path, value) {\r\n return schemas.get(schema).update.bind(this)(path, value);\r\n }\r\n});\r\n","\"use strict\";\r\nObject.defineProperty(exports, \"__esModule\", { value: true });\r\nexports.StringNode = void 0;\r\nconst Node_1 = require(\"./Node\");\r\nconst utils_1 = require(\"../utils\");\r\nconst isEnum = (value) => {\r\n var _a;\r\n return !!((_a = value) === null || _a === void 0 ? void 0 : _a.enum);\r\n};\r\nconst isValidator = (value) => {\r\n var _a;\r\n return !!((_a = value) === null || _a === void 0 ? void 0 : _a.validator);\r\n};\r\n/**\r\n * Simple string node with one text field\r\n */\r\nexports.StringNode = (collections, config) => {\r\n const getValues = isEnum(config)\r\n ? ((typeof config.enum === 'string')\r\n ? () => { var _a; return (_a = collections === null || collections === void 0 ? void 0 : collections.get(config.enum)) !== null && _a !== void 0 ? _a : []; }\r\n : () => config.enum)\r\n : (((config === null || config === void 0 ? void 0 : config.validator) === 'resource')\r\n ? ((typeof config.params.pool === 'string')\r\n ? (config.params.pool.startsWith('$')\r\n ? () => { var _a; return (_a = collections === null || collections === void 0 ? void 0 : collections.get(config.params.pool.slice(1))) !== null && _a !== void 0 ? _a : []; }\r\n : () => { var _a; return (_a = collections === null || collections === void 0 ? void 0 : collections.get(config.params.pool)) !== null && _a !== void 0 ? _a : []; })\r\n : () => config.params.pool)\r\n : () => []);\r\n return {\r\n ...Node_1.Base,\r\n type: () => 'string',\r\n default: () => '',\r\n validate(path, value, errors, options) {\r\n if (options.loose && typeof value !== 'string') {\r\n value = this.default() || undefined;\r\n }\r\n if (typeof value !== 'string') {\r\n errors.add(path, 'error.expected_string');\r\n return value;\r\n }\r\n if (isValidator(config)) {\r\n if (config.validator === 'resource' && value.length > 0 && !value.includes(':')) {\r\n value = value[0] === '#'\r\n ? '#minecraft:' + value.slice(1)\r\n : 'minecraft:' + value;\r\n }\r\n if (config.validator === 'resource' && ((typeof config.params.pool === 'string' && config.params.pool.startsWith('$')) ||\r\n (config.params.allowTag && value[0] === '#') ||\r\n config.params.isDefinition ||\r\n config.params.allowUnknown)) {\r\n return value;\r\n }\r\n }\r\n if ((isEnum(config) && config.additional)) {\r\n return value;\r\n }\r\n const values = getValues();\r\n if (values.length > 0 && !values.includes(value)) {\r\n errors.add(path, 'error.invalid_enum_option', value);\r\n }\r\n return value;\r\n },\r\n suggest: () => getValues().map(utils_1.quoteString),\r\n validationOption() {\r\n return isValidator(config) ? config : undefined;\r\n },\r\n hook(hook, path, ...args) {\r\n var _a;\r\n return ((_a = hook.string) !== null && _a !== void 0 ? _a : hook.base).call(hook, { node: this, getValues, config }, path, ...args);\r\n }\r\n };\r\n};\r\n","\"use strict\";\r\nObject.defineProperty(exports, \"__esModule\", { value: true });\r\n","\"use strict\";\r\nObject.defineProperty(exports, \"__esModule\", { value: true });\r\nexports.CollectionRegistry = exports.SchemaRegistry = void 0;\r\n/**\r\n * Registry for schemas\r\n */\r\nclass SchemaRegistry {\r\n constructor() {\r\n this.registry = {};\r\n }\r\n register(id, node) {\r\n this.registry[id] = node;\r\n }\r\n get(id) {\r\n const node = this.registry[id];\r\n if (node === undefined) {\r\n console.error(`Tried to access schema \"${id}\", but that doesn't exist.`);\r\n }\r\n return node;\r\n }\r\n}\r\nexports.SchemaRegistry = SchemaRegistry;\r\n/**\r\n * Registry for collections\r\n */\r\nclass CollectionRegistry {\r\n constructor() {\r\n this.registry = {};\r\n }\r\n register(id, list) {\r\n this.registry[id] = list;\r\n }\r\n get(id) {\r\n const list = this.registry[id];\r\n if (list === undefined) {\r\n console.warn(`Tried to access collection \"${id}\", but that doesn't exist.`);\r\n }\r\n return list !== null && list !== void 0 ? list : [];\r\n }\r\n}\r\nexports.CollectionRegistry = CollectionRegistry;\r\n","\"use strict\";\r\nObject.defineProperty(exports, \"__esModule\", { value: true });\r\n","\"use strict\";\r\nvar __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {\r\n if (k2 === undefined) k2 = k;\r\n Object.defineProperty(o, k2, { enumerable: true, get: function() { return m[k]; } });\r\n}) : (function(o, m, k, k2) {\r\n if (k2 === undefined) k2 = k;\r\n o[k2] = m[k];\r\n}));\r\nvar __exportStar = (this && this.__exportStar) || function(m, exports) {\r\n for (var p in m) if (p !== \"default\" && !exports.hasOwnProperty(p)) __createBinding(exports, m, p);\r\n};\r\nObject.defineProperty(exports, \"__esModule\", { value: true });\r\n__exportStar(require(\"./model/DataModel\"), exports);\r\n__exportStar(require(\"./model/Path\"), exports);\r\n__exportStar(require(\"./model/Errors\"), exports);\r\n__exportStar(require(\"./nodes/Node\"), exports);\r\n__exportStar(require(\"./nodes/BooleanNode\"), exports);\r\n__exportStar(require(\"./nodes/ChoiceNode\"), exports);\r\n__exportStar(require(\"./nodes/ListNode\"), exports);\r\n__exportStar(require(\"./nodes/MapNode\"), exports);\r\n__exportStar(require(\"./nodes/NumberNode\"), exports);\r\n__exportStar(require(\"./nodes/ObjectNode\"), exports);\r\n__exportStar(require(\"./nodes/Reference\"), exports);\r\n__exportStar(require(\"./nodes/StringNode\"), exports);\r\n__exportStar(require(\"./nodes/SwitchNode\"), exports);\r\n__exportStar(require(\"./Hook\"), exports);\r\n__exportStar(require(\"./Registries\"), exports);\r\n__exportStar(require(\"./ValidationOption\"), exports);\r\n","\"use strict\";\r\nObject.defineProperty(exports, \"__esModule\", { value: true });\r\nexports.initCollections = void 0;\r\nfunction initCollections(collections) {\r\n collections.register('advancement_trigger', [\r\n 'minecraft:bee_nest_destroyed',\r\n 'minecraft:bred_animals',\r\n 'minecraft:brewed_potion',\r\n 'minecraft:changed_dimension',\r\n 'minecraft:channeled_lightning',\r\n 'minecraft:construct_beacon',\r\n 'minecraft:consume_item',\r\n 'minecraft:cured_zombie_villager',\r\n 'minecraft:effects_changed',\r\n 'minecraft:enchanted_item',\r\n 'minecraft:enter_block',\r\n 'minecraft:entity_hurt_player',\r\n 'minecraft:entity_killed_player',\r\n 'minecraft:filled_bucket',\r\n 'minecraft:fishing_rod_hooked',\r\n 'minecraft:hero_of_the_village',\r\n 'minecraft:impossible',\r\n 'minecraft:inventory_changed',\r\n 'minecraft:item_durability_changed',\r\n 'minecraft:killed_by_crossbow',\r\n 'minecraft:levitation',\r\n 'minecraft:location',\r\n 'minecraft:nether_travel',\r\n 'minecraft:placed_block',\r\n 'minecraft:player_hurt_entity',\r\n 'minecraft:player_killed_entity',\r\n 'minecraft:recipe_unlocked',\r\n 'minecraft:shot_crossbow',\r\n 'minecraft:safely_harvest_honey',\r\n 'minecraft:slept_in_bed',\r\n 'minecraft:slide_down_block',\r\n 'minecraft:summoned_entity',\r\n 'minecraft:tame_animal',\r\n 'minecraft:tick',\r\n 'minecraft:used_ender_eye',\r\n 'minecraft:used_totem',\r\n 'minecraft:villager_trade',\r\n 'minecraft:voluntary_exile'\r\n ]);\r\n collections.register('loot_pool_entry_type', [\r\n 'minecraft:empty',\r\n 'minecraft:item',\r\n 'minecraft:tag',\r\n 'minecraft:loot_table',\r\n 'minecraft:alternatives',\r\n 'minecraft:sequence',\r\n 'minecraft:group',\r\n 'minecraft:dynamic'\r\n ]);\r\n collections.register('loot_condition_type', [\r\n 'minecraft:alternative',\r\n 'minecraft:inverted',\r\n 'minecraft:reference',\r\n 'minecraft:entity_properties',\r\n 'minecraft:block_state_property',\r\n 'minecraft:match_tool',\r\n 'minecraft:damage_source_properties',\r\n 'minecraft:location_check',\r\n 'minecraft:weather_check',\r\n 'minecraft:time_check',\r\n 'minecraft:entity_scores',\r\n 'minecraft:random_chance',\r\n 'minecraft:random_chance_with_looting',\r\n 'minecraft:table_bonus',\r\n 'minecraft:killed_by_player',\r\n 'minecraft:survives_explosion'\r\n ]);\r\n collections.register('loot_function_type', [\r\n 'minecraft:set_count',\r\n 'minecraft:set_damage',\r\n 'minecraft:set_name',\r\n 'minecraft:set_lore',\r\n 'minecraft:set_nbt',\r\n 'minecraft:set_attributes',\r\n 'minecraft:set_contents',\r\n 'minecraft:enchant_randomly',\r\n 'minecraft:enchant_with_levels',\r\n 'minecraft:looting_enchant',\r\n 'minecraft:limit_count',\r\n 'minecraft:furnace_smelt',\r\n 'minecraft:explosion_decay',\r\n 'minecraft:fill_player_head',\r\n 'minecraft:copy_name',\r\n 'minecraft:copy_nbt',\r\n 'minecraft:copy_state',\r\n 'minecraft:apply_bonus',\r\n 'minecraft:exploration_map',\r\n 'minecraft:set_stew_effect'\r\n ]);\r\n collections.register('attribute', [\r\n 'generic.maxHealth',\r\n 'generic.followRange',\r\n 'generic.knockbackResistance',\r\n 'generic.movementSpeed',\r\n 'generic.attackDamage',\r\n 'generic.armor',\r\n 'generic.armorToughness',\r\n 'generic.attackSpeed',\r\n 'generic.luck',\r\n 'horse.jumpStrength',\r\n 'generic.attackKnockback',\r\n 'generic.flyingSpeed',\r\n 'zombie.spawnReinforcements'\r\n ]);\r\n collections.register('structure_feature', [\r\n 'pillager_outpost',\r\n 'mineshaft',\r\n 'mansion',\r\n 'jungle_pyramid',\r\n 'desert_pyramid',\r\n 'igloo',\r\n 'shipwreck',\r\n 'swamp_hut',\r\n 'stronghold',\r\n 'monument',\r\n 'ocean_ruin',\r\n 'fortress',\r\n 'endcity',\r\n 'buried_treasure',\r\n 'village'\r\n ]);\r\n collections.register('dimension', [\r\n 'minecraft:overworld',\r\n 'minecraft:the_nether',\r\n 'minecraft:the_end'\r\n ]);\r\n collections.register('keybind', [\r\n 'key.advancements',\r\n 'key.attack',\r\n 'key.back',\r\n 'key.chat',\r\n 'key.command',\r\n 'key.drop',\r\n 'key.forward',\r\n 'key.fullscreen',\r\n 'key.hotbar.1',\r\n 'key.hotbar.2',\r\n 'key.hotbar.3',\r\n 'key.hotbar.4',\r\n 'key.hotbar.5',\r\n 'key.hotbar.6',\r\n 'key.hotbar.7',\r\n 'key.hotbar.8',\r\n 'key.hotbar.9',\r\n 'key.inventory',\r\n 'key.jump',\r\n 'key.left',\r\n 'key.loadToolbarActivator',\r\n 'key.pickItem',\r\n 'key.playerlist',\r\n 'key.right',\r\n 'key.saveToolbarActivator',\r\n 'key.screenshot',\r\n 'key.smoothCamera',\r\n 'key.sneak',\r\n 'key.spectatorOutlines',\r\n 'key.sprint',\r\n 'key.swapOffhand',\r\n 'key.togglePerspective',\r\n 'key.use'\r\n ]);\r\n collections.register('slot', [\r\n 'mainhand',\r\n 'offhand',\r\n 'head',\r\n 'chest',\r\n 'legs',\r\n 'feet'\r\n ]);\r\n collections.register('gamemode', [\r\n 'survival',\r\n 'creative',\r\n 'adventure',\r\n 'spectator'\r\n ]);\r\n collections.register('entity_source', [\r\n 'this',\r\n 'direct_killer',\r\n 'killer',\r\n 'killer_player'\r\n ]);\r\n collections.register('copy_source', [\r\n 'block_entity',\r\n 'this',\r\n 'killer',\r\n 'killer_player'\r\n ]);\r\n collections.register('loot_table_apply_bonus_formula', [\r\n 'minecraft:uniform_bonus_count',\r\n 'minecraft:binomial_with_bonus_count',\r\n 'minecraft:ore_drops'\r\n ]);\r\n collections.register('map_decoration', [\r\n 'mansion',\r\n 'monument',\r\n 'player',\r\n 'frame',\r\n 'red_marker',\r\n 'blue_marker',\r\n 'target_x',\r\n 'target_point',\r\n 'player_off_map',\r\n 'player_off_limits',\r\n 'red_x',\r\n 'banner_white',\r\n 'banner_orange',\r\n 'banner_magenta',\r\n 'banner_light_blue',\r\n 'banner_yellow',\r\n 'banner_lime',\r\n 'banner_pink',\r\n 'banner_gray',\r\n 'banner_light_gray',\r\n 'banner_cyan',\r\n 'banner_purple',\r\n 'banner_blue',\r\n 'banner_brown',\r\n 'banner_green',\r\n 'banner_red',\r\n 'banner_black'\r\n ]);\r\n collections.register('recipe_group', [\r\n 'bed',\r\n 'light_gray_dye',\r\n 'iron_ingot',\r\n 'wooden_stairs',\r\n 'black_dye',\r\n 'stained_terracotta',\r\n 'dyed_bed',\r\n 'magenta_dye',\r\n 'bark',\r\n 'rabbit_stew',\r\n 'light_blue_dye',\r\n 'wooden_fence_gate',\r\n 'planks',\r\n 'stained_glass',\r\n 'wooden_door',\r\n 'stained_glass_pane',\r\n 'wooden_fence',\r\n 'sticks',\r\n 'concrete_powder',\r\n 'wooden_pressure_plate',\r\n 'boat',\r\n 'brown_dye',\r\n 'yellow_dye',\r\n 'bonemeal',\r\n 'red_dye',\r\n 'wooden_trapdoor',\r\n 'wooden_button',\r\n 'gold_ingot',\r\n 'pink_dye',\r\n 'wooden_slab',\r\n 'orange_dye',\r\n 'carpet',\r\n 'sign',\r\n 'wool',\r\n 'sugar',\r\n 'blue_dye',\r\n 'white_dye',\r\n 'banner',\r\n 'netherite_ingot'\r\n ]);\r\n collections.register('loot_context_type', [\r\n 'minecraft:empty',\r\n 'minecraft:chest',\r\n 'minecraft:command',\r\n 'minecraft:selector',\r\n 'minecraft:fishing',\r\n 'minecraft:entity',\r\n 'minecraft:gift',\r\n 'minecraft:barter',\r\n 'minecraft:advancement_reward',\r\n 'minecraft:advancement_entity',\r\n 'minecraft:generic',\r\n 'minecraft:block'\r\n ]);\r\n}\r\nexports.initCollections = initCollections;\r\n","\"use strict\";\r\nObject.defineProperty(exports, \"__esModule\", { value: true });\r\nexports.initCommonSchemas = exports.Range = exports.ConditionCases = void 0;\r\nconst core_1 = require(\"@mcschema/core\");\r\nfunction initCommonSchemas(schemas, collections) {\r\n const StringNode = core_1.StringNode.bind(undefined, collections);\r\n const Reference = core_1.Reference.bind(undefined, schemas);\r\n schemas.register('block_state', core_1.Mod(core_1.ObjectNode({\r\n Name: StringNode({ validator: 'resource', params: { pool: 'block' } }),\r\n Properties: core_1.Opt(core_1.MapNode(StringNode(), StringNode(), { validation: { validator: 'block_state_map', params: { id: ['pop', { push: 'Name' }] } } }))\r\n }, { context: 'block_state' }), {\r\n default: () => ({\r\n Name: 'minecraft:stone'\r\n })\r\n }));\r\n schemas.register('fluid_state', core_1.Mod(core_1.ObjectNode({\r\n Name: StringNode({ validator: 'resource', params: { pool: 'fluid' } }),\r\n Properties: core_1.Opt(core_1.MapNode(StringNode(), StringNode()))\r\n }, { context: 'fluid_state' }), {\r\n default: () => ({\r\n Name: 'minecraft:water',\r\n Properties: {\r\n 'level': '0'\r\n }\r\n })\r\n }));\r\n schemas.register('block_pos', core_1.Mod(core_1.ListNode(core_1.NumberNode({ integer: true })), {\r\n default: () => [0, 0, 0]\r\n }));\r\n exports.Range = (config) => core_1.ChoiceNode([\r\n ...((config === null || config === void 0 ? void 0 : config.forceRange) ? [] : [{\r\n type: 'number',\r\n node: core_1.NumberNode(config),\r\n change: (v) => { var _a, _b, _c; return v === undefined ? 0 : (_c = (_b = (_a = v.min) !== null && _a !== void 0 ? _a : v.max) !== null && _b !== void 0 ? _b : v.n) !== null && _c !== void 0 ? _c : 0; }\r\n }]),\r\n {\r\n type: 'object',\r\n priority: -1,\r\n node: core_1.ObjectNode({\r\n min: (config === null || config === void 0 ? void 0 : config.bounds) ? core_1.NumberNode(config) : core_1.Opt(core_1.NumberNode(config)),\r\n max: (config === null || config === void 0 ? void 0 : config.bounds) ? core_1.NumberNode(config) : core_1.Opt(core_1.NumberNode(config))\r\n }, { context: 'range' }),\r\n change: (v) => ({\r\n min: typeof v === 'number' ? v : v === undefined ? 1 : v.n,\r\n max: typeof v === 'number' ? v : v === undefined ? 1 : v.n\r\n })\r\n },\r\n ...((config === null || config === void 0 ? void 0 : config.allowBinomial) ? [{\r\n type: 'binomial',\r\n node: core_1.ObjectNode({\r\n type: StringNode({ enum: ['minecraft:binomial'] }),\r\n n: core_1.NumberNode({ integer: true, min: 0 }),\r\n p: core_1.NumberNode({ min: 0, max: 1 })\r\n }, { context: 'range' }),\r\n match: (v) => v !== undefined && v.type === 'minecraft:binomial',\r\n change: (v) => {\r\n var _a, _b;\r\n return ({\r\n type: 'minecraft:binomial',\r\n n: typeof v === 'number' ? v : v === undefined ? 1 : ((_b = (_a = v.min) !== null && _a !== void 0 ? _a : v.max) !== null && _b !== void 0 ? _b : 1),\r\n p: 0.5\r\n });\r\n }\r\n }] : [])\r\n ], { choiceContext: 'range' });\r\n exports.ConditionCases = {\r\n 'minecraft:alternative': {\r\n terms: core_1.ListNode(Reference('condition'))\r\n },\r\n 'minecraft:block_state_property': {\r\n block: StringNode({ validator: 'resource', params: { pool: 'block' } }),\r\n properties: core_1.MapNode(StringNode(), StringNode(), { validation: { validator: 'block_state_map', params: { id: ['pop', { push: 'block' }] } } })\r\n },\r\n 'minecraft:damage_source_properties': {\r\n predicate: Reference('damage_source_predicate')\r\n },\r\n 'minecraft:entity_properties': {\r\n entity: StringNode({ enum: 'entity_source' }),\r\n predicate: Reference('entity_predicate')\r\n },\r\n 'minecraft:entity_scores': {\r\n entity: StringNode({ enum: 'entity_source' }),\r\n scores: core_1.MapNode(StringNode({ validator: 'objective' }), exports.Range({ forceRange: true, bounds: true }))\r\n },\r\n 'minecraft:inverted': {\r\n term: Reference('condition')\r\n },\r\n 'minecraft:killed_by_player': {\r\n inverse: core_1.Opt(core_1.BooleanNode())\r\n },\r\n 'minecraft:location_check': {\r\n offsetX: core_1.Opt(core_1.NumberNode({ integer: true })),\r\n offsetY: core_1.Opt(core_1.NumberNode({ integer: true })),\r\n offsetZ: core_1.Opt(core_1.NumberNode({ integer: true })),\r\n predicate: Reference('location_predicate')\r\n },\r\n 'minecraft:match_tool': {\r\n predicate: Reference('item_predicate')\r\n },\r\n 'minecraft:random_chance': {\r\n chance: core_1.NumberNode({ min: 0, max: 1 })\r\n },\r\n 'minecraft:random_chance_with_looting': {\r\n chance: core_1.NumberNode({ min: 0, max: 1 }),\r\n looting_multiplier: core_1.NumberNode()\r\n },\r\n 'minecraft:requirements': {\r\n terms: core_1.ListNode(Reference('condition')),\r\n },\r\n 'minecraft:reference': {\r\n name: StringNode({ validator: 'resource', params: { pool: '$predicate' } })\r\n },\r\n 'minecraft:table_bonus': {\r\n enchantment: StringNode({ validator: 'resource', params: { pool: 'enchantment' } }),\r\n chances: core_1.ListNode(core_1.NumberNode({ min: 0, max: 1 }))\r\n },\r\n 'minecraft:time_check': {\r\n value: exports.Range(),\r\n period: core_1.Opt(core_1.NumberNode())\r\n },\r\n 'minecraft:weather_check': {\r\n raining: core_1.Opt(core_1.BooleanNode()),\r\n thundering: core_1.Opt(core_1.BooleanNode())\r\n }\r\n };\r\n}\r\nexports.initCommonSchemas = initCommonSchemas;\r\n","\"use strict\";\r\nObject.defineProperty(exports, \"__esModule\", { value: true });\r\nexports.initPredicatesSchemas = exports.LocationFields = void 0;\r\nconst core_1 = require(\"@mcschema/core\");\r\nconst Common_1 = require(\"./Common\");\r\nfunction initPredicatesSchemas(schemas, collections) {\r\n const Reference = core_1.Reference.bind(undefined, schemas);\r\n const StringNode = core_1.StringNode.bind(undefined, collections);\r\n const StateChoice = core_1.ChoiceNode([\r\n {\r\n type: 'string',\r\n node: StringNode(),\r\n change: v => (typeof v === 'boolean' || typeof v === 'number') ? v.toString() : ''\r\n },\r\n {\r\n type: 'number',\r\n node: core_1.NumberNode(),\r\n change: v => (typeof v === 'string') ? parseInt(v) : 0\r\n },\r\n {\r\n type: 'object',\r\n node: core_1.ObjectNode({\r\n min: core_1.Opt(core_1.NumberNode({ integer: true })),\r\n max: core_1.Opt(core_1.NumberNode({ integer: true }))\r\n }),\r\n change: v => (typeof v === 'number') ? ({ min: v, max: v }) : ({})\r\n },\r\n {\r\n type: 'boolean',\r\n node: core_1.BooleanNode(),\r\n change: v => v === 'true' || v === 1\r\n }\r\n ]);\r\n schemas.register('item_predicate', core_1.ObjectNode({\r\n item: core_1.Opt(StringNode({ validator: 'resource', params: { pool: 'item' } })),\r\n tag: core_1.Opt(StringNode({ validator: 'resource', params: { pool: '$tag/item' } })),\r\n count: core_1.Opt(Common_1.Range()),\r\n durability: core_1.Opt(Common_1.Range()),\r\n potion: core_1.Opt(StringNode({ validator: 'resource', params: { pool: 'potion' } })),\r\n nbt: core_1.Opt(StringNode({ validator: 'nbt', params: { registry: { category: 'minecraft:item', id: ['pop', { push: 'item' }] } } })),\r\n enchantments: core_1.Opt(core_1.ListNode(Reference('enchantment_predicate')))\r\n }, { context: 'item' }));\r\n schemas.register('enchantment_predicate', core_1.ObjectNode({\r\n enchantment: core_1.Opt(StringNode({ validator: 'resource', params: { pool: 'enchantment' } })),\r\n levels: core_1.Opt(Common_1.Range())\r\n }, { context: 'enchantment' }));\r\n schemas.register('block_predicate', core_1.ObjectNode({\r\n block: core_1.Opt(StringNode({ validator: 'resource', params: { pool: 'block' } })),\r\n tag: core_1.Opt(StringNode({ validator: 'resource', params: { pool: '$tag/block' } })),\r\n nbt: core_1.Opt(StringNode({ validator: 'nbt', params: { registry: { category: 'minecraft:block', id: ['pop', { push: 'block' }] } } })),\r\n state: core_1.Opt(core_1.MapNode(StringNode(), StateChoice, { validation: { validator: 'block_state_map', params: { id: ['pop', { push: 'block' }] } } }))\r\n }, { context: 'block' }));\r\n schemas.register('fluid_predicate', core_1.ObjectNode({\r\n fluid: core_1.Opt(StringNode({ validator: 'resource', params: { pool: 'fluid' } })),\r\n tag: core_1.Opt(StringNode({ validator: 'resource', params: { pool: '$tag/fluid' } })),\r\n state: core_1.Opt(core_1.MapNode(StringNode(), StateChoice))\r\n }, { context: 'fluid' }));\r\n exports.LocationFields = {\r\n position: core_1.Opt(core_1.ObjectNode({\r\n x: core_1.Opt(Common_1.Range()),\r\n y: core_1.Opt(Common_1.Range()),\r\n z: core_1.Opt(Common_1.Range())\r\n })),\r\n biome: core_1.Opt(StringNode({ enum: 'biome' })),\r\n feature: core_1.Opt(StringNode({ enum: 'structure_feature' })),\r\n dimension: core_1.Opt(StringNode({ enum: 'dimension' })),\r\n light: core_1.Opt(core_1.ObjectNode({\r\n light: core_1.Opt(Common_1.Range({ integer: true, min: 0, max: 15 }))\r\n })),\r\n block: core_1.Opt(Reference('block_predicate')),\r\n fluid: core_1.Opt(Reference('fluid_predicate'))\r\n };\r\n schemas.register('location_predicate', core_1.ObjectNode(exports.LocationFields, { context: 'location' }));\r\n schemas.register('statistic_predicate', core_1.ObjectNode({\r\n type: StringNode({ validator: 'resource', params: { pool: 'stat_type' } }),\r\n stat: StringNode(),\r\n value: Common_1.Range(),\r\n [core_1.Switch]: [{ push: 'type' }],\r\n [core_1.Case]: {\r\n 'minecraft:mined': {\r\n stat: StringNode({ validator: 'resource', params: { pool: 'block' } })\r\n },\r\n 'minecraft:crafted': {\r\n stat: StringNode({ validator: 'resource', params: { pool: 'item' } })\r\n },\r\n 'minecraft:used': {\r\n stat: StringNode({ validator: 'resource', params: { pool: 'item' } })\r\n },\r\n 'minecraft:broken': {\r\n stat: StringNode({ validator: 'resource', params: { pool: 'item' } })\r\n },\r\n 'minecraft:picked_up': {\r\n stat: StringNode({ validator: 'resource', params: { pool: 'item' } })\r\n },\r\n 'minecraft:dropped': {\r\n stat: StringNode({ validator: 'resource', params: { pool: 'item' } })\r\n },\r\n 'minecraft:killed': {\r\n stat: StringNode({ validator: 'resource', params: { pool: 'entity_type' } })\r\n },\r\n 'minecraft:killed_by': {\r\n stat: StringNode({ validator: 'resource', params: { pool: 'entity_type' } })\r\n },\r\n 'minecraft:custom': {\r\n stat: StringNode({ validator: 'resource', params: { pool: 'custom_stat' } })\r\n }\r\n }\r\n }));\r\n schemas.register('player_predicate', core_1.ObjectNode({\r\n gamemode: core_1.Opt(StringNode({ enum: 'gamemode' })),\r\n level: core_1.Opt(Common_1.Range()),\r\n advancements: core_1.Opt(core_1.MapNode(StringNode({ validator: 'resource', params: { pool: '$advancement' } }), core_1.ChoiceNode([\r\n { type: 'boolean', node: core_1.BooleanNode(), change: _ => true },\r\n {\r\n type: 'object', node: core_1.MapNode(StringNode(), core_1.BooleanNode())\r\n }\r\n ]))),\r\n recipes: core_1.Opt(core_1.MapNode(StringNode({ validator: 'resource', params: { pool: '$recipe' } }), core_1.BooleanNode())),\r\n stats: core_1.Opt(core_1.ListNode(Reference('statistic_predicate')))\r\n }, { context: 'player' }));\r\n schemas.register('status_effect_predicate', core_1.ObjectNode({\r\n amplifier: core_1.Opt(Common_1.Range()),\r\n duration: core_1.Opt(Common_1.Range()),\r\n ambient: core_1.Opt(core_1.BooleanNode()),\r\n visible: core_1.Opt(core_1.BooleanNode())\r\n }, { context: 'status_effect' }));\r\n schemas.register('distance_predicate', core_1.ObjectNode({\r\n x: core_1.Opt(Common_1.Range()),\r\n y: core_1.Opt(Common_1.Range()),\r\n z: core_1.Opt(Common_1.Range()),\r\n absolute: core_1.Opt(Common_1.Range()),\r\n horizontal: core_1.Opt(Common_1.Range())\r\n }, { context: 'distance' }));\r\n schemas.register('entity_predicate', core_1.ObjectNode({\r\n type: core_1.Opt(StringNode({ validator: 'resource', params: { pool: 'entity_type', allowTag: true } })),\r\n nbt: core_1.Opt(StringNode({ validator: 'nbt', params: { registry: { category: 'minecraft:entity', id: ['pop', { push: 'type' }] } } })),\r\n team: core_1.Opt(StringNode({ validator: 'team' })),\r\n location: core_1.Opt(Reference('location_predicate')),\r\n distance: core_1.Opt(Reference('distance_predicate')),\r\n flags: core_1.Opt(core_1.ObjectNode({\r\n is_on_fire: core_1.Opt(core_1.BooleanNode()),\r\n is_sneaking: core_1.Opt(core_1.BooleanNode()),\r\n is_sprinting: core_1.Opt(core_1.BooleanNode()),\r\n is_swimming: core_1.Opt(core_1.BooleanNode()),\r\n is_baby: core_1.Opt(core_1.BooleanNode())\r\n })),\r\n equipment: core_1.Opt(core_1.MapNode(StringNode({ enum: 'slot' }), Reference('item_predicate'))),\r\n player: core_1.Opt(Reference('player_predicate')),\r\n effects: core_1.Opt(core_1.MapNode(StringNode({ validator: 'resource', params: { pool: 'mob_effect' } }), Reference('status_effect_predicate')))\r\n }, { context: 'entity' }));\r\n schemas.register('damage_source_predicate', core_1.ObjectNode({\r\n is_explosion: core_1.Opt(core_1.BooleanNode()),\r\n is_fire: core_1.Opt(core_1.BooleanNode()),\r\n is_magic: core_1.Opt(core_1.BooleanNode()),\r\n is_projectile: core_1.Opt(core_1.BooleanNode()),\r\n is_lightning: core_1.Opt(core_1.BooleanNode()),\r\n bypasses_armor: core_1.Opt(core_1.BooleanNode()),\r\n bypasses_invulnerability: core_1.Opt(core_1.BooleanNode()),\r\n bypasses_magic: core_1.Opt(core_1.BooleanNode()),\r\n source_entity: core_1.Opt(Reference('entity_predicate')),\r\n direct_entity: core_1.Opt(Reference('entity_predicate'))\r\n }, { context: 'damage_source' }));\r\n schemas.register('damage_predicate', core_1.ObjectNode({\r\n dealt: core_1.Opt(Common_1.Range()),\r\n taken: core_1.Opt(Common_1.Range()),\r\n blocked: core_1.Opt(core_1.BooleanNode()),\r\n source_entity: core_1.Opt(Reference('entity_predicate')),\r\n type: core_1.Opt(Reference('damage_source_predicate'))\r\n }, { context: 'damage' }));\r\n}\r\nexports.initPredicatesSchemas = initPredicatesSchemas;\r\n","\"use strict\";\r\nObject.defineProperty(exports, \"__esModule\", { value: true });\r\nexports.initAdvancementSchemas = void 0;\r\nconst core_1 = require(\"@mcschema/core\");\r\nconst Common_1 = require(\"./Common\");\r\nconst Predicates_1 = require(\"./Predicates\");\r\nfunction initAdvancementSchemas(schemas, collections) {\r\n const Reference = core_1.Reference.bind(undefined, schemas);\r\n const StringNode = core_1.StringNode.bind(undefined, collections);\r\n schemas.register('advancement', core_1.Mod(core_1.ObjectNode({\r\n display: core_1.Opt(core_1.Mod(core_1.ObjectNode({\r\n icon: core_1.ObjectNode({\r\n item: StringNode({ validator: 'resource', params: { pool: 'item' } }),\r\n nbt: core_1.Opt(StringNode({ validator: 'nbt', params: { registry: { category: 'minecraft:item', id: ['pop', { push: 'item' }] } } }))\r\n }),\r\n title: Reference('text_component'),\r\n description: Reference('text_component'),\r\n background: core_1.Opt(StringNode()),\r\n frame: core_1.Opt(StringNode({ enum: ['task', 'challenge', 'goal'] })),\r\n show_toast: core_1.Opt(core_1.BooleanNode()),\r\n announce_to_chat: core_1.Opt(core_1.BooleanNode()),\r\n hidden: core_1.Opt(core_1.BooleanNode())\r\n }), {\r\n default: () => ({\r\n icon: {\r\n item: 'minecraft:stone'\r\n },\r\n title: '',\r\n description: ''\r\n })\r\n })),\r\n parent: core_1.Opt(StringNode({ validator: 'resource', params: { pool: '$advancement' } })),\r\n criteria: core_1.MapNode(StringNode(), Reference('advancement_criteria')),\r\n requirements: core_1.Opt(core_1.ListNode(core_1.ListNode(StringNode() // TODO: add validation\r\n ))),\r\n rewards: core_1.Opt(core_1.ObjectNode({\r\n function: core_1.Opt(StringNode({ validator: 'resource', params: { pool: '$function' } })),\r\n loot: core_1.Opt(core_1.ListNode(StringNode({ validator: 'resource', params: { pool: '$loot_table' } }))),\r\n recipes: core_1.Opt(core_1.ListNode(StringNode({ validator: 'resource', params: { pool: '$recipe' } }))),\r\n experience: core_1.Opt(core_1.NumberNode({ integer: true }))\r\n })),\r\n }, { context: 'advancement' }), {\r\n default: () => ({\r\n criteria: {\r\n requirement: {\r\n trigger: 'minecraft:location'\r\n }\r\n }\r\n })\r\n }));\r\n schemas.register('advancement_criteria', core_1.ObjectNode({\r\n trigger: StringNode({ validator: 'resource', params: { pool: collections.get('advancement_trigger') } }),\r\n conditions: core_1.Opt(core_1.ObjectNode({\r\n [core_1.Switch]: ['pop', { push: 'trigger' }],\r\n [core_1.Case]: {\r\n 'minecraft:bee_nest_destroyed': {\r\n block: core_1.Opt(StringNode({ validator: 'resource', params: { pool: 'block' } })),\r\n num_bees_inside: core_1.Opt(core_1.NumberNode({ integer: true })),\r\n item: core_1.Opt(Reference('item_predicate'))\r\n },\r\n 'minecraft:bred_animals': {\r\n parent: core_1.Opt(Reference('entity_predicate')),\r\n partner: core_1.Opt(Reference('entity_predicate')),\r\n child: core_1.Opt(Reference('entity_predicate'))\r\n },\r\n 'minecraft:brewed_potion': {\r\n potion: core_1.Opt(StringNode({ validator: 'resource', params: { pool: 'potion' } }))\r\n },\r\n 'minecraft:changed_dimension': {\r\n from: core_1.Opt(StringNode({ enum: 'dimension' })),\r\n to: core_1.Opt(StringNode({ enum: 'dimension' }))\r\n },\r\n 'minecraft:channeled_lightning': {\r\n victims: core_1.Opt(core_1.ListNode(core_1.Opt(Reference('entity_predicate'))))\r\n },\r\n 'minecraft:construct_beacon': {\r\n level: core_1.Opt(Common_1.Range())\r\n },\r\n 'minecraft:consume_item': {\r\n item: core_1.Opt(Reference('item_predicate'))\r\n },\r\n 'minecraft:cured_zombie_villager': {\r\n villager: core_1.Opt(Reference('entity_predicate')),\r\n zombie: core_1.Opt(Reference('entity_predicate'))\r\n },\r\n 'minecraft:effects_changed': {\r\n effects: core_1.Opt(core_1.MapNode(StringNode({ validator: 'resource', params: { pool: 'mob_effect' } }), core_1.ObjectNode({\r\n amplifier: Common_1.Range(),\r\n duration: Common_1.Range()\r\n })))\r\n },\r\n 'minecraft:enter_block': {\r\n block: core_1.Opt(StringNode({ validator: 'resource', params: { pool: 'block' } })),\r\n state: core_1.Opt(core_1.MapNode(StringNode(), StringNode(), { validation: { validator: 'block_state_map', params: { id: ['pop', { push: 'block' }] } } }))\r\n },\r\n 'minecraft:enchanted_item': {\r\n levels: core_1.Opt(Common_1.Range()),\r\n item: core_1.Opt(Reference('item_predicate'))\r\n },\r\n 'minecraft:entity_hurt_player': {\r\n damage: core_1.Opt(Reference('damage_predicate'))\r\n },\r\n 'minecraft:entity_killed_player': {\r\n entity: core_1.Opt(Reference('entity_predicate')),\r\n killing_blow: core_1.Opt(Reference('damage_source_predicate'))\r\n },\r\n 'minecraft:filled_bucket': {\r\n item: core_1.Opt(Reference('item_predicate'))\r\n },\r\n 'minecraft:fishing_rod_hooked': {\r\n entity: core_1.Opt(Reference('entity_predicate')),\r\n item: core_1.Opt(Reference('item_predicate'))\r\n },\r\n 'minecraft:hero_of_the_village': Predicates_1.LocationFields,\r\n 'minecraft:inventory_changed': {\r\n slots: core_1.Opt(core_1.ObjectNode({\r\n empty: core_1.Opt(Common_1.Range()),\r\n occupied: core_1.Opt(Common_1.Range()),\r\n full: core_1.Opt(Common_1.Range())\r\n })),\r\n items: core_1.Opt(core_1.ListNode(Reference('item_predicate')))\r\n },\r\n 'minecraft:item_durability_changed': {\r\n delta: core_1.Opt(Common_1.Range()),\r\n durability: core_1.Opt(Common_1.Range()),\r\n item: core_1.Opt(Reference('item_predicate'))\r\n },\r\n 'minecraft:killed_by_crossbow': {\r\n unique_entity_types: core_1.Opt(Common_1.Range()),\r\n victims: core_1.Opt(core_1.ListNode(core_1.Opt(Reference('entity_predicate'))))\r\n },\r\n 'minecraft:levitation': {\r\n distance: core_1.Opt(Common_1.Range()),\r\n duration: core_1.Opt(Common_1.Range())\r\n },\r\n 'minecraft:location': Predicates_1.LocationFields,\r\n 'minecraft:nether_travel': {\r\n distance: core_1.Opt(Common_1.Range()),\r\n entered: core_1.Opt(Reference('location_predicate')),\r\n exited: core_1.Opt(Reference('location_predicate'))\r\n },\r\n 'minecraft:placed_block': {\r\n block: core_1.Opt(StringNode({ validator: 'resource', params: { pool: 'block' } })),\r\n state: core_1.Opt(core_1.MapNode(StringNode(), StringNode(), { validation: { validator: 'block_state_map', params: { id: ['pop', { push: 'block' }] } } })),\r\n item: core_1.Opt(Reference('item_predicate')),\r\n location: core_1.Opt(Reference('location_predicate'))\r\n },\r\n 'minecraft:player_hurt_entity': {\r\n damage: core_1.Opt(Reference('damage_predicate')),\r\n entity: core_1.Opt(Reference('entity_predicate'))\r\n },\r\n 'minecraft:player_killed_entity': {\r\n entity: core_1.Opt(Reference('entity_predicate')),\r\n killing_blow: core_1.Opt(Reference('damage_source_predicate'))\r\n },\r\n 'minecraft:recipe_unlocked': {\r\n recipe: StringNode({ validator: 'resource', params: { pool: '$recipe' } })\r\n },\r\n 'minecraft:safely_harvest_honey': {\r\n block: core_1.Opt(core_1.ObjectNode({\r\n block: core_1.Opt(StringNode({ validator: 'resource', params: { pool: 'block' } })),\r\n tag: core_1.Opt(StringNode({ validator: 'resource', params: { pool: '$tag/block' } }))\r\n })),\r\n item: core_1.Opt(Reference('item_predicate'))\r\n },\r\n 'minecraft:slept_in_bed': Predicates_1.LocationFields,\r\n 'minecraft:slide_down_block': {\r\n block: core_1.Opt(StringNode({ validator: 'resource', params: { pool: 'block' } }))\r\n },\r\n 'minecraft:shot_crossbow': {\r\n item: core_1.Opt(Reference('item_predicate'))\r\n },\r\n 'minecraft:summoned_entity': {\r\n entity: core_1.Opt(Reference('entity_predicate'))\r\n },\r\n 'minecraft:tame_animal': {\r\n entity: core_1.Opt(Reference('entity_predicate'))\r\n },\r\n 'minecraft:used_ender_eye': {\r\n distance: core_1.Opt(Common_1.Range())\r\n },\r\n 'minecraft:used_totem': {\r\n item: core_1.Opt(Reference('item_predicate'))\r\n },\r\n 'minecraft:villager_trade': {\r\n villager: core_1.Opt(Reference('entity_predicate')),\r\n item: core_1.Opt(Reference('item_predicate'))\r\n },\r\n 'minecraft:voluntary_exile': Predicates_1.LocationFields\r\n }\r\n }, { context: 'criterion' }))\r\n }, { category: 'predicate', context: 'criterion' }));\r\n}\r\nexports.initAdvancementSchemas = initAdvancementSchemas;\r\n","\"use strict\";\r\nObject.defineProperty(exports, \"__esModule\", { value: true });\r\nexports.initConditionSchemas = void 0;\r\nconst core_1 = require(\"@mcschema/core\");\r\nconst Common_1 = require(\"./Common\");\r\nfunction initConditionSchemas(schemas, collections) {\r\n const Reference = core_1.Reference.bind(undefined, schemas);\r\n const StringNode = core_1.StringNode.bind(undefined, collections);\r\n schemas.register('predicate', core_1.ObjectOrList(Reference('condition'), { choiceContext: 'condition' }));\r\n schemas.register('condition', core_1.Mod(core_1.ObjectNode({\r\n condition: StringNode({ validator: 'resource', params: { pool: 'loot_condition_type' } }),\r\n [core_1.Switch]: [{ push: 'condition' }],\r\n [core_1.Case]: Common_1.ConditionCases\r\n }, { category: 'predicate', context: 'condition' }), {\r\n default: () => ({\r\n condition: 'minecraft:entity_properties',\r\n entity: 'this'\r\n })\r\n }));\r\n}\r\nexports.initConditionSchemas = initConditionSchemas;\r\n","\"use strict\";\r\nObject.defineProperty(exports, \"__esModule\", { value: true });\r\nexports.LootFunctions = exports.LootConditions = exports.LootCopySources = exports.LootEntitySources = exports.LootTableTypes = void 0;\r\nexports.LootTableTypes = new Map([\r\n ['minecraft:advancement_entity', { requires: [7 /* Origin */, 8 /* ThisEntity */], allows: [] }],\r\n ['minecraft:advancement_reward', { requires: [7 /* Origin */, 8 /* ThisEntity */], allows: [] }],\r\n ['minecraft:barter', { requires: [8 /* ThisEntity */], allows: [] }],\r\n ['minecraft:block', { requires: [1 /* BlockState */, 7 /* Origin */, 9 /* Tool */], allows: [0 /* BlockEntity */, 4 /* ExplosionRadius */, 8 /* ThisEntity */] }],\r\n ['minecraft:chest', { requires: [7 /* Origin */], allows: [8 /* ThisEntity */] }],\r\n ['minecraft:command', { requires: [7 /* Origin */], allows: [8 /* ThisEntity */] }],\r\n ['minecraft:empty', { requires: [], allows: [] }],\r\n ['minecraft:entity', { requires: [2 /* DamageSource */, 7 /* Origin */, 8 /* ThisEntity */], allows: [3 /* DirectKillerEntity */, 5 /* KillerEntity */, 6 /* LastDamagePlayer */] }],\r\n ['minecraft:fishing', { requires: [7 /* Origin */, 9 /* Tool */], allows: [8 /* ThisEntity */] }],\r\n ['minecraft:generic', { requires: [2 /* DamageSource */, 0 /* BlockEntity */, 1 /* BlockState */, 3 /* DirectKillerEntity */, 4 /* ExplosionRadius */, 5 /* KillerEntity */, 6 /* LastDamagePlayer */, 7 /* Origin */, 8 /* ThisEntity */, 9 /* Tool */], allows: [] }],\r\n ['minecraft:gift', { requires: [7 /* Origin */, 8 /* ThisEntity */], allows: [] }],\r\n ['minecraft:selector', { requires: [7 /* Origin */], allows: [8 /* ThisEntity */] }]\r\n]);\r\n/**\r\n * A map from loot entity sources to an array of their required context.\r\n */\r\nexports.LootEntitySources = new Map([\r\n ['direct_killer', [3 /* DirectKillerEntity */]],\r\n ['killer', [5 /* KillerEntity */]],\r\n ['killer_player', [5 /* KillerEntity */]],\r\n ['this', [8 /* ThisEntity */]]\r\n]);\r\n/**\r\n * A map from loot copy sources to an array of their required context.\r\n */\r\nexports.LootCopySources = new Map([\r\n ['block_entity', [0 /* BlockEntity */]],\r\n ['killer', [5 /* KillerEntity */]],\r\n ['killer_player', [5 /* KillerEntity */]],\r\n ['this', [8 /* ThisEntity */]]\r\n]);\r\n/**\r\n * A map from loot condition IDs to an array of their required context.\r\n */\r\nexports.LootConditions = new Map([\r\n ['minecraft:alternative', []],\r\n ['minecraft:block_state_property', [1 /* BlockState */]],\r\n ['minecraft:damage_source_properties', [2 /* DamageSource */]],\r\n ['minecraft:entity_properties', [7 /* Origin */]],\r\n ['minecraft:entity_scores', []],\r\n ['minecraft:inverted', []],\r\n ['minecraft:killed_by_player', [6 /* LastDamagePlayer */]],\r\n ['minecraft:location_check', []],\r\n ['minecraft:match_tool', [9 /* Tool */]],\r\n ['minecraft:random_chance', []],\r\n ['minecraft:random_chance_with_looting', [5 /* KillerEntity */]],\r\n ['minecraft:reference', []],\r\n ['minecraft:survives_explosion', [4 /* ExplosionRadius */]],\r\n ['minecraft:table_bonus', [9 /* Tool */]],\r\n ['minecraft:time_check', []],\r\n ['minecraft:weather_check', []]\r\n]);\r\n/**\r\n * A map from loot function IDs to an array of their required context.\r\n */\r\nexports.LootFunctions = new Map([\r\n ['minecraft:apply_bonus', [9 /* Tool */]],\r\n ['minecraft:copy_name', []],\r\n ['minecraft:copy_nbt', []],\r\n ['minecraft:copy_state', [1 /* BlockState */]],\r\n ['minecraft:enchant_randomly', []],\r\n ['minecraft:enchant_with_levels', []],\r\n ['minecraft:exploration_map', [7 /* Origin */]],\r\n ['minecraft:explosion_decay', []],\r\n ['minecraft:fill_player_head', []],\r\n ['minecraft:furnace_smelt', []],\r\n ['minecraft:limit_count', []],\r\n ['minecraft:looting_enchant', [5 /* KillerEntity */]],\r\n ['minecraft:set_attributes', []],\r\n ['minecraft:set_contents', []],\r\n ['minecraft:set_count', []],\r\n ['minecraft:set_damage', []],\r\n ['minecraft:set_loot_table', []],\r\n ['minecraft:set_lore', []],\r\n ['minecraft:set_name', []],\r\n ['minecraft:set_nbt', []],\r\n ['minecraft:set_stew_effect', []]\r\n]);\r\n","\"use strict\";\r\nObject.defineProperty(exports, \"__esModule\", { value: true });\r\nexports.initLootTableSchemas = void 0;\r\nconst core_1 = require(\"@mcschema/core\");\r\nconst LootContext_1 = require(\"../LootContext\");\r\nconst Common_1 = require(\"./Common\");\r\nfunction initLootTableSchemas(schemas, collections) {\r\n const Reference = core_1.Reference.bind(undefined, schemas);\r\n const StringNode = core_1.StringNode.bind(undefined, collections);\r\n const conditions = {\r\n conditions: core_1.Opt(core_1.ListNode(Reference('loot_condition')))\r\n };\r\n const functionsAndConditions = {\r\n functions: core_1.Opt(core_1.ListNode(Reference('loot_function'))),\r\n ...conditions\r\n };\r\n function compileSwitchNode(contextMap, collectionID, getNode) {\r\n const cases = [];\r\n const getAvailableOptions = (providedContext) => collections\r\n .get(collectionID)\r\n .filter(t => {\r\n var _a;\r\n const requiredContext = (_a = contextMap.get(t)) !== null && _a !== void 0 ? _a : [];\r\n return requiredContext.every(c => providedContext.includes(c));\r\n });\r\n for (const [tableType, { allows, requires }] of LootContext_1.LootTableTypes) {\r\n const providedContext = [...allows, ...requires];\r\n cases.push({\r\n match: path => path.getModel().get(new core_1.Path(['type'])) === tableType,\r\n node: getNode(getAvailableOptions(providedContext))\r\n });\r\n }\r\n cases.push({ match: _ => true, node: getNode(collectionID) });\r\n return core_1.SwitchNode(cases);\r\n }\r\n const conditionSwtichNode = compileSwitchNode(LootContext_1.LootConditions, 'loot_condition_type', type => StringNode({ validator: 'resource', params: { pool: type instanceof Array ? type : `loot_condition_type` } }));\r\n const functionSwtichNode = compileSwitchNode(LootContext_1.LootFunctions, 'loot_function_type', type => StringNode({ validator: 'resource', params: { pool: type instanceof Array ? type : `loot_function_type` } }));\r\n const entitySourceSwtichNode = compileSwitchNode(LootContext_1.LootEntitySources, 'entity_source', type => StringNode({ enum: type }));\r\n const copySourceSwtichNode = compileSwitchNode(LootContext_1.LootCopySources, 'copy_source', type => StringNode({ enum: type }));\r\n schemas.register('loot_table', core_1.Mod(core_1.ObjectNode({\r\n type: core_1.Opt(StringNode({ validator: \"resource\", params: { pool: collections.get('loot_context_type') } })),\r\n pools: core_1.Opt(core_1.ListNode(core_1.Mod(core_1.ObjectNode({\r\n rolls: Common_1.Range({ allowBinomial: true, integer: true }),\r\n bonus_rolls: core_1.Opt(Common_1.Range({ integer: true })),\r\n entries: core_1.ListNode(Reference('loot_entry')),\r\n ...functionsAndConditions\r\n }, { category: 'pool', context: 'loot_pool' }), {\r\n default: () => ({\r\n rolls: 1,\r\n entries: [{\r\n type: 'minecraft:item',\r\n name: 'minecraft:stone'\r\n }]\r\n })\r\n }))),\r\n functions: core_1.Opt(core_1.ListNode(Reference('loot_function')))\r\n }, { context: 'loot_table' }), {\r\n default: () => ({\r\n pools: [{\r\n rolls: 1,\r\n entries: [{\r\n type: 'minecraft:item',\r\n name: 'minecraft:stone'\r\n }]\r\n }]\r\n })\r\n }));\r\n const weightMod = {\r\n enabled: path => {\r\n var _a;\r\n return ((_a = path.pop().get()) === null || _a === void 0 ? void 0 : _a.length) > 1\r\n && !['minecraft:alternatives', 'minecraft:group', 'minecraft:sequence'].includes(path.push('type').get());\r\n }\r\n };\r\n schemas.register('loot_entry', core_1.Mod(core_1.ObjectNode({\r\n type: StringNode({ validator: 'resource', params: { pool: 'loot_pool_entry_type' } }),\r\n weight: core_1.Opt(core_1.Mod(core_1.NumberNode({ integer: true, min: 1 }), weightMod)),\r\n quality: core_1.Opt(core_1.Mod(core_1.NumberNode({ integer: true }), weightMod)),\r\n [core_1.Switch]: [{ push: 'type' }],\r\n [core_1.Case]: {\r\n 'minecraft:alternatives': {\r\n children: core_1.ListNode(Reference('loot_entry')),\r\n ...functionsAndConditions\r\n },\r\n 'minecraft:dynamic': {\r\n name: StringNode(),\r\n ...functionsAndConditions\r\n },\r\n 'minecraft:group': {\r\n children: core_1.ListNode(Reference('loot_entry')),\r\n ...functionsAndConditions\r\n },\r\n 'minecraft:item': {\r\n name: StringNode({ validator: 'resource', params: { pool: 'item' } }),\r\n ...functionsAndConditions\r\n },\r\n 'minecraft:loot_table': {\r\n name: StringNode({ validator: 'resource', params: { pool: '$loot_table' } }),\r\n ...functionsAndConditions\r\n },\r\n 'minecraft:sequence': {\r\n children: core_1.ListNode(Reference('loot_entry')),\r\n ...functionsAndConditions\r\n },\r\n 'minecraft:tag': {\r\n name: StringNode({ validator: 'resource', params: { pool: '$tag/item' } }),\r\n expand: core_1.Opt(core_1.BooleanNode()),\r\n ...functionsAndConditions\r\n }\r\n }\r\n }, { context: 'loot_entry' }), {\r\n default: () => ({\r\n type: 'minecraft:item',\r\n name: 'minecraft:stone'\r\n })\r\n }));\r\n schemas.register('loot_function', core_1.Mod(core_1.ObjectNode({\r\n function: functionSwtichNode,\r\n [core_1.Switch]: [{ push: 'function' }],\r\n [core_1.Case]: {\r\n 'minecraft:apply_bonus': {\r\n enchantment: StringNode({ validator: 'resource', params: { pool: 'enchantment' } }),\r\n formula: StringNode({ validator: 'resource', params: { pool: collections.get('loot_table_apply_bonus_formula') } }),\r\n parameters: core_1.Mod(core_1.ObjectNode({\r\n bonusMultiplier: core_1.Mod(core_1.NumberNode(), {\r\n enabled: path => path.pop().push('formula').get() === 'minecraft:uniform_bonus_count'\r\n }),\r\n extra: core_1.Mod(core_1.NumberNode(), {\r\n enabled: path => path.pop().push('formula').get() === 'minecraft:binomial_with_bonus_count'\r\n }),\r\n probability: core_1.Mod(core_1.NumberNode(), {\r\n enabled: path => path.pop().push('formula').get() === 'minecraft:binomial_with_bonus_count'\r\n })\r\n }), {\r\n enabled: path => path.push('formula').get() !== 'minecraft:ore_drops'\r\n }),\r\n ...conditions\r\n },\r\n 'minecraft:copy_name': {\r\n source: copySourceSwtichNode,\r\n ...conditions\r\n },\r\n 'minecraft:copy_nbt': {\r\n source: copySourceSwtichNode,\r\n ops: core_1.ListNode(core_1.ObjectNode({\r\n source: StringNode({ validator: 'nbt_path', params: { category: { getter: 'copy_source', path: ['pop', 'pop', 'pop', { push: 'source' }] } } }),\r\n target: StringNode({ validator: 'nbt_path', params: { category: 'minecraft:item' } }),\r\n op: StringNode({ enum: ['replace', 'append', 'merge'] })\r\n }, { context: 'nbt_operation' })),\r\n ...conditions\r\n },\r\n 'minecraft:copy_state': {\r\n block: StringNode({ validator: 'resource', params: { pool: 'block' } }),\r\n properties: core_1.ListNode(StringNode({ validator: 'block_state_key', params: { id: ['pop', 'pop', { push: 'block' }] } })),\r\n ...conditions\r\n },\r\n 'minecraft:enchant_randomly': {\r\n enchantments: core_1.Opt(core_1.ListNode(StringNode({ validator: 'resource', params: { pool: 'enchantment' } }))),\r\n ...conditions\r\n },\r\n 'minecraft:enchant_with_levels': {\r\n levels: Common_1.Range({ allowBinomial: true }),\r\n treasure: core_1.Opt(core_1.BooleanNode()),\r\n ...conditions\r\n },\r\n 'minecraft:exploration_map': {\r\n destination: core_1.Opt(StringNode({ enum: 'structure_feature' })),\r\n decoration: core_1.Opt(StringNode({ enum: 'map_decoration' })),\r\n zoom: core_1.Opt(core_1.NumberNode({ integer: true })),\r\n search_radius: core_1.Opt(core_1.NumberNode({ integer: true })),\r\n skip_existing_chunks: core_1.Opt(core_1.BooleanNode()),\r\n ...conditions\r\n },\r\n 'minecraft:fill_player_head': {\r\n entity: entitySourceSwtichNode,\r\n ...conditions\r\n },\r\n 'minecraft:limit_count': {\r\n limit: Common_1.Range({ bounds: true }),\r\n ...conditions\r\n },\r\n 'minecraft:looting_enchant': {\r\n count: Common_1.Range({ bounds: true }),\r\n limit: core_1.Opt(core_1.NumberNode({ integer: true })),\r\n ...conditions\r\n },\r\n 'minecraft:set_attributes': {\r\n modifiers: core_1.ListNode(Reference('attribute_modifier')),\r\n ...conditions\r\n },\r\n 'minecraft:set_contents': {\r\n entries: core_1.ListNode(Reference('loot_entry')),\r\n ...conditions\r\n },\r\n 'minecraft:set_count': {\r\n count: Common_1.Range({ allowBinomial: true }),\r\n ...conditions\r\n },\r\n 'minecraft:set_damage': {\r\n damage: Common_1.Range({ forceRange: true }),\r\n ...conditions\r\n },\r\n 'minecraft:set_loot_table': {\r\n name: StringNode({ validator: 'resource', params: { pool: '$loot_table' } }),\r\n seed: core_1.Opt(core_1.NumberNode({ integer: true }))\r\n },\r\n 'minecraft:set_lore': {\r\n entity: core_1.Opt(entitySourceSwtichNode),\r\n lore: core_1.ListNode(Reference('text_component')),\r\n replace: core_1.Opt(core_1.BooleanNode()),\r\n ...conditions\r\n },\r\n 'minecraft:set_name': {\r\n entity: core_1.Opt(entitySourceSwtichNode),\r\n name: core_1.Opt(Reference('text_component')),\r\n ...conditions\r\n },\r\n 'minecraft:set_nbt': {\r\n tag: StringNode({ validator: 'nbt', params: { registry: { category: 'minecraft:item' } } }),\r\n ...conditions\r\n },\r\n 'minecraft:set_stew_effect': {\r\n effects: core_1.Opt(core_1.ListNode(core_1.ObjectNode({\r\n type: StringNode({ validator: 'resource', params: { pool: 'mob_effect' } }),\r\n duration: Common_1.Range()\r\n }))),\r\n ...conditions\r\n }\r\n }\r\n }, { category: 'function', context: 'function' }), {\r\n default: () => ({\r\n function: 'minecraft:set_count',\r\n count: 1\r\n })\r\n }));\r\n schemas.register('loot_condition', core_1.Mod(core_1.ObjectNode({\r\n condition: conditionSwtichNode,\r\n [core_1.Switch]: [{ push: 'condition' }],\r\n [core_1.Case]: {\r\n ...Common_1.ConditionCases,\r\n 'minecraft:entity_properties': {\r\n entity: entitySourceSwtichNode,\r\n predicate: Reference('entity_predicate')\r\n },\r\n 'minecraft:entity_scores': {\r\n entity: entitySourceSwtichNode,\r\n scores: core_1.MapNode(StringNode({ validator: 'objective' }), Common_1.Range({ bounds: true }))\r\n }\r\n }\r\n }, { category: 'predicate', context: 'condition' }), {\r\n default: () => ({\r\n condition: 'minecraft:random_chance',\r\n chance: 0.5\r\n })\r\n }));\r\n schemas.register('attribute_modifier', core_1.Mod(core_1.ObjectNode({\r\n attribute: StringNode({ validator: 'resource', params: { pool: 'attribute' } }),\r\n name: StringNode(),\r\n amount: Common_1.Range({ bounds: true }),\r\n operation: StringNode({ enum: ['addition', 'multiply_base', 'multiply_total'] }),\r\n slot: core_1.StringOrList(StringNode({ enum: 'slot' }))\r\n }, { context: 'attribute_modifier' }), {\r\n default: () => ({\r\n attribute: 'minecraft:generic.max_health',\r\n name: '',\r\n amount: 1,\r\n operation: 'addition',\r\n slot: 'mainhand'\r\n })\r\n }));\r\n}\r\nexports.initLootTableSchemas = initLootTableSchemas;\r\n","\"use strict\";\r\nObject.defineProperty(exports, \"__esModule\", { value: true });\r\nexports.initPackMcmetaSchemas = void 0;\r\nconst core_1 = require(\"@mcschema/core\");\r\nfunction initPackMcmetaSchemas(schemas, _) {\r\n const getSimpleString = (jsonText) => { var _a, _b; return jsonText instanceof Array ? getSimpleString(jsonText[0]) : (_b = (_a = jsonText === null || jsonText === void 0 ? void 0 : jsonText.text) !== null && _a !== void 0 ? _a : jsonText === null || jsonText === void 0 ? void 0 : jsonText.toString()) !== null && _b !== void 0 ? _b : ''; };\r\n schemas.register('pack_mcmeta', core_1.Mod(core_1.ObjectNode({\r\n pack: core_1.Mod(core_1.ObjectNode({\r\n pack_format: core_1.Mod(core_1.NumberNode({ integer: true, min: 5, max: 5 }), { default: () => 5 }),\r\n description: core_1.Reference(schemas, 'text_component')\r\n }), {\r\n default: () => ({\r\n pack_format: 5,\r\n description: ''\r\n })\r\n })\r\n }), {\r\n default: () => ({\r\n pack: {\r\n pack_format: 5,\r\n description: ''\r\n }\r\n })\r\n }));\r\n}\r\nexports.initPackMcmetaSchemas = initPackMcmetaSchemas;\r\n","\"use strict\";\r\nObject.defineProperty(exports, \"__esModule\", { value: true });\r\nexports.initRecipeSchemas = void 0;\r\nconst core_1 = require(\"@mcschema/core\");\r\nfunction initRecipeSchemas(schemas, collections) {\r\n const Reference = core_1.Reference.bind(undefined, schemas);\r\n const StringNode = core_1.StringNode.bind(undefined, collections);\r\n schemas.register('recipe', core_1.Mod(core_1.ObjectNode({\r\n type: StringNode({ validator: 'resource', params: { pool: 'recipe_serializer' } }),\r\n [core_1.Switch]: [{ push: 'type' }],\r\n [core_1.Case]: {\r\n 'minecraft:crafting_shaped': {\r\n group: core_1.Opt(StringNode({ enum: 'recipe_group', additional: true })),\r\n pattern: core_1.ListNode(StringNode()),\r\n key: core_1.MapNode(StringNode(), // TODO: add validation\r\n Reference('recipe_ingredient')),\r\n result: Reference('recipe_result')\r\n },\r\n 'minecraft:crafting_shapeless': {\r\n group: core_1.Opt(StringNode()),\r\n ingredients: core_1.ListNode(Reference('recipe_ingredient')),\r\n result: Reference('recipe_result')\r\n },\r\n 'minecraft:smelting': {\r\n group: core_1.Opt(StringNode()),\r\n ingredient: Reference('recipe_ingredient'),\r\n result: StringNode({ validator: 'resource', params: { pool: 'item' } }),\r\n experience: core_1.Opt(core_1.NumberNode()),\r\n cookingtime: core_1.Opt(core_1.Mod(core_1.NumberNode({ integer: true }), { default: () => 200 }))\r\n },\r\n 'minecraft:blasting': {\r\n group: core_1.Opt(StringNode()),\r\n ingredient: Reference('recipe_ingredient'),\r\n result: StringNode({ validator: 'resource', params: { pool: 'item' } }),\r\n experience: core_1.Opt(core_1.NumberNode()),\r\n cookingtime: core_1.Opt(core_1.Mod(core_1.NumberNode({ integer: true }), { default: () => 100 }))\r\n },\r\n 'minecraft:smoking': {\r\n group: core_1.Opt(StringNode()),\r\n ingredient: Reference('recipe_ingredient'),\r\n result: StringNode({ validator: 'resource', params: { pool: 'item' } }),\r\n experience: core_1.Opt(core_1.NumberNode()),\r\n cookingtime: core_1.Opt(core_1.Mod(core_1.NumberNode({ integer: true }), { default: () => 100 }))\r\n },\r\n 'minecraft:campfire_cooking': {\r\n group: core_1.Opt(StringNode()),\r\n ingredient: Reference('recipe_ingredient'),\r\n result: StringNode({ validator: 'resource', params: { pool: 'item' } }),\r\n experience: core_1.Opt(core_1.NumberNode()),\r\n cookingtime: core_1.Opt(core_1.Mod(core_1.NumberNode({ integer: true }), { default: () => 100 }))\r\n },\r\n 'minecraft:stonecutting': {\r\n group: core_1.Opt(StringNode()),\r\n ingredient: Reference('recipe_ingredient'),\r\n result: StringNode({ validator: 'resource', params: { pool: 'item' } }),\r\n count: core_1.NumberNode({ integer: true })\r\n },\r\n 'minecraft:smithing': {\r\n group: core_1.Opt(StringNode()),\r\n base: Reference('recipe_ingredient_object'),\r\n addition: Reference('recipe_ingredient_object'),\r\n result: Reference('recipe_result')\r\n }\r\n }\r\n }, { context: 'recipe' }), {\r\n default: () => ({\r\n type: 'minecraft:crafting_shaped'\r\n })\r\n }));\r\n schemas.register('recipe_ingredient', core_1.Mod(core_1.ChoiceNode([\r\n {\r\n type: 'object',\r\n node: Reference('recipe_ingredient_object'),\r\n change: v => v[0]\r\n },\r\n {\r\n type: 'list',\r\n node: core_1.ListNode(Reference('recipe_ingredient_object')),\r\n change: v => [v]\r\n }\r\n ]), {\r\n default: () => ({\r\n item: 'minecraft:stone'\r\n })\r\n }));\r\n schemas.register('recipe_ingredient_object', core_1.Mod(core_1.ObjectNode({\r\n item: core_1.Opt(StringNode({ validator: 'resource', params: { pool: 'item' } })),\r\n tag: core_1.Opt(StringNode({ validator: 'resource', params: { pool: '$tag/item' } }))\r\n }), {\r\n default: () => ({\r\n item: 'minecraft:stone'\r\n })\r\n }));\r\n schemas.register('recipe_result', core_1.Mod(core_1.ObjectNode({\r\n item: StringNode({ validator: 'resource', params: { pool: 'item' } }),\r\n count: core_1.Opt(core_1.Mod(core_1.NumberNode({ integer: true }), { default: () => 1 }))\r\n }), {\r\n default: () => ({\r\n item: 'minecraft:stone'\r\n })\r\n }));\r\n}\r\nexports.initRecipeSchemas = initRecipeSchemas;\r\n","\"use strict\";\r\nObject.defineProperty(exports, \"__esModule\", { value: true });\r\nexports.initTagsSchemas = void 0;\r\nconst core_1 = require(\"@mcschema/core\");\r\nfunction initTagsSchemas(schemas, collections) {\r\n const StringNode = core_1.StringNode.bind(undefined, collections);\r\n const TagBase = (type) => core_1.Mod(core_1.ObjectNode({\r\n replace: core_1.Opt(core_1.BooleanNode()),\r\n values: core_1.ListNode(core_1.ChoiceNode([\r\n {\r\n type: 'string',\r\n node: StringNode({ validator: 'resource', params: { pool: type, allowTag: true } }),\r\n change: v => v.id\r\n },\r\n {\r\n type: 'object',\r\n node: core_1.ObjectNode({\r\n id: StringNode({ validator: 'resource', params: { pool: type, allowTag: true, allowUnknown: true } }),\r\n required: core_1.BooleanNode()\r\n }),\r\n change: v => ({ id: v })\r\n }\r\n ])),\r\n }, { context: 'tag' }), {\r\n default: () => ({\r\n values: []\r\n })\r\n });\r\n schemas.register('block_tag', TagBase('block'));\r\n schemas.register('entity_type_tag', TagBase('entity_type'));\r\n schemas.register('fluid_tag', TagBase('fluid'));\r\n schemas.register('function_tag', TagBase('$function'));\r\n schemas.register('item_tag', TagBase('item'));\r\n}\r\nexports.initTagsSchemas = initTagsSchemas;\r\n","\"use strict\";\r\nObject.defineProperty(exports, \"__esModule\", { value: true });\r\nexports.initTextComponentSchemas = void 0;\r\nconst core_1 = require(\"@mcschema/core\");\r\nfunction initTextComponentSchemas(schemas, collections) {\r\n const Reference = core_1.Reference.bind(undefined, schemas);\r\n const StringNode = core_1.StringNode.bind(undefined, collections);\r\n const getSimpleString = (v) => { var _a; return v instanceof Array ? getSimpleString(v[0]) : (_a = v === null || v === void 0 ? void 0 : v.text) !== null && _a !== void 0 ? _a : (typeof v === 'object' ? '' : v === null || v === void 0 ? void 0 : v.toString()); };\r\n schemas.register('text_component', core_1.Mod(core_1.ChoiceNode([\r\n {\r\n type: 'object',\r\n node: Reference('text_component_object'),\r\n change: v => v instanceof Array ? (typeof v[0] === 'object' ? v[0] : { text: getSimpleString(v[0]) }) : typeof v === 'object' ? v : { text: getSimpleString(v) }\r\n },\r\n {\r\n type: 'list',\r\n node: Reference('text_component_list'),\r\n change: v => [v]\r\n },\r\n {\r\n type: 'string',\r\n priority: 1,\r\n node: StringNode(),\r\n change: getSimpleString\r\n },\r\n {\r\n type: 'number',\r\n node: core_1.NumberNode(),\r\n change: v => {\r\n const n = parseFloat(getSimpleString(v));\r\n return isFinite(n) ? n : (!!v ? 1 : 0);\r\n }\r\n },\r\n {\r\n type: 'boolean',\r\n node: core_1.BooleanNode(),\r\n change: v => {\r\n const s = getSimpleString(v);\r\n return s === 'true' || s === 'false' ? s === 'true' : !!s;\r\n }\r\n }\r\n ], { context: 'text_component' }), {\r\n default: () => ({\r\n text: \"\"\r\n })\r\n }));\r\n const CommonFields = {\r\n bold: core_1.Opt(core_1.BooleanNode()),\r\n italic: core_1.Opt(core_1.BooleanNode()),\r\n underlined: core_1.Opt(core_1.BooleanNode()),\r\n strikethrough: core_1.Opt(core_1.BooleanNode()),\r\n obfuscated: core_1.Opt(core_1.BooleanNode()),\r\n insertion: core_1.Opt(StringNode()),\r\n clickEvent: core_1.Opt(core_1.ObjectNode({\r\n action: StringNode({ enum: ['open_url', 'open_file', 'run_command', 'suggest_command', 'change_page', 'copy_to_clipboard'] }),\r\n [core_1.Switch]: [{ push: 'action' }],\r\n [core_1.Case]: {\r\n 'change_page': {\r\n value: StringNode()\r\n },\r\n 'copy_to_clipboard': {\r\n value: StringNode()\r\n },\r\n 'open_file': {\r\n value: StringNode()\r\n },\r\n 'open_url': {\r\n value: StringNode()\r\n },\r\n 'run_command': {\r\n value: StringNode({ validator: 'command', params: { leadingSlash: true, allowPartial: true } })\r\n },\r\n 'suggest_command': {\r\n value: StringNode({ validator: 'command', params: { leadingSlash: true, allowPartial: true } })\r\n }\r\n }\r\n })),\r\n hoverEvent: core_1.Opt(core_1.ObjectNode({\r\n action: StringNode({ enum: ['show_text', 'show_item', 'show_entity'] }),\r\n [core_1.Switch]: [{ push: 'action' }],\r\n [core_1.Case]: {\r\n 'show_text': {\r\n value: core_1.Opt(Reference('text_component'))\r\n },\r\n 'show_item': {\r\n value: core_1.Opt(StringNode({ validator: 'nbt', params: { module: 'util::InventoryItem' } }))\r\n },\r\n 'show_entity': {\r\n value: core_1.Opt(core_1.ObjectNode({\r\n name: core_1.Opt(StringNode()),\r\n type: core_1.Opt(StringNode()),\r\n id: core_1.Opt(StringNode())\r\n }))\r\n }\r\n }\r\n })),\r\n extra: core_1.Opt(Reference('text_component_list'))\r\n };\r\n schemas.register('text_component_object', core_1.Mod(core_1.ChoiceNode([\r\n {\r\n type: 'text',\r\n match: v => typeof v === 'object',\r\n change: v => ({ text: '' }),\r\n priority: -1,\r\n node: core_1.ObjectNode({\r\n text: StringNode(),\r\n ...CommonFields\r\n })\r\n },\r\n {\r\n type: 'translation',\r\n match: v => (v === null || v === void 0 ? void 0 : v.translate) !== undefined,\r\n change: v => ({ translate: '' }),\r\n node: core_1.ObjectNode({\r\n translate: StringNode(),\r\n with: core_1.Opt(Reference('text_component_list')),\r\n ...CommonFields\r\n })\r\n },\r\n {\r\n type: 'score',\r\n match: v => (v === null || v === void 0 ? void 0 : v.score) !== undefined,\r\n change: v => ({ score: {} }),\r\n node: core_1.ObjectNode({\r\n score: core_1.ObjectNode({\r\n name: StringNode({ validator: 'entity', params: { amount: 'single', type: 'entities', isScoreHolder: true } }),\r\n objective: StringNode({ validator: 'objective' }),\r\n value: core_1.Opt(StringNode())\r\n }),\r\n ...CommonFields\r\n })\r\n },\r\n {\r\n type: 'selector',\r\n match: v => (v === null || v === void 0 ? void 0 : v.selector) !== undefined,\r\n change: v => ({ selector: '' }),\r\n node: core_1.ObjectNode({\r\n selector: StringNode({ validator: 'entity', params: { amount: 'multiple', type: 'entities' } }),\r\n ...CommonFields\r\n })\r\n },\r\n {\r\n type: 'keybind',\r\n match: v => (v === null || v === void 0 ? void 0 : v.keybind) !== undefined,\r\n change: v => ({ keybind: '' }),\r\n node: core_1.ObjectNode({\r\n keybind: StringNode({ enum: 'keybind', additional: true }),\r\n ...CommonFields\r\n })\r\n },\r\n {\r\n type: 'nbt',\r\n match: v => (v === null || v === void 0 ? void 0 : v.nbt) !== undefined,\r\n change: v => ({ nbt: '' }),\r\n node: core_1.ObjectNode({\r\n nbt: StringNode({ validator: 'nbt_path' }),\r\n block: core_1.Opt(StringNode({ validator: 'vector', params: { dimension: 3, isInteger: true } })),\r\n entity: core_1.Opt(StringNode({ validator: 'entity', params: { amount: 'single', type: 'entities' } })),\r\n storage: core_1.Opt(StringNode({ validator: 'resource', params: { pool: '$storage' } })),\r\n interpret: core_1.Opt(core_1.BooleanNode()),\r\n ...CommonFields\r\n })\r\n }\r\n ], { context: 'text_component_object', choiceContext: 'text_component.object' }), {\r\n default: () => ({\r\n text: \"\"\r\n })\r\n }));\r\n schemas.register('text_component_list', core_1.Mod(core_1.ListNode(Reference('text_component')), {\r\n default: () => [{\r\n text: \"\"\r\n }]\r\n }));\r\n}\r\nexports.initTextComponentSchemas = initTextComponentSchemas;\r\n","\"use strict\";\r\nObject.defineProperty(exports, \"__esModule\", { value: true });\r\nexports.initSchemas = void 0;\r\nconst Advancement_1 = require(\"./Advancement\");\r\nconst Common_1 = require(\"./Common\");\r\nconst Condition_1 = require(\"./Condition\");\r\nconst LootTable_1 = require(\"./LootTable\");\r\nconst PackMcmeta_1 = require(\"./PackMcmeta\");\r\nconst Predicates_1 = require(\"./Predicates\");\r\nconst Recipe_1 = require(\"./Recipe\");\r\nconst Tags_1 = require(\"./Tags\");\r\nconst TextComponent_1 = require(\"./TextComponent\");\r\nfunction initSchemas(schemas, collections) {\r\n // `Common.ts` and `Predicates.ts` are files that have exports. They should be initialized first. \r\n Common_1.initCommonSchemas(schemas, collections);\r\n Predicates_1.initPredicatesSchemas(schemas, collections);\r\n Advancement_1.initAdvancementSchemas(schemas, collections);\r\n Condition_1.initConditionSchemas(schemas, collections);\r\n LootTable_1.initLootTableSchemas(schemas, collections);\r\n PackMcmeta_1.initPackMcmetaSchemas(schemas, collections);\r\n Recipe_1.initRecipeSchemas(schemas, collections);\r\n Tags_1.initTagsSchemas(schemas, collections);\r\n TextComponent_1.initTextComponentSchemas(schemas, collections);\r\n}\r\nexports.initSchemas = initSchemas;\r\n","\"use strict\";\r\nvar __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {\r\n if (k2 === undefined) k2 = k;\r\n Object.defineProperty(o, k2, { enumerable: true, get: function() { return m[k]; } });\r\n}) : (function(o, m, k, k2) {\r\n if (k2 === undefined) k2 = k;\r\n o[k2] = m[k];\r\n}));\r\nvar __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {\r\n Object.defineProperty(o, \"default\", { enumerable: true, value: v });\r\n}) : function(o, v) {\r\n o[\"default\"] = v;\r\n});\r\nvar __importStar = (this && this.__importStar) || function (mod) {\r\n if (mod && mod.__esModule) return mod;\r\n var result = {};\r\n if (mod != null) for (var k in mod) if (k !== \"default\" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);\r\n __setModuleDefault(result, mod);\r\n return result;\r\n};\r\nObject.defineProperty(exports, \"__esModule\", { value: true });\r\nexports.getSchemas = exports.getCollections = exports.lootContext = void 0;\r\nconst core_1 = require(\"@mcschema/core\");\r\nconst Collections_1 = require(\"./Collections\");\r\nconst schemas_1 = require(\"./schemas\");\r\nexports.lootContext = __importStar(require(\"./LootContext\"));\r\nfunction getCollections() {\r\n const collections = new core_1.CollectionRegistry();\r\n Collections_1.initCollections(collections);\r\n return collections;\r\n}\r\nexports.getCollections = getCollections;\r\n/**\r\n * @param collections The CollectionRegistry for this version. Note that apart from\r\n * the built-in collections, the client of this module is responsible for futhermore\r\n * adding the vanilla registries to it: the collection IDs shouldn't contain the\r\n * namespace (`minecraft:`) part, while the values within the collections should.\r\n *\r\n * @example\r\n * for (const key in VANILLA_REGISTRIES>) {\r\n * collections.register(\r\n * key.replace(/^minecraft:/, ''),\r\n * Object.keys(VANILLA_REGISTRIES[key].entries)\r\n * )\r\n * }\r\n */\r\nfunction getSchemas(collections) {\r\n const schemas = new core_1.SchemaRegistry();\r\n schemas_1.initSchemas(schemas, collections);\r\n return schemas;\r\n}\r\nexports.getSchemas = getSchemas;\r\n","\"use strict\";\r\nObject.defineProperty(exports, \"__esModule\", { value: true });\r\nexports.initCollections = void 0;\r\nfunction initCollections(collections) {\r\n collections.register('advancement_trigger', [\r\n 'minecraft:bee_nest_destroyed',\r\n 'minecraft:bred_animals',\r\n 'minecraft:brewed_potion',\r\n 'minecraft:changed_dimension',\r\n 'minecraft:channeled_lightning',\r\n 'minecraft:construct_beacon',\r\n 'minecraft:consume_item',\r\n 'minecraft:cured_zombie_villager',\r\n 'minecraft:effects_changed',\r\n 'minecraft:enchanted_item',\r\n 'minecraft:enter_block',\r\n 'minecraft:entity_hurt_player',\r\n 'minecraft:entity_killed_player',\r\n 'minecraft:filled_bucket',\r\n 'minecraft:fishing_rod_hooked',\r\n 'minecraft:hero_of_the_village',\r\n 'minecraft:impossible',\r\n 'minecraft:inventory_changed',\r\n 'minecraft:item_durability_changed',\r\n 'minecraft:item_used_on_block',\r\n 'minecraft:killed_by_crossbow',\r\n 'minecraft:levitation',\r\n 'minecraft:location',\r\n 'minecraft:nether_travel',\r\n 'minecraft:placed_block',\r\n 'minecraft:player_generates_container_loot',\r\n 'minecraft:player_hurt_entity',\r\n 'minecraft:player_interacted_with_entity',\r\n 'minecraft:player_killed_entity',\r\n 'minecraft:recipe_unlocked',\r\n 'minecraft:shot_crossbow',\r\n 'minecraft:slept_in_bed',\r\n 'minecraft:slide_down_block',\r\n 'minecraft:summoned_entity',\r\n 'minecraft:tame_animal',\r\n 'minecraft:target_hit',\r\n 'minecraft:tick',\r\n 'minecraft:thrown_item_picked_up_by_entity',\r\n 'minecraft:used_ender_eye',\r\n 'minecraft:used_totem',\r\n 'minecraft:villager_trade',\r\n 'minecraft:voluntary_exile'\r\n ]);\r\n collections.register('dimension', [\r\n 'minecraft:overworld',\r\n 'minecraft:the_nether',\r\n 'minecraft:the_end'\r\n ]);\r\n collections.register('dimension_type', [\r\n 'minecraft:overworld',\r\n 'minecraft:the_nether',\r\n 'minecraft:the_end'\r\n ]);\r\n collections.register('keybind', [\r\n 'key.advancements',\r\n 'key.attack',\r\n 'key.back',\r\n 'key.chat',\r\n 'key.command',\r\n 'key.drop',\r\n 'key.forward',\r\n 'key.fullscreen',\r\n 'key.hotbar.1',\r\n 'key.hotbar.2',\r\n 'key.hotbar.3',\r\n 'key.hotbar.4',\r\n 'key.hotbar.5',\r\n 'key.hotbar.6',\r\n 'key.hotbar.7',\r\n 'key.hotbar.8',\r\n 'key.hotbar.9',\r\n 'key.inventory',\r\n 'key.jump',\r\n 'key.left',\r\n 'key.loadToolbarActivator',\r\n 'key.pickItem',\r\n 'key.playerlist',\r\n 'key.right',\r\n 'key.saveToolbarActivator',\r\n 'key.screenshot',\r\n 'key.smoothCamera',\r\n 'key.sneak',\r\n 'key.spectatorOutlines',\r\n 'key.sprint',\r\n 'key.swapOffhand',\r\n 'key.togglePerspective',\r\n 'key.use'\r\n ]);\r\n collections.register('slot', [\r\n 'mainhand',\r\n 'offhand',\r\n 'head',\r\n 'chest',\r\n 'legs',\r\n 'feet'\r\n ]);\r\n collections.register('gamemode', [\r\n 'survival',\r\n 'creative',\r\n 'adventure',\r\n 'spectator'\r\n ]);\r\n collections.register('worldgen/noise_settings', [\r\n 'minecraft:overworld',\r\n 'minecraft:nether',\r\n 'minecraft:end',\r\n 'minecraft:amplified',\r\n 'minecraft:caves',\r\n 'minecraft:floating_islands'\r\n ]);\r\n collections.register('entity_source', [\r\n 'this',\r\n 'direct_killer',\r\n 'killer',\r\n 'killer_player'\r\n ]);\r\n collections.register('copy_source', [\r\n 'block_entity',\r\n 'this',\r\n 'killer',\r\n 'killer_player'\r\n ]);\r\n collections.register('loot_table_apply_bonus_formula', [\r\n 'minecraft:uniform_bonus_count',\r\n 'minecraft:binomial_with_bonus_count',\r\n 'minecraft:ore_drops'\r\n ]);\r\n collections.register('map_decoration', [\r\n 'mansion',\r\n 'monument',\r\n 'player',\r\n 'frame',\r\n 'red_marker',\r\n 'blue_marker',\r\n 'target_x',\r\n 'target_point',\r\n 'player_off_map',\r\n 'player_off_limits',\r\n 'red_x',\r\n 'banner_white',\r\n 'banner_orange',\r\n 'banner_magenta',\r\n 'banner_light_blue',\r\n 'banner_yellow',\r\n 'banner_lime',\r\n 'banner_pink',\r\n 'banner_gray',\r\n 'banner_light_gray',\r\n 'banner_cyan',\r\n 'banner_purple',\r\n 'banner_blue',\r\n 'banner_brown',\r\n 'banner_green',\r\n 'banner_red',\r\n 'banner_black'\r\n ]);\r\n collections.register('map_feature', [\r\n 'bastion_remnant',\r\n 'buried_treasure',\r\n 'desert_pyramid',\r\n 'endcity',\r\n 'fortress',\r\n 'igloo',\r\n 'jungle_pyramid',\r\n 'mansion',\r\n 'mineshaft',\r\n 'monument',\r\n 'nether_fossil',\r\n 'ocean_ruin',\r\n 'pillager_outpost',\r\n 'ruined_portal',\r\n 'shipwreck',\r\n 'stronghold',\r\n 'swamp_hut',\r\n 'village'\r\n ]);\r\n collections.register('recipe_group', [\r\n 'bed',\r\n 'light_gray_dye',\r\n 'iron_ingot',\r\n 'wooden_stairs',\r\n 'black_dye',\r\n 'stained_terracotta',\r\n 'dyed_bed',\r\n 'magenta_dye',\r\n 'bark',\r\n 'rabbit_stew',\r\n 'light_blue_dye',\r\n 'wooden_fence_gate',\r\n 'planks',\r\n 'stained_glass',\r\n 'wooden_door',\r\n 'stained_glass_pane',\r\n 'wooden_fence',\r\n 'sticks',\r\n 'concrete_powder',\r\n 'wooden_pressure_plate',\r\n 'boat',\r\n 'brown_dye',\r\n 'yellow_dye',\r\n 'bonemeal',\r\n 'red_dye',\r\n 'wooden_trapdoor',\r\n 'wooden_button',\r\n 'gold_ingot',\r\n 'pink_dye',\r\n 'wooden_slab',\r\n 'orange_dye',\r\n 'carpet',\r\n 'sign',\r\n 'wool',\r\n 'sugar',\r\n 'blue_dye',\r\n 'white_dye',\r\n 'banner',\r\n 'netherite_ingot'\r\n ]);\r\n collections.register('worldgen/configured_feature', [\r\n 'minecraft:acacia',\r\n 'minecraft:bamboo_light',\r\n 'minecraft:bamboo_vegetation',\r\n 'minecraft:bamboo',\r\n 'minecraft:basalt_blobs',\r\n 'minecraft:basalt_pillar',\r\n 'minecraft:birch_bees_0002',\r\n 'minecraft:birch_bees_002',\r\n 'minecraft:birch_bees_005',\r\n 'minecraft:birch_other',\r\n 'minecraft:birch_tall',\r\n 'minecraft:birch',\r\n 'minecraft:blackstone_blobs',\r\n 'minecraft:blue_ice',\r\n 'minecraft:bonus_chest',\r\n 'minecraft:brown_mushroom_giant',\r\n 'minecraft:brown_mushroom_nether',\r\n 'minecraft:brown_mushroom_normal',\r\n 'minecraft:brown_mushroom_swamp',\r\n 'minecraft:brown_mushroom_taiga',\r\n 'minecraft:chorus_plant',\r\n 'minecraft:crimson_forest_vegetation',\r\n 'minecraft:crimson_fungi_planted',\r\n 'minecraft:crimson_fungi',\r\n 'minecraft:dark_forest_vegetation_brown',\r\n 'minecraft:dark_forest_vegetation_red',\r\n 'minecraft:dark_oak',\r\n 'minecraft:delta',\r\n 'minecraft:desert_well',\r\n 'minecraft:disk_clay',\r\n 'minecraft:disk_gravel',\r\n 'minecraft:disk_sand',\r\n 'minecraft:end_gateway_delayed',\r\n 'minecraft:end_gateway',\r\n 'minecraft:end_island_decorated',\r\n 'minecraft:end_island',\r\n 'minecraft:end_spike',\r\n 'minecraft:fancy_oak_bees_0002',\r\n 'minecraft:fancy_oak_bees_002',\r\n 'minecraft:fancy_oak_bees_005',\r\n 'minecraft:fancy_oak',\r\n 'minecraft:flower_default',\r\n 'minecraft:flower_forest',\r\n 'minecraft:flower_plain_decorated',\r\n 'minecraft:flower_plain',\r\n 'minecraft:flower_swamp',\r\n 'minecraft:flower_warm',\r\n 'minecraft:forest_flower_trees',\r\n 'minecraft:forest_flower_vegetation_common',\r\n 'minecraft:forest_flower_vegetation',\r\n 'minecraft:forest_rock',\r\n 'minecraft:fossil',\r\n 'minecraft:freeze_top_layer',\r\n 'minecraft:glowstone_extra',\r\n 'minecraft:glowstone',\r\n 'minecraft:huge_brown_mushroom',\r\n 'minecraft:huge_red_mushroom',\r\n 'minecraft:ice_patch',\r\n 'minecraft:ice_spike',\r\n 'minecraft:iceberg_blue',\r\n 'minecraft:iceberg_packed',\r\n 'minecraft:jungle_bush',\r\n 'minecraft:jungle_tree_no_vine',\r\n 'minecraft:jungle_tree',\r\n 'minecraft:kelp_cold',\r\n 'minecraft:kelp_warm',\r\n 'minecraft:lake_lava',\r\n 'minecraft:lake_water',\r\n 'minecraft:large_basalt_columns',\r\n 'minecraft:mega_jungle_tree',\r\n 'minecraft:mega_pine',\r\n 'minecraft:mega_spruce',\r\n 'minecraft:monster_room',\r\n 'minecraft:mushroom_field_vegetation',\r\n 'minecraft:nether_sprouts',\r\n 'minecraft:oak_badlands',\r\n 'minecraft:oak_bees_0002',\r\n 'minecraft:oak_bees_002',\r\n 'minecraft:oak_bees_005',\r\n 'minecraft:oak',\r\n 'minecraft:ore_andesite',\r\n 'minecraft:ore_blackstone',\r\n 'minecraft:ore_coal',\r\n 'minecraft:ore_debris_large',\r\n 'minecraft:ore_debris_small',\r\n 'minecraft:ore_diamond',\r\n 'minecraft:ore_diorite',\r\n 'minecraft:ore_dirt',\r\n 'minecraft:ore_emerald',\r\n 'minecraft:ore_gold_deltas',\r\n 'minecraft:ore_gold_extra',\r\n 'minecraft:ore_gold_nether',\r\n 'minecraft:ore_gold',\r\n 'minecraft:ore_granite',\r\n 'minecraft:ore_gravel_nether',\r\n 'minecraft:ore_gravel',\r\n 'minecraft:ore_infested',\r\n 'minecraft:ore_iron',\r\n 'minecraft:ore_lapis',\r\n 'minecraft:ore_magma',\r\n 'minecraft:ore_quartz_deltas',\r\n 'minecraft:ore_quartz_nether',\r\n 'minecraft:ore_redstone',\r\n 'minecraft:ore_soul_sand',\r\n 'minecraft:patch_berry_bush',\r\n 'minecraft:patch_berry_decorated',\r\n 'minecraft:patch_berry_sparse',\r\n 'minecraft:patch_brown_mushroom',\r\n 'minecraft:patch_cactus_decorated',\r\n 'minecraft:patch_cactus_desert',\r\n 'minecraft:patch_cactus',\r\n 'minecraft:patch_crimson_roots',\r\n 'minecraft:patch_dead_bush_2',\r\n 'minecraft:patch_dead_bush_badlands',\r\n 'minecraft:patch_dead_bush',\r\n 'minecraft:patch_fire',\r\n 'minecraft:patch_grass_badlands',\r\n 'minecraft:patch_grass_forest',\r\n 'minecraft:patch_grass_jungle',\r\n 'minecraft:patch_grass_normal',\r\n 'minecraft:patch_grass_plain',\r\n 'minecraft:patch_grass_savanna',\r\n 'minecraft:patch_grass_taiga_2',\r\n 'minecraft:patch_grass_taiga',\r\n 'minecraft:patch_large_fern',\r\n 'minecraft:patch_melon',\r\n 'minecraft:patch_pumpkin',\r\n 'minecraft:patch_red_mushroom',\r\n 'minecraft:patch_soul_fire',\r\n 'minecraft:patch_sugar_cane_badlands',\r\n 'minecraft:patch_sugar_cane_desert',\r\n 'minecraft:patch_sugar_cane_swamp',\r\n 'minecraft:patch_sugar_cane',\r\n 'minecraft:patch_sunflower',\r\n 'minecraft:patch_taiga_grass',\r\n 'minecraft:patch_tall_grass_2',\r\n 'minecraft:patch_tall_grass',\r\n 'minecraft:patch_waterlilly',\r\n 'minecraft:pile_hay',\r\n 'minecraft:pile_ice',\r\n 'minecraft:pile_melon',\r\n 'minecraft:pile_pumpkin',\r\n 'minecraft:pile_snow',\r\n 'minecraft:pine',\r\n 'minecraft:plain_vegetation',\r\n 'minecraft:red_mushroom_giant',\r\n 'minecraft:red_mushroom_nether',\r\n 'minecraft:red_mushroom_normal',\r\n 'minecraft:red_mushroom_swamp',\r\n 'minecraft:red_mushroom_taiga',\r\n 'minecraft:sea_pickle',\r\n 'minecraft:seagrass_cold',\r\n 'minecraft:seagrass_deep_cold',\r\n 'minecraft:seagrass_deep_warm',\r\n 'minecraft:seagrass_deep',\r\n 'minecraft:seagrass_normal',\r\n 'minecraft:seagrass_river',\r\n 'minecraft:seagrass_simple',\r\n 'minecraft:seagrass_swamp',\r\n 'minecraft:seagrass_warm',\r\n 'minecraft:small_basalt_columns',\r\n 'minecraft:spring_closed_double',\r\n 'minecraft:spring_closed',\r\n 'minecraft:spring_delta',\r\n 'minecraft:spring_lava_double',\r\n 'minecraft:spring_lava',\r\n 'minecraft:spring_open',\r\n 'minecraft:spring_water',\r\n 'minecraft:spruce_snowy',\r\n 'minecraft:spruce',\r\n 'minecraft:super_birch_bees_0002',\r\n 'minecraft:swamp_tree',\r\n 'minecraft:taiga_vegetation',\r\n 'minecraft:trees_birch',\r\n 'minecraft:trees_giant_spruce',\r\n 'minecraft:trees_giant',\r\n 'minecraft:trees_jungle_edge',\r\n 'minecraft:trees_jungle',\r\n 'minecraft:trees_mountain_edge',\r\n 'minecraft:trees_mountain',\r\n 'minecraft:trees_savanna',\r\n 'minecraft:trees_shattered_savanna',\r\n 'minecraft:trees_water',\r\n 'minecraft:twisting_vines',\r\n 'minecraft:vines',\r\n 'minecraft:void_start_platform',\r\n 'minecraft:warm_ocean_vegetation',\r\n 'minecraft:warped_forest_vegetation',\r\n 'minecraft:warped_fungi_planted',\r\n 'minecraft:warped_fungi',\r\n 'minecraft:weeping_vines'\r\n ]);\r\n collections.register('worldgen/configured_structure_feature', [\r\n 'minecraft:bastion_remnant',\r\n 'minecraft:buried_treasure',\r\n 'minecraft:desert_pyramid',\r\n 'minecraft:end_city',\r\n 'minecraft:fortress',\r\n 'minecraft:igloo',\r\n 'minecraft:jungle_pyramid',\r\n 'minecraft:mansion',\r\n 'minecraft:mineshaft_mesa',\r\n 'minecraft:mineshaft',\r\n 'minecraft:monument',\r\n 'minecraft:nether_fossil',\r\n 'minecraft:ocean_ruin_cold',\r\n 'minecraft:ocean_ruin_warm',\r\n 'minecraft:pillager_outpost',\r\n 'minecraft:ruined_portal_desert',\r\n 'minecraft:ruined_portal_jungle',\r\n 'minecraft:ruined_portal_mountain',\r\n 'minecraft:ruined_portal_nether',\r\n 'minecraft:ruined_portal_ocean',\r\n 'minecraft:ruined_portal_swamp',\r\n 'minecraft:ruined_portal',\r\n 'minecraft:shipwreck_beached',\r\n 'minecraft:shipwreck',\r\n 'minecraft:stronghold',\r\n 'minecraft:swamp_hut',\r\n 'minecraft:village_desert',\r\n 'minecraft:village_plains',\r\n 'minecraft:village_savanna',\r\n 'minecraft:village_snowy',\r\n 'minecraft:village_taiga'\r\n ]);\r\n collections.register('worldgen/configured_surface_builder', [\r\n 'minecraft:badlands',\r\n 'minecraft:basalt_deltas',\r\n 'minecraft:crimson_forest',\r\n 'minecraft:desert',\r\n 'minecraft:end',\r\n 'minecraft:eroded_badlands',\r\n 'minecraft:frozen_ocean',\r\n 'minecraft:full_sand',\r\n 'minecraft:giant_tree_taiga',\r\n 'minecraft:grass',\r\n 'minecraft:gravelly_mountain',\r\n 'minecraft:ice_spikes',\r\n 'minecraft:mountain',\r\n 'minecraft:mycelium',\r\n 'minecraft:nether',\r\n 'minecraft:nope',\r\n 'minecraft:ocean_sand',\r\n 'minecraft:shattered_savanna',\r\n 'minecraft:soul_sand_valley',\r\n 'minecraft:stone',\r\n 'minecraft:swamp',\r\n 'minecraft:warped_forest',\r\n 'minecraft:wooded_badlands'\r\n ]);\r\n collections.register('biome_category', [\r\n 'beach',\r\n 'desert',\r\n 'extreme_hills',\r\n 'forest',\r\n 'icy',\r\n 'jungle',\r\n 'mesa',\r\n 'mushroom',\r\n 'nether',\r\n 'none',\r\n 'ocean',\r\n 'plains',\r\n 'river',\r\n 'savanna',\r\n 'swamp',\r\n 'taiga',\r\n 'the_end'\r\n ]);\r\n collections.register('heightmap_type', [\r\n 'MOTION_BLOCKING',\r\n 'MOTION_BLOCKING_NO_LEAVES',\r\n 'OCEAN_FLOOR',\r\n 'OCEAN_FLOOR_WG',\r\n 'WORLD_SURFACE',\r\n 'WORLD_SURFACE_WG'\r\n ]);\r\n collections.register('generation_step', [\r\n 'air',\r\n 'liquid'\r\n ]);\r\n collections.register('loot_context_type', [\r\n 'minecraft:empty',\r\n 'minecraft:chest',\r\n 'minecraft:command',\r\n 'minecraft:selector',\r\n 'minecraft:fishing',\r\n 'minecraft:entity',\r\n 'minecraft:gift',\r\n 'minecraft:barter',\r\n 'minecraft:advancement_reward',\r\n 'minecraft:advancement_entity',\r\n 'minecraft:generic',\r\n 'minecraft:block'\r\n ]);\r\n}\r\nexports.initCollections = initCollections;\r\n","\"use strict\";\r\nObject.defineProperty(exports, \"__esModule\", { value: true });\r\nexports.initCommonSchemas = exports.UniformInt = exports.Range = exports.NoiseSettingsPresets = exports.DefaultNoiseSettings = exports.DimensionTypePresets = exports.DefaultDimensionType = exports.ConditionCases = void 0;\r\nconst core_1 = require(\"@mcschema/core\");\r\nexports.DefaultDimensionType = {\r\n ultrawarm: false,\r\n natural: true,\r\n piglin_safe: false,\r\n respawn_anchor_works: false,\r\n bed_works: true,\r\n has_raids: true,\r\n has_skylight: true,\r\n has_ceiling: false,\r\n coordinate_scale: 1,\r\n ambient_light: 0,\r\n logical_height: 256,\r\n infiniburn: 'minecraft:infiniburn_overworld',\r\n};\r\nexports.DefaultNoiseSettings = {\r\n name: 'minecraft:overworld',\r\n bedrock_roof_position: -10,\r\n bedrock_floor_position: 0,\r\n sea_level: 63,\r\n disable_mob_generation: false,\r\n noise: {\r\n density_factor: 1,\r\n density_offset: -0.46875,\r\n simplex_surface_noise: true,\r\n random_density_offset: true,\r\n size_horizontal: 1,\r\n size_vertical: 2,\r\n height: 256,\r\n sampling: {\r\n xz_scale: 1,\r\n y_scale: 1,\r\n xz_factor: 80,\r\n y_factor: 160\r\n },\r\n top_slide: {\r\n target: -10,\r\n size: 3,\r\n offset: 0\r\n },\r\n bottom_slide: {\r\n target: -30,\r\n size: 0,\r\n offset: 0\r\n }\r\n },\r\n default_block: {\r\n Name: \"minecraft:stone\"\r\n },\r\n default_fluid: {\r\n Name: \"minecraft:water\",\r\n Properties: {\r\n level: \"0\"\r\n }\r\n }\r\n};\r\nfunction initCommonSchemas(schemas, collections) {\r\n const StringNode = core_1.StringNode.bind(undefined, collections);\r\n const Reference = core_1.Reference.bind(undefined, schemas);\r\n schemas.register('block_state', core_1.Mod(core_1.ObjectNode({\r\n Name: StringNode({ validator: 'resource', params: { pool: 'block' } }),\r\n Properties: core_1.Opt(core_1.MapNode(StringNode(), StringNode(), { validation: { validator: 'block_state_map', params: { id: ['pop', { push: 'Name' }] } } }))\r\n }, { context: 'block_state' }), {\r\n default: () => ({\r\n Name: 'minecraft:stone'\r\n })\r\n }));\r\n schemas.register('fluid_state', core_1.Mod(core_1.ObjectNode({\r\n Name: StringNode({ validator: 'resource', params: { pool: 'fluid' } }),\r\n Properties: core_1.Opt(core_1.MapNode(StringNode(), StringNode()))\r\n }, { context: 'fluid_state' }), {\r\n default: () => ({\r\n Name: 'minecraft:water',\r\n Properties: {\r\n 'level': '0'\r\n }\r\n })\r\n }));\r\n schemas.register('block_pos', core_1.Mod(core_1.ListNode(core_1.NumberNode({ integer: true }), { minLength: 3, maxLength: 3 }), {\r\n default: () => [0, 0, 0]\r\n }));\r\n exports.Range = (config) => core_1.ChoiceNode([\r\n ...((config === null || config === void 0 ? void 0 : config.forceRange) ? [] : [{\r\n type: 'number',\r\n node: core_1.NumberNode(config),\r\n change: (v) => { var _a, _b, _c; return v === undefined ? 0 : (_c = (_b = (_a = v.min) !== null && _a !== void 0 ? _a : v.max) !== null && _b !== void 0 ? _b : v.n) !== null && _c !== void 0 ? _c : 0; }\r\n }]),\r\n {\r\n type: 'object',\r\n priority: -1,\r\n node: core_1.ObjectNode({\r\n min: (config === null || config === void 0 ? void 0 : config.bounds) ? core_1.NumberNode(config) : core_1.Opt(core_1.NumberNode(config)),\r\n max: (config === null || config === void 0 ? void 0 : config.bounds) ? core_1.NumberNode(config) : core_1.Opt(core_1.NumberNode(config))\r\n }, { context: 'range' }),\r\n change: (v) => ({\r\n min: typeof v === 'number' ? v : v === undefined ? 1 : v.n,\r\n max: typeof v === 'number' ? v : v === undefined ? 1 : v.n\r\n })\r\n },\r\n ...((config === null || config === void 0 ? void 0 : config.allowBinomial) ? [{\r\n type: 'binomial',\r\n node: core_1.ObjectNode({\r\n type: StringNode({ enum: ['minecraft:binomial'] }),\r\n n: core_1.NumberNode({ integer: true, min: 0 }),\r\n p: core_1.NumberNode({ min: 0, max: 1 })\r\n }, { context: 'range' }),\r\n match: (v) => v !== undefined && v.type === 'minecraft:binomial',\r\n change: (v) => {\r\n var _a, _b;\r\n return ({\r\n type: 'minecraft:binomial',\r\n n: typeof v === 'number' ? v : v === undefined ? 1 : ((_b = (_a = v.min) !== null && _a !== void 0 ? _a : v.max) !== null && _b !== void 0 ? _b : 1),\r\n p: 0.5\r\n });\r\n }\r\n }] : [])\r\n ], { choiceContext: 'range' });\r\n exports.UniformInt = (config) => core_1.ChoiceNode([\r\n {\r\n type: 'number',\r\n node: core_1.NumberNode({ integer: true, min: config === null || config === void 0 ? void 0 : config.min, max: config === null || config === void 0 ? void 0 : config.max }),\r\n change: v => v.base\r\n },\r\n {\r\n type: 'object',\r\n node: core_1.ObjectNode({\r\n base: core_1.NumberNode({ integer: true, min: config === null || config === void 0 ? void 0 : config.min, max: config === null || config === void 0 ? void 0 : config.max }),\r\n spread: core_1.NumberNode({ integer: true, min: 0, max: config === null || config === void 0 ? void 0 : config.maxSpread })\r\n }),\r\n change: v => ({\r\n base: v,\r\n spread: 0\r\n })\r\n }\r\n ], { context: 'uniform_int' });\r\n exports.ConditionCases = {\r\n 'minecraft:alternative': {\r\n terms: core_1.ListNode(Reference('condition'))\r\n },\r\n 'minecraft:block_state_property': {\r\n block: StringNode({ validator: 'resource', params: { pool: 'block' } }),\r\n properties: core_1.MapNode(StringNode(), StringNode(), { validation: { validator: 'block_state_map', params: { id: ['pop', { push: 'block' }] } } })\r\n },\r\n 'minecraft:damage_source_properties': {\r\n predicate: Reference('damage_source_predicate')\r\n },\r\n 'minecraft:entity_properties': {\r\n entity: StringNode({ enum: 'entity_source' }),\r\n predicate: Reference('entity_predicate')\r\n },\r\n 'minecraft:entity_scores': {\r\n entity: StringNode({ enum: 'entity_source' }),\r\n scores: core_1.MapNode(StringNode({ validator: 'objective' }), exports.Range({ forceRange: true }))\r\n },\r\n 'minecraft:inverted': {\r\n term: Reference('condition')\r\n },\r\n 'minecraft:killed_by_player': {\r\n inverse: core_1.Opt(core_1.BooleanNode())\r\n },\r\n 'minecraft:location_check': {\r\n offsetX: core_1.Opt(core_1.NumberNode({ integer: true })),\r\n offsetY: core_1.Opt(core_1.NumberNode({ integer: true })),\r\n offsetZ: core_1.Opt(core_1.NumberNode({ integer: true })),\r\n predicate: Reference('location_predicate')\r\n },\r\n 'minecraft:match_tool': {\r\n predicate: Reference('item_predicate')\r\n },\r\n 'minecraft:random_chance': {\r\n chance: core_1.NumberNode({ min: 0, max: 1 })\r\n },\r\n 'minecraft:random_chance_with_looting': {\r\n chance: core_1.NumberNode({ min: 0, max: 1 }),\r\n looting_multiplier: core_1.NumberNode()\r\n },\r\n 'minecraft:reference': {\r\n name: StringNode({ validator: 'resource', params: { pool: '$predicate' } })\r\n },\r\n 'minecraft:table_bonus': {\r\n enchantment: StringNode({ validator: 'resource', params: { pool: 'enchantment' } }),\r\n chances: core_1.ListNode(core_1.NumberNode({ min: 0, max: 1 }))\r\n },\r\n 'minecraft:time_check': {\r\n value: exports.Range(),\r\n period: core_1.Opt(core_1.NumberNode())\r\n },\r\n 'minecraft:weather_check': {\r\n raining: core_1.Opt(core_1.BooleanNode()),\r\n thundering: core_1.Opt(core_1.BooleanNode())\r\n }\r\n };\r\n exports.DimensionTypePresets = (node) => core_1.ObjectOrPreset(StringNode({ validator: 'resource', params: { pool: '$dimension_type' } }), node, {\r\n 'minecraft:overworld': exports.DefaultDimensionType,\r\n 'minecraft:the_nether': {\r\n name: 'minecraft:the_nether',\r\n ultrawarm: true,\r\n natural: false,\r\n shrunk: true,\r\n piglin_safe: true,\r\n respawn_anchor_works: true,\r\n bed_works: false,\r\n has_raids: false,\r\n has_skylight: false,\r\n has_ceiling: true,\r\n ambient_light: 0.1,\r\n fixed_time: 18000,\r\n logical_height: 128,\r\n effects: 'minecraft:the_nether',\r\n infiniburn: 'minecraft:infiniburn_nether',\r\n },\r\n 'minecraft:the_end': {\r\n name: 'minecraft:the_end',\r\n ultrawarm: false,\r\n natural: false,\r\n shrunk: false,\r\n piglin_safe: false,\r\n respawn_anchor_works: false,\r\n bed_works: false,\r\n has_raids: true,\r\n has_skylight: false,\r\n has_ceiling: false,\r\n ambient_light: 0,\r\n fixed_time: 6000,\r\n logical_height: 256,\r\n effects: 'minecraft:the_end',\r\n infiniburn: 'minecraft:infiniburn_end',\r\n }\r\n });\r\n exports.NoiseSettingsPresets = (node) => core_1.ObjectOrPreset(StringNode({ validator: 'resource', params: { pool: '$worldgen/noise_settings' } }), node, {\r\n 'minecraft:overworld': exports.DefaultNoiseSettings,\r\n 'minecraft:nether': {\r\n name: 'minecraft:nether',\r\n bedrock_roof_position: 0,\r\n bedrock_floor_position: 0,\r\n sea_level: 32,\r\n disable_mob_generation: true,\r\n noise: {\r\n density_factor: 0,\r\n density_offset: 0.019921875,\r\n simplex_surface_noise: false,\r\n random_density_offset: false,\r\n size_horizontal: 1,\r\n size_vertical: 2,\r\n height: 128,\r\n sampling: {\r\n xz_scale: 1,\r\n y_scale: 3,\r\n xz_factor: 80,\r\n y_factor: 60\r\n },\r\n top_slide: {\r\n target: 120,\r\n size: 3,\r\n offset: 0\r\n },\r\n bottom_slide: {\r\n target: 320,\r\n size: 4,\r\n offset: -1\r\n }\r\n },\r\n default_block: {\r\n Name: \"minecraft:netherrack\"\r\n },\r\n default_fluid: {\r\n Name: \"minecraft:lava\",\r\n Properties: {\r\n level: \"0\"\r\n }\r\n }\r\n },\r\n 'minecraft:end': {\r\n name: 'minecraft:end',\r\n bedrock_roof_position: -10,\r\n bedrock_floor_position: -10,\r\n sea_level: 0,\r\n disable_mob_generation: true,\r\n noise: {\r\n density_factor: 0,\r\n density_offset: 0,\r\n simplex_surface_noise: true,\r\n random_density_offset: false,\r\n island_noise_override: true,\r\n size_horizontal: 2,\r\n size_vertical: 1,\r\n height: 128,\r\n sampling: {\r\n xz_scale: 2,\r\n y_scale: 1,\r\n xz_factor: 80,\r\n y_factor: 160\r\n },\r\n top_slide: {\r\n target: -3000,\r\n size: 64,\r\n offset: -46\r\n },\r\n bottom_slide: {\r\n target: -30,\r\n size: 7,\r\n offset: 1\r\n }\r\n },\r\n default_block: {\r\n Name: \"minecraft:end_stone\"\r\n },\r\n default_fluid: {\r\n Name: \"minecraft:air\"\r\n }\r\n },\r\n 'minecraft:amplified': {\r\n name: 'minecraft:amplified',\r\n bedrock_roof_position: -10,\r\n bedrock_floor_position: 0,\r\n sea_level: 63,\r\n disable_mob_generation: false,\r\n noise: {\r\n density_factor: 1,\r\n density_offset: -0.46875,\r\n simplex_surface_noise: true,\r\n random_density_offset: true,\r\n amplified: true,\r\n size_horizontal: 1,\r\n size_vertical: 2,\r\n height: 256,\r\n sampling: {\r\n xz_scale: 1,\r\n y_scale: 1,\r\n xz_factor: 80,\r\n y_factor: 160\r\n },\r\n top_slide: {\r\n target: -10,\r\n size: 3,\r\n offset: 0\r\n },\r\n bottom_slide: {\r\n target: -30,\r\n size: 0,\r\n offset: 0\r\n }\r\n },\r\n default_block: {\r\n Name: \"minecraft:stone\"\r\n },\r\n default_fluid: {\r\n Name: \"minecraft:water\",\r\n Properties: {\r\n level: \"0\"\r\n }\r\n }\r\n },\r\n 'minecraft:caves': {\r\n name: 'minecraft:caves',\r\n bedrock_roof_position: 0,\r\n bedrock_floor_position: 0,\r\n sea_level: 32,\r\n disable_mob_generation: true,\r\n noise: {\r\n density_factor: 0,\r\n density_offset: 0.019921875,\r\n simplex_surface_noise: false,\r\n random_density_offset: false,\r\n size_horizontal: 1,\r\n size_vertical: 2,\r\n height: 128,\r\n sampling: {\r\n xz_scale: 1,\r\n y_scale: 3,\r\n xz_factor: 80,\r\n y_factor: 60\r\n },\r\n top_slide: {\r\n target: 120,\r\n size: 3,\r\n offset: 0\r\n },\r\n bottom_slide: {\r\n target: 320,\r\n size: 4,\r\n offset: -1\r\n }\r\n },\r\n default_block: {\r\n Name: \"minecraft:stone\"\r\n },\r\n default_fluid: {\r\n Name: \"minecraft:water\",\r\n Properties: {\r\n level: \"0\"\r\n }\r\n }\r\n },\r\n 'minecraft:floating_islands': {\r\n name: 'minecraft:floating_islands',\r\n bedrock_roof_position: -10,\r\n bedrock_floor_position: -10,\r\n sea_level: 0,\r\n disable_mob_generation: true,\r\n noise: {\r\n density_factor: 0,\r\n density_offset: 0,\r\n simplex_surface_noise: true,\r\n random_density_offset: false,\r\n island_noise_override: true,\r\n size_horizontal: 2,\r\n size_vertical: 1,\r\n height: 128,\r\n sampling: {\r\n xz_scale: 2,\r\n y_scale: 1,\r\n xz_factor: 80,\r\n y_factor: 160\r\n },\r\n top_slide: {\r\n target: -3000,\r\n size: 64,\r\n offset: -46\r\n },\r\n bottom_slide: {\r\n target: -30,\r\n size: 7,\r\n offset: 1\r\n }\r\n },\r\n default_block: {\r\n Name: \"minecraft:stone\"\r\n },\r\n default_fluid: {\r\n Name: \"minecraft:water\",\r\n Properties: {\r\n level: \"0\"\r\n }\r\n }\r\n }\r\n });\r\n}\r\nexports.initCommonSchemas = initCommonSchemas;\r\n","\"use strict\";\r\nObject.defineProperty(exports, \"__esModule\", { value: true });\r\nexports.initAdvancementSchemas = void 0;\r\nconst core_1 = require(\"@mcschema/core\");\r\nconst Common_1 = require(\"./Common\");\r\nfunction initAdvancementSchemas(schemas, collections) {\r\n const Reference = core_1.Reference.bind(undefined, schemas);\r\n const StringNode = core_1.StringNode.bind(undefined, collections);\r\n const EntityPredicate = core_1.ChoiceNode([\r\n {\r\n type: 'object',\r\n node: core_1.Opt(Reference('entity_predicate')),\r\n change: v => { var _a, _b; return (_b = (_a = v[0]) === null || _a === void 0 ? void 0 : _a.predicate) !== null && _b !== void 0 ? _b : ({}); }\r\n },\r\n {\r\n type: 'list',\r\n node: core_1.ListNode(Reference('condition')),\r\n change: v => [{\r\n condition: 'minecraft:entity_properties',\r\n predicate: v\r\n }]\r\n }\r\n ], { context: 'conditions' });\r\n schemas.register('advancement', core_1.Mod(core_1.ObjectNode({\r\n display: core_1.Opt(core_1.Mod(core_1.ObjectNode({\r\n icon: core_1.ObjectNode({\r\n item: StringNode({ validator: 'resource', params: { pool: 'item' } }),\r\n nbt: core_1.Opt(StringNode({ validator: 'nbt', params: { registry: { category: 'minecraft:item', id: ['pop', { push: 'item' }] } } }))\r\n }),\r\n title: Reference('text_component'),\r\n description: Reference('text_component'),\r\n background: core_1.Opt(StringNode()),\r\n frame: core_1.Opt(StringNode({ enum: ['task', 'challenge', 'goal'] })),\r\n show_toast: core_1.Opt(core_1.BooleanNode()),\r\n announce_to_chat: core_1.Opt(core_1.BooleanNode()),\r\n hidden: core_1.Opt(core_1.BooleanNode())\r\n }), {\r\n default: () => ({\r\n icon: {\r\n item: 'minecraft:stone'\r\n },\r\n title: '',\r\n description: ''\r\n })\r\n })),\r\n parent: core_1.Opt(StringNode({ validator: 'resource', params: { pool: '$advancement' } })),\r\n criteria: core_1.MapNode(StringNode(), Reference('advancement_criteria')),\r\n requirements: core_1.Opt(core_1.ListNode(core_1.ListNode(StringNode() // TODO: add validation\r\n ))),\r\n rewards: core_1.Opt(core_1.ObjectNode({\r\n function: core_1.Opt(StringNode({ validator: 'resource', params: { pool: '$function' } })),\r\n loot: core_1.Opt(core_1.ListNode(StringNode({ validator: 'resource', params: { pool: '$loot_table' } }))),\r\n recipes: core_1.Opt(core_1.ListNode(StringNode({ validator: 'resource', params: { pool: '$recipe' } }))),\r\n experience: core_1.Opt(core_1.NumberNode({ integer: true }))\r\n })),\r\n }, { context: 'advancement' }), {\r\n default: () => ({\r\n criteria: {\r\n requirement: {\r\n trigger: 'minecraft:location'\r\n }\r\n }\r\n })\r\n }));\r\n schemas.register('advancement_criteria', core_1.ObjectNode({\r\n trigger: StringNode({ validator: 'resource', params: { pool: collections.get('advancement_trigger') } }),\r\n conditions: core_1.Opt(core_1.ObjectNode({\r\n player: core_1.Mod(EntityPredicate, {\r\n enabled: path => path.pop().push('trigger').get() !== 'minecraft:impossible'\r\n }),\r\n [core_1.Switch]: ['pop', { push: 'trigger' }],\r\n [core_1.Case]: {\r\n 'minecraft:bee_nest_destroyed': {\r\n block: core_1.Opt(StringNode({ validator: 'resource', params: { pool: 'block' } })),\r\n num_bees_inside: core_1.Opt(core_1.NumberNode({ integer: true })),\r\n item: core_1.Opt(Reference('item_predicate'))\r\n },\r\n 'minecraft:bred_animals': {\r\n parent: EntityPredicate,\r\n partner: EntityPredicate,\r\n child: EntityPredicate\r\n },\r\n 'minecraft:brewed_potion': {\r\n potion: core_1.Opt(StringNode({ validator: 'resource', params: { pool: 'potion' } }))\r\n },\r\n 'minecraft:changed_dimension': {\r\n from: core_1.Opt(StringNode({ validator: 'resource', params: { pool: '$dimension' } })),\r\n to: core_1.Opt(StringNode({ validator: 'resource', params: { pool: '$dimension' } }))\r\n },\r\n 'minecraft:channeled_lightning': {\r\n victims: core_1.Opt(core_1.ListNode(EntityPredicate))\r\n },\r\n 'minecraft:construct_beacon': {\r\n level: core_1.Opt(Common_1.Range())\r\n },\r\n 'minecraft:consume_item': {\r\n item: core_1.Opt(Reference('item_predicate'))\r\n },\r\n 'minecraft:cured_zombie_villager': {\r\n villager: EntityPredicate,\r\n zombie: EntityPredicate\r\n },\r\n 'minecraft:effects_changed': {\r\n effects: core_1.Opt(core_1.MapNode(StringNode({ validator: 'resource', params: { pool: 'mob_effect' } }), Reference('status_effect_predicate')))\r\n },\r\n 'minecraft:enter_block': {\r\n block: core_1.Opt(StringNode({ validator: 'resource', params: { pool: 'block' } })),\r\n state: core_1.Opt(core_1.MapNode(StringNode(), StringNode(), { validation: { validator: 'block_state_map', params: { id: ['pop', { push: 'block' }] } } }))\r\n },\r\n 'minecraft:enchanted_item': {\r\n levels: core_1.Opt(Common_1.Range()),\r\n item: core_1.Opt(Reference('item_predicate'))\r\n },\r\n 'minecraft:entity_hurt_player': {\r\n damage: core_1.Opt(Reference('damage_predicate'))\r\n },\r\n 'minecraft:entity_killed_player': {\r\n entity: EntityPredicate,\r\n killing_blow: core_1.Opt(Reference('damage_source_predicate'))\r\n },\r\n 'minecraft:filled_bucket': {\r\n item: core_1.Opt(Reference('item_predicate'))\r\n },\r\n 'minecraft:fishing_rod_hooked': {\r\n entity: EntityPredicate,\r\n item: core_1.Opt(Reference('item_predicate'))\r\n },\r\n 'minecraft:hero_of_the_village': {\r\n location: core_1.Opt(Reference('location_predicate'))\r\n },\r\n 'minecraft:inventory_changed': {\r\n slots: core_1.Opt(core_1.ObjectNode({\r\n empty: core_1.Opt(Common_1.Range()),\r\n occupied: core_1.Opt(Common_1.Range()),\r\n full: core_1.Opt(Common_1.Range())\r\n })),\r\n items: core_1.Opt(core_1.ListNode(Reference('item_predicate')))\r\n },\r\n 'minecraft:item_durability_changed': {\r\n delta: core_1.Opt(Common_1.Range()),\r\n durability: core_1.Opt(Common_1.Range()),\r\n item: core_1.Opt(Reference('item_predicate'))\r\n },\r\n 'minecraft:item_used_on_block': {\r\n item: core_1.Opt(Reference('item_predicate')),\r\n location: core_1.Opt(Reference('location_predicate'))\r\n },\r\n 'minecraft:killed_by_crossbow': {\r\n unique_entity_types: core_1.Opt(Common_1.Range()),\r\n victims: core_1.Opt(core_1.ListNode(EntityPredicate))\r\n },\r\n 'minecraft:levitation': {\r\n distance: core_1.Opt(Common_1.Range()),\r\n duration: core_1.Opt(Common_1.Range())\r\n },\r\n 'minecraft:location': {\r\n location: core_1.Opt(Reference('location_predicate'))\r\n },\r\n 'minecraft:nether_travel': {\r\n distance: core_1.Opt(Common_1.Range()),\r\n entered: core_1.Opt(Reference('location_predicate')),\r\n exited: core_1.Opt(Reference('location_predicate'))\r\n },\r\n 'minecraft:placed_block': {\r\n block: core_1.Opt(StringNode({ validator: 'resource', params: { pool: 'block' } })),\r\n state: core_1.Opt(core_1.MapNode(StringNode(), StringNode(), { validation: { validator: 'block_state_map', params: { id: ['pop', { push: 'block' }] } } })),\r\n item: core_1.Opt(Reference('item_predicate')),\r\n location: core_1.Opt(Reference('location_predicate'))\r\n },\r\n 'minecraft:player_generates_container_loot': {\r\n loot_table: StringNode({ validator: 'resource', params: { pool: '$loot_table' } })\r\n },\r\n 'minecraft:player_hurt_entity': {\r\n damage: core_1.Opt(Reference('damage_predicate')),\r\n entity: EntityPredicate\r\n },\r\n 'minecraft:player_interacted_with_entity': {\r\n item: core_1.Opt(Reference('item_predicate')),\r\n entity: EntityPredicate\r\n },\r\n 'minecraft:player_killed_entity': {\r\n entity: EntityPredicate,\r\n killing_blow: core_1.Opt(Reference('damage_source_predicate'))\r\n },\r\n 'minecraft:recipe_unlocked': {\r\n recipe: StringNode({ validator: 'resource', params: { pool: '$recipe' } })\r\n },\r\n 'minecraft:slept_in_bed': {\r\n location: core_1.Opt(Reference('location_predicate'))\r\n },\r\n 'minecraft:slide_down_block': {\r\n block: core_1.Opt(StringNode({ validator: 'resource', params: { pool: 'block' } }))\r\n },\r\n 'minecraft:shot_crossbow': {\r\n item: core_1.Opt(Reference('item_predicate'))\r\n },\r\n 'minecraft:summoned_entity': {\r\n entity: EntityPredicate\r\n },\r\n 'minecraft:tame_animal': {\r\n entity: EntityPredicate\r\n },\r\n 'minecraft:target_hit': {\r\n projectile: EntityPredicate,\r\n shooter: EntityPredicate,\r\n signal_strength: core_1.Opt(Common_1.Range({ integer: true }))\r\n },\r\n 'minecraft:thrown_item_picked_up_by_entity': {\r\n entity: core_1.Opt(Reference('entity_predicate')),\r\n item: core_1.Opt(Reference('item_predicate'))\r\n },\r\n 'minecraft:used_ender_eye': {\r\n distance: core_1.Opt(Common_1.Range())\r\n },\r\n 'minecraft:used_totem': {\r\n item: core_1.Opt(Reference('item_predicate'))\r\n },\r\n 'minecraft:villager_trade': {\r\n villager: core_1.Opt(Reference('entity_predicate')),\r\n item: core_1.Opt(Reference('item_predicate'))\r\n },\r\n 'minecraft:voluntary_exile': {\r\n location: Reference('location_predicate')\r\n }\r\n }\r\n }, { context: 'criterion' }))\r\n }, { category: 'predicate', context: 'criterion' }));\r\n}\r\nexports.initAdvancementSchemas = initAdvancementSchemas;\r\n","\"use strict\";\r\nObject.defineProperty(exports, \"__esModule\", { value: true });\r\nexports.initConditionSchemas = void 0;\r\nconst core_1 = require(\"@mcschema/core\");\r\nconst Common_1 = require(\"./Common\");\r\nfunction initConditionSchemas(schemas, collections) {\r\n const Reference = core_1.Reference.bind(undefined, schemas);\r\n const StringNode = core_1.StringNode.bind(undefined, collections);\r\n schemas.register('predicate', core_1.ObjectOrList(Reference('condition'), { choiceContext: 'condition' }));\r\n schemas.register('condition', core_1.Mod(core_1.ObjectNode({\r\n condition: StringNode({ validator: 'resource', params: { pool: 'loot_condition_type' } }),\r\n [core_1.Switch]: [{ push: 'condition' }],\r\n [core_1.Case]: Common_1.ConditionCases\r\n }, { category: 'predicate', context: 'condition' }), {\r\n default: () => ({\r\n condition: 'minecraft:entity_properties',\r\n entity: 'this'\r\n })\r\n }));\r\n}\r\nexports.initConditionSchemas = initConditionSchemas;\r\n","\"use strict\";\r\nObject.defineProperty(exports, \"__esModule\", { value: true });\r\nexports.initDimensionSchemas = void 0;\r\nconst core_1 = require(\"@mcschema/core\");\r\nconst Common_1 = require(\"./Common\");\r\nfunction initDimensionSchemas(schemas, collections) {\r\n const Reference = core_1.Reference.bind(undefined, schemas);\r\n const StringNode = core_1.StringNode.bind(undefined, collections);\r\n const NoPreset = (node) => core_1.Mod(node, {\r\n enabled: path => path.push('preset').get() === undefined\r\n });\r\n schemas.register('dimension', core_1.Mod(core_1.ObjectNode({\r\n type: Common_1.DimensionTypePresets(Reference('dimension_type')),\r\n generator: core_1.ObjectNode({\r\n type: StringNode({ validator: 'resource', params: { pool: 'worldgen/chunk_generator' } }),\r\n [core_1.Switch]: [{ push: 'type' }],\r\n [core_1.Case]: {\r\n 'minecraft:noise': {\r\n seed: core_1.NumberNode({ integer: true }),\r\n settings: Common_1.NoiseSettingsPresets(Reference('noise_settings')),\r\n biome_source: core_1.ObjectNode({\r\n type: StringNode({ validator: 'resource', params: { pool: 'worldgen/biome_source' } }),\r\n [core_1.Switch]: [{ push: 'type' }],\r\n [core_1.Case]: {\r\n 'minecraft:fixed': {\r\n biome: StringNode({ validator: 'resource', params: { pool: '$worldgen/biome' } })\r\n },\r\n 'minecraft:multi_noise': {\r\n seed: core_1.NumberNode({ integer: true }),\r\n preset: core_1.Opt(StringNode({ enum: ['nether'] })),\r\n altitude_noise: NoPreset(Reference('generator_biome_noise')),\r\n temperature_noise: NoPreset(Reference('generator_biome_noise')),\r\n humidity_noise: NoPreset(Reference('generator_biome_noise')),\r\n weirdness_noise: NoPreset(Reference('generator_biome_noise')),\r\n biomes: NoPreset(core_1.Mod(core_1.ListNode(Reference('generator_biome')), {\r\n default: () => [{\r\n biome: 'minecraft:plains'\r\n }]\r\n }))\r\n },\r\n 'minecraft:checkerboard': {\r\n scale: core_1.Opt(core_1.NumberNode({ integer: true, min: 0, max: 62 })),\r\n biomes: core_1.ListNode(StringNode({ validator: 'resource', params: { pool: '$worldgen/biome' } }))\r\n },\r\n 'minecraft:the_end': {\r\n seed: core_1.NumberNode({ integer: true })\r\n },\r\n 'minecraft:vanilla_layered': {\r\n seed: core_1.NumberNode({ integer: true }),\r\n large_biomes: core_1.Opt(core_1.BooleanNode()),\r\n legacy_biome_init_layer: core_1.Opt(core_1.BooleanNode())\r\n }\r\n }\r\n }, { category: 'predicate', disableSwitchContext: true })\r\n },\r\n 'minecraft:flat': {\r\n settings: core_1.ObjectNode({\r\n biome: core_1.Opt(StringNode({ validator: 'resource', params: { pool: '$worldgen/biome' } })),\r\n lakes: core_1.Opt(core_1.BooleanNode()),\r\n features: core_1.Opt(core_1.BooleanNode()),\r\n layers: core_1.ListNode(Reference('generator_layer')),\r\n structures: Reference('generator_structures')\r\n })\r\n }\r\n }\r\n }, { disableSwitchContext: true })\r\n }, { category: 'pool', context: 'dimension' }), {\r\n default: () => {\r\n const seed = Math.floor(Math.random() * (4294967296)) - 2147483648;\r\n return {\r\n type: 'minecraft:overworld',\r\n generator: {\r\n type: 'minecraft:noise',\r\n seed,\r\n biome_source: {\r\n type: 'minecraft:fixed',\r\n seed,\r\n biome: 'minecraft:plains'\r\n },\r\n settings: 'minecraft:overworld'\r\n }\r\n };\r\n }\r\n }));\r\n schemas.register('generator_biome', core_1.Mod(core_1.ObjectNode({\r\n biome: StringNode({ validator: 'resource', params: { pool: '$worldgen/biome' } }),\r\n parameters: core_1.ObjectNode({\r\n altitude: core_1.NumberNode(),\r\n temperature: core_1.NumberNode(),\r\n humidity: core_1.NumberNode(),\r\n weirdness: core_1.NumberNode(),\r\n offset: core_1.NumberNode()\r\n })\r\n }, { context: 'generator_biome' }), {\r\n default: () => ({\r\n biome: 'minecraft:plains',\r\n parameters: {\r\n altitude: 0,\r\n temperature: 0,\r\n humidity: 0,\r\n weirdness: 0,\r\n offset: 0\r\n }\r\n })\r\n }));\r\n schemas.register('generator_biome_noise', core_1.Mod(core_1.ObjectNode({\r\n firstOctave: core_1.NumberNode({ integer: true }),\r\n amplitudes: core_1.ListNode(core_1.NumberNode())\r\n }, { context: 'generator_biome_noise' }), {\r\n default: () => ({\r\n firstOctave: -7,\r\n amplitudes: [1, 1]\r\n })\r\n }));\r\n}\r\nexports.initDimensionSchemas = initDimensionSchemas;\r\n","\"use strict\";\r\nObject.defineProperty(exports, \"__esModule\", { value: true });\r\nexports.initDimensionTypeSchemas = void 0;\r\nconst core_1 = require(\"@mcschema/core\");\r\nconst Common_1 = require(\"./Common\");\r\nfunction initDimensionTypeSchemas(schemas, collections) {\r\n const StringNode = core_1.StringNode.bind(undefined, collections);\r\n schemas.register('dimension_type', core_1.Mod(core_1.ObjectNode({\r\n name: core_1.Mod(StringNode({ validator: 'resource', params: { pool: '$dimension_type', isDefinition: true } }), {\r\n enabled: (path) => path.getArray().length > 0\r\n }),\r\n ultrawarm: core_1.BooleanNode(),\r\n natural: core_1.BooleanNode(),\r\n piglin_safe: core_1.BooleanNode(),\r\n respawn_anchor_works: core_1.BooleanNode(),\r\n bed_works: core_1.BooleanNode(),\r\n has_raids: core_1.BooleanNode(),\r\n has_skylight: core_1.BooleanNode(),\r\n has_ceiling: core_1.BooleanNode(),\r\n coordinate_scale: core_1.NumberNode({ min: 0.00001, max: 30000000 }),\r\n ambient_light: core_1.NumberNode(),\r\n fixed_time: core_1.Opt(core_1.NumberNode({ integer: true })),\r\n logical_height: core_1.NumberNode({ integer: true, min: 0, max: 256 }),\r\n effects: core_1.Opt(StringNode({ enum: ['minecraft:overworld', 'minecraft:the_nether', 'minecraft:the_end'] })),\r\n infiniburn: StringNode({ validator: 'resource', params: { pool: '$tag/block' } })\r\n }, { context: 'dimension_type' }), {\r\n default: () => Common_1.DefaultDimensionType\r\n }));\r\n}\r\nexports.initDimensionTypeSchemas = initDimensionTypeSchemas;\r\n","\"use strict\";\r\nObject.defineProperty(exports, \"__esModule\", { value: true });\r\nexports.LootFunctions = exports.LootConditions = exports.LootCopySources = exports.LootEntitySources = exports.LootTableTypes = void 0;\r\nexports.LootTableTypes = new Map([\r\n ['minecraft:advancement_entity', { requires: [7 /* Origin */, 8 /* ThisEntity */], allows: [] }],\r\n ['minecraft:advancement_reward', { requires: [7 /* Origin */, 8 /* ThisEntity */], allows: [] }],\r\n ['minecraft:barter', { requires: [8 /* ThisEntity */], allows: [] }],\r\n ['minecraft:block', { requires: [1 /* BlockState */, 7 /* Origin */, 9 /* Tool */], allows: [0 /* BlockEntity */, 4 /* ExplosionRadius */, 8 /* ThisEntity */] }],\r\n ['minecraft:chest', { requires: [7 /* Origin */], allows: [8 /* ThisEntity */] }],\r\n ['minecraft:command', { requires: [7 /* Origin */], allows: [8 /* ThisEntity */] }],\r\n ['minecraft:empty', { requires: [], allows: [] }],\r\n ['minecraft:entity', { requires: [2 /* DamageSource */, 7 /* Origin */, 8 /* ThisEntity */], allows: [3 /* DirectKillerEntity */, 5 /* KillerEntity */, 6 /* LastDamagePlayer */] }],\r\n ['minecraft:fishing', { requires: [7 /* Origin */, 9 /* Tool */], allows: [8 /* ThisEntity */] }],\r\n ['minecraft:generic', { requires: [2 /* DamageSource */, 0 /* BlockEntity */, 1 /* BlockState */, 3 /* DirectKillerEntity */, 4 /* ExplosionRadius */, 5 /* KillerEntity */, 6 /* LastDamagePlayer */, 7 /* Origin */, 8 /* ThisEntity */, 9 /* Tool */], allows: [] }],\r\n ['minecraft:gift', { requires: [7 /* Origin */, 8 /* ThisEntity */], allows: [] }],\r\n ['minecraft:selector', { requires: [7 /* Origin */], allows: [8 /* ThisEntity */] }]\r\n]);\r\n/**\r\n * A map from loot entity sources to an array of their required context.\r\n */\r\nexports.LootEntitySources = new Map([\r\n ['direct_killer', [3 /* DirectKillerEntity */]],\r\n ['killer', [5 /* KillerEntity */]],\r\n ['killer_player', [5 /* KillerEntity */]],\r\n ['this', [8 /* ThisEntity */]]\r\n]);\r\n/**\r\n * A map from loot copy sources to an array of their required context.\r\n */\r\nexports.LootCopySources = new Map([\r\n ['block_entity', [0 /* BlockEntity */]],\r\n ['killer', [5 /* KillerEntity */]],\r\n ['killer_player', [5 /* KillerEntity */]],\r\n ['this', [8 /* ThisEntity */]]\r\n]);\r\n/**\r\n * A map from loot condition IDs to an array of their required context.\r\n */\r\nexports.LootConditions = new Map([\r\n ['minecraft:alternative', []],\r\n ['minecraft:block_state_property', [1 /* BlockState */]],\r\n ['minecraft:damage_source_properties', [2 /* DamageSource */]],\r\n ['minecraft:entity_properties', [7 /* Origin */]],\r\n ['minecraft:entity_scores', []],\r\n ['minecraft:inverted', []],\r\n ['minecraft:killed_by_player', [6 /* LastDamagePlayer */]],\r\n ['minecraft:location_check', []],\r\n ['minecraft:match_tool', [9 /* Tool */]],\r\n ['minecraft:random_chance', []],\r\n ['minecraft:random_chance_with_looting', [5 /* KillerEntity */]],\r\n ['minecraft:reference', []],\r\n ['minecraft:survives_explosion', [4 /* ExplosionRadius */]],\r\n ['minecraft:table_bonus', [9 /* Tool */]],\r\n ['minecraft:time_check', []],\r\n ['minecraft:weather_check', []]\r\n]);\r\n/**\r\n * A map from loot function IDs to an array of their required context.\r\n */\r\nexports.LootFunctions = new Map([\r\n ['minecraft:apply_bonus', [9 /* Tool */]],\r\n ['minecraft:copy_name', []],\r\n ['minecraft:copy_nbt', []],\r\n ['minecraft:copy_state', [1 /* BlockState */]],\r\n ['minecraft:enchant_randomly', []],\r\n ['minecraft:enchant_with_levels', []],\r\n ['minecraft:exploration_map', [7 /* Origin */]],\r\n ['minecraft:explosion_decay', []],\r\n ['minecraft:fill_player_head', []],\r\n ['minecraft:furnace_smelt', []],\r\n ['minecraft:limit_count', []],\r\n ['minecraft:looting_enchant', [5 /* KillerEntity */]],\r\n ['minecraft:set_attributes', []],\r\n ['minecraft:set_contents', []],\r\n ['minecraft:set_count', []],\r\n ['minecraft:set_damage', []],\r\n ['minecraft:set_loot_table', []],\r\n ['minecraft:set_lore', []],\r\n ['minecraft:set_name', []],\r\n ['minecraft:set_nbt', []],\r\n ['minecraft:set_stew_effect', []]\r\n]);\r\n","\"use strict\";\r\nObject.defineProperty(exports, \"__esModule\", { value: true });\r\nexports.initLootTableSchemas = void 0;\r\nconst core_1 = require(\"@mcschema/core\");\r\nconst LootContext_1 = require(\"../LootContext\");\r\nconst Common_1 = require(\"./Common\");\r\nfunction initLootTableSchemas(schemas, collections) {\r\n const Reference = core_1.Reference.bind(undefined, schemas);\r\n const StringNode = core_1.StringNode.bind(undefined, collections);\r\n const conditions = {\r\n conditions: core_1.Opt(core_1.ListNode(Reference('loot_condition')))\r\n };\r\n const functionsAndConditions = {\r\n functions: core_1.Opt(core_1.ListNode(Reference('loot_function'))),\r\n ...conditions\r\n };\r\n function compileSwitchNode(contextMap, collectionID, getNode) {\r\n const cases = [];\r\n const getAvailableOptions = (providedContext) => collections\r\n .get(collectionID)\r\n .filter(t => {\r\n var _a;\r\n const requiredContext = (_a = contextMap.get(t)) !== null && _a !== void 0 ? _a : [];\r\n return requiredContext.every(c => providedContext.includes(c));\r\n });\r\n for (const [tableType, { allows, requires }] of LootContext_1.LootTableTypes) {\r\n const providedContext = [...allows, ...requires];\r\n cases.push({\r\n match: path => path.getModel().get(new core_1.Path(['type'])) === tableType,\r\n node: getNode(getAvailableOptions(providedContext))\r\n });\r\n }\r\n cases.push({ match: _ => true, node: getNode(collectionID) });\r\n return core_1.SwitchNode(cases);\r\n }\r\n const conditionSwtichNode = compileSwitchNode(LootContext_1.LootConditions, 'loot_condition_type', type => StringNode({ validator: 'resource', params: { pool: type instanceof Array ? type : `loot_condition_type` } }));\r\n const functionSwtichNode = compileSwitchNode(LootContext_1.LootFunctions, 'loot_function_type', type => StringNode({ validator: 'resource', params: { pool: type instanceof Array ? type : `loot_function_type` } }));\r\n const entitySourceSwtichNode = compileSwitchNode(LootContext_1.LootEntitySources, 'entity_source', type => StringNode({ enum: type }));\r\n const copySourceSwtichNode = compileSwitchNode(LootContext_1.LootCopySources, 'copy_source', type => StringNode({ enum: type }));\r\n schemas.register('loot_table', core_1.Mod(core_1.ObjectNode({\r\n type: core_1.Opt(StringNode({ validator: \"resource\", params: { pool: collections.get('loot_context_type') } })),\r\n pools: core_1.Opt(core_1.ListNode(core_1.Mod(core_1.ObjectNode({\r\n rolls: Common_1.Range({ allowBinomial: true, integer: true }),\r\n bonus_rolls: core_1.Opt(Common_1.Range({ integer: true })),\r\n entries: core_1.ListNode(Reference('loot_entry')),\r\n ...functionsAndConditions\r\n }, { category: 'pool', context: 'loot_pool' }), {\r\n default: () => ({\r\n rolls: 1,\r\n entries: [{\r\n type: 'minecraft:item',\r\n name: 'minecraft:stone'\r\n }]\r\n })\r\n }))),\r\n functions: core_1.Opt(core_1.ListNode(Reference('loot_function')))\r\n }, { context: 'loot_table' }), {\r\n default: () => ({\r\n pools: [{\r\n rolls: 1,\r\n entries: [{\r\n type: 'minecraft:item',\r\n name: 'minecraft:stone'\r\n }]\r\n }]\r\n })\r\n }));\r\n const weightMod = {\r\n enabled: path => {\r\n var _a;\r\n return ((_a = path.pop().get()) === null || _a === void 0 ? void 0 : _a.length) > 1\r\n && !['minecraft:alternatives', 'minecraft:group', 'minecraft:sequence'].includes(path.push('type').get());\r\n }\r\n };\r\n schemas.register('loot_entry', core_1.Mod(core_1.ObjectNode({\r\n type: StringNode({ validator: 'resource', params: { pool: 'loot_pool_entry_type' } }),\r\n weight: core_1.Opt(core_1.Mod(core_1.NumberNode({ integer: true, min: 1 }), weightMod)),\r\n quality: core_1.Opt(core_1.Mod(core_1.NumberNode({ integer: true }), weightMod)),\r\n [core_1.Switch]: [{ push: 'type' }],\r\n [core_1.Case]: {\r\n 'minecraft:alternatives': {\r\n children: core_1.ListNode(Reference('loot_entry')),\r\n ...functionsAndConditions\r\n },\r\n 'minecraft:dynamic': {\r\n name: StringNode(),\r\n ...functionsAndConditions\r\n },\r\n 'minecraft:group': {\r\n children: core_1.ListNode(Reference('loot_entry')),\r\n ...functionsAndConditions\r\n },\r\n 'minecraft:item': {\r\n name: StringNode({ validator: 'resource', params: { pool: 'item' } }),\r\n ...functionsAndConditions\r\n },\r\n 'minecraft:loot_table': {\r\n name: StringNode({ validator: 'resource', params: { pool: '$loot_table' } }),\r\n ...functionsAndConditions\r\n },\r\n 'minecraft:sequence': {\r\n children: core_1.ListNode(Reference('loot_entry')),\r\n ...functionsAndConditions\r\n },\r\n 'minecraft:tag': {\r\n name: StringNode({ validator: 'resource', params: { pool: '$tag/item' } }),\r\n expand: core_1.Opt(core_1.BooleanNode()),\r\n ...functionsAndConditions\r\n }\r\n }\r\n }, { context: 'loot_entry' }), {\r\n default: () => ({\r\n type: 'minecraft:item',\r\n name: 'minecraft:stone'\r\n })\r\n }));\r\n schemas.register('loot_function', core_1.Mod(core_1.ObjectNode({\r\n function: functionSwtichNode,\r\n [core_1.Switch]: [{ push: 'function' }],\r\n [core_1.Case]: (() => {\r\n const cases = {\r\n 'minecraft:apply_bonus': {\r\n enchantment: StringNode({ validator: 'resource', params: { pool: 'enchantment' } }),\r\n formula: StringNode({ validator: 'resource', params: { pool: collections.get('loot_table_apply_bonus_formula') } }),\r\n parameters: core_1.Mod(core_1.ObjectNode({\r\n bonusMultiplier: core_1.Mod(core_1.NumberNode(), {\r\n enabled: path => path.pop().push('formula').get() === 'minecraft:uniform_bonus_count'\r\n }),\r\n extra: core_1.Mod(core_1.NumberNode(), {\r\n enabled: path => path.pop().push('formula').get() === 'minecraft:binomial_with_bonus_count'\r\n }),\r\n probability: core_1.Mod(core_1.NumberNode(), {\r\n enabled: path => path.pop().push('formula').get() === 'minecraft:binomial_with_bonus_count'\r\n })\r\n }), {\r\n enabled: path => path.push('formula').get() !== 'minecraft:ore_drops'\r\n })\r\n },\r\n 'minecraft:copy_name': {\r\n source: copySourceSwtichNode\r\n },\r\n 'minecraft:copy_nbt': {\r\n source: copySourceSwtichNode,\r\n ops: core_1.ListNode(core_1.ObjectNode({\r\n source: StringNode({ validator: 'nbt_path', params: { category: { getter: 'copy_source', path: ['pop', 'pop', 'pop', { push: 'source' }] } } }),\r\n target: StringNode({ validator: 'nbt_path', params: { category: 'minecraft:item' } }),\r\n op: StringNode({ enum: ['replace', 'append', 'merge'] })\r\n }, { context: 'nbt_operation' }))\r\n },\r\n 'minecraft:copy_state': {\r\n block: StringNode({ validator: 'resource', params: { pool: 'block' } }),\r\n properties: core_1.ListNode(StringNode({ validator: 'block_state_key', params: { id: ['pop', 'pop', { push: 'block' }] } }))\r\n },\r\n 'minecraft:enchant_randomly': {\r\n enchantments: core_1.Opt(core_1.ListNode(StringNode({ validator: 'resource', params: { pool: 'enchantment' } })))\r\n },\r\n 'minecraft:enchant_with_levels': {\r\n levels: Common_1.Range({ allowBinomial: true }),\r\n treasure: core_1.Opt(core_1.BooleanNode())\r\n },\r\n 'minecraft:exploration_map': {\r\n destination: core_1.Opt(StringNode({ enum: 'map_feature' })),\r\n decoration: core_1.Opt(StringNode({ enum: 'map_decoration' })),\r\n zoom: core_1.Opt(core_1.NumberNode({ integer: true })),\r\n search_radius: core_1.Opt(core_1.NumberNode({ integer: true })),\r\n skip_existing_chunks: core_1.Opt(core_1.BooleanNode())\r\n },\r\n 'minecraft:fill_player_head': {\r\n entity: entitySourceSwtichNode\r\n },\r\n 'minecraft:limit_count': {\r\n limit: Common_1.Range({ bounds: true })\r\n },\r\n 'minecraft:looting_enchant': {\r\n count: Common_1.Range({ bounds: true }),\r\n limit: core_1.Opt(core_1.NumberNode({ integer: true }))\r\n },\r\n 'minecraft:set_attributes': {\r\n modifiers: core_1.ListNode(Reference('attribute_modifier'))\r\n },\r\n 'minecraft:set_contents': {\r\n entries: core_1.ListNode(Reference('loot_entry'))\r\n },\r\n 'minecraft:set_count': {\r\n count: Common_1.Range({ allowBinomial: true })\r\n },\r\n 'minecraft:set_damage': {\r\n damage: Common_1.Range({ forceRange: true })\r\n },\r\n 'minecraft:set_loot_table': {\r\n name: StringNode({ validator: 'resource', params: { pool: '$loot_table' } }),\r\n seed: core_1.Opt(core_1.NumberNode({ integer: true }))\r\n },\r\n 'minecraft:set_lore': {\r\n entity: core_1.Opt(entitySourceSwtichNode),\r\n lore: core_1.ListNode(Reference('text_component')),\r\n replace: core_1.Opt(core_1.BooleanNode())\r\n },\r\n 'minecraft:set_name': {\r\n entity: core_1.Opt(entitySourceSwtichNode),\r\n name: core_1.Opt(Reference('text_component'))\r\n },\r\n 'minecraft:set_nbt': {\r\n tag: StringNode({ validator: 'nbt', params: { registry: { category: 'minecraft:item' } } })\r\n },\r\n 'minecraft:set_stew_effect': {\r\n effects: core_1.Opt(core_1.ListNode(core_1.ObjectNode({\r\n type: StringNode({ validator: 'resource', params: { pool: 'mob_effect' } }),\r\n duration: Common_1.Range()\r\n })))\r\n }\r\n };\r\n const res = {};\r\n collections.get('loot_function_type').forEach(f => {\r\n res[f] = { ...cases[f], ...conditions };\r\n });\r\n return res;\r\n })()\r\n }, { category: 'function', context: 'function' }), {\r\n default: () => ({\r\n function: 'minecraft:set_count',\r\n count: 1\r\n })\r\n }));\r\n schemas.register('loot_condition', core_1.Mod(core_1.ObjectNode({\r\n condition: conditionSwtichNode,\r\n [core_1.Switch]: [{ push: 'condition' }],\r\n [core_1.Case]: {\r\n ...Common_1.ConditionCases,\r\n 'minecraft:entity_properties': {\r\n entity: entitySourceSwtichNode,\r\n predicate: Reference('entity_predicate')\r\n },\r\n 'minecraft:entity_scores': {\r\n entity: entitySourceSwtichNode,\r\n scores: core_1.MapNode(StringNode({ validator: 'objective' }), Common_1.Range({ bounds: true }))\r\n }\r\n }\r\n }, { category: 'predicate', context: 'condition' }), {\r\n default: () => ({\r\n condition: 'minecraft:random_chance',\r\n chance: 0.5\r\n })\r\n }));\r\n schemas.register('attribute_modifier', core_1.Mod(core_1.ObjectNode({\r\n attribute: StringNode({ validator: 'resource', params: { pool: 'attribute' } }),\r\n name: StringNode(),\r\n amount: Common_1.Range({ bounds: true }),\r\n operation: StringNode({ enum: ['addition', 'multiply_base', 'multiply_total'] }),\r\n slot: core_1.StringOrList(StringNode({ enum: 'slot' }))\r\n }, { context: 'attribute_modifier' }), {\r\n default: () => ({\r\n attribute: 'minecraft:generic.max_health',\r\n name: '',\r\n amount: 1,\r\n operation: 'addition',\r\n slot: 'mainhand'\r\n })\r\n }));\r\n}\r\nexports.initLootTableSchemas = initLootTableSchemas;\r\n","\"use strict\";\r\nObject.defineProperty(exports, \"__esModule\", { value: true });\r\nexports.initPackMcmetaSchemas = void 0;\r\nconst core_1 = require(\"@mcschema/core\");\r\nfunction initPackMcmetaSchemas(schemas, _) {\r\n const getSimpleString = (jsonText) => { var _a, _b; return jsonText instanceof Array ? getSimpleString(jsonText[0]) : (_b = (_a = jsonText === null || jsonText === void 0 ? void 0 : jsonText.text) !== null && _a !== void 0 ? _a : jsonText === null || jsonText === void 0 ? void 0 : jsonText.toString()) !== null && _b !== void 0 ? _b : ''; };\r\n schemas.register('pack_mcmeta', core_1.Mod(core_1.ObjectNode({\r\n pack: core_1.Mod(core_1.ObjectNode({\r\n pack_format: core_1.Mod(core_1.NumberNode({ integer: true, min: 6, max: 6 }), { default: () => 6 }),\r\n description: core_1.Reference(schemas, 'text_component')\r\n }), {\r\n default: () => ({\r\n pack_format: 6,\r\n description: ''\r\n })\r\n })\r\n }), {\r\n default: () => ({\r\n pack: {\r\n pack_format: 6,\r\n description: ''\r\n }\r\n })\r\n }));\r\n}\r\nexports.initPackMcmetaSchemas = initPackMcmetaSchemas;\r\n","\"use strict\";\r\nObject.defineProperty(exports, \"__esModule\", { value: true });\r\nexports.initPredicatesSchemas = void 0;\r\nconst core_1 = require(\"@mcschema/core\");\r\nconst Common_1 = require(\"./Common\");\r\nfunction initPredicatesSchemas(schemas, collections) {\r\n const Reference = core_1.Reference.bind(undefined, schemas);\r\n const StringNode = core_1.StringNode.bind(undefined, collections);\r\n const StateChoice = core_1.ChoiceNode([\r\n {\r\n type: 'string',\r\n node: StringNode(),\r\n change: v => (typeof v === 'boolean' || typeof v === 'number') ? v.toString() : ''\r\n },\r\n {\r\n type: 'number',\r\n node: core_1.NumberNode(),\r\n change: v => (typeof v === 'string') ? parseInt(v) : 0\r\n },\r\n {\r\n type: 'object',\r\n node: core_1.ObjectNode({\r\n min: core_1.Opt(core_1.NumberNode({ integer: true })),\r\n max: core_1.Opt(core_1.NumberNode({ integer: true }))\r\n }),\r\n change: v => (typeof v === 'number') ? ({ min: v, max: v }) : ({})\r\n },\r\n {\r\n type: 'boolean',\r\n node: core_1.BooleanNode(),\r\n change: v => v === 'true' || v === 1\r\n }\r\n ]);\r\n schemas.register('item_predicate', core_1.ObjectNode({\r\n item: core_1.Opt(StringNode({ validator: 'resource', params: { pool: 'item' } })),\r\n tag: core_1.Opt(StringNode({ validator: 'resource', params: { pool: '$tag/item' } })),\r\n count: core_1.Opt(Common_1.Range()),\r\n durability: core_1.Opt(Common_1.Range()),\r\n potion: core_1.Opt(StringNode({ validator: 'resource', params: { pool: 'potion' } })),\r\n nbt: core_1.Opt(StringNode({ validator: 'nbt', params: { registry: { category: 'minecraft:item', id: ['pop', { push: 'item' }] } } })),\r\n enchantments: core_1.Opt(core_1.ListNode(Reference('enchantment_predicate')))\r\n }, { context: 'item' }));\r\n schemas.register('enchantment_predicate', core_1.ObjectNode({\r\n enchantment: core_1.Opt(StringNode({ validator: 'resource', params: { pool: 'enchantment' } })),\r\n levels: core_1.Opt(Common_1.Range())\r\n }, { context: 'enchantment' }));\r\n schemas.register('block_predicate', core_1.ObjectNode({\r\n block: core_1.Opt(StringNode({ validator: 'resource', params: { pool: 'block' } })),\r\n tag: core_1.Opt(StringNode({ validator: 'resource', params: { pool: '$tag/block' } })),\r\n nbt: core_1.Opt(StringNode({ validator: 'nbt', params: { registry: { category: 'minecraft:block', id: ['pop', { push: 'block' }] } } })),\r\n state: core_1.Opt(core_1.MapNode(StringNode(), StateChoice, { validation: { validator: 'block_state_map', params: { id: ['pop', { push: 'block' }] } } }))\r\n }, { context: 'block' }));\r\n schemas.register('fluid_predicate', core_1.ObjectNode({\r\n fluid: core_1.Opt(StringNode({ validator: 'resource', params: { pool: 'fluid' } })),\r\n tag: core_1.Opt(StringNode({ validator: 'resource', params: { pool: '$tag/fluid' } })),\r\n state: core_1.Opt(core_1.MapNode(StringNode(), StateChoice))\r\n }, { context: 'fluid' }));\r\n schemas.register('location_predicate', core_1.ObjectNode({\r\n position: core_1.Opt(core_1.ObjectNode({\r\n x: core_1.Opt(Common_1.Range()),\r\n y: core_1.Opt(Common_1.Range()),\r\n z: core_1.Opt(Common_1.Range())\r\n })),\r\n biome: core_1.Opt(StringNode({ validator: 'resource', params: { pool: '$worldgen/biome' } })),\r\n feature: core_1.Opt(StringNode({ enum: collections.get('worldgen/structure_feature').map(v => v.slice(10)) })),\r\n dimension: core_1.Opt(StringNode({ validator: 'resource', params: { pool: '$dimension' } })),\r\n light: core_1.Opt(core_1.ObjectNode({\r\n light: core_1.Opt(Common_1.Range({ integer: true, min: 0, max: 15 }))\r\n })),\r\n smokey: core_1.Opt(core_1.BooleanNode()),\r\n block: core_1.Opt(Reference('block_predicate')),\r\n fluid: core_1.Opt(Reference('fluid_predicate'))\r\n }, { context: 'location' }));\r\n schemas.register('statistic_predicate', core_1.ObjectNode({\r\n type: StringNode({ validator: 'resource', params: { pool: 'stat_type' } }),\r\n stat: StringNode(),\r\n value: Common_1.Range(),\r\n [core_1.Switch]: [{ push: 'type' }],\r\n [core_1.Case]: {\r\n 'minecraft:mined': {\r\n stat: StringNode({ validator: 'resource', params: { pool: 'block' } })\r\n },\r\n 'minecraft:crafted': {\r\n stat: StringNode({ validator: 'resource', params: { pool: 'item' } })\r\n },\r\n 'minecraft:used': {\r\n stat: StringNode({ validator: 'resource', params: { pool: 'item' } })\r\n },\r\n 'minecraft:broken': {\r\n stat: StringNode({ validator: 'resource', params: { pool: 'item' } })\r\n },\r\n 'minecraft:picked_up': {\r\n stat: StringNode({ validator: 'resource', params: { pool: 'item' } })\r\n },\r\n 'minecraft:dropped': {\r\n stat: StringNode({ validator: 'resource', params: { pool: 'item' } })\r\n },\r\n 'minecraft:killed': {\r\n stat: StringNode({ validator: 'resource', params: { pool: 'entity_type' } })\r\n },\r\n 'minecraft:killed_by': {\r\n stat: StringNode({ validator: 'resource', params: { pool: 'entity_type' } })\r\n },\r\n 'minecraft:custom': {\r\n stat: StringNode({ validator: 'resource', params: { pool: 'custom_stat' } })\r\n }\r\n }\r\n }));\r\n schemas.register('player_predicate', core_1.ObjectNode({\r\n gamemode: core_1.Opt(StringNode({ enum: 'gamemode' })),\r\n level: core_1.Opt(Common_1.Range()),\r\n advancements: core_1.Opt(core_1.MapNode(StringNode({ validator: 'resource', params: { pool: '$advancement' } }), core_1.ChoiceNode([\r\n { type: 'boolean', node: core_1.BooleanNode(), change: _ => true },\r\n {\r\n type: 'object', node: core_1.MapNode(StringNode(), core_1.BooleanNode())\r\n }\r\n ]))),\r\n recipes: core_1.Opt(core_1.MapNode(StringNode({ validator: 'resource', params: { pool: '$recipe' } }), core_1.BooleanNode())),\r\n stats: core_1.Opt(core_1.ListNode(Reference('statistic_predicate')))\r\n }, { context: 'player' }));\r\n schemas.register('status_effect_predicate', core_1.ObjectNode({\r\n amplifier: core_1.Opt(Common_1.Range()),\r\n duration: core_1.Opt(Common_1.Range()),\r\n ambient: core_1.Opt(core_1.BooleanNode()),\r\n visible: core_1.Opt(core_1.BooleanNode())\r\n }, { context: 'status_effect' }));\r\n schemas.register('distance_predicate', core_1.ObjectNode({\r\n x: core_1.Opt(Common_1.Range()),\r\n y: core_1.Opt(Common_1.Range()),\r\n z: core_1.Opt(Common_1.Range()),\r\n absolute: core_1.Opt(Common_1.Range()),\r\n horizontal: core_1.Opt(Common_1.Range())\r\n }, { context: 'distance' }));\r\n schemas.register('entity_predicate', core_1.ObjectNode({\r\n type: core_1.Opt(StringNode({ validator: 'resource', params: { pool: 'entity_type', allowTag: true } })),\r\n nbt: core_1.Opt(StringNode({ validator: 'nbt', params: { registry: { category: 'minecraft:entity', id: ['pop', { push: 'type' }] } } })),\r\n team: core_1.Opt(StringNode({ validator: 'team' })),\r\n location: core_1.Opt(Reference('location_predicate')),\r\n distance: core_1.Opt(Reference('distance_predicate')),\r\n flags: core_1.Opt(core_1.ObjectNode({\r\n is_on_fire: core_1.Opt(core_1.BooleanNode()),\r\n is_sneaking: core_1.Opt(core_1.BooleanNode()),\r\n is_sprinting: core_1.Opt(core_1.BooleanNode()),\r\n is_swimming: core_1.Opt(core_1.BooleanNode()),\r\n is_baby: core_1.Opt(core_1.BooleanNode())\r\n })),\r\n equipment: core_1.Opt(core_1.MapNode(StringNode({ enum: 'slot' }), Reference('item_predicate'))),\r\n vehicle: core_1.Opt(Reference('entity_predicate')),\r\n targeted_entity: core_1.Opt(Reference('entity_predicate')),\r\n player: core_1.Opt(Reference('player_predicate')),\r\n fishing_hook: core_1.Opt(core_1.ObjectNode({\r\n in_open_water: core_1.Opt(core_1.BooleanNode())\r\n })),\r\n effects: core_1.Opt(core_1.MapNode(StringNode({ validator: 'resource', params: { pool: 'mob_effect' } }), Reference('status_effect_predicate')))\r\n }, { context: 'entity' }));\r\n schemas.register('damage_source_predicate', core_1.ObjectNode({\r\n is_explosion: core_1.Opt(core_1.BooleanNode()),\r\n is_fire: core_1.Opt(core_1.BooleanNode()),\r\n is_magic: core_1.Opt(core_1.BooleanNode()),\r\n is_projectile: core_1.Opt(core_1.BooleanNode()),\r\n is_lightning: core_1.Opt(core_1.BooleanNode()),\r\n bypasses_armor: core_1.Opt(core_1.BooleanNode()),\r\n bypasses_invulnerability: core_1.Opt(core_1.BooleanNode()),\r\n bypasses_magic: core_1.Opt(core_1.BooleanNode()),\r\n source_entity: core_1.Opt(Reference('entity_predicate')),\r\n direct_entity: core_1.Opt(Reference('entity_predicate'))\r\n }, { context: 'damage_source' }));\r\n schemas.register('damage_predicate', core_1.ObjectNode({\r\n dealt: core_1.Opt(Common_1.Range()),\r\n taken: core_1.Opt(Common_1.Range()),\r\n blocked: core_1.Opt(core_1.BooleanNode()),\r\n source_entity: core_1.Opt(Reference('entity_predicate')),\r\n type: core_1.Opt(Reference('damage_source_predicate'))\r\n }, { context: 'damage' }));\r\n}\r\nexports.initPredicatesSchemas = initPredicatesSchemas;\r\n","\"use strict\";\r\nObject.defineProperty(exports, \"__esModule\", { value: true });\r\nexports.initRecipeSchemas = void 0;\r\nconst core_1 = require(\"@mcschema/core\");\r\nfunction initRecipeSchemas(schemas, collections) {\r\n const Reference = core_1.Reference.bind(undefined, schemas);\r\n const StringNode = core_1.StringNode.bind(undefined, collections);\r\n schemas.register('recipe', core_1.Mod(core_1.ObjectNode({\r\n type: StringNode({ validator: 'resource', params: { pool: 'recipe_serializer' } }),\r\n [core_1.Switch]: [{ push: 'type' }],\r\n [core_1.Case]: {\r\n 'minecraft:crafting_shaped': {\r\n group: core_1.Opt(StringNode({ enum: 'recipe_group', additional: true })),\r\n pattern: core_1.ListNode(StringNode()),\r\n key: core_1.MapNode(StringNode(), // TODO: add validation\r\n Reference('recipe_ingredient')),\r\n result: Reference('recipe_result')\r\n },\r\n 'minecraft:crafting_shapeless': {\r\n group: core_1.Opt(StringNode()),\r\n ingredients: core_1.ListNode(Reference('recipe_ingredient')),\r\n result: Reference('recipe_result')\r\n },\r\n 'minecraft:smelting': {\r\n group: core_1.Opt(StringNode()),\r\n ingredient: Reference('recipe_ingredient'),\r\n result: StringNode({ validator: 'resource', params: { pool: 'item' } }),\r\n experience: core_1.Opt(core_1.NumberNode()),\r\n cookingtime: core_1.Opt(core_1.Mod(core_1.NumberNode({ integer: true }), { default: () => 200 }))\r\n },\r\n 'minecraft:blasting': {\r\n group: core_1.Opt(StringNode()),\r\n ingredient: Reference('recipe_ingredient'),\r\n result: StringNode({ validator: 'resource', params: { pool: 'item' } }),\r\n experience: core_1.Opt(core_1.NumberNode()),\r\n cookingtime: core_1.Opt(core_1.Mod(core_1.NumberNode({ integer: true }), { default: () => 100 }))\r\n },\r\n 'minecraft:smoking': {\r\n group: core_1.Opt(StringNode()),\r\n ingredient: Reference('recipe_ingredient'),\r\n result: StringNode({ validator: 'resource', params: { pool: 'item' } }),\r\n experience: core_1.Opt(core_1.NumberNode()),\r\n cookingtime: core_1.Opt(core_1.Mod(core_1.NumberNode({ integer: true }), { default: () => 100 }))\r\n },\r\n 'minecraft:campfire_cooking': {\r\n group: core_1.Opt(StringNode()),\r\n ingredient: Reference('recipe_ingredient'),\r\n result: StringNode({ validator: 'resource', params: { pool: 'item' } }),\r\n experience: core_1.Opt(core_1.NumberNode()),\r\n cookingtime: core_1.Opt(core_1.Mod(core_1.NumberNode({ integer: true }), { default: () => 100 }))\r\n },\r\n 'minecraft:stonecutting': {\r\n group: core_1.Opt(StringNode()),\r\n ingredient: Reference('recipe_ingredient'),\r\n result: StringNode({ validator: 'resource', params: { pool: 'item' } }),\r\n count: core_1.NumberNode({ integer: true })\r\n },\r\n 'minecraft:smithing': {\r\n group: core_1.Opt(StringNode()),\r\n base: Reference('recipe_ingredient_object'),\r\n addition: Reference('recipe_ingredient_object'),\r\n result: Reference('recipe_result')\r\n }\r\n }\r\n }, { context: 'recipe' }), {\r\n default: () => ({\r\n type: 'minecraft:crafting_shaped'\r\n })\r\n }));\r\n schemas.register('recipe_ingredient', core_1.Mod(core_1.ChoiceNode([\r\n {\r\n type: 'object',\r\n node: Reference('recipe_ingredient_object'),\r\n change: v => v[0]\r\n },\r\n {\r\n type: 'list',\r\n node: core_1.ListNode(Reference('recipe_ingredient_object')),\r\n change: v => [v]\r\n }\r\n ]), {\r\n default: () => ({\r\n item: 'minecraft:stone'\r\n })\r\n }));\r\n schemas.register('recipe_ingredient_object', core_1.Mod(core_1.ObjectNode({\r\n item: core_1.Opt(StringNode({ validator: 'resource', params: { pool: 'item' } })),\r\n tag: core_1.Opt(StringNode({ validator: 'resource', params: { pool: '$tag/item' } }))\r\n }), {\r\n default: () => ({\r\n item: 'minecraft:stone'\r\n })\r\n }));\r\n schemas.register('recipe_result', core_1.Mod(core_1.ObjectNode({\r\n item: StringNode({ validator: 'resource', params: { pool: 'item' } }),\r\n count: core_1.Opt(core_1.Mod(core_1.NumberNode({ integer: true }), { default: () => 1 }))\r\n }), {\r\n default: () => ({\r\n item: 'minecraft:stone'\r\n })\r\n }));\r\n}\r\nexports.initRecipeSchemas = initRecipeSchemas;\r\n","\"use strict\";\r\nObject.defineProperty(exports, \"__esModule\", { value: true });\r\nexports.initTagsSchemas = void 0;\r\nconst core_1 = require(\"@mcschema/core\");\r\nfunction initTagsSchemas(schemas, collections) {\r\n const StringNode = core_1.StringNode.bind(undefined, collections);\r\n const TagBase = (type) => core_1.Mod(core_1.ObjectNode({\r\n replace: core_1.Opt(core_1.BooleanNode()),\r\n values: core_1.ListNode(core_1.ChoiceNode([\r\n {\r\n type: 'string',\r\n node: StringNode({ validator: 'resource', params: { pool: type, allowTag: true } }),\r\n change: v => v.id\r\n },\r\n {\r\n type: 'object',\r\n node: core_1.ObjectNode({\r\n id: StringNode({ validator: 'resource', params: { pool: type, allowTag: true, allowUnknown: true } }),\r\n required: core_1.BooleanNode()\r\n }),\r\n change: v => ({ id: v })\r\n }\r\n ])),\r\n }, { context: 'tag' }), {\r\n default: () => ({\r\n values: []\r\n })\r\n });\r\n schemas.register('block_tag', TagBase('block'));\r\n schemas.register('entity_type_tag', TagBase('entity_type'));\r\n schemas.register('fluid_tag', TagBase('fluid'));\r\n schemas.register('function_tag', TagBase('$function'));\r\n schemas.register('item_tag', TagBase('item'));\r\n}\r\nexports.initTagsSchemas = initTagsSchemas;\r\n","\"use strict\";\r\nObject.defineProperty(exports, \"__esModule\", { value: true });\r\nexports.initTextComponentSchemas = void 0;\r\nconst core_1 = require(\"@mcschema/core\");\r\nfunction initTextComponentSchemas(schemas, collections) {\r\n const Reference = core_1.Reference.bind(undefined, schemas);\r\n const StringNode = core_1.StringNode.bind(undefined, collections);\r\n const getSimpleString = (v) => { var _a; return v instanceof Array ? getSimpleString(v[0]) : (_a = v === null || v === void 0 ? void 0 : v.text) !== null && _a !== void 0 ? _a : (typeof v === 'object' ? '' : v === null || v === void 0 ? void 0 : v.toString()); };\r\n schemas.register('text_component', core_1.Mod(core_1.ChoiceNode([\r\n {\r\n type: 'object',\r\n node: Reference('text_component_object'),\r\n change: v => v instanceof Array ? (typeof v[0] === 'object' ? v[0] : { text: getSimpleString(v[0]) }) : typeof v === 'object' ? v : { text: getSimpleString(v) }\r\n },\r\n {\r\n type: 'list',\r\n node: Reference('text_component_list'),\r\n change: v => [v]\r\n },\r\n {\r\n type: 'string',\r\n priority: 1,\r\n node: StringNode(),\r\n change: getSimpleString\r\n },\r\n {\r\n type: 'number',\r\n node: core_1.NumberNode(),\r\n change: v => {\r\n const n = parseFloat(getSimpleString(v));\r\n return isFinite(n) ? n : (!!v ? 1 : 0);\r\n }\r\n },\r\n {\r\n type: 'boolean',\r\n node: core_1.BooleanNode(),\r\n change: v => {\r\n const s = getSimpleString(v);\r\n return s === 'true' || s === 'false' ? s === 'true' : !!s;\r\n }\r\n }\r\n ], { context: 'text_component' }), {\r\n default: () => ({\r\n text: \"\"\r\n })\r\n }));\r\n const CommonFields = {\r\n color: core_1.Opt(StringNode()) /* TODO */,\r\n font: core_1.Opt(StringNode()),\r\n bold: core_1.Opt(core_1.BooleanNode()),\r\n italic: core_1.Opt(core_1.BooleanNode()),\r\n underlined: core_1.Opt(core_1.BooleanNode()),\r\n strikethrough: core_1.Opt(core_1.BooleanNode()),\r\n obfuscated: core_1.Opt(core_1.BooleanNode()),\r\n insertion: core_1.Opt(StringNode()),\r\n clickEvent: core_1.Opt(core_1.ObjectNode({\r\n action: StringNode({ enum: ['open_url', 'open_file', 'run_command', 'suggest_command', 'change_page', 'copy_to_clipboard'] }),\r\n [core_1.Switch]: [{ push: 'action' }],\r\n [core_1.Case]: {\r\n 'change_page': {\r\n value: StringNode()\r\n },\r\n 'copy_to_clipboard': {\r\n value: StringNode()\r\n },\r\n 'open_file': {\r\n value: StringNode()\r\n },\r\n 'open_url': {\r\n value: StringNode()\r\n },\r\n 'run_command': {\r\n value: StringNode({ validator: 'command', params: { leadingSlash: true, allowPartial: true } })\r\n },\r\n 'suggest_command': {\r\n value: StringNode({ validator: 'command', params: { leadingSlash: true, allowPartial: true } })\r\n }\r\n }\r\n })),\r\n hoverEvent: core_1.Opt(core_1.ObjectNode({\r\n action: StringNode({ enum: ['show_text', 'show_item', 'show_entity'] }),\r\n [core_1.Switch]: [{ push: 'action' }],\r\n [core_1.Case]: {\r\n 'show_text': {\r\n value: core_1.Opt(Reference('text_component')),\r\n contents: core_1.Opt(Reference('text_component'))\r\n },\r\n 'show_item': {\r\n value: core_1.Opt(StringNode({ validator: 'nbt', params: { module: 'util::InventoryItem' } })),\r\n contents: core_1.Opt(core_1.ObjectNode({\r\n id: StringNode({ validator: 'resource', params: { pool: 'item' } }),\r\n count: core_1.Opt(core_1.NumberNode({ integer: true })),\r\n tag: core_1.Opt(StringNode({ validator: 'nbt', params: { registry: { category: 'minecraft:item', id: ['pop', { push: 'id' }] } } }))\r\n }))\r\n },\r\n 'show_entity': {\r\n value: core_1.Opt(core_1.ObjectNode({\r\n name: core_1.Opt(StringNode()),\r\n type: core_1.Opt(StringNode()),\r\n id: core_1.Opt(StringNode())\r\n })),\r\n contents: core_1.Opt(core_1.Mod(core_1.ObjectNode({\r\n name: core_1.Opt(Reference('text_component')),\r\n type: StringNode({ validator: 'resource', params: { pool: 'entity_type' } }),\r\n id: StringNode({ validator: 'uuid' })\r\n }), {\r\n default: () => ({\r\n type: 'minecraft:pig',\r\n id: '00000001-0001-0001-0001-000000000001'\r\n })\r\n }))\r\n }\r\n }\r\n })),\r\n extra: core_1.Opt(Reference('text_component_list'))\r\n };\r\n schemas.register('text_component_object', core_1.Mod(core_1.ChoiceNode([\r\n {\r\n type: 'text',\r\n match: v => typeof v === 'object',\r\n change: v => ({ text: '' }),\r\n priority: -1,\r\n node: core_1.ObjectNode({\r\n text: StringNode(),\r\n ...CommonFields\r\n })\r\n },\r\n {\r\n type: 'translation',\r\n match: v => (v === null || v === void 0 ? void 0 : v.translate) !== undefined,\r\n change: v => ({ translate: '' }),\r\n node: core_1.ObjectNode({\r\n translate: StringNode(),\r\n with: core_1.Opt(Reference('text_component_list')),\r\n ...CommonFields\r\n })\r\n },\r\n {\r\n type: 'score',\r\n match: v => (v === null || v === void 0 ? void 0 : v.score) !== undefined,\r\n change: v => ({ score: {} }),\r\n node: core_1.ObjectNode({\r\n score: core_1.ObjectNode({\r\n name: StringNode({ validator: 'entity', params: { amount: 'single', type: 'entities', isScoreHolder: true } }),\r\n objective: StringNode({ validator: 'objective' }),\r\n value: core_1.Opt(StringNode())\r\n }),\r\n ...CommonFields\r\n })\r\n },\r\n {\r\n type: 'selector',\r\n match: v => (v === null || v === void 0 ? void 0 : v.selector) !== undefined,\r\n change: v => ({ selector: '' }),\r\n node: core_1.ObjectNode({\r\n selector: StringNode({ validator: 'entity', params: { amount: 'multiple', type: 'entities' } }),\r\n ...CommonFields\r\n })\r\n },\r\n {\r\n type: 'keybind',\r\n match: v => (v === null || v === void 0 ? void 0 : v.keybind) !== undefined,\r\n change: v => ({ keybind: '' }),\r\n node: core_1.ObjectNode({\r\n keybind: StringNode({ enum: 'keybind', additional: true }),\r\n ...CommonFields\r\n })\r\n },\r\n {\r\n type: 'nbt',\r\n match: v => (v === null || v === void 0 ? void 0 : v.nbt) !== undefined,\r\n change: v => ({ nbt: '' }),\r\n node: core_1.ObjectNode({\r\n nbt: StringNode({ validator: 'nbt_path' }),\r\n block: core_1.Opt(StringNode({ validator: 'vector', params: { dimension: 3, isInteger: true } })),\r\n entity: core_1.Opt(StringNode({ validator: 'entity', params: { amount: 'single', type: 'entities' } })),\r\n storage: core_1.Opt(StringNode({ validator: 'resource', params: { pool: '$storage' } })),\r\n interpret: core_1.Opt(core_1.BooleanNode()),\r\n ...CommonFields\r\n })\r\n }\r\n ], { context: 'text_component_object', choiceContext: 'text_component.object' }), {\r\n default: () => ({\r\n text: \"\"\r\n })\r\n }));\r\n schemas.register('text_component_list', core_1.Mod(core_1.ListNode(Reference('text_component')), {\r\n default: () => [{\r\n text: \"\"\r\n }]\r\n }));\r\n}\r\nexports.initTextComponentSchemas = initTextComponentSchemas;\r\n","\"use strict\";\r\nObject.defineProperty(exports, \"__esModule\", { value: true });\r\nexports.initBiomeSchemas = void 0;\r\nconst core_1 = require(\"@mcschema/core\");\r\nfunction initBiomeSchemas(schemas, collections) {\r\n const StringNode = core_1.StringNode.bind(undefined, collections);\r\n schemas.register('biome', core_1.Mod(core_1.ObjectNode({\r\n surface_builder: StringNode({ validator: 'resource', params: { pool: '$worldgen/configured_surface_builder' } }),\r\n depth: core_1.NumberNode(),\r\n scale: core_1.NumberNode(),\r\n temperature: core_1.NumberNode(),\r\n downfall: core_1.NumberNode(),\r\n precipitation: StringNode({ enum: ['none', 'rain', 'snow'] }),\r\n temperature_modifier: core_1.Opt(StringNode({ enum: ['none', 'frozen'] })),\r\n category: StringNode({ enum: 'biome_category' }),\r\n player_spawn_friendly: core_1.Opt(core_1.BooleanNode()),\r\n creature_spawn_probability: core_1.Opt(core_1.NumberNode({ min: 0, max: 1 })),\r\n effects: core_1.ObjectNode({\r\n sky_color: core_1.NumberNode({ color: true }),\r\n fog_color: core_1.NumberNode({ color: true }),\r\n water_color: core_1.NumberNode({ color: true }),\r\n water_fog_color: core_1.NumberNode({ color: true }),\r\n grass_color: core_1.Opt(core_1.NumberNode({ color: true })),\r\n foliage_color: core_1.Opt(core_1.NumberNode({ color: true })),\r\n grass_color_modifier: core_1.Opt(StringNode({ enum: ['none', 'dark_forest', 'swamp'] })),\r\n ambient_sound: core_1.Opt(StringNode()),\r\n mood_sound: core_1.Opt(core_1.ObjectNode({\r\n sound: StringNode(),\r\n tick_delay: core_1.NumberNode({ integer: true }),\r\n block_search_extent: core_1.NumberNode({ integer: true }),\r\n offset: core_1.NumberNode()\r\n })),\r\n additions_sound: core_1.Opt(core_1.ObjectNode({\r\n sound: StringNode(),\r\n tick_chance: core_1.NumberNode({ min: 0, max: 1 })\r\n })),\r\n music: core_1.Opt(core_1.ObjectNode({\r\n sound: StringNode(),\r\n min_delay: core_1.NumberNode({ integer: true, min: 0 }),\r\n max_delay: core_1.NumberNode({ integer: true, min: 0 }),\r\n replace_current_music: core_1.BooleanNode()\r\n })),\r\n particle: core_1.Opt(core_1.ObjectNode({\r\n options: core_1.ObjectNode({\r\n type: StringNode()\r\n }),\r\n probability: core_1.NumberNode({ min: 0, max: 1 })\r\n }))\r\n }),\r\n starts: core_1.ListNode(StringNode({ validator: 'resource', params: { pool: '$worldgen/configured_structure_feature' } })),\r\n spawners: core_1.MapNode(StringNode({ enum: [\r\n 'water_ambient',\r\n 'ambient',\r\n 'misc',\r\n 'water_creature',\r\n 'creature',\r\n 'monster'\r\n ] }), core_1.Mod(core_1.ListNode(core_1.ObjectNode({\r\n type: StringNode({ validator: 'resource', params: { pool: 'entity_type' } }),\r\n weight: core_1.NumberNode({ integer: true }),\r\n minCount: core_1.NumberNode({ integer: true }),\r\n maxCount: core_1.NumberNode({ integer: true })\r\n })), {\r\n category: () => 'pool',\r\n default: () => [{\r\n type: 'minecraft:bat',\r\n weight: 1\r\n }]\r\n })),\r\n spawn_costs: core_1.MapNode(StringNode({ validator: 'resource', params: { pool: 'entity_type' } }), core_1.Mod(core_1.ObjectNode({\r\n energy_budget: core_1.NumberNode(),\r\n charge: core_1.NumberNode()\r\n }, { category: 'function' }), {\r\n default: () => ({\r\n energy_budget: 0.12,\r\n charge: 1.0\r\n })\r\n })),\r\n carvers: core_1.MapNode(StringNode({ enum: ['air', 'liquid'] }), core_1.Mod(core_1.ListNode(StringNode({ validator: 'resource', params: { pool: '$worldgen/configured_carver' } })), {\r\n default: () => ['minecraft:cave']\r\n })),\r\n features: core_1.ListNode(core_1.Mod(core_1.ListNode(StringNode({ validator: 'resource', params: { pool: '$worldgen/configured_feature' } })), { category: () => 'predicate' }), { maxLength: 10 })\r\n }, { context: 'biome' }), {\r\n default: () => ({\r\n surface_builder: 'minecraft:grass',\r\n depth: 0.125,\r\n scale: 0.05,\r\n temperature: 0.8,\r\n downfall: 0.4,\r\n precipitation: 'rain',\r\n category: 'plains',\r\n effects: {\r\n sky_color: 7907327,\r\n fog_color: 12638463,\r\n water_color: 4159204,\r\n water_fog_color: 329011\r\n }\r\n })\r\n }));\r\n}\r\nexports.initBiomeSchemas = initBiomeSchemas;\r\n","\"use strict\";\r\nObject.defineProperty(exports, \"__esModule\", { value: true });\r\nexports.initCarverSchemas = void 0;\r\nconst core_1 = require(\"@mcschema/core\");\r\nfunction initCarverSchemas(schemas, collections) {\r\n const StringNode = core_1.StringNode.bind(undefined, collections);\r\n schemas.register('configured_carver', core_1.Mod(core_1.ObjectNode({\r\n type: StringNode({ validator: 'resource', params: { pool: 'worldgen/carver' } }),\r\n config: core_1.ObjectNode({\r\n probability: core_1.NumberNode({ min: 0, max: 1 })\r\n })\r\n }, { context: 'carver' }), {\r\n default: () => ({\r\n type: 'minecraft:cave',\r\n config: {\r\n probability: 0.1\r\n }\r\n })\r\n }));\r\n}\r\nexports.initCarverSchemas = initCarverSchemas;\r\n","\"use strict\";\r\nObject.defineProperty(exports, \"__esModule\", { value: true });\r\nexports.initDecoratorSchemas = void 0;\r\nconst core_1 = require(\"@mcschema/core\");\r\nconst Common_1 = require(\"../Common\");\r\nfunction initDecoratorSchemas(schemas, collections) {\r\n const Reference = core_1.Reference.bind(undefined, schemas);\r\n const StringNode = core_1.StringNode.bind(undefined, collections);\r\n const RangeConfig = {\r\n maximum: core_1.NumberNode({ integer: true }),\r\n bottom_offset: core_1.NumberNode({ integer: true }),\r\n top_offset: core_1.NumberNode({ integer: true })\r\n };\r\n const ChanceConfig = {\r\n chance: core_1.NumberNode({ integer: true, min: 0 })\r\n };\r\n const CountConfig = {\r\n count: Common_1.UniformInt({ min: -10, max: 128, maxSpread: 128 })\r\n };\r\n schemas.register('configured_decorator', core_1.ObjectNode({\r\n type: StringNode({ validator: 'resource', params: { pool: 'worldgen/decorator' } }),\r\n config: core_1.ObjectNode({\r\n [core_1.Switch]: ['pop', { push: 'type' }],\r\n [core_1.Case]: {\r\n 'minecraft:carving_mask': {\r\n step: StringNode({ enum: 'generation_step' }),\r\n probability: core_1.NumberNode({ min: 0, max: 1 })\r\n },\r\n 'minecraft:chance': ChanceConfig,\r\n 'minecraft:count': CountConfig,\r\n 'minecraft:count_extra': {\r\n count: core_1.NumberNode({ integer: true, min: 0 }),\r\n extra_count: core_1.NumberNode({ integer: true, min: 0 }),\r\n extra_chance: core_1.NumberNode({ min: 0, max: 1 })\r\n },\r\n 'minecraft:count_multilayer': CountConfig,\r\n 'minecraft:count_noise': {\r\n noise_level: core_1.NumberNode(),\r\n below_noise: core_1.NumberNode({ integer: true }),\r\n above_noise: core_1.NumberNode({ integer: true })\r\n },\r\n 'minecraft:count_noise_biased': {\r\n noise_to_count_ratio: core_1.NumberNode({ integer: true }),\r\n noise_factor: core_1.NumberNode(),\r\n noise_offset: core_1.Opt(core_1.NumberNode())\r\n },\r\n 'minecraft:decorated': {\r\n outer: Reference('configured_decorator'),\r\n inner: Reference('configured_decorator')\r\n },\r\n 'minecraft:depth_average': {\r\n baseline: core_1.NumberNode({ integer: true }),\r\n spread: core_1.NumberNode({ integer: true })\r\n },\r\n 'minecraft:fire': CountConfig,\r\n 'minecraft:glowstone': CountConfig,\r\n 'minecraft:lava_lake': ChanceConfig,\r\n 'minecraft:range': RangeConfig,\r\n 'minecraft:range_biased': RangeConfig,\r\n 'minecraft:range_very_biased': RangeConfig,\r\n 'minecraft:water_lake': ChanceConfig\r\n }\r\n }, { context: 'decorator', category: 'predicate' })\r\n }, { context: 'decorator', category: 'predicate' }));\r\n}\r\nexports.initDecoratorSchemas = initDecoratorSchemas;\r\n","\"use strict\";\r\nObject.defineProperty(exports, \"__esModule\", { value: true });\r\nexports.initProcessorListSchemas = void 0;\r\nconst core_1 = require(\"@mcschema/core\");\r\nfunction initProcessorListSchemas(schemas, collections) {\r\n const Reference = core_1.Reference.bind(undefined, schemas);\r\n const StringNode = core_1.StringNode.bind(undefined, collections);\r\n schemas.register('processor_list', core_1.Mod(core_1.ObjectNode({\r\n processors: core_1.ListNode(Reference('processor'))\r\n }, { context: 'processor_list' }), {\r\n default: () => ({\r\n processors: [{\r\n processor_type: 'minecraft:rule',\r\n rules: [{\r\n location_predicate: {\r\n predicate_type: 'minecraft:always_true'\r\n },\r\n input_predicate: {\r\n predicate_type: 'minecraft:always_true'\r\n }\r\n }]\r\n }]\r\n })\r\n }));\r\n schemas.register('processor', core_1.Mod(core_1.ObjectNode({\r\n processor_type: StringNode({ validator: 'resource', params: { pool: 'worldgen/structure_processor' } }),\r\n [core_1.Switch]: [{ push: 'processor_type' }],\r\n [core_1.Case]: {\r\n 'minecraft:block_age': {\r\n mossiness: core_1.NumberNode()\r\n },\r\n 'minecraft:block_ignore': {\r\n blocks: core_1.ListNode(Reference('block_state'))\r\n },\r\n 'minecraft:block_rot': {\r\n integrity: core_1.NumberNode({ min: 0, max: 1 })\r\n },\r\n 'minecraft:gravity': {\r\n heightmap: StringNode({ enum: 'heightmap_type' }),\r\n offset: core_1.NumberNode({ integer: true })\r\n },\r\n 'minecraft:rule': {\r\n rules: core_1.ListNode(Reference('processor_rule'))\r\n }\r\n }\r\n }, { category: 'function', context: 'processor' }), {\r\n default: () => ({\r\n processor_type: 'minecraft:rule',\r\n rules: [{\r\n location_predicate: {\r\n predicate_type: 'minecraft:always_true'\r\n },\r\n input_predicate: {\r\n predicate_type: 'minecraft:always_true'\r\n }\r\n }]\r\n })\r\n }));\r\n schemas.register('processor_rule', core_1.Mod(core_1.ObjectNode({\r\n position_predicate: core_1.Opt(Reference('pos_rule_test')),\r\n location_predicate: Reference('rule_test'),\r\n input_predicate: Reference('rule_test'),\r\n output_state: Reference('block_state'),\r\n output_nbt: core_1.Opt(StringNode({ validator: 'nbt', params: { registry: { category: 'minecraft:block' } } }))\r\n }, { category: 'predicate', context: 'processor_rule' }), {\r\n default: () => ({\r\n location_predicate: {\r\n predicate_type: 'minecraft:always_true'\r\n },\r\n input_predicate: {\r\n predicate_type: 'minecraft:always_true'\r\n }\r\n })\r\n }));\r\n const posTestFields = {\r\n min_dist: core_1.NumberNode({ min: 0, max: 255, integer: true }),\r\n max_dist: core_1.NumberNode({ min: 0, max: 255, integer: true }),\r\n min_chance: core_1.NumberNode({ min: 0, max: 1 }),\r\n max_chance: core_1.NumberNode({ min: 0, max: 1 })\r\n };\r\n schemas.register('pos_rule_test', core_1.ObjectNode({\r\n predicate_type: StringNode({ validator: 'resource', params: { pool: 'pos_rule_test' } }),\r\n [core_1.Switch]: [{ push: 'predicate_type' }],\r\n [core_1.Case]: {\r\n 'minecraft:axis_aligned_linear_pos': {\r\n axis: StringNode({ enum: ['x', 'y', 'z'] }),\r\n ...posTestFields\r\n },\r\n 'minecraft:linear_pos': posTestFields\r\n }\r\n }, { context: 'pos_rule_test', disableSwitchContext: true }));\r\n schemas.register('rule_test', core_1.ObjectNode({\r\n predicate_type: StringNode({ validator: 'resource', params: { pool: 'rule_test' } }),\r\n [core_1.Switch]: [{ push: 'predicate_type' }],\r\n [core_1.Case]: {\r\n 'minecraft:block_match': {\r\n block: StringNode({ validator: 'resource', params: { pool: 'block' } })\r\n },\r\n 'minecraft:blockstate_match': {\r\n block_state: Reference('block_state')\r\n },\r\n 'minecraft:random_block_match': {\r\n block: StringNode({ validator: 'resource', params: { pool: 'block' } }),\r\n probability: core_1.NumberNode({ min: 0, max: 1 })\r\n },\r\n 'minecraft:random_blockstate_match': {\r\n block_state: Reference('block_state'),\r\n probability: core_1.NumberNode({ min: 0, max: 1 })\r\n },\r\n 'minecraft:tag_match': {\r\n tag: StringNode({ validator: 'resource', params: { pool: '$tag/block' } })\r\n }\r\n }\r\n }, { context: 'rule_test', disableSwitchContext: true }));\r\n}\r\nexports.initProcessorListSchemas = initProcessorListSchemas;\r\n","\"use strict\";\r\nObject.defineProperty(exports, \"__esModule\", { value: true });\r\nexports.initFeatureSchemas = void 0;\r\nconst core_1 = require(\"@mcschema/core\");\r\nconst Common_1 = require(\"../Common\");\r\nrequire(\"./Decorator\");\r\nrequire(\"./ProcessorList\");\r\nfunction initFeatureSchemas(schemas, collections) {\r\n const Reference = core_1.Reference.bind(undefined, schemas);\r\n const StringNode = core_1.StringNode.bind(undefined, collections);\r\n const RandomPatchConfig = {\r\n can_replace: core_1.BooleanNode(),\r\n project: core_1.BooleanNode(),\r\n need_water: core_1.BooleanNode(),\r\n xspread: core_1.NumberNode({ integer: true }),\r\n yspread: core_1.NumberNode({ integer: true }),\r\n zspread: core_1.NumberNode({ integer: true }),\r\n tries: core_1.NumberNode({ integer: true }),\r\n state_provider: Reference('block_state_provider'),\r\n block_placer: Reference('block_placer'),\r\n whitelist: core_1.ListNode(Reference('block_state')),\r\n blacklist: core_1.ListNode(Reference('block_state'))\r\n };\r\n const DiskConfig = {\r\n state: Reference('block_state'),\r\n radius: Common_1.UniformInt({ min: 0, max: 4, maxSpread: 4 }),\r\n half_height: core_1.NumberNode({ integer: true, min: 0, max: 4 }),\r\n targets: core_1.ListNode(Reference('block_state'))\r\n };\r\n const HugeMushroomConfig = {\r\n cap_provider: Reference('block_state_provider'),\r\n stem_provider: Reference('block_state_provider'),\r\n foliage_radius: core_1.Opt(core_1.NumberNode({ integer: true }))\r\n };\r\n const OreConfig = {\r\n state: Reference('block_state'),\r\n size: core_1.NumberNode({ integer: true, min: 0, max: 64 }),\r\n target: Reference('rule_test')\r\n };\r\n const CountConfig = {\r\n count: Common_1.UniformInt({ min: -10, max: 128, maxSpread: 128 })\r\n };\r\n const Feature = core_1.ChoiceNode([\r\n {\r\n type: 'string',\r\n node: StringNode({ validator: 'resource', params: { pool: '$worldgen/configured_feature' } })\r\n },\r\n {\r\n type: 'object',\r\n node: Reference('configured_feature')\r\n }\r\n ], { choiceContext: 'feature' });\r\n schemas.register('configured_feature', core_1.Mod(core_1.ObjectNode({\r\n type: StringNode({ validator: 'resource', params: { pool: 'worldgen/feature' } }),\r\n config: core_1.ObjectNode({\r\n [core_1.Switch]: ['pop', { push: 'type' }],\r\n [core_1.Case]: {\r\n 'minecraft:bamboo': {\r\n probability: core_1.NumberNode({ min: 0, max: 1 })\r\n },\r\n 'minecraft:basalt_columns': {\r\n reach: Common_1.UniformInt({ min: 0, max: 2, maxSpread: 1 }),\r\n height: Common_1.UniformInt({ min: 1, max: 5, maxSpread: 5 })\r\n },\r\n 'minecraft:block_pile': {\r\n state_provider: Reference('block_state_provider')\r\n },\r\n 'minecraft:decorated': {\r\n decorator: Reference('configured_decorator'),\r\n feature: Feature\r\n },\r\n 'minecraft:delta_feature': {\r\n contents: Reference('block_state'),\r\n rim: Reference('block_state'),\r\n size: Common_1.UniformInt({ min: 0, max: 8, maxSpread: 8 }),\r\n rim_size: Common_1.UniformInt({ min: 0, max: 8, maxSpread: 8 })\r\n },\r\n 'minecraft:disk': DiskConfig,\r\n 'minecraft:emerald_ore': {\r\n state: Reference('block_state'),\r\n target: Reference('block_state')\r\n },\r\n 'minecraft:end_gateway': {\r\n exact: core_1.BooleanNode(),\r\n exit: core_1.Opt(Reference('block_pos'))\r\n },\r\n 'minecraft:end_spike': {\r\n crystal_invulnerable: core_1.Opt(core_1.BooleanNode()),\r\n crystal_beam_target: core_1.Opt(Reference('block_pos')),\r\n spikes: core_1.ListNode(core_1.ObjectNode({\r\n centerX: core_1.Opt(core_1.NumberNode({ integer: true })),\r\n centerZ: core_1.Opt(core_1.NumberNode({ integer: true })),\r\n radius: core_1.Opt(core_1.NumberNode({ integer: true })),\r\n height: core_1.Opt(core_1.NumberNode({ integer: true })),\r\n guarded: core_1.Opt(core_1.BooleanNode())\r\n }))\r\n },\r\n 'minecraft:fill_layer': {\r\n state: Reference('block_state'),\r\n height: core_1.NumberNode({ integer: true, min: 0, max: 255 })\r\n },\r\n 'minecraft:flower': RandomPatchConfig,\r\n 'minecraft:forest_rock': {\r\n state: Reference('block_state')\r\n },\r\n 'minecraft:huge_brown_mushroom': HugeMushroomConfig,\r\n 'minecraft:huge_fungus': {\r\n hat_state: Reference('block_state'),\r\n decor_state: Reference('block_state'),\r\n stem_state: Reference('block_state'),\r\n valid_base_block: Reference('block_state'),\r\n planted: core_1.Opt(core_1.BooleanNode())\r\n },\r\n 'minecraft:huge_red_mushroom': HugeMushroomConfig,\r\n 'minecraft:ice_patch': DiskConfig,\r\n 'minecraft:iceberg': {\r\n state: Reference('block_state')\r\n },\r\n 'minecraft:lake': {\r\n state: Reference('block_state')\r\n },\r\n 'minecraft:nether_forest_vegetation': {\r\n state_provider: Reference('block_state_provider')\r\n },\r\n 'minecraft:netherrack_replace_blobs': {\r\n state: Reference('block_state'),\r\n target: Reference('block_state'),\r\n radius: Common_1.UniformInt()\r\n },\r\n 'minecraft:no_bonemeal_flower': RandomPatchConfig,\r\n 'minecraft:no_surface_ore': OreConfig,\r\n 'minecraft:ore': OreConfig,\r\n 'minecraft:random_patch': RandomPatchConfig,\r\n 'minecraft:random_boolean_selector': {\r\n feature_false: Feature,\r\n feature_true: Feature\r\n },\r\n 'minecraft:random_selector': {\r\n features: core_1.ListNode(core_1.ObjectNode({\r\n chance: core_1.NumberNode({ min: 0, max: 1 }),\r\n feature: Feature\r\n })),\r\n default: Feature\r\n },\r\n 'minecraft:sea_pickle': CountConfig,\r\n 'minecraft:seagrass': {\r\n probability: core_1.NumberNode({ min: 0, max: 1 })\r\n },\r\n 'minecraft:simple_block': {\r\n to_place: Reference('block_state'),\r\n place_on: core_1.ListNode(Reference('block_state')),\r\n place_in: core_1.ListNode(Reference('block_state')),\r\n place_under: core_1.ListNode(Reference('block_state'))\r\n },\r\n 'minecraft:simple_random_selector': {\r\n features: core_1.ListNode(Feature)\r\n },\r\n 'minecraft:spring_feature': {\r\n state: Reference('fluid_state'),\r\n rock_count: core_1.NumberNode({ integer: true }),\r\n hole_count: core_1.NumberNode({ integer: true }),\r\n requires_block_below: core_1.BooleanNode(),\r\n valid_blocks: core_1.ListNode(StringNode({ validator: 'resource', params: { pool: 'block' } }))\r\n },\r\n 'minecraft:tree': {\r\n max_water_depth: core_1.NumberNode({ integer: true }),\r\n ignore_vines: core_1.BooleanNode(),\r\n heightmap: StringNode({ enum: 'heightmap_type' }),\r\n minimum_size: Reference('feature_size'),\r\n trunk_provider: Reference('block_state_provider'),\r\n leaves_provider: Reference('block_state_provider'),\r\n trunk_placer: core_1.ObjectNode({\r\n type: StringNode({ validator: 'resource', params: { pool: 'worldgen/trunk_placer_type' } }),\r\n base_height: core_1.NumberNode({ integer: true, min: 0, max: 32 }),\r\n height_rand_a: core_1.NumberNode({ integer: true, min: 0, max: 24 }),\r\n height_rand_b: core_1.NumberNode({ integer: true, min: 0, max: 24 })\r\n }, { context: 'trunk_placer' }),\r\n foliage_placer: core_1.ObjectNode({\r\n type: StringNode({ validator: 'resource', params: { pool: 'worldgen/foliage_placer_type' } }),\r\n radius: Common_1.UniformInt({ min: 0, max: 8, maxSpread: 8 }),\r\n offset: Common_1.UniformInt({ min: 0, max: 8, maxSpread: 8 }),\r\n [core_1.Switch]: [{ push: 'type' }],\r\n [core_1.Case]: {\r\n 'minecraft:blob_foliage_placer': {\r\n height: core_1.NumberNode({ integer: true, min: 0, max: 16 })\r\n },\r\n 'minecraft:bush_foliage_placer': {\r\n height: core_1.NumberNode({ integer: true, min: 0, max: 16 })\r\n },\r\n 'minecraft:fancy_foliage_placer': {\r\n height: core_1.NumberNode({ integer: true, min: 0, max: 16 })\r\n },\r\n 'minecraft:jungle_foliage_placer': {\r\n height: core_1.NumberNode({ integer: true, min: 0, max: 16 })\r\n },\r\n 'minecraft:mega_pine_foliage_placer': {\r\n crown_height: Common_1.UniformInt({ min: 0, max: 16, maxSpread: 8 })\r\n },\r\n 'minecraft:pine_foliage_placer': {\r\n height: Common_1.UniformInt({ min: 0, max: 16, maxSpread: 8 })\r\n },\r\n 'minecraft:spruce_foliage_placer': {\r\n trunk_height: Common_1.UniformInt({ min: 0, max: 16, maxSpread: 8 })\r\n }\r\n }\r\n }, { context: 'foliage_placer', disableSwitchContext: true }),\r\n decorators: core_1.ListNode(core_1.ObjectNode({\r\n type: StringNode({ validator: 'resource', params: { pool: 'worldgen/tree_decorator_type' } }),\r\n [core_1.Switch]: [{ push: 'type' }],\r\n [core_1.Case]: {\r\n 'minecraft:alter_ground': {\r\n provider: Reference('block_state_provider')\r\n },\r\n 'minecraft:beehive': {\r\n probability: core_1.NumberNode({ min: 0, max: 1 })\r\n },\r\n 'minecraft:cocoa': {\r\n probability: core_1.NumberNode({ min: 0, max: 1 })\r\n }\r\n }\r\n }, { context: 'tree_decorator' }))\r\n }\r\n }\r\n }, { context: 'feature' })\r\n }, { context: 'feature' }), {\r\n default: () => ({\r\n type: 'minecraft:decorated',\r\n config: {\r\n decorator: {\r\n type: 'minecraft:count',\r\n config: {\r\n count: 4\r\n }\r\n },\r\n feature: {\r\n type: 'minecraft:tree',\r\n config: {\r\n max_water_depth: 0,\r\n ignore_vines: true,\r\n minimum_size: {},\r\n trunk_placer: {\r\n base_height: 5,\r\n height_rand_a: 2,\r\n height_rand_b: 0\r\n },\r\n foliage_placer: {\r\n radius: 2,\r\n offset: 0,\r\n height: 3\r\n }\r\n }\r\n }\r\n }\r\n })\r\n }));\r\n schemas.register('feature_size', core_1.Mod(core_1.ObjectNode({\r\n type: StringNode({ validator: 'resource', params: { pool: 'worldgen/feature_size_type' } }),\r\n min_clipped_height: core_1.Opt(core_1.NumberNode({ min: 0, max: 80 })),\r\n [core_1.Switch]: [{ push: 'type' }],\r\n [core_1.Case]: {\r\n 'minecraft:two_layers_feature_size': {\r\n limit: core_1.Opt(core_1.NumberNode({ integer: true, min: 0, max: 81 })),\r\n lower_size: core_1.Opt(core_1.NumberNode({ integer: true, min: 0, max: 16 })),\r\n upper_size: core_1.Opt(core_1.NumberNode({ integer: true, min: 0, max: 16 }))\r\n },\r\n 'minecraft:three_layers_feature_size': {\r\n limit: core_1.Opt(core_1.NumberNode({ integer: true, min: 0, max: 80 })),\r\n upper_limit: core_1.Opt(core_1.NumberNode({ integer: true, min: 0, max: 80 })),\r\n lower_size: core_1.Opt(core_1.NumberNode({ integer: true, min: 0, max: 16 })),\r\n middle_size: core_1.Opt(core_1.NumberNode({ integer: true, min: 0, max: 16 })),\r\n upper_size: core_1.Opt(core_1.NumberNode({ integer: true, min: 0, max: 16 }))\r\n }\r\n }\r\n }, { disableSwitchContext: true }), {\r\n default: () => ({\r\n type: 'minecraft:two_layers_feature_size'\r\n })\r\n }));\r\n schemas.register('block_state_provider', core_1.Mod(core_1.ObjectNode({\r\n type: StringNode({ validator: 'resource', params: { pool: 'worldgen/block_state_provider_type' } }),\r\n [core_1.Switch]: [{ push: 'type' }],\r\n [core_1.Case]: {\r\n 'minecraft:rotated_block_provider': {\r\n state: Reference('block_state')\r\n },\r\n 'minecraft:simple_state_provider': {\r\n state: Reference('block_state')\r\n },\r\n 'minecraft:weighted_state_provider': {\r\n entries: core_1.ListNode(core_1.Mod(core_1.ObjectNode({\r\n weight: core_1.NumberNode({ integer: true, min: 1 }),\r\n data: Reference('block_state')\r\n }), {\r\n default: () => ({\r\n data: {}\r\n })\r\n }))\r\n }\r\n }\r\n }, { context: 'block_state_provider' }), {\r\n default: () => ({\r\n type: 'minecraft:simple_state_provider'\r\n })\r\n }));\r\n schemas.register('block_placer', core_1.Mod(core_1.ObjectNode({\r\n type: StringNode({ validator: 'resource', params: { pool: 'worldgen/block_placer_type' } }),\r\n [core_1.Switch]: [{ push: 'type' }],\r\n [core_1.Case]: {\r\n 'minecraft:column_placer': {\r\n min_size: core_1.NumberNode({ integer: true }),\r\n extra_size: core_1.NumberNode({ integer: true })\r\n }\r\n }\r\n }, { context: 'block_placer' }), {\r\n default: () => ({\r\n type: 'minecraft:simple_block_placer'\r\n })\r\n }));\r\n}\r\nexports.initFeatureSchemas = initFeatureSchemas;\r\n","\"use strict\";\r\nObject.defineProperty(exports, \"__esModule\", { value: true });\r\nexports.initNoiseSettingsSchemas = void 0;\r\nconst core_1 = require(\"@mcschema/core\");\r\nconst Common_1 = require(\"../Common\");\r\nfunction initNoiseSettingsSchemas(schemas, collections) {\r\n const Reference = core_1.Reference.bind(undefined, schemas);\r\n const StringNode = core_1.StringNode.bind(undefined, collections);\r\n schemas.register('noise_settings', core_1.Mod(core_1.ObjectNode({\r\n name: core_1.Mod(StringNode({ validator: 'resource', params: { pool: '$worldgen/noise_settings', isDefinition: true } }), {\r\n enabled: (path) => path.getArray().length > 0\r\n }),\r\n bedrock_roof_position: core_1.NumberNode({ integer: true }),\r\n bedrock_floor_position: core_1.NumberNode({ integer: true }),\r\n sea_level: core_1.NumberNode({ integer: true }),\r\n disable_mob_generation: core_1.BooleanNode(),\r\n default_block: Reference('block_state'),\r\n default_fluid: Reference('block_state'),\r\n noise: core_1.ObjectNode({\r\n height: core_1.NumberNode({ integer: true }),\r\n density_factor: core_1.NumberNode(),\r\n density_offset: core_1.NumberNode(),\r\n size_horizontal: core_1.NumberNode({ integer: true }),\r\n size_vertical: core_1.NumberNode({ integer: true }),\r\n simplex_surface_noise: core_1.BooleanNode(),\r\n random_density_offset: core_1.Opt(core_1.BooleanNode()),\r\n island_noise_override: core_1.Opt(core_1.BooleanNode()),\r\n amplified: core_1.Opt(core_1.BooleanNode()),\r\n sampling: core_1.ObjectNode({\r\n xz_scale: core_1.NumberNode(),\r\n y_scale: core_1.NumberNode(),\r\n xz_factor: core_1.NumberNode(),\r\n y_factor: core_1.NumberNode()\r\n }),\r\n bottom_slide: core_1.ObjectNode({\r\n target: core_1.NumberNode({ integer: true }),\r\n size: core_1.NumberNode({ integer: true }),\r\n offset: core_1.NumberNode({ integer: true })\r\n }),\r\n top_slide: core_1.ObjectNode({\r\n target: core_1.NumberNode({ integer: true }),\r\n size: core_1.NumberNode({ integer: true }),\r\n offset: core_1.NumberNode({ integer: true })\r\n })\r\n }),\r\n structures: Reference('generator_structures')\r\n }, { context: 'noise_settings' }), {\r\n default: () => Common_1.DefaultNoiseSettings\r\n }));\r\n schemas.register('generator_structures', core_1.ObjectNode({\r\n stronghold: core_1.Opt(core_1.ObjectNode({\r\n distance: core_1.NumberNode({ integer: true, min: 0, max: 1023 }),\r\n spread: core_1.NumberNode({ integer: true, min: 0, max: 1023 }),\r\n count: core_1.NumberNode({ integer: true, min: 1, max: 4095 })\r\n })),\r\n structures: core_1.MapNode(StringNode({ validator: 'resource', params: { pool: 'worldgen/structure_feature' } }), core_1.Mod(core_1.ObjectNode({\r\n spacing: core_1.NumberNode({ integer: true, min: 0, max: 4096 }),\r\n separation: core_1.Mod(core_1.NumberNode({ integer: true, min: 0, max: 4096 }), (node) => ({\r\n validate: (path, value, errors, options) => {\r\n if (path.pop().push('spacing').get() <= value) {\r\n errors.add(path, 'error.separation_smaller_spacing');\r\n }\r\n return node.validate(path, value, errors, options);\r\n }\r\n })),\r\n salt: core_1.NumberNode({ integer: true, min: 0 })\r\n }, { context: 'generator_structure' }), {\r\n default: () => ({\r\n spacing: 10,\r\n separation: 5,\r\n salt: 0\r\n })\r\n }))\r\n }));\r\n schemas.register('generator_layer', core_1.Mod(core_1.ObjectNode({\r\n block: StringNode({ validator: 'resource', params: { pool: 'block' } }),\r\n height: core_1.NumberNode({ integer: true, min: 1 })\r\n }), {\r\n default: () => ({\r\n block: 'minecraft:stone',\r\n height: 1\r\n })\r\n }));\r\n}\r\nexports.initNoiseSettingsSchemas = initNoiseSettingsSchemas;\r\n","\"use strict\";\r\nObject.defineProperty(exports, \"__esModule\", { value: true });\r\nexports.initStructureFeatureSchemas = void 0;\r\nconst core_1 = require(\"@mcschema/core\");\r\nfunction initStructureFeatureSchemas(schemas, collections) {\r\n const StringNode = core_1.StringNode.bind(undefined, collections);\r\n const templatePoolConfig = {\r\n start_pool: StringNode({ validator: 'resource', params: { pool: '$worldgen/template_pool' } }),\r\n size: core_1.NumberNode({ integer: true })\r\n };\r\n schemas.register('configured_structure_feature', core_1.Mod(core_1.ObjectNode({\r\n type: StringNode({ validator: 'resource', params: { pool: 'worldgen/structure_feature' } }),\r\n config: core_1.ObjectNode({\r\n [core_1.Switch]: ['pop', { push: 'type' }],\r\n [core_1.Case]: {\r\n 'minecraft:bastion_remnant': templatePoolConfig,\r\n 'minecraft:buried_treasure': {\r\n probability: core_1.NumberNode({ min: 0, max: 1 })\r\n },\r\n 'minecraft:mineshaft': {\r\n type: StringNode({ enum: ['normal', 'mesa'] }),\r\n probability: core_1.NumberNode({ min: 0, max: 1 })\r\n },\r\n 'minecraft:ocean_ruin': {\r\n biome_temp: StringNode({ enum: ['cold', 'warm'] }),\r\n large_probability: core_1.NumberNode({ min: 0, max: 1 }),\r\n cluster_probability: core_1.NumberNode({ min: 0, max: 1 })\r\n },\r\n 'minecraft:pillager_outpost': templatePoolConfig,\r\n 'minecraft:ruined_portal': {\r\n portal_type: StringNode({ enum: ['standard', 'desert', 'jungle', 'mountain', 'nether', 'ocean', 'swamp'] })\r\n },\r\n 'minecraft:shipwreck': {\r\n is_beached: core_1.Opt(core_1.BooleanNode())\r\n },\r\n 'minecraft:village': templatePoolConfig\r\n }\r\n }, { context: 'structure_feature', disableSwitchContext: true })\r\n }, { context: 'structure_feature' }), {\r\n default: () => ({\r\n type: 'minecraft:bastion_remnant',\r\n config: {\r\n start_pool: 'minecraft:bastion/starts',\r\n size: 6\r\n }\r\n })\r\n }));\r\n}\r\nexports.initStructureFeatureSchemas = initStructureFeatureSchemas;\r\n","\"use strict\";\r\nObject.defineProperty(exports, \"__esModule\", { value: true });\r\nexports.initSurfaceBuilderSchemas = void 0;\r\nconst core_1 = require(\"@mcschema/core\");\r\nfunction initSurfaceBuilderSchemas(schemas, collections) {\r\n const StringNode = core_1.StringNode.bind(undefined, collections);\r\n const Reference = core_1.Reference.bind(undefined, schemas);\r\n schemas.register('configured_surface_builder', core_1.Mod(core_1.ObjectNode({\r\n type: StringNode({ validator: 'resource', params: { pool: 'worldgen/surface_builder' } }),\r\n config: core_1.ObjectNode({\r\n top_material: Reference('block_state'),\r\n under_material: Reference('block_state'),\r\n underwater_material: Reference('block_state'),\r\n }, { context: 'surface_builder' })\r\n }, { context: 'surface_builder' }), {\r\n default: () => ({\r\n type: 'minecraft:default',\r\n config: {\r\n top_material: {\r\n Name: 'minecraft:grass_block',\r\n Properties: {\r\n snowy: 'false'\r\n }\r\n },\r\n under_material: {\r\n Name: 'minecraft:dirt'\r\n },\r\n underwater_material: {\r\n Name: 'minecraft:gravel'\r\n }\r\n }\r\n })\r\n }));\r\n}\r\nexports.initSurfaceBuilderSchemas = initSurfaceBuilderSchemas;\r\n","\"use strict\";\r\nObject.defineProperty(exports, \"__esModule\", { value: true });\r\nexports.initTemplatePoolSchemas = void 0;\r\nconst core_1 = require(\"@mcschema/core\");\r\nrequire(\"./ProcessorList\");\r\nfunction initTemplatePoolSchemas(schemas, collections) {\r\n const Reference = core_1.Reference.bind(undefined, schemas);\r\n const StringNode = core_1.StringNode.bind(undefined, collections);\r\n const Processors = core_1.ChoiceNode([\r\n {\r\n type: 'string',\r\n node: StringNode({ validator: 'resource', params: { pool: '$worldgen/processor_list' } }),\r\n change: v => undefined\r\n },\r\n {\r\n type: 'object',\r\n node: Reference('processor_list'),\r\n change: v => ({\r\n processors: [{\r\n \"processor_type\": \"minecraft:nop\"\r\n }]\r\n })\r\n }\r\n ]);\r\n schemas.register('template_pool', core_1.Mod(core_1.ObjectNode({\r\n name: StringNode(),\r\n fallback: StringNode(),\r\n elements: core_1.ListNode(Reference('template_weighted_element'))\r\n }, { context: 'template_pool' }), {\r\n default: () => ({\r\n fallback: 'minecraft:empty',\r\n elements: [\r\n {\r\n weight: 1,\r\n element: {\r\n element_type: 'minecraft:single_pool_element',\r\n projection: 'rigid',\r\n processors: 'minecraft:empty'\r\n }\r\n }\r\n ]\r\n })\r\n }));\r\n schemas.register('template_weighted_element', core_1.Mod(core_1.ObjectNode({\r\n weight: core_1.NumberNode({ integer: true, min: 1 }),\r\n element: Reference('template_element')\r\n }, { category: 'pool' }), {\r\n default: () => ({\r\n weight: 1,\r\n element: {\r\n element_type: 'minecraft:single_pool_element',\r\n projection: 'rigid',\r\n processors: 'minecraft:empty'\r\n }\r\n })\r\n }));\r\n schemas.register('template_element', core_1.Mod(core_1.ObjectNode({\r\n element_type: StringNode({ validator: 'resource', params: { pool: 'worldgen/structure_pool_element' } }),\r\n projection: StringNode({ enum: ['rigid', 'terrain_matching'] }),\r\n [core_1.Switch]: [{ push: 'element_type' }],\r\n [core_1.Case]: {\r\n 'minecraft:feature_pool_element': {\r\n feature: StringNode({ validator: 'resource', params: { pool: '$worldgen/configured_feature' } })\r\n },\r\n 'minecraft:legacy_single_pool_element': {\r\n location: StringNode({ validator: 'resource', params: { pool: '$structure' } }),\r\n processors: Processors\r\n },\r\n 'minecraft:list_pool_element': {\r\n elements: core_1.ListNode(Reference('template_element'))\r\n },\r\n 'minecraft:single_pool_element': {\r\n location: StringNode({ validator: 'resource', params: { pool: '$structure' } }),\r\n processors: Processors\r\n }\r\n }\r\n }, { context: 'template_element', disableSwitchContext: true }), {\r\n default: () => ({\r\n element_type: 'minecraft:single_pool_element',\r\n projection: 'rigid',\r\n processors: 'minecraft:empty'\r\n })\r\n }));\r\n}\r\nexports.initTemplatePoolSchemas = initTemplatePoolSchemas;\r\n","\"use strict\";\r\nObject.defineProperty(exports, \"__esModule\", { value: true });\r\nexports.initWorldgenSchemas = void 0;\r\nconst Biome_1 = require(\"./Biome\");\r\nconst Carver_1 = require(\"./Carver\");\r\nconst Decorator_1 = require(\"./Decorator\");\r\nconst Feature_1 = require(\"./Feature\");\r\nconst NoiseSettings_1 = require(\"./NoiseSettings\");\r\nconst ProcessorList_1 = require(\"./ProcessorList\");\r\nconst StructureFeature_1 = require(\"./StructureFeature\");\r\nconst SurfaceBuilder_1 = require(\"./SurfaceBuilder\");\r\nconst TemplatePool_1 = require(\"./TemplatePool\");\r\nfunction initWorldgenSchemas(schemas, collections) {\r\n Biome_1.initBiomeSchemas(schemas, collections);\r\n Carver_1.initCarverSchemas(schemas, collections);\r\n Decorator_1.initDecoratorSchemas(schemas, collections);\r\n Feature_1.initFeatureSchemas(schemas, collections);\r\n NoiseSettings_1.initNoiseSettingsSchemas(schemas, collections);\r\n ProcessorList_1.initProcessorListSchemas(schemas, collections);\r\n StructureFeature_1.initStructureFeatureSchemas(schemas, collections);\r\n SurfaceBuilder_1.initSurfaceBuilderSchemas(schemas, collections);\r\n TemplatePool_1.initTemplatePoolSchemas(schemas, collections);\r\n}\r\nexports.initWorldgenSchemas = initWorldgenSchemas;\r\n","\"use strict\";\r\nObject.defineProperty(exports, \"__esModule\", { value: true });\r\nexports.initWorldSettingsSchemas = void 0;\r\nconst core_1 = require(\"@mcschema/core\");\r\nfunction initWorldSettingsSchemas(schemas, collections) {\r\n const Reference = core_1.Reference.bind(undefined, schemas);\r\n const StringNode = core_1.StringNode.bind(undefined, collections);\r\n schemas.register('world_settings', core_1.Mod(core_1.ObjectNode({\r\n generate_features: core_1.BooleanNode(),\r\n bonus_chest: core_1.BooleanNode(),\r\n seed: core_1.NumberNode({ integer: true }),\r\n dimensions: core_1.MapNode(StringNode({ validator: 'resource', params: { pool: '$dimension' } }), Reference('dimension'))\r\n }, { context: 'world_settings' }), {\r\n default: () => {\r\n const seed = Math.floor(Math.random() * (4294967296)) - 2147483648;\r\n return {\r\n generate_features: true,\r\n bonus_chest: false,\r\n seed,\r\n dimensions: {\r\n 'minecraft:overworld': {\r\n type: 'minecraft:overworld',\r\n generator: {\r\n type: 'minecraft:noise',\r\n seed,\r\n biome_source: {\r\n type: 'minecraft:vanilla_layered',\r\n seed\r\n },\r\n settings: 'minecraft:overworld',\r\n }\r\n },\r\n 'minecraft:the_nether': {\r\n type: 'minecraft:the_nether',\r\n generator: {\r\n type: 'minecraft:noise',\r\n seed,\r\n biome_source: {\r\n type: 'minecraft:multi_noise',\r\n seed,\r\n humidity_noise: {\r\n firstOctave: -7,\r\n amplitudes: [1.0, 1.0]\r\n },\r\n altitude_noise: {\r\n firstOctave: -7,\r\n amplitudes: [1.0, 1.0]\r\n },\r\n weirdness_noise: {\r\n firstOctave: -7,\r\n amplitudes: [1.0, 1.0]\r\n },\r\n temperature_noise: {\r\n firstOctave: -7,\r\n amplitudes: [1.0, 1.0]\r\n },\r\n biomes: [\r\n {\r\n parameters: { altitude: 0.0, weirdness: 0.0, offset: 0.0, temperature: 0.0, humidity: 0.0 },\r\n biome: 'minecraft:nether_wastes'\r\n },\r\n {\r\n parameters: { altitude: 0.0, weirdness: 0.0, offset: 0.0, temperature: 0.0, humidity: -0.5 },\r\n biome: 'minecraft:soul_sand_valley'\r\n },\r\n {\r\n parameters: { altitude: 0.0, weirdness: 0.0, offset: 0.0, temperature: 0.4, humidity: 0.0 },\r\n biome: 'minecraft:crimson_forest'\r\n },\r\n {\r\n parameters: { altitude: 0.0, weirdness: 0.0, offset: 0.375, temperature: 0.0, humidity: 0.5 },\r\n biome: 'minecraft:warped_forest'\r\n },\r\n {\r\n parameters: { altitude: 0.0, weirdness: 0.0, offset: 0.175, temperature: -0.5, humidity: 0.0 },\r\n biome: 'minecraft:basalt_deltas'\r\n }\r\n ]\r\n },\r\n settings: 'minecraft:nether'\r\n }\r\n },\r\n 'minecraft:the_end': {\r\n type: \"minecraft:the_end\",\r\n generator: {\r\n type: \"minecraft:noise\",\r\n seed,\r\n biome_source: {\r\n type: \"minecraft:the_end\",\r\n seed\r\n },\r\n settings: \"minecraft:end\"\r\n }\r\n }\r\n }\r\n };\r\n }\r\n }));\r\n}\r\nexports.initWorldSettingsSchemas = initWorldSettingsSchemas;\r\n","\"use strict\";\r\nObject.defineProperty(exports, \"__esModule\", { value: true });\r\nexports.initSchemas = void 0;\r\nconst Advancement_1 = require(\"./Advancement\");\r\nconst Common_1 = require(\"./Common\");\r\nconst Condition_1 = require(\"./Condition\");\r\nconst Dimension_1 = require(\"./Dimension\");\r\nconst DimensionType_1 = require(\"./DimensionType\");\r\nconst LootTable_1 = require(\"./LootTable\");\r\nconst PackMcmeta_1 = require(\"./PackMcmeta\");\r\nconst Predicates_1 = require(\"./Predicates\");\r\nconst Recipe_1 = require(\"./Recipe\");\r\nconst Tags_1 = require(\"./Tags\");\r\nconst TextComponent_1 = require(\"./TextComponent\");\r\nconst worldgen_1 = require(\"./worldgen\");\r\nconst WorldSettings_1 = require(\"./WorldSettings\");\r\nfunction initSchemas(schemas, collections) {\r\n // `Common.ts` is the only file that has exports. It should be initialized first. \r\n Common_1.initCommonSchemas(schemas, collections);\r\n Advancement_1.initAdvancementSchemas(schemas, collections);\r\n Condition_1.initConditionSchemas(schemas, collections);\r\n DimensionType_1.initDimensionTypeSchemas(schemas, collections);\r\n Dimension_1.initDimensionSchemas(schemas, collections);\r\n LootTable_1.initLootTableSchemas(schemas, collections);\r\n PackMcmeta_1.initPackMcmetaSchemas(schemas, collections);\r\n Predicates_1.initPredicatesSchemas(schemas, collections);\r\n Recipe_1.initRecipeSchemas(schemas, collections);\r\n Tags_1.initTagsSchemas(schemas, collections);\r\n TextComponent_1.initTextComponentSchemas(schemas, collections);\r\n worldgen_1.initWorldgenSchemas(schemas, collections);\r\n WorldSettings_1.initWorldSettingsSchemas(schemas, collections);\r\n}\r\nexports.initSchemas = initSchemas;\r\n","\"use strict\";\r\nvar __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {\r\n if (k2 === undefined) k2 = k;\r\n Object.defineProperty(o, k2, { enumerable: true, get: function() { return m[k]; } });\r\n}) : (function(o, m, k, k2) {\r\n if (k2 === undefined) k2 = k;\r\n o[k2] = m[k];\r\n}));\r\nvar __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {\r\n Object.defineProperty(o, \"default\", { enumerable: true, value: v });\r\n}) : function(o, v) {\r\n o[\"default\"] = v;\r\n});\r\nvar __importStar = (this && this.__importStar) || function (mod) {\r\n if (mod && mod.__esModule) return mod;\r\n var result = {};\r\n if (mod != null) for (var k in mod) if (k !== \"default\" && Object.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);\r\n __setModuleDefault(result, mod);\r\n return result;\r\n};\r\nObject.defineProperty(exports, \"__esModule\", { value: true });\r\nexports.getSchemas = exports.getCollections = void 0;\r\nconst core_1 = require(\"@mcschema/core\");\r\nconst Collections_1 = require(\"./Collections\");\r\nconst schemas_1 = require(\"./schemas\");\r\nexports.lootContext = __importStar(require(\"./LootContext\"));\r\nfunction getCollections() {\r\n const collections = new core_1.CollectionRegistry();\r\n Collections_1.initCollections(collections);\r\n return collections;\r\n}\r\nexports.getCollections = getCollections;\r\n/**\r\n * @param collections The CollectionRegistry for this version. Note that apart from\r\n * the built-in collections, the client of this module is responsible for futhermore\r\n * adding the vanilla registries to it: the collection IDs shouldn't contain the\r\n * namespace (`minecraft:`) part, while the values within the collections should.\r\n *\r\n * @example\r\n * for (const key in VANILLA_REGISTRIES>) {\r\n * collections.register(\r\n * key.replace(/^minecraft:/, ''),\r\n * Object.keys(VANILLA_REGISTRIES[key].entries)\r\n * )\r\n * }\r\n */\r\nfunction getSchemas(collections) {\r\n const schemas = new core_1.SchemaRegistry();\r\n schemas_1.initSchemas(schemas, collections);\r\n return schemas;\r\n}\r\nexports.getSchemas = getSchemas;\r\n","\"use strict\";\r\nObject.defineProperty(exports, \"__esModule\", { value: true });\r\nexports.initCollections = void 0;\r\nfunction initCollections(collections) {\r\n collections.register('advancement_trigger', [\r\n 'minecraft:bee_nest_destroyed',\r\n 'minecraft:bred_animals',\r\n 'minecraft:brewed_potion',\r\n 'minecraft:changed_dimension',\r\n 'minecraft:channeled_lightning',\r\n 'minecraft:construct_beacon',\r\n 'minecraft:consume_item',\r\n 'minecraft:cured_zombie_villager',\r\n 'minecraft:effects_changed',\r\n 'minecraft:enchanted_item',\r\n 'minecraft:enter_block',\r\n 'minecraft:entity_hurt_player',\r\n 'minecraft:entity_killed_player',\r\n 'minecraft:filled_bucket',\r\n 'minecraft:fishing_rod_hooked',\r\n 'minecraft:hero_of_the_village',\r\n 'minecraft:impossible',\r\n 'minecraft:inventory_changed',\r\n 'minecraft:item_durability_changed',\r\n 'minecraft:item_used_on_block',\r\n 'minecraft:killed_by_crossbow',\r\n 'minecraft:levitation',\r\n 'minecraft:lightning_strike',\r\n 'minecraft:location',\r\n 'minecraft:nether_travel',\r\n 'minecraft:placed_block',\r\n 'minecraft:player_generates_container_loot',\r\n 'minecraft:player_hurt_entity',\r\n 'minecraft:player_interacted_with_entity',\r\n 'minecraft:player_killed_entity',\r\n 'minecraft:recipe_unlocked',\r\n 'minecraft:shot_crossbow',\r\n 'minecraft:slept_in_bed',\r\n 'minecraft:slide_down_block',\r\n 'minecraft:started_riding',\r\n 'minecraft:summoned_entity',\r\n 'minecraft:tame_animal',\r\n 'minecraft:target_hit',\r\n 'minecraft:tick',\r\n 'minecraft:thrown_item_picked_up_by_entity',\r\n 'minecraft:used_ender_eye',\r\n 'minecraft:used_totem',\r\n 'minecraft:using_item',\r\n 'minecraft:villager_trade',\r\n 'minecraft:voluntary_exile'\r\n ]);\r\n collections.register('dimension', [\r\n 'minecraft:overworld',\r\n 'minecraft:the_nether',\r\n 'minecraft:the_end'\r\n ]);\r\n collections.register('dimension_type', [\r\n 'minecraft:overworld',\r\n 'minecraft:the_nether',\r\n 'minecraft:the_end'\r\n ]);\r\n collections.register('keybind', [\r\n 'key.advancements',\r\n 'key.attack',\r\n 'key.back',\r\n 'key.chat',\r\n 'key.command',\r\n 'key.drop',\r\n 'key.forward',\r\n 'key.fullscreen',\r\n 'key.hotbar.1',\r\n 'key.hotbar.2',\r\n 'key.hotbar.3',\r\n 'key.hotbar.4',\r\n 'key.hotbar.5',\r\n 'key.hotbar.6',\r\n 'key.hotbar.7',\r\n 'key.hotbar.8',\r\n 'key.hotbar.9',\r\n 'key.inventory',\r\n 'key.jump',\r\n 'key.left',\r\n 'key.loadToolbarActivator',\r\n 'key.pickItem',\r\n 'key.playerlist',\r\n 'key.right',\r\n 'key.saveToolbarActivator',\r\n 'key.screenshot',\r\n 'key.smoothCamera',\r\n 'key.sneak',\r\n 'key.spectatorOutlines',\r\n 'key.sprint',\r\n 'key.swapOffhand',\r\n 'key.togglePerspective',\r\n 'key.use'\r\n ]);\r\n collections.register('slot', [\r\n 'mainhand',\r\n 'offhand',\r\n 'head',\r\n 'chest',\r\n 'legs',\r\n 'feet'\r\n ]);\r\n collections.register('gamemode', [\r\n 'survival',\r\n 'creative',\r\n 'adventure',\r\n 'spectator'\r\n ]);\r\n collections.register('worldgen/noise_settings', [\r\n 'minecraft:overworld',\r\n 'minecraft:nether',\r\n 'minecraft:end',\r\n 'minecraft:amplified',\r\n 'minecraft:caves',\r\n 'minecraft:floating_islands'\r\n ]);\r\n collections.register('entity_source', [\r\n 'this',\r\n 'killer',\r\n 'direct_killer',\r\n 'killer_player'\r\n ]);\r\n collections.register('copy_source', [\r\n 'block_entity',\r\n 'this',\r\n 'killer',\r\n 'killer_player'\r\n ]);\r\n collections.register('loot_table_apply_bonus_formula', [\r\n 'minecraft:uniform_bonus_count',\r\n 'minecraft:binomial_with_bonus_count',\r\n 'minecraft:ore_drops'\r\n ]);\r\n collections.register('map_decoration', [\r\n 'mansion',\r\n 'monument',\r\n 'player',\r\n 'frame',\r\n 'red_marker',\r\n 'blue_marker',\r\n 'target_x',\r\n 'target_point',\r\n 'player_off_map',\r\n 'player_off_limits',\r\n 'red_x',\r\n 'banner_white',\r\n 'banner_orange',\r\n 'banner_magenta',\r\n 'banner_light_blue',\r\n 'banner_yellow',\r\n 'banner_lime',\r\n 'banner_pink',\r\n 'banner_gray',\r\n 'banner_light_gray',\r\n 'banner_cyan',\r\n 'banner_purple',\r\n 'banner_blue',\r\n 'banner_brown',\r\n 'banner_green',\r\n 'banner_red',\r\n 'banner_black'\r\n ]);\r\n collections.register('map_feature', [\r\n 'bastion_remnant',\r\n 'buried_treasure',\r\n 'desert_pyramid',\r\n 'endcity',\r\n 'fortress',\r\n 'igloo',\r\n 'jungle_pyramid',\r\n 'mansion',\r\n 'mineshaft',\r\n 'monument',\r\n 'nether_fossil',\r\n 'ocean_ruin',\r\n 'pillager_outpost',\r\n 'ruined_portal',\r\n 'shipwreck',\r\n 'stronghold',\r\n 'swamp_hut',\r\n 'village'\r\n ]);\r\n collections.register('recipe_group', [\r\n 'bed',\r\n 'light_gray_dye',\r\n 'iron_ingot',\r\n 'wooden_stairs',\r\n 'black_dye',\r\n 'stained_terracotta',\r\n 'dyed_bed',\r\n 'magenta_dye',\r\n 'bark',\r\n 'rabbit_stew',\r\n 'light_blue_dye',\r\n 'wooden_fence_gate',\r\n 'planks',\r\n 'stained_glass',\r\n 'wooden_door',\r\n 'stained_glass_pane',\r\n 'wooden_fence',\r\n 'sticks',\r\n 'concrete_powder',\r\n 'wooden_pressure_plate',\r\n 'boat',\r\n 'brown_dye',\r\n 'yellow_dye',\r\n 'bonemeal',\r\n 'red_dye',\r\n 'wooden_trapdoor',\r\n 'wooden_button',\r\n 'gold_ingot',\r\n 'pink_dye',\r\n 'wooden_slab',\r\n 'orange_dye',\r\n 'carpet',\r\n 'sign',\r\n 'wool',\r\n 'sugar',\r\n 'blue_dye',\r\n 'white_dye',\r\n 'banner',\r\n 'netherite_ingot'\r\n ]);\r\n collections.register('worldgen/configured_feature', [\r\n 'minecraft:acacia',\r\n 'minecraft:bamboo_light',\r\n 'minecraft:bamboo_vegetation',\r\n 'minecraft:bamboo',\r\n 'minecraft:basalt_blobs',\r\n 'minecraft:basalt_pillar',\r\n 'minecraft:birch_bees_0002',\r\n 'minecraft:birch_bees_002',\r\n 'minecraft:birch_bees_005',\r\n 'minecraft:birch_other',\r\n 'minecraft:birch_tall',\r\n 'minecraft:birch',\r\n 'minecraft:blackstone_blobs',\r\n 'minecraft:blue_ice',\r\n 'minecraft:bonus_chest',\r\n 'minecraft:brown_mushroom_giant',\r\n 'minecraft:brown_mushroom_nether',\r\n 'minecraft:brown_mushroom_normal',\r\n 'minecraft:brown_mushroom_swamp',\r\n 'minecraft:brown_mushroom_taiga',\r\n 'minecraft:chorus_plant',\r\n 'minecraft:crimson_forest_vegetation',\r\n 'minecraft:crimson_fungi_planted',\r\n 'minecraft:crimson_fungi',\r\n 'minecraft:dark_forest_vegetation_brown',\r\n 'minecraft:dark_forest_vegetation_red',\r\n 'minecraft:dark_oak',\r\n 'minecraft:delta',\r\n 'minecraft:desert_well',\r\n 'minecraft:disk_clay',\r\n 'minecraft:disk_gravel',\r\n 'minecraft:disk_sand',\r\n 'minecraft:end_gateway_delayed',\r\n 'minecraft:end_gateway',\r\n 'minecraft:end_island_decorated',\r\n 'minecraft:end_island',\r\n 'minecraft:end_spike',\r\n 'minecraft:fancy_oak_bees_0002',\r\n 'minecraft:fancy_oak_bees_002',\r\n 'minecraft:fancy_oak_bees_005',\r\n 'minecraft:fancy_oak',\r\n 'minecraft:flower_default',\r\n 'minecraft:flower_forest',\r\n 'minecraft:flower_plain_decorated',\r\n 'minecraft:flower_plain',\r\n 'minecraft:flower_swamp',\r\n 'minecraft:flower_warm',\r\n 'minecraft:forest_flower_trees',\r\n 'minecraft:forest_flower_vegetation_common',\r\n 'minecraft:forest_flower_vegetation',\r\n 'minecraft:forest_rock',\r\n 'minecraft:fossil',\r\n 'minecraft:freeze_top_layer',\r\n 'minecraft:glowstone_extra',\r\n 'minecraft:glowstone',\r\n 'minecraft:huge_brown_mushroom',\r\n 'minecraft:huge_red_mushroom',\r\n 'minecraft:ice_patch',\r\n 'minecraft:ice_spike',\r\n 'minecraft:iceberg_blue',\r\n 'minecraft:iceberg_packed',\r\n 'minecraft:jungle_bush',\r\n 'minecraft:jungle_tree_no_vine',\r\n 'minecraft:jungle_tree',\r\n 'minecraft:kelp_cold',\r\n 'minecraft:kelp_warm',\r\n 'minecraft:lake_lava',\r\n 'minecraft:lake_water',\r\n 'minecraft:large_basalt_columns',\r\n 'minecraft:mega_jungle_tree',\r\n 'minecraft:mega_pine',\r\n 'minecraft:mega_spruce',\r\n 'minecraft:monster_room',\r\n 'minecraft:mushroom_field_vegetation',\r\n 'minecraft:nether_sprouts',\r\n 'minecraft:oak_badlands',\r\n 'minecraft:oak_bees_0002',\r\n 'minecraft:oak_bees_002',\r\n 'minecraft:oak_bees_005',\r\n 'minecraft:oak',\r\n 'minecraft:ore_andesite',\r\n 'minecraft:ore_blackstone',\r\n 'minecraft:ore_coal',\r\n 'minecraft:ore_debris_large',\r\n 'minecraft:ore_debris_small',\r\n 'minecraft:ore_diamond',\r\n 'minecraft:ore_diorite',\r\n 'minecraft:ore_dirt',\r\n 'minecraft:ore_emerald',\r\n 'minecraft:ore_gold_deltas',\r\n 'minecraft:ore_gold_extra',\r\n 'minecraft:ore_gold_nether',\r\n 'minecraft:ore_gold',\r\n 'minecraft:ore_granite',\r\n 'minecraft:ore_gravel_nether',\r\n 'minecraft:ore_gravel',\r\n 'minecraft:ore_infested',\r\n 'minecraft:ore_iron',\r\n 'minecraft:ore_lapis',\r\n 'minecraft:ore_magma',\r\n 'minecraft:ore_quartz_deltas',\r\n 'minecraft:ore_quartz_nether',\r\n 'minecraft:ore_redstone',\r\n 'minecraft:ore_soul_sand',\r\n 'minecraft:patch_berry_bush',\r\n 'minecraft:patch_berry_decorated',\r\n 'minecraft:patch_berry_sparse',\r\n 'minecraft:patch_brown_mushroom',\r\n 'minecraft:patch_cactus_decorated',\r\n 'minecraft:patch_cactus_desert',\r\n 'minecraft:patch_cactus',\r\n 'minecraft:patch_crimson_roots',\r\n 'minecraft:patch_dead_bush_2',\r\n 'minecraft:patch_dead_bush_badlands',\r\n 'minecraft:patch_dead_bush',\r\n 'minecraft:patch_fire',\r\n 'minecraft:patch_grass_badlands',\r\n 'minecraft:patch_grass_forest',\r\n 'minecraft:patch_grass_jungle',\r\n 'minecraft:patch_grass_normal',\r\n 'minecraft:patch_grass_plain',\r\n 'minecraft:patch_grass_savanna',\r\n 'minecraft:patch_grass_taiga_2',\r\n 'minecraft:patch_grass_taiga',\r\n 'minecraft:patch_large_fern',\r\n 'minecraft:patch_melon',\r\n 'minecraft:patch_pumpkin',\r\n 'minecraft:patch_red_mushroom',\r\n 'minecraft:patch_soul_fire',\r\n 'minecraft:patch_sugar_cane_badlands',\r\n 'minecraft:patch_sugar_cane_desert',\r\n 'minecraft:patch_sugar_cane_swamp',\r\n 'minecraft:patch_sugar_cane',\r\n 'minecraft:patch_sunflower',\r\n 'minecraft:patch_taiga_grass',\r\n 'minecraft:patch_tall_grass_2',\r\n 'minecraft:patch_tall_grass',\r\n 'minecraft:patch_waterlilly',\r\n 'minecraft:pile_hay',\r\n 'minecraft:pile_ice',\r\n 'minecraft:pile_melon',\r\n 'minecraft:pile_pumpkin',\r\n 'minecraft:pile_snow',\r\n 'minecraft:pine',\r\n 'minecraft:plain_vegetation',\r\n 'minecraft:red_mushroom_giant',\r\n 'minecraft:red_mushroom_nether',\r\n 'minecraft:red_mushroom_normal',\r\n 'minecraft:red_mushroom_swamp',\r\n 'minecraft:red_mushroom_taiga',\r\n 'minecraft:sea_pickle',\r\n 'minecraft:seagrass_cold',\r\n 'minecraft:seagrass_deep_cold',\r\n 'minecraft:seagrass_deep_warm',\r\n 'minecraft:seagrass_deep',\r\n 'minecraft:seagrass_normal',\r\n 'minecraft:seagrass_river',\r\n 'minecraft:seagrass_simple',\r\n 'minecraft:seagrass_swamp',\r\n 'minecraft:seagrass_warm',\r\n 'minecraft:small_basalt_columns',\r\n 'minecraft:spring_closed_double',\r\n 'minecraft:spring_closed',\r\n 'minecraft:spring_delta',\r\n 'minecraft:spring_lava_double',\r\n 'minecraft:spring_lava',\r\n 'minecraft:spring_open',\r\n 'minecraft:spring_water',\r\n 'minecraft:spruce_snowy',\r\n 'minecraft:spruce',\r\n 'minecraft:super_birch_bees_0002',\r\n 'minecraft:swamp_tree',\r\n 'minecraft:taiga_vegetation',\r\n 'minecraft:trees_birch',\r\n 'minecraft:trees_giant_spruce',\r\n 'minecraft:trees_giant',\r\n 'minecraft:trees_jungle_edge',\r\n 'minecraft:trees_jungle',\r\n 'minecraft:trees_mountain_edge',\r\n 'minecraft:trees_mountain',\r\n 'minecraft:trees_savanna',\r\n 'minecraft:trees_shattered_savanna',\r\n 'minecraft:trees_water',\r\n 'minecraft:twisting_vines',\r\n 'minecraft:vines',\r\n 'minecraft:void_start_platform',\r\n 'minecraft:warm_ocean_vegetation',\r\n 'minecraft:warped_forest_vegetation',\r\n 'minecraft:warped_fungi_planted',\r\n 'minecraft:warped_fungi',\r\n 'minecraft:weeping_vines'\r\n ]);\r\n collections.register('worldgen/configured_structure_feature', [\r\n 'minecraft:bastion_remnant',\r\n 'minecraft:buried_treasure',\r\n 'minecraft:desert_pyramid',\r\n 'minecraft:end_city',\r\n 'minecraft:fortress',\r\n 'minecraft:igloo',\r\n 'minecraft:jungle_pyramid',\r\n 'minecraft:mansion',\r\n 'minecraft:mineshaft_mesa',\r\n 'minecraft:mineshaft',\r\n 'minecraft:monument',\r\n 'minecraft:nether_fossil',\r\n 'minecraft:ocean_ruin_cold',\r\n 'minecraft:ocean_ruin_warm',\r\n 'minecraft:pillager_outpost',\r\n 'minecraft:ruined_portal_desert',\r\n 'minecraft:ruined_portal_jungle',\r\n 'minecraft:ruined_portal_mountain',\r\n 'minecraft:ruined_portal_nether',\r\n 'minecraft:ruined_portal_ocean',\r\n 'minecraft:ruined_portal_swamp',\r\n 'minecraft:ruined_portal',\r\n 'minecraft:shipwreck_beached',\r\n 'minecraft:shipwreck',\r\n 'minecraft:stronghold',\r\n 'minecraft:swamp_hut',\r\n 'minecraft:village_desert',\r\n 'minecraft:village_plains',\r\n 'minecraft:village_savanna',\r\n 'minecraft:village_snowy',\r\n 'minecraft:village_taiga'\r\n ]);\r\n collections.register('worldgen/configured_surface_builder', [\r\n 'minecraft:badlands',\r\n 'minecraft:basalt_deltas',\r\n 'minecraft:crimson_forest',\r\n 'minecraft:desert',\r\n 'minecraft:end',\r\n 'minecraft:eroded_badlands',\r\n 'minecraft:frozen_ocean',\r\n 'minecraft:full_sand',\r\n 'minecraft:giant_tree_taiga',\r\n 'minecraft:grass',\r\n 'minecraft:gravelly_mountain',\r\n 'minecraft:ice_spikes',\r\n 'minecraft:mountain',\r\n 'minecraft:mycelium',\r\n 'minecraft:nether',\r\n 'minecraft:nope',\r\n 'minecraft:ocean_sand',\r\n 'minecraft:shattered_savanna',\r\n 'minecraft:soul_sand_valley',\r\n 'minecraft:stone',\r\n 'minecraft:swamp',\r\n 'minecraft:warped_forest',\r\n 'minecraft:wooded_badlands'\r\n ]);\r\n collections.register('biome_category', [\r\n 'beach',\r\n 'desert',\r\n 'extreme_hills',\r\n 'forest',\r\n 'icy',\r\n 'jungle',\r\n 'mesa',\r\n 'mushroom',\r\n 'nether',\r\n 'none',\r\n 'ocean',\r\n 'plains',\r\n 'river',\r\n 'savanna',\r\n 'swamp',\r\n 'taiga',\r\n 'the_end'\r\n ]);\r\n collections.register('heightmap_type', [\r\n 'MOTION_BLOCKING',\r\n 'MOTION_BLOCKING_NO_LEAVES',\r\n 'OCEAN_FLOOR',\r\n 'OCEAN_FLOOR_WG',\r\n 'WORLD_SURFACE',\r\n 'WORLD_SURFACE_WG'\r\n ]);\r\n collections.register('generation_step', [\r\n 'air',\r\n 'liquid'\r\n ]);\r\n collections.register('loot_context_type', [\r\n 'minecraft:empty',\r\n 'minecraft:chest',\r\n 'minecraft:command',\r\n 'minecraft:selector',\r\n 'minecraft:fishing',\r\n 'minecraft:entity',\r\n 'minecraft:gift',\r\n 'minecraft:barter',\r\n 'minecraft:advancement_reward',\r\n 'minecraft:advancement_entity',\r\n 'minecraft:generic',\r\n 'minecraft:block'\r\n ]);\r\n collections.register('banner_pattern', [\r\n 'base',\r\n 'square_bottom_left',\r\n 'square_bottom_right',\r\n 'square_top_left',\r\n 'square_top_right',\r\n 'stripe_bottom',\r\n 'stripe_top',\r\n 'stripe_left',\r\n 'stripe_right',\r\n 'stripe_center',\r\n 'stripe_middle',\r\n 'stripe_downright',\r\n 'stripe_downleft',\r\n 'small_stripes',\r\n 'cross',\r\n 'straight_cross',\r\n 'triangle_bottom',\r\n 'triangle_top',\r\n 'triangles_bottom',\r\n 'triangles_top',\r\n 'diagonal_left',\r\n 'diagonal_up_right',\r\n 'diagonal_up_left',\r\n 'diagonal_right',\r\n 'circle',\r\n 'rhombus',\r\n 'half_vertical',\r\n 'half_horizontal',\r\n 'half_vertical_right',\r\n 'half_horizontal_bottom',\r\n 'border',\r\n 'curly_border',\r\n 'gradient',\r\n 'gradient_up',\r\n 'bricks',\r\n 'globe',\r\n 'creeper',\r\n 'skull',\r\n 'flower',\r\n 'mojang',\r\n 'piglin'\r\n ]);\r\n collections.register('dye_color', [\r\n 'white',\r\n 'orange',\r\n 'magenta',\r\n 'light_blue',\r\n 'yellow',\r\n 'lime',\r\n 'pink',\r\n 'gray',\r\n 'light_gray',\r\n 'cyan',\r\n 'purple',\r\n 'blue',\r\n 'brown',\r\n 'green',\r\n 'red',\r\n 'black'\r\n ]);\r\n}\r\nexports.initCollections = initCollections;\r\n","\"use strict\";\r\nObject.defineProperty(exports, \"__esModule\", { value: true });\r\nexports.initAdvancementSchemas = void 0;\r\nconst core_1 = require(\"@mcschema/core\");\r\nfunction initAdvancementSchemas(schemas, collections) {\r\n const Reference = core_1.Reference.bind(undefined, schemas);\r\n const StringNode = core_1.StringNode.bind(undefined, collections);\r\n const EntityPredicate = core_1.ChoiceNode([\r\n {\r\n type: 'object',\r\n node: core_1.Opt(Reference('entity_predicate')),\r\n change: v => { var _a, _b; return (_b = (_a = v[0]) === null || _a === void 0 ? void 0 : _a.predicate) !== null && _b !== void 0 ? _b : ({}); }\r\n },\r\n {\r\n type: 'list',\r\n node: core_1.ListNode(Reference('condition')),\r\n change: v => [{\r\n condition: 'minecraft:entity_properties',\r\n predicate: v\r\n }]\r\n }\r\n ], { context: 'conditions' });\r\n schemas.register('advancement', core_1.Mod(core_1.ObjectNode({\r\n display: core_1.Opt(core_1.Mod(core_1.ObjectNode({\r\n icon: core_1.ObjectNode({\r\n item: StringNode({ validator: 'resource', params: { pool: 'item' } }),\r\n nbt: core_1.Opt(StringNode({ validator: 'nbt', params: { registry: { category: 'minecraft:item', id: ['pop', { push: 'item' }] } } }))\r\n }),\r\n title: Reference('text_component'),\r\n description: Reference('text_component'),\r\n background: core_1.Opt(StringNode()),\r\n frame: core_1.Opt(StringNode({ enum: ['task', 'challenge', 'goal'] })),\r\n show_toast: core_1.Opt(core_1.BooleanNode()),\r\n announce_to_chat: core_1.Opt(core_1.BooleanNode()),\r\n hidden: core_1.Opt(core_1.BooleanNode())\r\n }), {\r\n default: () => ({\r\n icon: {\r\n item: 'minecraft:stone'\r\n },\r\n title: '',\r\n description: ''\r\n })\r\n })),\r\n parent: core_1.Opt(StringNode({ validator: 'resource', params: { pool: '$advancement' } })),\r\n criteria: core_1.MapNode(StringNode(), Reference('advancement_criteria')),\r\n requirements: core_1.Opt(core_1.ListNode(core_1.ListNode(StringNode() // TODO: add validation\r\n ))),\r\n rewards: core_1.Opt(core_1.ObjectNode({\r\n function: core_1.Opt(StringNode({ validator: 'resource', params: { pool: '$function' } })),\r\n loot: core_1.Opt(core_1.ListNode(StringNode({ validator: 'resource', params: { pool: '$loot_table' } }))),\r\n recipes: core_1.Opt(core_1.ListNode(StringNode({ validator: 'resource', params: { pool: '$recipe' } }))),\r\n experience: core_1.Opt(core_1.NumberNode({ integer: true }))\r\n })),\r\n }, { context: 'advancement' }), {\r\n default: () => ({\r\n criteria: {\r\n requirement: {\r\n trigger: 'minecraft:location'\r\n }\r\n }\r\n })\r\n }));\r\n schemas.register('advancement_criteria', core_1.ObjectNode({\r\n trigger: StringNode({ validator: 'resource', params: { pool: collections.get('advancement_trigger') } }),\r\n conditions: core_1.Opt(core_1.ObjectNode({\r\n player: core_1.Mod(EntityPredicate, {\r\n enabled: path => path.pop().push('trigger').get() !== 'minecraft:impossible'\r\n }),\r\n [core_1.Switch]: ['pop', { push: 'trigger' }],\r\n [core_1.Case]: {\r\n 'minecraft:bee_nest_destroyed': {\r\n block: core_1.Opt(StringNode({ validator: 'resource', params: { pool: 'block' } })),\r\n num_bees_inside: core_1.Opt(core_1.NumberNode({ integer: true })),\r\n item: core_1.Opt(Reference('item_predicate'))\r\n },\r\n 'minecraft:bred_animals': {\r\n parent: EntityPredicate,\r\n partner: EntityPredicate,\r\n child: EntityPredicate\r\n },\r\n 'minecraft:brewed_potion': {\r\n potion: core_1.Opt(StringNode({ validator: 'resource', params: { pool: 'potion' } }))\r\n },\r\n 'minecraft:changed_dimension': {\r\n from: core_1.Opt(StringNode({ validator: 'resource', params: { pool: '$dimension' } })),\r\n to: core_1.Opt(StringNode({ validator: 'resource', params: { pool: '$dimension' } }))\r\n },\r\n 'minecraft:channeled_lightning': {\r\n victims: core_1.Opt(core_1.ListNode(EntityPredicate))\r\n },\r\n 'minecraft:construct_beacon': {\r\n level: Reference('int_bounds')\r\n },\r\n 'minecraft:consume_item': {\r\n item: core_1.Opt(Reference('item_predicate'))\r\n },\r\n 'minecraft:cured_zombie_villager': {\r\n villager: EntityPredicate,\r\n zombie: EntityPredicate\r\n },\r\n 'minecraft:effects_changed': {\r\n effects: core_1.Opt(core_1.MapNode(StringNode({ validator: 'resource', params: { pool: 'mob_effect' } }), core_1.ObjectNode({\r\n amplifier: Reference('int_bounds'),\r\n duration: Reference('int_bounds')\r\n }))),\r\n source: core_1.Opt(EntityPredicate)\r\n },\r\n 'minecraft:enter_block': {\r\n block: core_1.Opt(StringNode({ validator: 'resource', params: { pool: 'block' } })),\r\n state: core_1.Opt(core_1.MapNode(StringNode(), StringNode(), { validation: { validator: 'block_state_map', params: { id: ['pop', { push: 'block' }] } } }))\r\n },\r\n 'minecraft:enchanted_item': {\r\n levels: Reference('int_bounds'),\r\n item: core_1.Opt(Reference('item_predicate'))\r\n },\r\n 'minecraft:entity_hurt_player': {\r\n damage: core_1.Opt(Reference('damage_predicate'))\r\n },\r\n 'minecraft:entity_killed_player': {\r\n entity: EntityPredicate,\r\n killing_blow: core_1.Opt(Reference('damage_source_predicate'))\r\n },\r\n 'minecraft:filled_bucket': {\r\n item: core_1.Opt(Reference('item_predicate'))\r\n },\r\n 'minecraft:fishing_rod_hooked': {\r\n entity: EntityPredicate,\r\n item: core_1.Opt(Reference('item_predicate'))\r\n },\r\n 'minecraft:hero_of_the_village': {\r\n location: core_1.Opt(Reference('location_predicate'))\r\n },\r\n 'minecraft:inventory_changed': {\r\n slots: core_1.Opt(core_1.ObjectNode({\r\n empty: Reference('int_bounds'),\r\n occupied: Reference('int_bounds'),\r\n full: Reference('int_bounds')\r\n })),\r\n items: core_1.Opt(core_1.ListNode(Reference('item_predicate')))\r\n },\r\n 'minecraft:item_durability_changed': {\r\n delta: Reference('int_bounds'),\r\n durability: Reference('int_bounds'),\r\n item: core_1.Opt(Reference('item_predicate'))\r\n },\r\n 'minecraft:item_used_on_block': {\r\n item: core_1.Opt(Reference('item_predicate')),\r\n location: core_1.Opt(Reference('location_predicate'))\r\n },\r\n 'minecraft:killed_by_crossbow': {\r\n unique_entity_types: Reference('int_bounds'),\r\n victims: core_1.Opt(core_1.ListNode(EntityPredicate))\r\n },\r\n 'minecraft:levitation': {\r\n distance: Reference('distance_predicate'),\r\n duration: Reference('int_bounds')\r\n },\r\n 'minecraft:lightning_strike': {\r\n lightning: EntityPredicate,\r\n bystander: EntityPredicate,\r\n },\r\n 'minecraft:location': {\r\n location: core_1.Opt(Reference('location_predicate'))\r\n },\r\n 'minecraft:nether_travel': {\r\n distance: Reference('distance_predicate'),\r\n entered: core_1.Opt(Reference('location_predicate')),\r\n exited: core_1.Opt(Reference('location_predicate'))\r\n },\r\n 'minecraft:placed_block': {\r\n block: core_1.Opt(StringNode({ validator: 'resource', params: { pool: 'block' } })),\r\n state: core_1.Opt(core_1.MapNode(StringNode(), StringNode(), { validation: { validator: 'block_state_map', params: { id: ['pop', { push: 'block' }] } } })),\r\n item: core_1.Opt(Reference('item_predicate')),\r\n location: core_1.Opt(Reference('location_predicate'))\r\n },\r\n 'minecraft:player_generates_container_loot': {\r\n loot_table: StringNode({ validator: 'resource', params: { pool: '$loot_table' } })\r\n },\r\n 'minecraft:player_hurt_entity': {\r\n damage: core_1.Opt(Reference('damage_predicate')),\r\n entity: EntityPredicate\r\n },\r\n 'minecraft:player_interacted_with_entity': {\r\n item: core_1.Opt(Reference('item_predicate')),\r\n entity: EntityPredicate\r\n },\r\n 'minecraft:player_killed_entity': {\r\n entity: EntityPredicate,\r\n killing_blow: core_1.Opt(Reference('damage_source_predicate'))\r\n },\r\n 'minecraft:recipe_unlocked': {\r\n recipe: StringNode({ validator: 'resource', params: { pool: '$recipe' } })\r\n },\r\n 'minecraft:slept_in_bed': {\r\n location: core_1.Opt(Reference('location_predicate'))\r\n },\r\n 'minecraft:slide_down_block': {\r\n block: core_1.Opt(StringNode({ validator: 'resource', params: { pool: 'block' } }))\r\n },\r\n 'minecraft:shot_crossbow': {\r\n item: core_1.Opt(Reference('item_predicate'))\r\n },\r\n 'minecraft:summoned_entity': {\r\n entity: EntityPredicate\r\n },\r\n 'minecraft:tame_animal': {\r\n entity: EntityPredicate\r\n },\r\n 'minecraft:target_hit': {\r\n projectile: EntityPredicate,\r\n shooter: EntityPredicate,\r\n signal_strength: Reference('int_bounds')\r\n },\r\n 'minecraft:thrown_item_picked_up_by_entity': {\r\n entity: core_1.Opt(Reference('entity_predicate')),\r\n item: core_1.Opt(Reference('item_predicate'))\r\n },\r\n 'minecraft:used_ender_eye': {\r\n distance: Reference('float_bounds')\r\n },\r\n 'minecraft:used_totem': {\r\n item: core_1.Opt(Reference('item_predicate'))\r\n },\r\n 'minecraft:using_item': {\r\n item: core_1.Opt(Reference('item_predicate'))\r\n },\r\n 'minecraft:villager_trade': {\r\n villager: core_1.Opt(Reference('entity_predicate')),\r\n item: core_1.Opt(Reference('item_predicate'))\r\n },\r\n 'minecraft:voluntary_exile': {\r\n location: Reference('location_predicate')\r\n }\r\n }\r\n }, { context: 'criterion' }))\r\n }, { category: 'predicate', context: 'criterion' }));\r\n}\r\nexports.initAdvancementSchemas = initAdvancementSchemas;\r\n","\"use strict\";\r\nObject.defineProperty(exports, \"__esModule\", { value: true });\r\nexports.initCommonSchemas = exports.IntProvider = exports.FloatProvider = exports.NoiseSettingsPresets = exports.DefaultNoiseSettings = exports.DimensionTypePresets = exports.DefaultDimensionType = exports.FunctionCases = exports.ConditionCases = void 0;\r\nconst core_1 = require(\"@mcschema/core\");\r\nexports.DefaultDimensionType = {\r\n ultrawarm: false,\r\n natural: true,\r\n piglin_safe: false,\r\n respawn_anchor_works: false,\r\n bed_works: true,\r\n has_raids: true,\r\n has_skylight: true,\r\n has_ceiling: false,\r\n coordinate_scale: 1,\r\n ambient_light: 0,\r\n logical_height: 256,\r\n infiniburn: 'minecraft:infiniburn_overworld',\r\n min_y: 0,\r\n height: 256,\r\n};\r\nexports.DefaultNoiseSettings = {\r\n name: 'minecraft:overworld',\r\n bedrock_roof_position: -10,\r\n bedrock_floor_position: 0,\r\n sea_level: 63,\r\n disable_mob_generation: false,\r\n noise_caves_enabled: true,\r\n aquifers_enabled: true,\r\n deepslate_enabled: true,\r\n noise: {\r\n min_y: 0,\r\n height: 256,\r\n density_factor: 1,\r\n density_offset: -0.46875,\r\n simplex_surface_noise: true,\r\n random_density_offset: true,\r\n size_horizontal: 1,\r\n size_vertical: 2,\r\n sampling: {\r\n xz_scale: 1,\r\n y_scale: 1,\r\n xz_factor: 80,\r\n y_factor: 160\r\n },\r\n top_slide: {\r\n target: -10,\r\n size: 3,\r\n offset: 0\r\n },\r\n bottom_slide: {\r\n target: -30,\r\n size: 0,\r\n offset: 0\r\n }\r\n },\r\n default_block: {\r\n Name: \"minecraft:stone\"\r\n },\r\n default_fluid: {\r\n Name: \"minecraft:water\",\r\n Properties: {\r\n level: \"0\"\r\n }\r\n }\r\n};\r\nfunction initCommonSchemas(schemas, collections) {\r\n const StringNode = core_1.StringNode.bind(undefined, collections);\r\n const Reference = core_1.Reference.bind(undefined, schemas);\r\n schemas.register('block_state', core_1.Mod(core_1.ObjectNode({\r\n Name: StringNode({ validator: 'resource', params: { pool: 'block' } }),\r\n Properties: core_1.Opt(core_1.MapNode(StringNode(), StringNode(), { validation: { validator: 'block_state_map', params: { id: ['pop', { push: 'Name' }] } } }))\r\n }, { context: 'block_state' }), {\r\n default: () => ({\r\n Name: 'minecraft:stone'\r\n })\r\n }));\r\n schemas.register('fluid_state', core_1.Mod(core_1.ObjectNode({\r\n Name: StringNode({ validator: 'resource', params: { pool: 'fluid' } }),\r\n Properties: core_1.Opt(core_1.MapNode(StringNode(), StringNode()))\r\n }, { context: 'fluid_state' }), {\r\n default: () => ({\r\n Name: 'minecraft:water',\r\n Properties: {\r\n 'level': '0'\r\n }\r\n })\r\n }));\r\n schemas.register('block_pos', core_1.Mod(core_1.ListNode(core_1.NumberNode({ integer: true }), { minLength: 3, maxLength: 3 }), {\r\n default: () => [0, 0, 0]\r\n }));\r\n const Bounds = (integer) => core_1.Opt(core_1.ChoiceNode([\r\n {\r\n type: 'number',\r\n node: core_1.NumberNode({ integer }),\r\n change: (v) => { var _a, _b; return v === undefined ? 0 : (_b = (_a = v.min) !== null && _a !== void 0 ? _a : v.max) !== null && _b !== void 0 ? _b : 0; }\r\n },\r\n {\r\n type: 'object',\r\n node: core_1.ObjectNode({\r\n min: core_1.Opt(core_1.NumberNode({ integer })),\r\n max: core_1.Opt(core_1.NumberNode({ integer }))\r\n }, { context: 'range' }),\r\n change: (v) => ({\r\n min: v !== null && v !== void 0 ? v : 0,\r\n max: v !== null && v !== void 0 ? v : 0\r\n })\r\n }\r\n ]));\r\n schemas.register('int_bounds', Bounds(true));\r\n schemas.register('float_bounds', Bounds());\r\n schemas.register('int_range', core_1.ChoiceNode([\r\n {\r\n type: 'object',\r\n node: core_1.ObjectNode({\r\n min: core_1.Opt(Reference('number_provider')),\r\n max: core_1.Opt(Reference('number_provider'))\r\n })\r\n },\r\n {\r\n type: 'number',\r\n node: core_1.NumberNode({ integer: true })\r\n }\r\n ], { context: 'range' }));\r\n const ObjectWithType = (pool, directType, directPath, directDefault, objectDefault, context, cases) => {\r\n let defaultCase = {};\r\n if (objectDefault) {\r\n Object.keys(cases[objectDefault]).forEach(k => {\r\n defaultCase[k] = core_1.Mod(cases[objectDefault][k], {\r\n enabled: path => path.push('type').get() === undefined\r\n });\r\n });\r\n }\r\n const provider = core_1.ObjectNode({\r\n type: core_1.Mod(core_1.Opt(StringNode({ validator: 'resource', params: { pool } })), {\r\n hidden: () => true\r\n }),\r\n [core_1.Switch]: [{ push: 'type' }],\r\n [core_1.Case]: cases,\r\n ...defaultCase\r\n }, { context, disableSwitchContext: true });\r\n const choices = [{\r\n type: directType,\r\n node: cases[directDefault][directPath]\r\n }];\r\n if (objectDefault) {\r\n choices.push({\r\n type: 'object',\r\n priority: -1,\r\n node: provider\r\n });\r\n }\r\n Object.keys(cases).forEach(k => {\r\n choices.push({\r\n type: k,\r\n match: (v) => {\r\n var _a;\r\n const type = 'minecraft:' + ((_a = v === null || v === void 0 ? void 0 : v.type) === null || _a === void 0 ? void 0 : _a.replace(/^minecraft:/, ''));\r\n if (type === k)\r\n return true;\r\n const keys = v ? Object.keys(v) : [];\r\n return typeof v === 'object' && ((keys === null || keys === void 0 ? void 0 : keys.length) === 0 || ((keys === null || keys === void 0 ? void 0 : keys.length) === 1 && (keys === null || keys === void 0 ? void 0 : keys[0]) === 'type'));\r\n },\r\n node: provider,\r\n change: (v) => ({ type: k })\r\n });\r\n });\r\n return core_1.ChoiceNode(choices, { context, choiceContext: `${context}.type` });\r\n };\r\n schemas.register('number_provider', ObjectWithType('loot_number_provider_type', 'number', 'value', 'minecraft:constant', 'minecraft:uniform', 'number_provider', {\r\n 'minecraft:constant': {\r\n value: core_1.NumberNode()\r\n },\r\n 'minecraft:uniform': {\r\n min: Reference('number_provider'),\r\n max: Reference('number_provider')\r\n },\r\n 'minecraft:binomial': {\r\n n: Reference('number_provider'),\r\n p: Reference('number_provider')\r\n },\r\n 'minecraft:score': {\r\n target: Reference('scoreboard_name_provider'),\r\n score: StringNode({ validator: 'objective' }),\r\n scale: core_1.Opt(core_1.NumberNode())\r\n }\r\n }));\r\n schemas.register('scoreboard_name_provider', ObjectWithType('loot_score_provider_type', 'string', 'target', 'minecraft:context', null, 'score_provider', {\r\n 'minecraft:fixed': {\r\n name: StringNode({ validator: 'entity', params: { amount: 'multiple', type: 'entities', isScoreHolder: true } }) // FIXME: doesn't support selectors\r\n },\r\n 'minecraft:context': {\r\n target: core_1.Mod(StringNode({ enum: 'entity_source' }), { default: () => 'this' })\r\n }\r\n }));\r\n schemas.register('nbt_provider', ObjectWithType('loot_nbt_provider_type', 'string', 'target', 'minecraft:context', null, 'nbt_provider', {\r\n 'minecraft:storage': {\r\n source: StringNode({ validator: 'resource', params: { pool: '$storage' } })\r\n },\r\n 'minecraft:context': {\r\n target: core_1.Mod(StringNode({ enum: 'copy_source' }), { default: () => 'this' })\r\n }\r\n }));\r\n exports.FloatProvider = (config) => ObjectWithType('float_provider_type', 'number', 'value', 'minecraft:constant', null, 'float_provider', {\r\n 'minecraft:constant': {\r\n value: core_1.NumberNode(config)\r\n },\r\n 'minecraft:uniform': {\r\n value: core_1.ObjectNode({\r\n min_inclusive: core_1.NumberNode(config),\r\n max_exclusive: core_1.NumberNode(config)\r\n })\r\n },\r\n 'minecraft:clamped_normal': {\r\n value: core_1.ObjectNode({\r\n min: core_1.NumberNode(),\r\n max: core_1.NumberNode(),\r\n mean: core_1.NumberNode(),\r\n deviation: core_1.NumberNode()\r\n })\r\n },\r\n 'minecraft:trapezoid': {\r\n value: core_1.ObjectNode({\r\n min: core_1.NumberNode(),\r\n max: core_1.NumberNode(),\r\n plateau: core_1.NumberNode()\r\n })\r\n }\r\n });\r\n schemas.register('float_provider', exports.FloatProvider());\r\n exports.IntProvider = (config) => ObjectWithType('int_provider_type', 'number', 'value', 'minecraft:constant', null, 'int_provider', {\r\n 'minecraft:constant': {\r\n value: core_1.NumberNode({ integer: true, ...config })\r\n },\r\n 'minecraft:uniform': {\r\n value: core_1.ObjectNode({\r\n min_inclusive: core_1.NumberNode({ integer: true, ...config }),\r\n max_inclusive: core_1.NumberNode({ integer: true, ...config })\r\n })\r\n },\r\n 'minecraft:biased_to_bottom': {\r\n value: core_1.ObjectNode({\r\n min_inclusive: core_1.NumberNode({ integer: true, ...config }),\r\n max_inclusive: core_1.NumberNode({ integer: true, ...config })\r\n })\r\n },\r\n 'minecraft:clamped': {\r\n value: core_1.ObjectNode({\r\n min_inclusive: core_1.NumberNode({ integer: true, ...config }),\r\n max_inclusive: core_1.NumberNode({ integer: true, ...config }),\r\n source: Reference('int_provider')\r\n })\r\n }\r\n });\r\n schemas.register('int_provider', exports.IntProvider());\r\n schemas.register('vertical_anchor', core_1.ChoiceNode(['absolute', 'above_bottom', 'below_top'].map(t => ({\r\n type: t,\r\n match: v => (v === null || v === void 0 ? void 0 : v[t]) !== undefined,\r\n change: v => { var _a, _b, _c; return ({ [t]: (_c = (_b = (_a = v.absolute) !== null && _a !== void 0 ? _a : v.above_bottom) !== null && _b !== void 0 ? _b : v.below_top) !== null && _c !== void 0 ? _c : 0 }); },\r\n node: core_1.ObjectNode({\r\n [t]: core_1.NumberNode({ integer: true, min: -2048, max: 2047 })\r\n })\r\n })), { context: 'vertical_anchor' }));\r\n schemas.register('height_provider', ObjectWithType('height_provider_type', 'number', 'value', 'minecraft:constant', null, 'height_provider', {\r\n 'minecraft:constant': {\r\n value: Reference('vertical_anchor')\r\n },\r\n 'minecraft:uniform': {\r\n min_inclusive: Reference('vertical_anchor'),\r\n max_inclusive: Reference('vertical_anchor')\r\n },\r\n 'minecraft:biased_to_bottom': {\r\n min_inclusive: Reference('vertical_anchor'),\r\n max_inclusive: Reference('vertical_anchor'),\r\n inner: core_1.Opt(core_1.NumberNode({ integer: true, min: 1 }))\r\n },\r\n 'minecraft:very_biased_to_bottom': {\r\n min_inclusive: Reference('vertical_anchor'),\r\n max_inclusive: Reference('vertical_anchor'),\r\n inner: core_1.Opt(core_1.NumberNode({ integer: true, min: 1 }))\r\n },\r\n 'minecraft:trapezoid': {\r\n min_inclusive: Reference('vertical_anchor'),\r\n max_inclusive: Reference('vertical_anchor'),\r\n plateau: core_1.Opt(core_1.NumberNode({ integer: true }))\r\n }\r\n }));\r\n exports.ConditionCases = (entitySourceNode = StringNode({ enum: 'entity_source' })) => ({\r\n 'minecraft:alternative': {\r\n terms: core_1.ListNode(Reference('condition'))\r\n },\r\n 'minecraft:block_state_property': {\r\n block: StringNode({ validator: 'resource', params: { pool: 'block' } }),\r\n properties: core_1.MapNode(StringNode(), StringNode(), { validation: { validator: 'block_state_map', params: { id: ['pop', { push: 'block' }] } } })\r\n },\r\n 'minecraft:damage_source_properties': {\r\n predicate: Reference('damage_source_predicate')\r\n },\r\n 'minecraft:entity_properties': {\r\n entity: entitySourceNode,\r\n predicate: Reference('entity_predicate')\r\n },\r\n 'minecraft:entity_scores': {\r\n entity: entitySourceNode,\r\n scores: core_1.MapNode(StringNode({ validator: 'objective' }), Reference('int_range'))\r\n },\r\n 'minecraft:inverted': {\r\n term: Reference('condition')\r\n },\r\n 'minecraft:killed_by_player': {\r\n inverse: core_1.Opt(core_1.BooleanNode())\r\n },\r\n 'minecraft:location_check': {\r\n offsetX: core_1.Opt(core_1.NumberNode({ integer: true })),\r\n offsetY: core_1.Opt(core_1.NumberNode({ integer: true })),\r\n offsetZ: core_1.Opt(core_1.NumberNode({ integer: true })),\r\n predicate: Reference('location_predicate')\r\n },\r\n 'minecraft:match_tool': {\r\n predicate: Reference('item_predicate')\r\n },\r\n 'minecraft:random_chance': {\r\n chance: core_1.NumberNode({ min: 0, max: 1 })\r\n },\r\n 'minecraft:random_chance_with_looting': {\r\n chance: core_1.NumberNode({ min: 0, max: 1 }),\r\n looting_multiplier: core_1.NumberNode()\r\n },\r\n 'minecraft:reference': {\r\n name: StringNode({ validator: 'resource', params: { pool: '$predicate' } })\r\n },\r\n 'minecraft:table_bonus': {\r\n enchantment: StringNode({ validator: 'resource', params: { pool: 'enchantment' } }),\r\n chances: core_1.ListNode(core_1.NumberNode({ min: 0, max: 1 }))\r\n },\r\n 'minecraft:time_check': {\r\n value: Reference('int_range'),\r\n period: core_1.Opt(core_1.NumberNode({ integer: true }))\r\n },\r\n 'minecraft:value_check': {\r\n value: Reference('number_provider'),\r\n range: Reference('int_range')\r\n },\r\n 'minecraft:weather_check': {\r\n raining: core_1.Opt(core_1.BooleanNode()),\r\n thundering: core_1.Opt(core_1.BooleanNode())\r\n }\r\n });\r\n exports.FunctionCases = (conditions, copySourceNode = StringNode({ enum: 'copy_source' }), entitySourceNode = StringNode({ enum: 'entity_source' })) => {\r\n const cases = {\r\n 'minecraft:apply_bonus': {\r\n enchantment: StringNode({ validator: 'resource', params: { pool: 'enchantment' } }),\r\n formula: StringNode({ validator: 'resource', params: { pool: collections.get('loot_table_apply_bonus_formula') } }),\r\n parameters: core_1.Mod(core_1.ObjectNode({\r\n bonusMultiplier: core_1.Mod(core_1.NumberNode(), {\r\n enabled: path => path.pop().push('formula').get() === 'minecraft:uniform_bonus_count'\r\n }),\r\n extra: core_1.Mod(core_1.NumberNode(), {\r\n enabled: path => path.pop().push('formula').get() === 'minecraft:binomial_with_bonus_count'\r\n }),\r\n probability: core_1.Mod(core_1.NumberNode(), {\r\n enabled: path => path.pop().push('formula').get() === 'minecraft:binomial_with_bonus_count'\r\n })\r\n }), {\r\n enabled: path => path.push('formula').get() !== 'minecraft:ore_drops'\r\n })\r\n },\r\n 'minecraft:copy_name': {\r\n source: copySourceNode\r\n },\r\n 'minecraft:copy_nbt': {\r\n source: Reference('nbt_provider'),\r\n ops: core_1.ListNode(core_1.ObjectNode({\r\n source: StringNode({ validator: 'nbt_path', params: { category: { getter: 'copy_source', path: ['pop', 'pop', 'pop', { push: 'source' }] } } }),\r\n target: StringNode({ validator: 'nbt_path', params: { category: 'minecraft:item' } }),\r\n op: StringNode({ enum: ['replace', 'append', 'merge'] })\r\n }, { context: 'nbt_operation' }))\r\n },\r\n 'minecraft:copy_state': {\r\n block: StringNode({ validator: 'resource', params: { pool: 'block' } }),\r\n properties: core_1.ListNode(StringNode({ validator: 'block_state_key', params: { id: ['pop', 'pop', { push: 'block' }] } }))\r\n },\r\n 'minecraft:enchant_randomly': {\r\n enchantments: core_1.Opt(core_1.ListNode(StringNode({ validator: 'resource', params: { pool: 'enchantment' } })))\r\n },\r\n 'minecraft:enchant_with_levels': {\r\n levels: Reference('number_provider'),\r\n treasure: core_1.Opt(core_1.BooleanNode())\r\n },\r\n 'minecraft:exploration_map': {\r\n destination: core_1.Opt(StringNode({ enum: 'map_feature' })),\r\n decoration: core_1.Opt(StringNode({ enum: 'map_decoration' })),\r\n zoom: core_1.Opt(core_1.NumberNode({ integer: true })),\r\n search_radius: core_1.Opt(core_1.NumberNode({ integer: true })),\r\n skip_existing_chunks: core_1.Opt(core_1.BooleanNode())\r\n },\r\n 'minecraft:fill_player_head': {\r\n entity: entitySourceNode\r\n },\r\n 'minecraft:limit_count': {\r\n limit: Reference('int_range')\r\n },\r\n 'minecraft:looting_enchant': {\r\n count: Reference('number_provider'),\r\n limit: core_1.Opt(core_1.NumberNode({ integer: true }))\r\n },\r\n 'minecraft:set_attributes': {\r\n modifiers: core_1.ListNode(Reference('attribute_modifier'))\r\n },\r\n 'minecraft:set_banner_pattern': {\r\n patterns: core_1.ListNode(core_1.ObjectNode({\r\n pattern: StringNode({ enum: 'banner_pattern' }),\r\n color: StringNode({ enum: 'dye_color' })\r\n })),\r\n append: core_1.Opt(core_1.BooleanNode())\r\n },\r\n 'minecraft:set_contents': {\r\n entries: core_1.ListNode(Reference('loot_entry'))\r\n },\r\n 'minecraft:set_count': {\r\n count: Reference('number_provider'),\r\n add: core_1.Opt(core_1.BooleanNode())\r\n },\r\n 'minecraft:set_damage': {\r\n damage: Reference('number_provider'),\r\n add: core_1.Opt(core_1.BooleanNode())\r\n },\r\n 'minecraft:set_enchantments': {\r\n enchantments: core_1.MapNode(StringNode({ validator: 'resource', params: { pool: 'enchantment' } }), Reference('number_provider')),\r\n add: core_1.Opt(core_1.BooleanNode())\r\n },\r\n 'minecraft:set_loot_table': {\r\n name: StringNode({ validator: 'resource', params: { pool: '$loot_table' } }),\r\n seed: core_1.Opt(core_1.NumberNode({ integer: true }))\r\n },\r\n 'minecraft:set_lore': {\r\n entity: core_1.Opt(entitySourceNode),\r\n lore: core_1.ListNode(Reference('text_component')),\r\n replace: core_1.Opt(core_1.BooleanNode())\r\n },\r\n 'minecraft:set_name': {\r\n entity: core_1.Opt(entitySourceNode),\r\n name: core_1.Opt(Reference('text_component'))\r\n },\r\n 'minecraft:set_nbt': {\r\n tag: StringNode({ validator: 'nbt', params: { registry: { category: 'minecraft:item' } } })\r\n },\r\n 'minecraft:set_stew_effect': {\r\n effects: core_1.Opt(core_1.ListNode(core_1.ObjectNode({\r\n type: StringNode({ validator: 'resource', params: { pool: 'mob_effect' } }),\r\n duration: Reference('number_provider')\r\n })))\r\n }\r\n };\r\n const res = {};\r\n collections.get('loot_function_type').forEach(f => {\r\n res[f] = { ...cases[f], ...conditions };\r\n });\r\n return res;\r\n };\r\n exports.DimensionTypePresets = (node) => core_1.ObjectOrPreset(StringNode({ validator: 'resource', params: { pool: '$dimension_type' } }), node, {\r\n 'minecraft:overworld': exports.DefaultDimensionType,\r\n 'minecraft:the_nether': {\r\n name: 'minecraft:the_nether',\r\n ultrawarm: true,\r\n natural: false,\r\n shrunk: true,\r\n piglin_safe: true,\r\n respawn_anchor_works: true,\r\n bed_works: false,\r\n has_raids: false,\r\n has_skylight: false,\r\n has_ceiling: true,\r\n ambient_light: 0.1,\r\n fixed_time: 18000,\r\n logical_height: 128,\r\n effects: 'minecraft:the_nether',\r\n infiniburn: 'minecraft:infiniburn_nether',\r\n min_y: 0,\r\n height: 256,\r\n },\r\n 'minecraft:the_end': {\r\n name: 'minecraft:the_end',\r\n ultrawarm: false,\r\n natural: false,\r\n shrunk: false,\r\n piglin_safe: false,\r\n respawn_anchor_works: false,\r\n bed_works: false,\r\n has_raids: true,\r\n has_skylight: false,\r\n has_ceiling: false,\r\n ambient_light: 0,\r\n fixed_time: 6000,\r\n logical_height: 256,\r\n effects: 'minecraft:the_end',\r\n infiniburn: 'minecraft:infiniburn_end',\r\n min_y: 0,\r\n height: 256,\r\n }\r\n });\r\n exports.NoiseSettingsPresets = (node) => core_1.ObjectOrPreset(StringNode({ validator: 'resource', params: { pool: '$worldgen/noise_settings' } }), node, {\r\n 'minecraft:overworld': exports.DefaultNoiseSettings,\r\n 'minecraft:nether': {\r\n name: 'minecraft:nether',\r\n bedrock_roof_position: 0,\r\n bedrock_floor_position: 0,\r\n sea_level: 32,\r\n disable_mob_generation: true,\r\n noise_caves_enabled: false,\r\n aquifers_enabled: false,\r\n deepslate_enabled: false,\r\n noise: {\r\n min_y: 0,\r\n height: 128,\r\n density_factor: 0,\r\n density_offset: 0.019921875,\r\n simplex_surface_noise: false,\r\n random_density_offset: false,\r\n size_horizontal: 1,\r\n size_vertical: 2,\r\n sampling: {\r\n xz_scale: 1,\r\n y_scale: 3,\r\n xz_factor: 80,\r\n y_factor: 60\r\n },\r\n top_slide: {\r\n target: 120,\r\n size: 3,\r\n offset: 0\r\n },\r\n bottom_slide: {\r\n target: 320,\r\n size: 4,\r\n offset: -1\r\n }\r\n },\r\n default_block: {\r\n Name: \"minecraft:netherrack\"\r\n },\r\n default_fluid: {\r\n Name: \"minecraft:lava\",\r\n Properties: {\r\n level: \"0\"\r\n }\r\n }\r\n },\r\n 'minecraft:end': {\r\n name: 'minecraft:end',\r\n bedrock_roof_position: -10,\r\n bedrock_floor_position: -10,\r\n sea_level: 0,\r\n disable_mob_generation: true,\r\n noise_caves_enabled: false,\r\n aquifers_enabled: false,\r\n deepslate_enabled: false,\r\n noise: {\r\n min_y: 0,\r\n height: 128,\r\n density_factor: 0,\r\n density_offset: 0,\r\n simplex_surface_noise: true,\r\n random_density_offset: false,\r\n island_noise_override: true,\r\n size_horizontal: 2,\r\n size_vertical: 1,\r\n sampling: {\r\n xz_scale: 2,\r\n y_scale: 1,\r\n xz_factor: 80,\r\n y_factor: 160\r\n },\r\n top_slide: {\r\n target: -3000,\r\n size: 64,\r\n offset: -46\r\n },\r\n bottom_slide: {\r\n target: -30,\r\n size: 7,\r\n offset: 1\r\n }\r\n },\r\n default_block: {\r\n Name: \"minecraft:end_stone\"\r\n },\r\n default_fluid: {\r\n Name: \"minecraft:air\"\r\n }\r\n },\r\n 'minecraft:amplified': {\r\n name: 'minecraft:amplified',\r\n bedrock_roof_position: -10,\r\n bedrock_floor_position: 0,\r\n sea_level: 63,\r\n disable_mob_generation: false,\r\n noise_caves_enabled: true,\r\n aquifers_enabled: true,\r\n deepslate_enabled: true,\r\n noise: {\r\n min_y: 0,\r\n height: 256,\r\n density_factor: 1,\r\n density_offset: -0.46875,\r\n simplex_surface_noise: true,\r\n random_density_offset: true,\r\n amplified: true,\r\n size_horizontal: 1,\r\n size_vertical: 2,\r\n sampling: {\r\n xz_scale: 1,\r\n y_scale: 1,\r\n xz_factor: 80,\r\n y_factor: 160\r\n },\r\n top_slide: {\r\n target: -10,\r\n size: 3,\r\n offset: 0\r\n },\r\n bottom_slide: {\r\n target: -30,\r\n size: 0,\r\n offset: 0\r\n }\r\n },\r\n default_block: {\r\n Name: \"minecraft:stone\"\r\n },\r\n default_fluid: {\r\n Name: \"minecraft:water\",\r\n Properties: {\r\n level: \"0\"\r\n }\r\n }\r\n },\r\n 'minecraft:caves': {\r\n name: 'minecraft:caves',\r\n bedrock_roof_position: 0,\r\n bedrock_floor_position: 0,\r\n sea_level: 32,\r\n disable_mob_generation: true,\r\n noise_caves_enabled: false,\r\n aquifers_enabled: false,\r\n deepslate_enabled: false,\r\n noise: {\r\n min_y: 0,\r\n height: 128,\r\n density_factor: 0,\r\n density_offset: 0.019921875,\r\n simplex_surface_noise: false,\r\n random_density_offset: false,\r\n size_horizontal: 1,\r\n size_vertical: 2,\r\n sampling: {\r\n xz_scale: 1,\r\n y_scale: 3,\r\n xz_factor: 80,\r\n y_factor: 60\r\n },\r\n top_slide: {\r\n target: 120,\r\n size: 3,\r\n offset: 0\r\n },\r\n bottom_slide: {\r\n target: 320,\r\n size: 4,\r\n offset: -1\r\n }\r\n },\r\n default_block: {\r\n Name: \"minecraft:stone\"\r\n },\r\n default_fluid: {\r\n Name: \"minecraft:water\",\r\n Properties: {\r\n level: \"0\"\r\n }\r\n }\r\n },\r\n 'minecraft:floating_islands': {\r\n name: 'minecraft:floating_islands',\r\n bedrock_roof_position: -10,\r\n bedrock_floor_position: -10,\r\n sea_level: 0,\r\n disable_mob_generation: true,\r\n noise_caves_enabled: false,\r\n aquifers_enabled: false,\r\n deepslate_enabled: false,\r\n noise: {\r\n min_y: 0,\r\n height: 128,\r\n density_factor: 0,\r\n density_offset: 0,\r\n simplex_surface_noise: true,\r\n random_density_offset: false,\r\n island_noise_override: true,\r\n size_horizontal: 2,\r\n size_vertical: 1,\r\n sampling: {\r\n xz_scale: 2,\r\n y_scale: 1,\r\n xz_factor: 80,\r\n y_factor: 160\r\n },\r\n top_slide: {\r\n target: -3000,\r\n size: 64,\r\n offset: -46\r\n },\r\n bottom_slide: {\r\n target: -30,\r\n size: 7,\r\n offset: 1\r\n }\r\n },\r\n default_block: {\r\n Name: \"minecraft:stone\"\r\n },\r\n default_fluid: {\r\n Name: \"minecraft:water\",\r\n Properties: {\r\n level: \"0\"\r\n }\r\n }\r\n }\r\n });\r\n}\r\nexports.initCommonSchemas = initCommonSchemas;\r\n","\"use strict\";\r\nObject.defineProperty(exports, \"__esModule\", { value: true });\r\nexports.initConditionSchemas = void 0;\r\nconst core_1 = require(\"@mcschema/core\");\r\nconst Common_1 = require(\"./Common\");\r\nfunction initConditionSchemas(schemas, collections) {\r\n const Reference = core_1.Reference.bind(undefined, schemas);\r\n const StringNode = core_1.StringNode.bind(undefined, collections);\r\n schemas.register('predicate', core_1.ObjectOrList(Reference('condition'), { choiceContext: 'condition' }));\r\n schemas.register('condition', core_1.Mod(core_1.ObjectNode({\r\n condition: StringNode({ validator: 'resource', params: { pool: 'loot_condition_type' } }),\r\n [core_1.Switch]: [{ push: 'condition' }],\r\n [core_1.Case]: Common_1.ConditionCases()\r\n }, { category: 'predicate', context: 'condition' }), {\r\n default: () => ({\r\n condition: 'minecraft:entity_properties',\r\n entity: 'this'\r\n })\r\n }));\r\n}\r\nexports.initConditionSchemas = initConditionSchemas;\r\n","\"use strict\";\r\nObject.defineProperty(exports, \"__esModule\", { value: true });\r\nexports.initDimensionSchemas = void 0;\r\nconst core_1 = require(\"@mcschema/core\");\r\nconst Common_1 = require(\"./Common\");\r\nfunction initDimensionSchemas(schemas, collections) {\r\n const Reference = core_1.Reference.bind(undefined, schemas);\r\n const StringNode = core_1.StringNode.bind(undefined, collections);\r\n const NoPreset = (node) => core_1.Mod(node, {\r\n enabled: path => path.push('preset').get() === undefined\r\n });\r\n schemas.register('dimension', core_1.Mod(core_1.ObjectNode({\r\n type: Common_1.DimensionTypePresets(Reference('dimension_type')),\r\n generator: core_1.ObjectNode({\r\n type: StringNode({ validator: 'resource', params: { pool: 'worldgen/chunk_generator' } }),\r\n [core_1.Switch]: [{ push: 'type' }],\r\n [core_1.Case]: {\r\n 'minecraft:noise': {\r\n seed: core_1.NumberNode({ integer: true }),\r\n settings: Common_1.NoiseSettingsPresets(Reference('noise_settings')),\r\n biome_source: core_1.ObjectNode({\r\n type: StringNode({ validator: 'resource', params: { pool: 'worldgen/biome_source' } }),\r\n [core_1.Switch]: [{ push: 'type' }],\r\n [core_1.Case]: {\r\n 'minecraft:fixed': {\r\n biome: StringNode({ validator: 'resource', params: { pool: '$worldgen/biome' } })\r\n },\r\n 'minecraft:multi_noise': {\r\n seed: core_1.NumberNode({ integer: true }),\r\n preset: core_1.Opt(StringNode({ enum: ['nether'] })),\r\n altitude_noise: NoPreset(Reference('generator_biome_noise')),\r\n temperature_noise: NoPreset(Reference('generator_biome_noise')),\r\n humidity_noise: NoPreset(Reference('generator_biome_noise')),\r\n weirdness_noise: NoPreset(Reference('generator_biome_noise')),\r\n biomes: NoPreset(core_1.Mod(core_1.ListNode(Reference('generator_biome')), {\r\n default: () => [{\r\n biome: 'minecraft:plains'\r\n }]\r\n }))\r\n },\r\n 'minecraft:checkerboard': {\r\n scale: core_1.Opt(core_1.NumberNode({ integer: true, min: 0, max: 62 })),\r\n biomes: core_1.ListNode(StringNode({ validator: 'resource', params: { pool: '$worldgen/biome' } }))\r\n },\r\n 'minecraft:the_end': {\r\n seed: core_1.NumberNode({ integer: true })\r\n },\r\n 'minecraft:vanilla_layered': {\r\n seed: core_1.NumberNode({ integer: true }),\r\n large_biomes: core_1.Opt(core_1.BooleanNode()),\r\n legacy_biome_init_layer: core_1.Opt(core_1.BooleanNode())\r\n }\r\n }\r\n }, { category: 'predicate', disableSwitchContext: true })\r\n },\r\n 'minecraft:flat': {\r\n settings: core_1.ObjectNode({\r\n biome: core_1.Opt(StringNode({ validator: 'resource', params: { pool: '$worldgen/biome' } })),\r\n lakes: core_1.Opt(core_1.BooleanNode()),\r\n features: core_1.Opt(core_1.BooleanNode()),\r\n layers: core_1.ListNode(Reference('generator_layer')),\r\n structures: Reference('generator_structures')\r\n })\r\n }\r\n }\r\n }, { disableSwitchContext: true })\r\n }, { category: 'pool', context: 'dimension' }), {\r\n default: () => {\r\n const seed = Math.floor(Math.random() * (4294967296)) - 2147483648;\r\n return {\r\n type: 'minecraft:overworld',\r\n generator: {\r\n type: 'minecraft:noise',\r\n seed,\r\n biome_source: {\r\n type: 'minecraft:fixed',\r\n seed,\r\n biome: 'minecraft:plains'\r\n },\r\n settings: 'minecraft:overworld'\r\n }\r\n };\r\n }\r\n }));\r\n schemas.register('generator_biome', core_1.Mod(core_1.ObjectNode({\r\n biome: StringNode({ validator: 'resource', params: { pool: '$worldgen/biome' } }),\r\n parameters: core_1.ObjectNode({\r\n altitude: core_1.NumberNode(),\r\n temperature: core_1.NumberNode(),\r\n humidity: core_1.NumberNode(),\r\n weirdness: core_1.NumberNode(),\r\n offset: core_1.NumberNode()\r\n })\r\n }, { context: 'generator_biome' }), {\r\n default: () => ({\r\n biome: 'minecraft:plains',\r\n parameters: {\r\n altitude: 0,\r\n temperature: 0,\r\n humidity: 0,\r\n weirdness: 0,\r\n offset: 0\r\n }\r\n })\r\n }));\r\n schemas.register('generator_biome_noise', core_1.Mod(core_1.ObjectNode({\r\n firstOctave: core_1.NumberNode({ integer: true }),\r\n amplitudes: core_1.ListNode(core_1.NumberNode())\r\n }, { context: 'generator_biome_noise' }), {\r\n default: () => ({\r\n firstOctave: -7,\r\n amplitudes: [1, 1]\r\n })\r\n }));\r\n}\r\nexports.initDimensionSchemas = initDimensionSchemas;\r\n","\"use strict\";\r\nObject.defineProperty(exports, \"__esModule\", { value: true });\r\nexports.initDimensionTypeSchemas = void 0;\r\nconst core_1 = require(\"@mcschema/core\");\r\nconst Common_1 = require(\"./Common\");\r\nfunction initDimensionTypeSchemas(schemas, collections) {\r\n const StringNode = core_1.StringNode.bind(undefined, collections);\r\n schemas.register('dimension_type', core_1.Mod(core_1.ObjectNode({\r\n name: core_1.Mod(StringNode({ validator: 'resource', params: { pool: '$dimension_type', isDefinition: true } }), {\r\n enabled: (path) => path.getArray().length > 0\r\n }),\r\n ultrawarm: core_1.BooleanNode(),\r\n natural: core_1.BooleanNode(),\r\n piglin_safe: core_1.BooleanNode(),\r\n respawn_anchor_works: core_1.BooleanNode(),\r\n bed_works: core_1.BooleanNode(),\r\n has_raids: core_1.BooleanNode(),\r\n has_skylight: core_1.BooleanNode(),\r\n has_ceiling: core_1.BooleanNode(),\r\n coordinate_scale: core_1.NumberNode({ min: 0.00001, max: 30000000 }),\r\n ambient_light: core_1.NumberNode(),\r\n fixed_time: core_1.Opt(core_1.NumberNode({ integer: true })),\r\n logical_height: core_1.NumberNode({ integer: true, min: 0, max: 4096 }),\r\n effects: core_1.Opt(StringNode({ enum: ['minecraft:overworld', 'minecraft:the_nether', 'minecraft:the_end'] })),\r\n infiniburn: StringNode({ validator: 'resource', params: { pool: '$tag/block' } }),\r\n min_y: core_1.NumberNode({ integer: true, min: -2048, max: 2047 }),\r\n height: core_1.NumberNode({ integer: true, min: 0, max: 4096 })\r\n }, { context: 'dimension_type' }), node => ({\r\n default: () => Common_1.DefaultDimensionType,\r\n validate: (path, value, errors, options) => {\r\n value = node.validate(path, value, errors, options);\r\n if ((value === null || value === void 0 ? void 0 : value.min_y) + (value === null || value === void 0 ? void 0 : value.height) > 2047) {\r\n errors.add(path.push('height'), 'error.min_y_plus_height', 2047);\r\n }\r\n if ((value === null || value === void 0 ? void 0 : value.logical_height) > (value === null || value === void 0 ? void 0 : value.height)) {\r\n errors.add(path.push('logical_height'), 'error.logical_height');\r\n }\r\n if ((value === null || value === void 0 ? void 0 : value.height) % 16 !== 0) {\r\n errors.add(path.push('height'), 'error.height_multiple', 16);\r\n }\r\n if ((value === null || value === void 0 ? void 0 : value.min_y) % 16 !== 0) {\r\n errors.add(path.push('min_y'), 'error.min_y_multiple', 16);\r\n }\r\n return value;\r\n }\r\n })));\r\n}\r\nexports.initDimensionTypeSchemas = initDimensionTypeSchemas;\r\n","\"use strict\";\r\nObject.defineProperty(exports, \"__esModule\", { value: true });\r\nexports.initItemModifierSchemas = void 0;\r\nconst core_1 = require(\"@mcschema/core\");\r\nconst Common_1 = require(\"./Common\");\r\nfunction initItemModifierSchemas(schemas, collections) {\r\n const Reference = core_1.Reference.bind(undefined, schemas);\r\n const StringNode = core_1.StringNode.bind(undefined, collections);\r\n schemas.register('item_modifier', core_1.ObjectOrList(Reference('function'), { choiceContext: 'function' }));\r\n const conditions = {\r\n conditions: core_1.Opt(core_1.ListNode(Reference('condition')))\r\n };\r\n schemas.register('function', core_1.Mod(core_1.ObjectNode({\r\n function: StringNode({ validator: 'resource', params: { pool: 'loot_function_type' } }),\r\n [core_1.Switch]: [{ push: 'function' }],\r\n [core_1.Case]: Common_1.FunctionCases(conditions)\r\n }, { category: 'function', context: 'function' }), {\r\n default: () => [{\r\n function: 'minecraft:set_count',\r\n count: 1\r\n }]\r\n }));\r\n}\r\nexports.initItemModifierSchemas = initItemModifierSchemas;\r\n","\"use strict\";\r\nObject.defineProperty(exports, \"__esModule\", { value: true });\r\nexports.LootFunctions = exports.LootConditions = exports.LootCopySources = exports.LootEntitySources = exports.LootTableTypes = void 0;\r\nexports.LootTableTypes = new Map([\r\n ['minecraft:advancement_entity', { requires: [7 /* Origin */, 8 /* ThisEntity */], allows: [] }],\r\n ['minecraft:advancement_reward', { requires: [7 /* Origin */, 8 /* ThisEntity */], allows: [] }],\r\n ['minecraft:barter', { requires: [8 /* ThisEntity */], allows: [] }],\r\n ['minecraft:block', { requires: [1 /* BlockState */, 7 /* Origin */, 9 /* Tool */], allows: [0 /* BlockEntity */, 4 /* ExplosionRadius */, 8 /* ThisEntity */] }],\r\n ['minecraft:chest', { requires: [7 /* Origin */], allows: [8 /* ThisEntity */] }],\r\n ['minecraft:command', { requires: [7 /* Origin */], allows: [8 /* ThisEntity */] }],\r\n ['minecraft:empty', { requires: [], allows: [] }],\r\n ['minecraft:entity', { requires: [2 /* DamageSource */, 7 /* Origin */, 8 /* ThisEntity */], allows: [3 /* DirectKillerEntity */, 5 /* KillerEntity */, 6 /* LastDamagePlayer */] }],\r\n ['minecraft:fishing', { requires: [7 /* Origin */, 9 /* Tool */], allows: [8 /* ThisEntity */] }],\r\n ['minecraft:generic', { requires: [2 /* DamageSource */, 0 /* BlockEntity */, 1 /* BlockState */, 3 /* DirectKillerEntity */, 4 /* ExplosionRadius */, 5 /* KillerEntity */, 6 /* LastDamagePlayer */, 7 /* Origin */, 8 /* ThisEntity */, 9 /* Tool */], allows: [] }],\r\n ['minecraft:gift', { requires: [7 /* Origin */, 8 /* ThisEntity */], allows: [] }],\r\n ['minecraft:selector', { requires: [7 /* Origin */], allows: [8 /* ThisEntity */] }]\r\n]);\r\n/**\r\n * A map from loot entity sources to an array of their required context.\r\n */\r\nexports.LootEntitySources = new Map([\r\n ['direct_killer', [3 /* DirectKillerEntity */]],\r\n ['killer', [5 /* KillerEntity */]],\r\n ['killer_player', [5 /* KillerEntity */]],\r\n ['this', [8 /* ThisEntity */]]\r\n]);\r\n/**\r\n * A map from loot copy sources to an array of their required context.\r\n */\r\nexports.LootCopySources = new Map([\r\n ['block_entity', [0 /* BlockEntity */]],\r\n ['killer', [5 /* KillerEntity */]],\r\n ['killer_player', [5 /* KillerEntity */]],\r\n ['this', [8 /* ThisEntity */]]\r\n]);\r\n/**\r\n * A map from loot condition IDs to an array of their required context.\r\n */\r\nexports.LootConditions = new Map([\r\n ['minecraft:alternative', []],\r\n ['minecraft:block_state_property', [1 /* BlockState */]],\r\n ['minecraft:damage_source_properties', [2 /* DamageSource */]],\r\n ['minecraft:entity_properties', [7 /* Origin */]],\r\n ['minecraft:entity_scores', []],\r\n ['minecraft:inverted', []],\r\n ['minecraft:killed_by_player', [6 /* LastDamagePlayer */]],\r\n ['minecraft:location_check', []],\r\n ['minecraft:match_tool', [9 /* Tool */]],\r\n ['minecraft:random_chance', []],\r\n ['minecraft:random_chance_with_looting', [5 /* KillerEntity */]],\r\n ['minecraft:reference', []],\r\n ['minecraft:survives_explosion', [4 /* ExplosionRadius */]],\r\n ['minecraft:table_bonus', [9 /* Tool */]],\r\n ['minecraft:time_check', []],\r\n ['minecraft:weather_check', []]\r\n]);\r\n/**\r\n * A map from loot function IDs to an array of their required context.\r\n */\r\nexports.LootFunctions = new Map([\r\n ['minecraft:apply_bonus', [9 /* Tool */]],\r\n ['minecraft:copy_name', []],\r\n ['minecraft:copy_nbt', []],\r\n ['minecraft:copy_state', [1 /* BlockState */]],\r\n ['minecraft:enchant_randomly', []],\r\n ['minecraft:enchant_with_levels', []],\r\n ['minecraft:exploration_map', [7 /* Origin */]],\r\n ['minecraft:explosion_decay', []],\r\n ['minecraft:fill_player_head', []],\r\n ['minecraft:furnace_smelt', []],\r\n ['minecraft:limit_count', []],\r\n ['minecraft:looting_enchant', [5 /* KillerEntity */]],\r\n ['minecraft:set_attributes', []],\r\n ['minecraft:set_banner_pattern', []],\r\n ['minecraft:set_contents', []],\r\n ['minecraft:set_count', []],\r\n ['minecraft:set_damage', []],\r\n ['minecraft:set_loot_table', []],\r\n ['minecraft:set_lore', []],\r\n ['minecraft:set_name', []],\r\n ['minecraft:set_nbt', []],\r\n ['minecraft:set_stew_effect', []]\r\n]);\r\n","\"use strict\";\r\nObject.defineProperty(exports, \"__esModule\", { value: true });\r\nexports.initLootTableSchemas = void 0;\r\nconst core_1 = require(\"@mcschema/core\");\r\nconst LootContext_1 = require(\"../LootContext\");\r\nconst Common_1 = require(\"./Common\");\r\nfunction initLootTableSchemas(schemas, collections) {\r\n const Reference = core_1.Reference.bind(undefined, schemas);\r\n const StringNode = core_1.StringNode.bind(undefined, collections);\r\n const conditions = {\r\n conditions: core_1.Opt(core_1.ListNode(Reference('loot_condition')))\r\n };\r\n const functionsAndConditions = {\r\n functions: core_1.Opt(core_1.ListNode(Reference('loot_function'))),\r\n ...conditions\r\n };\r\n function compileSwitchNode(contextMap, collectionID, getNode) {\r\n const cases = [];\r\n const getAvailableOptions = (providedContext) => collections\r\n .get(collectionID)\r\n .filter(t => {\r\n var _a;\r\n const requiredContext = (_a = contextMap.get(t)) !== null && _a !== void 0 ? _a : [];\r\n return requiredContext.every(c => providedContext.includes(c));\r\n });\r\n for (const [tableType, { allows, requires }] of LootContext_1.LootTableTypes) {\r\n const providedContext = [...allows, ...requires];\r\n cases.push({\r\n match: path => path.getModel().get(new core_1.Path(['type'])) === tableType,\r\n node: getNode(getAvailableOptions(providedContext))\r\n });\r\n }\r\n cases.push({ match: _ => true, node: getNode(collectionID) });\r\n return core_1.SwitchNode(cases);\r\n }\r\n const conditionIDSwtichNode = compileSwitchNode(LootContext_1.LootConditions, 'loot_condition_type', type => StringNode({ validator: 'resource', params: { pool: type instanceof Array ? type : `loot_condition_type` } }));\r\n const functionIDSwtichNode = compileSwitchNode(LootContext_1.LootFunctions, 'loot_function_type', type => StringNode({ validator: 'resource', params: { pool: type instanceof Array ? type : `loot_function_type` } }));\r\n const entitySourceSwtichNode = compileSwitchNode(LootContext_1.LootEntitySources, 'entity_source', type => StringNode({ enum: type }));\r\n const copySourceSwtichNode = compileSwitchNode(LootContext_1.LootCopySources, 'copy_source', type => StringNode({ enum: type }));\r\n schemas.register('loot_table', core_1.Mod(core_1.ObjectNode({\r\n type: core_1.Opt(StringNode({ validator: \"resource\", params: { pool: collections.get('loot_context_type') } })),\r\n pools: core_1.Opt(core_1.ListNode(core_1.Mod(core_1.ObjectNode({\r\n rolls: Reference('number_provider'),\r\n bonus_rolls: core_1.Opt(Reference('number_provider')),\r\n entries: core_1.ListNode(Reference('loot_entry')),\r\n ...functionsAndConditions\r\n }, { category: 'pool', context: 'loot_pool' }), {\r\n default: () => ({\r\n rolls: 1,\r\n entries: [{\r\n type: 'minecraft:item',\r\n name: 'minecraft:stone'\r\n }]\r\n })\r\n }))),\r\n functions: core_1.Opt(core_1.ListNode(Reference('loot_function')))\r\n }, { context: 'loot_table' }), {\r\n default: () => ({\r\n pools: [{\r\n rolls: 1,\r\n entries: [{\r\n type: 'minecraft:item',\r\n name: 'minecraft:stone'\r\n }]\r\n }]\r\n })\r\n }));\r\n const weightMod = {\r\n enabled: path => {\r\n var _a;\r\n return ((_a = path.pop().get()) === null || _a === void 0 ? void 0 : _a.length) > 1\r\n && !['minecraft:alternatives', 'minecraft:group', 'minecraft:sequence'].includes(path.push('type').get());\r\n }\r\n };\r\n schemas.register('loot_entry', core_1.Mod(core_1.ObjectNode({\r\n type: StringNode({ validator: 'resource', params: { pool: 'loot_pool_entry_type' } }),\r\n weight: core_1.Opt(core_1.Mod(core_1.NumberNode({ integer: true, min: 1 }), weightMod)),\r\n quality: core_1.Opt(core_1.Mod(core_1.NumberNode({ integer: true }), weightMod)),\r\n [core_1.Switch]: [{ push: 'type' }],\r\n [core_1.Case]: {\r\n 'minecraft:alternatives': {\r\n children: core_1.ListNode(Reference('loot_entry')),\r\n ...functionsAndConditions\r\n },\r\n 'minecraft:dynamic': {\r\n name: StringNode(),\r\n ...functionsAndConditions\r\n },\r\n 'minecraft:group': {\r\n children: core_1.ListNode(Reference('loot_entry')),\r\n ...functionsAndConditions\r\n },\r\n 'minecraft:item': {\r\n name: StringNode({ validator: 'resource', params: { pool: 'item' } }),\r\n ...functionsAndConditions\r\n },\r\n 'minecraft:loot_table': {\r\n name: StringNode({ validator: 'resource', params: { pool: '$loot_table' } }),\r\n ...functionsAndConditions\r\n },\r\n 'minecraft:sequence': {\r\n children: core_1.ListNode(Reference('loot_entry')),\r\n ...functionsAndConditions\r\n },\r\n 'minecraft:tag': {\r\n name: StringNode({ validator: 'resource', params: { pool: '$tag/item' } }),\r\n expand: core_1.Opt(core_1.BooleanNode()),\r\n ...functionsAndConditions\r\n }\r\n }\r\n }, { context: 'loot_entry' }), {\r\n default: () => ({\r\n type: 'minecraft:item',\r\n name: 'minecraft:stone'\r\n })\r\n }));\r\n schemas.register('loot_function', core_1.Mod(core_1.ObjectNode({\r\n function: functionIDSwtichNode,\r\n [core_1.Switch]: [{ push: 'function' }],\r\n [core_1.Case]: Common_1.FunctionCases(conditions, copySourceSwtichNode, entitySourceSwtichNode)\r\n }, { category: 'function', context: 'function' }), {\r\n default: () => ({\r\n function: 'minecraft:set_count',\r\n count: 1\r\n })\r\n }));\r\n schemas.register('loot_condition', core_1.Mod(core_1.ObjectNode({\r\n condition: conditionIDSwtichNode,\r\n [core_1.Switch]: [{ push: 'condition' }],\r\n [core_1.Case]: Common_1.ConditionCases(entitySourceSwtichNode)\r\n }, { category: 'predicate', context: 'condition' }), {\r\n default: () => ({\r\n condition: 'minecraft:random_chance',\r\n chance: 0.5\r\n })\r\n }));\r\n schemas.register('attribute_modifier', core_1.Mod(core_1.ObjectNode({\r\n attribute: StringNode({ validator: 'resource', params: { pool: 'attribute' } }),\r\n name: StringNode(),\r\n amount: Reference('number_provider'),\r\n operation: StringNode({ enum: ['addition', 'multiply_base', 'multiply_total'] }),\r\n slot: core_1.StringOrList(StringNode({ enum: 'slot' }))\r\n }, { context: 'attribute_modifier' }), {\r\n default: () => ({\r\n attribute: 'minecraft:generic.max_health',\r\n name: '',\r\n amount: 1,\r\n operation: 'addition',\r\n slot: 'mainhand'\r\n })\r\n }));\r\n}\r\nexports.initLootTableSchemas = initLootTableSchemas;\r\n","\"use strict\";\r\nObject.defineProperty(exports, \"__esModule\", { value: true });\r\nexports.initPackMcmetaSchemas = void 0;\r\nconst core_1 = require(\"@mcschema/core\");\r\nconst CURRENT_PACK_FORMAT = 7;\r\nfunction initPackMcmetaSchemas(schemas, _) {\r\n const getSimpleString = (jsonText) => { var _a, _b; return jsonText instanceof Array ? getSimpleString(jsonText[0]) : (_b = (_a = jsonText === null || jsonText === void 0 ? void 0 : jsonText.text) !== null && _a !== void 0 ? _a : jsonText === null || jsonText === void 0 ? void 0 : jsonText.toString()) !== null && _b !== void 0 ? _b : ''; };\r\n schemas.register('pack_mcmeta', core_1.Mod(core_1.ObjectNode({\r\n pack: core_1.Mod(core_1.ObjectNode({\r\n pack_format: core_1.Mod(core_1.NumberNode({ integer: true, min: CURRENT_PACK_FORMAT, max: CURRENT_PACK_FORMAT }), {\r\n default: () => CURRENT_PACK_FORMAT,\r\n canUpdate: (_p, v) => v !== CURRENT_PACK_FORMAT,\r\n update: () => [{ name: 'pack_format', params: [CURRENT_PACK_FORMAT], newValue: CURRENT_PACK_FORMAT }]\r\n }),\r\n description: core_1.Reference(schemas, 'text_component')\r\n }), {\r\n default: () => ({\r\n pack_format: CURRENT_PACK_FORMAT,\r\n description: ''\r\n })\r\n })\r\n }), {\r\n default: () => ({\r\n pack: {\r\n pack_format: CURRENT_PACK_FORMAT,\r\n description: ''\r\n }\r\n })\r\n }));\r\n}\r\nexports.initPackMcmetaSchemas = initPackMcmetaSchemas;\r\n","\"use strict\";\r\nObject.defineProperty(exports, \"__esModule\", { value: true });\r\nexports.initPredicatesSchemas = void 0;\r\nconst core_1 = require(\"@mcschema/core\");\r\nfunction initPredicatesSchemas(schemas, collections) {\r\n const Reference = core_1.Reference.bind(undefined, schemas);\r\n const StringNode = core_1.StringNode.bind(undefined, collections);\r\n const StateChoice = core_1.ChoiceNode([\r\n {\r\n type: 'string',\r\n node: StringNode(),\r\n change: v => (typeof v === 'boolean' || typeof v === 'number') ? v.toString() : ''\r\n },\r\n {\r\n type: 'number',\r\n node: core_1.NumberNode(),\r\n change: v => (typeof v === 'string') ? parseInt(v) : 0\r\n },\r\n {\r\n type: 'object',\r\n node: core_1.ObjectNode({\r\n min: core_1.Opt(core_1.NumberNode({ integer: true })),\r\n max: core_1.Opt(core_1.NumberNode({ integer: true }))\r\n }),\r\n change: v => (typeof v === 'number') ? ({ min: v, max: v }) : ({})\r\n },\r\n {\r\n type: 'boolean',\r\n node: core_1.BooleanNode(),\r\n change: v => v === 'true' || v === 1\r\n }\r\n ]);\r\n schemas.register('item_predicate', core_1.ObjectNode({\r\n items: core_1.Opt(core_1.ListNode(StringNode({ validator: 'resource', params: { pool: 'item' } }))),\r\n tag: core_1.Opt(StringNode({ validator: 'resource', params: { pool: '$tag/item' } })),\r\n count: Reference('int_bounds'),\r\n durability: Reference('int_bounds'),\r\n potion: core_1.Opt(StringNode({ validator: 'resource', params: { pool: 'potion' } })),\r\n nbt: core_1.Opt(StringNode({ validator: 'nbt', params: { registry: { category: 'minecraft:item', id: ['pop', { push: 'item' }] } } })),\r\n enchantments: core_1.Opt(core_1.ListNode(Reference('enchantment_predicate')))\r\n }, { context: 'item' }));\r\n schemas.register('enchantment_predicate', core_1.ObjectNode({\r\n enchantment: core_1.Opt(StringNode({ validator: 'resource', params: { pool: 'enchantment' } })),\r\n levels: Reference('int_bounds')\r\n }, { context: 'enchantment' }));\r\n schemas.register('block_predicate', core_1.ObjectNode({\r\n blocks: core_1.Opt(core_1.ListNode(StringNode({ validator: 'resource', params: { pool: 'block' } }))),\r\n tag: core_1.Opt(StringNode({ validator: 'resource', params: { pool: '$tag/block' } })),\r\n nbt: core_1.Opt(StringNode({ validator: 'nbt', params: { registry: { category: 'minecraft:block', id: ['pop', { push: 'block' }] } } })),\r\n state: core_1.Opt(core_1.MapNode(StringNode(), StateChoice, { validation: { validator: 'block_state_map', params: { id: ['pop', { push: 'block' }] } } }))\r\n }, { context: 'block' }));\r\n schemas.register('fluid_predicate', core_1.ObjectNode({\r\n fluid: core_1.Opt(StringNode({ validator: 'resource', params: { pool: 'fluid' } })),\r\n tag: core_1.Opt(StringNode({ validator: 'resource', params: { pool: '$tag/fluid' } })),\r\n state: core_1.Opt(core_1.MapNode(StringNode(), StateChoice))\r\n }, { context: 'fluid' }));\r\n schemas.register('location_predicate', core_1.ObjectNode({\r\n position: core_1.Opt(core_1.ObjectNode({\r\n x: Reference('float_bounds'),\r\n y: Reference('float_bounds'),\r\n z: Reference('float_bounds')\r\n })),\r\n biome: core_1.Opt(StringNode({ validator: 'resource', params: { pool: '$worldgen/biome' } })),\r\n feature: core_1.Opt(StringNode({ enum: collections.get('worldgen/structure_feature').map(v => v.slice(10)) })),\r\n dimension: core_1.Opt(StringNode({ validator: 'resource', params: { pool: '$dimension' } })),\r\n light: core_1.Opt(core_1.ObjectNode({\r\n light: Reference('int_bounds')\r\n })),\r\n smokey: core_1.Opt(core_1.BooleanNode()),\r\n block: core_1.Opt(Reference('block_predicate')),\r\n fluid: core_1.Opt(Reference('fluid_predicate'))\r\n }, { context: 'location' }));\r\n schemas.register('statistic_predicate', core_1.ObjectNode({\r\n type: StringNode({ validator: 'resource', params: { pool: 'stat_type' } }),\r\n stat: StringNode(),\r\n value: Reference('int_bounds'),\r\n [core_1.Switch]: [{ push: 'type' }],\r\n [core_1.Case]: {\r\n 'minecraft:mined': {\r\n stat: StringNode({ validator: 'resource', params: { pool: 'block' } })\r\n },\r\n 'minecraft:crafted': {\r\n stat: StringNode({ validator: 'resource', params: { pool: 'item' } })\r\n },\r\n 'minecraft:used': {\r\n stat: StringNode({ validator: 'resource', params: { pool: 'item' } })\r\n },\r\n 'minecraft:broken': {\r\n stat: StringNode({ validator: 'resource', params: { pool: 'item' } })\r\n },\r\n 'minecraft:picked_up': {\r\n stat: StringNode({ validator: 'resource', params: { pool: 'item' } })\r\n },\r\n 'minecraft:dropped': {\r\n stat: StringNode({ validator: 'resource', params: { pool: 'item' } })\r\n },\r\n 'minecraft:killed': {\r\n stat: StringNode({ validator: 'resource', params: { pool: 'entity_type' } })\r\n },\r\n 'minecraft:killed_by': {\r\n stat: StringNode({ validator: 'resource', params: { pool: 'entity_type' } })\r\n },\r\n 'minecraft:custom': {\r\n stat: StringNode({ validator: 'resource', params: { pool: 'custom_stat' } })\r\n }\r\n }\r\n }));\r\n schemas.register('player_predicate', core_1.ObjectNode({\r\n gamemode: core_1.Opt(StringNode({ enum: 'gamemode' })),\r\n level: Reference('int_bounds'),\r\n advancements: core_1.Opt(core_1.MapNode(StringNode({ validator: 'resource', params: { pool: '$advancement' } }), core_1.ChoiceNode([\r\n { type: 'boolean', node: core_1.BooleanNode(), change: _ => true },\r\n {\r\n type: 'object', node: core_1.MapNode(StringNode(), core_1.BooleanNode())\r\n }\r\n ]))),\r\n recipes: core_1.Opt(core_1.MapNode(StringNode({ validator: 'resource', params: { pool: '$recipe' } }), core_1.BooleanNode())),\r\n stats: core_1.Opt(core_1.ListNode(Reference('statistic_predicate'))),\r\n looking_at: core_1.Opt(Reference('entity_predicate'))\r\n }, { context: 'player' }));\r\n schemas.register('status_effect_predicate', core_1.ObjectNode({\r\n amplifier: Reference('int_bounds'),\r\n duration: Reference('int_bounds'),\r\n ambient: core_1.Opt(core_1.BooleanNode()),\r\n visible: core_1.Opt(core_1.BooleanNode())\r\n }, { context: 'status_effect' }));\r\n schemas.register('distance_predicate', core_1.ObjectNode({\r\n x: Reference('float_bounds'),\r\n y: Reference('float_bounds'),\r\n z: Reference('float_bounds'),\r\n absolute: Reference('float_bounds'),\r\n horizontal: Reference('float_bounds')\r\n }, { context: 'distance' }));\r\n schemas.register('entity_predicate', core_1.ObjectNode({\r\n type: core_1.Opt(StringNode({ validator: 'resource', params: { pool: 'entity_type', allowTag: true } })),\r\n nbt: core_1.Opt(StringNode({ validator: 'nbt', params: { registry: { category: 'minecraft:entity', id: ['pop', { push: 'type' }] } } })),\r\n team: core_1.Opt(StringNode({ validator: 'team' })),\r\n location: core_1.Opt(Reference('location_predicate')),\r\n stepping_on: core_1.Opt(Reference('location_predicate')),\r\n distance: core_1.Opt(Reference('distance_predicate')),\r\n flags: core_1.Opt(core_1.ObjectNode({\r\n is_on_fire: core_1.Opt(core_1.BooleanNode()),\r\n is_sneaking: core_1.Opt(core_1.BooleanNode()),\r\n is_sprinting: core_1.Opt(core_1.BooleanNode()),\r\n is_swimming: core_1.Opt(core_1.BooleanNode()),\r\n is_baby: core_1.Opt(core_1.BooleanNode())\r\n })),\r\n equipment: core_1.Opt(core_1.MapNode(StringNode({ enum: 'slot' }), Reference('item_predicate'))),\r\n player: core_1.Opt(Reference('player_predicate')),\r\n vehicle: core_1.Opt(Reference('entity_predicate')),\r\n passenger: core_1.Opt(Reference('entity_predicate')),\r\n targeted_entity: core_1.Opt(Reference('entity_predicate')),\r\n lightning_bolt: core_1.Opt(core_1.ObjectNode({\r\n blocks_set_on_fire: core_1.Opt(Reference('int_bounds')),\r\n entity_struck: core_1.Opt(Reference('entity_predicate'))\r\n })),\r\n fishing_hook: core_1.Opt(core_1.ObjectNode({\r\n in_open_water: core_1.Opt(core_1.BooleanNode())\r\n })),\r\n effects: core_1.Opt(core_1.MapNode(StringNode({ validator: 'resource', params: { pool: 'mob_effect' } }), Reference('status_effect_predicate')))\r\n }, { context: 'entity' }));\r\n schemas.register('damage_source_predicate', core_1.ObjectNode({\r\n is_explosion: core_1.Opt(core_1.BooleanNode()),\r\n is_fire: core_1.Opt(core_1.BooleanNode()),\r\n is_magic: core_1.Opt(core_1.BooleanNode()),\r\n is_projectile: core_1.Opt(core_1.BooleanNode()),\r\n is_lightning: core_1.Opt(core_1.BooleanNode()),\r\n bypasses_armor: core_1.Opt(core_1.BooleanNode()),\r\n bypasses_invulnerability: core_1.Opt(core_1.BooleanNode()),\r\n bypasses_magic: core_1.Opt(core_1.BooleanNode()),\r\n source_entity: core_1.Opt(Reference('entity_predicate')),\r\n direct_entity: core_1.Opt(Reference('entity_predicate'))\r\n }, { context: 'damage_source' }));\r\n schemas.register('damage_predicate', core_1.ObjectNode({\r\n dealt: Reference('float_bounds'),\r\n taken: Reference('float_bounds'),\r\n blocked: core_1.Opt(core_1.BooleanNode()),\r\n source_entity: core_1.Opt(Reference('entity_predicate')),\r\n type: core_1.Opt(Reference('damage_source_predicate'))\r\n }, { context: 'damage' }));\r\n}\r\nexports.initPredicatesSchemas = initPredicatesSchemas;\r\n","\"use strict\";\r\nObject.defineProperty(exports, \"__esModule\", { value: true });\r\nexports.initRecipeSchemas = void 0;\r\nconst core_1 = require(\"@mcschema/core\");\r\nfunction initRecipeSchemas(schemas, collections) {\r\n const Reference = core_1.Reference.bind(undefined, schemas);\r\n const StringNode = core_1.StringNode.bind(undefined, collections);\r\n schemas.register('recipe', core_1.Mod(core_1.ObjectNode({\r\n type: StringNode({ validator: 'resource', params: { pool: 'recipe_serializer' } }),\r\n [core_1.Switch]: [{ push: 'type' }],\r\n [core_1.Case]: {\r\n 'minecraft:crafting_shaped': {\r\n group: core_1.Opt(StringNode({ enum: 'recipe_group', additional: true })),\r\n pattern: core_1.ListNode(StringNode()),\r\n key: core_1.MapNode(StringNode(), // TODO: add validation\r\n Reference('recipe_ingredient')),\r\n result: Reference('recipe_result')\r\n },\r\n 'minecraft:crafting_shapeless': {\r\n group: core_1.Opt(StringNode()),\r\n ingredients: core_1.ListNode(Reference('recipe_ingredient')),\r\n result: Reference('recipe_result')\r\n },\r\n 'minecraft:smelting': {\r\n group: core_1.Opt(StringNode()),\r\n ingredient: Reference('recipe_ingredient'),\r\n result: StringNode({ validator: 'resource', params: { pool: 'item' } }),\r\n experience: core_1.Opt(core_1.NumberNode()),\r\n cookingtime: core_1.Opt(core_1.Mod(core_1.NumberNode({ integer: true }), { default: () => 200 }))\r\n },\r\n 'minecraft:blasting': {\r\n group: core_1.Opt(StringNode()),\r\n ingredient: Reference('recipe_ingredient'),\r\n result: StringNode({ validator: 'resource', params: { pool: 'item' } }),\r\n experience: core_1.Opt(core_1.NumberNode()),\r\n cookingtime: core_1.Opt(core_1.Mod(core_1.NumberNode({ integer: true }), { default: () => 100 }))\r\n },\r\n 'minecraft:smoking': {\r\n group: core_1.Opt(StringNode()),\r\n ingredient: Reference('recipe_ingredient'),\r\n result: StringNode({ validator: 'resource', params: { pool: 'item' } }),\r\n experience: core_1.Opt(core_1.NumberNode()),\r\n cookingtime: core_1.Opt(core_1.Mod(core_1.NumberNode({ integer: true }), { default: () => 100 }))\r\n },\r\n 'minecraft:campfire_cooking': {\r\n group: core_1.Opt(StringNode()),\r\n ingredient: Reference('recipe_ingredient'),\r\n result: StringNode({ validator: 'resource', params: { pool: 'item' } }),\r\n experience: core_1.Opt(core_1.NumberNode()),\r\n cookingtime: core_1.Opt(core_1.Mod(core_1.NumberNode({ integer: true }), { default: () => 100 }))\r\n },\r\n 'minecraft:stonecutting': {\r\n group: core_1.Opt(StringNode()),\r\n ingredient: Reference('recipe_ingredient'),\r\n result: StringNode({ validator: 'resource', params: { pool: 'item' } }),\r\n count: core_1.NumberNode({ integer: true })\r\n },\r\n 'minecraft:smithing': {\r\n group: core_1.Opt(StringNode()),\r\n base: Reference('recipe_ingredient_object'),\r\n addition: Reference('recipe_ingredient_object'),\r\n result: Reference('recipe_result')\r\n }\r\n }\r\n }, { context: 'recipe' }), {\r\n default: () => ({\r\n type: 'minecraft:crafting_shaped'\r\n })\r\n }));\r\n schemas.register('recipe_ingredient', core_1.Mod(core_1.ChoiceNode([\r\n {\r\n type: 'object',\r\n node: Reference('recipe_ingredient_object'),\r\n change: v => v[0]\r\n },\r\n {\r\n type: 'list',\r\n node: core_1.ListNode(Reference('recipe_ingredient_object')),\r\n change: v => [v]\r\n }\r\n ]), {\r\n default: () => ({\r\n item: 'minecraft:stone'\r\n })\r\n }));\r\n schemas.register('recipe_ingredient_object', core_1.Mod(core_1.ObjectNode({\r\n item: core_1.Opt(StringNode({ validator: 'resource', params: { pool: 'item' } })),\r\n tag: core_1.Opt(StringNode({ validator: 'resource', params: { pool: '$tag/item' } }))\r\n }), {\r\n default: () => ({\r\n item: 'minecraft:stone'\r\n })\r\n }));\r\n schemas.register('recipe_result', core_1.Mod(core_1.ObjectNode({\r\n item: StringNode({ validator: 'resource', params: { pool: 'item' } }),\r\n count: core_1.Opt(core_1.Mod(core_1.NumberNode({ integer: true }), { default: () => 1 }))\r\n }), {\r\n default: () => ({\r\n item: 'minecraft:stone'\r\n })\r\n }));\r\n}\r\nexports.initRecipeSchemas = initRecipeSchemas;\r\n","\"use strict\";\r\nObject.defineProperty(exports, \"__esModule\", { value: true });\r\nexports.initTagsSchemas = void 0;\r\nconst core_1 = require(\"@mcschema/core\");\r\nfunction initTagsSchemas(schemas, collections) {\r\n const StringNode = core_1.StringNode.bind(undefined, collections);\r\n const TagBase = (type) => core_1.Mod(core_1.ObjectNode({\r\n replace: core_1.Opt(core_1.BooleanNode()),\r\n values: core_1.ListNode(core_1.ChoiceNode([\r\n {\r\n type: 'string',\r\n node: StringNode({ validator: 'resource', params: { pool: type, allowTag: true } }),\r\n change: v => v.id\r\n },\r\n {\r\n type: 'object',\r\n node: core_1.ObjectNode({\r\n id: StringNode({ validator: 'resource', params: { pool: type, allowTag: true, allowUnknown: true } }),\r\n required: core_1.BooleanNode()\r\n }),\r\n change: v => ({ id: v })\r\n }\r\n ])),\r\n }, { context: 'tag' }), {\r\n default: () => ({\r\n values: []\r\n })\r\n });\r\n schemas.register('block_tag', TagBase('block'));\r\n schemas.register('entity_type_tag', TagBase('entity_type'));\r\n schemas.register('fluid_tag', TagBase('fluid'));\r\n schemas.register('function_tag', TagBase('$function'));\r\n schemas.register('game_event_tag', TagBase('game_event'));\r\n schemas.register('item_tag', TagBase('item'));\r\n}\r\nexports.initTagsSchemas = initTagsSchemas;\r\n","\"use strict\";\r\nObject.defineProperty(exports, \"__esModule\", { value: true });\r\nexports.initTextComponentSchemas = void 0;\r\nconst core_1 = require(\"@mcschema/core\");\r\nfunction initTextComponentSchemas(schemas, collections) {\r\n const Reference = core_1.Reference.bind(undefined, schemas);\r\n const StringNode = core_1.StringNode.bind(undefined, collections);\r\n const getSimpleString = (v) => { var _a; return v instanceof Array ? getSimpleString(v[0]) : (_a = v === null || v === void 0 ? void 0 : v.text) !== null && _a !== void 0 ? _a : (typeof v === 'object' ? '' : v === null || v === void 0 ? void 0 : v.toString()); };\r\n schemas.register('text_component', core_1.Mod(core_1.ChoiceNode([\r\n {\r\n type: 'object',\r\n node: Reference('text_component_object'),\r\n change: v => v instanceof Array ? (typeof v[0] === 'object' ? v[0] : { text: getSimpleString(v[0]) }) : typeof v === 'object' ? v : { text: getSimpleString(v) }\r\n },\r\n {\r\n type: 'list',\r\n node: Reference('text_component_list'),\r\n change: v => [v]\r\n },\r\n {\r\n type: 'string',\r\n priority: 1,\r\n node: StringNode(),\r\n change: getSimpleString\r\n },\r\n {\r\n type: 'number',\r\n node: core_1.NumberNode(),\r\n change: v => {\r\n const n = parseFloat(getSimpleString(v));\r\n return isFinite(n) ? n : (!!v ? 1 : 0);\r\n }\r\n },\r\n {\r\n type: 'boolean',\r\n node: core_1.BooleanNode(),\r\n change: v => {\r\n const s = getSimpleString(v);\r\n return s === 'true' || s === 'false' ? s === 'true' : !!s;\r\n }\r\n }\r\n ], { context: 'text_component' }), {\r\n default: () => ({\r\n text: \"\"\r\n })\r\n }));\r\n const CommonFields = {\r\n color: core_1.Opt(StringNode()) /* TODO */,\r\n font: core_1.Opt(StringNode()),\r\n bold: core_1.Opt(core_1.BooleanNode()),\r\n italic: core_1.Opt(core_1.BooleanNode()),\r\n underlined: core_1.Opt(core_1.BooleanNode()),\r\n strikethrough: core_1.Opt(core_1.BooleanNode()),\r\n obfuscated: core_1.Opt(core_1.BooleanNode()),\r\n insertion: core_1.Opt(StringNode()),\r\n clickEvent: core_1.Opt(core_1.ObjectNode({\r\n action: StringNode({ enum: ['open_url', 'open_file', 'run_command', 'suggest_command', 'change_page', 'copy_to_clipboard'] }),\r\n [core_1.Switch]: [{ push: 'action' }],\r\n [core_1.Case]: {\r\n 'change_page': {\r\n value: StringNode()\r\n },\r\n 'copy_to_clipboard': {\r\n value: StringNode()\r\n },\r\n 'open_file': {\r\n value: StringNode()\r\n },\r\n 'open_url': {\r\n value: StringNode()\r\n },\r\n 'run_command': {\r\n value: StringNode({ validator: 'command', params: { leadingSlash: true, allowPartial: true } })\r\n },\r\n 'suggest_command': {\r\n value: StringNode({ validator: 'command', params: { leadingSlash: true, allowPartial: true } })\r\n }\r\n }\r\n })),\r\n hoverEvent: core_1.Opt(core_1.ObjectNode({\r\n action: StringNode({ enum: ['show_text', 'show_item', 'show_entity'] }),\r\n [core_1.Switch]: [{ push: 'action' }],\r\n [core_1.Case]: {\r\n 'show_text': {\r\n value: core_1.Opt(Reference('text_component')),\r\n contents: core_1.Opt(Reference('text_component'))\r\n },\r\n 'show_item': {\r\n value: core_1.Opt(StringNode({ validator: 'nbt', params: { module: 'util::InventoryItem' } })),\r\n contents: core_1.Opt(core_1.ObjectNode({\r\n id: StringNode({ validator: 'resource', params: { pool: 'item' } }),\r\n count: core_1.Opt(core_1.NumberNode({ integer: true })),\r\n tag: core_1.Opt(StringNode({ validator: 'nbt', params: { registry: { category: 'minecraft:item', id: ['pop', { push: 'id' }] } } }))\r\n }))\r\n },\r\n 'show_entity': {\r\n value: core_1.Opt(core_1.ObjectNode({\r\n name: core_1.Opt(StringNode()),\r\n type: core_1.Opt(StringNode()),\r\n id: core_1.Opt(StringNode())\r\n })),\r\n contents: core_1.Opt(core_1.Mod(core_1.ObjectNode({\r\n name: core_1.Opt(Reference('text_component')),\r\n type: StringNode({ validator: 'resource', params: { pool: 'entity_type' } }),\r\n id: StringNode({ validator: 'uuid' })\r\n }), {\r\n default: () => ({\r\n type: 'minecraft:pig',\r\n id: '00000001-0001-0001-0001-000000000001'\r\n })\r\n }))\r\n }\r\n }\r\n })),\r\n extra: core_1.Opt(Reference('text_component_list'))\r\n };\r\n schemas.register('text_component_object', core_1.Mod(core_1.ChoiceNode([\r\n {\r\n type: 'text',\r\n match: v => typeof v === 'object',\r\n change: v => ({ text: '' }),\r\n priority: -1,\r\n node: core_1.ObjectNode({\r\n text: StringNode(),\r\n ...CommonFields\r\n })\r\n },\r\n {\r\n type: 'translation',\r\n match: v => (v === null || v === void 0 ? void 0 : v.translate) !== undefined,\r\n change: v => ({ translate: '' }),\r\n node: core_1.ObjectNode({\r\n translate: StringNode(),\r\n with: core_1.Opt(Reference('text_component_list')),\r\n ...CommonFields\r\n })\r\n },\r\n {\r\n type: 'score',\r\n match: v => (v === null || v === void 0 ? void 0 : v.score) !== undefined,\r\n change: v => ({ score: {} }),\r\n node: core_1.ObjectNode({\r\n score: core_1.ObjectNode({\r\n name: StringNode({ validator: 'entity', params: { amount: 'single', type: 'entities', isScoreHolder: true } }),\r\n objective: StringNode({ validator: 'objective' }),\r\n value: core_1.Opt(StringNode())\r\n }),\r\n ...CommonFields\r\n })\r\n },\r\n {\r\n type: 'selector',\r\n match: v => (v === null || v === void 0 ? void 0 : v.selector) !== undefined,\r\n change: v => ({ selector: '' }),\r\n node: core_1.ObjectNode({\r\n selector: StringNode({ validator: 'entity', params: { amount: 'multiple', type: 'entities' } }),\r\n separator: core_1.Opt(Reference('text_component')),\r\n ...CommonFields\r\n })\r\n },\r\n {\r\n type: 'keybind',\r\n match: v => (v === null || v === void 0 ? void 0 : v.keybind) !== undefined,\r\n change: v => ({ keybind: '' }),\r\n node: core_1.ObjectNode({\r\n keybind: StringNode({ enum: 'keybind', additional: true }),\r\n ...CommonFields\r\n })\r\n },\r\n {\r\n type: 'nbt',\r\n match: v => (v === null || v === void 0 ? void 0 : v.nbt) !== undefined,\r\n change: v => ({ nbt: '' }),\r\n node: core_1.ObjectNode({\r\n nbt: StringNode({ validator: 'nbt_path' }),\r\n block: core_1.Opt(StringNode({ validator: 'vector', params: { dimension: 3, isInteger: true } })),\r\n entity: core_1.Opt(StringNode({ validator: 'entity', params: { amount: 'multiple', type: 'entities' } })),\r\n storage: core_1.Opt(StringNode({ validator: 'resource', params: { pool: '$storage' } })),\r\n interpret: core_1.Opt(core_1.BooleanNode()),\r\n separator: core_1.Opt(Reference('text_component')),\r\n ...CommonFields\r\n })\r\n }\r\n ], { context: 'text_component_object', choiceContext: 'text_component.object' }), {\r\n default: () => ({\r\n text: \"\"\r\n })\r\n }));\r\n schemas.register('text_component_list', core_1.Mod(core_1.ListNode(Reference('text_component')), {\r\n default: () => [{\r\n text: \"\"\r\n }]\r\n }));\r\n}\r\nexports.initTextComponentSchemas = initTextComponentSchemas;\r\n","\"use strict\";\r\nObject.defineProperty(exports, \"__esModule\", { value: true });\r\nexports.initBiomeSchemas = void 0;\r\nconst core_1 = require(\"@mcschema/core\");\r\nfunction initBiomeSchemas(schemas, collections) {\r\n const StringNode = core_1.StringNode.bind(undefined, collections);\r\n schemas.register('biome', core_1.Mod(core_1.ObjectNode({\r\n surface_builder: StringNode({ validator: 'resource', params: { pool: '$worldgen/configured_surface_builder' } }),\r\n depth: core_1.NumberNode(),\r\n scale: core_1.NumberNode(),\r\n temperature: core_1.NumberNode(),\r\n downfall: core_1.NumberNode(),\r\n precipitation: StringNode({ enum: ['none', 'rain', 'snow'] }),\r\n temperature_modifier: core_1.Opt(StringNode({ enum: ['none', 'frozen'] })),\r\n category: StringNode({ enum: 'biome_category' }),\r\n player_spawn_friendly: core_1.Opt(core_1.BooleanNode()),\r\n creature_spawn_probability: core_1.Opt(core_1.NumberNode({ min: 0, max: 1 })),\r\n effects: core_1.ObjectNode({\r\n sky_color: core_1.NumberNode({ color: true }),\r\n fog_color: core_1.NumberNode({ color: true }),\r\n water_color: core_1.NumberNode({ color: true }),\r\n water_fog_color: core_1.NumberNode({ color: true }),\r\n grass_color: core_1.Opt(core_1.NumberNode({ color: true })),\r\n foliage_color: core_1.Opt(core_1.NumberNode({ color: true })),\r\n grass_color_modifier: core_1.Opt(StringNode({ enum: ['none', 'dark_forest', 'swamp'] })),\r\n ambient_sound: core_1.Opt(StringNode()),\r\n mood_sound: core_1.Opt(core_1.ObjectNode({\r\n sound: StringNode(),\r\n tick_delay: core_1.NumberNode({ integer: true }),\r\n block_search_extent: core_1.NumberNode({ integer: true }),\r\n offset: core_1.NumberNode()\r\n })),\r\n additions_sound: core_1.Opt(core_1.ObjectNode({\r\n sound: StringNode(),\r\n tick_chance: core_1.NumberNode({ min: 0, max: 1 })\r\n })),\r\n music: core_1.Opt(core_1.ObjectNode({\r\n sound: StringNode(),\r\n min_delay: core_1.NumberNode({ integer: true, min: 0 }),\r\n max_delay: core_1.NumberNode({ integer: true, min: 0 }),\r\n replace_current_music: core_1.BooleanNode()\r\n })),\r\n particle: core_1.Opt(core_1.ObjectNode({\r\n options: core_1.ObjectNode({\r\n type: StringNode()\r\n }),\r\n probability: core_1.NumberNode({ min: 0, max: 1 })\r\n }))\r\n }),\r\n starts: core_1.ListNode(StringNode({ validator: 'resource', params: { pool: '$worldgen/configured_structure_feature' } })),\r\n spawners: core_1.MapNode(StringNode({ enum: [\r\n 'monster',\r\n 'creature',\r\n 'ambient',\r\n 'underground_water_creature',\r\n 'water_creature',\r\n 'water_ambient',\r\n 'misc'\r\n ] }), core_1.Mod(core_1.ListNode(core_1.ObjectNode({\r\n type: StringNode({ validator: 'resource', params: { pool: 'entity_type' } }),\r\n weight: core_1.NumberNode({ integer: true }),\r\n minCount: core_1.NumberNode({ integer: true }),\r\n maxCount: core_1.NumberNode({ integer: true })\r\n })), {\r\n category: () => 'pool',\r\n default: () => [{\r\n type: 'minecraft:bat',\r\n weight: 1\r\n }]\r\n })),\r\n spawn_costs: core_1.MapNode(StringNode({ validator: 'resource', params: { pool: 'entity_type' } }), core_1.Mod(core_1.ObjectNode({\r\n energy_budget: core_1.NumberNode(),\r\n charge: core_1.NumberNode()\r\n }, { category: 'function' }), {\r\n default: () => ({\r\n energy_budget: 0.12,\r\n charge: 1.0\r\n })\r\n })),\r\n carvers: core_1.MapNode(StringNode({ enum: ['air', 'liquid'] }), core_1.Mod(core_1.ListNode(StringNode({ validator: 'resource', params: { pool: '$worldgen/configured_carver' } })), {\r\n default: () => ['minecraft:cave']\r\n })),\r\n features: core_1.ListNode(core_1.Mod(core_1.ListNode(StringNode({ validator: 'resource', params: { pool: '$worldgen/configured_feature' } })), { category: () => 'predicate' }), { maxLength: 10 })\r\n }, { context: 'biome' }), {\r\n default: () => ({\r\n surface_builder: 'minecraft:grass',\r\n depth: 0.125,\r\n scale: 0.05,\r\n temperature: 0.8,\r\n downfall: 0.4,\r\n precipitation: 'rain',\r\n category: 'plains',\r\n effects: {\r\n sky_color: 7907327,\r\n fog_color: 12638463,\r\n water_color: 4159204,\r\n water_fog_color: 329011\r\n }\r\n })\r\n }));\r\n}\r\nexports.initBiomeSchemas = initBiomeSchemas;\r\n","\"use strict\";\r\nObject.defineProperty(exports, \"__esModule\", { value: true });\r\nexports.initCarverSchemas = void 0;\r\nconst core_1 = require(\"@mcschema/core\");\r\nconst Common_1 = require(\"../Common\");\r\nfunction initCarverSchemas(schemas, collections) {\r\n const Reference = core_1.Reference.bind(undefined, schemas);\r\n const StringNode = core_1.StringNode.bind(undefined, collections);\r\n const CanyonConfig = {\r\n vertical_rotation: Common_1.FloatProvider(),\r\n shape: core_1.ObjectNode({\r\n distance_factor: Common_1.FloatProvider(),\r\n thickness: Common_1.FloatProvider(),\r\n width_smoothness: core_1.NumberNode({ integer: true, min: 0 }),\r\n horizontal_radius_factor: Common_1.FloatProvider(),\r\n vertical_radius_default_factor: core_1.NumberNode(),\r\n vertical_radius_center_factor: core_1.NumberNode()\r\n })\r\n };\r\n const CaveConfig = {\r\n horizontal_radius_multiplier: Common_1.FloatProvider(),\r\n vertical_radius_multiplier: Common_1.FloatProvider(),\r\n floor_level: Common_1.FloatProvider({ min: -1, max: 1 }),\r\n };\r\n schemas.register('configured_carver', core_1.Mod(core_1.ObjectNode({\r\n type: StringNode({ validator: 'resource', params: { pool: 'worldgen/carver' } }),\r\n config: core_1.ObjectNode({\r\n probability: core_1.NumberNode({ min: 0, max: 1 }),\r\n y: Reference('height_provider'),\r\n yScale: Common_1.FloatProvider(),\r\n lava_level: Reference('vertical_anchor'),\r\n aquifers_enabled: core_1.BooleanNode(),\r\n debug_settings: core_1.Opt(core_1.ObjectNode({\r\n debug_mode: core_1.Opt(core_1.BooleanNode()),\r\n air_state: core_1.Opt(Reference('block_state')),\r\n water_state: core_1.Opt(Reference('block_state')),\r\n lava_state: core_1.Opt(Reference('block_state')),\r\n barrier_state: core_1.Opt(Reference('block_state'))\r\n })),\r\n [core_1.Switch]: ['pop', { push: 'type' }],\r\n [core_1.Case]: {\r\n 'minecraft:canyon': CanyonConfig,\r\n 'minecraft:cave': CaveConfig,\r\n 'minecraft:nether_cave': CaveConfig\r\n },\r\n })\r\n }, { context: 'carver' }), {\r\n default: () => ({\r\n type: 'minecraft:cave',\r\n config: {\r\n probability: 0.1\r\n }\r\n })\r\n }));\r\n}\r\nexports.initCarverSchemas = initCarverSchemas;\r\n","\"use strict\";\r\nObject.defineProperty(exports, \"__esModule\", { value: true });\r\nexports.initDecoratorSchemas = void 0;\r\nconst core_1 = require(\"@mcschema/core\");\r\nconst Common_1 = require(\"../Common\");\r\nfunction initDecoratorSchemas(schemas, collections) {\r\n const Reference = core_1.Reference.bind(undefined, schemas);\r\n const StringNode = core_1.StringNode.bind(undefined, collections);\r\n const CountConfig = {\r\n count: Common_1.IntProvider({ min: 0, max: 256 })\r\n };\r\n schemas.register('configured_decorator', core_1.ObjectNode({\r\n type: StringNode({ validator: 'resource', params: { pool: 'worldgen/decorator' } }),\r\n config: core_1.ObjectNode({\r\n [core_1.Switch]: ['pop', { push: 'type' }],\r\n [core_1.Case]: {\r\n 'minecraft:carving_mask': {\r\n step: StringNode({ enum: 'generation_step' })\r\n },\r\n 'minecraft:cave_surface': {\r\n surface: StringNode({ enum: ['floor', 'ceiling'] }),\r\n floor_to_ceiling_search_range: core_1.NumberNode({ integer: true })\r\n },\r\n 'minecraft:chance': {\r\n chance: core_1.NumberNode({ integer: true, min: 0 })\r\n },\r\n 'minecraft:count': CountConfig,\r\n 'minecraft:count_extra': {\r\n count: core_1.NumberNode({ integer: true, min: 0 }),\r\n extra_count: core_1.NumberNode({ integer: true, min: 0 }),\r\n extra_chance: core_1.NumberNode({ min: 0, max: 1 })\r\n },\r\n 'minecraft:count_multilayer': CountConfig,\r\n 'minecraft:count_noise': {\r\n noise_level: core_1.NumberNode(),\r\n below_noise: core_1.NumberNode({ integer: true }),\r\n above_noise: core_1.NumberNode({ integer: true })\r\n },\r\n 'minecraft:count_noise_biased': {\r\n noise_to_count_ratio: core_1.NumberNode({ integer: true }),\r\n noise_factor: core_1.NumberNode(),\r\n noise_offset: core_1.Opt(core_1.NumberNode())\r\n },\r\n 'minecraft:decorated': {\r\n outer: Reference('configured_decorator'),\r\n inner: Reference('configured_decorator')\r\n },\r\n 'minecraft:heightmap': {\r\n heightmap: StringNode({ enum: 'heightmap_type' })\r\n },\r\n 'minecraft:heightmap_spread_double': {\r\n heightmap: StringNode({ enum: 'heightmap_type' })\r\n },\r\n 'minecraft:lava_lake': {\r\n chance: core_1.NumberNode({ integer: true, min: 0 })\r\n },\r\n 'minecraft:range': {\r\n height: Reference('height_provider')\r\n },\r\n 'minecraft:water_depth_threshold': {\r\n max_water_depth: core_1.NumberNode({ integer: true })\r\n }\r\n }\r\n }, { context: 'decorator', category: 'predicate' })\r\n }, { context: 'decorator', category: 'predicate' }));\r\n}\r\nexports.initDecoratorSchemas = initDecoratorSchemas;\r\n","\"use strict\";\r\nObject.defineProperty(exports, \"__esModule\", { value: true });\r\nexports.initProcessorListSchemas = exports.Processors = void 0;\r\nconst core_1 = require(\"@mcschema/core\");\r\nfunction initProcessorListSchemas(schemas, collections) {\r\n const Reference = core_1.Reference.bind(undefined, schemas);\r\n const StringNode = core_1.StringNode.bind(undefined, collections);\r\n exports.Processors = core_1.ChoiceNode([\r\n {\r\n type: 'string',\r\n node: StringNode({ validator: 'resource', params: { pool: '$worldgen/processor_list' } }),\r\n change: v => undefined\r\n },\r\n {\r\n type: 'object',\r\n node: Reference('processor_list'),\r\n change: v => ({\r\n processors: [{\r\n \"processor_type\": \"minecraft:nop\"\r\n }]\r\n })\r\n }\r\n ]);\r\n schemas.register('processor_list', core_1.Mod(core_1.ObjectNode({\r\n processors: core_1.ListNode(Reference('processor'))\r\n }, { context: 'processor_list' }), {\r\n default: () => ({\r\n processors: [{\r\n processor_type: 'minecraft:rule',\r\n rules: [{\r\n location_predicate: {\r\n predicate_type: 'minecraft:always_true'\r\n },\r\n input_predicate: {\r\n predicate_type: 'minecraft:always_true'\r\n }\r\n }]\r\n }]\r\n })\r\n }));\r\n schemas.register('processor', core_1.Mod(core_1.ObjectNode({\r\n processor_type: StringNode({ validator: 'resource', params: { pool: 'worldgen/structure_processor' } }),\r\n [core_1.Switch]: [{ push: 'processor_type' }],\r\n [core_1.Case]: {\r\n 'minecraft:block_age': {\r\n mossiness: core_1.NumberNode()\r\n },\r\n 'minecraft:block_ignore': {\r\n blocks: core_1.ListNode(Reference('block_state'))\r\n },\r\n 'minecraft:block_rot': {\r\n integrity: core_1.NumberNode({ min: 0, max: 1 })\r\n },\r\n 'minecraft:gravity': {\r\n heightmap: StringNode({ enum: 'heightmap_type' }),\r\n offset: core_1.NumberNode({ integer: true })\r\n },\r\n 'minecraft:protected_blocks': {\r\n value: StringNode({ validator: 'resource', params: { pool: '$tag/block' } })\r\n },\r\n 'minecraft:rule': {\r\n rules: core_1.ListNode(Reference('processor_rule'))\r\n }\r\n }\r\n }, { category: 'function', context: 'processor' }), {\r\n default: () => ({\r\n processor_type: 'minecraft:rule',\r\n rules: [{\r\n location_predicate: {\r\n predicate_type: 'minecraft:always_true'\r\n },\r\n input_predicate: {\r\n predicate_type: 'minecraft:always_true'\r\n }\r\n }]\r\n })\r\n }));\r\n schemas.register('processor_rule', core_1.Mod(core_1.ObjectNode({\r\n position_predicate: core_1.Opt(Reference('pos_rule_test')),\r\n location_predicate: Reference('rule_test'),\r\n input_predicate: Reference('rule_test'),\r\n output_state: Reference('block_state'),\r\n output_nbt: core_1.Opt(StringNode({ validator: 'nbt', params: { registry: { category: 'minecraft:block' } } }))\r\n }, { category: 'predicate', context: 'processor_rule' }), {\r\n default: () => ({\r\n location_predicate: {\r\n predicate_type: 'minecraft:always_true'\r\n },\r\n input_predicate: {\r\n predicate_type: 'minecraft:always_true'\r\n }\r\n })\r\n }));\r\n const posTestFields = {\r\n min_dist: core_1.Opt(core_1.NumberNode({ min: 0, max: 255, integer: true })),\r\n max_dist: core_1.Opt(core_1.NumberNode({ min: 0, max: 255, integer: true })),\r\n min_chance: core_1.Opt(core_1.NumberNode({ min: 0, max: 1 })),\r\n max_chance: core_1.Opt(core_1.NumberNode({ min: 0, max: 1 }))\r\n };\r\n schemas.register('pos_rule_test', core_1.ObjectNode({\r\n predicate_type: StringNode({ validator: 'resource', params: { pool: 'pos_rule_test' } }),\r\n [core_1.Switch]: [{ push: 'predicate_type' }],\r\n [core_1.Case]: {\r\n 'minecraft:axis_aligned_linear_pos': {\r\n axis: StringNode({ enum: ['x', 'y', 'z'] }),\r\n ...posTestFields\r\n },\r\n 'minecraft:linear_pos': posTestFields\r\n }\r\n }, { context: 'pos_rule_test', disableSwitchContext: true }));\r\n schemas.register('rule_test', core_1.ObjectNode({\r\n predicate_type: StringNode({ validator: 'resource', params: { pool: 'rule_test' } }),\r\n [core_1.Switch]: [{ push: 'predicate_type' }],\r\n [core_1.Case]: {\r\n 'minecraft:block_match': {\r\n block: StringNode({ validator: 'resource', params: { pool: 'block' } })\r\n },\r\n 'minecraft:blockstate_match': {\r\n block_state: Reference('block_state')\r\n },\r\n 'minecraft:random_block_match': {\r\n block: StringNode({ validator: 'resource', params: { pool: 'block' } }),\r\n probability: core_1.NumberNode({ min: 0, max: 1 })\r\n },\r\n 'minecraft:random_blockstate_match': {\r\n block_state: Reference('block_state'),\r\n probability: core_1.NumberNode({ min: 0, max: 1 })\r\n },\r\n 'minecraft:tag_match': {\r\n tag: StringNode({ validator: 'resource', params: { pool: '$tag/block' } })\r\n }\r\n }\r\n }, { context: 'rule_test', disableSwitchContext: true }));\r\n}\r\nexports.initProcessorListSchemas = initProcessorListSchemas;\r\n","\"use strict\";\r\nObject.defineProperty(exports, \"__esModule\", { value: true });\r\nexports.initFeatureSchemas = void 0;\r\nconst core_1 = require(\"@mcschema/core\");\r\nconst Common_1 = require(\"../Common\");\r\nrequire(\"./Decorator\");\r\nrequire(\"./ProcessorList\");\r\nconst ProcessorList_1 = require(\"./ProcessorList\");\r\nfunction initFeatureSchemas(schemas, collections) {\r\n const Reference = core_1.Reference.bind(undefined, schemas);\r\n const StringNode = core_1.StringNode.bind(undefined, collections);\r\n const RandomPatchConfig = {\r\n can_replace: core_1.Opt(core_1.BooleanNode()),\r\n project: core_1.Opt(core_1.BooleanNode()),\r\n need_water: core_1.Opt(core_1.BooleanNode()),\r\n xspread: core_1.Opt(core_1.NumberNode({ integer: true, min: 0 })),\r\n yspread: core_1.Opt(core_1.NumberNode({ integer: true, min: 0 })),\r\n zspread: core_1.Opt(core_1.NumberNode({ integer: true, min: 0 })),\r\n tries: core_1.Opt(core_1.NumberNode({ integer: true, min: 1 })),\r\n state_provider: Reference('block_state_provider'),\r\n block_placer: Reference('block_placer'),\r\n whitelist: core_1.ListNode(Reference('block_state')),\r\n blacklist: core_1.ListNode(Reference('block_state'))\r\n };\r\n const DiskConfig = {\r\n state: Reference('block_state'),\r\n radius: Common_1.IntProvider({ min: 0, max: 8 }),\r\n half_height: core_1.NumberNode({ integer: true, min: 0, max: 4 }),\r\n targets: core_1.ListNode(Reference('block_state'))\r\n };\r\n const HugeMushroomConfig = {\r\n cap_provider: Reference('block_state_provider'),\r\n stem_provider: Reference('block_state_provider'),\r\n foliage_radius: core_1.Opt(core_1.NumberNode({ integer: true }))\r\n };\r\n const TargetBlockState = core_1.ObjectNode({\r\n target: Reference('rule_test'),\r\n state: Reference('block_state')\r\n });\r\n const OreConfig = {\r\n size: core_1.NumberNode({ integer: true, min: 0, max: 64 }),\r\n discard_chance_on_air_exposure: core_1.NumberNode({ min: 0, max: 1 }),\r\n targets: core_1.ListNode(TargetBlockState)\r\n };\r\n const Feature = core_1.ChoiceNode([\r\n {\r\n type: 'string',\r\n node: StringNode({ validator: 'resource', params: { pool: '$worldgen/configured_feature' } })\r\n },\r\n {\r\n type: 'object',\r\n node: Reference('configured_feature')\r\n }\r\n ], { choiceContext: 'feature' });\r\n const VegetationPatchConfig = {\r\n surface: StringNode({ enum: ['floor', 'ceiling'] }),\r\n depth: Common_1.IntProvider({ min: 1, max: 128 }),\r\n vertical_range: core_1.NumberNode({ integer: true, min: 1, max: 256 }),\r\n extra_bottom_block_chance: core_1.NumberNode({ min: 0, max: 1 }),\r\n extra_edge_column_chance: core_1.NumberNode({ min: 0, max: 1 }),\r\n vegetation_chance: core_1.NumberNode({ min: 0, max: 1 }),\r\n xz_radius: Common_1.IntProvider(),\r\n replaceable: StringNode({ validator: 'resource', params: { pool: '$tag/block' } }),\r\n ground_state: Reference('block_state_provider'),\r\n vegetation_feature: Feature\r\n };\r\n schemas.register('configured_feature', core_1.Mod(core_1.ObjectNode({\r\n type: StringNode({ validator: 'resource', params: { pool: 'worldgen/feature' } }),\r\n config: core_1.ObjectNode({\r\n [core_1.Switch]: ['pop', { push: 'type' }],\r\n [core_1.Case]: {\r\n 'minecraft:bamboo': {\r\n probability: core_1.NumberNode({ min: 0, max: 1 })\r\n },\r\n 'minecraft:basalt_columns': {\r\n reach: Common_1.IntProvider({ min: 0, max: 3 }),\r\n height: Common_1.IntProvider({ min: 1, max: 10 })\r\n },\r\n 'minecraft:block_pile': {\r\n state_provider: Reference('block_state_provider')\r\n },\r\n 'minecraft:decorated': {\r\n decorator: Reference('configured_decorator'),\r\n feature: Feature\r\n },\r\n 'minecraft:decorated_flower': {\r\n decorator: Reference('configured_decorator'),\r\n feature: Feature\r\n },\r\n 'minecraft:delta_feature': {\r\n contents: Reference('block_state'),\r\n rim: Reference('block_state'),\r\n size: Common_1.IntProvider({ min: 0, max: 16 }),\r\n rim_size: Common_1.IntProvider({ min: 0, max: 16 })\r\n },\r\n 'minecraft:disk': DiskConfig,\r\n 'minecraft:dripstone_cluster': {\r\n floor_to_ceiling_search_range: core_1.NumberNode({ integer: true, min: 1, max: 512 }),\r\n height: Common_1.IntProvider({ min: 0, max: 128 }),\r\n radius: Common_1.IntProvider({ min: 0, max: 128 }),\r\n max_stalagmite_stalactite_height_diff: core_1.NumberNode({ integer: true, min: 0, max: 64 }),\r\n height_deviation: core_1.NumberNode({ integer: true, min: 1, max: 64 }),\r\n dripstone_block_layer_thickness: Common_1.IntProvider({ min: 0, max: 128 }),\r\n density: Common_1.FloatProvider({ min: 0, max: 2 }),\r\n wetness: Common_1.FloatProvider({ min: 0, max: 2 }),\r\n chance_of_dripstone_column_at_max_distance_from_center: core_1.NumberNode({ min: 0, max: 1 }),\r\n max_distance_from_edge_affecting_chance_of_dripstone_column: core_1.NumberNode({ integer: true, min: 1, max: 64 }),\r\n max_distance_from_center_affecting_height_bias: core_1.NumberNode({ integer: true, min: 1, max: 64 })\r\n },\r\n 'minecraft:end_gateway': {\r\n exact: core_1.BooleanNode(),\r\n exit: core_1.Opt(Reference('block_pos'))\r\n },\r\n 'minecraft:end_spike': {\r\n crystal_invulnerable: core_1.Opt(core_1.BooleanNode()),\r\n crystal_beam_target: core_1.Opt(Reference('block_pos')),\r\n spikes: core_1.ListNode(core_1.ObjectNode({\r\n centerX: core_1.Opt(core_1.NumberNode({ integer: true })),\r\n centerZ: core_1.Opt(core_1.NumberNode({ integer: true })),\r\n radius: core_1.Opt(core_1.NumberNode({ integer: true })),\r\n height: core_1.Opt(core_1.NumberNode({ integer: true })),\r\n guarded: core_1.Opt(core_1.BooleanNode())\r\n }))\r\n },\r\n 'minecraft:fill_layer': {\r\n state: Reference('block_state'),\r\n height: core_1.NumberNode({ integer: true, min: 0, max: 255 })\r\n },\r\n 'minecraft:flower': RandomPatchConfig,\r\n 'minecraft:forest_rock': {\r\n state: Reference('block_state')\r\n },\r\n 'minecraft:fossil': {\r\n max_empty_corners_allowed: core_1.NumberNode({ integer: true, min: 0, max: 7 }),\r\n fossil_structures: core_1.ListNode(StringNode({ validator: 'resource', params: { pool: '$structure' } })),\r\n overlay_structures: core_1.ListNode(StringNode({ validator: 'resource', params: { pool: '$structure' } })),\r\n fossil_processors: ProcessorList_1.Processors,\r\n overlay_processors: ProcessorList_1.Processors,\r\n },\r\n 'minecraft:geode': {\r\n blocks: core_1.ObjectNode({\r\n filling_provider: Reference('block_state_provider'),\r\n inner_layer_provider: Reference('block_state_provider'),\r\n alternate_inner_layer_provider: Reference('block_state_provider'),\r\n middle_layer_provider: Reference('block_state_provider'),\r\n outer_layer_provider: Reference('block_state_provider'),\r\n inner_placements: core_1.ListNode(Reference('block_state')),\r\n cannot_replace: StringNode({ validator: 'resource', params: { pool: '$tag/block' } }),\r\n invalid_blocks: StringNode({ validator: 'resource', params: { pool: '$tag/block' } })\r\n }),\r\n layers: core_1.ObjectNode({\r\n filling: core_1.Opt(core_1.NumberNode({ min: 0.01, max: 50 })),\r\n inner_layer: core_1.Opt(core_1.NumberNode({ min: 0.01, max: 50 })),\r\n middle_layer: core_1.Opt(core_1.NumberNode({ min: 0.01, max: 50 })),\r\n outer_layer: core_1.Opt(core_1.NumberNode({ min: 0.01, max: 50 })),\r\n }),\r\n crack: core_1.ObjectNode({\r\n generate_crack_chance: core_1.Opt(core_1.NumberNode({ min: 0, max: 1 })),\r\n base_crack_size: core_1.Opt(core_1.NumberNode({ min: 0, max: 5 })),\r\n crack_point_offset: core_1.Opt(core_1.NumberNode({ min: 0, max: 10, integer: true })),\r\n }),\r\n noise_multiplier: core_1.Opt(core_1.NumberNode({ min: 0, max: 1 })),\r\n use_potential_placements_chance: core_1.Opt(core_1.NumberNode({ min: 0, max: 1 })),\r\n use_alternate_layer0_chance: core_1.Opt(core_1.NumberNode({ min: 0, max: 1 })),\r\n placements_require_layer0_alternate: core_1.Opt(core_1.BooleanNode()),\r\n outer_wall_distance: core_1.Opt(Common_1.IntProvider({ min: 1, max: 20 })),\r\n distribution_points: core_1.Opt(Common_1.IntProvider({ min: 1, max: 20 })),\r\n point_offset: core_1.Opt(Common_1.IntProvider({ min: 0, max: 10 })),\r\n min_gen_offset: core_1.Opt(core_1.NumberNode({ integer: true })),\r\n max_gen_offset: core_1.Opt(core_1.NumberNode({ integer: true })),\r\n invalid_blocks_threshold: core_1.NumberNode({ integer: true })\r\n },\r\n 'minecraft:glow_lichen': {\r\n search_range: core_1.Opt(core_1.NumberNode({ min: 1, max: 64, integer: true })),\r\n chance_of_spreading: core_1.Opt(core_1.NumberNode({ min: 0, max: 1 })),\r\n can_place_on_floor: core_1.Opt(core_1.BooleanNode()),\r\n can_place_on_ceiling: core_1.Opt(core_1.BooleanNode()),\r\n can_place_on_wall: core_1.Opt(core_1.BooleanNode()),\r\n can_be_placed_on: core_1.ListNode(Reference('block_state'))\r\n },\r\n 'minecraft:growing_plant': {\r\n direction: StringNode({ enum: ['up', 'down', 'north', 'east', 'south', 'west'] }),\r\n allow_water: core_1.BooleanNode(),\r\n height_distribution: core_1.ListNode(core_1.ObjectNode({\r\n weight: core_1.NumberNode({ integer: true }),\r\n data: Common_1.IntProvider()\r\n })),\r\n body_provider: Reference('block_state_provider'),\r\n head_provider: Reference('block_state_provider')\r\n },\r\n 'minecraft:huge_brown_mushroom': HugeMushroomConfig,\r\n 'minecraft:huge_fungus': {\r\n hat_state: Reference('block_state'),\r\n decor_state: Reference('block_state'),\r\n stem_state: Reference('block_state'),\r\n valid_base_block: Reference('block_state'),\r\n planted: core_1.Opt(core_1.BooleanNode())\r\n },\r\n 'minecraft:huge_red_mushroom': HugeMushroomConfig,\r\n 'minecraft:ice_patch': DiskConfig,\r\n 'minecraft:iceberg': {\r\n state: Reference('block_state')\r\n },\r\n 'minecraft:lake': {\r\n state: Reference('block_state')\r\n },\r\n 'minecraft:large_dripstone': {\r\n floor_to_ceiling_search_range: core_1.Opt(core_1.NumberNode({ integer: true, min: 1, max: 512 })),\r\n column_radius: Common_1.IntProvider({ min: 0, max: 60 }),\r\n height_scale: Common_1.FloatProvider({ min: 0, max: 20 }),\r\n max_column_radius_to_cave_height_ratio: core_1.NumberNode({ min: 0, max: 1 }),\r\n stalactite_bluntness: Common_1.FloatProvider({ min: 0.1, max: 10 }),\r\n stalagmite_bluntness: Common_1.FloatProvider({ min: 0.1, max: 10 }),\r\n wind_speed: Common_1.FloatProvider({ min: 0, max: 2 }),\r\n min_radius_for_wind: core_1.NumberNode({ integer: true, min: 0, max: 100 }),\r\n min_bluntness_for_wind: core_1.NumberNode({ min: 0, max: 5 })\r\n },\r\n 'minecraft:nether_forest_vegetation': {\r\n state_provider: Reference('block_state_provider')\r\n },\r\n 'minecraft:netherrack_replace_blobs': {\r\n state: Reference('block_state'),\r\n target: Reference('block_state'),\r\n radius: Common_1.IntProvider({ min: 0, max: 12 })\r\n },\r\n 'minecraft:no_bonemeal_flower': RandomPatchConfig,\r\n 'minecraft:ore': OreConfig,\r\n 'minecraft:random_patch': RandomPatchConfig,\r\n 'minecraft:random_boolean_selector': {\r\n feature_false: Feature,\r\n feature_true: Feature\r\n },\r\n 'minecraft:random_selector': {\r\n features: core_1.ListNode(core_1.ObjectNode({\r\n chance: core_1.NumberNode({ min: 0, max: 1 }),\r\n feature: Feature\r\n })),\r\n default: Feature\r\n },\r\n 'minecraft:replace_single_block': {\r\n targets: core_1.ListNode(TargetBlockState)\r\n },\r\n 'minecraft:root_system': {\r\n required_vertical_space_for_tree: core_1.NumberNode({ integer: true, min: 1, max: 64 }),\r\n root_radius: core_1.NumberNode({ integer: true, min: 1, max: 64 }),\r\n root_placement_attempts: core_1.NumberNode({ integer: true, min: 1, max: 256 }),\r\n root_column_max_height: core_1.NumberNode({ integer: true, min: 1, max: 4096 }),\r\n hanging_root_radius: core_1.NumberNode({ integer: true, min: 1, max: 64 }),\r\n hanging_roots_vertical_span: core_1.NumberNode({ integer: true, min: 0, max: 16 }),\r\n hanging_root_placement_attempts: core_1.NumberNode({ integer: true, min: 0, max: 256 }),\r\n allowed_vertical_water_for_tree: core_1.NumberNode({ integer: true, min: 1, max: 64 }),\r\n root_replaceable: StringNode({ validator: 'resource', params: { pool: '$tag/block' } }),\r\n root_state_provider: Reference('block_state_provider'),\r\n hanging_root_state_provider: Reference('block_state_provider'),\r\n feature: Feature\r\n },\r\n 'minecraft:scattered_ore': OreConfig,\r\n 'minecraft:sea_pickle': {\r\n count: Common_1.IntProvider({ min: 0, max: 256 })\r\n },\r\n 'minecraft:seagrass': {\r\n probability: core_1.NumberNode({ min: 0, max: 1 })\r\n },\r\n 'minecraft:simple_block': {\r\n to_place: Reference('block_state_provider'),\r\n place_on: core_1.ListNode(Reference('block_state')),\r\n place_in: core_1.ListNode(Reference('block_state')),\r\n place_under: core_1.ListNode(Reference('block_state'))\r\n },\r\n 'minecraft:simple_random_selector': {\r\n features: core_1.ListNode(Feature)\r\n },\r\n 'minecraft:small_dripstone': {\r\n max_placements: core_1.Opt(core_1.NumberNode({ integer: true, min: 0, max: 100 })),\r\n empty_space_search_radius: core_1.Opt(core_1.NumberNode({ integer: true, min: 0, max: 20 })),\r\n max_offset_from_origin: core_1.Opt(core_1.NumberNode({ integer: true, min: 0, max: 20 })),\r\n chance_of_taller_dripstone: core_1.Opt(core_1.NumberNode({ min: 0, max: 1 }))\r\n },\r\n 'minecraft:spring_feature': {\r\n state: Reference('fluid_state'),\r\n rock_count: core_1.NumberNode({ integer: true }),\r\n hole_count: core_1.NumberNode({ integer: true }),\r\n requires_block_below: core_1.BooleanNode(),\r\n valid_blocks: core_1.ListNode(StringNode({ validator: 'resource', params: { pool: 'block' } }))\r\n },\r\n 'minecraft:tree': {\r\n ignore_vines: core_1.Opt(core_1.BooleanNode()),\r\n force_dirt: core_1.Opt(core_1.BooleanNode()),\r\n minimum_size: Reference('feature_size'),\r\n dirt_provider: Reference('block_state_provider'),\r\n sapling_provider: Reference('block_state_provider'),\r\n trunk_provider: Reference('block_state_provider'),\r\n foliage_provider: Reference('block_state_provider'),\r\n trunk_placer: core_1.ObjectNode({\r\n type: StringNode({ validator: 'resource', params: { pool: 'worldgen/trunk_placer_type' } }),\r\n base_height: core_1.NumberNode({ integer: true, min: 0, max: 32 }),\r\n height_rand_a: core_1.NumberNode({ integer: true, min: 0, max: 24 }),\r\n height_rand_b: core_1.NumberNode({ integer: true, min: 0, max: 24 }),\r\n [core_1.Switch]: [{ push: 'type' }],\r\n [core_1.Case]: {\r\n 'minecraft:bending_trunk_placer': {\r\n bend_length: Common_1.IntProvider({ min: 1, max: 64 }),\r\n min_height_for_leaves: core_1.Opt(core_1.NumberNode({ integer: true, min: 1 }))\r\n }\r\n }\r\n }, { context: 'trunk_placer' }),\r\n foliage_placer: core_1.ObjectNode({\r\n type: StringNode({ validator: 'resource', params: { pool: 'worldgen/foliage_placer_type' } }),\r\n radius: Common_1.IntProvider({ min: 0, max: 16 }),\r\n offset: Common_1.IntProvider({ min: 0, max: 16 }),\r\n [core_1.Switch]: [{ push: 'type' }],\r\n [core_1.Case]: {\r\n 'minecraft:blob_foliage_placer': {\r\n height: core_1.NumberNode({ integer: true, min: 0, max: 16 })\r\n },\r\n 'minecraft:bush_foliage_placer': {\r\n height: core_1.NumberNode({ integer: true, min: 0, max: 16 })\r\n },\r\n 'minecraft:fancy_foliage_placer': {\r\n height: core_1.NumberNode({ integer: true, min: 0, max: 16 })\r\n },\r\n 'minecraft:jungle_foliage_placer': {\r\n height: core_1.NumberNode({ integer: true, min: 0, max: 16 })\r\n },\r\n 'minecraft:mega_pine_foliage_placer': {\r\n crown_height: Common_1.IntProvider({ min: 0, max: 24 })\r\n },\r\n 'minecraft:pine_foliage_placer': {\r\n height: Common_1.IntProvider({ min: 0, max: 24 })\r\n },\r\n 'minecraft:random_spread_foliage_placer': {\r\n foliage_height: Common_1.IntProvider({ min: 1, max: 512 }),\r\n leaf_placement_attempts: core_1.NumberNode({ integer: true, min: 0, max: 256 })\r\n },\r\n 'minecraft:spruce_foliage_placer': {\r\n trunk_height: Common_1.IntProvider({ min: 0, max: 24 })\r\n }\r\n }\r\n }, { context: 'foliage_placer', disableSwitchContext: true }),\r\n decorators: core_1.ListNode(core_1.ObjectNode({\r\n type: StringNode({ validator: 'resource', params: { pool: 'worldgen/tree_decorator_type' } }),\r\n [core_1.Switch]: [{ push: 'type' }],\r\n [core_1.Case]: {\r\n 'minecraft:alter_ground': {\r\n provider: Reference('block_state_provider')\r\n },\r\n 'minecraft:beehive': {\r\n probability: core_1.NumberNode({ min: 0, max: 1 })\r\n },\r\n 'minecraft:cocoa': {\r\n probability: core_1.NumberNode({ min: 0, max: 1 })\r\n }\r\n }\r\n }, { context: 'tree_decorator' }))\r\n },\r\n 'minecraft:underwater_magma': {\r\n floor_search_range: core_1.NumberNode({ integer: true, min: 0, max: 512 }),\r\n placement_radius_around_floor: core_1.NumberNode({ integer: true, min: 0, max: 64 }),\r\n placement_probability_per_valid_position: core_1.NumberNode({ min: 0, max: 1 })\r\n },\r\n 'minecraft:vegetation_patch': VegetationPatchConfig,\r\n 'minecraft:waterlogged_vegetation_patch': VegetationPatchConfig\r\n }\r\n }, { context: 'feature' })\r\n }, { context: 'feature' }), {\r\n default: () => ({\r\n type: 'minecraft:decorated',\r\n config: {\r\n decorator: {\r\n type: 'minecraft:count',\r\n config: {\r\n count: 4\r\n }\r\n },\r\n feature: {\r\n type: 'minecraft:tree',\r\n config: {\r\n max_water_depth: 0,\r\n ignore_vines: true,\r\n minimum_size: {},\r\n trunk_placer: {\r\n base_height: 5,\r\n height_rand_a: 2,\r\n height_rand_b: 0\r\n },\r\n foliage_placer: {\r\n radius: 2,\r\n offset: 0,\r\n height: 3\r\n }\r\n }\r\n }\r\n }\r\n })\r\n }));\r\n schemas.register('feature_size', core_1.Mod(core_1.ObjectNode({\r\n type: StringNode({ validator: 'resource', params: { pool: 'worldgen/feature_size_type' } }),\r\n min_clipped_height: core_1.Opt(core_1.NumberNode({ min: 0, max: 80 })),\r\n [core_1.Switch]: [{ push: 'type' }],\r\n [core_1.Case]: {\r\n 'minecraft:two_layers_feature_size': {\r\n limit: core_1.Opt(core_1.NumberNode({ integer: true, min: 0, max: 81 })),\r\n lower_size: core_1.Opt(core_1.NumberNode({ integer: true, min: 0, max: 16 })),\r\n upper_size: core_1.Opt(core_1.NumberNode({ integer: true, min: 0, max: 16 }))\r\n },\r\n 'minecraft:three_layers_feature_size': {\r\n limit: core_1.Opt(core_1.NumberNode({ integer: true, min: 0, max: 80 })),\r\n upper_limit: core_1.Opt(core_1.NumberNode({ integer: true, min: 0, max: 80 })),\r\n lower_size: core_1.Opt(core_1.NumberNode({ integer: true, min: 0, max: 16 })),\r\n middle_size: core_1.Opt(core_1.NumberNode({ integer: true, min: 0, max: 16 })),\r\n upper_size: core_1.Opt(core_1.NumberNode({ integer: true, min: 0, max: 16 }))\r\n }\r\n }\r\n }, { disableSwitchContext: true }), {\r\n default: () => ({\r\n type: 'minecraft:two_layers_feature_size'\r\n })\r\n }));\r\n schemas.register('block_state_provider', core_1.Mod(core_1.ObjectNode({\r\n type: StringNode({ validator: 'resource', params: { pool: 'worldgen/block_state_provider_type' } }),\r\n [core_1.Switch]: [{ push: 'type' }],\r\n [core_1.Case]: {\r\n 'minecraft:randomized_int_state_provider': {\r\n property: StringNode(),\r\n values: Common_1.IntProvider(),\r\n source: Reference('block_state_provider')\r\n },\r\n 'minecraft:rotated_block_provider': {\r\n state: Reference('block_state')\r\n },\r\n 'minecraft:simple_state_provider': {\r\n state: Reference('block_state')\r\n },\r\n 'minecraft:weighted_state_provider': {\r\n entries: core_1.ListNode(core_1.Mod(core_1.ObjectNode({\r\n weight: core_1.NumberNode({ integer: true, min: 1 }),\r\n data: Reference('block_state')\r\n }), {\r\n default: () => ({\r\n data: {}\r\n })\r\n }))\r\n }\r\n }\r\n }, { context: 'block_state_provider' }), {\r\n default: () => ({\r\n type: 'minecraft:simple_state_provider'\r\n })\r\n }));\r\n schemas.register('block_placer', core_1.Mod(core_1.ObjectNode({\r\n type: StringNode({ validator: 'resource', params: { pool: 'worldgen/block_placer_type' } }),\r\n [core_1.Switch]: [{ push: 'type' }],\r\n [core_1.Case]: {\r\n 'minecraft:column_placer': {\r\n size: Common_1.IntProvider({ min: 0 })\r\n }\r\n }\r\n }, { context: 'block_placer' }), {\r\n default: () => ({\r\n type: 'minecraft:simple_block_placer'\r\n })\r\n }));\r\n}\r\nexports.initFeatureSchemas = initFeatureSchemas;\r\n","\"use strict\";\r\nObject.defineProperty(exports, \"__esModule\", { value: true });\r\nexports.initNoiseSettingsSchemas = void 0;\r\nconst core_1 = require(\"@mcschema/core\");\r\nconst Common_1 = require(\"../Common\");\r\nfunction initNoiseSettingsSchemas(schemas, collections) {\r\n const Reference = core_1.Reference.bind(undefined, schemas);\r\n const StringNode = core_1.StringNode.bind(undefined, collections);\r\n schemas.register('noise_settings', core_1.Mod(core_1.ObjectNode({\r\n name: core_1.Mod(StringNode({ validator: 'resource', params: { pool: '$worldgen/noise_settings', isDefinition: true } }), {\r\n enabled: (path) => path.getArray().length > 0\r\n }),\r\n bedrock_roof_position: core_1.NumberNode({ integer: true }),\r\n bedrock_floor_position: core_1.NumberNode({ integer: true }),\r\n sea_level: core_1.NumberNode({ integer: true }),\r\n min_surface_level: core_1.NumberNode({ integer: true }),\r\n disable_mob_generation: core_1.BooleanNode(),\r\n noise_caves_enabled: core_1.BooleanNode(),\r\n noodle_caves_enabled: core_1.BooleanNode(),\r\n aquifers_enabled: core_1.BooleanNode(),\r\n deepslate_enabled: core_1.BooleanNode(),\r\n ore_veins_enabled: core_1.BooleanNode(),\r\n default_block: Reference('block_state'),\r\n default_fluid: Reference('block_state'),\r\n noise: core_1.ObjectNode({\r\n min_y: core_1.NumberNode({ integer: true, min: -2048, max: 2047 }),\r\n height: core_1.NumberNode({ integer: true, min: 0, max: 4096 }),\r\n density_factor: core_1.NumberNode(),\r\n density_offset: core_1.NumberNode(),\r\n size_horizontal: core_1.NumberNode({ integer: true }),\r\n size_vertical: core_1.NumberNode({ integer: true }),\r\n simplex_surface_noise: core_1.BooleanNode(),\r\n random_density_offset: core_1.Opt(core_1.BooleanNode()),\r\n island_noise_override: core_1.Opt(core_1.BooleanNode()),\r\n amplified: core_1.Opt(core_1.BooleanNode()),\r\n sampling: core_1.ObjectNode({\r\n xz_scale: core_1.NumberNode(),\r\n y_scale: core_1.NumberNode(),\r\n xz_factor: core_1.NumberNode(),\r\n y_factor: core_1.NumberNode()\r\n }),\r\n bottom_slide: core_1.ObjectNode({\r\n target: core_1.NumberNode({ integer: true }),\r\n size: core_1.NumberNode({ integer: true, min: 0 }),\r\n offset: core_1.NumberNode({ integer: true })\r\n }),\r\n top_slide: core_1.ObjectNode({\r\n target: core_1.NumberNode({ integer: true }),\r\n size: core_1.NumberNode({ integer: true, min: 0 }),\r\n offset: core_1.NumberNode({ integer: true })\r\n })\r\n }),\r\n structures: Reference('generator_structures')\r\n }, { context: 'noise_settings' }), node => ({\r\n default: () => Common_1.DefaultNoiseSettings,\r\n validate: (path, value, errors, options) => {\r\n var _a, _b, _c, _d;\r\n value = node.validate(path, value, errors, options);\r\n if (((_a = value === null || value === void 0 ? void 0 : value.noise) === null || _a === void 0 ? void 0 : _a.min_y) + ((_b = value === null || value === void 0 ? void 0 : value.noise) === null || _b === void 0 ? void 0 : _b.height) > 2047) {\r\n errors.add(path.push('noise').push('height'), 'error.min_y_plus_height', 2047);\r\n }\r\n if (((_c = value === null || value === void 0 ? void 0 : value.noise) === null || _c === void 0 ? void 0 : _c.height) % 16 !== 0) {\r\n errors.add(path.push('noise').push('height'), 'error.height_multiple', 16);\r\n }\r\n if (((_d = value === null || value === void 0 ? void 0 : value.noise) === null || _d === void 0 ? void 0 : _d.min_y) % 16 !== 0) {\r\n errors.add(path.push('noise').push('min_y'), 'error.min_y_multiple', 16);\r\n }\r\n return value;\r\n }\r\n })));\r\n schemas.register('generator_structures', core_1.ObjectNode({\r\n stronghold: core_1.Opt(core_1.ObjectNode({\r\n distance: core_1.NumberNode({ integer: true, min: 0, max: 1023 }),\r\n spread: core_1.NumberNode({ integer: true, min: 0, max: 1023 }),\r\n count: core_1.NumberNode({ integer: true, min: 1, max: 4095 })\r\n })),\r\n structures: core_1.MapNode(StringNode({ validator: 'resource', params: { pool: 'worldgen/structure_feature' } }), core_1.Mod(core_1.ObjectNode({\r\n spacing: core_1.NumberNode({ integer: true, min: 0, max: 4096 }),\r\n separation: core_1.Mod(core_1.NumberNode({ integer: true, min: 0, max: 4096 }), (node) => ({\r\n validate: (path, value, errors, options) => {\r\n if (path.pop().push('spacing').get() <= value) {\r\n errors.add(path, 'error.separation_smaller_spacing');\r\n }\r\n return node.validate(path, value, errors, options);\r\n }\r\n })),\r\n salt: core_1.NumberNode({ integer: true, min: 0 })\r\n }, { context: 'generator_structure' }), {\r\n default: () => ({\r\n spacing: 10,\r\n separation: 5,\r\n salt: 0\r\n })\r\n }))\r\n }));\r\n schemas.register('generator_layer', core_1.Mod(core_1.ObjectNode({\r\n block: StringNode({ validator: 'resource', params: { pool: 'block' } }),\r\n height: core_1.NumberNode({ integer: true, min: 1 })\r\n }), {\r\n default: () => ({\r\n block: 'minecraft:stone',\r\n height: 1\r\n })\r\n }));\r\n}\r\nexports.initNoiseSettingsSchemas = initNoiseSettingsSchemas;\r\n","\"use strict\";\r\nObject.defineProperty(exports, \"__esModule\", { value: true });\r\nexports.initStructureFeatureSchemas = void 0;\r\nconst core_1 = require(\"@mcschema/core\");\r\nfunction initStructureFeatureSchemas(schemas, collections) {\r\n const StringNode = core_1.StringNode.bind(undefined, collections);\r\n const Reference = core_1.Reference.bind(undefined, schemas);\r\n const templatePoolConfig = {\r\n start_pool: StringNode({ validator: 'resource', params: { pool: '$worldgen/template_pool' } }),\r\n size: core_1.NumberNode({ integer: true })\r\n };\r\n schemas.register('configured_structure_feature', core_1.Mod(core_1.ObjectNode({\r\n type: StringNode({ validator: 'resource', params: { pool: 'worldgen/structure_feature' } }),\r\n config: core_1.ObjectNode({\r\n [core_1.Switch]: ['pop', { push: 'type' }],\r\n [core_1.Case]: {\r\n 'minecraft:bastion_remnant': templatePoolConfig,\r\n 'minecraft:buried_treasure': {\r\n probability: core_1.NumberNode({ min: 0, max: 1 })\r\n },\r\n 'minecraft:mineshaft': {\r\n type: StringNode({ enum: ['normal', 'mesa'] }),\r\n probability: core_1.NumberNode({ min: 0, max: 1 })\r\n },\r\n 'minecraft:nether_fossil': {\r\n height: Reference('height_provider')\r\n },\r\n 'minecraft:ocean_ruin': {\r\n biome_temp: StringNode({ enum: ['cold', 'warm'] }),\r\n large_probability: core_1.NumberNode({ min: 0, max: 1 }),\r\n cluster_probability: core_1.NumberNode({ min: 0, max: 1 })\r\n },\r\n 'minecraft:pillager_outpost': templatePoolConfig,\r\n 'minecraft:ruined_portal': {\r\n portal_type: StringNode({ enum: ['standard', 'desert', 'jungle', 'mountain', 'nether', 'ocean', 'swamp'] })\r\n },\r\n 'minecraft:shipwreck': {\r\n is_beached: core_1.Opt(core_1.BooleanNode())\r\n },\r\n 'minecraft:village': templatePoolConfig\r\n }\r\n }, { context: 'structure_feature', disableSwitchContext: true })\r\n }, { context: 'structure_feature' }), {\r\n default: () => ({\r\n type: 'minecraft:bastion_remnant',\r\n config: {\r\n start_pool: 'minecraft:bastion/starts',\r\n size: 6\r\n }\r\n })\r\n }));\r\n}\r\nexports.initStructureFeatureSchemas = initStructureFeatureSchemas;\r\n","\"use strict\";\r\nObject.defineProperty(exports, \"__esModule\", { value: true });\r\nexports.initSurfaceBuilderSchemas = void 0;\r\nconst core_1 = require(\"@mcschema/core\");\r\nfunction initSurfaceBuilderSchemas(schemas, collections) {\r\n const StringNode = core_1.StringNode.bind(undefined, collections);\r\n const Reference = core_1.Reference.bind(undefined, schemas);\r\n schemas.register('configured_surface_builder', core_1.Mod(core_1.ObjectNode({\r\n type: StringNode({ validator: 'resource', params: { pool: 'worldgen/surface_builder' } }),\r\n config: core_1.ObjectNode({\r\n top_material: Reference('block_state'),\r\n under_material: Reference('block_state'),\r\n underwater_material: Reference('block_state'),\r\n }, { context: 'surface_builder' })\r\n }, { context: 'surface_builder' }), {\r\n default: () => ({\r\n type: 'minecraft:default',\r\n config: {\r\n top_material: {\r\n Name: 'minecraft:grass_block',\r\n Properties: {\r\n snowy: 'false'\r\n }\r\n },\r\n under_material: {\r\n Name: 'minecraft:dirt'\r\n },\r\n underwater_material: {\r\n Name: 'minecraft:gravel'\r\n }\r\n }\r\n })\r\n }));\r\n}\r\nexports.initSurfaceBuilderSchemas = initSurfaceBuilderSchemas;\r\n","\"use strict\";\r\nObject.defineProperty(exports, \"__esModule\", { value: true });\r\nexports.initTemplatePoolSchemas = void 0;\r\nconst core_1 = require(\"@mcschema/core\");\r\nrequire(\"./ProcessorList\");\r\nconst ProcessorList_1 = require(\"./ProcessorList\");\r\nfunction initTemplatePoolSchemas(schemas, collections) {\r\n const Reference = core_1.Reference.bind(undefined, schemas);\r\n const StringNode = core_1.StringNode.bind(undefined, collections);\r\n schemas.register('template_pool', core_1.Mod(core_1.ObjectNode({\r\n name: StringNode(),\r\n fallback: StringNode(),\r\n elements: core_1.ListNode(Reference('template_weighted_element'))\r\n }, { context: 'template_pool' }), {\r\n default: () => ({\r\n fallback: 'minecraft:empty',\r\n elements: [\r\n {\r\n weight: 1,\r\n element: {\r\n element_type: 'minecraft:single_pool_element',\r\n projection: 'rigid',\r\n processors: 'minecraft:empty'\r\n }\r\n }\r\n ]\r\n })\r\n }));\r\n schemas.register('template_weighted_element', core_1.Mod(core_1.ObjectNode({\r\n weight: core_1.NumberNode({ integer: true, min: 1 }),\r\n element: Reference('template_element')\r\n }, { category: 'pool' }), {\r\n default: () => ({\r\n weight: 1,\r\n element: {\r\n element_type: 'minecraft:single_pool_element',\r\n projection: 'rigid',\r\n processors: 'minecraft:empty'\r\n }\r\n })\r\n }));\r\n schemas.register('template_element', core_1.Mod(core_1.ObjectNode({\r\n element_type: StringNode({ validator: 'resource', params: { pool: 'worldgen/structure_pool_element' } }),\r\n projection: StringNode({ enum: ['rigid', 'terrain_matching'] }),\r\n [core_1.Switch]: [{ push: 'element_type' }],\r\n [core_1.Case]: {\r\n 'minecraft:feature_pool_element': {\r\n feature: StringNode({ validator: 'resource', params: { pool: '$worldgen/configured_feature' } })\r\n },\r\n 'minecraft:legacy_single_pool_element': {\r\n location: StringNode({ validator: 'resource', params: { pool: '$structure' } }),\r\n processors: ProcessorList_1.Processors\r\n },\r\n 'minecraft:list_pool_element': {\r\n elements: core_1.ListNode(Reference('template_element'))\r\n },\r\n 'minecraft:single_pool_element': {\r\n location: StringNode({ validator: 'resource', params: { pool: '$structure' } }),\r\n processors: ProcessorList_1.Processors\r\n }\r\n }\r\n }, { context: 'template_element', disableSwitchContext: true }), {\r\n default: () => ({\r\n element_type: 'minecraft:single_pool_element',\r\n projection: 'rigid',\r\n processors: 'minecraft:empty'\r\n })\r\n }));\r\n}\r\nexports.initTemplatePoolSchemas = initTemplatePoolSchemas;\r\n","\"use strict\";\r\nObject.defineProperty(exports, \"__esModule\", { value: true });\r\nexports.initWorldgenSchemas = void 0;\r\nconst Biome_1 = require(\"./Biome\");\r\nconst Carver_1 = require(\"./Carver\");\r\nconst Decorator_1 = require(\"./Decorator\");\r\nconst Feature_1 = require(\"./Feature\");\r\nconst NoiseSettings_1 = require(\"./NoiseSettings\");\r\nconst ProcessorList_1 = require(\"./ProcessorList\");\r\nconst StructureFeature_1 = require(\"./StructureFeature\");\r\nconst SurfaceBuilder_1 = require(\"./SurfaceBuilder\");\r\nconst TemplatePool_1 = require(\"./TemplatePool\");\r\nfunction initWorldgenSchemas(schemas, collections) {\r\n // `ProcessorList.ts` has exports. It should be initialized first. \r\n ProcessorList_1.initProcessorListSchemas(schemas, collections);\r\n Biome_1.initBiomeSchemas(schemas, collections);\r\n Carver_1.initCarverSchemas(schemas, collections);\r\n Decorator_1.initDecoratorSchemas(schemas, collections);\r\n Feature_1.initFeatureSchemas(schemas, collections);\r\n NoiseSettings_1.initNoiseSettingsSchemas(schemas, collections);\r\n StructureFeature_1.initStructureFeatureSchemas(schemas, collections);\r\n SurfaceBuilder_1.initSurfaceBuilderSchemas(schemas, collections);\r\n TemplatePool_1.initTemplatePoolSchemas(schemas, collections);\r\n}\r\nexports.initWorldgenSchemas = initWorldgenSchemas;\r\n","\"use strict\";\r\nObject.defineProperty(exports, \"__esModule\", { value: true });\r\nexports.initWorldSettingsSchemas = void 0;\r\nconst core_1 = require(\"@mcschema/core\");\r\nfunction initWorldSettingsSchemas(schemas, collections) {\r\n const Reference = core_1.Reference.bind(undefined, schemas);\r\n const StringNode = core_1.StringNode.bind(undefined, collections);\r\n schemas.register('world_settings', core_1.Mod(core_1.ObjectNode({\r\n generate_features: core_1.BooleanNode(),\r\n bonus_chest: core_1.BooleanNode(),\r\n seed: core_1.NumberNode({ integer: true }),\r\n dimensions: core_1.MapNode(StringNode({ validator: 'resource', params: { pool: '$dimension' } }), Reference('dimension'))\r\n }, { context: 'world_settings' }), {\r\n default: () => {\r\n const seed = Math.floor(Math.random() * (4294967296)) - 2147483648;\r\n return {\r\n generate_features: true,\r\n bonus_chest: false,\r\n seed,\r\n dimensions: {\r\n 'minecraft:overworld': {\r\n type: 'minecraft:overworld',\r\n generator: {\r\n type: 'minecraft:noise',\r\n seed,\r\n biome_source: {\r\n type: 'minecraft:vanilla_layered',\r\n seed\r\n },\r\n settings: 'minecraft:overworld',\r\n }\r\n },\r\n 'minecraft:the_nether': {\r\n type: 'minecraft:the_nether',\r\n generator: {\r\n type: 'minecraft:noise',\r\n seed,\r\n biome_source: {\r\n type: 'minecraft:multi_noise',\r\n seed,\r\n humidity_noise: {\r\n firstOctave: -7,\r\n amplitudes: [1.0, 1.0]\r\n },\r\n altitude_noise: {\r\n firstOctave: -7,\r\n amplitudes: [1.0, 1.0]\r\n },\r\n weirdness_noise: {\r\n firstOctave: -7,\r\n amplitudes: [1.0, 1.0]\r\n },\r\n temperature_noise: {\r\n firstOctave: -7,\r\n amplitudes: [1.0, 1.0]\r\n },\r\n biomes: [\r\n {\r\n parameters: { altitude: 0.0, weirdness: 0.0, offset: 0.0, temperature: 0.0, humidity: 0.0 },\r\n biome: 'minecraft:nether_wastes'\r\n },\r\n {\r\n parameters: { altitude: 0.0, weirdness: 0.0, offset: 0.0, temperature: 0.0, humidity: -0.5 },\r\n biome: 'minecraft:soul_sand_valley'\r\n },\r\n {\r\n parameters: { altitude: 0.0, weirdness: 0.0, offset: 0.0, temperature: 0.4, humidity: 0.0 },\r\n biome: 'minecraft:crimson_forest'\r\n },\r\n {\r\n parameters: { altitude: 0.0, weirdness: 0.0, offset: 0.375, temperature: 0.0, humidity: 0.5 },\r\n biome: 'minecraft:warped_forest'\r\n },\r\n {\r\n parameters: { altitude: 0.0, weirdness: 0.0, offset: 0.175, temperature: -0.5, humidity: 0.0 },\r\n biome: 'minecraft:basalt_deltas'\r\n }\r\n ]\r\n },\r\n settings: 'minecraft:nether'\r\n }\r\n },\r\n 'minecraft:the_end': {\r\n type: \"minecraft:the_end\",\r\n generator: {\r\n type: \"minecraft:noise\",\r\n seed,\r\n biome_source: {\r\n type: \"minecraft:the_end\",\r\n seed\r\n },\r\n settings: \"minecraft:end\"\r\n }\r\n }\r\n }\r\n };\r\n }\r\n }));\r\n}\r\nexports.initWorldSettingsSchemas = initWorldSettingsSchemas;\r\n","\"use strict\";\r\nObject.defineProperty(exports, \"__esModule\", { value: true });\r\nexports.initSchemas = void 0;\r\nconst Advancement_1 = require(\"./Advancement\");\r\nconst Common_1 = require(\"./Common\");\r\nconst Condition_1 = require(\"./Condition\");\r\nconst Dimension_1 = require(\"./Dimension\");\r\nconst DimensionType_1 = require(\"./DimensionType\");\r\nconst ItemModifier_1 = require(\"./ItemModifier\");\r\nconst LootTable_1 = require(\"./LootTable\");\r\nconst PackMcmeta_1 = require(\"./PackMcmeta\");\r\nconst Predicates_1 = require(\"./Predicates\");\r\nconst Recipe_1 = require(\"./Recipe\");\r\nconst Tags_1 = require(\"./Tags\");\r\nconst TextComponent_1 = require(\"./TextComponent\");\r\nconst worldgen_1 = require(\"./worldgen\");\r\nconst WorldSettings_1 = require(\"./WorldSettings\");\r\nfunction initSchemas(schemas, collections) {\r\n // `Common.ts` is the only file that has exports. It should be initialized first. \r\n Common_1.initCommonSchemas(schemas, collections);\r\n Advancement_1.initAdvancementSchemas(schemas, collections);\r\n Condition_1.initConditionSchemas(schemas, collections);\r\n DimensionType_1.initDimensionTypeSchemas(schemas, collections);\r\n Dimension_1.initDimensionSchemas(schemas, collections);\r\n ItemModifier_1.initItemModifierSchemas(schemas, collections);\r\n LootTable_1.initLootTableSchemas(schemas, collections);\r\n PackMcmeta_1.initPackMcmetaSchemas(schemas, collections);\r\n Predicates_1.initPredicatesSchemas(schemas, collections);\r\n Recipe_1.initRecipeSchemas(schemas, collections);\r\n Tags_1.initTagsSchemas(schemas, collections);\r\n TextComponent_1.initTextComponentSchemas(schemas, collections);\r\n worldgen_1.initWorldgenSchemas(schemas, collections);\r\n WorldSettings_1.initWorldSettingsSchemas(schemas, collections);\r\n}\r\nexports.initSchemas = initSchemas;\r\n","\"use strict\";\r\nvar __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {\r\n if (k2 === undefined) k2 = k;\r\n Object.defineProperty(o, k2, { enumerable: true, get: function() { return m[k]; } });\r\n}) : (function(o, m, k, k2) {\r\n if (k2 === undefined) k2 = k;\r\n o[k2] = m[k];\r\n}));\r\nvar __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {\r\n Object.defineProperty(o, \"default\", { enumerable: true, value: v });\r\n}) : function(o, v) {\r\n o[\"default\"] = v;\r\n});\r\nvar __importStar = (this && this.__importStar) || function (mod) {\r\n if (mod && mod.__esModule) return mod;\r\n var result = {};\r\n if (mod != null) for (var k in mod) if (k !== \"default\" && Object.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);\r\n __setModuleDefault(result, mod);\r\n return result;\r\n};\r\nObject.defineProperty(exports, \"__esModule\", { value: true });\r\nexports.getSchemas = exports.getCollections = void 0;\r\nconst core_1 = require(\"@mcschema/core\");\r\nconst Collections_1 = require(\"./Collections\");\r\nconst schemas_1 = require(\"./schemas\");\r\nexports.lootContext = __importStar(require(\"./LootContext\"));\r\nfunction getCollections() {\r\n const collections = new core_1.CollectionRegistry();\r\n Collections_1.initCollections(collections);\r\n return collections;\r\n}\r\nexports.getCollections = getCollections;\r\n/**\r\n * @param collections The CollectionRegistry for this version. Note that apart from\r\n * the built-in collections, the client of this module is responsible for futhermore\r\n * adding the vanilla registries to it: the collection IDs shouldn't contain the\r\n * namespace (`minecraft:`) part, while the values within the collections should.\r\n *\r\n * @example\r\n * for (const key in VANILLA_REGISTRIES>) {\r\n * collections.register(\r\n * key.replace(/^minecraft:/, ''),\r\n * Object.keys(VANILLA_REGISTRIES[key].entries)\r\n * )\r\n * }\r\n */\r\nfunction getSchemas(collections) {\r\n const schemas = new core_1.SchemaRegistry();\r\n schemas_1.initSchemas(schemas, collections);\r\n return schemas;\r\n}\r\nexports.getSchemas = getSchemas;\r\n","// A port of an algorithm by Johannes Baagøe , 2010\n// http://baagoe.com/en/RandomMusings/javascript/\n// https://github.com/nquinlan/better-random-numbers-for-javascript-mirror\n// Original work is under MIT license -\n\n// Copyright (C) 2010 by Johannes Baagøe \n//\n// Permission is hereby granted, free of charge, to any person obtaining a copy\n// of this software and associated documentation files (the \"Software\"), to deal\n// in the Software without restriction, including without limitation the rights\n// to use, copy, modify, merge, publish, distribute, sublicense, and/or sell\n// copies of the Software, and to permit persons to whom the Software is\n// furnished to do so, subject to the following conditions:\n//\n// The above copyright notice and this permission notice shall be included in\n// all copies or substantial portions of the Software.\n//\n// THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR\n// IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,\n// FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE\n// AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER\n// LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,\n// OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN\n// THE SOFTWARE.\n\n\n\n(function(global, module, define) {\n\nfunction Alea(seed) {\n var me = this, mash = Mash();\n\n me.next = function() {\n var t = 2091639 * me.s0 + me.c * 2.3283064365386963e-10; // 2^-32\n me.s0 = me.s1;\n me.s1 = me.s2;\n return me.s2 = t - (me.c = t | 0);\n };\n\n // Apply the seeding algorithm from Baagoe.\n me.c = 1;\n me.s0 = mash(' ');\n me.s1 = mash(' ');\n me.s2 = mash(' ');\n me.s0 -= mash(seed);\n if (me.s0 < 0) { me.s0 += 1; }\n me.s1 -= mash(seed);\n if (me.s1 < 0) { me.s1 += 1; }\n me.s2 -= mash(seed);\n if (me.s2 < 0) { me.s2 += 1; }\n mash = null;\n}\n\nfunction copy(f, t) {\n t.c = f.c;\n t.s0 = f.s0;\n t.s1 = f.s1;\n t.s2 = f.s2;\n return t;\n}\n\nfunction impl(seed, opts) {\n var xg = new Alea(seed),\n state = opts && opts.state,\n prng = xg.next;\n prng.int32 = function() { return (xg.next() * 0x100000000) | 0; }\n prng.double = function() {\n return prng() + (prng() * 0x200000 | 0) * 1.1102230246251565e-16; // 2^-53\n };\n prng.quick = prng;\n if (state) {\n if (typeof(state) == 'object') copy(state, xg);\n prng.state = function() { return copy(xg, {}); }\n }\n return prng;\n}\n\nfunction Mash() {\n var n = 0xefc8249d;\n\n var mash = function(data) {\n data = String(data);\n for (var i = 0; i < data.length; i++) {\n n += data.charCodeAt(i);\n var h = 0.02519603282416938 * n;\n n = h >>> 0;\n h -= n;\n h *= n;\n n = h >>> 0;\n h -= n;\n n += h * 0x100000000; // 2^32\n }\n return (n >>> 0) * 2.3283064365386963e-10; // 2^-32\n };\n\n return mash;\n}\n\n\nif (module && module.exports) {\n module.exports = impl;\n} else if (define && define.amd) {\n define(function() { return impl; });\n} else {\n this.alea = impl;\n}\n\n})(\n this,\n (typeof module) == 'object' && module, // present in node.js\n (typeof define) == 'function' && define // present with an AMD loader\n);\n\n\n","// A Javascript implementaion of the \"xor128\" prng algorithm by\n// George Marsaglia. See http://www.jstatsoft.org/v08/i14/paper\n\n(function(global, module, define) {\n\nfunction XorGen(seed) {\n var me = this, strseed = '';\n\n me.x = 0;\n me.y = 0;\n me.z = 0;\n me.w = 0;\n\n // Set up generator function.\n me.next = function() {\n var t = me.x ^ (me.x << 11);\n me.x = me.y;\n me.y = me.z;\n me.z = me.w;\n return me.w ^= (me.w >>> 19) ^ t ^ (t >>> 8);\n };\n\n if (seed === (seed | 0)) {\n // Integer seed.\n me.x = seed;\n } else {\n // String seed.\n strseed += seed;\n }\n\n // Mix in string seed, then discard an initial batch of 64 values.\n for (var k = 0; k < strseed.length + 64; k++) {\n me.x ^= strseed.charCodeAt(k) | 0;\n me.next();\n }\n}\n\nfunction copy(f, t) {\n t.x = f.x;\n t.y = f.y;\n t.z = f.z;\n t.w = f.w;\n return t;\n}\n\nfunction impl(seed, opts) {\n var xg = new XorGen(seed),\n state = opts && opts.state,\n prng = function() { return (xg.next() >>> 0) / 0x100000000; };\n prng.double = function() {\n do {\n var top = xg.next() >>> 11,\n bot = (xg.next() >>> 0) / 0x100000000,\n result = (top + bot) / (1 << 21);\n } while (result === 0);\n return result;\n };\n prng.int32 = xg.next;\n prng.quick = prng;\n if (state) {\n if (typeof(state) == 'object') copy(state, xg);\n prng.state = function() { return copy(xg, {}); }\n }\n return prng;\n}\n\nif (module && module.exports) {\n module.exports = impl;\n} else if (define && define.amd) {\n define(function() { return impl; });\n} else {\n this.xor128 = impl;\n}\n\n})(\n this,\n (typeof module) == 'object' && module, // present in node.js\n (typeof define) == 'function' && define // present with an AMD loader\n);\n\n\n","// A Javascript implementaion of the \"xorwow\" prng algorithm by\n// George Marsaglia. See http://www.jstatsoft.org/v08/i14/paper\n\n(function(global, module, define) {\n\nfunction XorGen(seed) {\n var me = this, strseed = '';\n\n // Set up generator function.\n me.next = function() {\n var t = (me.x ^ (me.x >>> 2));\n me.x = me.y; me.y = me.z; me.z = me.w; me.w = me.v;\n return (me.d = (me.d + 362437 | 0)) +\n (me.v = (me.v ^ (me.v << 4)) ^ (t ^ (t << 1))) | 0;\n };\n\n me.x = 0;\n me.y = 0;\n me.z = 0;\n me.w = 0;\n me.v = 0;\n\n if (seed === (seed | 0)) {\n // Integer seed.\n me.x = seed;\n } else {\n // String seed.\n strseed += seed;\n }\n\n // Mix in string seed, then discard an initial batch of 64 values.\n for (var k = 0; k < strseed.length + 64; k++) {\n me.x ^= strseed.charCodeAt(k) | 0;\n if (k == strseed.length) {\n me.d = me.x << 10 ^ me.x >>> 4;\n }\n me.next();\n }\n}\n\nfunction copy(f, t) {\n t.x = f.x;\n t.y = f.y;\n t.z = f.z;\n t.w = f.w;\n t.v = f.v;\n t.d = f.d;\n return t;\n}\n\nfunction impl(seed, opts) {\n var xg = new XorGen(seed),\n state = opts && opts.state,\n prng = function() { return (xg.next() >>> 0) / 0x100000000; };\n prng.double = function() {\n do {\n var top = xg.next() >>> 11,\n bot = (xg.next() >>> 0) / 0x100000000,\n result = (top + bot) / (1 << 21);\n } while (result === 0);\n return result;\n };\n prng.int32 = xg.next;\n prng.quick = prng;\n if (state) {\n if (typeof(state) == 'object') copy(state, xg);\n prng.state = function() { return copy(xg, {}); }\n }\n return prng;\n}\n\nif (module && module.exports) {\n module.exports = impl;\n} else if (define && define.amd) {\n define(function() { return impl; });\n} else {\n this.xorwow = impl;\n}\n\n})(\n this,\n (typeof module) == 'object' && module, // present in node.js\n (typeof define) == 'function' && define // present with an AMD loader\n);\n\n\n","// A Javascript implementaion of the \"xorshift7\" algorithm by\n// François Panneton and Pierre L'ecuyer:\n// \"On the Xorgshift Random Number Generators\"\n// http://saluc.engr.uconn.edu/refs/crypto/rng/panneton05onthexorshift.pdf\n\n(function(global, module, define) {\n\nfunction XorGen(seed) {\n var me = this;\n\n // Set up generator function.\n me.next = function() {\n // Update xor generator.\n var X = me.x, i = me.i, t, v, w;\n t = X[i]; t ^= (t >>> 7); v = t ^ (t << 24);\n t = X[(i + 1) & 7]; v ^= t ^ (t >>> 10);\n t = X[(i + 3) & 7]; v ^= t ^ (t >>> 3);\n t = X[(i + 4) & 7]; v ^= t ^ (t << 7);\n t = X[(i + 7) & 7]; t = t ^ (t << 13); v ^= t ^ (t << 9);\n X[i] = v;\n me.i = (i + 1) & 7;\n return v;\n };\n\n function init(me, seed) {\n var j, w, X = [];\n\n if (seed === (seed | 0)) {\n // Seed state array using a 32-bit integer.\n w = X[0] = seed;\n } else {\n // Seed state using a string.\n seed = '' + seed;\n for (j = 0; j < seed.length; ++j) {\n X[j & 7] = (X[j & 7] << 15) ^\n (seed.charCodeAt(j) + X[(j + 1) & 7] << 13);\n }\n }\n // Enforce an array length of 8, not all zeroes.\n while (X.length < 8) X.push(0);\n for (j = 0; j < 8 && X[j] === 0; ++j);\n if (j == 8) w = X[7] = -1; else w = X[j];\n\n me.x = X;\n me.i = 0;\n\n // Discard an initial 256 values.\n for (j = 256; j > 0; --j) {\n me.next();\n }\n }\n\n init(me, seed);\n}\n\nfunction copy(f, t) {\n t.x = f.x.slice();\n t.i = f.i;\n return t;\n}\n\nfunction impl(seed, opts) {\n if (seed == null) seed = +(new Date);\n var xg = new XorGen(seed),\n state = opts && opts.state,\n prng = function() { return (xg.next() >>> 0) / 0x100000000; };\n prng.double = function() {\n do {\n var top = xg.next() >>> 11,\n bot = (xg.next() >>> 0) / 0x100000000,\n result = (top + bot) / (1 << 21);\n } while (result === 0);\n return result;\n };\n prng.int32 = xg.next;\n prng.quick = prng;\n if (state) {\n if (state.x) copy(state, xg);\n prng.state = function() { return copy(xg, {}); }\n }\n return prng;\n}\n\nif (module && module.exports) {\n module.exports = impl;\n} else if (define && define.amd) {\n define(function() { return impl; });\n} else {\n this.xorshift7 = impl;\n}\n\n})(\n this,\n (typeof module) == 'object' && module, // present in node.js\n (typeof define) == 'function' && define // present with an AMD loader\n);\n\n","// A Javascript implementaion of Richard Brent's Xorgens xor4096 algorithm.\n//\n// This fast non-cryptographic random number generator is designed for\n// use in Monte-Carlo algorithms. It combines a long-period xorshift\n// generator with a Weyl generator, and it passes all common batteries\n// of stasticial tests for randomness while consuming only a few nanoseconds\n// for each prng generated. For background on the generator, see Brent's\n// paper: \"Some long-period random number generators using shifts and xors.\"\n// http://arxiv.org/pdf/1004.3115v1.pdf\n//\n// Usage:\n//\n// var xor4096 = require('xor4096');\n// random = xor4096(1); // Seed with int32 or string.\n// assert.equal(random(), 0.1520436450538547); // (0, 1) range, 53 bits.\n// assert.equal(random.int32(), 1806534897); // signed int32, 32 bits.\n//\n// For nonzero numeric keys, this impelementation provides a sequence\n// identical to that by Brent's xorgens 3 implementaion in C. This\n// implementation also provides for initalizing the generator with\n// string seeds, or for saving and restoring the state of the generator.\n//\n// On Chrome, this prng benchmarks about 2.1 times slower than\n// Javascript's built-in Math.random().\n\n(function(global, module, define) {\n\nfunction XorGen(seed) {\n var me = this;\n\n // Set up generator function.\n me.next = function() {\n var w = me.w,\n X = me.X, i = me.i, t, v;\n // Update Weyl generator.\n me.w = w = (w + 0x61c88647) | 0;\n // Update xor generator.\n v = X[(i + 34) & 127];\n t = X[i = ((i + 1) & 127)];\n v ^= v << 13;\n t ^= t << 17;\n v ^= v >>> 15;\n t ^= t >>> 12;\n // Update Xor generator array state.\n v = X[i] = v ^ t;\n me.i = i;\n // Result is the combination.\n return (v + (w ^ (w >>> 16))) | 0;\n };\n\n function init(me, seed) {\n var t, v, i, j, w, X = [], limit = 128;\n if (seed === (seed | 0)) {\n // Numeric seeds initialize v, which is used to generates X.\n v = seed;\n seed = null;\n } else {\n // String seeds are mixed into v and X one character at a time.\n seed = seed + '\\0';\n v = 0;\n limit = Math.max(limit, seed.length);\n }\n // Initialize circular array and weyl value.\n for (i = 0, j = -32; j < limit; ++j) {\n // Put the unicode characters into the array, and shuffle them.\n if (seed) v ^= seed.charCodeAt((j + 32) % seed.length);\n // After 32 shuffles, take v as the starting w value.\n if (j === 0) w = v;\n v ^= v << 10;\n v ^= v >>> 15;\n v ^= v << 4;\n v ^= v >>> 13;\n if (j >= 0) {\n w = (w + 0x61c88647) | 0; // Weyl.\n t = (X[j & 127] ^= (v + w)); // Combine xor and weyl to init array.\n i = (0 == t) ? i + 1 : 0; // Count zeroes.\n }\n }\n // We have detected all zeroes; make the key nonzero.\n if (i >= 128) {\n X[(seed && seed.length || 0) & 127] = -1;\n }\n // Run the generator 512 times to further mix the state before using it.\n // Factoring this as a function slows the main generator, so it is just\n // unrolled here. The weyl generator is not advanced while warming up.\n i = 127;\n for (j = 4 * 128; j > 0; --j) {\n v = X[(i + 34) & 127];\n t = X[i = ((i + 1) & 127)];\n v ^= v << 13;\n t ^= t << 17;\n v ^= v >>> 15;\n t ^= t >>> 12;\n X[i] = v ^ t;\n }\n // Storing state as object members is faster than using closure variables.\n me.w = w;\n me.X = X;\n me.i = i;\n }\n\n init(me, seed);\n}\n\nfunction copy(f, t) {\n t.i = f.i;\n t.w = f.w;\n t.X = f.X.slice();\n return t;\n};\n\nfunction impl(seed, opts) {\n if (seed == null) seed = +(new Date);\n var xg = new XorGen(seed),\n state = opts && opts.state,\n prng = function() { return (xg.next() >>> 0) / 0x100000000; };\n prng.double = function() {\n do {\n var top = xg.next() >>> 11,\n bot = (xg.next() >>> 0) / 0x100000000,\n result = (top + bot) / (1 << 21);\n } while (result === 0);\n return result;\n };\n prng.int32 = xg.next;\n prng.quick = prng;\n if (state) {\n if (state.X) copy(state, xg);\n prng.state = function() { return copy(xg, {}); }\n }\n return prng;\n}\n\nif (module && module.exports) {\n module.exports = impl;\n} else if (define && define.amd) {\n define(function() { return impl; });\n} else {\n this.xor4096 = impl;\n}\n\n})(\n this, // window object or global\n (typeof module) == 'object' && module, // present in node.js\n (typeof define) == 'function' && define // present with an AMD loader\n);\n","// A Javascript implementaion of the \"Tyche-i\" prng algorithm by\n// Samuel Neves and Filipe Araujo.\n// See https://eden.dei.uc.pt/~sneves/pubs/2011-snfa2.pdf\n\n(function(global, module, define) {\n\nfunction XorGen(seed) {\n var me = this, strseed = '';\n\n // Set up generator function.\n me.next = function() {\n var b = me.b, c = me.c, d = me.d, a = me.a;\n b = (b << 25) ^ (b >>> 7) ^ c;\n c = (c - d) | 0;\n d = (d << 24) ^ (d >>> 8) ^ a;\n a = (a - b) | 0;\n me.b = b = (b << 20) ^ (b >>> 12) ^ c;\n me.c = c = (c - d) | 0;\n me.d = (d << 16) ^ (c >>> 16) ^ a;\n return me.a = (a - b) | 0;\n };\n\n /* The following is non-inverted tyche, which has better internal\n * bit diffusion, but which is about 25% slower than tyche-i in JS.\n me.next = function() {\n var a = me.a, b = me.b, c = me.c, d = me.d;\n a = (me.a + me.b | 0) >>> 0;\n d = me.d ^ a; d = d << 16 ^ d >>> 16;\n c = me.c + d | 0;\n b = me.b ^ c; b = b << 12 ^ d >>> 20;\n me.a = a = a + b | 0;\n d = d ^ a; me.d = d = d << 8 ^ d >>> 24;\n me.c = c = c + d | 0;\n b = b ^ c;\n return me.b = (b << 7 ^ b >>> 25);\n }\n */\n\n me.a = 0;\n me.b = 0;\n me.c = 2654435769 | 0;\n me.d = 1367130551;\n\n if (seed === Math.floor(seed)) {\n // Integer seed.\n me.a = (seed / 0x100000000) | 0;\n me.b = seed | 0;\n } else {\n // String seed.\n strseed += seed;\n }\n\n // Mix in string seed, then discard an initial batch of 64 values.\n for (var k = 0; k < strseed.length + 20; k++) {\n me.b ^= strseed.charCodeAt(k) | 0;\n me.next();\n }\n}\n\nfunction copy(f, t) {\n t.a = f.a;\n t.b = f.b;\n t.c = f.c;\n t.d = f.d;\n return t;\n};\n\nfunction impl(seed, opts) {\n var xg = new XorGen(seed),\n state = opts && opts.state,\n prng = function() { return (xg.next() >>> 0) / 0x100000000; };\n prng.double = function() {\n do {\n var top = xg.next() >>> 11,\n bot = (xg.next() >>> 0) / 0x100000000,\n result = (top + bot) / (1 << 21);\n } while (result === 0);\n return result;\n };\n prng.int32 = xg.next;\n prng.quick = prng;\n if (state) {\n if (typeof(state) == 'object') copy(state, xg);\n prng.state = function() { return copy(xg, {}); }\n }\n return prng;\n}\n\nif (module && module.exports) {\n module.exports = impl;\n} else if (define && define.amd) {\n define(function() { return impl; });\n} else {\n this.tychei = impl;\n}\n\n})(\n this,\n (typeof module) == 'object' && module, // present in node.js\n (typeof define) == 'function' && define // present with an AMD loader\n);\n\n\n","export default {}","/*\nCopyright 2019 David Bau.\n\nPermission is hereby granted, free of charge, to any person obtaining\na copy of this software and associated documentation files (the\n\"Software\"), to deal in the Software without restriction, including\nwithout limitation the rights to use, copy, modify, merge, publish,\ndistribute, sublicense, and/or sell copies of the Software, and to\npermit persons to whom the Software is furnished to do so, subject to\nthe following conditions:\n\nThe above copyright notice and this permission notice shall be\nincluded in all copies or substantial portions of the Software.\n\nTHE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND,\nEXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF\nMERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.\nIN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY\nCLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT,\nTORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE\nSOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.\n\n*/\n\n(function (global, pool, math) {\n//\n// The following constants are related to IEEE 754 limits.\n//\n\nvar width = 256, // each RC4 output is 0 <= x < 256\n chunks = 6, // at least six RC4 outputs for each double\n digits = 52, // there are 52 significant digits in a double\n rngname = 'random', // rngname: name for Math.random and Math.seedrandom\n startdenom = math.pow(width, chunks),\n significance = math.pow(2, digits),\n overflow = significance * 2,\n mask = width - 1,\n nodecrypto; // node.js crypto module, initialized at the bottom.\n\n//\n// seedrandom()\n// This is the seedrandom function described above.\n//\nfunction seedrandom(seed, options, callback) {\n var key = [];\n options = (options == true) ? { entropy: true } : (options || {});\n\n // Flatten the seed string or build one from local entropy if needed.\n var shortseed = mixkey(flatten(\n options.entropy ? [seed, tostring(pool)] :\n (seed == null) ? autoseed() : seed, 3), key);\n\n // Use the seed to initialize an ARC4 generator.\n var arc4 = new ARC4(key);\n\n // This function returns a random double in [0, 1) that contains\n // randomness in every bit of the mantissa of the IEEE 754 value.\n var prng = function() {\n var n = arc4.g(chunks), // Start with a numerator n < 2 ^ 48\n d = startdenom, // and denominator d = 2 ^ 48.\n x = 0; // and no 'extra last byte'.\n while (n < significance) { // Fill up all significant digits by\n n = (n + x) * width; // shifting numerator and\n d *= width; // denominator and generating a\n x = arc4.g(1); // new least-significant-byte.\n }\n while (n >= overflow) { // To avoid rounding up, before adding\n n /= 2; // last byte, shift everything\n d /= 2; // right using integer math until\n x >>>= 1; // we have exactly the desired bits.\n }\n return (n + x) / d; // Form the number within [0, 1).\n };\n\n prng.int32 = function() { return arc4.g(4) | 0; }\n prng.quick = function() { return arc4.g(4) / 0x100000000; }\n prng.double = prng;\n\n // Mix the randomness into accumulated entropy.\n mixkey(tostring(arc4.S), pool);\n\n // Calling convention: what to return as a function of prng, seed, is_math.\n return (options.pass || callback ||\n function(prng, seed, is_math_call, state) {\n if (state) {\n // Load the arc4 state from the given state if it has an S array.\n if (state.S) { copy(state, arc4); }\n // Only provide the .state method if requested via options.state.\n prng.state = function() { return copy(arc4, {}); }\n }\n\n // If called as a method of Math (Math.seedrandom()), mutate\n // Math.random because that is how seedrandom.js has worked since v1.0.\n if (is_math_call) { math[rngname] = prng; return seed; }\n\n // Otherwise, it is a newer calling convention, so return the\n // prng directly.\n else return prng;\n })(\n prng,\n shortseed,\n 'global' in options ? options.global : (this == math),\n options.state);\n}\n\n//\n// ARC4\n//\n// An ARC4 implementation. The constructor takes a key in the form of\n// an array of at most (width) integers that should be 0 <= x < (width).\n//\n// The g(count) method returns a pseudorandom integer that concatenates\n// the next (count) outputs from ARC4. Its return value is a number x\n// that is in the range 0 <= x < (width ^ count).\n//\nfunction ARC4(key) {\n var t, keylen = key.length,\n me = this, i = 0, j = me.i = me.j = 0, s = me.S = [];\n\n // The empty key [] is treated as [0].\n if (!keylen) { key = [keylen++]; }\n\n // Set up S using the standard key scheduling algorithm.\n while (i < width) {\n s[i] = i++;\n }\n for (i = 0; i < width; i++) {\n s[i] = s[j = mask & (j + key[i % keylen] + (t = s[i]))];\n s[j] = t;\n }\n\n // The \"g\" method returns the next (count) outputs as one number.\n (me.g = function(count) {\n // Using instance members instead of closure state nearly doubles speed.\n var t, r = 0,\n i = me.i, j = me.j, s = me.S;\n while (count--) {\n t = s[i = mask & (i + 1)];\n r = r * width + s[mask & ((s[i] = s[j = mask & (j + t)]) + (s[j] = t))];\n }\n me.i = i; me.j = j;\n return r;\n // For robust unpredictability, the function call below automatically\n // discards an initial batch of values. This is called RC4-drop[256].\n // See http://google.com/search?q=rsa+fluhrer+response&btnI\n })(width);\n}\n\n//\n// copy()\n// Copies internal state of ARC4 to or from a plain object.\n//\nfunction copy(f, t) {\n t.i = f.i;\n t.j = f.j;\n t.S = f.S.slice();\n return t;\n};\n\n//\n// flatten()\n// Converts an object tree to nested arrays of strings.\n//\nfunction flatten(obj, depth) {\n var result = [], typ = (typeof obj), prop;\n if (depth && typ == 'object') {\n for (prop in obj) {\n try { result.push(flatten(obj[prop], depth - 1)); } catch (e) {}\n }\n }\n return (result.length ? result : typ == 'string' ? obj : obj + '\\0');\n}\n\n//\n// mixkey()\n// Mixes a string seed into a key that is an array of integers, and\n// returns a shortened string seed that is equivalent to the result key.\n//\nfunction mixkey(seed, key) {\n var stringseed = seed + '', smear, j = 0;\n while (j < stringseed.length) {\n key[mask & j] =\n mask & ((smear ^= key[mask & j] * 19) + stringseed.charCodeAt(j++));\n }\n return tostring(key);\n}\n\n//\n// autoseed()\n// Returns an object for autoseeding, using window.crypto and Node crypto\n// module if available.\n//\nfunction autoseed() {\n try {\n var out;\n if (nodecrypto && (out = nodecrypto.randomBytes)) {\n // The use of 'out' to remember randomBytes makes tight minified code.\n out = out(width);\n } else {\n out = new Uint8Array(width);\n (global.crypto || global.msCrypto).getRandomValues(out);\n }\n return tostring(out);\n } catch (e) {\n var browser = global.navigator,\n plugins = browser && browser.plugins;\n return [+new Date, global, plugins, global.screen, tostring(pool)];\n }\n}\n\n//\n// tostring()\n// Converts an array of charcodes to a string\n//\nfunction tostring(a) {\n return String.fromCharCode.apply(0, a);\n}\n\n//\n// When seedrandom.js is loaded, we immediately mix a few bits\n// from the built-in RNG into the entropy pool. Because we do\n// not want to interfere with deterministic PRNG state later,\n// seedrandom will not call math.random on its own again after\n// initialization.\n//\nmixkey(math.random(), pool);\n\n//\n// Nodejs and AMD support: export the implementation as a module using\n// either convention.\n//\nif ((typeof module) == 'object' && module.exports) {\n module.exports = seedrandom;\n // When in node.js, try using crypto package for autoseeding.\n try {\n nodecrypto = require('crypto');\n } catch (ex) {}\n} else if ((typeof define) == 'function' && define.amd) {\n define(function() { return seedrandom; });\n} else {\n // When included as a plain script, set up Math.seedrandom global.\n math['seed' + rngname] = seedrandom;\n}\n\n\n// End anonymous scope, and pass initial values.\n})(\n // global: `self` in browsers (including strict mode and web workers),\n // otherwise `this` in Node and other environments\n (typeof self !== 'undefined') ? self : this,\n [], // pool: entropy pool starts empty\n Math // math: package containing random, pow, and seedrandom\n);\n","// A library of seedable RNGs implemented in Javascript.\n//\n// Usage:\n//\n// var seedrandom = require('seedrandom');\n// var random = seedrandom(1); // or any seed.\n// var x = random(); // 0 <= x < 1. Every bit is random.\n// var x = random.quick(); // 0 <= x < 1. 32 bits of randomness.\n\n// alea, a 53-bit multiply-with-carry generator by Johannes Baagøe.\n// Period: ~2^116\n// Reported to pass all BigCrush tests.\nvar alea = require('./lib/alea');\n\n// xor128, a pure xor-shift generator by George Marsaglia.\n// Period: 2^128-1.\n// Reported to fail: MatrixRank and LinearComp.\nvar xor128 = require('./lib/xor128');\n\n// xorwow, George Marsaglia's 160-bit xor-shift combined plus weyl.\n// Period: 2^192-2^32\n// Reported to fail: CollisionOver, SimpPoker, and LinearComp.\nvar xorwow = require('./lib/xorwow');\n\n// xorshift7, by François Panneton and Pierre L'ecuyer, takes\n// a different approach: it adds robustness by allowing more shifts\n// than Marsaglia's original three. It is a 7-shift generator\n// with 256 bits, that passes BigCrush with no systmatic failures.\n// Period 2^256-1.\n// No systematic BigCrush failures reported.\nvar xorshift7 = require('./lib/xorshift7');\n\n// xor4096, by Richard Brent, is a 4096-bit xor-shift with a\n// very long period that also adds a Weyl generator. It also passes\n// BigCrush with no systematic failures. Its long period may\n// be useful if you have many generators and need to avoid\n// collisions.\n// Period: 2^4128-2^32.\n// No systematic BigCrush failures reported.\nvar xor4096 = require('./lib/xor4096');\n\n// Tyche-i, by Samuel Neves and Filipe Araujo, is a bit-shifting random\n// number generator derived from ChaCha, a modern stream cipher.\n// https://eden.dei.uc.pt/~sneves/pubs/2011-snfa2.pdf\n// Period: ~2^127\n// No systematic BigCrush failures reported.\nvar tychei = require('./lib/tychei');\n\n// The original ARC4-based prng included in this library.\n// Period: ~2^1600\nvar sr = require('./seedrandom');\n\nsr.alea = alea;\nsr.xor128 = xor128;\nsr.xorwow = xorwow;\nsr.xorshift7 = xorshift7;\nsr.xor4096 = xor4096;\nsr.tychei = tychei;\n\nmodule.exports = sr;\n"],"names":["n","u","i","t","r","f","e","n2","l2","u2","parentNode","removeChild","i2","t2","o2","r2","arguments","f2","length","push","children","defaultProps","v","type","props","key","ref","__k","__","__b","__e","__d","__c","__h","constructor","__v","vnode","this","context","d","indexOf","base","_","b","__r","debounceRendering","sort","n3","some","__P","c","I","__n","ownerSVGElement","T","e2","c2","s2","a2","h","p2","_2","k2","b2","m2","w2","A2","P2","Array","isArray","y","g","x","value","L","appendChild","nextSibling","insertBefore","setProperty","test","style","cssText","P","replace","toLowerCase","slice","l","addEventListener","H","$","removeEventListener","setAttribute","removeAttribute","event","v2","d2","g2","x2","contextType","__E","prototype","render","p","M","sub","state","__s","getDerivedStateFromProps","componentWillMount","componentDidMount","componentWillReceiveProps","shouldComponentUpdate","forEach","componentWillUpdate","componentDidUpdate","getChildContext","getSnapshotBeforeUpdate","m","y2","localName","nodeType","document","createTextNode","createElementNS","createElement","is","data","call","childNodes","dangerouslySetInnerHTML","attributes","name","__html","innerHTML","C","A","firstChild","s","checked","j","diffed","l3","u3","current","unmount","z","componentWillUnmount","a","getDerivedStateFromError","setState","componentDidCatch","k","forceUpdate","Promise","then","bind","resolve","setTimeout","EMPTY$1","obj","url","route2","opts","ret","reg","match","matches","split","decodeURIComponent","join","segmentize","max","Math","i$12","charAt","param","flags","plus","star","val","map","default","rank","index","path","rankSegment","rankChild","segment","customHistory","ROUTERS","subscribers","EMPTY","location","getCurrentLocation","pathname","search","canRoute","history","routeTo","didRoute","node","getAttribute","href","target","route","ctrlKey","metaKey","altKey","shiftKey","button","currentTarget","prevent","stopImmediatePropagation","stopPropagation","preventDefault","String","nodeName","toUpperCase","hasAttribute","routeFromLink","eventListenersInitialized","Router","Component$$1","getCurrentUrl","delegateLinkHandler","__proto__","Object","create","Router2","static","onChange","toChildArray","getMatchingChildren","updating","this$1","unlisten","listen","location2","splice","invoke","filter","prepareVNodeForRanking","pathRankSort","exec","newProps","cloneElement","Boolean","ref$1","active","previous","previousUrl","router","Component","Link","assign","onClick","handleLinkClick","Route","component","o","__H","w","requestAnimationFrame","t3","cancelAnimationFrame","defineProperty","Path_1","start","relativePath2","reduce","pop","[object Object]","modelArr","contextArr","end","Path","element","modelPush","contextPush","copy","newElement","startsWith","model","ModelPath","other","every","offset","fn","thisArg","_a","get","set","super","shift","Errors_1","errors","error","params","exact","equals","Symbol","iterator","Errors","DataModel_1","require$$0","require$$1","schema","options","listeners","JSON","stringify","historyIndex","historyMax","listener","newHistory","silentInvalidate","invalidated","loose","validate","invalidate","silent","getArray","reset","isNaN","last","log","toString","parse","withModel","clear","tempErrors","add","exports","category","enabled","keep","optional","pathPush","suggest","validationOption","hook","args","canUpdate","update","mods","__spreadValues","Mod","__spreadProps","BooleanNode","Node_1","Base","boolean","ListNode","config","_b","min","minLength","maxLength","Infinity","between","nextIndex","navigate","parseInt","_a2","list","SwitchNode","cases","activeCase","concat","fallback","sorter","priority","matchedCases","ListNode_1","SwitchNode_1","choices","switchNode","choice","isValid","XOrList","ChoiceNode","change","presetNode","objectNode","presets","keys","MapNode","res","validation","NumberNode","_c","integer","color","Number","isInteger","number","str","utils","escapeString","Node_12","Path_12","Errors_12","require$$2","utils_12","require$$3","fields","Switch","Case","defaultFields","__restKey","getActiveFields","switchValue","relativePath","getChildModelPath","childKey","caseFields","caseKeys","pathWithContext","getModel","disableSwitchContext","includes","pathElements","activeFields","existingKeys","quoteString","filterPath","filterField","activeKeys","forcedKeys","Set","newValue","object","Reference","schemas2","transform","StringNode","utils_1","isEnum","enum","isValidator","validator","collections","getValues","pool","allowTag","isDefinition","allowUnknown","additional","values","string","Hook","Registries","registry","id","warn","ValidationOption","__createBinding2","__createBinding","k22","enumerable","__exportStar","exports2","hasOwnProperty","require$$4","require$$5","require$$6","require$$7","require$$8","require$$9","require$$10","require$$11","require$$12","require$$13","require$$14","require$$15","Collections","register","core_12","StringNode2","Reference2","ObjectNode","Name","Properties","Opt","level","forceRange","bounds","allowBinomial","choiceContext","minecraft:alternative","terms","minecraft:block_state_property","block","properties","minecraft:damage_source_properties","predicate","minecraft:entity_properties","entity","minecraft:entity_scores","scores","Range","minecraft:inverted","term","minecraft:killed_by_player","inverse","minecraft:location_check","offsetX","offsetY","offsetZ","minecraft:match_tool","minecraft:random_chance","chance","minecraft:random_chance_with_looting","looting_multiplier","minecraft:requirements","minecraft:reference","minecraft:table_bonus","enchantment","chances","minecraft:time_check","period","minecraft:weather_check","raining","thundering","Common_12","StateChoice","item","tag","count","durability","potion","nbt","enchantments","levels","fluid","position","biome","feature","dimension","light","LocationFields","stat","minecraft:mined","minecraft:crafted","minecraft:used","minecraft:broken","minecraft:picked_up","minecraft:dropped","minecraft:killed","minecraft:killed_by","minecraft:custom","gamemode","advancements","recipes","stats","amplifier","duration","ambient","visible","absolute","horizontal","team","distance","is_on_fire","is_sneaking","is_sprinting","is_swimming","is_baby","equipment","player","effects","is_explosion","is_fire","is_magic","is_projectile","is_lightning","bypasses_armor","bypasses_invulnerability","bypasses_magic","source_entity","direct_entity","dealt","taken","blocked","Advancement","core_1","Common_1","Predicates_1","display","icon","title","description","background","frame","show_toast","announce_to_chat","hidden","parent","criteria","requirements","rewards","function","loot","experience","requirement","trigger","conditions","minecraft:bee_nest_destroyed","num_bees_inside","minecraft:bred_animals","partner","child","minecraft:brewed_potion","minecraft:changed_dimension","from","to","minecraft:channeled_lightning","victims","minecraft:construct_beacon","minecraft:consume_item","minecraft:cured_zombie_villager","villager","zombie","minecraft:effects_changed","minecraft:enter_block","minecraft:enchanted_item","minecraft:entity_hurt_player","damage","minecraft:entity_killed_player","killing_blow","minecraft:filled_bucket","minecraft:fishing_rod_hooked","minecraft:hero_of_the_village","minecraft:inventory_changed","slots","empty","occupied","full","items","minecraft:item_durability_changed","delta","minecraft:killed_by_crossbow","unique_entity_types","minecraft:levitation","minecraft:location","minecraft:nether_travel","entered","exited","minecraft:placed_block","minecraft:player_hurt_entity","minecraft:player_killed_entity","minecraft:recipe_unlocked","recipe","minecraft:safely_harvest_honey","minecraft:slept_in_bed","minecraft:slide_down_block","minecraft:shot_crossbow","minecraft:summoned_entity","minecraft:tame_animal","minecraft:used_ender_eye","minecraft:used_totem","minecraft:villager_trade","minecraft:voluntary_exile","Condition","ObjectOrList","condition","ConditionCases","LootContext","Map","requires","allows","LootTable","LootContext_1","functionsAndConditions","functions","contextMap","collectionID","getNode","getAvailableOptions","providedContext","tableType","LootTableTypes","conditionSwtichNode","compileSwitchNode","LootConditions","functionSwtichNode","LootFunctions","entitySourceSwtichNode","LootEntitySources","copySourceSwtichNode","LootCopySources","pools","rolls","bonus_rolls","entries","weightMod","weight","quality","minecraft:alternatives","minecraft:dynamic","minecraft:group","minecraft:item","minecraft:loot_table","minecraft:sequence","minecraft:tag","expand","minecraft:apply_bonus","formula","parameters","bonusMultiplier","extra","probability","minecraft:copy_name","source","minecraft:copy_nbt","ops","getter","op","minecraft:copy_state","minecraft:enchant_randomly","minecraft:enchant_with_levels","treasure","minecraft:exploration_map","destination","decoration","zoom","search_radius","skip_existing_chunks","minecraft:fill_player_head","minecraft:limit_count","limit","minecraft:looting_enchant","minecraft:set_attributes","modifiers","minecraft:set_contents","minecraft:set_count","minecraft:set_damage","minecraft:set_loot_table","seed","minecraft:set_lore","lore","minecraft:set_name","minecraft:set_nbt","minecraft:set_stew_effect","attribute","amount","operation","slot","StringOrList","PackMcmeta","pack","pack_format","Recipe","minecraft:crafting_shaped","group","pattern","result","minecraft:crafting_shapeless","ingredients","minecraft:smelting","ingredient","cookingtime","minecraft:blasting","minecraft:smoking","minecraft:campfire_cooking","minecraft:stonecutting","minecraft:smithing","addition","Tags","TagBase","required","TextComponent","getSimpleString","text","parseFloat","isFinite","CommonFields","bold","italic","underlined","strikethrough","obfuscated","insertion","clickEvent","action","change_page","copy_to_clipboard","open_file","open_url","run_command","leadingSlash","allowPartial","suggest_command","hoverEvent","show_text","show_item","module","show_entity","translate","with","score","isScoreHolder","objective","selector","keybind","storage","interpret","schemas","Advancement_1","Condition_1","LootTable_1","PackMcmeta_1","Recipe_1","Tags_1","TextComponent_1","initCommonSchemas","initPredicatesSchemas","initAdvancementSchemas","initConditionSchemas","initLootTableSchemas","initPackMcmetaSchemas","initRecipeSchemas","initTagsSchemas","initTextComponentSchemas","__setModuleDefault","__importStar","mod","__esModule","lib","Collections_1","schemas_1","CollectionRegistry","initCollections","getSchemas_1","SchemaRegistry","initSchemas","ultrawarm","natural","piglin_safe","respawn_anchor_works","bed_works","has_raids","has_skylight","has_ceiling","coordinate_scale","ambient_light","logical_height","infiniburn","bedrock_roof_position","bedrock_floor_position","sea_level","disable_mob_generation","noise","density_factor","density_offset","simplex_surface_noise","random_density_offset","size_horizontal","size_vertical","height","sampling","xz_scale","y_scale","xz_factor","y_factor","top_slide","size","bottom_slide","default_block","default_fluid","spread","maxSpread","ObjectOrPreset","minecraft:overworld","DefaultDimensionType","minecraft:the_nether","shrunk","fixed_time","minecraft:the_end","DefaultNoiseSettings","minecraft:nether","minecraft:end","island_noise_override","minecraft:amplified","amplified","minecraft:caves","minecraft:floating_islands","EntityPredicate","minecraft:item_used_on_block","minecraft:player_generates_container_loot","loot_table","minecraft:player_interacted_with_entity","minecraft:target_hit","projectile","shooter","signal_strength","minecraft:thrown_item_picked_up_by_entity","Dimension","NoPreset","DimensionTypePresets","generator","minecraft:noise","settings","NoiseSettingsPresets","biome_source","minecraft:fixed","minecraft:multi_noise","preset","altitude_noise","temperature_noise","humidity_noise","weirdness_noise","biomes","minecraft:checkerboard","scale","minecraft:vanilla_layered","large_biomes","legacy_biome_init_layer","minecraft:flat","lakes","features","layers","structures","floor","random","altitude","temperature","humidity","weirdness","firstOctave","amplitudes","DimensionType","Predicates","smokey","vehicle","targeted_entity","fishing_hook","in_open_water","font","contents","Biome","surface_builder","depth","downfall","precipitation","temperature_modifier","player_spawn_friendly","creature_spawn_probability","sky_color","fog_color","water_color","water_fog_color","grass_color","foliage_color","grass_color_modifier","ambient_sound","mood_sound","sound","tick_delay","block_search_extent","additions_sound","tick_chance","music","min_delay","max_delay","replace_current_music","particle","starts","spawners","minCount","maxCount","spawn_costs","energy_budget","charge","carvers","Carver","Decorator","RangeConfig","maximum","bottom_offset","top_offset","ChanceConfig","CountConfig","UniformInt","minecraft:carving_mask","step","minecraft:chance","minecraft:count","minecraft:count_extra","extra_count","extra_chance","minecraft:count_multilayer","minecraft:count_noise","noise_level","below_noise","above_noise","minecraft:count_noise_biased","noise_to_count_ratio","noise_factor","noise_offset","minecraft:decorated","outer","inner","minecraft:depth_average","baseline","minecraft:fire","minecraft:glowstone","minecraft:lava_lake","minecraft:range","minecraft:range_biased","minecraft:range_very_biased","minecraft:water_lake","ProcessorList","processors","processor_type","rules","location_predicate","predicate_type","input_predicate","minecraft:block_age","mossiness","minecraft:block_ignore","blocks","minecraft:block_rot","integrity","minecraft:gravity","heightmap","minecraft:rule","position_predicate","output_state","output_nbt","posTestFields","min_dist","max_dist","min_chance","max_chance","minecraft:axis_aligned_linear_pos","axis","minecraft:linear_pos","minecraft:block_match","minecraft:blockstate_match","block_state","minecraft:random_block_match","minecraft:random_blockstate_match","minecraft:tag_match","Feature","RandomPatchConfig","can_replace","project","need_water","xspread","yspread","zspread","tries","state_provider","block_placer","whitelist","blacklist","DiskConfig","radius","half_height","targets","HugeMushroomConfig","cap_provider","stem_provider","foliage_radius","OreConfig","Feature2","minecraft:bamboo","minecraft:basalt_columns","reach","minecraft:block_pile","decorator","minecraft:delta_feature","rim","rim_size","minecraft:disk","minecraft:emerald_ore","minecraft:end_gateway","exit","minecraft:end_spike","crystal_invulnerable","crystal_beam_target","spikes","centerX","centerZ","guarded","minecraft:fill_layer","minecraft:flower","minecraft:forest_rock","minecraft:huge_brown_mushroom","minecraft:huge_fungus","hat_state","decor_state","stem_state","valid_base_block","planted","minecraft:huge_red_mushroom","minecraft:ice_patch","minecraft:iceberg","minecraft:lake","minecraft:nether_forest_vegetation","minecraft:netherrack_replace_blobs","minecraft:no_bonemeal_flower","minecraft:no_surface_ore","minecraft:ore","minecraft:random_patch","minecraft:random_boolean_selector","feature_false","feature_true","minecraft:random_selector","minecraft:sea_pickle","minecraft:seagrass","minecraft:simple_block","to_place","place_on","place_in","place_under","minecraft:simple_random_selector","minecraft:spring_feature","rock_count","hole_count","requires_block_below","valid_blocks","minecraft:tree","max_water_depth","ignore_vines","minimum_size","trunk_provider","leaves_provider","trunk_placer","base_height","height_rand_a","height_rand_b","foliage_placer","minecraft:blob_foliage_placer","minecraft:bush_foliage_placer","minecraft:fancy_foliage_placer","minecraft:jungle_foliage_placer","minecraft:mega_pine_foliage_placer","crown_height","minecraft:pine_foliage_placer","minecraft:spruce_foliage_placer","trunk_height","decorators","minecraft:alter_ground","provider","minecraft:beehive","minecraft:cocoa","min_clipped_height","minecraft:two_layers_feature_size","lower_size","upper_size","minecraft:three_layers_feature_size","upper_limit","middle_size","minecraft:rotated_block_provider","minecraft:simple_state_provider","minecraft:weighted_state_provider","minecraft:column_placer","min_size","extra_size","NoiseSettings","stronghold","spacing","separation","salt","StructureFeature","templatePoolConfig","start_pool","minecraft:bastion_remnant","minecraft:buried_treasure","minecraft:mineshaft","minecraft:ocean_ruin","biome_temp","large_probability","cluster_probability","minecraft:pillager_outpost","minecraft:ruined_portal","portal_type","minecraft:shipwreck","is_beached","minecraft:village","SurfaceBuilder","top_material","under_material","underwater_material","snowy","TemplatePool","Processors","elements","element_type","projection","minecraft:feature_pool_element","minecraft:legacy_single_pool_element","minecraft:list_pool_element","minecraft:single_pool_element","worldgen","Biome_1","Carver_1","Decorator_1","Feature_1","NoiseSettings_1","ProcessorList_1","StructureFeature_1","SurfaceBuilder_1","TemplatePool_1","initBiomeSchemas","initCarverSchemas","initDecoratorSchemas","initFeatureSchemas","initNoiseSettingsSchemas","initProcessorListSchemas","initStructureFeatureSchemas","initSurfaceBuilderSchemas","initTemplatePoolSchemas","WorldSettings","generate_features","bonus_chest","dimensions","Dimension_1","DimensionType_1","worldgen_1","WorldSettings_1","initDimensionTypeSchemas","initDimensionSchemas","initWorldgenSchemas","initWorldSettingsSchemas","minecraft:lightning_strike","lightning","bystander","minecraft:using_item","min_y","noise_caves_enabled","aquifers_enabled","deepslate_enabled","Bounds","ObjectWithType","directType","directPath","directDefault","objectDefault","defaultCase","minecraft:constant","minecraft:uniform","minecraft:binomial","minecraft:score","minecraft:context","minecraft:storage","min_inclusive","max_exclusive","minecraft:clamped_normal","mean","deviation","minecraft:trapezoid","plateau","FloatProvider","max_inclusive","minecraft:biased_to_bottom","minecraft:clamped","IntProvider","above_bottom","below_top","minecraft:very_biased_to_bottom","entitySourceNode","minecraft:value_check","range","copySourceNode","minecraft:set_banner_pattern","patterns","append","minecraft:set_enchantments","ItemModifier","FunctionCases","conditionIDSwtichNode","functionIDSwtichNode","_p","looking_at","stepping_on","passenger","lightning_bolt","blocks_set_on_fire","entity_struck","separator","CanyonConfig","vertical_rotation","shape","distance_factor","thickness","width_smoothness","horizontal_radius_factor","vertical_radius_default_factor","vertical_radius_center_factor","CaveConfig","horizontal_radius_multiplier","vertical_radius_multiplier","floor_level","yScale","lava_level","debug_settings","debug_mode","air_state","water_state","lava_state","barrier_state","minecraft:canyon","minecraft:cave","minecraft:nether_cave","minecraft:cave_surface","surface","floor_to_ceiling_search_range","minecraft:heightmap","minecraft:heightmap_spread_double","minecraft:water_depth_threshold","minecraft:protected_blocks","TargetBlockState","discard_chance_on_air_exposure","VegetationPatchConfig","vertical_range","extra_bottom_block_chance","extra_edge_column_chance","vegetation_chance","xz_radius","replaceable","ground_state","vegetation_feature","minecraft:decorated_flower","minecraft:dripstone_cluster","max_stalagmite_stalactite_height_diff","height_deviation","dripstone_block_layer_thickness","density","wetness","chance_of_dripstone_column_at_max_distance_from_center","max_distance_from_edge_affecting_chance_of_dripstone_column","max_distance_from_center_affecting_height_bias","minecraft:fossil","max_empty_corners_allowed","fossil_structures","overlay_structures","fossil_processors","overlay_processors","minecraft:geode","filling_provider","inner_layer_provider","alternate_inner_layer_provider","middle_layer_provider","outer_layer_provider","inner_placements","cannot_replace","invalid_blocks","filling","inner_layer","middle_layer","outer_layer","crack","generate_crack_chance","base_crack_size","crack_point_offset","noise_multiplier","use_potential_placements_chance","use_alternate_layer0_chance","placements_require_layer0_alternate","outer_wall_distance","distribution_points","point_offset","min_gen_offset","max_gen_offset","invalid_blocks_threshold","minecraft:glow_lichen","search_range","chance_of_spreading","can_place_on_floor","can_place_on_ceiling","can_place_on_wall","can_be_placed_on","minecraft:growing_plant","direction","allow_water","height_distribution","body_provider","head_provider","minecraft:large_dripstone","column_radius","height_scale","max_column_radius_to_cave_height_ratio","stalactite_bluntness","stalagmite_bluntness","wind_speed","min_radius_for_wind","min_bluntness_for_wind","minecraft:replace_single_block","minecraft:root_system","required_vertical_space_for_tree","root_radius","root_placement_attempts","root_column_max_height","hanging_root_radius","hanging_roots_vertical_span","hanging_root_placement_attempts","allowed_vertical_water_for_tree","root_replaceable","root_state_provider","hanging_root_state_provider","minecraft:scattered_ore","minecraft:small_dripstone","max_placements","empty_space_search_radius","max_offset_from_origin","chance_of_taller_dripstone","force_dirt","dirt_provider","sapling_provider","foliage_provider","minecraft:bending_trunk_placer","bend_length","min_height_for_leaves","minecraft:random_spread_foliage_placer","foliage_height","leaf_placement_attempts","minecraft:underwater_magma","floor_search_range","placement_radius_around_floor","placement_probability_per_valid_position","minecraft:vegetation_patch","minecraft:waterlogged_vegetation_patch","minecraft:randomized_int_state_provider","property","min_surface_level","noodle_caves_enabled","ore_veins_enabled","_d","minecraft:nether_fossil","ItemModifier_1","initItemModifierSchemas","global2","module2","define","me","mash","charCodeAt","next","s0","s1","xg","Alea","prng","int32","double","quick","impl","alea","strseed","XorGen","xor128","xorwow","X","me2","seed2","j2","Date","xorshift7","xor4096","tychei","math","nodecrypto","width","startdenom","pow","significance","overflow","mask","callback","shortseed","mixkey","flatten","entropy","tostring","out","randomBytes","Uint8Array","crypto","msCrypto","getRandomValues","browser","navigator","plugins","screen","autoseed","arc4","ARC4","S","pass","prng2","is_math_call","global","keylen","i3","j3","s3","prop","typ","smear","stringseed","fromCharCode","apply","seedrandom2","ex","self","sr","seedrandom"],"mappings":"IAAIA,EAAIC,EAAEC,EAAEC,0bAAIC,EAAE,GAAGC,EAAE,GAAGC,EAAE,oEAAoE,WAAWC,EAAEC,WAAWC,KAAKD,IAAIC,GAAGD,EAAEC,UAAUF,EAAE,WAAWA,OAAOC,EAAED,EAAEG,cAAcF,EAAEG,YAAYJ,GAAG,WAAWA,EAAEC,EAAEC,OAAOG,EAAEC,EAAEC,EAAEC,EAAEC,UAAUC,EAAE,OAAOH,KAAKN,EAAE,OAAOM,EAAEF,EAAEJ,EAAEM,GAAG,OAAOA,EAAED,EAAEL,EAAEM,GAAGG,EAAEH,GAAGN,EAAEM,MAAME,UAAUE,OAAO,MAAMT,EAAE,CAACA,GAAGK,EAAE,EAAEA,EAAEE,UAAUE,OAAOJ,MAAMK,KAAKJ,EAAED,OAAO,MAAAL,MAAYW,SAASX,GAAG,mBAAmBF,GAAG,MAAAA,EAAQc,iBAAiBP,KAAKP,EAAEc,kBAAa,IAASJ,EAAEH,OAAOA,GAAGP,EAAEc,aAAaP,WAAWQ,EAAEf,EAAEU,EAAEL,EAAEC,EAAE,MAAM,WAAWL,EAAEC,EAAEG,EAAEC,EAAEC,OAAOC,EAAE,CAACQ,KAAKf,EAAEgB,MAAMf,EAAEgB,IAAIb,EAAEc,IAAIb,EAAEc,IAAI,KAAKC,GAAG,KAAKC,IAAI,EAAEC,IAAI,KAAKC,SAAI,EAAOC,IAAI,KAAKC,IAAI,KAAKC,iBAAY,EAAOC,IAAI,MAAArB,IAAUd,EAAEmC,IAAIrB,UAAU,MAAAd,EAAQoC,OAAOpC,EAAEoC,MAAMrB,GAAGA,EAAoC,WAAWR,UAAUA,EAAEa,SAAS,WAAWb,EAAEC,QAAQgB,MAAMjB,EAAE8B,KAAKC,QAAQ9B,EAAE,WAAWD,EAAEC,MAAM,MAAAA,SAAeD,EAAEqB,GAAGW,EAAEhC,EAAEqB,GAAGrB,EAAEqB,GAAGD,IAAIa,QAAQjC,GAAG,GAAG,aAAaE,EAAED,EAAED,EAAEoB,IAAIT,OAAOV,OAAO,SAASD,EAAEoB,IAAInB,KAAK,MAAMC,EAAEqB,WAAWrB,EAAEqB,UAAU,mBAAmBvB,EAAEgB,KAAKgB,EAAEhC,GAAG,KAAK,WAAWA,OAAOC,EAAEC,KAAK,SAASF,EAAEqB,KAAK,MAAArB,EAAQyB,IAAI,KAAKzB,EAAEuB,IAAIvB,EAAEyB,IAAIS,KAAK,KAAKjC,EAAE,EAAEA,EAAED,EAAEoB,IAAIT,OAAOV,OAAO,SAASD,EAAEoB,IAAInB,KAAK,MAAMC,EAAEqB,IAAI,GAAGA,IAAIvB,EAAEyB,IAAIS,KAAKhC,EAAEqB,iBAAiBY,EAAEnC,IAAI,WAAWC,KAAKA,EAAEuB,QAAQA,KAAI,IAAK9B,EAAEkB,KAAKX,KAAKmC,EAAEC,OAAOzC,IAAIH,EAAE6C,wBAAwB7C,EAAE6C,oBAAoB3C,GAAGyC,GAAG,qBAAqBpC,EAAEoC,EAAEC,IAAI3C,EAAEiB,UAAUjB,EAAE6C,MAAK,SAASC,EAAEvC,UAAUuC,EAAEZ,IAAIN,IAAIrB,EAAE2B,IAAIN,OAAM5B,EAAE,GAAGM,EAAEyC,MAAK,SAASD,OAAOvC,EAAEC,EAAEG,EAAEC,EAAEC,EAAEC,IAAIgB,cAAcgB,GAAGZ,KAAKL,OAAOtB,EAAEyC,SAAS,MAAMC,EAAE,GAAGrC,IAAIsB,IAAItB,EAAEsB,IAAI,EAAEgB,EAAEpC,EAAEF,EAAED,EAAEJ,EAAE4C,SAAI,IAAArC,EAAWsC,gBAAgB,MAAMxC,EAAEoB,IAAI,CAACnB,GAAG,KAAKL,EAAE,MAAAK,EAAQyB,EAAE1B,GAAGC,EAAED,EAAEoB,KAAKqB,EAAE7C,EAAEI,GAAGA,EAAEiB,KAAKhB,GAAG4B,EAAE7B,QAAO,WAAWN,EAAEC,EAAEC,EAAEG,EAAEC,EAAEC,EAAEyC,EAAEC,EAAEC,EAAEC,OAAOC,EAAEC,EAAEC,EAAEC,EAAEC,EAAEC,EAAEC,EAAEC,EAAEtD,GAAGA,EAAEe,KAAKtB,EAAE8D,EAAED,EAAEhD,WAAWT,EAAEkB,IAAI,GAAGgC,EAAE,EAAEA,EAAEnD,EAAEU,OAAOyC,OAAO,SAASlD,EAAEkB,IAAIgC,GAAG,SAASnD,EAAEmD,KAAK,kBAAkBG,EAAE,KAAK,iBAAiBA,GAAG,iBAAiBA,GAAG,iBAAiBA,EAAExC,EAAE,KAAKwC,EAAE,KAAK,KAAKA,GAAGM,MAAMC,QAAQP,GAAGxC,EAAEgD,EAAE,CAAClD,SAAS0C,GAAG,KAAK,KAAK,MAAMA,EAAEjC,IAAI,EAAEP,EAAEwC,EAAEvC,KAAKuC,EAAEtC,MAAMsC,EAAErC,IAAI,KAAKqC,EAAE3B,KAAK2B,GAAG,IAAIA,EAAElC,GAAGnB,EAAEqD,EAAEjC,IAAIpB,EAAEoB,IAAI,EAAE,UAAUqC,EAAEP,KAAKE,GAAGC,EAAErC,KAAKoC,EAAEpC,KAAKqC,EAAEvC,OAAOsC,EAAEtC,OAAOoC,QAAG,WAAgBC,EAAE,EAAEA,EAAEO,EAAEP,IAAI,OAAOM,EAAEN,KAAKE,EAAErC,KAAKoC,EAAEpC,KAAKqC,EAAEvC,OAAOsC,EAAEtC,KAAK,GAAGqC,QAAG,UAAe,OAAOrD,EAAEuD,EAAED,EAAEA,GAAGzD,EAAES,EAAEC,EAAEyC,EAAEC,EAAEC,EAAEC,GAAGK,EAAED,EAAEhC,OAAOgC,EAAEpC,MAAMmC,EAAEnC,KAAKkC,UAAU,IAAIC,EAAEnC,KAAKuC,EAAE9C,KAAK0C,EAAEnC,IAAI,KAAKoC,GAAGG,EAAE9C,KAAKyC,EAAEE,EAAE9B,KAAK+B,EAAED,IAAI,MAAMC,GAAG,MAAMC,MAAMD,GAAG,mBAAmBD,EAAEvC,MAAM,MAAMuC,EAAEnC,KAAKmC,EAAEnC,MAAMkC,EAAElC,IAAImC,EAAE/B,IAAI0B,EAAEc,EAAET,EAAEL,EAAElD,GAAGkD,EAAEe,EAAEjE,EAAEuD,EAAED,EAAEK,EAAEH,EAAEN,GAAGC,GAAG,WAAAjD,EAAac,KAAK,mBAAmBd,EAAEc,SAASQ,IAAI0B,GAAGlD,EAAEkE,MAAM,IAAIhB,GAAGI,EAAE/B,KAAK2B,GAAGA,EAAE/C,YAAYH,MAAMgC,EAAEsB,QAAQpD,EAAEqB,IAAIkC,EAAEL,EAAEQ,EAAER,KAAK,MAAMO,EAAEP,KAAK,mBAAmBlD,EAAEc,MAAM,MAAM2C,EAAEP,GAAG7B,KAAKoC,EAAEP,GAAG7B,KAAKrB,EAAEsB,QAAQA,IAAIQ,EAAE3B,EAAE+C,EAAE,IAAIe,EAAER,EAAEP,GAAGO,EAAEP,QAAQM,MAAMN,EAAE,EAAEA,EAAEM,EAAE/C,OAAOyC,MAAMM,EAAEN,GAAGM,IAAIN,GAAGM,IAAIN,IAAI,WAAWpD,EAAEC,EAAEC,OAAOG,EAAEC,MAAMD,EAAE,EAAEA,EAAEL,EAAEoB,IAAIT,OAAON,OAAOL,EAAEoB,IAAIf,QAAQgB,GAAGrB,EAAEC,EAAE,mBAAmBK,EAAEU,KAAKgD,EAAE1D,EAAEL,EAAEC,GAAG+D,EAAE/D,EAAEI,EAAEA,EAAEN,EAAEoB,IAAId,EAAEiB,IAAItB,WAAWA,EAAE,WAAWD,EAAEC,UAAUA,EAAEA,GAAG,GAAG,MAAAD,GAAS,kBAAkBA,UAAU8D,QAAQ9D,GAAGA,EAAEyC,MAAK,SAASD,KAAKA,EAAEvC,MAAKA,EAAEW,KAAKZ,IAAIC,EAAE,WAAWD,EAAEC,EAAEC,EAAEG,EAAEC,EAAEC,OAAOC,EAAEE,EAAEsC,UAAK,IAAS/C,EAAEuB,MAAMvB,EAAEuB,IAAIvB,EAAEuB,SAAI,UAAe,MAAAtB,GAASI,GAAGC,GAAG,MAAMD,EAAEH,gBAAgB,MAAAI,GAASA,EAAEJ,aAAaH,IAAIoE,YAAY9D,GAAGE,EAAE,SAAS,KAAKE,EAAEH,EAAEyC,EAAE,KAAKtC,EAAE2D,cAAcrB,EAAE3C,EAAEM,OAAOqC,GAAG,KAAKtC,GAAGJ,YAAYgE,aAAahE,EAAEC,GAAGC,EAAED,cAAS,IAAAC,EAAWA,EAAEF,EAAE+D,YAAuO,WAAWrE,EAAEC,EAAEC,GAAG,MAAMD,EAAE,GAAGD,EAAEuE,YAAYtE,EAAEC,GAAGF,EAAEC,GAAG,MAAMC,EAAE,GAAG,iBAAiBA,GAAGH,EAAEyE,KAAKvE,GAAGC,EAAEA,EAAE,KAAK,WAAWF,EAAEC,EAAEC,EAAEG,EAAEC,OAAOC,OAAO,UAAAN,KAAe,iBAAiBC,IAAIuE,MAAMC,QAAQxE,MAAM,IAAI,iBAAiBG,MAAMoE,MAAMC,QAAQrE,EAAE,IAAIA,MAAMJ,KAAKI,KAAKJ,KAAKC,GAAGyE,EAAE3E,EAAEyE,MAAMxE,EAAE,OAAOC,MAAMD,KAAKC,KAAKA,EAAED,KAAKI,EAAEJ,IAAI0E,EAAE3E,EAAEyE,MAAMxE,EAAEC,EAAED,YAAY,MAAAA,EAAQ,IAAI,MAAMA,EAAE,KAAKA,OAAOA,EAAE2E,QAAQ,WAAW,KAAK3E,EAAEA,EAAE4E,gBAAgB7E,EAAEC,EAAE4E,cAAcC,MAAM,GAAG7E,EAAE6E,MAAM,GAAG9E,EAAE+E,MAAMA,EAAE,IAAI/E,EAAE+E,EAAE9E,EAAEM,GAAGL,EAAEA,EAAEG,GAAGL,EAAEgF,iBAAiB/E,EAAEM,EAAE0E,EAAEC,EAAE3E,GAAGP,EAAEmF,oBAAoBlF,EAAEM,EAAE0E,EAAEC,EAAE3E,WAAW,4BAA4BN,EAAE,IAAIK,IAAIL,EAAE2E,QAAQ,aAAa,KAAKA,QAAQ,SAAS,aAAa,SAAA3E,GAAY,SAASA,GAAG,SAASA,GAAG,aAAAA,GAAgB,aAAAA,GAAgBA,KAAKD,QAAQC,GAAG,MAAMC,EAAE,GAAGA,gBAAgBsC,IAAI,mBAAmBtC,IAAI,MAAMA,KAAI,IAAKA,GAAG,MAAAD,EAAQ,IAAI,MAAMA,EAAE,IAAID,EAAEoF,aAAanF,EAAEC,GAAGF,EAAEqF,gBAAgBpF,KAAK,WAAWA,QAAQ8E,EAAE9E,EAAEe,MAAK,GAAIvB,EAAE6F,MAAM7F,EAAE6F,MAAMrF,GAAGA,GAAG,WAAWA,QAAQ8E,EAAE9E,EAAEe,MAAK,GAAIvB,EAAE6F,MAAM7F,EAAE6F,MAAMrF,GAAGA,GAAG,WAAWA,EAAEC,EAAEG,EAAEC,EAAEC,EAAEC,EAAEE,EAAEsC,EAAEE,OAAOC,EAAEoC,EAAEnC,EAAEoC,EAAElC,EAAEC,EAAEC,EAAEiC,EAAE/B,EAAEgC,EAAE/B,EAAEC,EAAE1D,EAAEc,aAAQ,IAASd,EAAEyB,mBAAmB,KAAK,MAAMtB,EAAEqB,QAAQrB,EAAEqB,IAAIsB,EAAE9C,EAAEqB,IAAIlB,EAAEkB,IAAIrB,EAAEwB,IAAI,KAAKlB,EAAE,CAACwC,OAAOvD,EAAE6B,MAAM6B,EAAEjD,YAAY,mBAAmB0D,EAAE,IAAI6B,EAAEvF,EAAEe,MAAMyC,KAAKE,EAAE+B,cAAcrF,EAAE6C,EAAE1B,KAAKiE,EAAEvC,EAAEO,EAAEA,EAAEzC,MAAMiD,MAAMf,EAAE9B,GAAGf,EAAED,EAAEoB,IAAI+B,KAAKtD,EAAEuB,IAAIpB,EAAEoB,KAAKJ,GAAGkE,EAAEK,mBAAmBhC,GAAGA,EAAEiC,UAAUC,OAAO5F,EAAEuB,IAAI8D,EAAE,IAAI3B,EAAE6B,EAAEC,MAAMjE,IAAI8D,EAAE,IAAIQ,EAAEN,EAAEC,GAAGH,EAAE5D,YAAYiC,EAAE2B,EAAEO,OAAOE,GAAGtC,GAAGA,EAAEuC,IAAIV,GAAGA,EAAEtE,MAAMwE,EAAEF,EAAEW,UAAUA,MAAM,IAAIX,EAAExD,QAAQ2D,EAAEH,EAAE1C,IAAIvC,EAAE8C,EAAEmC,EAAE/D,KAAI,EAAG+D,EAAE7D,IAAI,IAAI,MAAM6D,EAAEY,QAAQA,IAAIZ,EAAEW,OAAO,MAAAtC,EAAQwC,6BAA6BD,KAAKZ,EAAEW,UAAUC,IAAIxD,EAAE,GAAG4C,EAAEY,MAAMxD,EAAE4C,EAAEY,IAAIvC,EAAEwC,yBAAyBX,EAAEF,EAAEY,OAAOX,EAAED,EAAEtE,MAAMqC,EAAEiC,EAAEW,MAAM9C,EAAE,MAAMQ,EAAEwC,0BAA0B,MAAAb,EAAQc,oBAAoBd,EAAEc,qBAAqB,MAAMd,EAAEe,mBAAmBf,EAAE7D,IAAId,KAAK2E,EAAEe,uBAAuB,IAAI,MAAA1C,EAAQwC,0BAA0BX,IAAID,GAAG,MAAMD,EAAEgB,2BAA2BhB,EAAEgB,0BAA0Bd,EAAEC,IAAIH,EAAEhE,KAAK,MAAMgE,EAAEiB,wBAAuB,IAAKjB,EAAEiB,sBAAsBf,EAAEF,EAAEY,IAAIT,IAAIxF,EAAE0B,MAAMvB,EAAEuB,IAAI,GAAGX,MAAMwE,EAAEF,EAAEW,MAAMX,EAAEY,IAAIjG,EAAE0B,MAAMvB,EAAEuB,QAAQJ,KAAI,GAAI+D,EAAE3D,IAAI1B,EAAEA,EAAEqB,IAAIlB,EAAEkB,IAAIrB,EAAEkB,IAAIf,EAAEe,IAAIlB,EAAEkB,IAAIqF,SAAQ,SAASzG,SAASqB,GAAGnB,MAAKqF,EAAE7D,IAAIf,QAAQD,EAAEE,KAAK2E,WAAW,MAAMA,EAAEmB,qBAAqBnB,EAAEmB,oBAAoBjB,EAAEF,EAAEY,IAAIT,GAAG,MAAMH,EAAEoB,oBAAoBpB,EAAE7D,IAAId,MAAK,aAAa+F,mBAAmBnB,EAAElC,EAAEC,QAAOxB,QAAQ2D,EAAEH,EAAEtE,MAAMwE,EAAEF,EAAEW,MAAMX,EAAEY,OAAO1G,EAAE4C,MAAMc,EAAEjD,GAAGqF,EAAE/D,KAAI,EAAG+D,EAAE3D,IAAI1B,EAAEqF,EAAE7C,IAAIzC,EAAEkD,EAAEoC,EAAEO,OAAOP,EAAEtE,MAAMsE,EAAEW,MAAMX,EAAExD,SAASwD,EAAEW,MAAMX,EAAEY,IAAI,MAAAZ,EAAQqB,oBAAoBjE,EAAEA,EAAE,GAAGrC,GAAGiF,EAAEqB,oBAAoBxD,GAAG,MAAAmC,EAAQsB,4BAA4BtB,EAAEsB,wBAAwBrB,EAAElC,IAAIK,EAAE,MAAMR,GAAGA,EAAEnC,OAAO+C,GAAG,MAAAZ,EAAQjC,IAAIiC,EAAElC,MAAMJ,SAASsC,EAAE2D,EAAE7G,EAAE4D,MAAMC,QAAQH,GAAGA,EAAE,CAACA,GAAGzD,EAAEG,EAAEC,EAAEC,EAAEC,EAAEE,EAAEsC,EAAEE,GAAGqC,EAAErD,KAAKhC,EAAEqB,IAAIrB,EAAEwB,IAAI,KAAK6D,EAAE7D,IAAIf,QAAQD,EAAEE,KAAK2E,GAAG/B,MAAMoC,IAAIL,EAAElE,GAAG,MAAMkE,EAAEhE,KAAI,OAAQ,MAAMf,GAAGN,EAAE0B,MAAMvB,EAAEuB,OAAOR,IAAIf,EAAEe,IAAIlB,EAAEqB,IAAIlB,EAAEkB,KAAKrB,EAAEqB,IAA2Q,SAAWvB,EAAEC,EAAEC,EAAEG,EAAEC,EAAEC,EAAEyC,EAAEC,OAAOE,EAAEoC,EAAEnC,EAAE2D,EAAE1D,EAAEnD,EAAEe,MAAMuE,EAAEvF,EAAEgB,MAAMqC,EAAErD,EAAEe,KAAKuC,EAAE,KAAK,QAAAD,OAAc,GAAI,MAAA/C,OAAagD,EAAEhD,EAAEI,OAAO4C,UAAUhD,EAAEgD,UAAUvD,MAAMmD,EAAE6D,WAAW1D,EAAE,GAAGH,EAAE8D,WAAW,GAAG9D,EAAE5C,EAAEgD,GAAG,cAAc,MAAMvD,EAAE,IAAI,OAAAsD,SAAgB4D,SAASC,eAAe3B,KAAKlF,EAAE4G,SAASE,gBAAgB,6BAA6B9D,GAAG4D,SAASG,cAAc/D,EAAEkC,EAAE8B,IAAI9B,GAAGjF,EAAE,KAAK0C,GAAE,KAAM,OAAAK,MAAakC,GAAGvC,GAAGjD,EAAEuH,OAAO/B,MAAM+B,KAAK/B,OAAO,IAAIjF,EAAEA,GAAGT,EAAEgF,MAAM0C,KAAKxH,EAAEyH,YAAYlC,KAAKrF,EAAEe,OAAOpB,GAAG6H,wBAAwBtE,EAAEoC,EAAEkC,yBAAyBzE,EAAE,IAAI,MAAA1C,MAAY8C,EAAE,GAAG0D,EAAE,EAAEA,EAAE/G,EAAE2H,WAAWhH,OAAOoG,MAAM/G,EAAE2H,WAAWZ,GAAGa,MAAM5H,EAAE2H,WAAWZ,GAAG7C,UAAUqB,YAAYnC,EAAEyE,QAAQtC,EAAEsC,QAAQzE,EAAEyE,SAAS7H,EAAE8H,eAAeA,UAAU1E,GAAGA,EAAEyE,QAAQ,QAA34H,SAAW7H,EAAEC,EAAEC,EAAEG,EAAEC,OAAOC,MAAMA,KAAKL,EAAE,aAAaK,GAAG,QAAAA,GAAWA,KAAKN,GAAG8H,EAAE/H,EAAEO,EAAE,KAAKL,EAAEK,GAAGF,OAAOE,KAAKN,KAAK,mBAAmBA,EAAEM,IAAI,aAAAA,GAAgB,QAAQA,GAAG,UAAAA,GAAa,YAAYA,GAAGL,EAAEK,KAAKN,EAAEM,IAAIwH,EAAE/H,EAAEO,EAAEN,EAAEM,GAAGL,EAAEK,GAAGF,GAA2rH2H,CAAEhI,EAAEwF,EAAEnC,EAAE/C,EAAE2C,GAAGG,IAAIhC,IAAI,WAAWmC,EAAEtD,EAAEgB,MAAMJ,SAASiG,EAAE9G,EAAE6D,MAAMC,QAAQP,GAAGA,EAAE,CAACA,GAAGtD,EAAEC,EAAEG,EAAEC,GAAG,kBAAkBgD,EAAE/C,EAAEyC,EAAEhD,EAAEiI,WAAWhF,GAAG,MAAM1C,MAAMgD,EAAEhD,EAAEI,OAAO4C,KAAK,MAAMhD,EAAEgD,IAAI2E,EAAE3H,EAAEgD,kBAAkBiC,QAAG,OAAYA,EAAEtB,aAAalE,EAAEkE,OAAO,aAAAZ,IAAiBC,IAAIwE,EAAE/H,EAAE,QAAQuD,EAAEF,EAAEa,OAAM,GAAI,YAAYsB,QAAG,OAAYA,EAAE2C,UAAU5E,IAAIvD,EAAEmI,SAASJ,EAAE/H,EAAE,UAAUuD,EAAEF,EAAE8E,SAAQ,WAAYnI,EAA9zCoI,CAAE/H,EAAEkB,IAAIrB,EAAEG,EAAEC,EAAEC,EAAEC,EAAEE,EAAEwC,MAAMzD,EAAE4I,SAASlF,EAAEjD,SAASoI,KAAK1G,IAAI,SAAS,MAAMpB,OAAOe,IAAIyB,EAAE9C,EAAEwB,MAAMwB,EAAE1C,EAAEA,EAAEyB,QAAQe,IAAI,MAAMvD,EAAE8B,IAAI+G,EAAEpI,EAAEG,IAAI,WAAWJ,EAAEC,KAAKuB,KAAKhC,EAAEgC,IAAIvB,EAAED,GAAGA,EAAEwC,MAAK,SAAS8F,SAASA,EAAE7G,IAAI6G,EAAE7G,IAAI,GAAGzB,EAAEwC,MAAK,SAASzC,KAAKwH,KAAKe,YAAWD,KAAK/G,IAAI+G,EAAEC,EAAE3G,SAAikC,WAAW3B,EAAEC,EAAEG,OAAO,mBAAmBJ,EAAEA,EAAEC,GAAGD,EAAEuI,QAAQtI,QAAQoI,KAAK/G,IAAI+G,EAAEjI,IAAI,WAAWJ,EAAEC,EAAEG,OAAOC,EAAEC,EAAEC,KAAKf,EAAEgJ,SAAShJ,EAAEgJ,QAAQxI,MAAMA,EAAEkB,SAASqH,SAASlI,EAAEkI,UAAUvI,EAAEsB,KAAKmH,EAAEpI,EAAE,KAAKJ,IAAIG,GAAG,mBAAmBJ,EAAEe,SAAS,SAASf,EAAEsB,MAAMtB,EAAEsB,IAAItB,EAAEuB,SAAI,EAAO,SAASvB,EAAEwB,KAAK,IAAInB,EAAEqI,2BAA2BA,6BAA6BL,KAAK/G,IAAI+G,EAAEpI,KAAKgC,KAAK5B,EAAEoC,IAAI,QAAQpC,EAAEL,EAAEmB,QAAQZ,EAAE,EAAEA,EAAEF,EAAEK,OAAOH,MAAMA,IAAI2D,EAAE7D,EAAEE,GAAGN,EAAEG,GAAG,MAAME,GAAG2H,EAAE3H,GAAG,WAAWP,EAAEC,EAAEC,UAAU4B,KAAKH,YAAY3B,EAAEE,GAAG,WAAWD,EAAEC,EAAEG,OAAOC,EAAEC,EAAEyC,IAAI3B,IAAI5B,EAAE4B,GAAGpB,EAAEC,GAAGK,KAAK,mBAAmBF,GAAG,KAAKA,GAAGA,EAAEe,KAAKlB,EAAEkB,IAAI4B,EAAE,GAAGJ,EAAE1C,EAAED,IAAIK,GAAGD,GAAGH,GAAGkB,IAAIwH,EAAE7E,EAAE,KAAK,CAAC9D,IAAIM,GAAGV,EAAEA,OAAE,IAAAK,EAAW4C,iBAAiBxC,GAAGD,EAAE,CAACA,GAAGE,EAAE,KAAKL,EAAE+H,WAAWnI,EAAEgF,MAAM0C,KAAKtH,EAAEuH,YAAY,KAAKzE,GAAG1C,GAAGD,EAAEA,EAAEE,EAAEA,EAAEgB,IAAIrB,EAAE+H,WAAW3H,GAAGyC,EAAEC,EAAE/C,GAAsvBR,EAAE,CAAC8B,IAAI,SAASvB,EAAEC,WAAWC,EAAEG,EAAEC,EAAEL,EAAEA,EAAEoB,UAAUpB,EAAEwB,OAAOvB,EAAEmB,aAAanB,EAAEyB,cAAc,MAAAtB,EAAQwI,6BAA6BC,SAASzI,EAAEwI,yBAAyB7I,IAAIM,EAAEJ,EAAEsB,KAAK,MAAAtB,EAAQ6I,sBAAsBA,kBAAkB/I,GAAGM,EAAEJ,EAAEsB,KAAKlB,SAASJ,EAAE0F,IAAI1F,QAAQoI,KAAKA,QAAQtI,GAAG4B,IAAI,GAAyDmE,EAAEF,UAAUiD,SAAS,SAAS9I,EAAEC,OAAOC,IAAI,MAAA4B,KAAWqE,KAAKrE,KAAKqE,MAAMrE,KAAKoE,MAAMpE,KAAKqE,IAAIrE,KAAKqE,IAAIxD,EAAE,GAAGb,KAAKoE,OAAO,mBAAmBlG,MAAMA,EAAE2C,EAAE,GAAGzC,GAAG4B,KAAKb,QAAQjB,GAAG2C,EAAEzC,EAAEF,GAAG,MAAAA,GAAS8B,KAAKF,SAASE,KAAKJ,IAAId,KAAKX,GAAG+I,EAAElH,QAAQiE,EAAEF,UAAUoD,YAAY,SAASjJ,QAAQ4B,WAAWL,KAAI,EAAGvB,GAAG8B,KAAKJ,IAAId,KAAKZ,GAAGgJ,EAAElH,QAAQiE,EAAEF,UAAUC,OAAO/B,EAAErE,EAAE,GAAGC,EAAE,mBAAmBuJ,QAAQA,QAAQrD,UAAUsD,KAAKC,KAAKF,QAAQG,WAAWC,WAAWlH,EAAEC,IAAI,ECEjoT,IAAIkH,EAAU,GAEd,WAAgBC,EAAKvI,WAEXZ,KAAKY,IACTZ,GAAKY,EAAMZ,UAETmJ,EAGR,WAAcC,EAAKC,EAAOC,OAIxBC,EAHGC,EAAM,wBACT5G,EAAIwG,EAAIK,MAAMD,GACdE,EAAU,MAEP9G,GAAKA,EAAE,WACNI,EAAIJ,EAAE,GAAG+G,MAAM,KACV3J,EAAE,EAAGA,EAAEgD,EAAE1C,OAAQN,IAAK,KAC1BG,EAAI6C,EAAEhD,GAAG2J,MAAM,OACXC,mBAAmBzJ,EAAE,KAAOyJ,mBAAmBzJ,EAAEsE,MAAM,GAAGoF,KAAK,QAGnEC,EAAWV,EAAI7E,QAAQiF,EAAK,OAC1BM,EAAWT,GAAS,YACxBU,EAAMC,KAAKD,IAAIX,EAAI9I,OAAQ+I,EAAM/I,QAC5B2J,EAAI,EAAGA,EAAIF,EAAKE,OACpBZ,EAAMY,IAA+B,MAAvBZ,EAAMY,GAAKC,OAAO,GAAU,KACzCC,EAAQd,EAAMY,GAAK1F,QAAQ,gBAAiB,IAC/C6F,KAAeH,GAAKR,MAAM,YAAcP,GAAS,IAAM,GACvDmB,GAAQD,EAAMxI,QAAQ,KACtB0I,GAAQF,EAAMxI,QAAQ,KACtB2I,EAAMnB,EAAIa,IAAQ,OACdM,IAAQD,MAAe1I,QAAQ,KAAK,GAAKyI,GAAO,IAC9C,aAGCF,GAASP,mBAAmBW,GAChCF,GAAQC,EAAM,GACTH,GAASf,EAAI3E,MAAMwF,GAAKO,IAAIZ,oBAAoBC,KAAK,oBAItDR,EAAMY,KAAOb,EAAIa,GAAM,IACzB,gBAIW,IAAfX,EAAKmB,UAAwB,IAANlB,IACpBG,EAGR,WAAsB5G,EAAGK,UAEtBL,EAAE4H,KAAOvH,EAAEuH,KAAQ,EAClB5H,EAAE4H,KAAOvH,EAAEuH,QACV5H,EAAE6H,MAAQxH,EAAEwH,MAKjB,WAAgCnJ,EAAOmJ,YAChCA,MAAQA,IACRD,KAgBP,SAAmBlJ,UACXA,EAAMZ,MAAM6J,QAAU,GALhBG,EAKyBpJ,EAAMZ,MAAMgK,KAJ3Cd,EAAWc,GAAMJ,IAAIK,GAAahB,KAAK,KAD/C,IAAce,EAZAE,CAAUtJ,GAChBA,EAAMZ,MAGd,WAAoBwI,UACZA,EAAI7E,QAAQ,eAAgB,IAAIoF,MAAM,KAG9C,WAAqBoB,SACM,KAAnBA,EAAQb,OAAO,GAAW,EAAI,MAAMtI,QAAQmJ,EAAQb,OAAOa,EAAQzK,OAAO,KAAQ,EAAI,EAW9F,IAAI0K,EAAgB,KAEhBC,EAAU,GAEVC,EAAc,GAEdC,EAAQ,GAcZ,iBACK/B,QAUI,OATJ4B,GAAiBA,EAAcI,SAC5BJ,EAAcI,SAEZJ,GAAiBA,EAAcK,mBACjCL,EAAcK,qBAGI,oBAAXD,SAAyBA,SAAWD,GAEhCG,UAAY,OAAWC,QAAU,IAKpD,WAAenC,EAAK7E,eACF,IAAZA,OAA6B,GAEjB,iBAAN6E,GAAkBA,EAAIA,QACtBA,EAAI7E,UACR6E,EAAIA,KAaZ,SAAkBA,WACRpJ,EAAEiL,EAAQ3K,OAAQN,QACtBiL,EAAQjL,GAAGwL,SAASpC,UAAe,SAEjC,EAbHoC,CAASpC,IArCd,SAAgBA,EAAKzI,QACN,IAATA,MAAuB,QAExBqK,GAAiBA,EAAcrK,KACpBA,GAAMyI,GAEK,oBAAVqC,SAAyBA,QAAQ9K,EAAK,kBAC7CA,EAAK,SAAS,KAAM,KAAMyI,IA+B3BA,EAAK7E,EAAU,UAAY,QAG5BmH,GAAQtC,GAchB,YAAiBA,WACZuC,GAAW,EACN3L,EAAE,EAAGA,EAAEiL,EAAQ3K,OAAQN,KACD,IAA1BiL,EAAQjL,GAAG0L,QAAQtC,QACX,WAGJa,EAAIiB,EAAY5K,OAAQ2J,OACpBA,GAAKb,UAEXuC,EAIR,YAAuBC,MAEjBA,GAASA,EAAKC,kBAEfC,EAAOF,EAAKC,aAAa,QAC5BE,EAASH,EAAKC,aAAa,aAGvBC,GAASA,EAAKrC,MAAM,WAAYsC,GAAWA,EAAOtC,MAAM,qBAGtDuC,EAAMF,IAId,YAAyBnJ,QACpBA,EAAEsJ,SAAWtJ,EAAEuJ,SAAWvJ,EAAEwJ,QAAUxJ,EAAEyJ,UAAuB,IAAXzJ,EAAE0J,kBAC5C1J,EAAE2J,eAAiB3J,EAAEoJ,QAAUtK,MACtC8K,GAAQ5J,GAIhB,YAAiBA,UACZA,IACCA,EAAE6J,4BAA8BA,2BAChC7J,EAAE8J,mBAAqBA,oBACzBC,mBAEI,EAIR,YAA6B/J,QAExBA,EAAEsJ,SAAWtJ,EAAEuJ,SAAWvJ,EAAEwJ,QAAUxJ,EAAEyJ,UAAuB,IAAXzJ,EAAE0J,aAEtDpM,EAAI0C,EAAEoJ,aAE8B,MAAnCY,OAAO1M,EAAE2M,UAAUC,eAAuB5M,EAAE4L,aAAa,QAAS,IACjE5L,EAAE6M,aAAa,oBAEfC,GAAc9M,UACVsM,GAAQ5J,UAGR1C,EAAEA,EAAEH,aAIf,IAAIkN,IAA4B,EAiB7B,IAACC,GAAU,SAAUC,cACPtM,KACFuG,KAAK1F,KAAMb,GACpBA,EAAM6K,YACO7K,EAAM6K,cAGlB5F,MAAQ,CACZuD,IAAKxI,EAAMwI,KAAO+D,KAtBhBH,KAE0B,mBAAnBrI,mBACLqG,oBACa,YAAY,cACpBmC,yBAGO,QAASC,SAEC,UAkBvBF,MAAsBG,UAAYH,KAChC1H,UAAY8H,OAAOC,OAAQL,GAAgBA,EAAa1H,aACxDA,UAAUlE,YAAckM,IAExBhI,UAAUW,sBAAwB,SAAgCvF,UACrD,IAAfA,EAAM6M,SACH7M,EAAMwI,MAAM3H,KAAKb,MAAMwI,KAAOxI,EAAM8M,WAAWjM,KAAKb,MAAM8M,aAI3DlI,UAAUgG,SAAW,SAAmBpC,OAC1C5I,EAAWmN,EAAalM,KAAKb,MAAMJ,iBAChCiB,KAAKmM,oBAAoBpN,EAAU4I,GAAK,GAAO9I,OAAS,KAIzDkF,UAAUkG,QAAU,SAAkBtC,QACvCX,SAAS,CAAEW,IAAAA,QAEZuC,EAAWlK,KAAK+J,SAASpC,UAGxB3H,KAAKoM,eAAiBjF,cAEpB+C,KAGDnG,UAAUQ,mBAAqB,aAC7BzF,KAAKkB,WACRoM,UAAW,KAGVrI,UAAUS,kBAAoB,eAChC6H,EAASrM,KAETuJ,SACE+C,SAAW/C,EAAcgD,QAAO,SAAUC,KACvCvC,QAAS,MAAeJ,UAAY,OAAgBC,QAAU,cAGlEsC,UAAW,KAGVrI,UAAU8C,qBAAuB,WACZ,mBAAhB7G,KAAKsM,eAA8BA,aACtCG,OAAOjD,EAAQrJ,QAAQH,MAAO,MAGhC+D,UAAUa,oBAAsB,gBACjCwH,UAAW,KAGVrI,UAAUc,mBAAqB,gBAChCuH,UAAW,KAGVrI,UAAUoI,oBAAsB,SAA8BpN,EAAU4I,EAAK+E,UAC5E3N,EACL4N,OAAOC,GACPnM,KAAKoM,GACL9D,KAAK,SAAUhJ,OACXkI,EAAU6E,EAAKnF,EAAK5H,EAAMZ,MAAMgK,KAAMpJ,EAAMZ,UAC5C8I,EAAS,KACG,IAAXyE,EAAkB,KACjBK,EAAW,CAAEpF,IAAAA,EAAUM,QAAAA,YACpB8E,EAAU9E,UACV8E,EAAS1N,WACT0N,EAAS3N,IDpTkpQ,SAAWlB,EAAEC,EAAEC,OAAOG,EAAEC,EAAEC,EAAEC,EAAEC,UAAUC,EAAEiC,EAAE,GAAG3C,EAAEiB,WAAWV,KAAKN,EAAE,OAAOM,EAAEF,EAAEJ,EAAEM,GAAG,OAAOA,EAAED,EAAEL,EAAEM,GAAGG,EAAEH,GAAGN,EAAEM,MAAME,UAAUE,OAAO,MAAMT,EAAE,CAACA,GAAGK,EAAE,EAAEA,EAAEE,UAAUE,OAAOJ,MAAMK,KAAKJ,EAAED,WAAW,MAAAL,MAAYW,SAASX,GAAGa,EAAEf,EAAEgB,KAAKN,EAAEL,GAAGL,EAAEkB,IAAIZ,GAAGN,EAAEmB,IAAI,MCqT54Q2N,CAAajN,EAAOgN,UAErBhN,MAEN4M,OAAOM,YAGLlJ,UAAUC,OAAS,SAAiB3E,EAAK6N,OAC3CnO,EAAWM,EAAIN,SACfkN,EAAW5M,EAAI4M,SACftE,EAAMuF,EAAMvF,IAEZwF,EAASnN,KAAKmM,oBAAoBD,EAAanN,GAAW4I,GAAK,GAE/DjB,EAAUyG,EAAO,IAAM,KAEvBC,EAAWpN,KAAKqN,mBAChB1F,IAAMyF,SACJC,YAAc1F,EACG,mBAAXsE,KACD,CACRqB,OAAQtN,KACR2H,IAAAA,EACAyF,SAAAA,EACAD,OAAAA,EACAzG,QAAAA,KAKIA,GAGDqF,EAnHM,CAoHZwB,GAEEC,GAAO,SAAUrO,UACpBoG,EAAc,IAAKkI,EAAO,CAAEC,QAASC,IAAmBxO,KAKzDqM,GAAO/B,YAAcA,EACrB+B,GAAOE,cAAgBA,EACvBF,GAAOjB,MAAQA,EACfiB,GAAOA,OAASA,GAChBA,GAAOoC,MANK,SAAUzO,UAAgBoG,EAAcpG,EAAM0O,UAAW1O,IAOrEqM,GAAOgC,KAAOA,GACdhC,GAAOsB,KAAOA,ECrWmB,IAAIhP,GAAEF,GAAEG,GAAE+P,GAAE,EAAEjQ,GAAE,GAAGgD,GAAElD,EAAE6B,IAAIxB,GAAEL,EAAE4C,IAAItC,GAAEN,EAAE4I,OAAOO,GAAEnJ,EAAEgC,IAAIV,GAAEtB,EAAEgJ,QAAQ,YAAWnI,EAAEE,KAAKkB,KAAKjC,EAAEiC,IAAIhC,GAAEY,EAAEsP,IAAGpP,GAAGoP,GAAE,MAAMvP,EAAEX,GAAEmQ,SAAQA,IAAI,CAACxO,GAAG,GAAGK,IAAI,YAAYpB,GAAGD,EAAEgB,GAAGV,QAAQN,EAAEgB,GAAGT,KAAK,IAAIP,EAAEgB,GAAGf,GAAG,YAAWN,UAAU4P,GAAE,EAAS,SAAW5P,EAAEQ,EAAED,OAAOF,EAAEyG,GAAElH,KAAI,UAAUS,EAAET,EAAEI,EAAEK,EAAEoB,QAAQJ,GAAG,CAACd,EAAEA,EAAEC,GAAGsP,QAAE,EAAOtP,GAAG,SAASgC,OAAOlC,EAAED,EAAET,EAAES,EAAEgB,GAAG,GAAGmB,KAAKnB,GAAG,KAAKf,MAAMe,GAAG,CAACf,EAAED,EAAEgB,GAAG,IAAIhB,EAAEoB,IAAIqH,SAAS,OAAOzI,EAAEoB,IAAI/B,IAAGW,EAAEgB,GAAvL0E,CAAE+J,GAAE9P,GAAsL,YAAWQ,EAAED,OAAOF,EAAEyG,GAAElH,KAAI,IAAIH,EAAE0G,KAAK6C,GAAE3I,EAAEwP,IAAItP,OAAOc,GAAGb,EAAEH,EAAEwP,IAAItP,EAAEb,GAAEmQ,IAAInO,IAAId,KAAKP,IAAsF,YAAWL,UAAU4P,GAAE,EAAgJ,SAAW5P,EAAEE,OAAOM,EAAEsG,GAAElH,KAAI,UAAUoJ,GAAExI,EAAEqP,IAAI3P,OAAOmB,GAAGrB,IAAIQ,EAAEqP,IAAI3P,EAAEM,EAAEkB,IAAI1B,GAAGQ,EAAEa,GAA7NW,EAAE,iBAAiB,CAACwG,QAAQxI,KAAI,IAAqa,YAAWA,OAAOQ,EAAEsG,GAAElH,KAAI,IAAIW,EAAEwE,YAAWvE,EAAEa,GAAGrB,EAAEN,GAAEqJ,uBAAsBA,kBAAkB,SAASvG,KAAKnB,IAAIb,EAAEa,GAAGmB,GAAGjC,EAAE,GAAGiC,KAAK,CAACjC,EAAE,GAAG,aAAa,QAAG,KAAU,iBAAekG,SAAQ,SAASnG,MAAMA,EAAEoC,UAAUmN,IAAInO,IAAI+E,QAAQzC,IAAG1D,EAAEuP,IAAInO,IAAI+E,QAAQ2B,IAAG9H,EAAEuP,IAAInO,IAAI,SAASxB,KAAK2P,IAAInO,IAAI,GAAGjC,EAAE8B,IAAIrB,EAAEI,EAAEsB,SAAQjC,GAAE,GAAGF,EAAE6B,IAAI,SAAStB,MAAK,KAAK2C,IAAGA,GAAE3C,IAAIP,EAAE4C,IAAI,SAASrC,OAAMF,GAAEE,GAAGJ,GAAE,MAAMY,MAAKR,EAAEyB,KAAKoO,UAAUnO,IAAI+E,QAAQzC,IAAGxD,EAAEkB,IAAI+E,QAAQ2B,IAAG5H,EAAEkB,IAAI,KAAKjC,EAAE4I,OAAO,SAAS/H,OAAMP,GAAEO,OAAOC,EAAED,EAAEmB,OAAOlB,EAAEsP,KAAKtP,EAAEsP,IAAInO,IAAIf,SAAS,IAAIhB,GAAEiB,KAAKL,IAAIV,KAAIJ,EAAEsQ,4BAA2BtQ,EAAEsQ,wBAAwB,SAAS/P,OAAOgQ,EAAE9P,EAAE,wBAAwBM,GAAG4B,IAAG6N,qBAAqBD,GAAG1G,WAAWtJ,IAAIQ,EAAE8I,WAAWpJ,EAAE,YAAW6P,sBAAsB7P,MAAM+D,KAAIvE,QAAE,GAAQD,EAAEgC,IAAI,SAASnB,EAAEJ,KAAKuC,MAAK,SAASuN,SAAStO,IAAI+E,QAAQzC,IAAGgM,EAAEtO,IAAIsO,EAAEtO,IAAI+M,QAAO,SAASzO,UAAUA,EAAEqB,IAAI+G,GAAEpI,YAAWQ,KAAKiC,MAAK,SAASzC,KAAK0B,QAAQA,IAAI,OAAMxB,EAAE,GAAGT,EAAE8B,IAAIf,EAAEwP,EAAEpO,SAAQgH,IAAGA,GAAEtI,EAAEJ,IAAIT,EAAEgJ,QAAQ,SAASnI,OAAMS,GAAET,OAAOJ,EAAEI,EAAEmB,OAAOvB,GAAGA,EAAE2P,UAAUA,IAAIxO,GAAGoF,QAAQzC,UAASgM,KAAKzO,IAAIyO,EAAE9P,EAAE0B,OAAO,IAAIQ,GAAE,mBAAmB2N,sBAAsB,YAAW/P,OAAOM,EAAEZ,GAAE,mBAAmBM,EAAEyB,KAAKzB,EAAEyB,MAAM/B,GAAEY,EAAE,YAAWN,OAAOM,EAAEZ,KAAI+B,IAAIzB,EAAEqB,KAAK3B,GAAEY,EAAE,YAAWN,EAAEM,UAAUN,GAAGA,EAAEW,SAASL,EAAEK,QAAQL,EAAEmC,MAAK,SAASuN,EAAE9P,UAAU8P,IAAIhQ,EAAEE,MAAK,YAAWF,EAAEM,SAAS,mBAAmBA,EAAEA,EAAEN,GAAGM,wbCC/1EqN,OAAOuC,eAAeC,GAAS,aAAc,CAAEjM,OAAO,8CACI,kBAC1D,SAAsBkM,EAAOC,UAClBA,EAAaC,QAAO,CAACrF,EAAMjI,IACpB,QAANA,EACOiI,EAAKsF,MAGLtF,EAAKrK,KAAKoC,EAAEpC,OAExBwP,IAMP,SAKII,YAAYC,EAAUC,QACbD,SAAWA,MAAAA,EAA2CA,EAAW,QACjEC,WAAaA,MAAAA,EAA+CA,EAAa,GAKlFF,cACW1O,KAAK2O,SAAS3O,KAAK2O,SAAS9P,OAAS,GAKhD6P,MAAMJ,EAAOO,UACF,IAAIC,GAAK9O,KAAK2O,SAAS3L,MAAMsL,EAAOO,GAAM7O,KAAK4O,YAK1DF,eACW,IAAII,GAAK9O,KAAK2O,SAAS3L,MAAM,GAAIhD,KAAK4O,YAKjDF,aACW,IAAII,GAAK9O,KAAK2O,SAAS3L,MAAM,MAAQhD,KAAK4O,YAMrDF,KAAKK,UACM/O,KAAKgP,UAAUD,GAASE,YAAYF,GAM/CL,UAAUK,UACC,IAAID,GAAK,IAAI9O,KAAK2O,SAAUI,GAAU,IAAI/O,KAAK4O,aAM1DF,YAAYK,MACe,iBAAZA,SACA/O,KAAKkP,aACVC,EAAaJ,EAAQK,WAAW,cAAgBL,EAAQ/L,MAAM,IAAM+L,SACnE,IAAID,GAAK,IAAI9O,KAAK2O,UAAW,IAAI3O,KAAK4O,WAAYO,IAE7DT,cACW,IAAII,GAAK,IAAI9O,KAAK2O,UAAW,IAAI3O,KAAK4O,aAEjDF,kBACW1O,KAAK2O,SAMhBD,UAAUW,UACC,IAAIC,GAAUD,EAAOrP,MAEhC0O,oBACW1O,KAAK4O,WAMhBF,OAAOa,UACIA,EAAMZ,SAAS9P,SAAWmB,KAAK2O,SAAS9P,QACxC0Q,EAAMZ,SAASa,OAAM,CAAC/L,EAAGlF,IAAMkF,IAAMzD,KAAK2O,SAASpQ,KAM9DmQ,WAAWa,WACHvP,KAAK2O,SAAS9P,OAAS0Q,EAAMZ,SAAS9P,SAEnC0Q,EAAMZ,SAASa,OAAM,CAAC/L,EAAGlF,IAAMkF,IAAMzD,KAAK2O,SAASpQ,KAM9DmQ,SAASa,SACCE,EAASzP,KAAK2O,SAAS9P,OAAS0Q,EAAMZ,SAAS9P,eACjD4Q,EAAS,IAENF,EAAMZ,SAASa,OAAM,CAAC/L,EAAGlF,IAAMkF,IAAMzD,KAAK2O,SAASc,EAASlR,KAEvEmQ,kBACW1O,KAAK2O,SACP5F,QAAuB,iBAAN7H,EAAkB,IAAIA,IAAM,IAAIA,OACjDkH,KAAK,IACLtF,QAAQ,MAAO,IAExB4L,QAAQgB,EAAIC,UACD3P,KAAK2O,SAAShK,QAAQ+K,EAAIC,YAG1Bb,GACf,iBAAwBA,GACpBJ,YAAYW,EAAOlG,SACTA,MAAAA,OAAmC,EAASA,EAAKwF,SAAUxF,MAAAA,OAAmC,EAASA,EAAKyF,iBAC7GS,MAAQA,EAEjBX,kBACW1O,KAAKqP,MAMhBX,UACQkB,SACyB,UAAhB5P,KAAKqP,aAA0B,IAAPO,OAAgB,EAASA,EAAGC,IAAI7P,MAKzE0O,IAAItM,OACIwN,EACkB,UAAhB5P,KAAKqP,aAA0B,IAAPO,GAAyBA,EAAGE,IAAI9P,KAAMoC,GAKxEsM,MAAMJ,EAAOO,UACF,IAAIS,GAAUtP,KAAKqP,MAAOU,MAAM/M,MAAMsL,EAAOO,IAKxDH,eACW,IAAIY,GAAUtP,KAAKqP,MAAOU,MAAMC,SAK3CtB,aACW,IAAIY,GAAUtP,KAAKqP,MAAOU,MAAMtB,OAM3CC,KAAKK,UACM/O,KAAKgP,UAAUD,GAASE,YAAYF,GAM/CL,UAAUK,UACC,IAAIO,GAAUtP,KAAKqP,MAAOU,MAAMf,UAAUD,IAMrDL,YAAYK,UACD,IAAIO,GAAUtP,KAAKqP,MAAOU,MAAMd,YAAYF,IAEvDL,cACW,IAAIY,GAAUtP,KAAKqP,MAAOU,MAAMb,sBAG3BI,aCjMpBzD,OAAOuC,eAAe6B,GAAS,aAAc,CAAE7N,OAAO,mBACrC,EAIjB,SACIsM,mBACSwB,OAAS,GAElBxB,IAAIvF,EAAMgH,KAAUC,eACXF,OAAOpR,KAAK,CAAEqK,KAAAA,EAAMgH,MAAAA,EAAOC,OAAAA,KACzB,EAEX1B,IAAIvF,EAAMkH,GAAQ,UACPA,EAAQrQ,KAAKkQ,OAAOvD,WAAYzL,EAAEiI,KAAKmH,OAAOnH,KAC/CnJ,KAAKkQ,OAAOvD,WAAYzL,EAAEiI,KAAKiG,WAAWjG,KAEpDuF,gBACW1O,KAAKkQ,OAEhBxB,aACSwB,OAAS,GAElBxB,eACW1O,KAAKkQ,OAAOrR,SAErB0R,OAAOC,sBACMtP,KAAKlB,KAAKkQ,aACXhP,aAIDuP,GChCjB5E,OAAOuC,eAAesC,GAAS,aAAc,CAAEtO,OAAO,sBAClC,EACpB,MAAMiM,GAASsC,GACTV,GAAWW,gBAIjB,MAIIlC,YAAYmC,EAAQC,OACZlB,OACCiB,OAASA,OACTpL,KAAOoL,EAAO7H,eACd+H,UAAY,QACZb,OAAS,IAAID,GAASQ,YACtBzG,QAAU,CAACgH,KAAKC,UAAUjR,KAAKyF,YAC/ByL,aAAe,OACfC,WAA6F,UAA1EL,MAAAA,OAAyC,EAASA,EAAQK,kBAA+B,IAAPvB,EAAgBA,EAAK,GAMnIlB,YAAY0C,QACHL,UAAUjS,KAAKsS,GAMxB1C,eAAe0C,SACLlI,EAAQlJ,KAAK+Q,UAAU5Q,QAAQiR,GACjClI,WACK6H,UAAUtE,OAAOvD,EAAO,GAOrCwF,mBACU2C,EAAaL,KAAKC,UAAUjR,KAAKyF,MACnCzF,KAAKgK,QAAQhK,KAAKkR,gBAAkBG,SAC/BH,cAAgB,OAChBlH,QAAQyC,OAAOzM,KAAKkR,aAAclR,KAAKmR,WAAYE,GACpDrR,KAAKgK,QAAQnL,OAASmB,KAAKmR,kBACtBnH,QAAQyC,OAAO,EAAG,QAClByE,cAAgB,SAGxBI,mBAKT5C,wBACSqC,UAAUpM,aACPxG,EAAEoT,eACAA,YAAYvR,MACd7B,EAAE+R,UACAA,OAAOlQ,KAAKkQ,WAO1BxB,MAAMtM,EAAOoP,QACJ/L,KAAOrD,OACPqP,SAASD,QACTE,aAOThD,IAAIvF,OACIgB,EAAOnK,KAAKyF,cACXd,qBACY,IAATwF,SACOA,IACJA,EAAKjJ,MAETiJ,EAOXuE,IAAIvF,EAAM/G,EAAOuP,MACkB,IAA3BxI,EAAKyI,WAAW/S,wBACXgT,MAAMzP,GAAO,OAGlB+H,EAAOnK,KAAKyF,OACXgJ,MAAM9J,kBACS,IAAZwF,EAAKjJ,IAAuC,iBAAZiJ,EAAKjJ,IAAsC,iBAAZiJ,EAAKjJ,OAC/DA,GAAK,MAEPiJ,EAAKjJ,WAEF,IAAVkB,GAAyC,iBAAVA,GAAsB0P,MAAM1P,GAChC,iBAAhB+G,EAAK4I,SACPtF,OAAOtD,EAAK4I,OAAQ,UAGlB5H,EAAKhB,EAAK4I,UAIhB5I,EAAK4I,QAAU3P,EAEpBuP,YAEIK,IAAI,MAAO7I,EAAK8I,WAAYjB,KAAKC,UAAU7O,SAC9CqP,UAAS,QACTC,cAKThD,OACQ1O,KAAKkR,aAAe,SACfA,cAAgB,OAChBzL,KAAOuL,KAAKkB,MAAMlS,KAAKgK,QAAQhK,KAAKkR,oBACpCO,UAAS,QACTH,oBAMb5C,OACQ1O,KAAKkR,aAAelR,KAAKgK,QAAQnL,OAAS,SACrCqS,cAAgB,OAChBzL,KAAOuL,KAAKkB,MAAMlS,KAAKgK,QAAQhK,KAAKkR,oBACpCO,UAAS,QACTH,oBAMb5C,SAAS8C,OACD5B,QACEzG,GAAO,IAAIkF,GAAOS,MAAOqD,UAAUnS,WACpCkQ,OAAOkC,aACP3M,KAAgF,UAAnEzF,KAAK6Q,OAAOY,SAAStI,EAAMnJ,KAAKyF,KAAMzF,KAAKkQ,OAAQ,CAAEsB,MAAAA,WAA6B,IAAP5B,EAAgBA,EAAK,GAEtHlB,MAAMvF,EAAMgH,KAAUC,SACZiC,EAAa,IAAIpC,GAASQ,SACrB6B,IAAInJ,EAAMgH,EAAOC,QACvBW,UAAUpM,aACPxG,EAAE+R,UACAA,OAAOmC,kCC9JlBjE,kBAAwB,aAAc,CAAEhM,OAAO,YACvCmQ,OAAcA,OAAcA,OAAcA,aAAe,UACxD,CACZrT,KAAM,IAAM,OACZsT,SAAU,OACVxJ,QAAS,OACTyJ,QAAS,KAAM,EACfC,KAAM,KAAM,EACZC,SAAU,KAAM,EAChBjE,kBAAoB1O,MACpB4S,SAAWrR,GAAMA,EACjBsR,QAAS,IAAM,GACfpB,SAAU,CAACjQ,EAAGiC,IAAMA,EACpBqP,iBAAkB,OAClBpE,KAAKqE,EAAM5J,KAAS6J,UAAeD,EAAK3S,KAAK,CAAE+J,KAAMnK,MAAQmJ,KAAS6J,IACtEC,UAAW,KAAM,EACjBC,OAAQ,IAAM,WAEJ,CAAC/I,EAAMgJ,IAAUC,OACxBjJ,GAA0B,mBAATgJ,EAAsBA,EAAKhJ,GAAQgJ,UAE7C,CAAC/T,EAAK+K,IAASoI,GAAQc,IAAIlJ,EAAM,CAC3CsI,QAAUlR,QAA4B,IAAtBA,EAAEzC,KAAKM,GAAKyQ,wBAEnB1F,UACFmJ,OACAnJ,GADA,CAEHwI,SAAU,KAAM,sBAIVxI,UACHmJ,OACAnJ,GADA,CAEHuI,KAAM,KAAM,eClCpB7G,OAAOuC,eAAemF,GAAS,aAAc,CAAEnR,OAAO,wBAChC,EACtB,MAAMoR,GAAS7C,kBAIO,IACX2C,OACAE,GAAOC,MADP,CAEHvU,KAAM,IAAM,UACZ8J,QAAS,KAAM,EACf6J,QAAS,IAAM,CAAC,QAAS,QACzBnE,SAASvF,EAAM/G,EAAO8N,EAAQY,UACtBA,EAAQU,OAA0B,kBAAVpP,MAChBpC,KAAKgJ,WAEI,kBAAV5G,QAAiC,IAAVA,KACvBkQ,IAAInJ,EAAM,0BAEd/G,GAEXsM,KAAKqE,EAAM5J,KAAS6J,OACZpD,SAC4B,UAAlBmD,EAAKW,eAA4B,IAAP9D,EAAgBA,EAAKmD,EAAK3S,MAAMsF,KAAKqN,EAAM,CAAE5I,KAAMnK,MAAQmJ,KAAS6J,sBCvBxHnH,OAAOuC,eAAeuF,GAAS,aAAc,CAAEvR,OAAO,qBACnC,EACnB,MAAMoR,GAAS7C,eACI,CAAC5R,EAAU6U,SACtBhE,EAAIiE,QACFC,EAAkF,UAAtEF,MAAAA,OAAuC,EAASA,EAAOG,iBAA8B,IAAPnE,EAAgBA,EAAK,EAC/GtH,EAAkF,UAAtEsL,MAAAA,OAAuC,EAASA,EAAOI,iBAA8B,IAAPH,EAAgBA,EAAKI,EAAAA,EAC/GC,gBAAkD,EAASN,EAAOG,0BAAsD,EAASH,EAAOI,kBACtIV,OACDE,GAAOC,MADN,CAEJvU,KAAM,IAAM,OACZ8J,QAAS,kBAA8C,EAAS4K,EAAOG,WAAa,IAAIhS,MAAM+R,IAAM/K,QAAShK,EAASiK,YAAa,GACnI0F,SAASvF,EAAMD,SACLiL,EAAYjL,EAAQ,SACLC,EAAKyI,WACT/S,QAAUsV,EAChBnU,KAEJjB,EAASqV,SAASjL,EAAMgL,IAEnCvB,UAASzJ,EAAMD,IACJC,EAAKrK,KAAKuV,SAASnL,EAAM+I,aAAahD,YAAY,SAE7DP,SAASvF,EAAM/G,EAAO8N,EAAQY,UACtBA,EAAQU,QAAUzP,MAAMC,QAAQI,OACxBpC,KAAKgJ,WAEZjH,MAAMC,QAAQI,IAIV8R,MAAkBrV,OAASiV,GAAO1R,EAAMvD,OAASyJ,GAClDwL,IAAQxL,IACDgK,IAAInJ,EAAM,iCAAkC/G,EAAMvD,OAAQiV,KAG1DxB,IAAInJ,EAAM,mCAAoC/G,EAAMvD,OAAQiV,EAAKxL,GAGvElG,EAAMvD,OAASiV,IACbxB,IAAInJ,EAAM,mCAAoC/G,EAAMvD,OAAQiV,GAE9D1R,EAAMvD,OAASyJ,KACbgK,IAAInJ,EAAM,kCAAmC/G,EAAMvD,OAAQyJ,GAE/DlG,EAAM2G,KAAI,CAACrB,EAAKwB,IAAUnK,EAAS0S,SAAStI,EAAKrK,KAAKoK,GAAQxB,EAAKwI,EAAQY,SAjBvEwB,IAAInJ,EAAM,uBACV/G,IAkBfsM,KAAKqE,EAAM5J,KAAS6J,OACZsB,SACyB,UAAfvB,EAAKwB,YAAyB,IAAPD,EAAgBA,EAAKvB,EAAK3S,MAAMsF,KAAKqN,EAAM,CAAE5I,KAAMnK,KAAMjB,SAAAA,EAAU6U,OAAQA,MAAAA,EAAuCA,EAAS,IAAMzK,KAAS6J,iBCjD3LnH,OAAOuC,eAAeoG,GAAS,aAAc,CAAEpS,OAAO,uBACjC,EACrB,MAAMoR,GAAS7C,iBAIO8D,GACXnB,OACAE,GAAOC,MADP,CAEH/E,KAAKvF,UACMnJ,KAAK0U,WAAWvL,GAAM,GACxBgB,KAAKjL,KAAKiK,IAEnBuF,SAASvF,UACEnJ,KAAK0U,WAAWvL,GAAM,GACxBgB,KAAKqI,SAASrJ,IAEvBH,QAAS,IAAMyL,EAAM,GAAGtK,KAAKnB,UAC7B0F,SAASvF,EAAMD,OACP0G,QACEuE,EAAYjL,EAAQ,SACkC,UAA/ClJ,KAAK0U,WAAWvL,EAAKnG,MAAM,EAAGmR,WAAgC,IAAPvE,OAAgB,EAASA,EAAGzF,KAAKiK,SAASjL,EAAMD,IAExHwF,SAASvF,EAAM/J,OACPwQ,EAAIiE,SACwG,UAAlE,UAA3B7T,KAAK0U,WAAWvL,UAA0B,IAAPyG,OAAgB,EAASA,EAAGzF,KAAKyI,SAASzJ,EAAM/J,UAAyB,IAAPyU,EAAgBA,EAAK1K,GAEjJuF,QAAQvF,EAAM/G,OACNwN,EAAIiE,SACyG,UAAnE,UAA3B7T,KAAK0U,WAAWvL,UAA0B,IAAPyG,OAAgB,EAASA,EAAGzF,KAAK0I,QAAQ1J,EAAM/G,UAA2B,IAAPyR,EAAgBA,EAAKY,EACzI9H,WAAYxL,EAAE6G,MAAMmB,KACpBJ,QAAS5H,EAAEgJ,KAAK0I,QAAQ1J,EAAM/G,KAC9BoM,QAAO,CAACjN,EAAGJ,IAAMI,EAAEoT,OAAOxT,MAEnCuN,SAASvF,EAAM/G,EAAO8N,EAAQY,OACtB3P,EAAInB,KAAK0U,WAAWvL,eACd,IAANhI,EACOiB,EAEJjB,EAAEgJ,KAAKsH,SAAStI,EAAM/G,EAAO8N,EAAQY,IAEhDpC,iBAAiBvF,OACTyG,SACoC,UAA3B5P,KAAK0U,WAAWvL,UAA0B,IAAPyG,OAAgB,EAASA,EAAGzF,KAAK2I,iBAAiB3J,IAEtGuF,WAAWvF,EAAMyL,SACPC,EAAS,CAACxT,EAAGK,SAAYkO,EAAIiE,SAAkC,UAAhBnS,EAAEoT,gBAA6B,IAAPlF,EAAgBA,EAAK,IAA4B,UAAhBvO,EAAEyT,gBAA6B,IAAPjB,EAAgBA,EAAK,IACrJkB,EAAeN,EAAM9H,WAAYxL,EAAE6G,MAAMmB,KAAO1I,KAAKoU,UACvDD,GAAoC,IAAxBG,EAAalW,OAClB4V,EAAMhU,KAAKoU,GAAQ,GAEtBE,EAAalW,OAAS,EAAIkW,EAAa,QAAK,GAExDrG,KAAKqE,EAAM5J,KAAS6J,UACThT,KAAK0U,WAAWvL,GAAM,GACxBgB,KAAK4I,KAAKA,EAAM5J,KAAS6J,yBCvDnC5E,iBAAwB,aAAc,CAAEhM,OAAO,qBAC7BmQ,eAAuBA,eAAuBA,kBAAqB,QACtFyC,EAAarE,GACbsE,EAAerE,gBAIA,CAACsE,EAAStB,WAWrBuB,EAAaF,EAAaT,WAAWU,EAAQnM,SAAU,CACzD7J,KAAMiC,EAAEjC,KACR4V,SAAU3T,EAAE2T,SACZ9M,MAAQmB,GAbI,EAACiM,EAAQhT,QACjBgT,EAAOpN,aACAoN,EAAOpN,MAAM5F,UAEhBgT,EAAOlW,UACN,cAAe6C,MAAMC,QAAQI,OAC7B,eAAkC,iBAAVA,IAAuBL,MAAMC,QAAQI,yBAC3CA,IAAUgT,EAAOlW,OAM3BmW,CAAQlU,EAAGgI,EAAK0G,OACjC1F,KAAMhJ,EAAEgJ,iBAELmJ,OACA6B,GADA,CAEHzG,SAASvF,EAAM/G,EAAO8N,EAAQY,OACtBsE,EAASD,EAAWT,WAAWvL,GAAM,UACrCiM,EAAOjL,KAAKwI,WACLvQ,EAEJgT,EAAOjL,KAAKsH,SAAStI,EAAM/G,EAAO8N,EAAQY,IAErDpC,KAAKqE,EAAM5J,KAAS6J,OACZpD,SAC2B,UAAjBmD,EAAKqC,cAA2B,IAAPxF,EAAgBA,EAAKmD,EAAK3S,MAAMsF,KAAKqN,EAAM,CAAE5I,KAAMnK,KAAMkV,QAAAA,EAAStB,OAAQA,MAAAA,EAAuCA,EAAS,GAAIuB,WAAAA,GAAchM,KAAS6J,aAIlMsC,EAAW1R,GAAO,CAACuG,EAAMyJ,IACpBrB,EAAQgD,WAAW,CACtB,CACIrW,KAAM0E,EACNuG,KAAAA,EACAqL,eAAmB5F,SAA2B,UAAVnM,EAAE,UAAuB,IAAPmM,EAAgBA,EAAKzF,EAAKnB,YAEpF,CACI9J,KAAM,OACNiL,KAAM6K,EAAWrB,SAASxJ,GAC1BqL,UAAa/R,EAAI,CAACA,GAAK,KAE5BmQ,kBAEgB0B,EAAQ,yBACRA,EAAQ,2BACN,CAACG,EAAYC,EAAYC,IACvCpD,EAAQgD,WAAW,CACtB,CACIrW,KAAM,SACN4V,SAAU,EACV3K,KAAMsL,EACND,UAAa3J,OAAO+J,KAAKD,GAAS,IAEtC,CACIzW,KAAM,SACNiL,KAAMuL,EACNF,eAAmB5F,SAAiC,UAAhB+F,EAAQlS,UAAuB,IAAPmM,EAAgBA,EAAK+F,EAAQ9J,OAAO+J,KAAKD,GAAS,uBClE1H9J,OAAOuC,eAAeyH,GAAS,aAAc,CAAEzT,OAAO,oBACpC,EAClB,MAAMoR,GAAS7C,cAIG,CAACiF,EAAM7W,EAAU6U,IACxBN,OACAE,GAAOC,MADP,CAEHvU,KAAM,IAAM,MACZ8J,QAAS,KAAO,IAChB0F,SAASvF,EAAMD,SACLiL,EAAYjL,EAAQ,SACLC,EAAKyI,WACT/S,QAAUsV,EAChBnU,KAEJjB,EAASqV,SAASjL,EAAMgL,IAEnCvB,UAASzJ,EAAM/J,IACJ+J,EAAK6F,UAAU5P,GAE1ByT,QAAU1J,GAASyM,EAAK/C,QAAQ1J,EAAM,IACtCuF,SAASvF,EAAM/G,EAAO8N,EAAQY,MACtBA,EAAQU,OAA0B,iBAAVpP,MAChBpC,KAAKgJ,WAEH,OAAV5G,GAAmC,iBAAVA,WAClBkQ,IAAInJ,EAAM,yBACV/G,MAEP0T,EAAM,iBACHF,KAAKxT,GAAOuC,eACV8M,SAAStI,EAAM1H,EAAGyO,EAAQY,KAC3BrP,GAAK1C,EAAS0S,SAAStI,EAAKrK,KAAK2C,GAAIW,EAAMX,GAAIyO,EAAQY,MAExDgF,GAEXpH,iBAAiBvF,OACTyG,SACgF,UAAvEgE,MAAAA,OAAuC,EAASA,EAAOmC,kBAA+B,IAAPnG,EAAgBA,EAAKgG,EAAK9C,iBAAiB3J,EAAKrK,KAAK,MAErJ4P,KAAKqE,EAAM5J,KAAS6J,OACZpD,SACwB,UAAdmD,EAAKhK,WAAwB,IAAP6G,EAAgBA,EAAKmD,EAAK3S,MAAMsF,KAAKqN,EAAM,CAAE5I,KAAMnK,KAAM4V,KAAAA,EAAM7W,SAAAA,EAAU6U,OAAQA,MAAAA,EAAuCA,EAAS,IAAMzK,KAAS6J,gBC5ChMnH,OAAOuC,eAAe4H,GAAS,aAAc,CAAE5T,OAAO,uBACjC,EACrB,MAAMoR,GAAS7C,iBACOiD,QACdhE,EAAIiE,EAAIoC,QACNC,kBAAkD,EAAStC,EAAOuC,QAA0F,UAApEvC,MAAAA,OAAuC,EAASA,EAAOsC,eAA4B,IAAPtG,GAAgBA,EACpLkE,gBAA8C,EAASF,EAAOuC,OAAS,EAA0E,UAAhEvC,MAAAA,OAAuC,EAASA,EAAOE,WAAwB,IAAPD,EAAgBA,OACzKvL,gBAA8C,EAASsL,EAAOuC,OAAS,SAAiF,UAAhEvC,MAAAA,OAAuC,EAASA,EAAOtL,WAAwB,IAAP2N,EAAgBA,EAAKhC,EAAAA,EACrLC,OAA2E,kBAAzB,EAASN,EAAOE,WAAuF,kBAAzB,EAASF,EAAOtL,YAC/IgL,OACAE,GAAOC,MADP,CAEHvU,KAAM,IAAM,SACZ8J,QAAS,IAAM8K,EAAM,EAAIA,EAAM,EAC/BpF,SAASvF,EAAM/G,EAAO8N,EAAQY,UACtBA,EAAQU,OAA0B,iBAAVpP,MAChBpC,KAAKgJ,WAEI,iBAAV5G,IACAkQ,IAAInJ,EAAM,yBAEZ+M,IAAYE,OAAOC,UAAUjU,KAC3BkQ,IAAInJ,EAAM,0BAEZ+K,MAAoBJ,GAAO1R,EAAQkG,KACjCgK,IAAInJ,EAAM,qCAAsC/G,EAAO0R,EAAKxL,GAE9DlG,EAAQ0R,IACNxB,IAAInJ,EAAM,qCAAsC/G,EAAO0R,GAEzD1R,EAAQkG,KACNgK,IAAInJ,EAAM,oCAAqC/G,EAAOkG,GAE1DlG,GAEXsM,KAAKqE,EAAM5J,KAAS6J,OACZsB,SAC2B,UAAjBvB,EAAKuD,cAA2B,IAAPhC,EAAgBA,EAAKvB,EAAK3S,MAAMsF,KAAKqN,EAAM,CAAE5I,KAAMnK,KAAMkW,QAAAA,EAASpC,IAAAA,EAAKxL,IAAAA,EAAK4L,QAAAA,EAASN,OAAQA,MAAAA,EAAuCA,EAAS,IAAMzK,KAAS6J,uBClC/M,YAAsBuD,UACXA,EAAIzT,QAAQ,UAAW,QAHlC+I,OAAOuC,eAAeoI,GAAS,aAAc,CAAEpU,OAAO,wCACT,kBAItBqU,kBACvB,SAAqBF,SACV,IAAIE,GAAaF,0BCPrBnI,iBAAwB,aAAc,CAAEhM,OAAO,iBACjCmQ,OAAeA,cAAiB,QAC/CmE,EAAS/F,GACTgG,EAAS/F,GACTgG,EAAWC,GACXC,EAAUC,YACCxG,OAAO,iBACTA,OAAO,qBACD,CAACyG,EAAQpD,mBACoDqC,UAA7DgB,QAAStK,GAASkH,IAAQqD,MAAOzC,GAA4BwB,EAAlBkB,gKAAkBlB,EAAlB,CAAnDmB,KAA0BA,OAC7BC,EAAmBlO,YACN,IAAXwD,SACOwK,QACLG,EAAcX,EAAOY,aAAapO,EAAMwD,GAAQkD,MAChD6E,EAAaD,EAAM6C,UAClBlE,OAAK+D,GAAkBzC,IAE5B8C,EAAoB,CAACrO,EAAMsO,SACzBnD,QACEgD,EAAc3K,EAASgK,EAAOY,aAAapO,EAAMwD,GAAQkD,WAAQ,EACjE6H,EAAa/K,GAAwC,UAAxB8H,EAAM6C,UAAiC,IAAPhD,EAAgBA,EAAW,GACxFqD,EAAW9L,OAAO+J,KAAK8B,GACvBE,gBAA0D,EAAShE,EAAO3T,SAC5E,IAAI0W,EAAOrH,UAAUnG,EAAK0O,WAAY,IAAIlB,EAAO7H,KAAK3F,EAAKyI,WAAY,CAACgC,EAAO3T,WAAakJ,wBAChC,EAASyK,EAAOkE,uBAAyBR,GAAeK,EAASI,SAASN,GACtIG,EAAgB3I,YAAYqI,GAAeM,GACzB9Y,KAAK2Y,WAEvBnE,OACDoD,EAAOjD,MADN,CAEJvU,KAAM,IAAM,SACZsT,SAAU,IAAMoB,MAAAA,OAAuC,EAASA,EAAOpB,SACvExJ,QAAS,KAAO,IAChB0F,cACW1O,KAAK2S,YAEhBjE,SAASvF,EAAMD,SACLiL,EAAYjL,EAAQ,EACpB8O,EAAe7O,EAAKyI,cACtBoG,EAAanZ,QAAUsV,SAChBnU,WAGLmK,EADekN,EAAgBlO,EAAKnG,MAAM,EAAGmR,IACzB6D,EAAa7D,WAChChK,MAAAA,OAAmC,EAASA,EAAKiK,SAASjL,EAAMgL,IAE3EvB,UAASzJ,EAAM/J,IACJoY,EAAkBrO,EAAM/J,EAAI6S,YAEvCvD,QAAQvF,EAAM/G,SACJ6V,EAAeZ,EAAgBlO,GAC/B+O,EAAerM,OAAO+J,KAAsB,iBAAVxT,EAAqBA,EAAQ,WAC9DyJ,OAAO+J,KAAKqC,GACdtL,WAAYsL,EAAaxW,GAAGgR,QAAQtJ,KACpCwD,YAAauL,EAAaH,SAAStW,KACnCsH,IAAI+N,EAAQqB,cAErBzJ,SAASvF,EAAM/G,EAAO8N,EAAQY,MACtBA,EAAQU,OAA0B,iBAAVpP,MAChBpC,KAAKgJ,WAEI,iBAAV5G,WACAkQ,IAAInJ,EAAM,yBACV/G,MAEP6V,EAAed,KACfxK,EAAQ,OACFyL,EAAazB,EAAOY,aAAapO,EAAMwD,OACzC2K,EAAcc,EAAWvI,SACzB1G,EAAKmH,OAAO8H,EAAW3J,OAAQ,OACzB4J,EAAcD,EAAWrG,SACjBoF,EAAckB,GAAa5G,SAAStI,EAAKrK,KAAKuZ,GAAcjW,EAAMiW,GAAc,IAAIzB,EAASnG,OAAUK,KAE1GsC,OAAK6E,GAAiBxD,EAAM6C,UAEzCgB,EAAazM,OAAO+J,KAAKqC,GACzBM,EAAaD,EAAW3L,YAAasL,EAAaxW,GAAGkR,aACrDiD,EAAO,IAAI4C,IAAI,IAAID,KAAe1M,OAAO+J,KAAKxT,SAChD0T,EAAM,YACLnR,gBACG2T,EAAWP,SAAStW,GAAI,KACnBwW,EAAaxW,GAAGgR,QAAQtJ,gBAEvBsP,EAAWR,EAAaxW,GAAGgQ,SAAStI,EAAKrK,KAAK2C,GAAIW,EAAMX,GAAIyO,EAAQY,IACrEmH,EAAaxW,GAAGiR,QAAUuF,EAAaxW,GAAGkR,kBAC1B,OACT5Q,MAAMC,QAAQyW,IAAiC,IAApBA,EAAS5Z,QACpC4Z,EAAS5Y,cAAgBgM,QAA2C,IAAjCA,OAAO+J,KAAK6C,GAAU5Z,UAC7D4C,QAAK,KAGLA,GAAKgX,IACJZ,WAAW/H,IAAI3G,EAAKrK,KAAK2C,GAAIgX,GAAU,WAI5ChX,GAAKW,EAAMX,MAGhBqU,GAEXpH,KAAKqE,EAAM5J,KAAS6J,OACZsB,SAC2B,UAAjBvB,EAAK2F,cAA2B,IAAPpE,EAAgBA,EAAKvB,EAAK3S,MAAMsF,KAAKqN,EAAM,CAAE5I,KAAMnK,KAAMgX,OAAQG,EAAexK,OAAAA,EAAQ8H,MAAAA,EAAO4C,gBAAAA,EAAiBG,kBAAAA,GAAqBrO,KAAS6J,sBCvGjMnH,OAAOuC,eAAeuK,GAAS,aAAc,CAAEvW,OAAO,sBAClC,eACA,CAACwW,EAAS/H,KAAY,CACtCnC,KAAKvF,UACMyP,EAAQ/I,IAAIgB,GAAQ3R,KAAKoI,KAAKtH,KAA9B4Y,CAAoCzP,IAE/CuF,SAASvF,UACEyP,EAAQ/I,IAAIgB,GAAQ2B,SAASlL,KAAKtH,KAAlC4Y,CAAwCzP,IAEnDuF,iBACWkK,EAAQ/I,IAAIgB,GAAQ7H,QAAQ1B,KAAKtH,KAAjC4Y,IAEXC,WAAU1P,EAAM/G,IACLwW,EAAQ/I,IAAIgB,GAAQgI,UAAU1P,EAAM/G,GAE/CsM,QAAQvF,UACGyP,EAAQ/I,IAAIgB,GAAQ4B,QAAQnL,KAAKtH,KAAjC4Y,CAAuCzP,IAElDuF,cACWkK,EAAQ/I,IAAIgB,GAAQ6B,KAAKpL,KAAKtH,KAA9B4Y,IAEXlK,kBACWkK,EAAQ/I,IAAIgB,GAAQ8B,SAASrL,KAAKtH,KAAlC4Y,IAEXlK,SAASvF,EAAMD,UACJ0P,EAAQ/I,IAAIgB,GAAQuD,SAAS9M,KAAKtH,KAAlC4Y,CAAwCzP,EAAMD,IAEzDwF,SAASvF,EAAM/J,UACJwZ,EAAQ/I,IAAIgB,GAAQ+B,SAAStL,KAAKtH,KAAlC4Y,CAAwCzP,EAAM/J,IAEzDsP,QAAQvF,EAAM/G,UACHwW,EAAQ/I,IAAIgB,GAAQgC,QAAQvL,KAAKtH,KAAjC4Y,CAAuCzP,EAAM/G,IAExDsM,SAASvF,EAAM/G,EAAO8N,EAAQY,UACnB8H,EAAQ/I,IAAIgB,GAAQY,SAASnK,KAAKtH,KAAlC4Y,CAAwCzP,EAAM/G,EAAO8N,EAAQY,IAExEpC,iBAAiBvF,UACNyP,EAAQ/I,IAAIgB,GAAQiC,iBAAiBxL,KAAKtH,KAA1C4Y,CAAgDzP,IAE3DuF,KAAKqE,EAAM5J,KAAS6J,UACT4F,EAAQ/I,IAAIgB,GAAQkC,KAAKzL,KAAKtH,KAA9B4Y,CAAoC7F,EAAM5J,KAAS6J,IAE9DtE,WAAWvF,EAAMyL,UACNgE,EAAQ/I,IAAIgB,GAAQ6D,WAAWpN,KAAKtH,KAApC4Y,CAA0CzP,EAAMyL,IAE3DlG,UAAUvF,EAAM/G,UACLwW,EAAQ/I,IAAIgB,GAAQoC,UAAU3L,KAAKtH,KAAnC4Y,CAAyCzP,EAAM/G,IAE1DsM,OAAOvF,EAAM/G,UACFwW,EAAQ/I,IAAIgB,GAAQqC,OAAO5L,KAAKtH,KAAhC4Y,CAAsCzP,EAAM/G,gBCjD3DyJ,OAAOuC,eAAe0K,GAAS,aAAc,CAAE1W,OAAO,uBACjC,EACrB,MAAMoR,GAAS7C,GACToI,GAAUnI,GACVoI,GAAU5W,QACRwN,WACuB,UAAXxN,SAA0B,IAAPwN,OAAgB,EAASA,EAAGqJ,OAE7DC,GAAe9W,QACbwN,WACuB,UAAXxN,SAA0B,IAAPwN,OAAgB,EAASA,EAAGuJ,0BAK9C,CAACC,EAAaxF,WACzByF,EAAYL,GAAOpF,GACM,iBAAhBA,EAAOqF,KACZ,SAAYrJ,SAA6G,UAA5FwJ,MAAAA,OAAiD,EAASA,EAAYvJ,IAAI+D,EAAOqF,aAA0B,IAAPrJ,EAAgBA,EAAK,IACtJ,IAAMgE,EAAOqF,KACwD,2BAA/B,EAASrF,EAAOuF,WACtB,iBAAvBvF,EAAOxD,OAAOkJ,KAClB1F,EAAOxD,OAAOkJ,KAAKlK,WAAW,KAC3B,SAAYQ,SAA6H,UAA5GwJ,MAAAA,OAAiD,EAASA,EAAYvJ,IAAI+D,EAAOxD,OAAOkJ,KAAKtW,MAAM,WAAwB,IAAP4M,EAAgBA,EAAK,IACtK,SAAYA,SAAoH,UAAnGwJ,MAAAA,OAAiD,EAASA,EAAYvJ,IAAI+D,EAAOxD,OAAOkJ,aAA0B,IAAP1J,EAAgBA,EAAK,IACjK,IAAMgE,EAAOxD,OAAOkJ,KACxB,IAAM,UACThG,OACAE,GAAOC,MADP,CAEHvU,KAAM,IAAM,SACZ8J,QAAS,IAAM,GACf0F,SAASvF,EAAM/G,EAAO8N,EAAQY,MACtBA,EAAQU,OAA0B,iBAAVpP,MAChBpC,KAAKgJ,gBAAa,GAET,iBAAV5G,WACAkQ,IAAInJ,EAAM,yBACV/G,KAEP8W,GAAYtF,KACa,aAArBA,EAAOuF,WAA4B/W,EAAMvD,OAAS,IAAMuD,EAAM2V,SAAS,SAClD,MAAb3V,EAAM,GACR,cAAgBA,EAAMY,MAAM,GAC5B,aAAeZ,GAEA,aAArBwR,EAAOuF,YAA4D,iBAAvBvF,EAAOxD,OAAOkJ,MAAqB1F,EAAOxD,OAAOkJ,KAAKlK,WAAW,MAC5GwE,EAAOxD,OAAOmJ,UAAyB,MAAbnX,EAAM,IACjCwR,EAAOxD,OAAOoJ,cACd5F,EAAOxD,OAAOqJ,sBACPrX,KAGV4W,GAAOpF,IAAWA,EAAO8F,kBACnBtX,QAELuX,EAASN,WACXM,EAAO9a,OAAS,IAAM8a,EAAO5B,SAAS3V,MAC/BkQ,IAAInJ,EAAM,4BAA6B/G,GAE3CA,GAEXyQ,QAAS,IAAMwG,IAAYtQ,IAAIgQ,GAAQZ,aACvCrF,qBACWoG,GAAYtF,GAAUA,OAAS,EAE1ClF,KAAKqE,EAAM5J,KAAS6J,OACZpD,SAC2B,UAAjBmD,EAAK6G,cAA2B,IAAPhK,EAAgBA,EAAKmD,EAAK3S,MAAMsF,KAAKqN,EAAM,CAAE5I,KAAMnK,KAAMqZ,UAAAA,EAAWzF,OAAAA,GAAUzK,KAAS6J,iBCnE1InH,OAAOuC,eAAeyL,GAAS,aAAc,CAAEzX,OAAO,cCAtDyJ,OAAOuC,eAAe0L,GAAS,aAAc,CAAE1X,OAAO,iDACA,oBAItD,MACIsM,mBACSqL,SAAW,GAEpBrL,SAASsL,EAAI7P,QACJ4P,SAASC,GAAM7P,EAExBuE,IAAIsL,SACM7P,EAAOnK,KAAK+Z,SAASC,eACd,IAAT7P,WACQgG,MAAM,2BAA2B6J,+BAEtC7P,0BAOf,MACIuE,mBACSqL,SAAW,GAEpBrL,SAASsL,EAAIzF,QACJwF,SAASC,GAAMzF,EAExB7F,IAAIsL,SACMzF,EAAOvU,KAAK+Z,SAASC,eACd,IAATzF,WACQ0F,KAAK,+BAA+BD,+BAEzCzF,MAAAA,EAAmCA,EAAO,eCpCzD1I,OAAOuC,eAAe8L,GAAS,aAAc,CAAE9X,OAAO,oBCAlD+X,EAAmBna,IAAQA,GAAKoa,yBAA4BtO,OAAU,SAASrN,EAAGkD,EAAGF,EAAG4Y,QAC7E,IAAPA,MAAuB5Y,UACpB2M,eAAe3P,EAAG4b,EAAI,CAAEC,YAAY,EAAMzK,IAAK,kBAAoBlO,EAAEF,OAC1E,SAAShD,EAAGkD,EAAGF,EAAG4Y,QACT,IAAPA,MAAuB5Y,KACzB4Y,GAAM1Y,EAAEF,KAEV8Y,EAAgBva,IAAQA,GAAKua,cAAiB,SAAS5Y,EAAG6Y,WACjDjZ,KAAKI,EAAa,YAANJ,GAAoBiZ,EAAQC,eAAelZ,MAAoBiZ,EAAS7Y,EAAGJ,WAE7F6M,iBAAwB,aAAc,CAAEhM,OAAO,MACzCuO,GAA8B4B,KAC9B3B,GAAyB2B,KACzBsE,GAA2BtE,KAC3BwE,GAAyBxE,KACzBmI,GAAgCnI,KAChCoI,GAA+BpI,KAC/BqI,GAA6BrI,KAC7BsI,GAA4BtI,KAC5BuI,GAA+BvI,KAC/BwI,GAA+BxI,KAC/ByI,GAA8BzI,KAC9B0I,GAA+B1I,KAC/B2I,GAA+B3I,KAC/B4I,GAAmB5I,KACnB6I,GAAyB7I,KACzB8I,GAA+B9I,wBC1B5C1G,OAAOuC,eAAekN,GAAS,aAAc,CAAElZ,OAAO,4BAC5B,qBAC1B,SAAyBgX,KACTmC,SAAS,sBAAuB,CACxC,+BACA,yBACA,0BACA,8BACA,gCACA,6BACA,yBACA,kCACA,4BACA,2BACA,wBACA,+BACA,iCACA,0BACA,+BACA,gCACA,uBACA,8BACA,oCACA,+BACA,uBACA,qBACA,0BACA,yBACA,+BACA,iCACA,4BACA,0BACA,iCACA,yBACA,6BACA,4BACA,wBACA,iBACA,2BACA,uBACA,2BACA,gCAEQA,SAAS,uBAAwB,CACzC,kBACA,iBACA,gBACA,uBACA,yBACA,qBACA,kBACA,wBAEQA,SAAS,sBAAuB,CACxC,wBACA,qBACA,sBACA,8BACA,iCACA,uBACA,qCACA,2BACA,0BACA,uBACA,0BACA,0BACA,uCACA,wBACA,6BACA,mCAEQA,SAAS,qBAAsB,CACvC,sBACA,uBACA,qBACA,qBACA,oBACA,2BACA,yBACA,6BACA,gCACA,4BACA,wBACA,0BACA,4BACA,6BACA,sBACA,qBACA,uBACA,wBACA,4BACA,gCAEQA,SAAS,YAAa,CAC9B,oBACA,sBACA,8BACA,wBACA,uBACA,gBACA,yBACA,sBACA,eACA,qBACA,0BACA,sBACA,iCAEQA,SAAS,oBAAqB,CACtC,mBACA,YACA,UACA,iBACA,iBACA,QACA,YACA,YACA,aACA,WACA,aACA,WACA,UACA,kBACA,cAEQA,SAAS,YAAa,CAC9B,sBACA,uBACA,wBAEQA,SAAS,UAAW,CAC5B,mBACA,aACA,WACA,WACA,cACA,WACA,cACA,iBACA,eACA,eACA,eACA,eACA,eACA,eACA,eACA,eACA,eACA,gBACA,WACA,WACA,2BACA,eACA,iBACA,YACA,2BACA,iBACA,mBACA,YACA,wBACA,aACA,kBACA,wBACA,cAEQA,SAAS,OAAQ,CACzB,WACA,UACA,OACA,QACA,OACA,WAEQA,SAAS,WAAY,CAC7B,WACA,WACA,YACA,gBAEQA,SAAS,gBAAiB,CAClC,OACA,gBACA,SACA,oBAEQA,SAAS,cAAe,CAChC,eACA,OACA,SACA,oBAEQA,SAAS,iCAAkC,CACnD,gCACA,sCACA,0BAEQA,SAAS,iBAAkB,CACnC,U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BACjBC,gBAAgBvY,GACvBA,GAsBXwY,iBALA,SAAoBxY,SACVR,EAAU,IAAIwJ,GAAOyP,yBACjBC,YAAYlZ,EAASQ,GACxBR,+MChDX/M,OAAOuC,eAAekN,GAAS,aAAc,CAAElZ,OAAO,4BAC5B,qBAC1B,SAAyBgX,KACTmC,SAAS,sBAAuB,CACxC,+BACA,yBACA,0BACA,8BACA,gCACA,6BACA,yBACA,kCACA,4BACA,2BACA,wBACA,+BACA,iCACA,0BACA,+BACA,gCACA,uBACA,8BACA,oCACA,+BACA,+BACA,uBACA,qBACA,0BACA,yBACA,4CACA,+BACA,0CACA,iCACA,4BACA,0BACA,yBACA,6BACA,4BACA,wBACA,uBACA,iBACA,4CACA,2BACA,uBACA,2BACA,gCAEQA,SAAS,YAAa,CAC9B,sBACA,uBACA,wBAEQA,SAAS,iBAAkB,CACnC,sBACA,uBACA,wBAEQA,SAAS,UAAW,CAC5B,mBACA,aACA,WACA,WACA,cACA,WACA,cACA,iBACA,eACA,eACA,eACA,eACA,eACA,eACA,eACA,eACA,eACA,gBACA,WACA,WACA,2BACA,eACA,iBACA,YACA,2BACA,iBACA,mBACA,YACA,wBACA,aACA,kBACA,wBACA,cAEQA,SAAS,OAAQ,CACzB,WACA,UACA,OACA,QACA,OACA,WAEQA,SAAS,WAAY,CAC7B,WACA,WACA,YACA,gBAEQA,SAAS,0BAA2B,CAC5C,sBACA,mBACA,gBACA,sBACA,kBACA,iCAEQA,SAAS,gBAAiB,CAClC,OACA,gBACA,SACA,oBAEQA,SAAS,cAAe,CAChC,eACA,OACA,SACA,oBAEQA,SAAS,iCAAkC,CACnD,gCACA,sCACA,0BAEQA,SAAS,iBAAkB,CACnC,UACA,WACA,SACA,QACA,aACA,cACA,WACA,eACA,iBACA,oBACA,QACA,eACA,gBACA,iBACA,oBACA,gBACA,cACA,cACA,cACA,oBACA,cACA,gBACA,cACA,eACA,eACA,aACA,mBAEQA,SAAS,cAAe,CAChC,kBACA,kBACA,iBACA,UACA,WACA,QACA,iBACA,UACA,YACA,WACA,gBACA,aACA,mBACA,gBACA,YACA,aACA,YACA,cAEQA,SAAS,eAAgB,CACjC,MACA,iBACA,aACA,gBACA,YACA,qBACA,WACA,cACA,OACA,cACA,iBACA,oBACA,SACA,gBACA,cACA,qBACA,eACA,SACA,kBACA,wBACA,OACA,YACA,aACA,WACA,UACA,kBACA,gBACA,aACA,WACA,cACA,aACA,SACA,OACA,OACA,QACA,WACA,YACA,SACA,sBAEQA,SAAS,8BAA+B,CAChD,mBACA,yBACA,8BACA,mBACA,yBACA,0BACA,4BACA,2BACA,2BACA,wBACA,uBACA,kBACA,6BACA,qBACA,wBACA,iCACA,kCACA,kCACA,iCACA,iCACA,yBACA,sCACA,kCACA,0BACA,yCACA,uCACA,qBACA,kBACA,wBACA,sBACA,wBACA,sBACA,gCACA,wBACA,iCACA,uBACA,sBACA,gCACA,+BACA,+BACA,sBACA,2BACA,0BACA,mCACA,yBACA,yBACA,wBACA,gCACA,4CACA,qCACA,wBACA,mBACA,6BACA,4BACA,sBACA,gCACA,8BACA,sBACA,sBACA,yBACA,2BACA,wBACA,gCACA,wBACA,sBACA,sBACA,sBACA,uBACA,iCACA,6BACA,sBACA,wBACA,yBACA,sCACA,2BACA,yBACA,0BACA,yBACA,yBACA,gBACA,yBACA,2BACA,qBACA,6BACA,6BACA,wBACA,wBACA,qBACA,wBACA,4BACA,2BACA,4BACA,qBACA,wBACA,8BACA,uBACA,yBACA,qBACA,sBACA,sBACA,8BACA,8BACA,yBACA,0BACA,6BACA,kCACA,+BACA,iCACA,mCACA,gCACA,yBACA,gCACA,8BACA,qCACA,4BACA,uBACA,iCACA,+BACA,+BACA,+BACA,8BACA,gCACA,gCACA,8BACA,6BACA,wBACA,0BACA,+BACA,4BACA,sCACA,oCACA,mCACA,6BACA,4BACA,8BACA,+BACA,6BACA,6BACA,qBACA,qBACA,uBACA,yBACA,sBACA,iBACA,6BACA,+BACA,gCACA,gCACA,+BACA,+BACA,uBACA,0BACA,+BACA,+BACA,0BACA,4BACA,2BACA,4BACA,2BACA,0BACA,iCACA,iCACA,0BACA,yBACA,+BACA,wBACA,wBACA,yBACA,yBACA,mBACA,kCACA,uBACA,6BACA,wBACA,+BACA,wBACA,8BACA,yBACA,gCACA,2BACA,0BACA,oCACA,wBACA,2BACA,kBACA,gCACA,kCACA,qCACA,iCACA,yBACA,8BAEQA,SAAS,wCAAyC,CAC1D,4BACA,4BACA,2BACA,qBACA,qBACA,kBACA,2BACA,oBACA,2BACA,sBACA,qBACA,0BACA,4BACA,4BACA,6BACA,iCACA,iCACA,mCACA,iCACA,gCACA,gCACA,0BACA,8BACA,sBACA,uBACA,sBACA,2BACA,2BACA,4BACA,0BACA,8BAEQA,SAAS,sCAAuC,CACxD,qBACA,0BACA,2BACA,mBACA,gBACA,4BACA,yBACA,sBACA,6BACA,kBACA,8BACA,uBACA,qBACA,qBACA,mBACA,iBACA,uBACA,8BACA,6BACA,kBACA,kBACA,0BACA,gCAEQA,SAAS,iBAAkB,CACnC,QACA,SACA,gBACA,SACA,MACA,SACA,OACA,WACA,SACA,OACA,QACA,SACA,QACA,UACA,QACA,QACA,cAEQA,SAAS,iBAAkB,CACnC,kBACA,4BACA,cACA,iBACA,gBACA,uBAEQA,SAAS,kBAAmB,CACpC,MACA,aAEQA,SAAS,oBAAqB,CACtC,kBACA,kBACA,oBACA,qBACA,oBACA,mBACA,iBACA,mBACA,+BACA,+BACA,oBACA,+DCngBDnN,iBAAwB,aAAc,CAAEhM,OAAO,wBAC1BmQ,aAAqBA,QAAgBA,uBAA+BA,uBAA+BA,uBAA+BA,uBAA+BA,sBAAyB,QAChNiJ,EAAS7K,0BACgB,CAC3BohB,WAAW,EACXC,SAAS,EACTC,aAAa,EACbC,sBAAsB,EACtBC,WAAW,EACXC,WAAW,EACXC,cAAc,EACdC,aAAa,EACbC,iBAAkB,EAClBC,cAAe,EACfC,eAAgB,IAChBC,WAAY,yDAEe,CAC3B5sB,KAAM,sBACN6sB,0BACAC,uBAAwB,EACxBC,UAAW,GACXC,wBAAwB,EACxBC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,6BACA,qBACA,0BACA,yBACA,4CACA,+BACA,0CACA,iCACA,4BACA,0BACA,yBACA,6BACA,2BACA,4BACA,wBACA,uBACA,iBACA,4CACA,2BACA,uBACA,uBACA,2BACA,gCAEQA,SAAS,YAAa,CAC9B,sBACA,uBACA,wBAEQA,SAAS,iBAAkB,CACnC,sBACA,uBACA,wBAEQA,SAAS,UAAW,CAC5B,mBACA,aACA,WACA,WACA,cACA,WACA,cACA,iBACA,eACA,eACA,eACA,eACA,eACA,eACA,eACA,eACA,eACA,gBACA,WACA,WACA,2BACA,eACA,iBACA,YACA,2BACA,iBACA,mBACA,YACA,wBACA,aACA,kBACA,wBACA,cAEQA,SAAS,OAAQ,CACzB,WACA,UACA,OACA,QACA,OACA,WAEQA,SAAS,WAAY,CAC7B,WACA,WACA,YACA,gBAEQA,SAAS,0BAA2B,CAC5C,sBACA,mBACA,gBACA,sBACA,kBACA,iCAEQA,SAAS,gBAAiB,CAClC,OACA,SACA,gBACA,oBAEQA,SAAS,cAAe,CAChC,eACA,OACA,SACA,oBAEQA,SAAS,iCAAkC,CACnD,gCACA,sCACA,0BAEQA,SAAS,iBAAkB,CACnC,UACA,WACA,SACA,QACA,aACA,cACA,WACA,eACA,iBACA,oBACA,QACA,eACA,gBACA,iBACA,oBACA,gBACA,cACA,cACA,cACA,oBACA,cACA,gBACA,cACA,eACA,eACA,aACA,mBAEQA,SAAS,cAAe,CAChC,kBACA,kBACA,iBACA,UACA,WACA,QACA,iBACA,UACA,YACA,WACA,gBACA,aACA,mBACA,gBACA,YACA,aACA,YACA,cAEQA,SAAS,eAAgB,CACjC,MACA,iBACA,aACA,gBACA,YACA,qBACA,WACA,cACA,OACA,cACA,iBACA,oBACA,SACA,gBACA,cACA,qBACA,eACA,SACA,kBACA,wBACA,OACA,YACA,aACA,WACA,UACA,kBACA,gBACA,aACA,WACA,cACA,aACA,SACA,OACA,OACA,QACA,WACA,YACA,SACA,sBAEQA,SAAS,8BAA+B,CAChD,mBACA,yBACA,8BACA,mBACA,yBACA,0BACA,4BACA,2BACA,2BACA,wBACA,uBACA,kBACA,6BACA,qBACA,wBACA,iCACA,kCACA,kCACA,iCACA,iCACA,yBACA,sCACA,kCACA,0BACA,yCACA,uCACA,qBACA,kBACA,wBACA,sBACA,wBACA,sBACA,gCACA,wBACA,iCACA,uBACA,sBACA,gCACA,+BACA,+BACA,sBACA,2BACA,0BACA,mCACA,yBACA,yBACA,wBACA,gCACA,4CACA,qCACA,wBACA,mBACA,6BACA,4BACA,sBACA,gCACA,8BACA,sBACA,sBACA,yBACA,2BACA,wBACA,gCACA,wBACA,sBACA,sBACA,sBACA,uBACA,iCACA,6BACA,sBACA,wBACA,yBACA,sCACA,2BACA,yBACA,0BACA,yBACA,yBACA,gBACA,yBACA,2BACA,qBACA,6BACA,6BACA,wBACA,wBACA,qBACA,wBACA,4BACA,2BACA,4BACA,qBACA,wBACA,8BACA,uBACA,yBACA,qBACA,sBACA,sBACA,8BACA,8BACA,yBACA,0BACA,6BACA,kCACA,+BACA,iCACA,mCACA,gCACA,yBACA,gCACA,8BACA,qCACA,4BACA,uBACA,iCACA,+BACA,+BACA,+BACA,8BACA,gCACA,gCACA,8BACA,6BACA,wBACA,0BACA,+BACA,4BACA,sCACA,oCACA,mCACA,6BACA,4BACA,8BACA,+BACA,6BACA,6BACA,qBACA,qBACA,uBACA,yBACA,sBACA,iBACA,6BACA,+BACA,gCACA,gCACA,+BACA,+BACA,uBACA,0BACA,+BACA,+BACA,0BACA,4BACA,2BACA,4BACA,2BACA,0BACA,iCACA,iCACA,0BACA,yBACA,+BACA,wBACA,wBACA,yBACA,yBACA,mBACA,kCACA,uBACA,6BACA,wBACA,+BACA,wBACA,8BACA,yBACA,gCACA,2BACA,0BACA,oCACA,wBACA,2BACA,kBACA,gCACA,kCACA,qCACA,iCACA,yBACA,8BAEQA,SAAS,wCAAyC,CAC1D,4BACA,4BACA,2BACA,qBACA,qBACA,kBACA,2BACA,oBACA,2BACA,sBACA,qBACA,0BACA,4BACA,4BACA,6BACA,iCACA,iCACA,mCACA,iCACA,gCACA,gCACA,0BACA,8BACA,sBACA,uBACA,sBACA,2BACA,2BACA,4BACA,0BACA,8BAEQA,SAAS,sCAAuC,CACxD,qBACA,0BACA,2BACA,mBACA,gBACA,4BACA,yBACA,sBACA,6BACA,kBACA,8BACA,uBACA,qBACA,qBACA,mBACA,iBACA,uBACA,8BACA,6BACA,kBACA,kBACA,0BACA,gCAEQA,SAAS,iBAAkB,CACnC,QACA,SACA,gBACA,SACA,MACA,SACA,OACA,WACA,SACA,OACA,QACA,SACA,QACA,UACA,QACA,QACA,cAEQA,SAAS,iBAAkB,CACnC,kBACA,4BACA,cACA,iBACA,gBACA,uBAEQA,SAAS,kBAAmB,CACpC,MACA,aAEQA,SAAS,oBAAqB,CACtC,kBACA,kBACA,oBACA,qBACA,oBACA,mBACA,iBACA,mBACA,+BACA,+BACA,oBACA,sBAEQA,SAAS,iBAAkB,CACnC,OACA,qBACA,sBACA,kBACA,mBACA,gBACA,aACA,cACA,eACA,gBACA,gBACA,mBACA,kBACA,gBACA,QACA,iBACA,kBACA,eACA,mBACA,gBACA,gBACA,oBACA,mBACA,iBACA,SACA,UACA,gBACA,kBACA,sBACA,yBACA,SACA,eACA,WACA,cACA,SACA,QACA,UACA,QACA,SACA,SACA,aAEQA,SAAS,YAAa,CAC9B,QACA,SACA,UACA,aACA,SACA,OACA,OACA,OACA,aACA,OACA,SACA,OACA,QACA,QACA,MACA,2BCnkBR1P,OAAOuC,eAAe+T,GAAS,aAAc,CAAE/f,OAAO,mCACrB,EACjC,MAAMggB,GAASzR,6BACf,SAAgCiI,EAASQ,SAC/BsC,EAAY0G,GAAOzJ,UAAUrR,UAAK,EAAWsR,GAC7C6C,EAAa2G,GAAOtJ,WAAWxR,UAAK,EAAW8R,GAC/C8b,EAAkB9S,GAAO7M,WAAW,CACtC,CACIrW,KAAM,SACNiL,KAAMiY,GAAOtG,IAAIJ,EAAU,qBAC3BlG,eAAmB5F,EAAIiE,SAAoF,UAAnD,UAAV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"} \ No newline at end of file diff --git a/assets/vendor.f4c463d9.js b/assets/vendor.f4c463d9.js new file mode 100644 index 00000000..ef0db338 --- /dev/null +++ b/assets/vendor.f4c463d9.js @@ -0,0 +1,2 @@ +var e,t,r,o,i=Object.defineProperty,a=Object.defineProperties,n=Object.getOwnPropertyDescriptors,c=Object.getOwnPropertySymbols,s=Object.prototype.hasOwnProperty,l=Object.prototype.propertyIsEnumerable,d=(e,t,r)=>t in e?i(e,t,{enumerable:!0,configurable:!0,writable:!0,value:r}):e[t]=r,m=(e,t)=>{for(var r in t||(t={}))s.call(t,r)&&d(e,r,t[r]);if(c)for(var r of c(t))l.call(t,r)&&d(e,r,t[r]);return e},_=(e,t)=>a(e,n(t)),p=e=>"symbol"==typeof e?e:e+"",u={},f=[],g=/acit|ex(?:s|g|n|p|$)|rph|grid|ows|mnc|ntw|ine[ch]|zoo|^ord|itera/i;function b(e,t){for(var r in t)e[r]=t[r];return e}function h(e){var t=e.parentNode;t&&t.removeChild(e)}function y(e,t,r){var o,i,a,n=arguments,c={};for(a in t)"key"==a?o=t[a]:"ref"==a?i=t[a]:c[a]=t[a];if(arguments.length>3)for(r=[r],a=3;a0?v(p.type,p.props,p.key,null,p.__v):p)){if(p.__=r,p.__b=r.__b+1,null===(_=y[d])||_&&p.key==_.key&&p.type===_.type)y[d]=void 0;else for(m=0;mt.rank?-1:e.index-t.index}function H(e,t){return e.index=t,e.rank=function(e){return e.props.default?0:(t=e.props.path,K(t).map(V).join(""));var t}(e),e.props}function K(e){return e.replace(/(^\/+|\/+$)/g,"").split("/")}function V(e){return":"==e.charAt(0)?1+"*+?".indexOf(e.charAt(e.length-1))||4:5}var G=null,X=[],J=[],Z={};function Y(){var e;return""+((e=G&&G.location?G.location:G&&G.getCurrentLocation?G.getCurrentLocation():"undefined"!=typeof location?location:Z).pathname||"")+(e.search||"")}function Q(e,t){return void 0===t&&(t=!1),"string"!=typeof e&&e.url&&(t=e.replace,e=e.url),function(e){for(var t=X.length;t--;)if(X[t].canRoute(e))return!0;return!1}(e)&&function(e,t){void 0===t&&(t="push"),G&&G[t]?G[t](e):"undefined"!=typeof history&&history[t+"State"]&&history[t+"State"](null,null,e)}(e,t?"replace":"push"),ee(e)}function ee(e){for(var t=!1,r=0;r0},t.prototype.routeTo=function(e){this.setState({url:e});var t=this.canRoute(e);return this.updating||this.forceUpdate(),t},t.prototype.componentWillMount=function(){X.push(this),this.updating=!0},t.prototype.componentDidMount=function(){var e=this;G&&(this.unlisten=G.listen((function(t){e.routeTo(""+(t.pathname||"")+(t.search||""))}))),this.updating=!1},t.prototype.componentWillUnmount=function(){"function"==typeof this.unlisten&&this.unlisten(),X.splice(X.indexOf(this),1)},t.prototype.componentWillUpdate=function(){this.updating=!0},t.prototype.componentDidUpdate=function(){this.updating=!1},t.prototype.getMatchingChildren=function(e,t,r){return e.filter(H).sort(W).map((function(e){var o=U(t,e.props.path,e.props);if(o){if(!1!==r){var i={url:t,matches:o};return E(i,o),delete i.ref,delete i.key,function(e,t,r){var o,i,a,n=arguments,c=b({},e.props);for(a in t)"key"==a?o=t[a]:"ref"==a?i=t[a]:c[a]=t[a];if(arguments.length>3)for(r=[r],a=3;a=o.__.length&&o.__.push({}),o.__[t]}function ye(e){return me=1,function(e,t,r){var o=he(se++,2);return o.t=e,o.__c||(o.__=[r?r(t):Ce(void 0,t),function(e){var t=o.t(o.__[0],e);o.__[0]!==t&&(o.__=[t,o.__[1]],o.__c.setState({}))}],o.__c=le),o.__}(Ce,e)}function ve(t,r){var o=he(se++,3);!e.__s&&Me(o.__H,r)&&(o.__=t,o.__H=r,le.__H.__h.push(o))}function Ne(e){return me=5,Oe((function(){return{current:e}}),[])}function Oe(e,t){var r=he(se++,7);return Me(r.__H,t)&&(r.__=e(),r.__H=t,r.__h=e),r.__}function ke(e){var t=he(se++,10),r=ye();return t.__=e,le.componentDidCatch||(le.componentDidCatch=function(e){t.__&&t.__(e),r[1](e)}),[r[0],function(){r[1](void 0)}]}function xe(){_e.forEach((function(t){if(t.__P)try{t.__H.__h.forEach(je),t.__H.__h.forEach(Se),t.__H.__h=[]}catch(r){t.__H.__h=[],e.__e(r,t.__v)}})),_e=[]}e.__b=function(e){le=null,pe&&pe(e)},e.__r=function(e){ue&&ue(e),se=0;var t=(le=e.__c).__H;t&&(t.__h.forEach(je),t.__h.forEach(Se),t.__h=[])},e.diffed=function(t){fe&&fe(t);var r=t.__c;r&&r.__H&&r.__H.__h.length&&(1!==_e.push(r)&&de===e.requestAnimationFrame||((de=e.requestAnimationFrame)||function(e){var t,r=function(){clearTimeout(o),we&&cancelAnimationFrame(t),setTimeout(e)},o=setTimeout(r,100);we&&(t=requestAnimationFrame(r))})(xe)),le=void 0},e.__c=function(t,r){r.some((function(t){try{t.__h.forEach(je),t.__h=t.__h.filter((function(e){return!e.__||Se(e)}))}catch(o){r.some((function(e){e.__h&&(e.__h=[])})),r=[],e.__e(o,t.__v)}})),ge&&ge(t,r)},e.unmount=function(t){be&&be(t);var r=t.__c;if(r&&r.__H)try{r.__H.__.forEach(je)}catch(o){e.__e(o,r.__v)}};var we="function"==typeof requestAnimationFrame;function je(e){var t=le;"function"==typeof e.__c&&e.__c(),le=t}function Se(e){var t=le;e.__c=e.__(),le=t}function Me(e,t){return!e||e.length!==t.length||t.some((function(t,r){return t!==e[r]}))}function Ce(e,t){return"function"==typeof t?t(e):t}var Pe="undefined"!=typeof globalThis?globalThis:"undefined"!=typeof window?window:"undefined"!=typeof global?global:"undefined"!=typeof self?self:{};function Le(e){if(e.__esModule)return e;var t=Object.defineProperty({},"__esModule",{value:!0});return Object.keys(e).forEach((function(r){var o=Object.getOwnPropertyDescriptor(e,r);Object.defineProperty(t,r,o.get?o:{enumerable:!0,get:function(){return e[r]}})})),t}var Be={},ze={},Re={};Object.defineProperty(Re,"__esModule",{value:!0}),Re.ModelPath=Re.Path=Re.relativePath=void 0,Re.relativePath=function(e,t){return t.reduce(((e,t)=>"pop"===t?e.pop():e.push(t.push)),e)};class Ae{constructor(e,t){this.modelArr=null!=e?e:[],this.contextArr=null!=t?t:[]}last(){return this.modelArr[this.modelArr.length-1]}slice(e,t){return new Ae(this.modelArr.slice(e,t),this.contextArr)}shift(){return new Ae(this.modelArr.slice(1),this.contextArr)}pop(){return new Ae(this.modelArr.slice(0,-1),this.contextArr)}push(e){return this.modelPush(e).contextPush(e)}modelPush(e){return new Ae([...this.modelArr,e],[...this.contextArr])}contextPush(e){if("number"==typeof e)return this.copy();const t=e.startsWith("minecraft:")?e.slice(10):e;return new Ae([...this.modelArr],[...this.contextArr,t])}copy(){return new Ae([...this.modelArr],[...this.contextArr])}getArray(){return this.modelArr}withModel(e){return new $e(e,this)}getContext(){return this.contextArr}equals(e){return e.modelArr.length===this.modelArr.length&&e.modelArr.every(((e,t)=>e===this.modelArr[t]))}startsWith(e){return!(this.modelArr.lengthe===this.modelArr[t]))}endsWith(e){const t=this.modelArr.length-e.modelArr.length;return!(t<0)&&e.modelArr.every(((e,r)=>e===this.modelArr[t+r]))}toString(){return this.modelArr.map((e=>"string"==typeof e?`.${e}`:`[${e}]`)).join("").replace(/^\./,"")}forEach(e,t){return this.modelArr.forEach(e,t)}}Re.Path=Ae;class $e extends Ae{constructor(e,t){super(null==t?void 0:t.modelArr,null==t?void 0:t.contextArr),this.model=e}getModel(){return this.model}get(){var e;return null===(e=this.model)||void 0===e?void 0:e.get(this)}set(e){var t;null===(t=this.model)||void 0===t||t.set(this,e)}slice(e,t){return new $e(this.model,super.slice(e,t))}shift(){return new $e(this.model,super.shift())}pop(){return new $e(this.model,super.pop())}push(e){return this.modelPush(e).contextPush(e)}modelPush(e){return new $e(this.model,super.modelPush(e))}contextPush(e){return new $e(this.model,super.contextPush(e))}copy(){return new $e(this.model,super.copy())}}Re.ModelPath=$e;var Te={};Object.defineProperty(Te,"__esModule",{value:!0}),Te.Errors=void 0;class qe{constructor(){this.errors=[]}add(e,t,...r){return this.errors.push({path:e,error:t,params:r}),!1}get(e,t=!1){return t?this.errors.filter((t=>t.path.equals(e))):this.errors.filter((t=>t.path.startsWith(e)))}getAll(){return this.errors}clear(){this.errors=[]}count(){return this.errors.length}*[Symbol.iterator](){for(const e of this.errors)yield e}}Te.Errors=qe,Object.defineProperty(ze,"__esModule",{value:!0}),ze.DataModel=void 0;const De=Re,Ie=Te;ze.DataModel=class{constructor(e,t){var r;this.schema=e,this.data=e.default(),this.listeners=[],this.errors=new Ie.Errors,this.history=[JSON.stringify(this.data)],this.historyIndex=0,this.historyMax=null!==(r=null==t?void 0:t.historyMax)&&void 0!==r?r:50}addListener(e){this.listeners.push(e)}removeListener(e){const t=this.listeners.indexOf(e);t>-1&&this.listeners.splice(t,1)}invalidate(){const e=JSON.stringify(this.data);this.history[this.historyIndex]!==e&&(this.historyIndex+=1,this.history.splice(this.historyIndex,this.historyMax,e),this.history.length>this.historyMax&&(this.history.splice(0,1),this.historyIndex-=1)),this.silentInvalidate()}silentInvalidate(){this.listeners.forEach((e=>{e.invalidated&&e.invalidated(this),e.errors&&e.errors(this.errors)}))}reset(e,t){this.data=e,this.validate(t),this.invalidate()}get(e){let t=this.data;return e.forEach((e=>{if(void 0===t)return t;t=t[e]})),t}set(e,t,r){if(0===e.getArray().length)return void this.reset(t,!0);let o=this.data;e.pop().forEach((e=>{void 0!==o[e]&&"string"!=typeof o[e]&&"number"!=typeof o[e]||(o[e]={}),o=o[e]})),void 0===t||"number"==typeof t&&isNaN(t)?"number"==typeof e.last()?o.splice(e.last(),1):delete o[e.last()]:o[e.last()]=t,r||(console.log("Set",e.toString(),JSON.stringify(t)),this.validate(!0),this.invalidate())}undo(){this.historyIndex>0&&(this.historyIndex-=1,this.data=JSON.parse(this.history[this.historyIndex]),this.validate(!1),this.silentInvalidate())}redo(){this.historyIndex{e.errors&&e.errors(o)}))}};var Fe,Ee={};Fe=Ee,Object.defineProperty(Fe,"__esModule",{value:!0}),Fe.Keep=Fe.Opt=Fe.Has=Fe.Mod=Fe.Base=void 0,Fe.Base={type:()=>"base",category:()=>{},default:()=>{},enabled:()=>!0,keep:()=>!1,optional:()=>!1,navigate(){return this},pathPush:e=>e,suggest:()=>[],validate:(e,t)=>t,validationOption:()=>{},hook(e,t,...r){return e.base({node:this},t,...r)},canUpdate:()=>!1,update:()=>[]},Fe.Mod=(e,t)=>m(m({},e),"function"==typeof t?t(e):t),Fe.Has=(e,t)=>Fe.Mod(t,{enabled:t=>void 0!==t.push(e).get()}),Fe.Opt=function(e){return _(m({},e),{optional:()=>!0})},Fe.Keep=function(e){return _(m({},e),{keep:()=>!0})};var Ue={};Object.defineProperty(Ue,"__esModule",{value:!0}),Ue.BooleanNode=void 0;const We=Ee;Ue.BooleanNode=()=>_(m({},We.Base),{type:()=>"boolean",default:()=>!1,suggest:()=>["false","true"],validate(e,t,r,o){return o.loose&&"boolean"!=typeof t&&(t=this.default()),"boolean"==typeof t&&void 0!==t||r.add(e,"error.expected_boolean"),t},hook(e,t,...r){var o;return(null!==(o=e.boolean)&&void 0!==o?o:e.base).call(e,{node:this},t,...r)}});var He={},Ke={};Object.defineProperty(Ke,"__esModule",{value:!0}),Ke.ListNode=void 0;const Ve=Ee;Ke.ListNode=(e,t)=>{var r,o;const i=null!==(r=null==t?void 0:t.minLength)&&void 0!==r?r:0,a=null!==(o=null==t?void 0:t.maxLength)&&void 0!==o?o:1/0,n=(null==t?void 0:t.minLength)&&(null==t?void 0:t.maxLength);return _(m({},Ve.Base),{type:()=>"list",default:()=>(null==t?void 0:t.minLength)?[...Array(i)].map((t=>e.default())):[],navigate(t,r){const o=r+1;return t.getArray().length<=o?this:e.navigate(t,o)},pathPush:(e,t)=>e.push(parseInt(t.toString())).contextPush("entry"),validate(t,r,o,c){return c.loose&&!Array.isArray(r)&&(r=this.default()),Array.isArray(r)?(n&&(r.lengtha)?i===a?o.add(t,"error.invalid_list_range.exact",r.length,i):o.add(t,"error.invalid_list_range.between",r.length,i,a):r.lengtha&&o.add(t,"error.invalid_list_range.larger",r.length,a),r.map(((r,i)=>e.validate(t.push(i),r,o,c)))):(o.add(t,"error.expected_list"),r)},hook(r,o,...i){var a;return(null!==(a=r.list)&&void 0!==a?a:r.base).call(r,{node:this,children:e,config:null!=t?t:{}},o,...i)}})};var Ge={};Object.defineProperty(Ge,"__esModule",{value:!0}),Ge.SwitchNode=void 0;const Xe=Ee;Ge.SwitchNode=e=>_(m({},Xe.Base),{type(e){return this.activeCase(e,!0).node.type(e)},category(e){return this.activeCase(e,!0).node.category(e)},default:()=>e[0].node.default(),navigate(e,t){var r;const o=t+1;return null===(r=this.activeCase(e.slice(0,o)))||void 0===r?void 0:r.node.navigate(e,t)},pathPush(e,t){var r,o;return null!==(o=null===(r=this.activeCase(e))||void 0===r?void 0:r.node.pathPush(e,t))&&void 0!==o?o:e},suggest(t,r){var o,i;return null!==(i=null===(o=this.activeCase(t))||void 0===o?void 0:o.node.suggest(t,r))&&void 0!==i?i:e.filter((e=>e.match(t))).map((e=>e.node.suggest(t,r))).reduce(((e,t)=>e.concat(t)))},validate(e,t,r,o){let i=this.activeCase(e);return void 0===i?t:i.node.validate(e,t,r,o)},validationOption(e){var t;return null===(t=this.activeCase(e))||void 0===t?void 0:t.node.validationOption(e)},activeCase(t,r){const o=(e,t)=>{var r,o;return(null!==(r=t.priority)&&void 0!==r?r:0)-(null!==(o=e.priority)&&void 0!==o?o:0)},i=e.filter((e=>e.match(t))).sort(o);return r&&0===i.length?e.sort(o)[0]:i.length>0?i[0]:void 0},hook(e,t,...r){return this.activeCase(t,!0).node.hook(e,t,...r)}}),function(e){Object.defineProperty(e,"__esModule",{value:!0}),e.ObjectOrPreset=e.StringOrList=e.ObjectOrList=e.ChoiceNode=void 0;const t=Ke,r=Ge;e.ChoiceNode=(e,t)=>{const o=r.SwitchNode(e.map((e=>({type:e.type,priority:e.priority,match:t=>((e,t)=>{if(e.match)return e.match(t);switch(e.type){case"list":return Array.isArray(t);case"object":return"object"==typeof t&&!Array.isArray(t);default:return typeof t===e.type}})(e,t.get()),node:e.node}))));return _(m({},o),{validate(e,t,r,i){let a=o.activeCase(e,!0);return a.node.optional()?t:a.node.validate(e,t,r,i)},hook(r,i,...a){var n;return(null!==(n=r.choice)&&void 0!==n?n:r.base).call(r,{node:this,choices:e,config:null!=t?t:{},switchNode:o},i,...a)}})};const o=r=>(o,i)=>e.ChoiceNode([{type:r,node:o,change:e=>{var t;return null!==(t=e[0])&&void 0!==t?t:o.default()}},{type:"list",node:t.ListNode(o),change:e=>e?[e]:[]}],i);e.ObjectOrList=o("object"),e.StringOrList=o("string"),e.ObjectOrPreset=(t,r,o)=>e.ChoiceNode([{type:"string",priority:1,node:t,change:e=>Object.keys(o)[0]},{type:"object",node:r,change:e=>{var t;return null!==(t=o[e])&&void 0!==t?t:o[Object.keys(o)[0]]}}])}(He);var Je={};Object.defineProperty(Je,"__esModule",{value:!0}),Je.MapNode=void 0;const Ze=Ee;Je.MapNode=(e,t,r)=>_(m({},Ze.Base),{type:()=>"map",default:()=>({}),navigate(e,r){const o=r+1;return e.getArray().length<=o?this:t.navigate(e,o)},pathPush:(e,t)=>e.modelPush(t),suggest:t=>e.suggest(t,""),validate(r,o,i,a){if(a.loose&&"object"!=typeof o&&(o=this.default()),null===o||"object"!=typeof o)return i.add(r,"error.expected_object"),o;let n={};return Object.keys(o).forEach((c=>{e.validate(r,c,i,a),n[c]=t.validate(r.push(c),o[c],i,a)})),n},validationOption(t){var o;return null!==(o=null==r?void 0:r.validation)&&void 0!==o?o:e.validationOption(t.push(""))},hook(o,i,...a){var n;return(null!==(n=o.map)&&void 0!==n?n:o.base).call(o,{node:this,keys:e,children:t,config:null!=r?r:{}},i,...a)}});var Ye={};Object.defineProperty(Ye,"__esModule",{value:!0}),Ye.NumberNode=void 0;const Qe=Ee;Ye.NumberNode=e=>{var t,r,o;const i=!!(null==e?void 0:e.color)||null!==(t=null==e?void 0:e.integer)&&void 0!==t&&t,a=(null==e?void 0:e.color)?0:null!==(r=null==e?void 0:e.min)&&void 0!==r?r:-1/0,n=(null==e?void 0:e.color)?16777215:null!==(o=null==e?void 0:e.max)&&void 0!==o?o:1/0,c=void 0!==(null==e?void 0:e.min)&&void 0!==(null==e?void 0:e.max);return _(m({},Qe.Base),{type:()=>"number",default:()=>a>0?a:0,validate(e,t,r,o){return o.loose&&"number"!=typeof t&&(t=this.default()),"number"!=typeof t?r.add(e,"error.expected_number"):i&&!Number.isInteger(t)?r.add(e,"error.expected_integer"):c&&(tn)?r.add(e,"error.invalid_number_range.between",t,a,n):tn&&r.add(e,"error.invalid_number_range.larger",t,n),t},hook(t,r,...o){var s;return(null!==(s=t.number)&&void 0!==s?s:t.base).call(t,{node:this,integer:i,min:a,max:n,between:c,config:null!=e?e:{}},r,...o)}})};var et={},tt={};function rt(e){return e.replace(/(\\|")/g,"\\$1")}Object.defineProperty(tt,"__esModule",{value:!0}),tt.quoteString=tt.escapeString=void 0,tt.escapeString=rt,tt.quoteString=function(e){return`"${rt(e)}"`},function(e){Object.defineProperty(e,"__esModule",{value:!0}),e.ObjectNode=e.Case=e.Switch=void 0;const t=Ee,r=Re,o=Te,i=tt;e.Switch=Symbol("switch"),e.Case=Symbol("case"),e.ObjectNode=(a,n)=>{var d,u;const f=a,{[d=e.Switch]:g,[u=e.Case]:b}=f,h=((e,t)=>{var r={};for(var o in e)s.call(e,o)&&t.indexOf(o)<0&&(r[o]=e[o]);if(null!=e&&c)for(var o of c(e))t.indexOf(o)<0&&l.call(e,o)&&(r[o]=e[o]);return r})(f,[p(d),p(u)]),y=e=>{if(void 0===g)return h;const t=r.relativePath(e,g).get(),o=b[t];return m(m({},h),o)},v=(e,t)=>{var o;const i=g?r.relativePath(e,g).get():void 0,a=g&&null!==(o=b[i])&&void 0!==o?o:{},c=Object.keys(a),s=(null==n?void 0:n.context)?new r.ModelPath(e.getModel(),new r.Path(e.getArray(),[n.context])):e;return(!(null==n?void 0:n.disableSwitchContext)&&i&&c.includes(t)?s.contextPush(i):s).push(t)};return _(m({},t.Base),{type:()=>"object",category:()=>null==n?void 0:n.category,default:()=>({}),keep(){return this.optional()},navigate(e,t){const r=t+1,o=e.getArray();if(o.length<=r)return this;const i=y(e.slice(0,r))[o[r]];return null==i?void 0:i.navigate(e,r)},pathPush:(e,t)=>v(e,t.toString()),suggest(e,t){const r=y(e),o=Object.keys("object"==typeof t?t:{});return Object.keys(r).filter((t=>r[t].enabled(e))).filter((e=>!o.includes(e))).map(i.quoteString)},validate(e,t,i,a){if(a.loose&&"object"!=typeof t&&(t=this.default()),"object"!=typeof t)return i.add(e,"error.expected_object"),t;let n=h;if(g){const i=r.relativePath(e,g);let c=i.get();if(e.equals(i.pop())){const r=i.last();c=h[r].validate(e.push(r),t[r],new o.Errors,a)}n=m(m({},n),b[c])}const c=Object.keys(n),s=c.filter((e=>!n[e].optional())),l=new Set([...s,...Object.keys(t)]);let d={};return l.forEach((r=>{if(c.includes(r)){if(!n[r].enabled(e))return;const o=n[r].validate(e.push(r),t[r],i,a);!n[r].keep()&&n[r].optional()&&(void 0===o||Array.isArray(o)&&0===o.length||o.constructor===Object&&0===Object.keys(o).length)?d[r]=void 0:(d[r]=o,e.getModel().set(e.push(r),o,!0))}else d[r]=t[r]})),d},hook(e,t,...r){var o;return(null!==(o=e.object)&&void 0!==o?o:e.base).call(e,{node:this,fields:h,filter:g,cases:b,getActiveFields:y,getChildModelPath:v},t,...r)}})}}(et);var ot={};Object.defineProperty(ot,"__esModule",{value:!0}),ot.Reference=void 0,ot.Reference=(e,t)=>({type(r){return e.get(t).type.bind(this)(r)},category(r){return e.get(t).category.bind(this)(r)},default(){return e.get(t).default.bind(this)()},transform:(r,o)=>e.get(t).transform(r,o),enabled(r){return e.get(t).enabled.bind(this)(r)},keep(){return e.get(t).keep.bind(this)()},optional(){return e.get(t).optional.bind(this)()},navigate(r,o){return e.get(t).navigate.bind(this)(r,o)},pathPush(r,o){return e.get(t).pathPush.bind(this)(r,o)},suggest(r,o){return e.get(t).suggest.bind(this)(r,o)},validate(r,o,i,a){return e.get(t).validate.bind(this)(r,o,i,a)},validationOption(r){return e.get(t).validationOption.bind(this)(r)},hook(r,o,...i){return e.get(t).hook.bind(this)(r,o,...i)},activeCase(r,o){return e.get(t).activeCase.bind(this)(r,o)},canUpdate(r,o){return e.get(t).canUpdate.bind(this)(r,o)},update(r,o){return e.get(t).update.bind(this)(r,o)}});var it={};Object.defineProperty(it,"__esModule",{value:!0}),it.StringNode=void 0;const at=Ee,nt=tt,ct=e=>{var t;return!!(null===(t=e)||void 0===t?void 0:t.enum)},st=e=>{var t;return!!(null===(t=e)||void 0===t?void 0:t.validator)};it.StringNode=(e,t)=>{const r=ct(t)?"string"==typeof t.enum?()=>{var r;return null!==(r=null==e?void 0:e.get(t.enum))&&void 0!==r?r:[]}:()=>t.enum:"resource"===(null==t?void 0:t.validator)?"string"==typeof t.params.pool?t.params.pool.startsWith("$")?()=>{var r;return null!==(r=null==e?void 0:e.get(t.params.pool.slice(1)))&&void 0!==r?r:[]}:()=>{var r;return null!==(r=null==e?void 0:e.get(t.params.pool))&&void 0!==r?r:[]}:()=>t.params.pool:()=>[];return _(m({},at.Base),{type:()=>"string",default:()=>"",validate(e,o,i,a){if(a.loose&&"string"!=typeof o&&(o=this.default()||void 0),"string"!=typeof o)return i.add(e,"error.expected_string"),o;if(st(t)&&("resource"===t.validator&&o.length>0&&!o.includes(":")&&(o="#"===o[0]?"#minecraft:"+o.slice(1):"minecraft:"+o),"resource"===t.validator&&("string"==typeof t.params.pool&&t.params.pool.startsWith("$")||t.params.allowTag&&"#"===o[0]||t.params.isDefinition||t.params.allowUnknown)))return o;if(ct(t)&&t.additional)return o;const n=r();return n.length>0&&!n.includes(o)&&i.add(e,"error.invalid_enum_option",o),o},suggest:()=>r().map(nt.quoteString),validationOption:()=>st(t)?t:void 0,hook(e,o,...i){var a;return(null!==(a=e.string)&&void 0!==a?a:e.base).call(e,{node:this,getValues:r,config:t},o,...i)}})};var lt={};Object.defineProperty(lt,"__esModule",{value:!0});var dt={};Object.defineProperty(dt,"__esModule",{value:!0}),dt.CollectionRegistry=dt.SchemaRegistry=void 0;dt.SchemaRegistry=class{constructor(){this.registry={}}register(e,t){this.registry[e]=t}get(e){const t=this.registry[e];return void 0===t&&console.error(`Tried to access schema "${e}", but that doesn't exist.`),t}};dt.CollectionRegistry=class{constructor(){this.registry={}}register(e,t){this.registry[e]=t}get(e){const t=this.registry[e];return void 0===t&&console.warn(`Tried to access collection "${e}", but that doesn't exist.`),null!=t?t:[]}};var mt={};Object.defineProperty(mt,"__esModule",{value:!0}),function(e){var t=Pe&&Pe.__createBinding||(Object.create?function(e,t,r,o){void 0===o&&(o=r),Object.defineProperty(e,o,{enumerable:!0,get:function(){return t[r]}})}:function(e,t,r,o){void 0===o&&(o=r),e[o]=t[r]}),r=Pe&&Pe.__exportStar||function(e,r){for(var o in e)"default"===o||r.hasOwnProperty(o)||t(r,e,o)};Object.defineProperty(e,"__esModule",{value:!0}),r(ze,e),r(Re,e),r(Te,e),r(Ee,e),r(Ue,e),r(He,e),r(Ke,e),r(Je,e),r(Ye,e),r(et,e),r(ot,e),r(it,e),r(Ge,e),r(lt,e),r(dt,e),r(mt,e)}(Be);var _t={},pt={};Object.defineProperty(pt,"__esModule",{value:!0}),pt.initCollections=void 0,pt.initCollections=function(e){e.register("advancement_trigger",["minecraft:bee_nest_destroyed","minecraft:bred_animals","minecraft:brewed_potion","minecraft:changed_dimension","minecraft:channeled_lightning","minecraft:construct_beacon","minecraft:consume_item","minecraft:cured_zombie_villager","minecraft:effects_changed","minecraft:enchanted_item","minecraft:enter_block","minecraft:entity_hurt_player","minecraft:entity_killed_player","minecraft:filled_bucket","minecraft:fishing_rod_hooked","minecraft:hero_of_the_village","minecraft:impossible","minecraft:inventory_changed","minecraft:item_durability_changed","minecraft:killed_by_crossbow","minecraft:levitation","minecraft:location","minecraft:nether_travel","minecraft:placed_block","minecraft:player_hurt_entity","minecraft:player_killed_entity","minecraft:recipe_unlocked","minecraft:shot_crossbow","minecraft:safely_harvest_honey","minecraft:slept_in_bed","minecraft:slide_down_block","minecraft:summoned_entity","minecraft:tame_animal","minecraft:tick","minecraft:used_ender_eye","minecraft:used_totem","minecraft:villager_trade","minecraft:voluntary_exile"]),e.register("loot_pool_entry_type",["minecraft:empty","minecraft:item","minecraft:tag","minecraft:loot_table","minecraft:alternatives","minecraft:sequence","minecraft:group","minecraft:dynamic"]),e.register("loot_condition_type",["minecraft:alternative","minecraft:inverted","minecraft:reference","minecraft:entity_properties","minecraft:block_state_property","minecraft:match_tool","minecraft:damage_source_properties","minecraft:location_check","minecraft:weather_check","minecraft:time_check","minecraft:entity_scores","minecraft:random_chance","minecraft:random_chance_with_looting","minecraft:table_bonus","minecraft:killed_by_player","minecraft:survives_explosion"]),e.register("loot_function_type",["minecraft:set_count","minecraft:set_damage","minecraft:set_name","minecraft:set_lore","minecraft:set_nbt","minecraft:set_attributes","minecraft:set_contents","minecraft:enchant_randomly","minecraft:enchant_with_levels","minecraft:looting_enchant","minecraft:limit_count","minecraft:furnace_smelt","minecraft:explosion_decay","minecraft:fill_player_head","minecraft:copy_name","minecraft:copy_nbt","minecraft:copy_state","minecraft:apply_bonus","minecraft:exploration_map","minecraft:set_stew_effect"]),e.register("attribute",["generic.maxHealth","generic.followRange","generic.knockbackResistance","generic.movementSpeed","generic.attackDamage","generic.armor","generic.armorToughness","generic.attackSpeed","generic.luck","horse.jumpStrength","generic.attackKnockback","generic.flyingSpeed","zombie.spawnReinforcements"]),e.register("structure_feature",["pillager_outpost","mineshaft","mansion","jungle_pyramid","desert_pyramid","igloo","shipwreck","swamp_hut","stronghold","monument","ocean_ruin","fortress","endcity","buried_treasure","village"]),e.register("dimension",["minecraft:overworld","minecraft:the_nether","minecraft:the_end"]),e.register("keybind",["key.advancements","key.attack","key.back","key.chat","key.command","key.drop","key.forward","key.fullscreen","key.hotbar.1","key.hotbar.2","key.hotbar.3","key.hotbar.4","key.hotbar.5","key.hotbar.6","key.hotbar.7","key.hotbar.8","key.hotbar.9","key.inventory","key.jump","key.left","key.loadToolbarActivator","key.pickItem","key.playerlist","key.right","key.saveToolbarActivator","key.screenshot","key.smoothCamera","key.sneak","key.spectatorOutlines","key.sprint","key.swapOffhand","key.togglePerspective","key.use"]),e.register("slot",["mainhand","offhand","head","chest","legs","feet"]),e.register("gamemode",["survival","creative","adventure","spectator"]),e.register("entity_source",["this","direct_killer","killer","killer_player"]),e.register("copy_source",["block_entity","this","killer","killer_player"]),e.register("loot_table_apply_bonus_formula",["minecraft:uniform_bonus_count","minecraft:binomial_with_bonus_count","minecraft:ore_drops"]),e.register("map_decoration",["mansion","monument","player","frame","red_marker","blue_marker","target_x","target_point","player_off_map","player_off_limits","red_x","banner_white","banner_orange","banner_magenta","banner_light_blue","banner_yellow","banner_lime","banner_pink","banner_gray","banner_light_gray","banner_cyan","banner_purple","banner_blue","banner_brown","banner_green","banner_red","banner_black"]),e.register("recipe_group",["bed","light_gray_dye","iron_ingot","wooden_stairs","black_dye","stained_terracotta","dyed_bed","magenta_dye","bark","rabbit_stew","light_blue_dye","wooden_fence_gate","planks","stained_glass","wooden_door","stained_glass_pane","wooden_fence","sticks","concrete_powder","wooden_pressure_plate","boat","brown_dye","yellow_dye","bonemeal","red_dye","wooden_trapdoor","wooden_button","gold_ingot","pink_dye","wooden_slab","orange_dye","carpet","sign","wool","sugar","blue_dye","white_dye","banner","netherite_ingot"]),e.register("loot_context_type",["minecraft:empty","minecraft:chest","minecraft:command","minecraft:selector","minecraft:fishing","minecraft:entity","minecraft:gift","minecraft:barter","minecraft:advancement_reward","minecraft:advancement_entity","minecraft:generic","minecraft:block"])};var ut={},ft={},gt={};!function(e){Object.defineProperty(e,"__esModule",{value:!0}),e.initCommonSchemas=e.Range=e.ConditionCases=void 0;const t=Be;e.initCommonSchemas=function(r,o){const i=t.StringNode.bind(void 0,o),a=t.Reference.bind(void 0,r);r.register("block_state",t.Mod(t.ObjectNode({Name:i({validator:"resource",params:{pool:"block"}}),Properties:t.Opt(t.MapNode(i(),i(),{validation:{validator:"block_state_map",params:{id:["pop",{push:"Name"}]}}}))},{context:"block_state"}),{default:()=>({Name:"minecraft:stone"})})),r.register("fluid_state",t.Mod(t.ObjectNode({Name:i({validator:"resource",params:{pool:"fluid"}}),Properties:t.Opt(t.MapNode(i(),i()))},{context:"fluid_state"}),{default:()=>({Name:"minecraft:water",Properties:{level:"0"}})})),r.register("block_pos",t.Mod(t.ListNode(t.NumberNode({integer:!0})),{default:()=>[0,0,0]})),e.Range=e=>t.ChoiceNode([...(null==e?void 0:e.forceRange)?[]:[{type:"number",node:t.NumberNode(e),change:e=>{var t,r,o;return void 0===e?0:null!==(o=null!==(r=null!==(t=e.min)&&void 0!==t?t:e.max)&&void 0!==r?r:e.n)&&void 0!==o?o:0}}],{type:"object",priority:-1,node:t.ObjectNode({min:(null==e?void 0:e.bounds)?t.NumberNode(e):t.Opt(t.NumberNode(e)),max:(null==e?void 0:e.bounds)?t.NumberNode(e):t.Opt(t.NumberNode(e))},{context:"range"}),change:e=>({min:"number"==typeof e?e:void 0===e?1:e.n,max:"number"==typeof e?e:void 0===e?1:e.n})},...(null==e?void 0:e.allowBinomial)?[{type:"binomial",node:t.ObjectNode({type:i({enum:["minecraft:binomial"]}),n:t.NumberNode({integer:!0,min:0}),p:t.NumberNode({min:0,max:1})},{context:"range"}),match:e=>void 0!==e&&"minecraft:binomial"===e.type,change:e=>{var t,r;return{type:"minecraft:binomial",n:"number"==typeof e?e:void 0===e?1:null!==(r=null!==(t=e.min)&&void 0!==t?t:e.max)&&void 0!==r?r:1,p:.5}}}]:[]],{choiceContext:"range"}),e.ConditionCases={"minecraft:alternative":{terms:t.ListNode(a("condition"))},"minecraft:block_state_property":{block:i({validator:"resource",params:{pool:"block"}}),properties:t.MapNode(i(),i(),{validation:{validator:"block_state_map",params:{id:["pop",{push:"block"}]}}})},"minecraft:damage_source_properties":{predicate:a("damage_source_predicate")},"minecraft:entity_properties":{entity:i({enum:"entity_source"}),predicate:a("entity_predicate")},"minecraft:entity_scores":{entity:i({enum:"entity_source"}),scores:t.MapNode(i({validator:"objective"}),e.Range({forceRange:!0,bounds:!0}))},"minecraft:inverted":{term:a("condition")},"minecraft:killed_by_player":{inverse:t.Opt(t.BooleanNode())},"minecraft:location_check":{offsetX:t.Opt(t.NumberNode({integer:!0})),offsetY:t.Opt(t.NumberNode({integer:!0})),offsetZ:t.Opt(t.NumberNode({integer:!0})),predicate:a("location_predicate")},"minecraft:match_tool":{predicate:a("item_predicate")},"minecraft:random_chance":{chance:t.NumberNode({min:0,max:1})},"minecraft:random_chance_with_looting":{chance:t.NumberNode({min:0,max:1}),looting_multiplier:t.NumberNode()},"minecraft:requirements":{terms:t.ListNode(a("condition"))},"minecraft:reference":{name:i({validator:"resource",params:{pool:"$predicate"}})},"minecraft:table_bonus":{enchantment:i({validator:"resource",params:{pool:"enchantment"}}),chances:t.ListNode(t.NumberNode({min:0,max:1}))},"minecraft:time_check":{value:e.Range(),period:t.Opt(t.NumberNode())},"minecraft:weather_check":{raining:t.Opt(t.BooleanNode()),thundering:t.Opt(t.BooleanNode())}}}}(gt);var bt={};!function(e){Object.defineProperty(e,"__esModule",{value:!0}),e.initPredicatesSchemas=e.LocationFields=void 0;const t=Be,r=gt;e.initPredicatesSchemas=function(o,i){const a=t.Reference.bind(void 0,o),n=t.StringNode.bind(void 0,i),c=t.ChoiceNode([{type:"string",node:n(),change:e=>"boolean"==typeof e||"number"==typeof e?e.toString():""},{type:"number",node:t.NumberNode(),change:e=>"string"==typeof e?parseInt(e):0},{type:"object",node:t.ObjectNode({min:t.Opt(t.NumberNode({integer:!0})),max:t.Opt(t.NumberNode({integer:!0}))}),change:e=>"number"==typeof e?{min:e,max:e}:{}},{type:"boolean",node:t.BooleanNode(),change:e=>"true"===e||1===e}]);o.register("item_predicate",t.ObjectNode({item:t.Opt(n({validator:"resource",params:{pool:"item"}})),tag:t.Opt(n({validator:"resource",params:{pool:"$tag/item"}})),count:t.Opt(r.Range()),durability:t.Opt(r.Range()),potion:t.Opt(n({validator:"resource",params:{pool:"potion"}})),nbt:t.Opt(n({validator:"nbt",params:{registry:{category:"minecraft:item",id:["pop",{push:"item"}]}}})),enchantments:t.Opt(t.ListNode(a("enchantment_predicate")))},{context:"item"})),o.register("enchantment_predicate",t.ObjectNode({enchantment:t.Opt(n({validator:"resource",params:{pool:"enchantment"}})),levels:t.Opt(r.Range())},{context:"enchantment"})),o.register("block_predicate",t.ObjectNode({block:t.Opt(n({validator:"resource",params:{pool:"block"}})),tag:t.Opt(n({validator:"resource",params:{pool:"$tag/block"}})),nbt:t.Opt(n({validator:"nbt",params:{registry:{category:"minecraft:block",id:["pop",{push:"block"}]}}})),state:t.Opt(t.MapNode(n(),c,{validation:{validator:"block_state_map",params:{id:["pop",{push:"block"}]}}}))},{context:"block"})),o.register("fluid_predicate",t.ObjectNode({fluid:t.Opt(n({validator:"resource",params:{pool:"fluid"}})),tag:t.Opt(n({validator:"resource",params:{pool:"$tag/fluid"}})),state:t.Opt(t.MapNode(n(),c))},{context:"fluid"})),e.LocationFields={position:t.Opt(t.ObjectNode({x:t.Opt(r.Range()),y:t.Opt(r.Range()),z:t.Opt(r.Range())})),biome:t.Opt(n({enum:"biome"})),feature:t.Opt(n({enum:"structure_feature"})),dimension:t.Opt(n({enum:"dimension"})),light:t.Opt(t.ObjectNode({light:t.Opt(r.Range({integer:!0,min:0,max:15}))})),block:t.Opt(a("block_predicate")),fluid:t.Opt(a("fluid_predicate"))},o.register("location_predicate",t.ObjectNode(e.LocationFields,{context:"location"})),o.register("statistic_predicate",t.ObjectNode({type:n({validator:"resource",params:{pool:"stat_type"}}),stat:n(),value:r.Range(),[t.Switch]:[{push:"type"}],[t.Case]:{"minecraft:mined":{stat:n({validator:"resource",params:{pool:"block"}})},"minecraft:crafted":{stat:n({validator:"resource",params:{pool:"item"}})},"minecraft:used":{stat:n({validator:"resource",params:{pool:"item"}})},"minecraft:broken":{stat:n({validator:"resource",params:{pool:"item"}})},"minecraft:picked_up":{stat:n({validator:"resource",params:{pool:"item"}})},"minecraft:dropped":{stat:n({validator:"resource",params:{pool:"item"}})},"minecraft:killed":{stat:n({validator:"resource",params:{pool:"entity_type"}})},"minecraft:killed_by":{stat:n({validator:"resource",params:{pool:"entity_type"}})},"minecraft:custom":{stat:n({validator:"resource",params:{pool:"custom_stat"}})}}})),o.register("player_predicate",t.ObjectNode({gamemode:t.Opt(n({enum:"gamemode"})),level:t.Opt(r.Range()),advancements:t.Opt(t.MapNode(n({validator:"resource",params:{pool:"$advancement"}}),t.ChoiceNode([{type:"boolean",node:t.BooleanNode(),change:e=>!0},{type:"object",node:t.MapNode(n(),t.BooleanNode())}]))),recipes:t.Opt(t.MapNode(n({validator:"resource",params:{pool:"$recipe"}}),t.BooleanNode())),stats:t.Opt(t.ListNode(a("statistic_predicate")))},{context:"player"})),o.register("status_effect_predicate",t.ObjectNode({amplifier:t.Opt(r.Range()),duration:t.Opt(r.Range()),ambient:t.Opt(t.BooleanNode()),visible:t.Opt(t.BooleanNode())},{context:"status_effect"})),o.register("distance_predicate",t.ObjectNode({x:t.Opt(r.Range()),y:t.Opt(r.Range()),z:t.Opt(r.Range()),absolute:t.Opt(r.Range()),horizontal:t.Opt(r.Range())},{context:"distance"})),o.register("entity_predicate",t.ObjectNode({type:t.Opt(n({validator:"resource",params:{pool:"entity_type",allowTag:!0}})),nbt:t.Opt(n({validator:"nbt",params:{registry:{category:"minecraft:entity",id:["pop",{push:"type"}]}}})),team:t.Opt(n({validator:"team"})),location:t.Opt(a("location_predicate")),distance:t.Opt(a("distance_predicate")),flags:t.Opt(t.ObjectNode({is_on_fire:t.Opt(t.BooleanNode()),is_sneaking:t.Opt(t.BooleanNode()),is_sprinting:t.Opt(t.BooleanNode()),is_swimming:t.Opt(t.BooleanNode()),is_baby:t.Opt(t.BooleanNode())})),equipment:t.Opt(t.MapNode(n({enum:"slot"}),a("item_predicate"))),player:t.Opt(a("player_predicate")),effects:t.Opt(t.MapNode(n({validator:"resource",params:{pool:"mob_effect"}}),a("status_effect_predicate")))},{context:"entity"})),o.register("damage_source_predicate",t.ObjectNode({is_explosion:t.Opt(t.BooleanNode()),is_fire:t.Opt(t.BooleanNode()),is_magic:t.Opt(t.BooleanNode()),is_projectile:t.Opt(t.BooleanNode()),is_lightning:t.Opt(t.BooleanNode()),bypasses_armor:t.Opt(t.BooleanNode()),bypasses_invulnerability:t.Opt(t.BooleanNode()),bypasses_magic:t.Opt(t.BooleanNode()),source_entity:t.Opt(a("entity_predicate")),direct_entity:t.Opt(a("entity_predicate"))},{context:"damage_source"})),o.register("damage_predicate",t.ObjectNode({dealt:t.Opt(r.Range()),taken:t.Opt(r.Range()),blocked:t.Opt(t.BooleanNode()),source_entity:t.Opt(a("entity_predicate")),type:t.Opt(a("damage_source_predicate"))},{context:"damage"}))}}(bt),Object.defineProperty(ft,"__esModule",{value:!0}),ft.initAdvancementSchemas=void 0;const ht=Be,yt=gt,vt=bt;ft.initAdvancementSchemas=function(e,t){const r=ht.Reference.bind(void 0,e),o=ht.StringNode.bind(void 0,t);e.register("advancement",ht.Mod(ht.ObjectNode({display:ht.Opt(ht.Mod(ht.ObjectNode({icon:ht.ObjectNode({item:o({validator:"resource",params:{pool:"item"}}),nbt:ht.Opt(o({validator:"nbt",params:{registry:{category:"minecraft:item",id:["pop",{push:"item"}]}}}))}),title:r("text_component"),description:r("text_component"),background:ht.Opt(o()),frame:ht.Opt(o({enum:["task","challenge","goal"]})),show_toast:ht.Opt(ht.BooleanNode()),announce_to_chat:ht.Opt(ht.BooleanNode()),hidden:ht.Opt(ht.BooleanNode())}),{default:()=>({icon:{item:"minecraft:stone"},title:"",description:""})})),parent:ht.Opt(o({validator:"resource",params:{pool:"$advancement"}})),criteria:ht.MapNode(o(),r("advancement_criteria")),requirements:ht.Opt(ht.ListNode(ht.ListNode(o()))),rewards:ht.Opt(ht.ObjectNode({function:ht.Opt(o({validator:"resource",params:{pool:"$function"}})),loot:ht.Opt(ht.ListNode(o({validator:"resource",params:{pool:"$loot_table"}}))),recipes:ht.Opt(ht.ListNode(o({validator:"resource",params:{pool:"$recipe"}}))),experience:ht.Opt(ht.NumberNode({integer:!0}))}))},{context:"advancement"}),{default:()=>({criteria:{requirement:{trigger:"minecraft:location"}}})})),e.register("advancement_criteria",ht.ObjectNode({trigger:o({validator:"resource",params:{pool:t.get("advancement_trigger")}}),conditions:ht.Opt(ht.ObjectNode({[ht.Switch]:["pop",{push:"trigger"}],[ht.Case]:{"minecraft:bee_nest_destroyed":{block:ht.Opt(o({validator:"resource",params:{pool:"block"}})),num_bees_inside:ht.Opt(ht.NumberNode({integer:!0})),item:ht.Opt(r("item_predicate"))},"minecraft:bred_animals":{parent:ht.Opt(r("entity_predicate")),partner:ht.Opt(r("entity_predicate")),child:ht.Opt(r("entity_predicate"))},"minecraft:brewed_potion":{potion:ht.Opt(o({validator:"resource",params:{pool:"potion"}}))},"minecraft:changed_dimension":{from:ht.Opt(o({enum:"dimension"})),to:ht.Opt(o({enum:"dimension"}))},"minecraft:channeled_lightning":{victims:ht.Opt(ht.ListNode(ht.Opt(r("entity_predicate"))))},"minecraft:construct_beacon":{level:ht.Opt(yt.Range())},"minecraft:consume_item":{item:ht.Opt(r("item_predicate"))},"minecraft:cured_zombie_villager":{villager:ht.Opt(r("entity_predicate")),zombie:ht.Opt(r("entity_predicate"))},"minecraft:effects_changed":{effects:ht.Opt(ht.MapNode(o({validator:"resource",params:{pool:"mob_effect"}}),ht.ObjectNode({amplifier:yt.Range(),duration:yt.Range()})))},"minecraft:enter_block":{block:ht.Opt(o({validator:"resource",params:{pool:"block"}})),state:ht.Opt(ht.MapNode(o(),o(),{validation:{validator:"block_state_map",params:{id:["pop",{push:"block"}]}}}))},"minecraft:enchanted_item":{levels:ht.Opt(yt.Range()),item:ht.Opt(r("item_predicate"))},"minecraft:entity_hurt_player":{damage:ht.Opt(r("damage_predicate"))},"minecraft:entity_killed_player":{entity:ht.Opt(r("entity_predicate")),killing_blow:ht.Opt(r("damage_source_predicate"))},"minecraft:filled_bucket":{item:ht.Opt(r("item_predicate"))},"minecraft:fishing_rod_hooked":{entity:ht.Opt(r("entity_predicate")),item:ht.Opt(r("item_predicate"))},"minecraft:hero_of_the_village":vt.LocationFields,"minecraft:inventory_changed":{slots:ht.Opt(ht.ObjectNode({empty:ht.Opt(yt.Range()),occupied:ht.Opt(yt.Range()),full:ht.Opt(yt.Range())})),items:ht.Opt(ht.ListNode(r("item_predicate")))},"minecraft:item_durability_changed":{delta:ht.Opt(yt.Range()),durability:ht.Opt(yt.Range()),item:ht.Opt(r("item_predicate"))},"minecraft:killed_by_crossbow":{unique_entity_types:ht.Opt(yt.Range()),victims:ht.Opt(ht.ListNode(ht.Opt(r("entity_predicate"))))},"minecraft:levitation":{distance:ht.Opt(yt.Range()),duration:ht.Opt(yt.Range())},"minecraft:location":vt.LocationFields,"minecraft:nether_travel":{distance:ht.Opt(yt.Range()),entered:ht.Opt(r("location_predicate")),exited:ht.Opt(r("location_predicate"))},"minecraft:placed_block":{block:ht.Opt(o({validator:"resource",params:{pool:"block"}})),state:ht.Opt(ht.MapNode(o(),o(),{validation:{validator:"block_state_map",params:{id:["pop",{push:"block"}]}}})),item:ht.Opt(r("item_predicate")),location:ht.Opt(r("location_predicate"))},"minecraft:player_hurt_entity":{damage:ht.Opt(r("damage_predicate")),entity:ht.Opt(r("entity_predicate"))},"minecraft:player_killed_entity":{entity:ht.Opt(r("entity_predicate")),killing_blow:ht.Opt(r("damage_source_predicate"))},"minecraft:recipe_unlocked":{recipe:o({validator:"resource",params:{pool:"$recipe"}})},"minecraft:safely_harvest_honey":{block:ht.Opt(ht.ObjectNode({block:ht.Opt(o({validator:"resource",params:{pool:"block"}})),tag:ht.Opt(o({validator:"resource",params:{pool:"$tag/block"}}))})),item:ht.Opt(r("item_predicate"))},"minecraft:slept_in_bed":vt.LocationFields,"minecraft:slide_down_block":{block:ht.Opt(o({validator:"resource",params:{pool:"block"}}))},"minecraft:shot_crossbow":{item:ht.Opt(r("item_predicate"))},"minecraft:summoned_entity":{entity:ht.Opt(r("entity_predicate"))},"minecraft:tame_animal":{entity:ht.Opt(r("entity_predicate"))},"minecraft:used_ender_eye":{distance:ht.Opt(yt.Range())},"minecraft:used_totem":{item:ht.Opt(r("item_predicate"))},"minecraft:villager_trade":{villager:ht.Opt(r("entity_predicate")),item:ht.Opt(r("item_predicate"))},"minecraft:voluntary_exile":vt.LocationFields}},{context:"criterion"}))},{category:"predicate",context:"criterion"}))};var Nt={};Object.defineProperty(Nt,"__esModule",{value:!0}),Nt.initConditionSchemas=void 0;const Ot=Be,kt=gt;Nt.initConditionSchemas=function(e,t){const r=Ot.Reference.bind(void 0,e),o=Ot.StringNode.bind(void 0,t);e.register("predicate",Ot.ObjectOrList(r("condition"),{choiceContext:"condition"})),e.register("condition",Ot.Mod(Ot.ObjectNode({condition:o({validator:"resource",params:{pool:"loot_condition_type"}}),[Ot.Switch]:[{push:"condition"}],[Ot.Case]:kt.ConditionCases},{category:"predicate",context:"condition"}),{default:()=>({condition:"minecraft:entity_properties",entity:"this"})}))};var xt={},wt={};Object.defineProperty(wt,"__esModule",{value:!0}),wt.LootFunctions=wt.LootConditions=wt.LootCopySources=wt.LootEntitySources=wt.LootTableTypes=void 0,wt.LootTableTypes=new Map([["minecraft:advancement_entity",{requires:[7,8],allows:[]}],["minecraft:advancement_reward",{requires:[7,8],allows:[]}],["minecraft:barter",{requires:[8],allows:[]}],["minecraft:block",{requires:[1,7,9],allows:[0,4,8]}],["minecraft:chest",{requires:[7],allows:[8]}],["minecraft:command",{requires:[7],allows:[8]}],["minecraft:empty",{requires:[],allows:[]}],["minecraft:entity",{requires:[2,7,8],allows:[3,5,6]}],["minecraft:fishing",{requires:[7,9],allows:[8]}],["minecraft:generic",{requires:[2,0,1,3,4,5,6,7,8,9],allows:[]}],["minecraft:gift",{requires:[7,8],allows:[]}],["minecraft:selector",{requires:[7],allows:[8]}]]),wt.LootEntitySources=new Map([["direct_killer",[3]],["killer",[5]],["killer_player",[5]],["this",[8]]]),wt.LootCopySources=new Map([["block_entity",[0]],["killer",[5]],["killer_player",[5]],["this",[8]]]),wt.LootConditions=new Map([["minecraft:alternative",[]],["minecraft:block_state_property",[1]],["minecraft:damage_source_properties",[2]],["minecraft:entity_properties",[7]],["minecraft:entity_scores",[]],["minecraft:inverted",[]],["minecraft:killed_by_player",[6]],["minecraft:location_check",[]],["minecraft:match_tool",[9]],["minecraft:random_chance",[]],["minecraft:random_chance_with_looting",[5]],["minecraft:reference",[]],["minecraft:survives_explosion",[4]],["minecraft:table_bonus",[9]],["minecraft:time_check",[]],["minecraft:weather_check",[]]]),wt.LootFunctions=new Map([["minecraft:apply_bonus",[9]],["minecraft:copy_name",[]],["minecraft:copy_nbt",[]],["minecraft:copy_state",[1]],["minecraft:enchant_randomly",[]],["minecraft:enchant_with_levels",[]],["minecraft:exploration_map",[7]],["minecraft:explosion_decay",[]],["minecraft:fill_player_head",[]],["minecraft:furnace_smelt",[]],["minecraft:limit_count",[]],["minecraft:looting_enchant",[5]],["minecraft:set_attributes",[]],["minecraft:set_contents",[]],["minecraft:set_count",[]],["minecraft:set_damage",[]],["minecraft:set_loot_table",[]],["minecraft:set_lore",[]],["minecraft:set_name",[]],["minecraft:set_nbt",[]],["minecraft:set_stew_effect",[]]]),Object.defineProperty(xt,"__esModule",{value:!0}),xt.initLootTableSchemas=void 0;const jt=Be,St=wt,Mt=gt;xt.initLootTableSchemas=function(e,t){const r=jt.Reference.bind(void 0,e),o=jt.StringNode.bind(void 0,t),i={conditions:jt.Opt(jt.ListNode(r("loot_condition")))},a=m({functions:jt.Opt(jt.ListNode(r("loot_function")))},i);function n(e,r,o){const i=[],a=o=>t.get(r).filter((t=>{var r;return(null!==(r=e.get(t))&&void 0!==r?r:[]).every((e=>o.includes(e)))}));for(const[t,{allows:n,requires:c}]of St.LootTableTypes){const e=[...n,...c];i.push({match:e=>e.getModel().get(new jt.Path(["type"]))===t,node:o(a(e))})}return i.push({match:e=>!0,node:o(r)}),jt.SwitchNode(i)}const c=n(St.LootConditions,"loot_condition_type",(e=>o({validator:"resource",params:{pool:e instanceof Array?e:"loot_condition_type"}}))),s=n(St.LootFunctions,"loot_function_type",(e=>o({validator:"resource",params:{pool:e instanceof Array?e:"loot_function_type"}}))),l=n(St.LootEntitySources,"entity_source",(e=>o({enum:e}))),d=n(St.LootCopySources,"copy_source",(e=>o({enum:e})));e.register("loot_table",jt.Mod(jt.ObjectNode({type:jt.Opt(o({validator:"resource",params:{pool:t.get("loot_context_type")}})),pools:jt.Opt(jt.ListNode(jt.Mod(jt.ObjectNode(m({rolls:Mt.Range({allowBinomial:!0,integer:!0}),bonus_rolls:jt.Opt(Mt.Range({integer:!0})),entries:jt.ListNode(r("loot_entry"))},a),{category:"pool",context:"loot_pool"}),{default:()=>({rolls:1,entries:[{type:"minecraft:item",name:"minecraft:stone"}]})}))),functions:jt.Opt(jt.ListNode(r("loot_function")))},{context:"loot_table"}),{default:()=>({pools:[{rolls:1,entries:[{type:"minecraft:item",name:"minecraft:stone"}]}]})}));const p={enabled:e=>{var t;return(null===(t=e.pop().get())||void 0===t?void 0:t.length)>1&&!["minecraft:alternatives","minecraft:group","minecraft:sequence"].includes(e.push("type").get())}};e.register("loot_entry",jt.Mod(jt.ObjectNode({type:o({validator:"resource",params:{pool:"loot_pool_entry_type"}}),weight:jt.Opt(jt.Mod(jt.NumberNode({integer:!0,min:1}),p)),quality:jt.Opt(jt.Mod(jt.NumberNode({integer:!0}),p)),[jt.Switch]:[{push:"type"}],[jt.Case]:{"minecraft:alternatives":m({children:jt.ListNode(r("loot_entry"))},a),"minecraft:dynamic":m({name:o()},a),"minecraft:group":m({children:jt.ListNode(r("loot_entry"))},a),"minecraft:item":m({name:o({validator:"resource",params:{pool:"item"}})},a),"minecraft:loot_table":m({name:o({validator:"resource",params:{pool:"$loot_table"}})},a),"minecraft:sequence":m({children:jt.ListNode(r("loot_entry"))},a),"minecraft:tag":m({name:o({validator:"resource",params:{pool:"$tag/item"}}),expand:jt.Opt(jt.BooleanNode())},a)}},{context:"loot_entry"}),{default:()=>({type:"minecraft:item",name:"minecraft:stone"})})),e.register("loot_function",jt.Mod(jt.ObjectNode({function:s,[jt.Switch]:[{push:"function"}],[jt.Case]:{"minecraft:apply_bonus":m({enchantment:o({validator:"resource",params:{pool:"enchantment"}}),formula:o({validator:"resource",params:{pool:t.get("loot_table_apply_bonus_formula")}}),parameters:jt.Mod(jt.ObjectNode({bonusMultiplier:jt.Mod(jt.NumberNode(),{enabled:e=>"minecraft:uniform_bonus_count"===e.pop().push("formula").get()}),extra:jt.Mod(jt.NumberNode(),{enabled:e=>"minecraft:binomial_with_bonus_count"===e.pop().push("formula").get()}),probability:jt.Mod(jt.NumberNode(),{enabled:e=>"minecraft:binomial_with_bonus_count"===e.pop().push("formula").get()})}),{enabled:e=>"minecraft:ore_drops"!==e.push("formula").get()})},i),"minecraft:copy_name":m({source:d},i),"minecraft:copy_nbt":m({source:d,ops:jt.ListNode(jt.ObjectNode({source:o({validator:"nbt_path",params:{category:{getter:"copy_source",path:["pop","pop","pop",{push:"source"}]}}}),target:o({validator:"nbt_path",params:{category:"minecraft:item"}}),op:o({enum:["replace","append","merge"]})},{context:"nbt_operation"}))},i),"minecraft:copy_state":m({block:o({validator:"resource",params:{pool:"block"}}),properties:jt.ListNode(o({validator:"block_state_key",params:{id:["pop","pop",{push:"block"}]}}))},i),"minecraft:enchant_randomly":m({enchantments:jt.Opt(jt.ListNode(o({validator:"resource",params:{pool:"enchantment"}})))},i),"minecraft:enchant_with_levels":m({levels:Mt.Range({allowBinomial:!0}),treasure:jt.Opt(jt.BooleanNode())},i),"minecraft:exploration_map":m({destination:jt.Opt(o({enum:"structure_feature"})),decoration:jt.Opt(o({enum:"map_decoration"})),zoom:jt.Opt(jt.NumberNode({integer:!0})),search_radius:jt.Opt(jt.NumberNode({integer:!0})),skip_existing_chunks:jt.Opt(jt.BooleanNode())},i),"minecraft:fill_player_head":m({entity:l},i),"minecraft:limit_count":m({limit:Mt.Range({bounds:!0})},i),"minecraft:looting_enchant":m({count:Mt.Range({bounds:!0}),limit:jt.Opt(jt.NumberNode({integer:!0}))},i),"minecraft:set_attributes":m({modifiers:jt.ListNode(r("attribute_modifier"))},i),"minecraft:set_contents":m({entries:jt.ListNode(r("loot_entry"))},i),"minecraft:set_count":m({count:Mt.Range({allowBinomial:!0})},i),"minecraft:set_damage":m({damage:Mt.Range({forceRange:!0})},i),"minecraft:set_loot_table":{name:o({validator:"resource",params:{pool:"$loot_table"}}),seed:jt.Opt(jt.NumberNode({integer:!0}))},"minecraft:set_lore":m({entity:jt.Opt(l),lore:jt.ListNode(r("text_component")),replace:jt.Opt(jt.BooleanNode())},i),"minecraft:set_name":m({entity:jt.Opt(l),name:jt.Opt(r("text_component"))},i),"minecraft:set_nbt":m({tag:o({validator:"nbt",params:{registry:{category:"minecraft:item"}}})},i),"minecraft:set_stew_effect":m({effects:jt.Opt(jt.ListNode(jt.ObjectNode({type:o({validator:"resource",params:{pool:"mob_effect"}}),duration:Mt.Range()})))},i)}},{category:"function",context:"function"}),{default:()=>({function:"minecraft:set_count",count:1})})),e.register("loot_condition",jt.Mod(jt.ObjectNode({condition:c,[jt.Switch]:[{push:"condition"}],[jt.Case]:_(m({},Mt.ConditionCases),{"minecraft:entity_properties":{entity:l,predicate:r("entity_predicate")},"minecraft:entity_scores":{entity:l,scores:jt.MapNode(o({validator:"objective"}),Mt.Range({bounds:!0}))}})},{category:"predicate",context:"condition"}),{default:()=>({condition:"minecraft:random_chance",chance:.5})})),e.register("attribute_modifier",jt.Mod(jt.ObjectNode({attribute:o({validator:"resource",params:{pool:"attribute"}}),name:o(),amount:Mt.Range({bounds:!0}),operation:o({enum:["addition","multiply_base","multiply_total"]}),slot:jt.StringOrList(o({enum:"slot"}))},{context:"attribute_modifier"}),{default:()=>({attribute:"minecraft:generic.max_health",name:"",amount:1,operation:"addition",slot:"mainhand"})}))};var Ct={};Object.defineProperty(Ct,"__esModule",{value:!0}),Ct.initPackMcmetaSchemas=void 0;const Pt=Be;Ct.initPackMcmetaSchemas=function(e,t){e.register("pack_mcmeta",Pt.Mod(Pt.ObjectNode({pack:Pt.Mod(Pt.ObjectNode({pack_format:Pt.Mod(Pt.NumberNode({integer:!0,min:5,max:5}),{default:()=>5}),description:Pt.Reference(e,"text_component")}),{default:()=>({pack_format:5,description:""})})}),{default:()=>({pack:{pack_format:5,description:""}})}))};var Lt={};Object.defineProperty(Lt,"__esModule",{value:!0}),Lt.initRecipeSchemas=void 0;const Bt=Be;Lt.initRecipeSchemas=function(e,t){const r=Bt.Reference.bind(void 0,e),o=Bt.StringNode.bind(void 0,t);e.register("recipe",Bt.Mod(Bt.ObjectNode({type:o({validator:"resource",params:{pool:"recipe_serializer"}}),[Bt.Switch]:[{push:"type"}],[Bt.Case]:{"minecraft:crafting_shaped":{group:Bt.Opt(o({enum:"recipe_group",additional:!0})),pattern:Bt.ListNode(o()),key:Bt.MapNode(o(),r("recipe_ingredient")),result:r("recipe_result")},"minecraft:crafting_shapeless":{group:Bt.Opt(o()),ingredients:Bt.ListNode(r("recipe_ingredient")),result:r("recipe_result")},"minecraft:smelting":{group:Bt.Opt(o()),ingredient:r("recipe_ingredient"),result:o({validator:"resource",params:{pool:"item"}}),experience:Bt.Opt(Bt.NumberNode()),cookingtime:Bt.Opt(Bt.Mod(Bt.NumberNode({integer:!0}),{default:()=>200}))},"minecraft:blasting":{group:Bt.Opt(o()),ingredient:r("recipe_ingredient"),result:o({validator:"resource",params:{pool:"item"}}),experience:Bt.Opt(Bt.NumberNode()),cookingtime:Bt.Opt(Bt.Mod(Bt.NumberNode({integer:!0}),{default:()=>100}))},"minecraft:smoking":{group:Bt.Opt(o()),ingredient:r("recipe_ingredient"),result:o({validator:"resource",params:{pool:"item"}}),experience:Bt.Opt(Bt.NumberNode()),cookingtime:Bt.Opt(Bt.Mod(Bt.NumberNode({integer:!0}),{default:()=>100}))},"minecraft:campfire_cooking":{group:Bt.Opt(o()),ingredient:r("recipe_ingredient"),result:o({validator:"resource",params:{pool:"item"}}),experience:Bt.Opt(Bt.NumberNode()),cookingtime:Bt.Opt(Bt.Mod(Bt.NumberNode({integer:!0}),{default:()=>100}))},"minecraft:stonecutting":{group:Bt.Opt(o()),ingredient:r("recipe_ingredient"),result:o({validator:"resource",params:{pool:"item"}}),count:Bt.NumberNode({integer:!0})},"minecraft:smithing":{group:Bt.Opt(o()),base:r("recipe_ingredient_object"),addition:r("recipe_ingredient_object"),result:r("recipe_result")}}},{context:"recipe"}),{default:()=>({type:"minecraft:crafting_shaped"})})),e.register("recipe_ingredient",Bt.Mod(Bt.ChoiceNode([{type:"object",node:r("recipe_ingredient_object"),change:e=>e[0]},{type:"list",node:Bt.ListNode(r("recipe_ingredient_object")),change:e=>[e]}]),{default:()=>({item:"minecraft:stone"})})),e.register("recipe_ingredient_object",Bt.Mod(Bt.ObjectNode({item:Bt.Opt(o({validator:"resource",params:{pool:"item"}})),tag:Bt.Opt(o({validator:"resource",params:{pool:"$tag/item"}}))}),{default:()=>({item:"minecraft:stone"})})),e.register("recipe_result",Bt.Mod(Bt.ObjectNode({item:o({validator:"resource",params:{pool:"item"}}),count:Bt.Opt(Bt.Mod(Bt.NumberNode({integer:!0}),{default:()=>1}))}),{default:()=>({item:"minecraft:stone"})}))};var zt={};Object.defineProperty(zt,"__esModule",{value:!0}),zt.initTagsSchemas=void 0;const Rt=Be;zt.initTagsSchemas=function(e,t){const r=Rt.StringNode.bind(void 0,t),o=e=>Rt.Mod(Rt.ObjectNode({replace:Rt.Opt(Rt.BooleanNode()),values:Rt.ListNode(Rt.ChoiceNode([{type:"string",node:r({validator:"resource",params:{pool:e,allowTag:!0}}),change:e=>e.id},{type:"object",node:Rt.ObjectNode({id:r({validator:"resource",params:{pool:e,allowTag:!0,allowUnknown:!0}}),required:Rt.BooleanNode()}),change:e=>({id:e})}]))},{context:"tag"}),{default:()=>({values:[]})});e.register("block_tag",o("block")),e.register("entity_type_tag",o("entity_type")),e.register("fluid_tag",o("fluid")),e.register("function_tag",o("$function")),e.register("item_tag",o("item"))};var At={};Object.defineProperty(At,"__esModule",{value:!0}),At.initTextComponentSchemas=void 0;const $t=Be;At.initTextComponentSchemas=function(e,t){const r=$t.Reference.bind(void 0,e),o=$t.StringNode.bind(void 0,t),i=e=>{var t;return e instanceof Array?i(e[0]):null!==(t=null==e?void 0:e.text)&&void 0!==t?t:"object"==typeof e?"":null==e?void 0:e.toString()};e.register("text_component",$t.Mod($t.ChoiceNode([{type:"object",node:r("text_component_object"),change:e=>e instanceof Array?"object"==typeof e[0]?e[0]:{text:i(e[0])}:"object"==typeof e?e:{text:i(e)}},{type:"list",node:r("text_component_list"),change:e=>[e]},{type:"string",priority:1,node:o(),change:i},{type:"number",node:$t.NumberNode(),change:e=>{const t=parseFloat(i(e));return isFinite(t)?t:e?1:0}},{type:"boolean",node:$t.BooleanNode(),change:e=>{const t=i(e);return"true"===t||"false"===t?"true"===t:!!t}}],{context:"text_component"}),{default:()=>({text:""})}));const a={bold:$t.Opt($t.BooleanNode()),italic:$t.Opt($t.BooleanNode()),underlined:$t.Opt($t.BooleanNode()),strikethrough:$t.Opt($t.BooleanNode()),obfuscated:$t.Opt($t.BooleanNode()),insertion:$t.Opt(o()),clickEvent:$t.Opt($t.ObjectNode({action:o({enum:["open_url","open_file","run_command","suggest_command","change_page","copy_to_clipboard"]}),[$t.Switch]:[{push:"action"}],[$t.Case]:{change_page:{value:o()},copy_to_clipboard:{value:o()},open_file:{value:o()},open_url:{value:o()},run_command:{value:o({validator:"command",params:{leadingSlash:!0,allowPartial:!0}})},suggest_command:{value:o({validator:"command",params:{leadingSlash:!0,allowPartial:!0}})}}})),hoverEvent:$t.Opt($t.ObjectNode({action:o({enum:["show_text","show_item","show_entity"]}),[$t.Switch]:[{push:"action"}],[$t.Case]:{show_text:{value:$t.Opt(r("text_component"))},show_item:{value:$t.Opt(o({validator:"nbt",params:{module:"util::InventoryItem"}}))},show_entity:{value:$t.Opt($t.ObjectNode({name:$t.Opt(o()),type:$t.Opt(o()),id:$t.Opt(o())}))}}})),extra:$t.Opt(r("text_component_list"))};e.register("text_component_object",$t.Mod($t.ChoiceNode([{type:"text",match:e=>"object"==typeof e,change:e=>({text:""}),priority:-1,node:$t.ObjectNode(m({text:o()},a))},{type:"translation",match:e=>void 0!==(null==e?void 0:e.translate),change:e=>({translate:""}),node:$t.ObjectNode(m({translate:o(),with:$t.Opt(r("text_component_list"))},a))},{type:"score",match:e=>void 0!==(null==e?void 0:e.score),change:e=>({score:{}}),node:$t.ObjectNode(m({score:$t.ObjectNode({name:o({validator:"entity",params:{amount:"single",type:"entities",isScoreHolder:!0}}),objective:o({validator:"objective"}),value:$t.Opt(o())})},a))},{type:"selector",match:e=>void 0!==(null==e?void 0:e.selector),change:e=>({selector:""}),node:$t.ObjectNode(m({selector:o({validator:"entity",params:{amount:"multiple",type:"entities"}})},a))},{type:"keybind",match:e=>void 0!==(null==e?void 0:e.keybind),change:e=>({keybind:""}),node:$t.ObjectNode(m({keybind:o({enum:"keybind",additional:!0})},a))},{type:"nbt",match:e=>void 0!==(null==e?void 0:e.nbt),change:e=>({nbt:""}),node:$t.ObjectNode(m({nbt:o({validator:"nbt_path"}),block:$t.Opt(o({validator:"vector",params:{dimension:3,isInteger:!0}})),entity:$t.Opt(o({validator:"entity",params:{amount:"single",type:"entities"}})),storage:$t.Opt(o({validator:"resource",params:{pool:"$storage"}})),interpret:$t.Opt($t.BooleanNode())},a))}],{context:"text_component_object",choiceContext:"text_component.object"}),{default:()=>({text:""})})),e.register("text_component_list",$t.Mod($t.ListNode(r("text_component")),{default:()=>[{text:""}]}))},Object.defineProperty(ut,"__esModule",{value:!0}),ut.initSchemas=void 0;const Tt=ft,qt=gt,Dt=Nt,It=xt,Ft=Ct,Et=bt,Ut=Lt,Wt=zt,Ht=At;ut.initSchemas=function(e,t){qt.initCommonSchemas(e,t),Et.initPredicatesSchemas(e,t),Tt.initAdvancementSchemas(e,t),Dt.initConditionSchemas(e,t),It.initLootTableSchemas(e,t),Ft.initPackMcmetaSchemas(e,t),Ut.initRecipeSchemas(e,t),Wt.initTagsSchemas(e,t),Ht.initTextComponentSchemas(e,t)};var Kt=Pe&&Pe.__createBinding||(Object.create?function(e,t,r,o){void 0===o&&(o=r),Object.defineProperty(e,o,{enumerable:!0,get:function(){return t[r]}})}:function(e,t,r,o){void 0===o&&(o=r),e[o]=t[r]}),Vt=Pe&&Pe.__setModuleDefault||(Object.create?function(e,t){Object.defineProperty(e,"default",{enumerable:!0,value:t})}:function(e,t){e.default=t}),Gt=Pe&&Pe.__importStar||function(e){if(e&&e.__esModule)return e;var t={};if(null!=e)for(var r in e)"default"!==r&&Object.prototype.hasOwnProperty.call(e,r)&&Kt(t,e,r);return Vt(t,e),t};Object.defineProperty(_t,"__esModule",{value:!0});var Xt=_t.getSchemas=_t.getCollections=_t.lootContext=void 0;const Jt=Be,Zt=pt,Yt=ut;var Qt=_t.lootContext=Gt(wt);var er=_t.getCollections=function(){const e=new Jt.CollectionRegistry;return Zt.initCollections(e),e};Xt=_t.getSchemas=function(e){const t=new Jt.SchemaRegistry;return Yt.initSchemas(t,e),t};var tr=Object.freeze(Object.assign(Object.create(null),_t,{[Symbol.toStringTag]:"Module",get getSchemas(){return Xt},get getCollections(){return er},get lootContext(){return Qt},default:_t})),rr={},or={};Object.defineProperty(or,"__esModule",{value:!0}),or.initCollections=void 0,or.initCollections=function(e){e.register("advancement_trigger",["minecraft:bee_nest_destroyed","minecraft:bred_animals","minecraft:brewed_potion","minecraft:changed_dimension","minecraft:channeled_lightning","minecraft:construct_beacon","minecraft:consume_item","minecraft:cured_zombie_villager","minecraft:effects_changed","minecraft:enchanted_item","minecraft:enter_block","minecraft:entity_hurt_player","minecraft:entity_killed_player","minecraft:filled_bucket","minecraft:fishing_rod_hooked","minecraft:hero_of_the_village","minecraft:impossible","minecraft:inventory_changed","minecraft:item_durability_changed","minecraft:item_used_on_block","minecraft:killed_by_crossbow","minecraft:levitation","minecraft:location","minecraft:nether_travel","minecraft:placed_block","minecraft:player_generates_container_loot","minecraft:player_hurt_entity","minecraft:player_interacted_with_entity","minecraft:player_killed_entity","minecraft:recipe_unlocked","minecraft:shot_crossbow","minecraft:slept_in_bed","minecraft:slide_down_block","minecraft:summoned_entity","minecraft:tame_animal","minecraft:target_hit","minecraft:tick","minecraft:thrown_item_picked_up_by_entity","minecraft:used_ender_eye","minecraft:used_totem","minecraft:villager_trade","minecraft:voluntary_exile"]),e.register("dimension",["minecraft:overworld","minecraft:the_nether","minecraft:the_end"]),e.register("dimension_type",["minecraft:overworld","minecraft:the_nether","minecraft:the_end"]),e.register("keybind",["key.advancements","key.attack","key.back","key.chat","key.command","key.drop","key.forward","key.fullscreen","key.hotbar.1","key.hotbar.2","key.hotbar.3","key.hotbar.4","key.hotbar.5","key.hotbar.6","key.hotbar.7","key.hotbar.8","key.hotbar.9","key.inventory","key.jump","key.left","key.loadToolbarActivator","key.pickItem","key.playerlist","key.right","key.saveToolbarActivator","key.screenshot","key.smoothCamera","key.sneak","key.spectatorOutlines","key.sprint","key.swapOffhand","key.togglePerspective","key.use"]),e.register("slot",["mainhand","offhand","head","chest","legs","feet"]),e.register("gamemode",["survival","creative","adventure","spectator"]),e.register("worldgen/noise_settings",["minecraft:overworld","minecraft:nether","minecraft:end","minecraft:amplified","minecraft:caves","minecraft:floating_islands"]),e.register("entity_source",["this","direct_killer","killer","killer_player"]),e.register("copy_source",["block_entity","this","killer","killer_player"]),e.register("loot_table_apply_bonus_formula",["minecraft:uniform_bonus_count","minecraft:binomial_with_bonus_count","minecraft:ore_drops"]),e.register("map_decoration",["mansion","monument","player","frame","red_marker","blue_marker","target_x","target_point","player_off_map","player_off_limits","red_x","banner_white","banner_orange","banner_magenta","banner_light_blue","banner_yellow","banner_lime","banner_pink","banner_gray","banner_light_gray","banner_cyan","banner_purple","banner_blue","banner_brown","banner_green","banner_red","banner_black"]),e.register("map_feature",["bastion_remnant","buried_treasure","desert_pyramid","endcity","fortress","igloo","jungle_pyramid","mansion","mineshaft","monument","nether_fossil","ocean_ruin","pillager_outpost","ruined_portal","shipwreck","stronghold","swamp_hut","village"]),e.register("recipe_group",["bed","light_gray_dye","iron_ingot","wooden_stairs","black_dye","stained_terracotta","dyed_bed","magenta_dye","bark","rabbit_stew","light_blue_dye","wooden_fence_gate","planks","stained_glass","wooden_door","stained_glass_pane","wooden_fence","sticks","concrete_powder","wooden_pressure_plate","boat","brown_dye","yellow_dye","bonemeal","red_dye","wooden_trapdoor","wooden_button","gold_ingot","pink_dye","wooden_slab","orange_dye","carpet","sign","wool","sugar","blue_dye","white_dye","banner","netherite_ingot"]),e.register("worldgen/configured_feature",["minecraft:acacia","minecraft:bamboo_light","minecraft:bamboo_vegetation","minecraft:bamboo","minecraft:basalt_blobs","minecraft:basalt_pillar","minecraft:birch_bees_0002","minecraft:birch_bees_002","minecraft:birch_bees_005","minecraft:birch_other","minecraft:birch_tall","minecraft:birch","minecraft:blackstone_blobs","minecraft:blue_ice","minecraft:bonus_chest","minecraft:brown_mushroom_giant","minecraft:brown_mushroom_nether","minecraft:brown_mushroom_normal","minecraft:brown_mushroom_swamp","minecraft:brown_mushroom_taiga","minecraft:chorus_plant","minecraft:crimson_forest_vegetation","minecraft:crimson_fungi_planted","minecraft:crimson_fungi","minecraft:dark_forest_vegetation_brown","minecraft:dark_forest_vegetation_red","minecraft:dark_oak","minecraft:delta","minecraft:desert_well","minecraft:disk_clay","minecraft:disk_gravel","minecraft:disk_sand","minecraft:end_gateway_delayed","minecraft:end_gateway","minecraft:end_island_decorated","minecraft:end_island","minecraft:end_spike","minecraft:fancy_oak_bees_0002","minecraft:fancy_oak_bees_002","minecraft:fancy_oak_bees_005","minecraft:fancy_oak","minecraft:flower_default","minecraft:flower_forest","minecraft:flower_plain_decorated","minecraft:flower_plain","minecraft:flower_swamp","minecraft:flower_warm","minecraft:forest_flower_trees","minecraft:forest_flower_vegetation_common","minecraft:forest_flower_vegetation","minecraft:forest_rock","minecraft:fossil","minecraft:freeze_top_layer","minecraft:glowstone_extra","minecraft:glowstone","minecraft:huge_brown_mushroom","minecraft:huge_red_mushroom","minecraft:ice_patch","minecraft:ice_spike","minecraft:iceberg_blue","minecraft:iceberg_packed","minecraft:jungle_bush","minecraft:jungle_tree_no_vine","minecraft:jungle_tree","minecraft:kelp_cold","minecraft:kelp_warm","minecraft:lake_lava","minecraft:lake_water","minecraft:large_basalt_columns","minecraft:mega_jungle_tree","minecraft:mega_pine","minecraft:mega_spruce","minecraft:monster_room","minecraft:mushroom_field_vegetation","minecraft:nether_sprouts","minecraft:oak_badlands","minecraft:oak_bees_0002","minecraft:oak_bees_002","minecraft:oak_bees_005","minecraft:oak","minecraft:ore_andesite","minecraft:ore_blackstone","minecraft:ore_coal","minecraft:ore_debris_large","minecraft:ore_debris_small","minecraft:ore_diamond","minecraft:ore_diorite","minecraft:ore_dirt","minecraft:ore_emerald","minecraft:ore_gold_deltas","minecraft:ore_gold_extra","minecraft:ore_gold_nether","minecraft:ore_gold","minecraft:ore_granite","minecraft:ore_gravel_nether","minecraft:ore_gravel","minecraft:ore_infested","minecraft:ore_iron","minecraft:ore_lapis","minecraft:ore_magma","minecraft:ore_quartz_deltas","minecraft:ore_quartz_nether","minecraft:ore_redstone","minecraft:ore_soul_sand","minecraft:patch_berry_bush","minecraft:patch_berry_decorated","minecraft:patch_berry_sparse","minecraft:patch_brown_mushroom","minecraft:patch_cactus_decorated","minecraft:patch_cactus_desert","minecraft:patch_cactus","minecraft:patch_crimson_roots","minecraft:patch_dead_bush_2","minecraft:patch_dead_bush_badlands","minecraft:patch_dead_bush","minecraft:patch_fire","minecraft:patch_grass_badlands","minecraft:patch_grass_forest","minecraft:patch_grass_jungle","minecraft:patch_grass_normal","minecraft:patch_grass_plain","minecraft:patch_grass_savanna","minecraft:patch_grass_taiga_2","minecraft:patch_grass_taiga","minecraft:patch_large_fern","minecraft:patch_melon","minecraft:patch_pumpkin","minecraft:patch_red_mushroom","minecraft:patch_soul_fire","minecraft:patch_sugar_cane_badlands","minecraft:patch_sugar_cane_desert","minecraft:patch_sugar_cane_swamp","minecraft:patch_sugar_cane","minecraft:patch_sunflower","minecraft:patch_taiga_grass","minecraft:patch_tall_grass_2","minecraft:patch_tall_grass","minecraft:patch_waterlilly","minecraft:pile_hay","minecraft:pile_ice","minecraft:pile_melon","minecraft:pile_pumpkin","minecraft:pile_snow","minecraft:pine","minecraft:plain_vegetation","minecraft:red_mushroom_giant","minecraft:red_mushroom_nether","minecraft:red_mushroom_normal","minecraft:red_mushroom_swamp","minecraft:red_mushroom_taiga","minecraft:sea_pickle","minecraft:seagrass_cold","minecraft:seagrass_deep_cold","minecraft:seagrass_deep_warm","minecraft:seagrass_deep","minecraft:seagrass_normal","minecraft:seagrass_river","minecraft:seagrass_simple","minecraft:seagrass_swamp","minecraft:seagrass_warm","minecraft:small_basalt_columns","minecraft:spring_closed_double","minecraft:spring_closed","minecraft:spring_delta","minecraft:spring_lava_double","minecraft:spring_lava","minecraft:spring_open","minecraft:spring_water","minecraft:spruce_snowy","minecraft:spruce","minecraft:super_birch_bees_0002","minecraft:swamp_tree","minecraft:taiga_vegetation","minecraft:trees_birch","minecraft:trees_giant_spruce","minecraft:trees_giant","minecraft:trees_jungle_edge","minecraft:trees_jungle","minecraft:trees_mountain_edge","minecraft:trees_mountain","minecraft:trees_savanna","minecraft:trees_shattered_savanna","minecraft:trees_water","minecraft:twisting_vines","minecraft:vines","minecraft:void_start_platform","minecraft:warm_ocean_vegetation","minecraft:warped_forest_vegetation","minecraft:warped_fungi_planted","minecraft:warped_fungi","minecraft:weeping_vines"]),e.register("worldgen/configured_structure_feature",["minecraft:bastion_remnant","minecraft:buried_treasure","minecraft:desert_pyramid","minecraft:end_city","minecraft:fortress","minecraft:igloo","minecraft:jungle_pyramid","minecraft:mansion","minecraft:mineshaft_mesa","minecraft:mineshaft","minecraft:monument","minecraft:nether_fossil","minecraft:ocean_ruin_cold","minecraft:ocean_ruin_warm","minecraft:pillager_outpost","minecraft:ruined_portal_desert","minecraft:ruined_portal_jungle","minecraft:ruined_portal_mountain","minecraft:ruined_portal_nether","minecraft:ruined_portal_ocean","minecraft:ruined_portal_swamp","minecraft:ruined_portal","minecraft:shipwreck_beached","minecraft:shipwreck","minecraft:stronghold","minecraft:swamp_hut","minecraft:village_desert","minecraft:village_plains","minecraft:village_savanna","minecraft:village_snowy","minecraft:village_taiga"]),e.register("worldgen/configured_surface_builder",["minecraft:badlands","minecraft:basalt_deltas","minecraft:crimson_forest","minecraft:desert","minecraft:end","minecraft:eroded_badlands","minecraft:frozen_ocean","minecraft:full_sand","minecraft:giant_tree_taiga","minecraft:grass","minecraft:gravelly_mountain","minecraft:ice_spikes","minecraft:mountain","minecraft:mycelium","minecraft:nether","minecraft:nope","minecraft:ocean_sand","minecraft:shattered_savanna","minecraft:soul_sand_valley","minecraft:stone","minecraft:swamp","minecraft:warped_forest","minecraft:wooded_badlands"]),e.register("biome_category",["beach","desert","extreme_hills","forest","icy","jungle","mesa","mushroom","nether","none","ocean","plains","river","savanna","swamp","taiga","the_end"]),e.register("heightmap_type",["MOTION_BLOCKING","MOTION_BLOCKING_NO_LEAVES","OCEAN_FLOOR","OCEAN_FLOOR_WG","WORLD_SURFACE","WORLD_SURFACE_WG"]),e.register("generation_step",["air","liquid"]),e.register("loot_context_type",["minecraft:empty","minecraft:chest","minecraft:command","minecraft:selector","minecraft:fishing","minecraft:entity","minecraft:gift","minecraft:barter","minecraft:advancement_reward","minecraft:advancement_entity","minecraft:generic","minecraft:block"])};var ir={},ar={},nr={};!function(e){Object.defineProperty(e,"__esModule",{value:!0}),e.initCommonSchemas=e.UniformInt=e.Range=e.NoiseSettingsPresets=e.DefaultNoiseSettings=e.DimensionTypePresets=e.DefaultDimensionType=e.ConditionCases=void 0;const t=Be;e.DefaultDimensionType={ultrawarm:!1,natural:!0,piglin_safe:!1,respawn_anchor_works:!1,bed_works:!0,has_raids:!0,has_skylight:!0,has_ceiling:!1,coordinate_scale:1,ambient_light:0,logical_height:256,infiniburn:"minecraft:infiniburn_overworld"},e.DefaultNoiseSettings={name:"minecraft:overworld",bedrock_roof_position:-10,bedrock_floor_position:0,sea_level:63,disable_mob_generation:!1,noise:{density_factor:1,density_offset:-.46875,simplex_surface_noise:!0,random_density_offset:!0,size_horizontal:1,size_vertical:2,height:256,sampling:{xz_scale:1,y_scale:1,xz_factor:80,y_factor:160},top_slide:{target:-10,size:3,offset:0},bottom_slide:{target:-30,size:0,offset:0}},default_block:{Name:"minecraft:stone"},default_fluid:{Name:"minecraft:water",Properties:{level:"0"}}},e.initCommonSchemas=function(r,o){const i=t.StringNode.bind(void 0,o),a=t.Reference.bind(void 0,r);r.register("block_state",t.Mod(t.ObjectNode({Name:i({validator:"resource",params:{pool:"block"}}),Properties:t.Opt(t.MapNode(i(),i(),{validation:{validator:"block_state_map",params:{id:["pop",{push:"Name"}]}}}))},{context:"block_state"}),{default:()=>({Name:"minecraft:stone"})})),r.register("fluid_state",t.Mod(t.ObjectNode({Name:i({validator:"resource",params:{pool:"fluid"}}),Properties:t.Opt(t.MapNode(i(),i()))},{context:"fluid_state"}),{default:()=>({Name:"minecraft:water",Properties:{level:"0"}})})),r.register("block_pos",t.Mod(t.ListNode(t.NumberNode({integer:!0}),{minLength:3,maxLength:3}),{default:()=>[0,0,0]})),e.Range=e=>t.ChoiceNode([...(null==e?void 0:e.forceRange)?[]:[{type:"number",node:t.NumberNode(e),change:e=>{var t,r,o;return void 0===e?0:null!==(o=null!==(r=null!==(t=e.min)&&void 0!==t?t:e.max)&&void 0!==r?r:e.n)&&void 0!==o?o:0}}],{type:"object",priority:-1,node:t.ObjectNode({min:(null==e?void 0:e.bounds)?t.NumberNode(e):t.Opt(t.NumberNode(e)),max:(null==e?void 0:e.bounds)?t.NumberNode(e):t.Opt(t.NumberNode(e))},{context:"range"}),change:e=>({min:"number"==typeof e?e:void 0===e?1:e.n,max:"number"==typeof e?e:void 0===e?1:e.n})},...(null==e?void 0:e.allowBinomial)?[{type:"binomial",node:t.ObjectNode({type:i({enum:["minecraft:binomial"]}),n:t.NumberNode({integer:!0,min:0}),p:t.NumberNode({min:0,max:1})},{context:"range"}),match:e=>void 0!==e&&"minecraft:binomial"===e.type,change:e=>{var t,r;return{type:"minecraft:binomial",n:"number"==typeof e?e:void 0===e?1:null!==(r=null!==(t=e.min)&&void 0!==t?t:e.max)&&void 0!==r?r:1,p:.5}}}]:[]],{choiceContext:"range"}),e.UniformInt=e=>t.ChoiceNode([{type:"number",node:t.NumberNode({integer:!0,min:null==e?void 0:e.min,max:null==e?void 0:e.max}),change:e=>e.base},{type:"object",node:t.ObjectNode({base:t.NumberNode({integer:!0,min:null==e?void 0:e.min,max:null==e?void 0:e.max}),spread:t.NumberNode({integer:!0,min:0,max:null==e?void 0:e.maxSpread})}),change:e=>({base:e,spread:0})}],{context:"uniform_int"}),e.ConditionCases={"minecraft:alternative":{terms:t.ListNode(a("condition"))},"minecraft:block_state_property":{block:i({validator:"resource",params:{pool:"block"}}),properties:t.MapNode(i(),i(),{validation:{validator:"block_state_map",params:{id:["pop",{push:"block"}]}}})},"minecraft:damage_source_properties":{predicate:a("damage_source_predicate")},"minecraft:entity_properties":{entity:i({enum:"entity_source"}),predicate:a("entity_predicate")},"minecraft:entity_scores":{entity:i({enum:"entity_source"}),scores:t.MapNode(i({validator:"objective"}),e.Range({forceRange:!0}))},"minecraft:inverted":{term:a("condition")},"minecraft:killed_by_player":{inverse:t.Opt(t.BooleanNode())},"minecraft:location_check":{offsetX:t.Opt(t.NumberNode({integer:!0})),offsetY:t.Opt(t.NumberNode({integer:!0})),offsetZ:t.Opt(t.NumberNode({integer:!0})),predicate:a("location_predicate")},"minecraft:match_tool":{predicate:a("item_predicate")},"minecraft:random_chance":{chance:t.NumberNode({min:0,max:1})},"minecraft:random_chance_with_looting":{chance:t.NumberNode({min:0,max:1}),looting_multiplier:t.NumberNode()},"minecraft:reference":{name:i({validator:"resource",params:{pool:"$predicate"}})},"minecraft:table_bonus":{enchantment:i({validator:"resource",params:{pool:"enchantment"}}),chances:t.ListNode(t.NumberNode({min:0,max:1}))},"minecraft:time_check":{value:e.Range(),period:t.Opt(t.NumberNode())},"minecraft:weather_check":{raining:t.Opt(t.BooleanNode()),thundering:t.Opt(t.BooleanNode())}},e.DimensionTypePresets=r=>t.ObjectOrPreset(i({validator:"resource",params:{pool:"$dimension_type"}}),r,{"minecraft:overworld":e.DefaultDimensionType,"minecraft:the_nether":{name:"minecraft:the_nether",ultrawarm:!0,natural:!1,shrunk:!0,piglin_safe:!0,respawn_anchor_works:!0,bed_works:!1,has_raids:!1,has_skylight:!1,has_ceiling:!0,ambient_light:.1,fixed_time:18e3,logical_height:128,effects:"minecraft:the_nether",infiniburn:"minecraft:infiniburn_nether"},"minecraft:the_end":{name:"minecraft:the_end",ultrawarm:!1,natural:!1,shrunk:!1,piglin_safe:!1,respawn_anchor_works:!1,bed_works:!1,has_raids:!0,has_skylight:!1,has_ceiling:!1,ambient_light:0,fixed_time:6e3,logical_height:256,effects:"minecraft:the_end",infiniburn:"minecraft:infiniburn_end"}}),e.NoiseSettingsPresets=r=>t.ObjectOrPreset(i({validator:"resource",params:{pool:"$worldgen/noise_settings"}}),r,{"minecraft:overworld":e.DefaultNoiseSettings,"minecraft:nether":{name:"minecraft:nether",bedrock_roof_position:0,bedrock_floor_position:0,sea_level:32,disable_mob_generation:!0,noise:{density_factor:0,density_offset:.019921875,simplex_surface_noise:!1,random_density_offset:!1,size_horizontal:1,size_vertical:2,height:128,sampling:{xz_scale:1,y_scale:3,xz_factor:80,y_factor:60},top_slide:{target:120,size:3,offset:0},bottom_slide:{target:320,size:4,offset:-1}},default_block:{Name:"minecraft:netherrack"},default_fluid:{Name:"minecraft:lava",Properties:{level:"0"}}},"minecraft:end":{name:"minecraft:end",bedrock_roof_position:-10,bedrock_floor_position:-10,sea_level:0,disable_mob_generation:!0,noise:{density_factor:0,density_offset:0,simplex_surface_noise:!0,random_density_offset:!1,island_noise_override:!0,size_horizontal:2,size_vertical:1,height:128,sampling:{xz_scale:2,y_scale:1,xz_factor:80,y_factor:160},top_slide:{target:-3e3,size:64,offset:-46},bottom_slide:{target:-30,size:7,offset:1}},default_block:{Name:"minecraft:end_stone"},default_fluid:{Name:"minecraft:air"}},"minecraft:amplified":{name:"minecraft:amplified",bedrock_roof_position:-10,bedrock_floor_position:0,sea_level:63,disable_mob_generation:!1,noise:{density_factor:1,density_offset:-.46875,simplex_surface_noise:!0,random_density_offset:!0,amplified:!0,size_horizontal:1,size_vertical:2,height:256,sampling:{xz_scale:1,y_scale:1,xz_factor:80,y_factor:160},top_slide:{target:-10,size:3,offset:0},bottom_slide:{target:-30,size:0,offset:0}},default_block:{Name:"minecraft:stone"},default_fluid:{Name:"minecraft:water",Properties:{level:"0"}}},"minecraft:caves":{name:"minecraft:caves",bedrock_roof_position:0,bedrock_floor_position:0,sea_level:32,disable_mob_generation:!0,noise:{density_factor:0,density_offset:.019921875,simplex_surface_noise:!1,random_density_offset:!1,size_horizontal:1,size_vertical:2,height:128,sampling:{xz_scale:1,y_scale:3,xz_factor:80,y_factor:60},top_slide:{target:120,size:3,offset:0},bottom_slide:{target:320,size:4,offset:-1}},default_block:{Name:"minecraft:stone"},default_fluid:{Name:"minecraft:water",Properties:{level:"0"}}},"minecraft:floating_islands":{name:"minecraft:floating_islands",bedrock_roof_position:-10,bedrock_floor_position:-10,sea_level:0,disable_mob_generation:!0,noise:{density_factor:0,density_offset:0,simplex_surface_noise:!0,random_density_offset:!1,island_noise_override:!0,size_horizontal:2,size_vertical:1,height:128,sampling:{xz_scale:2,y_scale:1,xz_factor:80,y_factor:160},top_slide:{target:-3e3,size:64,offset:-46},bottom_slide:{target:-30,size:7,offset:1}},default_block:{Name:"minecraft:stone"},default_fluid:{Name:"minecraft:water",Properties:{level:"0"}}}})}}(nr),Object.defineProperty(ar,"__esModule",{value:!0}),ar.initAdvancementSchemas=void 0;const cr=Be,sr=nr;ar.initAdvancementSchemas=function(e,t){const r=cr.Reference.bind(void 0,e),o=cr.StringNode.bind(void 0,t),i=cr.ChoiceNode([{type:"object",node:cr.Opt(r("entity_predicate")),change:e=>{var t,r;return null!==(r=null===(t=e[0])||void 0===t?void 0:t.predicate)&&void 0!==r?r:{}}},{type:"list",node:cr.ListNode(r("condition")),change:e=>[{condition:"minecraft:entity_properties",predicate:e}]}],{context:"conditions"});e.register("advancement",cr.Mod(cr.ObjectNode({display:cr.Opt(cr.Mod(cr.ObjectNode({icon:cr.ObjectNode({item:o({validator:"resource",params:{pool:"item"}}),nbt:cr.Opt(o({validator:"nbt",params:{registry:{category:"minecraft:item",id:["pop",{push:"item"}]}}}))}),title:r("text_component"),description:r("text_component"),background:cr.Opt(o()),frame:cr.Opt(o({enum:["task","challenge","goal"]})),show_toast:cr.Opt(cr.BooleanNode()),announce_to_chat:cr.Opt(cr.BooleanNode()),hidden:cr.Opt(cr.BooleanNode())}),{default:()=>({icon:{item:"minecraft:stone"},title:"",description:""})})),parent:cr.Opt(o({validator:"resource",params:{pool:"$advancement"}})),criteria:cr.MapNode(o(),r("advancement_criteria")),requirements:cr.Opt(cr.ListNode(cr.ListNode(o()))),rewards:cr.Opt(cr.ObjectNode({function:cr.Opt(o({validator:"resource",params:{pool:"$function"}})),loot:cr.Opt(cr.ListNode(o({validator:"resource",params:{pool:"$loot_table"}}))),recipes:cr.Opt(cr.ListNode(o({validator:"resource",params:{pool:"$recipe"}}))),experience:cr.Opt(cr.NumberNode({integer:!0}))}))},{context:"advancement"}),{default:()=>({criteria:{requirement:{trigger:"minecraft:location"}}})})),e.register("advancement_criteria",cr.ObjectNode({trigger:o({validator:"resource",params:{pool:t.get("advancement_trigger")}}),conditions:cr.Opt(cr.ObjectNode({player:cr.Mod(i,{enabled:e=>"minecraft:impossible"!==e.pop().push("trigger").get()}),[cr.Switch]:["pop",{push:"trigger"}],[cr.Case]:{"minecraft:bee_nest_destroyed":{block:cr.Opt(o({validator:"resource",params:{pool:"block"}})),num_bees_inside:cr.Opt(cr.NumberNode({integer:!0})),item:cr.Opt(r("item_predicate"))},"minecraft:bred_animals":{parent:i,partner:i,child:i},"minecraft:brewed_potion":{potion:cr.Opt(o({validator:"resource",params:{pool:"potion"}}))},"minecraft:changed_dimension":{from:cr.Opt(o({validator:"resource",params:{pool:"$dimension"}})),to:cr.Opt(o({validator:"resource",params:{pool:"$dimension"}}))},"minecraft:channeled_lightning":{victims:cr.Opt(cr.ListNode(i))},"minecraft:construct_beacon":{level:cr.Opt(sr.Range())},"minecraft:consume_item":{item:cr.Opt(r("item_predicate"))},"minecraft:cured_zombie_villager":{villager:i,zombie:i},"minecraft:effects_changed":{effects:cr.Opt(cr.MapNode(o({validator:"resource",params:{pool:"mob_effect"}}),r("status_effect_predicate")))},"minecraft:enter_block":{block:cr.Opt(o({validator:"resource",params:{pool:"block"}})),state:cr.Opt(cr.MapNode(o(),o(),{validation:{validator:"block_state_map",params:{id:["pop",{push:"block"}]}}}))},"minecraft:enchanted_item":{levels:cr.Opt(sr.Range()),item:cr.Opt(r("item_predicate"))},"minecraft:entity_hurt_player":{damage:cr.Opt(r("damage_predicate"))},"minecraft:entity_killed_player":{entity:i,killing_blow:cr.Opt(r("damage_source_predicate"))},"minecraft:filled_bucket":{item:cr.Opt(r("item_predicate"))},"minecraft:fishing_rod_hooked":{entity:i,item:cr.Opt(r("item_predicate"))},"minecraft:hero_of_the_village":{location:cr.Opt(r("location_predicate"))},"minecraft:inventory_changed":{slots:cr.Opt(cr.ObjectNode({empty:cr.Opt(sr.Range()),occupied:cr.Opt(sr.Range()),full:cr.Opt(sr.Range())})),items:cr.Opt(cr.ListNode(r("item_predicate")))},"minecraft:item_durability_changed":{delta:cr.Opt(sr.Range()),durability:cr.Opt(sr.Range()),item:cr.Opt(r("item_predicate"))},"minecraft:item_used_on_block":{item:cr.Opt(r("item_predicate")),location:cr.Opt(r("location_predicate"))},"minecraft:killed_by_crossbow":{unique_entity_types:cr.Opt(sr.Range()),victims:cr.Opt(cr.ListNode(i))},"minecraft:levitation":{distance:cr.Opt(sr.Range()),duration:cr.Opt(sr.Range())},"minecraft:location":{location:cr.Opt(r("location_predicate"))},"minecraft:nether_travel":{distance:cr.Opt(sr.Range()),entered:cr.Opt(r("location_predicate")),exited:cr.Opt(r("location_predicate"))},"minecraft:placed_block":{block:cr.Opt(o({validator:"resource",params:{pool:"block"}})),state:cr.Opt(cr.MapNode(o(),o(),{validation:{validator:"block_state_map",params:{id:["pop",{push:"block"}]}}})),item:cr.Opt(r("item_predicate")),location:cr.Opt(r("location_predicate"))},"minecraft:player_generates_container_loot":{loot_table:o({validator:"resource",params:{pool:"$loot_table"}})},"minecraft:player_hurt_entity":{damage:cr.Opt(r("damage_predicate")),entity:i},"minecraft:player_interacted_with_entity":{item:cr.Opt(r("item_predicate")),entity:i},"minecraft:player_killed_entity":{entity:i,killing_blow:cr.Opt(r("damage_source_predicate"))},"minecraft:recipe_unlocked":{recipe:o({validator:"resource",params:{pool:"$recipe"}})},"minecraft:slept_in_bed":{location:cr.Opt(r("location_predicate"))},"minecraft:slide_down_block":{block:cr.Opt(o({validator:"resource",params:{pool:"block"}}))},"minecraft:shot_crossbow":{item:cr.Opt(r("item_predicate"))},"minecraft:summoned_entity":{entity:i},"minecraft:tame_animal":{entity:i},"minecraft:target_hit":{projectile:i,shooter:i,signal_strength:cr.Opt(sr.Range({integer:!0}))},"minecraft:thrown_item_picked_up_by_entity":{entity:cr.Opt(r("entity_predicate")),item:cr.Opt(r("item_predicate"))},"minecraft:used_ender_eye":{distance:cr.Opt(sr.Range())},"minecraft:used_totem":{item:cr.Opt(r("item_predicate"))},"minecraft:villager_trade":{villager:cr.Opt(r("entity_predicate")),item:cr.Opt(r("item_predicate"))},"minecraft:voluntary_exile":{location:r("location_predicate")}}},{context:"criterion"}))},{category:"predicate",context:"criterion"}))};var lr={};Object.defineProperty(lr,"__esModule",{value:!0}),lr.initConditionSchemas=void 0;const dr=Be,mr=nr;lr.initConditionSchemas=function(e,t){const r=dr.Reference.bind(void 0,e),o=dr.StringNode.bind(void 0,t);e.register("predicate",dr.ObjectOrList(r("condition"),{choiceContext:"condition"})),e.register("condition",dr.Mod(dr.ObjectNode({condition:o({validator:"resource",params:{pool:"loot_condition_type"}}),[dr.Switch]:[{push:"condition"}],[dr.Case]:mr.ConditionCases},{category:"predicate",context:"condition"}),{default:()=>({condition:"minecraft:entity_properties",entity:"this"})}))};var _r={};Object.defineProperty(_r,"__esModule",{value:!0}),_r.initDimensionSchemas=void 0;const pr=Be,ur=nr;_r.initDimensionSchemas=function(e,t){const r=pr.Reference.bind(void 0,e),o=pr.StringNode.bind(void 0,t),i=e=>pr.Mod(e,{enabled:e=>void 0===e.push("preset").get()});e.register("dimension",pr.Mod(pr.ObjectNode({type:ur.DimensionTypePresets(r("dimension_type")),generator:pr.ObjectNode({type:o({validator:"resource",params:{pool:"worldgen/chunk_generator"}}),[pr.Switch]:[{push:"type"}],[pr.Case]:{"minecraft:noise":{seed:pr.NumberNode({integer:!0}),settings:ur.NoiseSettingsPresets(r("noise_settings")),biome_source:pr.ObjectNode({type:o({validator:"resource",params:{pool:"worldgen/biome_source"}}),[pr.Switch]:[{push:"type"}],[pr.Case]:{"minecraft:fixed":{biome:o({validator:"resource",params:{pool:"$worldgen/biome"}})},"minecraft:multi_noise":{seed:pr.NumberNode({integer:!0}),preset:pr.Opt(o({enum:["nether"]})),altitude_noise:i(r("generator_biome_noise")),temperature_noise:i(r("generator_biome_noise")),humidity_noise:i(r("generator_biome_noise")),weirdness_noise:i(r("generator_biome_noise")),biomes:i(pr.Mod(pr.ListNode(r("generator_biome")),{default:()=>[{biome:"minecraft:plains"}]}))},"minecraft:checkerboard":{scale:pr.Opt(pr.NumberNode({integer:!0,min:0,max:62})),biomes:pr.ListNode(o({validator:"resource",params:{pool:"$worldgen/biome"}}))},"minecraft:the_end":{seed:pr.NumberNode({integer:!0})},"minecraft:vanilla_layered":{seed:pr.NumberNode({integer:!0}),large_biomes:pr.Opt(pr.BooleanNode()),legacy_biome_init_layer:pr.Opt(pr.BooleanNode())}}},{category:"predicate",disableSwitchContext:!0})},"minecraft:flat":{settings:pr.ObjectNode({biome:pr.Opt(o({validator:"resource",params:{pool:"$worldgen/biome"}})),lakes:pr.Opt(pr.BooleanNode()),features:pr.Opt(pr.BooleanNode()),layers:pr.ListNode(r("generator_layer")),structures:r("generator_structures")})}}},{disableSwitchContext:!0})},{category:"pool",context:"dimension"}),{default:()=>{const e=Math.floor(4294967296*Math.random())-2147483648;return{type:"minecraft:overworld",generator:{type:"minecraft:noise",seed:e,biome_source:{type:"minecraft:fixed",seed:e,biome:"minecraft:plains"},settings:"minecraft:overworld"}}}})),e.register("generator_biome",pr.Mod(pr.ObjectNode({biome:o({validator:"resource",params:{pool:"$worldgen/biome"}}),parameters:pr.ObjectNode({altitude:pr.NumberNode(),temperature:pr.NumberNode(),humidity:pr.NumberNode(),weirdness:pr.NumberNode(),offset:pr.NumberNode()})},{context:"generator_biome"}),{default:()=>({biome:"minecraft:plains",parameters:{altitude:0,temperature:0,humidity:0,weirdness:0,offset:0}})})),e.register("generator_biome_noise",pr.Mod(pr.ObjectNode({firstOctave:pr.NumberNode({integer:!0}),amplitudes:pr.ListNode(pr.NumberNode())},{context:"generator_biome_noise"}),{default:()=>({firstOctave:-7,amplitudes:[1,1]})}))};var fr={};Object.defineProperty(fr,"__esModule",{value:!0}),fr.initDimensionTypeSchemas=void 0;const gr=Be,br=nr;fr.initDimensionTypeSchemas=function(e,t){const r=gr.StringNode.bind(void 0,t);e.register("dimension_type",gr.Mod(gr.ObjectNode({name:gr.Mod(r({validator:"resource",params:{pool:"$dimension_type",isDefinition:!0}}),{enabled:e=>e.getArray().length>0}),ultrawarm:gr.BooleanNode(),natural:gr.BooleanNode(),piglin_safe:gr.BooleanNode(),respawn_anchor_works:gr.BooleanNode(),bed_works:gr.BooleanNode(),has_raids:gr.BooleanNode(),has_skylight:gr.BooleanNode(),has_ceiling:gr.BooleanNode(),coordinate_scale:gr.NumberNode({min:1e-5,max:3e7}),ambient_light:gr.NumberNode(),fixed_time:gr.Opt(gr.NumberNode({integer:!0})),logical_height:gr.NumberNode({integer:!0,min:0,max:256}),effects:gr.Opt(r({enum:["minecraft:overworld","minecraft:the_nether","minecraft:the_end"]})),infiniburn:r({validator:"resource",params:{pool:"$tag/block"}})},{context:"dimension_type"}),{default:()=>br.DefaultDimensionType}))};var hr={},yr={};Object.defineProperty(yr,"__esModule",{value:!0}),yr.LootFunctions=yr.LootConditions=yr.LootCopySources=yr.LootEntitySources=yr.LootTableTypes=void 0,yr.LootTableTypes=new Map([["minecraft:advancement_entity",{requires:[7,8],allows:[]}],["minecraft:advancement_reward",{requires:[7,8],allows:[]}],["minecraft:barter",{requires:[8],allows:[]}],["minecraft:block",{requires:[1,7,9],allows:[0,4,8]}],["minecraft:chest",{requires:[7],allows:[8]}],["minecraft:command",{requires:[7],allows:[8]}],["minecraft:empty",{requires:[],allows:[]}],["minecraft:entity",{requires:[2,7,8],allows:[3,5,6]}],["minecraft:fishing",{requires:[7,9],allows:[8]}],["minecraft:generic",{requires:[2,0,1,3,4,5,6,7,8,9],allows:[]}],["minecraft:gift",{requires:[7,8],allows:[]}],["minecraft:selector",{requires:[7],allows:[8]}]]),yr.LootEntitySources=new Map([["direct_killer",[3]],["killer",[5]],["killer_player",[5]],["this",[8]]]),yr.LootCopySources=new Map([["block_entity",[0]],["killer",[5]],["killer_player",[5]],["this",[8]]]),yr.LootConditions=new Map([["minecraft:alternative",[]],["minecraft:block_state_property",[1]],["minecraft:damage_source_properties",[2]],["minecraft:entity_properties",[7]],["minecraft:entity_scores",[]],["minecraft:inverted",[]],["minecraft:killed_by_player",[6]],["minecraft:location_check",[]],["minecraft:match_tool",[9]],["minecraft:random_chance",[]],["minecraft:random_chance_with_looting",[5]],["minecraft:reference",[]],["minecraft:survives_explosion",[4]],["minecraft:table_bonus",[9]],["minecraft:time_check",[]],["minecraft:weather_check",[]]]),yr.LootFunctions=new Map([["minecraft:apply_bonus",[9]],["minecraft:copy_name",[]],["minecraft:copy_nbt",[]],["minecraft:copy_state",[1]],["minecraft:enchant_randomly",[]],["minecraft:enchant_with_levels",[]],["minecraft:exploration_map",[7]],["minecraft:explosion_decay",[]],["minecraft:fill_player_head",[]],["minecraft:furnace_smelt",[]],["minecraft:limit_count",[]],["minecraft:looting_enchant",[5]],["minecraft:set_attributes",[]],["minecraft:set_contents",[]],["minecraft:set_count",[]],["minecraft:set_damage",[]],["minecraft:set_loot_table",[]],["minecraft:set_lore",[]],["minecraft:set_name",[]],["minecraft:set_nbt",[]],["minecraft:set_stew_effect",[]]]),Object.defineProperty(hr,"__esModule",{value:!0}),hr.initLootTableSchemas=void 0;const vr=Be,Nr=yr,Or=nr;hr.initLootTableSchemas=function(e,t){const r=vr.Reference.bind(void 0,e),o=vr.StringNode.bind(void 0,t),i={conditions:vr.Opt(vr.ListNode(r("loot_condition")))},a=m({functions:vr.Opt(vr.ListNode(r("loot_function")))},i);function n(e,r,o){const i=[],a=o=>t.get(r).filter((t=>{var r;return(null!==(r=e.get(t))&&void 0!==r?r:[]).every((e=>o.includes(e)))}));for(const[t,{allows:n,requires:c}]of Nr.LootTableTypes){const e=[...n,...c];i.push({match:e=>e.getModel().get(new vr.Path(["type"]))===t,node:o(a(e))})}return i.push({match:e=>!0,node:o(r)}),vr.SwitchNode(i)}const c=n(Nr.LootConditions,"loot_condition_type",(e=>o({validator:"resource",params:{pool:e instanceof Array?e:"loot_condition_type"}}))),s=n(Nr.LootFunctions,"loot_function_type",(e=>o({validator:"resource",params:{pool:e instanceof Array?e:"loot_function_type"}}))),l=n(Nr.LootEntitySources,"entity_source",(e=>o({enum:e}))),d=n(Nr.LootCopySources,"copy_source",(e=>o({enum:e})));e.register("loot_table",vr.Mod(vr.ObjectNode({type:vr.Opt(o({validator:"resource",params:{pool:t.get("loot_context_type")}})),pools:vr.Opt(vr.ListNode(vr.Mod(vr.ObjectNode(m({rolls:Or.Range({allowBinomial:!0,integer:!0}),bonus_rolls:vr.Opt(Or.Range({integer:!0})),entries:vr.ListNode(r("loot_entry"))},a),{category:"pool",context:"loot_pool"}),{default:()=>({rolls:1,entries:[{type:"minecraft:item",name:"minecraft:stone"}]})}))),functions:vr.Opt(vr.ListNode(r("loot_function")))},{context:"loot_table"}),{default:()=>({pools:[{rolls:1,entries:[{type:"minecraft:item",name:"minecraft:stone"}]}]})}));const p={enabled:e=>{var t;return(null===(t=e.pop().get())||void 0===t?void 0:t.length)>1&&!["minecraft:alternatives","minecraft:group","minecraft:sequence"].includes(e.push("type").get())}};e.register("loot_entry",vr.Mod(vr.ObjectNode({type:o({validator:"resource",params:{pool:"loot_pool_entry_type"}}),weight:vr.Opt(vr.Mod(vr.NumberNode({integer:!0,min:1}),p)),quality:vr.Opt(vr.Mod(vr.NumberNode({integer:!0}),p)),[vr.Switch]:[{push:"type"}],[vr.Case]:{"minecraft:alternatives":m({children:vr.ListNode(r("loot_entry"))},a),"minecraft:dynamic":m({name:o()},a),"minecraft:group":m({children:vr.ListNode(r("loot_entry"))},a),"minecraft:item":m({name:o({validator:"resource",params:{pool:"item"}})},a),"minecraft:loot_table":m({name:o({validator:"resource",params:{pool:"$loot_table"}})},a),"minecraft:sequence":m({children:vr.ListNode(r("loot_entry"))},a),"minecraft:tag":m({name:o({validator:"resource",params:{pool:"$tag/item"}}),expand:vr.Opt(vr.BooleanNode())},a)}},{context:"loot_entry"}),{default:()=>({type:"minecraft:item",name:"minecraft:stone"})})),e.register("loot_function",vr.Mod(vr.ObjectNode({function:s,[vr.Switch]:[{push:"function"}],[vr.Case]:(()=>{const e={"minecraft:apply_bonus":{enchantment:o({validator:"resource",params:{pool:"enchantment"}}),formula:o({validator:"resource",params:{pool:t.get("loot_table_apply_bonus_formula")}}),parameters:vr.Mod(vr.ObjectNode({bonusMultiplier:vr.Mod(vr.NumberNode(),{enabled:e=>"minecraft:uniform_bonus_count"===e.pop().push("formula").get()}),extra:vr.Mod(vr.NumberNode(),{enabled:e=>"minecraft:binomial_with_bonus_count"===e.pop().push("formula").get()}),probability:vr.Mod(vr.NumberNode(),{enabled:e=>"minecraft:binomial_with_bonus_count"===e.pop().push("formula").get()})}),{enabled:e=>"minecraft:ore_drops"!==e.push("formula").get()})},"minecraft:copy_name":{source:d},"minecraft:copy_nbt":{source:d,ops:vr.ListNode(vr.ObjectNode({source:o({validator:"nbt_path",params:{category:{getter:"copy_source",path:["pop","pop","pop",{push:"source"}]}}}),target:o({validator:"nbt_path",params:{category:"minecraft:item"}}),op:o({enum:["replace","append","merge"]})},{context:"nbt_operation"}))},"minecraft:copy_state":{block:o({validator:"resource",params:{pool:"block"}}),properties:vr.ListNode(o({validator:"block_state_key",params:{id:["pop","pop",{push:"block"}]}}))},"minecraft:enchant_randomly":{enchantments:vr.Opt(vr.ListNode(o({validator:"resource",params:{pool:"enchantment"}})))},"minecraft:enchant_with_levels":{levels:Or.Range({allowBinomial:!0}),treasure:vr.Opt(vr.BooleanNode())},"minecraft:exploration_map":{destination:vr.Opt(o({enum:"map_feature"})),decoration:vr.Opt(o({enum:"map_decoration"})),zoom:vr.Opt(vr.NumberNode({integer:!0})),search_radius:vr.Opt(vr.NumberNode({integer:!0})),skip_existing_chunks:vr.Opt(vr.BooleanNode())},"minecraft:fill_player_head":{entity:l},"minecraft:limit_count":{limit:Or.Range({bounds:!0})},"minecraft:looting_enchant":{count:Or.Range({bounds:!0}),limit:vr.Opt(vr.NumberNode({integer:!0}))},"minecraft:set_attributes":{modifiers:vr.ListNode(r("attribute_modifier"))},"minecraft:set_contents":{entries:vr.ListNode(r("loot_entry"))},"minecraft:set_count":{count:Or.Range({allowBinomial:!0})},"minecraft:set_damage":{damage:Or.Range({forceRange:!0})},"minecraft:set_loot_table":{name:o({validator:"resource",params:{pool:"$loot_table"}}),seed:vr.Opt(vr.NumberNode({integer:!0}))},"minecraft:set_lore":{entity:vr.Opt(l),lore:vr.ListNode(r("text_component")),replace:vr.Opt(vr.BooleanNode())},"minecraft:set_name":{entity:vr.Opt(l),name:vr.Opt(r("text_component"))},"minecraft:set_nbt":{tag:o({validator:"nbt",params:{registry:{category:"minecraft:item"}}})},"minecraft:set_stew_effect":{effects:vr.Opt(vr.ListNode(vr.ObjectNode({type:o({validator:"resource",params:{pool:"mob_effect"}}),duration:Or.Range()})))}},a={};return t.get("loot_function_type").forEach((t=>{a[t]=m(m({},e[t]),i)})),a})()},{category:"function",context:"function"}),{default:()=>({function:"minecraft:set_count",count:1})})),e.register("loot_condition",vr.Mod(vr.ObjectNode({condition:c,[vr.Switch]:[{push:"condition"}],[vr.Case]:_(m({},Or.ConditionCases),{"minecraft:entity_properties":{entity:l,predicate:r("entity_predicate")},"minecraft:entity_scores":{entity:l,scores:vr.MapNode(o({validator:"objective"}),Or.Range({bounds:!0}))}})},{category:"predicate",context:"condition"}),{default:()=>({condition:"minecraft:random_chance",chance:.5})})),e.register("attribute_modifier",vr.Mod(vr.ObjectNode({attribute:o({validator:"resource",params:{pool:"attribute"}}),name:o(),amount:Or.Range({bounds:!0}),operation:o({enum:["addition","multiply_base","multiply_total"]}),slot:vr.StringOrList(o({enum:"slot"}))},{context:"attribute_modifier"}),{default:()=>({attribute:"minecraft:generic.max_health",name:"",amount:1,operation:"addition",slot:"mainhand"})}))};var kr={};Object.defineProperty(kr,"__esModule",{value:!0}),kr.initPackMcmetaSchemas=void 0;const xr=Be;kr.initPackMcmetaSchemas=function(e,t){e.register("pack_mcmeta",xr.Mod(xr.ObjectNode({pack:xr.Mod(xr.ObjectNode({pack_format:xr.Mod(xr.NumberNode({integer:!0,min:6,max:6}),{default:()=>6}),description:xr.Reference(e,"text_component")}),{default:()=>({pack_format:6,description:""})})}),{default:()=>({pack:{pack_format:6,description:""}})}))};var wr={};Object.defineProperty(wr,"__esModule",{value:!0}),wr.initPredicatesSchemas=void 0;const jr=Be,Sr=nr;wr.initPredicatesSchemas=function(e,t){const r=jr.Reference.bind(void 0,e),o=jr.StringNode.bind(void 0,t),i=jr.ChoiceNode([{type:"string",node:o(),change:e=>"boolean"==typeof e||"number"==typeof e?e.toString():""},{type:"number",node:jr.NumberNode(),change:e=>"string"==typeof e?parseInt(e):0},{type:"object",node:jr.ObjectNode({min:jr.Opt(jr.NumberNode({integer:!0})),max:jr.Opt(jr.NumberNode({integer:!0}))}),change:e=>"number"==typeof e?{min:e,max:e}:{}},{type:"boolean",node:jr.BooleanNode(),change:e=>"true"===e||1===e}]);e.register("item_predicate",jr.ObjectNode({item:jr.Opt(o({validator:"resource",params:{pool:"item"}})),tag:jr.Opt(o({validator:"resource",params:{pool:"$tag/item"}})),count:jr.Opt(Sr.Range()),durability:jr.Opt(Sr.Range()),potion:jr.Opt(o({validator:"resource",params:{pool:"potion"}})),nbt:jr.Opt(o({validator:"nbt",params:{registry:{category:"minecraft:item",id:["pop",{push:"item"}]}}})),enchantments:jr.Opt(jr.ListNode(r("enchantment_predicate")))},{context:"item"})),e.register("enchantment_predicate",jr.ObjectNode({enchantment:jr.Opt(o({validator:"resource",params:{pool:"enchantment"}})),levels:jr.Opt(Sr.Range())},{context:"enchantment"})),e.register("block_predicate",jr.ObjectNode({block:jr.Opt(o({validator:"resource",params:{pool:"block"}})),tag:jr.Opt(o({validator:"resource",params:{pool:"$tag/block"}})),nbt:jr.Opt(o({validator:"nbt",params:{registry:{category:"minecraft:block",id:["pop",{push:"block"}]}}})),state:jr.Opt(jr.MapNode(o(),i,{validation:{validator:"block_state_map",params:{id:["pop",{push:"block"}]}}}))},{context:"block"})),e.register("fluid_predicate",jr.ObjectNode({fluid:jr.Opt(o({validator:"resource",params:{pool:"fluid"}})),tag:jr.Opt(o({validator:"resource",params:{pool:"$tag/fluid"}})),state:jr.Opt(jr.MapNode(o(),i))},{context:"fluid"})),e.register("location_predicate",jr.ObjectNode({position:jr.Opt(jr.ObjectNode({x:jr.Opt(Sr.Range()),y:jr.Opt(Sr.Range()),z:jr.Opt(Sr.Range())})),biome:jr.Opt(o({validator:"resource",params:{pool:"$worldgen/biome"}})),feature:jr.Opt(o({enum:t.get("worldgen/structure_feature").map((e=>e.slice(10)))})),dimension:jr.Opt(o({validator:"resource",params:{pool:"$dimension"}})),light:jr.Opt(jr.ObjectNode({light:jr.Opt(Sr.Range({integer:!0,min:0,max:15}))})),smokey:jr.Opt(jr.BooleanNode()),block:jr.Opt(r("block_predicate")),fluid:jr.Opt(r("fluid_predicate"))},{context:"location"})),e.register("statistic_predicate",jr.ObjectNode({type:o({validator:"resource",params:{pool:"stat_type"}}),stat:o(),value:Sr.Range(),[jr.Switch]:[{push:"type"}],[jr.Case]:{"minecraft:mined":{stat:o({validator:"resource",params:{pool:"block"}})},"minecraft:crafted":{stat:o({validator:"resource",params:{pool:"item"}})},"minecraft:used":{stat:o({validator:"resource",params:{pool:"item"}})},"minecraft:broken":{stat:o({validator:"resource",params:{pool:"item"}})},"minecraft:picked_up":{stat:o({validator:"resource",params:{pool:"item"}})},"minecraft:dropped":{stat:o({validator:"resource",params:{pool:"item"}})},"minecraft:killed":{stat:o({validator:"resource",params:{pool:"entity_type"}})},"minecraft:killed_by":{stat:o({validator:"resource",params:{pool:"entity_type"}})},"minecraft:custom":{stat:o({validator:"resource",params:{pool:"custom_stat"}})}}})),e.register("player_predicate",jr.ObjectNode({gamemode:jr.Opt(o({enum:"gamemode"})),level:jr.Opt(Sr.Range()),advancements:jr.Opt(jr.MapNode(o({validator:"resource",params:{pool:"$advancement"}}),jr.ChoiceNode([{type:"boolean",node:jr.BooleanNode(),change:e=>!0},{type:"object",node:jr.MapNode(o(),jr.BooleanNode())}]))),recipes:jr.Opt(jr.MapNode(o({validator:"resource",params:{pool:"$recipe"}}),jr.BooleanNode())),stats:jr.Opt(jr.ListNode(r("statistic_predicate")))},{context:"player"})),e.register("status_effect_predicate",jr.ObjectNode({amplifier:jr.Opt(Sr.Range()),duration:jr.Opt(Sr.Range()),ambient:jr.Opt(jr.BooleanNode()),visible:jr.Opt(jr.BooleanNode())},{context:"status_effect"})),e.register("distance_predicate",jr.ObjectNode({x:jr.Opt(Sr.Range()),y:jr.Opt(Sr.Range()),z:jr.Opt(Sr.Range()),absolute:jr.Opt(Sr.Range()),horizontal:jr.Opt(Sr.Range())},{context:"distance"})),e.register("entity_predicate",jr.ObjectNode({type:jr.Opt(o({validator:"resource",params:{pool:"entity_type",allowTag:!0}})),nbt:jr.Opt(o({validator:"nbt",params:{registry:{category:"minecraft:entity",id:["pop",{push:"type"}]}}})),team:jr.Opt(o({validator:"team"})),location:jr.Opt(r("location_predicate")),distance:jr.Opt(r("distance_predicate")),flags:jr.Opt(jr.ObjectNode({is_on_fire:jr.Opt(jr.BooleanNode()),is_sneaking:jr.Opt(jr.BooleanNode()),is_sprinting:jr.Opt(jr.BooleanNode()),is_swimming:jr.Opt(jr.BooleanNode()),is_baby:jr.Opt(jr.BooleanNode())})),equipment:jr.Opt(jr.MapNode(o({enum:"slot"}),r("item_predicate"))),vehicle:jr.Opt(r("entity_predicate")),targeted_entity:jr.Opt(r("entity_predicate")),player:jr.Opt(r("player_predicate")),fishing_hook:jr.Opt(jr.ObjectNode({in_open_water:jr.Opt(jr.BooleanNode())})),effects:jr.Opt(jr.MapNode(o({validator:"resource",params:{pool:"mob_effect"}}),r("status_effect_predicate")))},{context:"entity"})),e.register("damage_source_predicate",jr.ObjectNode({is_explosion:jr.Opt(jr.BooleanNode()),is_fire:jr.Opt(jr.BooleanNode()),is_magic:jr.Opt(jr.BooleanNode()),is_projectile:jr.Opt(jr.BooleanNode()),is_lightning:jr.Opt(jr.BooleanNode()),bypasses_armor:jr.Opt(jr.BooleanNode()),bypasses_invulnerability:jr.Opt(jr.BooleanNode()),bypasses_magic:jr.Opt(jr.BooleanNode()),source_entity:jr.Opt(r("entity_predicate")),direct_entity:jr.Opt(r("entity_predicate"))},{context:"damage_source"})),e.register("damage_predicate",jr.ObjectNode({dealt:jr.Opt(Sr.Range()),taken:jr.Opt(Sr.Range()),blocked:jr.Opt(jr.BooleanNode()),source_entity:jr.Opt(r("entity_predicate")),type:jr.Opt(r("damage_source_predicate"))},{context:"damage"}))};var Mr={};Object.defineProperty(Mr,"__esModule",{value:!0}),Mr.initRecipeSchemas=void 0;const Cr=Be;Mr.initRecipeSchemas=function(e,t){const r=Cr.Reference.bind(void 0,e),o=Cr.StringNode.bind(void 0,t);e.register("recipe",Cr.Mod(Cr.ObjectNode({type:o({validator:"resource",params:{pool:"recipe_serializer"}}),[Cr.Switch]:[{push:"type"}],[Cr.Case]:{"minecraft:crafting_shaped":{group:Cr.Opt(o({enum:"recipe_group",additional:!0})),pattern:Cr.ListNode(o()),key:Cr.MapNode(o(),r("recipe_ingredient")),result:r("recipe_result")},"minecraft:crafting_shapeless":{group:Cr.Opt(o()),ingredients:Cr.ListNode(r("recipe_ingredient")),result:r("recipe_result")},"minecraft:smelting":{group:Cr.Opt(o()),ingredient:r("recipe_ingredient"),result:o({validator:"resource",params:{pool:"item"}}),experience:Cr.Opt(Cr.NumberNode()),cookingtime:Cr.Opt(Cr.Mod(Cr.NumberNode({integer:!0}),{default:()=>200}))},"minecraft:blasting":{group:Cr.Opt(o()),ingredient:r("recipe_ingredient"),result:o({validator:"resource",params:{pool:"item"}}),experience:Cr.Opt(Cr.NumberNode()),cookingtime:Cr.Opt(Cr.Mod(Cr.NumberNode({integer:!0}),{default:()=>100}))},"minecraft:smoking":{group:Cr.Opt(o()),ingredient:r("recipe_ingredient"),result:o({validator:"resource",params:{pool:"item"}}),experience:Cr.Opt(Cr.NumberNode()),cookingtime:Cr.Opt(Cr.Mod(Cr.NumberNode({integer:!0}),{default:()=>100}))},"minecraft:campfire_cooking":{group:Cr.Opt(o()),ingredient:r("recipe_ingredient"),result:o({validator:"resource",params:{pool:"item"}}),experience:Cr.Opt(Cr.NumberNode()),cookingtime:Cr.Opt(Cr.Mod(Cr.NumberNode({integer:!0}),{default:()=>100}))},"minecraft:stonecutting":{group:Cr.Opt(o()),ingredient:r("recipe_ingredient"),result:o({validator:"resource",params:{pool:"item"}}),count:Cr.NumberNode({integer:!0})},"minecraft:smithing":{group:Cr.Opt(o()),base:r("recipe_ingredient_object"),addition:r("recipe_ingredient_object"),result:r("recipe_result")}}},{context:"recipe"}),{default:()=>({type:"minecraft:crafting_shaped"})})),e.register("recipe_ingredient",Cr.Mod(Cr.ChoiceNode([{type:"object",node:r("recipe_ingredient_object"),change:e=>e[0]},{type:"list",node:Cr.ListNode(r("recipe_ingredient_object")),change:e=>[e]}]),{default:()=>({item:"minecraft:stone"})})),e.register("recipe_ingredient_object",Cr.Mod(Cr.ObjectNode({item:Cr.Opt(o({validator:"resource",params:{pool:"item"}})),tag:Cr.Opt(o({validator:"resource",params:{pool:"$tag/item"}}))}),{default:()=>({item:"minecraft:stone"})})),e.register("recipe_result",Cr.Mod(Cr.ObjectNode({item:o({validator:"resource",params:{pool:"item"}}),count:Cr.Opt(Cr.Mod(Cr.NumberNode({integer:!0}),{default:()=>1}))}),{default:()=>({item:"minecraft:stone"})}))};var Pr={};Object.defineProperty(Pr,"__esModule",{value:!0}),Pr.initTagsSchemas=void 0;const Lr=Be;Pr.initTagsSchemas=function(e,t){const r=Lr.StringNode.bind(void 0,t),o=e=>Lr.Mod(Lr.ObjectNode({replace:Lr.Opt(Lr.BooleanNode()),values:Lr.ListNode(Lr.ChoiceNode([{type:"string",node:r({validator:"resource",params:{pool:e,allowTag:!0}}),change:e=>e.id},{type:"object",node:Lr.ObjectNode({id:r({validator:"resource",params:{pool:e,allowTag:!0,allowUnknown:!0}}),required:Lr.BooleanNode()}),change:e=>({id:e})}]))},{context:"tag"}),{default:()=>({values:[]})});e.register("block_tag",o("block")),e.register("entity_type_tag",o("entity_type")),e.register("fluid_tag",o("fluid")),e.register("function_tag",o("$function")),e.register("item_tag",o("item"))};var Br={};Object.defineProperty(Br,"__esModule",{value:!0}),Br.initTextComponentSchemas=void 0;const zr=Be;Br.initTextComponentSchemas=function(e,t){const r=zr.Reference.bind(void 0,e),o=zr.StringNode.bind(void 0,t),i=e=>{var t;return e instanceof Array?i(e[0]):null!==(t=null==e?void 0:e.text)&&void 0!==t?t:"object"==typeof e?"":null==e?void 0:e.toString()};e.register("text_component",zr.Mod(zr.ChoiceNode([{type:"object",node:r("text_component_object"),change:e=>e instanceof Array?"object"==typeof e[0]?e[0]:{text:i(e[0])}:"object"==typeof e?e:{text:i(e)}},{type:"list",node:r("text_component_list"),change:e=>[e]},{type:"string",priority:1,node:o(),change:i},{type:"number",node:zr.NumberNode(),change:e=>{const t=parseFloat(i(e));return isFinite(t)?t:e?1:0}},{type:"boolean",node:zr.BooleanNode(),change:e=>{const t=i(e);return"true"===t||"false"===t?"true"===t:!!t}}],{context:"text_component"}),{default:()=>({text:""})}));const a={color:zr.Opt(o()),font:zr.Opt(o()),bold:zr.Opt(zr.BooleanNode()),italic:zr.Opt(zr.BooleanNode()),underlined:zr.Opt(zr.BooleanNode()),strikethrough:zr.Opt(zr.BooleanNode()),obfuscated:zr.Opt(zr.BooleanNode()),insertion:zr.Opt(o()),clickEvent:zr.Opt(zr.ObjectNode({action:o({enum:["open_url","open_file","run_command","suggest_command","change_page","copy_to_clipboard"]}),[zr.Switch]:[{push:"action"}],[zr.Case]:{change_page:{value:o()},copy_to_clipboard:{value:o()},open_file:{value:o()},open_url:{value:o()},run_command:{value:o({validator:"command",params:{leadingSlash:!0,allowPartial:!0}})},suggest_command:{value:o({validator:"command",params:{leadingSlash:!0,allowPartial:!0}})}}})),hoverEvent:zr.Opt(zr.ObjectNode({action:o({enum:["show_text","show_item","show_entity"]}),[zr.Switch]:[{push:"action"}],[zr.Case]:{show_text:{value:zr.Opt(r("text_component")),contents:zr.Opt(r("text_component"))},show_item:{value:zr.Opt(o({validator:"nbt",params:{module:"util::InventoryItem"}})),contents:zr.Opt(zr.ObjectNode({id:o({validator:"resource",params:{pool:"item"}}),count:zr.Opt(zr.NumberNode({integer:!0})),tag:zr.Opt(o({validator:"nbt",params:{registry:{category:"minecraft:item",id:["pop",{push:"id"}]}}}))}))},show_entity:{value:zr.Opt(zr.ObjectNode({name:zr.Opt(o()),type:zr.Opt(o()),id:zr.Opt(o())})),contents:zr.Opt(zr.Mod(zr.ObjectNode({name:zr.Opt(r("text_component")),type:o({validator:"resource",params:{pool:"entity_type"}}),id:o({validator:"uuid"})}),{default:()=>({type:"minecraft:pig",id:"00000001-0001-0001-0001-000000000001"})}))}}})),extra:zr.Opt(r("text_component_list"))};e.register("text_component_object",zr.Mod(zr.ChoiceNode([{type:"text",match:e=>"object"==typeof e,change:e=>({text:""}),priority:-1,node:zr.ObjectNode(m({text:o()},a))},{type:"translation",match:e=>void 0!==(null==e?void 0:e.translate),change:e=>({translate:""}),node:zr.ObjectNode(m({translate:o(),with:zr.Opt(r("text_component_list"))},a))},{type:"score",match:e=>void 0!==(null==e?void 0:e.score),change:e=>({score:{}}),node:zr.ObjectNode(m({score:zr.ObjectNode({name:o({validator:"entity",params:{amount:"single",type:"entities",isScoreHolder:!0}}),objective:o({validator:"objective"}),value:zr.Opt(o())})},a))},{type:"selector",match:e=>void 0!==(null==e?void 0:e.selector),change:e=>({selector:""}),node:zr.ObjectNode(m({selector:o({validator:"entity",params:{amount:"multiple",type:"entities"}})},a))},{type:"keybind",match:e=>void 0!==(null==e?void 0:e.keybind),change:e=>({keybind:""}),node:zr.ObjectNode(m({keybind:o({enum:"keybind",additional:!0})},a))},{type:"nbt",match:e=>void 0!==(null==e?void 0:e.nbt),change:e=>({nbt:""}),node:zr.ObjectNode(m({nbt:o({validator:"nbt_path"}),block:zr.Opt(o({validator:"vector",params:{dimension:3,isInteger:!0}})),entity:zr.Opt(o({validator:"entity",params:{amount:"single",type:"entities"}})),storage:zr.Opt(o({validator:"resource",params:{pool:"$storage"}})),interpret:zr.Opt(zr.BooleanNode())},a))}],{context:"text_component_object",choiceContext:"text_component.object"}),{default:()=>({text:""})})),e.register("text_component_list",zr.Mod(zr.ListNode(r("text_component")),{default:()=>[{text:""}]}))};var Rr={},Ar={};Object.defineProperty(Ar,"__esModule",{value:!0}),Ar.initBiomeSchemas=void 0;const $r=Be;Ar.initBiomeSchemas=function(e,t){const r=$r.StringNode.bind(void 0,t);e.register("biome",$r.Mod($r.ObjectNode({surface_builder:r({validator:"resource",params:{pool:"$worldgen/configured_surface_builder"}}),depth:$r.NumberNode(),scale:$r.NumberNode(),temperature:$r.NumberNode(),downfall:$r.NumberNode(),precipitation:r({enum:["none","rain","snow"]}),temperature_modifier:$r.Opt(r({enum:["none","frozen"]})),category:r({enum:"biome_category"}),player_spawn_friendly:$r.Opt($r.BooleanNode()),creature_spawn_probability:$r.Opt($r.NumberNode({min:0,max:1})),effects:$r.ObjectNode({sky_color:$r.NumberNode({color:!0}),fog_color:$r.NumberNode({color:!0}),water_color:$r.NumberNode({color:!0}),water_fog_color:$r.NumberNode({color:!0}),grass_color:$r.Opt($r.NumberNode({color:!0})),foliage_color:$r.Opt($r.NumberNode({color:!0})),grass_color_modifier:$r.Opt(r({enum:["none","dark_forest","swamp"]})),ambient_sound:$r.Opt(r()),mood_sound:$r.Opt($r.ObjectNode({sound:r(),tick_delay:$r.NumberNode({integer:!0}),block_search_extent:$r.NumberNode({integer:!0}),offset:$r.NumberNode()})),additions_sound:$r.Opt($r.ObjectNode({sound:r(),tick_chance:$r.NumberNode({min:0,max:1})})),music:$r.Opt($r.ObjectNode({sound:r(),min_delay:$r.NumberNode({integer:!0,min:0}),max_delay:$r.NumberNode({integer:!0,min:0}),replace_current_music:$r.BooleanNode()})),particle:$r.Opt($r.ObjectNode({options:$r.ObjectNode({type:r()}),probability:$r.NumberNode({min:0,max:1})}))}),starts:$r.ListNode(r({validator:"resource",params:{pool:"$worldgen/configured_structure_feature"}})),spawners:$r.MapNode(r({enum:["water_ambient","ambient","misc","water_creature","creature","monster"]}),$r.Mod($r.ListNode($r.ObjectNode({type:r({validator:"resource",params:{pool:"entity_type"}}),weight:$r.NumberNode({integer:!0}),minCount:$r.NumberNode({integer:!0}),maxCount:$r.NumberNode({integer:!0})})),{category:()=>"pool",default:()=>[{type:"minecraft:bat",weight:1}]})),spawn_costs:$r.MapNode(r({validator:"resource",params:{pool:"entity_type"}}),$r.Mod($r.ObjectNode({energy_budget:$r.NumberNode(),charge:$r.NumberNode()},{category:"function"}),{default:()=>({energy_budget:.12,charge:1})})),carvers:$r.MapNode(r({enum:["air","liquid"]}),$r.Mod($r.ListNode(r({validator:"resource",params:{pool:"$worldgen/configured_carver"}})),{default:()=>["minecraft:cave"]})),features:$r.ListNode($r.Mod($r.ListNode(r({validator:"resource",params:{pool:"$worldgen/configured_feature"}})),{category:()=>"predicate"}),{maxLength:10})},{context:"biome"}),{default:()=>({surface_builder:"minecraft:grass",depth:.125,scale:.05,temperature:.8,downfall:.4,precipitation:"rain",category:"plains",effects:{sky_color:7907327,fog_color:12638463,water_color:4159204,water_fog_color:329011}})}))};var Tr={};Object.defineProperty(Tr,"__esModule",{value:!0}),Tr.initCarverSchemas=void 0;const qr=Be;Tr.initCarverSchemas=function(e,t){const r=qr.StringNode.bind(void 0,t);e.register("configured_carver",qr.Mod(qr.ObjectNode({type:r({validator:"resource",params:{pool:"worldgen/carver"}}),config:qr.ObjectNode({probability:qr.NumberNode({min:0,max:1})})},{context:"carver"}),{default:()=>({type:"minecraft:cave",config:{probability:.1}})}))};var Dr={};Object.defineProperty(Dr,"__esModule",{value:!0}),Dr.initDecoratorSchemas=void 0;const Ir=Be,Fr=nr;Dr.initDecoratorSchemas=function(e,t){const r=Ir.Reference.bind(void 0,e),o=Ir.StringNode.bind(void 0,t),i={maximum:Ir.NumberNode({integer:!0}),bottom_offset:Ir.NumberNode({integer:!0}),top_offset:Ir.NumberNode({integer:!0})},a={chance:Ir.NumberNode({integer:!0,min:0})},n={count:Fr.UniformInt({min:-10,max:128,maxSpread:128})};e.register("configured_decorator",Ir.ObjectNode({type:o({validator:"resource",params:{pool:"worldgen/decorator"}}),config:Ir.ObjectNode({[Ir.Switch]:["pop",{push:"type"}],[Ir.Case]:{"minecraft:carving_mask":{step:o({enum:"generation_step"}),probability:Ir.NumberNode({min:0,max:1})},"minecraft:chance":a,"minecraft:count":n,"minecraft:count_extra":{count:Ir.NumberNode({integer:!0,min:0}),extra_count:Ir.NumberNode({integer:!0,min:0}),extra_chance:Ir.NumberNode({min:0,max:1})},"minecraft:count_multilayer":n,"minecraft:count_noise":{noise_level:Ir.NumberNode(),below_noise:Ir.NumberNode({integer:!0}),above_noise:Ir.NumberNode({integer:!0})},"minecraft:count_noise_biased":{noise_to_count_ratio:Ir.NumberNode({integer:!0}),noise_factor:Ir.NumberNode(),noise_offset:Ir.Opt(Ir.NumberNode())},"minecraft:decorated":{outer:r("configured_decorator"),inner:r("configured_decorator")},"minecraft:depth_average":{baseline:Ir.NumberNode({integer:!0}),spread:Ir.NumberNode({integer:!0})},"minecraft:fire":n,"minecraft:glowstone":n,"minecraft:lava_lake":a,"minecraft:range":i,"minecraft:range_biased":i,"minecraft:range_very_biased":i,"minecraft:water_lake":a}},{context:"decorator",category:"predicate"})},{context:"decorator",category:"predicate"}))};var Er={},Ur={};Object.defineProperty(Ur,"__esModule",{value:!0}),Ur.initProcessorListSchemas=void 0;const Wr=Be;Ur.initProcessorListSchemas=function(e,t){const r=Wr.Reference.bind(void 0,e),o=Wr.StringNode.bind(void 0,t);e.register("processor_list",Wr.Mod(Wr.ObjectNode({processors:Wr.ListNode(r("processor"))},{context:"processor_list"}),{default:()=>({processors:[{processor_type:"minecraft:rule",rules:[{location_predicate:{predicate_type:"minecraft:always_true"},input_predicate:{predicate_type:"minecraft:always_true"}}]}]})})),e.register("processor",Wr.Mod(Wr.ObjectNode({processor_type:o({validator:"resource",params:{pool:"worldgen/structure_processor"}}),[Wr.Switch]:[{push:"processor_type"}],[Wr.Case]:{"minecraft:block_age":{mossiness:Wr.NumberNode()},"minecraft:block_ignore":{blocks:Wr.ListNode(r("block_state"))},"minecraft:block_rot":{integrity:Wr.NumberNode({min:0,max:1})},"minecraft:gravity":{heightmap:o({enum:"heightmap_type"}),offset:Wr.NumberNode({integer:!0})},"minecraft:rule":{rules:Wr.ListNode(r("processor_rule"))}}},{category:"function",context:"processor"}),{default:()=>({processor_type:"minecraft:rule",rules:[{location_predicate:{predicate_type:"minecraft:always_true"},input_predicate:{predicate_type:"minecraft:always_true"}}]})})),e.register("processor_rule",Wr.Mod(Wr.ObjectNode({position_predicate:Wr.Opt(r("pos_rule_test")),location_predicate:r("rule_test"),input_predicate:r("rule_test"),output_state:r("block_state"),output_nbt:Wr.Opt(o({validator:"nbt",params:{registry:{category:"minecraft:block"}}}))},{category:"predicate",context:"processor_rule"}),{default:()=>({location_predicate:{predicate_type:"minecraft:always_true"},input_predicate:{predicate_type:"minecraft:always_true"}})}));const i={min_dist:Wr.NumberNode({min:0,max:255,integer:!0}),max_dist:Wr.NumberNode({min:0,max:255,integer:!0}),min_chance:Wr.NumberNode({min:0,max:1}),max_chance:Wr.NumberNode({min:0,max:1})};e.register("pos_rule_test",Wr.ObjectNode({predicate_type:o({validator:"resource",params:{pool:"pos_rule_test"}}),[Wr.Switch]:[{push:"predicate_type"}],[Wr.Case]:{"minecraft:axis_aligned_linear_pos":m({axis:o({enum:["x","y","z"]})},i),"minecraft:linear_pos":i}},{context:"pos_rule_test",disableSwitchContext:!0})),e.register("rule_test",Wr.ObjectNode({predicate_type:o({validator:"resource",params:{pool:"rule_test"}}),[Wr.Switch]:[{push:"predicate_type"}],[Wr.Case]:{"minecraft:block_match":{block:o({validator:"resource",params:{pool:"block"}})},"minecraft:blockstate_match":{block_state:r("block_state")},"minecraft:random_block_match":{block:o({validator:"resource",params:{pool:"block"}}),probability:Wr.NumberNode({min:0,max:1})},"minecraft:random_blockstate_match":{block_state:r("block_state"),probability:Wr.NumberNode({min:0,max:1})},"minecraft:tag_match":{tag:o({validator:"resource",params:{pool:"$tag/block"}})}}},{context:"rule_test",disableSwitchContext:!0}))},Object.defineProperty(Er,"__esModule",{value:!0}),Er.initFeatureSchemas=void 0;const Hr=Be,Kr=nr;Er.initFeatureSchemas=function(e,t){const r=Hr.Reference.bind(void 0,e),o=Hr.StringNode.bind(void 0,t),i={can_replace:Hr.BooleanNode(),project:Hr.BooleanNode(),need_water:Hr.BooleanNode(),xspread:Hr.NumberNode({integer:!0}),yspread:Hr.NumberNode({integer:!0}),zspread:Hr.NumberNode({integer:!0}),tries:Hr.NumberNode({integer:!0}),state_provider:r("block_state_provider"),block_placer:r("block_placer"),whitelist:Hr.ListNode(r("block_state")),blacklist:Hr.ListNode(r("block_state"))},a={state:r("block_state"),radius:Kr.UniformInt({min:0,max:4,maxSpread:4}),half_height:Hr.NumberNode({integer:!0,min:0,max:4}),targets:Hr.ListNode(r("block_state"))},n={cap_provider:r("block_state_provider"),stem_provider:r("block_state_provider"),foliage_radius:Hr.Opt(Hr.NumberNode({integer:!0}))},c={state:r("block_state"),size:Hr.NumberNode({integer:!0,min:0,max:64}),target:r("rule_test")},s={count:Kr.UniformInt({min:-10,max:128,maxSpread:128})},l=Hr.ChoiceNode([{type:"string",node:o({validator:"resource",params:{pool:"$worldgen/configured_feature"}})},{type:"object",node:r("configured_feature")}],{choiceContext:"feature"});e.register("configured_feature",Hr.Mod(Hr.ObjectNode({type:o({validator:"resource",params:{pool:"worldgen/feature"}}),config:Hr.ObjectNode({[Hr.Switch]:["pop",{push:"type"}],[Hr.Case]:{"minecraft:bamboo":{probability:Hr.NumberNode({min:0,max:1})},"minecraft:basalt_columns":{reach:Kr.UniformInt({min:0,max:2,maxSpread:1}),height:Kr.UniformInt({min:1,max:5,maxSpread:5})},"minecraft:block_pile":{state_provider:r("block_state_provider")},"minecraft:decorated":{decorator:r("configured_decorator"),feature:l},"minecraft:delta_feature":{contents:r("block_state"),rim:r("block_state"),size:Kr.UniformInt({min:0,max:8,maxSpread:8}),rim_size:Kr.UniformInt({min:0,max:8,maxSpread:8})},"minecraft:disk":a,"minecraft:emerald_ore":{state:r("block_state"),target:r("block_state")},"minecraft:end_gateway":{exact:Hr.BooleanNode(),exit:Hr.Opt(r("block_pos"))},"minecraft:end_spike":{crystal_invulnerable:Hr.Opt(Hr.BooleanNode()),crystal_beam_target:Hr.Opt(r("block_pos")),spikes:Hr.ListNode(Hr.ObjectNode({centerX:Hr.Opt(Hr.NumberNode({integer:!0})),centerZ:Hr.Opt(Hr.NumberNode({integer:!0})),radius:Hr.Opt(Hr.NumberNode({integer:!0})),height:Hr.Opt(Hr.NumberNode({integer:!0})),guarded:Hr.Opt(Hr.BooleanNode())}))},"minecraft:fill_layer":{state:r("block_state"),height:Hr.NumberNode({integer:!0,min:0,max:255})},"minecraft:flower":i,"minecraft:forest_rock":{state:r("block_state")},"minecraft:huge_brown_mushroom":n,"minecraft:huge_fungus":{hat_state:r("block_state"),decor_state:r("block_state"),stem_state:r("block_state"),valid_base_block:r("block_state"),planted:Hr.Opt(Hr.BooleanNode())},"minecraft:huge_red_mushroom":n,"minecraft:ice_patch":a,"minecraft:iceberg":{state:r("block_state")},"minecraft:lake":{state:r("block_state")},"minecraft:nether_forest_vegetation":{state_provider:r("block_state_provider")},"minecraft:netherrack_replace_blobs":{state:r("block_state"),target:r("block_state"),radius:Kr.UniformInt()},"minecraft:no_bonemeal_flower":i,"minecraft:no_surface_ore":c,"minecraft:ore":c,"minecraft:random_patch":i,"minecraft:random_boolean_selector":{feature_false:l,feature_true:l},"minecraft:random_selector":{features:Hr.ListNode(Hr.ObjectNode({chance:Hr.NumberNode({min:0,max:1}),feature:l})),default:l},"minecraft:sea_pickle":s,"minecraft:seagrass":{probability:Hr.NumberNode({min:0,max:1})},"minecraft:simple_block":{to_place:r("block_state"),place_on:Hr.ListNode(r("block_state")),place_in:Hr.ListNode(r("block_state")),place_under:Hr.ListNode(r("block_state"))},"minecraft:simple_random_selector":{features:Hr.ListNode(l)},"minecraft:spring_feature":{state:r("fluid_state"),rock_count:Hr.NumberNode({integer:!0}),hole_count:Hr.NumberNode({integer:!0}),requires_block_below:Hr.BooleanNode(),valid_blocks:Hr.ListNode(o({validator:"resource",params:{pool:"block"}}))},"minecraft:tree":{max_water_depth:Hr.NumberNode({integer:!0}),ignore_vines:Hr.BooleanNode(),heightmap:o({enum:"heightmap_type"}),minimum_size:r("feature_size"),trunk_provider:r("block_state_provider"),leaves_provider:r("block_state_provider"),trunk_placer:Hr.ObjectNode({type:o({validator:"resource",params:{pool:"worldgen/trunk_placer_type"}}),base_height:Hr.NumberNode({integer:!0,min:0,max:32}),height_rand_a:Hr.NumberNode({integer:!0,min:0,max:24}),height_rand_b:Hr.NumberNode({integer:!0,min:0,max:24})},{context:"trunk_placer"}),foliage_placer:Hr.ObjectNode({type:o({validator:"resource",params:{pool:"worldgen/foliage_placer_type"}}),radius:Kr.UniformInt({min:0,max:8,maxSpread:8}),offset:Kr.UniformInt({min:0,max:8,maxSpread:8}),[Hr.Switch]:[{push:"type"}],[Hr.Case]:{"minecraft:blob_foliage_placer":{height:Hr.NumberNode({integer:!0,min:0,max:16})},"minecraft:bush_foliage_placer":{height:Hr.NumberNode({integer:!0,min:0,max:16})},"minecraft:fancy_foliage_placer":{height:Hr.NumberNode({integer:!0,min:0,max:16})},"minecraft:jungle_foliage_placer":{height:Hr.NumberNode({integer:!0,min:0,max:16})},"minecraft:mega_pine_foliage_placer":{crown_height:Kr.UniformInt({min:0,max:16,maxSpread:8})},"minecraft:pine_foliage_placer":{height:Kr.UniformInt({min:0,max:16,maxSpread:8})},"minecraft:spruce_foliage_placer":{trunk_height:Kr.UniformInt({min:0,max:16,maxSpread:8})}}},{context:"foliage_placer",disableSwitchContext:!0}),decorators:Hr.ListNode(Hr.ObjectNode({type:o({validator:"resource",params:{pool:"worldgen/tree_decorator_type"}}),[Hr.Switch]:[{push:"type"}],[Hr.Case]:{"minecraft:alter_ground":{provider:r("block_state_provider")},"minecraft:beehive":{probability:Hr.NumberNode({min:0,max:1})},"minecraft:cocoa":{probability:Hr.NumberNode({min:0,max:1})}}},{context:"tree_decorator"}))}}},{context:"feature"})},{context:"feature"}),{default:()=>({type:"minecraft:decorated",config:{decorator:{type:"minecraft:count",config:{count:4}},feature:{type:"minecraft:tree",config:{max_water_depth:0,ignore_vines:!0,minimum_size:{},trunk_placer:{base_height:5,height_rand_a:2,height_rand_b:0},foliage_placer:{radius:2,offset:0,height:3}}}}})})),e.register("feature_size",Hr.Mod(Hr.ObjectNode({type:o({validator:"resource",params:{pool:"worldgen/feature_size_type"}}),min_clipped_height:Hr.Opt(Hr.NumberNode({min:0,max:80})),[Hr.Switch]:[{push:"type"}],[Hr.Case]:{"minecraft:two_layers_feature_size":{limit:Hr.Opt(Hr.NumberNode({integer:!0,min:0,max:81})),lower_size:Hr.Opt(Hr.NumberNode({integer:!0,min:0,max:16})),upper_size:Hr.Opt(Hr.NumberNode({integer:!0,min:0,max:16}))},"minecraft:three_layers_feature_size":{limit:Hr.Opt(Hr.NumberNode({integer:!0,min:0,max:80})),upper_limit:Hr.Opt(Hr.NumberNode({integer:!0,min:0,max:80})),lower_size:Hr.Opt(Hr.NumberNode({integer:!0,min:0,max:16})),middle_size:Hr.Opt(Hr.NumberNode({integer:!0,min:0,max:16})),upper_size:Hr.Opt(Hr.NumberNode({integer:!0,min:0,max:16}))}}},{disableSwitchContext:!0}),{default:()=>({type:"minecraft:two_layers_feature_size"})})),e.register("block_state_provider",Hr.Mod(Hr.ObjectNode({type:o({validator:"resource",params:{pool:"worldgen/block_state_provider_type"}}),[Hr.Switch]:[{push:"type"}],[Hr.Case]:{"minecraft:rotated_block_provider":{state:r("block_state")},"minecraft:simple_state_provider":{state:r("block_state")},"minecraft:weighted_state_provider":{entries:Hr.ListNode(Hr.Mod(Hr.ObjectNode({weight:Hr.NumberNode({integer:!0,min:1}),data:r("block_state")}),{default:()=>({data:{}})}))}}},{context:"block_state_provider"}),{default:()=>({type:"minecraft:simple_state_provider"})})),e.register("block_placer",Hr.Mod(Hr.ObjectNode({type:o({validator:"resource",params:{pool:"worldgen/block_placer_type"}}),[Hr.Switch]:[{push:"type"}],[Hr.Case]:{"minecraft:column_placer":{min_size:Hr.NumberNode({integer:!0}),extra_size:Hr.NumberNode({integer:!0})}}},{context:"block_placer"}),{default:()=>({type:"minecraft:simple_block_placer"})}))};var Vr={};Object.defineProperty(Vr,"__esModule",{value:!0}),Vr.initNoiseSettingsSchemas=void 0;const Gr=Be,Xr=nr;Vr.initNoiseSettingsSchemas=function(e,t){const r=Gr.Reference.bind(void 0,e),o=Gr.StringNode.bind(void 0,t);e.register("noise_settings",Gr.Mod(Gr.ObjectNode({name:Gr.Mod(o({validator:"resource",params:{pool:"$worldgen/noise_settings",isDefinition:!0}}),{enabled:e=>e.getArray().length>0}),bedrock_roof_position:Gr.NumberNode({integer:!0}),bedrock_floor_position:Gr.NumberNode({integer:!0}),sea_level:Gr.NumberNode({integer:!0}),disable_mob_generation:Gr.BooleanNode(),default_block:r("block_state"),default_fluid:r("block_state"),noise:Gr.ObjectNode({height:Gr.NumberNode({integer:!0}),density_factor:Gr.NumberNode(),density_offset:Gr.NumberNode(),size_horizontal:Gr.NumberNode({integer:!0}),size_vertical:Gr.NumberNode({integer:!0}),simplex_surface_noise:Gr.BooleanNode(),random_density_offset:Gr.Opt(Gr.BooleanNode()),island_noise_override:Gr.Opt(Gr.BooleanNode()),amplified:Gr.Opt(Gr.BooleanNode()),sampling:Gr.ObjectNode({xz_scale:Gr.NumberNode(),y_scale:Gr.NumberNode(),xz_factor:Gr.NumberNode(),y_factor:Gr.NumberNode()}),bottom_slide:Gr.ObjectNode({target:Gr.NumberNode({integer:!0}),size:Gr.NumberNode({integer:!0}),offset:Gr.NumberNode({integer:!0})}),top_slide:Gr.ObjectNode({target:Gr.NumberNode({integer:!0}),size:Gr.NumberNode({integer:!0}),offset:Gr.NumberNode({integer:!0})})}),structures:r("generator_structures")},{context:"noise_settings"}),{default:()=>Xr.DefaultNoiseSettings})),e.register("generator_structures",Gr.ObjectNode({stronghold:Gr.Opt(Gr.ObjectNode({distance:Gr.NumberNode({integer:!0,min:0,max:1023}),spread:Gr.NumberNode({integer:!0,min:0,max:1023}),count:Gr.NumberNode({integer:!0,min:1,max:4095})})),structures:Gr.MapNode(o({validator:"resource",params:{pool:"worldgen/structure_feature"}}),Gr.Mod(Gr.ObjectNode({spacing:Gr.NumberNode({integer:!0,min:0,max:4096}),separation:Gr.Mod(Gr.NumberNode({integer:!0,min:0,max:4096}),(e=>({validate:(t,r,o,i)=>(t.pop().push("spacing").get()<=r&&o.add(t,"error.separation_smaller_spacing"),e.validate(t,r,o,i))}))),salt:Gr.NumberNode({integer:!0,min:0})},{context:"generator_structure"}),{default:()=>({spacing:10,separation:5,salt:0})}))})),e.register("generator_layer",Gr.Mod(Gr.ObjectNode({block:o({validator:"resource",params:{pool:"block"}}),height:Gr.NumberNode({integer:!0,min:1})}),{default:()=>({block:"minecraft:stone",height:1})}))};var Jr={};Object.defineProperty(Jr,"__esModule",{value:!0}),Jr.initStructureFeatureSchemas=void 0;const Zr=Be;Jr.initStructureFeatureSchemas=function(e,t){const r=Zr.StringNode.bind(void 0,t),o={start_pool:r({validator:"resource",params:{pool:"$worldgen/template_pool"}}),size:Zr.NumberNode({integer:!0})};e.register("configured_structure_feature",Zr.Mod(Zr.ObjectNode({type:r({validator:"resource",params:{pool:"worldgen/structure_feature"}}),config:Zr.ObjectNode({[Zr.Switch]:["pop",{push:"type"}],[Zr.Case]:{"minecraft:bastion_remnant":o,"minecraft:buried_treasure":{probability:Zr.NumberNode({min:0,max:1})},"minecraft:mineshaft":{type:r({enum:["normal","mesa"]}),probability:Zr.NumberNode({min:0,max:1})},"minecraft:ocean_ruin":{biome_temp:r({enum:["cold","warm"]}),large_probability:Zr.NumberNode({min:0,max:1}),cluster_probability:Zr.NumberNode({min:0,max:1})},"minecraft:pillager_outpost":o,"minecraft:ruined_portal":{portal_type:r({enum:["standard","desert","jungle","mountain","nether","ocean","swamp"]})},"minecraft:shipwreck":{is_beached:Zr.Opt(Zr.BooleanNode())},"minecraft:village":o}},{context:"structure_feature",disableSwitchContext:!0})},{context:"structure_feature"}),{default:()=>({type:"minecraft:bastion_remnant",config:{start_pool:"minecraft:bastion/starts",size:6}})}))};var Yr={};Object.defineProperty(Yr,"__esModule",{value:!0}),Yr.initSurfaceBuilderSchemas=void 0;const Qr=Be;Yr.initSurfaceBuilderSchemas=function(e,t){const r=Qr.StringNode.bind(void 0,t),o=Qr.Reference.bind(void 0,e);e.register("configured_surface_builder",Qr.Mod(Qr.ObjectNode({type:r({validator:"resource",params:{pool:"worldgen/surface_builder"}}),config:Qr.ObjectNode({top_material:o("block_state"),under_material:o("block_state"),underwater_material:o("block_state")},{context:"surface_builder"})},{context:"surface_builder"}),{default:()=>({type:"minecraft:default",config:{top_material:{Name:"minecraft:grass_block",Properties:{snowy:"false"}},under_material:{Name:"minecraft:dirt"},underwater_material:{Name:"minecraft:gravel"}}})}))};var eo={};Object.defineProperty(eo,"__esModule",{value:!0}),eo.initTemplatePoolSchemas=void 0;const to=Be;eo.initTemplatePoolSchemas=function(e,t){const r=to.Reference.bind(void 0,e),o=to.StringNode.bind(void 0,t),i=to.ChoiceNode([{type:"string",node:o({validator:"resource",params:{pool:"$worldgen/processor_list"}}),change:e=>{}},{type:"object",node:r("processor_list"),change:e=>({processors:[{processor_type:"minecraft:nop"}]})}]);e.register("template_pool",to.Mod(to.ObjectNode({name:o(),fallback:o(),elements:to.ListNode(r("template_weighted_element"))},{context:"template_pool"}),{default:()=>({fallback:"minecraft:empty",elements:[{weight:1,element:{element_type:"minecraft:single_pool_element",projection:"rigid",processors:"minecraft:empty"}}]})})),e.register("template_weighted_element",to.Mod(to.ObjectNode({weight:to.NumberNode({integer:!0,min:1}),element:r("template_element")},{category:"pool"}),{default:()=>({weight:1,element:{element_type:"minecraft:single_pool_element",projection:"rigid",processors:"minecraft:empty"}})})),e.register("template_element",to.Mod(to.ObjectNode({element_type:o({validator:"resource",params:{pool:"worldgen/structure_pool_element"}}),projection:o({enum:["rigid","terrain_matching"]}),[to.Switch]:[{push:"element_type"}],[to.Case]:{"minecraft:feature_pool_element":{feature:o({validator:"resource",params:{pool:"$worldgen/configured_feature"}})},"minecraft:legacy_single_pool_element":{location:o({validator:"resource",params:{pool:"$structure"}}),processors:i},"minecraft:list_pool_element":{elements:to.ListNode(r("template_element"))},"minecraft:single_pool_element":{location:o({validator:"resource",params:{pool:"$structure"}}),processors:i}}},{context:"template_element",disableSwitchContext:!0}),{default:()=>({element_type:"minecraft:single_pool_element",projection:"rigid",processors:"minecraft:empty"})}))},Object.defineProperty(Rr,"__esModule",{value:!0}),Rr.initWorldgenSchemas=void 0;const ro=Ar,oo=Tr,io=Dr,ao=Er,no=Vr,co=Ur,so=Jr,lo=Yr,mo=eo;Rr.initWorldgenSchemas=function(e,t){ro.initBiomeSchemas(e,t),oo.initCarverSchemas(e,t),io.initDecoratorSchemas(e,t),ao.initFeatureSchemas(e,t),no.initNoiseSettingsSchemas(e,t),co.initProcessorListSchemas(e,t),so.initStructureFeatureSchemas(e,t),lo.initSurfaceBuilderSchemas(e,t),mo.initTemplatePoolSchemas(e,t)};var _o={};Object.defineProperty(_o,"__esModule",{value:!0}),_o.initWorldSettingsSchemas=void 0;const po=Be;_o.initWorldSettingsSchemas=function(e,t){const r=po.Reference.bind(void 0,e),o=po.StringNode.bind(void 0,t);e.register("world_settings",po.Mod(po.ObjectNode({generate_features:po.BooleanNode(),bonus_chest:po.BooleanNode(),seed:po.NumberNode({integer:!0}),dimensions:po.MapNode(o({validator:"resource",params:{pool:"$dimension"}}),r("dimension"))},{context:"world_settings"}),{default:()=>{const e=Math.floor(4294967296*Math.random())-2147483648;return{generate_features:!0,bonus_chest:!1,seed:e,dimensions:{"minecraft:overworld":{type:"minecraft:overworld",generator:{type:"minecraft:noise",seed:e,biome_source:{type:"minecraft:vanilla_layered",seed:e},settings:"minecraft:overworld"}},"minecraft:the_nether":{type:"minecraft:the_nether",generator:{type:"minecraft:noise",seed:e,biome_source:{type:"minecraft:multi_noise",seed:e,humidity_noise:{firstOctave:-7,amplitudes:[1,1]},altitude_noise:{firstOctave:-7,amplitudes:[1,1]},weirdness_noise:{firstOctave:-7,amplitudes:[1,1]},temperature_noise:{firstOctave:-7,amplitudes:[1,1]},biomes:[{parameters:{altitude:0,weirdness:0,offset:0,temperature:0,humidity:0},biome:"minecraft:nether_wastes"},{parameters:{altitude:0,weirdness:0,offset:0,temperature:0,humidity:-.5},biome:"minecraft:soul_sand_valley"},{parameters:{altitude:0,weirdness:0,offset:0,temperature:.4,humidity:0},biome:"minecraft:crimson_forest"},{parameters:{altitude:0,weirdness:0,offset:.375,temperature:0,humidity:.5},biome:"minecraft:warped_forest"},{parameters:{altitude:0,weirdness:0,offset:.175,temperature:-.5,humidity:0},biome:"minecraft:basalt_deltas"}]},settings:"minecraft:nether"}},"minecraft:the_end":{type:"minecraft:the_end",generator:{type:"minecraft:noise",seed:e,biome_source:{type:"minecraft:the_end",seed:e},settings:"minecraft:end"}}}}}}))},Object.defineProperty(ir,"__esModule",{value:!0}),ir.initSchemas=void 0;const uo=ar,fo=nr,go=lr,bo=_r,ho=fr,yo=hr,vo=kr,No=wr,Oo=Mr,ko=Pr,xo=Br,wo=Rr,jo=_o;ir.initSchemas=function(e,t){fo.initCommonSchemas(e,t),uo.initAdvancementSchemas(e,t),go.initConditionSchemas(e,t),ho.initDimensionTypeSchemas(e,t),bo.initDimensionSchemas(e,t),yo.initLootTableSchemas(e,t),vo.initPackMcmetaSchemas(e,t),No.initPredicatesSchemas(e,t),Oo.initRecipeSchemas(e,t),ko.initTagsSchemas(e,t),xo.initTextComponentSchemas(e,t),wo.initWorldgenSchemas(e,t),jo.initWorldSettingsSchemas(e,t)};var So=Pe&&Pe.__createBinding||(Object.create?function(e,t,r,o){void 0===o&&(o=r),Object.defineProperty(e,o,{enumerable:!0,get:function(){return t[r]}})}:function(e,t,r,o){void 0===o&&(o=r),e[o]=t[r]}),Mo=Pe&&Pe.__setModuleDefault||(Object.create?function(e,t){Object.defineProperty(e,"default",{enumerable:!0,value:t})}:function(e,t){e.default=t}),Co=Pe&&Pe.__importStar||function(e){if(e&&e.__esModule)return e;var t={};if(null!=e)for(var r in e)"default"!==r&&Object.hasOwnProperty.call(e,r)&&So(t,e,r);return Mo(t,e),t};Object.defineProperty(rr,"__esModule",{value:!0});var Po=rr.getSchemas=rr.getCollections=void 0;const Lo=Be,Bo=or,zo=ir;var Ro=rr.lootContext=Co(yr);var Ao=rr.getCollections=function(){const e=new Lo.CollectionRegistry;return Bo.initCollections(e),e};Po=rr.getSchemas=function(e){const t=new Lo.SchemaRegistry;return zo.initSchemas(t,e),t};var $o=Object.freeze(Object.assign(Object.create(null),rr,{[Symbol.toStringTag]:"Module",get getSchemas(){return Po},get getCollections(){return Ao},lootContext:Ro,default:rr})),To={},qo={};Object.defineProperty(qo,"__esModule",{value:!0}),qo.initCollections=void 0,qo.initCollections=function(e){e.register("advancement_trigger",["minecraft:bee_nest_destroyed","minecraft:bred_animals","minecraft:brewed_potion","minecraft:changed_dimension","minecraft:channeled_lightning","minecraft:construct_beacon","minecraft:consume_item","minecraft:cured_zombie_villager","minecraft:effects_changed","minecraft:enchanted_item","minecraft:enter_block","minecraft:entity_hurt_player","minecraft:entity_killed_player","minecraft:filled_bucket","minecraft:fishing_rod_hooked","minecraft:hero_of_the_village","minecraft:impossible","minecraft:inventory_changed","minecraft:item_durability_changed","minecraft:item_used_on_block","minecraft:killed_by_crossbow","minecraft:levitation","minecraft:lightning_strike","minecraft:location","minecraft:nether_travel","minecraft:placed_block","minecraft:player_generates_container_loot","minecraft:player_hurt_entity","minecraft:player_interacted_with_entity","minecraft:player_killed_entity","minecraft:recipe_unlocked","minecraft:shot_crossbow","minecraft:slept_in_bed","minecraft:slide_down_block","minecraft:started_riding","minecraft:summoned_entity","minecraft:tame_animal","minecraft:target_hit","minecraft:tick","minecraft:thrown_item_picked_up_by_entity","minecraft:used_ender_eye","minecraft:used_totem","minecraft:using_item","minecraft:villager_trade","minecraft:voluntary_exile"]),e.register("dimension",["minecraft:overworld","minecraft:the_nether","minecraft:the_end"]),e.register("dimension_type",["minecraft:overworld","minecraft:the_nether","minecraft:the_end"]),e.register("keybind",["key.advancements","key.attack","key.back","key.chat","key.command","key.drop","key.forward","key.fullscreen","key.hotbar.1","key.hotbar.2","key.hotbar.3","key.hotbar.4","key.hotbar.5","key.hotbar.6","key.hotbar.7","key.hotbar.8","key.hotbar.9","key.inventory","key.jump","key.left","key.loadToolbarActivator","key.pickItem","key.playerlist","key.right","key.saveToolbarActivator","key.screenshot","key.smoothCamera","key.sneak","key.spectatorOutlines","key.sprint","key.swapOffhand","key.togglePerspective","key.use"]),e.register("slot",["mainhand","offhand","head","chest","legs","feet"]),e.register("gamemode",["survival","creative","adventure","spectator"]),e.register("worldgen/noise_settings",["minecraft:overworld","minecraft:nether","minecraft:end","minecraft:amplified","minecraft:caves","minecraft:floating_islands"]),e.register("entity_source",["this","killer","direct_killer","killer_player"]),e.register("copy_source",["block_entity","this","killer","killer_player"]),e.register("loot_table_apply_bonus_formula",["minecraft:uniform_bonus_count","minecraft:binomial_with_bonus_count","minecraft:ore_drops"]),e.register("map_decoration",["mansion","monument","player","frame","red_marker","blue_marker","target_x","target_point","player_off_map","player_off_limits","red_x","banner_white","banner_orange","banner_magenta","banner_light_blue","banner_yellow","banner_lime","banner_pink","banner_gray","banner_light_gray","banner_cyan","banner_purple","banner_blue","banner_brown","banner_green","banner_red","banner_black"]),e.register("map_feature",["bastion_remnant","buried_treasure","desert_pyramid","endcity","fortress","igloo","jungle_pyramid","mansion","mineshaft","monument","nether_fossil","ocean_ruin","pillager_outpost","ruined_portal","shipwreck","stronghold","swamp_hut","village"]),e.register("recipe_group",["bed","light_gray_dye","iron_ingot","wooden_stairs","black_dye","stained_terracotta","dyed_bed","magenta_dye","bark","rabbit_stew","light_blue_dye","wooden_fence_gate","planks","stained_glass","wooden_door","stained_glass_pane","wooden_fence","sticks","concrete_powder","wooden_pressure_plate","boat","brown_dye","yellow_dye","bonemeal","red_dye","wooden_trapdoor","wooden_button","gold_ingot","pink_dye","wooden_slab","orange_dye","carpet","sign","wool","sugar","blue_dye","white_dye","banner","netherite_ingot"]),e.register("worldgen/configured_feature",["minecraft:acacia","minecraft:bamboo_light","minecraft:bamboo_vegetation","minecraft:bamboo","minecraft:basalt_blobs","minecraft:basalt_pillar","minecraft:birch_bees_0002","minecraft:birch_bees_002","minecraft:birch_bees_005","minecraft:birch_other","minecraft:birch_tall","minecraft:birch","minecraft:blackstone_blobs","minecraft:blue_ice","minecraft:bonus_chest","minecraft:brown_mushroom_giant","minecraft:brown_mushroom_nether","minecraft:brown_mushroom_normal","minecraft:brown_mushroom_swamp","minecraft:brown_mushroom_taiga","minecraft:chorus_plant","minecraft:crimson_forest_vegetation","minecraft:crimson_fungi_planted","minecraft:crimson_fungi","minecraft:dark_forest_vegetation_brown","minecraft:dark_forest_vegetation_red","minecraft:dark_oak","minecraft:delta","minecraft:desert_well","minecraft:disk_clay","minecraft:disk_gravel","minecraft:disk_sand","minecraft:end_gateway_delayed","minecraft:end_gateway","minecraft:end_island_decorated","minecraft:end_island","minecraft:end_spike","minecraft:fancy_oak_bees_0002","minecraft:fancy_oak_bees_002","minecraft:fancy_oak_bees_005","minecraft:fancy_oak","minecraft:flower_default","minecraft:flower_forest","minecraft:flower_plain_decorated","minecraft:flower_plain","minecraft:flower_swamp","minecraft:flower_warm","minecraft:forest_flower_trees","minecraft:forest_flower_vegetation_common","minecraft:forest_flower_vegetation","minecraft:forest_rock","minecraft:fossil","minecraft:freeze_top_layer","minecraft:glowstone_extra","minecraft:glowstone","minecraft:huge_brown_mushroom","minecraft:huge_red_mushroom","minecraft:ice_patch","minecraft:ice_spike","minecraft:iceberg_blue","minecraft:iceberg_packed","minecraft:jungle_bush","minecraft:jungle_tree_no_vine","minecraft:jungle_tree","minecraft:kelp_cold","minecraft:kelp_warm","minecraft:lake_lava","minecraft:lake_water","minecraft:large_basalt_columns","minecraft:mega_jungle_tree","minecraft:mega_pine","minecraft:mega_spruce","minecraft:monster_room","minecraft:mushroom_field_vegetation","minecraft:nether_sprouts","minecraft:oak_badlands","minecraft:oak_bees_0002","minecraft:oak_bees_002","minecraft:oak_bees_005","minecraft:oak","minecraft:ore_andesite","minecraft:ore_blackstone","minecraft:ore_coal","minecraft:ore_debris_large","minecraft:ore_debris_small","minecraft:ore_diamond","minecraft:ore_diorite","minecraft:ore_dirt","minecraft:ore_emerald","minecraft:ore_gold_deltas","minecraft:ore_gold_extra","minecraft:ore_gold_nether","minecraft:ore_gold","minecraft:ore_granite","minecraft:ore_gravel_nether","minecraft:ore_gravel","minecraft:ore_infested","minecraft:ore_iron","minecraft:ore_lapis","minecraft:ore_magma","minecraft:ore_quartz_deltas","minecraft:ore_quartz_nether","minecraft:ore_redstone","minecraft:ore_soul_sand","minecraft:patch_berry_bush","minecraft:patch_berry_decorated","minecraft:patch_berry_sparse","minecraft:patch_brown_mushroom","minecraft:patch_cactus_decorated","minecraft:patch_cactus_desert","minecraft:patch_cactus","minecraft:patch_crimson_roots","minecraft:patch_dead_bush_2","minecraft:patch_dead_bush_badlands","minecraft:patch_dead_bush","minecraft:patch_fire","minecraft:patch_grass_badlands","minecraft:patch_grass_forest","minecraft:patch_grass_jungle","minecraft:patch_grass_normal","minecraft:patch_grass_plain","minecraft:patch_grass_savanna","minecraft:patch_grass_taiga_2","minecraft:patch_grass_taiga","minecraft:patch_large_fern","minecraft:patch_melon","minecraft:patch_pumpkin","minecraft:patch_red_mushroom","minecraft:patch_soul_fire","minecraft:patch_sugar_cane_badlands","minecraft:patch_sugar_cane_desert","minecraft:patch_sugar_cane_swamp","minecraft:patch_sugar_cane","minecraft:patch_sunflower","minecraft:patch_taiga_grass","minecraft:patch_tall_grass_2","minecraft:patch_tall_grass","minecraft:patch_waterlilly","minecraft:pile_hay","minecraft:pile_ice","minecraft:pile_melon","minecraft:pile_pumpkin","minecraft:pile_snow","minecraft:pine","minecraft:plain_vegetation","minecraft:red_mushroom_giant","minecraft:red_mushroom_nether","minecraft:red_mushroom_normal","minecraft:red_mushroom_swamp","minecraft:red_mushroom_taiga","minecraft:sea_pickle","minecraft:seagrass_cold","minecraft:seagrass_deep_cold","minecraft:seagrass_deep_warm","minecraft:seagrass_deep","minecraft:seagrass_normal","minecraft:seagrass_river","minecraft:seagrass_simple","minecraft:seagrass_swamp","minecraft:seagrass_warm","minecraft:small_basalt_columns","minecraft:spring_closed_double","minecraft:spring_closed","minecraft:spring_delta","minecraft:spring_lava_double","minecraft:spring_lava","minecraft:spring_open","minecraft:spring_water","minecraft:spruce_snowy","minecraft:spruce","minecraft:super_birch_bees_0002","minecraft:swamp_tree","minecraft:taiga_vegetation","minecraft:trees_birch","minecraft:trees_giant_spruce","minecraft:trees_giant","minecraft:trees_jungle_edge","minecraft:trees_jungle","minecraft:trees_mountain_edge","minecraft:trees_mountain","minecraft:trees_savanna","minecraft:trees_shattered_savanna","minecraft:trees_water","minecraft:twisting_vines","minecraft:vines","minecraft:void_start_platform","minecraft:warm_ocean_vegetation","minecraft:warped_forest_vegetation","minecraft:warped_fungi_planted","minecraft:warped_fungi","minecraft:weeping_vines"]),e.register("worldgen/configured_structure_feature",["minecraft:bastion_remnant","minecraft:buried_treasure","minecraft:desert_pyramid","minecraft:end_city","minecraft:fortress","minecraft:igloo","minecraft:jungle_pyramid","minecraft:mansion","minecraft:mineshaft_mesa","minecraft:mineshaft","minecraft:monument","minecraft:nether_fossil","minecraft:ocean_ruin_cold","minecraft:ocean_ruin_warm","minecraft:pillager_outpost","minecraft:ruined_portal_desert","minecraft:ruined_portal_jungle","minecraft:ruined_portal_mountain","minecraft:ruined_portal_nether","minecraft:ruined_portal_ocean","minecraft:ruined_portal_swamp","minecraft:ruined_portal","minecraft:shipwreck_beached","minecraft:shipwreck","minecraft:stronghold","minecraft:swamp_hut","minecraft:village_desert","minecraft:village_plains","minecraft:village_savanna","minecraft:village_snowy","minecraft:village_taiga"]),e.register("worldgen/configured_surface_builder",["minecraft:badlands","minecraft:basalt_deltas","minecraft:crimson_forest","minecraft:desert","minecraft:end","minecraft:eroded_badlands","minecraft:frozen_ocean","minecraft:full_sand","minecraft:giant_tree_taiga","minecraft:grass","minecraft:gravelly_mountain","minecraft:ice_spikes","minecraft:mountain","minecraft:mycelium","minecraft:nether","minecraft:nope","minecraft:ocean_sand","minecraft:shattered_savanna","minecraft:soul_sand_valley","minecraft:stone","minecraft:swamp","minecraft:warped_forest","minecraft:wooded_badlands"]),e.register("biome_category",["beach","desert","extreme_hills","forest","icy","jungle","mesa","mushroom","nether","none","ocean","plains","river","savanna","swamp","taiga","the_end"]),e.register("heightmap_type",["MOTION_BLOCKING","MOTION_BLOCKING_NO_LEAVES","OCEAN_FLOOR","OCEAN_FLOOR_WG","WORLD_SURFACE","WORLD_SURFACE_WG"]),e.register("generation_step",["air","liquid"]),e.register("loot_context_type",["minecraft:empty","minecraft:chest","minecraft:command","minecraft:selector","minecraft:fishing","minecraft:entity","minecraft:gift","minecraft:barter","minecraft:advancement_reward","minecraft:advancement_entity","minecraft:generic","minecraft:block"]),e.register("banner_pattern",["base","square_bottom_left","square_bottom_right","square_top_left","square_top_right","stripe_bottom","stripe_top","stripe_left","stripe_right","stripe_center","stripe_middle","stripe_downright","stripe_downleft","small_stripes","cross","straight_cross","triangle_bottom","triangle_top","triangles_bottom","triangles_top","diagonal_left","diagonal_up_right","diagonal_up_left","diagonal_right","circle","rhombus","half_vertical","half_horizontal","half_vertical_right","half_horizontal_bottom","border","curly_border","gradient","gradient_up","bricks","globe","creeper","skull","flower","mojang","piglin"]),e.register("dye_color",["white","orange","magenta","light_blue","yellow","lime","pink","gray","light_gray","cyan","purple","blue","brown","green","red","black"])};var Do={},Io={};Object.defineProperty(Io,"__esModule",{value:!0}),Io.initAdvancementSchemas=void 0;const Fo=Be;Io.initAdvancementSchemas=function(e,t){const r=Fo.Reference.bind(void 0,e),o=Fo.StringNode.bind(void 0,t),i=Fo.ChoiceNode([{type:"object",node:Fo.Opt(r("entity_predicate")),change:e=>{var t,r;return null!==(r=null===(t=e[0])||void 0===t?void 0:t.predicate)&&void 0!==r?r:{}}},{type:"list",node:Fo.ListNode(r("condition")),change:e=>[{condition:"minecraft:entity_properties",predicate:e}]}],{context:"conditions"});e.register("advancement",Fo.Mod(Fo.ObjectNode({display:Fo.Opt(Fo.Mod(Fo.ObjectNode({icon:Fo.ObjectNode({item:o({validator:"resource",params:{pool:"item"}}),nbt:Fo.Opt(o({validator:"nbt",params:{registry:{category:"minecraft:item",id:["pop",{push:"item"}]}}}))}),title:r("text_component"),description:r("text_component"),background:Fo.Opt(o()),frame:Fo.Opt(o({enum:["task","challenge","goal"]})),show_toast:Fo.Opt(Fo.BooleanNode()),announce_to_chat:Fo.Opt(Fo.BooleanNode()),hidden:Fo.Opt(Fo.BooleanNode())}),{default:()=>({icon:{item:"minecraft:stone"},title:"",description:""})})),parent:Fo.Opt(o({validator:"resource",params:{pool:"$advancement"}})),criteria:Fo.MapNode(o(),r("advancement_criteria")),requirements:Fo.Opt(Fo.ListNode(Fo.ListNode(o()))),rewards:Fo.Opt(Fo.ObjectNode({function:Fo.Opt(o({validator:"resource",params:{pool:"$function"}})),loot:Fo.Opt(Fo.ListNode(o({validator:"resource",params:{pool:"$loot_table"}}))),recipes:Fo.Opt(Fo.ListNode(o({validator:"resource",params:{pool:"$recipe"}}))),experience:Fo.Opt(Fo.NumberNode({integer:!0}))}))},{context:"advancement"}),{default:()=>({criteria:{requirement:{trigger:"minecraft:location"}}})})),e.register("advancement_criteria",Fo.ObjectNode({trigger:o({validator:"resource",params:{pool:t.get("advancement_trigger")}}),conditions:Fo.Opt(Fo.ObjectNode({player:Fo.Mod(i,{enabled:e=>"minecraft:impossible"!==e.pop().push("trigger").get()}),[Fo.Switch]:["pop",{push:"trigger"}],[Fo.Case]:{"minecraft:bee_nest_destroyed":{block:Fo.Opt(o({validator:"resource",params:{pool:"block"}})),num_bees_inside:Fo.Opt(Fo.NumberNode({integer:!0})),item:Fo.Opt(r("item_predicate"))},"minecraft:bred_animals":{parent:i,partner:i,child:i},"minecraft:brewed_potion":{potion:Fo.Opt(o({validator:"resource",params:{pool:"potion"}}))},"minecraft:changed_dimension":{from:Fo.Opt(o({validator:"resource",params:{pool:"$dimension"}})),to:Fo.Opt(o({validator:"resource",params:{pool:"$dimension"}}))},"minecraft:channeled_lightning":{victims:Fo.Opt(Fo.ListNode(i))},"minecraft:construct_beacon":{level:r("int_bounds")},"minecraft:consume_item":{item:Fo.Opt(r("item_predicate"))},"minecraft:cured_zombie_villager":{villager:i,zombie:i},"minecraft:effects_changed":{effects:Fo.Opt(Fo.MapNode(o({validator:"resource",params:{pool:"mob_effect"}}),Fo.ObjectNode({amplifier:r("int_bounds"),duration:r("int_bounds")}))),source:Fo.Opt(i)},"minecraft:enter_block":{block:Fo.Opt(o({validator:"resource",params:{pool:"block"}})),state:Fo.Opt(Fo.MapNode(o(),o(),{validation:{validator:"block_state_map",params:{id:["pop",{push:"block"}]}}}))},"minecraft:enchanted_item":{levels:r("int_bounds"),item:Fo.Opt(r("item_predicate"))},"minecraft:entity_hurt_player":{damage:Fo.Opt(r("damage_predicate"))},"minecraft:entity_killed_player":{entity:i,killing_blow:Fo.Opt(r("damage_source_predicate"))},"minecraft:filled_bucket":{item:Fo.Opt(r("item_predicate"))},"minecraft:fishing_rod_hooked":{entity:i,item:Fo.Opt(r("item_predicate"))},"minecraft:hero_of_the_village":{location:Fo.Opt(r("location_predicate"))},"minecraft:inventory_changed":{slots:Fo.Opt(Fo.ObjectNode({empty:r("int_bounds"),occupied:r("int_bounds"),full:r("int_bounds")})),items:Fo.Opt(Fo.ListNode(r("item_predicate")))},"minecraft:item_durability_changed":{delta:r("int_bounds"),durability:r("int_bounds"),item:Fo.Opt(r("item_predicate"))},"minecraft:item_used_on_block":{item:Fo.Opt(r("item_predicate")),location:Fo.Opt(r("location_predicate"))},"minecraft:killed_by_crossbow":{unique_entity_types:r("int_bounds"),victims:Fo.Opt(Fo.ListNode(i))},"minecraft:levitation":{distance:r("distance_predicate"),duration:r("int_bounds")},"minecraft:lightning_strike":{lightning:i,bystander:i},"minecraft:location":{location:Fo.Opt(r("location_predicate"))},"minecraft:nether_travel":{distance:r("distance_predicate"),entered:Fo.Opt(r("location_predicate")),exited:Fo.Opt(r("location_predicate"))},"minecraft:placed_block":{block:Fo.Opt(o({validator:"resource",params:{pool:"block"}})),state:Fo.Opt(Fo.MapNode(o(),o(),{validation:{validator:"block_state_map",params:{id:["pop",{push:"block"}]}}})),item:Fo.Opt(r("item_predicate")),location:Fo.Opt(r("location_predicate"))},"minecraft:player_generates_container_loot":{loot_table:o({validator:"resource",params:{pool:"$loot_table"}})},"minecraft:player_hurt_entity":{damage:Fo.Opt(r("damage_predicate")),entity:i},"minecraft:player_interacted_with_entity":{item:Fo.Opt(r("item_predicate")),entity:i},"minecraft:player_killed_entity":{entity:i,killing_blow:Fo.Opt(r("damage_source_predicate"))},"minecraft:recipe_unlocked":{recipe:o({validator:"resource",params:{pool:"$recipe"}})},"minecraft:slept_in_bed":{location:Fo.Opt(r("location_predicate"))},"minecraft:slide_down_block":{block:Fo.Opt(o({validator:"resource",params:{pool:"block"}}))},"minecraft:shot_crossbow":{item:Fo.Opt(r("item_predicate"))},"minecraft:summoned_entity":{entity:i},"minecraft:tame_animal":{entity:i},"minecraft:target_hit":{projectile:i,shooter:i,signal_strength:r("int_bounds")},"minecraft:thrown_item_picked_up_by_entity":{entity:Fo.Opt(r("entity_predicate")),item:Fo.Opt(r("item_predicate"))},"minecraft:used_ender_eye":{distance:r("float_bounds")},"minecraft:used_totem":{item:Fo.Opt(r("item_predicate"))},"minecraft:using_item":{item:Fo.Opt(r("item_predicate"))},"minecraft:villager_trade":{villager:Fo.Opt(r("entity_predicate")),item:Fo.Opt(r("item_predicate"))},"minecraft:voluntary_exile":{location:r("location_predicate")}}},{context:"criterion"}))},{category:"predicate",context:"criterion"}))};var Eo={};!function(e){Object.defineProperty(e,"__esModule",{value:!0}),e.initCommonSchemas=e.IntProvider=e.FloatProvider=e.NoiseSettingsPresets=e.DefaultNoiseSettings=e.DimensionTypePresets=e.DefaultDimensionType=e.FunctionCases=e.ConditionCases=void 0;const t=Be;e.DefaultDimensionType={ultrawarm:!1,natural:!0,piglin_safe:!1,respawn_anchor_works:!1,bed_works:!0,has_raids:!0,has_skylight:!0,has_ceiling:!1,coordinate_scale:1,ambient_light:0,logical_height:256,infiniburn:"minecraft:infiniburn_overworld",min_y:0,height:256},e.DefaultNoiseSettings={name:"minecraft:overworld",bedrock_roof_position:-10,bedrock_floor_position:0,sea_level:63,disable_mob_generation:!1,noise_caves_enabled:!0,aquifers_enabled:!0,deepslate_enabled:!0,noise:{min_y:0,height:256,density_factor:1,density_offset:-.46875,simplex_surface_noise:!0,random_density_offset:!0,size_horizontal:1,size_vertical:2,sampling:{xz_scale:1,y_scale:1,xz_factor:80,y_factor:160},top_slide:{target:-10,size:3,offset:0},bottom_slide:{target:-30,size:0,offset:0}},default_block:{Name:"minecraft:stone"},default_fluid:{Name:"minecraft:water",Properties:{level:"0"}}},e.initCommonSchemas=function(r,o){const i=t.StringNode.bind(void 0,o),a=t.Reference.bind(void 0,r);r.register("block_state",t.Mod(t.ObjectNode({Name:i({validator:"resource",params:{pool:"block"}}),Properties:t.Opt(t.MapNode(i(),i(),{validation:{validator:"block_state_map",params:{id:["pop",{push:"Name"}]}}}))},{context:"block_state"}),{default:()=>({Name:"minecraft:stone"})})),r.register("fluid_state",t.Mod(t.ObjectNode({Name:i({validator:"resource",params:{pool:"fluid"}}),Properties:t.Opt(t.MapNode(i(),i()))},{context:"fluid_state"}),{default:()=>({Name:"minecraft:water",Properties:{level:"0"}})})),r.register("block_pos",t.Mod(t.ListNode(t.NumberNode({integer:!0}),{minLength:3,maxLength:3}),{default:()=>[0,0,0]}));const n=e=>t.Opt(t.ChoiceNode([{type:"number",node:t.NumberNode({integer:e}),change:e=>{var t,r;return void 0===e?0:null!==(r=null!==(t=e.min)&&void 0!==t?t:e.max)&&void 0!==r?r:0}},{type:"object",node:t.ObjectNode({min:t.Opt(t.NumberNode({integer:e})),max:t.Opt(t.NumberNode({integer:e}))},{context:"range"}),change:e=>({min:null!=e?e:0,max:null!=e?e:0})}]));r.register("int_bounds",n(!0)),r.register("float_bounds",n()),r.register("int_range",t.ChoiceNode([{type:"object",node:t.ObjectNode({min:t.Opt(a("number_provider")),max:t.Opt(a("number_provider"))})},{type:"number",node:t.NumberNode({integer:!0})}],{context:"range"}));const c=(e,r,o,a,n,c,s)=>{let l={};n&&Object.keys(s[n]).forEach((e=>{l[e]=t.Mod(s[n][e],{enabled:e=>void 0===e.push("type").get()})}));const d=t.ObjectNode(m({type:t.Mod(t.Opt(i({validator:"resource",params:{pool:e}})),{hidden:()=>!0}),[t.Switch]:[{push:"type"}],[t.Case]:s},l),{context:c,disableSwitchContext:!0}),_=[{type:r,node:s[a][o]}];return n&&_.push({type:"object",priority:-1,node:d}),Object.keys(s).forEach((e=>{_.push({type:e,match:t=>{var r;if("minecraft:"+(null===(r=null==t?void 0:t.type)||void 0===r?void 0:r.replace(/^minecraft:/,""))===e)return!0;const o=t?Object.keys(t):[];return"object"==typeof t&&(0===(null==o?void 0:o.length)||1===(null==o?void 0:o.length)&&"type"===(null==o?void 0:o[0]))},node:d,change:t=>({type:e})})})),t.ChoiceNode(_,{context:c,choiceContext:`${c}.type`})};r.register("number_provider",c("loot_number_provider_type","number","value","minecraft:constant","minecraft:uniform","number_provider",{"minecraft:constant":{value:t.NumberNode()},"minecraft:uniform":{min:a("number_provider"),max:a("number_provider")},"minecraft:binomial":{n:a("number_provider"),p:a("number_provider")},"minecraft:score":{target:a("scoreboard_name_provider"),score:i({validator:"objective"}),scale:t.Opt(t.NumberNode())}})),r.register("scoreboard_name_provider",c("loot_score_provider_type","string","target","minecraft:context",null,"score_provider",{"minecraft:fixed":{name:i({validator:"entity",params:{amount:"multiple",type:"entities",isScoreHolder:!0}})},"minecraft:context":{target:t.Mod(i({enum:"entity_source"}),{default:()=>"this"})}})),r.register("nbt_provider",c("loot_nbt_provider_type","string","target","minecraft:context",null,"nbt_provider",{"minecraft:storage":{source:i({validator:"resource",params:{pool:"$storage"}})},"minecraft:context":{target:t.Mod(i({enum:"copy_source"}),{default:()=>"this"})}})),e.FloatProvider=e=>c("float_provider_type","number","value","minecraft:constant",null,"float_provider",{"minecraft:constant":{value:t.NumberNode(e)},"minecraft:uniform":{value:t.ObjectNode({min_inclusive:t.NumberNode(e),max_exclusive:t.NumberNode(e)})},"minecraft:clamped_normal":{value:t.ObjectNode({min:t.NumberNode(),max:t.NumberNode(),mean:t.NumberNode(),deviation:t.NumberNode()})},"minecraft:trapezoid":{value:t.ObjectNode({min:t.NumberNode(),max:t.NumberNode(),plateau:t.NumberNode()})}}),r.register("float_provider",e.FloatProvider()),e.IntProvider=e=>c("int_provider_type","number","value","minecraft:constant",null,"int_provider",{"minecraft:constant":{value:t.NumberNode(m({integer:!0},e))},"minecraft:uniform":{value:t.ObjectNode({min_inclusive:t.NumberNode(m({integer:!0},e)),max_inclusive:t.NumberNode(m({integer:!0},e))})},"minecraft:biased_to_bottom":{value:t.ObjectNode({min_inclusive:t.NumberNode(m({integer:!0},e)),max_inclusive:t.NumberNode(m({integer:!0},e))})},"minecraft:clamped":{value:t.ObjectNode({min_inclusive:t.NumberNode(m({integer:!0},e)),max_inclusive:t.NumberNode(m({integer:!0},e)),source:a("int_provider")})}}),r.register("int_provider",e.IntProvider()),r.register("vertical_anchor",t.ChoiceNode(["absolute","above_bottom","below_top"].map((e=>({type:e,match:t=>void 0!==(null==t?void 0:t[e]),change:t=>{var r,o,i;return{[e]:null!==(i=null!==(o=null!==(r=t.absolute)&&void 0!==r?r:t.above_bottom)&&void 0!==o?o:t.below_top)&&void 0!==i?i:0}},node:t.ObjectNode({[e]:t.NumberNode({integer:!0,min:-2048,max:2047})})}))),{context:"vertical_anchor"})),r.register("height_provider",c("height_provider_type","number","value","minecraft:constant",null,"height_provider",{"minecraft:constant":{value:a("vertical_anchor")},"minecraft:uniform":{min_inclusive:a("vertical_anchor"),max_inclusive:a("vertical_anchor")},"minecraft:biased_to_bottom":{min_inclusive:a("vertical_anchor"),max_inclusive:a("vertical_anchor"),inner:t.Opt(t.NumberNode({integer:!0,min:1}))},"minecraft:very_biased_to_bottom":{min_inclusive:a("vertical_anchor"),max_inclusive:a("vertical_anchor"),inner:t.Opt(t.NumberNode({integer:!0,min:1}))},"minecraft:trapezoid":{min_inclusive:a("vertical_anchor"),max_inclusive:a("vertical_anchor"),plateau:t.Opt(t.NumberNode({integer:!0}))}})),e.ConditionCases=(e=i({enum:"entity_source"}))=>({"minecraft:alternative":{terms:t.ListNode(a("condition"))},"minecraft:block_state_property":{block:i({validator:"resource",params:{pool:"block"}}),properties:t.MapNode(i(),i(),{validation:{validator:"block_state_map",params:{id:["pop",{push:"block"}]}}})},"minecraft:damage_source_properties":{predicate:a("damage_source_predicate")},"minecraft:entity_properties":{entity:e,predicate:a("entity_predicate")},"minecraft:entity_scores":{entity:e,scores:t.MapNode(i({validator:"objective"}),a("int_range"))},"minecraft:inverted":{term:a("condition")},"minecraft:killed_by_player":{inverse:t.Opt(t.BooleanNode())},"minecraft:location_check":{offsetX:t.Opt(t.NumberNode({integer:!0})),offsetY:t.Opt(t.NumberNode({integer:!0})),offsetZ:t.Opt(t.NumberNode({integer:!0})),predicate:a("location_predicate")},"minecraft:match_tool":{predicate:a("item_predicate")},"minecraft:random_chance":{chance:t.NumberNode({min:0,max:1})},"minecraft:random_chance_with_looting":{chance:t.NumberNode({min:0,max:1}),looting_multiplier:t.NumberNode()},"minecraft:reference":{name:i({validator:"resource",params:{pool:"$predicate"}})},"minecraft:table_bonus":{enchantment:i({validator:"resource",params:{pool:"enchantment"}}),chances:t.ListNode(t.NumberNode({min:0,max:1}))},"minecraft:time_check":{value:a("int_range"),period:t.Opt(t.NumberNode({integer:!0}))},"minecraft:value_check":{value:a("number_provider"),range:a("int_range")},"minecraft:weather_check":{raining:t.Opt(t.BooleanNode()),thundering:t.Opt(t.BooleanNode())}}),e.FunctionCases=(e,r=i({enum:"copy_source"}),n=i({enum:"entity_source"}))=>{const c={"minecraft:apply_bonus":{enchantment:i({validator:"resource",params:{pool:"enchantment"}}),formula:i({validator:"resource",params:{pool:o.get("loot_table_apply_bonus_formula")}}),parameters:t.Mod(t.ObjectNode({bonusMultiplier:t.Mod(t.NumberNode(),{enabled:e=>"minecraft:uniform_bonus_count"===e.pop().push("formula").get()}),extra:t.Mod(t.NumberNode(),{enabled:e=>"minecraft:binomial_with_bonus_count"===e.pop().push("formula").get()}),probability:t.Mod(t.NumberNode(),{enabled:e=>"minecraft:binomial_with_bonus_count"===e.pop().push("formula").get()})}),{enabled:e=>"minecraft:ore_drops"!==e.push("formula").get()})},"minecraft:copy_name":{source:r},"minecraft:copy_nbt":{source:a("nbt_provider"),ops:t.ListNode(t.ObjectNode({source:i({validator:"nbt_path",params:{category:{getter:"copy_source",path:["pop","pop","pop",{push:"source"}]}}}),target:i({validator:"nbt_path",params:{category:"minecraft:item"}}),op:i({enum:["replace","append","merge"]})},{context:"nbt_operation"}))},"minecraft:copy_state":{block:i({validator:"resource",params:{pool:"block"}}),properties:t.ListNode(i({validator:"block_state_key",params:{id:["pop","pop",{push:"block"}]}}))},"minecraft:enchant_randomly":{enchantments:t.Opt(t.ListNode(i({validator:"resource",params:{pool:"enchantment"}})))},"minecraft:enchant_with_levels":{levels:a("number_provider"),treasure:t.Opt(t.BooleanNode())},"minecraft:exploration_map":{destination:t.Opt(i({enum:"map_feature"})),decoration:t.Opt(i({enum:"map_decoration"})),zoom:t.Opt(t.NumberNode({integer:!0})),search_radius:t.Opt(t.NumberNode({integer:!0})),skip_existing_chunks:t.Opt(t.BooleanNode())},"minecraft:fill_player_head":{entity:n},"minecraft:limit_count":{limit:a("int_range")},"minecraft:looting_enchant":{count:a("number_provider"),limit:t.Opt(t.NumberNode({integer:!0}))},"minecraft:set_attributes":{modifiers:t.ListNode(a("attribute_modifier"))},"minecraft:set_banner_pattern":{patterns:t.ListNode(t.ObjectNode({pattern:i({enum:"banner_pattern"}),color:i({enum:"dye_color"})})),append:t.Opt(t.BooleanNode())},"minecraft:set_contents":{entries:t.ListNode(a("loot_entry"))},"minecraft:set_count":{count:a("number_provider"),add:t.Opt(t.BooleanNode())},"minecraft:set_damage":{damage:a("number_provider"),add:t.Opt(t.BooleanNode())},"minecraft:set_enchantments":{enchantments:t.MapNode(i({validator:"resource",params:{pool:"enchantment"}}),a("number_provider")),add:t.Opt(t.BooleanNode())},"minecraft:set_loot_table":{name:i({validator:"resource",params:{pool:"$loot_table"}}),seed:t.Opt(t.NumberNode({integer:!0}))},"minecraft:set_lore":{entity:t.Opt(n),lore:t.ListNode(a("text_component")),replace:t.Opt(t.BooleanNode())},"minecraft:set_name":{entity:t.Opt(n),name:t.Opt(a("text_component"))},"minecraft:set_nbt":{tag:i({validator:"nbt",params:{registry:{category:"minecraft:item"}}})},"minecraft:set_stew_effect":{effects:t.Opt(t.ListNode(t.ObjectNode({type:i({validator:"resource",params:{pool:"mob_effect"}}),duration:a("number_provider")})))}},s={};return o.get("loot_function_type").forEach((t=>{s[t]=m(m({},c[t]),e)})),s},e.DimensionTypePresets=r=>t.ObjectOrPreset(i({validator:"resource",params:{pool:"$dimension_type"}}),r,{"minecraft:overworld":e.DefaultDimensionType,"minecraft:the_nether":{name:"minecraft:the_nether",ultrawarm:!0,natural:!1,shrunk:!0,piglin_safe:!0,respawn_anchor_works:!0,bed_works:!1,has_raids:!1,has_skylight:!1,has_ceiling:!0,ambient_light:.1,fixed_time:18e3,logical_height:128,effects:"minecraft:the_nether",infiniburn:"minecraft:infiniburn_nether",min_y:0,height:256},"minecraft:the_end":{name:"minecraft:the_end",ultrawarm:!1,natural:!1,shrunk:!1,piglin_safe:!1,respawn_anchor_works:!1,bed_works:!1,has_raids:!0,has_skylight:!1,has_ceiling:!1,ambient_light:0,fixed_time:6e3,logical_height:256,effects:"minecraft:the_end",infiniburn:"minecraft:infiniburn_end",min_y:0,height:256}}),e.NoiseSettingsPresets=r=>t.ObjectOrPreset(i({validator:"resource",params:{pool:"$worldgen/noise_settings"}}),r,{"minecraft:overworld":e.DefaultNoiseSettings,"minecraft:nether":{name:"minecraft:nether",bedrock_roof_position:0,bedrock_floor_position:0,sea_level:32,disable_mob_generation:!0,noise_caves_enabled:!1,aquifers_enabled:!1,deepslate_enabled:!1,noise:{min_y:0,height:128,density_factor:0,density_offset:.019921875,simplex_surface_noise:!1,random_density_offset:!1,size_horizontal:1,size_vertical:2,sampling:{xz_scale:1,y_scale:3,xz_factor:80,y_factor:60},top_slide:{target:120,size:3,offset:0},bottom_slide:{target:320,size:4,offset:-1}},default_block:{Name:"minecraft:netherrack"},default_fluid:{Name:"minecraft:lava",Properties:{level:"0"}}},"minecraft:end":{name:"minecraft:end",bedrock_roof_position:-10,bedrock_floor_position:-10,sea_level:0,disable_mob_generation:!0,noise_caves_enabled:!1,aquifers_enabled:!1,deepslate_enabled:!1,noise:{min_y:0,height:128,density_factor:0,density_offset:0,simplex_surface_noise:!0,random_density_offset:!1,island_noise_override:!0,size_horizontal:2,size_vertical:1,sampling:{xz_scale:2,y_scale:1,xz_factor:80,y_factor:160},top_slide:{target:-3e3,size:64,offset:-46},bottom_slide:{target:-30,size:7,offset:1}},default_block:{Name:"minecraft:end_stone"},default_fluid:{Name:"minecraft:air"}},"minecraft:amplified":{name:"minecraft:amplified",bedrock_roof_position:-10,bedrock_floor_position:0,sea_level:63,disable_mob_generation:!1,noise_caves_enabled:!0,aquifers_enabled:!0,deepslate_enabled:!0,noise:{min_y:0,height:256,density_factor:1,density_offset:-.46875,simplex_surface_noise:!0,random_density_offset:!0,amplified:!0,size_horizontal:1,size_vertical:2,sampling:{xz_scale:1,y_scale:1,xz_factor:80,y_factor:160},top_slide:{target:-10,size:3,offset:0},bottom_slide:{target:-30,size:0,offset:0}},default_block:{Name:"minecraft:stone"},default_fluid:{Name:"minecraft:water",Properties:{level:"0"}}},"minecraft:caves":{name:"minecraft:caves",bedrock_roof_position:0,bedrock_floor_position:0,sea_level:32,disable_mob_generation:!0,noise_caves_enabled:!1,aquifers_enabled:!1,deepslate_enabled:!1,noise:{min_y:0,height:128,density_factor:0,density_offset:.019921875,simplex_surface_noise:!1,random_density_offset:!1,size_horizontal:1,size_vertical:2,sampling:{xz_scale:1,y_scale:3,xz_factor:80,y_factor:60},top_slide:{target:120,size:3,offset:0},bottom_slide:{target:320,size:4,offset:-1}},default_block:{Name:"minecraft:stone"},default_fluid:{Name:"minecraft:water",Properties:{level:"0"}}},"minecraft:floating_islands":{name:"minecraft:floating_islands",bedrock_roof_position:-10,bedrock_floor_position:-10,sea_level:0,disable_mob_generation:!0,noise_caves_enabled:!1,aquifers_enabled:!1,deepslate_enabled:!1,noise:{min_y:0,height:128,density_factor:0,density_offset:0,simplex_surface_noise:!0,random_density_offset:!1,island_noise_override:!0,size_horizontal:2,size_vertical:1,sampling:{xz_scale:2,y_scale:1,xz_factor:80,y_factor:160},top_slide:{target:-3e3,size:64,offset:-46},bottom_slide:{target:-30,size:7,offset:1}},default_block:{Name:"minecraft:stone"},default_fluid:{Name:"minecraft:water",Properties:{level:"0"}}}})}}(Eo);var Uo={};Object.defineProperty(Uo,"__esModule",{value:!0}),Uo.initConditionSchemas=void 0;const Wo=Be,Ho=Eo;Uo.initConditionSchemas=function(e,t){const r=Wo.Reference.bind(void 0,e),o=Wo.StringNode.bind(void 0,t);e.register("predicate",Wo.ObjectOrList(r("condition"),{choiceContext:"condition"})),e.register("condition",Wo.Mod(Wo.ObjectNode({condition:o({validator:"resource",params:{pool:"loot_condition_type"}}),[Wo.Switch]:[{push:"condition"}],[Wo.Case]:Ho.ConditionCases()},{category:"predicate",context:"condition"}),{default:()=>({condition:"minecraft:entity_properties",entity:"this"})}))};var Ko={};Object.defineProperty(Ko,"__esModule",{value:!0}),Ko.initDimensionSchemas=void 0;const Vo=Be,Go=Eo;Ko.initDimensionSchemas=function(e,t){const r=Vo.Reference.bind(void 0,e),o=Vo.StringNode.bind(void 0,t),i=e=>Vo.Mod(e,{enabled:e=>void 0===e.push("preset").get()});e.register("dimension",Vo.Mod(Vo.ObjectNode({type:Go.DimensionTypePresets(r("dimension_type")),generator:Vo.ObjectNode({type:o({validator:"resource",params:{pool:"worldgen/chunk_generator"}}),[Vo.Switch]:[{push:"type"}],[Vo.Case]:{"minecraft:noise":{seed:Vo.NumberNode({integer:!0}),settings:Go.NoiseSettingsPresets(r("noise_settings")),biome_source:Vo.ObjectNode({type:o({validator:"resource",params:{pool:"worldgen/biome_source"}}),[Vo.Switch]:[{push:"type"}],[Vo.Case]:{"minecraft:fixed":{biome:o({validator:"resource",params:{pool:"$worldgen/biome"}})},"minecraft:multi_noise":{seed:Vo.NumberNode({integer:!0}),preset:Vo.Opt(o({enum:["nether"]})),altitude_noise:i(r("generator_biome_noise")),temperature_noise:i(r("generator_biome_noise")),humidity_noise:i(r("generator_biome_noise")),weirdness_noise:i(r("generator_biome_noise")),biomes:i(Vo.Mod(Vo.ListNode(r("generator_biome")),{default:()=>[{biome:"minecraft:plains"}]}))},"minecraft:checkerboard":{scale:Vo.Opt(Vo.NumberNode({integer:!0,min:0,max:62})),biomes:Vo.ListNode(o({validator:"resource",params:{pool:"$worldgen/biome"}}))},"minecraft:the_end":{seed:Vo.NumberNode({integer:!0})},"minecraft:vanilla_layered":{seed:Vo.NumberNode({integer:!0}),large_biomes:Vo.Opt(Vo.BooleanNode()),legacy_biome_init_layer:Vo.Opt(Vo.BooleanNode())}}},{category:"predicate",disableSwitchContext:!0})},"minecraft:flat":{settings:Vo.ObjectNode({biome:Vo.Opt(o({validator:"resource",params:{pool:"$worldgen/biome"}})),lakes:Vo.Opt(Vo.BooleanNode()),features:Vo.Opt(Vo.BooleanNode()),layers:Vo.ListNode(r("generator_layer")),structures:r("generator_structures")})}}},{disableSwitchContext:!0})},{category:"pool",context:"dimension"}),{default:()=>{const e=Math.floor(4294967296*Math.random())-2147483648;return{type:"minecraft:overworld",generator:{type:"minecraft:noise",seed:e,biome_source:{type:"minecraft:fixed",seed:e,biome:"minecraft:plains"},settings:"minecraft:overworld"}}}})),e.register("generator_biome",Vo.Mod(Vo.ObjectNode({biome:o({validator:"resource",params:{pool:"$worldgen/biome"}}),parameters:Vo.ObjectNode({altitude:Vo.NumberNode(),temperature:Vo.NumberNode(),humidity:Vo.NumberNode(),weirdness:Vo.NumberNode(),offset:Vo.NumberNode()})},{context:"generator_biome"}),{default:()=>({biome:"minecraft:plains",parameters:{altitude:0,temperature:0,humidity:0,weirdness:0,offset:0}})})),e.register("generator_biome_noise",Vo.Mod(Vo.ObjectNode({firstOctave:Vo.NumberNode({integer:!0}),amplitudes:Vo.ListNode(Vo.NumberNode())},{context:"generator_biome_noise"}),{default:()=>({firstOctave:-7,amplitudes:[1,1]})}))};var Xo={};Object.defineProperty(Xo,"__esModule",{value:!0}),Xo.initDimensionTypeSchemas=void 0;const Jo=Be,Zo=Eo;Xo.initDimensionTypeSchemas=function(e,t){const r=Jo.StringNode.bind(void 0,t);e.register("dimension_type",Jo.Mod(Jo.ObjectNode({name:Jo.Mod(r({validator:"resource",params:{pool:"$dimension_type",isDefinition:!0}}),{enabled:e=>e.getArray().length>0}),ultrawarm:Jo.BooleanNode(),natural:Jo.BooleanNode(),piglin_safe:Jo.BooleanNode(),respawn_anchor_works:Jo.BooleanNode(),bed_works:Jo.BooleanNode(),has_raids:Jo.BooleanNode(),has_skylight:Jo.BooleanNode(),has_ceiling:Jo.BooleanNode(),coordinate_scale:Jo.NumberNode({min:1e-5,max:3e7}),ambient_light:Jo.NumberNode(),fixed_time:Jo.Opt(Jo.NumberNode({integer:!0})),logical_height:Jo.NumberNode({integer:!0,min:0,max:4096}),effects:Jo.Opt(r({enum:["minecraft:overworld","minecraft:the_nether","minecraft:the_end"]})),infiniburn:r({validator:"resource",params:{pool:"$tag/block"}}),min_y:Jo.NumberNode({integer:!0,min:-2048,max:2047}),height:Jo.NumberNode({integer:!0,min:0,max:4096})},{context:"dimension_type"}),(e=>({default:()=>Zo.DefaultDimensionType,validate:(t,r,o,i)=>((null==(r=e.validate(t,r,o,i))?void 0:r.min_y)+(null==r?void 0:r.height)>2047&&o.add(t.push("height"),"error.min_y_plus_height",2047),(null==r?void 0:r.logical_height)>(null==r?void 0:r.height)&&o.add(t.push("logical_height"),"error.logical_height"),(null==r?void 0:r.height)%16!=0&&o.add(t.push("height"),"error.height_multiple",16),(null==r?void 0:r.min_y)%16!=0&&o.add(t.push("min_y"),"error.min_y_multiple",16),r)}))))};var Yo={};Object.defineProperty(Yo,"__esModule",{value:!0}),Yo.initItemModifierSchemas=void 0;const Qo=Be,ei=Eo;Yo.initItemModifierSchemas=function(e,t){const r=Qo.Reference.bind(void 0,e),o=Qo.StringNode.bind(void 0,t);e.register("item_modifier",Qo.ObjectOrList(r("function"),{choiceContext:"function"}));const i={conditions:Qo.Opt(Qo.ListNode(r("condition")))};e.register("function",Qo.Mod(Qo.ObjectNode({function:o({validator:"resource",params:{pool:"loot_function_type"}}),[Qo.Switch]:[{push:"function"}],[Qo.Case]:ei.FunctionCases(i)},{category:"function",context:"function"}),{default:()=>[{function:"minecraft:set_count",count:1}]}))};var ti={},ri={};Object.defineProperty(ri,"__esModule",{value:!0}),ri.LootFunctions=ri.LootConditions=ri.LootCopySources=ri.LootEntitySources=ri.LootTableTypes=void 0,ri.LootTableTypes=new Map([["minecraft:advancement_entity",{requires:[7,8],allows:[]}],["minecraft:advancement_reward",{requires:[7,8],allows:[]}],["minecraft:barter",{requires:[8],allows:[]}],["minecraft:block",{requires:[1,7,9],allows:[0,4,8]}],["minecraft:chest",{requires:[7],allows:[8]}],["minecraft:command",{requires:[7],allows:[8]}],["minecraft:empty",{requires:[],allows:[]}],["minecraft:entity",{requires:[2,7,8],allows:[3,5,6]}],["minecraft:fishing",{requires:[7,9],allows:[8]}],["minecraft:generic",{requires:[2,0,1,3,4,5,6,7,8,9],allows:[]}],["minecraft:gift",{requires:[7,8],allows:[]}],["minecraft:selector",{requires:[7],allows:[8]}]]),ri.LootEntitySources=new Map([["direct_killer",[3]],["killer",[5]],["killer_player",[5]],["this",[8]]]),ri.LootCopySources=new Map([["block_entity",[0]],["killer",[5]],["killer_player",[5]],["this",[8]]]),ri.LootConditions=new Map([["minecraft:alternative",[]],["minecraft:block_state_property",[1]],["minecraft:damage_source_properties",[2]],["minecraft:entity_properties",[7]],["minecraft:entity_scores",[]],["minecraft:inverted",[]],["minecraft:killed_by_player",[6]],["minecraft:location_check",[]],["minecraft:match_tool",[9]],["minecraft:random_chance",[]],["minecraft:random_chance_with_looting",[5]],["minecraft:reference",[]],["minecraft:survives_explosion",[4]],["minecraft:table_bonus",[9]],["minecraft:time_check",[]],["minecraft:weather_check",[]]]),ri.LootFunctions=new Map([["minecraft:apply_bonus",[9]],["minecraft:copy_name",[]],["minecraft:copy_nbt",[]],["minecraft:copy_state",[1]],["minecraft:enchant_randomly",[]],["minecraft:enchant_with_levels",[]],["minecraft:exploration_map",[7]],["minecraft:explosion_decay",[]],["minecraft:fill_player_head",[]],["minecraft:furnace_smelt",[]],["minecraft:limit_count",[]],["minecraft:looting_enchant",[5]],["minecraft:set_attributes",[]],["minecraft:set_banner_pattern",[]],["minecraft:set_contents",[]],["minecraft:set_count",[]],["minecraft:set_damage",[]],["minecraft:set_loot_table",[]],["minecraft:set_lore",[]],["minecraft:set_name",[]],["minecraft:set_nbt",[]],["minecraft:set_stew_effect",[]]]),Object.defineProperty(ti,"__esModule",{value:!0}),ti.initLootTableSchemas=void 0;const oi=Be,ii=ri,ai=Eo;ti.initLootTableSchemas=function(e,t){const r=oi.Reference.bind(void 0,e),o=oi.StringNode.bind(void 0,t),i={conditions:oi.Opt(oi.ListNode(r("loot_condition")))},a=m({functions:oi.Opt(oi.ListNode(r("loot_function")))},i);function n(e,r,o){const i=[],a=o=>t.get(r).filter((t=>{var r;return(null!==(r=e.get(t))&&void 0!==r?r:[]).every((e=>o.includes(e)))}));for(const[t,{allows:n,requires:c}]of ii.LootTableTypes){const e=[...n,...c];i.push({match:e=>e.getModel().get(new oi.Path(["type"]))===t,node:o(a(e))})}return i.push({match:e=>!0,node:o(r)}),oi.SwitchNode(i)}const c=n(ii.LootConditions,"loot_condition_type",(e=>o({validator:"resource",params:{pool:e instanceof Array?e:"loot_condition_type"}}))),s=n(ii.LootFunctions,"loot_function_type",(e=>o({validator:"resource",params:{pool:e instanceof Array?e:"loot_function_type"}}))),l=n(ii.LootEntitySources,"entity_source",(e=>o({enum:e}))),d=n(ii.LootCopySources,"copy_source",(e=>o({enum:e})));e.register("loot_table",oi.Mod(oi.ObjectNode({type:oi.Opt(o({validator:"resource",params:{pool:t.get("loot_context_type")}})),pools:oi.Opt(oi.ListNode(oi.Mod(oi.ObjectNode(m({rolls:r("number_provider"),bonus_rolls:oi.Opt(r("number_provider")),entries:oi.ListNode(r("loot_entry"))},a),{category:"pool",context:"loot_pool"}),{default:()=>({rolls:1,entries:[{type:"minecraft:item",name:"minecraft:stone"}]})}))),functions:oi.Opt(oi.ListNode(r("loot_function")))},{context:"loot_table"}),{default:()=>({pools:[{rolls:1,entries:[{type:"minecraft:item",name:"minecraft:stone"}]}]})}));const _={enabled:e=>{var t;return(null===(t=e.pop().get())||void 0===t?void 0:t.length)>1&&!["minecraft:alternatives","minecraft:group","minecraft:sequence"].includes(e.push("type").get())}};e.register("loot_entry",oi.Mod(oi.ObjectNode({type:o({validator:"resource",params:{pool:"loot_pool_entry_type"}}),weight:oi.Opt(oi.Mod(oi.NumberNode({integer:!0,min:1}),_)),quality:oi.Opt(oi.Mod(oi.NumberNode({integer:!0}),_)),[oi.Switch]:[{push:"type"}],[oi.Case]:{"minecraft:alternatives":m({children:oi.ListNode(r("loot_entry"))},a),"minecraft:dynamic":m({name:o()},a),"minecraft:group":m({children:oi.ListNode(r("loot_entry"))},a),"minecraft:item":m({name:o({validator:"resource",params:{pool:"item"}})},a),"minecraft:loot_table":m({name:o({validator:"resource",params:{pool:"$loot_table"}})},a),"minecraft:sequence":m({children:oi.ListNode(r("loot_entry"))},a),"minecraft:tag":m({name:o({validator:"resource",params:{pool:"$tag/item"}}),expand:oi.Opt(oi.BooleanNode())},a)}},{context:"loot_entry"}),{default:()=>({type:"minecraft:item",name:"minecraft:stone"})})),e.register("loot_function",oi.Mod(oi.ObjectNode({function:s,[oi.Switch]:[{push:"function"}],[oi.Case]:ai.FunctionCases(i,d,l)},{category:"function",context:"function"}),{default:()=>({function:"minecraft:set_count",count:1})})),e.register("loot_condition",oi.Mod(oi.ObjectNode({condition:c,[oi.Switch]:[{push:"condition"}],[oi.Case]:ai.ConditionCases(l)},{category:"predicate",context:"condition"}),{default:()=>({condition:"minecraft:random_chance",chance:.5})})),e.register("attribute_modifier",oi.Mod(oi.ObjectNode({attribute:o({validator:"resource",params:{pool:"attribute"}}),name:o(),amount:r("number_provider"),operation:o({enum:["addition","multiply_base","multiply_total"]}),slot:oi.StringOrList(o({enum:"slot"}))},{context:"attribute_modifier"}),{default:()=>({attribute:"minecraft:generic.max_health",name:"",amount:1,operation:"addition",slot:"mainhand"})}))};var ni={};Object.defineProperty(ni,"__esModule",{value:!0}),ni.initPackMcmetaSchemas=void 0;const ci=Be;ni.initPackMcmetaSchemas=function(e,t){e.register("pack_mcmeta",ci.Mod(ci.ObjectNode({pack:ci.Mod(ci.ObjectNode({pack_format:ci.Mod(ci.NumberNode({integer:!0,min:7,max:7}),{default:()=>7,canUpdate:(e,t)=>7!==t,update:()=>[{name:"pack_format",params:[7],newValue:7}]}),description:ci.Reference(e,"text_component")}),{default:()=>({pack_format:7,description:""})})}),{default:()=>({pack:{pack_format:7,description:""}})}))};var si={};Object.defineProperty(si,"__esModule",{value:!0}),si.initPredicatesSchemas=void 0;const li=Be;si.initPredicatesSchemas=function(e,t){const r=li.Reference.bind(void 0,e),o=li.StringNode.bind(void 0,t),i=li.ChoiceNode([{type:"string",node:o(),change:e=>"boolean"==typeof e||"number"==typeof e?e.toString():""},{type:"number",node:li.NumberNode(),change:e=>"string"==typeof e?parseInt(e):0},{type:"object",node:li.ObjectNode({min:li.Opt(li.NumberNode({integer:!0})),max:li.Opt(li.NumberNode({integer:!0}))}),change:e=>"number"==typeof e?{min:e,max:e}:{}},{type:"boolean",node:li.BooleanNode(),change:e=>"true"===e||1===e}]);e.register("item_predicate",li.ObjectNode({items:li.Opt(li.ListNode(o({validator:"resource",params:{pool:"item"}}))),tag:li.Opt(o({validator:"resource",params:{pool:"$tag/item"}})),count:r("int_bounds"),durability:r("int_bounds"),potion:li.Opt(o({validator:"resource",params:{pool:"potion"}})),nbt:li.Opt(o({validator:"nbt",params:{registry:{category:"minecraft:item",id:["pop",{push:"item"}]}}})),enchantments:li.Opt(li.ListNode(r("enchantment_predicate")))},{context:"item"})),e.register("enchantment_predicate",li.ObjectNode({enchantment:li.Opt(o({validator:"resource",params:{pool:"enchantment"}})),levels:r("int_bounds")},{context:"enchantment"})),e.register("block_predicate",li.ObjectNode({blocks:li.Opt(li.ListNode(o({validator:"resource",params:{pool:"block"}}))),tag:li.Opt(o({validator:"resource",params:{pool:"$tag/block"}})),nbt:li.Opt(o({validator:"nbt",params:{registry:{category:"minecraft:block",id:["pop",{push:"block"}]}}})),state:li.Opt(li.MapNode(o(),i,{validation:{validator:"block_state_map",params:{id:["pop",{push:"block"}]}}}))},{context:"block"})),e.register("fluid_predicate",li.ObjectNode({fluid:li.Opt(o({validator:"resource",params:{pool:"fluid"}})),tag:li.Opt(o({validator:"resource",params:{pool:"$tag/fluid"}})),state:li.Opt(li.MapNode(o(),i))},{context:"fluid"})),e.register("location_predicate",li.ObjectNode({position:li.Opt(li.ObjectNode({x:r("float_bounds"),y:r("float_bounds"),z:r("float_bounds")})),biome:li.Opt(o({validator:"resource",params:{pool:"$worldgen/biome"}})),feature:li.Opt(o({enum:t.get("worldgen/structure_feature").map((e=>e.slice(10)))})),dimension:li.Opt(o({validator:"resource",params:{pool:"$dimension"}})),light:li.Opt(li.ObjectNode({light:r("int_bounds")})),smokey:li.Opt(li.BooleanNode()),block:li.Opt(r("block_predicate")),fluid:li.Opt(r("fluid_predicate"))},{context:"location"})),e.register("statistic_predicate",li.ObjectNode({type:o({validator:"resource",params:{pool:"stat_type"}}),stat:o(),value:r("int_bounds"),[li.Switch]:[{push:"type"}],[li.Case]:{"minecraft:mined":{stat:o({validator:"resource",params:{pool:"block"}})},"minecraft:crafted":{stat:o({validator:"resource",params:{pool:"item"}})},"minecraft:used":{stat:o({validator:"resource",params:{pool:"item"}})},"minecraft:broken":{stat:o({validator:"resource",params:{pool:"item"}})},"minecraft:picked_up":{stat:o({validator:"resource",params:{pool:"item"}})},"minecraft:dropped":{stat:o({validator:"resource",params:{pool:"item"}})},"minecraft:killed":{stat:o({validator:"resource",params:{pool:"entity_type"}})},"minecraft:killed_by":{stat:o({validator:"resource",params:{pool:"entity_type"}})},"minecraft:custom":{stat:o({validator:"resource",params:{pool:"custom_stat"}})}}})),e.register("player_predicate",li.ObjectNode({gamemode:li.Opt(o({enum:"gamemode"})),level:r("int_bounds"),advancements:li.Opt(li.MapNode(o({validator:"resource",params:{pool:"$advancement"}}),li.ChoiceNode([{type:"boolean",node:li.BooleanNode(),change:e=>!0},{type:"object",node:li.MapNode(o(),li.BooleanNode())}]))),recipes:li.Opt(li.MapNode(o({validator:"resource",params:{pool:"$recipe"}}),li.BooleanNode())),stats:li.Opt(li.ListNode(r("statistic_predicate"))),looking_at:li.Opt(r("entity_predicate"))},{context:"player"})),e.register("status_effect_predicate",li.ObjectNode({amplifier:r("int_bounds"),duration:r("int_bounds"),ambient:li.Opt(li.BooleanNode()),visible:li.Opt(li.BooleanNode())},{context:"status_effect"})),e.register("distance_predicate",li.ObjectNode({x:r("float_bounds"),y:r("float_bounds"),z:r("float_bounds"),absolute:r("float_bounds"),horizontal:r("float_bounds")},{context:"distance"})),e.register("entity_predicate",li.ObjectNode({type:li.Opt(o({validator:"resource",params:{pool:"entity_type",allowTag:!0}})),nbt:li.Opt(o({validator:"nbt",params:{registry:{category:"minecraft:entity",id:["pop",{push:"type"}]}}})),team:li.Opt(o({validator:"team"})),location:li.Opt(r("location_predicate")),stepping_on:li.Opt(r("location_predicate")),distance:li.Opt(r("distance_predicate")),flags:li.Opt(li.ObjectNode({is_on_fire:li.Opt(li.BooleanNode()),is_sneaking:li.Opt(li.BooleanNode()),is_sprinting:li.Opt(li.BooleanNode()),is_swimming:li.Opt(li.BooleanNode()),is_baby:li.Opt(li.BooleanNode())})),equipment:li.Opt(li.MapNode(o({enum:"slot"}),r("item_predicate"))),player:li.Opt(r("player_predicate")),vehicle:li.Opt(r("entity_predicate")),passenger:li.Opt(r("entity_predicate")),targeted_entity:li.Opt(r("entity_predicate")),lightning_bolt:li.Opt(li.ObjectNode({blocks_set_on_fire:li.Opt(r("int_bounds")),entity_struck:li.Opt(r("entity_predicate"))})),fishing_hook:li.Opt(li.ObjectNode({in_open_water:li.Opt(li.BooleanNode())})),effects:li.Opt(li.MapNode(o({validator:"resource",params:{pool:"mob_effect"}}),r("status_effect_predicate")))},{context:"entity"})),e.register("damage_source_predicate",li.ObjectNode({is_explosion:li.Opt(li.BooleanNode()),is_fire:li.Opt(li.BooleanNode()),is_magic:li.Opt(li.BooleanNode()),is_projectile:li.Opt(li.BooleanNode()),is_lightning:li.Opt(li.BooleanNode()),bypasses_armor:li.Opt(li.BooleanNode()),bypasses_invulnerability:li.Opt(li.BooleanNode()),bypasses_magic:li.Opt(li.BooleanNode()),source_entity:li.Opt(r("entity_predicate")),direct_entity:li.Opt(r("entity_predicate"))},{context:"damage_source"})),e.register("damage_predicate",li.ObjectNode({dealt:r("float_bounds"),taken:r("float_bounds"),blocked:li.Opt(li.BooleanNode()),source_entity:li.Opt(r("entity_predicate")),type:li.Opt(r("damage_source_predicate"))},{context:"damage"}))};var di={};Object.defineProperty(di,"__esModule",{value:!0}),di.initRecipeSchemas=void 0;const mi=Be;di.initRecipeSchemas=function(e,t){const r=mi.Reference.bind(void 0,e),o=mi.StringNode.bind(void 0,t);e.register("recipe",mi.Mod(mi.ObjectNode({type:o({validator:"resource",params:{pool:"recipe_serializer"}}),[mi.Switch]:[{push:"type"}],[mi.Case]:{"minecraft:crafting_shaped":{group:mi.Opt(o({enum:"recipe_group",additional:!0})),pattern:mi.ListNode(o()),key:mi.MapNode(o(),r("recipe_ingredient")),result:r("recipe_result")},"minecraft:crafting_shapeless":{group:mi.Opt(o()),ingredients:mi.ListNode(r("recipe_ingredient")),result:r("recipe_result")},"minecraft:smelting":{group:mi.Opt(o()),ingredient:r("recipe_ingredient"),result:o({validator:"resource",params:{pool:"item"}}),experience:mi.Opt(mi.NumberNode()),cookingtime:mi.Opt(mi.Mod(mi.NumberNode({integer:!0}),{default:()=>200}))},"minecraft:blasting":{group:mi.Opt(o()),ingredient:r("recipe_ingredient"),result:o({validator:"resource",params:{pool:"item"}}),experience:mi.Opt(mi.NumberNode()),cookingtime:mi.Opt(mi.Mod(mi.NumberNode({integer:!0}),{default:()=>100}))},"minecraft:smoking":{group:mi.Opt(o()),ingredient:r("recipe_ingredient"),result:o({validator:"resource",params:{pool:"item"}}),experience:mi.Opt(mi.NumberNode()),cookingtime:mi.Opt(mi.Mod(mi.NumberNode({integer:!0}),{default:()=>100}))},"minecraft:campfire_cooking":{group:mi.Opt(o()),ingredient:r("recipe_ingredient"),result:o({validator:"resource",params:{pool:"item"}}),experience:mi.Opt(mi.NumberNode()),cookingtime:mi.Opt(mi.Mod(mi.NumberNode({integer:!0}),{default:()=>100}))},"minecraft:stonecutting":{group:mi.Opt(o()),ingredient:r("recipe_ingredient"),result:o({validator:"resource",params:{pool:"item"}}),count:mi.NumberNode({integer:!0})},"minecraft:smithing":{group:mi.Opt(o()),base:r("recipe_ingredient_object"),addition:r("recipe_ingredient_object"),result:r("recipe_result")}}},{context:"recipe"}),{default:()=>({type:"minecraft:crafting_shaped"})})),e.register("recipe_ingredient",mi.Mod(mi.ChoiceNode([{type:"object",node:r("recipe_ingredient_object"),change:e=>e[0]},{type:"list",node:mi.ListNode(r("recipe_ingredient_object")),change:e=>[e]}]),{default:()=>({item:"minecraft:stone"})})),e.register("recipe_ingredient_object",mi.Mod(mi.ObjectNode({item:mi.Opt(o({validator:"resource",params:{pool:"item"}})),tag:mi.Opt(o({validator:"resource",params:{pool:"$tag/item"}}))}),{default:()=>({item:"minecraft:stone"})})),e.register("recipe_result",mi.Mod(mi.ObjectNode({item:o({validator:"resource",params:{pool:"item"}}),count:mi.Opt(mi.Mod(mi.NumberNode({integer:!0}),{default:()=>1}))}),{default:()=>({item:"minecraft:stone"})}))};var _i={};Object.defineProperty(_i,"__esModule",{value:!0}),_i.initTagsSchemas=void 0;const pi=Be;_i.initTagsSchemas=function(e,t){const r=pi.StringNode.bind(void 0,t),o=e=>pi.Mod(pi.ObjectNode({replace:pi.Opt(pi.BooleanNode()),values:pi.ListNode(pi.ChoiceNode([{type:"string",node:r({validator:"resource",params:{pool:e,allowTag:!0}}),change:e=>e.id},{type:"object",node:pi.ObjectNode({id:r({validator:"resource",params:{pool:e,allowTag:!0,allowUnknown:!0}}),required:pi.BooleanNode()}),change:e=>({id:e})}]))},{context:"tag"}),{default:()=>({values:[]})});e.register("block_tag",o("block")),e.register("entity_type_tag",o("entity_type")),e.register("fluid_tag",o("fluid")),e.register("function_tag",o("$function")),e.register("game_event_tag",o("game_event")),e.register("item_tag",o("item"))};var ui={};Object.defineProperty(ui,"__esModule",{value:!0}),ui.initTextComponentSchemas=void 0;const fi=Be;ui.initTextComponentSchemas=function(e,t){const r=fi.Reference.bind(void 0,e),o=fi.StringNode.bind(void 0,t),i=e=>{var t;return e instanceof Array?i(e[0]):null!==(t=null==e?void 0:e.text)&&void 0!==t?t:"object"==typeof e?"":null==e?void 0:e.toString()};e.register("text_component",fi.Mod(fi.ChoiceNode([{type:"object",node:r("text_component_object"),change:e=>e instanceof Array?"object"==typeof e[0]?e[0]:{text:i(e[0])}:"object"==typeof e?e:{text:i(e)}},{type:"list",node:r("text_component_list"),change:e=>[e]},{type:"string",priority:1,node:o(),change:i},{type:"number",node:fi.NumberNode(),change:e=>{const t=parseFloat(i(e));return isFinite(t)?t:e?1:0}},{type:"boolean",node:fi.BooleanNode(),change:e=>{const t=i(e);return"true"===t||"false"===t?"true"===t:!!t}}],{context:"text_component"}),{default:()=>({text:""})}));const a={color:fi.Opt(o()),font:fi.Opt(o()),bold:fi.Opt(fi.BooleanNode()),italic:fi.Opt(fi.BooleanNode()),underlined:fi.Opt(fi.BooleanNode()),strikethrough:fi.Opt(fi.BooleanNode()),obfuscated:fi.Opt(fi.BooleanNode()),insertion:fi.Opt(o()),clickEvent:fi.Opt(fi.ObjectNode({action:o({enum:["open_url","open_file","run_command","suggest_command","change_page","copy_to_clipboard"]}),[fi.Switch]:[{push:"action"}],[fi.Case]:{change_page:{value:o()},copy_to_clipboard:{value:o()},open_file:{value:o()},open_url:{value:o()},run_command:{value:o({validator:"command",params:{leadingSlash:!0,allowPartial:!0}})},suggest_command:{value:o({validator:"command",params:{leadingSlash:!0,allowPartial:!0}})}}})),hoverEvent:fi.Opt(fi.ObjectNode({action:o({enum:["show_text","show_item","show_entity"]}),[fi.Switch]:[{push:"action"}],[fi.Case]:{show_text:{value:fi.Opt(r("text_component")),contents:fi.Opt(r("text_component"))},show_item:{value:fi.Opt(o({validator:"nbt",params:{module:"util::InventoryItem"}})),contents:fi.Opt(fi.ObjectNode({id:o({validator:"resource",params:{pool:"item"}}),count:fi.Opt(fi.NumberNode({integer:!0})),tag:fi.Opt(o({validator:"nbt",params:{registry:{category:"minecraft:item",id:["pop",{push:"id"}]}}}))}))},show_entity:{value:fi.Opt(fi.ObjectNode({name:fi.Opt(o()),type:fi.Opt(o()),id:fi.Opt(o())})),contents:fi.Opt(fi.Mod(fi.ObjectNode({name:fi.Opt(r("text_component")),type:o({validator:"resource",params:{pool:"entity_type"}}),id:o({validator:"uuid"})}),{default:()=>({type:"minecraft:pig",id:"00000001-0001-0001-0001-000000000001"})}))}}})),extra:fi.Opt(r("text_component_list"))};e.register("text_component_object",fi.Mod(fi.ChoiceNode([{type:"text",match:e=>"object"==typeof e,change:e=>({text:""}),priority:-1,node:fi.ObjectNode(m({text:o()},a))},{type:"translation",match:e=>void 0!==(null==e?void 0:e.translate),change:e=>({translate:""}),node:fi.ObjectNode(m({translate:o(),with:fi.Opt(r("text_component_list"))},a))},{type:"score",match:e=>void 0!==(null==e?void 0:e.score),change:e=>({score:{}}),node:fi.ObjectNode(m({score:fi.ObjectNode({name:o({validator:"entity",params:{amount:"single",type:"entities",isScoreHolder:!0}}),objective:o({validator:"objective"}),value:fi.Opt(o())})},a))},{type:"selector",match:e=>void 0!==(null==e?void 0:e.selector),change:e=>({selector:""}),node:fi.ObjectNode(m({selector:o({validator:"entity",params:{amount:"multiple",type:"entities"}}),separator:fi.Opt(r("text_component"))},a))},{type:"keybind",match:e=>void 0!==(null==e?void 0:e.keybind),change:e=>({keybind:""}),node:fi.ObjectNode(m({keybind:o({enum:"keybind",additional:!0})},a))},{type:"nbt",match:e=>void 0!==(null==e?void 0:e.nbt),change:e=>({nbt:""}),node:fi.ObjectNode(m({nbt:o({validator:"nbt_path"}),block:fi.Opt(o({validator:"vector",params:{dimension:3,isInteger:!0}})),entity:fi.Opt(o({validator:"entity",params:{amount:"multiple",type:"entities"}})),storage:fi.Opt(o({validator:"resource",params:{pool:"$storage"}})),interpret:fi.Opt(fi.BooleanNode()),separator:fi.Opt(r("text_component"))},a))}],{context:"text_component_object",choiceContext:"text_component.object"}),{default:()=>({text:""})})),e.register("text_component_list",fi.Mod(fi.ListNode(r("text_component")),{default:()=>[{text:""}]}))};var gi={},bi={};Object.defineProperty(bi,"__esModule",{value:!0}),bi.initBiomeSchemas=void 0;const hi=Be;bi.initBiomeSchemas=function(e,t){const r=hi.StringNode.bind(void 0,t);e.register("biome",hi.Mod(hi.ObjectNode({surface_builder:r({validator:"resource",params:{pool:"$worldgen/configured_surface_builder"}}),depth:hi.NumberNode(),scale:hi.NumberNode(),temperature:hi.NumberNode(),downfall:hi.NumberNode(),precipitation:r({enum:["none","rain","snow"]}),temperature_modifier:hi.Opt(r({enum:["none","frozen"]})),category:r({enum:"biome_category"}),player_spawn_friendly:hi.Opt(hi.BooleanNode()),creature_spawn_probability:hi.Opt(hi.NumberNode({min:0,max:1})),effects:hi.ObjectNode({sky_color:hi.NumberNode({color:!0}),fog_color:hi.NumberNode({color:!0}),water_color:hi.NumberNode({color:!0}),water_fog_color:hi.NumberNode({color:!0}),grass_color:hi.Opt(hi.NumberNode({color:!0})),foliage_color:hi.Opt(hi.NumberNode({color:!0})),grass_color_modifier:hi.Opt(r({enum:["none","dark_forest","swamp"]})),ambient_sound:hi.Opt(r()),mood_sound:hi.Opt(hi.ObjectNode({sound:r(),tick_delay:hi.NumberNode({integer:!0}),block_search_extent:hi.NumberNode({integer:!0}),offset:hi.NumberNode()})),additions_sound:hi.Opt(hi.ObjectNode({sound:r(),tick_chance:hi.NumberNode({min:0,max:1})})),music:hi.Opt(hi.ObjectNode({sound:r(),min_delay:hi.NumberNode({integer:!0,min:0}),max_delay:hi.NumberNode({integer:!0,min:0}),replace_current_music:hi.BooleanNode()})),particle:hi.Opt(hi.ObjectNode({options:hi.ObjectNode({type:r()}),probability:hi.NumberNode({min:0,max:1})}))}),starts:hi.ListNode(r({validator:"resource",params:{pool:"$worldgen/configured_structure_feature"}})),spawners:hi.MapNode(r({enum:["monster","creature","ambient","underground_water_creature","water_creature","water_ambient","misc"]}),hi.Mod(hi.ListNode(hi.ObjectNode({type:r({validator:"resource",params:{pool:"entity_type"}}),weight:hi.NumberNode({integer:!0}),minCount:hi.NumberNode({integer:!0}),maxCount:hi.NumberNode({integer:!0})})),{category:()=>"pool",default:()=>[{type:"minecraft:bat",weight:1}]})),spawn_costs:hi.MapNode(r({validator:"resource",params:{pool:"entity_type"}}),hi.Mod(hi.ObjectNode({energy_budget:hi.NumberNode(),charge:hi.NumberNode()},{category:"function"}),{default:()=>({energy_budget:.12,charge:1})})),carvers:hi.MapNode(r({enum:["air","liquid"]}),hi.Mod(hi.ListNode(r({validator:"resource",params:{pool:"$worldgen/configured_carver"}})),{default:()=>["minecraft:cave"]})),features:hi.ListNode(hi.Mod(hi.ListNode(r({validator:"resource",params:{pool:"$worldgen/configured_feature"}})),{category:()=>"predicate"}),{maxLength:10})},{context:"biome"}),{default:()=>({surface_builder:"minecraft:grass",depth:.125,scale:.05,temperature:.8,downfall:.4,precipitation:"rain",category:"plains",effects:{sky_color:7907327,fog_color:12638463,water_color:4159204,water_fog_color:329011}})}))};var yi={};Object.defineProperty(yi,"__esModule",{value:!0}),yi.initCarverSchemas=void 0;const vi=Be,Ni=Eo;yi.initCarverSchemas=function(e,t){const r=vi.Reference.bind(void 0,e),o=vi.StringNode.bind(void 0,t),i={vertical_rotation:Ni.FloatProvider(),shape:vi.ObjectNode({distance_factor:Ni.FloatProvider(),thickness:Ni.FloatProvider(),width_smoothness:vi.NumberNode({integer:!0,min:0}),horizontal_radius_factor:Ni.FloatProvider(),vertical_radius_default_factor:vi.NumberNode(),vertical_radius_center_factor:vi.NumberNode()})},a={horizontal_radius_multiplier:Ni.FloatProvider(),vertical_radius_multiplier:Ni.FloatProvider(),floor_level:Ni.FloatProvider({min:-1,max:1})};e.register("configured_carver",vi.Mod(vi.ObjectNode({type:o({validator:"resource",params:{pool:"worldgen/carver"}}),config:vi.ObjectNode({probability:vi.NumberNode({min:0,max:1}),y:r("height_provider"),yScale:Ni.FloatProvider(),lava_level:r("vertical_anchor"),aquifers_enabled:vi.BooleanNode(),debug_settings:vi.Opt(vi.ObjectNode({debug_mode:vi.Opt(vi.BooleanNode()),air_state:vi.Opt(r("block_state")),water_state:vi.Opt(r("block_state")),lava_state:vi.Opt(r("block_state")),barrier_state:vi.Opt(r("block_state"))})),[vi.Switch]:["pop",{push:"type"}],[vi.Case]:{"minecraft:canyon":i,"minecraft:cave":a,"minecraft:nether_cave":a}})},{context:"carver"}),{default:()=>({type:"minecraft:cave",config:{probability:.1}})}))};var Oi={};Object.defineProperty(Oi,"__esModule",{value:!0}),Oi.initDecoratorSchemas=void 0;const ki=Be,xi=Eo;Oi.initDecoratorSchemas=function(e,t){const r=ki.Reference.bind(void 0,e),o=ki.StringNode.bind(void 0,t),i={count:xi.IntProvider({min:0,max:256})};e.register("configured_decorator",ki.ObjectNode({type:o({validator:"resource",params:{pool:"worldgen/decorator"}}),config:ki.ObjectNode({[ki.Switch]:["pop",{push:"type"}],[ki.Case]:{"minecraft:carving_mask":{step:o({enum:"generation_step"})},"minecraft:cave_surface":{surface:o({enum:["floor","ceiling"]}),floor_to_ceiling_search_range:ki.NumberNode({integer:!0})},"minecraft:chance":{chance:ki.NumberNode({integer:!0,min:0})},"minecraft:count":i,"minecraft:count_extra":{count:ki.NumberNode({integer:!0,min:0}),extra_count:ki.NumberNode({integer:!0,min:0}),extra_chance:ki.NumberNode({min:0,max:1})},"minecraft:count_multilayer":i,"minecraft:count_noise":{noise_level:ki.NumberNode(),below_noise:ki.NumberNode({integer:!0}),above_noise:ki.NumberNode({integer:!0})},"minecraft:count_noise_biased":{noise_to_count_ratio:ki.NumberNode({integer:!0}),noise_factor:ki.NumberNode(),noise_offset:ki.Opt(ki.NumberNode())},"minecraft:decorated":{outer:r("configured_decorator"),inner:r("configured_decorator")},"minecraft:heightmap":{heightmap:o({enum:"heightmap_type"})},"minecraft:heightmap_spread_double":{heightmap:o({enum:"heightmap_type"})},"minecraft:lava_lake":{chance:ki.NumberNode({integer:!0,min:0})},"minecraft:range":{height:r("height_provider")},"minecraft:water_depth_threshold":{max_water_depth:ki.NumberNode({integer:!0})}}},{context:"decorator",category:"predicate"})},{context:"decorator",category:"predicate"}))};var wi={},ji={};Object.defineProperty(ji,"__esModule",{value:!0}),ji.initProcessorListSchemas=ji.Processors=void 0;const Si=Be;ji.initProcessorListSchemas=function(e,t){const r=Si.Reference.bind(void 0,e),o=Si.StringNode.bind(void 0,t);ji.Processors=Si.ChoiceNode([{type:"string",node:o({validator:"resource",params:{pool:"$worldgen/processor_list"}}),change:e=>{}},{type:"object",node:r("processor_list"),change:e=>({processors:[{processor_type:"minecraft:nop"}]})}]),e.register("processor_list",Si.Mod(Si.ObjectNode({processors:Si.ListNode(r("processor"))},{context:"processor_list"}),{default:()=>({processors:[{processor_type:"minecraft:rule",rules:[{location_predicate:{predicate_type:"minecraft:always_true"},input_predicate:{predicate_type:"minecraft:always_true"}}]}]})})),e.register("processor",Si.Mod(Si.ObjectNode({processor_type:o({validator:"resource",params:{pool:"worldgen/structure_processor"}}),[Si.Switch]:[{push:"processor_type"}],[Si.Case]:{"minecraft:block_age":{mossiness:Si.NumberNode()},"minecraft:block_ignore":{blocks:Si.ListNode(r("block_state"))},"minecraft:block_rot":{integrity:Si.NumberNode({min:0,max:1})},"minecraft:gravity":{heightmap:o({enum:"heightmap_type"}),offset:Si.NumberNode({integer:!0})},"minecraft:protected_blocks":{value:o({validator:"resource",params:{pool:"$tag/block"}})},"minecraft:rule":{rules:Si.ListNode(r("processor_rule"))}}},{category:"function",context:"processor"}),{default:()=>({processor_type:"minecraft:rule",rules:[{location_predicate:{predicate_type:"minecraft:always_true"},input_predicate:{predicate_type:"minecraft:always_true"}}]})})),e.register("processor_rule",Si.Mod(Si.ObjectNode({position_predicate:Si.Opt(r("pos_rule_test")),location_predicate:r("rule_test"),input_predicate:r("rule_test"),output_state:r("block_state"),output_nbt:Si.Opt(o({validator:"nbt",params:{registry:{category:"minecraft:block"}}}))},{category:"predicate",context:"processor_rule"}),{default:()=>({location_predicate:{predicate_type:"minecraft:always_true"},input_predicate:{predicate_type:"minecraft:always_true"}})}));const i={min_dist:Si.Opt(Si.NumberNode({min:0,max:255,integer:!0})),max_dist:Si.Opt(Si.NumberNode({min:0,max:255,integer:!0})),min_chance:Si.Opt(Si.NumberNode({min:0,max:1})),max_chance:Si.Opt(Si.NumberNode({min:0,max:1}))};e.register("pos_rule_test",Si.ObjectNode({predicate_type:o({validator:"resource",params:{pool:"pos_rule_test"}}),[Si.Switch]:[{push:"predicate_type"}],[Si.Case]:{"minecraft:axis_aligned_linear_pos":m({axis:o({enum:["x","y","z"]})},i),"minecraft:linear_pos":i}},{context:"pos_rule_test",disableSwitchContext:!0})),e.register("rule_test",Si.ObjectNode({predicate_type:o({validator:"resource",params:{pool:"rule_test"}}),[Si.Switch]:[{push:"predicate_type"}],[Si.Case]:{"minecraft:block_match":{block:o({validator:"resource",params:{pool:"block"}})},"minecraft:blockstate_match":{block_state:r("block_state")},"minecraft:random_block_match":{block:o({validator:"resource",params:{pool:"block"}}),probability:Si.NumberNode({min:0,max:1})},"minecraft:random_blockstate_match":{block_state:r("block_state"),probability:Si.NumberNode({min:0,max:1})},"minecraft:tag_match":{tag:o({validator:"resource",params:{pool:"$tag/block"}})}}},{context:"rule_test",disableSwitchContext:!0}))},Object.defineProperty(wi,"__esModule",{value:!0}),wi.initFeatureSchemas=void 0;const Mi=Be,Ci=Eo,Pi=ji;wi.initFeatureSchemas=function(e,t){const r=Mi.Reference.bind(void 0,e),o=Mi.StringNode.bind(void 0,t),i={can_replace:Mi.Opt(Mi.BooleanNode()),project:Mi.Opt(Mi.BooleanNode()),need_water:Mi.Opt(Mi.BooleanNode()),xspread:Mi.Opt(Mi.NumberNode({integer:!0,min:0})),yspread:Mi.Opt(Mi.NumberNode({integer:!0,min:0})),zspread:Mi.Opt(Mi.NumberNode({integer:!0,min:0})),tries:Mi.Opt(Mi.NumberNode({integer:!0,min:1})),state_provider:r("block_state_provider"),block_placer:r("block_placer"),whitelist:Mi.ListNode(r("block_state")),blacklist:Mi.ListNode(r("block_state"))},a={state:r("block_state"),radius:Ci.IntProvider({min:0,max:8}),half_height:Mi.NumberNode({integer:!0,min:0,max:4}),targets:Mi.ListNode(r("block_state"))},n={cap_provider:r("block_state_provider"),stem_provider:r("block_state_provider"),foliage_radius:Mi.Opt(Mi.NumberNode({integer:!0}))},c=Mi.ObjectNode({target:r("rule_test"),state:r("block_state")}),s={size:Mi.NumberNode({integer:!0,min:0,max:64}),discard_chance_on_air_exposure:Mi.NumberNode({min:0,max:1}),targets:Mi.ListNode(c)},l=Mi.ChoiceNode([{type:"string",node:o({validator:"resource",params:{pool:"$worldgen/configured_feature"}})},{type:"object",node:r("configured_feature")}],{choiceContext:"feature"}),d={surface:o({enum:["floor","ceiling"]}),depth:Ci.IntProvider({min:1,max:128}),vertical_range:Mi.NumberNode({integer:!0,min:1,max:256}),extra_bottom_block_chance:Mi.NumberNode({min:0,max:1}),extra_edge_column_chance:Mi.NumberNode({min:0,max:1}),vegetation_chance:Mi.NumberNode({min:0,max:1}),xz_radius:Ci.IntProvider(),replaceable:o({validator:"resource",params:{pool:"$tag/block"}}),ground_state:r("block_state_provider"),vegetation_feature:l};e.register("configured_feature",Mi.Mod(Mi.ObjectNode({type:o({validator:"resource",params:{pool:"worldgen/feature"}}),config:Mi.ObjectNode({[Mi.Switch]:["pop",{push:"type"}],[Mi.Case]:{"minecraft:bamboo":{probability:Mi.NumberNode({min:0,max:1})},"minecraft:basalt_columns":{reach:Ci.IntProvider({min:0,max:3}),height:Ci.IntProvider({min:1,max:10})},"minecraft:block_pile":{state_provider:r("block_state_provider")},"minecraft:decorated":{decorator:r("configured_decorator"),feature:l},"minecraft:decorated_flower":{decorator:r("configured_decorator"),feature:l},"minecraft:delta_feature":{contents:r("block_state"),rim:r("block_state"),size:Ci.IntProvider({min:0,max:16}),rim_size:Ci.IntProvider({min:0,max:16})},"minecraft:disk":a,"minecraft:dripstone_cluster":{floor_to_ceiling_search_range:Mi.NumberNode({integer:!0,min:1,max:512}),height:Ci.IntProvider({min:0,max:128}),radius:Ci.IntProvider({min:0,max:128}),max_stalagmite_stalactite_height_diff:Mi.NumberNode({integer:!0,min:0,max:64}),height_deviation:Mi.NumberNode({integer:!0,min:1,max:64}),dripstone_block_layer_thickness:Ci.IntProvider({min:0,max:128}),density:Ci.FloatProvider({min:0,max:2}),wetness:Ci.FloatProvider({min:0,max:2}),chance_of_dripstone_column_at_max_distance_from_center:Mi.NumberNode({min:0,max:1}),max_distance_from_edge_affecting_chance_of_dripstone_column:Mi.NumberNode({integer:!0,min:1,max:64}),max_distance_from_center_affecting_height_bias:Mi.NumberNode({integer:!0,min:1,max:64})},"minecraft:end_gateway":{exact:Mi.BooleanNode(),exit:Mi.Opt(r("block_pos"))},"minecraft:end_spike":{crystal_invulnerable:Mi.Opt(Mi.BooleanNode()),crystal_beam_target:Mi.Opt(r("block_pos")),spikes:Mi.ListNode(Mi.ObjectNode({centerX:Mi.Opt(Mi.NumberNode({integer:!0})),centerZ:Mi.Opt(Mi.NumberNode({integer:!0})),radius:Mi.Opt(Mi.NumberNode({integer:!0})),height:Mi.Opt(Mi.NumberNode({integer:!0})),guarded:Mi.Opt(Mi.BooleanNode())}))},"minecraft:fill_layer":{state:r("block_state"),height:Mi.NumberNode({integer:!0,min:0,max:255})},"minecraft:flower":i,"minecraft:forest_rock":{state:r("block_state")},"minecraft:fossil":{max_empty_corners_allowed:Mi.NumberNode({integer:!0,min:0,max:7}),fossil_structures:Mi.ListNode(o({validator:"resource",params:{pool:"$structure"}})),overlay_structures:Mi.ListNode(o({validator:"resource",params:{pool:"$structure"}})),fossil_processors:Pi.Processors,overlay_processors:Pi.Processors},"minecraft:geode":{blocks:Mi.ObjectNode({filling_provider:r("block_state_provider"),inner_layer_provider:r("block_state_provider"),alternate_inner_layer_provider:r("block_state_provider"),middle_layer_provider:r("block_state_provider"),outer_layer_provider:r("block_state_provider"),inner_placements:Mi.ListNode(r("block_state")),cannot_replace:o({validator:"resource",params:{pool:"$tag/block"}}),invalid_blocks:o({validator:"resource",params:{pool:"$tag/block"}})}),layers:Mi.ObjectNode({filling:Mi.Opt(Mi.NumberNode({min:.01,max:50})),inner_layer:Mi.Opt(Mi.NumberNode({min:.01,max:50})),middle_layer:Mi.Opt(Mi.NumberNode({min:.01,max:50})),outer_layer:Mi.Opt(Mi.NumberNode({min:.01,max:50}))}),crack:Mi.ObjectNode({generate_crack_chance:Mi.Opt(Mi.NumberNode({min:0,max:1})),base_crack_size:Mi.Opt(Mi.NumberNode({min:0,max:5})),crack_point_offset:Mi.Opt(Mi.NumberNode({min:0,max:10,integer:!0}))}),noise_multiplier:Mi.Opt(Mi.NumberNode({min:0,max:1})),use_potential_placements_chance:Mi.Opt(Mi.NumberNode({min:0,max:1})),use_alternate_layer0_chance:Mi.Opt(Mi.NumberNode({min:0,max:1})),placements_require_layer0_alternate:Mi.Opt(Mi.BooleanNode()),outer_wall_distance:Mi.Opt(Ci.IntProvider({min:1,max:20})),distribution_points:Mi.Opt(Ci.IntProvider({min:1,max:20})),point_offset:Mi.Opt(Ci.IntProvider({min:0,max:10})),min_gen_offset:Mi.Opt(Mi.NumberNode({integer:!0})),max_gen_offset:Mi.Opt(Mi.NumberNode({integer:!0})),invalid_blocks_threshold:Mi.NumberNode({integer:!0})},"minecraft:glow_lichen":{search_range:Mi.Opt(Mi.NumberNode({min:1,max:64,integer:!0})),chance_of_spreading:Mi.Opt(Mi.NumberNode({min:0,max:1})),can_place_on_floor:Mi.Opt(Mi.BooleanNode()),can_place_on_ceiling:Mi.Opt(Mi.BooleanNode()),can_place_on_wall:Mi.Opt(Mi.BooleanNode()),can_be_placed_on:Mi.ListNode(r("block_state"))},"minecraft:growing_plant":{direction:o({enum:["up","down","north","east","south","west"]}),allow_water:Mi.BooleanNode(),height_distribution:Mi.ListNode(Mi.ObjectNode({weight:Mi.NumberNode({integer:!0}),data:Ci.IntProvider()})),body_provider:r("block_state_provider"),head_provider:r("block_state_provider")},"minecraft:huge_brown_mushroom":n,"minecraft:huge_fungus":{hat_state:r("block_state"),decor_state:r("block_state"),stem_state:r("block_state"),valid_base_block:r("block_state"),planted:Mi.Opt(Mi.BooleanNode())},"minecraft:huge_red_mushroom":n,"minecraft:ice_patch":a,"minecraft:iceberg":{state:r("block_state")},"minecraft:lake":{state:r("block_state")},"minecraft:large_dripstone":{floor_to_ceiling_search_range:Mi.Opt(Mi.NumberNode({integer:!0,min:1,max:512})),column_radius:Ci.IntProvider({min:0,max:60}),height_scale:Ci.FloatProvider({min:0,max:20}),max_column_radius_to_cave_height_ratio:Mi.NumberNode({min:0,max:1}),stalactite_bluntness:Ci.FloatProvider({min:.1,max:10}),stalagmite_bluntness:Ci.FloatProvider({min:.1,max:10}),wind_speed:Ci.FloatProvider({min:0,max:2}),min_radius_for_wind:Mi.NumberNode({integer:!0,min:0,max:100}),min_bluntness_for_wind:Mi.NumberNode({min:0,max:5})},"minecraft:nether_forest_vegetation":{state_provider:r("block_state_provider")},"minecraft:netherrack_replace_blobs":{state:r("block_state"),target:r("block_state"),radius:Ci.IntProvider({min:0,max:12})},"minecraft:no_bonemeal_flower":i,"minecraft:ore":s,"minecraft:random_patch":i,"minecraft:random_boolean_selector":{feature_false:l,feature_true:l},"minecraft:random_selector":{features:Mi.ListNode(Mi.ObjectNode({chance:Mi.NumberNode({min:0,max:1}),feature:l})),default:l},"minecraft:replace_single_block":{targets:Mi.ListNode(c)},"minecraft:root_system":{required_vertical_space_for_tree:Mi.NumberNode({integer:!0,min:1,max:64}),root_radius:Mi.NumberNode({integer:!0,min:1,max:64}),root_placement_attempts:Mi.NumberNode({integer:!0,min:1,max:256}),root_column_max_height:Mi.NumberNode({integer:!0,min:1,max:4096}),hanging_root_radius:Mi.NumberNode({integer:!0,min:1,max:64}),hanging_roots_vertical_span:Mi.NumberNode({integer:!0,min:0,max:16}),hanging_root_placement_attempts:Mi.NumberNode({integer:!0,min:0,max:256}),allowed_vertical_water_for_tree:Mi.NumberNode({integer:!0,min:1,max:64}),root_replaceable:o({validator:"resource",params:{pool:"$tag/block"}}),root_state_provider:r("block_state_provider"),hanging_root_state_provider:r("block_state_provider"),feature:l},"minecraft:scattered_ore":s,"minecraft:sea_pickle":{count:Ci.IntProvider({min:0,max:256})},"minecraft:seagrass":{probability:Mi.NumberNode({min:0,max:1})},"minecraft:simple_block":{to_place:r("block_state_provider"),place_on:Mi.ListNode(r("block_state")),place_in:Mi.ListNode(r("block_state")),place_under:Mi.ListNode(r("block_state"))},"minecraft:simple_random_selector":{features:Mi.ListNode(l)},"minecraft:small_dripstone":{max_placements:Mi.Opt(Mi.NumberNode({integer:!0,min:0,max:100})),empty_space_search_radius:Mi.Opt(Mi.NumberNode({integer:!0,min:0,max:20})),max_offset_from_origin:Mi.Opt(Mi.NumberNode({integer:!0,min:0,max:20})),chance_of_taller_dripstone:Mi.Opt(Mi.NumberNode({min:0,max:1}))},"minecraft:spring_feature":{state:r("fluid_state"),rock_count:Mi.NumberNode({integer:!0}),hole_count:Mi.NumberNode({integer:!0}),requires_block_below:Mi.BooleanNode(),valid_blocks:Mi.ListNode(o({validator:"resource",params:{pool:"block"}}))},"minecraft:tree":{ignore_vines:Mi.Opt(Mi.BooleanNode()),force_dirt:Mi.Opt(Mi.BooleanNode()),minimum_size:r("feature_size"),dirt_provider:r("block_state_provider"),sapling_provider:r("block_state_provider"),trunk_provider:r("block_state_provider"),foliage_provider:r("block_state_provider"),trunk_placer:Mi.ObjectNode({type:o({validator:"resource",params:{pool:"worldgen/trunk_placer_type"}}),base_height:Mi.NumberNode({integer:!0,min:0,max:32}),height_rand_a:Mi.NumberNode({integer:!0,min:0,max:24}),height_rand_b:Mi.NumberNode({integer:!0,min:0,max:24}),[Mi.Switch]:[{push:"type"}],[Mi.Case]:{"minecraft:bending_trunk_placer":{bend_length:Ci.IntProvider({min:1,max:64}),min_height_for_leaves:Mi.Opt(Mi.NumberNode({integer:!0,min:1}))}}},{context:"trunk_placer"}),foliage_placer:Mi.ObjectNode({type:o({validator:"resource",params:{pool:"worldgen/foliage_placer_type"}}),radius:Ci.IntProvider({min:0,max:16}),offset:Ci.IntProvider({min:0,max:16}),[Mi.Switch]:[{push:"type"}],[Mi.Case]:{"minecraft:blob_foliage_placer":{height:Mi.NumberNode({integer:!0,min:0,max:16})},"minecraft:bush_foliage_placer":{height:Mi.NumberNode({integer:!0,min:0,max:16})},"minecraft:fancy_foliage_placer":{height:Mi.NumberNode({integer:!0,min:0,max:16})},"minecraft:jungle_foliage_placer":{height:Mi.NumberNode({integer:!0,min:0,max:16})},"minecraft:mega_pine_foliage_placer":{crown_height:Ci.IntProvider({min:0,max:24})},"minecraft:pine_foliage_placer":{height:Ci.IntProvider({min:0,max:24})},"minecraft:random_spread_foliage_placer":{foliage_height:Ci.IntProvider({min:1,max:512}),leaf_placement_attempts:Mi.NumberNode({integer:!0,min:0,max:256})},"minecraft:spruce_foliage_placer":{trunk_height:Ci.IntProvider({min:0,max:24})}}},{context:"foliage_placer",disableSwitchContext:!0}),decorators:Mi.ListNode(Mi.ObjectNode({type:o({validator:"resource",params:{pool:"worldgen/tree_decorator_type"}}),[Mi.Switch]:[{push:"type"}],[Mi.Case]:{"minecraft:alter_ground":{provider:r("block_state_provider")},"minecraft:beehive":{probability:Mi.NumberNode({min:0,max:1})},"minecraft:cocoa":{probability:Mi.NumberNode({min:0,max:1})}}},{context:"tree_decorator"}))},"minecraft:underwater_magma":{floor_search_range:Mi.NumberNode({integer:!0,min:0,max:512}),placement_radius_around_floor:Mi.NumberNode({integer:!0,min:0,max:64}),placement_probability_per_valid_position:Mi.NumberNode({min:0,max:1})},"minecraft:vegetation_patch":d,"minecraft:waterlogged_vegetation_patch":d}},{context:"feature"})},{context:"feature"}),{default:()=>({type:"minecraft:decorated",config:{decorator:{type:"minecraft:count",config:{count:4}},feature:{type:"minecraft:tree",config:{max_water_depth:0,ignore_vines:!0,minimum_size:{},trunk_placer:{base_height:5,height_rand_a:2,height_rand_b:0},foliage_placer:{radius:2,offset:0,height:3}}}}})})),e.register("feature_size",Mi.Mod(Mi.ObjectNode({type:o({validator:"resource",params:{pool:"worldgen/feature_size_type"}}),min_clipped_height:Mi.Opt(Mi.NumberNode({min:0,max:80})),[Mi.Switch]:[{push:"type"}],[Mi.Case]:{"minecraft:two_layers_feature_size":{limit:Mi.Opt(Mi.NumberNode({integer:!0,min:0,max:81})),lower_size:Mi.Opt(Mi.NumberNode({integer:!0,min:0,max:16})),upper_size:Mi.Opt(Mi.NumberNode({integer:!0,min:0,max:16}))},"minecraft:three_layers_feature_size":{limit:Mi.Opt(Mi.NumberNode({integer:!0,min:0,max:80})),upper_limit:Mi.Opt(Mi.NumberNode({integer:!0,min:0,max:80})),lower_size:Mi.Opt(Mi.NumberNode({integer:!0,min:0,max:16})),middle_size:Mi.Opt(Mi.NumberNode({integer:!0,min:0,max:16})),upper_size:Mi.Opt(Mi.NumberNode({integer:!0,min:0,max:16}))}}},{disableSwitchContext:!0}),{default:()=>({type:"minecraft:two_layers_feature_size"})})),e.register("block_state_provider",Mi.Mod(Mi.ObjectNode({type:o({validator:"resource",params:{pool:"worldgen/block_state_provider_type"}}),[Mi.Switch]:[{push:"type"}],[Mi.Case]:{"minecraft:randomized_int_state_provider":{property:o(),values:Ci.IntProvider(),source:r("block_state_provider")},"minecraft:rotated_block_provider":{state:r("block_state")},"minecraft:simple_state_provider":{state:r("block_state")},"minecraft:weighted_state_provider":{entries:Mi.ListNode(Mi.Mod(Mi.ObjectNode({weight:Mi.NumberNode({integer:!0,min:1}),data:r("block_state")}),{default:()=>({data:{}})}))}}},{context:"block_state_provider"}),{default:()=>({type:"minecraft:simple_state_provider"})})),e.register("block_placer",Mi.Mod(Mi.ObjectNode({type:o({validator:"resource",params:{pool:"worldgen/block_placer_type"}}),[Mi.Switch]:[{push:"type"}],[Mi.Case]:{"minecraft:column_placer":{size:Ci.IntProvider({min:0})}}},{context:"block_placer"}),{default:()=>({type:"minecraft:simple_block_placer"})}))};var Li={};Object.defineProperty(Li,"__esModule",{value:!0}),Li.initNoiseSettingsSchemas=void 0;const Bi=Be,zi=Eo;Li.initNoiseSettingsSchemas=function(e,t){const r=Bi.Reference.bind(void 0,e),o=Bi.StringNode.bind(void 0,t);e.register("noise_settings",Bi.Mod(Bi.ObjectNode({name:Bi.Mod(o({validator:"resource",params:{pool:"$worldgen/noise_settings",isDefinition:!0}}),{enabled:e=>e.getArray().length>0}),bedrock_roof_position:Bi.NumberNode({integer:!0}),bedrock_floor_position:Bi.NumberNode({integer:!0}),sea_level:Bi.NumberNode({integer:!0}),min_surface_level:Bi.NumberNode({integer:!0}),disable_mob_generation:Bi.BooleanNode(),noise_caves_enabled:Bi.BooleanNode(),noodle_caves_enabled:Bi.BooleanNode(),aquifers_enabled:Bi.BooleanNode(),deepslate_enabled:Bi.BooleanNode(),ore_veins_enabled:Bi.BooleanNode(),default_block:r("block_state"),default_fluid:r("block_state"),noise:Bi.ObjectNode({min_y:Bi.NumberNode({integer:!0,min:-2048,max:2047}),height:Bi.NumberNode({integer:!0,min:0,max:4096}),density_factor:Bi.NumberNode(),density_offset:Bi.NumberNode(),size_horizontal:Bi.NumberNode({integer:!0}),size_vertical:Bi.NumberNode({integer:!0}),simplex_surface_noise:Bi.BooleanNode(),random_density_offset:Bi.Opt(Bi.BooleanNode()),island_noise_override:Bi.Opt(Bi.BooleanNode()),amplified:Bi.Opt(Bi.BooleanNode()),sampling:Bi.ObjectNode({xz_scale:Bi.NumberNode(),y_scale:Bi.NumberNode(),xz_factor:Bi.NumberNode(),y_factor:Bi.NumberNode()}),bottom_slide:Bi.ObjectNode({target:Bi.NumberNode({integer:!0}),size:Bi.NumberNode({integer:!0,min:0}),offset:Bi.NumberNode({integer:!0})}),top_slide:Bi.ObjectNode({target:Bi.NumberNode({integer:!0}),size:Bi.NumberNode({integer:!0,min:0}),offset:Bi.NumberNode({integer:!0})})}),structures:r("generator_structures")},{context:"noise_settings"}),(e=>({default:()=>zi.DefaultNoiseSettings,validate:(t,r,o,i)=>{var a,n,c,s;return(null===(a=null==(r=e.validate(t,r,o,i))?void 0:r.noise)||void 0===a?void 0:a.min_y)+(null===(n=null==r?void 0:r.noise)||void 0===n?void 0:n.height)>2047&&o.add(t.push("noise").push("height"),"error.min_y_plus_height",2047),(null===(c=null==r?void 0:r.noise)||void 0===c?void 0:c.height)%16!=0&&o.add(t.push("noise").push("height"),"error.height_multiple",16),(null===(s=null==r?void 0:r.noise)||void 0===s?void 0:s.min_y)%16!=0&&o.add(t.push("noise").push("min_y"),"error.min_y_multiple",16),r}})))),e.register("generator_structures",Bi.ObjectNode({stronghold:Bi.Opt(Bi.ObjectNode({distance:Bi.NumberNode({integer:!0,min:0,max:1023}),spread:Bi.NumberNode({integer:!0,min:0,max:1023}),count:Bi.NumberNode({integer:!0,min:1,max:4095})})),structures:Bi.MapNode(o({validator:"resource",params:{pool:"worldgen/structure_feature"}}),Bi.Mod(Bi.ObjectNode({spacing:Bi.NumberNode({integer:!0,min:0,max:4096}),separation:Bi.Mod(Bi.NumberNode({integer:!0,min:0,max:4096}),(e=>({validate:(t,r,o,i)=>(t.pop().push("spacing").get()<=r&&o.add(t,"error.separation_smaller_spacing"),e.validate(t,r,o,i))}))),salt:Bi.NumberNode({integer:!0,min:0})},{context:"generator_structure"}),{default:()=>({spacing:10,separation:5,salt:0})}))})),e.register("generator_layer",Bi.Mod(Bi.ObjectNode({block:o({validator:"resource",params:{pool:"block"}}),height:Bi.NumberNode({integer:!0,min:1})}),{default:()=>({block:"minecraft:stone",height:1})}))};var Ri={};Object.defineProperty(Ri,"__esModule",{value:!0}),Ri.initStructureFeatureSchemas=void 0;const Ai=Be;Ri.initStructureFeatureSchemas=function(e,t){const r=Ai.StringNode.bind(void 0,t),o=Ai.Reference.bind(void 0,e),i={start_pool:r({validator:"resource",params:{pool:"$worldgen/template_pool"}}),size:Ai.NumberNode({integer:!0})};e.register("configured_structure_feature",Ai.Mod(Ai.ObjectNode({type:r({validator:"resource",params:{pool:"worldgen/structure_feature"}}),config:Ai.ObjectNode({[Ai.Switch]:["pop",{push:"type"}],[Ai.Case]:{"minecraft:bastion_remnant":i,"minecraft:buried_treasure":{probability:Ai.NumberNode({min:0,max:1})},"minecraft:mineshaft":{type:r({enum:["normal","mesa"]}),probability:Ai.NumberNode({min:0,max:1})},"minecraft:nether_fossil":{height:o("height_provider")},"minecraft:ocean_ruin":{biome_temp:r({enum:["cold","warm"]}),large_probability:Ai.NumberNode({min:0,max:1}),cluster_probability:Ai.NumberNode({min:0,max:1})},"minecraft:pillager_outpost":i,"minecraft:ruined_portal":{portal_type:r({enum:["standard","desert","jungle","mountain","nether","ocean","swamp"]})},"minecraft:shipwreck":{is_beached:Ai.Opt(Ai.BooleanNode())},"minecraft:village":i}},{context:"structure_feature",disableSwitchContext:!0})},{context:"structure_feature"}),{default:()=>({type:"minecraft:bastion_remnant",config:{start_pool:"minecraft:bastion/starts",size:6}})}))};var $i={};Object.defineProperty($i,"__esModule",{value:!0}),$i.initSurfaceBuilderSchemas=void 0;const Ti=Be;$i.initSurfaceBuilderSchemas=function(e,t){const r=Ti.StringNode.bind(void 0,t),o=Ti.Reference.bind(void 0,e);e.register("configured_surface_builder",Ti.Mod(Ti.ObjectNode({type:r({validator:"resource",params:{pool:"worldgen/surface_builder"}}),config:Ti.ObjectNode({top_material:o("block_state"),under_material:o("block_state"),underwater_material:o("block_state")},{context:"surface_builder"})},{context:"surface_builder"}),{default:()=>({type:"minecraft:default",config:{top_material:{Name:"minecraft:grass_block",Properties:{snowy:"false"}},under_material:{Name:"minecraft:dirt"},underwater_material:{Name:"minecraft:gravel"}}})}))};var qi={};Object.defineProperty(qi,"__esModule",{value:!0}),qi.initTemplatePoolSchemas=void 0;const Di=Be,Ii=ji;qi.initTemplatePoolSchemas=function(e,t){const r=Di.Reference.bind(void 0,e),o=Di.StringNode.bind(void 0,t);e.register("template_pool",Di.Mod(Di.ObjectNode({name:o(),fallback:o(),elements:Di.ListNode(r("template_weighted_element"))},{context:"template_pool"}),{default:()=>({fallback:"minecraft:empty",elements:[{weight:1,element:{element_type:"minecraft:single_pool_element",projection:"rigid",processors:"minecraft:empty"}}]})})),e.register("template_weighted_element",Di.Mod(Di.ObjectNode({weight:Di.NumberNode({integer:!0,min:1}),element:r("template_element")},{category:"pool"}),{default:()=>({weight:1,element:{element_type:"minecraft:single_pool_element",projection:"rigid",processors:"minecraft:empty"}})})),e.register("template_element",Di.Mod(Di.ObjectNode({element_type:o({validator:"resource",params:{pool:"worldgen/structure_pool_element"}}),projection:o({enum:["rigid","terrain_matching"]}),[Di.Switch]:[{push:"element_type"}],[Di.Case]:{"minecraft:feature_pool_element":{feature:o({validator:"resource",params:{pool:"$worldgen/configured_feature"}})},"minecraft:legacy_single_pool_element":{location:o({validator:"resource",params:{pool:"$structure"}}),processors:Ii.Processors},"minecraft:list_pool_element":{elements:Di.ListNode(r("template_element"))},"minecraft:single_pool_element":{location:o({validator:"resource",params:{pool:"$structure"}}),processors:Ii.Processors}}},{context:"template_element",disableSwitchContext:!0}),{default:()=>({element_type:"minecraft:single_pool_element",projection:"rigid",processors:"minecraft:empty"})}))},Object.defineProperty(gi,"__esModule",{value:!0}),gi.initWorldgenSchemas=void 0;const Fi=bi,Ei=yi,Ui=Oi,Wi=wi,Hi=Li,Ki=ji,Vi=Ri,Gi=$i,Xi=qi;gi.initWorldgenSchemas=function(e,t){Ki.initProcessorListSchemas(e,t),Fi.initBiomeSchemas(e,t),Ei.initCarverSchemas(e,t),Ui.initDecoratorSchemas(e,t),Wi.initFeatureSchemas(e,t),Hi.initNoiseSettingsSchemas(e,t),Vi.initStructureFeatureSchemas(e,t),Gi.initSurfaceBuilderSchemas(e,t),Xi.initTemplatePoolSchemas(e,t)};var Ji={};Object.defineProperty(Ji,"__esModule",{value:!0}),Ji.initWorldSettingsSchemas=void 0;const Zi=Be;Ji.initWorldSettingsSchemas=function(e,t){const r=Zi.Reference.bind(void 0,e),o=Zi.StringNode.bind(void 0,t);e.register("world_settings",Zi.Mod(Zi.ObjectNode({generate_features:Zi.BooleanNode(),bonus_chest:Zi.BooleanNode(),seed:Zi.NumberNode({integer:!0}),dimensions:Zi.MapNode(o({validator:"resource",params:{pool:"$dimension"}}),r("dimension"))},{context:"world_settings"}),{default:()=>{const e=Math.floor(4294967296*Math.random())-2147483648;return{generate_features:!0,bonus_chest:!1,seed:e,dimensions:{"minecraft:overworld":{type:"minecraft:overworld",generator:{type:"minecraft:noise",seed:e,biome_source:{type:"minecraft:vanilla_layered",seed:e},settings:"minecraft:overworld"}},"minecraft:the_nether":{type:"minecraft:the_nether",generator:{type:"minecraft:noise",seed:e,biome_source:{type:"minecraft:multi_noise",seed:e,humidity_noise:{firstOctave:-7,amplitudes:[1,1]},altitude_noise:{firstOctave:-7,amplitudes:[1,1]},weirdness_noise:{firstOctave:-7,amplitudes:[1,1]},temperature_noise:{firstOctave:-7,amplitudes:[1,1]},biomes:[{parameters:{altitude:0,weirdness:0,offset:0,temperature:0,humidity:0},biome:"minecraft:nether_wastes"},{parameters:{altitude:0,weirdness:0,offset:0,temperature:0,humidity:-.5},biome:"minecraft:soul_sand_valley"},{parameters:{altitude:0,weirdness:0,offset:0,temperature:.4,humidity:0},biome:"minecraft:crimson_forest"},{parameters:{altitude:0,weirdness:0,offset:.375,temperature:0,humidity:.5},biome:"minecraft:warped_forest"},{parameters:{altitude:0,weirdness:0,offset:.175,temperature:-.5,humidity:0},biome:"minecraft:basalt_deltas"}]},settings:"minecraft:nether"}},"minecraft:the_end":{type:"minecraft:the_end",generator:{type:"minecraft:noise",seed:e,biome_source:{type:"minecraft:the_end",seed:e},settings:"minecraft:end"}}}}}}))},Object.defineProperty(Do,"__esModule",{value:!0}),Do.initSchemas=void 0;const Yi=Io,Qi=Eo,ea=Uo,ta=Ko,ra=Xo,oa=Yo,ia=ti,aa=ni,na=si,ca=di,sa=_i,la=ui,da=gi,ma=Ji;Do.initSchemas=function(e,t){Qi.initCommonSchemas(e,t),Yi.initAdvancementSchemas(e,t),ea.initConditionSchemas(e,t),ra.initDimensionTypeSchemas(e,t),ta.initDimensionSchemas(e,t),oa.initItemModifierSchemas(e,t),ia.initLootTableSchemas(e,t),aa.initPackMcmetaSchemas(e,t),na.initPredicatesSchemas(e,t),ca.initRecipeSchemas(e,t),sa.initTagsSchemas(e,t),la.initTextComponentSchemas(e,t),da.initWorldgenSchemas(e,t),ma.initWorldSettingsSchemas(e,t)};var _a=Pe&&Pe.__createBinding||(Object.create?function(e,t,r,o){void 0===o&&(o=r),Object.defineProperty(e,o,{enumerable:!0,get:function(){return t[r]}})}:function(e,t,r,o){void 0===o&&(o=r),e[o]=t[r]}),pa=Pe&&Pe.__setModuleDefault||(Object.create?function(e,t){Object.defineProperty(e,"default",{enumerable:!0,value:t})}:function(e,t){e.default=t}),ua=Pe&&Pe.__importStar||function(e){if(e&&e.__esModule)return e;var t={};if(null!=e)for(var r in e)"default"!==r&&Object.hasOwnProperty.call(e,r)&&_a(t,e,r);return pa(t,e),t};Object.defineProperty(To,"__esModule",{value:!0});var fa=To.getSchemas=To.getCollections=void 0;const ga=Be,ba=qo,ha=Do;var ya=To.lootContext=ua(ri);var va=To.getCollections=function(){const e=new ga.CollectionRegistry;return ba.initCollections(e),e};fa=To.getSchemas=function(e){const t=new ga.SchemaRegistry;return ha.initSchemas(t,e),t};var Na=Object.freeze(Object.assign(Object.create(null),To,{[Symbol.toStringTag]:"Module",get getSchemas(){return fa},get getCollections(){return va},lootContext:ya,default:To})),Oa={exports:{}};!function(e,t,r){function o(e){var t,r=this,o=(t=4022871197,function(e){e=String(e);for(var r=0;r>>0,t=(o*=t)>>>0,t+=4294967296*(o-=t)}return 2.3283064365386963e-10*(t>>>0)});r.next=function(){var e=2091639*r.s0+2.3283064365386963e-10*r.c;return r.s0=r.s1,r.s1=r.s2,r.s2=e-(r.c=0|e)},r.c=1,r.s0=o(" "),r.s1=o(" "),r.s2=o(" "),r.s0-=o(e),r.s0<0&&(r.s0+=1),r.s1-=o(e),r.s1<0&&(r.s1+=1),r.s2-=o(e),r.s2<0&&(r.s2+=1),o=null}function i(e,t){return t.c=e.c,t.s0=e.s0,t.s1=e.s1,t.s2=e.s2,t}function a(e,t){var r=new o(e),a=t&&t.state,n=r.next;return n.int32=function(){return 4294967296*r.next()|0},n.double=function(){return n()+11102230246251565e-32*(2097152*n()|0)},n.quick=n,a&&("object"==typeof a&&i(a,r),n.state=function(){return i(r,{})}),n}t&&t.exports?t.exports=a:this.alea=a}(0,Oa);var ka={exports:{}};!function(e,t,r){function o(e){var t=this,r="";t.x=0,t.y=0,t.z=0,t.w=0,t.next=function(){var e=t.x^t.x<<11;return t.x=t.y,t.y=t.z,t.z=t.w,t.w^=t.w>>>19^e^e>>>8},e===(0|e)?t.x=e:r+=e;for(var o=0;o>>0)/4294967296};return n.double=function(){do{var e=((r.next()>>>11)+(r.next()>>>0)/4294967296)/(1<<21)}while(0===e);return e},n.int32=r.next,n.quick=n,a&&("object"==typeof a&&i(a,r),n.state=function(){return i(r,{})}),n}t&&t.exports?t.exports=a:this.xor128=a}(0,ka);var xa={exports:{}};!function(e,t,r){function o(e){var t=this,r="";t.next=function(){var e=t.x^t.x>>>2;return t.x=t.y,t.y=t.z,t.z=t.w,t.w=t.v,(t.d=t.d+362437|0)+(t.v=t.v^t.v<<4^e^e<<1)|0},t.x=0,t.y=0,t.z=0,t.w=0,t.v=0,e===(0|e)?t.x=e:r+=e;for(var o=0;o>>4),t.next()}function i(e,t){return t.x=e.x,t.y=e.y,t.z=e.z,t.w=e.w,t.v=e.v,t.d=e.d,t}function a(e,t){var r=new o(e),a=t&&t.state,n=function(){return(r.next()>>>0)/4294967296};return n.double=function(){do{var e=((r.next()>>>11)+(r.next()>>>0)/4294967296)/(1<<21)}while(0===e);return e},n.int32=r.next,n.quick=n,a&&("object"==typeof a&&i(a,r),n.state=function(){return i(r,{})}),n}t&&t.exports?t.exports=a:this.xorwow=a}(0,xa);var wa={exports:{}};!function(e,t,r){function o(e){var t=this;t.next=function(){var e,r,o=t.x,i=t.i;return e=o[i],r=(e^=e>>>7)^e<<24,r^=(e=o[i+1&7])^e>>>10,r^=(e=o[i+3&7])^e>>>3,r^=(e=o[i+4&7])^e<<7,e=o[i+7&7],r^=(e^=e<<13)^e<<9,o[i]=r,t.i=i+1&7,r},function(e,t){var r,o=[];if(t===(0|t))o[0]=t;else for(t=""+t,r=0;r0;--r)e.next()}(t,e)}function i(e,t){return t.x=e.x.slice(),t.i=e.i,t}function a(e,t){null==e&&(e=+new Date);var r=new o(e),a=t&&t.state,n=function(){return(r.next()>>>0)/4294967296};return n.double=function(){do{var e=((r.next()>>>11)+(r.next()>>>0)/4294967296)/(1<<21)}while(0===e);return e},n.int32=r.next,n.quick=n,a&&(a.x&&i(a,r),n.state=function(){return i(r,{})}),n}t&&t.exports?t.exports=a:this.xorshift7=a}(0,wa);var ja={exports:{}};!function(e,t,r){function o(e){var t=this;t.next=function(){var e,r,o=t.w,i=t.X,a=t.i;return t.w=o=o+1640531527|0,r=i[a+34&127],e=i[a=a+1&127],r^=r<<13,e^=e<<17,r^=r>>>15,e^=e>>>12,r=i[a]=r^e,t.i=a,r+(o^o>>>16)|0},function(e,t){var r,o,i,a,n,c=[],s=128;for(t===(0|t)?(o=t,t=null):(t+="\0",o=0,s=Math.max(s,t.length)),i=0,a=-32;a>>15,o^=o<<4,o^=o>>>13,a>=0&&(n=n+1640531527|0,i=0==(r=c[127&a]^=o+n)?i+1:0);for(i>=128&&(c[127&(t&&t.length||0)]=-1),i=127,a=512;a>0;--a)o=c[i+34&127],r=c[i=i+1&127],o^=o<<13,r^=r<<17,o^=o>>>15,r^=r>>>12,c[i]=o^r;e.w=n,e.X=c,e.i=i}(t,e)}function i(e,t){return t.i=e.i,t.w=e.w,t.X=e.X.slice(),t}function a(e,t){null==e&&(e=+new Date);var r=new o(e),a=t&&t.state,n=function(){return(r.next()>>>0)/4294967296};return n.double=function(){do{var e=((r.next()>>>11)+(r.next()>>>0)/4294967296)/(1<<21)}while(0===e);return e},n.int32=r.next,n.quick=n,a&&(a.X&&i(a,r),n.state=function(){return i(r,{})}),n}t&&t.exports?t.exports=a:this.xor4096=a}(0,ja);var Sa={exports:{}};!function(e,t,r){function o(e){var t=this,r="";t.next=function(){var e=t.b,r=t.c,o=t.d,i=t.a;return e=e<<25^e>>>7^r,r=r-o|0,o=o<<24^o>>>8^i,i=i-e|0,t.b=e=e<<20^e>>>12^r,t.c=r=r-o|0,t.d=o<<16^r>>>16^i,t.a=i-e|0},t.a=0,t.b=0,t.c=-1640531527,t.d=1367130551,e===Math.floor(e)?(t.a=e/4294967296|0,t.b=0|e):r+=e;for(var o=0;o>>0)/4294967296};return n.double=function(){do{var e=((r.next()>>>11)+(r.next()>>>0)/4294967296)/(1<<21)}while(0===e);return e},n.int32=r.next,n.quick=n,a&&("object"==typeof a&&i(a,r),n.state=function(){return i(r,{})}),n}t&&t.exports?t.exports=a:this.tychei=a}(0,Sa);var Ma,Ca={exports:{}},Pa=Le(Object.freeze({__proto__:null,[Symbol.toStringTag]:"Module",default:{}}));Ma=Ca,function(e,t,r){var o,i=256,a=r.pow(i,6),n=r.pow(2,52),c=2*n,s=255;function l(s,l,f){var g=[],b=p(_((l=1==l?{entropy:!0}:l||{}).entropy?[s,u(t)]:null==s?function(){try{var r;return o&&(r=o.randomBytes)?r=r(i):(r=new Uint8Array(i),(e.crypto||e.msCrypto).getRandomValues(r)),u(r)}catch(c){var a=e.navigator,n=a&&a.plugins;return[+new Date,e,n,e.screen,u(t)]}}():s,3),g),h=new d(g),y=function(){for(var e=h.g(6),t=a,r=0;e=c;)e/=2,t/=2,r>>>=1;return(e+r)/t};return y.int32=function(){return 0|h.g(4)},y.quick=function(){return h.g(4)/4294967296},y.double=y,p(u(h.S),t),(l.pass||f||function(e,t,o,i){return i&&(i.S&&m(i,h),e.state=function(){return m(h,{})}),o?(r.random=e,t):e})(y,b,"global"in l?l.global:this==r,l.state)}function d(e){var t,r=e.length,o=this,a=0,n=o.i=o.j=0,c=o.S=[];for(r||(e=[r++]);a3)for(u=[u],o=3;o0?v(k.type,k.props,k.key,null,k.__v):k)){if(k.__=u,k.__b=u.__b+1,null===(_=A[h])||_&&k.key==_.key&&k.type===_.type)A[h]=void 0;else for(p=0;p3)for(u=[u],o=3;o b.rank) ? -1 :\n\t\t\t\t(a.index - b.index)\n\t);\n}\n\n// filter out VNodes without attributes (which are unrankeable), and add `index`/`rank` properties to be used in sorting.\nfunction prepareVNodeForRanking(vnode, index) {\n\tvnode.index = index;\n\tvnode.rank = rankChild(vnode);\n\treturn vnode.props;\n}\n\nfunction segmentize(url) {\n\treturn url.replace(/(^\\/+|\\/+$)/g, '').split('/');\n}\n\nfunction rankSegment(segment) {\n\treturn segment.charAt(0)==':' ? (1 + '*+?'.indexOf(segment.charAt(segment.length-1))) || 4 : 5;\n}\n\nfunction rank(path) {\n\treturn segmentize(path).map(rankSegment).join('');\n}\n\nfunction rankChild(vnode) {\n\treturn vnode.props.default ? 0 : rank(vnode.props.path);\n}\n\nvar customHistory = null;\n\nvar ROUTERS = [];\n\nvar subscribers = [];\n\nvar EMPTY = {};\n\nfunction setUrl(url, type) {\n\tif ( type === void 0 ) type='push';\n\n\tif (customHistory && customHistory[type]) {\n\t\tcustomHistory[type](url);\n\t}\n\telse if (typeof history!=='undefined' && history[type+'State']) {\n\t\thistory[type+'State'](null, null, url);\n\t}\n}\n\n\nfunction getCurrentUrl() {\n\tvar url;\n\tif (customHistory && customHistory.location) {\n\t\turl = customHistory.location;\n\t}\n\telse if (customHistory && customHistory.getCurrentLocation) {\n\t\turl = customHistory.getCurrentLocation();\n\t}\n\telse {\n\t\turl = typeof location!=='undefined' ? location : EMPTY;\n\t}\n\treturn (\"\" + (url.pathname || '') + (url.search || ''));\n}\n\n\n\nfunction route(url, replace) {\n\tif ( replace === void 0 ) replace=false;\n\n\tif (typeof url!=='string' && url.url) {\n\t\treplace = url.replace;\n\t\turl = url.url;\n\t}\n\n\t// only push URL into history if we can handle it\n\tif (canRoute(url)) {\n\t\tsetUrl(url, replace ? 'replace' : 'push');\n\t}\n\n\treturn routeTo(url);\n}\n\n\n/** Check if the given URL can be handled by any router instances. */\nfunction canRoute(url) {\n\tfor (var i=ROUTERS.length; i--; ) {\n\t\tif (ROUTERS[i].canRoute(url)) { return true; }\n\t}\n\treturn false;\n}\n\n\n/** Tell all router instances to handle the given URL. */\nfunction routeTo(url) {\n\tvar didRoute = false;\n\tfor (var i=0; i 0;\n\t};\n\n\t/** Re-render children with a new URL to match against. */\n\tRouter.prototype.routeTo = function routeTo (url) {\n\t\tthis.setState({ url: url });\n\n\t\tvar didRoute = this.canRoute(url);\n\n\t\t// trigger a manual re-route if we're not in the middle of an update:\n\t\tif (!this.updating) { this.forceUpdate(); }\n\n\t\treturn didRoute;\n\t};\n\n\tRouter.prototype.componentWillMount = function componentWillMount () {\n\t\tROUTERS.push(this);\n\t\tthis.updating = true;\n\t};\n\n\tRouter.prototype.componentDidMount = function componentDidMount () {\n\t\tvar this$1 = this;\n\n\t\tif (customHistory) {\n\t\t\tthis.unlisten = customHistory.listen(function (location) {\n\t\t\t\tthis$1.routeTo((\"\" + (location.pathname || '') + (location.search || '')));\n\t\t\t});\n\t\t}\n\t\tthis.updating = false;\n\t};\n\n\tRouter.prototype.componentWillUnmount = function componentWillUnmount () {\n\t\tif (typeof this.unlisten==='function') { this.unlisten(); }\n\t\tROUTERS.splice(ROUTERS.indexOf(this), 1);\n\t};\n\n\tRouter.prototype.componentWillUpdate = function componentWillUpdate () {\n\t\tthis.updating = true;\n\t};\n\n\tRouter.prototype.componentDidUpdate = function componentDidUpdate () {\n\t\tthis.updating = false;\n\t};\n\n\tRouter.prototype.getMatchingChildren = function getMatchingChildren (children, url, invoke) {\n\t\treturn children\n\t\t\t.filter(prepareVNodeForRanking)\n\t\t\t.sort(pathRankSort)\n\t\t\t.map( function (vnode) {\n\t\t\t\tvar matches = exec(url, vnode.props.path, vnode.props);\n\t\t\t\tif (matches) {\n\t\t\t\t\tif (invoke !== false) {\n\t\t\t\t\t\tvar newProps = { url: url, matches: matches };\n\t\t\t\t\t\tassign(newProps, matches);\n\t\t\t\t\t\tdelete newProps.ref;\n\t\t\t\t\t\tdelete newProps.key;\n\t\t\t\t\t\treturn cloneElement(vnode, newProps);\n\t\t\t\t\t}\n\t\t\t\t\treturn vnode;\n\t\t\t\t}\n\t\t\t}).filter(Boolean);\n\t};\n\n\tRouter.prototype.render = function render (ref, ref$1) {\n\t\tvar children = ref.children;\n\t\tvar onChange = ref.onChange;\n\t\tvar url = ref$1.url;\n\n\t\tvar active = this.getMatchingChildren(toChildArray(children), url, true);\n\n\t\tvar current = active[0] || null;\n\n\t\tvar previous = this.previousUrl;\n\t\tif (url!==previous) {\n\t\t\tthis.previousUrl = url;\n\t\t\tif (typeof onChange==='function') {\n\t\t\t\tonChange({\n\t\t\t\t\trouter: this,\n\t\t\t\t\turl: url,\n\t\t\t\t\tprevious: previous,\n\t\t\t\t\tactive: active,\n\t\t\t\t\tcurrent: current\n\t\t\t\t});\n\t\t\t}\n\t\t}\n\n\t\treturn current;\n\t};\n\n\treturn Router;\n}(Component));\n\nvar Link = function (props) { return (\n\tcreateElement('a', assign({ onClick: handleLinkClick }, props))\n); };\n\nvar Route = function (props) { return createElement(props.component, props); };\n\nRouter.subscribers = subscribers;\nRouter.getCurrentUrl = getCurrentUrl;\nRouter.route = route;\nRouter.Router = Router;\nRouter.Route = Route;\nRouter.Link = Link;\nRouter.exec = exec;\n\nexport { subscribers, getCurrentUrl, route, Router, Route, Link, exec };export default Router;\n//# sourceMappingURL=preact-router.es.js.map\n","import{options as n}from\"preact\";var t,u,r,o=0,i=[],c=n.__b,f=n.__r,e=n.diffed,a=n.__c,v=n.unmount;function m(t,r){n.__h&&n.__h(u,t,o||r),o=0;var i=u.__H||(u.__H={__:[],__h:[]});return t>=i.__.length&&i.__.push({}),i.__[t]}function l(n){return o=1,p(w,n)}function p(n,r,o){var i=m(t++,2);return i.t=n,i.__c||(i.__=[o?o(r):w(void 0,r),function(n){var t=i.t(i.__[0],n);i.__[0]!==t&&(i.__=[t,i.__[1]],i.__c.setState({}))}],i.__c=u),i.__}function y(r,o){var i=m(t++,3);!n.__s&&k(i.__H,o)&&(i.__=r,i.__H=o,u.__H.__h.push(i))}function h(r,o){var i=m(t++,4);!n.__s&&k(i.__H,o)&&(i.__=r,i.__H=o,u.__h.push(i))}function s(n){return o=5,d(function(){return{current:n}},[])}function _(n,t,u){o=6,h(function(){\"function\"==typeof n?n(t()):n&&(n.current=t())},null==u?u:u.concat(n))}function d(n,u){var r=m(t++,7);return k(r.__H,u)&&(r.__=n(),r.__H=u,r.__h=n),r.__}function A(n,t){return o=8,d(function(){return n},t)}function F(n){var r=u.context[n.__c],o=m(t++,9);return o.__c=n,r?(null==o.__&&(o.__=!0,r.sub(u)),r.props.value):n.__}function T(t,u){n.useDebugValue&&n.useDebugValue(u?u(t):t)}function q(n){var r=m(t++,10),o=l();return r.__=n,u.componentDidCatch||(u.componentDidCatch=function(n){r.__&&r.__(n),o[1](n)}),[o[0],function(){o[1](void 0)}]}function x(){i.forEach(function(t){if(t.__P)try{t.__H.__h.forEach(g),t.__H.__h.forEach(j),t.__H.__h=[]}catch(u){t.__H.__h=[],n.__e(u,t.__v)}}),i=[]}n.__b=function(n){u=null,c&&c(n)},n.__r=function(n){f&&f(n),t=0;var r=(u=n.__c).__H;r&&(r.__h.forEach(g),r.__h.forEach(j),r.__h=[])},n.diffed=function(t){e&&e(t);var o=t.__c;o&&o.__H&&o.__H.__h.length&&(1!==i.push(o)&&r===n.requestAnimationFrame||((r=n.requestAnimationFrame)||function(n){var t,u=function(){clearTimeout(r),b&&cancelAnimationFrame(t),setTimeout(n)},r=setTimeout(u,100);b&&(t=requestAnimationFrame(u))})(x)),u=void 0},n.__c=function(t,u){u.some(function(t){try{t.__h.forEach(g),t.__h=t.__h.filter(function(n){return!n.__||j(n)})}catch(r){u.some(function(n){n.__h&&(n.__h=[])}),u=[],n.__e(r,t.__v)}}),a&&a(t,u)},n.unmount=function(t){v&&v(t);var u=t.__c;if(u&&u.__H)try{u.__H.__.forEach(g)}catch(t){n.__e(t,u.__v)}};var b=\"function\"==typeof requestAnimationFrame;function g(n){var t=u;\"function\"==typeof n.__c&&n.__c(),u=t}function j(n){var t=u;n.__c=n.__(),u=t}function k(n,t){return!n||n.length!==t.length||t.some(function(t,u){return t!==n[u]})}function w(n,t){return\"function\"==typeof t?t(n):t}export{l as useState,p as useReducer,y as useEffect,h as useLayoutEffect,s as useRef,_ as useImperativeHandle,d as useMemo,A as useCallback,F as useContext,T as useDebugValue,q as useErrorBoundary};\n//# sourceMappingURL=hooks.module.js.map\n","\"use strict\";\r\nObject.defineProperty(exports, \"__esModule\", { value: true });\r\nexports.ModelPath = exports.Path = exports.relativePath = void 0;\r\nfunction relativePath(start, relativePath) {\r\n return relativePath.reduce((path, e) => {\r\n if (e === 'pop') {\r\n return path.pop();\r\n }\r\n else {\r\n return path.push(e.push);\r\n }\r\n }, start);\r\n}\r\nexports.relativePath = relativePath;\r\n/**\r\n * Immutable helper class to represent a path in data\r\n */\r\nclass Path {\r\n /**\r\n * @param modelArr Initial array of path model elements. Empty if not given\r\n * @param contextArr Initial array of path context elements. Empty if not given\r\n */\r\n constructor(modelArr, contextArr) {\r\n this.modelArr = modelArr !== null && modelArr !== void 0 ? modelArr : [];\r\n this.contextArr = contextArr !== null && contextArr !== void 0 ? contextArr : [];\r\n }\r\n /**\r\n * The last model element of this path\r\n */\r\n last() {\r\n return this.modelArr[this.modelArr.length - 1];\r\n }\r\n /**\r\n * A new path with the specific sliced module elements\r\n */\r\n slice(start, end) {\r\n return new Path(this.modelArr.slice(start, end), this.contextArr);\r\n }\r\n /**\r\n * A new path with the first model element removed\r\n */\r\n shift() {\r\n return new Path(this.modelArr.slice(1), this.contextArr);\r\n }\r\n /**\r\n * A new path with the last model element removed\r\n */\r\n pop() {\r\n return new Path(this.modelArr.slice(0, -1), this.contextArr);\r\n }\r\n /**\r\n * A new path with an element added at the end\r\n * @param element element to push at the end of the array\r\n */\r\n push(element) {\r\n return this.modelPush(element).contextPush(element);\r\n }\r\n /**\r\n * Push an element exclusivly to the model array\r\n * @param element\r\n */\r\n modelPush(element) {\r\n return new Path([...this.modelArr, element], [...this.contextArr]);\r\n }\r\n /**\r\n * Push an element exclusivly to the context array\r\n * @param element\r\n */\r\n contextPush(element) {\r\n if (typeof element === 'number')\r\n return this.copy();\r\n const newElement = element.startsWith('minecraft:') ? element.slice(10) : element;\r\n return new Path([...this.modelArr], [...this.contextArr, newElement]);\r\n }\r\n copy() {\r\n return new Path([...this.modelArr], [...this.contextArr]);\r\n }\r\n getArray() {\r\n return this.modelArr;\r\n }\r\n /**\r\n * Attaches a model to this path and all paths created from this\r\n * @param model\r\n */\r\n withModel(model) {\r\n return new ModelPath(model, this);\r\n }\r\n getContext() {\r\n return this.contextArr;\r\n }\r\n /**\r\n * Checks path equality\r\n * @param other path to compare\r\n */\r\n equals(other) {\r\n return other.modelArr.length === this.modelArr.length\r\n && other.modelArr.every((v, i) => v === this.modelArr[i]);\r\n }\r\n /**\r\n * Checks if this path starts with another path\r\n * @param other path that this path should start with\r\n */\r\n startsWith(other) {\r\n if (this.modelArr.length < other.modelArr.length)\r\n return false;\r\n return other.modelArr.every((v, i) => v === this.modelArr[i]);\r\n }\r\n /**\r\n * Checks if this path ends with another path\r\n * @param other parent path where this path should end with\r\n */\r\n endsWith(other) {\r\n const offset = this.modelArr.length - other.modelArr.length;\r\n if (offset < 0)\r\n return false;\r\n return other.modelArr.every((v, i) => v === this.modelArr[offset + i]);\r\n }\r\n toString() {\r\n return this.modelArr\r\n .map(e => (typeof e === 'string') ? `.${e}` : `[${e}]`)\r\n .join('')\r\n .replace(/^\\./, '');\r\n }\r\n forEach(fn, thisArg) {\r\n return this.modelArr.forEach(fn, thisArg);\r\n }\r\n}\r\nexports.Path = Path;\r\nclass ModelPath extends Path {\r\n constructor(model, path) {\r\n super(path === null || path === void 0 ? void 0 : path.modelArr, path === null || path === void 0 ? void 0 : path.contextArr);\r\n this.model = model;\r\n }\r\n getModel() {\r\n return this.model;\r\n }\r\n /**\r\n * Gets the data from the model if it was attached\r\n * @returns undefined, if no model was attached\r\n */\r\n get() {\r\n var _a;\r\n return (_a = this.model) === null || _a === void 0 ? void 0 : _a.get(this);\r\n }\r\n /**\r\n * Sets the value to the model if it was attached\r\n */\r\n set(value) {\r\n var _a;\r\n (_a = this.model) === null || _a === void 0 ? void 0 : _a.set(this, value);\r\n }\r\n /**\r\n * A new path with the specific sliced module elements\r\n */\r\n slice(start, end) {\r\n return new ModelPath(this.model, super.slice(start, end));\r\n }\r\n /**\r\n * A new path with the first model element removed\r\n */\r\n shift() {\r\n return new ModelPath(this.model, super.shift());\r\n }\r\n /**\r\n * A new path with the last model element removed\r\n */\r\n pop() {\r\n return new ModelPath(this.model, super.pop());\r\n }\r\n /**\r\n * A new path with an element added at the end\r\n * @param element element to push at the end of the array\r\n */\r\n push(element) {\r\n return this.modelPush(element).contextPush(element);\r\n }\r\n /**\r\n * Push an element exclusivly to the model array\r\n * @param element\r\n */\r\n modelPush(element) {\r\n return new ModelPath(this.model, super.modelPush(element));\r\n }\r\n /**\r\n * Push an element exclusivly to the context array\r\n * @param element\r\n */\r\n contextPush(element) {\r\n return new ModelPath(this.model, super.contextPush(element));\r\n }\r\n copy() {\r\n return new ModelPath(this.model, super.copy());\r\n }\r\n}\r\nexports.ModelPath = ModelPath;\r\n","\"use strict\";\r\nObject.defineProperty(exports, \"__esModule\", { value: true });\r\nexports.Errors = void 0;\r\n/**\r\n * Collects errors from data paths\r\n */\r\nclass Errors {\r\n constructor() {\r\n this.errors = [];\r\n }\r\n add(path, error, ...params) {\r\n this.errors.push({ path, error, params });\r\n return false;\r\n }\r\n get(path, exact = false) {\r\n return exact ? this.errors.filter(e => e.path.equals(path))\r\n : this.errors.filter(e => e.path.startsWith(path));\r\n }\r\n getAll() {\r\n return this.errors;\r\n }\r\n clear() {\r\n this.errors = [];\r\n }\r\n count() {\r\n return this.errors.length;\r\n }\r\n *[Symbol.iterator]() {\r\n for (const e of this.errors) {\r\n yield e;\r\n }\r\n }\r\n}\r\nexports.Errors = Errors;\r\n","\"use strict\";\r\nObject.defineProperty(exports, \"__esModule\", { value: true });\r\nexports.DataModel = void 0;\r\nconst Path_1 = require(\"./Path\");\r\nconst Errors_1 = require(\"./Errors\");\r\n/**\r\n * Holding the data linked to a given schema\r\n */\r\nclass DataModel {\r\n /**\r\n * @param schema node to use as schema for this model\r\n */\r\n constructor(schema, options) {\r\n var _a;\r\n this.schema = schema;\r\n this.data = schema.default();\r\n this.listeners = [];\r\n this.errors = new Errors_1.Errors();\r\n this.history = [JSON.stringify(this.data)];\r\n this.historyIndex = 0;\r\n this.historyMax = (_a = options === null || options === void 0 ? void 0 : options.historyMax) !== null && _a !== void 0 ? _a : 50;\r\n }\r\n /**\r\n * Adds a listener to notify when the model is invalidated\r\n * @param listener the listener to be notified\r\n */\r\n addListener(listener) {\r\n this.listeners.push(listener);\r\n }\r\n /**\r\n * Removes a listener from this model\r\n * @param listener the listener to be removed\r\n */\r\n removeListener(listener) {\r\n const index = this.listeners.indexOf(listener);\r\n if (index > -1) {\r\n this.listeners.splice(index, 1);\r\n }\r\n }\r\n /**\r\n * Updates the history and notifies all\r\n * listeners that the model is invalidated\r\n */\r\n invalidate() {\r\n const newHistory = JSON.stringify(this.data);\r\n if (this.history[this.historyIndex] !== newHistory) {\r\n this.historyIndex += 1;\r\n this.history.splice(this.historyIndex, this.historyMax, newHistory);\r\n if (this.history.length > this.historyMax) {\r\n this.history.splice(0, 1);\r\n this.historyIndex -= 1;\r\n }\r\n }\r\n this.silentInvalidate();\r\n }\r\n /**\r\n * Notifies all listeners that the model is invalidated\r\n */\r\n silentInvalidate() {\r\n this.listeners.forEach(l => {\r\n if (l.invalidated)\r\n l.invalidated(this);\r\n if (l.errors)\r\n l.errors(this.errors);\r\n });\r\n }\r\n /**\r\n * Resets the full data and notifies listeners\r\n * @param value new model data\r\n */\r\n reset(value, loose) {\r\n this.data = value;\r\n this.validate(loose);\r\n this.invalidate();\r\n }\r\n /**\r\n * Gets the data at a specified path\r\n * @param path path at which to find the data\r\n * @returns undefined, if the the path does not exist in the data\r\n */\r\n get(path) {\r\n let node = this.data;\r\n path.forEach(e => {\r\n if (node === undefined)\r\n return node;\r\n node = node[e];\r\n });\r\n return node;\r\n }\r\n /**\r\n * Updates the data on a path. Node will be removed when value is undefined\r\n * @param path path to update\r\n * @param value new data at the specified path\r\n */\r\n set(path, value, silent) {\r\n if (path.getArray().length === 0) {\r\n this.reset(value, true);\r\n return;\r\n }\r\n let node = this.data;\r\n path.pop().forEach(e => {\r\n if (node[e] === undefined || typeof node[e] === 'string' || typeof node[e] === 'number') {\r\n node[e] = {};\r\n }\r\n node = node[e];\r\n });\r\n if (value === undefined || (typeof value === 'number' && isNaN(value))) {\r\n if (typeof path.last() === 'number') {\r\n node.splice(path.last(), 1);\r\n }\r\n else {\r\n delete node[path.last()];\r\n }\r\n }\r\n else {\r\n node[path.last()] = value;\r\n }\r\n if (silent)\r\n return;\r\n console.log('Set', path.toString(), JSON.stringify(value));\r\n this.validate(true);\r\n this.invalidate();\r\n }\r\n /**\r\n * Go one step back in history\r\n */\r\n undo() {\r\n if (this.historyIndex > 0) {\r\n this.historyIndex -= 1;\r\n this.data = JSON.parse(this.history[this.historyIndex]);\r\n this.validate(false);\r\n this.silentInvalidate();\r\n }\r\n }\r\n /**\r\n * Go one step forward in history.\r\n */\r\n redo() {\r\n if (this.historyIndex < this.history.length - 1) {\r\n this.historyIndex += 1;\r\n this.data = JSON.parse(this.history[this.historyIndex]);\r\n this.validate(false);\r\n this.silentInvalidate();\r\n }\r\n }\r\n /**\r\n * Uses the schema to check whether the data is valid\r\n */\r\n validate(loose) {\r\n var _a;\r\n const path = new Path_1.Path().withModel(this);\r\n this.errors.clear();\r\n this.data = (_a = this.schema.validate(path, this.data, this.errors, { loose })) !== null && _a !== void 0 ? _a : {};\r\n }\r\n error(path, error, ...params) {\r\n const tempErrors = new Errors_1.Errors();\r\n tempErrors.add(path, error, params);\r\n this.listeners.forEach(l => {\r\n if (l.errors)\r\n l.errors(tempErrors);\r\n });\r\n }\r\n}\r\nexports.DataModel = DataModel;\r\n","\"use strict\";\r\nObject.defineProperty(exports, \"__esModule\", { value: true });\r\nexports.Keep = exports.Opt = exports.Has = exports.Mod = exports.Base = void 0;\r\nexports.Base = ({\r\n type: () => 'base',\r\n category: () => undefined,\r\n default: () => undefined,\r\n enabled: () => true,\r\n keep: () => false,\r\n optional: () => false,\r\n navigate() { return this; },\r\n pathPush: (p) => p,\r\n suggest: () => [],\r\n validate: (_, v) => v,\r\n validationOption: () => undefined,\r\n hook(hook, path, ...args) { return hook.base({ node: this }, path, ...args); },\r\n canUpdate: () => false,\r\n update: () => []\r\n});\r\nexports.Mod = (node, mods) => ({\r\n ...node, ...(typeof mods === 'function' ? mods(node) : mods)\r\n});\r\nexports.Has = (key, node) => exports.Mod(node, {\r\n enabled: (p) => p.push(key).get() !== undefined\r\n});\r\nfunction Opt(node) {\r\n return {\r\n ...node,\r\n optional: () => true\r\n };\r\n}\r\nexports.Opt = Opt;\r\nfunction Keep(node) {\r\n return {\r\n ...node,\r\n keep: () => true\r\n };\r\n}\r\nexports.Keep = Keep;\r\n","\"use strict\";\r\nObject.defineProperty(exports, \"__esModule\", { value: true });\r\nexports.BooleanNode = void 0;\r\nconst Node_1 = require(\"./Node\");\r\n/**\r\n * Boolean node with two buttons for true/false\r\n */\r\nexports.BooleanNode = () => {\r\n return {\r\n ...Node_1.Base,\r\n type: () => 'boolean',\r\n default: () => false,\r\n suggest: () => ['false', 'true'],\r\n validate(path, value, errors, options) {\r\n if (options.loose && typeof value !== 'boolean') {\r\n value = this.default();\r\n }\r\n if (typeof value !== 'boolean' || value === undefined) {\r\n errors.add(path, 'error.expected_boolean');\r\n }\r\n return value;\r\n },\r\n hook(hook, path, ...args) {\r\n var _a;\r\n return ((_a = hook.boolean) !== null && _a !== void 0 ? _a : hook.base).call(hook, { node: this }, path, ...args);\r\n }\r\n };\r\n};\r\n","\"use strict\";\r\nObject.defineProperty(exports, \"__esModule\", { value: true });\r\nexports.ListNode = void 0;\r\nconst Node_1 = require(\"./Node\");\r\nexports.ListNode = (children, config) => {\r\n var _a, _b;\r\n const min = (_a = config === null || config === void 0 ? void 0 : config.minLength) !== null && _a !== void 0 ? _a : 0;\r\n const max = (_b = config === null || config === void 0 ? void 0 : config.maxLength) !== null && _b !== void 0 ? _b : Infinity;\r\n const between = (config === null || config === void 0 ? void 0 : config.minLength) && (config === null || config === void 0 ? void 0 : config.maxLength);\r\n return ({\r\n ...Node_1.Base,\r\n type: () => 'list',\r\n default: () => (config === null || config === void 0 ? void 0 : config.minLength) ? [...Array(min)].map(_ => children.default()) : [],\r\n navigate(path, index) {\r\n const nextIndex = index + 1;\r\n const pathElements = path.getArray();\r\n if (pathElements.length <= nextIndex) {\r\n return this;\r\n }\r\n return children.navigate(path, nextIndex);\r\n },\r\n pathPush(path, index) {\r\n return path.push(parseInt(index.toString())).contextPush('entry');\r\n },\r\n validate(path, value, errors, options) {\r\n if (options.loose && !Array.isArray(value)) {\r\n value = this.default();\r\n }\r\n if (!Array.isArray(value)) {\r\n errors.add(path, 'error.expected_list');\r\n return value;\r\n }\r\n else if (between && (value.length < min || value.length > max)) {\r\n if (min === max) {\r\n errors.add(path, 'error.invalid_list_range.exact', value.length, min);\r\n }\r\n else {\r\n errors.add(path, 'error.invalid_list_range.between', value.length, min, max);\r\n }\r\n }\r\n else if (value.length < min) {\r\n errors.add(path, 'error.invalid_list_range.smaller', value.length, min);\r\n }\r\n else if (value.length > max) {\r\n errors.add(path, 'error.invalid_list_range.larger', value.length, max);\r\n }\r\n return value.map((obj, index) => children.validate(path.push(index), obj, errors, options));\r\n },\r\n hook(hook, path, ...args) {\r\n var _a;\r\n return ((_a = hook.list) !== null && _a !== void 0 ? _a : hook.base).call(hook, { node: this, children, config: config !== null && config !== void 0 ? config : {} }, path, ...args);\r\n }\r\n });\r\n};\r\n","\"use strict\";\r\nObject.defineProperty(exports, \"__esModule\", { value: true });\r\nexports.SwitchNode = void 0;\r\nconst Node_1 = require(\"./Node\");\r\n/**\r\n * Node that allows multiple types\r\n */\r\nexports.SwitchNode = (cases) => {\r\n return {\r\n ...Node_1.Base,\r\n type(path) {\r\n return this.activeCase(path, true)\r\n .node.type(path);\r\n },\r\n category(path) {\r\n return this.activeCase(path, true)\r\n .node.category(path);\r\n },\r\n default: () => cases[0].node.default(),\r\n navigate(path, index) {\r\n var _a;\r\n const nextIndex = index + 1;\r\n return (_a = this.activeCase(path.slice(0, nextIndex))) === null || _a === void 0 ? void 0 : _a.node.navigate(path, index);\r\n },\r\n pathPush(path, key) {\r\n var _a, _b;\r\n return (_b = (_a = this.activeCase(path)) === null || _a === void 0 ? void 0 : _a.node.pathPush(path, key)) !== null && _b !== void 0 ? _b : path;\r\n },\r\n suggest(path, value) {\r\n var _a, _b;\r\n return (_b = (_a = this.activeCase(path)) === null || _a === void 0 ? void 0 : _a.node.suggest(path, value)) !== null && _b !== void 0 ? _b : cases\r\n .filter(c => c.match(path))\r\n .map(c => c.node.suggest(path, value))\r\n .reduce((p, c) => p.concat(c));\r\n },\r\n validate(path, value, errors, options) {\r\n let c = this.activeCase(path);\r\n if (c === undefined) {\r\n return value;\r\n }\r\n return c.node.validate(path, value, errors, options);\r\n },\r\n validationOption(path) {\r\n var _a;\r\n return (_a = this.activeCase(path)) === null || _a === void 0 ? void 0 : _a.node.validationOption(path);\r\n },\r\n activeCase(path, fallback) {\r\n const sorter = (a, b) => { var _a, _b; return ((_a = b.priority) !== null && _a !== void 0 ? _a : 0) - ((_b = a.priority) !== null && _b !== void 0 ? _b : 0); };\r\n const matchedCases = cases.filter(c => c.match(path)).sort(sorter);\r\n if (fallback && matchedCases.length === 0) {\r\n return cases.sort(sorter)[0];\r\n }\r\n return (matchedCases.length > 0 ? matchedCases[0] : undefined);\r\n },\r\n hook(hook, path, ...args) {\r\n return this.activeCase(path, true)\r\n .node.hook(hook, path, ...args);\r\n },\r\n };\r\n};\r\n","\"use strict\";\r\nObject.defineProperty(exports, \"__esModule\", { value: true });\r\nexports.ObjectOrPreset = exports.StringOrList = exports.ObjectOrList = exports.ChoiceNode = void 0;\r\nconst ListNode_1 = require(\"./ListNode\");\r\nconst SwitchNode_1 = require(\"./SwitchNode\");\r\n/**\r\n * Node that allows multiple types\r\n */\r\nexports.ChoiceNode = (choices, config) => {\r\n const isValid = (choice, value) => {\r\n if (choice.match) {\r\n return choice.match(value);\r\n }\r\n switch (choice.type) {\r\n case 'list': return Array.isArray(value);\r\n case 'object': return typeof value === 'object' && !Array.isArray(value);\r\n default: return typeof value === choice.type;\r\n }\r\n };\r\n const switchNode = SwitchNode_1.SwitchNode(choices.map(c => ({\r\n type: c.type,\r\n priority: c.priority,\r\n match: (path) => isValid(c, path.get()),\r\n node: c.node\r\n })));\r\n return {\r\n ...switchNode,\r\n validate(path, value, errors, options) {\r\n let choice = switchNode.activeCase(path, true);\r\n if (choice.node.optional()) {\r\n return value;\r\n }\r\n return choice.node.validate(path, value, errors, options);\r\n },\r\n hook(hook, path, ...args) {\r\n var _a;\r\n return ((_a = hook.choice) !== null && _a !== void 0 ? _a : hook.base).call(hook, { node: this, choices, config: config !== null && config !== void 0 ? config : {}, switchNode }, path, ...args);\r\n }\r\n };\r\n};\r\nconst XOrList = (x) => ((node, config) => {\r\n return exports.ChoiceNode([\r\n {\r\n type: x,\r\n node,\r\n change: v => { var _a; return (_a = v[0]) !== null && _a !== void 0 ? _a : node.default(); }\r\n },\r\n {\r\n type: 'list',\r\n node: ListNode_1.ListNode(node),\r\n change: v => v ? [v] : []\r\n }\r\n ], config);\r\n});\r\nexports.ObjectOrList = XOrList('object');\r\nexports.StringOrList = XOrList('string');\r\nexports.ObjectOrPreset = (presetNode, objectNode, presets) => {\r\n return exports.ChoiceNode([\r\n {\r\n type: 'string',\r\n priority: 1,\r\n node: presetNode,\r\n change: v => Object.keys(presets)[0]\r\n },\r\n {\r\n type: 'object',\r\n node: objectNode,\r\n change: v => { var _a; return (_a = presets[v]) !== null && _a !== void 0 ? _a : presets[Object.keys(presets)[0]]; }\r\n }\r\n ]);\r\n};\r\n","\"use strict\";\r\nObject.defineProperty(exports, \"__esModule\", { value: true });\r\nexports.MapNode = void 0;\r\nconst Node_1 = require(\"./Node\");\r\n/**\r\n * Map nodes similar to list nodes, but a string key is required to add children\r\n */\r\nexports.MapNode = (keys, children, config) => {\r\n return {\r\n ...Node_1.Base,\r\n type: () => 'map',\r\n default: () => ({}),\r\n navigate(path, index) {\r\n const nextIndex = index + 1;\r\n const pathElements = path.getArray();\r\n if (pathElements.length <= nextIndex) {\r\n return this;\r\n }\r\n return children.navigate(path, nextIndex);\r\n },\r\n pathPush(path, key) {\r\n return path.modelPush(key);\r\n },\r\n suggest: (path) => keys.suggest(path, ''),\r\n validate(path, value, errors, options) {\r\n if (options.loose && typeof value !== 'object') {\r\n value = this.default();\r\n }\r\n if (value === null || typeof value !== 'object') {\r\n errors.add(path, 'error.expected_object');\r\n return value;\r\n }\r\n let res = {};\r\n Object.keys(value).forEach(k => {\r\n keys.validate(path, k, errors, options);\r\n res[k] = children.validate(path.push(k), value[k], errors, options);\r\n });\r\n return res;\r\n },\r\n validationOption(path) {\r\n var _a;\r\n return (_a = config === null || config === void 0 ? void 0 : config.validation) !== null && _a !== void 0 ? _a : keys.validationOption(path.push(''));\r\n },\r\n hook(hook, path, ...args) {\r\n var _a;\r\n return ((_a = hook.map) !== null && _a !== void 0 ? _a : hook.base).call(hook, { node: this, keys, children, config: config !== null && config !== void 0 ? config : {} }, path, ...args);\r\n }\r\n };\r\n};\r\n","\"use strict\";\r\nObject.defineProperty(exports, \"__esModule\", { value: true });\r\nexports.NumberNode = void 0;\r\nconst Node_1 = require(\"./Node\");\r\nexports.NumberNode = (config) => {\r\n var _a, _b, _c;\r\n const integer = (config === null || config === void 0 ? void 0 : config.color) ? true : (_a = config === null || config === void 0 ? void 0 : config.integer) !== null && _a !== void 0 ? _a : false;\r\n const min = (config === null || config === void 0 ? void 0 : config.color) ? 0 : (_b = config === null || config === void 0 ? void 0 : config.min) !== null && _b !== void 0 ? _b : -Infinity;\r\n const max = (config === null || config === void 0 ? void 0 : config.color) ? 16777215 : (_c = config === null || config === void 0 ? void 0 : config.max) !== null && _c !== void 0 ? _c : Infinity;\r\n const between = (config === null || config === void 0 ? void 0 : config.min) !== undefined && (config === null || config === void 0 ? void 0 : config.max) !== undefined;\r\n return {\r\n ...Node_1.Base,\r\n type: () => 'number',\r\n default: () => min > 0 ? min : 0,\r\n validate(path, value, errors, options) {\r\n if (options.loose && typeof value !== 'number') {\r\n value = this.default();\r\n }\r\n if (typeof value !== 'number') {\r\n errors.add(path, 'error.expected_number');\r\n }\r\n else if (integer && !Number.isInteger(value)) {\r\n errors.add(path, 'error.expected_integer');\r\n }\r\n else if (between && (value < min || value > max)) {\r\n errors.add(path, 'error.invalid_number_range.between', value, min, max);\r\n }\r\n else if (value < min) {\r\n errors.add(path, 'error.invalid_number_range.smaller', value, min);\r\n }\r\n else if (value > max) {\r\n errors.add(path, 'error.invalid_number_range.larger', value, max);\r\n }\r\n return value;\r\n },\r\n hook(hook, path, ...args) {\r\n var _a;\r\n return ((_a = hook.number) !== null && _a !== void 0 ? _a : hook.base).call(hook, { node: this, integer, min, max, between, config: config !== null && config !== void 0 ? config : {} }, path, ...args);\r\n }\r\n };\r\n};\r\n","\"use strict\";\r\nObject.defineProperty(exports, \"__esModule\", { value: true });\r\nexports.quoteString = exports.escapeString = void 0;\r\nfunction escapeString(str) {\r\n return str.replace(/(\\\\|\")/g, '\\\\$1');\r\n}\r\nexports.escapeString = escapeString;\r\nfunction quoteString(str) {\r\n return `\"${escapeString(str)}\"`;\r\n}\r\nexports.quoteString = quoteString;\r\n","\"use strict\";\r\nObject.defineProperty(exports, \"__esModule\", { value: true });\r\nexports.ObjectNode = exports.Case = exports.Switch = void 0;\r\nconst Node_1 = require(\"./Node\");\r\nconst Path_1 = require(\"../model/Path\");\r\nconst Errors_1 = require(\"../model/Errors\");\r\nconst utils_1 = require(\"../utils\");\r\nexports.Switch = Symbol('switch');\r\nexports.Case = Symbol('case');\r\nexports.ObjectNode = (fields, config) => {\r\n const { [exports.Switch]: filter, [exports.Case]: cases, ...defaultFields } = fields;\r\n const getActiveFields = (path) => {\r\n if (filter === undefined)\r\n return defaultFields;\r\n const switchValue = Path_1.relativePath(path, filter).get();\r\n const activeCase = cases[switchValue];\r\n return { ...defaultFields, ...activeCase };\r\n };\r\n const getChildModelPath = (path, childKey) => {\r\n var _a;\r\n const switchValue = filter ? Path_1.relativePath(path, filter).get() : undefined;\r\n const caseFields = filter ? ((_a = cases[switchValue]) !== null && _a !== void 0 ? _a : {}) : {};\r\n const caseKeys = Object.keys(caseFields);\r\n const pathWithContext = (config === null || config === void 0 ? void 0 : config.context) ?\r\n new Path_1.ModelPath(path.getModel(), new Path_1.Path(path.getArray(), [config.context])) : path;\r\n const pathWithFilter = !(config === null || config === void 0 ? void 0 : config.disableSwitchContext) && switchValue && caseKeys.includes(childKey) ?\r\n pathWithContext.contextPush(switchValue) : pathWithContext;\r\n return pathWithFilter.push(childKey);\r\n };\r\n return ({\r\n ...Node_1.Base,\r\n type: () => 'object',\r\n category: () => config === null || config === void 0 ? void 0 : config.category,\r\n default: () => ({}),\r\n keep() {\r\n return this.optional();\r\n },\r\n navigate(path, index) {\r\n const nextIndex = index + 1;\r\n const pathElements = path.getArray();\r\n if (pathElements.length <= nextIndex) {\r\n return this;\r\n }\r\n const activeFields = getActiveFields(path.slice(0, nextIndex));\r\n const node = activeFields[pathElements[nextIndex]];\r\n return node === null || node === void 0 ? void 0 : node.navigate(path, nextIndex);\r\n },\r\n pathPush(path, key) {\r\n return getChildModelPath(path, key.toString());\r\n },\r\n suggest(path, value) {\r\n const activeFields = getActiveFields(path);\r\n const existingKeys = Object.keys(typeof value === 'object' ? value : {});\r\n return Object.keys(activeFields)\r\n .filter(k => activeFields[k].enabled(path))\r\n .filter(k => !existingKeys.includes(k))\r\n .map(utils_1.quoteString);\r\n },\r\n validate(path, value, errors, options) {\r\n if (options.loose && typeof value !== 'object') {\r\n value = this.default();\r\n }\r\n if (typeof value !== 'object') {\r\n errors.add(path, 'error.expected_object');\r\n return value;\r\n }\r\n let activeFields = defaultFields;\r\n if (filter) {\r\n const filterPath = Path_1.relativePath(path, filter);\r\n let switchValue = filterPath.get();\r\n if (path.equals(filterPath.pop())) {\r\n const filterField = filterPath.last();\r\n switchValue = defaultFields[filterField].validate(path.push(filterField), value[filterField], new Errors_1.Errors(), options);\r\n }\r\n activeFields = { ...activeFields, ...cases[switchValue] };\r\n }\r\n const activeKeys = Object.keys(activeFields);\r\n const forcedKeys = activeKeys.filter(k => !activeFields[k].optional());\r\n const keys = new Set([...forcedKeys, ...Object.keys(value)]);\r\n let res = {};\r\n keys.forEach(k => {\r\n if (activeKeys.includes(k)) {\r\n if (!activeFields[k].enabled(path))\r\n return;\r\n const newValue = activeFields[k].validate(path.push(k), value[k], errors, options);\r\n if (!activeFields[k].keep() && activeFields[k].optional()\r\n && (newValue === undefined\r\n || (Array.isArray(newValue) && newValue.length === 0)\r\n || (newValue.constructor === Object && Object.keys(newValue).length === 0))) {\r\n res[k] = undefined;\r\n }\r\n else {\r\n res[k] = newValue;\r\n path.getModel().set(path.push(k), newValue, true);\r\n }\r\n }\r\n else {\r\n res[k] = value[k];\r\n }\r\n });\r\n return res;\r\n },\r\n hook(hook, path, ...args) {\r\n var _a;\r\n return ((_a = hook.object) !== null && _a !== void 0 ? _a : hook.base).call(hook, { node: this, fields: defaultFields, filter, cases, getActiveFields, getChildModelPath }, path, ...args);\r\n }\r\n });\r\n};\r\n","\"use strict\";\r\nObject.defineProperty(exports, \"__esModule\", { value: true });\r\nexports.Reference = void 0;\r\nexports.Reference = (schemas, schema) => ({\r\n type(path) {\r\n return schemas.get(schema).type.bind(this)(path);\r\n },\r\n category(path) {\r\n return schemas.get(schema).category.bind(this)(path);\r\n },\r\n default() {\r\n return schemas.get(schema).default.bind(this)();\r\n },\r\n transform(path, value) {\r\n return schemas.get(schema).transform(path, value);\r\n },\r\n enabled(path) {\r\n return schemas.get(schema).enabled.bind(this)(path);\r\n },\r\n keep() {\r\n return schemas.get(schema).keep.bind(this)();\r\n },\r\n optional() {\r\n return schemas.get(schema).optional.bind(this)();\r\n },\r\n navigate(path, index) {\r\n return schemas.get(schema).navigate.bind(this)(path, index);\r\n },\r\n pathPush(path, key) {\r\n return schemas.get(schema).pathPush.bind(this)(path, key);\r\n },\r\n suggest(path, value) {\r\n return schemas.get(schema).suggest.bind(this)(path, value);\r\n },\r\n validate(path, value, errors, options) {\r\n return schemas.get(schema).validate.bind(this)(path, value, errors, options);\r\n },\r\n validationOption(path) {\r\n return schemas.get(schema).validationOption.bind(this)(path);\r\n },\r\n hook(hook, path, ...args) {\r\n return schemas.get(schema).hook.bind(this)(hook, path, ...args);\r\n },\r\n activeCase(path, fallback) {\r\n return schemas.get(schema).activeCase.bind(this)(path, fallback);\r\n },\r\n canUpdate(path, value) {\r\n return schemas.get(schema).canUpdate.bind(this)(path, value);\r\n },\r\n update(path, value) {\r\n return schemas.get(schema).update.bind(this)(path, value);\r\n }\r\n});\r\n","\"use strict\";\r\nObject.defineProperty(exports, \"__esModule\", { value: true });\r\nexports.StringNode = void 0;\r\nconst Node_1 = require(\"./Node\");\r\nconst utils_1 = require(\"../utils\");\r\nconst isEnum = (value) => {\r\n var _a;\r\n return !!((_a = value) === null || _a === void 0 ? void 0 : _a.enum);\r\n};\r\nconst isValidator = (value) => {\r\n var _a;\r\n return !!((_a = value) === null || _a === void 0 ? void 0 : _a.validator);\r\n};\r\n/**\r\n * Simple string node with one text field\r\n */\r\nexports.StringNode = (collections, config) => {\r\n const getValues = isEnum(config)\r\n ? ((typeof config.enum === 'string')\r\n ? () => { var _a; return (_a = collections === null || collections === void 0 ? void 0 : collections.get(config.enum)) !== null && _a !== void 0 ? _a : []; }\r\n : () => config.enum)\r\n : (((config === null || config === void 0 ? void 0 : config.validator) === 'resource')\r\n ? ((typeof config.params.pool === 'string')\r\n ? (config.params.pool.startsWith('$')\r\n ? () => { var _a; return (_a = collections === null || collections === void 0 ? void 0 : collections.get(config.params.pool.slice(1))) !== null && _a !== void 0 ? _a : []; }\r\n : () => { var _a; return (_a = collections === null || collections === void 0 ? void 0 : collections.get(config.params.pool)) !== null && _a !== void 0 ? _a : []; })\r\n : () => config.params.pool)\r\n : () => []);\r\n return {\r\n ...Node_1.Base,\r\n type: () => 'string',\r\n default: () => '',\r\n validate(path, value, errors, options) {\r\n if (options.loose && typeof value !== 'string') {\r\n value = this.default() || undefined;\r\n }\r\n if (typeof value !== 'string') {\r\n errors.add(path, 'error.expected_string');\r\n return value;\r\n }\r\n if (isValidator(config)) {\r\n if (config.validator === 'resource' && value.length > 0 && !value.includes(':')) {\r\n value = value[0] === '#'\r\n ? '#minecraft:' + value.slice(1)\r\n : 'minecraft:' + value;\r\n }\r\n if (config.validator === 'resource' && ((typeof config.params.pool === 'string' && config.params.pool.startsWith('$')) ||\r\n (config.params.allowTag && value[0] === '#') ||\r\n config.params.isDefinition ||\r\n config.params.allowUnknown)) {\r\n return value;\r\n }\r\n }\r\n if ((isEnum(config) && config.additional)) {\r\n return value;\r\n }\r\n const values = getValues();\r\n if (values.length > 0 && !values.includes(value)) {\r\n errors.add(path, 'error.invalid_enum_option', value);\r\n }\r\n return value;\r\n },\r\n suggest: () => getValues().map(utils_1.quoteString),\r\n validationOption() {\r\n return isValidator(config) ? config : undefined;\r\n },\r\n hook(hook, path, ...args) {\r\n var _a;\r\n return ((_a = hook.string) !== null && _a !== void 0 ? _a : hook.base).call(hook, { node: this, getValues, config }, path, ...args);\r\n }\r\n };\r\n};\r\n","\"use strict\";\r\nObject.defineProperty(exports, \"__esModule\", { value: true });\r\n","\"use strict\";\r\nObject.defineProperty(exports, \"__esModule\", { value: true });\r\nexports.CollectionRegistry = exports.SchemaRegistry = void 0;\r\n/**\r\n * Registry for schemas\r\n */\r\nclass SchemaRegistry {\r\n constructor() {\r\n this.registry = {};\r\n }\r\n register(id, node) {\r\n this.registry[id] = node;\r\n }\r\n get(id) {\r\n const node = this.registry[id];\r\n if (node === undefined) {\r\n console.error(`Tried to access schema \"${id}\", but that doesn't exist.`);\r\n }\r\n return node;\r\n }\r\n}\r\nexports.SchemaRegistry = SchemaRegistry;\r\n/**\r\n * Registry for collections\r\n */\r\nclass CollectionRegistry {\r\n constructor() {\r\n this.registry = {};\r\n }\r\n register(id, list) {\r\n this.registry[id] = list;\r\n }\r\n get(id) {\r\n const list = this.registry[id];\r\n if (list === undefined) {\r\n console.warn(`Tried to access collection \"${id}\", but that doesn't exist.`);\r\n }\r\n return list !== null && list !== void 0 ? list : [];\r\n }\r\n}\r\nexports.CollectionRegistry = CollectionRegistry;\r\n","\"use strict\";\r\nObject.defineProperty(exports, \"__esModule\", { value: true });\r\n","\"use strict\";\r\nvar __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {\r\n if (k2 === undefined) k2 = k;\r\n Object.defineProperty(o, k2, { enumerable: true, get: function() { return m[k]; } });\r\n}) : (function(o, m, k, k2) {\r\n if (k2 === undefined) k2 = k;\r\n o[k2] = m[k];\r\n}));\r\nvar __exportStar = (this && this.__exportStar) || function(m, exports) {\r\n for (var p in m) if (p !== \"default\" && !exports.hasOwnProperty(p)) __createBinding(exports, m, p);\r\n};\r\nObject.defineProperty(exports, \"__esModule\", { value: true });\r\n__exportStar(require(\"./model/DataModel\"), exports);\r\n__exportStar(require(\"./model/Path\"), exports);\r\n__exportStar(require(\"./model/Errors\"), exports);\r\n__exportStar(require(\"./nodes/Node\"), exports);\r\n__exportStar(require(\"./nodes/BooleanNode\"), exports);\r\n__exportStar(require(\"./nodes/ChoiceNode\"), exports);\r\n__exportStar(require(\"./nodes/ListNode\"), exports);\r\n__exportStar(require(\"./nodes/MapNode\"), exports);\r\n__exportStar(require(\"./nodes/NumberNode\"), exports);\r\n__exportStar(require(\"./nodes/ObjectNode\"), exports);\r\n__exportStar(require(\"./nodes/Reference\"), exports);\r\n__exportStar(require(\"./nodes/StringNode\"), exports);\r\n__exportStar(require(\"./nodes/SwitchNode\"), exports);\r\n__exportStar(require(\"./Hook\"), exports);\r\n__exportStar(require(\"./Registries\"), exports);\r\n__exportStar(require(\"./ValidationOption\"), exports);\r\n","\"use strict\";\r\nObject.defineProperty(exports, \"__esModule\", { value: true });\r\nexports.initCollections = void 0;\r\nfunction initCollections(collections) {\r\n collections.register('advancement_trigger', [\r\n 'minecraft:bee_nest_destroyed',\r\n 'minecraft:bred_animals',\r\n 'minecraft:brewed_potion',\r\n 'minecraft:changed_dimension',\r\n 'minecraft:channeled_lightning',\r\n 'minecraft:construct_beacon',\r\n 'minecraft:consume_item',\r\n 'minecraft:cured_zombie_villager',\r\n 'minecraft:effects_changed',\r\n 'minecraft:enchanted_item',\r\n 'minecraft:enter_block',\r\n 'minecraft:entity_hurt_player',\r\n 'minecraft:entity_killed_player',\r\n 'minecraft:filled_bucket',\r\n 'minecraft:fishing_rod_hooked',\r\n 'minecraft:hero_of_the_village',\r\n 'minecraft:impossible',\r\n 'minecraft:inventory_changed',\r\n 'minecraft:item_durability_changed',\r\n 'minecraft:killed_by_crossbow',\r\n 'minecraft:levitation',\r\n 'minecraft:location',\r\n 'minecraft:nether_travel',\r\n 'minecraft:placed_block',\r\n 'minecraft:player_hurt_entity',\r\n 'minecraft:player_killed_entity',\r\n 'minecraft:recipe_unlocked',\r\n 'minecraft:shot_crossbow',\r\n 'minecraft:safely_harvest_honey',\r\n 'minecraft:slept_in_bed',\r\n 'minecraft:slide_down_block',\r\n 'minecraft:summoned_entity',\r\n 'minecraft:tame_animal',\r\n 'minecraft:tick',\r\n 'minecraft:used_ender_eye',\r\n 'minecraft:used_totem',\r\n 'minecraft:villager_trade',\r\n 'minecraft:voluntary_exile'\r\n ]);\r\n collections.register('loot_pool_entry_type', [\r\n 'minecraft:empty',\r\n 'minecraft:item',\r\n 'minecraft:tag',\r\n 'minecraft:loot_table',\r\n 'minecraft:alternatives',\r\n 'minecraft:sequence',\r\n 'minecraft:group',\r\n 'minecraft:dynamic'\r\n ]);\r\n collections.register('loot_condition_type', [\r\n 'minecraft:alternative',\r\n 'minecraft:inverted',\r\n 'minecraft:reference',\r\n 'minecraft:entity_properties',\r\n 'minecraft:block_state_property',\r\n 'minecraft:match_tool',\r\n 'minecraft:damage_source_properties',\r\n 'minecraft:location_check',\r\n 'minecraft:weather_check',\r\n 'minecraft:time_check',\r\n 'minecraft:entity_scores',\r\n 'minecraft:random_chance',\r\n 'minecraft:random_chance_with_looting',\r\n 'minecraft:table_bonus',\r\n 'minecraft:killed_by_player',\r\n 'minecraft:survives_explosion'\r\n ]);\r\n collections.register('loot_function_type', [\r\n 'minecraft:set_count',\r\n 'minecraft:set_damage',\r\n 'minecraft:set_name',\r\n 'minecraft:set_lore',\r\n 'minecraft:set_nbt',\r\n 'minecraft:set_attributes',\r\n 'minecraft:set_contents',\r\n 'minecraft:enchant_randomly',\r\n 'minecraft:enchant_with_levels',\r\n 'minecraft:looting_enchant',\r\n 'minecraft:limit_count',\r\n 'minecraft:furnace_smelt',\r\n 'minecraft:explosion_decay',\r\n 'minecraft:fill_player_head',\r\n 'minecraft:copy_name',\r\n 'minecraft:copy_nbt',\r\n 'minecraft:copy_state',\r\n 'minecraft:apply_bonus',\r\n 'minecraft:exploration_map',\r\n 'minecraft:set_stew_effect'\r\n ]);\r\n collections.register('attribute', [\r\n 'generic.maxHealth',\r\n 'generic.followRange',\r\n 'generic.knockbackResistance',\r\n 'generic.movementSpeed',\r\n 'generic.attackDamage',\r\n 'generic.armor',\r\n 'generic.armorToughness',\r\n 'generic.attackSpeed',\r\n 'generic.luck',\r\n 'horse.jumpStrength',\r\n 'generic.attackKnockback',\r\n 'generic.flyingSpeed',\r\n 'zombie.spawnReinforcements'\r\n ]);\r\n collections.register('structure_feature', [\r\n 'pillager_outpost',\r\n 'mineshaft',\r\n 'mansion',\r\n 'jungle_pyramid',\r\n 'desert_pyramid',\r\n 'igloo',\r\n 'shipwreck',\r\n 'swamp_hut',\r\n 'stronghold',\r\n 'monument',\r\n 'ocean_ruin',\r\n 'fortress',\r\n 'endcity',\r\n 'buried_treasure',\r\n 'village'\r\n ]);\r\n collections.register('dimension', [\r\n 'minecraft:overworld',\r\n 'minecraft:the_nether',\r\n 'minecraft:the_end'\r\n ]);\r\n collections.register('keybind', [\r\n 'key.advancements',\r\n 'key.attack',\r\n 'key.back',\r\n 'key.chat',\r\n 'key.command',\r\n 'key.drop',\r\n 'key.forward',\r\n 'key.fullscreen',\r\n 'key.hotbar.1',\r\n 'key.hotbar.2',\r\n 'key.hotbar.3',\r\n 'key.hotbar.4',\r\n 'key.hotbar.5',\r\n 'key.hotbar.6',\r\n 'key.hotbar.7',\r\n 'key.hotbar.8',\r\n 'key.hotbar.9',\r\n 'key.inventory',\r\n 'key.jump',\r\n 'key.left',\r\n 'key.loadToolbarActivator',\r\n 'key.pickItem',\r\n 'key.playerlist',\r\n 'key.right',\r\n 'key.saveToolbarActivator',\r\n 'key.screenshot',\r\n 'key.smoothCamera',\r\n 'key.sneak',\r\n 'key.spectatorOutlines',\r\n 'key.sprint',\r\n 'key.swapOffhand',\r\n 'key.togglePerspective',\r\n 'key.use'\r\n ]);\r\n collections.register('slot', [\r\n 'mainhand',\r\n 'offhand',\r\n 'head',\r\n 'chest',\r\n 'legs',\r\n 'feet'\r\n ]);\r\n collections.register('gamemode', [\r\n 'survival',\r\n 'creative',\r\n 'adventure',\r\n 'spectator'\r\n ]);\r\n collections.register('entity_source', [\r\n 'this',\r\n 'direct_killer',\r\n 'killer',\r\n 'killer_player'\r\n ]);\r\n collections.register('copy_source', [\r\n 'block_entity',\r\n 'this',\r\n 'killer',\r\n 'killer_player'\r\n ]);\r\n collections.register('loot_table_apply_bonus_formula', [\r\n 'minecraft:uniform_bonus_count',\r\n 'minecraft:binomial_with_bonus_count',\r\n 'minecraft:ore_drops'\r\n ]);\r\n collections.register('map_decoration', [\r\n 'mansion',\r\n 'monument',\r\n 'player',\r\n 'frame',\r\n 'red_marker',\r\n 'blue_marker',\r\n 'target_x',\r\n 'target_point',\r\n 'player_off_map',\r\n 'player_off_limits',\r\n 'red_x',\r\n 'banner_white',\r\n 'banner_orange',\r\n 'banner_magenta',\r\n 'banner_light_blue',\r\n 'banner_yellow',\r\n 'banner_lime',\r\n 'banner_pink',\r\n 'banner_gray',\r\n 'banner_light_gray',\r\n 'banner_cyan',\r\n 'banner_purple',\r\n 'banner_blue',\r\n 'banner_brown',\r\n 'banner_green',\r\n 'banner_red',\r\n 'banner_black'\r\n ]);\r\n collections.register('recipe_group', [\r\n 'bed',\r\n 'light_gray_dye',\r\n 'iron_ingot',\r\n 'wooden_stairs',\r\n 'black_dye',\r\n 'stained_terracotta',\r\n 'dyed_bed',\r\n 'magenta_dye',\r\n 'bark',\r\n 'rabbit_stew',\r\n 'light_blue_dye',\r\n 'wooden_fence_gate',\r\n 'planks',\r\n 'stained_glass',\r\n 'wooden_door',\r\n 'stained_glass_pane',\r\n 'wooden_fence',\r\n 'sticks',\r\n 'concrete_powder',\r\n 'wooden_pressure_plate',\r\n 'boat',\r\n 'brown_dye',\r\n 'yellow_dye',\r\n 'bonemeal',\r\n 'red_dye',\r\n 'wooden_trapdoor',\r\n 'wooden_button',\r\n 'gold_ingot',\r\n 'pink_dye',\r\n 'wooden_slab',\r\n 'orange_dye',\r\n 'carpet',\r\n 'sign',\r\n 'wool',\r\n 'sugar',\r\n 'blue_dye',\r\n 'white_dye',\r\n 'banner',\r\n 'netherite_ingot'\r\n ]);\r\n collections.register('loot_context_type', [\r\n 'minecraft:empty',\r\n 'minecraft:chest',\r\n 'minecraft:command',\r\n 'minecraft:selector',\r\n 'minecraft:fishing',\r\n 'minecraft:entity',\r\n 'minecraft:gift',\r\n 'minecraft:barter',\r\n 'minecraft:advancement_reward',\r\n 'minecraft:advancement_entity',\r\n 'minecraft:generic',\r\n 'minecraft:block'\r\n ]);\r\n}\r\nexports.initCollections = initCollections;\r\n","\"use strict\";\r\nObject.defineProperty(exports, \"__esModule\", { value: true });\r\nexports.initCommonSchemas = exports.Range = exports.ConditionCases = void 0;\r\nconst core_1 = require(\"@mcschema/core\");\r\nfunction initCommonSchemas(schemas, collections) {\r\n const StringNode = core_1.StringNode.bind(undefined, collections);\r\n const Reference = core_1.Reference.bind(undefined, schemas);\r\n schemas.register('block_state', core_1.Mod(core_1.ObjectNode({\r\n Name: StringNode({ validator: 'resource', params: { pool: 'block' } }),\r\n Properties: core_1.Opt(core_1.MapNode(StringNode(), StringNode(), { validation: { validator: 'block_state_map', params: { id: ['pop', { push: 'Name' }] } } }))\r\n }, { context: 'block_state' }), {\r\n default: () => ({\r\n Name: 'minecraft:stone'\r\n })\r\n }));\r\n schemas.register('fluid_state', core_1.Mod(core_1.ObjectNode({\r\n Name: StringNode({ validator: 'resource', params: { pool: 'fluid' } }),\r\n Properties: core_1.Opt(core_1.MapNode(StringNode(), StringNode()))\r\n }, { context: 'fluid_state' }), {\r\n default: () => ({\r\n Name: 'minecraft:water',\r\n Properties: {\r\n 'level': '0'\r\n }\r\n })\r\n }));\r\n schemas.register('block_pos', core_1.Mod(core_1.ListNode(core_1.NumberNode({ integer: true })), {\r\n default: () => [0, 0, 0]\r\n }));\r\n exports.Range = (config) => core_1.ChoiceNode([\r\n ...((config === null || config === void 0 ? void 0 : config.forceRange) ? [] : [{\r\n type: 'number',\r\n node: core_1.NumberNode(config),\r\n change: (v) => { var _a, _b, _c; return v === undefined ? 0 : (_c = (_b = (_a = v.min) !== null && _a !== void 0 ? _a : v.max) !== null && _b !== void 0 ? _b : v.n) !== null && _c !== void 0 ? _c : 0; }\r\n }]),\r\n {\r\n type: 'object',\r\n priority: -1,\r\n node: core_1.ObjectNode({\r\n min: (config === null || config === void 0 ? void 0 : config.bounds) ? core_1.NumberNode(config) : core_1.Opt(core_1.NumberNode(config)),\r\n max: (config === null || config === void 0 ? void 0 : config.bounds) ? core_1.NumberNode(config) : core_1.Opt(core_1.NumberNode(config))\r\n }, { context: 'range' }),\r\n change: (v) => ({\r\n min: typeof v === 'number' ? v : v === undefined ? 1 : v.n,\r\n max: typeof v === 'number' ? v : v === undefined ? 1 : v.n\r\n })\r\n },\r\n ...((config === null || config === void 0 ? void 0 : config.allowBinomial) ? [{\r\n type: 'binomial',\r\n node: core_1.ObjectNode({\r\n type: StringNode({ enum: ['minecraft:binomial'] }),\r\n n: core_1.NumberNode({ integer: true, min: 0 }),\r\n p: core_1.NumberNode({ min: 0, max: 1 })\r\n }, { context: 'range' }),\r\n match: (v) => v !== undefined && v.type === 'minecraft:binomial',\r\n change: (v) => {\r\n var _a, _b;\r\n return ({\r\n type: 'minecraft:binomial',\r\n n: typeof v === 'number' ? v : v === undefined ? 1 : ((_b = (_a = v.min) !== null && _a !== void 0 ? _a : v.max) !== null && _b !== void 0 ? _b : 1),\r\n p: 0.5\r\n });\r\n }\r\n }] : [])\r\n ], { choiceContext: 'range' });\r\n exports.ConditionCases = {\r\n 'minecraft:alternative': {\r\n terms: core_1.ListNode(Reference('condition'))\r\n },\r\n 'minecraft:block_state_property': {\r\n block: StringNode({ validator: 'resource', params: { pool: 'block' } }),\r\n properties: core_1.MapNode(StringNode(), StringNode(), { validation: { validator: 'block_state_map', params: { id: ['pop', { push: 'block' }] } } })\r\n },\r\n 'minecraft:damage_source_properties': {\r\n predicate: Reference('damage_source_predicate')\r\n },\r\n 'minecraft:entity_properties': {\r\n entity: StringNode({ enum: 'entity_source' }),\r\n predicate: Reference('entity_predicate')\r\n },\r\n 'minecraft:entity_scores': {\r\n entity: StringNode({ enum: 'entity_source' }),\r\n scores: core_1.MapNode(StringNode({ validator: 'objective' }), exports.Range({ forceRange: true, bounds: true }))\r\n },\r\n 'minecraft:inverted': {\r\n term: Reference('condition')\r\n },\r\n 'minecraft:killed_by_player': {\r\n inverse: core_1.Opt(core_1.BooleanNode())\r\n },\r\n 'minecraft:location_check': {\r\n offsetX: core_1.Opt(core_1.NumberNode({ integer: true })),\r\n offsetY: core_1.Opt(core_1.NumberNode({ integer: true })),\r\n offsetZ: core_1.Opt(core_1.NumberNode({ integer: true })),\r\n predicate: Reference('location_predicate')\r\n },\r\n 'minecraft:match_tool': {\r\n predicate: Reference('item_predicate')\r\n },\r\n 'minecraft:random_chance': {\r\n chance: core_1.NumberNode({ min: 0, max: 1 })\r\n },\r\n 'minecraft:random_chance_with_looting': {\r\n chance: core_1.NumberNode({ min: 0, max: 1 }),\r\n looting_multiplier: core_1.NumberNode()\r\n },\r\n 'minecraft:requirements': {\r\n terms: core_1.ListNode(Reference('condition')),\r\n },\r\n 'minecraft:reference': {\r\n name: StringNode({ validator: 'resource', params: { pool: '$predicate' } })\r\n },\r\n 'minecraft:table_bonus': {\r\n enchantment: StringNode({ validator: 'resource', params: { pool: 'enchantment' } }),\r\n chances: core_1.ListNode(core_1.NumberNode({ min: 0, max: 1 }))\r\n },\r\n 'minecraft:time_check': {\r\n value: exports.Range(),\r\n period: core_1.Opt(core_1.NumberNode())\r\n },\r\n 'minecraft:weather_check': {\r\n raining: core_1.Opt(core_1.BooleanNode()),\r\n thundering: core_1.Opt(core_1.BooleanNode())\r\n }\r\n };\r\n}\r\nexports.initCommonSchemas = initCommonSchemas;\r\n","\"use strict\";\r\nObject.defineProperty(exports, \"__esModule\", { value: true });\r\nexports.initPredicatesSchemas = exports.LocationFields = void 0;\r\nconst core_1 = require(\"@mcschema/core\");\r\nconst Common_1 = require(\"./Common\");\r\nfunction initPredicatesSchemas(schemas, collections) {\r\n const Reference = core_1.Reference.bind(undefined, schemas);\r\n const StringNode = core_1.StringNode.bind(undefined, collections);\r\n const StateChoice = core_1.ChoiceNode([\r\n {\r\n type: 'string',\r\n node: StringNode(),\r\n change: v => (typeof v === 'boolean' || typeof v === 'number') ? v.toString() : ''\r\n },\r\n {\r\n type: 'number',\r\n node: core_1.NumberNode(),\r\n change: v => (typeof v === 'string') ? parseInt(v) : 0\r\n },\r\n {\r\n type: 'object',\r\n node: core_1.ObjectNode({\r\n min: core_1.Opt(core_1.NumberNode({ integer: true })),\r\n max: core_1.Opt(core_1.NumberNode({ integer: true }))\r\n }),\r\n change: v => (typeof v === 'number') ? ({ min: v, max: v }) : ({})\r\n },\r\n {\r\n type: 'boolean',\r\n node: core_1.BooleanNode(),\r\n change: v => v === 'true' || v === 1\r\n }\r\n ]);\r\n schemas.register('item_predicate', core_1.ObjectNode({\r\n item: core_1.Opt(StringNode({ validator: 'resource', params: { pool: 'item' } })),\r\n tag: core_1.Opt(StringNode({ validator: 'resource', params: { pool: '$tag/item' } })),\r\n count: core_1.Opt(Common_1.Range()),\r\n durability: core_1.Opt(Common_1.Range()),\r\n potion: core_1.Opt(StringNode({ validator: 'resource', params: { pool: 'potion' } })),\r\n nbt: core_1.Opt(StringNode({ validator: 'nbt', params: { registry: { category: 'minecraft:item', id: ['pop', { push: 'item' }] } } })),\r\n enchantments: core_1.Opt(core_1.ListNode(Reference('enchantment_predicate')))\r\n }, { context: 'item' }));\r\n schemas.register('enchantment_predicate', core_1.ObjectNode({\r\n enchantment: core_1.Opt(StringNode({ validator: 'resource', params: { pool: 'enchantment' } })),\r\n levels: core_1.Opt(Common_1.Range())\r\n }, { context: 'enchantment' }));\r\n schemas.register('block_predicate', core_1.ObjectNode({\r\n block: core_1.Opt(StringNode({ validator: 'resource', params: { pool: 'block' } })),\r\n tag: core_1.Opt(StringNode({ validator: 'resource', params: { pool: '$tag/block' } })),\r\n nbt: core_1.Opt(StringNode({ validator: 'nbt', params: { registry: { category: 'minecraft:block', id: ['pop', { push: 'block' }] } } })),\r\n state: core_1.Opt(core_1.MapNode(StringNode(), StateChoice, { validation: { validator: 'block_state_map', params: { id: ['pop', { push: 'block' }] } } }))\r\n }, { context: 'block' }));\r\n schemas.register('fluid_predicate', core_1.ObjectNode({\r\n fluid: core_1.Opt(StringNode({ validator: 'resource', params: { pool: 'fluid' } })),\r\n tag: core_1.Opt(StringNode({ validator: 'resource', params: { pool: '$tag/fluid' } })),\r\n state: core_1.Opt(core_1.MapNode(StringNode(), StateChoice))\r\n }, { context: 'fluid' }));\r\n exports.LocationFields = {\r\n position: core_1.Opt(core_1.ObjectNode({\r\n x: core_1.Opt(Common_1.Range()),\r\n y: core_1.Opt(Common_1.Range()),\r\n z: core_1.Opt(Common_1.Range())\r\n })),\r\n biome: core_1.Opt(StringNode({ enum: 'biome' })),\r\n feature: core_1.Opt(StringNode({ enum: 'structure_feature' })),\r\n dimension: core_1.Opt(StringNode({ enum: 'dimension' })),\r\n light: core_1.Opt(core_1.ObjectNode({\r\n light: core_1.Opt(Common_1.Range({ integer: true, min: 0, max: 15 }))\r\n })),\r\n block: core_1.Opt(Reference('block_predicate')),\r\n fluid: core_1.Opt(Reference('fluid_predicate'))\r\n };\r\n schemas.register('location_predicate', core_1.ObjectNode(exports.LocationFields, { context: 'location' }));\r\n schemas.register('statistic_predicate', core_1.ObjectNode({\r\n type: StringNode({ validator: 'resource', params: { pool: 'stat_type' } }),\r\n stat: StringNode(),\r\n value: Common_1.Range(),\r\n [core_1.Switch]: [{ push: 'type' }],\r\n [core_1.Case]: {\r\n 'minecraft:mined': {\r\n stat: StringNode({ validator: 'resource', params: { pool: 'block' } })\r\n },\r\n 'minecraft:crafted': {\r\n stat: StringNode({ validator: 'resource', params: { pool: 'item' } })\r\n },\r\n 'minecraft:used': {\r\n stat: StringNode({ validator: 'resource', params: { pool: 'item' } })\r\n },\r\n 'minecraft:broken': {\r\n stat: StringNode({ validator: 'resource', params: { pool: 'item' } })\r\n },\r\n 'minecraft:picked_up': {\r\n stat: StringNode({ validator: 'resource', params: { pool: 'item' } })\r\n },\r\n 'minecraft:dropped': {\r\n stat: StringNode({ validator: 'resource', params: { pool: 'item' } })\r\n },\r\n 'minecraft:killed': {\r\n stat: StringNode({ validator: 'resource', params: { pool: 'entity_type' } })\r\n },\r\n 'minecraft:killed_by': {\r\n stat: StringNode({ validator: 'resource', params: { pool: 'entity_type' } })\r\n },\r\n 'minecraft:custom': {\r\n stat: StringNode({ validator: 'resource', params: { pool: 'custom_stat' } })\r\n }\r\n }\r\n }));\r\n schemas.register('player_predicate', core_1.ObjectNode({\r\n gamemode: core_1.Opt(StringNode({ enum: 'gamemode' })),\r\n level: core_1.Opt(Common_1.Range()),\r\n advancements: core_1.Opt(core_1.MapNode(StringNode({ validator: 'resource', params: { pool: '$advancement' } }), core_1.ChoiceNode([\r\n { type: 'boolean', node: core_1.BooleanNode(), change: _ => true },\r\n {\r\n type: 'object', node: core_1.MapNode(StringNode(), core_1.BooleanNode())\r\n }\r\n ]))),\r\n recipes: core_1.Opt(core_1.MapNode(StringNode({ validator: 'resource', params: { pool: '$recipe' } }), core_1.BooleanNode())),\r\n stats: core_1.Opt(core_1.ListNode(Reference('statistic_predicate')))\r\n }, { context: 'player' }));\r\n schemas.register('status_effect_predicate', core_1.ObjectNode({\r\n amplifier: core_1.Opt(Common_1.Range()),\r\n duration: core_1.Opt(Common_1.Range()),\r\n ambient: core_1.Opt(core_1.BooleanNode()),\r\n visible: core_1.Opt(core_1.BooleanNode())\r\n }, { context: 'status_effect' }));\r\n schemas.register('distance_predicate', core_1.ObjectNode({\r\n x: core_1.Opt(Common_1.Range()),\r\n y: core_1.Opt(Common_1.Range()),\r\n z: core_1.Opt(Common_1.Range()),\r\n absolute: core_1.Opt(Common_1.Range()),\r\n horizontal: core_1.Opt(Common_1.Range())\r\n }, { context: 'distance' }));\r\n schemas.register('entity_predicate', core_1.ObjectNode({\r\n type: core_1.Opt(StringNode({ validator: 'resource', params: { pool: 'entity_type', allowTag: true } })),\r\n nbt: core_1.Opt(StringNode({ validator: 'nbt', params: { registry: { category: 'minecraft:entity', id: ['pop', { push: 'type' }] } } })),\r\n team: core_1.Opt(StringNode({ validator: 'team' })),\r\n location: core_1.Opt(Reference('location_predicate')),\r\n distance: core_1.Opt(Reference('distance_predicate')),\r\n flags: core_1.Opt(core_1.ObjectNode({\r\n is_on_fire: core_1.Opt(core_1.BooleanNode()),\r\n is_sneaking: core_1.Opt(core_1.BooleanNode()),\r\n is_sprinting: core_1.Opt(core_1.BooleanNode()),\r\n is_swimming: core_1.Opt(core_1.BooleanNode()),\r\n is_baby: core_1.Opt(core_1.BooleanNode())\r\n })),\r\n equipment: core_1.Opt(core_1.MapNode(StringNode({ enum: 'slot' }), Reference('item_predicate'))),\r\n player: core_1.Opt(Reference('player_predicate')),\r\n effects: core_1.Opt(core_1.MapNode(StringNode({ validator: 'resource', params: { pool: 'mob_effect' } }), Reference('status_effect_predicate')))\r\n }, { context: 'entity' }));\r\n schemas.register('damage_source_predicate', core_1.ObjectNode({\r\n is_explosion: core_1.Opt(core_1.BooleanNode()),\r\n is_fire: core_1.Opt(core_1.BooleanNode()),\r\n is_magic: core_1.Opt(core_1.BooleanNode()),\r\n is_projectile: core_1.Opt(core_1.BooleanNode()),\r\n is_lightning: core_1.Opt(core_1.BooleanNode()),\r\n bypasses_armor: core_1.Opt(core_1.BooleanNode()),\r\n bypasses_invulnerability: core_1.Opt(core_1.BooleanNode()),\r\n bypasses_magic: core_1.Opt(core_1.BooleanNode()),\r\n source_entity: core_1.Opt(Reference('entity_predicate')),\r\n direct_entity: core_1.Opt(Reference('entity_predicate'))\r\n }, { context: 'damage_source' }));\r\n schemas.register('damage_predicate', core_1.ObjectNode({\r\n dealt: core_1.Opt(Common_1.Range()),\r\n taken: core_1.Opt(Common_1.Range()),\r\n blocked: core_1.Opt(core_1.BooleanNode()),\r\n source_entity: core_1.Opt(Reference('entity_predicate')),\r\n type: core_1.Opt(Reference('damage_source_predicate'))\r\n }, { context: 'damage' }));\r\n}\r\nexports.initPredicatesSchemas = initPredicatesSchemas;\r\n","\"use strict\";\r\nObject.defineProperty(exports, \"__esModule\", { value: true });\r\nexports.initAdvancementSchemas = void 0;\r\nconst core_1 = require(\"@mcschema/core\");\r\nconst Common_1 = require(\"./Common\");\r\nconst Predicates_1 = require(\"./Predicates\");\r\nfunction initAdvancementSchemas(schemas, collections) {\r\n const Reference = core_1.Reference.bind(undefined, schemas);\r\n const StringNode = core_1.StringNode.bind(undefined, collections);\r\n schemas.register('advancement', core_1.Mod(core_1.ObjectNode({\r\n display: core_1.Opt(core_1.Mod(core_1.ObjectNode({\r\n icon: core_1.ObjectNode({\r\n item: StringNode({ validator: 'resource', params: { pool: 'item' } }),\r\n nbt: core_1.Opt(StringNode({ validator: 'nbt', params: { registry: { category: 'minecraft:item', id: ['pop', { push: 'item' }] } } }))\r\n }),\r\n title: Reference('text_component'),\r\n description: Reference('text_component'),\r\n background: core_1.Opt(StringNode()),\r\n frame: core_1.Opt(StringNode({ enum: ['task', 'challenge', 'goal'] })),\r\n show_toast: core_1.Opt(core_1.BooleanNode()),\r\n announce_to_chat: core_1.Opt(core_1.BooleanNode()),\r\n hidden: core_1.Opt(core_1.BooleanNode())\r\n }), {\r\n default: () => ({\r\n icon: {\r\n item: 'minecraft:stone'\r\n },\r\n title: '',\r\n description: ''\r\n })\r\n })),\r\n parent: core_1.Opt(StringNode({ validator: 'resource', params: { pool: '$advancement' } })),\r\n criteria: core_1.MapNode(StringNode(), Reference('advancement_criteria')),\r\n requirements: core_1.Opt(core_1.ListNode(core_1.ListNode(StringNode() // TODO: add validation\r\n ))),\r\n rewards: core_1.Opt(core_1.ObjectNode({\r\n function: core_1.Opt(StringNode({ validator: 'resource', params: { pool: '$function' } })),\r\n loot: core_1.Opt(core_1.ListNode(StringNode({ validator: 'resource', params: { pool: '$loot_table' } }))),\r\n recipes: core_1.Opt(core_1.ListNode(StringNode({ validator: 'resource', params: { pool: '$recipe' } }))),\r\n experience: core_1.Opt(core_1.NumberNode({ integer: true }))\r\n })),\r\n }, { context: 'advancement' }), {\r\n default: () => ({\r\n criteria: {\r\n requirement: {\r\n trigger: 'minecraft:location'\r\n }\r\n }\r\n })\r\n }));\r\n schemas.register('advancement_criteria', core_1.ObjectNode({\r\n trigger: StringNode({ validator: 'resource', params: { pool: collections.get('advancement_trigger') } }),\r\n conditions: core_1.Opt(core_1.ObjectNode({\r\n [core_1.Switch]: ['pop', { push: 'trigger' }],\r\n [core_1.Case]: {\r\n 'minecraft:bee_nest_destroyed': {\r\n block: core_1.Opt(StringNode({ validator: 'resource', params: { pool: 'block' } })),\r\n num_bees_inside: core_1.Opt(core_1.NumberNode({ integer: true })),\r\n item: core_1.Opt(Reference('item_predicate'))\r\n },\r\n 'minecraft:bred_animals': {\r\n parent: core_1.Opt(Reference('entity_predicate')),\r\n partner: core_1.Opt(Reference('entity_predicate')),\r\n child: core_1.Opt(Reference('entity_predicate'))\r\n },\r\n 'minecraft:brewed_potion': {\r\n potion: core_1.Opt(StringNode({ validator: 'resource', params: { pool: 'potion' } }))\r\n },\r\n 'minecraft:changed_dimension': {\r\n from: core_1.Opt(StringNode({ enum: 'dimension' })),\r\n to: core_1.Opt(StringNode({ enum: 'dimension' }))\r\n },\r\n 'minecraft:channeled_lightning': {\r\n victims: core_1.Opt(core_1.ListNode(core_1.Opt(Reference('entity_predicate'))))\r\n },\r\n 'minecraft:construct_beacon': {\r\n level: core_1.Opt(Common_1.Range())\r\n },\r\n 'minecraft:consume_item': {\r\n item: core_1.Opt(Reference('item_predicate'))\r\n },\r\n 'minecraft:cured_zombie_villager': {\r\n villager: core_1.Opt(Reference('entity_predicate')),\r\n zombie: core_1.Opt(Reference('entity_predicate'))\r\n },\r\n 'minecraft:effects_changed': {\r\n effects: core_1.Opt(core_1.MapNode(StringNode({ validator: 'resource', params: { pool: 'mob_effect' } }), core_1.ObjectNode({\r\n amplifier: Common_1.Range(),\r\n duration: Common_1.Range()\r\n })))\r\n },\r\n 'minecraft:enter_block': {\r\n block: core_1.Opt(StringNode({ validator: 'resource', params: { pool: 'block' } })),\r\n state: core_1.Opt(core_1.MapNode(StringNode(), StringNode(), { validation: { validator: 'block_state_map', params: { id: ['pop', { push: 'block' }] } } }))\r\n },\r\n 'minecraft:enchanted_item': {\r\n levels: core_1.Opt(Common_1.Range()),\r\n item: core_1.Opt(Reference('item_predicate'))\r\n },\r\n 'minecraft:entity_hurt_player': {\r\n damage: core_1.Opt(Reference('damage_predicate'))\r\n },\r\n 'minecraft:entity_killed_player': {\r\n entity: core_1.Opt(Reference('entity_predicate')),\r\n killing_blow: core_1.Opt(Reference('damage_source_predicate'))\r\n },\r\n 'minecraft:filled_bucket': {\r\n item: core_1.Opt(Reference('item_predicate'))\r\n },\r\n 'minecraft:fishing_rod_hooked': {\r\n entity: core_1.Opt(Reference('entity_predicate')),\r\n item: core_1.Opt(Reference('item_predicate'))\r\n },\r\n 'minecraft:hero_of_the_village': Predicates_1.LocationFields,\r\n 'minecraft:inventory_changed': {\r\n slots: core_1.Opt(core_1.ObjectNode({\r\n empty: core_1.Opt(Common_1.Range()),\r\n occupied: core_1.Opt(Common_1.Range()),\r\n full: core_1.Opt(Common_1.Range())\r\n })),\r\n items: core_1.Opt(core_1.ListNode(Reference('item_predicate')))\r\n },\r\n 'minecraft:item_durability_changed': {\r\n delta: core_1.Opt(Common_1.Range()),\r\n durability: core_1.Opt(Common_1.Range()),\r\n item: core_1.Opt(Reference('item_predicate'))\r\n },\r\n 'minecraft:killed_by_crossbow': {\r\n unique_entity_types: core_1.Opt(Common_1.Range()),\r\n victims: core_1.Opt(core_1.ListNode(core_1.Opt(Reference('entity_predicate'))))\r\n },\r\n 'minecraft:levitation': {\r\n distance: core_1.Opt(Common_1.Range()),\r\n duration: core_1.Opt(Common_1.Range())\r\n },\r\n 'minecraft:location': Predicates_1.LocationFields,\r\n 'minecraft:nether_travel': {\r\n distance: core_1.Opt(Common_1.Range()),\r\n entered: core_1.Opt(Reference('location_predicate')),\r\n exited: core_1.Opt(Reference('location_predicate'))\r\n },\r\n 'minecraft:placed_block': {\r\n block: core_1.Opt(StringNode({ validator: 'resource', params: { pool: 'block' } })),\r\n state: core_1.Opt(core_1.MapNode(StringNode(), StringNode(), { validation: { validator: 'block_state_map', params: { id: ['pop', { push: 'block' }] } } })),\r\n item: core_1.Opt(Reference('item_predicate')),\r\n location: core_1.Opt(Reference('location_predicate'))\r\n },\r\n 'minecraft:player_hurt_entity': {\r\n damage: core_1.Opt(Reference('damage_predicate')),\r\n entity: core_1.Opt(Reference('entity_predicate'))\r\n },\r\n 'minecraft:player_killed_entity': {\r\n entity: core_1.Opt(Reference('entity_predicate')),\r\n killing_blow: core_1.Opt(Reference('damage_source_predicate'))\r\n },\r\n 'minecraft:recipe_unlocked': {\r\n recipe: StringNode({ validator: 'resource', params: { pool: '$recipe' } })\r\n },\r\n 'minecraft:safely_harvest_honey': {\r\n block: core_1.Opt(core_1.ObjectNode({\r\n block: core_1.Opt(StringNode({ validator: 'resource', params: { pool: 'block' } })),\r\n tag: core_1.Opt(StringNode({ validator: 'resource', params: { pool: '$tag/block' } }))\r\n })),\r\n item: core_1.Opt(Reference('item_predicate'))\r\n },\r\n 'minecraft:slept_in_bed': Predicates_1.LocationFields,\r\n 'minecraft:slide_down_block': {\r\n block: core_1.Opt(StringNode({ validator: 'resource', params: { pool: 'block' } }))\r\n },\r\n 'minecraft:shot_crossbow': {\r\n item: core_1.Opt(Reference('item_predicate'))\r\n },\r\n 'minecraft:summoned_entity': {\r\n entity: core_1.Opt(Reference('entity_predicate'))\r\n },\r\n 'minecraft:tame_animal': {\r\n entity: core_1.Opt(Reference('entity_predicate'))\r\n },\r\n 'minecraft:used_ender_eye': {\r\n distance: core_1.Opt(Common_1.Range())\r\n },\r\n 'minecraft:used_totem': {\r\n item: core_1.Opt(Reference('item_predicate'))\r\n },\r\n 'minecraft:villager_trade': {\r\n villager: core_1.Opt(Reference('entity_predicate')),\r\n item: core_1.Opt(Reference('item_predicate'))\r\n },\r\n 'minecraft:voluntary_exile': Predicates_1.LocationFields\r\n }\r\n }, { context: 'criterion' }))\r\n }, { category: 'predicate', context: 'criterion' }));\r\n}\r\nexports.initAdvancementSchemas = initAdvancementSchemas;\r\n","\"use strict\";\r\nObject.defineProperty(exports, \"__esModule\", { value: true });\r\nexports.initConditionSchemas = void 0;\r\nconst core_1 = require(\"@mcschema/core\");\r\nconst Common_1 = require(\"./Common\");\r\nfunction initConditionSchemas(schemas, collections) {\r\n const Reference = core_1.Reference.bind(undefined, schemas);\r\n const StringNode = core_1.StringNode.bind(undefined, collections);\r\n schemas.register('predicate', core_1.ObjectOrList(Reference('condition'), { choiceContext: 'condition' }));\r\n schemas.register('condition', core_1.Mod(core_1.ObjectNode({\r\n condition: StringNode({ validator: 'resource', params: { pool: 'loot_condition_type' } }),\r\n [core_1.Switch]: [{ push: 'condition' }],\r\n [core_1.Case]: Common_1.ConditionCases\r\n }, { category: 'predicate', context: 'condition' }), {\r\n default: () => ({\r\n condition: 'minecraft:entity_properties',\r\n entity: 'this'\r\n })\r\n }));\r\n}\r\nexports.initConditionSchemas = initConditionSchemas;\r\n","\"use strict\";\r\nObject.defineProperty(exports, \"__esModule\", { value: true });\r\nexports.LootFunctions = exports.LootConditions = exports.LootCopySources = exports.LootEntitySources = exports.LootTableTypes = void 0;\r\nexports.LootTableTypes = new Map([\r\n ['minecraft:advancement_entity', { requires: [7 /* Origin */, 8 /* ThisEntity */], allows: [] }],\r\n ['minecraft:advancement_reward', { requires: [7 /* Origin */, 8 /* ThisEntity */], allows: [] }],\r\n ['minecraft:barter', { requires: [8 /* ThisEntity */], allows: [] }],\r\n ['minecraft:block', { requires: [1 /* BlockState */, 7 /* Origin */, 9 /* Tool */], allows: [0 /* BlockEntity */, 4 /* ExplosionRadius */, 8 /* ThisEntity */] }],\r\n ['minecraft:chest', { requires: [7 /* Origin */], allows: [8 /* ThisEntity */] }],\r\n ['minecraft:command', { requires: [7 /* Origin */], allows: [8 /* ThisEntity */] }],\r\n ['minecraft:empty', { requires: [], allows: [] }],\r\n ['minecraft:entity', { requires: [2 /* DamageSource */, 7 /* Origin */, 8 /* ThisEntity */], allows: [3 /* DirectKillerEntity */, 5 /* KillerEntity */, 6 /* LastDamagePlayer */] }],\r\n ['minecraft:fishing', { requires: [7 /* Origin */, 9 /* Tool */], allows: [8 /* ThisEntity */] }],\r\n ['minecraft:generic', { requires: [2 /* DamageSource */, 0 /* BlockEntity */, 1 /* BlockState */, 3 /* DirectKillerEntity */, 4 /* ExplosionRadius */, 5 /* KillerEntity */, 6 /* LastDamagePlayer */, 7 /* Origin */, 8 /* ThisEntity */, 9 /* Tool */], allows: [] }],\r\n ['minecraft:gift', { requires: [7 /* Origin */, 8 /* ThisEntity */], allows: [] }],\r\n ['minecraft:selector', { requires: [7 /* Origin */], allows: [8 /* ThisEntity */] }]\r\n]);\r\n/**\r\n * A map from loot entity sources to an array of their required context.\r\n */\r\nexports.LootEntitySources = new Map([\r\n ['direct_killer', [3 /* DirectKillerEntity */]],\r\n ['killer', [5 /* KillerEntity */]],\r\n ['killer_player', [5 /* KillerEntity */]],\r\n ['this', [8 /* ThisEntity */]]\r\n]);\r\n/**\r\n * A map from loot copy sources to an array of their required context.\r\n */\r\nexports.LootCopySources = new Map([\r\n ['block_entity', [0 /* BlockEntity */]],\r\n ['killer', [5 /* KillerEntity */]],\r\n ['killer_player', [5 /* KillerEntity */]],\r\n ['this', [8 /* ThisEntity */]]\r\n]);\r\n/**\r\n * A map from loot condition IDs to an array of their required context.\r\n */\r\nexports.LootConditions = new Map([\r\n ['minecraft:alternative', []],\r\n ['minecraft:block_state_property', [1 /* BlockState */]],\r\n ['minecraft:damage_source_properties', [2 /* DamageSource */]],\r\n ['minecraft:entity_properties', [7 /* Origin */]],\r\n ['minecraft:entity_scores', []],\r\n ['minecraft:inverted', []],\r\n ['minecraft:killed_by_player', [6 /* LastDamagePlayer */]],\r\n ['minecraft:location_check', []],\r\n ['minecraft:match_tool', [9 /* Tool */]],\r\n ['minecraft:random_chance', []],\r\n ['minecraft:random_chance_with_looting', [5 /* KillerEntity */]],\r\n ['minecraft:reference', []],\r\n ['minecraft:survives_explosion', [4 /* ExplosionRadius */]],\r\n ['minecraft:table_bonus', [9 /* Tool */]],\r\n ['minecraft:time_check', []],\r\n ['minecraft:weather_check', []]\r\n]);\r\n/**\r\n * A map from loot function IDs to an array of their required context.\r\n */\r\nexports.LootFunctions = new Map([\r\n ['minecraft:apply_bonus', [9 /* Tool */]],\r\n ['minecraft:copy_name', []],\r\n ['minecraft:copy_nbt', []],\r\n ['minecraft:copy_state', [1 /* BlockState */]],\r\n ['minecraft:enchant_randomly', []],\r\n ['minecraft:enchant_with_levels', []],\r\n ['minecraft:exploration_map', [7 /* Origin */]],\r\n ['minecraft:explosion_decay', []],\r\n ['minecraft:fill_player_head', []],\r\n ['minecraft:furnace_smelt', []],\r\n ['minecraft:limit_count', []],\r\n ['minecraft:looting_enchant', [5 /* KillerEntity */]],\r\n ['minecraft:set_attributes', []],\r\n ['minecraft:set_contents', []],\r\n ['minecraft:set_count', []],\r\n ['minecraft:set_damage', []],\r\n ['minecraft:set_loot_table', []],\r\n ['minecraft:set_lore', []],\r\n ['minecraft:set_name', []],\r\n ['minecraft:set_nbt', []],\r\n ['minecraft:set_stew_effect', []]\r\n]);\r\n","\"use strict\";\r\nObject.defineProperty(exports, \"__esModule\", { value: true });\r\nexports.initLootTableSchemas = void 0;\r\nconst core_1 = require(\"@mcschema/core\");\r\nconst LootContext_1 = require(\"../LootContext\");\r\nconst Common_1 = require(\"./Common\");\r\nfunction initLootTableSchemas(schemas, collections) {\r\n const Reference = core_1.Reference.bind(undefined, schemas);\r\n const StringNode = core_1.StringNode.bind(undefined, collections);\r\n const conditions = {\r\n conditions: core_1.Opt(core_1.ListNode(Reference('loot_condition')))\r\n };\r\n const functionsAndConditions = {\r\n functions: core_1.Opt(core_1.ListNode(Reference('loot_function'))),\r\n ...conditions\r\n };\r\n function compileSwitchNode(contextMap, collectionID, getNode) {\r\n const cases = [];\r\n const getAvailableOptions = (providedContext) => collections\r\n .get(collectionID)\r\n .filter(t => {\r\n var _a;\r\n const requiredContext = (_a = contextMap.get(t)) !== null && _a !== void 0 ? _a : [];\r\n return requiredContext.every(c => providedContext.includes(c));\r\n });\r\n for (const [tableType, { allows, requires }] of LootContext_1.LootTableTypes) {\r\n const providedContext = [...allows, ...requires];\r\n cases.push({\r\n match: path => path.getModel().get(new core_1.Path(['type'])) === tableType,\r\n node: getNode(getAvailableOptions(providedContext))\r\n });\r\n }\r\n cases.push({ match: _ => true, node: getNode(collectionID) });\r\n return core_1.SwitchNode(cases);\r\n }\r\n const conditionSwtichNode = compileSwitchNode(LootContext_1.LootConditions, 'loot_condition_type', type => StringNode({ validator: 'resource', params: { pool: type instanceof Array ? type : `loot_condition_type` } }));\r\n const functionSwtichNode = compileSwitchNode(LootContext_1.LootFunctions, 'loot_function_type', type => StringNode({ validator: 'resource', params: { pool: type instanceof Array ? type : `loot_function_type` } }));\r\n const entitySourceSwtichNode = compileSwitchNode(LootContext_1.LootEntitySources, 'entity_source', type => StringNode({ enum: type }));\r\n const copySourceSwtichNode = compileSwitchNode(LootContext_1.LootCopySources, 'copy_source', type => StringNode({ enum: type }));\r\n schemas.register('loot_table', core_1.Mod(core_1.ObjectNode({\r\n type: core_1.Opt(StringNode({ validator: \"resource\", params: { pool: collections.get('loot_context_type') } })),\r\n pools: core_1.Opt(core_1.ListNode(core_1.Mod(core_1.ObjectNode({\r\n rolls: Common_1.Range({ allowBinomial: true, integer: true }),\r\n bonus_rolls: core_1.Opt(Common_1.Range({ integer: true })),\r\n entries: core_1.ListNode(Reference('loot_entry')),\r\n ...functionsAndConditions\r\n }, { category: 'pool', context: 'loot_pool' }), {\r\n default: () => ({\r\n rolls: 1,\r\n entries: [{\r\n type: 'minecraft:item',\r\n name: 'minecraft:stone'\r\n }]\r\n })\r\n }))),\r\n functions: core_1.Opt(core_1.ListNode(Reference('loot_function')))\r\n }, { context: 'loot_table' }), {\r\n default: () => ({\r\n pools: [{\r\n rolls: 1,\r\n entries: [{\r\n type: 'minecraft:item',\r\n name: 'minecraft:stone'\r\n }]\r\n }]\r\n })\r\n }));\r\n const weightMod = {\r\n enabled: path => {\r\n var _a;\r\n return ((_a = path.pop().get()) === null || _a === void 0 ? void 0 : _a.length) > 1\r\n && !['minecraft:alternatives', 'minecraft:group', 'minecraft:sequence'].includes(path.push('type').get());\r\n }\r\n };\r\n schemas.register('loot_entry', core_1.Mod(core_1.ObjectNode({\r\n type: StringNode({ validator: 'resource', params: { pool: 'loot_pool_entry_type' } }),\r\n weight: core_1.Opt(core_1.Mod(core_1.NumberNode({ integer: true, min: 1 }), weightMod)),\r\n quality: core_1.Opt(core_1.Mod(core_1.NumberNode({ integer: true }), weightMod)),\r\n [core_1.Switch]: [{ push: 'type' }],\r\n [core_1.Case]: {\r\n 'minecraft:alternatives': {\r\n children: core_1.ListNode(Reference('loot_entry')),\r\n ...functionsAndConditions\r\n },\r\n 'minecraft:dynamic': {\r\n name: StringNode(),\r\n ...functionsAndConditions\r\n },\r\n 'minecraft:group': {\r\n children: core_1.ListNode(Reference('loot_entry')),\r\n ...functionsAndConditions\r\n },\r\n 'minecraft:item': {\r\n name: StringNode({ validator: 'resource', params: { pool: 'item' } }),\r\n ...functionsAndConditions\r\n },\r\n 'minecraft:loot_table': {\r\n name: StringNode({ validator: 'resource', params: { pool: '$loot_table' } }),\r\n ...functionsAndConditions\r\n },\r\n 'minecraft:sequence': {\r\n children: core_1.ListNode(Reference('loot_entry')),\r\n ...functionsAndConditions\r\n },\r\n 'minecraft:tag': {\r\n name: StringNode({ validator: 'resource', params: { pool: '$tag/item' } }),\r\n expand: core_1.Opt(core_1.BooleanNode()),\r\n ...functionsAndConditions\r\n }\r\n }\r\n }, { context: 'loot_entry' }), {\r\n default: () => ({\r\n type: 'minecraft:item',\r\n name: 'minecraft:stone'\r\n })\r\n }));\r\n schemas.register('loot_function', core_1.Mod(core_1.ObjectNode({\r\n function: functionSwtichNode,\r\n [core_1.Switch]: [{ push: 'function' }],\r\n [core_1.Case]: {\r\n 'minecraft:apply_bonus': {\r\n enchantment: StringNode({ validator: 'resource', params: { pool: 'enchantment' } }),\r\n formula: StringNode({ validator: 'resource', params: { pool: collections.get('loot_table_apply_bonus_formula') } }),\r\n parameters: core_1.Mod(core_1.ObjectNode({\r\n bonusMultiplier: core_1.Mod(core_1.NumberNode(), {\r\n enabled: path => path.pop().push('formula').get() === 'minecraft:uniform_bonus_count'\r\n }),\r\n extra: core_1.Mod(core_1.NumberNode(), {\r\n enabled: path => path.pop().push('formula').get() === 'minecraft:binomial_with_bonus_count'\r\n }),\r\n probability: core_1.Mod(core_1.NumberNode(), {\r\n enabled: path => path.pop().push('formula').get() === 'minecraft:binomial_with_bonus_count'\r\n })\r\n }), {\r\n enabled: path => path.push('formula').get() !== 'minecraft:ore_drops'\r\n }),\r\n ...conditions\r\n },\r\n 'minecraft:copy_name': {\r\n source: copySourceSwtichNode,\r\n ...conditions\r\n },\r\n 'minecraft:copy_nbt': {\r\n source: copySourceSwtichNode,\r\n ops: core_1.ListNode(core_1.ObjectNode({\r\n source: StringNode({ validator: 'nbt_path', params: { category: { getter: 'copy_source', path: ['pop', 'pop', 'pop', { push: 'source' }] } } }),\r\n target: StringNode({ validator: 'nbt_path', params: { category: 'minecraft:item' } }),\r\n op: StringNode({ enum: ['replace', 'append', 'merge'] })\r\n }, { context: 'nbt_operation' })),\r\n ...conditions\r\n },\r\n 'minecraft:copy_state': {\r\n block: StringNode({ validator: 'resource', params: { pool: 'block' } }),\r\n properties: core_1.ListNode(StringNode({ validator: 'block_state_key', params: { id: ['pop', 'pop', { push: 'block' }] } })),\r\n ...conditions\r\n },\r\n 'minecraft:enchant_randomly': {\r\n enchantments: core_1.Opt(core_1.ListNode(StringNode({ validator: 'resource', params: { pool: 'enchantment' } }))),\r\n ...conditions\r\n },\r\n 'minecraft:enchant_with_levels': {\r\n levels: Common_1.Range({ allowBinomial: true }),\r\n treasure: core_1.Opt(core_1.BooleanNode()),\r\n ...conditions\r\n },\r\n 'minecraft:exploration_map': {\r\n destination: core_1.Opt(StringNode({ enum: 'structure_feature' })),\r\n decoration: core_1.Opt(StringNode({ enum: 'map_decoration' })),\r\n zoom: core_1.Opt(core_1.NumberNode({ integer: true })),\r\n search_radius: core_1.Opt(core_1.NumberNode({ integer: true })),\r\n skip_existing_chunks: core_1.Opt(core_1.BooleanNode()),\r\n ...conditions\r\n },\r\n 'minecraft:fill_player_head': {\r\n entity: entitySourceSwtichNode,\r\n ...conditions\r\n },\r\n 'minecraft:limit_count': {\r\n limit: Common_1.Range({ bounds: true }),\r\n ...conditions\r\n },\r\n 'minecraft:looting_enchant': {\r\n count: Common_1.Range({ bounds: true }),\r\n limit: core_1.Opt(core_1.NumberNode({ integer: true })),\r\n ...conditions\r\n },\r\n 'minecraft:set_attributes': {\r\n modifiers: core_1.ListNode(Reference('attribute_modifier')),\r\n ...conditions\r\n },\r\n 'minecraft:set_contents': {\r\n entries: core_1.ListNode(Reference('loot_entry')),\r\n ...conditions\r\n },\r\n 'minecraft:set_count': {\r\n count: Common_1.Range({ allowBinomial: true }),\r\n ...conditions\r\n },\r\n 'minecraft:set_damage': {\r\n damage: Common_1.Range({ forceRange: true }),\r\n ...conditions\r\n },\r\n 'minecraft:set_loot_table': {\r\n name: StringNode({ validator: 'resource', params: { pool: '$loot_table' } }),\r\n seed: core_1.Opt(core_1.NumberNode({ integer: true }))\r\n },\r\n 'minecraft:set_lore': {\r\n entity: core_1.Opt(entitySourceSwtichNode),\r\n lore: core_1.ListNode(Reference('text_component')),\r\n replace: core_1.Opt(core_1.BooleanNode()),\r\n ...conditions\r\n },\r\n 'minecraft:set_name': {\r\n entity: core_1.Opt(entitySourceSwtichNode),\r\n name: core_1.Opt(Reference('text_component')),\r\n ...conditions\r\n },\r\n 'minecraft:set_nbt': {\r\n tag: StringNode({ validator: 'nbt', params: { registry: { category: 'minecraft:item' } } }),\r\n ...conditions\r\n },\r\n 'minecraft:set_stew_effect': {\r\n effects: core_1.Opt(core_1.ListNode(core_1.ObjectNode({\r\n type: StringNode({ validator: 'resource', params: { pool: 'mob_effect' } }),\r\n duration: Common_1.Range()\r\n }))),\r\n ...conditions\r\n }\r\n }\r\n }, { category: 'function', context: 'function' }), {\r\n default: () => ({\r\n function: 'minecraft:set_count',\r\n count: 1\r\n })\r\n }));\r\n schemas.register('loot_condition', core_1.Mod(core_1.ObjectNode({\r\n condition: conditionSwtichNode,\r\n [core_1.Switch]: [{ push: 'condition' }],\r\n [core_1.Case]: {\r\n ...Common_1.ConditionCases,\r\n 'minecraft:entity_properties': {\r\n entity: entitySourceSwtichNode,\r\n predicate: Reference('entity_predicate')\r\n },\r\n 'minecraft:entity_scores': {\r\n entity: entitySourceSwtichNode,\r\n scores: core_1.MapNode(StringNode({ validator: 'objective' }), Common_1.Range({ bounds: true }))\r\n }\r\n }\r\n }, { category: 'predicate', context: 'condition' }), {\r\n default: () => ({\r\n condition: 'minecraft:random_chance',\r\n chance: 0.5\r\n })\r\n }));\r\n schemas.register('attribute_modifier', core_1.Mod(core_1.ObjectNode({\r\n attribute: StringNode({ validator: 'resource', params: { pool: 'attribute' } }),\r\n name: StringNode(),\r\n amount: Common_1.Range({ bounds: true }),\r\n operation: StringNode({ enum: ['addition', 'multiply_base', 'multiply_total'] }),\r\n slot: core_1.StringOrList(StringNode({ enum: 'slot' }))\r\n }, { context: 'attribute_modifier' }), {\r\n default: () => ({\r\n attribute: 'minecraft:generic.max_health',\r\n name: '',\r\n amount: 1,\r\n operation: 'addition',\r\n slot: 'mainhand'\r\n })\r\n }));\r\n}\r\nexports.initLootTableSchemas = initLootTableSchemas;\r\n","\"use strict\";\r\nObject.defineProperty(exports, \"__esModule\", { value: true });\r\nexports.initPackMcmetaSchemas = void 0;\r\nconst core_1 = require(\"@mcschema/core\");\r\nfunction initPackMcmetaSchemas(schemas, _) {\r\n const getSimpleString = (jsonText) => { var _a, _b; return jsonText instanceof Array ? getSimpleString(jsonText[0]) : (_b = (_a = jsonText === null || jsonText === void 0 ? void 0 : jsonText.text) !== null && _a !== void 0 ? _a : jsonText === null || jsonText === void 0 ? void 0 : jsonText.toString()) !== null && _b !== void 0 ? _b : ''; };\r\n schemas.register('pack_mcmeta', core_1.Mod(core_1.ObjectNode({\r\n pack: core_1.Mod(core_1.ObjectNode({\r\n pack_format: core_1.Mod(core_1.NumberNode({ integer: true, min: 5, max: 5 }), { default: () => 5 }),\r\n description: core_1.Reference(schemas, 'text_component')\r\n }), {\r\n default: () => ({\r\n pack_format: 5,\r\n description: ''\r\n })\r\n })\r\n }), {\r\n default: () => ({\r\n pack: {\r\n pack_format: 5,\r\n description: ''\r\n }\r\n })\r\n }));\r\n}\r\nexports.initPackMcmetaSchemas = initPackMcmetaSchemas;\r\n","\"use strict\";\r\nObject.defineProperty(exports, \"__esModule\", { value: true });\r\nexports.initRecipeSchemas = void 0;\r\nconst core_1 = require(\"@mcschema/core\");\r\nfunction initRecipeSchemas(schemas, collections) {\r\n const Reference = core_1.Reference.bind(undefined, schemas);\r\n const StringNode = core_1.StringNode.bind(undefined, collections);\r\n schemas.register('recipe', core_1.Mod(core_1.ObjectNode({\r\n type: StringNode({ validator: 'resource', params: { pool: 'recipe_serializer' } }),\r\n [core_1.Switch]: [{ push: 'type' }],\r\n [core_1.Case]: {\r\n 'minecraft:crafting_shaped': {\r\n group: core_1.Opt(StringNode({ enum: 'recipe_group', additional: true })),\r\n pattern: core_1.ListNode(StringNode()),\r\n key: core_1.MapNode(StringNode(), // TODO: add validation\r\n Reference('recipe_ingredient')),\r\n result: Reference('recipe_result')\r\n },\r\n 'minecraft:crafting_shapeless': {\r\n group: core_1.Opt(StringNode()),\r\n ingredients: core_1.ListNode(Reference('recipe_ingredient')),\r\n result: Reference('recipe_result')\r\n },\r\n 'minecraft:smelting': {\r\n group: core_1.Opt(StringNode()),\r\n ingredient: Reference('recipe_ingredient'),\r\n result: StringNode({ validator: 'resource', params: { pool: 'item' } }),\r\n experience: core_1.Opt(core_1.NumberNode()),\r\n cookingtime: core_1.Opt(core_1.Mod(core_1.NumberNode({ integer: true }), { default: () => 200 }))\r\n },\r\n 'minecraft:blasting': {\r\n group: core_1.Opt(StringNode()),\r\n ingredient: Reference('recipe_ingredient'),\r\n result: StringNode({ validator: 'resource', params: { pool: 'item' } }),\r\n experience: core_1.Opt(core_1.NumberNode()),\r\n cookingtime: core_1.Opt(core_1.Mod(core_1.NumberNode({ integer: true }), { default: () => 100 }))\r\n },\r\n 'minecraft:smoking': {\r\n group: core_1.Opt(StringNode()),\r\n ingredient: Reference('recipe_ingredient'),\r\n result: StringNode({ validator: 'resource', params: { pool: 'item' } }),\r\n experience: core_1.Opt(core_1.NumberNode()),\r\n cookingtime: core_1.Opt(core_1.Mod(core_1.NumberNode({ integer: true }), { default: () => 100 }))\r\n },\r\n 'minecraft:campfire_cooking': {\r\n group: core_1.Opt(StringNode()),\r\n ingredient: Reference('recipe_ingredient'),\r\n result: StringNode({ validator: 'resource', params: { pool: 'item' } }),\r\n experience: core_1.Opt(core_1.NumberNode()),\r\n cookingtime: core_1.Opt(core_1.Mod(core_1.NumberNode({ integer: true }), { default: () => 100 }))\r\n },\r\n 'minecraft:stonecutting': {\r\n group: core_1.Opt(StringNode()),\r\n ingredient: Reference('recipe_ingredient'),\r\n result: StringNode({ validator: 'resource', params: { pool: 'item' } }),\r\n count: core_1.NumberNode({ integer: true })\r\n },\r\n 'minecraft:smithing': {\r\n group: core_1.Opt(StringNode()),\r\n base: Reference('recipe_ingredient_object'),\r\n addition: Reference('recipe_ingredient_object'),\r\n result: Reference('recipe_result')\r\n }\r\n }\r\n }, { context: 'recipe' }), {\r\n default: () => ({\r\n type: 'minecraft:crafting_shaped'\r\n })\r\n }));\r\n schemas.register('recipe_ingredient', core_1.Mod(core_1.ChoiceNode([\r\n {\r\n type: 'object',\r\n node: Reference('recipe_ingredient_object'),\r\n change: v => v[0]\r\n },\r\n {\r\n type: 'list',\r\n node: core_1.ListNode(Reference('recipe_ingredient_object')),\r\n change: v => [v]\r\n }\r\n ]), {\r\n default: () => ({\r\n item: 'minecraft:stone'\r\n })\r\n }));\r\n schemas.register('recipe_ingredient_object', core_1.Mod(core_1.ObjectNode({\r\n item: core_1.Opt(StringNode({ validator: 'resource', params: { pool: 'item' } })),\r\n tag: core_1.Opt(StringNode({ validator: 'resource', params: { pool: '$tag/item' } }))\r\n }), {\r\n default: () => ({\r\n item: 'minecraft:stone'\r\n })\r\n }));\r\n schemas.register('recipe_result', core_1.Mod(core_1.ObjectNode({\r\n item: StringNode({ validator: 'resource', params: { pool: 'item' } }),\r\n count: core_1.Opt(core_1.Mod(core_1.NumberNode({ integer: true }), { default: () => 1 }))\r\n }), {\r\n default: () => ({\r\n item: 'minecraft:stone'\r\n })\r\n }));\r\n}\r\nexports.initRecipeSchemas = initRecipeSchemas;\r\n","\"use strict\";\r\nObject.defineProperty(exports, \"__esModule\", { value: true });\r\nexports.initTagsSchemas = void 0;\r\nconst core_1 = require(\"@mcschema/core\");\r\nfunction initTagsSchemas(schemas, collections) {\r\n const StringNode = core_1.StringNode.bind(undefined, collections);\r\n const TagBase = (type) => core_1.Mod(core_1.ObjectNode({\r\n replace: core_1.Opt(core_1.BooleanNode()),\r\n values: core_1.ListNode(core_1.ChoiceNode([\r\n {\r\n type: 'string',\r\n node: StringNode({ validator: 'resource', params: { pool: type, allowTag: true } }),\r\n change: v => v.id\r\n },\r\n {\r\n type: 'object',\r\n node: core_1.ObjectNode({\r\n id: StringNode({ validator: 'resource', params: { pool: type, allowTag: true, allowUnknown: true } }),\r\n required: core_1.BooleanNode()\r\n }),\r\n change: v => ({ id: v })\r\n }\r\n ])),\r\n }, { context: 'tag' }), {\r\n default: () => ({\r\n values: []\r\n })\r\n });\r\n schemas.register('block_tag', TagBase('block'));\r\n schemas.register('entity_type_tag', TagBase('entity_type'));\r\n schemas.register('fluid_tag', TagBase('fluid'));\r\n schemas.register('function_tag', TagBase('$function'));\r\n schemas.register('item_tag', TagBase('item'));\r\n}\r\nexports.initTagsSchemas = initTagsSchemas;\r\n","\"use strict\";\r\nObject.defineProperty(exports, \"__esModule\", { value: true });\r\nexports.initTextComponentSchemas = void 0;\r\nconst core_1 = require(\"@mcschema/core\");\r\nfunction initTextComponentSchemas(schemas, collections) {\r\n const Reference = core_1.Reference.bind(undefined, schemas);\r\n const StringNode = core_1.StringNode.bind(undefined, collections);\r\n const getSimpleString = (v) => { var _a; return v instanceof Array ? getSimpleString(v[0]) : (_a = v === null || v === void 0 ? void 0 : v.text) !== null && _a !== void 0 ? _a : (typeof v === 'object' ? '' : v === null || v === void 0 ? void 0 : v.toString()); };\r\n schemas.register('text_component', core_1.Mod(core_1.ChoiceNode([\r\n {\r\n type: 'object',\r\n node: Reference('text_component_object'),\r\n change: v => v instanceof Array ? (typeof v[0] === 'object' ? v[0] : { text: getSimpleString(v[0]) }) : typeof v === 'object' ? v : { text: getSimpleString(v) }\r\n },\r\n {\r\n type: 'list',\r\n node: Reference('text_component_list'),\r\n change: v => [v]\r\n },\r\n {\r\n type: 'string',\r\n priority: 1,\r\n node: StringNode(),\r\n change: getSimpleString\r\n },\r\n {\r\n type: 'number',\r\n node: core_1.NumberNode(),\r\n change: v => {\r\n const n = parseFloat(getSimpleString(v));\r\n return isFinite(n) ? n : (!!v ? 1 : 0);\r\n }\r\n },\r\n {\r\n type: 'boolean',\r\n node: core_1.BooleanNode(),\r\n change: v => {\r\n const s = getSimpleString(v);\r\n return s === 'true' || s === 'false' ? s === 'true' : !!s;\r\n }\r\n }\r\n ], { context: 'text_component' }), {\r\n default: () => ({\r\n text: \"\"\r\n })\r\n }));\r\n const CommonFields = {\r\n bold: core_1.Opt(core_1.BooleanNode()),\r\n italic: core_1.Opt(core_1.BooleanNode()),\r\n underlined: core_1.Opt(core_1.BooleanNode()),\r\n strikethrough: core_1.Opt(core_1.BooleanNode()),\r\n obfuscated: core_1.Opt(core_1.BooleanNode()),\r\n insertion: core_1.Opt(StringNode()),\r\n clickEvent: core_1.Opt(core_1.ObjectNode({\r\n action: StringNode({ enum: ['open_url', 'open_file', 'run_command', 'suggest_command', 'change_page', 'copy_to_clipboard'] }),\r\n [core_1.Switch]: [{ push: 'action' }],\r\n [core_1.Case]: {\r\n 'change_page': {\r\n value: StringNode()\r\n },\r\n 'copy_to_clipboard': {\r\n value: StringNode()\r\n },\r\n 'open_file': {\r\n value: StringNode()\r\n },\r\n 'open_url': {\r\n value: StringNode()\r\n },\r\n 'run_command': {\r\n value: StringNode({ validator: 'command', params: { leadingSlash: true, allowPartial: true } })\r\n },\r\n 'suggest_command': {\r\n value: StringNode({ validator: 'command', params: { leadingSlash: true, allowPartial: true } })\r\n }\r\n }\r\n })),\r\n hoverEvent: core_1.Opt(core_1.ObjectNode({\r\n action: StringNode({ enum: ['show_text', 'show_item', 'show_entity'] }),\r\n [core_1.Switch]: [{ push: 'action' }],\r\n [core_1.Case]: {\r\n 'show_text': {\r\n value: core_1.Opt(Reference('text_component'))\r\n },\r\n 'show_item': {\r\n value: core_1.Opt(StringNode({ validator: 'nbt', params: { module: 'util::InventoryItem' } }))\r\n },\r\n 'show_entity': {\r\n value: core_1.Opt(core_1.ObjectNode({\r\n name: core_1.Opt(StringNode()),\r\n type: core_1.Opt(StringNode()),\r\n id: core_1.Opt(StringNode())\r\n }))\r\n }\r\n }\r\n })),\r\n extra: core_1.Opt(Reference('text_component_list'))\r\n };\r\n schemas.register('text_component_object', core_1.Mod(core_1.ChoiceNode([\r\n {\r\n type: 'text',\r\n match: v => typeof v === 'object',\r\n change: v => ({ text: '' }),\r\n priority: -1,\r\n node: core_1.ObjectNode({\r\n text: StringNode(),\r\n ...CommonFields\r\n })\r\n },\r\n {\r\n type: 'translation',\r\n match: v => (v === null || v === void 0 ? void 0 : v.translate) !== undefined,\r\n change: v => ({ translate: '' }),\r\n node: core_1.ObjectNode({\r\n translate: StringNode(),\r\n with: core_1.Opt(Reference('text_component_list')),\r\n ...CommonFields\r\n })\r\n },\r\n {\r\n type: 'score',\r\n match: v => (v === null || v === void 0 ? void 0 : v.score) !== undefined,\r\n change: v => ({ score: {} }),\r\n node: core_1.ObjectNode({\r\n score: core_1.ObjectNode({\r\n name: StringNode({ validator: 'entity', params: { amount: 'single', type: 'entities', isScoreHolder: true } }),\r\n objective: StringNode({ validator: 'objective' }),\r\n value: core_1.Opt(StringNode())\r\n }),\r\n ...CommonFields\r\n })\r\n },\r\n {\r\n type: 'selector',\r\n match: v => (v === null || v === void 0 ? void 0 : v.selector) !== undefined,\r\n change: v => ({ selector: '' }),\r\n node: core_1.ObjectNode({\r\n selector: StringNode({ validator: 'entity', params: { amount: 'multiple', type: 'entities' } }),\r\n ...CommonFields\r\n })\r\n },\r\n {\r\n type: 'keybind',\r\n match: v => (v === null || v === void 0 ? void 0 : v.keybind) !== undefined,\r\n change: v => ({ keybind: '' }),\r\n node: core_1.ObjectNode({\r\n keybind: StringNode({ enum: 'keybind', additional: true }),\r\n ...CommonFields\r\n })\r\n },\r\n {\r\n type: 'nbt',\r\n match: v => (v === null || v === void 0 ? void 0 : v.nbt) !== undefined,\r\n change: v => ({ nbt: '' }),\r\n node: core_1.ObjectNode({\r\n nbt: StringNode({ validator: 'nbt_path' }),\r\n block: core_1.Opt(StringNode({ validator: 'vector', params: { dimension: 3, isInteger: true } })),\r\n entity: core_1.Opt(StringNode({ validator: 'entity', params: { amount: 'single', type: 'entities' } })),\r\n storage: core_1.Opt(StringNode({ validator: 'resource', params: { pool: '$storage' } })),\r\n interpret: core_1.Opt(core_1.BooleanNode()),\r\n ...CommonFields\r\n })\r\n }\r\n ], { context: 'text_component_object', choiceContext: 'text_component.object' }), {\r\n default: () => ({\r\n text: \"\"\r\n })\r\n }));\r\n schemas.register('text_component_list', core_1.Mod(core_1.ListNode(Reference('text_component')), {\r\n default: () => [{\r\n text: \"\"\r\n }]\r\n }));\r\n}\r\nexports.initTextComponentSchemas = initTextComponentSchemas;\r\n","\"use strict\";\r\nObject.defineProperty(exports, \"__esModule\", { value: true });\r\nexports.initSchemas = void 0;\r\nconst Advancement_1 = require(\"./Advancement\");\r\nconst Common_1 = require(\"./Common\");\r\nconst Condition_1 = require(\"./Condition\");\r\nconst LootTable_1 = require(\"./LootTable\");\r\nconst PackMcmeta_1 = require(\"./PackMcmeta\");\r\nconst Predicates_1 = require(\"./Predicates\");\r\nconst Recipe_1 = require(\"./Recipe\");\r\nconst Tags_1 = require(\"./Tags\");\r\nconst TextComponent_1 = require(\"./TextComponent\");\r\nfunction initSchemas(schemas, collections) {\r\n // `Common.ts` and `Predicates.ts` are files that have exports. They should be initialized first. \r\n Common_1.initCommonSchemas(schemas, collections);\r\n Predicates_1.initPredicatesSchemas(schemas, collections);\r\n Advancement_1.initAdvancementSchemas(schemas, collections);\r\n Condition_1.initConditionSchemas(schemas, collections);\r\n LootTable_1.initLootTableSchemas(schemas, collections);\r\n PackMcmeta_1.initPackMcmetaSchemas(schemas, collections);\r\n Recipe_1.initRecipeSchemas(schemas, collections);\r\n Tags_1.initTagsSchemas(schemas, collections);\r\n TextComponent_1.initTextComponentSchemas(schemas, collections);\r\n}\r\nexports.initSchemas = initSchemas;\r\n","\"use strict\";\r\nvar __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {\r\n if (k2 === undefined) k2 = k;\r\n Object.defineProperty(o, k2, { enumerable: true, get: function() { return m[k]; } });\r\n}) : (function(o, m, k, k2) {\r\n if (k2 === undefined) k2 = k;\r\n o[k2] = m[k];\r\n}));\r\nvar __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {\r\n Object.defineProperty(o, \"default\", { enumerable: true, value: v });\r\n}) : function(o, v) {\r\n o[\"default\"] = v;\r\n});\r\nvar __importStar = (this && this.__importStar) || function (mod) {\r\n if (mod && mod.__esModule) return mod;\r\n var result = {};\r\n if (mod != null) for (var k in mod) if (k !== \"default\" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);\r\n __setModuleDefault(result, mod);\r\n return result;\r\n};\r\nObject.defineProperty(exports, \"__esModule\", { value: true });\r\nexports.getSchemas = exports.getCollections = exports.lootContext = void 0;\r\nconst core_1 = require(\"@mcschema/core\");\r\nconst Collections_1 = require(\"./Collections\");\r\nconst schemas_1 = require(\"./schemas\");\r\nexports.lootContext = __importStar(require(\"./LootContext\"));\r\nfunction getCollections() {\r\n const collections = new core_1.CollectionRegistry();\r\n Collections_1.initCollections(collections);\r\n return collections;\r\n}\r\nexports.getCollections = getCollections;\r\n/**\r\n * @param collections The CollectionRegistry for this version. Note that apart from\r\n * the built-in collections, the client of this module is responsible for futhermore\r\n * adding the vanilla registries to it: the collection IDs shouldn't contain the\r\n * namespace (`minecraft:`) part, while the values within the collections should.\r\n *\r\n * @example\r\n * for (const key in VANILLA_REGISTRIES>) {\r\n * collections.register(\r\n * key.replace(/^minecraft:/, ''),\r\n * Object.keys(VANILLA_REGISTRIES[key].entries)\r\n * )\r\n * }\r\n */\r\nfunction getSchemas(collections) {\r\n const schemas = new core_1.SchemaRegistry();\r\n schemas_1.initSchemas(schemas, collections);\r\n return schemas;\r\n}\r\nexports.getSchemas = getSchemas;\r\n","\"use strict\";\r\nObject.defineProperty(exports, \"__esModule\", { value: true });\r\nexports.initCollections = void 0;\r\nfunction initCollections(collections) {\r\n collections.register('advancement_trigger', [\r\n 'minecraft:bee_nest_destroyed',\r\n 'minecraft:bred_animals',\r\n 'minecraft:brewed_potion',\r\n 'minecraft:changed_dimension',\r\n 'minecraft:channeled_lightning',\r\n 'minecraft:construct_beacon',\r\n 'minecraft:consume_item',\r\n 'minecraft:cured_zombie_villager',\r\n 'minecraft:effects_changed',\r\n 'minecraft:enchanted_item',\r\n 'minecraft:enter_block',\r\n 'minecraft:entity_hurt_player',\r\n 'minecraft:entity_killed_player',\r\n 'minecraft:filled_bucket',\r\n 'minecraft:fishing_rod_hooked',\r\n 'minecraft:hero_of_the_village',\r\n 'minecraft:impossible',\r\n 'minecraft:inventory_changed',\r\n 'minecraft:item_durability_changed',\r\n 'minecraft:item_used_on_block',\r\n 'minecraft:killed_by_crossbow',\r\n 'minecraft:levitation',\r\n 'minecraft:location',\r\n 'minecraft:nether_travel',\r\n 'minecraft:placed_block',\r\n 'minecraft:player_generates_container_loot',\r\n 'minecraft:player_hurt_entity',\r\n 'minecraft:player_interacted_with_entity',\r\n 'minecraft:player_killed_entity',\r\n 'minecraft:recipe_unlocked',\r\n 'minecraft:shot_crossbow',\r\n 'minecraft:slept_in_bed',\r\n 'minecraft:slide_down_block',\r\n 'minecraft:summoned_entity',\r\n 'minecraft:tame_animal',\r\n 'minecraft:target_hit',\r\n 'minecraft:tick',\r\n 'minecraft:thrown_item_picked_up_by_entity',\r\n 'minecraft:used_ender_eye',\r\n 'minecraft:used_totem',\r\n 'minecraft:villager_trade',\r\n 'minecraft:voluntary_exile'\r\n ]);\r\n collections.register('dimension', [\r\n 'minecraft:overworld',\r\n 'minecraft:the_nether',\r\n 'minecraft:the_end'\r\n ]);\r\n collections.register('dimension_type', [\r\n 'minecraft:overworld',\r\n 'minecraft:the_nether',\r\n 'minecraft:the_end'\r\n ]);\r\n collections.register('keybind', [\r\n 'key.advancements',\r\n 'key.attack',\r\n 'key.back',\r\n 'key.chat',\r\n 'key.command',\r\n 'key.drop',\r\n 'key.forward',\r\n 'key.fullscreen',\r\n 'key.hotbar.1',\r\n 'key.hotbar.2',\r\n 'key.hotbar.3',\r\n 'key.hotbar.4',\r\n 'key.hotbar.5',\r\n 'key.hotbar.6',\r\n 'key.hotbar.7',\r\n 'key.hotbar.8',\r\n 'key.hotbar.9',\r\n 'key.inventory',\r\n 'key.jump',\r\n 'key.left',\r\n 'key.loadToolbarActivator',\r\n 'key.pickItem',\r\n 'key.playerlist',\r\n 'key.right',\r\n 'key.saveToolbarActivator',\r\n 'key.screenshot',\r\n 'key.smoothCamera',\r\n 'key.sneak',\r\n 'key.spectatorOutlines',\r\n 'key.sprint',\r\n 'key.swapOffhand',\r\n 'key.togglePerspective',\r\n 'key.use'\r\n ]);\r\n collections.register('slot', [\r\n 'mainhand',\r\n 'offhand',\r\n 'head',\r\n 'chest',\r\n 'legs',\r\n 'feet'\r\n ]);\r\n collections.register('gamemode', [\r\n 'survival',\r\n 'creative',\r\n 'adventure',\r\n 'spectator'\r\n ]);\r\n collections.register('worldgen/noise_settings', [\r\n 'minecraft:overworld',\r\n 'minecraft:nether',\r\n 'minecraft:end',\r\n 'minecraft:amplified',\r\n 'minecraft:caves',\r\n 'minecraft:floating_islands'\r\n ]);\r\n collections.register('entity_source', [\r\n 'this',\r\n 'direct_killer',\r\n 'killer',\r\n 'killer_player'\r\n ]);\r\n collections.register('copy_source', [\r\n 'block_entity',\r\n 'this',\r\n 'killer',\r\n 'killer_player'\r\n ]);\r\n collections.register('loot_table_apply_bonus_formula', [\r\n 'minecraft:uniform_bonus_count',\r\n 'minecraft:binomial_with_bonus_count',\r\n 'minecraft:ore_drops'\r\n ]);\r\n collections.register('map_decoration', [\r\n 'mansion',\r\n 'monument',\r\n 'player',\r\n 'frame',\r\n 'red_marker',\r\n 'blue_marker',\r\n 'target_x',\r\n 'target_point',\r\n 'player_off_map',\r\n 'player_off_limits',\r\n 'red_x',\r\n 'banner_white',\r\n 'banner_orange',\r\n 'banner_magenta',\r\n 'banner_light_blue',\r\n 'banner_yellow',\r\n 'banner_lime',\r\n 'banner_pink',\r\n 'banner_gray',\r\n 'banner_light_gray',\r\n 'banner_cyan',\r\n 'banner_purple',\r\n 'banner_blue',\r\n 'banner_brown',\r\n 'banner_green',\r\n 'banner_red',\r\n 'banner_black'\r\n ]);\r\n collections.register('map_feature', [\r\n 'bastion_remnant',\r\n 'buried_treasure',\r\n 'desert_pyramid',\r\n 'endcity',\r\n 'fortress',\r\n 'igloo',\r\n 'jungle_pyramid',\r\n 'mansion',\r\n 'mineshaft',\r\n 'monument',\r\n 'nether_fossil',\r\n 'ocean_ruin',\r\n 'pillager_outpost',\r\n 'ruined_portal',\r\n 'shipwreck',\r\n 'stronghold',\r\n 'swamp_hut',\r\n 'village'\r\n ]);\r\n collections.register('recipe_group', [\r\n 'bed',\r\n 'light_gray_dye',\r\n 'iron_ingot',\r\n 'wooden_stairs',\r\n 'black_dye',\r\n 'stained_terracotta',\r\n 'dyed_bed',\r\n 'magenta_dye',\r\n 'bark',\r\n 'rabbit_stew',\r\n 'light_blue_dye',\r\n 'wooden_fence_gate',\r\n 'planks',\r\n 'stained_glass',\r\n 'wooden_door',\r\n 'stained_glass_pane',\r\n 'wooden_fence',\r\n 'sticks',\r\n 'concrete_powder',\r\n 'wooden_pressure_plate',\r\n 'boat',\r\n 'brown_dye',\r\n 'yellow_dye',\r\n 'bonemeal',\r\n 'red_dye',\r\n 'wooden_trapdoor',\r\n 'wooden_button',\r\n 'gold_ingot',\r\n 'pink_dye',\r\n 'wooden_slab',\r\n 'orange_dye',\r\n 'carpet',\r\n 'sign',\r\n 'wool',\r\n 'sugar',\r\n 'blue_dye',\r\n 'white_dye',\r\n 'banner',\r\n 'netherite_ingot'\r\n ]);\r\n collections.register('worldgen/configured_feature', [\r\n 'minecraft:acacia',\r\n 'minecraft:bamboo_light',\r\n 'minecraft:bamboo_vegetation',\r\n 'minecraft:bamboo',\r\n 'minecraft:basalt_blobs',\r\n 'minecraft:basalt_pillar',\r\n 'minecraft:birch_bees_0002',\r\n 'minecraft:birch_bees_002',\r\n 'minecraft:birch_bees_005',\r\n 'minecraft:birch_other',\r\n 'minecraft:birch_tall',\r\n 'minecraft:birch',\r\n 'minecraft:blackstone_blobs',\r\n 'minecraft:blue_ice',\r\n 'minecraft:bonus_chest',\r\n 'minecraft:brown_mushroom_giant',\r\n 'minecraft:brown_mushroom_nether',\r\n 'minecraft:brown_mushroom_normal',\r\n 'minecraft:brown_mushroom_swamp',\r\n 'minecraft:brown_mushroom_taiga',\r\n 'minecraft:chorus_plant',\r\n 'minecraft:crimson_forest_vegetation',\r\n 'minecraft:crimson_fungi_planted',\r\n 'minecraft:crimson_fungi',\r\n 'minecraft:dark_forest_vegetation_brown',\r\n 'minecraft:dark_forest_vegetation_red',\r\n 'minecraft:dark_oak',\r\n 'minecraft:delta',\r\n 'minecraft:desert_well',\r\n 'minecraft:disk_clay',\r\n 'minecraft:disk_gravel',\r\n 'minecraft:disk_sand',\r\n 'minecraft:end_gateway_delayed',\r\n 'minecraft:end_gateway',\r\n 'minecraft:end_island_decorated',\r\n 'minecraft:end_island',\r\n 'minecraft:end_spike',\r\n 'minecraft:fancy_oak_bees_0002',\r\n 'minecraft:fancy_oak_bees_002',\r\n 'minecraft:fancy_oak_bees_005',\r\n 'minecraft:fancy_oak',\r\n 'minecraft:flower_default',\r\n 'minecraft:flower_forest',\r\n 'minecraft:flower_plain_decorated',\r\n 'minecraft:flower_plain',\r\n 'minecraft:flower_swamp',\r\n 'minecraft:flower_warm',\r\n 'minecraft:forest_flower_trees',\r\n 'minecraft:forest_flower_vegetation_common',\r\n 'minecraft:forest_flower_vegetation',\r\n 'minecraft:forest_rock',\r\n 'minecraft:fossil',\r\n 'minecraft:freeze_top_layer',\r\n 'minecraft:glowstone_extra',\r\n 'minecraft:glowstone',\r\n 'minecraft:huge_brown_mushroom',\r\n 'minecraft:huge_red_mushroom',\r\n 'minecraft:ice_patch',\r\n 'minecraft:ice_spike',\r\n 'minecraft:iceberg_blue',\r\n 'minecraft:iceberg_packed',\r\n 'minecraft:jungle_bush',\r\n 'minecraft:jungle_tree_no_vine',\r\n 'minecraft:jungle_tree',\r\n 'minecraft:kelp_cold',\r\n 'minecraft:kelp_warm',\r\n 'minecraft:lake_lava',\r\n 'minecraft:lake_water',\r\n 'minecraft:large_basalt_columns',\r\n 'minecraft:mega_jungle_tree',\r\n 'minecraft:mega_pine',\r\n 'minecraft:mega_spruce',\r\n 'minecraft:monster_room',\r\n 'minecraft:mushroom_field_vegetation',\r\n 'minecraft:nether_sprouts',\r\n 'minecraft:oak_badlands',\r\n 'minecraft:oak_bees_0002',\r\n 'minecraft:oak_bees_002',\r\n 'minecraft:oak_bees_005',\r\n 'minecraft:oak',\r\n 'minecraft:ore_andesite',\r\n 'minecraft:ore_blackstone',\r\n 'minecraft:ore_coal',\r\n 'minecraft:ore_debris_large',\r\n 'minecraft:ore_debris_small',\r\n 'minecraft:ore_diamond',\r\n 'minecraft:ore_diorite',\r\n 'minecraft:ore_dirt',\r\n 'minecraft:ore_emerald',\r\n 'minecraft:ore_gold_deltas',\r\n 'minecraft:ore_gold_extra',\r\n 'minecraft:ore_gold_nether',\r\n 'minecraft:ore_gold',\r\n 'minecraft:ore_granite',\r\n 'minecraft:ore_gravel_nether',\r\n 'minecraft:ore_gravel',\r\n 'minecraft:ore_infested',\r\n 'minecraft:ore_iron',\r\n 'minecraft:ore_lapis',\r\n 'minecraft:ore_magma',\r\n 'minecraft:ore_quartz_deltas',\r\n 'minecraft:ore_quartz_nether',\r\n 'minecraft:ore_redstone',\r\n 'minecraft:ore_soul_sand',\r\n 'minecraft:patch_berry_bush',\r\n 'minecraft:patch_berry_decorated',\r\n 'minecraft:patch_berry_sparse',\r\n 'minecraft:patch_brown_mushroom',\r\n 'minecraft:patch_cactus_decorated',\r\n 'minecraft:patch_cactus_desert',\r\n 'minecraft:patch_cactus',\r\n 'minecraft:patch_crimson_roots',\r\n 'minecraft:patch_dead_bush_2',\r\n 'minecraft:patch_dead_bush_badlands',\r\n 'minecraft:patch_dead_bush',\r\n 'minecraft:patch_fire',\r\n 'minecraft:patch_grass_badlands',\r\n 'minecraft:patch_grass_forest',\r\n 'minecraft:patch_grass_jungle',\r\n 'minecraft:patch_grass_normal',\r\n 'minecraft:patch_grass_plain',\r\n 'minecraft:patch_grass_savanna',\r\n 'minecraft:patch_grass_taiga_2',\r\n 'minecraft:patch_grass_taiga',\r\n 'minecraft:patch_large_fern',\r\n 'minecraft:patch_melon',\r\n 'minecraft:patch_pumpkin',\r\n 'minecraft:patch_red_mushroom',\r\n 'minecraft:patch_soul_fire',\r\n 'minecraft:patch_sugar_cane_badlands',\r\n 'minecraft:patch_sugar_cane_desert',\r\n 'minecraft:patch_sugar_cane_swamp',\r\n 'minecraft:patch_sugar_cane',\r\n 'minecraft:patch_sunflower',\r\n 'minecraft:patch_taiga_grass',\r\n 'minecraft:patch_tall_grass_2',\r\n 'minecraft:patch_tall_grass',\r\n 'minecraft:patch_waterlilly',\r\n 'minecraft:pile_hay',\r\n 'minecraft:pile_ice',\r\n 'minecraft:pile_melon',\r\n 'minecraft:pile_pumpkin',\r\n 'minecraft:pile_snow',\r\n 'minecraft:pine',\r\n 'minecraft:plain_vegetation',\r\n 'minecraft:red_mushroom_giant',\r\n 'minecraft:red_mushroom_nether',\r\n 'minecraft:red_mushroom_normal',\r\n 'minecraft:red_mushroom_swamp',\r\n 'minecraft:red_mushroom_taiga',\r\n 'minecraft:sea_pickle',\r\n 'minecraft:seagrass_cold',\r\n 'minecraft:seagrass_deep_cold',\r\n 'minecraft:seagrass_deep_warm',\r\n 'minecraft:seagrass_deep',\r\n 'minecraft:seagrass_normal',\r\n 'minecraft:seagrass_river',\r\n 'minecraft:seagrass_simple',\r\n 'minecraft:seagrass_swamp',\r\n 'minecraft:seagrass_warm',\r\n 'minecraft:small_basalt_columns',\r\n 'minecraft:spring_closed_double',\r\n 'minecraft:spring_closed',\r\n 'minecraft:spring_delta',\r\n 'minecraft:spring_lava_double',\r\n 'minecraft:spring_lava',\r\n 'minecraft:spring_open',\r\n 'minecraft:spring_water',\r\n 'minecraft:spruce_snowy',\r\n 'minecraft:spruce',\r\n 'minecraft:super_birch_bees_0002',\r\n 'minecraft:swamp_tree',\r\n 'minecraft:taiga_vegetation',\r\n 'minecraft:trees_birch',\r\n 'minecraft:trees_giant_spruce',\r\n 'minecraft:trees_giant',\r\n 'minecraft:trees_jungle_edge',\r\n 'minecraft:trees_jungle',\r\n 'minecraft:trees_mountain_edge',\r\n 'minecraft:trees_mountain',\r\n 'minecraft:trees_savanna',\r\n 'minecraft:trees_shattered_savanna',\r\n 'minecraft:trees_water',\r\n 'minecraft:twisting_vines',\r\n 'minecraft:vines',\r\n 'minecraft:void_start_platform',\r\n 'minecraft:warm_ocean_vegetation',\r\n 'minecraft:warped_forest_vegetation',\r\n 'minecraft:warped_fungi_planted',\r\n 'minecraft:warped_fungi',\r\n 'minecraft:weeping_vines'\r\n ]);\r\n collections.register('worldgen/configured_structure_feature', [\r\n 'minecraft:bastion_remnant',\r\n 'minecraft:buried_treasure',\r\n 'minecraft:desert_pyramid',\r\n 'minecraft:end_city',\r\n 'minecraft:fortress',\r\n 'minecraft:igloo',\r\n 'minecraft:jungle_pyramid',\r\n 'minecraft:mansion',\r\n 'minecraft:mineshaft_mesa',\r\n 'minecraft:mineshaft',\r\n 'minecraft:monument',\r\n 'minecraft:nether_fossil',\r\n 'minecraft:ocean_ruin_cold',\r\n 'minecraft:ocean_ruin_warm',\r\n 'minecraft:pillager_outpost',\r\n 'minecraft:ruined_portal_desert',\r\n 'minecraft:ruined_portal_jungle',\r\n 'minecraft:ruined_portal_mountain',\r\n 'minecraft:ruined_portal_nether',\r\n 'minecraft:ruined_portal_ocean',\r\n 'minecraft:ruined_portal_swamp',\r\n 'minecraft:ruined_portal',\r\n 'minecraft:shipwreck_beached',\r\n 'minecraft:shipwreck',\r\n 'minecraft:stronghold',\r\n 'minecraft:swamp_hut',\r\n 'minecraft:village_desert',\r\n 'minecraft:village_plains',\r\n 'minecraft:village_savanna',\r\n 'minecraft:village_snowy',\r\n 'minecraft:village_taiga'\r\n ]);\r\n collections.register('worldgen/configured_surface_builder', [\r\n 'minecraft:badlands',\r\n 'minecraft:basalt_deltas',\r\n 'minecraft:crimson_forest',\r\n 'minecraft:desert',\r\n 'minecraft:end',\r\n 'minecraft:eroded_badlands',\r\n 'minecraft:frozen_ocean',\r\n 'minecraft:full_sand',\r\n 'minecraft:giant_tree_taiga',\r\n 'minecraft:grass',\r\n 'minecraft:gravelly_mountain',\r\n 'minecraft:ice_spikes',\r\n 'minecraft:mountain',\r\n 'minecraft:mycelium',\r\n 'minecraft:nether',\r\n 'minecraft:nope',\r\n 'minecraft:ocean_sand',\r\n 'minecraft:shattered_savanna',\r\n 'minecraft:soul_sand_valley',\r\n 'minecraft:stone',\r\n 'minecraft:swamp',\r\n 'minecraft:warped_forest',\r\n 'minecraft:wooded_badlands'\r\n ]);\r\n collections.register('biome_category', [\r\n 'beach',\r\n 'desert',\r\n 'extreme_hills',\r\n 'forest',\r\n 'icy',\r\n 'jungle',\r\n 'mesa',\r\n 'mushroom',\r\n 'nether',\r\n 'none',\r\n 'ocean',\r\n 'plains',\r\n 'river',\r\n 'savanna',\r\n 'swamp',\r\n 'taiga',\r\n 'the_end'\r\n ]);\r\n collections.register('heightmap_type', [\r\n 'MOTION_BLOCKING',\r\n 'MOTION_BLOCKING_NO_LEAVES',\r\n 'OCEAN_FLOOR',\r\n 'OCEAN_FLOOR_WG',\r\n 'WORLD_SURFACE',\r\n 'WORLD_SURFACE_WG'\r\n ]);\r\n collections.register('generation_step', [\r\n 'air',\r\n 'liquid'\r\n ]);\r\n collections.register('loot_context_type', [\r\n 'minecraft:empty',\r\n 'minecraft:chest',\r\n 'minecraft:command',\r\n 'minecraft:selector',\r\n 'minecraft:fishing',\r\n 'minecraft:entity',\r\n 'minecraft:gift',\r\n 'minecraft:barter',\r\n 'minecraft:advancement_reward',\r\n 'minecraft:advancement_entity',\r\n 'minecraft:generic',\r\n 'minecraft:block'\r\n ]);\r\n}\r\nexports.initCollections = initCollections;\r\n","\"use strict\";\r\nObject.defineProperty(exports, \"__esModule\", { value: true });\r\nexports.initCommonSchemas = exports.UniformInt = exports.Range = exports.NoiseSettingsPresets = exports.DefaultNoiseSettings = exports.DimensionTypePresets = exports.DefaultDimensionType = exports.ConditionCases = void 0;\r\nconst core_1 = require(\"@mcschema/core\");\r\nexports.DefaultDimensionType = {\r\n ultrawarm: false,\r\n natural: true,\r\n piglin_safe: false,\r\n respawn_anchor_works: false,\r\n bed_works: true,\r\n has_raids: true,\r\n has_skylight: true,\r\n has_ceiling: false,\r\n coordinate_scale: 1,\r\n ambient_light: 0,\r\n logical_height: 256,\r\n infiniburn: 'minecraft:infiniburn_overworld',\r\n};\r\nexports.DefaultNoiseSettings = {\r\n name: 'minecraft:overworld',\r\n bedrock_roof_position: -10,\r\n bedrock_floor_position: 0,\r\n sea_level: 63,\r\n disable_mob_generation: false,\r\n noise: {\r\n density_factor: 1,\r\n density_offset: -0.46875,\r\n simplex_surface_noise: true,\r\n random_density_offset: true,\r\n size_horizontal: 1,\r\n size_vertical: 2,\r\n height: 256,\r\n sampling: {\r\n xz_scale: 1,\r\n y_scale: 1,\r\n xz_factor: 80,\r\n y_factor: 160\r\n },\r\n top_slide: {\r\n target: -10,\r\n size: 3,\r\n offset: 0\r\n },\r\n bottom_slide: {\r\n target: -30,\r\n size: 0,\r\n offset: 0\r\n }\r\n },\r\n default_block: {\r\n Name: \"minecraft:stone\"\r\n },\r\n default_fluid: {\r\n Name: \"minecraft:water\",\r\n Properties: {\r\n level: \"0\"\r\n }\r\n }\r\n};\r\nfunction initCommonSchemas(schemas, collections) {\r\n const StringNode = core_1.StringNode.bind(undefined, collections);\r\n const Reference = core_1.Reference.bind(undefined, schemas);\r\n schemas.register('block_state', core_1.Mod(core_1.ObjectNode({\r\n Name: StringNode({ validator: 'resource', params: { pool: 'block' } }),\r\n Properties: core_1.Opt(core_1.MapNode(StringNode(), StringNode(), { validation: { validator: 'block_state_map', params: { id: ['pop', { push: 'Name' }] } } }))\r\n }, { context: 'block_state' }), {\r\n default: () => ({\r\n Name: 'minecraft:stone'\r\n })\r\n }));\r\n schemas.register('fluid_state', core_1.Mod(core_1.ObjectNode({\r\n Name: StringNode({ validator: 'resource', params: { pool: 'fluid' } }),\r\n Properties: core_1.Opt(core_1.MapNode(StringNode(), StringNode()))\r\n }, { context: 'fluid_state' }), {\r\n default: () => ({\r\n Name: 'minecraft:water',\r\n Properties: {\r\n 'level': '0'\r\n }\r\n })\r\n }));\r\n schemas.register('block_pos', core_1.Mod(core_1.ListNode(core_1.NumberNode({ integer: true }), { minLength: 3, maxLength: 3 }), {\r\n default: () => [0, 0, 0]\r\n }));\r\n exports.Range = (config) => core_1.ChoiceNode([\r\n ...((config === null || config === void 0 ? void 0 : config.forceRange) ? [] : [{\r\n type: 'number',\r\n node: core_1.NumberNode(config),\r\n change: (v) => { var _a, _b, _c; return v === undefined ? 0 : (_c = (_b = (_a = v.min) !== null && _a !== void 0 ? _a : v.max) !== null && _b !== void 0 ? _b : v.n) !== null && _c !== void 0 ? _c : 0; }\r\n }]),\r\n {\r\n type: 'object',\r\n priority: -1,\r\n node: core_1.ObjectNode({\r\n min: (config === null || config === void 0 ? void 0 : config.bounds) ? core_1.NumberNode(config) : core_1.Opt(core_1.NumberNode(config)),\r\n max: (config === null || config === void 0 ? void 0 : config.bounds) ? core_1.NumberNode(config) : core_1.Opt(core_1.NumberNode(config))\r\n }, { context: 'range' }),\r\n change: (v) => ({\r\n min: typeof v === 'number' ? v : v === undefined ? 1 : v.n,\r\n max: typeof v === 'number' ? v : v === undefined ? 1 : v.n\r\n })\r\n },\r\n ...((config === null || config === void 0 ? void 0 : config.allowBinomial) ? [{\r\n type: 'binomial',\r\n node: core_1.ObjectNode({\r\n type: StringNode({ enum: ['minecraft:binomial'] }),\r\n n: core_1.NumberNode({ integer: true, min: 0 }),\r\n p: core_1.NumberNode({ min: 0, max: 1 })\r\n }, { context: 'range' }),\r\n match: (v) => v !== undefined && v.type === 'minecraft:binomial',\r\n change: (v) => {\r\n var _a, _b;\r\n return ({\r\n type: 'minecraft:binomial',\r\n n: typeof v === 'number' ? v : v === undefined ? 1 : ((_b = (_a = v.min) !== null && _a !== void 0 ? _a : v.max) !== null && _b !== void 0 ? _b : 1),\r\n p: 0.5\r\n });\r\n }\r\n }] : [])\r\n ], { choiceContext: 'range' });\r\n exports.UniformInt = (config) => core_1.ChoiceNode([\r\n {\r\n type: 'number',\r\n node: core_1.NumberNode({ integer: true, min: config === null || config === void 0 ? void 0 : config.min, max: config === null || config === void 0 ? void 0 : config.max }),\r\n change: v => v.base\r\n },\r\n {\r\n type: 'object',\r\n node: core_1.ObjectNode({\r\n base: core_1.NumberNode({ integer: true, min: config === null || config === void 0 ? void 0 : config.min, max: config === null || config === void 0 ? void 0 : config.max }),\r\n spread: core_1.NumberNode({ integer: true, min: 0, max: config === null || config === void 0 ? void 0 : config.maxSpread })\r\n }),\r\n change: v => ({\r\n base: v,\r\n spread: 0\r\n })\r\n }\r\n ], { context: 'uniform_int' });\r\n exports.ConditionCases = {\r\n 'minecraft:alternative': {\r\n terms: core_1.ListNode(Reference('condition'))\r\n },\r\n 'minecraft:block_state_property': {\r\n block: StringNode({ validator: 'resource', params: { pool: 'block' } }),\r\n properties: core_1.MapNode(StringNode(), StringNode(), { validation: { validator: 'block_state_map', params: { id: ['pop', { push: 'block' }] } } })\r\n },\r\n 'minecraft:damage_source_properties': {\r\n predicate: Reference('damage_source_predicate')\r\n },\r\n 'minecraft:entity_properties': {\r\n entity: StringNode({ enum: 'entity_source' }),\r\n predicate: Reference('entity_predicate')\r\n },\r\n 'minecraft:entity_scores': {\r\n entity: StringNode({ enum: 'entity_source' }),\r\n scores: core_1.MapNode(StringNode({ validator: 'objective' }), exports.Range({ forceRange: true }))\r\n },\r\n 'minecraft:inverted': {\r\n term: Reference('condition')\r\n },\r\n 'minecraft:killed_by_player': {\r\n inverse: core_1.Opt(core_1.BooleanNode())\r\n },\r\n 'minecraft:location_check': {\r\n offsetX: core_1.Opt(core_1.NumberNode({ integer: true })),\r\n offsetY: core_1.Opt(core_1.NumberNode({ integer: true })),\r\n offsetZ: core_1.Opt(core_1.NumberNode({ integer: true })),\r\n predicate: Reference('location_predicate')\r\n },\r\n 'minecraft:match_tool': {\r\n predicate: Reference('item_predicate')\r\n },\r\n 'minecraft:random_chance': {\r\n chance: core_1.NumberNode({ min: 0, max: 1 })\r\n },\r\n 'minecraft:random_chance_with_looting': {\r\n chance: core_1.NumberNode({ min: 0, max: 1 }),\r\n looting_multiplier: core_1.NumberNode()\r\n },\r\n 'minecraft:reference': {\r\n name: StringNode({ validator: 'resource', params: { pool: '$predicate' } })\r\n },\r\n 'minecraft:table_bonus': {\r\n enchantment: StringNode({ validator: 'resource', params: { pool: 'enchantment' } }),\r\n chances: core_1.ListNode(core_1.NumberNode({ min: 0, max: 1 }))\r\n },\r\n 'minecraft:time_check': {\r\n value: exports.Range(),\r\n period: core_1.Opt(core_1.NumberNode())\r\n },\r\n 'minecraft:weather_check': {\r\n raining: core_1.Opt(core_1.BooleanNode()),\r\n thundering: core_1.Opt(core_1.BooleanNode())\r\n }\r\n };\r\n exports.DimensionTypePresets = (node) => core_1.ObjectOrPreset(StringNode({ validator: 'resource', params: { pool: '$dimension_type' } }), node, {\r\n 'minecraft:overworld': exports.DefaultDimensionType,\r\n 'minecraft:the_nether': {\r\n name: 'minecraft:the_nether',\r\n ultrawarm: true,\r\n natural: false,\r\n shrunk: true,\r\n piglin_safe: true,\r\n respawn_anchor_works: true,\r\n bed_works: false,\r\n has_raids: false,\r\n has_skylight: false,\r\n has_ceiling: true,\r\n ambient_light: 0.1,\r\n fixed_time: 18000,\r\n logical_height: 128,\r\n effects: 'minecraft:the_nether',\r\n infiniburn: 'minecraft:infiniburn_nether',\r\n },\r\n 'minecraft:the_end': {\r\n name: 'minecraft:the_end',\r\n ultrawarm: false,\r\n natural: false,\r\n shrunk: false,\r\n piglin_safe: false,\r\n respawn_anchor_works: false,\r\n bed_works: false,\r\n has_raids: true,\r\n has_skylight: false,\r\n has_ceiling: false,\r\n ambient_light: 0,\r\n fixed_time: 6000,\r\n logical_height: 256,\r\n effects: 'minecraft:the_end',\r\n infiniburn: 'minecraft:infiniburn_end',\r\n }\r\n });\r\n exports.NoiseSettingsPresets = (node) => core_1.ObjectOrPreset(StringNode({ validator: 'resource', params: { pool: '$worldgen/noise_settings' } }), node, {\r\n 'minecraft:overworld': exports.DefaultNoiseSettings,\r\n 'minecraft:nether': {\r\n name: 'minecraft:nether',\r\n bedrock_roof_position: 0,\r\n bedrock_floor_position: 0,\r\n sea_level: 32,\r\n disable_mob_generation: true,\r\n noise: {\r\n density_factor: 0,\r\n density_offset: 0.019921875,\r\n simplex_surface_noise: false,\r\n random_density_offset: false,\r\n size_horizontal: 1,\r\n size_vertical: 2,\r\n height: 128,\r\n sampling: {\r\n xz_scale: 1,\r\n y_scale: 3,\r\n xz_factor: 80,\r\n y_factor: 60\r\n },\r\n top_slide: {\r\n target: 120,\r\n size: 3,\r\n offset: 0\r\n },\r\n bottom_slide: {\r\n target: 320,\r\n size: 4,\r\n offset: -1\r\n }\r\n },\r\n default_block: {\r\n Name: \"minecraft:netherrack\"\r\n },\r\n default_fluid: {\r\n Name: \"minecraft:lava\",\r\n Properties: {\r\n level: \"0\"\r\n }\r\n }\r\n },\r\n 'minecraft:end': {\r\n name: 'minecraft:end',\r\n bedrock_roof_position: -10,\r\n bedrock_floor_position: -10,\r\n sea_level: 0,\r\n disable_mob_generation: true,\r\n noise: {\r\n density_factor: 0,\r\n density_offset: 0,\r\n simplex_surface_noise: true,\r\n random_density_offset: false,\r\n island_noise_override: true,\r\n size_horizontal: 2,\r\n size_vertical: 1,\r\n height: 128,\r\n sampling: {\r\n xz_scale: 2,\r\n y_scale: 1,\r\n xz_factor: 80,\r\n y_factor: 160\r\n },\r\n top_slide: {\r\n target: -3000,\r\n size: 64,\r\n offset: -46\r\n },\r\n bottom_slide: {\r\n target: -30,\r\n size: 7,\r\n offset: 1\r\n }\r\n },\r\n default_block: {\r\n Name: \"minecraft:end_stone\"\r\n },\r\n default_fluid: {\r\n Name: \"minecraft:air\"\r\n }\r\n },\r\n 'minecraft:amplified': {\r\n name: 'minecraft:amplified',\r\n bedrock_roof_position: -10,\r\n bedrock_floor_position: 0,\r\n sea_level: 63,\r\n disable_mob_generation: false,\r\n noise: {\r\n density_factor: 1,\r\n density_offset: -0.46875,\r\n simplex_surface_noise: true,\r\n random_density_offset: true,\r\n amplified: true,\r\n size_horizontal: 1,\r\n size_vertical: 2,\r\n height: 256,\r\n sampling: {\r\n xz_scale: 1,\r\n y_scale: 1,\r\n xz_factor: 80,\r\n y_factor: 160\r\n },\r\n top_slide: {\r\n target: -10,\r\n size: 3,\r\n offset: 0\r\n },\r\n bottom_slide: {\r\n target: -30,\r\n size: 0,\r\n offset: 0\r\n }\r\n },\r\n default_block: {\r\n Name: \"minecraft:stone\"\r\n },\r\n default_fluid: {\r\n Name: \"minecraft:water\",\r\n Properties: {\r\n level: \"0\"\r\n }\r\n }\r\n },\r\n 'minecraft:caves': {\r\n name: 'minecraft:caves',\r\n bedrock_roof_position: 0,\r\n bedrock_floor_position: 0,\r\n sea_level: 32,\r\n disable_mob_generation: true,\r\n noise: {\r\n density_factor: 0,\r\n density_offset: 0.019921875,\r\n simplex_surface_noise: false,\r\n random_density_offset: false,\r\n size_horizontal: 1,\r\n size_vertical: 2,\r\n height: 128,\r\n sampling: {\r\n xz_scale: 1,\r\n y_scale: 3,\r\n xz_factor: 80,\r\n y_factor: 60\r\n },\r\n top_slide: {\r\n target: 120,\r\n size: 3,\r\n offset: 0\r\n },\r\n bottom_slide: {\r\n target: 320,\r\n size: 4,\r\n offset: -1\r\n }\r\n },\r\n default_block: {\r\n Name: \"minecraft:stone\"\r\n },\r\n default_fluid: {\r\n Name: \"minecraft:water\",\r\n Properties: {\r\n level: \"0\"\r\n }\r\n }\r\n },\r\n 'minecraft:floating_islands': {\r\n name: 'minecraft:floating_islands',\r\n bedrock_roof_position: -10,\r\n bedrock_floor_position: -10,\r\n sea_level: 0,\r\n disable_mob_generation: true,\r\n noise: {\r\n density_factor: 0,\r\n density_offset: 0,\r\n simplex_surface_noise: true,\r\n random_density_offset: false,\r\n island_noise_override: true,\r\n size_horizontal: 2,\r\n size_vertical: 1,\r\n height: 128,\r\n sampling: {\r\n xz_scale: 2,\r\n y_scale: 1,\r\n xz_factor: 80,\r\n y_factor: 160\r\n },\r\n top_slide: {\r\n target: -3000,\r\n size: 64,\r\n offset: -46\r\n },\r\n bottom_slide: {\r\n target: -30,\r\n size: 7,\r\n offset: 1\r\n }\r\n },\r\n default_block: {\r\n Name: \"minecraft:stone\"\r\n },\r\n default_fluid: {\r\n Name: \"minecraft:water\",\r\n Properties: {\r\n level: \"0\"\r\n }\r\n }\r\n }\r\n });\r\n}\r\nexports.initCommonSchemas = initCommonSchemas;\r\n","\"use strict\";\r\nObject.defineProperty(exports, \"__esModule\", { value: true });\r\nexports.initAdvancementSchemas = void 0;\r\nconst core_1 = require(\"@mcschema/core\");\r\nconst Common_1 = require(\"./Common\");\r\nfunction initAdvancementSchemas(schemas, collections) {\r\n const Reference = core_1.Reference.bind(undefined, schemas);\r\n const StringNode = core_1.StringNode.bind(undefined, collections);\r\n const EntityPredicate = core_1.ChoiceNode([\r\n {\r\n type: 'object',\r\n node: core_1.Opt(Reference('entity_predicate')),\r\n change: v => { var _a, _b; return (_b = (_a = v[0]) === null || _a === void 0 ? void 0 : _a.predicate) !== null && _b !== void 0 ? _b : ({}); }\r\n },\r\n {\r\n type: 'list',\r\n node: core_1.ListNode(Reference('condition')),\r\n change: v => [{\r\n condition: 'minecraft:entity_properties',\r\n predicate: v\r\n }]\r\n }\r\n ], { context: 'conditions' });\r\n schemas.register('advancement', core_1.Mod(core_1.ObjectNode({\r\n display: core_1.Opt(core_1.Mod(core_1.ObjectNode({\r\n icon: core_1.ObjectNode({\r\n item: StringNode({ validator: 'resource', params: { pool: 'item' } }),\r\n nbt: core_1.Opt(StringNode({ validator: 'nbt', params: { registry: { category: 'minecraft:item', id: ['pop', { push: 'item' }] } } }))\r\n }),\r\n title: Reference('text_component'),\r\n description: Reference('text_component'),\r\n background: core_1.Opt(StringNode()),\r\n frame: core_1.Opt(StringNode({ enum: ['task', 'challenge', 'goal'] })),\r\n show_toast: core_1.Opt(core_1.BooleanNode()),\r\n announce_to_chat: core_1.Opt(core_1.BooleanNode()),\r\n hidden: core_1.Opt(core_1.BooleanNode())\r\n }), {\r\n default: () => ({\r\n icon: {\r\n item: 'minecraft:stone'\r\n },\r\n title: '',\r\n description: ''\r\n })\r\n })),\r\n parent: core_1.Opt(StringNode({ validator: 'resource', params: { pool: '$advancement' } })),\r\n criteria: core_1.MapNode(StringNode(), Reference('advancement_criteria')),\r\n requirements: core_1.Opt(core_1.ListNode(core_1.ListNode(StringNode() // TODO: add validation\r\n ))),\r\n rewards: core_1.Opt(core_1.ObjectNode({\r\n function: core_1.Opt(StringNode({ validator: 'resource', params: { pool: '$function' } })),\r\n loot: core_1.Opt(core_1.ListNode(StringNode({ validator: 'resource', params: { pool: '$loot_table' } }))),\r\n recipes: core_1.Opt(core_1.ListNode(StringNode({ validator: 'resource', params: { pool: '$recipe' } }))),\r\n experience: core_1.Opt(core_1.NumberNode({ integer: true }))\r\n })),\r\n }, { context: 'advancement' }), {\r\n default: () => ({\r\n criteria: {\r\n requirement: {\r\n trigger: 'minecraft:location'\r\n }\r\n }\r\n })\r\n }));\r\n schemas.register('advancement_criteria', core_1.ObjectNode({\r\n trigger: StringNode({ validator: 'resource', params: { pool: collections.get('advancement_trigger') } }),\r\n conditions: core_1.Opt(core_1.ObjectNode({\r\n player: core_1.Mod(EntityPredicate, {\r\n enabled: path => path.pop().push('trigger').get() !== 'minecraft:impossible'\r\n }),\r\n [core_1.Switch]: ['pop', { push: 'trigger' }],\r\n [core_1.Case]: {\r\n 'minecraft:bee_nest_destroyed': {\r\n block: core_1.Opt(StringNode({ validator: 'resource', params: { pool: 'block' } })),\r\n num_bees_inside: core_1.Opt(core_1.NumberNode({ integer: true })),\r\n item: core_1.Opt(Reference('item_predicate'))\r\n },\r\n 'minecraft:bred_animals': {\r\n parent: EntityPredicate,\r\n partner: EntityPredicate,\r\n child: EntityPredicate\r\n },\r\n 'minecraft:brewed_potion': {\r\n potion: core_1.Opt(StringNode({ validator: 'resource', params: { pool: 'potion' } }))\r\n },\r\n 'minecraft:changed_dimension': {\r\n from: core_1.Opt(StringNode({ validator: 'resource', params: { pool: '$dimension' } })),\r\n to: core_1.Opt(StringNode({ validator: 'resource', params: { pool: '$dimension' } }))\r\n },\r\n 'minecraft:channeled_lightning': {\r\n victims: core_1.Opt(core_1.ListNode(EntityPredicate))\r\n },\r\n 'minecraft:construct_beacon': {\r\n level: core_1.Opt(Common_1.Range())\r\n },\r\n 'minecraft:consume_item': {\r\n item: core_1.Opt(Reference('item_predicate'))\r\n },\r\n 'minecraft:cured_zombie_villager': {\r\n villager: EntityPredicate,\r\n zombie: EntityPredicate\r\n },\r\n 'minecraft:effects_changed': {\r\n effects: core_1.Opt(core_1.MapNode(StringNode({ validator: 'resource', params: { pool: 'mob_effect' } }), Reference('status_effect_predicate')))\r\n },\r\n 'minecraft:enter_block': {\r\n block: core_1.Opt(StringNode({ validator: 'resource', params: { pool: 'block' } })),\r\n state: core_1.Opt(core_1.MapNode(StringNode(), StringNode(), { validation: { validator: 'block_state_map', params: { id: ['pop', { push: 'block' }] } } }))\r\n },\r\n 'minecraft:enchanted_item': {\r\n levels: core_1.Opt(Common_1.Range()),\r\n item: core_1.Opt(Reference('item_predicate'))\r\n },\r\n 'minecraft:entity_hurt_player': {\r\n damage: core_1.Opt(Reference('damage_predicate'))\r\n },\r\n 'minecraft:entity_killed_player': {\r\n entity: EntityPredicate,\r\n killing_blow: core_1.Opt(Reference('damage_source_predicate'))\r\n },\r\n 'minecraft:filled_bucket': {\r\n item: core_1.Opt(Reference('item_predicate'))\r\n },\r\n 'minecraft:fishing_rod_hooked': {\r\n entity: EntityPredicate,\r\n item: core_1.Opt(Reference('item_predicate'))\r\n },\r\n 'minecraft:hero_of_the_village': {\r\n location: core_1.Opt(Reference('location_predicate'))\r\n },\r\n 'minecraft:inventory_changed': {\r\n slots: core_1.Opt(core_1.ObjectNode({\r\n empty: core_1.Opt(Common_1.Range()),\r\n occupied: core_1.Opt(Common_1.Range()),\r\n full: core_1.Opt(Common_1.Range())\r\n })),\r\n items: core_1.Opt(core_1.ListNode(Reference('item_predicate')))\r\n },\r\n 'minecraft:item_durability_changed': {\r\n delta: core_1.Opt(Common_1.Range()),\r\n durability: core_1.Opt(Common_1.Range()),\r\n item: core_1.Opt(Reference('item_predicate'))\r\n },\r\n 'minecraft:item_used_on_block': {\r\n item: core_1.Opt(Reference('item_predicate')),\r\n location: core_1.Opt(Reference('location_predicate'))\r\n },\r\n 'minecraft:killed_by_crossbow': {\r\n unique_entity_types: core_1.Opt(Common_1.Range()),\r\n victims: core_1.Opt(core_1.ListNode(EntityPredicate))\r\n },\r\n 'minecraft:levitation': {\r\n distance: core_1.Opt(Common_1.Range()),\r\n duration: core_1.Opt(Common_1.Range())\r\n },\r\n 'minecraft:location': {\r\n location: core_1.Opt(Reference('location_predicate'))\r\n },\r\n 'minecraft:nether_travel': {\r\n distance: core_1.Opt(Common_1.Range()),\r\n entered: core_1.Opt(Reference('location_predicate')),\r\n exited: core_1.Opt(Reference('location_predicate'))\r\n },\r\n 'minecraft:placed_block': {\r\n block: core_1.Opt(StringNode({ validator: 'resource', params: { pool: 'block' } })),\r\n state: core_1.Opt(core_1.MapNode(StringNode(), StringNode(), { validation: { validator: 'block_state_map', params: { id: ['pop', { push: 'block' }] } } })),\r\n item: core_1.Opt(Reference('item_predicate')),\r\n location: core_1.Opt(Reference('location_predicate'))\r\n },\r\n 'minecraft:player_generates_container_loot': {\r\n loot_table: StringNode({ validator: 'resource', params: { pool: '$loot_table' } })\r\n },\r\n 'minecraft:player_hurt_entity': {\r\n damage: core_1.Opt(Reference('damage_predicate')),\r\n entity: EntityPredicate\r\n },\r\n 'minecraft:player_interacted_with_entity': {\r\n item: core_1.Opt(Reference('item_predicate')),\r\n entity: EntityPredicate\r\n },\r\n 'minecraft:player_killed_entity': {\r\n entity: EntityPredicate,\r\n killing_blow: core_1.Opt(Reference('damage_source_predicate'))\r\n },\r\n 'minecraft:recipe_unlocked': {\r\n recipe: StringNode({ validator: 'resource', params: { pool: '$recipe' } })\r\n },\r\n 'minecraft:slept_in_bed': {\r\n location: core_1.Opt(Reference('location_predicate'))\r\n },\r\n 'minecraft:slide_down_block': {\r\n block: core_1.Opt(StringNode({ validator: 'resource', params: { pool: 'block' } }))\r\n },\r\n 'minecraft:shot_crossbow': {\r\n item: core_1.Opt(Reference('item_predicate'))\r\n },\r\n 'minecraft:summoned_entity': {\r\n entity: EntityPredicate\r\n },\r\n 'minecraft:tame_animal': {\r\n entity: EntityPredicate\r\n },\r\n 'minecraft:target_hit': {\r\n projectile: EntityPredicate,\r\n shooter: EntityPredicate,\r\n signal_strength: core_1.Opt(Common_1.Range({ integer: true }))\r\n },\r\n 'minecraft:thrown_item_picked_up_by_entity': {\r\n entity: core_1.Opt(Reference('entity_predicate')),\r\n item: core_1.Opt(Reference('item_predicate'))\r\n },\r\n 'minecraft:used_ender_eye': {\r\n distance: core_1.Opt(Common_1.Range())\r\n },\r\n 'minecraft:used_totem': {\r\n item: core_1.Opt(Reference('item_predicate'))\r\n },\r\n 'minecraft:villager_trade': {\r\n villager: core_1.Opt(Reference('entity_predicate')),\r\n item: core_1.Opt(Reference('item_predicate'))\r\n },\r\n 'minecraft:voluntary_exile': {\r\n location: Reference('location_predicate')\r\n }\r\n }\r\n }, { context: 'criterion' }))\r\n }, { category: 'predicate', context: 'criterion' }));\r\n}\r\nexports.initAdvancementSchemas = initAdvancementSchemas;\r\n","\"use strict\";\r\nObject.defineProperty(exports, \"__esModule\", { value: true });\r\nexports.initConditionSchemas = void 0;\r\nconst core_1 = require(\"@mcschema/core\");\r\nconst Common_1 = require(\"./Common\");\r\nfunction initConditionSchemas(schemas, collections) {\r\n const Reference = core_1.Reference.bind(undefined, schemas);\r\n const StringNode = core_1.StringNode.bind(undefined, collections);\r\n schemas.register('predicate', core_1.ObjectOrList(Reference('condition'), { choiceContext: 'condition' }));\r\n schemas.register('condition', core_1.Mod(core_1.ObjectNode({\r\n condition: StringNode({ validator: 'resource', params: { pool: 'loot_condition_type' } }),\r\n [core_1.Switch]: [{ push: 'condition' }],\r\n [core_1.Case]: Common_1.ConditionCases\r\n }, { category: 'predicate', context: 'condition' }), {\r\n default: () => ({\r\n condition: 'minecraft:entity_properties',\r\n entity: 'this'\r\n })\r\n }));\r\n}\r\nexports.initConditionSchemas = initConditionSchemas;\r\n","\"use strict\";\r\nObject.defineProperty(exports, \"__esModule\", { value: true });\r\nexports.initDimensionSchemas = void 0;\r\nconst core_1 = require(\"@mcschema/core\");\r\nconst Common_1 = require(\"./Common\");\r\nfunction initDimensionSchemas(schemas, collections) {\r\n const Reference = core_1.Reference.bind(undefined, schemas);\r\n const StringNode = core_1.StringNode.bind(undefined, collections);\r\n const NoPreset = (node) => core_1.Mod(node, {\r\n enabled: path => path.push('preset').get() === undefined\r\n });\r\n schemas.register('dimension', core_1.Mod(core_1.ObjectNode({\r\n type: Common_1.DimensionTypePresets(Reference('dimension_type')),\r\n generator: core_1.ObjectNode({\r\n type: StringNode({ validator: 'resource', params: { pool: 'worldgen/chunk_generator' } }),\r\n [core_1.Switch]: [{ push: 'type' }],\r\n [core_1.Case]: {\r\n 'minecraft:noise': {\r\n seed: core_1.NumberNode({ integer: true }),\r\n settings: Common_1.NoiseSettingsPresets(Reference('noise_settings')),\r\n biome_source: core_1.ObjectNode({\r\n type: StringNode({ validator: 'resource', params: { pool: 'worldgen/biome_source' } }),\r\n [core_1.Switch]: [{ push: 'type' }],\r\n [core_1.Case]: {\r\n 'minecraft:fixed': {\r\n biome: StringNode({ validator: 'resource', params: { pool: '$worldgen/biome' } })\r\n },\r\n 'minecraft:multi_noise': {\r\n seed: core_1.NumberNode({ integer: true }),\r\n preset: core_1.Opt(StringNode({ enum: ['nether'] })),\r\n altitude_noise: NoPreset(Reference('generator_biome_noise')),\r\n temperature_noise: NoPreset(Reference('generator_biome_noise')),\r\n humidity_noise: NoPreset(Reference('generator_biome_noise')),\r\n weirdness_noise: NoPreset(Reference('generator_biome_noise')),\r\n biomes: NoPreset(core_1.Mod(core_1.ListNode(Reference('generator_biome')), {\r\n default: () => [{\r\n biome: 'minecraft:plains'\r\n }]\r\n }))\r\n },\r\n 'minecraft:checkerboard': {\r\n scale: core_1.Opt(core_1.NumberNode({ integer: true, min: 0, max: 62 })),\r\n biomes: core_1.ListNode(StringNode({ validator: 'resource', params: { pool: '$worldgen/biome' } }))\r\n },\r\n 'minecraft:the_end': {\r\n seed: core_1.NumberNode({ integer: true })\r\n },\r\n 'minecraft:vanilla_layered': {\r\n seed: core_1.NumberNode({ integer: true }),\r\n large_biomes: core_1.Opt(core_1.BooleanNode()),\r\n legacy_biome_init_layer: core_1.Opt(core_1.BooleanNode())\r\n }\r\n }\r\n }, { category: 'predicate', disableSwitchContext: true })\r\n },\r\n 'minecraft:flat': {\r\n settings: core_1.ObjectNode({\r\n biome: core_1.Opt(StringNode({ validator: 'resource', params: { pool: '$worldgen/biome' } })),\r\n lakes: core_1.Opt(core_1.BooleanNode()),\r\n features: core_1.Opt(core_1.BooleanNode()),\r\n layers: core_1.ListNode(Reference('generator_layer')),\r\n structures: Reference('generator_structures')\r\n })\r\n }\r\n }\r\n }, { disableSwitchContext: true })\r\n }, { category: 'pool', context: 'dimension' }), {\r\n default: () => {\r\n const seed = Math.floor(Math.random() * (4294967296)) - 2147483648;\r\n return {\r\n type: 'minecraft:overworld',\r\n generator: {\r\n type: 'minecraft:noise',\r\n seed,\r\n biome_source: {\r\n type: 'minecraft:fixed',\r\n seed,\r\n biome: 'minecraft:plains'\r\n },\r\n settings: 'minecraft:overworld'\r\n }\r\n };\r\n }\r\n }));\r\n schemas.register('generator_biome', core_1.Mod(core_1.ObjectNode({\r\n biome: StringNode({ validator: 'resource', params: { pool: '$worldgen/biome' } }),\r\n parameters: core_1.ObjectNode({\r\n altitude: core_1.NumberNode(),\r\n temperature: core_1.NumberNode(),\r\n humidity: core_1.NumberNode(),\r\n weirdness: core_1.NumberNode(),\r\n offset: core_1.NumberNode()\r\n })\r\n }, { context: 'generator_biome' }), {\r\n default: () => ({\r\n biome: 'minecraft:plains',\r\n parameters: {\r\n altitude: 0,\r\n temperature: 0,\r\n humidity: 0,\r\n weirdness: 0,\r\n offset: 0\r\n }\r\n })\r\n }));\r\n schemas.register('generator_biome_noise', core_1.Mod(core_1.ObjectNode({\r\n firstOctave: core_1.NumberNode({ integer: true }),\r\n amplitudes: core_1.ListNode(core_1.NumberNode())\r\n }, { context: 'generator_biome_noise' }), {\r\n default: () => ({\r\n firstOctave: -7,\r\n amplitudes: [1, 1]\r\n })\r\n }));\r\n}\r\nexports.initDimensionSchemas = initDimensionSchemas;\r\n","\"use strict\";\r\nObject.defineProperty(exports, \"__esModule\", { value: true });\r\nexports.initDimensionTypeSchemas = void 0;\r\nconst core_1 = require(\"@mcschema/core\");\r\nconst Common_1 = require(\"./Common\");\r\nfunction initDimensionTypeSchemas(schemas, collections) {\r\n const StringNode = core_1.StringNode.bind(undefined, collections);\r\n schemas.register('dimension_type', core_1.Mod(core_1.ObjectNode({\r\n name: core_1.Mod(StringNode({ validator: 'resource', params: { pool: '$dimension_type', isDefinition: true } }), {\r\n enabled: (path) => path.getArray().length > 0\r\n }),\r\n ultrawarm: core_1.BooleanNode(),\r\n natural: core_1.BooleanNode(),\r\n piglin_safe: core_1.BooleanNode(),\r\n respawn_anchor_works: core_1.BooleanNode(),\r\n bed_works: core_1.BooleanNode(),\r\n has_raids: core_1.BooleanNode(),\r\n has_skylight: core_1.BooleanNode(),\r\n has_ceiling: core_1.BooleanNode(),\r\n coordinate_scale: core_1.NumberNode({ min: 0.00001, max: 30000000 }),\r\n ambient_light: core_1.NumberNode(),\r\n fixed_time: core_1.Opt(core_1.NumberNode({ integer: true })),\r\n logical_height: core_1.NumberNode({ integer: true, min: 0, max: 256 }),\r\n effects: core_1.Opt(StringNode({ enum: ['minecraft:overworld', 'minecraft:the_nether', 'minecraft:the_end'] })),\r\n infiniburn: StringNode({ validator: 'resource', params: { pool: '$tag/block' } })\r\n }, { context: 'dimension_type' }), {\r\n default: () => Common_1.DefaultDimensionType\r\n }));\r\n}\r\nexports.initDimensionTypeSchemas = initDimensionTypeSchemas;\r\n","\"use strict\";\r\nObject.defineProperty(exports, \"__esModule\", { value: true });\r\nexports.LootFunctions = exports.LootConditions = exports.LootCopySources = exports.LootEntitySources = exports.LootTableTypes = void 0;\r\nexports.LootTableTypes = new Map([\r\n ['minecraft:advancement_entity', { requires: [7 /* Origin */, 8 /* ThisEntity */], allows: [] }],\r\n ['minecraft:advancement_reward', { requires: [7 /* Origin */, 8 /* ThisEntity */], allows: [] }],\r\n ['minecraft:barter', { requires: [8 /* ThisEntity */], allows: [] }],\r\n ['minecraft:block', { requires: [1 /* BlockState */, 7 /* Origin */, 9 /* Tool */], allows: [0 /* BlockEntity */, 4 /* ExplosionRadius */, 8 /* ThisEntity */] }],\r\n ['minecraft:chest', { requires: [7 /* Origin */], allows: [8 /* ThisEntity */] }],\r\n ['minecraft:command', { requires: [7 /* Origin */], allows: [8 /* ThisEntity */] }],\r\n ['minecraft:empty', { requires: [], allows: [] }],\r\n ['minecraft:entity', { requires: [2 /* DamageSource */, 7 /* Origin */, 8 /* ThisEntity */], allows: [3 /* DirectKillerEntity */, 5 /* KillerEntity */, 6 /* LastDamagePlayer */] }],\r\n ['minecraft:fishing', { requires: [7 /* Origin */, 9 /* Tool */], allows: [8 /* ThisEntity */] }],\r\n ['minecraft:generic', { requires: [2 /* DamageSource */, 0 /* BlockEntity */, 1 /* BlockState */, 3 /* DirectKillerEntity */, 4 /* ExplosionRadius */, 5 /* KillerEntity */, 6 /* LastDamagePlayer */, 7 /* Origin */, 8 /* ThisEntity */, 9 /* Tool */], allows: [] }],\r\n ['minecraft:gift', { requires: [7 /* Origin */, 8 /* ThisEntity */], allows: [] }],\r\n ['minecraft:selector', { requires: [7 /* Origin */], allows: [8 /* ThisEntity */] }]\r\n]);\r\n/**\r\n * A map from loot entity sources to an array of their required context.\r\n */\r\nexports.LootEntitySources = new Map([\r\n ['direct_killer', [3 /* DirectKillerEntity */]],\r\n ['killer', [5 /* KillerEntity */]],\r\n ['killer_player', [5 /* KillerEntity */]],\r\n ['this', [8 /* ThisEntity */]]\r\n]);\r\n/**\r\n * A map from loot copy sources to an array of their required context.\r\n */\r\nexports.LootCopySources = new Map([\r\n ['block_entity', [0 /* BlockEntity */]],\r\n ['killer', [5 /* KillerEntity */]],\r\n ['killer_player', [5 /* KillerEntity */]],\r\n ['this', [8 /* ThisEntity */]]\r\n]);\r\n/**\r\n * A map from loot condition IDs to an array of their required context.\r\n */\r\nexports.LootConditions = new Map([\r\n ['minecraft:alternative', []],\r\n ['minecraft:block_state_property', [1 /* BlockState */]],\r\n ['minecraft:damage_source_properties', [2 /* DamageSource */]],\r\n ['minecraft:entity_properties', [7 /* Origin */]],\r\n ['minecraft:entity_scores', []],\r\n ['minecraft:inverted', []],\r\n ['minecraft:killed_by_player', [6 /* LastDamagePlayer */]],\r\n ['minecraft:location_check', []],\r\n ['minecraft:match_tool', [9 /* Tool */]],\r\n ['minecraft:random_chance', []],\r\n ['minecraft:random_chance_with_looting', [5 /* KillerEntity */]],\r\n ['minecraft:reference', []],\r\n ['minecraft:survives_explosion', [4 /* ExplosionRadius */]],\r\n ['minecraft:table_bonus', [9 /* Tool */]],\r\n ['minecraft:time_check', []],\r\n ['minecraft:weather_check', []]\r\n]);\r\n/**\r\n * A map from loot function IDs to an array of their required context.\r\n */\r\nexports.LootFunctions = new Map([\r\n ['minecraft:apply_bonus', [9 /* Tool */]],\r\n ['minecraft:copy_name', []],\r\n ['minecraft:copy_nbt', []],\r\n ['minecraft:copy_state', [1 /* BlockState */]],\r\n ['minecraft:enchant_randomly', []],\r\n ['minecraft:enchant_with_levels', []],\r\n ['minecraft:exploration_map', [7 /* Origin */]],\r\n ['minecraft:explosion_decay', []],\r\n ['minecraft:fill_player_head', []],\r\n ['minecraft:furnace_smelt', []],\r\n ['minecraft:limit_count', []],\r\n ['minecraft:looting_enchant', [5 /* KillerEntity */]],\r\n ['minecraft:set_attributes', []],\r\n ['minecraft:set_contents', []],\r\n ['minecraft:set_count', []],\r\n ['minecraft:set_damage', []],\r\n ['minecraft:set_loot_table', []],\r\n ['minecraft:set_lore', []],\r\n ['minecraft:set_name', []],\r\n ['minecraft:set_nbt', []],\r\n ['minecraft:set_stew_effect', []]\r\n]);\r\n","\"use strict\";\r\nObject.defineProperty(exports, \"__esModule\", { value: true });\r\nexports.initLootTableSchemas = void 0;\r\nconst core_1 = require(\"@mcschema/core\");\r\nconst LootContext_1 = require(\"../LootContext\");\r\nconst Common_1 = require(\"./Common\");\r\nfunction initLootTableSchemas(schemas, collections) {\r\n const Reference = core_1.Reference.bind(undefined, schemas);\r\n const StringNode = core_1.StringNode.bind(undefined, collections);\r\n const conditions = {\r\n conditions: core_1.Opt(core_1.ListNode(Reference('loot_condition')))\r\n };\r\n const functionsAndConditions = {\r\n functions: core_1.Opt(core_1.ListNode(Reference('loot_function'))),\r\n ...conditions\r\n };\r\n function compileSwitchNode(contextMap, collectionID, getNode) {\r\n const cases = [];\r\n const getAvailableOptions = (providedContext) => collections\r\n .get(collectionID)\r\n .filter(t => {\r\n var _a;\r\n const requiredContext = (_a = contextMap.get(t)) !== null && _a !== void 0 ? _a : [];\r\n return requiredContext.every(c => providedContext.includes(c));\r\n });\r\n for (const [tableType, { allows, requires }] of LootContext_1.LootTableTypes) {\r\n const providedContext = [...allows, ...requires];\r\n cases.push({\r\n match: path => path.getModel().get(new core_1.Path(['type'])) === tableType,\r\n node: getNode(getAvailableOptions(providedContext))\r\n });\r\n }\r\n cases.push({ match: _ => true, node: getNode(collectionID) });\r\n return core_1.SwitchNode(cases);\r\n }\r\n const conditionSwtichNode = compileSwitchNode(LootContext_1.LootConditions, 'loot_condition_type', type => StringNode({ validator: 'resource', params: { pool: type instanceof Array ? type : `loot_condition_type` } }));\r\n const functionSwtichNode = compileSwitchNode(LootContext_1.LootFunctions, 'loot_function_type', type => StringNode({ validator: 'resource', params: { pool: type instanceof Array ? type : `loot_function_type` } }));\r\n const entitySourceSwtichNode = compileSwitchNode(LootContext_1.LootEntitySources, 'entity_source', type => StringNode({ enum: type }));\r\n const copySourceSwtichNode = compileSwitchNode(LootContext_1.LootCopySources, 'copy_source', type => StringNode({ enum: type }));\r\n schemas.register('loot_table', core_1.Mod(core_1.ObjectNode({\r\n type: core_1.Opt(StringNode({ validator: \"resource\", params: { pool: collections.get('loot_context_type') } })),\r\n pools: core_1.Opt(core_1.ListNode(core_1.Mod(core_1.ObjectNode({\r\n rolls: Common_1.Range({ allowBinomial: true, integer: true }),\r\n bonus_rolls: core_1.Opt(Common_1.Range({ integer: true })),\r\n entries: core_1.ListNode(Reference('loot_entry')),\r\n ...functionsAndConditions\r\n }, { category: 'pool', context: 'loot_pool' }), {\r\n default: () => ({\r\n rolls: 1,\r\n entries: [{\r\n type: 'minecraft:item',\r\n name: 'minecraft:stone'\r\n }]\r\n })\r\n }))),\r\n functions: core_1.Opt(core_1.ListNode(Reference('loot_function')))\r\n }, { context: 'loot_table' }), {\r\n default: () => ({\r\n pools: [{\r\n rolls: 1,\r\n entries: [{\r\n type: 'minecraft:item',\r\n name: 'minecraft:stone'\r\n }]\r\n }]\r\n })\r\n }));\r\n const weightMod = {\r\n enabled: path => {\r\n var _a;\r\n return ((_a = path.pop().get()) === null || _a === void 0 ? void 0 : _a.length) > 1\r\n && !['minecraft:alternatives', 'minecraft:group', 'minecraft:sequence'].includes(path.push('type').get());\r\n }\r\n };\r\n schemas.register('loot_entry', core_1.Mod(core_1.ObjectNode({\r\n type: StringNode({ validator: 'resource', params: { pool: 'loot_pool_entry_type' } }),\r\n weight: core_1.Opt(core_1.Mod(core_1.NumberNode({ integer: true, min: 1 }), weightMod)),\r\n quality: core_1.Opt(core_1.Mod(core_1.NumberNode({ integer: true }), weightMod)),\r\n [core_1.Switch]: [{ push: 'type' }],\r\n [core_1.Case]: {\r\n 'minecraft:alternatives': {\r\n children: core_1.ListNode(Reference('loot_entry')),\r\n ...functionsAndConditions\r\n },\r\n 'minecraft:dynamic': {\r\n name: StringNode(),\r\n ...functionsAndConditions\r\n },\r\n 'minecraft:group': {\r\n children: core_1.ListNode(Reference('loot_entry')),\r\n ...functionsAndConditions\r\n },\r\n 'minecraft:item': {\r\n name: StringNode({ validator: 'resource', params: { pool: 'item' } }),\r\n ...functionsAndConditions\r\n },\r\n 'minecraft:loot_table': {\r\n name: StringNode({ validator: 'resource', params: { pool: '$loot_table' } }),\r\n ...functionsAndConditions\r\n },\r\n 'minecraft:sequence': {\r\n children: core_1.ListNode(Reference('loot_entry')),\r\n ...functionsAndConditions\r\n },\r\n 'minecraft:tag': {\r\n name: StringNode({ validator: 'resource', params: { pool: '$tag/item' } }),\r\n expand: core_1.Opt(core_1.BooleanNode()),\r\n ...functionsAndConditions\r\n }\r\n }\r\n }, { context: 'loot_entry' }), {\r\n default: () => ({\r\n type: 'minecraft:item',\r\n name: 'minecraft:stone'\r\n })\r\n }));\r\n schemas.register('loot_function', core_1.Mod(core_1.ObjectNode({\r\n function: functionSwtichNode,\r\n [core_1.Switch]: [{ push: 'function' }],\r\n [core_1.Case]: (() => {\r\n const cases = {\r\n 'minecraft:apply_bonus': {\r\n enchantment: StringNode({ validator: 'resource', params: { pool: 'enchantment' } }),\r\n formula: StringNode({ validator: 'resource', params: { pool: collections.get('loot_table_apply_bonus_formula') } }),\r\n parameters: core_1.Mod(core_1.ObjectNode({\r\n bonusMultiplier: core_1.Mod(core_1.NumberNode(), {\r\n enabled: path => path.pop().push('formula').get() === 'minecraft:uniform_bonus_count'\r\n }),\r\n extra: core_1.Mod(core_1.NumberNode(), {\r\n enabled: path => path.pop().push('formula').get() === 'minecraft:binomial_with_bonus_count'\r\n }),\r\n probability: core_1.Mod(core_1.NumberNode(), {\r\n enabled: path => path.pop().push('formula').get() === 'minecraft:binomial_with_bonus_count'\r\n })\r\n }), {\r\n enabled: path => path.push('formula').get() !== 'minecraft:ore_drops'\r\n })\r\n },\r\n 'minecraft:copy_name': {\r\n source: copySourceSwtichNode\r\n },\r\n 'minecraft:copy_nbt': {\r\n source: copySourceSwtichNode,\r\n ops: core_1.ListNode(core_1.ObjectNode({\r\n source: StringNode({ validator: 'nbt_path', params: { category: { getter: 'copy_source', path: ['pop', 'pop', 'pop', { push: 'source' }] } } }),\r\n target: StringNode({ validator: 'nbt_path', params: { category: 'minecraft:item' } }),\r\n op: StringNode({ enum: ['replace', 'append', 'merge'] })\r\n }, { context: 'nbt_operation' }))\r\n },\r\n 'minecraft:copy_state': {\r\n block: StringNode({ validator: 'resource', params: { pool: 'block' } }),\r\n properties: core_1.ListNode(StringNode({ validator: 'block_state_key', params: { id: ['pop', 'pop', { push: 'block' }] } }))\r\n },\r\n 'minecraft:enchant_randomly': {\r\n enchantments: core_1.Opt(core_1.ListNode(StringNode({ validator: 'resource', params: { pool: 'enchantment' } })))\r\n },\r\n 'minecraft:enchant_with_levels': {\r\n levels: Common_1.Range({ allowBinomial: true }),\r\n treasure: core_1.Opt(core_1.BooleanNode())\r\n },\r\n 'minecraft:exploration_map': {\r\n destination: core_1.Opt(StringNode({ enum: 'map_feature' })),\r\n decoration: core_1.Opt(StringNode({ enum: 'map_decoration' })),\r\n zoom: core_1.Opt(core_1.NumberNode({ integer: true })),\r\n search_radius: core_1.Opt(core_1.NumberNode({ integer: true })),\r\n skip_existing_chunks: core_1.Opt(core_1.BooleanNode())\r\n },\r\n 'minecraft:fill_player_head': {\r\n entity: entitySourceSwtichNode\r\n },\r\n 'minecraft:limit_count': {\r\n limit: Common_1.Range({ bounds: true })\r\n },\r\n 'minecraft:looting_enchant': {\r\n count: Common_1.Range({ bounds: true }),\r\n limit: core_1.Opt(core_1.NumberNode({ integer: true }))\r\n },\r\n 'minecraft:set_attributes': {\r\n modifiers: core_1.ListNode(Reference('attribute_modifier'))\r\n },\r\n 'minecraft:set_contents': {\r\n entries: core_1.ListNode(Reference('loot_entry'))\r\n },\r\n 'minecraft:set_count': {\r\n count: Common_1.Range({ allowBinomial: true })\r\n },\r\n 'minecraft:set_damage': {\r\n damage: Common_1.Range({ forceRange: true })\r\n },\r\n 'minecraft:set_loot_table': {\r\n name: StringNode({ validator: 'resource', params: { pool: '$loot_table' } }),\r\n seed: core_1.Opt(core_1.NumberNode({ integer: true }))\r\n },\r\n 'minecraft:set_lore': {\r\n entity: core_1.Opt(entitySourceSwtichNode),\r\n lore: core_1.ListNode(Reference('text_component')),\r\n replace: core_1.Opt(core_1.BooleanNode())\r\n },\r\n 'minecraft:set_name': {\r\n entity: core_1.Opt(entitySourceSwtichNode),\r\n name: core_1.Opt(Reference('text_component'))\r\n },\r\n 'minecraft:set_nbt': {\r\n tag: StringNode({ validator: 'nbt', params: { registry: { category: 'minecraft:item' } } })\r\n },\r\n 'minecraft:set_stew_effect': {\r\n effects: core_1.Opt(core_1.ListNode(core_1.ObjectNode({\r\n type: StringNode({ validator: 'resource', params: { pool: 'mob_effect' } }),\r\n duration: Common_1.Range()\r\n })))\r\n }\r\n };\r\n const res = {};\r\n collections.get('loot_function_type').forEach(f => {\r\n res[f] = { ...cases[f], ...conditions };\r\n });\r\n return res;\r\n })()\r\n }, { category: 'function', context: 'function' }), {\r\n default: () => ({\r\n function: 'minecraft:set_count',\r\n count: 1\r\n })\r\n }));\r\n schemas.register('loot_condition', core_1.Mod(core_1.ObjectNode({\r\n condition: conditionSwtichNode,\r\n [core_1.Switch]: [{ push: 'condition' }],\r\n [core_1.Case]: {\r\n ...Common_1.ConditionCases,\r\n 'minecraft:entity_properties': {\r\n entity: entitySourceSwtichNode,\r\n predicate: Reference('entity_predicate')\r\n },\r\n 'minecraft:entity_scores': {\r\n entity: entitySourceSwtichNode,\r\n scores: core_1.MapNode(StringNode({ validator: 'objective' }), Common_1.Range({ bounds: true }))\r\n }\r\n }\r\n }, { category: 'predicate', context: 'condition' }), {\r\n default: () => ({\r\n condition: 'minecraft:random_chance',\r\n chance: 0.5\r\n })\r\n }));\r\n schemas.register('attribute_modifier', core_1.Mod(core_1.ObjectNode({\r\n attribute: StringNode({ validator: 'resource', params: { pool: 'attribute' } }),\r\n name: StringNode(),\r\n amount: Common_1.Range({ bounds: true }),\r\n operation: StringNode({ enum: ['addition', 'multiply_base', 'multiply_total'] }),\r\n slot: core_1.StringOrList(StringNode({ enum: 'slot' }))\r\n }, { context: 'attribute_modifier' }), {\r\n default: () => ({\r\n attribute: 'minecraft:generic.max_health',\r\n name: '',\r\n amount: 1,\r\n operation: 'addition',\r\n slot: 'mainhand'\r\n })\r\n }));\r\n}\r\nexports.initLootTableSchemas = initLootTableSchemas;\r\n","\"use strict\";\r\nObject.defineProperty(exports, \"__esModule\", { value: true });\r\nexports.initPackMcmetaSchemas = void 0;\r\nconst core_1 = require(\"@mcschema/core\");\r\nfunction initPackMcmetaSchemas(schemas, _) {\r\n const getSimpleString = (jsonText) => { var _a, _b; return jsonText instanceof Array ? getSimpleString(jsonText[0]) : (_b = (_a = jsonText === null || jsonText === void 0 ? void 0 : jsonText.text) !== null && _a !== void 0 ? _a : jsonText === null || jsonText === void 0 ? void 0 : jsonText.toString()) !== null && _b !== void 0 ? _b : ''; };\r\n schemas.register('pack_mcmeta', core_1.Mod(core_1.ObjectNode({\r\n pack: core_1.Mod(core_1.ObjectNode({\r\n pack_format: core_1.Mod(core_1.NumberNode({ integer: true, min: 6, max: 6 }), { default: () => 6 }),\r\n description: core_1.Reference(schemas, 'text_component')\r\n }), {\r\n default: () => ({\r\n pack_format: 6,\r\n description: ''\r\n })\r\n })\r\n }), {\r\n default: () => ({\r\n pack: {\r\n pack_format: 6,\r\n description: ''\r\n }\r\n })\r\n }));\r\n}\r\nexports.initPackMcmetaSchemas = initPackMcmetaSchemas;\r\n","\"use strict\";\r\nObject.defineProperty(exports, \"__esModule\", { value: true });\r\nexports.initPredicatesSchemas = void 0;\r\nconst core_1 = require(\"@mcschema/core\");\r\nconst Common_1 = require(\"./Common\");\r\nfunction initPredicatesSchemas(schemas, collections) {\r\n const Reference = core_1.Reference.bind(undefined, schemas);\r\n const StringNode = core_1.StringNode.bind(undefined, collections);\r\n const StateChoice = core_1.ChoiceNode([\r\n {\r\n type: 'string',\r\n node: StringNode(),\r\n change: v => (typeof v === 'boolean' || typeof v === 'number') ? v.toString() : ''\r\n },\r\n {\r\n type: 'number',\r\n node: core_1.NumberNode(),\r\n change: v => (typeof v === 'string') ? parseInt(v) : 0\r\n },\r\n {\r\n type: 'object',\r\n node: core_1.ObjectNode({\r\n min: core_1.Opt(core_1.NumberNode({ integer: true })),\r\n max: core_1.Opt(core_1.NumberNode({ integer: true }))\r\n }),\r\n change: v => (typeof v === 'number') ? ({ min: v, max: v }) : ({})\r\n },\r\n {\r\n type: 'boolean',\r\n node: core_1.BooleanNode(),\r\n change: v => v === 'true' || v === 1\r\n }\r\n ]);\r\n schemas.register('item_predicate', core_1.ObjectNode({\r\n item: core_1.Opt(StringNode({ validator: 'resource', params: { pool: 'item' } })),\r\n tag: core_1.Opt(StringNode({ validator: 'resource', params: { pool: '$tag/item' } })),\r\n count: core_1.Opt(Common_1.Range()),\r\n durability: core_1.Opt(Common_1.Range()),\r\n potion: core_1.Opt(StringNode({ validator: 'resource', params: { pool: 'potion' } })),\r\n nbt: core_1.Opt(StringNode({ validator: 'nbt', params: { registry: { category: 'minecraft:item', id: ['pop', { push: 'item' }] } } })),\r\n enchantments: core_1.Opt(core_1.ListNode(Reference('enchantment_predicate')))\r\n }, { context: 'item' }));\r\n schemas.register('enchantment_predicate', core_1.ObjectNode({\r\n enchantment: core_1.Opt(StringNode({ validator: 'resource', params: { pool: 'enchantment' } })),\r\n levels: core_1.Opt(Common_1.Range())\r\n }, { context: 'enchantment' }));\r\n schemas.register('block_predicate', core_1.ObjectNode({\r\n block: core_1.Opt(StringNode({ validator: 'resource', params: { pool: 'block' } })),\r\n tag: core_1.Opt(StringNode({ validator: 'resource', params: { pool: '$tag/block' } })),\r\n nbt: core_1.Opt(StringNode({ validator: 'nbt', params: { registry: { category: 'minecraft:block', id: ['pop', { push: 'block' }] } } })),\r\n state: core_1.Opt(core_1.MapNode(StringNode(), StateChoice, { validation: { validator: 'block_state_map', params: { id: ['pop', { push: 'block' }] } } }))\r\n }, { context: 'block' }));\r\n schemas.register('fluid_predicate', core_1.ObjectNode({\r\n fluid: core_1.Opt(StringNode({ validator: 'resource', params: { pool: 'fluid' } })),\r\n tag: core_1.Opt(StringNode({ validator: 'resource', params: { pool: '$tag/fluid' } })),\r\n state: core_1.Opt(core_1.MapNode(StringNode(), StateChoice))\r\n }, { context: 'fluid' }));\r\n schemas.register('location_predicate', core_1.ObjectNode({\r\n position: core_1.Opt(core_1.ObjectNode({\r\n x: core_1.Opt(Common_1.Range()),\r\n y: core_1.Opt(Common_1.Range()),\r\n z: core_1.Opt(Common_1.Range())\r\n })),\r\n biome: core_1.Opt(StringNode({ validator: 'resource', params: { pool: '$worldgen/biome' } })),\r\n feature: core_1.Opt(StringNode({ enum: collections.get('worldgen/structure_feature').map(v => v.slice(10)) })),\r\n dimension: core_1.Opt(StringNode({ validator: 'resource', params: { pool: '$dimension' } })),\r\n light: core_1.Opt(core_1.ObjectNode({\r\n light: core_1.Opt(Common_1.Range({ integer: true, min: 0, max: 15 }))\r\n })),\r\n smokey: core_1.Opt(core_1.BooleanNode()),\r\n block: core_1.Opt(Reference('block_predicate')),\r\n fluid: core_1.Opt(Reference('fluid_predicate'))\r\n }, { context: 'location' }));\r\n schemas.register('statistic_predicate', core_1.ObjectNode({\r\n type: StringNode({ validator: 'resource', params: { pool: 'stat_type' } }),\r\n stat: StringNode(),\r\n value: Common_1.Range(),\r\n [core_1.Switch]: [{ push: 'type' }],\r\n [core_1.Case]: {\r\n 'minecraft:mined': {\r\n stat: StringNode({ validator: 'resource', params: { pool: 'block' } })\r\n },\r\n 'minecraft:crafted': {\r\n stat: StringNode({ validator: 'resource', params: { pool: 'item' } })\r\n },\r\n 'minecraft:used': {\r\n stat: StringNode({ validator: 'resource', params: { pool: 'item' } })\r\n },\r\n 'minecraft:broken': {\r\n stat: StringNode({ validator: 'resource', params: { pool: 'item' } })\r\n },\r\n 'minecraft:picked_up': {\r\n stat: StringNode({ validator: 'resource', params: { pool: 'item' } })\r\n },\r\n 'minecraft:dropped': {\r\n stat: StringNode({ validator: 'resource', params: { pool: 'item' } })\r\n },\r\n 'minecraft:killed': {\r\n stat: StringNode({ validator: 'resource', params: { pool: 'entity_type' } })\r\n },\r\n 'minecraft:killed_by': {\r\n stat: StringNode({ validator: 'resource', params: { pool: 'entity_type' } })\r\n },\r\n 'minecraft:custom': {\r\n stat: StringNode({ validator: 'resource', params: { pool: 'custom_stat' } })\r\n }\r\n }\r\n }));\r\n schemas.register('player_predicate', core_1.ObjectNode({\r\n gamemode: core_1.Opt(StringNode({ enum: 'gamemode' })),\r\n level: core_1.Opt(Common_1.Range()),\r\n advancements: core_1.Opt(core_1.MapNode(StringNode({ validator: 'resource', params: { pool: '$advancement' } }), core_1.ChoiceNode([\r\n { type: 'boolean', node: core_1.BooleanNode(), change: _ => true },\r\n {\r\n type: 'object', node: core_1.MapNode(StringNode(), core_1.BooleanNode())\r\n }\r\n ]))),\r\n recipes: core_1.Opt(core_1.MapNode(StringNode({ validator: 'resource', params: { pool: '$recipe' } }), core_1.BooleanNode())),\r\n stats: core_1.Opt(core_1.ListNode(Reference('statistic_predicate')))\r\n }, { context: 'player' }));\r\n schemas.register('status_effect_predicate', core_1.ObjectNode({\r\n amplifier: core_1.Opt(Common_1.Range()),\r\n duration: core_1.Opt(Common_1.Range()),\r\n ambient: core_1.Opt(core_1.BooleanNode()),\r\n visible: core_1.Opt(core_1.BooleanNode())\r\n }, { context: 'status_effect' }));\r\n schemas.register('distance_predicate', core_1.ObjectNode({\r\n x: core_1.Opt(Common_1.Range()),\r\n y: core_1.Opt(Common_1.Range()),\r\n z: core_1.Opt(Common_1.Range()),\r\n absolute: core_1.Opt(Common_1.Range()),\r\n horizontal: core_1.Opt(Common_1.Range())\r\n }, { context: 'distance' }));\r\n schemas.register('entity_predicate', core_1.ObjectNode({\r\n type: core_1.Opt(StringNode({ validator: 'resource', params: { pool: 'entity_type', allowTag: true } })),\r\n nbt: core_1.Opt(StringNode({ validator: 'nbt', params: { registry: { category: 'minecraft:entity', id: ['pop', { push: 'type' }] } } })),\r\n team: core_1.Opt(StringNode({ validator: 'team' })),\r\n location: core_1.Opt(Reference('location_predicate')),\r\n distance: core_1.Opt(Reference('distance_predicate')),\r\n flags: core_1.Opt(core_1.ObjectNode({\r\n is_on_fire: core_1.Opt(core_1.BooleanNode()),\r\n is_sneaking: core_1.Opt(core_1.BooleanNode()),\r\n is_sprinting: core_1.Opt(core_1.BooleanNode()),\r\n is_swimming: core_1.Opt(core_1.BooleanNode()),\r\n is_baby: core_1.Opt(core_1.BooleanNode())\r\n })),\r\n equipment: core_1.Opt(core_1.MapNode(StringNode({ enum: 'slot' }), Reference('item_predicate'))),\r\n vehicle: core_1.Opt(Reference('entity_predicate')),\r\n targeted_entity: core_1.Opt(Reference('entity_predicate')),\r\n player: core_1.Opt(Reference('player_predicate')),\r\n fishing_hook: core_1.Opt(core_1.ObjectNode({\r\n in_open_water: core_1.Opt(core_1.BooleanNode())\r\n })),\r\n effects: core_1.Opt(core_1.MapNode(StringNode({ validator: 'resource', params: { pool: 'mob_effect' } }), Reference('status_effect_predicate')))\r\n }, { context: 'entity' }));\r\n schemas.register('damage_source_predicate', core_1.ObjectNode({\r\n is_explosion: core_1.Opt(core_1.BooleanNode()),\r\n is_fire: core_1.Opt(core_1.BooleanNode()),\r\n is_magic: core_1.Opt(core_1.BooleanNode()),\r\n is_projectile: core_1.Opt(core_1.BooleanNode()),\r\n is_lightning: core_1.Opt(core_1.BooleanNode()),\r\n bypasses_armor: core_1.Opt(core_1.BooleanNode()),\r\n bypasses_invulnerability: core_1.Opt(core_1.BooleanNode()),\r\n bypasses_magic: core_1.Opt(core_1.BooleanNode()),\r\n source_entity: core_1.Opt(Reference('entity_predicate')),\r\n direct_entity: core_1.Opt(Reference('entity_predicate'))\r\n }, { context: 'damage_source' }));\r\n schemas.register('damage_predicate', core_1.ObjectNode({\r\n dealt: core_1.Opt(Common_1.Range()),\r\n taken: core_1.Opt(Common_1.Range()),\r\n blocked: core_1.Opt(core_1.BooleanNode()),\r\n source_entity: core_1.Opt(Reference('entity_predicate')),\r\n type: core_1.Opt(Reference('damage_source_predicate'))\r\n }, { context: 'damage' }));\r\n}\r\nexports.initPredicatesSchemas = initPredicatesSchemas;\r\n","\"use strict\";\r\nObject.defineProperty(exports, \"__esModule\", { value: true });\r\nexports.initRecipeSchemas = void 0;\r\nconst core_1 = require(\"@mcschema/core\");\r\nfunction initRecipeSchemas(schemas, collections) {\r\n const Reference = core_1.Reference.bind(undefined, schemas);\r\n const StringNode = core_1.StringNode.bind(undefined, collections);\r\n schemas.register('recipe', core_1.Mod(core_1.ObjectNode({\r\n type: StringNode({ validator: 'resource', params: { pool: 'recipe_serializer' } }),\r\n [core_1.Switch]: [{ push: 'type' }],\r\n [core_1.Case]: {\r\n 'minecraft:crafting_shaped': {\r\n group: core_1.Opt(StringNode({ enum: 'recipe_group', additional: true })),\r\n pattern: core_1.ListNode(StringNode()),\r\n key: core_1.MapNode(StringNode(), // TODO: add validation\r\n Reference('recipe_ingredient')),\r\n result: Reference('recipe_result')\r\n },\r\n 'minecraft:crafting_shapeless': {\r\n group: core_1.Opt(StringNode()),\r\n ingredients: core_1.ListNode(Reference('recipe_ingredient')),\r\n result: Reference('recipe_result')\r\n },\r\n 'minecraft:smelting': {\r\n group: core_1.Opt(StringNode()),\r\n ingredient: Reference('recipe_ingredient'),\r\n result: StringNode({ validator: 'resource', params: { pool: 'item' } }),\r\n experience: core_1.Opt(core_1.NumberNode()),\r\n cookingtime: core_1.Opt(core_1.Mod(core_1.NumberNode({ integer: true }), { default: () => 200 }))\r\n },\r\n 'minecraft:blasting': {\r\n group: core_1.Opt(StringNode()),\r\n ingredient: Reference('recipe_ingredient'),\r\n result: StringNode({ validator: 'resource', params: { pool: 'item' } }),\r\n experience: core_1.Opt(core_1.NumberNode()),\r\n cookingtime: core_1.Opt(core_1.Mod(core_1.NumberNode({ integer: true }), { default: () => 100 }))\r\n },\r\n 'minecraft:smoking': {\r\n group: core_1.Opt(StringNode()),\r\n ingredient: Reference('recipe_ingredient'),\r\n result: StringNode({ validator: 'resource', params: { pool: 'item' } }),\r\n experience: core_1.Opt(core_1.NumberNode()),\r\n cookingtime: core_1.Opt(core_1.Mod(core_1.NumberNode({ integer: true }), { default: () => 100 }))\r\n },\r\n 'minecraft:campfire_cooking': {\r\n group: core_1.Opt(StringNode()),\r\n ingredient: Reference('recipe_ingredient'),\r\n result: StringNode({ validator: 'resource', params: { pool: 'item' } }),\r\n experience: core_1.Opt(core_1.NumberNode()),\r\n cookingtime: core_1.Opt(core_1.Mod(core_1.NumberNode({ integer: true }), { default: () => 100 }))\r\n },\r\n 'minecraft:stonecutting': {\r\n group: core_1.Opt(StringNode()),\r\n ingredient: Reference('recipe_ingredient'),\r\n result: StringNode({ validator: 'resource', params: { pool: 'item' } }),\r\n count: core_1.NumberNode({ integer: true })\r\n },\r\n 'minecraft:smithing': {\r\n group: core_1.Opt(StringNode()),\r\n base: Reference('recipe_ingredient_object'),\r\n addition: Reference('recipe_ingredient_object'),\r\n result: Reference('recipe_result')\r\n }\r\n }\r\n }, { context: 'recipe' }), {\r\n default: () => ({\r\n type: 'minecraft:crafting_shaped'\r\n })\r\n }));\r\n schemas.register('recipe_ingredient', core_1.Mod(core_1.ChoiceNode([\r\n {\r\n type: 'object',\r\n node: Reference('recipe_ingredient_object'),\r\n change: v => v[0]\r\n },\r\n {\r\n type: 'list',\r\n node: core_1.ListNode(Reference('recipe_ingredient_object')),\r\n change: v => [v]\r\n }\r\n ]), {\r\n default: () => ({\r\n item: 'minecraft:stone'\r\n })\r\n }));\r\n schemas.register('recipe_ingredient_object', core_1.Mod(core_1.ObjectNode({\r\n item: core_1.Opt(StringNode({ validator: 'resource', params: { pool: 'item' } })),\r\n tag: core_1.Opt(StringNode({ validator: 'resource', params: { pool: '$tag/item' } }))\r\n }), {\r\n default: () => ({\r\n item: 'minecraft:stone'\r\n })\r\n }));\r\n schemas.register('recipe_result', core_1.Mod(core_1.ObjectNode({\r\n item: StringNode({ validator: 'resource', params: { pool: 'item' } }),\r\n count: core_1.Opt(core_1.Mod(core_1.NumberNode({ integer: true }), { default: () => 1 }))\r\n }), {\r\n default: () => ({\r\n item: 'minecraft:stone'\r\n })\r\n }));\r\n}\r\nexports.initRecipeSchemas = initRecipeSchemas;\r\n","\"use strict\";\r\nObject.defineProperty(exports, \"__esModule\", { value: true });\r\nexports.initTagsSchemas = void 0;\r\nconst core_1 = require(\"@mcschema/core\");\r\nfunction initTagsSchemas(schemas, collections) {\r\n const StringNode = core_1.StringNode.bind(undefined, collections);\r\n const TagBase = (type) => core_1.Mod(core_1.ObjectNode({\r\n replace: core_1.Opt(core_1.BooleanNode()),\r\n values: core_1.ListNode(core_1.ChoiceNode([\r\n {\r\n type: 'string',\r\n node: StringNode({ validator: 'resource', params: { pool: type, allowTag: true } }),\r\n change: v => v.id\r\n },\r\n {\r\n type: 'object',\r\n node: core_1.ObjectNode({\r\n id: StringNode({ validator: 'resource', params: { pool: type, allowTag: true, allowUnknown: true } }),\r\n required: core_1.BooleanNode()\r\n }),\r\n change: v => ({ id: v })\r\n }\r\n ])),\r\n }, { context: 'tag' }), {\r\n default: () => ({\r\n values: []\r\n })\r\n });\r\n schemas.register('block_tag', TagBase('block'));\r\n schemas.register('entity_type_tag', TagBase('entity_type'));\r\n schemas.register('fluid_tag', TagBase('fluid'));\r\n schemas.register('function_tag', TagBase('$function'));\r\n schemas.register('item_tag', TagBase('item'));\r\n}\r\nexports.initTagsSchemas = initTagsSchemas;\r\n","\"use strict\";\r\nObject.defineProperty(exports, \"__esModule\", { value: true });\r\nexports.initTextComponentSchemas = void 0;\r\nconst core_1 = require(\"@mcschema/core\");\r\nfunction initTextComponentSchemas(schemas, collections) {\r\n const Reference = core_1.Reference.bind(undefined, schemas);\r\n const StringNode = core_1.StringNode.bind(undefined, collections);\r\n const getSimpleString = (v) => { var _a; return v instanceof Array ? getSimpleString(v[0]) : (_a = v === null || v === void 0 ? void 0 : v.text) !== null && _a !== void 0 ? _a : (typeof v === 'object' ? '' : v === null || v === void 0 ? void 0 : v.toString()); };\r\n schemas.register('text_component', core_1.Mod(core_1.ChoiceNode([\r\n {\r\n type: 'object',\r\n node: Reference('text_component_object'),\r\n change: v => v instanceof Array ? (typeof v[0] === 'object' ? v[0] : { text: getSimpleString(v[0]) }) : typeof v === 'object' ? v : { text: getSimpleString(v) }\r\n },\r\n {\r\n type: 'list',\r\n node: Reference('text_component_list'),\r\n change: v => [v]\r\n },\r\n {\r\n type: 'string',\r\n priority: 1,\r\n node: StringNode(),\r\n change: getSimpleString\r\n },\r\n {\r\n type: 'number',\r\n node: core_1.NumberNode(),\r\n change: v => {\r\n const n = parseFloat(getSimpleString(v));\r\n return isFinite(n) ? n : (!!v ? 1 : 0);\r\n }\r\n },\r\n {\r\n type: 'boolean',\r\n node: core_1.BooleanNode(),\r\n change: v => {\r\n const s = getSimpleString(v);\r\n return s === 'true' || s === 'false' ? s === 'true' : !!s;\r\n }\r\n }\r\n ], { context: 'text_component' }), {\r\n default: () => ({\r\n text: \"\"\r\n })\r\n }));\r\n const CommonFields = {\r\n color: core_1.Opt(StringNode()) /* TODO */,\r\n font: core_1.Opt(StringNode()),\r\n bold: core_1.Opt(core_1.BooleanNode()),\r\n italic: core_1.Opt(core_1.BooleanNode()),\r\n underlined: core_1.Opt(core_1.BooleanNode()),\r\n strikethrough: core_1.Opt(core_1.BooleanNode()),\r\n obfuscated: core_1.Opt(core_1.BooleanNode()),\r\n insertion: core_1.Opt(StringNode()),\r\n clickEvent: core_1.Opt(core_1.ObjectNode({\r\n action: StringNode({ enum: ['open_url', 'open_file', 'run_command', 'suggest_command', 'change_page', 'copy_to_clipboard'] }),\r\n [core_1.Switch]: [{ push: 'action' }],\r\n [core_1.Case]: {\r\n 'change_page': {\r\n value: StringNode()\r\n },\r\n 'copy_to_clipboard': {\r\n value: StringNode()\r\n },\r\n 'open_file': {\r\n value: StringNode()\r\n },\r\n 'open_url': {\r\n value: StringNode()\r\n },\r\n 'run_command': {\r\n value: StringNode({ validator: 'command', params: { leadingSlash: true, allowPartial: true } })\r\n },\r\n 'suggest_command': {\r\n value: StringNode({ validator: 'command', params: { leadingSlash: true, allowPartial: true } })\r\n }\r\n }\r\n })),\r\n hoverEvent: core_1.Opt(core_1.ObjectNode({\r\n action: StringNode({ enum: ['show_text', 'show_item', 'show_entity'] }),\r\n [core_1.Switch]: [{ push: 'action' }],\r\n [core_1.Case]: {\r\n 'show_text': {\r\n value: core_1.Opt(Reference('text_component')),\r\n contents: core_1.Opt(Reference('text_component'))\r\n },\r\n 'show_item': {\r\n value: core_1.Opt(StringNode({ validator: 'nbt', params: { module: 'util::InventoryItem' } })),\r\n contents: core_1.Opt(core_1.ObjectNode({\r\n id: StringNode({ validator: 'resource', params: { pool: 'item' } }),\r\n count: core_1.Opt(core_1.NumberNode({ integer: true })),\r\n tag: core_1.Opt(StringNode({ validator: 'nbt', params: { registry: { category: 'minecraft:item', id: ['pop', { push: 'id' }] } } }))\r\n }))\r\n },\r\n 'show_entity': {\r\n value: core_1.Opt(core_1.ObjectNode({\r\n name: core_1.Opt(StringNode()),\r\n type: core_1.Opt(StringNode()),\r\n id: core_1.Opt(StringNode())\r\n })),\r\n contents: core_1.Opt(core_1.Mod(core_1.ObjectNode({\r\n name: core_1.Opt(Reference('text_component')),\r\n type: StringNode({ validator: 'resource', params: { pool: 'entity_type' } }),\r\n id: StringNode({ validator: 'uuid' })\r\n }), {\r\n default: () => ({\r\n type: 'minecraft:pig',\r\n id: '00000001-0001-0001-0001-000000000001'\r\n })\r\n }))\r\n }\r\n }\r\n })),\r\n extra: core_1.Opt(Reference('text_component_list'))\r\n };\r\n schemas.register('text_component_object', core_1.Mod(core_1.ChoiceNode([\r\n {\r\n type: 'text',\r\n match: v => typeof v === 'object',\r\n change: v => ({ text: '' }),\r\n priority: -1,\r\n node: core_1.ObjectNode({\r\n text: StringNode(),\r\n ...CommonFields\r\n })\r\n },\r\n {\r\n type: 'translation',\r\n match: v => (v === null || v === void 0 ? void 0 : v.translate) !== undefined,\r\n change: v => ({ translate: '' }),\r\n node: core_1.ObjectNode({\r\n translate: StringNode(),\r\n with: core_1.Opt(Reference('text_component_list')),\r\n ...CommonFields\r\n })\r\n },\r\n {\r\n type: 'score',\r\n match: v => (v === null || v === void 0 ? void 0 : v.score) !== undefined,\r\n change: v => ({ score: {} }),\r\n node: core_1.ObjectNode({\r\n score: core_1.ObjectNode({\r\n name: StringNode({ validator: 'entity', params: { amount: 'single', type: 'entities', isScoreHolder: true } }),\r\n objective: StringNode({ validator: 'objective' }),\r\n value: core_1.Opt(StringNode())\r\n }),\r\n ...CommonFields\r\n })\r\n },\r\n {\r\n type: 'selector',\r\n match: v => (v === null || v === void 0 ? void 0 : v.selector) !== undefined,\r\n change: v => ({ selector: '' }),\r\n node: core_1.ObjectNode({\r\n selector: StringNode({ validator: 'entity', params: { amount: 'multiple', type: 'entities' } }),\r\n ...CommonFields\r\n })\r\n },\r\n {\r\n type: 'keybind',\r\n match: v => (v === null || v === void 0 ? void 0 : v.keybind) !== undefined,\r\n change: v => ({ keybind: '' }),\r\n node: core_1.ObjectNode({\r\n keybind: StringNode({ enum: 'keybind', additional: true }),\r\n ...CommonFields\r\n })\r\n },\r\n {\r\n type: 'nbt',\r\n match: v => (v === null || v === void 0 ? void 0 : v.nbt) !== undefined,\r\n change: v => ({ nbt: '' }),\r\n node: core_1.ObjectNode({\r\n nbt: StringNode({ validator: 'nbt_path' }),\r\n block: core_1.Opt(StringNode({ validator: 'vector', params: { dimension: 3, isInteger: true } })),\r\n entity: core_1.Opt(StringNode({ validator: 'entity', params: { amount: 'single', type: 'entities' } })),\r\n storage: core_1.Opt(StringNode({ validator: 'resource', params: { pool: '$storage' } })),\r\n interpret: core_1.Opt(core_1.BooleanNode()),\r\n ...CommonFields\r\n })\r\n }\r\n ], { context: 'text_component_object', choiceContext: 'text_component.object' }), {\r\n default: () => ({\r\n text: \"\"\r\n })\r\n }));\r\n schemas.register('text_component_list', core_1.Mod(core_1.ListNode(Reference('text_component')), {\r\n default: () => [{\r\n text: \"\"\r\n }]\r\n }));\r\n}\r\nexports.initTextComponentSchemas = initTextComponentSchemas;\r\n","\"use strict\";\r\nObject.defineProperty(exports, \"__esModule\", { value: true });\r\nexports.initBiomeSchemas = void 0;\r\nconst core_1 = require(\"@mcschema/core\");\r\nfunction initBiomeSchemas(schemas, collections) {\r\n const StringNode = core_1.StringNode.bind(undefined, collections);\r\n schemas.register('biome', core_1.Mod(core_1.ObjectNode({\r\n surface_builder: StringNode({ validator: 'resource', params: { pool: '$worldgen/configured_surface_builder' } }),\r\n depth: core_1.NumberNode(),\r\n scale: core_1.NumberNode(),\r\n temperature: core_1.NumberNode(),\r\n downfall: core_1.NumberNode(),\r\n precipitation: StringNode({ enum: ['none', 'rain', 'snow'] }),\r\n temperature_modifier: core_1.Opt(StringNode({ enum: ['none', 'frozen'] })),\r\n category: StringNode({ enum: 'biome_category' }),\r\n player_spawn_friendly: core_1.Opt(core_1.BooleanNode()),\r\n creature_spawn_probability: core_1.Opt(core_1.NumberNode({ min: 0, max: 1 })),\r\n effects: core_1.ObjectNode({\r\n sky_color: core_1.NumberNode({ color: true }),\r\n fog_color: core_1.NumberNode({ color: true }),\r\n water_color: core_1.NumberNode({ color: true }),\r\n water_fog_color: core_1.NumberNode({ color: true }),\r\n grass_color: core_1.Opt(core_1.NumberNode({ color: true })),\r\n foliage_color: core_1.Opt(core_1.NumberNode({ color: true })),\r\n grass_color_modifier: core_1.Opt(StringNode({ enum: ['none', 'dark_forest', 'swamp'] })),\r\n ambient_sound: core_1.Opt(StringNode()),\r\n mood_sound: core_1.Opt(core_1.ObjectNode({\r\n sound: StringNode(),\r\n tick_delay: core_1.NumberNode({ integer: true }),\r\n block_search_extent: core_1.NumberNode({ integer: true }),\r\n offset: core_1.NumberNode()\r\n })),\r\n additions_sound: core_1.Opt(core_1.ObjectNode({\r\n sound: StringNode(),\r\n tick_chance: core_1.NumberNode({ min: 0, max: 1 })\r\n })),\r\n music: core_1.Opt(core_1.ObjectNode({\r\n sound: StringNode(),\r\n min_delay: core_1.NumberNode({ integer: true, min: 0 }),\r\n max_delay: core_1.NumberNode({ integer: true, min: 0 }),\r\n replace_current_music: core_1.BooleanNode()\r\n })),\r\n particle: core_1.Opt(core_1.ObjectNode({\r\n options: core_1.ObjectNode({\r\n type: StringNode()\r\n }),\r\n probability: core_1.NumberNode({ min: 0, max: 1 })\r\n }))\r\n }),\r\n starts: core_1.ListNode(StringNode({ validator: 'resource', params: { pool: '$worldgen/configured_structure_feature' } })),\r\n spawners: core_1.MapNode(StringNode({ enum: [\r\n 'water_ambient',\r\n 'ambient',\r\n 'misc',\r\n 'water_creature',\r\n 'creature',\r\n 'monster'\r\n ] }), core_1.Mod(core_1.ListNode(core_1.ObjectNode({\r\n type: StringNode({ validator: 'resource', params: { pool: 'entity_type' } }),\r\n weight: core_1.NumberNode({ integer: true }),\r\n minCount: core_1.NumberNode({ integer: true }),\r\n maxCount: core_1.NumberNode({ integer: true })\r\n })), {\r\n category: () => 'pool',\r\n default: () => [{\r\n type: 'minecraft:bat',\r\n weight: 1\r\n }]\r\n })),\r\n spawn_costs: core_1.MapNode(StringNode({ validator: 'resource', params: { pool: 'entity_type' } }), core_1.Mod(core_1.ObjectNode({\r\n energy_budget: core_1.NumberNode(),\r\n charge: core_1.NumberNode()\r\n }, { category: 'function' }), {\r\n default: () => ({\r\n energy_budget: 0.12,\r\n charge: 1.0\r\n })\r\n })),\r\n carvers: core_1.MapNode(StringNode({ enum: ['air', 'liquid'] }), core_1.Mod(core_1.ListNode(StringNode({ validator: 'resource', params: { pool: '$worldgen/configured_carver' } })), {\r\n default: () => ['minecraft:cave']\r\n })),\r\n features: core_1.ListNode(core_1.Mod(core_1.ListNode(StringNode({ validator: 'resource', params: { pool: '$worldgen/configured_feature' } })), { category: () => 'predicate' }), { maxLength: 10 })\r\n }, { context: 'biome' }), {\r\n default: () => ({\r\n surface_builder: 'minecraft:grass',\r\n depth: 0.125,\r\n scale: 0.05,\r\n temperature: 0.8,\r\n downfall: 0.4,\r\n precipitation: 'rain',\r\n category: 'plains',\r\n effects: {\r\n sky_color: 7907327,\r\n fog_color: 12638463,\r\n water_color: 4159204,\r\n water_fog_color: 329011\r\n }\r\n })\r\n }));\r\n}\r\nexports.initBiomeSchemas = initBiomeSchemas;\r\n","\"use strict\";\r\nObject.defineProperty(exports, \"__esModule\", { value: true });\r\nexports.initCarverSchemas = void 0;\r\nconst core_1 = require(\"@mcschema/core\");\r\nfunction initCarverSchemas(schemas, collections) {\r\n const StringNode = core_1.StringNode.bind(undefined, collections);\r\n schemas.register('configured_carver', core_1.Mod(core_1.ObjectNode({\r\n type: StringNode({ validator: 'resource', params: { pool: 'worldgen/carver' } }),\r\n config: core_1.ObjectNode({\r\n probability: core_1.NumberNode({ min: 0, max: 1 })\r\n })\r\n }, { context: 'carver' }), {\r\n default: () => ({\r\n type: 'minecraft:cave',\r\n config: {\r\n probability: 0.1\r\n }\r\n })\r\n }));\r\n}\r\nexports.initCarverSchemas = initCarverSchemas;\r\n","\"use strict\";\r\nObject.defineProperty(exports, \"__esModule\", { value: true });\r\nexports.initDecoratorSchemas = void 0;\r\nconst core_1 = require(\"@mcschema/core\");\r\nconst Common_1 = require(\"../Common\");\r\nfunction initDecoratorSchemas(schemas, collections) {\r\n const Reference = core_1.Reference.bind(undefined, schemas);\r\n const StringNode = core_1.StringNode.bind(undefined, collections);\r\n const RangeConfig = {\r\n maximum: core_1.NumberNode({ integer: true }),\r\n bottom_offset: core_1.NumberNode({ integer: true }),\r\n top_offset: core_1.NumberNode({ integer: true })\r\n };\r\n const ChanceConfig = {\r\n chance: core_1.NumberNode({ integer: true, min: 0 })\r\n };\r\n const CountConfig = {\r\n count: Common_1.UniformInt({ min: -10, max: 128, maxSpread: 128 })\r\n };\r\n schemas.register('configured_decorator', core_1.ObjectNode({\r\n type: StringNode({ validator: 'resource', params: { pool: 'worldgen/decorator' } }),\r\n config: core_1.ObjectNode({\r\n [core_1.Switch]: ['pop', { push: 'type' }],\r\n [core_1.Case]: {\r\n 'minecraft:carving_mask': {\r\n step: StringNode({ enum: 'generation_step' }),\r\n probability: core_1.NumberNode({ min: 0, max: 1 })\r\n },\r\n 'minecraft:chance': ChanceConfig,\r\n 'minecraft:count': CountConfig,\r\n 'minecraft:count_extra': {\r\n count: core_1.NumberNode({ integer: true, min: 0 }),\r\n extra_count: core_1.NumberNode({ integer: true, min: 0 }),\r\n extra_chance: core_1.NumberNode({ min: 0, max: 1 })\r\n },\r\n 'minecraft:count_multilayer': CountConfig,\r\n 'minecraft:count_noise': {\r\n noise_level: core_1.NumberNode(),\r\n below_noise: core_1.NumberNode({ integer: true }),\r\n above_noise: core_1.NumberNode({ integer: true })\r\n },\r\n 'minecraft:count_noise_biased': {\r\n noise_to_count_ratio: core_1.NumberNode({ integer: true }),\r\n noise_factor: core_1.NumberNode(),\r\n noise_offset: core_1.Opt(core_1.NumberNode())\r\n },\r\n 'minecraft:decorated': {\r\n outer: Reference('configured_decorator'),\r\n inner: Reference('configured_decorator')\r\n },\r\n 'minecraft:depth_average': {\r\n baseline: core_1.NumberNode({ integer: true }),\r\n spread: core_1.NumberNode({ integer: true })\r\n },\r\n 'minecraft:fire': CountConfig,\r\n 'minecraft:glowstone': CountConfig,\r\n 'minecraft:lava_lake': ChanceConfig,\r\n 'minecraft:range': RangeConfig,\r\n 'minecraft:range_biased': RangeConfig,\r\n 'minecraft:range_very_biased': RangeConfig,\r\n 'minecraft:water_lake': ChanceConfig\r\n }\r\n }, { context: 'decorator', category: 'predicate' })\r\n }, { context: 'decorator', category: 'predicate' }));\r\n}\r\nexports.initDecoratorSchemas = initDecoratorSchemas;\r\n","\"use strict\";\r\nObject.defineProperty(exports, \"__esModule\", { value: true });\r\nexports.initProcessorListSchemas = void 0;\r\nconst core_1 = require(\"@mcschema/core\");\r\nfunction initProcessorListSchemas(schemas, collections) {\r\n const Reference = core_1.Reference.bind(undefined, schemas);\r\n const StringNode = core_1.StringNode.bind(undefined, collections);\r\n schemas.register('processor_list', core_1.Mod(core_1.ObjectNode({\r\n processors: core_1.ListNode(Reference('processor'))\r\n }, { context: 'processor_list' }), {\r\n default: () => ({\r\n processors: [{\r\n processor_type: 'minecraft:rule',\r\n rules: [{\r\n location_predicate: {\r\n predicate_type: 'minecraft:always_true'\r\n },\r\n input_predicate: {\r\n predicate_type: 'minecraft:always_true'\r\n }\r\n }]\r\n }]\r\n })\r\n }));\r\n schemas.register('processor', core_1.Mod(core_1.ObjectNode({\r\n processor_type: StringNode({ validator: 'resource', params: { pool: 'worldgen/structure_processor' } }),\r\n [core_1.Switch]: [{ push: 'processor_type' }],\r\n [core_1.Case]: {\r\n 'minecraft:block_age': {\r\n mossiness: core_1.NumberNode()\r\n },\r\n 'minecraft:block_ignore': {\r\n blocks: core_1.ListNode(Reference('block_state'))\r\n },\r\n 'minecraft:block_rot': {\r\n integrity: core_1.NumberNode({ min: 0, max: 1 })\r\n },\r\n 'minecraft:gravity': {\r\n heightmap: StringNode({ enum: 'heightmap_type' }),\r\n offset: core_1.NumberNode({ integer: true })\r\n },\r\n 'minecraft:rule': {\r\n rules: core_1.ListNode(Reference('processor_rule'))\r\n }\r\n }\r\n }, { category: 'function', context: 'processor' }), {\r\n default: () => ({\r\n processor_type: 'minecraft:rule',\r\n rules: [{\r\n location_predicate: {\r\n predicate_type: 'minecraft:always_true'\r\n },\r\n input_predicate: {\r\n predicate_type: 'minecraft:always_true'\r\n }\r\n }]\r\n })\r\n }));\r\n schemas.register('processor_rule', core_1.Mod(core_1.ObjectNode({\r\n position_predicate: core_1.Opt(Reference('pos_rule_test')),\r\n location_predicate: Reference('rule_test'),\r\n input_predicate: Reference('rule_test'),\r\n output_state: Reference('block_state'),\r\n output_nbt: core_1.Opt(StringNode({ validator: 'nbt', params: { registry: { category: 'minecraft:block' } } }))\r\n }, { category: 'predicate', context: 'processor_rule' }), {\r\n default: () => ({\r\n location_predicate: {\r\n predicate_type: 'minecraft:always_true'\r\n },\r\n input_predicate: {\r\n predicate_type: 'minecraft:always_true'\r\n }\r\n })\r\n }));\r\n const posTestFields = {\r\n min_dist: core_1.NumberNode({ min: 0, max: 255, integer: true }),\r\n max_dist: core_1.NumberNode({ min: 0, max: 255, integer: true }),\r\n min_chance: core_1.NumberNode({ min: 0, max: 1 }),\r\n max_chance: core_1.NumberNode({ min: 0, max: 1 })\r\n };\r\n schemas.register('pos_rule_test', core_1.ObjectNode({\r\n predicate_type: StringNode({ validator: 'resource', params: { pool: 'pos_rule_test' } }),\r\n [core_1.Switch]: [{ push: 'predicate_type' }],\r\n [core_1.Case]: {\r\n 'minecraft:axis_aligned_linear_pos': {\r\n axis: StringNode({ enum: ['x', 'y', 'z'] }),\r\n ...posTestFields\r\n },\r\n 'minecraft:linear_pos': posTestFields\r\n }\r\n }, { context: 'pos_rule_test', disableSwitchContext: true }));\r\n schemas.register('rule_test', core_1.ObjectNode({\r\n predicate_type: StringNode({ validator: 'resource', params: { pool: 'rule_test' } }),\r\n [core_1.Switch]: [{ push: 'predicate_type' }],\r\n [core_1.Case]: {\r\n 'minecraft:block_match': {\r\n block: StringNode({ validator: 'resource', params: { pool: 'block' } })\r\n },\r\n 'minecraft:blockstate_match': {\r\n block_state: Reference('block_state')\r\n },\r\n 'minecraft:random_block_match': {\r\n block: StringNode({ validator: 'resource', params: { pool: 'block' } }),\r\n probability: core_1.NumberNode({ min: 0, max: 1 })\r\n },\r\n 'minecraft:random_blockstate_match': {\r\n block_state: Reference('block_state'),\r\n probability: core_1.NumberNode({ min: 0, max: 1 })\r\n },\r\n 'minecraft:tag_match': {\r\n tag: StringNode({ validator: 'resource', params: { pool: '$tag/block' } })\r\n }\r\n }\r\n }, { context: 'rule_test', disableSwitchContext: true }));\r\n}\r\nexports.initProcessorListSchemas = initProcessorListSchemas;\r\n","\"use strict\";\r\nObject.defineProperty(exports, \"__esModule\", { value: true });\r\nexports.initFeatureSchemas = void 0;\r\nconst core_1 = require(\"@mcschema/core\");\r\nconst Common_1 = require(\"../Common\");\r\nrequire(\"./Decorator\");\r\nrequire(\"./ProcessorList\");\r\nfunction initFeatureSchemas(schemas, collections) {\r\n const Reference = core_1.Reference.bind(undefined, schemas);\r\n const StringNode = core_1.StringNode.bind(undefined, collections);\r\n const RandomPatchConfig = {\r\n can_replace: core_1.BooleanNode(),\r\n project: core_1.BooleanNode(),\r\n need_water: core_1.BooleanNode(),\r\n xspread: core_1.NumberNode({ integer: true }),\r\n yspread: core_1.NumberNode({ integer: true }),\r\n zspread: core_1.NumberNode({ integer: true }),\r\n tries: core_1.NumberNode({ integer: true }),\r\n state_provider: Reference('block_state_provider'),\r\n block_placer: Reference('block_placer'),\r\n whitelist: core_1.ListNode(Reference('block_state')),\r\n blacklist: core_1.ListNode(Reference('block_state'))\r\n };\r\n const DiskConfig = {\r\n state: Reference('block_state'),\r\n radius: Common_1.UniformInt({ min: 0, max: 4, maxSpread: 4 }),\r\n half_height: core_1.NumberNode({ integer: true, min: 0, max: 4 }),\r\n targets: core_1.ListNode(Reference('block_state'))\r\n };\r\n const HugeMushroomConfig = {\r\n cap_provider: Reference('block_state_provider'),\r\n stem_provider: Reference('block_state_provider'),\r\n foliage_radius: core_1.Opt(core_1.NumberNode({ integer: true }))\r\n };\r\n const OreConfig = {\r\n state: Reference('block_state'),\r\n size: core_1.NumberNode({ integer: true, min: 0, max: 64 }),\r\n target: Reference('rule_test')\r\n };\r\n const CountConfig = {\r\n count: Common_1.UniformInt({ min: -10, max: 128, maxSpread: 128 })\r\n };\r\n const Feature = core_1.ChoiceNode([\r\n {\r\n type: 'string',\r\n node: StringNode({ validator: 'resource', params: { pool: '$worldgen/configured_feature' } })\r\n },\r\n {\r\n type: 'object',\r\n node: Reference('configured_feature')\r\n }\r\n ], { choiceContext: 'feature' });\r\n schemas.register('configured_feature', core_1.Mod(core_1.ObjectNode({\r\n type: StringNode({ validator: 'resource', params: { pool: 'worldgen/feature' } }),\r\n config: core_1.ObjectNode({\r\n [core_1.Switch]: ['pop', { push: 'type' }],\r\n [core_1.Case]: {\r\n 'minecraft:bamboo': {\r\n probability: core_1.NumberNode({ min: 0, max: 1 })\r\n },\r\n 'minecraft:basalt_columns': {\r\n reach: Common_1.UniformInt({ min: 0, max: 2, maxSpread: 1 }),\r\n height: Common_1.UniformInt({ min: 1, max: 5, maxSpread: 5 })\r\n },\r\n 'minecraft:block_pile': {\r\n state_provider: Reference('block_state_provider')\r\n },\r\n 'minecraft:decorated': {\r\n decorator: Reference('configured_decorator'),\r\n feature: Feature\r\n },\r\n 'minecraft:delta_feature': {\r\n contents: Reference('block_state'),\r\n rim: Reference('block_state'),\r\n size: Common_1.UniformInt({ min: 0, max: 8, maxSpread: 8 }),\r\n rim_size: Common_1.UniformInt({ min: 0, max: 8, maxSpread: 8 })\r\n },\r\n 'minecraft:disk': DiskConfig,\r\n 'minecraft:emerald_ore': {\r\n state: Reference('block_state'),\r\n target: Reference('block_state')\r\n },\r\n 'minecraft:end_gateway': {\r\n exact: core_1.BooleanNode(),\r\n exit: core_1.Opt(Reference('block_pos'))\r\n },\r\n 'minecraft:end_spike': {\r\n crystal_invulnerable: core_1.Opt(core_1.BooleanNode()),\r\n crystal_beam_target: core_1.Opt(Reference('block_pos')),\r\n spikes: core_1.ListNode(core_1.ObjectNode({\r\n centerX: core_1.Opt(core_1.NumberNode({ integer: true })),\r\n centerZ: core_1.Opt(core_1.NumberNode({ integer: true })),\r\n radius: core_1.Opt(core_1.NumberNode({ integer: true })),\r\n height: core_1.Opt(core_1.NumberNode({ integer: true })),\r\n guarded: core_1.Opt(core_1.BooleanNode())\r\n }))\r\n },\r\n 'minecraft:fill_layer': {\r\n state: Reference('block_state'),\r\n height: core_1.NumberNode({ integer: true, min: 0, max: 255 })\r\n },\r\n 'minecraft:flower': RandomPatchConfig,\r\n 'minecraft:forest_rock': {\r\n state: Reference('block_state')\r\n },\r\n 'minecraft:huge_brown_mushroom': HugeMushroomConfig,\r\n 'minecraft:huge_fungus': {\r\n hat_state: Reference('block_state'),\r\n decor_state: Reference('block_state'),\r\n stem_state: Reference('block_state'),\r\n valid_base_block: Reference('block_state'),\r\n planted: core_1.Opt(core_1.BooleanNode())\r\n },\r\n 'minecraft:huge_red_mushroom': HugeMushroomConfig,\r\n 'minecraft:ice_patch': DiskConfig,\r\n 'minecraft:iceberg': {\r\n state: Reference('block_state')\r\n },\r\n 'minecraft:lake': {\r\n state: Reference('block_state')\r\n },\r\n 'minecraft:nether_forest_vegetation': {\r\n state_provider: Reference('block_state_provider')\r\n },\r\n 'minecraft:netherrack_replace_blobs': {\r\n state: Reference('block_state'),\r\n target: Reference('block_state'),\r\n radius: Common_1.UniformInt()\r\n },\r\n 'minecraft:no_bonemeal_flower': RandomPatchConfig,\r\n 'minecraft:no_surface_ore': OreConfig,\r\n 'minecraft:ore': OreConfig,\r\n 'minecraft:random_patch': RandomPatchConfig,\r\n 'minecraft:random_boolean_selector': {\r\n feature_false: Feature,\r\n feature_true: Feature\r\n },\r\n 'minecraft:random_selector': {\r\n features: core_1.ListNode(core_1.ObjectNode({\r\n chance: core_1.NumberNode({ min: 0, max: 1 }),\r\n feature: Feature\r\n })),\r\n default: Feature\r\n },\r\n 'minecraft:sea_pickle': CountConfig,\r\n 'minecraft:seagrass': {\r\n probability: core_1.NumberNode({ min: 0, max: 1 })\r\n },\r\n 'minecraft:simple_block': {\r\n to_place: Reference('block_state'),\r\n place_on: core_1.ListNode(Reference('block_state')),\r\n place_in: core_1.ListNode(Reference('block_state')),\r\n place_under: core_1.ListNode(Reference('block_state'))\r\n },\r\n 'minecraft:simple_random_selector': {\r\n features: core_1.ListNode(Feature)\r\n },\r\n 'minecraft:spring_feature': {\r\n state: Reference('fluid_state'),\r\n rock_count: core_1.NumberNode({ integer: true }),\r\n hole_count: core_1.NumberNode({ integer: true }),\r\n requires_block_below: core_1.BooleanNode(),\r\n valid_blocks: core_1.ListNode(StringNode({ validator: 'resource', params: { pool: 'block' } }))\r\n },\r\n 'minecraft:tree': {\r\n max_water_depth: core_1.NumberNode({ integer: true }),\r\n ignore_vines: core_1.BooleanNode(),\r\n heightmap: StringNode({ enum: 'heightmap_type' }),\r\n minimum_size: Reference('feature_size'),\r\n trunk_provider: Reference('block_state_provider'),\r\n leaves_provider: Reference('block_state_provider'),\r\n trunk_placer: core_1.ObjectNode({\r\n type: StringNode({ validator: 'resource', params: { pool: 'worldgen/trunk_placer_type' } }),\r\n base_height: core_1.NumberNode({ integer: true, min: 0, max: 32 }),\r\n height_rand_a: core_1.NumberNode({ integer: true, min: 0, max: 24 }),\r\n height_rand_b: core_1.NumberNode({ integer: true, min: 0, max: 24 })\r\n }, { context: 'trunk_placer' }),\r\n foliage_placer: core_1.ObjectNode({\r\n type: StringNode({ validator: 'resource', params: { pool: 'worldgen/foliage_placer_type' } }),\r\n radius: Common_1.UniformInt({ min: 0, max: 8, maxSpread: 8 }),\r\n offset: Common_1.UniformInt({ min: 0, max: 8, maxSpread: 8 }),\r\n [core_1.Switch]: [{ push: 'type' }],\r\n [core_1.Case]: {\r\n 'minecraft:blob_foliage_placer': {\r\n height: core_1.NumberNode({ integer: true, min: 0, max: 16 })\r\n },\r\n 'minecraft:bush_foliage_placer': {\r\n height: core_1.NumberNode({ integer: true, min: 0, max: 16 })\r\n },\r\n 'minecraft:fancy_foliage_placer': {\r\n height: core_1.NumberNode({ integer: true, min: 0, max: 16 })\r\n },\r\n 'minecraft:jungle_foliage_placer': {\r\n height: core_1.NumberNode({ integer: true, min: 0, max: 16 })\r\n },\r\n 'minecraft:mega_pine_foliage_placer': {\r\n crown_height: Common_1.UniformInt({ min: 0, max: 16, maxSpread: 8 })\r\n },\r\n 'minecraft:pine_foliage_placer': {\r\n height: Common_1.UniformInt({ min: 0, max: 16, maxSpread: 8 })\r\n },\r\n 'minecraft:spruce_foliage_placer': {\r\n trunk_height: Common_1.UniformInt({ min: 0, max: 16, maxSpread: 8 })\r\n }\r\n }\r\n }, { context: 'foliage_placer', disableSwitchContext: true }),\r\n decorators: core_1.ListNode(core_1.ObjectNode({\r\n type: StringNode({ validator: 'resource', params: { pool: 'worldgen/tree_decorator_type' } }),\r\n [core_1.Switch]: [{ push: 'type' }],\r\n [core_1.Case]: {\r\n 'minecraft:alter_ground': {\r\n provider: Reference('block_state_provider')\r\n },\r\n 'minecraft:beehive': {\r\n probability: core_1.NumberNode({ min: 0, max: 1 })\r\n },\r\n 'minecraft:cocoa': {\r\n probability: core_1.NumberNode({ min: 0, max: 1 })\r\n }\r\n }\r\n }, { context: 'tree_decorator' }))\r\n }\r\n }\r\n }, { context: 'feature' })\r\n }, { context: 'feature' }), {\r\n default: () => ({\r\n type: 'minecraft:decorated',\r\n config: {\r\n decorator: {\r\n type: 'minecraft:count',\r\n config: {\r\n count: 4\r\n }\r\n },\r\n feature: {\r\n type: 'minecraft:tree',\r\n config: {\r\n max_water_depth: 0,\r\n ignore_vines: true,\r\n minimum_size: {},\r\n trunk_placer: {\r\n base_height: 5,\r\n height_rand_a: 2,\r\n height_rand_b: 0\r\n },\r\n foliage_placer: {\r\n radius: 2,\r\n offset: 0,\r\n height: 3\r\n }\r\n }\r\n }\r\n }\r\n })\r\n }));\r\n schemas.register('feature_size', core_1.Mod(core_1.ObjectNode({\r\n type: StringNode({ validator: 'resource', params: { pool: 'worldgen/feature_size_type' } }),\r\n min_clipped_height: core_1.Opt(core_1.NumberNode({ min: 0, max: 80 })),\r\n [core_1.Switch]: [{ push: 'type' }],\r\n [core_1.Case]: {\r\n 'minecraft:two_layers_feature_size': {\r\n limit: core_1.Opt(core_1.NumberNode({ integer: true, min: 0, max: 81 })),\r\n lower_size: core_1.Opt(core_1.NumberNode({ integer: true, min: 0, max: 16 })),\r\n upper_size: core_1.Opt(core_1.NumberNode({ integer: true, min: 0, max: 16 }))\r\n },\r\n 'minecraft:three_layers_feature_size': {\r\n limit: core_1.Opt(core_1.NumberNode({ integer: true, min: 0, max: 80 })),\r\n upper_limit: core_1.Opt(core_1.NumberNode({ integer: true, min: 0, max: 80 })),\r\n lower_size: core_1.Opt(core_1.NumberNode({ integer: true, min: 0, max: 16 })),\r\n middle_size: core_1.Opt(core_1.NumberNode({ integer: true, min: 0, max: 16 })),\r\n upper_size: core_1.Opt(core_1.NumberNode({ integer: true, min: 0, max: 16 }))\r\n }\r\n }\r\n }, { disableSwitchContext: true }), {\r\n default: () => ({\r\n type: 'minecraft:two_layers_feature_size'\r\n })\r\n }));\r\n schemas.register('block_state_provider', core_1.Mod(core_1.ObjectNode({\r\n type: StringNode({ validator: 'resource', params: { pool: 'worldgen/block_state_provider_type' } }),\r\n [core_1.Switch]: [{ push: 'type' }],\r\n [core_1.Case]: {\r\n 'minecraft:rotated_block_provider': {\r\n state: Reference('block_state')\r\n },\r\n 'minecraft:simple_state_provider': {\r\n state: Reference('block_state')\r\n },\r\n 'minecraft:weighted_state_provider': {\r\n entries: core_1.ListNode(core_1.Mod(core_1.ObjectNode({\r\n weight: core_1.NumberNode({ integer: true, min: 1 }),\r\n data: Reference('block_state')\r\n }), {\r\n default: () => ({\r\n data: {}\r\n })\r\n }))\r\n }\r\n }\r\n }, { context: 'block_state_provider' }), {\r\n default: () => ({\r\n type: 'minecraft:simple_state_provider'\r\n })\r\n }));\r\n schemas.register('block_placer', core_1.Mod(core_1.ObjectNode({\r\n type: StringNode({ validator: 'resource', params: { pool: 'worldgen/block_placer_type' } }),\r\n [core_1.Switch]: [{ push: 'type' }],\r\n [core_1.Case]: {\r\n 'minecraft:column_placer': {\r\n min_size: core_1.NumberNode({ integer: true }),\r\n extra_size: core_1.NumberNode({ integer: true })\r\n }\r\n }\r\n }, { context: 'block_placer' }), {\r\n default: () => ({\r\n type: 'minecraft:simple_block_placer'\r\n })\r\n }));\r\n}\r\nexports.initFeatureSchemas = initFeatureSchemas;\r\n","\"use strict\";\r\nObject.defineProperty(exports, \"__esModule\", { value: true });\r\nexports.initNoiseSettingsSchemas = void 0;\r\nconst core_1 = require(\"@mcschema/core\");\r\nconst Common_1 = require(\"../Common\");\r\nfunction initNoiseSettingsSchemas(schemas, collections) {\r\n const Reference = core_1.Reference.bind(undefined, schemas);\r\n const StringNode = core_1.StringNode.bind(undefined, collections);\r\n schemas.register('noise_settings', core_1.Mod(core_1.ObjectNode({\r\n name: core_1.Mod(StringNode({ validator: 'resource', params: { pool: '$worldgen/noise_settings', isDefinition: true } }), {\r\n enabled: (path) => path.getArray().length > 0\r\n }),\r\n bedrock_roof_position: core_1.NumberNode({ integer: true }),\r\n bedrock_floor_position: core_1.NumberNode({ integer: true }),\r\n sea_level: core_1.NumberNode({ integer: true }),\r\n disable_mob_generation: core_1.BooleanNode(),\r\n default_block: Reference('block_state'),\r\n default_fluid: Reference('block_state'),\r\n noise: core_1.ObjectNode({\r\n height: core_1.NumberNode({ integer: true }),\r\n density_factor: core_1.NumberNode(),\r\n density_offset: core_1.NumberNode(),\r\n size_horizontal: core_1.NumberNode({ integer: true }),\r\n size_vertical: core_1.NumberNode({ integer: true }),\r\n simplex_surface_noise: core_1.BooleanNode(),\r\n random_density_offset: core_1.Opt(core_1.BooleanNode()),\r\n island_noise_override: core_1.Opt(core_1.BooleanNode()),\r\n amplified: core_1.Opt(core_1.BooleanNode()),\r\n sampling: core_1.ObjectNode({\r\n xz_scale: core_1.NumberNode(),\r\n y_scale: core_1.NumberNode(),\r\n xz_factor: core_1.NumberNode(),\r\n y_factor: core_1.NumberNode()\r\n }),\r\n bottom_slide: core_1.ObjectNode({\r\n target: core_1.NumberNode({ integer: true }),\r\n size: core_1.NumberNode({ integer: true }),\r\n offset: core_1.NumberNode({ integer: true })\r\n }),\r\n top_slide: core_1.ObjectNode({\r\n target: core_1.NumberNode({ integer: true }),\r\n size: core_1.NumberNode({ integer: true }),\r\n offset: core_1.NumberNode({ integer: true })\r\n })\r\n }),\r\n structures: Reference('generator_structures')\r\n }, { context: 'noise_settings' }), {\r\n default: () => Common_1.DefaultNoiseSettings\r\n }));\r\n schemas.register('generator_structures', core_1.ObjectNode({\r\n stronghold: core_1.Opt(core_1.ObjectNode({\r\n distance: core_1.NumberNode({ integer: true, min: 0, max: 1023 }),\r\n spread: core_1.NumberNode({ integer: true, min: 0, max: 1023 }),\r\n count: core_1.NumberNode({ integer: true, min: 1, max: 4095 })\r\n })),\r\n structures: core_1.MapNode(StringNode({ validator: 'resource', params: { pool: 'worldgen/structure_feature' } }), core_1.Mod(core_1.ObjectNode({\r\n spacing: core_1.NumberNode({ integer: true, min: 0, max: 4096 }),\r\n separation: core_1.Mod(core_1.NumberNode({ integer: true, min: 0, max: 4096 }), (node) => ({\r\n validate: (path, value, errors, options) => {\r\n if (path.pop().push('spacing').get() <= value) {\r\n errors.add(path, 'error.separation_smaller_spacing');\r\n }\r\n return node.validate(path, value, errors, options);\r\n }\r\n })),\r\n salt: core_1.NumberNode({ integer: true, min: 0 })\r\n }, { context: 'generator_structure' }), {\r\n default: () => ({\r\n spacing: 10,\r\n separation: 5,\r\n salt: 0\r\n })\r\n }))\r\n }));\r\n schemas.register('generator_layer', core_1.Mod(core_1.ObjectNode({\r\n block: StringNode({ validator: 'resource', params: { pool: 'block' } }),\r\n height: core_1.NumberNode({ integer: true, min: 1 })\r\n }), {\r\n default: () => ({\r\n block: 'minecraft:stone',\r\n height: 1\r\n })\r\n }));\r\n}\r\nexports.initNoiseSettingsSchemas = initNoiseSettingsSchemas;\r\n","\"use strict\";\r\nObject.defineProperty(exports, \"__esModule\", { value: true });\r\nexports.initStructureFeatureSchemas = void 0;\r\nconst core_1 = require(\"@mcschema/core\");\r\nfunction initStructureFeatureSchemas(schemas, collections) {\r\n const StringNode = core_1.StringNode.bind(undefined, collections);\r\n const templatePoolConfig = {\r\n start_pool: StringNode({ validator: 'resource', params: { pool: '$worldgen/template_pool' } }),\r\n size: core_1.NumberNode({ integer: true })\r\n };\r\n schemas.register('configured_structure_feature', core_1.Mod(core_1.ObjectNode({\r\n type: StringNode({ validator: 'resource', params: { pool: 'worldgen/structure_feature' } }),\r\n config: core_1.ObjectNode({\r\n [core_1.Switch]: ['pop', { push: 'type' }],\r\n [core_1.Case]: {\r\n 'minecraft:bastion_remnant': templatePoolConfig,\r\n 'minecraft:buried_treasure': {\r\n probability: core_1.NumberNode({ min: 0, max: 1 })\r\n },\r\n 'minecraft:mineshaft': {\r\n type: StringNode({ enum: ['normal', 'mesa'] }),\r\n probability: core_1.NumberNode({ min: 0, max: 1 })\r\n },\r\n 'minecraft:ocean_ruin': {\r\n biome_temp: StringNode({ enum: ['cold', 'warm'] }),\r\n large_probability: core_1.NumberNode({ min: 0, max: 1 }),\r\n cluster_probability: core_1.NumberNode({ min: 0, max: 1 })\r\n },\r\n 'minecraft:pillager_outpost': templatePoolConfig,\r\n 'minecraft:ruined_portal': {\r\n portal_type: StringNode({ enum: ['standard', 'desert', 'jungle', 'mountain', 'nether', 'ocean', 'swamp'] })\r\n },\r\n 'minecraft:shipwreck': {\r\n is_beached: core_1.Opt(core_1.BooleanNode())\r\n },\r\n 'minecraft:village': templatePoolConfig\r\n }\r\n }, { context: 'structure_feature', disableSwitchContext: true })\r\n }, { context: 'structure_feature' }), {\r\n default: () => ({\r\n type: 'minecraft:bastion_remnant',\r\n config: {\r\n start_pool: 'minecraft:bastion/starts',\r\n size: 6\r\n }\r\n })\r\n }));\r\n}\r\nexports.initStructureFeatureSchemas = initStructureFeatureSchemas;\r\n","\"use strict\";\r\nObject.defineProperty(exports, \"__esModule\", { value: true });\r\nexports.initSurfaceBuilderSchemas = void 0;\r\nconst core_1 = require(\"@mcschema/core\");\r\nfunction initSurfaceBuilderSchemas(schemas, collections) {\r\n const StringNode = core_1.StringNode.bind(undefined, collections);\r\n const Reference = core_1.Reference.bind(undefined, schemas);\r\n schemas.register('configured_surface_builder', core_1.Mod(core_1.ObjectNode({\r\n type: StringNode({ validator: 'resource', params: { pool: 'worldgen/surface_builder' } }),\r\n config: core_1.ObjectNode({\r\n top_material: Reference('block_state'),\r\n under_material: Reference('block_state'),\r\n underwater_material: Reference('block_state'),\r\n }, { context: 'surface_builder' })\r\n }, { context: 'surface_builder' }), {\r\n default: () => ({\r\n type: 'minecraft:default',\r\n config: {\r\n top_material: {\r\n Name: 'minecraft:grass_block',\r\n Properties: {\r\n snowy: 'false'\r\n }\r\n },\r\n under_material: {\r\n Name: 'minecraft:dirt'\r\n },\r\n underwater_material: {\r\n Name: 'minecraft:gravel'\r\n }\r\n }\r\n })\r\n }));\r\n}\r\nexports.initSurfaceBuilderSchemas = initSurfaceBuilderSchemas;\r\n","\"use strict\";\r\nObject.defineProperty(exports, \"__esModule\", { value: true });\r\nexports.initTemplatePoolSchemas = void 0;\r\nconst core_1 = require(\"@mcschema/core\");\r\nrequire(\"./ProcessorList\");\r\nfunction initTemplatePoolSchemas(schemas, collections) {\r\n const Reference = core_1.Reference.bind(undefined, schemas);\r\n const StringNode = core_1.StringNode.bind(undefined, collections);\r\n const Processors = core_1.ChoiceNode([\r\n {\r\n type: 'string',\r\n node: StringNode({ validator: 'resource', params: { pool: '$worldgen/processor_list' } }),\r\n change: v => undefined\r\n },\r\n {\r\n type: 'object',\r\n node: Reference('processor_list'),\r\n change: v => ({\r\n processors: [{\r\n \"processor_type\": \"minecraft:nop\"\r\n }]\r\n })\r\n }\r\n ]);\r\n schemas.register('template_pool', core_1.Mod(core_1.ObjectNode({\r\n name: StringNode(),\r\n fallback: StringNode(),\r\n elements: core_1.ListNode(Reference('template_weighted_element'))\r\n }, { context: 'template_pool' }), {\r\n default: () => ({\r\n fallback: 'minecraft:empty',\r\n elements: [\r\n {\r\n weight: 1,\r\n element: {\r\n element_type: 'minecraft:single_pool_element',\r\n projection: 'rigid',\r\n processors: 'minecraft:empty'\r\n }\r\n }\r\n ]\r\n })\r\n }));\r\n schemas.register('template_weighted_element', core_1.Mod(core_1.ObjectNode({\r\n weight: core_1.NumberNode({ integer: true, min: 1 }),\r\n element: Reference('template_element')\r\n }, { category: 'pool' }), {\r\n default: () => ({\r\n weight: 1,\r\n element: {\r\n element_type: 'minecraft:single_pool_element',\r\n projection: 'rigid',\r\n processors: 'minecraft:empty'\r\n }\r\n })\r\n }));\r\n schemas.register('template_element', core_1.Mod(core_1.ObjectNode({\r\n element_type: StringNode({ validator: 'resource', params: { pool: 'worldgen/structure_pool_element' } }),\r\n projection: StringNode({ enum: ['rigid', 'terrain_matching'] }),\r\n [core_1.Switch]: [{ push: 'element_type' }],\r\n [core_1.Case]: {\r\n 'minecraft:feature_pool_element': {\r\n feature: StringNode({ validator: 'resource', params: { pool: '$worldgen/configured_feature' } })\r\n },\r\n 'minecraft:legacy_single_pool_element': {\r\n location: StringNode({ validator: 'resource', params: { pool: '$structure' } }),\r\n processors: Processors\r\n },\r\n 'minecraft:list_pool_element': {\r\n elements: core_1.ListNode(Reference('template_element'))\r\n },\r\n 'minecraft:single_pool_element': {\r\n location: StringNode({ validator: 'resource', params: { pool: '$structure' } }),\r\n processors: Processors\r\n }\r\n }\r\n }, { context: 'template_element', disableSwitchContext: true }), {\r\n default: () => ({\r\n element_type: 'minecraft:single_pool_element',\r\n projection: 'rigid',\r\n processors: 'minecraft:empty'\r\n })\r\n }));\r\n}\r\nexports.initTemplatePoolSchemas = initTemplatePoolSchemas;\r\n","\"use strict\";\r\nObject.defineProperty(exports, \"__esModule\", { value: true });\r\nexports.initWorldgenSchemas = void 0;\r\nconst Biome_1 = require(\"./Biome\");\r\nconst Carver_1 = require(\"./Carver\");\r\nconst Decorator_1 = require(\"./Decorator\");\r\nconst Feature_1 = require(\"./Feature\");\r\nconst NoiseSettings_1 = require(\"./NoiseSettings\");\r\nconst ProcessorList_1 = require(\"./ProcessorList\");\r\nconst StructureFeature_1 = require(\"./StructureFeature\");\r\nconst SurfaceBuilder_1 = require(\"./SurfaceBuilder\");\r\nconst TemplatePool_1 = require(\"./TemplatePool\");\r\nfunction initWorldgenSchemas(schemas, collections) {\r\n Biome_1.initBiomeSchemas(schemas, collections);\r\n Carver_1.initCarverSchemas(schemas, collections);\r\n Decorator_1.initDecoratorSchemas(schemas, collections);\r\n Feature_1.initFeatureSchemas(schemas, collections);\r\n NoiseSettings_1.initNoiseSettingsSchemas(schemas, collections);\r\n ProcessorList_1.initProcessorListSchemas(schemas, collections);\r\n StructureFeature_1.initStructureFeatureSchemas(schemas, collections);\r\n SurfaceBuilder_1.initSurfaceBuilderSchemas(schemas, collections);\r\n TemplatePool_1.initTemplatePoolSchemas(schemas, collections);\r\n}\r\nexports.initWorldgenSchemas = initWorldgenSchemas;\r\n","\"use strict\";\r\nObject.defineProperty(exports, \"__esModule\", { value: true });\r\nexports.initWorldSettingsSchemas = void 0;\r\nconst core_1 = require(\"@mcschema/core\");\r\nfunction initWorldSettingsSchemas(schemas, collections) {\r\n const Reference = core_1.Reference.bind(undefined, schemas);\r\n const StringNode = core_1.StringNode.bind(undefined, collections);\r\n schemas.register('world_settings', core_1.Mod(core_1.ObjectNode({\r\n generate_features: core_1.BooleanNode(),\r\n bonus_chest: core_1.BooleanNode(),\r\n seed: core_1.NumberNode({ integer: true }),\r\n dimensions: core_1.MapNode(StringNode({ validator: 'resource', params: { pool: '$dimension' } }), Reference('dimension'))\r\n }, { context: 'world_settings' }), {\r\n default: () => {\r\n const seed = Math.floor(Math.random() * (4294967296)) - 2147483648;\r\n return {\r\n generate_features: true,\r\n bonus_chest: false,\r\n seed,\r\n dimensions: {\r\n 'minecraft:overworld': {\r\n type: 'minecraft:overworld',\r\n generator: {\r\n type: 'minecraft:noise',\r\n seed,\r\n biome_source: {\r\n type: 'minecraft:vanilla_layered',\r\n seed\r\n },\r\n settings: 'minecraft:overworld',\r\n }\r\n },\r\n 'minecraft:the_nether': {\r\n type: 'minecraft:the_nether',\r\n generator: {\r\n type: 'minecraft:noise',\r\n seed,\r\n biome_source: {\r\n type: 'minecraft:multi_noise',\r\n seed,\r\n humidity_noise: {\r\n firstOctave: -7,\r\n amplitudes: [1.0, 1.0]\r\n },\r\n altitude_noise: {\r\n firstOctave: -7,\r\n amplitudes: [1.0, 1.0]\r\n },\r\n weirdness_noise: {\r\n firstOctave: -7,\r\n amplitudes: [1.0, 1.0]\r\n },\r\n temperature_noise: {\r\n firstOctave: -7,\r\n amplitudes: [1.0, 1.0]\r\n },\r\n biomes: [\r\n {\r\n parameters: { altitude: 0.0, weirdness: 0.0, offset: 0.0, temperature: 0.0, humidity: 0.0 },\r\n biome: 'minecraft:nether_wastes'\r\n },\r\n {\r\n parameters: { altitude: 0.0, weirdness: 0.0, offset: 0.0, temperature: 0.0, humidity: -0.5 },\r\n biome: 'minecraft:soul_sand_valley'\r\n },\r\n {\r\n parameters: { altitude: 0.0, weirdness: 0.0, offset: 0.0, temperature: 0.4, humidity: 0.0 },\r\n biome: 'minecraft:crimson_forest'\r\n },\r\n {\r\n parameters: { altitude: 0.0, weirdness: 0.0, offset: 0.375, temperature: 0.0, humidity: 0.5 },\r\n biome: 'minecraft:warped_forest'\r\n },\r\n {\r\n parameters: { altitude: 0.0, weirdness: 0.0, offset: 0.175, temperature: -0.5, humidity: 0.0 },\r\n biome: 'minecraft:basalt_deltas'\r\n }\r\n ]\r\n },\r\n settings: 'minecraft:nether'\r\n }\r\n },\r\n 'minecraft:the_end': {\r\n type: \"minecraft:the_end\",\r\n generator: {\r\n type: \"minecraft:noise\",\r\n seed,\r\n biome_source: {\r\n type: \"minecraft:the_end\",\r\n seed\r\n },\r\n settings: \"minecraft:end\"\r\n }\r\n }\r\n }\r\n };\r\n }\r\n }));\r\n}\r\nexports.initWorldSettingsSchemas = initWorldSettingsSchemas;\r\n","\"use strict\";\r\nObject.defineProperty(exports, \"__esModule\", { value: true });\r\nexports.initSchemas = void 0;\r\nconst Advancement_1 = require(\"./Advancement\");\r\nconst Common_1 = require(\"./Common\");\r\nconst Condition_1 = require(\"./Condition\");\r\nconst Dimension_1 = require(\"./Dimension\");\r\nconst DimensionType_1 = require(\"./DimensionType\");\r\nconst LootTable_1 = require(\"./LootTable\");\r\nconst PackMcmeta_1 = require(\"./PackMcmeta\");\r\nconst Predicates_1 = require(\"./Predicates\");\r\nconst Recipe_1 = require(\"./Recipe\");\r\nconst Tags_1 = require(\"./Tags\");\r\nconst TextComponent_1 = require(\"./TextComponent\");\r\nconst worldgen_1 = require(\"./worldgen\");\r\nconst WorldSettings_1 = require(\"./WorldSettings\");\r\nfunction initSchemas(schemas, collections) {\r\n // `Common.ts` is the only file that has exports. It should be initialized first. \r\n Common_1.initCommonSchemas(schemas, collections);\r\n Advancement_1.initAdvancementSchemas(schemas, collections);\r\n Condition_1.initConditionSchemas(schemas, collections);\r\n DimensionType_1.initDimensionTypeSchemas(schemas, collections);\r\n Dimension_1.initDimensionSchemas(schemas, collections);\r\n LootTable_1.initLootTableSchemas(schemas, collections);\r\n PackMcmeta_1.initPackMcmetaSchemas(schemas, collections);\r\n Predicates_1.initPredicatesSchemas(schemas, collections);\r\n Recipe_1.initRecipeSchemas(schemas, collections);\r\n Tags_1.initTagsSchemas(schemas, collections);\r\n TextComponent_1.initTextComponentSchemas(schemas, collections);\r\n worldgen_1.initWorldgenSchemas(schemas, collections);\r\n WorldSettings_1.initWorldSettingsSchemas(schemas, collections);\r\n}\r\nexports.initSchemas = initSchemas;\r\n","\"use strict\";\r\nvar __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {\r\n if (k2 === undefined) k2 = k;\r\n Object.defineProperty(o, k2, { enumerable: true, get: function() { return m[k]; } });\r\n}) : (function(o, m, k, k2) {\r\n if (k2 === undefined) k2 = k;\r\n o[k2] = m[k];\r\n}));\r\nvar __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {\r\n Object.defineProperty(o, \"default\", { enumerable: true, value: v });\r\n}) : function(o, v) {\r\n o[\"default\"] = v;\r\n});\r\nvar __importStar = (this && this.__importStar) || function (mod) {\r\n if (mod && mod.__esModule) return mod;\r\n var result = {};\r\n if (mod != null) for (var k in mod) if (k !== \"default\" && Object.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);\r\n __setModuleDefault(result, mod);\r\n return result;\r\n};\r\nObject.defineProperty(exports, \"__esModule\", { value: true });\r\nexports.getSchemas = exports.getCollections = void 0;\r\nconst core_1 = require(\"@mcschema/core\");\r\nconst Collections_1 = require(\"./Collections\");\r\nconst schemas_1 = require(\"./schemas\");\r\nexports.lootContext = __importStar(require(\"./LootContext\"));\r\nfunction getCollections() {\r\n const collections = new core_1.CollectionRegistry();\r\n Collections_1.initCollections(collections);\r\n return collections;\r\n}\r\nexports.getCollections = getCollections;\r\n/**\r\n * @param collections The CollectionRegistry for this version. Note that apart from\r\n * the built-in collections, the client of this module is responsible for futhermore\r\n * adding the vanilla registries to it: the collection IDs shouldn't contain the\r\n * namespace (`minecraft:`) part, while the values within the collections should.\r\n *\r\n * @example\r\n * for (const key in VANILLA_REGISTRIES>) {\r\n * collections.register(\r\n * key.replace(/^minecraft:/, ''),\r\n * Object.keys(VANILLA_REGISTRIES[key].entries)\r\n * )\r\n * }\r\n */\r\nfunction getSchemas(collections) {\r\n const schemas = new core_1.SchemaRegistry();\r\n schemas_1.initSchemas(schemas, collections);\r\n return schemas;\r\n}\r\nexports.getSchemas = getSchemas;\r\n","\"use strict\";\r\nObject.defineProperty(exports, \"__esModule\", { value: true });\r\nexports.initCollections = void 0;\r\nfunction initCollections(collections) {\r\n collections.register('advancement_trigger', [\r\n 'minecraft:bee_nest_destroyed',\r\n 'minecraft:bred_animals',\r\n 'minecraft:brewed_potion',\r\n 'minecraft:changed_dimension',\r\n 'minecraft:channeled_lightning',\r\n 'minecraft:construct_beacon',\r\n 'minecraft:consume_item',\r\n 'minecraft:cured_zombie_villager',\r\n 'minecraft:effects_changed',\r\n 'minecraft:enchanted_item',\r\n 'minecraft:enter_block',\r\n 'minecraft:entity_hurt_player',\r\n 'minecraft:entity_killed_player',\r\n 'minecraft:filled_bucket',\r\n 'minecraft:fishing_rod_hooked',\r\n 'minecraft:hero_of_the_village',\r\n 'minecraft:impossible',\r\n 'minecraft:inventory_changed',\r\n 'minecraft:item_durability_changed',\r\n 'minecraft:item_used_on_block',\r\n 'minecraft:killed_by_crossbow',\r\n 'minecraft:levitation',\r\n 'minecraft:lightning_strike',\r\n 'minecraft:location',\r\n 'minecraft:nether_travel',\r\n 'minecraft:placed_block',\r\n 'minecraft:player_generates_container_loot',\r\n 'minecraft:player_hurt_entity',\r\n 'minecraft:player_interacted_with_entity',\r\n 'minecraft:player_killed_entity',\r\n 'minecraft:recipe_unlocked',\r\n 'minecraft:shot_crossbow',\r\n 'minecraft:slept_in_bed',\r\n 'minecraft:slide_down_block',\r\n 'minecraft:started_riding',\r\n 'minecraft:summoned_entity',\r\n 'minecraft:tame_animal',\r\n 'minecraft:target_hit',\r\n 'minecraft:tick',\r\n 'minecraft:thrown_item_picked_up_by_entity',\r\n 'minecraft:used_ender_eye',\r\n 'minecraft:used_totem',\r\n 'minecraft:using_item',\r\n 'minecraft:villager_trade',\r\n 'minecraft:voluntary_exile'\r\n ]);\r\n collections.register('dimension', [\r\n 'minecraft:overworld',\r\n 'minecraft:the_nether',\r\n 'minecraft:the_end'\r\n ]);\r\n collections.register('dimension_type', [\r\n 'minecraft:overworld',\r\n 'minecraft:the_nether',\r\n 'minecraft:the_end'\r\n ]);\r\n collections.register('keybind', [\r\n 'key.advancements',\r\n 'key.attack',\r\n 'key.back',\r\n 'key.chat',\r\n 'key.command',\r\n 'key.drop',\r\n 'key.forward',\r\n 'key.fullscreen',\r\n 'key.hotbar.1',\r\n 'key.hotbar.2',\r\n 'key.hotbar.3',\r\n 'key.hotbar.4',\r\n 'key.hotbar.5',\r\n 'key.hotbar.6',\r\n 'key.hotbar.7',\r\n 'key.hotbar.8',\r\n 'key.hotbar.9',\r\n 'key.inventory',\r\n 'key.jump',\r\n 'key.left',\r\n 'key.loadToolbarActivator',\r\n 'key.pickItem',\r\n 'key.playerlist',\r\n 'key.right',\r\n 'key.saveToolbarActivator',\r\n 'key.screenshot',\r\n 'key.smoothCamera',\r\n 'key.sneak',\r\n 'key.spectatorOutlines',\r\n 'key.sprint',\r\n 'key.swapOffhand',\r\n 'key.togglePerspective',\r\n 'key.use'\r\n ]);\r\n collections.register('slot', [\r\n 'mainhand',\r\n 'offhand',\r\n 'head',\r\n 'chest',\r\n 'legs',\r\n 'feet'\r\n ]);\r\n collections.register('gamemode', [\r\n 'survival',\r\n 'creative',\r\n 'adventure',\r\n 'spectator'\r\n ]);\r\n collections.register('worldgen/noise_settings', [\r\n 'minecraft:overworld',\r\n 'minecraft:nether',\r\n 'minecraft:end',\r\n 'minecraft:amplified',\r\n 'minecraft:caves',\r\n 'minecraft:floating_islands'\r\n ]);\r\n collections.register('entity_source', [\r\n 'this',\r\n 'killer',\r\n 'direct_killer',\r\n 'killer_player'\r\n ]);\r\n collections.register('copy_source', [\r\n 'block_entity',\r\n 'this',\r\n 'killer',\r\n 'killer_player'\r\n ]);\r\n collections.register('loot_table_apply_bonus_formula', [\r\n 'minecraft:uniform_bonus_count',\r\n 'minecraft:binomial_with_bonus_count',\r\n 'minecraft:ore_drops'\r\n ]);\r\n collections.register('map_decoration', [\r\n 'mansion',\r\n 'monument',\r\n 'player',\r\n 'frame',\r\n 'red_marker',\r\n 'blue_marker',\r\n 'target_x',\r\n 'target_point',\r\n 'player_off_map',\r\n 'player_off_limits',\r\n 'red_x',\r\n 'banner_white',\r\n 'banner_orange',\r\n 'banner_magenta',\r\n 'banner_light_blue',\r\n 'banner_yellow',\r\n 'banner_lime',\r\n 'banner_pink',\r\n 'banner_gray',\r\n 'banner_light_gray',\r\n 'banner_cyan',\r\n 'banner_purple',\r\n 'banner_blue',\r\n 'banner_brown',\r\n 'banner_green',\r\n 'banner_red',\r\n 'banner_black'\r\n ]);\r\n collections.register('map_feature', [\r\n 'bastion_remnant',\r\n 'buried_treasure',\r\n 'desert_pyramid',\r\n 'endcity',\r\n 'fortress',\r\n 'igloo',\r\n 'jungle_pyramid',\r\n 'mansion',\r\n 'mineshaft',\r\n 'monument',\r\n 'nether_fossil',\r\n 'ocean_ruin',\r\n 'pillager_outpost',\r\n 'ruined_portal',\r\n 'shipwreck',\r\n 'stronghold',\r\n 'swamp_hut',\r\n 'village'\r\n ]);\r\n collections.register('recipe_group', [\r\n 'bed',\r\n 'light_gray_dye',\r\n 'iron_ingot',\r\n 'wooden_stairs',\r\n 'black_dye',\r\n 'stained_terracotta',\r\n 'dyed_bed',\r\n 'magenta_dye',\r\n 'bark',\r\n 'rabbit_stew',\r\n 'light_blue_dye',\r\n 'wooden_fence_gate',\r\n 'planks',\r\n 'stained_glass',\r\n 'wooden_door',\r\n 'stained_glass_pane',\r\n 'wooden_fence',\r\n 'sticks',\r\n 'concrete_powder',\r\n 'wooden_pressure_plate',\r\n 'boat',\r\n 'brown_dye',\r\n 'yellow_dye',\r\n 'bonemeal',\r\n 'red_dye',\r\n 'wooden_trapdoor',\r\n 'wooden_button',\r\n 'gold_ingot',\r\n 'pink_dye',\r\n 'wooden_slab',\r\n 'orange_dye',\r\n 'carpet',\r\n 'sign',\r\n 'wool',\r\n 'sugar',\r\n 'blue_dye',\r\n 'white_dye',\r\n 'banner',\r\n 'netherite_ingot'\r\n ]);\r\n collections.register('worldgen/configured_feature', [\r\n 'minecraft:acacia',\r\n 'minecraft:bamboo_light',\r\n 'minecraft:bamboo_vegetation',\r\n 'minecraft:bamboo',\r\n 'minecraft:basalt_blobs',\r\n 'minecraft:basalt_pillar',\r\n 'minecraft:birch_bees_0002',\r\n 'minecraft:birch_bees_002',\r\n 'minecraft:birch_bees_005',\r\n 'minecraft:birch_other',\r\n 'minecraft:birch_tall',\r\n 'minecraft:birch',\r\n 'minecraft:blackstone_blobs',\r\n 'minecraft:blue_ice',\r\n 'minecraft:bonus_chest',\r\n 'minecraft:brown_mushroom_giant',\r\n 'minecraft:brown_mushroom_nether',\r\n 'minecraft:brown_mushroom_normal',\r\n 'minecraft:brown_mushroom_swamp',\r\n 'minecraft:brown_mushroom_taiga',\r\n 'minecraft:chorus_plant',\r\n 'minecraft:crimson_forest_vegetation',\r\n 'minecraft:crimson_fungi_planted',\r\n 'minecraft:crimson_fungi',\r\n 'minecraft:dark_forest_vegetation_brown',\r\n 'minecraft:dark_forest_vegetation_red',\r\n 'minecraft:dark_oak',\r\n 'minecraft:delta',\r\n 'minecraft:desert_well',\r\n 'minecraft:disk_clay',\r\n 'minecraft:disk_gravel',\r\n 'minecraft:disk_sand',\r\n 'minecraft:end_gateway_delayed',\r\n 'minecraft:end_gateway',\r\n 'minecraft:end_island_decorated',\r\n 'minecraft:end_island',\r\n 'minecraft:end_spike',\r\n 'minecraft:fancy_oak_bees_0002',\r\n 'minecraft:fancy_oak_bees_002',\r\n 'minecraft:fancy_oak_bees_005',\r\n 'minecraft:fancy_oak',\r\n 'minecraft:flower_default',\r\n 'minecraft:flower_forest',\r\n 'minecraft:flower_plain_decorated',\r\n 'minecraft:flower_plain',\r\n 'minecraft:flower_swamp',\r\n 'minecraft:flower_warm',\r\n 'minecraft:forest_flower_trees',\r\n 'minecraft:forest_flower_vegetation_common',\r\n 'minecraft:forest_flower_vegetation',\r\n 'minecraft:forest_rock',\r\n 'minecraft:fossil',\r\n 'minecraft:freeze_top_layer',\r\n 'minecraft:glowstone_extra',\r\n 'minecraft:glowstone',\r\n 'minecraft:huge_brown_mushroom',\r\n 'minecraft:huge_red_mushroom',\r\n 'minecraft:ice_patch',\r\n 'minecraft:ice_spike',\r\n 'minecraft:iceberg_blue',\r\n 'minecraft:iceberg_packed',\r\n 'minecraft:jungle_bush',\r\n 'minecraft:jungle_tree_no_vine',\r\n 'minecraft:jungle_tree',\r\n 'minecraft:kelp_cold',\r\n 'minecraft:kelp_warm',\r\n 'minecraft:lake_lava',\r\n 'minecraft:lake_water',\r\n 'minecraft:large_basalt_columns',\r\n 'minecraft:mega_jungle_tree',\r\n 'minecraft:mega_pine',\r\n 'minecraft:mega_spruce',\r\n 'minecraft:monster_room',\r\n 'minecraft:mushroom_field_vegetation',\r\n 'minecraft:nether_sprouts',\r\n 'minecraft:oak_badlands',\r\n 'minecraft:oak_bees_0002',\r\n 'minecraft:oak_bees_002',\r\n 'minecraft:oak_bees_005',\r\n 'minecraft:oak',\r\n 'minecraft:ore_andesite',\r\n 'minecraft:ore_blackstone',\r\n 'minecraft:ore_coal',\r\n 'minecraft:ore_debris_large',\r\n 'minecraft:ore_debris_small',\r\n 'minecraft:ore_diamond',\r\n 'minecraft:ore_diorite',\r\n 'minecraft:ore_dirt',\r\n 'minecraft:ore_emerald',\r\n 'minecraft:ore_gold_deltas',\r\n 'minecraft:ore_gold_extra',\r\n 'minecraft:ore_gold_nether',\r\n 'minecraft:ore_gold',\r\n 'minecraft:ore_granite',\r\n 'minecraft:ore_gravel_nether',\r\n 'minecraft:ore_gravel',\r\n 'minecraft:ore_infested',\r\n 'minecraft:ore_iron',\r\n 'minecraft:ore_lapis',\r\n 'minecraft:ore_magma',\r\n 'minecraft:ore_quartz_deltas',\r\n 'minecraft:ore_quartz_nether',\r\n 'minecraft:ore_redstone',\r\n 'minecraft:ore_soul_sand',\r\n 'minecraft:patch_berry_bush',\r\n 'minecraft:patch_berry_decorated',\r\n 'minecraft:patch_berry_sparse',\r\n 'minecraft:patch_brown_mushroom',\r\n 'minecraft:patch_cactus_decorated',\r\n 'minecraft:patch_cactus_desert',\r\n 'minecraft:patch_cactus',\r\n 'minecraft:patch_crimson_roots',\r\n 'minecraft:patch_dead_bush_2',\r\n 'minecraft:patch_dead_bush_badlands',\r\n 'minecraft:patch_dead_bush',\r\n 'minecraft:patch_fire',\r\n 'minecraft:patch_grass_badlands',\r\n 'minecraft:patch_grass_forest',\r\n 'minecraft:patch_grass_jungle',\r\n 'minecraft:patch_grass_normal',\r\n 'minecraft:patch_grass_plain',\r\n 'minecraft:patch_grass_savanna',\r\n 'minecraft:patch_grass_taiga_2',\r\n 'minecraft:patch_grass_taiga',\r\n 'minecraft:patch_large_fern',\r\n 'minecraft:patch_melon',\r\n 'minecraft:patch_pumpkin',\r\n 'minecraft:patch_red_mushroom',\r\n 'minecraft:patch_soul_fire',\r\n 'minecraft:patch_sugar_cane_badlands',\r\n 'minecraft:patch_sugar_cane_desert',\r\n 'minecraft:patch_sugar_cane_swamp',\r\n 'minecraft:patch_sugar_cane',\r\n 'minecraft:patch_sunflower',\r\n 'minecraft:patch_taiga_grass',\r\n 'minecraft:patch_tall_grass_2',\r\n 'minecraft:patch_tall_grass',\r\n 'minecraft:patch_waterlilly',\r\n 'minecraft:pile_hay',\r\n 'minecraft:pile_ice',\r\n 'minecraft:pile_melon',\r\n 'minecraft:pile_pumpkin',\r\n 'minecraft:pile_snow',\r\n 'minecraft:pine',\r\n 'minecraft:plain_vegetation',\r\n 'minecraft:red_mushroom_giant',\r\n 'minecraft:red_mushroom_nether',\r\n 'minecraft:red_mushroom_normal',\r\n 'minecraft:red_mushroom_swamp',\r\n 'minecraft:red_mushroom_taiga',\r\n 'minecraft:sea_pickle',\r\n 'minecraft:seagrass_cold',\r\n 'minecraft:seagrass_deep_cold',\r\n 'minecraft:seagrass_deep_warm',\r\n 'minecraft:seagrass_deep',\r\n 'minecraft:seagrass_normal',\r\n 'minecraft:seagrass_river',\r\n 'minecraft:seagrass_simple',\r\n 'minecraft:seagrass_swamp',\r\n 'minecraft:seagrass_warm',\r\n 'minecraft:small_basalt_columns',\r\n 'minecraft:spring_closed_double',\r\n 'minecraft:spring_closed',\r\n 'minecraft:spring_delta',\r\n 'minecraft:spring_lava_double',\r\n 'minecraft:spring_lava',\r\n 'minecraft:spring_open',\r\n 'minecraft:spring_water',\r\n 'minecraft:spruce_snowy',\r\n 'minecraft:spruce',\r\n 'minecraft:super_birch_bees_0002',\r\n 'minecraft:swamp_tree',\r\n 'minecraft:taiga_vegetation',\r\n 'minecraft:trees_birch',\r\n 'minecraft:trees_giant_spruce',\r\n 'minecraft:trees_giant',\r\n 'minecraft:trees_jungle_edge',\r\n 'minecraft:trees_jungle',\r\n 'minecraft:trees_mountain_edge',\r\n 'minecraft:trees_mountain',\r\n 'minecraft:trees_savanna',\r\n 'minecraft:trees_shattered_savanna',\r\n 'minecraft:trees_water',\r\n 'minecraft:twisting_vines',\r\n 'minecraft:vines',\r\n 'minecraft:void_start_platform',\r\n 'minecraft:warm_ocean_vegetation',\r\n 'minecraft:warped_forest_vegetation',\r\n 'minecraft:warped_fungi_planted',\r\n 'minecraft:warped_fungi',\r\n 'minecraft:weeping_vines'\r\n ]);\r\n collections.register('worldgen/configured_structure_feature', [\r\n 'minecraft:bastion_remnant',\r\n 'minecraft:buried_treasure',\r\n 'minecraft:desert_pyramid',\r\n 'minecraft:end_city',\r\n 'minecraft:fortress',\r\n 'minecraft:igloo',\r\n 'minecraft:jungle_pyramid',\r\n 'minecraft:mansion',\r\n 'minecraft:mineshaft_mesa',\r\n 'minecraft:mineshaft',\r\n 'minecraft:monument',\r\n 'minecraft:nether_fossil',\r\n 'minecraft:ocean_ruin_cold',\r\n 'minecraft:ocean_ruin_warm',\r\n 'minecraft:pillager_outpost',\r\n 'minecraft:ruined_portal_desert',\r\n 'minecraft:ruined_portal_jungle',\r\n 'minecraft:ruined_portal_mountain',\r\n 'minecraft:ruined_portal_nether',\r\n 'minecraft:ruined_portal_ocean',\r\n 'minecraft:ruined_portal_swamp',\r\n 'minecraft:ruined_portal',\r\n 'minecraft:shipwreck_beached',\r\n 'minecraft:shipwreck',\r\n 'minecraft:stronghold',\r\n 'minecraft:swamp_hut',\r\n 'minecraft:village_desert',\r\n 'minecraft:village_plains',\r\n 'minecraft:village_savanna',\r\n 'minecraft:village_snowy',\r\n 'minecraft:village_taiga'\r\n ]);\r\n collections.register('worldgen/configured_surface_builder', [\r\n 'minecraft:badlands',\r\n 'minecraft:basalt_deltas',\r\n 'minecraft:crimson_forest',\r\n 'minecraft:desert',\r\n 'minecraft:end',\r\n 'minecraft:eroded_badlands',\r\n 'minecraft:frozen_ocean',\r\n 'minecraft:full_sand',\r\n 'minecraft:giant_tree_taiga',\r\n 'minecraft:grass',\r\n 'minecraft:gravelly_mountain',\r\n 'minecraft:ice_spikes',\r\n 'minecraft:mountain',\r\n 'minecraft:mycelium',\r\n 'minecraft:nether',\r\n 'minecraft:nope',\r\n 'minecraft:ocean_sand',\r\n 'minecraft:shattered_savanna',\r\n 'minecraft:soul_sand_valley',\r\n 'minecraft:stone',\r\n 'minecraft:swamp',\r\n 'minecraft:warped_forest',\r\n 'minecraft:wooded_badlands'\r\n ]);\r\n collections.register('biome_category', [\r\n 'beach',\r\n 'desert',\r\n 'extreme_hills',\r\n 'forest',\r\n 'icy',\r\n 'jungle',\r\n 'mesa',\r\n 'mushroom',\r\n 'nether',\r\n 'none',\r\n 'ocean',\r\n 'plains',\r\n 'river',\r\n 'savanna',\r\n 'swamp',\r\n 'taiga',\r\n 'the_end'\r\n ]);\r\n collections.register('heightmap_type', [\r\n 'MOTION_BLOCKING',\r\n 'MOTION_BLOCKING_NO_LEAVES',\r\n 'OCEAN_FLOOR',\r\n 'OCEAN_FLOOR_WG',\r\n 'WORLD_SURFACE',\r\n 'WORLD_SURFACE_WG'\r\n ]);\r\n collections.register('generation_step', [\r\n 'air',\r\n 'liquid'\r\n ]);\r\n collections.register('loot_context_type', [\r\n 'minecraft:empty',\r\n 'minecraft:chest',\r\n 'minecraft:command',\r\n 'minecraft:selector',\r\n 'minecraft:fishing',\r\n 'minecraft:entity',\r\n 'minecraft:gift',\r\n 'minecraft:barter',\r\n 'minecraft:advancement_reward',\r\n 'minecraft:advancement_entity',\r\n 'minecraft:generic',\r\n 'minecraft:block'\r\n ]);\r\n collections.register('banner_pattern', [\r\n 'base',\r\n 'square_bottom_left',\r\n 'square_bottom_right',\r\n 'square_top_left',\r\n 'square_top_right',\r\n 'stripe_bottom',\r\n 'stripe_top',\r\n 'stripe_left',\r\n 'stripe_right',\r\n 'stripe_center',\r\n 'stripe_middle',\r\n 'stripe_downright',\r\n 'stripe_downleft',\r\n 'small_stripes',\r\n 'cross',\r\n 'straight_cross',\r\n 'triangle_bottom',\r\n 'triangle_top',\r\n 'triangles_bottom',\r\n 'triangles_top',\r\n 'diagonal_left',\r\n 'diagonal_up_right',\r\n 'diagonal_up_left',\r\n 'diagonal_right',\r\n 'circle',\r\n 'rhombus',\r\n 'half_vertical',\r\n 'half_horizontal',\r\n 'half_vertical_right',\r\n 'half_horizontal_bottom',\r\n 'border',\r\n 'curly_border',\r\n 'gradient',\r\n 'gradient_up',\r\n 'bricks',\r\n 'globe',\r\n 'creeper',\r\n 'skull',\r\n 'flower',\r\n 'mojang',\r\n 'piglin'\r\n ]);\r\n collections.register('dye_color', [\r\n 'white',\r\n 'orange',\r\n 'magenta',\r\n 'light_blue',\r\n 'yellow',\r\n 'lime',\r\n 'pink',\r\n 'gray',\r\n 'light_gray',\r\n 'cyan',\r\n 'purple',\r\n 'blue',\r\n 'brown',\r\n 'green',\r\n 'red',\r\n 'black'\r\n ]);\r\n}\r\nexports.initCollections = initCollections;\r\n","\"use strict\";\r\nObject.defineProperty(exports, \"__esModule\", { value: true });\r\nexports.initAdvancementSchemas = void 0;\r\nconst core_1 = require(\"@mcschema/core\");\r\nfunction initAdvancementSchemas(schemas, collections) {\r\n const Reference = core_1.Reference.bind(undefined, schemas);\r\n const StringNode = core_1.StringNode.bind(undefined, collections);\r\n const EntityPredicate = core_1.ChoiceNode([\r\n {\r\n type: 'object',\r\n node: core_1.Opt(Reference('entity_predicate')),\r\n change: v => { var _a, _b; return (_b = (_a = v[0]) === null || _a === void 0 ? void 0 : _a.predicate) !== null && _b !== void 0 ? _b : ({}); }\r\n },\r\n {\r\n type: 'list',\r\n node: core_1.ListNode(Reference('condition')),\r\n change: v => [{\r\n condition: 'minecraft:entity_properties',\r\n predicate: v\r\n }]\r\n }\r\n ], { context: 'conditions' });\r\n schemas.register('advancement', core_1.Mod(core_1.ObjectNode({\r\n display: core_1.Opt(core_1.Mod(core_1.ObjectNode({\r\n icon: core_1.ObjectNode({\r\n item: StringNode({ validator: 'resource', params: { pool: 'item' } }),\r\n nbt: core_1.Opt(StringNode({ validator: 'nbt', params: { registry: { category: 'minecraft:item', id: ['pop', { push: 'item' }] } } }))\r\n }),\r\n title: Reference('text_component'),\r\n description: Reference('text_component'),\r\n background: core_1.Opt(StringNode()),\r\n frame: core_1.Opt(StringNode({ enum: ['task', 'challenge', 'goal'] })),\r\n show_toast: core_1.Opt(core_1.BooleanNode()),\r\n announce_to_chat: core_1.Opt(core_1.BooleanNode()),\r\n hidden: core_1.Opt(core_1.BooleanNode())\r\n }), {\r\n default: () => ({\r\n icon: {\r\n item: 'minecraft:stone'\r\n },\r\n title: '',\r\n description: ''\r\n })\r\n })),\r\n parent: core_1.Opt(StringNode({ validator: 'resource', params: { pool: '$advancement' } })),\r\n criteria: core_1.MapNode(StringNode(), Reference('advancement_criteria')),\r\n requirements: core_1.Opt(core_1.ListNode(core_1.ListNode(StringNode() // TODO: add validation\r\n ))),\r\n rewards: core_1.Opt(core_1.ObjectNode({\r\n function: core_1.Opt(StringNode({ validator: 'resource', params: { pool: '$function' } })),\r\n loot: core_1.Opt(core_1.ListNode(StringNode({ validator: 'resource', params: { pool: '$loot_table' } }))),\r\n recipes: core_1.Opt(core_1.ListNode(StringNode({ validator: 'resource', params: { pool: '$recipe' } }))),\r\n experience: core_1.Opt(core_1.NumberNode({ integer: true }))\r\n })),\r\n }, { context: 'advancement' }), {\r\n default: () => ({\r\n criteria: {\r\n requirement: {\r\n trigger: 'minecraft:location'\r\n }\r\n }\r\n })\r\n }));\r\n schemas.register('advancement_criteria', core_1.ObjectNode({\r\n trigger: StringNode({ validator: 'resource', params: { pool: collections.get('advancement_trigger') } }),\r\n conditions: core_1.Opt(core_1.ObjectNode({\r\n player: core_1.Mod(EntityPredicate, {\r\n enabled: path => path.pop().push('trigger').get() !== 'minecraft:impossible'\r\n }),\r\n [core_1.Switch]: ['pop', { push: 'trigger' }],\r\n [core_1.Case]: {\r\n 'minecraft:bee_nest_destroyed': {\r\n block: core_1.Opt(StringNode({ validator: 'resource', params: { pool: 'block' } })),\r\n num_bees_inside: core_1.Opt(core_1.NumberNode({ integer: true })),\r\n item: core_1.Opt(Reference('item_predicate'))\r\n },\r\n 'minecraft:bred_animals': {\r\n parent: EntityPredicate,\r\n partner: EntityPredicate,\r\n child: EntityPredicate\r\n },\r\n 'minecraft:brewed_potion': {\r\n potion: core_1.Opt(StringNode({ validator: 'resource', params: { pool: 'potion' } }))\r\n },\r\n 'minecraft:changed_dimension': {\r\n from: core_1.Opt(StringNode({ validator: 'resource', params: { pool: '$dimension' } })),\r\n to: core_1.Opt(StringNode({ validator: 'resource', params: { pool: '$dimension' } }))\r\n },\r\n 'minecraft:channeled_lightning': {\r\n victims: core_1.Opt(core_1.ListNode(EntityPredicate))\r\n },\r\n 'minecraft:construct_beacon': {\r\n level: Reference('int_bounds')\r\n },\r\n 'minecraft:consume_item': {\r\n item: core_1.Opt(Reference('item_predicate'))\r\n },\r\n 'minecraft:cured_zombie_villager': {\r\n villager: EntityPredicate,\r\n zombie: EntityPredicate\r\n },\r\n 'minecraft:effects_changed': {\r\n effects: core_1.Opt(core_1.MapNode(StringNode({ validator: 'resource', params: { pool: 'mob_effect' } }), core_1.ObjectNode({\r\n amplifier: Reference('int_bounds'),\r\n duration: Reference('int_bounds')\r\n }))),\r\n source: core_1.Opt(EntityPredicate)\r\n },\r\n 'minecraft:enter_block': {\r\n block: core_1.Opt(StringNode({ validator: 'resource', params: { pool: 'block' } })),\r\n state: core_1.Opt(core_1.MapNode(StringNode(), StringNode(), { validation: { validator: 'block_state_map', params: { id: ['pop', { push: 'block' }] } } }))\r\n },\r\n 'minecraft:enchanted_item': {\r\n levels: Reference('int_bounds'),\r\n item: core_1.Opt(Reference('item_predicate'))\r\n },\r\n 'minecraft:entity_hurt_player': {\r\n damage: core_1.Opt(Reference('damage_predicate'))\r\n },\r\n 'minecraft:entity_killed_player': {\r\n entity: EntityPredicate,\r\n killing_blow: core_1.Opt(Reference('damage_source_predicate'))\r\n },\r\n 'minecraft:filled_bucket': {\r\n item: core_1.Opt(Reference('item_predicate'))\r\n },\r\n 'minecraft:fishing_rod_hooked': {\r\n entity: EntityPredicate,\r\n item: core_1.Opt(Reference('item_predicate'))\r\n },\r\n 'minecraft:hero_of_the_village': {\r\n location: core_1.Opt(Reference('location_predicate'))\r\n },\r\n 'minecraft:inventory_changed': {\r\n slots: core_1.Opt(core_1.ObjectNode({\r\n empty: Reference('int_bounds'),\r\n occupied: Reference('int_bounds'),\r\n full: Reference('int_bounds')\r\n })),\r\n items: core_1.Opt(core_1.ListNode(Reference('item_predicate')))\r\n },\r\n 'minecraft:item_durability_changed': {\r\n delta: Reference('int_bounds'),\r\n durability: Reference('int_bounds'),\r\n item: core_1.Opt(Reference('item_predicate'))\r\n },\r\n 'minecraft:item_used_on_block': {\r\n item: core_1.Opt(Reference('item_predicate')),\r\n location: core_1.Opt(Reference('location_predicate'))\r\n },\r\n 'minecraft:killed_by_crossbow': {\r\n unique_entity_types: Reference('int_bounds'),\r\n victims: core_1.Opt(core_1.ListNode(EntityPredicate))\r\n },\r\n 'minecraft:levitation': {\r\n distance: Reference('distance_predicate'),\r\n duration: Reference('int_bounds')\r\n },\r\n 'minecraft:lightning_strike': {\r\n lightning: EntityPredicate,\r\n bystander: EntityPredicate,\r\n },\r\n 'minecraft:location': {\r\n location: core_1.Opt(Reference('location_predicate'))\r\n },\r\n 'minecraft:nether_travel': {\r\n distance: Reference('distance_predicate'),\r\n entered: core_1.Opt(Reference('location_predicate')),\r\n exited: core_1.Opt(Reference('location_predicate'))\r\n },\r\n 'minecraft:placed_block': {\r\n block: core_1.Opt(StringNode({ validator: 'resource', params: { pool: 'block' } })),\r\n state: core_1.Opt(core_1.MapNode(StringNode(), StringNode(), { validation: { validator: 'block_state_map', params: { id: ['pop', { push: 'block' }] } } })),\r\n item: core_1.Opt(Reference('item_predicate')),\r\n location: core_1.Opt(Reference('location_predicate'))\r\n },\r\n 'minecraft:player_generates_container_loot': {\r\n loot_table: StringNode({ validator: 'resource', params: { pool: '$loot_table' } })\r\n },\r\n 'minecraft:player_hurt_entity': {\r\n damage: core_1.Opt(Reference('damage_predicate')),\r\n entity: EntityPredicate\r\n },\r\n 'minecraft:player_interacted_with_entity': {\r\n item: core_1.Opt(Reference('item_predicate')),\r\n entity: EntityPredicate\r\n },\r\n 'minecraft:player_killed_entity': {\r\n entity: EntityPredicate,\r\n killing_blow: core_1.Opt(Reference('damage_source_predicate'))\r\n },\r\n 'minecraft:recipe_unlocked': {\r\n recipe: StringNode({ validator: 'resource', params: { pool: '$recipe' } })\r\n },\r\n 'minecraft:slept_in_bed': {\r\n location: core_1.Opt(Reference('location_predicate'))\r\n },\r\n 'minecraft:slide_down_block': {\r\n block: core_1.Opt(StringNode({ validator: 'resource', params: { pool: 'block' } }))\r\n },\r\n 'minecraft:shot_crossbow': {\r\n item: core_1.Opt(Reference('item_predicate'))\r\n },\r\n 'minecraft:summoned_entity': {\r\n entity: EntityPredicate\r\n },\r\n 'minecraft:tame_animal': {\r\n entity: EntityPredicate\r\n },\r\n 'minecraft:target_hit': {\r\n projectile: EntityPredicate,\r\n shooter: EntityPredicate,\r\n signal_strength: Reference('int_bounds')\r\n },\r\n 'minecraft:thrown_item_picked_up_by_entity': {\r\n entity: core_1.Opt(Reference('entity_predicate')),\r\n item: core_1.Opt(Reference('item_predicate'))\r\n },\r\n 'minecraft:used_ender_eye': {\r\n distance: Reference('float_bounds')\r\n },\r\n 'minecraft:used_totem': {\r\n item: core_1.Opt(Reference('item_predicate'))\r\n },\r\n 'minecraft:using_item': {\r\n item: core_1.Opt(Reference('item_predicate'))\r\n },\r\n 'minecraft:villager_trade': {\r\n villager: core_1.Opt(Reference('entity_predicate')),\r\n item: core_1.Opt(Reference('item_predicate'))\r\n },\r\n 'minecraft:voluntary_exile': {\r\n location: Reference('location_predicate')\r\n }\r\n }\r\n }, { context: 'criterion' }))\r\n }, { category: 'predicate', context: 'criterion' }));\r\n}\r\nexports.initAdvancementSchemas = initAdvancementSchemas;\r\n","\"use strict\";\r\nObject.defineProperty(exports, \"__esModule\", { value: true });\r\nexports.initCommonSchemas = exports.IntProvider = exports.FloatProvider = exports.NoiseSettingsPresets = exports.DefaultNoiseSettings = exports.DimensionTypePresets = exports.DefaultDimensionType = exports.FunctionCases = exports.ConditionCases = void 0;\r\nconst core_1 = require(\"@mcschema/core\");\r\nexports.DefaultDimensionType = {\r\n ultrawarm: false,\r\n natural: true,\r\n piglin_safe: false,\r\n respawn_anchor_works: false,\r\n bed_works: true,\r\n has_raids: true,\r\n has_skylight: true,\r\n has_ceiling: false,\r\n coordinate_scale: 1,\r\n ambient_light: 0,\r\n logical_height: 256,\r\n infiniburn: 'minecraft:infiniburn_overworld',\r\n min_y: 0,\r\n height: 256,\r\n};\r\nexports.DefaultNoiseSettings = {\r\n name: 'minecraft:overworld',\r\n bedrock_roof_position: -10,\r\n bedrock_floor_position: 0,\r\n sea_level: 63,\r\n disable_mob_generation: false,\r\n noise_caves_enabled: true,\r\n aquifers_enabled: true,\r\n deepslate_enabled: true,\r\n noise: {\r\n min_y: 0,\r\n height: 256,\r\n density_factor: 1,\r\n density_offset: -0.46875,\r\n simplex_surface_noise: true,\r\n random_density_offset: true,\r\n size_horizontal: 1,\r\n size_vertical: 2,\r\n sampling: {\r\n xz_scale: 1,\r\n y_scale: 1,\r\n xz_factor: 80,\r\n y_factor: 160\r\n },\r\n top_slide: {\r\n target: -10,\r\n size: 3,\r\n offset: 0\r\n },\r\n bottom_slide: {\r\n target: -30,\r\n size: 0,\r\n offset: 0\r\n }\r\n },\r\n default_block: {\r\n Name: \"minecraft:stone\"\r\n },\r\n default_fluid: {\r\n Name: \"minecraft:water\",\r\n Properties: {\r\n level: \"0\"\r\n }\r\n }\r\n};\r\nfunction initCommonSchemas(schemas, collections) {\r\n const StringNode = core_1.StringNode.bind(undefined, collections);\r\n const Reference = core_1.Reference.bind(undefined, schemas);\r\n schemas.register('block_state', core_1.Mod(core_1.ObjectNode({\r\n Name: StringNode({ validator: 'resource', params: { pool: 'block' } }),\r\n Properties: core_1.Opt(core_1.MapNode(StringNode(), StringNode(), { validation: { validator: 'block_state_map', params: { id: ['pop', { push: 'Name' }] } } }))\r\n }, { context: 'block_state' }), {\r\n default: () => ({\r\n Name: 'minecraft:stone'\r\n })\r\n }));\r\n schemas.register('fluid_state', core_1.Mod(core_1.ObjectNode({\r\n Name: StringNode({ validator: 'resource', params: { pool: 'fluid' } }),\r\n Properties: core_1.Opt(core_1.MapNode(StringNode(), StringNode()))\r\n }, { context: 'fluid_state' }), {\r\n default: () => ({\r\n Name: 'minecraft:water',\r\n Properties: {\r\n 'level': '0'\r\n }\r\n })\r\n }));\r\n schemas.register('block_pos', core_1.Mod(core_1.ListNode(core_1.NumberNode({ integer: true }), { minLength: 3, maxLength: 3 }), {\r\n default: () => [0, 0, 0]\r\n }));\r\n const Bounds = (integer) => core_1.Opt(core_1.ChoiceNode([\r\n {\r\n type: 'number',\r\n node: core_1.NumberNode({ integer }),\r\n change: (v) => { var _a, _b; return v === undefined ? 0 : (_b = (_a = v.min) !== null && _a !== void 0 ? _a : v.max) !== null && _b !== void 0 ? _b : 0; }\r\n },\r\n {\r\n type: 'object',\r\n node: core_1.ObjectNode({\r\n min: core_1.Opt(core_1.NumberNode({ integer })),\r\n max: core_1.Opt(core_1.NumberNode({ integer }))\r\n }, { context: 'range' }),\r\n change: (v) => ({\r\n min: v !== null && v !== void 0 ? v : 0,\r\n max: v !== null && v !== void 0 ? v : 0\r\n })\r\n }\r\n ]));\r\n schemas.register('int_bounds', Bounds(true));\r\n schemas.register('float_bounds', Bounds());\r\n schemas.register('int_range', core_1.ChoiceNode([\r\n {\r\n type: 'object',\r\n node: core_1.ObjectNode({\r\n min: core_1.Opt(Reference('number_provider')),\r\n max: core_1.Opt(Reference('number_provider'))\r\n })\r\n },\r\n {\r\n type: 'number',\r\n node: core_1.NumberNode({ integer: true })\r\n }\r\n ], { context: 'range' }));\r\n const ObjectWithType = (pool, directType, directPath, directDefault, objectDefault, context, cases) => {\r\n let defaultCase = {};\r\n if (objectDefault) {\r\n Object.keys(cases[objectDefault]).forEach(k => {\r\n defaultCase[k] = core_1.Mod(cases[objectDefault][k], {\r\n enabled: path => path.push('type').get() === undefined\r\n });\r\n });\r\n }\r\n const provider = core_1.ObjectNode({\r\n type: core_1.Mod(core_1.Opt(StringNode({ validator: 'resource', params: { pool } })), {\r\n hidden: () => true\r\n }),\r\n [core_1.Switch]: [{ push: 'type' }],\r\n [core_1.Case]: cases,\r\n ...defaultCase\r\n }, { context, disableSwitchContext: true });\r\n const choices = [{\r\n type: directType,\r\n node: cases[directDefault][directPath]\r\n }];\r\n if (objectDefault) {\r\n choices.push({\r\n type: 'object',\r\n priority: -1,\r\n node: provider\r\n });\r\n }\r\n Object.keys(cases).forEach(k => {\r\n choices.push({\r\n type: k,\r\n match: (v) => {\r\n var _a;\r\n const type = 'minecraft:' + ((_a = v === null || v === void 0 ? void 0 : v.type) === null || _a === void 0 ? void 0 : _a.replace(/^minecraft:/, ''));\r\n if (type === k)\r\n return true;\r\n const keys = v ? Object.keys(v) : [];\r\n return typeof v === 'object' && ((keys === null || keys === void 0 ? void 0 : keys.length) === 0 || ((keys === null || keys === void 0 ? void 0 : keys.length) === 1 && (keys === null || keys === void 0 ? void 0 : keys[0]) === 'type'));\r\n },\r\n node: provider,\r\n change: (v) => ({ type: k })\r\n });\r\n });\r\n return core_1.ChoiceNode(choices, { context, choiceContext: `${context}.type` });\r\n };\r\n schemas.register('number_provider', ObjectWithType('loot_number_provider_type', 'number', 'value', 'minecraft:constant', 'minecraft:uniform', 'number_provider', {\r\n 'minecraft:constant': {\r\n value: core_1.NumberNode()\r\n },\r\n 'minecraft:uniform': {\r\n min: Reference('number_provider'),\r\n max: Reference('number_provider')\r\n },\r\n 'minecraft:binomial': {\r\n n: Reference('number_provider'),\r\n p: Reference('number_provider')\r\n },\r\n 'minecraft:score': {\r\n target: Reference('scoreboard_name_provider'),\r\n score: StringNode({ validator: 'objective' }),\r\n scale: core_1.Opt(core_1.NumberNode())\r\n }\r\n }));\r\n schemas.register('scoreboard_name_provider', ObjectWithType('loot_score_provider_type', 'string', 'target', 'minecraft:context', null, 'score_provider', {\r\n 'minecraft:fixed': {\r\n name: StringNode({ validator: 'entity', params: { amount: 'multiple', type: 'entities', isScoreHolder: true } }) // FIXME: doesn't support selectors\r\n },\r\n 'minecraft:context': {\r\n target: core_1.Mod(StringNode({ enum: 'entity_source' }), { default: () => 'this' })\r\n }\r\n }));\r\n schemas.register('nbt_provider', ObjectWithType('loot_nbt_provider_type', 'string', 'target', 'minecraft:context', null, 'nbt_provider', {\r\n 'minecraft:storage': {\r\n source: StringNode({ validator: 'resource', params: { pool: '$storage' } })\r\n },\r\n 'minecraft:context': {\r\n target: core_1.Mod(StringNode({ enum: 'copy_source' }), { default: () => 'this' })\r\n }\r\n }));\r\n exports.FloatProvider = (config) => ObjectWithType('float_provider_type', 'number', 'value', 'minecraft:constant', null, 'float_provider', {\r\n 'minecraft:constant': {\r\n value: core_1.NumberNode(config)\r\n },\r\n 'minecraft:uniform': {\r\n value: core_1.ObjectNode({\r\n min_inclusive: core_1.NumberNode(config),\r\n max_exclusive: core_1.NumberNode(config)\r\n })\r\n },\r\n 'minecraft:clamped_normal': {\r\n value: core_1.ObjectNode({\r\n min: core_1.NumberNode(),\r\n max: core_1.NumberNode(),\r\n mean: core_1.NumberNode(),\r\n deviation: core_1.NumberNode()\r\n })\r\n },\r\n 'minecraft:trapezoid': {\r\n value: core_1.ObjectNode({\r\n min: core_1.NumberNode(),\r\n max: core_1.NumberNode(),\r\n plateau: core_1.NumberNode()\r\n })\r\n }\r\n });\r\n schemas.register('float_provider', exports.FloatProvider());\r\n exports.IntProvider = (config) => ObjectWithType('int_provider_type', 'number', 'value', 'minecraft:constant', null, 'int_provider', {\r\n 'minecraft:constant': {\r\n value: core_1.NumberNode({ integer: true, ...config })\r\n },\r\n 'minecraft:uniform': {\r\n value: core_1.ObjectNode({\r\n min_inclusive: core_1.NumberNode({ integer: true, ...config }),\r\n max_inclusive: core_1.NumberNode({ integer: true, ...config })\r\n })\r\n },\r\n 'minecraft:biased_to_bottom': {\r\n value: core_1.ObjectNode({\r\n min_inclusive: core_1.NumberNode({ integer: true, ...config }),\r\n max_inclusive: core_1.NumberNode({ integer: true, ...config })\r\n })\r\n },\r\n 'minecraft:clamped': {\r\n value: core_1.ObjectNode({\r\n min_inclusive: core_1.NumberNode({ integer: true, ...config }),\r\n max_inclusive: core_1.NumberNode({ integer: true, ...config }),\r\n source: Reference('int_provider')\r\n })\r\n }\r\n });\r\n schemas.register('int_provider', exports.IntProvider());\r\n schemas.register('vertical_anchor', core_1.ChoiceNode(['absolute', 'above_bottom', 'below_top'].map(t => ({\r\n type: t,\r\n match: v => (v === null || v === void 0 ? void 0 : v[t]) !== undefined,\r\n change: v => { var _a, _b, _c; return ({ [t]: (_c = (_b = (_a = v.absolute) !== null && _a !== void 0 ? _a : v.above_bottom) !== null && _b !== void 0 ? _b : v.below_top) !== null && _c !== void 0 ? _c : 0 }); },\r\n node: core_1.ObjectNode({\r\n [t]: core_1.NumberNode({ integer: true, min: -2048, max: 2047 })\r\n })\r\n })), { context: 'vertical_anchor' }));\r\n schemas.register('height_provider', ObjectWithType('height_provider_type', 'number', 'value', 'minecraft:constant', null, 'height_provider', {\r\n 'minecraft:constant': {\r\n value: Reference('vertical_anchor')\r\n },\r\n 'minecraft:uniform': {\r\n min_inclusive: Reference('vertical_anchor'),\r\n max_inclusive: Reference('vertical_anchor')\r\n },\r\n 'minecraft:biased_to_bottom': {\r\n min_inclusive: Reference('vertical_anchor'),\r\n max_inclusive: Reference('vertical_anchor'),\r\n inner: core_1.Opt(core_1.NumberNode({ integer: true, min: 1 }))\r\n },\r\n 'minecraft:very_biased_to_bottom': {\r\n min_inclusive: Reference('vertical_anchor'),\r\n max_inclusive: Reference('vertical_anchor'),\r\n inner: core_1.Opt(core_1.NumberNode({ integer: true, min: 1 }))\r\n },\r\n 'minecraft:trapezoid': {\r\n min_inclusive: Reference('vertical_anchor'),\r\n max_inclusive: Reference('vertical_anchor'),\r\n plateau: core_1.Opt(core_1.NumberNode({ integer: true }))\r\n }\r\n }));\r\n exports.ConditionCases = (entitySourceNode = StringNode({ enum: 'entity_source' })) => ({\r\n 'minecraft:alternative': {\r\n terms: core_1.ListNode(Reference('condition'))\r\n },\r\n 'minecraft:block_state_property': {\r\n block: StringNode({ validator: 'resource', params: { pool: 'block' } }),\r\n properties: core_1.MapNode(StringNode(), StringNode(), { validation: { validator: 'block_state_map', params: { id: ['pop', { push: 'block' }] } } })\r\n },\r\n 'minecraft:damage_source_properties': {\r\n predicate: Reference('damage_source_predicate')\r\n },\r\n 'minecraft:entity_properties': {\r\n entity: entitySourceNode,\r\n predicate: Reference('entity_predicate')\r\n },\r\n 'minecraft:entity_scores': {\r\n entity: entitySourceNode,\r\n scores: core_1.MapNode(StringNode({ validator: 'objective' }), Reference('int_range'))\r\n },\r\n 'minecraft:inverted': {\r\n term: Reference('condition')\r\n },\r\n 'minecraft:killed_by_player': {\r\n inverse: core_1.Opt(core_1.BooleanNode())\r\n },\r\n 'minecraft:location_check': {\r\n offsetX: core_1.Opt(core_1.NumberNode({ integer: true })),\r\n offsetY: core_1.Opt(core_1.NumberNode({ integer: true })),\r\n offsetZ: core_1.Opt(core_1.NumberNode({ integer: true })),\r\n predicate: Reference('location_predicate')\r\n },\r\n 'minecraft:match_tool': {\r\n predicate: Reference('item_predicate')\r\n },\r\n 'minecraft:random_chance': {\r\n chance: core_1.NumberNode({ min: 0, max: 1 })\r\n },\r\n 'minecraft:random_chance_with_looting': {\r\n chance: core_1.NumberNode({ min: 0, max: 1 }),\r\n looting_multiplier: core_1.NumberNode()\r\n },\r\n 'minecraft:reference': {\r\n name: StringNode({ validator: 'resource', params: { pool: '$predicate' } })\r\n },\r\n 'minecraft:table_bonus': {\r\n enchantment: StringNode({ validator: 'resource', params: { pool: 'enchantment' } }),\r\n chances: core_1.ListNode(core_1.NumberNode({ min: 0, max: 1 }))\r\n },\r\n 'minecraft:time_check': {\r\n value: Reference('int_range'),\r\n period: core_1.Opt(core_1.NumberNode({ integer: true }))\r\n },\r\n 'minecraft:value_check': {\r\n value: Reference('number_provider'),\r\n range: Reference('int_range')\r\n },\r\n 'minecraft:weather_check': {\r\n raining: core_1.Opt(core_1.BooleanNode()),\r\n thundering: core_1.Opt(core_1.BooleanNode())\r\n }\r\n });\r\n exports.FunctionCases = (conditions, copySourceNode = StringNode({ enum: 'copy_source' }), entitySourceNode = StringNode({ enum: 'entity_source' })) => {\r\n const cases = {\r\n 'minecraft:apply_bonus': {\r\n enchantment: StringNode({ validator: 'resource', params: { pool: 'enchantment' } }),\r\n formula: StringNode({ validator: 'resource', params: { pool: collections.get('loot_table_apply_bonus_formula') } }),\r\n parameters: core_1.Mod(core_1.ObjectNode({\r\n bonusMultiplier: core_1.Mod(core_1.NumberNode(), {\r\n enabled: path => path.pop().push('formula').get() === 'minecraft:uniform_bonus_count'\r\n }),\r\n extra: core_1.Mod(core_1.NumberNode(), {\r\n enabled: path => path.pop().push('formula').get() === 'minecraft:binomial_with_bonus_count'\r\n }),\r\n probability: core_1.Mod(core_1.NumberNode(), {\r\n enabled: path => path.pop().push('formula').get() === 'minecraft:binomial_with_bonus_count'\r\n })\r\n }), {\r\n enabled: path => path.push('formula').get() !== 'minecraft:ore_drops'\r\n })\r\n },\r\n 'minecraft:copy_name': {\r\n source: copySourceNode\r\n },\r\n 'minecraft:copy_nbt': {\r\n source: Reference('nbt_provider'),\r\n ops: core_1.ListNode(core_1.ObjectNode({\r\n source: StringNode({ validator: 'nbt_path', params: { category: { getter: 'copy_source', path: ['pop', 'pop', 'pop', { push: 'source' }] } } }),\r\n target: StringNode({ validator: 'nbt_path', params: { category: 'minecraft:item' } }),\r\n op: StringNode({ enum: ['replace', 'append', 'merge'] })\r\n }, { context: 'nbt_operation' }))\r\n },\r\n 'minecraft:copy_state': {\r\n block: StringNode({ validator: 'resource', params: { pool: 'block' } }),\r\n properties: core_1.ListNode(StringNode({ validator: 'block_state_key', params: { id: ['pop', 'pop', { push: 'block' }] } }))\r\n },\r\n 'minecraft:enchant_randomly': {\r\n enchantments: core_1.Opt(core_1.ListNode(StringNode({ validator: 'resource', params: { pool: 'enchantment' } })))\r\n },\r\n 'minecraft:enchant_with_levels': {\r\n levels: Reference('number_provider'),\r\n treasure: core_1.Opt(core_1.BooleanNode())\r\n },\r\n 'minecraft:exploration_map': {\r\n destination: core_1.Opt(StringNode({ enum: 'map_feature' })),\r\n decoration: core_1.Opt(StringNode({ enum: 'map_decoration' })),\r\n zoom: core_1.Opt(core_1.NumberNode({ integer: true })),\r\n search_radius: core_1.Opt(core_1.NumberNode({ integer: true })),\r\n skip_existing_chunks: core_1.Opt(core_1.BooleanNode())\r\n },\r\n 'minecraft:fill_player_head': {\r\n entity: entitySourceNode\r\n },\r\n 'minecraft:limit_count': {\r\n limit: Reference('int_range')\r\n },\r\n 'minecraft:looting_enchant': {\r\n count: Reference('number_provider'),\r\n limit: core_1.Opt(core_1.NumberNode({ integer: true }))\r\n },\r\n 'minecraft:set_attributes': {\r\n modifiers: core_1.ListNode(Reference('attribute_modifier'))\r\n },\r\n 'minecraft:set_banner_pattern': {\r\n patterns: core_1.ListNode(core_1.ObjectNode({\r\n pattern: StringNode({ enum: 'banner_pattern' }),\r\n color: StringNode({ enum: 'dye_color' })\r\n })),\r\n append: core_1.Opt(core_1.BooleanNode())\r\n },\r\n 'minecraft:set_contents': {\r\n entries: core_1.ListNode(Reference('loot_entry'))\r\n },\r\n 'minecraft:set_count': {\r\n count: Reference('number_provider'),\r\n add: core_1.Opt(core_1.BooleanNode())\r\n },\r\n 'minecraft:set_damage': {\r\n damage: Reference('number_provider'),\r\n add: core_1.Opt(core_1.BooleanNode())\r\n },\r\n 'minecraft:set_enchantments': {\r\n enchantments: core_1.MapNode(StringNode({ validator: 'resource', params: { pool: 'enchantment' } }), Reference('number_provider')),\r\n add: core_1.Opt(core_1.BooleanNode())\r\n },\r\n 'minecraft:set_loot_table': {\r\n name: StringNode({ validator: 'resource', params: { pool: '$loot_table' } }),\r\n seed: core_1.Opt(core_1.NumberNode({ integer: true }))\r\n },\r\n 'minecraft:set_lore': {\r\n entity: core_1.Opt(entitySourceNode),\r\n lore: core_1.ListNode(Reference('text_component')),\r\n replace: core_1.Opt(core_1.BooleanNode())\r\n },\r\n 'minecraft:set_name': {\r\n entity: core_1.Opt(entitySourceNode),\r\n name: core_1.Opt(Reference('text_component'))\r\n },\r\n 'minecraft:set_nbt': {\r\n tag: StringNode({ validator: 'nbt', params: { registry: { category: 'minecraft:item' } } })\r\n },\r\n 'minecraft:set_stew_effect': {\r\n effects: core_1.Opt(core_1.ListNode(core_1.ObjectNode({\r\n type: StringNode({ validator: 'resource', params: { pool: 'mob_effect' } }),\r\n duration: Reference('number_provider')\r\n })))\r\n }\r\n };\r\n const res = {};\r\n collections.get('loot_function_type').forEach(f => {\r\n res[f] = { ...cases[f], ...conditions };\r\n });\r\n return res;\r\n };\r\n exports.DimensionTypePresets = (node) => core_1.ObjectOrPreset(StringNode({ validator: 'resource', params: { pool: '$dimension_type' } }), node, {\r\n 'minecraft:overworld': exports.DefaultDimensionType,\r\n 'minecraft:the_nether': {\r\n name: 'minecraft:the_nether',\r\n ultrawarm: true,\r\n natural: false,\r\n shrunk: true,\r\n piglin_safe: true,\r\n respawn_anchor_works: true,\r\n bed_works: false,\r\n has_raids: false,\r\n has_skylight: false,\r\n has_ceiling: true,\r\n ambient_light: 0.1,\r\n fixed_time: 18000,\r\n logical_height: 128,\r\n effects: 'minecraft:the_nether',\r\n infiniburn: 'minecraft:infiniburn_nether',\r\n min_y: 0,\r\n height: 256,\r\n },\r\n 'minecraft:the_end': {\r\n name: 'minecraft:the_end',\r\n ultrawarm: false,\r\n natural: false,\r\n shrunk: false,\r\n piglin_safe: false,\r\n respawn_anchor_works: false,\r\n bed_works: false,\r\n has_raids: true,\r\n has_skylight: false,\r\n has_ceiling: false,\r\n ambient_light: 0,\r\n fixed_time: 6000,\r\n logical_height: 256,\r\n effects: 'minecraft:the_end',\r\n infiniburn: 'minecraft:infiniburn_end',\r\n min_y: 0,\r\n height: 256,\r\n }\r\n });\r\n exports.NoiseSettingsPresets = (node) => core_1.ObjectOrPreset(StringNode({ validator: 'resource', params: { pool: '$worldgen/noise_settings' } }), node, {\r\n 'minecraft:overworld': exports.DefaultNoiseSettings,\r\n 'minecraft:nether': {\r\n name: 'minecraft:nether',\r\n bedrock_roof_position: 0,\r\n bedrock_floor_position: 0,\r\n sea_level: 32,\r\n disable_mob_generation: true,\r\n noise_caves_enabled: false,\r\n aquifers_enabled: false,\r\n deepslate_enabled: false,\r\n noise: {\r\n min_y: 0,\r\n height: 128,\r\n density_factor: 0,\r\n density_offset: 0.019921875,\r\n simplex_surface_noise: false,\r\n random_density_offset: false,\r\n size_horizontal: 1,\r\n size_vertical: 2,\r\n sampling: {\r\n xz_scale: 1,\r\n y_scale: 3,\r\n xz_factor: 80,\r\n y_factor: 60\r\n },\r\n top_slide: {\r\n target: 120,\r\n size: 3,\r\n offset: 0\r\n },\r\n bottom_slide: {\r\n target: 320,\r\n size: 4,\r\n offset: -1\r\n }\r\n },\r\n default_block: {\r\n Name: \"minecraft:netherrack\"\r\n },\r\n default_fluid: {\r\n Name: \"minecraft:lava\",\r\n Properties: {\r\n level: \"0\"\r\n }\r\n }\r\n },\r\n 'minecraft:end': {\r\n name: 'minecraft:end',\r\n bedrock_roof_position: -10,\r\n bedrock_floor_position: -10,\r\n sea_level: 0,\r\n disable_mob_generation: true,\r\n noise_caves_enabled: false,\r\n aquifers_enabled: false,\r\n deepslate_enabled: false,\r\n noise: {\r\n min_y: 0,\r\n height: 128,\r\n density_factor: 0,\r\n density_offset: 0,\r\n simplex_surface_noise: true,\r\n random_density_offset: false,\r\n island_noise_override: true,\r\n size_horizontal: 2,\r\n size_vertical: 1,\r\n sampling: {\r\n xz_scale: 2,\r\n y_scale: 1,\r\n xz_factor: 80,\r\n y_factor: 160\r\n },\r\n top_slide: {\r\n target: -3000,\r\n size: 64,\r\n offset: -46\r\n },\r\n bottom_slide: {\r\n target: -30,\r\n size: 7,\r\n offset: 1\r\n }\r\n },\r\n default_block: {\r\n Name: \"minecraft:end_stone\"\r\n },\r\n default_fluid: {\r\n Name: \"minecraft:air\"\r\n }\r\n },\r\n 'minecraft:amplified': {\r\n name: 'minecraft:amplified',\r\n bedrock_roof_position: -10,\r\n bedrock_floor_position: 0,\r\n sea_level: 63,\r\n disable_mob_generation: false,\r\n noise_caves_enabled: true,\r\n aquifers_enabled: true,\r\n deepslate_enabled: true,\r\n noise: {\r\n min_y: 0,\r\n height: 256,\r\n density_factor: 1,\r\n density_offset: -0.46875,\r\n simplex_surface_noise: true,\r\n random_density_offset: true,\r\n amplified: true,\r\n size_horizontal: 1,\r\n size_vertical: 2,\r\n sampling: {\r\n xz_scale: 1,\r\n y_scale: 1,\r\n xz_factor: 80,\r\n y_factor: 160\r\n },\r\n top_slide: {\r\n target: -10,\r\n size: 3,\r\n offset: 0\r\n },\r\n bottom_slide: {\r\n target: -30,\r\n size: 0,\r\n offset: 0\r\n }\r\n },\r\n default_block: {\r\n Name: \"minecraft:stone\"\r\n },\r\n default_fluid: {\r\n Name: \"minecraft:water\",\r\n Properties: {\r\n level: \"0\"\r\n }\r\n }\r\n },\r\n 'minecraft:caves': {\r\n name: 'minecraft:caves',\r\n bedrock_roof_position: 0,\r\n bedrock_floor_position: 0,\r\n sea_level: 32,\r\n disable_mob_generation: true,\r\n noise_caves_enabled: false,\r\n aquifers_enabled: false,\r\n deepslate_enabled: false,\r\n noise: {\r\n min_y: 0,\r\n height: 128,\r\n density_factor: 0,\r\n density_offset: 0.019921875,\r\n simplex_surface_noise: false,\r\n random_density_offset: false,\r\n size_horizontal: 1,\r\n size_vertical: 2,\r\n sampling: {\r\n xz_scale: 1,\r\n y_scale: 3,\r\n xz_factor: 80,\r\n y_factor: 60\r\n },\r\n top_slide: {\r\n target: 120,\r\n size: 3,\r\n offset: 0\r\n },\r\n bottom_slide: {\r\n target: 320,\r\n size: 4,\r\n offset: -1\r\n }\r\n },\r\n default_block: {\r\n Name: \"minecraft:stone\"\r\n },\r\n default_fluid: {\r\n Name: \"minecraft:water\",\r\n Properties: {\r\n level: \"0\"\r\n }\r\n }\r\n },\r\n 'minecraft:floating_islands': {\r\n name: 'minecraft:floating_islands',\r\n bedrock_roof_position: -10,\r\n bedrock_floor_position: -10,\r\n sea_level: 0,\r\n disable_mob_generation: true,\r\n noise_caves_enabled: false,\r\n aquifers_enabled: false,\r\n deepslate_enabled: false,\r\n noise: {\r\n min_y: 0,\r\n height: 128,\r\n density_factor: 0,\r\n density_offset: 0,\r\n simplex_surface_noise: true,\r\n random_density_offset: false,\r\n island_noise_override: true,\r\n size_horizontal: 2,\r\n size_vertical: 1,\r\n sampling: {\r\n xz_scale: 2,\r\n y_scale: 1,\r\n xz_factor: 80,\r\n y_factor: 160\r\n },\r\n top_slide: {\r\n target: -3000,\r\n size: 64,\r\n offset: -46\r\n },\r\n bottom_slide: {\r\n target: -30,\r\n size: 7,\r\n offset: 1\r\n }\r\n },\r\n default_block: {\r\n Name: \"minecraft:stone\"\r\n },\r\n default_fluid: {\r\n Name: \"minecraft:water\",\r\n Properties: {\r\n level: \"0\"\r\n }\r\n }\r\n }\r\n });\r\n}\r\nexports.initCommonSchemas = initCommonSchemas;\r\n","\"use strict\";\r\nObject.defineProperty(exports, \"__esModule\", { value: true });\r\nexports.initConditionSchemas = void 0;\r\nconst core_1 = require(\"@mcschema/core\");\r\nconst Common_1 = require(\"./Common\");\r\nfunction initConditionSchemas(schemas, collections) {\r\n const Reference = core_1.Reference.bind(undefined, schemas);\r\n const StringNode = core_1.StringNode.bind(undefined, collections);\r\n schemas.register('predicate', core_1.ObjectOrList(Reference('condition'), { choiceContext: 'condition' }));\r\n schemas.register('condition', core_1.Mod(core_1.ObjectNode({\r\n condition: StringNode({ validator: 'resource', params: { pool: 'loot_condition_type' } }),\r\n [core_1.Switch]: [{ push: 'condition' }],\r\n [core_1.Case]: Common_1.ConditionCases()\r\n }, { category: 'predicate', context: 'condition' }), {\r\n default: () => ({\r\n condition: 'minecraft:entity_properties',\r\n entity: 'this'\r\n })\r\n }));\r\n}\r\nexports.initConditionSchemas = initConditionSchemas;\r\n","\"use strict\";\r\nObject.defineProperty(exports, \"__esModule\", { value: true });\r\nexports.initDimensionSchemas = void 0;\r\nconst core_1 = require(\"@mcschema/core\");\r\nconst Common_1 = require(\"./Common\");\r\nfunction initDimensionSchemas(schemas, collections) {\r\n const Reference = core_1.Reference.bind(undefined, schemas);\r\n const StringNode = core_1.StringNode.bind(undefined, collections);\r\n const NoPreset = (node) => core_1.Mod(node, {\r\n enabled: path => path.push('preset').get() === undefined\r\n });\r\n schemas.register('dimension', core_1.Mod(core_1.ObjectNode({\r\n type: Common_1.DimensionTypePresets(Reference('dimension_type')),\r\n generator: core_1.ObjectNode({\r\n type: StringNode({ validator: 'resource', params: { pool: 'worldgen/chunk_generator' } }),\r\n [core_1.Switch]: [{ push: 'type' }],\r\n [core_1.Case]: {\r\n 'minecraft:noise': {\r\n seed: core_1.NumberNode({ integer: true }),\r\n settings: Common_1.NoiseSettingsPresets(Reference('noise_settings')),\r\n biome_source: core_1.ObjectNode({\r\n type: StringNode({ validator: 'resource', params: { pool: 'worldgen/biome_source' } }),\r\n [core_1.Switch]: [{ push: 'type' }],\r\n [core_1.Case]: {\r\n 'minecraft:fixed': {\r\n biome: StringNode({ validator: 'resource', params: { pool: '$worldgen/biome' } })\r\n },\r\n 'minecraft:multi_noise': {\r\n seed: core_1.NumberNode({ integer: true }),\r\n preset: core_1.Opt(StringNode({ enum: ['nether'] })),\r\n altitude_noise: NoPreset(Reference('generator_biome_noise')),\r\n temperature_noise: NoPreset(Reference('generator_biome_noise')),\r\n humidity_noise: NoPreset(Reference('generator_biome_noise')),\r\n weirdness_noise: NoPreset(Reference('generator_biome_noise')),\r\n biomes: NoPreset(core_1.Mod(core_1.ListNode(Reference('generator_biome')), {\r\n default: () => [{\r\n biome: 'minecraft:plains'\r\n }]\r\n }))\r\n },\r\n 'minecraft:checkerboard': {\r\n scale: core_1.Opt(core_1.NumberNode({ integer: true, min: 0, max: 62 })),\r\n biomes: core_1.ListNode(StringNode({ validator: 'resource', params: { pool: '$worldgen/biome' } }))\r\n },\r\n 'minecraft:the_end': {\r\n seed: core_1.NumberNode({ integer: true })\r\n },\r\n 'minecraft:vanilla_layered': {\r\n seed: core_1.NumberNode({ integer: true }),\r\n large_biomes: core_1.Opt(core_1.BooleanNode()),\r\n legacy_biome_init_layer: core_1.Opt(core_1.BooleanNode())\r\n }\r\n }\r\n }, { category: 'predicate', disableSwitchContext: true })\r\n },\r\n 'minecraft:flat': {\r\n settings: core_1.ObjectNode({\r\n biome: core_1.Opt(StringNode({ validator: 'resource', params: { pool: '$worldgen/biome' } })),\r\n lakes: core_1.Opt(core_1.BooleanNode()),\r\n features: core_1.Opt(core_1.BooleanNode()),\r\n layers: core_1.ListNode(Reference('generator_layer')),\r\n structures: Reference('generator_structures')\r\n })\r\n }\r\n }\r\n }, { disableSwitchContext: true })\r\n }, { category: 'pool', context: 'dimension' }), {\r\n default: () => {\r\n const seed = Math.floor(Math.random() * (4294967296)) - 2147483648;\r\n return {\r\n type: 'minecraft:overworld',\r\n generator: {\r\n type: 'minecraft:noise',\r\n seed,\r\n biome_source: {\r\n type: 'minecraft:fixed',\r\n seed,\r\n biome: 'minecraft:plains'\r\n },\r\n settings: 'minecraft:overworld'\r\n }\r\n };\r\n }\r\n }));\r\n schemas.register('generator_biome', core_1.Mod(core_1.ObjectNode({\r\n biome: StringNode({ validator: 'resource', params: { pool: '$worldgen/biome' } }),\r\n parameters: core_1.ObjectNode({\r\n altitude: core_1.NumberNode(),\r\n temperature: core_1.NumberNode(),\r\n humidity: core_1.NumberNode(),\r\n weirdness: core_1.NumberNode(),\r\n offset: core_1.NumberNode()\r\n })\r\n }, { context: 'generator_biome' }), {\r\n default: () => ({\r\n biome: 'minecraft:plains',\r\n parameters: {\r\n altitude: 0,\r\n temperature: 0,\r\n humidity: 0,\r\n weirdness: 0,\r\n offset: 0\r\n }\r\n })\r\n }));\r\n schemas.register('generator_biome_noise', core_1.Mod(core_1.ObjectNode({\r\n firstOctave: core_1.NumberNode({ integer: true }),\r\n amplitudes: core_1.ListNode(core_1.NumberNode())\r\n }, { context: 'generator_biome_noise' }), {\r\n default: () => ({\r\n firstOctave: -7,\r\n amplitudes: [1, 1]\r\n })\r\n }));\r\n}\r\nexports.initDimensionSchemas = initDimensionSchemas;\r\n","\"use strict\";\r\nObject.defineProperty(exports, \"__esModule\", { value: true });\r\nexports.initDimensionTypeSchemas = void 0;\r\nconst core_1 = require(\"@mcschema/core\");\r\nconst Common_1 = require(\"./Common\");\r\nfunction initDimensionTypeSchemas(schemas, collections) {\r\n const StringNode = core_1.StringNode.bind(undefined, collections);\r\n schemas.register('dimension_type', core_1.Mod(core_1.ObjectNode({\r\n name: core_1.Mod(StringNode({ validator: 'resource', params: { pool: '$dimension_type', isDefinition: true } }), {\r\n enabled: (path) => path.getArray().length > 0\r\n }),\r\n ultrawarm: core_1.BooleanNode(),\r\n natural: core_1.BooleanNode(),\r\n piglin_safe: core_1.BooleanNode(),\r\n respawn_anchor_works: core_1.BooleanNode(),\r\n bed_works: core_1.BooleanNode(),\r\n has_raids: core_1.BooleanNode(),\r\n has_skylight: core_1.BooleanNode(),\r\n has_ceiling: core_1.BooleanNode(),\r\n coordinate_scale: core_1.NumberNode({ min: 0.00001, max: 30000000 }),\r\n ambient_light: core_1.NumberNode(),\r\n fixed_time: core_1.Opt(core_1.NumberNode({ integer: true })),\r\n logical_height: core_1.NumberNode({ integer: true, min: 0, max: 4096 }),\r\n effects: core_1.Opt(StringNode({ enum: ['minecraft:overworld', 'minecraft:the_nether', 'minecraft:the_end'] })),\r\n infiniburn: StringNode({ validator: 'resource', params: { pool: '$tag/block' } }),\r\n min_y: core_1.NumberNode({ integer: true, min: -2048, max: 2047 }),\r\n height: core_1.NumberNode({ integer: true, min: 0, max: 4096 })\r\n }, { context: 'dimension_type' }), node => ({\r\n default: () => Common_1.DefaultDimensionType,\r\n validate: (path, value, errors, options) => {\r\n value = node.validate(path, value, errors, options);\r\n if ((value === null || value === void 0 ? void 0 : value.min_y) + (value === null || value === void 0 ? void 0 : value.height) > 2047) {\r\n errors.add(path.push('height'), 'error.min_y_plus_height', 2047);\r\n }\r\n if ((value === null || value === void 0 ? void 0 : value.logical_height) > (value === null || value === void 0 ? void 0 : value.height)) {\r\n errors.add(path.push('logical_height'), 'error.logical_height');\r\n }\r\n if ((value === null || value === void 0 ? void 0 : value.height) % 16 !== 0) {\r\n errors.add(path.push('height'), 'error.height_multiple', 16);\r\n }\r\n if ((value === null || value === void 0 ? void 0 : value.min_y) % 16 !== 0) {\r\n errors.add(path.push('min_y'), 'error.min_y_multiple', 16);\r\n }\r\n return value;\r\n }\r\n })));\r\n}\r\nexports.initDimensionTypeSchemas = initDimensionTypeSchemas;\r\n","\"use strict\";\r\nObject.defineProperty(exports, \"__esModule\", { value: true });\r\nexports.initItemModifierSchemas = void 0;\r\nconst core_1 = require(\"@mcschema/core\");\r\nconst Common_1 = require(\"./Common\");\r\nfunction initItemModifierSchemas(schemas, collections) {\r\n const Reference = core_1.Reference.bind(undefined, schemas);\r\n const StringNode = core_1.StringNode.bind(undefined, collections);\r\n schemas.register('item_modifier', core_1.ObjectOrList(Reference('function'), { choiceContext: 'function' }));\r\n const conditions = {\r\n conditions: core_1.Opt(core_1.ListNode(Reference('condition')))\r\n };\r\n schemas.register('function', core_1.Mod(core_1.ObjectNode({\r\n function: StringNode({ validator: 'resource', params: { pool: 'loot_function_type' } }),\r\n [core_1.Switch]: [{ push: 'function' }],\r\n [core_1.Case]: Common_1.FunctionCases(conditions)\r\n }, { category: 'function', context: 'function' }), {\r\n default: () => [{\r\n function: 'minecraft:set_count',\r\n count: 1\r\n }]\r\n }));\r\n}\r\nexports.initItemModifierSchemas = initItemModifierSchemas;\r\n","\"use strict\";\r\nObject.defineProperty(exports, \"__esModule\", { value: true });\r\nexports.LootFunctions = exports.LootConditions = exports.LootCopySources = exports.LootEntitySources = exports.LootTableTypes = void 0;\r\nexports.LootTableTypes = new Map([\r\n ['minecraft:advancement_entity', { requires: [7 /* Origin */, 8 /* ThisEntity */], allows: [] }],\r\n ['minecraft:advancement_reward', { requires: [7 /* Origin */, 8 /* ThisEntity */], allows: [] }],\r\n ['minecraft:barter', { requires: [8 /* ThisEntity */], allows: [] }],\r\n ['minecraft:block', { requires: [1 /* BlockState */, 7 /* Origin */, 9 /* Tool */], allows: [0 /* BlockEntity */, 4 /* ExplosionRadius */, 8 /* ThisEntity */] }],\r\n ['minecraft:chest', { requires: [7 /* Origin */], allows: [8 /* ThisEntity */] }],\r\n ['minecraft:command', { requires: [7 /* Origin */], allows: [8 /* ThisEntity */] }],\r\n ['minecraft:empty', { requires: [], allows: [] }],\r\n ['minecraft:entity', { requires: [2 /* DamageSource */, 7 /* Origin */, 8 /* ThisEntity */], allows: [3 /* DirectKillerEntity */, 5 /* KillerEntity */, 6 /* LastDamagePlayer */] }],\r\n ['minecraft:fishing', { requires: [7 /* Origin */, 9 /* Tool */], allows: [8 /* ThisEntity */] }],\r\n ['minecraft:generic', { requires: [2 /* DamageSource */, 0 /* BlockEntity */, 1 /* BlockState */, 3 /* DirectKillerEntity */, 4 /* ExplosionRadius */, 5 /* KillerEntity */, 6 /* LastDamagePlayer */, 7 /* Origin */, 8 /* ThisEntity */, 9 /* Tool */], allows: [] }],\r\n ['minecraft:gift', { requires: [7 /* Origin */, 8 /* ThisEntity */], allows: [] }],\r\n ['minecraft:selector', { requires: [7 /* Origin */], allows: [8 /* ThisEntity */] }]\r\n]);\r\n/**\r\n * A map from loot entity sources to an array of their required context.\r\n */\r\nexports.LootEntitySources = new Map([\r\n ['direct_killer', [3 /* DirectKillerEntity */]],\r\n ['killer', [5 /* KillerEntity */]],\r\n ['killer_player', [5 /* KillerEntity */]],\r\n ['this', [8 /* ThisEntity */]]\r\n]);\r\n/**\r\n * A map from loot copy sources to an array of their required context.\r\n */\r\nexports.LootCopySources = new Map([\r\n ['block_entity', [0 /* BlockEntity */]],\r\n ['killer', [5 /* KillerEntity */]],\r\n ['killer_player', [5 /* KillerEntity */]],\r\n ['this', [8 /* ThisEntity */]]\r\n]);\r\n/**\r\n * A map from loot condition IDs to an array of their required context.\r\n */\r\nexports.LootConditions = new Map([\r\n ['minecraft:alternative', []],\r\n ['minecraft:block_state_property', [1 /* BlockState */]],\r\n ['minecraft:damage_source_properties', [2 /* DamageSource */]],\r\n ['minecraft:entity_properties', [7 /* Origin */]],\r\n ['minecraft:entity_scores', []],\r\n ['minecraft:inverted', []],\r\n ['minecraft:killed_by_player', [6 /* LastDamagePlayer */]],\r\n ['minecraft:location_check', []],\r\n ['minecraft:match_tool', [9 /* Tool */]],\r\n ['minecraft:random_chance', []],\r\n ['minecraft:random_chance_with_looting', [5 /* KillerEntity */]],\r\n ['minecraft:reference', []],\r\n ['minecraft:survives_explosion', [4 /* ExplosionRadius */]],\r\n ['minecraft:table_bonus', [9 /* Tool */]],\r\n ['minecraft:time_check', []],\r\n ['minecraft:weather_check', []]\r\n]);\r\n/**\r\n * A map from loot function IDs to an array of their required context.\r\n */\r\nexports.LootFunctions = new Map([\r\n ['minecraft:apply_bonus', [9 /* Tool */]],\r\n ['minecraft:copy_name', []],\r\n ['minecraft:copy_nbt', []],\r\n ['minecraft:copy_state', [1 /* BlockState */]],\r\n ['minecraft:enchant_randomly', []],\r\n ['minecraft:enchant_with_levels', []],\r\n ['minecraft:exploration_map', [7 /* Origin */]],\r\n ['minecraft:explosion_decay', []],\r\n ['minecraft:fill_player_head', []],\r\n ['minecraft:furnace_smelt', []],\r\n ['minecraft:limit_count', []],\r\n ['minecraft:looting_enchant', [5 /* KillerEntity */]],\r\n ['minecraft:set_attributes', []],\r\n ['minecraft:set_banner_pattern', []],\r\n ['minecraft:set_contents', []],\r\n ['minecraft:set_count', []],\r\n ['minecraft:set_damage', []],\r\n ['minecraft:set_loot_table', []],\r\n ['minecraft:set_lore', []],\r\n ['minecraft:set_name', []],\r\n ['minecraft:set_nbt', []],\r\n ['minecraft:set_stew_effect', []]\r\n]);\r\n","\"use strict\";\r\nObject.defineProperty(exports, \"__esModule\", { value: true });\r\nexports.initLootTableSchemas = void 0;\r\nconst core_1 = require(\"@mcschema/core\");\r\nconst LootContext_1 = require(\"../LootContext\");\r\nconst Common_1 = require(\"./Common\");\r\nfunction initLootTableSchemas(schemas, collections) {\r\n const Reference = core_1.Reference.bind(undefined, schemas);\r\n const StringNode = core_1.StringNode.bind(undefined, collections);\r\n const conditions = {\r\n conditions: core_1.Opt(core_1.ListNode(Reference('loot_condition')))\r\n };\r\n const functionsAndConditions = {\r\n functions: core_1.Opt(core_1.ListNode(Reference('loot_function'))),\r\n ...conditions\r\n };\r\n function compileSwitchNode(contextMap, collectionID, getNode) {\r\n const cases = [];\r\n const getAvailableOptions = (providedContext) => collections\r\n .get(collectionID)\r\n .filter(t => {\r\n var _a;\r\n const requiredContext = (_a = contextMap.get(t)) !== null && _a !== void 0 ? _a : [];\r\n return requiredContext.every(c => providedContext.includes(c));\r\n });\r\n for (const [tableType, { allows, requires }] of LootContext_1.LootTableTypes) {\r\n const providedContext = [...allows, ...requires];\r\n cases.push({\r\n match: path => path.getModel().get(new core_1.Path(['type'])) === tableType,\r\n node: getNode(getAvailableOptions(providedContext))\r\n });\r\n }\r\n cases.push({ match: _ => true, node: getNode(collectionID) });\r\n return core_1.SwitchNode(cases);\r\n }\r\n const conditionIDSwtichNode = compileSwitchNode(LootContext_1.LootConditions, 'loot_condition_type', type => StringNode({ validator: 'resource', params: { pool: type instanceof Array ? type : `loot_condition_type` } }));\r\n const functionIDSwtichNode = compileSwitchNode(LootContext_1.LootFunctions, 'loot_function_type', type => StringNode({ validator: 'resource', params: { pool: type instanceof Array ? type : `loot_function_type` } }));\r\n const entitySourceSwtichNode = compileSwitchNode(LootContext_1.LootEntitySources, 'entity_source', type => StringNode({ enum: type }));\r\n const copySourceSwtichNode = compileSwitchNode(LootContext_1.LootCopySources, 'copy_source', type => StringNode({ enum: type }));\r\n schemas.register('loot_table', core_1.Mod(core_1.ObjectNode({\r\n type: core_1.Opt(StringNode({ validator: \"resource\", params: { pool: collections.get('loot_context_type') } })),\r\n pools: core_1.Opt(core_1.ListNode(core_1.Mod(core_1.ObjectNode({\r\n rolls: Reference('number_provider'),\r\n bonus_rolls: core_1.Opt(Reference('number_provider')),\r\n entries: core_1.ListNode(Reference('loot_entry')),\r\n ...functionsAndConditions\r\n }, { category: 'pool', context: 'loot_pool' }), {\r\n default: () => ({\r\n rolls: 1,\r\n entries: [{\r\n type: 'minecraft:item',\r\n name: 'minecraft:stone'\r\n }]\r\n })\r\n }))),\r\n functions: core_1.Opt(core_1.ListNode(Reference('loot_function')))\r\n }, { context: 'loot_table' }), {\r\n default: () => ({\r\n pools: [{\r\n rolls: 1,\r\n entries: [{\r\n type: 'minecraft:item',\r\n name: 'minecraft:stone'\r\n }]\r\n }]\r\n })\r\n }));\r\n const weightMod = {\r\n enabled: path => {\r\n var _a;\r\n return ((_a = path.pop().get()) === null || _a === void 0 ? void 0 : _a.length) > 1\r\n && !['minecraft:alternatives', 'minecraft:group', 'minecraft:sequence'].includes(path.push('type').get());\r\n }\r\n };\r\n schemas.register('loot_entry', core_1.Mod(core_1.ObjectNode({\r\n type: StringNode({ validator: 'resource', params: { pool: 'loot_pool_entry_type' } }),\r\n weight: core_1.Opt(core_1.Mod(core_1.NumberNode({ integer: true, min: 1 }), weightMod)),\r\n quality: core_1.Opt(core_1.Mod(core_1.NumberNode({ integer: true }), weightMod)),\r\n [core_1.Switch]: [{ push: 'type' }],\r\n [core_1.Case]: {\r\n 'minecraft:alternatives': {\r\n children: core_1.ListNode(Reference('loot_entry')),\r\n ...functionsAndConditions\r\n },\r\n 'minecraft:dynamic': {\r\n name: StringNode(),\r\n ...functionsAndConditions\r\n },\r\n 'minecraft:group': {\r\n children: core_1.ListNode(Reference('loot_entry')),\r\n ...functionsAndConditions\r\n },\r\n 'minecraft:item': {\r\n name: StringNode({ validator: 'resource', params: { pool: 'item' } }),\r\n ...functionsAndConditions\r\n },\r\n 'minecraft:loot_table': {\r\n name: StringNode({ validator: 'resource', params: { pool: '$loot_table' } }),\r\n ...functionsAndConditions\r\n },\r\n 'minecraft:sequence': {\r\n children: core_1.ListNode(Reference('loot_entry')),\r\n ...functionsAndConditions\r\n },\r\n 'minecraft:tag': {\r\n name: StringNode({ validator: 'resource', params: { pool: '$tag/item' } }),\r\n expand: core_1.Opt(core_1.BooleanNode()),\r\n ...functionsAndConditions\r\n }\r\n }\r\n }, { context: 'loot_entry' }), {\r\n default: () => ({\r\n type: 'minecraft:item',\r\n name: 'minecraft:stone'\r\n })\r\n }));\r\n schemas.register('loot_function', core_1.Mod(core_1.ObjectNode({\r\n function: functionIDSwtichNode,\r\n [core_1.Switch]: [{ push: 'function' }],\r\n [core_1.Case]: Common_1.FunctionCases(conditions, copySourceSwtichNode, entitySourceSwtichNode)\r\n }, { category: 'function', context: 'function' }), {\r\n default: () => ({\r\n function: 'minecraft:set_count',\r\n count: 1\r\n })\r\n }));\r\n schemas.register('loot_condition', core_1.Mod(core_1.ObjectNode({\r\n condition: conditionIDSwtichNode,\r\n [core_1.Switch]: [{ push: 'condition' }],\r\n [core_1.Case]: Common_1.ConditionCases(entitySourceSwtichNode)\r\n }, { category: 'predicate', context: 'condition' }), {\r\n default: () => ({\r\n condition: 'minecraft:random_chance',\r\n chance: 0.5\r\n })\r\n }));\r\n schemas.register('attribute_modifier', core_1.Mod(core_1.ObjectNode({\r\n attribute: StringNode({ validator: 'resource', params: { pool: 'attribute' } }),\r\n name: StringNode(),\r\n amount: Reference('number_provider'),\r\n operation: StringNode({ enum: ['addition', 'multiply_base', 'multiply_total'] }),\r\n slot: core_1.StringOrList(StringNode({ enum: 'slot' }))\r\n }, { context: 'attribute_modifier' }), {\r\n default: () => ({\r\n attribute: 'minecraft:generic.max_health',\r\n name: '',\r\n amount: 1,\r\n operation: 'addition',\r\n slot: 'mainhand'\r\n })\r\n }));\r\n}\r\nexports.initLootTableSchemas = initLootTableSchemas;\r\n","\"use strict\";\r\nObject.defineProperty(exports, \"__esModule\", { value: true });\r\nexports.initPackMcmetaSchemas = void 0;\r\nconst core_1 = require(\"@mcschema/core\");\r\nconst CURRENT_PACK_FORMAT = 7;\r\nfunction initPackMcmetaSchemas(schemas, _) {\r\n const getSimpleString = (jsonText) => { var _a, _b; return jsonText instanceof Array ? getSimpleString(jsonText[0]) : (_b = (_a = jsonText === null || jsonText === void 0 ? void 0 : jsonText.text) !== null && _a !== void 0 ? _a : jsonText === null || jsonText === void 0 ? void 0 : jsonText.toString()) !== null && _b !== void 0 ? _b : ''; };\r\n schemas.register('pack_mcmeta', core_1.Mod(core_1.ObjectNode({\r\n pack: core_1.Mod(core_1.ObjectNode({\r\n pack_format: core_1.Mod(core_1.NumberNode({ integer: true, min: CURRENT_PACK_FORMAT, max: CURRENT_PACK_FORMAT }), {\r\n default: () => CURRENT_PACK_FORMAT,\r\n canUpdate: (_p, v) => v !== CURRENT_PACK_FORMAT,\r\n update: () => [{ name: 'pack_format', params: [CURRENT_PACK_FORMAT], newValue: CURRENT_PACK_FORMAT }]\r\n }),\r\n description: core_1.Reference(schemas, 'text_component')\r\n }), {\r\n default: () => ({\r\n pack_format: CURRENT_PACK_FORMAT,\r\n description: ''\r\n })\r\n })\r\n }), {\r\n default: () => ({\r\n pack: {\r\n pack_format: CURRENT_PACK_FORMAT,\r\n description: ''\r\n }\r\n })\r\n }));\r\n}\r\nexports.initPackMcmetaSchemas = initPackMcmetaSchemas;\r\n","\"use strict\";\r\nObject.defineProperty(exports, \"__esModule\", { value: true });\r\nexports.initPredicatesSchemas = void 0;\r\nconst core_1 = require(\"@mcschema/core\");\r\nfunction initPredicatesSchemas(schemas, collections) {\r\n const Reference = core_1.Reference.bind(undefined, schemas);\r\n const StringNode = core_1.StringNode.bind(undefined, collections);\r\n const StateChoice = core_1.ChoiceNode([\r\n {\r\n type: 'string',\r\n node: StringNode(),\r\n change: v => (typeof v === 'boolean' || typeof v === 'number') ? v.toString() : ''\r\n },\r\n {\r\n type: 'number',\r\n node: core_1.NumberNode(),\r\n change: v => (typeof v === 'string') ? parseInt(v) : 0\r\n },\r\n {\r\n type: 'object',\r\n node: core_1.ObjectNode({\r\n min: core_1.Opt(core_1.NumberNode({ integer: true })),\r\n max: core_1.Opt(core_1.NumberNode({ integer: true }))\r\n }),\r\n change: v => (typeof v === 'number') ? ({ min: v, max: v }) : ({})\r\n },\r\n {\r\n type: 'boolean',\r\n node: core_1.BooleanNode(),\r\n change: v => v === 'true' || v === 1\r\n }\r\n ]);\r\n schemas.register('item_predicate', core_1.ObjectNode({\r\n items: core_1.Opt(core_1.ListNode(StringNode({ validator: 'resource', params: { pool: 'item' } }))),\r\n tag: core_1.Opt(StringNode({ validator: 'resource', params: { pool: '$tag/item' } })),\r\n count: Reference('int_bounds'),\r\n durability: Reference('int_bounds'),\r\n potion: core_1.Opt(StringNode({ validator: 'resource', params: { pool: 'potion' } })),\r\n nbt: core_1.Opt(StringNode({ validator: 'nbt', params: { registry: { category: 'minecraft:item', id: ['pop', { push: 'item' }] } } })),\r\n enchantments: core_1.Opt(core_1.ListNode(Reference('enchantment_predicate')))\r\n }, { context: 'item' }));\r\n schemas.register('enchantment_predicate', core_1.ObjectNode({\r\n enchantment: core_1.Opt(StringNode({ validator: 'resource', params: { pool: 'enchantment' } })),\r\n levels: Reference('int_bounds')\r\n }, { context: 'enchantment' }));\r\n schemas.register('block_predicate', core_1.ObjectNode({\r\n blocks: core_1.Opt(core_1.ListNode(StringNode({ validator: 'resource', params: { pool: 'block' } }))),\r\n tag: core_1.Opt(StringNode({ validator: 'resource', params: { pool: '$tag/block' } })),\r\n nbt: core_1.Opt(StringNode({ validator: 'nbt', params: { registry: { category: 'minecraft:block', id: ['pop', { push: 'block' }] } } })),\r\n state: core_1.Opt(core_1.MapNode(StringNode(), StateChoice, { validation: { validator: 'block_state_map', params: { id: ['pop', { push: 'block' }] } } }))\r\n }, { context: 'block' }));\r\n schemas.register('fluid_predicate', core_1.ObjectNode({\r\n fluid: core_1.Opt(StringNode({ validator: 'resource', params: { pool: 'fluid' } })),\r\n tag: core_1.Opt(StringNode({ validator: 'resource', params: { pool: '$tag/fluid' } })),\r\n state: core_1.Opt(core_1.MapNode(StringNode(), StateChoice))\r\n }, { context: 'fluid' }));\r\n schemas.register('location_predicate', core_1.ObjectNode({\r\n position: core_1.Opt(core_1.ObjectNode({\r\n x: Reference('float_bounds'),\r\n y: Reference('float_bounds'),\r\n z: Reference('float_bounds')\r\n })),\r\n biome: core_1.Opt(StringNode({ validator: 'resource', params: { pool: '$worldgen/biome' } })),\r\n feature: core_1.Opt(StringNode({ enum: collections.get('worldgen/structure_feature').map(v => v.slice(10)) })),\r\n dimension: core_1.Opt(StringNode({ validator: 'resource', params: { pool: '$dimension' } })),\r\n light: core_1.Opt(core_1.ObjectNode({\r\n light: Reference('int_bounds')\r\n })),\r\n smokey: core_1.Opt(core_1.BooleanNode()),\r\n block: core_1.Opt(Reference('block_predicate')),\r\n fluid: core_1.Opt(Reference('fluid_predicate'))\r\n }, { context: 'location' }));\r\n schemas.register('statistic_predicate', core_1.ObjectNode({\r\n type: StringNode({ validator: 'resource', params: { pool: 'stat_type' } }),\r\n stat: StringNode(),\r\n value: Reference('int_bounds'),\r\n [core_1.Switch]: [{ push: 'type' }],\r\n [core_1.Case]: {\r\n 'minecraft:mined': {\r\n stat: StringNode({ validator: 'resource', params: { pool: 'block' } })\r\n },\r\n 'minecraft:crafted': {\r\n stat: StringNode({ validator: 'resource', params: { pool: 'item' } })\r\n },\r\n 'minecraft:used': {\r\n stat: StringNode({ validator: 'resource', params: { pool: 'item' } })\r\n },\r\n 'minecraft:broken': {\r\n stat: StringNode({ validator: 'resource', params: { pool: 'item' } })\r\n },\r\n 'minecraft:picked_up': {\r\n stat: StringNode({ validator: 'resource', params: { pool: 'item' } })\r\n },\r\n 'minecraft:dropped': {\r\n stat: StringNode({ validator: 'resource', params: { pool: 'item' } })\r\n },\r\n 'minecraft:killed': {\r\n stat: StringNode({ validator: 'resource', params: { pool: 'entity_type' } })\r\n },\r\n 'minecraft:killed_by': {\r\n stat: StringNode({ validator: 'resource', params: { pool: 'entity_type' } })\r\n },\r\n 'minecraft:custom': {\r\n stat: StringNode({ validator: 'resource', params: { pool: 'custom_stat' } })\r\n }\r\n }\r\n }));\r\n schemas.register('player_predicate', core_1.ObjectNode({\r\n gamemode: core_1.Opt(StringNode({ enum: 'gamemode' })),\r\n level: Reference('int_bounds'),\r\n advancements: core_1.Opt(core_1.MapNode(StringNode({ validator: 'resource', params: { pool: '$advancement' } }), core_1.ChoiceNode([\r\n { type: 'boolean', node: core_1.BooleanNode(), change: _ => true },\r\n {\r\n type: 'object', node: core_1.MapNode(StringNode(), core_1.BooleanNode())\r\n }\r\n ]))),\r\n recipes: core_1.Opt(core_1.MapNode(StringNode({ validator: 'resource', params: { pool: '$recipe' } }), core_1.BooleanNode())),\r\n stats: core_1.Opt(core_1.ListNode(Reference('statistic_predicate'))),\r\n looking_at: core_1.Opt(Reference('entity_predicate'))\r\n }, { context: 'player' }));\r\n schemas.register('status_effect_predicate', core_1.ObjectNode({\r\n amplifier: Reference('int_bounds'),\r\n duration: Reference('int_bounds'),\r\n ambient: core_1.Opt(core_1.BooleanNode()),\r\n visible: core_1.Opt(core_1.BooleanNode())\r\n }, { context: 'status_effect' }));\r\n schemas.register('distance_predicate', core_1.ObjectNode({\r\n x: Reference('float_bounds'),\r\n y: Reference('float_bounds'),\r\n z: Reference('float_bounds'),\r\n absolute: Reference('float_bounds'),\r\n horizontal: Reference('float_bounds')\r\n }, { context: 'distance' }));\r\n schemas.register('entity_predicate', core_1.ObjectNode({\r\n type: core_1.Opt(StringNode({ validator: 'resource', params: { pool: 'entity_type', allowTag: true } })),\r\n nbt: core_1.Opt(StringNode({ validator: 'nbt', params: { registry: { category: 'minecraft:entity', id: ['pop', { push: 'type' }] } } })),\r\n team: core_1.Opt(StringNode({ validator: 'team' })),\r\n location: core_1.Opt(Reference('location_predicate')),\r\n stepping_on: core_1.Opt(Reference('location_predicate')),\r\n distance: core_1.Opt(Reference('distance_predicate')),\r\n flags: core_1.Opt(core_1.ObjectNode({\r\n is_on_fire: core_1.Opt(core_1.BooleanNode()),\r\n is_sneaking: core_1.Opt(core_1.BooleanNode()),\r\n is_sprinting: core_1.Opt(core_1.BooleanNode()),\r\n is_swimming: core_1.Opt(core_1.BooleanNode()),\r\n is_baby: core_1.Opt(core_1.BooleanNode())\r\n })),\r\n equipment: core_1.Opt(core_1.MapNode(StringNode({ enum: 'slot' }), Reference('item_predicate'))),\r\n player: core_1.Opt(Reference('player_predicate')),\r\n vehicle: core_1.Opt(Reference('entity_predicate')),\r\n passenger: core_1.Opt(Reference('entity_predicate')),\r\n targeted_entity: core_1.Opt(Reference('entity_predicate')),\r\n lightning_bolt: core_1.Opt(core_1.ObjectNode({\r\n blocks_set_on_fire: core_1.Opt(Reference('int_bounds')),\r\n entity_struck: core_1.Opt(Reference('entity_predicate'))\r\n })),\r\n fishing_hook: core_1.Opt(core_1.ObjectNode({\r\n in_open_water: core_1.Opt(core_1.BooleanNode())\r\n })),\r\n effects: core_1.Opt(core_1.MapNode(StringNode({ validator: 'resource', params: { pool: 'mob_effect' } }), Reference('status_effect_predicate')))\r\n }, { context: 'entity' }));\r\n schemas.register('damage_source_predicate', core_1.ObjectNode({\r\n is_explosion: core_1.Opt(core_1.BooleanNode()),\r\n is_fire: core_1.Opt(core_1.BooleanNode()),\r\n is_magic: core_1.Opt(core_1.BooleanNode()),\r\n is_projectile: core_1.Opt(core_1.BooleanNode()),\r\n is_lightning: core_1.Opt(core_1.BooleanNode()),\r\n bypasses_armor: core_1.Opt(core_1.BooleanNode()),\r\n bypasses_invulnerability: core_1.Opt(core_1.BooleanNode()),\r\n bypasses_magic: core_1.Opt(core_1.BooleanNode()),\r\n source_entity: core_1.Opt(Reference('entity_predicate')),\r\n direct_entity: core_1.Opt(Reference('entity_predicate'))\r\n }, { context: 'damage_source' }));\r\n schemas.register('damage_predicate', core_1.ObjectNode({\r\n dealt: Reference('float_bounds'),\r\n taken: Reference('float_bounds'),\r\n blocked: core_1.Opt(core_1.BooleanNode()),\r\n source_entity: core_1.Opt(Reference('entity_predicate')),\r\n type: core_1.Opt(Reference('damage_source_predicate'))\r\n }, { context: 'damage' }));\r\n}\r\nexports.initPredicatesSchemas = initPredicatesSchemas;\r\n","\"use strict\";\r\nObject.defineProperty(exports, \"__esModule\", { value: true });\r\nexports.initRecipeSchemas = void 0;\r\nconst core_1 = require(\"@mcschema/core\");\r\nfunction initRecipeSchemas(schemas, collections) {\r\n const Reference = core_1.Reference.bind(undefined, schemas);\r\n const StringNode = core_1.StringNode.bind(undefined, collections);\r\n schemas.register('recipe', core_1.Mod(core_1.ObjectNode({\r\n type: StringNode({ validator: 'resource', params: { pool: 'recipe_serializer' } }),\r\n [core_1.Switch]: [{ push: 'type' }],\r\n [core_1.Case]: {\r\n 'minecraft:crafting_shaped': {\r\n group: core_1.Opt(StringNode({ enum: 'recipe_group', additional: true })),\r\n pattern: core_1.ListNode(StringNode()),\r\n key: core_1.MapNode(StringNode(), // TODO: add validation\r\n Reference('recipe_ingredient')),\r\n result: Reference('recipe_result')\r\n },\r\n 'minecraft:crafting_shapeless': {\r\n group: core_1.Opt(StringNode()),\r\n ingredients: core_1.ListNode(Reference('recipe_ingredient')),\r\n result: Reference('recipe_result')\r\n },\r\n 'minecraft:smelting': {\r\n group: core_1.Opt(StringNode()),\r\n ingredient: Reference('recipe_ingredient'),\r\n result: StringNode({ validator: 'resource', params: { pool: 'item' } }),\r\n experience: core_1.Opt(core_1.NumberNode()),\r\n cookingtime: core_1.Opt(core_1.Mod(core_1.NumberNode({ integer: true }), { default: () => 200 }))\r\n },\r\n 'minecraft:blasting': {\r\n group: core_1.Opt(StringNode()),\r\n ingredient: Reference('recipe_ingredient'),\r\n result: StringNode({ validator: 'resource', params: { pool: 'item' } }),\r\n experience: core_1.Opt(core_1.NumberNode()),\r\n cookingtime: core_1.Opt(core_1.Mod(core_1.NumberNode({ integer: true }), { default: () => 100 }))\r\n },\r\n 'minecraft:smoking': {\r\n group: core_1.Opt(StringNode()),\r\n ingredient: Reference('recipe_ingredient'),\r\n result: StringNode({ validator: 'resource', params: { pool: 'item' } }),\r\n experience: core_1.Opt(core_1.NumberNode()),\r\n cookingtime: core_1.Opt(core_1.Mod(core_1.NumberNode({ integer: true }), { default: () => 100 }))\r\n },\r\n 'minecraft:campfire_cooking': {\r\n group: core_1.Opt(StringNode()),\r\n ingredient: Reference('recipe_ingredient'),\r\n result: StringNode({ validator: 'resource', params: { pool: 'item' } }),\r\n experience: core_1.Opt(core_1.NumberNode()),\r\n cookingtime: core_1.Opt(core_1.Mod(core_1.NumberNode({ integer: true }), { default: () => 100 }))\r\n },\r\n 'minecraft:stonecutting': {\r\n group: core_1.Opt(StringNode()),\r\n ingredient: Reference('recipe_ingredient'),\r\n result: StringNode({ validator: 'resource', params: { pool: 'item' } }),\r\n count: core_1.NumberNode({ integer: true })\r\n },\r\n 'minecraft:smithing': {\r\n group: core_1.Opt(StringNode()),\r\n base: Reference('recipe_ingredient_object'),\r\n addition: Reference('recipe_ingredient_object'),\r\n result: Reference('recipe_result')\r\n }\r\n }\r\n }, { context: 'recipe' }), {\r\n default: () => ({\r\n type: 'minecraft:crafting_shaped'\r\n })\r\n }));\r\n schemas.register('recipe_ingredient', core_1.Mod(core_1.ChoiceNode([\r\n {\r\n type: 'object',\r\n node: Reference('recipe_ingredient_object'),\r\n change: v => v[0]\r\n },\r\n {\r\n type: 'list',\r\n node: core_1.ListNode(Reference('recipe_ingredient_object')),\r\n change: v => [v]\r\n }\r\n ]), {\r\n default: () => ({\r\n item: 'minecraft:stone'\r\n })\r\n }));\r\n schemas.register('recipe_ingredient_object', core_1.Mod(core_1.ObjectNode({\r\n item: core_1.Opt(StringNode({ validator: 'resource', params: { pool: 'item' } })),\r\n tag: core_1.Opt(StringNode({ validator: 'resource', params: { pool: '$tag/item' } }))\r\n }), {\r\n default: () => ({\r\n item: 'minecraft:stone'\r\n })\r\n }));\r\n schemas.register('recipe_result', core_1.Mod(core_1.ObjectNode({\r\n item: StringNode({ validator: 'resource', params: { pool: 'item' } }),\r\n count: core_1.Opt(core_1.Mod(core_1.NumberNode({ integer: true }), { default: () => 1 }))\r\n }), {\r\n default: () => ({\r\n item: 'minecraft:stone'\r\n })\r\n }));\r\n}\r\nexports.initRecipeSchemas = initRecipeSchemas;\r\n","\"use strict\";\r\nObject.defineProperty(exports, \"__esModule\", { value: true });\r\nexports.initTagsSchemas = void 0;\r\nconst core_1 = require(\"@mcschema/core\");\r\nfunction initTagsSchemas(schemas, collections) {\r\n const StringNode = core_1.StringNode.bind(undefined, collections);\r\n const TagBase = (type) => core_1.Mod(core_1.ObjectNode({\r\n replace: core_1.Opt(core_1.BooleanNode()),\r\n values: core_1.ListNode(core_1.ChoiceNode([\r\n {\r\n type: 'string',\r\n node: StringNode({ validator: 'resource', params: { pool: type, allowTag: true } }),\r\n change: v => v.id\r\n },\r\n {\r\n type: 'object',\r\n node: core_1.ObjectNode({\r\n id: StringNode({ validator: 'resource', params: { pool: type, allowTag: true, allowUnknown: true } }),\r\n required: core_1.BooleanNode()\r\n }),\r\n change: v => ({ id: v })\r\n }\r\n ])),\r\n }, { context: 'tag' }), {\r\n default: () => ({\r\n values: []\r\n })\r\n });\r\n schemas.register('block_tag', TagBase('block'));\r\n schemas.register('entity_type_tag', TagBase('entity_type'));\r\n schemas.register('fluid_tag', TagBase('fluid'));\r\n schemas.register('function_tag', TagBase('$function'));\r\n schemas.register('game_event_tag', TagBase('game_event'));\r\n schemas.register('item_tag', TagBase('item'));\r\n}\r\nexports.initTagsSchemas = initTagsSchemas;\r\n","\"use strict\";\r\nObject.defineProperty(exports, \"__esModule\", { value: true });\r\nexports.initTextComponentSchemas = void 0;\r\nconst core_1 = require(\"@mcschema/core\");\r\nfunction initTextComponentSchemas(schemas, collections) {\r\n const Reference = core_1.Reference.bind(undefined, schemas);\r\n const StringNode = core_1.StringNode.bind(undefined, collections);\r\n const getSimpleString = (v) => { var _a; return v instanceof Array ? getSimpleString(v[0]) : (_a = v === null || v === void 0 ? void 0 : v.text) !== null && _a !== void 0 ? _a : (typeof v === 'object' ? '' : v === null || v === void 0 ? void 0 : v.toString()); };\r\n schemas.register('text_component', core_1.Mod(core_1.ChoiceNode([\r\n {\r\n type: 'object',\r\n node: Reference('text_component_object'),\r\n change: v => v instanceof Array ? (typeof v[0] === 'object' ? v[0] : { text: getSimpleString(v[0]) }) : typeof v === 'object' ? v : { text: getSimpleString(v) }\r\n },\r\n {\r\n type: 'list',\r\n node: Reference('text_component_list'),\r\n change: v => [v]\r\n },\r\n {\r\n type: 'string',\r\n priority: 1,\r\n node: StringNode(),\r\n change: getSimpleString\r\n },\r\n {\r\n type: 'number',\r\n node: core_1.NumberNode(),\r\n change: v => {\r\n const n = parseFloat(getSimpleString(v));\r\n return isFinite(n) ? n : (!!v ? 1 : 0);\r\n }\r\n },\r\n {\r\n type: 'boolean',\r\n node: core_1.BooleanNode(),\r\n change: v => {\r\n const s = getSimpleString(v);\r\n return s === 'true' || s === 'false' ? s === 'true' : !!s;\r\n }\r\n }\r\n ], { context: 'text_component' }), {\r\n default: () => ({\r\n text: \"\"\r\n })\r\n }));\r\n const CommonFields = {\r\n color: core_1.Opt(StringNode()) /* TODO */,\r\n font: core_1.Opt(StringNode()),\r\n bold: core_1.Opt(core_1.BooleanNode()),\r\n italic: core_1.Opt(core_1.BooleanNode()),\r\n underlined: core_1.Opt(core_1.BooleanNode()),\r\n strikethrough: core_1.Opt(core_1.BooleanNode()),\r\n obfuscated: core_1.Opt(core_1.BooleanNode()),\r\n insertion: core_1.Opt(StringNode()),\r\n clickEvent: core_1.Opt(core_1.ObjectNode({\r\n action: StringNode({ enum: ['open_url', 'open_file', 'run_command', 'suggest_command', 'change_page', 'copy_to_clipboard'] }),\r\n [core_1.Switch]: [{ push: 'action' }],\r\n [core_1.Case]: {\r\n 'change_page': {\r\n value: StringNode()\r\n },\r\n 'copy_to_clipboard': {\r\n value: StringNode()\r\n },\r\n 'open_file': {\r\n value: StringNode()\r\n },\r\n 'open_url': {\r\n value: StringNode()\r\n },\r\n 'run_command': {\r\n value: StringNode({ validator: 'command', params: { leadingSlash: true, allowPartial: true } })\r\n },\r\n 'suggest_command': {\r\n value: StringNode({ validator: 'command', params: { leadingSlash: true, allowPartial: true } })\r\n }\r\n }\r\n })),\r\n hoverEvent: core_1.Opt(core_1.ObjectNode({\r\n action: StringNode({ enum: ['show_text', 'show_item', 'show_entity'] }),\r\n [core_1.Switch]: [{ push: 'action' }],\r\n [core_1.Case]: {\r\n 'show_text': {\r\n value: core_1.Opt(Reference('text_component')),\r\n contents: core_1.Opt(Reference('text_component'))\r\n },\r\n 'show_item': {\r\n value: core_1.Opt(StringNode({ validator: 'nbt', params: { module: 'util::InventoryItem' } })),\r\n contents: core_1.Opt(core_1.ObjectNode({\r\n id: StringNode({ validator: 'resource', params: { pool: 'item' } }),\r\n count: core_1.Opt(core_1.NumberNode({ integer: true })),\r\n tag: core_1.Opt(StringNode({ validator: 'nbt', params: { registry: { category: 'minecraft:item', id: ['pop', { push: 'id' }] } } }))\r\n }))\r\n },\r\n 'show_entity': {\r\n value: core_1.Opt(core_1.ObjectNode({\r\n name: core_1.Opt(StringNode()),\r\n type: core_1.Opt(StringNode()),\r\n id: core_1.Opt(StringNode())\r\n })),\r\n contents: core_1.Opt(core_1.Mod(core_1.ObjectNode({\r\n name: core_1.Opt(Reference('text_component')),\r\n type: StringNode({ validator: 'resource', params: { pool: 'entity_type' } }),\r\n id: StringNode({ validator: 'uuid' })\r\n }), {\r\n default: () => ({\r\n type: 'minecraft:pig',\r\n id: '00000001-0001-0001-0001-000000000001'\r\n })\r\n }))\r\n }\r\n }\r\n })),\r\n extra: core_1.Opt(Reference('text_component_list'))\r\n };\r\n schemas.register('text_component_object', core_1.Mod(core_1.ChoiceNode([\r\n {\r\n type: 'text',\r\n match: v => typeof v === 'object',\r\n change: v => ({ text: '' }),\r\n priority: -1,\r\n node: core_1.ObjectNode({\r\n text: StringNode(),\r\n ...CommonFields\r\n })\r\n },\r\n {\r\n type: 'translation',\r\n match: v => (v === null || v === void 0 ? void 0 : v.translate) !== undefined,\r\n change: v => ({ translate: '' }),\r\n node: core_1.ObjectNode({\r\n translate: StringNode(),\r\n with: core_1.Opt(Reference('text_component_list')),\r\n ...CommonFields\r\n })\r\n },\r\n {\r\n type: 'score',\r\n match: v => (v === null || v === void 0 ? void 0 : v.score) !== undefined,\r\n change: v => ({ score: {} }),\r\n node: core_1.ObjectNode({\r\n score: core_1.ObjectNode({\r\n name: StringNode({ validator: 'entity', params: { amount: 'single', type: 'entities', isScoreHolder: true } }),\r\n objective: StringNode({ validator: 'objective' }),\r\n value: core_1.Opt(StringNode())\r\n }),\r\n ...CommonFields\r\n })\r\n },\r\n {\r\n type: 'selector',\r\n match: v => (v === null || v === void 0 ? void 0 : v.selector) !== undefined,\r\n change: v => ({ selector: '' }),\r\n node: core_1.ObjectNode({\r\n selector: StringNode({ validator: 'entity', params: { amount: 'multiple', type: 'entities' } }),\r\n separator: core_1.Opt(Reference('text_component')),\r\n ...CommonFields\r\n })\r\n },\r\n {\r\n type: 'keybind',\r\n match: v => (v === null || v === void 0 ? void 0 : v.keybind) !== undefined,\r\n change: v => ({ keybind: '' }),\r\n node: core_1.ObjectNode({\r\n keybind: StringNode({ enum: 'keybind', additional: true }),\r\n ...CommonFields\r\n })\r\n },\r\n {\r\n type: 'nbt',\r\n match: v => (v === null || v === void 0 ? void 0 : v.nbt) !== undefined,\r\n change: v => ({ nbt: '' }),\r\n node: core_1.ObjectNode({\r\n nbt: StringNode({ validator: 'nbt_path' }),\r\n block: core_1.Opt(StringNode({ validator: 'vector', params: { dimension: 3, isInteger: true } })),\r\n entity: core_1.Opt(StringNode({ validator: 'entity', params: { amount: 'multiple', type: 'entities' } })),\r\n storage: core_1.Opt(StringNode({ validator: 'resource', params: { pool: '$storage' } })),\r\n interpret: core_1.Opt(core_1.BooleanNode()),\r\n separator: core_1.Opt(Reference('text_component')),\r\n ...CommonFields\r\n })\r\n }\r\n ], { context: 'text_component_object', choiceContext: 'text_component.object' }), {\r\n default: () => ({\r\n text: \"\"\r\n })\r\n }));\r\n schemas.register('text_component_list', core_1.Mod(core_1.ListNode(Reference('text_component')), {\r\n default: () => [{\r\n text: \"\"\r\n }]\r\n }));\r\n}\r\nexports.initTextComponentSchemas = initTextComponentSchemas;\r\n","\"use strict\";\r\nObject.defineProperty(exports, \"__esModule\", { value: true });\r\nexports.initBiomeSchemas = void 0;\r\nconst core_1 = require(\"@mcschema/core\");\r\nfunction initBiomeSchemas(schemas, collections) {\r\n const StringNode = core_1.StringNode.bind(undefined, collections);\r\n schemas.register('biome', core_1.Mod(core_1.ObjectNode({\r\n surface_builder: StringNode({ validator: 'resource', params: { pool: '$worldgen/configured_surface_builder' } }),\r\n depth: core_1.NumberNode(),\r\n scale: core_1.NumberNode(),\r\n temperature: core_1.NumberNode(),\r\n downfall: core_1.NumberNode(),\r\n precipitation: StringNode({ enum: ['none', 'rain', 'snow'] }),\r\n temperature_modifier: core_1.Opt(StringNode({ enum: ['none', 'frozen'] })),\r\n category: StringNode({ enum: 'biome_category' }),\r\n player_spawn_friendly: core_1.Opt(core_1.BooleanNode()),\r\n creature_spawn_probability: core_1.Opt(core_1.NumberNode({ min: 0, max: 1 })),\r\n effects: core_1.ObjectNode({\r\n sky_color: core_1.NumberNode({ color: true }),\r\n fog_color: core_1.NumberNode({ color: true }),\r\n water_color: core_1.NumberNode({ color: true }),\r\n water_fog_color: core_1.NumberNode({ color: true }),\r\n grass_color: core_1.Opt(core_1.NumberNode({ color: true })),\r\n foliage_color: core_1.Opt(core_1.NumberNode({ color: true })),\r\n grass_color_modifier: core_1.Opt(StringNode({ enum: ['none', 'dark_forest', 'swamp'] })),\r\n ambient_sound: core_1.Opt(StringNode()),\r\n mood_sound: core_1.Opt(core_1.ObjectNode({\r\n sound: StringNode(),\r\n tick_delay: core_1.NumberNode({ integer: true }),\r\n block_search_extent: core_1.NumberNode({ integer: true }),\r\n offset: core_1.NumberNode()\r\n })),\r\n additions_sound: core_1.Opt(core_1.ObjectNode({\r\n sound: StringNode(),\r\n tick_chance: core_1.NumberNode({ min: 0, max: 1 })\r\n })),\r\n music: core_1.Opt(core_1.ObjectNode({\r\n sound: StringNode(),\r\n min_delay: core_1.NumberNode({ integer: true, min: 0 }),\r\n max_delay: core_1.NumberNode({ integer: true, min: 0 }),\r\n replace_current_music: core_1.BooleanNode()\r\n })),\r\n particle: core_1.Opt(core_1.ObjectNode({\r\n options: core_1.ObjectNode({\r\n type: StringNode()\r\n }),\r\n probability: core_1.NumberNode({ min: 0, max: 1 })\r\n }))\r\n }),\r\n starts: core_1.ListNode(StringNode({ validator: 'resource', params: { pool: '$worldgen/configured_structure_feature' } })),\r\n spawners: core_1.MapNode(StringNode({ enum: [\r\n 'monster',\r\n 'creature',\r\n 'ambient',\r\n 'underground_water_creature',\r\n 'water_creature',\r\n 'water_ambient',\r\n 'misc'\r\n ] }), core_1.Mod(core_1.ListNode(core_1.ObjectNode({\r\n type: StringNode({ validator: 'resource', params: { pool: 'entity_type' } }),\r\n weight: core_1.NumberNode({ integer: true }),\r\n minCount: core_1.NumberNode({ integer: true }),\r\n maxCount: core_1.NumberNode({ integer: true })\r\n })), {\r\n category: () => 'pool',\r\n default: () => [{\r\n type: 'minecraft:bat',\r\n weight: 1\r\n }]\r\n })),\r\n spawn_costs: core_1.MapNode(StringNode({ validator: 'resource', params: { pool: 'entity_type' } }), core_1.Mod(core_1.ObjectNode({\r\n energy_budget: core_1.NumberNode(),\r\n charge: core_1.NumberNode()\r\n }, { category: 'function' }), {\r\n default: () => ({\r\n energy_budget: 0.12,\r\n charge: 1.0\r\n })\r\n })),\r\n carvers: core_1.MapNode(StringNode({ enum: ['air', 'liquid'] }), core_1.Mod(core_1.ListNode(StringNode({ validator: 'resource', params: { pool: '$worldgen/configured_carver' } })), {\r\n default: () => ['minecraft:cave']\r\n })),\r\n features: core_1.ListNode(core_1.Mod(core_1.ListNode(StringNode({ validator: 'resource', params: { pool: '$worldgen/configured_feature' } })), { category: () => 'predicate' }), { maxLength: 10 })\r\n }, { context: 'biome' }), {\r\n default: () => ({\r\n surface_builder: 'minecraft:grass',\r\n depth: 0.125,\r\n scale: 0.05,\r\n temperature: 0.8,\r\n downfall: 0.4,\r\n precipitation: 'rain',\r\n category: 'plains',\r\n effects: {\r\n sky_color: 7907327,\r\n fog_color: 12638463,\r\n water_color: 4159204,\r\n water_fog_color: 329011\r\n }\r\n })\r\n }));\r\n}\r\nexports.initBiomeSchemas = initBiomeSchemas;\r\n","\"use strict\";\r\nObject.defineProperty(exports, \"__esModule\", { value: true });\r\nexports.initCarverSchemas = void 0;\r\nconst core_1 = require(\"@mcschema/core\");\r\nconst Common_1 = require(\"../Common\");\r\nfunction initCarverSchemas(schemas, collections) {\r\n const Reference = core_1.Reference.bind(undefined, schemas);\r\n const StringNode = core_1.StringNode.bind(undefined, collections);\r\n const CanyonConfig = {\r\n vertical_rotation: Common_1.FloatProvider(),\r\n shape: core_1.ObjectNode({\r\n distance_factor: Common_1.FloatProvider(),\r\n thickness: Common_1.FloatProvider(),\r\n width_smoothness: core_1.NumberNode({ integer: true, min: 0 }),\r\n horizontal_radius_factor: Common_1.FloatProvider(),\r\n vertical_radius_default_factor: core_1.NumberNode(),\r\n vertical_radius_center_factor: core_1.NumberNode()\r\n })\r\n };\r\n const CaveConfig = {\r\n horizontal_radius_multiplier: Common_1.FloatProvider(),\r\n vertical_radius_multiplier: Common_1.FloatProvider(),\r\n floor_level: Common_1.FloatProvider({ min: -1, max: 1 }),\r\n };\r\n schemas.register('configured_carver', core_1.Mod(core_1.ObjectNode({\r\n type: StringNode({ validator: 'resource', params: { pool: 'worldgen/carver' } }),\r\n config: core_1.ObjectNode({\r\n probability: core_1.NumberNode({ min: 0, max: 1 }),\r\n y: Reference('height_provider'),\r\n yScale: Common_1.FloatProvider(),\r\n lava_level: Reference('vertical_anchor'),\r\n aquifers_enabled: core_1.BooleanNode(),\r\n debug_settings: core_1.Opt(core_1.ObjectNode({\r\n debug_mode: core_1.Opt(core_1.BooleanNode()),\r\n air_state: core_1.Opt(Reference('block_state')),\r\n water_state: core_1.Opt(Reference('block_state')),\r\n lava_state: core_1.Opt(Reference('block_state')),\r\n barrier_state: core_1.Opt(Reference('block_state'))\r\n })),\r\n [core_1.Switch]: ['pop', { push: 'type' }],\r\n [core_1.Case]: {\r\n 'minecraft:canyon': CanyonConfig,\r\n 'minecraft:cave': CaveConfig,\r\n 'minecraft:nether_cave': CaveConfig\r\n },\r\n })\r\n }, { context: 'carver' }), {\r\n default: () => ({\r\n type: 'minecraft:cave',\r\n config: {\r\n probability: 0.1\r\n }\r\n })\r\n }));\r\n}\r\nexports.initCarverSchemas = initCarverSchemas;\r\n","\"use strict\";\r\nObject.defineProperty(exports, \"__esModule\", { value: true });\r\nexports.initDecoratorSchemas = void 0;\r\nconst core_1 = require(\"@mcschema/core\");\r\nconst Common_1 = require(\"../Common\");\r\nfunction initDecoratorSchemas(schemas, collections) {\r\n const Reference = core_1.Reference.bind(undefined, schemas);\r\n const StringNode = core_1.StringNode.bind(undefined, collections);\r\n const CountConfig = {\r\n count: Common_1.IntProvider({ min: 0, max: 256 })\r\n };\r\n schemas.register('configured_decorator', core_1.ObjectNode({\r\n type: StringNode({ validator: 'resource', params: { pool: 'worldgen/decorator' } }),\r\n config: core_1.ObjectNode({\r\n [core_1.Switch]: ['pop', { push: 'type' }],\r\n [core_1.Case]: {\r\n 'minecraft:carving_mask': {\r\n step: StringNode({ enum: 'generation_step' })\r\n },\r\n 'minecraft:cave_surface': {\r\n surface: StringNode({ enum: ['floor', 'ceiling'] }),\r\n floor_to_ceiling_search_range: core_1.NumberNode({ integer: true })\r\n },\r\n 'minecraft:chance': {\r\n chance: core_1.NumberNode({ integer: true, min: 0 })\r\n },\r\n 'minecraft:count': CountConfig,\r\n 'minecraft:count_extra': {\r\n count: core_1.NumberNode({ integer: true, min: 0 }),\r\n extra_count: core_1.NumberNode({ integer: true, min: 0 }),\r\n extra_chance: core_1.NumberNode({ min: 0, max: 1 })\r\n },\r\n 'minecraft:count_multilayer': CountConfig,\r\n 'minecraft:count_noise': {\r\n noise_level: core_1.NumberNode(),\r\n below_noise: core_1.NumberNode({ integer: true }),\r\n above_noise: core_1.NumberNode({ integer: true })\r\n },\r\n 'minecraft:count_noise_biased': {\r\n noise_to_count_ratio: core_1.NumberNode({ integer: true }),\r\n noise_factor: core_1.NumberNode(),\r\n noise_offset: core_1.Opt(core_1.NumberNode())\r\n },\r\n 'minecraft:decorated': {\r\n outer: Reference('configured_decorator'),\r\n inner: Reference('configured_decorator')\r\n },\r\n 'minecraft:heightmap': {\r\n heightmap: StringNode({ enum: 'heightmap_type' })\r\n },\r\n 'minecraft:heightmap_spread_double': {\r\n heightmap: StringNode({ enum: 'heightmap_type' })\r\n },\r\n 'minecraft:lava_lake': {\r\n chance: core_1.NumberNode({ integer: true, min: 0 })\r\n },\r\n 'minecraft:range': {\r\n height: Reference('height_provider')\r\n },\r\n 'minecraft:water_depth_threshold': {\r\n max_water_depth: core_1.NumberNode({ integer: true })\r\n }\r\n }\r\n }, { context: 'decorator', category: 'predicate' })\r\n }, { context: 'decorator', category: 'predicate' }));\r\n}\r\nexports.initDecoratorSchemas = initDecoratorSchemas;\r\n","\"use strict\";\r\nObject.defineProperty(exports, \"__esModule\", { value: true });\r\nexports.initProcessorListSchemas = exports.Processors = void 0;\r\nconst core_1 = require(\"@mcschema/core\");\r\nfunction initProcessorListSchemas(schemas, collections) {\r\n const Reference = core_1.Reference.bind(undefined, schemas);\r\n const StringNode = core_1.StringNode.bind(undefined, collections);\r\n exports.Processors = core_1.ChoiceNode([\r\n {\r\n type: 'string',\r\n node: StringNode({ validator: 'resource', params: { pool: '$worldgen/processor_list' } }),\r\n change: v => undefined\r\n },\r\n {\r\n type: 'object',\r\n node: Reference('processor_list'),\r\n change: v => ({\r\n processors: [{\r\n \"processor_type\": \"minecraft:nop\"\r\n }]\r\n })\r\n }\r\n ]);\r\n schemas.register('processor_list', core_1.Mod(core_1.ObjectNode({\r\n processors: core_1.ListNode(Reference('processor'))\r\n }, { context: 'processor_list' }), {\r\n default: () => ({\r\n processors: [{\r\n processor_type: 'minecraft:rule',\r\n rules: [{\r\n location_predicate: {\r\n predicate_type: 'minecraft:always_true'\r\n },\r\n input_predicate: {\r\n predicate_type: 'minecraft:always_true'\r\n }\r\n }]\r\n }]\r\n })\r\n }));\r\n schemas.register('processor', core_1.Mod(core_1.ObjectNode({\r\n processor_type: StringNode({ validator: 'resource', params: { pool: 'worldgen/structure_processor' } }),\r\n [core_1.Switch]: [{ push: 'processor_type' }],\r\n [core_1.Case]: {\r\n 'minecraft:block_age': {\r\n mossiness: core_1.NumberNode()\r\n },\r\n 'minecraft:block_ignore': {\r\n blocks: core_1.ListNode(Reference('block_state'))\r\n },\r\n 'minecraft:block_rot': {\r\n integrity: core_1.NumberNode({ min: 0, max: 1 })\r\n },\r\n 'minecraft:gravity': {\r\n heightmap: StringNode({ enum: 'heightmap_type' }),\r\n offset: core_1.NumberNode({ integer: true })\r\n },\r\n 'minecraft:protected_blocks': {\r\n value: StringNode({ validator: 'resource', params: { pool: '$tag/block' } })\r\n },\r\n 'minecraft:rule': {\r\n rules: core_1.ListNode(Reference('processor_rule'))\r\n }\r\n }\r\n }, { category: 'function', context: 'processor' }), {\r\n default: () => ({\r\n processor_type: 'minecraft:rule',\r\n rules: [{\r\n location_predicate: {\r\n predicate_type: 'minecraft:always_true'\r\n },\r\n input_predicate: {\r\n predicate_type: 'minecraft:always_true'\r\n }\r\n }]\r\n })\r\n }));\r\n schemas.register('processor_rule', core_1.Mod(core_1.ObjectNode({\r\n position_predicate: core_1.Opt(Reference('pos_rule_test')),\r\n location_predicate: Reference('rule_test'),\r\n input_predicate: Reference('rule_test'),\r\n output_state: Reference('block_state'),\r\n output_nbt: core_1.Opt(StringNode({ validator: 'nbt', params: { registry: { category: 'minecraft:block' } } }))\r\n }, { category: 'predicate', context: 'processor_rule' }), {\r\n default: () => ({\r\n location_predicate: {\r\n predicate_type: 'minecraft:always_true'\r\n },\r\n input_predicate: {\r\n predicate_type: 'minecraft:always_true'\r\n }\r\n })\r\n }));\r\n const posTestFields = {\r\n min_dist: core_1.Opt(core_1.NumberNode({ min: 0, max: 255, integer: true })),\r\n max_dist: core_1.Opt(core_1.NumberNode({ min: 0, max: 255, integer: true })),\r\n min_chance: core_1.Opt(core_1.NumberNode({ min: 0, max: 1 })),\r\n max_chance: core_1.Opt(core_1.NumberNode({ min: 0, max: 1 }))\r\n };\r\n schemas.register('pos_rule_test', core_1.ObjectNode({\r\n predicate_type: StringNode({ validator: 'resource', params: { pool: 'pos_rule_test' } }),\r\n [core_1.Switch]: [{ push: 'predicate_type' }],\r\n [core_1.Case]: {\r\n 'minecraft:axis_aligned_linear_pos': {\r\n axis: StringNode({ enum: ['x', 'y', 'z'] }),\r\n ...posTestFields\r\n },\r\n 'minecraft:linear_pos': posTestFields\r\n }\r\n }, { context: 'pos_rule_test', disableSwitchContext: true }));\r\n schemas.register('rule_test', core_1.ObjectNode({\r\n predicate_type: StringNode({ validator: 'resource', params: { pool: 'rule_test' } }),\r\n [core_1.Switch]: [{ push: 'predicate_type' }],\r\n [core_1.Case]: {\r\n 'minecraft:block_match': {\r\n block: StringNode({ validator: 'resource', params: { pool: 'block' } })\r\n },\r\n 'minecraft:blockstate_match': {\r\n block_state: Reference('block_state')\r\n },\r\n 'minecraft:random_block_match': {\r\n block: StringNode({ validator: 'resource', params: { pool: 'block' } }),\r\n probability: core_1.NumberNode({ min: 0, max: 1 })\r\n },\r\n 'minecraft:random_blockstate_match': {\r\n block_state: Reference('block_state'),\r\n probability: core_1.NumberNode({ min: 0, max: 1 })\r\n },\r\n 'minecraft:tag_match': {\r\n tag: StringNode({ validator: 'resource', params: { pool: '$tag/block' } })\r\n }\r\n }\r\n }, { context: 'rule_test', disableSwitchContext: true }));\r\n}\r\nexports.initProcessorListSchemas = initProcessorListSchemas;\r\n","\"use strict\";\r\nObject.defineProperty(exports, \"__esModule\", { value: true });\r\nexports.initFeatureSchemas = void 0;\r\nconst core_1 = require(\"@mcschema/core\");\r\nconst Common_1 = require(\"../Common\");\r\nrequire(\"./Decorator\");\r\nrequire(\"./ProcessorList\");\r\nconst ProcessorList_1 = require(\"./ProcessorList\");\r\nfunction initFeatureSchemas(schemas, collections) {\r\n const Reference = core_1.Reference.bind(undefined, schemas);\r\n const StringNode = core_1.StringNode.bind(undefined, collections);\r\n const RandomPatchConfig = {\r\n can_replace: core_1.Opt(core_1.BooleanNode()),\r\n project: core_1.Opt(core_1.BooleanNode()),\r\n need_water: core_1.Opt(core_1.BooleanNode()),\r\n xspread: core_1.Opt(core_1.NumberNode({ integer: true, min: 0 })),\r\n yspread: core_1.Opt(core_1.NumberNode({ integer: true, min: 0 })),\r\n zspread: core_1.Opt(core_1.NumberNode({ integer: true, min: 0 })),\r\n tries: core_1.Opt(core_1.NumberNode({ integer: true, min: 1 })),\r\n state_provider: Reference('block_state_provider'),\r\n block_placer: Reference('block_placer'),\r\n whitelist: core_1.ListNode(Reference('block_state')),\r\n blacklist: core_1.ListNode(Reference('block_state'))\r\n };\r\n const DiskConfig = {\r\n state: Reference('block_state'),\r\n radius: Common_1.IntProvider({ min: 0, max: 8 }),\r\n half_height: core_1.NumberNode({ integer: true, min: 0, max: 4 }),\r\n targets: core_1.ListNode(Reference('block_state'))\r\n };\r\n const HugeMushroomConfig = {\r\n cap_provider: Reference('block_state_provider'),\r\n stem_provider: Reference('block_state_provider'),\r\n foliage_radius: core_1.Opt(core_1.NumberNode({ integer: true }))\r\n };\r\n const TargetBlockState = core_1.ObjectNode({\r\n target: Reference('rule_test'),\r\n state: Reference('block_state')\r\n });\r\n const OreConfig = {\r\n size: core_1.NumberNode({ integer: true, min: 0, max: 64 }),\r\n discard_chance_on_air_exposure: core_1.NumberNode({ min: 0, max: 1 }),\r\n targets: core_1.ListNode(TargetBlockState)\r\n };\r\n const Feature = core_1.ChoiceNode([\r\n {\r\n type: 'string',\r\n node: StringNode({ validator: 'resource', params: { pool: '$worldgen/configured_feature' } })\r\n },\r\n {\r\n type: 'object',\r\n node: Reference('configured_feature')\r\n }\r\n ], { choiceContext: 'feature' });\r\n const VegetationPatchConfig = {\r\n surface: StringNode({ enum: ['floor', 'ceiling'] }),\r\n depth: Common_1.IntProvider({ min: 1, max: 128 }),\r\n vertical_range: core_1.NumberNode({ integer: true, min: 1, max: 256 }),\r\n extra_bottom_block_chance: core_1.NumberNode({ min: 0, max: 1 }),\r\n extra_edge_column_chance: core_1.NumberNode({ min: 0, max: 1 }),\r\n vegetation_chance: core_1.NumberNode({ min: 0, max: 1 }),\r\n xz_radius: Common_1.IntProvider(),\r\n replaceable: StringNode({ validator: 'resource', params: { pool: '$tag/block' } }),\r\n ground_state: Reference('block_state_provider'),\r\n vegetation_feature: Feature\r\n };\r\n schemas.register('configured_feature', core_1.Mod(core_1.ObjectNode({\r\n type: StringNode({ validator: 'resource', params: { pool: 'worldgen/feature' } }),\r\n config: core_1.ObjectNode({\r\n [core_1.Switch]: ['pop', { push: 'type' }],\r\n [core_1.Case]: {\r\n 'minecraft:bamboo': {\r\n probability: core_1.NumberNode({ min: 0, max: 1 })\r\n },\r\n 'minecraft:basalt_columns': {\r\n reach: Common_1.IntProvider({ min: 0, max: 3 }),\r\n height: Common_1.IntProvider({ min: 1, max: 10 })\r\n },\r\n 'minecraft:block_pile': {\r\n state_provider: Reference('block_state_provider')\r\n },\r\n 'minecraft:decorated': {\r\n decorator: Reference('configured_decorator'),\r\n feature: Feature\r\n },\r\n 'minecraft:decorated_flower': {\r\n decorator: Reference('configured_decorator'),\r\n feature: Feature\r\n },\r\n 'minecraft:delta_feature': {\r\n contents: Reference('block_state'),\r\n rim: Reference('block_state'),\r\n size: Common_1.IntProvider({ min: 0, max: 16 }),\r\n rim_size: Common_1.IntProvider({ min: 0, max: 16 })\r\n },\r\n 'minecraft:disk': DiskConfig,\r\n 'minecraft:dripstone_cluster': {\r\n floor_to_ceiling_search_range: core_1.NumberNode({ integer: true, min: 1, max: 512 }),\r\n height: Common_1.IntProvider({ min: 0, max: 128 }),\r\n radius: Common_1.IntProvider({ min: 0, max: 128 }),\r\n max_stalagmite_stalactite_height_diff: core_1.NumberNode({ integer: true, min: 0, max: 64 }),\r\n height_deviation: core_1.NumberNode({ integer: true, min: 1, max: 64 }),\r\n dripstone_block_layer_thickness: Common_1.IntProvider({ min: 0, max: 128 }),\r\n density: Common_1.FloatProvider({ min: 0, max: 2 }),\r\n wetness: Common_1.FloatProvider({ min: 0, max: 2 }),\r\n chance_of_dripstone_column_at_max_distance_from_center: core_1.NumberNode({ min: 0, max: 1 }),\r\n max_distance_from_edge_affecting_chance_of_dripstone_column: core_1.NumberNode({ integer: true, min: 1, max: 64 }),\r\n max_distance_from_center_affecting_height_bias: core_1.NumberNode({ integer: true, min: 1, max: 64 })\r\n },\r\n 'minecraft:end_gateway': {\r\n exact: core_1.BooleanNode(),\r\n exit: core_1.Opt(Reference('block_pos'))\r\n },\r\n 'minecraft:end_spike': {\r\n crystal_invulnerable: core_1.Opt(core_1.BooleanNode()),\r\n crystal_beam_target: core_1.Opt(Reference('block_pos')),\r\n spikes: core_1.ListNode(core_1.ObjectNode({\r\n centerX: core_1.Opt(core_1.NumberNode({ integer: true })),\r\n centerZ: core_1.Opt(core_1.NumberNode({ integer: true })),\r\n radius: core_1.Opt(core_1.NumberNode({ integer: true })),\r\n height: core_1.Opt(core_1.NumberNode({ integer: true })),\r\n guarded: core_1.Opt(core_1.BooleanNode())\r\n }))\r\n },\r\n 'minecraft:fill_layer': {\r\n state: Reference('block_state'),\r\n height: core_1.NumberNode({ integer: true, min: 0, max: 255 })\r\n },\r\n 'minecraft:flower': RandomPatchConfig,\r\n 'minecraft:forest_rock': {\r\n state: Reference('block_state')\r\n },\r\n 'minecraft:fossil': {\r\n max_empty_corners_allowed: core_1.NumberNode({ integer: true, min: 0, max: 7 }),\r\n fossil_structures: core_1.ListNode(StringNode({ validator: 'resource', params: { pool: '$structure' } })),\r\n overlay_structures: core_1.ListNode(StringNode({ validator: 'resource', params: { pool: '$structure' } })),\r\n fossil_processors: ProcessorList_1.Processors,\r\n overlay_processors: ProcessorList_1.Processors,\r\n },\r\n 'minecraft:geode': {\r\n blocks: core_1.ObjectNode({\r\n filling_provider: Reference('block_state_provider'),\r\n inner_layer_provider: Reference('block_state_provider'),\r\n alternate_inner_layer_provider: Reference('block_state_provider'),\r\n middle_layer_provider: Reference('block_state_provider'),\r\n outer_layer_provider: Reference('block_state_provider'),\r\n inner_placements: core_1.ListNode(Reference('block_state')),\r\n cannot_replace: StringNode({ validator: 'resource', params: { pool: '$tag/block' } }),\r\n invalid_blocks: StringNode({ validator: 'resource', params: { pool: '$tag/block' } })\r\n }),\r\n layers: core_1.ObjectNode({\r\n filling: core_1.Opt(core_1.NumberNode({ min: 0.01, max: 50 })),\r\n inner_layer: core_1.Opt(core_1.NumberNode({ min: 0.01, max: 50 })),\r\n middle_layer: core_1.Opt(core_1.NumberNode({ min: 0.01, max: 50 })),\r\n outer_layer: core_1.Opt(core_1.NumberNode({ min: 0.01, max: 50 })),\r\n }),\r\n crack: core_1.ObjectNode({\r\n generate_crack_chance: core_1.Opt(core_1.NumberNode({ min: 0, max: 1 })),\r\n base_crack_size: core_1.Opt(core_1.NumberNode({ min: 0, max: 5 })),\r\n crack_point_offset: core_1.Opt(core_1.NumberNode({ min: 0, max: 10, integer: true })),\r\n }),\r\n noise_multiplier: core_1.Opt(core_1.NumberNode({ min: 0, max: 1 })),\r\n use_potential_placements_chance: core_1.Opt(core_1.NumberNode({ min: 0, max: 1 })),\r\n use_alternate_layer0_chance: core_1.Opt(core_1.NumberNode({ min: 0, max: 1 })),\r\n placements_require_layer0_alternate: core_1.Opt(core_1.BooleanNode()),\r\n outer_wall_distance: core_1.Opt(Common_1.IntProvider({ min: 1, max: 20 })),\r\n distribution_points: core_1.Opt(Common_1.IntProvider({ min: 1, max: 20 })),\r\n point_offset: core_1.Opt(Common_1.IntProvider({ min: 0, max: 10 })),\r\n min_gen_offset: core_1.Opt(core_1.NumberNode({ integer: true })),\r\n max_gen_offset: core_1.Opt(core_1.NumberNode({ integer: true })),\r\n invalid_blocks_threshold: core_1.NumberNode({ integer: true })\r\n },\r\n 'minecraft:glow_lichen': {\r\n search_range: core_1.Opt(core_1.NumberNode({ min: 1, max: 64, integer: true })),\r\n chance_of_spreading: core_1.Opt(core_1.NumberNode({ min: 0, max: 1 })),\r\n can_place_on_floor: core_1.Opt(core_1.BooleanNode()),\r\n can_place_on_ceiling: core_1.Opt(core_1.BooleanNode()),\r\n can_place_on_wall: core_1.Opt(core_1.BooleanNode()),\r\n can_be_placed_on: core_1.ListNode(Reference('block_state'))\r\n },\r\n 'minecraft:growing_plant': {\r\n direction: StringNode({ enum: ['up', 'down', 'north', 'east', 'south', 'west'] }),\r\n allow_water: core_1.BooleanNode(),\r\n height_distribution: core_1.ListNode(core_1.ObjectNode({\r\n weight: core_1.NumberNode({ integer: true }),\r\n data: Common_1.IntProvider()\r\n })),\r\n body_provider: Reference('block_state_provider'),\r\n head_provider: Reference('block_state_provider')\r\n },\r\n 'minecraft:huge_brown_mushroom': HugeMushroomConfig,\r\n 'minecraft:huge_fungus': {\r\n hat_state: Reference('block_state'),\r\n decor_state: Reference('block_state'),\r\n stem_state: Reference('block_state'),\r\n valid_base_block: Reference('block_state'),\r\n planted: core_1.Opt(core_1.BooleanNode())\r\n },\r\n 'minecraft:huge_red_mushroom': HugeMushroomConfig,\r\n 'minecraft:ice_patch': DiskConfig,\r\n 'minecraft:iceberg': {\r\n state: Reference('block_state')\r\n },\r\n 'minecraft:lake': {\r\n state: Reference('block_state')\r\n },\r\n 'minecraft:large_dripstone': {\r\n floor_to_ceiling_search_range: core_1.Opt(core_1.NumberNode({ integer: true, min: 1, max: 512 })),\r\n column_radius: Common_1.IntProvider({ min: 0, max: 60 }),\r\n height_scale: Common_1.FloatProvider({ min: 0, max: 20 }),\r\n max_column_radius_to_cave_height_ratio: core_1.NumberNode({ min: 0, max: 1 }),\r\n stalactite_bluntness: Common_1.FloatProvider({ min: 0.1, max: 10 }),\r\n stalagmite_bluntness: Common_1.FloatProvider({ min: 0.1, max: 10 }),\r\n wind_speed: Common_1.FloatProvider({ min: 0, max: 2 }),\r\n min_radius_for_wind: core_1.NumberNode({ integer: true, min: 0, max: 100 }),\r\n min_bluntness_for_wind: core_1.NumberNode({ min: 0, max: 5 })\r\n },\r\n 'minecraft:nether_forest_vegetation': {\r\n state_provider: Reference('block_state_provider')\r\n },\r\n 'minecraft:netherrack_replace_blobs': {\r\n state: Reference('block_state'),\r\n target: Reference('block_state'),\r\n radius: Common_1.IntProvider({ min: 0, max: 12 })\r\n },\r\n 'minecraft:no_bonemeal_flower': RandomPatchConfig,\r\n 'minecraft:ore': OreConfig,\r\n 'minecraft:random_patch': RandomPatchConfig,\r\n 'minecraft:random_boolean_selector': {\r\n feature_false: Feature,\r\n feature_true: Feature\r\n },\r\n 'minecraft:random_selector': {\r\n features: core_1.ListNode(core_1.ObjectNode({\r\n chance: core_1.NumberNode({ min: 0, max: 1 }),\r\n feature: Feature\r\n })),\r\n default: Feature\r\n },\r\n 'minecraft:replace_single_block': {\r\n targets: core_1.ListNode(TargetBlockState)\r\n },\r\n 'minecraft:root_system': {\r\n required_vertical_space_for_tree: core_1.NumberNode({ integer: true, min: 1, max: 64 }),\r\n root_radius: core_1.NumberNode({ integer: true, min: 1, max: 64 }),\r\n root_placement_attempts: core_1.NumberNode({ integer: true, min: 1, max: 256 }),\r\n root_column_max_height: core_1.NumberNode({ integer: true, min: 1, max: 4096 }),\r\n hanging_root_radius: core_1.NumberNode({ integer: true, min: 1, max: 64 }),\r\n hanging_roots_vertical_span: core_1.NumberNode({ integer: true, min: 0, max: 16 }),\r\n hanging_root_placement_attempts: core_1.NumberNode({ integer: true, min: 0, max: 256 }),\r\n allowed_vertical_water_for_tree: core_1.NumberNode({ integer: true, min: 1, max: 64 }),\r\n root_replaceable: StringNode({ validator: 'resource', params: { pool: '$tag/block' } }),\r\n root_state_provider: Reference('block_state_provider'),\r\n hanging_root_state_provider: Reference('block_state_provider'),\r\n feature: Feature\r\n },\r\n 'minecraft:scattered_ore': OreConfig,\r\n 'minecraft:sea_pickle': {\r\n count: Common_1.IntProvider({ min: 0, max: 256 })\r\n },\r\n 'minecraft:seagrass': {\r\n probability: core_1.NumberNode({ min: 0, max: 1 })\r\n },\r\n 'minecraft:simple_block': {\r\n to_place: Reference('block_state_provider'),\r\n place_on: core_1.ListNode(Reference('block_state')),\r\n place_in: core_1.ListNode(Reference('block_state')),\r\n place_under: core_1.ListNode(Reference('block_state'))\r\n },\r\n 'minecraft:simple_random_selector': {\r\n features: core_1.ListNode(Feature)\r\n },\r\n 'minecraft:small_dripstone': {\r\n max_placements: core_1.Opt(core_1.NumberNode({ integer: true, min: 0, max: 100 })),\r\n empty_space_search_radius: core_1.Opt(core_1.NumberNode({ integer: true, min: 0, max: 20 })),\r\n max_offset_from_origin: core_1.Opt(core_1.NumberNode({ integer: true, min: 0, max: 20 })),\r\n chance_of_taller_dripstone: core_1.Opt(core_1.NumberNode({ min: 0, max: 1 }))\r\n },\r\n 'minecraft:spring_feature': {\r\n state: Reference('fluid_state'),\r\n rock_count: core_1.NumberNode({ integer: true }),\r\n hole_count: core_1.NumberNode({ integer: true }),\r\n requires_block_below: core_1.BooleanNode(),\r\n valid_blocks: core_1.ListNode(StringNode({ validator: 'resource', params: { pool: 'block' } }))\r\n },\r\n 'minecraft:tree': {\r\n ignore_vines: core_1.Opt(core_1.BooleanNode()),\r\n force_dirt: core_1.Opt(core_1.BooleanNode()),\r\n minimum_size: Reference('feature_size'),\r\n dirt_provider: Reference('block_state_provider'),\r\n sapling_provider: Reference('block_state_provider'),\r\n trunk_provider: Reference('block_state_provider'),\r\n foliage_provider: Reference('block_state_provider'),\r\n trunk_placer: core_1.ObjectNode({\r\n type: StringNode({ validator: 'resource', params: { pool: 'worldgen/trunk_placer_type' } }),\r\n base_height: core_1.NumberNode({ integer: true, min: 0, max: 32 }),\r\n height_rand_a: core_1.NumberNode({ integer: true, min: 0, max: 24 }),\r\n height_rand_b: core_1.NumberNode({ integer: true, min: 0, max: 24 }),\r\n [core_1.Switch]: [{ push: 'type' }],\r\n [core_1.Case]: {\r\n 'minecraft:bending_trunk_placer': {\r\n bend_length: Common_1.IntProvider({ min: 1, max: 64 }),\r\n min_height_for_leaves: core_1.Opt(core_1.NumberNode({ integer: true, min: 1 }))\r\n }\r\n }\r\n }, { context: 'trunk_placer' }),\r\n foliage_placer: core_1.ObjectNode({\r\n type: StringNode({ validator: 'resource', params: { pool: 'worldgen/foliage_placer_type' } }),\r\n radius: Common_1.IntProvider({ min: 0, max: 16 }),\r\n offset: Common_1.IntProvider({ min: 0, max: 16 }),\r\n [core_1.Switch]: [{ push: 'type' }],\r\n [core_1.Case]: {\r\n 'minecraft:blob_foliage_placer': {\r\n height: core_1.NumberNode({ integer: true, min: 0, max: 16 })\r\n },\r\n 'minecraft:bush_foliage_placer': {\r\n height: core_1.NumberNode({ integer: true, min: 0, max: 16 })\r\n },\r\n 'minecraft:fancy_foliage_placer': {\r\n height: core_1.NumberNode({ integer: true, min: 0, max: 16 })\r\n },\r\n 'minecraft:jungle_foliage_placer': {\r\n height: core_1.NumberNode({ integer: true, min: 0, max: 16 })\r\n },\r\n 'minecraft:mega_pine_foliage_placer': {\r\n crown_height: Common_1.IntProvider({ min: 0, max: 24 })\r\n },\r\n 'minecraft:pine_foliage_placer': {\r\n height: Common_1.IntProvider({ min: 0, max: 24 })\r\n },\r\n 'minecraft:random_spread_foliage_placer': {\r\n foliage_height: Common_1.IntProvider({ min: 1, max: 512 }),\r\n leaf_placement_attempts: core_1.NumberNode({ integer: true, min: 0, max: 256 })\r\n },\r\n 'minecraft:spruce_foliage_placer': {\r\n trunk_height: Common_1.IntProvider({ min: 0, max: 24 })\r\n }\r\n }\r\n }, { context: 'foliage_placer', disableSwitchContext: true }),\r\n decorators: core_1.ListNode(core_1.ObjectNode({\r\n type: StringNode({ validator: 'resource', params: { pool: 'worldgen/tree_decorator_type' } }),\r\n [core_1.Switch]: [{ push: 'type' }],\r\n [core_1.Case]: {\r\n 'minecraft:alter_ground': {\r\n provider: Reference('block_state_provider')\r\n },\r\n 'minecraft:beehive': {\r\n probability: core_1.NumberNode({ min: 0, max: 1 })\r\n },\r\n 'minecraft:cocoa': {\r\n probability: core_1.NumberNode({ min: 0, max: 1 })\r\n }\r\n }\r\n }, { context: 'tree_decorator' }))\r\n },\r\n 'minecraft:underwater_magma': {\r\n floor_search_range: core_1.NumberNode({ integer: true, min: 0, max: 512 }),\r\n placement_radius_around_floor: core_1.NumberNode({ integer: true, min: 0, max: 64 }),\r\n placement_probability_per_valid_position: core_1.NumberNode({ min: 0, max: 1 })\r\n },\r\n 'minecraft:vegetation_patch': VegetationPatchConfig,\r\n 'minecraft:waterlogged_vegetation_patch': VegetationPatchConfig\r\n }\r\n }, { context: 'feature' })\r\n }, { context: 'feature' }), {\r\n default: () => ({\r\n type: 'minecraft:decorated',\r\n config: {\r\n decorator: {\r\n type: 'minecraft:count',\r\n config: {\r\n count: 4\r\n }\r\n },\r\n feature: {\r\n type: 'minecraft:tree',\r\n config: {\r\n max_water_depth: 0,\r\n ignore_vines: true,\r\n minimum_size: {},\r\n trunk_placer: {\r\n base_height: 5,\r\n height_rand_a: 2,\r\n height_rand_b: 0\r\n },\r\n foliage_placer: {\r\n radius: 2,\r\n offset: 0,\r\n height: 3\r\n }\r\n }\r\n }\r\n }\r\n })\r\n }));\r\n schemas.register('feature_size', core_1.Mod(core_1.ObjectNode({\r\n type: StringNode({ validator: 'resource', params: { pool: 'worldgen/feature_size_type' } }),\r\n min_clipped_height: core_1.Opt(core_1.NumberNode({ min: 0, max: 80 })),\r\n [core_1.Switch]: [{ push: 'type' }],\r\n [core_1.Case]: {\r\n 'minecraft:two_layers_feature_size': {\r\n limit: core_1.Opt(core_1.NumberNode({ integer: true, min: 0, max: 81 })),\r\n lower_size: core_1.Opt(core_1.NumberNode({ integer: true, min: 0, max: 16 })),\r\n upper_size: core_1.Opt(core_1.NumberNode({ integer: true, min: 0, max: 16 }))\r\n },\r\n 'minecraft:three_layers_feature_size': {\r\n limit: core_1.Opt(core_1.NumberNode({ integer: true, min: 0, max: 80 })),\r\n upper_limit: core_1.Opt(core_1.NumberNode({ integer: true, min: 0, max: 80 })),\r\n lower_size: core_1.Opt(core_1.NumberNode({ integer: true, min: 0, max: 16 })),\r\n middle_size: core_1.Opt(core_1.NumberNode({ integer: true, min: 0, max: 16 })),\r\n upper_size: core_1.Opt(core_1.NumberNode({ integer: true, min: 0, max: 16 }))\r\n }\r\n }\r\n }, { disableSwitchContext: true }), {\r\n default: () => ({\r\n type: 'minecraft:two_layers_feature_size'\r\n })\r\n }));\r\n schemas.register('block_state_provider', core_1.Mod(core_1.ObjectNode({\r\n type: StringNode({ validator: 'resource', params: { pool: 'worldgen/block_state_provider_type' } }),\r\n [core_1.Switch]: [{ push: 'type' }],\r\n [core_1.Case]: {\r\n 'minecraft:randomized_int_state_provider': {\r\n property: StringNode(),\r\n values: Common_1.IntProvider(),\r\n source: Reference('block_state_provider')\r\n },\r\n 'minecraft:rotated_block_provider': {\r\n state: Reference('block_state')\r\n },\r\n 'minecraft:simple_state_provider': {\r\n state: Reference('block_state')\r\n },\r\n 'minecraft:weighted_state_provider': {\r\n entries: core_1.ListNode(core_1.Mod(core_1.ObjectNode({\r\n weight: core_1.NumberNode({ integer: true, min: 1 }),\r\n data: Reference('block_state')\r\n }), {\r\n default: () => ({\r\n data: {}\r\n })\r\n }))\r\n }\r\n }\r\n }, { context: 'block_state_provider' }), {\r\n default: () => ({\r\n type: 'minecraft:simple_state_provider'\r\n })\r\n }));\r\n schemas.register('block_placer', core_1.Mod(core_1.ObjectNode({\r\n type: StringNode({ validator: 'resource', params: { pool: 'worldgen/block_placer_type' } }),\r\n [core_1.Switch]: [{ push: 'type' }],\r\n [core_1.Case]: {\r\n 'minecraft:column_placer': {\r\n size: Common_1.IntProvider({ min: 0 })\r\n }\r\n }\r\n }, { context: 'block_placer' }), {\r\n default: () => ({\r\n type: 'minecraft:simple_block_placer'\r\n })\r\n }));\r\n}\r\nexports.initFeatureSchemas = initFeatureSchemas;\r\n","\"use strict\";\r\nObject.defineProperty(exports, \"__esModule\", { value: true });\r\nexports.initNoiseSettingsSchemas = void 0;\r\nconst core_1 = require(\"@mcschema/core\");\r\nconst Common_1 = require(\"../Common\");\r\nfunction initNoiseSettingsSchemas(schemas, collections) {\r\n const Reference = core_1.Reference.bind(undefined, schemas);\r\n const StringNode = core_1.StringNode.bind(undefined, collections);\r\n schemas.register('noise_settings', core_1.Mod(core_1.ObjectNode({\r\n name: core_1.Mod(StringNode({ validator: 'resource', params: { pool: '$worldgen/noise_settings', isDefinition: true } }), {\r\n enabled: (path) => path.getArray().length > 0\r\n }),\r\n bedrock_roof_position: core_1.NumberNode({ integer: true }),\r\n bedrock_floor_position: core_1.NumberNode({ integer: true }),\r\n sea_level: core_1.NumberNode({ integer: true }),\r\n min_surface_level: core_1.NumberNode({ integer: true }),\r\n disable_mob_generation: core_1.BooleanNode(),\r\n noise_caves_enabled: core_1.BooleanNode(),\r\n noodle_caves_enabled: core_1.BooleanNode(),\r\n aquifers_enabled: core_1.BooleanNode(),\r\n deepslate_enabled: core_1.BooleanNode(),\r\n ore_veins_enabled: core_1.BooleanNode(),\r\n default_block: Reference('block_state'),\r\n default_fluid: Reference('block_state'),\r\n noise: core_1.ObjectNode({\r\n min_y: core_1.NumberNode({ integer: true, min: -2048, max: 2047 }),\r\n height: core_1.NumberNode({ integer: true, min: 0, max: 4096 }),\r\n density_factor: core_1.NumberNode(),\r\n density_offset: core_1.NumberNode(),\r\n size_horizontal: core_1.NumberNode({ integer: true }),\r\n size_vertical: core_1.NumberNode({ integer: true }),\r\n simplex_surface_noise: core_1.BooleanNode(),\r\n random_density_offset: core_1.Opt(core_1.BooleanNode()),\r\n island_noise_override: core_1.Opt(core_1.BooleanNode()),\r\n amplified: core_1.Opt(core_1.BooleanNode()),\r\n sampling: core_1.ObjectNode({\r\n xz_scale: core_1.NumberNode(),\r\n y_scale: core_1.NumberNode(),\r\n xz_factor: core_1.NumberNode(),\r\n y_factor: core_1.NumberNode()\r\n }),\r\n bottom_slide: core_1.ObjectNode({\r\n target: core_1.NumberNode({ integer: true }),\r\n size: core_1.NumberNode({ integer: true, min: 0 }),\r\n offset: core_1.NumberNode({ integer: true })\r\n }),\r\n top_slide: core_1.ObjectNode({\r\n target: core_1.NumberNode({ integer: true }),\r\n size: core_1.NumberNode({ integer: true, min: 0 }),\r\n offset: core_1.NumberNode({ integer: true })\r\n })\r\n }),\r\n structures: Reference('generator_structures')\r\n }, { context: 'noise_settings' }), node => ({\r\n default: () => Common_1.DefaultNoiseSettings,\r\n validate: (path, value, errors, options) => {\r\n var _a, _b, _c, _d;\r\n value = node.validate(path, value, errors, options);\r\n if (((_a = value === null || value === void 0 ? void 0 : value.noise) === null || _a === void 0 ? void 0 : _a.min_y) + ((_b = value === null || value === void 0 ? void 0 : value.noise) === null || _b === void 0 ? void 0 : _b.height) > 2047) {\r\n errors.add(path.push('noise').push('height'), 'error.min_y_plus_height', 2047);\r\n }\r\n if (((_c = value === null || value === void 0 ? void 0 : value.noise) === null || _c === void 0 ? void 0 : _c.height) % 16 !== 0) {\r\n errors.add(path.push('noise').push('height'), 'error.height_multiple', 16);\r\n }\r\n if (((_d = value === null || value === void 0 ? void 0 : value.noise) === null || _d === void 0 ? void 0 : _d.min_y) % 16 !== 0) {\r\n errors.add(path.push('noise').push('min_y'), 'error.min_y_multiple', 16);\r\n }\r\n return value;\r\n }\r\n })));\r\n schemas.register('generator_structures', core_1.ObjectNode({\r\n stronghold: core_1.Opt(core_1.ObjectNode({\r\n distance: core_1.NumberNode({ integer: true, min: 0, max: 1023 }),\r\n spread: core_1.NumberNode({ integer: true, min: 0, max: 1023 }),\r\n count: core_1.NumberNode({ integer: true, min: 1, max: 4095 })\r\n })),\r\n structures: core_1.MapNode(StringNode({ validator: 'resource', params: { pool: 'worldgen/structure_feature' } }), core_1.Mod(core_1.ObjectNode({\r\n spacing: core_1.NumberNode({ integer: true, min: 0, max: 4096 }),\r\n separation: core_1.Mod(core_1.NumberNode({ integer: true, min: 0, max: 4096 }), (node) => ({\r\n validate: (path, value, errors, options) => {\r\n if (path.pop().push('spacing').get() <= value) {\r\n errors.add(path, 'error.separation_smaller_spacing');\r\n }\r\n return node.validate(path, value, errors, options);\r\n }\r\n })),\r\n salt: core_1.NumberNode({ integer: true, min: 0 })\r\n }, { context: 'generator_structure' }), {\r\n default: () => ({\r\n spacing: 10,\r\n separation: 5,\r\n salt: 0\r\n })\r\n }))\r\n }));\r\n schemas.register('generator_layer', core_1.Mod(core_1.ObjectNode({\r\n block: StringNode({ validator: 'resource', params: { pool: 'block' } }),\r\n height: core_1.NumberNode({ integer: true, min: 1 })\r\n }), {\r\n default: () => ({\r\n block: 'minecraft:stone',\r\n height: 1\r\n })\r\n }));\r\n}\r\nexports.initNoiseSettingsSchemas = initNoiseSettingsSchemas;\r\n","\"use strict\";\r\nObject.defineProperty(exports, \"__esModule\", { value: true });\r\nexports.initStructureFeatureSchemas = void 0;\r\nconst core_1 = require(\"@mcschema/core\");\r\nfunction initStructureFeatureSchemas(schemas, collections) {\r\n const StringNode = core_1.StringNode.bind(undefined, collections);\r\n const Reference = core_1.Reference.bind(undefined, schemas);\r\n const templatePoolConfig = {\r\n start_pool: StringNode({ validator: 'resource', params: { pool: '$worldgen/template_pool' } }),\r\n size: core_1.NumberNode({ integer: true })\r\n };\r\n schemas.register('configured_structure_feature', core_1.Mod(core_1.ObjectNode({\r\n type: StringNode({ validator: 'resource', params: { pool: 'worldgen/structure_feature' } }),\r\n config: core_1.ObjectNode({\r\n [core_1.Switch]: ['pop', { push: 'type' }],\r\n [core_1.Case]: {\r\n 'minecraft:bastion_remnant': templatePoolConfig,\r\n 'minecraft:buried_treasure': {\r\n probability: core_1.NumberNode({ min: 0, max: 1 })\r\n },\r\n 'minecraft:mineshaft': {\r\n type: StringNode({ enum: ['normal', 'mesa'] }),\r\n probability: core_1.NumberNode({ min: 0, max: 1 })\r\n },\r\n 'minecraft:nether_fossil': {\r\n height: Reference('height_provider')\r\n },\r\n 'minecraft:ocean_ruin': {\r\n biome_temp: StringNode({ enum: ['cold', 'warm'] }),\r\n large_probability: core_1.NumberNode({ min: 0, max: 1 }),\r\n cluster_probability: core_1.NumberNode({ min: 0, max: 1 })\r\n },\r\n 'minecraft:pillager_outpost': templatePoolConfig,\r\n 'minecraft:ruined_portal': {\r\n portal_type: StringNode({ enum: ['standard', 'desert', 'jungle', 'mountain', 'nether', 'ocean', 'swamp'] })\r\n },\r\n 'minecraft:shipwreck': {\r\n is_beached: core_1.Opt(core_1.BooleanNode())\r\n },\r\n 'minecraft:village': templatePoolConfig\r\n }\r\n }, { context: 'structure_feature', disableSwitchContext: true })\r\n }, { context: 'structure_feature' }), {\r\n default: () => ({\r\n type: 'minecraft:bastion_remnant',\r\n config: {\r\n start_pool: 'minecraft:bastion/starts',\r\n size: 6\r\n }\r\n })\r\n }));\r\n}\r\nexports.initStructureFeatureSchemas = initStructureFeatureSchemas;\r\n","\"use strict\";\r\nObject.defineProperty(exports, \"__esModule\", { value: true });\r\nexports.initSurfaceBuilderSchemas = void 0;\r\nconst core_1 = require(\"@mcschema/core\");\r\nfunction initSurfaceBuilderSchemas(schemas, collections) {\r\n const StringNode = core_1.StringNode.bind(undefined, collections);\r\n const Reference = core_1.Reference.bind(undefined, schemas);\r\n schemas.register('configured_surface_builder', core_1.Mod(core_1.ObjectNode({\r\n type: StringNode({ validator: 'resource', params: { pool: 'worldgen/surface_builder' } }),\r\n config: core_1.ObjectNode({\r\n top_material: Reference('block_state'),\r\n under_material: Reference('block_state'),\r\n underwater_material: Reference('block_state'),\r\n }, { context: 'surface_builder' })\r\n }, { context: 'surface_builder' }), {\r\n default: () => ({\r\n type: 'minecraft:default',\r\n config: {\r\n top_material: {\r\n Name: 'minecraft:grass_block',\r\n Properties: {\r\n snowy: 'false'\r\n }\r\n },\r\n under_material: {\r\n Name: 'minecraft:dirt'\r\n },\r\n underwater_material: {\r\n Name: 'minecraft:gravel'\r\n }\r\n }\r\n })\r\n }));\r\n}\r\nexports.initSurfaceBuilderSchemas = initSurfaceBuilderSchemas;\r\n","\"use strict\";\r\nObject.defineProperty(exports, \"__esModule\", { value: true });\r\nexports.initTemplatePoolSchemas = void 0;\r\nconst core_1 = require(\"@mcschema/core\");\r\nrequire(\"./ProcessorList\");\r\nconst ProcessorList_1 = require(\"./ProcessorList\");\r\nfunction initTemplatePoolSchemas(schemas, collections) {\r\n const Reference = core_1.Reference.bind(undefined, schemas);\r\n const StringNode = core_1.StringNode.bind(undefined, collections);\r\n schemas.register('template_pool', core_1.Mod(core_1.ObjectNode({\r\n name: StringNode(),\r\n fallback: StringNode(),\r\n elements: core_1.ListNode(Reference('template_weighted_element'))\r\n }, { context: 'template_pool' }), {\r\n default: () => ({\r\n fallback: 'minecraft:empty',\r\n elements: [\r\n {\r\n weight: 1,\r\n element: {\r\n element_type: 'minecraft:single_pool_element',\r\n projection: 'rigid',\r\n processors: 'minecraft:empty'\r\n }\r\n }\r\n ]\r\n })\r\n }));\r\n schemas.register('template_weighted_element', core_1.Mod(core_1.ObjectNode({\r\n weight: core_1.NumberNode({ integer: true, min: 1 }),\r\n element: Reference('template_element')\r\n }, { category: 'pool' }), {\r\n default: () => ({\r\n weight: 1,\r\n element: {\r\n element_type: 'minecraft:single_pool_element',\r\n projection: 'rigid',\r\n processors: 'minecraft:empty'\r\n }\r\n })\r\n }));\r\n schemas.register('template_element', core_1.Mod(core_1.ObjectNode({\r\n element_type: StringNode({ validator: 'resource', params: { pool: 'worldgen/structure_pool_element' } }),\r\n projection: StringNode({ enum: ['rigid', 'terrain_matching'] }),\r\n [core_1.Switch]: [{ push: 'element_type' }],\r\n [core_1.Case]: {\r\n 'minecraft:feature_pool_element': {\r\n feature: StringNode({ validator: 'resource', params: { pool: '$worldgen/configured_feature' } })\r\n },\r\n 'minecraft:legacy_single_pool_element': {\r\n location: StringNode({ validator: 'resource', params: { pool: '$structure' } }),\r\n processors: ProcessorList_1.Processors\r\n },\r\n 'minecraft:list_pool_element': {\r\n elements: core_1.ListNode(Reference('template_element'))\r\n },\r\n 'minecraft:single_pool_element': {\r\n location: StringNode({ validator: 'resource', params: { pool: '$structure' } }),\r\n processors: ProcessorList_1.Processors\r\n }\r\n }\r\n }, { context: 'template_element', disableSwitchContext: true }), {\r\n default: () => ({\r\n element_type: 'minecraft:single_pool_element',\r\n projection: 'rigid',\r\n processors: 'minecraft:empty'\r\n })\r\n }));\r\n}\r\nexports.initTemplatePoolSchemas = initTemplatePoolSchemas;\r\n","\"use strict\";\r\nObject.defineProperty(exports, \"__esModule\", { value: true });\r\nexports.initWorldgenSchemas = void 0;\r\nconst Biome_1 = require(\"./Biome\");\r\nconst Carver_1 = require(\"./Carver\");\r\nconst Decorator_1 = require(\"./Decorator\");\r\nconst Feature_1 = require(\"./Feature\");\r\nconst NoiseSettings_1 = require(\"./NoiseSettings\");\r\nconst ProcessorList_1 = require(\"./ProcessorList\");\r\nconst StructureFeature_1 = require(\"./StructureFeature\");\r\nconst SurfaceBuilder_1 = require(\"./SurfaceBuilder\");\r\nconst TemplatePool_1 = require(\"./TemplatePool\");\r\nfunction initWorldgenSchemas(schemas, collections) {\r\n // `ProcessorList.ts` has exports. It should be initialized first. \r\n ProcessorList_1.initProcessorListSchemas(schemas, collections);\r\n Biome_1.initBiomeSchemas(schemas, collections);\r\n Carver_1.initCarverSchemas(schemas, collections);\r\n Decorator_1.initDecoratorSchemas(schemas, collections);\r\n Feature_1.initFeatureSchemas(schemas, collections);\r\n NoiseSettings_1.initNoiseSettingsSchemas(schemas, collections);\r\n StructureFeature_1.initStructureFeatureSchemas(schemas, collections);\r\n SurfaceBuilder_1.initSurfaceBuilderSchemas(schemas, collections);\r\n TemplatePool_1.initTemplatePoolSchemas(schemas, collections);\r\n}\r\nexports.initWorldgenSchemas = initWorldgenSchemas;\r\n","\"use strict\";\r\nObject.defineProperty(exports, \"__esModule\", { value: true });\r\nexports.initWorldSettingsSchemas = void 0;\r\nconst core_1 = require(\"@mcschema/core\");\r\nfunction initWorldSettingsSchemas(schemas, collections) {\r\n const Reference = core_1.Reference.bind(undefined, schemas);\r\n const StringNode = core_1.StringNode.bind(undefined, collections);\r\n schemas.register('world_settings', core_1.Mod(core_1.ObjectNode({\r\n generate_features: core_1.BooleanNode(),\r\n bonus_chest: core_1.BooleanNode(),\r\n seed: core_1.NumberNode({ integer: true }),\r\n dimensions: core_1.MapNode(StringNode({ validator: 'resource', params: { pool: '$dimension' } }), Reference('dimension'))\r\n }, { context: 'world_settings' }), {\r\n default: () => {\r\n const seed = Math.floor(Math.random() * (4294967296)) - 2147483648;\r\n return {\r\n generate_features: true,\r\n bonus_chest: false,\r\n seed,\r\n dimensions: {\r\n 'minecraft:overworld': {\r\n type: 'minecraft:overworld',\r\n generator: {\r\n type: 'minecraft:noise',\r\n seed,\r\n biome_source: {\r\n type: 'minecraft:vanilla_layered',\r\n seed\r\n },\r\n settings: 'minecraft:overworld',\r\n }\r\n },\r\n 'minecraft:the_nether': {\r\n type: 'minecraft:the_nether',\r\n generator: {\r\n type: 'minecraft:noise',\r\n seed,\r\n biome_source: {\r\n type: 'minecraft:multi_noise',\r\n seed,\r\n humidity_noise: {\r\n firstOctave: -7,\r\n amplitudes: [1.0, 1.0]\r\n },\r\n altitude_noise: {\r\n firstOctave: -7,\r\n amplitudes: [1.0, 1.0]\r\n },\r\n weirdness_noise: {\r\n firstOctave: -7,\r\n amplitudes: [1.0, 1.0]\r\n },\r\n temperature_noise: {\r\n firstOctave: -7,\r\n amplitudes: [1.0, 1.0]\r\n },\r\n biomes: [\r\n {\r\n parameters: { altitude: 0.0, weirdness: 0.0, offset: 0.0, temperature: 0.0, humidity: 0.0 },\r\n biome: 'minecraft:nether_wastes'\r\n },\r\n {\r\n parameters: { altitude: 0.0, weirdness: 0.0, offset: 0.0, temperature: 0.0, humidity: -0.5 },\r\n biome: 'minecraft:soul_sand_valley'\r\n },\r\n {\r\n parameters: { altitude: 0.0, weirdness: 0.0, offset: 0.0, temperature: 0.4, humidity: 0.0 },\r\n biome: 'minecraft:crimson_forest'\r\n },\r\n {\r\n parameters: { altitude: 0.0, weirdness: 0.0, offset: 0.375, temperature: 0.0, humidity: 0.5 },\r\n biome: 'minecraft:warped_forest'\r\n },\r\n {\r\n parameters: { altitude: 0.0, weirdness: 0.0, offset: 0.175, temperature: -0.5, humidity: 0.0 },\r\n biome: 'minecraft:basalt_deltas'\r\n }\r\n ]\r\n },\r\n settings: 'minecraft:nether'\r\n }\r\n },\r\n 'minecraft:the_end': {\r\n type: \"minecraft:the_end\",\r\n generator: {\r\n type: \"minecraft:noise\",\r\n seed,\r\n biome_source: {\r\n type: \"minecraft:the_end\",\r\n seed\r\n },\r\n settings: \"minecraft:end\"\r\n }\r\n }\r\n }\r\n };\r\n }\r\n }));\r\n}\r\nexports.initWorldSettingsSchemas = initWorldSettingsSchemas;\r\n","\"use strict\";\r\nObject.defineProperty(exports, \"__esModule\", { value: true });\r\nexports.initSchemas = void 0;\r\nconst Advancement_1 = require(\"./Advancement\");\r\nconst Common_1 = require(\"./Common\");\r\nconst Condition_1 = require(\"./Condition\");\r\nconst Dimension_1 = require(\"./Dimension\");\r\nconst DimensionType_1 = require(\"./DimensionType\");\r\nconst ItemModifier_1 = require(\"./ItemModifier\");\r\nconst LootTable_1 = require(\"./LootTable\");\r\nconst PackMcmeta_1 = require(\"./PackMcmeta\");\r\nconst Predicates_1 = require(\"./Predicates\");\r\nconst Recipe_1 = require(\"./Recipe\");\r\nconst Tags_1 = require(\"./Tags\");\r\nconst TextComponent_1 = require(\"./TextComponent\");\r\nconst worldgen_1 = require(\"./worldgen\");\r\nconst WorldSettings_1 = require(\"./WorldSettings\");\r\nfunction initSchemas(schemas, collections) {\r\n // `Common.ts` is the only file that has exports. It should be initialized first. \r\n Common_1.initCommonSchemas(schemas, collections);\r\n Advancement_1.initAdvancementSchemas(schemas, collections);\r\n Condition_1.initConditionSchemas(schemas, collections);\r\n DimensionType_1.initDimensionTypeSchemas(schemas, collections);\r\n Dimension_1.initDimensionSchemas(schemas, collections);\r\n ItemModifier_1.initItemModifierSchemas(schemas, collections);\r\n LootTable_1.initLootTableSchemas(schemas, collections);\r\n PackMcmeta_1.initPackMcmetaSchemas(schemas, collections);\r\n Predicates_1.initPredicatesSchemas(schemas, collections);\r\n Recipe_1.initRecipeSchemas(schemas, collections);\r\n Tags_1.initTagsSchemas(schemas, collections);\r\n TextComponent_1.initTextComponentSchemas(schemas, collections);\r\n worldgen_1.initWorldgenSchemas(schemas, collections);\r\n WorldSettings_1.initWorldSettingsSchemas(schemas, collections);\r\n}\r\nexports.initSchemas = initSchemas;\r\n","\"use strict\";\r\nvar __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {\r\n if (k2 === undefined) k2 = k;\r\n Object.defineProperty(o, k2, { enumerable: true, get: function() { return m[k]; } });\r\n}) : (function(o, m, k, k2) {\r\n if (k2 === undefined) k2 = k;\r\n o[k2] = m[k];\r\n}));\r\nvar __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {\r\n Object.defineProperty(o, \"default\", { enumerable: true, value: v });\r\n}) : function(o, v) {\r\n o[\"default\"] = v;\r\n});\r\nvar __importStar = (this && this.__importStar) || function (mod) {\r\n if (mod && mod.__esModule) return mod;\r\n var result = {};\r\n if (mod != null) for (var k in mod) if (k !== \"default\" && Object.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);\r\n __setModuleDefault(result, mod);\r\n return result;\r\n};\r\nObject.defineProperty(exports, \"__esModule\", { value: true });\r\nexports.getSchemas = exports.getCollections = void 0;\r\nconst core_1 = require(\"@mcschema/core\");\r\nconst Collections_1 = require(\"./Collections\");\r\nconst schemas_1 = require(\"./schemas\");\r\nexports.lootContext = __importStar(require(\"./LootContext\"));\r\nfunction getCollections() {\r\n const collections = new core_1.CollectionRegistry();\r\n Collections_1.initCollections(collections);\r\n return collections;\r\n}\r\nexports.getCollections = getCollections;\r\n/**\r\n * @param collections The CollectionRegistry for this version. Note that apart from\r\n * the built-in collections, the client of this module is responsible for futhermore\r\n * adding the vanilla registries to it: the collection IDs shouldn't contain the\r\n * namespace (`minecraft:`) part, while the values within the collections should.\r\n *\r\n * @example\r\n * for (const key in VANILLA_REGISTRIES>) {\r\n * collections.register(\r\n * key.replace(/^minecraft:/, ''),\r\n * Object.keys(VANILLA_REGISTRIES[key].entries)\r\n * )\r\n * }\r\n */\r\nfunction getSchemas(collections) {\r\n const schemas = new core_1.SchemaRegistry();\r\n schemas_1.initSchemas(schemas, collections);\r\n return schemas;\r\n}\r\nexports.getSchemas = getSchemas;\r\n","// A port of an algorithm by Johannes Baagøe , 2010\n// http://baagoe.com/en/RandomMusings/javascript/\n// https://github.com/nquinlan/better-random-numbers-for-javascript-mirror\n// Original work is under MIT license -\n\n// Copyright (C) 2010 by Johannes Baagøe \n//\n// Permission is hereby granted, free of charge, to any person obtaining a copy\n// of this software and associated documentation files (the \"Software\"), to deal\n// in the Software without restriction, including without limitation the rights\n// to use, copy, modify, merge, publish, distribute, sublicense, and/or sell\n// copies of the Software, and to permit persons to whom the Software is\n// furnished to do so, subject to the following conditions:\n//\n// The above copyright notice and this permission notice shall be included in\n// all copies or substantial portions of the Software.\n//\n// THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR\n// IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,\n// FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE\n// AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER\n// LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,\n// OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN\n// THE SOFTWARE.\n\n\n\n(function(global, module, define) {\n\nfunction Alea(seed) {\n var me = this, mash = Mash();\n\n me.next = function() {\n var t = 2091639 * me.s0 + me.c * 2.3283064365386963e-10; // 2^-32\n me.s0 = me.s1;\n me.s1 = me.s2;\n return me.s2 = t - (me.c = t | 0);\n };\n\n // Apply the seeding algorithm from Baagoe.\n me.c = 1;\n me.s0 = mash(' ');\n me.s1 = mash(' ');\n me.s2 = mash(' ');\n me.s0 -= mash(seed);\n if (me.s0 < 0) { me.s0 += 1; }\n me.s1 -= mash(seed);\n if (me.s1 < 0) { me.s1 += 1; }\n me.s2 -= mash(seed);\n if (me.s2 < 0) { me.s2 += 1; }\n mash = null;\n}\n\nfunction copy(f, t) {\n t.c = f.c;\n t.s0 = f.s0;\n t.s1 = f.s1;\n t.s2 = f.s2;\n return t;\n}\n\nfunction impl(seed, opts) {\n var xg = new Alea(seed),\n state = opts && opts.state,\n prng = xg.next;\n prng.int32 = function() { return (xg.next() * 0x100000000) | 0; }\n prng.double = function() {\n return prng() + (prng() * 0x200000 | 0) * 1.1102230246251565e-16; // 2^-53\n };\n prng.quick = prng;\n if (state) {\n if (typeof(state) == 'object') copy(state, xg);\n prng.state = function() { return copy(xg, {}); }\n }\n return prng;\n}\n\nfunction Mash() {\n var n = 0xefc8249d;\n\n var mash = function(data) {\n data = String(data);\n for (var i = 0; i < data.length; i++) {\n n += data.charCodeAt(i);\n var h = 0.02519603282416938 * n;\n n = h >>> 0;\n h -= n;\n h *= n;\n n = h >>> 0;\n h -= n;\n n += h * 0x100000000; // 2^32\n }\n return (n >>> 0) * 2.3283064365386963e-10; // 2^-32\n };\n\n return mash;\n}\n\n\nif (module && module.exports) {\n module.exports = impl;\n} else if (define && define.amd) {\n define(function() { return impl; });\n} else {\n this.alea = impl;\n}\n\n})(\n this,\n (typeof module) == 'object' && module, // present in node.js\n (typeof define) == 'function' && define // present with an AMD loader\n);\n\n\n","// A Javascript implementaion of the \"xor128\" prng algorithm by\n// George Marsaglia. See http://www.jstatsoft.org/v08/i14/paper\n\n(function(global, module, define) {\n\nfunction XorGen(seed) {\n var me = this, strseed = '';\n\n me.x = 0;\n me.y = 0;\n me.z = 0;\n me.w = 0;\n\n // Set up generator function.\n me.next = function() {\n var t = me.x ^ (me.x << 11);\n me.x = me.y;\n me.y = me.z;\n me.z = me.w;\n return me.w ^= (me.w >>> 19) ^ t ^ (t >>> 8);\n };\n\n if (seed === (seed | 0)) {\n // Integer seed.\n me.x = seed;\n } else {\n // String seed.\n strseed += seed;\n }\n\n // Mix in string seed, then discard an initial batch of 64 values.\n for (var k = 0; k < strseed.length + 64; k++) {\n me.x ^= strseed.charCodeAt(k) | 0;\n me.next();\n }\n}\n\nfunction copy(f, t) {\n t.x = f.x;\n t.y = f.y;\n t.z = f.z;\n t.w = f.w;\n return t;\n}\n\nfunction impl(seed, opts) {\n var xg = new XorGen(seed),\n state = opts && opts.state,\n prng = function() { return (xg.next() >>> 0) / 0x100000000; };\n prng.double = function() {\n do {\n var top = xg.next() >>> 11,\n bot = (xg.next() >>> 0) / 0x100000000,\n result = (top + bot) / (1 << 21);\n } while (result === 0);\n return result;\n };\n prng.int32 = xg.next;\n prng.quick = prng;\n if (state) {\n if (typeof(state) == 'object') copy(state, xg);\n prng.state = function() { return copy(xg, {}); }\n }\n return prng;\n}\n\nif (module && module.exports) {\n module.exports = impl;\n} else if (define && define.amd) {\n define(function() { return impl; });\n} else {\n this.xor128 = impl;\n}\n\n})(\n this,\n (typeof module) == 'object' && module, // present in node.js\n (typeof define) == 'function' && define // present with an AMD loader\n);\n\n\n","// A Javascript implementaion of the \"xorwow\" prng algorithm by\n// George Marsaglia. See http://www.jstatsoft.org/v08/i14/paper\n\n(function(global, module, define) {\n\nfunction XorGen(seed) {\n var me = this, strseed = '';\n\n // Set up generator function.\n me.next = function() {\n var t = (me.x ^ (me.x >>> 2));\n me.x = me.y; me.y = me.z; me.z = me.w; me.w = me.v;\n return (me.d = (me.d + 362437 | 0)) +\n (me.v = (me.v ^ (me.v << 4)) ^ (t ^ (t << 1))) | 0;\n };\n\n me.x = 0;\n me.y = 0;\n me.z = 0;\n me.w = 0;\n me.v = 0;\n\n if (seed === (seed | 0)) {\n // Integer seed.\n me.x = seed;\n } else {\n // String seed.\n strseed += seed;\n }\n\n // Mix in string seed, then discard an initial batch of 64 values.\n for (var k = 0; k < strseed.length + 64; k++) {\n me.x ^= strseed.charCodeAt(k) | 0;\n if (k == strseed.length) {\n me.d = me.x << 10 ^ me.x >>> 4;\n }\n me.next();\n }\n}\n\nfunction copy(f, t) {\n t.x = f.x;\n t.y = f.y;\n t.z = f.z;\n t.w = f.w;\n t.v = f.v;\n t.d = f.d;\n return t;\n}\n\nfunction impl(seed, opts) {\n var xg = new XorGen(seed),\n state = opts && opts.state,\n prng = function() { return (xg.next() >>> 0) / 0x100000000; };\n prng.double = function() {\n do {\n var top = xg.next() >>> 11,\n bot = (xg.next() >>> 0) / 0x100000000,\n result = (top + bot) / (1 << 21);\n } while (result === 0);\n return result;\n };\n prng.int32 = xg.next;\n prng.quick = prng;\n if (state) {\n if (typeof(state) == 'object') copy(state, xg);\n prng.state = function() { return copy(xg, {}); }\n }\n return prng;\n}\n\nif (module && module.exports) {\n module.exports = impl;\n} else if (define && define.amd) {\n define(function() { return impl; });\n} else {\n this.xorwow = impl;\n}\n\n})(\n this,\n (typeof module) == 'object' && module, // present in node.js\n (typeof define) == 'function' && define // present with an AMD loader\n);\n\n\n","// A Javascript implementaion of the \"xorshift7\" algorithm by\n// François Panneton and Pierre L'ecuyer:\n// \"On the Xorgshift Random Number Generators\"\n// http://saluc.engr.uconn.edu/refs/crypto/rng/panneton05onthexorshift.pdf\n\n(function(global, module, define) {\n\nfunction XorGen(seed) {\n var me = this;\n\n // Set up generator function.\n me.next = function() {\n // Update xor generator.\n var X = me.x, i = me.i, t, v, w;\n t = X[i]; t ^= (t >>> 7); v = t ^ (t << 24);\n t = X[(i + 1) & 7]; v ^= t ^ (t >>> 10);\n t = X[(i + 3) & 7]; v ^= t ^ (t >>> 3);\n t = X[(i + 4) & 7]; v ^= t ^ (t << 7);\n t = X[(i + 7) & 7]; t = t ^ (t << 13); v ^= t ^ (t << 9);\n X[i] = v;\n me.i = (i + 1) & 7;\n return v;\n };\n\n function init(me, seed) {\n var j, w, X = [];\n\n if (seed === (seed | 0)) {\n // Seed state array using a 32-bit integer.\n w = X[0] = seed;\n } else {\n // Seed state using a string.\n seed = '' + seed;\n for (j = 0; j < seed.length; ++j) {\n X[j & 7] = (X[j & 7] << 15) ^\n (seed.charCodeAt(j) + X[(j + 1) & 7] << 13);\n }\n }\n // Enforce an array length of 8, not all zeroes.\n while (X.length < 8) X.push(0);\n for (j = 0; j < 8 && X[j] === 0; ++j);\n if (j == 8) w = X[7] = -1; else w = X[j];\n\n me.x = X;\n me.i = 0;\n\n // Discard an initial 256 values.\n for (j = 256; j > 0; --j) {\n me.next();\n }\n }\n\n init(me, seed);\n}\n\nfunction copy(f, t) {\n t.x = f.x.slice();\n t.i = f.i;\n return t;\n}\n\nfunction impl(seed, opts) {\n if (seed == null) seed = +(new Date);\n var xg = new XorGen(seed),\n state = opts && opts.state,\n prng = function() { return (xg.next() >>> 0) / 0x100000000; };\n prng.double = function() {\n do {\n var top = xg.next() >>> 11,\n bot = (xg.next() >>> 0) / 0x100000000,\n result = (top + bot) / (1 << 21);\n } while (result === 0);\n return result;\n };\n prng.int32 = xg.next;\n prng.quick = prng;\n if (state) {\n if (state.x) copy(state, xg);\n prng.state = function() { return copy(xg, {}); }\n }\n return prng;\n}\n\nif (module && module.exports) {\n module.exports = impl;\n} else if (define && define.amd) {\n define(function() { return impl; });\n} else {\n this.xorshift7 = impl;\n}\n\n})(\n this,\n (typeof module) == 'object' && module, // present in node.js\n (typeof define) == 'function' && define // present with an AMD loader\n);\n\n","// A Javascript implementaion of Richard Brent's Xorgens xor4096 algorithm.\n//\n// This fast non-cryptographic random number generator is designed for\n// use in Monte-Carlo algorithms. It combines a long-period xorshift\n// generator with a Weyl generator, and it passes all common batteries\n// of stasticial tests for randomness while consuming only a few nanoseconds\n// for each prng generated. For background on the generator, see Brent's\n// paper: \"Some long-period random number generators using shifts and xors.\"\n// http://arxiv.org/pdf/1004.3115v1.pdf\n//\n// Usage:\n//\n// var xor4096 = require('xor4096');\n// random = xor4096(1); // Seed with int32 or string.\n// assert.equal(random(), 0.1520436450538547); // (0, 1) range, 53 bits.\n// assert.equal(random.int32(), 1806534897); // signed int32, 32 bits.\n//\n// For nonzero numeric keys, this impelementation provides a sequence\n// identical to that by Brent's xorgens 3 implementaion in C. This\n// implementation also provides for initalizing the generator with\n// string seeds, or for saving and restoring the state of the generator.\n//\n// On Chrome, this prng benchmarks about 2.1 times slower than\n// Javascript's built-in Math.random().\n\n(function(global, module, define) {\n\nfunction XorGen(seed) {\n var me = this;\n\n // Set up generator function.\n me.next = function() {\n var w = me.w,\n X = me.X, i = me.i, t, v;\n // Update Weyl generator.\n me.w = w = (w + 0x61c88647) | 0;\n // Update xor generator.\n v = X[(i + 34) & 127];\n t = X[i = ((i + 1) & 127)];\n v ^= v << 13;\n t ^= t << 17;\n v ^= v >>> 15;\n t ^= t >>> 12;\n // Update Xor generator array state.\n v = X[i] = v ^ t;\n me.i = i;\n // Result is the combination.\n return (v + (w ^ (w >>> 16))) | 0;\n };\n\n function init(me, seed) {\n var t, v, i, j, w, X = [], limit = 128;\n if (seed === (seed | 0)) {\n // Numeric seeds initialize v, which is used to generates X.\n v = seed;\n seed = null;\n } else {\n // String seeds are mixed into v and X one character at a time.\n seed = seed + '\\0';\n v = 0;\n limit = Math.max(limit, seed.length);\n }\n // Initialize circular array and weyl value.\n for (i = 0, j = -32; j < limit; ++j) {\n // Put the unicode characters into the array, and shuffle them.\n if (seed) v ^= seed.charCodeAt((j + 32) % seed.length);\n // After 32 shuffles, take v as the starting w value.\n if (j === 0) w = v;\n v ^= v << 10;\n v ^= v >>> 15;\n v ^= v << 4;\n v ^= v >>> 13;\n if (j >= 0) {\n w = (w + 0x61c88647) | 0; // Weyl.\n t = (X[j & 127] ^= (v + w)); // Combine xor and weyl to init array.\n i = (0 == t) ? i + 1 : 0; // Count zeroes.\n }\n }\n // We have detected all zeroes; make the key nonzero.\n if (i >= 128) {\n X[(seed && seed.length || 0) & 127] = -1;\n }\n // Run the generator 512 times to further mix the state before using it.\n // Factoring this as a function slows the main generator, so it is just\n // unrolled here. The weyl generator is not advanced while warming up.\n i = 127;\n for (j = 4 * 128; j > 0; --j) {\n v = X[(i + 34) & 127];\n t = X[i = ((i + 1) & 127)];\n v ^= v << 13;\n t ^= t << 17;\n v ^= v >>> 15;\n t ^= t >>> 12;\n X[i] = v ^ t;\n }\n // Storing state as object members is faster than using closure variables.\n me.w = w;\n me.X = X;\n me.i = i;\n }\n\n init(me, seed);\n}\n\nfunction copy(f, t) {\n t.i = f.i;\n t.w = f.w;\n t.X = f.X.slice();\n return t;\n};\n\nfunction impl(seed, opts) {\n if (seed == null) seed = +(new Date);\n var xg = new XorGen(seed),\n state = opts && opts.state,\n prng = function() { return (xg.next() >>> 0) / 0x100000000; };\n prng.double = function() {\n do {\n var top = xg.next() >>> 11,\n bot = (xg.next() >>> 0) / 0x100000000,\n result = (top + bot) / (1 << 21);\n } while (result === 0);\n return result;\n };\n prng.int32 = xg.next;\n prng.quick = prng;\n if (state) {\n if (state.X) copy(state, xg);\n prng.state = function() { return copy(xg, {}); }\n }\n return prng;\n}\n\nif (module && module.exports) {\n module.exports = impl;\n} else if (define && define.amd) {\n define(function() { return impl; });\n} else {\n this.xor4096 = impl;\n}\n\n})(\n this, // window object or global\n (typeof module) == 'object' && module, // present in node.js\n (typeof define) == 'function' && define // present with an AMD loader\n);\n","// A Javascript implementaion of the \"Tyche-i\" prng algorithm by\n// Samuel Neves and Filipe Araujo.\n// See https://eden.dei.uc.pt/~sneves/pubs/2011-snfa2.pdf\n\n(function(global, module, define) {\n\nfunction XorGen(seed) {\n var me = this, strseed = '';\n\n // Set up generator function.\n me.next = function() {\n var b = me.b, c = me.c, d = me.d, a = me.a;\n b = (b << 25) ^ (b >>> 7) ^ c;\n c = (c - d) | 0;\n d = (d << 24) ^ (d >>> 8) ^ a;\n a = (a - b) | 0;\n me.b = b = (b << 20) ^ (b >>> 12) ^ c;\n me.c = c = (c - d) | 0;\n me.d = (d << 16) ^ (c >>> 16) ^ a;\n return me.a = (a - b) | 0;\n };\n\n /* The following is non-inverted tyche, which has better internal\n * bit diffusion, but which is about 25% slower than tyche-i in JS.\n me.next = function() {\n var a = me.a, b = me.b, c = me.c, d = me.d;\n a = (me.a + me.b | 0) >>> 0;\n d = me.d ^ a; d = d << 16 ^ d >>> 16;\n c = me.c + d | 0;\n b = me.b ^ c; b = b << 12 ^ d >>> 20;\n me.a = a = a + b | 0;\n d = d ^ a; me.d = d = d << 8 ^ d >>> 24;\n me.c = c = c + d | 0;\n b = b ^ c;\n return me.b = (b << 7 ^ b >>> 25);\n }\n */\n\n me.a = 0;\n me.b = 0;\n me.c = 2654435769 | 0;\n me.d = 1367130551;\n\n if (seed === Math.floor(seed)) {\n // Integer seed.\n me.a = (seed / 0x100000000) | 0;\n me.b = seed | 0;\n } else {\n // String seed.\n strseed += seed;\n }\n\n // Mix in string seed, then discard an initial batch of 64 values.\n for (var k = 0; k < strseed.length + 20; k++) {\n me.b ^= strseed.charCodeAt(k) | 0;\n me.next();\n }\n}\n\nfunction copy(f, t) {\n t.a = f.a;\n t.b = f.b;\n t.c = f.c;\n t.d = f.d;\n return t;\n};\n\nfunction impl(seed, opts) {\n var xg = new XorGen(seed),\n state = opts && opts.state,\n prng = function() { return (xg.next() >>> 0) / 0x100000000; };\n prng.double = function() {\n do {\n var top = xg.next() >>> 11,\n bot = (xg.next() >>> 0) / 0x100000000,\n result = (top + bot) / (1 << 21);\n } while (result === 0);\n return result;\n };\n prng.int32 = xg.next;\n prng.quick = prng;\n if (state) {\n if (typeof(state) == 'object') copy(state, xg);\n prng.state = function() { return copy(xg, {}); }\n }\n return prng;\n}\n\nif (module && module.exports) {\n module.exports = impl;\n} else if (define && define.amd) {\n define(function() { return impl; });\n} else {\n this.tychei = impl;\n}\n\n})(\n this,\n (typeof module) == 'object' && module, // present in node.js\n (typeof define) == 'function' && define // present with an AMD loader\n);\n\n\n","export default {}","/*\nCopyright 2019 David Bau.\n\nPermission is hereby granted, free of charge, to any person obtaining\na copy of this software and associated documentation files (the\n\"Software\"), to deal in the Software without restriction, including\nwithout limitation the rights to use, copy, modify, merge, publish,\ndistribute, sublicense, and/or sell copies of the Software, and to\npermit persons to whom the Software is furnished to do so, subject to\nthe following conditions:\n\nThe above copyright notice and this permission notice shall be\nincluded in all copies or substantial portions of the Software.\n\nTHE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND,\nEXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF\nMERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.\nIN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY\nCLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT,\nTORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE\nSOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.\n\n*/\n\n(function (global, pool, math) {\n//\n// The following constants are related to IEEE 754 limits.\n//\n\nvar width = 256, // each RC4 output is 0 <= x < 256\n chunks = 6, // at least six RC4 outputs for each double\n digits = 52, // there are 52 significant digits in a double\n rngname = 'random', // rngname: name for Math.random and Math.seedrandom\n startdenom = math.pow(width, chunks),\n significance = math.pow(2, digits),\n overflow = significance * 2,\n mask = width - 1,\n nodecrypto; // node.js crypto module, initialized at the bottom.\n\n//\n// seedrandom()\n// This is the seedrandom function described above.\n//\nfunction seedrandom(seed, options, callback) {\n var key = [];\n options = (options == true) ? { entropy: true } : (options || {});\n\n // Flatten the seed string or build one from local entropy if needed.\n var shortseed = mixkey(flatten(\n options.entropy ? [seed, tostring(pool)] :\n (seed == null) ? autoseed() : seed, 3), key);\n\n // Use the seed to initialize an ARC4 generator.\n var arc4 = new ARC4(key);\n\n // This function returns a random double in [0, 1) that contains\n // randomness in every bit of the mantissa of the IEEE 754 value.\n var prng = function() {\n var n = arc4.g(chunks), // Start with a numerator n < 2 ^ 48\n d = startdenom, // and denominator d = 2 ^ 48.\n x = 0; // and no 'extra last byte'.\n while (n < significance) { // Fill up all significant digits by\n n = (n + x) * width; // shifting numerator and\n d *= width; // denominator and generating a\n x = arc4.g(1); // new least-significant-byte.\n }\n while (n >= overflow) { // To avoid rounding up, before adding\n n /= 2; // last byte, shift everything\n d /= 2; // right using integer math until\n x >>>= 1; // we have exactly the desired bits.\n }\n return (n + x) / d; // Form the number within [0, 1).\n };\n\n prng.int32 = function() { return arc4.g(4) | 0; }\n prng.quick = function() { return arc4.g(4) / 0x100000000; }\n prng.double = prng;\n\n // Mix the randomness into accumulated entropy.\n mixkey(tostring(arc4.S), pool);\n\n // Calling convention: what to return as a function of prng, seed, is_math.\n return (options.pass || callback ||\n function(prng, seed, is_math_call, state) {\n if (state) {\n // Load the arc4 state from the given state if it has an S array.\n if (state.S) { copy(state, arc4); }\n // Only provide the .state method if requested via options.state.\n prng.state = function() { return copy(arc4, {}); }\n }\n\n // If called as a method of Math (Math.seedrandom()), mutate\n // Math.random because that is how seedrandom.js has worked since v1.0.\n if (is_math_call) { math[rngname] = prng; return seed; }\n\n // Otherwise, it is a newer calling convention, so return the\n // prng directly.\n else return prng;\n })(\n prng,\n shortseed,\n 'global' in options ? options.global : (this == math),\n options.state);\n}\n\n//\n// ARC4\n//\n// An ARC4 implementation. The constructor takes a key in the form of\n// an array of at most (width) integers that should be 0 <= x < (width).\n//\n// The g(count) method returns a pseudorandom integer that concatenates\n// the next (count) outputs from ARC4. Its return value is a number x\n// that is in the range 0 <= x < (width ^ count).\n//\nfunction ARC4(key) {\n var t, keylen = key.length,\n me = this, i = 0, j = me.i = me.j = 0, s = me.S = [];\n\n // The empty key [] is treated as [0].\n if (!keylen) { key = [keylen++]; }\n\n // Set up S using the standard key scheduling algorithm.\n while (i < width) {\n s[i] = i++;\n }\n for (i = 0; i < width; i++) {\n s[i] = s[j = mask & (j + key[i % keylen] + (t = s[i]))];\n s[j] = t;\n }\n\n // The \"g\" method returns the next (count) outputs as one number.\n (me.g = function(count) {\n // Using instance members instead of closure state nearly doubles speed.\n var t, r = 0,\n i = me.i, j = me.j, s = me.S;\n while (count--) {\n t = s[i = mask & (i + 1)];\n r = r * width + s[mask & ((s[i] = s[j = mask & (j + t)]) + (s[j] = t))];\n }\n me.i = i; me.j = j;\n return r;\n // For robust unpredictability, the function call below automatically\n // discards an initial batch of values. This is called RC4-drop[256].\n // See http://google.com/search?q=rsa+fluhrer+response&btnI\n })(width);\n}\n\n//\n// copy()\n// Copies internal state of ARC4 to or from a plain object.\n//\nfunction copy(f, t) {\n t.i = f.i;\n t.j = f.j;\n t.S = f.S.slice();\n return t;\n};\n\n//\n// flatten()\n// Converts an object tree to nested arrays of strings.\n//\nfunction flatten(obj, depth) {\n var result = [], typ = (typeof obj), prop;\n if (depth && typ == 'object') {\n for (prop in obj) {\n try { result.push(flatten(obj[prop], depth - 1)); } catch (e) {}\n }\n }\n return (result.length ? result : typ == 'string' ? obj : obj + '\\0');\n}\n\n//\n// mixkey()\n// Mixes a string seed into a key that is an array of integers, and\n// returns a shortened string seed that is equivalent to the result key.\n//\nfunction mixkey(seed, key) {\n var stringseed = seed + '', smear, j = 0;\n while (j < stringseed.length) {\n key[mask & j] =\n mask & ((smear ^= key[mask & j] * 19) + stringseed.charCodeAt(j++));\n }\n return tostring(key);\n}\n\n//\n// autoseed()\n// Returns an object for autoseeding, using window.crypto and Node crypto\n// module if available.\n//\nfunction autoseed() {\n try {\n var out;\n if (nodecrypto && (out = nodecrypto.randomBytes)) {\n // The use of 'out' to remember randomBytes makes tight minified code.\n out = out(width);\n } else {\n out = new Uint8Array(width);\n (global.crypto || global.msCrypto).getRandomValues(out);\n }\n return tostring(out);\n } catch (e) {\n var browser = global.navigator,\n plugins = browser && browser.plugins;\n return [+new Date, global, plugins, global.screen, tostring(pool)];\n }\n}\n\n//\n// tostring()\n// Converts an array of charcodes to a string\n//\nfunction tostring(a) {\n return String.fromCharCode.apply(0, a);\n}\n\n//\n// When seedrandom.js is loaded, we immediately mix a few bits\n// from the built-in RNG into the entropy pool. Because we do\n// not want to interfere with deterministic PRNG state later,\n// seedrandom will not call math.random on its own again after\n// initialization.\n//\nmixkey(math.random(), pool);\n\n//\n// Nodejs and AMD support: export the implementation as a module using\n// either convention.\n//\nif ((typeof module) == 'object' && module.exports) {\n module.exports = seedrandom;\n // When in node.js, try using crypto package for autoseeding.\n try {\n nodecrypto = require('crypto');\n } catch (ex) {}\n} else if ((typeof define) == 'function' && define.amd) {\n define(function() { return seedrandom; });\n} else {\n // When included as a plain script, set up Math.seedrandom global.\n math['seed' + rngname] = seedrandom;\n}\n\n\n// End anonymous scope, and pass initial values.\n})(\n // global: `self` in browsers (including strict mode and web workers),\n // otherwise `this` in Node and other environments\n (typeof self !== 'undefined') ? self : this,\n [], // pool: entropy pool starts empty\n Math // math: package containing random, pow, and seedrandom\n);\n","// A library of seedable RNGs implemented in Javascript.\n//\n// Usage:\n//\n// var seedrandom = require('seedrandom');\n// var random = seedrandom(1); // or any seed.\n// var x = random(); // 0 <= x < 1. Every bit is random.\n// var x = random.quick(); // 0 <= x < 1. 32 bits of randomness.\n\n// alea, a 53-bit multiply-with-carry generator by Johannes Baagøe.\n// Period: ~2^116\n// Reported to pass all BigCrush tests.\nvar alea = require('./lib/alea');\n\n// xor128, a pure xor-shift generator by George Marsaglia.\n// Period: 2^128-1.\n// Reported to fail: MatrixRank and LinearComp.\nvar xor128 = require('./lib/xor128');\n\n// xorwow, George Marsaglia's 160-bit xor-shift combined plus weyl.\n// Period: 2^192-2^32\n// Reported to fail: CollisionOver, SimpPoker, and LinearComp.\nvar xorwow = require('./lib/xorwow');\n\n// xorshift7, by François Panneton and Pierre L'ecuyer, takes\n// a different approach: it adds robustness by allowing more shifts\n// than Marsaglia's original three. It is a 7-shift generator\n// with 256 bits, that passes BigCrush with no systmatic failures.\n// Period 2^256-1.\n// No systematic BigCrush failures reported.\nvar xorshift7 = require('./lib/xorshift7');\n\n// xor4096, by Richard Brent, is a 4096-bit xor-shift with a\n// very long period that also adds a Weyl generator. It also passes\n// BigCrush with no systematic failures. Its long period may\n// be useful if you have many generators and need to avoid\n// collisions.\n// Period: 2^4128-2^32.\n// No systematic BigCrush failures reported.\nvar xor4096 = require('./lib/xor4096');\n\n// Tyche-i, by Samuel Neves and Filipe Araujo, is a bit-shifting random\n// number generator derived from ChaCha, a modern stream cipher.\n// https://eden.dei.uc.pt/~sneves/pubs/2011-snfa2.pdf\n// Period: ~2^127\n// No systematic BigCrush failures reported.\nvar tychei = require('./lib/tychei');\n\n// The original ARC4-based prng included in this library.\n// Period: ~2^1600\nvar sr = require('./seedrandom');\n\nsr.alea = alea;\nsr.xor128 = xor128;\nsr.xorwow = xorwow;\nsr.xorshift7 = xorshift7;\nsr.xor4096 = xor4096;\nsr.tychei = tychei;\n\nmodule.exports = sr;\n","'use strict'\nmodule.exports = rfdc\n\nfunction copyBuffer (cur) {\n if (cur instanceof Buffer) {\n return Buffer.from(cur)\n }\n\n return new cur.constructor(cur.buffer.slice(), cur.byteOffset, cur.length)\n}\n\nfunction rfdc (opts) {\n opts = opts || {}\n\n if (opts.circles) return rfdcCircles(opts)\n return opts.proto ? cloneProto : clone\n\n function cloneArray (a, fn) {\n var keys = Object.keys(a)\n var a2 = new Array(keys.length)\n for (var i = 0; i < keys.length; i++) {\n var k = keys[i]\n var cur = a[k]\n if (typeof cur !== 'object' || cur === null) {\n a2[k] = cur\n } else if (cur instanceof Date) {\n a2[k] = new Date(cur)\n } else if (ArrayBuffer.isView(cur)) {\n a2[k] = copyBuffer(cur)\n } else {\n a2[k] = fn(cur)\n }\n }\n return a2\n }\n\n function clone (o) {\n if (typeof o !== 'object' || o === null) return o\n if (o instanceof Date) return new Date(o)\n if (Array.isArray(o)) return cloneArray(o, clone)\n if (o instanceof Map) return new Map(cloneArray(Array.from(o), clone))\n if (o instanceof Set) return new Set(cloneArray(Array.from(o), clone))\n var o2 = {}\n for (var k in o) {\n if (Object.hasOwnProperty.call(o, k) === false) continue\n var cur = o[k]\n if (typeof cur !== 'object' || cur === null) {\n o2[k] = cur\n } else if (cur instanceof Date) {\n o2[k] = new Date(cur)\n } else if (cur instanceof Map) {\n o2[k] = new Map(cloneArray(Array.from(cur), clone))\n } else if (cur instanceof Set) {\n o2[k] = new Set(cloneArray(Array.from(cur), clone))\n } else if (ArrayBuffer.isView(cur)) {\n o2[k] = copyBuffer(cur)\n } else {\n o2[k] = clone(cur)\n }\n }\n return o2\n }\n\n function cloneProto (o) {\n if (typeof o !== 'object' || o === null) return o\n if (o instanceof Date) return new Date(o)\n if (Array.isArray(o)) return cloneArray(o, cloneProto)\n if (o instanceof Map) return new Map(cloneArray(Array.from(o), cloneProto))\n if (o instanceof Set) return new Set(cloneArray(Array.from(o), cloneProto))\n var o2 = {}\n for (var k in o) {\n var cur = o[k]\n if (typeof cur !== 'object' || cur === null) {\n o2[k] = cur\n } else if (cur instanceof Date) {\n o2[k] = new Date(cur)\n } else if (cur instanceof Map) {\n o2[k] = new Map(cloneArray(Array.from(cur), cloneProto))\n } else if (cur instanceof Set) {\n o2[k] = new Set(cloneArray(Array.from(cur), cloneProto))\n } else if (ArrayBuffer.isView(cur)) {\n o2[k] = copyBuffer(cur)\n } else {\n o2[k] = cloneProto(cur)\n }\n }\n return o2\n }\n}\n\nfunction rfdcCircles (opts) {\n var refs = []\n var refsNew = []\n\n return opts.proto ? cloneProto : clone\n\n function cloneArray (a, fn) {\n var keys = Object.keys(a)\n var a2 = new Array(keys.length)\n for (var i = 0; i < keys.length; i++) {\n var k = keys[i]\n var cur = a[k]\n if (typeof cur !== 'object' || cur === null) {\n a2[k] = cur\n } else if (cur instanceof Date) {\n a2[k] = new Date(cur)\n } else if (ArrayBuffer.isView(cur)) {\n a2[k] = copyBuffer(cur)\n } else {\n var index = refs.indexOf(cur)\n if (index !== -1) {\n a2[k] = refsNew[index]\n } else {\n a2[k] = fn(cur)\n }\n }\n }\n return a2\n }\n\n function clone (o) {\n if (typeof o !== 'object' || o === null) return o\n if (o instanceof Date) return new Date(o)\n if (Array.isArray(o)) return cloneArray(o, clone)\n if (o instanceof Map) return new Map(cloneArray(Array.from(o), clone))\n if (o instanceof Set) return new Set(cloneArray(Array.from(o), clone))\n var o2 = {}\n refs.push(o)\n refsNew.push(o2)\n for (var k in o) {\n if (Object.hasOwnProperty.call(o, k) === false) continue\n var cur = o[k]\n if (typeof cur !== 'object' || cur === null) {\n o2[k] = cur\n } else if (cur instanceof Date) {\n o2[k] = new Date(cur)\n } else if (cur instanceof Map) {\n o2[k] = new Map(cloneArray(Array.from(cur), clone))\n } else if (cur instanceof Set) {\n o2[k] = new Set(cloneArray(Array.from(cur), clone))\n } else if (ArrayBuffer.isView(cur)) {\n o2[k] = copyBuffer(cur)\n } else {\n var i = refs.indexOf(cur)\n if (i !== -1) {\n o2[k] = refsNew[i]\n } else {\n o2[k] = clone(cur)\n }\n }\n }\n refs.pop()\n refsNew.pop()\n return o2\n }\n\n function cloneProto (o) {\n if (typeof o !== 'object' || o === null) return o\n if (o instanceof Date) return new Date(o)\n if (Array.isArray(o)) return cloneArray(o, cloneProto)\n if (o instanceof Map) return new Map(cloneArray(Array.from(o), cloneProto))\n if (o instanceof Set) return new Set(cloneArray(Array.from(o), cloneProto))\n var o2 = {}\n refs.push(o)\n refsNew.push(o2)\n for (var k in o) {\n var cur = o[k]\n if (typeof cur !== 'object' || cur === null) {\n o2[k] = cur\n } else if (cur instanceof Date) {\n o2[k] = new Date(cur)\n } else if (cur instanceof Map) {\n o2[k] = new Map(cloneArray(Array.from(cur), cloneProto))\n } else if (cur instanceof Set) {\n o2[k] = new Set(cloneArray(Array.from(cur), cloneProto))\n } else if (ArrayBuffer.isView(cur)) {\n o2[k] = copyBuffer(cur)\n } else {\n var i = refs.indexOf(cur)\n if (i !== -1) {\n o2[k] = refsNew[i]\n } else {\n o2[k] = cloneProto(cur)\n }\n }\n }\n refs.pop()\n refsNew.pop()\n return o2\n }\n}\n"],"names":["n","u","i","t","r","f","e","n2","l2","u2","parentNode","removeChild","i2","t2","o2","r2","arguments","f2","length","push","children","defaultProps","v","type","props","key","ref","__k","__","__b","__e","__d","__c","__h","constructor","__v","vnode","this","context","d","indexOf","base","_","b","__r","debounceRendering","sort","n3","some","__P","c","I","__n","ownerSVGElement","T","e2","c2","s2","a2","h","p2","_2","k2","b2","m2","w2","A2","P2","Array","isArray","y","g","x","value","L","appendChild","nextSibling","insertBefore","setProperty","test","style","cssText","P","replace","toLowerCase","slice","l","addEventListener","H","$","removeEventListener","setAttribute","removeAttribute","event","v2","d2","g2","x2","contextType","__E","prototype","render","p","M","sub","state","__s","getDerivedStateFromProps","componentWillMount","componentDidMount","componentWillReceiveProps","shouldComponentUpdate","forEach","componentWillUpdate","componentDidUpdate","getChildContext","getSnapshotBeforeUpdate","m","y2","localName","nodeType","document","createTextNode","createElementNS","createElement","is","data","call","childNodes","dangerouslySetInnerHTML","attributes","name","__html","innerHTML","C","A","firstChild","s","checked","j","diffed","l3","u3","current","unmount","z","componentWillUnmount","a","getDerivedStateFromError","setState","componentDidCatch","k","forceUpdate","Promise","then","bind","resolve","setTimeout","EMPTY$1","obj","url","route2","opts","ret","reg","match","matches","split","decodeURIComponent","join","segmentize","max","Math","i$12","charAt","param","flags","plus","star","val","map","default","rank","index","path","rankSegment","rankChild","segment","customHistory","ROUTERS","subscribers","EMPTY","location","getCurrentLocation","pathname","search","canRoute","history","routeTo","didRoute","node","getAttribute","href","target","route","ctrlKey","metaKey","altKey","shiftKey","button","currentTarget","prevent","stopImmediatePropagation","stopPropagation","preventDefault","String","nodeName","toUpperCase","hasAttribute","routeFromLink","eventListenersInitialized","Router","Component$$1","getCurrentUrl","delegateLinkHandler","__proto__","Object","create","Router2","static","onChange","toChildArray","getMatchingChildren","updating","this$1","unlisten","listen","location2","splice","invoke","filter","prepareVNodeForRanking","pathRankSort","exec","newProps","cloneElement","Boolean","ref$1","active","previous","previousUrl","router","Component","Link","assign","onClick","handleLinkClick","Route","component","o","__H","w","requestAnimationFrame","t3","cancelAnimationFrame","defineProperty","Path_1","start","relativePath2","reduce","pop","[object Object]","modelArr","contextArr","end","Path","element","modelPush","contextPush","copy","newElement","startsWith","model","ModelPath","other","every","offset","fn","thisArg","_a","get","set","super","shift","Errors_1","errors","error","params","exact","equals","Symbol","iterator","Errors","DataModel_1","require$$0","require$$1","schema","options","listeners","JSON","stringify","historyIndex","historyMax","listener","newHistory","silentInvalidate","invalidated","loose","validate","invalidate","silent","getArray","reset","isNaN","last","log","toString","parse","withModel","clear","tempErrors","add","exports","category","enabled","keep","optional","pathPush","suggest","validationOption","hook","args","canUpdate","update","mods","__spreadValues","Mod","__spreadProps","BooleanNode","Node_1","Base","boolean","ListNode","config","_b","min","minLength","maxLength","Infinity","between","nextIndex","navigate","parseInt","_a2","list","SwitchNode","cases","activeCase","concat","fallback","sorter","priority","matchedCases","ListNode_1","SwitchNode_1","choices","switchNode","choice","isValid","XOrList","ChoiceNode","change","presetNode","objectNode","presets","keys","MapNode","res","validation","NumberNode","_c","integer","color","Number","isInteger","number","str","utils","escapeString","Node_12","Path_12","Errors_12","require$$2","utils_12","require$$3","fields","Switch","Case","defaultFields","__restKey","getActiveFields","switchValue","relativePath","getChildModelPath","childKey","caseFields","caseKeys","pathWithContext","getModel","disableSwitchContext","includes","pathElements","activeFields","existingKeys","quoteString","filterPath","filterField","activeKeys","forcedKeys","Set","newValue","object","Reference","schemas2","transform","StringNode","utils_1","isEnum","enum","isValidator","validator","collections","getValues","pool","allowTag","isDefinition","allowUnknown","additional","values","string","Hook","Registries","registry","id","warn","ValidationOption","__createBinding2","__createBinding","k22","enumerable","__exportStar","exports2","hasOwnProperty","require$$4","require$$5","require$$6","require$$7","require$$8","require$$9","require$$10","require$$11","require$$12","require$$13","require$$14","require$$15","Collections","register","core_12","StringNode2","Reference2","ObjectNode","Name","Properties","Opt","level","forceRange","bounds","allowBinomial","choiceContext","minecraft:alternative","terms","minecraft:block_state_property","block","properties","minecraft:damage_source_properties","predicate","minecraft:entity_properties","entity","minecraft:entity_scores","scores","Range","minecraft:inverted","term","minecraft:killed_by_player","inverse","minecraft:location_check","offsetX","offsetY","offsetZ","minecraft:match_tool","minecraft:random_chance","chance","minecraft:random_chance_with_looting","looting_multiplier","minecraft:requirements","minecraft:reference","minecraft:table_bonus","enchantment","chances","minecraft:time_check","period","minecraft:weather_check","raining","thundering","Common_12","StateChoice","item","tag","count","durability","potion","nbt","enchantments","levels","fluid","position","biome","feature","dimension","light","LocationFields","stat","minecraft:mined","minecraft:crafted","minecraft:used","minecraft:broken","minecraft:picked_up","minecraft:dropped","minecraft:killed","minecraft:killed_by","minecraft:custom","gamemode","advancements","recipes","stats","amplifier","duration","ambient","visible","absolute","horizontal","team","distance","is_on_fire","is_sneaking","is_sprinting","is_swimming","is_baby","equipment","player","effects","is_explosion","is_fire","is_magic","is_projectile","is_lightning","bypasses_armor","bypasses_invulnerability","bypasses_magic","source_entity","direct_entity","dealt","taken","blocked","Advancement","core_1","Common_1","Predicates_1","display","icon","title","description","background","frame","show_toast","announce_to_chat","hidden","parent","criteria","requirements","rewards","function","loot","experience","requirement","trigger","conditions","minecraft:bee_nest_destroyed","num_bees_inside","minecraft:bred_animals","partner","child","minecraft:brewed_potion","minecraft:changed_dimension","from","to","minecraft:channeled_lightning","victims","minecraft:construct_beacon","minecraft:consume_item","minecraft:cured_zombie_villager","villager","zombie","minecraft:effects_changed","minecraft:enter_block","minecraft:enchanted_item","minecraft:entity_hurt_player","damage","minecraft:entity_killed_player","killing_blow","minecraft:filled_bucket","minecraft:fishing_rod_hooked","minecraft:hero_of_the_village","minecraft:inventory_changed","slots","empty","occupied","full","items","minecraft:item_durability_changed","delta","minecraft:killed_by_crossbow","unique_entity_types","minecraft:levitation","minecraft:location","minecraft:nether_travel","entered","exited","minecraft:placed_block","minecraft:player_hurt_entity","minecraft:player_killed_entity","minecraft:recipe_unlocked","recipe","minecraft:safely_harvest_honey","minecraft:slept_in_bed","minecraft:slide_down_block","minecraft:shot_crossbow","minecraft:summoned_entity","minecraft:tame_animal","minecraft:used_ender_eye","minecraft:used_totem","minecraft:villager_trade","minecraft:voluntary_exile","Condition","ObjectOrList","condition","ConditionCases","LootContext","Map","requires","allows","LootTable","LootContext_1","functionsAndConditions","functions","contextMap","collectionID","getNode","getAvailableOptions","providedContext","tableType","LootTableTypes","conditionSwtichNode","compileSwitchNode","LootConditions","functionSwtichNode","LootFunctions","entitySourceSwtichNode","LootEntitySources","copySourceSwtichNode","LootCopySources","pools","rolls","bonus_rolls","entries","weightMod","weight","quality","minecraft:alternatives","minecraft:dynamic","minecraft:group","minecraft:item","minecraft:loot_table","minecraft:sequence","minecraft:tag","expand","minecraft:apply_bonus","formula","parameters","bonusMultiplier","extra","probability","minecraft:copy_name","source","minecraft:copy_nbt","ops","getter","op","minecraft:copy_state","minecraft:enchant_randomly","minecraft:enchant_with_levels","treasure","minecraft:exploration_map","destination","decoration","zoom","search_radius","skip_existing_chunks","minecraft:fill_player_head","minecraft:limit_count","limit","minecraft:looting_enchant","minecraft:set_attributes","modifiers","minecraft:set_contents","minecraft:set_count","minecraft:set_damage","minecraft:set_loot_table","seed","minecraft:set_lore","lore","minecraft:set_name","minecraft:set_nbt","minecraft:set_stew_effect","attribute","amount","operation","slot","StringOrList","PackMcmeta","pack","pack_format","Recipe","minecraft:crafting_shaped","group","pattern","result","minecraft:crafting_shapeless","ingredients","minecraft:smelting","ingredient","cookingtime","minecraft:blasting","minecraft:smoking","minecraft:campfire_cooking","minecraft:stonecutting","minecraft:smithing","addition","Tags","TagBase","required","TextComponent","getSimpleString","text","parseFloat","isFinite","CommonFields","bold","italic","underlined","strikethrough","obfuscated","insertion","clickEvent","action","change_page","copy_to_clipboard","open_file","open_url","run_command","leadingSlash","allowPartial","suggest_command","hoverEvent","show_text","show_item","module","show_entity","translate","with","score","isScoreHolder","objective","selector","keybind","storage","interpret","schemas","Advancement_1","Condition_1","LootTable_1","PackMcmeta_1","Recipe_1","Tags_1","TextComponent_1","initCommonSchemas","initPredicatesSchemas","initAdvancementSchemas","initConditionSchemas","initLootTableSchemas","initPackMcmetaSchemas","initRecipeSchemas","initTagsSchemas","initTextComponentSchemas","__setModuleDefault","__importStar","mod","__esModule","lib","Collections_1","schemas_1","CollectionRegistry","initCollections","getSchemas_1","SchemaRegistry","initSchemas","ultrawarm","natural","piglin_safe","respawn_anchor_works","bed_works","has_raids","has_skylight","has_ceiling","coordinate_scale","ambient_light","logical_height","infiniburn","bedrock_roof_position","bedrock_floor_position","sea_level","disable_mob_generation","noise","density_factor","density_offset","simplex_surface_noise","random_density_offset","size_horizontal","size_vertical","height","sampling","xz_scale","y_scale","xz_factor","y_factor","top_slide","size","bottom_slide","default_block","default_fluid","spread","maxSpread","ObjectOrPreset","minecraft:overworld","DefaultDimensionType","minecraft:the_nether","shrunk","fixed_time","minecraft:the_end","DefaultNoiseSettings","minecraft:nether","minecraft:end","island_noise_override","minecraft:amplified","amplified","minecraft:caves","minecraft:floating_islands","EntityPredicate","minecraft:item_used_on_block","minecraft:player_generates_container_loot","loot_table","minecraft:player_interacted_with_entity","minecraft:target_hit","projectile","shooter","signal_strength","minecraft:thrown_item_picked_up_by_entity","Dimension","NoPreset","DimensionTypePresets","generator","minecraft:noise","settings","NoiseSettingsPresets","biome_source","minecraft:fixed","minecraft:multi_noise","preset","altitude_noise","temperature_noise","humidity_noise","weirdness_noise","biomes","minecraft:checkerboard","scale","minecraft:vanilla_layered","large_biomes","legacy_biome_init_layer","minecraft:flat","lakes","features","layers","structures","floor","random","altitude","temperature","humidity","weirdness","firstOctave","amplitudes","DimensionType","Predicates","smokey","vehicle","targeted_entity","fishing_hook","in_open_water","font","contents","Biome","surface_builder","depth","downfall","precipitation","temperature_modifier","player_spawn_friendly","creature_spawn_probability","sky_color","fog_color","water_color","water_fog_color","grass_color","foliage_color","grass_color_modifier","ambient_sound","mood_sound","sound","tick_delay","block_search_extent","additions_sound","tick_chance","music","min_delay","max_delay","replace_current_music","particle","starts","spawners","minCount","maxCount","spawn_costs","energy_budget","charge","carvers","Carver","Decorator","RangeConfig","maximum","bottom_offset","top_offset","ChanceConfig","CountConfig","UniformInt","minecraft:carving_mask","step","minecraft:chance","minecraft:count","minecraft:count_extra","extra_count","extra_chance","minecraft:count_multilayer","minecraft:count_noise","noise_level","below_noise","above_noise","minecraft:count_noise_biased","noise_to_count_ratio","noise_factor","noise_offset","minecraft:decorated","outer","inner","minecraft:depth_average","baseline","minecraft:fire","minecraft:glowstone","minecraft:lava_lake","minecraft:range","minecraft:range_biased","minecraft:range_very_biased","minecraft:water_lake","ProcessorList","processors","processor_type","rules","location_predicate","predicate_type","input_predicate","minecraft:block_age","mossiness","minecraft:block_ignore","blocks","minecraft:block_rot","integrity","minecraft:gravity","heightmap","minecraft:rule","position_predicate","output_state","output_nbt","posTestFields","min_dist","max_dist","min_chance","max_chance","minecraft:axis_aligned_linear_pos","axis","minecraft:linear_pos","minecraft:block_match","minecraft:blockstate_match","block_state","minecraft:random_block_match","minecraft:random_blockstate_match","minecraft:tag_match","Feature","RandomPatchConfig","can_replace","project","need_water","xspread","yspread","zspread","tries","state_provider","block_placer","whitelist","blacklist","DiskConfig","radius","half_height","targets","HugeMushroomConfig","cap_provider","stem_provider","foliage_radius","OreConfig","Feature2","minecraft:bamboo","minecraft:basalt_columns","reach","minecraft:block_pile","decorator","minecraft:delta_feature","rim","rim_size","minecraft:disk","minecraft:emerald_ore","minecraft:end_gateway","exit","minecraft:end_spike","crystal_invulnerable","crystal_beam_target","spikes","centerX","centerZ","guarded","minecraft:fill_layer","minecraft:flower","minecraft:forest_rock","minecraft:huge_brown_mushroom","minecraft:huge_fungus","hat_state","decor_state","stem_state","valid_base_block","planted","minecraft:huge_red_mushroom","minecraft:ice_patch","minecraft:iceberg","minecraft:lake","minecraft:nether_forest_vegetation","minecraft:netherrack_replace_blobs","minecraft:no_bonemeal_flower","minecraft:no_surface_ore","minecraft:ore","minecraft:random_patch","minecraft:random_boolean_selector","feature_false","feature_true","minecraft:random_selector","minecraft:sea_pickle","minecraft:seagrass","minecraft:simple_block","to_place","place_on","place_in","place_under","minecraft:simple_random_selector","minecraft:spring_feature","rock_count","hole_count","requires_block_below","valid_blocks","minecraft:tree","max_water_depth","ignore_vines","minimum_size","trunk_provider","leaves_provider","trunk_placer","base_height","height_rand_a","height_rand_b","foliage_placer","minecraft:blob_foliage_placer","minecraft:bush_foliage_placer","minecraft:fancy_foliage_placer","minecraft:jungle_foliage_placer","minecraft:mega_pine_foliage_placer","crown_height","minecraft:pine_foliage_placer","minecraft:spruce_foliage_placer","trunk_height","decorators","minecraft:alter_ground","provider","minecraft:beehive","minecraft:cocoa","min_clipped_height","minecraft:two_layers_feature_size","lower_size","upper_size","minecraft:three_layers_feature_size","upper_limit","middle_size","minecraft:rotated_block_provider","minecraft:simple_state_provider","minecraft:weighted_state_provider","minecraft:column_placer","min_size","extra_size","NoiseSettings","stronghold","spacing","separation","salt","StructureFeature","templatePoolConfig","start_pool","minecraft:bastion_remnant","minecraft:buried_treasure","minecraft:mineshaft","minecraft:ocean_ruin","biome_temp","large_probability","cluster_probability","minecraft:pillager_outpost","minecraft:ruined_portal","portal_type","minecraft:shipwreck","is_beached","minecraft:village","SurfaceBuilder","top_material","under_material","underwater_material","snowy","TemplatePool","Processors","elements","element_type","projection","minecraft:feature_pool_element","minecraft:legacy_single_pool_element","minecraft:list_pool_element","minecraft:single_pool_element","worldgen","Biome_1","Carver_1","Decorator_1","Feature_1","NoiseSettings_1","ProcessorList_1","StructureFeature_1","SurfaceBuilder_1","TemplatePool_1","initBiomeSchemas","initCarverSchemas","initDecoratorSchemas","initFeatureSchemas","initNoiseSettingsSchemas","initProcessorListSchemas","initStructureFeatureSchemas","initSurfaceBuilderSchemas","initTemplatePoolSchemas","WorldSettings","generate_features","bonus_chest","dimensions","Dimension_1","DimensionType_1","worldgen_1","WorldSettings_1","initDimensionTypeSchemas","initDimensionSchemas","initWorldgenSchemas","initWorldSettingsSchemas","minecraft:lightning_strike","lightning","bystander","minecraft:using_item","min_y","noise_caves_enabled","aquifers_enabled","deepslate_enabled","Bounds","ObjectWithType","directType","directPath","directDefault","objectDefault","defaultCase","minecraft:constant","minecraft:uniform","minecraft:binomial","minecraft:score","minecraft:context","minecraft:storage","min_inclusive","max_exclusive","minecraft:clamped_normal","mean","deviation","minecraft:trapezoid","plateau","FloatProvider","max_inclusive","minecraft:biased_to_bottom","minecraft:clamped","IntProvider","above_bottom","below_top","minecraft:very_biased_to_bottom","entitySourceNode","minecraft:value_check","range","copySourceNode","minecraft:set_banner_pattern","patterns","append","minecraft:set_enchantments","ItemModifier","FunctionCases","conditionIDSwtichNode","functionIDSwtichNode","_p","looking_at","stepping_on","passenger","lightning_bolt","blocks_set_on_fire","entity_struck","separator","CanyonConfig","vertical_rotation","shape","distance_factor","thickness","width_smoothness","horizontal_radius_factor","vertical_radius_default_factor","vertical_radius_center_factor","CaveConfig","horizontal_radius_multiplier","vertical_radius_multiplier","floor_level","yScale","lava_level","debug_settings","debug_mode","air_state","water_state","lava_state","barrier_state","minecraft:canyon","minecraft:cave","minecraft:nether_cave","minecraft:cave_surface","surface","floor_to_ceiling_search_range","minecraft:heightmap","minecraft:heightmap_spread_double","minecraft:water_depth_threshold","minecraft:protected_blocks","TargetBlockState","discard_chance_on_air_exposure","VegetationPatchConfig","vertical_range","extra_bottom_block_chance","extra_edge_column_chance","vegetation_chance","xz_radius","replaceable","ground_state","vegetation_feature","minecraft:decorated_flower","minecraft:dripstone_cluster","max_stalagmite_stalactite_height_diff","height_deviation","dripstone_block_layer_thickness","density","wetness","chance_of_dripstone_column_at_max_distance_from_center","max_distance_from_edge_affecting_chance_of_dripstone_column","max_distance_from_center_affecting_height_bias","minecraft:fossil","max_empty_corners_allowed","fossil_structures","overlay_structures","fossil_processors","overlay_processors","minecraft:geode","filling_provider","inner_layer_provider","alternate_inner_layer_provider","middle_layer_provider","outer_layer_provider","inner_placements","cannot_replace","invalid_blocks","filling","inner_layer","middle_layer","outer_layer","crack","generate_crack_chance","base_crack_size","crack_point_offset","noise_multiplier","use_potential_placements_chance","use_alternate_layer0_chance","placements_require_layer0_alternate","outer_wall_distance","distribution_points","point_offset","min_gen_offset","max_gen_offset","invalid_blocks_threshold","minecraft:glow_lichen","search_range","chance_of_spreading","can_place_on_floor","can_place_on_ceiling","can_place_on_wall","can_be_placed_on","minecraft:growing_plant","direction","allow_water","height_distribution","body_provider","head_provider","minecraft:large_dripstone","column_radius","height_scale","max_column_radius_to_cave_height_ratio","stalactite_bluntness","stalagmite_bluntness","wind_speed","min_radius_for_wind","min_bluntness_for_wind","minecraft:replace_single_block","minecraft:root_system","required_vertical_space_for_tree","root_radius","root_placement_attempts","root_column_max_height","hanging_root_radius","hanging_roots_vertical_span","hanging_root_placement_attempts","allowed_vertical_water_for_tree","root_replaceable","root_state_provider","hanging_root_state_provider","minecraft:scattered_ore","minecraft:small_dripstone","max_placements","empty_space_search_radius","max_offset_from_origin","chance_of_taller_dripstone","force_dirt","dirt_provider","sapling_provider","foliage_provider","minecraft:bending_trunk_placer","bend_length","min_height_for_leaves","minecraft:random_spread_foliage_placer","foliage_height","leaf_placement_attempts","minecraft:underwater_magma","floor_search_range","placement_radius_around_floor","placement_probability_per_valid_position","minecraft:vegetation_patch","minecraft:waterlogged_vegetation_patch","minecraft:randomized_int_state_provider","property","min_surface_level","noodle_caves_enabled","ore_veins_enabled","_d","minecraft:nether_fossil","ItemModifier_1","initItemModifierSchemas","global2","module2","define","me","mash","charCodeAt","next","s0","s1","xg","Alea","prng","int32","double","quick","impl","alea","strseed","XorGen","xor128","xorwow","X","me2","seed2","j2","Date","xorshift7","xor4096","tychei","math","nodecrypto","width","startdenom","pow","significance","overflow","mask","callback","shortseed","mixkey","flatten","entropy","tostring","out","randomBytes","Uint8Array","crypto","msCrypto","getRandomValues","browser","navigator","plugins","screen","autoseed","arc4","ARC4","S","pass","prng2","is_math_call","global","keylen","i3","j3","s3","prop","typ","smear","stringseed","fromCharCode","apply","seedrandom2","ex","self","sr","seedrandom","rfdc_1","circles","refs","refsNew","proto","cloneArray","cloneProto","o22","cur","ArrayBuffer","isView","copyBuffer","clone","a22","rfdcCircles","Buffer","buffer","byteOffset"],"mappings":"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AuB,CACxC,+BACA,yBACA,0BACA,8BACA,gCACA,6BACA,yBACA,kCACA,4BACA,2BACA,wBACA,+BACA,iCACA,0BACA,+BACA,gCACA,uBACA,8BACA,oCACA,+BACA,uBACA,qBACA,0BACA,yBACA,+BACA,iCACA,4BACA,0BACA,iCACA,yBACA,6BACA,4BACA,wBACA,iBACA,2BACA,uBACA,2BACA,gCAEQA,SAAS,uBAAwB,CACzC,kBACA,iBACA,gBACA,uBACA,yBACA,qBACA,kBACA,wBAEQA,SAAS,sBAAuB,CACxC,wBACA,qBACA,sBACA,8BACA,iCACA,uBACA,qCACA,2BACA,0BACA,uBACA,0BACA,0BACA,uCACA,wBACA,6BACA,mCAEQA,SAAS,qBAAsB,CACvC,sBACA,uBACA,qBACA,qBACA,oBACA,2BACA,yBACA,6BACA,gCACA,4BACA,wBACA,0BACA,4BACA,6BACA,sBACA,qBACA,uBACA,wBACA,4BACA,gCAEQA,SAAS,YAAa,CAC9B,oBACA,sBACA,8BACA,wBACA,uBACA,gBACA,yBACA,sBACA,eACA,qBACA,0BACA,sBACA,iCAEQA,SAAS,oBAAqB,CACtC,mBACA,YACA,UACA,iBACA,iBACA,QACA,YACA,YACA,aACA,WACA,aACA,WACA,UACA,kBACA,cAEQA,SAAS,YAAa,CAC9B,sBACA,uBACA,wBAEQA,SAAS,UAAW,CAC5B,mBACA,aACA,WACA,WACA,cACA,WACA,cACA,iBACA,eACA,eACA,eACA,eACA,eACA,eACA,eACA,eACA,eACA,gBACA,WACA,WACA,2BACA,eACA,iBACA,YACA,2BACA,iBACA,mBACA,YACA,wBACA,aACA,kBACA,wBACA,cAEQA,SAAS,OAAQ,CACzB,WACA,UACA,OACA,QACA,OACA,WAEQA,SAAS,WAAY,CAC7B,WACA,WACA,YACA,gBAEQA,SAAS,gBAAiB,CAClC,OACA,gBACA,SACA,oBAEQA,SAAS,cAAe,CAChC,eACA,OACA,SACA,oBAEQA,SAAS,iCAAkC,CACnD,gCACA,sCACA,0BAEQA,SAAS,iBAAkB,CACnC,UACA,WACA,SACA,QACA,aACA,cACA,WACA,eACA,iBACA,oBACA,QACA,eACA,gBACA,iBACA,oBACA,gBACA,cACA,cACA,cACA,oBACA,cACA,gBACA,cACA,eACA,eACA,aACA,mBAEQA,SAAS,eAAgB,CACjC,MACA,iBACA,aACA,gBACA,YACA,qBACA,WACA,cACA,OACA,cACA,iBACA,oBACA,SACA,gBACA,cACA,qBACA,eACA,SACA,kBACA,wBACA,OACA,YACA,aACA,WACA,UACA,kBACA,gBACA,aACA,WACA,cACA,aACA,SACA,OACA,OACA,QACA,WACA,YACA,SACA,sBAEQA,SAAS,oBAAqB,CACtC,kBACA,kBACA,oBACA,qBACA,oBACA,mBACA,iBACA,mBACA,+BACA,+BACA,oBACA,+DCtRDnN,iBAAwB,aAAc,CAAEhM,OAAO,wBAC1BmQ,QAAgBA,sBAAyB,QAC/DiJ,EAAS7K,gCACYiI,EAASQ,SAC1BqC,EAAaD,EAAO1C,WAAWxR,UAAK,EAAW8R,GAC/CsC,EAAYF,EAAO7C,UAAUrR,UAAK,EAAWsR,KAC3C2C,SAAS,cAAeC,EAAOnI,IAAImI,EAAOG,WAAW,CACzDC,KAAMH,EAAW,CAAEtC,UAAW,WAAY/I,OAAQ,CAAEkJ,KAAM,WAC1DuC,WAAYL,EAAOM,IAAIN,EAAO3F,QAAQ4F,IAAcA,IAAc,CAAE1F,WAAY,CAAEoD,UAAW,kBAAmB/I,OAAQ,CAAE4J,GAAI,CAAC,MAAO,CAAElb,KAAM,eAC/I,CAAEmB,QAAS,gBAAkB,CAC5B+I,QAAS,KAAO,CACZ4S,KAAM,yBAGNL,SAAS,cAAeC,EAAOnI,IAAImI,EAAOG,WAAW,CACzDC,KAAMH,EAAW,CAAEtC,UAAW,WAAY/I,OAAQ,CAAEkJ,KAAM,WAC1DuC,WAAYL,EAAOM,IAAIN,EAAO3F,QAAQ4F,IAAcA,OACrD,CAAExb,QAAS,gBAAkB,CAC5B+I,QAAS,KAAO,CACZ4S,KAAM,kBACNC,WAAY,CACRE,MAAS,YAIbR,SAAS,YAAaC,EAAOnI,IAAImI,EAAO7H,SAAS6H,EAAOxF,WAAW,CAAEE,SAAS,KAAU,CAC5FlN,QAAS,IAAM,CAAC,EAAG,EAAG,cAET4K,GAAW4H,EAAOjG,WAAW,kBACE,EAAS3B,EAAOoI,YAAc,GAAK,CAAC,CACxE9c,KAAM,SACNiL,KAAMqR,EAAOxF,WAAWpC,GACxB4B,OAAS/R,QAAYmM,EAAIiE,EAAIoC,cAAiB,IAANxS,EAAkB,EAA+G,UAAtC,UAAxC,UAAXA,EAAEqQ,WAAwB,IAAPlE,EAAgBA,EAAKnM,EAAE6E,WAAwB,IAAPuL,EAAgBA,EAAKpQ,EAAE9F,SAAsB,IAAPsY,EAAgBA,EAAK,KAE9M,CACI/W,KAAM,SACN4V,YACA3K,KAAMqR,EAAOG,WAAW,CACpB7H,kBAA6C,EAASF,EAAOqI,QAAUT,EAAOxF,WAAWpC,GAAU4H,EAAOM,IAAIN,EAAOxF,WAAWpC,IAChItL,kBAA6C,EAASsL,EAAOqI,QAAUT,EAAOxF,WAAWpC,GAAU4H,EAAOM,IAAIN,EAAOxF,WAAWpC,KACjI,CAAE3T,QAAS,UACduV,OAAS/R,IAAO,CACZqQ,IAAkB,iBAANrQ,EAAiBA,OAAU,IAANA,EAAkB,EAAIA,EAAE9F,EACzD2K,IAAkB,iBAAN7E,EAAiBA,OAAU,IAANA,EAAkB,EAAIA,EAAE9F,sBAGrB,EAASiW,EAAOsI,eAAiB,CAAC,CACtEhd,KAAM,WACNiL,KAAMqR,EAAOG,WAAW,CACpBzc,KAAMuc,EAAW,CAAExC,KAAM,CAAC,wBAC1Btb,EAAG6d,EAAOxF,WAAW,CAAEE,SAAS,EAAMpC,IAAK,IAC3C7P,EAAGuX,EAAOxF,WAAW,CAAElC,IAAK,EAAGxL,IAAK,KACrC,CAAErI,QAAS,UACd+H,MAAQvE,QAAY,IAANA,GAA8B,uBAAXA,EAAEvE,KACnCsW,OAAS/R,QACDmM,EAAIiE,QACA,CACJ3U,KAAM,qBACNvB,EAAgB,iBAAN8F,EAAiBA,OAAU,IAANA,EAAkB,EAAoE,UAAxC,UAAXA,EAAEqQ,WAAwB,IAAPlE,EAAgBA,EAAKnM,EAAE6E,WAAwB,IAAPuL,EAAgBA,EAAK,EAClJ5P,EAAG,OAGV,IACV,CAAEkY,cAAe,2BACK,CACrBC,wBAAyB,CACrBC,MAAOb,EAAO7H,SAAS+H,EAAU,eAErCY,iCAAkC,CAC9BC,MAAOd,EAAW,CAAEtC,UAAW,WAAY/I,OAAQ,CAAEkJ,KAAM,WAC3DkD,WAAYhB,EAAO3F,QAAQ4F,IAAcA,IAAc,CAAE1F,WAAY,CAAEoD,UAAW,kBAAmB/I,OAAQ,CAAE4J,GAAI,CAAC,MAAO,CAAElb,KAAM,eAEvI2d,qCAAsC,CAClCC,UAAWhB,EAAU,4BAEzBiB,8BAA+B,CAC3BC,OAAQnB,EAAW,CAAExC,KAAM,kBAC3ByD,UAAWhB,EAAU,qBAEzBmB,0BAA2B,CACvBD,OAAQnB,EAAW,CAAExC,KAAM,kBAC3B6D,OAAQtB,EAAO3F,QAAQ4F,EAAW,CAAEtC,UAAW,cAAgB5G,EAAQwK,MAAM,CAAEf,YAAY,EAAMC,QAAQ,MAE7Ge,qBAAsB,CAClBC,KAAMvB,EAAU,cAEpBwB,6BAA8B,CAC1BC,QAAS3B,EAAOM,IAAIN,EAAOjI,gBAE/B6J,2BAA4B,CACxBC,QAAS7B,EAAOM,IAAIN,EAAOxF,WAAW,CAAEE,SAAS,KACjDoH,QAAS9B,EAAOM,IAAIN,EAAOxF,WAAW,CAAEE,SAAS,KACjDqH,QAAS/B,EAAOM,IAAIN,EAAOxF,WAAW,CAAEE,SAAS,KACjDwG,UAAWhB,EAAU,uBAEzB8B,uBAAwB,CACpBd,UAAWhB,EAAU,mBAEzB+B,0BAA2B,CACvBC,OAAQlC,EAAOxF,WAAW,CAAElC,IAAK,EAAGxL,IAAK,KAE7CqV,uCAAwC,CACpCD,OAAQlC,EAAOxF,WAAW,CAAElC,IAAK,EAAGxL,IAAK,IACzCsV,mBAAoBpC,EAAOxF,cAE/B6H,yBAA0B,CACtBxB,MAAOb,EAAO7H,SAAS+H,EAAU,eAErCoC,sBAAuB,CACnBhY,KAAM2V,EAAW,CAAEtC,UAAW,WAAY/I,OAAQ,CAAEkJ,KAAM,iBAE9DyE,wBAAyB,CACrBC,YAAavC,EAAW,CAAEtC,UAAW,WAAY/I,OAAQ,CAAEkJ,KAAM,iBACjE2E,QAASzC,EAAO7H,SAAS6H,EAAOxF,WAAW,CAAElC,IAAK,EAAGxL,IAAK,MAE9D4V,uBAAwB,CACpB9b,MAAOmQ,EAAQwK,QACfoB,OAAQ3C,EAAOM,IAAIN,EAAOxF,eAE9BoI,0BAA2B,CACvBC,QAAS7C,EAAOM,IAAIN,EAAOjI,eAC3B+K,WAAY9C,EAAOM,IAAIN,EAAOjI,qDCzHnCnF,iBAAwB,aAAc,CAAEhM,OAAO,4BACtBmQ,sBAAyB,QACnDiJ,EAAS7K,GACT4N,EAAW3N,oCACcgI,EAASQ,SAC9BsC,EAAYF,EAAO7C,UAAUrR,UAAK,EAAWsR,GAC7C6C,EAAaD,EAAO1C,WAAWxR,UAAK,EAAW8R,GAC/CoF,EAAchD,EAAOjG,WAAW,CAClC,CACIrW,KAAM,SACNiL,KAAMsR,IACNjG,UAA2B,kBAAN/R,GAAgC,iBAANA,EAAkBA,EAAEwO,WAAa,IAEpF,CACI/S,KAAM,SACNiL,KAAMqR,EAAOxF,aACbR,UAA2B,iBAAN/R,EAAkB4Q,SAAS5Q,GAAK,GAEzD,CACIvE,KAAM,SACNiL,KAAMqR,EAAOG,WAAW,CACpB7H,IAAK0H,EAAOM,IAAIN,EAAOxF,WAAW,CAAEE,SAAS,KAC7C5N,IAAKkT,EAAOM,IAAIN,EAAOxF,WAAW,CAAEE,SAAS,OAEjDV,UAA2B,iBAAN/R,EAAmB,CAAEqQ,IAAKrQ,EAAG6E,IAAK7E,GAAQ,IAEnE,CACIvE,KAAM,UACNiL,KAAMqR,EAAOjI,cACbiC,UAAmB,SAAN/R,GAAsB,IAANA,OAG7B8X,SAAS,iBAAkBC,EAAOG,WAAW,CACjD8C,KAAMjD,EAAOM,IAAIL,EAAW,CAAEtC,UAAW,WAAY/I,OAAQ,CAAEkJ,KAAM,WACrEoF,IAAKlD,EAAOM,IAAIL,EAAW,CAAEtC,UAAW,WAAY/I,OAAQ,CAAEkJ,KAAM,gBACpEqF,MAAOnD,EAAOM,IAAIyC,EAASxB,SAC3B6B,WAAYpD,EAAOM,IAAIyC,EAASxB,SAChC8B,OAAQrD,EAAOM,IAAIL,EAAW,CAAEtC,UAAW,WAAY/I,OAAQ,CAAEkJ,KAAM,aACvEwF,IAAKtD,EAAOM,IAAIL,EAAW,CAAEtC,UAAW,MAAO/I,OAAQ,CAAE2J,SAAU,CAAEvH,SAAU,iBAAkBwH,GAAI,CAAC,MAAO,CAAElb,KAAM,cACrHigB,aAAcvD,EAAOM,IAAIN,EAAO7H,SAAS+H,EAAU,4BACpD,CAAEzb,QAAS,YACNsb,SAAS,wBAAyBC,EAAOG,WAAW,CACxDqC,YAAaxC,EAAOM,IAAIL,EAAW,CAAEtC,UAAW,WAAY/I,OAAQ,CAAEkJ,KAAM,kBAC5E0F,OAAQxD,EAAOM,IAAIyC,EAASxB,UAC7B,CAAE9c,QAAS,mBACNsb,SAAS,kBAAmBC,EAAOG,WAAW,CAClDY,MAAOf,EAAOM,IAAIL,EAAW,CAAEtC,UAAW,WAAY/I,OAAQ,CAAEkJ,KAAM,YACtEoF,IAAKlD,EAAOM,IAAIL,EAAW,CAAEtC,UAAW,WAAY/I,OAAQ,CAAEkJ,KAAM,iBACpEwF,IAAKtD,EAAOM,IAAIL,EAAW,CAAEtC,UAAW,MAAO/I,OAAQ,CAAE2J,SAAU,CAAEvH,SAAU,kBAAmBwH,GAAI,CAAC,MAAO,CAAElb,KAAM,eACtHsF,MAAOoX,EAAOM,IAAIN,EAAO3F,QAAQ4F,IAAc+C,EAAa,CAAEzI,WAAY,CAAEoD,UAAW,kBAAmB/I,OAAQ,CAAE4J,GAAI,CAAC,MAAO,CAAElb,KAAM,gBACzI,CAAEmB,QAAS,aACNsb,SAAS,kBAAmBC,EAAOG,WAAW,CAClDsD,MAAOzD,EAAOM,IAAIL,EAAW,CAAEtC,UAAW,WAAY/I,OAAQ,CAAEkJ,KAAM,YACtEoF,IAAKlD,EAAOM,IAAIL,EAAW,CAAEtC,UAAW,WAAY/I,OAAQ,CAAEkJ,KAAM,iBACpElV,MAAOoX,EAAOM,IAAIN,EAAO3F,QAAQ4F,IAAc+C,KAChD,CAAEve,QAAS,4BACW,CACrBif,SAAU1D,EAAOM,IAAIN,EAAOG,WAAW,CACnCxZ,EAAGqZ,EAAOM,IAAIyC,EAASxB,SACvB9a,EAAGuZ,EAAOM,IAAIyC,EAASxB,SACvBnW,EAAG4U,EAAOM,IAAIyC,EAASxB,YAE3BoC,MAAO3D,EAAOM,IAAIL,EAAW,CAAExC,KAAM,WACrCmG,QAAS5D,EAAOM,IAAIL,EAAW,CAAExC,KAAM,uBACvCoG,UAAW7D,EAAOM,IAAIL,EAAW,CAAExC,KAAM,eACzCqG,MAAO9D,EAAOM,IAAIN,EAAOG,WAAW,CAChC2D,MAAO9D,EAAOM,IAAIyC,EAASxB,MAAM,CAAE7G,SAAS,EAAMpC,IAAK,EAAGxL,IAAK,SAEnEiU,MAAOf,EAAOM,IAAIJ,EAAU,oBAC5BuD,MAAOzD,EAAOM,IAAIJ,EAAU,uBAExBH,SAAS,qBAAsBC,EAAOG,WAAWpJ,EAAQgN,eAAgB,CAAEtf,QAAS,gBACpFsb,SAAS,sBAAuBC,EAAOG,WAAW,CACtDzc,KAAMuc,EAAW,CAAEtC,UAAW,WAAY/I,OAAQ,CAAEkJ,KAAM,eAC1DkG,KAAM/D,IACNrZ,MAAOmc,EAASxB,SACfvB,EAAOvE,QAAS,CAAC,CAAEnY,KAAM,UACzB0c,EAAOtE,MAAO,CACXuI,kBAAmB,CACfD,KAAM/D,EAAW,CAAEtC,UAAW,WAAY/I,OAAQ,CAAEkJ,KAAM,YAE9DoG,oBAAqB,CACjBF,KAAM/D,EAAW,CAAEtC,UAAW,WAAY/I,OAAQ,CAAEkJ,KAAM,WAE9DqG,iBAAkB,CACdH,KAAM/D,EAAW,CAAEtC,UAAW,WAAY/I,OAAQ,CAAEkJ,KAAM,WAE9DsG,mBAAoB,CAChBJ,KAAM/D,EAAW,CAAEtC,UAAW,WAAY/I,OAAQ,CAAEkJ,KAAM,WAE9DuG,sBAAuB,CACnBL,KAAM/D,EAAW,CAAEtC,UAAW,WAAY/I,OAAQ,CAAEkJ,KAAM,WAE9DwG,oBAAqB,CACjBN,KAAM/D,EAAW,CAAEtC,UAAW,WAAY/I,OAAQ,CAAEkJ,KAAM,WAE9DyG,mBAAoB,CAChBP,KAAM/D,EAAW,CAAEtC,UAAW,WAAY/I,OAAQ,CAAEkJ,KAAM,kBAE9D0G,sBAAuB,CACnBR,KAAM/D,EAAW,CAAEtC,UAAW,WAAY/I,OAAQ,CAAEkJ,KAAM,kBAE9D2G,mBAAoB,CAChBT,KAAM/D,EAAW,CAAEtC,UAAW,WAAY/I,OAAQ,CAAEkJ,KAAM,wBAI9DiC,SAAS,mBAAoBC,EAAOG,WAAW,CACnDuE,SAAU1E,EAAOM,IAAIL,EAAW,CAAExC,KAAM,cACxC8C,MAAOP,EAAOM,IAAIyC,EAASxB,SAC3BoD,aAAc3E,EAAOM,IAAIN,EAAO3F,QAAQ4F,EAAW,CAAEtC,UAAW,WAAY/I,OAAQ,CAAEkJ,KAAM,kBAAqBkC,EAAOjG,WAAW,CAC/H,CAAErW,KAAM,UAAWiL,KAAMqR,EAAOjI,cAAeiC,WAAa,GAC5D,CACItW,KAAM,SAAUiL,KAAMqR,EAAO3F,QAAQ4F,IAAcD,EAAOjI,oBAGlE6M,QAAS5E,EAAOM,IAAIN,EAAO3F,QAAQ4F,EAAW,CAAEtC,UAAW,WAAY/I,OAAQ,CAAEkJ,KAAM,aAAgBkC,EAAOjI,gBAC9G8M,MAAO7E,EAAOM,IAAIN,EAAO7H,SAAS+H,EAAU,0BAC7C,CAAEzb,QAAS,cACNsb,SAAS,0BAA2BC,EAAOG,WAAW,CAC1D2E,UAAW9E,EAAOM,IAAIyC,EAASxB,SAC/BwD,SAAU/E,EAAOM,IAAIyC,EAASxB,SAC9ByD,QAAShF,EAAOM,IAAIN,EAAOjI,eAC3BkN,QAASjF,EAAOM,IAAIN,EAAOjI,gBAC5B,CAAEtT,QAAS,qBACNsb,SAAS,qBAAsBC,EAAOG,WAAW,CACrDxZ,EAAGqZ,EAAOM,IAAIyC,EAASxB,SACvB9a,EAAGuZ,EAAOM,IAAIyC,EAASxB,SACvBnW,EAAG4U,EAAOM,IAAIyC,EAASxB,SACvB2D,SAAUlF,EAAOM,IAAIyC,EAASxB,SAC9B4D,WAAYnF,EAAOM,IAAIyC,EAASxB,UACjC,CAAE9c,QAAS,gBACNsb,SAAS,mBAAoBC,EAAOG,WAAW,CACnDzc,KAAMsc,EAAOM,IAAIL,EAAW,CAAEtC,UAAW,WAAY/I,OAAQ,CAAEkJ,KAAM,cAAeC,UAAU,MAC9FuF,IAAKtD,EAAOM,IAAIL,EAAW,CAAEtC,UAAW,MAAO/I,OAAQ,CAAE2J,SAAU,CAAEvH,SAAU,mBAAoBwH,GAAI,CAAC,MAAO,CAAElb,KAAM,cACvH8hB,KAAMpF,EAAOM,IAAIL,EAAW,CAAEtC,UAAW,UACzCxP,SAAU6R,EAAOM,IAAIJ,EAAU,uBAC/BmF,SAAUrF,EAAOM,IAAIJ,EAAU,uBAC/B/S,MAAO6S,EAAOM,IAAIN,EAAOG,WAAW,CAChCmF,WAAYtF,EAAOM,IAAIN,EAAOjI,eAC9BwN,YAAavF,EAAOM,IAAIN,EAAOjI,eAC/ByN,aAAcxF,EAAOM,IAAIN,EAAOjI,eAChC0N,YAAazF,EAAOM,IAAIN,EAAOjI,eAC/B2N,QAAS1F,EAAOM,IAAIN,EAAOjI,kBAE/B4N,UAAW3F,EAAOM,IAAIN,EAAO3F,QAAQ4F,EAAW,CAAExC,KAAM,SAAWyC,EAAU,oBAC7E0F,OAAQ5F,EAAOM,IAAIJ,EAAU,qBAC7B2F,QAAS7F,EAAOM,IAAIN,EAAO3F,QAAQ4F,EAAW,CAAEtC,UAAW,WAAY/I,OAAQ,CAAEkJ,KAAM,gBAAmBoC,EAAU,8BACrH,CAAEzb,QAAS,cACNsb,SAAS,0BAA2BC,EAAOG,WAAW,CAC1D2F,aAAc9F,EAAOM,IAAIN,EAAOjI,eAChCgO,QAAS/F,EAAOM,IAAIN,EAAOjI,eAC3BiO,SAAUhG,EAAOM,IAAIN,EAAOjI,eAC5BkO,cAAejG,EAAOM,IAAIN,EAAOjI,eACjCmO,aAAclG,EAAOM,IAAIN,EAAOjI,eAChCoO,eAAgBnG,EAAOM,IAAIN,EAAOjI,eAClCqO,yBAA0BpG,EAAOM,IAAIN,EAAOjI,eAC5CsO,eAAgBrG,EAAOM,IAAIN,EAAOjI,eAClCuO,cAAetG,EAAOM,IAAIJ,EAAU,qBACpCqG,cAAevG,EAAOM,IAAIJ,EAAU,sBACrC,CAAEzb,QAAS,qBACNsb,SAAS,mBAAoBC,EAAOG,WAAW,CACnDqG,MAAOxG,EAAOM,IAAIyC,EAASxB,SAC3BkF,MAAOzG,EAAOM,IAAIyC,EAASxB,SAC3BmF,QAAS1G,EAAOM,IAAIN,EAAOjI,eAC3BuO,cAAetG,EAAOM,IAAIJ,EAAU,qBACpCxc,KAAMsc,EAAOM,IAAIJ,EAAU,6BAC5B,CAAEzb,QAAS,kBCvKlB4L,OAAOuC,eAAe+T,GAAS,aAAc,CAAE/f,OAAO,mCACrB,EACjC,MAAMggB,GAASzR,GACT0R,GAAWzR,GACX0R,GAAezL,6BACrB,SAAgC+B,EAASQ,SAC/BsC,EAAY0G,GAAOzJ,UAAUrR,UAAK,EAAWsR,GAC7C6C,EAAa2G,GAAOtJ,WAAWxR,UAAK,EAAW8R,KAC7CmC,SAAS,cAAe6G,GAAO/O,IAAI+O,GAAOzG,WAAW,CACzD4G,QAASH,GAAOtG,IAAIsG,GAAO/O,IAAI+O,GAAOzG,WAAW,CAC7C6G,KAAMJ,GAAOzG,WAAW,CACpB8C,KAAMhD,EAAW,CAAEtC,UAAW,WAAY/I,OAAQ,CAAEkJ,KAAM,UAC1DwF,IAAKsD,GAAOtG,IAAIL,EAAW,CAAEtC,UAAW,MAAO/I,OAAQ,CAAE2J,SAAU,CAAEvH,SAAU,iBAAkBwH,GAAI,CAAC,MAAO,CAAElb,KAAM,gBAEzH2jB,MAAO/G,EAAU,kBACjBgH,YAAahH,EAAU,kBACvBiH,WAAYP,GAAOtG,IAAIL,KACvBmH,MAAOR,GAAOtG,IAAIL,EAAW,CAAExC,KAAM,CAAC,OAAQ,YAAa,WAC3D4J,WAAYT,GAAOtG,IAAIsG,GAAO7O,eAC9BuP,iBAAkBV,GAAOtG,IAAIsG,GAAO7O,eACpCwP,OAAQX,GAAOtG,IAAIsG,GAAO7O,iBAC1B,CACAvK,QAAS,KAAO,CACZwZ,KAAM,CACF/D,KAAM,mBAEVgE,MAAO,GACPC,YAAa,QAGrBM,OAAQZ,GAAOtG,IAAIL,EAAW,CAAEtC,UAAW,WAAY/I,OAAQ,CAAEkJ,KAAM,mBACvE2J,SAAUb,GAAOvM,QAAQ4F,IAAcC,EAAU,yBACjDwH,aAAcd,GAAOtG,IAAIsG,GAAOzO,SAASyO,GAAOzO,SAAS8H,OAEzD0H,QAASf,GAAOtG,IAAIsG,GAAOzG,WAAW,CAClCyH,SAAUhB,GAAOtG,IAAIL,EAAW,CAAEtC,UAAW,WAAY/I,OAAQ,CAAEkJ,KAAM,gBACzE+J,KAAMjB,GAAOtG,IAAIsG,GAAOzO,SAAS8H,EAAW,CAAEtC,UAAW,WAAY/I,OAAQ,CAAEkJ,KAAM,mBACrF8G,QAASgC,GAAOtG,IAAIsG,GAAOzO,SAAS8H,EAAW,CAAEtC,UAAW,WAAY/I,OAAQ,CAAEkJ,KAAM,eACxFgK,WAAYlB,GAAOtG,IAAIsG,GAAOpM,WAAW,CAAEE,SAAS,SAEzD,CAAEjW,QAAS,gBAAkB,CAC5B+I,QAAS,KAAO,CACZia,SAAU,CACNM,YAAa,CACTC,QAAS,8BAKjBjI,SAAS,uBAAwB6G,GAAOzG,WAAW,CACvD6H,QAAS/H,EAAW,CAAEtC,UAAW,WAAY/I,OAAQ,CAAEkJ,KAAMF,EAAYvJ,IAAI,0BAC7E4T,WAAYrB,GAAOtG,IAAIsG,GAAOzG,WAAW,EACpCyG,GAAOnL,QAAS,CAAC,MAAO,CAAEnY,KAAM,aAChCsjB,GAAOlL,MAAO,CACXwM,+BAAgC,CAC5BnH,MAAO6F,GAAOtG,IAAIL,EAAW,CAAEtC,UAAW,WAAY/I,OAAQ,CAAEkJ,KAAM,YACtEqK,gBAAiBvB,GAAOtG,IAAIsG,GAAOpM,WAAW,CAAEE,SAAS,KACzDuI,KAAM2D,GAAOtG,IAAIJ,EAAU,oBAE/BkI,yBAA0B,CACtBZ,OAAQZ,GAAOtG,IAAIJ,EAAU,qBAC7BmI,QAASzB,GAAOtG,IAAIJ,EAAU,qBAC9BoI,MAAO1B,GAAOtG,IAAIJ,EAAU,sBAEhCqI,0BAA2B,CACvBlF,OAAQuD,GAAOtG,IAAIL,EAAW,CAAEtC,UAAW,WAAY/I,OAAQ,CAAEkJ,KAAM,cAE3E0K,8BAA+B,CAC3BC,KAAM7B,GAAOtG,IAAIL,EAAW,CAAExC,KAAM,eACpCiL,GAAI9B,GAAOtG,IAAIL,EAAW,CAAExC,KAAM,gBAEtCkL,gCAAiC,CAC7BC,QAAShC,GAAOtG,IAAIsG,GAAOzO,SAASyO,GAAOtG,IAAIJ,EAAU,wBAE7D2I,6BAA8B,CAC1BtI,MAAOqG,GAAOtG,IAAIuG,GAAStF,UAE/BuH,yBAA0B,CACtB7F,KAAM2D,GAAOtG,IAAIJ,EAAU,oBAE/B6I,kCAAmC,CAC/BC,SAAUpC,GAAOtG,IAAIJ,EAAU,qBAC/B+I,OAAQrC,GAAOtG,IAAIJ,EAAU,sBAEjCgJ,4BAA6B,CACzBrD,QAASe,GAAOtG,IAAIsG,GAAOvM,QAAQ4F,EAAW,CAAEtC,UAAW,WAAY/I,OAAQ,CAAEkJ,KAAM,gBAAmB8I,GAAOzG,WAAW,CACxH2E,UAAW+B,GAAStF,QACpBwD,SAAU8B,GAAStF,aAG3B4H,wBAAyB,CACrBpI,MAAO6F,GAAOtG,IAAIL,EAAW,CAAEtC,UAAW,WAAY/I,OAAQ,CAAEkJ,KAAM,YACtElV,MAAOge,GAAOtG,IAAIsG,GAAOvM,QAAQ4F,IAAcA,IAAc,CAAE1F,WAAY,CAAEoD,UAAW,kBAAmB/I,OAAQ,CAAE4J,GAAI,CAAC,MAAO,CAAElb,KAAM,gBAE7I8lB,2BAA4B,CACxB5F,OAAQoD,GAAOtG,IAAIuG,GAAStF,SAC5B0B,KAAM2D,GAAOtG,IAAIJ,EAAU,oBAE/BmJ,+BAAgC,CAC5BC,OAAQ1C,GAAOtG,IAAIJ,EAAU,sBAEjCqJ,iCAAkC,CAC9BnI,OAAQwF,GAAOtG,IAAIJ,EAAU,qBAC7BsJ,aAAc5C,GAAOtG,IAAIJ,EAAU,6BAEvCuJ,0BAA2B,CACvBxG,KAAM2D,GAAOtG,IAAIJ,EAAU,oBAE/BwJ,+BAAgC,CAC5BtI,OAAQwF,GAAOtG,IAAIJ,EAAU,qBAC7B+C,KAAM2D,GAAOtG,IAAIJ,EAAU,oBAE/ByJ,gCAAiC7C,GAAa/C,eAC9C6F,8BAA+B,CAC3BC,MAAOjD,GAAOtG,IAAIsG,GAAOzG,WAAW,CAChC2J,MAAOlD,GAAOtG,IAAIuG,GAAStF,SAC3BwI,SAAUnD,GAAOtG,IAAIuG,GAAStF,SAC9ByI,KAAMpD,GAAOtG,IAAIuG,GAAStF,YAE9B0I,MAAOrD,GAAOtG,IAAIsG,GAAOzO,SAAS+H,EAAU,qBAEhDgK,oCAAqC,CACjCC,MAAOvD,GAAOtG,IAAIuG,GAAStF,SAC3B6B,WAAYwD,GAAOtG,IAAIuG,GAAStF,SAChC0B,KAAM2D,GAAOtG,IAAIJ,EAAU,oBAE/BkK,+BAAgC,CAC5BC,oBAAqBzD,GAAOtG,IAAIuG,GAAStF,SACzCqH,QAAShC,GAAOtG,IAAIsG,GAAOzO,SAASyO,GAAOtG,IAAIJ,EAAU,wBAE7DoK,uBAAwB,CACpBjF,SAAUuB,GAAOtG,IAAIuG,GAAStF,SAC9BwD,SAAU6B,GAAOtG,IAAIuG,GAAStF,UAElCgJ,qBAAsBzD,GAAa/C,eACnCyG,0BAA2B,CACvBnF,SAAUuB,GAAOtG,IAAIuG,GAAStF,SAC9BkJ,QAAS7D,GAAOtG,IAAIJ,EAAU,uBAC9BwK,OAAQ9D,GAAOtG,IAAIJ,EAAU,wBAEjCyK,yBAA0B,CACtB5J,MAAO6F,GAAOtG,IAAIL,EAAW,CAAEtC,UAAW,WAAY/I,OAAQ,CAAEkJ,KAAM,YACtElV,MAAOge,GAAOtG,IAAIsG,GAAOvM,QAAQ4F,IAAcA,IAAc,CAAE1F,WAAY,CAAEoD,UAAW,kBAAmB/I,OAAQ,CAAE4J,GAAI,CAAC,MAAO,CAAElb,KAAM,eACzI2f,KAAM2D,GAAOtG,IAAIJ,EAAU,mBAC3B/R,SAAUyY,GAAOtG,IAAIJ,EAAU,wBAEnC0K,+BAAgC,CAC5BtB,OAAQ1C,GAAOtG,IAAIJ,EAAU,qBAC7BkB,OAAQwF,GAAOtG,IAAIJ,EAAU,sBAEjC2K,iCAAkC,CAC9BzJ,OAAQwF,GAAOtG,IAAIJ,EAAU,qBAC7BsJ,aAAc5C,GAAOtG,IAAIJ,EAAU,6BAEvC4K,4BAA6B,CACzBC,OAAQ9K,EAAW,CAAEtC,UAAW,WAAY/I,OAAQ,CAAEkJ,KAAM,cAEhEkN,iCAAkC,CAC9BjK,MAAO6F,GAAOtG,IAAIsG,GAAOzG,WAAW,CAChCY,MAAO6F,GAAOtG,IAAIL,EAAW,CAAEtC,UAAW,WAAY/I,OAAQ,CAAEkJ,KAAM,YACtEoF,IAAK0D,GAAOtG,IAAIL,EAAW,CAAEtC,UAAW,WAAY/I,OAAQ,CAAEkJ,KAAM,oBAExEmF,KAAM2D,GAAOtG,IAAIJ,EAAU,oBAE/B+K,yBAA0BnE,GAAa/C,eACvCmH,6BAA8B,CAC1BnK,MAAO6F,GAAOtG,IAAIL,EAAW,CAAEtC,UAAW,WAAY/I,OAAQ,CAAEkJ,KAAM,aAE1EqN,0BAA2B,CACvBlI,KAAM2D,GAAOtG,IAAIJ,EAAU,oBAE/BkL,4BAA6B,CACzBhK,OAAQwF,GAAOtG,IAAIJ,EAAU,sBAEjCmL,wBAAyB,CACrBjK,OAAQwF,GAAOtG,IAAIJ,EAAU,sBAEjCoL,2BAA4B,CACxBjG,SAAUuB,GAAOtG,IAAIuG,GAAStF,UAElCgK,uBAAwB,CACpBtI,KAAM2D,GAAOtG,IAAIJ,EAAU,oBAE/BsL,2BAA4B,CACxBxC,SAAUpC,GAAOtG,IAAIJ,EAAU,qBAC/B+C,KAAM2D,GAAOtG,IAAIJ,EAAU,oBAE/BuL,4BAA6B3E,GAAa/C,iBAE/C,CAAEtf,QAAS,gBACf,CAAEuS,SAAU,YAAavS,QAAS,0BC9LzC4L,OAAOuC,eAAe8Y,GAAS,aAAc,CAAE9kB,OAAO,iCACvB,EAC/B,MAAMggB,GAASzR,GACT0R,GAAWzR,2BACjB,SAA8BgI,EAASQ,SAC7BsC,EAAY0G,GAAOzJ,UAAUrR,UAAK,EAAWsR,GAC7C6C,EAAa2G,GAAOtJ,WAAWxR,UAAK,EAAW8R,KAC7CmC,SAAS,YAAa6G,GAAO+E,aAAazL,EAAU,aAAc,CAAES,cAAe,iBACnFZ,SAAS,YAAa6G,GAAO/O,IAAI+O,GAAOzG,WAAW,CACvDyL,UAAW3L,EAAW,CAAEtC,UAAW,WAAY/I,OAAQ,CAAEkJ,KAAM,0BAC9D8I,GAAOnL,QAAS,CAAC,CAAEnY,KAAM,eACzBsjB,GAAOlL,MAAOmL,GAASgF,gBACzB,CAAE7U,SAAU,YAAavS,QAAS,cAAgB,CACjD+I,QAAS,KAAO,CACZoe,UAAW,8BACXxK,OAAQ,6BCfpB/Q,OAAOuC,eAAekZ,GAAS,aAAc,CAAEllB,OAAO,sGAC0E,oBACvG,IAAImlB,IAAI,CAC7B,CAAC,+BAAgC,CAAEC,SAAU,CAAC,EAAgB,GAAqBC,OAAQ,KAC3F,CAAC,+BAAgC,CAAED,SAAU,CAAC,EAAgB,GAAqBC,OAAQ,KAC3F,CAAC,mBAAoB,CAAED,SAAU,CAAC,GAAqBC,OAAQ,KAC/D,CAAC,kBAAmB,CAAED,SAAU,CAAC,EAAoB,EAAgB,GAAeC,OAAQ,CAAC,EAAqB,EAAyB,KAC3I,CAAC,kBAAmB,CAAED,SAAU,CAAC,GAAiBC,OAAQ,CAAC,KAC3D,CAAC,oBAAqB,CAAED,SAAU,CAAC,GAAiBC,OAAQ,CAAC,KAC7D,CAAC,kBAAmB,CAAED,SAAU,GAAIC,OAAQ,KAC5C,CAAC,mBAAoB,CAAED,SAAU,CAAC,EAAsB,EAAgB,GAAqBC,OAAQ,CAAC,EAA4B,EAAsB,KACxJ,CAAC,oBAAqB,CAAED,SAAU,CAAC,EAAgB,GAAeC,OAAQ,CAAC,KAC3E,CAAC,oBAAqB,CAAED,SAAU,CAAC,EAAsB,EAAqB,EAAoB,EAA4B,EAAyB,EAAsB,EAA0B,EAAgB,EAAoB,GAAeC,OAAQ,KAClQ,CAAC,iBAAkB,CAAED,SAAU,CAAC,EAAgB,GAAqBC,OAAQ,KAC7E,CAAC,qBAAsB,CAAED,SAAU,CAAC,GAAiBC,OAAQ,CAAC,4BAKtC,IAAIF,IAAI,CAChC,CAAC,gBAAiB,CAAC,IACnB,CAAC,SAAU,CAAC,IACZ,CAAC,gBAAiB,CAAC,IACnB,CAAC,OAAQ,CAAC,yBAKY,IAAIA,IAAI,CAC9B,CAAC,eAAgB,CAAC,IAClB,CAAC,SAAU,CAAC,IACZ,CAAC,gBAAiB,CAAC,IACnB,CAAC,OAAQ,CAAC,wBAKW,IAAIA,IAAI,CAC7B,CAAC,wBAAyB,IAC1B,CAAC,iCAAkC,CAAC,IACpC,CAAC,qCAAsC,CAAC,IACxC,CAAC,8BAA+B,CAAC,IACjC,CAAC,0BAA2B,IAC5B,CAAC,qBAAsB,IACvB,CAAC,6BAA8B,CAAC,IAChC,CAAC,2BAA4B,IAC7B,CAAC,uBAAwB,CAAC,IAC1B,CAAC,0BAA2B,IAC5B,CAAC,uCAAwC,CAAC,IAC1C,CAAC,sBAAuB,IACxB,CAAC,+BAAgC,CAAC,IAClC,CAAC,wBAAyB,CAAC,IAC3B,CAAC,uBAAwB,IACzB,CAAC,0BAA2B,uBAKR,IAAIA,IAAI,CAC5B,CAAC,wBAAyB,CAAC,IAC3B,CAAC,sBAAuB,IACxB,CAAC,qBAAsB,IACvB,CAAC,uBAAwB,CAAC,IAC1B,CAAC,6BAA8B,IAC/B,CAAC,gCAAiC,IAClC,CAAC,4BAA6B,CAAC,IAC/B,CAAC,4BAA6B,IAC9B,CAAC,6BAA8B,IAC/B,CAAC,0BAA2B,IAC5B,CAAC,wBAAyB,IAC1B,CAAC,4BAA6B,CAAC,IAC/B,CAAC,2BAA4B,IAC7B,CAAC,yBAA0B,IAC3B,CAAC,sBAAuB,IACxB,CAAC,uBAAwB,IACzB,CAAC,2BAA4B,IAC7B,CAAC,qBAAsB,IACvB,CAAC,qBAAsB,IACvB,CAAC,oBAAqB,IACtB,CAAC,4BAA6B,MC/ElC1b,OAAOuC,eAAesZ,GAAS,aAAc,CAAEtlB,OAAO,iCACvB,EAC/B,MAAMggB,GAASzR,GACTgX,GAAgB/W,GAChByR,GAAWxL,2BACjB,SAA8B+B,EAASQ,SAC7BsC,EAAY0G,GAAOzJ,UAAUrR,UAAK,EAAWsR,GAC7C6C,EAAa2G,GAAOtJ,WAAWxR,UAAK,EAAW8R,GAC/CqK,EAAa,CACfA,WAAYrB,GAAOtG,IAAIsG,GAAOzO,SAAS+H,EAAU,qBAE/CkM,EAAyBxU,GAC3ByU,UAAWzF,GAAOtG,IAAIsG,GAAOzO,SAAS+H,EAAU,oBAC7C+H,cAEoBqE,EAAYC,EAAcC,SAC3CvT,EAAQ,GACRwT,EAAuBC,GAAoB9O,EAC5CvJ,IAAIkY,GACJpb,gBACGiD,SACiD,UAAvBkY,EAAWjY,IAAIrR,UAAuB,IAAPoR,EAAgBA,EAAK,IAC3DJ,UAAW0Y,EAAgBnQ,SAAS5W,kBAEnDgnB,GAAWV,OAAEA,WAAQD,MAAeG,GAAcS,eAAgB,OACpEF,EAAkB,IAAIT,KAAWD,KACjC1oB,KAAK,CACPkJ,SAAemB,EAAK0O,WAAWhI,IAAI,IAAIuS,GAAOtT,KAAK,CAAC,YAAcqZ,EAClEhe,KAAM6d,EAAQC,EAAoBC,eAGpCppB,KAAK,CAAEkJ,UAAY,EAAMmC,KAAM6d,EAAQD,KACtC3F,GAAO5N,WAAWC,SAEvB4T,EAAsBC,EAAkBX,GAAcY,eAAgB,0BAA+B9M,EAAW,CAAEtC,UAAW,WAAY/I,OAAQ,CAAEkJ,KAAMpa,aAAgB6C,MAAQ7C,EAAO,2BACxLspB,EAAqBF,EAAkBX,GAAcc,cAAe,yBAA8BhN,EAAW,CAAEtC,UAAW,WAAY/I,OAAQ,CAAEkJ,KAAMpa,aAAgB6C,MAAQ7C,EAAO,0BACrLwpB,EAAyBJ,EAAkBX,GAAcgB,kBAAmB,oBAAyBlN,EAAW,CAAExC,KAAM/Z,MACxH0pB,EAAuBN,EAAkBX,GAAckB,gBAAiB,kBAAuBpN,EAAW,CAAExC,KAAM/Z,QAChHqc,SAAS,aAAc6G,GAAO/O,IAAI+O,GAAOzG,WAAW,CACxDzc,KAAMkjB,GAAOtG,IAAIL,EAAW,CAAEtC,UAAW,WAAY/I,OAAQ,CAAEkJ,KAAMF,EAAYvJ,IAAI,yBACrFiZ,MAAO1G,GAAOtG,IAAIsG,GAAOzO,SAASyO,GAAO/O,IAAI+O,GAAOzG,WAAWvI,GAC3D2V,MAAO1G,GAAStF,MAAM,CAAEb,eAAe,EAAMhG,SAAS,IACtD8S,YAAa5G,GAAOtG,IAAIuG,GAAStF,MAAM,CAAE7G,SAAS,KAClD+S,QAAS7G,GAAOzO,SAAS+H,EAAU,gBAChCkM,GACJ,CAAEpV,SAAU,OAAQvS,QAAS,cAAgB,CAC5C+I,QAAS,KAAO,CACZ+f,MAAO,EACPE,QAAS,CAAC,CACF/pB,KAAM,iBACN4G,KAAM,0BAItB+hB,UAAWzF,GAAOtG,IAAIsG,GAAOzO,SAAS+H,EAAU,oBACjD,CAAEzb,QAAS,eAAiB,CAC3B+I,QAAS,KAAO,CACZ8f,MAAO,CAAC,CACAC,MAAO,EACPE,QAAS,CAAC,CACF/pB,KAAM,iBACN4G,KAAM,iCAKxBojB,EAAY,CACdzW,gBACQ7C,SACgC,UAAtBzG,EAAKsF,MAAMoB,aAA0B,IAAPD,OAAgB,EAASA,EAAG/Q,QAAU,IAC1E,CAAC,yBAA0B,kBAAmB,sBAAsBkZ,SAAS5O,EAAKrK,KAAK,QAAQ+Q,WAGvG0L,SAAS,aAAc6G,GAAO/O,IAAI+O,GAAOzG,WAAW,CACxDzc,KAAMuc,EAAW,CAAEtC,UAAW,WAAY/I,OAAQ,CAAEkJ,KAAM,0BAC1D6P,OAAQ/G,GAAOtG,IAAIsG,GAAO/O,IAAI+O,GAAOpM,WAAW,CAAEE,SAAS,EAAMpC,IAAK,IAAMoV,IAC5EE,QAAShH,GAAOtG,IAAIsG,GAAO/O,IAAI+O,GAAOpM,WAAW,CAAEE,SAAS,IAASgT,KACpE9G,GAAOnL,QAAS,CAAC,CAAEnY,KAAM,UACzBsjB,GAAOlL,MAAO,CACXmS,yBAA0BjW,GACtBrU,SAAUqjB,GAAOzO,SAAS+H,EAAU,gBACjCkM,GAEP0B,oBAAqBlW,GACjBtN,KAAM2V,KACHmM,GAEP2B,kBAAmBnW,GACfrU,SAAUqjB,GAAOzO,SAAS+H,EAAU,gBACjCkM,GAEP4B,iBAAkBpW,GACdtN,KAAM2V,EAAW,CAAEtC,UAAW,WAAY/I,OAAQ,CAAEkJ,KAAM,WACvDsO,GAEP6B,uBAAwBrW,GACpBtN,KAAM2V,EAAW,CAAEtC,UAAW,WAAY/I,OAAQ,CAAEkJ,KAAM,kBACvDsO,GAEP8B,qBAAsBtW,GAClBrU,SAAUqjB,GAAOzO,SAAS+H,EAAU,gBACjCkM,GAEP+B,gBAAiBvW,GACbtN,KAAM2V,EAAW,CAAEtC,UAAW,WAAY/I,OAAQ,CAAEkJ,KAAM,eAC1DsQ,OAAQxH,GAAOtG,IAAIsG,GAAO7O,gBACvBqU,KAGZ,CAAE3nB,QAAS,eAAiB,CAC3B+I,QAAS,KAAO,CACZ9J,KAAM,iBACN4G,KAAM,yBAGNyV,SAAS,gBAAiB6G,GAAO/O,IAAI+O,GAAOzG,WAAW,CAC3DyH,SAAUoF,GACTpG,GAAOnL,QAAS,CAAC,CAAEnY,KAAM,cACzBsjB,GAAOlL,MAAO,CACX2S,wBAAyBzW,GACrB4K,YAAavC,EAAW,CAAEtC,UAAW,WAAY/I,OAAQ,CAAEkJ,KAAM,iBACjEwQ,QAASrO,EAAW,CAAEtC,UAAW,WAAY/I,OAAQ,CAAEkJ,KAAMF,EAAYvJ,IAAI,qCAC7Eka,WAAY3H,GAAO/O,IAAI+O,GAAOzG,WAAW,CACrCqO,gBAAiB5H,GAAO/O,IAAI+O,GAAOpM,aAAc,CAC7CvD,WAAsD,kCAArCtJ,EAAKsF,MAAM3P,KAAK,WAAW+Q,QAEhDoa,MAAO7H,GAAO/O,IAAI+O,GAAOpM,aAAc,CACnCvD,WAAsD,wCAArCtJ,EAAKsF,MAAM3P,KAAK,WAAW+Q,QAEhDqa,YAAa9H,GAAO/O,IAAI+O,GAAOpM,aAAc,CACzCvD,WAAsD,wCAArCtJ,EAAKsF,MAAM3P,KAAK,WAAW+Q,UAEhD,CACA4C,WAAgD,wBAA/BtJ,EAAKrK,KAAK,WAAW+Q,SAEvC4T,GAEP0G,sBAAuB/W,GACnBgX,OAAQxB,GACLnF,GAEP4G,qBAAsBjX,GAClBgX,OAAQxB,EACR0B,IAAKlI,GAAOzO,SAASyO,GAAOzG,WAAW,CACnCyO,OAAQ3O,EAAW,CAAEtC,UAAW,WAAY/I,OAAQ,CAAEoC,SAAU,CAAE+X,OAAQ,cAAephB,KAAM,CAAC,MAAO,MAAO,MAAO,CAAErK,KAAM,eAC7HwL,OAAQmR,EAAW,CAAEtC,UAAW,WAAY/I,OAAQ,CAAEoC,SAAU,oBAChEgY,GAAI/O,EAAW,CAAExC,KAAM,CAAC,UAAW,SAAU,YAC9C,CAAEhZ,QAAS,oBACXwjB,GAEPgH,uBAAwBrX,GACpBmJ,MAAOd,EAAW,CAAEtC,UAAW,WAAY/I,OAAQ,CAAEkJ,KAAM,WAC3DkD,WAAY4F,GAAOzO,SAAS8H,EAAW,CAAEtC,UAAW,kBAAmB/I,OAAQ,CAAE4J,GAAI,CAAC,MAAO,MAAO,CAAElb,KAAM,eACzG2kB,GAEPiH,6BAA8BtX,GAC1B2L,aAAcqD,GAAOtG,IAAIsG,GAAOzO,SAAS8H,EAAW,CAAEtC,UAAW,WAAY/I,OAAQ,CAAEkJ,KAAM,oBAC1FmK,GAEPkH,gCAAiCvX,GAC7B4L,OAAQqD,GAAStF,MAAM,CAAEb,eAAe,IACxC0O,SAAUxI,GAAOtG,IAAIsG,GAAO7O,gBACzBkQ,GAEPoH,4BAA6BzX,GACzB0X,YAAa1I,GAAOtG,IAAIL,EAAW,CAAExC,KAAM,uBAC3C8R,WAAY3I,GAAOtG,IAAIL,EAAW,CAAExC,KAAM,oBAC1C+R,KAAM5I,GAAOtG,IAAIsG,GAAOpM,WAAW,CAAEE,SAAS,KAC9C+U,cAAe7I,GAAOtG,IAAIsG,GAAOpM,WAAW,CAAEE,SAAS,KACvDgV,qBAAsB9I,GAAOtG,IAAIsG,GAAO7O,gBACrCkQ,GAEP0H,6BAA8B/X,GAC1BwJ,OAAQ8L,GACLjF,GAEP2H,wBAAyBhY,GACrBiY,MAAOhJ,GAAStF,MAAM,CAAEd,QAAQ,KAC7BwH,GAEP6H,4BAA6BlY,GACzBuL,MAAO0D,GAAStF,MAAM,CAAEd,QAAQ,IAChCoP,MAAOjJ,GAAOtG,IAAIsG,GAAOpM,WAAW,CAAEE,SAAS,MAC5CuN,GAEP8H,2BAA4BnY,GACxBoY,UAAWpJ,GAAOzO,SAAS+H,EAAU,wBAClC+H,GAEPgI,yBAA0BrY,GACtB6V,QAAS7G,GAAOzO,SAAS+H,EAAU,gBAChC+H,GAEPiI,sBAAuBtY,GACnBuL,MAAO0D,GAAStF,MAAM,CAAEb,eAAe,KACpCuH,GAEPkI,uBAAwBvY,GACpB0R,OAAQzC,GAAStF,MAAM,CAAEf,YAAY,KAClCyH,GAEPmI,2BAA4B,CACxB9lB,KAAM2V,EAAW,CAAEtC,UAAW,WAAY/I,OAAQ,CAAEkJ,KAAM,iBAC1DuS,KAAMzJ,GAAOtG,IAAIsG,GAAOpM,WAAW,CAAEE,SAAS,MAElD4V,qBAAsB1Y,GAClBwJ,OAAQwF,GAAOtG,IAAI4M,GACnBqD,KAAM3J,GAAOzO,SAAS+H,EAAU,mBAChC5Y,QAASsf,GAAOtG,IAAIsG,GAAO7O,gBACxBkQ,GAEPuI,qBAAsB5Y,GAClBwJ,OAAQwF,GAAOtG,IAAI4M,GACnB5iB,KAAMsc,GAAOtG,IAAIJ,EAAU,oBACxB+H,GAEPwI,oBAAqB7Y,GACjBsL,IAAKjD,EAAW,CAAEtC,UAAW,MAAO/I,OAAQ,CAAE2J,SAAU,CAAEvH,SAAU,sBACjEiR,GAEPyI,4BAA6B9Y,GACzBiO,QAASe,GAAOtG,IAAIsG,GAAOzO,SAASyO,GAAOzG,WAAW,CAClDzc,KAAMuc,EAAW,CAAEtC,UAAW,WAAY/I,OAAQ,CAAEkJ,KAAM,gBAC1DiH,SAAU8B,GAAStF,aAEpB0G,KAGZ,CAAEjR,SAAU,WAAYvS,QAAS,aAAe,CAC/C+I,QAAS,KAAO,CACZoa,SAAU,sBACVzE,MAAO,SAGPpD,SAAS,iBAAkB6G,GAAO/O,IAAI+O,GAAOzG,WAAW,CAC5DyL,UAAWiB,GACVjG,GAAOnL,QAAS,CAAC,CAAEnY,KAAM,eACzBsjB,GAAOlL,MAAO5D,OACR+O,GAASgF,gBADD,CAEX1K,8BAA+B,CAC3BC,OAAQ8L,EACRhM,UAAWhB,EAAU,qBAEzBmB,0BAA2B,CACvBD,OAAQ8L,EACR5L,OAAQsF,GAAOvM,QAAQ4F,EAAW,CAAEtC,UAAW,cAAgBkJ,GAAStF,MAAM,CAAEd,QAAQ,SAGjG,CAAEzJ,SAAU,YAAavS,QAAS,cAAgB,CACjD+I,QAAS,KAAO,CACZoe,UAAW,0BACX1J,OAAQ,UAGRnC,SAAS,qBAAsB6G,GAAO/O,IAAI+O,GAAOzG,WAAW,CAChEwQ,UAAW1Q,EAAW,CAAEtC,UAAW,WAAY/I,OAAQ,CAAEkJ,KAAM,eAC/DxT,KAAM2V,IACN2Q,OAAQ/J,GAAStF,MAAM,CAAEd,QAAQ,IACjCoQ,UAAW5Q,EAAW,CAAExC,KAAM,CAAC,WAAY,gBAAiB,oBAC5DqT,KAAMlK,GAAOmK,aAAa9Q,EAAW,CAAExC,KAAM,WAC9C,CAAEhZ,QAAS,uBAAyB,CACnC+I,QAAS,KAAO,CACZmjB,UAAW,+BACXrmB,KAAM,GACNsmB,OAAQ,EACRC,UAAW,WACXC,KAAM,2BC1QlBzgB,OAAOuC,eAAeoe,GAAS,aAAc,CAAEpqB,OAAO,kCACtB,EAChC,MAAMggB,GAASzR,4BACf,SAA+BiI,EAASpX,KAE5B+Z,SAAS,cAAe6G,GAAO/O,IAAI+O,GAAOzG,WAAW,CACzD8Q,KAAMrK,GAAO/O,IAAI+O,GAAOzG,WAAW,CAC/B+Q,YAAatK,GAAO/O,IAAI+O,GAAOpM,WAAW,CAAEE,SAAS,EAAMpC,IAAK,EAAGxL,IAAK,IAAM,CAAEU,QAAS,IAAM,IAC/F0Z,YAAaN,GAAOzJ,UAAUC,EAAS,oBACvC,CACA5P,QAAS,KAAO,CACZ0jB,YAAa,EACbhK,YAAa,SAGrB,CACA1Z,QAAS,KAAO,CACZyjB,KAAM,CACFC,YAAa,EACbhK,YAAa,oBCnB7B7W,OAAOuC,eAAeue,GAAS,aAAc,CAAEvqB,OAAO,8BAC1B,EAC5B,MAAMggB,GAASzR,wBACf,SAA2BiI,EAASQ,SAC1BsC,EAAY0G,GAAOzJ,UAAUrR,UAAK,EAAWsR,GAC7C6C,EAAa2G,GAAOtJ,WAAWxR,UAAK,EAAW8R,KAC7CmC,SAAS,SAAU6G,GAAO/O,IAAI+O,GAAOzG,WAAW,CACpDzc,KAAMuc,EAAW,CAAEtC,UAAW,WAAY/I,OAAQ,CAAEkJ,KAAM,wBACzD8I,GAAOnL,QAAS,CAAC,CAAEnY,KAAM,UACzBsjB,GAAOlL,MAAO,CACX0V,4BAA6B,CACzBC,MAAOzK,GAAOtG,IAAIL,EAAW,CAAExC,KAAM,eAAgBS,YAAY,KACjEoT,QAAS1K,GAAOzO,SAAS8H,KACzBrc,IAAKgjB,GAAOvM,QAAQ4F,IACpBC,EAAU,sBACVqR,OAAQrR,EAAU,kBAEtBsR,+BAAgC,CAC5BH,MAAOzK,GAAOtG,IAAIL,KAClBwR,YAAa7K,GAAOzO,SAAS+H,EAAU,sBACvCqR,OAAQrR,EAAU,kBAEtBwR,qBAAsB,CAClBL,MAAOzK,GAAOtG,IAAIL,KAClB0R,WAAYzR,EAAU,qBACtBqR,OAAQtR,EAAW,CAAEtC,UAAW,WAAY/I,OAAQ,CAAEkJ,KAAM,UAC5DgK,WAAYlB,GAAOtG,IAAIsG,GAAOpM,cAC9BoX,YAAahL,GAAOtG,IAAIsG,GAAO/O,IAAI+O,GAAOpM,WAAW,CAAEE,SAAS,IAAS,CAAElN,QAAS,IAAM,QAE9FqkB,qBAAsB,CAClBR,MAAOzK,GAAOtG,IAAIL,KAClB0R,WAAYzR,EAAU,qBACtBqR,OAAQtR,EAAW,CAAEtC,UAAW,WAAY/I,OAAQ,CAAEkJ,KAAM,UAC5DgK,WAAYlB,GAAOtG,IAAIsG,GAAOpM,cAC9BoX,YAAahL,GAAOtG,IAAIsG,GAAO/O,IAAI+O,GAAOpM,WAAW,CAAEE,SAAS,IAAS,CAAElN,QAAS,IAAM,QAE9FskB,oBAAqB,CACjBT,MAAOzK,GAAOtG,IAAIL,KAClB0R,WAAYzR,EAAU,qBACtBqR,OAAQtR,EAAW,CAAEtC,UAAW,WAAY/I,OAAQ,CAAEkJ,KAAM,UAC5DgK,WAAYlB,GAAOtG,IAAIsG,GAAOpM,cAC9BoX,YAAahL,GAAOtG,IAAIsG,GAAO/O,IAAI+O,GAAOpM,WAAW,CAAEE,SAAS,IAAS,CAAElN,QAAS,IAAM,QAE9FukB,6BAA8B,CAC1BV,MAAOzK,GAAOtG,IAAIL,KAClB0R,WAAYzR,EAAU,qBACtBqR,OAAQtR,EAAW,CAAEtC,UAAW,WAAY/I,OAAQ,CAAEkJ,KAAM,UAC5DgK,WAAYlB,GAAOtG,IAAIsG,GAAOpM,cAC9BoX,YAAahL,GAAOtG,IAAIsG,GAAO/O,IAAI+O,GAAOpM,WAAW,CAAEE,SAAS,IAAS,CAAElN,QAAS,IAAM,QAE9FwkB,yBAA0B,CACtBX,MAAOzK,GAAOtG,IAAIL,KAClB0R,WAAYzR,EAAU,qBACtBqR,OAAQtR,EAAW,CAAEtC,UAAW,WAAY/I,OAAQ,CAAEkJ,KAAM,UAC5DqF,MAAOyD,GAAOpM,WAAW,CAAEE,SAAS,KAExCuX,qBAAsB,CAClBZ,MAAOzK,GAAOtG,IAAIL,KAClBrb,KAAMsb,EAAU,4BAChBgS,SAAUhS,EAAU,4BACpBqR,OAAQrR,EAAU,oBAG3B,CAAEzb,QAAS,WAAa,CACvB+I,QAAS,KAAO,CACZ9J,KAAM,mCAGNqc,SAAS,oBAAqB6G,GAAO/O,IAAI+O,GAAO7M,WAAW,CAC/D,CACIrW,KAAM,SACNiL,KAAMuR,EAAU,4BAChBlG,UAAa/R,EAAE,IAEnB,CACIvE,KAAM,OACNiL,KAAMiY,GAAOzO,SAAS+H,EAAU,6BAChClG,UAAa,CAAC/R,MAElB,CACAuF,QAAS,KAAO,CACZyV,KAAM,yBAGNlD,SAAS,2BAA4B6G,GAAO/O,IAAI+O,GAAOzG,WAAW,CACtE8C,KAAM2D,GAAOtG,IAAIL,EAAW,CAAEtC,UAAW,WAAY/I,OAAQ,CAAEkJ,KAAM,WACrEoF,IAAK0D,GAAOtG,IAAIL,EAAW,CAAEtC,UAAW,WAAY/I,OAAQ,CAAEkJ,KAAM,kBACpE,CACAtQ,QAAS,KAAO,CACZyV,KAAM,yBAGNlD,SAAS,gBAAiB6G,GAAO/O,IAAI+O,GAAOzG,WAAW,CAC3D8C,KAAMhD,EAAW,CAAEtC,UAAW,WAAY/I,OAAQ,CAAEkJ,KAAM,UAC1DqF,MAAOyD,GAAOtG,IAAIsG,GAAO/O,IAAI+O,GAAOpM,WAAW,CAAEE,SAAS,IAAS,CAAElN,QAAS,IAAM,OACpF,CACAA,QAAS,KAAO,CACZyV,KAAM,kCCjGlB5S,OAAOuC,eAAeuf,GAAS,aAAc,CAAEvrB,OAAO,4BAC5B,EAC1B,MAAMggB,GAASzR,sBACf,SAAyBiI,EAASQ,SACxBqC,EAAa2G,GAAOtJ,WAAWxR,UAAK,EAAW8R,GAC/CwU,EAAW1uB,GAASkjB,GAAO/O,IAAI+O,GAAOzG,WAAW,CACnD7Y,QAASsf,GAAOtG,IAAIsG,GAAO7O,eAC3BoG,OAAQyI,GAAOzO,SAASyO,GAAO7M,WAAW,CACtC,CACIrW,KAAM,SACNiL,KAAMsR,EAAW,CAAEtC,UAAW,WAAY/I,OAAQ,CAAEkJ,KAAMpa,EAAMqa,UAAU,KAC1E/D,UAAa/R,EAAEuW,IAEnB,CACI9a,KAAM,SACNiL,KAAMiY,GAAOzG,WAAW,CACpB3B,GAAIyB,EAAW,CAAEtC,UAAW,WAAY/I,OAAQ,CAAEkJ,KAAMpa,EAAMqa,UAAU,EAAME,cAAc,KAC5FoU,SAAUzL,GAAO7O,gBAErBiC,WAAc,CAAEwE,GAAIvW,SAG7B,CAAExD,QAAS,QAAU,CACpB+I,QAAS,KAAO,CACZ2Q,OAAQ,SAGR4B,SAAS,YAAaqS,EAAQ,YAC9BrS,SAAS,kBAAmBqS,EAAQ,kBACpCrS,SAAS,YAAaqS,EAAQ,YAC9BrS,SAAS,eAAgBqS,EAAQ,gBACjCrS,SAAS,WAAYqS,EAAQ,oBC/BzC/hB,OAAOuC,eAAe0f,GAAS,aAAc,CAAE1rB,OAAO,qCACnB,EACnC,MAAMggB,GAASzR,+BACf,SAAkCiI,EAASQ,SACjCsC,EAAY0G,GAAOzJ,UAAUrR,UAAK,EAAWsR,GAC7C6C,EAAa2G,GAAOtJ,WAAWxR,UAAK,EAAW8R,GAC/C2U,EAAmBtqB,QAAYmM,SAAWnM,aAAa1B,MAAQgsB,EAAgBtqB,EAAE,IAA8D,UAAlDA,MAAAA,OAA6B,EAASA,EAAEuqB,YAAyB,IAAPpe,EAAgBA,EAAmB,iBAANnM,EAAiB,GAAKA,MAAAA,OAA6B,EAASA,EAAEwO,cAChPsJ,SAAS,iBAAkB6G,GAAO/O,IAAI+O,GAAO7M,WAAW,CAC5D,CACIrW,KAAM,SACNiL,KAAMuR,EAAU,yBAChBlG,UAAa/R,aAAa1B,MAAyB,iBAAT0B,EAAE,GAAkBA,EAAE,GAAK,CAAEuqB,KAAMD,EAAgBtqB,EAAE,KAAsB,iBAANA,EAAiBA,EAAI,CAAEuqB,KAAMD,EAAgBtqB,KAEhK,CACIvE,KAAM,OACNiL,KAAMuR,EAAU,uBAChBlG,UAAa,CAAC/R,IAElB,CACIvE,KAAM,SACN4V,SAAU,EACV3K,KAAMsR,IACNjG,OAAQuY,GAEZ,CACI7uB,KAAM,SACNiL,KAAMiY,GAAOpM,aACbR,iBACUtX,EAAI+vB,WAAWF,EAAgBtqB,WAC9ByqB,SAAShwB,GAAKA,EAAOuF,EAAI,EAAI,IAG5C,CACIvE,KAAM,UACNiL,KAAMiY,GAAO7O,cACbiC,iBACUpU,EAAI2sB,EAAgBtqB,SACb,SAANrC,GAAsB,UAANA,EAAsB,SAANA,IAAiBA,KAGjE,CAAEnB,QAAS,mBAAqB,CAC/B+I,QAAS,KAAO,CACZglB,KAAM,cAGRG,EAAe,CACjBC,KAAMhM,GAAOtG,IAAIsG,GAAO7O,eACxB8a,OAAQjM,GAAOtG,IAAIsG,GAAO7O,eAC1B+a,WAAYlM,GAAOtG,IAAIsG,GAAO7O,eAC9Bgb,cAAenM,GAAOtG,IAAIsG,GAAO7O,eACjCib,WAAYpM,GAAOtG,IAAIsG,GAAO7O,eAC9Bkb,UAAWrM,GAAOtG,IAAIL,KACtBiT,WAAYtM,GAAOtG,IAAIsG,GAAOzG,WAAW,CACrCgT,OAAQlT,EAAW,CAAExC,KAAM,CAAC,WAAY,YAAa,cAAe,kBAAmB,cAAe,wBACrGmJ,GAAOnL,QAAS,CAAC,CAAEnY,KAAM,YACzBsjB,GAAOlL,MAAO,CACX0X,YAAe,CACXxsB,MAAOqZ,KAEXoT,kBAAqB,CACjBzsB,MAAOqZ,KAEXqT,UAAa,CACT1sB,MAAOqZ,KAEXsT,SAAY,CACR3sB,MAAOqZ,KAEXuT,YAAe,CACX5sB,MAAOqZ,EAAW,CAAEtC,UAAW,UAAW/I,OAAQ,CAAE6e,cAAc,EAAMC,cAAc,MAE1FC,gBAAmB,CACf/sB,MAAOqZ,EAAW,CAAEtC,UAAW,UAAW/I,OAAQ,CAAE6e,cAAc,EAAMC,cAAc,UAIlGE,WAAYhN,GAAOtG,IAAIsG,GAAOzG,WAAW,CACrCgT,OAAQlT,EAAW,CAAExC,KAAM,CAAC,YAAa,YAAa,kBACrDmJ,GAAOnL,QAAS,CAAC,CAAEnY,KAAM,YACzBsjB,GAAOlL,MAAO,CACXmY,UAAa,CACTjtB,MAAOggB,GAAOtG,IAAIJ,EAAU,oBAEhC4T,UAAa,CACTltB,MAAOggB,GAAOtG,IAAIL,EAAW,CAAEtC,UAAW,MAAO/I,OAAQ,CAAEmf,OAAQ,2BAEvEC,YAAe,CACXptB,MAAOggB,GAAOtG,IAAIsG,GAAOzG,WAAW,CAChC7V,KAAMsc,GAAOtG,IAAIL,KACjBvc,KAAMkjB,GAAOtG,IAAIL,KACjBzB,GAAIoI,GAAOtG,IAAIL,aAK/BwO,MAAO7H,GAAOtG,IAAIJ,EAAU,2BAExBH,SAAS,wBAAyB6G,GAAO/O,IAAI+O,GAAO7M,WAAW,CACnE,CACIrW,KAAM,OACN8I,SAAyB,iBAANvE,EACnB+R,WAAc,CAAEwY,KAAM,KACtBlZ,YACA3K,KAAMiY,GAAOzG,WAAWvI,GACpB4a,KAAMvS,KACH0S,KAGX,CACIjvB,KAAM,cACN8I,cAAoE,kBAA1B,EAASvE,EAAEgsB,WACrDja,WAAc,CAAEia,UAAW,KAC3BtlB,KAAMiY,GAAOzG,WAAWvI,GACpBqc,UAAWhU,IACXiU,KAAMtN,GAAOtG,IAAIJ,EAAU,yBACxByS,KAGX,CACIjvB,KAAM,QACN8I,cAAgE,kBAAtB,EAASvE,EAAEksB,OACrDna,WAAc,CAAEma,MAAO,KACvBxlB,KAAMiY,GAAOzG,WAAWvI,GACpBuc,MAAOvN,GAAOzG,WAAW,CACrB7V,KAAM2V,EAAW,CAAEtC,UAAW,SAAU/I,OAAQ,CAAEgc,OAAQ,SAAUltB,KAAM,WAAY0wB,eAAe,KACrGC,UAAWpU,EAAW,CAAEtC,UAAW,cACnC/W,MAAOggB,GAAOtG,IAAIL,QAEnB0S,KAGX,CACIjvB,KAAM,WACN8I,cAAmE,kBAAzB,EAASvE,EAAEqsB,UACrDta,WAAc,CAAEsa,SAAU,KAC1B3lB,KAAMiY,GAAOzG,WAAWvI,GACpB0c,SAAUrU,EAAW,CAAEtC,UAAW,SAAU/I,OAAQ,CAAEgc,OAAQ,WAAYltB,KAAM,eAC7EivB,KAGX,CACIjvB,KAAM,UACN8I,cAAkE,kBAAxB,EAASvE,EAAEssB,SACrDva,WAAc,CAAEua,QAAS,KACzB5lB,KAAMiY,GAAOzG,WAAWvI,GACpB2c,QAAStU,EAAW,CAAExC,KAAM,UAAWS,YAAY,KAChDyU,KAGX,CACIjvB,KAAM,MACN8I,cAA8D,kBAApB,EAASvE,EAAEqb,KACrDtJ,WAAc,CAAEsJ,IAAK,KACrB3U,KAAMiY,GAAOzG,WAAWvI,GACpB0L,IAAKrD,EAAW,CAAEtC,UAAW,aAC7BoD,MAAO6F,GAAOtG,IAAIL,EAAW,CAAEtC,UAAW,SAAU/I,OAAQ,CAAEiP,UAAW,EAAGhJ,WAAW,MACvFuG,OAAQwF,GAAOtG,IAAIL,EAAW,CAAEtC,UAAW,SAAU/I,OAAQ,CAAEgc,OAAQ,SAAUltB,KAAM,eACvF8wB,QAAS5N,GAAOtG,IAAIL,EAAW,CAAEtC,UAAW,WAAY/I,OAAQ,CAAEkJ,KAAM,eACxE2W,UAAW7N,GAAOtG,IAAIsG,GAAO7O,gBAC1B4a,MAGZ,CAAEluB,QAAS,wBAAyBkc,cAAe,0BAA4B,CAC9EnT,QAAS,KAAO,CACZglB,KAAM,UAGNzS,SAAS,sBAAuB6G,GAAO/O,IAAI+O,GAAOzO,SAAS+H,EAAU,mBAAoB,CAC7F1S,QAAS,IAAM,CAAC,CACRglB,KAAM,SCzKtBniB,OAAOuC,eAAe8hB,GAAS,aAAc,CAAE9tB,OAAO,wBAChC,EACtB,MAAM+tB,GAAgBxf,GAChB0R,GAAWzR,GACXwf,GAAcvZ,GACdwZ,GAActZ,GACduZ,GAAe5V,GACf4H,GAAe3H,GACf4V,GAAW3V,GACX4V,GAAS3V,GACT4V,GAAkB3V,kBACxB,SAAqBlC,EAASQ,MAEjBsX,kBAAkB9X,EAASQ,MACvBuX,sBAAsB/X,EAASQ,MAC9BwX,uBAAuBhY,EAASQ,MAClCyX,qBAAqBjY,EAASQ,MAC9B0X,qBAAqBlY,EAASQ,MAC7B2X,sBAAsBnY,EAASQ,MACnC4X,kBAAkBpY,EAASQ,MAC7B6X,gBAAgBrY,EAASQ,MAChB8X,yBAAyBtY,EAASQ,ICrBtD,IAAIgB,GAAmBpa,IAAQA,GAAKoa,yBAA4BtO,OAAU,SAASrN,EAAGkD,EAAGF,EAAG4Y,QAC7E,IAAPA,MAAuB5Y,UACpB2M,eAAe3P,EAAG4b,EAAI,CAAEC,YAAY,EAAMzK,IAAK,kBAAoBlO,EAAEF,OAC1E,SAAShD,EAAGkD,EAAGF,EAAG4Y,QACT,IAAPA,MAAuB5Y,KACzB4Y,GAAM1Y,EAAEF,KAEV0vB,GAAsBnxB,IAAQA,GAAKmxB,4BAA+BrlB,OAAU,SAASrN,EAAGgF,UACjF2K,eAAe3P,EAAG,UAAW,CAAE6b,YAAY,EAAMlY,MAAOqB,KAC9D,SAAShF,EAAGgF,aACEA,IAEf2tB,GAAgBpxB,IAAQA,GAAKoxB,cAAiB,SAAUC,MACpDA,GAAOA,EAAIC,kBAAmBD,MAC9BtE,EAAS,MACF,MAAPsE,UAAsB5vB,KAAK4vB,EAAe,YAAN5vB,GAAmBoK,OAAO9H,UAAU0W,eAAe/U,KAAK2rB,EAAK5vB,OAAoBsrB,EAAQsE,EAAK5vB,aACnHsrB,EAAQsE,GACpBtE,GAEXlhB,OAAOuC,eAAemjB,GAAS,aAAc,CAAEnvB,OAAO,IACtD,2DAAoE,EACpE,MAAMggB,GAASzR,GACT6gB,GAAgB5gB,GAChB6gB,GAAY5a,GAClB,sBAAsBua,GAAara,IAMnC,yBALA,iBACUqC,EAAc,IAAIgJ,GAAOsP,6BACjBC,gBAAgBvY,GACvBA,GAsBXwY,iBALA,SAAoBxY,SACVR,EAAU,IAAIwJ,GAAOyP,yBACjBC,YAAYlZ,EAASQ,GACxBR,+MChDX/M,OAAOuC,eAAekN,GAAS,aAAc,CAAElZ,OAAO,4BAC5B,qBAC1B,SAAyBgX,KACTmC,SAAS,sBAAuB,CACxC,+BACA,yBACA,0BACA,8BACA,gCACA,6BACA,yBACA,kCACA,4BACA,2BACA,wBACA,+BACA,iCACA,0BACA,+BACA,gCACA,uBACA,8BACA,oCACA,+BACA,+BACA,uBACA,qBACA,0BACA,yBACA,4CACA,+BACA,0CACA,iCACA,4BACA,0BACA,yBACA,6BACA,4BACA,wBACA,uBACA,iBACA,4CACA,2BACA,uBACA,2BACA,gCAEQA,SAAS,YAAa,CAC9B,sBACA,uBACA,wBAEQA,SAAS,iBAAkB,CACnC,sBACA,uBACA,wBAEQA,SAAS,UAAW,CAC5B,mBACA,aACA,WACA,WACA,cACA,WACA,cACA,iBACA,eACA,eACA,eACA,eACA,eACA,eACA,eACA,eACA,eACA,gBACA,WACA,WACA,2BACA,eACA,iBACA,YACA,2BACA,iBACA,mBACA,YACA,wBACA,aACA,kBACA,wBACA,cAEQA,SAAS,OAAQ,CACzB,WACA,UACA,OACA,QACA,OACA,WAEQA,SAAS,WAAY,CAC7B,WACA,WACA,YACA,gBAEQA,SAAS,0BAA2B,CAC5C,sBACA,mBACA,gBACA,sBACA,kBACA,iCAEQA,SAAS,gBAAiB,CAClC,OACA,gBACA,SACA,oBAEQA,SAAS,cAAe,CAChC,eACA,OACA,SACA,oBAEQA,SAAS,iCAAkC,CACnD,gCACA,sCACA,0BAEQA,SAAS,iBAAkB,CACnC,UACA,WACA,SACA,QACA,aACA,cACA,WACA,eACA,iBACA,oBACA,QACA,eACA,gBACA,iBACA,oBACA,gBACA,cACA,cACA,cACA,oBACA,cACA,gBACA,cACA,eACA,eACA,aACA,mBAEQA,SAAS,cAAe,CAChC,kBACA,kBACA,iBACA,UACA,WACA,QACA,iBACA,UACA,YACA,WACA,gBACA,aACA,mBACA,gBACA,YACA,aACA,YACA,cAEQA,SAAS,eAAgB,CACjC,MACA,iBACA,aACA,gBACA,YACA,qBACA,WACA,cACA,OACA,cACA,iBACA,oBACA,SACA,gBACA,cACA,qBACA,eACA,SACA,kBACA,wBACA,OACA,YACA,aACA,WACA,UACA,kBACA,gBACA,aACA,WACA,cACA,aACA,SACA,OACA,OACA,QACA,WACA,YACA,SACA,sBAEQA,SAAS,8BAA+B,CAChD,mBACA,yBACA,8BACA,mBACA,yBACA,0BACA,4BACA,2BACA,2BACA,wBACA,uBACA,kBACA,6BACA,qBACA,wBACA,iCACA,kCACA,kCACA,iCACA,iCACA,yBACA,sCACA,kCACA,0BACA,yCACA,uCACA,qBACA,kBACA,wBACA,sBACA,wBACA,sBACA,gCACA,wBACA,iCACA,uBACA,sBACA,gCACA,+BACA,+BACA,sBACA,2BACA,0BACA,mCACA,yBACA,yBACA,wBACA,gCACA,4CACA,qCACA,wBACA,mBACA,6BACA,4BACA,sBACA,gCACA,8BACA,sBACA,sBACA,yBACA,2BACA,wBACA,gCACA,wBACA,sBACA,sBACA,sBACA,uBACA,iCACA,6BACA,sBACA,wBACA,yBACA,sCACA,2BACA,yBACA,0BACA,yBACA,yBACA,gBACA,yBACA,2BACA,qBACA,6BACA,6BACA,wBACA,wBACA,qBACA,wBACA,4BACA,2BACA,4BACA,qBACA,wBACA,8BACA,uBACA,yBACA,qBACA,sBACA,sBACA,8BACA,8BACA,yBACA,0BACA,6BACA,kCACA,+BACA,iCACA,mCACA,gCACA,yBACA,gCACA,8BACA,qCACA,4BACA,uBACA,iCACA,+BACA,+BACA,+BACA,8BACA,gCACA,gCACA,8BACA,6BACA,wBACA,0BACA,+BACA,4BACA,sCACA,oCACA,mCACA,6BACA,4BACA,8BACA,+BACA,6BACA,6BACA,qBACA,qBACA,uBACA,yBACA,sBACA,iBACA,6BACA,+BACA,gCACA,gCACA,+BACA,+BACA,uBACA,0BACA,+BACA,+BACA,0BACA,4BACA,2BACA,4BACA,2BACA,0BACA,iCACA,iCACA,0BACA,yBACA,+BACA,wBACA,wBACA,yBACA,yBACA,mBACA,kCACA,uBACA,6BACA,wBACA,+BACA,wBACA,8BACA,yBACA,gCACA,2BACA,0BACA,oCACA,wBACA,2BACA,kBACA,gCACA,kCACA,qCACA,iCACA,yBACA,8BAEQA,SAAS,wCAAyC,CAC1D,4BACA,4BACA,2BACA,qBACA,qBACA,kBACA,2BACA,oBACA,2BACA,sBACA,qBACA,0BACA,4BACA,4BACA,6BACA,iCACA,iCACA,mCACA,iCACA,gCACA,gCACA,0BACA,8BACA,sBACA,uBACA,sBACA,2BACA,2BACA,4BACA,0BACA,8BAEQA,SAAS,sCAAuC,CACxD,qBACA,0BACA,2BACA,mBACA,gBACA,4BACA,yBACA,sBACA,6BACA,kBACA,8BACA,uBACA,qBACA,qBACA,mBACA,iBACA,uBACA,8BACA,6BACA,kBACA,kBACA,0BACA,gCAEQA,SAAS,iBAAkB,CACnC,QACA,SACA,gBACA,SACA,MACA,SACA,OACA,WACA,SACA,OACA,QACA,SACA,QACA,UACA,QACA,QACA,cAEQA,SAAS,iBAAkB,CACnC,kBACA,4BACA,cACA,iBACA,gBACA,uBAEQA,SAAS,kBAAmB,CACpC,MACA,aAEQA,SAAS,oBAAqB,CACtC,kBACA,kBACA,oBACA,qBACA,oBACA,mBACA,iBACA,mBACA,+BACA,+BACA,oBACA,+DCngBDnN,iBAAwB,aAAc,CAAEhM,OAAO,wBAC1BmQ,aAAqBA,QAAgBA,uBAA+BA,uBAA+BA,uBAA+BA,uBAA+BA,sBAAyB,QAChNiJ,EAAS7K,0BACgB,CAC3BohB,WAAW,EACXC,SAAS,EACTC,aAAa,EACbC,sBAAsB,EACtBC,WAAW,EACXC,WAAW,EACXC,cAAc,EACdC,aAAa,EACbC,iBAAkB,EAClBC,cAAe,EACfC,eAAgB,IAChBC,WAAY,yDAEe,CAC3B5sB,KAAM,sBACN6sB,0BACAC,uBAAwB,EACxBC,UAAW,GACXC,wBAAwB,EACxBC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,6BACA,qBACA,0BACA,yBACA,4CACA,+BACA,0CACA,iCACA,4BACA,0BACA,yBACA,6BACA,2BACA,4BACA,wBACA,uBACA,iBACA,4CACA,2BACA,uBACA,uBACA,2BACA,gCAEQA,SAAS,YAAa,CAC9B,sBACA,uBACA,wBAEQA,SAAS,iBAAkB,CACnC,sBACA,uBACA,wBAEQA,SAAS,UAAW,CAC5B,mBACA,aACA,WACA,WACA,cACA,WACA,cACA,iBACA,eACA,eACA,eACA,eACA,eACA,eACA,eACA,eACA,eACA,gBACA,WACA,WACA,2BACA,eACA,iBACA,YACA,2BACA,iBACA,mBACA,YACA,wBACA,aACA,kBACA,wBACA,cAEQA,SAAS,OAAQ,CACzB,WACA,UACA,OACA,QACA,OACA,WAEQA,SAAS,WAAY,CAC7B,WACA,WACA,YACA,gBAEQA,SAAS,0BAA2B,CAC5C,sBACA,mBACA,gBACA,sBACA,kBACA,iCAEQA,SAAS,gBAAiB,CAClC,OACA,SACA,gBACA,oBAEQA,SAAS,cAAe,CAChC,eACA,OACA,SACA,oBAEQA,SAAS,iCAAkC,CACnD,gCACA,sCACA,0BAEQA,SAAS,iBAAkB,CACnC,UACA,WACA,SACA,QACA,aACA,cACA,WACA,eACA,iBACA,oBACA,QACA,eACA,gBACA,iBACA,oBACA,gBACA,cACA,cACA,cACA,oBACA,cACA,gBACA,cACA,eACA,eACA,aACA,mBAEQA,SAAS,cAAe,CAChC,kBACA,kBACA,iBACA,UACA,WACA,QACA,iBACA,UACA,YACA,WACA,gBACA,aACA,mBACA,gBACA,YACA,aACA,YACA,cAEQA,SAAS,eAAgB,CACjC,MACA,iBACA,aACA,gBACA,YACA,qBACA,WACA,cACA,OACA,cACA,iBACA,oBACA,SACA,gBACA,cACA,qBACA,eACA,SACA,kBACA,wBACA,OACA,YACA,aACA,WACA,UACA,kBACA,gBACA,aACA,WACA,cACA,aACA,SACA,OACA,OACA,QACA,WACA,YACA,SACA,sBAEQA,SAAS,8BAA+B,CAChD,mBACA,yBACA,8BACA,mBACA,yBACA,0BACA,4BACA,2BACA,2BACA,wBACA,uBACA,kBACA,6BACA,qBACA,wBACA,iCACA,kCACA,kCACA,iCACA,iCACA,yBACA,sCACA,kCACA,0BACA,yCACA,uCACA,qBACA,kBACA,wBACA,sBACA,wBACA,sBACA,gCACA,wBACA,iCACA,uBACA,sBACA,gCACA,+BACA,+BACA,sBACA,2BACA,0BACA,mCACA,yBACA,yBACA,wBACA,gCACA,4CACA,qCACA,wBACA,mBACA,6BACA,4BACA,sBACA,gCACA,8BACA,sBACA,sBACA,yBACA,2BACA,wBACA,gCACA,wBACA,sBACA,sBACA,sBACA,uBACA,iCACA,6BACA,sBACA,wBACA,yBACA,sCACA,2BACA,yBACA,0BACA,yBACA,yBACA,gBACA,yBACA,2BACA,qBACA,6BACA,6BACA,wBACA,wBACA,qBACA,wBACA,4BACA,2BACA,4BACA,qBACA,wBACA,8BACA,uBACA,yBACA,qBACA,sBACA,sBACA,8BACA,8BACA,yBACA,0BACA,6BACA,kCACA,+BACA,iCACA,mCACA,gCACA,yBACA,gCACA,8BACA,qCACA,4BACA,uBACA,iCACA,+BACA,+BACA,+BACA,8BACA,gCACA,gCACA,8BACA,6BACA,wBACA,0BACA,+BACA,4BACA,sCACA,oCACA,mCACA,6BACA,4BACA,8BACA,+BACA,6BACA,6BACA,qBACA,qBACA,uBACA,yBACA,sBACA,iBACA,6BACA,+BACA,gCACA,gCACA,+BACA,+BACA,uBACA,0BACA,+BACA,+BACA,0BACA,4BACA,2BACA,4BACA,2BACA,0BACA,iCACA,iCACA,0BACA,yBACA,+BACA,wBACA,wBACA,yBACA,yBACA,mBACA,kCACA,uBACA,6BACA,wBACA,+BACA,wBACA,8BACA,yBACA,gCACA,2BACA,0BACA,oCACA,wBACA,2BACA,kBACA,gCACA,kCACA,qCACA,iCACA,yBACA,8BAEQA,SAAS,wCAAyC,CAC1D,4BACA,4BACA,2BACA,qBACA,qBACA,kBACA,2BACA,oBACA,2BACA,sBACA,qBACA,0BACA,4BACA,4BACA,6BACA,iCACA,iCACA,mCACA,iCACA,gCACA,gCACA,0BACA,8BACA,sBACA,uBACA,sBACA,2BACA,2BACA,4BACA,0BACA,8BAEQA,SAAS,sCAAuC,CACxD,qBACA,0BACA,2BACA,mBACA,gBACA,4BACA,yBACA,sBACA,6BACA,kBACA,8BACA,uBACA,qBACA,qBACA,mBACA,iBACA,uBACA,8BACA,6BACA,kBACA,kBACA,0BACA,gCAEQA,SAAS,iBAAkB,CACnC,QACA,SACA,gBACA,SACA,MACA,SACA,OACA,WACA,SACA,OACA,QACA,SACA,QACA,UACA,QACA,QACA,cAEQA,SAAS,iBAAkB,CACnC,kBACA,4BACA,cACA,iBACA,gBACA,uBAEQA,SAAS,kBAAmB,CACpC,MACA,aAEQA,SAAS,oBAAqB,CACtC,kBACA,kBACA,oBACA,qBACA,oBACA,mBACA,iBACA,mBACA,+BACA,+BACA,oBACA,sBAEQA,SAAS,iBAAkB,CACnC,OACA,qBACA,sBACA,kBACA,mBACA,gBACA,aACA,cACA,eACA,gBACA,gBACA,mBACA,kBACA,gBACA,QACA,iBACA,kBACA,eACA,mBACA,gBACA,gBACA,oBACA,mBACA,iBACA,SACA,UACA,gBACA,kBACA,sBACA,yBACA,SACA,eACA,WACA,cACA,SACA,QACA,UACA,QACA,SACA,SACA,aAEQA,SAAS,YAAa,CAC9B,QACA,SACA,UACA,aACA,SACA,OACA,OACA,OACA,aACA,OACA,SACA,OACA,QACA,QACA,MACA,2BCnkBR1P,OAAOuC,eAAe+T,GAAS,aAAc,CAAE/f,OAAO,mCACrB,EACjC,MAAMggB,GAASzR,6BACf,SAAgCiI,EAASQ,SAC/BsC,EAAY0G,GAAOzJ,UAAUrR,UAAK,EAAWsR,GAC7C6C,EAAa2G,GAAOtJ,WAAWxR,UAAK,EAAW8R,GAC/C8b,EAAkB9S,GAAO7M,WAAW,CACtC,CACIrW,KAAM,SACNiL,KAAMiY,GAAOtG,IAAIJ,EAAU,qBAC3BlG,eAAmB5F,EAAIiE,SAAoF,UAAnD,UAAV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"} \ No newline at end of file diff --git a/dimension/index.html b/dimension/index.html index 6f2f0004..4567d45a 100644 --- a/dimension/index.html +++ b/dimension/index.html @@ -20,9 +20,9 @@ undefined Generator Minecraft 1.16, 1.17 - - - + + +
diff --git a/dimension_type/index.html b/dimension_type/index.html index 6f2f0004..4567d45a 100644 --- a/dimension_type/index.html +++ b/dimension_type/index.html @@ -20,9 +20,9 @@ undefined Generator Minecraft 1.16, 1.17 - - - + + +
diff --git a/index.html b/index.html index 5d4b27cc..a4c39b44 100644 --- a/index.html +++ b/index.html @@ -20,9 +20,9 @@ Data Pack Generators Minecraft 1.15, 1.16, 1.17 - - - + + +
diff --git a/item_modifier/index.html b/item_modifier/index.html index 981eeb86..602c30a1 100644 --- a/item_modifier/index.html +++ b/item_modifier/index.html @@ -20,9 +20,9 @@ undefined Generator Minecraft 1.17 - - - + + +
diff --git a/loot_table/index.html b/loot_table/index.html index 8716d050..49a4585a 100644 --- a/loot_table/index.html +++ b/loot_table/index.html @@ -20,9 +20,9 @@ undefined Generator Minecraft 1.15, 1.16, 1.17 - - - + + +
diff --git a/predicate/index.html b/predicate/index.html index 8716d050..49a4585a 100644 --- a/predicate/index.html +++ b/predicate/index.html @@ -20,9 +20,9 @@ undefined Generator Minecraft 1.15, 1.16, 1.17 - - - + + +
diff --git a/world/index.html b/world/index.html index 6f2f0004..4567d45a 100644 --- a/world/index.html +++ b/world/index.html @@ -20,9 +20,9 @@ undefined Generator Minecraft 1.16, 1.17 - - - + + +
diff --git a/worldgen/biome/index.html b/worldgen/biome/index.html index 6f2f0004..4567d45a 100644 --- a/worldgen/biome/index.html +++ b/worldgen/biome/index.html @@ -20,9 +20,9 @@ undefined Generator Minecraft 1.16, 1.17 - - - + + +
diff --git a/worldgen/configured_carver/index.html b/worldgen/configured_carver/index.html index 6f2f0004..4567d45a 100644 --- a/worldgen/configured_carver/index.html +++ b/worldgen/configured_carver/index.html @@ -20,9 +20,9 @@ undefined Generator Minecraft 1.16, 1.17 - - - + + +
diff --git a/worldgen/configured_feature/index.html b/worldgen/configured_feature/index.html index 6f2f0004..4567d45a 100644 --- a/worldgen/configured_feature/index.html +++ b/worldgen/configured_feature/index.html @@ -20,9 +20,9 @@ undefined Generator Minecraft 1.16, 1.17 - - - + + +
diff --git a/worldgen/configured_structure_feature/index.html b/worldgen/configured_structure_feature/index.html index 6f2f0004..4567d45a 100644 --- a/worldgen/configured_structure_feature/index.html +++ b/worldgen/configured_structure_feature/index.html @@ -20,9 +20,9 @@ undefined Generator Minecraft 1.16, 1.17 - - - + + +
diff --git a/worldgen/configured_surface_builder/index.html b/worldgen/configured_surface_builder/index.html index 6f2f0004..4567d45a 100644 --- a/worldgen/configured_surface_builder/index.html +++ b/worldgen/configured_surface_builder/index.html @@ -20,9 +20,9 @@ undefined Generator Minecraft 1.16, 1.17 - - - + + +
diff --git a/worldgen/noise_settings/index.html b/worldgen/noise_settings/index.html index 6f2f0004..4567d45a 100644 --- a/worldgen/noise_settings/index.html +++ b/worldgen/noise_settings/index.html @@ -20,9 +20,9 @@ undefined Generator Minecraft 1.16, 1.17 - - - + + +
diff --git a/worldgen/processor_list/index.html b/worldgen/processor_list/index.html index 6f2f0004..4567d45a 100644 --- a/worldgen/processor_list/index.html +++ b/worldgen/processor_list/index.html @@ -20,9 +20,9 @@ undefined Generator Minecraft 1.16, 1.17 - - - + + +
diff --git a/worldgen/template_pool/index.html b/worldgen/template_pool/index.html index 6f2f0004..4567d45a 100644 --- a/worldgen/template_pool/index.html +++ b/worldgen/template_pool/index.html @@ -20,9 +20,9 @@ undefined Generator Minecraft 1.16, 1.17 - - - + + +