forked from mtcontrib/homedecor_modpack
use nondeprecated namespace - minetest to core (#98)
This commit is contained in:
@@ -1,28 +1,28 @@
|
||||
-- crafts for common items that are used by more than one home decor component
|
||||
|
||||
local S = minetest.get_translator("homedecor_common")
|
||||
local S = core.get_translator("homedecor_common")
|
||||
|
||||
-- items
|
||||
|
||||
minetest.register_craftitem(":homedecor:roof_tile_terracotta", {
|
||||
core.register_craftitem(":homedecor:roof_tile_terracotta", {
|
||||
description = S("Terracotta Roof Tile"),
|
||||
inventory_image = "homedecor_roof_tile_terracotta.png",
|
||||
})
|
||||
|
||||
minetest.register_craftitem(":homedecor:drawer_small", {
|
||||
core.register_craftitem(":homedecor:drawer_small", {
|
||||
description = S("Small Wooden Drawer"),
|
||||
inventory_image = "homedecor_drawer_small.png",
|
||||
})
|
||||
|
||||
-- cooking/fuel
|
||||
|
||||
minetest.register_craft({
|
||||
core.register_craft({
|
||||
type = "cooking",
|
||||
output = "homedecor:roof_tile_terracotta",
|
||||
recipe = "basic_materials:terracotta_base",
|
||||
})
|
||||
|
||||
minetest.register_craft({
|
||||
core.register_craft({
|
||||
type = "fuel",
|
||||
recipe = "homedecor:shingles_wood",
|
||||
burntime = 30,
|
||||
@@ -31,7 +31,7 @@ minetest.register_craft({
|
||||
|
||||
-- crafing
|
||||
|
||||
minetest.register_craft( {
|
||||
core.register_craft( {
|
||||
output = "homedecor:shingles_terracotta",
|
||||
recipe = {
|
||||
{ "homedecor:roof_tile_terracotta", "homedecor:roof_tile_terracotta"},
|
||||
@@ -39,14 +39,14 @@ minetest.register_craft( {
|
||||
},
|
||||
})
|
||||
|
||||
minetest.register_craft( {
|
||||
core.register_craft( {
|
||||
output = "homedecor:roof_tile_terracotta 8",
|
||||
recipe = {
|
||||
{ "homedecor:shingles_terracotta", "homedecor:shingles_terracotta" }
|
||||
}
|
||||
})
|
||||
|
||||
minetest.register_craft( {
|
||||
core.register_craft( {
|
||||
output = "homedecor:shingles_wood 12",
|
||||
recipe = {
|
||||
{ "group:stick", "group:wood"},
|
||||
@@ -54,7 +54,7 @@ minetest.register_craft( {
|
||||
},
|
||||
})
|
||||
|
||||
minetest.register_craft( {
|
||||
core.register_craft( {
|
||||
output = "homedecor:shingles_wood 12",
|
||||
recipe = {
|
||||
{ "group:wood", "group:stick"},
|
||||
@@ -62,7 +62,7 @@ minetest.register_craft( {
|
||||
},
|
||||
})
|
||||
|
||||
minetest.register_craft( {
|
||||
core.register_craft( {
|
||||
output = "homedecor:shingles_asphalt 6",
|
||||
recipe = {
|
||||
{ "building_blocks:gravel_spread", "dye:black", "building_blocks:gravel_spread" },
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
local S = minetest.get_translator("homedecor_common")
|
||||
local S = core.get_translator("homedecor_common")
|
||||
|
||||
-- vectors to place one node next to or behind another
|
||||
|
||||
@@ -53,19 +53,19 @@ homedecor.wall_fdir_to_fwd = {
|
||||
}
|
||||
|
||||
local placeholder_node = "air"
|
||||
minetest.register_alias("homedecor:expansion_placeholder", "air")
|
||||
core.register_alias("homedecor:expansion_placeholder", "air")
|
||||
|
||||
--- select which node was pointed at based on it being known, not ignored, buildable_to
|
||||
-- returns nil if no node could be selected
|
||||
local function select_node(pointed_thing)
|
||||
local pos = pointed_thing.under
|
||||
local node = minetest.get_node_or_nil(pos)
|
||||
local def = node and minetest.registered_nodes[node.name]
|
||||
local node = core.get_node_or_nil(pos)
|
||||
local def = node and core.registered_nodes[node.name]
|
||||
|
||||
if not def or not def.buildable_to then
|
||||
pos = pointed_thing.above
|
||||
node = minetest.get_node_or_nil(pos)
|
||||
def = node and minetest.registered_nodes[node.name]
|
||||
node = core.get_node_or_nil(pos)
|
||||
def = node and core.registered_nodes[node.name]
|
||||
end
|
||||
return def and pos, def
|
||||
end
|
||||
@@ -73,9 +73,9 @@ end
|
||||
--- check if all nodes can and may be build to
|
||||
local function is_buildable_to(placer_name, ...)
|
||||
for _, pos in ipairs({...}) do
|
||||
local node = minetest.get_node_or_nil(pos)
|
||||
local def = node and minetest.registered_nodes[node.name]
|
||||
if not (def and def.buildable_to) or minetest.is_protected(pos, placer_name) then
|
||||
local node = core.get_node_or_nil(pos)
|
||||
local def = node and core.registered_nodes[node.name]
|
||||
if not (def and def.buildable_to) or core.is_protected(pos, placer_name) then
|
||||
return false
|
||||
end
|
||||
end
|
||||
@@ -86,8 +86,8 @@ end
|
||||
local function stack(itemstack, placer, fdir, pos, def, pos2, node1, node2, pointed_thing)
|
||||
local placer_name = placer:get_player_name() or ""
|
||||
if is_buildable_to(placer_name, pos, pos2) then
|
||||
local lfdir = fdir or minetest.dir_to_facedir(placer:get_look_dir())
|
||||
minetest.set_node(pos, { name = node1, param2 = lfdir })
|
||||
local lfdir = fdir or core.dir_to_facedir(placer:get_look_dir())
|
||||
core.set_node(pos, { name = node1, param2 = lfdir })
|
||||
node2 = node2 or "air" -- this can be used to clear buildable_to nodes even though we are using a multinode mesh
|
||||
-- do not assume by default, as we still might want to allow overlapping in some cases
|
||||
local has_facedir = node2 ~= "air"
|
||||
@@ -95,15 +95,15 @@ local function stack(itemstack, placer, fdir, pos, def, pos2, node1, node2, poin
|
||||
has_facedir = false
|
||||
node2 = placeholder_node
|
||||
end
|
||||
minetest.set_node(pos2, { name = node2, param2 = (has_facedir and lfdir) or nil })
|
||||
core.set_node(pos2, { name = node2, param2 = (has_facedir and lfdir) or nil })
|
||||
|
||||
-- call after_place_node of the placed node if available
|
||||
local ctrl_node_def = minetest.registered_nodes[node1]
|
||||
local ctrl_node_def = core.registered_nodes[node1]
|
||||
if ctrl_node_def and ctrl_node_def.after_place_node then
|
||||
ctrl_node_def.after_place_node(pos, placer, itemstack, pointed_thing)
|
||||
end
|
||||
|
||||
if not minetest.is_creative_enabled(placer_name) then
|
||||
if not core.is_creative_enabled(placer_name) then
|
||||
itemstack:take_item()
|
||||
end
|
||||
end
|
||||
@@ -111,9 +111,9 @@ local function stack(itemstack, placer, fdir, pos, def, pos2, node1, node2, poin
|
||||
end
|
||||
|
||||
local function rightclick_pointed_thing(pos, placer, itemstack, pointed_thing)
|
||||
local node = minetest.get_node_or_nil(pos)
|
||||
local node = core.get_node_or_nil(pos)
|
||||
if not node then return false end
|
||||
local def = minetest.registered_nodes[node.name]
|
||||
local def = core.registered_nodes[node.name]
|
||||
if not def or not def.on_rightclick then return false end
|
||||
return def.on_rightclick(pos, node, placer, itemstack, pointed_thing) or itemstack
|
||||
end
|
||||
@@ -144,9 +144,9 @@ function homedecor.stack_wing(itemstack, placer, pointed_thing, node1, node2, no
|
||||
if not pos then return itemstack end
|
||||
|
||||
local forceright = placer:get_player_control()["sneak"]
|
||||
local fdir = minetest.dir_to_facedir(placer:get_look_dir())
|
||||
local fdir = core.dir_to_facedir(placer:get_look_dir())
|
||||
|
||||
local is_right_wing = node1 == minetest.get_node(
|
||||
local is_right_wing = node1 == core.get_node(
|
||||
{
|
||||
x = pos.x + homedecor.fdir_to_left[fdir+1][1],
|
||||
y = pos.y,
|
||||
@@ -166,7 +166,7 @@ function homedecor.stack_sideways(itemstack, placer, pointed_thing, node1, node2
|
||||
local pos, def = select_node(pointed_thing)
|
||||
if not pos then return itemstack end
|
||||
|
||||
local fdir = minetest.dir_to_facedir(placer:get_look_dir())
|
||||
local fdir = core.dir_to_facedir(placer:get_look_dir())
|
||||
local fdir_transform = dir and homedecor.fdir_to_right or homedecor.fdir_to_fwd
|
||||
|
||||
local pos2 = { x = pos.x + fdir_transform[fdir+1][1], y=pos.y, z = pos.z + fdir_transform[fdir+1][2] }
|
||||
@@ -176,7 +176,7 @@ end
|
||||
|
||||
function homedecor.bed_expansion(pos, placer, itemstack, pointed_thing, trybunks)
|
||||
|
||||
local thisnode = minetest.get_node(pos)
|
||||
local thisnode = core.get_node(pos)
|
||||
local param2 = thisnode.param2
|
||||
local fdir = param2 % 8
|
||||
|
||||
@@ -184,46 +184,46 @@ function homedecor.bed_expansion(pos, placer, itemstack, pointed_thing, trybunks
|
||||
local fzd = homedecor.wall_fdir_to_fwd[fdir+1][2]
|
||||
|
||||
local forwardpos = {x=pos.x+fxd, y=pos.y, z=pos.z+fzd}
|
||||
local forwardnode = minetest.get_node(forwardpos)
|
||||
local forwardnode = core.get_node(forwardpos)
|
||||
|
||||
local def = minetest.registered_nodes[forwardnode.name]
|
||||
local def = core.registered_nodes[forwardnode.name]
|
||||
local placer_name = placer:get_player_name()
|
||||
|
||||
if not (def and def.buildable_to) then
|
||||
minetest.chat_send_player( placer:get_player_name(),
|
||||
core.chat_send_player( placer:get_player_name(),
|
||||
S("Not enough room - the space for the headboard is occupied!"))
|
||||
minetest.set_node(pos, {name = "air"})
|
||||
core.set_node(pos, {name = "air"})
|
||||
return true
|
||||
end
|
||||
|
||||
if minetest.is_protected(forwardpos, placer_name) then
|
||||
minetest.chat_send_player( placer:get_player_name(),
|
||||
if core.is_protected(forwardpos, placer_name) then
|
||||
core.chat_send_player( placer:get_player_name(),
|
||||
S("Someone already owns the spot where the headboard goes."))
|
||||
return true
|
||||
end
|
||||
|
||||
minetest.set_node(forwardpos, {name = "air"})
|
||||
core.set_node(forwardpos, {name = "air"})
|
||||
|
||||
local lxd = homedecor.wall_fdir_to_left[fdir+1][1]
|
||||
local lzd = homedecor.wall_fdir_to_left[fdir+1][2]
|
||||
local leftpos = {x=pos.x+lxd, y=pos.y, z=pos.z+lzd}
|
||||
local leftnode = minetest.get_node(leftpos)
|
||||
local leftnode = core.get_node(leftpos)
|
||||
|
||||
local rxd = homedecor.wall_fdir_to_right[fdir+1][1]
|
||||
local rzd = homedecor.wall_fdir_to_right[fdir+1][2]
|
||||
local rightpos = {x=pos.x+rxd, y=pos.y, z=pos.z+rzd}
|
||||
local rightnode = minetest.get_node(rightpos)
|
||||
local rightnode = core.get_node(rightpos)
|
||||
|
||||
if leftnode.name == "homedecor:bed_regular" then
|
||||
local newname = string.gsub(thisnode.name, "_regular", "_kingsize")
|
||||
|
||||
minetest.set_node(pos, {name = "air"})
|
||||
minetest.swap_node(leftpos, { name = newname, param2 = param2})
|
||||
core.set_node(pos, {name = "air"})
|
||||
core.swap_node(leftpos, { name = newname, param2 = param2})
|
||||
elseif rightnode.name == "homedecor:bed_regular" then
|
||||
local newname = string.gsub(thisnode.name, "_regular", "_kingsize")
|
||||
|
||||
minetest.set_node(rightpos, {name = "air"})
|
||||
minetest.swap_node(pos, { name = newname, param2 = param2})
|
||||
core.set_node(rightpos, {name = "air"})
|
||||
core.swap_node(pos, { name = newname, param2 = param2})
|
||||
end
|
||||
|
||||
local toppos = {x=pos.x, y=pos.y+1.0, z=pos.z}
|
||||
@@ -234,18 +234,18 @@ function homedecor.bed_expansion(pos, placer, itemstack, pointed_thing, trybunks
|
||||
-- local newparam2 = param2 % 8
|
||||
-- FIXME: is newparam2 a legacy unused variable from a8729575abfbd15cc622b413b71976c9157fbab4?
|
||||
-- or should this variable be used somewhere?
|
||||
minetest.swap_node(toppos, { name = thisnode.name, param2 = param2})
|
||||
minetest.swap_node(pos, { name = newname, param2 = param2})
|
||||
core.swap_node(toppos, { name = thisnode.name, param2 = param2})
|
||||
core.swap_node(pos, { name = newname, param2 = param2})
|
||||
itemstack:take_item()
|
||||
end
|
||||
end
|
||||
|
||||
function homedecor.unextend_bed(pos)
|
||||
local bottomnode = minetest.get_node({x=pos.x, y=pos.y-1.0, z=pos.z})
|
||||
local bottomnode = core.get_node({x=pos.x, y=pos.y-1.0, z=pos.z})
|
||||
local param2 = bottomnode.param2
|
||||
if bottomnode.name == "homedecor:bed_extended" then
|
||||
local newname = string.gsub(bottomnode.name, "_extended", "_regular")
|
||||
minetest.swap_node({x=pos.x, y=pos.y-1.0, z=pos.z}, { name = newname, param2 = param2})
|
||||
core.swap_node({x=pos.x, y=pos.y-1.0, z=pos.z}, { name = newname, param2 = param2})
|
||||
end
|
||||
end
|
||||
|
||||
@@ -256,23 +256,23 @@ function homedecor.place_banister(itemstack, placer, pointed_thing)
|
||||
local pos, _ = select_node(pointed_thing)
|
||||
if not pos then return itemstack end
|
||||
|
||||
local fdir = minetest.dir_to_facedir(placer:get_look_dir())
|
||||
local fdir = core.dir_to_facedir(placer:get_look_dir())
|
||||
local meta = itemstack:get_meta()
|
||||
local pindex = meta:get_int("palette_index")
|
||||
|
||||
local abovepos = { x=pos.x, y=pos.y+1, z=pos.z }
|
||||
local abovenode = minetest.get_node(abovepos)
|
||||
local abovenode = core.get_node(abovepos)
|
||||
|
||||
local adef = minetest.registered_nodes[abovenode.name]
|
||||
local adef = core.registered_nodes[abovenode.name]
|
||||
local placer_name = placer:get_player_name()
|
||||
|
||||
if not (adef and adef.buildable_to) then
|
||||
minetest.chat_send_player(placer_name, S("Not enough room - the upper space is occupied!" ))
|
||||
core.chat_send_player(placer_name, S("Not enough room - the upper space is occupied!" ))
|
||||
return itemstack
|
||||
end
|
||||
|
||||
if minetest.is_protected(abovepos, placer_name) then
|
||||
minetest.chat_send_player(placer_name, S("Someone already owns that spot."))
|
||||
if core.is_protected(abovepos, placer_name) then
|
||||
core.chat_send_player(placer_name, S("Someone already owns that spot."))
|
||||
return itemstack
|
||||
end
|
||||
|
||||
@@ -296,18 +296,18 @@ function homedecor.place_banister(itemstack, placer, pointed_thing)
|
||||
local right_fwd_below_pos = { x=pos.x+rxd+fxd, y=pos.y-1, z=pos.z+rzd+fzd }
|
||||
local left_fwd_below_pos = { x=pos.x+lxd+fxd, y=pos.y-1, z=pos.z+lzd+fzd }
|
||||
|
||||
local below_node = minetest.get_node(below_pos)
|
||||
--local fwd_node = minetest.get_node(fwd_pos)
|
||||
local left_node = minetest.get_node(left_pos)
|
||||
local right_node = minetest.get_node(right_pos)
|
||||
local left_fwd_node = minetest.get_node(left_fwd_pos)
|
||||
local right_fwd_node = minetest.get_node(right_fwd_pos)
|
||||
local left_below_node = minetest.get_node({x=left_pos.x, y=left_pos.y-1, z=left_pos.z})
|
||||
local right_below_node = minetest.get_node({x=right_pos.x, y=right_pos.y-1, z=right_pos.z})
|
||||
--local right_fwd_above_node = minetest.get_node(right_fwd_above_pos)
|
||||
--local left_fwd_above_node = minetest.get_node(left_fwd_above_pos)
|
||||
local right_fwd_below_node = minetest.get_node(right_fwd_below_pos)
|
||||
local left_fwd_below_node = minetest.get_node(left_fwd_below_pos)
|
||||
local below_node = core.get_node(below_pos)
|
||||
--local fwd_node = core.get_node(fwd_pos)
|
||||
local left_node = core.get_node(left_pos)
|
||||
local right_node = core.get_node(right_pos)
|
||||
local left_fwd_node = core.get_node(left_fwd_pos)
|
||||
local right_fwd_node = core.get_node(right_fwd_pos)
|
||||
local left_below_node = core.get_node({x=left_pos.x, y=left_pos.y-1, z=left_pos.z})
|
||||
local right_below_node = core.get_node({x=right_pos.x, y=right_pos.y-1, z=right_pos.z})
|
||||
--local right_fwd_above_node = core.get_node(right_fwd_above_pos)
|
||||
--local left_fwd_above_node = core.get_node(left_fwd_above_pos)
|
||||
local right_fwd_below_node = core.get_node(right_fwd_below_pos)
|
||||
local left_fwd_below_node = core.get_node(left_fwd_below_pos)
|
||||
|
||||
local new_place_name = itemstack:get_name()
|
||||
|
||||
@@ -373,7 +373,7 @@ function homedecor.place_banister(itemstack, placer, pointed_thing)
|
||||
end
|
||||
end
|
||||
|
||||
minetest.set_node(pos, {name = new_place_name, param2 = fdir+pindex})
|
||||
core.set_node(pos, {name = new_place_name, param2 = fdir+pindex})
|
||||
itemstack:take_item()
|
||||
return itemstack
|
||||
end
|
||||
|
||||
@@ -1,12 +1,12 @@
|
||||
-- This code supplies an oven/stove. Basically it's just a copy of the default furnace with different textures.
|
||||
|
||||
local S = minetest.get_translator("homedecor_common")
|
||||
local S = core.get_translator("homedecor_common")
|
||||
|
||||
local function swap_node(pos, name)
|
||||
local node = minetest.get_node(pos)
|
||||
local node = core.get_node(pos)
|
||||
if node.name == name then return end
|
||||
node.name = name
|
||||
minetest.swap_node(pos, node)
|
||||
core.swap_node(pos, node)
|
||||
end
|
||||
|
||||
local function make_formspec(furnacedef, percent)
|
||||
@@ -73,7 +73,7 @@ local function make_tiles(tiles, fmt, active)
|
||||
end
|
||||
|
||||
local furnace_can_dig = function(pos,player)
|
||||
local meta = minetest.get_meta(pos);
|
||||
local meta = core.get_meta(pos);
|
||||
local inv = meta:get_inventory()
|
||||
return inv:is_empty("fuel")
|
||||
and inv:is_empty("dst")
|
||||
@@ -92,10 +92,10 @@ function homedecor.register_furnace(name, furnacedef)
|
||||
local description = furnacedef.description or S("Furnace")
|
||||
|
||||
local furnace_allow_put = function(pos, listname, index, stack, player)
|
||||
local meta = minetest.get_meta(pos)
|
||||
local meta = core.get_meta(pos)
|
||||
local inv = meta:get_inventory()
|
||||
if listname == "fuel" then
|
||||
if minetest.get_craft_result({method="fuel",width=1,items={stack}}).time ~= 0 then
|
||||
if core.get_craft_result({method="fuel",width=1,items={stack}}).time ~= 0 then
|
||||
if inv:is_empty("src") then
|
||||
meta:set_string("infotext", S("@1 (empty)", description))
|
||||
end
|
||||
@@ -110,11 +110,11 @@ function homedecor.register_furnace(name, furnacedef)
|
||||
end
|
||||
end
|
||||
local furnace_allow_move = function(pos, from_list, from_index, to_list, to_index, count, player)
|
||||
local meta = minetest.get_meta(pos)
|
||||
local meta = core.get_meta(pos)
|
||||
local inv = meta:get_inventory()
|
||||
local stack = inv:get_stack(from_list, from_index)
|
||||
if to_list == "fuel" then
|
||||
if minetest.get_craft_result({method="fuel",width=1,items={stack}}).time ~= 0 then
|
||||
if core.get_craft_result({method="fuel",width=1,items={stack}}).time ~= 0 then
|
||||
if inv:is_empty("src") then
|
||||
meta:set_string("infotext", S("@1 (empty)", description))
|
||||
end
|
||||
@@ -136,7 +136,7 @@ function homedecor.register_furnace(name, furnacedef)
|
||||
--
|
||||
-- Initialize metadata
|
||||
--
|
||||
local meta = minetest.get_meta(pos)
|
||||
local meta = core.get_meta(pos)
|
||||
local fuel_time = meta:get_float("fuel_time") or 0
|
||||
local src_time = meta:get_float("src_time") or 0
|
||||
local fuel_totaltime = meta:get_float("fuel_totaltime") or 0
|
||||
@@ -164,7 +164,7 @@ function homedecor.register_furnace(name, furnacedef)
|
||||
|
||||
-- Check if we have cookable content
|
||||
local aftercooked
|
||||
cooked, aftercooked = minetest.get_craft_result({method = "cooking", width = 1, items = srclist})
|
||||
cooked, aftercooked = core.get_craft_result({method = "cooking", width = 1, items = srclist})
|
||||
cookable = cooked.time ~= 0
|
||||
|
||||
local el = math.min(elapsed, fuel_totaltime - fuel_time)
|
||||
@@ -199,7 +199,7 @@ function homedecor.register_furnace(name, furnacedef)
|
||||
if cookable then
|
||||
-- We need to get new fuel
|
||||
local afterfuel
|
||||
fuel, afterfuel = minetest.get_craft_result({method = "fuel", width = 1, items = fuellist})
|
||||
fuel, afterfuel = core.get_craft_result({method = "fuel", width = 1, items = fuellist})
|
||||
|
||||
if fuel.time == 0 then
|
||||
-- No valid fuel in fuel list
|
||||
@@ -207,7 +207,7 @@ function homedecor.register_furnace(name, furnacedef)
|
||||
src_time = 0
|
||||
else
|
||||
-- prevent blocking of fuel inventory (for automatization mods)
|
||||
local is_fuel = minetest.get_craft_result({method = "fuel", width = 1, items = {afterfuel.items[1]:to_string()}})
|
||||
local is_fuel = core.get_craft_result({method = "fuel", width = 1, items = {afterfuel.items[1]:to_string()}})
|
||||
if is_fuel.time == 0 then
|
||||
table.insert(fuel.replacements, afterfuel.items[1])
|
||||
inv:set_stack("fuel", 1, "")
|
||||
@@ -221,8 +221,8 @@ function homedecor.register_furnace(name, furnacedef)
|
||||
local leftover = inv:add_item("dst", replacements[1])
|
||||
if not leftover:is_empty() then
|
||||
local above = vector.new(pos.x, pos.y + 1, pos.z)
|
||||
local drop_pos = minetest.find_node_near(above, 1, {"air"}) or above
|
||||
minetest.item_drop(replacements[1], nil, drop_pos)
|
||||
local drop_pos = core.find_node_near(above, 1, {"air"}) or above
|
||||
core.item_drop(replacements[1], nil, drop_pos)
|
||||
end
|
||||
end
|
||||
update = true
|
||||
@@ -256,9 +256,9 @@ function homedecor.register_furnace(name, furnacedef)
|
||||
|
||||
local result = false
|
||||
|
||||
local node = minetest.get_node(pos)
|
||||
local node = core.get_node(pos)
|
||||
local locked = node.name:find("_locked$") and "_locked" or ""
|
||||
local desc = minetest.registered_nodes[nname..locked].description
|
||||
local desc = core.registered_nodes[nname..locked].description
|
||||
|
||||
if fuel_totaltime ~= 0 then
|
||||
formspec = make_formspec(furnacedef, percent)
|
||||
@@ -270,7 +270,7 @@ function homedecor.register_furnace(name, furnacedef)
|
||||
infotext = S("@1 (out of fuel)", desc)
|
||||
swap_node(pos, nname .. locked)
|
||||
-- stop timer on the inactive furnace
|
||||
minetest.get_node_timer(pos):stop()
|
||||
core.get_node_timer(pos):stop()
|
||||
meta:set_int("timer_elapsed", 0)
|
||||
end
|
||||
|
||||
@@ -284,7 +284,7 @@ function homedecor.register_furnace(name, furnacedef)
|
||||
formspec = make_formspec(furnacedef, 0)
|
||||
swap_node(pos, nname .. locked)
|
||||
-- stop timer on the inactive furnace
|
||||
minetest.get_node_timer(pos):stop()
|
||||
core.get_node_timer(pos):stop()
|
||||
meta:set_int("timer_elapsed", 0)
|
||||
fuel_totaltime, fuel_time, src_time = 0, 0, 0
|
||||
end
|
||||
@@ -306,7 +306,7 @@ function homedecor.register_furnace(name, furnacedef)
|
||||
end
|
||||
|
||||
local furnace_construct = function(pos)
|
||||
local meta = minetest.get_meta(pos)
|
||||
local meta = core.get_meta(pos)
|
||||
local inv = meta:get_inventory()
|
||||
inv:set_size("fuel", 1)
|
||||
inv:set_size("src", 1)
|
||||
@@ -330,15 +330,15 @@ function homedecor.register_furnace(name, furnacedef)
|
||||
is_furnace = true,
|
||||
on_timer = furnace_node_timer,
|
||||
on_metadata_inventory_move = function(pos)
|
||||
minetest.get_node_timer(pos):start(1.0)
|
||||
core.get_node_timer(pos):start(1.0)
|
||||
end,
|
||||
on_metadata_inventory_put = function(pos)
|
||||
-- start timer function, it will sort out whether furnace can burn or not.
|
||||
minetest.get_node_timer(pos):start(1.0)
|
||||
core.get_node_timer(pos):start(1.0)
|
||||
end,
|
||||
on_metadata_inventory_take = function(pos)
|
||||
-- check whether the furnace is empty or not.
|
||||
minetest.get_node_timer(pos):start(1.0)
|
||||
core.get_node_timer(pos):start(1.0)
|
||||
end
|
||||
}
|
||||
|
||||
@@ -360,15 +360,15 @@ function homedecor.register_furnace(name, furnacedef)
|
||||
is_furnace = true,
|
||||
on_timer = furnace_node_timer,
|
||||
on_metadata_inventory_move = function(pos)
|
||||
minetest.get_node_timer(pos):start(1.0)
|
||||
core.get_node_timer(pos):start(1.0)
|
||||
end,
|
||||
on_metadata_inventory_put = function(pos)
|
||||
-- start timer function, it will sort out whether furnace can burn or not.
|
||||
minetest.get_node_timer(pos):start(1.0)
|
||||
core.get_node_timer(pos):start(1.0)
|
||||
end,
|
||||
on_metadata_inventory_take = function(pos)
|
||||
-- check whether the furnace is empty or not.
|
||||
minetest.get_node_timer(pos):start(1.0)
|
||||
core.get_node_timer(pos):start(1.0)
|
||||
end
|
||||
}
|
||||
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
-- Home Decor API/functions, and common textures and models
|
||||
-- by VanessaE
|
||||
|
||||
local modpath = minetest.get_modpath("homedecor_common")
|
||||
local modpath = core.get_modpath("homedecor_common")
|
||||
|
||||
homedecor = {}
|
||||
homedecor.modpath = modpath
|
||||
@@ -63,6 +63,6 @@ dofile(modpath.."/registration.lua")
|
||||
dofile(modpath.."/water_particles.lua")
|
||||
dofile(modpath.."/crafts.lua")
|
||||
|
||||
if minetest.settings:get_bool("log_mod") then
|
||||
minetest.log("action", "[HomeDecor API] Loaded!")
|
||||
if core.settings:get_bool("log_mod") then
|
||||
core.log("action", "[HomeDecor API] Loaded!")
|
||||
end
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
local S = minetest.get_translator("homedecor_common")
|
||||
local S = core.get_translator("homedecor_common")
|
||||
|
||||
local has_hopper = minetest.get_modpath("hopper")
|
||||
local has_hopper = core.get_modpath("hopper")
|
||||
local has_safe_hopper = has_hopper and
|
||||
-- mod from https://github.com/minetest-mods/hopper respects the owner
|
||||
(hopper.neighbors or
|
||||
@@ -8,7 +8,7 @@ local has_safe_hopper = has_hopper and
|
||||
(hopper.version and hopper.version >= "20220123"))
|
||||
|
||||
local default_can_dig = function(pos,player)
|
||||
local meta = minetest.get_meta(pos)
|
||||
local meta = core.get_meta(pos)
|
||||
return meta:get_inventory():is_empty("main")
|
||||
end
|
||||
|
||||
@@ -82,7 +82,7 @@ function homedecor.handle_inventory(name, def, original_def)
|
||||
local on_construct = def.on_construct
|
||||
def.on_construct = function(pos)
|
||||
local size = inventory.size
|
||||
local meta = minetest.get_meta(pos)
|
||||
local meta = core.get_meta(pos)
|
||||
meta:get_inventory():set_size("main", size)
|
||||
meta:set_string("formspec", inventory.formspec or get_formspec_by_size(size))
|
||||
if on_construct then on_construct(pos) end
|
||||
@@ -92,15 +92,15 @@ function homedecor.handle_inventory(name, def, original_def)
|
||||
def.can_dig = def.can_dig or default_can_dig
|
||||
def.on_metadata_inventory_move = def.on_metadata_inventory_move or
|
||||
function(pos, from_list, from_index, to_list, to_index, count, player)
|
||||
minetest.log("action", player:get_player_name().." moves stuff in "..name.." at "..minetest.pos_to_string(pos))
|
||||
core.log("action", player:get_player_name().." moves stuff in "..name.." at "..core.pos_to_string(pos))
|
||||
end
|
||||
def.on_metadata_inventory_put = def.on_metadata_inventory_put or function(pos, listname, index, stack, player)
|
||||
minetest.log("action", player:get_player_name().." moves "..stack:get_name()
|
||||
.." to "..name.." at "..minetest.pos_to_string(pos))
|
||||
core.log("action", player:get_player_name().." moves "..stack:get_name()
|
||||
.." to "..name.." at "..core.pos_to_string(pos))
|
||||
end
|
||||
def.on_metadata_inventory_take = def.on_metadata_inventory_take or function(pos, listname, index, stack, player)
|
||||
minetest.log("action", player:get_player_name().." takes "..stack:get_name()
|
||||
.." from "..name.." at "..minetest.pos_to_string(pos))
|
||||
core.log("action", player:get_player_name().." takes "..stack:get_name()
|
||||
.." from "..name.." at "..core.pos_to_string(pos))
|
||||
end
|
||||
|
||||
local locked = inventory.locked
|
||||
@@ -124,7 +124,7 @@ function homedecor.handle_inventory(name, def, original_def)
|
||||
if locked then
|
||||
local after_place_node = def.after_place_node
|
||||
def.after_place_node = function(pos, placer)
|
||||
local meta = minetest.get_meta(pos)
|
||||
local meta = core.get_meta(pos)
|
||||
local owner = placer:get_player_name() or ""
|
||||
|
||||
meta:set_string("owner", owner)
|
||||
@@ -135,8 +135,8 @@ function homedecor.handle_inventory(name, def, original_def)
|
||||
local allow_move = def.allow_metadata_inventory_move
|
||||
def.allow_metadata_inventory_move = function(pos, from_list, from_index, to_list, to_index, count, player)
|
||||
if not default_can_interact_with_node(player, pos) then
|
||||
minetest.log("action", player:get_player_name().." tried to access a "..name.." belonging to "
|
||||
..minetest.get_meta(pos):get_string("owner").." at "..minetest.pos_to_string(pos))
|
||||
core.log("action", player:get_player_name().." tried to access a "..name.." belonging to "
|
||||
..core.get_meta(pos):get_string("owner").." at "..core.pos_to_string(pos))
|
||||
return 0
|
||||
end
|
||||
return allow_move and allow_move(pos, from_list, from_index, to_list, to_index, count, player) or
|
||||
@@ -146,8 +146,8 @@ function homedecor.handle_inventory(name, def, original_def)
|
||||
local allow_put = def.allow_metadata_inventory_put
|
||||
def.allow_metadata_inventory_put = function(pos, listname, index, stack, player)
|
||||
if not default_can_interact_with_node(player, pos) then
|
||||
minetest.log("action", player:get_player_name().." tried to access a "..name.." belonging to"
|
||||
..minetest.get_meta(pos):get_string("owner").." at "..minetest.pos_to_string(pos))
|
||||
core.log("action", player:get_player_name().." tried to access a "..name.." belonging to"
|
||||
..core.get_meta(pos):get_string("owner").." at "..core.pos_to_string(pos))
|
||||
return 0
|
||||
end
|
||||
return allow_put and allow_put(pos, listname, index, stack, player) or
|
||||
@@ -157,8 +157,8 @@ function homedecor.handle_inventory(name, def, original_def)
|
||||
local allow_take = def.allow_metadata_inventory_take
|
||||
def.allow_metadata_inventory_take = function(pos, listname, index, stack, player)
|
||||
if not default_can_interact_with_node(player, pos) then
|
||||
minetest.log("action", player:get_player_name().." tried to access a "..name.." belonging to"
|
||||
..minetest.get_meta(pos):get_string("owner").." at ".. minetest.pos_to_string(pos))
|
||||
core.log("action", player:get_player_name().." tried to access a "..name.." belonging to"
|
||||
..core.get_meta(pos):get_string("owner").." at ".. core.pos_to_string(pos))
|
||||
return 0
|
||||
end
|
||||
return allow_take and allow_take(pos, listname, index, stack, player) or
|
||||
@@ -171,7 +171,7 @@ function homedecor.handle_inventory(name, def, original_def)
|
||||
end
|
||||
|
||||
def.on_key_use = function(pos, player)
|
||||
local secret = minetest.get_meta(pos):get_string("key_lock_secret")
|
||||
local secret = core.get_meta(pos):get_string("key_lock_secret")
|
||||
local itemstack = player:get_wielded_item()
|
||||
local key_meta = itemstack:get_meta()
|
||||
|
||||
@@ -179,21 +179,21 @@ function homedecor.handle_inventory(name, def, original_def)
|
||||
return
|
||||
end
|
||||
|
||||
minetest.show_formspec(
|
||||
core.show_formspec(
|
||||
player:get_player_name(),
|
||||
name.."_locked",
|
||||
minetest.get_meta(pos):get_string("formspec")
|
||||
core.get_meta(pos):get_string("formspec")
|
||||
)
|
||||
end
|
||||
|
||||
def.on_skeleton_key_use = function(pos, player, newsecret)
|
||||
local meta = minetest.get_meta(pos)
|
||||
local meta = core.get_meta(pos)
|
||||
local owner = meta:get_string("owner")
|
||||
local playername = player:get_player_name()
|
||||
|
||||
-- verify placer is owner
|
||||
if owner ~= playername then
|
||||
minetest.record_protection_violation(pos, playername)
|
||||
core.record_protection_violation(pos, playername)
|
||||
return nil
|
||||
end
|
||||
|
||||
@@ -218,7 +218,7 @@ function homedecor.handle_inventory(name, def, original_def)
|
||||
|
||||
local locked_name = name .. "_locked"
|
||||
homedecor.register(locked_name, locked_def)
|
||||
minetest.register_craft({
|
||||
core.register_craft({
|
||||
type = "shapeless",
|
||||
output = "homedecor:" .. locked_name,
|
||||
recipe = { "homedecor:" .. name, "basic_materials:padlock" }
|
||||
|
||||
@@ -2,7 +2,7 @@ homedecor = homedecor or {}
|
||||
|
||||
local placeholder_node = "homedecor:expansion_placeholder"
|
||||
|
||||
--wrapper around minetest.register_node that sets sane defaults and interprets some specialized settings
|
||||
--wrapper around core.register_node that sets sane defaults and interprets some specialized settings
|
||||
function homedecor.register(name, original_def)
|
||||
local def = table.copy(original_def)
|
||||
|
||||
@@ -45,7 +45,7 @@ function homedecor.register(name, original_def)
|
||||
if infotext then
|
||||
local on_construct = def.on_construct
|
||||
def.on_construct = function(pos)
|
||||
local meta = minetest.get_meta(pos)
|
||||
local meta = core.get_meta(pos)
|
||||
meta:set_string("infotext", infotext)
|
||||
if on_construct then on_construct(pos) end
|
||||
end
|
||||
@@ -60,7 +60,7 @@ function homedecor.register(name, original_def)
|
||||
-- dissallow rotating only half the expanded node by default
|
||||
-- unless we know better
|
||||
def.on_rotate = def.on_rotate or (
|
||||
minetest.get_modpath("screwdriver") and (
|
||||
core.get_modpath("screwdriver") and (
|
||||
(def.mesh and expand.top and screwdriver.rotate_simple) or
|
||||
screwdriver.disallow
|
||||
)
|
||||
@@ -78,9 +78,9 @@ function homedecor.register(name, original_def)
|
||||
def.after_dig_node = def.after_dig_node or function(pos, oldnode, oldmetadata, digger)
|
||||
if expand.top and expand.forward ~= "air" then
|
||||
local top_pos = { x=pos.x, y=pos.y+1, z=pos.z }
|
||||
local node = minetest.get_node(top_pos).name
|
||||
local node = core.get_node(top_pos).name
|
||||
if node == expand.top or node == placeholder_node then
|
||||
minetest.remove_node(top_pos)
|
||||
core.remove_node(top_pos)
|
||||
end
|
||||
end
|
||||
|
||||
@@ -93,16 +93,16 @@ function homedecor.register(name, original_def)
|
||||
y = pos.y,
|
||||
z = pos.z + homedecor.fdir_to_right[fdir+1][2]
|
||||
}
|
||||
local node = minetest.get_node(right_pos).name
|
||||
local node = core.get_node(right_pos).name
|
||||
if node == expand.right or node == placeholder_node then
|
||||
minetest.remove_node(right_pos)
|
||||
core.remove_node(right_pos)
|
||||
end
|
||||
end
|
||||
if expand.forward and expand.forward ~= "air" then
|
||||
local forward_pos = { x=pos.x+homedecor.fdir_to_fwd[fdir+1][1], y=pos.y, z=pos.z+homedecor.fdir_to_fwd[fdir+1][2] }
|
||||
local node = minetest.get_node(forward_pos).name
|
||||
local node = core.get_node(forward_pos).name
|
||||
if node == expand.forward or node == placeholder_node then
|
||||
minetest.remove_node(forward_pos)
|
||||
core.remove_node(forward_pos)
|
||||
end
|
||||
end
|
||||
|
||||
@@ -116,7 +116,7 @@ function homedecor.register(name, original_def)
|
||||
def.crafts = nil
|
||||
|
||||
-- register the actual minetest node
|
||||
minetest.register_node(":homedecor:" .. name, def)
|
||||
core.register_node(":homedecor:" .. name, def)
|
||||
|
||||
for _, cdef in pairs(crafts) do
|
||||
if cdef.recipe then
|
||||
@@ -137,6 +137,6 @@ function homedecor.register(name, original_def)
|
||||
cdef.output = "homedecor:" .. name
|
||||
end
|
||||
|
||||
minetest.register_craft(cdef)
|
||||
core.register_craft(cdef)
|
||||
end
|
||||
end
|
||||
|
||||
@@ -19,17 +19,17 @@
|
||||
|
||||
function homedecor.start_particle_spawner(pos, node, particledef, soundname)
|
||||
|
||||
local this_spawner_meta = minetest.get_meta(pos)
|
||||
local this_spawner_meta = core.get_meta(pos)
|
||||
local id = this_spawner_meta:get_int("active")
|
||||
local s_handle = this_spawner_meta:get_int("sound")
|
||||
|
||||
if id ~= 0 then
|
||||
if s_handle then
|
||||
minetest.after(0, function(handle)
|
||||
minetest.sound_stop(handle)
|
||||
core.after(0, function(handle)
|
||||
core.sound_stop(handle)
|
||||
end, s_handle)
|
||||
end
|
||||
minetest.delete_particlespawner(id)
|
||||
core.delete_particlespawner(id)
|
||||
this_spawner_meta:set_int("active", 0)
|
||||
this_spawner_meta:set_int("sound", 0)
|
||||
return
|
||||
@@ -67,7 +67,7 @@ function homedecor.start_particle_spawner(pos, node, particledef, soundname)
|
||||
local maxvelx = maxvelx_t[fdir + 1]
|
||||
local maxvelz = maxvelz_t[fdir + 1]
|
||||
|
||||
id = minetest.add_particlespawner({
|
||||
id = core.add_particlespawner({
|
||||
amount = 60,
|
||||
time = 0,
|
||||
collisiondetection = true,
|
||||
@@ -84,7 +84,7 @@ function homedecor.start_particle_spawner(pos, node, particledef, soundname)
|
||||
maxsize = 1,
|
||||
texture = "homedecor_water_particle.png",
|
||||
})
|
||||
s_handle = minetest.sound_play(soundname, {
|
||||
s_handle = core.sound_play(soundname, {
|
||||
pos = pos,
|
||||
max_hear_distance = 5,
|
||||
loop = true
|
||||
@@ -96,17 +96,17 @@ function homedecor.start_particle_spawner(pos, node, particledef, soundname)
|
||||
end
|
||||
|
||||
function homedecor.stop_particle_spawner(pos)
|
||||
local this_spawner_meta = minetest.get_meta(pos)
|
||||
local this_spawner_meta = core.get_meta(pos)
|
||||
local id = this_spawner_meta:get_int("active")
|
||||
local s_handle = this_spawner_meta:get_int("sound")
|
||||
|
||||
if id ~= 0 then
|
||||
minetest.delete_particlespawner(id)
|
||||
core.delete_particlespawner(id)
|
||||
end
|
||||
|
||||
if s_handle then
|
||||
minetest.after(0, function(handle)
|
||||
minetest.sound_stop(handle)
|
||||
core.after(0, function(handle)
|
||||
core.sound_stop(handle)
|
||||
end, s_handle)
|
||||
end
|
||||
|
||||
|
||||
Reference in New Issue
Block a user