| | |
| | | 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 |
| | | |
| | |
| | | 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 |
| | | |
| | |
| | | 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 |
| | | |
| | | |
| | |
| | | return p |
| | | end, vector.round(pos) |
| | | end |
| | | |