Harbor - A Sleep Enhancement Plugin! 1.6.1

Harbor is a plugin that redefines sleep within your Spigot server!

  1. TechToolbox
    Native Minecraft Version:
    Tested Minecraft Versions:
    • 1.14
    • 1.15
    • 1.16
    Source Code:
    Ahoy, matey! Harbor is a Spigot plugin that redefines how sleep works in your server, making it easier for all the online players to get in bed quick and skip through the night!


    NOTE: When updating to version 1.6, your previous configuration files WILL NOT work.
    Harbor is designed to encourage players to sleep! It works best when installed in a survival SMP server, making it easier for players to skip the night and prevent Phantom attacks! Oh, it also does these things:

    - The night can be smoothly skipped if a percentage of players are sleeping (customizable percentage in configuration)
    - A counter of currently sleeping players is displayed to encourage other players to sleep.
    - Players are notified in the chat or action bar if someone is sleeping.
    - Players with the "harbor.bypass" permission can be excluded from the sleep count. Players in creative and spectator gamemodes can also be excluded.
    - Sleep can be completely disabled and players won't be able to enter any bed.
    - AFK players can be ignored from the sleep count.
    - PHANTOMS! Those darn things can be completely disabled!
    - A display of sleeping players in the current world can be seen by running "/sleeping"

    If you need 1.8-1.13 support, the last version supported is Harbor 1.5.3. Harbor 1.6+ is 1.14+ only.

    NOTE: The video only covers features that were available in version 1.0 of the plugin, so there's way more available now!
    • firestartermc.com
    • play.lemoncloud.com
    • mc.ohneegaming.com
    • play.treebomc.com
    • silverstone.servegame.com

    I believe that all plugins should be totally configurable, and as such, every part of this plugin can be modified in the configuration file! Every message is customizable and has full support for unicode and color codes.

    Code (YAML):
    # Harbor - A Sleep Enhancement Plugin!
    # An open-source project by Mykyta (TechToolbox)
    # https://harbor.nkomarn.xyz
    # Ahoy, matey! You've arrived at the configuration file, where things get a bit scary.
    # Every single thing within this plugin is customizable (at least I tried to make it that way),
    # so every message and plugin module can be modified here. If you would like to report a bug
    # or suggest a feature, make sure to add an issue on the GitHub page for this plugin!
    # GitHub URL: https://github.com/nkomarn/Harbor/issues

    : 2 # How often (in seconds) to run the clock task (used to detect sleep, AFK players, time actionbar, etc.)
    : 50 # Percent of players that need to sleep to skip night (must be between 0 to 100)
    : 60 # Time skip interval that is added when the night get accelerated.

    : true # Toggle night skipping feature. Configure amount of players needed to skip above (percent)
    : true # Clear weather when skipping night
    : false # Reset the sleep statistic (practically disables phantom spawns - false = no phantoms)
    : true  # Toggle exclusion of operators/players with permission "harbor.bypass" from sleep count
    : true  # Toggle exclusion of players in creative and spectator mode
    : true # Detect AFK players and remove them from the sleep count (Essentials/API used for detection)
    : true # Displays a notification when a new update is released

    : true # Toggle chat messages
    : # Night skipped chat messages
          - "&eThe night has been skipped."
          - "&eAhhh, finally morning."
          - "&eArghh, it's so bright outside."
    : "&e[player] is now sleeping ([sleeping]/[needed], [more] more needed to skip)." # Display which player went to bed
    : "&e[player] got out of bed ([sleeping]/[needed], [more] more needed to skip)." # Display when a player left their bed
    : # Display when the night is being accelerated.
          - "&eAccelerating the night."
          - "&eRapidly approaching daytime."
    : true # Enable/disable actionbar messages
    : "&e[sleeping] out of [needed] players are sleeping ([more] more needed to skip)." # Shown when some players are in bed
    : "&eEveryone is sleeping. Sweet dreams!" # Shown when all players are in bed
    : "&8&l(&6&lHarbor&8&l)&r " # Prefix for Harbor command/miscellaneous messages
    : "&7Insufficient permissions." # Sent when player doesn't have permissions to run command
    : "&7Unrecognized command." # Sent when command argument isn't recognized

    : # Blacklist for worlds (Harbor will be disabled in these worlds)
      - "world_nether"
      - "world_the_end"

    # Spooky controls (don't change)
    : 1.6
    : false
    [FONT=Courier New][SIZE=5]

    I am constantly thinking of ways to improve Harbor. As such, updates are usually pretty feature packed, so here's an extensive change log of all the things I've added, changed, or removed from Harbor:

    Version 1.6.1
    - Fix update notifier join lag!

    Version 1.6
    - Massively improved and simplified code! The whole plugin runs on a timer and uses newer API features
    - Improved auto-updater system
    - World blacklisting
    - Smooth night skip! The night now smoothly accelerates until daytime.
    - Removed NMS code, which slimmed down the plugin a lot
    - Essentials AFK integration!
    - Fixed configuration reloading
    - Fixed weird message loop that would occur with 1.5 versions of Harbor
    - Fixed permissions issues
    - And lots, lots more! Harbor 1.6 is a completely new plugin on the inside!

    Version 1.5.2
    - More fixes! Fixed the timer, which in turn will fix the night skip logic some and also make the actionbar actually work :)

    Version 1.5.1
    - Just plain old fixes. Nothing more nothing less.
    - Fixed updater to actually work (Spiget API seems to be broken for Harbor)
    - Fixed the night skip on player leave bug
    - Added fixes for new Spigot API changes

    Version 1.5
    - Recoded the WHOLE plugin, this time making a nice Util class and a bunch of other stuff to ensure smooth operation!
    - Added complete 1.13.2 - 1.14.2 support!
    - Added a feature to disable Phantom spawning (those darn things).
    - Made it possible to exclude players in creative and spectator mode.
    - Added an auto-updater! It'll notify you when a new update it out and allow you to automatically download and install the update!
    - Created an AFK player detection system, which will exclude AFK players from the needed count.
    - Added title messages in the morning, night, and when going to sleep.
    - Added a sleep delay that will make skipping the night less jarring.
    - Implemented a "/sleeping" command which will display a GUI with currently sleeping players in your world!
    - Finally fixed all math bugs. I think.
    - Changed the rounding used for calculating needed players from floor to ceil.
    - Made the repeated task less intensive on the server through the use of lambdas.
    - Added a configuration version check that will warn you if your configuration is out of date!
    - Implemented messages that display when a player leaves their bed.
    - And many, many more optimizations!

    Version 1.4.4
    - Fixed the OP/permission bypass feature!
    - Added a feature that allows you to disable sleeping completely (pretty sure it only works on 1.13.2 right now)

    Version 1.4.3
    - Fixed a Null Pointer Exception when operators would try to sleep!

    Version 1.4.2
    - Added support for 1.13.2
    - Removed the configuration version check as it was totally broken and rather useless

    Version 1.4
    - Recoded and optimized the whole plugin!
    - Added multi world support!
    - Fixed player bypass, now fully excluding players with permission "harbor.bypass" from counts of all types!
    - Made it so that weather clears when night is skipped!
    - Added a lot more messages to the configuration.
    - Literally remade the WHOLE configuration!
    - Added a command allowing for reloading the configuration ("/harbor reload")!
    - Implemented a debug option that prints extra messages to console for debugging purposes.
    - Added an action bar placeholder that displays the amount of players that are needed for the night to skip.
    - Added a feature that knocks players out of bed to prevent plugin glitches.
    - Added configuration version checking (old configurations will be incompatible)
    - Fixed the negative player count issue
    - Fixed some minor math bugs to make the plugin round better.

    Version 1.3.2
    - Added permission "harbor.bypass" which will allow players with it to skip the night!
    - Made it so that putting the messages as blank in config won't print blank lines in chat.

    Version 1.3.1
    - Prevented night skipping if only one player is online.
    - Fixed night skipping on server versions 1.12.2 and below (night would skip no matter what even if one player got into bed)

    Version 1.3
    - You can now change the amount of players that need to be sleeping to skip the night!
    - Fixed the action bar player counter (previously would get stuck at 1 player).

    Version 1.2
    - Harbor now supports all versions from 1.8 to 1.13.1!
    - The default sleeping check time has been lowered to 1 seconds in the config.
    - Fixed a bug where the amount of players sleeping would go below zero if the server was reloaded while players were in bed.

    Version 1.1
    - The night can now be skipped if more than half of the online players are sleeping.
    - Added optional chat messages (same as actionbar ones).
    - Added a chat message that displays which player went to bed.
    - The interval at which the plugin checks for players in bed can now be changed (can be set higher for weaker servers).
    - Added more toggles and messages to configuration.
    - Fixed bug where action bar messages would not show for a while after reloading the server.

    Version 1.0
    - When players enter a bed, a message is shown in the actionbar to inform other players that it is time to sleep.



