Skip to content

Commit

Permalink
Merge pull request #57 from rozukke/update-readme
Browse files Browse the repository at this point in the history
Update README.md
  • Loading branch information
rozukke authored Jun 23, 2024
2 parents 4c26413 + 3500c81 commit f890864
Showing 1 changed file with 17 additions and 12 deletions.
29 changes: 17 additions & 12 deletions README.md
Original file line number Diff line number Diff line change
@@ -1,17 +1,18 @@
![mcpp logo](/resources/mcpplogosmall.png)


# mcpp (Minecraft++)
# mcpp
[![made-with-cpp](https://img.shields.io/badge/Made%20with-C++_17-1f425f.svg)](https://cplusplus.com/) [![made-by-rozukke](https://img.shields.io/badge/Creator-rozukke-f497af.svg)](https://github.com/rozukke)
[![GitHub license](https://img.shields.io/github/license/rozukke/mcpp.svg)](https://github.com/rozukke/mcpp/blob/main/LICENSE)
[![Build status](https://github.com/rozukke/mcpp/actions/workflows/ci.yml/badge.svg?branch=main&event=push)](https://github.com/rozukke/mcpp/actions/workflows/ci.yml)\
[![Build status](https://github.com/rozukke/mcpp/actions/workflows/ci.yml/badge.svg?branch=main&event=push)](https://github.com/rozukke/mcpp/actions/workflows/ci.yml)

**mcpp** (Minecraft++) is a library built to interface with Minecraft through [Spigot server](https://www.spigotmc.org/)
running the [ELCI](https://github.com/rozukke/ELCI) plugin and using C++. It is currently limited to MacOS/Linux or Windows with WSL.
running the [ELCI](https://github.com/rozukke/ELCI) plugin and using C++. It was primarily designed as a teaching tool, and is tested on MacOS/Linux or Windows with WSL.

## Documentation
➡ Access the docs for this repo at the [mcpp documentation site](https://rozukke.github.io/mcpp/).

➡ For more details on the broad strokes of **mcpp**, refer to the [wiki](https://github.com/rozukke/mcpp/wiki/Index)!
➡ Access the documentation hosted on this repo: [mcpp documentation](https://rozukke.github.io/mcpp/)

## History
This library is based on [mcpi](https://github.com/martinohanlon/mcpi), which is a Python library with similar functionality.
Expand All @@ -21,19 +22,23 @@ In addition to C++ support, this library implements several new commands support
- `getHeights` to get a 2D area of heights in a performant manner,
- `doCommand` to perform an in-game minecraft command which allows for additional functionality.

This C++ version was created for the Royal Melbourne Institute of Technology (RMIT) to supplement the COSC2084
This C++ version was created for the Royal Melbourne Institute of Technology (RMIT) to supplement the **COSC2084**
(Programming Studio 2) course.

## Installation
### Windows
Since the release is intended for UNIX systems and not tested on Windows, the options to run locally are as follows:
- Build manually (there are included CMake build files)
- Run with WSL, in which case follow the Linux instructions below. You may need to specify a connection address manually in `MinecraftConnection()` if you are running Spigot with ELCI on Windows, which you can find using `nslookup "$(hostname).local"` on your WSL terminal. The default port for ELCI is `4711`.
Since the release is intended for UNIX systems, the recommendation it to do as follows:
- Install WSL, and then follow the below instructions for Linux.
- Depending on your WSL version, you may need to specify a connection address manually in `MinecraftConnection()` if you are running Spigot (with ELCI) on Windows, which you can find using `nslookup "$(hostname).local"` on your WSL terminal. The default port for ELCI is `4711`. As such, it's recommended to also run the server under WSL.

### Mac and Linux
### MacOS and Linux
- Install `g++`, `make`, `cmake` and any other build prerequisites
- Clone this repository via `git clone https://github.com/rozukke/mcpp.git`
- Install by running `cmake .` and `sudo make install` inside the cloned directory.
- Run the following commands:
```shell
git clone https://github.com/rozukke/mcpp.git && cd mcpp
cmake -B build && cd build
sudo make install
```
- After doing this, the library should be accessible via a `#include <mcpp/mcpp.h>` directive.
- When compiling code using the library, use the flag `-lmcpp` for Makefiles or `target_link_libraries(your_executable mcpp)` for CMake.

Expand All @@ -44,7 +49,7 @@ Since the release is intended for UNIX systems and not tested on Windows, the op
</a>

## License
**The following applies to all code:**
**The following applies to all relevant code and resource files:**

Copyright 2024 Artemis Rosman and contributors

Expand Down

0 comments on commit f890864

Please sign in to comment.