Version MFF.

This commit is contained in:
sys4-fr 2018-09-07 20:06:24 +02:00
parent dd37bb79de
commit 2e82270d0e
133 changed files with 1875 additions and 1575 deletions

163
.gitignore vendored Executable file
View File

@ -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

332
README.md Normal file → Executable file
View File

@ -1,298 +1,76 @@
=== DarkAge MOD for MINETEST-C55 === # Darkage mod for Minetest
by Master Gollum This mod adds some new blocks that allow pre-industrial looking buildings to be made.
Of course, feel free to use them for any other type of construction.
Introduction: This mod originally created by MasterGollum and is now maintained and being improved upon by addi and CraigyDavi.
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
It also provides more layers of stones. I tried not to turn mining in **Depends:** default, stairs?, stairsplus?
a rainbow, so don't expect to find them easily. There are two kinds of
materials, stones, that spawns in layers at different deep and clay
like materials (silt and mud) that you will find in water places.
Silt and Mud are more easy to find than stone layers, but if you find
one it will be a real mine, with all probability with hundreds of blocks.
I used mainly 4 square recipes to avoid collisions with other MODs, **License:** Code and textures, [WTFPL](http://www.wtfpl.net/txt/copying/)
anyway I have not checked all them, so it is possible that another
person is already using one or more of this combinations.
I also used Desert Sand and Desert Stone, because they almost are not **Installation:** Unzip the file and rename it to "darkage". Then move it to the mod directory.
used in the default version. Probably I will change this recipes in
next releases.
## Changelog
**Version Development**
Release Notes **Version 1.3**
Version 0.3 * Many, many craft recipe changes
* 29 Nodes + 3 Craft Items * New lamp texture
* Furniture and building decoration * New mud and mud lump texture
* Stone layers * Add some more stairs, fix existing stairs
* Fixes problems with light emmiting nodes
* Fix caves generating in blocks which are not ground content
* Remove textures32 folder, code cleanup
Version 0.2 **Version 1.2**
* 13 Nodes
* Sedimentary stones
Version 0.1 * Corrected Sounds of Stairs
* 6 Nodes * Updated mod to use new moreblocks API
* Added Serpentine Stairs
PS: This document has been structured as the README.txt of PilzAdam in **Version 1.1**
his Bed MOD.
How to install: * Fix spelling mistakes in README file
Unzip the archive an place it in minetest-base-directory/mods/minetest/ * Bug fix
if you have a windows client or a linux run-in-place client. If you * Rename slate_tale to slate_tile
have a linux system-wide instalation place it in * Remove unneeded code
~/.minetest/mods/minetest/. * Add marble tile
If you want to install this mod only in one world create the folder * Remove unneeded code
worldmods/ in your worlddirectory. * Capitalise a couple of descriptions
For further information or help see: * Add marble tile texture
http://wiki.minetest.com/wiki/Installing_Mods * Rename alias.lua to aliases.lua
Tunning: **Version 1.0.1**
Comments the following lines to remove what you don't like:
(To comment them just add -- at the beginning of their lines)
Stone Layers * Fixed broken init.lua
dofile(minetest.get_modpath("darkage").."/mapgen.lua")
The stones will not spawn in the map.
Furniture Nodes
dofile(minetest.get_modpath("darkage").."/furniture.lua")
Only pure stones will be provided.
**Version 1.0**
BUILDING NODES * Compatibility with stairsplus added
* Added new iron_stick item
* Added craft for iron stick
* Changed craft reciep of iron_bars to avoid conflicts with iron bars mod
* Changed craft recipe of chain to avoid conflicts with 3d furniture mod
* Changed craft recipe of darkage:stonebrick to avoid conflicts with moreblocks
* Disabled marble_tile
* Added darkage:glass
* Changed the sound_node_leaves_default to wood_default for boxes and wooden shelves
* Added craft recipe for chalk
* Improved the textures of reinforced wood and chalk
* Added another recipe for darkage straw
Adobe: Sand and Clay mixture with Straw to build houses or walls **Version 0.3**
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]
License:
Sourcecode: WTFPL (see below)
Graphics: WTFPL (see below)
See also:
http://minetest.net/
DO WHAT THE FUCK YOU WANT TO PUBLIC LICENSE
Version 2, December 2004
Copyright (C) 2004 Sam Hocevar <sam@hocevar.net>
Everyone is permitted to copy and distribute verbatim or modified
copies of this license document, and changing it is allowed as long
as the name is changed.
DO WHAT THE FUCK YOU WANT TO PUBLIC LICENSE
TERMS AND CONDITIONS FOR COPYING, DISTRIBUTION AND MODIFICATION
0. You just DO WHAT THE FUCK YOU WANT TO.
* 29 Nodes + 3 Craft Items
* Furniture and building decoration
* Stone layers
**Version 0.2**
* 13 Nodes
* Sedimentary stones
**Version 0.1**
* 6 Nodes

90
aliases.lua Executable file
View File

@ -0,0 +1,90 @@
-- darkage:desert_stone_cobble + stairs/slabs/microblocks -> default:desert_cobble + stairs/slabs/microblocks
minetest.register_alias("darkage:desert_stone_cobble","default:desert_cobble")
minetest.register_alias("darkage:stair_desert_stone_cobble_wall_half","default:stair_desert_cobble_wall_half")
minetest.register_alias("darkage:slab_desert_stone_cobble_inverted","default:slab_desert_cobble_inverted")
minetest.register_alias("darkage:stair_desert_stone_cobble_inverted","default:stair_desert_cobble_inverted")
minetest.register_alias("darkage:stair_desert_stone_cobble_outer","default:stair_desert_cobble_outer")
minetest.register_alias("darkage:slab_desert_stone_cobble_three_quarter_wall","default:slab_desert_cobble_three_quarter_wall")
minetest.register_alias("darkage:slab_desert_stone_cobble_quarter","default:slab_desert_cobble_quarter")
minetest.register_alias("darkage:slab_desert_stone_cobble","default:slab_desert_cobble")
minetest.register_alias("darkage:slab_desert_stone_cobble_quarter_inverted","default:slab_desert_cobble_quarter_inverted")
minetest.register_alias("darkage:stair_desert_stone_cobble_wall","default:stair_desert_cobble_wall")
minetest.register_alias("darkage:stair_desert_stone_cobble_outer_inverted","default:stair_desert_cobble_outer_inverted")
minetest.register_alias("darkage:stair_desert_stone_cobble_half","default:stair_desert_cobble_half")
minetest.register_alias("darkage:stair_desert_stone_cobble_wall_half_inverted","default:stair_desert_cobble_wall_half_inverted")
minetest.register_alias("darkage:micro_desert_stone_cobble_bottom","default:micro_desert_cobble_bottom")
minetest.register_alias("darkage:panel_desert_stone_cobble_bottom","default:panel_desert_cobble_bottom")
minetest.register_alias("darkage:stair_desert_stone_cobble_half_inverted","default:stair_desert_cobble_half_inverted")
minetest.register_alias("darkage:micro_desert_stone_cobble_top","default:micro_desert_cobble_top")
minetest.register_alias("darkage:slab_desert_stone_cobble_quarter_wall","default:slab_desert_cobble_quarter_wall")
minetest.register_alias("darkage:stair_desert_stone_cobble_right_half","default:stair_desert_cobble_right_half")
minetest.register_alias("darkage:stair_desert_stone_cobble_right_half_inverted","default:stair_desert_cobble_right_half_inverted")
minetest.register_alias("darkage:slab_desert_stone_cobble_three_quarter","default:slab_desert_cobble_three_quarter")
minetest.register_alias("darkage:panel_desert_stone_cobble_top","default:panel_desert_cobble_top")
minetest.register_alias("darkage:stair_desert_stone_cobble_inner","default:stair_desert_cobble_inner")
minetest.register_alias("darkage:stair_desert_stone_cobble","default:stair_desert_cobble")
minetest.register_alias("darkage:panel_desert_stone_cobble_vertical","default:panel_desert_cobble_vertical")
minetest.register_alias("darkage:stair_desert_stone_cobble_inner_inverted","default:stair_desert_cobble_inner_inverted")
minetest.register_alias("darkage:slab_desert_stone_cobble_three_quarter_inverted","default:slab_desert_cobble_three_quarter_inverted")
-- darkage:sandstone_cobble + stairs/slabs/microblocks -> default:sandstonebrick + stairs/slabs/microblocks
minetest.register_alias("darkage:sandstone_cobble","default:sandstonebrick")
minetest.register_alias("darkage:stair_sandstone_cobble_wall_half","default:stair_sandstonebrick_wall_half")
minetest.register_alias("darkage:slab_sandstone_cobble_inverted","default:slab_sandstonebrick_inverted")
minetest.register_alias("darkage:stair_sandstone_cobble_inverted","default:stair_sandstonebrick_inverted")
minetest.register_alias("darkage:stair_sandstone_cobble_outer","default:stair_sandstonebrick_outer")
minetest.register_alias("darkage:slab_sandstone_cobble_three_quarter_wall","default:slab_sandstonebrick_three_quarter_wall")
minetest.register_alias("darkage:slab_sandstone_cobble_quarter","default:slab_sandstonebrick_quarter")
minetest.register_alias("darkage:slab_sandstone_cobble","default:slab_sandstonebrick")
minetest.register_alias("darkage:slab_sandstone_cobble_quarter_inverted","default:slab_sandstonebrick_quarter_inverted")
minetest.register_alias("darkage:stair_sandstone_cobble_wall","default:stair_sandstonebrick_wall")
minetest.register_alias("darkage:stair_sandstone_cobble_outer_inverted","default:stair_sandstonebrick_outer_inverted")
minetest.register_alias("darkage:stair_sandstone_cobble_half","default:stair_sandstonebrick_half")
minetest.register_alias("darkage:stair_sandstone_cobble_wall_half_inverted","default:stair_sandstonebrick_wall_half_inverted")
minetest.register_alias("darkage:micro_sandstone_cobble_bottom","default:micro_sandstonebrick_bottom")
minetest.register_alias("darkage:panel_sandstone_cobble_bottom","default:panel_sandstonebrick_bottom")
minetest.register_alias("darkage:stair_sandstone_cobble_half_inverted","default:stair_sandstonebrick_half_inverted")
minetest.register_alias("darkage:micro_sandstone_cobble_top","default:micro_sandstonebrick_top")
minetest.register_alias("darkage:slab_sandstone_cobble_quarter_wall","default:slab_sandstonebrick_quarter_wall")
minetest.register_alias("darkage:stair_sandstone_cobble_right_half","default:stair_sandstonebrick_right_half")
minetest.register_alias("darkage:stair_sandstone_cobble_right_half_inverted","default:stair_sandstonebrick_right_half_inverted")
minetest.register_alias("darkage:slab_sandstone_cobble_three_quarter","default:slab_sandstonebrick_three_quarter")
minetest.register_alias("darkage:panel_sandstone_cobble_top","default:panel_sandstonebrick_top")
minetest.register_alias("darkage:stair_sandstone_cobble_inner","default:stair_sandstonebrick_inner")
minetest.register_alias("darkage:stair_sandstone_cobble","default:stair_sandstonebrick")
minetest.register_alias("darkage:panel_sandstone_cobble_vertical","default:panel_sandstonebrick_vertical")
minetest.register_alias("darkage:stair_sandstone_cobble_inner_inverted","default:stair_sandstonebrick_inner_inverted")
minetest.register_alias("darkage:slab_sandstone_cobble_three_quarter_inverted","default:slab_sandstonebrick_three_quarter_inverted")
-- darkage:slate_tale + stairs/slabs/microblocks -> darkage:slate_tile + stairs/slabs/microblocks
minetest.register_alias("darkage:slate_tile","darkage:slate_tale")
minetest.register_alias("darkage:slab_slate_tile_inverted","darkage:slab_slate_tale_inverted")
minetest.register_alias("darkage:slab_slate_tile_wall","darkage:slab_slate_tale_wall")
minetest.register_alias("darkage:slab_slate_tile_quarter","darkage:slab_slate_tale_quarter")
minetest.register_alias("darkage:slab_slate_tile_quarter_inverted","darkage:slab_slate_tale_quarter_inverted")
minetest.register_alias("darkage:slab_slate_tile_quarter_wall","darkage:slab_slate_tale_quarter_wall")
minetest.register_alias("darkage:slab_slate_tile_three_quarter","darkage:slab_slate_tale_three_quarter")
minetest.register_alias("darkage:slab_slate_tile_three_quarter_inverted","darkage:slab_slate_tale_three_quarter_inverted")
minetest.register_alias("darkage:slab_slate_tile_three_quarter_wall","darkage:slab_slate_tale_three_quarter_wall")
minetest.register_alias("darkage:stair_slate_tile_inverted","darkage:stair_slate_tale_inverted")
minetest.register_alias("darkage:stair_slate_tile_wall","darkage:stair_slate_tale_wall")
minetest.register_alias("darkage:stair_slate_tile_wall_half","darkage:stair_slate_tale_wall_half")
minetest.register_alias("darkage:stair_slate_tile_wall_half_inverted","darkage:stair_slate_tale_wall_half_inverted")
minetest.register_alias("darkage:stair_slate_tile_half","darkage:stair_slate_tale_half")
minetest.register_alias("darkage:stair_slate_tile_half_inverted","darkage:stair_slate_tale_half_inverted")
minetest.register_alias("darkage:stair_slate_tile_right_half","darkage:stair_slate_tale_right_half")
minetest.register_alias("darkage:stair_slate_tile_right_half_inverted","darkage:stair_slate_tale_right_half_inverted")
minetest.register_alias("darkage:stair_slate_tile_wall_half","darkage:stair_slate_tale_wall_half")
minetest.register_alias("darkage:stair_slate_tile_wall_half_inverted","darkage:stair_slate_tale_wall_half_inverted")
minetest.register_alias("darkage:stair_slate_tile_inner","darkage:stair_slate_tale_inner")
minetest.register_alias("darkage:stair_slate_tile_inner_inverted","darkage:stair_slate_tale_inner_inverted")
minetest.register_alias("darkage:stair_slate_tile_outer","darkage:stair_slate_tale_outer")
minetest.register_alias("darkage:stair_slate_tile_outer_inverted","darkage:stair_slate_tale_outer_inverted")
minetest.register_alias("darkage:panel_slate_tile_bottom","darkage:panel_slate_tale_bottom")
minetest.register_alias("darkage:panel_slate_tile_top","darkage:panel_slate_tale_top")
minetest.register_alias("darkage:panel_slate_tile_vertical","darkage:panel_slate_tale_vertical")
minetest.register_alias("darkage:micro_slate_tile_bottom","darkage:micro_slate_tale_bottom")
minetest.register_alias("darkage:micro_slate_tile_top","darkage:micro_slate_tale_top")
-- darkage:desert_stone_with_iron -> default:desert_stone
minetest.register_alias("darkage:desert_stone_with_iron","default:desert_stone")

