A WebApp to assist in the creation and customization of the Minecraft’s ResourcePack for Mod ExtraSounds.
- UnZip and analyze Minecraft’s ResourcePack structure.
- Edit ExtraSounds’
sounds.jsonincluding auto-generated entries. - The modified ResourcePack can be downloaded.
- Sound preview feature. Fetch and play sounds from Minecraft’s official resource.
App is available here. It does not support full-scale customization at the moment, but you can also get a Zip file as a substitute for a template.
This app is built with React, and partially uses PHP. Prerequisite knowledges are about NodeJS, PHP and HTTP Web Server.
- NodeJS v18.x
- npm 9.5.x
- PHP 8
- HTTP server which supports PHP, such as Apache, Nginx, IIS and so on.
Docker environment is also available. If you want to use this, please prepare following:
- Docker 23
- Docker compose
> git clone https://github.com/lonefelidae16/respack-for-extrasounds.git
> cd respack-for-extrasounds
> npm i
> npm run buildThe generated files are in dist/ . Open index.html via your localhost server, or upload them on remote server.
If you want to use Docker, you need to copy docker-compose.yml.example to docker-compose.yml before starting up.
Docker’s nginx opens port 8080 by default. If you have a port binding problem, you need to change it.
> cp docker-compose.yml.example docker-compose.yml
> nano docker-compose.yml # if needed
> docker-compose up -dAnd then access http://localhost:8080/ .
Development mode is also available, run npm run watch if you want. The terminal will be locked, so use Ctrl+C to exit.
To stop the docker container, run it:
> docker-compose downContributions are always welcome. We use Husky, so ESLint and StyleLint will format your code before committing. Feel free to open a Pull Request from your fork.
Visual Studio Code integration is also available. Get extension from Microsoft’s marketplace: ESLint for VSCode, Stylelint for VSCode
Here is a partial list of code rules. See .eslintrc and .stylelintrc for more information.
- Indentation: 4 spaces
- Quotes: single
- One-line
ifstatement: not allowed - Variables: camelCase
- Semicolon: always
- Curly spacing: always