Use "technic:" prefix for charge meta key
This commit is contained in:
parent
66d75f1e77
commit
e6750afec8
|
@ -71,7 +71,7 @@ function technic.refill_RE_charge(stack)
|
||||||
local max_charge = technic.power_tools[stack:get_name()]
|
local max_charge = technic.power_tools[stack:get_name()]
|
||||||
if not max_charge then return stack end
|
if not max_charge then return stack end
|
||||||
local meta = technic.get_stack_meta_compat(stack)
|
local meta = technic.get_stack_meta_compat(stack)
|
||||||
meta:set_int("charge", max_charge)
|
meta:set_int("technic:charge", max_charge)
|
||||||
technic.set_RE_wear(stack, max_charge, max_charge)
|
technic.set_RE_wear(stack, max_charge, max_charge)
|
||||||
return stack
|
return stack
|
||||||
end
|
end
|
||||||
|
|
|
@ -39,6 +39,13 @@ for i = 0, 64 do
|
||||||
minetest.register_alias("technic:lv_cable"..i, "technic:lv_cable")
|
minetest.register_alias("technic:lv_cable"..i, "technic:lv_cable")
|
||||||
end
|
end
|
||||||
|
|
||||||
|
-- Item meta
|
||||||
|
|
||||||
|
-- Meta keys that have changed
|
||||||
|
technic.legacy_meta_keys = {
|
||||||
|
["charge"] = "technic:charge",
|
||||||
|
}
|
||||||
|
|
||||||
-- Converts legacy itemstack metadata to itemstack meta and returns the ItemStackMetaRef
|
-- Converts legacy itemstack metadata to itemstack meta and returns the ItemStackMetaRef
|
||||||
function technic.get_stack_meta_compat(itemstack)
|
function technic.get_stack_meta_compat(itemstack)
|
||||||
local meta = itemstack:get_meta()
|
local meta = itemstack:get_meta()
|
||||||
|
@ -48,8 +55,13 @@ function technic.get_stack_meta_compat(itemstack)
|
||||||
if metadata_table then
|
if metadata_table then
|
||||||
local table = meta:to_table()
|
local table = meta:to_table()
|
||||||
for k, v in pairs(metadata_table) do
|
for k, v in pairs(metadata_table) do
|
||||||
|
local legacy_key = technic.legacy_meta_keys[k]
|
||||||
|
if legacy_key then
|
||||||
|
table.fields[legacy_key] = v
|
||||||
|
else
|
||||||
table.fields[k] = v
|
table.fields[k] = v
|
||||||
end
|
end
|
||||||
|
end
|
||||||
meta:from_table(table)
|
meta:from_table(table)
|
||||||
end
|
end
|
||||||
meta:set_string("", "")
|
meta:set_string("", "")
|
||||||
|
|
|
@ -416,7 +416,7 @@ local function default_get_charge(itemstack)
|
||||||
return 0, 0
|
return 0, 0
|
||||||
end
|
end
|
||||||
local item_meta = technic.get_stack_meta_compat(itemstack)
|
local item_meta = technic.get_stack_meta_compat(itemstack)
|
||||||
return item_meta:get_int("charge"), technic.power_tools[tool_name]
|
return item_meta:get_int("technic:charge"), technic.power_tools[tool_name]
|
||||||
end
|
end
|
||||||
|
|
||||||
local function default_set_charge(itemstack, charge)
|
local function default_set_charge(itemstack, charge)
|
||||||
|
@ -425,7 +425,7 @@ local function default_set_charge(itemstack, charge)
|
||||||
technic.set_RE_wear(itemstack, charge, technic.power_tools[tool_name])
|
technic.set_RE_wear(itemstack, charge, technic.power_tools[tool_name])
|
||||||
end
|
end
|
||||||
local item_meta = technic.get_stack_meta_compat(itemstack)
|
local item_meta = technic.get_stack_meta_compat(itemstack)
|
||||||
item_meta:set_int("charge", charge)
|
item_meta:set_int("technic:charge", charge)
|
||||||
end
|
end
|
||||||
|
|
||||||
function technic.charge_tools(meta, batt_charge, charge_step)
|
function technic.charge_tools(meta, batt_charge, charge_step)
|
||||||
|
|
|
@ -314,7 +314,7 @@ minetest.register_tool("technic:chainsaw", {
|
||||||
end
|
end
|
||||||
|
|
||||||
local meta = technic.get_stack_meta_compat(itemstack)
|
local meta = technic.get_stack_meta_compat(itemstack)
|
||||||
local charge = meta:get_int("charge")
|
local charge = meta:get_int("technic:charge")
|
||||||
|
|
||||||
local name = user:get_player_name()
|
local name = user:get_player_name()
|
||||||
if minetest.is_protected(pointed_thing.under, name) then
|
if minetest.is_protected(pointed_thing.under, name) then
|
||||||
|
@ -330,7 +330,7 @@ minetest.register_tool("technic:chainsaw", {
|
||||||
cutter = {} -- Free RAM
|
cutter = {} -- Free RAM
|
||||||
|
|
||||||
if not technic.creative_mode then
|
if not technic.creative_mode then
|
||||||
meta:set_int("charge", charge)
|
meta:set_int("technic:charge", charge)
|
||||||
technic.set_RE_wear(itemstack, charge, chainsaw_max_charge)
|
technic.set_RE_wear(itemstack, charge, chainsaw_max_charge)
|
||||||
end
|
end
|
||||||
return itemstack
|
return itemstack
|
||||||
|
|
|
@ -39,11 +39,11 @@ local function check_for_flashlight(player)
|
||||||
for i = 1, 8 do
|
for i = 1, 8 do
|
||||||
if hotbar[i]:get_name() == "technic:flashlight" then
|
if hotbar[i]:get_name() == "technic:flashlight" then
|
||||||
local meta = technic.get_stack_meta_compat(hotbar[i])
|
local meta = technic.get_stack_meta_compat(hotbar[i])
|
||||||
local charge = meta:get_int("charge")
|
local charge = meta:get_int("technic:charge")
|
||||||
if charge >= 2 then
|
if charge >= 2 then
|
||||||
if not technic.creative_mode then
|
if not technic.creative_mode then
|
||||||
charge = charge - 2;
|
charge = charge - 2;
|
||||||
meta:set_int("charge", charge)
|
meta:set_int("technic:charge", charge)
|
||||||
technic.set_RE_wear(hotbar[i], charge, flashlight_max_charge)
|
technic.set_RE_wear(hotbar[i], charge, flashlight_max_charge)
|
||||||
inv:set_stack("main", i, hotbar[i])
|
inv:set_stack("main", i, hotbar[i])
|
||||||
end
|
end
|
||||||
|
|
|
@ -279,7 +279,7 @@ local function mining_drill_mkX_handler(itemstack, user, pointed_thing, drill_ty
|
||||||
return
|
return
|
||||||
end
|
end
|
||||||
|
|
||||||
local charge = meta:get_int("charge")
|
local charge = meta:get_int("technic:charge")
|
||||||
local mode = meta:contains("mode") and meta:get_int("mode") or 1
|
local mode = meta:contains("mode") and meta:get_int("mode") or 1
|
||||||
|
|
||||||
-- Check whether the tool has enough charge
|
-- Check whether the tool has enough charge
|
||||||
|
@ -292,7 +292,7 @@ local function mining_drill_mkX_handler(itemstack, user, pointed_thing, drill_ty
|
||||||
local pos = minetest.get_pointed_thing_position(pointed_thing, false)
|
local pos = minetest.get_pointed_thing_position(pointed_thing, false)
|
||||||
drill_dig_it(pos, user, mode)
|
drill_dig_it(pos, user, mode)
|
||||||
if not technic.creative_mode then
|
if not technic.creative_mode then
|
||||||
meta:set_int("charge", charge)
|
meta:set_int("technic:charge", charge)
|
||||||
technic.set_RE_wear(itemstack, charge, max_charge[drill_type])
|
technic.set_RE_wear(itemstack, charge, max_charge[drill_type])
|
||||||
end
|
end
|
||||||
return itemstack
|
return itemstack
|
||||||
|
|
|
@ -102,7 +102,7 @@ for _, m in pairs(mining_lasers_list) do
|
||||||
on_refill = technic.refill_RE_charge,
|
on_refill = technic.refill_RE_charge,
|
||||||
on_use = function(itemstack, user)
|
on_use = function(itemstack, user)
|
||||||
local meta = technic.get_stack_meta_compat(itemstack)
|
local meta = technic.get_stack_meta_compat(itemstack)
|
||||||
local charge = meta:get_int("charge")
|
local charge = meta:get_int("technic:charge")
|
||||||
if charge == 0 then
|
if charge == 0 then
|
||||||
return
|
return
|
||||||
end
|
end
|
||||||
|
@ -119,7 +119,7 @@ for _, m in pairs(mining_lasers_list) do
|
||||||
"technic_laser_mk" .. m[1])
|
"technic_laser_mk" .. m[1])
|
||||||
if not technic.creative_mode then
|
if not technic.creative_mode then
|
||||||
charge = math.max(charge - m[4], 0)
|
charge = math.max(charge - m[4], 0)
|
||||||
meta:set_int("charge", charge)
|
meta:set_int("technic:charge", charge)
|
||||||
technic.set_RE_wear(itemstack, charge, m[3])
|
technic.set_RE_wear(itemstack, charge, m[3])
|
||||||
end
|
end
|
||||||
return itemstack
|
return itemstack
|
||||||
|
|
|
@ -7,7 +7,7 @@ local function meta_to_table(meta)
|
||||||
local t = {}
|
local t = {}
|
||||||
local mt = meta:to_table()
|
local mt = meta:to_table()
|
||||||
|
|
||||||
t.charge = tonumber(mt.fields.charge) or 0
|
t.charge = tonumber(mt.fields["technic:charge"]) or 0
|
||||||
t.target = mt.fields.target or ""
|
t.target = mt.fields.target or ""
|
||||||
t.look_depth = tonumber(mt.fields.look_depth) or 7
|
t.look_depth = tonumber(mt.fields.look_depth) or 7
|
||||||
t.look_radius = tonumber(mt.fields.look_radius) or 1
|
t.look_radius = tonumber(mt.fields.look_radius) or 1
|
||||||
|
@ -33,7 +33,7 @@ minetest.register_tool("technic:prospector", {
|
||||||
end
|
end
|
||||||
if not technic.creative_mode then
|
if not technic.creative_mode then
|
||||||
toolmeta.charge = toolmeta.charge - charge_to_take
|
toolmeta.charge = toolmeta.charge - charge_to_take
|
||||||
meta:set_int("charge", toolmeta.charge)
|
meta:set_int("technic:charge", toolmeta.charge)
|
||||||
technic.set_RE_wear(toolstack, toolmeta.charge, technic.power_tools[toolstack:get_name()])
|
technic.set_RE_wear(toolstack, toolmeta.charge, technic.power_tools[toolstack:get_name()])
|
||||||
end
|
end
|
||||||
-- What in the heaven's name is this evil sorcery ?
|
-- What in the heaven's name is this evil sorcery ?
|
||||||
|
|
|
@ -42,7 +42,7 @@ local function screwdriver_handler(itemstack, user, pointed_thing, mode)
|
||||||
-- this is consistent with the previous sonic screwdriver
|
-- this is consistent with the previous sonic screwdriver
|
||||||
|
|
||||||
local meta = technic.get_stack_meta_compat(itemstack)
|
local meta = technic.get_stack_meta_compat(itemstack)
|
||||||
local charge = meta:get_int("charge")
|
local charge = meta:get_int("technic:charge")
|
||||||
if charge < 100 then
|
if charge < 100 then
|
||||||
return
|
return
|
||||||
end
|
end
|
||||||
|
@ -66,7 +66,7 @@ local function screwdriver_handler(itemstack, user, pointed_thing, mode)
|
||||||
|
|
||||||
if not technic.creative_mode then
|
if not technic.creative_mode then
|
||||||
charge = charge - 100
|
charge = charge - 100
|
||||||
meta:set_int("charge", charge)
|
meta:set_int("technic:charge", charge)
|
||||||
technic.set_RE_wear(itemstack, charge, sonic_screwdriver_max_charge)
|
technic.set_RE_wear(itemstack, charge, sonic_screwdriver_max_charge)
|
||||||
end
|
end
|
||||||
|
|
||||||
|
|
|
@ -15,7 +15,7 @@ minetest.register_tool("technic:vacuum", {
|
||||||
on_refill = technic.refill_RE_charge,
|
on_refill = technic.refill_RE_charge,
|
||||||
on_use = function(itemstack, user, pointed_thing)
|
on_use = function(itemstack, user, pointed_thing)
|
||||||
local meta = technic.get_stack_meta_compat(itemstack)
|
local meta = technic.get_stack_meta_compat(itemstack)
|
||||||
local charge = meta:get_int("charge")
|
local charge = meta:get_int("technic:charge")
|
||||||
if charge < vacuum_charge_per_object then
|
if charge < vacuum_charge_per_object then
|
||||||
return
|
return
|
||||||
end
|
end
|
||||||
|
@ -44,7 +44,7 @@ minetest.register_tool("technic:vacuum", {
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
|
|
||||||
meta:set_int("charge", charge)
|
meta:set_int("technic:charge", charge)
|
||||||
technic.set_RE_wear(itemstack, charge, vacuum_max_charge)
|
technic.set_RE_wear(itemstack, charge, vacuum_max_charge)
|
||||||
return itemstack
|
return itemstack
|
||||||
end,
|
end,
|
||||||
|
|
Loading…
Reference in New Issue