70 lines
2.0 KiB
Markdown
70 lines
2.0 KiB
Markdown
# FOSS-VG (FOSS Voxel Generator)
|
||
|
||
This is a WIP Minecraft clone.
|
||
|
||
For now, we target feature parity with 1.18.2.
|
||
|
||
Immediate goals:
|
||
|
||
- Networking library
|
||
- [ ] build a dummy server that Minecraft clients can detect
|
||
- [ ] get Minecraft to connect to the dummy server
|
||
- Dummy server
|
||
- [ ] send an empty void
|
||
- [ ] send a surface to stand on
|
||
- [ ] handle chat
|
||
- NBT library
|
||
- [ ] parse NBT
|
||
- [ ] decode and encode data
|
||
|
||
|
||
## Project Setup Instructions
|
||
|
||
### Prerequisites:
|
||
|
||
This project requires bash and a C++20 compiler.
|
||
|
||
The project setup requires wget or curl, gzip, and tar.
|
||
|
||
Additional requirements for building dependencies:
|
||
|
||
- sockpp: a C compiler, CMake
|
||
|
||
**For people using other shells than bash:** You need to at least have bash
|
||
installed to use the scripts, but using it as your shell while working on
|
||
this project also allows you to use the provided aliases.
|
||
|
||
If you don’t want to use bash as your shell, not even temporarily for this
|
||
project, you can use the scripts by running them from the project's base
|
||
directory and run any generated executables with `LD_LIBRARY_PATH` set to
|
||
point to `bin/lib`.
|
||
|
||
|
||
### Setup
|
||
|
||
- `git clone` this repository
|
||
- if using bash:
|
||
- `source` the file `setupenv.bashrc` from the project's base directory
|
||
to load the provided shell environment (local customizations to the
|
||
environment can be placed in a fiile `.localenv.bashrc` in the project's
|
||
root directory if necessary)
|
||
- `setup_project`
|
||
- if not using bash or not using the provided environment:
|
||
- `cd` to the project's base directory
|
||
- `scripts/setup_project.sh`
|
||
|
||
This will download (and build if applicable) the following dependenceis:
|
||
- [tiny-utf8](https://github.com/DuffsDevice/tiny-utf8)
|
||
- [sockpp](https://github.com/fpagliughi/sockpp)
|
||
|
||
### Building
|
||
|
||
To build the project, just use the `build` alias or invoke `scripts/build.sh`
|
||
from the project's base directory.
|
||
|
||
For more details, have a look at [the build system documentation](doc/build_system.md).
|
||
|
||
## Copyright / License
|
||
|
||
See the file [`COPYING`](./COPYING) for copyright information.
|