🌍 DynamicPack
A lightweight mod that monitors your resource pack version and updates it automatically.
📖 Documentation
See the GitHub Wiki for full developer documentation, advanced features, and examples.
🎨 Resource Packs Using DynamicPack
These resource packs already use automatic DynamicPack updates:
- CursedEveryday (GitHub)
- ModsRU
- Zelda Music
- PawTotems (SMP, GitHub)
- SPPack (SMP, GitHub)
- Essentially Tweaked
- Vanilla Leaves
⚙️ How It Works
Resource pack developers include a metadata file named dynamicmcpack.json inside their pack.
At game launch, DynamicPack checks for updates and automatically downloads the latest version if necessary.
🧩 For Players
Install the mod and enjoy — DynamicPack will handle updates in the background.
🛠 For Developers
If you’d like your pack to update itself automatically, you can choose one of the integration options below.
🔗 Option 1 — Update from Modrinth
Create a file named dynamicmcpack.json in your pack:
{
"current": {
"version_number": "7.1" // Current version of your resource pack
},
"remote": {
"game_version": "1.21.1", // Compatible Minecraft version
"modrinth_project_id": "better-leaves", // Your Modrinth project slug or ID
"type": "modrinth" // Update source type (Modrinth)
},
"formatVersion": 1 // Internal config format version
}
🐙 Option 2 — Update from GitHub
Create a file named dynamicmcpack.json in your pack:
{
"current": {},
"remote": {
"sign_no_required": true, // Optional digital signature — set to true to disable verification
"type": "dynamic_repo", // Update source type (Dynamic Repository)
"url": "https://adamcalculator.github.io/CursedEveryday/" // Remote repository URL
},
"formatVersion": 1 // Internal configuration format version
}
Next, create a dynamicmcpack.repo.json file like this:
{
"formatVersion": 1, // Internal schema version
"build": 10, // Build number of your current release
"name": "CursedEveryday", // Display name of your resource pack
"contents": [
{
// Metadata block (main information about pack components)
"url": "path/to/content.json",
"hash": "5e4d4ad1e9714487263c51f5f83c448c0708773a", // SHA1 checksum of content.json
"id": "meta",
"hidden": true, // Hides this component from user‑facing lists
"required": true // Marks this component as mandatory
},
{
// Example of an additional content section
"url": "path/to/content.json",
"hash": "6e6739297dac80078bbc4890567f05d4015553db",
"id": "cursed",
"name": "Cursed content" // Optional friendly display name
}
]
}
Next, create a separate content.json file for each content section:
{
"formatVersion": 1, // Schema version
"content": {
"parent": "path/to/parent", // Local folder containing the files
"remote_parent": "remote/path/to/parent", // Corresponding path in your Git repo
"files": {
"path/to/file": {
"hash": "ca55daeef2e2d84ccd64608cf889ac321c18d4c2", // SHA1 hash of file
"size": 4773 // File size in bytes
},
"path/to/file2": {
"hash": "336e9f4e6d7d1400d8a308a33e703e8b33ea5434",
"size": 54665
},
"path/to/file3": {
"hash": "09dae0777de1705e8acd0ff84c0bb6b7e3e22f63",
"size": 98592
}
}
}
}
⚠️ Important: These examples use
json5, which allows comments (//).
The actual files must be valid.json, so remove comments before use or validate them with this JSON checker.
Advanced features — such as dynamic repositories — are documented in the GitHub Wiki.
💖 Support the Project
DynamicPack is open‑source and completely free under the MIT License.
If you’d like to support the original author:
Bitcoin:
bc1qpc0q9ym7rnfatdh43c4jyf68znj8x2jae5j4cz
Every satoshi helps keep things dynamic (and maybe buys some extra coffee ☕).
| Version | Minecraft | Loader | Download |
|---|---|---|---|
|
1.2.3-b for neoforge 26.1.2 1.2.3-b.26.1-neoforge |
26.1, 26.1.1, 26.1.2
|
neoforge
|
Download |
|
1.2.3-b for neoforge 1.21.8 1.2.3-b.1.21.8-neoforge |
1.21.6, 1.21.7, 1.21.8
|
neoforge
|
Download |
|
1.2.3-b for fabric 26.1.2 1.2.3-b.26.1-fabric |
26.1, 26.1.1, 26.1.2
|
fabric
|
Download |
|
1.2.3-b for fabric 1.21.8 1.2.3-b.1.21.8-fabric |
1.21.6, 1.21.7, 1.21.8
|
fabric
|
Download |
|
1.2.3-b for neoforge 1.21.5 1.2.3-b.1.21.5-neoforge |
1.21.5
|
neoforge
|
Download |
|
1.2.3-b for fabric 1.21.5 1.2.3-b.1.21.5-fabric |
1.21.5
|
fabric
|
Download |
|
1.2.3-b for neoforge 1.21.4 1.2.3-b.1.21.4-neoforge |
1.21.4
|
neoforge
|
Download |
|
1.2.3-b for fabric 1.21.4 1.2.3-b.1.21.4-fabric |
1.21.4
|
fabric
|
Download |
|
1.2.3-b for neoforge 1.21.3 1.2.3-b.1.21.3-neoforge |
1.21.2, 1.21.3
|
neoforge
|
Download |
|
1.2.3-b for fabric 1.21.3 1.2.3-b.1.21.3-fabric |
1.21.2, 1.21.3
|
fabric
|
Download |
|
1.2.3-b for neoforge 1.21.11 1.2.3-b.1.21.11-neoforge |
1.21.11
|
neoforge
|
Download |
|
1.2.3-b for fabric 1.21.11 1.2.3-b.1.21.11-fabric |
1.21.11
|
fabric
|
Download |
|
1.2.3-b for neoforge 1.21.10 1.2.3-b.1.21.10-neoforge |
1.21.10, 1.21.9
|
neoforge
|
Download |
|
1.2.3-b for fabric 1.21.10 1.2.3-b.1.21.10-fabric |
1.21.10, 1.21.9
|
fabric
|
Download |
|
1.2.3-b for neoforge 1.21.1 1.2.3-b.1.21.1-neoforge |
1.21, 1.21.1
|
neoforge
|
Download |
|
1.2.3-b for fabric 1.21.1 1.2.3-b.1.21.1-fabric |
1.21, 1.21.1
|
fabric
|
Download |
|
1.2.3-b for forge 1.20.1 1.2.3-b.1.20.1-forge |
1.20, 1.20.1
|
forge
|
Download |
|
1.2.3-b for fabric 1.20.1 1.2.3-b.1.20.1-fabric |
1.20, 1.20.1
|
fabric
|
Download |
|
1.2.2-b for fabric 1.21.8 1.2.2-b.1.21.8-fabric |
1.21.6, 1.21.7, 1.21.8
|
fabric
|
Download |
|
1.2.2-b for neoforge 1.21.8 1.2.2-b.1.21.8-neoforge |
1.21.6, 1.21.7, 1.21.8
|
neoforge
|
Download |
|
1.2.2-b for neoforge 1.21.5 1.2.2-b.1.21.5-neoforge |
1.21.5
|
neoforge
|
Download |
|
1.2.2-b for fabric 1.21.5 1.2.2-b.1.21.5-fabric |
1.21.5
|
fabric
|
Download |
|
1.2.2-b for neoforge 1.21.4 1.2.2-b.1.21.4-neoforge |
1.21.4
|
neoforge
|
Download |
|
1.2.2-b for fabric 1.21.4 1.2.2-b.1.21.4-fabric |
1.21.4
|
fabric
|
Download |
|
1.2.2-b for neoforge 1.21.3 1.2.2-b.1.21.3-neoforge |
1.21.2, 1.21.3
|
neoforge
|
Download |
|
1.2.2-b for fabric 1.21.3 1.2.2-b.1.21.3-fabric |
1.21.2, 1.21.3
|
fabric
|
Download |
|
1.2.2-b for neoforge 1.21.11 1.2.2-b.1.21.11-neoforge |
1.21.11
|
neoforge
|
Download |
|
1.2.2-b for fabric 1.21.11 1.2.2-b.1.21.11-fabric |
1.21.11
|
fabric
|
Download |
|
1.2.2-b for neoforge 1.21.10 1.2.2-b.1.21.10-neoforge |
1.21.10, 1.21.9
|
neoforge
|
Download |
|
1.2.2-b for fabric 1.21.10 1.2.2-b.1.21.10-fabric |
1.21.10, 1.21.9
|
fabric
|
Download |
|
1.2.2-b for neoforge 1.21.1 1.2.2-b.1.21.1-neoforge |
1.21, 1.21.1
|
neoforge
|
Download |
|
1.2.2-b for fabric 1.21.1 1.2.2-b.1.21.1-fabric |
1.21, 1.21.1
|
fabric
|
Download |
|
1.2.2-b for forge 1.20.1 1.2.2-b.1.20.1-forge |
1.20, 1.20.1
|
forge
|
Download |
|
1.2.2-b for fabric 1.20.1 1.2.2-b.1.20.1-fabric |
1.20, 1.20.1
|
fabric
|
Download |
|
1.2.1-b for neoforge 1.21.8 1.2.1-b.1.21.8-neoforge |
1.21.6, 1.21.7, 1.21.8
|
neoforge
|
Download |
|
1.2.1-b for fabric 1.21.8 1.2.1-b.1.21.8-fabric |
1.21.6, 1.21.7, 1.21.8
|
fabric
|
Download |
|
1.2.1-b for neoforge 1.21.5 1.2.1-b.1.21.5-neoforge |
1.21.5
|
neoforge
|
Download |
|
1.2.1-b for fabric 1.21.5 1.2.1-b.1.21.5-fabric |
1.21.5
|
fabric
|
Download |
|
1.2.1-b for neoforge 1.21.4 1.2.1-b.1.21.4-neoforge |
1.21.4
|
neoforge
|
Download |
|
1.2.1-b for fabric 1.21.4 1.2.1-b.1.21.4-fabric |
1.21.4
|
fabric
|
Download |
|
1.2.1-b for neoforge 1.21.3 1.2.1-b.1.21.3-neoforge |
1.21.2, 1.21.3
|
neoforge
|
Download |
|
1.2.1-b for fabric 1.21.3 1.2.1-b.1.21.3-fabric |
1.21.2, 1.21.3
|
fabric
|
Download |
|
1.2.1-b for neoforge 1.21.10 1.2.1-b.1.21.10-neoforge |
1.21.10, 1.21.9
|
neoforge
|
Download |
|
1.2.1-b for fabric 1.21.10 1.2.1-b.1.21.10-fabric |
1.21.10, 1.21.9
|
fabric
|
Download |
|
1.2.1-b for neoforge 1.21.1 1.2.1-b.1.21.1-neoforge |
1.21, 1.21.1
|
neoforge
|
Download |
|
1.2.1-b for fabric 1.21.1 1.2.1-b.1.21.1-fabric |
1.21, 1.21.1
|
fabric
|
Download |
|
1.2.1-b for fabric 1.20.1 1.2.1-b.1.20.1-fabric |
1.20, 1.20.1
|
fabric
|
Download |
|
1.2-b for neoforge 1.21.8 1.2-b.1.21.8-neoforge |
1.21.6, 1.21.7, 1.21.8
|
neoforge
|
Download |
|
1.2-b for fabric 1.21.8 1.2-b.1.21.8-fabric |
1.21.6, 1.21.7, 1.21.8
|
fabric
|
Download |
|
1.2-b for neoforge 1.21.5 1.2-b.1.21.5-neoforge |
1.21.5
|
neoforge
|
Download |
|
1.2-b for fabric 1.21.5 1.2-b.1.21.5-fabric |
1.21.5
|
fabric
|
Download |
|
1.2-b for neoforge 1.21.4 1.2-b.1.21.4-neoforge |
1.21.4
|
neoforge
|
Download |
|
1.2-b for fabric 1.21.4 1.2-b.1.21.4-fabric |
1.21.4
|
fabric
|
Download |
|
1.2-b for neoforge 1.21.3 1.2-b.1.21.3-neoforge |
1.21.2, 1.21.3
|
neoforge
|
Download |
|
1.2-b for fabric 1.21.3 1.2-b.1.21.3-fabric |
1.21.2, 1.21.3
|
fabric
|
Download |
|
1.2-b for neoforge 1.21.1 1.2-b.1.21.1-neoforge |
1.21, 1.21.1
|
neoforge
|
Download |
|
1.2-b for fabric 1.21.1 1.2-b.1.21.1-fabric |
1.21, 1.21.1
|
fabric
|
Download |
|
1.2-b for fabric 1.20.1 1.2-b.1.20.1-fabric |
1.20, 1.20.1
|
fabric
|
Download |
|
DynamicPack 1.1-DEV-2d30280+1.21.4 1.1+1.21.4+fabric |
1.21.4
|
fabric
|
Download |
|
DynamicPack 1.1-DEV-055a262+1.21.2 1.1+1.21.2+fabric |
1.21.2, 1.21.3
|
fabric
|
Download |
|
DynamicPack 1.1+1.21 1.1+1.21+fabric |
1.21, 1.21.1
|
fabric
|
Download |
|
DynamicPack 1.1+1.20.4 1.1+1.20.4+fabric |
1.20.4, 1.20.5, 1.20.6
|
fabric
|
Download |
|
DynamicPack 1.1+1.20.1 1.1+1.20.1+fabric |
1.20.1
|
fabric
|
Download |
|
DynamicPack 1.0.30 1.0.30+1.20.4+fabric |
1.20.4
|
fabric
|
Download |
|
DynamicPack 1.0.30 1.0.30+1.20.2+fabric |
1.20.2
|
fabric
|
Download |
|
DynamicPack 1.0.30 1.0.30+1.20+fabric |
1.20, 1.20.1
|
fabric
|
Download |
|
DynamicPack 1.0.30 1.0.30+1.19.4+fabric |
1.19.4
|
fabric
|
Download |
|
DynamicPack 1.0.30 1.0.30+1.18.2+fabric |
1.18.2
|
fabric
|
Download |
|
DynamicPack 1.0.30 1.0.30+1.17.1+fabric |
1.17.1
|
fabric
|
Download |
|
DynamicPack Forge 1.0.18 1.0.18+1.20.4+forge |
1.20.4
|
forge
|
Download |
|
DynamicPack Fabric 1.0.18+1.20.4 1.0.18+1.20.4+fabric |
1.20.4
|
fabric
|
Download |
|
DynamicPack Forge 1.0.18 1.0.18+1.20.2+forge |
1.20.2
|
forge
|
Download |
|
DynamicPack Fabric 1.0.18+1.20.2 1.0.18+1.20.2+fabric |
1.20.2
|
fabric
|
Download |
|
DynamicPack Forge 1.0.18 1.0.18+1.20+forge |
1.20, 1.20.1
|
forge
|
Download |
|
DynamicPack Fabric 1.0.18+1.20 1.0.18+1.20+fabric |
1.20, 1.20.1
|
fabric
|
Download |
|
DynamicPack Forge 1.0.18 1.0.18+1.19.4+forge |
1.19, 1.19.1, 1.19.2, 1.19.3, 1.19.4
|
forge
|
Download |
|
DynamicPack Fabric 1.0.18+1.19.4 1.0.18+1.19.4+fabric |
1.19.4
|
fabric
|
Download |
|
DynamicPack Forge 1.0.18 1.0.18+1.18.2+forge |
1.18, 1.18.1, 1.18.2
|
forge
|
Download |
|
DynamicPack Fabric 1.0.18+1.18.2 1.0.18+1.18.2+fabric |
1.18.2
|
fabric
|
Download |
|
DynamicPack Forge 1.0.18 1.0.18+1.17.1+foge |
1.17, 1.17.1
|
forge
|
Download |
|
DynamicPack Fabric 1.0.18+1.17.1 1.0.18+1.17.1+fabric |
1.17.1
|
fabric
|
Download |
|
DynamicPack 1.0.15-mc1.20.1 1.0.15-mc1.20.1 |
1.20.1
|
fabric
|
Download |
|
DynamicPack 1.0.15-mc1.19.4 1.0.15-mc1.19.4 |
1.19.4
|
fabric
|
Download |
|
DynamicPack 1.0.14-mc1.20.1 1.0.14-mc1.20.1 |
1.20.1
|
fabric
|
Download |
|
DynamicPack 1.0.14-mc1.19.4 1.0.14-mc1.19.4 |
1.19.4
|
fabric
|
Download |
|
DynamicPack 1.0.13-mc1.20.1 1.0.13-mc1.20.1 |
1.20.1
|
fabric
|
Download |
|
DynamicPack 1.0.13-mc1.19.4 1.0.13-mc1.19.4 |
1.19.4
|
fabric
|
Download |
|
DynamicPack 1.0.12-mc1.20.1 1.0.12-mc1.20.1 |
1.20.1
|
fabric
|
Download |
|
DynamicPack 1.0.9-mc1.20.1 1.0.9-mc1.20.1 |
1.20.1
|
fabric
|
Download |
|
DynamicPack 1.0.9-mc1.19.4 1.0.9-mc1.19.4 |
1.19.4
|
fabric
|
Download |
|
DynamicPack 1.0.8-mc1.20.1 1.0.8-mc1.20.1 |
1.20.1
|
fabric
|
Download |
|
DynamicPack 1.0.8-mc1.19.4 1.0.8-mc1.19.4 |
1.19.4
|
fabric
|
Download |
|
DynamicPack 1.0.7-mc1.20.1 1.0.7-mc1.20.1 |
1.20.1
|
fabric
|
Download |
|
DynamicPack 1.0.7-mc1.19.4 1.0.7-mc1.19.4 |
1.19.4
|
fabric
|
Download |
|
DynamicPack 1.0.6-mc1.20.1 1.0.6-mc1.20.1 |
1.20.1
|
fabric
|
Download |
|
DynamicPack 1.0.6-mc1.19.4 1.0.6-mc1.19.4 |
1.19.4
|
fabric
|
Download |
|
DynamicPack 1.0.5-mc1.20.1 1.0.5-mc1.20.1 |
1.20.1
|
fabric
|
Download |
|
DynamicPack 1.0.5-mc1.19.4 1.0.5-mc1.19.4 |
1.19.4
|
fabric
|
Download |