--[[ Tube Library ============ Copyright (C) 2017-2020 Joachim Stolberg AGPL v3 See LICENSE.txt for more information repairkit.lua: ]]-- -- Load support for I18n local S = tubelib.S -- for lazy programmers local P = minetest.string_to_pos local M = minetest.get_meta local function destroy_node(itemstack, placer, pointed_thing) if pointed_thing.type == "node" then local pos = pointed_thing.under if not minetest.is_protected(pos, placer:get_player_name()) then M(pos):set_int("tubelib_aging", 999999) end end end local function repair_node(itemstack, user, pointed_thing) local pos = pointed_thing.under if pos then if tubelib.repair_node(pos) then minetest.chat_send_player(user:get_player_name(), S("[Tubelib] Node repaired")) itemstack:take_item() return itemstack end end return end local function read_state(itemstack, user, pointed_thing) local pos = pointed_thing.under if pos then local number = tubelib.get_node_number(pos) if number then local state = tubelib.send_request(number, "state", nil) local counter = tubelib.send_request(number, "counter", nil) local aging = tubelib.send_request(number, "aging", nil) if state and counter and aging then if type(counter) ~= "number" then counter = "unknown" end minetest.chat_send_player(user:get_player_name(), S("[Tubelib] state").." ="..state..", "..S("counter").." = "..counter..", "..S("aging").." = "..aging) end end end end minetest.register_craftitem("tubelib:repairkit", { description = S("Tubelib Repair Kit"), inventory_image = "tubelib_repairkit.png", wield_image = "tubelib_repairkit.png^[transformR270", groups = {cracky=1, book=1}, on_use = repair_node, node_placement_prediction = "", }) minetest.register_node("tubelib:end_wrench", { description = S("Tubelib End Wrench (use = read status, place = destroy)"), inventory_image = "tubelib_end_wrench.png", wield_image = "tubelib_end_wrench.png", groups = {cracky=1, book=1}, on_use = read_state, on_place = destroy_node, node_placement_prediction = "", }) minetest.register_craft({ output = "tubelib:repairkit", recipe = { {"", "basic_materials:gear_steel", ""}, {"", "tubelib:end_wrench", ""}, {"", "basic_materials:oil_extract", ""}, }, }) minetest.register_craft({ output = "tubelib:end_wrench 4", recipe = { {"", "", "default:steel_ingot"}, {"", "default:tin_ingot", ""}, {"default:steel_ingot", "", ""}, }, })