favorite-place/readme.md

72 lines
2.2 KiB
Markdown

# Favorite Place
Simple Minecraft Server that generates terrain based on simple mathematical
equations.
Imagine your favorite place. For me, it is a meadow with grass and some wild
flowers, and it is on a hill that can defined by a mathematical equation.
## Running
### Cloning
```
git clone https://purplecello.serveminecraft.net/git/KylerOlsen/favorite-place.git
```
### Dependencies
- Python 3
- It is recommended to use the [pypy](https://www.pypy.org/) distribution of
python for increased speed and performance.
- Python bitstring 3.1.9
- Anything newer is incompatible with quarry.
- Python quarry
- Python requests (Optional)
- Used to download the Minecraft 1.18.2 Java Server jar for the data
generator.
- Java 17+ (Optional)
- Used to run the data generator from the Minecraft 1.18.2 Java Server jar.
### Data Reports
The data reports are used by the server to encode game data correctly for the
client to receive it.
The reports from the data generator must be in
`generate_data\generated\reports`. If the optional dependencies are installed
and the `generate_data` directory does not exists, the sever will download the
jar and run the data generator.
### Running
In the root directory of the repository run:
```
python3 server/main.py
```
## Customizing
A way to change the equation may be implemented in the future, but currently it
is hard coded.
You can change the function `YTDServerFactory.func(x: int, y: int, z: int)` in
`server/main.py` to implement your own equation. This function accepts the world
coordinates and returns a dictionary representing the block at that location.
Here are examples of block representations accepted by quarry. These definitions
are from the top of `server/main.py`.
```
BLOCK_EMPTY = {'name': 'minecraft:air'}
BLOCK_SURFACE = {'name': 'minecraft:grass_block', 'snowy': 'false'}
BLOCK_SUBSURFACE = {'name': 'minecraft:dirt'}
BLOCK_UNDERGROUND = {'name': 'minecraft:stone'}
BLOCK_DEFAULT = {'name': 'minecraft:cobblestone'}
```
Information about blocks and block states can be found in
`generate_data\generated\reports\blocks.json` if the data generator has been
ran. You can also find this information online from the
[Minecraft Wiki](https://minecraft.wiki/).