2018-12-19 15:00:01 -08:00
# OpenMiner
2015-07-17 08:08:53 -07:00
2019-04-13 06:45:44 -07:00
[![Build Status ](https://travis-ci.com/Unarelith/OpenMiner.svg?branch=master )](https://travis-ci.com/Unarelith/OpenMiner)
2020-03-10 15:50:41 -07:00
[![Documentation Status ](https://readthedocs.org/projects/openminer/badge/?version=latest )](https://openminer.readthedocs.io/en/latest/?badge=latest)
2019-01-04 11:26:06 -08:00
[![Documentation ](https://codedocs.xyz/Quent42340/OpenMiner.svg )](https://codedocs.xyz/Quent42340/OpenMiner/)
[![License ](https://img.shields.io/badge/license-LGPLv2.1%2B-blue.svg )](https://www.gnu.org/licenses/old-licenses/lgpl-2.1.en.html)
2019-01-08 13:10:59 -08:00
[![Discord ](https://img.shields.io/discord/527527086756200458.svg?style=popout )](https://discord.gg/eN8k8wt)
2020-04-03 13:05:20 -07:00
[![Donate ](https://img.shields.io/badge/donate-paypal-brightgreen.svg )](https://www.paypal.com/cgi-bin/webscr?cmd=_s-xclick& hosted_button_id=B4DQHF3YL4KV2& source=url)
2015-07-17 08:08:53 -07:00
2019-02-03 04:55:34 -08:00
- [Project goal ](#project-goal )
2020-01-22 21:33:37 -08:00
- [Wiki ](#wiki )
2020-03-05 06:22:22 -08:00
- [Keys ](#keys )
2019-02-03 04:55:34 -08:00
- [How to compile ](#how-to-compile )
2020-04-28 16:09:07 -07:00
- [Using Linux ](#using-linux )
- [Using Windows ](#using-windows )
- [Using OSX ](#using-osx )
2019-02-03 04:55:34 -08:00
- [Discussion ](#discussion )
- [Project status ](#project-status )
2020-01-31 00:47:35 -08:00
- [Screenshots ](#screenshots )
2019-02-03 04:55:34 -08:00
- [Credits ](#credits )
## Project goal
The long-term goal of this project is to provide a viable alternative to Minecraft modding.
2015-07-17 08:08:53 -07:00
2020-03-05 06:22:22 -08:00
## Wiki
- [Getting started ](https://github.com/Unarelith/OpenMiner/wiki/Getting-Started )
2020-03-12 05:36:54 -07:00
- [Contributing ](https://github.com/Unarelith/OpenMiner/blob/master/CONTRIBUTING.md )
- [Coding style ](https://github.com/Unarelith/OpenMiner/wiki/Coding-Style )
2020-03-12 16:08:24 -07:00
- [Lua API ](https://openminer.readthedocs.io/en/latest/ )
2020-03-12 06:07:18 -07:00
- [Core API ](https://openminer.readthedocs.io/en/latest/lua-api-core/ )
- [Mod API ](https://openminer.readthedocs.io/en/latest/lua-api-mod/ )
- [Block ](https://openminer.readthedocs.io/en/latest/lua-api-block/ )
- [Item ](https://openminer.readthedocs.io/en/latest/lua-api-item/ )
- [Recipe ](https://openminer.readthedocs.io/en/latest/lua-api-recipe/ )
- [Sky ](https://openminer.readthedocs.io/en/latest/lua-api-sky/ )
- [Tree ](https://openminer.readthedocs.io/en/latest/lua-api-tree/ )
- [Biome ](https://openminer.readthedocs.io/en/latest/lua-api-biome/ )
- [Dimension ](https://openminer.readthedocs.io/en/latest/lua-api-dimension/ )
- [GUI API ](https://openminer.readthedocs.io/en/latest/lua-api-gui/ )
2020-03-12 15:38:34 -07:00
- [Crafting widget ](https://openminer.readthedocs.io/en/latest/lua-api-gui-crafting/ )
- [Image ](https://openminer.readthedocs.io/en/latest/lua-api-gui-image/ )
- [Inventory data ](https://openminer.readthedocs.io/en/latest/lua-api-gui-inventory-data/ )
- [Inventory widget ](https://openminer.readthedocs.io/en/latest/lua-api-gui-inventory/ )
- [Progress bar ](https://openminer.readthedocs.io/en/latest/lua-api-gui-progress-bar/ )
- [Scroll bar ](https://openminer.readthedocs.io/en/latest/lua-api-gui-scroll-bar/ )
2020-03-12 06:22:05 -07:00
- [C++ classes in Lua ](https://openminer.readthedocs.io/en/latest/lua-api-cpp/ )
2020-03-12 05:36:54 -07:00
- [Network Protocol ](https://github.com/Unarelith/OpenMiner/wiki/Network-Protocol )
2020-03-05 06:22:22 -08:00
2015-07-17 08:08:53 -07:00
## Keys
2018-06-12 14:28:06 -07:00
- Movement: < kbd > W</ kbd >< kbd > A</ kbd >< kbd > S</ kbd >< kbd > D</ kbd >
2018-06-20 15:55:38 -07:00
- Inventory: < kbd > E</ kbd >
2020-02-29 09:07:01 -08:00
- Creative window: < kbd > H</ kbd >
2020-02-21 09:16:19 -08:00
- Chat: < kbd > T</ kbd >
2018-06-24 13:32:20 -07:00
- Jump: < kbd > Space</ kbd >
2019-01-20 06:08:27 -08:00
- Sprint: < kbd > Ctrl</ kbd >
2018-06-24 13:32:20 -07:00
- Jetpack: < kbd > X</ kbd >
2015-07-17 08:08:53 -07:00
- Exit: < kbd > Escape</ kbd >
2020-01-21 16:35:42 -08:00
- Debug: < kbd > F3</ kbd >
2020-02-18 01:59:40 -08:00
- Fullscreen: < kbd > F11</ kbd >
2015-07-17 08:08:53 -07:00
## How to compile
2020-01-22 21:15:02 -08:00
### Using Linux
2015-07-17 08:08:53 -07:00
- Dependencies:
2020-04-28 05:31:48 -07:00
- A compiler with C++17 support (GCC >= 7.0 or clang >= 5.0)
2020-04-29 05:05:27 -07:00
- [CMake ](http://www.cmake.org/download/ ) (>= 3.12.4)
2019-01-05 08:15:03 -08:00
- [Lua ](http://www.lua.org )
2020-04-28 17:10:55 -07:00
- [GameKit dependencies ](https://github.com/Unarelith/GameKit#how-to-compile )
2018-06-12 14:28:06 -07:00
- _Linux users: Check your distribution repositories for packages._
2020-04-28 10:33:18 -07:00
- Run `cmake -B build . && cmake --build build -j8`
2020-04-28 15:27:05 -07:00
- Or `mkdir build && cd build && cmake .. && make -j8 && cmake ..` (for old CMake versions)
2020-04-28 10:33:18 -07:00
- Run the client with `./build/openminer`
- If you want a multiplayer game, run the server with `./build/openminer_server`
2015-07-17 08:08:53 -07:00
2020-01-22 21:15:02 -08:00
### Using Windows
- [Wiki: Compiling on Windows using CMake and MinGW-w64 ](https://github.com/Unarelith/OpenMiner/wiki/Compiling-on-Windows-with-MinGW-w64 )
- [Wiki: Compiling on Windows using CMake and Visual Studio 2017 ](https://github.com/Unarelith/OpenMiner/wiki/Compiling-on-Windows-with-Visual-Studio-2017 )
2020-04-28 16:09:07 -07:00
### Using OSX
I don't have an OSX system at the moment. But you can help me create a guide for this OS if you have one!
2018-12-26 08:57:46 -08:00
## Discussion
- Discord: [join server ](https://discord.gg/eN8k8wt )
2020-02-17 01:46:34 -08:00
- IRC: irc.freenode.net `#openminer`
2020-01-22 21:33:37 -08:00
2019-02-02 03:52:10 -08:00
## Project status
This list is non exhaustive.
2020-01-31 00:47:35 -08:00
### Implemented features
- Menus (title screen, server selection, pause menu, settings menu)
2020-03-07 05:58:23 -08:00
- Basic worldgen (biomes, lakes, trees, flowers, pseudo-caves)
2020-02-18 01:40:02 -08:00
- Infinite world in X/Y/Z axis ([#25](https://github.com/Unarelith/OpenMiner/pull/25))
2020-01-31 00:47:35 -08:00
- Lighting system with smooth lighting
2020-02-18 01:40:02 -08:00
- Networking ([#20](https://github.com/Unarelith/OpenMiner/pull/20))
2020-02-21 09:16:19 -08:00
- Chat system with support for commands ([#57](https://github.com/Unarelith/OpenMiner/pull/57))
2020-01-31 00:47:35 -08:00
- Lua API
2020-03-29 07:50:31 -07:00
- Block/item/recipe/biome/tree/sky/dimension definition
2020-01-31 00:47:35 -08:00
- Custom GUI creation
- Special blocks (workbench, furnace)
2020-02-08 00:45:20 -08:00
- Block metadata
2020-03-07 05:58:23 -08:00
- Player model display (currently without rotation nor animation)
2020-03-08 08:09:00 -07:00
- Dimensions (like the Nether or the Ender in Minecraft) ([#80](https://github.com/Unarelith/OpenMiner/pull/80))
2020-03-17 15:54:24 -07:00
- World loading/saving (using `/save <name>` and `/load <name>` commands, see [#26 ](https://github.com/Unarelith/OpenMiner/issues/26 ))
2020-04-05 07:59:34 -07:00
- Texture pack system (partially implemented, see [#34 ](https://github.com/Unarelith/OpenMiner/issues/34 ))
- Entities (block drops, mobs, etc...) ([#90](https://github.com/Unarelith/OpenMiner/pull/90))
2020-01-31 00:47:35 -08:00
### Missing features
2020-03-07 05:58:23 -08:00
- Fluid propagation ([#62](https://github.com/Unarelith/OpenMiner/issues/62))
2020-03-04 02:28:45 -08:00
- Day/night cycle with sun/moon display ([#73](https://github.com/Unarelith/OpenMiner/issues/73))
2020-03-07 05:58:23 -08:00
- Real worldgen (seed-based, cave tunnels) ([#79](https://github.com/Unarelith/OpenMiner/issues/79))
2020-02-18 01:40:02 -08:00
- Clouds ([#52](https://github.com/Unarelith/OpenMiner/pull/52))
2020-03-07 05:58:23 -08:00
- Particle system
2019-02-02 03:52:10 -08:00
2020-01-31 00:47:35 -08:00
## Screenshots
2019-02-02 03:52:10 -08:00
2020-01-31 00:47:35 -08:00
![](screenshot1.png?raw=true)
![](screenshot2.png?raw=true)
![](screenshot3.png?raw=true)
![](screenshot4.png?raw=true)
2020-03-09 13:10:03 -07:00
![](screenshot5.png?raw=true)
2020-03-12 07:17:21 -07:00
![](screenshot6.png?raw=true)
2019-02-02 03:52:10 -08:00
2019-01-08 15:01:31 -08:00
## Credits
2019-01-20 10:09:37 -08:00
- xMrVizzy ([Faithful 32x](https://www.curseforge.com/minecraft/texture-packs/faithful-32x) texture pack, will completely replace Vanilla textures)
2020-03-17 12:35:21 -07:00
- ThePhD ([sol2](https://github.com/ThePhD/sol2))
2019-01-08 15:01:31 -08:00