<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="en">
	<id>https://wiki.sasgaming.net/index.php?action=history&amp;feed=atom&amp;title=Minecraft%3ACommands%2Fplayanimation</id>
	<title>Minecraft:Commands/playanimation - Revision history</title>
	<link rel="self" type="application/atom+xml" href="https://wiki.sasgaming.net/index.php?action=history&amp;feed=atom&amp;title=Minecraft%3ACommands%2Fplayanimation"/>
	<link rel="alternate" type="text/html" href="https://wiki.sasgaming.net/index.php?title=Minecraft:Commands/playanimation&amp;action=history"/>
	<updated>2026-04-09T06:15:55Z</updated>
	<subtitle>Revision history for this page on the wiki</subtitle>
	<generator>MediaWiki 1.43.8</generator>
	<entry>
		<id>https://wiki.sasgaming.net/index.php?title=Minecraft:Commands/playanimation&amp;diff=49749&amp;oldid=prev</id>
		<title>imported&gt;Die Tiefe: Undo revision 3418275 by 103.252.200.100 (talk) Vandalism</title>
		<link rel="alternate" type="text/html" href="https://wiki.sasgaming.net/index.php?title=Minecraft:Commands/playanimation&amp;diff=49749&amp;oldid=prev"/>
		<updated>2026-02-01T09:32:58Z</updated>

		<summary type="html">&lt;p&gt;Undo revision &lt;a href=&quot;/wiki/Special:Diff/3418275&quot; title=&quot;Special:Diff/3418275&quot;&gt;3418275&lt;/a&gt; by &lt;a href=&quot;/wiki/Special:Contributions/103.252.200.100&quot; title=&quot;Special:Contributions/103.252.200.100&quot;&gt;103.252.200.100&lt;/a&gt; (&lt;a href=&quot;/index.php?title=User_talk:103.252.200.100&amp;amp;action=edit&amp;amp;redlink=1&quot; class=&quot;new&quot; title=&quot;User talk:103.252.200.100 (page does not exist)&quot;&gt;talk&lt;/a&gt;) Vandalism&lt;/p&gt;
