Gábriel
2024-03-25 d5ff69d1d9efd683d852562af6cfddac5ac69879
commit | author | age
ee0765 1
S 2 -- Aliases to convert from legacy node/item names
3
4 technic.legacy_nodenames = {
5     ["technic:alloy_furnace"]        = "technic:lv_alloy_furnace",
6     ["technic:alloy_furnace_active"] = "technic:lv_alloy_furnace_active",
7     ["technic:battery_box"]  = "technic:lv_battery_box0",
8     ["technic:battery_box1"] = "technic:lv_battery_box1",
9     ["technic:battery_box2"] = "technic:lv_battery_box2",
10     ["technic:battery_box3"] = "technic:lv_battery_box3",
11     ["technic:battery_box4"] = "technic:lv_battery_box4",
12     ["technic:battery_box5"] = "technic:lv_battery_box5",
13     ["technic:battery_box6"] = "technic:lv_battery_box6",
14     ["technic:battery_box7"] = "technic:lv_battery_box7",
15     ["technic:battery_box8"] = "technic:lv_battery_box8",
16     ["technic:electric_furnace"]        = "technic:lv_electric_furnace",
17     ["technic:electric_furnace_active"] = "technic:lv_electric_furnace_active",
18     ["technic:grinder"]        = "technic:lv_grinder",
19     ["technic:grinder_active"] = "technic:lv_grinder_active",
2a2358 20     ["technic:extractor"]        = "technic:lv_extractor",
N 21     ["technic:extractor_active"] = "technic:lv_extractor_active",
c0a173 22     ["technic:compressor"]        = "technic:lv_compressor",
N 23     ["technic:compressor_active"] = "technic:lv_compressor_active",
ee0765 24     ["technic:hv_battery_box"] = "technic:hv_battery_box0",
S 25     ["technic:mv_battery_box"] = "technic:mv_battery_box0",
704925 26     ["technic:generator"]        = "technic:lv_generator",
P 27     ["technic:generator_active"] = "technic:lv_generator_active",
68b7bc 28     ["technic:iron_dust"] = "technic:wrought_iron_dust",
b0faa7 29     ["technic:enriched_uranium"] = "technic:uranium35_ingot",
ee0765 30 }
S 31
32 for old, new in pairs(technic.legacy_nodenames) do
33     minetest.register_alias(old, new)
34 end
35
3db3a9 36 for i = 0, 64 do
83c649 37     minetest.register_alias("technic:hv_cable"..i, "technic:hv_cable")
S 38     minetest.register_alias("technic:mv_cable"..i, "technic:mv_cable")
39     minetest.register_alias("technic:lv_cable"..i, "technic:lv_cable")
40 end
41
a08ba2 42 -- Item meta
C 43
44 -- Meta keys that have changed
45 technic.legacy_meta_keys = {
46     ["charge"] = "technic:charge",
47 }
48
49 -- Converts legacy itemstack metadata string to itemstack meta and returns the ItemStackMetaRef
50 function technic.get_stack_meta(itemstack)
51     local meta = itemstack:get_meta()
52     local legacy_string = meta:get("") -- Get deprecated metadata
53     if legacy_string then
54         local legacy_table = minetest.deserialize(legacy_string)
55         if legacy_table then
56             local table = meta:to_table()
57             for k, v in pairs(legacy_table) do
58                 table.fields[technic.legacy_meta_keys[k] or k] = v
59             end
60             meta:from_table(table)
61         end
62         meta:set_string("", "") -- Remove deprecated metadata
63     end
64     return meta
65 end
66
67 -- Same as technic.get_stack_meta for cans.
68 -- (Cans didn't store a serialized table in the legacy metadata string, but just a number.)
69 function technic.get_stack_meta_cans(itemstack)
70     local meta = itemstack:get_meta()
71     local legacy_string = meta:get("") -- Get deprecated metadata
72     if legacy_string then
73         meta:set_string("can_level", legacy_string)
74         meta:set_string("", "") -- Remove deprecated metadata
75         return meta
76     end
77     return meta
78 end