# General Configuration

config.yml (default configuration)

```yaml
#########################################################################################################
#                                            WFLY PLUGIN                                                #
#                                                                                                       #
#                                           Documentation :                                             #
#https://wayfly-documentation.gitbook.io/wayfly-wikihttps://wayfly-documentation.gitbook.io/wayfly-wiki #
#                                                                                                       #
#########################################################################################################

# NOTE : If you are using spigot server, you can't use Minimessage, you must use HexaDecimals format
# Example : #FFC77AHello!

version: '1.0.2.5'

mysql:
  enabled: false
  host: localhost
  port: 3306
  database: wfly
  username: root
  password: root

save-database-delay: 300 # in seconds

#see docs for more info
fly-decrement-method: PLAYER_FLY_MODE


#work only if fly-decrement-method is PLAYER_FLYING_MODE
fly-decrement-disabled-by-static: false
delay: 3


format-placeholder:
  seconds: true
  minutes: false
  hours: true
  days: true
  unlimited: "Unlimited" #need permission wfly.infinite.fly
  auto-format: true
  remove-null-values:
    enabled: true
    value: "#FFC77A0seconds"
  format: "#FFC77A%seconds%#FF9D00%seconds_suffixe%#FFC77A%minutes%#FF9D00%minutes_suffixe% #FFC77A%hours%#FF9D00%hours_suffixe% #FFC77A%days%#FF9D00%days_suffixe%"
  other-format:
    seconds_suffixe: "seconds"
    minutes_suffixe: "minutes"
    hours_suffixe: "hours"
    days_suffixe: "days"


command:
  alias:
    - "wfly"
    - "fly"



#conditions: {} if you don't want to use conditions
conditions:
  not-authorized:
    my-first-conditions:
      placeholder: "%multiverse_world_alias%"
      equals: "world" #player can't fly in this world (need multiverse plugin and /papi ecloud download Multiverse)
      commands: "playsound minecraft:entity.enderman.teleport ambient %player% ~ ~ ~ 51000"
  authorized:
    my-seconds-conditions:
      placeholder: "%multiverse_world_alias%"
      equals: "world_nether" #player can fly in this world (need multiverse plugin and /papi ecloud download Multiverse)

# When true, the player will be teleported to the floor when their fly time expires or conditions are not met.
tp-on-floor-when-fly-disabled: true



#This feature is heavily focused on faction servers
#(and if you have any ideas to make this feature more powerful, let me know on my discord)
pvp:
  enabled-permission-range: false
  fly-disable-radius: 5
  bypass:
    placeholders:
      - "%lands_land_name_plain%"  # For example : The plugin checks if the land name around a player is the same.
      # If there are a player that return different of all player(in 10 block around), fly will disable.
      #- "%otherPlaceholder%"  # You can put other placeholder if needed.


decrementation-disable-by-condition:
  - condition: "%player_name%=Wayvi2"


cooldown-give:
  enabled: false # If true, a cooldown is applied after giving fly time before you can give again.
  custom-cooldown:
    enabled: false # If true, allows setting a custom cooldown duration. Both must be enabled to activate.
    cooldown: 5    # Custom cooldown time in seconds.
  limits:
    enabled: true
    give-minimum-value: 5    # Minimum number of seconds a player can give.
    give-maximum-value: 60   # Maximum number of seconds a player can give. Use "INFINITE" for no max limit.



```



## SAVE DATABASE DELAY

You can manage the delay for saving data in database. You can set that here:

```yaml
save-database-delay: 300 # in seconds
```

## FLY DECREMENT METHOD

```yaml
fly-decrement-method: PLAYER_FLY_MODE
```

<table><thead><tr><th>Type </th><th>equals</th></tr></thead><tbody><tr><td><pre><code>PLAYER_FLY_MODE
</code></pre></td><td>Seems player will decremente his fly time when he active his fly.</td></tr><tr><td><pre><code>PLAYER_FLYING_MODE
</code></pre></td><td>Seems player will decremente his fly time when he active his fly AND his flying.</td></tr></tbody></table>

## TP ON FLOOR WHEN FLY DISABLED

```yaml
tp-on-floor-when-fly-disabled: true
```

When true, the player will be teleported to the floor when their flytime expired or conditions are not met.

## FLY DECREMENT DISABLED BY STATIC

Need **PLAYER\_FLYING\_MODE** in the fly-decrement-method.

```yaml
fly-decrement-disabled-by-static: false
delay: 3

```

If true, that will stop decrementing  the fly time after 3 seconds.

## PVP / NEARBY PLAYER PART

### Example with Lands

```yaml
pvp:
  enabled-permission-range: true #you can enable the features if needed
  fly-disable-radius: 5
  bypass:
    placeholders:
      - "%lands_land_name_plain%"  # For example : The plugin checks if the land name around a player is the same.
      # If there are a player that return different of all player(in 10 block around), fly will disable.
      #- "%otherPlaceholder%"  # You can put other placeholder if needed.
```



The `fly-disable-radius: 5` configuration refers to the **minimum radius** (in blocks) around a player where flying is **disabled**.

Here’s how it works:

* If a player is within **5 blocks** (as specified by `fly-disable-radius: 5`) of another player, flying is disabled for the first player.
* Essentially, if there are players within this 5-block radius, the plugin will stop the player from flying.

If you want to increase the radius to a larger value (e.g., 10 blocks), you would set:



```yaml
    placeholders:
      - "%lands_land_name_plain%"  # For example : The plugin checks if the land name around a player is the same.
      # If there are a player that return different of all player(in 10 block around), fly will disable.
      #- "%otherPlaceholder%"  # You can put other placeholder if needed.
```

* This placeholder refers to the **name of the land** or area where the player is located.
* The plugin checks if the land name (the area the player is in) is the **same** for the other players in the nearby area (within the specified radius, e.g., 5 blocks).
* If another player in that radius is in a different land (different land name), then the plugin **disables flying** for the player. This ensures that players can't fly around in different zones unless certain conditions are met.





## ALIAS

```yaml
command:
  alias:
  - "wfly manage"
```

This add /wfly manage to disable/enabled the fly..\


```yaml
command:
  alias:
  - "wfly manage"
  - "wfly other1"
  - "othercommands"
```

You can add more alias like that!