&lt;p&gt;&lt;b&gt;New page&lt;/b&gt;&lt;/p&gt;&lt;div&gt;{{exclusive|bedrock|education}}&lt;br /&gt;
{{Infobox command&lt;br /&gt;
|name=playanimation&lt;br /&gt;
|oplevel=1&lt;br /&gt;
|cheat=1&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
Sends an animation request to clients to make one or more [[Minecraft:entities]] play an [[Minecraft:animation]]. This [[Minecraft:command]] has an equivalent function in the script API: [https://learn.microsoft.com/en-us/minecraft/creator/scriptapi/minecraft/server/entity#playanimation Entity.playAnimation].&lt;br /&gt;
&lt;br /&gt;
== Usage ==&lt;br /&gt;
This command only sends an animation request to client sides. The server side doesn&amp;#039;t process the animation at all.&lt;br /&gt;
&lt;br /&gt;
If the target entity is not loaded on the client, the client cannot receive the animation request.&lt;br /&gt;
&lt;br /&gt;
The client processes the request based on the contents of its [[Minecraft:resource packs]], so players using different resource packs in the same [[Minecraft:server]] may see different animations.&lt;br /&gt;
&lt;br /&gt;
=== Animation controller ===&lt;br /&gt;
&lt;br /&gt;
Animation controllers are state-machines. State machines are a special kind of logic management, that relies on a series of states. Each state has three properties:&lt;br /&gt;
* What to do in the current state&lt;br /&gt;
* Transitions&lt;br /&gt;
* The fade-out duration when transitioning to another state&lt;br /&gt;
Each transition has two properties:&lt;br /&gt;
* The target state to transition into&lt;br /&gt;
* The condition to transition into the target state&lt;br /&gt;
A state machine can be in only one state at a time. For example if you play an animation on the animation controller &amp;lt;code&amp;gt;controller.animation.player.root&amp;lt;/code&amp;gt; on a player, then any other player animations such as sneaking, walking, hand moving, swimming, sleeping, jumping etc. won&amp;#039;t play on that player, until this controller returns to a vanilla state. &lt;br /&gt;
&lt;br /&gt;
In an animation controller, there are two types of states:&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;Animation Specified State&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
** Created by &amp;lt;code&amp;gt;/playanimation&amp;lt;/code&amp;gt;.&lt;br /&gt;
** Doesn&amp;#039;t have a name. The &amp;lt;code&amp;gt;animation&amp;lt;/code&amp;gt; is used as the unique identifier of the state.&lt;br /&gt;
** Contains &amp;lt;code&amp;gt;animation&amp;lt;/code&amp;gt; for what to do in the current state, &amp;lt;code&amp;gt;blend_out_time&amp;lt;/code&amp;gt; for fade-out duration, and transitions. Each transition contains a &amp;lt;code&amp;gt;next_state&amp;lt;/code&amp;gt; and a &amp;lt;code&amp;gt;stop_expression&amp;lt;/code&amp;gt;.&lt;br /&gt;
** The transitions are in an ordered list. Transitions added into the list earlier are checked earlier in each tick. So, when there are multiple transitions whose conditions are met, only the one that is added into the list earlier is executed.&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;Resource Pack Defined State&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
** Defined by resource packs.&lt;br /&gt;
** Has a name. Its name is used as the unique identifier of the state.&lt;br /&gt;
** Contains &amp;lt;code&amp;gt;animations&amp;lt;/code&amp;gt; for what to do in the current state, &amp;lt;code&amp;gt;transitions&amp;lt;/code&amp;gt; for the transitions, and &amp;lt;code&amp;gt;blend_transition&amp;lt;/code&amp;gt; for fade-out duration.&lt;br /&gt;
** The transitions are in an ordered list. Transitions at the front of the list are checked earlier in each tick. So, when there are multiple transitions whose conditions are met, only the topmost one is executed.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;/playanimation&amp;lt;/code&amp;gt; command cannot interact with Resource Pack Defined States, except to add a transition (into an Animation Specified State) with &amp;lt;code&amp;gt;next_state&amp;lt;/code&amp;gt; being one of them.&lt;br /&gt;
&lt;br /&gt;
Animation controllers can be defined for an entity type by resource packs with several Resource Pack Defined States (see also [https://learn.microsoft.com/en-us/minecraft/creator/reference/content/animationsreference/examples/animationcontroller official doc]). Animation controllers can also be created by this command as described below. There are also animation controllers in behavior packs running on the server side, but they do not control the animation.&lt;br /&gt;
&lt;br /&gt;
Animation controllers on an entity are not saved and are cleared when the entity becomes unloaded on the client, or when the player leaves and rejoins the game.&lt;br /&gt;
&lt;br /&gt;
Animation controllers on an entity return to their default states when the resource pack is reloaded by minimizing or taping out the client game window, but states in the animation controllers won&amp;#039;t be cleared.&lt;br /&gt;
&lt;br /&gt;
Animation controller &amp;lt;code&amp;gt;controller.animation.player.root&amp;lt;/code&amp;gt; on a player returns to its default state when the player opens the dressing room, but states in the animation controller won&amp;#039;t be cleared.&lt;br /&gt;
&lt;br /&gt;
=== Behavior ===&lt;br /&gt;
When the client receives the request, it first creates the specified animation controller on this entity if not existing. Then, the client adds a new Animation Specified State of the specified &amp;lt;code&amp;gt;animation&amp;lt;/code&amp;gt; into the controller and sets the &amp;lt;code&amp;gt;blend_out_time&amp;lt;/code&amp;gt; of this state. Then adds a transition with the &amp;lt;code&amp;gt;next_state&amp;lt;/code&amp;gt; and the &amp;lt;code&amp;gt;stop_expression&amp;lt;/code&amp;gt; into this state. Finally, it sets the current state of the controller to this new state.&lt;br /&gt;
&lt;br /&gt;
If the specified controller already exists on the targeted entity, and the Animation Specified State of the specified &amp;lt;code&amp;gt;animation&amp;lt;/code&amp;gt; already exists in the controller, when the client receives the request, the &amp;lt;code&amp;gt;blend_out_time&amp;lt;/code&amp;gt; of this Animation Specified State is updated to the new value. And then, if in this state there&amp;#039;s no transition that has the same &amp;lt;code&amp;gt;next_state&amp;lt;/code&amp;gt; and the same &amp;lt;code&amp;gt;stop_expression&amp;lt;/code&amp;gt;, a new transition with the &amp;lt;code&amp;gt;next_state&amp;lt;/code&amp;gt; and the &amp;lt;code&amp;gt;stop_expression&amp;lt;/code&amp;gt; is added into this state. Finally, it sets the current state of the controller to this state.&lt;br /&gt;
&lt;br /&gt;
If specifying an animation controller defined by resource packs, the command work the same as described above. But note that because this command cannot interact with Resource Pack Defined States (except to add a transition with &amp;lt;code&amp;gt;next_state&amp;lt;/code&amp;gt; being one of them), after playing an animation, to make the controller return to a Resource Pack Defined State, you have to make sure an Animation Specified State has a transition with &amp;lt;code&amp;gt;next_state&amp;lt;/code&amp;gt; being a Resource Pack Defined State.&lt;br /&gt;
&lt;br /&gt;
==List of animations==&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; style=&amp;quot;text-align:center;&amp;quot;&lt;br /&gt;
! style=&amp;quot;text-align:left;&amp;quot; | Name&lt;br /&gt;
! style=&amp;quot;text-align:left;&amp;quot; | Description&lt;br /&gt;
! style=&amp;quot;text-align:left;&amp;quot; | Version added&lt;br /&gt;
! style=&amp;quot;text-align:left;&amp;quot; | Stackable&lt;br /&gt;
! style=&amp;quot;text-align:left;&amp;quot; | Needs animation controller&lt;br /&gt;
! style=&amp;quot;text-align:left;&amp;quot; | Possible usage&lt;br /&gt;
! style=&amp;quot;text-align:left;&amp;quot; | Works in EDe&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;text-align:left;&amp;quot; |animation.humanoid.base_pose&lt;br /&gt;
| style=&amp;quot;text-align:left;&amp;quot; |Original animation of humanoid (player)&lt;br /&gt;
! style=&amp;quot;text-align:left;&amp;quot; | &lt;br /&gt;
! style=&amp;quot;text-align:left;&amp;quot; |No&lt;br /&gt;
! style=&amp;quot;text-align:left;&amp;quot; |No&lt;br /&gt;
! style=&amp;quot;text-align:left;&amp;quot; |Reset any animation&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;text-align:left;&amp;quot; |animation.ghast.scale&lt;br /&gt;
| style=&amp;quot;text-align:left;&amp;quot; |Scales body, legs, arms to size of ghast.&lt;br /&gt;
! style=&amp;quot;text-align:left;&amp;quot; | &lt;br /&gt;
! style=&amp;quot;text-align:left;&amp;quot; | Yes&lt;br /&gt;
! style=&amp;quot;text-align:left;&amp;quot; | No&lt;br /&gt;
! style=&amp;quot;text-align:left;&amp;quot; |&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;text-align:left;&amp;quot; |animation.humanoid.riding.legs&lt;br /&gt;
| style=&amp;quot;text-align:left;&amp;quot; |Animation of sitting.&lt;br /&gt;
! style=&amp;quot;text-align:left;&amp;quot; | &lt;br /&gt;
! style=&amp;quot;text-align:left;&amp;quot; | &lt;br /&gt;
! style=&amp;quot;text-align:left;&amp;quot; | &lt;br /&gt;
! style=&amp;quot;text-align:left;&amp;quot; |&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;text-align:left;&amp;quot; |animation.humanoid.celebrating&lt;br /&gt;
| style=&amp;quot;text-align:left;&amp;quot; |This animation plays when pillagers celebrate their victory in raid.&lt;br /&gt;
! style=&amp;quot;text-align:left;&amp;quot; | &lt;br /&gt;
! style=&amp;quot;text-align:left;&amp;quot; | &lt;br /&gt;
! style=&amp;quot;text-align:left;&amp;quot; | &lt;br /&gt;
! style=&amp;quot;text-align:left;&amp;quot; |&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;text-align:left;&amp;quot; |animation.humanoid.big_head&lt;br /&gt;
| style=&amp;quot;text-align:left;&amp;quot; |This just scales your head.&lt;br /&gt;
! style=&amp;quot;text-align:left;&amp;quot; | &lt;br /&gt;
! style=&amp;quot;text-align:left;&amp;quot; | &lt;br /&gt;
! style=&amp;quot;text-align:left;&amp;quot; | &lt;br /&gt;
! style=&amp;quot;text-align:left;&amp;quot; |&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;text-align:left;&amp;quot; |animation.agent.move&lt;br /&gt;
| style=&amp;quot;text-align:left;&amp;quot; |Levitates your body&lt;br /&gt;
! style=&amp;quot;text-align:left;&amp;quot; | &lt;br /&gt;
! style=&amp;quot;text-align:left;&amp;quot; | &lt;br /&gt;
! style=&amp;quot;text-align:left;&amp;quot; | &lt;br /&gt;
! style=&amp;quot;text-align:left;&amp;quot; |&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;text-align:left;&amp;quot; |animation.armor_stand.athena_pose&lt;br /&gt;
| style=&amp;quot;text-align:left;&amp;quot; |&lt;br /&gt;
! style=&amp;quot;text-align:left;&amp;quot; | &lt;br /&gt;
! style=&amp;quot;text-align:left;&amp;quot; | &lt;br /&gt;
! style=&amp;quot;text-align:left;&amp;quot; | &lt;br /&gt;
! style=&amp;quot;text-align:left;&amp;quot; |&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;text-align:left;&amp;quot; |animation.armor_stand.brandish_pose&lt;br /&gt;
| style=&amp;quot;text-align:left;&amp;quot; |&lt;br /&gt;
! style=&amp;quot;text-align:left;&amp;quot; | &lt;br /&gt;
! style=&amp;quot;text-align:left;&amp;quot; | &lt;br /&gt;
! style=&amp;quot;text-align:left;&amp;quot; | &lt;br /&gt;
! style=&amp;quot;text-align:left;&amp;quot; |&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;text-align:left;&amp;quot; |animation.armor_stand.cancan_a_pose&lt;br /&gt;
| style=&amp;quot;text-align:left;&amp;quot; |&lt;br /&gt;
! style=&amp;quot;text-align:left;&amp;quot; | &lt;br /&gt;
! style=&amp;quot;text-align:left;&amp;quot; | &lt;br /&gt;
! style=&amp;quot;text-align:left;&amp;quot; | &lt;br /&gt;
! style=&amp;quot;text-align:left;&amp;quot; |&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;text-align:left;&amp;quot; |animation.camel.walk&lt;br /&gt;
| style=&amp;quot;text-align:left;&amp;quot; |This animation will make your body wobbly&lt;br /&gt;
! style=&amp;quot;text-align:left;&amp;quot; | 1.20&lt;br /&gt;
! style=&amp;quot;text-align:left;&amp;quot; | &lt;br /&gt;
! style=&amp;quot;text-align:left;&amp;quot; | &lt;br /&gt;
! style=&amp;quot;text-align:left;&amp;quot; |&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;text-align:left;&amp;quot; |animation.camel.sit_down&lt;br /&gt;
| style=&amp;quot;text-align:left;&amp;quot; |&lt;br /&gt;
! style=&amp;quot;text-align:left;&amp;quot; | 1.20&lt;br /&gt;
! style=&amp;quot;text-align:left;&amp;quot; | &lt;br /&gt;
! style=&amp;quot;text-align:left;&amp;quot; | &lt;br /&gt;
! style=&amp;quot;text-align:left;&amp;quot; |&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;text-align:left;&amp;quot; |animation.camel.sit&lt;br /&gt;
| style=&amp;quot;text-align:left;&amp;quot; |&lt;br /&gt;
! style=&amp;quot;text-align:left;&amp;quot; | 1.20&lt;br /&gt;
! style=&amp;quot;text-align:left;&amp;quot; | &lt;br /&gt;
! style=&amp;quot;text-align:left;&amp;quot; | &lt;br /&gt;
! style=&amp;quot;text-align:left;&amp;quot; |&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;text-align:left;&amp;quot; |animation.camel.stand_up&lt;br /&gt;
| style=&amp;quot;text-align:left;&amp;quot; |&lt;br /&gt;
! style=&amp;quot;text-align:left;&amp;quot; | 1.20&lt;br /&gt;
! style=&amp;quot;text-align:left;&amp;quot; | &lt;br /&gt;
! style=&amp;quot;text-align:left;&amp;quot; | &lt;br /&gt;
! style=&amp;quot;text-align:left;&amp;quot; |&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;text-align:left;&amp;quot; |animation.camel.dash&lt;br /&gt;
| style=&amp;quot;text-align:left;&amp;quot; |&lt;br /&gt;
! style=&amp;quot;text-align:left;&amp;quot; | 1.20&lt;br /&gt;
! style=&amp;quot;text-align:left;&amp;quot; | &lt;br /&gt;
! style=&amp;quot;text-align:left;&amp;quot; | &lt;br /&gt;
! style=&amp;quot;text-align:left;&amp;quot; |&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;text-align:left;&amp;quot; |animation.sniffer.walk&lt;br /&gt;
| style=&amp;quot;text-align:left;&amp;quot; |&lt;br /&gt;
! style=&amp;quot;text-align:left;&amp;quot; | 1.20&lt;br /&gt;
! style=&amp;quot;text-align:left;&amp;quot; | &lt;br /&gt;
! style=&amp;quot;text-align:left;&amp;quot; | &lt;br /&gt;
! style=&amp;quot;text-align:left;&amp;quot; |&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;text-align:left;&amp;quot; |animation.sniffer.longsniff&lt;br /&gt;
| style=&amp;quot;text-align:left;&amp;quot; |&lt;br /&gt;
! style=&amp;quot;text-align:left;&amp;quot; | 1.20&lt;br /&gt;
! style=&amp;quot;text-align:left;&amp;quot; | &lt;br /&gt;
! style=&amp;quot;text-align:left;&amp;quot; | &lt;br /&gt;
! style=&amp;quot;text-align:left;&amp;quot; |&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;text-align:left;&amp;quot; |animation.sniffer.search&lt;br /&gt;
| style=&amp;quot;text-align:left;&amp;quot; |&lt;br /&gt;
! style=&amp;quot;text-align:left;&amp;quot; | 1.20&lt;br /&gt;
! style=&amp;quot;text-align:left;&amp;quot; | &lt;br /&gt;
! style=&amp;quot;text-align:left;&amp;quot; | &lt;br /&gt;
! style=&amp;quot;text-align:left;&amp;quot; |&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;text-align:left;&amp;quot; |animation.sniffer.dig&lt;br /&gt;
| style=&amp;quot;text-align:left;&amp;quot; |&lt;br /&gt;
! style=&amp;quot;text-align:left;&amp;quot; | 1.20&lt;br /&gt;
! style=&amp;quot;text-align:left;&amp;quot; | &lt;br /&gt;
! style=&amp;quot;text-align:left;&amp;quot; | &lt;br /&gt;
! style=&amp;quot;text-align:left;&amp;quot; |&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;text-align:left;&amp;quot; |animation.sniffer.stand_up&lt;br /&gt;
| style=&amp;quot;text-align:left;&amp;quot; |&lt;br /&gt;
! style=&amp;quot;text-align:left;&amp;quot; | 1.20&lt;br /&gt;
! style=&amp;quot;text-align:left;&amp;quot; | &lt;br /&gt;
! style=&amp;quot;text-align:left;&amp;quot; | &lt;br /&gt;
! style=&amp;quot;text-align:left;&amp;quot; |&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;text-align:left;&amp;quot; |animation.sniffer.feeling_happy&lt;br /&gt;
| style=&amp;quot;text-align:left;&amp;quot; |&lt;br /&gt;
! style=&amp;quot;text-align:left;&amp;quot; | 1.20&lt;br /&gt;
! style=&amp;quot;text-align:left;&amp;quot; | &lt;br /&gt;
! style=&amp;quot;text-align:left;&amp;quot; | &lt;br /&gt;
! style=&amp;quot;text-align:left;&amp;quot; |&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;text-align:left;&amp;quot; |animation.humanoid.tooting_goat_horn&lt;br /&gt;
| style=&amp;quot;text-align:left;&amp;quot; |Animation makes you point right hand.&lt;br /&gt;
! style=&amp;quot;text-align:left;&amp;quot; | 1.20&lt;br /&gt;
! style=&amp;quot;text-align:left;&amp;quot; | &lt;br /&gt;
! style=&amp;quot;text-align:left;&amp;quot; | &lt;br /&gt;
! style=&amp;quot;text-align:left;&amp;quot; | Can be used to point item in your hand, for showing it.&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;text-align:left;&amp;quot; |animation.humanoid.holding_brush&lt;br /&gt;
| style=&amp;quot;text-align:left;&amp;quot; |Makes item in your hand bigger.&lt;br /&gt;
! style=&amp;quot;text-align:left;&amp;quot; | 1.20&lt;br /&gt;
! style=&amp;quot;text-align:left;&amp;quot; | Yes&lt;br /&gt;
! style=&amp;quot;text-align:left;&amp;quot; | &lt;br /&gt;
! style=&amp;quot;text-align:left;&amp;quot; |&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;text-align:left;&amp;quot; |animation.humanoid.brushing&lt;br /&gt;
| style=&amp;quot;text-align:left;&amp;quot; |This animation will make item your holding move like brush.&lt;br /&gt;
! style=&amp;quot;text-align:left;&amp;quot; | 1.20&lt;br /&gt;
! style=&amp;quot;text-align:left;&amp;quot; | &lt;br /&gt;
! style=&amp;quot;text-align:left;&amp;quot; | &lt;br /&gt;
! style=&amp;quot;text-align:left;&amp;quot; |&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;text-align:left;&amp;quot; |animation.armadillo.peek&lt;br /&gt;
| style=&amp;quot;text-align:left;&amp;quot; |Moves your head side to side then dislocates it.&lt;br /&gt;
! style=&amp;quot;text-align:left;&amp;quot; | 1.21&lt;br /&gt;
! style=&amp;quot;text-align:left;&amp;quot; | &lt;br /&gt;
! style=&amp;quot;text-align:left;&amp;quot; | &lt;br /&gt;
! style=&amp;quot;text-align:left;&amp;quot; |&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;text-align:left;&amp;quot; |animation.armadillo.unroll&lt;br /&gt;
| style=&amp;quot;text-align:left;&amp;quot; |&lt;br /&gt;
! style=&amp;quot;text-align:left;&amp;quot; | 1.21&lt;br /&gt;
! style=&amp;quot;text-align:left;&amp;quot; | &lt;br /&gt;
! style=&amp;quot;text-align:left;&amp;quot; | &lt;br /&gt;
! style=&amp;quot;text-align:left;&amp;quot; |&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;text-align:left;&amp;quot; |animation.breeze.idle&lt;br /&gt;
| style=&amp;quot;text-align:left;&amp;quot; |Slowly 1 pixel wide moves your head down and up.&lt;br /&gt;
! style=&amp;quot;text-align:left;&amp;quot; | 1.21&lt;br /&gt;
! style=&amp;quot;text-align:left;&amp;quot; | &lt;br /&gt;
! style=&amp;quot;text-align:left;&amp;quot; | &lt;br /&gt;
! style=&amp;quot;text-align:left;&amp;quot; |&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;text-align:left;&amp;quot; |animation.breeze.jump&lt;br /&gt;
| style=&amp;quot;text-align:left;&amp;quot; |Your body charges then jumps really high.&lt;br /&gt;
! style=&amp;quot;text-align:left;&amp;quot; | 1.21&lt;br /&gt;
! style=&amp;quot;text-align:left;&amp;quot; | &lt;br /&gt;
! style=&amp;quot;text-align:left;&amp;quot; | &lt;br /&gt;
! style=&amp;quot;text-align:left;&amp;quot; |&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;text-align:left;&amp;quot; |animation.breeze.shot&lt;br /&gt;
| style=&amp;quot;text-align:left;&amp;quot; |&lt;br /&gt;
! style=&amp;quot;text-align:left;&amp;quot; | 1.21&lt;br /&gt;
! style=&amp;quot;text-align:left;&amp;quot; | &lt;br /&gt;
! style=&amp;quot;text-align:left;&amp;quot; | &lt;br /&gt;
! style=&amp;quot;text-align:left;&amp;quot; |&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;text-align:left;&amp;quot; |animation.player.holding_heavy_core&lt;br /&gt;
| style=&amp;quot;text-align:left;&amp;quot; |Makes item in your hand smaller.&lt;br /&gt;
! style=&amp;quot;text-align:left;&amp;quot; | 1.21.50&lt;br /&gt;
! style=&amp;quot;text-align:left;&amp;quot; | Yes&lt;br /&gt;
! style=&amp;quot;text-align:left;&amp;quot; | &lt;br /&gt;
! style=&amp;quot;text-align:left;&amp;quot; |&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;text-align:left;&amp;quot; |animation.armor_stand.holding_heavy_core&lt;br /&gt;
| style=&amp;quot;text-align:left;&amp;quot; | Same as animation.player.holding_heavy_core&lt;br /&gt;
! style=&amp;quot;text-align:left;&amp;quot; | 1.21.50&lt;br /&gt;
! style=&amp;quot;text-align:left;&amp;quot; | &lt;br /&gt;
! style=&amp;quot;text-align:left;&amp;quot; | &lt;br /&gt;
! style=&amp;quot;text-align:left;&amp;quot; |&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;text-align:left;&amp;quot; |animation.creaking.walk&lt;br /&gt;
| style=&amp;quot;text-align:left;&amp;quot; |You’ll be twitching when moved.&lt;br /&gt;
! style=&amp;quot;text-align:left;&amp;quot; | 1.21.50&lt;br /&gt;
! style=&amp;quot;text-align:left;&amp;quot; | &lt;br /&gt;
! style=&amp;quot;text-align:left;&amp;quot; | &lt;br /&gt;
! style=&amp;quot;text-align:left;&amp;quot; |&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;text-align:left;&amp;quot; |animation.creaking.attack&lt;br /&gt;
| style=&amp;quot;text-align:left;&amp;quot; |Your body would twitch.&lt;br /&gt;
! style=&amp;quot;text-align:left;&amp;quot; | 1.21.50&lt;br /&gt;
! style=&amp;quot;text-align:left;&amp;quot; | &lt;br /&gt;
! style=&amp;quot;text-align:left;&amp;quot; | &lt;br /&gt;
! style=&amp;quot;text-align:left;&amp;quot; |&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;text-align:left;&amp;quot; |animation.creaking.sway&lt;br /&gt;
| style=&amp;quot;text-align:left;&amp;quot; |Your arm would twitch.&lt;br /&gt;
! style=&amp;quot;text-align:left;&amp;quot; | 1.21.50&lt;br /&gt;
! style=&amp;quot;text-align:left;&amp;quot; | &lt;br /&gt;
! style=&amp;quot;text-align:left;&amp;quot; | &lt;br /&gt;
! style=&amp;quot;text-align:left;&amp;quot; |&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;text-align:left;&amp;quot; |animation.creaking.twitch&lt;br /&gt;
| style=&amp;quot;text-align:left;&amp;quot; |Your player will twitch.&lt;br /&gt;
! style=&amp;quot;text-align:left;&amp;quot; | 1.21.50&lt;br /&gt;
! style=&amp;quot;text-align:left;&amp;quot; | &lt;br /&gt;
! style=&amp;quot;text-align:left;&amp;quot; | &lt;br /&gt;
! style=&amp;quot;text-align:left;&amp;quot; |&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
==Syntax==&lt;br /&gt;
&lt;br /&gt;
:&amp;lt;code&amp;gt;playanimation &amp;lt;entity: target&amp;gt; &amp;lt;animation: string&amp;gt; [next_state: string] [blend_out_time: float] [stop_expression: string] [controller: string]&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Arguments==&lt;br /&gt;
&lt;br /&gt;
{{argument|be=1|entity: target|CommandSelector&amp;lt;Actor&amp;gt;}}&lt;br /&gt;
: Specifies the targeted entities.&lt;br /&gt;
: {{arg desc|be=actor}}&lt;br /&gt;
&lt;br /&gt;
{{argument|be=1|animation: string|basic_string}}&lt;br /&gt;
: Specifies a state (Animation Specified State) by specifying an animation. The state is added into the controller and set as current state of the controller.&lt;br /&gt;
: {{arg desc|be=basic_string}}&lt;br /&gt;
: Should be an [[Minecraft:Animation names|animation name]] (e.g. &amp;lt;code&amp;gt;animation.wolf.angry&amp;lt;/code&amp;gt; for any entity type), or an animation shortcut defined under the Json path &amp;lt;code&amp;gt;&amp;quot;minecraft:client_entity&amp;quot;.&amp;quot;animations&amp;quot;&amp;lt;/code&amp;gt; in the &amp;lt;samp&amp;gt;&amp;lt;a_resource_pack&amp;gt;/entity/&amp;lt;entity_name&amp;gt;.entity.json&amp;lt;/samp&amp;gt; file (e.g. &amp;lt;code&amp;gt;wolf_angry&amp;lt;/code&amp;gt; for only wolf entity). Animation controller shortcuts under this Json path do not work here.&lt;br /&gt;
: Be careful when using animations with &amp;lt;code&amp;gt;.v1.0&amp;lt;/code&amp;gt; at the end because it may be incompatible with the version of current world, this may result in lagging and a possible crash.&lt;br /&gt;
: If the entered string isn&amp;#039;t a valid animation in resource packs, the client does not respond to the animation request at all.&lt;br /&gt;
&lt;br /&gt;
{{argument|be=1|next_state: string|basic_string}}&lt;br /&gt;
: Specifies the &amp;lt;code&amp;gt;next_state&amp;lt;/code&amp;gt; by specifying an animation (of an Animation Specified State) or a name (of a Resource Pack Defined State). Defaults to {{cd|&amp;quot;default&amp;quot;}} if not specified.&lt;br /&gt;
: {{arg desc|be=basic_string}}&lt;br /&gt;
: Can be an animation shortcut defined under the Json path &amp;lt;code&amp;gt;&amp;quot;minecraft:client_entity&amp;quot;.&amp;quot;animations&amp;quot;&amp;lt;/code&amp;gt; in the &amp;lt;samp&amp;gt;&amp;lt;a_resource_pack&amp;gt;/entity/&amp;lt;entity_type&amp;gt;.entity.json&amp;lt;/samp&amp;gt; file (e.g. &amp;lt;code&amp;gt;wolf_angry&amp;lt;/code&amp;gt; for only wolf entity). Animation controller shortcuts under this Json path do not work here. Animation names do not work here.&lt;br /&gt;
: Can also be the name of a Resource Pack Defined State under the Json path &amp;lt;code&amp;gt;&amp;quot;animation_controllers&amp;quot;.&amp;quot;&amp;lt;controller_name&amp;gt;&amp;quot;.&amp;quot;states&amp;quot;&amp;lt;/code&amp;gt; in the &amp;lt;samp&amp;gt;&amp;lt;a_resource_pack&amp;gt;/animation_controllers/&amp;lt;entity_type&amp;gt;.animation_controller.json&amp;lt;/samp&amp;gt; file.&lt;br /&gt;
: If a Resource Pack Defined State and an animation shortcut have the same name, the next state becomes an Animation Specified State that plays both animations in the Resource Pack Defined State and the animation from shortcut.&lt;br /&gt;
: If the entered string is a valid animation shortcut, but there&amp;#039;s no such an Animation Specified State in the controller, the controller can still transition into this non-existent state and be stuck there. It cannot transition into other states, until this state is created into this controller by another &amp;lt;code&amp;gt;/playanimation&amp;lt;/code&amp;gt; command, or the controller is changed into another state by &amp;lt;code&amp;gt;/playanimation&amp;lt;/code&amp;gt; command.&lt;br /&gt;
: If the entered string isn&amp;#039;t a valid animation shortcut or a valid Resource Pack Defined State name, the next state becomes an Animation Specified State that plays no animation.&lt;br /&gt;
&lt;br /&gt;
{{argument|be=1|blend_out_time: float|float}}&lt;br /&gt;
: Specifies the duration of the fade-out when the state transitions into another state. Defaults to 0 if not specified.&lt;br /&gt;
: {{arg desc|be=float}}&lt;br /&gt;
&lt;br /&gt;
{{argument|be=1|stop_expression: string|basic_string}}&lt;br /&gt;
: Specifies the conditions for transitioning into the next state.&lt;br /&gt;
: {{arg desc|be=basic_string}}&lt;br /&gt;
: Should be a [[Minecraft:Molang|Molang expression]]. Defaults to {{cd|query.any_animation_finished}} if not specified.&lt;br /&gt;
: For example, if you want the animation to end when the player starts sneaking: &amp;lt;code&amp;gt;&amp;quot;query.is_sneaking&amp;quot;&amp;lt;/code&amp;gt; or &amp;lt;code&amp;gt;&amp;quot;return query.is_sneaking;&amp;quot;&amp;lt;/code&amp;gt;.&lt;br /&gt;
: For another example, after running the following two commands, when the player jumps, it quickly switches between the two animations:&lt;br /&gt;
:* &amp;lt;code&amp;gt;/playanimation @a riding.legs riding.arms 0 query.is_jumping &amp;#039;&amp;#039;controller_name&amp;#039;&amp;#039;&amp;lt;/code&amp;gt;&lt;br /&gt;
:* &amp;lt;code&amp;gt;/playanimation @a riding.arms riding.legs 0 query.is_jumping &amp;#039;&amp;#039;controller_name&amp;#039;&amp;#039;&amp;lt;/code&amp;gt;&lt;br /&gt;
:Since this Molang expression is executed every tick when the controller is in this state (the Animation Specified State specified by the &amp;lt;code&amp;gt;animation: string&amp;lt;/code&amp;gt;), this can also be used to set entity Molang variables. An example of this is that using &amp;lt;code&amp;gt;&amp;quot;variable.test_variable = 1234; return 0;&amp;quot;&amp;lt;/code&amp;gt; sets the Molang variable &amp;lt;code&amp;gt;variable.test_variable&amp;lt;/code&amp;gt; to 1234. It is possible to set multiple Molang variables at once with this, an example of that is &amp;lt;code&amp;gt;&amp;quot;variable.test_variable_a = 1234; variable.test_variable_b = -9876; return 0;&amp;quot;&amp;lt;/code&amp;gt;. If you set multiple variables, each one needs to be separated by a semicolon (;). This can be useful for animations that require certain entity Molang variables to be set in order to work and function properly.&lt;br /&gt;
: Note: When setting the entity Molang variables, &amp;lt;code&amp;gt;return 0;&amp;lt;/code&amp;gt; is used to make the controller stuck in the state, which can be omitted because complex Molang expressions return 0 by default when there&amp;#039;s no &amp;lt;code&amp;gt;return&amp;lt;/code&amp;gt; expression, e.g. &amp;lt;code&amp;gt;&amp;quot;variable.variable_name = value;&amp;quot;&amp;lt;/code&amp;gt;. But the semicolon right after the value is required, or else it just produces a content log error. Another important thing to note is that this is client-side only, meaning that the variables are only set for clients who has the entity loaded when the command was run, and the variables reset when the entity is unloaded from the client. Also, it is important to pay attention to the checking order between multiple transitions as [[#Animation controller|described above]]. Also note that a transition that has the same &amp;lt;code&amp;gt;next_state&amp;lt;/code&amp;gt; and the same &amp;lt;code&amp;gt;stop_expression&amp;lt;/code&amp;gt; with an existing transition cannot be added into the transitions list as [[#Behavior|described above]], but adding some spaces into &amp;lt;code&amp;gt;stop_expression&amp;lt;/code&amp;gt; can avoid this. Also, the animation specified in the &amp;lt;code&amp;gt;animation: string&amp;lt;/code&amp;gt; must be a valid animation in order for setting the Molang variables to work.&lt;br /&gt;
&lt;br /&gt;
{{argument|be=1|controller: string|basic_string}}&lt;br /&gt;
: Specifies a controller on the target entity. Defaults to {{cd|&amp;quot;__runtime_controller&amp;quot;}} if not specified.&lt;br /&gt;
:{{arg desc|be=basic_string}}&lt;br /&gt;
:Can be any string, or an animation controller from a resource pack defined under the Json object &amp;lt;code&amp;gt;&amp;quot;animation_controllers&amp;quot;&amp;lt;/code&amp;gt; in the &amp;lt;samp&amp;gt;&amp;lt;a_resource_pack&amp;gt;/animation_controllers/&amp;lt;entity_type&amp;gt;.animation_controller.json&amp;lt;/samp&amp;gt; file.&lt;br /&gt;
&lt;br /&gt;
==Result==&lt;br /&gt;
&lt;br /&gt;
{{Result table|onlybe=1}}&lt;br /&gt;
{{Result table|the arguments are not specified correctly||unparseable}}&lt;br /&gt;
{{Result table|if &amp;lt;code&amp;gt;entity: target&amp;lt;/code&amp;gt; fails to resolve to one or more online entities (named players must be online)||fail}}&lt;br /&gt;
{{Result table|succeed}}&lt;br /&gt;
{{Result table}}&lt;br /&gt;
&lt;br /&gt;
==Output==&lt;br /&gt;
&lt;br /&gt;
{{Output table|onlybe=1}}&lt;br /&gt;
{{Output table|edition=be|On fail|0}}&lt;br /&gt;
{{Output table|On success|1}}&lt;br /&gt;
{{Output table}}&lt;br /&gt;
&lt;br /&gt;
==Example==&lt;br /&gt;
&lt;br /&gt;
To make piglin brutes perform a &amp;quot;victory dance&amp;quot;: &lt;br /&gt;
:{{Cd|code=/playanimation @e[type=piglin_brute] animation.piglin.celebrate_hunt_special a 0}}&lt;br /&gt;
To make the foxes sit down until they leave the ground. Once leaving the ground, the foxes become in sleep state:&lt;br /&gt;
:&amp;lt;code&amp;gt;/playanimation @e[type=fox] sit sleep 0 &amp;quot;!query.is_on_ground&amp;quot; &amp;#039;&amp;#039;controller_name&amp;#039;&amp;#039;&amp;lt;/code&amp;gt;&lt;br /&gt;
:Or:&lt;br /&gt;
:&amp;lt;code&amp;gt;/playanimation @e[type=fox] sit sleep 0 &amp;quot;query.is_on_ground == 0.0&amp;quot; &amp;#039;&amp;#039;controller_name&amp;#039;&amp;#039;&amp;lt;/code&amp;gt;&lt;br /&gt;
To make a very large entity (change the last value to something else and rerun to make it even bigger):&lt;br /&gt;
:&amp;lt;code&amp;gt;/playanimation @s animation.ghast.scale a 0 false la&amp;lt;/code&amp;gt;&lt;br /&gt;
To make a player sit down until they move:&lt;br /&gt;
:&amp;lt;code&amp;gt;/playanimation @a animation.player.riding.legs a 0 query.is_moving &amp;#039;&amp;#039;controller_name&amp;#039;&amp;#039;&amp;lt;/code&amp;gt;&lt;br /&gt;
To make a player&amp;#039;s legs flip upside down into their body until they jump:&lt;br /&gt;
:&amp;lt;code&amp;gt;/playanimation @a animation.player.move.legs.inverted a 0 query.is_jumping &amp;#039;&amp;#039;controller_name&amp;#039;&amp;#039;&amp;lt;/code&amp;gt;&lt;br /&gt;
To make a player&amp;#039;s body freeze and stop all player animations from playing on that player (Note: the animation controller has to be &amp;lt;code&amp;gt;controller.animation.player.root&amp;lt;/code&amp;gt; for this to work):&lt;br /&gt;
:&amp;lt;code&amp;gt;/playanimation @s sleeping a 0 true controller.animation.player.root&amp;lt;/code&amp;gt;&lt;br /&gt;
To make the player upside down (&amp;#039;&amp;#039;run the previous command first&amp;#039;&amp;#039;):&lt;br /&gt;
:#&amp;lt;code&amp;gt;/playanimation @s animation.player.base_pose.upside_down a 0 false a&amp;lt;/code&amp;gt;&lt;br /&gt;
:#&amp;lt;code&amp;gt;/playanimation @s animation.player.move.legs.inverted a 0 false b&amp;lt;/code&amp;gt;&lt;br /&gt;
:#&amp;lt;code&amp;gt;/playanimation @s animation.player.holding a 0 false c&amp;lt;/code&amp;gt;&lt;br /&gt;
:#&amp;lt;code&amp;gt;/playanimation @s animation.player.bob a 0 false d&amp;lt;/code&amp;gt;&lt;br /&gt;
:#&amp;lt;code&amp;gt;/playanimation @s animation.player.look_at_target.inverted a 0 false e&amp;lt;/code&amp;gt;&lt;br /&gt;
:#&amp;lt;code&amp;gt;/playanimation @s animation.player.move.arms a 0 false f&amp;lt;/code&amp;gt;&lt;br /&gt;
:#&amp;lt;code&amp;gt;/playanimation @s animation.player.attack.positions a 0 false g&amp;lt;/code&amp;gt;&lt;br /&gt;
:#&amp;lt;code&amp;gt;/playanimation @s animation.player.attack.rotations a 0 false h&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==History==&lt;br /&gt;
&lt;br /&gt;
{{HistoryTable&lt;br /&gt;
|{{HistoryLine|bedrock}}&lt;br /&gt;
|{{HistoryLine||1.16.100|dev=beta 1.16.100.52|Added {{cmd|playanimation|link=none}}.}}&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
== External links ==&lt;br /&gt;
&lt;br /&gt;
* {{Cite|url=https://learn.microsoft.com/en-us/minecraft/creator/commands/commands/playanimation?view=minecraft-bedrock-stable|title=&amp;lt;code&amp;gt;/playanimation&amp;lt;/code&amp;gt; Command|website=Microsoft Learn|date=October 11, 2023}}&lt;br /&gt;
&lt;br /&gt;
== Navigation ==&lt;br /&gt;
{{Navbox commands}}&lt;br /&gt;
&lt;br /&gt;
[[Minecraft:de:Befehl/playanimation]]&lt;br /&gt;
[[Minecraft:ja:コマンド/playanimation]]&lt;br /&gt;
[[Minecraft:pt:Comandos/playanimation]]&lt;br /&gt;
[[Minecraft:ru:Команды консоли/playanimation]]&lt;br /&gt;
[[Minecraft:zh:命令/playanimation]]&lt;/div&gt;</summary>
		<author><name>imported&gt;Die Tiefe</name></author>
	</entry>
</feed>