diff --git a/equivalent_exchange/condenser.lua b/equivalent_exchange/condenser.lua index 9e42e77..02e9924 100644 --- a/equivalent_exchange/condenser.lua +++ b/equivalent_exchange/condenser.lua @@ -25,17 +25,17 @@ condenser = { emc = emc + local_emc * stack.count inventory:set_stack("from", i, {}) end - --print(dump(stack)) end end - local timesOver = math.floor(emc / target_emc) - emc = emc - timesOver * target_emc + local generate_amount = math.floor(emc / target_emc) + local times_over = math.floor(generate_amount / 99) + emc = emc - generate_amount * target_emc meta:set_int("emc", emc) - for i = 1, timesOver do + for i = 1, times_over do inventory:add_item("from", {name = target.name, count = 99}) end - if timesOver % 99 > 0 then - inventory:add_item("from", {name = target.name, count = timesOver % 99}) + if generate_amount % 99 > 0 then + inventory:add_item("from", {name = target.name, count = generate_amount % 99}) end meta:set_string("formspec", condenser.get_formspec(emc, target_emc)) end, diff --git a/equivalent_exchange_energy_collectors/energy_collector.lua b/equivalent_exchange_energy_collectors/energy_collector.lua index 5ac8ead..30dace6 100644 --- a/equivalent_exchange_energy_collectors/energy_collector.lua +++ b/equivalent_exchange_energy_collectors/energy_collector.lua @@ -25,36 +25,35 @@ collector = { end if emc_transferable_nodes_length == 0 then local generate_amount = math.floor(emc / 10) - local timesOver = math.floor(generate_amount / 99) + local times_over = math.floor(generate_amount / 99) local inventory = meta:get_inventory() local size = inventory:get_size("container") if emc >= 10 then meta:set_int("emc", emc - 10*generate_amount) if mark == 4 then meta:set_string("formspec", - "size[8,7.5]".. + "size[8,7.4]".. "label[0,0;Antimatter Collector]".. "label[4,0;EMC Stored: "..emc - 10*generate_amount.."]".. "list[current_name;container;0,0.5;8,7;]") else meta:set_string("formspec", - "size[8,7.5]".. + "size[8,7.4]".. "label[0,0;Energy Collector Mark "..mark.."]".. "label[4,0;EMC Stored: "..emc - 10*generate_amount.."]".. "list[current_name;container;0,0.5;8,7;]") end - for i = 1, timesOver do + for i = 1, times_over do inventory:add_item("container", {name = modname.."klein_star", count = 99}) end - if timesOver % 99 > 0 then - inventory:add_item("container", {name = modname.."klein_star", count = timesOver % 99}) + if generate_amount % 99 > 0 then + inventory:add_item("container", {name = modname.."klein_star", count = generate_amount % 99}) end 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 - print(mark) if mark == 4 then meta:set_string("formspec", "size[8,7.5]".. @@ -81,217 +80,69 @@ collector = { end, } +local register_name = {"mk1","mk2","mk3","antimatter_collector"} +local item_name = {"Energy Collector Mark 1","Energy Collector Mark 2","Energy Collector Mark 3", "Antimatter Collector"} + +for i = 1,4 do + -- Registering ABMs -- -minetest.register_abm({ - nodenames = {modname.."mk1"}, - interval = 1.0, - chance = 1, - 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[8,7.5]".. - "label[0,0;Energy Collector Mark 1]".. - "label[4,0;EMC Stored: "..collector.emc_gather(emc,1,multiplier).."]".. - "list[current_name;container;0,0.5;8,7;]") - meta:set_int("emc",collector.emc_gather(emc,1,multiplier)) - collector.emc_transfer(1,pos,multiplier) - end, -}) - -minetest.register_abm({ - nodenames = {modname.."mk2"}, - interval = 1.0, - chance = 1, - 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[8,7.5]".. - "label[0,0;Energy Collector Mark 2]".. - "label[4,0;EMC Stored: "..collector.emc_gather(emc,2,multiplier).."]".. - "list[current_name;container;0,0.5;8,7;]") - meta:set_int("emc",collector.emc_gather(emc,2,multiplier)) - collector.emc_transfer(2,pos,multiplier) - end, -}) - -minetest.register_abm({ - nodenames = {modname.."mk3"}, - interval = 1.0, - chance = 1, - 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[8,7.5]".. - "label[0,0;Energy Collector Mark 3]".. - "label[4,0;EMC Stored: "..collector.emc_gather(emc,3,multiplier).."]".. - "list[current_name;container;0,0.5;8,7;]") - meta:set_int("emc",collector.emc_gather(emc,3,multiplier)) - collector.emc_transfer(3,pos,multiplier) - end, -}) - -minetest.register_abm({ - nodenames = {modname.."antimatter_collector"}, - interval = 1.0, - chance = 1, - 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[8,7.5]".. - "label[0,0;Antimatter Collector]".. - "label[4,0;EMC Stored: "..collector.emc_gather(emc,4,multiplier).."]".. - "list[current_name;container;0,0.5;8,7;]") - meta:set_int("emc",collector.emc_gather(emc,4,multiplier)) - collector.emc_transfer(4,pos,multiplier) - end, -}) + minetest["register_abm"]({ + nodenames = {modname..register_name[i]}, + interval = 1.0, + chance = 1, + 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) + local emc_per = collector.emc_gather(emc,i,multiplier) + meta:set_string("formspec", + "size[8,7.4]".. + "label[0,0;"..item_name[i].."]".. + "label[4,0;EMC Stored: "..emc_per.."]".. + "list[current_name;container;0,0.5;8,7;]") + meta:set_int("emc", emc_per) + collector.emc_transfer(i,pos,multiplier) + end, + }) -- Registering Nodes -- -minetest.register_node(modname.."mk1", { - description = "Energy Collector Mark 1", - tiles = { - "ee_energy_collectors_energy_collector_mk1_top.png", - "ee_energy_collectors_energy_collector_mk1_bottom.png", - "ee_energy_collectors_energy_collector_mk1_side.png", - "ee_energy_collectors_energy_collector_mk1_side.png", - "ee_energy_collectors_energy_collector_mk1_side.png", - "ee_energy_collectors_energy_collector_mk1_side.png", - }, - paramtype2 = "facedir", - groups = {cracky = 2}, - is_ground_content = false, - sounds = default.node_sound_stone_defaults(), - on_construct = function(pos) - local meta = minetest.get_meta(pos) - meta:set_string("formspec", - "size[8,7.5]".. - "label[0,0;Energy Collector Mark 1]".. - "label[4,0;EMC Stored: 0]".. - "list[current_name;container;0,0.5;8,7;]") - meta:set_string("infotext", "Energy Collector Mark 1") - meta:set_int("emc", 0) - local inv = meta:get_inventory() - inv:set_size("container", 8*7) - end, - can_dig = function(pos,player) - local meta = minetest.env:get_meta(pos); - local inv = meta:get_inventory() - return inv:is_empty("container") - end, - emc = 529605 -}) + minetest["register_node"](":"..modname..register_name[i], { + description = item_name[i], + tiles = { + "ee_energy_collectors_"..register_name[i].."_top.png", + "ee_energy_collectors_"..register_name[i].."_bottom.png", + "ee_energy_collectors_"..register_name[i].."_side.png", + "ee_energy_collectors_"..register_name[i].."_side.png", + "ee_energy_collectors_"..register_name[i].."_side.png", + "ee_energy_collectors_"..register_name[i].."_side.png", + }, + paramtype2 = "facedir", + groups = {cracky = 2}, + is_ground_content = false, + sounds = default.node_sound_stone_defaults(), + on_construct = function(pos) + local meta = minetest.get_meta(pos) + meta:set_string("formspec", + "size[8,7.4]".. + "label[0,0;"..item_name[i].."]".. + "label[4,0;EMC Stored: 0]".. + "list[current_name;container;0,0.5;8,7;]") + meta:set_string("infotext", item_name[i]) + meta:set_int("emc", 0) + local inventory = meta:get_inventory() + inventory:set_size("container", 8*7) + end, + can_dig = function(pos,player) + local meta = minetest.env:get_meta(pos); + local inv = meta:get_inventory() + return inv:is_empty("container") + end, + --emc = emc[i] + }) -minetest.register_node(modname.."mk2", { - description = "Energy Collector Mark 2", - tiles = { - "ee_energy_collectors_energy_collector_mk2_top.png", - "ee_energy_collectors_energy_collector_mk2_bottom.png", - "ee_energy_collectors_energy_collector_mk2_side.png", - "ee_energy_collectors_energy_collector_mk2_side.png", - "ee_energy_collectors_energy_collector_mk2_side.png", - "ee_energy_collectors_energy_collector_mk2_side.png", - }, - paramtype2 = "facedir", - groups = {cracky = 2}, - is_ground_content = false, - sounds = default.node_sound_stone_defaults(), - on_construct = function(pos) - local meta = minetest.get_meta(pos) - meta:set_string("formspec", - "size[8,7.5]".. - "label[0,0;Energy Collector Mark 2]".. - "label[4,0;EMC Stored: 0]".. - "list[current_name;container;0,0.5;8,7;]") - meta:set_string("infotext", "Energy Collector Mark 2") - meta:set_int("emc", 0) - local inv = meta:get_inventory() - inv:set_size("container", 8*7) - end, - can_dig = function(pos,player) - local meta = minetest.env:get_meta(pos); - local inv = meta:get_inventory() - return inv:is_empty("container") - end, - emc = 529605 -}) - -minetest.register_node(modname.."mk3", { - description = "Energy Collector Mark 3", - tiles = { - "ee_energy_collectors_energy_collector_mk3_top.png", - "ee_energy_collectors_energy_collector_mk3_bottom.png", - "ee_energy_collectors_energy_collector_mk3_side.png", - "ee_energy_collectors_energy_collector_mk3_side.png", - "ee_energy_collectors_energy_collector_mk3_side.png", - "ee_energy_collectors_energy_collector_mk3_side.png", - }, - paramtype2 = "facedir", - groups = {cracky = 2}, - is_ground_content = false, - sounds = default.node_sound_stone_defaults(), - on_construct = function(pos) - local meta = minetest.get_meta(pos) - meta:set_string("formspec", - "size[8,7.5]".. - "label[0,0;Energy Collector Mark 3]".. - "label[4,0;EMC Stored: 0]".. - "list[current_name;container;0,0.5;8,7;]") - meta:set_string("infotext", "Energy Collector Mark 3") - meta:set_int("emc", 0) - local inv = meta:get_inventory() - inv:set_size("container", 8*7) - end, - can_dig = function(pos,player) - local meta = minetest.env:get_meta(pos); - local inv = meta:get_inventory() - return inv:is_empty("container") - end, - emc = 529605 -}) - -minetest.register_node(modname.."antimatter_collector", { - description = "Antimatter Collector", - tiles = { - "ee_energy_collectors_antimatter_collector_top.png", - "ee_energy_collectors_antimatter_collector_bottom.png", - "ee_energy_collectors_antimatter_collector_side.png", - "ee_energy_collectors_antimatter_collector_side.png", - "ee_energy_collectors_antimatter_collector_side.png", - "ee_energy_collectors_antimatter_collector_side.png", - }, - paramtype2 = "facedir", - groups = {cracky = 2}, - is_ground_content = false, - sounds = default.node_sound_stone_defaults(), - on_construct = function(pos) - local meta = minetest.get_meta(pos) - meta:set_string("formspec", - "size[8,7.5]".. - "label[0,0;Antimatter Collector]".. - "label[4,0;EMC Stored: 0]".. - "list[current_name;container;0,0.5;8,7;]") - meta:set_string("infotext", "Antimatter Collector") - meta:set_int("emc", 0) - local inv = meta:get_inventory() - inv:set_size("container", 8*7) - end, - can_dig = function(pos,player) - local meta = minetest.env:get_meta(pos); - local inv = meta:get_inventory() - return inv:is_empty("container") - end, - emc = 269554885 -}) +end minetest.register_node(modname.."interdiction_stone", { description = "Interdiction Stone", diff --git a/equivalent_exchange_energy_collectors/textures/ee_energy_collectors_energy_collector_mk1_bottom.png b/equivalent_exchange_energy_collectors/textures/ee_energy_collectors_mk1_bottom.png similarity index 100% rename from equivalent_exchange_energy_collectors/textures/ee_energy_collectors_energy_collector_mk1_bottom.png rename to equivalent_exchange_energy_collectors/textures/ee_energy_collectors_mk1_bottom.png diff --git a/equivalent_exchange_energy_collectors/textures/ee_energy_collectors_energy_collector_mk1_side.png b/equivalent_exchange_energy_collectors/textures/ee_energy_collectors_mk1_side.png similarity index 100% rename from equivalent_exchange_energy_collectors/textures/ee_energy_collectors_energy_collector_mk1_side.png rename to equivalent_exchange_energy_collectors/textures/ee_energy_collectors_mk1_side.png diff --git a/equivalent_exchange_energy_collectors/textures/ee_energy_collectors_energy_collector_mk1_top.png b/equivalent_exchange_energy_collectors/textures/ee_energy_collectors_mk1_top.png similarity index 100% rename from equivalent_exchange_energy_collectors/textures/ee_energy_collectors_energy_collector_mk1_top.png rename to equivalent_exchange_energy_collectors/textures/ee_energy_collectors_mk1_top.png diff --git a/equivalent_exchange_energy_collectors/textures/ee_energy_collectors_energy_collector_mk2_bottom.png b/equivalent_exchange_energy_collectors/textures/ee_energy_collectors_mk2_bottom.png similarity index 100% rename from equivalent_exchange_energy_collectors/textures/ee_energy_collectors_energy_collector_mk2_bottom.png rename to equivalent_exchange_energy_collectors/textures/ee_energy_collectors_mk2_bottom.png diff --git a/equivalent_exchange_energy_collectors/textures/ee_energy_collectors_energy_collector_mk2_side.png b/equivalent_exchange_energy_collectors/textures/ee_energy_collectors_mk2_side.png similarity index 100% rename from equivalent_exchange_energy_collectors/textures/ee_energy_collectors_energy_collector_mk2_side.png rename to equivalent_exchange_energy_collectors/textures/ee_energy_collectors_mk2_side.png diff --git a/equivalent_exchange_energy_collectors/textures/ee_energy_collectors_energy_collector_mk2_top.png b/equivalent_exchange_energy_collectors/textures/ee_energy_collectors_mk2_top.png similarity index 100% rename from equivalent_exchange_energy_collectors/textures/ee_energy_collectors_energy_collector_mk2_top.png rename to equivalent_exchange_energy_collectors/textures/ee_energy_collectors_mk2_top.png diff --git a/equivalent_exchange_energy_collectors/textures/ee_energy_collectors_energy_collector_mk3_bottom.png b/equivalent_exchange_energy_collectors/textures/ee_energy_collectors_mk3_bottom.png similarity index 100% rename from equivalent_exchange_energy_collectors/textures/ee_energy_collectors_energy_collector_mk3_bottom.png rename to equivalent_exchange_energy_collectors/textures/ee_energy_collectors_mk3_bottom.png diff --git a/equivalent_exchange_energy_collectors/textures/ee_energy_collectors_energy_collector_mk3_side.png b/equivalent_exchange_energy_collectors/textures/ee_energy_collectors_mk3_side.png similarity index 100% rename from equivalent_exchange_energy_collectors/textures/ee_energy_collectors_energy_collector_mk3_side.png rename to equivalent_exchange_energy_collectors/textures/ee_energy_collectors_mk3_side.png diff --git a/equivalent_exchange_energy_collectors/textures/ee_energy_collectors_energy_collector_mk3_top.png b/equivalent_exchange_energy_collectors/textures/ee_energy_collectors_mk3_top.png similarity index 100% rename from equivalent_exchange_energy_collectors/textures/ee_energy_collectors_energy_collector_mk3_top.png rename to equivalent_exchange_energy_collectors/textures/ee_energy_collectors_mk3_top.png