Compare commits
77 Commits
for_minete
...
master
Author | SHA1 | Date |
---|---|---|
fluxionary | c46c624e9b | |
adrido | 71f3ccfb14 | |
Skamiz | 8137445dea | |
adrido | 3c802b6bff | |
adrido | f30bdf99f2 | |
Skamiz | 92730881b4 | |
Skamiz | 7d76f3864e | |
adrido | 61c4c648fd | |
adrido | 7ebedc68bb | |
adrido | 536d635e25 | |
sys4-fr | e5e49ed965 | |
orbea | befafde095 | |
Adrian | fb5213f5b1 | |
Nordall | 8e7aea0317 | |
Unknown | 19f2fa7435 | |
Unknown | 686d5316af | |
Thomas S | b7cef82da8 | |
Thomas S | 6e5953de5a | |
Unknown | bef0f2bf88 | |
Thomas S | dec9355307 | |
Unknown | 15eafe7030 | |
Unknown | 754e7a16da | |
Unknown | 19bb32d0fe | |
Thomas S | abb5239726 | |
adrido | 66639b1d28 | |
adrido | 1a596ef342 | |
adrido | 0307430163 | |
adrido | 13b743622b | |
adrido | 9750ee5f29 | |
adrido | cd4a46d666 | |
adrido | 9c85fc158f | |
adrido | c588873976 | |
adrido | 8d678c2be2 | |
adrido | 132c7e80d4 | |
adrido | 842968d9eb | |
adrido | 54ce0c9276 | |
adrido | 5e5d5010f8 | |
adrido | 57856634f1 | |
adrido | 9dd709485b | |
adrido | 76684bb865 | |
tchncs | 835ec72219 | |
addi | 3a2e2f0112 | |
addi | 6f985e9fe7 | |
addi | e4d0438bf4 | |
addi | 15ec997551 | |
addi | fb05183e95 | |
addi | 7baa81b17b | |
addi | 586b05da56 | |
addi | b301fed084 | |
addi | dc02970d08 | |
addi | 730f23f88f | |
addi | 39ed2c3f1f | |
addi | 778538daea | |
addi | 735db2250b | |
addi | 08be6581fe | |
addi | 1f089ce75e | |
adrido | e7c528e1f2 | |
addi | d3a038bae5 | |
addi | 03b6237d9f | |
addi | a7040140dc | |
addi | 0f5525177e | |
addi | c448c65fdf | |
addi | 14f1d1a8e0 | |
addi | b6e95769f8 | |
addi | 729494e8af | |
addi | fe88e3bb2e | |
addi | 3f773bb856 | |
addi | ca0d318e44 | |
addi | f5c95744ae | |
addi | f2bccb3d05 | |
adrido | 0ccb3df37b | |
adrido | 7f9b65045f | |
adrido | b6bbd7dabe | |
adrido | 3a8bdb7e7f | |
adrido | 367109e8f0 | |
adrido | 5b5206b402 | |
adrido | c334970311 |
360
README.md
|
@ -1,11 +1,14 @@
|
||||||
#DarkAge MOD for MINETEST
|
# DarkAge Mod for Minetest
|
||||||
orginal by Master Gollum
|
|
||||||
modyfied by addi
|
|
||||||
|
|
||||||
|
Original mod by Master Gollum
|
||||||
|
Modified by addi.
|
||||||
|
|
||||||
|
Contains code from CragiDavi and HybridDog
|
||||||
|
|
||||||
|
## Introduction
|
||||||
|
|
||||||
##Introduction:
|
|
||||||
This mod adds a few new blocks that allows to create new buildings in a
|
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
|
pre industrial landscape. Of course, feel free to use them in any other
|
||||||
construction :P
|
construction :P
|
||||||
|
|
||||||
It also provides more layers of stones. I tried not to turn mining in
|
It also provides more layers of stones. I tried not to turn mining in
|
||||||
|
@ -15,347 +18,53 @@ modyfied by addi
|
||||||
Silt and Mud are more easy to find than stone layers, but if you find
|
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.
|
one it will be a real mine, with all probability with hundreds of blocks.
|
||||||
|
|
||||||
I used mainly 4 square recipes to avoid collisions with other MODs,
|
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
|
anyway I have not checked all them, so it is possible that another
|
||||||
person is already using one or more of this combinations.
|
person is already using one or more of this combinations.
|
||||||
|
|
||||||
I also used Desert Sand and Desert Stone, because they almost are not
|
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
|
used in the default version. Probably I will change this recipes in
|
||||||
next releases.
|
next releases.
|
||||||
|
|
||||||
|
## Release Notes
|
||||||
|
|
||||||
##Release Notes
|
### Version 1.4
|
||||||
Version 1.0.1
|
|
||||||
|
|
||||||
* fixed init.lua wich get broken by upload on github
|
* New Textures by Skamiz
|
||||||
|
* serveral mapgen fixes
|
||||||
|
* Maintenance stuff
|
||||||
|
|
||||||
|
Full release notes: <https://github.com/adrido/darkage/releases>
|
||||||
|
|
||||||
Version 1.0
|
## How to install
|
||||||
|
|
||||||
* compatibility with stairsplus added
|
Unzip the archive an place it in minetest-base-directory/mods/
|
||||||
* added new item iron_stick
|
if you have a windows client or a linux run-in-place client. If you
|
||||||
* added craft reziep for iron stick
|
have a linux system-wide installation place it in
|
||||||
* changed reziep of iron_bars to avoid conflicts with ironbars mod
|
~/.minetest/mods/.
|
||||||
* changed reziep of chain to avoid conflicts with 3d furniture mod
|
|
||||||
* changed reziep of darkage:stonebrick to avoid conflicts with moreblocks
|
|
||||||
* dissabled marble_tile to avoid the message "texture not found"
|
|
||||||
* added compatibililty with stairsplus (now its moreblocks)
|
|
||||||
* added darkage:glass a nice looking glass that must be in this mod
|
|
||||||
* changed the sound_node_leaves_default to wood_default from box and wooden shelfes
|
|
||||||
* added craft reziep for darkage:chalk
|
|
||||||
* improved the textures of reinforced wood and chalk to save a bit more loadtime on servers
|
|
||||||
* added another reziep for darkage straw (this can be crafted now, if farming is installed, with farming:harvested_weed
|
|
||||||
|
|
||||||
Version 0.3
|
|
||||||
|
|
||||||
* 29 Nodes + 3 Craft Items
|
|
||||||
* Furniture and building decoration
|
|
||||||
* Stone layers
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
Version 0.2
|
|
||||||
|
|
||||||
* 13 Nodes
|
|
||||||
* Sedimentary stones
|
|
||||||
|
|
||||||
|
|
||||||
Version 0.1
|
|
||||||
|
|
||||||
* 6 Nodes
|
|
||||||
|
|
||||||
PS: This document has been structured as the README.txt of PilzAdam in
|
|
||||||
his Bed MOD.
|
|
||||||
|
|
||||||
###How to install:
|
|
||||||
Unzip the archive an place it in minetest-base-directory/mods/minetest/
|
|
||||||
if you have a windows client or a linux run-in-place client. If you
|
|
||||||
have a linux system-wide instalation place it in
|
|
||||||
~/.minetest/mods/minetest/.
|
|
||||||
If you want to install this mod only in one world create the folder
|
If you want to install this mod only in one world create the folder
|
||||||
worldmods/ in your worlddirectory.
|
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:
|
For further information or help see:
|
||||||
http://wiki.minetest.com/wiki/Installing_Mods
|
<http://wiki.minetest.net/Installing_Mods>
|
||||||
|
|
||||||
###Tunning:
|
## Wiki
|
||||||
Comments the following lines to remove what you don't like:
|
|
||||||
(To comment them just add -- at the beginning of their lines)
|
|
||||||
|
|
||||||
Stone Layers
|
For Building-blocks and crafting information please take a look to the wiki:
|
||||||
dofile(minetest.get_modpath("darkage").."/mapgen.lua")
|
<https://github.com/adrido/darkage/wiki>
|
||||||
The stones will not spawn in the map.
|
|
||||||
|
|
||||||
Furniture Nodes
|
|
||||||
dofile(minetest.get_modpath("darkage").."/furniture.lua")
|
|
||||||
Only pure stones will be provided.
|
|
||||||
|
|
||||||
|
## License
|
||||||
|
|
||||||
##BUILDING NODES
|
|
||||||
|
|
||||||
Adobe: Sand and Clay mixture with Straw to build houses or walls
|
|
||||||
|
|
||||||
Used from historical times, one of the first bricks
|
|
||||||
invented. I have to improve this texture, it is ugly :P
|
|
||||||
CRAFT -> 4
|
|
||||||
[Sand] [Sand]
|
|
||||||
[Clay Lumb] [Straw]
|
|
||||||
|
|
||||||
Basalt: a darken version of the default Stone
|
|
||||||
|
|
||||||
COOKING
|
|
||||||
[Basalt Cobble]
|
|
||||||
|
|
||||||
Basalt Cobble: A darken version of the default Cobble
|
|
||||||
|
|
||||||
CRAFT -> 4
|
|
||||||
[Cobble] [Cobble]
|
|
||||||
[Coal Lump] [Coal Lump]
|
|
||||||
|
|
||||||
Chalk: a soft, white and porous sedimentary rock. It becomes
|
|
||||||
|
|
||||||
Chalk Powder when digged. Can't be craft, only found as
|
|
||||||
stratum.
|
|
||||||
|
|
||||||
Chalk Powder: pile of chalk from digging Chalk stones. Can
|
|
||||||
|
|
||||||
be used to prepare plaster. See Cobblestone with Plaster.
|
|
||||||
|
|
||||||
Cobblestone with Plaster: Cobbles where has been applied a
|
|
||||||
|
|
||||||
layer of white plaster.
|
|
||||||
When digged it lost the plaster layer!
|
|
||||||
CRAFT -> 2
|
|
||||||
[Cobblestone] [Chalk Powder]
|
|
||||||
[Cobblestone] [Chalk Powder]
|
|
||||||
|
|
||||||
Dark Dirt: A darken version of the Dirt where the grass doesn't
|
|
||||||
|
|
||||||
grown, perfect for create a path in a forest. I was using
|
|
||||||
Gravel, but the noise walking was annoying to me (like
|
|
||||||
walking over iron coal with the nude feet :P), for this I
|
|
||||||
created this node.
|
|
||||||
CRAFT -> 4
|
|
||||||
[Dirt] [Dirt]
|
|
||||||
[Gravel] [Gravel]
|
|
||||||
|
|
||||||
Desert Stone Cobble: To add more uses to the Desert Stones.
|
|
||||||
|
|
||||||
I suppossed they are harder than regular Stones so it
|
|
||||||
cracks at 50% and releases the Cobbles or just regular
|
|
||||||
Desert Stones.
|
|
||||||
From dig Desert Stone
|
|
||||||
|
|
||||||
Desert Iron Ore: I know that others MODs add ores to the
|
|
||||||
|
|
||||||
Desert Stones, mine also does it, but just Iron, I supposed
|
|
||||||
the red color is because of the iron, so it goes with more
|
|
||||||
high probability than regular Stones and it doesn't add
|
|
||||||
Coal to them. It will not be a lot so you can keep it with
|
|
||||||
another MOD that does the same or just comment the lines that
|
|
||||||
does it.
|
|
||||||
|
|
||||||
Dry Leaves: Just a cube of Leaves toasted :P Well I found the
|
|
||||||
|
|
||||||
Leaves unuseful, so I thought to turn them into Straw, ok
|
|
||||||
it is not the same, but well, why not? Just dry them in a
|
|
||||||
Furnace and then put together to create the Straw
|
|
||||||
COOKING
|
|
||||||
[Leaves]
|
|
||||||
|
|
||||||
Gneiss: high grade metamorphic rock formed from Schist, very
|
|
||||||
|
|
||||||
common, and used in construction. It sometimes brokes in
|
|
||||||
Gneiss Cobble when being digged.
|
|
||||||
COOKING
|
|
||||||
[Schist]
|
|
||||||
|
|
||||||
Gneiss Cobble: brick version of the gneiss.
|
|
||||||
|
|
||||||
From dig gneiss
|
|
||||||
|
|
||||||
Mud: mixture of water and some combination of soil, silt, and
|
|
||||||
|
|
||||||
clay. Used for build houses, specially in desertic regions.
|
|
||||||
It brokes in 4 Mud Lumps when digged.
|
|
||||||
CRAFT -> 3
|
|
||||||
[Dirt] [Dirt]
|
|
||||||
[Clay Lump] [Silt Lump]
|
|
||||||
CRAFT -> 1
|
|
||||||
[Mud Lump] [Mud Lump]
|
|
||||||
[Mud Lump] [Mud Lump]
|
|
||||||
|
|
||||||
Old Red Sandstone: a light red sandstone, in fact it's
|
|
||||||
|
|
||||||
sandstone with iron that gives it this color.
|
|
||||||
CRAFT -> 4
|
|
||||||
[Sandstone] [Sandstone]
|
|
||||||
[Iron Lumb] [Sandstone]
|
|
||||||
COOKING
|
|
||||||
[Old Red Sandstone Cobble]
|
|
||||||
|
|
||||||
Old Red Sandstone Cobble: Cobbles of Old Red Sandstone.
|
|
||||||
|
|
||||||
CRAFT -> 4
|
|
||||||
[Sandstone Cobble] [Sandstone Cobble]
|
|
||||||
[Iron Lumb] [Sandstone Cobble]
|
|
||||||
COOKING
|
|
||||||
[Desert Stone] --> I think I will change it in the future
|
|
||||||
release with its own Cobbles.
|
|
||||||
|
|
||||||
Reinforced Cobble: brick with crossed wooden.
|
|
||||||
|
|
||||||
CRAFT -> 1
|
|
||||||
[Stick] [] [Stick]
|
|
||||||
[] [Cobble] []
|
|
||||||
[Stick] [] [Stick]
|
|
||||||
|
|
||||||
Sandstone Cobble: brick version of the Sandstone, good for
|
|
||||||
buildings with a pale color.
|
|
||||||
|
|
||||||
COOKING
|
|
||||||
[Sandstone]
|
|
||||||
|
|
||||||
Schist: medium grade metamorphic rock from Slate.
|
|
||||||
|
|
||||||
COOKING
|
|
||||||
[Slate]
|
|
||||||
|
|
||||||
Silt: granular material of a size somewhere between sand and clay.
|
|
||||||
It brokes in 4 Silt Lumps.
|
|
||||||
|
|
||||||
CRAFT -> 1
|
|
||||||
[Silt Lump] [Silt Lump]
|
|
||||||
[Silt Lump] [Silt Lump]
|
|
||||||
|
|
||||||
Slate: fine-grained, foliated, homogeneous metamorphic rock
|
|
||||||
derived from an original shale-type sedimentary rock through
|
|
||||||
low-grade regional metamorphism. It is used to build roof.
|
|
||||||
|
|
||||||
COOKING
|
|
||||||
[Shale]
|
|
||||||
COOKING
|
|
||||||
[Slate Cobble]
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
Slate Cobble: Cobble obtained from Slate
|
|
||||||
From dig Slate
|
|
||||||
|
|
||||||
Slate Tale: Nice blue slate tales for roofs. They has been used
|
|
||||||
as building traditional building material in zones where
|
|
||||||
slate is easy to find.
|
|
||||||
Note: It has stairs and slabs.
|
|
||||||
|
|
||||||
CRAFT -> 2
|
|
||||||
[Slate Cobble] [Slate Cobble]
|
|
||||||
[Slate Cobble] [Slate Cobble]
|
|
||||||
|
|
||||||
Straw: a cube of yellish straw, try them in the roofs they will
|
|
||||||
be very nice. Used also as traditional building material
|
|
||||||
from ancient times.
|
|
||||||
|
|
||||||
CRAFT -> 2
|
|
||||||
[Shrub] [Shrub]
|
|
||||||
[Shrub] [Shrub]
|
|
||||||
CRAFT -> 2
|
|
||||||
[Dry Leaves] [Dry Leaves]
|
|
||||||
[Dry Leaves] [Dry Leaves]
|
|
||||||
|
|
||||||
Straw Bale: a decoration item, looks great for a farm or a
|
|
||||||
country side house.
|
|
||||||
|
|
||||||
CRAFT -> 1
|
|
||||||
[Straw] [Straw]
|
|
||||||
[Straw] [Straw]
|
|
||||||
|
|
||||||
Desert Stone: just the default block, it can be obtained now
|
|
||||||
from Desert Sand. The idea is that Desert Sand is stonner
|
|
||||||
than regular Sand, so it takes less to create a Desert
|
|
||||||
Stone than a Sandstone.
|
|
||||||
|
|
||||||
CRAFT -> 2
|
|
||||||
[Sandstone] [Sandstone]
|
|
||||||
[Sandstone] [Sandstone]
|
|
||||||
|
|
||||||
|
|
||||||
##FURNITURE NODES
|
|
||||||
Just started so they are few ones
|
|
||||||
|
|
||||||
Box: a more smaller container than the Chest, but it requires
|
|
||||||
|
|
||||||
less wood. As cheep as 4 woods and have 16 slots. The craft
|
|
||||||
is a little weird but I think it makes sense and avoids
|
|
||||||
collision with the recipe of Hardwood of the MOD
|
|
||||||
building_blocks.
|
|
||||||
|
|
||||||
CRAFT -> 2
|
|
||||||
[Wood] [] [Wood]
|
|
||||||
[] [] []
|
|
||||||
[Wood] [] [Wood]
|
|
||||||
|
|
||||||
Chain: climbable chain.
|
|
||||||
|
|
||||||
CRAFT -> 2
|
|
||||||
[Steel Ingot]
|
|
||||||
[Steel Ingot]
|
|
||||||
[Steel Ingot]
|
|
||||||
|
|
||||||
Iron Bars: alternative window for the Glass.
|
|
||||||
|
|
||||||
CRAFT -> 3
|
|
||||||
[Steel Ingot] [] [Steel Ingot]
|
|
||||||
[Steel Ingot] [] [Steel Ingot]
|
|
||||||
[Steel Ingot] [] [Steel Ingot]
|
|
||||||
|
|
||||||
Iron Grille: alternative window for the Glass.
|
|
||||||
|
|
||||||
CRAFT -> 3
|
|
||||||
[] [Iron Bars] []
|
|
||||||
[Iron Bars] [] [Iron Bars]
|
|
||||||
[] [Iron Bars] []
|
|
||||||
|
|
||||||
Wood Bars: alternative window for the Glass.
|
|
||||||
|
|
||||||
CRAFT -> 3
|
|
||||||
[Stick] [] [Stick]
|
|
||||||
[Stick] [] [Stick]
|
|
||||||
[Stick] [] [Stick]
|
|
||||||
|
|
||||||
Wood Frame: alternative window for the Glass.
|
|
||||||
|
|
||||||
CRAFT -> 1
|
|
||||||
[Stick] [Stick] [Stick]
|
|
||||||
[Stick] [Glass] [Stick]
|
|
||||||
[Stick] [Stick] [Stick]
|
|
||||||
|
|
||||||
Medieval Glass: a good looking glass, with small tiles
|
|
||||||
|
|
||||||
CRAFT -> 8
|
|
||||||
[Glass] [steel_ingot] [Glass]
|
|
||||||
[steel_ingot] [Glass] [steel_ingot]
|
|
||||||
[Glass] [steel_ingot] [Glass]
|
|
||||||
|
|
||||||
or:
|
|
||||||
CRAFT -> 1
|
|
||||||
[Medieval Glow Glass]
|
|
||||||
|
|
||||||
Medieval Glow Glass: a good looking glass, with small tiles wich are glowing by itself
|
|
||||||
|
|
||||||
CRAFT -> 8
|
|
||||||
[Medieval Glass]
|
|
||||||
[torch]
|
|
||||||
|
|
||||||
|
|
||||||
##License:
|
|
||||||
Sourcecode: WTFPL (see below)
|
Sourcecode: WTFPL (see below)
|
||||||
Graphics: WTFPL (see below)
|
Graphics: WTFPL (see below)
|
||||||
|
|
||||||
#See also:
|
## See also
|
||||||
http://minetest.net/
|
|
||||||
|
<http://minetest.net/>
|
||||||
|
|
||||||
---
|
---
|
||||||
|
|
||||||
|
```text
|
||||||
|
|
||||||
DO WHAT THE FUCK YOU WANT TO PUBLIC LICENSE
|
DO WHAT THE FUCK YOU WANT TO PUBLIC LICENSE
|
||||||
Version 2, December 2004
|
Version 2, December 2004
|
||||||
|
|
||||||
|
@ -368,4 +77,5 @@ http://minetest.net/
|
||||||
DO WHAT THE FUCK YOU WANT TO PUBLIC LICENSE
|
DO WHAT THE FUCK YOU WANT TO PUBLIC LICENSE
|
||||||
TERMS AND CONDITIONS FOR COPYING, DISTRIBUTION AND MODIFICATION
|
TERMS AND CONDITIONS FOR COPYING, DISTRIBUTION AND MODIFICATION
|
||||||
|
|
||||||
0. You just DO WHAT THE FUCK YOU WANT TO.
|
0. You just DO WHAT THE FUCK YOU WANT TO.
|
||||||
|
```
|
||||||
|
|
|
@ -0,0 +1,101 @@
|
||||||
|
--[[
|
||||||
|
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
|
||||||
|
|
||||||
|
-- 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")
|
||||||
|
|
||||||
|
-- Slate Tile
|
||||||
|
minetest.register_alias( "darkage:slate_tale", "darkage:slate_tile")
|
||||||
|
register_moreblocks_alias("darkage:slate_tale", "darkage:slate_tile")
|
||||||
|
|
||||||
|
|
||||||
|
-- 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")
|
318
building.lua
|
@ -1,175 +1,171 @@
|
||||||
minetest.register_node("darkage:glass", {
|
--[[
|
||||||
description = "medieval Glass",
|
This function registers the nodes and craft rezieps for the reinforce stuff
|
||||||
drawtype = "glasslike",
|
* name: String which is used in description and as technical name (lower letters)
|
||||||
tiles = {"darkage_glass.png"},
|
* craftItem: the Item where the reinforce is crafted out of
|
||||||
inventory_image = minetest.inventorycube("darkage_glass.png"),
|
* nodedef: Nodedefinition table as used as in minetest.register_node()
|
||||||
paramtype = "light",
|
|
||||||
sunlight_propagates = true,
|
|
||||||
is_ground_content = true,
|
|
||||||
groups = {snappy=2,cracky=3,oddly_breakable_by_hand=3},
|
|
||||||
sounds = default.node_sound_glass_defaults(),
|
|
||||||
})
|
|
||||||
|
|
||||||
minetest.register_node("darkage:glow_glass", {
|
The Nodes are caled
|
||||||
description = "medieval glow glass",
|
<modname>:reinforced_<name>
|
||||||
drawtype = "glasslike",
|
<modname>:reinforced_<name>_slope
|
||||||
tiles = {"darkage_glass.png"},
|
<modname>:reinforced_<name>_arrow
|
||||||
inventory_image = minetest.inventorycube("darkage_glass.png"),
|
<modname>:reinforced_<name>_bars
|
||||||
paramtype = "light",
|
|
||||||
light_source = 18,
|
|
||||||
sunlight_propagates = true,
|
|
||||||
is_ground_content = true,
|
|
||||||
groups = {snappy=2,cracky=3,oddly_breakable_by_hand=3},
|
|
||||||
sounds = default.node_sound_glass_defaults(),
|
|
||||||
})
|
|
||||||
|
|
||||||
minetest.register_craft({
|
The modname is automatically the mod that currently calls this function.
|
||||||
output = 'darkage:glow_glass 1',
|
e.g. if you call darkage.register_reinforce from the mod medieval modname will be medieval
|
||||||
recipe = {
|
]]
|
||||||
{'darkage:glass', '', ''},
|
function darkage.register_reinforce(name, craftItem, nodedef)
|
||||||
{'default:torch', '', ''},
|
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")
|
||||||
}
|
|
||||||
})
|
|
||||||
|
|
||||||
minetest.register_craft({
|
if nodedef.groups then
|
||||||
output = 'darkage:glass 1',
|
nodedef.groups["not_cuttable"] = 1;
|
||||||
recipe = {
|
else
|
||||||
{'darkage:glow_glass'},
|
nodedef.groups = {};
|
||||||
}
|
nodedef.groups["not_cuttable"] = 1;
|
||||||
})
|
end
|
||||||
|
|
||||||
|
local modname = minetest.get_current_modname();
|
||||||
|
local tname = string.gsub(name:lower()," ", "_"); -- Technical name
|
||||||
|
|
||||||
minetest.register_craft({
|
-- Reinforced X
|
||||||
output = 'darkage:glass 8',
|
local reinforced = table.copy(nodedef);
|
||||||
recipe = {
|
local reinforced_tname = modname..":reinforced_"..tname
|
||||||
{'default:glass', 'default:steel_ingot', 'default:glass'},
|
reinforced.description = "Reinforced "..name
|
||||||
{'default:steel_ingot', 'default:glass', 'default:steel_ingot'},
|
for i,tile in ipairs(reinforced.tiles) do
|
||||||
{'default:glass', 'default:steel_ingot', 'default:glass'},
|
reinforced.tiles[i] = tile .."^darkage_reinforce.png"
|
||||||
}
|
end
|
||||||
})
|
|
||||||
|
|
||||||
minetest.register_node("darkage:reinforced_chalk", {
|
minetest.register_node(reinforced_tname, reinforced)
|
||||||
description = "Reinforced Chalk",
|
|
||||||
tiles = {"darkage_chalk.png^darkage_reinforce.png"},
|
minetest.register_craft({
|
||||||
is_ground_content = true,
|
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},
|
groups = {cracky=3},
|
||||||
sounds = default.node_sound_stone_defaults()
|
sounds = default.node_sound_stone_defaults()
|
||||||
})
|
})
|
||||||
|
|
||||||
minetest.register_node("darkage:reinforced_wood", {
|
darkage.register_reinforce("Wood", "default:wood", {
|
||||||
description = "Reinforced Wood",
|
tiles = {"default_wood.png"},
|
||||||
tiles = {"default_wood.png^darkage_reinforce.png"},
|
groups = {snappy=2, choppy=3, flammable=3},
|
||||||
is_ground_content = true,
|
|
||||||
groups = {snappy=2,choppy=3,oddly_breakable_by_hand=3,flammable=3},
|
|
||||||
sounds = default.node_sound_wood_defaults()
|
sounds = default.node_sound_wood_defaults()
|
||||||
})
|
})
|
||||||
|
|
||||||
minetest.register_node("darkage:reinforced_wood_right", {
|
darkage.register_reinforce("Chalked Bricks", "darkage:chalked_bricks", {
|
||||||
description = "Reinforced Wood Right",
|
tiles = {"darkage_chalked_bricks.png"},
|
||||||
tiles = {"darkage_reinforced_wood_right.png"},
|
groups = {cracky = 2, stone = 1},
|
||||||
is_ground_content = true,
|
sounds = default.node_sound_stone_defaults()
|
||||||
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"},
|
|
||||||
is_ground_content = true,
|
|
||||||
groups = {snappy=2,choppy=3,oddly_breakable_by_hand=3,flammable=3},
|
|
||||||
sounds = default.node_sound_wood_defaults()
|
|
||||||
})
|
|
||||||
|
|
||||||
|
|
||||||
minetest.register_craft({
|
|
||||||
output = 'darkage:reinforced_chalk',
|
|
||||||
recipe = {
|
|
||||||
{'default:stick','','default:stick'},
|
|
||||||
{'','darkage:chalk',''},
|
|
||||||
{'default:stick','','default:stick'},
|
|
||||||
}
|
|
||||||
})
|
|
||||||
|
|
||||||
minetest.register_craft({
|
|
||||||
output = 'darkage:chalk',
|
|
||||||
recipe = {
|
|
||||||
{'darkage:chalk_powder','darkage:chalk_powder',''},
|
|
||||||
{'darkage:chalk_powder','darkage:chalk_powder',''},
|
|
||||||
{'','',''},
|
|
||||||
}
|
|
||||||
})
|
|
||||||
|
|
||||||
minetest.register_craft({
|
|
||||||
output = 'darkage:reinforced_wood',
|
|
||||||
recipe = {
|
|
||||||
{'default:stick','','default:stick'},
|
|
||||||
{'','default:wood',''},
|
|
||||||
{'default:stick','','default:stick'},
|
|
||||||
}
|
|
||||||
})
|
|
||||||
|
|
||||||
minetest.register_craft({
|
|
||||||
output = 'default:wood',
|
|
||||||
recipe = {
|
|
||||||
{'darkage:reinforced_wood'},
|
|
||||||
}
|
|
||||||
})
|
|
||||||
|
|
||||||
minetest.register_craft({
|
|
||||||
output = 'darkage:reinforced_wood_left',
|
|
||||||
recipe = {
|
|
||||||
{'default:stick','',''},
|
|
||||||
{'','default:wood',''},
|
|
||||||
{'','','default:stick'},
|
|
||||||
}
|
|
||||||
})
|
|
||||||
|
|
||||||
minetest.register_craft({
|
|
||||||
output = 'default:wood',
|
|
||||||
recipe = {
|
|
||||||
{'darkage:reinforced_wood_left'},
|
|
||||||
}
|
|
||||||
})
|
|
||||||
|
|
||||||
minetest.register_craft({
|
|
||||||
output = 'darkage:reinforced_wood_right',
|
|
||||||
recipe = {
|
|
||||||
{'','','default:stick'},
|
|
||||||
{'','default:wood',''},
|
|
||||||
{'default:stick','',''},
|
|
||||||
}
|
|
||||||
})
|
|
||||||
|
|
||||||
minetest.register_craft({
|
|
||||||
output = 'default:wood',
|
|
||||||
recipe = {
|
|
||||||
{'darkage:reinforced_wood_right'},
|
|
||||||
}
|
|
||||||
})
|
|
||||||
|
|
||||||
minetest.register_craft({
|
|
||||||
output = 'darkage:glow_glass 1',
|
|
||||||
recipe = {
|
|
||||||
{'darkage:glass', '', ''},
|
|
||||||
{'default:torch', '', ''},
|
|
||||||
{'', '', ''},
|
|
||||||
}
|
|
||||||
})
|
|
||||||
|
|
||||||
minetest.register_craft({
|
|
||||||
output = 'darkage:glass 1',
|
|
||||||
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'},
|
|
||||||
}
|
|
||||||
})
|
})
|
||||||
|
|
|
@ -1,2 +1,5 @@
|
||||||
default
|
default
|
||||||
moreblocks
|
farming
|
||||||
|
moreblocks?
|
||||||
|
stairs?
|
||||||
|
unifieddyes?
|
||||||
|
|
|
@ -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.
|
206
furniture.lua
|
@ -6,7 +6,7 @@ minetest.register_node("darkage:chain", {
|
||||||
wield_image = "darkage_chain.png",
|
wield_image = "darkage_chain.png",
|
||||||
paramtype = "light",
|
paramtype = "light",
|
||||||
paramtype2 = "wallmounted",
|
paramtype2 = "wallmounted",
|
||||||
is_ground_content = true,
|
is_ground_content = false,
|
||||||
walkable = false,
|
walkable = false,
|
||||||
climbable = true,
|
climbable = true,
|
||||||
selection_box = {
|
selection_box = {
|
||||||
|
@ -15,31 +15,34 @@ minetest.register_node("darkage:chain", {
|
||||||
--wall_bottom = = <default>
|
--wall_bottom = = <default>
|
||||||
--wall_side = = <default>
|
--wall_side = = <default>
|
||||||
},
|
},
|
||||||
groups = {snappy=1,cracky=2,oddly_breakable_by_hand=2},
|
groups = {snappy=1, cracky=2, oddly_breakable_by_hand=2, not_cuttable=1},
|
||||||
legacy_wallmounted = true
|
legacy_wallmounted = true
|
||||||
})
|
})
|
||||||
|
|
||||||
minetest.register_node('darkage:box', {
|
|
||||||
|
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",
|
description = "Box",
|
||||||
tiles = { 'darkage_box_top.png','darkage_box_top.png','darkage_box.png'},
|
tiles = { "darkage_box_top.png","darkage_box_top.png","darkage_box.png"},
|
||||||
sunlight_propagates = false,
|
groups = { snappy = 3, not_cuttable=1 },
|
||||||
paramtype = "light",
|
|
||||||
paramtype2 = "facedir",
|
|
||||||
walkable = true,
|
|
||||||
groups = { snappy = 3 },
|
|
||||||
sounds = default.node_sound_wood_defaults(),
|
sounds = default.node_sound_wood_defaults(),
|
||||||
on_construct = function(pos)
|
on_construct = function(pos)
|
||||||
local meta = minetest.env:get_meta(pos)
|
local meta = minetest.get_meta(pos)
|
||||||
meta:set_string("formspec",
|
meta:set_string("formspec", box_formspec )
|
||||||
"size[8,8]"..
|
|
||||||
"list[current_name;main;0,0;8,3;]"..
|
|
||||||
"list[current_player;main;0,4;8,4;]")
|
|
||||||
meta:set_string("infotext", "Box")
|
meta:set_string("infotext", "Box")
|
||||||
local inv = meta:get_inventory()
|
local inv = meta:get_inventory()
|
||||||
inv:set_size("main", 16)
|
inv:set_size("main", 16)
|
||||||
end,
|
end,
|
||||||
can_dig = function(pos,player)
|
can_dig = function(pos,player)
|
||||||
local meta = minetest.env:get_meta(pos);
|
local meta = minetest.get_meta(pos);
|
||||||
local inv = meta:get_inventory()
|
local inv = meta:get_inventory()
|
||||||
return inv:is_empty("main")
|
return inv:is_empty("main")
|
||||||
end,
|
end,
|
||||||
|
@ -47,52 +50,57 @@ minetest.register_node('darkage:box', {
|
||||||
minetest.log("action", player:get_player_name()..
|
minetest.log("action", player:get_player_name()..
|
||||||
" moves stuff in box at "..minetest.pos_to_string(pos))
|
" moves stuff in box at "..minetest.pos_to_string(pos))
|
||||||
end,
|
end,
|
||||||
on_metadata_inventory_put = function(pos, listname, index, stack, player)
|
on_metadata_inventory_put = function(pos, listname, index, stack, player)
|
||||||
minetest.log("action", player:get_player_name()..
|
minetest.log("action", player:get_player_name()..
|
||||||
" moves stuff to box at "..minetest.pos_to_string(pos))
|
" moves stuff to box at "..minetest.pos_to_string(pos))
|
||||||
end,
|
end,
|
||||||
on_metadata_inventory_take = function(pos, listname, index, stack, player)
|
on_metadata_inventory_take = function(pos, listname, index, stack, player)
|
||||||
minetest.log("action", player:get_player_name()..
|
minetest.log("action", player:get_player_name()..
|
||||||
" takes stuff from box at "..minetest.pos_to_string(pos))
|
" takes stuff from box at "..minetest.pos_to_string(pos))
|
||||||
end,
|
end,
|
||||||
})
|
})
|
||||||
|
|
||||||
minetest.register_node('darkage:wood_shelves', {
|
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",
|
description = "Wooden Shelves",
|
||||||
tiles = { 'darkage_shelves.png','darkage_shelves.png','darkage_shelves.png',
|
tiles = { "darkage_shelves.png","darkage_shelves.png","darkage_shelves.png",
|
||||||
'darkage_shelves.png','darkage_shelves.png','darkage_shelves_front.png'},
|
"darkage_shelves.png","darkage_shelves.png","darkage_shelves_front.png"},
|
||||||
sunlight_propagates = false,
|
|
||||||
paramtype = "light",
|
|
||||||
paramtype2 = "facedir",
|
paramtype2 = "facedir",
|
||||||
walkable = true,
|
groups = { snappy = 3, not_cuttable=1 },
|
||||||
groups = { snappy = 3 },
|
|
||||||
sounds = default.node_sound_wood_defaults(),
|
sounds = default.node_sound_wood_defaults(),
|
||||||
on_construct = function(pos)
|
on_construct = function(pos)
|
||||||
local meta = minetest.env:get_meta(pos)
|
local meta = minetest.get_meta(pos)
|
||||||
meta:set_string("formspec",
|
meta:set_string("formspec", shelves_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;]")
|
|
||||||
meta:set_string("infotext", "Wooden Shelves")
|
meta:set_string("infotext", "Wooden Shelves")
|
||||||
local inv = meta:get_inventory()
|
local inv = meta:get_inventory()
|
||||||
inv:set_size("up", 16)
|
inv:set_size("up", 16)
|
||||||
inv:set_size("down", 16)
|
inv:set_size("down", 16)
|
||||||
end,
|
end,
|
||||||
can_dig = function(pos,player)
|
can_dig = function(pos,player)
|
||||||
local meta = minetest.env:get_meta(pos);
|
local meta = minetest.get_meta(pos);
|
||||||
local inv = meta:get_inventory()
|
local inv = meta:get_inventory()
|
||||||
return inv:is_empty("shape") and inv:is_empty("out") and inv:is_empty("water")
|
return inv:is_empty("up") and inv:is_empty("down")
|
||||||
end,
|
end,
|
||||||
on_metadata_inventory_move = function(pos, from_list, from_index, to_list, to_index, count, player)
|
on_metadata_inventory_move = function(pos, from_list, from_index, to_list, to_index, count, player)
|
||||||
minetest.log("action", player:get_player_name()..
|
minetest.log("action", player:get_player_name()..
|
||||||
" moves stuff in shelves at "..minetest.pos_to_string(pos))
|
" moves stuff in shelves at "..minetest.pos_to_string(pos))
|
||||||
end,
|
end,
|
||||||
on_metadata_inventory_put = function(pos, listname, index, stack, player)
|
on_metadata_inventory_put = function(pos, listname, index, stack, player)
|
||||||
minetest.log("action", player:get_player_name()..
|
minetest.log("action", player:get_player_name()..
|
||||||
" moves stuff to shelves at "..minetest.pos_to_string(pos))
|
" moves stuff to shelves at "..minetest.pos_to_string(pos))
|
||||||
end,
|
end,
|
||||||
on_metadata_inventory_take = function(pos, listname, index, stack, player)
|
on_metadata_inventory_take = function(pos, listname, index, stack, player)
|
||||||
minetest.log("action", player:get_player_name()..
|
minetest.log("action", player:get_player_name()..
|
||||||
" takes stuff from shelves at "..minetest.pos_to_string(pos))
|
" takes stuff from shelves at "..minetest.pos_to_string(pos))
|
||||||
end,
|
end,
|
||||||
|
@ -101,85 +109,83 @@ minetest.register_node('darkage:wood_shelves', {
|
||||||
--minetest.register_node("darkage:rosace", {
|
--minetest.register_node("darkage:rosace", {
|
||||||
-- description = "Rose Window",
|
-- description = "Rose Window",
|
||||||
-- tiles = {"darkage_rosace.png"},
|
-- tiles = {"darkage_rosace.png"},
|
||||||
-- is_ground_content = true,
|
-- is_ground_content = false,
|
||||||
-- groups = {cracky=3},
|
-- groups = {cracky=3},
|
||||||
-- sounds = default.node_sound_stone_defaults()
|
-- sounds = default.node_sound_stone_defaults()
|
||||||
--})
|
--})
|
||||||
|
|
||||||
minetest.register_node("darkage:iron_bars", {
|
minetest.register_node("darkage:iron_bars", {
|
||||||
description = "Iron Bars",
|
description = "Iron Bars",
|
||||||
drawtype = "glasslike",
|
drawtype = "glasslike",
|
||||||
tiles = {"darkage_iron_bars.png"},
|
tiles = {"darkage_iron_bars.png"},
|
||||||
inventory_image = "darkage_iron_bars.png",
|
inventory_image = "darkage_iron_bars.png",
|
||||||
wield_image = "darkage_iron_bars.png",
|
wield_image = "darkage_iron_bars.png",
|
||||||
is_ground_content = true,
|
is_ground_content = false,
|
||||||
paramtype = "light",
|
paramtype = "light",
|
||||||
sunlight_propagates = true,
|
sunlight_propagates = true,
|
||||||
groups = {cracky=3},
|
groups = {cracky=3 , not_cuttable=1},
|
||||||
sounds = default.node_sound_stone_defaults()
|
sounds = default.node_sound_stone_defaults()
|
||||||
})
|
})
|
||||||
|
|
||||||
minetest.register_node("darkage:lamp", {
|
minetest.register_node("darkage:lamp", {
|
||||||
description = "Lamp",
|
description = "Lamp",
|
||||||
tiles = {
|
tiles = { "darkage_lamp.png" },
|
||||||
"darkage_lamp.png"
|
|
||||||
},
|
|
||||||
paramtype = "light",
|
paramtype = "light",
|
||||||
sunlight_propagates = true,
|
sunlight_propagates = true,
|
||||||
light_source = LIGHT_MAX-1,
|
light_source = default.LIGHT_MAX-1,
|
||||||
groups = {snappy=2,cracky=3,oddly_breakable_by_hand=3,flammable=1},
|
groups = {snappy=2, cracky=3, oddly_breakable_by_hand=3, flammable=1 , not_cuttable=1},
|
||||||
sounds = default.node_sound_glass_defaults(),
|
sounds = default.node_sound_glass_defaults(),
|
||||||
})
|
})
|
||||||
|
|
||||||
minetest.register_node("darkage:iron_grille", {
|
minetest.register_node("darkage:iron_grille", {
|
||||||
description = "Iron Grille",
|
description = "Iron Grille",
|
||||||
drawtype = "glasslike",
|
drawtype = "glasslike",
|
||||||
tiles = {"darkage_iron_grille.png"},
|
tiles = {"darkage_iron_grille.png"},
|
||||||
inventory_image = "darkage_iron_grille.png",
|
inventory_image = "darkage_iron_grille.png",
|
||||||
wield_image = "darkage_iron_grille.png",
|
wield_image = "darkage_iron_grille.png",
|
||||||
is_ground_content = true,
|
is_ground_content = false,
|
||||||
paramtype = "light",
|
paramtype = "light",
|
||||||
sunlight_propagates = true,
|
sunlight_propagates = true,
|
||||||
groups = {cracky=3},
|
groups = {cracky=3 , not_cuttable=1},
|
||||||
sounds = default.node_sound_stone_defaults()
|
sounds = default.node_sound_stone_defaults()
|
||||||
})
|
})
|
||||||
|
|
||||||
minetest.register_node("darkage:wood_bars", {
|
minetest.register_node("darkage:wood_bars", {
|
||||||
description = "Wooden Bars",
|
description = "Wooden Bars",
|
||||||
drawtype = "glasslike",
|
drawtype = "glasslike",
|
||||||
tiles = {"darkage_wood_bars.png"},
|
tiles = {"darkage_wood_bars.png"},
|
||||||
inventory_image = "darkage_wood_bars.png",
|
inventory_image = "darkage_wood_bars.png",
|
||||||
wield_image = "darkage_wood_bars.png",
|
wield_image = "darkage_wood_bars.png",
|
||||||
is_ground_content = true,
|
is_ground_content = false,
|
||||||
paramtype = "light",
|
paramtype = "light",
|
||||||
sunlight_propagates = true,
|
sunlight_propagates = true,
|
||||||
groups = {snappy=1,choppy=2},
|
groups = {snappy=1, choppy=2, not_cuttable=1},
|
||||||
sounds = default.node_sound_stone_defaults()
|
sounds = default.node_sound_stone_defaults()
|
||||||
})
|
})
|
||||||
|
|
||||||
minetest.register_node("darkage:wood_grille", {
|
minetest.register_node("darkage:wood_grille", {
|
||||||
description = "Wooden Grille",
|
description = "Wooden Grille",
|
||||||
drawtype = "glasslike",
|
drawtype = "glasslike",
|
||||||
tiles = {"darkage_wood_grille.png"},
|
tiles = {"darkage_wood_grille.png"},
|
||||||
inventory_image = "darkage_wood_grille.png",
|
inventory_image = "darkage_wood_grille.png",
|
||||||
wield_image = "darkage_wood_grille.png",
|
wield_image = "darkage_wood_grille.png",
|
||||||
is_ground_content = true,
|
is_ground_content = false,
|
||||||
paramtype = "light",
|
paramtype = "light",
|
||||||
sunlight_propagates = true,
|
sunlight_propagates = true,
|
||||||
groups = {snappy=1,choppy=2},
|
groups = {snappy=1, choppy=2, not_cuttable=1},
|
||||||
sounds = default.node_sound_stone_defaults()
|
sounds = default.node_sound_stone_defaults()
|
||||||
})
|
})
|
||||||
|
|
||||||
minetest.register_node("darkage:wood_frame", {
|
minetest.register_node("darkage:wood_frame", {
|
||||||
description = "Wooden Frame",
|
description = "Wooden Frame",
|
||||||
drawtype = "glasslike",
|
drawtype = "glasslike_framed",
|
||||||
tiles = {"darkage_wood_frame.png"},
|
tiles = {"darkage_wood_frame.png"},
|
||||||
inventory_image = "darkage_wood_frame.png",
|
inventory_image = "darkage_wood_frame.png",
|
||||||
wield_image = "darkage_wood_frame.png",
|
wield_image = "darkage_wood_frame.png",
|
||||||
is_ground_content = true,
|
is_ground_content = false,
|
||||||
paramtype = "light",
|
paramtype = "light",
|
||||||
sunlight_propagates = true,
|
sunlight_propagates = true,
|
||||||
groups = {snappy=1,choppy=2},
|
groups = {snappy=1, choppy=2, oddly_breakable_by_hand = 3, not_cuttable=1},
|
||||||
sounds = default.node_sound_stone_defaults()
|
sounds = default.node_sound_stone_defaults()
|
||||||
})
|
})
|
||||||
|
|
||||||
|
@ -193,82 +199,82 @@ minetest.register_node("darkage:wood_frame", {
|
||||||
----------
|
----------
|
||||||
|
|
||||||
minetest.register_craft({
|
minetest.register_craft({
|
||||||
output = 'darkage:box',
|
output = "darkage:box",
|
||||||
recipe = {
|
recipe = {
|
||||||
{'default:wood','','default:wood'},
|
{"default:wood", "", "default:wood"},
|
||||||
{'','',''},
|
{"", "", ""},
|
||||||
{'default:wood','','default:wood'},
|
{"default:wood", "", "default:wood"},
|
||||||
}
|
|
||||||
})
|
|
||||||
|
|
||||||
minetest.register_craft({
|
|
||||||
output = 'darkage:chain 2',
|
|
||||||
recipe = {
|
|
||||||
{'darkage:iron_stick'}, --changed reziep to avoid problems with ironbars - addi
|
|
||||||
{'darkage:iron_stick'},
|
|
||||||
{'darkage:iron_stick'},
|
|
||||||
}
|
}
|
||||||
})
|
})
|
||||||
|
|
||||||
minetest.register_craft({
|
minetest.register_craft({
|
||||||
output = 'darkage:iron_bars 2',
|
output = "darkage:chain 2",
|
||||||
recipe = {
|
recipe = {
|
||||||
{'darkage:iron_stick','','darkage:iron_stick'}, --changed reziep to avoid problems with 3dfurniture -addi
|
{"darkage:iron_stick"},
|
||||||
{'darkage:iron_stick','','darkage:iron_stick'},
|
{"darkage:iron_stick"},
|
||||||
{'darkage:iron_stick','','darkage:iron_stick'},
|
{"darkage:iron_stick"},
|
||||||
}
|
}
|
||||||
})
|
})
|
||||||
|
|
||||||
minetest.register_craft({
|
minetest.register_craft({
|
||||||
output = 'darkage:iron_grille 3',
|
output = "darkage:iron_bars 2",
|
||||||
recipe = {
|
recipe = {
|
||||||
{'','darkage:iron_bars',''},
|
{"darkage:iron_stick", "", "darkage:iron_stick"},
|
||||||
{'darkage:iron_bars','','darkage:iron_bars'},
|
{"darkage:iron_stick", "", "darkage:iron_stick"},
|
||||||
{'','darkage:iron_bars',''},
|
{"darkage:iron_stick", "", "darkage:iron_stick"},
|
||||||
}
|
}
|
||||||
})
|
})
|
||||||
|
|
||||||
minetest.register_craft({
|
minetest.register_craft({
|
||||||
output = 'darkage:lamp',
|
output = "darkage:iron_grille 3",
|
||||||
recipe = {
|
recipe = {
|
||||||
{'default:stick','','default:stick'},
|
{"", "darkage:iron_bars", ""},
|
||||||
{'','default:torch',''},
|
{"darkage:iron_bars", "", "darkage:iron_bars"},
|
||||||
{'default:stick','','default:stick'},
|
{"", "darkage:iron_bars", ""},
|
||||||
}
|
}
|
||||||
})
|
})
|
||||||
|
|
||||||
minetest.register_craft({
|
minetest.register_craft({
|
||||||
output = 'darkage:wood_bars 2',
|
output = "darkage:lamp",
|
||||||
recipe = {
|
recipe = {
|
||||||
{'default:stick','','default:stick'},
|
{"group:stick", "", "group:stick"},
|
||||||
{'default:stick','','default:stick'},
|
{"", "default:torch", ""},
|
||||||
{'default:stick','','default:stick'},
|
{"group:stick", "", "group:stick"},
|
||||||
}
|
}
|
||||||
})
|
})
|
||||||
|
|
||||||
minetest.register_craft({
|
minetest.register_craft({
|
||||||
output = 'darkage:wood_grille 3',
|
output = "darkage:wood_bars 2",
|
||||||
recipe = {
|
recipe = {
|
||||||
{'','darkage:wood_bars',''},
|
{"group:stick", "", "group:stick"},
|
||||||
{'darkage:wood_bars','','darkage:wood_bars'},
|
{"group:stick", "", "group:stick"},
|
||||||
{'','darkage:wood_bars',''},
|
{"group:stick", "", "group:stick"},
|
||||||
}
|
}
|
||||||
})
|
})
|
||||||
|
|
||||||
minetest.register_craft({
|
minetest.register_craft({
|
||||||
output = 'darkage:wood_shelves',
|
output = "darkage:wood_grille 3",
|
||||||
recipe = {
|
recipe = {
|
||||||
{'darkage:box'},
|
{"", "darkage:wood_bars", ""},
|
||||||
{'darkage:box'},
|
{"darkage:wood_bars", "", "darkage:wood_bars"},
|
||||||
|
{"", "darkage:wood_bars", ""},
|
||||||
}
|
}
|
||||||
})
|
})
|
||||||
|
|
||||||
minetest.register_craft({
|
minetest.register_craft({
|
||||||
output = 'darkage:wood_frame',
|
output = "darkage:wood_shelves",
|
||||||
recipe = {
|
recipe = {
|
||||||
{'default:stick','','default:stick'},
|
{"darkage:box"},
|
||||||
{'','default:glass',''},
|
{"darkage:box"},
|
||||||
{'default:stick','','default:stick'},
|
}
|
||||||
|
})
|
||||||
|
|
||||||
|
minetest.register_craft({
|
||||||
|
output = "darkage:wood_frame",
|
||||||
|
recipe = {
|
||||||
|
{"group:stick", "", "group:stick"},
|
||||||
|
{"", "default:glass", ""},
|
||||||
|
{"group:stick", "", "group:stick"},
|
||||||
}
|
}
|
||||||
})
|
})
|
||||||
|
|
||||||
|
|
|
@ -0,0 +1,279 @@
|
||||||
|
--[[
|
||||||
|
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"},
|
||||||
|
}
|
||||||
|
})
|
||||||
|
|
||||||
|
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()
|
||||||
|
})
|
||||||
|
|
||||||
|
unifieddyes.register_color_craft({
|
||||||
|
output = "darkage:milk_glass",
|
||||||
|
palette = "extended",
|
||||||
|
type = "shapeless",
|
||||||
|
neutral_node = "darkage:glass",
|
||||||
|
recipe = {
|
||||||
|
"NEUTRAL_NODE",
|
||||||
|
"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()
|
||||||
|
})
|
||||||
|
|
||||||
|
unifieddyes.register_color_craft({
|
||||||
|
output = "darkage:milk_glass_round",
|
||||||
|
palette = "extended",
|
||||||
|
type = "shapeless",
|
||||||
|
neutral_node = "darkage:glass_round",
|
||||||
|
recipe = {
|
||||||
|
"NEUTRAL_NODE",
|
||||||
|
"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 = "darkage:glass_square",
|
||||||
|
recipe = {
|
||||||
|
"NEUTRAL_NODE",
|
||||||
|
"MAIN_DYE"
|
||||||
|
}
|
||||||
|
})
|
||||||
|
|
||||||
|
-- Recycling
|
||||||
|
minetest.register_craft({
|
||||||
|
output = "darkage:glass_square",
|
||||||
|
recipe = {{"darkage:milk_glass_square"}}
|
||||||
|
})
|
||||||
|
|
||||||
|
end --unifieddyes condition
|
708
init.lua
|
@ -1,285 +1,23 @@
|
||||||
print (" ---- Dark Age is Loading! ---- ")
|
minetest.log("action"," ---- Dark Age Version 1.3 is Loading! ---- ")
|
||||||
-- Commend this lines if you don't like some of this features
|
|
||||||
dofile(minetest.get_modpath("darkage").."/mapgen.lua")
|
|
||||||
dofile(minetest.get_modpath("darkage").."/building.lua")
|
|
||||||
dofile(minetest.get_modpath("darkage").."/furniture.lua")
|
|
||||||
--dofile(minetest.get_modpath("darkage").."/stairs.lua")
|
|
||||||
dofile(minetest.get_modpath("darkage").."/stairsplus.lua")
|
|
||||||
----------
|
|
||||||
-- Items
|
|
||||||
----------
|
|
||||||
|
|
||||||
minetest.register_node("darkage:adobe", {
|
darkage = {}; -- Create darkage namespace
|
||||||
description = "Adobe",
|
|
||||||
tiles = {"darkage_adobe.png"},
|
|
||||||
is_ground_content = true,
|
|
||||||
groups = {crumbly=3},
|
|
||||||
sounds = default.node_sound_sand_defaults(),
|
|
||||||
})
|
|
||||||
|
|
||||||
minetest.register_node("darkage:basalt", {
|
darkage.formbg = (default.gui_bg or "")..
|
||||||
description = "Basalt",
|
(default.gui_bg_img or "")..
|
||||||
tiles = {"darkage_basalt.png"},
|
(default.gui_slots or "")
|
||||||
is_ground_content = true,
|
|
||||||
drop = 'darkage:basalt_cobble',
|
|
||||||
groups = {cracky=3},
|
|
||||||
sounds = default.node_sound_stone_defaults()
|
|
||||||
})
|
|
||||||
|
|
||||||
minetest.register_node("darkage:basalt_cobble", {
|
local MODPATH = minetest.get_modpath("darkage")..DIR_DELIM
|
||||||
description = "Basalt Cobble",
|
|
||||||
tiles = {"darkage_basalt_cobble.png"},
|
|
||||||
is_ground_content = true,
|
|
||||||
groups = {cracky=3},
|
|
||||||
sounds = default.node_sound_stone_defaults()
|
|
||||||
})
|
|
||||||
|
|
||||||
minetest.register_node("darkage:chalk", {
|
dofile(MODPATH.."nodes.lua")
|
||||||
description = "Chalk",
|
dofile(MODPATH.."glass.lua")
|
||||||
tiles = {"darkage_chalk.png"},
|
dofile(MODPATH.."mapgen.lua")
|
||||||
is_ground_content = true,
|
dofile(MODPATH.."building.lua")
|
||||||
drop = 'darkage:chalk_powder 2',
|
dofile(MODPATH.."furniture.lua")
|
||||||
groups = {crumbly=2,cracky=2},
|
dofile(MODPATH.."aliases.lua")
|
||||||
sounds = default.node_sound_stone_defaults()
|
dofile(MODPATH.."walls.lua")
|
||||||
})
|
|
||||||
|
|
||||||
minetest.register_node("darkage:cobble_with_plaster", {
|
dofile(MODPATH.."stairs_functions.lua")
|
||||||
description = "Cobblestone With Plaster",
|
dofile(MODPATH.."stairs.lua")
|
||||||
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"},
|
|
||||||
is_ground_content = true,
|
|
||||||
paramtype2 = "facedir",
|
|
||||||
drop = 'default:cobble',
|
|
||||||
groups = {cracky=3},
|
|
||||||
sounds = default.node_sound_stone_defaults(),
|
|
||||||
})
|
|
||||||
|
|
||||||
minetest.register_node("darkage:desert_stone_cobble", {
|
|
||||||
description = "Desert Stone Cobble",
|
|
||||||
tiles = {"darkage_desert_stone_cobble.png"},
|
|
||||||
is_ground_content = true,
|
|
||||||
groups = {cracky=3},
|
|
||||||
sounds = default.node_sound_stone_defaults()
|
|
||||||
})
|
|
||||||
|
|
||||||
minetest.register_node("darkage:desert_stone_with_iron", {
|
|
||||||
description = "Desert Iron Ore",
|
|
||||||
tiles = {"default_desert_stone.png^darkage_mineral_iron.png"},
|
|
||||||
is_ground_content = true,
|
|
||||||
groups = {cracky=3},
|
|
||||||
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 = true,
|
|
||||||
groups = {crumbly=2},
|
|
||||||
sounds = default.node_sound_dirt_defaults(),
|
|
||||||
})
|
|
||||||
|
|
||||||
minetest.register_node("darkage:dry_leaves", {
|
|
||||||
description = "Dry Leaves",
|
|
||||||
tiles = {"darkage_dry_leaves.png"},
|
|
||||||
is_ground_content = true,
|
|
||||||
paramtype = "light",
|
|
||||||
groups = {snappy=3, flammable=2},
|
|
||||||
sounds = default.node_sound_leaves_defaults()
|
|
||||||
})
|
|
||||||
|
|
||||||
minetest.register_node("darkage:gneiss", {
|
|
||||||
description = "Gneiss",
|
|
||||||
tiles = {"darkage_gneiss.png"},
|
|
||||||
is_ground_content = true,
|
|
||||||
groups = {cracky=3},
|
|
||||||
drop = {
|
|
||||||
max_items = 1,
|
|
||||||
items = {
|
|
||||||
{
|
|
||||||
-- player will get cobbles with 1/3 chance
|
|
||||||
items = {'darkage:gneiss_cobble'},
|
|
||||||
rarity = 3,
|
|
||||||
},
|
|
||||||
{
|
|
||||||
items = {'darkage:gneiss'},
|
|
||||||
}
|
|
||||||
}
|
|
||||||
},
|
|
||||||
sounds = default.node_sound_stone_defaults()
|
|
||||||
})
|
|
||||||
|
|
||||||
minetest.register_node("darkage:gneiss_cobble", {
|
|
||||||
description = "Gneiss Cobble",
|
|
||||||
tiles = {"darkage_gneiss_cobble.png"},
|
|
||||||
is_ground_content = true,
|
|
||||||
groups = {cracky=3},
|
|
||||||
sounds = default.node_sound_stone_defaults()
|
|
||||||
})
|
|
||||||
|
|
||||||
minetest.register_node("darkage:marble", {
|
|
||||||
description = "Marble",
|
|
||||||
tiles = {"darkage_marble.png"},
|
|
||||||
is_ground_content = true,
|
|
||||||
groups = {cracky=3},
|
|
||||||
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 = "",
|
|
||||||
}),
|
|
||||||
})
|
|
||||||
|
|
||||||
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:ors_cobble", {
|
|
||||||
description = "Old Red Sandstone Cobble",
|
|
||||||
tiles = {"darkage_ors_cobble.png"},
|
|
||||||
is_ground_content = true,
|
|
||||||
groups = {crumbly=2,cracky=2},
|
|
||||||
sounds = default.node_sound_stone_defaults()
|
|
||||||
})
|
|
||||||
|
|
||||||
|
|
||||||
minetest.register_node("darkage:sandstone_cobble", {
|
|
||||||
description = "Sandstone Cobble",
|
|
||||||
tiles = {"darkage_sandstone_cobble.png"},
|
|
||||||
is_ground_content = true,
|
|
||||||
groups = {crumbly=2,cracky=2},
|
|
||||||
sounds = default.node_sound_stone_defaults()
|
|
||||||
})
|
|
||||||
|
|
||||||
minetest.register_node("darkage:serpentine", {
|
|
||||||
description = "Serpentine",
|
|
||||||
tiles = {"darkage_serpentine.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"},
|
|
||||||
is_ground_content = true,
|
|
||||||
groups = {crumbly=2,cracky=2},
|
|
||||||
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',
|
|
||||||
sounds = default.node_sound_dirt_defaults({
|
|
||||||
footstep = "",
|
|
||||||
}),
|
|
||||||
})
|
|
||||||
|
|
||||||
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',
|
|
||||||
groups = {cracky=2},
|
|
||||||
sounds = default.node_sound_stone_defaults()
|
|
||||||
})
|
|
||||||
|
|
||||||
minetest.register_node("darkage:slate_cobble", {
|
|
||||||
description = "Slate Cobble",
|
|
||||||
tiles = {"darkage_slate_cobble.png"},
|
|
||||||
is_ground_content = true,
|
|
||||||
groups = {cracky=2},
|
|
||||||
sounds = default.node_sound_stone_defaults()
|
|
||||||
})
|
|
||||||
|
|
||||||
minetest.register_node("darkage:slate_tale", {
|
|
||||||
description = "Slate Tale",
|
|
||||||
tiles = {"darkage_slate_tale.png"},
|
|
||||||
is_ground_content = true,
|
|
||||||
groups = {cracky=2},
|
|
||||||
sounds = default.node_sound_stone_defaults()
|
|
||||||
})
|
|
||||||
|
|
||||||
minetest.register_node("darkage:straw", {
|
|
||||||
description = "Straw",
|
|
||||||
tiles = {"darkage_straw.png"},
|
|
||||||
is_ground_content = true,
|
|
||||||
groups = {snappy=3, flammable=2},
|
|
||||||
sounds = default.node_sound_leaves_defaults(),
|
|
||||||
})
|
|
||||||
|
|
||||||
minetest.register_node("darkage:stone_brick", {
|
|
||||||
description = "Stone Brick",
|
|
||||||
tiles = {"darkage_stone_brick.png"},
|
|
||||||
is_ground_content = true,
|
|
||||||
groups = {cracky=3},
|
|
||||||
sounds = default.node_sound_stone_defaults()
|
|
||||||
})
|
|
||||||
|
|
||||||
minetest.register_node("darkage:straw_bale", {
|
|
||||||
description = "Straw Bale",
|
|
||||||
tiles = {"darkage_straw_bale.png"},
|
|
||||||
is_ground_content = true,
|
|
||||||
drop = 'darkage:straw 4',
|
|
||||||
groups = {snappy=2, flammable=2},
|
|
||||||
sounds = default.node_sound_leaves_defaults(),
|
|
||||||
})
|
|
||||||
|
|
||||||
minetest.register_node("darkage:marble", {
|
|
||||||
description = "Marble",
|
|
||||||
tiles = {"darkage_marble.png"},
|
|
||||||
is_ground_content = true,
|
|
||||||
groups = {cracky=2},
|
|
||||||
sounds = default.node_sound_stone_defaults()
|
|
||||||
})
|
|
||||||
|
|
||||||
--minetest.register_node("darkage:marble_tile", { --disabled because texture not found
|
|
||||||
-- description = "Marble Tile",
|
|
||||||
-- tiles = {"darkage_marble_tile.png"},
|
|
||||||
-- is_ground_content = true,
|
|
||||||
-- groups = {cracky=2},
|
|
||||||
-- sounds = default.node_sound_stone_defaults()
|
|
||||||
--})
|
|
||||||
|
|
||||||
---------------
|
|
||||||
-- Overrides
|
|
||||||
---------------
|
|
||||||
minetest.registered_nodes["default:desert_stone"].drop= {
|
|
||||||
max_items = 1,
|
|
||||||
items = {
|
|
||||||
{
|
|
||||||
-- player will get cobbles with 1/3 chance
|
|
||||||
items = {'darkage:desert_stone_cobble'},
|
|
||||||
rarity = 2,
|
|
||||||
},
|
|
||||||
{
|
|
||||||
items = {'default:desert_stone'},
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
---------------
|
---------------
|
||||||
|
@ -310,170 +48,91 @@ minetest.register_craftitem("darkage:iron_stick", {
|
||||||
-- Crafts
|
-- Crafts
|
||||||
----------
|
----------
|
||||||
|
|
||||||
--sand+clay+water+straw
|
|
||||||
|
|
||||||
minetest.register_craft({
|
minetest.register_craft({
|
||||||
output = 'darkage:adobe 4',
|
output = "darkage:adobe 4",
|
||||||
recipe = {
|
recipe = {
|
||||||
{'default:sand','default:sand'},
|
{"default:sand", "default:sand"},
|
||||||
{'default:clay_lump','darkage:straw'},
|
{"default:clay_lump", "farming:straw"},
|
||||||
}
|
}
|
||||||
})
|
})
|
||||||
|
|
||||||
|
--[[
|
||||||
minetest.register_craft({
|
Basalt
|
||||||
output = 'darkage:basalt_cobble 4',
|
]]
|
||||||
recipe = {
|
|
||||||
{'default:cobble','default:cobble'},
|
|
||||||
{'default:coal_lump','default:coal_lump'},
|
|
||||||
}
|
|
||||||
})
|
|
||||||
|
|
||||||
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({
|
|
||||||
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:ors 4',
|
|
||||||
recipe = {
|
|
||||||
{'default:sandstone','default:sandstone'},
|
|
||||||
{'default:iron_lump','default:sandstone'},
|
|
||||||
}
|
|
||||||
})
|
|
||||||
|
|
||||||
minetest.register_craft({
|
|
||||||
output = 'darkage:ors_cobble 4',
|
|
||||||
recipe = {
|
|
||||||
{'darkage:sandstone_cobble','darkage:sandstone_cobble'},
|
|
||||||
{'default:iron_lump','darkage:sandstone_cobble'},
|
|
||||||
}
|
|
||||||
})
|
|
||||||
|
|
||||||
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({
|
|
||||||
output = 'darkage:slate_tale 2',
|
|
||||||
recipe = {
|
|
||||||
{'darkage:slate_cobble','darkage:slate_cobble'},
|
|
||||||
{'darkage:slate_cobble','darkage:slate_cobble'},
|
|
||||||
}
|
|
||||||
})
|
|
||||||
|
|
||||||
minetest.register_craft({
|
|
||||||
output = 'darkage:stone_brick 9',--changed bacause conflicts with moreblocks
|
|
||||||
recipe = {
|
|
||||||
{'default:cobble','default:cobble','default:cobble'},--changed bacause conflicts with moreblocks
|
|
||||||
{'default:cobble','default:cobble','default:cobble'},--changed bacause conflicts with moreblocks
|
|
||||||
{'default:cobble','default:cobble','default:cobble'},--changed bacause conflicts with moreblocks
|
|
||||||
}
|
|
||||||
})
|
|
||||||
|
|
||||||
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:iron_stick 4',
|
|
||||||
recipe = {
|
|
||||||
{'default:steel_ingot'},
|
|
||||||
}
|
|
||||||
})
|
|
||||||
|
|
||||||
-- Cookings
|
|
||||||
minetest.register_craft({
|
minetest.register_craft({
|
||||||
type = "cooking",
|
type = "cooking",
|
||||||
output = "darkage:basalt",
|
output = "darkage:basalt",
|
||||||
recipe = "darkage:basalt_cobble",
|
recipe = "darkage:basalt_rubble",
|
||||||
})
|
})
|
||||||
|
|
||||||
minetest.register_craft({
|
minetest.register_craft({
|
||||||
type = "cooking",
|
output = "darkage:basalt_rubble 4",
|
||||||
output = "default:desert_stone",
|
recipe = {
|
||||||
recipe = "darkage:desert_stone_cobble",
|
{"default:cobble", "default:cobble"},
|
||||||
|
{"default:coal_lump", "default:coal_lump"},
|
||||||
|
}
|
||||||
})
|
})
|
||||||
|
|
||||||
minetest.register_craft({
|
minetest.register_craft({
|
||||||
type = "cooking",
|
output = "darkage:basalt_brick 4",
|
||||||
output = "darkage:dry_leaves",
|
recipe = {
|
||||||
recipe = "default:leaves",
|
{"darkage:basalt", "darkage:basalt"},
|
||||||
|
{"darkage:basalt", "darkage:basalt"},
|
||||||
|
}
|
||||||
})
|
})
|
||||||
|
|
||||||
minetest.register_craft({
|
minetest.register_craft({
|
||||||
type = "cooking",
|
output = "darkage:basalt_block 9",
|
||||||
output = "darkage:sandstone_cobble",
|
recipe = {
|
||||||
recipe = "default:sandstone",
|
{"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({
|
minetest.register_craft({
|
||||||
type = "cooking",
|
type = "cooking",
|
||||||
output = "darkage:gneiss",
|
output = "darkage:gneiss",
|
||||||
|
@ -483,20 +142,164 @@ minetest.register_craft({
|
||||||
minetest.register_craft({
|
minetest.register_craft({
|
||||||
type = "cooking",
|
type = "cooking",
|
||||||
output = "darkage:gneiss",
|
output = "darkage:gneiss",
|
||||||
recipe = "darkage:gneiss_cobble",
|
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({
|
minetest.register_craft({
|
||||||
type = "cooking",
|
type = "cooking",
|
||||||
output = "darkage:ors",
|
output = "darkage:ors",
|
||||||
recipe = "darkage:ors_cobble",
|
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({
|
minetest.register_craft({
|
||||||
type = "cooking",
|
type = "cooking",
|
||||||
output = "darkage:sandstone_cobble",
|
output = "darkage:dry_leaves",
|
||||||
recipe = "default:sandstone",
|
recipe = "default:leaves",
|
||||||
})
|
})
|
||||||
|
|
||||||
minetest.register_craft({
|
minetest.register_craft({
|
||||||
|
@ -520,21 +323,64 @@ minetest.register_craft({
|
||||||
minetest.register_craft({
|
minetest.register_craft({
|
||||||
type = "cooking",
|
type = "cooking",
|
||||||
output = "darkage:slate",
|
output = "darkage:slate",
|
||||||
recipe = "darkage:slate_cobble",
|
recipe = "darkage:slate_rubble",
|
||||||
})
|
})
|
||||||
|
|
||||||
-- Desert
|
-- Desert
|
||||||
minetest.register_craft({
|
minetest.register_craft({
|
||||||
type = "cooking",
|
type = "cooking",
|
||||||
output = "darkage:ors_cobble",
|
output = "darkage:ors_brick",
|
||||||
recipe = "default:desert_stone",
|
recipe = "default:desert_stone",
|
||||||
})
|
})
|
||||||
|
|
||||||
|
-- Tuff
|
||||||
minetest.register_craft({
|
minetest.register_craft({
|
||||||
output = 'default:desert_stone 2',
|
output = "darkage:tuff 2",
|
||||||
recipe = {
|
recipe = {
|
||||||
{'default:desert_sand','default:desert_sand'},
|
{"darkage:gneiss", "default:stone"},
|
||||||
{'default:desert_sand','default:desert_sand'},
|
{"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"},
|
||||||
|
}
|
||||||
|
})
|
||||||
|
|
522
mapgen.lua
|
@ -1,255 +1,305 @@
|
||||||
|
|
||||||
|
-- Some local constants to use for mapgen
|
||||||
|
local c_air = minetest.CONTENT_AIR
|
||||||
|
local c_ignore = minetest.CONTENT_IGNORE
|
||||||
|
|
||||||
|
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
|
--Makes a stratus of rocks
|
||||||
--name of the rock to generate
|
--name of the rock to generate
|
||||||
--wherein kind of node to replace, for example default:stone
|
--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
|
--minp, maxp the corners of the map to be generated
|
||||||
--seed random seed
|
--seed random seed
|
||||||
--stratus_chance inverse probability in a given radius 1:2, 1:3 etc
|
--stratus_chance inverse probability in a given radius 1:2, 1:3 etc
|
||||||
--radius horizontal radius of the stratus
|
--radius horizontal radius of the stratus
|
||||||
--radius_y vertical radius of the stratus
|
--radius_y vertical radius of the stratus
|
||||||
--deep how deep can be from the ground
|
--deep how deep can be from the ground
|
||||||
local function generate_stratus(name, wherein, ceilin, ceil, minp, maxp, seed, stratus_chance, radius, radius_y, deep, height_min, height_max)
|
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 < height_min or minp.y > height_max then
|
if maxp.y < y_min
|
||||||
return
|
or minp.y > y_max then
|
||||||
end
|
|
||||||
-- it will be only generate a stratus for every 100 m of area
|
|
||||||
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 pr = PseudoRandom(seed)
|
|
||||||
local blocks = math.floor(stratus_per_volume*volume)
|
|
||||||
print(" <<"..dump(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
|
|
||||||
-- TODO deep
|
|
||||||
local y0=y_max-radius_y+1
|
|
||||||
if y0 < y_min then
|
|
||||||
y0=y_min
|
|
||||||
else
|
|
||||||
y0=pr:next(y_min, y0)
|
|
||||||
end
|
|
||||||
local x0 = maxp.x-radius+1
|
|
||||||
if x0 < minp.x then
|
|
||||||
x0 = minp.x
|
|
||||||
else
|
|
||||||
x0 = pr:next(minp.x, x0)
|
|
||||||
end
|
|
||||||
local z0 = maxp.z-radius+1
|
|
||||||
if z0 < minp.z then
|
|
||||||
x0 = minp.z
|
|
||||||
else
|
|
||||||
z0 = pr:next(minp.z, z0)
|
|
||||||
end
|
|
||||||
local p0 = {x=x0, y=y0, z=z0}
|
|
||||||
local n = minetest.env:get_node(p0).name
|
|
||||||
local i = 0
|
|
||||||
--print(" upper node "..n)
|
|
||||||
x = 0
|
|
||||||
for k, v in ipairs(ceilin) do
|
|
||||||
if n == v then
|
|
||||||
x = 1
|
|
||||||
break
|
|
||||||
end
|
|
||||||
end
|
|
||||||
if x == 1 then
|
|
||||||
-- search for the node to replace
|
|
||||||
--print(" Searching nodes to replace from "..dump(y0-1).." to "..dump(y_min))
|
|
||||||
for y1=y0-1,y_min,-1 do
|
|
||||||
p0.y=y1
|
|
||||||
n = minetest.env:get_node(p0).name
|
|
||||||
x = 0
|
|
||||||
for k, v in ipairs(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
|
|
||||||
break
|
|
||||||
end
|
|
||||||
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)..")")
|
|
||||||
for x1=0,rx do
|
|
||||||
rz = rz + 3 - pr:next(1,6)
|
|
||||||
if rz < 1 then
|
|
||||||
rz = 1
|
|
||||||
end
|
|
||||||
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 = minetest.env:get_node(p2).name
|
|
||||||
x = 0
|
|
||||||
for k, v in ipairs(wherein) do
|
|
||||||
if n == v then
|
|
||||||
x = 1
|
|
||||||
break
|
|
||||||
end
|
|
||||||
end
|
|
||||||
if x == 1 then
|
|
||||||
if ceil == nil then
|
|
||||||
minetest.env:set_node(p2, {name=name})
|
|
||||||
i = i +1
|
|
||||||
else
|
|
||||||
local p3 = {p2.x,p2.y+1,p2}
|
|
||||||
if minetest.env:get_node(p3).name == ceil then
|
|
||||||
minetest.env:set_node(p2, {name=name})
|
|
||||||
i = i +1
|
|
||||||
end
|
|
||||||
end
|
|
||||||
end
|
|
||||||
end
|
|
||||||
end
|
|
||||||
end
|
|
||||||
print(" generated "..dump(i).." blocks in ("..dump(x0)..","..dump(y0)..","..dump(z0)..")")
|
|
||||||
end
|
|
||||||
|
|
||||||
end
|
|
||||||
end
|
|
||||||
--print("generate_ore done")
|
|
||||||
end
|
|
||||||
|
|
||||||
local function generate_claylike(name, minp, maxp, seed, chance, minh, maxh, 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;
|
|
||||||
for yy=minh,maxh do
|
|
||||||
local x = pr:next(1,chance)
|
|
||||||
if x == 1 then
|
|
||||||
for divx=0+1,divs-1-1 do
|
|
||||||
for divz=0+1,divs-1-1 do
|
|
||||||
local cx = minp.x + math.floor((divx+0.5)*divlen)
|
|
||||||
local cz = minp.z + math.floor((divz+0.5)*divlen)
|
|
||||||
local up = minetest.env:get_node({x=cx,y=yy,z=cz}).name
|
|
||||||
local down = minetest.env:get_node({x=cx,y=yy-1,z=cz}).name
|
|
||||||
if ( up == "default:water_source" or up == "air" ) and
|
|
||||||
( down == "default:sand" or (dirt == 1 and (down == "default:dirt" or down == "default:dirt_with_grass" ))) then
|
|
||||||
local is_shallow = true
|
|
||||||
local num_water_around = 0
|
|
||||||
if minetest.env:get_node({x=cx-divlen*2,y=yy,z=cz}).name == "default:water_source" then
|
|
||||||
num_water_around = num_water_around + 1 end
|
|
||||||
if minetest.env:get_node({x=cx+divlen*2,y=yy,z=cz}).name == "default:water_source" then
|
|
||||||
num_water_around = num_water_around + 1 end
|
|
||||||
if minetest.env:get_node({x=cx,y=yy,z=cz-divlen*2}).name == "default:water_source" then
|
|
||||||
num_water_around = num_water_around + 1 end
|
|
||||||
if minetest.env:get_node({x=cx,y=yy,z=cz+divlen*2}).name == "default:water_source" then
|
|
||||||
num_water_around = num_water_around + 1 end
|
|
||||||
if num_water_around >= 3 then
|
|
||||||
is_shallow = false
|
|
||||||
end
|
|
||||||
if is_shallow then
|
|
||||||
for x1=-divlen,divlen do
|
|
||||||
for z1=-divlen,divlen do
|
|
||||||
local p={x=cx+x1,y=yy-1,z=cz+z1}
|
|
||||||
down = minetest.env:get_node(p).name
|
|
||||||
if down == "default:sand" or (dirt == 1 and (down == "default:dirt" or down == "default:dirt_with_grass")) then
|
|
||||||
minetest.env:set_node(p, {name=name})
|
|
||||||
end
|
|
||||||
end
|
|
||||||
end
|
|
||||||
end
|
|
||||||
end
|
|
||||||
end
|
|
||||||
end
|
|
||||||
end
|
|
||||||
end
|
|
||||||
end
|
|
||||||
end
|
|
||||||
|
|
||||||
local function generate_ore(name, wherein, minp, maxp, seed, chunks_per_volume, chunk_size, ore_per_chunk, height_min, height_max)
|
|
||||||
if maxp.y < height_min or minp.y > height_max then
|
|
||||||
return
|
return
|
||||||
end
|
end
|
||||||
local y_min = math.max(minp.y, height_min)
|
|
||||||
local y_max = math.min(maxp.y, height_max)
|
local c_node = minetest.get_content_id(name)
|
||||||
local volume = (maxp.x-minp.x+1)*(y_max-y_min+1)*(maxp.z-minp.z+1)
|
|
||||||
|
-- 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 pr = PseudoRandom(seed)
|
||||||
local num_chunks = math.floor(chunks_per_volume * volume)
|
local blocks = math.floor(stratus_per_volume*volume)
|
||||||
local inverse_chance = math.floor(chunk_size*chunk_size*chunk_size / ore_per_chunk)
|
minetest.log("info", " <<"..name..">>");
|
||||||
--print("generate_ore num_chunks: "..dump(num_chunks))
|
if blocks == 0 then
|
||||||
for i=1,num_chunks do
|
blocks = 1
|
||||||
local y0 = pr:next(y_min, y_max-chunk_size+1)
|
end
|
||||||
if y0 >= height_min and y0 <= height_max then
|
minetest.log("info", string.format(" blocks: %d in vol: %d (%d,%d,%d)",
|
||||||
local x0 = pr:next(minp.x, maxp.x-chunk_size+1)
|
blocks, volume, maxp.x-minp.x+1, y_max-y_min+1, maxp.z-minp.z+1))
|
||||||
local z0 = pr:next(minp.z, maxp.z-chunk_size+1)
|
for i = 1,blocks do
|
||||||
local p0 = {x=x0, y=y0, z=z0}
|
if pr:next(1,stratus_chance) == 1 then
|
||||||
for x1=0,chunk_size-1 do
|
-- TODO deep
|
||||||
for y1=0,chunk_size-1 do
|
local y0=y_max-radius_y+1
|
||||||
for z1=0,chunk_size-1 do
|
if y0 < y_min then
|
||||||
if pr:next(1,inverse_chance) == 1 then
|
y0=y_min
|
||||||
local x2 = x0+x1
|
else
|
||||||
local y2 = y0+y1
|
y0=pr:next(y_min, y0)
|
||||||
local z2 = z0+z1
|
end
|
||||||
local p2 = {x=x2, y=y2, z=z2}
|
local x0 = maxp.x-radius+1
|
||||||
if minetest.env:get_node(p2).name == wherein then
|
if x0 < minp.x then
|
||||||
minetest.env:set_node(p2, {name=name})
|
x0 = minp.x
|
||||||
|
else
|
||||||
|
x0 = pr:next(minp.x, x0)
|
||||||
|
end
|
||||||
|
local z0 = maxp.z-radius+1
|
||||||
|
if z0 < minp.z then
|
||||||
|
x0 = minp.z
|
||||||
|
else
|
||||||
|
z0 = pr:next(minp.z, z0)
|
||||||
|
end
|
||||||
|
local n = data[area:index(x0, y0, z0)]
|
||||||
|
local i = 0
|
||||||
|
|
||||||
|
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
|
||||||
|
local vi = vi + x1
|
||||||
|
rz = math.max(rz + 3 - pr:next(1,6), 1)
|
||||||
|
for z1=pr:next(1,3),rz do
|
||||||
|
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
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
end
|
minetest.log("info", " generated "..i.." blocks in ("..x0..","..y0..","..z0..")")
|
||||||
end
|
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
--print("generate_ore done")
|
--print("generate_ore done")
|
||||||
end
|
end
|
||||||
|
|
||||||
minetest.register_on_generated(function(minp, maxp, seed)
|
local function generate_claylike(data, varea, name, minp, maxp, seed, chance, minh, maxh, needs_dirt)
|
||||||
-- Generate stratus
|
if maxp.y >= maxh+1 and minp.y <= minh-1 then
|
||||||
print("DARKAGE: Generate stratus");
|
local c_ore = minetest.get_content_id(name)
|
||||||
generate_ore("darkage:desert_stone_with_iron", "default:desert_stone", minp, maxp, seed+0, 1/7/7/7, 3, 5, -15, 40)
|
local pr = PseudoRandom(seed)
|
||||||
generate_claylike("darkage:mud", minp, maxp, seed+1, 4, 0, 2, 0)
|
|
||||||
generate_claylike("darkage:silt", minp, maxp, seed+2, 4, -1, 1, 1)
|
local divlen = 4
|
||||||
generate_stratus("darkage:chalk",
|
local divs = (maxp.x-minp.x)/divlen+1;
|
||||||
{"default:stone"},
|
for yy=minh,maxh do
|
||||||
{"default:stone","air"}, nil,
|
local x = pr:next(1,chance)
|
||||||
minp, maxp, seed+3, 4, 25, 8, 0, -20, 50)
|
if x == 1 then
|
||||||
generate_stratus("darkage:ors",
|
for divx=0+1,divs-1-1 do
|
||||||
{"default:stone"},
|
for divz=0+1,divs-1-1 do
|
||||||
{"default:stone","air","default:water_source"}, nil,
|
local cx = minp.x + math.floor((divx+0.5)*divlen)
|
||||||
minp, maxp, seed+4, 4, 25, 7, 50, -200, 500)
|
local cz = minp.z + math.floor((divz+0.5)*divlen)
|
||||||
generate_stratus("darkage:shale",
|
local up = data[varea:index(cx,yy,cz)]
|
||||||
{"default:stone"},
|
local down = data[varea:index(cx,yy-1,cz)]
|
||||||
{"default:stone","air"}, nil,
|
if ( up == c_water or up == c_air ) and ( down == c_sand or (needs_dirt and (down == c_dirt or down == c_lawn ))) then
|
||||||
minp, maxp, seed+5, 4, 23, 7, 50, -50, 20)
|
local num_water_around = 0
|
||||||
generate_stratus("darkage:slate",
|
if data[varea:index(cx-divlen*2,yy,cz)] == c_water then
|
||||||
{"default:stone"},
|
num_water_around = num_water_around + 1
|
||||||
{"default:stone","air"}, nil,
|
end
|
||||||
minp, maxp, seed+6, 6, 23, 5, 50, -500, 0)
|
if data[varea:index(cx+divlen*2,yy,cz)] == c_water then
|
||||||
generate_stratus("darkage:schist",
|
num_water_around = num_water_around + 1
|
||||||
{"default:stone"},
|
end
|
||||||
{"default:stone","air"}, nil,
|
if data[varea:index(cx,yy,cz-divlen*2)] == c_water then
|
||||||
minp, maxp, seed+7, 6, 19, 6, 50, -31000, -10)
|
num_water_around = num_water_around + 1
|
||||||
generate_stratus("darkage:basalt",
|
end
|
||||||
{"default:stone"},
|
if data[varea:index(cx,yy,cz+divlen*2)] == c_water then
|
||||||
{"default:stone","air"}, nil,
|
num_water_around = num_water_around + 1
|
||||||
minp, maxp, seed+8, 5, 20, 5, 20, -31000, -50)
|
end
|
||||||
generate_stratus("darkage:marble",
|
if num_water_around < 3 then
|
||||||
{"default:stone"},
|
for x1=-divlen,divlen do
|
||||||
{"default:stone","air"}, nil,
|
for z1=-divlen,divlen do
|
||||||
minp, maxp, seed+9, 4, 25, 6, 50, -31000, -75)
|
local i = varea:index(cx+x1,yy-1,cz+z1)
|
||||||
generate_stratus("darkage:serpentine",
|
local down = data[i]
|
||||||
{"default:stone"},
|
if down == c_sand or (needs_dirt and (down == c_dirt or down == c_lawn)) then
|
||||||
{"default:stone","air"}, nil,
|
data[i] = c_ore
|
||||||
minp, maxp, seed+10, 4, 28, 8, 50, -31000, -350)
|
end
|
||||||
generate_stratus("darkage:gneiss",
|
end
|
||||||
{"default:stone"},
|
end
|
||||||
{"default:stone","air"}, nil,
|
end
|
||||||
minp, maxp, seed+11, 4, 15, 5, 50, -31000, -250)
|
end
|
||||||
end)
|
end
|
||||||
|
end
|
||||||
|
end
|
||||||
|
end
|
||||||
|
end
|
||||||
|
end
|
||||||
|
|
||||||
|
local seed = minetest.get_mapgen_setting("seed")
|
||||||
|
|
||||||
|
|
||||||
|
-- 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)
|
||||||
|
|
||||||
|
local t1 = os.clock()
|
||||||
|
|
||||||
|
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",
|
||||||
|
c_stone,
|
||||||
|
stone_and_air_assoc,
|
||||||
|
minp, maxp, seed+5, 4, 23, 7, 50, -50, 20)
|
||||||
|
|
||||||
|
generate_stratus(data, area, "darkage:slate",
|
||||||
|
c_stone,
|
||||||
|
stone_and_air_assoc,
|
||||||
|
minp, maxp, seed+6, 6, 23, 5, 50, -500, 0)
|
||||||
|
|
||||||
|
generate_stratus(data, area, "darkage:schist",
|
||||||
|
c_stone,
|
||||||
|
stone_and_air_assoc,
|
||||||
|
minp, maxp, seed+7, 6, 19, 6, 50, -31000, -10)
|
||||||
|
|
||||||
|
generate_stratus(data, area, "darkage:basalt",
|
||||||
|
c_stone,
|
||||||
|
stone_and_air_assoc,
|
||||||
|
minp, maxp, seed+8, 5, 20, 5, 20, -31000, -50)
|
||||||
|
|
||||||
|
generate_stratus(data, area, "darkage:marble",
|
||||||
|
c_stone,
|
||||||
|
stone_and_air_assoc,
|
||||||
|
minp, maxp, seed+9, 4, 25, 6, 50, -31000, -75)
|
||||||
|
|
||||||
|
generate_stratus(data, area, "darkage:serpentine",
|
||||||
|
c_stone,
|
||||||
|
stone_and_air_assoc,
|
||||||
|
minp, maxp, seed+10, 4, 28, 8, 50, -31000, -350)
|
||||||
|
|
||||||
|
generate_stratus(data, area, "darkage:gneiss",
|
||||||
|
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_generated(generate_strati)
|
||||||
|
|
|
@ -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
|
|
@ -0,0 +1,469 @@
|
||||||
|
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 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, 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()
|
||||||
|
})
|
||||||
|
|
||||||
|
minetest.register_node("darkage:serpentine", {
|
||||||
|
description = "Serpentine",
|
||||||
|
tiles = {"darkage_serpentine.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"},
|
||||||
|
is_ground_content = true,
|
||||||
|
groups = {crumbly=2,cracky=2},
|
||||||
|
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',
|
||||||
|
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_rubble',
|
||||||
|
groups = {cracky=2},
|
||||||
|
sounds = default.node_sound_stone_defaults()
|
||||||
|
})
|
||||||
|
|
||||||
|
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: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: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: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: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(),
|
||||||
|
})
|
||||||
|
|
||||||
|
--[[
|
||||||
|
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: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_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"},
|
||||||
|
}
|
||||||
|
})
|
After Width: | Height: | Size: 635 B |
After Width: | Height: | Size: 201 B |
After Width: | Height: | Size: 609 B |
After Width: | Height: | Size: 732 B |
After Width: | Height: | Size: 606 B |
After Width: | Height: | Size: 1.2 KiB |
After Width: | Height: | Size: 2.1 KiB |
After Width: | Height: | Size: 1.2 KiB |
After Width: | Height: | Size: 1.2 KiB |
After Width: | Height: | Size: 1.6 KiB |
After Width: | Height: | Size: 1.1 KiB |
After Width: | Height: | Size: 127 B |
After Width: | Height: | Size: 151 B |
After Width: | Height: | Size: 535 B |
After Width: | Height: | Size: 1.1 KiB |
After Width: | Height: | Size: 903 B |
After Width: | Height: | Size: 555 B |
After Width: | Height: | Size: 555 B |
After Width: | Height: | Size: 2.4 KiB |
After Width: | Height: | Size: 2.3 KiB |
After Width: | Height: | Size: 656 B |
After Width: | Height: | Size: 260 KiB |
91
stairs.lua
|
@ -1,66 +1,29 @@
|
||||||
darkage = {};
|
|
||||||
function darkage.register_stairs(modname, subname, groups, images, desc)
|
|
||||||
table.insert(circular_saw.known_stairs, modname..":"..subname);
|
|
||||||
recipeitem = modname..":"..subname;
|
|
||||||
desc_stair = desc.." stair";
|
|
||||||
desc_slab = desc.." slab";
|
|
||||||
desc_panel = desc.." panel";
|
|
||||||
desc_micro = desc.." micro";
|
|
||||||
drop = subname
|
|
||||||
register_stair(modname, subname, recipeitem, groups, images, desc_stair, drop)
|
|
||||||
register_slab(modname, subname, recipeitem, groups, images, desc_slab, drop)
|
|
||||||
register_panel(modname, subname, recipeitem, groups, images, desc_panel, drop)
|
|
||||||
register_micro(modname, subname, recipeitem, groups, images, desc_micro, drop)
|
|
||||||
end
|
|
||||||
darkage.register_stairs("darkage","basalt_cobble",
|
|
||||||
{cracky=3},
|
|
||||||
{"darkage_basalt_cobble.png"},
|
|
||||||
"Basalt Cobble"
|
|
||||||
)
|
|
||||||
|
|
||||||
darkage.register_stairs("darkage","slate_tale",
|
-- Registration of Stairs (Alphabetical order)
|
||||||
{cracky=3},
|
darkage.register_stairs("darkage:basalt")
|
||||||
{"darkage_slate_tale.png"},
|
darkage.register_stairs("darkage:basalt_brick")
|
||||||
"Slate Tale"
|
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")
|
||||||
|
|
||||||
darkage.register_stairs("darkage","straw",
|
|
||||||
{snappy=3, flammable=2},
|
|
||||||
{"darkage_straw.png"},
|
|
||||||
"Straw"
|
|
||||||
)
|
|
||||||
|
|
||||||
darkage.register_stairs("darkage","stone_brick",
|
|
||||||
{cracky=3},
|
|
||||||
{"darkage_stone_brick.png"},
|
|
||||||
"Stone Brick"
|
|
||||||
)
|
|
||||||
|
|
||||||
darkage.register_stairs("darkage","ors_cobble",
|
|
||||||
{cracky=3},
|
|
||||||
{"darkage_ors_cobble.png"},
|
|
||||||
"Old Red Sandtone"
|
|
||||||
)
|
|
||||||
|
|
||||||
darkage.register_stairs("darkage","desert_stone_cobble",
|
|
||||||
{cracky=3},
|
|
||||||
{"darkage_desert_stone_cobble.png"},
|
|
||||||
"Desert Stone Cobble"
|
|
||||||
)
|
|
||||||
|
|
||||||
darkage.register_stairs("darkage","slate_cobble",
|
|
||||||
{cracky=3},
|
|
||||||
{"darkage_slate_cobble.png"},
|
|
||||||
"Slate Cobble"
|
|
||||||
)
|
|
||||||
darkage.register_stairs("darkage","sandstone_cobble",
|
|
||||||
{cracky=3},
|
|
||||||
{"darkage_sandstone_cobble.png"},
|
|
||||||
"Sandstone Cobble"
|
|
||||||
)
|
|
||||||
|
|
||||||
darkage.register_stairs("darkage","gneiss_cobble",
|
|
||||||
{cracky=3},
|
|
||||||
{"darkage_gneiss_cobble.png"},
|
|
||||||
"Gneiss Cobble"
|
|
||||||
)
|
|
|
@ -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
|
||||||
|
]]
|
|
@ -1,66 +0,0 @@
|
||||||
darkage = {};
|
|
||||||
function darkage.register_stairs(modname, subname, groups, images, desc)
|
|
||||||
table.insert(circular_saw.known_stairs, modname..":"..subname);
|
|
||||||
recipeitem = modname..":"..subname;
|
|
||||||
desc_stair = desc.." stair";
|
|
||||||
desc_slab = desc.." slab";
|
|
||||||
desc_panel = desc.." panel";
|
|
||||||
desc_micro = desc.." micro";
|
|
||||||
drop = subname
|
|
||||||
register_stair(modname, subname, recipeitem, groups, images, desc_stair, drop)
|
|
||||||
register_slab(modname, subname, recipeitem, groups, images, desc_slab, drop)
|
|
||||||
register_panel(modname, subname, recipeitem, groups, images, desc_panel, drop)
|
|
||||||
register_micro(modname, subname, recipeitem, groups, images, desc_micro, drop)
|
|
||||||
end
|
|
||||||
darkage.register_stairs("darkage","basalt_cobble",
|
|
||||||
{cracky=3},
|
|
||||||
{"darkage_basalt_cobble.png"},
|
|
||||||
"Basalt Cobble"
|
|
||||||
)
|
|
||||||
|
|
||||||
darkage.register_stairs("darkage","slate_tale",
|
|
||||||
{cracky=3},
|
|
||||||
{"darkage_slate_tale.png"},
|
|
||||||
"Slate Tale"
|
|
||||||
)
|
|
||||||
|
|
||||||
darkage.register_stairs("darkage","straw",
|
|
||||||
{snappy=3, flammable=2},
|
|
||||||
{"darkage_straw.png"},
|
|
||||||
"Straw"
|
|
||||||
)
|
|
||||||
|
|
||||||
darkage.register_stairs("darkage","stone_brick",
|
|
||||||
{cracky=3},
|
|
||||||
{"darkage_stone_brick.png"},
|
|
||||||
"Stone Brick"
|
|
||||||
)
|
|
||||||
|
|
||||||
darkage.register_stairs("darkage","ors_cobble",
|
|
||||||
{cracky=3},
|
|
||||||
{"darkage_ors_cobble.png"},
|
|
||||||
"Old Red Sandtone"
|
|
||||||
)
|
|
||||||
|
|
||||||
darkage.register_stairs("darkage","desert_stone_cobble",
|
|
||||||
{cracky=3},
|
|
||||||
{"darkage_desert_stone_cobble.png"},
|
|
||||||
"Desert Stone Cobble"
|
|
||||||
)
|
|
||||||
|
|
||||||
darkage.register_stairs("darkage","slate_cobble",
|
|
||||||
{cracky=3},
|
|
||||||
{"darkage_slate_cobble.png"},
|
|
||||||
"Slate Cobble"
|
|
||||||
)
|
|
||||||
darkage.register_stairs("darkage","sandstone_cobble",
|
|
||||||
{cracky=3},
|
|
||||||
{"darkage_sandstone_cobble.png"},
|
|
||||||
"Sandstone Cobble"
|
|
||||||
)
|
|
||||||
|
|
||||||
darkage.register_stairs("darkage","gneiss_cobble",
|
|
||||||
{cracky=3},
|
|
||||||
{"darkage_gneiss_cobble.png"},
|
|
||||||
"Gneiss Cobble"
|
|
||||||
)
|
|
Before Width: | Height: | Size: 684 B After Width: | Height: | Size: 964 B |
Before Width: | Height: | Size: 601 B After Width: | Height: | Size: 728 B |
After Width: | Height: | Size: 728 B |
After Width: | Height: | Size: 1.0 KiB |
Before Width: | Height: | Size: 705 B |
After Width: | Height: | Size: 1.1 KiB |
Before Width: | Height: | Size: 701 B After Width: | Height: | Size: 577 B |
Before Width: | Height: | Size: 758 B After Width: | Height: | Size: 617 B |
Before Width: | Height: | Size: 230 B After Width: | Height: | Size: 164 B |
Before Width: | Height: | Size: 686 B After Width: | Height: | Size: 953 B |
Before Width: | Height: | Size: 618 B After Width: | Height: | Size: 450 B |
After Width: | Height: | Size: 407 B |
Before Width: | Height: | Size: 846 B |
Before Width: | Height: | Size: 772 B |
Before Width: | Height: | Size: 764 B |
Before Width: | Height: | Size: 760 B |
Before Width: | Height: | Size: 766 B |
Before Width: | Height: | Size: 980 B After Width: | Height: | Size: 1.0 KiB |
Before Width: | Height: | Size: 603 B |
Before Width: | Height: | Size: 446 B After Width: | Height: | Size: 177 B |
Before Width: | Height: | Size: 1.3 KiB After Width: | Height: | Size: 385 B |
After Width: | Height: | Size: 381 B |
After Width: | Height: | Size: 292 B |
After Width: | Height: | Size: 418 B |
After Width: | Height: | Size: 499 B |
After Width: | Height: | Size: 347 B |
Before Width: | Height: | Size: 697 B |
Before Width: | Height: | Size: 846 B After Width: | Height: | Size: 793 B |
After Width: | Height: | Size: 872 B |
After Width: | Height: | Size: 802 B |
Before Width: | Height: | Size: 951 B |
After Width: | Height: | Size: 922 B |
Before Width: | Height: | Size: 619 B After Width: | Height: | Size: 566 B |
Before Width: | Height: | Size: 577 B After Width: | Height: | Size: 457 B |
Before Width: | Height: | Size: 202 B After Width: | Height: | Size: 122 B |
Before Width: | Height: | Size: 747 B After Width: | Height: | Size: 516 B |
Before Width: | Height: | Size: 358 B |
Before Width: | Height: | Size: 739 B After Width: | Height: | Size: 275 B |
After Width: | Height: | Size: 637 B |
After Width: | Height: | Size: 950 B |
After Width: | Height: | Size: 914 B |
After Width: | Height: | Size: 670 B |
Before Width: | Height: | Size: 891 B |
Before Width: | Height: | Size: 596 B After Width: | Height: | Size: 515 B |
Before Width: | Height: | Size: 210 B After Width: | Height: | Size: 140 B |
Before Width: | Height: | Size: 709 B After Width: | Height: | Size: 474 B |
After Width: | Height: | Size: 1.0 KiB |
Before Width: | Height: | Size: 819 B After Width: | Height: | Size: 1.0 KiB |
After Width: | Height: | Size: 1.0 KiB |
After Width: | Height: | Size: 692 B |
Before Width: | Height: | Size: 846 B |
After Width: | Height: | Size: 1.0 KiB |
After Width: | Height: | Size: 102 B |
After Width: | Height: | Size: 103 B |
After Width: | Height: | Size: 102 B |
After Width: | Height: | Size: 103 B |
Before Width: | Height: | Size: 805 B After Width: | Height: | Size: 686 B |
After Width: | Height: | Size: 203 B |
After Width: | Height: | Size: 142 B |
After Width: | Height: | Size: 454 B |
After Width: | Height: | Size: 481 B |
Before Width: | Height: | Size: 716 B |