diff options
Diffstat (limited to 'extra.lua')
| -rw-r--r-- | extra.lua | 302 | 
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)  | 
