var I6=Object.create;var Nf=Object.defineProperty;var D6=Object.getOwnPropertyDescriptor;var V6=Object.getOwnPropertyNames;var F6=Object.getPrototypeOf,U6=Object.prototype.hasOwnProperty;var OB=i=>{throw TypeError(i)};var O6=(i,e,t)=>e in i?Nf(i,e,{enumerable:!0,configurable:!0,writable:!0,value:t}):i[e]=t;var or=(i=>typeof require<"u"?require:typeof Proxy<"u"?new Proxy(i,{get:(e,t)=>(typeof require<"u"?require:e)[t]}):i)(function(i){if(typeof require<"u")return require.apply(this,arguments);throw Error('Dynamic require of "'+i+'" is not supported')});var L6=(i,e)=>()=>(i&&(e=i(i=0)),e);var Ft=(i,e)=>()=>(e||i((e={exports:{}}).exports,e),e.exports),cu=(i,e)=>{for(var t in e)Nf(i,t,{get:e[t],enumerable:!0})},LB=(i,e,t,n)=>{if(e&&typeof e=="object"||typeof e=="function")for(let a of V6(e))!U6.call(i,a)&&a!==t&&Nf(i,a,{get:()=>e[a],enumerable:!(n=D6(e,a))||n.enumerable});return i};var Vl=(i,e,t)=>(t=i!=null?I6(F6(i)):{},LB(e||!i||!i.__esModule?Nf(t,"default",{value:i,enumerable:!0}):t,i)),N6=i=>LB(Nf({},"__esModule",{value:!0}),i);var W=(i,e,t)=>O6(i,typeof e!="symbol"?e+"":e,t),H6=(i,e,t)=>e.has(i)||OB("Cannot "+t);var Mp=(i,e,t)=>e.has(i)?OB("Cannot add the same private member more than once"):e instanceof WeakSet?e.add(i):e.set(i,t);var pd=(i,e,t)=>(H6(i,e,"access private method"),t);var eR=Ft((QB,Xy)=>{(function(i,e){"use strict";typeof Xy=="object"&&typeof Xy.exports=="object"?Xy.exports=i.document?e(i,!0):function(t){if(!t.document)throw new Error("jQuery requires a window with a document");return e(t)}:e(i)})(typeof window<"u"?window:QB,function(i,e){"use strict";var t=[],n=Object.getPrototypeOf,a=t.slice,o=t.flat?function(M){return t.flat.call(M)}:function(M){return t.concat.apply([],M)},r=t.push,s=t.indexOf,l={},c=l.toString,d=l.hasOwnProperty,u=d.toString,p=u.call(Object),m={},_=function(D){return typeof D=="function"&&typeof D.nodeType!="number"&&typeof D.item!="function"},f=function(D){return D!=null&&D===D.window},g=i.document,v={type:!0,src:!0,nonce:!0,noModule:!0};function b(M,D,N){N=N||g;var Y,ae,oe=N.createElement("script");if(oe.text=M,D)for(Y in v)ae=D[Y]||D.getAttribute&&D.getAttribute(Y),ae&&oe.setAttribute(Y,ae);N.head.appendChild(oe).parentNode.removeChild(oe)}function x(M){return M==null?M+"":typeof M=="object"||typeof M=="function"?l[c.call(M)]||"object":typeof M}var w="3.7.1",E=/HTML$/i,y=function(M,D){return new y.fn.init(M,D)};y.fn=y.prototype={jquery:w,constructor:y,length:0,toArray:function(){return a.call(this)},get:function(M){return M==null?a.call(this):M<0?this[M+this.length]:this[M]},pushStack:function(M){var D=y.merge(this.constructor(),M);return D.prevObject=this,D},each:function(M){return y.each(this,M)},map:function(M){return this.pushStack(y.map(this,function(D,N){return M.call(D,N,D)}))},slice:function(){return this.pushStack(a.apply(this,arguments))},first:function(){return this.eq(0)},last:function(){return this.eq(-1)},even:function(){return this.pushStack(y.grep(this,function(M,D){return(D+1)%2}))},odd:function(){return this.pushStack(y.grep(this,function(M,D){return D%2}))},eq:function(M){var D=this.length,N=+M+(M<0?D:0);return this.pushStack(N>=0&&N0&&D-1 in M}function R(M,D){return M.nodeName&&M.nodeName.toLowerCase()===D.toLowerCase()}var j=t.pop,F=t.sort,O=t.splice,L="[\\x20\\t\\r\\n\\f]",U=new RegExp("^"+L+"+|((?:^|[^\\\\])(?:\\\\.)*)"+L+"+$","g");y.contains=function(M,D){var N=D&&D.parentNode;return M===N||!!(N&&N.nodeType===1&&(M.contains?M.contains(N):M.compareDocumentPosition&&M.compareDocumentPosition(N)&16))};var J=/([\0-\x1f\x7f]|^-?\d)|^-$|[^\x80-\uFFFF\w-]/g;function ie(M,D){return D?M==="\0"?"\uFFFD":M.slice(0,-1)+"\\"+M.charCodeAt(M.length-1).toString(16)+" ":"\\"+M}y.escapeSelector=function(M){return(M+"").replace(J,ie)};var te=g,me=r;(function(){var M,D,N,Y,ae,oe=me,fe,Ne,De,Ze,gt,wt=y.expando,rt=0,Pt=0,qi=l_(),Cn=l_(),tn=l_(),tr=l_(),La=function(Pe,$e){return Pe===$e&&(ae=!0),0},dl="checked|selected|async|autofocus|autoplay|controls|defer|disabled|hidden|ismap|loop|multiple|open|readonly|required|scoped",Is="(?:\\\\[\\da-fA-F]{1,6}"+L+"?|\\\\[^\\r\\n\\f]|[\\w-]|[^\0-\\x7f])+",hn="\\["+L+"*("+Is+")(?:"+L+"*([*^$|!~]?=)"+L+`*(?:'((?:\\\\.|[^\\\\'])*)'|"((?:\\\\.|[^\\\\"])*)"|(`+Is+"))|)"+L+"*\\]",Do=":("+Is+`)(?:\\((('((?:\\\\.|[^\\\\'])*)'|"((?:\\\\.|[^\\\\"])*)")|((?:\\\\.|[^\\\\()[\\]]|`+hn+")*)|.*)\\)|)",Dn=new RegExp(L+"+","g"),Na=new RegExp("^"+L+"*,"+L+"*"),bp=new RegExp("^"+L+"*([>+~]|"+L+")"+L+"*"),Bf=new RegExp(L+"|>"),ul=new RegExp(Do),yp=new RegExp("^"+Is+"$"),pl={ID:new RegExp("^#("+Is+")"),CLASS:new RegExp("^\\.("+Is+")"),TAG:new RegExp("^("+Is+"|[*])"),ATTR:new RegExp("^"+hn),PSEUDO:new RegExp("^"+Do),CHILD:new RegExp("^:(only|first|last|nth|nth-last)-(child|of-type)(?:\\("+L+"*(even|odd|(([+-]|)(\\d*)n|)"+L+"*(?:([+-]|)"+L+"*(\\d+)|))"+L+"*\\)|)","i"),bool:new RegExp("^(?:"+dl+")$","i"),needsContext:new RegExp("^"+L+"*[>+~]|:(even|odd|eq|gt|lt|nth|first|last)(?:\\("+L+"*((?:-\\d)?\\d*)"+L+"*\\)|)(?=[^-]|$)","i")},hc=/^(?:input|select|textarea|button)$/i,fc=/^h\d$/i,gs=/^(?:#([\w-]+)|(\w+)|\.([\w-]+))$/,Rf=/[+~]/,Il=new RegExp("\\\\[\\da-fA-F]{1,6}"+L+"?|\\\\([^\\r\\n\\f])","g"),ml=function(Pe,$e){var at="0x"+Pe.slice(1)-65536;return $e||(at<0?String.fromCharCode(at+65536):String.fromCharCode(at>>10|55296,at&1023|56320))},K1=function(){Dl()},Ay=au(function(Pe){return Pe.disabled===!0&&R(Pe,"fieldset")},{dir:"parentNode",next:"legend"});function iu(){try{return fe.activeElement}catch{}}try{oe.apply(t=a.call(te.childNodes),te.childNodes),t[te.childNodes.length].nodeType}catch{oe={apply:function($e,at){me.apply($e,a.call(at))},call:function($e){me.apply($e,a.call(arguments,1))}}}function On(Pe,$e,at,ht){var kt,Ot,oi,mi,Zt,fn,Wi,Yi=$e&&$e.ownerDocument,kn=$e?$e.nodeType:9;if(at=at||[],typeof Pe!="string"||!Pe||kn!==1&&kn!==9&&kn!==11)return at;if(!ht&&(Dl($e),$e=$e||fe,De)){if(kn!==11&&(Zt=gs.exec(Pe)))if(kt=Zt[1]){if(kn===9)if(oi=$e.getElementById(kt)){if(oi.id===kt)return oe.call(at,oi),at}else return at;else if(Yi&&(oi=Yi.getElementById(kt))&&On.contains($e,oi)&&oi.id===kt)return oe.call(at,oi),at}else{if(Zt[2])return oe.apply(at,$e.getElementsByTagName(Pe)),at;if((kt=Zt[3])&&$e.getElementsByClassName)return oe.apply(at,$e.getElementsByClassName(kt)),at}if(!tr[Pe+" "]&&(!Ze||!Ze.test(Pe))){if(Wi=Pe,Yi=$e,kn===1&&(Bf.test(Pe)||bp.test(Pe))){for(Yi=Rf.test(Pe)&&c_($e.parentNode)||$e,(Yi!=$e||!m.scope)&&((mi=$e.getAttribute("id"))?mi=y.escapeSelector(mi):$e.setAttribute("id",mi=wt)),fn=nu(Pe),Ot=fn.length;Ot--;)fn[Ot]=(mi?"#"+mi:":scope")+" "+u_(fn[Ot]);Wi=fn.join(",")}try{return oe.apply(at,Yi.querySelectorAll(Wi)),at}catch{tr(Pe,!0)}finally{mi===wt&&$e.removeAttribute("id")}}}return Ry(Pe.replace(U,"$1"),$e,at,ht)}function l_(){var Pe=[];function $e(at,ht){return Pe.push(at+" ")>D.cacheLength&&delete $e[Pe.shift()],$e[at+" "]=ht}return $e}function cr(Pe){return Pe[wt]=!0,Pe}function Jr(Pe){var $e=fe.createElement("fieldset");try{return!!Pe($e)}catch{return!1}finally{$e.parentNode&&$e.parentNode.removeChild($e),$e=null}}function jf(Pe){return function($e){return R($e,"input")&&$e.type===Pe}}function $1(Pe){return function($e){return(R($e,"input")||R($e,"button"))&&$e.type===Pe}}function Cy(Pe){return function($e){return"form"in $e?$e.parentNode&&$e.disabled===!1?"label"in $e?"label"in $e.parentNode?$e.parentNode.disabled===Pe:$e.disabled===Pe:$e.isDisabled===Pe||$e.isDisabled!==!Pe&&Ay($e)===Pe:$e.disabled===Pe:"label"in $e?$e.disabled===Pe:!1}}function gc(Pe){return cr(function($e){return $e=+$e,cr(function(at,ht){for(var kt,Ot=Pe([],at.length,$e),oi=Ot.length;oi--;)at[kt=Ot[oi]]&&(at[kt]=!(ht[kt]=at[kt]))})})}function c_(Pe){return Pe&&typeof Pe.getElementsByTagName<"u"&&Pe}function Dl(Pe){var $e,at=Pe?Pe.ownerDocument||Pe:te;return at==fe||at.nodeType!==9||!at.documentElement||(fe=at,Ne=fe.documentElement,De=!y.isXMLDoc(fe),gt=Ne.matches||Ne.webkitMatchesSelector||Ne.msMatchesSelector,Ne.msMatchesSelector&&te!=fe&&($e=fe.defaultView)&&$e.top!==$e&&$e.addEventListener("unload",K1),m.getById=Jr(function(ht){return Ne.appendChild(ht).id=y.expando,!fe.getElementsByName||!fe.getElementsByName(y.expando).length}),m.disconnectedMatch=Jr(function(ht){return gt.call(ht,"*")}),m.scope=Jr(function(){return fe.querySelectorAll(":scope")}),m.cssHas=Jr(function(){try{return fe.querySelector(":has(*,:jqfake)"),!1}catch{return!0}}),m.getById?(D.filter.ID=function(ht){var kt=ht.replace(Il,ml);return function(Ot){return Ot.getAttribute("id")===kt}},D.find.ID=function(ht,kt){if(typeof kt.getElementById<"u"&&De){var Ot=kt.getElementById(ht);return Ot?[Ot]:[]}}):(D.filter.ID=function(ht){var kt=ht.replace(Il,ml);return function(Ot){var oi=typeof Ot.getAttributeNode<"u"&&Ot.getAttributeNode("id");return oi&&oi.value===kt}},D.find.ID=function(ht,kt){if(typeof kt.getElementById<"u"&&De){var Ot,oi,mi,Zt=kt.getElementById(ht);if(Zt){if(Ot=Zt.getAttributeNode("id"),Ot&&Ot.value===ht)return[Zt];for(mi=kt.getElementsByName(ht),oi=0;Zt=mi[oi++];)if(Ot=Zt.getAttributeNode("id"),Ot&&Ot.value===ht)return[Zt]}return[]}}),D.find.TAG=function(ht,kt){return typeof kt.getElementsByTagName<"u"?kt.getElementsByTagName(ht):kt.querySelectorAll(ht)},D.find.CLASS=function(ht,kt){if(typeof kt.getElementsByClassName<"u"&&De)return kt.getElementsByClassName(ht)},Ze=[],Jr(function(ht){var kt;Ne.appendChild(ht).innerHTML="",ht.querySelectorAll("[selected]").length||Ze.push("\\["+L+"*(?:value|"+dl+")"),ht.querySelectorAll("[id~="+wt+"-]").length||Ze.push("~="),ht.querySelectorAll("a#"+wt+"+*").length||Ze.push(".#.+[+~]"),ht.querySelectorAll(":checked").length||Ze.push(":checked"),kt=fe.createElement("input"),kt.setAttribute("type","hidden"),ht.appendChild(kt).setAttribute("name","D"),Ne.appendChild(ht).disabled=!0,ht.querySelectorAll(":disabled").length!==2&&Ze.push(":enabled",":disabled"),kt=fe.createElement("input"),kt.setAttribute("name",""),ht.appendChild(kt),ht.querySelectorAll("[name='']").length||Ze.push("\\["+L+"*name"+L+"*="+L+`*(?:''|"")`)}),m.cssHas||Ze.push(":has"),Ze=Ze.length&&new RegExp(Ze.join("|")),La=function(ht,kt){if(ht===kt)return ae=!0,0;var Ot=!ht.compareDocumentPosition-!kt.compareDocumentPosition;return Ot||(Ot=(ht.ownerDocument||ht)==(kt.ownerDocument||kt)?ht.compareDocumentPosition(kt):1,Ot&1||!m.sortDetached&&kt.compareDocumentPosition(ht)===Ot?ht===fe||ht.ownerDocument==te&&On.contains(te,ht)?-1:kt===fe||kt.ownerDocument==te&&On.contains(te,kt)?1:Y?s.call(Y,ht)-s.call(Y,kt):0:Ot&4?-1:1)}),fe}On.matches=function(Pe,$e){return On(Pe,null,null,$e)},On.matchesSelector=function(Pe,$e){if(Dl(Pe),De&&!tr[$e+" "]&&(!Ze||!Ze.test($e)))try{var at=gt.call(Pe,$e);if(at||m.disconnectedMatch||Pe.document&&Pe.document.nodeType!==11)return at}catch{tr($e,!0)}return On($e,fe,null,[Pe]).length>0},On.contains=function(Pe,$e){return(Pe.ownerDocument||Pe)!=fe&&Dl(Pe),y.contains(Pe,$e)},On.attr=function(Pe,$e){(Pe.ownerDocument||Pe)!=fe&&Dl(Pe);var at=D.attrHandle[$e.toLowerCase()],ht=at&&d.call(D.attrHandle,$e.toLowerCase())?at(Pe,$e,!De):void 0;return ht!==void 0?ht:Pe.getAttribute($e)},On.error=function(Pe){throw new Error("Syntax error, unrecognized expression: "+Pe)},y.uniqueSort=function(Pe){var $e,at=[],ht=0,kt=0;if(ae=!m.sortStable,Y=!m.sortStable&&a.call(Pe,0),F.call(Pe,La),ae){for(;$e=Pe[kt++];)$e===Pe[kt]&&(ht=at.push(kt));for(;ht--;)O.call(Pe,at[ht],1)}return Y=null,Pe},y.fn.uniqueSort=function(){return this.pushStack(y.uniqueSort(a.apply(this)))},D=y.expr={cacheLength:50,createPseudo:cr,match:pl,attrHandle:{},find:{},relative:{">":{dir:"parentNode",first:!0}," ":{dir:"parentNode"},"+":{dir:"previousSibling",first:!0},"~":{dir:"previousSibling"}},preFilter:{ATTR:function(Pe){return Pe[1]=Pe[1].replace(Il,ml),Pe[3]=(Pe[3]||Pe[4]||Pe[5]||"").replace(Il,ml),Pe[2]==="~="&&(Pe[3]=" "+Pe[3]+" "),Pe.slice(0,4)},CHILD:function(Pe){return Pe[1]=Pe[1].toLowerCase(),Pe[1].slice(0,3)==="nth"?(Pe[3]||On.error(Pe[0]),Pe[4]=+(Pe[4]?Pe[5]+(Pe[6]||1):2*(Pe[3]==="even"||Pe[3]==="odd")),Pe[5]=+(Pe[7]+Pe[8]||Pe[3]==="odd")):Pe[3]&&On.error(Pe[0]),Pe},PSEUDO:function(Pe){var $e,at=!Pe[6]&&Pe[2];return pl.CHILD.test(Pe[0])?null:(Pe[3]?Pe[2]=Pe[4]||Pe[5]||"":at&&ul.test(at)&&($e=nu(at,!0))&&($e=at.indexOf(")",at.length-$e)-at.length)&&(Pe[0]=Pe[0].slice(0,$e),Pe[2]=at.slice(0,$e)),Pe.slice(0,3))}},filter:{TAG:function(Pe){var $e=Pe.replace(Il,ml).toLowerCase();return Pe==="*"?function(){return!0}:function(at){return R(at,$e)}},CLASS:function(Pe){var $e=qi[Pe+" "];return $e||($e=new RegExp("(^|"+L+")"+Pe+"("+L+"|$)"))&&qi(Pe,function(at){return $e.test(typeof at.className=="string"&&at.className||typeof at.getAttribute<"u"&&at.getAttribute("class")||"")})},ATTR:function(Pe,$e,at){return function(ht){var kt=On.attr(ht,Pe);return kt==null?$e==="!=":$e?(kt+="",$e==="="?kt===at:$e==="!="?kt!==at:$e==="^="?at&&kt.indexOf(at)===0:$e==="*="?at&&kt.indexOf(at)>-1:$e==="$="?at&&kt.slice(-at.length)===at:$e==="~="?(" "+kt.replace(Dn," ")+" ").indexOf(at)>-1:$e==="|="?kt===at||kt.slice(0,at.length+1)===at+"-":!1):!0}},CHILD:function(Pe,$e,at,ht,kt){var Ot=Pe.slice(0,3)!=="nth",oi=Pe.slice(-4)!=="last",mi=$e==="of-type";return ht===1&&kt===0?function(Zt){return!!Zt.parentNode}:function(Zt,fn,Wi){var Yi,kn,Vi,Ui,Vr,ir=Ot!==oi?"nextSibling":"previousSibling",kr=Zt.parentNode,Ds=mi&&Zt.nodeName.toLowerCase(),vc=!Wi&&!mi,dr=!1;if(kr){if(Ot){for(;ir;){for(Vi=Zt;Vi=Vi[ir];)if(mi?R(Vi,Ds):Vi.nodeType===1)return!1;Vr=ir=Pe==="only"&&!Vr&&"nextSibling"}return!0}if(Vr=[oi?kr.firstChild:kr.lastChild],oi&&vc){for(kn=kr[wt]||(kr[wt]={}),Yi=kn[Pe]||[],Ui=Yi[0]===rt&&Yi[1],dr=Ui&&Yi[2],Vi=Ui&&kr.childNodes[Ui];Vi=++Ui&&Vi&&Vi[ir]||(dr=Ui=0)||Vr.pop();)if(Vi.nodeType===1&&++dr&&Vi===Zt){kn[Pe]=[rt,Ui,dr];break}}else if(vc&&(kn=Zt[wt]||(Zt[wt]={}),Yi=kn[Pe]||[],Ui=Yi[0]===rt&&Yi[1],dr=Ui),dr===!1)for(;(Vi=++Ui&&Vi&&Vi[ir]||(dr=Ui=0)||Vr.pop())&&!((mi?R(Vi,Ds):Vi.nodeType===1)&&++dr&&(vc&&(kn=Vi[wt]||(Vi[wt]={}),kn[Pe]=[rt,dr]),Vi===Zt)););return dr-=kt,dr===ht||dr%ht===0&&dr/ht>=0}}},PSEUDO:function(Pe,$e){var at,ht=D.pseudos[Pe]||D.setFilters[Pe.toLowerCase()]||On.error("unsupported pseudo: "+Pe);return ht[wt]?ht($e):ht.length>1?(at=[Pe,Pe,"",$e],D.setFilters.hasOwnProperty(Pe.toLowerCase())?cr(function(kt,Ot){for(var oi,mi=ht(kt,$e),Zt=mi.length;Zt--;)oi=s.call(kt,mi[Zt]),kt[oi]=!(Ot[oi]=mi[Zt])}):function(kt){return ht(kt,0,at)}):ht}},pseudos:{not:cr(function(Pe){var $e=[],at=[],ht=p_(Pe.replace(U,"$1"));return ht[wt]?cr(function(kt,Ot,oi,mi){for(var Zt,fn=ht(kt,null,mi,[]),Wi=kt.length;Wi--;)(Zt=fn[Wi])&&(kt[Wi]=!(Ot[Wi]=Zt))}):function(kt,Ot,oi){return $e[0]=kt,ht($e,null,oi,at),$e[0]=null,!at.pop()}}),has:cr(function(Pe){return function($e){return On(Pe,$e).length>0}}),contains:cr(function(Pe){return Pe=Pe.replace(Il,ml),function($e){return($e.textContent||y.text($e)).indexOf(Pe)>-1}}),lang:cr(function(Pe){return yp.test(Pe||"")||On.error("unsupported lang: "+Pe),Pe=Pe.replace(Il,ml).toLowerCase(),function($e){var at;do if(at=De?$e.lang:$e.getAttribute("xml:lang")||$e.getAttribute("lang"))return at=at.toLowerCase(),at===Pe||at.indexOf(Pe+"-")===0;while(($e=$e.parentNode)&&$e.nodeType===1);return!1}}),target:function(Pe){var $e=i.location&&i.location.hash;return $e&&$e.slice(1)===Pe.id},root:function(Pe){return Pe===Ne},focus:function(Pe){return Pe===iu()&&fe.hasFocus()&&!!(Pe.type||Pe.href||~Pe.tabIndex)},enabled:Cy(!1),disabled:Cy(!0),checked:function(Pe){return R(Pe,"input")&&!!Pe.checked||R(Pe,"option")&&!!Pe.selected},selected:function(Pe){return Pe.parentNode&&Pe.parentNode.selectedIndex,Pe.selected===!0},empty:function(Pe){for(Pe=Pe.firstChild;Pe;Pe=Pe.nextSibling)if(Pe.nodeType<6)return!1;return!0},parent:function(Pe){return!D.pseudos.empty(Pe)},header:function(Pe){return fc.test(Pe.nodeName)},input:function(Pe){return hc.test(Pe.nodeName)},button:function(Pe){return R(Pe,"input")&&Pe.type==="button"||R(Pe,"button")},text:function(Pe){var $e;return R(Pe,"input")&&Pe.type==="text"&&(($e=Pe.getAttribute("type"))==null||$e.toLowerCase()==="text")},first:gc(function(){return[0]}),last:gc(function(Pe,$e){return[$e-1]}),eq:gc(function(Pe,$e,at){return[at<0?at+$e:at]}),even:gc(function(Pe,$e){for(var at=0;at<$e;at+=2)Pe.push(at);return Pe}),odd:gc(function(Pe,$e){for(var at=1;at<$e;at+=2)Pe.push(at);return Pe}),lt:gc(function(Pe,$e,at){var ht;for(at<0?ht=at+$e:at>$e?ht=$e:ht=at;--ht>=0;)Pe.push(ht);return Pe}),gt:gc(function(Pe,$e,at){for(var ht=at<0?at+$e:at;++ht<$e;)Pe.push(ht);return Pe})}},D.pseudos.nth=D.pseudos.eq;for(M in{radio:!0,checkbox:!0,file:!0,password:!0,image:!0})D.pseudos[M]=jf(M);for(M in{submit:!0,reset:!0})D.pseudos[M]=$1(M);function d_(){}d_.prototype=D.filters=D.pseudos,D.setFilters=new d_;function nu(Pe,$e){var at,ht,kt,Ot,oi,mi,Zt,fn=Cn[Pe+" "];if(fn)return $e?0:fn.slice(0);for(oi=Pe,mi=[],Zt=D.preFilter;oi;){(!at||(ht=Na.exec(oi)))&&(ht&&(oi=oi.slice(ht[0].length)||oi),mi.push(kt=[])),at=!1,(ht=bp.exec(oi))&&(at=ht.shift(),kt.push({value:at,type:ht[0].replace(U," ")}),oi=oi.slice(at.length));for(Ot in D.filter)(ht=pl[Ot].exec(oi))&&(!Zt[Ot]||(ht=Zt[Ot](ht)))&&(at=ht.shift(),kt.push({value:at,type:Ot,matches:ht}),oi=oi.slice(at.length));if(!at)break}return $e?oi.length:oi?On.error(Pe):Cn(Pe,mi).slice(0)}function u_(Pe){for(var $e=0,at=Pe.length,ht="";$e1?function($e,at,ht){for(var kt=Pe.length;kt--;)if(!Pe[kt]($e,at,ht))return!1;return!0}:Pe[0]}function Py(Pe,$e,at){for(var ht=0,kt=$e.length;ht-1&&(oi[Wi]=!(mi[Wi]=kn))}}else Vi=kp(Vi===mi?Vi.splice(ir,Vi.length):Vi),kt?kt(null,mi,Vi,fn):oe.apply(mi,Vi)})}function wp(Pe){for(var $e,at,ht,kt=Pe.length,Ot=D.relative[Pe[0].type],oi=Ot||D.relative[" "],mi=Ot?1:0,Zt=au(function(Yi){return Yi===$e},oi,!0),fn=au(function(Yi){return s.call($e,Yi)>-1},oi,!0),Wi=[function(Yi,kn,Vi){var Ui=!Ot&&(Vi||kn!=N)||(($e=kn).nodeType?Zt(Yi,kn,Vi):fn(Yi,kn,Vi));return $e=null,Ui}];mi1&&xp(Wi),mi>1&&u_(Pe.slice(0,mi-1).concat({value:Pe[mi-2].type===" "?"*":""})).replace(U,"$1"),at,mi0,ht=Pe.length>0,kt=function(Ot,oi,mi,Zt,fn){var Wi,Yi,kn,Vi=0,Ui="0",Vr=Ot&&[],ir=[],kr=N,Ds=Ot||ht&&D.find.TAG("*",fn),vc=rt+=kr==null?1:Math.random()||.1,dr=Ds.length;for(fn&&(N=oi==fe||oi||fn);Ui!==dr&&(Wi=Ds[Ui])!=null;Ui++){if(ht&&Wi){for(Yi=0,!oi&&Wi.ownerDocument!=fe&&(Dl(Wi),mi=!De);kn=Pe[Yi++];)if(kn(Wi,oi||fe,mi)){oe.call(Zt,Wi);break}fn&&(rt=vc)}at&&((Wi=!kn&&Wi)&&Vi--,Ot&&Vr.push(Wi))}if(Vi+=Ui,at&&Ui!==Vi){for(Yi=0;kn=$e[Yi++];)kn(Vr,ir,oi,mi);if(Ot){if(Vi>0)for(;Ui--;)Vr[Ui]||ir[Ui]||(ir[Ui]=j.call(Zt));ir=kp(ir)}oe.apply(Zt,ir),fn&&!Ot&&ir.length>0&&Vi+$e.length>1&&y.uniqueSort(Zt)}return fn&&(rt=vc,N=kr),Vr};return at?cr(kt):kt}function p_(Pe,$e){var at,ht=[],kt=[],Ot=tn[Pe+" "];if(!Ot){for($e||($e=nu(Pe)),at=$e.length;at--;)Ot=wp($e[at]),Ot[wt]?ht.push(Ot):kt.push(Ot);Ot=tn(Pe,By(kt,ht)),Ot.selector=Pe}return Ot}function Ry(Pe,$e,at,ht){var kt,Ot,oi,mi,Zt,fn=typeof Pe=="function"&&Pe,Wi=!ht&&nu(Pe=fn.selector||Pe);if(at=at||[],Wi.length===1){if(Ot=Wi[0]=Wi[0].slice(0),Ot.length>2&&(oi=Ot[0]).type==="ID"&&$e.nodeType===9&&De&&D.relative[Ot[1].type]){if($e=(D.find.ID(oi.matches[0].replace(Il,ml),$e)||[])[0],$e)fn&&($e=$e.parentNode);else return at;Pe=Pe.slice(Ot.shift().value.length)}for(kt=pl.needsContext.test(Pe)?0:Ot.length;kt--&&(oi=Ot[kt],!D.relative[mi=oi.type]);)if((Zt=D.find[mi])&&(ht=Zt(oi.matches[0].replace(Il,ml),Rf.test(Ot[0].type)&&c_($e.parentNode)||$e))){if(Ot.splice(kt,1),Pe=ht.length&&u_(Ot),!Pe)return oe.apply(at,ht),at;break}}return(fn||p_(Pe,Wi))(ht,$e,!De,at,!$e||Rf.test(Pe)&&c_($e.parentNode)||$e),at}m.sortStable=wt.split("").sort(La).join("")===wt,Dl(),m.sortDetached=Jr(function(Pe){return Pe.compareDocumentPosition(fe.createElement("fieldset"))&1}),y.find=On,y.expr[":"]=y.expr.pseudos,y.unique=y.uniqueSort,On.compile=p_,On.select=Ry,On.setDocument=Dl,On.tokenize=nu,On.escape=y.escapeSelector,On.getText=y.text,On.isXML=y.isXMLDoc,On.selectors=y.expr,On.support=y.support,On.uniqueSort=y.uniqueSort})();var Q=function(M,D,N){for(var Y=[],ae=N!==void 0;(M=M[D])&&M.nodeType!==9;)if(M.nodeType===1){if(ae&&y(M).is(N))break;Y.push(M)}return Y},H=function(M,D){for(var N=[];M;M=M.nextSibling)M.nodeType===1&&M!==D&&N.push(M);return N},re=y.expr.match.needsContext,K=/^<([a-z][^\/\0>:\x20\t\r\n\f]*)[\x20\t\r\n\f]*\/?>(?:<\/\1>|)$/i;function pe(M,D,N){return _(D)?y.grep(M,function(Y,ae){return!!D.call(Y,ae,Y)!==N}):D.nodeType?y.grep(M,function(Y){return Y===D!==N}):typeof D!="string"?y.grep(M,function(Y){return s.call(D,Y)>-1!==N}):y.filter(D,M,N)}y.filter=function(M,D,N){var Y=D[0];return N&&(M=":not("+M+")"),D.length===1&&Y.nodeType===1?y.find.matchesSelector(Y,M)?[Y]:[]:y.find.matches(M,y.grep(D,function(ae){return ae.nodeType===1}))},y.fn.extend({find:function(M){var D,N,Y=this.length,ae=this;if(typeof M!="string")return this.pushStack(y(M).filter(function(){for(D=0;D1?y.uniqueSort(N):N},filter:function(M){return this.pushStack(pe(this,M||[],!1))},not:function(M){return this.pushStack(pe(this,M||[],!0))},is:function(M){return!!pe(this,typeof M=="string"&&re.test(M)?y(M):M||[],!1).length}});var xe,le=/^(?:\s*(<[\w\W]+>)[^>]*|#([\w-]+))$/,Be=y.fn.init=function(M,D,N){var Y,ae;if(!M)return this;if(N=N||xe,typeof M=="string")if(M[0]==="<"&&M[M.length-1]===">"&&M.length>=3?Y=[null,M,null]:Y=le.exec(M),Y&&(Y[1]||!D))if(Y[1]){if(D=D instanceof y?D[0]:D,y.merge(this,y.parseHTML(Y[1],D&&D.nodeType?D.ownerDocument||D:g,!0)),K.test(Y[1])&&y.isPlainObject(D))for(Y in D)_(this[Y])?this[Y](D[Y]):this.attr(Y,D[Y]);return this}else return ae=g.getElementById(Y[2]),ae&&(this[0]=ae,this.length=1),this;else return!D||D.jquery?(D||N).find(M):this.constructor(D).find(M);else{if(M.nodeType)return this[0]=M,this.length=1,this;if(_(M))return N.ready!==void 0?N.ready(M):M(y)}return y.makeArray(M,this)};Be.prototype=y.fn,xe=y(g);var X=/^(?:parents|prev(?:Until|All))/,ne={children:!0,contents:!0,next:!0,prev:!0};y.fn.extend({has:function(M){var D=y(M,this),N=D.length;return this.filter(function(){for(var Y=0;Y-1:N.nodeType===1&&y.find.matchesSelector(N,M))){oe.push(N);break}}return this.pushStack(oe.length>1?y.uniqueSort(oe):oe)},index:function(M){return M?typeof M=="string"?s.call(y(M),this[0]):s.call(this,M.jquery?M[0]:M):this[0]&&this[0].parentNode?this.first().prevAll().length:-1},add:function(M,D){return this.pushStack(y.uniqueSort(y.merge(this.get(),y(M,D))))},addBack:function(M){return this.add(M==null?this.prevObject:this.prevObject.filter(M))}});function Me(M,D){for(;(M=M[D])&&M.nodeType!==1;);return M}y.each({parent:function(M){var D=M.parentNode;return D&&D.nodeType!==11?D:null},parents:function(M){return Q(M,"parentNode")},parentsUntil:function(M,D,N){return Q(M,"parentNode",N)},next:function(M){return Me(M,"nextSibling")},prev:function(M){return Me(M,"previousSibling")},nextAll:function(M){return Q(M,"nextSibling")},prevAll:function(M){return Q(M,"previousSibling")},nextUntil:function(M,D,N){return Q(M,"nextSibling",N)},prevUntil:function(M,D,N){return Q(M,"previousSibling",N)},siblings:function(M){return H((M.parentNode||{}).firstChild,M)},children:function(M){return H(M.firstChild)},contents:function(M){return M.contentDocument!=null&&n(M.contentDocument)?M.contentDocument:(R(M,"template")&&(M=M.content||M),y.merge([],M.childNodes))}},function(M,D){y.fn[M]=function(N,Y){var ae=y.map(this,D,N);return M.slice(-5)!=="Until"&&(Y=N),Y&&typeof Y=="string"&&(ae=y.filter(Y,ae)),this.length>1&&(ne[M]||y.uniqueSort(ae),X.test(M)&&ae.reverse()),this.pushStack(ae)}});var Ue=/[^\x20\t\r\n\f]+/g;function et(M){var D={};return y.each(M.match(Ue)||[],function(N,Y){D[Y]=!0}),D}y.Callbacks=function(M){M=typeof M=="string"?et(M):y.extend({},M);var D,N,Y,ae,oe=[],fe=[],Ne=-1,De=function(){for(ae=ae||M.once,Y=D=!0;fe.length;Ne=-1)for(N=fe.shift();++Ne-1;)oe.splice(rt,1),rt<=Ne&&Ne--}),this},has:function(gt){return gt?y.inArray(gt,oe)>-1:oe.length>0},empty:function(){return oe&&(oe=[]),this},disable:function(){return ae=fe=[],oe=N="",this},disabled:function(){return!oe},lock:function(){return ae=fe=[],!N&&!D&&(oe=N=""),this},locked:function(){return!!ae},fireWith:function(gt,wt){return ae||(wt=wt||[],wt=[gt,wt.slice?wt.slice():wt],fe.push(wt),D||De()),this},fire:function(){return Ze.fireWith(this,arguments),this},fired:function(){return!!Y}};return Ze};function Qe(M){return M}function Ge(M){throw M}function Ie(M,D,N,Y){var ae;try{M&&_(ae=M.promise)?ae.call(M).done(D).fail(N):M&&_(ae=M.then)?ae.call(M,D,N):D.apply(void 0,[M].slice(Y))}catch(oe){N.apply(void 0,[oe])}}y.extend({Deferred:function(M){var D=[["notify","progress",y.Callbacks("memory"),y.Callbacks("memory"),2],["resolve","done",y.Callbacks("once memory"),y.Callbacks("once memory"),0,"resolved"],["reject","fail",y.Callbacks("once memory"),y.Callbacks("once memory"),1,"rejected"]],N="pending",Y={state:function(){return N},always:function(){return ae.done(arguments).fail(arguments),this},catch:function(oe){return Y.then(null,oe)},pipe:function(){var oe=arguments;return y.Deferred(function(fe){y.each(D,function(Ne,De){var Ze=_(oe[De[4]])&&oe[De[4]];ae[De[1]](function(){var gt=Ze&&Ze.apply(this,arguments);gt&&_(gt.promise)?gt.promise().progress(fe.notify).done(fe.resolve).fail(fe.reject):fe[De[0]+"With"](this,Ze?[gt]:arguments)})}),oe=null}).promise()},then:function(oe,fe,Ne){var De=0;function Ze(gt,wt,rt,Pt){return function(){var qi=this,Cn=arguments,tn=function(){var La,dl;if(!(gt=De&&(rt!==Ge&&(qi=void 0,Cn=[La]),wt.rejectWith(qi,Cn))}};gt?tr():(y.Deferred.getErrorHook?tr.error=y.Deferred.getErrorHook():y.Deferred.getStackHook&&(tr.error=y.Deferred.getStackHook()),i.setTimeout(tr))}}return y.Deferred(function(gt){D[0][3].add(Ze(0,gt,_(Ne)?Ne:Qe,gt.notifyWith)),D[1][3].add(Ze(0,gt,_(oe)?oe:Qe)),D[2][3].add(Ze(0,gt,_(fe)?fe:Ge))}).promise()},promise:function(oe){return oe!=null?y.extend(oe,Y):Y}},ae={};return y.each(D,function(oe,fe){var Ne=fe[2],De=fe[5];Y[fe[1]]=Ne.add,De&&Ne.add(function(){N=De},D[3-oe][2].disable,D[3-oe][3].disable,D[0][2].lock,D[0][3].lock),Ne.add(fe[3].fire),ae[fe[0]]=function(){return ae[fe[0]+"With"](this===ae?void 0:this,arguments),this},ae[fe[0]+"With"]=Ne.fireWith}),Y.promise(ae),M&&M.call(ae,ae),ae},when:function(M){var D=arguments.length,N=D,Y=Array(N),ae=a.call(arguments),oe=y.Deferred(),fe=function(Ne){return function(De){Y[Ne]=this,ae[Ne]=arguments.length>1?a.call(arguments):De,--D||oe.resolveWith(Y,ae)}};if(D<=1&&(Ie(M,oe.done(fe(N)).resolve,oe.reject,!D),oe.state()==="pending"||_(ae[N]&&ae[N].then)))return oe.then();for(;N--;)Ie(ae[N],fe(N),oe.reject);return oe.promise()}});var Ke=/^(Eval|Internal|Range|Reference|Syntax|Type|URI)Error$/;y.Deferred.exceptionHook=function(M,D){i.console&&i.console.warn&&M&&Ke.test(M.name)&&i.console.warn("jQuery.Deferred exception: "+M.message,M.stack,D)},y.readyException=function(M){i.setTimeout(function(){throw M})};var z=y.Deferred();y.fn.ready=function(M){return z.then(M).catch(function(D){y.readyException(D)}),this},y.extend({isReady:!1,readyWait:1,ready:function(M){(M===!0?--y.readyWait:y.isReady)||(y.isReady=!0,!(M!==!0&&--y.readyWait>0)&&z.resolveWith(g,[y]))}}),y.ready.then=z.then;function C(){g.removeEventListener("DOMContentLoaded",C),i.removeEventListener("load",C),y.ready()}g.readyState==="complete"||g.readyState!=="loading"&&!g.documentElement.doScroll?i.setTimeout(y.ready):(g.addEventListener("DOMContentLoaded",C),i.addEventListener("load",C));var S=function(M,D,N,Y,ae,oe,fe){var Ne=0,De=M.length,Ze=N==null;if(x(N)==="object"){ae=!0;for(Ne in N)S(M,D,Ne,N[Ne],!0,oe,fe)}else if(Y!==void 0&&(ae=!0,_(Y)||(fe=!0),Ze&&(fe?(D.call(M,Y),D=null):(Ze=D,D=function(gt,wt,rt){return Ze.call(y(gt),rt)})),D))for(;Ne1,null,!0)},removeData:function(M){return this.each(function(){He.remove(this,M)})}}),y.extend({queue:function(M,D,N){var Y;if(M)return D=(D||"fx")+"queue",Y=Se.get(M,D),N&&(!Y||Array.isArray(N)?Y=Se.access(M,D,y.makeArray(N)):Y.push(N)),Y||[]},dequeue:function(M,D){D=D||"fx";var N=y.queue(M,D),Y=N.length,ae=N.shift(),oe=y._queueHooks(M,D),fe=function(){y.dequeue(M,D)};ae==="inprogress"&&(ae=N.shift(),Y--),ae&&(D==="fx"&&N.unshift("inprogress"),delete oe.stop,ae.call(M,fe,oe)),!Y&&oe&&oe.empty.fire()},_queueHooks:function(M,D){var N=D+"queueHooks";return Se.get(M,N)||Se.access(M,N,{empty:y.Callbacks("once memory").add(function(){Se.remove(M,[D+"queue",N])})})}}),y.fn.extend({queue:function(M,D){var N=2;return typeof M!="string"&&(D=M,M="fx",N--),arguments.length\x20\t\r\n\f]*)/i,fi=/^$|^module$|\/(?:java|ecma)script/i;(function(){var M=g.createDocumentFragment(),D=M.appendChild(g.createElement("div")),N=g.createElement("input");N.setAttribute("type","radio"),N.setAttribute("checked","checked"),N.setAttribute("name","t"),D.appendChild(N),m.checkClone=D.cloneNode(!0).cloneNode(!0).lastChild.checked,D.innerHTML="",m.noCloneChecked=!!D.cloneNode(!0).lastChild.defaultValue,D.innerHTML="",m.option=!!D.lastChild})();var vi={thead:[1,"","
"],col:[2,"","
"],tr:[2,"","
"],td:[3,"","
"],_default:[0,"",""]};vi.tbody=vi.tfoot=vi.colgroup=vi.caption=vi.thead,vi.th=vi.td,m.option||(vi.optgroup=vi.option=[1,""]);function ri(M,D){var N;return typeof M.getElementsByTagName<"u"?N=M.getElementsByTagName(D||"*"):typeof M.querySelectorAll<"u"?N=M.querySelectorAll(D||"*"):N=[],D===void 0||D&&R(M,D)?y.merge([M],N):N}function ji(M,D){for(var N=0,Y=M.length;N-1){ae&&ae.push(oe);continue}if(Ze=xt(oe),fe=ri(wt.appendChild(oe),"script"),Ze&&ji(fe),N)for(gt=0;oe=fe[gt++];)fi.test(oe.type||"")&&N.push(oe)}return wt}var xa=/^([^.]*)(?:\.(.+)|)/;function da(){return!0}function po(){return!1}function Te(M,D,N,Y,ae,oe){var fe,Ne;if(typeof D=="object"){typeof N!="string"&&(Y=Y||N,N=void 0);for(Ne in D)Te(M,Ne,N,Y,D[Ne],oe);return M}if(Y==null&&ae==null?(ae=N,Y=N=void 0):ae==null&&(typeof N=="string"?(ae=Y,Y=void 0):(ae=Y,Y=N,N=void 0)),ae===!1)ae=po;else if(!ae)return M;return oe===1&&(fe=ae,ae=function(De){return y().off(De),fe.apply(this,arguments)},ae.guid=fe.guid||(fe.guid=y.guid++)),M.each(function(){y.event.add(this,D,ae,Y,N)})}y.event={global:{},add:function(M,D,N,Y,ae){var oe,fe,Ne,De,Ze,gt,wt,rt,Pt,qi,Cn,tn=Se.get(M);if(be(M))for(N.handler&&(oe=N,N=oe.handler,ae=oe.selector),ae&&y.find.matchesSelector(Ee,ae),N.guid||(N.guid=y.guid++),(De=tn.events)||(De=tn.events=Object.create(null)),(fe=tn.handle)||(fe=tn.handle=function(tr){return typeof y<"u"&&y.event.triggered!==tr.type?y.event.dispatch.apply(M,arguments):void 0}),D=(D||"").match(Ue)||[""],Ze=D.length;Ze--;)Ne=xa.exec(D[Ze])||[],Pt=Cn=Ne[1],qi=(Ne[2]||"").split(".").sort(),Pt&&(wt=y.event.special[Pt]||{},Pt=(ae?wt.delegateType:wt.bindType)||Pt,wt=y.event.special[Pt]||{},gt=y.extend({type:Pt,origType:Cn,data:Y,handler:N,guid:N.guid,selector:ae,needsContext:ae&&y.expr.match.needsContext.test(ae),namespace:qi.join(".")},oe),(rt=De[Pt])||(rt=De[Pt]=[],rt.delegateCount=0,(!wt.setup||wt.setup.call(M,Y,qi,fe)===!1)&&M.addEventListener&&M.addEventListener(Pt,fe)),wt.add&&(wt.add.call(M,gt),gt.handler.guid||(gt.handler.guid=N.guid)),ae?rt.splice(rt.delegateCount++,0,gt):rt.push(gt),y.event.global[Pt]=!0)},remove:function(M,D,N,Y,ae){var oe,fe,Ne,De,Ze,gt,wt,rt,Pt,qi,Cn,tn=Se.hasData(M)&&Se.get(M);if(!(!tn||!(De=tn.events))){for(D=(D||"").match(Ue)||[""],Ze=D.length;Ze--;){if(Ne=xa.exec(D[Ze])||[],Pt=Cn=Ne[1],qi=(Ne[2]||"").split(".").sort(),!Pt){for(Pt in De)y.event.remove(M,Pt+D[Ze],N,Y,!0);continue}for(wt=y.event.special[Pt]||{},Pt=(Y?wt.delegateType:wt.bindType)||Pt,rt=De[Pt]||[],Ne=Ne[2]&&new RegExp("(^|\\.)"+qi.join("\\.(?:.*\\.|)")+"(\\.|$)"),fe=oe=rt.length;oe--;)gt=rt[oe],(ae||Cn===gt.origType)&&(!N||N.guid===gt.guid)&&(!Ne||Ne.test(gt.namespace))&&(!Y||Y===gt.selector||Y==="**"&>.selector)&&(rt.splice(oe,1),gt.selector&&rt.delegateCount--,wt.remove&&wt.remove.call(M,gt));fe&&!rt.length&&((!wt.teardown||wt.teardown.call(M,qi,tn.handle)===!1)&&y.removeEvent(M,Pt,tn.handle),delete De[Pt])}y.isEmptyObject(De)&&Se.remove(M,"handle events")}},dispatch:function(M){var D,N,Y,ae,oe,fe,Ne=new Array(arguments.length),De=y.event.fix(M),Ze=(Se.get(this,"events")||Object.create(null))[De.type]||[],gt=y.event.special[De.type]||{};for(Ne[0]=De,D=1;D=1)){for(;Ze!==this;Ze=Ze.parentNode||this)if(Ze.nodeType===1&&!(M.type==="click"&&Ze.disabled===!0)){for(oe=[],fe={},N=0;N-1:y.find(ae,this,null,[Ze]).length),fe[ae]&&oe.push(Y);oe.length&&Ne.push({elem:Ze,handlers:oe})}}return Ze=this,De\s*$/g;function Ai(M,D){return R(M,"table")&&R(D.nodeType!==11?D:D.firstChild,"tr")&&y(M).children("tbody")[0]||M}function Ii(M){return M.type=(M.getAttribute("type")!==null)+"/"+M.type,M}function Wt(M){return(M.type||"").slice(0,5)==="true/"?M.type=M.type.slice(5):M.removeAttribute("type"),M}function ti(M,D){var N,Y,ae,oe,fe,Ne,De;if(D.nodeType===1){if(Se.hasData(M)&&(oe=Se.get(M),De=oe.events,De)){Se.remove(D,"handle events");for(ae in De)for(N=0,Y=De[ae].length;N1&&typeof Pt=="string"&&!m.checkClone&&ft.test(Pt))return M.each(function(Cn){var tn=M.eq(Cn);qi&&(D[0]=Pt.call(this,Cn,tn.html())),Ci(tn,D,N,Y)});if(wt&&(ae=Ni(D,M[0].ownerDocument,!1,M,Y),oe=ae.firstChild,ae.childNodes.length===1&&(ae=oe),oe||Y)){for(fe=y.map(ri(ae,"script"),Ii),Ne=fe.length;gt0&&ji(fe,!De&&ri(M,"script")),Ne},cleanData:function(M){for(var D,N,Y,ae=y.event.special,oe=0;(N=M[oe])!==void 0;oe++)if(be(N)){if(D=N[Se.expando]){if(D.events)for(Y in D.events)ae[Y]?y.event.remove(N,Y):y.removeEvent(N,Y,D.handle);N[Se.expando]=void 0}N[He.expando]&&(N[He.expando]=void 0)}}}),y.fn.extend({detach:function(M){return zi(this,M,!0)},remove:function(M){return zi(this,M)},text:function(M){return S(this,function(D){return D===void 0?y.text(this):this.empty().each(function(){(this.nodeType===1||this.nodeType===11||this.nodeType===9)&&(this.textContent=D)})},null,M,arguments.length)},append:function(){return Ci(this,arguments,function(M){if(this.nodeType===1||this.nodeType===11||this.nodeType===9){var D=Ai(this,M);D.appendChild(M)}})},prepend:function(){return Ci(this,arguments,function(M){if(this.nodeType===1||this.nodeType===11||this.nodeType===9){var D=Ai(this,M);D.insertBefore(M,D.firstChild)}})},before:function(){return Ci(this,arguments,function(M){this.parentNode&&this.parentNode.insertBefore(M,this)})},after:function(){return Ci(this,arguments,function(M){this.parentNode&&this.parentNode.insertBefore(M,this.nextSibling)})},empty:function(){for(var M,D=0;(M=this[D])!=null;D++)M.nodeType===1&&(y.cleanData(ri(M,!1)),M.textContent="");return this},clone:function(M,D){return M=M??!1,D=D??M,this.map(function(){return y.clone(this,M,D)})},html:function(M){return S(this,function(D){var N=this[0]||{},Y=0,ae=this.length;if(D===void 0&&N.nodeType===1)return N.innerHTML;if(typeof D=="string"&&!ot.test(D)&&!vi[(Yt.exec(D)||["",""])[1].toLowerCase()]){D=y.htmlPrefilter(D);try{for(;Y=0&&(De+=Math.max(0,Math.ceil(M["offset"+D[0].toUpperCase()+D.slice(1)]-oe-De-Ne-.5))||0),De+Ze}function dn(M,D,N){var Y=Ji(M),ae=!m.boxSizingReliable()||N,oe=ae&&y.css(M,"boxSizing",!1,Y)==="border-box",fe=oe,Ne=ua(M,D,Y),De="offset"+D[0].toUpperCase()+D.slice(1);if(en.test(Ne)){if(!N)return Ne;Ne="auto"}return(!m.boxSizingReliable()&&oe||!m.reliableTrDimensions()&&R(M,"tr")||Ne==="auto"||!parseFloat(Ne)&&y.css(M,"display",!1,Y)==="inline")&&M.getClientRects().length&&(oe=y.css(M,"boxSizing",!1,Y)==="border-box",fe=De in M,fe&&(Ne=M[De])),Ne=parseFloat(Ne)||0,Ne+Ei(M,D,N||(oe?"border":"content"),fe,Y,Ne)+"px"}y.extend({cssHooks:{opacity:{get:function(M,D){if(D){var N=ua(M,"opacity");return N===""?"1":N}}}},cssNumber:{animationIterationCount:!0,aspectRatio:!0,borderImageSlice:!0,columnCount:!0,flexGrow:!0,flexShrink:!0,fontWeight:!0,gridArea:!0,gridColumn:!0,gridColumnEnd:!0,gridColumnStart:!0,gridRow:!0,gridRowEnd:!0,gridRowStart:!0,lineHeight:!0,opacity:!0,order:!0,orphans:!0,scale:!0,widows:!0,zIndex:!0,zoom:!0,fillOpacity:!0,floodOpacity:!0,stopOpacity:!0,strokeMiterlimit:!0,strokeOpacity:!0},cssProps:{},style:function(M,D,N,Y){if(!(!M||M.nodeType===3||M.nodeType===8||!M.style)){var ae,oe,fe,Ne=ce(D),De=Un.test(D),Ze=M.style;if(De||(D=mo(Ne)),fe=y.cssHooks[D]||y.cssHooks[Ne],N!==void 0){if(oe=typeof N,oe==="string"&&(ae=ue.exec(N))&&ae[1]&&(N=We(M,D,ae),oe="number"),N==null||N!==N)return;oe==="number"&&!De&&(N+=ae&&ae[3]||(y.cssNumber[Ne]?"":"px")),!m.clearCloneStyle&&N===""&&D.indexOf("background")===0&&(Ze[D]="inherit"),(!fe||!("set"in fe)||(N=fe.set(M,N,Y))!==void 0)&&(De?Ze.setProperty(D,N):Ze[D]=N)}else return fe&&"get"in fe&&(ae=fe.get(M,!1,Y))!==void 0?ae:Ze[D]}},css:function(M,D,N,Y){var ae,oe,fe,Ne=ce(D),De=Un.test(D);return De||(D=mo(Ne)),fe=y.cssHooks[D]||y.cssHooks[Ne],fe&&"get"in fe&&(ae=fe.get(M,!0,N)),ae===void 0&&(ae=ua(M,D,Y)),ae==="normal"&&D in er&&(ae=er[D]),N===""||N?(oe=parseFloat(ae),N===!0||isFinite(oe)?oe||0:ae):ae}}),y.each(["height","width"],function(M,D){y.cssHooks[D]={get:function(N,Y,ae){if(Y)return Qo.test(y.css(N,"display"))&&(!N.getClientRects().length||!N.getBoundingClientRect().width)?jo(N,Io,function(){return dn(N,D,ae)}):dn(N,D,ae)},set:function(N,Y,ae){var oe,fe=Ji(N),Ne=!m.scrollboxSize()&&fe.position==="absolute",De=Ne||ae,Ze=De&&y.css(N,"boxSizing",!1,fe)==="border-box",gt=ae?Ei(N,D,ae,Ze,fe):0;return Ze&&Ne&&(gt-=Math.ceil(N["offset"+D[0].toUpperCase()+D.slice(1)]-parseFloat(fe[D])-Ei(N,D,"border",!1,fe)-.5)),gt&&(oe=ue.exec(Y))&&(oe[3]||"px")!=="px"&&(N.style[D]=Y,Y=y.css(N,D)),ui(N,Y,gt)}}}),y.cssHooks.marginLeft=jn(m.reliableMarginLeft,function(M,D){if(D)return(parseFloat(ua(M,"marginLeft"))||M.getBoundingClientRect().left-jo(M,{marginLeft:0},function(){return M.getBoundingClientRect().left}))+"px"}),y.each({margin:"",padding:"",border:"Width"},function(M,D){y.cssHooks[M+D]={expand:function(N){for(var Y=0,ae={},oe=typeof N=="string"?N.split(" "):[N];Y<4;Y++)ae[M+Fe[Y]+D]=oe[Y]||oe[Y-2]||oe[0];return ae}},M!=="margin"&&(y.cssHooks[M+D].set=ui)}),y.fn.extend({css:function(M,D){return S(this,function(N,Y,ae){var oe,fe,Ne={},De=0;if(Array.isArray(Y)){for(oe=Ji(N),fe=Y.length;De1)}});function ai(M,D,N,Y,ae){return new ai.prototype.init(M,D,N,Y,ae)}y.Tween=ai,ai.prototype={constructor:ai,init:function(M,D,N,Y,ae,oe){this.elem=M,this.prop=N,this.easing=ae||y.easing._default,this.options=D,this.start=this.now=this.cur(),this.end=Y,this.unit=oe||(y.cssNumber[N]?"":"px")},cur:function(){var M=ai.propHooks[this.prop];return M&&M.get?M.get(this):ai.propHooks._default.get(this)},run:function(M){var D,N=ai.propHooks[this.prop];return this.options.duration?this.pos=D=y.easing[this.easing](M,this.options.duration*M,0,1,this.options.duration):this.pos=D=M,this.now=(this.end-this.start)*D+this.start,this.options.step&&this.options.step.call(this.elem,this.now,this),N&&N.set?N.set(this):ai.propHooks._default.set(this),this}},ai.prototype.init.prototype=ai.prototype,ai.propHooks={_default:{get:function(M){var D;return M.elem.nodeType!==1||M.elem[M.prop]!=null&&M.elem.style[M.prop]==null?M.elem[M.prop]:(D=y.css(M.elem,M.prop,""),!D||D==="auto"?0:D)},set:function(M){y.fx.step[M.prop]?y.fx.step[M.prop](M):M.elem.nodeType===1&&(y.cssHooks[M.prop]||M.elem.style[mo(M.prop)]!=null)?y.style(M.elem,M.prop,M.now+M.unit):M.elem[M.prop]=M.now}}},ai.propHooks.scrollTop=ai.propHooks.scrollLeft={set:function(M){M.elem.nodeType&&M.elem.parentNode&&(M.elem[M.prop]=M.now)}},y.easing={linear:function(M){return M},swing:function(M){return .5-Math.cos(M*Math.PI)/2},_default:"swing"},y.fx=ai.prototype.init,y.fx.step={};var Xn,Ma,pc=/^(?:toggle|show|hide)$/,Rl=/queueHooks$/;function fs(){Ma&&(g.hidden===!1&&i.requestAnimationFrame?i.requestAnimationFrame(fs):i.setTimeout(fs,y.fx.interval),y.fx.tick())}function mc(){return i.setTimeout(function(){Xn=void 0}),Xn=Date.now()}function jl(M,D){var N,Y=0,ae={height:M};for(D=D?1:0;Y<4;Y+=2-D)N=Fe[Y],ae["margin"+N]=ae["padding"+N]=M;return D&&(ae.opacity=ae.width=M),ae}function fp(M,D,N){for(var Y,ae=(Dr.tweeners[D]||[]).concat(Dr.tweeners["*"]),oe=0,fe=ae.length;oe1)},removeAttr:function(M){return this.each(function(){y.removeAttr(this,M)})}}),y.extend({attr:function(M,D,N){var Y,ae,oe=M.nodeType;if(!(oe===3||oe===8||oe===2)){if(typeof M.getAttribute>"u")return y.prop(M,D,N);if((oe!==1||!y.isXMLDoc(M))&&(ae=y.attrHooks[D.toLowerCase()]||(y.expr.match.bool.test(D)?_c:void 0)),N!==void 0){if(N===null){y.removeAttr(M,D);return}return ae&&"set"in ae&&(Y=ae.set(M,N,D))!==void 0?Y:(M.setAttribute(D,N+""),N)}return ae&&"get"in ae&&(Y=ae.get(M,D))!==null?Y:(Y=y.find.attr(M,D),Y??void 0)}},attrHooks:{type:{set:function(M,D){if(!m.radioValue&&D==="radio"&&R(M,"input")){var N=M.value;return M.setAttribute("type",D),N&&(M.value=N),D}}}},removeAttr:function(M,D){var N,Y=0,ae=D&&D.match(Ue);if(ae&&M.nodeType===1)for(;N=ae[Y++];)M.removeAttribute(N)}}),_c={set:function(M,D,N){return D===!1?y.removeAttr(M,N):M.setAttribute(N,N),N}},y.each(y.expr.match.bool.source.match(/\w+/g),function(M,D){var N=js[D]||y.find.attr;js[D]=function(Y,ae,oe){var fe,Ne,De=ae.toLowerCase();return oe||(Ne=js[De],js[De]=fe,fe=N(Y,ae,oe)!=null?De:null,js[De]=Ne),fe}});var Vt=/^(?:input|select|textarea|button)$/i,Ce=/^(?:a|area)$/i;y.fn.extend({prop:function(M,D){return S(this,y.prop,M,D,arguments.length>1)},removeProp:function(M){return this.each(function(){delete this[y.propFix[M]||M]})}}),y.extend({prop:function(M,D,N){var Y,ae,oe=M.nodeType;if(!(oe===3||oe===8||oe===2))return(oe!==1||!y.isXMLDoc(M))&&(D=y.propFix[D]||D,ae=y.propHooks[D]),N!==void 0?ae&&"set"in ae&&(Y=ae.set(M,N,D))!==void 0?Y:M[D]=N:ae&&"get"in ae&&(Y=ae.get(M,D))!==null?Y:M[D]},propHooks:{tabIndex:{get:function(M){var D=y.find.attr(M,"tabindex");return D?parseInt(D,10):Vt.test(M.nodeName)||Ce.test(M.nodeName)&&M.href?0:-1}}},propFix:{for:"htmlFor",class:"className"}}),m.optSelected||(y.propHooks.selected={get:function(M){var D=M.parentNode;return D&&D.parentNode&&D.parentNode.selectedIndex,null},set:function(M){var D=M.parentNode;D&&(D.selectedIndex,D.parentNode&&D.parentNode.selectedIndex)}}),y.each(["tabIndex","readOnly","maxLength","cellSpacing","cellPadding","rowSpan","colSpan","useMap","frameBorder","contentEditable"],function(){y.propFix[this.toLowerCase()]=this});function nt(M){var D=M.match(Ue)||[];return D.join(" ")}function Mt(M){return M.getAttribute&&M.getAttribute("class")||""}function pi(M){return Array.isArray(M)?M:typeof M=="string"?M.match(Ue)||[]:[]}y.fn.extend({addClass:function(M){var D,N,Y,ae,oe,fe;return _(M)?this.each(function(Ne){y(this).addClass(M.call(this,Ne,Mt(this)))}):(D=pi(M),D.length?this.each(function(){if(Y=Mt(this),N=this.nodeType===1&&" "+nt(Y)+" ",N){for(oe=0;oe-1;)N=N.replace(" "+ae+" "," ");fe=nt(N),Y!==fe&&this.setAttribute("class",fe)}}):this):this.attr("class","")},toggleClass:function(M,D){var N,Y,ae,oe,fe=typeof M,Ne=fe==="string"||Array.isArray(M);return _(M)?this.each(function(De){y(this).toggleClass(M.call(this,De,Mt(this),D),D)}):typeof D=="boolean"&&Ne?D?this.addClass(M):this.removeClass(M):(N=pi(M),this.each(function(){if(Ne)for(oe=y(this),ae=0;ae-1)return!0;return!1}});var Fi=/\r/g;y.fn.extend({val:function(M){var D,N,Y,ae=this[0];return arguments.length?(Y=_(M),this.each(function(oe){var fe;this.nodeType===1&&(Y?fe=M.call(this,oe,y(this).val()):fe=M,fe==null?fe="":typeof fe=="number"?fe+="":Array.isArray(fe)&&(fe=y.map(fe,function(Ne){return Ne==null?"":Ne+""})),D=y.valHooks[this.type]||y.valHooks[this.nodeName.toLowerCase()],(!D||!("set"in D)||D.set(this,fe,"value")===void 0)&&(this.value=fe))})):ae?(D=y.valHooks[ae.type]||y.valHooks[ae.nodeName.toLowerCase()],D&&"get"in D&&(N=D.get(ae,"value"))!==void 0?N:(N=ae.value,typeof N=="string"?N.replace(Fi,""):N??"")):void 0}}),y.extend({valHooks:{option:{get:function(M){var D=y.find.attr(M,"value");return D??nt(y.text(M))}},select:{get:function(M){var D,N,Y,ae=M.options,oe=M.selectedIndex,fe=M.type==="select-one",Ne=fe?null:[],De=fe?oe+1:ae.length;for(oe<0?Y=De:Y=fe?oe:0;Y-1)&&(N=!0);return N||(M.selectedIndex=-1),oe}}}}),y.each(["radio","checkbox"],function(){y.valHooks[this]={set:function(M,D){if(Array.isArray(D))return M.checked=y.inArray(y(M).val(),D)>-1}},m.checkOn||(y.valHooks[this].get=function(M){return M.getAttribute("value")===null?"on":M.value})});var Di=i.location,ka={guid:Date.now()},Qa=/\?/;y.parseXML=function(M){var D,N;if(!M||typeof M!="string")return null;try{D=new i.DOMParser().parseFromString(M,"text/xml")}catch{}return N=D&&D.getElementsByTagName("parsererror")[0],(!D||N)&&y.error("Invalid XML: "+(N?y.map(N.childNodes,function(Y){return Y.textContent}).join(` `):M)),D};var lr=/^(?:focusinfocus|focusoutblur)$/,eo=function(M){M.stopPropagation()};y.extend(y.event,{trigger:function(M,D,N,Y){var ae,oe,fe,Ne,De,Ze,gt,wt,rt=[N||g],Pt=d.call(M,"type")?M.type:M,qi=d.call(M,"namespace")?M.namespace.split("."):[];if(oe=wt=fe=N=N||g,!(N.nodeType===3||N.nodeType===8)&&!lr.test(Pt+y.event.triggered)&&(Pt.indexOf(".")>-1&&(qi=Pt.split("."),Pt=qi.shift(),qi.sort()),De=Pt.indexOf(":")<0&&"on"+Pt,M=M[y.expando]?M:new y.Event(Pt,typeof M=="object"&&M),M.isTrigger=Y?2:3,M.namespace=qi.join("."),M.rnamespace=M.namespace?new RegExp("(^|\\.)"+qi.join("\\.(?:.*\\.|)")+"(\\.|$)"):null,M.result=void 0,M.target||(M.target=N),D=D==null?[M]:y.makeArray(D,[M]),gt=y.event.special[Pt]||{},!(!Y&>.trigger&>.trigger.apply(N,D)===!1))){if(!Y&&!gt.noBubble&&!f(N)){for(Ne=gt.delegateType||Pt,lr.test(Ne+Pt)||(oe=oe.parentNode);oe;oe=oe.parentNode)rt.push(oe),fe=oe;fe===(N.ownerDocument||g)&&rt.push(fe.defaultView||fe.parentWindow||i)}for(ae=0;(oe=rt[ae++])&&!M.isPropagationStopped();)wt=oe,M.type=ae>1?Ne:gt.bindType||Pt,Ze=(Se.get(oe,"events")||Object.create(null))[M.type]&&Se.get(oe,"handle"),Ze&&Ze.apply(oe,D),Ze=De&&oe[De],Ze&&Ze.apply&&be(oe)&&(M.result=Ze.apply(oe,D),M.result===!1&&M.preventDefault());return M.type=Pt,!Y&&!M.isDefaultPrevented()&&(!gt._default||gt._default.apply(rt.pop(),D)===!1)&&be(N)&&De&&_(N[Pt])&&!f(N)&&(fe=N[De],fe&&(N[De]=null),y.event.triggered=Pt,M.isPropagationStopped()&&wt.addEventListener(Pt,eo),N[Pt](),M.isPropagationStopped()&&wt.removeEventListener(Pt,eo),y.event.triggered=void 0,fe&&(N[De]=fe)),M.result}},simulate:function(M,D,N){var Y=y.extend(new y.Event,N,{type:M,isSimulated:!0});y.event.trigger(Y,null,D)}}),y.fn.extend({trigger:function(M,D){return this.each(function(){y.event.trigger(M,D,this)})},triggerHandler:function(M,D){var N=this[0];if(N)return y.event.trigger(M,D,N,!0)}});var ta=/\[\]$/,to=/\r?\n/g,Sf=/^(?:submit|button|image|reset|file)$/i,zy=/^(?:input|select|textarea|keygen)/i;function zf(M,D,N,Y){var ae;if(Array.isArray(D))y.each(D,function(oe,fe){N||ta.test(M)?Y(M,fe):zf(M+"["+(typeof fe=="object"&&fe!=null?oe:"")+"]",fe,N,Y)});else if(!N&&x(D)==="object")for(ae in D)zf(M+"["+ae+"]",D[ae],N,Y);else Y(M,D)}y.param=function(M,D){var N,Y=[],ae=function(oe,fe){var Ne=_(fe)?fe():fe;Y[Y.length]=encodeURIComponent(oe)+"="+encodeURIComponent(Ne??"")};if(M==null)return"";if(Array.isArray(M)||M.jquery&&!y.isPlainObject(M))y.each(M,function(){ae(this.name,this.value)});else for(N in M)zf(N,M[N],D,ae);return Y.join("&")},y.fn.extend({serialize:function(){return y.param(this.serializeArray())},serializeArray:function(){return this.map(function(){var M=y.prop(this,"elements");return M?y.makeArray(M):this}).filter(function(){var M=this.type;return this.name&&!y(this).is(":disabled")&&zy.test(this.nodeName)&&!Sf.test(M)&&(this.checked||!Xt.test(M))}).map(function(M,D){var N=y(this).val();return N==null?null:Array.isArray(N)?y.map(N,function(Y){return{name:D.name,value:Y.replace(to,`\r `)}}):{name:D.name,value:N.replace(to,`\r `)}}).get()}});var H1=/%20/g,G1=/#.*$/,Ey=/([?&])_=[^&]*/,Ef=/^(.*?):[ \t]*([^\r\n]*)$/mg,My=/^(?:about|app|app-storage|.+-extension|file|res|widget):$/,sd=/^(?:GET|HEAD)$/,Ty=/^\/\//,Mf={},gp={},Tf="*/".concat("*"),Xr=g.createElement("a");Xr.href=Di.href;function cl(M){return function(D,N){typeof D!="string"&&(N=D,D="*");var Y,ae=0,oe=D.toLowerCase().match(Ue)||[];if(_(N))for(;Y=oe[ae++];)Y[0]==="+"?(Y=Y.slice(1)||"*",(M[Y]=M[Y]||[]).unshift(N)):(M[Y]=M[Y]||[]).push(N)}}function r_(M,D,N,Y){var ae={},oe=M===gp;function fe(Ne){var De;return ae[Ne]=!0,y.each(M[Ne]||[],function(Ze,gt){var wt=gt(D,N,Y);if(typeof wt=="string"&&!oe&&!ae[wt])return D.dataTypes.unshift(wt),fe(wt),!1;if(oe)return!(De=wt)}),De}return fe(D.dataTypes[0])||!ae["*"]&&fe("*")}function Qd(M,D){var N,Y,ae=y.ajaxSettings.flatOptions||{};for(N in D)D[N]!==void 0&&((ae[N]?M:Y||(Y={}))[N]=D[N]);return Y&&y.extend(!0,M,Y),M}function Af(M,D,N){for(var Y,ae,oe,fe,Ne=M.contents,De=M.dataTypes;De[0]==="*";)De.shift(),Y===void 0&&(Y=M.mimeType||D.getResponseHeader("Content-Type"));if(Y){for(ae in Ne)if(Ne[ae]&&Ne[ae].test(Y)){De.unshift(ae);break}}if(De[0]in N)oe=De[0];else{for(ae in N){if(!De[0]||M.converters[ae+" "+De[0]]){oe=ae;break}fe||(fe=ae)}oe=oe||fe}if(oe)return oe!==De[0]&&De.unshift(oe),N[oe]}function Cf(M,D,N,Y){var ae,oe,fe,Ne,De,Ze={},gt=M.dataTypes.slice();if(gt[1])for(fe in M.converters)Ze[fe.toLowerCase()]=M.converters[fe];for(oe=gt.shift();oe;)if(M.responseFields[oe]&&(N[M.responseFields[oe]]=D),!De&&Y&&M.dataFilter&&(D=M.dataFilter(D,M.dataType)),De=oe,oe=gt.shift(),oe){if(oe==="*")oe=De;else if(De!=="*"&&De!==oe){if(fe=Ze[De+" "+oe]||Ze["* "+oe],!fe){for(ae in Ze)if(Ne=ae.split(" "),Ne[1]===oe&&(fe=Ze[De+" "+Ne[0]]||Ze["* "+Ne[0]],fe)){fe===!0?fe=Ze[ae]:Ze[ae]!==!0&&(oe=Ne[0],gt.unshift(Ne[1]));break}}if(fe!==!0)if(fe&&M.throws)D=fe(D);else try{D=fe(D)}catch(wt){return{state:"parsererror",error:fe?wt:"No conversion from "+De+" to "+oe}}}}return{state:"success",data:D}}y.extend({active:0,lastModified:{},etag:{},ajaxSettings:{url:Di.href,type:"GET",isLocal:My.test(Di.protocol),global:!0,processData:!0,async:!0,contentType:"application/x-www-form-urlencoded; charset=UTF-8",accepts:{"*":Tf,text:"text/plain",html:"text/html",xml:"application/xml, text/xml",json:"application/json, text/javascript"},contents:{xml:/\bxml\b/,html:/\bhtml/,json:/\bjson\b/},responseFields:{xml:"responseXML",text:"responseText",json:"responseJSON"},converters:{"* text":String,"text html":!0,"text json":JSON.parse,"text xml":y.parseXML},flatOptions:{url:!0,context:!0}},ajaxSetup:function(M,D){return D?Qd(Qd(M,y.ajaxSettings),D):Qd(y.ajaxSettings,M)},ajaxPrefilter:cl(Mf),ajaxTransport:cl(gp),ajax:function(M,D){typeof M=="object"&&(D=M,M=void 0),D=D||{};var N,Y,ae,oe,fe,Ne,De,Ze,gt,wt,rt=y.ajaxSetup({},D),Pt=rt.context||rt,qi=rt.context&&(Pt.nodeType||Pt.jquery)?y(Pt):y.event,Cn=y.Deferred(),tn=y.Callbacks("once memory"),tr=rt.statusCode||{},La={},dl={},Is="canceled",hn={readyState:0,getResponseHeader:function(Dn){var Na;if(De){if(!oe)for(oe={};Na=Ef.exec(ae);)oe[Na[1].toLowerCase()+" "]=(oe[Na[1].toLowerCase()+" "]||[]).concat(Na[2]);Na=oe[Dn.toLowerCase()+" "]}return Na==null?null:Na.join(", ")},getAllResponseHeaders:function(){return De?ae:null},setRequestHeader:function(Dn,Na){return De==null&&(Dn=dl[Dn.toLowerCase()]=dl[Dn.toLowerCase()]||Dn,La[Dn]=Na),this},overrideMimeType:function(Dn){return De==null&&(rt.mimeType=Dn),this},statusCode:function(Dn){var Na;if(Dn)if(De)hn.always(Dn[hn.status]);else for(Na in Dn)tr[Na]=[tr[Na],Dn[Na]];return this},abort:function(Dn){var Na=Dn||Is;return N&&N.abort(Na),Do(0,Na),this}};if(Cn.promise(hn),rt.url=((M||rt.url||Di.href)+"").replace(Ty,Di.protocol+"//"),rt.type=D.method||D.type||rt.method||rt.type,rt.dataTypes=(rt.dataType||"*").toLowerCase().match(Ue)||[""],rt.crossDomain==null){Ne=g.createElement("a");try{Ne.href=rt.url,Ne.href=Ne.href,rt.crossDomain=Xr.protocol+"//"+Xr.host!=Ne.protocol+"//"+Ne.host}catch{rt.crossDomain=!0}}if(rt.data&&rt.processData&&typeof rt.data!="string"&&(rt.data=y.param(rt.data,rt.traditional)),r_(Mf,rt,D,hn),De)return hn;Ze=y.event&&rt.global,Ze&&y.active++===0&&y.event.trigger("ajaxStart"),rt.type=rt.type.toUpperCase(),rt.hasContent=!sd.test(rt.type),Y=rt.url.replace(G1,""),rt.hasContent?rt.data&&rt.processData&&(rt.contentType||"").indexOf("application/x-www-form-urlencoded")===0&&(rt.data=rt.data.replace(H1,"+")):(wt=rt.url.slice(Y.length),rt.data&&(rt.processData||typeof rt.data=="string")&&(Y+=(Qa.test(Y)?"&":"?")+rt.data,delete rt.data),rt.cache===!1&&(Y=Y.replace(Ey,"$1"),wt=(Qa.test(Y)?"&":"?")+"_="+ka.guid+++wt),rt.url=Y+wt),rt.ifModified&&(y.lastModified[Y]&&hn.setRequestHeader("If-Modified-Since",y.lastModified[Y]),y.etag[Y]&&hn.setRequestHeader("If-None-Match",y.etag[Y])),(rt.data&&rt.hasContent&&rt.contentType!==!1||D.contentType)&&hn.setRequestHeader("Content-Type",rt.contentType),hn.setRequestHeader("Accept",rt.dataTypes[0]&&rt.accepts[rt.dataTypes[0]]?rt.accepts[rt.dataTypes[0]]+(rt.dataTypes[0]!=="*"?", "+Tf+"; q=0.01":""):rt.accepts["*"]);for(gt in rt.headers)hn.setRequestHeader(gt,rt.headers[gt]);if(rt.beforeSend&&(rt.beforeSend.call(Pt,hn,rt)===!1||De))return hn.abort();if(Is="abort",tn.add(rt.complete),hn.done(rt.success),hn.fail(rt.error),N=r_(gp,rt,D,hn),!N)Do(-1,"No Transport");else{if(hn.readyState=1,Ze&&qi.trigger("ajaxSend",[hn,rt]),De)return hn;rt.async&&rt.timeout>0&&(fe=i.setTimeout(function(){hn.abort("timeout")},rt.timeout));try{De=!1,N.send(La,Do)}catch(Dn){if(De)throw Dn;Do(-1,Dn)}}function Do(Dn,Na,bp,Bf){var ul,yp,pl,hc,fc,gs=Na;De||(De=!0,fe&&i.clearTimeout(fe),N=void 0,ae=Bf||"",hn.readyState=Dn>0?4:0,ul=Dn>=200&&Dn<300||Dn===304,bp&&(hc=Af(rt,hn,bp)),!ul&&y.inArray("script",rt.dataTypes)>-1&&y.inArray("json",rt.dataTypes)<0&&(rt.converters["text script"]=function(){}),hc=Cf(rt,hc,hn,ul),ul?(rt.ifModified&&(fc=hn.getResponseHeader("Last-Modified"),fc&&(y.lastModified[Y]=fc),fc=hn.getResponseHeader("etag"),fc&&(y.etag[Y]=fc)),Dn===204||rt.type==="HEAD"?gs="nocontent":Dn===304?gs="notmodified":(gs=hc.state,yp=hc.data,pl=hc.error,ul=!pl)):(pl=gs,(Dn||!gs)&&(gs="error",Dn<0&&(Dn=0))),hn.status=Dn,hn.statusText=(Na||gs)+"",ul?Cn.resolveWith(Pt,[yp,gs,hn]):Cn.rejectWith(Pt,[hn,gs,pl]),hn.statusCode(tr),tr=void 0,Ze&&qi.trigger(ul?"ajaxSuccess":"ajaxError",[hn,rt,ul?yp:pl]),tn.fireWith(Pt,[hn,gs]),Ze&&(qi.trigger("ajaxComplete",[hn,rt]),--y.active||y.event.trigger("ajaxStop")))}return hn},getJSON:function(M,D,N){return y.get(M,D,N,"json")},getScript:function(M,D){return y.get(M,void 0,D,"script")}}),y.each(["get","post"],function(M,D){y[D]=function(N,Y,ae,oe){return _(Y)&&(oe=oe||ae,ae=Y,Y=void 0),y.ajax(y.extend({url:N,type:D,dataType:oe,data:Y,success:ae},y.isPlainObject(N)&&N))}}),y.ajaxPrefilter(function(M){var D;for(D in M.headers)D.toLowerCase()==="content-type"&&(M.contentType=M.headers[D]||"")}),y._evalUrl=function(M,D,N){return y.ajax({url:M,type:"GET",dataType:"script",cache:!0,async:!1,global:!1,converters:{"text script":function(){}},dataFilter:function(Y){y.globalEval(Y,D,N)}})},y.fn.extend({wrapAll:function(M){var D;return this[0]&&(_(M)&&(M=M.call(this[0])),D=y(M,this[0].ownerDocument).eq(0).clone(!0),this[0].parentNode&&D.insertBefore(this[0]),D.map(function(){for(var N=this;N.firstElementChild;)N=N.firstElementChild;return N}).append(this)),this},wrapInner:function(M){return _(M)?this.each(function(D){y(this).wrapInner(M.call(this,D))}):this.each(function(){var D=y(this),N=D.contents();N.length?N.wrapAll(M):D.append(M)})},wrap:function(M){var D=_(M);return this.each(function(N){y(this).wrapAll(D?M.call(this,N):M)})},unwrap:function(M){return this.parent(M).not("body").each(function(){y(this).replaceWith(this.childNodes)}),this}}),y.expr.pseudos.hidden=function(M){return!y.expr.pseudos.visible(M)},y.expr.pseudos.visible=function(M){return!!(M.offsetWidth||M.offsetHeight||M.getClientRects().length)},y.ajaxSettings.xhr=function(){try{return new i.XMLHttpRequest}catch{}};var eu={0:200,1223:204},tu=y.ajaxSettings.xhr();m.cors=!!tu&&"withCredentials"in tu,m.ajax=tu=!!tu,y.ajaxTransport(function(M){var D,N;if(m.cors||tu&&!M.crossDomain)return{send:function(Y,ae){var oe,fe=M.xhr();if(fe.open(M.type,M.url,M.async,M.username,M.password),M.xhrFields)for(oe in M.xhrFields)fe[oe]=M.xhrFields[oe];M.mimeType&&fe.overrideMimeType&&fe.overrideMimeType(M.mimeType),!M.crossDomain&&!Y["X-Requested-With"]&&(Y["X-Requested-With"]="XMLHttpRequest");for(oe in Y)fe.setRequestHeader(oe,Y[oe]);D=function(Ne){return function(){D&&(D=N=fe.onload=fe.onerror=fe.onabort=fe.ontimeout=fe.onreadystatechange=null,Ne==="abort"?fe.abort():Ne==="error"?typeof fe.status!="number"?ae(0,"error"):ae(fe.status,fe.statusText):ae(eu[fe.status]||fe.status,fe.statusText,(fe.responseType||"text")!=="text"||typeof fe.responseText!="string"?{binary:fe.response}:{text:fe.responseText},fe.getAllResponseHeaders()))}},fe.onload=D(),N=fe.onerror=fe.ontimeout=D("error"),fe.onabort!==void 0?fe.onabort=N:fe.onreadystatechange=function(){fe.readyState===4&&i.setTimeout(function(){D&&N()})},D=D("abort");try{fe.send(M.hasContent&&M.data||null)}catch(Ne){if(D)throw Ne}},abort:function(){D&&D()}}}),y.ajaxPrefilter(function(M){M.crossDomain&&(M.contents.script=!1)}),y.ajaxSetup({accepts:{script:"text/javascript, application/javascript, application/ecmascript, application/x-ecmascript"},contents:{script:/\b(?:java|ecma)script\b/},converters:{"text script":function(M){return y.globalEval(M),M}}}),y.ajaxPrefilter("script",function(M){M.cache===void 0&&(M.cache=!1),M.crossDomain&&(M.type="GET")}),y.ajaxTransport("script",function(M){if(M.crossDomain||M.scriptAttrs){var D,N;return{send:function(Y,ae){D=y(" `]},media:void 0})},$ae=void 0,Yae=void 0,Xae=!1;function Jae(i,e,t,n,a,o,r,s,l,c){let d=(typeof t=="function"?t.options:t)||{};d.__file="js/texturing/ColorPickerNormal.vue",d.render||(d.render=i.render,d.staticRenderFns=i.staticRenderFns,d._compiled=!0,a&&(d.functional=!0)),d._scopeId=n;{let u;if(e&&(u=r?function(p){e.call(this,c(p,this.$root.$options.shadowRoot))}:function(p){e.call(this,s(p))}),u!==void 0)if(d.functional){let p=d.render;d.render=function(_,f){return u.call(f),p(_,f)}}else{let p=d.beforeCreate;d.beforeCreate=p?[].concat(p,u):[u]}}return d}function WC(){let i=WC.styles||(WC.styles={}),e=typeof navigator<"u"&&/msie [6-9]\\b/.test(navigator.userAgent.toLowerCase());return function(n,a){if(document.querySelector('style[data-vue-ssr-id~="'+n+'"]'))return;let o=e?a.media||"default":n,r=i[o]||(i[o]={ids:[],parts:[],element:void 0});if(!r.ids.includes(n)){let s=a.source,l=r.ids.length;if(r.ids.push(n),e&&(r.element=r.element||document.querySelector("style[data-group="+o+"]")),!r.element){let c=document.head||document.getElementsByTagName("head")[0],d=r.element=document.createElement("style");d.type="text/css",a.media&&d.setAttribute("media",a.media),e&&(d.setAttribute("data-group",o),d.setAttribute("data-next-index","0")),c.appendChild(d)}if(e&&(l=parseInt(r.element.getAttribute("data-next-index")),r.element.setAttribute("data-next-index",l+1)),r.element.styleSheet)r.parts.push(s),r.element.styleSheet.cssText=r.parts.filter(Boolean).join(` `);else{let c=document.createTextNode(s),d=r.element.childNodes;d[l]&&r.element.removeChild(d[l]),d.length?r.element.insertBefore(c,d[l]):r.element.appendChild(c)}}}}var Zae=Jae({render:E5,staticRenderFns:Wae},Kae,qae,$ae,Xae,Yae,!1,WC,void 0,void 0),M5=Zae;StateMemory.init("color_palettes","array");var j1={default:["#1a1a1b","#353637","#464849","#5d5f60","#757677","#868788","#979b9d","#b8bdbe","#dadedf","#ffffff","#9a080f","#b40a1a","#d21129","#ef2142","#ff5774","#bb7907","#cc9104","#edb508","#fcd720","#fef364","#0d7e36","#12933d","#11aa38","#1cc93d","#29e64d","#044b8f","#0955a8","#126bc3","#1782db","#339afc","#cd3e00","#e65b00","#f37800","#f89520","#fdaf40","#02a8c1","#0cc3ca","#17d1c7","#38debd","#5be9b7"],material:["#ffebee","#ffcdd2","#ef9a9a","#e57373","#ef5350","#f44336","#e53935","#d32f2f","#c62828","#b71c1c","#ff5252","#ff1744","#fce4ec","#f8bbd0","#f48fb1","#f06292","#ec407a","#e91e63","#d81b60","#c2185b","#ad1457","#880e4f","#ff4081","#f50057","#f3e5f5","#e1bee7","#ce93d8","#ba68c8","#ab47bc","#9c27b0","#8e24aa","#7b1fa2","#6a1b9a","#4a148c","#e040fb","#d500f9","#ede7f6","#d1c4e9","#b39ddb","#9575cd","#7e57c2","#673ab7","#5e35b1","#512da8","#4527a0","#311b92","#7c4dff","#651fff","#e8eaf6","#c5cae9","#9fa8da","#7986cb","#5c6bc0","#3f51b5","#3949ab","#303f9f","#283593","#1a237e","#536dfe","#3d5afe","#e3f2fd","#bbdefb","#90caf9","#64b5f6","#42a5f5","#2196f3","#1e88e5","#1976d2","#1565c0","#0d47a1","#448aff","#2979ff","#e1f5fe","#b3e5fc","#81d4fa","#4fc3f7","#29b6f6","#03a9f4","#039be5","#0288d1","#0277bd","#01579b","#40c4ff","#00b0ff","#e0f7fa","#b2ebf2","#80deea","#4dd0e1","#26c6da","#00bcd4","#00acc1","#0097a7","#00838f","#006064","#18ffff","#00e5ff","#e0f2f1","#b2dfdb","#80cbc4","#4db6ac","#26a69a","#009688","#00897b","#00796b","#00695c","#004d40","#64ffda","#1de9b6","#e8f5e9","#c8e6c9","#a5d6a7","#81c784","#66bb6a","#4caf50","#43a047","#388e3c","#2e7d32","#1b5e20","#69f0ae","#00e676","#f1f8e9","#dcedc8","#c5e1a5","#aed581","#9ccc65","#8bc34a","#7cb342","#689f38","#558b2f","#33691e","#b2ff59","#76ff03","#f9fbe7","#f0f4c3","#e6ee9c","#dce775","#d4e157","#cddc39","#c0ca33","#afb42b","#9e9d24","#827717","#eeff41","#c6ff00","#fffde7","#fff9c4","#fff59d","#fff176","#ffee58","#ffeb3b","#fdd835","#fbc02d","#f9a825","#f57f17","#ffff00","#ffea00","#fff8e1","#ffecb3","#ffe082","#ffd54f","#ffca28","#ffc107","#ffb300","#ffa000","#ff8f00","#ff6f00","#ffd740","#ffc400","#fff3e0","#ffe0b2","#ffcc80","#ffb74d","#ffa726","#ff9800","#fb8c00","#f57c00","#ef6c00","#e65100","#ffab40","#ff9100","#fbe9e7","#ffccbc","#ffab91","#ff8a65","#ff7043","#ff5722","#f4511e","#e64a19","#d84315","#bf360c","#ff6e40","#ff3d00","#efebe9","#d7ccc8","#bcaaa4","#a1887f","#8d6e63","#795548","#6d4c41","#5d4037","#4e342e","#3e2723","#6d422d","#593022","#fafafa","#f5f5f5","#eeeeee","#e0e0e0","#bdbdbd","#9e9e9e","#757575","#616161","#424242","#212121","#ffffff","#000000","#eceff1","#cfd8dc","#b0bec5","#90a4ae","#78909c","#607d8b","#546e7a","#455a64","#37474f","#263238"],endesga64:["#ff0040","#131313","#1b1b1b","#272727","#3d3d3d","#5d5d5d","#858585","#b4b4b4","#ffffff","#c7cfdd","#92a1b9","#657392","#424c6e","#2a2f4e","#1a1932","#0e071b","#1c121c","#391f21","#5d2c28","#8a4836","#bf6f4a","#e69c69","#f6ca9f","#f9e6cf","#edab50","#e07438","#c64524","#8e251d","#ff5000","#ed7614","#ffa214","#ffc825","#ffeb57","#d3fc7e","#99e65f","#5ac54f","#33984b","#1e6f50","#134c4c","#0c2e44","#00396d","#0069aa","#0098dc","#00cdf9","#0cf1ff","#94fdff","#fdd2ed","#f389f5","#db3ffd","#7a09fa","#3003d9","#0c0293","#03193f","#3b1443","#622461","#93388f","#ca52c9","#c85086","#f68187","#f5555d","#ea323c","#c42430","#891e2b","#571c27"]},rd=localStorage.getItem("colors");if(rd)try{rd=JSON.parse(rd)}catch{rd=null}StateMemory.init("color_picker_tab","string");StateMemory.init("color_picker_rgb","boolean");StateMemory.init("color_palette_locked","boolean");var jt={updateFromHsv:function(){jt.panel.vue.editing_hsv=!0,jt.change({h:jt.panel.vue._data.hsv.h,s:jt.panel.vue._data.hsv.s/100,v:jt.panel.vue._data.hsv.v/100})},hexToHsv(i){var e=new tinycolor(i),t=e.toHsv();return{h:t.h,s:t.s*100,v:t.v*100}},addToHistory(i){i=i.toLowerCase();var e=jt.panel.vue._data.history;if(i!=e[0]&&i.match(/#[a-f0-9]{6}/g)){var t=18;e.remove(i),e.splice(0,0,i),e.length>t&&(e.length=t);let n=document.getElementById("color_history");n&&(n.scrollLeft=0),jt.saveLocalStorages()}},change(i,e){var t=new tinycolor(i);jt.panel.vue[e?"second_color":"main_color"]=t.toHexString()},set(i,e,t){jt.change(i,e),jt.addToHistory(jt.panel.vue.main_color)},get(i){let e=i?jt.panel.vue.second_color:jt.panel.vue.main_color;return jt.addToHistory(e),e},saveLocalStorages(){localStorage.setItem("colors",JSON.stringify({palette:jt.palette,history:jt.panel.vue._data.history}))},importPalette(i){let e=pathToExtension(i.path);if(e=="png"){var t=new Image;t.src=i.content||i.path.replace(/#/g,"%23"),t.onload=function(){var d=document.createElement("canvas"),u=d.getContext("2d");d.width=t.naturalWidth,d.height=t.naturalHeight,u.drawImage(t,0,0),jt.generatePalette(u,!1)};return}var n=[];if(e==="ase"){let d=i.content,u=Buffer.from(d),p=u.toString("utf-8",0,4),m=u.slice(4,6).readInt16BE(0),_=u.slice(6,8).readInt16BE(0),f=u.slice(8,12).readInt32BE(0);if(u.length>12&&p!=="ASEF"&&m!==1&&_!==0){console.log("Invalid ASE swatch file");return}let g=12;for(;gm*10+8&&u.slice(4+m*10,6+m*10).readUInt16BE(0)===2&&u.slice(6+m*10,8+m*10).readUInt16BE(0)===m)for(_=4+m*10+4,p===2&&(_=4);_{d=d.substr(-6).toLowerCase(),n.safePush("#"+d)});var s=o.match(/\(\s*\d{1,3},\s*\d{1,3},\s*\d{1,3}\s*\)/g);s&&s.forEach(d=>{d=tinycolor("rgb"+d),n.safePush(d.toHexString())});var l=o.match(/\n\s*\d{1,3}\s+\d{1,3}\s+\d{1,3}/g);l&&l.forEach(d=>{d=tinycolor(`rgb(${d.replace(/^[\n\s]*/,"").replace(/\s+/g,",")})`),n.safePush(d.toHexString())})}if(jt.palette.length){var c=new Dialog({id:"palette_import",title:"action.import_palette",width:400,form:{replace:{label:"message.import_palette.replace_palette",type:"checkbox",value:!0}},onConfirm(d){d.replace?(jt.palette.purge(),jt.palette.push(...n)):n.forEach(u=>{jt.palette.safePush(u)}),jt.saveLocalStorages(),c.hide()}});c.show()}else n.forEach(d=>{jt.palette.push(d)}),jt.saveLocalStorages()},generatePalette(i,e=!0){var t={};let n;i||Texture.all.forEach((o,r)=>{o.error||(t[r]=o.name,o.selected&&(n=r))});var a=new Dialog({id:"generate_palette",title:"action.import_palette",width:460,form:{texture:{label:"data.texture",type:"select",options:t,value:n,condition:!i},selection_only:{label:"message.import_palette.selection_only",type:"checkbox",value:!1,condition:Texture.all[n]?.selection?.is_custom},replace:{label:"message.import_palette.replace_palette",type:"checkbox",value:!0},threshold:{label:"message.import_palette.threshold",type:"number",value:10,min:0,max:100,condition:e}},onConfirm(o){var r={},s=[];if(i)var c=i;else var l=Texture.all[o.texture],c=Painter.getCanvas(l).getContext("2d");if(Painter.scanCanvas(c,0,0,c.canvas.width,c.canvas.height,(w,E,y)=>{if(!(y[3]<12)&&!(o.selection_only&&l.selection.is_custom&&!l.selection.get(w,E))){var A=tinycolor({r:y[0],g:y[1],b:y[2]}),R=A.toHexString();r[R]?r[R].count++:(r[R]=A,A.count=1)}}),e){var d={gray:[],red:[],orange:[],yellow:[],green:[],blue:[],magenta:[]};for(var u in r){var p=r[u];if(Math.abs(p._r-p._g)+Math.abs(p._g-p._b)+Math.abs(p._r-p._b)<74)d.gray.push(p);else{var m={red:Wr(p,{_r:250,_g:0,_b:0}),orange:Wr(p,{_r:240,_g:127,_b:0})*1.4,yellow:Wr(p,{_r:265,_g:240,_b:0})*1.4,green:Wr(p,{_r:0,_g:255,_b:0}),blue:Wr(p,{_r:0,_g:50,_b:240}),magenta:Wr(p,{_r:255,_g:0,_b:255})*1.4},_=highestInObject(m,!0);d[_].push(p)}}for(var f in d){if(d[f].sort((w,E)=>w._r+w._g+w._b-(E._r+E._g+E._b)),d[f].length>1)for(var g=d[f].length-2;g>=0;g--){var v=d[f][g],b=d[f][g+1],x=Wr(v,b);x{s.push(w.toHexString())})}}else for(var u in r)s.push(u);o.replace?(jt.palette.purge(),jt.palette.push(...s)):s.forEach(w=>{jt.palette.safePush(w)}),jt.saveLocalStorages(),a.hide()}});a.show()}};he.addDragHandler("palette",{extensions:["gpl","css","txt","hex","png","aco","act","ase","bbpalette"],readtype:i=>{switch(pathToExtension(i)){case"png":return"image";case"ase":return"binary";case"act":return"binary";case"aco":return"binary";default:return"text"}},element:"#color",propagate:!0},function(i){i&&i[0]&&jt.importPalette(i[0])});SharedActions.add("delete",{condition:()=>Prop.active_panel=="palette",run(){if(StateMemory.color_palette_locked){he.showQuickMessage("message.palette_locked");return}jt.palette.includes(jt.panel.vue.selected_color)&&(jt.palette.remove(jt.panel.vue.selected_color),jt.saveLocalStorages())}});Interface.definePanels(()=>{jt.panel=new Panel("color",{icon:"palette",condition:{modes:["paint"]},default_position:{slot:"right_bar",float_position:[0,0],float_size:[300,400],height:400,sidebar_index:4},toolbars:[new Toolbar("color_picker",{children:["slider_color_h","slider_color_s","slider_color_v","slider_color_red","slider_color_green","slider_color_blue","add_to_palette","pick_screen_color"]})],onResize(){Panels.color.vue.width=0,Vue.nextTick(()=>{let i=this.vue.$refs.square_picker.style.display;if(this.vue.$refs.square_picker.style.display="none",Panels.color.vue.width=Math.clamp(this.width,100,1e3),!this.isInSidebar())if(this.vue.picker_type=="box"){let e=this.height-this.vue.$el.clientHeight-this.handle.clientHeight-6;Panels.color.vue.picker_height=Math.clamp(e,100,1e3)}else{let e=Math.min(1e3,(this.height-this.vue.$el.clientHeight-this.handle.clientHeight)*(this.vue.picker_type=="box"?1.25:1));Interface.Panels.color.vue.width=Math.clamp(this.width,100,e)}this.vue.$refs.square_picker.style.display=i,Vue.nextTick(()=>{Panels.color.picker.spectrum("reflow")})})},component:{components:{ColorPickerNormal:M5},data:{width:100,picker_height:100,picker_type:Settings.get("color_picker_style"),main_color:"#ffffff",second_color:"#000000",hover_color:"",second_color_selected:!1,get color_code(){return this.hover_color||(this.second_color_selected?this.second_color:this.main_color)},set color_code(i){this.second_color_selected==!1?this.main_color=i.toLowerCase().replace(/[^a-f0-9#]/g,""):this.second_color=i.toLowerCase().replace(/[^a-f0-9#]/g,"")},text_input:"#ffffff",hsv:{h:0,s:0,v:0},editing_hsv:!1,history:rd&&rd.history instanceof Array?rd.history:[]},methods:{colorPickerMenu(i){new Menu("color_picker_menu",[{id:"picker_type",name:"menu.color_picker.picker_type",icon:"palette",children:[{name:"menu.color_picker.picker_type.square",icon:Settings.get("color_picker_style")=="box"?"far.fa-dot-circle":"far.fa-circle",click:()=>{settings.color_picker_style.set("box"),Panels.color.onResize()}},{name:"menu.color_picker.picker_type.wheel",icon:Settings.get("color_picker_style")=="wheel"?"far.fa-dot-circle":"far.fa-circle",click:()=>{settings.color_picker_style.set("wheel"),Panels.color.onResize()}},{name:"menu.color_picker.picker_type.normal",icon:Settings.get("color_picker_style")=="normal"?"far.fa-dot-circle":"far.fa-circle",click:()=>{settings.color_picker_style.set("normal"),Panels.color.onResize()}}]},{id:"slider_mode",name:"menu.color_picker.slider_mode",icon:"tune",children:[{name:"menu.color_picker.slider_mode.hsv",icon:StateMemory.color_picker_rgb?"far.fa-circle":"far.fa-dot-circle",click:()=>{StateMemory.set("color_picker_rgb",!1),BARS.updateConditions(),this.updateSliders()}},{name:"menu.color_picker.slider_mode.rgb",icon:StateMemory.color_picker_rgb?"far.fa-dot-circle":"far.fa-circle",click:()=>{StateMemory.set("color_picker_rgb",!0),BARS.updateConditions(),this.updateSliders()}}]}]).open(i.target)},updateSliders(){StateMemory.color_picker_rgb?(BarItems.slider_color_red.update(),BarItems.slider_color_green.update(),BarItems.slider_color_blue.update()):(BarItems.slider_color_h.update(),BarItems.slider_color_s.update(),BarItems.slider_color_v.update()),BarItems.slider_palette_color.update()},onMouseWheel(i){if(i.target&&(settings.color_picker_style.value=="wheel"||i.target.classList.contains("sp-hue")||i.target.classList.contains("sp-slider"))){let e=Math.sign(i.deltaY);i.shiftKey&&(e*=4),BarItems.slider_color_h.change(t=>t+e)}},setColor(i,e=this.second_color_selected){jt.set(i,e)},changeColor(i,e=this.second_color_selected){this[e?"second_color":"main_color"]=i},swapColors(){BarItems.swap_colors.click()},getSwapColorsTooltip(){return`${BarItems.swap_colors.name} (${BarItems.swap_colors.keybind})`},selectMainOrSecondary(i){this.second_color_selected!=i&&(this.second_color_selected=!!i,Object.assign(this.hsv,jt.hexToHsv(this.selected_color)),this.updateSliders(),Panels.color.picker.spectrum("set",this.selected_color),this.text_input=this.selected_color)},validateMainColor(){var i=this.main_color;i.match(/^#[0-9a-f]{6}$/)||(this.main_color=tinycolor(i).toHexString())},tl},computed:{selected_color(){return this.second_color_selected?this.second_color:this.main_color}},watch:{main_color:function(i){this.hover_color="",this.second_color_selected||(this.editing_hsv||Object.assign(this.hsv,jt.hexToHsv(i)),this.updateSliders(),Panels.color.picker.spectrum("set",i),this.text_input=i,this.editing_hsv=!1),he.dispatchEvent("change_color",{color:i})},second_color:function(i){this.hover_color="",this.second_color_selected&&(this.editing_hsv||Object.assign(this.hsv,jt.hexToHsv(i)),this.updateSliders(),Panels.color.picker.spectrum("set",i),this.text_input=i,this.editing_hsv=!1),he.dispatchEvent("change_color",{color:i,secondary:!0})}},template:`
swap_vert
  • settings
    `,mounted(){Panels.color.picker=$(this.$el).find("#main_colorpicker").spectrum({preferredFormat:"hex",color:"ffffff",flat:!0,localStorageKey:"brush_color_palette",move:i=>{jt.change(i,this.second_color_selected)}})}}}),$("#color_history").on("wheel",function(i){var e=i.originalEvent.deltaY<0?-90:90;this.scrollLeft+=e}),jt.palette_panel=new Panel("palette",{icon:"apps",condition:{modes:["paint"]},default_position:{slot:"right_bar",float_position:[0,0],float_size:[300,400],height:400,attached_to:"color",attached_index:1,sidebar_index:5},growable:!0,resizable:!0,toolbars:[new Toolbar("palette",{children:["import_palette","export_palette","generate_palette","sort_palette","save_palette","load_palette"]})],component:{data:{get main_color(){return Panels.color.vue.main_color},set main_color(i){Panels.color.vue.main_color=i},get second_color(){return Panels.color.vue.second_color},set second_color(i){Panels.color.vue.second_color=i},hover_color:"",second_color_selected:!1,get color_code(){return this.hover_color||(this.second_color_selected?this.second_color:this.main_color)},set color_code(i){this.second_color_selected==!1?this.main_color=i.toLowerCase().replace(/[^a-f0-9#]/g,""):this.second_color=i.toLowerCase().replace(/[^a-f0-9#]/g,"")},palette:rd&&rd.palette instanceof Array?rd.palette:j1.default.slice()},methods:{sortChoose(){StateMemory.color_palette_locked&&he.showQuickMessage("message.palette_locked")},sortMove(){if(StateMemory.color_palette_locked)return!1},sort(i){var e=this.palette.splice(i.oldIndex,1)[0];this.palette.splice(i.newIndex,0,e),jt.saveLocalStorages()},drop(i){},setColor(i,e=this.second_color_selected){jt.set(i,e)},changeColor(i,e=this.second_color_selected){this[e?"second_color":"main_color"]=i},swapColors(){BarItems.swap_colors.click()},getSwapColorsTooltip(){return`${BarItems.swap_colors.name} (${BarItems.swap_colors.keybind})`},isDarkColor(i){if(i){let e=new tinycolor(i).getBrightness(),t=new tinycolor(CustomTheme.data.colors.back).getBrightness();return Math.abs(e-t)<=50}},openContextMenu(i){Panels.palette.menu.open(i)},tl},computed:{selected_color(){return this.second_color_selected?this.second_color:this.main_color}},template:`
    `},menu:new Menu([new MenuSeparator("options"),{id:"lock_palette",name:"menu.palette.lock_palette",icon:()=>StateMemory.color_palette_locked,click(){StateMemory.color_palette_locked=!StateMemory.color_palette_locked,StateMemory.save("color_palette_locked")}},new MenuSeparator("file"),"sort_palette","save_palette","load_palette"])}),Toolbars.palette.toPlace(),Toolbars.color_picker.toPlace(),jt.palette=jt.palette_panel.vue._data.palette});BARS.defineActions(function(){new Action("add_to_palette",{icon:"add",category:"color",click:function(){let r=jt.get();StateMemory.color_palette_locked?he.showQuickMessage("message.palette_locked"):jt.palette.includes(r)||(jt.palette.push(r),jt.saveLocalStorages(),he.showQuickMessage("message.add_to_palette"))}}),new Action("swap_colors",{icon:"swap_vert",category:"color",condition:{modes:["paint"]},keybind:new Keybind({key:"x"}),click(){let r=jt.panel.vue.main_color;jt.panel.vue.main_color=jt.panel.vue.second_color,jt.panel.vue.second_color=r}}),new Action("import_palette",{icon:"palette",category:"color",click:function(){he.import({resource_id:"palette",extensions:["gpl","css","txt","hex","png","aco","act","ase","bbpalette"],type:"Blockbench Palette",readtype:r=>{switch(pathToExtension(r)){case"png":return"image";case"ase":return"binary";case"act":return"binary";case"aco":return"binary";default:return"text"}}},function(r){r&&r[0]&&jt.importPalette(r[0])})}}),new Action("export_palette",{icon:"fas.fa-dice-four",category:"color",click:function(){let r=`GIMP Palette Name: Blockbench palette Columns: 10 `;jt.palette.forEach(s=>{let l=new tinycolor(s);r+=`${l._r} ${l._g} ${l._b} ${s} `}),he.export({resource_id:"palette",extensions:["gpl"],type:"GPL Palette",content:r},s=>{he.showQuickMessage(tl("message.save_file",pathToName(s)))})}}),new Action("generate_palette",{icon:"blur_linear",category:"color",click:function(){jt.generatePalette()}}),new Action("sort_palette",{icon:"fa-sort-amount-down",category:"color",click:function(){var r={};jt.palette.forEach(m=>{r[m]=tinycolor(m)}),jt.palette.empty();var s={gray:[],red:[],orange:[],yellow:[],green:[],blue:[],magenta:[]};for(var l in r){var c=r[l];if(Math.abs(c._r-c._g)+Math.abs(c._g-c._b)+Math.abs(c._r-c._b)<74)s.gray.push(c);else{var d={red:Wr(c,{_r:250,_g:0,_b:0}),orange:Wr(c,{_r:240,_g:127,_b:0})*1.4,yellow:Wr(c,{_r:265,_g:240,_b:0})*1.4,green:Wr(c,{_r:0,_g:255,_b:0}),blue:Wr(c,{_r:0,_g:50,_b:240}),magenta:Wr(c,{_r:255,_g:0,_b:255})*1.4},u=highestInObject(d,!0);s[u].push(c)}}for(var p in s)s[p].sort((m,_)=>m._r+m._g+m._b-(_._r+_._g+_._b)),s[p].forEach(m=>{jt.palette.push(m.toHexString())});jt.saveLocalStorages()}});async function i(r){jt.palette.length&&await new Promise((l,c)=>{he.showMessageBox({translateKey:"load_palette",buttons:["dialog.confirm","dialog.cancel"]},l)})!=0||(jt.palette.splice(0,1/0,...r),jt.saveLocalStorages())}new Action("load_palette",{icon:"fa-tasks",category:"color",condition:{modes:["paint"]},click:function(r){new Menu(this.children()).open(r.target)},children(){let r=this.default_palettes.slice();return StateMemory.color_palettes.forEach((s,l)=>{let c={name:s.name,icon:"bubble_chart",id:l.toString(),click(){i(s.colors)},children:[{icon:"update",name:"menu.palette.load.update",description:"menu.palette.load.update.desc",click(){s.colors.replace(jt.palette),StateMemory.save("color_palettes")}},{icon:"delete",name:"generic.delete",click(){StateMemory.color_palettes.remove(s),StateMemory.save("color_palettes")}}]};r.push(c)}),r.push("_",{name:"menu.palette.load.empty",icon:"clear",id:"empty",click:()=>{i([])}}),r}}),BarItems.load_palette.default_palettes=[{name:"menu.palette.load.default",icon:"bubble_chart",id:"default",click:()=>{i(j1.default)}},{name:"Endesga 64",description:"Pixel art palette created by lospec.com/endesga",icon:"bubble_chart",id:"endesga64",click:()=>{i(j1.endesga64)}},{name:"Material",icon:"bubble_chart",id:"material",click:()=>{i(j1.material)}},"_"],new Action("save_palette",{icon:"playlist_add",category:"color",condition:{modes:["paint"]},click(r){new Dialog({id:"save_palette",title:"action.save_palette",width:540,form:{name:{label:"generic.name"}},onConfirm:function(l){if(!l.name)return;let c={name:l.name,colors:jt.palette.slice()};StateMemory.color_palettes.push(c),StateMemory.save("color_palettes")}}).show()}}),new NumSlider("slider_color_h",{condition:()=>Modes.paint&&!StateMemory.color_picker_rgb,category:"color",sensitivity:15,settings:{min:0,max:360,default:0,show_bar:!0},getInterval(r){return r.shiftKey||Pressing.overrides.shift?4:1},get:function(){return Math.round(jt.panel.vue._data.hsv.h)},change:function(r){var s=r(jt.panel.vue._data.hsv.h);jt.panel.vue._data.hsv.h=Math.clamp(s,this.settings.min,this.settings.max),jt.updateFromHsv()}}),new NumSlider("slider_color_s",{condition:()=>Modes.paint&&!StateMemory.color_picker_rgb,category:"color",sensitivity:20,settings:{min:0,max:100,default:0,show_bar:!0},getInterval(r){return r.shiftKey||Pressing.overrides.shift?10:1},get:function(){return Math.round(jt.panel.vue._data.hsv.s)},change:function(r){var s=r(jt.panel.vue._data.hsv.s);jt.panel.vue._data.hsv.s=Math.clamp(s,this.settings.min,this.settings.max),jt.updateFromHsv()}}),new NumSlider("slider_color_v",{condition:()=>Modes.paint&&!StateMemory.color_picker_rgb,category:"color",sensitivity:20,settings:{min:0,max:100,default:100,show_bar:!0},getInterval(r){return r.shiftKey||Pressing.overrides.shift?10:1},get:function(){return Math.round(jt.panel.vue._data.hsv.v)},change:function(r){var s=r(jt.panel.vue._data.hsv.v);jt.panel.vue._data.hsv.v=Math.clamp(s,this.settings.min,this.settings.max),jt.updateFromHsv()}});let e=[BarItems.slider_color_h,BarItems.slider_color_s,BarItems.slider_color_v];e.forEach(r=>r.slider_vector=e);let t=new NumSlider("slider_color_red",{condition:()=>Modes.paint&&StateMemory.color_picker_rgb,category:"color",color:"#ff0000",settings:{min:0,max:255,default:0,show_bar:!0,step:1},get(){return parseInt(jt.panel.vue.main_color.substring(1,3),16)},change:function(r){var s=Math.clamp(r(this.get()),0,255);let l=parseInt(s).toString(16);l.length==1&&(l="0"+l),jt.panel.vue.main_color=jt.panel.vue.main_color.substring(0,1)+l+jt.panel.vue.main_color.substring(3)}}),n=new NumSlider("slider_color_green",{condition:()=>Modes.paint&&StateMemory.color_picker_rgb,category:"color",color:"#00db3d",settings:{min:0,max:255,default:0,show_bar:!0,step:1},get(){return parseInt(jt.panel.vue.main_color.substring(3,5),16)},change:function(r){var s=Math.clamp(r(this.get()),0,255);let l=parseInt(s).toString(16);l.length==1&&(l="0"+l),jt.panel.vue.main_color=jt.panel.vue.main_color.substring(0,3)+l+jt.panel.vue.main_color.substring(5)}}),a=new NumSlider("slider_color_blue",{condition:()=>Modes.paint&&StateMemory.color_picker_rgb,category:"color",color:"#2c73ff",settings:{min:0,max:255,default:0,show_bar:!0,step:1},get(){return parseInt(jt.panel.vue.main_color.substring(5),16)},change:function(r){var s=Math.clamp(r(this.get()),0,255);let l=parseInt(s).toString(16);l.length==1&&(l="0"+l),jt.panel.vue.main_color=jt.panel.vue.main_color.substring(0,5)+l}}),o=[t,n,a];o.forEach(r=>r.slider_vector=o),new NumSlider("slider_palette_color",{condition:{modes:["paint"]},category:"color",invert_scroll_direction:!0,get(){return jt.palette.indexOf(jt.panel.vue.main_color)+1},getInterval(){return 1},change(r){let s=Math.clamp(r(this.get()),1,jt.palette.length),l=jt.palette[s-1];jt.set(l)}}),new Action("pick_screen_color",{icon:"colorize",category:"color",condition:()=>typeof EyeDropper=="function"&&he.platform!="linux",click:async function(){if(he.platform=="win32")null.send("request-color-picker",{sync:!1});else if(typeof EyeDropper=="function"){let r=new EyeDropper,{sRGBHex:s}=await r.open();jt.set(s)}}})});Object.assign(window,{ColorPanel:jt});new ModelFormat("free",{icon:"icon-format_free",category:"general",target:["Godot","Unity","Unreal Engine","Sketchfab","Blender",tl("format.free.info.3d_printing")],format_page:{content:[{type:"h3",text:tl("mode.start.format.informations")},{text:`* ${tl("format.free.info.meshes")} * ${tl("format.free.info.limitation")}`.replace(/\t+/g,"")},{type:"h3",text:tl("mode.start.format.resources")},{text:"* [Low-Poly Modeling Tutorial](https://www.youtube.com/watch?v=WbyCbA1c8BM)"}]},meshes:!0,billboards:!0,armature_rig:!0,splines:!0,rotate_cubes:!0,bone_rig:!0,centered_grid:!0,optional_box_uv:!0,per_texture_uv_size:!0,per_texture_wrap_mode:!0,uv_rotation:!0,animation_mode:!0,per_animator_rotation_interpolation:!0,animated_textures:!0,locators:!0,pbr:!0});var C5="5.0";function T5(i){if(!i.meta){Blockbench.showMessageBox({translateKey:"invalid_model",icon:"error"});return}if(i.meta.format_version||(i.meta.format_version=i.meta.format),vo.compare(i.meta.format_version,">",C5)){Blockbench.showMessageBox({title:"message.newer_project_format_version.title",message:tl("message.newer_project_format_version.message",[i.meta.format_version]),icon:"error"});return}}function A5(i){if(i.meta.model_format||(i.meta.bone_rig?i.meta.model_format="bedrock_old":i.meta.model_format="java_block"),i.cubes&&!i.elements&&(i.elements=i.cubes),i.geometry_name&&(i.model_identifier=i.geometry_name),i.elements&&i.meta.box_uv&&vo.compare(i.meta.format_version,"<","4.5")&&i.elements.forEach(e=>{e.shade===!1&&(e.mirror_uv=!0)}),i.outliner&&vo.compare(i.meta.format_version,"<","3.2")){let e=function(t){for(var n of t)typeof n=="object"&&(e(n.children),n.rotation&&(n.rotation[2]*=-1))};e(i.outliner)}if(i.textures,i.animations&&vo.compare(i.meta.format_version,"<","5.0"))for(let e of i.animations)for(let t in e.animators){let n=e.animators[t];for(let a of n.keyframes??[]){for(let o of a.data_points)(a.channel=="position"||a.channel=="rotation")&&o.x&&(o.x=Zs(o.x)),a.channel=="rotation"&&o.y&&(o.y=Zs(o.y));a.interpolation=="bezier"&&((a.channel=="position"||a.channel=="rotation")&&a.bezier_left_value&&(a.bezier_left_value[0]*=-1,a.bezier_right_value[0]*=-1),a.channel=="rotation"&&a.bezier_left_value&&(a.bezier_left_value[1]*=-1,a.bezier_right_value[1]*=-1))}}}var hs=new Codec("project",{name:"Blockbench Project",extension:"bbmodel",remember:!0,support_partial_export:!0,load_filter:{type:"json",extensions:["bbmodel"]},load(i,e){if(!i||!i.meta)return Blockbench.showMessageBox({translateKey:"invalid_model"});setupProject(Formats[i.meta.model_format]||Formats.free);var t=pathToName(e.path,!0);Project.name=pathToName(t,!1),e.path,this.parse(i,e.path),Modes.animate&&!AnimationItem.selected&&AnimationItem.all[0]&&AnimationItem.all[0].select()},export(){Blockbench.export({resource_id:"model",type:this.name,extensions:[this.extension],name:this.fileName(),startpath:this.startPath(),content:this.compile(),custom_writer:null},i=>this.afterDownload(i))},async exportCollection(i){this.context=i,Blockbench.export({resource_id:"model",type:this.name,extensions:[this.extension],name:this.fileName(),startpath:this.startPath(),content:this.compile({collection_only:i}),custom_writer:null},e=>this.afterDownload(e))},async writeCollection(i){if(!i.export_path){console.warn("No path specified");return}this.context=i;let e=Project.save_path,t=this.compile({collection_only:i});this.write(t,i.export_path),this.context=null,i.saved=!0,Project.save_path=e},compile(i){i||(i=0),Blockbench.addFlag("compiling_bbmodel");let e={meta:{format_version:C5,backup:i.backup?!0:void 0,model_format:Format.id,box_uv:Project.box_uv}},t=settings.export_asset_paths.value=="relative"||settings.export_asset_paths.value=="both",n=settings.export_asset_paths.value=="absolute"||settings.export_asset_paths.value=="both";typeof i.absolute_paths=="boolean"&&(n=i.absolute_paths);for(var a in ModelProject.properties)ModelProject.properties[a].export!=!1&&ModelProject.properties[a].copy(Project,e);if(Project.overrides&&(e.overrides=Project.overrides),e.resolution={width:Project.texture_width||16,height:Project.texture_height||16},i.flag&&(e.flag=i.flag),i.editor_state&&(Project.saveEditorState(),e.editor_state={save_path:Project.save_path,export_path:Project.export_path,saved:Project.saved,added_models:Project.added_models,mode:Project.mode,tool:Project.tool,exploded_view:Project.exploded_view,uv_viewport:Project.uv_viewport,previews:JSON.parse(JSON.stringify(Project.previews)),selected_elements:Project.selected_elements.map(m=>m.uuid),selected_groups:Project.selected_groups.map(m=>m.uuid),mesh_selection:JSON.parse(JSON.stringify(Project.mesh_selection)),selected_texture:Project.selected_texture?.uuid}),!(Format.id=="skin"&&e.skin_model)){if(i.collection_only)var o=i.collection_only.getAllChildren();if(e.elements=[],Outliner.elements.forEach(m=>{if(i.collection_only&&!o.includes(m))return;let _=m.getSaveCopy(e.meta);e.elements.push(_)}),e.groups=[],Group.all.forEach(m=>{if(i.collection_only&&!o.includes(m))return;let _=m.getSaveCopy(!1);e.groups.push(_)}),e.outliner=Outliner.toJSON(),i.collection_only){let m=function(_){_.forEachReverse(f=>{typeof f=="string"?o.find(g=>g.uuid==f)||_.remove(f):(f.children instanceof Array&&m(f.children),f.uuid&&!o.find(g=>g.uuid==f.uuid)&&(!f.children||f.children.length==0)&&_.remove(f))})};m(e.outliner)}}function r(m,_,f){let g=m[_];i.absolute_paths==!1&&(m[_]=void 0)}e.textures=[],Texture.all.forEach(m=>{let _=m.getSaveCopy();r(_,"path","relative_path"),i.bitmaps!=!1&&(Settings.get("embed_textures")||i.backup||i.bitmaps==!0)&&(_.source=m.getDataURL(),_.internal=!0),e.textures.push(_)});for(let m of TextureGroup.all){e.texture_groups||(e.texture_groups=[]);let _=m.getSaveCopy();e.texture_groups.push(_)}let s=[];for(let m of Collection.all){let _=m.getSaveCopy();s.push(_)}if(s.length&&(e.collections=s),Animation.all.length&&(e.animations=[],Animation.all.forEach(m=>{let _=m.getUndoCopy({absolute_paths:i.absolute_paths},!0);e.animations.push(_),r(_,"path")})),AnimationController.all.length&&(e.animation_controllers=[],AnimationController.all.forEach(m=>{let _=m.getUndoCopy();r(_,"path"),e.animation_controllers.push(_)})),Interface.Panels.variable_placeholders.inside_vue._data.text&&(e.animation_variable_placeholders=Interface.Panels.variable_placeholders.inside_vue._data.text),Format.display_mode&&Object.keys(Project.display_settings).length>=1){var l={},c=0;for(var d in DisplayMode.slots){var a=DisplayMode.slots[d];DisplayMode.slots.hasOwnProperty(d)&&Project.display_settings[a]&&Project.display_settings[a].export&&(l[a]=Project.display_settings[a].export(),c++)}c&&(e.display=l)}if(!i.backup&&i.reference_images!=!1){let m=[];for(let _ of Project.reference_images)m.push(_.getSaveCopy());m.length&&(e.reference_images=m)}if(Object.keys(Project.export_options).length){e.export_options={};for(let m in Project.export_options)Object.keys(Project.export_options[m]).length&&(e.export_options[m]=Object.assign({},Project.export_options[m]))}if(i.history&&(e.history=[],Undo.history.forEach(m=>{var _={before:omitKeys(m.before,["aspects"]),post:omitKeys(m.post,["aspects"]),action:m.action,time:m.time};e.history.push(_)}),e.history_index=Undo.index),Blockbench.dispatchEvent("save_project",{model:e,options:i}),this.dispatchEvent("compile",{model:e,options:i}),Blockbench.removeFlag("compiling_bbmodel"),i.raw)return e;if(i.compressed){var u=compileJSON(e,{small:!0}),p=""+hw.compress(u,{outputEncoding:"StorageBinaryString"});return p}else return compileJSON(e,{small:Settings.get("minify_bbmodel")||i.minify})},parse(i,e){if(T5(i),A5(i),i.meta.model_format){if(!Formats[i.meta.model_format]){let a=Plugins.all.filter(r=>r.contributes?.formats?.includes(i.meta.model_format)),o={};for(let r of a)o[r.id]={icon:r.icon,text:tl("message.invalid_format.install_plugin",[r.title])};Blockbench.showMessageBox({translateKey:"invalid_format",message:tl("message.invalid_format.message",[i.meta.model_format]),commands:o},r=>{let s=r&&a.find(l=>l.id==r);s&&(BarItems.plugins_window.click(),Plugins.dialog.content_vue.selectPlugin(s))})}var t=Formats[i.meta.model_format]||Formats.free;t.select()}Blockbench.dispatchEvent("load_project",{model:i,path:e}),this.dispatchEvent("parse",{model:i}),i.meta.box_uv!==void 0&&Format.optional_box_uv&&(Project.box_uv=i.meta.box_uv);for(var n in ModelProject.properties)ModelProject.properties[n].merge(Project,i);if(e&&e!="backup.bbmodel"&&(Project.name=pathToName(e,!1)),i.overrides&&(Project.overrides=i.overrides),i.resolution!==void 0&&(Project.texture_width=i.resolution.width,Project.texture_height=i.resolution.height),i.texture_groups&&i.texture_groups.forEach(a=>{new TextureGroup(a,a.uuid).add(!1)}),i.textures&&i.textures.forEach(a=>{var o=new Texture(a,a.uuid).add(!1);a.source&&a.source.substr(0,5)=="data:"&&o.fromDataURL(a.source)}),i.skin_model&&Codecs.skin_model.rebuild(i.skin_model,i.skin_pose),i.elements){let a=Texture.getDefault();i.elements.forEach(o=>{let r=OutlinerElement.fromSave(o,!0);for(let s in r.faces)if(!Format.single_texture&&o.faces){let l=o.faces[s].texture!==null&&Texture.all[o.faces[s].texture];l&&(r.faces[s].texture=l.uuid)}else a&&r.faces&&r.faces[s].texture!==null&&!Format.single_texture_default&&(r.faces[s].texture=a.uuid);r.init()})}if(i.groups&&i.groups.forEach(a=>{new Group(a,a.uuid).init()}),i.outliner&&Outliner.loadJSON(i.outliner),i.collections instanceof Array)for(let a of i.collections)new Collection(a,a.uuid).add();if(i.animations&&i.animations.forEach(a=>{var o=new Animation;o.uuid=a.uuid,o.extend(a).add()}),i.animation_controllers&&i.animation_controllers.forEach(a=>{var o=new AnimationController;o.uuid=a.uuid,o.extend(a).add()}),i.animation_variable_placeholders&&(Interface.Panels.variable_placeholders.inside_vue._data.text=i.animation_variable_placeholders),i.display!==void 0&&DisplayMode.loadJSON(i.display),i.backgrounds)for(let a in i.backgrounds){let o=i.backgrounds[a],r=new ReferenceImage({position:[o.x,o.y+o.size/2],size:[o.size/2,o.size/2],layer:"background",is_blueprint:o.lock,source:o.image,name:o.image&&!o.image.startsWith("data:")?o.image.split([/[/\\]/]).last():"Reference"}).addAsReference()}if(i.reference_images&&i.reference_images.forEach(a=>{new ReferenceImage(a).addAsReference()}),i.export_options)for(let a in i.export_options)Project.export_options[a]=Object.assign({},i.export_options[a]);if(i.history&&(Undo.history=i.history.slice(),Undo.index=i.history_index),Canvas.updateAllBones(),Canvas.updateAllPositions(),Canvas.updateAllFaces(),ReferenceImage.updateAll(),Validator.validate(),this.dispatchEvent("parsed",{model:i}),i.editor_state){let a=i.editor_state;if(Merge.string(Project,a,"save_path"),Merge.string(Project,a,"export_path"),Merge.boolean(Project,a,"saved"),Merge.number(Project,a,"added_models"),Merge.string(Project,a,"mode"),Merge.string(Project,a,"tool"),Merge.boolean(Project,a,"exploded_view"),a.uv_viewport&&(Merge.number(Project.uv_viewport,a.uv_viewport,"zoom"),Merge.arrayVector2(Project.uv_viewport=a.uv_viewport,"offset")),a.previews)for(let o in a.previews)Project.previews[o]=a.previews[o];a.selected_elements.forEach(o=>{let r=Outliner.elements.find(s=>s.uuid==o);Project.selected_elements.push(r)}),a.selected_groups&&(Group.multi_selected=a.selected_groups.map(o=>Group.all.find(r=>r.uuid==o)).filter(o=>o instanceof Group)),(a.selected_texture&&Texture.all.find(o=>o.uuid==a.selected_texture))?.select(),Project.loadEditorState()}},merge(i,e){T5(i),A5(i),Blockbench.dispatchEvent("merge_project",{model:i,path:e}),this.dispatchEvent("merge",{model:i}),Project.added_models++;let t={},n={},a=[],o=[],r=[],s=[],l=Formats[i.meta.model_format];Undo.initEdit({elements:a,groups:o,textures:r,animations:Format.animation_mode&&s,outliner:!0,selection:!0,display_slots:Format.display_mode&&displayReferenceObjects.slots}),i.overrides instanceof Array&&Project.overrides instanceof Array&&Project.overrides.push(...i.overrides);let c=i.resolution.width||Project.texture_width,d=i.resolution.height||Project.texture_height;function u(m){Texture.all.find(g=>g.uuid==m.uuid)&&(n[m.uuid]=guid(),m.uuid=n[m.uuid]);var _=new Texture(m,m.uuid).add(!1);let f=0;for(;Texture.all.find(g=>g!==_&&g.id==f);)f++,_.id=f.toString();if(m.source&&m.source.substr(0,5)=="data:")return _.fromDataURL(m.source),_}if(i.texture_groups&&i.texture_groups.forEach(m=>{new TextureGroup(m,m.uuid).add(!1)}),i.textures&&r.replace(i.textures.map(u)),i.skin_model){let m=Outliner.elements.slice();Codecs.skin_model.rebuild(i.skin_model);for(let _ of Outliner.elements)m.includes(_)||a.push(_)}let p=!Format.per_texture_uv_size||!l?.per_texture_uv_size;if(i.elements){let m=r[0]||Texture.getDefault(),_=Formats[i.meta.model_format]||Format;i.elements.forEach(function(f){if(OutlinerElement.isTypePermitted(f.type)){if(Outliner.elements.find(x=>x.uuid==f.uuid)){let x=guid();t[f.uuid]=x,f.uuid=x}var g=OutlinerElement.fromSave(f,!0);if(g instanceof Cube)for(var v in g.faces){if(!_.single_texture&&f.faces){var b=f.faces[v].texture!==null&&r[f.faces[v].texture];b&&(g.faces[v].texture=b.uuid)}else m&&g.faces&&g.faces[v].texture!==null&&(g.faces[v].texture=m.uuid);if(!g.box_uv&&p){let x=g.faces[v].getTexture();x&&l?.per_texture_uv_size&&(c=x.uv_width,d=x.uv_height),g.faces[v].uv[0]*=Project.getUVWidth(x)/c,g.faces[v].uv[2]*=Project.getUVWidth(x)/c,g.faces[v].uv[1]*=Project.getUVHeight(x)/d,g.faces[v].uv[3]*=Project.getUVHeight(x)/d}}else if(g instanceof Mesh)for(let x in g.faces){if(!_.single_texture&&f.faces){var b=f.faces[x].texture!==null&&r[f.faces[x].texture];b&&(g.faces[x].texture=b.uuid)}else m&&g.faces&&g.faces[x].texture!==null&&(g.faces[x].texture=m.uuid);if(p)for(let w in g.faces[x].uv){let E=g.faces[x].getTexture();E&&l?.per_texture_uv_size&&(c=E.uv_width,d=E.uv_height),g.faces[x].uv[w][0]*=Project.getUVWidth(E)/c,g.faces[x].uv[w][1]*=Project.getUVHeight(E)/d}}g.init(),a.push(g)}})}if(i.groups&&i.groups.forEach(m=>{Group.all.find(f=>f.uuid==m.uuid)&&(m.uuid=t[m.uuid]=guid());let _=new Group(m,m.uuid).init();o.push(_)}),i.outliner){let m=function(_){_.forEach((f,g)=>{typeof f=="string"?t[f]&&(_[g]=t[f]):f&&f.uuid&&(t[f.uuid]&&(f.uuid=t[f.uuid]),f.children&&m(f.children))})};m(i.outliner),Outliner.loadJSON(i.outliner,!0)}if(i.collections instanceof Array)for(let m of i.collections){let _=new Collection(m,m.uuid);_.add();for(let f=0;f<_.children.length;f++)t[_.children[f]]&&(_.children[f]=t[_.children[f]])}if(i.animations&&Format.animation_mode&&i.animations.forEach(m=>{var _=new Animation;if(Animation.all.find(f=>f.uuid==m.uuid)&&(m.uuid=guid()),_.animators)for(let f in _.animators)t[f]&&(_.animators[t[f]]=_.animators[f],delete _.animators[f]);_.uuid=m.uuid,_.extend(m).add(),s.push(_)}),i.animation_controllers&&i.animation_controllers.forEach(m=>{var _=new AnimationController;AnimationController.all.find(f=>f.uuid==m.uuid)&&(m.uuid=guid()),_.uuid=m.uuid,_.extend(m).add()}),Format.bone_rig&&Group.all.forEachReverse(m=>m.createUniqueName()),i.animation_variable_placeholders){let m=Interface.Panels.variable_placeholders.inside_vue;m._data.text?m._data.text=m._data.text+` `+i.animation_variable_placeholders:m._data.text=i.animation_variable_placeholders}i.display!==void 0&&DisplayMode.loadJSON(i.display),Undo.finishEdit("Merge project"),Canvas.updateAllBones(),Canvas.updateAllPositions(),Canvas.updateAllFaces(),ReferenceImage.updateAll(),this.dispatchEvent("parsed",{model:i})}});Formats.free.codec=hs;BARS.defineActions(function(){hs.export_action=new Action("save_project",{icon:"save",category:"file",keybind:new Keybind({key:"s",ctrl:!0,alt:!0}),condition:()=>Project,click:function(){saveTextures(!0),hs.export()}}),new Action("save_project_incremental",{icon:"difference",category:"file",keybind:new Keybind({key:"s",shift:!0,alt:!0}),condition:!1,click:function(){saveTextures(!0);let i=/\.bbmodel$/,e=/([0-9]+)\.bbmodel$/,t=e.exec(Project.save_path),n;if(t){let r=parseInt(t[1]);n=Project.save_path.replace(e,`${r+1}.bbmodel`)}else n=Project.save_path.replace(i,"_1.bbmodel");let a=n,o=1;for(;null.existsSync(n)&&o<100;)n=a.replace(i,`_alt_${o==1?"":o}.bbmodel`),o++;hs.write(hs.compile(),n)}}),new Action("save_project_as",{icon:"save",category:"file",keybind:new Keybind({key:"s",ctrl:!0,alt:!0,shift:!0}),condition:()=>Project,click:function(){saveTextures(!0),hs.export()}}),new Action("export_legacy_project",{icon:"save",name:"Export Legacy Project",description:"Export bbmodel file for Blockbench 4",category:"file",condition:()=>Project,click:function(){saveTextures(!0);let i=hs.compile({raw:!0});i.meta.format_version="4.10";function e(n,a){var o=[];function r(s,l){var c=0;for(var d of s){if(d.type==="group"){var u=d.compile(n);d.children.length>0&&r(d.children,u.children),l.push(u)}else if(n)l.push(d.uuid);else{var p=elements.indexOf(d);p>=0&&l.push(p)}c++}}return r(Outliner.root,o),o}i.outliner=e(!0),delete i.groups;for(let n of i.animations??[])for(let a in n.animators)for(let o of n.animators[a].keyframes??[])for(let r of o.data_points??[])(o.channel=="rotation"||o.channel=="position")&&r.x&&(r.x=Zs(r.x)),o.channel=="rotation"&&r.y&&(r.y=Zs(r.y));let t=compileJSON(i,{small:Settings.get("minify_bbmodel")});Blockbench.export({resource_id:"model",type:hs.name,extensions:[hs.extension],name:hs.fileName(),startpath:hs.startPath(),content:t},n=>hs.afterDownload(n))}}),new Action("import_project",{icon:"icon-blockbench_file",category:"file",condition:()=>Format&&!Format.pose_mode,click:function(){Blockbench.import({resource_id:"model",extensions:[hs.extension],type:hs.name,multiple:!0},function(i){i.forEach(e=>{var t=autoParseJSON(e.content,{file_path:e.path});hs.merge(t)})})}})});var Qae=["item/generated","minecraft:item/generated","item/handheld","minecraft:item/handheld","item/handheld_rod","minecraft:item/handheld_rod","builtin/generated","minecraft:builtin/generated"],bf=new Codec("java_block",{name:"Java Block/Item Model",remember:!0,extension:"json",support_partial_export:!0,load_filter:{type:"json",extensions:["json"],condition(i){return i.parent||i.elements||i.textures}},compile(i){i===void 0&&(i={});var e=[],t=[],n=[],a=[];function o(f){if(f.export!=!1){var g={};if(n[Cube.all.indexOf(f)]=e.length,(i.cube_name!==!1&&!settings.minifiedout.value||i.cube_name===!0)&&f.name!=="cube"&&(g.name=f.name),g.from=f.from.slice(),g.to=f.to.slice(),f.inflate)for(var v=0;v<3;v++)g.from[v]-=f.inflate,g.to[v]+=f.inflate;if(f.shade===!1&&(g.shade=!1),f.light_emission&&(g.light_emission=f.light_emission),!f.rotation.allEqual(0)||!f.origin.allEqual(0)&&settings.java_export_pivots.value){if(g.rotation=new oneLiner({}),!Format.rotation_limit&&(f.rotation.positiveItems()>1||f.rotation.some(A=>Math.abs(A)>45)))g.rotation.x=f.rotation[0],g.rotation.y=f.rotation[1],g.rotation.z=f.rotation[2];else{let A=f.rotationAxis()||"y",R=f.rotation[getAxisNumber(A)];g.rotation.angle=Format.rotation_snap?Math.round(R/22.5)*22.5:R,g.rotation.axis=A}g.rotation.origin=f.origin.slice()}f.rescale&&(g.rotation?g.rotation.rescale=!0:g.rotation=new oneLiner({angle:0,axis:f.rotation_axis||"y",origin:f.origin,rescale:!0})),Format.rotation_limit&&f.rotation.positiveItems()>=2&&(g.rotated=f.rotation);var b,x={};for(var w in f.faces)if(f.faces.hasOwnProperty(w)&&f.faces[w].texture!==null){var E=new oneLiner;if(f.faces[w].enabled!==!1&&(E.uv=f.faces[w].uv.slice(),E.uv.forEach((A,R)=>{E.uv[R]=A*16/UVEditor.getResolution(R%2)})),f.faces[w].rotation&&(E.rotation=f.faces[w].rotation),f.faces[w].texture){var y=f.faces[w].getTexture();y&&(E.texture="#"+y.id,t.safePush(y)),b=!0}E.texture||(E.texture="#missing"),f.faces[w].cullface&&(E.cullface=f.faces[w].cullface),f.faces[w].tint>=0&&(E.tintindex=f.faces[w].tint),x[w]=E}if(b||(g.color=f.color),g.faces=x,Format.cube_size_limiter){let A=function(R){return R<-16||R>32};(A(g.from[0])||A(g.from[1])||A(g.from[2])||A(g.to[0])||A(g.to[1])||A(g.to[2]))&&a.push(f)}Object.keys(g.faces).length&&e.push(g)}}function r(f){if(!(!f||!f.length))for(let g=0;g0&&settings.dialog_larger_cubes.value&&Blockbench.showMessageBox({translateKey:"model_clipping",icon:"settings_overscan",message:tl("message.model_clipping.message",[a.length]),buttons:["dialog.scale.select_overflow","dialog.ok"],confirm:1,cancel:1},f=>{f==0&&(selected.splice(0,1/0,...a),updateSelection())});var d={format_version:Project.java_block_version};if(s("comment",Project.credit||settings.credit.value)&&(d.credit=Project.credit||settings.credit.value),s("parent",Project.parent!="")&&(d.parent=Project.parent),s("ambientocclusion",Project.ambientocclusion===!1)&&(d.ambientocclusion=!1),Project.unhandled_root_fields.render_type&&(d.render_type=Project.unhandled_root_fields.render_type),(Project.texture_width!==16||Project.texture_height!==16)&&(d.texture_size=[Project.texture_width,Project.texture_height]),s("textures",Object.keys(c).length>=1)&&(d.textures=c),s("elements",e.length>=1)&&(d.elements=e),s("front_gui_light",Project.front_gui_light)&&(d.gui_light="front"),s("overrides",Project.overrides instanceof Array&&Project.overrides.length)&&(Project.overrides.forEach(f=>delete f._uuid),d.overrides=Project.overrides.map(f=>new oneLiner(f))),s("display",Object.keys(Project.display_settings).length>=1)){var u={},p=0;for(var m in DisplayMode.slots){var _=DisplayMode.slots[m];DisplayMode.slots.hasOwnProperty(m)&&Project.display_settings[_]&&Project.display_settings[_].export&&(u[_]=Project.display_settings[_].export(),p++)}p&&(d.display=u)}if(s("groups",settings.export_groups.value&&Group.all.length)){let g=function(b,x){let w=0;for(let E of b){if(E.type==="group"){if(E.export===!0){let y=E.compile(!1);E.children.length>0&&g(E.children,y.children),x.push(y)}}else{let y=n[elements.indexOf(E)];y>=0&&x.push(y)}w++}},f=[];g(Outliner.root,f);for(var m=0;m1&&(v.id=Project.added_models+"_"+v.id)}Texture.all.length>0&&Texture.all.last().select()}var b=elements.length;if(i.elements&&i.elements.forEach(function(w){let E=new Cube(w);if(w.__comment&&(E.name=w.__comment),typeof w.rotation=="object")if(w.rotation.origin&&E.extend({origin:w.rotation.origin}),Merge.boolean(E,w.rotation,"rescale"),w.rotation.axis){if(w.rotation.angle&&w.rotation.axis){let L=getAxisNumber(w.rotation.axis);L>=0&&(E.rotation.V3_set(0),E.rotation[L]=w.rotation.angle)}w.rotation.origin&&(Merge.number(E.origin,w.rotation.origin,0),Merge.number(E.origin,w.rotation.origin,1),Merge.number(E.origin,w.rotation.origin,2)),typeof w.rotation.axis=="string"&&(E.rotation_axis=w.rotation.axis)}else(w.rotation.x||w.rotation.y||w.rotation.z)&&(E.extend({rotation:[w.rotation.x||0,w.rotation.y||0,w.rotation.z||0]}),a=!0);var y=!1;for(var A in E.faces)w.faces[A]&&!w.faces[A].uv&&(y=!0);y?(E.autouv=2,E.mapAutoUV()):E.autouv=0;for(var A in E.faces){var R=w.faces[A],j=E.faces[A];if(R===void 0)j.texture=null,j.uv=[0,0,0,0];else{if(typeof R.uv=="object"&&j.uv.forEach((U,J)=>{j.uv[J]=R.uv[J]*UVEditor.getResolution(J%2)/16}),R.texture==="#missing")j.texture=!1;else if(R.texture){var F=R.texture.replace(/^#/,""),O=c[F];if(!(O instanceof Texture))if(d[R.texture]){var O=d[R.texture];O.id==="particle"&&O.extend({id:F,name:"#"+F}).loadEmpty(3)}else{var O=new Texture({id:F,name:"#"+F}).add(!1).loadEmpty(3);c[F]=O,s.push(O)}j.texture=O.uuid}typeof R.tintindex=="number"&&(j.tint=R.tintindex)}}n?l&&(l.children.push(E),E.parent=l):(Outliner.root.push(E),E.parent="root"),E.init(),r.push(E)}),i.groups&&i.groups.length>0){let w=function(E,y,A){function R(j,F,O){for(var L=0;L0&&R(j[L].children,U.children,U),j[L].content&&j[L].content.length>0&&R(j[L].content,U.children,U)}L++}}y instanceof Group&&A!==void 0?R(E,y.children,y):(y||(Group.all.forEach(j=>{j.removeFromParent()}),Group.all.empty()),R(E,Outliner.root,"root"))};n?l&&w(i.groups,l,b):w(i.groups)}if(l&&l.addTo().select(),!i.elements&&Qae.includes(i.parent)&&i.textures&&typeof i.textures.layer0=="string"){let w=new TextureMesh({name:i.textures.layer0,rotation:[90,180,0],local_pivot:[0,-7.5,-16],locked:!0,export:!1}).init();w.locked=!0,r.push(w)}else!i.elements&&i.parent&&Blockbench.showMessageBox({translateKey:"child_model_only",icon:"info",message:tl("message.child_model_only.message",[i.parent]),commands:!1&&{open:"message.child_model_only.open",open_with_textures:{text:"message.child_model_only.open_with_textures",condition:Texture.all.length>0}}},async E=>{if(typeof E=="string"){let F=function(L){loadModelFile(L,t),E=="open_with_textures"&&Texture.all.forEachReverse(U=>{if(U.error==3&&U.name.startsWith("#")){let J=c[U.name.replace(/#/,"")];J&&(U.fromPath(J.path,t.externalDataLoader),U.namespace=J.namespace)}})},y=i.parent.replace(/\w+:/,""),A=e.split(osfs),R=A.length-A.indexOf("models");A.splice(-R),A.push("models",...y.split("/"));let j=A.join(osfs)+".json",O;if(t.externalDataLoader){let L=t.externalDataLoader(j.replaceAll("\\","/"));if(L){L instanceof Uint8Array&&(L=new TextDecoder().decode(L));try{F({name:PathModule.basename(j),path:j,content:L}),O=!0}catch{}}}O||Blockbench.read([j],{},L=>F(L[0]))}});updateSelection(),a&&VersionUtil.compare(Project.java_block_version,"<","1.21.11")&&(Project.java_block_version="1.21.11"),i.parent!==void 0&&(Project.parent=i.parent),i.ambientocclusion===!1&&(Project.ambientocclusion=!1),i.gui_light==="front"&&(Project.front_gui_light=!0);let x=new Set(["textures","elements","groups","parent","display","__comment","credit","texture_size","overrides","ambientocclusion","gui_light"]);for(let w in i)x.has(w)||(Project.unhandled_root_fields[w]=i[w]);this.dispatchEvent("parsed",{model:i}),n&&Undo.finishEdit("Add block model"),Validator.validate()}}),vy=new ModelFormat({id:"java_block",extension:"json",icon:"icon-format_block",category:"minecraft",target:"Minecraft: Java Edition",format_page:{content:[{type:"h3",text:tl("mode.start.format.informations")},{text:`* ${tl("format.java_block.info.size")} * ${tl("format.java_block.info.animation")}`.replace(/\t+/g,"")}]},render_sides:"front",model_identifier:!1,parent_model_id:!0,vertex_color_ambient_occlusion:!0,rotate_cubes:!0,rotation_limit:!1,rotation_snap:!1,optional_box_uv:!0,uv_rotation:!0,java_cube_shading_properties:!0,java_face_properties:!0,cullfaces:!0,animated_textures:!0,select_texture_for_particles:!0,texture_mcmeta:!0,display_mode:!0,texture_folder:!0,pbr:!0,cube_size_limiter:{coordinate_limits:[-16,32],test(i,e=0){let t=e.from||i.from,n=e.to||i.to,a=e.inflate==null?i.inflate:e.inflate;return t.find((o,r)=>n[r]+a>32||n[r]+a<-16||t[r]-a>32||t[r]-a<-16)!==void 0},move(i,e=0){let t=e.from||i.from,n=e.to||i.to,a=e.inflate==null?i.inflate:e.inflate;[0,1,2].forEach(o=>{var r=n[o]+a-32;r>0?(t[o]-=r,n[o]-=r,16+t[o]-a<0&&(t[o]=-16+a)):(r=t[o]-a+16,r<0&&(t[o]-=r,n[o]-=r,n[o]+a>32&&(n[o]=32-a)))})},clamp(i,e=0){let t=e.from||i.from,n=e.to||i.to,a=e.inflate==null?i.inflate:e.inflate;[0,1,2].forEach(o=>{t[o]=Math.clamp(t[o]-a,-16,32)+a,n[o]=Math.clamp(n[o]+a,-16,32)-a})}},codec:bf});bf.format=vy;Object.defineProperty(vy,"rotation_snap",{get(){return Project.java_block_version=="1.9.0"}});Object.defineProperty(vy,"rotation_limit",{get(){try{return!VersionUtil.compare(Project.java_block_version,">=","1.21.11")}catch{return!0}}});BARS.defineActions(function(){bf.export_action=new Action({id:"export_blockmodel",icon:"icon-format_block",category:"file",condition:()=>Format==vy,click:function(){bf.export()}}),new Action("import_java_block_model",{icon:"assessment",category:"file",condition:()=>Format==vy,click:function(){Blockbench.import({resource_id:"model",extensions:["json"],type:bf.name,multiple:!0},function(i){i.forEach(e=>{var t=autoParseJSON(e.content,{file_path:e.path});bf.parse(t,e.path,{import_to_current_project:!0})})})}})});var by=new AnimationCodec("bedrock",{pickFile(){let i=Project.export_path;Blockbench.import({resource_id:"animation",extensions:["json"],type:"JSON Animation, JSON Animation Controller",multiple:!0,startpath:i},async e=>{for(let t of e)await this.importFile(t)})},importFile(i,e){let t=this,n={};e&&i.path&&(n._path={type:"info",text:i.path});let a=autoParseJSON(i.content,{file_path:i.path}),o=[],r=!!a.animation_controllers,s=a.animations||a.animation_controllers;for(var l in s){if(0)for(var c of r?AnimationController.all:Animation.all);n["anim"+l.hashCode()]={label:l,type:"checkbox",value:!0},o.push(l)}if(i.json=a,o.length==0)Blockbench.showQuickMessage("message.no_animation_to_import");else if(o.length==1){Undo.initEdit({animations:[]});let d=t.loadFile(i,o);Undo.finishEdit("Import animations",{animations:d})}else return new Promise(d=>{let u=["dialog.ok","dialog.ignore"];e&&Project?.memory_animation_files_to_load?.length>1&&u.push("dialog.ignore_all");let p=new Dialog({id:"animation_import",title:"dialog.animation_import.title",form:n,buttons:u,cancelIndex:1,onConfirm(m){this.hide();let _=[];for(var f of o)m["anim"+f.hashCode()]&&_.push(f);Undo.initEdit({animations:[]});let g=t.loadFile(i,_);Undo.finishEdit("Import animations",{animations:g}),d()},onCancel(m){Project.memory_animation_files_to_load&&Project.memory_animation_files_to_load.remove(i.path),d()},onButton(m){e&&m==2&&Project.memory_animation_files_to_load&&Project.memory_animation_files_to_load.empty(),d()}});n.select_all_none={type:"buttons",buttons:["generic.select_all","generic.select_none"],click(m){let _={};o.forEach(f=>_["anim"+f.hashCode()]=m==0),p.setFormValues(_)}},p.show()})},loadFile(i,e){var t=i.json||autoParseJSON(i.content,{file_path:i.path});let n=i.path,a=[];function o(b){return typeof b=="string"?b.replace(/;\s*(?!$)/g,`; `):b}if(!t)return a;if(typeof t.animations=="object"){for(let b in t.animations)if(!(e&&!e.includes(b))){var r=t.animations[b],s=new Animation({name:b,saved_name:b,path:n,loop:r.loop&&(r.loop=="hold_on_last_frame"?"hold":"loop"),override:r.override_previous_animation,anim_time_update:o(r.anim_time_update),blend_weight:o(r.blend_weight),start_delay:o(r.start_delay),loop_delay:o(r.loop_delay),length:r.animation_length}).add();if(r.bones){let w=function(y){if(typeof y!="string")return;y=y.replace(/v\./,"variable.").replace(/q\./,"query.").replace(/t\./,"temp.").replace(/c\./,"context.").toLowerCase();let A=y.match(/(query|variable|context|temp)\.\w+(\([^)]*\))?/gi);A&&A.forEach(R=>{let j=Interface.Panels.variable_placeholders.inside_vue;if(x.includes(R)||j.text.split(` `).find(L=>L.substr(0,R.length)==R))return;let[F,O]=R.split(/\./);j.text!=""&&j.text.substr(-1)!==` `&&(j.text+=` `),O=O.replace(/[')]/g,"").replace("(",":"),O=="modified_distance_moved"?j.text+=`${R} = time * 8`:O.match(/is_|has_|can_|blocking/)?j.text+=`${R} = toggle('${O}')`:j.text+=`${R} = slider('${O}')`})},E=function(y,A){if(y instanceof Array){y.forEach(w);let R={x:y[0],y:y[1],z:y[2]};return A=="position"&&(R.x=invertMolang(R.x)),A=="rotation"&&(R.x=invertMolang(R.x),R.y=invertMolang(R.y)),[R]}else{if(["number","string"].includes(typeof y))return w(y),[{x:y,y,z:y}];if(typeof y=="object"){let R=[];return y.pre&&R.push(E(y.pre,A)[0]),y.post&&!(y.pre instanceof Array&&y.post instanceof Array&&y.post.equals(y.pre))&&R.push(E(y.post,A)[0]),R}}},x=["query.anim_time","query.life_time","query.time_stamp","query.delta_time","query.camera_rotation","query.rotation_to_camera","query.distance_from_camera","query.lod_index","query.camera_distance_range_lerp"];for(var l in r.bones){var c=r.bones[l];let y=l.toLowerCase();var d=Group.all.find(R=>R.name.toLowerCase()==y);let A=d?d.uuid:guid();var u=new BoneAnimator(A,s,l);s.animators[A]=u;for(var p in c){if(!BoneAnimator.prototype.channels[p])continue;if(typeof c[p]=="string"||typeof c[p]=="number"||c[p]instanceof Array)u.addKeyframe({time:0,channel:p,uniform:!(c[p]instanceof Array),data_points:E(c[p],p)});else if(typeof c[p]=="object"&&c[p].post)u.addKeyframe({time:0,channel:p,interpolation:c[p].lerp_mode,uniform:!(c[p].post instanceof Array),data_points:E(c[p],p)});else if(typeof c[p]=="object")for(var m in c[p])u.addKeyframe({time:parseFloat(m),channel:p,interpolation:c[p][m].lerp_mode,uniform:!(c[p][m]instanceof Array),data_points:E(c[p][m],p)});let R=u[p].slice().sort((F,O)=>F.time-O.time),j=!1;R.forEach((F,O)=>{let L=R[O+1];L&&L.data_points.length==2&&F.getArray(1).equals(L.getArray(0))?(L.data_points.splice(0,1),F.interpolation="step",j=!0):!L&&j&&(F.interpolation="step")})}c.relative_to&&c.relative_to.rotation=="entity"&&(u.rotation_global=!0)}}if(r.sound_effects){s.animators.effects||(s.animators.effects=new EffectAnimator(s));for(var m in r.sound_effects){var _=r.sound_effects[m];_ instanceof Array||(_=[_]),s.animators.effects.addKeyframe({channel:"sound",time:parseFloat(m),data_points:_})}}if(r.particle_effects){s.animators.effects||(s.animators.effects=new EffectAnimator(s));for(var m in r.particle_effects){var f=r.particle_effects[m];f instanceof Array||(f=[f]),f.forEach(w=>{w&&(w.script=w.pre_effect_script)}),s.animators.effects.addKeyframe({channel:"particle",time:parseFloat(m),data_points:f})}}if(r.timeline){s.animators.effects||(s.animators.effects=new EffectAnimator(s));for(var m in r.timeline){var g=r.timeline[m],v=g instanceof Array?g.join(` `):g;if(typeof v=="string"){let w=Interface.Panels.variable_placeholders.inside_vue,E=v.match(/(v|variable)\.texture\w*\s*=/);E&&!w.text.includes("preview.texture =")&&(w.text!=""&&w.text.substr(-1)!==` `&&(w.text+=` `),w.text+=`preview.texture = ${E[0].replace(/\s*=$/,"")}`)}s.animators.effects.addKeyframe({channel:"timeline",time:parseFloat(m),data_points:[{script:v}]})}}s.calculateSnappingFromKeyframes(),s.setScopeFromAnimators(),!Animation.selected&&Animator.open&&s.select(),a.push(s),Blockbench.dispatchEvent("load_animation",{animation:s,json:t})}}else typeof t.animation_controllers=="object"&&AnimationCodec.codecs.bedrock_animation_controller.loadFile(i,e);return a},reloadAnimation(i){Blockbench.read([i.path],{},([e])=>{Undo.initEdit({animations:[i]});let t=Animation.all.indexOf(i);i.remove(!1,!1);let[n]=by.loadFile(e,[i.name]);n?(Animation.all.remove(n),Animation.all.splice(t,0,n),Undo.finishEdit("Reload animation",{animations:[n]})):Undo.cancelEdit()})},reloadFile(i){let e=i,t=Animation.all.filter(r=>r.path==e&&r.saved),n=AnimationController.all.filter(r=>r.path==e&&r.saved);if(!t.length&&!n.length)return;Undo.initEdit({animations:t,animation_controllers:n});let a=[],o=AnimationItem.selected?.name;t.forEach(r=>{a.push(r.name),r.remove(!1,!1)}),n.forEach(r=>{a.push(r.name),r.remove(!1,!1)}),Blockbench.read([e],{},([r])=>{let s=by.loadFile(r,a),l=s.find(c=>c.name==o);l&&l.select(),s[0]instanceof AnimationController?Undo.finishEdit("Reload animation controller file",{animation_controllers:s,animations:[]}):Undo.finishEdit("Reload animation file",{animations:s,animation_controllers:[]})})},compileAnimation(i){let e={};i.loop=="hold"?e.loop="hold_on_last_frame":(i.loop=="loop"||i.getMaxLength()==0)&&(e.loop=!0),i.length&&(e.animation_length=Math.roundTo(i.length,4)),i.override&&(e.override_previous_animation=!0),i.anim_time_update&&(e.anim_time_update=exportMolang(i.anim_time_update)),i.blend_weight&&(e.blend_weight=exportMolang(i.blend_weight)),i.start_delay&&(e.start_delay=exportMolang(i.start_delay)),i.loop_delay&&e.loop&&(e.loop_delay=exportMolang(i.loop_delay)),e.bones={};for(var t in i.animators){var n=i.animators[t];if(!(!n.keyframes.length&&!n.rotation_global)){if(n instanceof EffectAnimator)n.sound.sort((c,d)=>c.time-d.time).forEach(c=>{e.sound_effects||(e.sound_effects={}),e.sound_effects[c.getTimecodeString()]=c.compileBedrockKeyframe()}),n.particle.sort((c,d)=>c.time-d.time).forEach(c=>{e.particle_effects||(e.particle_effects={}),e.particle_effects[c.getTimecodeString()]=c.compileBedrockKeyframe()}),n.timeline.sort((c,d)=>c.time-d.time).forEach(c=>{e.timeline||(e.timeline={}),e.timeline[c.getTimecodeString()]=c.compileBedrockKeyframe()});else if(n.type=="bone"){var a=n.getGroup(),o=e.bones[a?a.name:n.name]={};n.rotation_global&&(o.relative_to={rotation:"entity"},o.rotation=[0,0,.01]);for(var r in Animator.possible_channels){if(!n[r]?.length)continue;o[r]={};let c=n[r].slice().sort((u,p)=>u.time-p.time);c.forEach((u,p)=>{let m=u.getTimecodeString();o[r][m]=u.compileBedrockKeyframe(),n.rotation_global&&u.channel=="rotation"&&o[u.channel][m]instanceof Array&&o[u.channel][m].allEqual(0)&&(o[u.channel][m][2]=.01);let _=c[p+1];if(_&&(u.interpolation==="bezier"||_.interpolation==="bezier")){let f=1/i.snapping,g={};for(let w=u.time+f;w<_.time+f/2;w+=f){let E=trimFloatNumber(Timeline.snapTime(w,i)).toString();E.includes(".")||(E+=".0");let y=Math.getLerp(u.time,_.time,w),A=[0,1,2].map(R=>u.getBezierLerp(u,_,getAxisLetter(R),y));(r=="position"||r=="rotation")&&(A[0]=-A[0]),r=="rotation"&&(A[1]=-A[1]),g[E]=A}let v=Object.keys(g),b=0,x=r=="scale"?.005:r=="rotation"?.1:.01;v.forEach((w,E)=>{let y=g[w],A=g[v[E-1]]||o[r][m],R=g[v[E+1]];if(!R)return;let j=0;y.allAre((O,L)=>{let U=Math.abs(A[L]-O-(O-R[L]));return j=Math.max(j,U),U{let _=trimFloatNumber(Timeline.snapTime(m/l,i)).toString();_.includes(".")||(_+=".0"),p.array[0]=invertMolang(p.array[0]),p.array[1]=invertMolang(p.array[1]),o.rotation[_]=p.array})}return Object.keys(e.bones).length==0&&delete e.bones,Blockbench.dispatchEvent("compile_bedrock_animation",{animation:i,json:e}),e},compileFile(i){var e={};return i.forEach(t=>{let n=this.compileAnimation(t);e[t.name]=n}),{format_version:"1.8.0",animations:e}},saveAnimation(i){let e={format_version:"1.8.0",animations:{[i.name]:this.compileAnimation(i)}};if(0){if(null.existsSync(i.path))try{}catch(a){var t}}else Blockbench.export({resource_id:"animation",type:"JSON Animation",extensions:["json"],name:(Project.geometry_name||"model")+".animation",startpath:i.path,content:compileJSON(e)},n=>{i.path==n,i.saved=!0})},exportFile(i,e){let t=i||"";if(0)var n,a;let o=Animator.animations.filter(r=>r.path==t);{let r=this.compileFile(o);Blockbench.export({resource_id:"animation",type:"JSON Animation",extensions:["json"],name:(Project.geometry_name||"model")+".animation",startpath:i,content:autoStringify(r),custom_writer:!1},s=>{o.forEach(function(l){l.path=s,l.saved=!0})})}},deleteAnimationFromFile(i){let e=null.readFileSync(i.path,"utf-8"),t=autoParseJSON(e,!1);t&&t.animations&&t.animations[i.name]&&(delete t.animations[i.name],Blockbench.writeFile(i.path,{content:compileJSON(t)}),Undo.history.last().before.animations[i.uuid].saved=!1)}});Blockbench.on("edit_animation_properties",({animation:i})=>{AnimationCodec.getCodec()==by&&(i.name=i.name.trim().replace(/\s+/g,"_"))});var dye=new vf("bedrock_animation_controller",{multiple_per_file:!0,loadFile(i,e){var t=i.json||autoParseJSON(i.content,{file_path:i.path});let n=i.path,a=[];if(!t)return a;if(typeof t.animations=="object")return vf.codecs.bedrock.loadFile(i,e);if(typeof t.animation_controllers=="object")for(let o in t.animation_controllers){if(e&&!e.includes(o))continue;let r=t.animation_controllers[o],s=new AnimationController({name:o,saved_name:o,path:n,states:r.states,initial_state:r.initial_state||(r.states?.default?"default":void 0)}).add();!Animation.selected&&!AnimationController.selected&&Animator.open&&s.select(),a.push(s),Blockbench.dispatchEvent("load_animation_controller",{animation_controller:s,json:t})}return a},compileAnimation(i){return i.compileForBedrock()},compileFile(i){let e={};return i.forEach(function(t){let n=t.compileForBedrock();e[t.name]=n}),{format_version:"1.19.0",animation_controllers:e}},exportFile(i,e){let t=i||"";if(0)var n,a;{let o=Animator.animations.filter(s=>s.path==t||!s.path&&!t),r=this.compileFile(o);Blockbench.export({resource_id:"animation_controller",type:"JSON Animation Controller",extensions:["json"],name:(Project.geometry_name||"model")+".animation_controllers",startpath:i,content:autoStringify(r),custom_writer:!1},s=>{AnimationController.all.forEach(function(l){l.path==t&&(l.path=s,l.saved=!0)})})}},deleteAnimationFromFile(i){let e=null.readFileSync(i.path,"utf-8"),t=autoParseJSON(e,!1);t&&t.animation_controllers&&t.animation_controllers[i.name]&&(delete t.animation_controllers[i.name],Blockbench.writeFile(i.path,{content:compileJSON(t)}),Undo.history.last().before.animation_controllers[i.uuid].saved=!1)}});var I1=new Codec("bedrock_voxel_shape",{name:"Bedrock Voxel Shape",extension:"json",remember:!0,support_partial_export:!0,load_filter:{type:"json",extensions:["json"],condition(i){return i["minecraft:voxel_shape"]}},parse(i,e,t={}){this.dispatchEvent("parse",{model:i});let n=i["minecraft:voxel_shape"];n.description.identifier&&!t.import_to_current_project&&(Project.model_identifier=n.description.identifier);let a=[],o=[];t.import_to_current_project&&Undo.initEdit({elements:a,groups:o,outliner:!0});let r=new Group({name:"voxel_shape"}).init(),s=[-8,0,-8],l=0;for(let c of n.shape.boxes){let d=new Jo({from:c.min.slice().V3_add(s),to:c.max.slice().V3_add(s),color:6});d.init().addTo(r),a.push(d),l++}t.import_to_current_project&&(o.push(r),Undo.finishEdit("Import bounding box")),this.dispatchEvent("parsed",{model:i}),Validator.validate()},compile(i={}){let e={description:{identifier:Project.model_identifier},shape:{boxes:[]}},t=[-8,0,-8];for(let a of Jo.all){let o=a;if(o.export==!1)continue;let r={min:o.from.slice().V3_subtract(t),max:o.to.slice().V3_subtract(t)};e.shape.boxes.push(r)}let n={format_version:"1.21.110","minecraft:voxel_shape":e};return this.dispatchEvent("compile",{model:n,options:i}),i.raw?n:autoStringify(n)},fileName(){var i=Project.name||"model";return i.match(/\.geo$/)||(i+=".geo"),i}});function P5(i,e,t=!1){i instanceof Array||(i=[i]);let n=[];Outliner.selected.empty();for(let a of i){if(typeof a!="object"||!(a.origin instanceof Array)||!(a.size instanceof Array))return;n.length==0&&t&&Undo.initEdit({elements:n,outliner:!0});let o=new Jo({name:e,from:[-(a.origin[0]+a.size[0]),a.origin[1],a.origin[2]],to:[-a.origin[0],a.origin[1]+a.size[1],a.origin[2]+a.size[2]],function:[e=="selection"?"hitbox":"collision"],color:e=="selection"?0:2});o.addTo().init(),n.push(o),o.markAsSelected()}return updateSelection(),n.length&&t&&Undo.finishEdit("Paste bounding boxes"),n}BARS.defineActions(function(){I1.format=Formats.bedrock_block,I1.export_action=new Action("export_bedrock_voxel_shape",{icon:"fa-cubes",category:"file",condition:{formats:["bedrock_block"],method:()=>Jo.all.length>0},click(){I1.export()}}),new Action("import_bedrock_voxel_shape",{icon:"fa-cubes",category:"file",condition:{formats:["bedrock_block"]},click(){bn.importFile({resource_id:"bedrock_voxel_shape",extensions:["json"],type:"Voxel Shape",multiple:!0,readtype:"text"},e=>{for(let t of e){let n=autoParseJSON(t.content);I1.parse(n,t.path,{import_to_current_project:!0})}})}}),new Action("generate_bedrock_block_box",{icon:"fa-cubes",category:"file",condition:{formats:["bedrock_block"]},click(){if(!Jo.all.length)return Blockbench.showQuickMessage("dialog.bedrock_bounding_box.no_bounding_boxes");function e(t,n){let a=Jo.all;if(a.some(l=>l.function.length)){let l=t=="collision_box"?"collision":"hitbox";a=a.filter(c=>c.function.includes(l))}let o=a.map(l=>({origin:[-l.to[0],l.from[1],l.from[2]],size:l.size()}));if(t=="selection_box"){let{origin:l,size:c}=o[0],d=l[0],u=l[1],p=l[2],m=l[0]+c[0],_=l[1]+c[1],f=l[2]+c[2];for(let g=1;go.function.length)){let o=t=="collision_box"?"collision":"hitbox";a=a.filter(r=>r.function.includes(o))}if(t=="collision_box"){let o='"minecraft:collision_box": ',r=a[0],s={width:r.size(0)/16,height:r.size(1)/16};return o+compileJSON(s,{small:n})}else{let o='"minecraft:custom_hit_test": ',r=a.map(s=>{let l=s.to.slice().V3_add(s.from).V3_divide(2);return{width:s.size(0)/16,height:s.size(1)/16,pivot:[-l[0]/16,l[1]/16,l[2]/16]}});return o+compileJSON({hitboxes:r},{small:n})}}new Dialog({id:"generate_bedrock_entity_box",title:"action.generate_bedrock_entity_box",form:{type:{label:"dialog.bedrock_bounding_box.type",type:"inline_select",options:{collision_box:"dialog.bedrock_bounding_box.type.collision_box",hitbox:"dialog.bedrock_bounding_box.type.hitbox"}},minify:{type:"checkbox",label:"Minify"},output:{type:"textarea",style:"code",value:e("collision_box",!1),full_width:!0,readonly:!0,share_text:!0},collision_note:{type:"info",text:"dialog.bedrock_bounding_box.collision_note",condition:t=>t.type=="collision_box"},hitbox_note:{type:"info",text:"dialog.bedrock_bounding_box.hitbox_note",condition:t=>t.type=="hitbox"}},onFormChange(t){let n=e(t.type,t.minify);Dialog.open.setFormValues({output:n},!1)},singleButton:!0}).show()}});let i=["bedrock","bedrock_block"];Blockbench.on("drop_text paste_text",e=>{if(!Format||!i.includes(Format.id))return;let t=e.text.replace(/\s+/g,"");if(t.startsWith('"minecraft:selection_box"')||t.startsWith('"minecraft:collision_box"')){let n=t.replace(/^"[^"]*"\s*:\s*/,"").replace(/[,\s]+$/,""),a=autoParseJSON(n,!0);if(!a)return;let o=/minecraft:(\w+)/.exec(t)?.[1]??"box";P5(a,o,!0)}})});var eoe={loadBedrockCollisionFromJSON:P5};Object.assign(window,eoe);function B5(){var i=new THREE.Box3;Canvas.withoutGizmos(()=>{Cube.all.forEach(r=>{r.export&&r.mesh&&i.expandByObject(r.mesh)})});var e=new THREE.Vector3(8,8,8);i.max.add(e),i.min.add(e);var t=Math.max(i.max.x,i.max.z,-i.min.x,-i.min.z);Math.abs(t)===1/0&&(t=0);let n=Math.ceil(t*2/16);n=Math.max(n,Project.visible_box[0]),Project.visible_box[0]=n;let a=Math.floor(i.min.y/16),o=Math.ceil(i.max.y/16);return a===1/0&&(a=0),o===1/0&&(o=0),a=Math.min(a,Project.visible_box[2]-Project.visible_box[1]/2),o=Math.max(o,Project.visible_box[2]+Project.visible_box[1]/2),Project.visible_box.replace([n,o-a,(o+a)/2]),Project.visible_box}window.calculateVisibleBox=B5;function R5(i,e,t){var n=new Cube({name:i.name||e.name,autouv:0,color:e.color,rotation:i.rotation,origin:i.pivot});if(n.rotation.forEach(function(s,l){l!=2&&(n.rotation[l]*=-1)}),n.origin[0]*=-1,i.origin&&(n.from.V3_set(i.origin),n.from[0]=-(n.from[0]+i.size[0]),i.size&&(n.to[0]=i.size[0]+n.from[0],n.to[1]=i.size[1]+n.from[1],n.to[2]=i.size[2]+n.from[2])),i.uv instanceof Array)n.uv_offset[0]=i.uv[0],n.uv_offset[1]=i.uv[1],n.box_uv=!0;else if(i.uv){n.box_uv=!1;for(var a in n.faces){var o=n.faces[a];i.uv[a]?(o.extend({material_name:i.uv[a].material_instance,uv:[i.uv[a].uv[0],i.uv[a].uv[1]],rotation:i.uv[a].uv_rotation}),i.uv[a].uv_size?o.uv_size=[i.uv[a].uv_size[0],i.uv[a].uv_size[1]]:(n.autouv=1,n.mapAutoUV()),(a=="up"||a=="down")&&(o.uv=[o.uv[2],o.uv[3],o.uv[0],o.uv[1]])):(o.texture=null,o.uv=[0,0,0,0],o.rotation=0)}}let r=i.inflate??t?.inflate;return typeof r=="number"&&(n.inflate=r),i.mirror===void 0?n.mirror_uv=e.mirror_uv:n.mirror_uv=i.mirror===!0,n.addTo(e).init(),n}function j5(i,e,t){var n=new Group({name:i.name,origin:i.pivot,rotation:i.rotation,material:i.material,bedrock_binding:i.binding,color:Group.all.length%markerColors.length}).init();if(n.createUniqueName(),e[i.name]=n,i.pivot&&(n.origin[0]*=-1),n.rotation.forEach(function(o,r){r!==2&&(n.rotation[r]*=-1)}),n.mirror_uv=i.mirror===!0,n.reset=i.reset===!0,i.cubes&&i.cubes.forEach(function(o){R5(o,n,i)}),i.locators)for(let o in i.locators){let r,s,l;i.locators[o]instanceof Array?r=i.locators[o]:(r=i.locators[o].offset,s=i.locators[o].rotation,l=i.locators[o].ignore_inherited_scale),r[0]*=-1,s instanceof Array&&(s[0]*=-1,s[1]*=-1),o.substr(0,6)=="_null_"&&i.locators[o]instanceof Array?new NullObject({from:r,name:o.substr(6)}).addTo(n).init():new Locator({position:r,name:o,rotation:s,ignore_inherited_scale:l}).addTo(n).init()}i.texture_meshes instanceof Array&&i.texture_meshes.forEach(o=>{let r=Texture.all.find(l=>l.name==o.texture),s=new TextureMesh({texture_name:o.texture,texture:r?r.uuid:null,origin:o.position,rotation:o.rotation,local_pivot:o.local_pivot,scale:o.scale});s.local_pivot[2]*=-1,s.origin[1]*=-1,i.pivot&&(s.origin[1]+=i.pivot[1]),s.origin[0]*=-1,s.rotation[0]*=-1,s.rotation[1]*=-1,s.addTo(n).init()}),i.children&&i.children.forEach(function(o){o.addTo(n)});var a="root";i.parent&&(e[i.parent]?a=e[i.parent]:t.forEach(function(o){o.name===i.parent&&(o.children&&o.children.length?o.children.push(n):o.children=[n])})),n.addTo(a)}function yf(i,e={}){let{description:t}=i.object,n=t.identifier&&t.identifier.replace(/^geometry\./,"")||"";if(e.switch_to_existing_tab!=!1){let r=!1;if(r){Project.close().then(()=>{r.select()});return}}Bl.dispatchEvent("parse",{model:i.object}),e.import_to_current_project?e.collection&&(e.collection.model_identifier=n):(Project.model_identifier=n,Project.texture_width=16,Project.texture_height=16),typeof t.visible_bounds_width=="number"&&typeof t.visible_bounds_height=="number"&&(Project.visible_box[0]=Math.max(Project.visible_box[0],t.visible_bounds_width||0),Project.visible_box[1]=Math.max(Project.visible_box[1],t.visible_bounds_height||0),t.visible_bounds_offset&&typeof t.visible_bounds_offset[1]=="number"&&(Project.visible_box[2]=t.visible_bounds_offset[1]||0)),t.texture_width!==void 0&&(Project.texture_width=t.texture_width),t.texture_height!==void 0&&(Project.texture_height=t.texture_height),i.object.item_display_transforms!==void 0&&(DisplayMode.loadJSON(i.object.item_display_transforms),i.object.item_display_transforms.gui&&i.object.item_display_transforms.gui.fit_to_frame==null&&(Project.display_settings.gui.fit_to_frame=!0));var a={};if(i.object.bones){var o=[];i.object.bones.forEach(function(r){o.push(r.name)}),i.object.bones.forEach(function(r){j5(r,a,i.object.bones)})}Project.box_uv=Cube.all.filter(r=>r.box_uv).length>Cube.all.length/2,Bl.dispatchEvent("parsed",{model:i.object}),Canvas.updateAllBones(),setProjectTitle(),Validator.validate(),updateSelection()}function I5(i,e){var t={origin:i.from.slice(),size:i.size(),inflate:i.inflate||void 0};if(i.box_uv&&(t=new oneLiner(t)),t.origin[0]=-(t.origin[0]+t.size[0]),i.rotation.allEqual(0)||(t.pivot=i.origin.slice(),t.pivot[0]*=-1,t.rotation=i.rotation.slice(),t.rotation.forEach(function(o,r){r!=2&&(t.rotation[r]*=-1)})),i.box_uv)t.uv=i.uv_offset,i.mirror_uv===!e.mirror&&(t.mirror=i.mirror_uv);else{t.uv={};for(var n in i.faces){var a=i.faces[n];a.texture!==null&&(t.uv[n]=new oneLiner({uv:[a.uv[0],a.uv[1]],uv_size:[a.uv_size[0],a.uv_size[1]]}),a.rotation&&(t.uv[n].uv_rotation=a.rotation),a.material_name&&(t.uv[n].material_instance=a.material_name),(n=="up"||n=="down")&&(t.uv[n].uv[0]+=t.uv[n].uv_size[0],t.uv[n].uv[1]+=t.uv[n].uv_size[1],t.uv[n].uv_size[0]*=-1,t.uv[n].uv_size[1]*=-1))}}return t}function D5(i){if(i.type==="group"){if(i.export==!1){let r=function(s){for(let l of s.children)if(l.export==!0||"children"in l&&r(l))return!0};if(!r(i))return!1}if(!(!settings.export_empty_groups.value&&!i.children.find(r=>r.export))&&!(i.children.length&&i.children.allAre(r=>r instanceof BoundingBox))){var e={};e.name=i.name,i.parent.type==="group"&&(e.parent=i.parent.name),e.pivot=i.origin.slice(),e.pivot[0]*=-1,i.rotation.allEqual(0)||(e.rotation=i.rotation.slice(),e.rotation[0]*=-1,e.rotation[1]*=-1),i.bedrock_binding&&(e.binding=i.bedrock_binding),i.reset&&(e.reset=!0),i.mirror_uv&&Project.box_uv&&(e.mirror=!0),i.material&&(e.material=i.material);var t=[],n={},a=[];for(var o of i.children)if(o.export){if(o instanceof Cube){let r=I5(o,e);t.push(r)}else if(o instanceof Locator||o instanceof NullObject){let r=o.name;o instanceof NullObject&&(r="_null_"+r);let s=o.position.slice();s[0]*=-1,o.getTypeBehavior("rotatable")&&!o.rotation.allEqual(0)||o.ignore_inherited_scale?(n[r]={offset:s},o.getTypeBehavior("rotatable")&&(n[r].rotation=[-o.rotation[0],-o.rotation[1],o.rotation[2]]),o.ignore_inherited_scale&&(n[r].ignore_inherited_scale=!0)):n[r]=s}else if(o instanceof TextureMesh){let r={texture:o.texture_name,position:o.origin.slice()};r.position[0]*=-1,r.position[1]-=e.pivot[1],r.position[1]*=-1,o.rotation.allEqual(0)||(r.rotation=[-o.rotation[0],-o.rotation[1],o.rotation[2]]),o.local_pivot.allEqual(0)||(r.local_pivot=o.local_pivot.slice(),r.local_pivot[2]*=-1),o.scale.allEqual(1)||(r.scale=o.scale.slice()),a.push(r)}}return t.length&&(e.cubes=t),a.length&&(e.texture_meshes=a),Object.keys(n).length&&(e.locators=n),e}}}var Eye=new Codec("bedrock_entity_file",{name:"Bedrock Entity",extension:"json",remember:!1,support_partial_export:!0,support_offset:!0,load_filter:{type:"json",extensions:["json"],condition(i){return i.format_version&&(i["minecraft:client_entity"]||i["minecraft:attachable"])}},load(i,e,t){let n=i["minecraft:attachable"]!==void 0,a=(i["minecraft:client_entity"]||i["minecraft:attachable"]).description,o=[];for(let u in a.geometry){let p=a.geometry[u];o.push(p)}if(!o[0])return;let r=e.path.split(osfs),s=r.pop().replace(/(\.entity|\.attachable)?\.json$/,""),l=r.indexOf(n?"attachables":"entity");r.splice(l);let[c,d]=Blockbench.findFileFromContent([[...r,"models","entity"].join(osfs),[...r,"models","blocks"].join(osfs)],{filter_regex:/\.json$/i,priority_regex:new RegExp(s,"i"),json:!0},(u,p)=>{if(p["minecraft:geometry"]instanceof Array){if(p["minecraft:geometry"].find(_=>_.description?.identifier==o[0]))return[u,p]}else if(p[o[0]])return[u,p]})||[];c&&(BedrockEntityManager.CurrentContext={geometry:o[0],entity_file_path:e.path,type:"entity"},(d["minecraft:geometry"]?Codecs.bedrock:Codecs.bedrock_old).load(d,{path:c},!1),delete BedrockEntityManager.CurrentContext)}});function KC(){if(Format.display_mode)for(let i in DisplayMode.slots){let e=DisplayMode.slots[i];if(Project.display_settings[e]&&Project.display_settings[e].export&&Project.display_settings[e].export())return"1.21.110"}for(let i of Cube.all)if(!i.box_uv){for(let e in i.faces)if(i.faces[e].rotation)return"1.21.0"}return Group.all.find(i=>i.bedrock_binding)?"1.16.0":"1.12.0"}function toe(i,e){for(let t of i){t.pivot&&t.pivot.V3_add(e);for(let n of t.cubes??[])n.origin.V3_add(e),n.pivot?.V3_add(e);if(typeof t.locators=="object")for(let n in t.locators){let a=t.locators[n];a instanceof Array?a.V3_add(e):a.offset&&a.offset.V3_add(e)}}}var Bl=new Codec("bedrock",{name:"Bedrock Model",extension:"json",remember:!0,multiple_per_file:!0,support_partial_export:!0,support_offset:!0,load_filter:{type:"json",extensions:["json"],condition(i){return i["minecraft:geometry"]&&i.format_version&&vo.compare(i.format_version,">=","1.12.0")}},load(i,e,t={}){let n=Settings.get("default_bedrock_format")=="block";if(e.path&&(e.path.match(/[\\/]models[\\/]blocks[\\/]/)?n=!0:e.path.match(/[\\/]models[\\/]entity[\\/]/)&&(n=!1)),i["minecraft:geometry"]?.[0]?.item_display_transforms&&(n=!0),(typeof t=="boolean"?t:t.import_to_current_project)||setupProject(n?sl:yy),e.path&&!1)var o;this.parse(i,e.path,t),e.path},compile(i){i===void 0&&(i={});var e={},t={format_version:KC(),"minecraft:geometry":[e]};e.description={identifier:"geometry."+(this.context?.model_identifier||Project.geometry_name||"unknown"),texture_width:Project.texture_width||16,texture_height:Project.texture_height||16},i.collection;var n=[],a=getAllGroups(),o=[];if(Outliner.root.forEach(l=>{l instanceof OutlinerElement&&o.push(l)}),o.length){let l=new Group({name:"bb_main"});l.children.push(...o),l.is_catch_bone=!0,l.createUniqueName(),a.splice(0,0,l)}if(a.forEach(l=>{let c=D5(l);c&&n.push(c)}),n.length&&i.visible_box!==!1){let l=B5();e.description.visible_bounds_width=l[0]||0,e.description.visible_bounds_height=l[1]||0,e.description.visible_bounds_offset=[0,l[2]||0,0]}n.length&&(e.bones=n);let r=i.offset||this.context?.offset;r instanceof Array&&r.allEqual(0)==!1&&toe(n,r.slice().V3_multiply(1,-1,-1));let s={};for(let l in DisplayMode.slots){let c=DisplayMode.slots[l];if(Project.display_settings[c]&&Project.display_settings[c].exportBedrock){let d=Project.display_settings[c].exportBedrock();d&&(s[c]=d)}}return Object.keys(s).length&&(e.item_display_transforms=s),this.dispatchEvent("compile",{model:t,options:i}),i.raw?t:autoStringify(t)},overwrite(i,e,t){var n,a,o="geometry."+(this.context?.model_identifier||Project.geometry_name||"unknown");try{if(n=null.readFileSync(e,"utf-8"),n=autoParseJSON(n,!1),!(n["minecraft:geometry"]instanceof Array))throw"Incompatible format";var r=0;for(let c of n["minecraft:geometry"]){if(c.description&&c.description.identifier==o){a=r;break}r++}}catch(c){var s=null.showMessageBox(null,{type:"warning",buttons:[tl("message.bedrock_overwrite_error.overwrite"),tl("dialog.cancel")],title:"Blockbench",message:tl("message.bedrock_overwrite_error.message"),detail:c+"",noLink:!1});if(s===1)return}if(n&&a!==void 0){(!n.format_version||vo.compare(KC(),">",n.format_version))&&(n.format_version=KC()),n["minecraft:geometry"].forEach(c=>{c.bones instanceof Array&&c.bones.forEach(d=>{d.cubes instanceof Array&&d.cubes.forEach((u,p)=>{u.uv instanceof Array&&(d.cubes[p]=new oneLiner(u))})})});var l=this.compile({raw:!0})["minecraft:geometry"][0];a!=null?n["minecraft:geometry"][a]=l:n["minecraft:geometry"].push(l),i=autoStringify(n)}Blockbench.writeFile(e,{content:i},t)},parse(i,e,t={}){Format!=Formats.bedrock&&Format!=Formats.bedrock_block&&Formats.bedrock.select();let n=[];for(let o of i["minecraft:geometry"])typeof o=="object"&&n.push({object:o,name:o.description?.identifier||""});if(n.length===1)return yf(n[0],t);n.forEach(o=>{o.uuid=guid(),o.bonecount=0,o.cubecount=0,o.object.bones instanceof Array&&o.object.bones.forEach(r=>{o.bonecount++,r.cubes instanceof Array&&(o.cubecount+=r.cubes.length)})});let a=null;new Dialog({id:"bedrock_model_select",title:"dialog.select_model.title",buttons:["Import","dialog.cancel"],component:{data(){return{search_term:"",geometries:n,selected:null}},computed:{filtered_geometries(){if(!this.search_term)return this.geometries;let o=this.search_term.toLowerCase();return this.geometries.filter(r=>r.name.toLowerCase().includes(o))}},methods:{selectGeometry(o){this.selected=a=o},open(o){Dialog.open.hide(),yf(o,t)},tl},template:`
    • {{ geometry.name }}

    `},onConfirm(){yf(a,t)}}).show()},fileName(){var i=Project.name||"model";return i.match(/\.geo$/)||(i+=".geo"),i}});Bl.parseCube=R5;Bl.parseBone=j5;Bl.parseGeometry=yf;Bl.compileCube=I5;Bl.compileGroup=D5;var yy=new ModelFormat({id:"bedrock",extension:"json",icon:"icon-format_bedrock",category:"minecraft",target:"Minecraft: Bedrock Edition",format_page:{content:[{type:"h3",text:tl("mode.start.format.informations")},{text:`* ${tl("format.bedrock.info.textures")}`},{type:"h3",text:tl("mode.start.format.resources")},{text:`* [Article on modeling and implementation](https://www.blockbench.net/wiki/guides/bedrock-modeling) * [Modeling Tutorial Series](https://www.youtube.com/watch?v=U9FLteWmFzg&list=PLvULVkjBtg2SezfUA8kHcPUGpxIS26uJR)`.replace(/\t+/g,"")}]},node_name_regex:"\\w.-",rotate_cubes:!0,box_uv:!0,optional_box_uv:!0,uv_rotation:!0,single_texture:!0,bone_rig:!0,centered_grid:!0,animated_textures:!0,animation_files:!0,animation_mode:!0,animation_controllers:!0,bone_binding_expression:!0,locators:!0,texture_meshes:!0,bounding_boxes:!0,pbr:!0,codec:Bl,animation_codec:by,onSetup(i){}});Object.defineProperty(yy,"per_texture_uv_size",{get:i=>!!Project.multi_file_ruleset});var sl=new ModelFormat({id:"bedrock_block",category:"minecraft",extension:"json",icon:"icon-format_bedrock_block",target:"Minecraft: Bedrock Edition",format_page:{content:[{type:"h3",text:tl("mode.start.format.informations")},{text:`* ${tl("format.bedrock_block.info.size_limit")}`},{text:`* ${tl("format.bedrock_block.info.textures")}`},{type:"h3",text:tl("mode.start.format.resources")},{text:`* [Article on implementing custom blocks](https://learn.microsoft.com/en-us/minecraft/creator/documents/customblock) * [Modeling Tutorial Series](https://www.youtube.com/watch?v=U9FLteWmFzg&list=PLvULVkjBtg2SezfUA8kHcPUGpxIS26uJR)`.replace(/\t+/g,"")}]},node_name_regex:"\\w.-",show_on_start_screen:new Date().dayOfYear()>=298||new Date().getYear()>122,rotate_cubes:!0,box_uv:!1,optional_box_uv:!0,uv_rotation:!0,single_texture_default:!0,bone_rig:!0,centered_grid:!0,animated_textures:!0,animation_files:!1,animation_mode:!1,display_mode:!0,texture_meshes:!0,bounding_boxes:!0,pbr:!0,cube_size_limiter:{rotation_affected:!0,box_marker_size:[30,30,30],updateBoxMarker(){let i=Format.cube_size_limiter.getModelCenter();three_grid.size_limit_box&&three_grid.size_limit_box.position.set(i[0]+i[3],i[1]+i[4],i[2]+i[5]).divideScalar(2)},getModelCenter(i=[]){let e=i.length>0?"cached_center":"cached_center_all";if(sl.cube_size_limiter[e])return sl.cube_size_limiter[e];let t=[-7,1,-7,7,15,7];return Cube.all.forEach(n=>{if(i.includes(n))return;sl.cube_size_limiter.getCubeVertexCoordinates(n,n).forEach(o=>{t[3]=Math.min(t[3],o[0]+15),t[0]=Math.max(t[0],o[0]-15),t[4]=Math.min(t[4],o[1]+15),t[1]=Math.max(t[1],o[1]-15),t[5]=Math.min(t[5],o[2]+15),t[2]=Math.max(t[2],o[2]-15)})}),sl.cube_size_limiter[e]=t,setTimeout(()=>{delete sl.cube_size_limiter[e]},2),t},getCubeVertexCoordinates(i,e){let{from:t,to:n,inflate:a}=e,o=[[t[0]-a,t[1]-a,t[2]-a],[t[0]-a,t[1]-a,n[2]+a],[t[0]-a,n[1]+a,t[2]-a],[t[0]-a,n[1]+a,n[2]+a],[n[0]+a,t[1]-a,t[2]-a],[n[0]+a,t[1]-a,n[2]+a],[n[0]+a,n[1]+a,t[2]-a],[n[0]+a,n[1]+a,n[2]+a]];return o.forEach(r=>{r.V3_subtract(i.origin);let s=Reusable.vec1.set(...r);i.mesh.localToWorld(s),r.replace(s.toArray())}),o},test(i,e=0){let t=e.from||i.from,n=e.to||i.to,a=e.inflate==null?i.inflate:e.inflate,o=sl.cube_size_limiter.getCubeVertexCoordinates(i,{from:t,to:n,inflate:a}),r=sl.cube_size_limiter.getModelCenter([i]);return o.find((l,c)=>l[0]>r[3]+15||l[0]r[4]+15||l[1]r[5]+15||l[2]{d.forEach((u,p)=>{u>r[p+3]+15&&(s[p]=Math.max(s[p],u-(r[p+3]+15))),u{p.forEach((_,f)=>{t!==void 0&&t!==f||(f==0&&m<4||f==1&&m%4<2||f==2&&m%2<1?(_>l[f+3]+15&&(c[f]=Math.max(c[f],_-(l[f+3]+15))),_l[f+3]+15&&(d[f]=Math.max(d[f],_-(l[f+3]+15))),_Format==yy||Format==sl,click:function(){Bl.export()}})});new ValidatorCheck("bedrock_binding",{condition:!1,update_triggers:["update_selection"],run(){Project.BedrockEntityManager?.client_entity?.type=="attachable"&&Group.all.length&&!Group.all.find(i=>i.bedrock_binding)&&this.warn({message:"The project is an attachable, but no bone is bound to the player. Define a binding on one of the root bones.",buttons:[{name:"Bind root bone to player hand",icon:"fa-paperclip",click(){let i=Outliner.root.find(e=>e instanceof Group);Undo.initEdit({group:i}),i.bedrock_binding="q.item_slot_to_bone_name(c.item_slot)",Undo.finishEdit("Set binding"),Validator.validate()}}]})}});function $C(i,e){let t=i.name.replace(/^geometry\./,""),n=!1;if(n){Project.close().then(()=>{n.select()});return}xf.dispatchEvent("parse",{model:i.object}),Project.geometry_name=t,Project.texture_width=i.object.texturewidth||64,Project.texture_height=i.object.textureheight||64,typeof i.object.visible_bounds_width=="number"&&typeof i.object.visible_bounds_height=="number"&&(Project.visible_box[0]=Math.max(Project.visible_box[0],i.object.visible_bounds_width||0),Project.visible_box[1]=Math.max(Project.visible_box[1],i.object.visible_bounds_height||0),i.object.visible_bounds_offset&&typeof i.object.visible_bounds_offset[1]=="number"&&(Project.visible_box[2]=i.object.visible_bounds_offset[1]||0));var a={};if(i.object.bones){var o=[];i.object.bones.forEach(function(r){o.push(r.name)}),i.object.bones.forEach(function(r,s){var l=new Group({name:r.name,origin:r.pivot,rotation:r.rotation,material:r.material,color:Group.all.length%markerColors.length}).init();if(a[r.name]=l,r.pivot&&(l.origin[0]*=-1),l.rotation[0]*=-1,l.rotation[1]*=-1,l.mirror_uv=r.mirror===!0,l.reset=r.reset===!0,r.cubes&&r.cubes.forEach(function(_){var f=new Cube({name:r.name,autouv:0,color:l.color});_.origin&&(f.from.V3_set(_.origin),f.from[0]=-(f.from[0]+_.size[0]),_.size&&(f.to[0]=_.size[0]+f.from[0],f.to[1]=_.size[1]+f.from[1],f.to[2]=_.size[2]+f.from[2])),_.uv&&(f.uv_offset[0]=_.uv[0],f.uv_offset[1]=_.uv[1]),_.inflate&&typeof _.inflate=="number"&&(f.inflate=_.inflate),_.mirror===void 0?f.mirror_uv=l.mirror_uv:f.mirror_uv=_.mirror===!0,f.addTo(l).init()}),r.children&&r.children.forEach(function(_){_.addTo(l)}),r.locators)for(var c in r.locators){var d,u;r.locators[c]instanceof Array?d=r.locators[c]:(d=r.locators[c].offset,u=r.locators[c].rotation),d[0]*=-1;var p=new Locator({position:d,name:c,rotation:u}).addTo(l).init()}var m="root";r.parent&&(a[r.parent]?m=a[r.parent]:i.object.bones.forEach(function(_){_.name===r.parent&&(_.children&&_.children.length?_.children.push(l):_.children=[l])})),l.addTo(m)})}xf.dispatchEvent("parsed",{model:i.object}),Canvas.updateAllBones(),setProjectTitle(),Validator.validate(),updateSelection()}var xf=new Codec("bedrock_old",{name:"Bedrock Entity Model",extension:"json",remember:!0,multiple_per_file:!0,load_filter:{type:"json",extensions:["json"],condition(i){return i.format_version&&VersionUtil.compare(i.format_version,"<","1.12.0")||Object.keys(i).find(e=>e.match(/^geometry\./))}},compile(i){i===void 0&&(i={});var e={};e.texturewidth=Project.texture_width,e.textureheight=Project.texture_height;var t=[],n=new THREE.Box3,a=getAllGroups(),o=[];if(Outliner.root.forEach(s=>{(s.type==="cube"||s.type=="locator")&&o.push(s)}),o.length){let s=new Group({name:"bb_main"});s.children.push(...o),s.is_catch_bone=!0,s.createUniqueName(),a.splice(0,0,s)}if(a.forEach(function(s){if(!(s.type!=="group"||s.export==!1)&&!(!settings.export_empty_groups.value&&!s.children.find(_=>_.export))){var l={};l.name=s.name,s.parent.type==="group"&&(l.parent=s.parent.name),l.pivot=s.origin.slice(),l.pivot[0]*=-1,s.rotation.allEqual(0)||(l.rotation=[-s.rotation[0],-s.rotation[1],s.rotation[2]]),s.reset&&(l.reset=!0),s.mirror_uv&&Project.box_uv&&(l.mirror=!0),s.material&&(l.material=s.material);var c=[],d={};for(var u of s.children)if(u.export)if(u instanceof Cube){var p=new oneLiner;p.origin=u.from.slice(),p.size=u.size(),p.origin[0]=-(p.origin[0]+p.size[0]),p.uv=u.uv_offset,u.inflate&&typeof u.inflate=="number"&&(p.inflate=u.inflate),u.mirror_uv===!l.mirror&&(p.mirror=u.mirror_uv);var m=u.mesh;m&&n.expandByObject(m),c.push(p)}else u instanceof Locator&&(d[u.name]=u.position.slice(),d[u.name][0]*=-1);c.length&&(l.cubes=c),Object.keys(d).length&&(l.locators=d),t.push(l)}}),t.length&&i.visible_box!==!1){let s=calculateVisibleBox();e.visible_bounds_width=s[0]||0,e.visible_bounds_height=s[1]||0,e.visible_bounds_offset=[0,s[2]||0,0]}if(t.length&&(e.bones=t),this.dispatchEvent("compile",{model:e,options:i}),i.raw)return e;var r="geometry."+(Project.geometry_name||Project.name||"unknown");return autoStringify({format_version:"1.10.0",[r]:e})},parse(i,e,t){let n=[];for(let o in i)typeof i[o]=="object"&&n.push({name:o,object:i[o]});if(n.length===1){$C(n[0],t);return}n.forEach(o=>{o.uuid=guid(),o.bonecount=0,o.cubecount=0,o.object.bones instanceof Array&&o.object.bones.forEach(r=>{o.bonecount++,r.cubes instanceof Array&&(o.cubecount+=r.cubes.length)})});let a=null;new Dialog({id:"bedrock_model_select",title:"dialog.select_model.title",buttons:["Import","dialog.cancel"],component:{data(){return{search_term:"",geometries:n,selected:null}},computed:{filtered_geometries(){if(!this.search_term)return this.geometries;let o=this.search_term.toLowerCase();return this.geometries.filter(r=>r.name.toLowerCase().includes(o))}},methods:{selectGeometry(o){this.selected=a=o},open(o){Dialog.open.hide(),$C(o,t)},tl},template:`
    • {{ geometry.name }}

    `},onConfirm(){$C(a,t)}}).show()},export(){var i=this;Blockbench.export({resource_id:"model",type:this.name,extensions:[this.extension],name:this.fileName(),startpath:this.startPath(),content:this.compile({raw:!1}),custom_writer:null})},overwrite(i,e,t){var n="geometry."+(Project.geometry_name.replace(/^geometry\./,"")||"unknown"),a;try{a=null.readFileSync(e,"utf-8")}catch{}var o={format_version:"1.10.0"};if(a){try{o=autoParseJSON(a,!1)}catch(c){c=c+"";var r=null.showMessageBoxSync(null,{type:"warning",buttons:[tl("message.bedrock_overwrite_error.backup_overwrite"),tl("message.bedrock_overwrite_error.overwrite"),tl("dialog.cancel")],title:"Blockbench",message:tl("message.bedrock_overwrite_error.message"),detail:c,noLink:!1});if(r===0){var s=pathToName(e,!0)+" backup "+new Date().toLocaleString().split(":").join("_");s=e.replace(pathToName(e,!1),s),null.writeFile(s,a,function(d){d&&console.log("Error saving backup model: ",d)})}if(r===2)return}if(typeof o=="object")for(var l in o)o.hasOwnProperty(l)&&o[l].bones&&typeof o[l].bones=="object"&&o[l].bones.constructor.name==="Array"&&o[l].bones.forEach(function(c){typeof c.cubes=="object"&&c.cubes.constructor.name==="Array"&&c.cubes.forEach(function(d,u){c.cubes[u]=new oneLiner(d)})})}o[n]=this.compile({raw:!0}),i=autoStringify(o),Blockbench.writeFile(e,{content:i},t)}}),YC=new ModelFormat({id:"bedrock_old",extension:"json",icon:"icon-format_bedrock_legacy",category:"minecraft",show_on_start_screen:!1,box_uv:!0,single_texture:!0,bone_rig:!0,centered_grid:!0,animated_textures:!0,animation_files:!0,animation_controllers:!0,animation_mode:!0,locators:!0,pbr:!0,codec:xf,onSetup(i){}});xf.format=YC;BARS.defineActions(function(){xf.export_action=new Action({id:"export_entity",icon:YC.icon,category:"file",condition:()=>Format==YC,click:function(){xf.export()}})});var hp,ioe={north:[0,0,-1],east:[1,0,0],south:[0,0,1],west:[-1,0,0],up:[0,1,0],down:[0,-1,0]},V5=new Codec("obj",{name:"OBJ Wavefront Model",extension:"obj",support_partial_export:!0,compile(i){i||(i=0);var e=new THREE.Vector3().copy(scene.position);scene.position.set(0,0,0);let t={},n=["# Made in Blockbench 5.1.6"],a=0,o=0,r=0,s=new THREE.Vector3,l=new THREE.Color,c=new THREE.Vector3,d=new THREE.Vector2,u=[],p=Settings.get("obj_face_export_mode"),m=Settings.get("model_export_scale");n.push("mtllib "+(i.mtl_name||"materials.mtl")+` `);var _=function(g){var v=0,b=0,x=0,w=g.geometry,E=OutlinerNode.uuids[g.name];let y=new THREE.Matrix3;if(E&&E.export!==!1&&E.faces){if(y.getNormalMatrix(g.matrixWorld),E instanceof Cube){n.push(`o ${E.name||"cube"}`),E.getGlobalVertexPositions().forEach(F=>{s.set(...F).divideScalar(m),n.push("v "+s.x+" "+s.y+" "+s.z),v++});for(let F in E.faces)if(E.faces[F].texture!==null){let O=E.faces[F],L=O.getTexture(),U=[Project.getUVWidth(L),Project.getUVHeight(L)],J=[];J.push(`vt ${O.uv[0]/U[0]} ${1-O.uv[1]/U[1]}`),J.push(`vt ${O.uv[2]/U[0]} ${1-O.uv[1]/U[1]}`),J.push(`vt ${O.uv[2]/U[0]} ${1-O.uv[3]/U[1]}`),J.push(`vt ${O.uv[0]/U[0]} ${1-O.uv[3]/U[1]}`);for(var A=O.rotation||0;A>0;)J.splice(0,0,J.pop()),A-=90;n.push(...J),b+=4}for(let F in E.faces)E.faces[F].texture!==null&&(c.fromArray(ioe[F]),c.applyMatrix3(y).normalize(),n.push("vn "+c.x+" "+c.y+" "+c.z),x+=1);let R,j=0;for(let F in E.faces)if(E.faces[F].texture!==null){let O=E.faces[F].getTexture();O&&O.uuid&&!t[O.uuid]&&(t[O.uuid]=O);let L=!O||typeof O=="string"?"none":"m_"+O.uuid;L!=R&&(R=L,n.push("usemtl "+R));let U;switch(F){case"north":U=[2,5,7,4];break;case"east":U=[1,2,4,3];break;case"south":U=[6,1,3,8];break;case"west":U=[5,6,8,7];break;case"up":U=[5,2,1,6];break;case"down":U=[8,3,4,7];break}p=="tris"?(n.push("f "+[`${U[2]+a}/${j*4+3+o}/${j+1+r}`,`${U[1]+a}/${j*4+2+o}/${j+1+r}`,`${U[0]+a}/${j*4+1+o}/${j+1+r}`].join(" ")),n.push("f "+[`${U[3]+a}/${j*4+4+o}/${j+1+r}`,`${U[2]+a}/${j*4+3+o}/${j+1+r}`,`${U[0]+a}/${j*4+1+o}/${j+1+r}`].join(" "))):n.push("f "+[`${U[3]+a}/${j*4+4+o}/${j+1+r}`,`${U[2]+a}/${j*4+3+o}/${j+1+r}`,`${U[1]+a}/${j*4+2+o}/${j+1+r}`,`${U[0]+a}/${j*4+1+o}/${j+1+r}`].join(" ")),j++}}else if(E instanceof Mesh){let O=function(ie,te,me,Q){s.set(te,me,Q),s.applyMatrix4(g.matrixWorld).divideScalar(m),n.push("v "+s.x+" "+s.y+" "+s.z),v++,E.shading=="smooth"&&(c.fromArray(R[ie]),c.applyMatrix3(y).normalize(),F.push("vn "+c.x+" "+c.y+" "+c.z),x+=1)};n.push(`o ${E.name||"mesh"}`);let R=E.calculateNormals(),j=[],F=[];for(let ie in E.vertices)O(ie,...E.vertices[ie]),j.push(ie);let L,U=0,J=[];for(let ie in E.faces)if(E.faces[ie].texture!==null&&E.faces[ie].vertices.length>=3){let te=E.faces[ie],me=te.getSortedVertices().slice(),Q=E.faces[ie].getTexture(),H=[Project.getUVWidth(Q),Project.getUVHeight(Q)];me.forEach(K=>{n.push(`vt ${te.uv[K][0]/H[0]} ${1-te.uv[K][1]/H[1]}`),b+=1}),E.shading=="flat"&&(c.fromArray(te.getNormal(!0)),c.applyMatrix3(y).normalize(),F.push("vn "+c.x+" "+c.y+" "+c.z),x+=1),Q&&Q.uuid&&!t[Q.uuid]&&(t[Q.uuid]=Q);let re=!Q||typeof Q=="string"?"none":"m_"+Q.uuid;if(re!=L&&(L=re,J.push("usemtl "+L)),p=="quads"&&me.length==3&&me.push(me[0]),p=="tris"&&me.length==4){let K=[];me.slice(0,3).forEach((xe,le)=>{let Be=[j.indexOf(xe)+1+a,b-me.length+le+1+o,E.shading=="smooth"?r+1+j.indexOf(xe):U+1+r];K.push(Be.join("/"))}),J.push("f "+K.join(" "));let pe=[];[me[0],me[2],me[3]].forEach((xe,le)=>{let Be=[j.indexOf(xe)+1+a,b-me.length+(le?1:0)+le+1+o,E.shading=="smooth"?r+1+j.indexOf(xe):U+1+r];pe.push(Be.join("/"))}),J.push("f "+pe.join(" "))}else{let K=[];me.forEach(pe=>{let xe=[j.indexOf(pe)+1+a,b-me.length+me.indexOf(pe)+1+o,E.shading=="smooth"?r+1+j.indexOf(pe):U+1+r];K.push(xe.join("/"))}),J.push("f "+K.join(" "))}U++}n.push(...F),n.push(...J)}else{let L=function(U,J){let ie=Object.keys(U.faces);var te=ie[J]??ie[0],me=U.faces[te].getTexture();return me===null?!1:!me||typeof me=="string"?"usemtl none":"usemtl m_"+me.uuid},R=w.getAttribute("position"),j=w.getAttribute("normal"),F=w.getAttribute("uv"),O=w.getIndex();if(n.push("o "+g.name),g.material&&g.material.name&&n.push("usemtl "+g.material.name),R!==void 0)for(let U=0,J=R.count;Ut.afterSave(l)),Blockbench.writeFile(n,{content:hp.mtl});for(var a in hp.images){var o=hp.images[a];if(o&&!o.error){var r=o.name;r.substr(-4)!==".png"&&(r+=".png");var s=e.split(osfs);s.splice(-1,1,r),Blockbench.writeFile(s.join(osfs),{content:o.source,savetype:"image"})}}},export(){var i=this,e=new JSZip,t=this.compile();e.file((Project.name||"model")+".obj",t),e.file("materials.mtl",hp.mtl);for(var n in hp.images){var a=hp.images[n];a&&!a.error&&a.mode==="bitmap"&&e.file(pathToName(a.name)+".png",a.source.replace("data:image/png;base64,",""),{base64:!0})}e.generateAsync({type:"blob"}).then(o=>{Blockbench.export({type:"Zip Archive",extensions:["zip"],name:"assets",content:o,savetype:"zip"},r=>i.afterDownload(r))})}});BARS.defineActions(function(){V5.export_action=new Action({id:"export_obj",icon:"icon-objects",category:"file",click:function(){V5.export()}})});function JC(i=Settings.get("model_export_scale"),e=!0){let t=[];return Animator.animations.forEach(n=>{let a=n.sampleIK(),o=[];for(var r in n.animators){let u=n.animators[r];if(["bone","armature_bone"].includes(u.type)&&u.getGroup()){for(var s in u.channels)if(s=="rotation"&&a[r]){let p=[],m=[],_=settings.animation_sample_rate.value,f=Ve.InterpolateLinear;a[r].forEach((v,b)=>{v.euler.x+=u.group.mesh.fix_rotation.x,v.euler.y+=u.group.mesh.fix_rotation.y,v.euler.z+=u.group.mesh.fix_rotation.z,new Ve.Quaternion().setFromEuler(v.euler).toArray(m,m.length),p.push(b/_)});let g=new Ve.QuaternionKeyframeTrack(u.group.mesh.uuid+".quaternion",p,m,f);g.group_uuid=u.group.uuid,g.channel="quaternion",o.push(g)}else if(u[s]&&u[s].length){let p=[],m=[],_=u[s].slice(),f;for(var l of _){if(l.interpolation==Keyframe.interpolation.catmullrom||l.interpolation==Keyframe.interpolation.bezier){f=!0;break}for(var c of l.data_points)if(isNaN(c.x)||isNaN(c.y)||isNaN(c.z)){f=!0;break}if(f)break}if(f){let x=1/Math.clamp(settings.animation_sample_rate.value,.1,500),w;for(var d=0;dMath.epsilon(y.time,d,x))){let y=new Keyframe({time:d,channel:s,data_points:[{x:E[0],y:E[1],z:E[2]}]},null,u);y.animator=u,_.push(y)}w=E}}if(_.sort((x,w)=>x.time-w.time),s==="rotation"&&!f&&e){let x=_.slice();x.forEach((w,E)=>{let y=x[E+1];if(!y)return;let A=w.getArray(w.data_points.length-1),R=y.getArray(),j=Math.max(Math.abs(A[0]-R[0]),Math.abs(A[1]-R[1]),Math.abs(A[2]-R[2])),F=Math.floor(j/180+1);for(var O=1;O{if(x.data_points.length>1&&!x.getArray(0).equals(x.getArray(1))){let w=new Keyframe({time:x.time+.004,channel:s,data_points:[x.data_points[1]]},null,u);w.animator=u,_.splice(_.indexOf(x)+1,0,w)}});let g=Ve.InterpolateLinear;_.forEach(x=>{x.interpolation==Keyframe.interpolation.catmullrom&&(g=Ve.InterpolateSmooth),x.interpolation==Keyframe.interpolation.step&&(g=Ve.InterpolateDiscrete),p.push(x.time),Timeline.time=x.time;let w=x.getFixed(0,e);e?w.toArray(m,m.length):m.push(w.x,w.y,w.z)});let v=Ve.VectorKeyframeTrack;s==="rotation"&&e?(v=Ve.QuaternionKeyframeTrack,s="quaternion"):s=="position"&&m.forEach((x,w)=>{m[w]=x/i});let b=new v(u.group.mesh.uuid+"."+s,p,m,g);b.group_uuid=u.group.uuid,b.channel=s,o.push(b)}}else u instanceof BoneAnimator&&console.log(`Skip export of track ${r.substr(0,7)}... - No connected bone`)}if(o.length){let u=new Ve.AnimationClip(n.name,n.length,o);t.push(u)}else console.log(`Skip export of animation ${n.name} - No tracks generated`)}),t}function F5(i){let e=[],t=[],n=[],a=[],o=[],r=[],s=new Ve.BufferGeometry,l=[],c=[],d=[],u=new Ve.Matrix4().copy(i.mesh.matrix).invert(),p=Reusable.vec1,m=Reusable.vec2;function _(v,b){if(v.export==!1)return;for(let w of v.children){if(!w.faces||w.export==!1)continue;let{geometry:E}=w.mesh,y=new Ve.Matrix4().copy(w.mesh.matrixWorld);y.premultiply(u);let A=n.length/3;for(let R=0;RA+R));for(let R in w.faces){let j=w.faces[R];if(j.vertices&&j.vertices.length<3||j.texture===null)continue;let F=j.getTexture();F&&F.uuid?c.push(F.getMaterial()):c.push(Canvas.getEmptyMaterial(w.color)),j.vertices&&j.vertices.length==3?d.push(3):d.push(6)}}let x=new Ve.Bone;x.name=v.name,x.uuid=v.mesh.uuid,x.position.copy(v.mesh.position),x.rotation.copy(v.mesh.rotation),v==i&&x.position.set(0,0,0),l.push(x),b&&b.add(x);for(let w of v.children)w instanceof Group&&_(w,x)}_(i),s.setAttribute("position",new Ve.BufferAttribute(new Float32Array(n),3)),s.setAttribute("normal",new Ve.BufferAttribute(new Float32Array(a),3)),s.setAttribute("uv",new Ve.BufferAttribute(new Float32Array(o),2)),s.setIndex(r),s.setAttribute("skinIndex",new Ve.Uint16BufferAttribute(e,4)),s.setAttribute("skinWeight",new Ve.Float32BufferAttribute(t,4)),c=O5(c,s,d);let f=new Ve.SkinnedMesh(s,c);f.name=i.name;let g=new Ve.Skeleton(l);return g.name=i.name,g.bones[0]&&f.add(g.bones[0]),f.bind(g),f.position.copy(i.mesh.position),f.rotation.copy(i.mesh.rotation),f}function U5(i,e){let t=[],n=[],a=[],o=[],r=[],s=[],l=[],c=[],d=[],u=[],p={},m=i.getAllBones(),_=i.children.filter(b=>b instanceof Mesh);for(let b of m){let x=new Ve.Bone;x.position.copy(b.mesh.position),x.rotation.copy(b.mesh.rotation),x.name=b.name,x.uuid=b.mesh.uuid,p[b.parent.uuid]&&p[b.parent.uuid].add(x),d.push(x),b.parent instanceof jr&&u.push(x),p[b.uuid]=x}let f=new Ve.Skeleton(d);f.name=i.name;let g;for(let b of _){if(!b.faces||b.export==!1)continue;let x=b.mesh.geometry.clone();x.applyMatrix4(b.mesh.matrix),g||(g=x);let w=a.length/3;a.push(...x.attributes.position.array),o.push(...x.attributes.normal.array),r.push(...x.attributes.uv.array),s.push(...x.index.array.map(E=>w+E));for(let E in b.faces){let y=b.faces[E];if(y.vertices&&y.vertices.length<3||y.texture===null)continue;let A=y.getTexture();A&&A.uuid?l.push(A.getMaterial()):l.push(Canvas.getEmptyMaterial(b.color)),y.vertices&&y.vertices.length==3?c.push(3):c.push(6)}for(let E in b.faces){let y=b.faces[E];y.vertices.length>=3&&y.vertices.forEach(A=>{let R=m.filter(F=>F.getVertexWeight(b,A));R.sort((F,O)=>O.getVertexWeight(b,A)-F.getVertexWeight(b,A)).slice(0,4);let j=0;for(let F=0;F<4;F++)R[F]&&(j+=R[F].getVertexWeight(b,A));for(let F=0;F<4;F++)R[F]?(t.push(m.indexOf(R[F])),n.push(R[F].getVertexWeight(b,A)/j)):(t.push(0),n.push(0))})}}g?(g.setAttribute("position",new Ve.BufferAttribute(new Float32Array(a),3)),g.setAttribute("normal",new Ve.BufferAttribute(new Float32Array(o),3)),g.setAttribute("uv",new Ve.BufferAttribute(new Float32Array(r),2)),g.setIndex(s),g.setAttribute("skinIndex",new Ve.Uint16BufferAttribute(t,4)),g.setAttribute("skinWeight",new Ve.Float32BufferAttribute(n,4)),l=O5(l,g,c)):g=new Ve.BufferGeometry;let v=new Ve.SkinnedMesh(g,l);return v.name=i.name,u.forEach(b=>v.add(b)),v.bind(f),v}function O5(i,e,t){if(i.allEqual(i[0])&&(i=i[0]),i instanceof Array){let n,a=0,o=0,r=0,s=[];e.groups.empty();for(let l of i)n!=l&&(o&&(e.addGroup(r,o-r,s.length),s.push(n)),n=l,r=o),o+=t[a],a++;e.addGroup(r,o-r,s.length),s.push(n),i=s}return i}var XC=new Codec("gltf",{name:"GLTF Model",extension:"gltf",support_partial_export:!0,export_options:{encoding:{type:"select",label:"codec.common.encoding",options:{ascii:"ASCII (glTF)",binary:"Binary (glb)"}},scale:{label:"settings.model_export_scale",type:"number",value:Settings.get("model_export_scale")},embed_textures:{type:"checkbox",label:"codec.common.embed_textures",value:!0},armature:{type:"checkbox",label:tl("codec.common.armature"),value:!1},animations:{label:"codec.common.export_animations",type:"checkbox",value:!0}},async compile(i){i=Object.assign(this.getExportOptions(),i);let e=this,t=new Ve.GLTFExporter,n=[],a=new Ve.Scene;a.name="blockbench_export",Modes.edit||Animator.showDefaultPose();let o=Texture.all.filter(l=>l.frameCount>1);Texture.all.forEach(l=>l.currentFrame=0),TextureAnimator.update(o),Outliner.root.forEach(l=>{if(l instanceof Group&&i.armature){let c=F5(l,i.scale);a.children.push(c)}else l.scene_object.no_export||a.children.push(l.mesh)});let r=[],s=[];for(let l of jr.all){let c=U5(l,i.scale);l.parent==Outliner.ROOT?(a.add(c),r.push([a,c])):(l.parent.scene_object.add(c),r.push([l.parent.scene_object,c])),l.root!=Outliner.ROOT&&(s.push([l.scene_object.parent,l.scene_object]),l.scene_object.parent.children.remove(l.scene_object))}try{BarItems.view_mode.value!=="textured"&&(BarItems.view_mode.set("textured"),BarItems.view_mode.onChange()),i.animations!==!1&&(n=JC(i.scale));let l=await new Promise((c,d)=>{t.parse(a,c,{animations:n,onlyVisible:!1,trs:!0,binary:i.encoding=="binary",truncateDrawRange:!1,forcePowerOfTwoTextures:i.embed_textures!==!1,scale_factor:1/i.scale,embedImages:i.embed_textures!=!1,exportFaceColors:!1})});for(let[c,d]of r)c.children.remove(d);for(let[c,d]of s)c.add(d);return e.dispatchEvent("compile",{model:l,options:i}),i.encoding=="binary"?l:JSON.stringify(l)}catch(l){throw l}},async export(){if(await this.promptExportOptions()===null)return;let e=await this.compile();await new Promise(t=>setTimeout(t,20)),Blockbench.export({resource_id:"gltf",type:this.name,extensions:[this.getExportOptions().encoding=="binary"?"glb":"gltf"],name:this.fileName(),startpath:this.startPath(),content:e,custom_writer:null},t=>this.afterDownload(t))}});XC.buildAnimationTracks=JC;BARS.defineActions(function(){XC.export_action=new Action({id:"export_gltf",icon:"icon-gltf",category:"file",click:function(){XC.export()}})});Object.assign(window,{buildAnimationTracks:JC,buildSkinnedMesh:U5,buildSkinnedMeshFromGroup:F5});var D1=7300;function Le(i,e){return{type:i,value:e,isTNum:!0,toString:()=>"key"+e.toString()}}function a_(i,e="i",t="a"){return{_values:[`_*${i.length}`],_type:e,[t]:i}}var L5=new Codec("fbx",{name:"FBX Model",extension:"fbx",support_partial_export:!0,compile(i){i=Object.assign(this.getExportOptions(),i);let e=this,t=(i.scale||16)/100,n=[],a=new Ve.Vector3(1,1,1);n.push(["; FBX 7.3.0 project file","; Created by the Blockbench FBX Exporter","; ----------------------------------------------------","; ","",""].join(` `));function o(j){return` ; `+j.split(/\n/g).join(` ; `)+` ;------------------------------------------------------------------ `}let r={};function s(j){if(j==0)return Le("L",0);if(r[j])return r[j];let F=[];for(let L=0;L<8;L++)F.push(Math.floor(Math.random()*10));F[0]="7";let O=F.join("");return r[j]=Le("L",parseInt(O)),r[j]}let l={};function c(j,F,O){l[j]||(l[j]={});let L=l[j];if(L[F])return L[F];let U=Object.values(L);if(!U.includes(O))return L[F]=O,L[F];let J=1;for(;U.includes(O+"_"+J);)J++;return L[F]=O+"_"+J,L[F]}let d=new Date,u=d.toISOString().replace("T"," ").replace(".",":").replace("Z",""),p="C:\\Users\\Blockbench\\foobar.fbx";n.push({FBXHeaderExtension:{FBXHeaderVersion:1003,FBXVersion:D1,EncryptionType:0,CreationTimeStamp:{Version:1e3,Year:d.getFullYear(),Month:d.getMonth()+1,Day:d.getDate(),Hour:d.getHours(),Minute:d.getMinutes(),Second:d.getSeconds(),Millisecond:d.getMilliseconds()},Creator:"Blockbench "+he.version,SceneInfo:{_values:["SceneInfo::GlobalInfo","UserData"],Type:"UserData",Version:100,MetaData:{Version:100,Title:"",Subject:"",Author:"",Keywords:"",Revision:"",Comment:""},Properties70:{P01:{_key:"P",_values:["DocumentUrl","KString","Url","",p]},P02:{_key:"P",_values:["SrcDocumentUrl","KString","Url","",p]},P03:{_key:"P",_values:["Original","Compound","",""]},P04:{_key:"P",_values:["Original|ApplicationVendor","KString","","","Blockbench"]},P05:{_key:"P",_values:["Original|ApplicationName","KString","","","Blockbench FBX Exporter"]},P06:{_key:"P",_values:["Original|ApplicationVersion","KString","","",he.version]},P07:{_key:"P",_values:["Original|DateTime_GMT","DateTime","","","01/01/1970 00:00:00.000"]},P08:{_key:"P",_values:["Original|FileName","KString","","","/foobar.fbx"]},P09:{_key:"P",_values:["LastSaved","Compound","",""]},P10:{_key:"P",_values:["LastSaved|ApplicationVendor","KString","","","Blockbench"]},P11:{_key:"P",_values:["LastSaved|ApplicationName","KString","","","Blockbench FBX Exporter"]},P12:{_key:"P",_values:["LastSaved|ApplicationVersion","KString","","",he.version]},P13:{_key:"P",_values:["LastSaved|DateTime_GMT","DateTime","","","01/01/1970 00:00:00.000"]},P14:{_key:"P",_values:["Original|ApplicationNativeFile","KString","","",""]}}}},FileId:"iVFoobar",CreationTime:u,Creator:Settings.get("credit")}),n.push({GlobalSettings:{Version:1e3,Properties70:{P01:{_key:"P",_values:["UpAxis","int","Integer","",1]},P02:{_key:"P",_values:["UpAxisSign","int","Integer","",1]},P03:{_key:"P",_values:["FrontAxis","int","Integer","",2]},P04:{_key:"P",_values:["FrontAxisSign","int","Integer","",1]},P05:{_key:"P",_values:["CoordAxis","int","Integer","",0]},P08:{_key:"P",_values:["CoordAxisSign","int","Integer","",1]},P09:{_key:"P",_values:["OriginalUpAxis","int","Integer","",-1]},P10:{_key:"P",_values:["OriginalUpAxisSign","int","Integer","",1]},P11:{_key:"P",_values:["UnitScaleFactor","double","Number","",Le("D",1)]},P12:{_key:"P",_values:["OriginalUnitScaleFactor","double","Number","",Le("D",1)]},P13:{_key:"P",_values:["AmbientColor","ColorRGB","Color","",Le("D",0),Le("D",0),Le("D",0)]},P14:{_key:"P",_values:["DefaultCamera","KString","","","Producer Perspective"]},P15:{_key:"P",_values:["TimeMode","enum","","",0]},P16:{_key:"P",_values:["TimeSpanStart","KTime","Time","",Le("L",0)]},P17:{_key:"P",_values:["TimeSpanStop","KTime","Time","",Le("L",46186158e3)]},P18:{_key:"P",_values:["CustomFrameRate","double","Number","",Le("D",24)]}}}}),n.push(o("Documents Description"));let m=BigInt(Math.floor(Math.random()*2147483647)+1);n.push({Documents:{Count:1,Document:{_values:[Le("L",m)],Scene:"Scene",Properties70:{P01:{_key:"P",_values:["SourceObject","object","",""]},P02:{_key:"P",_values:["ActiveAnimStackName","KString","","",""]}},RootNode:0}}}),n.push(o("Document References")),n.push({References:{}});let _={node_attributes:0,model:0,geometry:0,material:0,texture:0,image:0,pose:0,deformer:0,animation_stack:0,animation_layer:0,animation_curve_node:0,animation_curve:0},f={},g=[],v={Current:""},b={name:"RootNode",uuid:"0"};function x(j){let F=j.origin.slice();return j.parent instanceof Group&&F.V3_subtract(j.parent.origin),F.V3_divide(t)}function w(j,F){let O=c("object",j.uuid,j.name),L=j.mesh.rotation.order=="XYZ"?5:0;f["key"+j.uuid]={_key:"Model",_values:[s(j.uuid),`Model::${O}`,F],Version:232,Properties70:{P1:{_key:"P",_values:["RotationActive","bool","","",Le("I",1)]},P2:{_key:"P",_values:["InheritType","enum","","",1]},P3:{_key:"P",_values:["ScalingMax","Vector3D","Vector","",Le("D",0),Le("D",0),Le("D",0)]},P4:{_key:"P",_values:["Lcl Translation","Lcl Translation","","A",...x(j).map(J=>Le("D",J))]},P5:j.rotation?{_key:"P",_values:["RotationPivot","Vector3D","Vector","",Le("D",0),Le("D",0),Le("D",0)]}:void 0,P6:j.rotation?{_key:"P",_values:["Lcl Rotation","Lcl Rotation","","A",...j.rotation.map(J=>Le("D",J))]}:void 0,P7:j.rotation?{_key:"P",_values:["RotationOrder","enum","","",L]}:void 0,P8:j.faces?{_key:"P",_values:["DefaultAttributeIndex","int","Integer","",0]}:void 0},Shading:!0,Culling:"CullingOff"};let U=j.parent=="root"?b:j.parent;return g.push({name:[`Model::${O}`,`Model::${c("object",U.uuid,U.name)}`],id:[s(j.uuid),s(U.uuid)]}),_.model++,f["key"+j.uuid]}Group.all.forEach(j=>{j.export&&w(j,"Null")}),[...Locator.all,...NullObject.all].forEach(j=>{j.export&&w(j,"Null")}),Mesh.all.forEach(j=>{if(!j.export)return;w(j,"Mesh");let F=c("object",j.uuid,j.name),O=[],L=[],U=[],J=[],ie=[],te=j.calculateNormals();function me(pe,xe,le){O.push(pe/t,xe/t,le/t)}for(let pe in j.vertices)me(...j.vertices[pe]),J.push(pe),j.shading=="smooth"&&L.push(...te[pe]);let Q=[];for(let pe in j.faces)if(j.faces[pe].vertices.length>=3){let xe=j.faces[pe],le=xe.getSortedVertices(),Be=j.faces[pe].getTexture()||void 0;Q.push(Be),le.forEach(X=>{U.push(xe.uv[X][0]/Project.getUVWidth(Be),1-xe.uv[X][1]/Project.getUVHeight(Be))}),j.shading=="flat"&&L.push(...xe.getNormal(!0)),le.forEach((X,ne)=>{let Me=J.indexOf(X);ne+1==le.length&&(Me=-1-Me),ie.push(Me)})}_.geometry++;let H=Texture.all.filter(pe=>Q.includes(pe)),re=s(j.uuid+"_geo"),K={_key:"Geometry",_values:[re,`Geometry::${F}`,"Mesh"],Vertices:{_values:[`_*${O.length}`],_type:"d",a:O},PolygonVertexIndex:{_values:[`_*${ie.length}`],_type:"i",a:ie},GeometryVersion:124,LayerElementNormal:{_values:[0],Version:101,Name:"",MappingInformationType:j.shading=="smooth"?"ByVertex":"ByPolygon",ReferenceInformationType:"Direct",Normals:{_values:[`_*${L.length}`],_type:"d",a:L}},LayerElementUV:{_values:[0],Version:101,Name:"",MappingInformationType:"ByPolygonVertex",ReferenceInformationType:"Direct",UV:{_values:[`_*${U.length}`],_type:"d",a:U}},LayerElementMaterial:H.length<=1?{_values:[0],Version:101,Name:"",MappingInformationType:"AllSame",ReferenceInformationType:"IndexToDirect",Materials:{_values:["_*1"],_type:"i",a:0}}:{_values:[0],Version:101,Name:"",MappingInformationType:"ByPolygon",ReferenceInformationType:"IndexToDirect",Materials:{_values:[`_*${Q.length}`],_type:"i",a:Q.map(pe=>H.indexOf(pe))}},Layer:{_values:[0],Version:100,LayerElement1:{_key:"LayerElement",Type:"LayerElementNormal",TypedIndex:0},LayerElement2:{_key:"LayerElement",Type:"LayerElementMaterial",TypedIndex:0},LayerElement3:{_key:"LayerElement",Type:"LayerElementUV",TypedIndex:0}}};f[re.toString()]=K,g.push({name:[`Geometry::${F}`,`Model::${F}`],id:[re,s(j.uuid)]}),H.forEach(pe=>{g.push({name:[`Material::${c("material",pe.uuid,pe.name)}`,`Model::${F}`],id:[s(pe.uuid+"_m"),s(j.uuid)]})})}),jr.all.forEach(j=>{let F=Mesh.all.find(H=>H.getArmature()==j),O=c("armature",j.uuid,j.name);_.pose++;let L=s(j.uuid+"_attribute");f[L.toString()]={_key:"NodeAttribute",_values:[L,`NodeAttribute::${O}`,"Null"],TypeFlags:"Null"},_.node_attributes++;let U=s(j.uuid);f[U.toString()]={_key:"Model",_values:[U,`Model::${O}`,"Null"],Version:232,Properties70:{P1:{_key:"P",_values:["InheritType","enum","","",1]},P2:{_key:"P",_values:["DefaultAttributeIndex","int","Integer","",0]},P4:{_key:"P",_values:["Lcl Translation","Lcl Translation","","A",...[0,0,0].map(H=>Le("D",H))]},P5:{_key:"P",_values:["Lcl Rotation","Lcl Rotation","","A",...[0,0,0].map(H=>Le("D",H))]},P6:{_key:"P",_values:["Lcl Scaling","Lcl Scaling","","A",...[1,1,1].map(H=>Le("D",H))]}},Culling:"CullingOff"};let J=j.parent=="root"?b:j.parent;g.push({name:[`Model::${O}`,`Model::${c("object",J.uuid,J.name)}`],id:[s(j.uuid),s(J.uuid)]}),_.model++,g.push({name:[`NodeAttribute::${O}`,`Model::${O}`],id:[L,U]});let ie;if(F){let H=s(F.uuid+"_bind_pose");ie={_key:"Pose",_values:[H,`Pose::${c("object",F.uuid,F.name)}`,"BindPose"],Type:"BindPose",Version:100,NbPoseNodes:0};let re=new Ve.Matrix4;re.scale(a),ie.PoseNode_object={_key:"PoseNode",Node:s(F.uuid),Matrix:a_(re.elements,"d")},ie.NbPoseNodes++;let K=new Ve.Matrix4;re.scale(a),ie.PoseNode_object={_key:"PoseNode",Node:s(j.uuid),Matrix:a_(K.elements,"d")},ie.NbPoseNodes++,f[H.toString()]=ie,_.pose++}let te=[],me=[];function Q(H){if(!(H instanceof xn))return;te.push(H);let re=c("bone",H.uuid,H.name),K=s(H.uuid+"_attribute");f[K.toString()]={_key:"NodeAttribute",_values:[K,`NodeAttribute::${re}`,"LimbNode"],Properties70:{P2:{_key:"P",_values:["Size","double","Number","",Le("D",H.length/t)]}},TypeFlags:"Skeleton"},_.node_attributes++;let pe=s(H.uuid);f[pe.toString()]={_key:"Model",_values:[pe,`Model::${re}`,"LimbNode"],Version:232,Properties70:{P1:{_key:"P",_values:["InheritType","enum","","",1]},P2:{_key:"P",_values:["DefaultAttributeIndex","int","Integer","",0]},P4:{_key:"P",_values:["Lcl Translation","Lcl Translation","","A",...x(H).map(le=>Le("D",le))]},P5:{_key:"P",_values:["Lcl Rotation","Lcl Rotation","","A",...H.rotation.map(le=>Le("D",le))]}},Culling:"CullingOff"};let xe=H.parent=="root"?b:H.parent;if(g.push({name:[`Model::${re}`,`Model::${c("object",xe.uuid,xe.name)}`],id:[s(H.uuid),s(xe.uuid)]}),_.model++,g.push({name:[`NodeAttribute::${re}`,`Model::${re}`],id:[K,pe]}),H.children.length==0){let le=s(H.uuid+"_end_attribute");f[le.toString()]={_key:"NodeAttribute",_values:[le,`NodeAttribute::${re}_end`,"LimbNode"],Properties70:{P2:{_key:"P",_values:["Size","double","Number","",Le("D",H.length*10)]}},TypeFlags:"Skeleton"},_.node_attributes++;let Be=s(H.uuid+"_end");f[Be.toString()]={_key:"Model",_values:[Be,`Model::${re}_end`,"LimbNode"],Version:232,Properties70:{P1:{_key:"P",_values:["InheritType","enum","","",1]},P2:{_key:"P",_values:["DefaultAttributeIndex","int","Integer","",0]},P4:{_key:"P",_values:["Lcl Translation","Lcl Translation","","A",0,H.length/t,0]}},Culling:"CullingOff"},g.push({name:[`Model::${re}_end`,`Model::${re}`],id:[Be,s(H.uuid)]}),_.model++,g.push({name:[`NodeAttribute::${re}_end`,`Model::${re}_end`],id:[le,Be]})}if(F){let le=new Ve.Matrix4().copy(H.scene_object.inverse_bind_matrix).invert();le.scale(a),ie["PoseNode"+pe]={_key:"PoseNode",Node:pe,Matrix:a_(le.elements,"d")},ie.NbPoseNodes++,me.push(le)}for(let le of H.children)Q(le)}for(let H of j.children)Q(H);if(F){let H=s(j.uuid+"_deformer");f[H.toString()]={_key:"Deformer",_values:[H,`Deformer::${O}`,"Skin"],Version:101,Link_DeformAcuracy:50},_.deformer++,g.push({name:[`Deformer::${O}`,`Geometry::${c("object",F.uuid,F.name)}`],id:[H,s(F.uuid+"_geo")]});let re=new Ve.Matrix4().copy(F.mesh.matrixWorld),K=Object.keys(F.vertices);for(let pe of te){let xe=s(pe.uuid+"_deformer"),le=c("bone",pe.uuid,pe.name),Be=[],X=[];for(let Me of K)pe.getVertexWeight(F,Me)>.001&&(Be.push(K.indexOf(Me)),X.push(Math.clamp(pe.getVertexWeight(F,Me),0,1)));let ne=me[te.indexOf(pe)];f[xe.toString()]={_key:"Deformer",_values:[xe,`SubDeformer::${le}`,"Cluster"],Version:100,UserData:["",""],Indexes:a_(Be,"i"),Weights:a_(X,"d"),Transform:a_(re.elements,"d"),TransformLink:a_(ne.elements,"d")},_.deformer++,g.push({name:[`SubDeformer::${le}`,`Deformer::${O}`],id:[xe,H]}),g.push({name:[`Model::${c("bone",pe.uuid,pe.name)}`,`SubDeformer::${le}`],id:[s(pe.uuid),xe]})}}});let E={north:[0,0,-1],east:[1,0,0],south:[0,0,1],west:[-1,0,0],up:[0,1,0],down:[0,-1,0]};if(Cube.all.forEach(j=>{if(!j.export)return;w(j,"Mesh");let F=c("object",j.uuid,j.name),O=[],L=[],U=[],J=[];function ie(xe,le,Be){O.push((xe-j.origin[0])/t,(le-j.origin[1])/t,(Be-j.origin[2])/t)}var te=j.from.slice(),me=j.to.slice();td(te,me,j),ie(me[0],me[1],me[2]),ie(me[0],me[1],te[2]),ie(me[0],te[1],me[2]),ie(me[0],te[1],te[2]),ie(te[0],me[1],te[2]),ie(te[0],me[1],me[2]),ie(te[0],te[1],te[2]),ie(te[0],te[1],me[2]);let Q=[];for(let xe in j.faces){let le=j.faces[xe];if(le.texture===null)continue;let Be=le.getTexture()||void 0;Q.push(Be),L.push(...E[xe]);let X=[[le.uv[0]/Project.getUVWidth(Be),1-le.uv[3]/Project.getUVHeight(Be)],[le.uv[2]/Project.getUVWidth(Be),1-le.uv[3]/Project.getUVHeight(Be)],[le.uv[2]/Project.getUVWidth(Be),1-le.uv[1]/Project.getUVHeight(Be)],[le.uv[0]/Project.getUVWidth(Be),1-le.uv[1]/Project.getUVHeight(Be)]];for(var H=le.rotation||0;H>0;)X.splice(0,0,X.pop()),H-=90;X.forEach(Me=>{U.push(...Me)});let ne;switch(xe){case"north":ne=[3,6,4,-2];break;case"east":ne=[2,3,1,-1];break;case"south":ne=[7,2,0,-6];break;case"west":ne=[6,7,5,-5];break;case"up":ne=[5,0,1,-5];break;case"down":ne=[6,3,2,-8];break}J.push(...ne)}_.geometry++;let re=Texture.all.filter(xe=>Q.includes(xe)),K=s(j.uuid+"_geo"),pe={_key:"Geometry",_values:[K,`Geometry::${F}`,"Mesh"],Vertices:{_values:[`_*${O.length}`],_type:"d",a:O},PolygonVertexIndex:{_values:[`_*${J.length}`],_type:"i",a:J},GeometryVersion:124,LayerElementNormal:{_values:[0],Version:101,Name:"",MappingInformationType:"ByPolygon",ReferenceInformationType:"Direct",Normals:{_values:[`_*${L.length}`],_type:"d",a:L}},LayerElementUV:{_values:[0],Version:101,Name:"",MappingInformationType:"ByPolygonVertex",ReferenceInformationType:"Direct",UV:{_values:[`_*${U.length}`],_type:"d",a:U}},LayerElementMaterial:re.length<=1?{_values:[0],Version:101,Name:"",MappingInformationType:"AllSame",ReferenceInformationType:"IndexToDirect",Materials:{_values:["_*1"],_type:"i",a:0}}:{_values:[0],Version:101,Name:"",MappingInformationType:"ByPolygon",ReferenceInformationType:"IndexToDirect",Materials:{_values:[`_*${Q.length}`],_type:"i",a:Q.map(xe=>re.indexOf(xe))}},Layer:{_values:[0],Version:100,LayerElement1:{_key:"LayerElement",Type:"LayerElementNormal",TypedIndex:0},LayerElement2:{_key:"LayerElement",Type:"LayerElementMaterial",TypedIndex:0},LayerElement3:{_key:"LayerElement",Type:"LayerElementUV",TypedIndex:0}}};f["key"+K]=pe,g.push({name:[`Geometry::${F}`,`Model::${F}`],id:[K,s(j.uuid)]}),re.forEach(xe=>{g.push({name:[`Material::${c("texture",xe.uuid,xe.name)}`,`Model::${F}`],id:[s(xe.uuid+"_m"),s(j.uuid)]})})}),Texture.all.forEach(j=>{_.material++,_.texture++,_.image++;let F=null,O=j.path,L=j.name;j.path==""&&(O="",L=""),(i.embed_textures||j.path=="")&&(F=j.getBase64());let U=c("texture",j.uuid,j.name),J={_key:"Material",_values:[s(j.uuid+"_m"),`Material::${U}`,""],Version:102,ShadingModel:"lambert",MultiLayer:0,Properties70:{P2:{_key:"P",_values:["Emissive","Vector3D","Vector","",Le("D",0),Le("D",0),Le("D",0)]},P3:{_key:"P",_values:["Ambient","Vector3D","Vector","",Le("D",.2),Le("D",.2),Le("D",.2)]},P4:{_key:"P",_values:["Diffuse","Vector3D","Vector","",Le("D",.8),Le("D",.8),Le("D",.8)]},P5:{_key:"P",_values:["Opacity","double","Number","",Le("D",1)]}}},ie={_key:"Texture",_values:[s(j.uuid+"_t"),`Texture::${U}`,""],Type:"TextureVideoClip",Version:202,TextureName:`Texture::${U}`,Media:`Video::${U}`,FileName:O,RelativeFilename:L,ModelUVTranslation:[Le("D",0),Le("D",0)],ModelUVScaling:[Le("D",1),Le("D",1)],Texture_Alpha_Source:"None",Cropping:[0,0,0,0]},te={_key:"Video",_values:[s(j.uuid+"_i"),`Video::${U}`,"Clip"],Type:"Clip",Properties70:{P:["Path","KString","XRefUrl","",j.path||j.name]},UseMipMap:0,Filename:O,RelativeFilename:L,Content:F};f["key"+j.uuid+"_m"]=J,f["key"+j.uuid+"_t"]=ie,f["key"+j.uuid+"_i"]=te,g.push({name:[`Texture::${U}`,`Material::${U}`],id:[s(j.uuid+"_t"),s(j.uuid+"_m")],property:"DiffuseColor"}),g.push({name:[`Video::${U}`,`Texture::${U}`],id:[s(j.uuid+"_i"),s(j.uuid+"_t")]})}),i.include_animations){let j=Codecs.gltf.buildAnimationTracks(t,!1),F=46186158e3;j.forEach(O=>{_.animation_stack++,_.animation_layer++;let L=s(O.uuid+"_s"),U=s(O.uuid+"_l"),J=c("animation",O.uuid,O.name),ie=Math.round(O.duration*F),te={_key:"AnimationStack",_values:[L,`AnimStack::${J}`,""],Properties70:{p1:{_key:"P",_values:["LocalStop","KTime","Time","",Le("L",ie)]},p2:{_key:"P",_values:["ReferenceStop","KTime","Time","",Le("L",ie)]}}},me={_key:"AnimationLayer",_values:[U,`AnimLayer::${J}`,""],_force_compound:!0};f["key"+O.uuid+"_s"]=te,f["key"+O.uuid+"_l"]=me,g.push({name:[`AnimLayer::${J}`,`AnimStack::${J}`],id:[U,L]}),O.tracks.forEach(Q=>{_.animation_curve_node++;let H=s(O.uuid+"."+Q.name),re=`AnimCurveNode::${J}.${Q.channel[0].toUpperCase()}`,K={_key:"AnimationCurveNode",_values:[H,re,""],Properties70:{p1:{_key:"P",_values:["d|X","Number","","A",Le("D",1)]},p2:{_key:"P",_values:["d|Y","Number","","A",Le("D",1)]},p3:{_key:"P",_values:["d|Z","Number","","A",Le("D",1)]}}},pe=Q.times.map(xe=>Math.round(xe*F));f["key"+O.uuid+"."+Q.name]=K,g.push({name:[re,`Model::${c("object",Q.group_uuid,Q.name)}`],id:[H,s(Q.group_uuid)],property:Q.channel=="position"?"Lcl Translation":Q.channel=="rotation"?"Lcl Rotation":"Lcl Scaling"}),g.push({name:[re,`AnimLayer::${J}`],id:[H,U]}),["X","Y","Z"].forEach((xe,le)=>{_.animation_curve++;let Be=s(O.uuid+"."+Q.name+"."+xe),X=`AnimCurve::${J}.${Q.channel[0].toUpperCase()}${xe}`,ne=Q.values.filter((Ue,et)=>et%3==le);Q.channel=="rotation"&&ne.forEach((Ue,et)=>ne[et]=Math.radToDeg(Ue));let Me={_key:"AnimationCurve",_values:[Be,X,""],Default:0,KeyVer:4008,KeyTime:{_values:[`_*${pe.length}`],_type:"d",a:pe},KeyValueFloat:{_values:[`_*${ne.length}`],_type:"f",a:ne},KeyAttrFlags:{_values:["_*1"],_type:"i",a:[24836]},KeyAttrDataFloat:{_values:["_*4"],_type:"f",a:[0,0,255790911,0]},KeyAttrRefCount:{_values:["_*1"],_type:"i",a:[pe.length]}};f["key"+O.uuid+"."+Q.name+xe]=Me,g.push({name:[X,re],id:[Be,H],property:`d|${xe}`})})}),v[O.uuid]={_key:"Take",_values:[J],FileName:`${J}.tak`,LocalTime:[0,ie],ReferenceTime:[0,ie]}})}n.push(o("Object definitions"));let y=1;for(let j in _)y+=_[j];n.push({Definitions:{Version:100,Count:y,global_settings:{_key:"ObjectType",_values:["GlobalSettings"],Count:1},node_attribute:_.node_attributes?{_key:"ObjectType",_values:["NodeAttribute"],Count:_.node_attributes,PropertyTemplate:{_values:["FbxNull"],Properties70:{P1:{_key:"P",_values:["Color","ColorRGB","Color","",Le("D",.8),Le("D",.8),Le("D",.8)]},P2:{_key:"P",_values:["Size","double","Number","",Le("D",100)]},P3:{_key:"P",_values:["Look","enum","","",1]}}}}:void 0,model:_.model?{_key:"ObjectType",_values:["Model"],Count:_.model,PropertyTemplate:{_values:["FbxNode"],Properties70:{P01:{_key:"P",_values:["QuaternionInterpolate","enum","","",0]},P02:{_key:"P",_values:["RotationOffset","Vector3D","Vector","",Le("D",0),Le("D",0),Le("D",0)]},P03:{_key:"P",_values:["RotationPivot","Vector3D","Vector","",Le("D",0),Le("D",0),Le("D",0)]},P04:{_key:"P",_values:["ScalingOffset","Vector3D","Vector","",Le("D",0),Le("D",0),Le("D",0)]},P05:{_key:"P",_values:["ScalingPivot","Vector3D","Vector","",Le("D",0),Le("D",0),Le("D",0)]},P06:{_key:"P",_values:["TranslationActive","bool","","",Le("I",0)]},P07:{_key:"P",_values:["TranslationMin","Vector3D","Vector","",Le("D",0),Le("D",0),Le("D",0)]},P08:{_key:"P",_values:["TranslationMax","Vector3D","Vector","",Le("D",0),Le("D",0),Le("D",0)]},P09:{_key:"P",_values:["TranslationMinX","bool","","",Le("I",0)]},P10:{_key:"P",_values:["TranslationMinY","bool","","",Le("I",0)]},P11:{_key:"P",_values:["TranslationMinZ","bool","","",Le("I",0)]},P12:{_key:"P",_values:["TranslationMaxX","bool","","",Le("I",0)]},P13:{_key:"P",_values:["TranslationMaxY","bool","","",Le("I",0)]},P14:{_key:"P",_values:["TranslationMaxZ","bool","","",Le("I",0)]},P15:{_key:"P",_values:["RotationOrder","enum","","",5]},P16:{_key:"P",_values:["RotationSpaceForLimitOnly","bool","","",Le("I",0)]},P17:{_key:"P",_values:["RotationStiffnessX","double","Number","",Le("D",0)]},P18:{_key:"P",_values:["RotationStiffnessY","double","Number","",Le("D",0)]},P19:{_key:"P",_values:["RotationStiffnessZ","double","Number","",Le("D",0)]},P20:{_key:"P",_values:["AxisLen","double","Number","",Le("D",10)]},P21:{_key:"P",_values:["PreRotation","Vector3D","Vector","",Le("D",0),Le("D",0),Le("D",0)]},P22:{_key:"P",_values:["PostRotation","Vector3D","Vector","",Le("D",0),Le("D",0),Le("D",0)]},P23:{_key:"P",_values:["RotationActive","bool","","",Le("I",0)]},P24:{_key:"P",_values:["RotationMin","Vector3D","Vector","",Le("D",0),Le("D",0),Le("D",0)]},P25:{_key:"P",_values:["RotationMax","Vector3D","Vector","",Le("D",0),Le("D",0),Le("D",0)]},P26:{_key:"P",_values:["RotationMinX","bool","","",Le("I",0)]},P27:{_key:"P",_values:["RotationMinY","bool","","",Le("I",0)]},P28:{_key:"P",_values:["RotationMinZ","bool","","",Le("I",0)]},P29:{_key:"P",_values:["RotationMaxX","bool","","",Le("I",0)]},P30:{_key:"P",_values:["RotationMaxY","bool","","",Le("I",0)]},P31:{_key:"P",_values:["RotationMaxZ","bool","","",Le("I",0)]},P32:{_key:"P",_values:["InheritType","enum","","",0]},P33:{_key:"P",_values:["ScalingActive","bool","","",Le("I",0)]},P34:{_key:"P",_values:["ScalingMin","Vector3D","Vector","",Le("D",0),Le("D",0),Le("D",0)]},P35:{_key:"P",_values:["ScalingMax","Vector3D","Vector","",Le("D",1),Le("D",1),Le("D",1)]},P36:{_key:"P",_values:["ScalingMinX","bool","","",Le("I",0)]},P37:{_key:"P",_values:["ScalingMinY","bool","","",Le("I",0)]},P38:{_key:"P",_values:["ScalingMinZ","bool","","",Le("I",0)]},P39:{_key:"P",_values:["ScalingMaxX","bool","","",Le("I",0)]},P40:{_key:"P",_values:["ScalingMaxY","bool","","",Le("I",0)]},P41:{_key:"P",_values:["ScalingMaxZ","bool","","",Le("I",0)]},P42:{_key:"P",_values:["GeometricTranslation","Vector3D","Vector","",Le("D",0),Le("D",0),Le("D",0)]},P43:{_key:"P",_values:["GeometricRotation","Vector3D","Vector","",Le("D",0),Le("D",0),Le("D",0)]},P44:{_key:"P",_values:["GeometricScaling","Vector3D","Vector","",Le("D",1),Le("D",1),Le("D",1)]},P45:{_key:"P",_values:["MinDampRangeX","double","Number","",Le("D",0)]},P46:{_key:"P",_values:["MinDampRangeY","double","Number","",Le("D",0)]},P47:{_key:"P",_values:["MinDampRangeZ","double","Number","",Le("D",0)]},P48:{_key:"P",_values:["MaxDampRangeX","double","Number","",Le("D",0)]},P49:{_key:"P",_values:["MaxDampRangeY","double","Number","",Le("D",0)]},P50:{_key:"P",_values:["MaxDampRangeZ","double","Number","",Le("D",0)]},P51:{_key:"P",_values:["MinDampStrengthX","double","Number","",Le("D",0)]},P52:{_key:"P",_values:["MinDampStrengthY","double","Number","",Le("D",0)]},P53:{_key:"P",_values:["MinDampStrengthZ","double","Number","",Le("D",0)]},P54:{_key:"P",_values:["MaxDampStrengthX","double","Number","",Le("D",0)]},P55:{_key:"P",_values:["MaxDampStrengthY","double","Number","",Le("D",0)]},P56:{_key:"P",_values:["MaxDampStrengthZ","double","Number","",Le("D",0)]},P57:{_key:"P",_values:["PreferedAngleX","double","Number","",Le("D",0)]},P58:{_key:"P",_values:["PreferedAngleY","double","Number","",Le("D",0)]},P59:{_key:"P",_values:["PreferedAngleZ","double","Number","",Le("D",0)]},P60:{_key:"P",_values:["LookAtProperty","object","",""]},P61:{_key:"P",_values:["UpVectorProperty","object","",""]},P62:{_key:"P",_values:["Show","bool","","",Le("I",1)]},P63:{_key:"P",_values:["NegativePercentShapeSupport","bool","","",Le("I",1)]},P64:{_key:"P",_values:["DefaultAttributeIndex","int","Integer","",-1]},P65:{_key:"P",_values:["Freeze","bool","","",Le("I",0)]},P66:{_key:"P",_values:["LODBox","bool","","",Le("I",0)]},P67:{_key:"P",_values:["Lcl Translation","Lcl Translation","","A",Le("D",0),Le("D",0),Le("D",0)]},P68:{_key:"P",_values:["Lcl Rotation","Lcl Rotation","","A",Le("D",0),Le("D",0),Le("D",0)]},P69:{_key:"P",_values:["Lcl Scaling","Lcl Scaling","","A",Le("D",1),Le("D",1),Le("D",1)]},P70:{_key:"P",_values:["Visibility","Visibility","","A",Le("D",1)]},P71:{_key:"P",_values:["Visibility Inheritance","Visibility Inheritance","","",1]}}}}:void 0,geometry:_.geometry?{_key:"ObjectType",_values:["Geometry"],Count:_.geometry,PropertyTemplate:{_values:["FbxMesh"],Properties70:{P1:{_key:"P",_values:["Color","ColorRGB","Color","",Le("D",.8),Le("D",.8),Le("D",.8)]},P2:{_key:"P",_values:["BBoxMin","Vector3D","Vector","",Le("D",0),Le("D",0),Le("D",0)]},P3:{_key:"P",_values:["BBoxMax","Vector3D","Vector","",Le("D",0),Le("D",0),Le("D",0)]},P4:{_key:"P",_values:["Primary Visibility","bool","","",Le("I",1)]},P5:{_key:"P",_values:["Casts Shadows","bool","","",Le("I",1)]},P6:{_key:"P",_values:["Receive Shadows","bool","","",Le("I",1)]}}}}:void 0,material:_.material?{_key:"ObjectType",_values:["Material"],Count:_.material,PropertyTemplate:{_values:["FbxSurfaceLambert"],Properties70:{P01:{_key:"P",_values:["ShadingModel","KString","","","Lambert"]},P02:{_key:"P",_values:["MultiLayer","bool","","",Le("I",0)]},P03:{_key:"P",_values:["EmissiveColor","Color","","A",Le("D",0),Le("D",0),Le("D",0)]},P04:{_key:"P",_values:["EmissiveFactor","Number","","A",Le("D",1)]},P05:{_key:"P",_values:["AmbientColor","Color","","A",Le("D",.2),Le("D",.2),Le("D",.2)]},P06:{_key:"P",_values:["AmbientFactor","Number","","A",Le("D",1)]},P07:{_key:"P",_values:["DiffuseColor","Color","","A",Le("D",.8),Le("D",.8),Le("D",.8)]},P08:{_key:"P",_values:["DiffuseFactor","Number","","A",Le("D",1)]},P09:{_key:"P",_values:["Bump","Vector3D","Vector","",Le("D",0),Le("D",0),Le("D",0)]},P10:{_key:"P",_values:["NormalMap","Vector3D","Vector","",Le("D",0),Le("D",0),Le("D",0)]},P11:{_key:"P",_values:["BumpFactor","double","Number","",Le("D",1)]},P12:{_key:"P",_values:["TransparentColor","Color","","A",Le("D",0),Le("D",0),Le("D",0)]},P13:{_key:"P",_values:["TransparencyFactor","Number","","A",Le("D",0)]},P14:{_key:"P",_values:["DisplacementColor","ColorRGB","Color","",Le("D",0),Le("D",0),Le("D",0)]},P15:{_key:"P",_values:["DisplacementFactor","double","Number","",Le("D",1)]},P16:{_key:"P",_values:["VectorDisplacementColor","ColorRGB","Color","",Le("D",0),Le("D",0),Le("D",0)]},P17:{_key:"P",_values:["VectorDisplacementFactor","double","Number","",Le("D",1)]}}}}:void 0,texture:_.texture?{_key:"ObjectType",_values:["Texture"],Count:_.texture,PropertyTemplate:{_values:["FbxFileTexture"],Properties70:{P01:{_key:"P",_values:["TextureTypeUse","enum","","",0]},P02:{_key:"P",_values:["Texture alpha","Number","","A",Le("D",1)]},P03:{_key:"P",_values:["CurrentMappingType","enum","","",0]},P04:{_key:"P",_values:["WrapModeU","enum","","",0]},P05:{_key:"P",_values:["WrapModeV","enum","","",0]},P06:{_key:"P",_values:["UVSwap","bool","","",Le("I",0)]},P07:{_key:"P",_values:["PremultiplyAlpha","bool","","",Le("I",1)]},P08:{_key:"P",_values:["Translation","Vector","","A",Le("D",0),Le("D",0),Le("D",0)]},P09:{_key:"P",_values:["Rotation","Vector","","A",Le("D",0),Le("D",0),Le("D",0)]},P10:{_key:"P",_values:["Scaling","Vector","","A",Le("D",1),Le("D",1),Le("D",1)]},P11:{_key:"P",_values:["TextureRotationPivot","Vector3D","Vector","",Le("D",0),Le("D",0),Le("D",0)]},P12:{_key:"P",_values:["TextureScalingPivot","Vector3D","Vector","",Le("D",0),Le("D",0),Le("D",0)]},P13:{_key:"P",_values:["CurrentTextureBlendMode","enum","","",1]},P14:{_key:"P",_values:["UVSet","KString","","","default"]},P15:{_key:"P",_values:["UseMaterial","bool","","",Le("I",0)]},P16:{_key:"P",_values:["UseMipMap","bool","","",Le("I",0)]}}}}:void 0,image:_.image?{_key:"ObjectType",_values:["Video"],Count:_.image,PropertyTemplate:{_values:["FbxVideo"],Properties70:{P01:{_key:"P",_values:["ImageSequence","bool","","",Le("I",0)]},P02:{_key:"P",_values:["ImageSequenceOffset","int","Integer","",0]},P03:{_key:"P",_values:["FrameRate","double","Number","",Le("D",0)]},P04:{_key:"P",_values:["LastFrame","int","Integer","",0]},P05:{_key:"P",_values:["Width","int","Integer","",0]},P06:{_key:"P",_values:["Height","int","Integer","",0]},P07:{_key:"P",_values:["Path","KString","XRefUrl","",""]},P08:{_key:"P",_values:["StartFrame","int","Integer","",0]},P09:{_key:"P",_values:["StopFrame","int","Integer","",0]},P10:{_key:"P",_values:["PlaySpeed","double","Number","",Le("D",0)]},P11:{_key:"P",_values:["Offset","KTime","Time","",Le("L",0)]},P12:{_key:"P",_values:["InterlaceMode","enum","","",0]},P13:{_key:"P",_values:["FreeRunning","bool","","",Le("I",0)]},P14:{_key:"P",_values:["Loop","bool","","",Le("I",0)]},P15:{_key:"P",_values:["AccessMode","enum","","",0]}}}}:void 0,pose:_.pose?{_key:"ObjectType",_values:["Pose"],Count:_.pose}:void 0,deformer:_.deformer?{_key:"ObjectType",_values:["Deformer"],Count:_.deformer}:void 0,animation_stack:_.animation_stack?{_key:"ObjectType",_values:["AnimationStack"],Count:_.animation_stack,PropertyTemplate:{_values:["FbxAnimStack"],Properties70:{P01:{_key:"P",_values:["Description","KString","","",""]},P02:{_key:"P",_values:["LocalStart","KTime","Time","",Le("L",0)]},P03:{_key:"P",_values:["LocalStop","KTime","Time","",Le("L",0)]},P04:{_key:"P",_values:["ReferenceStart","KTime","Time","",Le("L",0)]},P05:{_key:"P",_values:["ReferenceStop","KTime","Time","",Le("L",0)]}}}}:void 0,animation_layer:_.animation_layer?{_key:"ObjectType",_values:["AnimationLayer"],Count:_.animation_layer,PropertyTemplate:{_values:["FbxAnimLayer"],Properties70:{P01:{_key:"P",_values:["Weight","Number","","A",Le("D",100)]},P02:{_key:"P",_values:["Mute","bool","","",Le("I",0)]},P03:{_key:"P",_values:["Solo","bool","","",Le("I",0)]},P04:{_key:"P",_values:["Lock","bool","","",Le("I",0)]},P05:{_key:"P",_values:["Color","ColorRGB","Color","",Le("D",.8),Le("D",.8),Le("D",.8)]},P06:{_key:"P",_values:["BlendMode","enum","","",0]},P07:{_key:"P",_values:["RotationAccumulationMode","enum","","",0]},P08:{_key:"P",_values:["ScaleAccumulationMode","enum","","",0]},P09:{_key:"P",_values:["BlendModeBypass","ULongLong","","",0]}}}}:void 0,animation_curve_node:_.animation_curve_node?{_key:"ObjectType",_values:["AnimationCurveNode"],Count:_.animation_curve_node,PropertyTemplate:{_values:["FbxAnimCurveNode"],Properties70:{P01:{_key:"P",_values:["d","Compound","",""]}}}}:void 0,animation_curve:_.animation_curve?{_key:"ObjectType",_values:["AnimationCurve"],Count:_.animation_curve}:void 0}}),n.push(o("Object properties")),n.push({Objects:f}),n.push(o("Object connections"));let A={};g.forEach((j,F)=>{A[`connection_${F}_comment`]={_comment:j.name.join(", ")},A[`connection_${F}`]={_key:"C",_values:[j.property?"OP":"OO",...j.id]},j.property&&A[`connection_${F}`]._values.push(j.property)}),n.push({Connections:A}),n.push(o("Takes section")),n.push({Takes:v}),e.dispatchEvent("compile",{model:n,options:i});let R;if(i.encoding=="binary"){let j={};n.forEach(F=>{if(typeof F=="object")for(let O in F)j[O]=F[O]}),R=noe(j)}else R=n.map(j=>typeof j=="object"?aoe(j):j).join("");return R},write(i,e){var t=this;he.writeFile(e,{content:i},n=>t.afterSave(n)),Texture.all.forEach(n=>{if(!n.error){var a=n.name;a.substr(-4).toLowerCase()!==".png"&&(a+=".png");var o=e.split(osfs);o.splice(-1,1,a),he.writeFile(o.join(osfs),{content:n.source,savetype:"image"})}})},export_options:{encoding:{type:"select",label:"codec.common.encoding",options:{ascii:"ASCII",binary:"Binary (Experimental)"}},scale:{label:"settings.model_export_scale",type:"number",value:Settings.get("model_export_scale")},embed_textures:{type:"checkbox",label:"codec.common.embed_textures",value:!1},include_animations:{label:"codec.common.export_animations",type:"checkbox",value:!0},armature_note:{type:"info",condition:()=>jr.all.length>0,text:"\u26A0\uFE0F Armature export to FBX is currently experimental, glTF is recommended instead."}},async export(){if(!(Object.keys(this.export_options).length&&await this.promptExportOptions()===null)){var i=this,e=new mw.default,t=this.compile();e.file((Project.name||"model")+".fbx",t),Texture.all.forEach(n=>{if(!n.error){var a=n.name;a.substr(-4).toLowerCase()!==".png"&&(a+=".png"),e.file(a,n.source.replace("data:image/png;base64,",""),{base64:!0})}}),e.generateAsync({type:"blob"}).then(n=>{bn.exportFile({type:"Zip Archive",extensions:["zip"],name:"assets",content:n,savetype:"zip"},a=>i.afterDownload(a))})}}});BARS.defineActions(function(){L5.export_action=new Action("export_fbx",{icon:"icon-fbx",category:"file",condition:()=>!!Project,click:function(){L5.export()}})});var ZC=class{constructor(e,t){W(this,"array");W(this,"buffer");W(this,"view");W(this,"cursor");W(this,"little_endian");W(this,"textEncoder");this.array=new Uint8Array(e),this.buffer=this.array.buffer,this.view=new DataView(this.buffer),this.cursor=0,this.little_endian=!!t,this.textEncoder=new TextEncoder}expand(e){if(this.cursor+e>this.buffer.byteLength){var t=this.array;this.array=new Uint8Array(this.cursor+Math.max(e,176)),this.buffer=this.array.buffer,this.array.set(t),this.view=new DataView(this.buffer)}}WriteUInt8(e){this.expand(1),this.view.setUint8(this.cursor,e),this.cursor+=1}WriteUInt16(e){this.expand(2),this.view.setUint16(this.cursor,e,this.little_endian),this.cursor+=2}WriteInt16(e){this.expand(2),this.view.setInt16(this.cursor,e,this.little_endian),this.cursor+=2}WriteInt32(e){this.expand(4),this.view.setInt32(this.cursor,e,this.little_endian),this.cursor+=4}WriteInt64(e){this.expand(8),this.view.setBigInt64(this.cursor,BigInt(e),this.little_endian),this.cursor+=8}WriteUInt32(e){this.expand(4),this.view.setUint32(this.cursor,e,this.little_endian),this.cursor+=4}WriteFloat32(e){this.expand(4),this.view.setFloat32(this.cursor,e,this.little_endian),this.cursor+=4}WriteFloat64(e){this.expand(8),this.view.setFloat64(this.cursor,e,this.little_endian),this.cursor+=8}WriteBoolean(e){this.WriteUInt8(e?1:0)}Write7BitEncodedInt(e){for(;e>=128;)this.WriteUInt8(e|128),e=e>>7;this.WriteUInt8(e)}WriteRawString(e){var t=this.EncodeString(e);this.WriteBytes(t)}WriteString(e,t){var n=this.EncodeString(e);t||this.Write7BitEncodedInt(n.byteLength),this.WriteBytes(n)}WriteU32String(e){var t=this.EncodeString(e);this.WriteUInt32(t.byteLength),this.WriteBytes(t)}WriteU32Base64(e){let t=Rb(e),n=Uint8Array.from(t,a=>a.charCodeAt(0));this.WriteUInt32(n.length),this.WriteBytes(n)}WritePoint(e){this.expand(8),this.view.setInt32(this.cursor,e.x,this.little_endian),this.cursor+=4,this.view.setInt32(this.cursor,e.y,this.little_endian),this.cursor+=4}WriteVector2(e){this.expand(8),this.view.setFloat32(this.cursor,e.x,this.little_endian),this.cursor+=4,this.view.setFloat32(this.cursor,e.y,this.little_endian),this.cursor+=4}WriteVector3(e){this.expand(12),this.view.setFloat32(this.cursor,e.x,this.little_endian),this.cursor+=4,this.view.setFloat32(this.cursor,e.y,this.little_endian),this.cursor+=4,this.view.setFloat32(this.cursor,e.z,this.little_endian),this.cursor+=4}WriteIntVector3(e){this.expand(12),this.view.setInt32(this.cursor,e.x,this.little_endian),this.cursor+=4,this.view.setInt32(this.cursor,e.y,this.little_endian),this.cursor+=4,this.view.setInt32(this.cursor,e.z,this.little_endian),this.cursor+=4}WriteQuaternion(e){this.expand(16),this.view.setFloat32(this.cursor,e.w,this.little_endian),this.cursor+=4,this.view.setFloat32(this.cursor,e.x,this.little_endian),this.cursor+=4,this.view.setFloat32(this.cursor,e.y,this.little_endian),this.cursor+=4,this.view.setFloat32(this.cursor,e.z,this.little_endian),this.cursor+=4}WriteBytes(e){this.expand(e.byteLength),this.array.set(e,this.cursor),this.cursor+=e.byteLength}EncodeString(e){return this.textEncoder.encode(e)}};function noe(i){let e;D1<7500?e=new Uint8Array(Array(13).fill(0)):e=new Uint8Array(Array(25).fill(0));let t=["AnimationStack","AnimationLayer"];var n=new ZC(20,!0);n.WriteRawString("Kaydara FBX Binary "),n.WriteUInt8(0),n.WriteUInt8(26),n.WriteUInt8(0),n.WriteUInt32(D1);function a(d,u){let p;typeof u=="object"&&typeof u.map=="function"?p=u:typeof u!="object"?p=[u]:u._values?p=u._values:p=[];let m=u.hasOwnProperty("_values")&&u.hasOwnProperty("a")&&u._type!=null,_=n.cursor;n.WriteUInt32(0),n.WriteUInt32(p.length);let f=n.cursor;n.WriteUInt32(0),n.WriteString(d);let g=n.cursor;if(m){let v=u._type||"i",b=u.a;b instanceof Array||(b=[b]),n.WriteRawString(v),n.WriteUInt32(b.length),n.WriteUInt32(0);let x=0;switch(v){case"f":case"i":x=4;break;case"d":case"l":x=8;break;case"b":x=1;break}n.WriteUInt32(b.length*x);for(let w of b)switch(v){case"f":n.WriteFloat32(w);break;case"d":n.WriteFloat64(w);break;case"l":n.WriteInt64(w);break;case"i":n.WriteInt32(w);break;case"b":n.WriteBoolean(w);break}}else p.forEach((v,b)=>{let x=typeof v;if(typeof v=="object"&&v.isTNum&&(x=v.type,v=v.value),x=="number"&&(x=v%1?"D":"I"),x=="boolean")n.WriteRawString("C"),n.WriteBoolean(v);else if(x=="string"&&v.startsWith("iV"))n.WriteRawString("R"),n.WriteU32Base64(v);else if(x=="string"){if(v.includes("::")){let y=v.split("::");v=y[1]+"\0"+y[0]}n.WriteRawString("S"),v.startsWith("_")&&(v=v.substring(1)),n.WriteU32String(v)}else x=="Y"?(n.WriteRawString("Y"),n.WriteInt16(v)):x=="I"?(n.WriteRawString("I"),n.WriteInt32(v)):x=="F"?(n.WriteRawString("F"),n.WriteFloat32(v)):x=="D"?(n.WriteRawString("D"),n.WriteFloat64(v)):x=="L"&&(n.WriteRawString("L"),n.WriteInt64(v))});if(n.view.setUint32(f,n.cursor-g,n.little_endian),typeof u=="object"&&!(u instanceof Array)&&!m){let v=!1;for(let b in u){if(typeof b=="string"&&b.startsWith("_")||u[b]===void 0)continue;let x=u[b];x===null||x._comment||(x._key&&(b=x._key),v=!0,a(b,x))}(v||Object.keys(u).length===0&&!t.includes(d))&&n.WriteBytes(e)}n.view.setUint32(_,n.cursor,n.little_endian)}for(let d in i)a(d,i[d]);n.WriteBytes(e);let o=[250,188,171,9,208,200,212,102,177,118,251,131,28,247,38,126,0,0,0,0];n.WriteBytes(new Uint8Array(o));let r=n.cursor,s=(r+15&-16)-r;s===0&&(s=16);for(let d=0;dMath.roundTo(e,6)).join(" ")}var N5=new Codec("collada",{name:"Collada Model",extension:"dae",compile(i=0){let e=this,t=[],n=[],a=[],o=[],r=[],s=Settings.get("model_export_scale"),l={type:"COLLADA",attributes:{xmlns:"http://www.collada.org/2005/11/COLLADASchema",version:"1.4.1","xmlns:xsi":"http://www.w3.org/2001/XMLSchema-instance"},content:[{type:"asset",content:[{name:"contributor",content:[{type:"author",content:settings.username.value||"Blockbench user"},{type:"authoring_tool",content:"Blockbench"}]},{name:"created",content:new Date().toISOString()},{name:"modified",content:new Date().toISOString()},{name:"unit",attributes:{name:"meter",meter:"1.0"}},{name:"up_axis",content:"Y_UP"}]},{type:"library_effects",content:a},{type:"library_images",content:o},{type:"library_materials",content:r},{type:"library_geometries",content:t},{type:"library_visual_scenes",content:[{type:"visual_scene",attributes:{id:"Scene",name:"Scene"},content:n}]},{type:"scene",content:[{type:"instance_visual_scene",attributes:{url:"#Scene"}}]}]};Texture.all.forEach((p,m)=>{a.push({type:"effect",attributes:{id:`Material_${m}-effect`},content:{type:"profile_COMMON",content:[{type:"newparam",attributes:{sid:`Image_${m}-surface`},content:{type:"surface",attributes:{type:"2D"},content:{type:"init_from",content:`Image_${m}`}}},{type:"newparam",attributes:{sid:`Image_${m}-sampler`},content:{type:"sampler2D",content:{type:"source",content:`Image_${m}-surface`}}},{type:"technique",attributes:{sid:"common"},content:{type:"lambert",content:[{type:"emission",content:{type:"color",attributes:{sid:"emission"},content:"0 0 0 1"}},{type:"diffuse",content:{type:"texture",attributes:{texture:`Image_${m}-sampler`,texcoord:"UVMap"}}},{type:"index_of_refraction",content:{type:"float",attributes:{sid:"ior"},content:"1.45"}}]}}]}}),o.push({type:"image",attributes:{id:`Image_${m}`,name:`Image_${m}`},content:{type:"init_from",content:`${p.name.replace(/\.png$/,"")}.png`}}),r.push({type:"material",attributes:{id:`Material_${m}-material`,name:`Material_${m}`},content:{name:"instance_effect",attributes:{url:`#Material_${m}-effect`}}})});let c={north:[0,0,-1],east:[1,0,0],south:[0,0,1],west:[-1,0,0],up:[0,1,0],down:[0,-1,0]};Cube.all.forEach(p=>{if(!p.export)return;let m=[],_=[],f=[],g=[],v=[];function b(F,O,L){m.push((F-p.origin[0])/s,(O-p.origin[1])/s,(L-p.origin[2])/s)}var x=p.from.slice(),w=p.to.slice();adjustFromAndToForInflateAndStretch(x,w,p),b(w[0],w[1],w[2]),b(w[0],w[1],x[2]),b(w[0],x[1],w[2]),b(w[0],x[1],x[2]),b(x[0],w[1],x[2]),b(x[0],w[1],w[2]),b(x[0],x[1],x[2]),b(x[0],x[1],w[2]);for(let F in p.faces){let O=p.faces[F];if(O.texture===null)continue;_.push(...c[F]);let L=O.getTexture(),U=[Project.getUVWidth(L),Project.getUVHeight(L)],J=[[O.uv[0]/U[0],1-O.uv[1]/U[1]],[O.uv[2]/U[0],1-O.uv[1]/U[1]],[O.uv[2]/U[0],1-O.uv[3]/U[1]],[O.uv[0]/U[0],1-O.uv[3]/U[1]]];for(var E=O.rotation||0;E>0;)J.splice(0,0,J.pop()),E-=90;J.forEach(te=>{f.push(...te)}),g.push(4);let ie;switch(F){case"north":ie=[1,4,6,3];break;case"east":ie=[0,1,3,2];break;case"south":ie=[5,0,2,7];break;case"west":ie=[4,5,7,6];break;case"up":ie=[4,1,0,5];break;case"down":ie=[7,2,3,6];break}v.push(ie[3],_.length/3-1,g.length*4-1,ie[2],_.length/3-1,g.length*4-2,ie[1],_.length/3-1,g.length*4-3,ie[0],_.length/3-1,g.length*4-4)}let y={type:"geometry",attributes:{id:`${p.uuid}-mesh`,name:p.name},content:{type:"mesh",content:[{type:"source",attributes:{id:`${p.uuid}-mesh-positions`},content:[{type:"float_array",attributes:{id:`${p.uuid}-mesh-positions-array`,count:m.length},content:ll(m)},{type:"technique_common",content:{type:"accessor",attributes:{source:`#${p.uuid}-mesh-positions-array`,count:m.length/3,stride:3},content:[{type:"param",attributes:{name:"X",type:"float"}},{type:"param",attributes:{name:"Y",type:"float"}},{type:"param",attributes:{name:"Z",type:"float"}}]}}]},{type:"source",attributes:{id:`${p.uuid}-mesh-normals`},content:[{type:"float_array",attributes:{id:`${p.uuid}-mesh-normals-array`,count:_.length},content:ll(_)},{type:"technique_common",content:{type:"accessor",attributes:{source:`#${p.uuid}-mesh-normals-array`,count:_.length/3,stride:3},content:[{type:"param",attributes:{name:"X",type:"float"}},{type:"param",attributes:{name:"Y",type:"float"}},{type:"param",attributes:{name:"Z",type:"float"}}]}}]},{type:"source",attributes:{id:`${p.uuid}-mesh-map-0`},content:[{type:"float_array",attributes:{id:`${p.uuid}-mesh-map-0-array`,count:f.length},content:ll(f)},{type:"technique_common",content:{type:"accessor",attributes:{source:`#${p.uuid}-mesh-map-0-array`,count:f.length/2,stride:2},content:[{type:"param",attributes:{name:"S",type:"float"}},{type:"param",attributes:{name:"T",type:"float"}}]}}]},{type:"vertices",attributes:{id:`${p.uuid}-mesh-vertices`},content:[{type:"input",attributes:{semantic:"POSITION",source:`#${p.uuid}-mesh-positions`}}]}]}},A=0,R,j=[];for(let F in p.faces){let O=p.faces[F];if(O.texture!==null){let L=g[A],U=v.slice(A*12,A*12+12);R&&O.texture===R?(j.last().vcount.push(L),j.last().primitive.push(...U)):(j.push({texture:O.getTexture(),vcount:[L],primitive:U}),R=O.texture),A++}}j.forEach(F=>{y.content.content.push({type:"polylist",attributes:{material:`Material_${Texture.all.indexOf(F.texture)}-material`,count:6},content:[{type:"input",attributes:{semantic:"VERTEX",source:`#${p.uuid}-mesh-vertices`,offset:0}},{type:"input",attributes:{semantic:"NORMAL",source:`#${p.uuid}-mesh-normals`,offset:1}},{type:"input",attributes:{semantic:"TEXCOORD",source:`#${p.uuid}-mesh-map-0`,offset:2,set:0}},{type:"vcount",content:ll(F.vcount)},{type:"p",content:ll(F.primitive)}]})}),t.push(y)}),Mesh.all.forEach(p=>{if(!p.export)return;let m=[],_=[],f=[],g=[];function v(A,R,j){m.push(A/s,R/s,j/s)}for(let A in p.vertices)v(...p.vertices[A]),g.push(A);let b=0,x,w=[],E=0;for(let A in p.faces)if(p.faces[A].vertices.length>=3){let R=p.faces[A],j=R.getSortedVertices(),F=p.faces[A].getTexture(),O=[Project.getUVWidth(F),Project.getUVHeight(F)];j.forEach(U=>{f.push(R.uv[U][0]/O[0],1-R.uv[U][1]/O[1])}),_.push(...R.getNormal(!0));let L=[];j.forEach((U,J)=>{L.push(g.indexOf(U),_.length/3-1,f.length/2-j.length+J)}),x&&R.texture===x?(w.last().vcount.push(j.length),w.last().primitive.push(...L)):(w.push({texture:R.getTexture(),vcount:[j.length],primitive:L}),x=R.texture),E+=R.vertices.length,b++}let y={type:"geometry",attributes:{id:`${p.uuid}-mesh`,name:p.name},content:{type:"mesh",content:[{type:"source",attributes:{id:`${p.uuid}-mesh-positions`},content:[{type:"float_array",attributes:{id:`${p.uuid}-mesh-positions-array`,count:m.length},content:ll(m)},{type:"technique_common",content:{type:"accessor",attributes:{source:`#${p.uuid}-mesh-positions-array`,count:m.length/3,stride:3},content:[{type:"param",attributes:{name:"X",type:"float"}},{type:"param",attributes:{name:"Y",type:"float"}},{type:"param",attributes:{name:"Z",type:"float"}}]}}]},{type:"source",attributes:{id:`${p.uuid}-mesh-normals`},content:[{type:"float_array",attributes:{id:`${p.uuid}-mesh-normals-array`,count:_.length},content:ll(_)},{type:"technique_common",content:{type:"accessor",attributes:{source:`#${p.uuid}-mesh-normals-array`,count:_.length/3,stride:3},content:[{type:"param",attributes:{name:"X",type:"float"}},{type:"param",attributes:{name:"Y",type:"float"}},{type:"param",attributes:{name:"Z",type:"float"}}]}}]},{type:"source",attributes:{id:`${p.uuid}-mesh-map-0`},content:[{type:"float_array",attributes:{id:`${p.uuid}-mesh-map-0-array`,count:f.length},content:ll(f)},{type:"technique_common",content:{type:"accessor",attributes:{source:`#${p.uuid}-mesh-map-0-array`,count:f.length/2,stride:2},content:[{type:"param",attributes:{name:"S",type:"float"}},{type:"param",attributes:{name:"T",type:"float"}}]}}]},{type:"vertices",attributes:{id:`${p.uuid}-mesh-vertices`},content:[{type:"input",attributes:{semantic:"POSITION",source:`#${p.uuid}-mesh-positions`}}]}]}};w.forEach(A=>{y.content.content.push({type:"polylist",attributes:{material:`Material_${Texture.all.indexOf(A.texture)}-material`,count:6},content:[{type:"input",attributes:{semantic:"VERTEX",source:`#${p.uuid}-mesh-vertices`,offset:0}},{type:"input",attributes:{semantic:"NORMAL",source:`#${p.uuid}-mesh-normals`,offset:1}},{type:"input",attributes:{semantic:"TEXCOORD",source:`#${p.uuid}-mesh-map-0`,offset:2,set:0}},{type:"vcount",content:ll(A.vcount)},{type:"p",content:ll(A.primitive)}]})}),t.push(y)});function d(p){let m=p.origin.slice();p.parent instanceof Group&&m.V3_subtract(p.parent.origin);let _={name:"node",attributes:{id:p.uuid,name:p.name,type:"NODE"},content:[{type:"scale",attributes:{sid:"scale"},content:"1 1 1"},{type:"translate",attributes:{sid:"location"},content:m.V3_divide(s).join(" ")}]};if(p.getTypeBehavior("rotatable")){let f=[{type:"rotate",attributes:{sid:"rotationZ"},content:`0 0 1 ${p.rotation[2]}`},{type:"rotate",attributes:{sid:"rotationY"},content:`0 1 0 ${p.rotation[1]}`},{type:"rotate",attributes:{sid:"rotationX"},content:`1 0 0 ${p.rotation[0]}`}];p.mesh.rotation.order=="XYZ"&&f.reverse(),_.content.push(...f)}if(p instanceof Cube||p instanceof Mesh){let f=[];for(let g in p.faces){let v=p.faces[g].getTexture();v instanceof Texture&&f.safePush(v)}_.content.push({type:"instance_geometry",attributes:{url:`#${p.uuid}-mesh`,name:p.name},content:{name:"bind_material",content:{name:"technique_common",content:f.map(g=>{let v=Texture.all.indexOf(g);return{name:"instance_material",attributes:{symbol:`Material_${v}-material`,target:`#Material_${v}-material`},content:{name:"bind_vertex_input",attributes:{semantic:"UVMap",input_semantic:"TEXCOORD",input_set:"0"}}}})}}})}return p instanceof Group&&p.children.forEach(f=>{f.export!==!1&&_.content.push(d(f))}),_}Outliner.root.forEach(p=>{p.export!==!1&&n.push(d(p))});let u=Codecs.gltf.buildAnimationTracks(s,!1);if(u.length){let p={type:"library_animations",content:[]},m={type:"library_animation_clips",content:[]},_={},f=0;u.forEach(g=>{g.duration<.01||g.tracks.forEach(v=>{_[v.group_uuid]||(_[v.group_uuid]={}),_[v.group_uuid][v.channel]||(_[v.group_uuid][v.channel]={animations_added:[],times:[]})})}),u.forEach((g,v)=>{if(g.duration<.01)return;g.tracks.forEach(x=>{let w=_[x.group_uuid][x.channel];w.times.push(...x.times.map(y=>y+f)),w.animations_added.push(v);let E=x.times[x.times.length-1]-g.duration<=.1;E&&w.times.push(g.duration+f),x.channel=="rotation"?(w.values||(w.values={}),["X","Y","Z"].forEach((y,A)=>{w.values[y]||(w.values[y]=[]);let R=x.values.filter((j,F)=>F%3==A).map(j=>Math.radToDeg(j));w.values[y].push(...R),E&&w.values[y].push(...w.values[y].slice(-1))})):(w.values||(w.values=[]),w.values.push(...x.values),E&&w.values.push(...w.values.slice(-3)))});for(let x in _){let w=Group.all.find(E=>E.uuid==x);for(let E in _[x]){let y=_[x][E];if(!y.animations_added.includes(v))if(y.times.push(f,f+g.duration),E=="rotation")y.values||(y.values={}),["X","Y","Z"].forEach((A,R)=>{y.values[A]||(y.values[A]=[]),y.values[A].push(0,0)});else if(E=="scale")y.values||(y.values=[]),y.values.push(1,1,1,1,1,1);else{y.values||(y.values=[]);let A=w.origin.slice();w.parent instanceof Group&&A.V3_subtract(w.parent.origin),A.V3_divide(s),y.values.push(...A,...A)}}}let b={type:"animation_clip",attributes:{id:g.name,name:g.name,start:f,end:f+g.duration}};f+=g.duration+.01,m.content.push(b)});for(let g in _){let v={type:"animation",attributes:{id:`animation-${g}`,name:g},content:[]};for(let b in _[g]){let x=_[g][b],w=OutlinerNode.uuids[g],E=b;E=="position"&&(E="location"),E=="rotation"&&(E="rotation_euler");let y=`${w.name}_${E}`,A={type:"animation",attributes:{id:`${y}`,name:y},content:[{type:"source",attributes:{id:y+"-input"},content:[{type:"float_array",attributes:{id:y+"-input-array",count:x.times.length},content:ll(x.times)},{type:"technique_common",content:{type:"accessor",attributes:{source:"#"+y+"-input-array",count:x.times.length,stride:1},content:{type:"param",attributes:{name:"TIME",type:"float"}}}}]}]};b=="rotation"?["X","Y","Z"].forEach((R,j)=>{let F=x.values[R];A.content.push({type:"source",attributes:{id:y+"_"+R+"-output"},content:[{type:"float_array",attributes:{id:y+"_"+R+"-output-array",count:F.length},content:ll(F)},{type:"technique_common",content:{type:"accessor",attributes:{source:"#"+y+"_"+R+"-output-array",count:F.length,stride:1},content:[{type:"param",attributes:{name:"ANGLE",type:"float"}}]}}]},{type:"sampler",attributes:{id:`${y+"_"+R}-sampler`},content:[{type:"input",attributes:{semantic:"INPUT",source:"#"+y+"-input"}},{type:"input",attributes:{semantic:"OUTPUT",source:"#"+y+"_"+R+"-output"}}]},{type:"channel",attributes:{source:`#${y+"_"+R}-sampler`,target:`${w.uuid}/rotation${R}.ANGLE`}})}):A.content.push({type:"source",attributes:{id:y+"-output"},content:[{type:"float_array",attributes:{id:y+"-output-array",count:x.values.length},content:ll(x.values)},{type:"technique_common",content:{type:"accessor",attributes:{source:"#"+y+"-output-array",count:x.values.length,stride:3},content:[{type:"param",attributes:{name:"X",type:"float"}},{type:"param",attributes:{name:"Y",type:"float"}},{type:"param",attributes:{name:"Z",type:"float"}}]}}]},{type:"sampler",attributes:{id:`${y}-sampler`},content:[{type:"input",attributes:{semantic:"INPUT",source:"#"+y+"-input"}},{type:"input",attributes:{semantic:"OUTPUT",source:"#"+y+"-output"}}]},{type:"channel",attributes:{source:`#${y}-sampler`,target:`${w.uuid}/${E}`}}),v.content.push(A)}p.content.push(v)}l.content.push(p),l.content.push(m)}return e.dispatchEvent("compile",{model:l,options:i}),i.raw?l:ooe(l)},write(i,e){var t=this;i=this.compile(),Blockbench.writeFile(e,{content:i},n=>t.afterSave(n)),Texture.all.forEach(n=>{if(!n.error){var a=n.name;a.substr(-4).toLowerCase()!==".png"&&(a+=".png");var o=e.split(osfs);o.splice(-1,1,a),Blockbench.writeFile(o.join(osfs),{content:n.source,savetype:"image"})}})},export(){var i=this,e=new JSZip,t=this.compile();e.file((Project.name||"model")+".dae",t),Texture.all.forEach(n=>{if(!n.error){var a=n.name;a.substr(-4).toLowerCase()!==".png"&&(a+=".png"),e.file(a,n.source.replace("data:image/png;base64,",""),{base64:!0})}}),e.generateAsync({type:"blob"}).then(n=>{Blockbench.export({type:"Zip Archive",extensions:["zip"],name:"assets",content:n,savetype:"zip"},a=>i.afterDownload(a))})}});BARS.defineActions(function(){N5.export_action=new Action({id:"export_collada",icon:"icon-collada",category:"file",click:function(){N5.export()}})});function ooe(i){let e=0,t=` `;function n(){let o="";for(let r=0;r"+o.content+` `:typeof o.content=="object"?(e++,t+=`> `,(o.content instanceof Array?o.content:[o.content]).forEach(c=>{typeof c=="object"&&a(c)}),e--,t+=n()+` `):t+=`/> `}return a(i),t}var V1=class{parse(e,t={}){let n=t.binary!==void 0?t.binary:!1,a=[],o=0;e.traverse(function(v){if(v.isMesh){let b=v.geometry;if(b.isBufferGeometry!==!0)throw new Error("THREE.STLExporter: Geometry is not of type THREE.BufferGeometry.");let x=b.index,w=b.getAttribute("position");o+=x!==null?x.count/3:w.count/3,a.push({object3d:v,geometry:b})}});let r,s=80;if(n===!0){let v=o*2+o*3*4*4+80+4,b=new ArrayBuffer(v);r=new DataView(b),r.setUint32(s,o,!0),s+=4}else r="",r+=`solid exported `;let l=new we,c=new we,d=new we,u=new we,p=new we,m=new we;for(let v=0,b=a.length;v{a.children.push(r.mesh)});let o=n.parse(a,{binary:i.encoding=="binary"});return e.dispatchEvent("compile",{result:o,options:i}),o}});BARS.defineActions(function(){H5.export_action=new Action({id:"export_stl",icon:"database",category:"file",click:function(){H5.export()}})});function Ro(i){var e=trimFloatNumber(i)+"";return e.includes(".")||(e+=".0"),e+"F"}function xy(i){return Math.floor(i)}var wo={"1.12":{name:"Forge 1.7 - 1.13",remember:!0,integer_size:!0,file:`// Made with Blockbench %(bb_version) // Exported for Minecraft version 1.7 - 1.12 // Paste this class into your mod and generate all required imports public class %(identifier) extends ModelBase { %(fields) public %(identifier)() { textureWidth = %(texture_width); textureHeight = %(texture_height); %(content) } @Override public void render(Entity entity, float f, float f1, float f2, float f3, float f4, float f5) { %(renderers) } public void setRotationAngle(ModelRenderer modelRenderer, float x, float y, float z) { modelRenderer.rotateAngleX = x; modelRenderer.rotateAngleY = y; modelRenderer.rotateAngleZ = z; } }`,field:"private final ModelRenderer %(bone);",bone:`%(bone) = new ModelRenderer(this); %(bone).setRotationPoint(%(x), %(y), %(z)); ?(has_parent)%(parent).addChild(%(bone)); ?(has_rotation)setRotationAngle(%(bone), %(rx), %(ry), %(rz)); %(cubes)`,renderer:"%(bone).render(f5);",cube:"%(bone).cubeList.add(new ModelBox(%(bone), %(uv_x), %(uv_y), %(x), %(y), %(z), %(dx), %(dy), %(dz), %(inflate), %(mirror)));"},"1.14":{name:"Forge 1.14 (MCP)",remember:!0,integer_size:!0,file:`// Made with Blockbench %(bb_version) // Exported for Minecraft version 1.14 with MCP mappings // Paste this class into your mod and generate all required imports public class %(identifier) extends EntityModel { %(fields) public %(identifier)() { textureWidth = %(texture_width); textureHeight = %(texture_height); %(content) } @Override public void render(Entity entity, float f, float f1, float f2, float f3, float f4, float f5) { %(renderers) } public void setRotationAngle(RendererModel modelRenderer, float x, float y, float z) { modelRenderer.rotateAngleX = x; modelRenderer.rotateAngleY = y; modelRenderer.rotateAngleZ = z; } }`,field:"private final RendererModel %(bone);",bone:`%(bone) = new RendererModel(this); %(bone).setRotationPoint(%(x), %(y), %(z)); ?(has_parent)%(parent).addChild(%(bone)); ?(has_rotation)setRotationAngle(%(bone), %(rx), %(ry), %(rz)); %(cubes)`,renderer:"%(bone).render(f5);",cube:"%(bone).cubeList.add(new ModelBox(%(bone), %(uv_x), %(uv_y), %(x), %(y), %(z), %(dx), %(dy), %(dz), %(inflate), %(mirror)));"},"1.14_mojmaps":{name:"Forge 1.14 (Mojmaps)",remember:!1,integer_size:!0,file:`// Made with Blockbench %(bb_version) // Exported for Minecraft version 1.14 with Mojang mappings // Paste this class into your mod and generate all required imports public class %(identifier) extends EntityModel { %(fields) public %(identifier)() { texWidth = %(texture_width); texHeight = %(texture_height); %(content) } @Override public void render(Entity entity, float f, float f1, float f2, float f3, float f4, float f5) { %(renderers) } public void setRotationAngle(RendererModel modelRenderer, float x, float y, float z) { modelRenderer.xRot = x; modelRenderer.yRot = y; modelRenderer.zRot = z; } }`,field:"private final RendererModel %(bone);",bone:`%(bone) = new RendererModel(this); %(bone).setPos(%(x), %(y), %(z)); ?(has_parent)%(parent).addChild(%(bone)); ?(has_rotation)setRotationAngle(%(bone), %(rx), %(ry), %(rz)); %(cubes)`,renderer:"%(bone).render(f5);",cube:"%(bone).cubes.add(new ModelBox(%(bone), %(uv_x), %(uv_y), %(x), %(y), %(z), %(dx), %(dy), %(dz), %(inflate), %(mirror)));"},"1.15":{name:"Forge 1.15 - 1.16 (MCP)",remember:!0,integer_size:!1,file:`// Made with Blockbench %(bb_version) // Exported for Minecraft version 1.15 - 1.16 with MCP mappings // Paste this class into your mod and generate all required imports public class %(identifier) extends EntityModel { %(fields) public %(identifier)() { textureWidth = %(texture_width); textureHeight = %(texture_height); %(content) } @Override public void setRotationAngles(Entity entity, float limbSwing, float limbSwingAmount, float ageInTicks, float netHeadYaw, float headPitch){ //previously the render function, render code was moved to a method below } @Override public void render(MatrixStack matrixStack, IVertexBuilder buffer, int packedLight, int packedOverlay, float red, float green, float blue, float alpha){ %(renderers) } public void setRotationAngle(ModelRenderer modelRenderer, float x, float y, float z) { modelRenderer.rotateAngleX = x; modelRenderer.rotateAngleY = y; modelRenderer.rotateAngleZ = z; } }`,field:"private final ModelRenderer %(bone);",bone:`%(bone) = new ModelRenderer(this); %(bone).setRotationPoint(%(x), %(y), %(z)); ?(has_parent)%(parent).addChild(%(bone)); ?(has_rotation)setRotationAngle(%(bone), %(rx), %(ry), %(rz)); %(cubes)`,renderer:"%(bone).render(matrixStack, buffer, packedLight, packedOverlay, red, green, blue, alpha);",cube:"%(bone).setTextureOffset(%(uv_x), %(uv_y)).addBox(%(x), %(y), %(z), %(dx), %(dy), %(dz), %(inflate), %(mirror));"},"1.15_mojmaps":{name:"Forge 1.15 - 1.16 (Mojmaps)",remember:!1,integer_size:!1,file:`// Made with Blockbench %(bb_version) // Exported for Minecraft version 1.15 - 1.16 with Mojang mappings // Paste this class into your mod and generate all required imports public class %(identifier) extends EntityModel { %(fields) public %(identifier)() { texWidth = %(texture_width); texHeight = %(texture_height); %(content) } @Override public void setupAnim(Entity entity, float limbSwing, float limbSwingAmount, float ageInTicks, float netHeadYaw, float headPitch){ //previously the render function, render code was moved to a method below } @Override public void renderToBuffer(MatrixStack matrixStack, IVertexBuilder buffer, int packedLight, int packedOverlay, float red, float green, float blue, float alpha){ %(renderers) } public void setRotationAngle(ModelRenderer modelRenderer, float x, float y, float z) { modelRenderer.xRot = x; modelRenderer.yRot = y; modelRenderer.zRot = z; } }`,field:"private final ModelRenderer %(bone);",bone:`%(bone) = new ModelRenderer(this); %(bone).setPos(%(x), %(y), %(z)); ?(has_parent)%(parent).addChild(%(bone)); ?(has_rotation)setRotationAngle(%(bone), %(rx), %(ry), %(rz)); %(cubes)`,renderer:"%(bone).render(matrixStack, buffer, packedLight, packedOverlay, red, green, blue, alpha);",cube:"%(bone).texOffs(%(uv_x), %(uv_y)).addBox(%(x), %(y), %(z), %(dx), %(dy), %(dz), %(inflate), %(mirror));"},"1.17":{name:"Forge 1.17+ (Mojmaps)",remember:!1,use_layer_definition:!0,integer_size:!1,file:`// Made with Blockbench %(bb_version) // Exported for Minecraft version 1.17 or later with Mojang mappings // Paste this class into your mod and generate all required imports public class %(identifier) extends EntityModel { // This layer location should be baked with EntityRendererProvider.Context in the entity renderer and passed into this model's constructor public static final ModelLayerLocation LAYER_LOCATION = new ModelLayerLocation(new ResourceLocation("modid", "%(identifier_rl)"), "main"); %(fields) public %(identifier)(ModelPart root) { %(model_parts) } public static LayerDefinition createBodyLayer() { MeshDefinition meshdefinition = new MeshDefinition(); PartDefinition partdefinition = meshdefinition.getRoot(); %(content) return LayerDefinition.create(meshdefinition, %(texture_width), %(texture_height)); } @Override public void setupAnim(%(entity) entity, float limbSwing, float limbSwingAmount, float ageInTicks, float netHeadYaw, float headPitch) { } @Override public void renderToBuffer(PoseStack poseStack, VertexConsumer vertexConsumer, int packedLight, int packedOverlay, float red, float green, float blue, float alpha) { %(renderers) } }`,field:"private final ModelPart %(bone);",model_part:`?(has_no_parent)this.%(bone) = root.getChild("%(bone)"); ?(has_parent)this.%(bone) = this.%(parent).getChild("%(bone)");`,bone:`?(has_no_parent)PartDefinition %(bone) = partdefinition.addOrReplaceChild("%(bone)", CubeListBuilder.create() ?(has_parent)PartDefinition %(bone) = %(parent).addOrReplaceChild("%(bone)", CubeListBuilder.create() %(remove_n)%(cubes) ?(has_rotation)%(remove_n), PartPose.offsetAndRotation(%(x), %(y), %(z), %(rx), %(ry), %(rz))); ?(has_no_rotation)%(remove_n), PartPose.offset(%(x), %(y), %(z)));`,renderer:"%(bone).render(poseStack, vertexConsumer, packedLight, packedOverlay, red, green, blue, alpha);",cube:".texOffs(%(uv_x), %(uv_y)){?(has_mirror).mirror()}.addBox(%(x), %(y), %(z), %(dx), %(dy), %(dz), new CubeDeformation(%(inflate))){?(has_mirror).mirror(false)}",animation_template:"mojang"},"1.17_yarn":{name:"Fabric 1.17+ (Yarn)",remember:!1,integer_size:!1,file:`// Made with Blockbench %(bb_version) // Exported for Minecraft version 1.17+ for Yarn // Paste this class into your mod and generate all required imports public class %(identifier) extends EntityModel<%(entity)> { %(fields) public %(identifier)(ModelPart root) { %(model_parts) } public static TexturedModelData getTexturedModelData() { ModelData modelData = new ModelData(); ModelPartData modelPartData = modelData.getRoot(); %(content) return TexturedModelData.of(modelData, %(texture_width), %(texture_height)); } @Override public void setAngles(%(entity) entity, float limbSwing, float limbSwingAmount, float ageInTicks, float netHeadYaw, float headPitch) { } @Override public void render(MatrixStack matrices, VertexConsumer vertexConsumer, int light, int overlay, float red, float green, float blue, float alpha) { %(renderers) } }`,field:"private final ModelPart %(bone);",model_part:`?(has_no_parent)this.%(bone) = root.getChild("%(bone)"); ?(has_parent)this.%(bone) = this.%(parent).getChild("%(bone)");`,bone:`?(has_no_parent)ModelPartData %(bone) = modelPartData.addChild("%(bone)", ModelPartBuilder.create() ?(has_parent)ModelPartData %(bone) = %(parent).addChild("%(bone)", ModelPartBuilder.create() %(remove_n)%(cubes) ?(has_rotation)%(remove_n), ModelTransform.of(%(x), %(y), %(z), %(rx), %(ry), %(rz))); ?(has_no_rotation)%(remove_n), ModelTransform.pivot(%(x), %(y), %(z)));`,renderer:"%(bone).render(matrices, vertexConsumer, light, overlay, red, green, blue, alpha);",cube:".uv(%(uv_x), %(uv_y)){?(has_mirror).mirrored()}.cuboid(%(x), %(y), %(z), %(dx), %(dy), %(dz), new Dilation(%(inflate))){?(has_mirror).mirrored(false)}",animation_template:"fabric"},get(i,e=Project.modded_entity_version){let t=wo[e][i];return typeof t=="string"&&(t=t.replace(/\t\t\t/g,"")),t},keepLine(i){return i.replace(/\?\(\w+\)/,"")},getVariableRegex(i){return new RegExp(`%\\(${i}\\)`,"g")}},Zd={mojang:{name:"Mojmaps",file:`// Save this class in your mod and generate all required imports /** * Made with Blockbench %(bb_version) * Exported for Minecraft version 1.19 or later with Mojang mappings * @author %(author) */ public class %(identifier)Animation { %(animations) }`,animation:"public static final AnimationDefinition %(name) = AnimationDefinition.Builder.withLength(%(length))%(looping)%(channels).build();",looping:".looping()",channel:'.addAnimation("%(name)", new AnimationChannel(%(channel_type), %(keyframes)))',keyframe_rotation:"new Keyframe(%(time), KeyframeAnimations.degreeVec(%(x), %(y), %(z)), %(interpolation))",keyframe_position:"new Keyframe(%(time), KeyframeAnimations.posVec(%(x), %(y), %(z)), %(interpolation))",keyframe_scale:"new Keyframe(%(time), KeyframeAnimations.scaleVec(%(x), %(y), %(z)), %(interpolation))",channel_types:{rotation:"AnimationChannel.Targets.ROTATION",position:"AnimationChannel.Targets.POSITION",scale:"AnimationChannel.Targets.SCALE"},interpolations:{linear:"AnimationChannel.Interpolations.LINEAR",catmullrom:"AnimationChannel.Interpolations.CATMULLROM"}},fabric:{name:"Yarn",file:`// Save this class in your mod and generate all required imports /** * Made with Blockbench %(bb_version) * Exported for Minecraft version 1.19 or later with Yarn mappings * @author %(author) */ public class %(identifier)Animation { %(animations) }`,animation:"public static final Animation %(name) = Animation.Builder.create(%(length))%(looping)%(channels).build();",looping:".looping()",channel:'.addBoneAnimation("%(name)", new Transformation(%(channel_type), %(keyframes)))',keyframe_rotation:"new Keyframe(%(time), AnimationHelper.createRotationalVector(%(x), %(y), %(z)), %(interpolation))",keyframe_position:"new Keyframe(%(time), AnimationHelper.createTranslationalVector(%(x), %(y), %(z)), %(interpolation))",keyframe_scale:"new Keyframe(%(time), AnimationHelper.createScalingVector(%(x), %(y), %(z)), %(interpolation))",channel_types:{rotation:"Transformation.Targets.ROTATE",position:"Transformation.Targets.TRANSLATE",scale:"Transformation.Targets.SCALE"},interpolations:{linear:"Transformation.Interpolations.LINEAR",catmullrom:"Transformation.Interpolations.CUBIC"}},get(i,e=Project.modded_entity_version){let t=wo.get("animation_template",e),n=Zd[t||"mojang"][i];return typeof n=="string"&&(n=n.replace(/\t\t\t/g,"")),n}};function QC(){return Project.geometry_name&&Project.geometry_name.replace(/[\s-]+/g,"_")||Project.name||"CustomModel"}function G5(){Blockbench.showMessageBox({translateKey:"cannot_re_import",buttons:["dialog.save","dialog.cancel"]},i=>{i==0&&BarItems.save_project.click()})}var kf=new Codec("modded_entity",{name:"Java Class",extension:"java",remember:!0,support_partial_export:!0,load_filter:{type:"text",extensions:["java"]},compile(i){let e=wo.getVariableRegex,t=QC(),n=getAllGroups(),a=[];if(Cube.all.forEach(s=>{s.export!=!1&&s.parent=="root"&&a.push(s)}),a.length){let s=new Group({name:"bb_main"});s.is_catch_bone=!0,s.createUniqueName(),n.push(s),s.children.replace(a)}n.slice().forEach(s=>{if(s.export==!1)return;let l=[],c=n.indexOf(s);s.children.forEachReverse(d=>{if(!(!(d instanceof Cube)||!d.export)&&!d.rotation.allEqual(0)){let u=l.find(p=>{if(!p.rotation.equals(d.rotation))return!1;if(p.rotation.filter(_=>_).length>1)return p.origin.equals(d.origin);for(var m=0;m<3;m++)if(p.rotation[m]==0&&p.origin[m]!=d.origin[m])return!1;return!0});u||(u=new Group({rotation:d.rotation,origin:d.origin,name:`${d.name}_r1`}),u.parent=s,u.is_rotation_subgroup=!0,u.createUniqueName(n),l.push(u),c++,n.splice(c,0,u)),u.children.push(d)}})});let o=wo.get("file");o=o.replace(e("bb_version"),Blockbench.version),o=o.replace(e("entity"),Project.modded_entity_entity_class||"Entity"),o=o.replace(e("identifier"),t),o=o.replace(e("identifier_rl"),t.toLowerCase().replace(" ","_")),o=o.replace(e("texture_width"),Project.texture_width),o=o.replace(e("texture_height"),Project.texture_height),o=o.replace(e("fields"),()=>{let s=wo.get("use_layer_definition"),l=[];for(var c of n){if(!(c instanceof Group)&&!c.is_catch_bone||!c.export||c.is_rotation_subgroup&&wo.get("model_part"))continue;let d=wo.get("field").replace(e("bone"),c.name);l.push(d)}return l.join(` `)}),o=o.replace(e("content"),()=>{let s=[];for(var l of n){if(!(l instanceof Group)&&!l.is_catch_bone||!l.export)continue;let d=wo.get("bone").replace(e("bone"),l.name).replace(/\n\?\(has_rotation\).+/,l.rotation.allEqual(0)?"":wo.keepLine).replace(/\n\?\(has_no_rotation\).+/,l.rotation.allEqual(0)?wo.keepLine:"");d=d.replace(e("rx"),Ro(Math.degToRad(-l.rotation[0]))).replace(e("ry"),Ro(Math.degToRad(-l.rotation[1]))).replace(e("rz"),Ro(Math.degToRad(l.rotation[2])));var c=l.origin.slice();l.parent instanceof Group&&c.V3_subtract(l.parent.origin),c[0]*=-1,Project.modded_entity_flip_y&&(c[1]*=-1,l.parent instanceof Group||(c[1]+=24)),d=d.replace(e("x"),Ro(c[0])).replace(e("y"),Ro(c[1])).replace(e("z"),Ro(c[2])).replace(/(?:\n|^)\?\(has_parent\).+/,l.parent instanceof Group?wo.keepLine:"").replace(/(?:\n|^)\?\(has_no_parent\).+/,l.parent instanceof Group?"":wo.keepLine).replace(/(?:\n|^)%\(remove_n\)/g,"").trim().replace(e("parent"),l.parent.name).replace(e("cubes"),()=>{let u=[];for(var p of l.children){if(!(p instanceof Cube)||!p.export||!p.rotation.allEqual(0)&&!l.is_rotation_subgroup)continue;let m=wo.get("cube").replace(e("bone"),l.name).replace(e("uv_x"),xy(p.uv_offset[0])).replace(e("uv_y"),xy(p.uv_offset[1])).replace(e("inflate"),Ro(p.inflate)).replace(/{\?\(has_mirror\)(.+?)}/g,p.mirror_uv==!0?"$1":"").replace(e("mirror"),p.mirror_uv);Project.modded_entity_flip_y?m=m.replace(e("x"),Ro(l.origin[0]-p.to[0])).replace(e("y"),Ro(-p.from[1]-p.size(1)+l.origin[1])).replace(e("z"),Ro(p.from[2]-l.origin[2])):m=m.replace(e("x"),Ro(l.origin[0]-p.to[0])).replace(e("y"),Ro(p.from[1]-l.origin[1])).replace(e("z"),Ro(p.from[2]-l.origin[2])),wo.get("integer_size")?m=m.replace(e("dx"),xy(p.size(0,!0))).replace(e("dy"),xy(p.size(1,!0))).replace(e("dz"),xy(p.size(2,!0))):m=m.replace(e("dx"),Ro(p.size(0,!1))).replace(e("dy"),Ro(p.size(1,!1))).replace(e("dz"),Ro(p.size(2,!1))),u.push(m)}return u.join(` `)}).replace(/\n/g,` `),s.push(d)}return s.join(` `)}),o=o.replace(e("model_parts"),()=>{let s=wo.get("model_part");if(s==null)return"";let l=[];for(let c of n){if(!(c instanceof Group)&&!c.is_catch_bone||!c.export||c.is_rotation_subgroup)continue;let d=s.replace(e("bone"),c.name).replace(/\t+/,"").replace(/(?:\n|^)\?\(has_parent\).+/,c.parent instanceof Group?wo.keepLine:"").replace(/(?:\n|^)\?\(has_no_parent\).+/,c.parent instanceof Group?"":wo.keepLine).trim().replace(e("parent"),c.parent.name);l.push(d)}return l.join(` `)}),o=o.replace(e("renderers"),()=>{let s=[];for(var l of n){if(!(l instanceof Group)&&!l.is_catch_bone||!l.export||!wo.get("render_subgroups")&&l.parent instanceof Group)continue;let c=wo.get("renderer").replace(e("bone"),l.name);s.push(c)}return s.join(` `)});let r={model:o,options:i};return this.dispatchEvent("compile",r),r.model},parse(i,e,t){this.dispatchEvent("parse",{model:i});var n=[];i.split(` `).forEach(d=>{d=d.replace(/\/\*[^(\*\/)]*\*\/|\/\/.*/g,"").trim().replace(/;$/,""),d&&n.push(d)});function a(d,u){d=d.replace(/\(/g,"\\(").replace(/\)/g,"\\)").replace(/\./g,"\\.");var p=d.split("$"),m=[],_=0,f=0;for(var g of p){if(f==0){var v=new RegExp("^"+g).exec(u);if(v==null)return;_=v[0].length}else{var b=g.substr(0,1);g=g.substr(1);var x="";switch(b){case"v":x="^[a-zA-Z_][a-zA-Z0-9_]+";break;case"i":x="^-?\\d+";break;case"f":x="^-?\\d+\\.?\\d*[Ff]";break;case"d":x="^-?\\d+\\.?\\d*";break;case"b":x="^true|false";break}var v=new RegExp(x+g).exec(u.substr(_));if(v==null)return;var w=new RegExp(x).exec(u.substr(_))[0];switch(b){case"v":m.push(w);break;case"i":m.push(parseInt(w));break;case"f":m.push(parseFloat(w.replace(/F$/,"")));break;case"d":m.push(parseFloat(w.replace(/F$/,"")));break;case"b":m.push(w=="true");break}_+=v[0].length}f++}return l=m,!0}var o=0,r={},s,l,c;n.forEach(d=>{if(o==0)/^public class/.test(d)&&(o=1,s=d.split(/[\s<>()\.]+/g)[2]);else if(o==1)if(d=d.replace(/public |static |final |private |void /g,"").trim(),d.substr(0,13)=="ModelRenderer"||d.substr(0,13)=="RendererModel"){let g=d.split(" ")[1];r[g]=new Group({name:g,origin:[0,24,0]}).init()}else d.substr(0,s.length)==s&&(o=2);else if(o==2){if(d=d.replace(/^this\./,""),l=void 0,d=="}")o--;else if(a("textureWidth = $i",d)||a("texWidth = $i",d))Project.texture_width=l[0];else if(a("textureHeight = $i",d)||a("texHeight = $i",d))Project.texture_height=l[0];else if(a("super($v, $i, $i)",d))Project.texture_width=l[1],Project.texture_height=l[2];else if(a("ModelRenderer $v = new ModelRenderer(this, $i, $i)",d)||a("RendererModel $v = new RendererModel(this, $i, $i)",d)||a("$v = new ModelRenderer(this, $i, $i)",d)||a("$v = new RendererModel(this, $i, $i)",d))r[l[0]]||(r[l[0]]=new Group({name:l[0],origin:[0,24,0]}).init()),c=[l[1],l[2]];else if(a("$v = new ModelRenderer(this)",d))r[l[0]]||(r[l[0]]=new Group({name:l[0],origin:[0,0,0]}).init());else if(a("$v.setRotationPoint($f, $f, $f)",d)||a("$v.setPos($f, $f, $f)",d)){var u=r[l[0]];u&&(u.extend({origin:[-l[1],24-l[2],l[3]]}),u.children.forEach(g=>{g instanceof Cube&&(g.from[0]+=u.origin[0],g.to[0]+=u.origin[0],g.from[1]+=u.origin[1]-24,g.to[1]+=u.origin[1]-24,g.from[2]+=u.origin[2],g.to[2]+=u.origin[2])}))}else if(a("$v.addChild($v)",d.replace(/\(this\./g,"("))){var p=r[l[1]],m=r[l[0]];p.addTo(m),p.origin.V3_add(m.origin),p.origin[1]-=24,p.children.forEach(g=>{g instanceof Cube&&(g.from[0]+=m.origin[0],g.to[0]+=m.origin[0],g.from[1]+=m.origin[1]-24,g.to[1]+=m.origin[1]-24,g.from[2]+=m.origin[2],g.to[2]+=m.origin[2])})}else if(a("$v.cubeList.add(new ModelBox($v, $i, $i, $f, $f, $f, $i, $i, $i, $f, $b))",d)||a("$v.cubes.add(new ModelBox($v, $i, $i, $f, $f, $f, $i, $i, $i, $f, $b))",d)){var _=r[l[0]],f=new Cube({name:l[0],uv_offset:[l[2],l[3]],from:[_.origin[0]-l[4]-l[7],_.origin[1]-l[5]-l[8],_.origin[2]+l[6]],inflate:l[10],mirror_uv:l[11]});f.extend({to:[f.from[0]+Math.floor(l[7]),f.from[1]+Math.floor(l[8]),f.from[2]+Math.floor(l[9])]}),f.addTo(r[l[0]]).init()}else if(a("$v.addBox($f, $f, $f, $i, $i, $i)",d)||a("$v.addBox($f, $f, $f, $i, $i, $i, $v)",d)||a("$v.addBox($f, $f, $f, $i, $i, $i, $f)",d)||a("$v.addBox($f, $f, $f, $f, $f, $f, $f, $f, $f)",d)){var _=r[l[0]],f=new Cube({name:l[0],uv_offset:c,from:[_.origin[0]-l[1]-l[4],_.origin[1]-l[2]-l[5],_.origin[2]+l[3]],inflate:typeof l[7]=="number"?l[7]:0,mirror_uv:_.mirror_uv});f.extend({to:[f.from[0]+Math.floor(l[4]),f.from[1]+Math.floor(l[5]),f.from[2]+Math.floor(l[6])]}),f.addTo(r[l[0]]).init()}else if(a("$v.setTextureOffset($i, $i).addBox($f, $f, $f, $f, $f, $f, $f, $b)",d)||a("$v.texOffs($i, $i).addBox($f, $f, $f, $f, $f, $f, $f, $b)",d)){var _=r[l[0]],f=new Cube({name:l[0],uv_offset:[l[1],l[2]],from:[_.origin[0]-l[3]-l[6],_.origin[1]-l[4]-l[7],_.origin[2]+l[5]],inflate:l[9],mirror_uv:l[10]});f.extend({to:[f.from[0]+Math.floor(l[6]),f.from[1]+Math.floor(l[7]),f.from[2]+Math.floor(l[8])]}),f.addTo(r[l[0]]).init()}else if(a("setRotationAngle($v, $f, $f, $f)",d)){var _=r[l[0]];_&&_.extend({rotation:[-Math.radToDeg(l[1]),-Math.radToDeg(l[2]),Math.radToDeg(l[3])]})}else if(a("setRotation($v, $f, $f, $f)",d)){var _=r[l[0]];_&&_.extend({rotation:[-Math.radToDeg(l[1]),-Math.radToDeg(l[2]),Math.radToDeg(l[3])]})}else if(a("setRotateAngle($v, $f, $f, $f)",d)){var _=r[l[0]];_&&_.extend({rotation:[-Math.radToDeg(l[1]),-Math.radToDeg(l[2]),Math.radToDeg(l[3])]})}else if(a("$v.rotateAngleX = $f",d)||a("$v.xRot = $f",d)){var _=r[l[0]];_&&(_.rotation[0]=-Math.radToDeg(l[1]))}else if(a("$v.rotateAngleY = $f",d)||a("$v.yRot = $f",d)){var _=r[l[0]];_&&(_.rotation[1]=-Math.radToDeg(l[1]))}else if(a("$v.rotateAngleZ = $f",d)||a("$v.zRot = $f",d)){var _=r[l[0]];_&&(_.rotation[2]=Math.radToDeg(l[1]))}else if(a("$v.mirror = $b",d)){var _=r[l[0]];_.mirror_uv=l[1],_.children.forEach(v=>{v.mirror_uv=l[1]})}}}),Project.geometry_name=s,this.dispatchEvent("parsed",{model:i}),Canvas.updateAllBones(),Validator.validate()},afterDownload(i){this.remember?Project.saved=!0:open_interface||G5(),Blockbench.showQuickMessage(tl("message.save_file",[i?pathToName(i,!0):this.fileName()]))},afterSave(i){var e=pathToName(i,!0);(Format.codec==this||this.id=="project")&&(Project.export_path=i,Project.export_codec=this.id,Project.name=pathToName(i,!1)),this.remember?(Project.saved=!0,addRecentProject({name:e,path:i,icon:this.id=="project"?"icon-blockbench_file":Format.icon}),updateRecentProjectThumbnail()):open_interface||G5(),Blockbench.showQuickMessage(tl("message.save_file",[e]))},fileName(){return QC()}});kf.templates=wo;kf.animation_templates=Zd;Object.defineProperty(kf,"remember",{get(){return!!Codecs.modded_entity.templates[Project.modded_entity_version].remember}});var roe=new AnimationCodec("modded_entity",{multiple_per_file:!0,compileFile(i=Animation.all){let e=wo.getVariableRegex,t=QC(),n=Zd.get("interpolations"),a=Zd.get("file");a=a.replace(e("bb_version"),Blockbench.version),a=a.replace(e("author"),Settings.get("username")||"Author"),a=a.replace(e("identifier"),t);let o=[];return i.forEach(r=>{let s=Zd.get("animation");s=s.replace(e("name"),r.name),s=s.replace(e("length"),Ro(r.length)),s=s.replace(e("looping"),r.loop=="loop"?Zd.get("looping"):"");let l=[],c=Zd.get("channel_types");for(let d in r.animators){let u=r.animators[d];if(u instanceof BoneAnimator)for(let p in c){let f=function(v,b,x,w,E){p=="position"&&(b*=-1),p=="rotation"&&(b*=-1,x*=-1);let y=Zd.get("keyframe_"+p);y=y.replace(e("time"),Ro(v)),y=y.replace(e("x"),Ro(b)),y=y.replace(e("y"),Ro(x)),y=y.replace(e("z"),Ro(w)),y=y.replace(e("interpolation"),n[E]||n.linear),_.push(y)};if(!(u[p]&&u[p].length))continue;let m=u[p].slice().sort((v,b)=>v.time-b.time),_=[];m.forEach((v,b)=>{if(f(v.time,v.calc("x"),v.calc("y"),v.calc("z"),v.interpolation),v.data_points[1])f(v.time+.001,v.calc("x",1),v.calc("y",1),v.calc("z",1),v.interpolation);else if(v.interpolation=="step"&&m[b+1]){let x=m[b+1];f(x.time-.001,v.calc("x"),v.calc("y"),v.calc("z"),"linear")}});let g=Zd.get("channel");g=g.replace(e("name"),u.name),g=g.replace(e("channel_type"),c[p]),g=g.replace(e("keyframes"),` `+_.join(`, `)+` `),l.push(g)}}s=s.replace(e("channels"),` `+l.join(` `)+` `),o.push(s)}),a=a.replace(e("animations"),o.join(` `)),a}}),F1=new ModelFormat({id:"modded_entity",icon:"icon-format_java",category:"minecraft",target:"Minecraft: Java Edition",format_page:{content:[{type:"h3",text:tl("mode.start.format.informations")},{text:`* ${tl("format.modded_entity.info.integer_size")} * ${tl("format.modded_entity.info.format")}`.replace(/\t+/g,"")}]},codec:kf,animation_codec:roe,node_name_regex:"\\w",box_uv:!0,box_uv_float_size:!0,single_texture:!0,bone_rig:!0,centered_grid:!0,rotate_cubes:!0,integer_size:!0,animation_mode:!0,pbr:!0});Object.defineProperty(F1,"integer_size",{get:i=>wo.get("integer_size")||settings.modded_entity_integer_size.value});kf.format=F1;BARS.defineActions(function(){new Action({id:"export_class_entity",icon:"free_breakfast",category:"file",condition:()=>Format==F1,click:function(){kf.export()}}),new Action("export_modded_animations",{icon:"free_breakfast",category:"file",condition:()=>Format==F1,click(){let i={},e=[],t=Animation.all.slice();Format.animation_files&&t.sort((a,o)=>a.path.hashCode()-o.path.hashCode()),t.forEach(a=>{let o=a.name;e.push(o),i[o.hashCode()]={label:o,type:"checkbox",value:!0}});let n=new Dialog({id:"animation_export",title:"dialog.animation_export.title",form:i,onConfirm(a){n.hide(),e=e.filter(s=>a[s.hashCode()]);let o=e.map(s=>Animation.all.find(l=>l.name==s)),r=AnimationCodec.codecs.modded_entity.compileFile(o);Blockbench.export({resource_id:"modded_animation",type:"Modded Entity Animation",extensions:["java"],name:Project.geometry_name||"model",content:r})}});i.select_all_none={type:"buttons",buttons:["generic.select_all","generic.select_none"],click(a){let o={};e.forEach(r=>o[r.hashCode()]=a==0),n.setFormValues(o)}},n.show()}})});var U1=new Codec("optifine_entity",{name:"OptiFine JEM",extension:"jem",remember:!0,support_partial_export:!0,load_filter:{type:"json",extensions:["jem"],condition(i){return i&&i.models!=null}},compile(i){i===void 0&&(i={});var e={};(Project.credit||settings.credit.value)&&(e.credit=Project.credit||settings.credit.value);function t(r){let s=r.name;return r.folder&&(s=r.folder+"/"+s),r.namespace&&r.namespace!="minecraft"&&(s=r.namespace+":"+s),s}function n(r){return Group.all.find(s=>s.export&&s.texture==r.uuid)}e.textureSize=[Project.texture_width,Project.texture_height];let a=Texture.getDefault();if(a&&(a.use_as_default||settings.optifine_save_default_texture.value&&!n(a))){let r=Texture.getDefault();e.texture=t(Texture.getDefault()),e.textureSize=[r.uv_width,r.uv_height]}else a=null;Project.shadow_size!=1&&(e.shadowSize=Project.shadow_size),e.models=[];function o(r){if(!settings.export_empty_groups.value&&!r.children.find(c=>c.export))return;var s={part:r.name,id:r.name,invertAxis:"xy",mirrorTexture:void 0,translate:r.origin.slice()};s.translate.V3_multiply(-1),r.rotation.allEqual(0)||(s.rotate=r.rotation.slice()),r.mirror_uv&&(s.mirrorTexture="u"),r.cem_attach&&(s.attach=!0),r.cem_model&&(s.model=r.cem_model),r.cem_scale&&(s.scale=r.cem_scale);function l(c,d,u,p){if(d.children.length===0)return;let m,_=d.children.filter(v=>v.export&&v.type==="cube"),f=!!_.find(v=>v.mirror_uv!==_[0].mirror_uv),g=p;if(d.texture){let v=Texture.all.find(b=>b.uuid==d.texture);v&&(g=v)}g&&g!=p&&(c.texture=t(g),(!p||g.uv_width!=p.uv_width||g.uv_height!=p.uv_height)&&(c.textureSize=[g.uv_width,g.uv_height])),d.children.forEach(v=>{if(v.export){if(v.type==="cube"){if(v.box_uv)var b=new oneLiner;else var b={};var x=v.size();if(b.coordinates=[v.from[0],v.from[1],v.from[2],x[0],x[1],x[2]],c&&c.part===void 0&&(b.coordinates[0]-=c.translate[0],b.coordinates[1]-=c.translate[1],b.coordinates[2]-=c.translate[2]),v.box_uv)b.textureOffset=v.uv_offset;else for(let E in v.faces)if(v.faces[E].texture!==null){let y=v.faces[E].uv;b[`uv${capitalizeFirstLetter(E)}`]=y}v.inflate&&typeof v.inflate=="number"&&(b.sizeAdd=v.inflate),v.mirror_uv!==d.mirror_uv&&f?(m||(m={invertAxis:"xy",mirrorTexture:"u",boxes:[]},c.submodels||(c.submodels=[]),c.submodels.splice(0,0,m)),m.boxes.push(b)):(c.boxes||(c.boxes=[]),v.mirror_uv!==d.mirror_uv&&(c.mirrorTexture=v.mirror_uv?"u":void 0),c.boxes.push(b))}else if(v.type==="group"){var w={id:v.name,invertAxis:"xy",mirrorTexture:void 0,translate:v.origin.slice()};v.mirror_uv&&(w.mirrorTexture="u"),v.rotation.allEqual(0)||(w.rotate=v.rotation.slice()),l(w,v,u+1,g),u>=1&&(w.translate[0]-=d.origin[0],w.translate[1]-=d.origin[1],w.translate[2]-=d.origin[2]),c.submodels||(c.submodels=[]),c.submodels.push(w)}}})}l(s,r,0,a),r.cem_animations&&r.cem_animations.length&&(s.animations=r.cem_animations),e.models.push(s)}if(i.build_part)o({name:Project.name,origin:[0,0,0],rotation:[0,0,0],children:Outliner.root.filter(r=>r.export)});else for(let r of Outliner.root)r instanceof Group&&r.export&&o(r);return this.dispatchEvent("compile",{entitymodel:e,options:i}),i.raw?e:autoStringify(e)},parse(i,e){this.dispatchEvent("parse",{model:i});let t={};function n(r,s){if(typeof r!="string")return;if(t[r])return t[r];let l=r.replace(/[\\/]/g,osfs),c="";if(l.includes(":")&&([c,l]=l.split(":")),l.match(/^textures/)&&e.includes("optifine")?l=e.replace(/[\\/]optifine[\\/].+$/i,osfs+l):e.includes(osfs)&&(l=e.replace(/[\\/][^\\/]+$/,osfs+l)),l.match(/\.\w{3,4}$/)||(l=l+".png"),c){let u=l.split(/[\\/]/),p=u.indexOf("assets");p>0&&u[p+1]&&(u[p+1]=c),l=u.join(osfs)}let d=new Texture().fromPath(l).add(!1);return c&&!d.namespace&&(d.namespace=c),t[r]=d,s instanceof Array&&d.extend({uv_width:s[0],uv_height:s[1]}),d}typeof i.credit=="string"&&(Project.credit=i.credit),i.textureSize&&(Project.texture_width=parseInt(i.textureSize[0])||16,Project.texture_height=parseInt(i.textureSize[1])||16);let a=n(i.texture,i.textureSize);a&&(a.use_as_default=!0),typeof i.shadowSize=="number"&&(Project.shadow_size=i.shadowSize);let o={uv:[0,0,0,0],texture:null};i.models&&i.models.forEach(function(r){if(typeof r!="object")return;let s=0,l=n(r.texture,r.textureSize),c=0;i._is_jpm||(c=new Group({name:r.part,origin:r.translate,rotation:r.rotate,mirror_uv:r.mirrorTexture&&r.mirrorTexture.includes("u"),cem_animations:r.animations,cem_attach:r.attach,cem_model:r.model,cem_scale:r.scale,texture:l?l.uuid:void 0}),c.origin.V3_multiply(-1),c.init().addTo());function d(u,p,m,_){u.boxes&&u.boxes.length&&u.boxes.forEach(f=>{var g=new Cube({name:f.name||p.name,autouv:0,uv_offset:f.textureOffset,box_uv:!!f.textureOffset,inflate:f.sizeAdd,mirror_uv:p.mirror_uv});if(f.coordinates&&g.extend({from:[f.coordinates[0],f.coordinates[1],f.coordinates[2]],to:[f.coordinates[0]+f.coordinates[3],f.coordinates[1]+f.coordinates[4],f.coordinates[2]+f.coordinates[5]]}),!f.textureOffset&&(f.uvNorth||f.uvEast||f.uvSouth||f.uvWest||f.uvUp||f.uvDown)&&g.extend({box_uv:!1,faces:{north:f.uvNorth?{uv:f.uvNorth}:o,east:f.uvEast?{uv:f.uvEast}:o,south:f.uvSouth?{uv:f.uvSouth}:o,west:f.uvWest?{uv:f.uvWest}:o,up:f.uvUp?{uv:f.uvUp}:o,down:f.uvDown?{uv:f.uvDown}:o}}),p&&(p.parent!=="root"||i._is_jpm))for(var v=0;v<3;v++)g.from[v]+=p.origin[v],g.to[v]+=p.origin[v];g.addTo(p).init()}),u.submodels&&u.submodels.length&&u.submodels.forEach(f=>{m>=1&&f.translate&&(f.translate[0]+=p.origin[0],f.translate[1]+=p.origin[1],f.translate[2]+=p.origin[2]);let g=n(f.texture,f.textureSize),v=new Group({name:f.id||f.comment||`${r.part??"part"}_sub_${s}`,origin:f.translate||(m>=1?u.translate:void 0),rotation:f.rotate,mirror_uv:f.mirrorTexture&&f.mirrorTexture.includes("u"),texture:(g||_)?.uuid});s++,v.addTo(p).init(),d(f,v,m+1,g||_)})}d(r,c,0,l||a)}),Project.box_uv=Cube.all.filter(r=>r.box_uv).length>Cube.all.length/2,this.dispatchEvent("parsed",{model:i}),Canvas.updateAllBones(),Validator.validate()}}),eP=new ModelFormat({id:"optifine_entity",extension:"jem",icon:"icon-format_optifine",category:"minecraft",target:"Minecraft: Java Edition with OptiFine",format_page:{content:[{type:"h3",text:tl("mode.start.format.informations")},{text:`* ${tl("format.optifine_entity.info.optifine_required")} * ${tl("format.optifine_entity.info.pivots")}`.replace(/\t+/g,"")},{type:"h3",text:tl("mode.start.format.resources")},{text:"* [OptiFine Modeling and Animation Tutorial](https://youtu.be/arj2eim42KI)"}]},model_identifier:!1,box_uv:!0,optional_box_uv:!0,per_group_texture:!0,single_texture_default:!0,per_texture_uv_size:!0,integer_size:!0,bone_rig:!0,centered_grid:!0,texture_folder:!0,pbr:!0,codec:U1});Object.defineProperty(eP,"integer_size",{get:i=>Project.box_uv});U1.format=eP;BARS.defineActions(function(){U1.export_action=new Action("export_optifine_full",{icon:"icon-optifine_file",category:"file",condition:()=>Format==eP,click:function(){U1.export()}})});var ky=new Codec("optifine_part",{name:"OptiFine Part",extension:"jpm",remember:!0,support_partial_export:!0,load_filter:{type:"json",extensions:["jpm"]},compile(i){let e=i??0;i=i?Object.assign({},i):{},i.raw=!0,i.build_part=!0;let t=Codecs.optifine_entity.compile(i),n=t.models[0];return n.credit=t.credit,n.textureSize||(n.textureSize=t.textureSize),n.id==""&&delete n.id,delete n.part,this.dispatchEvent("compile",{model:n,original_options:e}),e.raw?n:autoStringify(n)},parse(i,e){this.dispatchEvent("parse",{model:i}),typeof i.credit=="string"&&(Project.credit=i.credit),i.textureSize&&(Project.texture_width=parseInt(i.textureSize[0])||16,Project.texture_height=parseInt(i.textureSize[1])||16);let t={_is_jpm:!0,invertAxis:"xy",models:[i]};Codecs.optifine_entity.parse(t,e),this.dispatchEvent("parsed",{model:i})}}),tP=new ModelFormat({name:"OptiFine Part",id:"optifine_part",extension:"jpm",icon:"icon-format_optifine",category:"minecraft",show_on_start_screen:!1,model_identifier:!1,box_uv:!0,optional_box_uv:!0,per_group_texture:!0,single_texture_default:!0,per_texture_uv_size:!0,integer_size:!0,bone_rig:!0,centered_grid:!0,texture_folder:!0,pbr:!0,codec:ky});Object.defineProperty(tP,"integer_size",{get:i=>Project.box_uv});ky.format=tP;BARS.defineActions(function(){ky.export_action=new Action("export_optifine_part",{name:"Export OptiFine Part",description:"Export a single part for an OptiFine model",icon:"icon-optifine_file",category:"file",condition:()=>Format==tP,click:function(){ky.export()}}),new Action("import_optifine_part",{icon:"icon-optifine_file",category:"file",condition:()=>Format.id=="optifine_entity"||Format.id=="optifine_part",click:function(){Blockbench.import({resource_id:"model",extensions:["jpm"],type:"JPM Entity Part Model",multiple:!0},function(i){i.forEach(e=>{var t=autoParseJSON(e.content,{file_path:e.path});ky.parse(t,e.path)})})}})});var bt={},soe={none:{Waist:[0,0,0],Head:[0,0,0],Body:[0,0,0],RightArm:[0,0,0],LeftArm:[0,0,0],RightLeg:[0,0,0],LeftLeg:[0,0,0]},natural:{Waist:[0,0,0],Head:[6,-5,0],Body:[0,0,0],RightArm:[10,0,0],LeftArm:[-12,0,0],RightLeg:[-11,0,2],LeftLeg:[10,0,-2]},walking:{Waist:[0,0,0],Head:[-2,0,0],Body:[0,0,0],RightArm:[-35,0,0],LeftArm:[35,0,0],RightLeg:[42,0,2],LeftLeg:[-42,0,-2]},crouching:{Waist:{rotation:[-28,0,0],offset:[0,-1,1]},Head:{rotation:[23,0,0],offset:[0,-3,1]},Body:{rotation:[0,0,0],offset:[0,-1,1]},RightArm:{rotation:[12,0,0],offset:[0,-1,1]},LeftArm:{rotation:[-20,0,0],offset:[0,-1,1]},RightLeg:[-14,0,0],LeftLeg:[14,0,0]},sitting:{Waist:[0,0,0],Head:[5.5,0,0],Body:[0,0,0],RightArm:[36,0,0],LeftArm:[36,0,0],RightLeg:[72,-18,0],LeftLeg:[72,18,0]},jumping:{Waist:[0,0,0],Head:[20,0,0],Body:[0,0,0],RightArm:{rotation:[-175,0,-20],offset:[0,2,0]},LeftArm:{rotation:[-170,0,15],offset:[0,2,0]},RightLeg:{rotation:[-5,0,15],offset:[0,-1,0]},LeftLeg:{rotation:[2.5,0,-10],offset:[0,6,-3.75]}},aiming:{Waist:[0,0,0],Head:[8,-35,0],Body:[-2,0,0],RightArm:{rotation:[97,-17,-2],offset:[-1,1,-1]},LeftArm:[104,-44,-10],RightLeg:{rotation:[2.5,0,0],offset:[0,1,-2]},LeftLeg:[-28,0,0]}},wy=new Codec("skin_model",{name:"Skin Model",remember:!1,compile(i){i===void 0&&(i=0);let e={name:Project.geometry_name.replace(/\./,"_"),texturewidth:Project.texture_width,textureheight:Project.texture_height,external_textures:Texture.all.filter(a=>a.pbr_channel=="color").map(a=>a.path.replace(/\\/g,"/").split("textures/")[1]),eyes:[[5,5],[9,5]],bones:void 0},t=[];return uC().forEach(function(a){if(a.type!=="group")return;let o={name:a.name};o.name=a.name,a.parent.type==="group"&&(o.parent=a.parent.name),o.pivot=a.origin.slice(),o.pivot[0]*=-1,a.rotation.allEqual(0)||(o.rotation=[-a.rotation[0],-a.rotation[1],a.rotation[2]]),a.reset&&(o.reset=!0),a.mirror_uv&&(o.mirror=!0);let r=[];for(let s of a.children)if(s.export&&s instanceof Cube){let l=Codecs.bedrock.compileCube(s,a);r.push(l)}r.length&&(o.cubes=r),t.push(o)}),t.length&&(e.bones=t),this.dispatchEvent("compile",{model:e,options:i}),e},parse(i,e,t,n=!0,a){this.dispatchEvent("parse",{model:i}),Project.texture_width=i.texturewidth||64,Project.texture_height=i.textureheight||64,i.texture_resolution_factor&&(e*=i.texture_resolution_factor),Interface.Panels.skin_pose.inside_vue.pose=Project.skin_pose=n?"natural":"none";let o={},r={};if(i.bones){let l=[];i.bones.forEach(function(c){l.push(c.name)}),i.bones.forEach(function(c,d){let u=new Group({name:c.name,origin:c.pivot,rotation:n&&c.pose?c.pose:c.rotation}).init();u.isOpen=!0,o[c.name]=u,c.pivot&&(u.origin[0]*=-1),u.rotation[0]*=-1,u.rotation[1]*=-1,u.mirror_uv=c.mirror===!0,u.reset=c.reset===!0,u.skin_original_origin=u.origin.slice(),c.cubes&&c.cubes.forEach(function(m){let _=Codecs.bedrock.parseCube(m,u);r[Cube.all.indexOf(_)]=m}),c.children&&c.children.forEach(function(m){m.addTo(u)});let p="root";c.parent&&(o[c.parent]?p=o[c.parent]:i.bones.forEach(function(m){m.name===c.parent&&(m.children&&m.children.length?m.children.push(u):m.children=[u])})),u.addTo(p)})}Cube.all.find(l=>l.box_uv)||(Project.box_uv=!1);let s;typeof t=="object"?s=new Texture().fromFile(t).add(!1):t!=!1&&e&&(s=loe(Project.texture_width*e,Project.texture_height*e,r,i.name,i.eyes,a));for(let l in r)r[l].visibility===!1&&(Cube.all[l].visibility=!1);s&&(s.load_callback=function(){Modes.options.paint.select()}),i.camera_angle&&main_preview.loadAnglePreset(Xa.find(l=>l.id==i.camera_angle)),Canvas.updateAllBones(),Canvas.updateVisibility(),rc(),updateSelection()}});wy.export=null;wy.rebuild=function(i,e){let[t,n]=i.split("."),a=bt[t],o=a.model||(n=="java"?a.model_java:a.model_bedrock)||a.variants[n].model,r=JSON.parse(o);wy.parse(r,void 0,!0,e&&e!=="none"),e&&e!=="none"&&e!=="natural"&&setTimeout(()=>{W5(e)},1)};var O1=new ModelFormat("skin",{icon:"icon-player",category:"minecraft",target:["Minecraft: Java Edition","Minecraft: Bedrock Edition"],format_page:{content:[{type:"h3",text:tl("mode.start.format.informations")},{text:`* ${tl("format.skin.info.skin")} * ${tl("format.skin.info.model")}`.replace(/\t+/g,"")},{type:"h3",text:tl("mode.start.format.resources")},{text:"* [Skin Design Tutorial](https://youtu.be/xC81Q3HGraE)"}]},can_convert_to:!1,model_identifier:!1,bone_rig:!0,box_uv:!0,centered_grid:!0,single_texture:!0,integer_size:!0,rotate_cubes:!1,edit_mode:!1,pose_mode:!0,codec:wy});O1.new=function(){return nP.show(),!0};function W5(i){let e=soe[i];K5(e),zn.skin_pose.inside_vue.pose=i,Project.skin_pose=i}function K5(i){zn.skin_pose.inside_vue.pose="",Group.all.forEach(e=>{if(!e.skin_original_origin)return;let t=i[e.name]||i[e.name.replace(/\s/g,"")]||{rotation:[0,0,0],offset:[0,0,0]};t instanceof Array&&(t={rotation:t,offset:[0,0,0]});let n=e.skin_original_origin.slice().V3_subtract(e.origin);n.V3_add(t.offset),e.extend({rotation:t.rotation}),e.origin.V3_add(n);let a=e.children.filter(o=>o instanceof Cube);for(let o of a)o.origin.V3_add(n),o.from.V3_add(n),o.to.V3_add(n)}),Canvas.updateView({groups:Group.all,group_aspects:{transform:!0},elements:Outliner.elements,element_aspects:{transform:!0},selection:!0})}function q5(){let i={};for(let e of Group.all){if(!e.skin_original_origin)continue;let t=e.origin.slice().V3_subtract(e.skin_original_origin),n=e.rotation.slice();t.allEqual(0)==!1?i[e.name]={offset:t,rotation:n}:n.allEqual(0)==!1&&(i[e.name]=n)}return i}function loe(i=64,e=64,t,n="name",a,o){let r=new Texture({internal:!0,name:n+".png"}),s=document.createElement("canvas"),l=s.getContext("2d");if(s.width=i,s.height=e,Project.box_uv?Cube.all.forEach((d,u)=>{let p=t[u];(o||!p.layer)&&Sa.paintCubeBoxTemplate(d,r,s,null,p.layer)}):t[0]&&!t[0].layer&&(l.fillStyle=Sa.face_data.up.c1,l.fillRect(0,0,i,e),l.fillStyle=Sa.face_data.up.c2,l.fillRect(1,1,i-2,e-2)),a){let d=s.width/Project.texture_width;l.fillStyle="#cdefff",a.forEach(u=>{l.fillRect(u[0]*d,u[1]*d,(u[2]||2)*d,(u[3]||2)*d)})}let c=s.toDataURL();return r.fromDataURL(c).add(!1),r}var $5={},iP="",nP=new Dialog({title:tl("dialog.skin.title"),id:"skin",form:{model:{label:"dialog.skin.model",type:"select",options:$5},game_edition:{label:"dialog.skin.variant",type:"inline_select",default:"java_edition",options:{java_edition:"Java Edition",bedrock_edition:"Bedrock Edition"},condition(i){return!!bt[i.model].model_bedrock}},variant:{label:"dialog.skin.variant",type:"select",options(){return iP&&bt[iP].variants||{}},condition(i){return!!bt[i.model].variants}},resolution:{label:"dialog.create_texture.resolution",type:"select",value:1,options:{1:"generic.default",16:"16x",32:"32x",64:"64x",128:"128x"}},resolution_warning:{type:"info",text:"dialog.skin.high_res_texture",condition:i=>i.resolution>16&&(i.model=="steve"||i.model=="alex")},texture_source:{label:"dialog.skin.texture_source",type:"select",options:{template:"dialog.skin.texture_source.template",load_texture:navigator.onLine?"dialog.skin.texture_source.load_texture":void 0,upload_texture:"dialog.skin.texture_file"}},texture_file:{label:"dialog.skin.texture_file",condition:i=>i.texture_source=="upload_texture",type:"file",extensions:["png"],readtype:"image",filetype:"PNG",return_as:"file"},pose:{type:"checkbox",label:"dialog.skin.pose",value:!0,condition:i=>!!bt[i.model].pose},layer_template:{type:"checkbox",label:"dialog.skin.layer_template",value:!1}},onFormChange(i){iP=i.model;let e=bt[i.model].variants;if(e){for(let t in e)if(!i.variant||!e[i.variant]){i.variant=t,nP.setFormValues({variant:t},!1);break}}},onConfirm:function(i){if(i.model=="flat_texture")i.texture?Codecs.image.load(i.texture):Formats.image.new();else if(newProject(O1)){let e=bt[i.model],t;e.model_bedrock?t=i.game_edition=="java_edition"?e.model_java:e.model_bedrock:e.variants?t=e.variants[i.variant].model:t=e.model;let n=JSON.parse(t),a=i.resolution;a==1&&(a=n.default_resolution??16);let o;i.texture_source=="upload_texture"?o=i.texture_file:i.texture_source=="load_texture"&&(n.external_textures?navigator.onLine?o=!1:he.showQuickMessage("Failed to load skin texture from Minecraft. Check your internet connection.",3e3):he.showQuickMessage("This skin model does not support loading textures from Minecraft at the moment",3e3)),wy.parse(n,a/16,o,i.pose,i.layer_template),Project.skin_model=i.model,e.model_bedrock?Project.skin_model+="."+(i.game_edition=="java_edition"?"java":"bedrock"):e.variants&&(Project.skin_model+="."+i.variant),i.texture_source=="load_texture"&&navigator.onLine&&my.promptUser("skin").then(async function(r){if(r==!0&&n.external_textures)for(let s of n.external_textures){let l=new Bb,c=`https://raw.githubusercontent.com/Mojang/bedrock-samples/preview/resource_pack/textures/${s}?raw=true`,d;s.endsWith(".tga")?d=fetch(c).then(u=>u.arrayBuffer()).then(u=>l.loadFromTGA(new Uint8Array(u))):d=l.loadFromURL(c),d.then(()=>{let u=l.canvas.toDataURL();new Texture({internal:!0,name:pathToName(s,!0)}).fromDataURL(u).add(!1)})}})}},onCancel(){he.Format=0,Settings.updateSettingsInProfiles()}});O1.setup_dialog=nP;Ba.init("skin_poses","array");BARS.defineActions(function(){new Mode("pose",{icon:"emoji_people",default_tool:"rotate_tool",category:"navigate",condition:()=>Format&&Format.pose_mode}),new Action("toggle_skin_layer",{icon:"layers_clear",category:"edit",condition:{formats:["skin"]},click:function(){let e=[];if(Cube.all.forEach(n=>{n.name.toLowerCase().includes("layer")&&e.push(n)}),!e.length)return;Undo.initEdit({elements:e});let t=!e[0].visibility;e.forEach(n=>{n.visibility=t}),Undo.finishEdit("Toggle skin layer"),Canvas.updateVisibility()}}),new Action("convert_minecraft_skin_variant",{icon:"compare_arrows",category:"edit",condition:{formats:["skin"],method:()=>!!Group.all.find(e=>e.name=="Right Arm")},click(){let e=Cube.all.find(t=>t.name.match(/arm/i)).size(0)==3;new Dialog("convert_minecraft_skin_variant",{title:"action.convert_minecraft_skin_variant",form:{model:{label:"dialog.skin.model",type:"select",value:e?"steve":"alex",options:{steve:bt.steve.display_name,alex:bt.alex.display_name}},adjust_texture:{label:"dialog.convert_skin.adjust_texture",type:"checkbox",value:!0}},onConfirm(t){let n=Group.all.find(r=>r.name=="Right Arm")?.children?.filter(r=>r instanceof Cube)??[],a=Group.all.find(r=>r.name=="Left Arm")?.children?.filter(r=>r instanceof Cube)??[],o=n.concat(a);Undo.initEdit({elements:o});for(let r of n)r.to[0]=t.model=="alex"?7:8;for(let r of a)r.from[0]=t.model=="alex"?-7:-8;if(Canvas.updateView({elements:n.concat(a),element_aspects:{geometry:!0,uv:!0},selection:!0}),Undo.finishEdit("Convert Minecraft skin model"),t.adjust_texture){let r=Texture.all.filter(c=>c.selected||c.multi_selected);if(r.length||(r=[Texture.getDefault()]),!r[0])return;let s=[[40,16],[40,32],[32,48],[48,48]],l;t.model=="alex"?l=[{area:[6,0,10,16],offset:[-1,0]},{area:[9,0,2,4],offset:[-1,0]},{area:[13,4,2,12],offset:[-1,0]}]:l=[{area:[5,0,10,16],offset:[1,0]},{area:[9,0,2,4],offset:[1,0]},{area:[13,4,2,12],offset:[1,0]}],Undo.initEdit({textures:r,bitmap:!0});for(let c of r)c.layers_enabled&&(c.layers_enabled=!1,c.selected_layer=null,c.layers.empty()),c.edit(()=>{let d=c.ctx;for(let u of s){for(let p of l){let m=d.getImageData(u[0]+p.area[0],u[1]+p.area[1],p.area[2],p.area[3]);d.putImageData(m,u[0]+p.area[0]+p.offset[0],u[1]+p.area[1]+p.offset[1])}t.model=="alex"&&(d.clearRect(u[0]+10,u[1]+0,2,4),d.clearRect(u[0]+14,u[1]+4,2,12))}},{no_undo:!0});UVEditor.vue.layer=null,updateSelection(),Undo.finishEdit("Convert Minecraft skin texture")}}}).show()}}),new Action("export_minecraft_skin",{icon:"icon-player",category:"file",condition:()=>Format==O1&&!!Texture.all[0],click:function(){Texture.all[0].save(!0)}});let i=new Toggle("explode_skin_model",{icon:()=>"open_in_full",category:"edit",condition:{formats:["skin"]},default:!1,onChange(e){Undo.initEdit({elements:Cube.all,exploded_view:!e}),Cube.all.forEach(t=>{let n=[t.from[0]+(t.to[0]-t.from[0])/2,t.from[1],t.from[2]+(t.to[2]-t.from[2])/2],a=t.name.toLowerCase().includes("leg")?1:.5;n.V3_multiply(e?a:-a/(1+a)),t.from.V3_add(n),t.to.V3_add(n)}),Project.exploded_view=e,Undo.finishEdit(e?"Explode skin model":"Revert exploding skin model",{elements:Cube.all,exploded_view:e}),Canvas.updateView({elements:Cube.all,element_aspects:{geometry:!0}}),this.setIcon(this.icon)}});he.on("select_project",()=>{i.value=!!Project.exploded_view,i.updateEnabledState()}),new Action("custom_skin_poses",{icon:"format_list_bulleted",category:"view",condition:{formats:["skin"],modes:["pose"]},click(e){new Menu(this.children()).open(e.target)},children(){let e=[],t=Ba.get("skin_poses");return t.forEach((n,a)=>{let o={name:n.name,icon:"accessibility",id:a.toString(),click(){K5(n.data)},children:[{icon:"update",name:"action.custom_skin_poses.update",description:"action.custom_skin_poses.update.desc",click(){n.data=q5(),Ba.save("skin_poses")}},{icon:"delete",name:"generic.delete",click(){t.remove(n),Ba.save("skin_poses")}}]};e.push(o)}),e.push("_","add_custom_skin_pose"),e}}),new Action("add_custom_skin_pose",{icon:"add",category:"view",condition:{formats:["skin"],modes:["pose"]},click(e){he.textPrompt("generic.name","new pose",t=>{let n={name:t,data:q5()};Ba.get("skin_poses").push(n),Ba.save("skin_poses")})}})});Interface.definePanels(function(){new Ml("skin_pose",{icon:"icon-player",condition:{modes:["pose"]},default_position:{slot:"right_bar",float_position:[0,0],float_size:[300,80],height:80,sidebar_index:1},toolbars:[new Toolbar("skin_pose",{children:["custom_skin_poses","add_custom_skin_pose"]})],component:{data(){return{pose:"default"}},methods:{setPose(i){W5(i)}},template:`
    `}})});bt.steve={display_name:"Player - Wide",pose:!0,model:`{ "name": "steve", "texturewidth": 64, "textureheight": 64, "eyes": [ [9, 11], [13, 11] ], "bones": [ { "name": "Waist", "color": 0, "pivot": [0, 12, 0], "pose": [0, 0, 0] }, { "name": "Head", "parent": "Waist", "color": 1, "pivot": [0, 24, 0], "pose": [-6, 5, 0], "cubes": [ {"name": "Head", "origin": [-4, 24, -4], "size": [8, 8, 8], "uv": [0, 0]}, {"name": "Hat Layer", "visibility": false, "origin": [-4, 24, -4], "size": [8, 8, 8], "uv": [32, 0], "inflate": 0.5, "layer": true} ] }, { "name": "Body", "parent": "Waist", "color": 3, "pivot": [0, 24, 0], "cubes": [ {"name": "Body", "origin": [-4, 12, -2], "size": [8, 12, 4], "uv": [16, 16]}, {"name": "Body Layer", "visibility": false, "origin": [-4, 12, -2], "size": [8, 12, 4], "uv": [16, 32], "inflate": 0.25, "layer": true} ] }, { "name": "Right Arm", "parent": "Waist", "color": 5, "pivot": [-5, 22, 0], "pose": [-10, 0, 0], "cubes": [ {"name": "Right Arm", "origin": [-8, 12, -2], "size": [4, 12, 4], "uv": [40, 16]}, {"name": "Right Arm Layer", "visibility": false, "origin": [-8, 12, -2], "size": [4, 12, 4], "uv": [40, 32], "inflate": 0.25, "layer": true} ] }, { "name": "Left Arm", "parent": "Waist", "color": 0, "pivot": [5, 22, 0], "pose": [12, 0, 0], "cubes": [ {"name": "Left Arm", "origin": [4, 12, -2], "size": [4, 12, 4], "uv": [32, 48]}, {"name": "Left Arm Layer", "visibility": false, "origin": [4, 12, -2], "size": [4, 12, 4], "uv": [48, 48], "inflate": 0.25, "layer": true} ] }, { "name": "Right Leg", "color": 6, "pivot": [-1.9, 12, 0], "pose": [11, 0, 2], "cubes": [ {"name": "Right Leg", "origin": [-3.9, 0, -2], "size": [4, 12, 4], "uv": [0, 16]}, {"name": "Right Leg Layer", "visibility": false, "origin": [-3.9, 0, -2], "size": [4, 12, 4], "uv": [0, 32], "inflate": 0.25, "layer": true} ] }, { "name": "Left Leg", "color": 7, "pivot": [1.9, 12, 0], "pose": [-10, 0, -2], "cubes": [ {"name": "Left Leg", "origin": [-0.1, 0, -2], "size": [4, 12, 4], "uv": [16, 48]}, {"name": "Left Leg Layer", "visibility": false, "origin": [-0.1, 0, -2], "size": [4, 12, 4], "uv": [0, 48], "inflate": 0.25, "layer": true} ] } ] }`};bt.alex={display_name:"Player - Slim",pose:!0,model_java:`{ "name": "alex", "texturewidth": 64, "textureheight": 64, "eyes": [ [9, 11], [13, 11] ], "bones": [ { "name": "Waist", "color": 0, "pivot": [0, 12, 0], "pose": [0, 0, 0] }, { "name": "Head", "parent": "Waist", "color": 1, "pivot": [0, 24, 0], "pose": [-6, 5, 0], "cubes": [ {"name": "Head", "origin": [-4, 24, -4], "size": [8, 8, 8], "uv": [0, 0]}, {"name": "Hat Layer", "visibility": false, "origin": [-4, 24, -4], "size": [8, 8, 8], "uv": [32, 0], "inflate": 0.5, "layer": true} ] }, { "name": "Body", "parent": "Waist", "color": 3, "pivot": [0, 24, 0], "cubes": [ {"name": "Body", "origin": [-4, 12, -2], "size": [8, 12, 4], "uv": [16, 16]}, {"name": "Body Layer", "visibility": false, "origin": [-4, 12, -2], "size": [8, 12, 4], "uv": [16, 32], "inflate": 0.25, "layer": true} ] }, { "name": "Right Arm", "parent": "Waist", "color": 5, "pivot": [-5, 22, 0], "pose": [-10, 0, 0], "cubes": [ {"name": "Right Arm", "origin": [-7, 12, -2], "size": [3, 12, 4], "uv": [40, 16]}, {"name": "Right Arm Layer", "visibility": false, "origin": [-7, 12, -2], "size": [3, 12, 4], "uv": [40, 32], "inflate": 0.25, "layer": true} ] }, { "name": "Left Arm", "parent": "Waist", "color": 0, "pivot": [5, 22, 0], "pose": [12, 0, 0], "cubes": [ {"name": "Left Arm", "origin": [4, 12, -2], "size": [3, 12, 4], "uv": [32, 48]}, {"name": "Left Arm Layer", "visibility": false, "origin": [4, 12, -2], "size": [3, 12, 4], "uv": [48, 48], "inflate": 0.25, "layer": true} ] }, { "name": "Right Leg", "color": 6, "pivot": [-1.9, 12, 0], "pose": [11, 0, 2], "cubes": [ {"name": "Right Leg", "origin": [-3.9, 0, -2], "size": [4, 12, 4], "uv": [0, 16]}, {"name": "Right Leg Layer", "visibility": false, "origin": [-3.9, 0, -2], "size": [4, 12, 4], "uv": [0, 32], "inflate": 0.25, "layer": true} ] }, { "name": "Left Leg", "color": 7, "pivot": [1.9, 12, 0], "pose": [-10, 0, -2], "cubes": [ {"name": "Left Leg", "origin": [-0.1, 0, -2], "size": [4, 12, 4], "uv": [16, 48]}, {"name": "Left Leg Layer", "visibility": false, "origin": [-0.1, 0, -2], "size": [4, 12, 4], "uv": [0, 48], "inflate": 0.25, "layer": true} ] } ] }`,model_bedrock:`{ "name": "alex", "texturewidth": 64, "textureheight": 64, "eyes": [ [9, 11], [13, 11] ], "bones": [ { "name": "Waist", "color": 0, "pivot": [0, 12, 0], "pose": [0, 0, 0] }, { "name": "Head", "parent": "Waist", "color": 1, "pivot": [0, 24, 0], "pose": [-6, 5, 0], "cubes": [ {"name": "Head", "origin": [-4, 24, -4], "size": [8, 8, 8], "uv": [0, 0]}, {"name": "Hat Layer", "visibility": false, "origin": [-4, 24, -4], "size": [8, 8, 8], "uv": [32, 0], "inflate": 0.5, "layer": true} ] }, { "name": "Body", "parent": "Waist", "color": 3, "pivot": [0, 24, 0], "cubes": [ {"name": "Body", "origin": [-4, 12, -2], "size": [8, 12, 4], "uv": [16, 16]}, {"name": "Body Layer", "visibility": false, "origin": [-4, 12, -2], "size": [8, 12, 4], "uv": [16, 32], "inflate": 0.25, "layer": true} ] }, { "name": "Right Arm", "parent": "Waist", "color": 5, "pivot": [-5, 21.5, 0], "pose": [-10, 0, 0], "cubes": [ {"name": "Right Arm", "origin": [-7, 11.5, -2], "size": [3, 12, 4], "uv": [40, 16]}, {"name": "Right Arm Layer", "visibility": false, "origin": [-7, 11.5, -2], "size": [3, 12, 4], "uv": [40, 32], "inflate": 0.25, "layer": true} ] }, { "name": "Left Arm", "parent": "Waist", "color": 0, "pivot": [5, 21.5, 0], "pose": [12, 0, 0], "cubes": [ {"name": "Left Arm", "origin": [4, 11.5, -2], "size": [3, 12, 4], "uv": [32, 48]}, {"name": "Left Arm Layer", "visibility": false, "origin": [4, 11.5, -2], "size": [3, 12, 4], "uv": [48, 48], "inflate": 0.25, "layer": true} ] }, { "name": "Right Leg", "color": 6, "pivot": [-1.9, 12, 0], "pose": [11, 0, 2], "cubes": [ {"name": "Right Leg", "origin": [-3.9, 0, -2], "size": [4, 12, 4], "uv": [0, 16]}, {"name": "Right Leg Layer", "visibility": false, "origin": [-3.9, 0, -2], "size": [4, 12, 4], "uv": [0, 32], "inflate": 0.25, "layer": true} ] }, { "name": "Left Leg", "color": 7, "pivot": [1.9, 12, 0], "pose": [-10, 0, -2], "cubes": [ {"name": "Left Leg", "origin": [-0.1, 0, -2], "size": [4, 12, 4], "uv": [16, 48]}, {"name": "Left Leg Layer", "visibility": false, "origin": [-0.1, 0, -2], "size": [4, 12, 4], "uv": [0, 48], "inflate": 0.25, "layer": true} ] } ] }`};bt.flat_texture={display_name:"Texture",model:`{ "name": "flat_texture", "camera_angle": "top", "texturewidth": 16, "textureheight": 16, "bones": [ { "name": "block", "pivot": [0, 0, 0], "cubes": [ { "origin": [-8, 0, -8], "size": [16, 1, 16], "layer": true, "uv": { "up": {"uv": [16, 16], "uv_size": [-16, -16]} } } ] } ] }`};bt.block={display_name:"Block",model:`{ "name": "block", "texturewidth": 16, "textureheight": 16, "bones": [ { "name": "block", "pivot": [0, 0, 0], "cubes": [ { "origin": [-8, 0, -8], "size": [16, 16, 16], "uv": { "north": {"uv": [0, 0], "uv_size": [16, 16]}, "east": {"uv": [0, 0], "uv_size": [16, 16]}, "south": {"uv": [0, 0], "uv_size": [16, 16]}, "west": {"uv": [0, 0], "uv_size": [16, 16]}, "up": {"uv": [16, 16], "uv_size": [-16, -16]}, "down": {"uv": [16, 16], "uv_size": [-16, -16]} } } ] } ] }`};bt.allay={display_name:"Allay",model:`{ "name": "allay", "external_textures": ["entity/allay/allay.png"], "texturewidth": 32, "textureheight": 32, "eyes": [ [6, 7, 1, 2], [8, 7, 1, 2] ], "bones": [ { "name": "root", "pivot": [0, 0, 0] }, { "name": "head", "parent": "root", "pivot": [0, 4, 0], "cubes": [ {"origin": [-2.5, 4.01, -2.5], "size": [5, 5, 5], "uv": [0, 0]} ] }, { "name": "body", "parent": "root", "pivot": [0, 4, 0], "cubes": [ {"origin": [-1.5, 0, -1], "size": [3, 4, 2], "uv": [0, 10]}, {"origin": [-1.5, -1, -1], "size": [3, 5, 2], "inflate": -0.2, "uv": [0, 16]} ] }, { "name": "rightItem", "parent": "body", "pivot": [0, -1, -2], "rotation": [-80, 0, 0] }, { "name": "right_arm", "parent": "body", "pivot": [-1.75, 3.5, 0], "cubes": [ {"origin": [-2.5, 0, -1], "size": [1, 4, 2], "uv": [23, 0]} ] }, { "name": "left_arm", "parent": "body", "pivot": [1.75, 3.5, 0], "cubes": [ {"origin": [1.5, 0, -1], "size": [1, 4, 2], "uv": [23, 6]} ] }, { "name": "left_wing", "parent": "body", "pivot": [0.5, 3, 1], "cubes": [ {"origin": [0.5, -2, 1], "size": [0, 5, 8], "uv": [16, 14], "mirror": true} ] }, { "name": "right_wing", "parent": "body", "pivot": [-0.5, 3, 1], "cubes": [ {"origin": [-0.5, -2, 1], "size": [0, 5, 8], "uv": [16, 14]} ] } ] }`};bt.armadillo={display_name:"Armadillo",model:`{ "name": "armadillo", "external_textures": ["entity/armadillo.png"], "texturewidth": 64, "textureheight": 64, "eyes": [ [44, 19, 1, 1], [48, 19, 1, 1] ], "bones": [ { "name": "body", "pivot": [0, 3, 4], "cubes": [ {"origin": [-4, 2, -6], "size": [8, 8, 12], "inflate": 0.3, "uv": [0, 20]}, {"origin": [-4, 2, -6], "size": [8, 8, 12], "uv": [0, 40]} ] }, { "name": "tail", "parent": "body", "pivot": [0, 6, 5], "rotation": [29, 0, 0], "cubes": [ {"origin": [-0.5, 0.08645, 5.09326], "size": [1, 6, 1], "uv": [44, 53]} ] }, { "name": "head", "parent": "body", "pivot": [0, 5, -7], "cubes": [ {"origin": [-1.5, 1, -8], "size": [3, 5, 2], "pivot": [0, 5, -7], "rotation": [-22.5, 0, 0], "uv": [43, 15]} ] }, { "name": "right_ear", "parent": "head", "pivot": [-1, 6, -7], "cubes": [ {"origin": [-3.5, 4, -7.6], "size": [2, 5, 0], "pivot": [-1.5, 6, -7.6], "rotation": [10.80524, -22.13991, -4.11405], "uv": [43, 10]} ] }, { "name": "left_ear", "parent": "head", "pivot": [1, 7, -7], "cubes": [ {"origin": [1.5, 4, -7.6], "size": [2, 5, 0], "pivot": [1.5, 6, -7.6], "rotation": [10.80524, 22.13991, 4.11405], "uv": [47, 10]} ] }, { "name": "right_hind_leg", "pivot": [-2, 3, 4], "cubes": [ {"origin": [-3, 0, 3], "size": [2, 3, 2], "uv": [51, 31]} ] }, { "name": "left_hind_leg", "pivot": [2, 3, 4], "cubes": [ {"origin": [1, 0, 3], "size": [2, 3, 2], "uv": [42, 31]} ] }, { "name": "right_front_leg", "pivot": [-2, 3, -4], "cubes": [ {"origin": [-3, 0, -5], "size": [2, 3, 2], "uv": [51, 43]} ] }, { "name": "left_front_leg", "pivot": [2, 3, -4], "cubes": [ {"origin": [1, 0, -5], "size": [2, 3, 2], "uv": [42, 43]} ] }, { "name": "body_rolled_up", "pivot": [0, 0, 27], "cubes": [ {"origin": [-5, 0, 21], "size": [10, 10, 10], "uv": [0, 0]} ] } ] }`};bt.armadillo_baby={display_name:"Armadillo Baby",model:`{ "name": "armadillo_baby", "texturewidth": 64, "textureheight": 64, "external_textures": ["entity/armadillo/armadillo_baby.png"], "eyes": [ [22, 21, 1, 1], [27, 21, 1, 1] ], "bones": [ { "name": "body", "pivot": [0, 4, 0.5], "cubes": [ {"origin": [-2.5, 2, -3], "size": [5, 4, 7], "inflate": 0.3, "uv": [0, 0]}, {"origin": [-2.5, 2, -2.5], "size": [5, 4, 6], "uv": [0, 11]} ] }, { "name": "tail", "parent": "body", "pivot": [0, 4, 3.9], "cubes": [ {"origin": [-0.5, 2, 2.9], "size": [1, 1, 4], "pivot": [0, 2.5, 4.9], "rotation": [-60, 0, 0], "uv": [22, 11]} ] }, { "name": "head", "parent": "body", "pivot": [0, 4, -2.7], "cubes": [ {"origin": [-1, 4, -6.7], "size": [2, 2, 4], "pivot": [1, 4, -2.7], "rotation": [42.5, 0, 0], "uv": [20, 17]} ] }, { "name": "right_ear", "parent": "head", "pivot": [-1, 5, -4.75], "rotation": [25, -6.5, -3], "cubes": [ {"origin": [-2.9, 4, -4.5], "size": [2, 3, 0], "uv": [28, 8], "mirror": true} ] }, { "name": "left_ear", "parent": "head", "pivot": [0.9, 5.1957, -4.75], "rotation": [25, 6.5, 3], "cubes": [ {"origin": [0.9, 4, -4.5], "size": [2, 3, 0], "uv": [28, 8]} ] }, { "name": "right_hind_leg", "pivot": [-1.5, 2, 2.5], "cubes": [ {"origin": [-2.5, 0, 1.5], "size": [2, 2, 2], "uv": [20, 27], "mirror": true} ] }, { "name": "left_hind_leg", "pivot": [1.5, 2, 2.5], "cubes": [ {"origin": [0.5, 0, 1.5], "size": [2, 2, 2], "uv": [24, 4]} ] }, { "name": "right_front_leg", "pivot": [1.5, 2, -1.5], "cubes": [ {"origin": [0.5, 0, -2.5], "size": [2, 2, 2], "uv": [20, 23]} ] }, { "name": "left_front_leg", "pivot": [-1.5, 2, -1.5], "cubes": [ {"origin": [-2.5, 0, -2.5], "size": [2, 2, 2], "uv": [24, 0], "mirror": true} ] }, { "name": "body_rolled_up", "pivot": [0, 3.3, 16.5], "cubes": [ {"origin": [-3, 0.3, 13.5], "size": [6, 6, 6], "inflate": 0.3, "uv": [0, 25]} ] } ] }`};bt.armor_main={display_name:"Armor (Main)",pose:!0,model:`{ "name": "armor_main", "external_textures": ["models/armor/iron_1.png"], "texturewidth": 64, "textureheight": 32, "bones": [ { "name": "Head", "color": 1, "pivot": [0, 24, 0], "pose": [-6, 5, 0], "cubes": [ {"name": "Helmet", "origin": [-4, 24, -4], "size": [8, 8, 8], "uv": [0, 0], "inflate": 1}, {"name": "Hat Layer", "visibility": false, "origin": [-4, 24, -4], "size": [8, 8, 8], "uv": [32, 0], "inflate": 1.5, "layer": true} ] }, { "name": "Body", "color": 3, "pivot": [0, 24, 0], "cubes": [ {"name": "Chestplate", "origin": [-4, 12, -2], "size": [8, 12, 4], "uv": [16, 16], "inflate": 1.01} ] }, { "name": "Right Arm", "color": 5, "pivot": [-5, 22, 0], "pose": [-10, 0, 0], "cubes": [ {"name": "Right Arm Armor", "origin": [-8, 12, -2], "size": [4, 12, 4], "uv": [40, 16], "inflate": 1} ] }, { "name": "Left Arm", "color": 0, "pivot": [5, 22, 0], "pose": [12, 0, 0], "cubes": [ {"name": "Left Arm Armor", "origin": [4, 12, -2], "size": [4, 12, 4], "uv": [40, 16], "inflate": 1, "mirror": true} ] }, { "name": "Right Leg", "color": 6, "pivot": [-1.9, 12, 0], "pose": [11, 0, 2], "cubes": [ {"name": "Right Boot", "origin": [-3.9, 0, -2], "size": [4, 12, 4], "uv": [0, 16], "inflate": 1.0} ] }, { "name": "Left Leg", "color": 7, "pivot": [1.9, 12, 0], "pose": [-10, 0, -2], "cubes": [ {"name": "Left Boot", "origin": [-0.1, 0, -2], "size": [4, 12, 4], "uv": [0, 16], "inflate": 1.0, "mirror": true} ] } ] }`};bt.armor_leggings={display_name:"Armor (Leggings)",pose:!0,model:`{ "name": "armor_leggings", "external_textures": ["models/armor/iron_2.png"], "texturewidth": 64, "textureheight": 32, "bones": [ { "name": "Body", "color": 3, "pivot": [0, 24, 0], "cubes": [ {"name": "Belt", "origin": [-4, 12, -2], "size": [8, 12, 4], "uv": [16, 16], "inflate": 0.51} ] }, { "name": "Right Leg", "color": 6, "pivot": [-1.9, 12, 0], "pose": [11, 0, 2], "cubes": [ {"name": "Right Leg Armor", "origin": [-3.9, 0, -2], "size": [4, 12, 4], "uv": [0, 16], "inflate": 0.5} ] }, { "name": "Left Leg", "color": 7, "pivot": [1.9, 12, 0], "pose": [-10, 0, -2], "cubes": [ {"name": "Left Leg Armor", "origin": [-0.1, 0, -2], "size": [4, 12, 4], "uv": [0, 16], "inflate": 0.5, "mirror": true} ] } ] }`};bt.armor_baby={display_name:"Armor (Baby)",pose:!0,model:`{ "name": "humanoid_baby.armor.boots", "texturewidth": 64, "textureheight": 64, "external_textures": ["models/armor/diamond_baby.png"], "bones": [ { "name": "Body", "pivot": [0, 6, -1], "cubes": [ {"origin": [-3, 4, -1], "size": [6, 5, 3], "inflate": 0.3, "uv": [0, 17], "name": "Body Chestplate"}, {"origin": [-3, 4, -1], "size": [6, 5, 3], "inflate": 0.27, "uv": [0, 33], "name": "Body Legging"} ] }, { "name": "Head", "pivot": [0, 9, 0.5], "cubes": [ {"origin": [-4.5, 9, -4], "size": [9, 8, 8.3], "inflate": 0.3, "uv": [0, 0]} ] }, { "name": "LeftLeg", "pivot": [1.5, 4, 0.5], "cubes": [ {"origin": [0, 0.2, -1.002], "size": [3, 1, 3], "inflate": 0.5, "uv": [0, 29], "name": "LeftLeg Boot"}, {"origin": [0, 0.2, -1.002], "size": [3, 4, 3], "inflate": 0.3, "uv": [18, 24], "name": "LeftLeg Legging"} ] }, { "name": "RightLeg", "pivot": [-1.5, 4, 0.5], "cubes": [ {"origin": [-3, 0.21, -1.004], "size": [3, 1, 3], "inflate": 0.5, "uv": [0, 25], "mirror": true, "name": "RightLeg Boot"}, {"origin": [-3, 0.2, -1], "size": [3, 4, 3], "inflate": 0.3, "uv": [18, 17], "name": "RightLeg Legging"} ] }, { "name": "RightArm", "pivot": [-4, 9, 0.5], "cubes": [ {"origin": [-5, 4.3, -0.97], "size": [2, 5, 3], "inflate": 0.3, "uv": [30, 25]} ] }, { "name": "LeftArm", "pivot": [4, 9, 0.5], "cubes": [ {"origin": [3, 4.3, -1.03], "size": [2, 5, 3], "inflate": 0.3, "uv": [30, 17]} ] } ] }`};bt.armor_stand={display_name:"Armor Stand",model:`{ "name": "armor_stand", "external_textures": ["entity/armor_stand.png"], "texturewidth": 64, "textureheight": 64, "bones": [ { "name": "Baseplate", "pivot": [0, 0, 0], "cubes": [ {"name": "baseplate", "origin": [-6, 0, -6], "size": [12, 1, 12], "uv": [0, 32]} ] }, { "name": "Waist", "parent": "baseplate", "pivot": [0, 12, 0] }, { "name": "Body", "parent": "waist", "pivot": [0, 24, 0], "cubes": [ {"name": "body", "origin": [-6, 21, -1.5], "size": [12, 3, 3], "uv": [0, 26]}, {"name": "body", "origin": [-3, 14, -1], "size": [2, 7, 2], "uv": [16, 0]}, {"name": "body", "origin": [1, 14, -1], "size": [2, 7, 2], "uv": [48, 16]}, {"name": "body", "origin": [-4, 12, -1], "size": [8, 2, 2], "uv": [0, 48]} ] }, { "name": "Head", "parent": "body", "pivot": [0, 24, 0], "cubes": [ {"name": "head", "origin": [-1, 24, -1], "size": [2, 7, 2], "uv": [0, 0]} ] }, { "name": "LeftArm", "parent": "body", "pivot": [5, 22, 0], "mirror": true, "cubes": [ {"name": "LeftArm", "origin": [5, 12, -1], "size": [2, 12, 2], "uv": [32, 16]} ] }, { "name": "LeftLeg", "parent": "body", "pivot": [1.9, 12, 0], "mirror": true, "cubes": [ {"name": "LeftLeg", "origin": [0.9, 1, -1], "size": [2, 11, 2], "uv": [40, 16]} ] }, { "name": "RightArm", "parent": "body", "pivot": [-5, 22, 0], "cubes": [ {"name": "RightArm", "origin": [-7, 12, -1], "size": [2, 12, 2], "uv": [24, 0]} ] }, { "name": "RightLeg", "parent": "body", "pivot": [-1.9, 12, 0], "cubes": [ {"name": "RightLeg", "origin": [-2.9, 1, -1], "size": [2, 11, 2], "uv": [8, 0]} ] } ] }`};bt.axolotl={display_name:"Axolotl",model:`{ "name": "axolotl", "external_textures": ["entity/axolotl/axolotl_lucy.png"], "texturewidth": 64, "textureheight": 64, "eyes": [ [4, 8, 2, 1], [12, 8, 2, 1] ], "bones": [ { "name": "root", "pivot": [0, -4, 0] }, { "name": "body", "parent": "root", "pivot": [0, 3, 4], "cubes": [ {"origin": [-4, 0, -5], "size": [8, 4, 10], "uv": [0, 11]}, {"origin": [0, 0, -5], "size": [0, 5, 9], "uv": [2, 17]} ] }, { "name": "right_arm", "parent": "body", "pivot": [-4, 1, -4], "rotation": [0, -90, 90], "cubes": [ {"origin": [-6, -4, -4], "size": [3, 5, 0], "uv": [2, 13]} ] }, { "name": "right_leg", "parent": "body", "pivot": [-4, 1, 4], "rotation": [0, 90, 90], "cubes": [ {"origin": [-5, -4, 4], "size": [3, 5, 0], "uv": [2, 13]} ] }, { "name": "left_arm", "parent": "body", "pivot": [4, 1, -4], "rotation": [0, 90, -90], "cubes": [ {"origin": [3, -4, -4], "size": [3, 5, 0], "uv": [2, 13]} ] }, { "name": "left_leg", "parent": "body", "pivot": [4, 1, 4], "rotation": [0, -90, -90], "cubes": [ {"origin": [2, -4, 4], "size": [3, 5, 0], "uv": [2, 13]} ] }, { "name": "tail", "parent": "body", "pivot": [0, 2, 4], "cubes": [ {"origin": [0, 0, 4], "size": [0, 5, 12], "uv": [2, 19]} ] }, { "name": "head", "parent": "body", "pivot": [0, 2, -5], "reset": true, "cubes": [ {"origin": [-4, 0, -10], "size": [8, 5, 5], "uv": [0, 1]} ] }, { "name": "left_gills", "parent": "head", "pivot": [4, 2, -6], "cubes": [ {"origin": [4, 0, -6], "size": [3, 7, 0], "uv": [11, 40]} ] }, { "name": "right_gills", "parent": "head", "pivot": [-4, 2, -6], "cubes": [ {"origin": [-7, 0, -6], "size": [3, 7, 0], "uv": [0, 40]} ] }, { "name": "top_gills", "parent": "head", "pivot": [0, 5, -6], "cubes": [ {"origin": [-4, 5, -6], "size": [8, 3, 0], "uv": [3, 37]} ] } ] }`};bt.axolotl_baby={display_name:"Axolotl Baby",model:`{ "name": "axolotl_baby", "texturewidth": 32, "textureheight": 32, "external_textures": ["entity/axolotl/axolotl_lucy_baby.png"], "eyes": [ [3, 13, 2, 1], [9, 13, 2, 1] ], "bones": [ { "name": "root", "pivot": [0, 0, 0] }, { "name": "body", "parent": "root", "pivot": [0, 1.25, 1.75], "cubes": [ {"origin": [-2, 0, -1], "size": [4, 2, 6], "uv": [0, 0]}, {"origin": [0, 0, -1], "size": [0, 3, 5], "uv": [0, 12]} ] }, { "name": "right_arm", "parent": "body", "pivot": [-2, 1, 0.5], "cubes": [ {"origin": [-5, 1, 0], "size": [3, 0, 1], "uv": [20, 16]} ] }, { "name": "right_leg", "parent": "body", "pivot": [-2, 1, 3.5], "rotation": [0, 90, 90], "cubes": [ {"origin": [-2, 1, 3], "size": [3, 0, 1], "pivot": [-2, 1, 3.5], "rotation": [-90, 0, 90], "uv": [20, 14]} ] }, { "name": "left_arm", "parent": "body", "pivot": [2, 1, 0.5], "cubes": [ {"origin": [2, 1, 0], "size": [3, 0, 1], "uv": [20, 13]} ] }, { "name": "left_leg", "parent": "body", "pivot": [2, 1, 3.5], "cubes": [ {"origin": [2, 1, 3], "size": [3, 0, 1], "uv": [20, 14]} ] }, { "name": "tail", "parent": "body", "pivot": [0, 1.5, 5], "cubes": [ {"origin": [0, 0, 4], "size": [0, 3, 8], "uv": [10, 9]} ] }, { "name": "head", "parent": "body", "pivot": [0, 1, -1], "cubes": [ {"origin": [-3, 0, -5], "size": [6, 3, 4], "uv": [0, 8]} ] }, { "name": "left_gills", "parent": "head", "pivot": [3, 1.5, -3], "cubes": [ {"origin": [3, 0, -3], "size": [3, 5, 0], "uv": [20, 8]} ] }, { "name": "right_gills", "parent": "head", "pivot": [-3, 1.5, -3], "cubes": [ {"origin": [-6, 0, -3], "size": [3, 5, 0], "uv": [20, 3]} ] }, { "name": "top_gills", "parent": "head", "pivot": [0, 3, -3], "cubes": [ {"origin": [-3, 3, -3], "size": [6, 3, 0], "uv": [20, 0]} ] } ] }`};bt.bamboo_raft={display_name:"Bamboo Raft",model:`{ "name": "", "external_textures": ["entity/boat/bamboo_raft.png"], "texturewidth": 128, "textureheight": 64, "bones": [ { "name": "raft", "pivot": [0, 1, -2], "rotation": [90, -90, 0], "cubes": [ {"origin": [-14, -11, 1], "size": [28, 20, 4], "uv": [0, 0]}, {"origin": [-14, -9, -3], "size": [28, 16, 4], "uv": [0, 0]} ] }, { "name": "paddle_left", "pivot": [-11.5, 12, 1], "rotation": [-50, -75, 0], "cubes": [ {"origin": [-12.5, 11, -4.5], "size": [2, 2, 18], "uv": [0, 24]}, {"origin": [-12.51, 10, 8.5], "size": [1, 6, 7], "uv": [0, 24]} ] }, { "name": "paddle_right", "pivot": [7.5, 12, 0], "rotation": [-50, 75, 0], "cubes": [ {"origin": [5.5, 11, -5.5], "size": [2, 2, 18], "uv": [40, 24]}, {"origin": [6.51, 10, 7.5], "size": [1, 6, 7], "uv": [40, 24]} ] } ] }`};bt.banner={display_name:"Banner",model:`{ "name": "banner_base", "texturewidth": 64, "textureheight": 64, "bones": [ { "name": "stand", "pivot": [0, 0, 0], "cubes": [ {"origin": [-10, 42, 0], "size": [20, 2, 2], "uv": [0, 42]}, {"origin": [-1, 0, 0], "size": [2, 42, 2], "uv": [44, 0]} ] }, { "name": "banner", "parent": "stand", "pivot": [0, 44, 0], "rotation": [-2, 0, 0], "cubes": [ {"origin": [-10, 4, -1], "size": [20, 40, 1], "uv": [0, 0]} ] } ] }`};bt.bat={display_name:"Bat",pose:!0,variants:{new:{name:"New",model:`{ "name": "bat_v2", "external_textures": ["entity/bat_v2.png"], "texturewidth": 32, "textureheight": 32, "eyes": [ [1, 10, 2, 1], [5, 10, 2, 1] ], "bones": [ { "name": "Head", "pivot": [0, 7, 0], "cubes": [ {"origin": [-2, 7, -1], "size": [4, 3, 2], "uv": [0, 7]} ] }, { "name": "rightEar", "parent": "Head", "pivot": [-1.5, 9, 0], "cubes": [ {"origin": [-4, 8, 0], "size": [3, 5, 0], "uv": [1, 15]} ] }, { "name": "leftEar", "parent": "Head", "pivot": [1.1, 10, 0], "cubes": [ {"origin": [1, 8, 0], "size": [3, 5, 0], "uv": [8, 15]} ] }, { "name": "body", "pivot": [0, 7, 0], "cubes": [ {"origin": [-1.5, 2, -1], "size": [3, 5, 2], "uv": [0, 0]} ] }, { "name": "feet", "parent": "body", "pivot": [0, 2, 0], "cubes": [ {"origin": [-1.5, 0, 0], "size": [3, 2, 0], "uv": [16, 16]} ] }, { "name": "rightWing", "parent": "body", "pivot": [-1.5, 7, 0], "cubes": [ {"origin": [-3.5, 2, 0], "size": [2, 7, 0], "uv": [12, 0]} ] }, { "name": "rightWingTip", "parent": "rightWing", "pivot": [-3.5, 7, 0], "cubes": [ {"origin": [-9.5, 1, 0], "size": [6, 8, 0], "uv": [16, 0]} ] }, { "name": "leftWing", "parent": "body", "pivot": [1.5, 7, 0], "cubes": [ {"origin": [1.5, 2, 0], "size": [2, 7, 0], "uv": [12, 7]} ] }, { "name": "leftWingTip", "parent": "leftWing", "pivot": [3.5, 7, 0], "cubes": [ {"origin": [3.5, 1, 0], "size": [6, 8, 0], "uv": [16, 8]} ] } ] }`},old:{name:"Classic",model:`{ "name": "bat", "external_textures": ["entity/bat.png"], "texturewidth": 64, "textureheight": 64, "bones": [ { "name": "Head", "pivot": [0, 24, 0], "cubes": [ {"name": "Head", "origin": [-3, 21, -3], "size": [6, 6, 6], "uv": [0, 0]} ] }, { "name": "rightEar", "parent": "Head", "pivot": [0, 24, 0], "cubes": [ {"name": "rightEar", "origin": [-4, 26, -2], "size": [3, 4, 1], "uv": [24, 0]} ] }, { "name": "leftEar", "parent": "Head", "pivot": [0, 24, 0], "mirror": true, "cubes": [ {"name": "leftEar", "origin": [1, 26, -2], "size": [3, 4, 1], "uv": [24, 0]} ] }, { "name": "body", "pivot": [0, 24, 0], "rotation": [30, 0, 0], "cubes": [ {"name": "body", "origin": [-3, 8, -3], "size": [6, 12, 6], "uv": [0, 16]}, {"name": "body", "origin": [-5, -8, 0], "size": [10, 16, 1], "uv": [0, 34]} ] }, { "name": "rightWing", "parent": "body", "pivot": [0, 24, 0], "pose": [0, -10, 0], "cubes": [ {"name": "rightWing", "origin": [-12, 7, 1.5], "size": [10, 16, 1], "uv": [42, 0]} ] }, { "name": "rightWingTip", "parent": "rightWing", "pivot": [-12, 23, 1.5], "pose": [0, -15, 0], "cubes": [ {"name": "rightWingTip", "origin": [-20, 10, 1.5], "size": [8, 12, 1], "uv": [24, 16]} ] }, { "name": "leftWing", "parent": "body", "pivot": [0, 24, 0], "pose": [0, 10, 0], "mirror": true, "cubes": [ {"name": "leftWing", "origin": [2, 7, 1.5], "size": [10, 16, 1], "uv": [42, 0]} ] }, { "name": "leftWingTip", "parent": "leftWing", "pivot": [12, 23, 1.5], "pose": [0, 15, 0], "mirror": true, "cubes": [ {"name": "leftWingTip", "origin": [12, 10, 1.5], "size": [8, 12, 1], "uv": [24, 16]} ] } ] }`}}};bt.bed={display_name:"Bed",model_bedrock:`{ "name": "bed", "external_textures": ["entity/bed/white.png"], "texturewidth": 64, "textureheight": 64, "bones": [ { "name": "bed", "pivot": [0, 0, 0], "rotation": [-90, 0, 0], "cubes": [ {"origin": [-8, -16, -9], "size": [16, 32, 6], "uv": [0, 0]}, {"origin": [-8, -16, -3], "size": [3, 3, 3], "uv": [0, 44]}, {"origin": [5, 13, -3], "size": [3, 3, 3], "uv": [12, 38]}, {"origin": [-8, 13, -3], "size": [3, 3, 3], "uv": [0, 38]}, {"origin": [5, -16, -3], "size": [3, 3, 3], "uv": [12, 44]} ] }, { "name": "Layer", "parent": "bed", "cubes": [ {"origin": [-5, 15, -3], "size": [10, 1, 3], "uv": [38, 2], "layer": true}, {"origin": [-5, -16, -3], "size": [10, 1, 3], "uv": [38, 38], "layer": true}, {"origin": [7, -13, -3], "size": [1, 26, 3], "uv": [52, 6], "layer": true}, {"origin": [-8, -13, -3], "size": [1, 26, 3], "uv": [44, 6], "layer": true} ] } ] }`,model_java:`{ "name": "bed", "external_textures": ["entity/bed/white.png"], "texturewidth": 64, "textureheight": 64, "bones": [ { "name": "bed", "pivot": [0, 0, 0], "rotation": [-90, 0, 0], "cubes": [ {"origin": [-8, 0, -9], "size": [16, 16, 6], "uv": [0, 0]}, {"origin": [-8, -16, -9], "size": [16, 16, 6], "uv": [0, 22]} ] }, { "name": "leg0", "pivot": [-6.5, 1.5, -14.5], "cubes": [ {"origin": [-8, 0, -16], "size": [3, 3, 3], "uv": [50, 0]} ] }, { "name": "leg1", "pivot": [-6.5, 1.5, 14.5], "rotation": [0, 90, 0], "cubes": [ {"origin": [-8, 0, 13], "size": [3, 3, 3], "uv": [50, 6]} ] }, { "name": "leg2", "pivot": [6.5, 1.5, -14.5], "rotation": [0, -90, 0], "cubes": [ {"origin": [5, 0, -16], "size": [3, 3, 3], "uv": [50, 12]} ] }, { "name": "leg3", "pivot": [6.5, 1.5, 14.5], "rotation": [0, 180, 0], "cubes": [ {"origin": [5, 0, 13], "size": [3, 3, 3], "uv": [50, 18]} ] } ] }`};bt.bee={display_name:"Bee",model:`{ "name": "bee", "external_textures": ["entity/bee/bee.png"], "texturewidth": 64, "textureheight": 64, "eyes": [ [10, 13, 2, 3], [15, 13, 2, 3] ], "bones": [ { "name": "body", "pivot": [0.5, 5, 0], "cubes": [ {"name": "body", "origin": [-3, 2, -5], "size": [7, 7, 10], "uv": [0, 0]}, {"name": "body", "origin": [-2, 7, -8], "size": [1, 2, 3], "uv": [2, 3]}, {"name": "body", "origin": [2, 7, -8], "size": [1, 2, 3], "uv": [2, 0]} ] }, { "name": "stinger", "parent": "body", "pivot": [0.5, 6, 1], "cubes": [ {"name": "stinger", "origin": [0.5, 5, 5], "size": [0, 1, 2], "uv": [26, 7]} ] }, { "name": "rightwing_bone", "parent": "body", "pivot": [-1, 9, -3], "rotation": [15, -15, 0], "cubes": [ {"name": "rightwing_bone", "origin": [-10, 9, -3], "size": [9, 0, 6], "uv": [0, 18]} ] }, { "name": "leftwing_bone", "parent": "body", "pivot": [2, 9, -3], "rotation": [15, 15, 0], "cubes": [ {"name": "leftwing_bone", "origin": [2, 9, -3], "size": [9, 0, 6], "uv": [9, 24]} ] }, { "name": "leg_front", "parent": "body", "pivot": [2, 2, -2], "cubes": [ {"name": "leg_front", "origin": [-3, 0, -2], "size": [7, 2, 0], "uv": [26, 1]} ] }, { "name": "leg_mid", "parent": "body", "pivot": [2, 2, 0], "cubes": [ {"name": "leg_mid", "origin": [-3, 0, 0], "size": [7, 2, 0], "uv": [26, 3]} ] }, { "name": "leg_back", "parent": "body", "pivot": [2, 2, 2], "cubes": [ {"name": "leg_back", "origin": [-3, 0, 2], "size": [7, 2, 0], "uv": [26, 5]} ] } ] }`};bt.bee_baby={display_name:"Bee Baby",model:`{ "name": "bee_baby", "texturewidth": 32, "textureheight": 32, "external_textures": ["entity/bee/bee_baby.png"], "eyes": [ [4, 7, 2, 2], [8, 7, 2, 2] ], "bones": [ { "name": "body", "pivot": [0, 4.33333, -1.85667], "cubes": [ {"origin": [-2, 1, -2], "size": [4, 4, 5], "uv": [0, 0]}, {"origin": [1, 4, -4.02], "size": [1, 2, 2], "uv": [6, 12]}, {"origin": [-2, 4, -4.05], "size": [1, 2, 2], "uv": [0, 12]} ] }, { "name": "stinger", "parent": "body", "pivot": [0, 2.5, 3], "cubes": [ {"origin": [0, 2, 3], "size": [0, 1, 1], "uv": [13, 2]} ] }, { "name": "rightwing_bone", "parent": "body", "pivot": [-1, 5, -1], "rotation": [12.5, 20, 0], "cubes": [ {"origin": [-4, 5, -1], "size": [3, 0, 3], "uv": [3, 9]} ] }, { "name": "leftwing_bone", "parent": "body", "pivot": [1, 5, -1], "rotation": [12.5, -20, 0], "cubes": [ {"origin": [1, 5, -1], "size": [3, 0, 3], "uv": [-3, 9], "mirror": true} ] }, { "name": "leg_front", "parent": "body", "pivot": [0, 1, 0], "cubes": [ {"origin": [-1.5, 0, 0], "size": [3, 1, 0], "uv": [13, 0]} ] }, { "name": "leg_mid", "parent": "body", "pivot": [0, 1, 1], "cubes": [ {"origin": [-1.5, 0, 1], "size": [3, 1, 0], "uv": [13, 1]} ] }, { "name": "leg_back", "parent": "body", "pivot": [0, 1, 2], "cubes": [ {"origin": [-1.5, 0, 2], "size": [3, 1, 0], "uv": [13, 2]} ] } ] }`};bt.bell={display_name:"Bell",model:`{ "name": "bell", "external_textures": ["entity/bell.png"], "texturewidth": 32, "textureheight": 32, "bones": [ { "name": "bell", "pivot": [0, 11, 0], "cubes": [ {"name": "cube", "origin": [-4, 2, -4], "size": [8, 2, 8], "uv": [0, 13]}, {"name": "cube", "origin": [-3, 4, -3], "size": [6, 7, 6], "uv": [0, 0]} ] } ] }`};bt.blaze={display_name:"Blaze",model:`{ "name": "blaze", "texturewidth": 64, "textureheight": 32, "eyes": [ [9, 11], [13, 11] ], "bones": [ { "name": "upperBodyParts0", "pivot": [8, 26, -3], "cubes": [ {"name": "upperBodyParts0", "origin": [8, 18, -3], "size": [2, 8, 2], "uv": [0, 16]} ] }, { "name": "upperBodyParts1", "pivot": [-10, 26, 1], "cubes": [ {"name": "upperBodyParts1", "origin": [-10, 18, 1], "size": [2, 8, 2], "uv": [0, 16]} ] }, { "name": "upperBodyParts2", "pivot": [1, 26, 8], "cubes": [ {"name": "upperBodyParts2", "origin": [1, 18, 8], "size": [2, 8, 2], "uv": [0, 16]} ] }, { "name": "upperBodyParts3", "pivot": [-3, 26, -10], "cubes": [ {"name": "upperBodyParts3", "origin": [-3, 18, -10], "size": [2, 8, 2], "uv": [0, 16]} ] }, { "name": "upperBodyParts4", "pivot": [5, 18, -1], "cubes": [ {"name": "upperBodyParts4", "origin": [5, 10, -1], "size": [2, 8, 2], "uv": [0, 16]} ] }, { "name": "upperBodyParts5", "pivot": [-7, 18, -1], "cubes": [ {"name": "upperBodyParts5", "origin": [-7, 10, -1], "size": [2, 8, 2], "uv": [0, 16]} ] }, { "name": "upperBodyParts6", "pivot": [-1, 18, 5], "cubes": [ {"name": "upperBodyParts6", "origin": [-1, 10, 5], "size": [2, 8, 2], "uv": [0, 16]} ] }, { "name": "upperBodyParts7", "pivot": [-1, 18, -7], "cubes": [ {"name": "upperBodyParts7", "origin": [-1, 10, -7], "size": [2, 8, 2], "uv": [0, 16]} ] }, { "name": "upperBodyParts8", "pivot": [3, 8, 2], "cubes": [ {"name": "upperBodyParts8", "origin": [3, 0, 2], "size": [2, 8, 2], "uv": [0, 16]} ] }, { "name": "upperBodyParts9", "pivot": [-5, 8, -4], "cubes": [ {"name": "upperBodyParts9", "origin": [-5, 0, -4], "size": [2, 8, 2], "uv": [0, 16]} ] }, { "name": "upperBodyParts10", "pivot": [-4, 8, 3], "cubes": [ {"name": "upperBodyParts10", "origin": [-4, 0, 3], "size": [2, 8, 2], "uv": [0, 16]} ] }, { "name": "upperBodyParts11", "pivot": [2, 8, -5], "cubes": [ {"name": "upperBodyParts11", "origin": [2, 0, -5], "size": [2, 8, 2], "uv": [0, 16]} ] }, { "name": "Head", "pivot": [0, 24, 0], "cubes": [ {"name": "Head", "origin": [-4, 20, -4], "size": [8, 8, 8], "uv": [0, 0]} ] } ] }`};bt.boat={display_name:"Boat",model:`{ "name": "boat", "external_textures": ["entity/boat/boat_oak.png"], "texturewidth": 128, "textureheight": 64, "bones": [ { "name": "bottom", "pivot": [0, 18, 0], "rotation": [90, 0, 0], "mirror": true, "cubes": [ {"name": "bottom", "origin": [-14, 10, 0], "size": [28, 16, 3], "uv": [0, 0]} ] }, { "name": "front", "pivot": [15, 24, 0], "rotation": [0, 90, 0], "mirror": true, "cubes": [ {"name": "front", "origin": [7, 21, -1], "size": [16, 6, 2], "uv": [0, 27]} ] }, { "name": "back", "pivot": [-15, 24, 0], "rotation": [0, -90, 0], "mirror": true, "cubes": [ {"name": "back", "origin": [-24, 21, -1], "size": [18, 6, 2], "uv": [0, 19]} ] }, { "name": "right", "pivot": [0, 24, -9], "rotation": [0, -180, 0], "mirror": true, "cubes": [ {"name": "right", "origin": [-14, 21, -10], "size": [28, 6, 2], "uv": [0, 35]} ] }, { "name": "left", "pivot": [0, 24, 9], "mirror": true, "cubes": [ {"name": "left", "origin": [-14, 21, 8], "size": [28, 6, 2], "uv": [0, 43]} ] }, { "name": "paddle_left", "pivot": [-2.5, 28, 9], "rotation": [-30, 0, 0], "mirror": true, "cubes": [ {"name": "paddle_left", "origin": [-3.5, 27, 3.5], "size": [2, 2, 18], "uv": [62, 0]}, {"name": "paddle_left", "origin": [-2.51, 26, 17.5], "size": [1, 6, 7], "uv": [62, 0]} ] }, { "name": "paddle_right", "pivot": [-2.5, 28, -9], "rotation": [-30, 180, 0], "mirror": true, "cubes": [ {"name": "paddle_right", "origin": [-3.5, 27, -14.5], "size": [2, 2, 18], "uv": [62, 20]}, {"name": "paddle_right", "origin": [-3.49, 26, -0.5], "size": [1, 6, 7], "uv": [62, 20]} ] } ] }`};bt.bogged={display_name:"Bogged",model:`{ "name": "bogged", "external_textures": ["entity/skeleton/bogged.png"], "texturewidth": 64, "textureheight": 32, "eyes": [ [9, 12, 2, 1], [13, 12, 2, 1] ], "bones": [ { "name": "body", "pivot": [0, 24, 0], "cubes": [ {"origin": [-4, 12, -2], "size": [8, 12, 4], "uv": [16, 16]} ] }, { "name": "waist", "pivot": [0, 12, 0] }, { "name": "head", "pivot": [0, 24, 0], "cubes": [ {"origin": [-4, 24, -4], "size": [8, 8, 8], "uv": [0, 0]} ] }, { "name": "mushrooms", "parent": "head", "pivot": [3, 31.5, 3], "cubes": [ {"origin": [-6, 31, -3], "size": [6, 4, 0], "pivot": [-3, 32.5, -3], "rotation": [0, -45, 0], "uv": [50, 22]}, {"origin": [-6, 31, -3], "size": [6, 4, 0], "pivot": [-3, 32.5, -3], "rotation": [0, 45, 0], "uv": [50, 22]}, {"origin": [0, 31, 3], "size": [6, 4, 0], "pivot": [3, 31.5, 3], "rotation": [0, 45, 0], "uv": [50, 16]}, {"origin": [0, 31, 3], "size": [6, 4, 0], "pivot": [3, 31.5, 3], "rotation": [0, -45, 0], "uv": [50, 16]}, {"origin": [-5, 25, 3], "size": [6, 5, 0], "pivot": [-2, 25, 3], "rotation": [-90, 0, 45], "uv": [50, 27]}, {"origin": [-5, 25, 3], "size": [6, 5, 0], "pivot": [-2, 25, 3], "rotation": [-90, 0, 135], "uv": [50, 27]} ] }, { "name": "hat", "pivot": [0, 24, 0], "cubes": [ {"origin": [-4, 24, -4], "size": [8, 8, 8], "inflate": 0.2, "uv": [32, 0], "layer": true} ] }, { "name": "rightArm", "pivot": [-5, 22, 0], "cubes": [ {"origin": [-6, 12, -1], "size": [2, 12, 2], "uv": [40, 16]} ] }, { "name": "rightItem", "parent": "rightArm", "pivot": [-6, 15, 1] }, { "name": "leftArm", "pivot": [5, 22, 0], "mirror": true, "cubes": [ {"origin": [4, 12, -1], "size": [2, 12, 2], "uv": [40, 16], "mirror": true} ] }, { "name": "leftItem", "parent": "leftArm", "pivot": [6, 15, 1] }, { "name": "rightLeg", "pivot": [-2, 12, 0], "cubes": [ {"origin": [-3, 0, -1], "size": [2, 12, 2], "uv": [0, 16]} ] }, { "name": "leftLeg", "pivot": [2, 12, 0], "mirror": true, "cubes": [ {"origin": [1, 0, -1], "size": [2, 12, 2], "uv": [0, 16], "mirror": true} ] } ] }`};bt.bogged_layer={display_name:"Bogged/Stray Layer",model:`{ "name": "bogged_layer", "external_textures": ["entity/skeleton/bogged_clothes.png"], "texturewidth": 64, "textureheight": 32, "eyes": [ [9, 12, 2, 1], [13, 12, 2, 1] ], "bones": [ { "name": "body", "pivot": [0, 24, 0], "cubes": [ {"origin": [-4, 12, -2], "size": [8, 12, 4], "uv": [16, 16]} ] }, { "name": "leftArm", "parent": "body", "pivot": [5, 22, 0], "mirror": true, "cubes": [ {"origin": [4, 12, -2], "size": [4, 12, 4], "uv": [40, 16], "mirror": true} ] }, { "name": "head", "pivot": [0, 24, 0], "cubes": [ {"origin": [-4, 24, -4], "size": [8, 8, 8], "uv": [0, 0]} ] }, { "name": "hat", "pivot": [0, 24, 0], "cubes": [ {"origin": [-4, 24, -4], "size": [8, 8, 8], "inflate": 0.5, "uv": [32, 0], "layer": true, "visibility": false} ] }, { "name": "rightArm", "pivot": [-5, 22, 0], "cubes": [ {"origin": [-8, 12, -2], "size": [4, 12, 4], "uv": [40, 16]} ] }, { "name": "rightLeg", "pivot": [-1.9, 12, 0], "cubes": [ {"origin": [-3.9, 0, -2], "size": [4, 12, 4], "uv": [0, 16]} ] }, { "name": "leftLeg", "pivot": [1.9, 12, 0], "mirror": true, "cubes": [ {"origin": [-0.1, 0, -2], "size": [4, 12, 4], "uv": [0, 16], "mirror": true} ] } ] }`};bt.breeze={display_name:"Breeze",model:`{ "name": "breeze", "external_textures": ["entity/breeze/breeze.png"], "texturewidth": 32, "textureheight": 32, "eyes": [ [7, 14, 3, 1], [14, 14, 3, 1], [6, 29, 5, 1], [15, 29, 5, 1] ], "bones": [ { "name": "body", "pivot": [0, 0, 0] }, { "name": "rods", "parent": "body", "pivot": [0, 16, 0], "cubes": [ {"origin": [-1, 11, -6], "size": [2, 8, 2], "pivot": [0, 19, -3], "rotation": [22.5, 0, 0], "uv": [0, 17]}, {"origin": [-3.59808, 11, -1.5], "size": [2, 8, 2], "pivot": [-2.59808, 19, 1.5], "rotation": [-157.5, 60, 180], "uv": [0, 17]}, {"origin": [1.59808, 11, -1.5], "size": [2, 8, 2], "pivot": [2.59808, 19, 1.5], "rotation": [-157.5, -60, 180], "uv": [0, 17]} ] }, { "name": "head", "parent": "body", "pivot": [0, 20, 0], "cubes": [ {"origin": [-4, 20, -4], "size": [8, 8, 8], "uv": [0, 0]} ] }, { "name": "eyes", "parent": "head", "pivot": [0, 20, 0], "cubes": [ {"origin": [-5, 22, -4.2], "size": [10, 3, 4], "uv": [4, 24], "layer": true} ] } ] }`};bt.breeze_tornado={display_name:"Breeze Tornado",model:`{ "name": "breeze_wind", "external_textures": ["entity/breeze/breeze_wind.png"], "texturewidth": 128, "textureheight": 128, "bones": [ { "name": "tornado_body", "pivot": [0, 0, 0] }, { "name": "tornado_bottom", "parent": "tornado_body", "pivot": [0, 0, 0], "cubes": [ {"origin": [-2.5, 0, -2.5], "size": [5, 7, 5], "uv": [1, 83]} ] }, { "name": "tornado_mid", "parent": "tornado_bottom", "pivot": [0, 7, 0], "cubes": [ {"origin": [-2.5, 7, -2.5], "size": [5, 6, 5], "uv": [49, 71]}, {"origin": [-4, 7, -4], "size": [8, 6, 8], "uv": [78, 32]}, {"origin": [-6, 7, -6], "size": [12, 6, 12], "uv": [74, 28]} ] }, { "name": "tornado_top", "parent": "tornado_mid", "pivot": [0, 13, 0], "cubes": [ {"origin": [-2.5, 13, -2.5], "size": [5, 8, 5], "uv": [105, 57]}, {"origin": [-6, 13, -6], "size": [12, 8, 12], "uv": [6, 6]}, {"origin": [-9, 13, -9], "size": [18, 8, 18], "uv": [0, 0]} ] } ] }`};bt.camel={display_name:"Camel",model:`{ "name": "camel", "external_textures": ["entity/camel/camel.png"], "texturewidth": 128, "textureheight": 128, "eyes": [ [26, 8, 3, 1], [34, 8, 3, 1] ], "bones": [ { "name": "root", "pivot": [0, 0, 0] }, { "name": "body", "parent": "root", "pivot": [0.5, 20, 9.5], "cubes": [ {"origin": [-7.5, 20, -14], "size": [15, 12, 27], "uv": [0, 25]} ] }, { "name": "saddle", "parent": "body", "pivot": [0.5, 20, 9.5], "cubes": [ {"name": "saddle layer", "origin": [-4.5, 32, -6], "size": [9, 5, 11], "inflate": 0.1, "layer": true, "visibility": false, "uv": [74, 64]}, {"name": "saddle layer", "origin": [-3.5, 37, -6], "size": [7, 3, 11], "inflate": 0.1, "layer": true, "visibility": false, "uv": [92, 114]}, {"name": "saddle layer", "origin": [-7.5, 20, -14], "size": [15, 12, 27], "inflate": 0.1, "layer": true, "visibility": false, "uv": [0, 89]} ] }, { "name": "tail", "parent": "body", "pivot": [0, 29, 13], "cubes": [ {"origin": [-1.5, 15, 13], "size": [3, 14, 0], "pivot": [0, 29, 13], "rotation": [0, 180, 0], "uv": [122, 0]} ] }, { "name": "head", "parent": "body", "pivot": [0.5, 25, -10], "cubes": [ {"origin": [-3.5, 22, -25], "size": [7, 8, 19], "uv": [60, 24]}, {"origin": [-3.5, 30, -25], "size": [7, 14, 7], "uv": [21, 0]}, {"origin": [-2.5, 39, -31], "size": [5, 5, 6], "uv": [50, 0]} ] }, { "name": "bridle", "parent": "head", "pivot": [0.5, 25, -10], "cubes": [ {"name": "bridle layer", "origin": [-3.5, 22, -25], "size": [7, 8, 19], "inflate": 0.1, "uv": [60, 87], "layer": true, "visibility": false}, {"name": "bridle layer", "origin": [-3.5, 30, -25], "size": [7, 14, 7], "inflate": 0.1, "uv": [21, 64], "layer": true, "visibility": false}, {"name": "bridle layer", "origin": [-2.5, 39, -31.1], "size": [5, 5, 6], "inflate": 0.1, "uv": [50, 64], "layer": true, "visibility": false}, {"origin": [2.5, 40, -28], "size": [1, 2, 2], "uv": [74, 70]}, {"origin": [-3.5, 40, -28], "size": [1, 2, 2], "uv": [74, 70], "mirror": true} ] }, { "name": "left_ear", "parent": "head", "pivot": [3, 43, -19.5], "cubes": [ {"origin": [3, 42.5, -20.5], "size": [3, 1, 2], "uv": [45, 0]} ] }, { "name": "right_ear", "parent": "head", "pivot": [-3, 43, -19.5], "cubes": [ {"origin": [-6, 42.5, -20.5], "size": [3, 1, 2], "uv": [67, 0]} ] }, { "name": "reins", "parent": "head", "pivot": [3.7, 41, -27], "cubes": [ {"name": "reins layer", "origin": [3.7, 34, -27], "size": [0, 7, 15], "uv": [98, 42], "layer": true, "visibility": false}, {"name": "reins layer", "origin": [-3.7, 34, -12], "size": [7.4, 7, 0], "uv": [84, 57], "layer": true, "visibility": false}, {"name": "reins layer", "origin": [-3.7, 34, -27], "size": [0, 7, 15], "uv": [98, 42], "layer": true, "visibility": false} ] }, { "name": "hump", "parent": "body", "pivot": [0.5, 32, 0], "cubes": [ {"origin": [-4.5, 32, -6], "size": [9, 5, 11], "uv": [74, 0]} ] }, { "name": "right_front_leg", "parent": "root", "pivot": [-4.9, 23, -10.5], "cubes": [ {"origin": [-7.4, 0, -13], "size": [5, 21, 5], "uv": [0, 26]} ] }, { "name": "left_front_leg", "parent": "root", "pivot": [4.9, 23, -10.5], "cubes": [ {"origin": [2.4, 0, -13], "size": [5, 21, 5], "uv": [0, 0]} ] }, { "name": "left_hind_leg", "parent": "root", "pivot": [4.9, 23, 9.5], "cubes": [ {"origin": [2.4, 0, 7], "size": [5, 21, 5], "uv": [58, 16]} ] }, { "name": "right_hind_leg", "parent": "root", "pivot": [-4.9, 23, 9.5], "cubes": [ {"origin": [-7.4, 0, 7], "size": [5, 21, 5], "uv": [94, 16]} ] } ] }`};bt.camel_baby={display_name:"Camel Baby",model:`{ "name": "camel_baby", "texturewidth": 64, "textureheight": 64, "external_textures": ["entity/camel/camel_baby.png"], "eyes": [ [3, 6, 2, 1], [10, 6, 2, 1] ], "bones": [ { "name": "root", "pivot": [0, 0, 0] }, { "name": "body", "parent": "root", "pivot": [0, 17, 0], "cubes": [ {"origin": [-4.5, 13, -8], "size": [9, 8, 16], "uv": [0, 14]} ] }, { "name": "tail", "parent": "body", "pivot": [0, 18.5, 8.05], "cubes": [ {"origin": [-1.5, 10, 8.05], "size": [3, 9, 0], "uv": [50, 38]} ] }, { "name": "head", "parent": "body", "pivot": [0, 16, -7.5], "cubes": [ {"origin": [-2.5, 14, -15], "size": [5, 5, 7], "uv": [20, 0]}, {"origin": [-2.5, 19, -15], "size": [5, 9, 5], "uv": [0, 0]}, {"origin": [-2.5, 24, -18], "size": [5, 4, 3], "uv": [0, 14]} ] }, { "name": "right_ear", "parent": "head", "pivot": [-2.5, 27, -11.5], "cubes": [ {"origin": [-5.5, 26.5, -12.5], "size": [3, 1, 2], "uv": [37, 0]} ] }, { "name": "left_ear", "parent": "head", "pivot": [2.5, 27, -11.5], "cubes": [ {"origin": [2.5, 26.5, -12.5], "size": [3, 1, 2], "uv": [47, 0]} ] }, { "name": "right_front_leg", "parent": "root", "pivot": [-2.9, 12.5, -5.5], "cubes": [ {"origin": [-4.4, 0, -7], "size": [3, 13, 3], "uv": [36, 14]} ] }, { "name": "left_front_leg", "parent": "root", "pivot": [2.9, 12.5, -5.5], "cubes": [ {"origin": [1.4, 0, -7], "size": [3, 13, 3], "uv": [48, 14]} ] }, { "name": "left_hind_leg", "parent": "root", "pivot": [2.9, 12.5, 5.5], "cubes": [ {"origin": [1.4, 0, 4], "size": [3, 13, 3], "uv": [12, 38]} ] }, { "name": "right_hind_leg", "parent": "root", "pivot": [-3, 12.5, 5.5], "cubes": [ {"origin": [-4.4, 0, 4], "size": [3, 13, 3], "uv": [0, 38]} ] } ] }`};bt.cat={display_name:"Cat",model:`{ "name": "cat", "external_textures": ["entity/cat/calico.png"], "texturewidth": 64, "textureheight": 32, "bones": [ { "name": "body", "pivot": [0, 7, 1] }, { "name": "belly", "parent": "body", "pivot": [0, 7, 1], "rotation": [90, 0, 0], "cubes": [ {"name": "body", "origin": [-2, -1, -2], "size": [4, 16, 6], "uv": [20, 0]} ] }, { "name": "head", "parent": "body", "pivot": [0, 9, -9], "cubes": [ {"name": "head", "origin": [-2.5, 7, -12], "size": [5, 4, 5], "uv": [0, 0]}, {"name": "head", "origin": [-1.5, 7.01562, -13], "size": [3, 2, 2], "uv": [0, 24]}, {"name": "head", "origin": [-2, 11, -9], "size": [1, 1, 2], "uv": [0, 10]}, {"name": "head", "origin": [1, 11, -9], "size": [1, 1, 2], "uv": [6, 10]} ] }, { "name": "tail1", "parent": "body", "pivot": [0, 9, 8], "rotation": [45, 0, 0], "cubes": [ {"name": "tail1", "origin": [-0.5, 1, 8], "size": [1, 8, 1], "uv": [0, 15]} ] }, { "name": "tail2", "parent": "tail1", "pivot": [0, 1, 8], "rotation": [45, 0, 0], "cubes": [ {"name": "tail2", "origin": [-0.5, -7, 8], "size": [1, 8, 1], "uv": [4, 15]} ] }, { "name": "backLegL", "parent": "body", "pivot": [1.1, 6, 7], "cubes": [ {"name": "backLegL", "origin": [0.1, 0, 6], "size": [2, 6, 2], "uv": [8, 13]} ] }, { "name": "backLegR", "parent": "body", "pivot": [-1.1, 6, 7], "cubes": [ {"name": "backLegR", "origin": [-2.1, 0, 6], "size": [2, 6, 2], "uv": [8, 13]} ] }, { "name": "frontLegL", "parent": "body", "pivot": [1.2, 10, -4], "cubes": [ {"name": "frontLegL", "origin": [0.2, 0.2, -5], "size": [2, 10, 2], "uv": [40, 0]} ] }, { "name": "frontLegR", "parent": "body", "pivot": [-1.2, 10, -4], "cubes": [ {"name": "frontLegR", "origin": [-2.2, 0.2, -5], "size": [2, 10, 2], "uv": [40, 0]} ] } ] }`};bt.cat_baby={display_name:"Kitten / Cat Baby",model:`{ "name": "cat_baby", "texturewidth": 32, "textureheight": 32, "external_textures": ["entity/cat/calico_baby.png"], "eyes": [ [5, 5, 1, 1], [7, 5, 1, 1] ], "bones": [ { "name": "body", "pivot": [0, 0, 0] }, { "name": "belly", "parent": "body", "pivot": [0, 3.5, 0.5], "cubes": [ {"origin": [-2, 2, -3], "size": [4, 3, 7], "uv": [0, 8]} ] }, { "name": "head", "parent": "body", "pivot": [0, 4, -3.125], "cubes": [ {"origin": [-2.5, 3, -6], "size": [5, 4, 4], "uv": [0, 0]}, {"origin": [-2, 7, -4], "size": [1, 1, 2], "uv": [18, 0]}, {"origin": [1, 7, -4], "size": [1, 1, 2], "uv": [24, 0]}, {"origin": [-1.5, 3, -7], "size": [3, 2, 1], "uv": [18, 3]} ] }, { "name": "tail1", "parent": "body", "pivot": [0, 4.89303, 3.91511], "rotation": [-32.5, 0, 0], "cubes": [ {"origin": [-0.5, 4, 4], "size": [1, 1, 5], "uv": [0, 18]} ] }, { "name": "backLegL", "parent": "body", "pivot": [1, 2, 2.5], "cubes": [ {"origin": [0.5, 0, 1.5], "size": [1, 2, 2], "uv": [18, 22]} ] }, { "name": "backLegR", "parent": "body", "pivot": [-1, 2, 2.5], "cubes": [ {"origin": [-1.5, 0, 1.5], "size": [1, 2, 2], "uv": [12, 22]} ] }, { "name": "frontLegL", "parent": "body", "pivot": [1, 2, -1.5], "cubes": [ {"origin": [0.5, 0, -2.5], "size": [1, 2, 2], "uv": [18, 18]} ] }, { "name": "frontLegR", "parent": "body", "pivot": [-1, 2, -1.5], "cubes": [ {"origin": [-1.5, 0, -2.5], "size": [1, 2, 2], "uv": [12, 18]} ] } ] }`};bt.cape_elytra={display_name:"Cape + Elytra",model:`{ "name": "cape and elytra", "external_textures": ["models/armor/elytra.png"], "texturewidth": 64, "textureheight": 32, "bones": [ { "name": "cape", "pivot": [9, 24, 3], "rotation": [0, 180, 0], "cubes": [ {"origin": [4, 8, 3], "size": [10, 16, 1], "uv": [0, 0]} ] }, { "name": "elytra", "pivot": [-18, 24, 1] }, { "name": "left_wing", "parent": "elytra", "pivot": [-18, 4, 1], "cubes": [ {"origin": [-18, 4, 1], "size": [10, 20, 2], "uv": [22, 0]} ] }, { "name": "right_wing", "parent": "elytra", "pivot": [-18, 4, 1], "mirror": true, "cubes": [ {"origin": [-28, 4, 1], "size": [10, 20, 2], "uv": [22, 0], "mirror": true} ] } ] }`};bt.chest={display_name:"Chest",model:`{ "name": "chest", "external_textures": ["entity/chest/normal.png"], "texturewidth": 64, "textureheight": 64, "bones": [ { "name": "chest", "pivot": [0, 8, 0], "rotation": [0, 0, -180], "cubes": [ {"name": "cube", "origin": [-1, 5, 7], "size": [2, 4, 1], "uv": [0, 0]}, {"name": "cube", "origin": [-7, 2, -7], "size": [14, 5, 14], "uv": [0, 0]}, {"name": "cube", "origin": [-7, 6, -7], "size": [14, 10, 14], "uv": [0, 19]} ] } ] }`};bt.chest_left={display_name:"Chest Left",model:`{ "name": "chest_left", "external_textures": ["entity/chest/double_normal.png"], "texturewidth": 64, "textureheight": 64, "bones": [ { "name": "chest", "pivot": [0, 8, 0], "rotation": [0, 0, -180], "cubes": [ {"name": "cube", "origin": [-9, 5, 7], "size": [2, 4, 1], "uv": [0, 0]}, {"name": "cube", "origin": [-8, 2, -7], "size": [15, 5, 14], "uv": [0, 0]}, {"name": "cube", "origin": [-8, 6, -7], "size": [15, 10, 14], "uv": [0, 19]} ] } ] }`};bt.chest_right={display_name:"Chest Right",model:`{ "name": "chest_right", "external_textures": ["entity/chest/double_normal.png"], "texturewidth": 64, "textureheight": 64, "bones": [ { "name": "chest", "pivot": [0, 8, 0], "rotation": [0, 0, -180], "cubes": [ {"name": "cube", "origin": [7, 5, 7], "size": [2, 4, 1], "uv": [0, 0]}, {"name": "cube", "origin": [-7, 2, -7], "size": [15, 5, 14], "uv": [0, 0]}, {"name": "cube", "origin": [-7, 6, -7], "size": [15, 10, 14], "uv": [0, 19]} ] } ] }`};bt.chicken={display_name:"Chicken",variants:{regular:{name:"Regular",model:`{ "name": "chicken", "external_textures": ["entity/chicken/chicken.png"], "texturewidth": 64, "textureheight": 32, "bones": [ { "name": "body", "pivot": [0, 8, 0], "rotation": [90, 0, 0], "cubes": [ {"name": "body", "origin": [-3, 4, -3], "size": [6, 8, 6], "uv": [0, 9]} ] }, { "name": "head", "pivot": [0, 9, -4], "cubes": [ {"name": "head", "origin": [-2, 9, -6], "size": [4, 6, 3], "uv": [0, 0]} ] }, { "name": "comb", "parent": "head", "pivot": [0, 9, -4], "cubes": [ {"name": "comb", "origin": [-1, 9, -7], "size": [2, 2, 2], "uv": [14, 4]} ] }, { "name": "beak", "parent": "head", "pivot": [0, 9, -4], "cubes": [ {"name": "beak", "origin": [-2, 11, -8], "size": [4, 2, 2], "uv": [14, 0]} ] }, { "name": "leg0", "pivot": [-2, 5, 1], "cubes": [ {"name": "leg0", "origin": [-3, 0, -2], "size": [3, 5, 3], "uv": [26, 0]} ] }, { "name": "leg1", "pivot": [1, 5, 1], "cubes": [ {"name": "leg1", "origin": [0, 0, -2], "size": [3, 5, 3], "uv": [26, 0]} ] }, { "name": "wing0", "pivot": [-3, 11, 0], "cubes": [ {"name": "wing0", "origin": [-4, 7, -3], "size": [1, 4, 6], "uv": [24, 13]} ] }, { "name": "wing1", "pivot": [3, 11, 0], "cubes": [ {"name": "wing1", "origin": [3, 7, -3], "size": [1, 4, 6], "uv": [24, 13]} ] } ] }`},cold:{name:"Cold",model:`{ "name": "chicken_cold", "external_textures": ["entity/chicken/chicken_cold.png"], "texturewidth": 64, "textureheight": 32, "bones": [ { "name": "body", "pivot": [0, 8, 0], "cubes": [ {"origin": [-3, 12, 5], "size": [6, 8, 6], "pivot": [0, 8, 8], "rotation": [90, 0, 0], "uv": [0, 9]}, {"origin": [0, 10, 7], "size": [0, 3, 5], "pivot": [0, 8, 8], "rotation": [90, 0, 0], "uv": [38, 9]} ] }, { "name": "head", "pivot": [0, 9, -4], "cubes": [ {"origin": [-2, 9, -6], "size": [4, 6, 3], "uv": [0, 0]}, {"origin": [-3, 13, -6.015], "size": [6, 3, 4], "uv": [44, 0]} ] }, { "name": "comb", "parent": "head", "pivot": [0, 9, -4], "cubes": [ {"origin": [-1, 9, -7], "size": [2, 2, 2], "uv": [14, 4]} ] }, { "name": "beak", "parent": "head", "pivot": [0, 9, -4], "cubes": [ {"origin": [-2, 11, -8], "size": [4, 2, 2], "uv": [14, 0]} ] }, { "name": "leg0", "pivot": [-2, 5, 1], "cubes": [ {"origin": [-3, 0, -2], "size": [3, 5, 3], "uv": [26, 0]} ] }, { "name": "leg1", "pivot": [1, 5, 1], "cubes": [ {"origin": [0, 0, -2], "size": [3, 5, 3], "uv": [26, 0]} ] }, { "name": "wing0", "pivot": [-3, 11, 0], "cubes": [ {"origin": [-4, 7, -3], "size": [1, 4, 6], "uv": [24, 13]} ] }, { "name": "wing1", "pivot": [3, 11, 0], "cubes": [ {"origin": [3, 7, -3], "size": [1, 4, 6], "uv": [24, 13]} ] } ] }`}}};bt.chicken_baby={display_name:"Chick / Chicken Baby",model:`{ "name": "chicken_baby", "texturewidth": 16, "textureheight": 16, "external_textures": ["entity/chicken/chicken_temperate_baby.png"], "eyes": [ [4, 5, 1, 1], [7, 5, 1, 1] ], "bones": [ { "name": "body", "pivot": [0, 3.75, -1.25], "cubes": [ {"origin": [-2, 2, -2], "size": [4, 4, 4], "uv": [0, 0]}, {"origin": [-1, 3, -3], "size": [2, 1, 1], "uv": [10, 8]} ] }, { "name": "leg0", "pivot": [-1, 2, 0.5], "cubes": [ {"origin": [-1.5, 0, 0.5], "size": [1, 2, 0], "uv": [0, 2]}, {"origin": [-1.5, 0, -0.5], "size": [1, 0, 1], "uv": [0, 0]} ] }, { "name": "leg1", "pivot": [1, 2, 0.5], "cubes": [ {"origin": [0.5, 0, 0.5], "size": [1, 2, 0], "uv": [2, 2]}, {"origin": [0.5, 0, -0.5], "size": [1, 0, 1], "uv": [0, 1]} ] }, { "name": "wing0", "pivot": [-2, 4, 0], "cubes": [ {"origin": [-3, 4, -1], "size": [1, 0, 2], "uv": [4, 8]} ] }, { "name": "wing1", "pivot": [2, 4, 0], "cubes": [ {"origin": [2, 4, -1], "size": [1, 0, 2], "uv": [6, 8]} ] } ] }`};bt.cod={display_name:"Cod",model:`{ "name": "cod", "external_textures": ["entity/fish/cod.png"], "texturewidth": 32, "textureheight": 32, "bones": [ { "name": "body", "pivot": [0, 0, 0], "cubes": [ {"name": "body", "origin": [-1, 0, 1], "size": [2, 4, 7], "uv": [0, 0]}, {"name": "body", "origin": [0, 4, 0], "size": [0, 1, 6], "uv": [20, -6]}, {"name": "body", "origin": [0, -1, 3], "size": [0, 1, 2], "uv": [22, -1]} ] }, { "name": "head", "parent": "body", "pivot": [0, 2, 0], "cubes": [ {"name": "head", "origin": [-0.9992, 1.0008, -3], "size": [2, 3, 1], "uv": [0, 0]}, {"name": "head", "origin": [-1, 0, -2], "size": [2, 4, 3], "uv": [11, 0]} ] }, { "name": "leftFin", "parent": "body", "pivot": [1, 1, 0], "rotation": [0, 0, 35], "cubes": [ {"name": "leftFin", "origin": [1, 0, 0], "size": [2, 1, 2], "uv": [24, 4]} ] }, { "name": "rightFin", "parent": "body", "pivot": [-1, 1, 0], "rotation": [0, 0, -35], "cubes": [ {"name": "rightFin", "origin": [-3, 0, 0], "size": [2, 1, 2], "uv": [24, 1]} ] }, { "name": "tailfin", "parent": "body", "pivot": [0, 0, 8], "cubes": [ {"name": "tailfin", "origin": [0, 0, 8], "size": [0, 4, 6], "uv": [20, 1]} ] }, { "name": "waist", "parent": "body", "pivot": [0, 0, 0] } ] }`};bt.copper_golem={display_name:"Copper Golem",model:`{ "name": "copper_golem", "texturewidth": 64, "textureheight": 64, "eyes": [ [11, 12], [15, 12] ], "bones": [ { "name": "root", "pivot": [1, 0, 0] }, { "name": "body", "parent": "root", "pivot": [0, 5, 0], "cubes": [ {"origin": [-4, 5, -3], "size": [8, 6, 6], "uv": [0, 15]} ] }, { "name": "head", "parent": "body", "pivot": [0, 11, 0], "cubes": [ {"origin": [-4, 11, -5], "size": [8, 5, 10], "uv": [0, 0]}, {"origin": [-1, 10, -6], "size": [2, 3, 2], "uv": [56, 0]}, {"origin": [-1, 16, -1], "size": [2, 4, 2], "uv": [37, 8]}, {"origin": [-2, 20, -2], "size": [4, 4, 4], "uv": [37, 0]} ] }, { "name": "right_arm", "parent": "body", "pivot": [-4, 11, 0], "cubes": [ {"origin": [-7, 2, -2], "size": [3, 10, 4], "uv": [36, 16]} ] }, { "name": "rightItem", "parent": "right_arm", "pivot": [-5, 3.6, -1] }, { "name": "left_arm", "parent": "body", "pivot": [4, 11, 0], "cubes": [ {"origin": [4, 2, -2], "size": [3, 10, 4], "uv": [50, 16]} ] }, { "name": "right_leg", "parent": "root", "pivot": [-2, 5, 0], "cubes": [ {"origin": [-3.9, 0, -1.99], "size": [4, 5, 4], "uv": [0, 27]} ] }, { "name": "left_leg", "parent": "root", "pivot": [2, 5, 0], "cubes": [ {"origin": [-0.1, 0, -2], "size": [4, 5, 4], "uv": [16, 27]} ] } ] }`};bt.cow={display_name:"Cow",variants:{new:{name:"Regular",model:`{ "name": "cow", "external_textures": ["entity/cow/cow.png"], "texturewidth": 64, "textureheight": 64, "eyes": [ [7, 9], [11, 9] ], "bones": [ { "name": "root", "pivot": [0, 0, -1] }, { "name": "head", "parent": "root", "pivot": [0, 20, -9], "cubes": [ {"origin": [-4, 16, -15], "size": [8, 8, 6], "uv": [0, 0]}, {"origin": [-3, 16, -16], "size": [6, 3, 1], "uv": [1, 33]}, {"origin": [-5, 22, -14], "size": [1, 3, 1], "uv": [22, 0]}, {"origin": [4, 22, -14], "size": [1, 3, 1], "uv": [22, 0]} ] }, { "name": "body", "parent": "root", "pivot": [0, 19, 1], "cubes": [ {"origin": [-6, 29, 14], "size": [12, 18, 10], "pivot": [0, 18, 20], "rotation": [90, 0, 0], "uv": [18, 4]}, {"origin": [-2, 29, 13], "size": [4, 6, 1], "pivot": [0, 18, 20], "rotation": [90, 0, 0], "uv": [52, 0]} ] }, { "name": "leg0", "parent": "root", "pivot": [-4, 12, 6], "cubes": [ {"origin": [-6, 0, 4], "size": [4, 12, 4], "uv": [0, 16]} ] }, { "name": "leg1", "parent": "root", "pivot": [4, 12, 6], "mirror": true, "cubes": [ {"origin": [2, 0, 4], "size": [4, 12, 4], "uv": [0, 16], "mirror": true} ] }, { "name": "leg2", "parent": "root", "pivot": [-4, 12, -7], "cubes": [ {"origin": [-6, 0, -8], "size": [4, 12, 4], "uv": [0, 16]} ] }, { "name": "leg3", "parent": "root", "pivot": [4, 12, -7], "mirror": true, "cubes": [ {"origin": [2, 0, -8], "size": [4, 12, 4], "uv": [0, 16], "mirror": true} ] } ] }`},cold:{name:"Cold",model:`{ "name": "cow_cold", "external_textures": ["entity/cow/cow_cold.png"], "texturewidth": 64, "textureheight": 64, "eyes": [ [7, 9], [11, 9] ], "bones": [ { "name": "root", "pivot": [0, 0, -1] }, { "name": "head", "parent": "root", "pivot": [0, 20, -9], "cubes": [ {"origin": [-4, 16, -15], "size": [8, 8, 6], "uv": [0, 0]}, {"origin": [-6, 21, -13], "size": [2, 6, 2], "pivot": [-4.5, 22.5, -12.5], "rotation": [90, 0, 0], "uv": [0, 32]}, {"origin": [-3, 16, -16], "size": [6, 3, 1], "uv": [9, 33]}, {"origin": [4, 19.5, -14.5], "size": [2, 6, 2], "pivot": [5.5, 22.5, -14], "rotation": [90, 0, 0], "uv": [0, 32], "mirror": true} ] }, { "name": "body", "parent": "root", "pivot": [0, 19, 1], "cubes": [ {"origin": [-6, 29, 14], "size": [12, 18, 10], "inflate": 0.5, "pivot": [0, 18, 20], "rotation": [90, 0, 0], "uv": [20, 32]}, {"origin": [-6, 29, 14], "size": [12, 18, 10], "pivot": [0, 18, 20], "rotation": [90, 0, 0], "uv": [18, 4]}, {"origin": [-2, 29, 13], "size": [4, 6, 1], "pivot": [0, 18, 20], "rotation": [90, 0, 0], "uv": [52, 0]} ] }, { "name": "leg0", "parent": "root", "pivot": [-4, 12, 6], "cubes": [ {"origin": [-6, 0, 4], "size": [4, 12, 4], "uv": [0, 16]} ] }, { "name": "leg1", "parent": "root", "pivot": [4, 12, 6], "mirror": true, "cubes": [ {"origin": [2, 0, 4], "size": [4, 12, 4], "uv": [0, 16], "mirror": true} ] }, { "name": "leg2", "parent": "root", "pivot": [-4, 12, -7], "cubes": [ {"origin": [-6, 0, -8], "size": [4, 12, 4], "uv": [0, 16]} ] }, { "name": "leg3", "parent": "root", "pivot": [4, 12, -7], "mirror": true, "cubes": [ {"origin": [2, 0, -8], "size": [4, 12, 4], "uv": [0, 16], "mirror": true} ] } ] }`},warm:{name:"Warm",model:`{ "name": "cow_warm", "external_textures": ["entity/cow/cow_warm.png"], "texturewidth": 64, "textureheight": 64, "eyes": [ [7, 9], [11, 9] ], "bones": [ { "name": "root", "pivot": [0, 0, -1] }, { "name": "head", "parent": "root", "pivot": [0, 20, -9], "cubes": [ {"origin": [-4, 16, -15], "size": [8, 8, 6], "uv": [0, 0]}, {"origin": [-8, 21, -14], "size": [4, 2, 2], "uv": [27, 0]}, {"origin": [-8, 23, -14], "size": [2, 2, 2], "uv": [39, 0]}, {"origin": [4, 21, -14], "size": [4, 2, 2], "uv": [27, 0], "mirror": true}, {"origin": [6, 23, -14], "size": [2, 2, 2], "uv": [39, 0], "mirror": true}, {"origin": [-3, 16, -16], "size": [6, 3, 1], "uv": [1, 33]} ] }, { "name": "body", "parent": "root", "pivot": [0, 19, 1], "cubes": [ {"origin": [-6, 29, 14], "size": [12, 18, 10], "pivot": [0, 18, 20], "rotation": [90, 0, 0], "uv": [18, 4]}, {"origin": [-2, 29, 13], "size": [4, 6, 1], "pivot": [0, 18, 20], "rotation": [90, 0, 0], "uv": [52, 0]} ] }, { "name": "leg0", "parent": "root", "pivot": [-4, 12, 6], "cubes": [ {"origin": [-6, 0, 4], "size": [4, 12, 4], "uv": [0, 16]} ] }, { "name": "leg1", "parent": "root", "pivot": [4, 12, 6], "mirror": true, "cubes": [ {"origin": [2, 0, 4], "size": [4, 12, 4], "uv": [0, 16], "mirror": true} ] }, { "name": "leg2", "parent": "root", "pivot": [-4, 12, -7], "cubes": [ {"origin": [-6, 0, -8], "size": [4, 12, 4], "uv": [0, 16]} ] }, { "name": "leg3", "parent": "root", "pivot": [4, 12, -7], "mirror": true, "cubes": [ {"origin": [2, 0, -8], "size": [4, 12, 4], "uv": [0, 16], "mirror": true} ] } ] }`},old:{name:"Classic",model:`{ "name": "cow", "texturewidth": 64, "textureheight": 32, "eyes": [ [7, 9], [11, 9] ], "bones": [ { "name": "body", "pivot": [0, 19, 2], "rotation": [90, 0, 0], "cubes": [ {"name": "body", "origin": [-6, 11, -5], "size": [12, 18, 10], "uv": [18, 4]}, {"name": "body", "origin": [-2, 11, -6], "size": [4, 6, 1], "uv": [52, 0]} ] }, { "name": "head", "pivot": [0, 20, -8], "cubes": [ {"name": "head", "origin": [-4, 16, -14], "size": [8, 8, 6], "uv": [0, 0]}, {"name": "head", "origin": [-5, 22, -12], "size": [1, 3, 1], "uv": [22, 0]}, {"name": "head", "origin": [4, 22, -12], "size": [1, 3, 1], "uv": [22, 0]} ] }, { "name": "leg0", "pivot": [-4, 12, 7], "cubes": [ {"name": "leg0", "origin": [-6, 0, 5], "size": [4, 12, 4], "uv": [0, 16]} ] }, { "name": "leg1", "pivot": [4, 12, 7], "mirror": true, "cubes": [ {"name": "leg1", "origin": [2, 0, 5], "size": [4, 12, 4], "uv": [0, 16]} ] }, { "name": "leg2", "pivot": [-4, 12, -6], "cubes": [ {"name": "leg2", "origin": [-6, 0, -7], "size": [4, 12, 4], "uv": [0, 16]} ] }, { "name": "leg3", "pivot": [4, 12, -6], "mirror": true, "cubes": [ {"name": "leg3", "origin": [2, 0, -7], "size": [4, 12, 4], "uv": [0, 16]} ] } ] }`}}};bt.cow_baby={display_name:"Cow Baby",model:`{ "name": "cow_baby", "texturewidth": 64, "textureheight": 64, "external_textures": ["entity/cow/cow_temperate_baby.png"], "eyes": [ [5, 25, 1, 1], [10, 25, 1, 1] ], "bones": [ { "name": "root", "pivot": [0, 0, 0] }, { "name": "head", "parent": "root", "pivot": [0, 10.43096, -5.16667], "cubes": [ {"origin": [-3, 9, -10], "size": [6, 6, 5], "uv": [0, 18]}, {"origin": [3, 14, -9], "size": [1, 2, 1], "uv": [8, 29]}, {"origin": [-4, 14, -9], "size": [1, 2, 1], "uv": [4, 29], "mirror": true}, {"origin": [-2, 9, -11], "size": [4, 3, 1], "uv": [12, 29]} ] }, { "name": "body", "parent": "root", "pivot": [0, 9, 0], "cubes": [ {"origin": [-4, 6, -6], "size": [8, 6, 12], "uv": [0, 0]} ] }, { "name": "leg0", "parent": "root", "pivot": [-2.475, 6, 3.5], "cubes": [ {"origin": [-3.975, 0, 2], "size": [3, 6, 3], "uv": [22, 27]} ] }, { "name": "leg1", "parent": "root", "pivot": [2.475, 6, 3.5], "cubes": [ {"origin": [0.975, 0, 2], "size": [3, 6, 3], "uv": [34, 27]} ] }, { "name": "leg2", "parent": "root", "pivot": [-2.475, 6, -3.5], "cubes": [ {"origin": [-3.975, 0, -5], "size": [3, 6, 3], "uv": [22, 18]} ] }, { "name": "leg3", "parent": "root", "pivot": [2.475, 6, -3.5], "cubes": [ {"origin": [0.975, 0, -5], "size": [3, 6, 3], "uv": [34, 18]} ] } ] }`};bt.creaking={display_name:"Creaking",model:`{ "name": "creaking", "external_textures": ["entity/creaking/creaking.png"], "texturewidth": 64, "textureheight": 64, "eyes": [ [6, 8, 3, 1], [9, 10, 3, 1], [7, 13, 3, 1] ], "bones": [ { "name": "root", "pivot": [0, 0, 0] }, { "name": "Waist", "parent": "root", "pivot": [-1, 19, 0] }, { "name": "head", "parent": "Waist", "pivot": [-4, 30, 0], "cubes": [ {"origin": [-7, 30, -3], "size": [6, 10, 6], "uv": [0, 0]}, {"origin": [-7, 40, -3], "size": [6, 3, 6], "uv": [28, 31]}, {"origin": [-1, 29, 0], "size": [9, 14, 0], "uv": [12, 40]}, {"origin": [-16, 30, 0], "size": [9, 14, 0], "uv": [34, 12]} ] }, { "name": "Body", "parent": "Waist", "pivot": [-1, 26, 1], "cubes": [ {"origin": [-1, 16, -2], "size": [6, 13, 5], "uv": [0, 16]}, {"origin": [-7, 23, -2], "size": [6, 7, 5], "uv": [24, 0]} ] }, { "name": "RightArm", "parent": "Waist", "pivot": [-8, 28.5, 1.5], "cubes": [ {"origin": [-10, 9, 0], "size": [3, 21, 3], "uv": [22, 13]}, {"origin": [-10, 5, 0], "size": [3, 4, 3], "uv": [46, 0]} ] }, { "name": "LeftArm", "parent": "Waist", "pivot": [5, 28, 0.5], "cubes": [ {"origin": [5, 13, -1], "size": [3, 16, 3], "uv": [30, 40]}, {"origin": [5, 29, -1], "size": [3, 4, 3], "uv": [52, 12]}, {"origin": [5, 9, -1], "size": [3, 4, 3], "uv": [52, 19]} ] }, { "name": "LeftLeg", "parent": "root", "pivot": [1.5, 16, 0.5], "cubes": [ {"origin": [0, 0, -1], "size": [3, 16, 3], "uv": [42, 40]}, {"origin": [0, 0.3, -4], "size": [5, 0, 9], "uv": [45, 55]} ] }, { "name": "RightLeg", "parent": "root", "pivot": [-1, 17.5, 0.5], "cubes": [ {"origin": [-4, 0, -1], "size": [3, 19, 3], "uv": [0, 34]}, {"origin": [-6, 0.3, -4], "size": [5, 0, 9], "uv": [45, 46]}, {"origin": [-4, 19, -1], "size": [3, 3, 3], "uv": [12, 34]} ] } ] }`};bt.creeper={display_name:"Creeper",model:`{ "name": "creeper", "external_textures": ["entity/creeper/creeper.png"], "texturewidth": 64, "textureheight": 32, "eyes": [ [9, 10], [13, 10] ], "bones": [ { "name": "Body", "pivot": [0, 0, 0], "cubes": [ {"name": "Body", "origin": [-4, 6, -2], "size": [8, 12, 4], "uv": [16, 16]} ] }, { "name": "Head", "parent": "Body", "pivot": [0, 18, 0], "cubes": [ {"name": "Head", "origin": [-4, 18, -4], "size": [8, 8, 8], "uv": [0, 0]} ] }, { "name": "leg0", "parent": "Body", "pivot": [-2, 6, 4], "cubes": [ {"name": "leg0", "origin": [-4, 0, 2], "size": [4, 6, 4], "uv": [0, 16]} ] }, { "name": "leg1", "parent": "Body", "pivot": [2, 6, 4], "cubes": [ {"name": "leg1", "origin": [0, 0, 2], "size": [4, 6, 4], "uv": [0, 16]} ] }, { "name": "leg2", "parent": "Body", "pivot": [-2, 6, -4], "cubes": [ {"name": "leg2", "origin": [-4, 0, -6], "size": [4, 6, 4], "uv": [0, 16]} ] }, { "name": "leg3", "parent": "Body", "pivot": [2, 6, -4], "cubes": [ {"name": "leg3", "origin": [0, 0, -6], "size": [4, 6, 4], "uv": [0, 16]} ] } ] }`};bt.dolphin={display_name:"Dolphin",pose:!0,model_bedrock:`{ "name": "dolphin", "external_textures": ["entity/dolphin.png"], "texturewidth": 64, "textureheight": 64, "bones": [ { "name": "body", "pivot": [0, 0, -3], "cubes": [ {"name": "body", "origin": [-4, 0, -3], "size": [8, 7, 13], "uv": [0, 13]} ] }, { "name": "head", "parent": "body", "pivot": [0, 0, -3], "cubes": [ {"name": "head", "origin": [-4, 0, -9], "size": [8, 7, 6], "uv": [0, 0]} ] }, { "name": "nose", "parent": "head", "pivot": [0, 0, -13], "cubes": [ {"name": "nose", "origin": [-1, 0, -13], "size": [2, 2, 4], "uv": [0, 13]} ] }, { "name": "tail", "parent": "body", "pivot": [0, 2.5, 11], "pose": [-5, 0, 0], "cubes": [ {"name": "tail", "origin": [-2, 0, 10], "size": [4, 5, 11], "uv": [0, 33]} ] }, { "name": "tail_fin", "parent": "tail", "pivot": [0, 2.5, 20], "pose": [-8, 0, 0], "cubes": [ {"name": "tail_fin", "origin": [-5, 2, 19], "size": [10, 1, 6], "uv": [0, 49]} ] }, { "name": "back_fin", "parent": "body", "pivot": [0, 7, 2], "rotation": [-30, 0, 0], "cubes": [ {"name": "back_fin", "origin": [-0.5, 6.25, 1], "size": [1, 5, 4], "uv": [29, 0]} ] }, { "name": "left_fin", "parent": "body", "pivot": [3, 1, -1], "rotation": [0, -25, 20], "cubes": [ {"name": "left_fin", "origin": [3, 1, -2.5], "size": [8, 1, 4], "uv": [40, 0]} ] }, { "name": "right_fin", "parent": "body", "pivot": [-3, 1, -1], "rotation": [0, 25, -20], "cubes": [ {"name": "right_fin", "origin": [-11, 1, -2.5], "size": [8, 1, 4], "uv": [40, 6]} ] } ] }`,model_java:`{ "name": "dolphin", "external_textures": ["entity/dolphin.png"], "texturewidth": 64, "textureheight": 64, "bones": [ { "name": "body", "pivot": [0, 0, -3], "cubes": [ {"name": "body", "origin": [-4, 0, -3], "size": [8, 7, 13], "uv": [22, 0]} ] }, { "name": "head", "parent": "body", "pivot": [0, 0, -3], "cubes": [ {"name": "head", "origin": [-4, 0, -9], "size": [8, 7, 6], "uv": [0, 0]} ] }, { "name": "nose", "parent": "head", "pivot": [0, 0, -13], "cubes": [ {"name": "nose", "origin": [-1, 0, -13], "size": [2, 2, 4], "uv": [0, 13]} ] }, { "name": "tail", "parent": "body", "pivot": [0, 2.5, 11], "pose": [-5, 0, 0], "cubes": [ {"name": "tail", "origin": [-2, 0, 10], "size": [4, 5, 11], "uv": [0, 19]} ] }, { "name": "tail_fin", "parent": "tail", "pivot": [0, 2.5, 20], "pose": [-8, 0, 0], "cubes": [ {"name": "tail_fin", "origin": [-5, 2, 19], "size": [10, 1, 6], "uv": [19, 20]} ] }, { "name": "back_fin", "parent": "body", "pivot": [0, 7, 2], "rotation": [60, 0, 0], "cubes": [ {"name": "back_fin", "origin": [-0.5, 3.75, 1.5], "size": [1, 4, 5], "uv": [51, 0]} ] }, { "name": "left_fin", "parent": "body", "pivot": [3, 2, 2], "rotation": [55, 0, 107], "cubes": [ {"name": "left_fin", "origin": [3, 2, 0.5], "size": [1, 4, 7], "uv": [48, 20]} ] }, { "name": "right_fin", "parent": "body", "pivot": [-3, 2, 2], "rotation": [55, 0, -107], "cubes": [ {"name": "left_fin", "origin": [-4, 2, 0.5], "size": [1, 4, 7], "uv": [48, 20], "mirror": true} ] } ] }`};bt.dolphin_baby={display_name:"Dolphin Baby",model:`{ "name": "dolphin_baby", "texturewidth": 64, "textureheight": 64, "external_textures": ["entity/dolphin/dolphin_baby.png"], "eyes": [ [1, 7, 1, 1], [12, 7, 1, 1] ], "bones": [ { "name": "body", "pivot": [-1, 0, -3], "cubes": [ {"origin": [-3, 0, -4], "size": [6, 5, 8], "uv": [20, 0]} ] }, { "name": "head", "parent": "body", "pivot": [0, 1.5, -4], "cubes": [ {"origin": [-3, 0, -8], "size": [6, 5, 4], "uv": [0, 0]} ] }, { "name": "nose", "parent": "head", "pivot": [0, 1, -8], "cubes": [ {"origin": [-1, 0, -10], "size": [2, 2, 2], "uv": [0, 9]} ] }, { "name": "tail", "parent": "body", "pivot": [0, 1.5, 4], "cubes": [ {"origin": [-2, 0, 4], "size": [4, 3, 7], "uv": [0, 13]} ] }, { "name": "tail_fin", "parent": "tail", "pivot": [0, 1.5, 10], "cubes": [ {"origin": [-4, 1, 9], "size": [8, 1, 4], "uv": [22, 13]} ] }, { "name": "back_fin", "parent": "body", "pivot": [0, 3.5, -2.7], "rotation": [50, 0, 0], "cubes": [ {"origin": [-0.5, 1.5, -1.7], "size": [1, 3, 4], "uv": [42, 0]} ] }, { "name": "left_fin", "parent": "body", "pivot": [1.8, 1.65001, -2.6], "rotation": [50, 0, 97.5], "cubes": [ {"origin": [1.3, 0.15001, -3.1], "size": [1, 3, 6], "uv": [34, 18]} ] }, { "name": "right_fin", "parent": "body", "pivot": [-1.8, 1.65001, -2.6], "rotation": [50, 0, -97.5], "cubes": [ {"origin": [-2.3, 0.15001, -3.1], "size": [1, 3, 6], "uv": [48, 18], "mirror": true} ] } ] }`};bt.donkey_baby={display_name:"Donkey / Mule Baby",model:`{ "name": "donkeymule", "texturewidth": 64, "textureheight": 64, "external_textures": ["entity/horse2/donkey_baby.png"], "eyes": [ [3, 10, 1, 1], [20, 10, 1, 1] ], "bones": [ { "name": "root", "pivot": [-1, 0, -3] }, { "name": "Body", "parent": "root", "pivot": [0, 10, 0], "cubes": [ {"origin": [-4, 8, -7], "size": [8, 6, 14], "uv": [0, 13]} ] }, { "name": "Tail", "parent": "root", "pivot": [0, 11.5, 6.5], "cubes": [ {"origin": [-1.5, 10.5, 6], "size": [3, 3, 8], "pivot": [0, 12.5, 6.5], "rotation": [-42.5, 0, 0], "uv": [24, 33]} ] }, { "name": "LegBL", "parent": "root", "pivot": [2.5, 6.5, 5.5], "cubes": [ {"origin": [1, 0, 4], "size": [3, 8, 3], "uv": [12, 44]} ] }, { "name": "LegBR", "parent": "root", "pivot": [-2.5, 6.5, 5.5], "cubes": [ {"origin": [-4, 0, 4], "size": [3, 8, 3], "uv": [0, 44]} ] }, { "name": "LegFL", "parent": "root", "pivot": [2.5, 6.5, -5.5], "cubes": [ {"origin": [1, 0, -7], "size": [3, 8, 3], "uv": [12, 33]} ] }, { "name": "LegFR", "parent": "root", "pivot": [-2.5, 6.5, -5.5], "cubes": [ {"origin": [-4, 0, -7], "size": [3, 8, 3], "uv": [0, 33]} ] }, { "name": "Neck", "parent": "root", "pivot": [0, 13, -5], "cubes": [ {"origin": [-2, 12, -8], "size": [4, 8, 4], "pivot": [0, 14, -5], "rotation": [22.5, 0, 0], "uv": [30, 9]} ] }, { "name": "Head", "parent": "Neck", "pivot": [0, 19, -7], "cubes": [ {"origin": [-3, 19.6, -15.4], "size": [6, 4, 9], "pivot": [0, 20, -7], "rotation": [22.5, 0, 0], "uv": [0, 0]} ] }, { "name": "left_ear", "parent": "Head", "pivot": [2.5, 20.5, -9], "rotation": [27.5, 0, 27.5], "cubes": [ {"origin": [0.03825, 21.28679, -8.59042], "size": [2, 7, 1], "uv": [0, 0]} ] }, { "name": "right_ear", "parent": "Head", "pivot": [-2.5, 20.5, -9], "rotation": [27.5, 0, -27.5], "cubes": [ {"origin": [-2.03825, 21.28679, -8.59042], "size": [2, 7, 1], "uv": [22, 0], "mirror": true} ] } ] }`};bt.enderdragon={display_name:"Ender Dragon",pose:!0,model:`{ "name": "enderdragon", "texturewidth": 256, "textureheight": 256, "bones": [ { "name": "neck", "pivot": [0, 7, -8], "pose": [-5, 0, 0], "cubes": [ {"name": "neck", "origin": [-5, 2, -18], "size": [10, 10, 10], "uv": [192, 104]}, {"name": "neck", "origin": [-1, 12, -16], "size": [2, 4, 6], "uv": [48, 0]} ] }, { "name": "neck2", "parent": "neck", "pivot": [0, 7, -18], "pose": [5, 0, 0], "cubes": [ {"name": "neck", "origin": [-5, 2, -28], "size": [10, 10, 10], "uv": [192, 104]}, {"name": "neck", "origin": [-1, 12, -26], "size": [2, 4, 6], "uv": [48, 0]} ] }, { "name": "neck3", "parent": "neck2", "pivot": [0, 7, -28], "pose": [5, 0, 0], "cubes": [ {"name": "neck", "origin": [-5, 2, -38], "size": [10, 10, 10], "uv": [192, 104]}, {"name": "neck", "origin": [-1, 12, -36], "size": [2, 4, 6], "uv": [48, 0]} ] }, { "name": "neck4", "parent": "neck3", "pivot": [0, 7, -38], "pose": [5, 0, 0], "cubes": [ {"name": "neck", "origin": [-5, 2, -48], "size": [10, 10, 10], "uv": [192, 104]}, {"name": "neck", "origin": [-1, 12, -46], "size": [2, 4, 6], "uv": [48, 0]} ] }, { "name": "neck5", "parent": "neck4", "pivot": [0, 7, -48], "pose": [5, 0, 0], "cubes": [ {"name": "neck", "origin": [-5, 2, -58], "size": [10, 10, 10], "uv": [192, 104]}, {"name": "neck", "origin": [-1, 12, -56], "size": [2, 4, 6], "uv": [48, 0]} ] }, { "name": "head", "parent": "neck5", "pivot": [0, 7, -58], "pose": [5, 0, 0], "cubes": [ {"name": "head", "origin": [-6, 3, -88], "size": [12, 5, 16], "uv": [176, 44]}, {"name": "head", "origin": [-8, -1, -74], "size": [16, 16, 16], "uv": [112, 30]}, {"name": "head", "origin": [-5, 15, -68], "size": [2, 4, 6], "uv": [0, 0], "mirror": true}, {"name": "head", "origin": [-5, 8, -86], "size": [2, 2, 4], "uv": [112, 0], "mirror": true}, {"name": "head", "origin": [3, 15, -68], "size": [2, 4, 6], "uv": [0, 0]}, {"name": "head", "origin": [3, 8, -86], "size": [2, 2, 4], "uv": [112, 0]} ] }, { "name": "jaw", "parent": "head", "pivot": [0, 3, -71], "pose": [15, 0, 0], "cubes": [ {"name": "jaw", "origin": [-6, -1, -88], "size": [12, 4, 16], "uv": [176, 65]} ] }, { "name": "body", "pivot": [0, 20, 8], "cubes": [ {"name": "body", "origin": [-12, -4, -8], "size": [24, 24, 64], "uv": [0, 0]}, {"name": "body", "origin": [-1, 20, -2], "size": [2, 6, 12], "uv": [220, 53]}, {"name": "body", "origin": [-1, 20, 18], "size": [2, 6, 12], "uv": [220, 53]}, {"name": "body", "origin": [-1, 20, 38], "size": [2, 6, 12], "uv": [220, 53]} ] }, { "name": "wing", "pivot": [-12, 19, 2], "pose": [0, 10, 10], "cubes": [ {"name": "wing", "origin": [-68, 15, -2], "size": [56, 8, 8], "uv": [112, 88]}, {"name": "wing", "origin": [-68, 19, 4], "size": [56, 0, 56], "uv": [-56, 88], "inflate": 0.01} ] }, { "name": "wingtip", "parent": "wing", "pivot": [-68, 19, 0], "pose": [0, 0, -20], "cubes": [ {"name": "wingtip", "origin": [-124, 17, 0], "size": [56, 4, 4], "uv": [112, 136]}, {"name": "wingtip", "origin": [-124, 19, 4], "size": [56, 0, 56], "uv": [-56, 144], "inflate": 0.01} ] }, { "name": "wing1", "pivot": [12, 19, 2], "pose": [0, -10, -10], "mirror": true, "cubes": [ {"name": "wing1", "origin": [12, 15, -2], "size": [56, 8, 8], "uv": [112, 88]}, {"name": "wing1", "origin": [12, 19, 4], "size": [56, 0, 56], "uv": [-56, 88], "inflate": 0.01} ] }, { "name": "wingtip1", "parent": "wing1", "pivot": [68, 19, 0], "pose": [0, 0, 20], "mirror": true, "cubes": [ {"name": "wingtip1", "origin": [68, 17, 0], "size": [56, 4, 4], "uv": [112, 136]}, {"name": "wingtip1", "origin": [68, 19, 4], "size": [56, 0, 56], "uv": [-56, 144], "inflate": 0.01} ] }, { "name": "rearleg", "pivot": [-16, 8, 42], "rotation": [60, 0, 0], "cubes": [ {"name": "rearleg", "origin": [-24, -20, 34], "size": [16, 32, 16], "uv": [0, 0]} ] }, { "name": "rearlegtip", "parent": "rearleg", "pivot": [-16, -20, 43], "rotation": [25, 0, 0], "cubes": [ {"name": "rearlegtip", "origin": [-22, -52, 36], "size": [12, 32, 12], "uv": [196, 0]} ] }, { "name": "rearfoot", "parent": "rearlegtip", "pivot": [-16, -52, 41], "rotation": [45, 0, 0], "cubes": [ {"name": "rearfoot", "origin": [-25, -58, 21], "size": [18, 6, 24], "uv": [112, 0]} ] }, { "name": "rearleg1", "pivot": [16, 8, 42], "rotation": [60, 0, 0], "mirror": true, "cubes": [ {"name": "rearleg1", "origin": [8, -20, 34], "size": [16, 32, 16], "uv": [0, 0]} ] }, { "name": "rearlegtip1", "parent": "rearleg1", "pivot": [16, -20, 43], "rotation": [25, 0, 0], "mirror": true, "cubes": [ {"name": "rearlegtip", "origin": [10, -52, 36], "size": [12, 32, 12], "uv": [196, 0]} ] }, { "name": "rearfoot1", "parent": "rearlegtip1", "pivot": [16, -52, 41], "rotation": [45, 0, 0], "mirror": true, "cubes": [ {"name": "rearfoot", "origin": [7, -58, 21], "size": [18, 6, 24], "uv": [112, 0]} ] }, { "name": "frontleg", "pivot": [-12, 4, 2], "rotation": [65, 0, 0], "cubes": [ {"name": "frontleg", "origin": [-16, -16, -2], "size": [8, 24, 8], "uv": [112, 104]} ] }, { "name": "frontlegtip", "parent": "frontleg", "pivot": [-12, -16, 2], "rotation": [-20, 0, 0], "cubes": [ {"name": "frontlegtip", "origin": [-15, -39, -1], "size": [6, 24, 6], "uv": [226, 138]} ] }, { "name": "frontfoot", "parent": "frontlegtip", "pivot": [-12, -38, 2], "rotation": [45, 0, 0], "cubes": [ {"name": "frontfoot", "origin": [-16, -42, -10], "size": [8, 4, 16], "uv": [144, 104]} ] }, { "name": "frontleg1", "pivot": [12, 4, 2], "rotation": [65, 0, 0], "mirror": true, "cubes": [ {"name": "frontleg1", "origin": [8, -16, -2], "size": [8, 24, 8], "uv": [112, 104]} ] }, { "name": "frontlegtip1", "parent": "frontleg1", "pivot": [12, -16, 2], "rotation": [-20, 0, 0], "mirror": true, "cubes": [ {"name": "frontlegtip", "origin": [9, -39, -1], "size": [6, 24, 6], "uv": [226, 138]} ] }, { "name": "frontfoot1", "parent": "frontlegtip1", "pivot": [12, -38, 2], "rotation": [45, 0, 0], "mirror": true, "cubes": [ {"name": "frontfoot", "origin": [8, -42, -10], "size": [8, 4, 16], "uv": [144, 104]} ] }, { "name": "tail", "pivot": [0, 14, 56], "cubes": [ {"name": "tail", "origin": [-5, 9, 56], "size": [10, 10, 10], "uv": [192, 104]}, {"name": "tail", "origin": [-1, 19, 58], "size": [2, 4, 6], "uv": [48, 0]} ] }, { "name": "tail2", "parent": "tail", "pivot": [0, 14, 66], "pose": [1, 0, 0], "cubes": [ {"name": "tail", "origin": [-5, 9, 66], "size": [10, 10, 10], "uv": [192, 104]}, {"name": "tail", "origin": [-1, 19, 68], "size": [2, 4, 6], "uv": [48, 0]} ] }, { "name": "tail3", "parent": "tail2", "pivot": [0, 14, 76], "pose": [1, 0, 0], "cubes": [ {"name": "tail", "origin": [-5, 9, 76], "size": [10, 10, 10], "uv": [192, 104]}, {"name": "tail", "origin": [-1, 19, 78], "size": [2, 4, 6], "uv": [48, 0]} ] }, { "name": "tail4", "parent": "tail3", "pivot": [0, 14, 86], "pose": [1, 0, 0], "cubes": [ {"name": "tail", "origin": [-5, 9, 86], "size": [10, 10, 10], "uv": [192, 104]}, {"name": "tail", "origin": [-1, 19, 88], "size": [2, 4, 6], "uv": [48, 0]} ] }, { "name": "tail5", "parent": "tail4", "pivot": [0, 14, 96], "pose": [2, 0, 0], "cubes": [ {"name": "tail", "origin": [-5, 9, 96], "size": [10, 10, 10], "uv": [192, 104]}, {"name": "tail", "origin": [-1, 19, 98], "size": [2, 4, 6], "uv": [48, 0]} ] }, { "name": "tail6", "parent": "tail5", "pivot": [0, 14, 106], "pose": [3, 0, 0], "cubes": [ {"name": "tail", "origin": [-5, 9, 106], "size": [10, 10, 10], "uv": [192, 104]}, {"name": "tail", "origin": [-1, 19, 108], "size": [2, 4, 6], "uv": [48, 0]} ] }, { "name": "tail7", "parent": "tail6", "pivot": [0, 14, 116], "pose": [3, 0, 0], "cubes": [ {"name": "tail", "origin": [-5, 9, 116], "size": [10, 10, 10], "uv": [192, 104]}, {"name": "tail", "origin": [-1, 19, 118], "size": [2, 4, 6], "uv": [48, 0]} ] }, { "name": "tail8", "parent": "tail7", "pivot": [0, 14, 126], "pose": [1, 0, 0], "cubes": [ {"name": "tail", "origin": [-5, 9, 126], "size": [10, 10, 10], "uv": [192, 104]}, {"name": "tail", "origin": [-1, 19, 128], "size": [2, 4, 6], "uv": [48, 0]} ] }, { "name": "tail9", "parent": "tail8", "pivot": [0, 14, 136], "pose": [-1, 0, 0], "cubes": [ {"name": "tail", "origin": [-5, 9, 136], "size": [10, 10, 10], "uv": [192, 104]}, {"name": "tail", "origin": [-1, 19, 138], "size": [2, 4, 6], "uv": [48, 0]} ] }, { "name": "tail10", "parent": "tail9", "pivot": [0, 14, 146], "pose": [-2, 0, 0], "cubes": [ {"name": "tail", "origin": [-5, 9, 146], "size": [10, 10, 10], "uv": [192, 104]}, {"name": "tail", "origin": [-1, 19, 148], "size": [2, 4, 6], "uv": [48, 0]} ] }, { "name": "tail11", "parent": "tail10", "pivot": [0, 14, 156], "pose": [-3, 0, 0], "cubes": [ {"name": "tail", "origin": [-5, 9, 156], "size": [10, 10, 10], "uv": [192, 104]}, {"name": "tail", "origin": [-1, 19, 158], "size": [2, 4, 6], "uv": [48, 0]} ] }, { "name": "tail12", "parent": "tail11", "pivot": [0, 14, 166], "pose": [-3, 0, 0], "cubes": [ {"name": "tail", "origin": [-5, 9, 166], "size": [10, 10, 10], "uv": [192, 104]}, {"name": "tail", "origin": [-1, 19, 168], "size": [2, 4, 6], "uv": [48, 0]} ] } ] }`};bt.enderman={display_name:"Enderman",model:`{ "name": "enderman", "texturewidth": 64, "textureheight": 32, "bones": [ { "name": "Head", "pivot": [0, 24, 0], "cubes": [ {"name": "Head", "origin": [-4, 40, -4], "size": [8, 8, 8], "uv": [0, 0], "inflate": -0.5}, {"name": "Head layer", "origin": [-4, 38, -4], "size": [8, 8, 8], "uv": [0, 16], "inflate": -0.5, "layer": true} ] }, { "name": "Body", "pivot": [0, 38, 0], "cubes": [ {"name": "Body", "origin": [-4, 26, -2], "size": [8, 12, 4], "uv": [32, 16]} ] }, { "name": "RightArm", "pivot": [-3, 36, 0], "cubes": [ {"name": "RightArm", "origin": [-6, 8, -1], "size": [2, 30, 2], "uv": [56, 0]} ] }, { "name": "LeftArm", "pivot": [5, 36, 0], "mirror": true, "cubes": [ {"name": "LeftArm", "origin": [4, 8, -1], "size": [2, 30, 2], "uv": [56, 0]} ] }, { "name": "RightLeg", "pivot": [-2, 26, 0], "cubes": [ {"name": "RightLeg", "origin": [-3, -4, -1], "size": [2, 30, 2], "uv": [56, 0]} ] }, { "name": "LeftLeg", "pivot": [2, 26, 0], "mirror": true, "cubes": [ {"name": "LeftLeg", "origin": [1, -4, -1], "size": [2, 30, 2], "uv": [56, 0]} ] } ] }`};bt.endermite={display_name:"Endermite",model:`{ "name": "endermite", "external_textures": ["entity/endermite.png"], "texturewidth": 64, "textureheight": 32, "bones": [ { "name": "section_2", "pivot": [0, 0, 2.5], "cubes": [ {"name": "section_2", "origin": [-1.5, 0, 2.5], "size": [3, 3, 1], "uv": [0, 14]} ] }, { "name": "section_0", "parent": "section_2", "pivot": [0, 0, 0], "cubes": [ {"name": "section_0", "origin": [-2, 0, -4.4], "size": [4, 3, 2], "uv": [0, 0]} ] }, { "name": "section_1", "parent": "section_2", "pivot": [0, 0, 0], "cubes": [ {"name": "section_1", "origin": [-3, 0, -2.4], "size": [6, 4, 5], "uv": [0, 5]} ] }, { "name": "section_3", "parent": "section_2", "pivot": [0, 0, 0], "cubes": [ {"name": "section_3", "origin": [-0.5, 0, 3.5], "size": [1, 2, 1], "uv": [0, 18]} ] } ] }`};bt.evocation_fang={display_name:"Evocation Fang",model:`{ "name": "evocation_fang", "external_textures": ["entity/illager/fangs.png"], "texturewidth": 64, "textureheight": 32, "bones": [ { "name": "base", "pivot": [0, 0, 0], "cubes": [ {"name": "base", "origin": [-5, 0, -5], "size": [10, 12, 10], "uv": [0, 0]} ] }, { "name": "upper_jaw", "parent": "base", "pivot": [0, 11, 0], "rotation": [0, 180, -150], "cubes": [ {"name": "upper_jaw", "origin": [-1.5, -4, -4], "size": [4, 14, 8], "uv": [40, 0], "inflate": 0.01} ] }, { "name": "lower_jaw", "parent": "base", "pivot": [0, 11, 0], "rotation": [0, 0, 150], "cubes": [ {"name": "lower_jaw", "origin": [-1.5, -4, -4], "size": [4, 14, 8], "uv": [40, 0]} ] } ] }`};bt.evoker={display_name:"Evoker",model:`{ "name": "evoker", "external_textures": ["entity/illager/evoker.png"], "texturewidth": 64, "textureheight": 64, "bones": [ { "name": "body", "pivot": [0, 24, 0], "cubes": [ {"name": "body", "origin": [-4, 12, -3], "size": [8, 12, 6], "uv": [16, 20]}, {"name": "body", "origin": [-4, 6, -3], "size": [8, 18, 6], "uv": [0, 38], "inflate": 0.5} ] }, { "name": "Head", "parent": "body", "pivot": [0, 24, 0], "cubes": [ {"name": "Head", "origin": [-4, 24, -4], "size": [8, 10, 8], "uv": [0, 0]} ] }, { "name": "nose", "parent": "Head", "pivot": [0, 26, 0], "cubes": [ {"name": "nose", "origin": [-1, 23, -6], "size": [2, 4, 2], "uv": [24, 0]} ] }, { "name": "arms", "parent": "body", "pivot": [0, 22, 0], "cubes": [ {"name": "arms", "origin": [-8, 16, -2], "size": [4, 8, 4], "uv": [44, 22]}, {"name": "arms", "origin": [4, 16, -2], "size": [4, 8, 4], "uv": [44, 22]}, {"name": "arms", "origin": [-4, 16, -2], "size": [8, 4, 4], "uv": [40, 38]} ] }, { "name": "leg0", "parent": "body", "pivot": [-2, 12, 0], "cubes": [ {"name": "leg0", "origin": [-4, 0, -2], "size": [4, 12, 4], "uv": [0, 22]} ] }, { "name": "leg1", "parent": "body", "pivot": [2, 12, 0], "mirror": true, "cubes": [ {"name": "leg1", "origin": [0, 0, -2], "size": [4, 12, 4], "uv": [0, 22]} ] }, { "name": "RightArm", "parent": "body", "pivot": [-5, 22, 0], "cubes": [ {"name": "RightArm", "origin": [-8, 12, -2], "size": [4, 12, 4], "uv": [40, 46]} ] }, { "name": "LeftArm", "parent": "body", "pivot": [5, 22, 0], "mirror": true, "cubes": [ {"name": "LeftArm", "origin": [4, 12, -2], "size": [4, 12, 4], "uv": [40, 46]} ] } ] }`};bt.fox={display_name:"Fox",model_bedrock:`{ "name": "fox", "external_textures": ["entity/fox/fox.png"], "texturewidth": 64, "textureheight": 32, "bones": [ { "name": "body", "pivot": [0, 8, 0], "rotation": [90, 0, 0], "cubes": [ {"name": "body", "origin": [-3, 0, -3], "size": [6, 11, 6], "uv": [30, 15]} ] }, { "name": "head", "pivot": [0, 8, -3], "cubes": [ {"name": "head", "origin": [-4, 4, -9], "size": [8, 6, 6], "uv": [0, 0]}, {"name": "head", "origin": [-4, 10, -8], "size": [2, 2, 1], "uv": [0, 0]}, {"name": "head", "origin": [2, 10, -8], "size": [2, 2, 1], "uv": [22, 0]}, {"name": "head", "origin": [-2, 4, -12], "size": [4, 2, 3], "uv": [0, 24]}, {"name": "head_sleeping", "visibility": false, "origin": [-4, 4, -9], "size": [8, 6, 6], "uv": [0, 12]} ] }, { "name": "leg0", "pivot": [-3, 6, 6], "cubes": [ {"name": "leg0", "origin": [-3.005, 0, 5], "size": [2, 6, 2], "uv": [14, 24]} ] }, { "name": "leg1", "pivot": [1, 6, 6], "cubes": [ {"name": "leg1", "origin": [1.005, 0, 5], "size": [2, 6, 2], "uv": [22, 24]} ] }, { "name": "leg2", "pivot": [-3, 6, -1], "cubes": [ {"name": "leg2", "origin": [-3.005, 0, -2], "size": [2, 6, 2], "uv": [14, 24]} ] }, { "name": "leg3", "pivot": [1, 6, -1], "cubes": [ {"name": "leg3", "origin": [1.005, 0, -2], "size": [2, 6, 2], "uv": [22, 24]} ] }, { "name": "tail", "pivot": [0, 8, 7], "rotation": [90, 0, 0], "cubes": [ {"name": "tail", "origin": [-2, -2, 4.75], "size": [4, 9, 5], "uv": [28, 0]} ] } ] }`,model_java:`{ "name": "fox", "texturewidth": 48, "textureheight": 32, "bones": [ { "name": "body", "pivot": [0, 8, 0], "rotation": [90, 0, 0], "cubes": [ {"name": "body", "origin": [-3, 0, -3], "size": [6, 11, 6], "uv": [24, 15]} ] }, { "name": "head", "pivot": [0, 8, -3], "cubes": [ {"name": "head", "origin": [-4, 4, -9], "size": [8, 6, 6], "uv": [1, 5]}, {"name": "head", "origin": [-4, 10, -8], "size": [2, 2, 1], "uv": [8, 1]}, {"name": "head", "origin": [2, 10, -8], "size": [2, 2, 1], "uv": [15, 1]}, {"name": "head", "origin": [-2, 4, -12], "size": [4, 2, 3], "uv": [6, 18]} ] }, { "name": "leg0", "pivot": [-3, 6, 6], "cubes": [ {"name": "leg0", "origin": [-3.005, 0, 5], "size": [2, 6, 2], "uv": [13, 24]} ] }, { "name": "leg1", "pivot": [1, 6, 6], "cubes": [ {"name": "leg1", "origin": [1.005, 0, 5], "size": [2, 6, 2], "uv": [4, 24]} ] }, { "name": "leg2", "pivot": [-3, 6, -1], "cubes": [ {"name": "leg2", "origin": [-3.005, 0, -2], "size": [2, 6, 2], "uv": [13, 24]} ] }, { "name": "leg3", "pivot": [1, 6, -1], "cubes": [ {"name": "leg3", "origin": [1.005, 0, -2], "size": [2, 6, 2], "uv": [4, 24]} ] }, { "name": "tail", "pivot": [0, 8, 7], "rotation": [90, 0, 0], "cubes": [ {"name": "tail", "origin": [-2, -2, 4.75], "size": [4, 9, 5], "uv": [30, 0]} ] } ] }`};bt.fox_baby={display_name:"Fox Baby",model:`{ "name": "fox_baby", "texturewidth": 32, "textureheight": 32, "eyes": [ [6, 7, 1, 1], [9, 7, 1, 1] ], "bones": [ { "name": "root", "pivot": [0, 0, 0] }, { "name": "head", "parent": "root", "pivot": [0, 5.875, 0.125], "cubes": [ {"origin": [-3, 3, -5], "size": [6, 5, 5], "uv": [0, 0]}, {"origin": [-1, 3, -7], "size": [2, 2, 2], "uv": [18, 20]}, {"origin": [-3, 8, -4], "size": [2, 2, 1], "uv": [22, 8]}, {"origin": [1, 8, -4], "size": [2, 2, 1], "uv": [22, 11]} ] }, { "name": "held_item", "parent": "head", "pivot": [-2.25, 2.3, -9] }, { "name": "leg0", "parent": "root", "pivot": [-1.5, 2, 4], "cubes": [ {"origin": [-2.5, 0, 3], "size": [2, 2, 2], "uv": [22, 4]} ] }, { "name": "leg1", "parent": "root", "pivot": [1.5, 2, 4], "cubes": [ {"origin": [0.5, 0, 3], "size": [2, 2, 2], "uv": [22, 0]} ] }, { "name": "leg2", "parent": "root", "pivot": [-1.5, 2, 0], "cubes": [ {"origin": [-2.5, 0, -1], "size": [2, 2, 2], "uv": [22, 4]} ] }, { "name": "leg3", "parent": "root", "pivot": [1.5, 2, 0], "cubes": [ {"origin": [0.5, 0, -1], "size": [2, 2, 2], "uv": [22, 0]} ] }, { "name": "body", "parent": "root", "pivot": [0, 4, 2], "cubes": [ {"origin": [-2.5, 2, -1], "size": [5, 4, 6], "uv": [0, 10]} ] }, { "name": "lead", "parent": "body", "pivot": [0, 3, -2] }, { "name": "tail", "parent": "body", "pivot": [0, 4.5, 5], "cubes": [ {"origin": [-1.5, 2.98, 4], "size": [3, 3, 6], "uv": [0, 20]} ] } ] }`};bt.frog={display_name:"Frog",model:`{ "name": "frog", "external_textures": ["entity/frog/temperate_frog.png"], "texturewidth": 48, "textureheight": 48, "eyes": [ [2, 4, 5, 1], [2, 9, 5, 1] ], "bones": [ { "name": "root", "pivot": [0, 0, 0] }, { "name": "body", "parent": "root", "pivot": [0, 2, 4], "cubes": [ {"origin": [-3.5, 1, -4], "size": [7, 3, 9], "uv": [3, 1]}, {"origin": [-3.5, 3, -4], "size": [7, 0, 9], "uv": [23, 22]} ] }, { "name": "head", "parent": "body", "pivot": [0, 4, 3], "cubes": [ {"origin": [-3.5, 5, -4], "size": [7, 0, 9], "uv": [23, 13]}, {"origin": [-3.5, 3, -4], "size": [7, 3, 9], "uv": [0, 13]} ] }, { "name": "eyes", "parent": "head", "pivot": [-0.5, 4, 5] }, { "name": "right_eye", "parent": "eyes", "pivot": [-2, 7, -1.5], "cubes": [ {"origin": [-3.5, 6, -3], "size": [3, 2, 3], "uv": [0, 0]} ] }, { "name": "left_eye", "parent": "eyes", "pivot": [2, 7, -1.5], "cubes": [ {"origin": [0.5, 6, -3], "size": [3, 2, 3], "uv": [0, 5]} ] }, { "name": "croaking_body", "parent": "body", "pivot": [0, 3, -1], "cubes": [ {"origin": [-3.5, 1.1, -3.9], "size": [7, 2, 3], "inflate": -0.1, "uv": [26, 5]} ] }, { "name": "tongue", "parent": "body", "pivot": [0, 3.1, 5], "cubes": [ {"origin": [-2, 3.1, -2.1], "size": [4, 0, 7], "uv": [17, 13]} ] }, { "name": "left_arm", "parent": "body", "pivot": [4, 3, -2.5], "cubes": [ {"origin": [3, 0, -3.5], "size": [2, 3, 3], "uv": [0, 32]}, {"origin": [0, -0.01, -7.5], "size": [8, 0, 8], "uv": [18, 40], "layer": true} ] }, { "name": "right_arm", "parent": "body", "pivot": [-4, 3, -2.5], "cubes": [ {"origin": [-5, 0, -3.5], "size": [2, 3, 3], "uv": [0, 38]}, {"origin": [-8, -0.01, -7.5], "size": [8, 0, 8], "uv": [2, 40], "layer": true} ] }, { "name": "left_leg", "parent": "root", "pivot": [3.5, 3, 4], "cubes": [ {"origin": [2.5, 0, 2], "size": [3, 3, 4], "uv": [14, 25]}, {"origin": [1.5, -0.01, 0], "size": [8, 0, 8], "uv": [2, 32], "layer": true} ] }, { "name": "right_leg", "parent": "root", "pivot": [-3.5, 3, 4], "cubes": [ {"origin": [-5.5, 0, 2], "size": [3, 3, 4], "uv": [0, 25]}, {"origin": [-9.5, -0.01, 0], "size": [8, 0, 8], "uv": [18, 32], "layer": true} ] } ] }`};bt.ghast={display_name:"Ghast",model:`{ "name": "ghast", "external_textures": ["entity/ghast/ghast.png"], "texturewidth": 64, "textureheight": 32, "default_resolution": 32, "eyes": [ [19, 21, 3, 1], [26, 21, 3, 1] ], "bones": [ { "name": "body", "pivot": [0, 8, 0], "cubes": [ {"name": "body", "origin": [-8, 0, -8], "size": [16, 16, 16], "uv": [0, 0]} ] }, { "name": "tentacles_0", "parent": "body", "pivot": [-3.8, 1, -5], "cubes": [ {"name": "tentacles_0", "origin": [-4.8, -8, -6], "size": [2, 9, 2], "uv": [0, 0]} ] }, { "name": "tentacles_1", "parent": "body", "pivot": [1.3, 1, -5], "cubes": [ {"name": "tentacles_1", "origin": [0.3, -10, -6], "size": [2, 11, 2], "uv": [0, 0]} ] }, { "name": "tentacles_2", "parent": "body", "pivot": [6.3, 1, -5], "cubes": [ {"name": "tentacles_2", "origin": [5.3, -7, -6], "size": [2, 8, 2], "uv": [0, 0]} ] }, { "name": "tentacles_3", "parent": "body", "pivot": [-6.3, 1, 0], "cubes": [ {"name": "tentacles_3", "origin": [-7.3, -8, -1], "size": [2, 9, 2], "uv": [0, 0]} ] }, { "name": "tentacles_4", "parent": "body", "pivot": [-1.3, 1, 0], "cubes": [ {"name": "tentacles_4", "origin": [-2.3, -12, -1], "size": [2, 13, 2], "uv": [0, 0]} ] }, { "name": "tentacles_5", "parent": "body", "pivot": [3.8, 1, 0], "cubes": [ {"name": "tentacles_5", "origin": [2.8, -10, -1], "size": [2, 11, 2], "uv": [0, 0]} ] }, { "name": "tentacles_6", "parent": "body", "pivot": [-3.8, 1, 5], "cubes": [ {"name": "tentacles_6", "origin": [-4.8, -11, 4], "size": [2, 12, 2], "uv": [0, 0]} ] }, { "name": "tentacles_7", "parent": "body", "pivot": [1.3, 1, 5], "cubes": [ {"name": "tentacles_7", "origin": [0.3, -11, 4], "size": [2, 12, 2], "uv": [0, 0]} ] }, { "name": "tentacles_8", "parent": "body", "pivot": [6.3, 1, 5], "cubes": [ {"name": "tentacles_8", "origin": [5.3, -12, 4], "size": [2, 13, 2], "uv": [0, 0]} ] } ] }`};bt.goat={display_name:"Goat",model:`{ "name": "goat", "external_textures": ["entity/goat/goat.png"], "texturewidth": 64, "textureheight": 64, "bones": [ { "name": "left_back_leg", "pivot": [1, 10, 4], "cubes": [ {"origin": [1, 0, 4], "size": [3, 6, 3], "uv": [36, 29]} ] }, { "name": "right_back_leg", "pivot": [-3, 10, 4], "cubes": [ {"origin": [-3, 0, 4], "size": [3, 6, 3], "uv": [49, 29]} ] }, { "name": "right_front_leg", "pivot": [-3, 10, -6], "cubes": [ {"origin": [-3, 0, -6], "size": [3, 10, 3], "uv": [49, 2]} ] }, { "name": "left_front_leg", "pivot": [1, 10, -6], "cubes": [ {"origin": [1, 0, -6], "size": [3, 10, 3], "uv": [35, 2]} ] }, { "name": "body", "pivot": [0, 0, 0], "cubes": [ {"origin": [-4, 6, -7], "size": [9, 11, 16], "uv": [1, 1]}, {"origin": [-5, 4, -8], "size": [11, 14, 11], "uv": [0, 28]} ] }, { "name": "Head", "pivot": [1, 10, 0], "cubes": [ {"origin": [-2, 15, -16], "size": [5, 7, 10], "pivot": [1, 18, -8], "rotation": [55, 0, 0], "uv": [34, 46]}, {"origin": [-1.99, 19, -10], "size": [2, 7, 2], "uv": [12, 55]}, {"origin": [0.99, 19, -10], "size": [2, 7, 2], "uv": [12, 55]}, {"origin": [3, 19, -10], "size": [3, 2, 1], "uv": [2, 61], "mirror": true}, {"origin": [-5, 19, -10], "size": [3, 2, 1], "uv": [2, 61]}, {"origin": [0.5, 6, -14], "size": [0, 7, 5], "uv": [23, 52]} ] }, { "name": "Head Main", "parent": "Head", "pivot": [1, 18, -8], "rotation": [55, 0, 0], "cubes": [ {"origin": [-2, 15, -16], "size": [5, 7, 10], "pivot": [1, 18, -8], "uv": [34, 46]} ] } ] }`};bt.goat_baby={display_name:"Goat Baby",model:`{ "name": "goat_baby", "texturewidth": 64, "textureheight": 64, "external_textures": ["entity/goat/goat_baby.png"], "eyes": [ [2, 7, 1, 1], [13, 7, 1, 1] ], "bones": [ { "name": "left_back_leg", "pivot": [1.5, 4.5, 3], "cubes": [ {"origin": [0.5, 0, 2], "size": [2, 5, 2], "uv": [29, 12]} ] }, { "name": "right_back_leg", "pivot": [-1.5, 4.5, 3], "cubes": [ {"origin": [-2.5, 0, 2], "size": [2, 5, 2], "uv": [21, 12]} ] }, { "name": "right_front_leg", "pivot": [-1.5, 4.5, -2], "cubes": [ {"origin": [-2.5, 0, -3], "size": [2, 5, 2], "uv": [21, 5]} ] }, { "name": "left_front_leg", "pivot": [1.5, 4.5, -2], "cubes": [ {"origin": [0.5, 0, -3], "size": [2, 5, 2], "uv": [29, 5]} ] }, { "name": "body", "pivot": [0, 6.2, 0], "cubes": [ {"origin": [-3, 3.5, -4.5], "size": [6, 5, 9], "uv": [0, 10]}, {"origin": [-2.5, 4.4, -4], "size": [5, 4, 8], "uv": [0, 24]} ] }, { "name": "head", "pivot": [0, 10.5, -3], "rotation": [25, 0, 0], "cubes": [ {"origin": [-2, 8.5, -9], "size": [4, 4, 6], "uv": [0, 0]}, {"origin": [1.7, 10.5, -4.2], "size": [2, 1, 1], "pivot": [1.7, 11, -3.7], "rotation": [0, 30, 0], "uv": [0, 12]}, {"origin": [-3.7, 10.5, -4.2], "size": [2, 1, 1], "pivot": [-1.7, 11, -3.7], "rotation": [0, -30, 0], "uv": [0, 12], "mirror": true}, {"origin": [0.5, 12.5, -3.9], "size": [1, 2, 1], "pivot": [1.5, 12.5, -3.9], "rotation": [-25, 0, 0], "uv": [24, 0]}, {"origin": [-1.5, 12.5, -3.9], "size": [1, 2, 1], "pivot": [-1.5, 12.5, -3.9], "rotation": [-25, 0, 0], "uv": [24, 0], "mirror": true} ] } ] }`};bt.guardian={display_name:"Guardian",model:`{ "name": "guardian", "external_textures": ["entity/guardian.png"], "texturewidth": 64, "textureheight": 64, "eyes": [ [19, 21, 6, 3] ], "bones": [ { "name": "head", "pivot": [0, 0, 0], "mirror": true, "cubes": [ {"name": "head", "origin": [-6, 2, -8], "size": [12, 12, 16], "uv": [0, 0], "mirror": false}, {"name": "head", "origin": [-8, 2, -6], "size": [2, 12, 12], "uv": [0, 28], "mirror": false}, {"name": "head", "origin": [6, 2, -6], "size": [2, 12, 12], "uv": [0, 28]}, {"name": "head", "origin": [-6, 14, -6], "size": [12, 2, 12], "uv": [16, 40]}, {"name": "head", "origin": [-6, 0, -6], "size": [12, 2, 12], "uv": [16, 40]} ] }, { "name": "eye", "parent": "head", "pivot": [0, 24, 0], "cubes": [ {"name": "eye", "origin": [-1, 7, -8.25], "size": [2, 2, 1], "uv": [8, 0]} ] }, { "name": "tailpart0", "parent": "head", "pivot": [0, 24, 0], "cubes": [ {"name": "tailpart0", "origin": [-2, 6, 8], "size": [4, 4, 8], "uv": [40, 0]} ] }, { "name": "tailpart1", "parent": "tailpart0", "pivot": [0, 24, 0], "cubes": [ {"name": "tailpart1", "origin": [-1.5, 7, 16], "size": [3, 3, 7], "uv": [0, 54]} ] }, { "name": "tailpart2", "parent": "tailpart1", "pivot": [0, 24, 0], "cubes": [ {"name": "tailpart2", "origin": [-1, 8, 23], "size": [2, 2, 6], "uv": [41, 32]}, {"name": "tailpart2", "origin": [0, 4.5, 26], "size": [1, 9, 9], "uv": [25, 19]} ] }, { "name": "spikepart0", "parent": "head", "pivot": [0, 24, 0], "rotation": [0, 0, 45], "cubes": [ {"name": "spikepart0", "origin": [10.25, 19.5, -1], "size": [2, 9, 2], "uv": [0, 0]} ] }, { "name": "spikepart1", "parent": "head", "pivot": [0, 24, 0], "rotation": [0, 0, -45], "cubes": [ {"name": "spikepart1", "origin": [-12.25, 19.5, -1], "size": [2, 9, 2], "uv": [0, 0]} ] }, { "name": "spikepart2", "parent": "head", "pivot": [0, 24, 0], "rotation": [45, 0, 0], "cubes": [ {"name": "spikepart2", "origin": [-1, 19.5, -12.25], "size": [2, 9, 2], "uv": [0, 0]} ] }, { "name": "spikepart3", "parent": "head", "pivot": [0, 24, 0], "rotation": [-45, 0, 0], "cubes": [ {"name": "spikepart3", "origin": [-1, 19.5, 10.5], "size": [2, 9, 2], "uv": [0, 0]} ] }, { "name": "spikepart4", "parent": "head", "pivot": [0, 24, 0], "rotation": [0, 0, 135], "cubes": [ {"name": "spikepart4", "origin": [10.25, 42.5, -1], "size": [2, 9, 2], "uv": [0, 0]} ] }, { "name": "spikepart5", "parent": "head", "pivot": [0, 24, 0], "rotation": [0, 0, -135], "cubes": [ {"name": "spikepart5", "origin": [-12.25, 42.5, -1], "size": [2, 9, 2], "uv": [0, 0]} ] }, { "name": "spikepart6", "parent": "head", "pivot": [0, 24, 0], "rotation": [135, 0, 0], "cubes": [ {"name": "spikepart6", "origin": [-1, 43.5, -12.25], "size": [2, 9, 2], "uv": [0, 0]} ] }, { "name": "spikepart7", "parent": "head", "pivot": [0, 24, 0], "rotation": [-135, 0, 0], "cubes": [ {"name": "spikepart7", "origin": [-1, 42.5, 10.25], "size": [2, 9, 2], "uv": [0, 0]} ] }, { "name": "spikepart8", "parent": "head", "pivot": [0, 24, 0], "rotation": [90, -45, 0], "cubes": [ {"name": "spikepart8", "origin": [-1, 32.5, -17], "size": [2, 9, 2], "uv": [0, 0]} ] }, { "name": "spikepart9", "parent": "head", "pivot": [0, 24, 0], "rotation": [90, 45, 0], "cubes": [ {"name": "spikepart8", "origin": [-1, 32.5, -17], "size": [2, 9, 2], "uv": [0, 0]} ] }, { "name": "spikepart10", "parent": "head", "pivot": [0, 24, 0], "rotation": [90, -135, 0], "cubes": [ {"name": "spikepart8", "origin": [-1, 32.5, -17], "size": [2, 9, 2], "uv": [0, 0]} ] }, { "name": "spikepart11", "parent": "head", "pivot": [0, 24, 0], "rotation": [90, 135, 0], "cubes": [ {"name": "spikepart8", "origin": [-1, 32.5, -17], "size": [2, 9, 2], "uv": [0, 0]} ] } ] }`};bt.happy_ghast={display_name:"Happy Ghast",model:`{ "name": "happy_ghast", "external_textures": ["entity/happy_ghast/adult.png"], "texturewidth": 64, "textureheight": 64, "default_resolution": 32, "eyes": [ [18, 24, 3, 1], [27, 24, 3, 1] ], "bones": [ { "name": "body", "pivot": [0, 0, 0], "cubes": [ {"origin": [-8, 0, -8], "size": [16, 16, 16], "uv": [0, 0]}, {"origin": [-8, 0, -8], "size": [16, 16, 16], "inflate": -0.5, "uv": [0, 32]} ] }, { "name": "tentacles_0", "parent": "body", "pivot": [-3.8, 1, -5], "cubes": [ {"origin": [-4.8, -4, -6], "size": [2, 5, 2], "uv": [0, 0]} ] }, { "name": "tentacles_1", "parent": "body", "pivot": [1.3, 1, -5], "cubes": [ {"origin": [0.3, -6, -6], "size": [2, 7, 2], "uv": [0, 0]} ] }, { "name": "tentacles_2", "parent": "body", "pivot": [6.3, 1, -5], "cubes": [ {"origin": [5.3, -3, -6], "size": [2, 4, 2], "uv": [0, 0]} ] }, { "name": "tentacles_3", "parent": "body", "pivot": [-6.3, 1, 0], "cubes": [ {"origin": [-7.3, -4, -1], "size": [2, 5, 2], "uv": [0, 0]} ] }, { "name": "tentacles_4", "parent": "body", "pivot": [-1.3, 1, 0], "cubes": [ {"origin": [-2.3, -4, -1], "size": [2, 5, 2], "uv": [0, 0]} ] }, { "name": "tentacles_5", "parent": "body", "pivot": [3.8, 1, 0], "cubes": [ {"origin": [2.8, -6, -1], "size": [2, 7, 2], "uv": [0, 0]} ] }, { "name": "tentacles_6", "parent": "body", "pivot": [-3.8, 1, 5], "cubes": [ {"origin": [-4.8, -7, 4], "size": [2, 8, 2], "uv": [0, 0]} ] }, { "name": "tentacles_7", "parent": "body", "pivot": [1.3, 1, 5], "cubes": [ {"origin": [0.3, -7, 4], "size": [2, 8, 2], "uv": [0, 0]} ] }, { "name": "tentacles_8", "parent": "body", "pivot": [6.3, 1, 5], "cubes": [ {"origin": [5.3, -4, 4], "size": [2, 5, 2], "uv": [0, 0]} ] } ] }`};bt.harness={display_name:"Happy Ghast Harness",model:`{ "name": "harness", "external_textures": ["entity/harness/harness_white.png"], "texturewidth": 64, "textureheight": 64, "default_resolution": 32, "bones": [ { "name": "body", "pivot": [0, 0, 0], "cubes": [ {"origin": [-8, 0.5, -8], "size": [16, 16, 16], "inflate": 0.5, "uv": [0, 0]} ] }, { "name": "goggles", "parent": "body", "pivot": [0, 11.5, -5.5], "cubes": [ {"origin": [-8, 7.5, -8], "size": [16, 5, 5], "inflate": 0.65, "uv": [0, 32]} ] } ] }`};bt.hoglin={display_name:"Hoglin",model:`{ "name": "hoglin", "external_textures": ["entity/hoglin/hoglin.png"], "texturewidth": 128, "textureheight": 64, "bones": [ { "name": "body", "pivot": [0, 19, -3], "cubes": [ {"origin": [-8, 11, -7], "size": [16, 14, 26], "inflate": 0.02, "uv": [1, 1]}, {"origin": [0, 22, -10], "size": [0, 10, 19], "inflate": 0.02, "uv": [90, 33]} ] }, { "name": "head", "parent": "body", "pivot": [0, 22, -5], "rotation": [50, 0, 0], "cubes": [ {"origin": [-7, 21, -24], "size": [14, 6, 19], "uv": [61, 1]}, {"origin": [-8, 22, -19], "size": [2, 11, 2], "uv": [1, 13]}, {"origin": [6, 22, -19], "size": [2, 11, 2], "uv": [1, 13]} ] }, { "name": "right_ear", "parent": "head", "pivot": [-7, 27, -7], "rotation": [0, 0, -50], "cubes": [ {"origin": [-13, 26, -10], "size": [6, 1, 4], "uv": [1, 1]} ] }, { "name": "left_ear", "parent": "head", "pivot": [7, 27, -7], "rotation": [0, 0, 50], "cubes": [ {"origin": [7, 26, -10], "size": [6, 1, 4], "uv": [1, 6]} ] }, { "name": "leg_back_right", "pivot": [6, 8, 17], "cubes": [ {"origin": [-8, 0, 13], "size": [5, 11, 5], "uv": [21, 45]} ] }, { "name": "leg_back_left", "pivot": [-6, 8, 17], "cubes": [ {"origin": [3, 0, 13], "size": [5, 11, 5], "uv": [0, 45]} ] }, { "name": "leg_front_right", "pivot": [-6, 12, -3], "cubes": [ {"origin": [-8, 0, -6], "size": [6, 14, 6], "uv": [66, 42]} ] }, { "name": "leg_front_left", "pivot": [6, 12, -3], "cubes": [ {"origin": [2, 0, -6], "size": [6, 14, 6], "uv": [41, 42]} ] } ] }`};bt.hoglin_baby={display_name:"Hoglin Baby",model:`{ "name": "hoglin_baby", "texturewidth": 64, "textureheight": 64, "external_textures": ["entity/hoglin/hoglin_baby.png"], "eyes": [ [13, 4, 2, 2], [19, 4, 2, 2] ], "bones": [ { "name": "body", "pivot": [0, 0, 0], "cubes": [ {"origin": [-4, 6, -7], "size": [8, 8, 14], "inflate": 0.02, "uv": [0, 16]}, {"origin": [0, 12, -8], "size": [0, 6, 11], "inflate": 0.02, "uv": [24, 39]} ] }, { "name": "head", "parent": "body", "pivot": [0, 11, -7], "rotation": [50, 0, 0], "cubes": [ {"origin": [-5, 9.26046, -17.54701], "size": [10, 4, 12], "uv": [0, 0]}, {"origin": [-7, 10.09814, -15.48793], "size": [2, 5, 2], "uv": [44, 29]}, {"origin": [5, 10.09814, -15.48793], "size": [2, 5, 2], "uv": [52, 29]} ] }, { "name": "right_ear", "parent": "head", "pivot": [-5, 12, -8.5], "rotation": [0, 0, -50], "cubes": [ {"origin": [-10.1, 11.5, -10.5], "size": [6, 1, 4], "uv": [32, 5]} ] }, { "name": "left_ear", "parent": "head", "pivot": [5, 12, -8.5], "rotation": [0, 0, 50], "cubes": [ {"origin": [4.1, 11.5, -10.5], "size": [6, 1, 4], "uv": [32, 0], "mirror": true} ] }, { "name": "leg_back_right", "parent": "body", "pivot": [-2.5, 6, 4.5], "cubes": [ {"origin": [-4, 0, 3], "size": [3, 6, 3], "uv": [0, 47]} ] }, { "name": "leg_back_left", "parent": "body", "pivot": [2.5, 6, 4.5], "cubes": [ {"origin": [1, 0, 3], "size": [3, 6, 3], "uv": [12, 47]} ] }, { "name": "leg_front_right", "parent": "body", "pivot": [-2.5, 6, -4.5], "cubes": [ {"origin": [-4, 0, -6], "size": [3, 6, 3], "uv": [0, 38]} ] }, { "name": "leg_front_left", "parent": "body", "pivot": [2.5, 6, -4.5], "cubes": [ {"origin": [1, 0, -6], "size": [3, 6, 3], "uv": [12, 38]} ] } ] }`};bt.horse={display_name:"Horse",model:`{ "name": "horse", "external_textures": ["entity/horse2/horse_gray.png"], "texturewidth": 64, "textureheight": 64, "bones": [ { "name": "Body", "pivot": [0, 13, 9], "cubes": [ {"name": "Body", "origin": [-5, 11, -11], "size": [10, 10, 22], "uv": [0, 32]} ] }, { "name": "TailA", "pivot": [0, 20, 11], "rotation": [30, 0, 0], "cubes": [ {"name": "TailA", "origin": [-1.5, 6, 9], "size": [3, 14, 4], "uv": [42, 36]} ] }, { "name": "Leg1A", "pivot": [3, 11, 9], "cubes": [ {"name": "Leg1A", "origin": [1, 0, 7], "size": [4, 11, 4], "uv": [48, 21], "mirror": true} ] }, { "name": "Leg2A", "pivot": [-3, 11, 9], "cubes": [ {"name": "Leg2A", "origin": [-5, 0, 7], "size": [4, 11, 4], "uv": [48, 21]} ] }, { "name": "Leg3A", "pivot": [3, 11, -9], "cubes": [ {"name": "Leg3A", "origin": [1, 0, -11], "size": [4, 11, 4], "uv": [48, 21], "mirror": true} ] }, { "name": "Leg4A", "pivot": [-3, 11, -9], "cubes": [ {"name": "Leg4A", "origin": [-5, 0, -11], "size": [4, 11, 4], "uv": [48, 21]} ] }, { "name": "Head", "pivot": [0, 28, -11], "rotation": [30, 0, 0], "cubes": [ {"name": "Head", "origin": [-3, 28, -17], "size": [6, 5, 7], "uv": [0, 13]}, {"name": "UMouth", "origin": [-2, 28, -22], "size": [4, 5, 5], "uv": [0, 25]} ] }, { "name": "Ear1", "pivot": [0, 17, -8], "rotation": [30, 0, 5], "cubes": [ {"name": "Ear1", "origin": [-0.5, 32, -5.01], "size": [2, 3, 1], "uv": [19, 16], "mirror": true} ] }, { "name": "Ear2", "pivot": [0, 17, -8], "rotation": [30, 0, -5], "cubes": [ {"name": "Ear2", "origin": [-1.5, 32, -5.01], "size": [2, 3, 1], "uv": [19, 16]} ] }, { "name": "MuleEarL", "pivot": [0, 17, -8], "rotation": [30, 0, 15], "cubes": [ {"name": "MuleEarL", "visibility": false, "origin": [-3, 32, -5.01], "size": [2, 7, 1], "uv": [0, 12], "mirror": true} ] }, { "name": "MuleEarR", "pivot": [0, 17, -8], "rotation": [30, 0, -15], "cubes": [ {"name": "MuleEarR", "visibility": false, "origin": [1, 32, -5.01], "size": [2, 7, 1], "uv": [0, 12]} ] }, { "name": "Neck", "pivot": [0, 17, -8], "rotation": [30, 0, 0], "cubes": [ {"name": "Neck", "origin": [-2, 16, -11], "size": [4, 12, 7], "uv": [0, 35]}, {"name": "Mane", "origin": [-1, 17, -4], "size": [2, 16, 2], "uv": [56, 36]} ] }, { "name": "Bag1", "pivot": [-5, 21, 11], "rotation": [0, -90, 0], "cubes": [ {"name": "Bag1", "visibility": false, "origin": [-14, 13, 11], "size": [8, 8, 3], "uv": [26, 21]} ] }, { "name": "Bag2", "pivot": [5, 21, 11], "rotation": [0, 90, 0], "cubes": [ {"name": "Bag2", "visibility": false, "origin": [6, 13, 11], "size": [8, 8, 3], "uv": [26, 21], "mirror": true} ] }, { "name": "Saddle", "pivot": [0, 22, 2], "cubes": [ {"name": "Saddle", "origin": [-5, 12, -3.5], "size": [10, 9, 9], "uv": [26, 0], "inflate": 0.5} ] }, { "name": "SaddleMouthL", "pivot": [0, 17, -8], "rotation": [30, 0, 0], "cubes": [ {"name": "SaddleMouthL", "origin": [2, 29, -14], "size": [1, 2, 2], "uv": [29, 5]} ] }, { "name": "SaddleMouthR", "pivot": [0, 17, -8], "rotation": [30, 0, 0], "cubes": [ {"name": "SaddleMouthR", "origin": [-3, 29, -14], "size": [1, 2, 2], "uv": [29, 5]} ] }, { "name": "SaddleMouthLine", "pivot": [0, 17, -8], "cubes": [ {"name": "SaddleMouthLine", "origin": [3.1, 24, -19.5], "size": [0, 3, 16], "uv": [32, 2]} ] }, { "name": "SaddleMouthLineR", "pivot": [0, 17, -8], "cubes": [ {"name": "SaddleMouthLineR", "origin": [-3.1, 24, -19.5], "size": [0, 3, 16], "uv": [32, 2]} ] }, { "name": "HeadSaddle", "pivot": [0, 17, -8], "rotation": [30, 0, 0], "cubes": [ {"name": "HeadSaddle", "origin": [-2, 28, -13], "size": [4, 5, 2], "uv": [19, 0], "inflate": 0.25}, {"name": "HeadSaddle", "visibility": false, "origin": [-3, 28, -11], "size": [6, 5, 7], "uv": [0, 0], "inflate": 0.25} ] } ] }`};bt.horse_baby={display_name:"Horse Baby",model:`{ "name": "horse_baby", "texturewidth": 64, "textureheight": 64, "external_textures": ["entity/horse2/horse_brown_baby.png"], "eyes": [ [2, 10, 2, 1], [20, 10, 2, 1] ], "bones": [ { "name": "Body", "pivot": [0, 11.5, 0], "cubes": [ {"origin": [-4, 8, -7], "size": [8, 7, 14], "uv": [0, 13]} ] }, { "name": "Tail", "parent": "Body", "pivot": [0, 12.5, 7], "rotation": [-42.5, 0, 0], "cubes": [ {"origin": [-1.5, 11, 6], "size": [3, 3, 8], "uv": [24, 34]} ] }, { "name": "LegBL", "parent": "Body", "pivot": [2.4, 8, 5.4], "cubes": [ {"origin": [0.9, 0, 3.9], "size": [3, 9, 3], "uv": [12, 46]} ] }, { "name": "LegBR", "parent": "Body", "pivot": [-2.4, 8, 5.4], "cubes": [ {"origin": [-3.9, 0, 3.9], "size": [3, 9, 3], "uv": [0, 46]} ] }, { "name": "LegFL", "parent": "Body", "pivot": [2.4, 8, -5.4], "cubes": [ {"origin": [0.9, 0, -6.9], "size": [3, 9, 3], "uv": [12, 34]} ] }, { "name": "LegFR", "parent": "Body", "pivot": [-2.4, 8, -5.4], "cubes": [ {"origin": [-3.9, 0, -6.9], "size": [3, 9, 3], "uv": [0, 34]} ] }, { "name": "Neck", "parent": "Body", "pivot": [0, 14, -6], "rotation": [35, 0, 0], "cubes": [ {"origin": [-2, 12, -8], "size": [4, 8, 4], "uv": [30, 0]} ] }, { "name": "Head", "parent": "Neck", "pivot": [0, 20.05164, -6.29505], "cubes": [ {"origin": [-3, 20, -13], "size": [6, 4, 9], "uv": [0, 0]} ] }, { "name": "EarL", "parent": "Head", "pivot": [2, 24.3, -4.35], "rotation": [0, 0, 15], "cubes": [ {"origin": [1, 23.8, -5.15], "size": [2, 3, 1], "uv": [0, 4]} ] }, { "name": "EarR", "parent": "Head", "pivot": [-2, 24.3, -4.65], "rotation": [0, 0, -15], "cubes": [ {"origin": [-3, 23.8, -5.15], "size": [2, 3, 1], "uv": [0, 0]} ] } ] }`};bt.irongolem={display_name:"Iron Golem",model:`{ "name": "irongolem", "external_textures": ["entity/iron_golem.png"], "texturewidth": 128, "textureheight": 128, "bones": [ { "name": "body", "pivot": [0, 31, 0], "cubes": [ {"name": "body", "origin": [-9, 21, -6], "size": [18, 12, 11], "uv": [0, 40]}, {"name": "body", "origin": [-4.5, 16, -3], "size": [9, 5, 6], "uv": [0, 70], "inflate": 0.5} ] }, { "name": "Head", "parent": "body", "pivot": [0, 31, -2], "cubes": [ {"name": "head", "origin": [-4, 33, -7.5], "size": [8, 10, 8], "uv": [0, 0]}, {"name": "head", "origin": [-1, 32, -9.5], "size": [2, 4, 2], "uv": [24, 0]} ] }, { "name": "arm0", "parent": "body", "pivot": [0, 31, 0], "cubes": [ {"name": "arm0", "origin": [-13, 3.5, -3], "size": [4, 30, 6], "uv": [60, 21]} ] }, { "name": "arm1", "parent": "body", "pivot": [0, 31, 0], "cubes": [ {"name": "arm1", "origin": [9, 3.5, -3], "size": [4, 30, 6], "uv": [60, 58]} ] }, { "name": "leg0", "parent": "body", "pivot": [-4, 13, 0], "cubes": [ {"name": "leg0", "origin": [-7.5, 0, -3], "size": [6, 16, 5], "uv": [37, 0]} ] }, { "name": "leg1", "parent": "body", "pivot": [5, 13, 0], "mirror": true, "cubes": [ {"name": "leg1", "origin": [1.5, 0, -3], "size": [6, 16, 5], "uv": [60, 0]} ] } ] }`};bt.llama={display_name:"Llama",model:`{ "name": "llama", "external_textures": ["entity/llama/llama.png"], "texturewidth": 128, "textureheight": 64, "eyes": [ [7, 21], [11, 21] ], "bones": [ { "name": "Head", "pivot": [0, 17, -6], "cubes": [ {"name": "head", "origin": [-2, 27, -16], "size": [4, 4, 9], "uv": [0, 0]}, {"name": "head", "origin": [-4, 15, -12], "size": [8, 18, 6], "uv": [0, 14]}, {"name": "head", "origin": [-4, 33, -10], "size": [3, 3, 2], "uv": [17, 0]}, {"name": "head", "origin": [1, 33, -10], "size": [3, 3, 2], "uv": [17, 0]} ] }, { "name": "chest1", "pivot": [-8.5, 21, 3], "rotation": [0, 90, 0], "cubes": [ {"name": "chest1", "origin": [-11.5, 13, 3], "size": [8, 8, 3], "uv": [45, 28]} ] }, { "name": "chest2", "pivot": [5.5, 21, 3], "rotation": [0, 90, 0], "cubes": [ {"name": "chest2", "origin": [2.5, 13, 3], "size": [8, 8, 3], "uv": [45, 41]} ] }, { "name": "body", "pivot": [0, 19, 2], "rotation": [90, 0, 0], "cubes": [ {"name": "body", "origin": [-6, 11, -5], "size": [12, 18, 10], "uv": [29, 0]} ] }, { "name": "leg0", "pivot": [-3.5, 14, 6], "cubes": [ {"name": "leg0", "origin": [-5.5, 0, 4], "size": [4, 14, 4], "uv": [29, 29]} ] }, { "name": "leg1", "pivot": [3.5, 14, 6], "cubes": [ {"name": "leg1", "origin": [1.5, 0, 4], "size": [4, 14, 4], "uv": [29, 29]} ] }, { "name": "leg2", "pivot": [-3.5, 14, -5], "cubes": [ {"name": "leg2", "origin": [-5.5, 0, -7], "size": [4, 14, 4], "uv": [29, 29]} ] }, { "name": "leg3", "pivot": [3.5, 14, -5], "cubes": [ {"name": "leg3", "origin": [1.5, 0, -7], "size": [4, 14, 4], "uv": [29, 29]} ] } ] }`};bt.llama_baby={display_name:"Llama Baby",model:`{ "name": "llama_baby", "texturewidth": 64, "textureheight": 64, "external_textures": ["entity/llama/llama_creamy_baby.png"], "eyes": [ [5, 5, 1, 1], [8, 5, 1, 1] ], "bones": [ { "name": "root", "pivot": [0, 0, 0] }, { "name": "head", "parent": "root", "pivot": [0, 13, -4], "cubes": [ {"origin": [-3, 11, -8], "size": [6, 11, 4], "uv": [0, 0]}, {"origin": [-1.5, 17, -11], "size": [3, 3, 3], "uv": [0, 15]}, {"origin": [0.5, 22, -7], "size": [2, 2, 2], "uv": [20, 4]}, {"origin": [-2.5, 22, -7], "size": [2, 2, 2], "uv": [20, 0]} ] }, { "name": "leg0", "parent": "root", "pivot": [-2.5, 8.5, 4.5], "cubes": [ {"origin": [-3.9, 0, 3], "size": [3, 8, 3], "uv": [0, 45]} ] }, { "name": "leg1", "parent": "root", "pivot": [2.5, 8.5, 4.5], "cubes": [ {"origin": [0.9, 0, 3], "size": [3, 8, 3], "uv": [12, 45]} ] }, { "name": "leg2", "parent": "root", "pivot": [-2.5, 8.5, -3.5], "cubes": [ {"origin": [-3.9, 0, -5], "size": [3, 8, 3], "uv": [0, 34]} ] }, { "name": "leg3", "parent": "root", "pivot": [2.5, 8.5, -3.5], "cubes": [ {"origin": [0.9, 0, -5], "size": [3, 8, 3], "uv": [12, 34]} ] }, { "name": "body", "parent": "root", "pivot": [0, 11, 2.5], "cubes": [ {"origin": [-4, 8, -6], "size": [8, 6, 13], "uv": [0, 15]} ] } ] }`};bt.lavaslime={display_name:"Magma Cube",variants:{new:{name:"New",model:`{ "name": "magma_cube_v2", "texturewidth": 64, "textureheight": 64, "eyes": [ [9, 26, 2, 1], [13, 26, 2, 1], [9, 35, 2, 1], [13, 35, 2, 1] ], "bones": [ { "name": "inside", "pivot": [0, 0, 0], "cubes": [ {"origin": [-2, 2, -2], "size": [4, 4, 4], "uv": [24, 40]} ] }, { "name": "outside", "pivot": [0, 24, 0], "cubes": [ {"origin": [-4, 7, -4], "size": [8, 1, 8], "uv": [0, 0]}, {"origin": [-4, 6, -4], "size": [8, 1, 8], "uv": [0, 9]}, {"origin": [-4, 5, -4], "size": [8, 1, 8], "uv": [0, 18]}, {"origin": [-4, 4, -4], "size": [8, 1, 8], "uv": [0, 27]}, {"origin": [-4, 3, -4], "size": [8, 1, 8], "uv": [32, 0]}, {"origin": [-4, 2, -4], "size": [8, 1, 8], "uv": [32, 9]}, {"origin": [-4, 1, -4], "size": [8, 1, 8], "uv": [32, 18]}, {"origin": [-4, 0, -4], "size": [8, 1, 8], "uv": [32, 27]} ] } ] }`},old:{name:"Classic",model:`{ "name": "lavaslime", "texturewidth": 64, "textureheight": 32, "eyes": [ [33, 18, 2, 1], [37, 18, 2, 1], [33, 27, 2, 1], [37, 27, 2, 1] ], "bones": [ { "name": "insideCube", "pivot": [0, 0, 0], "cubes": [ {"name": "insideCube", "origin": [-2, 2, -2], "size": [4, 4, 4], "uv": [0, 16]} ] }, { "name": "bodyCube_0", "parent": "insideCube", "pivot": [0, 24, 0], "cubes": [ {"name": "bodyCube_0", "origin": [-4, 7, -4], "size": [8, 1, 8], "uv": [0, 0]} ] }, { "name": "bodyCube_1", "parent": "insideCube", "pivot": [0, 24, 0], "cubes": [ {"name": "bodyCube_1", "origin": [-4, 6, -4], "size": [8, 1, 8], "uv": [0, 1]} ] }, { "name": "bodyCube_2", "parent": "insideCube", "pivot": [0, 24, 0], "cubes": [ {"name": "bodyCube_2", "origin": [-4, 5, -4], "size": [8, 1, 8], "uv": [24, 10]} ] }, { "name": "bodyCube_3", "parent": "insideCube", "pivot": [0, 24, 0], "cubes": [ {"name": "bodyCube_3", "origin": [-4, 4, -4], "size": [8, 1, 8], "uv": [24, 19]} ] }, { "name": "bodyCube_4", "parent": "insideCube", "pivot": [0, 24, 0], "cubes": [ {"name": "bodyCube_4", "origin": [-4, 3, -4], "size": [8, 1, 8], "uv": [0, 4]} ] }, { "name": "bodyCube_5", "parent": "insideCube", "pivot": [0, 24, 0], "cubes": [ {"name": "bodyCube_5", "origin": [-4, 2, -4], "size": [8, 1, 8], "uv": [0, 5]} ] }, { "name": "bodyCube_6", "parent": "insideCube", "pivot": [0, 24, 0], "cubes": [ {"name": "bodyCube_6", "origin": [-4, 1, -4], "size": [8, 1, 8], "uv": [0, 6]} ] }, { "name": "bodyCube_7", "parent": "insideCube", "pivot": [0, 24, 0], "cubes": [ {"name": "bodyCube_7", "origin": [-4, 0, -4], "size": [8, 1, 8], "uv": [0, 7]} ] } ] }`}}};bt.minecart={display_name:"Minecart",model:`{ "name": "minecart", "external_textures": ["entity/minecart.png"], "texturewidth": 64, "textureheight": 32, "bones": [ { "name": "bottom", "pivot": [0, 20, 0], "rotation": [90, 0, 0], "mirror": true, "cubes": [ {"name": "bottom", "origin": [-10, 12, -20], "size": [20, 16, 2], "uv": [0, 10]} ] }, { "name": "front", "pivot": [-9, 25, 0], "rotation": [0, -90, 0], "mirror": true, "cubes": [ {"name": "front", "origin": [-17, 2, -1], "size": [16, 8, 2], "uv": [0, 0]} ] }, { "name": "back", "pivot": [9, 25, 0], "rotation": [0, 90, 0], "mirror": true, "cubes": [ {"name": "back", "origin": [1, 2, -1], "size": [16, 8, 2], "uv": [0, 0]} ] }, { "name": "right", "pivot": [0, 25, -7], "rotation": [0, -180, 0], "mirror": true, "cubes": [ {"name": "right", "origin": [-8, 2, -8], "size": [16, 8, 2], "uv": [0, 0]} ] }, { "name": "left", "pivot": [0, 25, 7], "mirror": true, "cubes": [ {"name": "left", "origin": [-8, 2, 6], "size": [16, 8, 2], "uv": [0, 0]} ] } ] }`};bt.nautilus={display_name:"Nautilus",model:`{ "name": "nautilus", "external_textures": ["entity/nautilus/nautilus.png"], "texturewidth": 128, "textureheight": 128, "eyes": [ [7, 70, 2, 1], [29, 70, 2, 1] ], "bones": [ { "name": "nautilus", "pivot": [0, -5, -6] }, { "name": "head", "parent": "nautilus", "pivot": [0, 8, -1], "cubes": [ {"origin": [-7, 8, -8], "size": [14, 10, 16], "uv": [0, 0]}, {"name": "head_bottom", "origin": [-7, 0, -8], "size": [14, 8, 20], "uv": [0, 26]}, {"name": "head_back", "origin": [-7, 0, 5], "size": [14, 8, 0], "uv": [48, 26]} ] }, { "name": "body", "parent": "nautilus", "pivot": [0, 3.5, 6.3], "cubes": [ {"origin": [-5, 0.01, 3.3], "size": [10, 8, 14], "uv": [0, 54]}, {"name": "body_back", "origin": [-5, 0.01, 13.3], "size": [10, 8, 0], "uv": [0, 76]}, {"name": "mouth_top", "origin": [-5, 4.01, 13.3], "size": [10, 4, 4], "inflate": -0.002, "uv": [54, 54]}, {"name": "inner_mouth", "origin": [-3, 2.01, 13.3], "size": [6, 4, 4], "uv": [54, 70]}, {"name": "mouth_bottom", "origin": [-5, -0.01, 13.3], "size": [10, 4, 4], "inflate": -0.002, "uv": [54, 62]} ] } ] }`};bt.nautilus_baby={display_name:"Nautilus Baby",model:`{ "name": "nautilus_baby", "external_textures": ["entity/nautilus/nautilus_baby.png"], "texturewidth": 64, "textureheight": 64, "eyes": [ [3, 32, 1, 1], [15, 32, 1, 1] ], "bones": [ { "name": "nautilus_baby", "pivot": [0, -4, 0] }, { "name": "head", "parent": "nautilus_baby", "pivot": [-2.5, 4, -2.5], "cubes": [ {"origin": [-3.5, 4, -3.5], "size": [7, 4, 7], "uv": [0, 0]}, {"name": "head_bottom", "origin": [-3.5, 0, -3.5], "size": [7, 4, 9], "uv": [0, 11]}, {"name": "head_back", "origin": [-3.5, 0, 2.5], "size": [7, 4, 0], "uv": [23, 11]} ] }, { "name": "body", "parent": "nautilus_baby", "pivot": [0, 1, 2.5], "cubes": [ {"origin": [-2.5, 0.01, 1.5], "size": [5, 4, 7], "uv": [0, 24]}, {"name": "body_back", "origin": [-2.5, 0.01, 6.6], "size": [5, 4, 0], "uv": [0, 35]}, {"name": "mouth_top", "origin": [-2.5, 2.01, 6.4], "size": [5, 2, 2], "inflate": -0.002, "uv": [24, 24]}, {"name": "inner_mouth", "origin": [-1.5, 1.01, 6.4], "size": [3, 2, 2], "uv": [24, 32]}, {"name": "mouth_bottom", "origin": [-2.5, 0.01, 6.4], "size": [5, 2, 2], "inflate": -0.002, "uv": [24, 28]} ] } ] }`};bt.panda={display_name:"Panda",model:`{ "name": "panda", "external_textures": ["entity/panda/panda.png"], "texturewidth": 64, "textureheight": 64, "eyes": [ [11, 19, 2, 1], [18, 19, 2, 1] ], "bones": [ { "name": "body", "pivot": [0, 14, 0], "rotation": [90, 0, 0], "cubes": [ {"name": "body", "origin": [-9.5, 1, -6.5], "size": [19, 26, 13], "uv": [0, 25]} ] }, { "name": "head", "pivot": [0, 12.5, -17], "cubes": [ {"name": "head", "origin": [-6.5, 7.5, -21], "size": [13, 10, 9], "uv": [0, 6]}, {"name": "head", "origin": [-3.5, 7.5, -23], "size": [7, 5, 2], "uv": [45, 16]}, {"name": "head", "origin": [-8.5, 16.5, -18], "size": [5, 4, 1], "uv": [52, 25]}, {"name": "head", "origin": [3.5, 16.5, -18], "size": [5, 4, 1], "uv": [52, 25]} ] }, { "name": "leg0", "pivot": [-5.5, 9, 9], "cubes": [ {"name": "leg0", "origin": [-8.5, 0, 6], "size": [6, 9, 6], "uv": [40, 0]} ] }, { "name": "leg1", "pivot": [5.5, 9, 9], "cubes": [ {"name": "leg1", "origin": [2.5, 0, 6], "size": [6, 9, 6], "uv": [40, 0]} ] }, { "name": "leg2", "pivot": [-5.5, 9, -9], "cubes": [ {"name": "leg2", "origin": [-8.5, 0, -12], "size": [6, 9, 6], "uv": [40, 0]} ] }, { "name": "leg3", "pivot": [5.5, 9, -9], "cubes": [ {"name": "leg3", "origin": [2.5, 0, -12], "size": [6, 9, 6], "uv": [40, 0]} ] } ] }`};bt.panda_baby={display_name:"Panda Baby",model:`{ "name": "panda_baby", "texturewidth": 64, "textureheight": 64, "external_textures": ["entity/panda/panda_baby.png"], "eyes": [ [6, 8, 1, 1], [10, 8, 1, 1] ], "bones": [ { "name": "body", "pivot": [0, 5.5, 2.5], "cubes": [ {"origin": [-4.5, 2, -3], "size": [9, 7, 11], "uv": [0, 11]} ] }, { "name": "head", "parent": "body", "pivot": [0, 5, -3], "cubes": [ {"origin": [-3.5, 2, -8], "size": [7, 6, 5], "uv": [0, 0]}, {"origin": [-2, 2, -9], "size": [4, 2, 1], "uv": [24, 6]}, {"origin": [-4.5, 6, -6.5], "size": [3, 3, 1], "uv": [24, 0]}, {"origin": [1.5, 6, -6.5], "size": [3, 3, 1], "uv": [33, 0]} ] }, { "name": "leg0", "parent": "body", "pivot": [-3, 2, 6.5], "cubes": [ {"origin": [-4.4975, 0, 4.975], "size": [3, 2, 3], "uv": [0, 34]} ] }, { "name": "leg1", "parent": "body", "pivot": [3, 2, 6.5], "cubes": [ {"origin": [1.4975, 0, 4.975], "size": [3, 2, 3], "uv": [12, 34]} ] }, { "name": "leg2", "parent": "body", "pivot": [-3, 2, -1.5], "cubes": [ {"origin": [-4.475, 0, -2.975], "size": [3, 2, 3], "uv": [0, 29]} ] }, { "name": "leg3", "parent": "body", "pivot": [3, 2, -1.5], "cubes": [ {"origin": [1.475, 0, -2.975], "size": [3, 2, 3], "uv": [12, 29]} ] } ] }`};bt.parrot={display_name:"Parrot",model_bedrock:`{ "name": "parrot", "external_textures": ["entity/parrot/parrot_red_blue.png"], "texturewidth": 32, "textureheight": 32, "bones": [ { "name": "body", "pivot": [0, 7.5, -3], "rotation": [25, 0, 0], "cubes": [ {"name": "body", "origin": [-1.5, 1.5, -4.5], "size": [3, 6, 3], "uv": [2, 8]} ] }, { "name": "wing0", "parent": "body", "pivot": [1.5, 7.1, -2.8], "rotation": [10, 0, 0], "cubes": [ {"name": "wing0", "origin": [1, 2.1, -4.3], "size": [1, 5, 3], "uv": [19, 8]} ] }, { "name": "wing1", "parent": "body", "pivot": [-1.5, 7.1, -2.8], "rotation": [10, 0, 0], "cubes": [ {"name": "wing1", "origin": [-2, 2.1, -4.3], "size": [1, 5, 3], "uv": [19, 8]} ] }, { "name": "head", "pivot": [0, 8.3, -2.8], "cubes": [ {"name": "head", "origin": [-1, 6.8, -3.8], "size": [2, 3, 2], "uv": [2, 2]}, {"name": "head2", "origin": [-1, 9.8, -5.8], "size": [2, 1, 4], "uv": [10, 0]}, {"name": "beak1", "origin": [-0.5, 7.8, -4.7], "size": [1, 2, 1], "uv": [11, 7]}, {"name": "beak2", "origin": [-0.5, 8.1, -5.7], "size": [1, 1.7, 1], "uv": [16, 7]}, {"name": "feather", "origin": [0, 9.1, -4.9], "size": [0, 5, 4], "uv": [2, 18]} ] }, { "name": "tail", "pivot": [0, 2.9, 1.2], "rotation": [50, 0, 0], "cubes": [ {"name": "tail", "origin": [-1.5, -0.1, 0.2], "size": [3, 4, 1], "uv": [22, 1]} ] }, { "name": "leg0", "pivot": [1.5, 1, -0.5], "cubes": [ {"name": "leg0", "origin": [0.5, -0.5, -1.5], "size": [1, 2, 1], "uv": [14, 18]} ] }, { "name": "leg1", "pivot": [-0.5, 1, -0.5], "cubes": [ {"name": "leg1", "origin": [-1.5, -0.5, -1.5], "size": [1, 2, 1], "uv": [14, 18]} ] } ] }`,model_java:`{ "name": "parrot", "external_textures": ["entity/parrot/parrot_red_blue.png"], "texturewidth": 32, "textureheight": 32, "bones": [ { "name": "body", "pivot": [0, 7.5, -3], "rotation": [25, 0, 0], "cubes": [ {"origin": [-1.5, 1.5, -4.5], "size": [3, 6, 3], "uv": [2, 8]} ] }, { "name": "wing0", "parent": "body", "pivot": [1.5, 7.1, -2.8], "rotation": [10, 0, 0], "cubes": [ {"origin": [1, 2.1, -4.3], "size": [1, 5, 3], "uv": [19, 8]} ] }, { "name": "wing1", "parent": "body", "pivot": [-1.5, 7.1, -2.8], "rotation": [10, 0, 0], "cubes": [ {"origin": [-2, 2.1, -4.3], "size": [1, 5, 3], "uv": [19, 8]} ] }, { "name": "head", "pivot": [0, 8.3, -2.8], "cubes": [ {"origin": [-1, 6.8, -3.8], "size": [2, 3, 2], "uv": [2, 2]}, {"origin": [-1, 9.8, -5.8], "size": [2, 1, 4], "uv": [10, 0]}, {"origin": [-0.5, 7.8, -4.7], "size": [1, 2, 1], "uv": [11, 7]}, {"origin": [-0.5, 8.035, -5.64], "size": [1, 2.025, 1], "uv": [16, 7]}, {"origin": [0, 9.1, -4.9], "size": [0, 5, 4], "uv": [2, 18]} ] }, { "name": "tail", "pivot": [0, 2.9, 1.2], "rotation": [50, 0, 0], "cubes": [ {"origin": [-1.5, -0.1, 0.2], "size": [3, 4, 1], "uv": [22, 1]} ] }, { "name": "leg0", "pivot": [1.5, 1, -0.5], "cubes": [ {"origin": [0.5, -0.5, -1.5], "size": [1, 2, 1], "uv": [14, 18]} ] }, { "name": "leg1", "pivot": [-0.5, 1, -0.5], "cubes": [ {"origin": [-1.5, -0.5, -1.5], "size": [1, 2, 1], "uv": [14, 18]} ] } ] }`};bt.phantom={display_name:"Phantom",model:`{ "name": "phantom", "external_textures": ["entity/phantom.tga"], "eyes": [ [5, 6, 2, 1], [10, 6, 2, 1] ], "texturewidth": 64, "textureheight": 64, "bones": [ { "name": "body", "pivot": [0, 24, 0], "cubes": [ {"name": "body", "origin": [-3, 23, -8], "size": [5, 3, 9], "uv": [0, 8]} ] }, { "name": "wing0", "parent": "body", "pivot": [2, 26, -8], "rotation": [0, 0, 5], "cubes": [ {"name": "wing0", "origin": [2, 24, -8], "size": [6, 2, 9], "uv": [23, 12]} ] }, { "name": "wingtip0", "parent": "wing0", "pivot": [8, 26, -8], "rotation": [0, 0, 10], "cubes": [ {"name": "wingtip0", "origin": [8, 25, -8], "size": [13, 1, 9], "uv": [16, 24]} ] }, { "name": "wing1", "parent": "body", "pivot": [-3, 26, -8], "rotation": [0, 0, -5], "mirror": true, "cubes": [ {"name": "wing1", "origin": [-9, 24, -8], "size": [6, 2, 9], "uv": [23, 12]} ] }, { "name": "wingtip1", "parent": "wing1", "pivot": [-9, 26, -8], "rotation": [0, 0, -10], "mirror": true, "cubes": [ {"name": "wingtip1", "origin": [-22, 25, -8], "size": [13, 1, 9], "uv": [16, 24]} ] }, { "name": "head", "parent": "body", "pivot": [0, 23, -7], "cubes": [ {"name": "head", "origin": [-4, 22, -12], "size": [7, 3, 5], "uv": [0, 0]} ] }, { "name": "tail", "parent": "body", "pivot": [0, 26, 1], "rotation": [-5, 0, 0], "cubes": [ {"name": "tail", "origin": [-2, 24, 1], "size": [3, 2, 6], "uv": [3, 20]} ] }, { "name": "tailtip", "parent": "tail", "pivot": [0, 25.5, 7], "rotation": [-5, 0, 0], "cubes": [ {"name": "tailtip", "origin": [-1, 24.5, 7], "size": [1, 1, 6], "uv": [4, 29]} ] } ] }`};bt.pig={display_name:"Pig",variants:{new:{name:"New",model:`{ "name": "pig", "external_textures": ["entity/pig/pig_v3.png"], "texturewidth": 64, "textureheight": 64, "eyes": [ [8, 11, 2, 1], [14, 11, 2, 1] ], "bones": [ { "name": "root", "pivot": [0, 0, 0] }, { "name": "head", "parent": "root", "pivot": [0, 12, -7], "cubes": [ {"origin": [-4, 8, -15], "size": [8, 8, 8], "uv": [0, 0]}, {"origin": [-2, 9, -16], "size": [4, 3, 1], "uv": [16, 16]} ] }, { "name": "body", "parent": "root", "pivot": [0, 11, 9], "cubes": [ {"origin": [-5, 13, 4], "size": [10, 16, 8], "pivot": [0, 11, 9], "rotation": [90, 0, 0], "uv": [28, 8]}, {"origin": [-5, 13, 4], "size": [10, 16, 8], "inflate": 0.5, "pivot": [0, 11, 9], "rotation": [90, 0, 0], "uv": [28, 32], "layer": true} ] }, { "name": "leg0", "parent": "root", "pivot": [-3, 6, 6], "cubes": [ {"origin": [-5, 0, 4], "size": [4, 6, 4], "uv": [0, 16]} ] }, { "name": "leg1", "parent": "root", "pivot": [3, 6, 6], "mirror": true, "cubes": [ {"origin": [1, 0, 4], "size": [4, 6, 4], "uv": [0, 16], "mirror": true} ] }, { "name": "leg3", "parent": "root", "pivot": [3, 6, -6], "mirror": true, "cubes": [ {"origin": [1, 0, -8], "size": [4, 6, 4], "uv": [0, 16], "mirror": true} ] }, { "name": "leg2", "parent": "root", "pivot": [-3, 6, -6], "cubes": [ {"origin": [-5, 0, -8], "size": [4, 6, 4], "uv": [0, 16]} ] } ] }`},old:{name:"Classic",model:`{ "name": "pig", "external_textures": ["entity/pig/pig.png"], "texturewidth": 64, "textureheight": 32, "eyes": [ [8, 11, 2, 1], [14, 11, 2, 1] ], "bones": [ { "name": "body", "pivot": [0, 13, 2], "rotation": [90, 0, 0], "cubes": [ {"name": "body", "origin": [-5, 7, -5], "size": [10, 16, 8], "uv": [28, 8]} ] }, { "name": "head", "pivot": [0, 12, -6], "cubes": [ {"name": "head", "origin": [-4, 8, -14], "size": [8, 8, 8], "uv": [0, 0]}, {"name": "head", "origin": [-2, 9, -15], "size": [4, 3, 1], "uv": [16, 16]} ] }, { "name": "leg0", "pivot": [-3, 6, 7], "cubes": [ {"name": "leg0", "origin": [-5, 0, 5], "size": [4, 6, 4], "uv": [0, 16]} ] }, { "name": "leg1", "pivot": [3, 6, 7], "mirror": true, "cubes": [ {"name": "leg1", "origin": [1, 0, 5], "size": [4, 6, 4], "uv": [0, 16]} ] }, { "name": "leg2", "pivot": [-3, 6, -5], "cubes": [ {"name": "leg2", "origin": [-5, 0, -7], "size": [4, 6, 4], "uv": [0, 16]} ] }, { "name": "leg3", "pivot": [3, 6, -5], "mirror": true, "cubes": [ {"name": "leg3", "origin": [1, 0, -7], "size": [4, 6, 4], "uv": [0, 16]} ] } ] }`}}};bt.pig_baby={display_name:"Pig Baby",model:`{ "name": "pig_baby", "external_textures": ["entity/pig/pig_temperate_baby.png"], "texturewidth": 32, "textureheight": 32, "eyes": [ [7, 23, 1, 1], [11, 23, 1, 1] ], "bones": [ { "name": "root", "pivot": [0, 0, 0] }, { "name": "body", "parent": "root", "pivot": [0, 5, 0.5], "cubes": [ {"origin": [-3.5, 2, -4], "size": [7, 6, 9], "uv": [0, 0]} ] }, { "name": "head", "parent": "root", "pivot": [0, 5, -2], "cubes": [ {"origin": [-3.51, 4, -7], "size": [7.02, 6, 6], "uv": [0, 15]}, {"origin": [-1.5, 5, -8], "size": [3, 2, 1], "uv": [6, 27]} ] }, { "name": "leg0", "parent": "root", "pivot": [-2.5, 2, 4], "cubes": [ {"origin": [-3.475, 0, 3], "size": [2, 2, 2], "uv": [23, 4]} ] }, { "name": "leg1", "parent": "root", "pivot": [2.5, 2, 4], "cubes": [ {"origin": [1.475, 0, 3], "size": [2, 2, 2], "uv": [0, 4]} ] }, { "name": "leg3", "parent": "root", "pivot": [2.5, 2, -3], "cubes": [ {"origin": [1.475, 0, -4], "size": [2, 2, 2], "uv": [0, 0]} ] }, { "name": "leg2", "parent": "root", "pivot": [-2.5, 2, -3], "cubes": [ {"origin": [-3.475, 0, -4], "size": [2, 2, 2], "uv": [23, 0]} ] } ] }`};bt.piglin={display_name:"Piglin",model:`{ "name": "piglin", "external_textures": ["entity/piglin/piglin.png"], "texturewidth": 64, "textureheight": 64, "eyes": [ [10, 11, 1, 1], [15, 11, 1, 1] ], "bones": [ { "name": "Body", "pivot": [0, 24, 0], "cubes": [ {"origin": [-4, 12, -2], "size": [8, 12, 4], "uv": [16, 16]}, {"origin": [-4, 12, -2], "size": [8, 12, 4], "inflate": 0.25, "uv": [16, 32]} ] }, { "name": "head", "pivot": [0, 24, 0], "cubes": [ {"origin": [-5, 24, -4], "size": [10, 8, 8], "inflate": -0.02, "uv": [0, 0]}, {"origin": [-2, 24, -5], "size": [4, 4, 1], "uv": [31, 1]}, {"origin": [2, 24, -5], "size": [1, 2, 1], "uv": [2, 4]}, {"origin": [-3, 24, -5], "size": [1, 2, 1], "uv": [2, 0]} ] }, { "name": "leftear", "parent": "head", "pivot": [5, 30, 0], "rotation": [0, 0, -30], "cubes": [ {"origin": [4, 25, -2], "size": [1, 5, 4], "uv": [51, 6]} ] }, { "name": "rightear", "parent": "head", "pivot": [-5, 30, 0], "rotation": [0, 0, 30], "cubes": [ {"origin": [-5, 25, -2], "size": [1, 5, 4], "uv": [39, 6]} ] }, { "name": "RightArm", "pivot": [-5, 22, 0], "cubes": [ {"origin": [-8, 12, -2], "size": [4, 12, 4], "uv": [40, 16]}, {"origin": [-8, 12, -2], "size": [4, 12, 4], "inflate": 0.25, "uv": [40, 32]} ] }, { "name": "LeftArm", "pivot": [5, 22, 0], "cubes": [ {"origin": [4, 12, -2], "size": [4, 12, 4], "uv": [32, 48]}, {"origin": [4, 12, -2], "size": [4, 12, 4], "inflate": 0.25, "uv": [48, 48]} ] }, { "name": "RightLeg", "pivot": [-1.9, 12, 0], "cubes": [ {"origin": [-4, 0, -2], "size": [4, 12, 4], "uv": [0, 16]}, {"origin": [-4, 0, -2], "size": [4, 12, 4], "inflate": 0.25, "uv": [0, 32]} ] }, { "name": "LeftLeg", "pivot": [1.9, 12, 0], "cubes": [ {"origin": [0, 0, -2], "size": [4, 12, 4], "uv": [16, 48]}, {"origin": [0, 0, -2], "size": [4, 12, 4], "inflate": 0.25, "uv": [0, 48]} ] }, { "name": "leftItem", "pivot": [6, 15, 1] } ] }`};bt.piglin_baby={display_name:"Piglin Baby",model:`{ "name": "piglin_baby", "texturewidth": 64, "textureheight": 64, "external_textures": ["entity/piglin/piglin_baby.png"], "eyes": [ [9, 9, 1, 1], [13, 9, 1, 1] ], "bones": [ { "name": "Body", "pivot": [0, 6, 0], "cubes": [ {"origin": [-3, 4, -1], "size": [6, 5, 3], "uv": [0, 13]} ] }, { "name": "head", "parent": "Body", "pivot": [0, 9, 0.5], "cubes": [ {"origin": [-1.5, 9, -4], "size": [3, 3, 1], "uv": [21, 30]}, {"origin": [-4.5, 9, -3], "size": [9, 6, 7], "uv": [0, 0]} ] }, { "name": "leftear", "parent": "head", "pivot": [4.2, 13, 1], "cubes": [ {"origin": [4.7, 8.25, -1], "size": [1, 6, 4], "pivot": [5.2, 11.25, 1], "rotation": [0, 0, -35], "uv": [0, 21]} ] }, { "name": "rightear", "parent": "head", "pivot": [-4.2, 13, 1], "cubes": [ {"origin": [-5.7, 8.25, -1], "size": [1, 6, 4], "pivot": [-5.2, 11.25, 1], "rotation": [0, 0, 35], "uv": [18, 13]} ] }, { "name": "LeftArm", "parent": "Body", "pivot": [4, 9, 0.5], "cubes": [ {"origin": [3, 4, -1], "size": [2, 5, 3], "uv": [28, 13]} ] }, { "name": "leftItem", "parent": "LeftArm", "pivot": [4, 6, 0.5] }, { "name": "RightArm", "parent": "Body", "pivot": [-4, 9, 0.5], "cubes": [ {"origin": [-5, 4, -1], "size": [2, 5, 3], "uv": [10, 30]} ] }, { "name": "rightItem", "parent": "RightArm", "pivot": [-4, 6, 0.5] }, { "name": "RightLeg", "parent": "Body", "pivot": [-1.5, 4, 0.5], "cubes": [ {"origin": [-3, 0, -1], "size": [3, 4, 3], "uv": [22, 23]} ] }, { "name": "LeftLeg", "parent": "Body", "pivot": [1.5, 4, 0.5], "cubes": [ {"origin": [0, 0, -1], "size": [3, 4, 3], "uv": [10, 23]} ] } ] }`};bt.pillager={display_name:"Pillager",model:`{ "name": "pillager", "external_textures": ["entity/pillager.png"], "texturewidth": 64, "textureheight": 64, "bones": [ { "name": "waist", "pivot": [0, 12, 0] }, { "name": "Body", "parent": "waist", "pivot": [0, 0, 0], "cubes": [ {"name": "Body", "origin": [-4, 12, -3], "size": [8, 12, 6], "uv": [16, 20]}, {"name": "Body", "origin": [-4, 6, -3], "size": [8, 18, 6], "uv": [0, 38], "inflate": 0.5} ] }, { "name": "head", "pivot": [0, 24, 0], "cubes": [ {"name": "head", "origin": [-4, 24, -4], "size": [8, 10, 8], "uv": [0, 0]} ] }, { "name": "nose", "parent": "head", "pivot": [0, 26, 0], "cubes": [ {"name": "nose", "origin": [-1, 23, -6], "size": [2, 4, 2], "uv": [24, 0]} ] }, { "name": "LeftLeg", "pivot": [2, 12, 0], "cubes": [ {"name": "LeftLeg", "origin": [0, 0, -2], "size": [4, 12, 4], "uv": [0, 22]} ] }, { "name": "RightLeg", "pivot": [-2, 12, 0], "mirror": true, "cubes": [ {"name": "RightLeg", "origin": [-4, 0, -2], "size": [4, 12, 4], "uv": [0, 22]} ] }, { "name": "RightArm", "pivot": [-5, 22, 0], "cubes": [ {"name": "RightArm", "origin": [-8, 12, -2], "size": [4, 12, 4], "uv": [40, 46]} ] }, { "name": "LeftArm", "pivot": [5, 22, 0], "mirror": true, "cubes": [ {"name": "LeftArm", "origin": [4, 12, -2], "size": [4, 12, 4], "uv": [40, 46]} ] } ] }`};bt.polar_bear={display_name:"Polar Bear",model:`{ "name": "polar_bear", "external_textures": ["entity/polar_bear.png"], "texturewidth": 128, "textureheight": 64, "bones": [ { "name": "body", "pivot": [-2, 15, 12], "rotation": [90, 0, 0], "cubes": [ {"name": "body", "origin": [-7, 14, 5], "size": [14, 14, 11], "uv": [0, 19]}, {"name": "body", "origin": [-6, 28, 5], "size": [12, 12, 10], "uv": [39, 0]} ] }, { "name": "head", "pivot": [0, 14, -16], "mirror": true, "cubes": [ {"name": "head", "origin": [-3.5, 10, -19], "size": [7, 7, 7], "uv": [0, 0], "mirror": false}, {"name": "head", "origin": [-2.5, 10, -22], "size": [5, 3, 3], "uv": [0, 44], "mirror": false}, {"name": "head", "origin": [-4.5, 16, -17], "size": [2, 2, 1], "uv": [26, 0], "mirror": false}, {"name": "head", "origin": [2.5, 16, -17], "size": [2, 2, 1], "uv": [26, 0]} ] }, { "name": "leg0", "pivot": [-4.5, 10, 6], "cubes": [ {"name": "leg0", "origin": [-6.5, 0, 4], "size": [4, 10, 8], "uv": [50, 22]} ] }, { "name": "leg1", "pivot": [4.5, 10, 6], "cubes": [ {"name": "leg1", "origin": [2.5, 0, 4], "size": [4, 10, 8], "uv": [50, 22]} ] }, { "name": "leg2", "pivot": [-3.5, 10, -8], "cubes": [ {"name": "leg2", "origin": [-5.5, 0, -10], "size": [4, 10, 6], "uv": [50, 40]} ] }, { "name": "leg3", "pivot": [3.5, 10, -8], "cubes": [ {"name": "leg3", "origin": [1.5, 0, -10], "size": [4, 10, 6], "uv": [50, 40]} ] } ] }`};bt.polar_bear_baby={display_name:"Polar Bear Baby",model:`{ "name": "polar_bear_baby", "texturewidth": 64, "textureheight": 64, "external_textures": ["entity/polar_bear/polar_bear_baby.png"], "eyes": [ [5, 6, 1, 1], [8, 6, 1, 1] ], "bones": [ { "name": "root", "pivot": [0, 0, 0] }, { "name": "head", "parent": "root", "pivot": [0, 5.375, -6.75], "cubes": [ {"origin": [-3, 3, -10], "size": [6, 5, 4], "uv": [0, 0]}, {"origin": [-2, 3, -12], "size": [4, 2, 2], "uv": [20, 3]}, {"origin": [-4, 7, -8.5], "size": [2, 2, 1], "uv": [20, 0]}, {"origin": [2, 7, -8.5], "size": [2, 2, 1], "uv": [26, 0]} ] }, { "name": "leg0", "parent": "root", "pivot": [-2.5, 2.5, 4.5], "cubes": [ {"origin": [-3.975, 0, 3], "size": [3, 3, 3], "uv": [0, 34]} ] }, { "name": "leg1", "parent": "root", "pivot": [2.5, 2.5, 4.5], "cubes": [ {"origin": [0.975, 0, 3], "size": [3, 3, 3], "uv": [12, 34]} ] }, { "name": "leg2", "parent": "root", "pivot": [-2.5, 2.5, -4.5], "cubes": [ {"origin": [-3.975, 0, -6], "size": [3, 3, 3], "uv": [0, 28]} ] }, { "name": "leg3", "parent": "root", "pivot": [2.5, 2.5, -4.5], "cubes": [ {"origin": [0.975, 0, -6], "size": [3, 3, 3], "uv": [12, 28]} ] }, { "name": "body", "parent": "root", "pivot": [0, 6.5, 4], "cubes": [ {"origin": [-4, 3, -6], "size": [8, 7, 12], "uv": [0, 9]} ] } ] }`};bt.pufferfish={display_name:"Pufferfish",model:`{ "name": "pufferfish", "external_textures": ["entity/fish/pufferfish.png"], "texturewidth": 32, "textureheight": 32, "bones": [ { "name": "body_large", "pivot": [0, 0, 0], "cubes": [ {"name": "body", "origin": [-4, 0, -4], "size": [8, 8, 8], "uv": [0, 0]} ] }, { "name": "leftFin", "parent": "body_large", "pivot": [4, 7, 3], "cubes": [ {"name": "leftFin", "origin": [4, 6, -2.9904], "size": [2, 1, 2], "uv": [24, 3]} ] }, { "name": "rightFin", "parent": "body_large", "pivot": [-4, 7, 1], "cubes": [ {"name": "rightFin", "origin": [-5.9968, 6, -2.992], "size": [2, 1, 2], "uv": [24, 0]} ] }, { "name": "spines_top_front", "parent": "body_large", "pivot": [-4, 8, -4], "rotation": [45, 0, 0], "cubes": [ {"name": "spines_top_front", "origin": [-4, 8, -4], "size": [8, 1, 1], "uv": [14, 16]} ] }, { "name": "spines_top_mid", "parent": "body_large", "pivot": [0, 8, 0], "cubes": [ {"name": "spines_top_mid", "origin": [-4, 8, 0], "size": [8, 1, 1], "uv": [14, 16]} ] }, { "name": "spines_top_back", "parent": "body_large", "pivot": [0, 8, 4], "rotation": [-45, 0, 0], "cubes": [ {"name": "spines_top_back", "origin": [-4, 8, 4], "size": [8, 1, 1], "uv": [14, 16]} ] }, { "name": "spines_bottom_front", "parent": "body_large", "pivot": [0, 0, -4], "rotation": [-45, 0, 0], "cubes": [ {"name": "spines_bottom_front", "origin": [-4, -1, -4], "size": [8, 1, 1], "uv": [14, 19]} ] }, { "name": "spines_bottom_mid", "parent": "body_large", "pivot": [0, -1, 0], "cubes": [ {"name": "spines_bottom_mid", "origin": [-4, -1, 0], "size": [8, 1, 1], "uv": [14, 19]} ] }, { "name": "spines_bottom_back", "parent": "body_large", "pivot": [0, 0, 4], "rotation": [45, 0, 0], "cubes": [ {"name": "spines_bottom_back", "origin": [-4, -1, 4], "size": [8, 1, 1], "uv": [14, 19]} ] }, { "name": "spines_left_front", "parent": "body_large", "pivot": [4, 0, -4], "rotation": [0, 45, 0], "cubes": [ {"name": "spines_left_front", "origin": [4, 0, -4], "size": [1, 8, 1], "uv": [0, 16]} ] }, { "name": "spines_left_mid", "parent": "body_large", "pivot": [4, 0, 0], "cubes": [ {"name": "spines_left_mid", "origin": [4, 0, 0], "size": [1, 8, 1], "uv": [4, 16], "mirror": true} ] }, { "name": "spines_left_back", "parent": "body_large", "pivot": [4, 0, 4], "rotation": [0, -45, 0], "cubes": [ {"name": "spines_left_back", "origin": [4, 0, 4], "size": [1, 8, 1], "uv": [8, 16], "mirror": true} ] }, { "name": "spines_right_front", "parent": "body_large", "pivot": [-4, 0, -4], "rotation": [0, -45, 0], "cubes": [ {"name": "spines_right_front", "origin": [-5, 0, -4], "size": [1, 8, 1], "uv": [4, 16]} ] }, { "name": "spines_right_mid", "parent": "body_large", "pivot": [-4, 0, 0], "cubes": [ {"name": "spines_right_mid", "origin": [-5, 0, 0], "size": [1, 8, 1], "uv": [8, 16]} ] }, { "name": "spines_right_back", "parent": "body_large", "pivot": [-4, 0, 4], "rotation": [0, 45, 0], "cubes": [ {"name": "spines_right_back", "origin": [-5, 0, 4], "size": [1, 8, 1], "uv": [8, 16]} ] }, { "name": "body_mid", "pivot": [16, 0, 0], "cubes": [ {"name": "body", "origin": [13.5, 1, -2.5], "size": [5, 5, 5], "uv": [12, 22]} ] }, { "name": "leftFin", "parent": "body_mid", "pivot": [18.5, 5, 0.5], "cubes": [ {"name": "leftFin", "origin": [18.5, 4, -1.5], "size": [2, 1, 2], "uv": [24, 3]} ] }, { "name": "rightFin", "parent": "body_mid", "pivot": [13.5, 5, 0.5], "cubes": [ {"name": "rightFin", "origin": [11.5, 4, -1.5], "size": [2, 1, 2], "uv": [24, 0]} ] }, { "name": "spines_top_front", "parent": "body_mid", "pivot": [16, 6, -2.5], "cubes": [ {"name": "spines_top_front", "origin": [13.5, 6, -2.5], "size": [5, 1, 0], "uv": [19, 17]} ] }, { "name": "spines_top_back", "parent": "body_mid", "pivot": [16, 6, 2.5], "cubes": [ {"name": "spines_top_back", "origin": [13.5, 6, 2.5], "size": [5, 1, 0], "uv": [11, 17]} ] }, { "name": "spines_bottom_front", "parent": "body_mid", "pivot": [16, 1, -2.5], "cubes": [ {"name": "spines_bottom_front", "origin": [13.5, 0, -2.5], "size": [5, 1, 0], "uv": [18, 20]} ] }, { "name": "spines_bottom_back", "parent": "body_mid", "pivot": [16, 1, 2.5], "rotation": [45, 0, 0], "cubes": [ {"name": "spines_bottom_back", "origin": [13.5, 0, 2.5], "size": [5, 1, 0], "uv": [18, 20]} ] }, { "name": "spines_left_front", "parent": "body_mid", "pivot": [18.5, 0, -2.5], "rotation": [0, 45, 0], "cubes": [ {"name": "spines_left_front", "origin": [18.5, 1, -2.5], "size": [1, 5, 0], "uv": [1, 17]} ] }, { "name": "spines_left_back", "parent": "body_mid", "pivot": [18.5, 0, 2.5], "rotation": [0, -45, 0], "cubes": [ {"name": "spines_left_back", "origin": [18.5, 1, 2.5], "size": [1, 5, 0], "uv": [1, 17]} ] }, { "name": "spines_right_front", "parent": "body_mid", "pivot": [13.5, 0, -2.5], "rotation": [0, -45, 0], "cubes": [ {"name": "spines_right_front", "origin": [12.5, 1, -2.5], "size": [1, 5, 0], "uv": [5, 17]} ] }, { "name": "spines_right_back", "parent": "body_mid", "pivot": [13.5, 0, 2.5], "rotation": [0, 45, 0], "cubes": [ {"name": "spines_right_back", "origin": [12.5, 1, 2.5], "size": [1, 5, 0], "uv": [9, 17]} ] }, { "name": "body_small", "pivot": [-16, 0, 0], "cubes": [ {"name": "body", "origin": [-17.5, 0, -1.5], "size": [3, 2, 3], "uv": [0, 27]}, {"name": "body", "origin": [-15.5, 2, -1.5], "size": [1, 1, 1], "uv": [24, 6]}, {"name": "body", "origin": [-17.5, 2, -1.5], "size": [1, 1, 1], "uv": [28, 6]} ] }, { "name": "tailfin", "parent": "body_small", "pivot": [0, 0, 0], "cubes": [ {"name": "tailfin", "origin": [-17.5, 1, 1.5], "size": [3, 0, 3], "uv": [-3, 0]} ] }, { "name": "leftFin", "parent": "body_small", "pivot": [6.5, 5, 0.5], "cubes": [ {"name": "leftFin", "origin": [-14.5, 0, -1.5], "size": [1, 1, 2], "uv": [25, 0], "mirror": true} ] }, { "name": "rightFin", "parent": "body_small", "pivot": [-6.5, 5, 0.5], "cubes": [ {"name": "rightFin", "origin": [-18.5, 0, -1.5], "size": [1, 1, 2], "uv": [25, 0]} ] } ] }`};bt.rabbit={display_name:"Rabbit",variants:{new:{name:"New",model:`{ "name": "rabbit_v2", "texturewidth": 64, "textureheight": 64, "external_textures": ["entity/rabbit/rabbit_salt.png"], "eyes": [ [6, 22, 1, 2], [8, 22, 1, 2] ], "bones": [ { "name": "body", "pivot": [0, 1, 4], "rotation": [-22.5, 0, 0], "cubes": [ {"origin": [-4, 1, -5], "size": [8, 6, 10], "uv": [0, 0]} ] }, { "name": "tail", "parent": "body", "pivot": [0, 5.99162, 4.01254], "cubes": [ {"origin": [-2, 5, 3], "size": [4, 4, 4], "uv": [20, 16]} ] }, { "name": "head", "parent": "body", "pivot": [0, 6.29289, -4.12132], "rotation": [22.5, 0, 0], "cubes": [ {"origin": [-2.5, 4.29289, -8.12132], "size": [5, 5, 5], "uv": [0, 16]} ] }, { "name": "left_ear", "parent": "head", "pivot": [1.5, 10, -5], "cubes": [ {"origin": [0.5, 9.29289, -5.12132], "size": [2, 5, 1], "uv": [32, 0]} ] }, { "name": "right_ear", "parent": "head", "pivot": [-1.5, 10, -5], "cubes": [ {"origin": [-2.5, 9.29289, -5.12132], "size": [2, 5, 1], "uv": [26, 0]} ] }, { "name": "frontlegs", "parent": "body", "pivot": [0, 2.53492, -2.31075] }, { "name": "rightFrontLeg", "parent": "frontlegs", "pivot": [-2, 0.61104, -1.92807], "rotation": [22.5, 0, 0], "cubes": [ {"origin": [-2.9, -2.38896, -2.82807], "size": [2, 4, 2], "uv": [36, 18]} ] }, { "name": "leftFrontLeg", "parent": "frontlegs", "pivot": [2, 0.61104, -1.82807], "rotation": [22.5, 0, 0], "cubes": [ {"origin": [1, -2.38896, -2.82807], "size": [2, 4, 2], "uv": [44, 18]} ] }, { "name": "backlegs", "pivot": [0, 1, 4] }, { "name": "rightBackLeg", "parent": "backlegs", "pivot": [-3, 0.5, 4], "cubes": [ {"origin": [-4, 0, -1], "size": [2, 1, 6], "pivot": [-3, 1, 4], "rotation": [0, 22.5, 0], "uv": [20, 24]} ] }, { "name": "leftBackLeg", "parent": "backlegs", "pivot": [3, 0.5, 4], "cubes": [ {"origin": [2, 0, -1], "size": [2, 1, 6], "pivot": [3, 1, 4], "rotation": [0, -22.5, 0], "uv": [36, 24]} ] } ] }`},old:{name:"Classic",model:`{ "name": "rabbit", "texturewidth": 64, "textureheight": 32, "bones": [ { "name": "rearFootLeft", "pivot": [3, 6.5, 3.7], "mirror": true, "cubes": [ {"name": "rearFootLeft", "origin": [2, 0, 0], "size": [2, 1, 7], "uv": [8, 24]} ] }, { "name": "rearFootRight", "pivot": [-3, 6.5, 3.7], "mirror": true, "cubes": [ {"name": "rearFootRight", "origin": [-4, 0, 0], "size": [2, 1, 7], "uv": [26, 24]} ] }, { "name": "haunchLeft", "pivot": [3, 6.5, 3.7], "rotation": [-20, 0, 0], "mirror": true, "cubes": [ {"name": "haunchLeft", "origin": [2, 2.5, 3.7], "size": [2, 4, 5], "uv": [16, 15]} ] }, { "name": "haunchRight", "pivot": [-3, 6.5, 3.7], "rotation": [-20, 0, 0], "mirror": true, "cubes": [ {"name": "haunchRight", "origin": [-4, 2.5, 3.7], "size": [2, 4, 5], "uv": [30, 15]} ] }, { "name": "body", "pivot": [0, 5, 8], "rotation": [-20, 0, 0], "mirror": true, "cubes": [ {"name": "body", "origin": [-3, 2, -2], "size": [6, 5, 10], "uv": [0, 0]} ] }, { "name": "frontLegLeft", "pivot": [3, 7, -1], "rotation": [-10, 0, 0], "mirror": true, "cubes": [ {"name": "frontLegLeft", "origin": [2, 0, -2], "size": [2, 7, 2], "uv": [8, 15]} ] }, { "name": "frontLegRight", "pivot": [-3, 7, -1], "rotation": [-10, 0, 0], "mirror": true, "cubes": [ {"name": "frontLegRight", "origin": [-4, 0, -2], "size": [2, 7, 2], "uv": [0, 15]} ] }, { "name": "head", "pivot": [0, 8, -1], "mirror": true, "cubes": [ {"name": "head", "origin": [-2.5, 8, -6], "size": [5, 4, 5], "uv": [32, 0]} ] }, { "name": "earRight", "pivot": [0, 8, -1], "rotation": [0, -15, 0], "mirror": true, "cubes": [ {"name": "earRight", "origin": [-2.5, 12, -2], "size": [2, 5, 1], "uv": [58, 0]} ] }, { "name": "earLeft", "pivot": [0, 8, -1], "rotation": [0, 15, 0], "mirror": true, "cubes": [ {"name": "earLeft", "origin": [0.5, 12, -2], "size": [2, 5, 1], "uv": [52, 0]} ] }, { "name": "tail", "pivot": [0, 4, 7], "rotation": [-20, 0, 0], "mirror": true, "cubes": [ {"name": "tail", "origin": [-1.5, 2.5, 7], "size": [3, 3, 2], "uv": [52, 6]} ] }, { "name": "nose", "pivot": [0, 8, -1], "mirror": true, "cubes": [ {"name": "nose", "origin": [-0.5, 9.5, -6.5], "size": [1, 1, 1], "uv": [32, 9]} ] } ] }`}}};bt.rabbit_baby={display_name:"Rabbit Baby",model:`{ "name": "rabbit_baby", "texturewidth": 32, "textureheight": 32, "external_textures": ["entity/rabbit/rabbit_salt_baby.png"], "eyes": [ [5, 5, 1, 2], [7, 5, 1, 2] ], "bones": [ { "name": "body", "pivot": [0, 1, 1.6], "cubes": [ {"origin": [-2, 2, -3], "size": [4, 3, 6], "pivot": [0, 3, 0], "rotation": [-30, 0, 0], "uv": [0, 8]} ] }, { "name": "tail", "parent": "body", "pivot": [0, 3.2, 3.6], "cubes": [ {"origin": [-1.5, 2.22679, 2.58231], "size": [3, 3, 3], "pivot": [-0.1, 3.2, 3.6], "rotation": [-30, 0, 0], "uv": [0, 21]} ] }, { "name": "head", "parent": "body", "pivot": [0, 6, -1], "cubes": [ {"origin": [-2.5, 5, -4], "size": [5, 4, 4], "uv": [0, 0]} ] }, { "name": "right_ear", "parent": "head", "pivot": [-1.5, 9.5, -1.5], "cubes": [ {"origin": [-2.5, 9, -2], "size": [2, 4, 1], "uv": [18, 0]} ] }, { "name": "left_ear", "parent": "head", "pivot": [1.5, 9.5, -1.5], "cubes": [ {"origin": [0.5, 9, -2], "size": [2, 4, 1], "uv": [24, 0]} ] }, { "name": "frontlegs", "parent": "body", "pivot": [0, 3.5, -1] }, { "name": "leftFrontLeg", "parent": "frontlegs", "pivot": [1, 2.5, -1.5], "rotation": [22.5, 0, 0], "cubes": [ {"origin": [0.5, 0, -2], "size": [1, 3, 1], "pivot": [1, 1.5, -1.5], "rotation": [-22.5, 0, 0], "uv": [18, 8]} ] }, { "name": "rightFrontLeg", "parent": "frontlegs", "pivot": [-1, 2.5, -1.5], "rotation": [22.5, 0, 0], "cubes": [ {"origin": [-1.5, 0, -2], "size": [1, 3, 1], "pivot": [-1, 1.5, -1.5], "rotation": [-22.5, 0, 0], "uv": [14, 8]} ] }, { "name": "backlegs", "pivot": [0, 1, 2] }, { "name": "leftBackLeg", "parent": "backlegs", "pivot": [1.5, 0.5, 2.5], "rotation": [0, 180, 0], "cubes": [ {"origin": [0.5, 0, 3], "size": [2, 1, 3], "pivot": [2.5, 0.5, 3], "rotation": [0, -45, 0], "uv": [10, 17]} ] }, { "name": "rightBackLeg", "parent": "backlegs", "pivot": [-1.5, 0.5, 2.5], "rotation": [0, 180, 0], "cubes": [ {"origin": [-3, 0, 1.6], "size": [2, 1, 3], "pivot": [-1, 0.5, 1.6], "rotation": [0, 45, 0], "uv": [0, 17]} ] } ] }`};bt.ravager={display_name:"Ravager",model:`{ "name": "ravager", "external_textures": ["entity/illager/ravager.png"], "texturewidth": 128, "textureheight": 128, "bones": [ { "name": "body", "pivot": [0, 19, 2], "rotation": [90, 0, 0], "cubes": [ {"name": "body", "origin": [-7, 10, -2], "size": [14, 16, 20], "uv": [0, 55]}, {"name": "body", "origin": [-6, -3, -2], "size": [12, 13, 18], "uv": [0, 91]} ] }, { "name": "neck", "pivot": [0, 20, -20], "cubes": [ {"name": "neck", "origin": [-5, 21, -10], "size": [10, 10, 18], "uv": [68, 73]} ] }, { "name": "head", "parent": "neck", "pivot": [0, 28, -10], "cubes": [ {"name": "head", "origin": [-8, 14, -24], "size": [16, 20, 16], "uv": [0, 0]}, {"name": "head", "origin": [-2, 12, -28], "size": [4, 8, 4], "uv": [0, 0]} ] }, { "name": "mouth", "parent": "head", "pivot": [0, 15, -10], "cubes": [ {"name": "mouth", "origin": [-8, 13, -24], "size": [16, 3, 16], "uv": [0, 36]} ] }, { "name": "horns", "parent": "head", "pivot": [-5, 27, -19], "rotation": [60, 0, 0], "cubes": [ {"name": "horns", "origin": [-10, 27, -20], "size": [2, 14, 4], "uv": [74, 55]}, {"name": "horns", "origin": [8, 27, -20], "size": [2, 14, 4], "uv": [74, 55]} ] }, { "name": "leg0", "pivot": [-12, 30, 22], "cubes": [ {"name": "leg0", "origin": [-12, 0, 17], "size": [8, 37, 8], "uv": [96, 0]} ] }, { "name": "leg1", "pivot": [4, 30, 22], "cubes": [ {"name": "leg1", "origin": [4, 0, 17], "size": [8, 37, 8], "uv": [96, 0]} ] }, { "name": "leg2", "pivot": [-4, 26, -4], "cubes": [ {"name": "leg2", "origin": [-12, 0, -8], "size": [8, 37, 8], "uv": [64, 0]} ] }, { "name": "leg3", "pivot": [-4, 26, -4], "cubes": [ {"name": "leg3", "origin": [4, 0, -8], "size": [8, 37, 8], "uv": [64, 0]} ] } ] }`};bt.salmon={display_name:"Salmon",model:`{ "name": "salmon", "external_textures": ["entity/fish/salmon.png"], "texturewidth": 32, "textureheight": 32, "bones": [ { "name": "body_front", "pivot": [0, 0, -4], "cubes": [ {"name": "body_front", "origin": [-1.5, 3.5, -4], "size": [3, 5, 8], "uv": [0, 0]} ] }, { "name": "body_back", "parent": "body_front", "pivot": [0, 0, 4], "cubes": [ {"name": "body_back", "origin": [-1.5, 3.5, 4], "size": [3, 5, 8], "uv": [0, 13]} ] }, { "name": "dorsal_back", "parent": "body_back", "pivot": [0, 5, 4], "cubes": [ {"name": "dorsal_back", "origin": [0, 8.5, 4], "size": [0, 2, 3], "uv": [2, 3]} ] }, { "name": "tailfin", "parent": "body_back", "pivot": [0, 0, 12], "cubes": [ {"name": "tailfin", "origin": [0, 3.5, 12], "size": [0, 5, 6], "uv": [20, 10]} ] }, { "name": "dorsal_front", "parent": "body_front", "pivot": [0, 5, 2], "cubes": [ {"name": "dorsal_front", "origin": [0, 8.5, 2], "size": [0, 2, 2], "uv": [4, 2]} ] }, { "name": "head", "parent": "body_front", "pivot": [0, 3, -4], "cubes": [ {"name": "head", "origin": [-1, 4.5, -7], "size": [2, 4, 3], "uv": [22, 0]} ] }, { "name": "leftFin", "parent": "body_front", "pivot": [1.5, 1, -4], "rotation": [0, 0, 35], "cubes": [ {"name": "leftFin", "origin": [-0.50752, 3.86703, -4], "size": [2, 0, 2], "uv": [2, 0]} ] }, { "name": "rightFin", "parent": "body_front", "pivot": [-1.5, 1, -4], "rotation": [0, 0, -35], "cubes": [ {"name": "rightFin", "origin": [-1.49258, 3.86703, -4], "size": [2, 0, 2], "uv": [-2, 0]} ] } ] }`};bt.sheep={display_name:"Sheep",model:`{ "name": "sheep", "texturewidth": 64, "textureheight": 64, "bones": [ { "name": "body", "pivot": [0, 19, 2], "rotation": [90, 0, 0], "cubes": [ {"name": "body", "origin": [-4, 13, -5], "size": [8, 16, 6], "uv": [28, 8]}, {"name": "body", "origin": [-4, 13, -5], "size": [8, 16, 6], "uv": [28, 40], "inflate": 1.75} ] }, { "name": "head", "pivot": [0, 18, -8], "cubes": [ {"name": "head", "origin": [-3, 16, -14], "size": [6, 6, 8], "uv": [0, 0]}, {"name": "head", "origin": [-3, 16, -12], "size": [6, 6, 6], "uv": [0, 32], "inflate": 0.6} ] }, { "name": "leg0", "pivot": [-3, 12, 7], "cubes": [ {"name": "leg0", "origin": [-5, 0, 5], "size": [4, 12, 4], "uv": [0, 16]}, {"name": "leg0", "origin": [-5, 6, 5], "size": [4, 6, 4], "uv": [0, 48], "inflate": 0.5} ] }, { "name": "leg1", "pivot": [3, 12, 7], "cubes": [ {"name": "leg1", "origin": [1, 0, 5], "size": [4, 12, 4], "uv": [0, 16]}, {"name": "leg1", "origin": [1, 6, 5], "size": [4, 6, 4], "uv": [0, 48], "inflate": 0.5} ] }, { "name": "leg2", "pivot": [-3, 12, -5], "cubes": [ {"name": "leg2", "origin": [-5, 0, -7], "size": [4, 12, 4], "uv": [0, 16]}, {"name": "leg2", "origin": [-5, 6, -7], "size": [4, 6, 4], "uv": [0, 48], "inflate": 0.5} ] }, { "name": "leg3", "pivot": [3, 12, -5], "cubes": [ {"name": "leg3", "origin": [1, 0, -7], "size": [4, 12, 4], "uv": [0, 16]}, {"name": "leg3", "origin": [1, 6, -7], "size": [4, 6, 4], "uv": [0, 48], "inflate": 0.5} ] } ] }`};bt.sheep_baby={display_name:"Sheep Baby",model:`{ "name": "sheep_baby", "texturewidth": 32, "textureheight": 32, "eyes": [ [5, 7, 1, 1], [9, 7, 1, 1] ], "bones": [ { "name": "root", "pivot": [0, 0, 0] }, { "name": "head", "parent": "root", "pivot": [0, 8.5, -2.5], "cubes": [ {"origin": [-2.5, 8, -6], "size": [5, 5, 5], "uv": [0, 0]} ] }, { "name": "leg0", "parent": "root", "pivot": [-2, 5, 3], "cubes": [ {"origin": [-2.975, 0, 2], "size": [2, 5, 2], "uv": [0, 23]} ] }, { "name": "leg1", "parent": "root", "pivot": [2, 5, 3], "cubes": [ {"origin": [0.975, 0, 2], "size": [2, 5, 2], "uv": [24, 12]} ] }, { "name": "leg2", "parent": "root", "pivot": [-2, 5, -2], "cubes": [ {"origin": [-2.975, 0, -3], "size": [2, 5, 2], "uv": [8, 23]} ] }, { "name": "leg3", "parent": "root", "pivot": [2, 5, -2], "cubes": [ {"origin": [0.975, 0, -3], "size": [2, 5, 2], "uv": [24, 5]} ] }, { "name": "body", "parent": "root", "pivot": [0, 8, 2.5], "cubes": [ {"origin": [-3, 5, -4], "size": [6, 4, 9], "uv": [0, 10]} ] } ] }`};bt.shield={display_name:"Shield",model:`{ "name": "shield", "external_textures": ["entity/shield.png"], "texturewidth": 64, "textureheight": 64, "bones": [ { "name": "shield", "pivot": [1, 15.5, 3], "cubes": [ {"name": "shield", "origin": [0, 25, 0], "size": [2, 6, 6], "uv": [26, 0]}, {"name": "shield", "origin": [-5, 17, -1], "size": [12, 22, 1], "uv": [0, 0]} ] } ] }`};bt.shulker={display_name:"Shulker",model:`{ "name": "shulker", "external_textures": ["entity/shulker/shulker_white.png"], "texturewidth": 64, "textureheight": 64, "bones": [ { "name": "base", "pivot": [0, 0, 0], "cubes": [ {"name": "base", "origin": [-8, 0, -8], "size": [16, 8, 16], "uv": [0, 28]} ] }, { "name": "lid", "parent": "base", "pivot": [0, 0, 0], "cubes": [ {"name": "lid", "origin": [-8, 13, -8], "size": [16, 12, 16], "uv": [0, 0]} ] }, { "name": "head", "parent": "base", "pivot": [0, 12, 0], "cubes": [ {"name": "head", "origin": [-3, 6, -3], "size": [6, 6, 6], "uv": [0, 52]} ] } ] }`};bt.shulker_bullet={display_name:"Shulker Bullet",model:`{ "name": "shulker_bullet", "external_textures": ["entity/shulker/shulker_white.png"], "texturewidth": 64, "textureheight": 32, "bones": [ { "name": "body", "pivot": [0, 0, 0], "cubes": [ {"name": "body", "origin": [-4, -4, -1], "size": [8, 8, 2], "uv": [0, 0]}, {"name": "body", "origin": [-1, -4, -4], "size": [2, 8, 8], "uv": [0, 10]}, {"name": "body", "origin": [-4, -1, -4], "size": [8, 2, 8], "uv": [20, 0]} ] } ] }`};bt.silverfish={display_name:"Silverfish",model:`{ "name": "silverfish", "external_textures": ["entity/silverfish.png"], "texturewidth": 64, "textureheight": 32, "bones": [ { "name": "bodyPart_2", "pivot": [0, 4, 1], "cubes": [ {"name": "bodyPart_2", "origin": [-3, 0, -0.5], "size": [6, 4, 3], "uv": [0, 9]} ] }, { "name": "bodyPart_0", "parent": "bodyPart_2", "pivot": [0, 2, -3.5], "cubes": [ {"name": "bodyPart_0", "origin": [-1.5, 0, -4.5], "size": [3, 2, 2], "uv": [0, 0]} ] }, { "name": "bodyPart_1", "parent": "bodyPart_2", "pivot": [0, 3, -1.5], "cubes": [ {"name": "bodyPart_1", "origin": [-2, 0, -2.5], "size": [4, 3, 2], "uv": [0, 4]} ] }, { "name": "bodyLayer_2", "parent": "bodyPart_1", "pivot": [0, 5, -1.5], "cubes": [ {"name": "bodyLayer_2", "origin": [-3, 0, -3], "size": [6, 5, 2], "uv": [20, 18], "layer": true} ] }, { "name": "bodyPart_3", "parent": "bodyPart_2", "pivot": [0, 3, 4], "cubes": [ {"name": "bodyPart_3", "origin": [-1.5, 0, 2.5], "size": [3, 3, 3], "uv": [0, 16]} ] }, { "name": "bodyPart_4", "parent": "bodyPart_2", "pivot": [0, 2, 7], "cubes": [ {"name": "bodyPart_4", "origin": [-1, 0, 5.5], "size": [2, 2, 3], "uv": [0, 22]} ] }, { "name": "bodyLayer_1", "parent": "bodyPart_4", "pivot": [0, 4, 7], "cubes": [ {"name": "bodyLayer_1", "origin": [-3, 0, 5.5], "size": [6, 4, 3], "uv": [20, 11], "layer": true} ] }, { "name": "bodyPart_5", "parent": "bodyPart_2", "pivot": [0, 1, 9.5], "cubes": [ {"name": "bodyPart_5", "origin": [-1, 0, 8.5], "size": [2, 1, 2], "uv": [11, 0]} ] }, { "name": "bodyPart_6", "parent": "bodyPart_2", "pivot": [0, 1, 11.5], "cubes": [ {"name": "bodyPart_6", "origin": [-0.5, 0, 10.5], "size": [1, 1, 2], "uv": [13, 4]} ] }, { "name": "bodyLayer_0", "parent": "bodyPart_2", "pivot": [0, 8, 1], "cubes": [ {"name": "bodyLayer_0", "origin": [-5, 0, -0.5], "size": [10, 8, 3], "uv": [20, 0], "layer": true} ] } ] }`};bt.skeleton={display_name:"Skeleton/Stray",model:`{ "name": "skeleton", "external_textures": ["entity/skeleton/skeleton.png"], "texturewidth": 64, "textureheight": 32, "eyes": [ [9, 12, 2, 1], [13, 12, 2, 1] ], "bones": [ { "name": "waist", "pivot": [0, 12, 0] }, { "name": "Body", "parent": "waist", "pivot": [0, 24, 0], "cubes": [ {"name": "Body", "origin": [-4, 12, -2], "size": [8, 12, 4], "uv": [16, 16]} ] }, { "name": "Head", "pivot": [0, 24, 0], "cubes": [ {"name": "Head", "origin": [-4, 24, -4], "size": [8, 8, 8], "uv": [0, 0]}, {"name": "Head Layer", "visibility": false, "origin": [-4, 24, -4], "size": [8, 8, 8], "uv": [32, 0], "inflate": 0.5} ] }, { "name": "RightArm", "pivot": [-5, 22, 0], "cubes": [ {"name": "RightArm", "origin": [-6, 12, -1], "size": [2, 12, 2], "uv": [40, 16]} ] }, { "name": "LeftArm", "pivot": [5, 22, 0], "mirror": true, "cubes": [ {"name": "LeftArm", "origin": [4, 12, -1], "size": [2, 12, 2], "uv": [40, 16]} ] }, { "name": "leftItem", "parent": "LeftArm", "pivot": [6, 15, 1] }, { "name": "RightLeg", "pivot": [-2, 12, 0], "cubes": [ {"name": "RightLeg", "origin": [-3, 0, -1], "size": [2, 12, 2], "uv": [0, 16]} ] }, { "name": "LeftLeg", "pivot": [2, 12, 0], "mirror": true, "cubes": [ {"name": "LeftLeg", "origin": [1, 0, -1], "size": [2, 12, 2], "uv": [0, 16]} ] } ] }`};bt.slime={display_name:"Slime",model:`{ "name": "slime", "external_textures": ["entity/slime/slime.png"], "texturewidth": 64, "textureheight": 32, "bones": [ { "name": "inner", "pivot": [0, 24, 0], "cubes": [ {"name": "cube", "origin": [-3, 1, -3], "size": [6, 6, 6], "uv": [0, 16]}, {"name": "eye0", "origin": [-3.3, 4, -3.5], "size": [2, 2, 2], "uv": [32, 0]}, {"name": "eye1", "origin": [1.3, 4, -3.5], "size": [2, 2, 2], "uv": [32, 4]}, {"name": "mouth", "origin": [0, 2, -3.5], "size": [1, 1, 1], "uv": [32, 8]} ] }, { "name": "outer", "pivot": [0, 24, 0], "cubes": [ {"name": "cube layer", "visibility": false, "origin": [-4, 0, -4], "size": [8, 8, 8], "uv": [0, 0], "layer": true}, {"name": "eye0 layer", "visibility": false, "origin": [-3.3, 4, -3.5], "size": [2, 2, 2], "uv": [32, 0], "layer": true}, {"name": "eye1 layer", "visibility": false, "origin": [1.3, 4, -3.5], "size": [2, 2, 2], "uv": [32, 4], "layer": true}, {"name": "mouth layer", "visibility": false, "origin": [0, 2, -3.5], "size": [1, 1, 1], "uv": [32, 8], "layer": true} ] } ] }`};bt.sniffer={display_name:"Sniffer",model:`{ "name": "sniffer", "external_textures": ["entity/sniffer/sniffer.png"], "texturewidth": 192, "textureheight": 192, "eyes": [ [13, 31, 4, 1], [34, 31, 4, 1] ], "bones": [ { "name": "bone", "pivot": [0, 19, 0] }, { "name": "body", "parent": "bone", "pivot": [0, 0, 0], "cubes": [ {"origin": [-12.5, 9, -20], "size": [25, 24, 40], "inflate": 0.5, "uv": [62, 0]}, {"origin": [-12.5, 4, -20], "size": [25, 29, 40], "uv": [62, 68]}, {"origin": [-12.5, 8, -20], "size": [25, 0, 40], "uv": [87, 68]} ] }, { "name": "head", "parent": "body", "pivot": [0, 13.5, -19.4], "cubes": [ {"origin": [-6.5, 3, -30.9], "size": [13, 18, 11], "uv": [8, 15]}, {"origin": [-6.5, 6, -30.9], "size": [13, 0, 11], "uv": [8, 4]} ] }, { "name": "left_ear", "parent": "head", "pivot": [6.4, 21, -23.9], "cubes": [ {"origin": [6.4, 2, -26.9], "size": [1, 19, 7], "uv": [2, 0]} ] }, { "name": "right_ear", "parent": "head", "pivot": [-6.4, 21, -23.9], "cubes": [ {"origin": [-7.4, 2, -26.9], "size": [1, 19, 7], "uv": [48, 0]} ] }, { "name": "nose", "parent": "head", "pivot": [0, 18, -30.9], "cubes": [ {"origin": [-6.5, 18, -39.9], "size": [13, 2, 9], "uv": [10, 45]} ] }, { "name": "lower_beak", "parent": "head", "pivot": [0, 11, -31.9], "cubes": [ {"origin": [-6.5, 6, -39.9], "size": [13, 12, 9], "uv": [10, 57]} ] }, { "name": "right_front_leg", "parent": "bone", "pivot": [-7.5, 9, -15], "cubes": [ {"origin": [-11, 0, -19], "size": [7, 10, 8], "uv": [32, 87]} ] }, { "name": "right_mid_leg", "parent": "bone", "pivot": [-7.5, 9, 0], "cubes": [ {"origin": [-11, 0, -4], "size": [7, 10, 8], "uv": [32, 105]} ] }, { "name": "right_hind_leg", "parent": "bone", "pivot": [-7.5, 9, 15], "cubes": [ {"origin": [-11, 0, 11], "size": [7, 10, 8], "uv": [32, 123]} ] }, { "name": "left_front_leg", "parent": "bone", "pivot": [7.5, 9, -15], "cubes": [ {"origin": [4, 0, -19], "size": [7, 10, 8], "uv": [0, 87]} ] }, { "name": "left_mid_leg", "parent": "bone", "pivot": [7.5, 9, 0], "cubes": [ {"origin": [4, 0, -4], "size": [7, 10, 8], "uv": [0, 105]} ] }, { "name": "left_hind_leg", "parent": "bone", "pivot": [7.5, 9, 15], "cubes": [ {"origin": [4, 0, 11], "size": [7, 10, 8], "uv": [0, 123]} ] } ] }`};bt.snowgolem={display_name:"Snowgolem",model:`{ "name": "snowgolem", "external_textures": ["entity/snow_golem.png"], "texturewidth": 64, "textureheight": 64, "eyes": [ [9, 11], [13, 11] ], "bones": [ { "name": "piece2", "pivot": [0, 0, 0], "cubes": [ {"name": "piece2", "origin": [-6, 0, -6], "size": [12, 12, 12], "uv": [0, 36], "inflate": -0.5} ] }, { "name": "piece1", "parent": "piece2", "pivot": [0, 11, 0], "cubes": [ {"name": "piece1", "origin": [-5, 11, -5], "size": [10, 10, 10], "uv": [0, 16], "inflate": -0.5} ] }, { "name": "head", "parent": "piece1", "pivot": [0, 20, 0], "cubes": [ {"name": "head", "origin": [-4, 20, -4], "size": [8, 8, 8], "uv": [0, 0], "inflate": -0.5} ] }, { "name": "arm1", "parent": "piece1", "pivot": [0, 18, 0], "rotation": [0, 0, 45], "cubes": [ {"name": "arm1", "origin": [1, 20, -1], "size": [12, 2, 2], "uv": [32, 0], "inflate": -0.5} ] }, { "name": "arm2", "parent": "piece1", "pivot": [0, 18, 0], "rotation": [0, 0, 135], "cubes": [ {"name": "arm2", "origin": [1, 14, -1], "size": [12, 2, 2], "uv": [32, 0], "inflate": -0.5} ] } ] }`};bt.spider={display_name:"Spider",model:`{ "name": "spider", "texturewidth": 64, "textureheight": 32, "bones": [ { "name": "head", "pivot": [0, 9, -3], "cubes": [ {"name": "head", "origin": [-4, 5, -11], "size": [8, 8, 8], "uv": [32, 4]} ] }, { "name": "body0", "pivot": [0, 9, 0], "cubes": [ {"name": "body0", "origin": [-3, 6, -3], "size": [6, 6, 6], "uv": [0, 0]} ] }, { "name": "body1", "pivot": [0, 9, 9], "cubes": [ {"name": "body1", "origin": [-5, 5, 3], "size": [10, 8, 12], "uv": [0, 12]} ] }, { "name": "leg0", "pivot": [-4, 9, 2], "rotation": [0, 45, -45], "cubes": [ {"name": "leg0", "origin": [-19, 8, 1], "size": [16, 2, 2], "uv": [18, 0]} ] }, { "name": "leg1", "pivot": [4, 9, 2], "rotation": [0, -45, 45], "cubes": [ {"name": "leg1", "origin": [3, 8, 1], "size": [16, 2, 2], "uv": [18, 0]} ] }, { "name": "leg2", "pivot": [-4, 9, 1], "rotation": [0, 15, -35], "cubes": [ {"name": "leg2", "origin": [-19, 8, 0], "size": [16, 2, 2], "uv": [18, 0]} ] }, { "name": "leg3", "pivot": [4, 9, 1], "rotation": [0, -15, 35], "cubes": [ {"name": "leg3", "origin": [3, 8, 0], "size": [16, 2, 2], "uv": [18, 0]} ] }, { "name": "leg4", "pivot": [-4, 9, 0], "rotation": [0, -15, -35], "cubes": [ {"name": "leg4", "origin": [-19, 8, -1], "size": [16, 2, 2], "uv": [18, 0]} ] }, { "name": "leg5", "pivot": [4, 9, 0], "rotation": [0, 15, 35], "cubes": [ {"name": "leg5", "origin": [3, 8, -1], "size": [16, 2, 2], "uv": [18, 0]} ] }, { "name": "leg6", "pivot": [-4, 9, -1], "rotation": [0, -45, -45], "cubes": [ {"name": "leg6", "origin": [-19, 8, -2], "size": [16, 2, 2], "uv": [18, 0]} ] }, { "name": "leg7", "pivot": [4, 9, -1], "rotation": [0, 45, 45], "cubes": [ {"name": "leg7", "origin": [3, 8, -2], "size": [16, 2, 2], "uv": [18, 0]} ] } ] }`};bt.spyglass={display_name:"Spyglass",model:`{ "name": "spyglass", "external_textures": ["entity/spyglass.png"], "texturewidth": 16, "textureheight": 16, "bones": [ { "name": "spyglass", "pivot": [0, 0, 0], "cubes": [ {"origin": [-11.1, -0.1, -0.1], "size": [6.2, 2.2, 2.2], "uv": [0, 0]}, {"origin": [-5, 0, 0], "size": [5, 2, 2], "uv": [0, 4]} ] } ] }`};bt.squid={display_name:"Squid",model:`{ "name": "squid", "external_textures": ["entity/squid.png"], "texturewidth": 64, "textureheight": 32, "eyes": [ [14, 18], [20, 18] ], "bones": [ { "name": "body", "pivot": [0, 0, 0], "cubes": [ {"name": "body", "origin": [-6, -8, -6], "size": [12, 16, 12], "uv": [0, 0]} ] }, { "name": "tentacle1", "pivot": [5, -7, 0], "rotation": [0, 90, 0], "cubes": [ {"name": "tentacle1", "origin": [4, -25, -1], "size": [2, 18, 2], "uv": [48, 0]} ] }, { "name": "tentacle2", "pivot": [3.5, -7, 3.5], "rotation": [0, 45, 0], "cubes": [ {"name": "tentacle2", "origin": [2.5, -25, 2.5], "size": [2, 18, 2], "uv": [48, 0]} ] }, { "name": "tentacle3", "pivot": [0, -7, 5], "cubes": [ {"name": "tentacle3", "origin": [-1, -25, 4], "size": [2, 18, 2], "uv": [48, 0]} ] }, { "name": "tentacle4", "pivot": [-3.5, -7, 3.5], "rotation": [0, -45, 0], "cubes": [ {"name": "tentacle4", "origin": [-4.5, -25, 2.5], "size": [2, 18, 2], "uv": [48, 0]} ] }, { "name": "tentacle5", "pivot": [-5, -7, 0], "rotation": [0, -90, 0], "cubes": [ {"name": "tentacle5", "origin": [-6, -25, -1], "size": [2, 18, 2], "uv": [48, 0]} ] }, { "name": "tentacle6", "pivot": [-3.5, -7, -3.5], "rotation": [0, -135, 0], "cubes": [ {"name": "tentacle6", "origin": [-4.5, -25, -4.5], "size": [2, 18, 2], "uv": [48, 0]} ] }, { "name": "tentacle7", "pivot": [0, -7, -5], "rotation": [0, -180, 0], "cubes": [ {"name": "tentacle7", "origin": [-1, -25, -6], "size": [2, 18, 2], "uv": [48, 0]} ] }, { "name": "tentacle8", "pivot": [3.5, -7, -3.5], "rotation": [0, -225, 0], "cubes": [ {"name": "tentacle8", "origin": [2.5, -25, -4.5], "size": [2, 18, 2], "uv": [48, 0]} ] } ] }`};bt.squid_baby={display_name:"Squid Baby",model:`{ "name": "squid_baby", "texturewidth": 32, "textureheight": 32, "external_textures": ["entity/squid/squid_baby.png"], "eyes": [ [9, 12, 2, 2], [13, 12, 2, 2] ], "bones": [ { "name": "body", "pivot": [0, 0, 0], "cubes": [ {"origin": [-4, -4, -4], "size": [8, 10, 8], "uv": [0, 0]} ] }, { "name": "tentacle1", "parent": "body", "pivot": [3, -4.5, 0], "cubes": [ {"origin": [2, -10, -1], "size": [2, 6, 2], "uv": [0, 18]} ] }, { "name": "tentacle2", "parent": "body", "pivot": [2.35355, -4.5, 2.35355], "cubes": [ {"origin": [1.35355, -10, 1.35355], "size": [2, 6, 2], "pivot": [2.35355, -7, 2.35355], "rotation": [0, 45, 0], "uv": [0, 18]} ] }, { "name": "tentacle3", "parent": "body", "pivot": [0, -4.5, 3], "cubes": [ {"origin": [-1, -10, 2], "size": [2, 6, 2], "uv": [0, 18]} ] }, { "name": "tentacle4", "parent": "body", "pivot": [-2.35355, -4.5, 2.35355], "cubes": [ {"origin": [-3.35355, -10, 1.35355], "size": [2, 6, 2], "pivot": [-2.35355, -7, 2.35355], "rotation": [0, -45, 0], "uv": [0, 18], "mirror": true} ] }, { "name": "tentacle5", "parent": "body", "pivot": [-3, -4.5, 0], "cubes": [ {"origin": [-4, -10, -1], "size": [2, 6, 2], "uv": [0, 18]} ] }, { "name": "tentacle6", "parent": "body", "pivot": [-2.35355, -4.5, -2.35355], "cubes": [ {"origin": [-3.35355, -10, -3.35355], "size": [2, 6, 2], "pivot": [-2.35355, -7, -2.35355], "rotation": [0, 45, 0], "uv": [0, 18], "mirror": true} ] }, { "name": "tentacle7", "parent": "body", "pivot": [0, -4.5, -3], "cubes": [ {"origin": [-1, -10, -4], "size": [2, 6, 2], "uv": [0, 18]} ] }, { "name": "tentacle8", "parent": "body", "pivot": [2.35355, -4.5, -2.35355], "cubes": [ {"origin": [1.35355, -10, -3.35355], "size": [2, 6, 2], "pivot": [2.35355, -7, -2.35355], "rotation": [0, -45, 0], "uv": [0, 18]} ] } ] }`};bt.strider={display_name:"Strider",model:`{ "name": "strider", "external_textures": ["entity/strider/strider.png"], "texturewidth": 64, "textureheight": 128, "eyes": [ [17, 25, 2, 1], [29, 25, 2, 1] ], "bones": [ { "name": "Body", "pivot": [0, 17, 0], "cubes": [ {"name": "cube", "origin": [-8, 17, -8], "size": [16, 14, 16], "uv": [0, 0]} ] }, { "name": "right_bristles_1", "parent": "Body", "pivot": [-8, 30, 0], "rotation": [0, 0, -60], "mirror": true, "cubes": [ {"name": "cube", "origin": [-20, 30, -8], "size": [12, 0, 16], "uv": [4, 33]} ] }, { "name": "left_bristles_1", "parent": "Body", "pivot": [8, 30, 0], "rotation": [0, 0, 60], "cubes": [ {"name": "cube", "origin": [8, 30, -8], "size": [12, 0, 16], "uv": [4, 33]} ] }, { "name": "right_bristles_2", "parent": "Body", "pivot": [-8, 26, 0], "rotation": [0, 0, -60], "mirror": true, "cubes": [ {"name": "cube", "origin": [-20, 26, -8], "size": [12, 0, 16], "uv": [4, 49]} ] }, { "name": "left_bristles_2", "parent": "Body", "pivot": [8, 26, 0], "rotation": [0, 0, 60], "cubes": [ {"name": "cube", "origin": [8, 26, -8], "size": [12, 0, 16], "uv": [4, 49]} ] }, { "name": "right_bristles_3", "parent": "Body", "pivot": [-8, 21, 0], "rotation": [0, 0, -60], "mirror": true, "cubes": [ {"name": "cube", "origin": [-20, 21, -8], "size": [12, 0, 16], "uv": [4, 65]} ] }, { "name": "left_bristles_3", "parent": "Body", "pivot": [8, 21, 0], "rotation": [0, 0, 60], "cubes": [ {"name": "cube", "origin": [8, 21, -8], "size": [12, 0, 16], "uv": [4, 65]} ] }, { "name": "RightLeg", "pivot": [-4, 17, 0], "cubes": [ {"name": "cube", "origin": [-6, 0, -2], "size": [4, 17, 4], "uv": [0, 32]} ] }, { "name": "LeftLeg", "pivot": [4, 17, 0], "mirror": true, "cubes": [ {"name": "cube", "origin": [2, 0, -2], "size": [4, 17, 4], "uv": [0, 32]} ] } ] }`};bt.strider_baby={display_name:"Strider Baby",model:`{ "name": "strider_baby", "texturewidth": 32, "textureheight": 32, "external_textures": ["entity/strider/strider_baby.png"], "eyes": [ [9, 11, 1, 1], [13, 11, 1, 1] ], "bones": [ { "name": "right_leg", "pivot": [-1.5, 4, 0], "cubes": [ {"origin": [-2.5, 0, -1], "size": [2, 4, 2], "uv": [0, 24]} ] }, { "name": "left_leg", "pivot": [1.5, 4, 0], "cubes": [ {"origin": [0.5, 0, -1], "size": [2, 4, 2], "uv": [8, 24]} ] }, { "name": "body", "pivot": [0, 7.25, 0], "cubes": [ {"origin": [-3.5, 4, -4], "size": [7, 7, 8], "uv": [0, 0]} ] }, { "name": "bristles", "parent": "body", "pivot": [0, 11.5, 0], "cubes": [ {"origin": [-3.5, 11, 2], "size": [7, 3, 0], "layer": true, "uv": [0, 21]}, {"origin": [-3.5, 11, 0], "size": [7, 3, 0], "layer": true, "uv": [0, 18]}, {"origin": [-3.5, 11, -2], "size": [7, 3, 0], "layer": true, "uv": [0, 15]} ] } ] }`};bt.tadpole={display_name:"Tadpole",model:`{ "name": "tadpole", "external_textures": ["entity/tadpole/tadpole.png"], "texturewidth": 16, "textureheight": 16, "eyes": [ [2, 3, 2, 1], [5, 3, 2, 1] ], "bones": [ { "name": "root", "pivot": [0, 0, 0] }, { "name": "body", "parent": "root", "pivot": [0, 0, 1], "cubes": [ {"origin": [-1.5, 1, -2.5], "size": [3, 2, 3], "uv": [0, 0]} ] }, { "name": "tail", "parent": "root", "pivot": [0, 0, 1], "cubes": [ {"origin": [0, 1, -0.5], "size": [0, 2, 7], "uv": [0, 0]} ] } ] }`};bt.tropicalfish_a={display_name:"Tropicalfish A",model:`{ "name": "tropicalfish_a", "external_textures": ["entity/fish/tropical_a.png"], "texturewidth": 32, "textureheight": 32, "bones": [ { "name": "body", "pivot": [-0.5, 0, 0], "cubes": [ {"name": "body", "origin": [-1, 0, -3], "size": [2, 3, 6], "uv": [0, 0]}, {"name": "body", "origin": [0, 3, -2.9992], "size": [0, 4, 6], "uv": [10, -6]} ] }, { "name": "tailfin", "parent": "body", "pivot": [0, 0, 3], "cubes": [ {"name": "tailfin", "origin": [0, 0, 3], "size": [0, 3, 4], "uv": [24, -4]} ] }, { "name": "leftFin", "parent": "body", "pivot": [0.5, 0, 1], "rotation": [0, -35, 0], "cubes": [ {"name": "leftFin", "origin": [0.336, 0, -0.10594], "size": [2, 2, 0], "uv": [2, 12]} ] }, { "name": "rightFin", "parent": "body", "pivot": [-0.5, 0, 1], "rotation": [0, 35, 0], "cubes": [ {"name": "rightFin", "origin": [-2.336, 0, -0.10594], "size": [2, 2, 0], "uv": [2, 16]} ] } ] }`};bt.tropicalfish_b={display_name:"Tropicalfish B",model:`{ "name": "tropicalfish_b", "external_textures": ["entity/fish/tropical_b.png"], "texturewidth": 32, "textureheight": 32, "bones": [ { "name": "body", "pivot": [-0.5, 0, 0], "cubes": [ {"name": "body", "origin": [-1, 0, -0.0008], "size": [2, 6, 6], "uv": [0, 20]}, {"name": "body", "origin": [0, -5, -0.0008], "size": [0, 5, 6], "uv": [20, 21]}, {"name": "body", "origin": [0, 6, -0.0008], "size": [0, 5, 6], "uv": [20, 10]} ] }, { "name": "tailfin", "parent": "body", "pivot": [0, 0, 6], "cubes": [ {"name": "tailfin", "origin": [0, 0.0008, 6], "size": [0, 6, 5], "uv": [21, 16]} ] }, { "name": "leftFin", "parent": "body", "pivot": [0.5, 0, 1], "rotation": [0, -35, 0], "cubes": [ {"name": "leftFin", "origin": [2.05673, 0, 2.35152], "size": [2, 2, 0], "uv": [2, 12]} ] }, { "name": "rightFin", "parent": "body", "pivot": [-0.5, 0, 1], "rotation": [0, 35, 0], "cubes": [ {"name": "rightFin", "origin": [-4.05673, 0, 2.35152], "size": [2, 2, 0], "uv": [2, 16]} ] } ] }`};bt.turtle={display_name:"Turtle",model_bedrock:`{ "name": "sea_turtle", "external_textures": ["entity/sea_turtle.png"], "texturewidth": 128, "textureheight": 64, "bones": [ { "name": "body", "pivot": [0, 13, -10], "rotation": [90, 0, 0], "cubes": [ {"name": "body", "origin": [-9.5, -10, -20], "size": [19, 20, 6], "uv": [6, 37]}, {"name": "body", "origin": [-5.5, -8, -23], "size": [11, 18, 3], "uv": [30, 1]} ] }, { "name": "eggbelly", "parent": "body", "pivot": [0, 13, -10], "cubes": [ {"name": "eggbelly", "origin": [-4.5, -8, -24], "size": [9, 18, 1], "uv": [69, 33]} ] }, { "name": "head", "pivot": [0, 5, -10], "cubes": [ {"name": "head", "origin": [-3, 1, -13], "size": [6, 5, 6], "uv": [2, 0]} ] }, { "name": "leg0", "pivot": [-3.5, 2, 11], "cubes": [ {"name": "leg0", "origin": [-5.5, 1, 11], "size": [4, 1, 10], "uv": [0, 23]} ] }, { "name": "leg1", "pivot": [3.5, 2, 11], "cubes": [ {"name": "leg1", "origin": [1.5, 1, 11], "size": [4, 1, 10], "uv": [0, 12]} ] }, { "name": "leg2", "pivot": [-5, 3, -4], "rotation": [0, 10, 0], "cubes": [ {"name": "leg2", "origin": [-18, 2, -6], "size": [13, 1, 5], "uv": [26, 30]} ] }, { "name": "leg3", "pivot": [5, 3, -4], "rotation": [0, -10, 0], "cubes": [ {"name": "leg3", "origin": [5, 2, -6], "size": [13, 1, 5], "uv": [26, 24]} ] } ] }`,model_java:`{ "name": "big_sea_turtle", "external_textures": ["entity/sea_turtle.png"], "texturewidth": 128, "textureheight": 64, "bones": [ { "name": "body", "pivot": [0, 13, -10], "rotation": [90, 0, 0], "cubes": [ {"name": "body", "origin": [-9.5, -10, -20], "size": [19, 20, 6], "uv": [7, 37]}, {"name": "body", "origin": [-5.5, -8, -23], "size": [11, 18, 3], "uv": [31, 1]} ] }, { "name": "eggbelly", "parent": "body", "pivot": [0, 13, -10], "cubes": [ {"name": "eggbelly", "origin": [-4.5, -8, -24], "size": [9, 18, 1], "uv": [70, 33]} ] }, { "name": "head", "pivot": [0, 5, -10], "cubes": [ {"name": "head", "origin": [-3, 1, -13], "size": [6, 5, 6], "uv": [3, 0]} ] }, { "name": "leg0", "pivot": [-3.5, 2, 11], "cubes": [ {"name": "leg0", "origin": [-5.5, 1, 11], "size": [4, 1, 10], "uv": [1, 23]} ] }, { "name": "leg1", "pivot": [3.5, 2, 11], "cubes": [ {"name": "leg1", "origin": [1.5, 1, 11], "size": [4, 1, 10], "uv": [1, 12]} ] }, { "name": "leg2", "pivot": [-5, 3, -4], "rotation": [0, 10, 0], "cubes": [ {"name": "leg2", "origin": [-18, 2, -6], "size": [13, 1, 5], "uv": [27, 30]} ] }, { "name": "leg3", "pivot": [5, 3, -4], "rotation": [0, -10, 0], "cubes": [ {"name": "leg3", "origin": [5, 2, -6], "size": [13, 1, 5], "uv": [27, 24]} ] } ] }`};bt.turtle_baby={display_name:"Turtle Baby",model:`{ "name": "turtle_baby", "texturewidth": 16, "textureheight": 16, "external_textures": ["entity/turtle/sea_turtle_baby.png"], "eyes": [ [1, 10, 1, 1], [7, 10, 1, 1] ], "bones": [ { "name": "body", "pivot": [0, 1, 1], "cubes": [ {"origin": [-2, 0, -1], "size": [4, 2, 4], "uv": [0, 0]} ] }, { "name": "head", "parent": "body", "pivot": [0, 1, -1], "cubes": [ {"origin": [-1.5, 0, -4], "size": [3, 3, 3], "uv": [0, 6]} ] }, { "name": "leg0", "parent": "body", "pivot": [-2, 0, 2.5], "cubes": [ {"origin": [-4, 0, 2], "size": [2, 0, 1], "uv": [-1, 0]} ] }, { "name": "leg1", "parent": "body", "pivot": [2, 0, 2.5], "cubes": [ {"origin": [2, 0, 2], "size": [2, 0, 1], "uv": [-1, 1]} ] }, { "name": "leg2", "parent": "body", "pivot": [-2, 0, -0.5], "cubes": [ {"origin": [-4, 0, -1], "size": [2, 0, 1], "uv": [8, 6]} ] }, { "name": "leg3", "parent": "body", "pivot": [2, 0, -0.5], "cubes": [ {"origin": [2, 0, -1], "size": [2, 0, 1], "uv": [8, 7]} ] } ] }`};bt.vex={display_name:"Vex",model:`{ "name": "vex", "external_textures": ["entity/vex/vex.png"], "texturewidth": 32, "textureheight": 32, "eyes": [ [5, 8, 2, 1], [8, 8, 2, 1] ], "bones": [ { "name": "body", "pivot": [0, 0, 0], "cubes": [ {"origin": [-1.5, 0, -1], "size": [3, 4, 2], "uv": [0, 10]}, {"origin": [-1.5, -2, -1], "size": [3, 5, 2], "inflate": -0.2, "uv": [0, 16]} ] }, { "name": "head", "parent": "body", "pivot": [0, 4, 0], "cubes": [ {"origin": [-2.5, 4, -2.5], "size": [5, 5, 5], "uv": [0, 0]} ] }, { "name": "rightArm", "parent": "body", "pivot": [-1.75, 3.75, 0], "cubes": [ {"origin": [-3, 0.25, -1], "size": [2, 4, 2], "inflate": -0.1, "uv": [23, 0]} ] }, { "name": "rightItem", "parent": "rightArm", "pivot": [-2, 1, 0] }, { "name": "leftArm", "parent": "body", "pivot": [1.75, 3.75, 0], "cubes": [ {"origin": [1, 0.25, -1], "size": [2, 4, 2], "inflate": -0.1, "uv": [23, 6]} ] }, { "name": "leftWing", "parent": "body", "pivot": [0.5, 3, 1], "cubes": [ {"origin": [0.5, -2, 1], "size": [8, 5, 0], "uv": [16, 22], "mirror": true} ] }, { "name": "rightWing", "parent": "body", "pivot": [-0.5, 3, 1], "cubes": [ {"origin": [-8.5, -2, 1], "size": [8, 5, 0], "uv": [16, 22]} ] } ] }`};bt.villager={display_name:"Villager (Old)",model:`{ "name": "villager", "external_textures": ["entity/villager/villager.png"], "texturewidth": 64, "textureheight": 64, "bones": [ { "name": "head", "pivot": [0, 24, 0], "cubes": [ {"name": "head", "origin": [-4, 24, -4], "size": [8, 10, 8], "uv": [0, 0]} ] }, { "name": "nose", "parent": "head", "pivot": [0, 26, 0], "cubes": [ {"name": "nose", "origin": [-1, 23, -6], "size": [2, 4, 2], "uv": [24, 0]} ] }, { "name": "body", "pivot": [0, 0, 0], "cubes": [ {"name": "body", "origin": [-4, 12, -3], "size": [8, 12, 6], "uv": [16, 20]}, {"name": "body", "origin": [-4, 6, -3], "size": [8, 18, 6], "uv": [0, 38], "inflate": 0.5} ] }, { "name": "arms", "pivot": [0, 22, 0], "rotation": [-45, 0, 0], "cubes": [ {"name": "arms", "origin": [-4, 16, -2], "size": [8, 4, 4], "uv": [40, 38]}, {"name": "arms", "origin": [-8, 16, -2], "size": [4, 8, 4], "uv": [44, 22]}, {"name": "arms", "origin": [4, 16, -2], "size": [4, 8, 4], "uv": [44, 22]} ] }, { "name": "RightLeg", "pivot": [-2, 12, 0], "cubes": [ {"name": "leg0", "origin": [-4, 0, -2], "size": [4, 12, 4], "uv": [0, 22]} ] }, { "name": "LeftLeg", "pivot": [2, 12, 0], "cubes": [ {"name": "leg1", "origin": [0, 0, -2], "size": [4, 12, 4], "uv": [0, 22]} ] } ] }`};bt.villager_v2={display_name:"Villager (New)",model_java:`{ "name": "villager_v2", "external_textures": ["entity/villager2/villager.png"], "texturewidth": 64, "textureheight": 64, "bones": [ { "name": "body", "pivot": [0, 0, 0], "cubes": [ {"name": "body", "origin": [-4, 12, -3], "size": [8, 12, 6], "uv": [16, 20]}, {"name": "body", "origin": [-4, 4, -3], "size": [8, 20, 6], "uv": [0, 38], "inflate": 0.5} ] }, { "name": "head", "parent": "body", "pivot": [0, 24, 0], "cubes": [ {"name": "head", "origin": [-4, 24, -4], "size": [8, 10, 8], "uv": [0, 0]} ] }, { "name": "helmet", "parent": "head", "pivot": [0, 24, 0], "cubes": [ {"name": "helmet", "origin": [-4, 24, -4], "size": [8, 10, 8], "uv": [32, 0], "inflate": 0.5} ] }, { "name": "brim", "parent": "head", "pivot": [0, 24, 0], "rotation": [-90, 0, 0], "cubes": [ {"name": "brim", "origin": [-8, 16, -6], "size": [16, 16, 1], "uv": [30, 47], "inflate": 0.1} ] }, { "name": "nose", "parent": "head", "pivot": [0, 26, 0], "cubes": [ {"name": "nose", "origin": [-1, 23, -6], "size": [2, 4, 2], "uv": [24, 0]} ] }, { "name": "arms", "parent": "body", "pivot": [0, 22, 0], "rotation": [-45, 0, 0], "cubes": [ {"name": "arms", "origin": [-4, 16, -2], "size": [8, 4, 4], "uv": [40, 38]}, {"name": "arms", "origin": [-8, 16, -2], "size": [4, 8, 4], "uv": [44, 22]}, {"name": "arms", "origin": [4, 16, -2], "size": [4, 8, 4], "uv": [44, 22], "mirror": true} ] }, { "name": "RightLeg", "parent": "body", "pivot": [-2, 12, 0], "cubes": [ {"name": "leg0", "origin": [-4, 0, -2], "size": [4, 12, 4], "uv": [0, 22]} ] }, { "name": "LeftLeg", "parent": "body", "pivot": [2, 12, 0], "cubes": [ {"name": "leg1", "origin": [0, 0, -2], "size": [4, 12, 4], "uv": [0, 22], "mirror": true} ] } ] }`,model_bedrock:`{ "name": "villager_v2", "texturewidth": 64, "textureheight": 64, "bones": [ { "name": "body", "pivot": [0, 0, 0], "cubes": [ {"name": "body", "origin": [-4, 12, -3], "size": [8, 12, 6], "uv": [16, 20]}, {"name": "body", "origin": [-4, 6, -3], "size": [8, 18, 6], "uv": [0, 38], "inflate": 0.5} ] }, { "name": "head", "parent": "body", "pivot": [0, 24, 0], "cubes": [ {"name": "head", "origin": [-4, 24, -4], "size": [8, 10, 8], "uv": [0, 0]} ] }, { "name": "helmet", "parent": "head", "pivot": [0, 24, 0], "cubes": [ {"name": "helmet", "origin": [-4, 24, -4], "size": [8, 10, 8], "uv": [32, 0], "inflate": 0.5} ] }, { "name": "brim", "parent": "head", "pivot": [0, 24, 0], "rotation": [-90, 0, 0], "cubes": [ {"name": "brim", "origin": [-8, 16, -6], "size": [16, 16, 1], "uv": [30, 47], "inflate": 0.1} ] }, { "name": "nose", "parent": "head", "pivot": [0, 26, 0], "cubes": [ {"name": "nose", "origin": [-1, 23, -6], "size": [2, 4, 2], "uv": [24, 0]} ] }, { "name": "arms", "parent": "body", "pivot": [0, 22, 0], "rotation": [-45, 0, 0], "cubes": [ {"name": "arms", "origin": [-4, 16, -2], "size": [8, 4, 4], "uv": [40, 38]}, {"name": "arms", "origin": [-8, 16, -2], "size": [4, 8, 4], "uv": [44, 22]}, {"name": "arms", "origin": [4, 16, -2], "size": [4, 8, 4], "uv": [44, 22], "mirror": true} ] }, { "name": "RightLeg", "parent": "body", "pivot": [-2, 12, 0], "cubes": [ {"name": "leg0", "origin": [-4, 0, -2], "size": [4, 12, 4], "uv": [0, 22]} ] }, { "name": "LeftLeg", "parent": "body", "pivot": [2, 12, 0], "cubes": [ {"name": "leg1", "origin": [0, 0, -2], "size": [4, 12, 4], "uv": [0, 22], "mirror": true} ] } ] }`};bt.villager_baby={display_name:"Villager Baby",model:`{ "name": "villager_baby", "texturewidth": 64, "textureheight": 64, "external_textures": ["entity/villager2/villager_baby.png"], "eyes": [ [8, 12, 2, 1], [12, 12, 2, 1] ], "bones": [ { "name": "body", "pivot": [1, 5.25, 0], "cubes": [ {"origin": [-2, 3, -1.5], "size": [4, 5, 3], "uv": [0, 15]}, {"origin": [-2, 2, -1.5], "size": [4, 6, 3], "inflate": 0.2, "uv": [16, 21]} ] }, { "name": "head", "parent": "body", "pivot": [1, 8, 0], "cubes": [ {"origin": [-4, 8, -3.5], "size": [8, 8, 7], "uv": [0, 0]} ] }, { "name": "helmet", "parent": "head", "pivot": [1, 12, 0], "cubes": [ {"origin": [-4, 8, -3.5], "size": [8, 8, 7], "inflate": 0.3, "uv": [0, 30], "layer": true, "visibility": false} ] }, { "name": "brim", "parent": "head", "pivot": [1, 12.5, 0], "cubes": [ {"origin": [-7, 12, -6], "size": [14, 1, 12], "uv": [0, 45], "layer": true, "visibility": false} ] }, { "name": "nose", "parent": "head", "pivot": [1, 10, -4], "cubes": [ {"origin": [-1, 8, -4.5], "size": [2, 2, 1], "uv": [23, 0]} ] }, { "name": "arms", "parent": "body", "pivot": [1, 5.9, -1.2], "cubes": [ {"origin": [2, 3.59, -2.8], "size": [2, 4, 2], "pivot": [4, 5.09754, -0.95992], "rotation": [-60, 0, 0], "uv": [16, 15]}, {"origin": [-4, 3.59, -2.8], "size": [2, 4, 2], "pivot": [-2, 5.09754, -0.95992], "rotation": [-60, 0, 0], "uv": [36, 15]} ] }, { "name": "held_item", "parent": "arms", "pivot": [1.5, 0, 0] }, { "name": "leg0", "parent": "body", "pivot": [0, 2.5, 0], "cubes": [ {"origin": [-2, 0, -1], "size": [2, 3, 2], "uv": [8, 23]} ] }, { "name": "leg1", "parent": "body", "pivot": [2, 2.5, 0], "cubes": [ {"origin": [0, 0, -1], "size": [2, 3, 2], "uv": [0, 23]} ] } ] }`};bt.vindicator={display_name:"Vindicator",model:`{ "name": "vindicator", "external_textures": ["entity/vindicator.png"], "texturewidth": 64, "textureheight": 64, "bones": [ { "name": "head", "pivot": [0, 24, 0], "cubes": [ {"name": "head", "origin": [-4, 24, -4], "size": [8, 10, 8], "uv": [0, 0]} ] }, { "name": "nose", "parent": "head", "pivot": [0, 26, 0], "cubes": [ {"name": "nose", "origin": [-1, 23, -6], "size": [2, 4, 2], "uv": [24, 0]} ] }, { "name": "body", "pivot": [0, 24, 0], "cubes": [ {"name": "body", "origin": [-4, 12, -3], "size": [8, 12, 6], "uv": [16, 20]}, {"name": "body", "origin": [-4, 6, -3], "size": [8, 18, 6], "uv": [0, 38], "inflate": 0.5} ] }, { "name": "arms", "pivot": [0, 22, 0], "rotation": [-45, 0, 0], "cubes": [ {"name": "arms", "origin": [-8, 16, -2], "size": [4, 8, 4], "uv": [44, 22]}, {"name": "arms", "origin": [4, 16, -2], "size": [4, 8, 4], "uv": [44, 22]}, {"name": "arms", "origin": [-4, 16, -2], "size": [8, 4, 4], "uv": [40, 38]} ] }, { "name": "RightLeg", "pivot": [-2, 12, 0], "cubes": [ {"name": "RightLeg", "origin": [-4, 0, -2], "size": [4, 12, 4], "uv": [0, 22]} ] }, { "name": "LeftLeg", "pivot": [2, 12, 0], "mirror": true, "cubes": [ {"name": "LeftLeg", "origin": [0, 0, -2], "size": [4, 12, 4], "uv": [0, 22]} ] }, { "name": "RightArm", "pivot": [-5, 22, 0], "cubes": [ {"name": "RightArm", "origin": [-8, 12, -2], "size": [4, 12, 4], "uv": [40, 46]} ] }, { "name": "LeftArm", "pivot": [5, 22, 0], "mirror": true, "cubes": [ {"name": "LeftArm", "origin": [4, 12, -2], "size": [4, 12, 4], "uv": [40, 46]} ] } ] }`};bt.warden={display_name:"Warden",model:`{ "name": "warden", "external_textures": ["entity/warden/warden.png"], "texturewidth": 128, "textureheight": 128, "eyes": [ [12, 50, 12, 7] ], "bones": [ { "name": "root", "pivot": [0, 0, 0] }, { "name": "body", "parent": "root", "pivot": [0, 21, 0], "cubes": [ {"origin": [-9, 13, -4], "size": [18, 21, 11], "uv": [0, 0]} ] }, { "name": "right_ribcage", "parent": "body", "pivot": [-7, 23, -4], "cubes": [ {"origin": [-9, 13, -4.1], "size": [9, 21, 0], "uv": [90, 11]} ] }, { "name": "left_ribcage", "parent": "body", "pivot": [7, 23, -4], "cubes": [ {"origin": [0, 13, -4.1], "size": [9, 21, 0], "uv": [90, 11], "mirror": true} ] }, { "name": "head", "parent": "body", "pivot": [0, 34, 0], "cubes": [ {"origin": [-8, 34, -5], "size": [16, 16, 10], "uv": [0, 32]} ] }, { "name": "right_tendril", "parent": "head", "pivot": [-8, 46, 0], "cubes": [ {"origin": [-24, 43, 0], "size": [16, 16, 0], "uv": [52, 32]} ] }, { "name": "left_tendril", "parent": "head", "pivot": [8, 46, 0], "cubes": [ {"origin": [8, 43, 0], "size": [16, 16, 0], "uv": [58, 0]} ] }, { "name": "right_arm", "parent": "body", "pivot": [-13, 34, 1], "cubes": [ {"origin": [-17, 6, -3], "size": [8, 28, 8], "uv": [44, 50]} ] }, { "name": "left_arm", "parent": "body", "pivot": [13, 34, 1], "cubes": [ {"origin": [9, 6, -3], "size": [8, 28, 8], "uv": [0, 58]} ] }, { "name": "right_leg", "parent": "root", "pivot": [-5.9, 13, 0], "cubes": [ {"origin": [-9, 0, -3], "size": [6, 13, 6], "uv": [76, 48]} ] }, { "name": "left_leg", "parent": "root", "pivot": [5.9, 13, 0], "cubes": [ {"origin": [3, 0, -3], "size": [6, 13, 6], "uv": [76, 76]} ] } ] }`};bt.witch={display_name:"Witch",model:`{ "name": "witch", "external_textures": ["entity/witch.png"], "texturewidth": 64, "textureheight": 128, "bones": [ { "name": "head", "pivot": [0, 24, 0], "cubes": [ {"name": "head", "origin": [-4, 24, -4], "size": [8, 10, 8], "uv": [0, 0]} ] }, { "name": "nose", "parent": "head", "pivot": [0, 0, 0], "cubes": [ {"name": "nose", "origin": [-1, 23, -6], "size": [2, 4, 2], "uv": [24, 0]}, {"name": "nose", "origin": [0, 25, -6.75], "size": [1, 1, 1], "uv": [0, 0], "inflate": -0.25} ] }, { "name": "hat", "parent": "head", "pivot": [-5, 32.03125, -5], "cubes": [ {"name": "hat", "origin": [-5, 32.05, -5], "size": [10, 2, 10], "uv": [0, 64]} ] }, { "name": "hat2", "parent": "hat", "pivot": [1.75, 32, 2], "rotation": [-3, 0, 1.5], "cubes": [ {"name": "hat2", "origin": [-3.25, 33.5, -3], "size": [7, 4, 7], "uv": [0, 76]} ] }, { "name": "hat3", "parent": "hat2", "pivot": [1.75, 35, 2], "rotation": [-6, 0, 3], "cubes": [ {"name": "hat3", "origin": [-1.5, 36.5, -1], "size": [4, 4, 4], "uv": [0, 87]} ] }, { "name": "hat4", "parent": "hat3", "pivot": [1.75, 38, 2], "rotation": [-12, 0, 6], "cubes": [ {"name": "hat4", "origin": [0.25, 40, 1], "size": [1, 2, 1], "uv": [0, 95], "inflate": 0.25} ] }, { "name": "body", "pivot": [0, 0, 0], "cubes": [ {"name": "body", "origin": [-4, 12, -3], "size": [8, 12, 6], "uv": [16, 20]}, {"name": "body", "origin": [-4, 6, -3], "size": [8, 18, 6], "uv": [0, 38], "inflate": 0.5} ] }, { "name": "arms", "pivot": [0, 22, 0], "rotation": [-45, 0, 0], "cubes": [ {"name": "arms", "origin": [-4, 16, -2], "size": [8, 4, 4], "uv": [40, 38]}, {"name": "arms", "origin": [-8, 16, -2], "size": [4, 8, 4], "uv": [44, 22]}, {"name": "arms", "origin": [4, 16, -2], "size": [4, 8, 4], "uv": [44, 22]} ] }, { "name": "leg0", "pivot": [-2, 12, 0], "cubes": [ {"name": "leg0", "origin": [-4, 0, -2], "size": [4, 12, 4], "uv": [0, 22]} ] }, { "name": "leg1", "pivot": [2, 12, 0], "cubes": [ {"name": "leg1", "origin": [0, 0, -2], "size": [4, 12, 4], "uv": [0, 22]} ] } ] }`};bt.witherBoss={display_name:"Wither",model:`{ "name": "witherBoss", "external_textures": ["entity/wither_boss/wither.png"], "texturewidth": 64, "textureheight": 64, "bones": [ { "name": "upperBodyPart1", "pivot": [0, 0, 0], "cubes": [ {"name": "upperBodyPart1", "origin": [-10, 17.1, -0.5], "size": [20, 3, 3], "uv": [0, 16]} ] }, { "name": "upperBodyPart2", "parent": "upperBodyPart1", "pivot": [-2, 17.1, -0.5], "cubes": [ {"name": "upperBodyPart2", "origin": [-2, 7.1, -0.5], "size": [3, 10, 3], "uv": [0, 22]}, {"name": "upperBodyPart2", "origin": [-6, 13.6, 0], "size": [11, 2, 2], "uv": [24, 22]}, {"name": "upperBodyPart2", "origin": [-6, 11.1, 0], "size": [11, 2, 2], "uv": [24, 22]}, {"name": "upperBodyPart2", "origin": [-6, 8.6, 0], "size": [11, 2, 2], "uv": [24, 22]} ] }, { "name": "upperBodyPart3", "parent": "upperBodyPart2", "pivot": [0, 7, 0], "rotation": [45, 0, 0], "cubes": [ {"name": "upperBodyPart3", "origin": [-2, 1, 0], "size": [3, 6, 3], "uv": [12, 22]} ] }, { "name": "head1", "parent": "upperBodyPart1", "pivot": [0, 20, 0], "cubes": [ {"name": "head1", "origin": [-4, 20, -4], "size": [8, 8, 8], "uv": [0, 0]} ] }, { "name": "head2", "parent": "upperBodyPart1", "pivot": [-9, 18, -1], "cubes": [ {"name": "head2", "origin": [-12, 18, -4], "size": [6, 6, 6], "uv": [32, 0]} ] }, { "name": "head3", "parent": "upperBodyPart1", "pivot": [9, 18, -1], "cubes": [ {"name": "head3", "origin": [6, 18, -4], "size": [6, 6, 6], "uv": [32, 0]} ] } ] }`};bt.wolf={display_name:"Wolf",model:`{ "name": "wolf", "external_textures": ["entity/wolf/wolf.png"], "texturewidth": 64, "textureheight": 32, "bones": [ { "name": "head", "pivot": [-1, 10.5, -7], "cubes": [ {"name": "head", "origin": [-4, 7.5, -9], "size": [6, 6, 4], "uv": [0, 0]}, {"name": "head", "origin": [-4, 13.5, -7], "size": [2, 2, 1], "uv": [16, 14]}, {"name": "head", "origin": [0, 13.5, -7], "size": [2, 2, 1], "uv": [16, 14]}, {"name": "head", "origin": [-2.5, 7.51563, -12], "size": [3, 3, 4], "uv": [0, 10]} ] }, { "name": "body", "pivot": [0, 10, 2], "rotation": [90, 0, 0], "cubes": [ {"name": "body", "origin": [-4, 3, -1], "size": [6, 9, 6], "uv": [18, 14]} ] }, { "name": "upperBody", "pivot": [-1, 10, 2], "rotation": [90, 0, 0], "cubes": [ {"name": "upperBody", "origin": [-5, 12, -1], "size": [8, 6, 7], "uv": [21, 0]} ] }, { "name": "leg0", "pivot": [-2.5, 8, 7], "cubes": [ {"name": "leg0", "origin": [-3.5, 0, 6], "size": [2, 8, 2], "uv": [0, 18]} ] }, { "name": "leg1", "pivot": [0.5, 8, 7], "cubes": [ {"name": "leg1", "origin": [-0.5, 0, 6], "size": [2, 8, 2], "uv": [0, 18]} ] }, { "name": "leg2", "pivot": [-2.5, 8, -4], "cubes": [ {"name": "leg2", "origin": [-3.5, 0, -5], "size": [2, 8, 2], "uv": [0, 18]} ] }, { "name": "leg3", "pivot": [0.5, 8, -4], "cubes": [ {"name": "leg3", "origin": [-0.5, 0, -5], "size": [2, 8, 2], "uv": [0, 18]} ] }, { "name": "tail", "pivot": [-1, 12, 8], "rotation": [55, 0, 0], "cubes": [ {"name": "tail", "origin": [-2, 4, 7], "size": [2, 8, 2], "uv": [9, 18]} ] } ] }`};bt.wolf_baby={display_name:"Wolf Baby",model:`{ "name": "wolf_baby", "texturewidth": 32, "textureheight": 32, "external_textures": ["entity/wolf/wolf_baby.png"], "eyes": [ [6, 19, 1, 1], [9, 19, 1, 1] ], "bones": [ { "name": "head", "pivot": [0, 5.75, -4], "cubes": [ {"origin": [-2.99, 4, -7], "size": [6, 5, 5], "inflate": 0.025, "uv": [0, 12]}, {"origin": [-1.5, 3.99, -9], "size": [3, 2, 2], "uv": [17, 12]} ] }, { "name": "right_ear", "parent": "head", "pivot": [-2, 10, -4.5], "cubes": [ {"origin": [-3, 9, -5], "size": [2, 2, 1], "uv": [0, 5]} ] }, { "name": "left_ear", "parent": "head", "pivot": [2, 10, -4.5], "cubes": [ {"origin": [1, 9, -5], "size": [2, 2, 1], "uv": [20, 5]} ] }, { "name": "body", "pivot": [0, 5, 0], "cubes": [ {"origin": [-3, 3, -4], "size": [6, 4, 8], "uv": [0, 0]} ] }, { "name": "leg0", "pivot": [-1.5, 3, 3], "cubes": [ {"origin": [-2.5, 0, 2], "size": [2, 3, 2], "uv": [0, 22]} ] }, { "name": "leg1", "pivot": [1.5, 3, 3], "cubes": [ {"origin": [0.5, 0, 2], "size": [2, 3, 2], "uv": [8, 22]} ] }, { "name": "leg2", "pivot": [-1.5, 3, -3], "cubes": [ {"origin": [-2.5, 0, -4], "size": [2, 3, 2], "uv": [0, 0]} ] }, { "name": "leg3", "pivot": [1.5, 3, -3], "cubes": [ {"origin": [0.5, 0, -4], "size": [2, 3, 2], "uv": [20, 0]} ] }, { "name": "tail", "pivot": [0, 5, 3], "rotation": [75, 0, 0], "cubes": [ {"origin": [-1, 5.3, 2.2], "size": [2, 6, 2], "pivot": [0, 5.6, 3.2], "rotation": [180, 0, 0], "uv": [22, 16]} ] } ] }`};bt.zombie={display_name:"Zombie",pose:!0,model_java:`{ "name": "zombie", "texturewidth": 64, "textureheight": 64, "eyes": [ [9, 12, 2, 1], [13, 12, 2, 1] ], "bones": [ { "name": "Body", "pivot": [0, 24, 0], "cubes": [ {"name": "Body", "origin": [-4, 12, -2], "size": [8, 12, 4], "uv": [16, 16]} ] }, { "name": "Head", "pivot": [0, 24, 0], "pose": [3, -10, 0], "cubes": [ {"name": "Head", "origin": [-4, 24, -4], "size": [8, 8, 8], "uv": [0, 0]}, {"name": "Hat Layer", "visibility": false, "origin": [-4, 24, -4], "size": [8, 8, 8], "uv": [32, 0], "inflate": 0.5} ] }, { "name": "RightArm", "pivot": [-5, 22, 0], "pose": [-80, -5, 0], "cubes": [ {"name": "RightArm", "origin": [-8, 12, -2], "size": [4, 12, 4], "uv": [40, 16]} ] }, { "name": "LeftArm", "pivot": [5, 22, 0], "pose": [-75, 5, 0], "mirror": true, "cubes": [ {"name": "LeftArm", "origin": [4, 12, -2], "size": [4, 12, 4], "uv": [40, 16]} ] }, { "name": "RightLeg", "pivot": [-1.9, 12, 0], "pose": [-25, 0, 5], "cubes": [ {"name": "RightLeg", "origin": [-3.9, 0, -2], "size": [4, 12, 4], "uv": [0, 16]} ] }, { "name": "LeftLeg", "pivot": [1.9, 12, 0], "pose": [20, 0, 0], "mirror": true, "cubes": [ {"name": "LeftLeg", "origin": [-0.1, 0, -2], "size": [4, 12, 4], "uv": [0, 16]} ] } ] }`,model_bedrock:`{ "name": "zombie", "external_textures": ["entity/zombie/zombie.png"], "texturewidth": 64, "textureheight": 32, "eyes": [ [9, 12, 2, 1], [13, 12, 2, 1] ], "bones": [ { "name": "Body", "pivot": [0, 24, 0], "cubes": [ {"name": "Body", "origin": [-4, 12, -2], "size": [8, 12, 4], "uv": [16, 16]} ] }, { "name": "Head", "pivot": [0, 24, 0], "pose": [3, -10, 0], "cubes": [ {"name": "Head", "origin": [-4, 24, -4], "size": [8, 8, 8], "uv": [0, 0]}, {"name": "Hat Layer", "visibility": false, "origin": [-4, 24, -4], "size": [8, 8, 8], "uv": [32, 0], "inflate": 0.5} ] }, { "name": "RightArm", "pivot": [-5, 22, 0], "pose": [-80, -5, 0], "cubes": [ {"name": "RightArm", "origin": [-8, 12, -2], "size": [4, 12, 4], "uv": [40, 16]} ] }, { "name": "LeftArm", "pivot": [5, 22, 0], "pose": [-75, 5, 0], "mirror": true, "cubes": [ {"name": "LeftArm", "origin": [4, 12, -2], "size": [4, 12, 4], "uv": [40, 16]} ] }, { "name": "RightLeg", "pivot": [-1.9, 12, 0], "pose": [-25, 0, 5], "cubes": [ {"name": "RightLeg", "origin": [-3.9, 0, -2], "size": [4, 12, 4], "uv": [0, 16]} ] }, { "name": "LeftLeg", "pivot": [1.9, 12, 0], "pose": [20, 0, 0], "mirror": true, "cubes": [ {"name": "LeftLeg", "origin": [-0.1, 0, -2], "size": [4, 12, 4], "uv": [0, 16]} ] } ] }`};bt.zombie_baby={display_name:"Zombie Baby",pose:!0,model:`{ "name": "zombie_baby", "texturewidth": 64, "textureheight": 64, "external_textures": ["entity/zombie/zombie_baby.png"], "eyes": [ [9, 12, 2, 1], [13, 12, 2, 1] ], "bones": [ { "name": "Body", "pivot": [0, 6.5, 0], "cubes": [ {"origin": [-2, 4, -1], "size": [4, 5, 2], "uv": [16, 16]} ] }, { "name": "Head", "parent": "Body", "pivot": [0, 8.75, 0], "cubes": [ {"origin": [-3, 9, -3], "size": [6, 6, 6], "uv": [3, 3]}, {"origin": [-3, 8.9, -3], "size": [6, 6, 6], "inflate": 0.25, "uv": [35, 3], "layer": true, "visibility": false} ] }, { "name": "RightArm", "parent": "Body", "pivot": [-3, 8.5, 0], "pose": [-80, -5, 0], "cubes": [ {"origin": [-4, 4, -1], "size": [2, 5, 2], "uv": [36, 16]} ] }, { "name": "LeftArm", "parent": "Body", "pivot": [3, 8.5, 0], "pose": [-75, 5, 0], "cubes": [ {"origin": [2, 4, -1], "size": [2, 5, 2], "uv": [28, 16]} ] }, { "name": "RightLeg", "parent": "Body", "pivot": [-1, 4, 0], "cubes": [ {"origin": [-2, 0, -1], "size": [2, 4, 2], "uv": [8, 16]} ] }, { "name": "LeftLeg", "parent": "Body", "pivot": [1, 4, 0], "cubes": [ {"origin": [0, 0, -1], "size": [2, 4, 2], "uv": [0, 16]} ] } ] }`};bt.zombie_villager_1={display_name:"Zombie Villager (Old)",model:`{ "name": "zombie_villager_1", "external_textures": ["entity/zombie_villager/zombie_villager.png"], "texturewidth": 64, "textureheight": 64, "bones": [ { "name": "Head", "pivot": [0, 24, 0], "cubes": [ {"name": "head", "origin": [-4, 24, -4], "size": [8, 10, 8], "uv": [0, 0], "inflate": 0.25}, {"name": "head", "origin": [-1, 23, -6], "size": [2, 4, 2], "uv": [24, 0], "inflate": 0.25} ] }, { "name": "Body", "pivot": [0, 24, 0], "cubes": [ {"name": "Body", "origin": [-4, 12, -3], "size": [8, 12, 6], "uv": [16, 20]}, {"name": "Body", "origin": [-4, 6, -3], "size": [8, 18, 6], "uv": [0, 38], "inflate": 0.5} ] }, { "name": "waist", "pivot": [0, 12, 0] }, { "name": "RightArm", "pivot": [-5, 22, 0], "cubes": [ {"name": "RightArm", "origin": [-8, 12, -2], "size": [4, 12, 4], "uv": [44, 38]} ] }, { "name": "LeftArm", "pivot": [5, 22, 0], "mirror": true, "cubes": [ {"name": "LeftArm", "origin": [4, 12, -2], "size": [4, 12, 4], "uv": [44, 38]} ] }, { "name": "RightLeg", "pivot": [-2, 12, 0], "cubes": [ {"name": "RightLeg", "origin": [-4, 0, -2], "size": [4, 12, 4], "uv": [0, 22]} ] }, { "name": "LeftLeg", "pivot": [2, 12, 0], "mirror": true, "cubes": [ {"name": "LeftLeg", "origin": [0, 0, -2], "size": [4, 12, 4], "uv": [0, 22]} ] } ] }`};bt.zombie_villager_2={display_name:"Zombie Villager (New)",model_java:`{ "name": "zombie_villager_2", "external_textures": ["entity/zombie_villager2/zombie-villager.png"], "texturewidth": 64, "textureheight": 64, "bones": [ { "name": "waist", "pivot": [0, 12, 0] }, { "name": "Body", "parent": "waist", "pivot": [0, 24, 0], "cubes": [ {"name": "Body", "origin": [-4, 12, -3], "size": [8, 12, 6], "uv": [16, 20]}, {"name": "Body", "origin": [-4, 4, -3], "size": [8, 20, 6], "uv": [0, 38], "inflate": 0.5} ] }, { "name": "Head", "pivot": [0, 24, 0], "cubes": [ {"name": "Head", "origin": [-4, 24, -4], "size": [8, 10, 8], "uv": [0, 0], "inflate": 0.25}, {"name": "Head", "origin": [-1, 23, -6], "size": [2, 4, 2], "uv": [24, 0], "inflate": 0.25} ] }, { "name": "helmet", "parent": "Head", "pivot": [0, 24, 0], "cubes": [ {"name": "Head Layer", "origin": [-4, 24, -4], "size": [8, 10, 8], "uv": [32, 0], "inflate": 0.5} ] }, { "name": "brim", "parent": "Head", "pivot": [0, 24, 0], "rotation": [-90, 0, 0], "cubes": [ {"name": "brim", "origin": [-8, 16, -6], "size": [16, 16, 1], "uv": [30, 47], "inflate": 0.1} ] }, { "name": "RightArm", "pivot": [-5, 22, 0], "cubes": [ {"name": "RightArm", "origin": [-8, 12, -2], "size": [4, 12, 4], "uv": [44, 22]} ] }, { "name": "LeftArm", "pivot": [5, 22, 0], "mirror": true, "cubes": [ {"name": "LeftArm", "origin": [4, 12, -2], "size": [4, 12, 4], "uv": [44, 22]} ] }, { "name": "RightLeg", "pivot": [-2, 12, 0], "cubes": [ {"name": "RightLeg", "origin": [-4, 0, -2], "size": [4, 12, 4], "uv": [0, 22]} ] }, { "name": "LeftLeg", "pivot": [2, 12, 0], "mirror": true, "cubes": [ {"name": "LeftLeg", "origin": [0, 0, -2], "size": [4, 12, 4], "uv": [0, 22]} ] } ] }`,model_bedrock:`{ "name": "zombie_villager_2", "external_textures": ["entity/zombie_villager2/zombie-villager.png"], "texturewidth": 64, "textureheight": 64, "bones": [ { "name": "waist", "pivot": [0, 12, 0] }, { "name": "Body", "parent": "waist", "pivot": [0, 24, 0], "cubes": [ {"name": "Body", "origin": [-4, 12, -3], "size": [8, 12, 6], "uv": [16, 20]}, {"name": "Body", "origin": [-4, 6, -3], "size": [8, 18, 6], "uv": [0, 38], "inflate": 0.5} ] }, { "name": "Head", "pivot": [0, 24, 0], "cubes": [ {"name": "Head", "origin": [-4, 24, -4], "size": [8, 10, 8], "uv": [0, 0], "inflate": 0.25}, {"name": "Head", "origin": [-1, 23, -6], "size": [2, 4, 2], "uv": [24, 0], "inflate": 0.25} ] }, { "name": "helmet", "parent": "Head", "pivot": [0, 24, 0], "cubes": [ {"name": "Head Layer", "origin": [-4, 24, -4], "size": [8, 10, 8], "uv": [32, 0], "inflate": 0.5} ] }, { "name": "brim", "parent": "Head", "pivot": [0, 24, 0], "rotation": [-90, 0, 0], "cubes": [ {"name": "brim", "origin": [-8, 16, -6], "size": [16, 16, 1], "uv": [30, 47], "inflate": 0.1} ] }, { "name": "RightArm", "pivot": [-5, 22, 0], "cubes": [ {"name": "RightArm", "origin": [-8, 12, -2], "size": [4, 12, 4], "uv": [44, 22]} ] }, { "name": "LeftArm", "pivot": [5, 22, 0], "mirror": true, "cubes": [ {"name": "LeftArm", "origin": [4, 12, -2], "size": [4, 12, 4], "uv": [44, 22]} ] }, { "name": "RightLeg", "pivot": [-2, 12, 0], "cubes": [ {"name": "RightLeg", "origin": [-4, 0, -2], "size": [4, 12, 4], "uv": [0, 22]} ] }, { "name": "LeftLeg", "pivot": [2, 12, 0], "mirror": true, "cubes": [ {"name": "LeftLeg", "origin": [0, 0, -2], "size": [4, 12, 4], "uv": [0, 22]} ] } ] }`};bt.zombie_villager_baby={display_name:"Zombie Villager Baby",model:`{ "name": "zombie_villager_baby", "texturewidth": 64, "textureheight": 64, "external_textures": ["entity/zombie_villager2/zombie-villager_baby.png"], "eyes": [ [8, 12, 2, 1], [12, 12, 2, 1] ], "bones": [ { "name": "Body", "pivot": [-0.5, 5.25, 0], "cubes": [ {"origin": [-2.5, 3, -1.5], "size": [4, 5, 3], "uv": [0, 15]}, {"origin": [-2.5, 2, -1.5], "size": [4, 6, 3], "inflate": 0.2, "uv": [16, 22]} ] }, { "name": "Head", "parent": "Body", "pivot": [-0.5, 8, 0], "cubes": [ {"origin": [-4.5, 8, -3.5], "size": [8, 8, 7], "uv": [0, 0]} ] }, { "name": "helmet", "parent": "Head", "pivot": [-0.5, 12, 0], "cubes": [ {"origin": [-4.5, 8, -3.5], "size": [8, 8, 7], "inflate": 0.3, "uv": [0, 31], "layer": true, "visibility": false} ] }, { "name": "brim", "parent": "Head", "pivot": [-0.5, 12.5, 0], "cubes": [ {"origin": [-7.5, 12, -6], "size": [14, 1, 12], "uv": [0, 46], "layer": true, "visibility": false} ] }, { "name": "Nose", "parent": "Head", "pivot": [-0.5, 9, -4], "cubes": [ {"origin": [-1.5, 8, -4.5], "size": [2, 2, 1], "uv": [23, 0]} ] }, { "name": "RightArm", "parent": "Body", "pivot": [-3, 6.75, 0], "cubes": [ {"origin": [-4.5, 2.75, -1], "size": [2, 5, 2], "uv": [24, 15]} ] }, { "name": "LeftArm", "parent": "Body", "pivot": [2, 6.75, 0], "cubes": [ {"origin": [1.5, 2.75, -1], "size": [2, 5, 2], "uv": [16, 15]} ] }, { "name": "RightLeg", "parent": "Body", "pivot": [-1.5, 2.5, 0], "cubes": [ {"origin": [-2.5, 0, -1], "size": [2, 3, 2], "uv": [8, 23]} ] }, { "name": "LeftLeg", "parent": "Body", "pivot": [0.5, 2.5, 0], "cubes": [ {"origin": [-0.5, 0, -1], "size": [2, 3, 2], "uv": [0, 23]} ] } ] }`};for(let i in bt)$5[i]=bt[i].display_name;var Sy=new Codec("image",{name:tl("format.image"),extension:"png",remember:!0,load_filter:{type:"image",extensions:Texture.getAllExtensions},load(i,e,t){if(i instanceof Array||(i=[i]),typeof e=="object"&&(i=[e],e=e.path),setupProject(Formats.image),e&&!1)var n;i.forEach((o,r)=>{let s;o.uuid?s=new Texture(o,o.uuid).load():typeof o=="string"?o.startsWith("data:image/png")?s=new Texture({name:"image"}).fromDataURL(o):s=new Texture().fromPath(o):s=new Texture().fromFile(o),s.load_callback=()=>{if(delete s.load_callback,s.select(),s.activateLayers(!1),t instanceof Array&&t[0]&&t[1]?(s.uv_width=t[0],s.uv_height=t[1]):(s.uv_height=s.display_height,s.uv_width=s.width),r==i.length-1){UVEditor.vue.updateTexture();let l=Math.min(32/UVEditor.getPixelSize(),1);l<1&&UVEditor.setZoom(l),UVEditor.vue.centerView()}},s.add(!1)});let a=Texture.all.last();Project.name=pathToName(a?.name,!1)||"image"},afterSave(){},export_options:{format:{type:"select",label:"codec.common.format",options:{png:"PNG",jpeg:"JPEG",webp:"WebP",tga:"TGA",gif:"GIF"}},alpha_channel:{type:"checkbox",label:"codec.image.alpha_channel",condition:i=>i?.format=="gif",value:!0},animation_fps:{type:"number",label:"codec.image.animation_fps",condition:i=>i?.format=="gif",value:7},quality:{type:"range",label:"codec.image.quality",value:1,min:0,max:1,step:.05,editable_range_label:!0,condition:i=>i&&["jpeg","webp"].includes(i.format)}},async compile(i){i=Object.assign(this.getExportOptions(),i);let e=Texture.getDefault();if(e)if(i.format=="gif"){let n=GIFEnc.GIFEncoder(),a=i.alpha_channel??!0,o=0,r="rgb565",s=!1,l=e.width,c=e.display_height,d=1e3/i.animation_fps,{ctx:u}=e;for(let _=0;_256?(g=GIFEnc.quantize(f,256,{format:r,oneBitAlpha:!0,clearAlphaThreshold:127}),v=GIFEnc.applyPalette(f,g,r)):v=w1(f,g,{has_transparency:a,prio_color_accuracy:s}),n.writeFrame(v,l,c,{palette:g,delay:d,transparent:a}),o++,await new Promise(b=>setTimeout(b,0))}n.finish();let p=n.bytesView(),m=new Blob([p],{type:"image/gif"});var t=new FileReader;return await new Promise((_,f)=>{t.onload=()=>_(t.result),t.onerror=f,t.readAsDataURL(m)})}else{if(Texture.file_formats[i.format]?.encode)return await Texture.file_formats[i.format].encode(e);{let n="image/"+(i.format??"png");return e.canvas.toDataURL(n,i.quality)}}},async export(){if(await this.promptExportOptions()===null)return;let e=await this.compile();Blockbench.export({resource_id:"image",type:"Image",extensions:[this.getExportOptions().format],name:this.fileName(),savetype:typeof e=="string"?"image":"binary",content:e},t=>this.afterDownload(t))},write(i,e){Blockbench.writeFile(e,{content:i,savetype:"image"},t=>this.afterSave(t))}});Sy.parse=null;Codecs.project.on("parsed",()=>{Format.id=="image"&&Texture.all[0]&&!Texture.selected&&(Texture.all[0].select(),UVEditor.vue.centerView())});var L1,Y5=new ModelFormat("image",{icon:"image",category:"general",show_on_start_screen:!0,show_in_new_list:!0,can_convert_to:!1,model_identifier:!1,single_texture:!0,animated_textures:!0,per_texture_uv_size:!0,edit_mode:!1,image_editor:!0,format_page:{button_text:"format.image.new",content:[{type:"image",source:"./assets/image_editor.png",width:640},{text:tl("format.image.info.summary")}]},new(){newProject(this);let i=()=>{setTimeout(()=>{Undo.history.empty(),Undo.index=0,UVEditor.vue.centerView()},1)},e={"16x16":"16 x 16","32x32":"32 x 32","64x64":"64 x 64","128x128":"128 x 128","256x256":"256 x 256","512x512":"512 x 512","1920x1080":"1920 x 1080"},t={};for(let a in Texture.file_formats)t[a]=Texture.file_formats[a].name;let n=new Dialog({id:"add_bitmap",title:tl("action.create_texture"),buttons:["dialog.confirm"],form:{name:{label:"generic.name",value:"texture"},file_format:{label:"menu.texture.file_format",type:"select",value:"png",options:t},section2:"_",resolution:{label:"dialog.create_texture.resolution",type:"vector",dimensions:2,value:[16,16],min:1,max:2048},size_preset:{type:"buttons",label:" ",buttons:Object.values(e),click(a){let r=Object.keys(e)[a].split("x").map(s=>parseInt(s));n.setFormValues({resolution:r},!1)}},color:{label:"data.color",type:"color",colorpicker:TextureGenerator.background_color,toggle_enabled:!0,toggle_default:!1}},onConfirm:function(a){a.type="blank",TextureGenerator.addBitmap(a,i)}}).show();return setTimeout(()=>{UVEditor.vue.centerView()},40),!0},onActivation(){Interface.preview.classList.add("image_mode"),UVEditor.vue.hidden=!1,L1=L1??Panels.uv.node.firstChild,Interface.preview.append(L1),Panels.uv.update(),Panels.textures.handle.firstChild.textContent=tl("panel.textures.images")},onDeactivation(){Interface.preview.classList.remove("image_mode"),Panels.uv.node.append(L1),Panels.textures.handle.firstChild.textContent=tl("panel.textures"),setTimeout(()=>{Condition(Panels.uv.condition)&&Panels.uv.update()},0)},codec:Sy});Sy.format=Y5;BARS.defineActions(function(){Sy.export_action=new Action({id:"export_image",icon:"panorama",category:"file",condition:()=>Format==Y5&&Texture.all.length,click:function(){Sy.export()}})});var X5="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAEAAAABACAYAAACqaXHeAAAIiklEQVR4Aeyaa4hVVRTH9z1CNDjgzJiO4jSVPSA1KqLCDxUU2Dvs+amgondEZE+K+lAQBQX1obdRENGn8oOEoT19pFampY6o4XNEx3yFIxOB3e5vN//Dutt9zzkz17wzQ8P8Zq291tr77LXOPo855yQu5+fyuYfKWYx5+Ity88z3o+DLGb7h7twChDPcdeCQg9A+XNuFCnBG5/FpfhNaRnt9pBShUAF8xiP0T+EChKtAK2G416VwAUiUIliwDXcKFWDDtj+PyDNmOyJoGBgKFYA8SNiCDf6a95I73PVRFHzEDGWSrGs8Pk3eLn102S9+9XOXBWNkoXEaJWuuAJK0hBPM8oWxQ7mdxK7nJDf75sucmHv/Takesy189Oojbo4YF0geGQNfo/ErgMlpIkpe7fYTWt2KubMdMsu24YVbfBEYC4jt2b3b29BjKC7mO1a2hEmyMSYDnOhoC5I/79q7fBGybPg0FrrABmpLYgO1GyWTvm3djokIimAnQ/I9e/a7juk3+lXASkDHhs/GhmPRBmI0viQ2+dAbRcKGmQigM0GkIFF0Emc1ADo2+dCPu/Ip19TZgeoYC3yj8gc9RsXV8F9fAM1CkyQZ2SRJlj0O6LIjFa/+2CyHt+5wMWzMsdLD7SR/vH5FydL2+UMOxhxc72DUqbc6sWfM1W7L93NKfRu+rcL23/Tc+W7pvZ1V/PDidLf1/ZmecWtecoLtnHLa6WVLOMGwvXfv3rLl7I92l2HCq2vKEMbntatWgIL7DvVK9XLcxpcd+EaBP5fO+9tNf2dbFVM/3FmgZ7GQtrY2B4rmsK21+hRTS0YLoOCm0c1Sh4y0iWtS7ePH+/OPzkGyF5HRApA4aIDfT3/Sgdp5cu3tE/2EFMfEsNEe3dzsAN2CDaytqK4V0LtoedEuaVzC8TftnHPLD8163HPNdTPdpBM700my9JtXPevEhIkTyxZ7PKKzhyDdQr+CDb776ksHPy1f5izYVq/82ZXND+MJmfuHS8XXV41yFJdzD+cZxUumgTWURFVfWdm4CGPtarC+E9on+OaKFSsc0Ni3b5+DnbOmugOvXe5BxwbEEAvoPT09DtDxW7DVgjj6WWrFZtkTOQ/s3+cEtpbWNr8KVCBsllpFYUIXXXyJLwLxU6edler4sIW0t7d7EysEfKPyh3hBwmLdunW+aN3d3c6iWCsrw2T+Jod6ex0QRdJAIXZs3+bt8uEXSl6+jo4OB/LnSWLBxtnE0YHC6Goy+fkfncB2wdNL3Q1vbq8CW4jdRkz3h0C4lymCzgPyKWk7iHxMFDuVR4JdBejYwMbQBpJFCu1p2pxAQ7CPOmkSwknSQLc0X3Qh5kz8ClAEex5aW1scyI609wbooBUQS4o+eagfS9omTUFEbAwVhGSz/DFfaPPnACUi5+ZNmxxgB+x2BaADdiWBLhYt/M6tXbPa36wgQb6YZAWFCVMQCkM813kLtqNFwp4MB2upnACBJQ6hnz4CHycipIUELNaHHuuDXX3Qi8JKgKLxNs6vAAza0+j1ElsVMZu2gy9MHJv8oWQ1hLbBthP32ALXd/8cD0UAzgOADvITG6I9KamJkIBFdqSNlW5j0W0cd3q08+DckBcT+v0Dkc0PnPrv//D9hZj0wmIHSpx/NNKYygMUdMBuBySZIqgPsejIGPhiUBBt2/6bza0wbaT8sf7Wlhze0O3G3fCxQ/Z+uczBkjc/cYAO+BQjXe17H3jQwawnnnQWbJYsn40L9VgiHALa2xz7XO6sRJffJhvTk955d5WyeOX6svvskU4Pehi7+beNJVizamXJgs2S5bNxoc6zhl2PTiv9ctv4KrDhA+mSstGOJW1t6UnQGq0++eST/B5mz6Bb30jQcwswEpLMyiG3ANyzd63+1QF61mDD0ZcWQM8DkDaRKVOmlJqamjzo1jcS9LQAPAvYsmWTg5GQWNEc0gIU7TDS4tICLP7mq9Lczz71DKUku7q6yqBHXJLY5s+fX46BT+TlkhYgL7BRfs47MHbs2JIF24wZM0ox8Im8eQ/5AuQlUK///wLUW8Hh3n9QK6DoCWY4FGdQBeCpLAyHBPPmOKgC6IUHg7/97nvppQhdhJcn2ZHyoQvZJGVnG/8lCRvSRrW0+/r6yqC2/MTCggULHKDfd8/d6aUIXYSXJ9mR8qEL2SRlH2jyA41P2JA2qmunvfdfuHhJ1Zg2Hr3KWWnY94bozVfOLlsqIZm/utGR5J0/8A0AZHYehDP3EOAZAM8CAH0g29Cjc16wQtG+9hE5T4SAx2BF+w8kLrcAAxmMWCWNXi8UgkdbwGOweseL9c8tAM8AeBYA6LFBQhtFANn5tgDUHojUA86GrACeDbw1+wP3xDPPOc4LnCPCyXOcC741wM/LFN4t8q3BHWeud3Dyzjf8ZzbEKB6pY12S/paDc+50XHX4BoBvARQnaWMHo2euAJ4NAM8K8gbXHid53ioRTz9BGx8QC9iA9wAWXpJgPxZkFmCgEyA5+vBSRRIdaMcg8fCdADbeC1IIgS1GbMyB2DILoOcDiyvPCooMylskIJakWQlAG7ugLXifH3vPz53m5OCbAGzEW3SPYiX3LzpEJLGF0CezAJpkntRyZgUASYPth11tXqxK5yVGqMvG2T9EL0GIAd3DWMm5yj47QMcWQp+jUgAlINna/30BqwBkRyp5SWwWklLS1m71PL+NzdOPagG0xPm2AOzG8anNigG1a0mu/ZZacfXYj2oBWObQ0v99QTgx7XUkyM9eB7WPpRxUAXQyKTpRu/eL9mHPF42tJ25QBeBsDH7DdX5fwPHsx8n505A7wVpz4s4M8POPir4V0PcEfFsAalfFBN8XcKvLO32hMbMSZjz1I74e6n4eoO8FkHxLAHxbAOiAb1z/NwjS1dZlTZJkWBWxQ4DE5eecAbTr4R8AAAD//4f/6uQAAAAGSURBVAMAUEle/eUQLPgAAAAASUVORK5CYII=";var doe={description:{identifier:"geometry.default_player",texture_width:64,texture_height:64,visible_bounds_width:5,visible_bounds_height:4.5,visible_bounds_offset:[0,1.75,0]},bones:[{name:"root",pivot:[0,0,0]},{name:"waist",parent:"root",pivot:[0,12,0]},{name:"body",parent:"waist",pivot:[0,24,0],cubes:[{origin:[-4,12,-2],size:[8,12,4],uv:[16,16]}]},{name:"cape",parent:"body",pivot:[0,24,2],cubes:[{origin:[-4,10,2],size:[8,14,1],uv:{north:{uv:[36,28],uv_size:[1,1]},east:{uv:[36,28],uv_size:[1,1]},south:{uv:[36,28],uv_size:[1,1]},west:{uv:[36,28],uv_size:[1,1]},up:{uv:[37,29],uv_size:[-1,-1]},down:{uv:[37,29],uv_size:[-1,-1]}}}]},{name:"head",parent:"body",pivot:[0,24,0],cubes:[{origin:[-4,24,-4],size:[8,8,8],uv:[0,0]}]},{name:"helmet",parent:"head",pivot:[0,0,0]},{name:"rightArm",parent:"body",pivot:[-5,22,0],cubes:[{origin:[-8,12,-2],size:[4,12,4],uv:[40,16]}]},{name:"rightItem",parent:"rightArm",pivot:[-6,15,1]},{name:"leftArm",parent:"body",pivot:[5,22,0],cubes:[{origin:[4,12,-2],size:[4,12,4],uv:[32,48]}]},{name:"leftItem",parent:"leftArm",pivot:[6,15,1],cubes:[]},{name:"rightLeg",parent:"root",pivot:[-1.9,12,0],cubes:[{origin:[-3.9,0,-2],size:[4,12,4],uv:[0,16]}]},{name:"leftLeg",parent:"root",pivot:[1.9,12,0],cubes:[{origin:[-.1,0,-2],size:[4,12,4],uv:[16,48]}]}]},aP=new Vm("bedrock_attachable",{scope_isolated_animations:!0,collections_as_files:!0}),N1=class{constructor(){W(this,"before");this.before=this.getCurrent()}getCurrent(){return{elements:Outliner.elements.slice(),groups:Group.all.slice(),nodes:Group.all.concat(Outliner.elements),animations:Gt.all.slice(),textures:Texture.all.slice(),collections:Collection.all.slice()}}find(){let e=this.getCurrent();for(let t in e)e[t]=e[t].filter(n=>this.before[t].indexOf(n)==-1);return e}findEmptyScope(){let e=1;for(let t of this.before.nodes)e==t.scope&&e++;return e}};BARS.defineActions(function(){let i=new zs("bedrock_player_model",{name:"Bedrock Player Model",description:"Default bedrock player model for making attachables and player animations",show_on_start_screen:!1,icon:"icon-player",target:"Minecraft: Bedrock Edition",onStart:async function(){let e=Project&&Format.id.includes("bedrock"),t={model:{label:"dialog.skin.model",type:"select",value:"steve",options:{steve:bt.steve.display_name,alex:bt.alex.display_name}}};e&&(t.import_as_attachable={label:"Import current model as attachable",value:!0,type:"checkbox"});let n=await new Promise((l,c)=>{new Dialog({title:"Bedrock Player Model",form:t,onConfirm(d){l(d)},onCancel(){c()}}).show()}),a=n.import_as_attachable?Codecs.project.compile():null,o=Project.export_path;setupProject(Formats.bedrock);let r=structuredClone(doe);if(n.model=="alex"){let l=r.bones.find(d=>d.name=="rightArm"),c=r.bones.find(d=>d.name=="leftArm");l.cubes[0].size[0]=3,l.cubes[0].origin[0]++,l.cubes[0].uv[0]++,c.cubes[0].size[0]=3,c.cubes[0].uv[0]++}yf({object:r},{switch_to_existing_tab:!1}),Project.multi_file_ruleset=aP.id;let s=new Texture({name:"player.png",scope:1}).fromDataURL(X5).add(!0,!0);if(s.saved=!0,Outliner.nodes.forEach(l=>{l.scope=1}),new Collection({name:"Player",scope:1}).add(),!Project.variable_placeholders.includes(".is_item_equipped")){let l="query.is_item_equipped = toggle('Holding Item')";n.import_as_attachable&&(l+=` query.equipped_item_is_attachable = true`),Project.variable_placeholders=l+` `+Project.variable_placeholders,Panels.variable_placeholders.inside_vue.text=Project.variable_placeholders}if(n.import_as_attachable){let l=new N1,c=JSON.parse(a);Codecs.project.merge(c);let d=l.find();[...d.elements,...d.groups].forEach(u=>{u.scope=2});for(let u of Texture.all)u!=s&&(u.scope=2);new Collection({name:c.name||"Attachable",scope:2,export_codec:"bedrock",export_path:o,model_identifier:c.model_identifier}).add();for(let u of Gt.all)u.setScopeFromAnimators();Canvas.updateAllBones()}}});new Action("load_on_bedrock_player",{name:"Load with Bedrock Player",condition:()=>Format.id=="bedrock"&&!Project.multi_file_ruleset,icon:"icon-player",click(){i.onStart()}}),new Action("import_bedrock_attachable",{name:"Import Bedrock Attachable",condition:()=>Format.id=="bedrock",icon:"swords",click(){bn.importFile({extensions:["json"],type:Codecs.bedrock.name,readtype:"text",multiple:!0,resource_id:"model"},e=>{for(let t of e){let n=autoParseJSON(t.content),a=new N1,o=new Collection({name:t.name,export_codec:"bedrock",export_path:t.path}).add();Codecs.bedrock.load(n,t,{import_to_current_project:!0,collection:o});let r=a.find(),s=a.findEmptyScope();r.nodes.forEach(l=>l.scope=s),r.textures.forEach(l=>l.scope=s),o.scope=s}for(let t of Gt.all)t.setScopeFromAnimators();Canvas.updateAllBones()})}}),new Action("slice_bedrock_multiblock",{name:"Slice Bedrock Multiblock",condition:()=>Format.id=="bedrock_block",icon:"dashboard_customize",click(){let e={split_cubes:{label:"Split Cubes",description:"If enabled, cubes that span across multiple blocks and align with block edges in terms of rotation will be split between blocks.",type:"checkbox",value:!0}};new Dialog("slice_bedrock_multiblock",{title:this.name,form:e,onConfirm(t){let n=Cube.all.slice();if(Undo.initEdit({elements:n,collections:[]}),t.split_cubes)for(let s=0;s<3;s++){let l=Cube.all.slice(),c=[0,1,2].filter(d=>d!=s);for(let d of l)if(d.getAllAncestors().concat([d]).allAre(p=>p.rotation[c[0]]==0&&p.rotation[c[1]]==0)){let p=s==1?0:8,m=Math.min(d.from[s],d.to[s]),_=Math.max(d.from[s],d.to[s]),f=Math.ceil((m+p)/16)*16-p,g=[];for(;f<_;)!Math.epsilon(f,m,.6)&&!Math.epsilon(f,_,.6)&&g.push(f),f+=16;for(let v of g){let b=kC(d,s,v-d.origin[s]);n.push(b),d=b}}}function a(s,l,c,d){if(s==0)return l;let u=Math.abs(s);return`${Math.sign(s)==1?c:d}${u>=2?u:""}`}let o=0,r={};for(let s of Cube.all){let l=s.getWorldCenter(),c=[Math.round(l.x/16),Math.floor(l.y/16),Math.round(l.z/16)],d=c.join("-"),u=Project.geometry_name||Project.getDisplayName(!1)||"model";if(!r[d]){o++;let p=[a(c[0],"","right","left"),a(c[1],"bottom","top","below"),a(c[2],"","front","back")].filter(m=>m).join("_");r[d]=new Collection({name:p,offset:c.V3_multiply(16,16,16),export_codec:"bedrock",model_identifier:Project.model_identifier+"."+p}).add()}r[d].children.push(s.uuid)}Canvas.updateView({elements:n,element_aspects:{transform:!0,geometry:!0,uv:!0}}),Undo.finishEdit("Slice multi block model",{collections:Object.values(r),elements:n})}}).show()}})});var uoe={rightarm:{rotation:[-95,45,115].map(Math.degToRad),position:[-13.5,-10,12]},rightitem:{position:[0,-7,0]},leftitem:{position:[0,-7,0]},body:{hide_cubes:!0},head:{hide_cubes:!0},cape:{hide_cubes:!0},rightleg:{hide_cubes:!0},leftleg:{hide_cubes:!0}},poe={rightarm:{rotation:[18,0,0].map(Math.degToRad)}};function J5(i){for(let e in i){let t=i[e],n=Group.all.find(a=>a.name.toLowerCase()==e);if(n&&(t.rotation&&n.mesh.rotation.fromArray(t.rotation),t.position&&n.mesh.position.add(Reusable.vec1.fromArray(t.position)),t.scale&&n.mesh.scale.fromArray(t.scale),t.hide_cubes))for(let a of n.mesh.children)a.type=="cube"&&(a.visible=!1)}}Blockbench.on("display_default_pose",()=>{Project.multi_file_ruleset==aP.id&&(Project.bedrock_animation_mode=="attachable_first"?J5(uoe):Animator.MolangParser.parse("query.is_item_equipped(0)")&&J5(poe))});Blockbench.on("get_face_texture",i=>{if(Project.multi_file_ruleset==aP.id&&i.element?.scope){let e=Texture.all.find(t=>t.scope==i.element.scope);if(e)return e}});Interface.page_wrapper=document.getElementById("page_wrapper");Interface.work_screen=document.getElementById("work_screen");Interface.center_screen=document.getElementById("center");Interface.right_bar=document.getElementById("right_bar");Interface.left_bar=document.getElementById("left_bar");Interface.preview=document.getElementById("preview");CustomTheme.setup();StateMemory.init("dialog_paths","object");initCanvas();c2();he.browser="electron";navigator.userAgent.toLowerCase().indexOf("firefox")>-1?he.browser="firefox":window.chrome&&window.chrome.webstore?he.browser="chrome":window.opr&&opr.addons||window.opera||navigator.userAgent.indexOf(" OPR/")>=0?he.browser="opera":/constructor/i.test(window.HTMLElement)||function(i){return i.toString()==="[object SafariRemoteNotification]"}(!window.safari||typeof safari<"u"&&safari.pushNotification)?he.browser="safari":document.documentMode?he.browser="internet_explorer":window.chrome&&window.navigator.userAgent.toLowerCase().includes("edg")?he.browser="edge":window.StyleMedia?he.browser="proprietary_edge":window.chrome&&!window.chrome.webstore&&(he.browser="chromium"),navigator.appVersion.indexOf("Win")!=-1&&(he.operating_system="Windows"),navigator.appVersion.indexOf("Mac")!=-1&&(he.operating_system="MacOS"),navigator.appVersion.indexOf("Linux")!=-1&&(he.operating_system="Linux"),["proprietary_edge","internet_explorer"].includes(he.browser)&&alert(capitalizeFirstLetter(he.browser)+" does not support Blockbench"),$(".local_only").remove();BARS.setupActions();BARS.setupToolbars();BARS.setupVue();MenuBar.setup();Tw();i5();w4();console.log(`Three.js r${THREE.REVISION}`);console.log("%cBlockbench "+he.version+(" Web ("+capitalizeFirstLetter(he.browser)+(he.isPWA?", PWA)":")")),"border: 2px solid #3e90ff; padding: 4px 8px; font-size: 1.2em;");he.startup_count=parseInt(localStorage.getItem("startups")||0)+1;localStorage.setItem("startups",he.startup_count);document.getElementById("blackout").addEventListener("click",i=>{typeof open_interface.cancel=="function"&&open_interface.cancel_on_click_outside!==!1?open_interface.cancel(i):typeof open_interface=="string"&&open_dialog&&$("dialog#"+open_dialog).find(".cancel_btn:not([disabled])").trigger("click")});{async function i(){if("serviceWorker"in navigator)try{await navigator.serviceWorker.register("./service_worker.js")}catch(e){console.log(e)}}i()}(!he.isWeb||!he.isPWA)&&$.ajaxSetup({cache:!1});if(he.startup_count==1)try{jQuery.ajax({url:"https://blckbn.ch/api/event/new_installation",type:"POST",data:{}})}catch(i){console.error(i)}if(he.startup_count==3)try{jQuery.ajax({url:"https://blckbn.ch/api/event/recurring_user",type:"POST",data:{}})}catch(i){console.error(i)}he.on("before_closing",i=>{he.hasFlag("no_localstorage_saving")||Settings.saveLocalStorages()});updateProjectResolution();setupInterface();setupDragHandlers();onVueSetup.funcs.forEach(i=>{typeof i=="function"&&i()});settings.streamer_mode.value&&d2();yo.initialize();initializeWebApp();localStorage.setItem("last_version",he.version);(function(){let i=!1;function e(){i||(Settings.saveLocalStorages(),loadInfoFromURL(),i=!0)}S4().then(e),setTimeout(e,1200)})();setStartScreen(!0);he.isMobile&&(Toolbox.selected=null,BarItems.move_tool.select());document.getElementById("page_wrapper").classList.remove("invisible");he.setup_successful=!0;he.Outliner=Outliner;he.OutlinerNode=OutlinerNode;he.OutlinerElement=OutlinerElement;he.Group=Group;he.Cube=Cube;he.Mesh=Mesh;he.Locator=Locator;he.NullObject=NullObject;he.TextureMesh=TextureMesh;he.SplineMesh=SplineMesh;he.Face=Face;he.CubeFace=CubeFace;he.MeshFace=MeshFace;he.BillboardFace=BillboardFace;he.SplineHandle=SplineHandle;he.SplineCurve=SplineCurve;he.NodePreviewController=NodePreviewController;he.Animator=Animator;he.Timeline=Timeline;he.AnimationItem=AnimationItem;he.Animation=Animation;he.AnimationController=AnimationController;he.AnimationControllerState=AnimationControllerState;he.Keyframe=Keyframe;he.KeyframeDataPoint=KeyframeDataPoint;he.BoneAnimator=BoneAnimator;he.NullObjectAnimator=NullObjectAnimator;he.EffectAnimator=EffectAnimator;he.TimelineMarker=TimelineMarker;he.Panel=Panel;he.Mode=Mode;he.Dialog=Dialog;he.ShapelessDialog=ShapelessDialog;he.ToolConfig=ToolConfig;he.InputForm=InputForm;he.Setting=Setting;he.Plugin=Plugin;he.Preview=Preview;he.Toolbar=Toolbar;he.Language=Language;he.Painter=Painter;he.Screencam=Screencam;he.Settings=Settings;he.TextureAnimator=TextureAnimator;he.Toolbox=Toolbox;he.BarItems=BarItems;he.BarItem=BarItem;he.Action=Action;he.Tool=Tool;he.Toggle=Toggle;he.Widget=Widget;he.BarSelect=BarSelect;he.BarSlider=BarSlider;he.BarText=BarText;he.NumSlider=NumSlider;he.ColorPicker=ColorPicker;he.Keybind=Keybind;he.KeybindItem=KeybindItem;he.Menu=Menu;he.BarMenu=BarMenu;he.ResizeLine=ResizeLine;he.ModelProject=ModelProject;he.ModelFormat=ModelFormat;he.Codec=Codec;he.DisplaySlot=DisplaySlot;he.Reusable=Reusable;he.Texture=Texture;he.TextureLayer=TextureLayer;he.SharedActions=SharedActions; /** * @license * Copyright 2010-2022 fik.js Authors * SPDX-License-Identifier: MIT */ /*! jQuery UI - v1.12.1 - 2021-01-11 * http://jqueryui.com * Includes: widget.js, position.js, data.js, disable-selection.js, scroll-parent.js, widgets/draggable.js, widgets/droppable.js, widgets/resizable.js, widgets/selectable.js, widgets/sortable.js, widgets/mouse.js, effect.js, effects/effect-blind.js, effects/effect-bounce.js, effects/effect-clip.js, effects/effect-drop.js, effects/effect-explode.js, effects/effect-fade.js, effects/effect-fold.js, effects/effect-highlight.js, effects/effect-puff.js, effects/effect-pulsate.js, effects/effect-scale.js, effects/effect-shake.js, effects/effect-size.js, effects/effect-slide.js, effects/effect-transfer.js * Copyright jQuery Foundation and other contributors; Licensed MIT */ /*! * jQuery UI Touch Punch 0.2.3 * * Copyright 2011–2014, Dave Furfero * Dual licensed under the MIT or GPL Version 2 licenses. * * Depends: * jquery.ui.widget.js * jquery.ui.mouse.js */ /*! * escape-html * Copyright(c) 2012-2013 TJ Holowaychuk * Copyright(c) 2015 Andreas Lubbe * Copyright(c) 2015 Tiancheng "Timothy" Gu * MIT Licensed */ /*! * is-extendable * * Copyright (c) 2015, Jon Schlinkert. * Licensed under the MIT License. */ /*! LZ-UTF8 v0.5.5 Copyright (c) 2018, Rotem Dan Released under the MIT license. Build date: 2018-07-30 Please report any issue at https://github.com/rotemdan/lzutf8.js/issues */ /*! Bundled license information: jquery/dist/jquery.js: (*! * jQuery JavaScript Library v3.7.1 * https://jquery.com/ * * Copyright OpenJS Foundation and other contributors * Released under the MIT license * https://jquery.org/license * * Date: 2023-08-28T13:37Z *) vue/dist/vue.min.js: (*! * Vue.js v2.7.16 * (c) 2014-2023 Evan You * Released under the MIT License. *) prismjs/prism.js: (** * Prism: Lightweight, robust, elegant syntax highlighting * * @license MIT * @author Lea Verou * @namespace * @public *) sortablejs/modular/sortable.esm.js: (**! * Sortable 1.15.6 * @author RubaXa * @author owenm * @license MIT *) three/build/three.module.js: (** * @license * Copyright 2010-2021 Three.js Authors * SPDX-License-Identifier: MIT *) dompurify/dist/purify.es.mjs: (*! @license DOMPurify 3.4.12 | (c) Cure53 and other contributors | Released under the Apache license 2.0 and Mozilla Public License 2.0 | github.com/cure53/DOMPurify/blob/3.4.12/LICENSE *) */ //# sourceMappingURL=bundle.js.map