Json Validation

September 29, 2025 ยท View on GitHub

Json validation is applied to a specific filename or when it is placed in the appropriate folder. If * is present in the When is it applied, then it means that any amount of random character can be placed there. Version specific json validation is automatically applied. All elements should have received a description and title. If none are present. Then that version hasn't been supported yet. You can request one as an issue. If a json validation is missing, then post an issue. And one will be made in the future unless a good reason why not has been given.

General

SchemaWhen is it applied
ManifestIf the file is named: manifest.json
LanguagesIf the file is named: languages.json
Language_namesIf the file is named: language_names.json

World

SchemaWhen is it applied
World_behavior_packsIf the file is named: world_behavior_packs.json
World_resource_packsIf the file is named: world_resource_packs.json

Resource packs

For best results, name your folder with the letters RP/rp in them. If the resourcepack is inside the resource_packs folder inside the world folder it will be identified as well.

SchemaWhen is it applied
Animation controllersMust be inside an identifiable resource pack. Must be located in the folder: animation_controllers or sub-folder thereof.
AnimationsMust be inside an identifiable resource pack. Must be located in the folder: animations or sub-folder thereof.
AttachablesMust be located in the folder; attachables or sub-folder thereof.
Biomes clientIf the file is named: biomes_client.json
BlocksIf the file is named: blocks.json
EntityMust be located in the folder: entity or sub-folder thereof. Or the filename endswith: .entity.rp.json
Entity modelsCan be one of the following:
Must be inside an identifiable resource pack. Must be located in the folder: models/entity or sub-folder thereof.
The filename ends either with: .geo.json OR .geometry.json
Flipbook texturesIf the file is named: flipbook_textures.json
FogMust be located in the folder: fogs or sub-folder thereof.
Item textureIf the file is named: item_texture.json
ItemsMust be inside an identifiable resource pack. Must be located in the folder: items or sub-folder thereof. Or the filename endswith: .item.rp.json
MaterialsMust be located in the folder: material or sub-folder thereof. And needs the extension .material.
Music definitionsIf the file is named: music_definitions.json
ParticlesCan be one of the following:
Must be inside an identifiable resource pack. Must be located in the folder: particles or sub-folder thereof.
The filename ends either with: .particle.json
Render controllersMust be located in the folder: render_controller or sub-folder thereof. Or the filename endswith: .render.json
Sound definitionsIf the file is named: sound_definitions.json
SoundsIf the file is named: sounds.json
Terrain textureIf the file is named: terrain_texture.json
Terrain listIf the file is named: texture_list.json

Behavior packs

For best results, name your folder with the letters BP/bp in them. If the behavior pack is inside the behavior_packs folder inside the world folder it will be identified as well.

SchemaWhen is it applied
Animation controllersMust be inside an identifiable resource pack. Must be located in the folder: animation_controllers or sub-folder thereof.
AnimationsMust be inside an identifiable resource pack. Must be located in the folder: animations or sub-folder thereof.
BiomesMust be inside an identifiable resource pack. Must be located in the folder: biomes or sub-folder thereof.
BlocksMust be inside an identifiable resource pack. Must be located in the folder: blocks or sub-folder thereof.
Entity behaviorsMust be inside an identifiable resource pack. Must be located in the folder: entities or sub-folder thereof. Or the filename endswith: .entity.bp.json
Item behaviorsMust be inside an identifiable resource pack. Must be located in the folder: items or sub-folder thereof. Or the filename endswith: .item.bp.json
Loot tablesMust be inside an identifiable resource pack. Must be located in the folder: loot_tables or sub-folder thereof.
RecipesMust be located in the folder: recipes or sub-folder thereof. Or the filename endswith: .recipe.json
Spawn rulesMust be located in the folder: spawn_rules or sub-folder thereof. Or the filename endswith: .spawn.json
TradingCan be one of the following:
Must be inside an identifiable resource pack. Must be located in the folder: trading or sub-folder thereof.
The filename ends either with: .trade.json
VolumeCan be one of the following:
Must be inside an identifiable resource pack. Must be located in the folder: volumes or sub-folder thereof.
The filename ends either with: .volume.json

Skinpacks

SchemaWhen is it applied
SkinsOne files named skins.json that are inside a folder called skin_pack