From ee08910abf2a3ac38bab653867cb42433228fc7f Mon Sep 17 00:00:00 2001 From: Misode Date: Sun, 3 May 2026 18:31:53 +0200 Subject: [PATCH] Fix #851 add sounds.json generator --- src/app/components/Icons.tsx | 2 +- src/app/components/generator/FileCreation.tsx | 6 ++++-- src/app/contexts/Project.tsx | 4 +++- src/app/pages/Home.tsx | 2 +- src/app/services/Spyglass.ts | 3 +++ src/config.json | 6 ++++++ src/locales/en.json | 3 ++- 7 files changed, 20 insertions(+), 6 deletions(-) diff --git a/src/app/components/Icons.tsx b/src/app/components/Icons.tsx index 5c29e621..ca8d7922 100644 --- a/src/app/components/Icons.tsx +++ b/src/app/components/Icons.tsx @@ -4,7 +4,7 @@ const STRUCTURE = , report: , - sounds: , + sound_explorer: , customized: , convert: , diff --git a/src/app/components/generator/FileCreation.tsx b/src/app/components/generator/FileCreation.tsx index ef8b6901..06ab07c0 100644 --- a/src/app/components/generator/FileCreation.tsx +++ b/src/app/components/generator/FileCreation.tsx @@ -24,7 +24,7 @@ export function FileCreation({ docAndNode, gen, method }: Props) { const { project } = useProject() const { client } = useSpyglass() - const [fileId, setFileId] = useState(gen.id === 'pack_mcmeta' ? 'pack' : '') + const [fileId, setFileId] = useState(gen.id === 'pack_mcmeta' ? 'pack' : gen.id === 'sounds' ? 'sounds' : '') const [error, setError] = useState() const changeFileId = (str: string) => { @@ -45,7 +45,9 @@ export function FileCreation({ docAndNode, gen, method }: Props) { const projectRoot = getProjectRoot(project) const uri = gen.id === 'pack_mcmeta' ? `${projectRoot}pack.mcmeta` - : `${projectRoot}${pack}/${id.namespace}/${genPath(gen, version)}/${id.path}${gen.ext ?? '.json'}` + : gen.id === 'sounds' + ? `${projectRoot}assets/${id.namespace}/sounds.json` + : `${projectRoot}${pack}/${id.namespace}/${genPath(gen, version)}/${id.path}${gen.ext ?? '.json'}` Analytics.saveProjectFile(method) const text = docAndNode.doc.getText() client.fs.writeFile(uri, text).then(() => { diff --git a/src/app/contexts/Project.tsx b/src/app/contexts/Project.tsx index c166ccf8..4427db20 100644 --- a/src/app/contexts/Project.tsx +++ b/src/app/contexts/Project.tsx @@ -95,7 +95,9 @@ export function ProjectProvider({ children }: { children: ComponentChildren }) { const { namespace, path } = Identifier.parse(file.id) const uri = type === 'pack_mcmeta' ? `${projectRoot}data/pack.mcmeta` - : `${projectRoot}data/${namespace}/${type}/${path}${gen.ext ?? '.json'}` + : type === 'sounds' + ? `${projectRoot}assets/${namespace}/sounds.json` + : `${projectRoot}data/${namespace}/${type}/${path}${gen.ext ?? '.json'}` return SpyglassClient.FS.writeFile(uri, JSON.stringify(file.data, null, 2)) })) } diff --git a/src/app/pages/Home.tsx b/src/app/pages/Home.tsx index ff63af09..9888ca7c 100644 --- a/src/app/pages/Home.tsx +++ b/src/app/pages/Home.tsx @@ -95,7 +95,7 @@ function Tools() { -