Back to mods
DynamicPack project artwork

Modrinth · Minecraft mod

DynamicPack

This mod will automatically update your resource packs!

Choose a version Pick your version below, then grab the matching file.

Quick answer

Which DynamicPack release should I use?

Updated 3 months ago
Latest stable file 1.1+1.21+fabric
Game version 1.21, 1.21.1
Loader Fabric

DynamicPack 1.1+1.21+fabric targets 1.21, 1.21.1 with Fabric. It must be installed on the client. Do not install it on the dedicated server. All 2 required mods have matching files.

Where it goes

Is DynamicPack required on the client, server, or both?

It must be installed on the client. Do not install it on the dedicated server.

Client Required
Dedicated server Not supported
Loader for this release Fabric
Required install it here Optional supported, not mandatory Not supported do not install here Source doesn’t say do not assume

This file is marked client-only.

What else does DynamicPack 1.1+1.21+fabric need?

1.1+1.21+fabric. Change the file and its required mods may change too.

All 2 required mods have matching files

Install YetAnotherConfigLib (YACL), Fabric API first. We found matching files for this game-version and loader setup.

Fabric API Needed by DynamicPack 1.1+1.21+fabric
required
Matching file found Matched file: 0.116.15+1.21.1

We only count dependency files that match this setup. A file for another loader does not fill the gap.

Before you install it

Add DynamicPack without breaking your instance.

Built for DynamicPack 1.1+1.21+fabric. Pick another file and the loader, install side or required mods may change.

  1. 01

    Stick to this file

    Use 1.1+1.21+fabric. It targets 1.21, 1.21.1 with Fabric; another release may have different loader, side or dependency requirements.

  2. 02

    Bring the mods it needs

    Install YetAnotherConfigLib (YACL), Fabric API first. We found matching files for this game-version and loader setup.

  3. 03

    Put it on the correct side

    It must be installed on the client. Do not install it on the dedicated server.

  4. 04

    Pick the file you checked

    Use the “Get this file” button beside 1.1+1.21+fabric. It opens that exact file at the source.

About this project

What does DynamicPack add?

🌍 DynamicPack

A lightweight mod that monitors your resource pack version and updates it automatically.

Environment: Client GitHub Repository Build Status

DynamicPack Banner Fabric downloads NeoForge downloads


📖 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:


⚙️ 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 ☕).

Project description from Modrinth.

Pick your setup

DynamicPack by Minecraft version and loader

Choose the version and loader you play, then open the matching release.

53 available setups

Showing the newest 12 of 31 game versions. Older files are in the list below.

Check the dependencies, then try the file in a copied instance before changing a world you care about.

Recent files

DynamicPack versions and loaders

98 of 98 releases match

Looking for an older file? The official Modrinth project page is in Resources.