overhaul all teh code! 🎉

master
Milan 2017-10-09 22:40:17 +02:00
parent e6b35042d2
commit 109e3e73b0
3 changed files with 62 additions and 196 deletions

221
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, nodeid)
local nodeid = origin..":"..nodename
minetest.register_node(":pkarcs:"..origin.."_"..nodename.."_arc", {
description = desc.." Arc",
paramtype = "light",
paramtype2 = "facedir",
@ -76,17 +40,15 @@ for i in ipairs(materials) do
groups = group,
sounds = sound,
})
minetest.register_craft({
output = "pkarcs:"..nodename.."_arc".." 5",
recipe = {
{ "default:"..nodename, "default:"..nodename, "default:"..nodename },
{ "default:"..nodename, "", "" },
{ "default:"..nodename, "", "" }
}
})
minetest.register_node("pkarcs:"..nodename.."_outer_arc", {
minetest.register_craft({
output = "pkarcs:"..origin.."_"..nodename.."_arc".." 5",
recipe = {
{ nodeid, nodeid, nodeid },
{ nodeid, "", "" },
{ nodeid, "", "" }
}
})
minetest.register_node(":pkarcs:"..origin.."_"..nodename.."_outer_arc", {
description = desc.." Outer Arc",
paramtype = "light",
paramtype2 = "facedir",
@ -110,17 +72,15 @@ for i in ipairs(materials) do
groups = group,
sounds = sound,
})
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",
@ -162,145 +122,14 @@ for i in ipairs(materials) do
groups = group,
sounds = sound,
})
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_craft({
output = "pkarcs:"..nodename.."_arc".." 5",
recipe = {
{ "darkage:"..nodename, "darkage:"..nodename, "darkage:"..nodename },
{ "darkage:"..nodename, "", "" },
{ "darkage:"..nodename, "", "" }
}
})
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})