0?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,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/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
-
-
-
+
+
+