summaryrefslogtreecommitdiff
path: root/extra.lua
diff options
context:
space:
mode:
Diffstat (limited to 'extra.lua')
-rw-r--r--extra.lua302
1 files changed, 302 insertions, 0 deletions
diff --git a/extra.lua b/extra.lua
new file mode 100644
index 0000000..d7ae671
--- /dev/null
+++ b/extra.lua
@@ -0,0 +1,302 @@
+-- Vines
+minetest.register_node("ethereal:vine", {
+ description = "Vine",
+ drawtype = "signlike",
+ tiles = {"vine.png"},
+ inventory_image = "vine.png",
+ wield_image = "vine.png",
+ paramtype = "light",
+ paramtype2 = "wallmounted",
+ walkable = false,
+ climbable = true,
+ is_ground_content = false,
+ selection_box = {
+ type = "wallmounted",
+ --wall_top = = <default>
+ --wall_bottom = = <default>
+ --wall_side = = <default>
+ },
+ groups = {choppy=3, oddly_breakable_by_hand=1},
+ legacy_wallmounted = true,
+ sounds = default.node_sound_leaves_defaults(),
+})
+
+minetest.register_craft({
+ output = "ethereal:vine 2",
+ recipe = {
+ {"group:leaves", "group:leaves", ""},
+ {"group:leaves", "group:leaves", ""},
+ {"group:leaves", "group:leaves", ""},
+ }
+})
+
+-- stone Ladder
+minetest.register_node("ethereal:stone_ladder", {
+ description = "Stone Ladder",
+ drawtype = "signlike",
+ tiles = {"stone_ladder.png"},
+ inventory_image = "stone_ladder.png",
+ wield_image = "stone_ladder.png",
+ paramtype = "light",
+ paramtype2 = "wallmounted",
+ walkable = false,
+ climbable = true,
+ is_ground_content = false,
+ selection_box = {
+ type = "wallmounted",
+ --wall_top = = <default>
+ --wall_bottom = = <default>
+ --wall_side = = <default>
+ },
+ 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 = {
+ {"default:cobble", "", "default:cobble"},
+ {"default:cobble", "default:cobble", "default:cobble"},
+ {"default:cobble", "", "default:cobble"},
+ }
+})
+
+-- Paper Wall
+minetest.register_node("ethereal:paper_wall", {
+ drawtype = "nodebox",
+ description = ("Paper Wall"),
+ tiles = {"paper_wall.png",},
+ paramtype = "light",
+ groups = {snappy=3},
+ sounds = default.node_sound_wood_defaults(),
+ walkable = 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 = {
+ {"default:stick", "default:paper", "default:stick"},
+ {"default:stick", "default:paper", "default:stick"},
+ {"default:stick", "default:paper", "default:stick"},
+ }
+})
+
+-- Glostone (A little bit of light decoration)
+minetest.register_node("ethereal:glostone", {
+ description = "Glo Stone",
+ tiles = {"glostone.png"},
+ groups = {cracky=3},
+ light_source = LIGHT_MAX - 1,
+ drop = "ethereal:glostone",
+ sounds = default.node_sound_stone_defaults(),
+})
+
+minetest.register_craft({
+ output = "ethereal:glostone",
+ recipe = {
+ {"default:torch", "default:stone", "dye:yellow"},
+ {"", "", ""},
+ {"", "", ""},
+ }
+})
+
+-- Ladder (Changes default recipe to give 2x ladders instead of only 1)
+minetest.register_craft({
+ output = "default:ladder 2",
+ recipe = {
+ {"group:stick", "", "group:stick"},
+ {"group:stick", "group:stick", "group:stick"},
+ {"group:stick", "", "group:stick"},
+ }
+})
+
+-- Signs (Changes default recipe to give 4x signs instead of only 1)
+minetest.register_craft({
+ output = "default:sign_wall 4",
+ recipe = {
+ {"group:wood", "group:wood", "group:wood"},
+ {"group:wood", "group:wood", "group:wood"},
+ {"", "group:stick", ""},
+ }
+})
+
+-- Charcoal Lump
+minetest.register_craftitem("ethereal:charcoal_lump", {
+ description = "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 4",
+ 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"},
+ }
+})
+
+-- Obsidian Brick
+minetest.register_node("ethereal:obsidian_brick", {
+ description = "Obsidian Brick",
+ inventory_image = minetest.inventorycube("obsidian_brick.png"),
+ tiles = {"obsidian_brick.png"},
+ paramtype = "facedir",
+ groups = {cracky=1,level=3},
+ sounds = default.node_sound_stone_defaults(),
+})
+
+minetest.register_craft({
+ output = 'ethereal:obsidian_brick 2',
+ recipe = {
+ {'default:obsidian', 'default:obsidian'},
+ {'default:obsidian', 'default:obsidian'},
+ }
+})
+
+-- Quicksand (old style, sinking inside shows black instead of yellow effect,
+-- works ok with noclip enabled though)
+minetest.register_node("ethereal:quicksand", {
+ description = "Quicksand",
+ tiles = {"default_sand.png"},
+ drop = "default:sand",
+ liquid_viscosity = 15,
+ liquidtype = "source",
+ liquid_alternative_flowing = "ethereal:quicksand",
+ liquid_alternative_source = "ethereal:quicksand",
+ liquid_renewable = false,
+ liquid_range = 0,
+ drowning = 1,
+ walkable = false,
+ climbable = false,
+ post_effect_color = { r=230, g=210, b=160, a=245 },
+ groups = {crumbly=3, falling_node=1, sand=1, liquid=3, disable_jump=1},
+ sounds = default.node_sound_sand_defaults(),
+})
+
+-- Quicksand (new style, sinking inside shows yellow effect with or without noclip,
+-- but old quicksand is shown as black until block placed nearby to update light)
+minetest.register_node("ethereal:quicksand2", {
+ description = "Quicksand",
+ tiles = {"default_sand.png"},
+ drawtype = "glasslike",
+ paramtype = "light",
+ drop = "default:sand",
+ liquid_viscosity = 15,
+ liquidtype = "source",
+ liquid_alternative_flowing = "ethereal:quicksand2",
+ liquid_alternative_source = "ethereal:quicksand2",
+ liquid_renewable = false,
+ liquid_range = 0,
+ drowning = 1,
+ walkable = false,
+ climbable = false,
+ post_effect_color = { r=230, g=210, b=160, a=245 },
+ groups = {crumbly=3, falling_node=1, sand=1, liquid=3, disable_jump=1},
+ sounds = default.node_sound_sand_defaults(),
+})
+
+-- Illuminated Cave Shrooms (Red, Green and Blue)
+minetest.register_node("ethereal:illumishroom", {
+ description = "Red Illumishroom",
+ drawtype = "plantlike",
+ tiles = { "illumishroom.png" },
+ inventory_image = "illumishroom.png",
+ wield_image = "illumishroom.png",
+ paramtype = "light",
+ light_source = 5,
+ walkable = false,
+ groups = {dig_immediate=3, attached_node=1,flammable=3},
+ sounds = default.node_sound_leaves_defaults(),
+ selection_box = {
+ type = "fixed",
+ fixed = {-0.5, -0.5, -0.5, 0.5, -5/16, 0.5},
+ },
+})
+
+minetest.register_node("ethereal:illumishroom2", {
+ description = "Green Illumishroom",
+ drawtype = "plantlike",
+ tiles = { "illumishroom2.png" },
+ inventory_image = "illumishroom2.png",
+ wield_image = "illumishroom2.png",
+ paramtype = "light",
+ light_source = 5,
+ walkable = false,
+ groups = {dig_immediate=3, attached_node=1,flammable=3},
+ sounds = default.node_sound_leaves_defaults(),
+ selection_box = {
+ type = "fixed",
+ fixed = {-0.5, -0.5, -0.5, 0.5, -5/16, 0.5},
+ },
+})
+
+minetest.register_node("ethereal:illumishroom3", {
+ description = "Cyan Illumishroom",
+ drawtype = "plantlike",
+ tiles = { "illumishroom3.png" },
+ inventory_image = "illumishroom3.png",
+ wield_image = "illumishroom3.png",
+ paramtype = "light",
+ light_source = 5,
+ walkable = false,
+ groups = {dig_immediate=3, attached_node=1,flammable=3},
+ sounds = default.node_sound_leaves_defaults(),
+ selection_box = {
+ type = "fixed",
+ fixed = {-0.5, -0.5, -0.5, 0.5, -5/16, 0.5},
+ },
+})
+
+-- Generate Illumishroom in caves next to coal
+minetest.register_on_generated(function(minp, maxp, seed)
+
+ local coal_nodes = minetest.find_nodes_in_area(minp, maxp, "default:stone_with_coal")
+
+ for key, pos in pairs(coal_nodes) do
+
+ local bpos = { x=pos.x, y=pos.y + 1, z=pos.z }
+ nod = minetest.get_node(bpos).name
+
+ if nod == "air" then
+ if bpos.y > -3000 and bpos.y < -2000 then
+ minetest.add_node(bpos, {name = "ethereal:illumishroom3"})
+ elseif bpos.y > -2000 and bpos.y < -1000 then
+ minetest.add_node(bpos, {name = "ethereal:illumishroom2"})
+ elseif bpos.y > -1000 and bpos.y < -30 then
+ minetest.add_node(bpos, {name = "ethereal:illumishroom"})
+ end
+ end
+ end
+end)