summaryrefslogtreecommitdiff
path: root/plantlife.lua
diff options
context:
space:
mode:
Diffstat (limited to 'plantlife.lua')
-rw-r--r--plantlife.lua505
1 files changed, 505 insertions, 0 deletions
diff --git a/plantlife.lua b/plantlife.lua
new file mode 100644
index 0000000..9e85b06
--- /dev/null
+++ b/plantlife.lua
@@ -0,0 +1,505 @@
+-- Fern (boston)
+minetest.register_node("ethereal:fern", {
+ description = "Fern",
+ drawtype = "plantlike",
+ visual_scale = 1.2,
+ tiles = {"fern.png"},
+ inventory_image = "fern.png",
+ wield_image = "fern.png",
+ paramtype = "light",
+ sunlight_propagates = true,
+ waving = 1,
+ walkable = false,
+ is_ground_content = true,
+ buildable_to = true,
+ drop = {
+ max_items = 1,
+ items = {
+ {items = {"ethereal:fern_tubers"},rarity = 6},
+ {items = {"ethereal:fern"}},
+ }
+ },
+ groups = {snappy=3,flora=1,attached_node=1,flammable=2},
+ sounds = default.node_sound_leaves_defaults(),
+ selection_box = {
+ type = "fixed",
+ fixed = {-0.5, -0.5, -0.5, 0.5, -5/16, 0.5},
+ },
+})
+
+-- Boston Ferns sometimes drop edible Tubers (heals 1/2 heart when eaten)
+minetest.register_craftitem("ethereal:fern_tubers", {
+ description = "Fern Tubers",
+ inventory_image = "fern_tubers.png",
+ on_use = minetest.item_eat(1),
+})
+
+-- Red Shrub (not flammable)
+minetest.register_node("ethereal:dry_shrub", {
+ description = "Fiery Dry Shrub",
+ drawtype = "plantlike",
+ visual_scale = 1.0,
+ tiles = {"ethereal_dry_shrub.png"},
+ inventory_image = "ethereal_dry_shrub.png",
+ wield_image = "ethereal_dry_shrub.png",
+ paramtype = "light",
+ sunlight_propagates = true,
+ waving = 1,
+ walkable = false,
+ is_ground_content = true,
+ buildable_to = true,
+ groups = {snappy=3,flora=1,attached_node=1},
+ sounds = default.node_sound_leaves_defaults(),
+ selection_box = {
+ type = "fixed",
+ fixed = {-0.5, -0.5, -0.5, 0.5, -5/16, 0.5},
+ },
+})
+
+-- Grey Shrub (not Flammable - too cold to burn)
+minetest.register_node("ethereal:snowygrass", {
+ description = "Snowy Grass",
+ drawtype = "plantlike",
+ visual_scale = 0.9,
+ tiles = {"ethereal_snowygrass.png"},
+ inventory_image = "ethereal_snowygrass.png",
+ wield_image = "ethereal_snowygrass.png",
+ paramtype = "light",
+ sunlight_propagates = true,
+ waving = 1,
+ walkable = false,
+ buildable_to = true,
+ is_ground_content = true,
+ groups = {snappy=3,flora=1,attached_node=1},
+ sounds = default.node_sound_leaves_defaults(),
+ selection_box = {
+ type = "fixed",
+ fixed = {-0.5, -0.5, -0.5, 0.5, -5/16, 0.5},
+ },
+})
+
+-- Crystal Shrub (not Flammable - too cold to burn)
+minetest.register_node("ethereal:crystalgrass", {
+ description = "Crystal Grass",
+ drawtype = "plantlike",
+ visual_scale = 0.9,
+ tiles = {"ethereal_crystalgrass.png"},
+ inventory_image = "ethereal_crystalgrass.png",
+ wield_image = "ethereal_crystalgrass.png",
+ paramtype = "light",
+ sunlight_propagates = true,
+ waving = 1,
+ walkable = false,
+ buildable_to = true,
+ is_ground_content = true,
+ groups = {snappy=3,flora=1,attached_node=1},
+ sounds = default.node_sound_leaves_defaults(),
+ selection_box = {
+ type = "fixed",
+ fixed = {-0.5, -0.5, -0.5, 0.5, -5/16, 0.5},
+ },
+})
+
+-- Define Moss Types (Has grass textures on all sides)
+function ethereal.add_moss(typ, descr, texture, receipe_item)
+ minetest.register_node("ethereal:"..typ.."_moss", {
+ description = descr.." Moss",
+ tiles = { texture },
+ groups = {crumbly=3 },
+ sounds = default.node_sound_dirt_defaults
+ })
+
+ minetest.register_craft({
+ output = "ethereal:"..typ.."_moss",
+ recipe = {{"default:dirt", receipe_item }}
+ })
+end
+
+ethereal.add_moss( "crystal", "Crystal", "ethereal_grass_crystal_top.png", "ethereal:frost_leaves")
+ethereal.add_moss( "mushroom", "Mushroom", "ethereal_grass_mushroom_top.png", "ethereal:mushroom")
+ethereal.add_moss( "fiery", "Fiery", "ethereal_grass_fiery_top.png", "ethereal:dry_shrub")
+ethereal.add_moss( "gray", "Gray", "ethereal_grass_gray_top.png", "ethereal:snowygrass")
+ethereal.add_moss( "green", "Green", "default_grass.png", "default:jungleleaves")
+
+-- Banana (Heals one heart when eaten)
+minetest.register_node("ethereal:banana", {
+ description = "Banana",
+ drawtype = "torchlike",
+ visual_scale = 1.0,
+ tiles = {"banana_single.png"},
+ inventory_image = "banana_single.png",
+ paramtype = "light",
+ sunlight_propagates = true,
+ walkable = false,
+ selection_box = {
+ type = "fixed",
+ fixed = {-0.2, -0.5, -0.2, 0.2, 0.2, 0.2}
+ },
+ groups = {fleshy=3,dig_immediate=3,flammable=2,leafdecay=1,leafdecay_drop=1},
+ on_use = minetest.item_eat(2),
+ sounds = default.node_sound_leaves_defaults(),
+ after_place_node = function(pos, placer, itemstack)
+ if placer:is_player() then
+ minetest.set_node(pos, {name="ethereal:banana", param2=1})
+ end
+ end,
+})
+
+-- Banana Dough
+minetest.register_craftitem("ethereal:banana_dough", {
+ description = "Banana Dough",
+ inventory_image = "banana_dough.png",
+})
+
+minetest.register_craft({
+ type = "shapeless",
+ output = "ethereal:banana_dough",
+ recipe = {"farming:flour", "ethereal:banana"}
+})
+
+minetest.register_craft({
+ type = "cooking",
+ cooktime = 14,
+ output = "ethereal:banana_bread",
+ recipe = "ethereal:banana_dough"
+})
+
+-- Orange (Heals 2 hearts when eaten)
+minetest.register_node("ethereal:orange", {
+ description = "Orange",
+ drawtype = "plantlike",
+ visual_scale = 1.0,
+ tiles = {"farming_orange.png"},
+ inventory_image = "farming_orange.png",
+ paramtype = "light",
+ sunlight_propagates = true,
+ walkable = false,
+ selection_box = {
+ type = "fixed",
+ fixed = {-0.2, -0.3, -0.2, 0.2, 0.2, 0.2}
+ },
+ groups = {fleshy=3,dig_immediate=3,flammable=2,leafdecay=1,leafdecay_drop=1},
+ on_use = minetest.item_eat(4),
+ sounds = default.node_sound_leaves_defaults(),
+ after_place_node = function(pos, placer, itemstack)
+ if placer:is_player() then
+ minetest.set_node(pos, {name="ethereal:orange", param2=1})
+ end
+ end,
+})
+
+-- Pine Nuts (Heals 1/2 heart when eaten)
+minetest.register_craftitem("ethereal:pine_nuts", {
+ description = "Pine Nuts",
+ inventory_image = "pine_nuts.png",
+ on_use = minetest.item_eat(1),
+})
+
+-- Banana Loaf (Heals 3 hearts when eaten)
+minetest.register_craftitem("ethereal:banana_bread", {
+ description = "Banana Loaf",
+ inventory_image = "banana_bread.png",
+ on_use = minetest.item_eat(6),
+})
+
+-- Coconut (Gives 4 coconut slices, each heal 1/2 heart)
+minetest.register_node("ethereal:coconut", {
+ drawtype = "plantlike",
+ walkable = false,
+ paramtype = "light",
+ description = "Coconut",
+ tiles = {"moretrees_coconut.png"},
+ groups = {cracky=2,snappy=2,choppy=2,flammable=1,leafdecay=3,leafdecay_drop=1},
+ drop = "ethereal:coconut_slice 4",
+ sounds = default.node_sound_wood_defaults(),
+})
+
+-- Coconut Slice (Heals half heart when eaten)
+minetest.register_craftitem("ethereal:coconut_slice", {
+ description = "Coconut Slice",
+ inventory_image = "moretrees_coconut_slice.png",
+ on_use = minetest.item_eat(1),
+})
+
+-- Golden Apple (Found on Healing Tree, heals all 10 hearts)
+minetest.register_node("ethereal:golden_apple", {
+ description = "Golden Apple",
+ drawtype = "plantlike",
+ visual_scale = 1.0,
+ tiles = {"default_apple_gold.png"},
+ inventory_image = "default_apple_gold.png",
+ paramtype = "light",
+ sunlight_propagates = true,
+ walkable = false,
+ selection_box = {
+ type = "fixed",
+ fixed = {-0.2, -0.3, -0.2, 0.2, 0.2, 0.2}
+ },
+ groups = {fleshy=3,dig_immediate=3,leafdecay=3,leafdecay_drop=1},
+ on_use = minetest.item_eat(20),
+ sounds = default.node_sound_leaves_defaults(),
+ after_place_node = function(pos, placer, itemstack)
+ if placer:is_player() then
+ minetest.set_node(pos, {name="ethereal:golden_apple", param2=1})
+ end
+ end,
+})
+
+-- Bamboo (thanks to Nelo-slay on DeviantArt for the free Bamboo base image)
+minetest.register_node("ethereal:bamboo", {
+ description = "bamboo",
+ drawtype = "plantlike",
+ tiles = {"bamboo.png"},
+ inventory_image = "bamboo.png",
+ wield_image = "bamboo.png",
+ paramtype = "light",
+ sunlight_propagates = true,
+ is_ground_content = true,
+ walkable = true,
+ selection_box = {
+ type = "fixed",
+ fixed = {-0.3, -0.5, -0.3, 0.3, 0.5, 0.3}
+ },
+ groups = {choppy=3, oddly_breakable_by_hand=1, flammable=2},--, attached_node=1},
+ sounds = default.node_sound_leaves_defaults(),
+ after_dig_node = function(pos, node, metadata, digger)
+ default.dig_up(pos, node, digger)
+ end,
+})
+
+-- Bamboo Sprout
+minetest.register_node("ethereal:bamboo_sprout", {
+ description = "Bamboo Sprout",
+ drawtype = "plantlike",
+ tiles = {"bamboo_sprout.png"},
+ inventory_image = "bamboo_sprout.png",
+ wield_image = "bamboo_sprout.png",
+ paramtype = "light",
+ sunlight_propagates = true,
+ walkable = false,
+ is_ground_content = true,
+ buildable_to = true,
+ groups = {snappy=3,flora=1,attached_node=1,flammable=2},
+ sounds = default.node_sound_leaves_defaults(),
+ selection_box = {
+ type = "fixed",
+ fixed = {-0.5, -0.5, -0.5, 0.5, -5/16, 0.5},
+ },
+ -- sprouts are edible if cooked in stew
+})
+
+-- Wooden Bowl (for Mushroom Soup)
+minetest.register_craftitem("ethereal:bowl", {
+ description = "Bowl",
+ inventory_image = "bowl.png",
+})
+
+minetest.register_craft({
+ output = "ethereal:bowl",
+ recipe = {
+ {"group:wood", "", "group:wood"},
+ {"", "group:wood", ""},
+ {"", "", ""},
+ }
+})
+
+-- Hearty Stew (Heals 4 hearts - thanks to ZonerDarkRevention for his DokuCraft DeviantArt bowl texture)
+minetest.register_craftitem("ethereal:hearty_stew", {
+ description = "Hearty Stew",
+ inventory_image = "hearty_stew.png",
+ on_use = minetest.item_eat(8, "ethereal:bowl"),
+})
+
+-- Cooked Hearty Stew (Heals 5 hearts)
+minetest.register_craftitem("ethereal:hearty_stew_cooked", {
+ description = "Hearty Stew Cooked",
+ inventory_image = "hearty_stew_cooked.png",
+ on_use = minetest.item_eat(10, "ethereal:bowl"),
+})
+
+-- Hearty Stew
+minetest.register_craft({
+ output = "ethereal:hearty_stew",
+ recipe = {
+ {"ethereal:wild_onion_plant","ethereal:mushroom_plant", "ethereal:bamboo_sprout"},
+ {"","ethereal:mushroom_plant", ""},
+ {"","ethereal:bowl", ""},
+ }
+})
+
+minetest.register_craft({
+ output = "ethereal:hearty_stew",
+ recipe = {
+ {"ethereal:wild_onion_plant","ethereal:mushroom_plant", "ethereal:fern_tubers"},
+ {"","ethereal:mushroom_plant", ""},
+ {"","ethereal:bowl", ""},
+ }
+})
+
+-- Cooked Hearty Stew
+minetest.register_craft({
+ type = "cooking",
+ cooktime = 10,
+ output = "ethereal:hearty_stew_cooked",
+ recipe = "ethereal:hearty_stew"
+})
+
+-- Mushroom Tops give 4x Mushrooms for Planting
+minetest.register_craft({
+ output = "ethereal:mushroom_craftingitem 4",
+ type = shapeless,
+ recipe = {
+ {"ethereal:mushroom", ""},
+ {"", ""},
+ {"", ""},
+ }
+})
+
+-- Bamboo Flooring
+minetest.register_node("ethereal:bamboo_floor", {
+ description = ("Bamboo Floor"),
+ drawtype = 'nodebox',
+ tiles = { "bamboo_floor.png" },
+ wield_image = "bamboo_floor.png",
+ inventory_image = "bamboo_floor.png",
+ paramtype = "light",
+ paramtype2 = "wallmounted",
+ walkable = true,
+ node_box = {
+ type = "wallmounted",
+ wall_top = {-0.5, 0.4375, -0.5, 0.5, 0.5, 0.5},
+ wall_bottom = {-0.5, -0.5, -0.5, 0.5, -0.4375, 0.5},
+ wall_side = {-0.5, -0.5, -0.5, -0.4375, 0.5, 0.5},
+ },
+ selection_box = {type = "wallmounted"},
+ groups = { snappy = 3, choppy = 3 , flammable=2},
+ sounds = default.node_sound_wood_defaults(),
+})
+
+-- Craft Bamboo into Bamboo Flooring
+minetest.register_craft({
+ output = "ethereal:bamboo_floor 2",
+ recipe = {
+ {"ethereal:bamboo", "ethereal:bamboo", "ethereal:bamboo"},
+ {"ethereal:bamboo", "ethereal:bamboo", "ethereal:bamboo"},
+ {"ethereal:bamboo", "ethereal:bamboo", "ethereal:bamboo"},
+ }
+})
+
+-- Craft Bamboo into Paper
+minetest.register_craft({
+ output = "default:paper 6",
+ recipe = {
+ {"ethereal:bamboo", "ethereal:bamboo"},
+ {"ethereal:bamboo", "ethereal:bamboo"},
+ {"ethereal:bamboo", "ethereal:bamboo"},
+ }
+})
+
+-- Gravel (5x cobble in X pattern gives 5 gravel)
+minetest.register_craft({
+ output = "default:gravel 5",
+ recipe = {
+ {"default:cobble", "", "default:cobble"},
+ {"", "default:cobble", ""},
+ {"default:cobble", "", "default:cobble"},
+ }
+})
+
+-- Dirt (5x gravel in X pattern gives 5 dirt)
+minetest.register_craft({
+ output = "default:dirt 5",
+ recipe = {
+ {"default:gravel", "", "default:gravel"},
+ {"", "default:gravel", ""},
+ {"default:gravel", "", "default:gravel"},
+ }
+})
+
+-- Sand (5x dirt in X pattern gives 5 sand)
+minetest.register_craft({
+ output = "default:sand 5",
+ recipe = {
+ {"default:dirt", "", "default:dirt"},
+ {"", "default:dirt", ""},
+ {"default:dirt", "", "default:dirt"},
+ }
+})
+
+-- Snow (5x ice in X pattern gives 5 snow)
+minetest.register_craft({
+ output = "default:snow 5",
+ recipe = {
+ {"default:ice", "", "default:ice"},
+ {"", "default:ice", ""},
+ {"default:ice", "", "default:ice"},
+ }
+})
+
+-- Paper (2x3 string = 4 paper)
+minetest.register_craft({
+ output = "default:paper 4",
+ recipe = {
+ {"farming:string", "farming:string", ""},
+ {"farming:string", "farming:string", ""},
+ {"farming:string", "farming:string", ""},
+ }
+})
+
+-- Bucket of Cactus Pulp
+minetest.register_craftitem("ethereal:bucket_cactus", {
+ description = "Bucket of Cactus Pulp",
+ inventory_image = "bucket_cactus.png",
+ stack_max = 1,
+ on_use = minetest.item_eat(2, "bucket:bucket_empty"),
+})
+
+minetest.register_craft({
+ output = "ethereal:bucket_cactus",
+ type = shapeless,
+ recipe = {
+ {"bucket:bucket_empty","default:cactus"},
+ }
+})
+
+-- Palm Wax
+minetest.register_craftitem("ethereal:palm_wax", {
+ description = "Palm Wax",
+ inventory_image = "palm_wax.png",
+})
+
+minetest.register_craft({
+ type = "cooking",
+ cooktime = 10,
+ output = "ethereal:palm_wax",
+ recipe = "ethereal:palmleaves"
+})
+
+-- Candle from Wax and String/Cotton
+minetest.register_node("ethereal:candle", {
+ description = "Candle",
+ drawtype = "plantlike",
+ inventory_image = "candle_static.png",
+ tiles = {
+ {name="candle.png", animation={type="vertical_frames", aspect_w=32, aspect_h=32, length=1.0}},
+ },
+ paramtype = "light",
+ light_source = LIGHT_MAX-3,
+ sunlight_propagates = true,
+ walkable = false,
+ groups = {dig_immediate=3, attached_node=1},
+ sounds = default.node_sound_defaults(),
+ selection_box = {
+ type = "fixed",
+ fixed = { -0.15, -0.5, -0.15, 0.15, 0.2, 0.15 },
+ },
+})
+
+minetest.register_craft({
+ output = "ethereal:candle 6",
+ recipe = {
+ {"","farming:cotton"},
+ {"","ethereal:palm_wax"},
+ {"","ethereal:palm_wax"},
+ }
+})