From 0332164569cad28447a861740a7bb058060ceb1b Mon Sep 17 00:00:00 2001 From: Misode Date: Mon, 13 Jul 2020 05:56:16 +0200 Subject: [PATCH] Add all worldgen schemas --- package.json | 4 ++-- src/app/app.ts | 41 +++++++++++++++++++++++++----------- src/locales/en.json | 16 ++++++-------- webpack.config.js | 51 +++++++++++++++------------------------------ 4 files changed, 54 insertions(+), 58 deletions(-) diff --git a/package.json b/package.json index 81c53960..fe94551e 100644 --- a/package.json +++ b/package.json @@ -12,8 +12,8 @@ "author": "Misode", "license": "MIT", "dependencies": { - "@mcschema/core": "^0.3.1", - "@mcschema/java-1.16": "^0.1.2", + "@mcschema/core": "^0.3.5", + "@mcschema/java-1.16": "^0.2.1", "@types/split.js": "^1.4.0", "copy-webpack-plugin": "^6.0.1", "html-webpack-plugin": "^4.3.0", diff --git a/src/app/app.ts b/src/app/app.ts index 7284b039..8067a6e5 100644 --- a/src/app/app.ts +++ b/src/app/app.ts @@ -8,8 +8,9 @@ import { LOCALES, SourceView, TreeView, + SCHEMAS, } from '@mcschema/core' -import { schemas } from '@mcschema/java-1.16' +import '@mcschema/java-1.16' import { RegistryFetcher } from './RegistryFetcher' import { ErrorsView } from './ErrorsView' @@ -35,13 +36,18 @@ const languages: { [key: string]: string } = { } const models: { [key: string]: DataModel } = { - 'loot-table': new DataModel(schemas['loot-table']), - 'predicate': new DataModel(schemas['predicate']), - 'advancement': new DataModel(schemas['advancement']), - 'dimension': new DataModel(schemas['dimension']), - 'dimension-type': new DataModel(schemas['dimension-type']), - 'worldgen/biome': new DataModel(schemas['biome']), - 'worldgen/feature': new DataModel(schemas['feature']) + 'loot-table': new DataModel(SCHEMAS.get('loot_table')), + 'predicate': new DataModel(SCHEMAS.get('predicate')), + 'advancement': new DataModel(SCHEMAS.get('advancement')), + 'dimension': new DataModel(SCHEMAS.get('dimension')), + 'dimension-type': new DataModel(SCHEMAS.get('dimension_type')), + 'worldgen/biome': new DataModel(SCHEMAS.get('biome')), + 'worldgen/carver': new DataModel(SCHEMAS.get('configured_carver')), + 'worldgen/feature': new DataModel(SCHEMAS.get('configured_feature')), + 'worldgen/structure-feature': new DataModel(SCHEMAS.get('configured_structure_feature')), + 'worldgen/surface-builder': new DataModel(SCHEMAS.get('configured_surface_builder')), + 'worldgen/processor-list': new DataModel(SCHEMAS.get('processor_list')), + 'worldgen/template-pool': new DataModel(SCHEMAS.get('template_pool')) } const registries = [ @@ -56,11 +62,21 @@ const registries = [ 'loot_pool_entry_type', 'mob_effect', 'stat_type', + 'worldgen/block_state_provider_type', + 'worldgen/block_placer_type', 'worldgen/biome_source', 'worldgen/carver', + 'worldgen/chunk_generator', 'worldgen/decorator', 'worldgen/feature', - 'worldgen/surface_builder' + 'worldgen/feature_size_type', + 'worldgen/foliage_placer_type', + 'worldgen/structure_feature', + 'worldgen/structure_pool_element', + 'worldgen/structure_processor', + 'worldgen/surface_builder', + 'worldgen/tree_decorator_type', + 'worldgen/trunk_placer_type' ] const treeViewObserver = (el: HTMLElement) => { @@ -134,9 +150,9 @@ Promise.all([ const updateModel = () => { let title = '' if (models[selected] === undefined) { - title = locale(`title.home`) + title = locale('title.home') } else { - title = locale(`title.${selected}`) + title = locale('title.generator', [locale(selected)]) Object.values(views).forEach(v => v.setModel(models[selected])) models[selected].invalidate() } @@ -316,7 +332,8 @@ Promise.all([ const panels = [treeViewEl, sourceViewEl, errorsViewEl] if (models[selected] === undefined) { homeViewEl.style.display = ''; - (document.querySelector('.gutter') as HTMLElement).style.display = 'none' + (document.querySelector('.gutter') as HTMLElement).style.display = 'none'; + (document.querySelector('.content') as HTMLElement).style.overflowY = 'initial' modelSelector.style.display = 'none' panels.forEach(v => v.style.display = 'none') homeGenerators.innerHTML = '' diff --git a/src/locales/en.json b/src/locales/en.json index a54afa8a..797fbc07 100644 --- a/src/locales/en.json +++ b/src/locales/en.json @@ -1,24 +1,20 @@ { "title.home": "Data Pack Generators", - "title.loot-table": "Loot Table Generator", - "title.predicate": "Predicate Generator", - "title.advancement": "Advancement Generator", - "title.dimension": "Dimension Generator", - "title.dimension-type": "Dimension Type Generator", - "title.worldgen/biome": "Biome Generator", - "title.worldgen/feature": "Feature Generator", - "title.sandbox": "Sandbox", + "title.generator": "%0% Generator", "loot-table": "Loot Table", "predicate": "Predicate", "advancement": "Advancement", "dimension": "Dimension", "dimension-type": "Dimension Type", "worldgen/biome": "Worldgen Biome", + "worldgen/carver": "Worldgen Carver", "worldgen/feature": "Worldgen Feature", - "sandbox": "Sandbox", + "worldgen/structure-feature": "Worldgen Structure Feature", + "worldgen/surface-builder": "Worldgen Surface Builder", + "worldgen/processor-list": "Worldgen Processor List", + "worldgen/template-pool": "Worldgen Template Pool", "language": "Language", "reset": "Reset", - "classic_theme": "Classic Theme", "copy": "Copy", "download": "Download", "share": "Share" diff --git a/webpack.config.js b/webpack.config.js index 786a62ff..9313e644 100644 --- a/webpack.config.js +++ b/webpack.config.js @@ -41,40 +41,23 @@ module.exports = (env, argv) => ({ filename: 'index.html', template: 'src/index.html' }), - new HtmlWebpackPlugin({ - title: 'Loot Table Generator Minecraft', - filename: 'loot-table/index.html', + ...[ + [ 'loot-table', 'Loot Table' ], + [ 'predicate', 'Predicate' ], + [ 'advancement', 'Advancement' ], + [ 'dimension', 'Dimension' ], + [ 'dimension-type', 'Dimension Type' ], + [ 'worldgen/biome', 'Biome' ], + [ 'worldgen/carver', 'Carver' ], + [ 'worldgen/feature', 'Feature' ], + [ 'worldgen/structure-feature', 'Structure Feature' ], + [ 'worldgen/surface-builder', 'Surface Builder' ], + [ 'worldgen/processor-list', 'Processor List' ], + [ 'worldgen/template-pool', 'Template Pool' ], + ].map(page => new HtmlWebpackPlugin({ + title: `${page[1]} Generators Minecraft`, + filename: `${page[0]}/index.html`, template: 'src/index.html' - }), - new HtmlWebpackPlugin({ - title: 'Predicate Generator Minecraft', - filename: 'predicate/index.html', - template: 'src/index.html' - }), - new HtmlWebpackPlugin({ - title: 'Advancement Generator Minecraft', - filename: 'advancement/index.html', - template: 'src/index.html' - }), - new HtmlWebpackPlugin({ - title: 'Dimension Generator Minecraft', - filename: 'dimension/index.html', - template: 'src/index.html' - }), - new HtmlWebpackPlugin({ - title: 'Dimension Type Generator Minecraft', - filename: 'dimension-type/index.html', - template: 'src/index.html' - }), - new HtmlWebpackPlugin({ - title: 'Biome Generator Minecraft', - filename: 'worldgen/biome/index.html', - template: 'src/index.html' - }), - new HtmlWebpackPlugin({ - title: 'Feature Generator Minecraft', - filename: 'worldgen/feature/index.html', - template: 'src/index.html' - }) + })) ] })