mcjava-wiki technical stack overview
The mcjava-wiki is built using the following technology stack:
- Content: Written in Markdown and MDX
- Framework: Gatsby
- Theme: Smooth Doc
- Deployment: Cloudflare Pages
website·Indexed 29 days ago
https://wiki.mcjava.dev/A technical wiki and guide for Minecraft: Java Edition resource packs. It provides tutorials on pack structure, JSON formatting, predicates, and default assets, as well as documentation on external programs like Blockbench, Gimp, and Visual Studio Code used in resource pack development.
The mcjava-wiki is built using the following technology stack:
assets folder, pack.mcmeta, and pack.png. When compressing the pack into a ZIP file, these items must be at the root level; compressing the enclosing folder instead of the contents will prevent the pack from loading.Root
┣ 📂assets
┃ ┣ 📂minecraft
┃ ┃ ┣ 📂blockstates
┃ ┃ ┣ 📂font
┃ ┃ ┣ 📂icons
┃ ┃ ┣ 📂lang
┃ ┃ ┣ 📂models
┃ ┃ ┃ ┣ 📂block
┃ ┃ ┃ ┗ 📂item
┃ ┃ ┣ 📂particles
┃ ┃ ┣ 📂resourcepacks
┃ ┃ ┣ 📂shaders
┃ ┃ ┃ ┣ 📂post
┃ ┃ ┃ ┗ 📂program
┃ ┃ ┣ 📂sounds
┃ ┃ ┣ 📂texts
┃ ┃ ┣ 📂textures
┃ ┃ ┗ 📜sounds.json
┣ 📜pack.mcmeta
┗ 📜pack.pngJava models often use parentals to inherit textures, elements, and display settings. Before conversion, these must be resolved by traversing the parent chain until all required data is found:
Note: Texture lists should be stored in memory during this process to facilitate optimal texture atlas generation by identifying overlaps across models.
Bedrock models implemented as entities via attachables can only use a single texture. Therefore, texture atlases must be generated for each item model to combine multiple textures into one.
Constraints and Caveats:
minecraft:builtin/generated parent should be excluded from atlas generation because they do not support UV manipulation.For advanced Java resource pack development, several community hubs provide specialized support:
# Repository URL for cloning
https://github.com/mcjava-wiki/mcjava-wikiDownload from: https://blockbench.net/downloads/ Web App: https://web.blockbench.net/
To extract the main assets folder from a specific Minecraft version on MacOS:
Cmd + Shift + G and enter: ~/Library/Application Support/minecraft/versions.Ctrl + Click) the assets folder and select Services > New Terminal at Folder.assets folder to a safe location.unzip 1.15.jar 'assets/**/*'--legacy-peer-deps flag during installation.git clone https://github.com/mcjava-wiki/mcjava-wiki
cd mcjava-wiki
npm install # Use 'npm install --legacy-peer-deps' if using npm 7
npm run developcd ~/.minecraft/versions/1.16.5
unzip 1.15.jar 'assets/**/*'
mv assets [TARGET-DIRECTORY]