View File

@ -1,98 +0,0 @@
minetest.register_node("darkage:reinforced_chalk", {
description = "Reinforced Chalk",
tiles = {"darkage_reinforced_chalk.png"},
is_ground_content = true,
groups = {cracky=3},
sounds = default.node_sound_stone_defaults()
})
minetest.register_node("darkage:reinforced_wood", {
description = "Reinforced Wood",
tiles = {"darkage_reinforced_wood.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_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_node("darkage:reinforced_wood", {
description = "Reinforced Wood",
tiles = {"darkage_reinforced_wood.png"},
is_ground_content = true,
groups = {snappy=2,choppy=3,oddly_breakable_by_hand=3,flammable=3},
sounds = default.node_sound_stone_defaults()
})
minetest.register_craft({
output = 'darkage:reinforced_chalk',
recipe = {
{'default:stick','','default:stick'},
{'','darkage:chalk',''},
{'default:stick','','default:stick'},
}
})
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'},
}
})

19
craftitems.lua Executable file
View File

@ -0,0 +1,19 @@
minetest.register_craftitem("darkage:chalk_powder", {
description = "Chalk Powder",
inventory_image = "darkage_chalk_powder.png",
})
minetest.register_craftitem("darkage:mud_lump", {
description = "Mud Lump",
inventory_image = "darkage_mud_lump.png",
})
minetest.register_craftitem("darkage:silt_lump", {
description = "Silt Lump",
inventory_image = "darkage_silt_lump.png",
})
minetest.register_craftitem("darkage:iron_stick", {
description = "Iron Stick",
inventory_image = "darkage_iron_stick.png",
})

416
crafts.lua Executable file
View File

@ -0,0 +1,416 @@
-- Naturally spawning blocks
minetest.register_craft({
output = "darkage:chalk",
recipe = {
{"darkage:chalk_powder","darkage:chalk_powder"},
{"darkage:chalk_powder","darkage:chalk_powder"},
}
})
minetest.register_craft({
output = "darkage:mud",
recipe = {
{"darkage:mud_lump","darkage:mud_lump"},
{"darkage:mud_lump","darkage:mud_lump"},
}
})
minetest.register_craft({
type = "cooking",
output = "darkage:shale",
recipe = "darkage:mud",
})
minetest.register_craft({
output = "darkage:silt 3",
recipe = {
{"default:sand","default:sand"},
{"default:clay_lump","default:clay_lump"},
}
})
minetest.register_craft({
output = "darkage:silt",
recipe = {
{"darkage:silt_lump","darkage:silt_lump"},
{"darkage:silt_lump","darkage:silt_lump"},
}
})
minetest.register_craft({
type = "cooking",
output = "darkage:gneiss",
recipe = "darkage:schist",
})
minetest.register_craft({
type = "cooking",
output = "darkage:slate",
recipe = "darkage:shale",
})
minetest.register_craft({
type = "cooking",
output = "darkage:mud 5",
recipe = "darkage:silt",
})
minetest.register_craft({
type = "cooking",
output = "darkage:slate",
recipe = "darkage:slate_cobble",
})
minetest.register_craft({
output = "darkage:ors 4",
recipe = {
{"default:sandstone","default:sandstone"},
{"default:iron_lump","default:sandstone"},
}
})
minetest.register_craft({
type = "cooking",
output = "darkage:ors",
recipe = "darkage:ors_cobble",
})
minetest.register_craft({
type = "cooking",
output = "darkage:gneiss",
recipe = "darkage:gneiss_cobble",
})
minetest.register_craft({
type = "cooking",
output = "darkage:basalt",
recipe = "darkage:basalt_cobble",
})
-- Cobble
-- Other Blocks
--if not farming:straw
if minetest.get_modpath("farming") == nil then
minetest.register_craft({
output = "darkage:straw 2",
recipe = {
{"default:dry_shrub","default:dry_shrub"},
{"default:dry_shrub","default:dry_shrub"},
}
})
minetest.register_craft({
output = "darkage:straw 2",
recipe = {
{"darkage:dry_leaves","darkage:dry_leaves"},
{"darkage:dry_leaves","darkage:dry_leaves"},
}
})
minetest.register_craft({
output = "darkage:straw_bale",
recipe = {
{"darkage:straw","darkage:straw"},
{"darkage:straw","darkage:straw"},
}
})
minetest.register_craft({
output = "darkage:adobe 4",
recipe = {
{"default:sand","default:sand"},
{"default:clay_lump","darkage:straw"},
}
})
else
minetest.register_craft({
output = "farming:straw 2",
recipe = {
{"default:dry_shrub","default:dry_shrub"},
{"default:dry_shrub","default:dry_shrub"},
}
})
minetest.register_craft({
output = "farming:straw 2",
recipe = {
{"darkage:dry_leaves","darkage:dry_leaves"},
{"darkage:dry_leaves","darkage:dry_leaves"},
}
})
minetest.register_craft({
output = "darkage:straw_bale",
recipe = {
{"farming:straw","farming:straw"},
{"farming:straw","farming:straw"},
}
})
minetest.register_craft({
output = "darkage:adobe 4",
recipe = {
{"default:sand","default:sand"},
{"default:clay_lump","farming:straw"},
}
})
end
minetest.register_craft({
output = "darkage:slate_tile 4",
recipe = {
{"darkage:slate","darkage:slate"},
{"darkage:slate","darkage:slate"},
{"darkage:adobe","darkage:adobe"},
}
})
minetest.register_craft({
output = "darkage:marble_tile 4",
recipe = {
{"darkage:marble","darkage:marble"},
{"darkage:marble","darkage:marble"},
{"darkage:adobe","darkage:adobe"},
}
})
minetest.register_craft({
output = "darkage:stone_brick 9",
recipe = {
{"default:cobble","default:cobble","default:cobble"},
{"default:cobble","default:cobble","default:cobble"},
{"default:cobble","default:cobble","default:cobble"},
}
})
minetest.register_craft({
output = "darkage:reinforced_chalk",
recipe = {
{"group:stick","","group:stick"},
{"","darkage:chalk",""},
{"group:stick","","group:stick"},
}
})
minetest.register_craft({
output = "darkage:lamp",
recipe = {
{"group:stick","","group:stick"},
{"","default:torch",""},
{"group:stick","","group:stick"},
}
})
minetest.register_craft({
output = "darkage:cobble_with_plaster 2",
recipe = {
{"default:cobble","darkage:chalk_powder"},
{"default:cobble","darkage:chalk_powder"},
}
})
minetest.register_craft({
output = "darkage:cobble_with_plaster 2",
recipe = {
{"darkage:chalk_powder","default:cobble"},
{"darkage:chalk_powder","default:cobble"},
}
})
minetest.register_craft({
output = "darkage:darkdirt 4",
recipe = {
{"default:dirt","default:dirt"},
{"default:gravel","default:gravel"},
}
})
minetest.register_craft({
type = "cooking",
output = "darkage:dry_leaves",
recipe = "default:leaves",
})
-- Storage blocks (boxes, shelves, ect.)
minetest.register_craft({
output = "darkage:box",
recipe = {
{"default:wood","","default:wood"},
{"","",""},
{"default:wood","","default:wood"},
}
})
minetest.register_craft({
output = "darkage:wood_shelves 2",
recipe = {
{"darkage:box"},
{"darkage:box"},
}
})
-- Glass / Glow Glass
minetest.register_craft({
output = "darkage:glass",
recipe = {
{"darkage:glow_glass"},
}
})
minetest.register_craft({
output = "darkage:glass 8",
recipe = {
{"default:glass", "default:steel_ingot", "default:glass"},
{"default:steel_ingot", "default:glass", "default:steel_ingot"},
{"default:glass", "default:steel_ingot", "default:glass"},
}
})
minetest.register_craft({
output = "darkage:glow_glass",
recipe = {
{"darkage:glass"},
{"default:torch"},
}
})
-- Reinforced Wood
minetest.register_craft({
output = "darkage:reinforced_wood",
recipe = {
{"group:stick","group:wood","group:stick"},
{"group:wood","group:wood","group:wood"},
{"group:stick","group:wood","group:stick"},
}
})
minetest.register_craft({
output = "darkage:reinforced_wood_left",
recipe = {
{"default:stick","darkage:reinforced_wood",""},
}
})
minetest.register_craft({
output = "darkage:reinforced_wood_right",
recipe = {
{"","darkage:reinforced_wood","default:stick"},
}
})
-- Wood based deco items
minetest.register_craft({
output = "darkage:wood_bars 2",
recipe = {
{"default:stick","","default:stick"},
{"default:stick","","default:stick"},
{"default:stick","","default:stick"},
}
})
minetest.register_craft({
output = "darkage:wood_grille 2",
recipe = {
{"","darkage:wood_bars",""},
{"darkage:wood_bars","","darkage:wood_bars"},
{"","darkage:wood_bars",""},
}
})
minetest.register_craft({
output = "darkage:wood_frame",
recipe = {
{"group:stick","","group:stick"},
{"","group:wood",""},
{"group:stick","","group:stick"},
}
})
-- Metal based deco items
minetest.register_craft({
output = "darkage:chain 2",
recipe = {
{"darkage:iron_stick"},
{"darkage:iron_stick"},
{"darkage:iron_stick"},
}
})
minetest.register_craft({
output = "darkage:iron_bars 2",
recipe = {
{"darkage:iron_stick","","darkage:iron_stick"},
{"darkage:iron_stick","","darkage:iron_stick"},
{"darkage:iron_stick","","darkage:iron_stick"},
}
})
minetest.register_craft({
output = "darkage:iron_grille 2",
recipe = {
{"","darkage:iron_bars",""},
{"darkage:iron_bars","","darkage:iron_bars"},
{"","darkage:iron_bars",""},
}
})
-- Craft items
minetest.register_craft({
output = "darkage:chalk_powder 4",
recipe = {
{"darkage:chalk"},
}
})
minetest.register_craft({
output = "darkage:mud_lump 4",
recipe = {
{"darkage:mud"},
}
})
minetest.register_craft({
output = "darkage:silt_lump 4",
recipe = {
{"darkage:silt"},
}
})
minetest.register_craft({
output = "darkage:iron_stick 3",
recipe = {
{"default:steel_ingot"},
{"default:steel_ingot"},
{"default:steel_ingot"},
}
})
-- Added
minetest.register_craft({
output = "darkage:ors_brick 4",
--type = "shapeless",
recipe = {
{"darkage:ors","darkage:ors"},
{"darkage:ors","darkage:ors"},
}
})
minetest.register_craft({
output = "darkage:slate_brick 4",
--type = "shapeless",
recipe = {
{"darkage:slate","darkage:slate"},
{"darkage:slate","darkage:slate"},
}
})
minetest.register_craft({
output = "darkage:basalt_brick 4",
--type = "shapeless",
recipe = {
{"darkage:basalt","darkage:basalt"},
{"darkage:basalt","darkage:basalt"},
}
})

