diff --git a/package-lock.json b/package-lock.json
index 8f42c2a5..06b87376 100644
--- a/package-lock.json
+++ b/package-lock.json
@@ -12,12 +12,12 @@
"@giscus/react": "^1.1.2",
"@mcschema/core": "^0.12.35",
"@mcschema/java-1.15": "^0.2.6",
- "@mcschema/java-1.16": "^0.6.10",
- "@mcschema/java-1.17": "^0.2.29",
- "@mcschema/java-1.18": "^0.3.5",
- "@mcschema/java-1.18.2": "^0.1.10",
- "@mcschema/java-1.19": "^0.1.29",
- "@mcschema/locales": "^0.1.65",
+ "@mcschema/java-1.16": "^0.6.11",
+ "@mcschema/java-1.17": "^0.2.30",
+ "@mcschema/java-1.18": "^0.3.6",
+ "@mcschema/java-1.18.2": "^0.1.12",
+ "@mcschema/java-1.19": "^0.1.31",
+ "@mcschema/locales": "^0.1.67",
"@zip.js/zip.js": "^2.4.5",
"brace": "^0.11.1",
"buffer": "^6.0.3",
@@ -530,49 +530,49 @@
}
},
"node_modules/@mcschema/java-1.16": {
- "version": "0.6.10",
- "resolved": "https://registry.npmjs.org/@mcschema/java-1.16/-/java-1.16-0.6.10.tgz",
- "integrity": "sha512-652smG8HSuwG0LAJ3v8RejRo4+Up6XMlHv87TjPzOlFhVBeGwf4Hg4/vX8DEdsxInBU/9k9PbcG2k+kDrsyg/A==",
+ "version": "0.6.11",
+ "resolved": "https://registry.npmjs.org/@mcschema/java-1.16/-/java-1.16-0.6.11.tgz",
+ "integrity": "sha512-5uTKMvu84q0+Aai/FTfBc/D6neifnZUPx8wYDCvbmNcnL3m4Q3r/FmuSJ9HpYHi++ZUlCIHoAqV940oBJxv+9w==",
"dependencies": {
"@mcschema/core": "^0.12.0"
}
},
"node_modules/@mcschema/java-1.17": {
- "version": "0.2.29",
- "resolved": "https://registry.npmjs.org/@mcschema/java-1.17/-/java-1.17-0.2.29.tgz",
- "integrity": "sha512-ybHT3SVHz1+1PqcIhdhpO5r6xLFzhAfcAArfdTf4mwkRNJ0BOzfuUxp0OH/A6JeG9JhlI/SAZp2dfR43ZfUdWQ==",
+ "version": "0.2.30",
+ "resolved": "https://registry.npmjs.org/@mcschema/java-1.17/-/java-1.17-0.2.30.tgz",
+ "integrity": "sha512-KtqJF3ovUxY1ncT93FSpwukMtHfUR2qX+822rUX3YFKxzSVATKxs48xm/nRRKpzPPlsqxDJpU3VaYH2Wgb+19A==",
"dependencies": {
"@mcschema/core": "^0.12.4"
}
},
"node_modules/@mcschema/java-1.18": {
- "version": "0.3.5",
- "resolved": "https://registry.npmjs.org/@mcschema/java-1.18/-/java-1.18-0.3.5.tgz",
- "integrity": "sha512-97ZvRvGM/Hixe/wSf+boTFl9uV917bXCTSMFHuNrAiqjZZHpCJNAConjtDlJUZ1kqsc8ixvgJFLeMnXEJkUH2Q==",
+ "version": "0.3.6",
+ "resolved": "https://registry.npmjs.org/@mcschema/java-1.18/-/java-1.18-0.3.6.tgz",
+ "integrity": "sha512-PXWO5QRW+IC9n1+kFjoQfVwluh2sw42Iw1k5H+c6iPx0UradXLPKnSxD30mgFJEO20yjz8uZSLmLdsVWsD5Tig==",
"dependencies": {
"@mcschema/core": "^0.12.20"
}
},
"node_modules/@mcschema/java-1.18.2": {
- "version": "0.1.10",
- "resolved": "https://registry.npmjs.org/@mcschema/java-1.18.2/-/java-1.18.2-0.1.10.tgz",
- "integrity": "sha512-jsMhD87/A6pTxWmnaYRSoE4XehDnWXGoBDgxqc9IbB7zw5ZrsfP3Qp6uFRGTX1bLHUZbaoqdMraePXSdd5O4uQ==",
+ "version": "0.1.12",
+ "resolved": "https://registry.npmjs.org/@mcschema/java-1.18.2/-/java-1.18.2-0.1.12.tgz",
+ "integrity": "sha512-xZJm0f7cxyPI/4E9MnnMLs5S5OfvcGuNUf/q0nBFHhbSn7nCIiZxhHPt6iQSxNkSPEG3IwdAE55xoAoKgCLUbg==",
"dependencies": {
"@mcschema/core": "^0.12.29"
}
},
"node_modules/@mcschema/java-1.19": {
- "version": "0.1.29",
- "resolved": "https://registry.npmjs.org/@mcschema/java-1.19/-/java-1.19-0.1.29.tgz",
- "integrity": "sha512-VhgPSFsu82D1yPi/eowo8r93trSzxQyjWfyditi+nU0f+J8HSv2CoEa3wbksyJcXgzu21rtFk8Mc2gwH7qP8NQ==",
+ "version": "0.1.31",
+ "resolved": "https://registry.npmjs.org/@mcschema/java-1.19/-/java-1.19-0.1.31.tgz",
+ "integrity": "sha512-LgNUVtPXOZvWKjgGKkqyG87D+QGJ7cJkBE02rYQkONCVYePMw3rWhnieyliAbh6e26xrJ/7MyBMTwF1JSI9+KA==",
"dependencies": {
"@mcschema/core": "^0.12.34"
}
},
"node_modules/@mcschema/locales": {
- "version": "0.1.65",
- "resolved": "https://registry.npmjs.org/@mcschema/locales/-/locales-0.1.65.tgz",
- "integrity": "sha512-5O8rO0+ZuiPq0oZAEecy+dYtpl2d56v4PPxCRX26qPT3280umfkin6wk2a/8iHI2vlRqXkMF+kOqewAwyOM+wA=="
+ "version": "0.1.67",
+ "resolved": "https://registry.npmjs.org/@mcschema/locales/-/locales-0.1.67.tgz",
+ "integrity": "sha512-Km6W+AG0+jgMZwF3K6yaUyTESYheWBOIQNMtP5wL0JJbUwkR+V7LJOg1lkPTOisDkR+jOraJxZ4xyNrdpjc1xg=="
},
"node_modules/@nodelib/fs.scandir": {
"version": "2.1.5",
@@ -5597,49 +5597,49 @@
}
},
"@mcschema/java-1.16": {
- "version": "0.6.10",
- "resolved": "https://registry.npmjs.org/@mcschema/java-1.16/-/java-1.16-0.6.10.tgz",
- "integrity": "sha512-652smG8HSuwG0LAJ3v8RejRo4+Up6XMlHv87TjPzOlFhVBeGwf4Hg4/vX8DEdsxInBU/9k9PbcG2k+kDrsyg/A==",
+ "version": "0.6.11",
+ "resolved": "https://registry.npmjs.org/@mcschema/java-1.16/-/java-1.16-0.6.11.tgz",
+ "integrity": "sha512-5uTKMvu84q0+Aai/FTfBc/D6neifnZUPx8wYDCvbmNcnL3m4Q3r/FmuSJ9HpYHi++ZUlCIHoAqV940oBJxv+9w==",
"requires": {
"@mcschema/core": "^0.12.0"
}
},
"@mcschema/java-1.17": {
- "version": "0.2.29",
- "resolved": "https://registry.npmjs.org/@mcschema/java-1.17/-/java-1.17-0.2.29.tgz",
- "integrity": "sha512-ybHT3SVHz1+1PqcIhdhpO5r6xLFzhAfcAArfdTf4mwkRNJ0BOzfuUxp0OH/A6JeG9JhlI/SAZp2dfR43ZfUdWQ==",
+ "version": "0.2.30",
+ "resolved": "https://registry.npmjs.org/@mcschema/java-1.17/-/java-1.17-0.2.30.tgz",
+ "integrity": "sha512-KtqJF3ovUxY1ncT93FSpwukMtHfUR2qX+822rUX3YFKxzSVATKxs48xm/nRRKpzPPlsqxDJpU3VaYH2Wgb+19A==",
"requires": {
"@mcschema/core": "^0.12.4"
}
},
"@mcschema/java-1.18": {
- "version": "0.3.5",
- "resolved": "https://registry.npmjs.org/@mcschema/java-1.18/-/java-1.18-0.3.5.tgz",
- "integrity": "sha512-97ZvRvGM/Hixe/wSf+boTFl9uV917bXCTSMFHuNrAiqjZZHpCJNAConjtDlJUZ1kqsc8ixvgJFLeMnXEJkUH2Q==",
+ "version": "0.3.6",
+ "resolved": "https://registry.npmjs.org/@mcschema/java-1.18/-/java-1.18-0.3.6.tgz",
+ "integrity": "sha512-PXWO5QRW+IC9n1+kFjoQfVwluh2sw42Iw1k5H+c6iPx0UradXLPKnSxD30mgFJEO20yjz8uZSLmLdsVWsD5Tig==",
"requires": {
"@mcschema/core": "^0.12.20"
}
},
"@mcschema/java-1.18.2": {
- "version": "0.1.10",
- "resolved": "https://registry.npmjs.org/@mcschema/java-1.18.2/-/java-1.18.2-0.1.10.tgz",
- "integrity": "sha512-jsMhD87/A6pTxWmnaYRSoE4XehDnWXGoBDgxqc9IbB7zw5ZrsfP3Qp6uFRGTX1bLHUZbaoqdMraePXSdd5O4uQ==",
+ "version": "0.1.12",
+ "resolved": "https://registry.npmjs.org/@mcschema/java-1.18.2/-/java-1.18.2-0.1.12.tgz",
+ "integrity": "sha512-xZJm0f7cxyPI/4E9MnnMLs5S5OfvcGuNUf/q0nBFHhbSn7nCIiZxhHPt6iQSxNkSPEG3IwdAE55xoAoKgCLUbg==",
"requires": {
"@mcschema/core": "^0.12.29"
}
},
"@mcschema/java-1.19": {
- "version": "0.1.29",
- "resolved": "https://registry.npmjs.org/@mcschema/java-1.19/-/java-1.19-0.1.29.tgz",
- "integrity": "sha512-VhgPSFsu82D1yPi/eowo8r93trSzxQyjWfyditi+nU0f+J8HSv2CoEa3wbksyJcXgzu21rtFk8Mc2gwH7qP8NQ==",
+ "version": "0.1.31",
+ "resolved": "https://registry.npmjs.org/@mcschema/java-1.19/-/java-1.19-0.1.31.tgz",
+ "integrity": "sha512-LgNUVtPXOZvWKjgGKkqyG87D+QGJ7cJkBE02rYQkONCVYePMw3rWhnieyliAbh6e26xrJ/7MyBMTwF1JSI9+KA==",
"requires": {
"@mcschema/core": "^0.12.34"
}
},
"@mcschema/locales": {
- "version": "0.1.65",
- "resolved": "https://registry.npmjs.org/@mcschema/locales/-/locales-0.1.65.tgz",
- "integrity": "sha512-5O8rO0+ZuiPq0oZAEecy+dYtpl2d56v4PPxCRX26qPT3280umfkin6wk2a/8iHI2vlRqXkMF+kOqewAwyOM+wA=="
+ "version": "0.1.67",
+ "resolved": "https://registry.npmjs.org/@mcschema/locales/-/locales-0.1.67.tgz",
+ "integrity": "sha512-Km6W+AG0+jgMZwF3K6yaUyTESYheWBOIQNMtP5wL0JJbUwkR+V7LJOg1lkPTOisDkR+jOraJxZ4xyNrdpjc1xg=="
},
"@nodelib/fs.scandir": {
"version": "2.1.5",
diff --git a/package.json b/package.json
index a6910418..ddf5685b 100644
--- a/package.json
+++ b/package.json
@@ -18,12 +18,12 @@
"@giscus/react": "^1.1.2",
"@mcschema/core": "^0.12.35",
"@mcschema/java-1.15": "^0.2.6",
- "@mcschema/java-1.16": "^0.6.10",
- "@mcschema/java-1.17": "^0.2.29",
- "@mcschema/java-1.18": "^0.3.5",
- "@mcschema/java-1.18.2": "^0.1.10",
- "@mcschema/java-1.19": "^0.1.29",
- "@mcschema/locales": "^0.1.65",
+ "@mcschema/java-1.16": "^0.6.11",
+ "@mcschema/java-1.17": "^0.2.30",
+ "@mcschema/java-1.18": "^0.3.6",
+ "@mcschema/java-1.18.2": "^0.1.12",
+ "@mcschema/java-1.19": "^0.1.31",
+ "@mcschema/locales": "^0.1.67",
"@zip.js/zip.js": "^2.4.5",
"brace": "^0.11.1",
"buffer": "^6.0.3",
diff --git a/src/app/components/Icons.tsx b/src/app/components/Icons.tsx
index 23cdfa96..f8299660 100644
--- a/src/app/components/Icons.tsx
+++ b/src/app/components/Icons.tsx
@@ -10,6 +10,7 @@ export const Icons = {
chat_type: ,
dimension: ,
dimension_type: ,
+ font: ,
item_modifier: ,
loot_table: ,
model: ,
diff --git a/src/app/schema/renderHtml.tsx b/src/app/schema/renderHtml.tsx
index 6370bf71..4168e5ad 100644
--- a/src/app/schema/renderHtml.tsx
+++ b/src/app/schema/renderHtml.tsx
@@ -16,7 +16,7 @@ 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']
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', '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', 'immersive_weathering.area_condition.type', 'immersive_weathering.block_growth.growth_for_face.entry.direction', 'immersive_weathering.position_test.predicate_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.matching_blocks.offset', 'block_predicate.matching_fluids.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']
const collapsedFields = ['noise_settings.surface_rule', 'noise_settings.noise.terrain_shaper']
diff --git a/src/app/services/DataFetcher.ts b/src/app/services/DataFetcher.ts
index a30ee22c..657071a2 100644
--- a/src/app/services/DataFetcher.ts
+++ b/src/app/services/DataFetcher.ts
@@ -85,7 +85,7 @@ export async function fetchPreset(versionId: VersionId, registry: string, id: st
if (id.startsWith('immersive_weathering:')) {
url = `https://raw.githubusercontent.com/AstralOrdana/Immersive-Weathering/main/src/main/resources/data/immersive_weathering/block_growths/${id.slice(21)}.json`
} else {
- const type = ['blockstates', 'models'].includes(registry) ? 'assets' : 'data'
+ const type = ['blockstates', 'models', 'font'].includes(registry) ? 'assets' : 'data'
url = `${mcmeta(version, type)}/${type}/minecraft/${registry}/${id}.json`
}
const res = await fetch(url)
diff --git a/src/config.json b/src/config.json
index 67b48f9d..f0599a50 100644
--- a/src/config.json
+++ b/src/config.json
@@ -323,6 +323,14 @@
"tags": ["assets"],
"schema": "model"
},
+ {
+ "id": "font",
+ "url": "assets/font",
+ "path": "font",
+ "tags": ["assets"],
+ "schema": "font",
+ "minVersion": "1.16"
+ },
{
"id": "block_growth",
"url": "partners/immersive-weathering/block-growth",
diff --git a/src/locales/en.json b/src/locales/en.json
index 6fc57e98..8698ba59 100644
--- a/src/locales/en.json
+++ b/src/locales/en.json
@@ -37,6 +37,7 @@
"feature.decorated.decorators": "Decorators",
"feature.decorated.decorators.entry": "Decorator",
"follow_reference": "Follow reference",
+ "font": "Font",
"format.json": "JSON",
"format.yaml": "YAML",
"fields": "Fields",