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 ===
by Master Gollum
# Darkage mod for Minetest
This mod adds some new blocks that allow pre-industrial looking buildings to be made.
Of course, feel free to use them for any other type of construction.
Introduction:
This mod adds a few new blocks that allows to create new buildings in a
pre industrial landscape. Of course, feel free to use them in any other
construction :P
This mod originally created by MasterGollum and is now maintained and being improved upon by addi and CraigyDavi.
It also provides more layers of stones. I tried not to turn mining in
a rainbow, so don't expect to find them easily. There are two kinds of
materials, stones, that spawns in layers at different deep and clay
like materials (silt and mud) that you will find in water places.
Silt and Mud are more easy to find than stone layers, but if you find
one it will be a real mine, with all probability with hundreds of blocks.
**Depends:** default, stairs?, stairsplus?
I used mainly 4 square recipes to avoid collisions with other MODs,
anyway I have not checked all them, so it is possible that another
person is already using one or more of this combinations.
**License:** Code and textures, [WTFPL](http://www.wtfpl.net/txt/copying/)
I also used Desert Sand and Desert Stone, because they almost are not
used in the default version. Probably I will change this recipes in
next releases.
**Installation:** Unzip the file and rename it to "darkage". Then move it to the mod directory.
## Changelog
**Version Development**
Release Notes
**Version 1.3**
Version 0.3
* 29 Nodes + 3 Craft Items
* Furniture and building decoration
* Stone layers
* Many, many craft recipe changes
* New lamp texture
* New mud and mud lump texture
* Add some more stairs, fix existing stairs
* Fixes problems with light emmiting nodes
* Fix caves generating in blocks which are not ground content
* Remove textures32 folder, code cleanup
Version 0.2
* 13 Nodes
* Sedimentary stones
**Version 1.2**
Version 0.1
* 6 Nodes
* Corrected Sounds of Stairs
* Updated mod to use new moreblocks API
* Added Serpentine Stairs
PS: This document has been structured as the README.txt of PilzAdam in
his Bed MOD.
**Version 1.1**
How to install:
Unzip the archive an place it in minetest-base-directory/mods/minetest/
if you have a windows client or a linux run-in-place client. If you
have a linux system-wide instalation place it in
~/.minetest/mods/minetest/.
If you want to install this mod only in one world create the folder
worldmods/ in your worlddirectory.
For further information or help see:
http://wiki.minetest.com/wiki/Installing_Mods
* Fix spelling mistakes in README file
* Bug fix
* Rename slate_tale to slate_tile
* Remove unneeded code
* Add marble tile
* Remove unneeded code
* Capitalise a couple of descriptions
* Add marble tile texture
* Rename alias.lua to aliases.lua
Tunning:
Comments the following lines to remove what you don't like:
(To comment them just add -- at the beginning of their lines)
**Version 1.0.1**
Stone Layers
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.
* Fixed broken init.lua
**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
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.
**Version 0.3**
* 29 Nodes + 3 Craft Items
* Furniture and building decoration
* Stone layers
**Version 0.2**
* 13 Nodes
* Sedimentary stones
**Version 0.1**
* 6 Nodes

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
dofile(minetest.get_modpath("darkage").."/mapgen.lua")
dofile(minetest.get_modpath("darkage").."/building.lua")
dofile(minetest.get_modpath("darkage").."/furniture.lua")
dofile(minetest.get_modpath("darkage").."/stairs.lua")
----------
-- Items
----------
minetest.register_node("darkage:adobe", {
description = "Adobe",
tiles = {"darkage_adobe.png"},
is_ground_content = true,
groups = {crumbly=3},
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'},
}
})
------------------------------------------------------
-- Darkage mod by MasterGollum, addi and CraigyDavi --
------------------------------------------------------
dofile(minetest.get_modpath("darkage").."/nodes.lua")
dofile(minetest.get_modpath("darkage").."/craftitems.lua")
dofile(minetest.get_modpath("darkage").."/crafts.lua")
dofile(minetest.get_modpath("darkage").."/mapgen.lua")
dofile(minetest.get_modpath("darkage").."/stairs.lua")
dofile(minetest.get_modpath("darkage").."/aliases.lua")
--
-- Config
--
minetest.log ("Darkage [darkage] has loaded!")

556
mapgen.lua Normal file → Executable file
View File

