From 53dc969c9fdf25a0fc0570933ca7e5f1b2ad1962 Mon Sep 17 00:00:00 2001 From: Jochen Jacobs Date: Tue, 3 Dec 2024 01:27:43 +0100 Subject: [PATCH] update to 1.21.4 + ensure no dimension padding on old versions --- locales/en.json | 1 + package-lock.json | 226 ++++++++++++++++++++++++++------- package.json | 2 +- scripts/createVanillaZips.py | 4 +- src/stores/useDatapackStore.ts | 12 +- src/stores/useSettingsStore.ts | 2 +- src/util.ts | 36 ++++-- 7 files changed, 225 insertions(+), 58 deletions(-) diff --git a/locales/en.json b/locales/en.json index 9803b09..44b512b 100644 --- a/locales/en.json +++ b/locales/en.json @@ -11,6 +11,7 @@ "settings.mc_version.mc1_20_6": "Minecraft 1.20.6", "settings.mc_version.mc1_21_1": "Minecraft 1.21.1", "settings.mc_version.mc1_21_3": "Minecraft 1.21.3", + "settings.mc_version.mc1_21_4": "Minecraft 1.21.4", "settings.dev_mode.label": "Developer Mode:", "settings.dev_mode.aria-label": "Developer Mode", "settings.world_preset.label": "World Preset:", diff --git a/package-lock.json b/package-lock.json index 4b079a0..8f7a3b8 100644 --- a/package-lock.json +++ b/package-lock.json @@ -12,7 +12,7 @@ "@fortawesome/free-solid-svg-icons": "^6.4.0", "@fortawesome/vue-fontawesome": "^3.0.3", "@vueuse/components": "^10.2.0", - "deepslate": "^0.22.4", + "deepslate": "git://github.com/jacobsjo/deepslate.git#dimension-padding-built", "idb-keyval": "^6.2.1", "leaflet": "^1.9.4", "mc-datapack-loader": "0.5.0", @@ -3035,13 +3035,20 @@ } }, "node_modules/call-bind": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/call-bind/-/call-bind-1.0.2.tgz", - "integrity": "sha512-7O+FbCihrB5WGbFYesctwmTKae6rOiIzmz1icreWJ+0aA7LJfuqhEso2T9ncpcFtzMQtzXf2QGGueWJGTYsqrA==", + "version": "1.0.7", + "resolved": "https://registry.npmjs.org/call-bind/-/call-bind-1.0.7.tgz", + "integrity": "sha512-GHTSNSYICQ7scH7sZ+M2rFopRoLh8t2bLSW6BbgrtLsahOIB5iyAVJf9GjWK3cYTDaMj4XdBpM1cA6pIS0Kv2w==", "dev": true, + "license": "MIT", "dependencies": { - "function-bind": "^1.1.1", - "get-intrinsic": "^1.0.2" + "es-define-property": "^1.0.0", + "es-errors": "^1.3.0", + "function-bind": "^1.1.2", + "get-intrinsic": "^1.2.4", + "set-function-length": "^1.2.1" + }, + "engines": { + "node": ">= 0.4" }, "funding": { "url": "https://github.com/sponsors/ljharb" @@ -3246,8 +3253,7 @@ }, "node_modules/deepslate": { "version": "0.22.4", - "resolved": "https://registry.npmjs.org/deepslate/-/deepslate-0.22.4.tgz", - "integrity": "sha512-Fv0SELOnZhgariC4uGRgLmk1VdGQD9xr5nxQsRwb3YiSk+CWDWoNmdOtL93XCNHPAXRjppmW4eFJoT0Eut06dA==", + "resolved": "git+ssh://git@github.com/jacobsjo/deepslate.git#251dadfad76e23f44954e15d675436c3a6e57b57", "license": "MIT", "dependencies": { "gl-matrix": "^3.3.0", @@ -3255,6 +3261,24 @@ "pako": "^2.0.3" } }, + "node_modules/define-data-property": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/define-data-property/-/define-data-property-1.1.4.tgz", + "integrity": "sha512-rBMvIzlpA8v6E+SJZoo++HAYqsLrkg7MSfIinMPFhmkorw7X+dOXVJQs+QT69zGkzMyfDnIMN2Wid1+NbL3T+A==", + "dev": true, + "license": "MIT", + "dependencies": { + "es-define-property": "^1.0.0", + "es-errors": "^1.3.0", + "gopd": "^1.0.1" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, "node_modules/define-properties": { "version": "1.2.0", "resolved": "https://registry.npmjs.org/define-properties/-/define-properties-1.2.0.tgz", @@ -3340,6 +3364,29 @@ "url": "https://github.com/sponsors/ljharb" } }, + "node_modules/es-define-property": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/es-define-property/-/es-define-property-1.0.0.tgz", + "integrity": "sha512-jxayLKShrEqqzJ0eumQbVhTYQM27CfT1T35+gCgDFoL82JLsXqTJ76zv6A0YLOgEnLUMvLzsDsGIrl8NFpT2gQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "get-intrinsic": "^1.2.4" + }, + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/es-errors": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/es-errors/-/es-errors-1.3.0.tgz", + "integrity": "sha512-Zf5H2Kxt2xjTvbJvP2ZWLEICxA6j+hAmMzIlypy4xcBg1vKVnx89Wy0GbS+kf5cwCVFFzdCFh2XSCFNULS6csw==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">= 0.4" + } + }, "node_modules/es-set-tostringtag": { "version": "2.0.1", "resolved": "https://registry.npmjs.org/es-set-tostringtag/-/es-set-tostringtag-2.0.1.tgz", @@ -3655,10 +3702,14 @@ } }, "node_modules/function-bind": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/function-bind/-/function-bind-1.1.1.tgz", - "integrity": "sha512-yIovAzMX49sF8Yl58fSCWJ5svSLuaibPxXQJFLmBObTuCr0Mf1KiPopGM9NiFjiYBCbfaa2Fh6breQ6ANVTI0A==", - "dev": true + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/function-bind/-/function-bind-1.1.2.tgz", + "integrity": "sha512-7XHNxH7qX9xG5mIwxkhumTox/MIRNcOgDrxWsMt2pAr23WHp6MrRlN7FBSFpCpr+oVO0F744iUgR82nJMfG2SA==", + "dev": true, + "license": "MIT", + "funding": { + "url": "https://github.com/sponsors/ljharb" + } }, "node_modules/function.prototype.name": { "version": "1.1.5", @@ -3697,15 +3748,20 @@ } }, "node_modules/get-intrinsic": { - "version": "1.2.1", - "resolved": "https://registry.npmjs.org/get-intrinsic/-/get-intrinsic-1.2.1.tgz", - "integrity": "sha512-2DcsyfABl+gVHEfCOaTrWgyt+tb6MSEGmKq+kI5HwLbIYgjgmMcV8KQ41uaKz1xxUcn9tJtgFbQUEVcEbd0FYw==", + "version": "1.2.4", + "resolved": "https://registry.npmjs.org/get-intrinsic/-/get-intrinsic-1.2.4.tgz", + "integrity": "sha512-5uYhsJH8VJBTv7oslg4BznJYhDoRI6waYCxMmCdnTrcCrHA/fCFKoTFz2JKKE0HdDFUF7/oQuhzumXJK7paBRQ==", "dev": true, + "license": "MIT", "dependencies": { - "function-bind": "^1.1.1", - "has": "^1.0.3", + "es-errors": "^1.3.0", + "function-bind": "^1.1.2", "has-proto": "^1.0.1", - "has-symbols": "^1.0.3" + "has-symbols": "^1.0.3", + "hasown": "^2.0.0" + }, + "engines": { + "node": ">= 0.4" }, "funding": { "url": "https://github.com/sponsors/ljharb" @@ -3864,12 +3920,13 @@ } }, "node_modules/has-property-descriptors": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/has-property-descriptors/-/has-property-descriptors-1.0.0.tgz", - "integrity": "sha512-62DVLZGoiEBDHQyqG4w9xCuZ7eJEwNmJRWw2VY84Oedb7WFcA27fiEVe8oUQx9hAUJ4ekurquucTGwsyO1XGdQ==", + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/has-property-descriptors/-/has-property-descriptors-1.0.2.tgz", + "integrity": "sha512-55JNKuIW+vq4Ke1BjOTjM2YctQIvCT7GFzHwmfZPGo5wnrgkid0YQtnAleFSqumZm4az3n2BS+erby5ipJdgrg==", "dev": true, + "license": "MIT", "dependencies": { - "get-intrinsic": "^1.1.1" + "es-define-property": "^1.0.0" }, "funding": { "url": "https://github.com/sponsors/ljharb" @@ -3914,6 +3971,19 @@ "url": "https://github.com/sponsors/ljharb" } }, + "node_modules/hasown": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/hasown/-/hasown-2.0.2.tgz", + "integrity": "sha512-0hJU9SCPvmMzIBdZFqNPXWa6dqh7WdH0cII9y+CyS8rG3nL48Bclra9HmKhVVUHyPWNH5Y7xDwAB7bfgSjkUMQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "function-bind": "^1.1.2" + }, + "engines": { + "node": ">= 0.4" + } + }, "node_modules/he": { "version": "1.2.0", "resolved": "https://registry.npmjs.org/he/-/he-1.2.0.tgz", @@ -5214,6 +5284,24 @@ "randombytes": "^2.1.0" } }, + "node_modules/set-function-length": { + "version": "1.2.2", + "resolved": "https://registry.npmjs.org/set-function-length/-/set-function-length-1.2.2.tgz", + "integrity": "sha512-pgRc4hJ4/sNjWCSS9AmnS40x3bNMDTknHgL5UaMBTMyJnU90EgWh1Rz+MC9eFu4BuN/UwZjKQuY/1v3rM7HMfg==", + "dev": true, + "license": "MIT", + "dependencies": { + "define-data-property": "^1.1.4", + "es-errors": "^1.3.0", + "function-bind": "^1.1.2", + "get-intrinsic": "^1.2.4", + "gopd": "^1.0.1", + "has-property-descriptors": "^1.0.2" + }, + "engines": { + "node": ">= 0.4" + } + }, "node_modules/setimmediate": { "version": "1.0.5", "resolved": "https://registry.npmjs.org/setimmediate/-/setimmediate-1.0.5.tgz", @@ -8289,13 +8377,16 @@ "dev": true }, "call-bind": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/call-bind/-/call-bind-1.0.2.tgz", - "integrity": "sha512-7O+FbCihrB5WGbFYesctwmTKae6rOiIzmz1icreWJ+0aA7LJfuqhEso2T9ncpcFtzMQtzXf2QGGueWJGTYsqrA==", + "version": "1.0.7", + "resolved": "https://registry.npmjs.org/call-bind/-/call-bind-1.0.7.tgz", + "integrity": "sha512-GHTSNSYICQ7scH7sZ+M2rFopRoLh8t2bLSW6BbgrtLsahOIB5iyAVJf9GjWK3cYTDaMj4XdBpM1cA6pIS0Kv2w==", "dev": true, "requires": { - "function-bind": "^1.1.1", - "get-intrinsic": "^1.0.2" + "es-define-property": "^1.0.0", + "es-errors": "^1.3.0", + "function-bind": "^1.1.2", + "get-intrinsic": "^1.2.4", + "set-function-length": "^1.2.1" } }, "caniuse-lite": { @@ -8435,15 +8526,25 @@ "dev": true }, "deepslate": { - "version": "0.22.4", - "resolved": "https://registry.npmjs.org/deepslate/-/deepslate-0.22.4.tgz", - "integrity": "sha512-Fv0SELOnZhgariC4uGRgLmk1VdGQD9xr5nxQsRwb3YiSk+CWDWoNmdOtL93XCNHPAXRjppmW4eFJoT0Eut06dA==", + "version": "git+ssh://git@github.com/jacobsjo/deepslate.git#251dadfad76e23f44954e15d675436c3a6e57b57", + "from": "deepslate@git://github.com/jacobsjo/deepslate.git#dimension-padding-built", "requires": { "gl-matrix": "^3.3.0", "md5": "^2.3.0", "pako": "^2.0.3" } }, + "define-data-property": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/define-data-property/-/define-data-property-1.1.4.tgz", + "integrity": "sha512-rBMvIzlpA8v6E+SJZoo++HAYqsLrkg7MSfIinMPFhmkorw7X+dOXVJQs+QT69zGkzMyfDnIMN2Wid1+NbL3T+A==", + "dev": true, + "requires": { + "es-define-property": "^1.0.0", + "es-errors": "^1.3.0", + "gopd": "^1.0.1" + } + }, "define-properties": { "version": "1.2.0", "resolved": "https://registry.npmjs.org/define-properties/-/define-properties-1.2.0.tgz", @@ -8511,6 +8612,21 @@ "which-typed-array": "^1.1.9" } }, + "es-define-property": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/es-define-property/-/es-define-property-1.0.0.tgz", + "integrity": "sha512-jxayLKShrEqqzJ0eumQbVhTYQM27CfT1T35+gCgDFoL82JLsXqTJ76zv6A0YLOgEnLUMvLzsDsGIrl8NFpT2gQ==", + "dev": true, + "requires": { + "get-intrinsic": "^1.2.4" + } + }, + "es-errors": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/es-errors/-/es-errors-1.3.0.tgz", + "integrity": "sha512-Zf5H2Kxt2xjTvbJvP2ZWLEICxA6j+hAmMzIlypy4xcBg1vKVnx89Wy0GbS+kf5cwCVFFzdCFh2XSCFNULS6csw==", + "dev": true + }, "es-set-tostringtag": { "version": "2.0.1", "resolved": "https://registry.npmjs.org/es-set-tostringtag/-/es-set-tostringtag-2.0.1.tgz", @@ -8747,9 +8863,9 @@ "optional": true }, "function-bind": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/function-bind/-/function-bind-1.1.1.tgz", - "integrity": "sha512-yIovAzMX49sF8Yl58fSCWJ5svSLuaibPxXQJFLmBObTuCr0Mf1KiPopGM9NiFjiYBCbfaa2Fh6breQ6ANVTI0A==", + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/function-bind/-/function-bind-1.1.2.tgz", + "integrity": "sha512-7XHNxH7qX9xG5mIwxkhumTox/MIRNcOgDrxWsMt2pAr23WHp6MrRlN7FBSFpCpr+oVO0F744iUgR82nJMfG2SA==", "dev": true }, "function.prototype.name": { @@ -8777,15 +8893,16 @@ "dev": true }, "get-intrinsic": { - "version": "1.2.1", - "resolved": "https://registry.npmjs.org/get-intrinsic/-/get-intrinsic-1.2.1.tgz", - "integrity": "sha512-2DcsyfABl+gVHEfCOaTrWgyt+tb6MSEGmKq+kI5HwLbIYgjgmMcV8KQ41uaKz1xxUcn9tJtgFbQUEVcEbd0FYw==", + "version": "1.2.4", + "resolved": "https://registry.npmjs.org/get-intrinsic/-/get-intrinsic-1.2.4.tgz", + "integrity": "sha512-5uYhsJH8VJBTv7oslg4BznJYhDoRI6waYCxMmCdnTrcCrHA/fCFKoTFz2JKKE0HdDFUF7/oQuhzumXJK7paBRQ==", "dev": true, "requires": { - "function-bind": "^1.1.1", - "has": "^1.0.3", + "es-errors": "^1.3.0", + "function-bind": "^1.1.2", "has-proto": "^1.0.1", - "has-symbols": "^1.0.3" + "has-symbols": "^1.0.3", + "hasown": "^2.0.0" } }, "get-own-enumerable-property-symbols": { @@ -8903,12 +9020,12 @@ "dev": true }, "has-property-descriptors": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/has-property-descriptors/-/has-property-descriptors-1.0.0.tgz", - "integrity": "sha512-62DVLZGoiEBDHQyqG4w9xCuZ7eJEwNmJRWw2VY84Oedb7WFcA27fiEVe8oUQx9hAUJ4ekurquucTGwsyO1XGdQ==", + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/has-property-descriptors/-/has-property-descriptors-1.0.2.tgz", + "integrity": "sha512-55JNKuIW+vq4Ke1BjOTjM2YctQIvCT7GFzHwmfZPGo5wnrgkid0YQtnAleFSqumZm4az3n2BS+erby5ipJdgrg==", "dev": true, "requires": { - "get-intrinsic": "^1.1.1" + "es-define-property": "^1.0.0" } }, "has-proto": { @@ -8932,6 +9049,15 @@ "has-symbols": "^1.0.2" } }, + "hasown": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/hasown/-/hasown-2.0.2.tgz", + "integrity": "sha512-0hJU9SCPvmMzIBdZFqNPXWa6dqh7WdH0cII9y+CyS8rG3nL48Bclra9HmKhVVUHyPWNH5Y7xDwAB7bfgSjkUMQ==", + "dev": true, + "requires": { + "function-bind": "^1.1.2" + } + }, "he": { "version": "1.2.0", "resolved": "https://registry.npmjs.org/he/-/he-1.2.0.tgz", @@ -9862,6 +9988,20 @@ "randombytes": "^2.1.0" } }, + "set-function-length": { + "version": "1.2.2", + "resolved": "https://registry.npmjs.org/set-function-length/-/set-function-length-1.2.2.tgz", + "integrity": "sha512-pgRc4hJ4/sNjWCSS9AmnS40x3bNMDTknHgL5UaMBTMyJnU90EgWh1Rz+MC9eFu4BuN/UwZjKQuY/1v3rM7HMfg==", + "dev": true, + "requires": { + "define-data-property": "^1.1.4", + "es-errors": "^1.3.0", + "function-bind": "^1.1.2", + "get-intrinsic": "^1.2.4", + "gopd": "^1.0.1", + "has-property-descriptors": "^1.0.2" + } + }, "setimmediate": { "version": "1.0.5", "resolved": "https://registry.npmjs.org/setimmediate/-/setimmediate-1.0.5.tgz", diff --git a/package.json b/package.json index 00e05cb..bf03d2a 100644 --- a/package.json +++ b/package.json @@ -14,7 +14,7 @@ "@fortawesome/free-solid-svg-icons": "^6.4.0", "@fortawesome/vue-fontawesome": "^3.0.3", "@vueuse/components": "^10.2.0", - "deepslate": "^0.22.4", + "deepslate": "git://github.com/jacobsjo/deepslate.git#dimension-padding-built", "idb-keyval": "^6.2.1", "leaflet": "^1.9.4", "mc-datapack-loader": "0.5.0", diff --git a/scripts/createVanillaZips.py b/scripts/createVanillaZips.py index 48dd9b2..0ecc457 100644 --- a/scripts/createVanillaZips.py +++ b/scripts/createVanillaZips.py @@ -122,5 +122,5 @@ def emptyTmp(): main('tags/1.20.4-', "update_1_21", "_1_20_4") main('tags/1.20.6-', "update_1_21", "_1_20_6") main('tags/1.21-', "", "_1_21") - main('tags/1.21.2-', "winter_drop", "_1_21_3") -# main('heads/', "winter_drop", "_1_21_4") + main('tags/1.21.3-', "winter_drop", "_1_21_3") + main('heads/', "", "_1_21_4") diff --git a/src/stores/useDatapackStore.ts b/src/stores/useDatapackStore.ts index 9d1d452..83b4b22 100644 --- a/src/stores/useDatapackStore.ts +++ b/src/stores/useDatapackStore.ts @@ -2,7 +2,7 @@ import { defineStore } from "pinia"; import { AnonymousDatapack, Datapack, DatapackList, ResourceLocation } from "mc-datapack-loader" import { computed, onMounted, reactive, ref, watch } from "vue"; -import { DensityFunction, Holder, HolderSet, Identifier, NoiseParameters, StructureSet, WorldgenRegistries, WorldgenStructure, StructureTemplatePool, Structure, NbtFile, Registry } from "deepslate"; +import { DensityFunction, Holder, HolderSet, Identifier, NoiseParameters, StructureSet, WorldgenRegistries, WorldgenStructure, StructureTemplatePool, Structure, NbtFile, Registry, Json } from "deepslate"; import { useSettingsStore } from "./useSettingsStore"; import { updateUrlParam, versionMetadata } from "../util"; import { useI18n } from "vue-i18n"; @@ -104,13 +104,19 @@ export const useDatapackStore = defineStore('datapacks', () => { promises.push(new Promise(async (resolve) => { await registerType(ResourceLocation.WORLDGEN_BIOME, WorldgenRegistries.BIOME, () => {return {}}) await registerTag(ResourceLocation.WORLDGEN_BIOME_TAG, WorldgenRegistries.BIOME) - await registerType(ResourceLocation.WORLDGEN_STRUCTURE, WorldgenStructure.REGISTRY, WorldgenStructure.fromJson) + await registerType(ResourceLocation.WORLDGEN_STRUCTURE, WorldgenStructure.REGISTRY, worldgenStructureFromJson) await registerTag(ResourceLocation.WORLDGEN_STRUCTURE_TAG, WorldgenStructure.REGISTRY) resolve() })) await Promise.all(promises) + } - + function worldgenStructureFromJson(obj: unknown){ + const root = Json.readObject(obj) ?? {} + if (!versionMetadata[settingsStore.mc_version].dimensionPaddingEnabled){ + delete root.dimension_padding + } + return WorldgenStructure.fromJson(obj) } function addDatapack(datapack: Datapack) { diff --git a/src/stores/useSettingsStore.ts b/src/stores/useSettingsStore.ts index 92a6341..d2e1e01 100644 --- a/src/stores/useSettingsStore.ts +++ b/src/stores/useSettingsStore.ts @@ -8,7 +8,7 @@ import { parseSeed, updateUrlParam, versionMetadata } from "../util"; export const useSettingsStore = defineStore('settings', () => { const defaults = { - mc_version: "1_21_3", + mc_version: "1_21_4", world_preset: "minecraft:normal", dimension: "minecraft:overworld", seed: "0" diff --git a/src/util.ts b/src/util.ts index b26089d..e268570 100644 --- a/src/util.ts +++ b/src/util.ts @@ -116,7 +116,8 @@ type Metadata = { url: string, translation_key: string }[], - spawnAlgorithm: SpawnTarget.Algorithm + spawnAlgorithm: SpawnTarget.Algorithm, + dimensionPaddingEnabled: boolean } export const versionMetadata: { [version: string]: Metadata } = { @@ -133,7 +134,8 @@ export const versionMetadata: { [version: string]: Metadata } = { resourceLocations: { structure: ResourceLocation.LEGACY_STRUCTURE }, - spawnAlgorithm: SpawnTarget.Algorithm.LEGACY_ZERO_BIASED + spawnAlgorithm: SpawnTarget.Algorithm.LEGACY_ZERO_BIASED, + dimensionPaddingEnabled: false }, "1_20": { vanillaDatapack: "1_20", @@ -143,7 +145,8 @@ export const versionMetadata: { [version: string]: Metadata } = { resourceLocations: { structure: ResourceLocation.LEGACY_STRUCTURE }, - spawnAlgorithm: SpawnTarget.Algorithm.LEGACY_ZERO_BIASED + spawnAlgorithm: SpawnTarget.Algorithm.LEGACY_ZERO_BIASED, + dimensionPaddingEnabled: false }, "1_20_2": { vanillaDatapack: "1_20_2", @@ -153,7 +156,8 @@ export const versionMetadata: { [version: string]: Metadata } = { resourceLocations: { structure: ResourceLocation.LEGACY_STRUCTURE }, - spawnAlgorithm: SpawnTarget.Algorithm.LEGACY_ZERO_BIASED + spawnAlgorithm: SpawnTarget.Algorithm.LEGACY_ZERO_BIASED, + dimensionPaddingEnabled: false }, "1_20_4": { vanillaDatapack: "1_20_4", @@ -168,7 +172,8 @@ export const versionMetadata: { [version: string]: Metadata } = { resourceLocations: { structure: ResourceLocation.LEGACY_STRUCTURE }, - spawnAlgorithm: SpawnTarget.Algorithm.LEGACY_ZERO_BIASED + spawnAlgorithm: SpawnTarget.Algorithm.LEGACY_ZERO_BIASED, + dimensionPaddingEnabled: false }, "1_20_6": { vanillaDatapack: "1_20_6", @@ -183,7 +188,8 @@ export const versionMetadata: { [version: string]: Metadata } = { resourceLocations: { structure: ResourceLocation.LEGACY_STRUCTURE }, - spawnAlgorithm: SpawnTarget.Algorithm.LEGACY_ZERO_BIASED + spawnAlgorithm: SpawnTarget.Algorithm.LEGACY_ZERO_BIASED, + dimensionPaddingEnabled: false }, "1_21_1": { vanillaDatapack: "1_21", @@ -193,7 +199,8 @@ export const versionMetadata: { [version: string]: Metadata } = { resourceLocations: { structure: ResourceLocation.STRUCTURE }, - spawnAlgorithm: SpawnTarget.Algorithm.LEGACY_ZERO_BIASED + spawnAlgorithm: SpawnTarget.Algorithm.LEGACY_ZERO_BIASED, + dimensionPaddingEnabled: false }, "1_21_3": { vanillaDatapack: "1_21_3", @@ -208,6 +215,19 @@ export const versionMetadata: { [version: string]: Metadata } = { resourceLocations: { structure: ResourceLocation.STRUCTURE }, - spawnAlgorithm: SpawnTarget.Algorithm.BEST_CLIMATE + spawnAlgorithm: SpawnTarget.Algorithm.BEST_CLIMATE, + dimensionPaddingEnabled: false }, + "1_21_4": { + vanillaDatapack: "1_21_4", + experimentalDatapacks: [], + datapackFormat: 61, + canonicalNames: ["1.21.4"], + resourceLocations: { + structure: ResourceLocation.STRUCTURE + }, + spawnAlgorithm: SpawnTarget.Algorithm.BEST_CLIMATE, + dimensionPaddingEnabled: true + }, + } \ No newline at end of file