mirror of
https://github.com/minetest/minetest.git
synced 2024-11-30 03:23:45 +01:00
Attempt to begin to implement chests and furnace in Lua (with problems)
This commit is contained in:
parent
fe8c5546f0
commit
29f03756bd
@ -237,15 +237,6 @@ function minetest.node_dig(pos, node, digger)
|
|||||||
return
|
return
|
||||||
end
|
end
|
||||||
|
|
||||||
local meta = minetest.env:get_meta(pos)
|
|
||||||
if meta ~= nil and not meta:get_allow_removal() then
|
|
||||||
minetest.debug("dig prevented by metadata")
|
|
||||||
minetest.log("info", digger:get_player_name() .. " tried to dig "
|
|
||||||
.. node.name .. ", but removal is disabled by metadata "
|
|
||||||
.. minetest.pos_to_string(pos))
|
|
||||||
return
|
|
||||||
end
|
|
||||||
|
|
||||||
minetest.log('action', digger:get_player_name() .. " digs "
|
minetest.log('action', digger:get_player_name() .. " digs "
|
||||||
.. node.name .. " at " .. minetest.pos_to_string(pos))
|
.. node.name .. " at " .. minetest.pos_to_string(pos))
|
||||||
|
|
||||||
|
@ -768,13 +768,6 @@ Deprecated:
|
|||||||
|
|
||||||
NodeMetaRef (this stuff is subject to change in a future version)
|
NodeMetaRef (this stuff is subject to change in a future version)
|
||||||
methods:
|
methods:
|
||||||
- get_type()
|
|
||||||
- allows_text_input()
|
|
||||||
- set_text(text) -- eg. set the text of a sign
|
|
||||||
- get_text()
|
|
||||||
- get_owner()
|
|
||||||
- set_owner(string)
|
|
||||||
Generic node metadata specific:
|
|
||||||
- set_string(name, value)
|
- set_string(name, value)
|
||||||
- get_string(name)
|
- get_string(name)
|
||||||
- set_int(name, value)
|
- set_int(name, value)
|
||||||
|
@ -1119,10 +1119,18 @@ minetest.register_node("default:chest", {
|
|||||||
tile_images = {"default_chest_top.png", "default_chest_top.png", "default_chest_side.png",
|
tile_images = {"default_chest_top.png", "default_chest_top.png", "default_chest_side.png",
|
||||||
"default_chest_side.png", "default_chest_side.png", "default_chest_front.png"},
|
"default_chest_side.png", "default_chest_side.png", "default_chest_front.png"},
|
||||||
paramtype2 = "facedir",
|
paramtype2 = "facedir",
|
||||||
metadata_name = "chest",
|
|
||||||
groups = {snappy=2,choppy=2,oddly_breakable_by_hand=2},
|
groups = {snappy=2,choppy=2,oddly_breakable_by_hand=2},
|
||||||
legacy_facedir_simple = true,
|
legacy_facedir_simple = true,
|
||||||
sounds = default.node_sound_wood_defaults(),
|
sounds = default.node_sound_wood_defaults(),
|
||||||
|
on_construct = function(pos)
|
||||||
|
--local n = minetest.env:get_node(pos)
|
||||||
|
local meta = minetest.env:get_meta(pos)
|
||||||
|
meta:set_string("formspec",
|
||||||
|
"invsize[8,9;]"..
|
||||||
|
"list[current_name;0;0,0;8,4;]"..
|
||||||
|
"list[current_player;main;0,5;8,4;]")
|
||||||
|
meta:set_string("infotext", "Chest");
|
||||||
|
end,
|
||||||
})
|
})
|
||||||
|
|
||||||
minetest.register_node("default:chest_locked", {
|
minetest.register_node("default:chest_locked", {
|
||||||
@ -1130,10 +1138,18 @@ minetest.register_node("default:chest_locked", {
|
|||||||
tile_images = {"default_chest_top.png", "default_chest_top.png", "default_chest_side.png",
|
tile_images = {"default_chest_top.png", "default_chest_top.png", "default_chest_side.png",
|
||||||
"default_chest_side.png", "default_chest_side.png", "default_chest_lock.png"},
|
"default_chest_side.png", "default_chest_side.png", "default_chest_lock.png"},
|
||||||
paramtype2 = "facedir",
|
paramtype2 = "facedir",
|
||||||
metadata_name = "locked_chest",
|
|
||||||
groups = {snappy=2,choppy=2,oddly_breakable_by_hand=2},
|
groups = {snappy=2,choppy=2,oddly_breakable_by_hand=2},
|
||||||
legacy_facedir_simple = true,
|
legacy_facedir_simple = true,
|
||||||
sounds = default.node_sound_wood_defaults(),
|
sounds = default.node_sound_wood_defaults(),
|
||||||
|
on_construct = function(pos)
|
||||||
|
--local n = minetest.env:get_node(pos)
|
||||||
|
local meta = minetest.env:get_meta(pos)
|
||||||
|
meta:set_string("formspec",
|
||||||
|
"invsize[8,9;]"..
|
||||||
|
"list[current_name;0;0,0;8,4;]"..
|
||||||
|
"list[current_player;main;0,5;8,4;]")
|
||||||
|
meta:set_string("infotext", "Locked Chest");
|
||||||
|
end,
|
||||||
})
|
})
|
||||||
|
|
||||||
minetest.register_node("default:furnace", {
|
minetest.register_node("default:furnace", {
|
||||||
@ -1141,10 +1157,19 @@ minetest.register_node("default:furnace", {
|
|||||||
tile_images = {"default_furnace_side.png", "default_furnace_side.png", "default_furnace_side.png",
|
tile_images = {"default_furnace_side.png", "default_furnace_side.png", "default_furnace_side.png",
|
||||||
"default_furnace_side.png", "default_furnace_side.png", "default_furnace_front.png"},
|
"default_furnace_side.png", "default_furnace_side.png", "default_furnace_front.png"},
|
||||||
paramtype2 = "facedir",
|
paramtype2 = "facedir",
|
||||||
metadata_name = "furnace",
|
|
||||||
groups = {cracky=2},
|
groups = {cracky=2},
|
||||||
legacy_facedir_simple = true,
|
legacy_facedir_simple = true,
|
||||||
sounds = default.node_sound_stone_defaults(),
|
sounds = default.node_sound_stone_defaults(),
|
||||||
|
on_construct = function(pos)
|
||||||
|
local meta = minetest.env:get_meta(pos)
|
||||||
|
meta:set_string("formspec",
|
||||||
|
"invsize[8,9;]"..
|
||||||
|
"list[current_name;fuel;2,3;1,1;]"..
|
||||||
|
"list[current_name;src;2,1;1,1;]"..
|
||||||
|
"list[current_name;dst;5,1;2,2;]"..
|
||||||
|
"list[current_player;main;0,5;8,4;]")
|
||||||
|
meta:set_string("infotext", "Furnace");
|
||||||
|
end,
|
||||||
})
|
})
|
||||||
|
|
||||||
minetest.register_node("default:cobble", {
|
minetest.register_node("default:cobble", {
|
||||||
|
Loading…
Reference in New Issue
Block a user