Skip to content

Instantly share code, notes, and snippets.

@lowercasebtw
Last active November 7, 2024 20:51
Show Gist options
  • Select an option

  • Save lowercasebtw/031e29698f810172f8198aa259d70a04 to your computer and use it in GitHub Desktop.

Select an option

Save lowercasebtw/031e29698f810172f8198aa259d70a04 to your computer and use it in GitHub Desktop.
24w45a Item Model Branch Definition Json Schema
{
"$schema": "https://json-schema.org/draft/2020-12/schema",
"title": "Minecraft Item Model Defenition",
"description": "The item model defenition schema for minecraft since 24w45a",
"type": "object",
"properties": {
"model": {
"$ref": "#/$defs/model"
}
},
"required": [
"model"
],
"$defs": {
"type": {
"type": "string",
"description": "The type of model defenition",
"examples": [
"minecraft:condition",
"minecraft:model",
"minecraft:special",
"minecraft:composite",
"minecraft:select",
"minecraft:range_dispatch",
"minecraft:bundle/selected_item",
"condition",
"model",
"special",
"composite",
"select",
"range_dispatch",
"bundle/selected_item"
]
},
"model": {
"type": "object",
"description": "The root model data",
"properties": {
"type": {
"$ref": "#/$defs/type"
},
"tints": {
"type": "array",
"items": {
"type": "object",
"properties": {
"type": {
"type": "string",
"enum": [
"minecraft:constant",
"minecraft:dye",
"minecraft:grass",
"minecraft:firework",
"minecraft:potion",
"minecraft:map_color",
"minecraft:custom_model_data"
]
},
"value": {
"type": "integer"
},
"default": {
"type": "integer"
},
"tempature": {
"type": "integer"
},
"downfall": {
"type": "integer"
},
"index": {
"type": "integer"
}
}
}
},
"base": {
"type": "string"
},
"texture": {
"type": "string"
},
"color": {
"type": [
"string",
"integer"
],
"anyOf": [
{
"type": "string",
"enum": [
"white",
"light_gray",
"gray",
"black",
"brown",
"red",
"orange",
"yellow",
"lime",
"green",
"cyan",
"aqua",
"blue",
"purple",
"magenta",
"pink"
]
},
{
"type": "integer"
}
]
},
"openness": {
"type": "number",
"minimum": 0,
"maximum": 1
},
"orientation": {
"type": "string",
"enum": [
"up",
"down",
"left",
"right"
]
},
"models": {
"type": "array",
"items": {
"type": "object",
"properties": {
"type": {
"$ref": "#/$defs/type"
},
"model": {
"type": "string"
}
}
}
},
"property": {
"type": "string",
"enum": [
"minecraft:using_item",
"minecraft:broken",
"minecraft:damaged",
"minecraft:has_component",
"minecraft:fishing_rod/cast",
"minecraft:bundle/has_selected_item",
"minecraft:xmas",
"minecraft:selected",
"minecraft:carried",
"minecraft:shift_down",
"minecraft:custom_model_data",
"minecraft:bundle/fullness",
"minecraft:main_hand",
"minecraft:charge_type",
"minecraft:trim_material",
"minecraft:block_state",
"minecraft:display_context",
"minecraft:crossbow/pull",
"using_item",
"broken",
"damaged",
"has_component",
"fishing_rod/cast",
"bundle/has_selected_item",
"xmas",
"selected",
"carried",
"shift_down",
"custom_model_data",
"bundle/fullness",
"main_hand",
"charge_type",
"trim_material",
"block_state",
"display_context",
"crossbow/pull"
]
},
"on_true": {
"$ref": "#/$defs/model"
},
"on_false": {
"$ref": "#/$defs/model"
},
"component": {
"type": "string",
"enum": [
"minecraft:attribute_modifiers",
"minecraft:banner_patterns",
"minecraft:base_color",
"minecraft:bees",
"minecraft:block_entity_data",
"minecraft:block_state",
"minecraft:bucket_entity_data",
"minecraft:bundle_contents",
"minecraft:can_break",
"minecraft:can_place_on",
"minecraft:charged_projectiles",
"minecraft:consumable",
"minecraft:container",
"minecraft:container_loot",
"minecraft:custom_data",
"minecraft:custom_model_data",
"minecraft:custom_name",
"minecraft:damage",
"minecraft:damage_resistant",
"minecraft:debug_stick_state",
"minecraft:death_protection",
"minecraft:dyed_color",
"minecraft:enchantable",
"minecraft:enchantments",
"minecraft:entity_data",
"minecraft:equippable",
"minecraft:firework_explosion",
"minecraft:fireworks",
"minecraft:food",
"minecraft:glider",
"minecraft:hide_additional_tooltip",
"minecraft:hide_tooltip",
"minecraft:instrument",
"minecraft:intangible_projectile",
"minecraft:item_model",
"minecraft:item_name",
"minecraft:jukebox_playable",
"minecraft:lock",
"minecraft:lodestone_tracker",
"minecraft:lore",
"minecraft:map_color",
"minecraft:map_decorations",
"minecraft:map_id",
"minecraft:max_damage",
"minecraft:max_stack_size",
"minecraft:note_block_sound",
"minecraft:ominous_bottle_amplifier",
"minecraft:pot_decorations",
"minecraft:potion_contents",
"minecraft:profile",
"minecraft:rarity",
"minecraft:recipes",
"minecraft:repairable",
"minecraft:repair_cost",
"minecraft:stored_enchantments",
"minecraft:suspicious_stew_effects",
"minecraft:tool",
"minecraft:tooltip_style",
"minecraft:trim",
"minecraft:unbreakable",
"minecraft:use_cooldown",
"minecraft:use_remainder",
"minecraft:writable_book_content",
"minecraft:written_book_content",
"attribute_modifiers",
"banner_patterns",
"base_color",
"bees",
"block_entity_data",
"block_state",
"bucket_entity_data",
"bundle_contents",
"can_break",
"can_place_on",
"charged_projectiles",
"consumable",
"container",
"container_loot",
"custom_data",
"custom_model_data",
"custom_name",
"damage",
"damage_resistant",
"debug_stick_state",
"death_protection",
"dyed_color",
"enchantable",
"enchantments",
"entity_data",
"equippable",
"firework_explosion",
"fireworks",
"food",
"glider",
"hide_additional_tooltip",
"hide_tooltip",
"instrument",
"intangible_projectile",
"item_model",
"item_name",
"jukebox_playable",
"lock",
"lodestone_tracker",
"lore",
"map_color",
"map_decorations",
"map_id",
"max_damage",
"max_stack_size",
"note_block_sound",
"ominous_bottle_amplifier",
"pot_decorations",
"potion_contents",
"profile",
"rarity",
"recipes",
"repairable",
"repair_cost",
"stored_enchantments",
"suspicious_stew_effects",
"tool",
"tooltip_style",
"trim",
"unbreakable",
"use_cooldown",
"use_remainder",
"writable_book_content",
"written_book_content"
]
},
"index": {
"type": "integer"
},
"block_state_property": {
"type": "string",
"enum": [
"facing",
"waterlogged",
"age",
"leaves",
"stage",
"rotation",
"open",
"axis",
"occupied",
"part",
"honey_level",
"attachment",
"powered",
"tilt",
"lit",
"has_bottle_0",
"has_bottle_1",
"has_bottle_2",
"drag",
"face",
"bites",
"signal_fire",
"candles",
"level",
"berries",
"type",
"slot_0_occupied",
"slot_1_occupied",
"slot_2_occupied",
"slot_3_occupied",
"slot_4_occupied",
"slot_5_occupied",
"down",
"up",
"east",
"north",
"south",
"west",
"direction",
"torch_facing_direction",
"conditional",
"crafting",
"orientation",
"triggered",
"creaking",
"active",
"natural",
"inverted",
"power",
"cracked",
"half",
"hinge",
"eye",
"moisture",
"in_wall",
"snowy",
"enabled",
"has_record",
"hanging",
"instrument",
"note",
"flower_amount",
"extended",
"type",
"short",
"thickness",
"vertical_direction",
"shape",
"mode",
"delay",
"locked",
"charges",
"distance",
"bloom",
"sculk_sensor_phase",
"can_summon",
"shrieking",
"pickles",
"hatch",
"layers",
"dusted",
"unstable",
"ominous",
"trial_spawner_state",
"attached",
"disarmed",
"eggs",
"vault_state",
"falling"
]
},
"cases": {
"type": "array",
"items": {
"type": "object",
"properties": {
"type": {
"$ref": "#/$defs/type"
},
"model": {
"$ref": "#/$defs/model"
},
"models": {
"type": "array",
"items": {
"$ref": "#/$defs/model"
}
},
"when": {
"type": [
"string",
"array"
],
"enum": [
"none",
"thirdperson_lefthand",
"thirdperson_righthand",
"firstperson_lefthand",
"firstperson_righthand",
"head",
"gui",
"ground",
"fixed",
"minecraft:using_item",
"minecraft:broken",
"minecraft:damaged",
"minecraft:has_component",
"minecraft:fishing_rod/cast",
"minecraft:bundle/has_selected_item",
"minecraft:xmas",
"minecraft:selected",
"minecraft:carried",
"minecraft:shift_down",
"minecraft:custom_model_data",
"using_item",
"broken",
"damaged",
"has_component",
"fishing_rod/cast",
"bundle/has_selected_item",
"xmas",
"selected",
"carried",
"shift_down",
"custom_model_data",
"true",
"false",
"arrow",
"rocket",
"0",
"1",
"2",
"3",
"4",
"5",
"6",
"7",
"8",
"9"
]
}
},
"required": [
"when"
]
}
},
"entries": {
"type": "array",
"items": {
"type": "object",
"properties": {
"model": {
"$ref": "#/$defs/model"
},
"threshold": {
"type": "number"
}
}
}
},
"model": {
"type": [
"string",
"object"
],
"anyOf": [
{
"type": "string"
},
{
"type": "object",
"$ref": "#/$defs/model"
}
]
},
"fallback": {
"$ref": "#/$defs/model"
}
},
"required": [
"type"
]
}
}
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment