mirror of
https://github.com/misode/misode.github.io.git
synced 2026-04-23 07:10:41 +00:00
Update mcschema dependencies
This commit is contained in:
@@ -12,11 +12,12 @@
|
||||
"author": "Misode",
|
||||
"license": "MIT",
|
||||
"dependencies": {
|
||||
"@mcschema/core": "^0.2.6",
|
||||
"@mcschema/java-1.16": "^0.1.0",
|
||||
"@types/split.js": "^1.4.0",
|
||||
"copy-webpack-plugin": "^6.0.1",
|
||||
"html-webpack-plugin": "^4.3.0",
|
||||
"merge-jsons-webpack-plugin": "^1.0.21",
|
||||
"minecraft-schemas": "^0.2.4",
|
||||
"split.js": "^1.5.11",
|
||||
"ts-loader": "^7.0.4",
|
||||
"typescript": "^3.9.3",
|
||||
|
||||
@@ -1,14 +1,16 @@
|
||||
import { locale, DataModel, ModelListener } from "minecraft-schemas";
|
||||
import { Errors } from "minecraft-schemas/lib/model/Errors";
|
||||
import {
|
||||
AbstractView,
|
||||
DataModel,
|
||||
Errors,
|
||||
locale,
|
||||
} from '@mcschema/core'
|
||||
|
||||
export class ErrorsView implements ModelListener {
|
||||
model: DataModel
|
||||
export class ErrorsView extends AbstractView {
|
||||
target: HTMLElement
|
||||
|
||||
constructor(model: DataModel, target: HTMLElement) {
|
||||
this.model = model
|
||||
super(model)
|
||||
this.target = target
|
||||
model.addListener(this)
|
||||
}
|
||||
|
||||
errors(errors: Errors): void {
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
import { CollectionRegistry } from "minecraft-schemas";
|
||||
import { CollectionRegistry } from '@mcschema/core'
|
||||
|
||||
export const mcdata = (version: string, registry: string) => `https://raw.githubusercontent.com/Arcensoth/mcdata/${version}/processed/reports/registries/${registry}/${registry}.min.json`
|
||||
|
||||
|
||||
@@ -13,7 +13,7 @@ import {
|
||||
RangeNode,
|
||||
Resource,
|
||||
SCHEMAS
|
||||
} from 'minecraft-schemas'
|
||||
} from '@mcschema/core'
|
||||
|
||||
SCHEMAS.register('foo', ObjectNode({
|
||||
foo: StringNode(),
|
||||
|
||||
107
src/app/app.ts
107
src/app/app.ts
@@ -1,17 +1,15 @@
|
||||
import Split from 'split.js'
|
||||
import {
|
||||
AbstractView,
|
||||
Base,
|
||||
COLLECTIONS,
|
||||
DataModel,
|
||||
TreeView,
|
||||
SourceView,
|
||||
ConditionSchema,
|
||||
LootTableSchema,
|
||||
AdvancementSchema,
|
||||
DimensionSchema,
|
||||
DimensionTypeSchema,
|
||||
LOCALES,
|
||||
locale,
|
||||
COLLECTIONS
|
||||
} from 'minecraft-schemas'
|
||||
LOCALES,
|
||||
SourceView,
|
||||
TreeView,
|
||||
} from '@mcschema/core'
|
||||
import { schemas } from '@mcschema/java-1.16'
|
||||
import { RegistryFetcher } from './RegistryFetcher'
|
||||
import { SandboxSchema } from './Sandbox'
|
||||
import { ErrorsView } from './ErrorsView'
|
||||
@@ -38,11 +36,11 @@ const languages: { [key: string]: string } = {
|
||||
}
|
||||
|
||||
const models: { [key: string]: DataModel } = {
|
||||
'loot-table': new DataModel(LootTableSchema),
|
||||
'predicate': new DataModel(ConditionSchema),
|
||||
'advancement': new DataModel(AdvancementSchema),
|
||||
'dimension': new DataModel(DimensionSchema),
|
||||
'dimension-type': new DataModel(DimensionTypeSchema),
|
||||
'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']),
|
||||
'sandbox': new DataModel(SandboxSchema)
|
||||
}
|
||||
|
||||
@@ -81,40 +79,53 @@ const fetchLocale = async (id: string) => {
|
||||
}
|
||||
LOCALES.language = localStorage.getItem(LOCAL_STORAGE_LANGUAGE)?.toLowerCase() ?? 'en'
|
||||
|
||||
const homeLink = document.getElementById('home-link')!
|
||||
const homeGenerators = document.getElementById('home-generators')!
|
||||
const selectedModel = document.getElementById('selected-model')!
|
||||
const modelSelector = document.getElementById('model-selector')!
|
||||
const modelSelectorMenu = document.getElementById('model-selector-menu')!
|
||||
const languageSelector = document.getElementById('language-selector')!
|
||||
const languageSelectorMenu = document.getElementById('language-selector-menu')!
|
||||
const themeSelector = document.getElementById('theme-selector')!
|
||||
const treeViewEl = document.getElementById('tree-view')!
|
||||
const sourceViewEl = document.getElementById('source-view')!
|
||||
const errorsViewEl = document.getElementById('errors-view')!
|
||||
const homeViewEl = document.getElementById('home-view')!
|
||||
const errorsToggle = document.getElementById('errors-toggle')!
|
||||
const sourceViewOutput = (document.getElementById('source-view-output') as HTMLTextAreaElement)
|
||||
const treeViewOutput = document.getElementById('tree-view-output')!
|
||||
const sourceControlsToggle = document.getElementById('source-controls-toggle')!
|
||||
const sourceControlsMenu = document.getElementById('source-controls-menu')!
|
||||
const sourceControlsCopy = document.getElementById('source-controls-copy')!
|
||||
const sourceControlsDownload = document.getElementById('source-controls-download')!
|
||||
const sourceToggle = document.getElementById('source-toggle')!
|
||||
const treeControlsToggle = document.getElementById('tree-controls-toggle')!
|
||||
const treeControlsMenu = document.getElementById('tree-controls-menu')!
|
||||
const treeControlsVersionToggle = document.getElementById('tree-controls-version-toggle')!
|
||||
const treeControlsVersionMenu = document.getElementById('tree-controls-version-menu')!
|
||||
const treeControlsReset = document.getElementById('tree-controls-reset')!
|
||||
const treeControlsUndo = document.getElementById('tree-controls-undo')!
|
||||
const treeControlsRedo = document.getElementById('tree-controls-redo')!
|
||||
|
||||
const dummyModel = new DataModel(Base)
|
||||
|
||||
const views: {[key: string]: AbstractView} = {
|
||||
'tree': new TreeView(dummyModel, treeViewOutput, {
|
||||
showErrors: true,
|
||||
observer: treeViewObserver
|
||||
}),
|
||||
'source': new SourceView(dummyModel, sourceViewOutput, {
|
||||
indentation: 2
|
||||
}),
|
||||
'errors': new ErrorsView(dummyModel, errorsViewEl)
|
||||
}
|
||||
|
||||
Promise.all([
|
||||
fetchLocale(LOCALES.language),
|
||||
...(LOCALES.language === 'en' ? [] : [fetchLocale('en')]),
|
||||
RegistryFetcher(COLLECTIONS, registries)
|
||||
]).then(responses => {
|
||||
|
||||
const homeLink = document.getElementById('home-link')!
|
||||
const homeGenerators = document.getElementById('home-generators')!
|
||||
const selectedModel = document.getElementById('selected-model')!
|
||||
const modelSelector = document.getElementById('model-selector')!
|
||||
const modelSelectorMenu = document.getElementById('model-selector-menu')!
|
||||
const languageSelector = document.getElementById('language-selector')!
|
||||
const languageSelectorMenu = document.getElementById('language-selector-menu')!
|
||||
const themeSelector = document.getElementById('theme-selector')!
|
||||
const treeViewEl = document.getElementById('tree-view')!
|
||||
const sourceViewEl = document.getElementById('source-view')!
|
||||
const errorsViewEl = document.getElementById('errors-view')!
|
||||
const homeViewEl = document.getElementById('home-view')!
|
||||
const errorsToggle = document.getElementById('errors-toggle')!
|
||||
const sourceViewOutput = (document.getElementById('source-view-output') as HTMLTextAreaElement)
|
||||
const treeViewOutput = document.getElementById('tree-view-output')!
|
||||
const sourceControlsToggle = document.getElementById('source-controls-toggle')!
|
||||
const sourceControlsMenu = document.getElementById('source-controls-menu')!
|
||||
const sourceControlsCopy = document.getElementById('source-controls-copy')!
|
||||
const sourceControlsDownload = document.getElementById('source-controls-download')!
|
||||
const sourceToggle = document.getElementById('source-toggle')!
|
||||
const treeControlsToggle = document.getElementById('tree-controls-toggle')!
|
||||
const treeControlsMenu = document.getElementById('tree-controls-menu')!
|
||||
const treeControlsVersionToggle = document.getElementById('tree-controls-version-toggle')!
|
||||
const treeControlsVersionMenu = document.getElementById('tree-controls-version-menu')!
|
||||
const treeControlsReset = document.getElementById('tree-controls-reset')!
|
||||
const treeControlsUndo = document.getElementById('tree-controls-undo')!
|
||||
const treeControlsRedo = document.getElementById('tree-controls-redo')!
|
||||
|
||||
let selected = ''
|
||||
|
||||
const updateModel = () => {
|
||||
@@ -122,15 +133,7 @@ Promise.all([
|
||||
selectedModel.textContent = locale(`title.home`)
|
||||
} else {
|
||||
selectedModel.textContent = locale(`title.${selected}`)
|
||||
new TreeView(models[selected], treeViewOutput, {
|
||||
showErrors: true,
|
||||
observer: treeViewObserver
|
||||
}),
|
||||
new SourceView(models[selected], sourceViewOutput, {
|
||||
indentation: 2
|
||||
}),
|
||||
new ErrorsView(models[selected], errorsViewEl)
|
||||
|
||||
Object.values(views).forEach(v => v.setModel(models[selected]))
|
||||
models[selected].invalidate()
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user