added listrings to meta data invs + drop items after dig

This commit is contained in:
cale 2016-04-08 16:41:19 +02:00
parent aa3bd5d7ad
commit 6ede18a4cc
6 changed files with 30 additions and 5 deletions

View File

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

View 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

View File

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

View File

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

View File

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

View File

@ -108,3 +108,4 @@ minetest.register_decoration({
y_max = 20,
decoration = "village:spawn",
})