6
depends.txt Normal file → Executable file
View File

@ -1,2 +1,4 @@
default default
farming?
stairs?
stairsplus?

View File

@ -1,283 +0,0 @@
minetest.register_node("darkage:chain", {
description = "Chain",
drawtype = "signlike",
tiles = {"darkage_chain.png"},
inventory_image = "darkage_chain.png",
wield_image = "darkage_chain.png",
paramtype = "light",
paramtype2 = "wallmounted",
is_ground_content = true,
walkable = false,
climbable = true,
selection_box = {
type = "wallmounted",
--wall_top = = <default>
--wall_bottom = = <default>
--wall_side = = <default>
},
groups = {snappy=1,cracky=2,oddly_breakable_by_hand=2},
legacy_wallmounted = true
})
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 },
sounds = default.node_sound_leaves_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;]")
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 inv = meta:get_inventory()
return inv:is_empty("main")
end,
on_metadata_inventory_move = function(pos, from_list, from_index, to_list, to_index, count, player)
minetest.log("action", player:get_player_name()..
" moves stuff in box at "..minetest.pos_to_string(pos))
end,
on_metadata_inventory_put = function(pos, listname, index, stack, player)
minetest.log("action", player:get_player_name()..
" moves stuff to box at "..minetest.pos_to_string(pos))
end,
on_metadata_inventory_take = function(pos, listname, index, stack, player)
minetest.log("action", player:get_player_name()..
" takes stuff from box at "..minetest.pos_to_string(pos))
end,
})
minetest.register_node('darkage:wood_shelves', {
description = "Wooden Shelves",
tiles = { 'darkage_shelves.png','darkage_shelves.png','darkage_shelves.png',
'darkage_shelves.png','darkage_shelves.png','darkage_shelves_front.png'},
sunlight_propagates = false,
paramtype = "light",
paramtype2 = "facedir",
walkable = true,
groups = { snappy = 3 },
sounds = default.node_sound_leaves_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;]")
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 inv = meta:get_inventory()
return inv:is_empty("shape") and inv:is_empty("out") and inv:is_empty("water")
end,
on_metadata_inventory_move = function(pos, from_list, from_index, to_list, to_index, count, player)
minetest.log("action", player:get_player_name()..
" moves stuff in shelves at "..minetest.pos_to_string(pos))
end,
on_metadata_inventory_put = function(pos, listname, index, stack, player)
minetest.log("action", player:get_player_name()..
" moves stuff to shelves at "..minetest.pos_to_string(pos))
end,
on_metadata_inventory_take = function(pos, listname, index, stack, player)
minetest.log("action", player:get_player_name()..
" takes stuff from shelves at "..minetest.pos_to_string(pos))
end,
})
--minetest.register_node("darkage:rosace", {
-- description = "Rose Window",
-- tiles = {"darkage_rosace.png"},
-- is_ground_content = true,
-- groups = {cracky=3},
-- sounds = default.node_sound_stone_defaults()
--})
minetest.register_node("darkage:iron_bars", {
description = "Iron Bars",
drawtype = "glasslike",
tiles = {"darkage_iron_bars.png"},
inventory_image = "darkage_iron_bars.png",
wield_image = "darkage_iron_bars.png",
is_ground_content = true,
paramtype = "light",
sunlight_propagates = true,
groups = {cracky=3},
sounds = default.node_sound_stone_defaults()
})
minetest.register_node("darkage:lamp", {
description = "Lamp",
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},
sounds = default.node_sound_glass_defaults(),
})
minetest.register_node("darkage:iron_grille", {
description = "Iron Grille",
drawtype = "glasslike",
tiles = {"darkage_iron_grille.png"},
inventory_image = "darkage_iron_grille.png",
wield_image = "darkage_iron_grille.png",
is_ground_content = true,
paramtype = "light",
sunlight_propagates = true,
groups = {cracky=3},
sounds = default.node_sound_stone_defaults()
})
minetest.register_node("darkage:wood_bars", {
description = "Wooden Bars",
drawtype = "glasslike",
tiles = {"darkage_wood_bars.png"},
inventory_image = "darkage_wood_bars.png",
wield_image = "darkage_wood_bars.png",
is_ground_content = true,
paramtype = "light",
sunlight_propagates = true,
groups = {snappy=1,choppy=2},
sounds = default.node_sound_stone_defaults()
})
minetest.register_node("darkage:wood_grille", {
description = "Wooden Grille",
drawtype = "glasslike",
tiles = {"darkage_wood_grille.png"},
inventory_image = "darkage_wood_grille.png",
wield_image = "darkage_wood_grille.png",
is_ground_content = true,
paramtype = "light",
sunlight_propagates = true,
groups = {snappy=1,choppy=2},
sounds = default.node_sound_stone_defaults()
})
minetest.register_node("darkage:wood_frame", {
description = "Wooden Frame",
drawtype = "glasslike",
tiles = {"darkage_wood_frame.png"},
inventory_image = "darkage_wood_frame.png",
wield_image = "darkage_wood_frame.png",
is_ground_content = true,
paramtype = "light",
sunlight_propagates = true,
groups = {snappy=1,choppy=2},
sounds = default.node_sound_stone_defaults()
})
---------------
-- Crafts Item
---------------
----------
-- Crafts
----------
minetest.register_craft({
output = 'darkage:box',
recipe = {
{'default:wood','','default:wood'},
{'','',''},
{'default:wood','','default:wood'},
}
})
minetest.register_craft({
output = 'darkage:chain 2',
recipe = {
{'default:steel_ingot'},
{'default:steel_ingot'},
{'default:steel_ingot'},
}
})
minetest.register_craft({
output = 'darkage:iron_bars 2',
recipe = {
{'default:steel_ingot','','default:steel_ingot'},
{'default:steel_ingot','','default:steel_ingot'},
{'default:steel_ingot','','default:steel_ingot'},
}
})
minetest.register_craft({
output = 'darkage:iron_grille 3',
recipe = {
{'','darkage:iron_bars',''},
{'darkage:iron_bars','','darkage:iron_bars'},
{'','darkage:iron_bars',''},
}
})
minetest.register_craft({
output = 'darkage:lamp',
recipe = {
{'default:stick','','default:stick'},
{'','default:torch',''},
{'default:stick','','default:stick'},
}
})
minetest.register_craft({
output = 'darkage:wood_bars 2',
recipe = {
{'default:stick','','default:stick'},
{'default:stick','','default:stick'},
{'default:stick','','default:stick'},
}
})
minetest.register_craft({
output = 'darkage:wood_grille 3',
recipe = {
{'','darkage:wood_bars',''},
{'darkage:wood_bars','','darkage:wood_bars'},
{'','darkage:wood_bars',''},
}
})
minetest.register_craft({
output = 'darkage:wood_shelves',
recipe = {
{'darkage:box'},
{'darkage:box'},
}
})
minetest.register_craft({
output = 'darkage:wood_frame',
recipe = {
{'default:stick','','default:stick'},
{'','default:glass',''},
{'default:stick','','default:stick'},
}
})
-- Cookings
minetest.register_craft({
type = "cooking",
output = "default:glass",
recipe = "darkage:wood_frame",
})

543
init.lua Normal file → Executable file
View File

@ -1,527 +1,16 @@
print (" ---- Dark Age is Loading! ---- ") ------------------------------------------------------
-- Commend this lines if you don't like some of this features -- Darkage mod by MasterGollum, addi and CraigyDavi --
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").."/nodes.lua")
dofile(minetest.get_modpath("darkage").."/stairs.lua") dofile(minetest.get_modpath("darkage").."/craftitems.lua")
dofile(minetest.get_modpath("darkage").."/crafts.lua")
---------- dofile(minetest.get_modpath("darkage").."/mapgen.lua")
-- Items dofile(minetest.get_modpath("darkage").."/stairs.lua")
---------- dofile(minetest.get_modpath("darkage").."/aliases.lua")
minetest.register_node("darkage:adobe", { --
description = "Adobe", -- Config
tiles = {"darkage_adobe.png"}, --
is_ground_content = true,
groups = {crumbly=3}, minetest.log ("Darkage [darkage] has loaded!")
sounds = default.node_sound_sand_defaults(),
})
minetest.register_node("darkage:basalt", {
description = "Basalt",
tiles = {"darkage_basalt.png"},
is_ground_content = true,
drop = 'darkage:basalt_cobble',
groups = {cracky=3},
sounds = default.node_sound_stone_defaults()
})
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()
})
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()
})
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", {
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'},
}
}
}
---------------
-- Crafts Items
---------------
minetest.register_craftitem("darkage:chalk_powder", {
description = "Chalk Powder",
inventory_image = "darkage_chalk_powder.png",
})
minetest.register_craftitem("darkage:mud_lump", {
description = "Mud Lump",
inventory_image = "darkage_mud_lump.png",
})
minetest.register_craftitem("darkage:silt_lump", {
description = "Silt Lump",
inventory_image = "darkage_silt_lump.png",
})
----------
-- Crafts
----------
--sand+clay+water+straw
minetest.register_craft({
output = 'darkage:adobe 4',
recipe = {
{'default:sand','default:sand'},
{'default:clay_lump','darkage: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 3',
recipe = {
{'default:cobble','default:cobble'},
{'default:cobble','default:cobble'},
}
})
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'},
}
})
-- Cookings
minetest.register_craft({
type = "cooking",
output = "darkage:basalt",
recipe = "darkage:basalt_cobble",
})
minetest.register_craft({
type = "cooking",
output = "default:desert_stone",
recipe = "darkage:desert_stone_cobble",
})
minetest.register_craft({
type = "cooking",
output = "darkage:dry_leaves",
recipe = "default:leaves",
})
minetest.register_craft({
type = "cooking",
output = "darkage:sandstone_cobble",
recipe = "default:sandstone",
})
minetest.register_craft({
type = "cooking",
output = "darkage:gneiss",
recipe = "darkage:schist",
})
minetest.register_craft({
type = "cooking",
output = "darkage:gneiss",
recipe = "darkage:gneiss_cobble",
})
minetest.register_craft({
type = "cooking",
output = "darkage:ors",
recipe = "darkage:ors_cobble",
})
minetest.register_craft({
type = "cooking",
output = "darkage:sandstone_cobble",
recipe = "default:sandstone",
})
minetest.register_craft({
type = "cooking",
output = "darkage:schist",
recipe = "darkage:slate",
})
minetest.register_craft({
type = "cooking",
output = "darkage:shale",
recipe = "darkage:mud",
})
minetest.register_craft({
type = "cooking",
output = "darkage:slate",
recipe = "darkage:shale",
})
minetest.register_craft({
type = "cooking",
output = "darkage:slate",
recipe = "darkage:slate_cobble",
})
-- Desert
minetest.register_craft({
type = "cooking",
output = "darkage:ors_cobble",
recipe = "default:desert_stone",
})
minetest.register_craft({
output = 'default:desert_stone 2',
recipe = {
{'default:desert_sand','default:desert_sand'},
{'default:desert_sand','default:desert_sand'},
}
})

