{"id":15018331,"url":"https://github.com/unarelith/openminer","last_synced_at":"2025-04-06T23:17:22.962Z","repository":{"id":6896745,"uuid":"8146511","full_name":"Unarelith/OpenMiner","owner":"Unarelith","description":"Minecraft-like game engine written in C++17 with a client/server architecture and support for Lua modding","archived":false,"fork":false,"pushed_at":"2023-11-20T17:17:35.000Z","size":32178,"stargazers_count":267,"open_issues_count":52,"forks_count":34,"subscribers_count":19,"default_branch":"master","last_synced_at":"2025-04-06T23:17:05.786Z","etag":null,"topics":["c-plus-plus","cpp17","game","game-engine","lua","minecraft","minetest"],"latest_commit_sha":null,"homepage":"","language":"C++","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"lgpl-2.1","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/Unarelith.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":"CONTRIBUTING.md","funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2013-02-11T20:57:07.000Z","updated_at":"2025-03-22T19:45:34.000Z","dependencies_parsed_at":"2023-10-26T22:29:47.194Z","dependency_job_id":"17f8fcfd-576c-4b2e-932c-b214c82c7a71","html_url":"https://github.com/Unarelith/OpenMiner","commit_stats":{"total_commits":1307,"total_committers":9,"mean_commits":"145.22222222222223","dds":"0.056618209640397876","last_synced_commit":"582b6fb23240132935bd1b506796ae778c039b6c"},"previous_names":[],"tags_count":11,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Unarelith%2FOpenMiner","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Unarelith%2FOpenMiner/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Unarelith%2FOpenMiner/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Unarelith%2FOpenMiner/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/Unarelith","download_url":"https://codeload.github.com/Unarelith/OpenMiner/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":247563941,"owners_count":20958971,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["c-plus-plus","cpp17","game","game-engine","lua","minecraft","minetest"],"created_at":"2024-09-24T19:51:50.577Z","updated_at":"2025-04-06T23:17:22.941Z","avatar_url":"https://github.com/Unarelith.png","language":"C++","readme":"# OpenMiner\n\n[![Build Status](https://travis-ci.com/Unarelith/OpenMiner.svg?branch=master)](https://travis-ci.com/Unarelith/OpenMiner)\n[![Documentation Status](https://readthedocs.org/projects/openminer/badge/?version=latest)](https://openminer.readthedocs.io/en/latest/?badge=latest)\n[![License](https://img.shields.io/badge/license-LGPLv2.1%2B-blue.svg)](https://www.gnu.org/licenses/old-licenses/lgpl-2.1.en.html)\n[![Discord](https://img.shields.io/discord/527527086756200458.svg?style=popout)](https://discord.gg/eN8k8wt)\n[![Donate PayPal](https://img.shields.io/badge/donate-paypal-brightgreen.svg)](https://www.paypal.me/Unarelith)\n[![Donate Patreon](https://img.shields.io/badge/donate-patreon-brightgreen.svg)](https://www.patreon.com/unarelith)\n\n- [Project goal](#project-goal)\n- [Wiki](#wiki)\n- [Keys](#keys)\n- [How to compile](#how-to-compile)\n    - [Using Windows](#using-windows)\n    - [Using Linux](#using-linux)\n    - [Using MacOS](#using-macos)\n- [Discussion](#discussion)\n- [Project status](#project-status)\n- [Screenshots](#screenshots)\n- [Credits](#credits)\n\n## Project goal\n\nThe long-term goal of this project is to provide a viable alternative to Minecraft modding.\n\n## Wiki\n\n- [Getting started](https://github.com/Unarelith/OpenMiner/wiki/Getting-Started)\n    - [Contributing](https://github.com/Unarelith/OpenMiner/blob/master/CONTRIBUTING.md)\n    - [How to use git](https://github.com/Unarelith/OpenMiner/wiki/How-to-use-git)\n    - [Roadmap](https://github.com/Unarelith/OpenMiner/wiki/Roadmap)\n    - [Coding style](https://github.com/Unarelith/OpenMiner/wiki/Coding-Style)\n- [Lua API](https://openminer.readthedocs.io/en/latest/)\n    - [Core API](https://openminer.readthedocs.io/en/latest/lua-api-core/)\n    - [Mod API](https://openminer.readthedocs.io/en/latest/lua-api-mod/)\n    - [GUI API](https://openminer.readthedocs.io/en/latest/lua-api-gui/)\n    - [C++ classes in Lua](https://openminer.readthedocs.io/en/latest/lua-api-cpp/)\n- [Network Protocol](https://openminer.readthedocs.io/en/latest/network-protocol/)\n\n## Keys\n\n- Movement: \u003ckbd\u003eW\u003c/kbd\u003e\u003ckbd\u003eA\u003c/kbd\u003e\u003ckbd\u003eS\u003c/kbd\u003e\u003ckbd\u003eD\u003c/kbd\u003e\n- Inventory: \u003ckbd\u003eE\u003c/kbd\u003e\n- Creative window: \u003ckbd\u003eH\u003c/kbd\u003e\n- Chat: \u003ckbd\u003eT\u003c/kbd\u003e\n- Jump: \u003ckbd\u003eSpace\u003c/kbd\u003e\n- Sprint: \u003ckbd\u003eCtrl\u003c/kbd\u003e\n- Jetpack: \u003ckbd\u003eX\u003c/kbd\u003e\n- Exit: \u003ckbd\u003eEscape\u003c/kbd\u003e\n- Debug: \u003ckbd\u003eF3\u003c/kbd\u003e\n- Fullscreen: \u003ckbd\u003eF11\u003c/kbd\u003e\n\n## How to compile\n\n### Using Windows\n\n- [Wiki: Compiling on Windows using CMake and MinGW-w64](https://github.com/Unarelith/OpenMiner/wiki/Compiling-on-Windows-with-MinGW-w64)\n- [Wiki: Compiling on Windows using CMake and Visual Studio 2019](https://github.com/Unarelith/OpenMiner/wiki/Compiling-on-Windows-with-Visual-Studio-2019)\n\n### Using Linux\n\n- [Wiki: Compiling on Linux](https://github.com/Unarelith/OpenMiner/wiki/Compiling-on-Linux)\n\n### Using MacOS\n\n- Dependencies:\n    - A compiler with C++17 support (GCC \u003e= 7.0 or clang \u003e= 5.0)\n    - `git` and [CMake](http://www.cmake.org/download/) (\u003e= 3.12.4)\n    - **Optional:** `ninja` (much faster builds)\n    - _Check Homebrew for packages._\n- Run `cmake -B build . \u0026\u0026 cmake --build build`; if you installed `ninja` above, add `-GNinja` before `-B` in the previous command.\n- Run the client with `./build/openminer`\n- If you want a multiplayer game, run the server with `./build/openminer_server`\n\n## Discussion\n\n- Discord: [join server](https://discord.gg/eN8k8wt)\n- IRC: irc.freenode.net `#openminer`\n\n## Project status\n\nThis list is not complete.\n\nSee also the roadmap for 1.0.0 [here](https://github.com/Unarelith/OpenMiner/wiki/Roadmap).\n\n### Implemented features\n\n- Menus (title screen, world selection, settings, etc...)\n- Basic worldgen (biomes, lakes, trees, flowers, pseudo-caves)\n- Pseudo-infinite world in X/Y/Z axis (2^32 * 2^32 * 2^32 blocks) ([#25](https://github.com/Unarelith/OpenMiner/pull/25))\n- Smooth lighting + ambient occlusion\n- Client/server architecture ([#20](https://github.com/Unarelith/OpenMiner/pull/20))\n- Chat with support for commands (for example `/tp`) ([#57](https://github.com/Unarelith/OpenMiner/pull/57))\n- Lua modding API\n\t- Block/item/recipe/biome/tree/sky/dimension/entity definition\n\t- Custom GUI creation\n- Blocks can have an inventory and update every server tick (workbench, furnace)\n- Block metadata\n- Player model display (without animation)\n- Dimensions (like the Nether or the Ender in Minecraft) ([#80](https://github.com/Unarelith/OpenMiner/pull/80))\n- World loading/saving (see [#26](https://github.com/Unarelith/OpenMiner/issues/26))\n- Texture pack system (partially implemented, see [#34](https://github.com/Unarelith/OpenMiner/issues/34))\n- Entities ([#90](https://github.com/Unarelith/OpenMiner/pull/90))\n- Day/night cycle with sun/moon/stars ([#154](https://github.com/Unarelith/OpenMiner/pull/154))\n\n### Missing features\n\n- Fluid propagation ([#62](https://github.com/Unarelith/OpenMiner/issues/62))\n- Seed-based worldgen ([#116](https://github.com/Unarelith/OpenMiner/issues/116))\n- Cave tunnels ([#118](https://github.com/Unarelith/OpenMiner/issues/118))\n- Clouds ([#156](https://github.com/Unarelith/OpenMiner/issues/156))\n- Particle system ([#155](https://github.com/Unarelith/OpenMiner/issues/155))\n\n## Screenshots\n\n![](screenshot1.png?raw=true)\n![](screenshot2.png?raw=true)\n![](screenshot3.png?raw=true)\n![](screenshot4.png?raw=true)\n![](screenshot5.png?raw=true)\n![](screenshot6.png?raw=true)\n\n## Credits\n\n- xMrVizzy ([Faithful 32x](https://www.curseforge.com/minecraft/texture-packs/faithful-32x) texture pack, will completely replace Vanilla textures)\n- ThePhD ([sol2](https://github.com/ThePhD/sol2))\n- skypjack ([EnTT](https://github.com/skypjack/entt))\n\n","funding_links":["https://www.paypal.me/Unarelith","https://www.patreon.com/unarelith"],"categories":[],"sub_categories":[],"project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Funarelith%2Fopenminer","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Funarelith%2Fopenminer","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Funarelith%2Fopenminer/lists"}