{
	"credit": "Created by FreshLX for Patrix",
	"textureSize": [64, 32],
	"models": [
		{
			"part": "body",
			"id": "body",
			"invertAxis": "xy",
			"translate": [0, -13, -2],
			"submodels": [
				{
					"id": "Created_by_FreshLX_for_Patrix",
					"invertAxis": "xy",
					"translate": [0, 13, 2]
				},
				{
					"id": "rotation",
					"invertAxis": "xy",
					"translate": [0, 7, 0],
					"rotate": [-90, 0, 0],
					"submodels": [
						{
							"id": "body_sub_1",
							"invertAxis": "xy",
							"translate": [0, -2, 6],
							"boxes": [
								{
									"coordinates": [-5, -6, -7, 10, 16, 8],
									"uvNorth": [36, 16, 46, 32],
									"uvEast": [28, 16, 36, 32],
									"uvSouth": [54, 16, 64, 32],
									"uvWest": [46, 16, 54, 32],
									"uvUp": [46, 16, 36, 8],
									"uvDown": [56, 8, 46, 16],
									"sizeAdd": 0.5
								}
							]
						}
					]
				}
			],
			"animations": [
				{
					"var.r": "random(id)*pi*4",
					"var.ls": "limb_swing*if(is_child, 0.65, 1.3)",
					"var.b": "var.r +age/if(is_child, 5, 10)",
					"var.swim": "var.r +age/if(is_child, 1.4, 2.1)",
					"var.run": "clamp(if(limb_speed>=0.68, min(20, var.run +0.1 *frame_time*20), max(0, var.run -0.1 *frame_time*20)), 0, if(is_child, 1.2, 1))",
					"var.walk": "clamp(1-var.run, 0, 1)",
					"var.eatA": "clamp(if(rule_index==3 && between(cos(var.r+age/90)*10, -5, 5) && head_pitch==0 && limb_speed<0.3 || rule_index==2 && between(cos(var.r+age/230)*10, -4, -1) && head_pitch==0 && limb_speed<0.3, min(20, var.eatA +0.1 *frame_time*20), max(0, var.eatA -0.1 *frame_time*20) ), 0, 1)",
					"var.eat": "(0.5-0.5*cos( var.eatA*pi ))"
				},
				{
					"body.rx": "pi/2",
					"body.ty": "17 -6",
					"body.tz": "1 +1",
					"rotation.rx": "if(!is_on_ground&&is_in_water, torad(-10) +sin(var.swim)/10, (-sin(torad(-22.5)+var.ls/1.5)/8)*limb_speed*var.run ) +sin(var.b-torad(90))/60 +if(is_riding, torad(-30), 0) +torad(if(is_child, 5, 10))*var.eat",
					"rotation.ry": "(sin(torad(if(is_ridden, 0, 45))+var.ls)/10*clamp(limb_speed*4, 0, 1))*var.walk",
					"rotation.rz": "(sin(torad(                135 )+var.ls)/40*clamp(limb_speed*4, 0, 1))*var.walk -torad(head_yaw)/5*clamp(1-limb_speed*2, 0, 1)",
					"rotation.tx": "(sin(                            var.ls)/4 *clamp(limb_speed*4, 0, 1))*var.walk*if(is_ridden, -2, 1)",
					"rotation.ty": "if(!is_on_ground&&is_in_water, -sin(torad(45)+var.swim/2)/2, 0 ) -8-7",
					"rotation.tz": "if(!is_on_ground&&is_in_water, -1, (1 +sin(torad(-90)+var.ls/1.5))*limb_speed*var.run +(-clamp(limb_speed*2, 0, 1)/2)*var.walk ) -3.8 +sin(var.b)/6 +if(is_riding, -1.5, 0) -if(is_child, 0, 1)*var.eat"
				}
			]
		},
		{
			"part": "head",
			"id": "head",
			"invertAxis": "xy",
			"translate": [0, -12, 6]
		},
		{
			"part": "leg1",
			"id": "leg1",
			"invertAxis": "xy",
			"translate": [3, 0, -6]
		},
		{
			"part": "leg2",
			"id": "leg2",
			"invertAxis": "xy",
			"translate": [-3, 0, -6]
		},
		{
			"part": "leg3",
			"id": "leg3",
			"invertAxis": "xy",
			"translate": [3, 0, 5.5]
		},
		{
			"part": "leg4",
			"id": "leg4",
			"invertAxis": "xy",
			"translate": [-3, 0, 5.5]
		}
	]
}