556
mapgen.lua Normal file → Executable file
View File

@ -1,255 +1,301 @@
--Makes a stratus of rocks --[[
--name of the rock to generate This file generates:
--wherein kind of node to replace, for example default:stone darkage:mud
--minp, maxp the corners of the map to be generated darkage:silt
--seed random seed darkage:chalk
--stratus_chance inverse probability in a given radius 1:2, 1:3 etc darkage:ors
--radius horizontal radius of the stratus darkage:shale
--radius_y vertical radius of the stratus darkage:slate
--deep how deep can be from the ground darkage:schist
local function generate_stratus(name, wherein, ceilin, ceil, minp, maxp, seed, stratus_chance, radius, radius_y, deep, height_min, height_max) darkage:basalt
if maxp.y < height_min or minp.y > height_max then darkage:marble
return darkage:serpentine
end darkage:gneiss
-- it will be only generate a stratus for every 100 m of area --]]
local stratus_per_volume=1
local area=45 local getID = minetest.get_content_id
local y_min = math.max(minp.y, height_min)
local y_max = math.min(maxp.y, height_max) local function generate_stratus(data, varea, name, wherein, ceilin, ceil, minp, maxp, seed, stratus_chance, radius, radius_y, deep, height_min, height_max)
local volume = ((maxp.x-minp.x+1)/area)*((y_max-y_min+1)/area)*((maxp.z-minp.z+1)/area) local c_ore = getID(name)
local pr = PseudoRandom(seed) local c_wherein = {}
local blocks = math.floor(stratus_per_volume*volume) local c_ceilin = {}
print(" <<"..dump(name)..">>"); for k, v in ipairs(wherein) do
if blocks == 0 then c_wherein[k] = getID(v)
blocks = 1 end
end for k, v in ipairs(ceilin) do
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)..")") c_ceilin[k] = getID(v)
for i=1,blocks do end
local x = pr:next(1,stratus_chance) local c_ceil
if x == 1 then if ceil then
-- TODO deep c_ceil = getID(ceil)
local y0=y_max-radius_y+1 end
if y0 < y_min then
y0=y_min if maxp.y < height_min or minp.y > height_max then
else return
y0=pr:next(y_min, y0) end
end local stratus_per_volume = 1
local x0 = maxp.x-radius+1 local area = 45
if x0 < minp.x then local y_min = math.max(minp.y, height_min)
x0 = minp.x local y_max = math.min(maxp.y, height_max)
else local volume = ((maxp.x-minp.x+1)/area)*((y_max-y_min+1)/area)*((maxp.z-minp.z+1)/area)
x0 = pr:next(minp.x, x0) local pr = PseudoRandom(seed)
end local blocks = math.floor(stratus_per_volume*volume)
local z0 = maxp.z-radius+1 print(" <<"..dump(name)..">>");
if z0 < minp.z then if blocks == 0 then
x0 = minp.z blocks = 1
else end
z0 = pr:next(minp.z, z0) 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)..")")
end for i=1,blocks do
local p0 = {x=x0, y=y0, z=z0} local x = pr:next(1,stratus_chance)
local n = minetest.env:get_node(p0).name if x == 1 then
local i = 0 local y0=y_max-radius_y+1
--print(" upper node "..n) if y0 < y_min then
x = 0 y0=y_min
for k, v in ipairs(ceilin) do else
if n == v then y0=pr:next(y_min, y0)
x = 1 end
break local x0 = maxp.x-radius+1
end if x0 < minp.x then
end x0 = minp.x
if x == 1 then else
-- search for the node to replace x0 = pr:next(minp.x, x0)
--print(" Searching nodes to replace from "..dump(y0-1).." to "..dump(y_min)) end
for y1=y0-1,y_min,-1 do local z0 = maxp.z-radius+1
p0.y=y1 if z0 < minp.z then
n = minetest.env:get_node(p0).name x0 = minp.z
x = 0 else
for k, v in ipairs(wherein) do z0 = pr:next(minp.z, z0)
if n == v then end
x = 1 local p0 = {x=x0, y=y0, z=z0}
break local n = data[varea:indexp(p0)]
end local i = 0
end x = 0
if x == 1 then for k, v in ipairs(c_ceilin) do
y0=y1-deep if n == v then
if y0 < y_min then x = 1
y0 = y_min break
end end
break end
end if x == 1 then
end for y1=y0-1,y_min,-1 do
local rx=pr:next(radius/2,radius)+1 p0.y=y1
local rz=pr:next(radius/2,radius)+1 n = data[varea:indexp(p0)]
local ry=pr:next(radius_y/2,radius_y)+1 x = 0
--print(" area of generation ("..dump(rx)..","..dump(rz)..","..dump(ry)..")") for k, v in ipairs(c_wherein) do
for x1=0,rx do if n == v then
rz = rz + 3 - pr:next(1,6) x = 1
if rz < 1 then break
rz = 1 end
end end
for z1=pr:next(1,3),rz do if x == 1 then
local ry0=ry+ pr:next(1,3) y0=y1-deep
for y1=pr:next(1,3),ry0 do if y0 < y_min then
local x2 = x0+x1 y0 = y_min
local y2 = y0+y1 end
local z2 = z0+z1 break
local p2 = {x=x2, y=y2, z=z2} end
n = minetest.env:get_node(p2).name end
x = 0 local rx=pr:next(radius/2,radius)+1
for k, v in ipairs(wherein) do local rz=pr:next(radius/2,radius)+1
if n == v then local ry=pr:next(radius_y/2,radius_y)+1
x = 1 for x1=0,rx do
break rz = rz + 3 - pr:next(1,6)
end if rz < 1 then
end rz = 1
if x == 1 then end
if ceil == nil then for z1=pr:next(1,3),rz do
minetest.env:set_node(p2, {name=name}) local ry0=ry+ pr:next(1,3)
i = i +1 for y1=pr:next(1,3),ry0 do
else local x2 = x0+x1
local p3 = {p2.x,p2.y+1,p2} local y2 = y0+y1
if minetest.env:get_node(p3).name == ceil then local z2 = z0+z1
minetest.env:set_node(p2, {name=name}) local p2 = {x=x2, y=y2, z=z2}
i = i +1 n = data[varea:indexp(p2)]
end x = 0
end for k, v in ipairs(c_wherein) do
end if n == v then
end x = 1
end break
end end
print(" generated "..dump(i).." blocks in ("..dump(x0)..","..dump(y0)..","..dump(z0)..")") end
end if x == 1 then
if c_ceil == nil then
end data[varea:indexp(p2)] = c_ore
end i = i +1
--print("generate_ore done") else
end local p3 = {p2.x,p2.y+1,p2}
if data[varea:indexp(p3)] == c_ceil then
local function generate_claylike(name, minp, maxp, seed, chance, minh, maxh, dirt) data[varea:indexp(p2)] = c_ore
if maxp.y >= maxh+1 and minp.y <= minh-1 then i = i +1
local pr = PseudoRandom(seed) end
local divlen = 4 end
local divs = (maxp.x-minp.x)/divlen+1; end
for yy=minh,maxh do end
local x = pr:next(1,chance) end
if x == 1 then end
for divx=0+1,divs-1-1 do print(" generated "..dump(i).." blocks in ("..dump(x0)..","..dump(y0)..","..dump(z0)..")")
for divz=0+1,divs-1-1 do end
local cx = minp.x + math.floor((divx+0.5)*divlen) end
local cz = minp.z + math.floor((divz+0.5)*divlen) end
local up = minetest.env:get_node({x=cx,y=yy,z=cz}).name end
local down = minetest.env:get_node({x=cx,y=yy-1,z=cz}).name
if ( up == "default:water_source" or up == "air" ) and local function generate_claylike(data, varea, name, minp, maxp, seed, chance, minh, maxh, dirt)
( down == "default:sand" or (dirt == 1 and (down == "default:dirt" or down == "default:dirt_with_grass" ))) then local c_ore = getID(name)
local is_shallow = true local c_sand = getID("default:sand")
local num_water_around = 0 local c_dirt = getID("default:dirt")
if minetest.env:get_node({x=cx-divlen*2,y=yy,z=cz}).name == "default:water_source" then local c_lawn = getID("default:dirt_with_grass")
num_water_around = num_water_around + 1 end local c_water = getID("default:water_source")
if minetest.env:get_node({x=cx+divlen*2,y=yy,z=cz}).name == "default:water_source" then local c_air = getID("air")
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 if maxp.y >= maxh+1 and minp.y <= minh-1 then
num_water_around = num_water_around + 1 end local pr = PseudoRandom(seed)
if minetest.env:get_node({x=cx,y=yy,z=cz+divlen*2}).name == "default:water_source" then local divlen = 4
num_water_around = num_water_around + 1 end local divs = (maxp.x-minp.x)/divlen+1;
if num_water_around >= 3 then for yy=minh,maxh do
is_shallow = false local x = pr:next(1,chance)
end if x == 1 then
if is_shallow then for divx=0+1,divs-1-1 do
for x1=-divlen,divlen do for divz=0+1,divs-1-1 do
for z1=-divlen,divlen do local cx = minp.x + math.floor((divx+0.5)*divlen)
local p={x=cx+x1,y=yy-1,z=cz+z1} local cz = minp.z + math.floor((divz+0.5)*divlen)
down = minetest.env:get_node(p).name local up = data[varea:index(cx,yy,cz)]
if down == "default:sand" or (dirt == 1 and (down == "default:dirt" or down == "default:dirt_with_grass")) then local down = data[varea:index(cx,yy-1,cz)]
minetest.env:set_node(p, {name=name}) if ( up == c_water or up == c_air ) and ( down == c_sand or (dirt == 1 and (down == c_dirt or down == c_lawn ))) then
end local is_shallow = true
end local num_water_around = 0
end if data[varea:index(cx-divlen*2,yy,cz)] == c_water then
end num_water_around = num_water_around + 1
end end
end if data[varea:index(cx+divlen*2,yy,cz)] == c_water then
end num_water_around = num_water_around + 1
end end
end if data[varea:index(cx,yy,cz-divlen*2)] == c_water then
end num_water_around = num_water_around + 1
end end
if data[varea:index(cx,yy,cz+divlen*2)] == c_water then
local function generate_ore(name, wherein, minp, maxp, seed, chunks_per_volume, chunk_size, ore_per_chunk, height_min, height_max) num_water_around = num_water_around + 1
if maxp.y < height_min or minp.y > height_max then end
return if num_water_around >= 3 then
end is_shallow = false
local y_min = math.max(minp.y, height_min) end
local y_max = math.min(maxp.y, height_max) if is_shallow then
local volume = (maxp.x-minp.x+1)*(y_max-y_min+1)*(maxp.z-minp.z+1) for x1=-divlen,divlen do
local pr = PseudoRandom(seed) for z1=-divlen,divlen do
local num_chunks = math.floor(chunks_per_volume * volume) local p={x=cx+x1,y=yy-1,z=cz+z1}
local inverse_chance = math.floor(chunk_size*chunk_size*chunk_size / ore_per_chunk) down = data[varea:indexp(p)]
--print("generate_ore num_chunks: "..dump(num_chunks)) if down == c_sand or (dirt == 1 and (down == c_dirt or down == c_lawn)) then
for i=1,num_chunks do data[varea:indexp(p)] = c_ore
local y0 = pr:next(y_min, y_max-chunk_size+1) end
if y0 >= height_min and y0 <= height_max then end
local x0 = pr:next(minp.x, maxp.x-chunk_size+1) end
local z0 = pr:next(minp.z, maxp.z-chunk_size+1) end
local p0 = {x=x0, y=y0, z=z0} end
for x1=0,chunk_size-1 do end
for y1=0,chunk_size-1 do end
for z1=0,chunk_size-1 do end
if pr:next(1,inverse_chance) == 1 then end
local x2 = x0+x1 end
local y2 = y0+y1 end
local z2 = z0+z1
local p2 = {x=x2, y=y2, z=z2}
if minetest.env:get_node(p2).name == wherein then local function generate_ore(data, varea, name, wherein, minp, maxp, seed, chunks_per_volume, chunk_size, ore_per_chunk, height_min, height_max)
minetest.env:set_node(p2, {name=name}) local c_ore = getID(name)
end local c_wherein = getID(wherein)
end
end if maxp.y < height_min or minp.y > height_max then
end return
end end
end local y_min = math.max(minp.y, height_min)
end local y_max = math.min(maxp.y, height_max)
--print("generate_ore done") local volume = (maxp.x-minp.x+1)*(y_max-y_min+1)*(maxp.z-minp.z+1)
end local pr = PseudoRandom(seed)
local num_chunks = math.floor(chunks_per_volume * volume)
minetest.register_on_generated(function(minp, maxp, seed) local inverse_chance = math.floor(chunk_size*chunk_size*chunk_size / ore_per_chunk)
-- Generate stratus for i=1,num_chunks do
print("DARKAGE: Generate stratus"); local y0 = pr:next(y_min, y_max-chunk_size+1)
generate_ore("darkage:desert_stone_with_iron", "default:desert_stone", minp, maxp, seed+0, 1/7/7/7, 3, 5, -15, 40) if y0 >= height_min and y0 <= height_max then
generate_claylike("darkage:mud", minp, maxp, seed+1, 4, 0, 2, 0) local x0 = pr:next(minp.x, maxp.x-chunk_size+1)
generate_claylike("darkage:silt", minp, maxp, seed+2, 4, -1, 1, 1) local z0 = pr:next(minp.z, maxp.z-chunk_size+1)
generate_stratus("darkage:chalk", local p0 = {x=x0, y=y0, z=z0}
{"default:stone"}, for x1=0,chunk_size-1 do
{"default:stone","air"}, nil, for y1=0,chunk_size-1 do
minp, maxp, seed+3, 4, 25, 8, 0, -20, 50) for z1=0,chunk_size-1 do
generate_stratus("darkage:ors", if pr:next(1,inverse_chance) == 1 then
{"default:stone"}, local x2 = x0+x1
{"default:stone","air","default:water_source"}, nil, local y2 = y0+y1
minp, maxp, seed+4, 4, 25, 7, 50, -200, 500) local z2 = z0+z1
generate_stratus("darkage:shale", local p2 = {x=x2, y=y2, z=z2}
{"default:stone"}, local indexp2 = varea:indexp(p2)
{"default:stone","air"}, nil, if data[indexp2] == c_wherein then
minp, maxp, seed+5, 4, 23, 7, 50, -50, 20) data[indexp2] = c_ore
generate_stratus("darkage:slate", end
{"default:stone"}, end
{"default:stone","air"}, nil, end
minp, maxp, seed+6, 6, 23, 5, 50, -500, 0) end
generate_stratus("darkage:schist", end
{"default:stone"}, end
{"default:stone","air"}, nil, end
minp, maxp, seed+7, 6, 19, 6, 50, -31000, -10) end
generate_stratus("darkage:basalt",
{"default:stone"}, function darkage_mapgen(data, area, minp, maxp, seed) -- public function, to be used by Lua mapgens
{"default:stone","air"}, nil, if minp.y < -19600 then return end
minp, maxp, seed+8, 5, 20, 5, 20, -31000, -50) local t1 = os.clock()
generate_stratus("darkage:marble", generate_claylike(data, area, "darkage:mud", minp, maxp, seed+1, 4, 0, 2, 0)
{"default:stone"}, generate_claylike(data, area, "darkage:silt", minp, maxp, seed+2, 4, -1, 1, 1)
{"default:stone","air"}, nil, generate_stratus(data, area, "darkage:chalk",
minp, maxp, seed+9, 4, 25, 6, 50, -31000, -75) {"default:stone"},
generate_stratus("darkage:serpentine", {"default:stone","air"}, nil,
{"default:stone"}, minp, maxp, seed+3, 4, 25, 8, 0, -20, 50)
{"default:stone","air"}, nil, generate_stratus(data, area, "darkage:ors",
minp, maxp, seed+10, 4, 28, 8, 50, -31000, -350) {"default:stone"},
generate_stratus("darkage:gneiss", {"default:stone","air","default:water_source"}, nil,
{"default:stone"}, minp, maxp, seed+4, 4, 25, 7, 50, -200, 500)
{"default:stone","air"}, nil, generate_stratus(data, area, "darkage:shale",
minp, maxp, seed+11, 4, 15, 5, 50, -31000, -250) {"default:stone"},
end) {"default:stone","air"}, nil,
minp, maxp, seed+5, 4, 23, 7, 50, -50, 20)
generate_stratus(data, area, "darkage:slate",
{"default:stone"},
{"default:stone","air"}, nil,
minp, maxp, seed+6, 6, 23, 5, 50, -500, 0)
generate_stratus(data, area, "darkage:schist",
{"default:stone"},
{"default:stone","air"}, nil,
minp, maxp, seed+7, 6, 19, 6, 50, -31000, -10)
generate_stratus(data, area, "darkage:basalt",
{"default:stone"},
{"default:stone","air"}, nil,
minp, maxp, seed+8, 5, 20, 5, 20, -31000, -50)
generate_stratus(data, area, "darkage:marble",
{"default:stone"},
{"default:stone","air"}, nil,
minp, maxp, seed+9, 4, 25, 6, 50, -31000, -75)
generate_stratus(data, area, "darkage:serpentine",
{"default:stone"},
{"default:stone","air"}, nil,
minp, maxp, seed+10, 4, 28, 8, 50, -31000, -350)
generate_stratus(data, area, "darkage:gneiss",
{"default:stone"},
{"default:stone","air"}, nil,
minp, maxp, seed+11, 4, 15, 5, 50, -31000, -250)
print("DARKAGE: calculating time : " .. os.clock() - t1)
end
minetest.register_on_mapgen_init(function(mgparams)
if mgparams.mgname ~= "singlenode" then
minetest.register_on_generated(function(minp, maxp, seed)
if minp.y < -19600 then return end
local t0 = os.clock()
local vm, emin, emax = minetest.get_mapgen_object("voxelmanip")
local area = VoxelArea:new({MinEdge = emin, MaxEdge = emax})
local data = vm:get_data()
darkage_mapgen(data, area, minp, maxp, seed)
vm:set_data(data)
vm:write_to_map()
print("DARKAGE: total time taken : " .. os.clock() - t0)
end)
end
end)

