# 재료

## 파일 구조

재료의 기본 구성입니다. 각 파트가 어떤 역할을 하는지 알아봅시다.

```yaml
test_material:
  item: ia:addcook:addcook_material_oil
  sound: item.bucket.empty
  infinite: false
  amount: 1
  return:
    enabled: true
    item: GLASS_BOTTLE
  water:
    enabled: true
    color: '#FCD02C'
  oil:
    enabled: false
    amount: 1
    color: '#F6D129'
```

{% hint style="info" %}
AddCook/contents/materials/ 경로에서 제작 및 수정할 수 있습니다.
{% endhint %}

***

## 아이디

해당 재료를 정의하는 아이디입니다.\
[**AddCook 아이템**](../undefined-4/addcook)을 호출할 때 해당 아이디가 사용됩니다.

```yaml
test_material:
```

***

## 아이템

재료의 본래 아이템을 설정할 수 있습니다.

```yaml
item: ia:addcook:addcook_material_oil
```

***

## 소리

재료 사용 시 재생될 소리를 정합니다.

```yaml
sound: item.bucket.empty
```

***

## 무한

재료를 소모하지 않고 무제한으로 사용할 수 있습니다.

```yaml
infinite: false
```

***

## 개수

재료 사용 시 소모되는 개수를 정할 수 있습니다.

```yaml
amount: 1
```

***

## 반환

재료 사용 시 반환할 아이템을 설정할 수 있습니다.

```yaml
return:
  enabled: true # return 활성화 여부
  item: GLASS_BOTTLE # 반환 아이템
```

***

## 물

재료를 [**냄비**](../../undefined-2/undefined#undefined-4)에 들어가는 [**물**](../../undefined-2/undefined-2#undefined-2)로 설정할 수 있습니다.\
사용 시 물의 색상도 변경할 수 있습니다.

```yaml
water:
  enabled: true # water 활성화 여부
  color: '#FCD02C' # 물 색상 (헥스코드만 가능)
```

***

## 오일

재료를 [**튀김기**](../../undefined-2/undefined#undefined-5)에 들어가는 [**오일**](../../undefined-2/undefined-2#undefined-3)로 설정할 수 있습니다.\
사용 시 튀김기에 차는 오일의 양과 색상을 설정할 수 있습니다.

```yaml
oil:
  enabled: false # oil 활성화 여부
  amount: 1 # 튀김기에 차는 오일의 양
  color: '#F6D129' # 오일 색상 (헥스코드만 가능)
```

***

## 바닐라 아이템

아이디와 아이템 값을 똑같이 설정하면 바닐라 아이템을 재료로 사용할 수 있습니다.

```yaml
WATER_BUCKET: # < 아이디 값과 아이템 값이 똑같아야 함 (소문자로 해도됨)
  item: WATER_BUCKET # < 아이디 값과 아이템 값이 똑같아야 함
  return:
    enabled: true
    item: BUCKET
  water:
    enabled: true
```

***

## 기본 설정

값을 설정하지 않을 시 <mark style="color:yellow;">**설정에 있는 재료의 기본 값을 따릅니다.**</mark>

{% code title="기본 설정" %}
```yaml
material-setting:
  item: PAPER
  sound: item.bucket.empty
  amount: 1
  infinite: false
  return:
    enabled: false
    item: AIR
  water:
    enabled: false
    color: "#3F76E4"
  oil:
    enabled: false
    amount: 1
    color: "#F6D129"
```
{% endcode %}

이런 식으로 값을 입력하지 않은 부분은 기본 설정에서 가져옵니다.

{% code title="값을 설정하지 않았을 때" %}
```yaml
test_material:
  item: ia:addcook:addcook_material_oil
  sound: item.bucket.empty
  # amount는 자동으로 1
  # infinite는 자동으로 false
  # return, water, oil 모두 false
```
{% endcode %}

{% hint style="info" %}
config.yml의 default.material-setting에서 수정할 수 있습니다.
{% endhint %}
