Maciej 'agaran' Pijanka
2017-03-15 10307f23a78b33af50dc4a5f3d1baafb4ee4b0d9
technic/machines/other/frames.lua
@@ -120,7 +120,7 @@
   for _, pos in ipairs(poslist) do
      for _,object in ipairs(minetest.get_objects_inside_radius(pos, 1)) do
         local entity = object:get_luaentity()
         if not entity or not mesecon:is_mvps_unmov(entity.name) then
         if not entity or not mesecon.is_mvps_unmov(entity.name) then
            add_table(objects, object)
         end
      end
@@ -320,7 +320,7 @@
         else
            --local pointed_thing = {type = "node", under = pos}
            if pointed_thing then
               minetest.item_place_node(itemstack, placer, pointed_thing)
               return minetest.item_place_node(itemstack, placer, pointed_thing)
            end
         end
      end,
@@ -465,9 +465,9 @@
   end,
})
mesecon:register_mvps_unmov("technic:frame_entity")
mesecon:register_mvps_unmov("technic:damage_entity")
mesecon:register_on_mvps_move(function(moved_nodes)
mesecon.register_mvps_unmov("technic:frame_entity")
mesecon.register_mvps_unmov("technic:damage_entity")
mesecon.register_on_mvps_move(function(moved_nodes)
   local to_move = {}
   for _, n in ipairs(moved_nodes) do
      if frames_pos[pos_to_string(n.oldpos)] ~= nil then
@@ -542,11 +542,15 @@
      nnode.name = frames_pos[pos_to_string(nnodepos)]
   end
   local meta = minetest.get_meta(pos)
   if meta:get_int("last_moved") == minetest.get_gametime() then
      return
   end
   local owner = meta:get_string("owner")
   if minetest.registered_nodes[nnode.name].frame==1 then
      local connected_nodes=get_connected_nodes(nnodepos)
      move_nodes_vect(connected_nodes,dir,pos,owner)
   end
   minetest.get_meta(vector.add(pos, dir)):set_int("last_moved", minetest.get_gametime())
end
minetest.register_node("technic:frame_motor",{
@@ -798,11 +802,11 @@
})
minetest.register_tool("technic:template_tool",{
   description = S("Template tool"),
   description = S("Template Tool"),
   inventory_image = "technic_template_tool.png",
   on_use = function(itemstack, puncher, pointed_thing)
      local pos = pointed_thing.under
      if pos == nil or (minetest.is_protected and minetest.is_protected(pos, placer:get_player_name())) then
      if pos == nil or (minetest.is_protected and minetest.is_protected(pos, puncher:get_player_name())) then
         return nil
      end
      local node = minetest.get_node(pos)
@@ -843,15 +847,19 @@
   local dir = minetest.facedir_to_dir(node.param2)
   local nnode=minetest.get_node(nnodepos)
   local meta = minetest.get_meta(pos)
   if meta:get_int("last_moved") == minetest.get_gametime() then
      return
   end
   local owner = meta:get_string("owner")
   if nnode.name == "technic:template" then
      local connected_nodes=get_template_nodes(nnodepos)
      move_nodes_vect(connected_nodes,dir,pos,owner)
   end
   minetest.get_meta(vector.add(pos, dir)):set_int("last_moved", minetest.get_gametime())
end
minetest.register_node("technic:template_motor",{
   description = S("Template motor"),
   description = S("Template Motor"),
   tiles = {"pipeworks_filter_top.png^[transformR90", "technic_lv_cable.png", "technic_lv_cable.png",
      "technic_lv_cable.png", "technic_lv_cable.png", "technic_lv_cable.png"},
   groups = {snappy=2,choppy=2,oddly_breakable_by_hand=2,mesecon=2},
@@ -877,7 +885,7 @@
   output = 'technic:frame_motor',
   recipe = {
      {'',               'technic:frame_111111',   ''},
      {'group:mesecons_conductor_craftable',   'technic:motor',   'group:mesecons_conductor_craftable'},
      {'group:mesecon_conductor_craftable',   'technic:motor',   'group:mesecon_conductor_craftable'},
      {'',               'technic:frame_111111',   ''},
   }
})
@@ -905,7 +913,7 @@
   output = 'technic:template_motor',
   recipe = {
      {'',               'technic:template',   ''},
      {'group:mesecons_conductor_craftable',   'technic:motor',   'group:mesecons_conductor_craftable'},
      {'group:mesecon_conductor_craftable',   'technic:motor',   'group:mesecon_conductor_craftable'},
      {'',               'technic:template',   ''},
   }
})