]> git.lizzy.rs Git - dragonblocks-bedrock.git/blob - README.txt
f35820546ce0517af577556c91e864a1138414c9
[dragonblocks-bedrock.git] / README.txt
1 DRAGONBLOCKS BEDROCK EDITION
2 Written in C++
3 An Open Source Project by Elias Fleckenstein
4
5 1. General
6         1.1. What this is about
7                 Dragonblocks originaly was a Browsergame I made that should be some kind of 2D Minetest (Minetest (www.minetest.net) is a game similar to Minecraft, except Minetest is free & open source and is meant to be modded). The JavaScript Edition is hosted at www.dragonblocks.tk and further developed then this C++ Version, through the C++ Version has advantages like map saving and lot larger map. I decided to call the C++ Version "Bedrock Edition" as a joke for the Minecraft C++ Version is Called Bedrock or Pocket Edition.
8         1.2. Version
9                 This is the Dragonblocks Bedrock Edition 3.0.
10         1.4. Bugs
11                 Please Report Bugs to eliasfleckenstein@web.de.
12         1.5. License
13                 Copyright 2020 Elias Fleckenstein <eliasfleckenstein@web.de>
14                 
15                 This program is free software; you can redistribute it and/or modify
16                 it under the terms of the GNU General Public License as published by
17                 the Free Software Foundation; either version 2 of the License, or
18                 (at your option) any later version.
19                 
20                 This program is distributed in the hope that it will be useful,
21                 but WITHOUT ANY WARRANTY; without even the implied warranty of
22                 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
23                 GNU General Public License for more details.
24
25                 You should have received a copy of the GNU General Public License
26                 along with this program; if not, write to the Free Software
27                 Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston,
28                 MA 02110-1301, USA.
29
30 2. Starting the Game
31         2.1. Platform Compability
32                 This Game was developed on linux, therefore following instructions are only for linux users, basically because I have no idea how to
33                 port the game to other platforms. Feel free to add building instructions for other systems over github.
34         2.3. Download
35                 You can download the game using git:
36                         $ git clone https://
37         2.2. Dependencies:
38                 You need Freeglut, OpenGl, Cmake, Liblua and Libpng.
39                 If you are on Debian/Ubuntu You can install them over apt: 
40                         $ sudo apt install liblua5.3-dev freeglut3-dev libgl1-mesa-dev cmake libpng-dev
41     2.3. Building
42         to Build dragonblocks run:
43             $ cd dragonblocks
44             $ cmake .
45             $ make
46         2.4. Exectute
47                 2.4.1. Run-In-Place
48                         Invoke dragonblocks by typing:
49                 $ cd dragonblocks
50                 $ bin/dragonblocks --worldname <your_worldname>
51             To see a list of worlds do:
52                 $ bin/dragonblocks --worldlist
53             You can select a world from this list or create a new one.
54             For more info run:
55                                 $ bin/dragonblocks --help
56                 2.4.2. Installation
57                         You can install dragonblocks by doing:
58                                 $ sudo ./install.sh
59                         It will copy the dragonblocks directory to /usr/share/dragonblocks and place a script in
60                         /usr/bin/dragonblocks that starts dragonblocks.
61
62 3. Developing
63         3.1. The Lua Modding API
64                 If you want to add a lua file to the game, place it in the game folder and add a dofile() in game/init.lua
65                 Note: The lua api currently consists of only two functions. If you want to add something I'm open to ideas or code.
66                 dragonblocks.register_node(obj)
67                         Register a new node
68                         obj has to contain:
69                                 name: string - the itemstring. It should follow the convention "modulename:nodename"
70                                 texture: string - the texture path. Textures should be placed in the textures folder and have to be 16 x 16 px.
71                         obj can contain:
72                                 stable: boolean - Nodes like water or air are unstable. [default = true]
73                                 hidden: boolean - The Node will be hidden in the invenotry. [default = false]
74                                 translucent: boolean - Whether the node's texture should be transparent. [default = false]
75                 dragonblocks.log(text)
76                         Log something.
77         3.2. The C++ API
78                 The C++ API is probably to big to explain here, but if you do C++ you should understand it. In case you have questions, feel free to ask them on github. You can also contribute code if you want.