OpenMiner/README.md

129 lines
5.5 KiB
Markdown
Raw Permalink Normal View History

2018-12-19 15:00:01 -08:00
# OpenMiner
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)
[![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
[![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-07-30 08:11:56 -07:00
[![Donate PayPal](https://img.shields.io/badge/donate-paypal-brightgreen.svg)](https://www.paypal.me/Unarelith)
[![Donate Patreon](https://img.shields.io/badge/donate-patreon-brightgreen.svg)](https://www.patreon.com/unarelith)
2019-02-03 04:55:34 -08:00
- [Project goal](#project-goal)
2020-01-22 21:33:37 -08:00
- [Wiki](#wiki)
- [Keys](#keys)
2019-02-03 04:55:34 -08:00
- [How to compile](#how-to-compile)
- [Using Windows](#using-windows)
2020-05-22 07:22:57 -07:00
- [Using Linux](#using-linux)
2020-04-29 15:24:10 -07:00
- [Using MacOS](#using-macos)
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.
## Wiki
- [Getting started](https://github.com/Unarelith/OpenMiner/wiki/Getting-Started)
- [Contributing](https://github.com/Unarelith/OpenMiner/blob/master/CONTRIBUTING.md)
2020-07-30 07:19:10 -07:00
- [How to use git](https://github.com/Unarelith/OpenMiner/wiki/How-to-use-git)
2020-07-10 16:29:45 -07:00
- [Roadmap](https://github.com/Unarelith/OpenMiner/wiki/Roadmap)
- [Coding style](https://github.com/Unarelith/OpenMiner/wiki/Coding-Style)
- [Lua API](https://openminer.readthedocs.io/en/latest/)
- [Core API](https://openminer.readthedocs.io/en/latest/lua-api-core/)
- [Mod API](https://openminer.readthedocs.io/en/latest/lua-api-mod/)
- [GUI API](https://openminer.readthedocs.io/en/latest/lua-api-gui/)
- [C++ classes in Lua](https://openminer.readthedocs.io/en/latest/lua-api-cpp/)
2020-06-19 08:18:18 -07:00
- [Network Protocol](https://openminer.readthedocs.io/en/latest/network-protocol/)
## Keys
2018-06-12 14:28:06 -07:00
- Movement: <kbd>W</kbd><kbd>A</kbd><kbd>S</kbd><kbd>D</kbd>
- Inventory: <kbd>E</kbd>
2020-02-29 09:07:01 -08:00
- Creative window: <kbd>H</kbd>
- 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>
- Exit: <kbd>Escape</kbd>
2020-01-21 16:35:42 -08:00
- Debug: <kbd>F3</kbd>
- Fullscreen: <kbd>F11</kbd>
## How to compile
2020-05-22 07:22:57 -07:00
### Using Windows
- [Wiki: Compiling on Windows using CMake and MinGW-w64](https://github.com/Unarelith/OpenMiner/wiki/Compiling-on-Windows-with-MinGW-w64)
2020-05-22 21:06:16 -07:00
- [Wiki: Compiling on Windows using CMake and Visual Studio 2019](https://github.com/Unarelith/OpenMiner/wiki/Compiling-on-Windows-with-Visual-Studio-2019)
2020-05-22 07:22:57 -07:00
2020-01-22 21:15:02 -08:00
### Using Linux
2020-05-31 14:38:45 -07:00
- [Wiki: Compiling on Linux](https://github.com/Unarelith/OpenMiner/wiki/Compiling-on-Linux)
2020-04-29 15:24:10 -07:00
### Using MacOS
2020-05-22 07:22:57 -07:00
- Dependencies:
2020-04-29 15:24:10 -07:00
- A compiler with C++17 support (GCC >= 7.0 or clang >= 5.0)
2020-05-22 07:22:57 -07:00
- `git` and [CMake](http://www.cmake.org/download/) (>= 3.12.4)
- **Optional:** `ninja` (much faster builds)
- _Check Homebrew for packages._
2020-04-29 15:24:10 -07:00
- Run `cmake -B build . && cmake --build build`; if you installed `ninja` above, add `-GNinja` before `-B` in the previous command.
- Run the client with `./build/openminer`
- If you want a multiplayer game, run the server with `./build/openminer_server`
2018-12-26 08:57:46 -08:00
## Discussion
- Discord: [join server](https://discord.gg/eN8k8wt)
- 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 not complete.
2020-07-17 10:24:28 -07:00
See also the roadmap for 1.0.0 [here](https://github.com/Unarelith/OpenMiner/wiki/Roadmap).
2019-02-02 03:52:10 -08:00
2020-01-31 00:47:35 -08:00
### Implemented features
- Menus (title screen, world selection, settings, etc...)
2020-03-07 05:58:23 -08:00
- Basic worldgen (biomes, lakes, trees, flowers, pseudo-caves)
- Pseudo-infinite world in X/Y/Z axis (2^32 * 2^32 * 2^32 blocks) ([#25](https://github.com/Unarelith/OpenMiner/pull/25))
- Smooth lighting + ambient occlusion
- Client/server architecture ([#20](https://github.com/Unarelith/OpenMiner/pull/20))
- Chat with support for commands (for example `/tp`) ([#57](https://github.com/Unarelith/OpenMiner/pull/57))
- Lua modding API
2020-05-22 10:14:47 -07:00
- Block/item/recipe/biome/tree/sky/dimension/entity definition
2020-01-31 00:47:35 -08:00
- Custom GUI creation
- Blocks can have an inventory and update every server tick (workbench, furnace)
- Block metadata
- Player model display (without 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))
- World loading/saving (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))
2020-05-22 10:14:47 -07:00
- Entities ([#90](https://github.com/Unarelith/OpenMiner/pull/90))
2020-07-17 10:24:28 -07:00
- Day/night cycle with sun/moon/stars ([#154](https://github.com/Unarelith/OpenMiner/pull/154))
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))
- Seed-based worldgen ([#116](https://github.com/Unarelith/OpenMiner/issues/116))
- Cave tunnels ([#118](https://github.com/Unarelith/OpenMiner/issues/118))
- Clouds ([#156](https://github.com/Unarelith/OpenMiner/issues/156))
2020-07-17 10:24:28 -07:00
- Particle system ([#155](https://github.com/Unarelith/OpenMiner/issues/155))
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)
![](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))
2020-04-29 12:26:12 -07:00
- skypjack ([EnTT](https://github.com/skypjack/entt))
2019-01-08 15:01:31 -08:00