WIP Minecraft clone project
 
 
 
 
Go to file
BodgeMaster 91f3dfaa5e lib/cli: Add a library for command line arguments parsing
This has the parser itself already implemented, all other functionality is still
missing. So are tests.

Yes, I’m making my own getopt. Let me.
2022-07-14 03:13:48 +02:00
bin add placeholder files because Git doesn't handle empty folders 2022-06-24 06:42:19 +02:00
dependencies prepare for handling dependencies 2022-06-27 06:40:43 +02:00
doc Documentation: Fix typos and formatting 2022-07-06 13:57:07 +02:00
resources Documentation: add detailed build system documentation, add documentation for some files in resources 2022-07-06 13:33:10 +02:00
scripts Tools: Add WIP hexnet tool. This will be similar to hexdump and netcat in one. 2022-07-12 05:13:01 +02:00
src lib/cli: Add a library for command line arguments parsing 2022-07-14 03:13:48 +02:00
.gitignore gitignore: Update gitignore for vscode 2022-07-06 18:33:42 +05:30
COPYING add warranty disclaimer 2022-06-27 14:22:16 +02:00
LICENSE.md Add license and copyright notices 2022-06-27 11:46:13 +02:00
Makefile Switched spaces for tabs in the makefile so it works 2022-06-28 22:33:19 -04:00
README.md Build instructions: add missing dep 2022-07-12 05:12:23 +02:00
code_style.md comply with code style guidelines, also minor fix to them 2022-06-28 14:25:32 +02:00
copyright_notice_template Add license and copyright notices 2022-06-27 11:46:13 +02:00
setupenv.bashrc Environment: remove useless environment variable specification from build alias 2022-07-06 12:29:52 +02:00

README.md

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 dont 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
    • 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:

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.

See the file COPYING for copyright information.