# Conversation Entities Properties

## Name

This is the name of the NPC that will show in chat. You can add the `{centered}` variable before the name to make the text centered.

{% tabs %}
{% tab title="Example 1" %}

```yaml
name: '&a&lGuard'
```

{% endtab %}

{% tab title="Example 2" %}

```yaml
name: '{centered}&a&lGuard'
```

{% endtab %}
{% endtabs %}

## Starting Points

Conversations should start with an NPC or entity. You need to use the following format.

`1) NPC with id <id>`

`2) <entity> named <name>`

{% hint style="info" %}
The \<name> value is the custom name of the entity. If you have a Zombie called "Bob", then this is the name. Don't use color codes.
{% endhint %}

{% hint style="info" %}
If you want to start a conversation without using a Citizens/FancyNpcs NPC, and instead, a Minecraft entity, replace the \<entity> value with an EntityType from this link: <https://hub.spigotmc.org/javadocs/bukkit/org/bukkit/entity/EntityType.html>
{% endhint %}

{% hint style="info" %}
If you are starting a conversation using the `/interactions start` command, you don't need to add a starting point.
{% endhint %}

{% tabs %}
{% tab title="Example 1" %}

```yaml
starts_with:
- NPC with id 10
- NPC with id 17
```

This will start the conversation when a player right clicks a Citizens NPC with id "10" or "17".
{% endtab %}

{% tab title="Example 2" %}

```yaml
starts_with:
- NPC with id teleporter_1
```

This will start the conversation when a player right clicks a FancyNpcs NPC with id "teleporter\_1".
{% endtab %}

{% tab title="Example 3" %}

```yaml
starts_with:
- SKELETON named Teleporter
```

This will start the conversation when a player right clicks a Skeleton with the name "Teleporter"
{% endtab %}
{% endtabs %}

## Conversation Radius

#### Start conversation radius

The radius of blocks a player must be near the NPC to automatically start the conversation. Set it \
to 0 to ignore this option and prevent the conversation to start automatically.

#### End conversation radius

The radius of blocks a player must be away from the NPC to automatically leave/end the conversation. You can set it to 0 to ignore this option but it is recommended always setting it to a higher value to prevent bugs.

```yaml
start_conversation_radius: 5
end_conversation_radius: 5
```

## Slow Effect

When enabled, this will create a "zoom effect" when talking to the NPC.

```yaml
slow_effect: true
```

## Block Movement

Whether the player movement should be cancelled when talking to this NPC.

```yaml
block_movement: true
```

## Block Rotation

Whether the player rotation should be cancelled when talking to this NPC.

```yaml
block_rotation: false
```

{% hint style="warning" %}
Requires `block_movement` to be enabled.
{% endhint %}

{% hint style="warning" %}
Only works for `block_movement_mode` option set to **NORMAL** or **NEW** in the config
{% endhint %}

## Can Be Started on Air

Whether the player can start the conversation while not on the ground.

```yaml
can_be_started_on_air: false
```

## Save Conversation Progress

When enabled, if the player leaves the server or the server is closed while talking to an NPC, the progress of the conversation will be saved for the next time they join.

```yaml
save_conversation_progress: true
```

## Requires Permission

When enabled, players will need the `interactions.start.<conversation>` permission to speak with the NPC. You can also add an option where you can specify a unique permission error message for each NPC conversation. If you don't set the custom permission message, the default one from messages.yml will be used.

```yaml
requires_permission: true
custom_permission_message: "&cYou need to be level 20 to start this conversation."
```

## Cooldown

Defines the amount of seconds the player must wait before talking to the NPC again. If you don't want a cooldown set it to 0 or delete the option.

```yaml
cooldown: 3600
```

## Hologram Dialogues

Allows the display of holograms above the NPC on each conversation dialogue.

{% hint style="info" %}
Requires a compatible hologram plugin mentioned in [#requirements](https://ajneb97.gitbook.io/interactions/how-to-start#requirements "mention")
{% endhint %}

```yaml
hologram_dialogues:
  # Whether holograms should be enabled or not.
  enabled: false
  
  # The height of the hologram.
  offset_y: 2.7
  
  # Modification on the horizontal position of the hologram
  # Negative values = left, and positive values = right (from the
  # original location).
  offset_horizontal: -1.5
```

## Conversations

It refers to the multiple conversations this entity can have. Click [HERE](https://ajneb97.gitbook.io/interactions/conversation-properties) for Conversations properties.

```yaml
conversation:
    conversation1:
    ...
    conversation2:
    ...
```