460
nodes.lua Executable file
View File

@ -0,0 +1,460 @@
-- Naturally spawning blocks
minetest.register_node("darkage:chalk", {
description = "Chalk",
tiles = {"darkage_chalk.png"},
is_ground_content = true,
drop = "darkage:chalk_powder 4",
groups = {crumbly=2,cracky=2},
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:serpentine", {
description = "Serpentine",
tiles = {"darkage_serpentine.png"},
is_ground_content = true,
groups = {cracky=3},
sounds = default.node_sound_stone_defaults()
})
minetest.register_node("darkage:mud", {
description = "Mud",
tiles = {"darkage_mud_top.png", "darkage_mud.png"},
is_ground_content = true,
groups = {crumbly=3},
drop = "darkage:mud_lump 4",
sounds = default.node_sound_dirt_defaults({
footstep = "",
}),
})
minetest.register_node("darkage:schist", {
description = "Schist",
tiles = {"darkage_schist.png"},
is_ground_content = true,
groups = {cracky=3},
sounds = default.node_sound_stone_defaults()
})
minetest.register_node("darkage:shale", {
description = "Shale",
tiles = {"darkage_shale.png","darkage_shale.png","darkage_shale_side.png"},
is_ground_content = true,
groups = {crumbly=2,cracky=2},
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:ors", {
description = "Old Red Sandstone",
tiles = {"darkage_ors.png"},
is_ground_content = true,
drop = "darkage:ors_cobble",
groups = {crumbly=2,cracky=2},
sounds = default.node_sound_stone_defaults()
})
minetest.register_node("darkage:gneiss", {
description = "Gneiss",
tiles = {"darkage_gneiss.png"},
is_ground_content = true,
groups = {cracky=3},
drop = "darkage:gneiss_cobble",
sounds = default.node_sound_stone_defaults()
})
minetest.register_node("darkage:basalt", {
description = "Basalt",
tiles = {"darkage_basalt.png"},
is_ground_content = true,
drop = "darkage:basalt_cobble",
groups = {cracky=3},
sounds = default.node_sound_stone_defaults()
})
-- Cobble
minetest.register_node("darkage:slate_cobble", {
description = "Slate Cobble",
tiles = {"darkage_slate_cobble.png"},
groups = {cracky=2},
sounds = default.node_sound_stone_defaults()
})
minetest.register_node("darkage:ors_cobble", {
description = "Old Red Sandstone Cobble",
tiles = {"darkage_ors_cobble.png"},
groups = {crumbly=2,cracky=2},
sounds = default.node_sound_stone_defaults()
})
minetest.register_node("darkage:gneiss_cobble", {
description = "Gneiss Cobble",
tiles = {"darkage_gneiss_cobble.png"},
groups = {cracky=3},
sounds = default.node_sound_stone_defaults()
})
minetest.register_node("darkage:basalt_cobble", {
description = "Basalt Cobble",
tiles = {"darkage_basalt_cobble.png"},
groups = {cracky=3},
sounds = default.node_sound_stone_defaults()
})
-- Brick
minetest.register_node("darkage:slate_brick", {
description = "Slate Brick",
tiles = {"darkage_slate_brick.png"},
groups = {cracky=2},
sounds = default.node_sound_stone_defaults()
})
minetest.register_node("darkage:ors_brick", {
description = "Old Red Sandstone Brick",
tiles = {"darkage_ors_brick.png"},
groups = {crumbly=2,cracky=2},
sounds = default.node_sound_stone_defaults()
})
minetest.register_node("darkage:gneiss_brick", {
description = "Gneiss Brick",
tiles = {"darkage_gneiss_brick.png"},
groups = {cracky=3},
sounds = default.node_sound_stone_defaults()
})
minetest.register_node("darkage:basalt_brick", {
description = "Basalt Brick",
tiles = {"darkage_basalt_brick.png"},
groups = {cracky=3},
sounds = default.node_sound_stone_defaults()
})
minetest.register_node("darkage:stone_brick", {
description = "Stone Brick",
tiles = {"darkage_stone_brick.png"},
groups = {cracky=3},
sounds = default.node_sound_stone_defaults()
})
-- Other Blocks
--if not farming:straw
if minetest.get_modpath("farming") == nil then
minetest.register_node("darkage:straw", {
description = "Straw",
tiles = {"darkage_straw.png"},
groups = {snappy=3, flammable=2},
sounds = default.node_sound_leaves_defaults(),
})
minetest.register_node("darkage:straw_bale", {
description = "Straw Bale",
tiles = {"darkage_straw_bale.png"},
drop = "darkage:straw 4",
groups = {snappy=3, flammable=2},
sounds = default.node_sound_leaves_defaults(),
})
else
minetest.register_node("darkage:straw_bale", {
description = "Straw Bale",
tiles = {"darkage_straw_bale.png"},
drop = "farming:straw 4",
groups = {snappy=3, flammable=2},
sounds = default.node_sound_leaves_defaults(),
})
end
minetest.register_node("darkage:slate_tile", {
description = "Slate Tile",
tiles = {"darkage_slate_tile.png"},
groups = {cracky=2},
sounds = default.node_sound_stone_defaults()
})
minetest.register_node("darkage:marble_tile", {
description = "Marble Tile",
tiles = {"darkage_marble_tile.png"},
groups = {cracky=2},
sounds = default.node_sound_stone_defaults()
})
minetest.register_node("darkage:reinforced_chalk", {
description = "Reinforced Chalk",
tiles = {"darkage_chalk.png^darkage_reinforce.png"},
groups = {cracky=3},
sounds = default.node_sound_stone_defaults()
})
minetest.register_node("darkage:adobe", {
description = "Adobe",
tiles = {"darkage_adobe.png"},
groups = {crumbly=3},
sounds = default.node_sound_sand_defaults(),
})
minetest.register_node("darkage:lamp", {
description = "Lamp",
tiles = {"darkage_lamp.png"},
paramtype = "light",
light_source = default.LIGHT_MAX,
groups = {snappy=2,cracky=3,oddly_breakable_by_hand=3,flammable=1},
sounds = default.node_sound_glass_defaults(),
})
minetest.register_node("darkage:cobble_with_plaster", {
description = "Cobblestone With Plaster",
tiles = {"darkage_cobble_with_plaster_D.png", "darkage_cobble_with_plaster_B.png", "darkage_cobble_with_plaster_C.png",
"darkage_cobble_with_plaster_A.png", "default_cobble.png", "darkage_chalk.png"},
paramtype2 = "facedir",
drop = "default:cobble",
groups = {cracky=3},
sounds = default.node_sound_stone_defaults(),
})
minetest.register_node("darkage:darkdirt", {
description = "Dark Dirt",
tiles = {"darkage_darkdirt.png"},
groups = {crumbly=2},
sounds = default.node_sound_dirt_defaults(),
})
minetest.register_node("darkage:dry_leaves", {
description = "Dry Leaves",
tiles = {"darkage_dry_leaves.png"},
paramtype = "light",
groups = {snappy=3, flammable=2},
sounds = default.node_sound_leaves_defaults()
})
-- Storage blocks (boxes, shelves, ect.)
minetest.register_node("darkage:box", {
description = "Box",
tiles = { "darkage_box_top.png","darkage_box_top.png","darkage_box.png"},
paramtype = "light",
paramtype2 = "facedir",
walkable = true,
groups = { snappy = 3 },
sounds = default.node_sound_wood_defaults(),
on_construct = function(pos)
local meta = minetest.get_meta(pos)
meta:set_string("formspec",
"size[8,8]"..
"list[current_name;main;0,0;8,3;]"..
"list[current_player;main;0,4;8,4;]"..
"listring[current_name;main]" ..
"listring[current_player;main]")
meta:set_string("infotext", "Box")
local inv = meta:get_inventory()
inv:set_size("main", 16)
end,
can_dig = function(pos,player)
local meta = minetest.get_meta(pos);
local inv = meta:get_inventory()
return inv:is_empty("main")
end,
on_metadata_inventory_move = function(pos, from_list, from_index, to_list, to_index, count, player)
minetest.log("action", player:get_player_name()..
" moves stuff in box at "..minetest.pos_to_string(pos))
end,
on_metadata_inventory_put = function(pos, listname, index, stack, player)
minetest.log("action", player:get_player_name()..
" moves stuff to box at "..minetest.pos_to_string(pos))
end,
on_metadata_inventory_take = function(pos, listname, index, stack, player)
minetest.log("action", player:get_player_name()..
" takes stuff from box at "..minetest.pos_to_string(pos))
end,
})
minetest.register_node("darkage:wood_shelves", {
description = "Wooden Shelves",
tiles = { "darkage_shelves.png","darkage_shelves.png","darkage_shelves.png",
"darkage_shelves.png","darkage_shelves.png","darkage_shelves_front.png"},
paramtype = "light",
paramtype2 = "facedir",
walkable = true,
groups = {snappy = 3},
sounds = default.node_sound_wood_defaults(),
on_construct = function(pos)
local meta = minetest.get_meta(pos)
meta:set_string("formspec",
"size[8,10]"..
"list[context;up;0,0;8,3;]"..
"list[context;down;0,3;8,3;]"..
"list[current_player;main;0,6;8,4;]"..
"listring[context;down]"..
"listring[current_player;main]"..
"listring[context;up]"..
"listring[current_player;main]")
meta:set_string("infotext", "Wooden Shelves")
local inv = meta:get_inventory()
inv:set_size("up", 16)
inv:set_size("down", 16)
end,
can_dig = function(pos,player)
local meta = minetest.get_meta(pos);
local inv = meta:get_inventory()
return inv:is_empty("shape") and inv:is_empty("out") and inv:is_empty("water")
end,
on_metadata_inventory_move = function(pos, from_list, from_index, to_list, to_index, count, player)
minetest.log("action", player:get_player_name()..
" moves stuff in shelves at "..minetest.pos_to_string(pos))
end,
on_metadata_inventory_put = function(pos, listname, index, stack, player)
minetest.log("action", player:get_player_name()..
" moves stuff to shelves at "..minetest.pos_to_string(pos))
end,
on_metadata_inventory_take = function(pos, listname, index, stack, player)
minetest.log("action", player:get_player_name()..
" takes stuff from shelves at "..minetest.pos_to_string(pos))
end,
})
-- Glass / Glow Glass
minetest.register_node("darkage:glass", {
description = "Medieval Glass",
drawtype = "glasslike",
tiles = {"darkage_glass.png"},
paramtype = "light",
sunlight_propagates = true,
groups = {snappy=2,cracky=3,oddly_breakable_by_hand=3},
sounds = default.node_sound_glass_defaults(),
})
minetest.register_node("darkage:glow_glass", {
description = "Medieval Glow Glass",
drawtype = "glasslike",
tiles = {"darkage_glass.png"},
paramtype = "light",
light_source = default.LIGHT_MAX,
sunlight_propagates = true,
groups = {snappy=2,cracky=3,oddly_breakable_by_hand=3},
sounds = default.node_sound_glass_defaults(),
})
-- Reinforced Wood
minetest.register_node("darkage:reinforced_wood", {
description = "Reinforced Wood",
tiles = {"default_wood.png^darkage_reinforce.png"},
groups = {snappy=2,choppy=3,oddly_breakable_by_hand=3,flammable=3},
sounds = default.node_sound_wood_defaults()
})
minetest.register_node("darkage:reinforced_wood_left", {
description = "Reinforced Wood Left",
tiles = {"darkage_reinforced_wood_left.png"},
groups = {snappy=2,choppy=3,oddly_breakable_by_hand=3,flammable=3},
sounds = default.node_sound_wood_defaults()
})
minetest.register_node("darkage:reinforced_wood_right", {
description = "Reinforced Wood Right",
tiles = {"darkage_reinforced_wood_right.png"},
groups = {snappy=2,choppy=3,oddly_breakable_by_hand=3,flammable=3},
sounds = default.node_sound_wood_defaults()
})
-- Wood based deco items
minetest.register_node("darkage:wood_bars", {
description = "Wooden Bars",
drawtype = "glasslike",
tiles = {"darkage_wood_bars.png"},
inventory_image = "darkage_wood_bars.png",
wield_image = "darkage_wood_bars.png",
paramtype = "light",
sunlight_propagates = true,
groups = {snappy=1,choppy=2},
sounds = default.node_sound_stone_defaults()
})
minetest.register_node("darkage:wood_grille", {
description = "Wooden Grille",
drawtype = "glasslike",
tiles = {"darkage_wood_grille.png"},
inventory_image = "darkage_wood_grille.png",
wield_image = "darkage_wood_grille.png",
paramtype = "light",
sunlight_propagates = true,
groups = {snappy=1,choppy=2},
sounds = default.node_sound_stone_defaults()
})
minetest.register_node("darkage:wood_frame", {
description = "Wooden Frame",
drawtype = "glasslike",
tiles = {"darkage_wood_frame.png"},
inventory_image = "darkage_wood_frame.png",
wield_image = "darkage_wood_frame.png",
paramtype = "light",
sunlight_propagates = true,
groups = {snappy=1,choppy=2},
sounds = default.node_sound_stone_defaults()
})
-- Metal based deco items
minetest.register_node("darkage:chain", {
description = "Chain",
drawtype = "signlike",
tiles = {"darkage_chain.png"},
inventory_image = "darkage_chain.png",
wield_image = "darkage_chain.png",
paramtype = "light",
paramtype2 = "wallmounted",
walkable = false,
climbable = true,
selection_box = {
type = "wallmounted",
},
groups = {snappy=1,cracky=2,oddly_breakable_by_hand=2},
legacy_wallmounted = true
})
minetest.register_node("darkage:iron_bars", {
description = "Iron Bars",
drawtype = "glasslike",
tiles = {"darkage_iron_bars.png"},
inventory_image = "darkage_iron_bars.png",
wield_image = "darkage_iron_bars.png",
paramtype = "light",
sunlight_propagates = true,
groups = {cracky=3},
sounds = default.node_sound_stone_defaults()
})
minetest.register_node("darkage:iron_grille", {
description = "Iron Grille",
drawtype = "glasslike",
tiles = {"darkage_iron_grille.png"},
inventory_image = "darkage_iron_grille.png",
wield_image = "darkage_iron_grille.png",
paramtype = "light",
sunlight_propagates = true,
groups = {cracky=3},
sounds = default.node_sound_stone_defaults()
})

