Git Product home page Git Product logo

mcpp's Introduction

mcpp logo

mcpp

made-with-cpp made-by-rozukke GitHub license Build status

mcpp (Minecraft++) is a library built to interface with Minecraft through Spigot server running the 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.

➡ For more details on the broad strokes of mcpp, refer to the wiki!

History

This library is based on mcpi, which is a Python library with similar functionality.

In addition to C++ support, this library implements several new commands supported by ELCI:

  • getBlocks to get a cuboid of blocks with modifiers in a performant manner,
  • 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 (Programming Studio 2) course.

Installation

Windows

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.

MacOS and Linux

  • Install g++, make, cmake and any other build prerequisites
  • Run the following commands:
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.

Contributors

License

The following applies to all relevant code and resource files:

Copyright 2024 Artemis Rosman and contributors

Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. You may obtain a copy of the License at

   http://www.apache.org/licenses/LICENSE-2.0

Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.