From 416865206b8f38b274ecf1bb255265fe6cd13400 Mon Sep 17 00:00:00 2001 From: unknown Date: Fri, 31 Jul 2015 14:08:38 -0400 Subject: [PATCH] added interdiction stone and respective texture --- energy_collector.lua | 123 ++++++++++++------ normal_items.lua | 2 + ...equivalent_exchange_interdiction_stone.png | Bin 0 -> 719 bytes 3 files changed, 84 insertions(+), 41 deletions(-) create mode 100644 textures/equivalent_exchange_interdiction_stone.png diff --git a/energy_collector.lua b/energy_collector.lua index eab7ac5..59e83e9 100644 --- a/energy_collector.lua +++ b/energy_collector.lua @@ -1,11 +1,10 @@ collector = { - emc_gather = function(orig_emc, mark) - return orig_emc + (10^(mark - 1)) + emc_gather = function(orig_emc, mark,multiplier) + return orig_emc + (10^(mark - 1)) * multiplier end, - emc_transfer = function(mark,pos) + emc_transfer = function(mark,pos,multiplier) local meta = minetest.get_meta(pos) local emc = meta:get_int("emc") - local newemc = (collector.emc_gather(emc, mark)) local surrounding_nodes = { minetest.get_meta({x = pos.x + 1, y = pos.y, z = pos.z}), minetest.get_meta({x = pos.x - 1, y = pos.y, z = pos.z}), @@ -22,6 +21,7 @@ collector = { emc_transferable_nodes_length = emc_transferable_nodes_length + 1 end end + local newemc = (collector.emc_gather(emc, mark, multiplier)) local distribution = math.floor(newemc / emc_transferable_nodes_length) for j = 1,emc_transferable_nodes_length do meta:set_string("formspec", @@ -33,6 +33,13 @@ collector = { emc_transferable_nodes[j]:set_int("emc", (emc_transferable_nodes[j]:get_int("emc") + distribution)) end end, + check_multiplier = function(pos) + local multiplier = 1 + if minetest.get_meta({x = pos.x, y = pos.y + 1, z = pos.z}):get_int("multiplier") == 2 then + multiplier = 2 + end + return multiplier + end, } -- Registering ABMs -- @@ -44,13 +51,14 @@ minetest.register_abm({ action = function(pos, node, active_object_count, active_object_count_wider) local meta = minetest.get_meta(pos) local emc = meta:get_int("emc") + local multiplier = collector.check_multiplier(pos) meta:set_string("formspec", "size[6,1.5]".. "label[0,0;Energy Collector Mark 1]".. - "label[4,0;EMC Stored: "..collector.emc_gather(emc,1).."]".. + "label[4,0;EMC Stored: "..collector.emc_gather(emc,1,multiplier).."]".. "list[current_name;container;0,0.5;6,1;]") - meta:set_int("emc",collector.emc_gather(emc,1)) - collector.emc_transfer(1,pos) + meta:set_int("emc",collector.emc_gather(emc,1,multiplier)) + collector.emc_transfer(1,pos,multiplier) end, }) @@ -61,13 +69,14 @@ minetest.register_abm({ action = function(pos, node, active_object_count, active_object_count_wider) local meta = minetest.get_meta(pos) local emc = meta:get_int("emc") + local multiplier = collector.check_multiplier(pos) meta:set_string("formspec", "size[6,1.5]".. "label[0,0;Energy Collector Mark 2]".. - "label[4,0;EMC Stored: "..collector.emc_gather(emc,2).."]".. + "label[4,0;EMC Stored: "..collector.emc_gather(emc,2,multiplier).."]".. "list[current_name;container;0,0.5;6,1;]") - meta:set_int("emc",collector.emc_gather(emc,2)) - collector.emc_transfer(2,pos) + meta:set_int("emc",collector.emc_gather(emc,2,multiplier)) + collector.emc_transfer(2,pos,multiplier) end, }) @@ -78,13 +87,14 @@ minetest.register_abm({ action = function(pos, node, active_object_count, active_object_count_wider) local meta = minetest.get_meta(pos) local emc = meta:get_int("emc") + local multiplier = collector.check_multiplier(pos) meta:set_string("formspec", "size[6,1.5]".. "label[0,0;Energy Collector Mark 3]".. - "label[4,0;EMC Stored: "..collector.emc_gather(emc,3).."]".. + "label[4,0;EMC Stored: "..collector.emc_gather(emc,3,multiplier).."]".. "list[current_name;container;0,0.5;6,1;]") - meta:set_int("emc",collector.emc_gather(emc,3)) - collector.emc_transfer(3,pos) + meta:set_int("emc",collector.emc_gather(emc,3,multiplier)) + collector.emc_transfer(3,pos,multiplier) end, }) @@ -106,15 +116,15 @@ minetest.register_node("equivalent_exchange:energy_collector_mk1", { sounds = default.node_sound_stone_defaults(), on_construct = function(pos) local meta = minetest.get_meta(pos) - meta:set_string("formspec", - "size[6,1.5]".. - "label[0,0;Energy Collector Mark 1]".. - "label[4,0;EMC Stored: 0]".. - "list[current_name;container;0,0.5;6,1;]") - meta:set_string("infotext", "Energy Collector Mark 1") - meta:set_int("emc", 0) - local inv = meta:get_inventory() - inv:set_size("container", 6) + meta:set_string("formspec", + "size[6,1.5]".. + "label[0,0;Energy Collector Mark 1]".. + "label[4,0;EMC Stored: 0]".. + "list[current_name;container;0,0.5;6,1;]") + meta:set_string("infotext", "Energy Collector Mark 1") + meta:set_int("emc", 0) + local inv = meta:get_inventory() + inv:set_size("container", 6) end, can_dig = function(pos,player) local meta = minetest.env:get_meta(pos); @@ -140,15 +150,15 @@ minetest.register_node("equivalent_exchange:energy_collector_mk2", { sounds = default.node_sound_stone_defaults(), on_construct = function(pos) local meta = minetest.get_meta(pos) - meta:set_string("formspec", - "size[6,1.5]".. - "label[0,0;Energy Collector Mark 2]".. - "label[4,0;EMC Stored: 0]".. - "list[current_name;container;0,0.5;6,1;]") - meta:set_string("infotext", "Energy Collector Mark 2") - meta:set_int("emc", 0) - local inv = meta:get_inventory() - inv:set_size("container", 6) + meta:set_string("formspec", + "size[6,1.5]".. + "label[0,0;Energy Collector Mark 2]".. + "label[4,0;EMC Stored: 0]".. + "list[current_name;container;0,0.5;6,1;]") + meta:set_string("infotext", "Energy Collector Mark 2") + meta:set_int("emc", 0) + local inv = meta:get_inventory() + inv:set_size("container", 6) end, can_dig = function(pos,player) local meta = minetest.env:get_meta(pos); @@ -174,15 +184,15 @@ minetest.register_node("equivalent_exchange:energy_collector_mk3", { sounds = default.node_sound_stone_defaults(), on_construct = function(pos) local meta = minetest.get_meta(pos) - meta:set_string("formspec", - "size[6,1.5]".. - "label[0,0;Energy Collector Mark 3]".. - "label[4,0;EMC Stored: 0]".. - "list[current_name;container;0,0.5;6,1;]") - meta:set_string("infotext", "Energy Collector Mark 3") - meta:set_int("emc", 0) - local inv = meta:get_inventory() - inv:set_size("container", 6) + meta:set_string("formspec", + "size[6,1.5]".. + "label[0,0;Energy Collector Mark 3]".. + "label[4,0;EMC Stored: 0]".. + "list[current_name;container;0,0.5;6,1;]") + meta:set_string("infotext", "Energy Collector Mark 3") + meta:set_int("emc", 0) + local inv = meta:get_inventory() + inv:set_size("container", 6) end, can_dig = function(pos,player) local meta = minetest.env:get_meta(pos); @@ -191,6 +201,28 @@ minetest.register_node("equivalent_exchange:energy_collector_mk3", { end, emc = 529605 }) + +minetest.register_node("equivalent_exchange:interdiction_stone", { + description = "Interdiction Stone", + tiles = { + "equivalent_exchange_interdiction_stone.png", + "equivalent_exchange_interdiction_stone.png", + "equivalent_exchange_interdiction_stone.png", + "equivalent_exchange_interdiction_stone.png", + "equivalent_exchange_interdiction_stone.png", + "equivalent_exchange_interdiction_stone.png" + }, + paramtype2 = "facedir", + groups = {cracky = 1}, + is_ground_content = false, + sounds = default.node_sound_stone_defaults(), + light_source = 10, + on_construct = function(pos) + local meta = minetest.get_meta(pos) + meta:set_int("multiplier", 2) + end, +}) + -- Registering Crafts -- minetest.register_craft({ @@ -218,4 +250,13 @@ minetest.register_craft({ {"default:mese", "equivalent_exchange:energy_collector_mk2", "default:mese"}, {"default:mese", "default:mese", "default:mese"} } -}) \ No newline at end of file +}) + +minetest.register_craft({ + output = "equivalent_exchange:interdiction_stone", + recipe = { + {"default:torch", "equivalent_exchange:aeternalis_fuel", "default:torch"}, + {"equivalent_exchange:aeternalis_fuel", "equivalent_exchange:philosophers_stone", "equivalent_exchange:aeternalis_fuel"}, + {"equivalent_exchange:high_covalence", "equivalent_exchange:high_covalence", "equivalent_exchange:high_covalence"} + } +}) diff --git a/normal_items.lua b/normal_items.lua index 6ed0435..821b467 100644 --- a/normal_items.lua +++ b/normal_items.lua @@ -72,3 +72,5 @@ minetest.register_craft({ }) + + diff --git a/textures/equivalent_exchange_interdiction_stone.png b/textures/equivalent_exchange_interdiction_stone.png new file mode 100644 index 0000000000000000000000000000000000000000..cc2b6d070a9542f96865a35e0fe82dbbc98fa941 GIT binary patch literal 719 zcmV;=0xfxhOD06B5i35ezM@ zT$B;CC~(Hnu!Xx8{w>a^bLW1Y79-vEzVPmz_u-u1dyb@f+LdD*6QFx>fSv7KdO9xP zU}1}eNrHq3sGvmnMEC?W)#v-KZ7$}{@MCDHCD_^C1t23fj@UR@SR_b@0dgeJ5Dy=V z1OUIc{{UbB^mLr3ud|EKTUFY`p-mjJlBQJsN~yX=R!)#L(qtsf>QXE{)pnl{+e1M0X8mZzD@58)lLfrPQZ*MKHIO*}>`@0rXGa<^Qfu7}jL z!R_^FrV2wm+gQX^4;K$F3gT~U;$v!p<;|ZwymXCyb$OY;$%FDd0OR>v)V0CWu0GyW zzi^}TGA>>#k5o^)W_wQoaJ@56N^EQ_EHOzOWgVh~gf!L1#pC1VIsmn`-Bt_da;E{< zSC{>$)q5>Eq^9xRiw>!4gL>owkjtHoD>%+N{{?g5`}6Oi$SnW>002ovPDHLkV1iWs BI*tGU literal 0 HcmV?d00001