| | |
| | | wear_represents = "technic_RE_charge", |
| | | on_refill = technic.refill_RE_charge, |
| | | on_use = function(itemstack, user, pointed_thing) |
| | | local meta = minetest.deserialize(itemstack:get_metadata()) |
| | | if not meta or not meta.charge then |
| | | local meta = technic.get_stack_meta(itemstack) |
| | | local charge = meta:get_int("technic:charge") |
| | | if charge < vacuum_charge_per_object then |
| | | return |
| | | end |
| | | if meta.charge > vacuum_charge_per_object then |
| | | minetest.sound_play("vacuumcleaner", { |
| | | to_player = user:get_player_name(), |
| | | gain = 0.4, |
| | | }) |
| | | end |
| | | local pos = user:getpos() |
| | | minetest.sound_play("vacuumcleaner", { |
| | | to_player = user:get_player_name(), |
| | | gain = 0.4, |
| | | }) |
| | | local pos = user:get_pos() |
| | | local inv = user:get_inventory() |
| | | for _, object in ipairs(minetest.get_objects_inside_radius(pos, vacuum_range)) do |
| | | local luaentity = object:get_luaentity() |
| | | if not object:is_player() and luaentity and luaentity.name == "__builtin:item" and luaentity.itemstring ~= "" then |
| | | if inv and inv:room_for_item("main", ItemStack(luaentity.itemstring)) then |
| | | meta.charge = meta.charge - vacuum_charge_per_object |
| | | if meta.charge < vacuum_charge_per_object then |
| | | charge = charge - vacuum_charge_per_object |
| | | if charge < vacuum_charge_per_object then |
| | | return |
| | | end |
| | | inv:add_item("main", ItemStack(luaentity.itemstring)) |
| | |
| | | end |
| | | end |
| | | end |
| | | |
| | | technic.set_RE_wear(itemstack, meta.charge, vacuum_max_charge) |
| | | itemstack:set_metadata(minetest.serialize(meta)) |
| | | |
| | | meta:set_int("technic:charge", charge) |
| | | technic.set_RE_wear(itemstack, charge, vacuum_max_charge) |
| | | return itemstack |
| | | end, |
| | | }) |
| | |
| | | output = 'technic:vacuum', |
| | | recipe = { |
| | | {'pipeworks:tube_1', 'pipeworks:filter', 'technic:battery'}, |
| | | {'pipeworks:tube_1', 'technic:motor', 'technic:battery'}, |
| | | {'pipeworks:tube_1', 'basic_materials:motor', 'technic:battery'}, |
| | | {'technic:stainless_steel_ingot', '', ''}, |
| | | } |
| | | }) |