use nondeprecated namespace - minetest to core (#98)

This commit is contained in:
The4codeblocks
2026-01-01 13:49:26 -05:00
committed by GitHub
parent 9e3ad02c3e
commit bad710b094
53 changed files with 1160 additions and 1160 deletions

View File

@@ -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" },

View File

@@ -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

View File

@@ -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
}

View File

@@ -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

View File

@@ -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" }

View File

@@ -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

View File

@@ -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