17 Commits

Author SHA1 Message Date
c334970311 removed sandstone_cobble and desert_stone_cobble because its in default
removed sandstone_cobble and desert_stone_cobble because its in default
the moreblocks mod is now only a option
added alias for sandstone_cobble and desert_stone_cobble
2013-07-12 17:26:24 +02:00
9ccd5caf09 Update README.md 2013-05-13 16:21:40 +02:00
0b908c3d67 bugfix (1.0.2)
deleted dofile from init.lua
2013-05-11 05:41:07 +02:00
1e1ae634f9 fixed building.lua
craft reziep added
2013-05-10 06:55:51 +02:00
b45d5ff7fc bugfixes (1.0.1)
fixed broken init.lua
deleted unused files to save loadtime on servers
2013-05-10 06:42:28 +02:00
2abd633176 Updated README.md 2013-05-09 21:14:59 -07:00
082ae7190f version 1.0
bugfixes
compatibility and dependence with moreblocks added
2 new blocks
2013-05-08 06:23:49 +02:00
c29eeaecfd Update README.md 2013-04-21 05:51:49 +03:00
1553c63f93 compatibility with moreblocks added 2013-04-13 08:12:15 +03:00
0541679cf9 updated, to work with new versions of moreblocks 2013-04-13 08:10:48 +03:00
128f480e49 add compatibility with old nodes from king arthurs land 2013-01-31 05:19:50 +01:00
e81652db15 compatibility with stairsplus added
dsarkage have now a lot of new nodes and is full compatible with
stairsplus :)
2013-01-26 10:44:27 +01:00
12326c7bee added iron stick to avoid craft reziep conflicts 2013-01-26 07:09:41 +01:00
cb4d8c88c4 disabled marble tile
theres no texture of marble tile. i disabled that to avoid errors
2013-01-26 07:01:48 +01:00
f459607392 changed reziep to aviod problems with moreblocks 2013-01-26 06:54:43 +01:00
0f03fe2dac changed reziep of chain and bars to avoid conflict
with iron bars and 3dfurniture
2013-01-26 06:50:11 +01:00
24075b8cba added iron Stick
added iron stick to avoid craft conflicts with iron bars
2013-01-26 06:43:56 +01:00
17 changed files with 1552 additions and 1108 deletions

22
.gitattributes vendored Normal file
View File

@ -0,0 +1,22 @@
# Auto detect text files and perform LF normalization
* text=auto
# Custom for Visual Studio
*.cs diff=csharp
*.sln merge=union
*.csproj merge=union
*.vbproj merge=union
*.fsproj merge=union
*.dbproj merge=union
# Standard to msysgit
*.doc diff=astextplain
*.DOC diff=astextplain
*.docx diff=astextplain
*.DOCX diff=astextplain
*.dot diff=astextplain
*.DOT diff=astextplain
*.pdf diff=astextplain
*.PDF diff=astextplain
*.rtf diff=astextplain
*.RTF diff=astextplain

163
.gitignore vendored Normal 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

123
README.md
View File

