diff --git a/technic/doc/api.md b/technic/doc/api.md index 298594bf..619155f5 100644 --- a/technic/doc/api.md +++ b/technic/doc/api.md @@ -64,17 +64,17 @@ Power tool API * Callback will be used to get itemstack charge and max\_charge. * Have to return values `charge, max_charge`. * E.g. `local charge, maxcharge = itemdef.technic_get_charge(itemstack)`. - * Defaults to `technic.get_RE_charge` which handles tool wear and charge values. + * Defaults to `technic.get_charge` which handles tool wear and charge values. * `technic_set_charge = function(itemstack, charge) ...`: * Callback will be used to set itemstack charge. - * Defaults to `technic.set_RE_charge` which handles tool wear and charge values. -* `technic.get_RE_charge(itemstack)` + * Defaults to `technic.set_charge` which handles tool wear and charge values. +* `technic.get_charge(itemstack)` * Returns current charge level of tool. * For tool charger mods it is recommended to use `.technic_get_charge(stack)` instead. -* `technic.set_RE_charge(itemstack, charge)` +* `technic.set_charge(itemstack, charge)` * Sets tool charge level. * For tool charger mods it is recommended to use `.technic_set_charge(stack, charge)` instead. -* `technic.use_RE_charge(itemstack, charge)` +* `technic.use_charge(itemstack, charge)` * Attempt to use charge and return `true`/`false` indicating success. * Always succeeds without checking charge level if creative is enabled. diff --git a/technic/helpers.lua b/technic/helpers.lua index b860e067..c1815424 100644 --- a/technic/helpers.lua +++ b/technic/helpers.lua @@ -62,7 +62,7 @@ function technic.swap_node(pos, name) end end -function technic.set_RE_charge(stack, charge) +function technic.set_charge(stack, charge) local wear_factor = stack:get_definition().technic_wear_factor if wear_factor then local wear = math.floor(charge * wear_factor + 0.5) @@ -70,7 +70,7 @@ function technic.set_RE_charge(stack, charge) end end -function technic.get_RE_charge(stack) +function technic.get_charge(stack) local def = stack:get_definition() if def.technic_wear_factor then local wear = stack:get_wear() @@ -79,12 +79,12 @@ function technic.get_RE_charge(stack) return 0, 0 end -function technic.use_RE_charge(stack, amount) +function technic.use_charge(stack, amount) if technic.creative_mode or amount <= 0 then -- Do not check charge in creative mode or when trying to use zero amount return true end - local charge = technic.get_RE_charge(stack) + local charge = technic.get_charge(stack) if charge < amount then -- Not enough energy available return false diff --git a/technic/machines/compat/digtron.lua b/technic/machines/compat/digtron.lua index f7779128..f7c64da2 100644 --- a/technic/machines/compat/digtron.lua +++ b/technic/machines/compat/digtron.lua @@ -36,14 +36,14 @@ local function tap_batteries(battery_positions, target, test) end for i, itemstack in pairs(invlist) do - local charge = technic.get_RE_charge(itemstack) + local charge = technic.get_charge(itemstack) local power_available = math.floor(charge / digtron.config.power_ratio) if power_available ~= 0 then local actual_burned = power_available -- we just take all we have from the battery, since they aren't stackable -- don't bother recording the items if we're just testing, nothing is actually being removed. if test ~= true then -- since we are taking everything, the wear and charge can both be set to 0 - technic.set_RE_charge(itemstack, 0) + technic.set_charge(itemstack, 0) end current_burned = current_burned + actual_burned end @@ -83,7 +83,7 @@ local function battery_holder_compat() -- Override battery holder local tube = minetest.registered_nodes["digtron:battery_holder"].tube tube.can_insert = function(pos, node, stack, direction) - if technic.get_RE_charge(stack) > 0 then + if technic.get_charge(stack) > 0 then local inv = minetest.get_meta(pos):get_inventory() return inv:room_for_item("batteries", stack) end @@ -91,7 +91,7 @@ local function battery_holder_compat() end minetest.override_item("digtron:battery_holder",{ allow_metadata_inventory_put = function(pos, listname, index, stack, player) - return (listname == "batteries" and technic.get_RE_charge(stack) > 0) and stack:get_count() or 0 + return (listname == "batteries" and technic.get_charge(stack) > 0) and stack:get_count() or 0 end, tube = tube, }) diff --git a/technic/machines/compat/tools.lua b/technic/machines/compat/tools.lua index 2581ae0a..a5d719bd 100644 --- a/technic/machines/compat/tools.lua +++ b/technic/machines/compat/tools.lua @@ -87,8 +87,8 @@ function technic.register_power_tool(itemname, def_or_max_charge) -- Add legacy meta handlers if mod did not attempt to read technic.plus value local modname = itemname:match(":?(.+):") if plus_aware[modname] then - overrides.technic_get_charge = redef.technic_get_charge or technic.get_RE_charge - overrides.technic_set_charge = redef.technic_set_charge or technic.set_RE_charge + overrides.technic_get_charge = redef.technic_get_charge or technic.get_charge + overrides.technic_set_charge = redef.technic_set_charge or technic.set_charge minetest.log("warning", "Mod "..modname.." seems to be aware of technic.plus but ".. itemname.." is still using deprecated registration, skipping meta charge compatibility.") elseif not redef.technic_get_charge and not redef.technic_set_charge then @@ -109,7 +109,11 @@ function technic.register_power_tool(itemname, def_or_max_charge) end end --- Same as `technic.set_RE_charge` but without calling through `itemdef.technic_set_charge`. +technic.set_RE_charge = assert(technic.set_charge) +technic.get_RE_charge = assert(technic.get_charge) +technic.use_RE_charge = assert(technic.use_charge) + +-- Same as `technic.set_charge` but without calling through `itemdef.technic_set_charge`. function technic.set_RE_wear(stack, charge) minetest.log("warning", "Use of deprecated function technic.set_RE_wear with stack: "..stack:get_name()) compat_set_RE_wear(stack, charge) diff --git a/technic/register.lua b/technic/register.lua index 5a07c400..ac695a8a 100644 --- a/technic/register.lua +++ b/technic/register.lua @@ -34,8 +34,8 @@ function technic.register_power_tool(itemname, itemdef) itemdef.wear_represents = itemdef.wear_represents or "technic_RE_charge" itemdef.technic_max_charge = max_charge itemdef.technic_wear_factor = 65535 / max_charge - itemdef.technic_get_charge = itemdef.technic_get_charge or technic.get_RE_charge - itemdef.technic_set_charge = itemdef.technic_set_charge or technic.set_RE_charge + itemdef.technic_get_charge = itemdef.technic_get_charge or technic.get_charge + itemdef.technic_set_charge = itemdef.technic_set_charge or technic.set_charge itemdef.on_refill = itemdef.on_refill or function(stack) local def = stack:get_definition() def.technic_set_charge(stack, def.technic_max_charge) diff --git a/technic/spec/tools_spec.lua b/technic/spec/tools_spec.lua index dbeb89a3..a10f7c8a 100644 --- a/technic/spec/tools_spec.lua +++ b/technic/spec/tools_spec.lua @@ -287,11 +287,11 @@ describe("Technic power tool", function() set_player_stack(stack) -- Use item, flashlight charge is used every globalstep and there's no on_use definition - spy.on(technic, "use_RE_charge") + spy.on(technic, "use_charge") for i=1, 100 do mineunit:execute_globalstep(1) end - assert.spy(technic.use_RE_charge).called(100) + assert.spy(technic.use_charge).called(100) -- Check that item charge was actually used and error is acceptable local charge_used = itemdef.technic_max_charge - technic.get_RE_charge(get_player_stack()) diff --git a/technic/tools/chainsaw.lua b/technic/tools/chainsaw.lua index c14eda83..6c5e925d 100644 --- a/technic/tools/chainsaw.lua +++ b/technic/tools/chainsaw.lua @@ -177,7 +177,7 @@ technic.register_power_tool("technic:chainsaw", { return end - local charge = technic.get_RE_charge(itemstack) + local charge = technic.get_charge(itemstack) if charge < chainsaw_charge_per_node then return end @@ -192,7 +192,7 @@ technic.register_power_tool("technic:chainsaw", { -- chainsaw will stop after digging a number of nodes charge = chainsaw_dig(pointed_thing.under, charge) if not technic.creative_mode then - technic.set_RE_charge(itemstack, charge) + technic.set_charge(itemstack, charge) end return itemstack end, diff --git a/technic/tools/flashlight.lua b/technic/tools/flashlight.lua index 23d0f137..23aa2e4b 100644 --- a/technic/tools/flashlight.lua +++ b/technic/tools/flashlight.lua @@ -33,7 +33,7 @@ local function check_for_flashlight(player) local inv = player:get_inventory() local hotbar = inv:get_list("main") for i = 1, 8 do - if hotbar[i]:get_name() == "technic:flashlight" and technic.use_RE_charge(hotbar[i], 2) then + if hotbar[i]:get_name() == "technic:flashlight" and technic.use_charge(hotbar[i], 2) then -- See https://github.com/minetest/minetest/issues/9377 for wield item animation inv:set_stack("main", i, hotbar[i]) return true diff --git a/technic/tools/mining_drill.lua b/technic/tools/mining_drill.lua index f0d78f85..a2d8766c 100644 --- a/technic/tools/mining_drill.lua +++ b/technic/tools/mining_drill.lua @@ -284,7 +284,7 @@ local function mining_drill_mk2_handler(itemstack, user, pointed_thing) return end local charge_to_take = cost_to_use(2, mode) - if technic.use_RE_charge(itemstack, charge_to_take) then + if technic.use_charge(itemstack, charge_to_take) then local pos = minetest.get_pointed_thing_position(pointed_thing, false) drill_dig_it(pos, user, mode) end @@ -302,7 +302,7 @@ local function mining_drill_mk3_handler(itemstack, user, pointed_thing) return end local charge_to_take = cost_to_use(3, mode) - if technic.use_RE_charge(itemstack, charge_to_take) then + if technic.use_charge(itemstack, charge_to_take) then local pos = minetest.get_pointed_thing_position(pointed_thing, false) drill_dig_it(pos, user, mode) end @@ -319,7 +319,7 @@ technic.register_power_tool("technic:mining_drill", { return itemstack end local charge_to_take = cost_to_use(1, 1) - if technic.use_RE_charge(itemstack, charge_to_take) then + if technic.use_charge(itemstack, charge_to_take) then local pos = minetest.get_pointed_thing_position(pointed_thing, false) drill_dig_it(pos, user, 1) end diff --git a/technic/tools/mining_lasers.lua b/technic/tools/mining_lasers.lua index f9998ed2..55a06b21 100644 --- a/technic/tools/mining_lasers.lua +++ b/technic/tools/mining_lasers.lua @@ -101,7 +101,7 @@ for _, m in pairs(mining_lasers_list) do range = 0, max_charge = m[3], on_use = function(itemstack, user) - local charge = technic.get_RE_charge(itemstack) + local charge = technic.get_charge(itemstack) if charge > 0 then local range = m[2] if charge < m[4] then @@ -111,7 +111,7 @@ for _, m in pairs(mining_lasers_list) do -- If charge is too low, give the laser a shorter range range = range * charge / m[4] end - technic.use_RE_charge(itemstack, math.min(m[4], charge)) + technic.use_charge(itemstack, math.min(m[4], charge)) laser_shoot(user, range, "technic_laser_beam_mk" .. m[1] .. ".png", "technic_laser_mk" .. m[1]) return itemstack end diff --git a/technic/tools/multimeter.lua b/technic/tools/multimeter.lua index 91269be0..2ca01293 100644 --- a/technic/tools/multimeter.lua +++ b/technic/tools/multimeter.lua @@ -63,7 +63,7 @@ minetest.register_craft({ }) local function use_charge(itemstack, multiplier) - return technic.use_RE_charge(itemstack, power_usage * (multiplier or 1)) + return technic.use_charge(itemstack, power_usage * (multiplier or 1)) end local function async_itemstack_get(player, refstack) diff --git a/technic/tools/prospector.lua b/technic/tools/prospector.lua index 0d96de07..b6d565cb 100644 --- a/technic/tools/prospector.lua +++ b/technic/tools/prospector.lua @@ -35,7 +35,7 @@ technic.register_power_tool("technic:prospector", { local look_depth, look_radius = get_field(meta) local look_diameter = look_radius * 2 + 1 local charge_to_take = look_depth * (look_depth + 1) * look_diameter * look_diameter - if not technic.use_RE_charge(toolstack, charge_to_take) then + if not technic.use_charge(toolstack, charge_to_take) then return toolstack end local start_pos = pointed_thing.under diff --git a/technic/tools/sonic_screwdriver.lua b/technic/tools/sonic_screwdriver.lua index 856f784c..f001794a 100644 --- a/technic/tools/sonic_screwdriver.lua +++ b/technic/tools/sonic_screwdriver.lua @@ -40,7 +40,7 @@ local function screwdriver_handler(itemstack, user, pointed_thing, mode) -- contrary to the default screwdriver, do not check for can_dig, to allow rotating machines with CLU's in them -- this is consistent with the previous sonic screwdriver - if not technic.use_RE_charge(itemstack, 100) then + if not technic.use_charge(itemstack, 100) then return end diff --git a/technic/tools/vacuum.lua b/technic/tools/vacuum.lua index 77808f61..37561779 100644 --- a/technic/tools/vacuum.lua +++ b/technic/tools/vacuum.lua @@ -10,7 +10,7 @@ technic.register_power_tool("technic:vacuum", { inventory_image = "technic_vacuum.png", max_charge = vacuum_max_charge, on_use = function(itemstack, user, pointed_thing) - local original_charge = technic.get_RE_charge(itemstack) + local original_charge = technic.get_charge(itemstack) if original_charge < vacuum_charge_per_object then return end @@ -34,7 +34,7 @@ technic.register_power_tool("technic:vacuum", { end end if not technic.creative_mode and charge ~= original_charge then - technic.set_RE_charge(itemstack, charge) + technic.set_charge(itemstack, charge) return itemstack end end,