{"id":45909371,"url":"https://github.com/al01cn/mcsd","last_synced_at":"2026-02-28T05:55:57.105Z","repository":{"id":334844222,"uuid":"1142937962","full_name":"al01cn/mcsd","owner":"al01cn","description":"MC SoundsGen is a browser-based Minecraft sound pack generator powered by FFmpeg WebAssembly. It converts audio to OGG (Vorbis), generates sounds.json and pack metadata, then bundles everything for download — no server-side upload required.","archived":false,"fork":false,"pushed_at":"2026-02-24T21:49:21.000Z","size":573,"stargazers_count":2,"open_issues_count":1,"forks_count":1,"subscribers_count":0,"default_branch":"master","last_synced_at":"2026-02-25T02:00:07.891Z","etag":null,"topics":["ffmpeg","minecraft","tool","wasm","website"],"latest_commit_sha":null,"homepage":"https://mcsd.al01.cn","language":"TypeScript","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/al01cn.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null,"notice":null,"maintainers":null,"copyright":null,"agents":null,"dco":null,"cla":null}},"created_at":"2026-01-27T02:29:49.000Z","updated_at":"2026-02-24T21:49:25.000Z","dependencies_parsed_at":null,"dependency_job_id":null,"html_url":"https://github.com/al01cn/mcsd","commit_stats":null,"previous_names":["al01cn/mcsd"],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/al01cn/mcsd","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/al01cn%2Fmcsd","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/al01cn%2Fmcsd/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/al01cn%2Fmcsd/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/al01cn%2Fmcsd/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/al01cn","download_url":"https://codeload.github.com/al01cn/mcsd/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/al01cn%2Fmcsd/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":29925847,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-02-27T19:37:42.220Z","status":"online","status_checked_at":"2026-02-28T02:00:07.010Z","response_time":90,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["ffmpeg","minecraft","tool","wasm","website"],"created_at":"2026-02-28T05:55:56.516Z","updated_at":"2026-02-28T05:55:57.095Z","avatar_url":"https://github.com/al01cn.png","language":"TypeScript","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Minecraft 音频包生成器 / MC SoundsGen\n\n一个基于浏览器端 FFmpeg（WebAssembly）的 Minecraft 音频资源包生成器：在本地把音频转成 OGG（Vorbis），生成 `sounds.json`、资源包元数据并打包下载，无需把音频上传到服务器。\n\n---\n\n## 中文（ZH）\n\n### 功能\n\n- 音频导入：支持拖拽/选择文件、列表重命名（移动端会弹窗编辑）\n- OGG 合规检测：已符合 Minecraft 规格的 OGG 可自动跳过转码\n- 资源包生成：自动生成 `sounds.json`、资源包元数据并打包下载\n- 平台支持：Java 版 / 基岩版\n- 修改原版音频：支持将音频映射到原版事件（事件列表加载 + 输入提示）\n- 进度与日志：展示总进度、单文件进度与转换日志\n- 命令生成：生成 `/playsound` 与 `/stopsound`，支持一键复制与导出 TXT\n- 更新日志：点击界面里的版本号可打开更新日志弹窗\n\n### 技术栈\n\n- Next.js（App Router）\n- React\n- TypeScript（strict）\n- Tailwind CSS\n- ESLint\n- FFmpeg WebAssembly：`@ffmpeg/ffmpeg`、`@ffmpeg/util`\n- Zip 打包：`jszip`\n\n### 安装与运行（推荐 bun）\n\n```bash\nbun install\nbun run dev\n```\n\n浏览器打开：\n\n```text\nhttp://localhost:3000\n```\n\n### 常用命令\n\n```bash\nbun run lint\nbun run typecheck\n```\n\n### 项目结构（简要）\n\n```text\napp/\n  app/\n    page.tsx                 # 页面入口\n    AudioPackGenerator.tsx   # 核心功能与 UI\n    layout.tsx               # 全局布局\n    globals.css              # 全局样式\n  lib/\n    ffmpeg.ts                # FFmpeg WASM 加载/状态管理\n    sounds.ts                # 原版声音/事件数据\n    mcver.ts                 # Minecraft 版本与 pack_format\n    config.ts                # WebConfig（版本号等）\n    update_logs.ts           # 更新日志数据\n  public/\n    note_block.png\n```\n\n### 代码规范与注释规范\n\n- 代码风格：遵循项目现有 TypeScript/React 写法，优先复用已有工具函数与组件结构\n- 性能要求：避免不必要的重复计算与重复渲染，列表渲染要有稳定 key\n- 注释规范：只在“复杂逻辑/关键边界条件/非显而易见的业务规则”处使用注释，建议使用 JSDoc（TS 友好）\n\n### 贡献指南\n\n- 请保持改动范围聚焦（一次 PR 解决一个问题）\n- 确保通过 `bun run lint` 与 `bun run typecheck`\n- 不要提交任何敏感信息（密钥、Token、私有链接等）\n\n### 许可\n\n本项目使用 MIT License，见 [LICENSE](./LICENSE)。\n\n---\n\n## English (EN)\n\n### Overview\n\nMC SoundsGen is a browser-based Minecraft sound pack generator powered by FFmpeg WebAssembly. It converts audio to OGG (Vorbis), generates `sounds.json` and pack metadata, then bundles everything for download — no server-side upload required.\n\n### Features\n\n- Import audio via drag \u0026 drop or file picker; rename files (mobile uses a modal editor)\n- Detect Minecraft-ready OGG files and skip conversion automatically\n- Generate resource packs (`sounds.json`, metadata) and download as an archive\n- Supports Java Edition and Bedrock Edition outputs\n- Map new sounds to vanilla events (with event list loading + input hints)\n- Conversion progress + detailed logs\n- Generate `/playsound` and `/stopsound` commands; copy or export as TXT\n- Changelog: click the version label in UI to open the changelog modal\n\n### Tech Stack\n\n- Next.js (App Router)\n- React\n- TypeScript (strict)\n- Tailwind CSS\n- ESLint\n- FFmpeg WebAssembly: `@ffmpeg/ffmpeg`, `@ffmpeg/util`\n- Packaging: `jszip`\n\n### Setup \u0026 Run (bun recommended)\n\n```bash\nbun install\nbun run dev\n```\n\nOpen:\n\n```text\nhttp://localhost:3000\n```\n\n### Scripts\n\n```bash\nbun run lint\nbun run typecheck\n```\n\n### License\n\nMIT License. See [LICENSE](./LICENSE).\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fal01cn%2Fmcsd","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fal01cn%2Fmcsd","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fal01cn%2Fmcsd/lists"}