MultiSleep

MultiSleep

9.2k Downloads

Multisleep

This mod helps the sleeping process on a multiplayer server. When somebody enters his bed, the players can vote on sleeping, or not sleeping.

Players can vote in 4 different ways: 

  • They can enter a bed. This counts them as a player that wants to sleep
  • They can press either the [Sleep], or [Dont Sleep] button in the GUI
  • They can set the <auto sleep> switch to true, which will always vote automatically [Sleep] for them
  • Assigning a Key in the controlls to [vote yes] and [vote no]. These are by default unbound.

The GUI has 3 features:

  • you can vote directly with it
  • you can set auto sleep to true, which votes automatically yes for you
  • you can customize if you want to have phantoms or not in a case where you "fake sleep", aka sleep because of a voting and not because everyone is in bedYou can open this gui by pressing the button in the Inventory at the right of the recipe book, or by assigning a hotkey to [open gui] in the controlls.

There are two commands that are implemented by this mod:

  • /setCountdownTime <ticks> this sets the length of the countdown
  • /gamerule multiSleepPercent this sets what percent of the players in the overworld need to agree to sleeping, so that the world sleeps.

In the following cases the world will sleep:

  • If the players in the overworld who vote for sleeping are a bigger percentage of all the players in the overworld, than the current value of the gamerule "multiSleepPercent"
  • If the countdown runs out

If more than 100 - "multiSleepPercent" percent of the players vote [Dont Sleep], the voting stops, without the world sleeping

If the player who initiated the voting by entering a bed leaves his bed before the voting has ended, the voting will automatically end. This is to ensure that at least one player is in a bed if the world sleeps. In a future update this may be changed so that the voting only ends if no player is in a bed.

 This Mod requires to be installed on both the server, and the client to be able to work. Also, it requires the fabric api.