added listrings to meta data invs + drop items after dig
This commit is contained in:
parent
aa3bd5d7ad
commit
6ede18a4cc
@ -36,6 +36,7 @@ minetest.register_node("default:workbench_v2", {
|
||||
local inv = meta:get_inventory()
|
||||
inv:set_size("main", 3*2)
|
||||
end,
|
||||
after_dig_node = default.drop_items,
|
||||
})
|
||||
|
||||
-- crafts
|
||||
|
15
mods/default/functions.lua
Normal file
15
mods/default/functions.lua
Normal file
@ -0,0 +1,15 @@
|
||||
function default.drop_items(pos, oldnode, oldmetadata, digger)
|
||||
local meta = minetest.get_meta(pos)
|
||||
meta:from_table(oldmetadata)
|
||||
local inv = meta:get_inventory()
|
||||
for i = 1, inv:get_size("main") do
|
||||
local stack = inv:get_stack("main", i)
|
||||
if not stack:is_empty() then
|
||||
local p = { x = pos.x + math.random(0, 5)/5 - 0.5,
|
||||
y = pos.y,
|
||||
z = pos.z + math.random(0, 5)/5 - 0.5
|
||||
}
|
||||
minetest.add_item(p, stack)
|
||||
end
|
||||
end
|
||||
end
|
@ -2,6 +2,7 @@ default = {}
|
||||
|
||||
local modpath = minetest.get_modpath("default")
|
||||
|
||||
dofile(modpath.."/functions.lua")
|
||||
dofile(modpath.."/player.lua")
|
||||
dofile(modpath.."/craftitems.lua")
|
||||
dofile(modpath.."/nodes.lua")
|
||||
|
@ -143,7 +143,9 @@ local box_form = box_form..default.itemslot_bg(0,0.3,8,4)
|
||||
local box_form = box_form.."list[current_player;main;0,4.85;8,1;]"
|
||||
local box_form = box_form..default.itemslot_bg(0,4.85,8,1)
|
||||
local box_form = box_form.."list[current_player;main;0,6.08;8,3;8]"
|
||||
local box_form = box_form..default.itemslot_bg(0,6,8,3)
|
||||
local box_form = box_form..default.itemslot_bg(0,6.08,8,3)
|
||||
local box_form = box_form.."listring[current_name;main]"
|
||||
local box_form = box_form.."listring[current_player;main]"
|
||||
|
||||
minetest.register_node("default:box", {
|
||||
description = "Box",
|
||||
@ -165,7 +167,7 @@ minetest.register_node("default:box", {
|
||||
local inv = meta:get_inventory()
|
||||
inv:set_size("main", 8*4)
|
||||
end,
|
||||
|
||||
after_dig_node = default.drop_items,
|
||||
})
|
||||
|
||||
default.treasure_chest_items = {"default:dirt", "default:sand", "default:stone_item", "default:coin", "default:coal_lump", "default:wood"}
|
||||
|
@ -7,6 +7,8 @@ local furnace_form = furnace_form.."list[current_player;main;0,4.85;8,1;]"
|
||||
local furnace_form = furnace_form..default.itemslot_bg(0,4.85,8,1)
|
||||
local furnace_form = furnace_form.."list[current_player;main;0,6.08;8,3;8]"
|
||||
local furnace_form = furnace_form..default.itemslot_bg(0,6.08,8,3)
|
||||
local furnace_form = furnace_form.."listring[current_name;main]"
|
||||
local furnace_form = furnace_form.."listring[current_player;main]"
|
||||
|
||||
minetest.register_node("furnace:furnace", {
|
||||
description = "Furnace",
|
||||
@ -20,6 +22,7 @@ minetest.register_node("furnace:furnace", {
|
||||
local inv = meta:get_inventory()
|
||||
inv:set_size("main", 4*4)
|
||||
end,
|
||||
after_dig_node = default.drop_items,
|
||||
})
|
||||
|
||||
minetest.register_abm({
|
||||
@ -79,6 +82,8 @@ local pattern_form = pattern_form.."list[current_player;main;0,4.85;8,1;]"
|
||||
local pattern_form = pattern_form..default.itemslot_bg(0,4.85,8,1)
|
||||
local pattern_form = pattern_form.."list[current_player;main;0,6.08;8,3;8]"
|
||||
local pattern_form = pattern_form..default.itemslot_bg(0,6.08,8,3)
|
||||
local pattern_form = pattern_form.."listring[current_name;main]"
|
||||
local pattern_form = pattern_form.."listring[current_player;main]"
|
||||
|
||||
minetest.register_node("furnace:pattern_rod", {
|
||||
description = "Pattern for a Rod",
|
||||
@ -91,7 +96,7 @@ minetest.register_node("furnace:pattern_rod", {
|
||||
local inv = meta:get_inventory()
|
||||
inv:set_size("main", 8*4)
|
||||
end,
|
||||
|
||||
after_dig_node = default.drop_items,
|
||||
})
|
||||
|
||||
minetest.register_node("furnace:pattern_blade", {
|
||||
@ -105,7 +110,7 @@ minetest.register_node("furnace:pattern_blade", {
|
||||
local inv = meta:get_inventory()
|
||||
inv:set_size("main", 8*4)
|
||||
end,
|
||||
|
||||
after_dig_node = default.drop_items,
|
||||
})
|
||||
|
||||
minetest.register_node("furnace:pattern_plate", {
|
||||
@ -119,7 +124,7 @@ minetest.register_node("furnace:pattern_plate", {
|
||||
local inv = meta:get_inventory()
|
||||
inv:set_size("main", 8*4)
|
||||
end,
|
||||
|
||||
after_dig_node = default.drop_items,
|
||||
})
|
||||
|
||||
minetest.register_craftitem("furnace:iron_rod", {
|
||||
|
@ -108,3 +108,4 @@ minetest.register_decoration({
|
||||
y_max = 20,
|
||||
decoration = "village:spawn",
|
||||
})
|
||||
|
||||
|
Loading…
x
Reference in New Issue
Block a user