Compare commits
79 Commits
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 | |
adrido | 9ccd5caf09 | |
adrido | 0b908c3d67 |
|
@ -0,0 +1,22 @@
|
|||
# Auto detect text files and perform LF normalization
|
||||
* text=auto
|
||||
|
||||
# Custom for Visual Studio
|
||||
*.cs diff=csharp
|
||||
*.sln merge=union
|
||||
*.csproj merge=union
|
||||
*.vbproj merge=union
|
||||
*.fsproj merge=union
|
||||
*.dbproj merge=union
|
||||
|
||||
# Standard to msysgit
|
||||
*.doc diff=astextplain
|
||||
*.DOC diff=astextplain
|
||||
*.docx diff=astextplain
|
||||
*.DOCX diff=astextplain
|
||||
*.dot diff=astextplain
|
||||
*.DOT diff=astextplain
|
||||
*.pdf diff=astextplain
|
||||
*.PDF diff=astextplain
|
||||
*.rtf diff=astextplain
|
||||
*.RTF diff=astextplain
|
|
@ -0,0 +1,163 @@
|
|||
#################
|
||||
## Eclipse
|
||||
#################
|
||||
|
||||
*.pydevproject
|
||||
.project
|
||||
.metadata
|
||||
bin/
|
||||
tmp/
|
||||
*.tmp
|
||||
*.bak
|
||||
*.swp
|
||||
*~.nib
|
||||
local.properties
|
||||
.classpath
|
||||
.settings/
|
||||
.loadpath
|
||||
|
||||
# External tool builders
|
||||
.externalToolBuilders/
|
||||
|
||||
# Locally stored "Eclipse launch configurations"
|
||||
*.launch
|
||||
|
||||
# CDT-specific
|
||||
.cproject
|
||||
|
||||
# PDT-specific
|
||||
.buildpath
|
||||
|
||||
|
||||
#################
|
||||
## Visual Studio
|
||||
#################
|
||||
|
||||
## Ignore Visual Studio temporary files, build results, and
|
||||
## files generated by popular Visual Studio add-ons.
|
||||
|
||||
# User-specific files
|
||||
*.suo
|
||||
*.user
|
||||
*.sln.docstates
|
||||
|
||||
# Build results
|
||||
[Dd]ebug/
|
||||
[Rr]elease/
|
||||
*_i.c
|
||||
*_p.c
|
||||
*.ilk
|
||||
*.meta
|
||||
*.obj
|
||||
*.pch
|
||||
*.pdb
|
||||
*.pgc
|
||||
*.pgd
|
||||
*.rsp
|
||||
*.sbr
|
||||
*.tlb
|
||||
*.tli
|
||||
*.tlh
|
||||
*.tmp
|
||||
*.vspscc
|
||||
.builds
|
||||
*.dotCover
|
||||
|
||||
## TODO: If you have NuGet Package Restore enabled, uncomment this
|
||||
#packages/
|
||||
|
||||
# Visual C++ cache files
|
||||
ipch/
|
||||
*.aps
|
||||
*.ncb
|
||||
*.opensdf
|
||||
*.sdf
|
||||
|
||||
# Visual Studio profiler
|
||||
*.psess
|
||||
*.vsp
|
||||
|
||||
# ReSharper is a .NET coding add-in
|
||||
_ReSharper*
|
||||
|
||||
# Installshield output folder
|
||||
[Ee]xpress
|
||||
|
||||
# DocProject is a documentation generator add-in
|
||||
DocProject/buildhelp/
|
||||
DocProject/Help/*.HxT
|
||||
DocProject/Help/*.HxC
|
||||
DocProject/Help/*.hhc
|
||||
DocProject/Help/*.hhk
|
||||
DocProject/Help/*.hhp
|
||||
DocProject/Help/Html2
|
||||
DocProject/Help/html
|
||||
|
||||
# Click-Once directory
|
||||
publish
|
||||
|
||||
# Others
|
||||
[Bb]in
|
||||
[Oo]bj
|
||||
sql
|
||||
TestResults
|
||||
*.Cache
|
||||
ClientBin
|
||||
stylecop.*
|
||||
~$*
|
||||
*.dbmdl
|
||||
Generated_Code #added for RIA/Silverlight projects
|
||||
|
||||
# Backup & report files from converting an old project file to a newer
|
||||
# Visual Studio version. Backup files are not needed, because we have git ;-)
|
||||
_UpgradeReport_Files/
|
||||
Backup*/
|
||||
UpgradeLog*.XML
|
||||
|
||||
|
||||
|
||||
############
|
||||
## Windows
|
||||
############
|
||||
|
||||
# Windows image file caches
|
||||
Thumbs.db
|
||||
|
||||
# Folder config file
|
||||
Desktop.ini
|
||||
|
||||
|
||||
#############
|
||||
## Python
|
||||
#############
|
||||
|
||||
*.py[co]
|
||||
|
||||
# Packages
|
||||
*.egg
|
||||
*.egg-info
|
||||
dist
|
||||
build
|
||||
eggs
|
||||
parts
|
||||
bin
|
||||
var
|
||||
sdist
|
||||
develop-eggs
|
||||
.installed.cfg
|
||||
|
||||
# Installer logs
|
||||
pip-log.txt
|
||||
|
||||
# Unit test / coverage reports
|
||||
.coverage
|
||||
.tox
|
||||
|
||||
#Translations
|
||||
*.mo
|
||||
|
||||
#Mr Developer
|
||||
.mr.developer.cfg
|
||||
|
||||
# Mac crap
|
||||
.DS_Store
|
339
README.md
|
@ -1,9 +1,12 @@
|
|||
#DarkAge MOD for MINETEST
|
||||
orginal by Master Gollum
|
||||
modyfied by addi
|
||||
# DarkAge Mod for Minetest
|
||||
|
||||
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
|
||||
pre industrial landscape. Of course, feel free to use them in any other
|
||||
construction :P
|
||||
|
@ -23,330 +26,45 @@ modyfied by addi
|
|||
used in the default version. Probably I will change this recipes in
|
||||
next releases.
|
||||
|
||||
## Release Notes
|
||||
|
||||
### Version 1.4
|
||||
|
||||
##Release Notes
|
||||
Version 1.0.1
|
||||
* New Textures by Skamiz
|
||||
* serveral mapgen fixes
|
||||
* Maintenance stuff
|
||||
|
||||
* fixed init.lua wich get broken by upload on github
|
||||
Full release notes: <https://github.com/adrido/darkage/releases>
|
||||
|
||||
## How to install
|
||||
|
||||
Version 1.0
|
||||
|
||||
* a lot of more nodes because using moreblocks stairgen
|
||||
* 2 sorts of medieval glass added
|
||||
* chalk can crafted from chalk powder
|
||||
* fixed some craft reziep conflicts
|
||||
|
||||
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/
|
||||
Unzip the archive an place it in minetest-base-directory/mods/
|
||||
if you have a windows client or a linux run-in-place client. If you
|
||||
have a linux system-wide instalation place it in
|
||||
~/.minetest/mods/minetest/.
|
||||
have a linux system-wide installation place it in
|
||||
~/.minetest/mods/.
|
||||
If you want to install this mod only in one world create the folder
|
||||
worldmods/ in your worlddirectory.
|
||||
worldmods/ in your worlddirectory. Remember to activate it for your world by pressing the 'configure' button and doubleclick darkage in the right list.
|
||||
For further information or help see:
|
||||
http://wiki.minetest.com/wiki/Installing_Mods
|
||||
<http://wiki.minetest.net/Installing_Mods>
|
||||
|
||||
###Tunning:
|
||||
Comments the following lines to remove what you don't like:
|
||||
(To comment them just add -- at the beginning of their lines)
|
||||
## Wiki
|
||||
|
||||
Stone Layers
|
||||
dofile(minetest.get_modpath("darkage").."/mapgen.lua")
|
||||
The stones will not spawn in the map.
|
||||
For Building-blocks and crafting information please take a look to the wiki:
|
||||
<https://github.com/adrido/darkage/wiki>
|
||||
|
||||
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)
|
||||
Graphics: WTFPL (see below)
|
||||
|
||||
#See also:
|
||||
http://minetest.net/
|
||||
## See also
|
||||
|
||||
<http://minetest.net/>
|
||||
|
||||
---
|
||||
|
||||
```text
|
||||
|
||||
DO WHAT THE FUCK YOU WANT TO PUBLIC LICENSE
|
||||
Version 2, December 2004
|
||||
|
||||
|
@ -360,3 +78,4 @@ http://minetest.net/
|
|||
TERMS AND CONDITIONS FOR COPYING, DISTRIBUTION AND MODIFICATION
|
||||
|
||||
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")
|
308
building.lua
|
@ -1,175 +1,171 @@
|
|||
minetest.register_node("darkage:glass", {
|
||||
description = "medieval Glass",
|
||||
drawtype = "glasslike",
|
||||
tiles = {"darkage_glass.png"},
|
||||
inventory_image = minetest.inventorycube("darkage_glass.png"),
|
||||
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(),
|
||||
})
|
||||
--[[
|
||||
This function registers the nodes and craft rezieps for the reinforce stuff
|
||||
* name: String which is used in description and as technical name (lower letters)
|
||||
* craftItem: the Item where the reinforce is crafted out of
|
||||
* nodedef: Nodedefinition table as used as in minetest.register_node()
|
||||
|
||||
minetest.register_node("darkage:glow_glass", {
|
||||
description = "medieval glow glass",
|
||||
drawtype = "glasslike",
|
||||
tiles = {"darkage_glass.png"},
|
||||
inventory_image = minetest.inventorycube("darkage_glass.png"),
|
||||
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(),
|
||||
})
|
||||
The Nodes are caled
|
||||
<modname>:reinforced_<name>
|
||||
<modname>:reinforced_<name>_slope
|
||||
<modname>:reinforced_<name>_arrow
|
||||
<modname>:reinforced_<name>_bars
|
||||
|
||||
minetest.register_craft({
|
||||
output = 'darkage:glow_glass 1',
|
||||
The modname is automatically the mod that currently calls this function.
|
||||
e.g. if you call darkage.register_reinforce from the mod medieval modname will be medieval
|
||||
]]
|
||||
function darkage.register_reinforce(name, craftItem, nodedef)
|
||||
assert(type(nodedef.tiles)=="table","ERRROR: nodedef.tiles have to be a table")
|
||||
assert(nodedef.tiles[1], "ERROR: "..dump(nodedef.tiles).." requires at least 1 entry")
|
||||
|
||||
if nodedef.groups then
|
||||
nodedef.groups["not_cuttable"] = 1;
|
||||
else
|
||||
nodedef.groups = {};
|
||||
nodedef.groups["not_cuttable"] = 1;
|
||||
end
|
||||
|
||||
local modname = minetest.get_current_modname();
|
||||
local tname = string.gsub(name:lower()," ", "_"); -- Technical name
|
||||
|
||||
-- Reinforced X
|
||||
local reinforced = table.copy(nodedef);
|
||||
local reinforced_tname = modname..":reinforced_"..tname
|
||||
reinforced.description = "Reinforced "..name
|
||||
for i,tile in ipairs(reinforced.tiles) do
|
||||
reinforced.tiles[i] = tile .."^darkage_reinforce.png"
|
||||
end
|
||||
|
||||
minetest.register_node(reinforced_tname, reinforced)
|
||||
|
||||
minetest.register_craft({
|
||||
output = reinforced_tname,
|
||||
recipe = {
|
||||
{'darkage:glass', '', ''},
|
||||
{'default:torch', '', ''},
|
||||
{'', '', ''},
|
||||
{"group:stick", craftItem, "group:stick"},
|
||||
{craftItem, "group:stick", craftItem},
|
||||
{"group:stick", craftItem, "group:stick"},
|
||||
}
|
||||
})
|
||||
|
||||
minetest.register_craft({
|
||||
output = 'darkage:glass 1',
|
||||
})
|
||||
-- Recycling
|
||||
minetest.register_craft({
|
||||
output = craftItem,
|
||||
recipe = {
|
||||
{'darkage:glow_glass'},
|
||||
{ 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_craft({
|
||||
output = 'darkage:glass 8',
|
||||
minetest.register_node(slope_tname, slope)
|
||||
|
||||
minetest.register_craft({
|
||||
output = slope_tname,
|
||||
recipe = {
|
||||
{'default:glass', 'default:steel_ingot', 'default:glass'},
|
||||
{'default:steel_ingot', 'default:glass', 'default:steel_ingot'},
|
||||
{'default:glass', 'default:steel_ingot', 'default:glass'},
|
||||
{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 }
|
||||
}
|
||||
})
|
||||
|
||||
minetest.register_node("darkage:reinforced_chalk", {
|
||||
description = "Reinforced Chalk",
|
||||
tiles = {"darkage_chalk.png^darkage_reinforce.png"},
|
||||
is_ground_content = true,
|
||||
-- Alias to convert old nodes
|
||||
minetest.register_alias(modname..":reinforced_"..tname.."_right", slope_tname)
|
||||
minetest.register_alias(modname..":reinforced_"..tname.."_left", slope_tname)
|
||||
|
||||
-- Arrow bar
|
||||
local arrow = table.copy(nodedef)
|
||||
local arrow_tname = modname..":reinforced_"..tname.."_arrow"
|
||||
arrow.paramtype2 = "facedir";
|
||||
arrow.description = "Reinforced "..name.." Arrow \nHint: use the screwdriver to rotate."
|
||||
local arrow_tile_extend = {"" , "" , --top ,down
|
||||
"^(darkage_reinforce_arrow.png^[transformR90)" , "^(darkage_reinforce_arrow.png^[transformR270)" , --right, left
|
||||
"^(darkage_reinforce_arrow.png^[transformR180)" , "^darkage_reinforce_arrow.png"} -- front, back
|
||||
for i=1,6 do
|
||||
local tile = arrow.tiles[i] or arrow.tiles[1]; -- There have to be at least one tile.
|
||||
arrow.tiles[i] = tile .. arrow_tile_extend[i]
|
||||
end
|
||||
minetest.register_node(arrow_tname, arrow)
|
||||
|
||||
minetest.register_craft({
|
||||
output = arrow_tname,
|
||||
recipe = {
|
||||
{craftItem, "group:stick", craftItem},
|
||||
{"group:stick", craftItem, "group:stick"},
|
||||
{"group:stick", craftItem, "group:stick"},
|
||||
}
|
||||
})
|
||||
-- Recycling
|
||||
minetest.register_craft({
|
||||
output = craftItem,
|
||||
recipe = {
|
||||
{ arrow_tname }
|
||||
}
|
||||
})
|
||||
|
||||
-- Reinforced Bars
|
||||
local bars = table.copy(nodedef)
|
||||
local bars_tname = modname..":reinforced_"..tname.."_bars"
|
||||
bars.description = name.." Bars"
|
||||
for i,tile in ipairs(bars.tiles) do
|
||||
bars.tiles[i] = tile .."^darkage_reinforce_bars.png"
|
||||
end
|
||||
minetest.register_node(bars_tname, bars)
|
||||
|
||||
minetest.register_craft({
|
||||
output = bars_tname,
|
||||
recipe = {
|
||||
{"group:stick", craftItem, "group:stick"},
|
||||
{"group:stick", craftItem, "group:stick"},
|
||||
{"group:stick", craftItem, "group:stick"},
|
||||
}
|
||||
})
|
||||
minetest.register_craft({
|
||||
output = craftItem,
|
||||
recipe = {
|
||||
{ bars_tname }
|
||||
}
|
||||
})
|
||||
end
|
||||
|
||||
darkage.register_reinforce("Chalk", "darkage:chalk_powder", {
|
||||
tiles = {"darkage_chalk.png"},
|
||||
groups = {cracky=3},
|
||||
sounds = default.node_sound_stone_defaults()
|
||||
})
|
||||
|
||||
minetest.register_node("darkage:reinforced_wood", {
|
||||
description = "Reinforced Wood",
|
||||
tiles = {"default_wood.png^darkage_reinforce.png"},
|
||||
is_ground_content = true,
|
||||
groups = {snappy=2,choppy=3,oddly_breakable_by_hand=3,flammable=3},
|
||||
darkage.register_reinforce("Wood", "default:wood", {
|
||||
tiles = {"default_wood.png"},
|
||||
groups = {snappy=2, choppy=3, flammable=3},
|
||||
sounds = default.node_sound_wood_defaults()
|
||||
})
|
||||
|
||||
minetest.register_node("darkage:reinforced_wood_right", {
|
||||
description = "Reinforced Wood Right",
|
||||
tiles = {"darkage_reinforced_wood_right.png"},
|
||||
is_ground_content = true,
|
||||
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'},
|
||||
}
|
||||
darkage.register_reinforce("Chalked Bricks", "darkage:chalked_bricks", {
|
||||
tiles = {"darkage_chalked_bricks.png"},
|
||||
groups = {cracky = 2, stone = 1},
|
||||
sounds = default.node_sound_stone_defaults()
|
||||
})
|
||||
|
|
|
@ -1,2 +1,5 @@
|
|||
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.
|
170
furniture.lua
|
@ -6,7 +6,7 @@ minetest.register_node("darkage:chain", {
|
|||
wield_image = "darkage_chain.png",
|
||||
paramtype = "light",
|
||||
paramtype2 = "wallmounted",
|
||||
is_ground_content = true,
|
||||
is_ground_content = false,
|
||||
walkable = false,
|
||||
climbable = true,
|
||||
selection_box = {
|
||||
|
@ -15,31 +15,34 @@ minetest.register_node("darkage:chain", {
|
|||
--wall_bottom = = <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
|
||||
})
|
||||
|
||||
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",
|
||||
tiles = { 'darkage_box_top.png','darkage_box_top.png','darkage_box.png'},
|
||||
sunlight_propagates = false,
|
||||
paramtype = "light",
|
||||
paramtype2 = "facedir",
|
||||
walkable = true,
|
||||
groups = { snappy = 3 },
|
||||
tiles = { "darkage_box_top.png","darkage_box_top.png","darkage_box.png"},
|
||||
groups = { snappy = 3, not_cuttable=1 },
|
||||
sounds = default.node_sound_wood_defaults(),
|
||||
on_construct = function(pos)
|
||||
local meta = minetest.env:get_meta(pos)
|
||||
meta:set_string("formspec",
|
||||
"size[8,8]"..
|
||||
"list[current_name;main;0,0;8,3;]"..
|
||||
"list[current_player;main;0,4;8,4;]")
|
||||
local meta = minetest.get_meta(pos)
|
||||
meta:set_string("formspec", box_formspec )
|
||||
meta:set_string("infotext", "Box")
|
||||
local inv = meta:get_inventory()
|
||||
inv:set_size("main", 16)
|
||||
end,
|
||||
can_dig = function(pos,player)
|
||||
local meta = minetest.env:get_meta(pos);
|
||||
local meta = minetest.get_meta(pos);
|
||||
local inv = meta:get_inventory()
|
||||
return inv:is_empty("main")
|
||||
end,
|
||||
|
@ -57,32 +60,37 @@ minetest.register_node('darkage:box', {
|
|||
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",
|
||||
tiles = { 'darkage_shelves.png','darkage_shelves.png','darkage_shelves.png',
|
||||
'darkage_shelves.png','darkage_shelves.png','darkage_shelves_front.png'},
|
||||
sunlight_propagates = false,
|
||||
paramtype = "light",
|
||||
tiles = { "darkage_shelves.png","darkage_shelves.png","darkage_shelves.png",
|
||||
"darkage_shelves.png","darkage_shelves.png","darkage_shelves_front.png"},
|
||||
paramtype2 = "facedir",
|
||||
walkable = true,
|
||||
groups = { snappy = 3 },
|
||||
groups = { snappy = 3, not_cuttable=1 },
|
||||
sounds = default.node_sound_wood_defaults(),
|
||||
on_construct = function(pos)
|
||||
local meta = minetest.env:get_meta(pos)
|
||||
meta:set_string("formspec",
|
||||
"size[8,10]"..
|
||||
"list[context;up;0,0;8,3;]"..
|
||||
"list[context;down;0,3;8,3;]"..
|
||||
"list[current_player;main;0,6;8,4;]")
|
||||
local meta = minetest.get_meta(pos)
|
||||
meta:set_string("formspec", shelves_formspec)
|
||||
meta:set_string("infotext", "Wooden Shelves")
|
||||
local inv = meta:get_inventory()
|
||||
inv:set_size("up", 16)
|
||||
inv:set_size("down", 16)
|
||||
end,
|
||||
can_dig = function(pos,player)
|
||||
local meta = minetest.env:get_meta(pos);
|
||||
local meta = minetest.get_meta(pos);
|
||||
local inv = meta:get_inventory()
|
||||
return inv:is_empty("shape") and inv:is_empty("out") and inv:is_empty("water")
|
||||
return inv:is_empty("up") and inv:is_empty("down")
|
||||
end,
|
||||
on_metadata_inventory_move = function(pos, from_list, from_index, to_list, to_index, count, player)
|
||||
minetest.log("action", player:get_player_name()..
|
||||
|
@ -101,7 +109,7 @@ minetest.register_node('darkage:wood_shelves', {
|
|||
--minetest.register_node("darkage:rosace", {
|
||||
-- description = "Rose Window",
|
||||
-- tiles = {"darkage_rosace.png"},
|
||||
-- is_ground_content = true,
|
||||
-- is_ground_content = false,
|
||||
-- groups = {cracky=3},
|
||||
-- sounds = default.node_sound_stone_defaults()
|
||||
--})
|
||||
|
@ -112,22 +120,20 @@ minetest.register_node("darkage:iron_bars", {
|
|||
tiles = {"darkage_iron_bars.png"},
|
||||
inventory_image = "darkage_iron_bars.png",
|
||||
wield_image = "darkage_iron_bars.png",
|
||||
is_ground_content = true,
|
||||
is_ground_content = false,
|
||||
paramtype = "light",
|
||||
sunlight_propagates = true,
|
||||
groups = {cracky=3},
|
||||
groups = {cracky=3 , not_cuttable=1},
|
||||
sounds = default.node_sound_stone_defaults()
|
||||
})
|
||||
|
||||
minetest.register_node("darkage:lamp", {
|
||||
description = "Lamp",
|
||||
tiles = {
|
||||
"darkage_lamp.png"
|
||||
},
|
||||
tiles = { "darkage_lamp.png" },
|
||||
paramtype = "light",
|
||||
sunlight_propagates = true,
|
||||
light_source = LIGHT_MAX-1,
|
||||
groups = {snappy=2,cracky=3,oddly_breakable_by_hand=3,flammable=1},
|
||||
light_source = default.LIGHT_MAX-1,
|
||||
groups = {snappy=2, cracky=3, oddly_breakable_by_hand=3, flammable=1 , not_cuttable=1},
|
||||
sounds = default.node_sound_glass_defaults(),
|
||||
})
|
||||
|
||||
|
@ -137,10 +143,10 @@ minetest.register_node("darkage:iron_grille", {
|
|||
tiles = {"darkage_iron_grille.png"},
|
||||
inventory_image = "darkage_iron_grille.png",
|
||||
wield_image = "darkage_iron_grille.png",
|
||||
is_ground_content = true,
|
||||
is_ground_content = false,
|
||||
paramtype = "light",
|
||||
sunlight_propagates = true,
|
||||
groups = {cracky=3},
|
||||
groups = {cracky=3 , not_cuttable=1},
|
||||
sounds = default.node_sound_stone_defaults()
|
||||
})
|
||||
|
||||
|
@ -150,10 +156,10 @@ minetest.register_node("darkage:wood_bars", {
|
|||
tiles = {"darkage_wood_bars.png"},
|
||||
inventory_image = "darkage_wood_bars.png",
|
||||
wield_image = "darkage_wood_bars.png",
|
||||
is_ground_content = true,
|
||||
is_ground_content = false,
|
||||
paramtype = "light",
|
||||
sunlight_propagates = true,
|
||||
groups = {snappy=1,choppy=2},
|
||||
groups = {snappy=1, choppy=2, not_cuttable=1},
|
||||
sounds = default.node_sound_stone_defaults()
|
||||
})
|
||||
|
||||
|
@ -163,23 +169,23 @@ minetest.register_node("darkage:wood_grille", {
|
|||
tiles = {"darkage_wood_grille.png"},
|
||||
inventory_image = "darkage_wood_grille.png",
|
||||
wield_image = "darkage_wood_grille.png",
|
||||
is_ground_content = true,
|
||||
is_ground_content = false,
|
||||
paramtype = "light",
|
||||
sunlight_propagates = true,
|
||||
groups = {snappy=1,choppy=2},
|
||||
groups = {snappy=1, choppy=2, not_cuttable=1},
|
||||
sounds = default.node_sound_stone_defaults()
|
||||
})
|
||||
|
||||
minetest.register_node("darkage:wood_frame", {
|
||||
description = "Wooden Frame",
|
||||
drawtype = "glasslike",
|
||||
drawtype = "glasslike_framed",
|
||||
tiles = {"darkage_wood_frame.png"},
|
||||
inventory_image = "darkage_wood_frame.png",
|
||||
wield_image = "darkage_wood_frame.png",
|
||||
is_ground_content = true,
|
||||
is_ground_content = false,
|
||||
paramtype = "light",
|
||||
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()
|
||||
})
|
||||
|
||||
|
@ -193,82 +199,82 @@ minetest.register_node("darkage:wood_frame", {
|
|||
----------
|
||||
|
||||
minetest.register_craft({
|
||||
output = 'darkage:box',
|
||||
output = "darkage:box",
|
||||
recipe = {
|
||||
{'default:wood','','default:wood'},
|
||||
{'','',''},
|
||||
{'default:wood','','default:wood'},
|
||||
{"default:wood", "", "default:wood"},
|
||||
{"", "", ""},
|
||||
{"default:wood", "", "default:wood"},
|
||||
}
|
||||
})
|
||||
|
||||
minetest.register_craft({
|
||||
output = 'darkage:chain 2',
|
||||
output = "darkage:chain 2",
|
||||
recipe = {
|
||||
{'darkage:iron_stick'}, --changed reziep to avoid problems with ironbars - addi
|
||||
{'darkage:iron_stick'},
|
||||
{'darkage:iron_stick'},
|
||||
{"darkage:iron_stick"},
|
||||
{"darkage:iron_stick"},
|
||||
{"darkage:iron_stick"},
|
||||
}
|
||||
})
|
||||
|
||||
minetest.register_craft({
|
||||
output = 'darkage:iron_bars 2',
|
||||
output = "darkage:iron_bars 2",
|
||||
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", "", "darkage:iron_stick"},
|
||||
{"darkage:iron_stick", "", "darkage:iron_stick"},
|
||||
}
|
||||
})
|
||||
|
||||
minetest.register_craft({
|
||||
output = 'darkage:iron_grille 3',
|
||||
output = "darkage:iron_grille 3",
|
||||
recipe = {
|
||||
{'','darkage:iron_bars',''},
|
||||
{'darkage:iron_bars','','darkage:iron_bars'},
|
||||
{'','darkage:iron_bars',''},
|
||||
{"", "darkage:iron_bars", ""},
|
||||
{"darkage:iron_bars", "", "darkage:iron_bars"},
|
||||
{"", "darkage:iron_bars", ""},
|
||||
}
|
||||
})
|
||||
|
||||
minetest.register_craft({
|
||||
output = 'darkage:lamp',
|
||||
output = "darkage:lamp",
|
||||
recipe = {
|
||||
{'default:stick','','default:stick'},
|
||||
{'','default:torch',''},
|
||||
{'default:stick','','default:stick'},
|
||||
{"group:stick", "", "group:stick"},
|
||||
{"", "default:torch", ""},
|
||||
{"group:stick", "", "group:stick"},
|
||||
}
|
||||
})
|
||||
|
||||
minetest.register_craft({
|
||||
output = 'darkage:wood_bars 2',
|
||||
output = "darkage:wood_bars 2",
|
||||
recipe = {
|
||||
{'default:stick','','default:stick'},
|
||||
{'default:stick','','default:stick'},
|
||||
{'default:stick','','default:stick'},
|
||||
{"group:stick", "", "group:stick"},
|
||||
{"group:stick", "", "group:stick"},
|
||||
{"group:stick", "", "group:stick"},
|
||||
}
|
||||
})
|
||||
|
||||
minetest.register_craft({
|
||||
output = 'darkage:wood_grille 3',
|
||||
output = "darkage:wood_grille 3",
|
||||
recipe = {
|
||||
{'','darkage:wood_bars',''},
|
||||
{'darkage:wood_bars','','darkage:wood_bars'},
|
||||
{'','darkage:wood_bars',''},
|
||||
{"", "darkage:wood_bars", ""},
|
||||
{"darkage:wood_bars", "", "darkage:wood_bars"},
|
||||
{"", "darkage:wood_bars", ""},
|
||||
}
|
||||
})
|
||||
|
||||
minetest.register_craft({
|
||||
output = 'darkage:wood_shelves',
|
||||
output = "darkage:wood_shelves",
|
||||
recipe = {
|
||||
{'darkage:box'},
|
||||
{'darkage:box'},
|
||||
{"darkage:box"},
|
||||
{"darkage:box"},
|
||||
}
|
||||
})
|
||||
|
||||
minetest.register_craft({
|
||||
output = 'darkage:wood_frame',
|
||||
output = "darkage:wood_frame",
|
||||
recipe = {
|
||||
{'default:stick','','default:stick'},
|
||||
{'','default:glass',''},
|
||||
{'default:stick','','default:stick'},
|
||||
{"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
|
709
init.lua
|
@ -1,286 +1,23 @@
|
|||
print (" ---- Dark Age 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").."/compatibility.lua")
|
||||
--dofile(minetest.get_modpath("darkage").."/stairs.lua")
|
||||
dofile(minetest.get_modpath("darkage").."/stairsplus.lua")
|
||||
----------
|
||||
-- Items
|
||||
----------
|
||||
minetest.log("action"," ---- Dark Age Version 1.3 is Loading! ---- ")
|
||||
|
||||
minetest.register_node("darkage:adobe", {
|
||||
description = "Adobe",
|
||||
tiles = {"darkage_adobe.png"},
|
||||
is_ground_content = true,
|
||||
groups = {crumbly=3},
|
||||
sounds = default.node_sound_sand_defaults(),
|
||||
})
|
||||
darkage = {}; -- Create darkage namespace
|
||||
|
||||
minetest.register_node("darkage:basalt", {
|
||||
description = "Basalt",
|
||||
tiles = {"darkage_basalt.png"},
|
||||
is_ground_content = true,
|
||||
drop = 'darkage:basalt_cobble',
|
||||
groups = {cracky=3},
|
||||
sounds = default.node_sound_stone_defaults()
|
||||
})
|
||||
darkage.formbg = (default.gui_bg or "")..
|
||||
(default.gui_bg_img or "")..
|
||||
(default.gui_slots or "")
|
||||
|
||||
minetest.register_node("darkage:basalt_cobble", {
|
||||
description = "Basalt Cobble",
|
||||
tiles = {"darkage_basalt_cobble.png"},
|
||||
is_ground_content = true,
|
||||
groups = {cracky=3},
|
||||
sounds = default.node_sound_stone_defaults()
|
||||
})
|
||||
local MODPATH = minetest.get_modpath("darkage")..DIR_DELIM
|
||||
|
||||
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},
|
||||
sounds = default.node_sound_stone_defaults()
|
||||
})
|
||||
dofile(MODPATH.."nodes.lua")
|
||||
dofile(MODPATH.."glass.lua")
|
||||
dofile(MODPATH.."mapgen.lua")
|
||||
dofile(MODPATH.."building.lua")
|
||||
dofile(MODPATH.."furniture.lua")
|
||||
dofile(MODPATH.."aliases.lua")
|
||||
dofile(MODPATH.."walls.lua")
|
||||
|
||||
minetest.register_node("darkage:cobble_with_plaster", {
|
||||
description = "Cobblestone With Plaster",
|
||||
tiles = {"darkage_cobble_with_plaster_D.png", "darkage_cobble_with_plaster_B.png", "darkage_cobble_with_plaster_C.png",
|
||||
"darkage_cobble_with_plaster_A.png", "default_cobble.png", "darkage_chalk.png"},
|
||||
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'},
|
||||
}
|
||||
}
|
||||
}
|
||||
dofile(MODPATH.."stairs_functions.lua")
|
||||
dofile(MODPATH.."stairs.lua")
|
||||
|
||||
|
||||
---------------
|
||||
|
@ -311,170 +48,91 @@ minetest.register_craftitem("darkage:iron_stick", {
|
|||
-- Crafts
|
||||
----------
|
||||
|
||||
--sand+clay+water+straw
|
||||
|
||||
minetest.register_craft({
|
||||
output = 'darkage:adobe 4',
|
||||
output = "darkage:adobe 4",
|
||||
recipe = {
|
||||
{'default:sand','default:sand'},
|
||||
{'default:clay_lump','darkage:straw'},
|
||||
{"default:sand", "default:sand"},
|
||||
{"default:clay_lump", "farming:straw"},
|
||||
}
|
||||
})
|
||||
|
||||
|
||||
minetest.register_craft({
|
||||
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
|
||||
--[[
|
||||
Basalt
|
||||
]]
|
||||
minetest.register_craft({
|
||||
type = "cooking",
|
||||
output = "darkage:basalt",
|
||||
recipe = "darkage:basalt_cobble",
|
||||
recipe = "darkage:basalt_rubble",
|
||||
})
|
||||
|
||||
minetest.register_craft({
|
||||
type = "cooking",
|
||||
output = "default:desert_stone",
|
||||
recipe = "darkage:desert_stone_cobble",
|
||||
output = "darkage:basalt_rubble 4",
|
||||
recipe = {
|
||||
{"default:cobble", "default:cobble"},
|
||||
{"default:coal_lump", "default:coal_lump"},
|
||||
}
|
||||
})
|
||||
|
||||
minetest.register_craft({
|
||||
type = "cooking",
|
||||
output = "darkage:dry_leaves",
|
||||
recipe = "default:leaves",
|
||||
output = "darkage:basalt_brick 4",
|
||||
recipe = {
|
||||
{"darkage:basalt", "darkage:basalt"},
|
||||
{"darkage:basalt", "darkage:basalt"},
|
||||
}
|
||||
})
|
||||
|
||||
minetest.register_craft({
|
||||
type = "cooking",
|
||||
output = "darkage:sandstone_cobble",
|
||||
recipe = "default:sandstone",
|
||||
output = "darkage:basalt_block 9",
|
||||
recipe = {
|
||||
{"darkage:basalt", "darkage:basalt", "darkage:basalt"},
|
||||
{"darkage:basalt", "darkage:basalt", "darkage:basalt"},
|
||||
{"darkage:basalt", "darkage:basalt", "darkage:basalt"},
|
||||
}
|
||||
})
|
||||
|
||||
minetest.register_craft({
|
||||
output = "darkage:cobble_with_plaster 2",
|
||||
recipe = {
|
||||
{"default:cobble", "darkage:chalk_powder"},
|
||||
{"default:cobble", "darkage:chalk_powder"},
|
||||
}
|
||||
})
|
||||
|
||||
minetest.register_craft({
|
||||
output = "darkage:cobble_with_plaster 2",
|
||||
recipe = {
|
||||
{"darkage:chalk_powder", "default:cobble"},
|
||||
{"darkage:chalk_powder", "default:cobble"},
|
||||
}
|
||||
})
|
||||
|
||||
minetest.register_craft({
|
||||
output = "darkage:chalked_bricks_with_plaster 2",
|
||||
recipe = {
|
||||
{"darkage:chalked_bricks", "darkage:chalk_powder"},
|
||||
{"darkage:chalked_bricks", "darkage:chalk_powder"},
|
||||
}
|
||||
})
|
||||
|
||||
minetest.register_craft({
|
||||
output = "darkage:chalked_bricks_with_plaster 2",
|
||||
recipe = {
|
||||
{"darkage:chalk_powder", "darkage:chalked_bricks"},
|
||||
{"darkage:chalk_powder", "darkage:chalked_bricks"},
|
||||
}
|
||||
})
|
||||
|
||||
minetest.register_craft({
|
||||
output = "darkage:darkdirt 4",
|
||||
recipe = {
|
||||
{"default:dirt", "default:dirt"},
|
||||
{"default:gravel", "default:gravel"},
|
||||
}
|
||||
})
|
||||
|
||||
--[[
|
||||
Gneiss
|
||||
]]
|
||||
minetest.register_craft({
|
||||
type = "cooking",
|
||||
output = "darkage:gneiss",
|
||||
|
@ -484,20 +142,164 @@ minetest.register_craft({
|
|||
minetest.register_craft({
|
||||
type = "cooking",
|
||||
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({
|
||||
type = "cooking",
|
||||
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({
|
||||
type = "cooking",
|
||||
output = "darkage:sandstone_cobble",
|
||||
recipe = "default:sandstone",
|
||||
output = "darkage:dry_leaves",
|
||||
recipe = "default:leaves",
|
||||
})
|
||||
|
||||
minetest.register_craft({
|
||||
|
@ -521,21 +323,64 @@ minetest.register_craft({
|
|||
minetest.register_craft({
|
||||
type = "cooking",
|
||||
output = "darkage:slate",
|
||||
recipe = "darkage:slate_cobble",
|
||||
recipe = "darkage:slate_rubble",
|
||||
})
|
||||
|
||||
-- Desert
|
||||
minetest.register_craft({
|
||||
type = "cooking",
|
||||
output = "darkage:ors_cobble",
|
||||
output = "darkage:ors_brick",
|
||||
recipe = "default:desert_stone",
|
||||
})
|
||||
|
||||
-- Tuff
|
||||
minetest.register_craft({
|
||||
output = 'default:desert_stone 2',
|
||||
output = "darkage:tuff 2",
|
||||
recipe = {
|
||||
{'default:desert_sand','default:desert_sand'},
|
||||
{'default:desert_sand','default:desert_sand'},
|
||||
{"darkage:gneiss", "default:stone"},
|
||||
{"default:stone", "darkage:gneiss"},
|
||||
}
|
||||
})
|
||||
|
||||
minetest.register_craft({
|
||||
type = "cooking",
|
||||
output = "darkage:tuff",
|
||||
recipe = "darkage:tuff_rubble",
|
||||
})
|
||||
|
||||
minetest.register_craft({
|
||||
type = "cooking",
|
||||
output = "darkage:tuff",
|
||||
recipe = "darkage:old_tuff_bricks",
|
||||
})
|
||||
|
||||
minetest.register_craft({
|
||||
output = "darkage:tuff_bricks 4",
|
||||
recipe = {
|
||||
{"darkage:tuff", "darkage:tuff"},
|
||||
{"darkage:tuff", "darkage:tuff"},
|
||||
}
|
||||
})
|
||||
|
||||
-- Rhyolitic Tuff
|
||||
minetest.register_craft({
|
||||
output = "darkage:rhyolitic_tuff 2",
|
||||
recipe = {
|
||||
{"darkage:gneiss", "default:desert_stone"},
|
||||
{"default:desert_stone", "darkage:gneiss"},
|
||||
}
|
||||
})
|
||||
|
||||
minetest.register_craft({
|
||||
type = "cooking",
|
||||
output = "darkage:rhyolitic_tuff",
|
||||
recipe = "darkage:rhyolitic_tuff_rubble",
|
||||
})
|
||||
|
||||
minetest.register_craft({
|
||||
output = "darkage:rhyolitic_tuff_bricks 4",
|
||||
recipe = {
|
||||
{"darkage:rhyolitic_tuff", "darkage:rhyolitic_tuff"},
|
||||
{"darkage:rhyolitic_tuff", "darkage:rhyolitic_tuff"},
|
||||
}
|
||||
})
|
||||
|
|
374
mapgen.lua
|
@ -1,32 +1,50 @@
|
|||
|
||||
-- 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
|
||||
--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
|
||||
--seed random seed
|
||||
--stratus_chance inverse probability in a given radius 1:2, 1:3 etc
|
||||
--radius horizontal radius of the stratus
|
||||
--radius_y vertical radius of the stratus
|
||||
--deep how deep can be from the ground
|
||||
local function generate_stratus(name, wherein, ceilin, ceil, minp, maxp, seed, stratus_chance, radius, radius_y, deep, height_min, height_max)
|
||||
if maxp.y < height_min or minp.y > height_max then
|
||||
local function generate_stratus(data, area, name, c_wherein, ca_ceilin, minp, maxp, seed, stratus_chance, radius, radius_y, deep, y_min, y_max)
|
||||
if maxp.y < y_min
|
||||
or minp.y > y_max then
|
||||
return
|
||||
end
|
||||
|
||||
local c_node = minetest.get_content_id(name)
|
||||
|
||||
-- it will be only generate a stratus for every 100 m of area
|
||||
local stratus_per_volume=1
|
||||
local area=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 area_size = 45
|
||||
local y_min = math.max(minp.y, y_min)
|
||||
local y_max = math.min(maxp.y, y_max)
|
||||
local volume = ((maxp.x-minp.x+1)/area_size)*((y_max-y_min+1)/area_size)*((maxp.z-minp.z+1)/area_size)
|
||||
local pr = PseudoRandom(seed)
|
||||
local blocks = math.floor(stratus_per_volume*volume)
|
||||
print(" <<"..dump(name)..">>");
|
||||
minetest.log("info", " <<"..name..">>");
|
||||
if blocks == 0 then
|
||||
blocks = 1
|
||||
end
|
||||
print(" blocks: "..dump(blocks).." in vol: "..dump(volume).." ("..dump(maxp.x-minp.x+1)..","..dump(y_max-y_min+1)..","..dump(maxp.z-minp.z+1)..")")
|
||||
for i=1,blocks do
|
||||
local x = pr:next(1,stratus_chance)
|
||||
if x == 1 then
|
||||
minetest.log("info", string.format(" blocks: %d in vol: %d (%d,%d,%d)",
|
||||
blocks, volume, maxp.x-minp.x+1, y_max-y_min+1, maxp.z-minp.z+1))
|
||||
for i = 1,blocks do
|
||||
if pr:next(1,stratus_chance) == 1 then
|
||||
-- TODO deep
|
||||
local y0=y_max-radius_y+1
|
||||
if y0 < y_min then
|
||||
|
@ -46,88 +64,51 @@ local function generate_stratus(name, wherein, ceilin, ceil, minp, maxp, seed, s
|
|||
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 n = data[area:index(x0, y0, z0)]
|
||||
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
|
||||
|
||||
if ca_ceilin[n] 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
|
||||
local vi = area:index(x0, y0-1, z0)
|
||||
for y1 = y0-1,y_min,-1 do
|
||||
if data[vi] == c_wherein then
|
||||
y0 = math.max(y1-deep, y_min)
|
||||
break
|
||||
end
|
||||
vi = vi - area.ystride
|
||||
end
|
||||
local rx=pr:next(radius/2,radius)+1
|
||||
local rz=pr:next(radius/2,radius)+1
|
||||
local ry=pr:next(radius_y/2,radius_y)+1
|
||||
--print(" area of generation ("..dump(rx)..","..dump(rz)..","..dump(ry)..")")
|
||||
vi = area:index(x0, y0, z0)
|
||||
for x1=0,rx do
|
||||
rz = rz + 3 - pr:next(1,6)
|
||||
if rz < 1 then
|
||||
rz = 1
|
||||
end
|
||||
local vi = vi + x1
|
||||
rz = math.max(rz + 3 - pr:next(1,6), 1)
|
||||
for z1=pr:next(1,3),rz do
|
||||
local ry0=ry+ pr:next(1,3)
|
||||
for y1=pr:next(1,3),ry0 do
|
||||
local x2 = x0+x1
|
||||
local y2 = y0+y1
|
||||
local z2 = z0+z1
|
||||
local p2 = {x=x2, y=y2, z=z2}
|
||||
n = 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
|
||||
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
|
||||
print(" generated "..dump(i).." blocks in ("..dump(x0)..","..dump(y0)..","..dump(z0)..")")
|
||||
end
|
||||
|
||||
minetest.log("info", " generated "..i.." blocks in ("..x0..","..y0..","..z0..")")
|
||||
end
|
||||
end
|
||||
--print("generate_ore done")
|
||||
end
|
||||
|
||||
local function generate_claylike(name, minp, maxp, seed, chance, minh, maxh, dirt)
|
||||
local function generate_claylike(data, varea, name, minp, maxp, seed, chance, minh, maxh, needs_dirt)
|
||||
if maxp.y >= maxh+1 and minp.y <= minh-1 then
|
||||
local c_ore = minetest.get_content_id(name)
|
||||
local pr = PseudoRandom(seed)
|
||||
|
||||
local divlen = 4
|
||||
local divs = (maxp.x-minp.x)/divlen+1;
|
||||
for yy=minh,maxh do
|
||||
|
@ -137,30 +118,29 @@ local function generate_claylike(name, minp, maxp, seed, chance, minh, maxh, dir
|
|||
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 up = data[varea:index(cx,yy,cz)]
|
||||
local down = data[varea:index(cx,yy-1,cz)]
|
||||
if ( up == c_water or up == c_air ) and ( down == c_sand or (needs_dirt and (down == c_dirt or down == c_lawn ))) then
|
||||
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
|
||||
if data[varea:index(cx-divlen*2,yy,cz)] == c_water then
|
||||
num_water_around = num_water_around + 1
|
||||
end
|
||||
if is_shallow then
|
||||
if data[varea:index(cx+divlen*2,yy,cz)] == c_water then
|
||||
num_water_around = num_water_around + 1
|
||||
end
|
||||
if data[varea:index(cx,yy,cz-divlen*2)] == c_water then
|
||||
num_water_around = num_water_around + 1
|
||||
end
|
||||
if data[varea:index(cx,yy,cz+divlen*2)] == c_water then
|
||||
num_water_around = num_water_around + 1
|
||||
end
|
||||
if num_water_around < 3 then
|
||||
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})
|
||||
local i = varea:index(cx+x1,yy-1,cz+z1)
|
||||
local down = data[i]
|
||||
if down == c_sand or (needs_dirt and (down == c_dirt or down == c_lawn)) then
|
||||
data[i] = c_ore
|
||||
end
|
||||
end
|
||||
end
|
||||
|
@ -173,83 +153,153 @@ local function generate_claylike(name, minp, maxp, seed, chance, minh, maxh, dir
|
|||
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
|
||||
end
|
||||
local y_min = math.max(minp.y, height_min)
|
||||
local y_max = math.min(maxp.y, height_max)
|
||||
local volume = (maxp.x-minp.x+1)*(y_max-y_min+1)*(maxp.z-minp.z+1)
|
||||
local pr = PseudoRandom(seed)
|
||||
local num_chunks = math.floor(chunks_per_volume * volume)
|
||||
local inverse_chance = math.floor(chunk_size*chunk_size*chunk_size / ore_per_chunk)
|
||||
--print("generate_ore num_chunks: "..dump(num_chunks))
|
||||
for i=1,num_chunks do
|
||||
local y0 = pr:next(y_min, y_max-chunk_size+1)
|
||||
if y0 >= height_min and y0 <= height_max then
|
||||
local x0 = pr:next(minp.x, maxp.x-chunk_size+1)
|
||||
local z0 = pr:next(minp.z, maxp.z-chunk_size+1)
|
||||
local p0 = {x=x0, y=y0, z=z0}
|
||||
for x1=0,chunk_size-1 do
|
||||
for y1=0,chunk_size-1 do
|
||||
for z1=0,chunk_size-1 do
|
||||
if pr:next(1,inverse_chance) == 1 then
|
||||
local x2 = x0+x1
|
||||
local y2 = y0+y1
|
||||
local z2 = z0+z1
|
||||
local p2 = {x=x2, y=y2, z=z2}
|
||||
if minetest.env:get_node(p2).name == wherein then
|
||||
minetest.env:set_node(p2, {name=name})
|
||||
end
|
||||
end
|
||||
end
|
||||
end
|
||||
end
|
||||
end
|
||||
end
|
||||
--print("generate_ore done")
|
||||
end
|
||||
local seed = minetest.get_mapgen_setting("seed")
|
||||
|
||||
minetest.register_on_generated(function(minp, maxp, seed)
|
||||
-- Generate stratus
|
||||
print("DARKAGE: Generate stratus");
|
||||
generate_ore("darkage:desert_stone_with_iron", "default:desert_stone", minp, maxp, seed+0, 1/7/7/7, 3, 5, -15, 40)
|
||||
generate_claylike("darkage:mud", minp, maxp, seed+1, 4, 0, 2, 0)
|
||||
generate_claylike("darkage:silt", minp, maxp, seed+2, 4, -1, 1, 1)
|
||||
generate_stratus("darkage:chalk",
|
||||
{"default:stone"},
|
||||
{"default:stone","air"}, nil,
|
||||
minp, maxp, seed+3, 4, 25, 8, 0, -20, 50)
|
||||
generate_stratus("darkage:ors",
|
||||
{"default:stone"},
|
||||
{"default:stone","air","default:water_source"}, nil,
|
||||
minp, maxp, seed+4, 4, 25, 7, 50, -200, 500)
|
||||
generate_stratus("darkage:shale",
|
||||
{"default:stone"},
|
||||
{"default:stone","air"}, nil,
|
||||
|
||||
-- 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("darkage:slate",
|
||||
{"default:stone"},
|
||||
{"default:stone","air"}, nil,
|
||||
|
||||
generate_stratus(data, area, "darkage:slate",
|
||||
c_stone,
|
||||
stone_and_air_assoc,
|
||||
minp, maxp, seed+6, 6, 23, 5, 50, -500, 0)
|
||||
generate_stratus("darkage:schist",
|
||||
{"default:stone"},
|
||||
{"default:stone","air"}, nil,
|
||||
|
||||
generate_stratus(data, area, "darkage:schist",
|
||||
c_stone,
|
||||
stone_and_air_assoc,
|
||||
minp, maxp, seed+7, 6, 19, 6, 50, -31000, -10)
|
||||
generate_stratus("darkage:basalt",
|
||||
{"default:stone"},
|
||||
{"default:stone","air"}, nil,
|
||||
|
||||
generate_stratus(data, area, "darkage:basalt",
|
||||
c_stone,
|
||||
stone_and_air_assoc,
|
||||
minp, maxp, seed+8, 5, 20, 5, 20, -31000, -50)
|
||||
generate_stratus("darkage:marble",
|
||||
{"default:stone"},
|
||||
{"default:stone","air"}, nil,
|
||||
|
||||
generate_stratus(data, area, "darkage:marble",
|
||||
c_stone,
|
||||
stone_and_air_assoc,
|
||||
minp, maxp, seed+9, 4, 25, 6, 50, -31000, -75)
|
||||
generate_stratus("darkage:serpentine",
|
||||
{"default:stone"},
|
||||
{"default:stone","air"}, nil,
|
||||
|
||||
generate_stratus(data, area, "darkage:serpentine",
|
||||
c_stone,
|
||||
stone_and_air_assoc,
|
||||
minp, maxp, seed+10, 4, 28, 8, 50, -31000, -350)
|
||||
generate_stratus("darkage:gneiss",
|
||||
{"default:stone"},
|
||||
{"default:stone","air"}, nil,
|
||||
|
||||
generate_stratus(data, area, "darkage:gneiss",
|
||||
c_stone,
|
||||
stone_and_air_assoc,
|
||||
minp, maxp, seed+11, 4, 15, 5, 50, -31000, -250)
|
||||
end)
|
||||
|
||||
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",
|
||||
{cracky=3},
|
||||
{"darkage_slate_tale.png"},
|
||||
"Slate Tale"
|
||||
)
|
||||
-- Registration of Stairs (Alphabetical order)
|
||||
darkage.register_stairs("darkage:basalt")
|
||||
darkage.register_stairs("darkage:basalt_brick")
|
||||
darkage.register_stairs("darkage:basalt_rubble")
|
||||
darkage.register_stairs("darkage:chalked_bricks")
|
||||
darkage.register_stairs("darkage:gneiss")
|
||||
darkage.register_stairs("darkage:gneiss_brick")
|
||||
darkage.register_stairs("darkage:gneiss_rubble")
|
||||
darkage.register_stairs("darkage:marble")
|
||||
darkage.register_stairs("darkage:marble_tile")
|
||||
darkage.register_stairs("darkage:old_tuff_bricks")
|
||||
darkage.register_stairs("darkage:ors")
|
||||
darkage.register_stairs("darkage:ors_brick")
|
||||
darkage.register_stairs("darkage:ors_rubble")
|
||||
darkage.register_stairs("darkage:rhyolitic_tuff")
|
||||
darkage.register_stairs("darkage:rhyolitic_tuff_bricks")
|
||||
darkage.register_stairs("darkage:schist")
|
||||
darkage.register_stairs("darkage:serpentine")
|
||||
darkage.register_stairs("darkage:shale")
|
||||
darkage.register_stairs("darkage:slate")
|
||||
darkage.register_stairs("darkage:slate_brick")
|
||||
darkage.register_stairs("darkage:slate_rubble")
|
||||
darkage.register_stairs("darkage:slate_tile")
|
||||
darkage.register_stairs("darkage:stone_brick")
|
||||
darkage.register_stairs("darkage:straw_bale")
|
||||
darkage.register_stairs("darkage:tuff")
|
||||
darkage.register_stairs("darkage:tuff_bricks")
|
||||
|
||||
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 |