Don't spawn vines on group:leafdecay
[minetest_hades/hades_revisited.git] / mods / flowerpots / nodes.lua
blobcb52c192d66b5a699af91ee37a618112b5acb71e
1 local S = minetest.get_translator("flowerpots")
3 local flowers = {
4 {"rose", "flowers:rose", S("Red Flower")},
5 {"tulip", "flowers:tulip", S("Orange Flower")},
6 {"geranium", "flowers:geranium", S("Blue Flower")},
7 {"viola", "flowers:viola", S("Violet Flower")},
8 {"dandelion_yellow", "flowers:dandelion_yellow", S("Yellow Flower")},
9 {"dandelion_white", "flowers:dandelion_white", S("White Flower")},
11 -- TODO: Maybe add these later?
12 -- {"grass", "hades_core:grass_1", S("Grass")},
13 -- {"junglegrass", "hades_core:junglegrass", S("Jungle Grass")},
14 -- {"dry_shrub", "hades_core:dry_shrub", S("Dry Shrub")},
16 {"sapling", "hades_trees:sapling", S("Common Tree Sapling")},
17 {"jungle_sapling", "hades_trees:jungle_sapling", S("Common Jungle Tree Sapling")},
18 {"cultivated_jungle_sapling", "hades_trees:cultivated_jungle_sapling", S("Cultivated Jungle Tree Sapling")},
19 {"olive_sapling", "hades_trees:olive_sapling", S("Olive Tree Sapling")},
20 {"pale_sapling", "hades_trees:pale_sapling", S("Pale Tree Sapling")},
21 {"birch_sapling", "hades_trees:birch_sapling", S("Birch Tree Sapling")},
24 local cubes = {
25 {"cactus", "hades_core:cactus", S("Cactus")},
26 {"leaves", "hades_trees:leaves", S("Common Leaves")},
27 {"jungle_leaves", "hades_trees:jungle_leaves", S("Common Jungle Leaves")},
28 {"cultivated_jungle_leaves", "hades_trees:cultivated_jungle_leaves", S("Cultivated Jungle Leaves")},
29 {"olive_leaves", "hades_trees:olive_leaves", S("Olive Leaves")},
30 {"birch_leaves", "hades_trees:birch_leaves", S("Birch Leaves")},
31 {"pale_leaves", "hades_trees:pale_leaves", S("Pale Leaves")},
34 minetest.register_node("flowerpots:flower_pot", {
35 description = S("Flower Pot"),
36 _tt_help = S("Can hold a flower or other small plant"),
37 drawtype = "mesh",
38 mesh = "flowerpot.obj",
39 tiles = {
40 "flowerpot.png",
42 use_texture_alpha = true,
43 visual_scale = 0.5,
44 wield_scale = {x=1.0, y=1.0, z=1.0},
45 paramtype = "light",
46 selection_box = {
47 type = "fixed",
48 fixed = {-0.2, -0.5, -0.2, 0.2, -0.1, 0.2}
50 collision_box = {
51 type = "fixed",
52 fixed = {-0.2, -0.5, -0.2, 0.2, -0.1, 0.2}
54 groups = {cracky = 1, oddly_breakable_by_hand = 1, attached_node=1},
55 sounds = hades_sounds.node_sound_stone_defaults(),
56 on_rightclick = function(pos, node, clicker, itemstack)
57 local item = clicker:get_wielded_item():get_name()
58 for _, row in ipairs(flowers) do
59 local flower = row[1]
60 local flower_node = row[2]
61 if item == flower_node then
62 minetest.set_node(pos, {name="flowerpots:flower_pot_"..flower})
63 if not minetest.settings:get_bool("creative_mode") then
64 itemstack:take_item()
65 end
66 end
67 end
68 for _, row in ipairs(cubes) do
69 local flower = row[1]
70 local flower_node = row[2]
71 if item == flower_node then
72 minetest.set_node(pos, {name="flowerpots:flower_pot_"..flower})
73 if not minetest.settings:get_bool("creative_mode") then
74 itemstack:take_item()
75 end
76 end
77 end
78 end,
81 minetest.register_craft({
82 output = 'flowerpots:flower_pot',
83 recipe = {
84 {'hades_core:clay_brick', '', 'hades_core:clay_brick'},
85 {'', 'hades_core:clay_brick', ''},
89 for _, row in ipairs(flowers) do
90 local flower = row[1]
91 local flower_node = row[2]
92 local desc = row[3]
93 local texture = minetest.registered_nodes[flower_node]["tiles"]
94 minetest.register_node("flowerpots:flower_pot_"..flower, {
95 description = S("Flower Pot with @1", desc),
96 drawtype = "mesh",
97 mesh = "flowerpot.obj",
98 tiles = {
99 "[combine:32x32:0,0=flowerpot.png:0,0="..texture[1],
101 use_texture_alpha = true,
102 visual_scale = 0.5,
103 wield_scale = {x=1.0, y=1.0, z=1.0},
104 paramtype = "light",
105 selection_box = {
106 type = "fixed",
107 fixed = {-0.2, -0.5, -0.2, 0.2, -0.1, 0.2},
109 collision_box = {
110 type = "fixed",
111 fixed = {-0.2, -0.5, -0.2, 0.2, -0.1, 0.2},
113 groups = {cracky = 1, oddly_breakable_by_hand = 1, not_in_creative_inventory=1, attached_node=1},
114 sounds = hades_sounds.node_sound_stone_defaults(),
115 on_rightclick = function(pos, item, clicker)
116 if not minetest.settings:get_bool("creative_mode") then
117 minetest.add_item({x=pos.x, y=pos.y+0.5, z=pos.z}, flower_node)
119 minetest.set_node(pos, {name="flowerpots:flower_pot"})
120 end,
121 drop = {
122 max_items = 2,items = {{items = {"flowerpots:flower_pot", flower_node},rarity = 1,},},
127 for _, row in ipairs(cubes) do
128 local flower = row[1]
129 local flower_node = row[2]
130 local desc = row[3]
131 minetest.register_node("flowerpots:flower_pot_"..flower, {
132 description = S("Flower Pot with @1", desc),
133 drawtype = "mesh",
134 mesh = "flowerpot_with_long_cube.obj",
135 tiles = {
136 "flowerpot_"..flower..".png",
138 use_texture_alpha = true,
139 visual_scale = 0.5,
140 wield_scale = {x=1.0, y=1.0, z=1.0},
141 paramtype = "light",
142 selection_box = {
143 type = "fixed",
144 fixed = {-0.2, -0.5, -0.2, 0.2, -0.1, 0.2}
146 collision_box = {
147 type = "fixed",
148 fixed = {-0.2, -0.5, -0.2, 0.2, -0.1, 0.2}
150 groups = {cracky = 1, oddly_breakable_by_hand = 1, not_in_creative_inventory=1, attached_node=1},
151 sounds = hades_sounds.node_sound_stone_defaults(),
152 on_rightclick = function(pos, item, clicker)
153 if not minetest.settings:get_bool("creative_mode") then
154 minetest.add_item({x=pos.x, y=pos.y+0.5, z=pos.z}, flower_node)
156 minetest.set_node(pos, {name="flowerpots:flower_pot"})
157 end,
158 drop = {
159 max_items = 2,items = {{items = {"flowerpots:flower_pot", flower_node},rarity = 1,},},
165 minetest.register_alias("flowers:flower_pot", "flowerpots:flower_pot")
166 minetest.register_alias("flowers:potted_rose", "flowerpots:flower_pot_rose")
167 minetest.register_alias("flowers:potted_dandelion_yellow", "flowerpots:flower_pot_dandelion_yellow")
168 minetest.register_alias("flowers:potted_dandelion_white", "flowerpots:flower_pot_dandelion_white")
169 minetest.register_alias("flowers:potted_viola", "flowerpots:flower_pot_viola")
170 minetest.register_alias("flowers:potted_geranium", "flowerpots:flower_pot_geranium")
171 minetest.register_alias("flowers:potted_tulip", "flowerpots:flower_pot_tulip")