Skip to content

Commit e9d5f57

Browse files
authored
Merge pull request #8 from Hugman76/build_rush
Add Build Rush documentation
2 parents 58ffa29 + c154a2d commit e9d5f57

File tree

4 files changed

+178
-0
lines changed

4 files changed

+178
-0
lines changed

docs/build-rush/builds.md

Lines changed: 79 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,79 @@
1+
# Adding a build
2+
3+
## Building and saving the structure
4+
5+
!!! warning
6+
You need to know how to use the structure block and its SAVE mode to create a build.
7+
8+
First off, you need to build your structure in any creative world that you can download generated structures from. Either in a single-player world, or in a server that allows you to do so.
9+
10+
!!! tip
11+
If you have access to the Nucleoid build server, you can join the original builds map `/map join buildrush:builds`.
12+
This map contains all the builds that were made by fellow Nucleoid contributors up to 3.0.0.
13+
14+
To download any generated build on the Nucleoid build server, visit this site: [https://build.nucleoid.xyz/](https://build.nucleoid.xyz/generated/)
15+
16+
You also need to choose a size for your build. Builds must have the same width, length and height.
17+
Let's say you want a size of `n` blocks for you build. This means you need to create a structure of dimensions `n`x`n`x`n`.
18+
19+
You can also add a custom floor for your build, allowing the structure to be `n`x`n+1`x`n`.
20+
Players won't have to build this floor, as it will replace the floor of all plots when building. Please make sure that all blocks of the floor have a solid top surface.
21+
22+
!!! tip
23+
Do not worry about falling blocks like sand for you floor, as barrier blocks will be placed under the plot floors if the map does not have blocks there.
24+
25+
!!! example
26+
If you want to create a build of size 7, you can create a structure of dimensions 7x8x7, with the floor being at the bottom of the structure.
27+
If you do not want this floor, you can create a structure of dimensions 7x7x7.
28+
29+
After finishing your build, save it using the structure block. The name of the structure file can be renamed manually afterward.
30+
Entities are not supported, so make sure to not include them while saving.
31+
32+
Structures are stored under the `structures` folder of the datapack, so save it there when you're done.
33+
34+
## Creating the build file
35+
36+
You now need to add a build configuration that will add information about your build.
37+
Builds are stored in the `build_rush/builds` folder of the datapack, so create a `.json` file there.
38+
39+
Here are the configuration fields of a build:
40+
```json5
41+
{
42+
"structure": "build_rush:build/my_build",
43+
"name": {
44+
"translate": "build.my_build"
45+
},
46+
"author": {
47+
"name": "jeb_",
48+
"uuid": "853c80ef-3c37-49fd-aa49-938b674adae6"
49+
}
50+
}
51+
```
52+
53+
| Field | Description | Required | Defaults to |
54+
|---------------|---------------------------------|----------|-------------|
55+
| `structure` | The path to the structure file. | Yes | |
56+
| `name` | The name of the build. | Yes | |
57+
| `author` | The author of the build. | No | |
58+
| `author.name` | The name of the author. | Yes | |
59+
| `author.uuid` | The UUID of the author. | No | |
60+
61+
!!! tip
62+
If a game tries to load any build that is not valid in any way, it will get ignored and a warning will be sent in the console.
63+
64+
A standalone build will not get used in any gamemode, that's because it is the game config that defines the list of builds that it's going to use.
65+
However, you can add your build to the `build_rush:generic` tag, which is used by the generic game modes.
66+
67+
## Notes on contributions
68+
69+
If you are contributing to the Build Rush repository, please make sure to follow this checklist before submitting your pull request:
70+
- Your build is replicable in normal gameplay, on any maps. (no floating blocks)
71+
- Your build features as less redstone mechanics as possible.
72+
- If the name of your build is already used, add an underscore and a number at the end of the name. (`build`, `build_2`, `build_3`, ...)
73+
- Your structure file and your build configuration have the same name.
74+
- The structure is saved under the `structures/builds` folder inside the `build_rush` datapack.
75+
- If the build is not made for specific gamemode, add it to the `build_rush:generic` build tag.
76+
- The build name is translatable. Use existing translations if possible, if not add a translation key that follows the `build.<name>` pattern.
77+
78+
!!! warning
79+
Currently, the generic game modes of Build Rush were made for build sizes of 5, 7 and 9. Only size 5 is used for now though.

docs/build-rush/index.md

Lines changed: 10 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,10 @@
1+
# About
2+
3+
[![GitHub contributors](https://img.shields.io/github/contributors/NucleoidMC/BuildRush?logo=github&style=for-the-badge)](https://github.com/NucleoidMC/plasmid)
4+
[![GitHub last commit](https://img.shields.io/github/last-commit/NucleoidMC/BuildRush?logo=github&style=for-the-badge)](https://github.com/NucleoidMC/plasmid)
5+
6+
Build Rush is a build memorizing minigame for Minecraft!
7+
The goal is to memorize a structure and then rebuild it as fast and as correct as possible.
8+
9+
!!! info
10+
This tutorial is currently updated for **Build Rush 3.0.x**.

docs/build-rush/maps.md

Lines changed: 85 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,85 @@
1+
# Adding a map
2+
3+
## Creating the map template
4+
5+
Please follow the [Plasmid tutorial](/plasmid/maps) on how to create a map template.
6+
7+
A Build Rush map template needs the following regions:
8+
- `center_plot`: the center of the map, where the players will be teleported to at first, and where the chosen build may appear at points. (only 1)
9+
- `plot`: the plots where the players will build. There must be at least as many plots as the max amount of players in the game configuration (see below).
10+
11+
A map can only support one size of builds. The size of the chosen builds is determined by the size of the plots.
12+
13+
All plots must be of the same size (width and length) and be 1 block high.
14+
15+
!!! tip
16+
If you get anything wrong with your map, the game will not start. You can check the logs to see what went wrong.
17+
18+
Map templates are stored in the `map_templates` folder of the datapack, so save it there when you're done.
19+
20+
## Creating the game configuration
21+
22+
Please follow the [Plasmid tutorial](/plasmid/getting-started/#creating-a-config) on how to create a game configuration.
23+
24+
You now need to add a game configuration that will use your map.
25+
Game configurations are stored in the `games` folder of the datapack, so create your `.json` file there.
26+
27+
Here are the configuration fields added by Build Rush, on top of the ones added by Plasmid:
28+
```json5
29+
{
30+
// ...
31+
"players": {
32+
"min": 1,
33+
"threshold": 8,
34+
"max": 16
35+
},
36+
"map": {
37+
"template": "build_rush:my_map",
38+
"nametag_offset": 5,
39+
"nametag_size": 2.0
40+
},
41+
"builds": "#build_rush:generic"
42+
// ...
43+
}
44+
```
45+
46+
The game type is `build_rush:standard`.
47+
48+
| Field | Description | Required | Defaults to |
49+
|----------------------|---------------------------------------------------------------|----------|-------------|
50+
| `players` | The configuration of number of players. | Yes | |
51+
| `map` | The configuration of the map. | Yes | |
52+
| `map.template` | The map template to use. | Yes | |
53+
| `map.nametag_offset` | The offset of the name tag above the player's plot. | No | 10 |
54+
| `map.nametag_size` | The size of the name tag above the player's plot. | No | 5.0 |
55+
| `builds` | The list of builds to use. Can be a list of builds, or a tag. | Yes | |
56+
57+
For the builds list, you can use the `#build_rush:generic` tag that includes most of the available builds.
58+
59+
!!! note
60+
The builds field can contain any builds, even if they are not compatible with the map. Only compatible builds from the entry list will get used.
61+
62+
## Notes on contributions
63+
64+
If you are contributing to the Build Rush repository, please make sure to follow this checklist before submitting your pull request:
65+
- Your map template and game configuration have the same name.
66+
- Your game configuration is in the correct subfolder: `small` is for maps compatible with 5x5 builds, `medium` is for 7x7, and `large` is for 9x9.
67+
- Your game configuration is listed in the `random` game configuration in the same subfolder.
68+
- The game configuration follows this example:
69+
```json5
70+
{
71+
// ...
72+
"name": {
73+
"translate": "game.build_rush.small.with_map", // change "small" with "medium" or "large" depending on the size of your plots
74+
"with": [
75+
{
76+
"translate": "map.build_rush.my_map" // change "my_map" with the identifier of your map (and translate it in lang/en_us.json)
77+
}
78+
]
79+
},
80+
"icon": "minecraft:diamond", // as your game will show up in the list of games, you need an item to represent it
81+
// ...
82+
}
83+
```
84+
- Your game configuration has an icon.
85+
- The build list is large enough, to counter the feeling of repetitiveness. Use the `#build_rush:generic` if you don't have enough builds.

mkdocs.yml

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -36,6 +36,10 @@ nav:
3636
- Backend:
3737
- backend/index.md
3838
- backend/http-api.md
39+
- Build Rush:
40+
- build-rush/index.md
41+
- build-rush/maps.md
42+
- build-rush/builds.md
3943

4044
extra:
4145
social:

0 commit comments

Comments
 (0)