Compare commits

...

5 Commits

Author SHA1 Message Date
Milan* 9569c96f4c generate aliases, add option for light_source 2017-10-20 22:09:59 +02:00
Milan 109e3e73b0 overhaul all teh code! 🎉 2017-10-09 22:49:08 +02:00
tchncs e6b35042d2 merge upstream 🐈 2017-05-25 21:18:43 +02:00
tchncs 6b21fab032 make darkage dep optional 2017-05-25 21:17:04 +02:00
Milan* bb5471c525 re-add recipe for *_arc 🐈 2017-01-11 17:37:14 +01:00
4 changed files with 69 additions and 179 deletions

View File

@ -1,2 +1,2 @@
default
darkage
darkage?

209
init.lua
View File

@ -3,40 +3,10 @@
-- 05-01-2016
-- License: WTFPL
-- modified by tchncs for The World of Illuna
-- 10-09-2017
local materials = {
-- nodename description tiles sounds groups
{"stone", "Stone", "default_stone", default.node_sound_stone_defaults(), {cracky=3, stone=1},},
{"stone_block", "Stone Block", "default_stone_block", default.node_sound_stone_defaults(), {cracky=3, stone=1},},
{"cobble", "Cobble", "default_cobble", default.node_sound_stone_defaults(), {cracky=3, stone=2},},
{"stonebrick", "Stone Brick", "default_stone_brick", default.node_sound_stone_defaults(), {cracky=2, stone=1},},
{"mossycobble", "MossyCobble", "default_mossycobble", default.node_sound_stone_defaults(), {cracky=3, stone=1},},
{"desert_stone", "Desert Stone", "default_desert_stone", default.node_sound_stone_defaults(), {cracky=3, stone=1},},
{"desert_stone", "Desert Stone", "default_desert_stone", default.node_sound_stone_defaults(), {cracky=3, stone=1},},
{"desert_stone_block", "Desert Stone Block", "default_desert_stone_block", default.node_sound_stone_defaults(), {cracky=3, stone=1},},
{"desert_cobble", "Desert Cobble", "default_desert_cobble", default.node_sound_stone_defaults(), {cracky=3, stone=2},},
{"desert_stonebrick", "Desert Stone Brick", "default_desert_stone_brick", default.node_sound_stone_defaults(), {cracky=2, stone=1},},
{"sandstone", "Sandstone", "default_sandstone", default.node_sound_stone_defaults(), {crumbly=2,cracky=3},},
{"sandstone_block", "Sandstone Block","default_sandstone_block", default.node_sound_stone_defaults(), {crumbly=2,cracky=3},},
{"sandstonebrick", "Sandstone Brick", "default_sandstone_brick", default.node_sound_stone_defaults(), {cracky=2},},
{"obsidian", "Obsidian", "default_obsidian", default.node_sound_stone_defaults(), {cracky=1,level=2},},
{"obsidian_block", "Obsidian Block", "default_obsidian_block", default.node_sound_stone_defaults(), {cracky=1,level=2},},
{"obsidianbrick", "Obsidian Brick", "default_obsidian_brick", default.node_sound_stone_defaults(), {cracky=1,level=2},},
{"wood", "Wooden", "default_wood", default.node_sound_wood_defaults(), {choppy=2,oddly_breakable_by_hand=2,flammable=3,wood=1},},
{"junglewood", "Junglewood", "default_junglewood", default.node_sound_wood_defaults(), {choppy=2,oddly_breakable_by_hand=2,flammable=3,wood=1},},
{"pine_wood", "Pine Wood", "default_pine_wood", default.node_sound_wood_defaults(), {choppy=2,oddly_breakable_by_hand=2,flammable=3,wood=1},},
{"acacia_wood", "Acacia Wood", "default_acacia_wood", default.node_sound_wood_defaults(), {choppy=2,oddly_breakable_by_hand=2,flammable=3,wood=1},},
}
local darkage_materials = {
{"marble", "Marble", "darkage_marble", default.node_sound_stone_defaults(), {cracky=3, stone=1},},
{"serpentine", "Serpentine", "darkage_serpentine", default.node_sound_stone_defaults(), {cracky=3, stone=1},},
}
-- TODO: ALIASES!
-- convert integer coordinates to nodebox coordinates
function nb(n)
@ -44,15 +14,9 @@ function nb(n)
end
for i in ipairs(materials) do
local nodename = materials[i][1]
local desc = materials[i][2]
local tile = materials[i][3]
local sound = materials[i][4]
local group = materials[i][5]
minetest.register_node("pkarcs:"..nodename.."_arc", {
register_arc = function(origin, nodename, desc, tile, sound, group, light, nodeid)
local nodeid = origin..":"..nodename
minetest.register_node(":pkarcs:"..origin.."_"..nodename.."_arc", {
description = desc.." Arc",
paramtype = "light",
paramtype2 = "facedir",
@ -75,9 +39,18 @@ for i in ipairs(materials) do
},
groups = group,
sounds = sound,
light_source = light,
})
minetest.register_node("pkarcs:"..nodename.."_outer_arc", {
minetest.register_craft({
output = "pkarcs:"..origin.."_"..nodename.."_arc".." 5",
recipe = {
{ nodeid, nodeid, nodeid },
{ nodeid, "", "" },
{ nodeid, "", "" }
}
})
minetest.register_alias("pkarcs:"..nodename.."_arc", "pkarcs:"..origin.."_"..nodename.."_arc")
minetest.register_node(":pkarcs:"..origin.."_"..nodename.."_outer_arc", {
description = desc.." Outer Arc",
paramtype = "light",
paramtype2 = "facedir",
@ -100,18 +73,18 @@ for i in ipairs(materials) do
},
groups = group,
sounds = sound,
light_source = light,
})
minetest.register_alias("pkarcs:"..nodename.."_outer_arc", "pkarcs:"..origin.."_"..nodename.."_outer_arc")
minetest.register_craft({
output = "pkarcs:"..nodename.."_outer_arc".." 5",
output = "pkarcs:"..origin.."_"..nodename.."_outer_arc".." 5",
recipe = {
{ "default:torch", "default:"..nodename, "default:"..nodename },
{ "default:"..nodename, "", "" },
{ "default:"..nodename, "", "" }
{ "default:torch", nodeid, nodeid },
{ nodeid, "", ""},
{ nodeid, "", ""}
}
})
minetest.register_node("pkarcs:"..nodename.."_inner_arc", {
minetest.register_node(":pkarcs:"..origin.."_"..nodename.."_inner_arc", {
description = desc.." Inner Arc",
paramtype = "light",
paramtype2 = "facedir",
@ -152,137 +125,17 @@ for i in ipairs(materials) do
},
groups = group,
sounds = sound,
light_source = light,
})
minetest.register_alias("pkarcs:"..nodename.."_inner_arc", "pkarcs:"..origin.."_"..nodename.."_inner_arc")
minetest.register_craft({
output = "pkarcs:"..nodename.."_inner_arc".." 5",
output = "pkarcs:"..origin.."_"..nodename.."_inner_arc".." 5",
recipe = {
{ "", "default:"..nodename, "default:"..nodename },
{ "default:"..nodename, "default:torch", "" },
{ "default:"..nodename, "", "" }
{ "", nodeid, nodeid },
{ nodeid, "default:torch", "" },
{ nodeid, "", "" }
}
})
end
for i in ipairs(darkage_materials) do
local nodename = darkage_materials[i][1]
local desc = darkage_materials[i][2]
local tile = darkage_materials[i][3]
local sound = darkage_materials[i][4]
local group = darkage_materials[i][5]
minetest.register_node("pkarcs:"..nodename.."_arc", {
description = desc.." Arc",
paramtype = "light",
paramtype2 = "facedir",
tiles = {tile..".png"},
drawtype = "nodebox",
node_box = {
type = "fixed",
fixed = {
{ nb(0), nb(0), nb(0), nb(1), nb(16), nb(16) },
{ nb(1), nb(4), nb(0), nb(2), nb(16), nb(16) },
{ nb(2), nb(7), nb(0), nb(3), nb(16), nb(16) },
{ nb(3), nb(8), nb(0), nb(4), nb(16), nb(16) },
{ nb(4), nb(10), nb(0), nb(5), nb(16), nb(16) },
{ nb(5), nb(11), nb(0), nb(6), nb(16), nb(16) },
{ nb(6), nb(12), nb(0), nb(8), nb(16), nb(16) },
{ nb(8), nb(13), nb(0), nb(9), nb(16), nb(16) },
{ nb(9), nb(14), nb(0), nb(12), nb(16), nb(16) },
{ nb(12), nb(15), nb(0), nb(16), nb(16), nb(16) },
}
},
groups = group,
sounds = sound,
})
minetest.register_node("pkarcs:"..nodename.."_outer_arc", {
description = desc.." Outer Arc",
paramtype = "light",
paramtype2 = "facedir",
tiles = {tile..".png"},
drawtype = "nodebox",
node_box = {
type = "fixed",
fixed = {
{ nb(0), nb(0), nb(16), nb(1), nb(16), nb(16-1) },
{ nb(0), nb(4), nb(16), nb(2), nb(16), nb(16-2) },
{ nb(0), nb(7), nb(16), nb(3), nb(16), nb(16-3) },
{ nb(0), nb(8), nb(16), nb(4), nb(16), nb(16-4) },
{ nb(0), nb(10), nb(16), nb(5), nb(16), nb(16-5) },
{ nb(0), nb(11), nb(16), nb(6), nb(16), nb(16-6) },
{ nb(0), nb(12), nb(16), nb(8), nb(16), nb(16-8) },
{ nb(0), nb(13), nb(16), nb(9), nb(16), nb(16-9) },
{ nb(0), nb(14), nb(16), nb(12), nb(16), nb(16-12) },
{ nb(0), nb(15), nb(16), nb(16), nb(16), nb(16-16) },
}
},
groups = group,
sounds = sound,
})
minetest.register_craft({
output = "pkarcs:"..nodename.."_outer_arc".." 5",
recipe = {
{ "default:torch", "darkage:"..nodename, "darkage:"..nodename },
{ "darkage:"..nodename, "", "" },
{ "darkage:"..nodename, "", "" }
}
})
minetest.register_node("pkarcs:"..nodename.."_inner_arc", {
description = desc.." Inner Arc",
paramtype = "light",
paramtype2 = "facedir",
tiles = {tile..".png"},
drawtype = "nodebox",
node_box = {
type = "fixed",
fixed = {
{ nb(0), nb(0), nb(16), nb(1), nb(16), nb(0) },
{ nb(0), nb(0), nb(16), nb(16), nb(16), nb(16-1) },
{ nb(0), nb(4), nb(16), nb(2), nb(16), nb(0) },
{ nb(0), nb(4), nb(16), nb(16), nb(16), nb(16-2) },
{ nb(0), nb(7), nb(16), nb(3), nb(16), nb(0) },
{ nb(0), nb(7), nb(16), nb(16), nb(16), nb(16-3) },
{ nb(0), nb(8), nb(16), nb(4), nb(16), nb(0) },
{ nb(0), nb(8), nb(16), nb(16), nb(16), nb(16-4) },
{ nb(0), nb(10), nb(16), nb(5), nb(16), nb(0) },
{ nb(0), nb(10), nb(16), nb(16), nb(16), nb(16-5) },
{ nb(0), nb(11), nb(16), nb(6), nb(16), nb(0) },
{ nb(0), nb(11), nb(16), nb(16), nb(16), nb(16-6) },
{ nb(0), nb(12), nb(16), nb(8), nb(16), nb(0) },
{ nb(0), nb(12), nb(16), nb(16), nb(16), nb(16-8) },
{ nb(0), nb(13), nb(16), nb(9), nb(16), nb(0) },
{ nb(0), nb(13), nb(16), nb(16), nb(16), nb(16-9) },
{ nb(0), nb(14), nb(16), nb(12), nb(16), nb(0) },
{ nb(0), nb(14), nb(16), nb(16), nb(16), nb(16-12) },
{ nb(0), nb(15), nb(16), nb(16), nb(16), nb(16-16) },
}
},
groups = group,
sounds = sound,
})
minetest.register_craft({
output = "pkarcs:"..nodename.."_inner_arc".." 5",
recipe = {
{ "", "darkage:"..nodename, "darkage:"..nodename },
{ "darkage:"..nodename, "default:torch", "" },
{ "darkage:"..nodename, "", "" }
}
})
end
dofile(minetest.get_modpath("pkarcs").."/registrations.lua")

View File

@ -1,6 +1,24 @@
## Simple Arcs [pkarcs] by PEAK
### modified for The World of Illuna by tchncs
this awesome mod has it's origin here:
* https://forum.minetest.net/viewtopic.php?f=9&t=14541
however this fork provides a sort-of API just like Moreblocks does.
You can easily register your mods nodes following this syntax:
`register_arc("mycoolmod", "nodename", "description", "imagename", "sound", "group(s)")`
this would look like this:
`register_arc("default", "stone", "Stone", "default_stone", default.node_sound_stone_defaults(), {cracky=3, stone=1})`
Please be aware of new nodeid's this fork provides for avoiding nodeconflicts,
like The World of Illuna uses a duplicate stonebrick node.
There will follow aliases for the default nodes quite soon but if you extended your copy of the original mod already and plan to replace it,
the nodenames change like:
`pkarcs:stonebrick` to `pkarcs:default_stonebrick`
![](https://git.tchncs.de/Illuna-Minetest/pkarcs/raw/master/screenshot_1.png)

19
registrations.lua Normal file
View File

@ -0,0 +1,19 @@
register_arc("default", "stone", "Stone", "default_stone", default.node_sound_stone_defaults(), {cracky=3, stone=1})
register_arc("default", "stone_block", "Stone Block", "default_stone_block", default.node_sound_stone_defaults(), {cracky=3, stone=1})
register_arc("default", "cobble", "Cobble", "default_cobble", default.node_sound_stone_defaults(), {cracky=3, stone=2})
register_arc("default", "stonebrick", "Stone Brick", "default_stone_brick", default.node_sound_stone_defaults(), {cracky=2, stone=1})
register_arc("default", "mossycobble", "MossyCobble", "default_mossycobble", default.node_sound_stone_defaults(), {cracky=3, stone=1})
register_arc("default", "desert_stone", "Desert Stone", "default_desert_stone", default.node_sound_stone_defaults(), {cracky=3, stone=1})
register_arc("default", "desert_stone_block", "Desert Stone Block", "default_desert_stone_block", default.node_sound_stone_defaults(), {cracky=3, stone=1})
register_arc("default", "desert_cobble", "Desert Cobble", "default_desert_cobble", default.node_sound_stone_defaults(), {cracky=3, stone=2})
register_arc("default", "desert_stonebrick", "Desert Stone Brick", "default_desert_stone_brick", default.node_sound_stone_defaults(), {cracky=2, stone=1})
register_arc("default", "sandstone", "Sandstone", "default_sandstone", default.node_sound_stone_defaults(), {crumbly=2,cracky=3})
register_arc("default", "sandstone_block", "Sandstone Block","default_sandstone_block", default.node_sound_stone_defaults(), {crumbly=2,cracky=3})
register_arc("default", "sandstonebrick", "Sandstone Brick", "default_sandstone_brick", default.node_sound_stone_defaults(), {cracky=2})
register_arc("default", "obsidian", "Obsidian", "default_obsidian", default.node_sound_stone_defaults(), {cracky=1,level=2})
register_arc("default", "obsidian_block", "Obsidian Block", "default_obsidian_block", default.node_sound_stone_defaults(), {cracky=1,level=2})
register_arc("default", "obsidianbrick", "Obsidian Brick", "default_obsidian_brick", default.node_sound_stone_defaults(), {cracky=1,level=2})
register_arc("default", "wood", "Wooden", "default_wood", default.node_sound_wood_defaults(), {choppy=2,oddly_breakable_by_hand=2,flammable=3,wood=1})
register_arc("default", "junglewood", "Junglewood", "default_junglewood", default.node_sound_wood_defaults(), {choppy=2,oddly_breakable_by_hand=2,flammable=3,wood=1})
register_arc("default", "pine_wood", "Pine Wood", "default_pine_wood", default.node_sound_wood_defaults(), {choppy=2,oddly_breakable_by_hand=2,flammable=3,wood=1})
register_arc("default", "acacia_wood", "Acacia Wood", "default_acacia_wood", default.node_sound_wood_defaults(), {choppy=2,oddly_breakable_by_hand=2,flammable=3,wood=1})