diff --git a/package-lock.json b/package-lock.json index 8d7ad3b6..ef939deb 100644 --- a/package-lock.json +++ b/package-lock.json @@ -9,12 +9,13 @@ "version": "1.0.0", "license": "MIT", "dependencies": { - "@mcschema/core": "^0.12.20", + "@mcschema/core": "^0.12.27", "@mcschema/java-1.15": "^0.2.3", "@mcschema/java-1.16": "^0.6.6", "@mcschema/java-1.17": "^0.2.25", "@mcschema/java-1.18": "^0.2.15", - "@mcschema/locales": "^0.1.42", + "@mcschema/java-1.18.2": "npm:@mcschema/java-1.18@^0.3.0-beta.5", + "@mcschema/locales": "^0.1.45", "buffer": "^6.0.3", "comment-json": "^4.1.1", "deepslate": "^0.9.0-beta.7", @@ -43,6 +44,9 @@ "vite": "^2.3.7" } }, + "@mcschema/java-1.18@0.3.0-beta": { + "extraneous": true + }, "node_modules/@babel/code-frame": { "version": "7.12.13", "resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.12.13.tgz", @@ -374,9 +378,9 @@ } }, "node_modules/@mcschema/core": { - "version": "0.12.20", - "resolved": "https://registry.npmjs.org/@mcschema/core/-/core-0.12.20.tgz", - "integrity": "sha512-HwBDtlWhKVW6akU+WN8A+tPtj497LHp6nJClbnWIXw4Wrq+/L/2PkuEA5F5/fqKlytFBn6dWdjSCJnRDCkihzA==" + "version": "0.12.27", + "resolved": "https://registry.npmjs.org/@mcschema/core/-/core-0.12.27.tgz", + "integrity": "sha512-xB3GKs5mysuSzgVBKvXcQ839MAJj02fRB9QzxIwAhgc5jKNTk9RpnkmlL1s/bDjA34rVJ+P/zfluIczMfPSk4g==" }, "node_modules/@mcschema/java-1.15": { "version": "0.2.3", @@ -410,10 +414,19 @@ "@mcschema/core": "^0.12.20" } }, + "node_modules/@mcschema/java-1.18.2": { + "name": "@mcschema/java-1.18", + "version": "0.3.0-beta.5", + "resolved": "https://registry.npmjs.org/@mcschema/java-1.18/-/java-1.18-0.3.0-beta.5.tgz", + "integrity": "sha512-51MZYoXFas+6MV5VSHS1baE8Q2AErL86R31ELpuBL/xtUIb4HrTR0FRxwmgJLkc2FHfHMFvbSGSQcSz44olqqA==", + "dependencies": { + "@mcschema/core": "^0.12.22" + } + }, "node_modules/@mcschema/locales": { - "version": "0.1.42", - "resolved": "https://registry.npmjs.org/@mcschema/locales/-/locales-0.1.42.tgz", - "integrity": "sha512-ru8bdM09rb66pCczWOJsnQrNbNUaCdv0JVCmfwNpFHVMHmw3y2SdN5Cqssc8JEUqJ69h0rjliXz4wlnOJWmLBQ==" + "version": "0.1.45", + "resolved": "https://registry.npmjs.org/@mcschema/locales/-/locales-0.1.45.tgz", + "integrity": "sha512-VsPDBHOWVpju4Z6f8p2G87TK6LKrmuAf+M2cLw6rZVjgB0n76Vv6jvVWzAN388vwMJMx3EkMRDjkRLGFds50Kw==" }, "node_modules/@nodelib/fs.scandir": { "version": "2.1.5", @@ -4687,9 +4700,9 @@ } }, "@mcschema/core": { - "version": "0.12.20", - "resolved": "https://registry.npmjs.org/@mcschema/core/-/core-0.12.20.tgz", - "integrity": "sha512-HwBDtlWhKVW6akU+WN8A+tPtj497LHp6nJClbnWIXw4Wrq+/L/2PkuEA5F5/fqKlytFBn6dWdjSCJnRDCkihzA==" + "version": "0.12.27", + "resolved": "https://registry.npmjs.org/@mcschema/core/-/core-0.12.27.tgz", + "integrity": "sha512-xB3GKs5mysuSzgVBKvXcQ839MAJj02fRB9QzxIwAhgc5jKNTk9RpnkmlL1s/bDjA34rVJ+P/zfluIczMfPSk4g==" }, "@mcschema/java-1.15": { "version": "0.2.3", @@ -4723,10 +4736,18 @@ "@mcschema/core": "^0.12.20" } }, + "@mcschema/java-1.18.2": { + "version": "npm:@mcschema/java-1.18@0.3.0-beta.5", + "resolved": "https://registry.npmjs.org/@mcschema/java-1.18/-/java-1.18-0.3.0-beta.5.tgz", + "integrity": "sha512-51MZYoXFas+6MV5VSHS1baE8Q2AErL86R31ELpuBL/xtUIb4HrTR0FRxwmgJLkc2FHfHMFvbSGSQcSz44olqqA==", + "requires": { + "@mcschema/core": "^0.12.22" + } + }, "@mcschema/locales": { - "version": "0.1.42", - "resolved": "https://registry.npmjs.org/@mcschema/locales/-/locales-0.1.42.tgz", - "integrity": "sha512-ru8bdM09rb66pCczWOJsnQrNbNUaCdv0JVCmfwNpFHVMHmw3y2SdN5Cqssc8JEUqJ69h0rjliXz4wlnOJWmLBQ==" + "version": "0.1.45", + "resolved": "https://registry.npmjs.org/@mcschema/locales/-/locales-0.1.45.tgz", + "integrity": "sha512-VsPDBHOWVpju4Z6f8p2G87TK6LKrmuAf+M2cLw6rZVjgB0n76Vv6jvVWzAN388vwMJMx3EkMRDjkRLGFds50Kw==" }, "@nodelib/fs.scandir": { "version": "2.1.5", diff --git a/package.json b/package.json index 0cca1366..dd9c3e43 100644 --- a/package.json +++ b/package.json @@ -15,12 +15,13 @@ "author": "Misode", "license": "MIT", "dependencies": { - "@mcschema/core": "^0.12.20", + "@mcschema/core": "^0.12.27", "@mcschema/java-1.15": "^0.2.3", "@mcschema/java-1.16": "^0.6.6", "@mcschema/java-1.17": "^0.2.25", "@mcschema/java-1.18": "^0.2.15", - "@mcschema/locales": "^0.1.42", + "@mcschema/java-1.18.2": "npm:@mcschema/java-1.18@^0.3.0-beta.5", + "@mcschema/locales": "^0.1.45", "buffer": "^6.0.3", "comment-json": "^4.1.1", "deepslate": "^0.9.0-beta.7", diff --git a/src/app/pages/Generator.tsx b/src/app/pages/Generator.tsx index 93878fc2..6b26c5bc 100644 --- a/src/app/pages/Generator.tsx +++ b/src/app/pages/Generator.tsx @@ -264,9 +264,9 @@ export function Generator({}: Props) { - + {allowedVersions.reverse().map(v => - changeVersion(v)} /> + changeVersion(v)} /> )} diff --git a/src/app/schema/renderHtml.tsx b/src/app/schema/renderHtml.tsx index 7a925846..78697f3d 100644 --- a/src/app/schema/renderHtml.tsx +++ b/src/app/schema/renderHtml.tsx @@ -12,12 +12,12 @@ import { CachedDecorator, CachedFeature } from '../services' import { deepClone, deepEqual, hexId, isObject, newSeed } from '../Utils' import { ModelWrapper } from './ModelWrapper' -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'] +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', 'generator_structure.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'] 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'] +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'] const findGenerator = (id: string) => { diff --git a/src/app/services/Schemas.ts b/src/app/services/Schemas.ts index c13aa0c4..4c6e799e 100644 --- a/src/app/services/Schemas.ts +++ b/src/app/services/Schemas.ts @@ -4,11 +4,12 @@ import * as java15 from '@mcschema/java-1.15' import * as java16 from '@mcschema/java-1.16' import * as java17 from '@mcschema/java-1.17' import * as java18 from '@mcschema/java-1.18' +import * as latest from '@mcschema/java-1.18.2' import config from '../../config.json' import { message } from '../Utils' import { fetchData } from './DataFetcher' -export const VersionIds = ['1.15', '1.16', '1.17', '1.18'] as const +export const VersionIds = ['1.15', '1.16', '1.17', '1.18', 'latest'] as const export type VersionId = typeof VersionIds[number] export type BlockStateRegistry = { @@ -45,6 +46,7 @@ const versionGetter: { 1.16: java16, 1.17: java17, 1.18: java18, + latest: latest, } export let CachedDecorator: INode diff --git a/src/config.json b/src/config.json index 80a45440..0607fb48 100644 --- a/src/config.json +++ b/src/config.json @@ -61,6 +61,10 @@ }, { "id": "1.18", + "ref": "1.18.1" + }, + { + "id": "latest", "dynamic": true } ], diff --git a/src/locales/en.json b/src/locales/en.json index a744b09b..d8e6bf60 100644 --- a/src/locales/en.json +++ b/src/locales/en.json @@ -41,6 +41,7 @@ "indentation.tabs": "Tabs", "item_modifier": "Item Modifier", "language": "Language", + "latest": "Latest", "layer.biomes": "Biomes", "layer.temperature": "Temperature", "layer.humidity": "Humidity",