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