The JSON Templating Engine (abbreviated as jsonte) is a streamlined templating engine specifically designed for JSON. It is optimized for use in Minecraft Bedrock addons, which frequently demand extensive JSON that can often be conveniently generated using a modest amount of scripting. Notably, jsonte incorporates its own query language.
With regolith:
regolith install jsonteFrom source (requires Go v1.18 or later):
go install github.com/MCDevKit/jsonte@latest# Clone the repository
git clone https://github.com/MCDevKit/jsonte
cd jsonte
# Install dependencies
go mod vendor
cd scripts
# Setup ANTLR
./setup_env.ps1
# Compile grammar
./compile_antlr.ps1
# Go back to the root directory
cd ..go build github.com/MCDevKit/jsontego test ./...Testing without network access:
go test -tags=quick ./...go test ./bench -bench . -benchmemThe command above executes the benchmark suite located in bench/bench_test.go. Adjust
flags such as -count, -benchtime, or a narrower -bench expression to focus on specific scenarios.
Useful subsets:
- Array primitives:
go test ./bench -bench Array -benchmem - JSON processing pipeline:
go test ./bench -bench JSON -benchmem
Before any modifications to grammar/JsonTemplate.g4 can be made,
they must be compiled using the scripts/compile_antlr.ps1 script.
Due to an existing problem with the parser generation in Go,
you will need to manually add each new rule to the visit method
found in the jsonte/expression_visitor.go file.