Skip to content

Navigation Menu

Sign in
Appearance settings

Search code, repositories, users, issues, pull requests...

Provide feedback

We read every piece of feedback, and take your input very seriously.

Saved searches

Use saved searches to filter your results more quickly

Sign up
Appearance settings

CalculatorsTeam/DynamicPack

Repository files navigation

🌍 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 ☕).

AltStyle によって変換されたページ (->オリジナル) /