- Java 100%
| Filename | Latest commit message | Latest commit date |
|---|---|---|
| gradle/wrapper | ||
| src/main | ||
| .gitignore | ||
| build.gradle | ||
| gradle.properties | ||
| gradlew | ||
| gradlew.bat | ||
| README.md | ||
| settings.gradle | ||
mmdload
Client-side NeoForge mod for 1.21.1. Pulls MMD model files (or zip bundles of them) into .minecraft/3d-skin/ so mmdskin picks them up. Works on vanilla servers. Everything runs on the client.
Install
NeoForge 1.21.1. Drop mmdload-1.0.0.jar into mods/. That's it.
Commands
/mmdload <url> — fetch a URL once. Single MMD file or .zip. Chat reports progress and where it landed.
/mmdload (no args) — fetches the URL saved in the config. Errors if nothing is set.
/mmdload-config <url> — saves the URL to config and fetches it immediately. Persists across restarts; the same URL is auto-fetched on every client startup.
Config
config/mmdload-client.toml, generated on first launch:
# URL to fetch on client startup. Accepts a single MMD file or a .zip.
# Leave empty to disable startup auto-download.
autoDownloadUrl = ""
Set it manually or via /mmdload-config.
Accepted files
.pmx .pmd .png .jpg .jpeg .bmp .tga .vmd .vpd
Anything else in a zip is skipped. Zip entries with ../ are rejected (no zip-slip). 200 MB cap on download size.
Only http:// and https:// schemes.
Notes
Files extract into 3d-skin/ preserving the zip's internal directory structure, so a zip with EntityPlayer/MyModel/model.pmx lands at 3d-skin/EntityPlayer/MyModel/model.pmx. mmdskin reads from there directly.