diff --git a/mods/ethereal/extra.lua b/mods/ethereal/extra.lua new file mode 100644 index 00000000..f299fb43 --- /dev/null +++ b/mods/ethereal/extra.lua @@ -0,0 +1,353 @@ + +local S = ethereal.intllib + +-- Etherium Dust +minetest.register_craftitem("ethereal:etherium_dust", { + description = S("Etherium Dust"), + inventory_image = "ethereal_etherium_dust.png", + wield_image = "ethereal_etherium_dust.png", +}) + +-- Ethereium Ore +minetest.register_node("ethereal:etherium_ore", { + description = S("Etherium Ore"), + tiles = {"default_desert_stone.png^ethereal_etherium_ore.png"}, + groups = {cracky = 3}, + drop = "ethereal:etherium_dust", + sounds = default.node_sound_stone_defaults(), +}) + +-- Bamboo Flooring +minetest.register_node("ethereal:bamboo_floor", { + description = S("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"}, + } +}) + +minetest.register_craft({ + output = "ethereal:bamboo_block", + recipe = { + {"ethereal:bamboo_floor"}, + {"ethereal:bamboo_floor"}, + } +}) + +-- Bamboo Block +minetest.register_node("ethereal:bamboo_block", { + description = S("Bamboo Block"), + tiles = { "bamboo_floor.png" }, + paramtype = "light", + groups = {snappy = 3, choppy = 3 , flammable = 2, wood = 1}, + sounds = default.node_sound_wood_defaults(), +}) + +minetest.register_craft({ + output = "ethereal:bamboo_block", + 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"}, + } +}) + +if ethereal.xcraft == true then + +-- X pattern craft recipes (5x 'a' in X pattern gives 5 of 'b') +local cheat = { + {"default:cobble", "default:gravel", 5}, + {"default:gravel", "default:dirt", 5}, + {"default:dirt", "default:sand", 5}, + {"default:ice", "default:snow", 20}, + {"ethereal:dry_dirt", "default:desert_sand", 5}, +} + +for n = 1, #cheat do + + minetest.register_craft({ + output = cheat[n][2] .. " " .. cheat[n][3], + recipe = { + {cheat[n][1], "", cheat[n][1]}, + {"", cheat[n][1], ""}, + {cheat[n][1], "", cheat[n][1]}, + } + }) +end + +end -- END if + +-- 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"}, + } +}) + +-- Palm Wax +minetest.register_craftitem("ethereal:palm_wax", { + description = S("Palm Wax"), + inventory_image = "palm_wax.png", + wield_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 = S("Candle"), + drawtype = "plantlike", + inventory_image = "candle_static.png", + wield_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 = 11, + 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, 0.15 } + }, +}) + +minetest.register_craft({ + output = "ethereal:candle 2", + recipe = { + {"farming:cotton"}, + {"ethereal:palm_wax"}, + {"ethereal:palm_wax"}, + } +}) + +-- Wooden Bowl +minetest.register_craftitem("ethereal:bowl", { + description = S("Bowl"), + inventory_image = "bowl.png", + groups = {food_bowl = 1, flammable = 2}, +}) + +-- use farming redo's recipe if found +if not minetest.registered_items["farming:bowl"] then + + minetest.register_craft({ + output = "ethereal:bowl 4", + recipe = { + {"group:wood", "", "group:wood"}, + {"", "group:wood", ""}, + } + }) +end + +-- stone Ladder +minetest.register_node("ethereal:stone_ladder", { + description = S("Stone Ladder"), + drawtype = "signlike", + tiles = {"stone_ladder.png"}, + inventory_image = "stone_ladder.png", + wield_image = "stone_ladder.png", + paramtype = "light", + sunlight_propagates = true, + paramtype2 = "wallmounted", + walkable = false, + climbable = true, + is_ground_content = false, + selection_box = { + type = "wallmounted", + }, + groups = {cracky = 3, oddly_breakable_by_hand = 1}, + legacy_wallmounted = true, + sounds = default.node_sound_stone_defaults(), +}) + +minetest.register_craft({ + output = "ethereal:stone_ladder 4", + recipe = { + {"group:stone", "", "group:stone"}, + {"group:stone", "group:stone", "group:stone"}, + {"group:stone", "", "group:stone"}, + } +}) + +-- Paper Wall +minetest.register_node("ethereal:paper_wall", { + drawtype = "nodebox", + description = S("Paper Wall"), + tiles = {"paper_wall.png"}, + inventory_image_image = "paper_wall.png", + wield_image = "paper_wall.png", + paramtype = "light", + groups = {snappy = 3}, + sounds = default.node_sound_wood_defaults(), + walkable = true, + is_ground_content = false, + sunlight_propagates = true, + paramtype2 = "facedir", + selection_box = { + type = "fixed", + fixed = { -0.5, -0.5, 5/11, 0.5, 0.5, 8/16 } + }, + node_box = { + type = "fixed", + fixed = { + { -0.5, -0.5, 5/11, 0.5, 0.5, 8/16 } + } + }, +}) + +minetest.register_craft({ + output = "ethereal:paper_wall", + recipe = { + {"group:stick", "default:paper", "group:stick"}, + {"group:stick", "default:paper", "group:stick"}, + {"group:stick", "default:paper", "group:stick"}, + } +}) + +-- Glostone (A little bit of light decoration) +minetest.register_node("ethereal:glostone", { + description = S("Glo Stone"), + tiles = {"glostone.png"}, + groups = {cracky = 3}, + light_source = 13, + drop = "ethereal:glostone", + sounds = default.node_sound_stone_defaults(), +}) + +minetest.register_craft({ + type = "shapeless", + output = "ethereal:glostone", + recipe = {"default:torch", "default:stone", "dye:yellow"} +}) + +-- Charcoal Lump +minetest.register_craftitem("ethereal:charcoal_lump", { + description = S("Lump of Charcoal"), + inventory_image = "charcoal_lump.png", +}) + +minetest.register_craft({ + output = "ethereal:charcoal_lump 2", + recipe = { + {"ethereal:scorched_tree"} + } +}) + +minetest.register_craft({ + output = "ethereal:charcoal_lump 2", + type = "cooking", + recipe = "group:tree", + cooktime = 4 +}) + +minetest.register_craft({ + type = "fuel", + recipe = "ethereal:charcoal_lump", + burntime = 10, +}) + +-- Make Torch from Charcoal Lump +minetest.register_craft({ + output = "default:torch 4", + recipe = { + {"ethereal:charcoal_lump"}, + {"default:stick"}, + } +}) + +-- Staff of Light (by Xanthin) +minetest.register_tool("ethereal:light_staff", { + description = S("Staff of Light"), + inventory_image = "light_staff.png", + wield_image = "light_staff.png", + sound = {breaks = "default_tool_breaks"}, + stack_max = 1, + on_use = function(itemstack, user, pointed_thing) + + if pointed_thing.type ~= "node" then + return + end + + local pos = pointed_thing.under + local pname = user:get_player_name() + + if minetest.is_protected(pos, pname) then + minetest.record_protection_violation(pos, pname) + return + end + + local node = minetest.get_node(pos).name + + if node == "default:stone" + or node == "default:desert_stone" then + + minetest.swap_node(pos, {name = "ethereal:glostone"}) + + if not ethereal.check_creative(user:get_player_name()) then + itemstack:add_wear(65535 / 149) -- 150 uses + end + + return itemstack + end + + end, +}) + +minetest.register_craft({ + output = "ethereal:light_staff", + recipe = { + {"ethereal:illumishroom", "default:mese_crystal", "ethereal:illumishroom"}, + {"ethereal:illumishroom2", "default:steel_ingot", "ethereal:illumishroom2"}, + {"ethereal:illumishroom3", "default:steel_ingot", "ethereal:illumishroom3"} + } +}) diff --git a/mods/ethereal/fences.lua b/mods/ethereal/fences.lua new file mode 100644 index 00000000..c560c114 --- /dev/null +++ b/mods/ethereal/fences.lua @@ -0,0 +1,82 @@ + +local S = ethereal.intllib + +default.register_fence("ethereal:fence_scorched", { + description = S("Scorched Fence"), + texture = "scorched_tree.png", + material = "ethereal:scorched_tree", + groups = {choppy = 2, oddly_breakable_by_hand = 2, flammable = 2}, + sounds = default.node_sound_wood_defaults() +}) + +default.register_fence("ethereal:fence_frostwood", { + description = S("Frost Fence"), + texture = "frost_wood.png", + material = "ethereal:frost_wood", + groups = {choppy = 2, oddly_breakable_by_hand = 2, flammable = 2}, + sounds = default.node_sound_wood_defaults() +}) + +default.register_fence("ethereal:fence_redwood", { + description = S("Redwood Fence"), + texture = "redwood_wood.png", + material = "ethereal:redwood_wood", + groups = {choppy = 2, oddly_breakable_by_hand = 2, flammable = 2}, + sounds = default.node_sound_wood_defaults() +}) + +default.register_fence("ethereal:fence_willow", { + description = S("Willow Fence"), + texture = "willow_wood.png", + material = "ethereal:willow_wood", + groups = {choppy = 2, oddly_breakable_by_hand = 2, flammable = 2}, + sounds = default.node_sound_wood_defaults() +}) + +default.register_fence("ethereal:fence_yellowwood", { + description = S("Healing Wood Fence"), + texture = "yellow_wood.png", + material = "ethereal:yellow_wood", + groups = {choppy = 2, oddly_breakable_by_hand = 2, flammable = 2}, + sounds = default.node_sound_wood_defaults() +}) + +default.register_fence("ethereal:fence_palm", { + description = S("Palm Fence"), + texture = "moretrees_palm_wood.png", + material = "ethereal:palm_wood", + groups = {choppy = 2, oddly_breakable_by_hand = 2, flammable = 2}, + sounds = default.node_sound_wood_defaults() +}) + +default.register_fence("ethereal:fence_banana", { + description = S("Banana Wood Fence"), + texture = "banana_wood.png", + material = "ethereal:banana_wood", + groups = {choppy = 2, oddly_breakable_by_hand = 2, flammable = 2}, + sounds = default.node_sound_wood_defaults() +}) + +default.register_fence("ethereal:fence_mushroom", { + description = S("Mushroom Fence"), + texture = "mushroom_trunk.png", + material = "ethereal:mushroom_trunk", + groups = {choppy = 2, oddly_breakable_by_hand = 2, flammable = 2}, + sounds = default.node_sound_wood_defaults() +}) + +default.register_fence("ethereal:fence_birch", { + description = S("Birch Fence"), + texture = "moretrees_birch_wood.png", + material = "ethereal:birch_wood", + groups = {choppy = 2, oddly_breakable_by_hand = 2, flammable = 2}, + sounds = default.node_sound_wood_defaults() +}) + +default.register_fence("ethereal:fence_sakura", { + description = S("Sakura Fence"), + texture = "ethereal_sakura_wood.png", + material = "ethereal:sakura_wood", + groups = {choppy = 2, oddly_breakable_by_hand = 2, flammable = 2}, + sounds = default.node_sound_wood_defaults() +}) diff --git a/mods/ethereal/fishing.lua b/mods/ethereal/fishing.lua new file mode 100644 index 00000000..c262d989 --- /dev/null +++ b/mods/ethereal/fishing.lua @@ -0,0 +1,167 @@ + +local S = ethereal.intllib + +-- Raw Fish (Thanks to Altairas for her Fish image on DeviantArt) +minetest.register_craftitem("ethereal:fish_raw", { + description = S("Raw Fish"), + inventory_image = "fish_raw.png", + wield_image = "fish_raw.png", + groups = {food_fish_raw = 1, flammable = 3}, + on_use = minetest.item_eat(2), +}) + +-- Cooked Fish +minetest.register_craftitem("ethereal:fish_cooked", { + description = S("Cooked Fish"), + inventory_image = "fish_cooked.png", + wield_image = "fish_cooked.png", + groups = {food_fish = 1, flammable = 3}, + on_use = minetest.item_eat(5), +}) + +minetest.register_craft({ + type = "cooking", + output = "ethereal:fish_cooked", + recipe = "ethereal:fish_raw", + cooktime = 2, +}) + +-- Sashimi (Thanks to Natalia Grosner for letting me use the sashimi image) +minetest.register_craftitem("ethereal:sashimi", { + description = S("Sashimi"), + inventory_image = "sashimi.png", + wield_image = "sashimi.png", + on_use = minetest.item_eat(4), +}) + +minetest.register_craft({ + output = "ethereal:sashimi 2", + recipe = { + {"group:food_seaweed", "group:food_fish_raw", "group:food_seaweed"}, + } +}) + +-- Worm +minetest.register_craftitem("ethereal:worm", { + description = S("Worm"), + inventory_image = "worm.png", + wield_image = "worm.png", +}) + +-- Used when right-clicking with fishing rod to check for worm and bait rod +local rod_use = function(itemstack, placer, pointed_thing) + + local inv = placer:get_inventory() + + if inv:contains_item("main", "ethereal:worm") then + + inv:remove_item("main", "ethereal:worm") + + return ItemStack("ethereal:fishing_rod_baited") + end +end + +-- Fishing Rod +minetest.register_craftitem("ethereal:fishing_rod", { + description = S("Fishing Rod (Right-Click with rod to bait with worm from inventory)"), + inventory_image = "fishing_rod.png", + wield_image = "fishing_rod.png", + stack_max = 1, + + on_place = rod_use, + on_secondary_use = rod_use +}) + +minetest.register_craft({ + output = "ethereal:fishing_rod", + recipe = { + {"","","group:stick"}, + {"", "group:stick", "farming:string"}, + {"group:stick", "", "farming:string"}, + } +}) + +-- Sift through 2 Dirt Blocks to find Worm +minetest.register_craft({ + output = "ethereal:worm", + recipe = { + {"default:dirt","default:dirt"}, + } +}) + +-- default ethereal fish +ethereal.fish = { + {"ethereal:fish_raw"}, +} + +-- xanadu server additional fish +if minetest.get_modpath("xanadu") then + ethereal.fish[2] = {"mobs:clownfish_raw"} + ethereal.fish[3] = {"mobs:bluefish_raw"} +end + +-- Fishing Rod (Baited) +minetest.register_craftitem("ethereal:fishing_rod_baited", { + description = S("Baited Fishing Rod"), + inventory_image = "fishing_rod_baited.png", + wield_image = "fishing_rod_wield.png", + stack_max = 1, + liquids_pointable = true, + + on_use = function (itemstack, user, pointed_thing) + + if pointed_thing.type ~= "node" then + return + end + + local pos = pointed_thing.under + local node = minetest.get_node(pos).name + + if (node == "default:water_source" + or node == "default:river_water_source") + and math.random(1, 100) < 5 then + + local type = ethereal.fish[math.random(1, #ethereal.fish)][1] + local inv = user:get_inventory() + + if inv:room_for_item("main", {name = type}) then + + inv:add_item("main", {name = type}) + + minetest.sound_play("default_water_footstep", {pos = pos}) + + pos.y = pos.y + 0.5 + + minetest.add_particlespawner({ + amount = 5, + time = .3, + minpos = pos, + maxpos = pos, + minvel = {x = 2, y = .5, z = 2}, + maxvel = {x = 2, y = .5, z = 2}, + minacc = {x = 1, y = .1, z = 1}, + maxacc = {x = 1, y = .1, z = 1}, + minexptime = .3, + maxexptime = .5, + minsize = .5, + maxsize = 1, + collisiondetection = false, + vertical = false, + texture = "bubble.png", + playername = "singleplayer" + }) + + return ItemStack("ethereal:fishing_rod") + else + minetest.chat_send_player(user:get_player_name(), + S("Inventory full, Fish Got Away!")) + end + end + end, +}) + +minetest.register_craft({ + type = "shapeless", + output = "ethereal:fishing_rod_baited", + recipe = {"ethereal:fishing_rod", "ethereal:worm"}, +}) diff --git a/mods/ethereal/food.lua b/mods/ethereal/food.lua new file mode 100644 index 00000000..102f9881 --- /dev/null +++ b/mods/ethereal/food.lua @@ -0,0 +1,232 @@ + +local S = ethereal.intllib + +-- Banana (Heals one heart when eaten) +minetest.register_node("ethereal:banana", { + description = S("Banana"), + drawtype = "torchlike", + tiles = {"banana_single.png"}, + inventory_image = "banana_single.png", + wield_image = "banana_single.png", + paramtype = "light", + sunlight_propagates = true, + walkable = false, + selection_box = { + type = "fixed", + fixed = {-0.31, -0.5, -0.31, 0.31, 0.5, 0.31} + }, + groups = { + food_banana = 1, fleshy = 3, dig_immediate = 3, flammable = 2, + leafdecay = 1, leafdecay_drop = 1 + }, + drop = "ethereal:banana", + on_use = minetest.item_eat(2), + sounds = default.node_sound_leaves_defaults(), + after_place_node = function(pos, placer) + 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 = S("Banana Dough"), + inventory_image = "banana_dough.png", +}) + +minetest.register_craft({ + type = "shapeless", + output = "ethereal:banana_dough", + recipe = {"group:food_flour", "group:food_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 = S("Orange"), + drawtype = "plantlike", + tiles = {"farming_orange.png"}, + inventory_image = "farming_orange.png", + wield_image = "farming_orange.png", + paramtype = "light", + sunlight_propagates = true, + walkable = false, + selection_box = { + type = "fixed", + fixed = {-0.27, -0.37, -0.27, 0.27, 0.44, 0.27} + }, + groups = { + food_orange = 1, fleshy = 3, dig_immediate = 3, flammable = 2, + leafdecay = 3, leafdecay_drop = 1 + }, + drop = "ethereal:orange", + on_use = minetest.item_eat(4), + sounds = default.node_sound_leaves_defaults(), + after_place_node = function(pos, placer) + 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 = S("Pine Nuts"), + inventory_image = "pine_nuts.png", + wield_image = "pine_nuts.png", + groups = {food_pine_nuts = 1, flammable = 2}, + on_use = minetest.item_eat(1), +}) + +-- Banana Loaf (Heals 3 hearts when eaten) +minetest.register_craftitem("ethereal:banana_bread", { + description = S("Banana Loaf"), + inventory_image = "banana_bread.png", + wield_image = "banana_bread.png", + groups = {food_bread = 1, flammable = 3}, + on_use = minetest.item_eat(6), +}) + +-- Coconut (Gives 4 coconut slices, each heal 1/2 heart) +minetest.register_node("ethereal:coconut", { + description = S("Coconut"), + drawtype = "plantlike", + walkable = false, + paramtype = "light", + sunlight_propagates = true, + tiles = {"moretrees_coconut.png"}, + inventory_image = "moretrees_coconut.png", + wield_image = "moretrees_coconut.png", + selection_box = { + type = "fixed", + fixed = {-0.31, -0.43, -0.31, 0.31, 0.44, 0.31} + }, + groups = { + food_coconut = 1, snappy = 1, oddly_breakable_by_hand = 1, cracky = 1, + choppy = 1, 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 = S("Coconut Slice"), + inventory_image = "moretrees_coconut_slice.png", + wield_image = "moretrees_coconut_slice.png", + groups = {food_coconut_slice = 1, flammable = 1}, + on_use = minetest.item_eat(1), +}) + +-- Golden Apple (Found on Healing Tree, heals all 10 hearts) +minetest.register_node("ethereal:golden_apple", { + description = S("Golden Apple"), + drawtype = "plantlike", + tiles = {"default_apple_gold.png"}, + inventory_image = "default_apple_gold.png", + wield_image = "default_apple_gold.png", + paramtype = "light", + sunlight_propagates = true, + walkable = false, + selection_box = { + type = "fixed", + fixed = {-0.2, -0.37, -0.2, 0.2, 0.31, 0.2} + }, + groups = { + fleshy = 3, dig_immediate = 3, + leafdecay = 3,leafdecay_drop = 1 + }, + drop = "ethereal:golden_apple", +-- on_use = minetest.item_eat(20), + on_use = function(itemstack, user, pointed_thing) + if user then + user:set_hp(20) + return minetest.do_item_eat(2, nil, itemstack, user, pointed_thing) + end + end, + 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, +}) + +-- Hearty Stew (Heals 5 hearts - thanks to ZonerDarkRevention for his DokuCraft DeviantArt bowl texture) +minetest.register_craftitem("ethereal:hearty_stew", { + description = S("Hearty Stew"), + inventory_image = "hearty_stew.png", + wield_image = "hearty_stew.png", + on_use = minetest.item_eat(10, "ethereal:bowl"), +}) + +minetest.register_craft({ + output = "ethereal:hearty_stew", + recipe = { + {"group:food_onion","flowers:mushroom_brown", "group:food_tuber"}, + {"","flowers:mushroom_brown", ""}, + {"","group:food_bowl", ""}, + } +}) + +-- Extra recipe for hearty stew +if farming and farming.mod and farming.mod == "redo" then +minetest.register_craft({ + output = "ethereal:hearty_stew", + recipe = { + {"group:food_onion","flowers:mushroom_brown", "group:food_beans"}, + {"","flowers:mushroom_brown", ""}, + {"","group:food_bowl", ""}, + } +}) +end + +-- Bucket of Cactus Pulp +minetest.register_craftitem("ethereal:bucket_cactus", { + description = S("Bucket of Cactus Pulp"), + inventory_image = "bucket_cactus.png", + wield_image = "bucket_cactus.png", + stack_max = 1, + on_use = minetest.item_eat(2, "bucket:bucket_empty"), +}) + +minetest.register_craft({ + output = "ethereal:bucket_cactus", + recipe = { + {"bucket:bucket_empty","default:cactus"}, + } +}) + + +-- firethorn jelly +minetest.register_craftitem("ethereal:firethorn_jelly", { + description = S("Firethorn Jelly"), + inventory_image = "ethereal_firethorn_jelly.png", + wield_image = "ethereal_firethorn_jelly.png", + on_use = minetest.item_eat(2, "vessels:glass_bottle"), + groups = {vessel = 1}, +}) + +if minetest.registered_items["farming:bowl"] then + +minetest.register_craft({ + type = "shapeless", + output = "ethereal:firethorn_jelly", + recipe = { + "farming:mortar_pestle","vessels:glass_bottle", + "ethereal:firethorn", "ethereal:firethorn", "ethereal:firethorn", + "bucket:bucket_water", "bucket:bucket_water", "bucket:bucket_water", + }, + replacements = { + {"bucket:bucket_water", "bucket:bucket_empty 3"}, + {"farming:mortar_pestle", "farming:mortar_pestle"}, + }, +}) +end diff --git a/mods/ethereal/gates.lua b/mods/ethereal/gates.lua new file mode 100644 index 00000000..d98c5689 --- /dev/null +++ b/mods/ethereal/gates.lua @@ -0,0 +1,111 @@ + +local S = ethereal.intllib + +-- register Ethereal wood type gates + +doors.register_fencegate("ethereal:fencegate_scorched", { + description = S("Scorched Wood Fence Gate"), + texture = "scorched_tree.png", + material = "ethereal:scorched_tree", + groups = {choppy = 2, oddly_breakable_by_hand = 2, flammable = 2} +}) + +doors.register_fencegate("ethereal:fencegate_frostwood", { + description = S("Frost Wood Fence Gate"), + texture = "frost_wood.png", + material = "ethereal:frost_wood", + groups = {choppy = 2, oddly_breakable_by_hand = 2, flammable = 2} +}) + +doors.register_fencegate("ethereal:fencegate_redwood", { + description = S("Redwood Fence Gate"), + texture = "redwood_wood.png", + material = "ethereal:redwood_wood", + groups = {choppy = 2, oddly_breakable_by_hand = 2, flammable = 2} +}) + +doors.register_fencegate("ethereal:fencegate_willow", { + description = S("Willow Wood Fence Gate"), + texture = "willow_wood.png", + material = "ethereal:willow_wood", + groups = {choppy = 2, oddly_breakable_by_hand = 2, flammable = 2} +}) + +doors.register_fencegate("ethereal:fencegate_yellowwood", { + description = S("Healing Wood Fence Gate"), + texture = "yellow_wood.png", + material = "ethereal:yellow_wood", + groups = {choppy = 2, oddly_breakable_by_hand = 2, flammable = 2} +}) + +doors.register_fencegate("ethereal:fencegate_palm", { + description = S("Palm Wood Fence Gate"), + texture = "moretrees_palm_wood.png", + material = "ethereal:palm_wood", + groups = {choppy = 2, oddly_breakable_by_hand = 2, flammable = 2} +}) + +doors.register_fencegate("ethereal:fencegate_banana", { + description = S("Banana Wood Fence Gate"), + texture = "banana_wood.png", + material = "ethereal:banana_wood", + groups = {choppy = 2, oddly_breakable_by_hand = 2, flammable = 2} +}) + +doors.register_fencegate("ethereal:fencegate_mushroom", { + description = S("Mushroom Trunk Fence Gate"), + texture = "mushroom_trunk.png", + material = "ethereal:mushroom_trunk", + groups = {choppy = 2, oddly_breakable_by_hand = 2, flammable = 2} +}) + +doors.register_fencegate("ethereal:fencegate_birch", { + description = S("Birch Wood Fence Gate"), + texture = "moretrees_birch_wood.png", + material = "ethereal:birch_wood", + groups = {choppy = 2, oddly_breakable_by_hand = 2, flammable = 2} +}) + +doors.register_fencegate("ethereal:fencegate_sakura", { + description = S("Sakura Wood Fence Gate"), + texture = "ethereal_sakura_wood.png", + material = "ethereal:sakura_wood", + groups = {choppy = 2, oddly_breakable_by_hand = 2, flammable = 2} +}) + +-- add compatibility for ethereal's to default wooden gates +minetest.register_alias("ethereal:fencegate_wood_open", "doors:gate_wood_open") +minetest.register_alias("ethereal:fencegate_wood_closed", "doors:gate_wood_closed") + +minetest.register_alias("ethereal:fencegate_acacia_open", "doors:gate_acacia_wood_open") +minetest.register_alias("ethereal:fencegate_acacia_closed", "doors:gate_acacia_wood_closed") + +minetest.register_alias("ethereal:fencegate_junglewood_open", "doors:gate_junglewood_open") +minetest.register_alias("ethereal:fencegate_junglewood_closed", "doors:gate_junglewood_closed") + +minetest.register_alias("ethereal:fencegate_pine_open", "doors:gate_pine_wood_open") +minetest.register_alias("ethereal:fencegate_pine_closed", "doors:gate_pine_wood_closed") + +-- sakura door +doors.register_door("ethereal:door_sakura", { + tiles = { + {name = "ethereal_sakura_door.png", backface_culling = true} + }, + description = S("Sakura Wood Door"), + inventory_image = "ethereal_sakura_door_inv.png", + groups = { + snappy = 1, choppy = 2, oddly_breakable_by_hand = 2, + flammable = 2 + }, + sound_open = "doors_glass_door_open", + sound_close = "doors_glass_door_close", + recipe = { + {"group:stick", "default:paper"}, + {"default:paper", "group:stick"}, + {"ethereal:sakura_wood", "ethereal:sakura_wood"} + } +}) + +minetest.register_alias("ethereal:sakura_door", "ethereal:door_sakura") +minetest.register_alias("ethereal:sakura_door_a", "ethereal:door_sakura_a") +minetest.register_alias("ethereal:sakura_door_b", "ethereal:door_sakura_b")