Recent Reviews

  1. wf6er6
    Version: 1.6.1
    Absolutely PERFECT plugin. A must-have for any server. Looks and works better than anything else.
  2. c1rcl
    Version: 1.6.1
    Great plugin, replaced my need for datapacks with a much more configurable and better version. Thank you, keep up the good work!
  3. sgfletch
    Version: 1.6.1
    The plugin works fine on 1.16. Love this plugin, acc an essential on all my servers
  4. mekEE
    Version: 1.6.1
    Amazing! Now my players don't complain saying "c'mon sleep already duh" etc. xD Also the night to day transition surprised me! A bit of configuring and it can't be better! Keep up the good work! ;D
  5. FeeRGG
    Version: 1.6.1
  6. Mr.FlyingPizza
    Version: 1.6.1
    Very nice easy to use plugin and no complicated config file. Also the night skip is really cool.
  7. p1nkwafflez
    Version: 1.6.1
    Used this on my survival server when it was a bit buggy and used to jump and hit you to wake you up, But since the recent updates and the new animations my players love it and think its really cool! Fantastic work <3
  8. CandyStick05
    Version: 1.6.1
    This plugin is awesome! Players absolutely love the animations and the output messages are completely customizable. A must-have for any Survival based server.
  9. UniversalTeam
    Version: 1.6.1
    The plugin is good, but it doesn’t write to the chat that someone went to bed (chatty)
    1. TechToolbox
      Author's Response
      Thanks for the review- chat messages are not currently implemented in 1.6.1. I was about to release 1.6.2 tomorrow, which has the chat messages and a few other features/bug fixes. If you want to try out that version right now, have a look at this GitHub issue for details on how to get it: https://github.com/nkomarn/Harbor/issues/50
  10. Farbmond
    Version: 1.6.1
    Excellent sleep plugin - and it works amazing! Thanks to the developer - also for his quickly and friendly support replies.