Compare commits
92 Commits
Author | SHA1 | Date | |
---|---|---|---|
71f3ccfb14 | |||
8137445dea | |||
3c802b6bff | |||
f30bdf99f2 | |||
92730881b4 | |||
7d76f3864e | |||
61c4c648fd | |||
7ebedc68bb | |||
536d635e25 | |||
e5e49ed965 | |||
befafde095 | |||
fb5213f5b1 | |||
8e7aea0317 | |||
19f2fa7435 | |||
686d5316af | |||
b7cef82da8 | |||
6e5953de5a | |||
bef0f2bf88 | |||
dec9355307 | |||
15eafe7030 | |||
754e7a16da | |||
19bb32d0fe | |||
abb5239726 | |||
66639b1d28 | |||
1a596ef342 | |||
0307430163 | |||
13b743622b | |||
9750ee5f29 | |||
cd4a46d666 | |||
9c85fc158f | |||
c588873976 | |||
8d678c2be2 | |||
132c7e80d4 | |||
842968d9eb | |||
54ce0c9276 | |||
5e5d5010f8 | |||
57856634f1 | |||
9dd709485b | |||
76684bb865 | |||
835ec72219 | |||
3a2e2f0112 | |||
6f985e9fe7 | |||
e4d0438bf4 | |||
15ec997551 | |||
fb05183e95 | |||
7baa81b17b | |||
586b05da56 | |||
b301fed084 | |||
dc02970d08 | |||
730f23f88f | |||
39ed2c3f1f | |||
778538daea | |||
735db2250b | |||
08be6581fe | |||
1f089ce75e | |||
e7c528e1f2 | |||
d3a038bae5 | |||
03b6237d9f | |||
a7040140dc | |||
0f5525177e | |||
c448c65fdf | |||
14f1d1a8e0 | |||
b6e95769f8 | |||
729494e8af | |||
fe88e3bb2e | |||
3f773bb856 | |||
ca0d318e44 | |||
f5c95744ae | |||
f2bccb3d05 | |||
0ccb3df37b | |||
7f9b65045f | |||
b6bbd7dabe | |||
3a8bdb7e7f | |||
367109e8f0 | |||
5b5206b402 | |||
c334970311 | |||
9ccd5caf09 | |||
0b908c3d67 | |||
1e1ae634f9 | |||
b45d5ff7fc | |||
2abd633176 | |||
082ae7190f | |||
c29eeaecfd | |||
1553c63f93 | |||
0541679cf9 | |||
128f480e49 | |||
e81652db15 | |||
12326c7bee | |||
cb4d8c88c4 | |||
f459607392 | |||
0f03fe2dac | |||
24075b8cba |
22
.gitattributes
vendored
Normal file
@ -0,0 +1,22 @@
|
||||
# Auto detect text files and perform LF normalization
|
||||
* text=auto
|
||||
|
||||
# Custom for Visual Studio
|
||||
*.cs diff=csharp
|
||||
*.sln merge=union
|
||||
*.csproj merge=union
|
||||
*.vbproj merge=union
|
||||
*.fsproj merge=union
|
||||
*.dbproj merge=union
|
||||
|
||||
# Standard to msysgit
|
||||
*.doc diff=astextplain
|
||||
*.DOC diff=astextplain
|
||||
*.docx diff=astextplain
|
||||
*.DOCX diff=astextplain
|
||||
*.dot diff=astextplain
|
||||
*.DOT diff=astextplain
|
||||
*.pdf diff=astextplain
|
||||
*.PDF diff=astextplain
|
||||
*.rtf diff=astextplain
|
||||
*.RTF diff=astextplain
|
0
.gitignore
vendored
Executable file → Normal file
115
README.md
Executable file → Normal file
@ -1,76 +1,81 @@
|
||||
# Darkage mod for Minetest
|
||||
This mod adds some new blocks that allow pre-industrial looking buildings to be made.
|
||||
Of course, feel free to use them for any other type of construction.
|
||||
# DarkAge Mod for Minetest
|
||||
|
||||
This mod originally created by MasterGollum and is now maintained and being improved upon by addi and CraigyDavi.
|
||||
Original mod by Master Gollum
|
||||
Modified by addi.
|
||||
|
||||
**Depends:** default, stairs?, stairsplus?
|
||||
Contains code from CragiDavi and HybridDog
|
||||
|
||||
**License:** Code and textures, [WTFPL](http://www.wtfpl.net/txt/copying/)
|
||||
## Introduction
|
||||
|
||||
**Installation:** Unzip the file and rename it to "darkage". Then move it to the mod directory.
|
||||
This mod adds a few new blocks that allows to create new buildings in a
|
||||
pre industrial landscape. Of course, feel free to use them in any other
|
||||
construction :P
|
||||
|
||||
## Changelog
|
||||
**Version Development**
|
||||
It also provides more layers of stones. I tried not to turn mining in
|
||||
a rainbow, so don't expect to find them easily. There are two kinds of
|
||||
materials, stones, that spawns in layers at different deep and clay
|
||||
like materials (silt and mud) that you will find in water places.
|
||||
Silt and Mud are more easy to find than stone layers, but if you find
|
||||
one it will be a real mine, with all probability with hundreds of blocks.
|
||||
|
||||
**Version 1.3**
|
||||
I used mainly 4 square recipes to avoid collisions with other MODs,
|
||||
anyway I have not checked all them, so it is possible that another
|
||||
person is already using one or more of this combinations.
|
||||
|
||||
* Many, many craft recipe changes
|
||||
* New lamp texture
|
||||
* New mud and mud lump texture
|
||||
* Add some more stairs, fix existing stairs
|
||||
* Fixes problems with light emmiting nodes
|
||||
* Fix caves generating in blocks which are not ground content
|
||||
* Remove textures32 folder, code cleanup
|
||||
I also used Desert Sand and Desert Stone, because they almost are not
|
||||
used in the default version. Probably I will change this recipes in
|
||||
next releases.
|
||||
|
||||
**Version 1.2**
|
||||
## Release Notes
|
||||
|
||||
* Corrected Sounds of Stairs
|
||||
* Updated mod to use new moreblocks API
|
||||
* Added Serpentine Stairs
|
||||
### Version 1.4
|
||||
|
||||
**Version 1.1**
|
||||
* New Textures by Skamiz
|
||||
* serveral mapgen fixes
|
||||
* Maintenance stuff
|
||||
|
||||
* Fix spelling mistakes in README file
|
||||
* Bug fix
|
||||
* Rename slate_tale to slate_tile
|
||||
* Remove unneeded code
|
||||
* Add marble tile
|
||||
* Remove unneeded code
|
||||
* Capitalise a couple of descriptions
|
||||
* Add marble tile texture
|
||||
* Rename alias.lua to aliases.lua
|
||||
Full release notes: <https://github.com/adrido/darkage/releases>
|
||||
|
||||
**Version 1.0.1**
|
||||
## How to install
|
||||
|
||||
* Fixed broken init.lua
|
||||
Unzip the archive an place it in minetest-base-directory/mods/
|
||||
if you have a windows client or a linux run-in-place client. If you
|
||||
have a linux system-wide installation place it in
|
||||
~/.minetest/mods/.
|
||||
If you want to install this mod only in one world create the folder
|
||||
worldmods/ in your worlddirectory. Remember to activate it for your world by pressing the 'configure' button and doubleclick darkage in the right list.
|
||||
For further information or help see:
|
||||
<http://wiki.minetest.net/Installing_Mods>
|
||||
|
||||
**Version 1.0**
|
||||
## Wiki
|
||||
|
||||
* Compatibility with stairsplus added
|
||||
* Added new iron_stick item
|
||||
* Added craft for iron stick
|
||||
* Changed craft reciep of iron_bars to avoid conflicts with iron bars mod
|
||||
* Changed craft recipe of chain to avoid conflicts with 3d furniture mod
|
||||
* Changed craft recipe of darkage:stonebrick to avoid conflicts with moreblocks
|
||||
* Disabled marble_tile
|
||||
* Added darkage:glass
|
||||
* Changed the sound_node_leaves_default to wood_default for boxes and wooden shelves
|
||||
* Added craft recipe for chalk
|
||||
* Improved the textures of reinforced wood and chalk
|
||||
* Added another recipe for darkage straw
|
||||
For Building-blocks and crafting information please take a look to the wiki:
|
||||
<https://github.com/adrido/darkage/wiki>
|
||||
|
||||
**Version 0.3**
|
||||
## License
|
||||
|
||||
* 29 Nodes + 3 Craft Items
|
||||
* Furniture and building decoration
|
||||
* Stone layers
|
||||
Sourcecode: WTFPL (see below)
|
||||
Graphics: WTFPL (see below)
|
||||
|
||||
**Version 0.2**
|
||||
## See also
|
||||
|
||||
* 13 Nodes
|
||||
* Sedimentary stones
|
||||
<http://minetest.net/>
|
||||
|
||||
**Version 0.1**
|
||||
---
|
||||
|
||||
* 6 Nodes
|
||||
```text
|
||||
|
||||
DO WHAT THE FUCK YOU WANT TO PUBLIC LICENSE
|
||||
Version 2, December 2004
|
||||
|
||||
Copyright (C) 2004 Sam Hocevar <sam@hocevar.net>
|
||||
|
||||
Everyone is permitted to copy and distribute verbatim or modified
|
||||
copies of this license document, and changing it is allowed as long
|
||||
as the name is changed.
|
||||
|
||||
DO WHAT THE FUCK YOU WANT TO PUBLIC LICENSE
|
||||
TERMS AND CONDITIONS FOR COPYING, DISTRIBUTION AND MODIFICATION
|
||||
|
||||
0. You just DO WHAT THE FUCK YOU WANT TO.
|
||||
```
|
||||
|
185
aliases.lua
Executable file → Normal file
@ -1,90 +1,101 @@
|
||||
-- darkage:desert_stone_cobble + stairs/slabs/microblocks -> default:desert_cobble + stairs/slabs/microblocks
|
||||
minetest.register_alias("darkage:desert_stone_cobble","default:desert_cobble")
|
||||
minetest.register_alias("darkage:stair_desert_stone_cobble_wall_half","default:stair_desert_cobble_wall_half")
|
||||
minetest.register_alias("darkage:slab_desert_stone_cobble_inverted","default:slab_desert_cobble_inverted")
|
||||
minetest.register_alias("darkage:stair_desert_stone_cobble_inverted","default:stair_desert_cobble_inverted")
|
||||
minetest.register_alias("darkage:stair_desert_stone_cobble_outer","default:stair_desert_cobble_outer")
|
||||
minetest.register_alias("darkage:slab_desert_stone_cobble_three_quarter_wall","default:slab_desert_cobble_three_quarter_wall")
|
||||
minetest.register_alias("darkage:slab_desert_stone_cobble_quarter","default:slab_desert_cobble_quarter")
|
||||
minetest.register_alias("darkage:slab_desert_stone_cobble","default:slab_desert_cobble")
|
||||
minetest.register_alias("darkage:slab_desert_stone_cobble_quarter_inverted","default:slab_desert_cobble_quarter_inverted")
|
||||
minetest.register_alias("darkage:stair_desert_stone_cobble_wall","default:stair_desert_cobble_wall")
|
||||
minetest.register_alias("darkage:stair_desert_stone_cobble_outer_inverted","default:stair_desert_cobble_outer_inverted")
|
||||
minetest.register_alias("darkage:stair_desert_stone_cobble_half","default:stair_desert_cobble_half")
|
||||
minetest.register_alias("darkage:stair_desert_stone_cobble_wall_half_inverted","default:stair_desert_cobble_wall_half_inverted")
|
||||
minetest.register_alias("darkage:micro_desert_stone_cobble_bottom","default:micro_desert_cobble_bottom")
|
||||
minetest.register_alias("darkage:panel_desert_stone_cobble_bottom","default:panel_desert_cobble_bottom")
|
||||
minetest.register_alias("darkage:stair_desert_stone_cobble_half_inverted","default:stair_desert_cobble_half_inverted")
|
||||
minetest.register_alias("darkage:micro_desert_stone_cobble_top","default:micro_desert_cobble_top")
|
||||
minetest.register_alias("darkage:slab_desert_stone_cobble_quarter_wall","default:slab_desert_cobble_quarter_wall")
|
||||
minetest.register_alias("darkage:stair_desert_stone_cobble_right_half","default:stair_desert_cobble_right_half")
|
||||
minetest.register_alias("darkage:stair_desert_stone_cobble_right_half_inverted","default:stair_desert_cobble_right_half_inverted")
|
||||
minetest.register_alias("darkage:slab_desert_stone_cobble_three_quarter","default:slab_desert_cobble_three_quarter")
|
||||
minetest.register_alias("darkage:panel_desert_stone_cobble_top","default:panel_desert_cobble_top")
|
||||
minetest.register_alias("darkage:stair_desert_stone_cobble_inner","default:stair_desert_cobble_inner")
|
||||
minetest.register_alias("darkage:stair_desert_stone_cobble","default:stair_desert_cobble")
|
||||
minetest.register_alias("darkage:panel_desert_stone_cobble_vertical","default:panel_desert_cobble_vertical")
|
||||
minetest.register_alias("darkage:stair_desert_stone_cobble_inner_inverted","default:stair_desert_cobble_inner_inverted")
|
||||
minetest.register_alias("darkage:slab_desert_stone_cobble_three_quarter_inverted","default:slab_desert_cobble_three_quarter_inverted")
|
||||
--[[
|
||||
This function registers alias for all micro, panel, stair nodes that get registered by moreblocks
|
||||
Converts all nodes from origin to new
|
||||
* origin: nodename in form of "modname:oldnode"
|
||||
* new: nodename in form of "modname:newnode"
|
||||
]]
|
||||
local function register_moreblocks_alias(origin, new)
|
||||
local originmod = origin:split(":")[1]
|
||||
local originnode = origin:split(":")[2]
|
||||
local newmod = new:split(":")[1]
|
||||
local newnode = new:split(":")[2]
|
||||
local ra = minetest.register_alias
|
||||
ra(originmod.. ":micro_" ..originnode.."_1", newmod..":micro_" ..newnode.."_1")
|
||||
ra(originmod.. ":panel_" ..originnode.."_1", newmod..":panel_" ..newnode.."_1")
|
||||
ra(originmod.. ":micro_" ..originnode.."_2", newmod..":micro_" ..newnode.."_2")
|
||||
ra(originmod.. ":panel_" ..originnode.."_2", newmod..":panel_" ..newnode.."_2")
|
||||
ra(originmod.. ":micro_" ..originnode.."_4", newmod..":micro_" ..newnode.."_4")
|
||||
ra(originmod.. ":panel_" ..originnode.."_4", newmod..":panel_" ..newnode.."_4")
|
||||
ra(originmod.. ":micro_" ..originnode, newmod..":micro_" ..newnode)
|
||||
ra(originmod.. ":panel_" ..originnode, newmod..":panel_" ..newnode)
|
||||
ra(originmod.. ":micro_" ..originnode.."_12", newmod..":micro_" ..newnode.."_12")
|
||||
ra(originmod.. ":panel_" ..originnode.."_12", newmod..":panel_" ..newnode.."_12")
|
||||
ra(originmod.. ":micro_" ..originnode.."_14", newmod..":micro_" ..newnode.."_14")
|
||||
ra(originmod.. ":panel_" ..originnode.."_14", newmod..":panel_" ..newnode.."_14")
|
||||
ra(originmod.. ":micro_" ..originnode.."_15", newmod..":micro_" ..newnode.."_15")
|
||||
ra(originmod.. ":panel_" ..originnode.."_15", newmod..":panel_" ..newnode.."_15")
|
||||
|
||||
ra(originmod.. ":stair_" ..originnode.."_outer", newmod..":stair_" ..newnode.."_outer")
|
||||
ra(originmod.. ":stair_" ..originnode, newmod..":stair_" ..newnode)
|
||||
ra(originmod.. ":stair_" ..originnode.."_inner", newmod..":stair_" ..newnode.."_inner")
|
||||
|
||||
ra(originmod.. ":slab_" ..originnode.."_1", newmod..":slab_" ..newnode.."_1")
|
||||
ra(originmod.. ":slab_" ..originnode.."_2", newmod..":slab_" ..newnode.."_2")
|
||||
ra(originmod.. ":slab_" ..originnode.."_quarter", newmod..":slab_" ..newnode.."_quarter")
|
||||
ra(originmod.. ":slab_" ..originnode, newmod..":slab_" ..newnode)
|
||||
ra(originmod.. ":slab_" ..originnode.."_three_quarter", newmod..":slab_" ..newnode.."_three_quarter")
|
||||
ra(originmod.. ":slab_" ..originnode.."_14", newmod..":slab_" ..newnode.."_14")
|
||||
ra(originmod.. ":slab_" ..originnode.."_15", newmod..":slab_" ..newnode.."_15")
|
||||
|
||||
ra(originmod.. ":stair_" ..originnode.."_half", newmod..":stair_" ..newnode.."_half")
|
||||
ra(originmod.. ":stair_" ..originnode.."_right_half", newmod..":stair_" ..newnode.."_right_half")
|
||||
|
||||
ra(originmod.. ":stair_" ..originnode.."_alt_1", newmod..":stair_" ..newnode.."_alt_1")
|
||||
ra(originmod.. ":stair_" ..originnode.."_alt_2", newmod..":stair_" ..newnode.."_alt_2")
|
||||
ra(originmod.. ":stair_" ..originnode.."_alt_4", newmod..":stair_" ..newnode.."_alt_4")
|
||||
ra(originmod.. ":stair_" ..originnode.."_alt", newmod..":stair_" ..newnode.."_alt")
|
||||
ra(originmod.. ":slope_" ..originnode, newmod..":slope_" ..newnode)
|
||||
ra(originmod.. ":slope_" ..originnode.."_half", newmod..":slope_" ..newnode.."_half")
|
||||
ra(originmod.. ":slope_" ..originnode.."_half_raised", newmod..":slope_" ..newnode.."_half_raised")
|
||||
|
||||
ra(originmod.. ":slope_" ..originnode.."_inner", newmod..":slope_" ..newnode.."_inner")
|
||||
ra(originmod.. ":slope_" ..originnode.."_inner_half", newmod..":slope_" ..newnode.."_inner_half")
|
||||
ra(originmod.. ":slope_" ..originnode.."_inner_half_raised", newmod..":slope_" ..newnode.."_inner_half_raised")
|
||||
ra(originmod.. ":slope_" ..originnode.."_inner_cut", newmod..":slope_" ..newnode.."_inner_cut")
|
||||
ra(originmod.. ":slope_" ..originnode.."_inner_cut_half", newmod..":slope_" ..newnode.."_inner_cut_half")
|
||||
ra(originmod.. ":slope_" ..originnode.."_inner_cut_half_raised", newmod..":slope_" ..newnode.."_inner_cut_half_raised")
|
||||
|
||||
ra(originmod.. ":slope_" ..originnode.."_outer", newmod..":slope_" ..newnode.."_outer")
|
||||
ra(originmod.. ":slope_" ..originnode.."_outer_half", newmod..":slope_" ..newnode.."_outer_half")
|
||||
ra(originmod.. ":slope_" ..originnode.."_outer_half_raised", newmod..":slope_" ..newnode.."_outer_half_raised")
|
||||
ra(originmod.. ":slope_" ..originnode.."_outer_cut", newmod..":slope_" ..newnode.."_outer_cut")
|
||||
ra(originmod.. ":slope_" ..originnode.."_outer_cut_half", newmod..":slope_" ..newnode.."_outer_cut_half")
|
||||
ra(originmod.. ":slope_" ..originnode.."_outer_cut_half_raised", newmod..":slope_" ..newnode.."_outer_cut_half_raised")
|
||||
ra(originmod.. ":slope_" ..originnode.."_cut", newmod..":slope_" ..newnode.."_cut")
|
||||
end
|
||||
|
||||
-- darkage:sandstone_cobble + stairs/slabs/microblocks -> default:sandstonebrick + stairs/slabs/microblocks
|
||||
minetest.register_alias("darkage:sandstone_cobble","default:sandstonebrick")
|
||||
minetest.register_alias("darkage:stair_sandstone_cobble_wall_half","default:stair_sandstonebrick_wall_half")
|
||||
minetest.register_alias("darkage:slab_sandstone_cobble_inverted","default:slab_sandstonebrick_inverted")
|
||||
minetest.register_alias("darkage:stair_sandstone_cobble_inverted","default:stair_sandstonebrick_inverted")
|
||||
minetest.register_alias("darkage:stair_sandstone_cobble_outer","default:stair_sandstonebrick_outer")
|
||||
minetest.register_alias("darkage:slab_sandstone_cobble_three_quarter_wall","default:slab_sandstonebrick_three_quarter_wall")
|
||||
minetest.register_alias("darkage:slab_sandstone_cobble_quarter","default:slab_sandstonebrick_quarter")
|
||||
minetest.register_alias("darkage:slab_sandstone_cobble","default:slab_sandstonebrick")
|
||||
minetest.register_alias("darkage:slab_sandstone_cobble_quarter_inverted","default:slab_sandstonebrick_quarter_inverted")
|
||||
minetest.register_alias("darkage:stair_sandstone_cobble_wall","default:stair_sandstonebrick_wall")
|
||||
minetest.register_alias("darkage:stair_sandstone_cobble_outer_inverted","default:stair_sandstonebrick_outer_inverted")
|
||||
minetest.register_alias("darkage:stair_sandstone_cobble_half","default:stair_sandstonebrick_half")
|
||||
minetest.register_alias("darkage:stair_sandstone_cobble_wall_half_inverted","default:stair_sandstonebrick_wall_half_inverted")
|
||||
minetest.register_alias("darkage:micro_sandstone_cobble_bottom","default:micro_sandstonebrick_bottom")
|
||||
minetest.register_alias("darkage:panel_sandstone_cobble_bottom","default:panel_sandstonebrick_bottom")
|
||||
minetest.register_alias("darkage:stair_sandstone_cobble_half_inverted","default:stair_sandstonebrick_half_inverted")
|
||||
minetest.register_alias("darkage:micro_sandstone_cobble_top","default:micro_sandstonebrick_top")
|
||||
minetest.register_alias("darkage:slab_sandstone_cobble_quarter_wall","default:slab_sandstonebrick_quarter_wall")
|
||||
minetest.register_alias("darkage:stair_sandstone_cobble_right_half","default:stair_sandstonebrick_right_half")
|
||||
minetest.register_alias("darkage:stair_sandstone_cobble_right_half_inverted","default:stair_sandstonebrick_right_half_inverted")
|
||||
minetest.register_alias("darkage:slab_sandstone_cobble_three_quarter","default:slab_sandstonebrick_three_quarter")
|
||||
minetest.register_alias("darkage:panel_sandstone_cobble_top","default:panel_sandstonebrick_top")
|
||||
minetest.register_alias("darkage:stair_sandstone_cobble_inner","default:stair_sandstonebrick_inner")
|
||||
minetest.register_alias("darkage:stair_sandstone_cobble","default:stair_sandstonebrick")
|
||||
minetest.register_alias("darkage:panel_sandstone_cobble_vertical","default:panel_sandstonebrick_vertical")
|
||||
minetest.register_alias("darkage:stair_sandstone_cobble_inner_inverted","default:stair_sandstonebrick_inner_inverted")
|
||||
minetest.register_alias("darkage:slab_sandstone_cobble_three_quarter_inverted","default:slab_sandstonebrick_three_quarter_inverted")
|
||||
-- Ors Brick
|
||||
minetest.register_alias("darkage:ors_cobble", "darkage:ors_brick")
|
||||
minetest.register_alias("stairs:slab_ors_cobble", "stairs:slab_ors_brick")
|
||||
minetest.register_alias("stairs:stair_ors_cobble", "stairs:stair_ors_brick")
|
||||
register_moreblocks_alias("darkage:ors_cobble", "darkage:ors_brick")
|
||||
minetest.register_alias("darkage:ors_cobble_wall", "darkage:ors_rubble_wall")
|
||||
|
||||
-- darkage:slate_tale + stairs/slabs/microblocks -> darkage:slate_tile + stairs/slabs/microblocks
|
||||
minetest.register_alias("darkage:slate_tile","darkage:slate_tale")
|
||||
minetest.register_alias("darkage:slab_slate_tile_inverted","darkage:slab_slate_tale_inverted")
|
||||
minetest.register_alias("darkage:slab_slate_tile_wall","darkage:slab_slate_tale_wall")
|
||||
minetest.register_alias("darkage:slab_slate_tile_quarter","darkage:slab_slate_tale_quarter")
|
||||
minetest.register_alias("darkage:slab_slate_tile_quarter_inverted","darkage:slab_slate_tale_quarter_inverted")
|
||||
minetest.register_alias("darkage:slab_slate_tile_quarter_wall","darkage:slab_slate_tale_quarter_wall")
|
||||
minetest.register_alias("darkage:slab_slate_tile_three_quarter","darkage:slab_slate_tale_three_quarter")
|
||||
minetest.register_alias("darkage:slab_slate_tile_three_quarter_inverted","darkage:slab_slate_tale_three_quarter_inverted")
|
||||
minetest.register_alias("darkage:slab_slate_tile_three_quarter_wall","darkage:slab_slate_tale_three_quarter_wall")
|
||||
minetest.register_alias("darkage:stair_slate_tile_inverted","darkage:stair_slate_tale_inverted")
|
||||
minetest.register_alias("darkage:stair_slate_tile_wall","darkage:stair_slate_tale_wall")
|
||||
minetest.register_alias("darkage:stair_slate_tile_wall_half","darkage:stair_slate_tale_wall_half")
|
||||
minetest.register_alias("darkage:stair_slate_tile_wall_half_inverted","darkage:stair_slate_tale_wall_half_inverted")
|
||||
minetest.register_alias("darkage:stair_slate_tile_half","darkage:stair_slate_tale_half")
|
||||
minetest.register_alias("darkage:stair_slate_tile_half_inverted","darkage:stair_slate_tale_half_inverted")
|
||||
minetest.register_alias("darkage:stair_slate_tile_right_half","darkage:stair_slate_tale_right_half")
|
||||
minetest.register_alias("darkage:stair_slate_tile_right_half_inverted","darkage:stair_slate_tale_right_half_inverted")
|
||||
minetest.register_alias("darkage:stair_slate_tile_wall_half","darkage:stair_slate_tale_wall_half")
|
||||
minetest.register_alias("darkage:stair_slate_tile_wall_half_inverted","darkage:stair_slate_tale_wall_half_inverted")
|
||||
minetest.register_alias("darkage:stair_slate_tile_inner","darkage:stair_slate_tale_inner")
|
||||
minetest.register_alias("darkage:stair_slate_tile_inner_inverted","darkage:stair_slate_tale_inner_inverted")
|
||||
minetest.register_alias("darkage:stair_slate_tile_outer","darkage:stair_slate_tale_outer")
|
||||
minetest.register_alias("darkage:stair_slate_tile_outer_inverted","darkage:stair_slate_tale_outer_inverted")
|
||||
minetest.register_alias("darkage:panel_slate_tile_bottom","darkage:panel_slate_tale_bottom")
|
||||
minetest.register_alias("darkage:panel_slate_tile_top","darkage:panel_slate_tale_top")
|
||||
minetest.register_alias("darkage:panel_slate_tile_vertical","darkage:panel_slate_tale_vertical")
|
||||
minetest.register_alias("darkage:micro_slate_tile_bottom","darkage:micro_slate_tale_bottom")
|
||||
minetest.register_alias("darkage:micro_slate_tile_top","darkage:micro_slate_tale_top")
|
||||
-- Slate Tile
|
||||
minetest.register_alias( "darkage:slate_tale", "darkage:slate_tile")
|
||||
register_moreblocks_alias("darkage:slate_tale", "darkage:slate_tile")
|
||||
|
||||
-- darkage:desert_stone_with_iron -> default:desert_stone
|
||||
minetest.register_alias("darkage:desert_stone_with_iron","default:desert_stone")
|
||||
|
||||
-- Basalt Brick
|
||||
minetest.register_alias("darkage:basalt_cobble", "darkage:basalt_brick")
|
||||
minetest.register_alias("stairs:slab_basalt_cobble", "stairs:slab_basalt_brick")
|
||||
minetest.register_alias("stairs:stair_basalt_cobble", "stairs:stair_basalt_brick")
|
||||
register_moreblocks_alias("darkage:basalt_cobble", "darkage:basalt_brick")
|
||||
minetest.register_alias("darkage:basalt_cobble_wall", "darkage:basalt_rubble_wall")
|
||||
|
||||
-- Slate Brick
|
||||
minetest.register_alias("darkage:slate_cobble", "darkage:slate_brick")
|
||||
minetest.register_alias("stairs:slab_slate_cobble", "stairs:slab_slate_brick")
|
||||
minetest.register_alias("stairs:stair_slate_cobble", "stairs:stair_slate_brick")
|
||||
register_moreblocks_alias("darkage:slate_cobble", "darkage:slate_brick")
|
||||
minetest.register_alias("darkage:slate_cobble_wall", "darkage:slate_rubble_wall")
|
||||
|
||||
-- Gneiss Brick
|
||||
minetest.register_alias("darkage:gneiss_cobble", "darkage:gneiss_brick")
|
||||
minetest.register_alias("stairs:slab_gneiss_cobble", "stairs:slab_gneiss_brick")
|
||||
minetest.register_alias("stairs:stair_gneiss_cobble", "stairs:stair_gneiss_brick")
|
||||
register_moreblocks_alias("darkage:gneis_cobble", "darkage:gneiss_brick")
|
||||
minetest.register_alias("darkage:gneiss_cobble_wall", "darkage:gneiss_rubble_wall")
|
||||
|
||||
-- Straw
|
||||
register_moreblocks_alias("darkage:straw", "moreblocks:straw")
|
||||
|
171
building.lua
Normal file
@ -0,0 +1,171 @@
|
||||
--[[
|
||||
This function registers the nodes and craft rezieps for the reinforce stuff
|
||||
* name: String which is used in description and as technical name (lower letters)
|
||||
* craftItem: the Item where the reinforce is crafted out of
|
||||
* nodedef: Nodedefinition table as used as in minetest.register_node()
|
||||
|
||||
The Nodes are caled
|
||||
<modname>:reinforced_<name>
|
||||
<modname>:reinforced_<name>_slope
|
||||
<modname>:reinforced_<name>_arrow
|
||||
<modname>:reinforced_<name>_bars
|
||||
|
||||
The modname is automatically the mod that currently calls this function.
|
||||
e.g. if you call darkage.register_reinforce from the mod medieval modname will be medieval
|
||||
]]
|
||||
function darkage.register_reinforce(name, craftItem, nodedef)
|
||||
assert(type(nodedef.tiles)=="table","ERRROR: nodedef.tiles have to be a table")
|
||||
assert(nodedef.tiles[1], "ERROR: "..dump(nodedef.tiles).." requires at least 1 entry")
|
||||
|
||||
if nodedef.groups then
|
||||
nodedef.groups["not_cuttable"] = 1;
|
||||
else
|
||||
nodedef.groups = {};
|
||||
nodedef.groups["not_cuttable"] = 1;
|
||||
end
|
||||
|
||||
local modname = minetest.get_current_modname();
|
||||
local tname = string.gsub(name:lower()," ", "_"); -- Technical name
|
||||
|
||||
-- Reinforced X
|
||||
local reinforced = table.copy(nodedef);
|
||||
local reinforced_tname = modname..":reinforced_"..tname
|
||||
reinforced.description = "Reinforced "..name
|
||||
for i,tile in ipairs(reinforced.tiles) do
|
||||
reinforced.tiles[i] = tile .."^darkage_reinforce.png"
|
||||
end
|
||||
|
||||
minetest.register_node(reinforced_tname, reinforced)
|
||||
|
||||
minetest.register_craft({
|
||||
output = reinforced_tname,
|
||||
recipe = {
|
||||
{"group:stick", craftItem, "group:stick"},
|
||||
{craftItem, "group:stick", craftItem},
|
||||
{"group:stick", craftItem, "group:stick"},
|
||||
}
|
||||
})
|
||||
-- Recycling
|
||||
minetest.register_craft({
|
||||
output = craftItem,
|
||||
recipe = {
|
||||
{ reinforced_tname },
|
||||
}
|
||||
})
|
||||
|
||||
-- Reinforced Slope
|
||||
local slope = table.copy(nodedef);
|
||||
local slope_tname = modname..":reinforced_"..tname.."_slope"
|
||||
slope.description = "Reinforced "..name.." Slope\nHint: use the screwdriver to rotate."
|
||||
slope.paramtype2 = "facedir";
|
||||
local slope_tile_extend = {"^darkage_reinforce_right.png" , "^darkage_reinforce_right.png" , --top ,down
|
||||
"^darkage_reinforce_right.png" , "^darkage_reinforce_right.png" , --right, left
|
||||
"^darkage_reinforce_left.png" , "^darkage_reinforce_left.png"} -- front, back
|
||||
for i=1,6 do
|
||||
local tile = slope.tiles[i] or nodedef.tiles[1]; -- There have to be at least one tile.
|
||||
slope.tiles[i] = tile ..slope_tile_extend[i]
|
||||
end
|
||||
|
||||
minetest.register_node(slope_tname, slope)
|
||||
|
||||
minetest.register_craft({
|
||||
output = slope_tname,
|
||||
recipe = {
|
||||
{craftItem, craftItem, "group:stick"},
|
||||
{craftItem, "group:stick", craftItem},
|
||||
{"group:stick", craftItem, craftItem},
|
||||
}
|
||||
})
|
||||
-- Flipped recipe
|
||||
minetest.register_craft({
|
||||
output = slope_tname,
|
||||
recipe = {
|
||||
{"group:stick", craftItem, craftItem},
|
||||
{craftItem, "group:stick", craftItem},
|
||||
{craftItem, craftItem, "group:stick"},
|
||||
}
|
||||
})
|
||||
-- Recycling
|
||||
minetest.register_craft({
|
||||
output = craftItem,
|
||||
recipe = {
|
||||
{ slope_tname }
|
||||
}
|
||||
})
|
||||
|
||||
-- Alias to convert old nodes
|
||||
minetest.register_alias(modname..":reinforced_"..tname.."_right", slope_tname)
|
||||
minetest.register_alias(modname..":reinforced_"..tname.."_left", slope_tname)
|
||||
|
||||
-- Arrow bar
|
||||
local arrow = table.copy(nodedef)
|
||||
local arrow_tname = modname..":reinforced_"..tname.."_arrow"
|
||||
arrow.paramtype2 = "facedir";
|
||||
arrow.description = "Reinforced "..name.." Arrow \nHint: use the screwdriver to rotate."
|
||||
local arrow_tile_extend = {"" , "" , --top ,down
|
||||
"^(darkage_reinforce_arrow.png^[transformR90)" , "^(darkage_reinforce_arrow.png^[transformR270)" , --right, left
|
||||
"^(darkage_reinforce_arrow.png^[transformR180)" , "^darkage_reinforce_arrow.png"} -- front, back
|
||||
for i=1,6 do
|
||||
local tile = arrow.tiles[i] or arrow.tiles[1]; -- There have to be at least one tile.
|
||||
arrow.tiles[i] = tile .. arrow_tile_extend[i]
|
||||
end
|
||||
minetest.register_node(arrow_tname, arrow)
|
||||
|
||||
minetest.register_craft({
|
||||
output = arrow_tname,
|
||||
recipe = {
|
||||
{craftItem, "group:stick", craftItem},
|
||||
{"group:stick", craftItem, "group:stick"},
|
||||
{"group:stick", craftItem, "group:stick"},
|
||||
}
|
||||
})
|
||||
-- Recycling
|
||||
minetest.register_craft({
|
||||
output = craftItem,
|
||||
recipe = {
|
||||
{ arrow_tname }
|
||||
}
|
||||
})
|
||||
|
||||
-- Reinforced Bars
|
||||
local bars = table.copy(nodedef)
|
||||
local bars_tname = modname..":reinforced_"..tname.."_bars"
|
||||
bars.description = name.." Bars"
|
||||
for i,tile in ipairs(bars.tiles) do
|
||||
bars.tiles[i] = tile .."^darkage_reinforce_bars.png"
|
||||
end
|
||||
minetest.register_node(bars_tname, bars)
|
||||
|
||||
minetest.register_craft({
|
||||
output = bars_tname,
|
||||
recipe = {
|
||||
{"group:stick", craftItem, "group:stick"},
|
||||
{"group:stick", craftItem, "group:stick"},
|
||||
{"group:stick", craftItem, "group:stick"},
|
||||
}
|
||||
})
|
||||
minetest.register_craft({
|
||||
output = craftItem,
|
||||
recipe = {
|
||||
{ bars_tname }
|
||||
}
|
||||
})
|
||||
end
|
||||
|
||||
darkage.register_reinforce("Chalk", "darkage:chalk_powder", {
|
||||
tiles = {"darkage_chalk.png"},
|
||||
groups = {cracky=3},
|
||||
sounds = default.node_sound_stone_defaults()
|
||||
})
|
||||
|
||||
darkage.register_reinforce("Wood", "default:wood", {
|
||||
tiles = {"default_wood.png"},
|
||||
groups = {snappy=2, choppy=3, flammable=3},
|
||||
sounds = default.node_sound_wood_defaults()
|
||||
})
|
||||
|
||||
darkage.register_reinforce("Chalked Bricks", "darkage:chalked_bricks", {
|
||||
tiles = {"darkage_chalked_bricks.png"},
|
||||
groups = {cracky = 2, stone = 1},
|
||||
sounds = default.node_sound_stone_defaults()
|
||||
})
|
@ -1,19 +0,0 @@
|
||||
minetest.register_craftitem("darkage:chalk_powder", {
|
||||
description = "Chalk Powder",
|
||||
inventory_image = "darkage_chalk_powder.png",
|
||||
})
|
||||
|
||||
minetest.register_craftitem("darkage:mud_lump", {
|
||||
description = "Mud Lump",
|
||||
inventory_image = "darkage_mud_lump.png",
|
||||
})
|
||||
|
||||
minetest.register_craftitem("darkage:silt_lump", {
|
||||
description = "Silt Lump",
|
||||
inventory_image = "darkage_silt_lump.png",
|
||||
})
|
||||
|
||||
minetest.register_craftitem("darkage:iron_stick", {
|
||||
description = "Iron Stick",
|
||||
inventory_image = "darkage_iron_stick.png",
|
||||
})
|
416
crafts.lua
@ -1,416 +0,0 @@
|
||||
-- Naturally spawning blocks
|
||||
minetest.register_craft({
|
||||
output = "darkage:chalk",
|
||||
recipe = {
|
||||
{"darkage:chalk_powder","darkage:chalk_powder"},
|
||||
{"darkage:chalk_powder","darkage:chalk_powder"},
|
||||
}
|
||||
})
|
||||
|
||||
minetest.register_craft({
|
||||
output = "darkage:mud",
|
||||
recipe = {
|
||||
{"darkage:mud_lump","darkage:mud_lump"},
|
||||
{"darkage:mud_lump","darkage:mud_lump"},
|
||||
}
|
||||
})
|
||||
|
||||
minetest.register_craft({
|
||||
type = "cooking",
|
||||
output = "darkage:shale",
|
||||
recipe = "darkage:mud",
|
||||
})
|
||||
|
||||
minetest.register_craft({
|
||||
output = "darkage:silt 3",
|
||||
recipe = {
|
||||
{"default:sand","default:sand"},
|
||||
{"default:clay_lump","default:clay_lump"},
|
||||
}
|
||||
})
|
||||
|
||||
minetest.register_craft({
|
||||
output = "darkage:silt",
|
||||
recipe = {
|
||||
{"darkage:silt_lump","darkage:silt_lump"},
|
||||
{"darkage:silt_lump","darkage:silt_lump"},
|
||||
}
|
||||
})
|
||||
|
||||
minetest.register_craft({
|
||||
type = "cooking",
|
||||
output = "darkage:gneiss",
|
||||
recipe = "darkage:schist",
|
||||
})
|
||||
|
||||
minetest.register_craft({
|
||||
type = "cooking",
|
||||
output = "darkage:slate",
|
||||
recipe = "darkage:shale",
|
||||
})
|
||||
|
||||
minetest.register_craft({
|
||||
type = "cooking",
|
||||
output = "darkage:mud 5",
|
||||
recipe = "darkage:silt",
|
||||
})
|
||||
|
||||
minetest.register_craft({
|
||||
type = "cooking",
|
||||
output = "darkage:slate",
|
||||
recipe = "darkage:slate_cobble",
|
||||
})
|
||||
|
||||
minetest.register_craft({
|
||||
output = "darkage:ors 4",
|
||||
recipe = {
|
||||
{"default:sandstone","default:sandstone"},
|
||||
{"default:iron_lump","default:sandstone"},
|
||||
}
|
||||
})
|
||||
|
||||
minetest.register_craft({
|
||||
type = "cooking",
|
||||
output = "darkage:ors",
|
||||
recipe = "darkage:ors_cobble",
|
||||
})
|
||||
|
||||
minetest.register_craft({
|
||||
type = "cooking",
|
||||
output = "darkage:gneiss",
|
||||
recipe = "darkage:gneiss_cobble",
|
||||
})
|
||||
|
||||
minetest.register_craft({
|
||||
type = "cooking",
|
||||
output = "darkage:basalt",
|
||||
recipe = "darkage:basalt_cobble",
|
||||
})
|
||||
|
||||
-- Cobble
|
||||
|
||||
-- Other Blocks
|
||||
--if not farming:straw
|
||||
if minetest.get_modpath("farming") == nil then
|
||||
|
||||
minetest.register_craft({
|
||||
output = "darkage:straw 2",
|
||||
recipe = {
|
||||
{"default:dry_shrub","default:dry_shrub"},
|
||||
{"default:dry_shrub","default:dry_shrub"},
|
||||
}
|
||||
})
|
||||
|
||||
minetest.register_craft({
|
||||
output = "darkage:straw 2",
|
||||
recipe = {
|
||||
{"darkage:dry_leaves","darkage:dry_leaves"},
|
||||
{"darkage:dry_leaves","darkage:dry_leaves"},
|
||||
}
|
||||
})
|
||||
|
||||
minetest.register_craft({
|
||||
output = "darkage:straw_bale",
|
||||
recipe = {
|
||||
{"darkage:straw","darkage:straw"},
|
||||
{"darkage:straw","darkage:straw"},
|
||||
}
|
||||
})
|
||||
minetest.register_craft({
|
||||
output = "darkage:adobe 4",
|
||||
recipe = {
|
||||
{"default:sand","default:sand"},
|
||||
{"default:clay_lump","darkage:straw"},
|
||||
}
|
||||
})
|
||||
else
|
||||
minetest.register_craft({
|
||||
output = "farming:straw 2",
|
||||
recipe = {
|
||||
{"default:dry_shrub","default:dry_shrub"},
|
||||
{"default:dry_shrub","default:dry_shrub"},
|
||||
}
|
||||
})
|
||||
|
||||
minetest.register_craft({
|
||||
output = "farming:straw 2",
|
||||
recipe = {
|
||||
{"darkage:dry_leaves","darkage:dry_leaves"},
|
||||
{"darkage:dry_leaves","darkage:dry_leaves"},
|
||||
}
|
||||
})
|
||||
|
||||
minetest.register_craft({
|
||||
output = "darkage:straw_bale",
|
||||
recipe = {
|
||||
{"farming:straw","farming:straw"},
|
||||
{"farming:straw","farming:straw"},
|
||||
}
|
||||
})
|
||||
|
||||
minetest.register_craft({
|
||||
output = "darkage:adobe 4",
|
||||
recipe = {
|
||||
{"default:sand","default:sand"},
|
||||
{"default:clay_lump","farming:straw"},
|
||||
}
|
||||
})
|
||||
end
|
||||
|
||||
minetest.register_craft({
|
||||
output = "darkage:slate_tile 4",
|
||||
recipe = {
|
||||
{"darkage:slate","darkage:slate"},
|
||||
{"darkage:slate","darkage:slate"},
|
||||
{"darkage:adobe","darkage:adobe"},
|
||||
}
|
||||
})
|
||||
|
||||
minetest.register_craft({
|
||||
output = "darkage:marble_tile 4",
|
||||
recipe = {
|
||||
{"darkage:marble","darkage:marble"},
|
||||
{"darkage:marble","darkage:marble"},
|
||||
{"darkage:adobe","darkage:adobe"},
|
||||
}
|
||||
})
|
||||
|
||||
minetest.register_craft({
|
||||
output = "darkage:stone_brick 9",
|
||||
recipe = {
|
||||
{"default:cobble","default:cobble","default:cobble"},
|
||||
{"default:cobble","default:cobble","default:cobble"},
|
||||
{"default:cobble","default:cobble","default:cobble"},
|
||||
}
|
||||
})
|
||||
|
||||
minetest.register_craft({
|
||||
output = "darkage:reinforced_chalk",
|
||||
recipe = {
|
||||
{"group:stick","","group:stick"},
|
||||
{"","darkage:chalk",""},
|
||||
{"group:stick","","group:stick"},
|
||||
}
|
||||
})
|
||||
|
||||
minetest.register_craft({
|
||||
output = "darkage:lamp",
|
||||
recipe = {
|
||||
{"group:stick","","group:stick"},
|
||||
{"","default:torch",""},
|
||||
{"group:stick","","group:stick"},
|
||||
}
|
||||
})
|
||||
|
||||
minetest.register_craft({
|
||||
output = "darkage:cobble_with_plaster 2",
|
||||
recipe = {
|
||||
{"default:cobble","darkage:chalk_powder"},
|
||||
{"default:cobble","darkage:chalk_powder"},
|
||||
}
|
||||
})
|
||||
|
||||
minetest.register_craft({
|
||||
output = "darkage:cobble_with_plaster 2",
|
||||
recipe = {
|
||||
{"darkage:chalk_powder","default:cobble"},
|
||||
{"darkage:chalk_powder","default:cobble"},
|
||||
}
|
||||
})
|
||||
|
||||
minetest.register_craft({
|
||||
output = "darkage:darkdirt 4",
|
||||
recipe = {
|
||||
{"default:dirt","default:dirt"},
|
||||
{"default:gravel","default:gravel"},
|
||||
}
|
||||
})
|
||||
|
||||
minetest.register_craft({
|
||||
type = "cooking",
|
||||
output = "darkage:dry_leaves",
|
||||
recipe = "default:leaves",
|
||||
})
|
||||
|
||||
-- Storage blocks (boxes, shelves, ect.)
|
||||
minetest.register_craft({
|
||||
output = "darkage:box",
|
||||
recipe = {
|
||||
{"default:wood","","default:wood"},
|
||||
{"","",""},
|
||||
{"default:wood","","default:wood"},
|
||||
}
|
||||
})
|
||||
|
||||
minetest.register_craft({
|
||||
output = "darkage:wood_shelves 2",
|
||||
recipe = {
|
||||
{"darkage:box"},
|
||||
{"darkage:box"},
|
||||
}
|
||||
})
|
||||
|
||||
-- Glass / Glow Glass
|
||||
minetest.register_craft({
|
||||
output = "darkage:glass",
|
||||
recipe = {
|
||||
{"darkage:glow_glass"},
|
||||
}
|
||||
})
|
||||
|
||||
minetest.register_craft({
|
||||
output = "darkage:glass 8",
|
||||
recipe = {
|
||||
{"default:glass", "default:steel_ingot", "default:glass"},
|
||||
{"default:steel_ingot", "default:glass", "default:steel_ingot"},
|
||||
{"default:glass", "default:steel_ingot", "default:glass"},
|
||||
}
|
||||
})
|
||||
|
||||
minetest.register_craft({
|
||||
output = "darkage:glow_glass",
|
||||
recipe = {
|
||||
{"darkage:glass"},
|
||||
{"default:torch"},
|
||||
}
|
||||
})
|
||||
|
||||
-- Reinforced Wood
|
||||
minetest.register_craft({
|
||||
output = "darkage:reinforced_wood",
|
||||
recipe = {
|
||||
{"group:stick","group:wood","group:stick"},
|
||||
{"group:wood","group:wood","group:wood"},
|
||||
{"group:stick","group:wood","group:stick"},
|
||||
}
|
||||
})
|
||||
|
||||
minetest.register_craft({
|
||||
output = "darkage:reinforced_wood_left",
|
||||
recipe = {
|
||||
{"default:stick","darkage:reinforced_wood",""},
|
||||
}
|
||||
})
|
||||
|
||||
minetest.register_craft({
|
||||
output = "darkage:reinforced_wood_right",
|
||||
recipe = {
|
||||
{"","darkage:reinforced_wood","default:stick"},
|
||||
}
|
||||
})
|
||||
|
||||
-- Wood based deco items
|
||||
minetest.register_craft({
|
||||
output = "darkage:wood_bars 2",
|
||||
recipe = {
|
||||
{"default:stick","","default:stick"},
|
||||
{"default:stick","","default:stick"},
|
||||
{"default:stick","","default:stick"},
|
||||
}
|
||||
})
|
||||
|
||||
minetest.register_craft({
|
||||
output = "darkage:wood_grille 2",
|
||||
recipe = {
|
||||
{"","darkage:wood_bars",""},
|
||||
{"darkage:wood_bars","","darkage:wood_bars"},
|
||||
{"","darkage:wood_bars",""},
|
||||
}
|
||||
})
|
||||
|
||||
minetest.register_craft({
|
||||
output = "darkage:wood_frame",
|
||||
recipe = {
|
||||
{"group:stick","","group:stick"},
|
||||
{"","group:wood",""},
|
||||
{"group:stick","","group:stick"},
|
||||
}
|
||||
})
|
||||
|
||||
-- Metal based deco items
|
||||
minetest.register_craft({
|
||||
output = "darkage:chain 2",
|
||||
recipe = {
|
||||
{"darkage:iron_stick"},
|
||||
{"darkage:iron_stick"},
|
||||
{"darkage:iron_stick"},
|
||||
}
|
||||
})
|
||||
|
||||
minetest.register_craft({
|
||||
output = "darkage:iron_bars 2",
|
||||
recipe = {
|
||||
{"darkage:iron_stick","","darkage:iron_stick"},
|
||||
{"darkage:iron_stick","","darkage:iron_stick"},
|
||||
{"darkage:iron_stick","","darkage:iron_stick"},
|
||||
}
|
||||
})
|
||||
|
||||
minetest.register_craft({
|
||||
output = "darkage:iron_grille 2",
|
||||
recipe = {
|
||||
{"","darkage:iron_bars",""},
|
||||
{"darkage:iron_bars","","darkage:iron_bars"},
|
||||
{"","darkage:iron_bars",""},
|
||||
}
|
||||
})
|
||||
|
||||
-- Craft items
|
||||
minetest.register_craft({
|
||||
output = "darkage:chalk_powder 4",
|
||||
recipe = {
|
||||
{"darkage:chalk"},
|
||||
}
|
||||
})
|
||||
|
||||
minetest.register_craft({
|
||||
output = "darkage:mud_lump 4",
|
||||
recipe = {
|
||||
{"darkage:mud"},
|
||||
}
|
||||
})
|
||||
|
||||
minetest.register_craft({
|
||||
output = "darkage:silt_lump 4",
|
||||
recipe = {
|
||||
{"darkage:silt"},
|
||||
}
|
||||
})
|
||||
|
||||
minetest.register_craft({
|
||||
output = "darkage:iron_stick 3",
|
||||
recipe = {
|
||||
{"default:steel_ingot"},
|
||||
{"default:steel_ingot"},
|
||||
{"default:steel_ingot"},
|
||||
}
|
||||
})
|
||||
|
||||
-- Added
|
||||
|
||||
minetest.register_craft({
|
||||
output = "darkage:ors_brick 4",
|
||||
--type = "shapeless",
|
||||
recipe = {
|
||||
{"darkage:ors","darkage:ors"},
|
||||
{"darkage:ors","darkage:ors"},
|
||||
}
|
||||
})
|
||||
|
||||
minetest.register_craft({
|
||||
output = "darkage:slate_brick 4",
|
||||
--type = "shapeless",
|
||||
recipe = {
|
||||
{"darkage:slate","darkage:slate"},
|
||||
{"darkage:slate","darkage:slate"},
|
||||
}
|
||||
})
|
||||
|
||||
minetest.register_craft({
|
||||
output = "darkage:basalt_brick 4",
|
||||
--type = "shapeless",
|
||||
recipe = {
|
||||
{"darkage:basalt","darkage:basalt"},
|
||||
{"darkage:basalt","darkage:basalt"},
|
||||
}
|
||||
})
|
5
depends.txt
Executable file → Normal file
@ -1,4 +1,5 @@
|
||||
default
|
||||
farming?
|
||||
farming
|
||||
moreblocks?
|
||||
stairs?
|
||||
stairsplus?
|
||||
unifieddyes?
|
||||
|
2
description.txt
Normal file
@ -0,0 +1,2 @@
|
||||
DarkAge adds several new nodes and crafts to create a pre industrial landscape.
|
||||
It also extends the stones and provides new construction materials.
|
289
furniture.lua
Normal file
@ -0,0 +1,289 @@
|
||||
minetest.register_node("darkage:chain", {
|
||||
description = "Chain",
|
||||
drawtype = "signlike",
|
||||
tiles = {"darkage_chain.png"},
|
||||
inventory_image = "darkage_chain.png",
|
||||
wield_image = "darkage_chain.png",
|
||||
paramtype = "light",
|
||||
paramtype2 = "wallmounted",
|
||||
is_ground_content = false,
|
||||
walkable = false,
|
||||
climbable = true,
|
||||
selection_box = {
|
||||
type = "wallmounted",
|
||||
--wall_top = = <default>
|
||||
--wall_bottom = = <default>
|
||||
--wall_side = = <default>
|
||||
},
|
||||
groups = {snappy=1, cracky=2, oddly_breakable_by_hand=2, not_cuttable=1},
|
||||
legacy_wallmounted = true
|
||||
})
|
||||
|
||||
|
||||
local box_formspec = [[
|
||||
size[8,9]
|
||||
list[context;main;0,0.3;8,4;]
|
||||
list[current_player;main;0,4.85;8,1;]
|
||||
list[current_player;main;0,6.08;8,3;8]
|
||||
listring[context;main]
|
||||
listring[current_player;main]
|
||||
]].. darkage.formbg
|
||||
|
||||
minetest.register_node("darkage:box", {
|
||||
description = "Box",
|
||||
tiles = { "darkage_box_top.png","darkage_box_top.png","darkage_box.png"},
|
||||
groups = { snappy = 3, not_cuttable=1 },
|
||||
sounds = default.node_sound_wood_defaults(),
|
||||
on_construct = function(pos)
|
||||
local meta = minetest.get_meta(pos)
|
||||
meta:set_string("formspec", box_formspec )
|
||||
meta:set_string("infotext", "Box")
|
||||
local inv = meta:get_inventory()
|
||||
inv:set_size("main", 16)
|
||||
end,
|
||||
can_dig = function(pos,player)
|
||||
local meta = minetest.get_meta(pos);
|
||||
local inv = meta:get_inventory()
|
||||
return inv:is_empty("main")
|
||||
end,
|
||||
on_metadata_inventory_move = function(pos, from_list, from_index, to_list, to_index, count, player)
|
||||
minetest.log("action", player:get_player_name()..
|
||||
" moves stuff in box at "..minetest.pos_to_string(pos))
|
||||
end,
|
||||
on_metadata_inventory_put = function(pos, listname, index, stack, player)
|
||||
minetest.log("action", player:get_player_name()..
|
||||
" moves stuff to box at "..minetest.pos_to_string(pos))
|
||||
end,
|
||||
on_metadata_inventory_take = function(pos, listname, index, stack, player)
|
||||
minetest.log("action", player:get_player_name()..
|
||||
" takes stuff from box at "..minetest.pos_to_string(pos))
|
||||
end,
|
||||
})
|
||||
|
||||
local shelves_formspec = [[
|
||||
size[8,9]
|
||||
list[context;up;0,0;8,2;]
|
||||
list[context;down;0,2.3;8,2;]
|
||||
|
||||
list[current_player;main;0,4.85;8,1;]
|
||||
list[current_player;main;0,6.08;8,3;8]
|
||||
listring[context;up]
|
||||
listring[context;down]
|
||||
listring[current_player;main]
|
||||
]].. darkage.formbg
|
||||
|
||||
minetest.register_node("darkage:wood_shelves", {
|
||||
description = "Wooden Shelves",
|
||||
tiles = { "darkage_shelves.png","darkage_shelves.png","darkage_shelves.png",
|
||||
"darkage_shelves.png","darkage_shelves.png","darkage_shelves_front.png"},
|
||||
paramtype2 = "facedir",
|
||||
groups = { snappy = 3, not_cuttable=1 },
|
||||
sounds = default.node_sound_wood_defaults(),
|
||||
on_construct = function(pos)
|
||||
local meta = minetest.get_meta(pos)
|
||||
meta:set_string("formspec", shelves_formspec)
|
||||
meta:set_string("infotext", "Wooden Shelves")
|
||||
local inv = meta:get_inventory()
|
||||
inv:set_size("up", 16)
|
||||
inv:set_size("down", 16)
|
||||
end,
|
||||
can_dig = function(pos,player)
|
||||
local meta = minetest.get_meta(pos);
|
||||
local inv = meta:get_inventory()
|
||||
return inv:is_empty("up") and inv:is_empty("down")
|
||||
end,
|
||||
on_metadata_inventory_move = function(pos, from_list, from_index, to_list, to_index, count, player)
|
||||
minetest.log("action", player:get_player_name()..
|
||||
" moves stuff in shelves at "..minetest.pos_to_string(pos))
|
||||
end,
|
||||
on_metadata_inventory_put = function(pos, listname, index, stack, player)
|
||||
minetest.log("action", player:get_player_name()..
|
||||
" moves stuff to shelves at "..minetest.pos_to_string(pos))
|
||||
end,
|
||||
on_metadata_inventory_take = function(pos, listname, index, stack, player)
|
||||
minetest.log("action", player:get_player_name()..
|
||||
" takes stuff from shelves at "..minetest.pos_to_string(pos))
|
||||
end,
|
||||
})
|
||||
|
||||
--minetest.register_node("darkage:rosace", {
|
||||
-- description = "Rose Window",
|
||||
-- tiles = {"darkage_rosace.png"},
|
||||
-- is_ground_content = false,
|
||||
-- groups = {cracky=3},
|
||||
-- sounds = default.node_sound_stone_defaults()
|
||||
--})
|
||||
|
||||
minetest.register_node("darkage:iron_bars", {
|
||||
description = "Iron Bars",
|
||||
drawtype = "glasslike",
|
||||
tiles = {"darkage_iron_bars.png"},
|
||||
inventory_image = "darkage_iron_bars.png",
|
||||
wield_image = "darkage_iron_bars.png",
|
||||
is_ground_content = false,
|
||||
paramtype = "light",
|
||||
sunlight_propagates = true,
|
||||
groups = {cracky=3 , not_cuttable=1},
|
||||
sounds = default.node_sound_stone_defaults()
|
||||
})
|
||||
|
||||
minetest.register_node("darkage:lamp", {
|
||||
description = "Lamp",
|
||||
tiles = { "darkage_lamp.png" },
|
||||
paramtype = "light",
|
||||
sunlight_propagates = true,
|
||||
light_source = default.LIGHT_MAX-1,
|
||||
groups = {snappy=2, cracky=3, oddly_breakable_by_hand=3, flammable=1 , not_cuttable=1},
|
||||
sounds = default.node_sound_glass_defaults(),
|
||||
})
|
||||
|
||||
minetest.register_node("darkage:iron_grille", {
|
||||
description = "Iron Grille",
|
||||
drawtype = "glasslike",
|
||||
tiles = {"darkage_iron_grille.png"},
|
||||
inventory_image = "darkage_iron_grille.png",
|
||||
wield_image = "darkage_iron_grille.png",
|
||||
is_ground_content = false,
|
||||
paramtype = "light",
|
||||
sunlight_propagates = true,
|
||||
groups = {cracky=3 , not_cuttable=1},
|
||||
sounds = default.node_sound_stone_defaults()
|
||||
})
|
||||
|
||||
minetest.register_node("darkage:wood_bars", {
|
||||
description = "Wooden Bars",
|
||||
drawtype = "glasslike",
|
||||
tiles = {"darkage_wood_bars.png"},
|
||||
inventory_image = "darkage_wood_bars.png",
|
||||
wield_image = "darkage_wood_bars.png",
|
||||
is_ground_content = false,
|
||||
paramtype = "light",
|
||||
sunlight_propagates = true,
|
||||
groups = {snappy=1, choppy=2, not_cuttable=1},
|
||||
sounds = default.node_sound_stone_defaults()
|
||||
})
|
||||
|
||||
minetest.register_node("darkage:wood_grille", {
|
||||
description = "Wooden Grille",
|
||||
drawtype = "glasslike",
|
||||
tiles = {"darkage_wood_grille.png"},
|
||||
inventory_image = "darkage_wood_grille.png",
|
||||
wield_image = "darkage_wood_grille.png",
|
||||
is_ground_content = false,
|
||||
paramtype = "light",
|
||||
sunlight_propagates = true,
|
||||
groups = {snappy=1, choppy=2, not_cuttable=1},
|
||||
sounds = default.node_sound_stone_defaults()
|
||||
})
|
||||
|
||||
minetest.register_node("darkage:wood_frame", {
|
||||
description = "Wooden Frame",
|
||||
drawtype = "glasslike_framed",
|
||||
tiles = {"darkage_wood_frame.png"},
|
||||
inventory_image = "darkage_wood_frame.png",
|
||||
wield_image = "darkage_wood_frame.png",
|
||||
is_ground_content = false,
|
||||
paramtype = "light",
|
||||
sunlight_propagates = true,
|
||||
groups = {snappy=1, choppy=2, oddly_breakable_by_hand = 3, not_cuttable=1},
|
||||
sounds = default.node_sound_stone_defaults()
|
||||
})
|
||||
|
||||
---------------
|
||||
-- Crafts Item
|
||||
---------------
|
||||
|
||||
|
||||
----------
|
||||
-- Crafts
|
||||
----------
|
||||
|
||||
minetest.register_craft({
|
||||
output = "darkage:box",
|
||||
recipe = {
|
||||
{"default:wood", "", "default:wood"},
|
||||
{"", "", ""},
|
||||
{"default:wood", "", "default:wood"},
|
||||
}
|
||||
})
|
||||
|
||||
minetest.register_craft({
|
||||
output = "darkage:chain 2",
|
||||
recipe = {
|
||||
{"darkage:iron_stick"},
|
||||
{"darkage:iron_stick"},
|
||||
{"darkage:iron_stick"},
|
||||
}
|
||||
})
|
||||
|
||||
minetest.register_craft({
|
||||
output = "darkage:iron_bars 2",
|
||||
recipe = {
|
||||
{"darkage:iron_stick", "", "darkage:iron_stick"},
|
||||
{"darkage:iron_stick", "", "darkage:iron_stick"},
|
||||
{"darkage:iron_stick", "", "darkage:iron_stick"},
|
||||
}
|
||||
})
|
||||
|
||||
minetest.register_craft({
|
||||
output = "darkage:iron_grille 3",
|
||||
recipe = {
|
||||
{"", "darkage:iron_bars", ""},
|
||||
{"darkage:iron_bars", "", "darkage:iron_bars"},
|
||||
{"", "darkage:iron_bars", ""},
|
||||
}
|
||||
})
|
||||
|
||||
minetest.register_craft({
|
||||
output = "darkage:lamp",
|
||||
recipe = {
|
||||
{"group:stick", "", "group:stick"},
|
||||
{"", "default:torch", ""},
|
||||
{"group:stick", "", "group:stick"},
|
||||
}
|
||||
})
|
||||
|
||||
minetest.register_craft({
|
||||
output = "darkage:wood_bars 2",
|
||||
recipe = {
|
||||
{"group:stick", "", "group:stick"},
|
||||
{"group:stick", "", "group:stick"},
|
||||
{"group:stick", "", "group:stick"},
|
||||
}
|
||||
})
|
||||
|
||||
minetest.register_craft({
|
||||
output = "darkage:wood_grille 3",
|
||||
recipe = {
|
||||
{"", "darkage:wood_bars", ""},
|
||||
{"darkage:wood_bars", "", "darkage:wood_bars"},
|
||||
{"", "darkage:wood_bars", ""},
|
||||
}
|
||||
})
|
||||
|
||||
minetest.register_craft({
|
||||
output = "darkage:wood_shelves",
|
||||
recipe = {
|
||||
{"darkage:box"},
|
||||
{"darkage:box"},
|
||||
}
|
||||
})
|
||||
|
||||
minetest.register_craft({
|
||||
output = "darkage:wood_frame",
|
||||
recipe = {
|
||||
{"group:stick", "", "group:stick"},
|
||||
{"", "default:glass", ""},
|
||||
{"group:stick", "", "group:stick"},
|
||||
}
|
||||
})
|
||||
|
||||
|
||||
-- Cookings
|
||||
minetest.register_craft({
|
||||
type = "cooking",
|
||||
output = "default:glass",
|
||||
recipe = "darkage:wood_frame",
|
||||
})
|
||||
|
||||
|
308
glass.lua
Normal file
@ -0,0 +1,308 @@
|
||||
--[[
|
||||
Medival glasses.
|
||||
The glasses can be colorized using dye.
|
||||
Colorization requires unifieddyes installed.
|
||||
|
||||
Special thanks to Semmett9 for the glass textures.
|
||||
]]
|
||||
|
||||
--[[ Rhombus Glass ]]
|
||||
|
||||
minetest.register_node("darkage:glass", {
|
||||
description = "Clean Medieval Glass",
|
||||
drawtype = "glasslike",
|
||||
tiles = {"darkage_glass.png"},
|
||||
use_texture_alpha = "clip",
|
||||
paramtype = "light",
|
||||
sunlight_propagates = true,
|
||||
groups = {cracky = 3, oddly_breakable_by_hand = 3, not_cuttable=1},
|
||||
sounds = default.node_sound_glass_defaults(),
|
||||
})
|
||||
|
||||
minetest.register_craft({
|
||||
output = "darkage:glass 8",
|
||||
recipe = {
|
||||
{"default:glass", "default:steel_ingot", "default:glass"},
|
||||
{"default:steel_ingot", "default:glass", "default:steel_ingot"},
|
||||
{"default:glass", "default:steel_ingot", "default:glass"},
|
||||
}
|
||||
})
|
||||
|
||||
--[[ Round Glass By Semmett9 aka Infinatum ]]
|
||||
if minetest.get_modpath("unifieddyes") then
|
||||
minetest.register_node("darkage:milk_glass", {
|
||||
description = "Milky Medieval Glass (Good for colorization)",
|
||||
drawtype = "glasslike",
|
||||
tiles = {"darkage_milk_glass.png"},
|
||||
use_texture_alpha=true,
|
||||
paramtype = "light",
|
||||
paramtype2 = "color",
|
||||
palette = "unifieddyes_palette_extended.png",
|
||||
sunlight_propagates = true,
|
||||
groups = {cracky = 3, oddly_breakable_by_hand = 3, not_cuttable=1, ud_param2_colorable = 1},
|
||||
sounds = default.node_sound_glass_defaults(),
|
||||
after_dig_node = unifieddyes.after_dig_node
|
||||
})
|
||||
end
|
||||
|
||||
minetest.register_node("darkage:glass_round", {
|
||||
description = "Round Glass",
|
||||
drawtype = "glasslike",
|
||||
tiles = { "darkage_glass_round.png" },
|
||||
paramtype = "light",
|
||||
use_texture_alpha = "clip",
|
||||
sunlight_propagates = true,
|
||||
sounds = default.node_sound_glass_defaults(),
|
||||
groups = {cracky=3,oddly_breakable_by_hand=3, not_cuttable=1},
|
||||
})
|
||||
|
||||
minetest.register_craft({
|
||||
output = "darkage:glass_round 8",
|
||||
recipe = {
|
||||
{"default:steel_ingot", "default:glass", "default:steel_ingot"},
|
||||
{"default:glass", "default:glass", "default:glass"},
|
||||
{"default:steel_ingot", "default:glass", "default:steel_ingot"},
|
||||
}
|
||||
})
|
||||
|
||||
--[[ Square glass By Semmett9 aka Infinatum ]]
|
||||
|
||||
minetest.register_node("darkage:glass_square", {
|
||||
description = "Square Glass",
|
||||
drawtype = "glasslike",
|
||||
tiles = { "darkage_glass_square.png" },
|
||||
paramtype = "light",
|
||||
use_texture_alpha = "clip",
|
||||
sunlight_propagates = true,
|
||||
sounds = default.node_sound_glass_defaults(),
|
||||
groups = {cracky=3,oddly_breakable_by_hand=3, not_cuttable=1},
|
||||
})
|
||||
|
||||
minetest.register_craft({
|
||||
output = "darkage:glass_square 8",
|
||||
recipe = {
|
||||
{"default:glass", "default:steel_ingot", "default:glass"},
|
||||
{"default:steel_ingot", "default:steel_ingot", "default:steel_ingot"},
|
||||
{"default:glass", "default:steel_ingot", "default:glass"},
|
||||
}
|
||||
})
|
||||
|
||||
--[[
|
||||
Glowing Glass Variants
|
||||
|
||||
]]
|
||||
|
||||
--[[ Rhombus Glow Glass ]]
|
||||
|
||||
minetest.register_node("darkage:glow_glass", {
|
||||
description = "Medieval Glow Glass",
|
||||
drawtype = "glasslike",
|
||||
tiles = {"darkage_glass.png"},
|
||||
use_texture_alpha = "clip",
|
||||
paramtype = "light",
|
||||
sunlight_propagates = true,
|
||||
light_source = default.LIGHT_MAX-3,
|
||||
groups = {cracky = 3, oddly_breakable_by_hand = 3, not_cuttable=1},
|
||||
sounds = default.node_sound_glass_defaults(),
|
||||
inventory_image = minetest.inventorycube("darkage_glow_glass.png")
|
||||
})
|
||||
|
||||
minetest.register_craft({
|
||||
output = "darkage:glow_glass 1",
|
||||
type = "shaped",
|
||||
recipe = {
|
||||
{"darkage:glass"},
|
||||
{"default:torch"}
|
||||
}
|
||||
})
|
||||
|
||||
-- Recycling
|
||||
minetest.register_craft({
|
||||
output = "darkage:glass 1",
|
||||
type = "shaped",
|
||||
recipe = {{"darkage:glow_glass"}},
|
||||
})
|
||||
|
||||
--[[ Round Glow Glass ]]
|
||||
|
||||
minetest.register_node("darkage:glow_glass_round", {
|
||||
description = "Medieval Round Glow Glass",
|
||||
drawtype = "glasslike",
|
||||
tiles = {"darkage_glass_round.png"},
|
||||
use_texture_alpha = "clip",
|
||||
paramtype = "light",
|
||||
sunlight_propagates = true,
|
||||
light_source = default.LIGHT_MAX-3,
|
||||
groups = {cracky = 3, oddly_breakable_by_hand = 3, not_cuttable=1},
|
||||
sounds = default.node_sound_glass_defaults(),
|
||||
inventory_image = minetest.inventorycube("darkage_glow_glass_round.png")
|
||||
})
|
||||
|
||||
minetest.register_craft({
|
||||
output = "darkage:glow_glass_round 1",
|
||||
type = "shaped",
|
||||
recipe = {
|
||||
{"darkage:glass_round"},
|
||||
{"default:torch"}
|
||||
}
|
||||
})
|
||||
|
||||
-- Recycling
|
||||
minetest.register_craft({
|
||||
output = "darkage:glass_round 1",
|
||||
recipe = {{"darkage:glow_glass_round"}}
|
||||
})
|
||||
|
||||
--]] Square Glow Glass ]]
|
||||
|
||||
minetest.register_node("darkage:glow_glass_square", {
|
||||
description = "Medieval Square Glow Glass",
|
||||
drawtype = "glasslike",
|
||||
tiles = {"darkage_glass_square.png"},
|
||||
use_texture_alpha = "clip",
|
||||
paramtype = "light",
|
||||
sunlight_propagates = true,
|
||||
light_source = default.LIGHT_MAX-3,
|
||||
groups = {cracky = 3, oddly_breakable_by_hand = 3, not_cuttable=1},
|
||||
sounds = default.node_sound_glass_defaults(),
|
||||
inventory_image = minetest.inventorycube("darkage_glow_glass_square.png")
|
||||
})
|
||||
|
||||
minetest.register_craft({
|
||||
output = "darkage:glow_glass_square 1",
|
||||
type = "shaped",
|
||||
recipe = {
|
||||
{"darkage:glass_square"},
|
||||
{"default:torch"},
|
||||
}
|
||||
})
|
||||
|
||||
--Recycling
|
||||
minetest.register_craft({
|
||||
output = "darkage:glass_square 1",
|
||||
recipe = {{"darkage:glow_glass_square"}}
|
||||
})
|
||||
|
||||
--[[
|
||||
Colorizable Milk Glass Variants, depending on unifieddyes mod
|
||||
|
||||
]]
|
||||
|
||||
if minetest.get_modpath("unifieddyes") then
|
||||
|
||||
--[[ Rhombus Milk Glass ]]
|
||||
|
||||
minetest.register_node("darkage:milk_glass", {
|
||||
description = "Milky Medieval Glass (Good for colorization)",
|
||||
drawtype = "glasslike",
|
||||
tiles = {"darkage_milk_glass.png"},
|
||||
use_texture_alpha = "blend",
|
||||
paramtype = "light",
|
||||
paramtype2 = "color",
|
||||
palette = "unifieddyes_palette_extended.png",
|
||||
sunlight_propagates = true,
|
||||
groups = {cracky = 3, oddly_breakable_by_hand = 3, not_cuttable=1, ud_param2_colorable = 1},
|
||||
sounds = default.node_sound_glass_defaults()
|
||||
})
|
||||
|
||||
minetest.register_craft({
|
||||
output = "darkage:milk_glass",
|
||||
type = "shapeless",
|
||||
recipe = {"darkage:glass", "dye:white"}
|
||||
})
|
||||
|
||||
unifieddyes.register_color_craft({
|
||||
output = "darkage:milk_glass",
|
||||
palette = "extended",
|
||||
type = "shapeless",
|
||||
neutral_node = "",
|
||||
recipe = {
|
||||
"darkage:milk_glass",
|
||||
"MAIN_DYE"
|
||||
}
|
||||
})
|
||||
|
||||
-- Recycling
|
||||
minetest.register_craft({
|
||||
output = "darkage:glass 1",
|
||||
recipe = {{"darkage:milk_glass"}}
|
||||
})
|
||||
|
||||
--[[ Round Milk Glass ]]
|
||||
|
||||
minetest.register_node("darkage:milk_glass_round", {
|
||||
description = "Milky Medieval Round Glass (Good for colorization)",
|
||||
drawtype = "glasslike",
|
||||
tiles = {"darkage_milk_glass_round.png"},
|
||||
use_texture_alpha = "blend",
|
||||
paramtype = "light",
|
||||
paramtype2 = "color",
|
||||
palette = "unifieddyes_palette_extended.png",
|
||||
sunlight_propagates = true,
|
||||
groups = {cracky = 3, oddly_breakable_by_hand = 3, not_cuttable=1, ud_param2_colorable = 1},
|
||||
sounds = default.node_sound_glass_defaults()
|
||||
})
|
||||
-- Craft
|
||||
minetest.register_craft({
|
||||
output = "darkage:milk_glass_round",
|
||||
type = "shapeless",
|
||||
recipe = {"darkage:glass_round", "dye:white"},
|
||||
})
|
||||
|
||||
unifieddyes.register_color_craft({
|
||||
output = "darkage:milk_glass_round",
|
||||
palette = "extended",
|
||||
type = "shapeless",
|
||||
neutral_node = "",
|
||||
recipe = {
|
||||
"darkage:milk_glass_round",
|
||||
"MAIN_DYE"
|
||||
}
|
||||
})
|
||||
|
||||
-- Recycling
|
||||
minetest.register_craft({
|
||||
output = "darkage:glass_round 1",
|
||||
recipe = {{"darkage:milk_glass_round"}}
|
||||
})
|
||||
|
||||
--[[ Square Milk Glass ]]
|
||||
|
||||
minetest.register_node("darkage:milk_glass_square", {
|
||||
description = "Milky Medieval Square Glass (Good for colorization)",
|
||||
drawtype = "glasslike",
|
||||
tiles = {"darkage_milk_glass_square.png"},
|
||||
use_texture_alpha = "blend",
|
||||
paramtype = "light",
|
||||
paramtype2 = "color",
|
||||
palette = "unifieddyes_palette_extended.png",
|
||||
sunlight_propagates = true,
|
||||
groups = {cracky = 3, oddly_breakable_by_hand = 3, not_cuttable=1, ud_param2_colorable = 1},
|
||||
sounds = default.node_sound_glass_defaults()
|
||||
})
|
||||
|
||||
-- Craft
|
||||
minetest.register_craft({
|
||||
output = "darkage:milk_glass_square",
|
||||
type = "shapeless",
|
||||
recipe = {"darkage:glass_square", "dye:white"},
|
||||
})
|
||||
|
||||
unifieddyes.register_color_craft({
|
||||
output = "darkage:milk_glass_square",
|
||||
palette = "extended",
|
||||
type = "shapeless",
|
||||
neutral_node = "",
|
||||
recipe = {
|
||||
"darkage:milk_glass_square",
|
||||
"MAIN_DYE"
|
||||
}
|
||||
})
|
||||
|
||||
-- Recycling
|
||||
minetest.register_craft({
|
||||
output = "darkage:glass_square",
|
||||
recipe = {{"darkage:milk_glass_square"}}
|
||||
})
|
||||
|
||||
end --unifieddyes condition
|
396
init.lua
Executable file → Normal file
@ -1,16 +1,386 @@
|
||||
------------------------------------------------------
|
||||
-- Darkage mod by MasterGollum, addi and CraigyDavi --
|
||||
------------------------------------------------------
|
||||
minetest.log("action"," ---- Dark Age Version 1.3 is Loading! ---- ")
|
||||
|
||||
dofile(minetest.get_modpath("darkage").."/nodes.lua")
|
||||
dofile(minetest.get_modpath("darkage").."/craftitems.lua")
|
||||
dofile(minetest.get_modpath("darkage").."/crafts.lua")
|
||||
dofile(minetest.get_modpath("darkage").."/mapgen.lua")
|
||||
dofile(minetest.get_modpath("darkage").."/stairs.lua")
|
||||
dofile(minetest.get_modpath("darkage").."/aliases.lua")
|
||||
darkage = {}; -- Create darkage namespace
|
||||
|
||||
--
|
||||
-- Config
|
||||
--
|
||||
darkage.formbg = (default.gui_bg or "")..
|
||||
(default.gui_bg_img or "")..
|
||||
(default.gui_slots or "")
|
||||
|
||||
minetest.log ("Darkage [darkage] has loaded!")
|
||||
local MODPATH = minetest.get_modpath("darkage")..DIR_DELIM
|
||||
|
||||
dofile(MODPATH.."nodes.lua")
|
||||
dofile(MODPATH.."glass.lua")
|
||||
dofile(MODPATH.."mapgen.lua")
|
||||
dofile(MODPATH.."building.lua")
|
||||
dofile(MODPATH.."furniture.lua")
|
||||
dofile(MODPATH.."aliases.lua")
|
||||
dofile(MODPATH.."walls.lua")
|
||||
|
||||
dofile(MODPATH.."stairs_functions.lua")
|
||||
dofile(MODPATH.."stairs.lua")
|
||||
|
||||
|
||||
---------------
|
||||
-- Crafts Items
|
||||
---------------
|
||||
minetest.register_craftitem("darkage:chalk_powder", {
|
||||
description = "Chalk Powder",
|
||||
inventory_image = "darkage_chalk_powder.png",
|
||||
})
|
||||
|
||||
minetest.register_craftitem("darkage:mud_lump", {
|
||||
description = "Mud Lump",
|
||||
inventory_image = "darkage_mud_lump.png",
|
||||
})
|
||||
|
||||
minetest.register_craftitem("darkage:silt_lump", {
|
||||
description = "Silt Lump",
|
||||
inventory_image = "darkage_silt_lump.png",
|
||||
})
|
||||
|
||||
minetest.register_craftitem("darkage:iron_stick", {
|
||||
description = "Iron Stick",
|
||||
inventory_image = "darkage_iron_stick.png",
|
||||
})
|
||||
|
||||
|
||||
----------
|
||||
-- Crafts
|
||||
----------
|
||||
|
||||
minetest.register_craft({
|
||||
output = "darkage:adobe 4",
|
||||
recipe = {
|
||||
{"default:sand", "default:sand"},
|
||||
{"default:clay_lump", "farming:straw"},
|
||||
}
|
||||
})
|
||||
|
||||
--[[
|
||||
Basalt
|
||||
]]
|
||||
minetest.register_craft({
|
||||
type = "cooking",
|
||||
output = "darkage:basalt",
|
||||
recipe = "darkage:basalt_rubble",
|
||||
})
|
||||
|
||||
minetest.register_craft({
|
||||
output = "darkage:basalt_rubble 4",
|
||||
recipe = {
|
||||
{"default:cobble", "default:cobble"},
|
||||
{"default:coal_lump", "default:coal_lump"},
|
||||
}
|
||||
})
|
||||
|
||||
minetest.register_craft({
|
||||
output = "darkage:basalt_brick 4",
|
||||
recipe = {
|
||||
{"darkage:basalt", "darkage:basalt"},
|
||||
{"darkage:basalt", "darkage:basalt"},
|
||||
}
|
||||
})
|
||||
|
||||
minetest.register_craft({
|
||||
output = "darkage:basalt_block 9",
|
||||
recipe = {
|
||||
{"darkage:basalt", "darkage:basalt", "darkage:basalt"},
|
||||
{"darkage:basalt", "darkage:basalt", "darkage:basalt"},
|
||||
{"darkage:basalt", "darkage:basalt", "darkage:basalt"},
|
||||
}
|
||||
})
|
||||
|
||||
minetest.register_craft({
|
||||
output = "darkage:cobble_with_plaster 2",
|
||||
recipe = {
|
||||
{"default:cobble", "darkage:chalk_powder"},
|
||||
{"default:cobble", "darkage:chalk_powder"},
|
||||
}
|
||||
})
|
||||
|
||||
minetest.register_craft({
|
||||
output = "darkage:cobble_with_plaster 2",
|
||||
recipe = {
|
||||
{"darkage:chalk_powder", "default:cobble"},
|
||||
{"darkage:chalk_powder", "default:cobble"},
|
||||
}
|
||||
})
|
||||
|
||||
minetest.register_craft({
|
||||
output = "darkage:chalked_bricks_with_plaster 2",
|
||||
recipe = {
|
||||
{"darkage:chalked_bricks", "darkage:chalk_powder"},
|
||||
{"darkage:chalked_bricks", "darkage:chalk_powder"},
|
||||
}
|
||||
})
|
||||
|
||||
minetest.register_craft({
|
||||
output = "darkage:chalked_bricks_with_plaster 2",
|
||||
recipe = {
|
||||
{"darkage:chalk_powder", "darkage:chalked_bricks"},
|
||||
{"darkage:chalk_powder", "darkage:chalked_bricks"},
|
||||
}
|
||||
})
|
||||
|
||||
minetest.register_craft({
|
||||
output = "darkage:darkdirt 4",
|
||||
recipe = {
|
||||
{"default:dirt", "default:dirt"},
|
||||
{"default:gravel", "default:gravel"},
|
||||
}
|
||||
})
|
||||
|
||||
--[[
|
||||
Gneiss
|
||||
]]
|
||||
minetest.register_craft({
|
||||
type = "cooking",
|
||||
output = "darkage:gneiss",
|
||||
recipe = "darkage:schist",
|
||||
})
|
||||
|
||||
minetest.register_craft({
|
||||
type = "cooking",
|
||||
output = "darkage:gneiss",
|
||||
recipe = "darkage:gneiss_rubble",
|
||||
})
|
||||
|
||||
minetest.register_craft({
|
||||
output = "darkage:gneiss_brick 4",
|
||||
recipe = {
|
||||
{"darkage:gneiss", "darkage:gneiss"},
|
||||
{"darkage:gneiss", "darkage:gneiss"},
|
||||
}
|
||||
})
|
||||
|
||||
minetest.register_craft({
|
||||
output = "darkage:gneiss_block 9",
|
||||
recipe = {
|
||||
{"darkage:gneiss", "darkage:gneiss", "darkage:gneiss"},
|
||||
{"darkage:gneiss", "darkage:gneiss", "darkage:gneiss"},
|
||||
{"darkage:gneiss", "darkage:gneiss", "darkage:gneiss"},
|
||||
}
|
||||
})
|
||||
|
||||
minetest.register_craft({
|
||||
output = "darkage:mud 3",
|
||||
recipe = {
|
||||
{"default:dirt", "default:dirt"},
|
||||
{"default:clay_lump", "darkage:silt_lump"},
|
||||
}
|
||||
})
|
||||
|
||||
minetest.register_craft({
|
||||
output = "darkage:mud",
|
||||
recipe = {
|
||||
{"darkage:mud_lump", "darkage:mud_lump"},
|
||||
{"darkage:mud_lump", "darkage:mud_lump"},
|
||||
}
|
||||
})
|
||||
|
||||
minetest.register_craft({
|
||||
output = "darkage:marble_tile 2",
|
||||
recipe = {
|
||||
{"darkage:marble", "darkage:marble"},
|
||||
{"darkage:marble", "darkage:marble"},
|
||||
}
|
||||
})
|
||||
|
||||
--[[
|
||||
Old Red Sandstone
|
||||
]]
|
||||
|
||||
minetest.register_craft({
|
||||
type = "cooking",
|
||||
output = "darkage:ors",
|
||||
recipe = "darkage:ors_rubble",
|
||||
})
|
||||
|
||||
minetest.register_craft({
|
||||
output = "darkage:ors 4",
|
||||
recipe = {
|
||||
{"default:sandstone", "default:sandstone"},
|
||||
{"default:iron_lump", "default:sandstone"},
|
||||
}
|
||||
})
|
||||
minetest.register_craft({
|
||||
output = "darkage:ors_brick 4",
|
||||
recipe = {
|
||||
{"darkage:ors", "darkage:ors"},
|
||||
{"darkage:ors", "darkage:ors"},
|
||||
}
|
||||
})
|
||||
|
||||
minetest.register_craft({
|
||||
output = "darkage:ors_block 9",
|
||||
recipe = {
|
||||
{"darkage:ors", "darkage:ors", "darkage:ors"},
|
||||
{"darkage:ors", "darkage:ors", "darkage:ors"},
|
||||
{"darkage:ors", "darkage:ors", "darkage:ors"},
|
||||
}
|
||||
})
|
||||
|
||||
minetest.register_craft({
|
||||
output = "darkage:silt 3",
|
||||
recipe = {
|
||||
{"default:sand", "default:sand"},
|
||||
{"default:clay_lump", "default:clay_lump"},
|
||||
}
|
||||
})
|
||||
|
||||
minetest.register_craft({
|
||||
output = "darkage:silt",
|
||||
recipe = {
|
||||
{"darkage:silt_lump", "darkage:silt_lump"},
|
||||
{"darkage:silt_lump", "darkage:silt_lump"},
|
||||
}
|
||||
})
|
||||
|
||||
--[[
|
||||
Slate
|
||||
]]
|
||||
minetest.register_craft({
|
||||
type = "cooking",
|
||||
output = "darkage:slate",
|
||||
recipe = "darkage:slate_rubble",
|
||||
})
|
||||
|
||||
minetest.register_craft({
|
||||
output = "darkage:slate_brick 4",
|
||||
recipe = {
|
||||
{"darkage:slate", "darkage:slate"},
|
||||
{"darkage:slate", "darkage:slate"},
|
||||
}
|
||||
})
|
||||
|
||||
minetest.register_craft({
|
||||
output = "darkage:slate_block 9",
|
||||
recipe = {
|
||||
{"darkage:slate", "darkage:slate", "darkage:slate"},
|
||||
{"darkage:slate", "darkage:slate", "darkage:slate"},
|
||||
{"darkage:slate", "darkage:slate", "darkage:slate"},
|
||||
}
|
||||
})
|
||||
|
||||
minetest.register_craft({
|
||||
output = "darkage:slate_tile 2",
|
||||
recipe = {
|
||||
{"darkage:slate_brick", "darkage:slate_brick"},
|
||||
{"darkage:slate_brick", "darkage:slate_brick"},
|
||||
}
|
||||
})
|
||||
|
||||
minetest.register_craft({
|
||||
output = "darkage:stone_brick",
|
||||
recipe = {
|
||||
{"default:stone_block"},
|
||||
}
|
||||
})
|
||||
|
||||
|
||||
minetest.register_craft({
|
||||
output = "darkage:straw_bale",
|
||||
recipe = {
|
||||
{"farming:straw","farming:straw"},
|
||||
{"farming:straw","farming:straw"},
|
||||
}
|
||||
})
|
||||
|
||||
minetest.register_craft({
|
||||
output = "darkage:iron_stick 4",
|
||||
recipe = {
|
||||
{"default:steel_ingot"},
|
||||
}
|
||||
})
|
||||
|
||||
-- Cookings
|
||||
|
||||
|
||||
minetest.register_craft({
|
||||
type = "cooking",
|
||||
output = "darkage:dry_leaves",
|
||||
recipe = "default:leaves",
|
||||
})
|
||||
|
||||
minetest.register_craft({
|
||||
type = "cooking",
|
||||
output = "darkage:schist",
|
||||
recipe = "darkage:slate",
|
||||
})
|
||||
|
||||
minetest.register_craft({
|
||||
type = "cooking",
|
||||
output = "darkage:shale",
|
||||
recipe = "darkage:mud",
|
||||
})
|
||||
|
||||
minetest.register_craft({
|
||||
type = "cooking",
|
||||
output = "darkage:slate",
|
||||
recipe = "darkage:shale",
|
||||
})
|
||||
|
||||
minetest.register_craft({
|
||||
type = "cooking",
|
||||
output = "darkage:slate",
|
||||
recipe = "darkage:slate_rubble",
|
||||
})
|
||||
|
||||
-- Desert
|
||||
minetest.register_craft({
|
||||
type = "cooking",
|
||||
output = "darkage:ors_brick",
|
||||
recipe = "default:desert_stone",
|
||||
})
|
||||
|
||||
-- Tuff
|
||||
minetest.register_craft({
|
||||
output = "darkage:tuff 2",
|
||||
recipe = {
|
||||
{"darkage:gneiss", "default:stone"},
|
||||
{"default:stone", "darkage:gneiss"},
|
||||
}
|
||||
})
|
||||
|
||||
minetest.register_craft({
|
||||
type = "cooking",
|
||||
output = "darkage:tuff",
|
||||
recipe = "darkage:tuff_rubble",
|
||||
})
|
||||
|
||||
minetest.register_craft({
|
||||
type = "cooking",
|
||||
output = "darkage:tuff",
|
||||
recipe = "darkage:old_tuff_bricks",
|
||||
})
|
||||
|
||||
minetest.register_craft({
|
||||
output = "darkage:tuff_bricks 4",
|
||||
recipe = {
|
||||
{"darkage:tuff", "darkage:tuff"},
|
||||
{"darkage:tuff", "darkage:tuff"},
|
||||
}
|
||||
})
|
||||
|
||||
-- Rhyolitic Tuff
|
||||
minetest.register_craft({
|
||||
output = "darkage:rhyolitic_tuff 2",
|
||||
recipe = {
|
||||
{"darkage:gneiss", "default:desert_stone"},
|
||||
{"default:desert_stone", "darkage:gneiss"},
|
||||
}
|
||||
})
|
||||
|
||||
minetest.register_craft({
|
||||
type = "cooking",
|
||||
output = "darkage:rhyolitic_tuff",
|
||||
recipe = "darkage:rhyolitic_tuff_rubble",
|
||||
})
|
||||
|
||||
minetest.register_craft({
|
||||
output = "darkage:rhyolitic_tuff_bricks 4",
|
||||
recipe = {
|
||||
{"darkage:rhyolitic_tuff", "darkage:rhyolitic_tuff"},
|
||||
{"darkage:rhyolitic_tuff", "darkage:rhyolitic_tuff"},
|
||||
}
|
||||
})
|
||||
|
416
mapgen.lua
Executable file → Normal file
@ -1,53 +1,51 @@
|
||||
--[[
|
||||
This file generates:
|
||||
darkage:mud
|
||||
darkage:silt
|
||||
darkage:chalk
|
||||
darkage:ors
|
||||
darkage:shale
|
||||
darkage:slate
|
||||
darkage:schist
|
||||
darkage:basalt
|
||||
darkage:marble
|
||||
darkage:serpentine
|
||||
darkage:gneiss
|
||||
--]]
|
||||
|
||||
local getID = minetest.get_content_id
|
||||
-- Some local constants to use for mapgen
|
||||
local c_air = minetest.CONTENT_AIR
|
||||
local c_ignore = minetest.CONTENT_IGNORE
|
||||
|
||||
local function generate_stratus(data, varea, name, wherein, ceilin, ceil, minp, maxp, seed, stratus_chance, radius, radius_y, deep, height_min, height_max)
|
||||
local c_ore = getID(name)
|
||||
local c_wherein = {}
|
||||
local c_ceilin = {}
|
||||
for k, v in ipairs(wherein) do
|
||||
c_wherein[k] = getID(v)
|
||||
end
|
||||
for k, v in ipairs(ceilin) do
|
||||
c_ceilin[k] = getID(v)
|
||||
end
|
||||
local c_ceil
|
||||
if ceil then
|
||||
c_ceil = getID(ceil)
|
||||
end
|
||||
|
||||
if maxp.y < height_min or minp.y > height_max then
|
||||
local c_stone = minetest.get_content_id("default:stone")
|
||||
local c_water = minetest.get_content_id("default:water_source")
|
||||
local c_sand = minetest.get_content_id("default:sand")
|
||||
local c_dirt = minetest.get_content_id("default:dirt")
|
||||
local c_lawn = minetest.get_content_id("default:dirt_with_grass")
|
||||
|
||||
local stone_and_air_assoc = {[c_stone]=true,[c_air]=true} --associative array
|
||||
|
||||
--Makes a stratus of rocks
|
||||
--name of the rock to generate
|
||||
--c_wherein id of node to replace, for example minetest.get_content_id("default:stone")
|
||||
--ca_ceilin associative array
|
||||
--minp, maxp the corners of the map to be generated
|
||||
--seed random seed
|
||||
--stratus_chance inverse probability in a given radius 1:2, 1:3 etc
|
||||
--radius horizontal radius of the stratus
|
||||
--radius_y vertical radius of the stratus
|
||||
--deep how deep can be from the ground
|
||||
local function generate_stratus(data, area, name, c_wherein, ca_ceilin, minp, maxp, seed, stratus_chance, radius, radius_y, deep, y_min, y_max)
|
||||
if maxp.y < y_min
|
||||
or minp.y > y_max then
|
||||
return
|
||||
end
|
||||
local stratus_per_volume = 1
|
||||
local area = 45
|
||||
local y_min = math.max(minp.y, height_min)
|
||||
local y_max = math.min(maxp.y, height_max)
|
||||
local volume = ((maxp.x-minp.x+1)/area)*((y_max-y_min+1)/area)*((maxp.z-minp.z+1)/area)
|
||||
|
||||
local c_node = minetest.get_content_id(name)
|
||||
|
||||
-- it will be only generate a stratus for every 100 m of area
|
||||
local stratus_per_volume=1
|
||||
local area_size = 45
|
||||
local y_min = math.max(minp.y, y_min)
|
||||
local y_max = math.min(maxp.y, y_max)
|
||||
local volume = ((maxp.x-minp.x+1)/area_size)*((y_max-y_min+1)/area_size)*((maxp.z-minp.z+1)/area_size)
|
||||
local pr = PseudoRandom(seed)
|
||||
local blocks = math.floor(stratus_per_volume*volume)
|
||||
print(" <<"..dump(name)..">>");
|
||||
minetest.log("info", " <<"..name..">>");
|
||||
if blocks == 0 then
|
||||
blocks = 1
|
||||
end
|
||||
print(" blocks: "..dump(blocks).." in vol: "..dump(volume).." ("..dump(maxp.x-minp.x+1)..","..dump(y_max-y_min+1)..","..dump(maxp.z-minp.z+1)..")")
|
||||
for i=1,blocks do
|
||||
local x = pr:next(1,stratus_chance)
|
||||
if x == 1 then
|
||||
minetest.log("info", string.format(" blocks: %d in vol: %d (%d,%d,%d)",
|
||||
blocks, volume, maxp.x-minp.x+1, y_max-y_min+1, maxp.z-minp.z+1))
|
||||
for i = 1,blocks do
|
||||
if pr:next(1,stratus_chance) == 1 then
|
||||
-- TODO deep
|
||||
local y0=y_max-radius_y+1
|
||||
if y0 < y_min then
|
||||
y0=y_min
|
||||
@ -66,91 +64,53 @@ local function generate_stratus(data, varea, name, wherein, ceilin, ceil, minp,
|
||||
else
|
||||
z0 = pr:next(minp.z, z0)
|
||||
end
|
||||
local p0 = {x=x0, y=y0, z=z0}
|
||||
local n = data[varea:indexp(p0)]
|
||||
local n = data[area:index(x0, y0, z0)]
|
||||
local i = 0
|
||||
x = 0
|
||||
for k, v in ipairs(c_ceilin) do
|
||||
if n == v then
|
||||
x = 1
|
||||
break
|
||||
end
|
||||
end
|
||||
if x == 1 then
|
||||
for y1=y0-1,y_min,-1 do
|
||||
p0.y=y1
|
||||
n = data[varea:indexp(p0)]
|
||||
x = 0
|
||||
for k, v in ipairs(c_wherein) do
|
||||
if n == v then
|
||||
x = 1
|
||||
break
|
||||
end
|
||||
end
|
||||
if x == 1 then
|
||||
y0=y1-deep
|
||||
if y0 < y_min then
|
||||
y0 = y_min
|
||||
end
|
||||
|
||||
if ca_ceilin[n] then
|
||||
-- search for the node to replace
|
||||
--print(" Searching nodes to replace from "..dump(y0-1).." to "..dump(y_min))
|
||||
local vi = area:index(x0, y0-1, z0)
|
||||
for y1 = y0-1,y_min,-1 do
|
||||
if data[vi] == c_wherein then
|
||||
y0 = math.max(y1-deep, y_min)
|
||||
break
|
||||
end
|
||||
vi = vi - area.ystride
|
||||
end
|
||||
local rx=pr:next(radius/2,radius)+1
|
||||
local rz=pr:next(radius/2,radius)+1
|
||||
local ry=pr:next(radius_y/2,radius_y)+1
|
||||
--print(" area of generation ("..dump(rx)..","..dump(rz)..","..dump(ry)..")")
|
||||
vi = area:index(x0, y0, z0)
|
||||
for x1=0,rx do
|
||||
rz = rz + 3 - pr:next(1,6)
|
||||
if rz < 1 then
|
||||
rz = 1
|
||||
end
|
||||
local vi = vi + x1
|
||||
rz = math.max(rz + 3 - pr:next(1,6), 1)
|
||||
for z1=pr:next(1,3),rz do
|
||||
local ry0=ry+ pr:next(1,3)
|
||||
for y1=pr:next(1,3),ry0 do
|
||||
local x2 = x0+x1
|
||||
local y2 = y0+y1
|
||||
local z2 = z0+z1
|
||||
local p2 = {x=x2, y=y2, z=z2}
|
||||
n = data[varea:indexp(p2)]
|
||||
x = 0
|
||||
for k, v in ipairs(c_wherein) do
|
||||
if n == v then
|
||||
x = 1
|
||||
break
|
||||
end
|
||||
end
|
||||
if x == 1 then
|
||||
if c_ceil == nil then
|
||||
data[varea:indexp(p2)] = c_ore
|
||||
i = i +1
|
||||
else
|
||||
local p3 = {p2.x,p2.y+1,p2}
|
||||
if data[varea:indexp(p3)] == c_ceil then
|
||||
data[varea:indexp(p2)] = c_ore
|
||||
i = i +1
|
||||
end
|
||||
end
|
||||
local vi = vi + z1 * area.zstride
|
||||
for y1 = pr:next(1,3), ry + pr:next(1,3) do
|
||||
local vi = vi + y1 * area.ystride
|
||||
if data[vi] == c_wherein then
|
||||
data[vi] = c_node
|
||||
i = i + 1
|
||||
end
|
||||
end
|
||||
end
|
||||
end
|
||||
print(" generated "..dump(i).." blocks in ("..dump(x0)..","..dump(y0)..","..dump(z0)..")")
|
||||
end
|
||||
minetest.log("info", " generated "..i.." blocks in ("..x0..","..y0..","..z0..")")
|
||||
end
|
||||
end
|
||||
--print("generate_ore done")
|
||||
end
|
||||
|
||||
local function generate_claylike(data, varea, name, minp, maxp, seed, chance, minh, maxh, dirt)
|
||||
local c_ore = getID(name)
|
||||
local c_sand = getID("default:sand")
|
||||
local c_dirt = getID("default:dirt")
|
||||
local c_lawn = getID("default:dirt_with_grass")
|
||||
local c_water = getID("default:water_source")
|
||||
local c_air = getID("air")
|
||||
|
||||
local function generate_claylike(data, varea, name, minp, maxp, seed, chance, minh, maxh, needs_dirt)
|
||||
if maxp.y >= maxh+1 and minp.y <= minh-1 then
|
||||
local pr = PseudoRandom(seed)
|
||||
local divlen = 4
|
||||
local divs = (maxp.x-minp.x)/divlen+1;
|
||||
local c_ore = minetest.get_content_id(name)
|
||||
local pr = PseudoRandom(seed)
|
||||
|
||||
local divlen = 4
|
||||
local divs = (maxp.x-minp.x)/divlen+1;
|
||||
for yy=minh,maxh do
|
||||
local x = pr:next(1,chance)
|
||||
if x == 1 then
|
||||
@ -160,8 +120,7 @@ local function generate_claylike(data, varea, name, minp, maxp, seed, chance, mi
|
||||
local cz = minp.z + math.floor((divz+0.5)*divlen)
|
||||
local up = data[varea:index(cx,yy,cz)]
|
||||
local down = data[varea:index(cx,yy-1,cz)]
|
||||
if ( up == c_water or up == c_air ) and ( down == c_sand or (dirt == 1 and (down == c_dirt or down == c_lawn ))) then
|
||||
local is_shallow = true
|
||||
if ( up == c_water or up == c_air ) and ( down == c_sand or (needs_dirt and (down == c_dirt or down == c_lawn ))) then
|
||||
local num_water_around = 0
|
||||
if data[varea:index(cx-divlen*2,yy,cz)] == c_water then
|
||||
num_water_around = num_water_around + 1
|
||||
@ -175,16 +134,13 @@ local function generate_claylike(data, varea, name, minp, maxp, seed, chance, mi
|
||||
if data[varea:index(cx,yy,cz+divlen*2)] == c_water then
|
||||
num_water_around = num_water_around + 1
|
||||
end
|
||||
if num_water_around >= 3 then
|
||||
is_shallow = false
|
||||
end
|
||||
if is_shallow then
|
||||
if num_water_around < 3 then
|
||||
for x1=-divlen,divlen do
|
||||
for z1=-divlen,divlen do
|
||||
local p={x=cx+x1,y=yy-1,z=cz+z1}
|
||||
down = data[varea:indexp(p)]
|
||||
if down == c_sand or (dirt == 1 and (down == c_dirt or down == c_lawn)) then
|
||||
data[varea:indexp(p)] = c_ore
|
||||
local i = varea:index(cx+x1,yy-1,cz+z1)
|
||||
local down = data[i]
|
||||
if down == c_sand or (needs_dirt and (down == c_dirt or down == c_lawn)) then
|
||||
data[i] = c_ore
|
||||
end
|
||||
end
|
||||
end
|
||||
@ -197,105 +153,153 @@ local function generate_claylike(data, varea, name, minp, maxp, seed, chance, mi
|
||||
end
|
||||
end
|
||||
|
||||
local seed = minetest.get_mapgen_setting("seed")
|
||||
|
||||
local function generate_ore(data, varea, name, wherein, minp, maxp, seed, chunks_per_volume, chunk_size, ore_per_chunk, height_min, height_max)
|
||||
local c_ore = getID(name)
|
||||
local c_wherein = getID(wherein)
|
||||
|
||||
if maxp.y < height_min or minp.y > height_max then
|
||||
return
|
||||
end
|
||||
local y_min = math.max(minp.y, height_min)
|
||||
local y_max = math.min(maxp.y, height_max)
|
||||
local volume = (maxp.x-minp.x+1)*(y_max-y_min+1)*(maxp.z-minp.z+1)
|
||||
local pr = PseudoRandom(seed)
|
||||
local num_chunks = math.floor(chunks_per_volume * volume)
|
||||
local inverse_chance = math.floor(chunk_size*chunk_size*chunk_size / ore_per_chunk)
|
||||
for i=1,num_chunks do
|
||||
local y0 = pr:next(y_min, y_max-chunk_size+1)
|
||||
if y0 >= height_min and y0 <= height_max then
|
||||
local x0 = pr:next(minp.x, maxp.x-chunk_size+1)
|
||||
local z0 = pr:next(minp.z, maxp.z-chunk_size+1)
|
||||
local p0 = {x=x0, y=y0, z=z0}
|
||||
for x1=0,chunk_size-1 do
|
||||
for y1=0,chunk_size-1 do
|
||||
for z1=0,chunk_size-1 do
|
||||
if pr:next(1,inverse_chance) == 1 then
|
||||
local x2 = x0+x1
|
||||
local y2 = y0+y1
|
||||
local z2 = z0+z1
|
||||
local p2 = {x=x2, y=y2, z=z2}
|
||||
local indexp2 = varea:indexp(p2)
|
||||
if data[indexp2] == c_wherein then
|
||||
data[indexp2] = c_ore
|
||||
end
|
||||
end
|
||||
end
|
||||
end
|
||||
end
|
||||
end
|
||||
end
|
||||
end
|
||||
-- Generate desert stone with iron in derset.
|
||||
minetest.register_ore({
|
||||
ore_type = "scatter",
|
||||
ore = "darkage:desert_stone_with_iron",
|
||||
wherein = "default:desert_stone",
|
||||
clust_scarcity = 12 * 12 * 12,
|
||||
clust_num_ores = 3,
|
||||
clust_size = 2,
|
||||
y_min = -1,
|
||||
y_max = 200,
|
||||
})
|
||||
|
||||
-- Generate chalk inside mountains
|
||||
minetest.register_ore({
|
||||
ore_type = "sheet",
|
||||
ore = "darkage:chalk",
|
||||
wherein = {"default:stone"},
|
||||
column_height_max = 30,
|
||||
column_height_min = 20,
|
||||
y_min = -20,
|
||||
y_max = 50,
|
||||
noise_threshold = 0.45,
|
||||
noise_params = {
|
||||
offset = 0.35,
|
||||
scale = 0.2,
|
||||
spread = {x = 30, y = 30, z = 30},
|
||||
octaves = 1,
|
||||
persistence = 0.6
|
||||
},
|
||||
})
|
||||
|
||||
minetest.register_ore({
|
||||
ore_type = "sheet",
|
||||
ore = "darkage:tuff",
|
||||
wherein = {"default:stone", "default:dirt", "default:gravel", "default:stone_with_coal"},
|
||||
column_height_max = 20,
|
||||
column_height_min = 15,
|
||||
y_min = -200,
|
||||
y_max = 200,
|
||||
noise_threshold = 0.5,
|
||||
noise_params = {
|
||||
offset = 0.35,
|
||||
scale = 0.19,
|
||||
seed = seed+12,
|
||||
spread = {x = 45, y = 45, z = 45},
|
||||
octaves = 1,
|
||||
persistence = 0.6
|
||||
},
|
||||
})
|
||||
|
||||
minetest.register_ore({
|
||||
ore_type = "sheet",
|
||||
ore = "darkage:rhyolitic_tuff",
|
||||
wherein = {"default:stone", "default:dirt", "default:gravel", "default:stone_with_coal"},
|
||||
column_height_max = 20,
|
||||
column_height_min = 15,
|
||||
y_min = -2000,
|
||||
y_max = 200,
|
||||
noise_threshold = 0.53,
|
||||
noise_params = {
|
||||
offset = 0.35,
|
||||
scale = 0.2,
|
||||
seed = seed+13,
|
||||
spread = {x = 100, y = 100, z = 100},
|
||||
octaves = 1,
|
||||
persistence = 0.6
|
||||
},
|
||||
})
|
||||
|
||||
--old red sandstone
|
||||
minetest.register_ore({
|
||||
ore_type = "sheet",
|
||||
ore = "darkage:ors",
|
||||
wherein = {"default:stone", "default:dirt", "default:gravel", "default:stone_with_coal"},
|
||||
column_height_max = 8,
|
||||
column_height_min = 6,
|
||||
y_min = -200,
|
||||
y_max = 500,
|
||||
noise_threshold = 0.49,
|
||||
noise_params = {
|
||||
offset = 0.28,
|
||||
scale = 0.3,
|
||||
seed = seed+4,
|
||||
spread = {x = 10, y = 10, z = 10},
|
||||
octaves = 1,
|
||||
persistence = 0.6
|
||||
},
|
||||
})
|
||||
|
||||
|
||||
-- Generate strati
|
||||
local dbuf = {} --for mapgen
|
||||
local function generate_strati(minp, maxp, seed)
|
||||
|
||||
function darkage_mapgen(data, area, minp, maxp, seed) -- public function, to be used by Lua mapgens
|
||||
if minp.y < -19600 then return end
|
||||
local t1 = os.clock()
|
||||
generate_claylike(data, area, "darkage:mud", minp, maxp, seed+1, 4, 0, 2, 0)
|
||||
generate_claylike(data, area, "darkage:silt", minp, maxp, seed+2, 4, -1, 1, 1)
|
||||
generate_stratus(data, area, "darkage:chalk",
|
||||
{"default:stone"},
|
||||
{"default:stone","air"}, nil,
|
||||
minp, maxp, seed+3, 4, 25, 8, 0, -20, 50)
|
||||
generate_stratus(data, area, "darkage:ors",
|
||||
{"default:stone"},
|
||||
{"default:stone","air","default:water_source"}, nil,
|
||||
minp, maxp, seed+4, 4, 25, 7, 50, -200, 500)
|
||||
|
||||
local vm, emin, emax = minetest.get_mapgen_object("voxelmanip")
|
||||
local area = VoxelArea:new({MinEdge = emin, MaxEdge = emax})
|
||||
local data = vm:get_data(dbuf)
|
||||
|
||||
|
||||
generate_claylike(data, area, "darkage:mud", minp, maxp, seed+1, 4, 0, 2, false)
|
||||
generate_claylike(data, area, "darkage:silt", minp, maxp, seed+2, 4, -1, 1, true)
|
||||
|
||||
-- TODO: Maybe realize the following stuff with register ore. somehow.
|
||||
generate_stratus(data, area, "darkage:shale",
|
||||
{"default:stone"},
|
||||
{"default:stone","air"}, nil,
|
||||
minp, maxp, seed+5, 4, 23, 7, 50, -50, 20)
|
||||
c_stone,
|
||||
stone_and_air_assoc,
|
||||
minp, maxp, seed+5, 4, 23, 7, 50, -50, 20)
|
||||
|
||||
generate_stratus(data, area, "darkage:slate",
|
||||
{"default:stone"},
|
||||
{"default:stone","air"}, nil,
|
||||
minp, maxp, seed+6, 6, 23, 5, 50, -500, 0)
|
||||
c_stone,
|
||||
stone_and_air_assoc,
|
||||
minp, maxp, seed+6, 6, 23, 5, 50, -500, 0)
|
||||
|
||||
generate_stratus(data, area, "darkage:schist",
|
||||
{"default:stone"},
|
||||
{"default:stone","air"}, nil,
|
||||
minp, maxp, seed+7, 6, 19, 6, 50, -31000, -10)
|
||||
c_stone,
|
||||
stone_and_air_assoc,
|
||||
minp, maxp, seed+7, 6, 19, 6, 50, -31000, -10)
|
||||
|
||||
generate_stratus(data, area, "darkage:basalt",
|
||||
{"default:stone"},
|
||||
{"default:stone","air"}, nil,
|
||||
minp, maxp, seed+8, 5, 20, 5, 20, -31000, -50)
|
||||
c_stone,
|
||||
stone_and_air_assoc,
|
||||
minp, maxp, seed+8, 5, 20, 5, 20, -31000, -50)
|
||||
|
||||
generate_stratus(data, area, "darkage:marble",
|
||||
{"default:stone"},
|
||||
{"default:stone","air"}, nil,
|
||||
minp, maxp, seed+9, 4, 25, 6, 50, -31000, -75)
|
||||
c_stone,
|
||||
stone_and_air_assoc,
|
||||
minp, maxp, seed+9, 4, 25, 6, 50, -31000, -75)
|
||||
|
||||
generate_stratus(data, area, "darkage:serpentine",
|
||||
{"default:stone"},
|
||||
{"default:stone","air"}, nil,
|
||||
minp, maxp, seed+10, 4, 28, 8, 50, -31000, -350)
|
||||
c_stone,
|
||||
stone_and_air_assoc,
|
||||
minp, maxp, seed+10, 4, 28, 8, 50, -31000, -350)
|
||||
|
||||
generate_stratus(data, area, "darkage:gneiss",
|
||||
{"default:stone"},
|
||||
{"default:stone","air"}, nil,
|
||||
minp, maxp, seed+11, 4, 15, 5, 50, -31000, -250)
|
||||
print("DARKAGE: calculating time : " .. os.clock() - t1)
|
||||
c_stone,
|
||||
stone_and_air_assoc,
|
||||
minp, maxp, seed+11, 4, 15, 5, 50, -31000, -250)
|
||||
|
||||
vm:set_data(data)
|
||||
vm:write_to_map()
|
||||
|
||||
minetest.log("info", string.format("[darkage] Generated Strati after %.2fs.", os.clock() - t1))
|
||||
end
|
||||
|
||||
minetest.register_on_mapgen_init(function(mgparams)
|
||||
if mgparams.mgname ~= "singlenode" then
|
||||
minetest.register_on_generated(function(minp, maxp, seed)
|
||||
if minp.y < -19600 then return end
|
||||
|
||||
local t0 = os.clock()
|
||||
local vm, emin, emax = minetest.get_mapgen_object("voxelmanip")
|
||||
local area = VoxelArea:new({MinEdge = emin, MaxEdge = emax})
|
||||
local data = vm:get_data()
|
||||
|
||||
darkage_mapgen(data, area, minp, maxp, seed)
|
||||
|
||||
vm:set_data(data)
|
||||
vm:write_to_map()
|
||||
print("DARKAGE: total time taken : " .. os.clock() - t0)
|
||||
end)
|
||||
end
|
||||
end)
|
||||
minetest.register_on_generated(generate_strati)
|
||||
|
6
mod.conf
Normal file
@ -0,0 +1,6 @@
|
||||
name = darkage
|
||||
title = DarkAge
|
||||
description = DarkAge adds several new nodes and crafts to create a pre industrial landscape. It also extends the stones and provides new construction materials.
|
||||
depends= default, farming
|
||||
optional_depends = moreblocks, stairs, unifieddyes
|
||||
min_minetest_version = 5.3
|
777
nodes.lua
Executable file → Normal file
@ -1,18 +1,240 @@
|
||||
-- Naturally spawning blocks
|
||||
local function get_node_drops(fullRockNode, cobbleRockNode)
|
||||
return {
|
||||
max_items = 1,
|
||||
items = {
|
||||
{
|
||||
-- drop the cobble variant with 1/3 chance
|
||||
items = {cobbleRockNode},
|
||||
rarity = 3,
|
||||
},
|
||||
{
|
||||
-- drop the full node with 2/3 chance
|
||||
items = {fullRockNode},
|
||||
}
|
||||
}
|
||||
}
|
||||
end
|
||||
|
||||
----------
|
||||
-- Nodes
|
||||
----------
|
||||
|
||||
minetest.register_node("darkage:adobe", {
|
||||
description = "Adobe",
|
||||
tiles = {"darkage_adobe.png"},
|
||||
is_ground_content = true,
|
||||
groups = {crumbly=3},
|
||||
sounds = default.node_sound_sand_defaults(),
|
||||
})
|
||||
|
||||
--[[
|
||||
Basalt
|
||||
]]
|
||||
minetest.register_node("darkage:basalt", {
|
||||
description = "Basalt",
|
||||
tiles = {"darkage_basalt.png"},
|
||||
is_ground_content = true,
|
||||
drop = get_node_drops("darkage:basalt","darkage:basalt_rubble"),
|
||||
groups = {cracky = 3, stone = 1},
|
||||
sounds = default.node_sound_stone_defaults()
|
||||
})
|
||||
|
||||
minetest.register_node("darkage:basalt_rubble", {
|
||||
description = "Basalt Rubble",
|
||||
tiles = {"darkage_basalt_rubble.png"},
|
||||
is_ground_content = false,
|
||||
groups = {cracky = 3, stone = 2},
|
||||
sounds = default.node_sound_stone_defaults()
|
||||
})
|
||||
|
||||
minetest.register_node("darkage:basalt_brick", {
|
||||
description = "Basalt Brick",
|
||||
tiles = {"darkage_basalt_brick.png"},
|
||||
is_ground_content = false,
|
||||
groups = {cracky = 2, stone = 1},
|
||||
sounds = default.node_sound_stone_defaults()
|
||||
})
|
||||
|
||||
minetest.register_node("darkage:basalt_block", {
|
||||
description = "Basalt Block",
|
||||
tiles = {"darkage_basalt_block.png"},
|
||||
is_ground_content = false,
|
||||
groups = {cracky = 2, stone = 1},
|
||||
sounds = default.node_sound_stone_defaults()
|
||||
})
|
||||
|
||||
--[[
|
||||
Chalk
|
||||
]]
|
||||
minetest.register_node("darkage:chalk", {
|
||||
description = "Chalk",
|
||||
tiles = {"darkage_chalk.png"},
|
||||
is_ground_content = true,
|
||||
drop = "darkage:chalk_powder 4",
|
||||
groups = {crumbly=2,cracky=2},
|
||||
drop = 'darkage:chalk_powder 2',
|
||||
groups = {crumbly=2, cracky=2, not_cuttable=1},
|
||||
sounds = default.node_sound_stone_defaults()
|
||||
})
|
||||
|
||||
minetest.register_node("darkage:cobble_with_plaster", {
|
||||
description = "Cobblestone with Plaster",
|
||||
tiles = {"darkage_chalk.png^(default_cobble.png^[mask:darkage_plaster_mask_D.png)", "darkage_chalk.png^(default_cobble.png^[mask:darkage_plaster_mask_B.png)",
|
||||
"darkage_chalk.png^(default_cobble.png^[mask:darkage_plaster_mask_C.png)", "darkage_chalk.png^(default_cobble.png^[mask:darkage_plaster_mask_A.png)",
|
||||
"default_cobble.png", "darkage_chalk.png"},
|
||||
is_ground_content = false,
|
||||
paramtype2 = "facedir",
|
||||
drop = 'default:cobble',
|
||||
groups = {cracky=3, not_cuttable=1},
|
||||
sounds = default.node_sound_stone_defaults(),
|
||||
})
|
||||
|
||||
minetest.register_node("darkage:chalked_bricks_with_plaster", {
|
||||
description = "Chalked Bricks with Plaster",
|
||||
tiles = {"darkage_chalk.png^(darkage_chalked_bricks.png^[mask:darkage_plaster_mask_D.png)", "darkage_chalk.png^(darkage_chalked_bricks.png^[mask:darkage_plaster_mask_B.png)",
|
||||
"darkage_chalk.png^(darkage_chalked_bricks.png^[mask:darkage_plaster_mask_C.png)", "darkage_chalk.png^(darkage_chalked_bricks.png^[mask:darkage_plaster_mask_A.png)",
|
||||
"darkage_chalked_bricks.png", "darkage_chalk.png"},
|
||||
is_ground_content = false,
|
||||
paramtype2 = "facedir",
|
||||
drop = 'default:cobble',
|
||||
groups = {cracky=3, not_cuttable=1},
|
||||
sounds = default.node_sound_stone_defaults(),
|
||||
})
|
||||
|
||||
--lbm to convert the old cobble_with_plaster to the new chalked_bricks to keep texture consistent
|
||||
minetest.register_lbm({
|
||||
name="darkage:convert_cobble_with_plaster",
|
||||
nodenames= "darkage:cobble_with_plaster",
|
||||
run_at_every_load = false,
|
||||
action = function(pos,node)
|
||||
node.name = "darkage:chalked_bricks_with_plaster"
|
||||
minetest.swap_node(pos, node)
|
||||
end
|
||||
})
|
||||
|
||||
minetest.register_node("darkage:desert_stone_with_iron", {
|
||||
description = "Desert Iron Ore",
|
||||
tiles = {"default_desert_stone.png^default_mineral_iron.png"},
|
||||
is_ground_content = true,
|
||||
groups = {cracky=3, not_cuttable=1},
|
||||
drop = 'default:iron_lump',
|
||||
sounds = default.node_sound_stone_defaults(),
|
||||
})
|
||||
|
||||
minetest.register_node("darkage:darkdirt", {
|
||||
description = "Dark Dirt",
|
||||
tiles = {"darkage_darkdirt.png"},
|
||||
is_ground_content = false,
|
||||
groups = {crumbly=2, not_cuttable=1},
|
||||
sounds = default.node_sound_dirt_defaults(),
|
||||
})
|
||||
|
||||
minetest.register_node("darkage:dry_leaves", {
|
||||
description = "Dry Leaves",
|
||||
tiles = {"darkage_dry_leaves.png"},
|
||||
is_ground_content = false,
|
||||
paramtype = "light",
|
||||
groups = {snappy=3, flammable=2},
|
||||
sounds = default.node_sound_leaves_defaults()
|
||||
})
|
||||
|
||||
--[[
|
||||
Gneiss
|
||||
]]
|
||||
minetest.register_node("darkage:gneiss", {
|
||||
description = "Gneiss",
|
||||
tiles = {"darkage_gneiss.png"},
|
||||
is_ground_content = true,
|
||||
groups = {cracky = 3, stone = 1},
|
||||
drop = get_node_drops("darkage:gneiss", "darkage:gneiss_rubble"),
|
||||
sounds = default.node_sound_stone_defaults()
|
||||
})
|
||||
|
||||
minetest.register_node("darkage:gneiss_rubble", {
|
||||
description = "Gneiss Rubble",
|
||||
tiles = {"darkage_gneiss_rubble.png"},
|
||||
is_ground_content = false,
|
||||
groups = {cracky = 3, stone = 2},
|
||||
sounds = default.node_sound_stone_defaults()
|
||||
})
|
||||
|
||||
minetest.register_node("darkage:gneiss_brick", {
|
||||
description = "Gneiss Brick",
|
||||
tiles = {"darkage_gneiss_brick.png"},
|
||||
is_ground_content = false,
|
||||
groups = {cracky = 2, stone = 1},
|
||||
sounds = default.node_sound_stone_defaults()
|
||||
})
|
||||
|
||||
minetest.register_node("darkage:gneiss_block", {
|
||||
description = "Gneiss Block",
|
||||
tiles = {"darkage_gneiss_block.png"},
|
||||
is_ground_content = false,
|
||||
groups = {cracky = 2, stone = 1},
|
||||
sounds = default.node_sound_stone_defaults()
|
||||
})
|
||||
|
||||
--[[
|
||||
Marble
|
||||
]]
|
||||
minetest.register_node("darkage:marble", {
|
||||
description = "Marble",
|
||||
tiles = {"darkage_marble.png"},
|
||||
is_ground_content = true,
|
||||
groups = {cracky=3},
|
||||
groups = {cracky = 3, stone = 1},
|
||||
sounds = default.node_sound_stone_defaults()
|
||||
})
|
||||
|
||||
minetest.register_node("darkage:marble_tile", {
|
||||
description = "Marble Tile",
|
||||
tiles = {"darkage_marble_tile.png"},
|
||||
is_ground_content = false,
|
||||
groups = {cracky=2},
|
||||
sounds = default.node_sound_stone_defaults()
|
||||
})
|
||||
|
||||
minetest.register_node("darkage:mud", {
|
||||
description = "Mud",
|
||||
tiles = {"darkage_mud_up.png","darkage_mud.png"},
|
||||
is_ground_content = true,
|
||||
groups = {crumbly=3},
|
||||
drop = 'darkage:mud_lump 4',
|
||||
sounds = default.node_sound_dirt_defaults({
|
||||
footstep = "",
|
||||
}),
|
||||
})
|
||||
|
||||
--[[
|
||||
Old Red Sandstone
|
||||
]]
|
||||
minetest.register_node("darkage:ors", {
|
||||
description = "Old Red Sandstone",
|
||||
tiles = {"darkage_ors.png"},
|
||||
is_ground_content = true,
|
||||
drop = "darkage:ors_rubble",
|
||||
groups = {cracky=2},
|
||||
sounds = default.node_sound_stone_defaults()
|
||||
})
|
||||
|
||||
minetest.register_node("darkage:ors_rubble", {
|
||||
description = "Old Red Sandstone Rubble",
|
||||
tiles = {"darkage_ors_rubble.png"},
|
||||
is_ground_content = true,
|
||||
groups = {cracky = 3, crumbly=2, stone = 2},
|
||||
sounds = default.node_sound_stone_defaults()
|
||||
})
|
||||
|
||||
minetest.register_node("darkage:ors_brick", {
|
||||
description = "Old Red Sandstone Brick",
|
||||
tiles = {"darkage_ors_brick.png"},
|
||||
is_ground_content = false,
|
||||
groups = {cracky = 3, stone = 2},
|
||||
sounds = default.node_sound_stone_defaults()
|
||||
})
|
||||
|
||||
minetest.register_node("darkage:ors_block", {
|
||||
description = "Old Red Sandstone Block",
|
||||
tiles = {"darkage_ors_block.png"},
|
||||
is_ground_content = false,
|
||||
groups = {cracky = 3, stone = 2},
|
||||
sounds = default.node_sound_stone_defaults()
|
||||
})
|
||||
|
||||
@ -24,25 +246,6 @@ minetest.register_node("darkage:serpentine", {
|
||||
sounds = default.node_sound_stone_defaults()
|
||||
})
|
||||
|
||||
minetest.register_node("darkage:mud", {
|
||||
description = "Mud",
|
||||
tiles = {"darkage_mud_top.png", "darkage_mud.png"},
|
||||
is_ground_content = true,
|
||||
groups = {crumbly=3},
|
||||
drop = "darkage:mud_lump 4",
|
||||
sounds = default.node_sound_dirt_defaults({
|
||||
footstep = "",
|
||||
}),
|
||||
})
|
||||
|
||||
minetest.register_node("darkage:schist", {
|
||||
description = "Schist",
|
||||
tiles = {"darkage_schist.png"},
|
||||
is_ground_content = true,
|
||||
groups = {cracky=3},
|
||||
sounds = default.node_sound_stone_defaults()
|
||||
})
|
||||
|
||||
minetest.register_node("darkage:shale", {
|
||||
description = "Shale",
|
||||
tiles = {"darkage_shale.png","darkage_shale.png","darkage_shale_side.png"},
|
||||
@ -51,410 +254,216 @@ minetest.register_node("darkage:shale", {
|
||||
sounds = default.node_sound_stone_defaults()
|
||||
})
|
||||
|
||||
minetest.register_node("darkage:schist", {
|
||||
description = "Schist",
|
||||
tiles = {"darkage_schist.png"},
|
||||
is_ground_content = true,
|
||||
groups = {cracky=3},
|
||||
sounds = default.node_sound_stone_defaults()
|
||||
})
|
||||
|
||||
minetest.register_node("darkage:silt", {
|
||||
description = "Silt",
|
||||
tiles = {"darkage_silt.png"},
|
||||
is_ground_content = true,
|
||||
groups = {crumbly=3},
|
||||
drop = "darkage:silt_lump 4",
|
||||
drop = 'darkage:silt_lump 4',
|
||||
sounds = default.node_sound_dirt_defaults({
|
||||
footstep = "",
|
||||
}),
|
||||
})
|
||||
|
||||
--[[
|
||||
Slate
|
||||
]]
|
||||
minetest.register_node("darkage:slate", {
|
||||
description = "Slate",
|
||||
tiles = {"darkage_slate.png","darkage_slate.png","darkage_slate_side.png"},
|
||||
is_ground_content = true,
|
||||
drop = "darkage:slate_cobble",
|
||||
drop = 'darkage:slate_rubble',
|
||||
groups = {cracky=2},
|
||||
sounds = default.node_sound_stone_defaults()
|
||||
})
|
||||
|
||||
minetest.register_node("darkage:ors", {
|
||||
description = "Old Red Sandstone",
|
||||
tiles = {"darkage_ors.png"},
|
||||
is_ground_content = true,
|
||||
drop = "darkage:ors_cobble",
|
||||
groups = {crumbly=2,cracky=2},
|
||||
sounds = default.node_sound_stone_defaults()
|
||||
})
|
||||
|
||||
minetest.register_node("darkage:gneiss", {
|
||||
description = "Gneiss",
|
||||
tiles = {"darkage_gneiss.png"},
|
||||
is_ground_content = true,
|
||||
groups = {cracky=3},
|
||||
drop = "darkage:gneiss_cobble",
|
||||
sounds = default.node_sound_stone_defaults()
|
||||
})
|
||||
|
||||
minetest.register_node("darkage:basalt", {
|
||||
description = "Basalt",
|
||||
tiles = {"darkage_basalt.png"},
|
||||
is_ground_content = true,
|
||||
drop = "darkage:basalt_cobble",
|
||||
groups = {cracky=3},
|
||||
sounds = default.node_sound_stone_defaults()
|
||||
})
|
||||
|
||||
-- Cobble
|
||||
minetest.register_node("darkage:slate_cobble", {
|
||||
description = "Slate Cobble",
|
||||
tiles = {"darkage_slate_cobble.png"},
|
||||
minetest.register_node("darkage:slate_rubble", {
|
||||
description = "Slate Rubble",
|
||||
tiles = {"darkage_slate_rubble.png"},
|
||||
is_ground_content = false,
|
||||
groups = {cracky=2},
|
||||
sounds = default.node_sound_stone_defaults()
|
||||
})
|
||||
|
||||
minetest.register_node("darkage:ors_cobble", {
|
||||
description = "Old Red Sandstone Cobble",
|
||||
tiles = {"darkage_ors_cobble.png"},
|
||||
groups = {crumbly=2,cracky=2},
|
||||
sounds = default.node_sound_stone_defaults()
|
||||
})
|
||||
|
||||
minetest.register_node("darkage:gneiss_cobble", {
|
||||
description = "Gneiss Cobble",
|
||||
tiles = {"darkage_gneiss_cobble.png"},
|
||||
groups = {cracky=3},
|
||||
sounds = default.node_sound_stone_defaults()
|
||||
})
|
||||
|
||||
minetest.register_node("darkage:basalt_cobble", {
|
||||
description = "Basalt Cobble",
|
||||
tiles = {"darkage_basalt_cobble.png"},
|
||||
groups = {cracky=3},
|
||||
sounds = default.node_sound_stone_defaults()
|
||||
})
|
||||
|
||||
-- Brick
|
||||
minetest.register_node("darkage:slate_brick", {
|
||||
description = "Slate Brick",
|
||||
tiles = {"darkage_slate_brick.png"},
|
||||
groups = {cracky=2},
|
||||
sounds = default.node_sound_stone_defaults()
|
||||
})
|
||||
|
||||
minetest.register_node("darkage:ors_brick", {
|
||||
description = "Old Red Sandstone Brick",
|
||||
tiles = {"darkage_ors_brick.png"},
|
||||
groups = {crumbly=2,cracky=2},
|
||||
sounds = default.node_sound_stone_defaults()
|
||||
})
|
||||
|
||||
minetest.register_node("darkage:gneiss_brick", {
|
||||
description = "Gneiss Brick",
|
||||
tiles = {"darkage_gneiss_brick.png"},
|
||||
groups = {cracky=3},
|
||||
sounds = default.node_sound_stone_defaults()
|
||||
})
|
||||
|
||||
minetest.register_node("darkage:basalt_brick", {
|
||||
description = "Basalt Brick",
|
||||
tiles = {"darkage_basalt_brick.png"},
|
||||
groups = {cracky=3},
|
||||
sounds = default.node_sound_stone_defaults()
|
||||
})
|
||||
|
||||
minetest.register_node("darkage:stone_brick", {
|
||||
description = "Stone Brick",
|
||||
tiles = {"darkage_stone_brick.png"},
|
||||
groups = {cracky=3},
|
||||
sounds = default.node_sound_stone_defaults()
|
||||
})
|
||||
|
||||
-- Other Blocks
|
||||
--if not farming:straw
|
||||
if minetest.get_modpath("farming") == nil then
|
||||
minetest.register_node("darkage:straw", {
|
||||
description = "Straw",
|
||||
tiles = {"darkage_straw.png"},
|
||||
groups = {snappy=3, flammable=2},
|
||||
sounds = default.node_sound_leaves_defaults(),
|
||||
})
|
||||
|
||||
minetest.register_node("darkage:straw_bale", {
|
||||
description = "Straw Bale",
|
||||
tiles = {"darkage_straw_bale.png"},
|
||||
drop = "darkage:straw 4",
|
||||
groups = {snappy=3, flammable=2},
|
||||
sounds = default.node_sound_leaves_defaults(),
|
||||
})
|
||||
else
|
||||
minetest.register_node("darkage:straw_bale", {
|
||||
description = "Straw Bale",
|
||||
tiles = {"darkage_straw_bale.png"},
|
||||
drop = "farming:straw 4",
|
||||
groups = {snappy=3, flammable=2},
|
||||
sounds = default.node_sound_leaves_defaults(),
|
||||
})
|
||||
end
|
||||
|
||||
minetest.register_node("darkage:slate_tile", {
|
||||
description = "Slate Tile",
|
||||
tiles = {"darkage_slate_tile.png"},
|
||||
is_ground_content = false,
|
||||
groups = {cracky=2},
|
||||
sounds = default.node_sound_stone_defaults()
|
||||
})
|
||||
|
||||
minetest.register_node("darkage:marble_tile", {
|
||||
description = "Marble Tile",
|
||||
tiles = {"darkage_marble_tile.png"},
|
||||
minetest.register_node("darkage:slate_block", {
|
||||
description = "Slate Block",
|
||||
tiles = {"darkage_slate_block.png"},
|
||||
is_ground_content = false,
|
||||
groups = {cracky=2},
|
||||
sounds = default.node_sound_stone_defaults()
|
||||
})
|
||||
|
||||
minetest.register_node("darkage:reinforced_chalk", {
|
||||
description = "Reinforced Chalk",
|
||||
tiles = {"darkage_chalk.png^darkage_reinforce.png"},
|
||||
minetest.register_node("darkage:slate_brick", {
|
||||
description = "Slate Brick",
|
||||
tiles = {"darkage_slate_brick.png"},
|
||||
is_ground_content = false,
|
||||
groups = {cracky=2},
|
||||
sounds = default.node_sound_stone_defaults()
|
||||
})
|
||||
|
||||
-- Removed straw, because its in minetst game. Registering alias for compatibility reasons
|
||||
minetest.register_alias("darkage:straw", "farming:straw")
|
||||
|
||||
minetest.register_node("darkage:stone_brick", {
|
||||
description = "Stone Brick",
|
||||
tiles = {"darkage_stone_brick.png"},
|
||||
is_ground_content = false,
|
||||
groups = {cracky=3},
|
||||
sounds = default.node_sound_stone_defaults()
|
||||
})
|
||||
|
||||
minetest.register_node("darkage:adobe", {
|
||||
description = "Adobe",
|
||||
tiles = {"darkage_adobe.png"},
|
||||
groups = {crumbly=3},
|
||||
sounds = default.node_sound_sand_defaults(),
|
||||
minetest.register_node("darkage:straw_bale", {
|
||||
description = "Straw Bale",
|
||||
tiles = {"darkage_straw_bale.png"},
|
||||
is_ground_content = false,
|
||||
drop = 'farming:straw 4',
|
||||
groups = {snappy=2, flammable=2},
|
||||
sounds = default.node_sound_leaves_defaults(),
|
||||
})
|
||||
|
||||
minetest.register_node("darkage:lamp", {
|
||||
description = "Lamp",
|
||||
tiles = {"darkage_lamp.png"},
|
||||
paramtype = "light",
|
||||
light_source = default.LIGHT_MAX,
|
||||
groups = {snappy=2,cracky=3,oddly_breakable_by_hand=3,flammable=1},
|
||||
sounds = default.node_sound_glass_defaults(),
|
||||
--[[
|
||||
Tuff
|
||||
]]
|
||||
minetest.register_node("darkage:tuff", {
|
||||
description = "Tuff",
|
||||
tiles = {"darkage_tuff.png"},
|
||||
is_ground_content = true,
|
||||
legacy_mineral = true,
|
||||
groups = {cracky = 3, stone = 1},
|
||||
drop = {
|
||||
max_items = 1,
|
||||
items = {
|
||||
{
|
||||
-- player get tuff node if he is lucky :)
|
||||
items = {'darkage:tuff'},
|
||||
rarity = 3,
|
||||
},
|
||||
{
|
||||
-- player will get rubble with 2/3 chance
|
||||
items = {'darkage:tuff_rubble'},
|
||||
}
|
||||
|
||||
}
|
||||
},
|
||||
sounds = default.node_sound_stone_defaults()
|
||||
})
|
||||
|
||||
minetest.register_node("darkage:cobble_with_plaster", {
|
||||
description = "Cobblestone With Plaster",
|
||||
tiles = {"darkage_cobble_with_plaster_D.png", "darkage_cobble_with_plaster_B.png", "darkage_cobble_with_plaster_C.png",
|
||||
"darkage_cobble_with_plaster_A.png", "default_cobble.png", "darkage_chalk.png"},
|
||||
paramtype2 = "facedir",
|
||||
drop = "default:cobble",
|
||||
minetest.register_node("darkage:tuff_bricks", {
|
||||
description = "Tuff Bricks",
|
||||
tiles = {"darkage_tuff_bricks.png"},
|
||||
is_ground_content = false,
|
||||
groups = {cracky=2},
|
||||
sounds = default.node_sound_stone_defaults()
|
||||
})
|
||||
|
||||
-- abm to turn Tuff bricks to old Tuff bricks if water is nearby
|
||||
minetest.register_abm({
|
||||
nodenames = {"darkage:tuff_bricks"},
|
||||
neighbors = {"group:water"},
|
||||
interval = 16,
|
||||
chance = 200,
|
||||
catch_up = false,
|
||||
action = function(pos, node)
|
||||
minetest.set_node(pos, {name = "darkage:old_tuff_bricks"})
|
||||
end
|
||||
})
|
||||
|
||||
minetest.register_node("darkage:tuff_rubble", {
|
||||
description = "Tuff Rubble",
|
||||
tiles = {"darkage_tuff_rubble.png"},
|
||||
groups = {crumbly = 2, falling_node = 1},
|
||||
sounds = default.node_sound_gravel_defaults(),
|
||||
})
|
||||
--[[
|
||||
Rhyolitic Tuff
|
||||
]]
|
||||
minetest.register_node("darkage:rhyolitic_tuff", {
|
||||
description = "Rhyolitic Tuff",
|
||||
tiles = {"darkage_rhyolitic_tuff.png"},
|
||||
is_ground_content = true,
|
||||
legacy_mineral = true,
|
||||
groups = {cracky = 3, stone = 1},
|
||||
drop = {
|
||||
max_items = 1,
|
||||
items = {
|
||||
{
|
||||
-- player get tuff node if he is lucky :)
|
||||
items = {'darkage:rhyolitic_tuff'},
|
||||
rarity = 3,
|
||||
},
|
||||
{
|
||||
-- player will get rubble with 2/3 chance
|
||||
items = {'darkage:rhyolitic_tuff_rubble'},
|
||||
}
|
||||
|
||||
}
|
||||
},
|
||||
sounds = default.node_sound_stone_defaults()
|
||||
})
|
||||
|
||||
|
||||
|
||||
minetest.register_node("darkage:rhyolitic_tuff_bricks", {
|
||||
description = "Rhyolitic Tuff Bricks",
|
||||
tiles = {"darkage_rhyolitic_tuff_bricks.png"},
|
||||
is_ground_content = false,
|
||||
groups = {cracky=2},
|
||||
sounds = default.node_sound_stone_defaults()
|
||||
})
|
||||
|
||||
minetest.register_node("darkage:old_tuff_bricks", {
|
||||
description = "Old Tuff Bricks",
|
||||
tiles = {"darkage_old_tuff_bricks.png"},
|
||||
is_ground_content = false,
|
||||
groups = {cracky=3},
|
||||
sounds = default.node_sound_stone_defaults()
|
||||
})
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
minetest.register_node("darkage:rhyolitic_tuff_rubble", {
|
||||
description = "Rhyolitic Tuff Rubble",
|
||||
tiles = {"darkage_rhyolitic_tuff_rubble.png"},
|
||||
groups = {crumbly = 2, falling_node = 1},
|
||||
sounds = default.node_sound_gravel_defaults(),
|
||||
})
|
||||
|
||||
|
||||
--[[
|
||||
add a node using the cobble texture that was introduced in minetest 0.4.dev-20120408 and got removed in 0.4.7
|
||||
It has a nice contrast together the stone bricks, so I think it could get usefull.
|
||||
]]
|
||||
minetest.register_node("darkage:chalked_bricks", {
|
||||
description = "Chalked Brick",
|
||||
tiles = {"darkage_chalked_bricks.png"},
|
||||
is_ground_content = false,
|
||||
groups = {cracky = 2, stone = 1},
|
||||
sounds = default.node_sound_stone_defaults(),
|
||||
})
|
||||
|
||||
minetest.register_node("darkage:darkdirt", {
|
||||
description = "Dark Dirt",
|
||||
tiles = {"darkage_darkdirt.png"},
|
||||
groups = {crumbly=2},
|
||||
sounds = default.node_sound_dirt_defaults(),
|
||||
})
|
||||
|
||||
minetest.register_node("darkage:dry_leaves", {
|
||||
description = "Dry Leaves",
|
||||
tiles = {"darkage_dry_leaves.png"},
|
||||
paramtype = "light",
|
||||
groups = {snappy=3, flammable=2},
|
||||
sounds = default.node_sound_leaves_defaults()
|
||||
})
|
||||
|
||||
-- Storage blocks (boxes, shelves, ect.)
|
||||
minetest.register_node("darkage:box", {
|
||||
description = "Box",
|
||||
tiles = { "darkage_box_top.png","darkage_box_top.png","darkage_box.png"},
|
||||
paramtype = "light",
|
||||
paramtype2 = "facedir",
|
||||
walkable = true,
|
||||
groups = { snappy = 3 },
|
||||
sounds = default.node_sound_wood_defaults(),
|
||||
on_construct = function(pos)
|
||||
local meta = minetest.get_meta(pos)
|
||||
meta:set_string("formspec",
|
||||
"size[8,8]"..
|
||||
"list[current_name;main;0,0;8,3;]"..
|
||||
"list[current_player;main;0,4;8,4;]"..
|
||||
"listring[current_name;main]" ..
|
||||
"listring[current_player;main]")
|
||||
meta:set_string("infotext", "Box")
|
||||
local inv = meta:get_inventory()
|
||||
inv:set_size("main", 16)
|
||||
end,
|
||||
can_dig = function(pos,player)
|
||||
local meta = minetest.get_meta(pos);
|
||||
local inv = meta:get_inventory()
|
||||
return inv:is_empty("main")
|
||||
end,
|
||||
on_metadata_inventory_move = function(pos, from_list, from_index, to_list, to_index, count, player)
|
||||
minetest.log("action", player:get_player_name()..
|
||||
" moves stuff in box at "..minetest.pos_to_string(pos))
|
||||
end,
|
||||
on_metadata_inventory_put = function(pos, listname, index, stack, player)
|
||||
minetest.log("action", player:get_player_name()..
|
||||
" moves stuff to box at "..minetest.pos_to_string(pos))
|
||||
end,
|
||||
on_metadata_inventory_take = function(pos, listname, index, stack, player)
|
||||
minetest.log("action", player:get_player_name()..
|
||||
" takes stuff from box at "..minetest.pos_to_string(pos))
|
||||
end,
|
||||
})
|
||||
|
||||
minetest.register_node("darkage:wood_shelves", {
|
||||
description = "Wooden Shelves",
|
||||
tiles = { "darkage_shelves.png","darkage_shelves.png","darkage_shelves.png",
|
||||
"darkage_shelves.png","darkage_shelves.png","darkage_shelves_front.png"},
|
||||
paramtype = "light",
|
||||
paramtype2 = "facedir",
|
||||
walkable = true,
|
||||
groups = {snappy = 3},
|
||||
sounds = default.node_sound_wood_defaults(),
|
||||
on_construct = function(pos)
|
||||
local meta = minetest.get_meta(pos)
|
||||
meta:set_string("formspec",
|
||||
"size[8,10]"..
|
||||
"list[context;up;0,0;8,3;]"..
|
||||
"list[context;down;0,3;8,3;]"..
|
||||
"list[current_player;main;0,6;8,4;]"..
|
||||
"listring[context;down]"..
|
||||
"listring[current_player;main]"..
|
||||
"listring[context;up]"..
|
||||
"listring[current_player;main]")
|
||||
meta:set_string("infotext", "Wooden Shelves")
|
||||
local inv = meta:get_inventory()
|
||||
inv:set_size("up", 16)
|
||||
inv:set_size("down", 16)
|
||||
end,
|
||||
can_dig = function(pos,player)
|
||||
local meta = minetest.get_meta(pos);
|
||||
local inv = meta:get_inventory()
|
||||
return inv:is_empty("shape") and inv:is_empty("out") and inv:is_empty("water")
|
||||
end,
|
||||
on_metadata_inventory_move = function(pos, from_list, from_index, to_list, to_index, count, player)
|
||||
minetest.log("action", player:get_player_name()..
|
||||
" moves stuff in shelves at "..minetest.pos_to_string(pos))
|
||||
end,
|
||||
on_metadata_inventory_put = function(pos, listname, index, stack, player)
|
||||
minetest.log("action", player:get_player_name()..
|
||||
" moves stuff to shelves at "..minetest.pos_to_string(pos))
|
||||
end,
|
||||
on_metadata_inventory_take = function(pos, listname, index, stack, player)
|
||||
minetest.log("action", player:get_player_name()..
|
||||
" takes stuff from shelves at "..minetest.pos_to_string(pos))
|
||||
end,
|
||||
})
|
||||
|
||||
-- Glass / Glow Glass
|
||||
minetest.register_node("darkage:glass", {
|
||||
description = "Medieval Glass",
|
||||
drawtype = "glasslike",
|
||||
tiles = {"darkage_glass.png"},
|
||||
paramtype = "light",
|
||||
sunlight_propagates = true,
|
||||
groups = {snappy=2,cracky=3,oddly_breakable_by_hand=3},
|
||||
sounds = default.node_sound_glass_defaults(),
|
||||
})
|
||||
|
||||
minetest.register_node("darkage:glow_glass", {
|
||||
description = "Medieval Glow Glass",
|
||||
drawtype = "glasslike",
|
||||
tiles = {"darkage_glass.png"},
|
||||
paramtype = "light",
|
||||
light_source = default.LIGHT_MAX,
|
||||
sunlight_propagates = true,
|
||||
groups = {snappy=2,cracky=3,oddly_breakable_by_hand=3},
|
||||
sounds = default.node_sound_glass_defaults(),
|
||||
})
|
||||
|
||||
-- Reinforced Wood
|
||||
minetest.register_node("darkage:reinforced_wood", {
|
||||
description = "Reinforced Wood",
|
||||
tiles = {"default_wood.png^darkage_reinforce.png"},
|
||||
groups = {snappy=2,choppy=3,oddly_breakable_by_hand=3,flammable=3},
|
||||
sounds = default.node_sound_wood_defaults()
|
||||
})
|
||||
|
||||
minetest.register_node("darkage:reinforced_wood_left", {
|
||||
description = "Reinforced Wood Left",
|
||||
tiles = {"darkage_reinforced_wood_left.png"},
|
||||
groups = {snappy=2,choppy=3,oddly_breakable_by_hand=3,flammable=3},
|
||||
sounds = default.node_sound_wood_defaults()
|
||||
})
|
||||
|
||||
minetest.register_node("darkage:reinforced_wood_right", {
|
||||
description = "Reinforced Wood Right",
|
||||
tiles = {"darkage_reinforced_wood_right.png"},
|
||||
groups = {snappy=2,choppy=3,oddly_breakable_by_hand=3,flammable=3},
|
||||
sounds = default.node_sound_wood_defaults()
|
||||
})
|
||||
|
||||
-- Wood based deco items
|
||||
minetest.register_node("darkage:wood_bars", {
|
||||
description = "Wooden Bars",
|
||||
drawtype = "glasslike",
|
||||
tiles = {"darkage_wood_bars.png"},
|
||||
inventory_image = "darkage_wood_bars.png",
|
||||
wield_image = "darkage_wood_bars.png",
|
||||
paramtype = "light",
|
||||
sunlight_propagates = true,
|
||||
groups = {snappy=1,choppy=2},
|
||||
sounds = default.node_sound_stone_defaults()
|
||||
})
|
||||
|
||||
minetest.register_node("darkage:wood_grille", {
|
||||
description = "Wooden Grille",
|
||||
drawtype = "glasslike",
|
||||
tiles = {"darkage_wood_grille.png"},
|
||||
inventory_image = "darkage_wood_grille.png",
|
||||
wield_image = "darkage_wood_grille.png",
|
||||
paramtype = "light",
|
||||
sunlight_propagates = true,
|
||||
groups = {snappy=1,choppy=2},
|
||||
sounds = default.node_sound_stone_defaults()
|
||||
})
|
||||
|
||||
minetest.register_node("darkage:wood_frame", {
|
||||
description = "Wooden Frame",
|
||||
drawtype = "glasslike",
|
||||
tiles = {"darkage_wood_frame.png"},
|
||||
inventory_image = "darkage_wood_frame.png",
|
||||
wield_image = "darkage_wood_frame.png",
|
||||
paramtype = "light",
|
||||
sunlight_propagates = true,
|
||||
groups = {snappy=1,choppy=2},
|
||||
sounds = default.node_sound_stone_defaults()
|
||||
})
|
||||
|
||||
-- Metal based deco items
|
||||
minetest.register_node("darkage:chain", {
|
||||
description = "Chain",
|
||||
drawtype = "signlike",
|
||||
tiles = {"darkage_chain.png"},
|
||||
inventory_image = "darkage_chain.png",
|
||||
wield_image = "darkage_chain.png",
|
||||
paramtype = "light",
|
||||
paramtype2 = "wallmounted",
|
||||
walkable = false,
|
||||
climbable = true,
|
||||
selection_box = {
|
||||
type = "wallmounted",
|
||||
},
|
||||
groups = {snappy=1,cracky=2,oddly_breakable_by_hand=2},
|
||||
legacy_wallmounted = true
|
||||
})
|
||||
|
||||
minetest.register_node("darkage:iron_bars", {
|
||||
description = "Iron Bars",
|
||||
drawtype = "glasslike",
|
||||
tiles = {"darkage_iron_bars.png"},
|
||||
inventory_image = "darkage_iron_bars.png",
|
||||
wield_image = "darkage_iron_bars.png",
|
||||
paramtype = "light",
|
||||
sunlight_propagates = true,
|
||||
groups = {cracky=3},
|
||||
sounds = default.node_sound_stone_defaults()
|
||||
})
|
||||
|
||||
minetest.register_node("darkage:iron_grille", {
|
||||
description = "Iron Grille",
|
||||
drawtype = "glasslike",
|
||||
tiles = {"darkage_iron_grille.png"},
|
||||
inventory_image = "darkage_iron_grille.png",
|
||||
wield_image = "darkage_iron_grille.png",
|
||||
paramtype = "light",
|
||||
sunlight_propagates = true,
|
||||
groups = {cracky=3},
|
||||
sounds = default.node_sound_stone_defaults()
|
||||
minetest.register_craft({
|
||||
output = "darkage:chalked_bricks 4",
|
||||
recipe = {
|
||||
{"default:stone", "default:stone", "darkage:chalk_powder"},
|
||||
{"darkage:chalk_powder", "darkage:chalk_powder", "darkage:chalk_powder"},
|
||||
{"default:stone", "darkage:chalk_powder", "default:stone"},
|
||||
}
|
||||
})
|
||||
|
BIN
other_textures/darkage_reinforced.xcf
Normal file
BIN
other_textures/darkage_tuff.xcf
Normal file
BIN
other_textures/x16_unused/darkage_cob.png
Normal file
After Width: | Height: | Size: 635 B |
BIN
other_textures/x16_unused/darkage_limestone_sand.png
Normal file
After Width: | Height: | Size: 201 B |
BIN
other_textures/x16_unused/darkage_reinforced_cobble.png
Normal file
After Width: | Height: | Size: 609 B |
BIN
other_textures/x16_unused/darkage_rosace.png
Normal file
After Width: | Height: | Size: 732 B |
BIN
other_textures/x16_unused/darkage_scroll.png
Normal file
After Width: | Height: | Size: 606 B |
BIN
other_textures/x32/darkage_adobe.png
Normal file
After Width: | Height: | Size: 1.2 KiB |
BIN
other_textures/x32/darkage_basalt_cobble.png
Normal file
After Width: | Height: | Size: 2.1 KiB |
BIN
other_textures/x32/darkage_box.png
Normal file
After Width: | Height: | Size: 1.2 KiB |
BIN
other_textures/x32/darkage_box_top.png
Normal file
After Width: | Height: | Size: 1.2 KiB |
BIN
other_textures/x32/darkage_chalk.png
Normal file
After Width: | Height: | Size: 1.6 KiB |
BIN
other_textures/x32/darkage_darkdirt.png
Normal file
After Width: | Height: | Size: 1.1 KiB |
BIN
other_textures/x32/darkage_iron_bars.png
Normal file
After Width: | Height: | Size: 127 B |
BIN
other_textures/x32/darkage_iron_grille.png
Normal file
After Width: | Height: | Size: 151 B |
BIN
other_textures/x32/darkage_light.png
Normal file
After Width: | Height: | Size: 535 B |
BIN
other_textures/x32/darkage_marble.png
Normal file
After Width: | Height: | Size: 1.1 KiB |
BIN
other_textures/x32/darkage_serpentine.png
Normal file
After Width: | Height: | Size: 903 B |
BIN
other_textures/x32/darkage_slate_tale.png
Normal file
After Width: | Height: | Size: 555 B |
BIN
other_textures/x32/darkage_slate_tile.png
Normal file
After Width: | Height: | Size: 555 B |
BIN
other_textures/x32/darkage_stone_brick.png
Normal file
After Width: | Height: | Size: 2.4 KiB |
BIN
other_textures/x32/darkage_straw_bale.png
Normal file
After Width: | Height: | Size: 2.3 KiB |
BIN
other_textures/x32/darkage_wood_frame.png
Normal file
After Width: | Height: | Size: 656 B |
BIN
screenshot.png
Normal file
After Width: | Height: | Size: 260 KiB |
387
stairs.lua
Executable file → Normal file
@ -1,362 +1,29 @@
|
||||
if stairsplus then
|
||||
|
||||
stairsplus:register_all("darkage", "basalt", "darkage:basalt", {
|
||||
description = "Basalt",
|
||||
tiles = {"darkage_basalt.png"},
|
||||
groups = {cracky=3},
|
||||
sounds = default.node_sound_stone_defaults(),
|
||||
sunlight_propagates = true,
|
||||
})
|
||||
-- Registration of Stairs (Alphabetical order)
|
||||
darkage.register_stairs("darkage:basalt")
|
||||
darkage.register_stairs("darkage:basalt_brick")
|
||||
darkage.register_stairs("darkage:basalt_rubble")
|
||||
darkage.register_stairs("darkage:chalked_bricks")
|
||||
darkage.register_stairs("darkage:gneiss")
|
||||
darkage.register_stairs("darkage:gneiss_brick")
|
||||
darkage.register_stairs("darkage:gneiss_rubble")
|
||||
darkage.register_stairs("darkage:marble")
|
||||
darkage.register_stairs("darkage:marble_tile")
|
||||
darkage.register_stairs("darkage:old_tuff_bricks")
|
||||
darkage.register_stairs("darkage:ors")
|
||||
darkage.register_stairs("darkage:ors_brick")
|
||||
darkage.register_stairs("darkage:ors_rubble")
|
||||
darkage.register_stairs("darkage:rhyolitic_tuff")
|
||||
darkage.register_stairs("darkage:rhyolitic_tuff_bricks")
|
||||
darkage.register_stairs("darkage:schist")
|
||||
darkage.register_stairs("darkage:serpentine")
|
||||
darkage.register_stairs("darkage:shale")
|
||||
darkage.register_stairs("darkage:slate")
|
||||
darkage.register_stairs("darkage:slate_brick")
|
||||
darkage.register_stairs("darkage:slate_rubble")
|
||||
darkage.register_stairs("darkage:slate_tile")
|
||||
darkage.register_stairs("darkage:stone_brick")
|
||||
darkage.register_stairs("darkage:straw_bale")
|
||||
darkage.register_stairs("darkage:tuff")
|
||||
darkage.register_stairs("darkage:tuff_bricks")
|
||||
|
||||
stairsplus:register_all("darkage", "marble", "darkage:marble", {
|
||||
description = "Marble",
|
||||
tiles = {"darkage_marble.png"},
|
||||
groups = {cracky=3},
|
||||
sounds = default.node_sound_stone_defaults(),
|
||||
sunlight_propagates = true,
|
||||
})
|
||||
|
||||
stairsplus:register_all("darkage", "serpentine", "darkage:serpentine", {
|
||||
description = "Serpentine",
|
||||
tiles = {"darkage_serpentine.png"},
|
||||
groups = {cracky=3},
|
||||
sounds = default.node_sound_stone_defaults(),
|
||||
sunlight_propagates = true,
|
||||
})
|
||||
|
||||
stairsplus:register_all("darkage", "ors", "darkage:ors", {
|
||||
description = "Old Red Sandstone",
|
||||
tiles = {"darkage_ors.png"},
|
||||
groups = {crumbly=2,cracky=2},
|
||||
sounds = default.node_sound_stone_defaults(),
|
||||
sunlight_propagates = true,
|
||||
})
|
||||
|
||||
stairsplus:register_all("darkage", "schist", "darkage:schist", {
|
||||
description = "Schist",
|
||||
tiles = {"darkage_schist.png"},
|
||||
groups = {cracky=3},
|
||||
sounds = default.node_sound_stone_defaults(),
|
||||
sunlight_propagates = true,
|
||||
})
|
||||
|
||||
stairsplus:register_all("darkage", "slate", "darkage:slate", {
|
||||
description = "Slate",
|
||||
tiles = {"darkage_slate.png"},
|
||||
groups = {cracky=2},
|
||||
sounds = default.node_sound_stone_defaults(),
|
||||
sunlight_propagates = true,
|
||||
})
|
||||
|
||||
stairsplus:register_all("darkage", "gneiss", "darkage:gneiss", {
|
||||
description = "Gneiss",
|
||||
tiles = {"darkage_gneiss.png"},
|
||||
groups = {cracky=3},
|
||||
sounds = default.node_sound_stone_defaults(),
|
||||
sunlight_propagates = true,
|
||||
})
|
||||
|
||||
stairsplus:register_all("darkage", "chalk", "darkage:chalk", {
|
||||
description = "Chalk",
|
||||
tiles = {"darkage_chalk.png"},
|
||||
groups = {crumbly=2,cracky=2},
|
||||
sounds = default.node_sound_stone_defaults(),
|
||||
sunlight_propagates = true,
|
||||
})
|
||||
|
||||
stairsplus:register_all("darkage", "slate_cobble", "darkage:slate_cobble", {
|
||||
description = "Slate Cobble",
|
||||
tiles = {"darkage_slate_cobble.png"},
|
||||
groups = {cracky=2},
|
||||
sounds = default.node_sound_stone_defaults(),
|
||||
sunlight_propagates = true,
|
||||
})
|
||||
|
||||
stairsplus:register_all("darkage", "ors_cobble", "darkage:ors_cobble", {
|
||||
description = "Old Red Sandstone Cobble",
|
||||
tiles = {"darkage_ors_cobble.png"},
|
||||
groups = {crumbly=2,cracky=2},
|
||||
sounds = default.node_sound_stone_defaults(),
|
||||
sunlight_propagates = true,
|
||||
})
|
||||
|
||||
stairsplus:register_all("darkage", "gneiss_cobble", "darkage:gneiss_cobble", {
|
||||
description = "Gneiss Cobble",
|
||||
tiles = {"darkage_gneiss_cobble.png"},
|
||||
groups = {cracky=3},
|
||||
sounds = default.node_sound_stone_defaults(),
|
||||
sunlight_propagates = true,
|
||||
})
|
||||
|
||||
stairsplus:register_all("darkage", "basalt_cobble", "darkage:basalt_cobble", {
|
||||
description = "Basalt Cobble",
|
||||
tiles = {"darkage_basalt_cobble.png"},
|
||||
groups = {cracky=3},
|
||||
sounds = default.node_sound_stone_defaults(),
|
||||
sunlight_propagates = true,
|
||||
})
|
||||
--if not farming:straw
|
||||
if minetest.get_modpath("farming") == nil then
|
||||
stairsplus:register_all("darkage", "straw", "darkage:straw", {
|
||||
description = "Straw",
|
||||
tiles = {"darkage_straw.png"},
|
||||
groups = {snappy=3, flammable=2},
|
||||
sounds = default.node_sound_stone_defaults(),
|
||||
sunlight_propagates = true,
|
||||
})
|
||||
else
|
||||
stairsplus:register_all("darkage", "straw", "farming:straw", {
|
||||
description = "Straw",
|
||||
tiles = {"darkage_straw.png"},
|
||||
groups = {snappy=3, flammable=2},
|
||||
sounds = default.node_sound_stone_defaults(),
|
||||
sunlight_propagates = true,
|
||||
})
|
||||
end
|
||||
|
||||
stairsplus:register_all("darkage", "straw_bale", "darkage:straw_bale", {
|
||||
description = "Straw Bale",
|
||||
tiles = {"darkage_straw_bale.png"},
|
||||
groups = {snappy=2, flammable=2},
|
||||
sounds = default.node_sound_stone_defaults(),
|
||||
sunlight_propagates = true,
|
||||
})
|
||||
|
||||
stairsplus:register_all("darkage", "slate_tile", "darkage:slate_tile", {
|
||||
description = "Slate Tile",
|
||||
tiles = {"darkage_slate_tile.png"},
|
||||
groups = {cracky=2},
|
||||
sounds = default.node_sound_stone_defaults(),
|
||||
sunlight_propagates = true,
|
||||
})
|
||||
|
||||
stairsplus:register_all("darkage", "marble_tile", "darkage:marble_tile", {
|
||||
description = "Marble Tile",
|
||||
tiles = {"darkage_marble_tile.png"},
|
||||
groups = {cracky=2},
|
||||
sounds = default.node_sound_stone_defaults(),
|
||||
sunlight_propagates = true,
|
||||
})
|
||||
|
||||
stairsplus:register_all("darkage", "stone_brick", "darkage:stone_brick", {
|
||||
description = "Stone Brick",
|
||||
tiles = {"darkage_stone_brick.png"},
|
||||
groups = {cracky=3},
|
||||
sounds = default.node_sound_stone_defaults(),
|
||||
sunlight_propagates = true,
|
||||
})
|
||||
|
||||
stairsplus:register_all("darkage", "reinforced_chalk", "darkage:reinforced_chalk", {
|
||||
description = "Reinforced Chalk",
|
||||
tiles = {"darkage_chalk.png^darkage_reinforce.png"},
|
||||
groups = {cracky=3},
|
||||
sounds = default.node_sound_stone_defaults(),
|
||||
sunlight_propagates = true,
|
||||
})
|
||||
|
||||
stairsplus:register_all("darkage", "glass", "darkage:glass", {
|
||||
description = "Medieval Glass",
|
||||
tiles = {"darkage_glass.png"},
|
||||
groups = {snappy=2,cracky=3,oddly_breakable_by_hand=3},
|
||||
sounds = default.node_sound_stone_defaults(),
|
||||
sunlight_propagates = true,
|
||||
})
|
||||
|
||||
stairsplus:register_all("darkage", "glow_glass", "darkage:glow_glass", {
|
||||
description = "Medieval Glow Glass",
|
||||
tiles = {"darkage_glass.png"},
|
||||
paramtype = "light",
|
||||
light_source = default.LIGHT_MAX,
|
||||
groups = {snappy=2,cracky=3,oddly_breakable_by_hand=3},
|
||||
sounds = default.node_sound_stone_defaults(),
|
||||
sunlight_propagates = true,
|
||||
})
|
||||
|
||||
stairsplus:register_all("darkage", "reinforced_wood", "darkage:reinforced_wood", {
|
||||
description = "Reinforced Wood",
|
||||
tiles = {"default_wood.png^darkage_reinforce.png"},
|
||||
groups = {snappy=2,choppy=3,oddly_breakable_by_hand=3,flammable=3},
|
||||
sounds = default.node_sound_stone_defaults(),
|
||||
sunlight_propagates = true,
|
||||
})
|
||||
|
||||
elseif stairs then
|
||||
|
||||
stairs.register_stair_and_slab("basalt", "darkage:basalt",
|
||||
{cracky=3},
|
||||
{"darkage_basalt.png"},
|
||||
"Basalt Stair",
|
||||
"Basalt Slab",
|
||||
default.node_sound_stone_defaults()
|
||||
)
|
||||
|
||||
stairs.register_stair_and_slab("marble", "darkage:marble",
|
||||
{cracky=3},
|
||||
{"darkage_marble.png"},
|
||||
"Marble Stair",
|
||||
"Marble Slab",
|
||||
default.node_sound_stone_defaults()
|
||||
)
|
||||
|
||||
stairs.register_stair_and_slab("marble", "darkage:serpentine",
|
||||
{cracky=3},
|
||||
{"darkage_serpentine.png"},
|
||||
"Serpentine Stair",
|
||||
"Serpentine Slab",
|
||||
default.node_sound_stone_defaults()
|
||||
)
|
||||
|
||||
stairs.register_stair_and_slab("ors", "darkage:ors",
|
||||
{crumbly=2,cracky=2},
|
||||
{"darkage_ors.png"},
|
||||
"Old Red Sandstone Stair",
|
||||
"Old Red Sandstone Slab",
|
||||
default.node_sound_stone_defaults()
|
||||
)
|
||||
|
||||
stairs.register_stair_and_slab("schist", "darkage:schist",
|
||||
{cracky=3},
|
||||
{"darkage_schist.png"},
|
||||
"Schist Stair",
|
||||
"Schist Slab",
|
||||
default.node_sound_stone_defaults()
|
||||
)
|
||||
|
||||
stairs.register_stair_and_slab("slate", "darkage:slate",
|
||||
{cracky=2},
|
||||
{"darkage_slate.png"},
|
||||
"Slate Stair",
|
||||
"Slate Slab",
|
||||
default.node_sound_stone_defaults()
|
||||
)
|
||||
|
||||
stairs.register_stair_and_slab("gneiss", "darkage:gneiss",
|
||||
{cracky=3},
|
||||
{"darkage_gneiss.png"},
|
||||
"Gneiss Stair",
|
||||
"Gneiss Slab",
|
||||
default.node_sound_stone_defaults()
|
||||
)
|
||||
|
||||
stairs.register_stair_and_slab("chalk", "darkage:chalk",
|
||||
{crumbly=2,cracky=2},
|
||||
{"darkage_chalk.png"},
|
||||
"Chalk Stair",
|
||||
"Chalk Slab",
|
||||
default.node_sound_stone_defaults()
|
||||
)
|
||||
|
||||
stairs.register_stair_and_slab("slate_cobble", "darkage:slate_cobble",
|
||||
{cracky=2},
|
||||
{"darkage_slate_cobble.png"},
|
||||
"Slate Cobble Stair",
|
||||
"Slate Cobble Slab",
|
||||
default.node_sound_stone_defaults()
|
||||
)
|
||||
|
||||
stairs.register_stair_and_slab("ors_cobble", "darkage:ors_cobble",
|
||||
{crumbly=2,cracky=2},
|
||||
{"darkage_ors_cobble.png"},
|
||||
"Old Red Sandstone Cobble Stair",
|
||||
"Old Red Sandstone Cobble Slab",
|
||||
default.node_sound_stone_defaults()
|
||||
)
|
||||
|
||||
stairs.register_stair_and_slab("gneiss_cobble", "darkage:gneiss_cobble",
|
||||
{crumbly=2,cracky=2},
|
||||
{"darkage_gneiss_cobble.png"},
|
||||
"Gneiss Cobble Stair",
|
||||
"Gneiss Cobble Slab",
|
||||
default.node_sound_stone_defaults()
|
||||
)
|
||||
|
||||
stairs.register_stair_and_slab("basalt_cobble", "darkage:basalt_cobble",
|
||||
{cracky=3},
|
||||
{"darkage_basalt_cobble.png"},
|
||||
"Basalt Cobble Stair",
|
||||
"Basalt Cobble Slab",
|
||||
default.node_sound_stone_defaults()
|
||||
)
|
||||
--if not farming:straw
|
||||
if minetest.get_modpath("farming") == nil then
|
||||
stairs.register_stair_and_slab("straw", "darkage:straw",
|
||||
{snappy=3, flammable=2},
|
||||
{"darkage_straw.png"},
|
||||
"Straw Stair",
|
||||
"Straw Slab",
|
||||
default.node_sound_stone_defaults()
|
||||
)
|
||||
else
|
||||
stairs.register_stair_and_slab("straw", "farming:straw",
|
||||
{snappy=3, flammable=2},
|
||||
{"darkage_straw.png"},
|
||||
"Straw Stair",
|
||||
"Straw Slab",
|
||||
default.node_sound_stone_defaults()
|
||||
)
|
||||
end
|
||||
stairs.register_stair_and_slab("straw_bale", "darkage:straw_bale",
|
||||
{snappy=2, flammable=2},
|
||||
{"darkage_straw_bale.png"},
|
||||
"Straw Bale Stair",
|
||||
"Straw Bale Slab",
|
||||
default.node_sound_stone_defaults()
|
||||
)
|
||||
|
||||
stairs.register_stair_and_slab("slate_tile", "darkage:slate_tile",
|
||||
{cracky=2},
|
||||
{"darkage_slate_tile.png"},
|
||||
"Slate Tile Stair",
|
||||
"Slate Tile Slab",
|
||||
default.node_sound_stone_defaults()
|
||||
)
|
||||
|
||||
stairs.register_stair_and_slab("marble_tile", "darkage:marble_tile",
|
||||
{cracky=2},
|
||||
{"darkage_marble_tile.png"},
|
||||
"Marble Tile Stair",
|
||||
"Marble Tile Slab",
|
||||
default.node_sound_stone_defaults()
|
||||
)
|
||||
|
||||
stairs.register_stair_and_slab("stone_brick", "darkage:stone_brick",
|
||||
{cracky=3},
|
||||
{"darkage_stone_brick.png"},
|
||||
"Stone Brick Stair",
|
||||
"Stone Brick Slab",
|
||||
default.node_sound_stone_defaults()
|
||||
)
|
||||
|
||||
stairs.register_stair_and_slab("reinforced_chalk", "darkage:reinforced_chalk",
|
||||
{cracky=3},
|
||||
{"darkage_chalk.png^darkage_reinforce.png"},
|
||||
"Reinforced Chalk Stair",
|
||||
"Reinforced Chalk Slab",
|
||||
default.node_sound_stone_defaults()
|
||||
)
|
||||
|
||||
stairs.register_stair_and_slab("glass", "darkage:glass",
|
||||
{snappy=2,cracky=3,oddly_breakable_by_hand=3},
|
||||
{"darkage_glass.png"},
|
||||
"Medieval Glass Stair",
|
||||
"Medieval Glass Slab",
|
||||
default.node_sound_stone_defaults()
|
||||
)
|
||||
|
||||
stairs.register_stair_and_slab("glow_glass", "darkage:glow_glass",
|
||||
{snappy=2,cracky=3,oddly_breakable_by_hand=3},
|
||||
{"darkage_glass.png"},
|
||||
"Medieval Glow Glass Stair",
|
||||
"Medieval Glow Glass Slab",
|
||||
default.node_sound_stone_defaults()
|
||||
)
|
||||
|
||||
stairs.register_stair_and_slab("reinforced_wood", "darkage:reinforced_wood",
|
||||
{snappy=2,choppy=3,oddly_breakable_by_hand=3,flammable=3},
|
||||
{"default_wood.png^darkage_reinforce.png"},
|
||||
"Reinforced Wood Stair",
|
||||
"Reinforced Wood Slab",
|
||||
default.node_sound_stone_defaults()
|
||||
)
|
||||
|
||||
end
|
||||
|
71
stairs_functions.lua
Normal file
@ -0,0 +1,71 @@
|
||||
|
||||
|
||||
if minetest.get_modpath("moreblocks") then
|
||||
function darkage.register_stairs(nodeName)
|
||||
local ndef = assert(minetest.registered_nodes[nodeName], "Error: "..nodeName.." is not registered")
|
||||
|
||||
local mod = "darkage"
|
||||
local node = nodeName:split(":")[2]
|
||||
|
||||
local def = table.copy(ndef)
|
||||
def.drop = nil
|
||||
|
||||
stairsplus:register_all(mod, node, nodeName, def)
|
||||
end
|
||||
elseif minetest.get_modpath("stairs") then
|
||||
function darkage.register_stairs(nodeName)
|
||||
local ndef = assert(minetest.registered_nodes[nodeName], "Error: "..nodeName.." is not registered")
|
||||
|
||||
local node = nodeName:split(":")[2]
|
||||
|
||||
-- The stairs api does not allow to use the darkage modname, so we have to call the nodes stairs:stair_darkage_
|
||||
-- and creating an alias
|
||||
local subname = "darkage_".. node;
|
||||
stairs.register_stair_and_slab(subname, nodeName,
|
||||
ndef.groups, ndef.tiles,
|
||||
ndef.description.." Stair", ndef.description.." Slab",
|
||||
ndef.sounds)
|
||||
|
||||
--stairs.register_stair_and_slab(subname, recipeitem,
|
||||
-- groups, images,
|
||||
-- desc_stair, desc_slab, sounds)
|
||||
minetest.register_alias("darkage:stair_"..node, "stairs:stair_darkage_"..node)
|
||||
minetest.register_alias("darkage:slab_"..node, "stairs:slab_darkage_"..node)
|
||||
end
|
||||
else
|
||||
-- No compatible stairs mod found.
|
||||
minetest.log("error", "[darkage] Darkage requires at least moreblocks or stairs to be installed. Its not possible to register stairs.")
|
||||
function darkage.register_stairs(nodeName)
|
||||
minetest.log("warning", "could not create stair of type "..nodeName .." because no compatible stairs mod is installed.")
|
||||
end
|
||||
end
|
||||
|
||||
--[[
|
||||
if minetest.get_modpath("xdecor") then
|
||||
table.insert(workbench.custom_nodes_register, "darkage:straw_bale") -- Straw Bale seems to accidently filtered out
|
||||
end
|
||||
]]
|
||||
-- Uncomment, to check if nodes get registered correctly
|
||||
--[[
|
||||
if minetest.get_modpath("xdecor") then
|
||||
darkage.isCuttable = {}
|
||||
function darkage.register_stairs(nodeName)
|
||||
|
||||
darkage.isCuttable[nodeName] = true;
|
||||
|
||||
end
|
||||
|
||||
end
|
||||
]]
|
||||
--place the folowing funktion inside xdecor, to check if everything works fine.
|
||||
--[[
|
||||
then
|
||||
if( node:split(":")[1] == "darkage" and not darkage.isCuttable[node]) then
|
||||
minetest.log("error", "Error: "..node.. " should not be cuttable")
|
||||
end
|
||||
nodes[#nodes+1] = node
|
||||
else
|
||||
if( node:split(":")[1] == "darkage" and darkage.isCuttable[node]) then
|
||||
minetest.log("error", "Error: "..node.. " should be cuttable")
|
||||
end
|
||||
]]
|
BIN
textures/darkage_adobe.png
Executable file → Normal file
Before Width: | Height: | Size: 592 B After Width: | Height: | Size: 964 B |
BIN
textures/darkage_basalt.png
Executable file → Normal file
Before Width: | Height: | Size: 388 B After Width: | Height: | Size: 728 B |
BIN
textures/darkage_basalt_block.png
Normal file
After Width: | Height: | Size: 728 B |
BIN
textures/darkage_basalt_brick.png
Executable file → Normal file
Before Width: | Height: | Size: 596 B After Width: | Height: | Size: 1.0 KiB |
Before Width: | Height: | Size: 275 B |
BIN
textures/darkage_basalt_rubble.png
Normal file
After Width: | Height: | Size: 1.1 KiB |
BIN
textures/darkage_box.png
Executable file → Normal file
Before Width: | Height: | Size: 701 B After Width: | Height: | Size: 577 B |
BIN
textures/darkage_box_top.png
Executable file → Normal file
Before Width: | Height: | Size: 758 B After Width: | Height: | Size: 617 B |
BIN
textures/darkage_chain.png
Executable file → Normal file
Before Width: | Height: | Size: 164 B After Width: | Height: | Size: 164 B |
BIN
textures/darkage_chalk.png
Executable file → Normal file
Before Width: | Height: | Size: 686 B After Width: | Height: | Size: 953 B |
BIN
textures/darkage_chalk_powder.png
Executable file → Normal file
Before Width: | Height: | Size: 618 B After Width: | Height: | Size: 450 B |
BIN
textures/darkage_chalked_bricks.png
Normal file
After Width: | Height: | Size: 407 B |
Before Width: | Height: | Size: 655 B |
Before Width: | Height: | Size: 659 B |
Before Width: | Height: | Size: 643 B |
Before Width: | Height: | Size: 668 B |
BIN
textures/darkage_darkdirt.png
Executable file → Normal file
Before Width: | Height: | Size: 764 B After Width: | Height: | Size: 1.0 KiB |
BIN
textures/darkage_dry_leaves.png
Executable file → Normal file
Before Width: | Height: | Size: 177 B After Width: | Height: | Size: 177 B |
BIN
textures/darkage_glass.png
Executable file → Normal file
Before Width: | Height: | Size: 1.2 KiB After Width: | Height: | Size: 385 B |
BIN
textures/darkage_glass_round.png
Normal file
After Width: | Height: | Size: 381 B |
BIN
textures/darkage_glass_square.png
Normal file
After Width: | Height: | Size: 292 B |
BIN
textures/darkage_glow_glass.png
Normal file
After Width: | Height: | Size: 418 B |
BIN
textures/darkage_glow_glass_round.png
Normal file
After Width: | Height: | Size: 499 B |
BIN
textures/darkage_glow_glass_square.png
Normal file
After Width: | Height: | Size: 347 B |
BIN
textures/darkage_gneiss.png
Executable file → Normal file
Before Width: | Height: | Size: 846 B After Width: | Height: | Size: 793 B |
BIN
textures/darkage_gneiss_block.png
Normal file
After Width: | Height: | Size: 872 B |
BIN
textures/darkage_gneiss_brick.png
Executable file → Normal file
Before Width: | Height: | Size: 852 B After Width: | Height: | Size: 802 B |
Before Width: | Height: | Size: 762 B |
BIN
textures/darkage_gneiss_rubble.png
Normal file
After Width: | Height: | Size: 922 B |
BIN
textures/darkage_iron_bars.png
Executable file → Normal file
Before Width: | Height: | Size: 619 B After Width: | Height: | Size: 566 B |
BIN
textures/darkage_iron_grille.png
Executable file → Normal file
Before Width: | Height: | Size: 548 B After Width: | Height: | Size: 457 B |
BIN
textures/darkage_iron_stick.png
Executable file → Normal file
Before Width: | Height: | Size: 115 B After Width: | Height: | Size: 122 B |
BIN
textures/darkage_lamp.png
Executable file → Normal file
Before Width: | Height: | Size: 640 B After Width: | Height: | Size: 516 B |
BIN
textures/darkage_marble.png
Executable file → Normal file
Before Width: | Height: | Size: 328 B After Width: | Height: | Size: 275 B |
BIN
textures/darkage_marble_tile.png
Executable file → Normal file
Before Width: | Height: | Size: 690 B After Width: | Height: | Size: 637 B |
BIN
textures/darkage_milk_glass.png
Normal file
After Width: | Height: | Size: 950 B |
BIN
textures/darkage_milk_glass_round.png
Normal file
After Width: | Height: | Size: 914 B |
BIN
textures/darkage_milk_glass_square.png
Normal file
After Width: | Height: | Size: 670 B |
BIN
textures/darkage_mud.png
Executable file → Normal file
Before Width: | Height: | Size: 312 B After Width: | Height: | Size: 515 B |
BIN
textures/darkage_mud_lump.png
Executable file → Normal file
Before Width: | Height: | Size: 653 B After Width: | Height: | Size: 140 B |
Before Width: | Height: | Size: 261 B |
BIN
textures/darkage_mud_up.png
Normal file
After Width: | Height: | Size: 474 B |
BIN
textures/darkage_old_tuff_bricks.png
Normal file
After Width: | Height: | Size: 1.0 KiB |
BIN
textures/darkage_ors.png
Executable file → Normal file
Before Width: | Height: | Size: 725 B After Width: | Height: | Size: 1.0 KiB |
BIN
textures/darkage_ors_block.png
Normal file
After Width: | Height: | Size: 1.0 KiB |
BIN
textures/darkage_ors_brick.png
Executable file → Normal file
Before Width: | Height: | Size: 733 B After Width: | Height: | Size: 692 B |
Before Width: | Height: | Size: 757 B |
BIN
textures/darkage_ors_rubble.png
Normal file
After Width: | Height: | Size: 1.0 KiB |
BIN
textures/darkage_plaster_mask_A.png
Normal file
After Width: | Height: | Size: 102 B |
BIN
textures/darkage_plaster_mask_B.png
Normal file
After Width: | Height: | Size: 103 B |
BIN
textures/darkage_plaster_mask_C.png
Normal file
After Width: | Height: | Size: 102 B |
BIN
textures/darkage_plaster_mask_D.png
Normal file
After Width: | Height: | Size: 103 B |
0
textures/darkage_reinforce.png
Executable file → Normal file
Before Width: | Height: | Size: 686 B After Width: | Height: | Size: 686 B |
BIN
textures/darkage_reinforce_arrow.png
Normal file
After Width: | Height: | Size: 203 B |
BIN
textures/darkage_reinforce_bars.png
Normal file
After Width: | Height: | Size: 142 B |
BIN
textures/darkage_reinforce_left.png
Normal file
After Width: | Height: | Size: 454 B |
BIN
textures/darkage_reinforce_right.png
Normal file
After Width: | Height: | Size: 481 B |
Before Width: | Height: | Size: 457 B |
Before Width: | Height: | Size: 485 B |