diff --git a/mods/ITEMS/mcl_flowerpots/init.lua b/mods/ITEMS/mcl_flowerpots/init.lua index bddbcbe369..1e47ceb543 100644 --- a/mods/ITEMS/mcl_flowerpots/init.lua +++ b/mods/ITEMS/mcl_flowerpots/init.lua @@ -1,3 +1,177 @@ -local path = minetest.get_modpath("mcl_flowerpots") -dofile(path.."/nodes.lua") +local flowers = { + {"dandelion", "mcl_flowers:dandelion", "Dandelion Flower Pot"}, + {"poppy", "mcl_flowers:poppy", "Poppy Floer Pot"}, + {"blue_orchid", "mcl_flowers:blue_orchid", "Blue Orchid Flower Pot"}, + {"allium", "mcl_flowers:allium", "Allium Flower Pot"}, + {"azure_bluet", "mcl_flowers:azure_bluet", "Azure Bluet Flower Pot"}, + {"tulip_red", "mcl_flowers:tulip_red", "Red Tulip Flower Pot"}, + {"tulip_pink", "mcl_flowers:tulip_pink", "Pink Tulip Flower Pot"}, + {"tulip_white", "mcl_flowers:tulip_white", "White Tulip Flower Pot"}, + {"tulip_orange", "mcl_flowers:tulip_orange", "Orange Tulip Flower Pot"}, + {"oxeye_daisy", "mcl_flowers:oxeye_daisy", "Oxeye Daisy Flower Pot"}, + {"mushroom_brown", "mcl_mushrooms:mushroom_brown", "Brown Mushroom Flower Pot"}, + {"mushroom_red", "mcl_mushrooms:mushroom_red", "Red Mushroom Flower Pot"}, + {"sapling", "mcl_core:sapling", "Oak Sapling Flower Pot"}, + {"acaciasapling", "mcl_core:acaciasapling", "Acacia Sapling Flower Pot"}, + {"junglesapling", "mcl_core:junglesapling", "Jungle Sapling Flower Pot"}, + {"darksapling", "mcl_core:darksapling", "Dark Oak Sapling Flower Pot"}, + {"sprucesapling", "mcl_core:sprucesapling", "Spruce Sapling Flower Pot"}, + {"birchsapling", "mcl_core:birchsapling", "Birch Sapling Flower Pot"}, + {"deadbush", "mcl_core:deadbush", "Dead Bush Flower Pot"}, + {"fern", "mcl_flowers:fern", "Fern Flower Pot"}, +} + +local cubes = { + {"cactus", "mcl_core:cactus", "Cactus Flower Pot"}, +} + +minetest.register_node("mcl_flowerpots:flower_pot", { + description = "Flower Pot", + _doc_items_longdesc = "Flower pots are decorational blocks in which flowers and other small plants can be placed.", + _doc_items_usagehelp = "Rightclick an empty flower pot while you wield a plant to place the plant. Flower pots can hold small flowers (not higher than 1 block), saplings, ferns, dead bushes, mushrooms and cacti. Rightclick a potted plant to retrieve the plant.", + drawtype = "mesh", + mesh = "flowerpot.obj", + tiles = { + "mcl_flowerpots_flowerpot.png", + }, + visual_scale = 0.5, + wield_image = "mcl_flowerpots_flowerpot_inventory.png", + wield_scale = {x=1.0, y=1.0, z=1.0}, + paramtype = "light", + sunlight_propagates = true, + selection_box = { + type = "fixed", + fixed = {-0.2, -0.5, -0.2, 0.2, -0.1, 0.2} + }, + collision_box = { + type = "fixed", + fixed = {-0.2, -0.5, -0.2, 0.2, -0.1, 0.2} + }, + is_ground_content = false, + inventory_image = "mcl_flowerpots_flowerpot_inventory.png", + groups = {dig_immediate=3, deco_block=1, attached_node=1, dig_by_piston=1, flower_pot=1}, + sounds = mcl_sounds.node_sound_stone_defaults(), + on_rightclick = function(pos, node, clicker, itemstack) + local item = clicker:get_wielded_item():get_name() + for _, row in ipairs(flowers) do + local flower = row[1] + local flower_node = row[2] + if item == flower_node then + minetest.swap_node(pos, {name="mcl_flowerpots:flower_pot_"..flower}) + if not minetest.settings:get_bool("creative_mode") then + itemstack:take_item() + end + end + end + for _, row in ipairs(cubes) do + local flower = row[1] + local flower_node = row[2] + if item == flower_node then + minetest.swap_node(pos, {name="mcl_flowerpots:flower_pot_"..flower}) + if not minetest.settings:get_bool("creative_mode") then + itemstack:take_item() + end + end + end + end, +}) + +minetest.register_craft({ + output = 'mcl_flowerpots:flower_pot', + recipe = { + {'mcl_core:brick', '', 'mcl_core:brick'}, + {'', 'mcl_core:brick', ''}, + {'', '', ''}, + } +}) + +for _, row in ipairs(flowers) do +local flower = row[1] +local flower_node = row[2] +local desc = row[3] +local texture = minetest.registered_nodes[flower_node]["tiles"] +minetest.register_node("mcl_flowerpots:flower_pot_"..flower, { + description = desc, + _doc_items_create_entry = false, + drawtype = "mesh", + mesh = "flowerpot.obj", + tiles = { + "[combine:32x32:0,0=mcl_flowerpots_flowerpot.png:0,0="..texture[1], + }, + visual_scale = 0.5, + wield_scale = {x=1.0, y=1.0, z=1.0}, + paramtype = "light", + sunlight_propagates = true, + selection_box = { + type = "fixed", + fixed = {-0.2, -0.5, -0.2, 0.2, -0.1, 0.2} + }, + collision_box = { + type = "fixed", + fixed = {-0.2, -0.5, -0.2, 0.2, -0.1, 0.2} + }, + is_ground_content = false, + groups = {dig_immediate=3, attached_node=1, dig_by_piston=1, not_in_creative_inventory=1, flower_pot=2}, + sounds = mcl_sounds.node_sound_stone_defaults(), + on_rightclick = function(pos, item, clicker) + minetest.add_item({x=pos.x, y=pos.y+0.5, z=pos.z}, flower_node) + minetest.set_node(pos, {name="mcl_flowerpots:flower_pot"}) + end, + drop = { + items = { + { items = { "mcl_flowerpots:flower_pot", flower_node } } + } + }, +}) +-- Add entry alias for the Help +if minetest.get_modpath("doc") then + doc.add_entry_alias("nodes", "mcl_flowerpots:flower_pot", "nodes", "mcl_flowerpots:flower_pot_"..flower) +end +end + +for _, row in ipairs(cubes) do +local flower = row[1] +local flower_node = row[2] +local desc = row[3] +minetest.register_node("mcl_flowerpots:flower_pot_"..flower, { + description = desc, + _doc_items_create_entry = false, + drawtype = "mesh", + mesh = "flowerpot_with_long_cube.obj", + tiles = { + "mcl_flowerpots_"..flower..".png", + }, + visual_scale = 0.5, + wield_scale = {x=1.0, y=1.0, z=1.0}, + paramtype = "light", + sunlight_propagates = true, + selection_box = { + type = "fixed", + fixed = {-0.2, -0.5, -0.2, 0.2, -0.1, 0.2} + }, + collision_box = { + type = "fixed", + fixed = {-0.2, -0.5, -0.2, 0.2, -0.1, 0.2} + }, + is_ground_content = false, + groups = {dig_immediate=3, attached_node=1, dig_by_piston=1, not_in_creative_inventory=1, flower_pot=2}, + sounds = mcl_sounds.node_sound_stone_defaults(), + on_rightclick = function(pos, item, clicker) + minetest.add_item({x=pos.x, y=pos.y+0.5, z=pos.z}, flower_node) + minetest.set_node(pos, {name="mcl_flowerpots:flower_pot"}) + end, + drop = { + items = { + { items = { "mcl_flowerpots:flower_pot", flower_node } } + } + }, + + +}) + +-- Add entry alias for the Help +if minetest.get_modpath("doc") then + doc.add_entry_alias("nodes", "mcl_flowerpots:flower_pot", "nodes", "mcl_flowerpots:flower_pot_"..flower) +end +end diff --git a/mods/ITEMS/mcl_flowerpots/nodes.lua b/mods/ITEMS/mcl_flowerpots/nodes.lua deleted file mode 100644 index 1e47ceb543..0000000000 --- a/mods/ITEMS/mcl_flowerpots/nodes.lua +++ /dev/null @@ -1,177 +0,0 @@ - -local flowers = { - {"dandelion", "mcl_flowers:dandelion", "Dandelion Flower Pot"}, - {"poppy", "mcl_flowers:poppy", "Poppy Floer Pot"}, - {"blue_orchid", "mcl_flowers:blue_orchid", "Blue Orchid Flower Pot"}, - {"allium", "mcl_flowers:allium", "Allium Flower Pot"}, - {"azure_bluet", "mcl_flowers:azure_bluet", "Azure Bluet Flower Pot"}, - {"tulip_red", "mcl_flowers:tulip_red", "Red Tulip Flower Pot"}, - {"tulip_pink", "mcl_flowers:tulip_pink", "Pink Tulip Flower Pot"}, - {"tulip_white", "mcl_flowers:tulip_white", "White Tulip Flower Pot"}, - {"tulip_orange", "mcl_flowers:tulip_orange", "Orange Tulip Flower Pot"}, - {"oxeye_daisy", "mcl_flowers:oxeye_daisy", "Oxeye Daisy Flower Pot"}, - {"mushroom_brown", "mcl_mushrooms:mushroom_brown", "Brown Mushroom Flower Pot"}, - {"mushroom_red", "mcl_mushrooms:mushroom_red", "Red Mushroom Flower Pot"}, - {"sapling", "mcl_core:sapling", "Oak Sapling Flower Pot"}, - {"acaciasapling", "mcl_core:acaciasapling", "Acacia Sapling Flower Pot"}, - {"junglesapling", "mcl_core:junglesapling", "Jungle Sapling Flower Pot"}, - {"darksapling", "mcl_core:darksapling", "Dark Oak Sapling Flower Pot"}, - {"sprucesapling", "mcl_core:sprucesapling", "Spruce Sapling Flower Pot"}, - {"birchsapling", "mcl_core:birchsapling", "Birch Sapling Flower Pot"}, - {"deadbush", "mcl_core:deadbush", "Dead Bush Flower Pot"}, - {"fern", "mcl_flowers:fern", "Fern Flower Pot"}, -} - -local cubes = { - {"cactus", "mcl_core:cactus", "Cactus Flower Pot"}, -} - -minetest.register_node("mcl_flowerpots:flower_pot", { - description = "Flower Pot", - _doc_items_longdesc = "Flower pots are decorational blocks in which flowers and other small plants can be placed.", - _doc_items_usagehelp = "Rightclick an empty flower pot while you wield a plant to place the plant. Flower pots can hold small flowers (not higher than 1 block), saplings, ferns, dead bushes, mushrooms and cacti. Rightclick a potted plant to retrieve the plant.", - drawtype = "mesh", - mesh = "flowerpot.obj", - tiles = { - "mcl_flowerpots_flowerpot.png", - }, - visual_scale = 0.5, - wield_image = "mcl_flowerpots_flowerpot_inventory.png", - wield_scale = {x=1.0, y=1.0, z=1.0}, - paramtype = "light", - sunlight_propagates = true, - selection_box = { - type = "fixed", - fixed = {-0.2, -0.5, -0.2, 0.2, -0.1, 0.2} - }, - collision_box = { - type = "fixed", - fixed = {-0.2, -0.5, -0.2, 0.2, -0.1, 0.2} - }, - is_ground_content = false, - inventory_image = "mcl_flowerpots_flowerpot_inventory.png", - groups = {dig_immediate=3, deco_block=1, attached_node=1, dig_by_piston=1, flower_pot=1}, - sounds = mcl_sounds.node_sound_stone_defaults(), - on_rightclick = function(pos, node, clicker, itemstack) - local item = clicker:get_wielded_item():get_name() - for _, row in ipairs(flowers) do - local flower = row[1] - local flower_node = row[2] - if item == flower_node then - minetest.swap_node(pos, {name="mcl_flowerpots:flower_pot_"..flower}) - if not minetest.settings:get_bool("creative_mode") then - itemstack:take_item() - end - end - end - for _, row in ipairs(cubes) do - local flower = row[1] - local flower_node = row[2] - if item == flower_node then - minetest.swap_node(pos, {name="mcl_flowerpots:flower_pot_"..flower}) - if not minetest.settings:get_bool("creative_mode") then - itemstack:take_item() - end - end - end - end, -}) - -minetest.register_craft({ - output = 'mcl_flowerpots:flower_pot', - recipe = { - {'mcl_core:brick', '', 'mcl_core:brick'}, - {'', 'mcl_core:brick', ''}, - {'', '', ''}, - } -}) - -for _, row in ipairs(flowers) do -local flower = row[1] -local flower_node = row[2] -local desc = row[3] -local texture = minetest.registered_nodes[flower_node]["tiles"] -minetest.register_node("mcl_flowerpots:flower_pot_"..flower, { - description = desc, - _doc_items_create_entry = false, - drawtype = "mesh", - mesh = "flowerpot.obj", - tiles = { - "[combine:32x32:0,0=mcl_flowerpots_flowerpot.png:0,0="..texture[1], - }, - visual_scale = 0.5, - wield_scale = {x=1.0, y=1.0, z=1.0}, - paramtype = "light", - sunlight_propagates = true, - selection_box = { - type = "fixed", - fixed = {-0.2, -0.5, -0.2, 0.2, -0.1, 0.2} - }, - collision_box = { - type = "fixed", - fixed = {-0.2, -0.5, -0.2, 0.2, -0.1, 0.2} - }, - is_ground_content = false, - groups = {dig_immediate=3, attached_node=1, dig_by_piston=1, not_in_creative_inventory=1, flower_pot=2}, - sounds = mcl_sounds.node_sound_stone_defaults(), - on_rightclick = function(pos, item, clicker) - minetest.add_item({x=pos.x, y=pos.y+0.5, z=pos.z}, flower_node) - minetest.set_node(pos, {name="mcl_flowerpots:flower_pot"}) - end, - drop = { - items = { - { items = { "mcl_flowerpots:flower_pot", flower_node } } - } - }, -}) --- Add entry alias for the Help -if minetest.get_modpath("doc") then - doc.add_entry_alias("nodes", "mcl_flowerpots:flower_pot", "nodes", "mcl_flowerpots:flower_pot_"..flower) -end -end - -for _, row in ipairs(cubes) do -local flower = row[1] -local flower_node = row[2] -local desc = row[3] -minetest.register_node("mcl_flowerpots:flower_pot_"..flower, { - description = desc, - _doc_items_create_entry = false, - drawtype = "mesh", - mesh = "flowerpot_with_long_cube.obj", - tiles = { - "mcl_flowerpots_"..flower..".png", - }, - visual_scale = 0.5, - wield_scale = {x=1.0, y=1.0, z=1.0}, - paramtype = "light", - sunlight_propagates = true, - selection_box = { - type = "fixed", - fixed = {-0.2, -0.5, -0.2, 0.2, -0.1, 0.2} - }, - collision_box = { - type = "fixed", - fixed = {-0.2, -0.5, -0.2, 0.2, -0.1, 0.2} - }, - is_ground_content = false, - groups = {dig_immediate=3, attached_node=1, dig_by_piston=1, not_in_creative_inventory=1, flower_pot=2}, - sounds = mcl_sounds.node_sound_stone_defaults(), - on_rightclick = function(pos, item, clicker) - minetest.add_item({x=pos.x, y=pos.y+0.5, z=pos.z}, flower_node) - minetest.set_node(pos, {name="mcl_flowerpots:flower_pot"}) - end, - drop = { - items = { - { items = { "mcl_flowerpots:flower_pot", flower_node } } - } - }, - - -}) - --- Add entry alias for the Help -if minetest.get_modpath("doc") then - doc.add_entry_alias("nodes", "mcl_flowerpots:flower_pot", "nodes", "mcl_flowerpots:flower_pot_"..flower) -end -end