From e8ad8940d6c3c156a2c62c5db467f187e1d4a0cc Mon Sep 17 00:00:00 2001 From: tom5454 Date: Sat, 4 Nov 2023 19:00:04 +0100 Subject: [PATCH] 0.6.13a Updated translations (#498, #499) Updated ViveCraft support to 1.1.0 Made Model Properties into a separate gui Added a button to convert a template project to a normal one NeoForge 1.20.2 port Pehkui support on 1.20.2 Fabric Fixed tag editor crash with circular tags (Closes #497) Fixed version check holding up all network actions on malformed version check file Fixed networking bug on 1.20.2 (Closes #504) Fixed CTing visible breaking in the editor Fixed Head Yaw and Pitch animations rotating the head with Play vanilla animations off Fixed iris and ad astra crashing (Closes #506) Fixed Head Yaw locking to one direction with quick movements (Closes #502) Fixed rounding in spinners failing in rare cases and showing an error popup Fixed 1.19.3 fabric not loading (Closes #518) Fixed 1.19.0 fabric not loading Fixed a potential command execution vulnerability with native file choosers on Linux and malicious resource packs Fixed gestures and layers stop working with too many layers (Closes #503) Fixed gesture data desync after model reload (Closes #522) Fixed social settings not showing the correct model if the other player is too far away --- Blockbench/cpm_plugin.js | 14087 ++++++++-------- Blockbench/cpm_plugin.map | 6 +- CustomPlayerModels-1.10/gradle.properties | 2 +- CustomPlayerModels-1.12/gradle.properties | 2 +- CustomPlayerModels-1.14/gradle.properties | 2 +- .../com/tom/cpm/client/NativeImageIO.java | 30 +- CustomPlayerModels-1.15/gradle.properties | 2 +- .../com/tom/cpm/client/NativeImageIO.java | 31 +- .../com/tom/cpm/client/TinyFDChooser.java | 10 +- CustomPlayerModels-1.16/gradle.properties | 2 +- .../com/tom/cpm/client/NativeImageIO.java | 31 +- .../com/tom/cpm/client/TinyFDChooser.java | 10 +- CustomPlayerModels-1.17/build.gradle | 2 +- CustomPlayerModels-1.17/gradle.properties | 2 +- .../com/tom/cpm/client/NativeImageIO.java | 31 +- .../com/tom/cpm/client/TinyFDChooser.java | 10 +- CustomPlayerModels-1.18/build.gradle | 4 +- CustomPlayerModels-1.18/gradle.properties | 2 +- .../java/com/tom/cpm/client/ClientBase.java | 5 +- .../com/tom/cpm/client/NativeImageIO.java | 31 +- .../com/tom/cpm/client/TinyFDChooser.java | 10 +- CustomPlayerModels-1.19.3/build.gradle | 6 +- CustomPlayerModels-1.19.3/gradle.properties | 2 +- .../src/main/resources/cpm.mixins.compat.json | 1 - .../java/com/tom/cpm/client/ClientBase.java | 5 +- .../com/tom/cpm/client/NativeImageIO.java | 31 +- .../com/tom/cpm/client/TinyFDChooser.java | 10 +- .../cpm/client/vr/RedirectHolderVRPlayer.java | 4 +- .../tom/cpm/client/vr/VRPlayerRenderer.java | 4 +- .../compat/VRArmRendererMixin_$vivecraft.java | 4 +- ...VRPlayerModelWithArmsMixin_$vivecraft.java | 27 - .../vivecraft-667903-4409429.tsrg | 27 - .../vivecraft-667903-4790911.tsrg | 6 + CustomPlayerModels-1.19.4/build.gradle | 4 +- CustomPlayerModels-1.19.4/gradle.properties | 2 +- .../java/com/tom/cpm/client/ClientBase.java | 5 +- .../com/tom/cpm/client/NativeImageIO.java | 31 +- .../com/tom/cpm/client/TinyFDChooser.java | 10 +- CustomPlayerModels-1.19/build.gradle | 4 +- CustomPlayerModels-1.19/gradle.properties | 2 +- .../java/com/tom/cpm/client/ClientBase.java | 5 +- .../com/tom/cpm/client/NativeImageIO.java | 31 +- .../com/tom/cpm/client/TinyFDChooser.java | 10 +- CustomPlayerModels-1.20.2/build.gradle | 323 +- CustomPlayerModels-1.20.2/gradle.properties | 57 +- .../gradle/wrapper/gradle-wrapper.properties | 3 +- CustomPlayerModels-1.20.2/settings.gradle | 11 + .../java/com/tom/cpm/CustomPlayerModels.java | 39 +- .../cpm/client/CustomPlayerModelsClient.java | 35 +- .../main/java/com/tom/cpm/client/GuiImpl.java | 5 +- .../java/com/tom/cpm/client/KeyBindings.java | 7 +- .../java/com/tom/cpm/client/Platform.java | 3 +- .../com/tom/cpm/common/ServerHandler.java | 23 +- .../tom/cpm/mixinplugin/MixinModLoaded.java | 2 +- .../resources/META-INF/accesstransformer.cfg | 62 +- .../src/main/resources/META-INF/mods.toml | 37 +- .../src/main/resources/cpm.mixins.compat.json | 4 +- .../src/main/resources/cpm.mixins.json | 1 - .../src/main/resources/pack.mcmeta | 10 +- .../java/com/tom/cpm/client/ClientBase.java | 10 +- .../com/tom/cpm/client/NativeImageIO.java | 31 +- .../com/tom/cpm/client/PlayerProfile.java | 5 +- .../tom/cpm/client/PlayerRenderManager.java | 5 +- .../com/tom/cpm/client/TinyFDChooser.java | 10 +- .../cpm/client/vr/RedirectHolderVRPlayer.java | 67 + .../tom/cpm/client/vr/VRPlayerRenderer.java | 32 + .../com/tom/cpm/common/ByteArrayPayload.java | 9 +- .../cpm/mixin/ClientPacketListenerMixin.java | 11 +- .../compat/VRArmRendererMixin_$vivecraft.java | 66 + CustomPlayerModels-1.20.2/vc.jar | Bin 0 -> 3466 bytes CustomPlayerModels-1.20/build.gradle | 4 +- CustomPlayerModels-1.20/gradle.properties | 2 +- .../java/com/tom/cpm/client/ClientBase.java | 5 +- .../com/tom/cpm/client/NativeImageIO.java | 31 +- .../com/tom/cpm/client/TinyFDChooser.java | 10 +- CustomPlayerModels-1.7/gradle.properties | 2 +- CustomPlayerModels-1.8/gradle.properties | 2 +- CustomPlayerModels-Bukkit/gradle.properties | 2 +- CustomPlayerModels/gradle.properties | 2 +- .../cpl/gui/elements/FileChooserPopup.java | 24 +- .../com/tom/cpl/gui/elements/Spinner.java | 21 +- .../com/tom/cpl/gui/util/StackTagSlot.java | 23 +- .../java/com/tom/cpl/item/Inventory.java | 2 +- .../shared/java/com/tom/cpl/tag/CPMTag.java | 3 +- .../java/com/tom/cpl/tag/TagManager.java | 35 +- .../java/com/tom/cpl/util/AWTChooser.java | 2 +- .../tom/cpl/util/EmbeddedLocalization.java | 63 + .../tom/cpl/util/EmbeddedLocalizations.java | 58 + .../java/com/tom/cpl/util/MarkdownParser.java | 36 +- .../tom/cpm/shared/animation/VanillaPose.java | 2 +- .../definition/ModelDefinitionLoader.java | 1 + .../shared/editor/CopyTransformEffect.java | 2 +- .../com/tom/cpm/shared/editor/Generators.java | 19 +- .../tom/cpm/shared/editor/gui/EditorGui.java | 13 +- .../cpm/shared/editor/gui/ViewportPanel.java | 4 +- .../shared/editor/gui/popup/ExportPopup.java | 5 +- .../shared/editor/gui/popup/NewSkinPopup.java | 2 +- .../editor/gui/popup/ScreenshotPopup.java | 5 +- .../editor/gui/popup/SkinSettingsPopup.java | 9 +- .../shared/editor/tags/EditorTagManager.java | 6 + .../shared/editor/tags/TagEditorPanel.java | 57 +- .../com/tom/cpm/shared/gui/GestureGui.java | 2 +- .../cpm/shared/gui/ModelPropertiesGui.java | 40 + .../tom/cpm/shared/gui/PropertiesPopup.java | 10 +- .../tom/cpm/shared/gui/SelectSkinPopup.java | 5 +- .../tom/cpm/shared/gui/SkinUploadPopup.java | 5 +- .../cpm/shared/gui/panel/ErrorLogPanel.java | 5 +- .../tom/cpm/shared/gui/panel/SocialPanel.java | 1 + .../tom/cpm/shared/network/NetHandler.java | 18 + .../tom/cpm/shared/network/NetworkUtil.java | 11 + .../cpm/shared/network/packet/GestureC2S.java | 2 +- .../network/packet/RequestPlayerC2S.java | 46 + .../com/tom/cpm/shared/util/VersionCheck.java | 8 +- .../resources/assets/cpm/lang/en_ud.json | 8 +- .../resources/assets/cpm/lang/en_ud.lang | 8 +- .../resources/assets/cpm/lang/en_us.json | 8 +- .../resources/assets/cpm/lang/en_us.lang | 8 +- .../resources/assets/cpm/lang/es_ar.json | 30 + .../resources/assets/cpm/lang/es_ar.lang | 30 + .../resources/assets/cpm/lang/es_cl.json | 30 + .../resources/assets/cpm/lang/es_cl.lang | 30 + .../resources/assets/cpm/lang/es_ec.json | 30 + .../resources/assets/cpm/lang/es_ec.lang | 30 + .../resources/assets/cpm/lang/es_es.json | 30 + .../resources/assets/cpm/lang/es_es.lang | 30 + .../resources/assets/cpm/lang/es_mx.json | 30 + .../resources/assets/cpm/lang/es_mx.lang | 30 + .../resources/assets/cpm/lang/es_uy.json | 30 + .../resources/assets/cpm/lang/es_uy.lang | 30 + .../resources/assets/cpm/lang/es_ve.json | 30 + .../resources/assets/cpm/lang/es_ve.lang | 30 + .../resources/assets/cpm/lang/zh_cn.json | 32 +- .../resources/assets/cpm/lang/zh_cn.lang | 32 +- .../assets/cpm/textures/gui/editor.png | Bin 3681 -> 3810 bytes .../assets/cpm/textures/gui/editor.xcf | Bin 29819 -> 31523 bytes .../cpm/wiki/pages/API-documentation.md | 32 +- .../gradle.properties | 2 +- .../gradle.properties | 2 +- .../gradle.properties | 2 +- .../gradle.properties | 2 +- CustomPlayerModelsFabric-1.18/build.gradle | 4 +- .../gradle.properties | 2 +- CustomPlayerModelsFabric-1.19.3/build.gradle | 4 +- .../gradle.properties | 6 +- .../src/main/resources/cpm.mixins.compat.json | 1 - .../src/main/resources/fabric.mod.json | 2 +- CustomPlayerModelsFabric-1.19.4/build.gradle | 4 +- .../gradle.properties | 2 +- CustomPlayerModelsFabric-1.19/build.gradle | 4 +- .../gradle.properties | 2 +- .../src/main/resources/fabric.mod.json | 2 +- CustomPlayerModelsFabric-1.20.2/build.gradle | 9 +- .../gradle.properties | 2 +- .../src/main/resources/cpm.mixins.compat.json | 3 +- .../com/tom/cpm/common/ServerHandler.java | 2 +- CustomPlayerModelsFabric-1.20/build.gradle | 4 +- .../gradle.properties | 2 +- .../build.gradle | 246 + .../gradle.properties | 6 + .../gradle/wrapper/gradle-wrapper.jar | Bin 0 -> 59536 bytes .../gradle/wrapper/gradle-wrapper.properties | 5 + CustomPlayerModelsLexForge-1.20.2/gradlew | 172 + CustomPlayerModelsLexForge-1.20.2/gradlew.bat | 84 + .../java/com/tom/cpm/CustomPlayerModels.java | 110 + .../cpm/client/CustomPlayerModelsClient.java | 142 + .../main/java/com/tom/cpm/client/GuiImpl.java | 35 + .../java/com/tom/cpm/client/KeyBindings.java | 86 + .../java/com/tom/cpm/client/Platform.java | 28 + .../com/tom/cpm/common/PlatformCommon.java | 10 + .../com/tom/cpm/common/ServerHandler.java | 79 + ...ockEntityWithoutLevelRendererMixin_OF.java | 47 + .../com/tom/cpm/mixinplugin/FPMDetector.java | 8 + .../com/tom/cpm/mixinplugin/IrisDetector.java | 8 + .../tom/cpm/mixinplugin/MixinModLoaded.java | 11 + .../resources/META-INF/accesstransformer.cfg | 40 + .../src/main/resources/META-INF/mods.toml | 55 + .../src/main/resources/cpm.mixins.compat.json | 21 + .../src/main/resources/cpm.mixins.json | 28 + .../src/main/resources/fabric.mod.json | 28 + .../src/main/resources/pack.mcmeta | 6 + .../vivecraft-667903-4790948.tsrg | 6 + CustomPlayerModelsQuilt-1.20/build.gradle | 4 +- .../gradle.properties | 2 +- Localization/README.md | 6 +- Localization/en_us.lang | 8 +- Localization/es-base.json | 11 +- Localization/es-base.version | 8 +- Localization/start.json | 8 +- Localization/zh_cn.json | 11 +- Localization/zh_cn.version | 8 +- version-check.json | 183 +- 191 files changed, 10262 insertions(+), 7875 deletions(-) delete mode 100644 CustomPlayerModels-1.19.3/src/platform-shared/java/com/tom/cpm/mixin/compat/VRPlayerModelWithArmsMixin_$vivecraft.java delete mode 100644 CustomPlayerModels-1.19.3/vivecraft-667903-4409429.tsrg create mode 100644 CustomPlayerModels-1.19.3/vivecraft-667903-4790911.tsrg create mode 100644 CustomPlayerModels-1.20.2/settings.gradle create mode 100644 CustomPlayerModels-1.20.2/src/platform-shared/java/com/tom/cpm/client/vr/RedirectHolderVRPlayer.java create mode 100644 CustomPlayerModels-1.20.2/src/platform-shared/java/com/tom/cpm/client/vr/VRPlayerRenderer.java create mode 100644 CustomPlayerModels-1.20.2/src/platform-shared/java/com/tom/cpm/mixin/compat/VRArmRendererMixin_$vivecraft.java create mode 100644 CustomPlayerModels-1.20.2/vc.jar create mode 100644 CustomPlayerModels/src/shared/java/com/tom/cpl/util/EmbeddedLocalization.java create mode 100644 CustomPlayerModels/src/shared/java/com/tom/cpl/util/EmbeddedLocalizations.java create mode 100644 CustomPlayerModels/src/shared/java/com/tom/cpm/shared/gui/ModelPropertiesGui.java create mode 100644 CustomPlayerModels/src/shared/java/com/tom/cpm/shared/network/packet/RequestPlayerC2S.java create mode 100644 CustomPlayerModelsLexForge-1.20.2/build.gradle create mode 100644 CustomPlayerModelsLexForge-1.20.2/gradle.properties create mode 100644 CustomPlayerModelsLexForge-1.20.2/gradle/wrapper/gradle-wrapper.jar create mode 100644 CustomPlayerModelsLexForge-1.20.2/gradle/wrapper/gradle-wrapper.properties create mode 100644 CustomPlayerModelsLexForge-1.20.2/gradlew create mode 100644 CustomPlayerModelsLexForge-1.20.2/gradlew.bat create mode 100644 CustomPlayerModelsLexForge-1.20.2/src/main/java/com/tom/cpm/CustomPlayerModels.java create mode 100644 CustomPlayerModelsLexForge-1.20.2/src/main/java/com/tom/cpm/client/CustomPlayerModelsClient.java create mode 100644 CustomPlayerModelsLexForge-1.20.2/src/main/java/com/tom/cpm/client/GuiImpl.java create mode 100644 CustomPlayerModelsLexForge-1.20.2/src/main/java/com/tom/cpm/client/KeyBindings.java create mode 100644 CustomPlayerModelsLexForge-1.20.2/src/main/java/com/tom/cpm/client/Platform.java create mode 100644 CustomPlayerModelsLexForge-1.20.2/src/main/java/com/tom/cpm/common/PlatformCommon.java create mode 100644 CustomPlayerModelsLexForge-1.20.2/src/main/java/com/tom/cpm/common/ServerHandler.java create mode 100644 CustomPlayerModelsLexForge-1.20.2/src/main/java/com/tom/cpm/mixin/compat/BlockEntityWithoutLevelRendererMixin_OF.java create mode 100644 CustomPlayerModelsLexForge-1.20.2/src/main/java/com/tom/cpm/mixinplugin/FPMDetector.java create mode 100644 CustomPlayerModelsLexForge-1.20.2/src/main/java/com/tom/cpm/mixinplugin/IrisDetector.java create mode 100644 CustomPlayerModelsLexForge-1.20.2/src/main/java/com/tom/cpm/mixinplugin/MixinModLoaded.java create mode 100644 CustomPlayerModelsLexForge-1.20.2/src/main/resources/META-INF/accesstransformer.cfg create mode 100644 CustomPlayerModelsLexForge-1.20.2/src/main/resources/META-INF/mods.toml create mode 100644 CustomPlayerModelsLexForge-1.20.2/src/main/resources/cpm.mixins.compat.json create mode 100644 CustomPlayerModelsLexForge-1.20.2/src/main/resources/cpm.mixins.json create mode 100644 CustomPlayerModelsLexForge-1.20.2/src/main/resources/fabric.mod.json create mode 100644 CustomPlayerModelsLexForge-1.20.2/src/main/resources/pack.mcmeta create mode 100644 CustomPlayerModelsLexForge-1.20.2/vivecraft-667903-4790948.tsrg diff --git a/Blockbench/cpm_plugin.js b/Blockbench/cpm_plugin.js index 49f7bd25..b176a40a 100644 --- a/Blockbench/cpm_plugin.js +++ b/Blockbench/cpm_plugin.js @@ -2,7217 +2,7238 @@ var $wnd = window, $moduleName, $moduleBase; var __ugwt_ctx__ = window.parent; var __ugwt_sourceMap__ = "http://localhost:8000/src/cpmblockbench.map"; -var wRe='object',xRe='boolean',yRe='number',zRe='string',ARe='function',BRe=2147483647,CRe='java.lang',DRe={43:1,3:1},ERe=16384,FRe='ar.com.hjg.pngj',GRe={310:1},HRe={3:1,9:1,10:1,13:1,4:1},IRe='IHDR',JRe='IEND',KRe='IDAT',LRe='fdAT',MRe='unexpected chunk ',NRe='PLTE',ORe='Filter type ',PRe={34:1,3:1},QRe=16777216,RRe={3:1,4:1},SRe={3:1,9:1,4:1},TRe='__noinit__',URe=': ',VRe={3:1,36:1,32:1,15:1},WRe={61:1,3:1,36:1,32:1,15:1},XRe='ar.com.hjg.pngj.chunks',YRe=4096,ZRe=4294967295,$Re={90:1},_Re={90:1,84:1},aSe=100000,bSe='bad chunk ',cSe='only indexed images accept a HIST chunk',dSe='bad IHDR: bitdepth invalid',eSe='Text chunk key must be non empty',fSe='bad chunk length ',gSe=4294967296,hSe=16711680,iSe=65280,jSe={133:1},kSe='java.io',lSe={l:4194303,m:4194303,h:524287},mSe='ar.com.hjg.pngj.pixels',nSe={107:1,3:1},oSe=1024,pSe=0.25,qSe='ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/',rSe='version',sSe='com.atlassian.sourcemap',tSe=', ',uSe='com.google.common.base',vSe='null',wSe='com.google.common.cache',xSe='maximumWeight requires weigher',ySe=1000,zSe={50:1},ASe={68:1,60:1},BSe='java.util',CSe=2954,DSe={68:1,60:1,86:1},ESe={3:1,50:1},FSe={491:1,12:1},GSe={47:1},HSe={185:1,3:1,33:1,20:1},ISe={268:1,47:1},JSe={312:1},KSe='com.google.common.collect',LSe={3:1,68:1,60:1},MSe={3:1,68:1,60:1,38:1,217:1},NSe=1073741824,OSe='com.google.common.io',PSe='Unrecognized character: 0x',QSe={288:1,3:1},RSe={80:1,3:1},SSe={3:1,223:1,15:1},TSe='com.google.common.util.concurrent',USe='com.google.gwt.core.client.impl',VSe='com.google.gwt.core.client',WSe='anonymous',XSe='\n',YSe='fnStack',ZSe='Unknown',$Se={374:1,435:1},_Se='com.google.gwt.i18n.shared',aTe='DefaultDateTimeFormatInfo',bTe='com.google.gwt.i18n.client',cTe=65535,dTe={3:1,9:1,53:1,10:1,4:1,51:1},eTe=4194303,fTe=1048575,gTe=524288,hTe=4194304,iTe=17592186044416,jTe=1000000000,kTe=-17592186044416,lTe='java.util.logging',mTe=-2147483648,nTe='com.google.gwt.logging.client',oTe='com.google.gwt.logging.impl',pTe='com.google.gwt.user.client.impl',qTe='com.google.gwt.useragent.client',rTe=65521,sTe='com.jcraft.jzlib',tTe='need dictionary',uTe={3:1,262:1},vTe=1023,wTe=32767,xTe='invalid distance code',yTe='invalid literal/length code',zTe='incorrect header check',ATe='unknown compression method',BTe=-16777216,CTe='incorrect data check',DTe='Stream closed',ETe=8192,FTe='com.tom.cpl.block',GTe='editorRecentProjects',HTe='com.tom.cpl.config',ITe={12:1},JTe='config',KTe='globalSettings',LTe='safetyProfile',MTe={6:1},NTe='com.tom.cpl.gui',OTe={23:1,16:1},PTe='com.tom.cpl.gui.elements',QTe={23:1,16:1,17:1},RTe='editorEscExit',STe={35:1},TTe={7:1},UTe='button.cpm.copy',VTe='Exception while executing task',WTe='\\',XTe=-65536,YTe={251:1,7:1},ZTe={23:1,24:1,16:1},$Te='editor',_Te={23:1,16:1,17:1,40:1},aUe='\\\\',bUe='button.cpm.ok',cUe='button.cpm.cancel',dUe='label.cpm.confirm',eUe={23:1,16:1,17:1,40:1,6:1},fUe='label.cpm.no_elements',gUe='label.cpm.overwrite',hUe='label.cpm.error',iUe={23:1,16:1,17:1,114:1},jUe='mouseWheelSensitivity',kUe=0.10000000149011612,lUe=0.0010000000474974513,mUe=0.009999999776482582,nUe='error.cpm.unknownError',oUe={23:1,16:1,92:1,496:1},pUe={23:1,16:1,17:1,29:1},qUe='com.tom.cpl.gui.util',rUe={23:1,16:1,483:1},sUe='com.tom.cpl.item',tUe='com.tom.cpl.math',uUe=0.6666666865348816,vUe=3.1415927410125732,wUe=0.017453293005625408,xUe=0.9999999,yUe=57.29577951308232,zUe=-Infinity,AUe='com.tom.cpl.render',BUe={171:1},CUe="Can't init built-in layer",DUe='com.tom.cpl.tag',EUe='args',FUe='com.tom.cpl.text',GUe='text',HUe=2952,IUe={68:1,60:1,38:1},JUe='com.tom.cpl.util',KUe=-16711936,LUe='RIGHT_HAND',MUe='HEAD',NUe=1.100000023841858,OUe=1.2000000476837158,PUe={431:1},QUe={432:1},RUe='skin',SUe='label.cpm.layer_',TUe='button.cpm.tools.add_skin_layer2',UUe='bitmap',VUe='data:image/png;base64,',WUe='assets/cpm/textures/template/',XUe='.png',YUe='action.cpm.add',ZUe='action.cpm.root',$Ue='label.cpm.elem.item.',_Ue='action.cpm.itemHold',aVe='button.cpm.root_group.',bVe='action.cpm.switch',cVe='label.cpm.glow',dVe='label.cpm.hidden_effect',eVe='cpm_animation_wizard',fVe='menu.animation.properties',gVe='input[type=text]',hVe='input',iVe='checkbox',jVe='none',kVe='#keyframe_bar_x > label',lVe='#keyframe_bar_y > label',mVe='#keyframe_bar_z > label',nVe='once',oVe='bb-button.openCPMProject',pVe='icon-player',qVe='file',rVe='bb-button.exportCPMProject',sVe='bb-button.openEmbeddedEditor',tVe='button.cpm.edit.parts',uVe='button.cpm.root_group.itemHoldPos',vVe='button.cpm.root_group.parrots',wVe='cpm_hidden',xVe='bb-button.viewInEmbeddedEditor',yVe='cpm',zVe='bb-button.newAnimation',AVe='com.tom.cpm.blockbench',BVe='CAPE',CVe='ELYTRA',DVe={490:1},EVe='bb-label.error.export',FVe='
',GVe='data:application/octet-binary;base64,',HVe='path',IVe='base64',JVe='loadingBar',KVe='undefined',LVe='browser-window-created',MVe='toolbar=no,location=no,status=no,menubar=no,scrollbars=yes,resizable=yes,width=1280,height=720',NVe='0.6.12_pre1',OVe='filePopup',PVe='web-button.fileManager',QVe='label.cpm.warning',RVe='data',SVe='Error loading project file',TVe='label.cpm.error.load',UVe='com.tom.cpm.web.client',VVe='loop',WVe='bb-label.warn.valueAnimNotLooping',XVe='bb-label.warn.invalidTexture',YVe='anim',ZVe='bb-label.selectRoot',$Ve='label.cpm.elem.',_Ve='bb-label.export.renameGroup',aWe='root',bWe='dup',cWe='bb-label.export.markDuplicateRoot',dWe='_dup',eWe='bb-label.autoFixApplied',fWe='bb-label.autoFix.regroup',gWe='bb-label.warn.unknownRoot',hWe='uuid',iWe='/assets/cpm/textures/template/',jWe='input#rename',kWe='label.cpm.texture.',lWe='bb-label.export.mergeTextureSheets',mWe='bb-label.selectTexture.title',nWe='bb-label.autoFix.renameTexture',oWe='Edit animation properties',pWe='label.cpm.pose.',qWe='bb-label.fixStagedAnim.title',rWe='bb-label.autoFix.stagedAnim',sWe='com.tom.cpm.blockbench.convert',tWe='components',uWe='name',vWe='.json',wWe='priority',xWe='layerDefault',yWe='isProperty',zWe='layerControlled',AWe='frames',BWe='freeLayers',CWe='defaultValues',DWe='anim_enc.json',EWe='pos',FWe='rotation',GWe='color',HWe='show',IWe='scale',JWe='interpolator',KWe='$layer$',LWe='$value$',MWe='$post$',NWe='[^a-zA-Z0-9\\.\\-]',OWe={190:1},PWe='storeID',QWe='anims',RWe='animations/',SWe='com.tom.cpm.shared.editor.project.loaders',TWe='free',UWe=0.05000000074505806,VWe={95:1},WWe={790:1,3:1,9:1,4:1},XWe={189:1,3:1},YWe='position',ZWe='cpm_visibility',$We='cpm_color',_We=0.01,aXe='canvas',bXe='bb-label.error.oldConvertFail',cXe='CPM_data_DO_NOT_EDIT',dXe='hideHeadIfSkull',eXe='removeArmorOffset',fXe='textures',gXe='scaling',hXe='scalingEx',iXe='render_position',jXe='render_rotation',kXe='render_scale',lXe='description.json',mXe='desc',nXe='zoom',oXe='look',pXe='copyProt',qXe='normal',rXe='model',sXe='cpmproject',tXe='Customizable Player Models Project',uXe='.cpmproject',vXe='bb-label.error.import',wXe='bb-label.newAnimation',xXe='bb-label.animationType',yXe='label.cpm.new_anim_',zXe='label.cpm.anim_additive',AXe='label.cpm.anim_layerCtrl',BXe='tooltip.cpm.anim_layerCtrl',CXe='label.cpm.anim_command',DXe='tooltip.cpm.anim_command',EXe='label.cpm.anim_priority',FXe='tooltip.cpm.anim_priority',GXe='label.cpm.anim_order',HXe='tooltip.cpm.anim_order',IXe='label.cpm.anim_is_property',JXe='tooltip.cpm.anim_is_property',KXe='label.cpm.layerGroup',LXe='tooltip.cpm.layerGroup',MXe='label.cpm.defLayerSettings.value',NXe='label.cpm.defLayerSettings.toggle',OXe='type',PXe='add',QXe='com.tom.cpm.blockbench.format',RXe='bb-label.cpmCodecDesc',SXe='<\/p>',TXe='

',UXe='

',VXe='bb-label.cpmInfo.export',WXe='<\/li><\/ul>',XXe='bb-label.cpmInfo.import',YXe=' <\/button><\/p>',ZXe='<\/div>',$Xe='label.cpm.visible',_Xe='label.cpm.recolor',aYe='CPM Animation Type',bYe='cpm_data',cYe='CPM Data',dYe='extrude',eYe='right_hand',fYe='modelId',gYe='bb-label.newCPMProject',hYe='default',iYe='label.cpm.skin_type.',jYe='png',kYe='texture',lYe='catmullrom',mYe='com.tom.cpm.blockbench.proxy',nYe='TEXTURE',oYe='com.tom.cpm.blockbench.util',pYe='bb-label.error.title',qYe='label.cpm.info',rYe='bb-label.pleaseReport',sYe="