# Config.yml File

You can modify different options in the config.yml file of the plugin, here you will find information about all of these options.

```yaml
# Set to false if you don't want OP players to receive notifications
# of plugin updates in chat when joining the server.
update_notification: true

# This option defines the time (in seconds) to automatically save player data.
data_auto_save_time: 600

# If players will be able to use the chat or write commands
# while in a conversation or not.
allow_chat_while_in_conversation: false
allow_commands_while_in_conversation: false

# If players will be able to use their inventory while in
# a conversation.
allow_inventory_interact_while_in_conversation: true

# When is set to false, mobs will not target and attack players
# inside a conversation.
allow_mob_damage: false

# This option defines how players need to click on an NPC
# to start a conversation.
# RIGHT_CLICK = Just right clicking the NPC.
# SHIFT_RIGHT_CLICK = Right clicking the NPC while sneaking.
# ALL_RIGHT_CLICK = Both will work.
# SWAP_HAND_CLICK = Pressing the swap hand key (F) by looking at the NPC. This
# option only works on 1.9+.
conversation_start_click_type: RIGHT_CLICK

# This option defines which messages do you want to block for
# players in a conversation.
# NONE = No messages are blocked
# CHAT = Only player chat messages are blocked
# ALL = All messages in chat are blocked, including the ones from other
# plugins, announcements, join/leave messages, etc... (Requires ProtocolLib)
hide_chat_while_in_conversation_type: NONE

# Only works when you set hide_chat_while_in_conversation_type to ALL.
# If you are having issues to hide and send back messages, enable this option.
hide_chat_while_in_conversation_compatibility_mode: false

# When this option is enabled and hide_chat_while_in_conversation_type
# is set to ALL, all blocked/hidden messages will be sent again to the
# player when the conversation ends.
send_back_hidden_chat: true

# If allow_commands_while_in_conversation option is set to false
# these commands will be allowed.
commands_whitelist:
    - "/login"
    - "/help"

# Set it to true if you want players to be able to click on the
# options in the chat to continue with the dialogue.
clickable_options: true

# Defines how to block the movement when a player is on a conversation.
# NORMAL = The default mode. When selectable_options is enabled, players may
#   experience some small annoying movements when selecting an option.
# PROTOCOLLIB = Completely blocks the movement. Requires ProtocolLib. Players will
#   see themselves mounted on an invisible entity but other players will not!
# NEW = Completely blocks the movement. Only works on 1.21.4+. Recommended.
block_movement_mode: NORMAL

# Selectable options properties.
selectable_options:
    # When this option is set to true, players will need to move or
    # use the mouse scroll wheel to select and option.
    # You can find a gif example on the main page (Interactions Wiki).
    # INFO: Selectable options will be only enabled if the conversation
    # has the block_movement option enabled.
    enabled: true

    # Defines the mode of selecting options.
    # MOVE = Players will need to use 'W' and 'S' keys to choose an option.
    # SCROLL = Players will need to use the mouse scroll wheel to choose an option.
    mode: MOVE

    # Here you can define the action the player need to use to select
    # a conversation option.
    # It could be SNEAK or JUMP.
    action: SNEAK

    # When this option is set to true, moving forward in the last option
    # will return to the first option, and moving backwards in the first option
    # will return to the last option.
    restart_on_overflow: true
    
    # The cooldown between changing options, in milliseconds.
    scroll_cooldown: 200

# If block_movement_mode is set to PROTOCOLLIB and block movement is enabled,
# for a conversation, this option applies a fix on the Y coordinate value when
# the player is mounted on the invisible entity.
protocollib_mount_height_fix: -1.5

# If block_movement is enabled for a conversation, defines what happens
# if the player tries to start a conversation while mounted.
# BLOCK = The player will not be able to start the conversation while mounted.
# UNMOUNT = The player will be automatically unmounted.
player_mount: BLOCK

# Set this option to false if you want to disable the empty messages
# in conversations. (messages used to separate dialogues and options)
use_empty_spaces: true

# Enables or disables the Action Bar feature.
action_bar: false

# When enabled, players will be able to skip dialogues clicking again
# on the NPC.
skip_dialogue_on_npc_click: false

# New system that allow dialogues to be written instead of showing
# instantly, which make the conversation more realistic.
write_dialogues:
    # Whether this system should be enabled or not
    enabled: false

    # 1 Mode available for now.
    # CHARACTER = Writes characters 1 by 1.
    # WORD = Writes words 1 by 1
    mode: WORD

    # The delay between each written character.
    delay: 2

# Enables or disables the Boss Bar feature.
# Only works on 1.9+
boss_bar:
    # If is set to true, players will see a boss bar while in a conversation
    # Set it to false if you don't want a boss bar.
    enabled: true

    # Color of the boss bar. Use colors from the following link:
    # https://hub.spigotmc.org/javadocs/spigot/org/bukkit/boss/BarColor.html
    color: BLUE

    # Style of the boss bar. Use styles from the following link:
    # https://hub.spigotmc.org/javadocs/spigot/org/bukkit/boss/BarStyle.html
    style: SEGMENTED_10

    # If this option is set to true, the boss bar status will change
    # when the dialogue progresses.
    change_progress_with_time: false

# Defines if every message/text in the plugin should use the MiniMessage format.
# Only works on Paper 1.19.4+.
use_minimessage: false

# Here you can specify the default values of the new conversation entities,
# conversations, dialogues and options.
default_values:

```


---

# Agent Instructions: Querying This Documentation

If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter:

```
GET https://ajneb97.gitbook.io/interactions/config.yml-file.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
