From fdb88744540ac8acfb25852d96eb42f557ee4579 Mon Sep 17 00:00:00 2001 From: Misode Date: Mon, 11 Jul 2022 03:37:10 +0200 Subject: [PATCH] Add font generator --- package-lock.json | 84 ++++++++++++++++----------------- package.json | 12 ++--- src/app/components/Icons.tsx | 1 + src/app/schema/renderHtml.tsx | 2 +- src/app/services/DataFetcher.ts | 2 +- src/config.json | 8 ++++ src/locales/en.json | 1 + 7 files changed, 60 insertions(+), 50 deletions(-) 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",