@ -1,7 +1,9 @@
=== DarkAge MOD for MINETEST-C55 === #DarkAge MOD for MINETEST
by Master Gollum orginal by Master Gollum
modyfied by addi
Introduction:
##Introduction:
This mod adds a few new blocks that allows to create new buildings in a This mod adds a few new blocks that allows to create new buildings in a
pre industrial landscape. Of course, feel free to use them in any other pre industrial landscape. Of course, feel free to use them in any other
construction :P construction :P
@ -23,24 +25,50 @@ Introduction:
Release Notes ##Release Notes
Version 1.0.1
Version 0.3 * fixed init.lua wich get broken by upload on github
* 29 Nodes + 3 Craft Items
* Furniture and building decoration
* Stone layers
Version 0.2
* 13 Nodes
* Sedimentary stones
Version 0.1 Version 1.0
* 6 Nodes
* compatibility with stairsplus added
* added new item iron_stick
* added craft reziep for iron stick
* changed reziep of iron_bars to avoid conflicts with ironbars mod
* changed reziep of chain to avoid conflicts with 3d furniture mod
* changed reziep of darkage:stonebrick to avoid conflicts with moreblocks
* dissabled marble_tile to avoid the message "texture not found"
* added compatibililty with stairsplus (now its moreblocks)
* added darkage:glass a nice looking glass that must be in this mod
* changed the sound_node_leaves_default to wood_default from box and wooden shelfes
* added craft reziep for darkage:chalk
* improved the textures of reinforced wood and chalk to save a bit more loadtime on servers
* added another reziep for darkage straw (this can be crafted now, if farming is installed, with farming:harvested_weed
Version 0.3
* 29 Nodes + 3 Craft Items
* Furniture and building decoration
* Stone layers
Version 0.2
* 13 Nodes
* Sedimentary stones
Version 0.1
* 6 Nodes
PS: This document has been structured as the README.txt of PilzAdam in PS: This document has been structured as the README.txt of PilzAdam in
his Bed MOD. his Bed MOD.
How to install: ###How to install:
Unzip the archive an place it in minetest-base-directory/mods/minetest/ Unzip the archive an place it in minetest-base-directory/mods/minetest/
if you have a windows client or a linux run-in-place client. If you if you have a windows client or a linux run-in-place client. If you
have a linux system-wide instalation place it in have a linux system-wide instalation place it in
@ -50,7 +78,7 @@ How to install:
For further information or help see: For further information or help see:
http://wiki.minetest.com/wiki/Installing_Mods http://wiki.minetest.com/wiki/Installing_Mods
Tunning: ###Tunning:
Comments the following lines to remove what you don't like: Comments the following lines to remove what you don't like:
(To comment them just add -- at the beginning of their lines) (To comment them just add -- at the beginning of their lines)
@ -63,9 +91,10 @@ Tunning:
Only pure stones will be provided. Only pure stones will be provided.
BUILDING NODES ##BUILDING NODES
Adobe: Sand and Clay mixture with Straw to build houses or walls Adobe: Sand and Clay mixture with Straw to build houses or walls
Used from historical times, one of the first bricks Used from historical times, one of the first bricks
invented. I have to improve this texture, it is ugly :P invented. I have to improve this texture, it is ugly :P
CRAFT -> 4 CRAFT -> 4
@ -73,22 +102,27 @@ Tunning:
[Clay Lumb] [Straw] [Clay Lumb] [Straw]
Basalt: a darken version of the default Stone Basalt: a darken version of the default Stone
COOKING COOKING
[Basalt Cobble] [Basalt Cobble]
Basalt Cobble: A darken version of the default Cobble Basalt Cobble: A darken version of the default Cobble
CRAFT -> 4 CRAFT -> 4
[Cobble] [Cobble] [Cobble] [Cobble]
[Coal Lump] [Coal Lump] [Coal Lump] [Coal Lump]
Chalk: a soft, white and porous sedimentary rock. It becomes Chalk: a soft, white and porous sedimentary rock. It becomes
Chalk Powder when digged. Can't be craft, only found as Chalk Powder when digged. Can't be craft, only found as
stratum. stratum.
Chalk Powder: pile of chalk from digging Chalk stones. Can Chalk Powder: pile of chalk from digging Chalk stones. Can
be used to prepare plaster. See Cobblestone with Plaster. be used to prepare plaster. See Cobblestone with Plaster.
Cobblestone with Plaster: Cobbles where has been applied a Cobblestone with Plaster: Cobbles where has been applied a
layer of white plaster. layer of white plaster.
When digged it lost the plaster layer! When digged it lost the plaster layer!
CRAFT -> 2 CRAFT -> 2
@ -96,6 +130,7 @@ Tunning:
[Cobblestone] [Chalk Powder] [Cobblestone] [Chalk Powder]
Dark Dirt: A darken version of the Dirt where the grass doesn't 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 grown, perfect for create a path in a forest. I was using
Gravel, but the noise walking was annoying to me (like Gravel, but the noise walking was annoying to me (like
walking over iron coal with the nude feet :P), for this I walking over iron coal with the nude feet :P), for this I
@ -105,12 +140,14 @@ Tunning:
[Gravel] [Gravel] [Gravel] [Gravel]
Desert Stone Cobble: To add more uses to the Desert Stones. Desert Stone Cobble: To add more uses to the Desert Stones.
I suppossed they are harder than regular Stones so it I suppossed they are harder than regular Stones so it
cracks at 50% and releases the Cobbles or just regular cracks at 50% and releases the Cobbles or just regular
Desert Stones. Desert Stones.
From dig Desert Stone From dig Desert Stone
Desert Iron Ore: I know that others MODs add ores to the Desert Iron Ore: I know that others MODs add ores to the
Desert Stones, mine also does it, but just Iron, I supposed Desert Stones, mine also does it, but just Iron, I supposed
the red color is because of the iron, so it goes with more the red color is because of the iron, so it goes with more
high probability than regular Stones and it doesn't add high probability than regular Stones and it doesn't add
@ -119,6 +156,7 @@ Tunning:
does it. does it.
Dry Leaves: Just a cube of Leaves toasted :P Well I found the Dry Leaves: Just a cube of Leaves toasted :P Well I found the
Leaves unuseful, so I thought to turn them into Straw, ok 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 it is not the same, but well, why not? Just dry them in a
Furnace and then put together to create the Straw Furnace and then put together to create the Straw
@ -126,15 +164,18 @@ Tunning:
[Leaves] [Leaves]
Gneiss: high grade metamorphic rock formed from Schist, very Gneiss: high grade metamorphic rock formed from Schist, very
common, and used in construction. It sometimes brokes in common, and used in construction. It sometimes brokes in
Gneiss Cobble when being digged. Gneiss Cobble when being digged.
COOKING COOKING
[Schist] [Schist]
Gneiss Cobble: brick version of the gneiss. Gneiss Cobble: brick version of the gneiss.
From dig gneiss From dig gneiss
Mud: mixture of water and some combination of soil, silt, and Mud: mixture of water and some combination of soil, silt, and
clay. Used for build houses, specially in desertic regions. clay. Used for build houses, specially in desertic regions.
It brokes in 4 Mud Lumps when digged. It brokes in 4 Mud Lumps when digged.
CRAFT -> 3 CRAFT -> 3
@ -145,6 +186,7 @@ Tunning:
[Mud Lump] [Mud Lump] [Mud Lump] [Mud Lump]
Old Red Sandstone: a light red sandstone, in fact it's Old Red Sandstone: a light red sandstone, in fact it's
sandstone with iron that gives it this color. sandstone with iron that gives it this color.
CRAFT -> 4 CRAFT -> 4
[Sandstone] [Sandstone] [Sandstone] [Sandstone]
@ -153,6 +195,7 @@ Tunning:
[Old Red Sandstone Cobble] [Old Red Sandstone Cobble]
Old Red Sandstone Cobble: Cobbles of Old Red Sandstone. Old Red Sandstone Cobble: Cobbles of Old Red Sandstone.
CRAFT -> 4 CRAFT -> 4
[Sandstone Cobble] [Sandstone Cobble] [Sandstone Cobble] [Sandstone Cobble]
[Iron Lumb] [Sandstone Cobble] [Iron Lumb] [Sandstone Cobble]
@ -161,6 +204,7 @@ Tunning:
release with its own Cobbles. release with its own Cobbles.
Reinforced Cobble: brick with crossed wooden. Reinforced Cobble: brick with crossed wooden.
CRAFT -> 1 CRAFT -> 1
[Stick] [] [Stick] [Stick] [] [Stick]
[] [Cobble] [] [] [Cobble] []
@ -168,15 +212,18 @@ Tunning:
Sandstone Cobble: brick version of the Sandstone, good for Sandstone Cobble: brick version of the Sandstone, good for
buildings with a pale color. buildings with a pale color.
COOKING COOKING
[Sandstone] [Sandstone]
Schist: medium grade metamorphic rock from Slate. Schist: medium grade metamorphic rock from Slate.
COOKING COOKING
[Slate] [Slate]
Silt: granular material of a size somewhere between sand and clay. Silt: granular material of a size somewhere between sand and clay.
It brokes in 4 Silt Lumps. It brokes in 4 Silt Lumps.
CRAFT -> 1 CRAFT -> 1
[Silt Lump] [Silt Lump] [Silt Lump] [Silt Lump]
[Silt Lump] [Silt Lump] [Silt Lump] [Silt Lump]
@ -184,6 +231,7 @@ Tunning:
Slate: fine-grained, foliated, homogeneous metamorphic rock Slate: fine-grained, foliated, homogeneous metamorphic rock
derived from an original shale-type sedimentary rock through derived from an original shale-type sedimentary rock through
low-grade regional metamorphism. It is used to build roof. low-grade regional metamorphism. It is used to build roof.
COOKING COOKING
[Shale] [Shale]
COOKING COOKING
@ -198,6 +246,7 @@ Tunning:
as building traditional building material in zones where as building traditional building material in zones where
slate is easy to find. slate is easy to find.
Note: It has stairs and slabs. Note: It has stairs and slabs.
CRAFT -> 2 CRAFT -> 2
[Slate Cobble] [Slate Cobble] [Slate Cobble] [Slate Cobble]
[Slate Cobble] [Slate Cobble] [Slate Cobble] [Slate Cobble]
@ -205,6 +254,7 @@ Tunning:
Straw: a cube of yellish straw, try them in the roofs they will Straw: a cube of yellish straw, try them in the roofs they will
be very nice. Used also as traditional building material be very nice. Used also as traditional building material
from ancient times. from ancient times.
CRAFT -> 2 CRAFT -> 2
[Shrub] [Shrub] [Shrub] [Shrub]
[Shrub] [Shrub] [Shrub] [Shrub]
@ -214,6 +264,7 @@ Tunning:
Straw Bale: a decoration item, looks great for a farm or a Straw Bale: a decoration item, looks great for a farm or a
country side house. country side house.
CRAFT -> 1 CRAFT -> 1
[Straw] [Straw] [Straw] [Straw]
[Straw] [Straw] [Straw] [Straw]
@ -222,62 +273,89 @@ Tunning:
from Desert Sand. The idea is that Desert Sand is stonner from Desert Sand. The idea is that Desert Sand is stonner
than regular Sand, so it takes less to create a Desert than regular Sand, so it takes less to create a Desert
Stone than a Sandstone. Stone than a Sandstone.
CRAFT -> 2 CRAFT -> 2
[Sandstone] [Sandstone] [Sandstone] [Sandstone]
[Sandstone] [Sandstone] [Sandstone] [Sandstone]
FURNITURE NODES ##FURNITURE NODES
Just started so they are few ones Just started so they are few ones
Box: a more smaller container than the Chest, but it requires Box: a more smaller container than the Chest, but it requires
less wood. As cheep as 4 woods and have 16 slots. The craft 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 is a little weird but I think it makes sense and avoids
collision with the recipe of Hardwood of the MOD collision with the recipe of Hardwood of the MOD
building_blocks. building_blocks.
CRAFT -> 2 CRAFT -> 2
[Wood] [] [Wood] [Wood] [] [Wood]
[] [] [] [] [] []
[Wood] [] [Wood] [Wood] [] [Wood]
Chain: climbable chain. Chain: climbable chain.
CRAFT -> 2 CRAFT -> 2
[Steel Ingot] [Steel Ingot]
[Steel Ingot] [Steel Ingot]
[Steel Ingot] [Steel Ingot]
Iron Bars: alternative window for the Glass. Iron Bars: alternative window for the Glass.
CRAFT -> 3 CRAFT -> 3
[Steel Ingot] [] [Steel Ingot] [Steel Ingot] [] [Steel Ingot]
[Steel Ingot] [] [Steel Ingot] [Steel Ingot] [] [Steel Ingot]
[Steel Ingot] [] [Steel Ingot] [Steel Ingot] [] [Steel Ingot]
Iron Grille: alternative window for the Glass. Iron Grille: alternative window for the Glass.
CRAFT -> 3 CRAFT -> 3
[] [Iron Bars] [] [] [Iron Bars] []
[Iron Bars] [] [Iron Bars] [Iron Bars] [] [Iron Bars]
[] [Iron Bars] [] [] [Iron Bars] []
Wood Bars: alternative window for the Glass. Wood Bars: alternative window for the Glass.
CRAFT -> 3 CRAFT -> 3
[Stick] [] [Stick] [Stick] [] [Stick]
[Stick] [] [Stick] [Stick] [] [Stick]
[Stick] [] [Stick] [Stick] [] [Stick]
Wood Frame: alternative window for the Glass. Wood Frame: alternative window for the Glass.
CRAFT -> 1 CRAFT -> 1
[Stick] [Stick] [Stick] [Stick] [Stick] [Stick]
[Stick] [Glass] [Stick] [Stick] [Glass] [Stick]
[Stick] [Stick] [Stick] [Stick] [Stick] [Stick]
Medieval Glass: a good looking glass, with small tiles
CRAFT -> 8
[Glass] [steel_ingot] [Glass]
[steel_ingot] [Glass] [steel_ingot]
[Glass] [steel_ingot] [Glass]
License: or:
CRAFT -> 1
[Medieval Glow Glass]
Medieval Glow Glass: a good looking glass, with small tiles wich are glowing by itself
CRAFT -> 8
[Medieval Glass]
[torch]
##License:
Sourcecode: WTFPL (see below) Sourcecode: WTFPL (see below)
Graphics: WTFPL (see below) Graphics: WTFPL (see below)
See also: #See also:
http://minetest.net/ http://minetest.net/
---
DO WHAT THE FUCK YOU WANT TO PUBLIC LICENSE DO WHAT THE FUCK YOU WANT TO PUBLIC LICENSE
Version 2, December 2004 Version 2, December 2004
@ -291,8 +369,3 @@ http://minetest.net/
TERMS AND CONDITIONS FOR COPYING, DISTRIBUTION AND MODIFICATION TERMS AND CONDITIONS FOR COPYING, DISTRIBUTION AND MODIFICATION
0. You just DO WHAT THE FUCK YOU WANT TO. 0. You just DO WHAT THE FUCK YOU WANT TO.

2
alias.lua Normal file
View File

@ -0,0 +1,2 @@
minetest.register_alias("darkage:sandstone_cobble", "default:sandstonebrick")
minetest.register_alias("darkage:desert_stone_cobble", "default:desert_stonebrick")

View File

@ -1,6 +1,57 @@
minetest.register_node("darkage:glass", {
description = "medieval Glass",
drawtype = "glasslike",
tiles = {"darkage_glass.png"},
inventory_image = minetest.inventorycube("darkage_glass.png"),
paramtype = "light",
sunlight_propagates = true,
is_ground_content = true,
groups = {snappy=2,cracky=3,oddly_breakable_by_hand=3},
sounds = default.node_sound_glass_defaults(),
})
minetest.register_node("darkage:glow_glass", {
description = "medieval glow glass",
drawtype = "glasslike",
tiles = {"darkage_glass.png"},
inventory_image = minetest.inventorycube("darkage_glass.png"),
paramtype = "light",
light_source = 18,
sunlight_propagates = true,
is_ground_content = true,
groups = {snappy=2,cracky=3,oddly_breakable_by_hand=3},
sounds = default.node_sound_glass_defaults(),
})
minetest.register_craft({
output = 'darkage:glow_glass 1',
recipe = {
{'darkage:glass', '', ''},
{'default:torch', '', ''},
{'', '', ''},
}
})
minetest.register_craft({
output = 'darkage:glass 1',
recipe = {
{'darkage:glow_glass'},
}
})
minetest.register_craft({
output = 'darkage:glass 8',
recipe = {
{'default:glass', 'default:steel_ingot', 'default:glass'},
{'default:steel_ingot', 'default:glass', 'default:steel_ingot'},
{'default:glass', 'default:steel_ingot', 'default:glass'},
}
})
minetest.register_node("darkage:reinforced_chalk", { minetest.register_node("darkage:reinforced_chalk", {
description = "Reinforced Chalk", description = "Reinforced Chalk",
tiles = {"darkage_reinforced_chalk.png"}, tiles = {"darkage_chalk.png^darkage_reinforce.png"},
is_ground_content = true, is_ground_content = true,
groups = {cracky=3}, groups = {cracky=3},
sounds = default.node_sound_stone_defaults() sounds = default.node_sound_stone_defaults()
@ -8,7 +59,7 @@ minetest.register_node("darkage:reinforced_chalk", {
minetest.register_node("darkage:reinforced_wood", { minetest.register_node("darkage:reinforced_wood", {
description = "Reinforced Wood", description = "Reinforced Wood",
tiles = {"darkage_reinforced_wood.png"}, tiles = {"default_wood.png^darkage_reinforce.png"},
is_ground_content = true, is_ground_content = true,
groups = {snappy=2,choppy=3,oddly_breakable_by_hand=3,flammable=3}, groups = {snappy=2,choppy=3,oddly_breakable_by_hand=3,flammable=3},
sounds = default.node_sound_wood_defaults() sounds = default.node_sound_wood_defaults()
@ -31,15 +82,6 @@ minetest.register_node("darkage:reinforced_wood_left", {
}) })
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({ minetest.register_craft({
output = 'darkage:reinforced_chalk', output = 'darkage:reinforced_chalk',
recipe = { recipe = {
@ -49,6 +91,15 @@ minetest.register_craft({
} }
}) })
minetest.register_craft({
output = 'darkage:chalk',
recipe = {
{'darkage:chalk_powder','darkage:chalk_powder',''},
{'darkage:chalk_powder','darkage:chalk_powder',''},
{'','',''},
}
})
minetest.register_craft({ minetest.register_craft({
output = 'darkage:reinforced_wood', output = 'darkage:reinforced_wood',
recipe = { recipe = {
@ -96,3 +147,29 @@ minetest.register_craft({
{'darkage:reinforced_wood_right'}, {'darkage:reinforced_wood_right'},
} }
}) })
minetest.register_craft({
output = 'darkage:glow_glass 1',
recipe = {
{'darkage:glass', '', ''},
{'default:torch', '', ''},
{'', '', ''},
}
})
minetest.register_craft({
output = 'darkage:glass 1',
recipe = {
{'darkage:glow_glass'},
}
})
minetest.register_craft({
output = 'darkage:glass 8',
recipe = {
{'default:glass', 'default:steel_ingot', 'default:glass'},
{'default:steel_ingot', 'default:glass', 'default:steel_ingot'},
{'default:glass', 'default:steel_ingot', 'default:glass'},
}
})

View File

@ -1,2 +1,3 @@
default default
farming?
moreblocks?

View File

@ -1,283 +1,283 @@
minetest.register_node("darkage:chain", { minetest.register_node("darkage:chain", {
description = "Chain", description = "Chain",
drawtype = "signlike", drawtype = "signlike",
tiles = {"darkage_chain.png"}, tiles = {"darkage_chain.png"},
inventory_image = "darkage_chain.png", inventory_image = "darkage_chain.png",
wield_image = "darkage_chain.png", wield_image = "darkage_chain.png",
paramtype = "light", paramtype = "light",
paramtype2 = "wallmounted", paramtype2 = "wallmounted",
is_ground_content = true, is_ground_content = true,
walkable = false, walkable = false,
climbable = true, climbable = true,
selection_box = { selection_box = {
type = "wallmounted", type = "wallmounted",
--wall_top = = <default> --wall_top = = <default>
--wall_bottom = = <default> --wall_bottom = = <default>
--wall_side = = <default> --wall_side = = <default>
}, },
groups = {snappy=1,cracky=2,oddly_breakable_by_hand=2}, groups = {snappy=1,cracky=2,oddly_breakable_by_hand=2},
legacy_wallmounted = true legacy_wallmounted = true
}) })
minetest.register_node('darkage:box', { minetest.register_node('darkage:box', {
description = "Box", description = "Box",
tiles = { 'darkage_box_top.png','darkage_box_top.png','darkage_box.png'}, tiles = { 'darkage_box_top.png','darkage_box_top.png','darkage_box.png'},
sunlight_propagates = false, sunlight_propagates = false,
paramtype = "light", paramtype = "light",
paramtype2 = "facedir", paramtype2 = "facedir",
walkable = true, walkable = true,
groups = { snappy = 3 }, groups = { snappy = 3 },
sounds = default.node_sound_leaves_defaults(), sounds = default.node_sound_wood_defaults(),
on_construct = function(pos) on_construct = function(pos)
local meta = minetest.env:get_meta(pos) local meta = minetest.env:get_meta(pos)
meta:set_string("formspec", meta:set_string("formspec",
"size[8,8]".. "size[8,8]"..
"list[current_name;main;0,0;8,3;]".. "list[current_name;main;0,0;8,3;]"..
"list[current_player;main;0,4;8,4;]") "list[current_player;main;0,4;8,4;]")
meta:set_string("infotext", "Box") meta:set_string("infotext", "Box")
local inv = meta:get_inventory() local inv = meta:get_inventory()
inv:set_size("main", 16) inv:set_size("main", 16)
end, end,
can_dig = function(pos,player) can_dig = function(pos,player)
local meta = minetest.env:get_meta(pos); local meta = minetest.env:get_meta(pos);
local inv = meta:get_inventory() local inv = meta:get_inventory()
return inv:is_empty("main") return inv:is_empty("main")
end, end,
on_metadata_inventory_move = function(pos, from_list, from_index, to_list, to_index, count, player) on_metadata_inventory_move = function(pos, from_list, from_index, to_list, to_index, count, player)
minetest.log("action", player:get_player_name().. minetest.log("action", player:get_player_name()..
" moves stuff in box at "..minetest.pos_to_string(pos)) " moves stuff in box at "..minetest.pos_to_string(pos))
end, end,
on_metadata_inventory_put = function(pos, listname, index, stack, player) on_metadata_inventory_put = function(pos, listname, index, stack, player)
minetest.log("action", player:get_player_name().. minetest.log("action", player:get_player_name()..
" moves stuff to box at "..minetest.pos_to_string(pos)) " moves stuff to box at "..minetest.pos_to_string(pos))
end, end,
on_metadata_inventory_take = function(pos, listname, index, stack, player) on_metadata_inventory_take = function(pos, listname, index, stack, player)
minetest.log("action", player:get_player_name().. minetest.log("action", player:get_player_name()..
" takes stuff from box at "..minetest.pos_to_string(pos)) " takes stuff from box at "..minetest.pos_to_string(pos))
end, end,
}) })
minetest.register_node('darkage:wood_shelves', { minetest.register_node('darkage:wood_shelves', {
description = "Wooden Shelves", description = "Wooden Shelves",
tiles = { 'darkage_shelves.png','darkage_shelves.png','darkage_shelves.png', tiles = { 'darkage_shelves.png','darkage_shelves.png','darkage_shelves.png',
'darkage_shelves.png','darkage_shelves.png','darkage_shelves_front.png'}, 'darkage_shelves.png','darkage_shelves.png','darkage_shelves_front.png'},
sunlight_propagates = false, sunlight_propagates = false,
paramtype = "light", paramtype = "light",
paramtype2 = "facedir", paramtype2 = "facedir",
walkable = true, walkable = true,
groups = { snappy = 3 }, groups = { snappy = 3 },
sounds = default.node_sound_leaves_defaults(), sounds = default.node_sound_wood_defaults(),
on_construct = function(pos) on_construct = function(pos)
local meta = minetest.env:get_meta(pos) local meta = minetest.env:get_meta(pos)
meta:set_string("formspec", meta:set_string("formspec",
"size[8,10]".. "size[8,10]"..
"list[context;up;0,0;8,3;]".. "list[context;up;0,0;8,3;]"..
"list[context;down;0,3;8,3;]".. "list[context;down;0,3;8,3;]"..
"list[current_player;main;0,6;8,4;]") "list[current_player;main;0,6;8,4;]")
meta:set_string("infotext", "Wooden Shelves") meta:set_string("infotext", "Wooden Shelves")
local inv = meta:get_inventory() local inv = meta:get_inventory()
inv:set_size("up", 16) inv:set_size("up", 16)
inv:set_size("down", 16) inv:set_size("down", 16)
end, end,
can_dig = function(pos,player) can_dig = function(pos,player)
local meta = minetest.env:get_meta(pos); local meta = minetest.env:get_meta(pos);
local inv = meta:get_inventory() local inv = meta:get_inventory()
return inv:is_empty("shape") and inv:is_empty("out") and inv:is_empty("water") return inv:is_empty("shape") and inv:is_empty("out") and inv:is_empty("water")
end, end,
on_metadata_inventory_move = function(pos, from_list, from_index, to_list, to_index, count, player) on_metadata_inventory_move = function(pos, from_list, from_index, to_list, to_index, count, player)
minetest.log("action", player:get_player_name().. minetest.log("action", player:get_player_name()..
" moves stuff in shelves at "..minetest.pos_to_string(pos)) " moves stuff in shelves at "..minetest.pos_to_string(pos))
end, end,
on_metadata_inventory_put = function(pos, listname, index, stack, player) on_metadata_inventory_put = function(pos, listname, index, stack, player)
minetest.log("action", player:get_player_name().. minetest.log("action", player:get_player_name()..
" moves stuff to shelves at "..minetest.pos_to_string(pos)) " moves stuff to shelves at "..minetest.pos_to_string(pos))
end, end,
on_metadata_inventory_take = function(pos, listname, index, stack, player) on_metadata_inventory_take = function(pos, listname, index, stack, player)
minetest.log("action", player:get_player_name().. minetest.log("action", player:get_player_name()..
" takes stuff from shelves at "..minetest.pos_to_string(pos)) " takes stuff from shelves at "..minetest.pos_to_string(pos))
end, end,
}) })
--minetest.register_node("darkage:rosace", { --minetest.register_node("darkage:rosace", {
-- description = "Rose Window", -- description = "Rose Window",
-- tiles = {"darkage_rosace.png"}, -- tiles = {"darkage_rosace.png"},
-- is_ground_content = true, -- is_ground_content = true,
-- groups = {cracky=3}, -- groups = {cracky=3},
-- sounds = default.node_sound_stone_defaults() -- sounds = default.node_sound_stone_defaults()
--}) --})
minetest.register_node("darkage:iron_bars", { minetest.register_node("darkage:iron_bars", {
description = "Iron Bars", description = "Iron Bars",
drawtype = "glasslike", drawtype = "glasslike",
tiles = {"darkage_iron_bars.png"}, tiles = {"darkage_iron_bars.png"},
inventory_image = "darkage_iron_bars.png", inventory_image = "darkage_iron_bars.png",
wield_image = "darkage_iron_bars.png", wield_image = "darkage_iron_bars.png",
is_ground_content = true, is_ground_content = true,
paramtype = "light", paramtype = "light",
sunlight_propagates = true, sunlight_propagates = true,
groups = {cracky=3}, groups = {cracky=3},
sounds = default.node_sound_stone_defaults() sounds = default.node_sound_stone_defaults()
}) })
minetest.register_node("darkage:lamp", { minetest.register_node("darkage:lamp", {
description = "Lamp", description = "Lamp",
tiles = { tiles = {
"darkage_lamp.png" "darkage_lamp.png"
}, },
paramtype = "light", paramtype = "light",
sunlight_propagates = true, sunlight_propagates = true,
light_source = LIGHT_MAX-1, light_source = LIGHT_MAX-1,
groups = {snappy=2,cracky=3,oddly_breakable_by_hand=3,flammable=1}, groups = {snappy=2,cracky=3,oddly_breakable_by_hand=3,flammable=1},
sounds = default.node_sound_glass_defaults(), sounds = default.node_sound_glass_defaults(),
}) })
minetest.register_node("darkage:iron_grille", { minetest.register_node("darkage:iron_grille", {
description = "Iron Grille", description = "Iron Grille",
drawtype = "glasslike", drawtype = "glasslike",
tiles = {"darkage_iron_grille.png"}, tiles = {"darkage_iron_grille.png"},
inventory_image = "darkage_iron_grille.png", inventory_image = "darkage_iron_grille.png",
wield_image = "darkage_iron_grille.png", wield_image = "darkage_iron_grille.png",
is_ground_content = true, is_ground_content = true,
paramtype = "light", paramtype = "light",
sunlight_propagates = true, sunlight_propagates = true,
groups = {cracky=3}, groups = {cracky=3},
sounds = default.node_sound_stone_defaults() sounds = default.node_sound_stone_defaults()
}) })
minetest.register_node("darkage:wood_bars", { minetest.register_node("darkage:wood_bars", {
description = "Wooden Bars", description = "Wooden Bars",
drawtype = "glasslike", drawtype = "glasslike",
tiles = {"darkage_wood_bars.png"}, tiles = {"darkage_wood_bars.png"},
inventory_image = "darkage_wood_bars.png", inventory_image = "darkage_wood_bars.png",
wield_image = "darkage_wood_bars.png", wield_image = "darkage_wood_bars.png",
is_ground_content = true, is_ground_content = true,
paramtype = "light", paramtype = "light",
sunlight_propagates = true, sunlight_propagates = true,
groups = {snappy=1,choppy=2}, groups = {snappy=1,choppy=2},
sounds = default.node_sound_stone_defaults() sounds = default.node_sound_stone_defaults()
}) })
minetest.register_node("darkage:wood_grille", { minetest.register_node("darkage:wood_grille", {
description = "Wooden Grille", description = "Wooden Grille",
drawtype = "glasslike", drawtype = "glasslike",
tiles = {"darkage_wood_grille.png"}, tiles = {"darkage_wood_grille.png"},
inventory_image = "darkage_wood_grille.png", inventory_image = "darkage_wood_grille.png",
wield_image = "darkage_wood_grille.png", wield_image = "darkage_wood_grille.png",
is_ground_content = true, is_ground_content = true,
paramtype = "light", paramtype = "light",
sunlight_propagates = true, sunlight_propagates = true,
groups = {snappy=1,choppy=2}, groups = {snappy=1,choppy=2},
sounds = default.node_sound_stone_defaults() sounds = default.node_sound_stone_defaults()
}) })
minetest.register_node("darkage:wood_frame", { minetest.register_node("darkage:wood_frame", {
description = "Wooden Frame", description = "Wooden Frame",
drawtype = "glasslike", drawtype = "glasslike",
tiles = {"darkage_wood_frame.png"}, tiles = {"darkage_wood_frame.png"},
inventory_image = "darkage_wood_frame.png", inventory_image = "darkage_wood_frame.png",
wield_image = "darkage_wood_frame.png", wield_image = "darkage_wood_frame.png",
is_ground_content = true, is_ground_content = true,
paramtype = "light", paramtype = "light",
sunlight_propagates = true, sunlight_propagates = true,
groups = {snappy=1,choppy=2}, groups = {snappy=1,choppy=2},
sounds = default.node_sound_stone_defaults() sounds = default.node_sound_stone_defaults()
}) })
--------------- ---------------
-- Crafts Item -- Crafts Item
--------------- ---------------
---------- ----------
-- Crafts -- Crafts
---------- ----------
minetest.register_craft({ minetest.register_craft({
output = 'darkage:box', output = 'darkage:box',
recipe = { recipe = {
{'default:wood','','default:wood'}, {'default:wood','','default:wood'},
{'','',''}, {'','',''},
{'default:wood','','default:wood'}, {'default:wood','','default:wood'},
} }
}) })
minetest.register_craft({ minetest.register_craft({
output = 'darkage:chain 2', output = 'darkage:chain 2',
recipe = { recipe = {
{'default:steel_ingot'}, {'darkage:iron_stick'}, --changed reziep to avoid problems with ironbars - addi
{'default:steel_ingot'}, {'darkage:iron_stick'},
{'default:steel_ingot'}, {'darkage:iron_stick'},
} }
}) })
minetest.register_craft({ minetest.register_craft({
output = 'darkage:iron_bars 2', output = 'darkage:iron_bars 2',
recipe = { recipe = {
{'default:steel_ingot','','default:steel_ingot'}, {'darkage:iron_stick','','darkage:iron_stick'}, --changed reziep to avoid problems with 3dfurniture -addi
{'default:steel_ingot','','default:steel_ingot'}, {'darkage:iron_stick','','darkage:iron_stick'},
{'default:steel_ingot','','default:steel_ingot'}, {'darkage:iron_stick','','darkage:iron_stick'},
} }
}) })
minetest.register_craft({ minetest.register_craft({
output = 'darkage:iron_grille 3', output = 'darkage:iron_grille 3',
recipe = { recipe = {
{'','darkage:iron_bars',''}, {'','darkage:iron_bars',''},
{'darkage:iron_bars','','darkage:iron_bars'}, {'darkage:iron_bars','','darkage:iron_bars'},
{'','darkage:iron_bars',''}, {'','darkage:iron_bars',''},
} }
}) })
minetest.register_craft({ minetest.register_craft({
output = 'darkage:lamp', output = 'darkage:lamp',
recipe = { recipe = {
{'default:stick','','default:stick'}, {'default:stick','','default:stick'},
{'','default:torch',''}, {'','default:torch',''},
{'default:stick','','default:stick'}, {'default:stick','','default:stick'},
} }
}) })
minetest.register_craft({ minetest.register_craft({
output = 'darkage:wood_bars 2', output = 'darkage:wood_bars 2',
recipe = { recipe = {
{'default:stick','','default:stick'}, {'default:stick','','default:stick'},
{'default:stick','','default:stick'}, {'default:stick','','default:stick'},
{'default:stick','','default:stick'}, {'default:stick','','default:stick'},
} }
}) })
minetest.register_craft({ minetest.register_craft({
output = 'darkage:wood_grille 3', output = 'darkage:wood_grille 3',
recipe = { recipe = {
{'','darkage:wood_bars',''}, {'','darkage:wood_bars',''},
{'darkage:wood_bars','','darkage:wood_bars'}, {'darkage:wood_bars','','darkage:wood_bars'},
{'','darkage:wood_bars',''}, {'','darkage:wood_bars',''},
} }
}) })
minetest.register_craft({ minetest.register_craft({
output = 'darkage:wood_shelves', output = 'darkage:wood_shelves',
recipe = { recipe = {
{'darkage:box'}, {'darkage:box'},
{'darkage:box'}, {'darkage:box'},
} }
}) })
minetest.register_craft({ minetest.register_craft({
output = 'darkage:wood_frame', output = 'darkage:wood_frame',
recipe = { recipe = {
{'default:stick','','default:stick'}, {'default:stick','','default:stick'},
{'','default:glass',''}, {'','default:glass',''},
{'default:stick','','default:stick'}, {'default:stick','','default:stick'},
} }
}) })
-- Cookings -- Cookings
minetest.register_craft({ minetest.register_craft({
type = "cooking", type = "cooking",
output = "default:glass", output = "default:glass",
recipe = "darkage:wood_frame", recipe = "darkage:wood_frame",
}) })

1094
init.lua

File diff suppressed because it is too large Load Diff

View File

@ -1,255 +1,255 @@
--Makes a stratus of rocks --Makes a stratus of rocks
--name of the rock to generate --name of the rock to generate
--wherein kind of node to replace, for example default:stone --wherein kind of node to replace, for example default:stone
--minp, maxp the corners of the map to be generated --minp, maxp the corners of the map to be generated
--seed random seed --seed random seed
--stratus_chance inverse probability in a given radius 1:2, 1:3 etc --stratus_chance inverse probability in a given radius 1:2, 1:3 etc
--radius horizontal radius of the stratus --radius horizontal radius of the stratus
--radius_y vertical radius of the stratus --radius_y vertical radius of the stratus
--deep how deep can be from the ground --deep how deep can be from the ground
local function generate_stratus(name, wherein, ceilin, ceil, minp, maxp, seed, stratus_chance, radius, radius_y, deep, height_min, height_max) local function generate_stratus(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 if maxp.y < height_min or minp.y > height_max then
return return
end end
-- it will be only generate a stratus for every 100 m of area -- it will be only generate a stratus for every 100 m of area
local stratus_per_volume=1 local stratus_per_volume=1
local area=45 local area=45
local y_min = math.max(minp.y, height_min) local y_min = math.max(minp.y, height_min)
local y_max = math.min(maxp.y, height_max) 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 volume = ((maxp.x-minp.x+1)/area)*((y_max-y_min+1)/area)*((maxp.z-minp.z+1)/area)
local pr = PseudoRandom(seed) local pr = PseudoRandom(seed)
local blocks = math.floor(stratus_per_volume*volume) local blocks = math.floor(stratus_per_volume*volume)
print(" <<"..dump(name)..">>"); print(" <<"..dump(name)..">>");
if blocks == 0 then if blocks == 0 then
blocks = 1 blocks = 1
end 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)..")") 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 for i=1,blocks do
local x = pr:next(1,stratus_chance) local x = pr:next(1,stratus_chance)
if x == 1 then if x == 1 then
-- TODO deep -- TODO deep
local y0=y_max-radius_y+1 local y0=y_max-radius_y+1
if y0 < y_min then if y0 < y_min then
y0=y_min y0=y_min
else else
y0=pr:next(y_min, y0) y0=pr:next(y_min, y0)
end end
local x0 = maxp.x-radius+1 local x0 = maxp.x-radius+1
if x0 < minp.x then if x0 < minp.x then
x0 = minp.x x0 = minp.x
else else
x0 = pr:next(minp.x, x0) x0 = pr:next(minp.x, x0)
end end
local z0 = maxp.z-radius+1 local z0 = maxp.z-radius+1
if z0 < minp.z then if z0 < minp.z then
x0 = minp.z x0 = minp.z
else else
z0 = pr:next(minp.z, z0) z0 = pr:next(minp.z, z0)
end end
local p0 = {x=x0, y=y0, z=z0} local p0 = {x=x0, y=y0, z=z0}
local n = minetest.env:get_node(p0).name local n = minetest.env:get_node(p0).name
local i = 0 local i = 0
--print(" upper node "..n) --print(" upper node "..n)
x = 0 x = 0
for k, v in ipairs(ceilin) do for k, v in ipairs(ceilin) do
if n == v then if n == v then
x = 1 x = 1
break break
end end
end end
if x == 1 then if x == 1 then
-- search for the node to replace -- search for the node to replace
--print(" Searching nodes to replace from "..dump(y0-1).." to "..dump(y_min)) --print(" Searching nodes to replace from "..dump(y0-1).." to "..dump(y_min))
for y1=y0-1,y_min,-1 do for y1=y0-1,y_min,-1 do
p0.y=y1 p0.y=y1
n = minetest.env:get_node(p0).name n = minetest.env:get_node(p0).name
x = 0 x = 0
for k, v in ipairs(wherein) do for k, v in ipairs(wherein) do
if n == v then if n == v then
x = 1 x = 1
break break
end end
end end
if x == 1 then if x == 1 then
y0=y1-deep y0=y1-deep
if y0 < y_min then if y0 < y_min then
y0 = y_min y0 = y_min
end end
break break
end end
end end
local rx=pr:next(radius/2,radius)+1 local rx=pr:next(radius/2,radius)+1
local rz=pr:next(radius/2,radius)+1 local rz=pr:next(radius/2,radius)+1
local ry=pr:next(radius_y/2,radius_y)+1 local ry=pr:next(radius_y/2,radius_y)+1
--print(" area of generation ("..dump(rx)..","..dump(rz)..","..dump(ry)..")") --print(" area of generation ("..dump(rx)..","..dump(rz)..","..dump(ry)..")")
for x1=0,rx do for x1=0,rx do
rz = rz + 3 - pr:next(1,6) rz = rz + 3 - pr:next(1,6)
if rz < 1 then if rz < 1 then
rz = 1 rz = 1
end end
for z1=pr:next(1,3),rz do for z1=pr:next(1,3),rz do
local ry0=ry+ pr:next(1,3) local ry0=ry+ pr:next(1,3)
for y1=pr:next(1,3),ry0 do for y1=pr:next(1,3),ry0 do
local x2 = x0+x1 local x2 = x0+x1
local y2 = y0+y1 local y2 = y0+y1
local z2 = z0+z1 local z2 = z0+z1
local p2 = {x=x2, y=y2, z=z2} local p2 = {x=x2, y=y2, z=z2}
n = minetest.env:get_node(p2).name n = minetest.env:get_node(p2).name
x = 0 x = 0
for k, v in ipairs(wherein) do for k, v in ipairs(wherein) do
if n == v then if n == v then
x = 1 x = 1
break break
end end
end end
if x == 1 then if x == 1 then
if ceil == nil then if ceil == nil then
minetest.env:set_node(p2, {name=name}) minetest.env:set_node(p2, {name=name})
i = i +1 i = i +1
else else
local p3 = {p2.x,p2.y+1,p2} local p3 = {p2.x,p2.y+1,p2}
if minetest.env:get_node(p3).name == ceil then if minetest.env:get_node(p3).name == ceil then
minetest.env:set_node(p2, {name=name}) minetest.env:set_node(p2, {name=name})
i = i +1 i = i +1
end end
end end
end end
end end
end end
end end
print(" generated "..dump(i).." blocks in ("..dump(x0)..","..dump(y0)..","..dump(z0)..")") print(" generated "..dump(i).." blocks in ("..dump(x0)..","..dump(y0)..","..dump(z0)..")")
end end
end end
end end
--print("generate_ore done") --print("generate_ore done")
end end
local function generate_claylike(name, minp, maxp, seed, chance, minh, maxh, dirt) local function generate_claylike(name, minp, maxp, seed, chance, minh, maxh, dirt)
if maxp.y >= maxh+1 and minp.y <= minh-1 then if maxp.y >= maxh+1 and minp.y <= minh-1 then
local pr = PseudoRandom(seed) local pr = PseudoRandom(seed)
local divlen = 4 local divlen = 4
local divs = (maxp.x-minp.x)/divlen+1; local divs = (maxp.x-minp.x)/divlen+1;
for yy=minh,maxh do for yy=minh,maxh do
local x = pr:next(1,chance) local x = pr:next(1,chance)
if x == 1 then if x == 1 then
for divx=0+1,divs-1-1 do for divx=0+1,divs-1-1 do
for divz=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 cx = minp.x + math.floor((divx+0.5)*divlen)
local cz = minp.z + math.floor((divz+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 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 local down = minetest.env:get_node({x=cx,y=yy-1,z=cz}).name
if ( up == "default:water_source" or up == "air" ) and 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 ( down == "default:sand" or (dirt == 1 and (down == "default:dirt" or down == "default:dirt_with_grass" ))) then
local is_shallow = true local is_shallow = true
local num_water_around = 0 local num_water_around = 0
if minetest.env:get_node({x=cx-divlen*2,y=yy,z=cz}).name == "default:water_source" then 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 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 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 num_water_around = num_water_around + 1 end
if minetest.env:get_node({x=cx,y=yy,z=cz-divlen*2}).name == "default:water_source" then if 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 num_water_around = num_water_around + 1 end
if minetest.env:get_node({x=cx,y=yy,z=cz+divlen*2}).name == "default:water_source" then if 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 num_water_around = num_water_around + 1 end
if num_water_around >= 3 then if num_water_around >= 3 then
is_shallow = false is_shallow = false
end end
if is_shallow then if is_shallow then
for x1=-divlen,divlen do for x1=-divlen,divlen do
for z1=-divlen,divlen do for z1=-divlen,divlen do
local p={x=cx+x1,y=yy-1,z=cz+z1} local p={x=cx+x1,y=yy-1,z=cz+z1}
down = minetest.env:get_node(p).name 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 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}) minetest.env:set_node(p, {name=name})
end end
end end
end end
end end
end end
end 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) 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 if maxp.y < height_min or minp.y > height_max then
return return
end end
local y_min = math.max(minp.y, height_min) local y_min = math.max(minp.y, height_min)
local y_max = math.min(maxp.y, height_max) 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 volume = (maxp.x-minp.x+1)*(y_max-y_min+1)*(maxp.z-minp.z+1)
local pr = PseudoRandom(seed) local pr = PseudoRandom(seed)
local num_chunks = math.floor(chunks_per_volume * volume) local num_chunks = math.floor(chunks_per_volume * volume)
local inverse_chance = math.floor(chunk_size*chunk_size*chunk_size / ore_per_chunk) local inverse_chance = math.floor(chunk_size*chunk_size*chunk_size / ore_per_chunk)
--print("generate_ore num_chunks: "..dump(num_chunks)) --print("generate_ore num_chunks: "..dump(num_chunks))
for i=1,num_chunks do for i=1,num_chunks do
local y0 = pr:next(y_min, y_max-chunk_size+1) local y0 = pr:next(y_min, y_max-chunk_size+1)
if y0 >= height_min and y0 <= height_max then if y0 >= height_min and y0 <= height_max then
local x0 = pr:next(minp.x, maxp.x-chunk_size+1) local x0 = pr:next(minp.x, maxp.x-chunk_size+1)
local z0 = pr:next(minp.z, maxp.z-chunk_size+1) local z0 = pr:next(minp.z, maxp.z-chunk_size+1)
local p0 = {x=x0, y=y0, z=z0} local p0 = {x=x0, y=y0, z=z0}
for x1=0,chunk_size-1 do for x1=0,chunk_size-1 do
for y1=0,chunk_size-1 do for y1=0,chunk_size-1 do
for z1=0,chunk_size-1 do for z1=0,chunk_size-1 do
if pr:next(1,inverse_chance) == 1 then if pr:next(1,inverse_chance) == 1 then
local x2 = x0+x1 local x2 = x0+x1
local y2 = y0+y1 local y2 = y0+y1
local z2 = z0+z1 local z2 = z0+z1
local p2 = {x=x2, y=y2, z=z2} local p2 = {x=x2, y=y2, z=z2}
if minetest.env:get_node(p2).name == wherein then if minetest.env:get_node(p2).name == wherein then
minetest.env:set_node(p2, {name=name}) minetest.env:set_node(p2, {name=name})
end end
end end
end end
end end
end end
end end
end end
--print("generate_ore done") --print("generate_ore done")
end end
minetest.register_on_generated(function(minp, maxp, seed) minetest.register_on_generated(function(minp, maxp, seed)
-- Generate stratus -- Generate stratus
print("DARKAGE: 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_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:mud", minp, maxp, seed+1, 4, 0, 2, 0)
generate_claylike("darkage:silt", minp, maxp, seed+2, 4, -1, 1, 1) generate_claylike("darkage:silt", minp, maxp, seed+2, 4, -1, 1, 1)
generate_stratus("darkage:chalk", generate_stratus("darkage:chalk",
{"default:stone"}, {"default:stone"},
{"default:stone","air"}, nil, {"default:stone","air"}, nil,
minp, maxp, seed+3, 4, 25, 8, 0, -20, 50) minp, maxp, seed+3, 4, 25, 8, 0, -20, 50)
generate_stratus("darkage:ors", generate_stratus("darkage:ors",
{"default:stone"}, {"default:stone"},
{"default:stone","air","default:water_source"}, nil, {"default:stone","air","default:water_source"}, nil,
minp, maxp, seed+4, 4, 25, 7, 50, -200, 500) minp, maxp, seed+4, 4, 25, 7, 50, -200, 500)
generate_stratus("darkage:shale", generate_stratus("darkage:shale",
{"default:stone"}, {"default:stone"},
{"default:stone","air"}, nil, {"default:stone","air"}, nil,
minp, maxp, seed+5, 4, 23, 7, 50, -50, 20) minp, maxp, seed+5, 4, 23, 7, 50, -50, 20)
generate_stratus("darkage:slate", generate_stratus("darkage:slate",
{"default:stone"}, {"default:stone"},
{"default:stone","air"}, nil, {"default:stone","air"}, nil,
minp, maxp, seed+6, 6, 23, 5, 50, -500, 0) minp, maxp, seed+6, 6, 23, 5, 50, -500, 0)
generate_stratus("darkage:schist", generate_stratus("darkage:schist",
{"default:stone"}, {"default:stone"},
{"default:stone","air"}, nil, {"default:stone","air"}, nil,
minp, maxp, seed+7, 6, 19, 6, 50, -31000, -10) minp, maxp, seed+7, 6, 19, 6, 50, -31000, -10)
generate_stratus("darkage:basalt", generate_stratus("darkage:basalt",
{"default:stone"}, {"default:stone"},
{"default:stone","air"}, nil, {"default:stone","air"}, nil,
minp, maxp, seed+8, 5, 20, 5, 20, -31000, -50) minp, maxp, seed+8, 5, 20, 5, 20, -31000, -50)
generate_stratus("darkage:marble", generate_stratus("darkage:marble",
{"default:stone"}, {"default:stone"},
{"default:stone","air"}, nil, {"default:stone","air"}, nil,
minp, maxp, seed+9, 4, 25, 6, 50, -31000, -75) minp, maxp, seed+9, 4, 25, 6, 50, -31000, -75)
generate_stratus("darkage:serpentine", generate_stratus("darkage:serpentine",
{"default:stone"}, {"default:stone"},
{"default:stone","air"}, nil, {"default:stone","air"}, nil,
minp, maxp, seed+10, 4, 28, 8, 50, -31000, -350) minp, maxp, seed+10, 4, 28, 8, 50, -31000, -350)
generate_stratus("darkage:gneiss", generate_stratus("darkage:gneiss",
{"default:stone"}, {"default:stone"},
{"default:stone","air"}, nil, {"default:stone","air"}, nil,
minp, maxp, seed+11, 4, 15, 5, 50, -31000, -250) minp, maxp, seed+11, 4, 15, 5, 50, -31000, -250)
end) end)

View File

@ -136,9 +136,9 @@ darkage.register_stairs("darkage","ors_cobble",
"Old Red Sandtone" "Old Red Sandtone"
) )
darkage.register_stairs("darkage","desert_stone_cobble", --darkage.register_stairs("darkage","desert_stone_cobble",
{cracky=3}, -- {cracky=3},
{"darkage_desert_stone_cobble.png"}, -- {"darkage_desert_stone_cobble.png"},
"Desert Stone Cobble" -- "Desert Stone Cobble"
) --)

66
stairsplus.lua Normal file
View File

@ -0,0 +1,66 @@
darkage = {};
function darkage.register_stairs(modname, subname, groups, images, desc)
table.insert(circular_saw.known_stairs, modname..":"..subname);
recipeitem = modname..":"..subname;
desc_stair = desc.." stair";
desc_slab = desc.." slab";
desc_panel = desc.." panel";
desc_micro = desc.." micro";
drop = subname
register_stair(modname, subname, recipeitem, groups, images, desc_stair, drop)
register_slab(modname, subname, recipeitem, groups, images, desc_slab, drop)
register_panel(modname, subname, recipeitem, groups, images, desc_panel, drop)
register_micro(modname, subname, recipeitem, groups, images, desc_micro, drop)
end
darkage.register_stairs("darkage","basalt_cobble",
{cracky=3},
{"darkage_basalt_cobble.png"},
"Basalt Cobble"
)
darkage.register_stairs("darkage","slate_tale",
{cracky=3},
{"darkage_slate_tale.png"},
"Slate Tale"
)
darkage.register_stairs("darkage","straw",
{snappy=3, flammable=2},
{"darkage_straw.png"},
"Straw"
)
darkage.register_stairs("darkage","stone_brick",
{cracky=3},
{"darkage_stone_brick.png"},
"Stone Brick"
)
darkage.register_stairs("darkage","ors_cobble",
{cracky=3},
{"darkage_ors_cobble.png"},
"Old Red Sandtone"
)
--darkage.register_stairs("darkage","desert_stone_cobble",
-- {cracky=3},
-- {"darkage_desert_stone_cobble.png"},
-- "Desert Stone Cobble"
--)
darkage.register_stairs("darkage","slate_cobble",
{cracky=3},
{"darkage_slate_cobble.png"},
"Slate Cobble"
)
--darkage.register_stairs("darkage","sandstone_cobble",
-- {cracky=3},
-- {"darkage_sandstone_cobble.png"},
-- "Sandstone Cobble"
--)
darkage.register_stairs("darkage","gneiss_cobble",
{cracky=3},
{"darkage_gneiss_cobble.png"},
"Gneiss Cobble"
)

BIN
textures/darkage_glass.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.3 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 697 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 202 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