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",