shard.json
shard.json defines an Amethyst shard.
{
"name": "example",
"description": "A project made with Amethyst",
"version": "1.0.0",
"pack_format": "107.1",
"dependencies": {
"minecraft": "26.2"
},
"source": "src",
"data": "data"
}
Shard Info
name: Name of the shard. Only lowercase alphanumeric characters,:,/,-, and_are allowed for this field.description: Description of the shard. Included inpack.mcmeta.version: Shard version. Follows a simplified semver format that supports Minecraft's versions. Note that due to a quirk with Minecraft versions, versions likex.y.0may be truncated tox.y. This may change in the future.pack_format: Target pack format. Does not support format ranges. Multipleshard.jsonfiles can be used to compile for different pack formats.
Dependencies
Shards can have dependencies defined in their dependencies section. There are two ways to define a dependency:
{
"minecraft": "26.2",
"library": {
"type": "dynamic",
"version": "1.0.0"
}
}
All dependencies are statically linked by default, but each entry can opt-out.
There are currently two dependency sources: packages and local files. If the version field (or the version in the compact entry) starts with file:, Amethyst will search for a data pack at the given path. Otherwise, the package manager installs the corresponding remote version.
Depending on local shard projects is planned but not implemented. See #168 for progress on this issue.
tip
See Linking for more information on how dependencies are consumed.
Paths
source: Source directory with.amefiles. Defaults tosrc.data: Additional data directory. Defaults todata.