@ -1,255 +1,301 @@
--Makes a stratus of rocks
--name of the rock to generate
--wherein kind of node to replace, for example default:stone
--minp, maxp the corners of the map to be generated
--seed random seed
--stratus_chance inverse probability in a given radius 1:2, 1:3 etc
--radius horizontal radius of the stratus
--radius_y vertical radius of the stratus
--deep how deep can be from the ground
local function generate_stratus(name, wherein, ceilin, ceil, minp, maxp, seed, stratus_chance, radius, radius_y, deep, height_min, height_max)
if maxp.y < height_min or minp.y > height_max then
return
end
-- it will be only generate a stratus for every 100 m of area
local stratus_per_volume=1
local area=45
local y_min = math.max(minp.y, height_min)
local y_max = math.min(maxp.y, height_max)
local volume = ((maxp.x-minp.x+1)/area)*((y_max-y_min+1)/area)*((maxp.z-minp.z+1)/area)
local pr = PseudoRandom(seed)
local blocks = math.floor(stratus_per_volume*volume)
print(" <<"..dump(name)..">>");
if blocks == 0 then
blocks = 1
end
print(" blocks: "..dump(blocks).." in vol: "..dump(volume).." ("..dump(maxp.x-minp.x+1)..","..dump(y_max-y_min+1)..","..dump(maxp.z-minp.z+1)..")")
for i=1,blocks do
local x = pr:next(1,stratus_chance)
if x == 1 then
-- TODO deep
local y0=y_max-radius_y+1
if y0 < y_min then
y0=y_min
else
y0=pr:next(y_min, y0)
end
local x0 = maxp.x-radius+1
if x0 < minp.x then
x0 = minp.x
else
x0 = pr:next(minp.x, x0)
end
local z0 = maxp.z-radius+1
if z0 < minp.z then
x0 = minp.z
else
z0 = pr:next(minp.z, z0)
end
local p0 = {x=x0, y=y0, z=z0}
local n = minetest.env:get_node(p0).name
local i = 0
--print(" upper node "..n)
x = 0
for k, v in ipairs(ceilin) do
if n == v then
x = 1
break
end
end
if x == 1 then
-- search for the node to replace
--print(" Searching nodes to replace from "..dump(y0-1).." to "..dump(y_min))
for y1=y0-1,y_min,-1 do
p0.y=y1
n = minetest.env:get_node(p0).name
x = 0
for k, v in ipairs(wherein) do
if n == v then
x = 1
break
end
end
if x == 1 then
y0=y1-deep
if y0 < y_min then
y0 = y_min
end
break
end
end
local rx=pr:next(radius/2,radius)+1
local rz=pr:next(radius/2,radius)+1
local ry=pr:next(radius_y/2,radius_y)+1
--print(" area of generation ("..dump(rx)..","..dump(rz)..","..dump(ry)..")")
for x1=0,rx do
rz = rz + 3 - pr:next(1,6)
if rz < 1 then
rz = 1
end
for z1=pr:next(1,3),rz do
local ry0=ry+ pr:next(1,3)
for y1=pr:next(1,3),ry0 do
local x2 = x0+x1
local y2 = y0+y1
local z2 = z0+z1
local p2 = {x=x2, y=y2, z=z2}
n = minetest.env:get_node(p2).name
x = 0
for k, v in ipairs(wherein) do
if n == v then
x = 1
break
end
end
if x == 1 then
if ceil == nil then
minetest.env:set_node(p2, {name=name})
i = i +1
else
local p3 = {p2.x,p2.y+1,p2}
if minetest.env:get_node(p3).name == ceil then
minetest.env:set_node(p2, {name=name})
i = i +1
end
end
end
end
end
end
print(" generated "..dump(i).." blocks in ("..dump(x0)..","..dump(y0)..","..dump(z0)..")")
end
end
end
--print("generate_ore done")
end
local function generate_claylike(name, minp, maxp, seed, chance, minh, maxh, dirt)
if maxp.y >= maxh+1 and minp.y <= minh-1 then
local pr = PseudoRandom(seed)
local divlen = 4
local divs = (maxp.x-minp.x)/divlen+1;
for yy=minh,maxh do
local x = pr:next(1,chance)
if x == 1 then
for divx=0+1,divs-1-1 do
for divz=0+1,divs-1-1 do
local cx = minp.x + math.floor((divx+0.5)*divlen)
local cz = minp.z + math.floor((divz+0.5)*divlen)
local up = minetest.env:get_node({x=cx,y=yy,z=cz}).name
local down = minetest.env:get_node({x=cx,y=yy-1,z=cz}).name
if ( up == "default:water_source" or up == "air" ) and
( down == "default:sand" or (dirt == 1 and (down == "default:dirt" or down == "default:dirt_with_grass" ))) then
local is_shallow = true
local num_water_around = 0
if minetest.env:get_node({x=cx-divlen*2,y=yy,z=cz}).name == "default:water_source" then
num_water_around = num_water_around + 1 end
if minetest.env:get_node({x=cx+divlen*2,y=yy,z=cz}).name == "default:water_source" then
num_water_around = num_water_around + 1 end
if minetest.env:get_node({x=cx,y=yy,z=cz-divlen*2}).name == "default:water_source" then
num_water_around = num_water_around + 1 end
if minetest.env:get_node({x=cx,y=yy,z=cz+divlen*2}).name == "default:water_source" then
num_water_around = num_water_around + 1 end
if num_water_around >= 3 then
is_shallow = false
end
if is_shallow then
for x1=-divlen,divlen do
for z1=-divlen,divlen do
local p={x=cx+x1,y=yy-1,z=cz+z1}
down = minetest.env:get_node(p).name
if down == "default:sand" or (dirt == 1 and (down == "default:dirt" or down == "default:dirt_with_grass")) then
minetest.env:set_node(p, {name=name})
end
end
end
end
end
end
end
end
end
end
end
local function generate_ore(name, wherein, minp, maxp, seed, chunks_per_volume, chunk_size, ore_per_chunk, height_min, height_max)
if maxp.y < height_min or minp.y > height_max then
return
end
local y_min = math.max(minp.y, height_min)
local y_max = math.min(maxp.y, height_max)
local volume = (maxp.x-minp.x+1)*(y_max-y_min+1)*(maxp.z-minp.z+1)
local pr = PseudoRandom(seed)
local num_chunks = math.floor(chunks_per_volume * volume)
local inverse_chance = math.floor(chunk_size*chunk_size*chunk_size / ore_per_chunk)
--print("generate_ore num_chunks: "..dump(num_chunks))
for i=1,num_chunks do
local y0 = pr:next(y_min, y_max-chunk_size+1)
if y0 >= height_min and y0 <= height_max then
local x0 = pr:next(minp.x, maxp.x-chunk_size+1)
local z0 = pr:next(minp.z, maxp.z-chunk_size+1)
local p0 = {x=x0, y=y0, z=z0}
for x1=0,chunk_size-1 do
for y1=0,chunk_size-1 do
for z1=0,chunk_size-1 do
if pr:next(1,inverse_chance) == 1 then
local x2 = x0+x1
local y2 = y0+y1
local z2 = z0+z1
local p2 = {x=x2, y=y2, z=z2}
if minetest.env:get_node(p2).name == wherein then
minetest.env:set_node(p2, {name=name})
end
end
end
end
end
end
end
--print("generate_ore done")
end
minetest.register_on_generated(function(minp, maxp, seed)
-- Generate stratus
print("DARKAGE: Generate stratus");
generate_ore("darkage:desert_stone_with_iron", "default:desert_stone", minp, maxp, seed+0, 1/7/7/7, 3, 5, -15, 40)
generate_claylike("darkage:mud", minp, maxp, seed+1, 4, 0, 2, 0)
generate_claylike("darkage:silt", minp, maxp, seed+2, 4, -1, 1, 1)
generate_stratus("darkage:chalk",
{"default:stone"},
{"default:stone","air"}, nil,
minp, maxp, seed+3, 4, 25, 8, 0, -20, 50)
generate_stratus("darkage:ors",
{"default:stone"},
{"default:stone","air","default:water_source"}, nil,
minp, maxp, seed+4, 4, 25, 7, 50, -200, 500)
generate_stratus("darkage:shale",
{"default:stone"},
{"default:stone","air"}, nil,
minp, maxp, seed+5, 4, 23, 7, 50, -50, 20)
generate_stratus("darkage:slate",
{"default:stone"},
{"default:stone","air"}, nil,
minp, maxp, seed+6, 6, 23, 5, 50, -500, 0)
generate_stratus("darkage:schist",
{"default:stone"},
{"default:stone","air"}, nil,
minp, maxp, seed+7, 6, 19, 6, 50, -31000, -10)
generate_stratus("darkage:basalt",
{"default:stone"},
{"default:stone","air"}, nil,
minp, maxp, seed+8, 5, 20, 5, 20, -31000, -50)
generate_stratus("darkage:marble",
{"default:stone"},
{"default:stone","air"}, nil,
minp, maxp, seed+9, 4, 25, 6, 50, -31000, -75)
generate_stratus("darkage:serpentine",
{"default:stone"},
{"default:stone","air"}, nil,
minp, maxp, seed+10, 4, 28, 8, 50, -31000, -350)
generate_stratus("darkage:gneiss",
{"default:stone"},
{"default:stone","air"}, nil,
minp, maxp, seed+11, 4, 15, 5, 50, -31000, -250)
end)
--[[
This file generates:
darkage:mud
darkage:silt
darkage:chalk
darkage:ors
darkage:shale
darkage:slate
darkage:schist
darkage:basalt
darkage:marble
darkage:serpentine
darkage:gneiss
--]]
local getID = minetest.get_content_id
local function generate_stratus(data, varea, name, wherein, ceilin, ceil, minp, maxp, seed, stratus_chance, radius, radius_y, deep, height_min, height_max)
local c_ore = getID(name)
local c_wherein = {}
local c_ceilin = {}
for k, v in ipairs(wherein) do
c_wherein[k] = getID(v)
end
for k, v in ipairs(ceilin) do
c_ceilin[k] = getID(v)
end
local c_ceil
if ceil then
c_ceil = getID(ceil)
end
if maxp.y < height_min or minp.y > height_max then
return
end
local stratus_per_volume = 1
local area = 45
local y_min = math.max(minp.y, height_min)
local y_max = math.min(maxp.y, height_max)
local volume = ((maxp.x-minp.x+1)/area)*((y_max-y_min+1)/area)*((maxp.z-minp.z+1)/area)
local pr = PseudoRandom(seed)
local blocks = math.floor(stratus_per_volume*volume)
print(" <<"..dump(name)..">>");
if blocks == 0 then
blocks = 1
end
print(" blocks: "..dump(blocks).." in vol: "..dump(volume).." ("..dump(maxp.x-minp.x+1)..","..dump(y_max-y_min+1)..","..dump(maxp.z-minp.z+1)..")")
for i=1,blocks do
local x = pr:next(1,stratus_chance)
if x == 1 then
local y0=y_max-radius_y+1
if y0 < y_min then
y0=y_min
else
y0=pr:next(y_min, y0)
end
local x0 = maxp.x-radius+1
if x0 < minp.x then
x0 = minp.x
else
x0 = pr:next(minp.x, x0)
end
local z0 = maxp.z-radius+1
if z0 < minp.z then
x0 = minp.z
else
z0 = pr:next(minp.z, z0)
end
local p0 = {x=x0, y=y0, z=z0}
local n = data[varea:indexp(p0)]
local i = 0
x = 0
for k, v in ipairs(c_ceilin) do
if n == v then
x = 1
break
end
end
if x == 1 then
for y1=y0-1,y_min,-1 do
p0.y=y1
n = data[varea:indexp(p0)]
x = 0
for k, v in ipairs(c_wherein) do
if n == v then
x = 1
break
end
end
if x == 1 then
y0=y1-deep
if y0 < y_min then
y0 = y_min
end
break
end
end
local rx=pr:next(radius/2,radius)+1
local rz=pr:next(radius/2,radius)+1
local ry=pr:next(radius_y/2,radius_y)+1
for x1=0,rx do
rz = rz + 3 - pr:next(1,6)
if rz < 1 then
rz = 1
end
for z1=pr:next(1,3),rz do
local ry0=ry+ pr:next(1,3)
for y1=pr:next(1,3),ry0 do
local x2 = x0+x1
local y2 = y0+y1
local z2 = z0+z1
local p2 = {x=x2, y=y2, z=z2}
n = data[varea:indexp(p2)]
x = 0
for k, v in ipairs(c_wherein) do
if n == v then
x = 1
break
end
end
if x == 1 then
if c_ceil == nil then
data[varea:indexp(p2)] = c_ore
i = i +1
else
local p3 = {p2.x,p2.y+1,p2}
if data[varea:indexp(p3)] == c_ceil then
data[varea:indexp(p2)] = c_ore
i = i +1
end
end
end
end
end
end
print(" generated "..dump(i).." blocks in ("..dump(x0)..","..dump(y0)..","..dump(z0)..")")
end
end
end
end
local function generate_claylike(data, varea, name, minp, maxp, seed, chance, minh, maxh, dirt)
local c_ore = getID(name)
local c_sand = getID("default:sand")
local c_dirt = getID("default:dirt")
local c_lawn = getID("default:dirt_with_grass")
local c_water = getID("default:water_source")
local c_air = getID("air")
if maxp.y >= maxh+1 and minp.y <= minh-1 then
local pr = PseudoRandom(seed)
local divlen = 4
local divs = (maxp.x-minp.x)/divlen+1;
for yy=minh,maxh do
local x = pr:next(1,chance)
if x == 1 then
for divx=0+1,divs-1-1 do
for divz=0+1,divs-1-1 do
local cx = minp.x + math.floor((divx+0.5)*divlen)
local cz = minp.z + math.floor((divz+0.5)*divlen)
local up = data[varea:index(cx,yy,cz)]
local down = data[varea:index(cx,yy-1,cz)]
if ( up == c_water or up == c_air ) and ( down == c_sand or (dirt == 1 and (down == c_dirt or down == c_lawn ))) then
local is_shallow = true
local num_water_around = 0
if data[varea:index(cx-divlen*2,yy,cz)] == c_water then
num_water_around = num_water_around + 1
end
if data[varea:index(cx+divlen*2,yy,cz)] == c_water then
num_water_around = num_water_around + 1
end
if data[varea:index(cx,yy,cz-divlen*2)] == c_water then
num_water_around = num_water_around + 1
end
if data[varea:index(cx,yy,cz+divlen*2)] == c_water then
num_water_around = num_water_around + 1
end
if num_water_around >= 3 then
is_shallow = false
end
if is_shallow then
for x1=-divlen,divlen do
for z1=-divlen,divlen do
local p={x=cx+x1,y=yy-1,z=cz+z1}
down = data[varea:indexp(p)]
if down == c_sand or (dirt == 1 and (down == c_dirt or down == c_lawn)) then
data[varea:indexp(p)] = c_ore
end
end
end
end
end
end
end
end
end
end
end
local function generate_ore(data, varea, name, wherein, minp, maxp, seed, chunks_per_volume, chunk_size, ore_per_chunk, height_min, height_max)
local c_ore = getID(name)
local c_wherein = getID(wherein)
if maxp.y < height_min or minp.y > height_max then
return
end
local y_min = math.max(minp.y, height_min)
local y_max = math.min(maxp.y, height_max)
local volume = (maxp.x-minp.x+1)*(y_max-y_min+1)*(maxp.z-minp.z+1)
local pr = PseudoRandom(seed)
local num_chunks = math.floor(chunks_per_volume * volume)
local inverse_chance = math.floor(chunk_size*chunk_size*chunk_size / ore_per_chunk)
for i=1,num_chunks do
local y0 = pr:next(y_min, y_max-chunk_size+1)
if y0 >= height_min and y0 <= height_max then
local x0 = pr:next(minp.x, maxp.x-chunk_size+1)
local z0 = pr:next(minp.z, maxp.z-chunk_size+1)
local p0 = {x=x0, y=y0, z=z0}
for x1=0,chunk_size-1 do
for y1=0,chunk_size-1 do
for z1=0,chunk_size-1 do
if pr:next(1,inverse_chance) == 1 then
local x2 = x0+x1
local y2 = y0+y1
local z2 = z0+z1
local p2 = {x=x2, y=y2, z=z2}
local indexp2 = varea:indexp(p2)
if data[indexp2] == c_wherein then
data[indexp2] = c_ore
end
end
end
end
end
end
end
end
function darkage_mapgen(data, area, minp, maxp, seed) -- public function, to be used by Lua mapgens
if minp.y < -19600 then return end
local t1 = os.clock()
generate_claylike(data, area, "darkage:mud", minp, maxp, seed+1, 4, 0, 2, 0)
generate_claylike(data, area, "darkage:silt", minp, maxp, seed+2, 4, -1, 1, 1)
generate_stratus(data, area, "darkage:chalk",
{"default:stone"},
{"default:stone","air"}, nil,
minp, maxp, seed+3, 4, 25, 8, 0, -20, 50)
generate_stratus(data, area, "darkage:ors",
{"default:stone"},
{"default:stone","air","default:water_source"}, nil,
minp, maxp, seed+4, 4, 25, 7, 50, -200, 500)
generate_stratus(data, area, "darkage:shale",
{"default:stone"},
{"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)
local recipeitem = modname..":"..item
local itemname = modname..":stair_"..item
minetest.register_node(itemname, {
description = description.." stair",
drawtype = "nodebox",
tiles = images,
stairsplus:register_all("darkage", "basalt", "darkage:basalt", {
description = "Basalt",
tiles = {"darkage_basalt.png"},
groups = {cracky=3},
sounds = default.node_sound_stone_defaults(),
sunlight_propagates = true,
})
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",
paramtype2 = "facedir",
is_ground_content = true,
groups = groups,
node_box = {
type = "fixed",
fixed = {
{-0.5, -0.5, -0.5, 0.5, 0, 0.5},
{-0.5, 0, 0, 0.5, 0.5, 0.5},
},
},
light_source = default.LIGHT_MAX,
groups = {snappy=2,cracky=3,oddly_breakable_by_hand=3},
sounds = default.node_sound_stone_defaults(),
sunlight_propagates = true,
})
minetest.register_craft({
output = itemname .. ' 4',
recipe = {
{recipeitem, "", ""},
{recipeitem, recipeitem, ""},
{recipeitem, recipeitem, recipeitem},
},
stairsplus:register_all("darkage", "reinforced_wood", "darkage:reinforced_wood", {
description = "Reinforced Wood",
tiles = {"default_wood.png^darkage_reinforce.png"},
groups = {snappy=2,choppy=3,oddly_breakable_by_hand=3,flammable=3},
sounds = default.node_sound_stone_defaults(),
sunlight_propagates = true,
})
-- Flipped recipe for the silly minecrafters
minetest.register_craft({
output = itemname .. ' 4',
recipe = {
{"", "", recipeitem},
{"", recipeitem, recipeitem},
{recipeitem, recipeitem, recipeitem},
},
})
elseif stairs then
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, {
description = description.." slab",
drawtype = "nodebox",
tiles = images,
paramtype = "light",
is_ground_content = true,
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
stairs.register_stair_and_slab("marble", "darkage:marble",
{cracky=3},
{"darkage_marble.png"},
"Marble Stair",
"Marble Slab",
default.node_sound_stone_defaults()
)
-- If it's being placed on an another similar one, replace it with
-- a full block
local slabpos = nil
local slabnode = nil
local p0 = pointed_thing.under
local p1 = pointed_thing.above
local n0 = minetest.env:get_node(p0)
local n1 = minetest.env:get_node(p1)
if n0.name == itemname then
slabpos = p0
slabnode = n0
elseif n1.name == itemname then
slabpos = p1
slabnode = n1
end
if slabpos then
-- Remove the slab at slabpos
minetest.env:remove_node(slabpos)
-- Make a fake stack of a single item and try to place it
local fakestack = ItemStack(recipeitem)
pointed_thing.above = slabpos
fakestack = minetest.item_place(fakestack, placer, pointed_thing)
-- If the item was taken from the fake stack, decrement original
if not fakestack or fakestack:is_empty() then
itemstack:take_item(1)
-- Else put old node back
else
minetest.env:set_node(slabpos, slabnode)
end
return itemstack
end
-- Otherwise place regularly
return minetest.item_place(itemstack, placer, pointed_thing)
end,
})
stairs.register_stair_and_slab("marble", "darkage:serpentine",
{cracky=3},
{"darkage_serpentine.png"},
"Serpentine Stair",
"Serpentine Slab",
default.node_sound_stone_defaults()
)
stairs.register_stair_and_slab("ors", "darkage:ors",
{crumbly=2,cracky=2},
{"darkage_ors.png"},
"Old Red Sandstone Stair",
"Old Red Sandstone Slab",
default.node_sound_stone_defaults()
)
stairs.register_stair_and_slab("schist", "darkage:schist",
{cracky=3},
{"darkage_schist.png"},
"Schist Stair",
"Schist Slab",
default.node_sound_stone_defaults()
)
stairs.register_stair_and_slab("slate", "darkage:slate",
{cracky=2},
{"darkage_slate.png"},
"Slate Stair",
"Slate Slab",
default.node_sound_stone_defaults()
)
stairs.register_stair_and_slab("gneiss", "darkage:gneiss",
{cracky=3},
{"darkage_gneiss.png"},
"Gneiss Stair",
"Gneiss Slab",
default.node_sound_stone_defaults()
)
stairs.register_stair_and_slab("chalk", "darkage:chalk",
{crumbly=2,cracky=2},
{"darkage_chalk.png"},
"Chalk Stair",
"Chalk Slab",
default.node_sound_stone_defaults()
)
stairs.register_stair_and_slab("slate_cobble", "darkage:slate_cobble",
{cracky=2},
{"darkage_slate_cobble.png"},
"Slate Cobble Stair",
"Slate Cobble Slab",
default.node_sound_stone_defaults()
)
stairs.register_stair_and_slab("ors_cobble", "darkage:ors_cobble",
{crumbly=2,cracky=2},
{"darkage_ors_cobble.png"},
"Old Red Sandstone Cobble Stair",
"Old Red Sandstone Cobble Slab",
default.node_sound_stone_defaults()
)
stairs.register_stair_and_slab("gneiss_cobble", "darkage:gneiss_cobble",
{crumbly=2,cracky=2},
{"darkage_gneiss_cobble.png"},
"Gneiss Cobble Stair",
"Gneiss Cobble Slab",
default.node_sound_stone_defaults()
)
stairs.register_stair_and_slab("basalt_cobble", "darkage:basalt_cobble",
{cracky=3},
{"darkage_basalt_cobble.png"},
"Basalt Cobble Stair",
"Basalt Cobble Slab",
default.node_sound_stone_defaults()
)
--if not farming:straw
if minetest.get_modpath("farming") == nil then
stairs.register_stair_and_slab("straw", "darkage:straw",
{snappy=3, flammable=2},
{"darkage_straw.png"},
"Straw Stair",
"Straw Slab",
default.node_sound_stone_defaults()
)
else
stairs.register_stair_and_slab("straw", "farming:straw",
{snappy=3, flammable=2},
{"darkage_straw.png"},
"Straw Stair",
"Straw Slab",
default.node_sound_stone_defaults()
)
end
stairs.register_stair_and_slab("straw_bale", "darkage:straw_bale",
{snappy=2, flammable=2},
{"darkage_straw_bale.png"},
"Straw Bale Stair",
"Straw Bale Slab",
default.node_sound_stone_defaults()
)
stairs.register_stair_and_slab("slate_tile", "darkage:slate_tile",
{cracky=2},
{"darkage_slate_tile.png"},
"Slate Tile Stair",
"Slate Tile Slab",
default.node_sound_stone_defaults()
)
stairs.register_stair_and_slab("marble_tile", "darkage:marble_tile",
{cracky=2},
{"darkage_marble_tile.png"},
"Marble Tile Stair",
"Marble Tile Slab",
default.node_sound_stone_defaults()
)
stairs.register_stair_and_slab("stone_brick", "darkage:stone_brick",
{cracky=3},
{"darkage_stone_brick.png"},
"Stone Brick Stair",
"Stone Brick Slab",
default.node_sound_stone_defaults()
)
stairs.register_stair_and_slab("reinforced_chalk", "darkage:reinforced_chalk",
{cracky=3},
{"darkage_chalk.png^darkage_reinforce.png"},
"Reinforced Chalk Stair",
"Reinforced Chalk Slab",
default.node_sound_stone_defaults()
)
stairs.register_stair_and_slab("glass", "darkage:glass",
{snappy=2,cracky=3,oddly_breakable_by_hand=3},
{"darkage_glass.png"},
"Medieval Glass Stair",
"Medieval Glass Slab",
default.node_sound_stone_defaults()
)
stairs.register_stair_and_slab("glow_glass", "darkage:glow_glass",
{snappy=2,cracky=3,oddly_breakable_by_hand=3},
{"darkage_glass.png"},
"Medieval Glow Glass Stair",
"Medieval Glow Glass Slab",
default.node_sound_stone_defaults()
)
stairs.register_stair_and_slab("reinforced_wood", "darkage:reinforced_wood",
{snappy=2,choppy=3,oddly_breakable_by_hand=3,flammable=3},
{"default_wood.png^darkage_reinforce.png"},
"Reinforced Wood Stair",
"Reinforced Wood Slab",
default.node_sound_stone_defaults()
)
minetest.register_craft({
output = itemname .. ' 3',
recipe = {
{recipeitem, recipeitem, recipeitem},
},
})
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