A Minecraft Datapack Package/Library manager.
npm install @bigstonedevelopment/dpm

Datapack Package Manager (DPM) is a command line utility which manages datapack libraries/packages.
npm i -g @bigstonedevelopment/dpm
dpm install @user/repo - Install packagedpm uninstall @user/repo - Uninstall packagedpm dev - Build package with hotreloaddpm build - Build packagedpm package - Create packageFor DPM to store metadata for building and which packages it needs, you need to create dpm.json in the same folder as /data.
``json
{
"name": "Folder Name",
"licensePath": "./LICENSE.txt", / This is put in /Folder Name/LICENSES.txt /
"datapackPath": "./src",
"buildPath": "./build",
"load": [
"namespace:load"
],
"tick": [
"namespace:tick"
],
"dependencies": [ / dpm install will automatically add packages to this /
"@user/repo",
"@user/repo/branch",
]
}
`
For DPM to reconise your repo as a package you need a dpm-package.json file at the root ( / ) of your repo.
`json
{
"name": "Example Package",
"description": "A example DPM package for a README!",
"author": "BigstoneDevelopment",
"licensePath": "./LICENSE.txt",
"supportedVersions": "10-27",
"base": "./datapack",
"overlays": {
"<10": "./overlays/legacy",
"10-15": "./overlays/1.16",
"26": "./overlays/1.21",
">=27": "./overlays/future"
},
"load": [
"namespace:load"
],
"tick": [
"namespace:tick"
]
}
``
- [ ] Package Version Support (Branches and Releases)
- [ ] Beet and Bolt Support
- [ ] TUI for manging packages
- [ ] Packages requiring other packages
- [ ] Overlays from different branches
All contributions are welcome and if you join our Discord you can get the contributor role!
