From 0983c2b14baf88a07b3b22953ed5f2bddc16fb09 Mon Sep 17 00:00:00 2001 From: runs Date: Mon, 11 May 2020 21:55:50 +0200 Subject: [PATCH] fixes --- init.lua | 49 +++++++++++++++++++++---- locale/fireworkz.es.tr | 1 + mod.conf | 1 + textures/fireworkz_rocket_launcher.png | Bin 0 -> 2712 bytes 4 files changed, 44 insertions(+), 7 deletions(-) create mode 100644 textures/fireworkz_rocket_launcher.png diff --git a/init.lua b/init.lua index 7785c34..ca264b4 100644 --- a/init.lua +++ b/init.lua @@ -153,7 +153,7 @@ local rocket = { timer = 0, rocket_firetime = 0, rocket_flytime = 0, - rdt = {} + rdt = {} -- rocket data table } --Entity Registration @@ -224,6 +224,8 @@ for _, i in pairs(variant_list) do end inv_image = inv_image .. i.colour .. ".png" + local rdt = i.rdt or {{color = i.colour, figure = i.figure, form = i.form},} + minetest.register_node("fireworkz:rocket_"..i.figure.."_"..i.colour, { description = S("Rocket").." (".. i.desc .. "|"..figure_desc..")", drawtype = "plantlike", @@ -246,9 +248,7 @@ for _, i in pairs(variant_list) do local rocket_node = minetest.get_node(pos) if rocket_node.name == node.name then minetest.remove_node(pos) - local obj = minetest.add_entity(pos, "fireworkz:rocket") - local obj_ent = obj:get_luaentity() - obj_ent.rdt = i.rdt or {{color = i.colour, figure = i.figure, form = i.form},} + fireworkz.launch(pos, rdt) end end, node, pos) end @@ -257,14 +257,23 @@ for _, i in pairs(variant_list) do on_use = function(itemstack, user, pointed_thing) pos = minetest.get_pointed_thing_position(pointed_thing, above) if pos then - local obj = minetest.add_entity(pos, "fireworkz:rocket") --activate - local obj_ent = obj:get_luaentity() - obj_ent.rdt = i.rdt or {{color = i.colour, figure = i.figure, form = i.form},} + fireworkz.launch(pos, rdt) end end, + + on_construct = function(pos) + local meta = minetest.get_meta(pos) + meta:set_string("firework:rdt", minetest.serialize(rdt)) + end, }) end +fireworkz.launch = function(pos, rdt) + local obj = minetest.add_entity(pos, "fireworkz:rocket") --activate + local obj_ent = obj:get_luaentity() + obj_ent.rdt = rdt +end + -- Craffitems minetest.register_craft({ @@ -383,3 +392,29 @@ minetest.register_craft({ {"", "default:coal_lump", ""} }, }) + +--Mesecons Support + +if minetest.get_modpath("mesecons") ~= nil then + minetest.register_node("fireworkz:launcher", { + description = S("Firework Rocket Launcher"), + tiles = {"fireworkz_rocket_launcher.png"}, + is_ground_content = false, + groups = {cracky = 2, stone = 1}, + sounds = default.node_sound_stone_defaults(), + mesecons = {effector = { + action_on = function (pos, node) + pos.y = pos. y + 1 + local node = minetest.get_node_or_nil(pos) + if node then + if node.name:sub(1, 16) == "fireworkz:rocket" then + local meta = minetest.get_meta(pos) + local rdt = minetest.deserialize(meta:get_string("firework:rdt")) + minetest.remove_node(pos) + fireworkz.launch(pos, rdt) + end + end + end, + }} +}) +end diff --git a/locale/fireworkz.es.tr b/locale/fireworkz.es.tr index dff6515..4c23d6a 100644 --- a/locale/fireworkz.es.tr +++ b/locale/fireworkz.es.tr @@ -11,3 +11,4 @@ Default=Defecto Ball=Bola Love Ball=Bola de amor Custom=Personalizado +Firework Rocket Launcher=Lanzador de fuegos artificiales diff --git a/mod.conf b/mod.conf index d8cc4f8..8374f73 100644 --- a/mod.conf +++ b/mod.conf @@ -1,2 +1,3 @@ name = fireworkz depends = default +optional_depends = mesecons diff --git a/textures/fireworkz_rocket_launcher.png b/textures/fireworkz_rocket_launcher.png new file mode 100644 index 0000000000000000000000000000000000000000..db090b44dc0d909793355a3dcbfe0f7dcc42d818 GIT binary patch literal 2712 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 S@JBKL0000