### Define Emote Badges Source: https://docs.zigythebird.com/emotecraft/creatingemotes Example structure for an emote file containing badges using text components and color hex codes. ```json { "name": "A super cool emote with badges", "bages": [ { "text": "a red badge with regular text", "color": "#ff0000" }, { "translate": "badge.key", "fallback": "Green badge with translatable text", "color": "#00ff00" } ], "emote": {...} } ``` -------------------------------- ### Add NeoForge Dependency Source: https://docs.zigythebird.com/pal/how_to_add_lib_to_mod Include the NeoForge-specific library module in your project. ```groovy implementation "com.zigythebird.playeranim:PlayerAnimationLibNeo:$pal_version" ``` -------------------------------- ### Configure Standard Loop Source: https://docs.zigythebird.com/emotecraft/creatingemotes/looping Restarts the animation from the beginning once it reaches the end. ```json { "loop": true } ``` -------------------------------- ### Configure animation metadata in JSON Source: https://docs.zigythebird.com/emotecraft/creatingemotes/blockbench Use the player_animation_library key within the animation JSON to define custom metadata like name, description, and author. ```json { "format_version": "1.8.0", "animations": { "animation_name": { "player_animation_library": { "name": "My animation", "description": "My first animation", "author": "dima_dencep" }, "bones": {...} } }, "geckolib_format_version": 2 } ``` -------------------------------- ### Add Fabric Dependency Source: https://docs.zigythebird.com/pal/how_to_add_lib_to_mod Include the Fabric-specific library module in your project. ```groovy modImplementation "com.zigythebird.playeranim:PlayerAnimationLibFabric:$pal_version" ``` -------------------------------- ### Add Architectury NeoForge Dependency Source: https://docs.zigythebird.com/pal/how_to_add_lib_to_mod Include the NeoForge-specific library module in your Architectury project. ```groovy modImplementation "com.zigythebird.playeranim:PlayerAnimationLibNeo:$pal_version" ``` -------------------------------- ### Configure Maven Repository Source: https://docs.zigythebird.com/pal/how_to_add_lib_to_mod Add the Redlance repository to your build.gradle file to resolve library dependencies. ```groovy mavenCentral() maven { name = "RedlanceMinecraft" url = "https://repo.redlance.org/public" } ``` -------------------------------- ### Configure Return to Tick Looping Source: https://docs.zigythebird.com/emotecraft/creatingemotes/looping Sets the animation to loop back to a specific time in seconds. Note that the loopTick key overrides the standard loop key. ```json { "loopTick": 0.4 } ``` -------------------------------- ### Add Architectury Common Dependencies Source: https://docs.zigythebird.com/pal/how_to_add_lib_to_mod Include the common library module in your Architectury project's common build script. ```groovy modApi "com.zigythebird.playeranim:PlayerAnimationLibCommon:$pal_version" implementation "com.zigythebird.playeranim:PlayerAnimationLibCommon:$pal_version" ``` -------------------------------- ### Configure Play Once Source: https://docs.zigythebird.com/emotecraft/creatingemotes/looping Disables looping so the animation plays only one time. This is the default behavior if no loop type is defined. ```json { "loop": false } ``` -------------------------------- ### Define PAL Version Property Source: https://docs.zigythebird.com/pal/how_to_add_lib_to_mod Set the PAL version variable in your gradle.properties file using the latest version from the compatibility table. ```properties pal_version = ``` -------------------------------- ### Register an animation layer Source: https://docs.zigythebird.com/pal/how_to_play_animations Registers an animation factory for a specific layer ID with a defined priority. Use lower values for idle animations and higher values for gameplay-critical animations. ```java PlayerAnimationFactory.ANIMATION_DATA_FACTORY.registerFactory(ANIMATION_LAYER_ID, 1000, player -> new PlayerAnimationController(player, (controller, state, animSetter) -> PlayState.STOP ) ); ``` -------------------------------- ### Registering Custom Bones in Animation JSON Source: https://docs.zigythebird.com/emotecraft/creatingemotes/custom_pivot_points Define custom bone pivots and parent-child relationships within the animation JSON structure. ```json "model": { "bone_name": { "pivot": [0, 12, 0] } }, "parents": { "right_arm": "bone_name", "left_arm": "bone_name", "torso": "bone_name", "head": "bone_name" }, ``` -------------------------------- ### Configure Velocity Plugin Message Payload Size Source: https://docs.zigythebird.com/emotecraft/gettingstarted/proxies Increase the maximum plugin message payload size for Velocity by setting the JVM argument to 1 MiB. ```bash -Dvelocity.max-plugin-message-payload-size=1048576 ``` ```bash java -Dvelocity.max-plugin-message-payload-size=1048576 -jar velocity.jar ``` -------------------------------- ### Trigger an animation for a player Source: https://docs.zigythebird.com/pal/how_to_play_animations Retrieves the animation layer for a player and triggers a specific animation by its ID. ```java PlayerAnimationController controller = (PlayerAnimationController) PlayerAnimationAccess.getPlayerAnimationLayer( player, ANIMATION_LAYER_ID); controller.triggerAnimation(animationID); ``` -------------------------------- ### Configure Hold on Last Frame Source: https://docs.zigythebird.com/emotecraft/creatingemotes/looping Pauses the animation on the final frame until it is explicitly cancelled. ```json { "loop": "hold_on_last_frame" } ``` === COMPLETE CONTENT === This response contains all available snippets from this library. No additional content exists. Do not make further requests.