From 109e3e73b0ffb0f6e187bede8fde77a06305ab50 Mon Sep 17 00:00:00 2001 From: Milan Date: Mon, 9 Oct 2017 22:40:17 +0200 Subject: [PATCH] overhaul all teh code! :tada: --- init.lua | 221 ++++++---------------------------------------- readme.md | 18 ++++ registrations.lua | 19 ++++ 3 files changed, 62 insertions(+), 196 deletions(-) create mode 100644 registrations.lua diff --git a/init.lua b/init.lua index ed95ec7..58d399b 100644 --- a/init.lua +++ b/init.lua @@ -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") diff --git a/readme.md b/readme.md index 24613dd..de1f513 100644 --- a/readme.md +++ b/readme.md @@ -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) diff --git a/registrations.lua b/registrations.lua new file mode 100644 index 0000000..1f3a8ba --- /dev/null +++ b/registrations.lua @@ -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})