[{"data":1,"prerenderedAt":516},["ShallowReactive",2],{"data":3,"\u002Fwiki\u002Fdocs\u002Fproperty":113},[4,9,14,19,24,29,34,39,44,49,54,59,64,68,73,78,83,88,93,98,103,108],{"title":5,"path":6,"description":7,"id":8},"FAQ","\u002Fblockbench\u002Ffaq","Frequently Asked Questions about Blockbench","content\u002Fblockbench\u002Ffaq.md",{"title":10,"path":11,"description":12,"id":13},"Formats","\u002Fblockbench\u002Fformats","formats","content\u002Fblockbench\u002Fformats.md",{"title":15,"path":16,"description":17,"id":18},"Legacy Versions","\u002Fblockbench\u002Flegacy-versions","Blockbench version history and changelogs prior to switching to Github Releases","content\u002Fblockbench\u002Flegacy-versions.md",{"title":20,"path":21,"description":22,"id":23},"Localization","\u002Fblockbench\u002Flocalization","How to contribute to Blockbench languages","content\u002Fblockbench\u002Flocalization.md",{"title":25,"path":26,"description":27,"id":28},"Logos and Brand Assets","\u002Fblockbench\u002Flogos","Frequently Asked Questions about the Blockbench app","content\u002Fblockbench\u002Flogos.md",{"title":30,"path":31,"description":32,"id":33},"Custom Themes","\u002Fblockbench\u002Fthemes","Themes allow you to change the visual appearance of Blockbench. You can drag and drop .bbtheme files into Blockbench to load them.","content\u002Fblockbench\u002Fthemes.md",{"title":35,"path":36,"description":37,"id":38},"The .bbmodel format","\u002Fdocs\u002Fbbmodel","An overview of the .bbmodel file format","content\u002Fdocs\u002Fbbmodel.md",{"title":40,"path":41,"description":42,"id":43},"Blockbench","\u002Fdocs\u002Fblockbench","The Blockbench object provides useful variables and methods to interact with general functionality of Blockbench.","content\u002Fdocs\u002Fblockbench.md",{"title":45,"path":46,"description":47,"id":48},"Upgrading Plugins to 5.0","\u002Fdocs\u002Fplugin-upgrade-to-5.0","An overview of breaking changes in the plugin API in 5.0","content\u002Fdocs\u002Fplugin-upgrade-to-5.0.md",{"title":50,"path":51,"description":52,"id":53},"Creating a Plugin","\u002Fdocs\u002Fplugin","This article will go over the basic steps needed to create your first plugin.","content\u002Fdocs\u002Fplugin.md",{"title":55,"path":56,"description":57,"id":58},"Properties","\u002Fdocs\u002Fproperty","Properties are used to dynamically assign properties to existing classes that are undo-relevant.\nThe advantages of using properties include:","content\u002Fdocs\u002Fproperty.md",{"title":60,"path":61,"description":62,"id":63},"Interface","\u002Fdocs\u002Fui","","content\u002Fdocs\u002Fui.md",{"title":65,"path":66,"description":62,"id":67},"Undo","\u002Fdocs\u002Fundo","content\u002Fdocs\u002Fundo.md",{"title":69,"path":70,"description":71,"id":72},"Web App URL Parameters","\u002Fdocs\u002Furl-parameters","How to provide integration with the Blockbench web app using URL parameters","content\u002Fdocs\u002Furl-parameters.md",{"title":74,"path":75,"description":76,"id":77},"Utils","\u002Fdocs\u002Futility","Blockbench comes with a bunch of custom utility functions to make the life of developers easier.","content\u002Fdocs\u002Futility.md",{"title":79,"path":80,"description":81,"id":82},"Bedrock Modeling and Animation","\u002Fguides\u002Fbedrock-modeling","Learn how to create entity models and animations for Minecraft Bedrock Edition","content\u002Fguides\u002Fbedrock-modeling.md",{"title":84,"path":85,"description":86,"id":87},"Blockbench Overview & Tips","\u002Fguides\u002Fblockbench-overview-tips","The fundamentals of Blockbench and how to use it efficiently","content\u002Fguides\u002Fblockbench-overview-tips.md",{"title":89,"path":90,"description":91,"id":92},"Emissive Textures in Renders","\u002Fguides\u002Femissive-textures-renders","How to create elegant emissive textures in renders","content\u002Fguides\u002Femissive-textures-renders.md",{"title":94,"path":95,"description":96,"id":97},"3D Export","\u002Fguides\u002Fexport-formats","An overview of the different export formats and how to transfer your model into other programs","content\u002Fguides\u002Fexport-formats.md",{"title":99,"path":100,"description":101,"id":102},"Particles and Sounds in MC Bedrock","\u002Fguides\u002Fminecraft-particles-sounds","How to add particles and sounds effects to animations for Minecraft Bedrock Edition","content\u002Fguides\u002Fminecraft-particles-sounds.md",{"title":104,"path":105,"description":106,"id":107},"Minecraft Style Guide","\u002Fguides\u002Fminecraft-style-guide","Tips for creating art in the Minecraft style","content\u002Fguides\u002Fminecraft-style-guide.md",{"title":109,"path":110,"description":111,"id":112},"Rendering Models","\u002Fguides\u002Fmodel-rendering","Learn how to create renders of your Blockbench models","content\u002Fguides\u002Fmodel-rendering.md",{"id":58,"title":55,"body":114,"description":57,"extension":511,"meta":512,"navigation":351,"path":56,"seo":513,"stem":514,"__hash__":515},{"type":115,"value":116,"toc":502},"minimark",[117,122,125,138,141,170,175,178,296,301,461,465,468,472,483,487,489,493,498],[118,119,121],"h1",{"id":120},"property","Property",[123,124,57],"p",{},[126,127,128,132,135],"ul",{},[129,130,131],"li",{},"Value of property is properly handled by the Undo system",[129,133,134],{},"Property is stored in and loaded from .bbmodel files.",[129,136,137],{},"Property is copied when copy-pasting or duplicating an object",[123,139,140],{},"Properties are supported on the following classes:",[126,142,143,146,149,152,155,158,161,164,167],{},[129,144,145],{},"ModelProject",[129,147,148],{},"Group",[129,150,151],{},"Cube",[129,153,154],{},"Locator",[129,156,157],{},"Face",[129,159,160],{},"Texture",[129,162,163],{},"Animation",[129,165,166],{},"Keyframe",[129,168,169],{},"KeyframeDataPoint",[171,172,174],"h3",{"id":173},"new-property-target-type-name-options","new Property( target, type, name, options )",[123,176,177],{},"Creates a new property on the target class",[126,179,180,187,241,247],{},[129,181,182,186],{},[183,184,185],"code",{},"target: Class"," Target class",[129,188,189,192,193],{},[183,190,191],{},"type: String"," Data type: Can be one of\n",[126,194,195,201,211,217,223,229,235],{},[129,196,197,200],{},[183,198,199],{},"string"," String",[129,202,203,206,207,210],{},[183,204,205],{},"molang"," Molang value, supports both strings and numbers. Also creates an accessor property on the class (",[183,208,209],{},"\u003Cname>_string",") that returns the value as a string",[129,212,213,216],{},[183,214,215],{},"number"," Number",[129,218,219,222],{},[183,220,221],{},"boolean"," Boolean",[129,224,225,228],{},[183,226,227],{},"array"," Array",[129,230,231,234],{},[183,232,233],{},"vector"," 3 dimensional vector",[129,236,237,240],{},[183,238,239],{},"vector2"," 2 dimensional vector",[129,242,243,246],{},[183,244,245],{},"name: String"," Name\u002FKey of the property",[129,248,249,252,253],{},[183,250,251],{},"options: Object"," Optional additional settings\n",[126,254,255,261,267,273,279,285,291],{},[129,256,257,260],{},[183,258,259],{},"default: Any"," Default property value",[129,262,263,266],{},[183,264,265],{},"merge: Function"," Custom merge function",[129,268,269,272],{},[183,270,271],{},"reset: Function"," Custom reset function",[129,274,275,278],{},[183,276,277],{},"merge_validation: Function"," Validates values before merging",[129,280,281,284],{},[183,282,283],{},"condition: ConditionResolvable"," Condition for when to use this property",[129,286,287,290],{},[183,288,289],{},"exposed: Boolean",": Whether the property is exposed to the user. This currently applies to project settings (Project dialog) and keyframe data point properties (keyframe panel).",[129,292,293,295],{},[183,294,251],{}," Turns the string input into a select input with the provided options. Currently only works for project settings.",[297,298,300],"h4",{"id":299},"example","Example",[302,303,307],"pre",{"className":304,"code":305,"language":306,"meta":62,"style":62},"language-javascript shiki shiki-themes github-light github-dark","\u002F\u002F Creates a simple property named 'rotation' on faces\nnew Property(Face, 'number', 'rotation');\n\n\u002F\u002F Creates a property named 'cullface' on faces that is validated against a list of possible values\nlet valid_cullfaces = ['north', 'south', 'east', 'west', 'up', 'down', ''];\nnew Property(Face, 'string', 'cullface', {\n    merge_validation: val => valid_cullfaces.includes(val)\n});\n","javascript",[183,308,309,318,346,353,359,410,430,455],{"__ignoreMap":62},[310,311,314],"span",{"class":312,"line":313},"line",1,[310,315,317],{"class":316},"sJ8bj","\u002F\u002F Creates a simple property named 'rotation' on faces\n",[310,319,321,325,329,333,337,340,343],{"class":312,"line":320},2,[310,322,324],{"class":323},"szBVR","new",[310,326,328],{"class":327},"sScJk"," Property",[310,330,332],{"class":331},"sVt8B","(Face, ",[310,334,336],{"class":335},"sZZnC","'number'",[310,338,339],{"class":331},", ",[310,341,342],{"class":335},"'rotation'",[310,344,345],{"class":331},");\n",[310,347,349],{"class":312,"line":348},3,[310,350,352],{"emptyLinePlaceholder":351},true,"\n",[310,354,356],{"class":312,"line":355},4,[310,357,358],{"class":316},"\u002F\u002F Creates a property named 'cullface' on faces that is validated against a list of possible values\n",[310,360,362,365,368,371,374,377,379,382,384,387,389,392,394,397,399,402,404,407],{"class":312,"line":361},5,[310,363,364],{"class":323},"let",[310,366,367],{"class":331}," valid_cullfaces ",[310,369,370],{"class":323},"=",[310,372,373],{"class":331}," [",[310,375,376],{"class":335},"'north'",[310,378,339],{"class":331},[310,380,381],{"class":335},"'south'",[310,383,339],{"class":331},[310,385,386],{"class":335},"'east'",[310,388,339],{"class":331},[310,390,391],{"class":335},"'west'",[310,393,339],{"class":331},[310,395,396],{"class":335},"'up'",[310,398,339],{"class":331},[310,400,401],{"class":335},"'down'",[310,403,339],{"class":331},[310,405,406],{"class":335},"''",[310,408,409],{"class":331},"];\n",[310,411,413,415,417,419,422,424,427],{"class":312,"line":412},6,[310,414,324],{"class":323},[310,416,328],{"class":327},[310,418,332],{"class":331},[310,420,421],{"class":335},"'string'",[310,423,339],{"class":331},[310,425,426],{"class":335},"'cullface'",[310,428,429],{"class":331},", {\n",[310,431,433,436,439,443,446,449,452],{"class":312,"line":432},7,[310,434,435],{"class":327},"    merge_validation",[310,437,438],{"class":331},": ",[310,440,442],{"class":441},"s4XuR","val",[310,444,445],{"class":323}," =>",[310,447,448],{"class":331}," valid_cullfaces.",[310,450,451],{"class":327},"includes",[310,453,454],{"class":331},"(val)\n",[310,456,458],{"class":312,"line":457},8,[310,459,460],{"class":331},"});\n",[297,462,464],{"id":463},"propertydelete","Property#delete()",[123,466,467],{},"Deletes the property",[297,469,471],{"id":470},"propertymerge-instance-data","Property#merge( instance, data )",[123,473,474,475,478,479,482],{},"Merges the property value from ",[183,476,477],{},"data"," into the property on the ",[183,480,481],{},"instance"," of the target class.",[297,484,486],{"id":485},"propertycopy-instance-target","Property#copy( instance, target )",[123,488,467],{},[297,490,492],{"id":491},"propertyreset-instances","Property#reset( instances )",[123,494,495,496],{},"Resets the property to the default value on the given ",[183,497,481],{},[499,500,501],"style",{},"html pre.shiki code .sJ8bj, html code.shiki .sJ8bj{--shiki-default:#6A737D;--shiki-dark:#6A737D}html pre.shiki code .szBVR, html code.shiki .szBVR{--shiki-default:#D73A49;--shiki-dark:#F97583}html pre.shiki code .sScJk, html code.shiki .sScJk{--shiki-default:#6F42C1;--shiki-dark:#B392F0}html pre.shiki code .sVt8B, html code.shiki .sVt8B{--shiki-default:#24292E;--shiki-dark:#E1E4E8}html pre.shiki code .sZZnC, html code.shiki .sZZnC{--shiki-default:#032F62;--shiki-dark:#9ECBFF}html pre.shiki code .s4XuR, html code.shiki .s4XuR{--shiki-default:#E36209;--shiki-dark:#FFAB70}html .default .shiki span {color: var(--shiki-default);background: var(--shiki-default-bg);font-style: var(--shiki-default-font-style);font-weight: var(--shiki-default-font-weight);text-decoration: var(--shiki-default-text-decoration);}html .shiki span {color: var(--shiki-default);background: var(--shiki-default-bg);font-style: var(--shiki-default-font-style);font-weight: var(--shiki-default-font-weight);text-decoration: var(--shiki-default-text-decoration);}html .dark .shiki span {color: var(--shiki-dark);background: var(--shiki-dark-bg);font-style: var(--shiki-dark-font-style);font-weight: var(--shiki-dark-font-weight);text-decoration: var(--shiki-dark-text-decoration);}html.dark .shiki span {color: var(--shiki-dark);background: var(--shiki-dark-bg);font-style: var(--shiki-dark-font-style);font-weight: var(--shiki-dark-font-weight);text-decoration: var(--shiki-dark-text-decoration);}",{"title":62,"searchDepth":320,"depth":348,"links":503},[504],{"id":173,"depth":348,"text":174,"children":505},[506,507,508,509,510],{"id":299,"depth":355,"text":300},{"id":463,"depth":355,"text":464},{"id":470,"depth":355,"text":471},{"id":485,"depth":355,"text":486},{"id":491,"depth":355,"text":492},"md",{},{"title":55,"description":57},"docs\u002Fproperty","kYM8jO2MORE7lDuu8WRcYzcDtXsKW9RdCiaicHvwsMs",1775238418432]