Update magic wand
[minetest_hades/hades_revisited.git] / mods / hades_magic_wand / init.lua
blob0bdaf88fed575fa872065c8792a1136b2e379268
1 local S = minetest.get_translator("hades_magic_wand")
3 local cycles = {
4 { "hades_core:dirt", "hades_core:dirt_with_grass" },
5 { "farming:soil", "farming:soil_wet" },
6 { "hades_core:grass_1", "hades_core:grass_2", "hades_core:grass_3", "hades_core:grass_4", "hades_core:grass_5" },
7 { "flowers:seaweed_4", "flowers:seaweed_2", "flowers:seaweed_3", "flowers:seaweed" },
8 { "flowers:waterlily", "flowers:waterlily_225", "flowers:waterlily_45", "flowers:waterlily_675", "flowers:waterlily_s3", "flowers:waterlily_s1", "flowers:waterlily_s2", "flowers:waterlily_s4" },
9 { "vines:willow", "vines:willow_rotten" },
10 { "vines:side", "vines:side_rotten" },
11 { "vines:vine", "vines:vine_rotten" },
12 { "refruit:bud_apple", "refruit:flower_apple", "hades_trees:apple" },
13 { "refruit:bud_olive", "refruit:flower_olive", "hades_trees:olive" },
14 { "refruit:bud_cocoa", "refruit:flower_cocoa", "hades_trees:cocoa_pod" },
15 { "refruit:bud_coconut", "refruit:flower_coconut", "hades_trees:coconut" },
16 { "refruit:bud_banana", "refruit:flower_banana", "hades_trees:banana" },
17 { "refruit:bud_orange", "refruit:flower_orange", "hades_trees:orange" },
20 local seeds_3 = { "cotton", "wheat", "spice", "potato", "strawberry", "tomato" }
21 for s=1,#seeds_3 do
22 local seed = seeds_3[s]
23 local seeds = { "farming:seed_"..seed }
24 for i=1,3 do
25 table.insert(seeds, "farming:"..seed.."_"..i)
26 end
27 table.insert(cycles, seeds)
28 end
30 local conversions = {}
32 for c=1, #cycles do
33 for d=1, #cycles[c] do
34 local cthis = cycles[c][d]
35 local next_num = d+1
36 if next_num > #cycles[c] then
37 next_num = 1
38 end
39 local cnext = cycles[c][next_num]
40 conversions[cthis] = cnext
41 end
42 end
44 minetest.register_craftitem("hades_magic_wand:magic_wand", {
45 description = S("Magic Wand"),
46 _tt_help = S("Changes block state"),
47 inventory_image = "default_stick.png^[colorize:#940EFE:127",
48 wield_image = "default_stick.png^[colorize:#940EFE:127",
49 groups = { tool = 1, disable_repair = 1 },
50 on_use = function(itemstack, user, pointed_thing)
51 if pointed_thing.type == "node" then
52 local pos = pointed_thing.under
53 local node = minetest.get_node(pointed_thing.under)
54 if conversions[node.name] then
55 node.name = conversions[node.name]
56 minetest.swap_node(pos, node)
57 end
58 end
59 return itemstack
60 end,