Features:
- JSON based configuration file format brought to Minecraft
- 100% backwards compatible with JSON including its tools and syntax highlighting
- Property values wrapped in a JSON object so metadata can be attached to them
- The reserved // key holds comments as a single string or as an array of strings for multiple lines
- Comments and decorators never influence how the file is parsed
- Decorators are named comments that describe an attribute of a property
- The //default decorator shows the default value of a property
- The //range decorator states the acceptable range for a value
- The //regex decorator defines a pattern the value must match
- The //reference and //empty-allowed decorators add further context and empty value rules
- Fabric support for Minecraft 1.21.1
- Made by Darkhax
Prickle is a configuration file format built on top of JSON and made usable inside Minecraft. It stays completely backwards compatible, so every JSON parser, editor and syntax highlighter keeps working on a Prickle file, while adding the two things plain JSON config files always lacked: comments and a clear place for default values. Since the game already uses JSON for datapacks and commands, the syntax is familiar to most players from the start.
The mechanism is simple. Each property value is wrapped in a small JSON object, which leaves room for metadata alongside the value itself. The reserved // key carries a comment, either as one string or as an array of strings for a multiline note, and those comments exist purely to explain the setting to whoever is reading the file. They never change how the value is parsed.
Decorators take that idea further. They are named comments that describe an attribute of a property: //default records the default value, //range gives the acceptable range, //regex sets a pattern the value has to match, //empty-allowed states whether the value may be left blank and //reference points to a resource with more information. Prickle itself is a small library mod for Fabric on Minecraft 1.21.1 that brings the format to the game.