promotional bannermobile promotional banner
premium banner
A simple mod for setting up matches of modded bedwars quickly.

Description

This mod provides many server utility commands for setting up matches of bedwars quickly. This system is designed for bedwars such as lucky block bedwars etc. 

 

How To Start Playing:

Starting playing with this mod is extremely easy, just have each player place down their bedwars bed (/give @a qkbedwars:bedwars_bed) and then type /startBedWars. After that, any player who has their bed broken will be put into spectator mode after dying. Type /endBedWars (optional message) to end the bedwars and spawn all players in spectator mode back to the world spawn point.

For example you could write "/endBedWars Steve Wins!" and it would print that message out to all players. Note that the match will not end automatically even when all players are dead so you will have to type the command to end the match.

use "/setDropRate (number)" to make players drop only part of their inventories on death. "/setDropRate 30" would cause players to drop only 30% of their inventory etc. "/setDropRate 100" would cause players to drop their full inventories on death.

 

Advanced Game Logic

This mod also contains a lot of more advanced logic for matches which need more control. Before modifying these features, pls ensure that the last match has ended using /endBedwars as otherwise you may run into issues.

 

Game Phases

Can be created and modified using /addGamePhase and /removeGamePhase. To start using this command, do /viewGamePhases. It will print all current game phases to the chat and should say "No game phases exist." if you have freshly installed the mod, if it does not say this you can also do /removeAllGamePhases to reset them back to default. Game phases have an inputted amount of time (this is time since the bedwars began and not time since the last phase) and once that time is reached the mod will automatically run any commands set to that game phase as well as display its titles etc. Note that commands with typos will simply not run and wont give any feedback so ensure you have typed them correctly. This system is very versatile so here is an example game set up as well as explanations for each phase:

/addGamePhase 0 "" 0 "" "" "" /forceBedPlacement

This phase will force the players to place down their beds the instant the bedwars begins, but still after the starting point teleports. Note that we use "" as a placeholder if we do not want text to display.

/addGamePhase 1 "Opening Barriers" 300 "" "" "Barriers have opened!"

This phase will simply display the text that the barriers have opened into the chat after 300 seconds (5 minutes). We set it to phase 1, so now any barricade blocks we place set to phase 1 will break at this time. Barricade blocks are explained in depth in a later section. Also note that we wrapped the text in "" because the text contains spaces. If the text does not contain spaces then wrapping them in quotation marks is not necessary.

/addGamePhase 2 "Bed Compasses" 600 "Compass Granted" "All Players Have Been Given A Bed Compass!" "All Players Have Been Given A Bed Compass!" "/give @a qkbedwars:bed_compass"

This phase will give all players a bed compass after 600 seconds (10 minutes). It will also display the title text, subtitle, and broadcast a message into chat so that players know that it happened.

/addGamePhase 3 DEATHMATCH 1200 DEATHMATCH "All player beds have been broken!" "Deathmatch has started, all player beds were broken!" /startDeathmatch "/worldborder set 100 60"

This phase will begin the deathmatch after 1200 seconds (20 minutes). This will automatically break all player beds. It will also run the command "/worldborder set 100 60" which is the vanilla minecraft command to set the worldborder to 100 blocks over the course of 60 seconds. Note that if we set "/startDeathmatchOnAllBedsBroken" to true, then all phases will automatically end and run their commands once all player beds are broken, which is useful if we want the deathmatch to begin and have the world border close in as soon as this happens.

 

With those commands, you can set up a fairly simple bedwars match with multiple phases. Note that you can have as many phases as you want just make sure that each phase has a unique phase number to avoid overwriting them. If you do /viewGamePhases after running each of those commands, you should now see a list of all phases and their related info! If a phase you are setting up does not work, pls double check that you have not made any typos in the commands. Phases will persist between matches, so even after doing /endBedWars the same phases will still be loaded. 

 

Starting point blocks

teleport players to them once /startBedwars is run. Players will be distributed evenly between each starting point. For example if there are 6 players and 2 starting points then 3 players will get sent to each, or if there is 6 players and 6 starting points then 1 player will be sent to each. Note that starting points are single use and will be removed once the game starts.

/give @p qkbedwars:starting_point

 

Barricade Blocks

These blocks will break automatically once their phase has been reaches and are used to keep players out of certain locations. Use /setblock or /fill with qkbedwars:barricade{Phase:(phase)} and input any phase you want to place them. They can also be placed manually with /setBlockGamePhase (phase) and then placing the blocks manually will assign them the phase you inputted into the command. Right clicking a barricade block will display the time left until it breaks.

/give @p qkbedwars:barricade

example: /fill 0 70 0 30 80 30 qkbedwars:barricade{Phase:2} replace air

That command would fill that area with blocks only replacing air and set the barricades to break once phase 2 has been reached.

 

Bed Compasses

Will point to the nearest bed. "/give @a qkbedwars:bedwars_compass" to give all players a compass. Note that it will point to your own bed if it is the closest bed, this is an intended feature.

 

Bedwars Beds

The heart of bedwars. Either have players place their own bed manually or run the command "/forceBedPlacement" to automatically place beds at the players current positions. Note that the force bed placement command will only place beds for players who do not have beds, if you run "/startDeathmatch" then all player beds will be broken instantly.

/give @a qkbedwars:bedwars_bed

 

Commands:

 

/startBedwars

Starts the game and activates the game logic

 

/endBedwars (message)

Ends the bedwars and displays the given message to all players

 

/startDeathmatch 

Automatically breaks all player beds and executes all game phases

 

/startDeathmatchOnAllBedsBroken (true/false)

Sets if the deathmatch will begin automatically once all beds are broken

 

/setDropRate (number)

Sets how many items players will drop when they die. For example, "/setDropRate 30" will cause players to drop 30% of their inventory on death. Players will drop their entire inventories if their bed has been broken.

 

/setBlockGamePhase (number)

Sets the game phase for all barricade blocks placed after this command has been run.

 

/clearAllSpawnBlocks

Instantly breaks all spawn point blocks placed in the world.

 

/forceBedPlacement

Automatically places a bed for each player at the place they are standing.

 

/addGamePhase (phase number) (name) (time in seconds) (title) (subtitle) (broadcast) (commands)

Creates or overwrites a new game phase. Example usage: /addGamePhase 1 "Bed Compasses" 300 "Compasses Given" "All Players Were Given A Bed Compass!" "All Players Were Given A Bed Compass!" "/give @a qkbedwars:bed_compass"

This command would give all players a bed compass 5 minutes after the game has started ^^^

 

/viewGamePhases

Displays all game phases

 

/removeGamePhase (phase number)

Removes the game phase

 

/removeAllGamePhases

Removes all game phases

 

Final note:

This mod was created to suit my own needs and may not contain every single feature that you want. It does not contain resource generators. If you want to request a feature, feel free to do so but I make no promises. This mod is meant to be used for playing with friends and running one off events.