diff --git a/index.html b/index.html
index 83e04316..29ee306d 100644
--- a/index.html
+++ b/index.html
@@ -9,7 +9,7 @@
gtag('js', new Date());
gtag('config', 'G-S982VZS08T', {
theme: localStorage.getItem('theme') || 'default',
- version: localStorage.getItem('schema_version') || '1.20.2',
+ version: localStorage.getItem('schema_version') || '1.20.3',
locale: localStorage.getItem('language') || 'en',
prefers_color_scheme: matchMedia('(prefers-color-scheme: light)').matches ? 'light' : matchMedia('(prefers-color-scheme: dark)').matches ? 'dark' : 'none',
tree_view_mode: localStorage.getItem('misode_tree_view_mode') || 'default',
@@ -25,7 +25,7 @@
ga('set', 'page', location.pathname);
ga('set', 'dimension1', localStorage.getItem('theme') || 'default');
ga('set', 'dimension2', 'v2');
- ga('set', 'dimension3', localStorage.getItem('schema_version') || '1.20.2');
+ ga('set', 'dimension3', localStorage.getItem('schema_version') || '1.20.3');
ga('set', 'dimension4', localStorage.getItem('language') || 'en');
ga('set', 'dimension5', 'none');
ga('set', 'dimension7', matchMedia('(prefers-color-scheme: light)').matches ? 'light' : matchMedia('(prefers-color-scheme: dark)').matches ? 'dark' : 'none');
diff --git a/package-lock.json b/package-lock.json
index 28a9e7af..47cd0604 100644
--- a/package-lock.json
+++ b/package-lock.json
@@ -21,7 +21,8 @@
"@mcschema/java-1.19.4": "^0.1.11",
"@mcschema/java-1.20": "^0.0.14",
"@mcschema/java-1.20.2": "^0.0.4",
- "@mcschema/locales": "^0.1.89",
+ "@mcschema/java-1.20.3": "^0.0.3",
+ "@mcschema/locales": "^0.1.92",
"@zip.js/zip.js": "^2.4.5",
"brace": "^0.11.1",
"buffer": "^6.0.3",
@@ -573,9 +574,9 @@
"integrity": "sha512-VMOxsWh/QDwrxPsgkSQnuZ+8mfNy1OTjzzUdLBvvZtpahwPTHTeVZ51RZRqO4xfKVrR+btIPA8D01IL3xeG66w=="
},
"node_modules/@mcschema/core": {
- "version": "0.12.40",
- "resolved": "https://registry.npmjs.org/@mcschema/core/-/core-0.12.40.tgz",
- "integrity": "sha512-XrC0mJxrTNhwcKDZ3rQnHAwWbH9zr0NEikb7jiMdrLygtjvxJB9vqLFvA6CAg6xJO2rAsLNx2j4rGg99llqBLw=="
+ "version": "0.12.41",
+ "resolved": "https://registry.npmjs.org/@mcschema/core/-/core-0.12.41.tgz",
+ "integrity": "sha512-NC+LZJTTgdiHjEyr69DlAvOLCpDHqrkgCsc/kXLwQV9rd2zMyfU1sH14+gI8u4f1dHF+WAHiI/vAbdgQhl+yyA=="
},
"node_modules/@mcschema/java-1.15": {
"version": "0.2.7",
@@ -657,10 +658,18 @@
"@mcschema/core": "^0.12.40"
}
},
+ "node_modules/@mcschema/java-1.20.3": {
+ "version": "0.0.3",
+ "resolved": "https://registry.npmjs.org/@mcschema/java-1.20.3/-/java-1.20.3-0.0.3.tgz",
+ "integrity": "sha512-MbEMQAHBuNfnZ/n8YB8jiDVbwFoGeWvrA9qvXtR+k050Ogv7X1FyHodBh4ZNa3d7dMmoL7rDpqmTNfherCA1Ng==",
+ "dependencies": {
+ "@mcschema/core": "^0.12.41"
+ }
+ },
"node_modules/@mcschema/locales": {
- "version": "0.1.89",
- "resolved": "https://registry.npmjs.org/@mcschema/locales/-/locales-0.1.89.tgz",
- "integrity": "sha512-veFdi5ajeX0HtQVx/S1Gj1w2WBuw+WYfkn0LK0W6ew4EXS3d5Q8wwMjvHq26RX/B/g1Bzq/sH3fT3xO0JR1QbA=="
+ "version": "0.1.92",
+ "resolved": "https://registry.npmjs.org/@mcschema/locales/-/locales-0.1.92.tgz",
+ "integrity": "sha512-Dfvo1wwUCdV7hNeGJlj+dMt6nFC2+vEy70brJt8SAAzxfh1Kp+QVaYees8Q9Oim/m0XT1tJwGvi4NYrkAIPl2w=="
},
"node_modules/@nodelib/fs.scandir": {
"version": "2.1.5",
@@ -4666,9 +4675,9 @@
"integrity": "sha512-VMOxsWh/QDwrxPsgkSQnuZ+8mfNy1OTjzzUdLBvvZtpahwPTHTeVZ51RZRqO4xfKVrR+btIPA8D01IL3xeG66w=="
},
"@mcschema/core": {
- "version": "0.12.40",
- "resolved": "https://registry.npmjs.org/@mcschema/core/-/core-0.12.40.tgz",
- "integrity": "sha512-XrC0mJxrTNhwcKDZ3rQnHAwWbH9zr0NEikb7jiMdrLygtjvxJB9vqLFvA6CAg6xJO2rAsLNx2j4rGg99llqBLw=="
+ "version": "0.12.41",
+ "resolved": "https://registry.npmjs.org/@mcschema/core/-/core-0.12.41.tgz",
+ "integrity": "sha512-NC+LZJTTgdiHjEyr69DlAvOLCpDHqrkgCsc/kXLwQV9rd2zMyfU1sH14+gI8u4f1dHF+WAHiI/vAbdgQhl+yyA=="
},
"@mcschema/java-1.15": {
"version": "0.2.7",
@@ -4750,10 +4759,18 @@
"@mcschema/core": "^0.12.40"
}
},
+ "@mcschema/java-1.20.3": {
+ "version": "0.0.3",
+ "resolved": "https://registry.npmjs.org/@mcschema/java-1.20.3/-/java-1.20.3-0.0.3.tgz",
+ "integrity": "sha512-MbEMQAHBuNfnZ/n8YB8jiDVbwFoGeWvrA9qvXtR+k050Ogv7X1FyHodBh4ZNa3d7dMmoL7rDpqmTNfherCA1Ng==",
+ "requires": {
+ "@mcschema/core": "^0.12.41"
+ }
+ },
"@mcschema/locales": {
- "version": "0.1.89",
- "resolved": "https://registry.npmjs.org/@mcschema/locales/-/locales-0.1.89.tgz",
- "integrity": "sha512-veFdi5ajeX0HtQVx/S1Gj1w2WBuw+WYfkn0LK0W6ew4EXS3d5Q8wwMjvHq26RX/B/g1Bzq/sH3fT3xO0JR1QbA=="
+ "version": "0.1.92",
+ "resolved": "https://registry.npmjs.org/@mcschema/locales/-/locales-0.1.92.tgz",
+ "integrity": "sha512-Dfvo1wwUCdV7hNeGJlj+dMt6nFC2+vEy70brJt8SAAzxfh1Kp+QVaYees8Q9Oim/m0XT1tJwGvi4NYrkAIPl2w=="
},
"@nodelib/fs.scandir": {
"version": "2.1.5",
diff --git a/package.json b/package.json
index 35d4d33f..f31cbf08 100644
--- a/package.json
+++ b/package.json
@@ -27,7 +27,8 @@
"@mcschema/java-1.19.4": "^0.1.11",
"@mcschema/java-1.20": "^0.0.14",
"@mcschema/java-1.20.2": "^0.0.4",
- "@mcschema/locales": "^0.1.89",
+ "@mcschema/java-1.20.3": "^0.0.3",
+ "@mcschema/locales": "^0.1.92",
"@zip.js/zip.js": "^2.4.5",
"brace": "^0.11.1",
"buffer": "^6.0.3",
diff --git a/src/app/pages/Customized.tsx b/src/app/pages/Customized.tsx
index fa81b132..642a0cb5 100644
--- a/src/app/pages/Customized.tsx
+++ b/src/app/pages/Customized.tsx
@@ -19,7 +19,7 @@ interface Props {
export function Customized({}: Props) {
const { locale } = useLocale()
// const { version, changeVersion } = useVersion()
- const version = '1.20.2'
+ const version = '1.20.3' // TODO: support multiple versions
const changeVersion = () => {}
useTitle(locale('title.customized'))
diff --git a/src/app/schema/renderHtml.tsx b/src/app/schema/renderHtml.tsx
index d5d48443..162f541d 100644
--- a/src/app/schema/renderHtml.tsx
+++ b/src/app/schema/renderHtml.tsx
@@ -15,10 +15,10 @@ import type { BlockStateRegistry, VersionId } from '../services/index.js'
import { CachedDecorator, CachedFeature } from '../services/index.js'
import { ModelWrapper } from './ModelWrapper.js'
-const selectRegistries = ['loot_table.type', 'loot_entry.type', 'function.function', 'condition.condition', 'criterion.trigger', 'recipe.type', 'dimension.generator.type', 'dimension.generator.biome_source.type', 'dimension.generator.biome_source.preset', 'carver.type', 'feature.type', 'decorator.type', 'feature.tree.minimum_size.type', 'block_state_provider.type', 'trunk_placer.type', 'foliage_placer.type', 'tree_decorator.type', 'int_provider.type', 'float_provider.type', 'height_provider.type', 'structure_feature.type', 'surface_builder.type', 'processor.processor_type', 'rule_test.predicate_type', 'pos_rule_test.predicate_type', 'template_element.element_type', 'block_placer.type', 'block_predicate.type', 'material_rule.type', 'material_condition.type', 'structure_placement.type', 'density_function.type', 'root_placer.type', 'entity.type_specific.cat.variant', 'entity.type_specific.frog.variant', 'rule_block_entity_modifier.type']
+const selectRegistries = ['loot_table.type', 'loot_entry.type', 'function.function', 'condition.condition', 'criterion.trigger', 'recipe.type', 'dimension.generator.type', 'dimension.generator.biome_source.type', 'dimension.generator.biome_source.preset', 'carver.type', 'feature.type', 'decorator.type', 'feature.tree.minimum_size.type', 'block_state_provider.type', 'trunk_placer.type', 'foliage_placer.type', 'tree_decorator.type', 'int_provider.type', 'float_provider.type', 'height_provider.type', 'structure_feature.type', 'surface_builder.type', 'processor.processor_type', 'rule_test.predicate_type', 'pos_rule_test.predicate_type', 'template_element.element_type', 'block_placer.type', 'block_predicate.type', 'material_rule.type', 'material_condition.type', 'structure_placement.type', 'density_function.type', 'root_placer.type', 'entity.type_specific.cat.variant', 'entity.type_specific.frog.variant', 'rule_block_entity_modifier.type', 'pool_alias_binding.type']
const hiddenFields = ['number_provider.type', 'score_provider.type', 'nbt_provider.type', 'int_provider.type', 'float_provider.type', 'height_provider.type']
const flattenedFields = ['feature.config', 'decorator.config', 'int_provider.value', 'float_provider.value', 'block_state_provider.simple_state_provider.state', 'block_state_provider.rotated_block_provider.state', 'block_state_provider.weighted_state_provider.entries.entry.data', 'rule_test.block_state', 'structure_feature.config', 'surface_builder.config', 'template_pool.elements.entry.element', 'decorator.block_survives_filter.state', 'material_rule.block.result_state']
-const inlineFields = ['loot_entry.type', 'function.function', 'condition.condition', 'criterion.trigger', 'dimension.generator.type', 'dimension.generator.biome_source.type', 'feature.type', 'decorator.type', 'block_state_provider.type', 'feature.tree.minimum_size.type', 'trunk_placer.type', 'foliage_placer.type', 'tree_decorator.type', 'block_placer.type', 'rule_test.predicate_type', 'processor.processor_type', 'template_element.element_type', 'nbt_operation.op', 'number_provider.value', 'score_provider.name', 'score_provider.target', 'nbt_provider.source', 'nbt_provider.target', 'generator_biome.biome', 'block_predicate.type', 'material_rule.type', 'material_condition.type', 'density_function.type', 'root_placer.type', 'entity.type_specific.type', 'glyph_provider.type', 'sprite_source.type', 'rule_block_entity_modifier.type', 'immersive_weathering.area_condition.type', 'immersive_weathering.block_growth.growth_for_face.entry.direction', 'immersive_weathering.position_test.predicate_type']
+const inlineFields = ['loot_entry.type', 'function.function', 'condition.condition', 'criterion.trigger', 'dimension.generator.type', 'dimension.generator.biome_source.type', 'feature.type', 'decorator.type', 'block_state_provider.type', 'feature.tree.minimum_size.type', 'trunk_placer.type', 'foliage_placer.type', 'tree_decorator.type', 'block_placer.type', 'rule_test.predicate_type', 'processor.processor_type', 'template_element.element_type', 'nbt_operation.op', 'number_provider.value', 'score_provider.name', 'score_provider.target', 'nbt_provider.source', 'nbt_provider.target', 'generator_biome.biome', 'block_predicate.type', 'material_rule.type', 'material_condition.type', 'density_function.type', 'root_placer.type', 'entity.type_specific.type', 'glyph_provider.type', 'sprite_source.type', 'rule_block_entity_modifier.type', 'immersive_weathering.area_condition.type', 'immersive_weathering.block_growth.growth_for_face.entry.direction', 'immersive_weathering.position_test.predicate_type', 'pool_alias_binding.type']
const nbtFields = ['function.set_nbt.tag', 'advancement.display.icon.nbt', 'text_component_object.nbt', 'entity.nbt', 'block.nbt', 'item.nbt']
const fixedLists = ['generator_biome.parameters.temperature', 'generator_biome.parameters.humidity', 'generator_biome.parameters.continentalness', 'generator_biome.parameters.erosion', 'generator_biome.parameters.depth', 'generator_biome.parameters.weirdness', 'feature.end_spike.crystal_beam_target', 'feature.end_gateway.exit', 'decorator.block_filter.offset', 'block_predicate.has_sturdy_face.offset', 'block_predicate.inside_world_bounds.offset', 'block_predicate.matching_block_tag.offset', 'block_predicate.matching_blocks.offset', 'block_predicate.matching_fluids.offset', 'block_predicate.would_survive.offset', 'model_element.from', 'model_element.to', 'model_element.rotation.origin', 'model_element.faces.uv', 'item_transform.rotation', 'item_transform.translation', 'item_transform.scale', 'generator_structure.random_spread.locate_offset', 'pack_overlay.formats']
const collapsedFields = ['noise_settings.surface_rule', 'noise_settings.noise.terrain_shaper']
diff --git a/src/app/services/Schemas.ts b/src/app/services/Schemas.ts
index 11bf5837..bc85a6b9 100644
--- a/src/app/services/Schemas.ts
+++ b/src/app/services/Schemas.ts
@@ -5,10 +5,10 @@ import { message } from '../Utils.js'
import { initPartners } from '../partners/index.js'
import { fetchData } from './DataFetcher.js'
-export const VersionIds = ['1.15', '1.16', '1.17', '1.18', '1.18.2', '1.19', '1.19.3', '1.19.4', '1.20', '1.20.2'] as const
+export const VersionIds = ['1.15', '1.16', '1.17', '1.18', '1.18.2', '1.19', '1.19.3', '1.19.4', '1.20', '1.20.2', '1.20.3'] as const
export type VersionId = typeof VersionIds[number]
-export const DEFAULT_VERSION: VersionId = '1.20.2'
+export const DEFAULT_VERSION: VersionId = '1.20.3'
export type BlockStateRegistry = {
[block: string]: {
@@ -50,6 +50,7 @@ const versionGetter: {
'1.19.4': () => import('@mcschema/java-1.19.4'),
'1.20': () => import('@mcschema/java-1.20'),
'1.20.2': () => import('@mcschema/java-1.20.2'),
+ '1.20.3': () => import('@mcschema/java-1.20.3'),
}
export let CachedDecorator: INode
diff --git a/src/config.json b/src/config.json
index 972e5e7c..0dbf4735 100644
--- a/src/config.json
+++ b/src/config.json
@@ -105,6 +105,11 @@
"id": "1.20.2",
"ref": "1.20.2",
"pack_format": 18
+ },
+ {
+ "id": "1.20.3",
+ "ref": "1.20.3",
+ "pack_format": 26
}
],
"generators": [