ethereal/extra.lua

446 lines
10 KiB
Lua
Raw Normal View History

2016-06-09 17:08:34 +03:00
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()
})
minetest.register_node("ethereal:stone_with_etherium_ore", {
description = S("Etherium Ore"),
tiles = {"default_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", {
2016-06-09 17:08:34 +03:00
description = S("Bamboo Floor"),
2019-08-05 10:57:49 +03:00
drawtype = "nodebox",
tiles = {"ethereal_bamboo_floor.png"},
wield_image = "ethereal_bamboo_floor.png",
inventory_image = "ethereal_bamboo_floor.png",
2014-11-09 22:17:41 +03:00
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 = {"ethereal_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')
2016-06-05 13:39:20 +03:00
local cheat = {
2016-09-05 16:56:40 +03:00
{"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},
{"default:stone", "default:silver_sandstone", 5}
2016-06-05 13:39:20 +03:00
}
for n = 1, #cheat do
minetest.register_craft({
2016-09-05 16:56:40 +03:00
output = cheat[n][2] .. " " .. cheat[n][3],
recipe = {
2016-06-05 13:39:20 +03:00
{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 2",
recipe = {
2020-07-08 19:59:49 +03:00
{"farming:cotton", "farming:cotton", "farming:cotton"}
}
})
-- Palm Wax
minetest.register_craftitem("ethereal:palm_wax", {
2016-06-09 17:08:34 +03:00
description = S("Palm Wax"),
inventory_image = "ethereal_palm_wax.png",
wield_image = "ethereal_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", {
2016-06-09 17:08:34 +03:00
description = S("Candle"),
drawtype = "plantlike",
inventory_image = "ethereal_candle_static.png",
wield_image = "ethereal_candle_static.png",
tiles = {
{
name = "ethereal_candle.png",
animation = {
type="vertical_frames",
aspect_w = 32,
aspect_h = 32,
length = 1.0
}
}
2017-10-09 13:17:34 +03:00
},
paramtype = "light",
light_source = 11,
sunlight_propagates = true,
2014-11-09 22:17:41 +03:00
walkable = false,
groups = {dig_immediate = 3, attached_node = 1},
sounds = default.node_sound_defaults(),
2014-11-09 22:17:41 +03:00
selection_box = {
type = "fixed",
fixed = { -0.15, -0.5, -0.15, 0.15, 0, 0.15 }
}
2014-11-09 22:17:41 +03:00
})
-- candle recipe
2014-11-09 22:17:41 +03:00
minetest.register_craft({
output = "ethereal:candle 2",
2014-11-09 22:17:41 +03:00
recipe = {
{"farming:string"},
{"ethereal:palm_wax"},
{"ethereal:palm_wax"}
}
})
local function add_candle(col, dcol)
local rcol = ""
if col ~= "" then
rcol = col
col = "_" .. col
end
minetest.register_node("ethereal:candle" .. col, {
description = S(dcol .. "Candle"),
drawtype = "plantlike",
inventory_image = "ethereal_candle" .. col .. "_static.png",
wield_image = "ethereal_candle" .. col .. "_static.png",
tiles = {
{
name = "ethereal_candle" .. col .. ".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 }
}
})
if col ~= "" then
minetest.register_craft({
output = "ethereal:candle" .. col,
recipe = {
{"ethereal:candle", "dye:" .. rcol},
}
})
end
end
add_candle("", "")
add_candle("black", " Black") -- candle colour textures by wRothbard
add_candle("blue", " Blue")
add_candle("brown", " Brown")
add_candle("cyan", " Cyan")
add_candle("dark_green", " Dark Green")
add_candle("dark_grey", " Dark Grey")
add_candle("green", " Green")
add_candle("grey", " Grey")
add_candle("magenta", " Magenta")
add_candle("orange", " Orange")
add_candle("pink", " Pink")
add_candle("red", " Red")
add_candle("violet", " Violet")
add_candle("yellow", " Yellow")
-- Wooden Bowl
minetest.register_craftitem("ethereal:bowl", {
2016-06-09 17:08:34 +03:00
description = S("Bowl"),
inventory_image = "ethereal_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
2014-11-09 22:17:41 +03:00
-- stone Ladder
minetest.register_node("ethereal:stone_ladder", {
2016-06-09 17:08:34 +03:00
description = S("Stone Ladder"),
2014-11-09 22:17:41 +03:00
drawtype = "signlike",
tiles = {"ethereal_stone_ladder.png"},
inventory_image = "ethereal_stone_ladder.png",
wield_image = "ethereal_stone_ladder.png",
2014-11-09 22:17:41 +03:00
paramtype = "light",
2015-07-04 14:22:39 +03:00
sunlight_propagates = true,
2014-11-09 22:17:41 +03:00
paramtype2 = "wallmounted",
walkable = false,
climbable = true,
is_ground_content = false,
selection_box = {
type = "wallmounted"
2014-11-09 22:17:41 +03:00
},
2015-07-04 14:22:39 +03:00
groups = {cracky = 3, oddly_breakable_by_hand = 1},
2014-11-09 22:17:41 +03:00
legacy_wallmounted = true,
sounds = default.node_sound_stone_defaults()
2014-11-09 22:17:41 +03:00
})
minetest.register_craft({
output = "ethereal:stone_ladder 4",
recipe = {
{"group:stone", "", "group:stone"},
{"group:stone", "group:stone", "group:stone"},
{"group:stone", "", "group:stone"}
2014-11-09 22:17:41 +03:00
}
})
-- Paper Wall
minetest.register_node("ethereal:paper_wall", {
drawtype = "nodebox",
2016-06-09 17:08:34 +03:00
description = S("Paper Wall"),
tiles = {"ethereal_paper_wall.png"},
inventory_image_image = "ethereal_paper_wall.png",
wield_image = "ethereal_paper_wall.png",
2014-11-09 22:17:41 +03:00
paramtype = "light",
2015-07-04 14:22:39 +03:00
groups = {snappy = 3},
2014-11-09 22:17:41 +03:00
sounds = default.node_sound_wood_defaults(),
walkable = true,
2015-06-24 12:00:12 +03:00
is_ground_content = false,
2015-11-23 23:43:48 +03:00
sunlight_propagates = true,
2014-11-09 22:17:41 +03:00
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 }
}
}
2014-11-09 22:17:41 +03:00
})
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"}
2014-11-09 22:17:41 +03:00
}
})
-- Glostone (A little bit of light decoration)
minetest.register_node("ethereal:glostone", {
2016-06-09 17:08:34 +03:00
description = S("Glo Stone"),
tiles = {"ethereal_glostone.png"},
2015-07-04 14:22:39 +03:00
groups = {cracky = 3},
2016-01-09 15:25:33 +03:00
light_source = 13,
2014-11-09 22:17:41 +03:00
drop = "ethereal:glostone",
sounds = default.node_sound_stone_defaults()
2014-11-09 22:17:41 +03:00
})
minetest.register_craft({
-- type = "shapeless",
2014-11-09 22:17:41 +03:00
output = "ethereal:glostone",
recipe = {
{"", "default:torch", ""},
{"default:torch", "default:stone", "default:torch"},
{"", "dye:yellow", ""}
}
2014-11-09 22:17:41 +03:00
})
-- Charcoal Lump
minetest.register_craftitem("ethereal:charcoal_lump", {
2016-06-09 17:08:34 +03:00
description = S("Lump of Charcoal"),
inventory_image = "ethereal_charcoal_lump.png"
2014-11-09 22:17:41 +03:00
})
minetest.register_craft({
output = "ethereal:charcoal_lump 2",
recipe = {
{"ethereal:scorched_tree"}
}
})
minetest.register_craft({
output = "ethereal:charcoal_lump 2",
2014-11-09 22:17:41 +03:00
type = "cooking",
recipe = "group:tree",
cooktime = 4
})
minetest.register_craft({
type = "fuel",
recipe = "ethereal:charcoal_lump",
burntime = 10
2014-11-09 22:17:41 +03:00
})
-- Make Torch from Charcoal Lump
minetest.register_craft({
output = "default:torch 4",
recipe = {
{"ethereal:charcoal_lump"},
{"default:stick"}
2014-11-09 22:17:41 +03:00
}
})
-- Staff of Light (by Xanthin)
minetest.register_tool("ethereal:light_staff", {
2016-06-09 17:08:34 +03:00
description = S("Staff of Light"),
inventory_image = "ethereal_light_staff.png",
2021-04-25 13:07:10 +03:00
light_source = 13, -- used by other mods
wield_image = "ethereal_light_staff.png",
sound = {breaks = "default_tool_breaks"},
stack_max = 1,
on_use = function(itemstack, user, pointed_thing)
2015-05-29 12:25:35 +03:00
if pointed_thing.type ~= "node" then
return
end
2015-05-29 12:25:35 +03:00
local pos = pointed_thing.under
local pname = user:get_player_name()
2015-05-29 12:25:35 +03:00
if minetest.is_protected(pos, pname) then
minetest.record_protection_violation(pos, pname)
return
end
local node = minetest.get_node(pos).name
local def = minetest.registered_nodes[node]
2021-03-30 22:25:04 +03:00
local stone = def and def.groups and def.groups.stone and def.groups.stone == 1
local take = false
local glo = "ethereal:glostone"
if node == "nether:rack" then
glo = "nether:glowstone"
take = true
elseif node == "nether:rack_deep" then
glo = "nether:glowstone_deep"
take = true
elseif stone then
take = true
end
if take == true then
minetest.swap_node(pos, {name = glo})
itemstack:add_wear(65535 / 149) -- 150 uses
2015-06-05 21:58:10 +03:00
return itemstack
end
end
})
minetest.register_craft({
output = "ethereal:light_staff",
2015-05-29 12:25:35 +03:00
recipe = {
{"ethereal:illumishroom", "default:mese_crystal", "ethereal:illumishroom"},
{"ethereal:illumishroom2", "default:steel_ingot", "ethereal:illumishroom2"},
{"ethereal:illumishroom3", "default:steel_ingot", "ethereal:illumishroom3"}
}
})