484
stairs.lua Normal file → Executable file
View File

@ -1,144 +1,362 @@
darkage = {} if stairsplus then
function darkage.register_stairs(modname, item, groups, images, description) stairsplus:register_all("darkage", "basalt", "darkage:basalt", {
local recipeitem = modname..":"..item description = "Basalt",
local itemname = modname..":stair_"..item tiles = {"darkage_basalt.png"},
minetest.register_node(itemname, { groups = {cracky=3},
description = description.." stair", sounds = default.node_sound_stone_defaults(),
drawtype = "nodebox", sunlight_propagates = true,
tiles = images, })
stairsplus:register_all("darkage", "marble", "darkage:marble", {
description = "Marble",
tiles = {"darkage_marble.png"},
groups = {cracky=3},
sounds = default.node_sound_stone_defaults(),
sunlight_propagates = true,
})
stairsplus:register_all("darkage", "serpentine", "darkage:serpentine", {
description = "Serpentine",
tiles = {"darkage_serpentine.png"},
groups = {cracky=3},
sounds = default.node_sound_stone_defaults(),
sunlight_propagates = true,
})
stairsplus:register_all("darkage", "ors", "darkage:ors", {
description = "Old Red Sandstone",
tiles = {"darkage_ors.png"},
groups = {crumbly=2,cracky=2},
sounds = default.node_sound_stone_defaults(),
sunlight_propagates = true,
})
stairsplus:register_all("darkage", "schist", "darkage:schist", {
description = "Schist",
tiles = {"darkage_schist.png"},
groups = {cracky=3},
sounds = default.node_sound_stone_defaults(),
sunlight_propagates = true,
})
stairsplus:register_all("darkage", "slate", "darkage:slate", {
description = "Slate",
tiles = {"darkage_slate.png"},
groups = {cracky=2},
sounds = default.node_sound_stone_defaults(),
sunlight_propagates = true,
})
stairsplus:register_all("darkage", "gneiss", "darkage:gneiss", {
description = "Gneiss",
tiles = {"darkage_gneiss.png"},
groups = {cracky=3},
sounds = default.node_sound_stone_defaults(),
sunlight_propagates = true,
})
stairsplus:register_all("darkage", "chalk", "darkage:chalk", {
description = "Chalk",
tiles = {"darkage_chalk.png"},
groups = {crumbly=2,cracky=2},
sounds = default.node_sound_stone_defaults(),
sunlight_propagates = true,
})
stairsplus:register_all("darkage", "slate_cobble", "darkage:slate_cobble", {
description = "Slate Cobble",
tiles = {"darkage_slate_cobble.png"},
groups = {cracky=2},
sounds = default.node_sound_stone_defaults(),
sunlight_propagates = true,
})
stairsplus:register_all("darkage", "ors_cobble", "darkage:ors_cobble", {
description = "Old Red Sandstone Cobble",
tiles = {"darkage_ors_cobble.png"},
groups = {crumbly=2,cracky=2},
sounds = default.node_sound_stone_defaults(),
sunlight_propagates = true,
})
stairsplus:register_all("darkage", "gneiss_cobble", "darkage:gneiss_cobble", {
description = "Gneiss Cobble",
tiles = {"darkage_gneiss_cobble.png"},
groups = {cracky=3},
sounds = default.node_sound_stone_defaults(),
sunlight_propagates = true,
})
stairsplus:register_all("darkage", "basalt_cobble", "darkage:basalt_cobble", {
description = "Basalt Cobble",
tiles = {"darkage_basalt_cobble.png"},
groups = {cracky=3},
sounds = default.node_sound_stone_defaults(),
sunlight_propagates = true,
})
--if not farming:straw
if minetest.get_modpath("farming") == nil then
stairsplus:register_all("darkage", "straw", "darkage:straw", {
description = "Straw",
tiles = {"darkage_straw.png"},
groups = {snappy=3, flammable=2},
sounds = default.node_sound_stone_defaults(),
sunlight_propagates = true,
})
else
stairsplus:register_all("darkage", "straw", "farming:straw", {
description = "Straw",
tiles = {"darkage_straw.png"},
groups = {snappy=3, flammable=2},
sounds = default.node_sound_stone_defaults(),
sunlight_propagates = true,
})
end
stairsplus:register_all("darkage", "straw_bale", "darkage:straw_bale", {
description = "Straw Bale",
tiles = {"darkage_straw_bale.png"},
groups = {snappy=2, flammable=2},
sounds = default.node_sound_stone_defaults(),
sunlight_propagates = true,
})
stairsplus:register_all("darkage", "slate_tile", "darkage:slate_tile", {
description = "Slate Tile",
tiles = {"darkage_slate_tile.png"},
groups = {cracky=2},
sounds = default.node_sound_stone_defaults(),
sunlight_propagates = true,
})
stairsplus:register_all("darkage", "marble_tile", "darkage:marble_tile", {
description = "Marble Tile",
tiles = {"darkage_marble_tile.png"},
groups = {cracky=2},
sounds = default.node_sound_stone_defaults(),
sunlight_propagates = true,
})
stairsplus:register_all("darkage", "stone_brick", "darkage:stone_brick", {
description = "Stone Brick",
tiles = {"darkage_stone_brick.png"},
groups = {cracky=3},
sounds = default.node_sound_stone_defaults(),
sunlight_propagates = true,
})
stairsplus:register_all("darkage", "reinforced_chalk", "darkage:reinforced_chalk", {
description = "Reinforced Chalk",
tiles = {"darkage_chalk.png^darkage_reinforce.png"},
groups = {cracky=3},
sounds = default.node_sound_stone_defaults(),
sunlight_propagates = true,
})
stairsplus:register_all("darkage", "glass", "darkage:glass", {
description = "Medieval Glass",
tiles = {"darkage_glass.png"},
groups = {snappy=2,cracky=3,oddly_breakable_by_hand=3},
sounds = default.node_sound_stone_defaults(),
sunlight_propagates = true,
})
stairsplus:register_all("darkage", "glow_glass", "darkage:glow_glass", {
description = "Medieval Glow Glass",
tiles = {"darkage_glass.png"},
paramtype = "light", paramtype = "light",
paramtype2 = "facedir", light_source = default.LIGHT_MAX,
is_ground_content = true, groups = {snappy=2,cracky=3,oddly_breakable_by_hand=3},
groups = groups, sounds = default.node_sound_stone_defaults(),
node_box = { sunlight_propagates = true,
type = "fixed",
fixed = {
{-0.5, -0.5, -0.5, 0.5, 0, 0.5},
{-0.5, 0, 0, 0.5, 0.5, 0.5},
},
},
}) })
minetest.register_craft({ stairsplus:register_all("darkage", "reinforced_wood", "darkage:reinforced_wood", {
output = itemname .. ' 4', description = "Reinforced Wood",
recipe = { tiles = {"default_wood.png^darkage_reinforce.png"},
{recipeitem, "", ""}, groups = {snappy=2,choppy=3,oddly_breakable_by_hand=3,flammable=3},
{recipeitem, recipeitem, ""}, sounds = default.node_sound_stone_defaults(),
{recipeitem, recipeitem, recipeitem}, sunlight_propagates = true,
},
}) })
-- Flipped recipe for the silly minecrafters elseif stairs then
minetest.register_craft({
output = itemname .. ' 4',
recipe = {
{"", "", recipeitem},
{"", recipeitem, recipeitem},
{recipeitem, recipeitem, recipeitem},
},
})
itemname=modname..":slab_" .. item stairs.register_stair_and_slab("basalt", "darkage:basalt",
{cracky=3},
{"darkage_basalt.png"},
"Basalt Stair",
"Basalt Slab",
default.node_sound_stone_defaults()
)
minetest.register_node(itemname, { stairs.register_stair_and_slab("marble", "darkage:marble",
description = description.." slab", {cracky=3},
drawtype = "nodebox", {"darkage_marble.png"},
tiles = images, "Marble Stair",
paramtype = "light", "Marble Slab",
is_ground_content = true, default.node_sound_stone_defaults()
groups = groups, )
node_box = {
type = "fixed",
fixed = {-0.5, -0.5, -0.5, 0.5, 0, 0.5},
},
selection_box = {
type = "fixed",
fixed = {-0.5, -0.5, -0.5, 0.5, 0, 0.5},
},
on_place = function(itemstack, placer, pointed_thing)
if pointed_thing.type ~= "node" then
return itemstack
end
-- If it's being placed on an another similar one, replace it with stairs.register_stair_and_slab("marble", "darkage:serpentine",
-- a full block {cracky=3},
local slabpos = nil {"darkage_serpentine.png"},
local slabnode = nil "Serpentine Stair",
local p0 = pointed_thing.under "Serpentine Slab",
local p1 = pointed_thing.above default.node_sound_stone_defaults()
local n0 = minetest.env:get_node(p0) )
local n1 = minetest.env:get_node(p1)
if n0.name == itemname then stairs.register_stair_and_slab("ors", "darkage:ors",
slabpos = p0 {crumbly=2,cracky=2},
slabnode = n0 {"darkage_ors.png"},
elseif n1.name == itemname then "Old Red Sandstone Stair",
slabpos = p1 "Old Red Sandstone Slab",
slabnode = n1 default.node_sound_stone_defaults()
end )
if slabpos then
-- Remove the slab at slabpos stairs.register_stair_and_slab("schist", "darkage:schist",
minetest.env:remove_node(slabpos) {cracky=3},
-- Make a fake stack of a single item and try to place it {"darkage_schist.png"},
local fakestack = ItemStack(recipeitem) "Schist Stair",
pointed_thing.above = slabpos "Schist Slab",
fakestack = minetest.item_place(fakestack, placer, pointed_thing) default.node_sound_stone_defaults()
-- If the item was taken from the fake stack, decrement original )
if not fakestack or fakestack:is_empty() then
itemstack:take_item(1) stairs.register_stair_and_slab("slate", "darkage:slate",
-- Else put old node back {cracky=2},
else {"darkage_slate.png"},
minetest.env:set_node(slabpos, slabnode) "Slate Stair",
end "Slate Slab",
return itemstack default.node_sound_stone_defaults()
end )
-- Otherwise place regularly stairs.register_stair_and_slab("gneiss", "darkage:gneiss",
return minetest.item_place(itemstack, placer, pointed_thing) {cracky=3},
end, {"darkage_gneiss.png"},
}) "Gneiss Stair",
"Gneiss Slab",
default.node_sound_stone_defaults()
)
stairs.register_stair_and_slab("chalk", "darkage:chalk",
{crumbly=2,cracky=2},
{"darkage_chalk.png"},
"Chalk Stair",
"Chalk Slab",
default.node_sound_stone_defaults()
)
stairs.register_stair_and_slab("slate_cobble", "darkage:slate_cobble",
{cracky=2},
{"darkage_slate_cobble.png"},
"Slate Cobble Stair",
"Slate Cobble Slab",
default.node_sound_stone_defaults()
)
stairs.register_stair_and_slab("ors_cobble", "darkage:ors_cobble",
{crumbly=2,cracky=2},
{"darkage_ors_cobble.png"},
"Old Red Sandstone Cobble Stair",
"Old Red Sandstone Cobble Slab",
default.node_sound_stone_defaults()
)
stairs.register_stair_and_slab("gneiss_cobble", "darkage:gneiss_cobble",
{crumbly=2,cracky=2},
{"darkage_gneiss_cobble.png"},
"Gneiss Cobble Stair",
"Gneiss Cobble Slab",
default.node_sound_stone_defaults()
)
stairs.register_stair_and_slab("basalt_cobble", "darkage:basalt_cobble",
{cracky=3},
{"darkage_basalt_cobble.png"},
"Basalt Cobble Stair",
"Basalt Cobble Slab",
default.node_sound_stone_defaults()
)
--if not farming:straw
if minetest.get_modpath("farming") == nil then
stairs.register_stair_and_slab("straw", "darkage:straw",
{snappy=3, flammable=2},
{"darkage_straw.png"},
"Straw Stair",
"Straw Slab",
default.node_sound_stone_defaults()
)
else
stairs.register_stair_and_slab("straw", "farming:straw",
{snappy=3, flammable=2},
{"darkage_straw.png"},
"Straw Stair",
"Straw Slab",
default.node_sound_stone_defaults()
)
end
stairs.register_stair_and_slab("straw_bale", "darkage:straw_bale",
{snappy=2, flammable=2},
{"darkage_straw_bale.png"},
"Straw Bale Stair",
"Straw Bale Slab",
default.node_sound_stone_defaults()
)
stairs.register_stair_and_slab("slate_tile", "darkage:slate_tile",
{cracky=2},
{"darkage_slate_tile.png"},
"Slate Tile Stair",
"Slate Tile Slab",
default.node_sound_stone_defaults()
)
stairs.register_stair_and_slab("marble_tile", "darkage:marble_tile",
{cracky=2},
{"darkage_marble_tile.png"},
"Marble Tile Stair",
"Marble Tile Slab",
default.node_sound_stone_defaults()
)
stairs.register_stair_and_slab("stone_brick", "darkage:stone_brick",
{cracky=3},
{"darkage_stone_brick.png"},
"Stone Brick Stair",
"Stone Brick Slab",
default.node_sound_stone_defaults()
)
stairs.register_stair_and_slab("reinforced_chalk", "darkage:reinforced_chalk",
{cracky=3},
{"darkage_chalk.png^darkage_reinforce.png"},
"Reinforced Chalk Stair",
"Reinforced Chalk Slab",
default.node_sound_stone_defaults()
)
stairs.register_stair_and_slab("glass", "darkage:glass",
{snappy=2,cracky=3,oddly_breakable_by_hand=3},
{"darkage_glass.png"},
"Medieval Glass Stair",
"Medieval Glass Slab",
default.node_sound_stone_defaults()
)
stairs.register_stair_and_slab("glow_glass", "darkage:glow_glass",
{snappy=2,cracky=3,oddly_breakable_by_hand=3},
{"darkage_glass.png"},
"Medieval Glow Glass Stair",
"Medieval Glow Glass Slab",
default.node_sound_stone_defaults()
)
stairs.register_stair_and_slab("reinforced_wood", "darkage:reinforced_wood",
{snappy=2,choppy=3,oddly_breakable_by_hand=3,flammable=3},
{"default_wood.png^darkage_reinforce.png"},
"Reinforced Wood Stair",
"Reinforced Wood Slab",
default.node_sound_stone_defaults()
)
minetest.register_craft({
output = itemname .. ' 3',
recipe = {
{recipeitem, recipeitem, recipeitem},
},
})
end 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"
)

