Gábriel
2024-07-07 6731db14e580ddccace186f5a8ac03dad0661e0c
technic/helpers.lua
@@ -65,15 +65,26 @@
end
--- Returns the meta of an item
-- Gets overridden when legacy.lua is loaded
function technic.get_stack_meta(itemstack)
   return itemstack:get_meta()
end
--- Same as technic.get_stack_meta for cans
function technic.get_stack_meta_cans(itemstack)
   return itemstack:get_meta()
end
--- Fully charge RE chargeable item.
-- Must be defined early to reference in item definitions.
function technic.refill_RE_charge(stack)
   local max_charge = technic.power_tools[stack:get_name()]
   if not max_charge then return stack end
   local meta = technic.get_stack_meta(stack)
   meta:set_int("technic:charge", max_charge)
   technic.set_RE_wear(stack, max_charge, max_charge)
   local meta = minetest.deserialize(stack:get_metadata()) or {}
   meta.charge = max_charge
   stack:set_metadata(minetest.serialize(meta))
   return stack
end
@@ -83,7 +94,7 @@
   local node = minetest.get_node_or_nil(pos)
   if node then return node end
   local vm = VoxelManip()
   local MinEdge, MaxEdge = vm:read_from_map(pos, pos)
   local _, _ = vm:read_from_map(pos, pos)
   return nil
end
@@ -91,8 +102,8 @@
technic.tube_inject_item = pipeworks.tube_inject_item or function(pos, start_pos, velocity, item)
   local tubed = pipeworks.tube_item(vector.new(pos), item)
   tubed:get_luaentity().start_pos = vector.new(start_pos)
   tubed:setvelocity(velocity)
   tubed:setacceleration(vector.new(0, 0, 0))
   tubed:set_velocity(velocity)
   tubed:set_acceleration(vector.new(0, 0, 0))
end
@@ -221,4 +232,3 @@
      return p
   end, vector.round(pos)
end