# Harbor - Sleep mechanics enhancement plugin
# An open-source project by TechToolbox (@nkomarn)
# https://github.com/nkomarn/Harbor

# Important note regarding Essentials:
# Please make sure you negate the permission "essentials.sleepingignored" to
# prevent issues with Harbor and server operators when running Essentials.

night-skip:
  enabled: true # Skip the night if a percentage of the players in a world are sleeping
  percentage: 50 # Percentage of players required to be sleeping to skip the night (0 - 100)
  time-rate: 20 # The amount of ticks added to the current time every tick when skipping the night
  daytime-ticks: 1100 # The time in ticks that Harbor considers day
  instant-skip: false # Instantly skip the night when the percentage threshold is reached instead of showing the full animation
  proportional-acceleration: true # Increase the night skipping speed based on the amount of sleeping players
  clear-rain: true # Clear rain (if it's raining) when the night is skipped
  clear-thunder: true # Clear thunder (if it's thundering) when the night is skipped
  reset-phantom-statistic: true # Treats everyone online as if they have slept in the last 3 days after the night is skipped (check out /gamerule doInsomnia on 1.15+)

exclusions:
  ignored-permission: true # Exclude players with the permission "harbor.ignored" from the sleeping count
  exclude-adventure: true # Exclude players in adventure mode from the sleeping count
  exclude-creative: true # Exclude players in creative mode from the sleeping count
  exclude-spectator: true # Exclude players in spectator mode from the sleeping count
  exclude-vanished: true # Exclude vanished players from the sleeping count

# Detect AFK players and automatically remove them from the required sleeping count
# Essentials API is used for AFK detection when available- otherwise a fallback system is used
afk-detection:
  enabled: true
  timeout: 15 # Time in minutes until a player is considered AFK

# Blacklist for worlds- Harbor will ignore these worlds
blacklisted-worlds:
  - "world_nether"
  - "world_the_end"
whitelist-mode: false # Will treat the above list as a whitelist instead of a blacklist

messages:
  chat:
    enabled: true
    message-cooldown: 5 # The amount of time in seconds before a player can send another bed enter or leave message
    player-sleeping: "&e[player] is now sleeping ([sleeping]/[needed], [more] more needed to skip)."
    player-left-bed: "&e[player] got out of bed ([sleeping]/[needed], [more] more needed to skip)."
    night-skipping:
      - "&eAccelerating the night."
      - "&eRapidly approaching daytime."
    night-skipped:
      - "&eThe night has been skipped."
      - "&eAhhh, finally morning."
      - "&eArghh, it's so bright outside."
      - "&eRise and shine."
  actionbar:
    enabled: true
    players-sleeping: "&e[sleeping] out of [needed] players are sleeping ([more] more needed to skip)"
    night-skipping: "&eEveryone is sleeping- sweet dreams!"
  bossbar:
    enabled: true
    players-sleeping:
      message: "&f&l[sleeping] out of [needed] are sleeping &7&l([more] more needed)"
      color: BLUE
    night-skipping:
      message: "&f&lEveryone is sleeping. Sweet dreams!"
      color: GREEN
  miscellaneous:
    chat-prefix: "&8&l(&6&lHarbor&8&l)&f "
    unrecognized-command: "Unrecognized command."

# Spooky internal controls
version: 1.6.3
interval: 1
metrics: true
debug: false