BIN
textures/darkage_adobe.png Normal file → Executable file

Binary file not shown.

Before

Width:  |  Height:  |  Size: 684 B

After

Width:  |  Height:  |  Size: 592 B

BIN
textures/darkage_basalt.png Normal file → Executable file

Binary file not shown.

Before

Width:  |  Height:  |  Size: 601 B

After

Width:  |  Height:  |  Size: 388 B

BIN
textures/darkage_basalt_brick.png Executable file

Binary file not shown.

After

Width:  |  Height:  |  Size: 596 B

BIN
textures/darkage_basalt_cobble.png Normal file → Executable file

Binary file not shown.

Before

Width:  |  Height:  |  Size: 705 B

After

Width:  |  Height:  |  Size: 275 B

0
textures/darkage_box.png Normal file → Executable file
View File

Before

Width:  |  Height:  |  Size: 701 B

After

Width:  |  Height:  |  Size: 701 B

0
textures/darkage_box_top.png Normal file → Executable file
View File

Before

Width:  |  Height:  |  Size: 758 B

After

Width:  |  Height:  |  Size: 758 B

BIN
textures/darkage_chain.png Normal file → Executable file

Binary file not shown.

Before

Width:  |  Height:  |  Size: 230 B

After

Width:  |  Height:  |  Size: 164 B

