Codec2Schema
No reviews yet
A tool to convert codecs to JSON schemas.
Provides a framework or library for other mods to use.
Fabric is a mod loader for versions 1.14+ of Minecraft, particularly popular for client side and optimization mods.
Community voices
Reviews
Click once to include, again to exclude, again to clear
No reviews yet. Be the first to review this project!
Get it on
Available Platforms
Compatibility
Supported Environments
About
Project Details
For authors
Embed Badge
If you're the author of this project, you can embed a live badge anywhere that supports HTML or Markdown. It updates automatically whenever ratings change.
Use HTML for any page that supports it, or Markdown for README files and Markdown-based descriptions.
Identifiers
Platform IDs
About
Description
Codec2Schema
Through the power of mixins, sheer will, and unchecked type casts, this mod transforms codecs into (mostly) usable JSON schemas.
What is a Codec?
Codecs are Mojang's way of easily serializing data to and from JSON. They define the structure of an object, meaning JSON schemas can be generated from them.
What is a JSON Schema?
A JSON schema is a file that describes how JSON files should be structured, and can be used by IDEs to provide autocomplete when creating or editing JSON files.
About This Mod
When installed, this mod exports JSON schemas for data and resource pack files to <YOUR GAME DIRECTORY>/codec2schema. You can use the API to export your own codecs as well!
The generated JSON schemas will have autocomplete for registries (items, blocks, etc), including modded content.
This mod is not perfect: there are many edge cases that aren't or can't be accounted for.
Example
The following is the generated JSON schema for regional compliancies warnings:
{
"$schema": "https://json-schema.org/draft-07/schema",
"$ref": "#/definitions/def",
"definitions": {
"def": {
"type": "object",
"propertyNames": {
"type": "string"
},
"additionalProperties": {
"type": "array",
"items": {
"$ref": "#/definitions/def_1"
}
}
},
"def_1": {
"type": "object",
"properties": {
"delay": {
"type": "integer",
"minimum": -9223372036854775808,
"maximum": 9223372036854775807,
"default": 0
},
"period": {
"type": "integer",
"minimum": -9223372036854775808,
"maximum": 9223372036854775807
},
"title": {
"type": "string"
},
"message": {
"type": "string"
}
},
"required": [
"period",
"title",
"message"
]
}
}
}
It's not perfect, but it's good enough.
Screenshots
Gallery
Versions
Files
Relations
Project Relations
More like this
Similar Mods
Suggestions use data such as tags, dependencies, dependents, descriptions, titles, and more to rank how much they overlap with this mod.
On ModDex
Community snapshot
By the numbers
Statistics
Want to reach Minecraft players?
We're looking for a server hosting partner to feature here and other parts of the site. Interested? Send us a message!
Get in touchGet it on
Available Platforms
On ModDex
Community snapshot
By the numbers