0
textures/darkage_chalk.png Normal file → Executable file
View File

Before

Width:  |  Height:  |  Size: 686 B

After

Width:  |  Height:  |  Size: 686 B

0
textures/darkage_chalk_powder.png Normal file → Executable file
View File

Before

Width:  |  Height:  |  Size: 618 B

After

Width:  |  Height:  |  Size: 618 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 846 B

BIN
textures/darkage_cobble_with_plaster_A.png Normal file → Executable file

Binary file not shown.

Before

Width:  |  Height:  |  Size: 772 B

After

Width:  |  Height:  |  Size: 655 B

BIN
textures/darkage_cobble_with_plaster_B.png Normal file → Executable file

Binary file not shown.

Before

Width:  |  Height:  |  Size: 764 B

After

Width:  |  Height:  |  Size: 659 B

BIN
textures/darkage_cobble_with_plaster_C.png Normal file → Executable file

Binary file not shown.

Before

Width:  |  Height:  |  Size: 760 B

After

Width:  |  Height:  |  Size: 643 B

BIN
textures/darkage_cobble_with_plaster_D.png Normal file → Executable file

Binary file not shown.

Before

Width:  |  Height:  |  Size: 766 B

After

Width:  |  Height:  |  Size: 668 B

BIN
textures/darkage_darkdirt.png Normal file → Executable file

Binary file not shown.

Before

Width:  |  Height:  |  Size: 980 B

After

Width:  |  Height:  |  Size: 764 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 603 B

BIN
textures/darkage_dry_leaves.png Normal file → Executable file

Binary file not shown.

Before

Width:  |  Height:  |  Size: 446 B

After

Width:  |  Height:  |  Size: 177 B

BIN
textures/darkage_glass.png Executable file

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.2 KiB

0
textures/darkage_gneiss.png Normal file → Executable file
View File

Before

Width:  |  Height:  |  Size: 846 B

After

Width:  |  Height:  |  Size: 846 B

BIN
textures/darkage_gneiss_brick.png Executable file

Binary file not shown.

After

Width:  |  Height:  |  Size: 852 B

BIN
textures/darkage_gneiss_cobble.png Normal file → Executable file

Binary file not shown.

Before

Width:  |  Height:  |  Size: 951 B

After

Width:  |  Height:  |  Size: 762 B

0
textures/darkage_iron_bars.png Normal file → Executable file
View File

Before

Width:  |  Height:  |  Size: 619 B

After

Width:  |  Height:  |  Size: 619 B

BIN
textures/darkage_iron_grille.png Normal file → Executable file

Binary file not shown.

Before

Width:  |  Height:  |  Size: 577 B

After

Width:  |  Height:  |  Size: 548 B

BIN
textures/darkage_iron_stick.png Executable file

Binary file not shown.

After

Width:  |  Height:  |  Size: 115 B

BIN
textures/darkage_lamp.png Normal file → Executable file

Binary file not shown.

Before

Width:  |  Height:  |  Size: 747 B

After

Width:  |  Height:  |  Size: 640 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 358 B

BIN
textures/darkage_marble.png Normal file → Executable file

Binary file not shown.

Before

Width:  |  Height:  |  Size: 739 B

After

Width:  |  Height:  |  Size: 328 B

BIN
textures/darkage_marble_tile.png Executable file

Binary file not shown.

After

Width:  |  Height:  |  Size: 690 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 891 B

BIN
textures/darkage_mud.png Normal file → Executable file

Binary file not shown.

Before

Width:  |  Height:  |  Size: 596 B

After

Width:  |  Height:  |  Size: 312 B

BIN
textures/darkage_mud_lump.png Normal file → Executable file

Binary file not shown.

Before

Width:  |  Height:  |  Size: 210 B

After

Width:  |  Height:  |  Size: 653 B

BIN
textures/darkage_mud_top.png Executable file

Binary file not shown.

After

Width:  |  Height:  |  Size: 261 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 709 B

BIN
textures/darkage_ors.png Normal file → Executable file

Binary file not shown.

Before

Width:  |  Height:  |  Size: 819 B

After

Width:  |  Height:  |  Size: 725 B

BIN
textures/darkage_ors_brick.png Executable file

Binary file not shown.

After

Width:  |  Height:  |  Size: 733 B

BIN
textures/darkage_ors_cobble.png Normal file → Executable file

Binary file not shown.

Before

Width:  |  Height:  |  Size: 846 B

After

Width:  |  Height:  |  Size: 757 B

BIN
textures/darkage_reinforce.png Normal file → Executable file

Binary file not shown.

Before

Width:  |  Height:  |  Size: 805 B

After

Width:  |  Height:  |  Size: 686 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 813 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 809 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 717 B

BIN
textures/darkage_reinforced_wood_left.png Normal file → Executable file

Binary file not shown.

Before

Width:  |  Height:  |  Size: 716 B

After

Width:  |  Height:  |  Size: 457 B

BIN
textures/darkage_reinforced_wood_right.png Normal file → Executable file

Binary file not shown.

Before

Width:  |  Height:  |  Size: 669 B

After

Width:  |  Height:  |  Size: 485 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 902 B

BIN
textures/darkage_schist.png Normal file → Executable file

Binary file not shown.

Before

Width:  |  Height:  |  Size: 749 B

After

Width:  |  Height:  |  Size: 717 B

BIN
textures/darkage_serpentine.png Normal file → Executable file

Binary file not shown.

Before

Width:  |  Height:  |  Size: 777 B

After

Width:  |  Height:  |  Size: 390 B

0
textures/darkage_shale.png Normal file → Executable file
View File

Before

Width:  |  Height:  |  Size: 596 B

After

Width:  |  Height:  |  Size: 596 B

0
textures/darkage_shale_side.png Normal file → Executable file
View File

Before

Width:  |  Height:  |  Size: 663 B

After

Width:  |  Height:  |  Size: 663 B

BIN
textures/darkage_shelves.png Normal file → Executable file

Binary file not shown.

Before

Width:  |  Height:  |  Size: 716 B

After

Width:  |  Height:  |  Size: 643 B

0
textures/darkage_shelves_front.png Normal file → Executable file
View File

Before

Width:  |  Height:  |  Size: 590 B

After

Width:  |  Height:  |  Size: 590 B

BIN
textures/darkage_silt.png Normal file → Executable file

Binary file not shown.

Before

Width:  |  Height:  |  Size: 837 B

After

Width:  |  Height:  |  Size: 700 B

BIN
textures/darkage_silt_lump.png Normal file → Executable file

Binary file not shown.

Before

Width:  |  Height:  |  Size: 210 B

After

Width:  |  Height:  |  Size: 140 B

0
textures/darkage_slate.png Normal file → Executable file
View File

Before

Width:  |  Height:  |  Size: 503 B

After

Width:  |  Height:  |  Size: 503 B

BIN
textures/darkage_slate_brick.png Executable file

Binary file not shown.

After

Width:  |  Height:  |  Size: 541 B

BIN
textures/darkage_slate_cobble.png Normal file → Executable file

Binary file not shown.

Before

Width:  |  Height:  |  Size: 627 B

After

Width:  |  Height:  |  Size: 468 B

0
textures/darkage_slate_side.png Normal file → Executable file
View File

Before

Width:  |  Height:  |  Size: 546 B

After

Width:  |  Height:  |  Size: 546 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 596 B

BIN
textures/darkage_slate_tile.png Executable file

Binary file not shown.

After

Width:  |  Height:  |  Size: 231 B

BIN
textures/darkage_stone_brick.png Normal file → Executable file

Binary file not shown.

Before

Width:  |  Height:  |  Size: 497 B

After

Width:  |  Height:  |  Size: 440 B

BIN
textures/darkage_straw.png Normal file → Executable file

Binary file not shown.

Before

Width:  |  Height:  |  Size: 852 B

After

Width:  |  Height:  |  Size: 758 B

BIN
textures/darkage_straw_bale.png Normal file → Executable file

Binary file not shown.

Before

Width:  |  Height:  |  Size: 827 B

After

Width:  |  Height:  |  Size: 747 B

0
textures/darkage_wood_bars.png Normal file → Executable file
View File

Before

Width:  |  Height:  |  Size: 597 B

After

Width:  |  Height:  |  Size: 597 B

BIN
textures/darkage_wood_frame.png Normal file → Executable file

Binary file not shown.

Before

Width:  |  Height:  |  Size: 737 B

After

Width:  |  Height:  |  Size: 730 B

0
textures/darkage_wood_grille.png Normal file → Executable file
View File

Before

Width:  |  Height:  |  Size: 571 B

After

Width:  |  Height:  |  Size: 571 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 2.8 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 601 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 2.6 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 1.5 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 1.4 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 230 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 1.7 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 618 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 846 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 772 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 764 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 760 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 766 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 2.3 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 603 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 446 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 846 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 951 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 204 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 228 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 1.2 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 358 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 2.4 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 785 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 891 B

Some files were not shown because too many files have changed in this diff Show More