Code cleanup, compress textures, minor fixes, wieldview optimization, other changes

This commit is contained in:
MoNTE48 2019-08-02 22:43:39 +02:00 committed by MoNTE48
parent e7b084d434
commit 13c1fe7d13
51 changed files with 674 additions and 659 deletions

View File

@ -1,27 +0,0 @@
beds.register_bed("beds:bed", {
description = "Bed",
inventory_image = "beds_bed_inv.png",
wield_image = "beds_bed_inv.png",
tiles = {"beds_bed.png"},
mesh = "beds_bed.obj",
selectionbox = {-0.5, -0.5, -0.5, 0.5, 0.06, 1.5},
collisionbox = {-0.5, -0.5, -0.5, 0.5, 0.06, 1.5},
recipe = {
{"group:wool", "group:wool", "group:wool"},
{"group:wood", "group:wood", "group:wood"}
},
})
-- Fuel
minetest.register_craft({
type = "fuel",
recipe = "beds:fancy_bed_bottom",
burntime = 13,
})
minetest.register_craft({
type = "fuel",
recipe = "beds:bed_bottom",
burntime = 12,
})

View File

@ -18,5 +18,24 @@ local modpath = minetest.get_modpath("beds")
dofile(modpath .. "/functions.lua") dofile(modpath .. "/functions.lua")
dofile(modpath .. "/api.lua") dofile(modpath .. "/api.lua")
dofile(modpath .. "/beds.lua")
dofile(modpath .. "/spawns.lua") dofile(modpath .. "/spawns.lua")
beds.register_bed("beds:bed", {
description = "Bed",
inventory_image = "beds_bed_inv.png",
wield_image = "beds_bed_inv.png",
tiles = {"beds_bed.png"},
mesh = "beds_bed.obj",
selectionbox = {-0.5, -0.5, -0.5, 0.5, 0.06, 1.5},
collisionbox = {-0.5, -0.5, -0.5, 0.5, 0.06, 1.5},
recipe = {
{"group:wool", "group:wool", "group:wool"},
{"group:wood", "group:wood", "group:wood"}
}
})
minetest.register_craft({
type = "fuel",
recipe = "beds:bed_bottom",
burntime = 12
})

View File

@ -1,31 +1,31 @@
minetest.register_node("mesecons_lightstone:lightstone_off", { minetest.register_node(":mesecons_lightstone:lightstone_off", {
tiles = {"jeija_lightstone_gray_off.png"}, description = "Lamp",
tiles = {"bluestone_lamp_off.png"},
is_ground_content = false, is_ground_content = false,
groups = {cracky=2, mesecon_effector_off = 1, mesecon = 2}, groups = {cracky = 2, mesecon_effector_off = 1, mesecon = 2},
description = "Bluestone Lamp",
sounds = default.node_sound_glass_defaults(), sounds = default.node_sound_glass_defaults(),
mesecons = {effector = { mesecons = {effector = {
action_on = function (pos, node) action_on = function(pos, node)
minetest.swap_node(pos, {name = "mesecons_lightstone:lightstone_on", param2 = node.param2}) minetest.swap_node(pos, {name = "mesecons_lightstone:lightstone_on", param2 = node.param2})
end, end,
}}, }},
on_blast = mesecon.on_blastnode, on_blast = mesecon.on_blastnode,
}) })
minetest.register_node("mesecons_lightstone:lightstone_on", { minetest.register_node(":mesecons_lightstone:lightstone_on", {
tiles = {"jeija_lightstone_gray_on.png"}, tiles = {"bluestone_lamp_on.png"},
is_ground_content = false, is_ground_content = false,
groups = {cracky=2, not_in_creative_inventory=1, mesecon = 2}, groups = {cracky = 2, not_in_creative_inventory = 1, mesecon = 2},
drop = "mesecons_lightstone:lightstone_off", drop = "mesecons_lightstone:lightstone_off",
light_source = minetest.LIGHT_MAX - 2, light_source = minetest.LIGHT_MAX - 2,
sounds = default.node_sound_glass_defaults(), sounds = default.node_sound_glass_defaults(),
mesecons = {effector = { mesecons = {effector = {
action_off = function (pos, node) action_off = function(pos, node)
minetest.swap_node(pos, {name = "mesecons_lightstone:lightstone_off", param2 = node.param2}) minetest.swap_node(pos, {name = "mesecons_lightstone:lightstone_off", param2 = node.param2})
end, end,
}}, }},
on_blast = mesecon.on_blastnode, on_blast = mesecon.on_blastnode,
}) })
minetest.register_craft({ minetest.register_craft({
output = "mesecons_lightstone:lightstone_off", output = "mesecons_lightstone:lightstone_off",

View File

Before

Width:  |  Height:  |  Size: 395 B

After

Width:  |  Height:  |  Size: 395 B

View File

@ -5,13 +5,13 @@
mesecon.button_turnoff = function (pos) mesecon.button_turnoff = function (pos)
local node = minetest.get_node(pos) local node = minetest.get_node(pos)
if node.name == "mesecons_button:button_stone_on" then -- has not been dug if node.name == "mesecons_button:button_stone_on" then -- has not been dug
minetest.swap_node(pos, {name = "mesecons_button:button_stone_off", param2=node.param2}) minetest.swap_node(pos, {name = "mesecons_button:button_stone_off", param2 = node.param2})
minetest.sound_play("mesecons_button_pop", {pos=pos}) minetest.sound_play("mesecons_button_pop", {pos = pos})
local rules = mesecon.rules.buttonlike_get(node) local rules = mesecon.rules.buttonlike_get(node)
mesecon.receptor_off(pos, rules) mesecon.receptor_off(pos, rules)
elseif node.name == "mesecons_button:button_wood_on" then -- has not been dug elseif node.name == "mesecons_button:button_wood_on" then -- has not been dug
minetest.swap_node(pos, {name = "mesecons_button:button_wood_off", param2=node.param2}) minetest.swap_node(pos, {name = "mesecons_button:button_wood_off", param2 = node.param2})
minetest.sound_play("mesecons_button_pop", {pos=pos}) minetest.sound_play("mesecons_button_pop", {pos = pos})
local rules = mesecon.rules.buttonlike_get(node) local rules = mesecon.rules.buttonlike_get(node)
mesecon.receptor_off(pos, rules) mesecon.receptor_off(pos, rules)
end end
@ -21,12 +21,12 @@ local boxes_off = { -4/16, -2/16, 8/16, 4/16, 2/16, 6/16 }
local boxes_on = { -4/16, -2/16, 8/16, 4/16, 2/16, 7/16 } local boxes_on = { -4/16, -2/16, 8/16, 4/16, 2/16, 7/16 }
minetest.register_node("mesecons_button:button_stone_off", { minetest.register_node("mesecons_button:button_stone_off", {
description = "Stone Button",
drawtype = "nodebox", drawtype = "nodebox",
tiles = {"default_stone.png"}, tiles = {"default_stone.png"},
paramtype = "light", paramtype = "light",
paramtype2 = "facedir", paramtype2 = "facedir",
is_ground_content = false, is_ground_content = false,
legacy_wallmounted = true,
walkable = false, walkable = false,
on_rotate = mesecon.buttonlike_onrotate, on_rotate = mesecon.buttonlike_onrotate,
sunlight_propagates = true, sunlight_propagates = true,
@ -34,21 +34,37 @@ minetest.register_node("mesecons_button:button_stone_off", {
type = "fixed", type = "fixed",
fixed = boxes_off fixed = boxes_off
}, },
groups = {dig_immediate = 2}, groups = {dig_immediate = 2, attached_node = 1},
description = "Stone Button",
on_punch = function (pos, node)
minetest.swap_node(pos, {name = "mesecons_button:button_stone_on", param2=node.param2})
mesecon.receptor_on(pos, mesecon.rules.buttonlike_get(node))
minetest.sound_play("mesecons_button_push", {pos=pos})
minetest.get_node_timer(pos):start(1)
end,
on_rightclick = function (pos, node)
minetest.swap_node(pos, {name = "mesecons_button:button_stone_on", param2=node.param2})
mesecon.receptor_on(pos, mesecon.rules.buttonlike_get(node))
minetest.sound_play("mesecons_button_push", {pos=pos})
minetest.get_node_timer(pos):start(1)
end,
sounds = default.node_sound_stone_defaults(), sounds = default.node_sound_stone_defaults(),
on_place = function(itemstack, placer, pointed_thing)
if pointed_thing.type == "node" then
local undery = pointed_thing.under.y
local posy = pointed_thing.above.y
if undery > posy then -- Place on celling, not allowed
return itemstack
elseif undery < posy then -- Place on bottom, not allowed
return itemstack
else
return minetest.item_place(itemstack, placer, pointed_thing)
end
end
end,
on_punch = function (pos, node)
minetest.swap_node(pos, {name = "mesecons_button:button_stone_on", param2 = node.param2})
mesecon.receptor_on(pos, mesecon.rules.buttonlike_get(node))
minetest.sound_play("mesecons_button_push", {pos=pos})
minetest.get_node_timer(pos):start(1)
end,
on_rightclick = function (pos, node)
minetest.swap_node(pos, {name = "mesecons_button:button_stone_on", param2 = node.param2})
mesecon.receptor_on(pos, mesecon.rules.buttonlike_get(node))
minetest.sound_play("mesecons_button_push", {pos=pos})
minetest.get_node_timer(pos):start(1)
end,
mesecons = {receptor = { mesecons = {receptor = {
state = mesecon.state.off, state = mesecon.state.off,
rules = mesecon.rules.buttonlike_get rules = mesecon.rules.buttonlike_get
@ -62,7 +78,6 @@ minetest.register_node("mesecons_button:button_stone_on", {
paramtype = "light", paramtype = "light",
paramtype2 = "facedir", paramtype2 = "facedir",
is_ground_content = false, is_ground_content = false,
legacy_wallmounted = true,
walkable = false, walkable = false,
on_rotate = false, on_rotate = false,
sunlight_propagates = true, sunlight_propagates = true,
@ -70,16 +85,16 @@ minetest.register_node("mesecons_button:button_stone_on", {
type = "fixed", type = "fixed",
fixed = boxes_on fixed = boxes_on
}, },
groups = {dig_immediate = 2, not_in_creative_inventory = 1}, groups = {dig_immediate = 2, attached_node = 1, not_in_creative_inventory = 1},
drop = "mesecons_button:button_stone_off", drop = "mesecons_button:button_stone_off",
description = "Stone Button",
sounds = default.node_sound_stone_defaults(), sounds = default.node_sound_stone_defaults(),
mesecons = {receptor = { mesecons = {receptor = {
state = mesecon.state.on, state = mesecon.state.on,
rules = mesecon.rules.buttonlike_get rules = mesecon.rules.buttonlike_get
}}, }},
on_timer = mesecon.button_turnoff, on_timer = mesecon.button_turnoff,
on_blast = mesecon.on_blastnode, on_blast = mesecon.on_blastnode
}) })
minetest.register_craft({ minetest.register_craft({
@ -90,12 +105,12 @@ minetest.register_craft({
}) })
minetest.register_node("mesecons_button:button_wood_off", { minetest.register_node("mesecons_button:button_wood_off", {
description = "Wood Button",
drawtype = "nodebox", drawtype = "nodebox",
tiles = {"default_wood.png"}, tiles = {"default_wood.png"},
paramtype = "light", paramtype = "light",
paramtype2 = "facedir", paramtype2 = "facedir",
is_ground_content = false, is_ground_content = false,
legacy_wallmounted = true,
walkable = false, walkable = false,
on_rotate = mesecon.buttonlike_onrotate, on_rotate = mesecon.buttonlike_onrotate,
sunlight_propagates = true, sunlight_propagates = true,
@ -103,26 +118,42 @@ minetest.register_node("mesecons_button:button_wood_off", {
type = "fixed", type = "fixed",
fixed = boxes_off fixed = boxes_off
}, },
groups = {dig_immediate = 2}, groups = {dig_immediate = 2, attached_node = 1},
description = "Wood Button",
on_punch = function (pos, node)
minetest.swap_node(pos, {name = "mesecons_button:button_wood_on", param2=node.param2})
mesecon.receptor_on(pos, mesecon.rules.buttonlike_get(node))
minetest.sound_play("mesecons_button_push", {pos=pos})
minetest.get_node_timer(pos):start(1)
end,
on_rightclick = function (pos, node)
minetest.swap_node(pos, {name = "mesecons_button:button_wood_on", param2=node.param2})
mesecon.receptor_on(pos, mesecon.rules.buttonlike_get(node))
minetest.sound_play("mesecons_button_push", {pos=pos})
minetest.get_node_timer(pos):start(1)
end,
sounds = default.node_sound_stone_defaults(), sounds = default.node_sound_stone_defaults(),
on_place = function(itemstack, placer, pointed_thing)
if pointed_thing.type == "node" then
local undery = pointed_thing.under.y
local posy = pointed_thing.above.y
if undery > posy then -- Place on celling, not allowed
return itemstack
elseif undery < posy then -- Place on bottom, not allowed
return itemstack
else
return minetest.item_place(itemstack, placer, pointed_thing)
end
end
end,
on_punch = function (pos, node)
minetest.swap_node(pos, {name = "mesecons_button:button_wood_on", param2 = node.param2})
mesecon.receptor_on(pos, mesecon.rules.buttonlike_get(node))
minetest.sound_play("mesecons_button_push", {pos=pos})
minetest.get_node_timer(pos):start(1)
end,
on_rightclick = function (pos, node)
minetest.swap_node(pos, {name = "mesecons_button:button_wood_on", param2 = node.param2})
mesecon.receptor_on(pos, mesecon.rules.buttonlike_get(node))
minetest.sound_play("mesecons_button_push", {pos=pos})
minetest.get_node_timer(pos):start(1)
end,
mesecons = {receptor = { mesecons = {receptor = {
state = mesecon.state.off, state = mesecon.state.off,
rules = mesecon.rules.buttonlike_get rules = mesecon.rules.buttonlike_get
}}, }},
on_blast = mesecon.on_blastnode, on_blast = mesecon.on_blastnode
}) })
minetest.register_node("mesecons_button:button_wood_on", { minetest.register_node("mesecons_button:button_wood_on", {
@ -131,7 +162,6 @@ minetest.register_node("mesecons_button:button_wood_on", {
paramtype = "light", paramtype = "light",
paramtype2 = "facedir", paramtype2 = "facedir",
is_ground_content = false, is_ground_content = false,
legacy_wallmounted = true,
walkable = false, walkable = false,
on_rotate = false, on_rotate = false,
sunlight_propagates = true, sunlight_propagates = true,
@ -139,16 +169,16 @@ minetest.register_node("mesecons_button:button_wood_on", {
type = "fixed", type = "fixed",
fixed = boxes_on fixed = boxes_on
}, },
groups = {dig_immediate = 2, not_in_creative_inventory = 1}, groups = {dig_immediate = 2, attached_node = 1, not_in_creative_inventory = 1},
drop = "mesecons_button:button_wood_off", drop = "mesecons_button:button_wood_off",
description = "Wood Button",
sounds = default.node_sound_stone_defaults(), sounds = default.node_sound_stone_defaults(),
mesecons = {receptor = { mesecons = {receptor = {
state = mesecon.state.on, state = mesecon.state.on,
rules = mesecon.rules.buttonlike_get rules = mesecon.rules.buttonlike_get
}}, }},
on_timer = mesecon.button_turnoff, on_timer = mesecon.button_turnoff,
on_blast = mesecon.on_blastnode, on_blast = mesecon.on_blastnode
}) })
minetest.register_craft({ minetest.register_craft({

View File

@ -20,14 +20,14 @@ end
local delayer_activate = function(pos, node) local delayer_activate = function(pos, node)
local def = minetest.registered_nodes[node.name] local def = minetest.registered_nodes[node.name]
local time = def.delayer_time local time = def.delayer_time
minetest.swap_node(pos, {name = def.delayer_onstate, param2=node.param2}) minetest.swap_node(pos, {name = def.delayer_onstate, param2 = node.param2})
mesecon.queue:add_action(pos, "receptor_on", {delayer_get_output_rules(node)}, time, nil) mesecon.queue:add_action(pos, "receptor_on", {delayer_get_output_rules(node)}, time, nil)
end end
local delayer_deactivate = function(pos, node) local delayer_deactivate = function(pos, node)
local def = minetest.registered_nodes[node.name] local def = minetest.registered_nodes[node.name]
local time = def.delayer_time local time = def.delayer_time
minetest.swap_node(pos, {name = def.delayer_offstate, param2=node.param2}) minetest.swap_node(pos, {name = def.delayer_offstate, param2 = node.param2})
mesecon.queue:add_action(pos, "receptor_off", {delayer_get_output_rules(node)}, time, nil) mesecon.queue:add_action(pos, "receptor_off", {delayer_get_output_rules(node)}, time, nil)
end end
@ -52,25 +52,25 @@ if i == 1 then
boxes = { boxes = {
{ -8/16, -8/16, -8/16, 8/16, -6/16, 8/16 }, -- the main slab { -8/16, -8/16, -8/16, 8/16, -6/16, 8/16 }, -- the main slab
{ 6/16, -6/16, -1/16, 4/16, -1/16, 1/16}, -- still torch { 6/16, -6/16, -1/16, 4/16, -1/16, 1/16}, -- still torch
{ 0/16, -6/16, -1/16, 2/16, -1/16, 1/16}, -- moved torch { 0/16, -6/16, -1/16, 2/16, -1/16, 1/16} -- moved torch
} }
elseif i == 2 then elseif i == 2 then
boxes = { boxes = {
{ -8/16, -8/16, -8/16, 8/16, -6/16, 8/16 }, -- the main slab { -8/16, -8/16, -8/16, 8/16, -6/16, 8/16 }, -- the main slab
{ 6/16, -6/16, -1/16, 4/16, -1/16, 1/16}, -- still torch { 6/16, -6/16, -1/16, 4/16, -1/16, 1/16}, -- still torch
{ -2/16, -6/16, -1/16, 0/16, -1/16, 1/16}, -- moved torch { -2/16, -6/16, -1/16, 0/16, -1/16, 1/16} -- moved torch
} }
elseif i == 3 then elseif i == 3 then
boxes = { boxes = {
{ -8/16, -8/16, -8/16, 8/16, -6/16, 8/16 }, -- the main slab { -8/16, -8/16, -8/16, 8/16, -6/16, 8/16 }, -- the main slab
{ 6/16, -6/16, -1/16, 4/16, -1/16, 1/16}, -- still torch { 6/16, -6/16, -1/16, 4/16, -1/16, 1/16}, -- still torch
{ -4/16, -6/16, -1/16, -2/16, -1/16, 1/16}, -- moved torch { -4/16, -6/16, -1/16, -2/16, -1/16, 1/16} -- moved torch
} }
elseif i == 4 then elseif i == 4 then
boxes = { boxes = {
{ -8/16, -8/16, -8/16, 8/16, -6/16, 8/16 }, -- the main slab { -8/16, -8/16, -8/16, 8/16, -6/16, 8/16 }, -- the main slab
{ 6/16, -6/16, -1/16, 4/16, -1/16, 1/16}, -- still torch { 6/16, -6/16, -1/16, 4/16, -1/16, 1/16}, -- still torch
{ -6/16, -6/16, -1/16, -4/16, -1/16, 1/16}, -- moved torch { -6/16, -6/16, -1/16, -4/16, -1/16, 1/16} -- moved torch
} }
end end
@ -88,7 +88,7 @@ minetest.register_node("mesecons_delayer:delayer_off_"..tostring(i), {
wield_image = "mesecons_delayer_off.png", wield_image = "mesecons_delayer_off.png",
selection_box = { selection_box = {
type = "fixed", type = "fixed",
fixed = { -8/16, -8/16, -8/16, 8/16, -6/16, 8/16 }, fixed = { -8/16, -8/16, -8/16, 8/16, -6/16, 8/16 }
}, },
node_box = { node_box = {
type = "fixed", type = "fixed",
@ -99,16 +99,16 @@ minetest.register_node("mesecons_delayer:delayer_off_"..tostring(i), {
paramtype2 = "facedir", paramtype2 = "facedir",
sunlight_propagates = true, sunlight_propagates = true,
is_ground_content = false, is_ground_content = false,
drop = 'mesecons_delayer:delayer_off_1', drop = "mesecons_delayer:delayer_off_1",
on_punch = function (pos, node) on_punch = function (pos, node)
if node.name=="mesecons_delayer:delayer_off_1" then if node.name=="mesecons_delayer:delayer_off_1" then
minetest.swap_node(pos, {name = "mesecons_delayer:delayer_off_2", param2=node.param2}) minetest.swap_node(pos, {name = "mesecons_delayer:delayer_off_2", param2 = node.param2})
elseif node.name=="mesecons_delayer:delayer_off_2" then elseif node.name=="mesecons_delayer:delayer_off_2" then
minetest.swap_node(pos, {name = "mesecons_delayer:delayer_off_3", param2=node.param2}) minetest.swap_node(pos, {name = "mesecons_delayer:delayer_off_3", param2 = node.param2})
elseif node.name=="mesecons_delayer:delayer_off_3" then elseif node.name=="mesecons_delayer:delayer_off_3" then
minetest.swap_node(pos, {name = "mesecons_delayer:delayer_off_4", param2=node.param2}) minetest.swap_node(pos, {name = "mesecons_delayer:delayer_off_4", param2 = node.param2})
elseif node.name=="mesecons_delayer:delayer_off_4" then elseif node.name=="mesecons_delayer:delayer_off_4" then
minetest.swap_node(pos, {name = "mesecons_delayer:delayer_off_1", param2=node.param2}) minetest.swap_node(pos, {name = "mesecons_delayer:delayer_off_1", param2 = node.param2})
end end
end, end,
delayer_time = delaytime, delayer_time = delaytime,
@ -126,12 +126,11 @@ minetest.register_node("mesecons_delayer:delayer_off_"..tostring(i), {
action_on = delayer_activate action_on = delayer_activate
} }
}, },
on_blast = mesecon.on_blastnode, on_blast = mesecon.on_blastnode
}) })
minetest.register_node("mesecons_delayer:delayer_on_"..tostring(i), { minetest.register_node("mesecons_delayer:delayer_on_"..tostring(i), {
description = "You hacker you",
drawtype = "nodebox", drawtype = "nodebox",
tiles = { tiles = {
"mesecons_delayer_on.png", "mesecons_delayer_on.png",
@ -143,7 +142,7 @@ minetest.register_node("mesecons_delayer:delayer_on_"..tostring(i), {
}, },
selection_box = { selection_box = {
type = "fixed", type = "fixed",
fixed = { -8/16, -8/16, -8/16, 8/16, -6/16, 8/16 }, fixed = { -8/16, -8/16, -8/16, 8/16, -6/16, 8/16 }
}, },
node_box = { node_box = {
type = "fixed", type = "fixed",
@ -154,16 +153,16 @@ minetest.register_node("mesecons_delayer:delayer_on_"..tostring(i), {
paramtype2 = "facedir", paramtype2 = "facedir",
sunlight_propagates = true, sunlight_propagates = true,
is_ground_content = false, is_ground_content = false,
drop = 'mesecons_delayer:delayer_off_1', drop = "mesecons_delayer:delayer_off_1",
on_punch = function (pos, node) on_punch = function (pos, node)
if node.name=="mesecons_delayer:delayer_on_1" then if node.name=="mesecons_delayer:delayer_on_1" then
minetest.swap_node(pos, {name = "mesecons_delayer:delayer_on_2", param2=node.param2}) minetest.swap_node(pos, {name = "mesecons_delayer:delayer_on_2", param2 = node.param2})
elseif node.name=="mesecons_delayer:delayer_on_2" then elseif node.name=="mesecons_delayer:delayer_on_2" then
minetest.swap_node(pos, {name = "mesecons_delayer:delayer_on_3", param2=node.param2}) minetest.swap_node(pos, {name = "mesecons_delayer:delayer_on_3", param2 = node.param2})
elseif node.name=="mesecons_delayer:delayer_on_3" then elseif node.name=="mesecons_delayer:delayer_on_3" then
minetest.swap_node(pos, {name = "mesecons_delayer:delayer_on_4", param2=node.param2}) minetest.swap_node(pos, {name = "mesecons_delayer:delayer_on_4", param2 = node.param2})
elseif node.name=="mesecons_delayer:delayer_on_4" then elseif node.name=="mesecons_delayer:delayer_on_4" then
minetest.swap_node(pos, {name = "mesecons_delayer:delayer_on_1", param2=node.param2}) minetest.swap_node(pos, {name = "mesecons_delayer:delayer_on_1", param2 = node.param2})
end end
end, end,
delayer_time = delaytime, delayer_time = delaytime,
@ -181,7 +180,7 @@ minetest.register_node("mesecons_delayer:delayer_on_"..tostring(i), {
action_off = delayer_deactivate action_off = delayer_deactivate
} }
}, },
on_blast = mesecon.on_blastnode, on_blast = mesecon.on_blastnode
}) })
end end
@ -189,6 +188,6 @@ minetest.register_craft({
output = "mesecons_delayer:delayer_off_1", output = "mesecons_delayer:delayer_off_1",
recipe = { recipe = {
{"mesecons_torch:mesecon_torch_on", "", "mesecons_torch:mesecon_torch_on"}, {"mesecons_torch:mesecon_torch_on", "", "mesecons_torch:mesecon_torch_on"},
{"default:cobble","default:cobble", "default:cobble"}, {"default:cobble","default:cobble", "default:cobble"}
} }
}) })

View File

@ -2,7 +2,7 @@
minetest.register_craftitem("mesecons_materials:glue", { minetest.register_craftitem("mesecons_materials:glue", {
image = "mesecons_glue.png", image = "mesecons_glue.png",
on_place_on_ground = minetest.craftitem_place_item, on_place_on_ground = minetest.craftitem_place_item,
description="Glue", description = "Glue",
}) })
minetest.register_craft({ minetest.register_craft({
@ -31,16 +31,16 @@ minetest.register_node("mesecons_materials:bluestoneblock", {
minetest.register_craft({ minetest.register_craft({
output = "mesecons_materials:bluestoneblock", output = "mesecons_materials:bluestoneblock",
recipe = { recipe = {
{'mesecons:wire_00000000_off','mesecons:wire_00000000_off','mesecons:wire_00000000_off'}, {"mesecons:wire_00000000_off","mesecons:wire_00000000_off","mesecons:wire_00000000_off"},
{'mesecons:wire_00000000_off','mesecons:wire_00000000_off','mesecons:wire_00000000_off'}, {"mesecons:wire_00000000_off","mesecons:wire_00000000_off","mesecons:wire_00000000_off"},
{'mesecons:wire_00000000_off','mesecons:wire_00000000_off','mesecons:wire_00000000_off'}, {"mesecons:wire_00000000_off","mesecons:wire_00000000_off","mesecons:wire_00000000_off"},
} }
}) })
minetest.register_craft({ minetest.register_craft({
output = 'mesecons:wire_00000000_off 9', output = "mesecons:wire_00000000_off 9",
recipe = { recipe = {
{'mesecons_materials:bluestoneblock'}, {"mesecons_materials:bluestoneblock"},
} }
}) })

View File

@ -5,7 +5,7 @@ minetest.register_node("mesecons_noteblock:noteblock", {
groups = {snappy = 2, choppy = 2, oddly_breakable_by_hand = 2}, groups = {snappy = 2, choppy = 2, oddly_breakable_by_hand = 2},
stack_max = 1, stack_max = 1,
on_punch = function (pos, node) -- change sound when punched on_punch = function (pos, node) -- change sound when punched
node.param2 = (node.param2+1)%12 node.param2 = (node.param2 + 1) % 12
mesecon.noteblock_play(pos, node.param2) mesecon.noteblock_play(pos, node.param2)
minetest.set_node(pos, node) minetest.set_node(pos, node)
end, end,
@ -15,15 +15,15 @@ minetest.register_node("mesecons_noteblock:noteblock", {
mesecon.noteblock_play(pos, node.param2) mesecon.noteblock_play(pos, node.param2)
end end
}}, }},
on_blast = mesecon.on_blastnode, on_blast = mesecon.on_blastnode
}) })
minetest.register_craft({ minetest.register_craft({
output = "mesecons_noteblock:noteblock 1", output = "mesecons_noteblock:noteblock",
recipe = { recipe = {
{"group:wood", "group:wood", "group:wood"}, {"group:wood", "group:wood", "group:wood"},
{"default:steel_ingot", "mesecons:wire_00000000_off", "default:steel_ingot"}, {"default:steel_ingot", "mesecons:wire_00000000_off", "default:steel_ingot"},
{"group:wood", "group:wood", "group:wood"}, {"group:wood", "group:wood", "group:wood"}
} }
}) })
@ -50,7 +50,7 @@ local node_sounds = {
["default:chest"] = "mesecons_noteblock_snare", ["default:chest"] = "mesecons_noteblock_snare",
["default:tree"] = "mesecons_noteblock_crash", ["default:tree"] = "mesecons_noteblock_crash",
["default:wood"] = "mesecons_noteblock_litecrash", ["default:wood"] = "mesecons_noteblock_litecrash",
["default:coalblock"] = "tnt_explode", ["default:coalblock"] = "tnt_explode"
} }
mesecon.noteblock_play = function (pos, param2) mesecon.noteblock_play = function (pos, param2)

View File

@ -11,7 +11,7 @@ minetest.register_node("mesecons_solarpanel:solar_panel_on", {
type = "wallmounted", type = "wallmounted",
wall_bottom = { -8/16, -8/16, -8/16, 8/16, -2/16, 8/16 }, wall_bottom = { -8/16, -8/16, -8/16, 8/16, -2/16, 8/16 },
wall_top = { -8/16, 2/16, -8/16, 8/16, 8/16, 8/16 }, wall_top = { -8/16, 2/16, -8/16, 8/16, 8/16, 8/16 },
wall_side = { -2/16, -8/16, -8/16, -8/16, 8/16, 8/16 }, wall_side = { -2/16, -8/16, -8/16, -8/16, 8/16, 8/16 }
}, },
drop = "mesecons_solarpanel:solar_panel_off", drop = "mesecons_solarpanel:solar_panel_off",
groups = {dig_immediate = 3, attached_node = 1, not_in_creative_inventory = 1}, groups = {dig_immediate = 3, attached_node = 1, not_in_creative_inventory = 1},
@ -20,11 +20,12 @@ minetest.register_node("mesecons_solarpanel:solar_panel_on", {
state = mesecon.state.on, state = mesecon.state.on,
rules = mesecon.rules.wallmounted_get, rules = mesecon.rules.wallmounted_get,
}}, }},
on_blast = mesecon.on_blastnode, on_blast = mesecon.on_blastnode
}) })
-- Solar Panel -- Solar Panel
minetest.register_node("mesecons_solarpanel:solar_panel_off", { minetest.register_node("mesecons_solarpanel:solar_panel_off", {
description = "Solar Panel",
drawtype = "nodebox", drawtype = "nodebox",
tiles = { "jeija_solar_panel.png" }, tiles = { "jeija_solar_panel.png" },
inventory_image = "jeija_solar_panel.png", inventory_image = "jeija_solar_panel.png",
@ -36,24 +37,23 @@ minetest.register_node("mesecons_solarpanel:solar_panel_off", {
type = "wallmounted", type = "wallmounted",
wall_bottom = { -8/16, -8/16, -8/16, 8/16, -2/16, 8/16 }, wall_bottom = { -8/16, -8/16, -8/16, 8/16, -2/16, 8/16 },
wall_top = { -8/16, 2/16, -8/16, 8/16, 8/16, 8/16 }, wall_top = { -8/16, 2/16, -8/16, 8/16, 8/16, 8/16 },
wall_side = { -2/16, -8/16, -8/16, -8/16, 8/16, 8/16 }, wall_side = { -2/16, -8/16, -8/16, -8/16, 8/16, 8/16 }
}, },
groups = {dig_immediate = 3, attached_node = 1}, groups = {dig_immediate = 3, attached_node = 1},
description="Solar Panel",
sounds = default.node_sound_glass_defaults(), sounds = default.node_sound_glass_defaults(),
mesecons = {receptor = { mesecons = {receptor = {
state = mesecon.state.off, state = mesecon.state.off,
rules = mesecon.rules.wallmounted_get, rules = mesecon.rules.wallmounted_get
}}, }},
on_blast = mesecon.on_blastnode, on_blast = mesecon.on_blastnode
}) })
minetest.register_craft({ minetest.register_craft({
output = "mesecons_solarpanel:solar_panel_off 1", output = "mesecons_solarpanel:solar_panel_off",
recipe = { recipe = {
{'default:glass', 'default:glass', 'default:glass'}, {"default:glass", "default:glass", "default:glass"},
{'default:glass', 'default:glass', 'default:glass'}, {"default:glass", "default:glass", "default:glass"},
{'default:restone_dust', 'default:restone_dust', 'default:restone_dust'}, {"default:restone_dust", "default:restone_dust", "default:restone_dust"}
} }
}) })
@ -69,7 +69,7 @@ minetest.register_abm(
minetest.swap_node(pos, node) minetest.swap_node(pos, node)
mesecon.receptor_on(pos, mesecon.rules.wallmounted_get(node)) mesecon.receptor_on(pos, mesecon.rules.wallmounted_get(node))
end end
end, end
}) })
minetest.register_abm( minetest.register_abm(
@ -84,7 +84,7 @@ minetest.register_abm(
minetest.swap_node(pos, node) minetest.swap_node(pos, node)
mesecon.receptor_off(pos, mesecon.rules.wallmounted_get(node)) mesecon.receptor_off(pos, mesecon.rules.wallmounted_get(node))
end end
end, end
}) })
-- Solar panel -- Solar panel

View File

@ -5,21 +5,21 @@ local items_ore = {
{"default:diamond", 1, 1}, {"default:diamond", 1, 1},
{"default:emerald", 1, 2}, {"default:emerald", 1, 2},
{"default:gold_ingot", 2, 3}, {"default:gold_ingot", 2, 3},
{"default:steel_ingot", 2, 4}, {"default:steel_ingot", 2, 4}
} }
local items_food = { local items_food = {
{"default:apple", 2, 8}, {"default:apple", 2, 8},
{"mobs:pork", 1, 4}, {"mobs:pork", 1, 4},
{"mobs:meat", 1, 4}, {"mobs:meat", 1, 4},
{"mobs:chicken_cooked", 1, 4}, {"mobs:chicken_cooked", 1, 4}
} }
local items_material = { local items_material = {
{"default:wood", 8, 64}, {"default:wood", 8, 64},
{"default:cobble", 8, 64}, {"default:cobble", 8, 64},
{"default:obsidian", 2, 8}, {"default:obsidian", 2, 8},
{"default:tree", 4, 16}, {"default:tree", 4, 16}
} }
local item_spawn = function (pos, node) local item_spawn = function (pos, node)
@ -48,18 +48,20 @@ minetest.register_node("bonusbox:chest", {
}, },
drawtype = "nodebox", drawtype = "nodebox",
paramtype = "light", paramtype = "light",
drop = "",
node_box = { node_box = {
type = "fixed", type = "fixed",
fixed = { fixed = {
{-0.5, -0.5, -0.5, 0.5, -0.438627, 0.187361}, -- NodeBox1 {-0.5, -0.5, -0.5, 0.5, -0.43863, 0.18736},
{-0.483652, -0.441532, -0.483652, 0.483652, 0.110383, 0.172837}, -- NodeBox2 {-0.48365, -0.44153, -0.48365, 0.48365, 0.11038, 0.17284},
{-0.5, 0.110383, -0.5, 0.5, 0.249814, 0.187361}, -- NodeBox3 {-0.5, 0.11038, -0.5, 0.5, 0.24981, 0.18736},
{-0.483652, 0.246909, -0.483652, 0.483652, 0.5, 0.169932}, -- NodeBox4 {-0.48365, 0.24691, -0.48365, 0.48365, 0.5, 0.16993}
} }
}, },
groups = {choppy = 2, not_in_creative_inventory = 1}, groups = {choppy = 2, not_in_creative_inventory = 1},
sounds = default.node_sound_wood_defaults(), sounds = default.node_sound_wood_defaults(),
on_rightclick = item_spawn,
on_rightclick = item_spawn
}) })
minetest.register_node("bonusbox:chest_open", { minetest.register_node("bonusbox:chest_open", {
@ -77,15 +79,23 @@ minetest.register_node("bonusbox:chest_open", {
node_box = { node_box = {
type = "fixed", type = "fixed",
fixed = { fixed = {
{-0.5, -0.5, -0.5, 0.5, -0.438627, 0.187361}, -- NodeBox1 {-0.5, -0.5, -0.5, 0.5, -0.43863, 0.18736},
{-0.483652, -0.444437, -0.483652, 0.483652, 0.110383, 0.169932}, -- NodeBox2 {-0.48365, -0.44444, -0.48365, 0.48365, 0.11038, 0.16993},
{-0.5, 0.110383, -0.5, 0.5, 0.188813, 0.187361}, -- NodeBox3 {-0.5, 0.11038, -0.5, 0.5, 0.18881, 0.18736},
{-0.5, 0.188813, 0.172837, 0.5, 0.5, 0.248362}, -- NodeBox4 {-0.5, 0.18881, 0.17284, 0.5, 0.5, 0.24836},
{-0.484478, 0.206242, 0.242552, 0.484478, 0.5, 0.5}, -- NodeBox5 {-0.48448, 0.20624, 0.24255, 0.48448, 0.5, 0.5}
}
},
selection_box = {
type = "fixed",
fixed = {
{-0.5, -0.5, -0.5, 0.5, -0.43863, 0.18736},
{-0.48365, -0.44444, -0.48365, 0.48365, 0.11038, 0.16993},
{-0.5, 0.11038, -0.5, 0.5, 0.18881, 0.18736}
} }
}, },
groups = {choppy = 2, not_in_creative_inventory = 1}, groups = {choppy = 2, not_in_creative_inventory = 1},
sounds = default.node_sound_wood_defaults(), sounds = default.node_sound_wood_defaults()
}) })
minetest.register_node("bonusbox:chest_cap", { minetest.register_node("bonusbox:chest_cap", {
@ -103,12 +113,15 @@ minetest.register_node("bonusbox:chest_cap", {
node_box = { node_box = {
type = "fixed", type = "fixed",
fixed = { fixed = {
{-0.5, -0.5, 0.172236, 0.5, -0.128775, 0.249501}, -- NodeBox1 {-0.5, -0.5, 0.17224, 0.5, -0.12878, 0.2495},
{-0.485183, -0.5, 0.249501, 0.485183, -0.144871, 0.5}, -- NodeBox2 {-0.48518, -0.5, 0.2495, 0.48518, -0.14487, 0.5}
} }
}, },
selection_box = {
type = "fixed"
},
groups = {attached_node = 1, not_in_creative_inventory = 1}, groups = {attached_node = 1, not_in_creative_inventory = 1},
sounds = default.node_sound_wood_defaults(), sounds = default.node_sound_wood_defaults()
}) })
minetest.register_decoration({ minetest.register_decoration({
@ -120,5 +133,5 @@ minetest.register_decoration({
fill_ratio = 0.0002, fill_ratio = 0.0002,
y_max = 31000, y_max = 31000,
y_min = 1, y_min = 1,
decoration = {"bonusbox:chest"}, decoration = {"bonusbox:chest"}
}) })

View File

@ -3,10 +3,10 @@ minetest.register_alias("bucket_water", "bucket:bucket_water")
minetest.register_alias("bucket_lava", "bucket:bucket_lava") minetest.register_alias("bucket_lava", "bucket:bucket_lava")
minetest.register_craft({ minetest.register_craft({
output = 'bucket:bucket_empty 1', output = "bucket:bucket_empty",
recipe = { recipe = {
{'default:steel_ingot', '', 'default:steel_ingot'}, {"default:steel_ingot", "", "default:steel_ingot"},
{'', 'default:steel_ingot', ''}, {"", "default:steel_ingot", ""}
} }
}) })
@ -99,16 +99,16 @@ function bucket.register_liquid(source, flowing, itemname, inventory_image, name
local player_name = user:get_player_name() local player_name = user:get_player_name()
if minetest.is_singleplayer() ~= true then if not minetest.is_singleplayer() then
if pointed_thing.under.y > 8 then if pointed_thing.under.y >= 8 then
minetest.chat_send_player(player_name, S("Too much liquid is bad, right?"), true) minetest.chat_send_player(player_name, S("Too much liquid is bad, right?"), true)
return itemstack return
end end
end end
if check_protection(lpos, user if check_protection(lpos, user
and user:get_player_name() and user:get_player_name()
or "", "place "..source) then or "", "place " .. source) then
return return
end end
@ -131,7 +131,7 @@ minetest.register_craftitem("bucket:bucket_empty", {
liquids_pointable = true, liquids_pointable = true,
on_use = function(itemstack, user, pointed_thing) on_use = function(itemstack, user, pointed_thing)
if pointed_thing.type == "object" then if pointed_thing.type == "object" then
pointed_thing.ref:punch(user, 1.0, { full_punch_interval=1.0 }, nil) pointed_thing.ref:punch(user, 1.0, {full_punch_interval = 1.0}, nil)
return user:get_wielded_item() return user:get_wielded_item()
elseif pointed_thing.type ~= "node" then elseif pointed_thing.type ~= "node" then
-- do nothing if it's neither object nor node -- do nothing if it's neither object nor node
@ -147,7 +147,7 @@ minetest.register_craftitem("bucket:bucket_empty", {
and node.name == liquiddef.source then and node.name == liquiddef.source then
if check_protection(pointed_thing.under, if check_protection(pointed_thing.under,
user:get_player_name(), user:get_player_name(),
"take ".. node.name) then "take " .. node.name) then
return return
end end
@ -168,7 +168,7 @@ minetest.register_craftitem("bucket:bucket_empty", {
end end
-- set to return empty buckets minus 1 -- set to return empty buckets minus 1
giving_back = "bucket:bucket_empty "..tostring(item_count-1) giving_back = "bucket:bucket_empty " .. tostring(item_count - 1)
end end
@ -179,7 +179,7 @@ minetest.register_craftitem("bucket:bucket_empty", {
minetest.find_node_near(pointed_thing.under, 1, liquiddef.source) minetest.find_node_near(pointed_thing.under, 1, liquiddef.source)
end end
if not (source_neighbor and liquiddef.force_renew) then if not (source_neighbor and liquiddef.force_renew) then
minetest.add_node(pointed_thing.under, {name="air"}) minetest.add_node(pointed_thing.under, {name = "air"})
end end
return ItemStack(giving_back) return ItemStack(giving_back)
@ -191,7 +191,7 @@ minetest.register_craftitem("bucket:bucket_empty", {
end end
return user:get_wielded_item() return user:get_wielded_item()
end end
end, end
}) })
bucket.register_liquid( bucket.register_liquid(
@ -242,5 +242,5 @@ minetest.register_craft({
type = "fuel", type = "fuel",
recipe = "bucket:bucket_lava", recipe = "bucket:bucket_lava",
burntime = 60, burntime = 60,
replacements = {{"bucket:bucket_lava", "bucket:bucket_empty"}}, replacements = {{"bucket:bucket_lava", "bucket:bucket_empty"}}
}) })

View File

@ -52,13 +52,15 @@ function cart_entity:on_activate(staticdata, dtime_s)
if self.old_pos and carts:is_rail(self.old_pos, self.railtype) then if self.old_pos and carts:is_rail(self.old_pos, self.railtype) then
self.object:set_pos(self.old_pos) self.object:set_pos(self.old_pos)
end end
self.age = (data.age or 0) + dtime_s
end end
function cart_entity:get_staticdata() function cart_entity:get_staticdata()
return minetest.serialize({ return minetest.serialize({
railtype = self.railtype, railtype = self.railtype,
old_dir = self.old_dir, old_dir = self.old_dir,
old_pos = self.old_pos old_pos = self.old_pos,
age = self.age
}) })
end end
@ -181,8 +183,8 @@ local function rail_on_step(self, dtime)
if not minetest.is_singleplayer() then if not minetest.is_singleplayer() then
drop_timer = 60 -- 1 min drop_timer = 60 -- 1 min
end end
self.count = (self.count or 0) + dtime self.age = (self.age or 0) + dtime
if self.count > drop_timer then if self.age > drop_timer then
minetest.add_item(self.object:get_pos(), "carts:cart") minetest.add_item(self.object:get_pos(), "carts:cart")
if self.sound_handle then if self.sound_handle then
minetest.sound_stop(self.sound_handle) minetest.sound_stop(self.sound_handle)
@ -191,7 +193,7 @@ local function rail_on_step(self, dtime)
return return
end end
else else
self.count = 0 self.age = 0
end end
local vel = self.object:get_velocity() local vel = self.object:get_velocity()

View File

@ -4,7 +4,7 @@ function carts:turnoff_detector_rail(pos)
local node = minetest.get_node(pos) local node = minetest.get_node(pos)
if minetest.get_item_group(node.name, "detector_rail") == 1 then if minetest.get_item_group(node.name, "detector_rail") == 1 then
if node.name == "carts:detectorrail_on" then --has not been dug if node.name == "carts:detectorrail_on" then --has not been dug
minetest.swap_node(pos, {name = "carts:detectorrail", param2=node.param2}) minetest.swap_node(pos, {name = "carts:detectorrail", param2 = node.param2})
end end
mesecon.receptor_off(pos, mesecons_rules) mesecon.receptor_off(pos, mesecons_rules)
end end
@ -17,14 +17,14 @@ function carts:signal_detector_rail(pos)
end end
if node.name == "carts:detectorrail" then if node.name == "carts:detectorrail" then
minetest.swap_node(pos, {name = "carts:detectorrail_on", param2=node.param2}) minetest.swap_node(pos, {name = "carts:detectorrail_on", param2 = node.param2})
end end
mesecon.receptor_on(pos, mesecons_rules) mesecon.receptor_on(pos, mesecons_rules)
minetest.after(0.5, carts.turnoff_detector_rail, carts, pos) minetest.after(0.5, carts.turnoff_detector_rail, carts, pos)
end end
carts:register_rail("carts:detectorrail", { carts:register_rail("carts:detectorrail", {
description = "Detector rail", description = "Detector Rail",
tiles = { tiles = {
"carts_rail_straight_dtc.png", "carts_rail_curved_dtc.png", "carts_rail_straight_dtc.png", "carts_rail_curved_dtc.png",
"carts_rail_t_junction_dtc.png", "carts_rail_crossing_dtc.png" "carts_rail_t_junction_dtc.png", "carts_rail_crossing_dtc.png"

Binary file not shown.

Before

Width:  |  Height:  |  Size: 1.3 KiB

After

Width:  |  Height:  |  Size: 1.1 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 522 B

After

Width:  |  Height:  |  Size: 412 B

View File

@ -38,7 +38,7 @@ minetest.register_node("default:chest", {
local param2 = minetest.get_node(pos).param2 local param2 = minetest.get_node(pos).param2
local meta = minetest.get_meta(pos) local meta = minetest.get_meta(pos)
if minetest.get_node(get_chest_neighborpos(pos, param2, "right")).name == "default:chest" then if minetest.get_node(get_chest_neighborpos(pos, param2, "right")).name == "default:chest" then
minetest.set_node(pos, {name="default:chest_right",param2=param2}) minetest.set_node(pos, {name="default:chest_right",param2 = param2})
local p = get_chest_neighborpos(pos, param2, "right") local p = get_chest_neighborpos(pos, param2, "right")
meta:set_string("formspec", meta:set_string("formspec",
"size[9,11.5]".. "size[9,11.5]"..
@ -51,7 +51,7 @@ minetest.register_node("default:chest", {
"list[current_player;main;0.01,7.4;9,3;9]".. "list[current_player;main;0.01,7.4;9,3;9]"..
"list[current_player;main;0,10.61;9,1;]") "list[current_player;main;0,10.61;9,1;]")
meta:set_string("infotext", "Large Chest") meta:set_string("infotext", "Large Chest")
minetest.swap_node(p, {name="default:chest_left", param2=param2}) minetest.swap_node(p, {name="default:chest_left", param2 = param2})
local m = minetest.get_meta(p) local m = minetest.get_meta(p)
m:set_string("formspec", m:set_string("formspec",
"size[9,11.5]".. "size[9,11.5]"..
@ -65,7 +65,7 @@ minetest.register_node("default:chest", {
"list[current_player;main;0,10.61;9,1;]") "list[current_player;main;0,10.61;9,1;]")
m:set_string("infotext", "Large Chest") m:set_string("infotext", "Large Chest")
elseif minetest.get_node(get_chest_neighborpos(pos, param2, "left")).name == "default:chest" then elseif minetest.get_node(get_chest_neighborpos(pos, param2, "left")).name == "default:chest" then
minetest.set_node(pos, {name="default:chest_left",param2=param2}) minetest.set_node(pos, {name="default:chest_left",param2 = param2})
local p = get_chest_neighborpos(pos, param2, "left") local p = get_chest_neighborpos(pos, param2, "left")
meta:set_string("formspec", meta:set_string("formspec",
"size[9,11.5]".. "size[9,11.5]"..
@ -78,7 +78,7 @@ minetest.register_node("default:chest", {
"list[current_player;main;0.01,7.4;9,3;9]".. "list[current_player;main;0.01,7.4;9,3;9]"..
"list[current_player;main;0,10.61;9,1;]") "list[current_player;main;0,10.61;9,1;]")
meta:set_string("infotext", "Large Chest") meta:set_string("infotext", "Large Chest")
minetest.swap_node(p, {name="default:chest_right", param2=param2}) minetest.swap_node(p, {name="default:chest_right", param2 = param2})
local m = minetest.get_meta(p) local m = minetest.get_meta(p)
m:set_string("formspec", m:set_string("formspec",
"size[9,11.5]".. "size[9,11.5]"..
@ -135,7 +135,6 @@ minetest.register_node("default:chest", {
on_receive_fields = function(pos, formname, fields, sender) on_receive_fields = function(pos, formname, fields, sender)
if fields.exit then if fields.exit then
fields.quit = true fields.quit = true
-- minetest.show_formspec(sender:get_player_name(), 'quit', "")
end end
end end
}) })
@ -168,7 +167,7 @@ minetest.register_node("default:chest_left", {
"list[current_player;main;0,4.5;9,3;9]" .. "list[current_player;main;0,4.5;9,3;9]" ..
"list[current_player;main;0,7.74;9,1;]") "list[current_player;main;0,7.74;9,1;]")
meta:set_string("infotext", "Chest") meta:set_string("infotext", "Chest")
minetest.swap_node(p, {name="default:chest", param2=param2}) minetest.swap_node(p, {name="default:chest", param2 = param2})
end, end,
after_dig_node = function(pos, oldnode, oldmetadata, digger) after_dig_node = function(pos, oldnode, oldmetadata, digger)
local meta = minetest.get_meta(pos) local meta = minetest.get_meta(pos)
@ -226,7 +225,7 @@ minetest.register_node("default:chest_right", {
"list[current_player;main;0,4.5;9,3;9]" .. "list[current_player;main;0,4.5;9,3;9]" ..
"list[current_player;main;0,7.74;9,1;]") "list[current_player;main;0,7.74;9,1;]")
meta:set_string("infotext", "Chest") meta:set_string("infotext", "Chest")
minetest.swap_node(p, {name="default:chest", param2=param2}) minetest.swap_node(p, {name="default:chest", param2 = param2})
end, end,
after_dig_node = function(pos, oldnode, oldmetadata, digger) after_dig_node = function(pos, oldnode, oldmetadata, digger)
local meta = minetest.get_meta(pos) local meta = minetest.get_meta(pos)

View File

@ -3,49 +3,49 @@
minetest.register_craft({ minetest.register_craft({
output = "default:wood 4", output = "default:wood 4",
recipe = { recipe = {
{"default:tree"}, {"default:tree"}
} }
}) })
minetest.register_craft({ minetest.register_craft({
output = "default:junglewood 4", output = "default:junglewood 4",
recipe = { recipe = {
{"default:jungletree"}, {"default:jungletree"}
} }
}) })
minetest.register_craft({ minetest.register_craft({
output = "default:pine_wood 4", output = "default:pine_wood 4",
recipe = { recipe = {
{"default:pine_tree"}, {"default:pine_tree"}
} }
}) })
minetest.register_craft({ minetest.register_craft({
output = "default:acacia_wood 4", output = "default:acacia_wood 4",
recipe = { recipe = {
{"default:acacia_tree"}, {"default:acacia_tree"}
} }
}) })
minetest.register_craft({ minetest.register_craft({
output = "default:birch_wood 4", output = "default:birch_wood 4",
recipe = { recipe = {
{"default:birch_tree"}, {"default:birch_tree"}
} }
}) })
minetest.register_craft({ minetest.register_craft({
output = "default:mossycobble", output = "default:mossycobble",
recipe = { recipe = {
{"default:cobble", "default:vine"}, {"default:cobble", "default:vine"}
} }
}) })
minetest.register_craft({ minetest.register_craft({
output = "default:stonebrickmossy", output = "default:stonebrickmossy",
recipe = { recipe = {
{"default:stonebrick", "default:vine"}, {"default:stonebrick", "default:vine"}
} }
}) })
@ -53,7 +53,7 @@ minetest.register_craft({
output = "default:stick 4", output = "default:stick 4",
recipe = { recipe = {
{"group:wood"}, {"group:wood"},
{"group:wood"}, {"group:wood"}
} }
}) })
@ -61,7 +61,7 @@ minetest.register_craft({
output = "default:torch 4", output = "default:torch 4",
recipe = { recipe = {
{"default:coal_lump"}, {"default:coal_lump"},
{"default:stick"}, {"default:stick"}
} }
}) })
@ -69,7 +69,7 @@ minetest.register_craft({
output = "default:torch 4", output = "default:torch 4",
recipe = { recipe = {
{"default:charcoal_lump"}, {"default:charcoal_lump"},
{"default:stick"}, {"default:stick"}
} }
}) })
@ -78,7 +78,7 @@ minetest.register_craft({
recipe = { recipe = {
{"group:wood", "group:wood", "group:wood"}, {"group:wood", "group:wood", "group:wood"},
{"", "default:stick", ""}, {"", "default:stick", ""},
{"", "default:stick", ""}, {"", "default:stick", ""}
} }
}) })
@ -87,7 +87,7 @@ minetest.register_craft({
recipe = { recipe = {
{"group:stone", "group:stone", "group:stone"}, {"group:stone", "group:stone", "group:stone"},
{"", "default:stick", ""}, {"", "default:stick", ""},
{"", "default:stick", ""}, {"", "default:stick", ""}
} }
}) })
@ -96,7 +96,7 @@ minetest.register_craft({
recipe = { recipe = {
{"default:steel_ingot", "default:steel_ingot", "default:steel_ingot"}, {"default:steel_ingot", "default:steel_ingot", "default:steel_ingot"},
{"", "default:stick", ""}, {"", "default:stick", ""},
{"", "default:stick", ""}, {"", "default:stick", ""}
} }
}) })
@ -105,7 +105,7 @@ minetest.register_craft({
recipe = { recipe = {
{"default:gold_ingot", "default:gold_ingot", "default:gold_ingot"}, {"default:gold_ingot", "default:gold_ingot", "default:gold_ingot"},
{"", "default:stick", ""}, {"", "default:stick", ""},
{"", "default:stick", ""}, {"", "default:stick", ""}
} }
}) })
@ -114,14 +114,14 @@ minetest.register_craft({
recipe = { recipe = {
{"default:diamond", "default:diamond", "default:diamond"}, {"default:diamond", "default:diamond", "default:diamond"},
{"default:diamond", "default:diamond", "default:diamond"}, {"default:diamond", "default:diamond", "default:diamond"},
{"default:diamond", "default:diamond", "default:diamond"}, {"default:diamond", "default:diamond", "default:diamond"}
} }
}) })
minetest.register_craft({ minetest.register_craft({
output = "default:diamond 9", output = "default:diamond 9",
recipe = { recipe = {
{"default:diamondblock"}, {"default:diamondblock"}
} }
}) })
@ -130,7 +130,7 @@ minetest.register_craft({
recipe = { recipe = {
{"default:diamond", "default:diamond", "default:diamond"}, {"default:diamond", "default:diamond", "default:diamond"},
{"", "default:stick", ""}, {"", "default:stick", ""},
{"", "default:stick", ""}, {"", "default:stick", ""}
} }
}) })
@ -139,7 +139,7 @@ minetest.register_craft({
recipe = { recipe = {
{"group:wood"}, {"group:wood"},
{"default:stick"}, {"default:stick"},
{"default:stick"}, {"default:stick"}
} }
}) })
@ -148,7 +148,7 @@ minetest.register_craft({
recipe = { recipe = {
{"group:stone"}, {"group:stone"},
{"default:stick"}, {"default:stick"},
{"default:stick"}, {"default:stick"}
} }
}) })
@ -157,7 +157,7 @@ minetest.register_craft({
recipe = { recipe = {
{"default:steel_ingot"}, {"default:steel_ingot"},
{"default:stick"}, {"default:stick"},
{"default:stick"}, {"default:stick"}
} }
}) })
@ -166,7 +166,7 @@ minetest.register_craft({
recipe = { recipe = {
{"default:gold_ingot"}, {"default:gold_ingot"},
{"default:stick"}, {"default:stick"},
{"default:stick"}, {"default:stick"}
} }
}) })
@ -175,7 +175,7 @@ minetest.register_craft({
recipe = { recipe = {
{"default:diamond"}, {"default:diamond"},
{"default:stick"}, {"default:stick"},
{"default:stick"}, {"default:stick"}
} }
}) })
@ -184,7 +184,7 @@ minetest.register_craft({
recipe = { recipe = {
{"group:wood", "group:wood"}, {"group:wood", "group:wood"},
{"group:wood", "default:stick"}, {"group:wood", "default:stick"},
{"", "default:stick"}, {"", "default:stick"}
} }
}) })
@ -193,7 +193,7 @@ minetest.register_craft({
recipe = { recipe = {
{"group:stone", "group:stone"}, {"group:stone", "group:stone"},
{"group:stone", "default:stick"}, {"group:stone", "default:stick"},
{"", "default:stick"}, {"", "default:stick"}
} }
}) })
@ -202,7 +202,7 @@ minetest.register_craft({
recipe = { recipe = {
{"default:steel_ingot", "default:steel_ingot"}, {"default:steel_ingot", "default:steel_ingot"},
{"default:steel_ingot", "default:stick"}, {"default:steel_ingot", "default:stick"},
{"", "default:stick"}, {"", "default:stick"}
} }
}) })
@ -211,7 +211,7 @@ minetest.register_craft({
recipe = { recipe = {
{"default:gold_ingot", "default:gold_ingot"}, {"default:gold_ingot", "default:gold_ingot"},
{"default:gold_ingot", "default:stick"}, {"default:gold_ingot", "default:stick"},
{"", "default:stick"}, {"", "default:stick"}
} }
}) })
@ -220,7 +220,7 @@ minetest.register_craft({
recipe = { recipe = {
{"default:diamond", "default:diamond"}, {"default:diamond", "default:diamond"},
{"default:diamond", "default:stick"}, {"default:diamond", "default:stick"},
{"", "default:stick"}, {"", "default:stick"}
} }
}) })
@ -229,7 +229,7 @@ minetest.register_craft({
recipe = { recipe = {
{"group:wood"}, {"group:wood"},
{"group:wood"}, {"group:wood"},
{"default:stick"}, {"default:stick"}
} }
}) })
@ -238,7 +238,7 @@ minetest.register_craft({
recipe = { recipe = {
{"group:stone"}, {"group:stone"},
{"group:stone"}, {"group:stone"},
{"default:stick"}, {"default:stick"}
} }
}) })
@ -247,7 +247,7 @@ minetest.register_craft({
recipe = { recipe = {
{"default:steel_ingot"}, {"default:steel_ingot"},
{"default:steel_ingot"}, {"default:steel_ingot"},
{"default:stick"}, {"default:stick"}
} }
}) })
@ -256,7 +256,7 @@ minetest.register_craft({
recipe = { recipe = {
{"default:gold_ingot"}, {"default:gold_ingot"},
{"default:gold_ingot"}, {"default:gold_ingot"},
{"default:stick"}, {"default:stick"}
} }
}) })
@ -265,16 +265,16 @@ minetest.register_craft({
recipe = { recipe = {
{"default:diamond"}, {"default:diamond"},
{"default:diamond"}, {"default:diamond"},
{"default:stick"}, {"default:stick"}
} }
}) })
minetest.register_craft({ minetest.register_craft({
output = "default:pole", output = "default:pole",
recipe = { recipe = {
{"","","default:stick"}, {"", "", "default:stick"},
{"","default:stick","farming:string"}, {"", "default:stick", "farming:string"},
{"default:stick","","farming:string"}, {"default:stick", "", "farming:string"}
} }
}) })
@ -283,7 +283,7 @@ minetest.register_craft({
recipe = { recipe = {
{"group:wood", "group:wood", "group:wood"}, {"group:wood", "group:wood", "group:wood"},
{"group:wood", "", "group:wood"}, {"group:wood", "", "group:wood"},
{"group:wood", "group:wood", "group:wood"}, {"group:wood", "group:wood", "group:wood"}
} }
}) })
@ -292,7 +292,7 @@ minetest.register_craft({
recipe = { recipe = {
{"group:stone", "group:stone", "group:stone"}, {"group:stone", "group:stone", "group:stone"},
{"group:stone", "", "group:stone"}, {"group:stone", "", "group:stone"},
{"group:stone", "group:stone", "group:stone"}, {"group:stone", "group:stone", "group:stone"}
} }
}) })
@ -301,14 +301,14 @@ minetest.register_craft({
recipe = { recipe = {
{"default:coal_lump", "default:coal_lump", "default:coal_lump"}, {"default:coal_lump", "default:coal_lump", "default:coal_lump"},
{"default:coal_lump", "default:coal_lump", "default:coal_lump"}, {"default:coal_lump", "default:coal_lump", "default:coal_lump"},
{"default:coal_lump", "default:coal_lump", "default:coal_lump"}, {"default:coal_lump", "default:coal_lump", "default:coal_lump"}
} }
}) })
minetest.register_craft({ minetest.register_craft({
output = "default:coal_lump 9", output = "default:coal_lump 9",
recipe = { recipe = {
{"default:coalblock"}, {"default:coalblock"}
} }
}) })
@ -317,14 +317,14 @@ minetest.register_craft({
recipe = { recipe = {
{"default:steel_ingot", "default:steel_ingot", "default:steel_ingot"}, {"default:steel_ingot", "default:steel_ingot", "default:steel_ingot"},
{"default:steel_ingot", "default:steel_ingot", "default:steel_ingot"}, {"default:steel_ingot", "default:steel_ingot", "default:steel_ingot"},
{"default:steel_ingot", "default:steel_ingot", "default:steel_ingot"}, {"default:steel_ingot", "default:steel_ingot", "default:steel_ingot"}
} }
}) })
minetest.register_craft({ minetest.register_craft({
output = "default:steel_ingot 9", output = "default:steel_ingot 9",
recipe = { recipe = {
{"default:steelblock"}, {"default:steelblock"}
} }
}) })
@ -333,14 +333,14 @@ minetest.register_craft({
recipe = { recipe = {
{"default:gold_ingot", "default:gold_ingot", "default:gold_ingot"}, {"default:gold_ingot", "default:gold_ingot", "default:gold_ingot"},
{"default:gold_ingot", "default:gold_ingot", "default:gold_ingot"}, {"default:gold_ingot", "default:gold_ingot", "default:gold_ingot"},
{"default:gold_ingot", "default:gold_ingot", "default:gold_ingot"}, {"default:gold_ingot", "default:gold_ingot", "default:gold_ingot"}
} }
}) })
minetest.register_craft({ minetest.register_craft({
output = "default:gold_ingot 9", output = "default:gold_ingot 9",
recipe = { recipe = {
{"default:goldblock"}, {"default:goldblock"}
} }
}) })
@ -348,7 +348,7 @@ minetest.register_craft({
output = "default:sandstone", output = "default:sandstone",
recipe = { recipe = {
{"group:sand", "group:sand"}, {"group:sand", "group:sand"},
{"group:sand", "group:sand"}, {"group:sand", "group:sand"}
} }
}) })
@ -356,7 +356,7 @@ minetest.register_craft({
output = "default:clay", output = "default:clay",
recipe = { recipe = {
{"default:clay_lump", "default:clay_lump"}, {"default:clay_lump", "default:clay_lump"},
{"default:clay_lump", "default:clay_lump"}, {"default:clay_lump", "default:clay_lump"}
} }
}) })
@ -364,21 +364,21 @@ minetest.register_craft({
output = "default:brick", output = "default:brick",
recipe = { recipe = {
{"default:clay_brick", "default:clay_brick"}, {"default:clay_brick", "default:clay_brick"},
{"default:clay_brick", "default:clay_brick"}, {"default:clay_brick", "default:clay_brick"}
} }
}) })
minetest.register_craft({ minetest.register_craft({
output = "default:clay_brick 4", output = "default:clay_brick 4",
recipe = { recipe = {
{"default:brick"}, {"default:brick"}
} }
}) })
minetest.register_craft({ minetest.register_craft({
output = "default:paper", output = "default:paper",
recipe = { recipe = {
{"default:sugarcane", "default:sugarcane", "default:sugarcane"}, {"default:sugarcane", "default:sugarcane", "default:sugarcane"}
} }
}) })
@ -387,7 +387,7 @@ minetest.register_craft({
recipe = { recipe = {
{"default:paper"}, {"default:paper"},
{"default:paper"}, {"default:paper"},
{"default:paper"}, {"default:paper"}
} }
}) })
@ -396,7 +396,7 @@ minetest.register_craft({
recipe = { recipe = {
{"group:wood", "group:wood", "group:wood"}, {"group:wood", "group:wood", "group:wood"},
{"default:book", "default:book", "default:book"}, {"default:book", "default:book", "default:book"},
{"group:wood", "group:wood", "group:wood"}, {"group:wood", "group:wood", "group:wood"}
} }
}) })
@ -405,7 +405,7 @@ minetest.register_craft({
recipe = { recipe = {
{"default:stick", "", "default:stick"}, {"default:stick", "", "default:stick"},
{"default:stick", "default:stick", "default:stick"}, {"default:stick", "default:stick", "default:stick"},
{"default:stick", "", "default:stick"}, {"default:stick", "", "default:stick"}
} }
}) })
@ -413,7 +413,7 @@ minetest.register_craft({
output = "default:stonebrick", output = "default:stonebrick",
recipe = { recipe = {
{"default:stone", "default:stone"}, {"default:stone", "default:stone"},
{"default:stone", "default:stone"}, {"default:stone", "default:stone"}
} }
}) })
@ -422,7 +422,7 @@ minetest.register_craft({
output = "default:gunpowder", output = "default:gunpowder",
recipe = { recipe = {
"default:sand", "default:sand",
"default:gravel", "default:gravel"
} }
}) })
@ -431,14 +431,14 @@ minetest.register_craft({
recipe = { recipe = {
{"default:emerald", "default:emerald", "default:emerald"}, {"default:emerald", "default:emerald", "default:emerald"},
{"default:emerald", "default:emerald", "default:emerald"}, {"default:emerald", "default:emerald", "default:emerald"},
{"default:emerald", "default:emerald", "default:emerald"}, {"default:emerald", "default:emerald", "default:emerald"}
} }
}) })
minetest.register_craft({ minetest.register_craft({
output = "default:emerald 9", output = "default:emerald 9",
recipe = { recipe = {
{"default:emeraldblock"}, {"default:emeraldblock"}
} }
}) })
@ -446,14 +446,14 @@ minetest.register_craft({
output = "default:glowstone", output = "default:glowstone",
recipe = { recipe = {
{"default:glowstone_dust", "default:glowstone_dust"}, {"default:glowstone_dust", "default:glowstone_dust"},
{"default:glowstone_dust", "default:glowstone_dust"}, {"default:glowstone_dust", "default:glowstone_dust"}
} }
}) })
minetest.register_craft({ minetest.register_craft({
output = "default:glowstone_dust 4", output = "default:glowstone_dust 4",
recipe = { recipe = {
{"default:glowstone"}, {"default:glowstone"}
} }
}) })
@ -462,14 +462,14 @@ minetest.register_craft({
recipe = { recipe = {
{"default:gold_ingot", "default:gold_ingot", "default:gold_ingot"}, {"default:gold_ingot", "default:gold_ingot", "default:gold_ingot"},
{"default:gold_ingot", "default:apple", "default:gold_ingot"}, {"default:gold_ingot", "default:apple", "default:gold_ingot"},
{"default:gold_ingot", "default:gold_ingot", "default:gold_ingot"}, {"default:gold_ingot", "default:gold_ingot", "default:gold_ingot"}
} }
}) })
minetest.register_craft({ minetest.register_craft({
output = "default:sugar", output = "default:sugar",
recipe = { recipe = {
{"default:sugarcane"}, {"default:sugarcane"}
} }
}) })
@ -478,14 +478,14 @@ minetest.register_craft({
recipe = { recipe = {
{"default:snowball", "default:snowball", "default:snowball"}, {"default:snowball", "default:snowball", "default:snowball"},
{"default:snowball", "default:snowball", "default:snowball"}, {"default:snowball", "default:snowball", "default:snowball"},
{"default:snowball", "default:snowball", "default:snowball"}, {"default:snowball", "default:snowball", "default:snowball"}
} }
}) })
minetest.register_craft({ minetest.register_craft({
output = "default:snowball 9", output = "default:snowball 9",
recipe = { recipe = {
{"default:snowblock"}, {"default:snowblock"}
} }
}) })
@ -493,7 +493,7 @@ minetest.register_craft({
output = "default:quartz_block", output = "default:quartz_block",
recipe = { recipe = {
{"default:quartz_crystal", "default:quartz_crystal"}, {"default:quartz_crystal", "default:quartz_crystal"},
{"default:quartz_crystal", "default:quartz_crystal"}, {"default:quartz_crystal", "default:quartz_crystal"}
} }
}) })
@ -501,7 +501,7 @@ minetest.register_craft({
output = "default:quartz_pillar 2", output = "default:quartz_pillar 2",
recipe = { recipe = {
{"default:quartz_block"}, {"default:quartz_block"},
{"default:quartz_block"}, {"default:quartz_block"}
} }
}) })
@ -513,80 +513,80 @@ minetest.register_craft({
minetest.register_craft({ minetest.register_craft({
type = "cooking", type = "cooking",
output = "default:glass", output = "default:glass",
recipe = "group:sand", recipe = "group:sand"
}) })
minetest.register_craft({ minetest.register_craft({
type = "cooking", type = "cooking",
output = "default:stone", output = "default:stone",
recipe = "default:cobble", recipe = "default:cobble"
}) })
minetest.register_craft({ minetest.register_craft({
type = "cooking", type = "cooking",
output = "default:steel_ingot", output = "default:steel_ingot",
recipe = "default:stone_with_iron", recipe = "default:stone_with_iron"
}) })
minetest.register_craft({ minetest.register_craft({
type = "cooking", type = "cooking",
output = "default:gold_ingot", output = "default:gold_ingot",
recipe = "default:stone_with_gold", recipe = "default:stone_with_gold"
}) })
minetest.register_craft({ minetest.register_craft({
type = "cooking", type = "cooking",
output = "default:clay_brick", output = "default:clay_brick",
recipe = "default:clay_lump", recipe = "default:clay_lump"
}) })
minetest.register_craft({ minetest.register_craft({
type = "cooking", type = "cooking",
output = "default:hardened_clay", output = "default:hardened_clay",
recipe = "default:clay", recipe = "default:clay"
}) })
minetest.register_craft({ minetest.register_craft({
type = "cooking", type = "cooking",
output = "default:fish", output = "default:fish",
recipe = "default:fish_raw", recipe = "default:fish_raw",
-- cooktime = 2, -- cooktime = 2
}) })
minetest.register_craft({ minetest.register_craft({
type = "cooking", type = "cooking",
output = "default:charcoal_lump", output = "default:charcoal_lump",
recipe = "group:tree", recipe = "group:tree"
}) })
minetest.register_craft({ minetest.register_craft({
type = "cooking", type = "cooking",
output = "default:steak", output = "default:steak",
recipe = "default:beef_raw", recipe = "default:beef_raw"
}) })
minetest.register_craft({ minetest.register_craft({
type = "cooking", type = "cooking",
output = "default:chicken_cooked", output = "default:chicken_cooked",
recipe = "default:chicken_raw", recipe = "default:chicken_raw"
}) })
minetest.register_craft({ minetest.register_craft({
type = "cooking", type = "cooking",
output = "default:coal_lump", output = "default:coal_lump",
recipe = "default:stone_with_coal", recipe = "default:stone_with_coal"
}) })
minetest.register_craft({ minetest.register_craft({
type = "cooking", type = "cooking",
output = "default:diamond", output = "default:diamond",
recipe = "default:stone_with_diamond", recipe = "default:stone_with_diamond"
}) })
minetest.register_craft({ minetest.register_craft({
type = "cooking", type = "cooking",
output = "default:stonebrickcracked", output = "default:stonebrickcracked",
recipe = "default:stonebrick", recipe = "default:stonebrick"
}) })
@ -597,131 +597,131 @@ minetest.register_craft({
minetest.register_craft({ minetest.register_craft({
type = "fuel", type = "fuel",
recipe = "group:tree", recipe = "group:tree",
burntime = 15, burntime = 15
}) })
minetest.register_craft({ minetest.register_craft({
type = "fuel", type = "fuel",
recipe = "default:fence_wood", recipe = "default:fence_wood",
burntime = 15, burntime = 15
}) })
minetest.register_craft({ minetest.register_craft({
type = "fuel", type = "fuel",
recipe = "group:wood", recipe = "group:wood",
burntime = 15, burntime = 15
}) })
minetest.register_craft({ minetest.register_craft({
type = "fuel", type = "fuel",
recipe = "group:leaves", recipe = "group:leaves",
burntime = 5, burntime = 5
}) })
minetest.register_craft({ minetest.register_craft({
type = "fuel", type = "fuel",
recipe = "bucket:bucket_lava", recipe = "bucket:bucket_lava",
burntime = 1000, burntime = 1000
}) })
minetest.register_craft({ minetest.register_craft({
type = "fuel", type = "fuel",
recipe = "default:bookshelf", recipe = "default:bookshelf",
burntime = 30, burntime = 30
}) })
minetest.register_craft({ minetest.register_craft({
type = "fuel", type = "fuel",
recipe = "default:torch", recipe = "default:torch",
burntime = 7, burntime = 7
}) })
minetest.register_craft({ minetest.register_craft({
type = "fuel", type = "fuel",
recipe = "default:chest", recipe = "default:chest",
burntime = 15, burntime = 15
}) })
minetest.register_craft({ minetest.register_craft({
type = "fuel", type = "fuel",
recipe = "group:sapling", recipe = "group:sapling",
burntime = 5, burntime = 5
}) })
minetest.register_craft({ minetest.register_craft({
type = "fuel", type = "fuel",
recipe = "default:coal_block", recipe = "default:coal_block",
burntime = 800, burntime = 800
}) })
minetest.register_craft({ minetest.register_craft({
type = "fuel", type = "fuel",
recipe = "default:coal_lump", recipe = "default:coal_lump",
burntime = 80, burntime = 80
}) })
minetest.register_craft({ minetest.register_craft({
type = "fuel", type = "fuel",
recipe = "default:charcoal_lump", recipe = "default:charcoal_lump",
burntime = 80, burntime = 80
}) })
minetest.register_craft({ minetest.register_craft({
type = "fuel", type = "fuel",
recipe = "default:junglesapling", recipe = "default:junglesapling",
burntime = 5, burntime = 5
}) })
minetest.register_craft({ minetest.register_craft({
type = "fuel", type = "fuel",
recipe = "default:chest", recipe = "default:chest",
burntime = 15, burntime = 15
}) })
minetest.register_craft({ minetest.register_craft({
type = "fuel", type = "fuel",
recipe = "default:book", recipe = "default:book",
burntime = 5, burntime = 5
}) })
minetest.register_craft({ minetest.register_craft({
type = "fuel", type = "fuel",
recipe = "default:book_written", recipe = "default:book_written",
burntime = 5, burntime = 5
}) })
minetest.register_craft({ minetest.register_craft({
type = "fuel", type = "fuel",
recipe = "default:dry_shrub", recipe = "default:dry_shrub",
burntime = 5, burntime = 5
}) })
minetest.register_craft({ minetest.register_craft({
type = "fuel", type = "fuel",
recipe = "group:stick", recipe = "group:stick",
burntime = 3, burntime = 3
}) })
minetest.register_craft({ minetest.register_craft({
type = "fuel", type = "fuel",
recipe = "default:pick_wood", recipe = "default:pick_wood",
burntime = 6, burntime = 6
}) })
minetest.register_craft({ minetest.register_craft({
type = "fuel", type = "fuel",
recipe = "default:shovel_wood", recipe = "default:shovel_wood",
burntime = 4, burntime = 4
}) })
minetest.register_craft({ minetest.register_craft({
type = "fuel", type = "fuel",
recipe = "default:axe_wood", recipe = "default:axe_wood",
burntime = 6, burntime = 6
}) })
minetest.register_craft({ minetest.register_craft({
type = "fuel", type = "fuel",
recipe = "default:sword_wood", recipe = "default:sword_wood",
burntime = 5, burntime = 5
}) })

View File

@ -305,8 +305,8 @@ function default.register_fence(name, def)
minetest.register_craft({ minetest.register_craft({
output = name .. " 4", output = name .. " 4",
recipe = { recipe = {
{ def.material, 'group:stick', def.material }, { def.material, "group:stick", def.material },
{ def.material, 'group:stick', def.material }, { def.material, "group:stick", def.material },
} }
}) })

View File

@ -270,9 +270,9 @@ minetest.register_node("default:furnace", {
local meta = minetest.get_meta(pos) local meta = minetest.get_meta(pos)
meta:set_string("formspec", default.get_furnace_inactive_formspec()) meta:set_string("formspec", default.get_furnace_inactive_formspec())
local inv = meta:get_inventory() local inv = meta:get_inventory()
inv:set_size('src', 1) inv:set_size("src", 1)
inv:set_size('fuel', 1) inv:set_size("fuel", 1)
inv:set_size('dst', 4) inv:set_size("dst", 4)
end, end,
on_metadata_inventory_move = function(pos) on_metadata_inventory_move = function(pos)
@ -294,11 +294,10 @@ minetest.register_node("default:furnace", {
allow_metadata_inventory_put = allow_metadata_inventory_put, allow_metadata_inventory_put = allow_metadata_inventory_put,
allow_metadata_inventory_move = allow_metadata_inventory_move, allow_metadata_inventory_move = allow_metadata_inventory_move,
allow_metadata_inventory_take = allow_metadata_inventory_take, allow_metadata_inventory_take = allow_metadata_inventory_take
}) })
minetest.register_node("default:furnace_active", { minetest.register_node("default:furnace_active", {
description = "Furnace",
tiles = { tiles = {
"default_furnace_top.png", "default_furnace_top.png", "default_furnace_top.png", "default_furnace_top.png",
"default_furnace_side.png", "default_furnace_side.png", "default_furnace_side.png", "default_furnace_side.png",
@ -327,5 +326,5 @@ minetest.register_node("default:furnace_active", {
allow_metadata_inventory_put = allow_metadata_inventory_put, allow_metadata_inventory_put = allow_metadata_inventory_put,
allow_metadata_inventory_move = allow_metadata_inventory_move, allow_metadata_inventory_move = allow_metadata_inventory_move,
allow_metadata_inventory_take = allow_metadata_inventory_take, allow_metadata_inventory_take = allow_metadata_inventory_take
}) })

View File

@ -8,9 +8,9 @@ minetest.register_node("default:stone", {
description = "Stone", description = "Stone",
tiles = {"default_stone.png"}, tiles = {"default_stone.png"},
groups = {cracky = 3, stone = 1}, groups = {cracky = 3, stone = 1},
drop = 'default:cobble', drop = "default:cobble",
legacy_mineral = true, legacy_mineral = true,
sounds = default.node_sound_stone_defaults(), sounds = default.node_sound_stone_defaults()
}) })
minetest.register_node("default:cobble", { minetest.register_node("default:cobble", {
@ -18,7 +18,7 @@ minetest.register_node("default:cobble", {
tiles = {"default_cobble.png"}, tiles = {"default_cobble.png"},
is_ground_content = false, is_ground_content = false,
groups = {cracky = 3, stone = 2}, groups = {cracky = 3, stone = 2},
sounds = default.node_sound_stone_defaults(), sounds = default.node_sound_stone_defaults()
}) })
minetest.register_node("default:stonebrick", { minetest.register_node("default:stonebrick", {
@ -28,7 +28,7 @@ minetest.register_node("default:stonebrick", {
tiles = {"default_stone_brick.png"}, tiles = {"default_stone_brick.png"},
is_ground_content = false, is_ground_content = false,
groups = {cracky = 2, stone = 1}, groups = {cracky = 2, stone = 1},
sounds = default.node_sound_stone_defaults(), sounds = default.node_sound_stone_defaults()
}) })
minetest.register_node("default:mossycobble", { minetest.register_node("default:mossycobble", {
@ -36,77 +36,77 @@ minetest.register_node("default:mossycobble", {
tiles = {"default_mossycobble.png"}, tiles = {"default_mossycobble.png"},
is_ground_content = false, is_ground_content = false,
groups = {cracky = 3, stone = 1}, groups = {cracky = 3, stone = 1},
sounds = default.node_sound_stone_defaults(), sounds = default.node_sound_stone_defaults()
}) })
minetest.register_node("default:stonebrickcarved", { minetest.register_node("default:stonebrickcarved", {
description = "Stone Brick Carved", description = "Stone Brick Carved",
tiles = {"default_stonebrick_carved.png"}, tiles = {"default_stonebrick_carved.png"},
groups = {cracky = 3, stone = 1}, groups = {cracky = 3, stone = 1},
sounds = default.node_sound_stone_defaults(), sounds = default.node_sound_stone_defaults()
}) })
minetest.register_node("default:stonebrickcracked", { minetest.register_node("default:stonebrickcracked", {
description = "Stone Brick Cracked", description = "Stone Brick Cracked",
tiles = {"default_stonebrick_cracked.png"}, tiles = {"default_stonebrick_cracked.png"},
groups = {cracky = 3, stone = 1}, groups = {cracky = 3, stone = 1},
sounds = default.node_sound_stone_defaults(), sounds = default.node_sound_stone_defaults()
}) })
minetest.register_node("default:stonebrickmossy", { minetest.register_node("default:stonebrickmossy", {
description = "Mossy Stone Brick", description = "Mossy Stone Brick",
tiles = {"default_stonebrick_mossy.png"}, tiles = {"default_stonebrick_mossy.png"},
groups = {cracky = 3, stone = 1}, groups = {cracky = 3, stone = 1},
sounds = default.node_sound_stone_defaults(), sounds = default.node_sound_stone_defaults()
}) })
minetest.register_node("default:sandstone", { minetest.register_node("default:sandstone", {
description = "Sandstone", description = "Sandstone",
tiles = {"default_sandstone_top.png", "default_sandstone_bottom.png", "default_sandstone_normal.png"}, tiles = {"default_sandstone_top.png", "default_sandstone_bottom.png", "default_sandstone_normal.png"},
groups = {crumbly = 1, cracky = 3}, groups = {crumbly = 1, cracky = 3},
sounds = default.node_sound_stone_defaults(), sounds = default.node_sound_stone_defaults()
}) })
minetest.register_node("default:sandstonesmooth", { minetest.register_node("default:sandstonesmooth", {
description = "Smooth Sandstone", description = "Smooth Sandstone",
tiles = {"default_sandstone_top.png", "default_sandstone_bottom.png", "default_sandstone_smooth.png"}, tiles = {"default_sandstone_top.png", "default_sandstone_bottom.png", "default_sandstone_smooth.png"},
groups = {crumbly = 2, cracky = 2}, groups = {crumbly = 2, cracky = 2},
sounds = default.node_sound_stone_defaults(), sounds = default.node_sound_stone_defaults()
}) })
minetest.register_node("default:redsandstone", { minetest.register_node("default:redsandstone", {
description = "Red SandStone", description = "Red Sandstone",
tiles = {"default_redsandstone_top.png", "default_redsandstone_bottom.png", "default_redsandstone_normal.png"}, tiles = {"default_redsandstone_top.png", "default_redsandstone_bottom.png", "default_redsandstone_normal.png"},
groups = {crumbly = 2, cracky = 2}, groups = {crumbly = 2, cracky = 2},
sounds = default.node_sound_stone_defaults(), sounds = default.node_sound_stone_defaults()
}) })
minetest.register_node("default:redsandstonesmooth", { minetest.register_node("default:redsandstonesmooth", {
description = "Red SandStone Smooth", description = "Red Sandstone Smooth",
tiles = {"default_redsandstone_top.png", "default_redsandstone_bottom.png", "default_redsandstone_smooth.png"}, tiles = {"default_redsandstone_top.png", "default_redsandstone_bottom.png", "default_redsandstone_smooth.png"},
groups = {crumbly = 2, cracky = 2}, groups = {crumbly = 2, cracky = 2},
sounds = default.node_sound_stone_defaults(), sounds = default.node_sound_stone_defaults()
}) })
minetest.register_node("default:redsandstonecarved", { minetest.register_node("default:redsandstonecarved", {
description = "Red SandStone Carved", description = "Red Sandstone Carved",
tiles = {"default_redsandstone_top.png", "default_redsandstone_bottom.png", "default_redsandstone_carved.png"}, tiles = {"default_redsandstone_top.png", "default_redsandstone_bottom.png", "default_redsandstone_carved.png"},
groups = {crumbly = 2, cracky = 2}, groups = {crumbly = 2, cracky = 2},
sounds = default.node_sound_stone_defaults(), sounds = default.node_sound_stone_defaults()
}) })
minetest.register_node("default:obsidian", { minetest.register_node("default:obsidian", {
description = "Obsidian", description = "Obsidian",
tiles = {"default_obsidian.png"}, tiles = {"default_obsidian.png"},
sounds = default.node_sound_stone_defaults(),
groups = {cracky = 3, level = 2, oddly_breakable_by_hand = 3}, groups = {cracky = 3, level = 2, oddly_breakable_by_hand = 3},
sounds = default.node_sound_stone_defaults()
}) })
minetest.register_node("default:bedrock", { minetest.register_node("default:bedrock", {
description = "Bedrock", description = "Bedrock",
tiles = {"default_bedrock.png"}, tiles = {"default_bedrock.png"},
groups = {oddly_breakable_by_hand = 5, speed = -30, not_in_creative_inventory = 1}, groups = {oddly_breakable_by_hand = 5, speed = -30, not_in_creative_inventory = 1},
sounds = default.node_sound_stone_defaults(), sounds = default.node_sound_stone_defaults()
}) })
-- --
@ -124,27 +124,26 @@ minetest.register_node("default:dirt", {
{items = {"default:dirt"}} {items = {"default:dirt"}}
} }
}, },
sounds = default.node_sound_dirt_defaults(), sounds = default.node_sound_dirt_defaults()
}) })
minetest.register_node("default:dirt_with_grass", { minetest.register_node("default:dirt_with_grass", {
description = "Dirt with Grass", description = "Dirt with Grass",
tiles = {"default_grass.png", "default_dirt.png", "default_grass_side.png"}, tiles = {"default_grass.png", "default_dirt.png", "default_grass_side.png"},
groups = {crumbly = 3, soil = 1, spreading_dirt_type = 1}, groups = {crumbly = 3, soil = 1, spreading_dirt_type = 1},
drop = 'default:dirt', drop = "default:dirt",
sounds = default.node_sound_dirt_defaults({ sounds = default.node_sound_dirt_defaults({
footstep = {name = "default_grass_footstep", gain = 0.25}, footstep = {name = "default_grass_footstep", gain = 0.25}
}), })
}) })
minetest.register_node("default:dirt_with_grass_footsteps", { minetest.register_node("default:dirt_with_grass_footsteps", {
description = "Dirt with Grass and Footsteps",
tiles = {"default_grass.png", "default_dirt.png", "default_dirt.png^default_grass_side.png"}, tiles = {"default_grass.png", "default_dirt.png", "default_dirt.png^default_grass_side.png"},
groups = {crumbly = 3, soil = 1, not_in_creative_inventory = 1}, groups = {crumbly = 3, soil = 1, not_in_creative_inventory = 1},
drop = 'default:dirt', drop = "default:dirt",
sounds = default.node_sound_dirt_defaults({ sounds = default.node_sound_dirt_defaults({
footstep = {name = "default_grass_footstep", gain = 0.25}, footstep = {name = "default_grass_footstep", gain = 0.25}
}), })
}) })
minetest.register_node("default:dirt_with_dry_grass", { minetest.register_node("default:dirt_with_dry_grass", {
@ -152,10 +151,10 @@ minetest.register_node("default:dirt_with_dry_grass", {
tiles = {"default_dry_grass.png", "default_dirt.png", tiles = {"default_dry_grass.png", "default_dirt.png",
"default_dry_grass_side.png"}, "default_dry_grass_side.png"},
groups = {crumbly = 3, soil = 1, spreading_dirt_type = 1}, groups = {crumbly = 3, soil = 1, spreading_dirt_type = 1},
drop = 'default:dirt', drop = "default:dirt",
sounds = default.node_sound_dirt_defaults({ sounds = default.node_sound_dirt_defaults({
footstep = {name = "default_grass_footstep", gain = 0.4}, footstep = {name = "default_grass_footstep", gain = 0.4}
}), })
}) })
minetest.register_node("default:dirt_with_snow", { minetest.register_node("default:dirt_with_snow", {
@ -163,17 +162,17 @@ minetest.register_node("default:dirt_with_snow", {
tiles = {"default_snow.png", "default_dirt.png", tiles = {"default_snow.png", "default_dirt.png",
"default_snow_side.png"}, "default_snow_side.png"},
groups = {crumbly = 3, soil = 1, spreading_dirt_type = 1, snowy = 1}, groups = {crumbly = 3, soil = 1, spreading_dirt_type = 1, snowy = 1},
drop = 'default:dirt', drop = "default:dirt",
sounds = default.node_sound_dirt_defaults({ sounds = default.node_sound_dirt_defaults({
footstep = {name = "default_snow_footstep", gain = 0.4}, footstep = {name = "default_snow_footstep", gain = 0.4}
}), })
}) })
minetest.register_node("default:sand", { minetest.register_node("default:sand", {
description = "Sand", description = "Sand",
tiles = {"default_sand.png"}, tiles = {"default_sand.png"},
groups = {crumbly = 3, falling_node = 1, sand = 1}, groups = {crumbly = 3, falling_node = 1, sand = 1},
sounds = default.node_sound_sand_defaults(), sounds = default.node_sound_sand_defaults()
}) })
minetest.register_node("default:gravel", { minetest.register_node("default:gravel", {
@ -184,25 +183,25 @@ minetest.register_node("default:gravel", {
drop = { drop = {
max_items = 1, max_items = 1,
items = { items = {
{items = {'default:flint'}, rarity = 8}, {items = {"default:flint"}, rarity = 8},
{items = {'default:gravel'}} {items = {"default:gravel"}}
}
} }
},
}) })
minetest.register_node("default:redsand", { minetest.register_node("default:redsand", {
description = "Red Sand", description = "Red Sand",
tiles = {"default_red_sand.png"}, tiles = {"default_red_sand.png"},
groups = {crumbly = 3, falling_node = 1, redsand = 1}, groups = {crumbly = 3, falling_node = 1, redsand = 1},
sounds = default.node_sound_sand_defaults(), sounds = default.node_sound_sand_defaults()
}) })
minetest.register_node("default:clay", { minetest.register_node("default:clay", {
description = "Clay", description = "Clay",
tiles = {"default_clay.png"}, tiles = {"default_clay.png"},
groups = {crumbly = 3}, groups = {crumbly = 3},
drop = 'default:clay_lump 4', drop = "default:clay_lump 4",
sounds = default.node_sound_dirt_defaults(), sounds = default.node_sound_dirt_defaults()
}) })
minetest.register_node("default:hardened_clay", { minetest.register_node("default:hardened_clay", {
@ -210,7 +209,7 @@ minetest.register_node("default:hardened_clay", {
tiles = {"hardened_clay.png"}, tiles = {"hardened_clay.png"},
is_ground_content = false, is_ground_content = false,
groups = {cracky = 3, hardened_clay = 1}, groups = {cracky = 3, hardened_clay = 1},
sounds = default.node_sound_defaults(), sounds = default.node_sound_defaults()
}) })
@ -225,8 +224,8 @@ minetest.register_node("default:snow", {
node_box = { node_box = {
type = "fixed", type = "fixed",
fixed = { fixed = {
{-0.5, -0.5, -0.5, 0.5, -0.5+2/16, 0.5}, {-0.5, -0.5, -0.5, 0.5, -0.5+2/16, 0.5}
}, }
}, },
groups = {crumbly = 3, falling_node = 1, snowy = 1, puts_out_fire = 1, misc = 1, speed = -30, not_in_creative_inventory = 1}, groups = {crumbly = 3, falling_node = 1, snowy = 1, puts_out_fire = 1, misc = 1, speed = -30, not_in_creative_inventory = 1},
sounds = default.node_sound_snow_defaults(), sounds = default.node_sound_snow_defaults(),
@ -237,13 +236,13 @@ minetest.register_node("default:snow", {
if minetest.get_node(pos).name == "default:dirt_with_grass" then if minetest.get_node(pos).name == "default:dirt_with_grass" then
minetest.set_node(pos, {name = "default:dirt_with_snow"}) minetest.set_node(pos, {name = "default:dirt_with_snow"})
end end
end, end
}) })
minetest.register_node("default:snowblock", { minetest.register_node("default:snowblock", {
description = "Snow Block", description = "Snow Block",
tiles = {"default_snow.png"}, tiles = {"default_snow.png"},
groups = {crumbly = 3, cools_lava = 1, snowy = 1, speed = -30}, groups = {crumbly = 3, cools_lava = 1, melting = 1, speed = -30},
sounds = default.node_sound_snow_defaults(), sounds = default.node_sound_snow_defaults(),
drop = "default:snowball 4", drop = "default:snowball 4",
on_construct = function(pos) on_construct = function(pos)
@ -251,7 +250,7 @@ minetest.register_node("default:snowblock", {
if minetest.get_node(pos).name == "default:dirt_with_grass" then if minetest.get_node(pos).name == "default:dirt_with_grass" then
minetest.set_node(pos, {name = "default:dirt_with_snow"}) minetest.set_node(pos, {name = "default:dirt_with_snow"})
end end
end, end
}) })
minetest.register_node("default:ice", { minetest.register_node("default:ice", {
@ -261,8 +260,8 @@ minetest.register_node("default:ice", {
is_ground_content = false, is_ground_content = false,
paramtype = "light", paramtype = "light",
use_texture_alpha = true, use_texture_alpha = true,
groups = {cracky = 3, cools_lava = 1, slippery = 3}, groups = {cracky = 3, cools_lava = 1, melting = 1, slippery = 3},
sounds = default.node_sound_glass_defaults(), sounds = default.node_sound_glass_defaults()
}) })
minetest.register_node("default:packedice", { minetest.register_node("default:packedice", {
@ -271,8 +270,8 @@ minetest.register_node("default:packedice", {
tiles = {"default_ice_packed.png"}, tiles = {"default_ice_packed.png"},
paramtype = "light", paramtype = "light",
use_texture_alpha = true, use_texture_alpha = true,
groups = {cracky = 3, cools_lava = 1, slippery = 3}, groups = {cracky = 3, cools_lava = 1, melting = 1, slippery = 3},
sounds = default.node_sound_glass_defaults(), sounds = default.node_sound_glass_defaults()
}) })
-- --
@ -297,7 +296,7 @@ minetest.register_node("default:wood", {
tiles = {"default_wood.png"}, tiles = {"default_wood.png"},
is_ground_content = false, is_ground_content = false,
groups = {choppy = 2, oddly_breakable_by_hand = 2, flammable = 2, wood = 1}, groups = {choppy = 2, oddly_breakable_by_hand = 2, flammable = 2, wood = 1},
sounds = default.node_sound_wood_defaults(), sounds = default.node_sound_wood_defaults()
}) })
minetest.register_node("default:sapling", { minetest.register_node("default:sapling", {
@ -333,7 +332,7 @@ minetest.register_node("default:sapling", {
4) 4)
return itemstack return itemstack
end, end
}) })
minetest.register_node("default:leaves", { minetest.register_node("default:leaves", {
@ -350,19 +349,19 @@ minetest.register_node("default:leaves", {
items = { items = {
{ {
-- player will get sapling with 1/20 chance -- player will get sapling with 1/20 chance
items = {'default:sapling'}, items = {"default:sapling"},
rarity = 20, rarity = 20
}, },
{ {
-- player will get leaves only if he get no saplings, -- player will get leaves only if he get no saplings,
-- this is because max_items is 1 -- this is because max_items is 1
items = {'default:leaves'}, items = {"default:leaves"}
} }
} }
}, },
sounds = default.node_sound_leaves_defaults(), sounds = default.node_sound_leaves_defaults(),
after_place_node = default.after_place_leaves, after_place_node = default.after_place_leaves
}) })
minetest.register_node("default:apple", { minetest.register_node("default:apple", {
@ -386,7 +385,7 @@ minetest.register_node("default:apple", {
after_place_node = function(pos, placer, itemstack) after_place_node = function(pos, placer, itemstack)
minetest.set_node(pos, {name = "default:apple", param2 = 1}) minetest.set_node(pos, {name = "default:apple", param2 = 1})
end, end
}) })
minetest.register_node("default:apple_gold", { minetest.register_node("default:apple_gold", {
@ -404,7 +403,7 @@ minetest.register_node("default:apple_gold", {
}, },
groups = {fleshy = 3, dig_immediate = 3, flammable = 2, foodstuffs = 1, food = 1}, groups = {fleshy = 3, dig_immediate = 3, flammable = 2, foodstuffs = 1, food = 1},
on_use = minetest.item_eat(8), on_use = minetest.item_eat(8),
sounds = default.node_sound_defaults(), sounds = default.node_sound_defaults()
}) })
@ -427,7 +426,7 @@ minetest.register_node("default:junglewood", {
tiles = {"default_junglewood.png"}, tiles = {"default_junglewood.png"},
is_ground_content = false, is_ground_content = false,
groups = {choppy = 2, oddly_breakable_by_hand = 2, flammable = 2, wood = 1}, groups = {choppy = 2, oddly_breakable_by_hand = 2, flammable = 2, wood = 1},
sounds = default.node_sound_wood_defaults(), sounds = default.node_sound_wood_defaults()
}) })
minetest.register_node("default:jungleleaves", { minetest.register_node("default:jungleleaves", {
@ -442,13 +441,13 @@ minetest.register_node("default:jungleleaves", {
drop = { drop = {
max_items = 1, max_items = 1,
items = { items = {
{items = {'default:junglesapling'}, rarity = 20}, {items = {"default:junglesapling"}, rarity = 20},
{items = {'default:jungleleaves'}} {items = {"default:jungleleaves"}}
} }
}, },
sounds = default.node_sound_leaves_defaults(), sounds = default.node_sound_leaves_defaults(),
after_place_node = default.after_place_leaves, after_place_node = default.after_place_leaves
}) })
minetest.register_node("default:junglesapling", { minetest.register_node("default:junglesapling", {
@ -484,7 +483,7 @@ minetest.register_node("default:junglesapling", {
4) 4)
return itemstack return itemstack
end, end
}) })
@ -507,7 +506,7 @@ minetest.register_node("default:pine_wood", {
tiles = {"default_pine_wood.png"}, tiles = {"default_pine_wood.png"},
is_ground_content = false, is_ground_content = false,
groups = {choppy = 3, oddly_breakable_by_hand = 2, flammable = 3, wood = 1}, groups = {choppy = 3, oddly_breakable_by_hand = 2, flammable = 3, wood = 1},
sounds = default.node_sound_wood_defaults(), sounds = default.node_sound_wood_defaults()
}) })
minetest.register_node("default:pine_needles",{ minetest.register_node("default:pine_needles",{
@ -527,7 +526,7 @@ minetest.register_node("default:pine_needles",{
}, },
sounds = default.node_sound_leaves_defaults(), sounds = default.node_sound_leaves_defaults(),
after_place_node = default.after_place_leaves, after_place_node = default.after_place_leaves
}) })
minetest.register_node("default:pine_sapling", { minetest.register_node("default:pine_sapling", {
@ -563,7 +562,7 @@ minetest.register_node("default:pine_sapling", {
4) 4)
return itemstack return itemstack
end, end
}) })
@ -586,7 +585,7 @@ minetest.register_node("default:acacia_wood", {
tiles = {"default_acacia_wood.png"}, tiles = {"default_acacia_wood.png"},
is_ground_content = false, is_ground_content = false,
groups = {choppy = 2, oddly_breakable_by_hand = 2, flammable = 2, wood = 1}, groups = {choppy = 2, oddly_breakable_by_hand = 2, flammable = 2, wood = 1},
sounds = default.node_sound_wood_defaults(), sounds = default.node_sound_wood_defaults()
}) })
minetest.register_node("default:acacia_leaves", { minetest.register_node("default:acacia_leaves", {
@ -607,7 +606,7 @@ minetest.register_node("default:acacia_leaves", {
}, },
sounds = default.node_sound_leaves_defaults(), sounds = default.node_sound_leaves_defaults(),
after_place_node = default.after_place_leaves, after_place_node = default.after_place_leaves
}) })
minetest.register_node("default:acacia_sapling", { minetest.register_node("default:acacia_sapling", {
@ -643,7 +642,7 @@ minetest.register_node("default:acacia_sapling", {
4) 4)
return itemstack return itemstack
end, end
}) })
minetest.register_node("default:birch_tree", { minetest.register_node("default:birch_tree", {
@ -731,8 +730,8 @@ minetest.register_node("default:stone_with_coal", {
description = "Coal Ore", description = "Coal Ore",
tiles = {"default_stone.png^default_mineral_coal.png"}, tiles = {"default_stone.png^default_mineral_coal.png"},
groups = {cracky = 3}, groups = {cracky = 3},
drop = 'default:coal_lump', drop = "default:coal_lump",
sounds = default.node_sound_stone_defaults(), sounds = default.node_sound_stone_defaults()
}) })
minetest.register_node("default:coalblock", { minetest.register_node("default:coalblock", {
@ -740,15 +739,15 @@ minetest.register_node("default:coalblock", {
tiles = {"default_coal_block.png"}, tiles = {"default_coal_block.png"},
is_ground_content = false, is_ground_content = false,
groups = {cracky = 3}, groups = {cracky = 3},
sounds = default.node_sound_stone_defaults(), sounds = default.node_sound_stone_defaults()
}) })
minetest.register_node("default:stone_with_iron", { minetest.register_node("default:stone_with_iron", {
description = "Iron Ore", description = "Iron Ore",
tiles = {"default_stone.png^default_mineral_iron.png"}, tiles = {"default_stone.png^default_mineral_iron.png"},
groups = {cracky = 2}, groups = {cracky = 2},
drop = 'default:stone_with_iron', drop = "default:stone_with_iron",
sounds = default.node_sound_stone_defaults(), sounds = default.node_sound_stone_defaults()
}) })
minetest.register_node("default:steelblock", { minetest.register_node("default:steelblock", {
@ -756,14 +755,14 @@ minetest.register_node("default:steelblock", {
tiles = {"default_steel_block.png"}, tiles = {"default_steel_block.png"},
is_ground_content = false, is_ground_content = false,
groups = {cracky = 1, level = 2}, groups = {cracky = 1, level = 2},
sounds = default.node_sound_stone_defaults(), sounds = default.node_sound_stone_defaults()
}) })
minetest.register_node("default:lapisblock", { minetest.register_node("default:lapisblock", {
description = "Lapis Lazul Block", description = "Lapis Lazuli Block",
tiles = {"default_lapis_block.png"}, tiles = {"default_lapis_block.png"},
groups = {cracky = 1}, groups = {cracky = 1},
sounds = default.node_sound_stone_defaults(), sounds = default.node_sound_stone_defaults()
}) })
minetest.register_node("default:stone_with_bluestone", { minetest.register_node("default:stone_with_bluestone", {
@ -771,7 +770,7 @@ minetest.register_node("default:stone_with_bluestone", {
tiles = {"default_stone.png^default_mineral_bluestone.png"}, tiles = {"default_stone.png^default_mineral_bluestone.png"},
groups = {cracky = 2}, groups = {cracky = 2},
drop = "mesecons:wire_00000000_off 8", drop = "mesecons:wire_00000000_off 8",
sounds = default.node_sound_stone_defaults(), sounds = default.node_sound_stone_defaults()
}) })
minetest.register_node("default:stone_with_lapis", { minetest.register_node("default:stone_with_lapis", {
@ -781,14 +780,14 @@ minetest.register_node("default:stone_with_lapis", {
drop = { drop = {
max_items = 2, max_items = 2,
items = { items = {
{items = {'dye:blue 5'}, rarity = 16}, {items = {"dye:blue 5"}, rarity = 16},
{items = {'dye:blue 4'}, rarity = 12}, {items = {"dye:blue 4"}, rarity = 12},
{items = {'dye:blue 3'}, rarity = 8}, {items = {"dye:blue 3"}, rarity = 8},
{items = {'dye:blue 2'}, rarity = 6}, {items = {"dye:blue 2"}, rarity = 6},
{items = {'dye:blue 1'}, rarity = 1}, {items = {"dye:blue 1"}, rarity = 1}
} }
}, },
sounds = default.node_sound_stone_defaults(), sounds = default.node_sound_stone_defaults()
}) })
@ -797,7 +796,7 @@ minetest.register_node("default:stone_with_gold", {
tiles = {"default_stone.png^default_mineral_gold.png"}, tiles = {"default_stone.png^default_mineral_gold.png"},
groups = {cracky = 2}, groups = {cracky = 2},
drop = "default:stone_with_gold", drop = "default:stone_with_gold",
sounds = default.node_sound_stone_defaults(), sounds = default.node_sound_stone_defaults()
}) })
minetest.register_node("default:goldblock", { minetest.register_node("default:goldblock", {
@ -805,7 +804,7 @@ minetest.register_node("default:goldblock", {
tiles = {"default_gold_block.png"}, tiles = {"default_gold_block.png"},
is_ground_content = false, is_ground_content = false,
groups = {cracky = 1}, groups = {cracky = 1},
sounds = default.node_sound_stone_defaults(), sounds = default.node_sound_stone_defaults()
}) })
minetest.register_node("default:stone_with_emerald", { minetest.register_node("default:stone_with_emerald", {
@ -813,14 +812,14 @@ minetest.register_node("default:stone_with_emerald", {
tiles = {"default_stone.png^default_mineral_emerald.png"}, tiles = {"default_stone.png^default_mineral_emerald.png"},
groups = {cracky = 2}, groups = {cracky = 2},
drop = "default:emerald", drop = "default:emerald",
sounds = default.node_sound_stone_defaults(), sounds = default.node_sound_stone_defaults()
}) })
minetest.register_node("default:emeraldblock", { minetest.register_node("default:emeraldblock", {
description = "Emerald Block", description = "Emerald Block",
tiles = {"default_emerald_block.png"}, tiles = {"default_emerald_block.png"},
groups = {cracky = 1}, groups = {cracky = 1},
sounds = default.node_sound_stone_defaults(), sounds = default.node_sound_stone_defaults()
}) })
minetest.register_node("default:stone_with_diamond", { minetest.register_node("default:stone_with_diamond", {
@ -828,7 +827,7 @@ minetest.register_node("default:stone_with_diamond", {
tiles = {"default_stone.png^default_mineral_diamond.png"}, tiles = {"default_stone.png^default_mineral_diamond.png"},
groups = {cracky = 1}, groups = {cracky = 1},
drop = "default:diamond", drop = "default:diamond",
sounds = default.node_sound_stone_defaults(), sounds = default.node_sound_stone_defaults()
}) })
minetest.register_node("default:diamondblock", { minetest.register_node("default:diamondblock", {
@ -836,7 +835,7 @@ minetest.register_node("default:diamondblock", {
tiles = {"default_diamond_block.png"}, tiles = {"default_diamond_block.png"},
is_ground_content = false, is_ground_content = false,
groups = {cracky = 1, level = 3}, groups = {cracky = 1, level = 3},
sounds = default.node_sound_stone_defaults(), sounds = default.node_sound_stone_defaults()
}) })
-- --
@ -848,7 +847,7 @@ minetest.register_node("default:cactus", {
drawtype = "nodebox", drawtype = "nodebox",
tiles = {"default_cactus_top.png", "default_cactus_bottom.png", "default_cactus_side.png"}, tiles = {"default_cactus_top.png", "default_cactus_bottom.png", "default_cactus_side.png"},
paramtype2 = "facedir", paramtype2 = "facedir",
groups = {choppy = 3, flammable = 2, attached_node = 1}, groups = {choppy = 3, flammable = 2, attached_node = 1, flora = 1},
sounds = default.node_sound_wood_defaults(), sounds = default.node_sound_wood_defaults(),
node_box = { node_box = {
type = "fixed", type = "fixed",
@ -857,15 +856,15 @@ minetest.register_node("default:cactus", {
{-8/16, -8/16, -7/16, 8/16, 8/16, -7/16}, -- Spikes {-8/16, -8/16, -7/16, 8/16, 8/16, -7/16}, -- Spikes
{-8/16, -8/16, 7/16, 8/16, 8/16, 7/16}, -- Spikes {-8/16, -8/16, 7/16, 8/16, 8/16, 7/16}, -- Spikes
{-7/16, -8/16, -8/16, -7/16, 8/16, 8/16}, -- Spikes {-7/16, -8/16, -8/16, -7/16, 8/16, 8/16}, -- Spikes
{7/16, -8/16, 8/16, 7/16, 8/16, -8/16}, -- Spikes {7/16, -8/16, 8/16, 7/16, 8/16, -8/16} -- Spikes
}, }
}, },
selection_box = { selection_box = {
type = "fixed", type = "fixed",
fixed = { fixed = {
{-7/16, -8/16, -7/16, 7/16, 8/16, 7/16}, {-7/16, -8/16, -7/16, 7/16, 8/16, 7/16}
}, }
}, }
}) })
minetest.register_node("default:sugarcane", { minetest.register_node("default:sugarcane", {
@ -881,12 +880,12 @@ minetest.register_node("default:sugarcane", {
type = "fixed", type = "fixed",
fixed = {-0.3, -0.5, -0.3, 0.3, 0.5, 0.3} fixed = {-0.3, -0.5, -0.3, 0.3, 0.5, 0.3}
}, },
groups = {snappy = 3, flammable = 2}, groups = {snappy = 3, flammable = 2, flora = 1},
sounds = default.node_sound_leaves_defaults(), sounds = default.node_sound_leaves_defaults(),
after_dig_node = function(pos, node, metadata, digger) after_dig_node = function(pos, node, metadata, digger)
default.dig_up(pos, node, digger) default.dig_up(pos, node, digger)
end, end
}) })
minetest.register_node("default:dry_shrub", { minetest.register_node("default:dry_shrub", {
@ -905,7 +904,7 @@ minetest.register_node("default:dry_shrub", {
selection_box = { selection_box = {
type = "fixed", type = "fixed",
fixed = {-1/3, -1/2, -1/3, 1/3, 1/6, 1/3}, fixed = {-1/3, -1/2, -1/3, 1/3, 1/6, 1/3},
}, }
}) })
minetest.register_node("default:junglegrass", { minetest.register_node("default:junglegrass", {
@ -925,10 +924,10 @@ minetest.register_node("default:junglegrass", {
drop = { drop = {
max_items = 1, max_items = 1,
items = { items = {
--{items = {'farming:seed_cotton'}, rarity = 8}, --{items = {"farming:seed_cotton"}, rarity = 8},
{items = {'default:junglegrass'}}, {items = {"default:junglegrass"}}
}
} }
},
}) })
minetest.register_node("default:grass", { minetest.register_node("default:grass", {
@ -945,15 +944,14 @@ minetest.register_node("default:grass", {
drop = { drop = {
max_items = 1, max_items = 1,
items = { items = {
{items = {'farming:seed_wheat'}, rarity = 5}, {items = {"farming:seed_wheat"}, rarity = 5},
{items = {'default:grass'}}, {items = {"default:grass"}}
} }
}, },
groups = {snappy = 3, flora = 1, attached_node = 1, grass = 1, groups = {snappy = 3, flora = 1, attached_node = 1, grass = 1,
flammable = 1, dig_immediate = 3}, flammable = 1, dig_immediate = 3},
sounds = default.node_sound_leaves_defaults(), sounds = default.node_sound_leaves_defaults()
}) })
@ -970,7 +968,7 @@ minetest.register_node("default:dry_grass", {
buildable_to = true, buildable_to = true,
groups = {snappy = 3, flammable = 3, flora = 1, attached_node = 1, groups = {snappy = 3, flammable = 3, flora = 1, attached_node = 1,
dry_grass = 1, dig_immediate = 3}, dry_grass = 1, dig_immediate = 3},
sounds = default.node_sound_leaves_defaults(), sounds = default.node_sound_leaves_defaults()
}) })
-- --
@ -978,7 +976,6 @@ minetest.register_node("default:dry_grass", {
-- --
minetest.register_node("default:water_source", { minetest.register_node("default:water_source", {
description = "Water Source",
drawtype = "liquid", drawtype = "liquid",
waving = 3, waving = 3,
tiles = { tiles = {
@ -989,8 +986,8 @@ minetest.register_node("default:water_source", {
type = "vertical_frames", type = "vertical_frames",
aspect_w = 32, aspect_w = 32,
aspect_h = 32, aspect_h = 32,
length = 2.0, length = 2.0
}, }
}, },
{ {
name = "default_water_source_animated.png", name = "default_water_source_animated.png",
@ -999,9 +996,9 @@ minetest.register_node("default:water_source", {
type = "vertical_frames", type = "vertical_frames",
aspect_w = 32, aspect_w = 32,
aspect_h = 32, aspect_h = 32,
length = 2.0, length = 2.0
}, }
}, }
}, },
alpha = 160, alpha = 160,
paramtype = "light", paramtype = "light",
@ -1018,11 +1015,10 @@ minetest.register_node("default:water_source", {
liquid_viscosity = 1, liquid_viscosity = 1,
post_effect_color = {a = 103, r = 30, g = 60, b = 90}, post_effect_color = {a = 103, r = 30, g = 60, b = 90},
groups = {water = 3, liquid = 3, cools_lava = 1, not_in_creative_inventory = 1}, groups = {water = 3, liquid = 3, cools_lava = 1, not_in_creative_inventory = 1},
sounds = default.node_sound_water_defaults(), sounds = default.node_sound_water_defaults()
}) })
minetest.register_node("default:water_flowing", { minetest.register_node("default:water_flowing", {
description = "Flowing Water",
drawtype = "flowingliquid", drawtype = "flowingliquid",
waving = 3, waving = 3,
tiles = {"default_water.png"}, tiles = {"default_water.png"},
@ -1034,8 +1030,8 @@ minetest.register_node("default:water_flowing", {
type = "vertical_frames", type = "vertical_frames",
aspect_w = 32, aspect_w = 32,
aspect_h = 32, aspect_h = 32,
length = 0.8, length = 0.8
}, }
}, },
{ {
name = "default_water_flowing_animated.png", name = "default_water_flowing_animated.png",
@ -1044,9 +1040,9 @@ minetest.register_node("default:water_flowing", {
type = "vertical_frames", type = "vertical_frames",
aspect_w = 32, aspect_w = 32,
aspect_h = 32, aspect_h = 32,
length = 0.8, length = 0.8
}, }
}, }
}, },
alpha = 160, alpha = 160,
paramtype = "light", paramtype = "light",
@ -1065,12 +1061,11 @@ minetest.register_node("default:water_flowing", {
post_effect_color = {a = 103, r = 30, g = 60, b = 90}, post_effect_color = {a = 103, r = 30, g = 60, b = 90},
groups = {water = 3, liquid = 3, not_in_creative_inventory = 1, groups = {water = 3, liquid = 3, not_in_creative_inventory = 1,
cools_lava = 1}, cools_lava = 1},
sounds = default.node_sound_water_defaults(), sounds = default.node_sound_water_defaults()
}) })
minetest.register_node("default:river_water_source", { minetest.register_node("default:river_water_source", {
description = "River Water Source",
drawtype = "liquid", drawtype = "liquid",
tiles = { tiles = {
{ {
@ -1080,8 +1075,8 @@ minetest.register_node("default:river_water_source", {
type = "vertical_frames", type = "vertical_frames",
aspect_w = 32, aspect_w = 32,
aspect_h = 32, aspect_h = 32,
length = 2.0, length = 2.0
}, }
}, },
{ {
name = "default_river_water_source_animated.png", name = "default_river_water_source_animated.png",
@ -1090,9 +1085,9 @@ minetest.register_node("default:river_water_source", {
type = "vertical_frames", type = "vertical_frames",
aspect_w = 32, aspect_w = 32,
aspect_h = 32, aspect_h = 32,
length = 2.0, length = 2.0
}, }
}, }
}, },
alpha = 160, alpha = 160,
paramtype = "light", paramtype = "light",
@ -1111,11 +1106,10 @@ minetest.register_node("default:river_water_source", {
liquid_range = 2, liquid_range = 2,
post_effect_color = {a = 103, r = 30, g = 76, b = 90}, post_effect_color = {a = 103, r = 30, g = 76, b = 90},
groups = {water = 3, liquid = 3, cools_lava = 1, not_in_creative_inventory = 1}, groups = {water = 3, liquid = 3, cools_lava = 1, not_in_creative_inventory = 1},
sounds = default.node_sound_water_defaults(), sounds = default.node_sound_water_defaults()
}) })
minetest.register_node("default:river_water_flowing", { minetest.register_node("default:river_water_flowing", {
description = "Flowing River Water",
drawtype = "flowingliquid", drawtype = "flowingliquid",
tiles = {"default_river_water.png"}, tiles = {"default_river_water.png"},
special_tiles = { special_tiles = {
@ -1126,8 +1120,8 @@ minetest.register_node("default:river_water_flowing", {
type = "vertical_frames", type = "vertical_frames",
aspect_w = 32, aspect_w = 32,
aspect_h = 32, aspect_h = 32,
length = 0.8, length = 0.8
}, }
}, },
{ {
name = "default_river_water_flowing_animated.png", name = "default_river_water_flowing_animated.png",
@ -1136,9 +1130,9 @@ minetest.register_node("default:river_water_flowing", {
type = "vertical_frames", type = "vertical_frames",
aspect_w = 32, aspect_w = 32,
aspect_h = 32, aspect_h = 32,
length = 0.8, length = 0.8
}, }
}, }
}, },
alpha = 160, alpha = 160,
paramtype = "light", paramtype = "light",
@ -1159,12 +1153,11 @@ minetest.register_node("default:river_water_flowing", {
post_effect_color = {a = 103, r = 30, g = 76, b = 90}, post_effect_color = {a = 103, r = 30, g = 76, b = 90},
groups = {water = 3, liquid = 3, not_in_creative_inventory = 1, groups = {water = 3, liquid = 3, not_in_creative_inventory = 1,
cools_lava = 1}, cools_lava = 1},
sounds = default.node_sound_water_defaults(), sounds = default.node_sound_water_defaults()
}) })
minetest.register_node("default:lava_source", { minetest.register_node("default:lava_source", {
description = "Lava Source",
drawtype = "liquid", drawtype = "liquid",
tiles = { tiles = {
{ {
@ -1174,8 +1167,8 @@ minetest.register_node("default:lava_source", {
type = "vertical_frames", type = "vertical_frames",
aspect_w = 32, aspect_w = 32,
aspect_h = 32, aspect_h = 32,
length = 3.0, length = 3.0
}, }
}, },
{ {
name = "default_lava_source_animated.png", name = "default_lava_source_animated.png",
@ -1184,9 +1177,9 @@ minetest.register_node("default:lava_source", {
type = "vertical_frames", type = "vertical_frames",
aspect_w = 32, aspect_w = 32,
aspect_h = 32, aspect_h = 32,
length = 3.0, length = 3.0
}, }
}, }
}, },
paramtype = "light", paramtype = "light",
light_source = minetest.LIGHT_MAX - 1, light_source = minetest.LIGHT_MAX - 1,
@ -1208,7 +1201,6 @@ minetest.register_node("default:lava_source", {
}) })
minetest.register_node("default:lava_flowing", { minetest.register_node("default:lava_flowing", {
description = "Flowing Lava",
drawtype = "flowingliquid", drawtype = "flowingliquid",
tiles = {"default_lava.png"}, tiles = {"default_lava.png"},
special_tiles = { special_tiles = {
@ -1219,8 +1211,8 @@ minetest.register_node("default:lava_flowing", {
type = "vertical_frames", type = "vertical_frames",
aspect_w = 32, aspect_w = 32,
aspect_h = 32, aspect_h = 32,
length = 3.3, length = 3.3
}, }
}, },
{ {
name = "default_lava_flowing_animated.png", name = "default_lava_flowing_animated.png",
@ -1229,9 +1221,9 @@ minetest.register_node("default:lava_flowing", {
type = "vertical_frames", type = "vertical_frames",
aspect_w = 32, aspect_w = 32,
aspect_h = 32, aspect_h = 32,
length = 3.3, length = 3.3
}, }
}, }
}, },
paramtype = "light", paramtype = "light",
paramtype2 = "flowingliquid", paramtype2 = "flowingliquid",
@ -1348,7 +1340,7 @@ minetest.register_node("default:bookshelf", {
drops[#drops+1] = "default:bookshelf" drops[#drops+1] = "default:bookshelf"
minetest.remove_node(pos) minetest.remove_node(pos)
return drops return drops
end, end
}) })
@ -1372,7 +1364,7 @@ minetest.register_node("default:ladder_wood", {
}, },
groups = {choppy = 2, oddly_breakable_by_hand = 3, flammable = 2, attached_node = 1}, groups = {choppy = 2, oddly_breakable_by_hand = 3, flammable = 2, attached_node = 1},
legacy_wallmounted = true, legacy_wallmounted = true,
sounds = default.node_sound_wood_defaults(), sounds = default.node_sound_wood_defaults()
}) })
@ -1387,7 +1379,7 @@ default.register_fence("default:fence_wood", {
minetest.register_node("default:vine", { minetest.register_node("default:vine", {
description = "Vine", description = "Vines",
drawtype = "signlike", drawtype = "signlike",
tiles = {"default_vine.png"}, tiles = {"default_vine.png"},
inventory_image = "default_vine.png", inventory_image = "default_vine.png",
@ -1417,7 +1409,7 @@ minetest.register_node("default:vine", {
next_find = false next_find = false
end end
end end
end, end
}) })
@ -1431,7 +1423,7 @@ minetest.register_node("default:glass", {
is_ground_content = false, is_ground_content = false,
groups = {cracky = 3, oddly_breakable_by_hand = 3}, groups = {cracky = 3, oddly_breakable_by_hand = 3},
sounds = default.node_sound_glass_defaults(), sounds = default.node_sound_glass_defaults(),
drop = "", drop = ""
}) })
minetest.register_node("default:brick", { minetest.register_node("default:brick", {
@ -1441,7 +1433,7 @@ minetest.register_node("default:brick", {
tiles = {"default_brick.png"}, tiles = {"default_brick.png"},
is_ground_content = false, is_ground_content = false,
groups = {cracky = 3}, groups = {cracky = 3},
sounds = default.node_sound_stone_defaults(), sounds = default.node_sound_stone_defaults()
}) })
minetest.register_node("default:glowstone", { minetest.register_node("default:glowstone", {
@ -1452,14 +1444,14 @@ minetest.register_node("default:glowstone", {
--[[ drop = { --[[ drop = {
max_items = 1, max_items = 1,
items = { items = {
{items = {'default:glowdust 9'}, rarity = 7}, {items = {"default:glowdust 9"}, rarity = 7},
{items = {'default:glowdust 6'}, rarity = 5}, {items = {"default:glowdust 6"}, rarity = 5},
{items = {'default:glowdust 4'}, rarity = 3}, {items = {"default:glowdust 4"}, rarity = 3},
{items = {'default:glowdust 3'}, rarity = 2}, {items = {"default:glowdust 3"}, rarity = 2},
{items = {'default:glowdust 2'}}, {items = {"default:glowdust 2"}}
} }
},]] },]]
light_source = minetest.LIGHT_MAX - 3, light_source = minetest.LIGHT_MAX - 3
}) })
minetest.register_node("default:slimeblock", { minetest.register_node("default:slimeblock", {
@ -1477,7 +1469,7 @@ minetest.register_node("default:slimeblock", {
}, },
use_texture_alpha = true, use_texture_alpha = true,
sunlight_propagates = true, sunlight_propagates = true,
groups = {oddly_breakable_by_hand = 3, disable_jump = 1, fall_damage_add_percent = -100, speed = -60}, groups = {oddly_breakable_by_hand = 3, disable_jump = 1, fall_damage_add_percent = -100, speed = -60}
}) })
@ -1489,22 +1481,22 @@ minetest.register_node("default:quartz_ore", {
description = "Quartz Ore", description = "Quartz Ore",
tiles = {"default_quartz_ore.png"}, tiles = {"default_quartz_ore.png"},
groups = {cracky = 3, stone = 1}, groups = {cracky = 3, stone = 1},
drop = 'default:quartz_crystal', drop = "default:quartz_crystal",
sounds = default.node_sound_stone_defaults(), sounds = default.node_sound_stone_defaults()
}) })
minetest.register_node("default:quartz_block", { minetest.register_node("default:quartz_block", {
description = "Quartz Block", description = "Quartz Block",
tiles = {"default_quartz_block_top.png", "default_quartz_block_bottom.png", "default_quartz_block_side.png"}, tiles = {"default_quartz_block_top.png", "default_quartz_block_bottom.png", "default_quartz_block_side.png"},
groups = {snappy = 1, bendy = 2, cracky = 1}, groups = {snappy = 1, bendy = 2, cracky = 1},
sounds = default.node_sound_stone_defaults(), sounds = default.node_sound_stone_defaults()
}) })
minetest.register_node("default:quartz_chiseled", { minetest.register_node("default:quartz_chiseled", {
description = "Chiseled Quartz", description = "Chiseled Quartz",
tiles = {"default_quartz_chiseled_top.png", "default_quartz_chiseled_top.png", "default_quartz_chiseled_side.png"}, tiles = {"default_quartz_chiseled_top.png", "default_quartz_chiseled_top.png", "default_quartz_chiseled_side.png"},
groups = {snappy = 1, bendy = 2, cracky = 1}, groups = {snappy = 1, bendy = 2, cracky = 1},
sounds = default.node_sound_stone_defaults(), sounds = default.node_sound_stone_defaults()
}) })
minetest.register_node("default:quartz_pillar", { minetest.register_node("default:quartz_pillar", {
@ -1513,7 +1505,7 @@ minetest.register_node("default:quartz_pillar", {
on_place = minetest.rotate_node, on_place = minetest.rotate_node,
tiles = {"default_quartz_pillar_top.png", "default_quartz_pillar_top.png", "default_quartz_pillar_side.png"}, tiles = {"default_quartz_pillar_top.png", "default_quartz_pillar_top.png", "default_quartz_pillar_side.png"},
groups = {snappy = 1, bendy = 2, cracky = 1}, groups = {snappy = 1, bendy = 2, cracky = 1},
sounds = default.node_sound_stone_defaults(), sounds = default.node_sound_stone_defaults()
}) })
-- --
@ -1524,42 +1516,42 @@ if minetest.get_mapgen_setting("mg_name") == "v6" then
default.register_leafdecay({ default.register_leafdecay({
trunks = {"default:tree"}, trunks = {"default:tree"},
leaves = {"default:apple", "default:leaves"}, leaves = {"default:apple", "default:leaves"},
radius = 2, radius = 2
}) })
default.register_leafdecay({ default.register_leafdecay({
trunks = {"default:jungletree"}, trunks = {"default:jungletree"},
leaves = {"default:jungleleaves"}, leaves = {"default:jungleleaves"},
radius = 3, radius = 3
}) })
else else
default.register_leafdecay({ default.register_leafdecay({
trunks = {"default:tree"}, trunks = {"default:tree"},
leaves = {"default:apple", "default:leaves"}, leaves = {"default:apple", "default:leaves"},
radius = 3, radius = 3
}) })
default.register_leafdecay({ default.register_leafdecay({
trunks = {"default:jungletree"}, trunks = {"default:jungletree"},
leaves = {"default:jungleleaves"}, leaves = {"default:jungleleaves"},
radius = 2, radius = 2
}) })
end end
default.register_leafdecay({ default.register_leafdecay({
trunks = {"default:pine_tree"}, trunks = {"default:pine_tree"},
leaves = {"default:pine_needles"}, leaves = {"default:pine_needles"},
radius = 3, radius = 3
}) })
default.register_leafdecay({ default.register_leafdecay({
trunks = {"default:acacia_tree"}, trunks = {"default:acacia_tree"},
leaves = {"default:acacia_leaves"}, leaves = {"default:acacia_leaves"},
radius = 2, radius = 2
}) })
default.register_leafdecay({ default.register_leafdecay({
trunks = {"default:birch_tree"}, trunks = {"default:birch_tree"},
leaves = {"default:birch_leaves"}, leaves = {"default:birch_leaves"},
radius = 3, radius = 3
}) })

Binary file not shown.

Before

Width:  |  Height:  |  Size: 171 B

After

Width:  |  Height:  |  Size: 155 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 208 B

After

Width:  |  Height:  |  Size: 189 B

View File

@ -9,14 +9,14 @@ minetest.register_tool("default:pick_wood", {
inventory_image = "default_tool_woodpick.png", inventory_image = "default_tool_woodpick.png",
tool_capabilities = { tool_capabilities = {
full_punch_interval = 1.2, full_punch_interval = 1.2,
max_drop_level=0, max_drop_level = 0,
groupcaps={ groupcaps = {
cracky = {times={[3]=2.50}, uses=20, maxlevel=1}, cracky = {times = {[3]=2.50}, uses = 20, maxlevel = 1}
}, },
damage_groups = {fleshy=2}, damage_groups = {fleshy = 2}
}, },
groups = {flammable = 2}, groups = {flammable = 2},
sound = {breaks = "default_tool_breaks"}, sound = {breaks = "default_tool_breaks"}
}) })
minetest.register_tool("default:pick_stone", { minetest.register_tool("default:pick_stone", {
@ -24,26 +24,26 @@ minetest.register_tool("default:pick_stone", {
inventory_image = "default_tool_stonepick.png", inventory_image = "default_tool_stonepick.png",
tool_capabilities = { tool_capabilities = {
full_punch_interval = 1.3, full_punch_interval = 1.3,
max_drop_level=0, max_drop_level = 0,
groupcaps={ groupcaps = {
cracky = {times={[2]=2.5, [3]=2.0}, uses=40, maxlevel=1}, cracky = {times = {[2]=2.5, [3]=2.0}, uses = 40, maxlevel = 1}
}, },
damage_groups = {fleshy=3}, damage_groups = {fleshy = 3}
}, },
sound = {breaks = "default_tool_breaks"}, sound = {breaks = "default_tool_breaks"}
}) })
minetest.register_tool("default:pick_steel", { minetest.register_tool("default:pick_steel", {
description = "Steel Pickaxe", description = "Steel Pickaxe",
inventory_image = "default_tool_steelpick.png", inventory_image = "default_tool_steelpick.png",
tool_capabilities = { tool_capabilities = {
full_punch_interval = 1.0, full_punch_interval = 1.0,
max_drop_level=1, max_drop_level = 1,
groupcaps={ groupcaps = {
cracky = {times={[1]=4.0, [2]=2.0, [3]=1.75}, uses=40, maxlevel=2}, cracky = {times = {[1]=4.0, [2]=2.0, [3]=1.75}, uses = 40, maxlevel = 2}
}, },
damage_groups = {fleshy=4}, damage_groups = {fleshy = 4}
}, },
sound = {breaks = "default_tool_breaks"}, sound = {breaks = "default_tool_breaks"}
}) })
minetest.register_tool("default:pick_gold", { minetest.register_tool("default:pick_gold", {
description = "Gold Pickaxe", description = "Gold Pickaxe",
@ -51,12 +51,12 @@ minetest.register_tool("default:pick_gold", {
tool_capabilities = { tool_capabilities = {
full_punch_interval = 0.9, full_punch_interval = 0.9,
max_drop_level=3, max_drop_level=3,
groupcaps={ groupcaps = {
cracky = {times={[1]=2.4, [2]=1.8, [3]=1.5}, uses=40, maxlevel=3}, cracky = {times = {[1]=2.4, [2]=1.8, [3]=1.5}, uses = 40, maxlevel = 3}
}, },
damage_groups = {fleshy=4}, damage_groups = {fleshy = 4}
}, },
sound = {breaks = "default_tool_breaks"}, sound = {breaks = "default_tool_breaks"}
}) })
minetest.register_tool("default:pick_diamond", { minetest.register_tool("default:pick_diamond", {
@ -65,12 +65,12 @@ minetest.register_tool("default:pick_diamond", {
tool_capabilities = { tool_capabilities = {
full_punch_interval = 0.9, full_punch_interval = 0.9,
max_drop_level=3, max_drop_level=3,
groupcaps={ groupcaps = {
cracky = {times={[1]=2.0, [2]=1.5, [3]=1.0}, uses=60, maxlevel=3}, cracky = {times = {[1]=2.0, [2]=1.5, [3]=1.0}, uses = 60, maxlevel = 3}
}, },
damage_groups = {fleshy=5}, damage_groups = {fleshy = 5}
}, },
sound = {breaks = "default_tool_breaks"}, sound = {breaks = "default_tool_breaks"}
}) })
-- --
@ -83,14 +83,14 @@ minetest.register_tool("default:shovel_wood", {
wield_image = "default_tool_woodshovel.png^[transformR90", wield_image = "default_tool_woodshovel.png^[transformR90",
tool_capabilities = { tool_capabilities = {
full_punch_interval = 1.2, full_punch_interval = 1.2,
max_drop_level=0, max_drop_level = 0,
groupcaps={ groupcaps = {
crumbly = {times={[1]=3.0, [2]=2.5, [3]=2.0}, uses=20, maxlevel=1}, crumbly = {times = {[1]=3.0, [2]=2.5, [3]=2.0}, uses = 20, maxlevel = 1}
}, },
damage_groups = {fleshy=2}, damage_groups = {fleshy = 2}
}, },
groups = {flammable = 2}, groups = {flammable = 2},
sound = {breaks = "default_tool_breaks"}, sound = {breaks = "default_tool_breaks"}
}) })
minetest.register_tool("default:shovel_stone", { minetest.register_tool("default:shovel_stone", {
@ -99,13 +99,13 @@ minetest.register_tool("default:shovel_stone", {
wield_image = "default_tool_stoneshovel.png^[transformR90", wield_image = "default_tool_stoneshovel.png^[transformR90",
tool_capabilities = { tool_capabilities = {
full_punch_interval = 1.4, full_punch_interval = 1.4,
max_drop_level=0, max_drop_level = 0,
groupcaps={ groupcaps = {
crumbly = {times={[1]=2.0, [2]=1.75, [3]=2.0}, uses=40, maxlevel=1}, crumbly = {times = {[1]=2.0, [2]=1.75, [3]=2.0}, uses = 40, maxlevel = 1}
}, },
damage_groups = {fleshy=2}, damage_groups = {fleshy = 2}
}, },
sound = {breaks = "default_tool_breaks"}, sound = {breaks = "default_tool_breaks"}
}) })
minetest.register_tool("default:shovel_steel", { minetest.register_tool("default:shovel_steel", {
description = "Steel Shovel", description = "Steel Shovel",
@ -113,13 +113,13 @@ minetest.register_tool("default:shovel_steel", {
wield_image = "default_tool_steelshovel.png^[transformR90", wield_image = "default_tool_steelshovel.png^[transformR90",
tool_capabilities = { tool_capabilities = {
full_punch_interval = 1.1, full_punch_interval = 1.1,
max_drop_level=1, max_drop_level = 1,
groupcaps={ groupcaps = {
crumbly = {times={[1]=1.80, [2]=1.50, [3]=1.75}, uses=60, maxlevel=2}, crumbly = {times = {[1]=1.80, [2]=1.50, [3]=1.75}, uses = 60, maxlevel = 2}
}, },
damage_groups = {fleshy=3}, damage_groups = {fleshy = 3}
}, },
sound = {breaks = "default_tool_breaks"}, sound = {breaks = "default_tool_breaks"}
}) })
minetest.register_tool("default:shovel_gold", { minetest.register_tool("default:shovel_gold", {
@ -129,12 +129,12 @@ minetest.register_tool("default:shovel_gold", {
tool_capabilities = { tool_capabilities = {
full_punch_interval = 1.0, full_punch_interval = 1.0,
max_drop_level=3, max_drop_level=3,
groupcaps={ groupcaps = {
crumbly = {times={[1]=1.50, [2]=1.20, [3]=1.5}, uses=40, maxlevel=3}, crumbly = {times = {[1]=1.50, [2]=1.20, [3]=1.5}, uses = 40, maxlevel = 3}
}, },
damage_groups = {fleshy=3}, damage_groups = {fleshy = 3}
}, },
sound = {breaks = "default_tool_breaks"}, sound = {breaks = "default_tool_breaks"}
}) })
minetest.register_tool("default:shovel_diamond", { minetest.register_tool("default:shovel_diamond", {
@ -143,13 +143,13 @@ minetest.register_tool("default:shovel_diamond", {
wield_image = "default_tool_diamondshovel.png^[transformR90", wield_image = "default_tool_diamondshovel.png^[transformR90",
tool_capabilities = { tool_capabilities = {
full_punch_interval = 1.0, full_punch_interval = 1.0,
max_drop_level=1, max_drop_level = 1,
groupcaps={ groupcaps = {
crumbly = {times={[1]=1.30, [2]=1.5, [3]=1.0}, uses=60, maxlevel=3}, crumbly = {times = {[1]=1.30, [2]=1.5, [3]=1.0}, uses = 60, maxlevel = 3}
}, },
damage_groups = {fleshy=4}, damage_groups = {fleshy = 4}
}, },
sound = {breaks = "default_tool_breaks"}, sound = {breaks = "default_tool_breaks"}
}) })
-- --
@ -161,14 +161,14 @@ minetest.register_tool("default:axe_wood", {
inventory_image = "default_tool_woodaxe.png", inventory_image = "default_tool_woodaxe.png",
tool_capabilities = { tool_capabilities = {
full_punch_interval = 1.0, full_punch_interval = 1.0,
max_drop_level=0, max_drop_level = 0,
groupcaps={ groupcaps = {
choppy = {times={[2]=4.0, [3]=3.0}, uses=20, maxlevel=1}, choppy = {times = {[2]=4.0, [3]=3.0}, uses = 20, maxlevel = 1}
}, },
damage_groups = {fleshy=2}, damage_groups = {fleshy = 2}
}, },
groups = {flammable = 2}, groups = {flammable = 2},
sound = {breaks = "default_tool_breaks"}, sound = {breaks = "default_tool_breaks"}
}) })
minetest.register_tool("default:axe_stone", { minetest.register_tool("default:axe_stone", {
@ -176,13 +176,13 @@ minetest.register_tool("default:axe_stone", {
inventory_image = "default_tool_stoneaxe.png", inventory_image = "default_tool_stoneaxe.png",
tool_capabilities = { tool_capabilities = {
full_punch_interval = 1.2, full_punch_interval = 1.2,
max_drop_level=0, max_drop_level = 0,
groupcaps={ groupcaps = {
choppy={times={[1]=3.5, [2]=2.5, [3]=1.75}, uses=40, maxlevel=1}, choppy={times = {[1]=3.5, [2]=2.5, [3]=1.75}, uses = 40, maxlevel = 1}
}, },
damage_groups = {fleshy=3}, damage_groups = {fleshy = 3}
}, },
sound = {breaks = "default_tool_breaks"}, sound = {breaks = "default_tool_breaks"}
}) })
minetest.register_tool("default:axe_steel", { minetest.register_tool("default:axe_steel", {
@ -190,26 +190,26 @@ minetest.register_tool("default:axe_steel", {
inventory_image = "default_tool_steelaxe.png", inventory_image = "default_tool_steelaxe.png",
tool_capabilities = { tool_capabilities = {
full_punch_interval = 1.0, full_punch_interval = 1.0,
max_drop_level=1, max_drop_level = 1,
groupcaps={ groupcaps = {
choppy = {times={[1]=3.25, [2]=2.0, [3]=1.5}, uses=40, maxlevel=2}, choppy = {times = {[1]=3.25, [2]=2.0, [3]=1.5}, uses = 40, maxlevel = 2}
}, },
damage_groups = {fleshy=4}, damage_groups = {fleshy = 4}
}, },
sound = {breaks = "default_tool_breaks"}, sound = {breaks = "default_tool_breaks"}
}) })
minetest.register_tool("default:axe_gold", { minetest.register_tool("default:axe_gold", {
description = "Gold Axe", description = "Gold Axe",
inventory_image = "default_tool_goldaxe.png", inventory_image = "default_tool_goldaxe.png",
tool_capabilities = { tool_capabilities = {
full_punch_interval = 0.9, full_punch_interval = 0.9,
max_drop_level=1, max_drop_level = 1,
groupcaps={ groupcaps = {
choppy={times={[1]=3.0, [2]=1.75, [3]=1.25}, uses=40, maxlevel=3}, choppy={times = {[1]=3.0, [2]=1.75, [3]=1.25}, uses = 40, maxlevel = 3}
}, },
damage_groups = {fleshy=5}, damage_groups = {fleshy = 5}
}, },
sound = {breaks = "default_tool_breaks"}, sound = {breaks = "default_tool_breaks"}
}) })
minetest.register_tool("default:axe_diamond", { minetest.register_tool("default:axe_diamond", {
@ -217,13 +217,13 @@ minetest.register_tool("default:axe_diamond", {
inventory_image = "default_tool_diamondaxe.png", inventory_image = "default_tool_diamondaxe.png",
tool_capabilities = { tool_capabilities = {
full_punch_interval = 0.9, full_punch_interval = 0.9,
max_drop_level=1, max_drop_level = 1,
groupcaps={ groupcaps = {
choppy={times={[1]=2.5, [2]=1.5, [3]=1.0}, uses=60, maxlevel=3}, choppy={times = {[1]=2.5, [2]=1.5, [3]=1.0}, uses = 60, maxlevel = 3}
}, },
damage_groups = {fleshy=6}, damage_groups = {fleshy = 6}
}, },
sound = {breaks = "default_tool_breaks"}, sound = {breaks = "default_tool_breaks"}
}) })
-- --
@ -235,11 +235,11 @@ minetest.register_tool("default:sword_wood", {
inventory_image = "default_tool_woodsword.png", inventory_image = "default_tool_woodsword.png",
tool_capabilities = { tool_capabilities = {
full_punch_interval = 1, full_punch_interval = 1,
max_drop_level=0, max_drop_level = 0,
damage_groups = {fleshy=3}, damage_groups = {fleshy = 3}
}, },
groups = {flammable = 2}, groups = {flammable = 2},
sound = {breaks = "default_tool_breaks"}, sound = {breaks = "default_tool_breaks"}
}) })
minetest.register_tool("default:sword_stone", { minetest.register_tool("default:sword_stone", {
@ -247,10 +247,10 @@ minetest.register_tool("default:sword_stone", {
inventory_image = "default_tool_stonesword.png", inventory_image = "default_tool_stonesword.png",
tool_capabilities = { tool_capabilities = {
full_punch_interval = 1.2, full_punch_interval = 1.2,
max_drop_level=0, max_drop_level = 0,
damage_groups = {fleshy=4}, damage_groups = {fleshy = 4}
}, },
sound = {breaks = "default_tool_breaks"}, sound = {breaks = "default_tool_breaks"}
}) })
minetest.register_tool("default:sword_steel", { minetest.register_tool("default:sword_steel", {
@ -258,10 +258,10 @@ minetest.register_tool("default:sword_steel", {
inventory_image = "default_tool_steelsword.png", inventory_image = "default_tool_steelsword.png",
tool_capabilities = { tool_capabilities = {
full_punch_interval = 0.8, full_punch_interval = 0.8,
max_drop_level=1, max_drop_level = 1,
damage_groups = {fleshy=6}, damage_groups = {fleshy = 6}
}, },
sound = {breaks = "default_tool_breaks"}, sound = {breaks = "default_tool_breaks"}
}) })
minetest.register_tool("default:sword_gold", { minetest.register_tool("default:sword_gold", {
@ -269,10 +269,10 @@ minetest.register_tool("default:sword_gold", {
inventory_image = "default_tool_goldsword.png", inventory_image = "default_tool_goldsword.png",
tool_capabilities = { tool_capabilities = {
full_punch_interval = 0.7, full_punch_interval = 0.7,
max_drop_level=1, max_drop_level = 1,
damage_groups = {fleshy=7}, damage_groups = {fleshy = 7}
}, },
sound = {breaks = "default_tool_breaks"}, sound = {breaks = "default_tool_breaks"}
}) })
minetest.register_tool("default:sword_diamond", { minetest.register_tool("default:sword_diamond", {
@ -280,10 +280,10 @@ minetest.register_tool("default:sword_diamond", {
inventory_image = "default_tool_diamondsword.png", inventory_image = "default_tool_diamondsword.png",
tool_capabilities = { tool_capabilities = {
full_punch_interval = 0.7, full_punch_interval = 0.7,
max_drop_level=1, max_drop_level = 1,
damage_groups = {fleshy=8}, damage_groups = {fleshy = 8}
}, },
sound = {breaks = "default_tool_breaks"}, sound = {breaks = "default_tool_breaks"}
}) })
-- --
@ -299,10 +299,10 @@ minetest.register_tool("default:pole", {
if pointed_thing and pointed_thing.under then if pointed_thing and pointed_thing.under then
local node = minetest.get_node(pointed_thing.under) local node = minetest.get_node(pointed_thing.under)
if string.find(node.name, "default:water") then if string.find(node.name, "default:water") then
if math.random(1, 8) == 8 then if math.random(1,8) == 8 then
local inv = user:get_inventory() local inv = user:get_inventory()
if inv:room_for_item("main", {name="default:fish_raw", count=1, wear=0, metadata=""}) then if inv:room_for_item("main", "default:fish_raw") then
inv:add_item("main", {name="default:fish_raw", count=1, wear=0, metadata=""}) inv:add_item("main", "default:fish_raw")
end end
end end
itemstack:add_wear(66000/65) -- 65 uses itemstack:add_wear(66000/65) -- 65 uses

View File

@ -74,26 +74,26 @@ local transform = {
{v = "_a", param2 = 3}, {v = "_a", param2 = 3},
{v = "_a", param2 = 0}, {v = "_a", param2 = 0},
{v = "_a", param2 = 1}, {v = "_a", param2 = 1},
{v = "_a", param2 = 2}, {v = "_a", param2 = 2}
}, },
{ {
{v = "_b", param2 = 1}, {v = "_b", param2 = 1},
{v = "_b", param2 = 2}, {v = "_b", param2 = 2},
{v = "_b", param2 = 3}, {v = "_b", param2 = 3},
{v = "_b", param2 = 0}, {v = "_b", param2 = 0}
}, },
{ {
{v = "_b", param2 = 1}, {v = "_b", param2 = 1},
{v = "_b", param2 = 2}, {v = "_b", param2 = 2},
{v = "_b", param2 = 3}, {v = "_b", param2 = 3},
{v = "_b", param2 = 0}, {v = "_b", param2 = 0}
}, },
{ {
{v = "_a", param2 = 3}, {v = "_a", param2 = 3},
{v = "_a", param2 = 0}, {v = "_a", param2 = 0},
{v = "_a", param2 = 1}, {v = "_a", param2 = 1},
{v = "_a", param2 = 2}, {v = "_a", param2 = 2}
}, }
} }
function doors.door_toggle(pos, node, clicker) function doors.door_toggle(pos, node, clicker)
@ -258,7 +258,7 @@ function doors.register(name, def)
if def.protected then if def.protected then
meta:set_string("owner", pn) meta:set_string("owner", pn)
meta:set_string("infotext", "Owned by " .. pn) meta:set_string("infotext", Sl("Owned by") .. " " .. pn)
end end
if not (creative and creative.is_enabled_for and creative.is_enabled_for(pn)) then if not (creative and creative.is_enabled_for and creative.is_enabled_for(pn)) then
@ -390,7 +390,7 @@ doors.register("door_wood", {
doors.register("door_acacia_wood", { doors.register("door_acacia_wood", {
tiles = {{name = "doors_door_acacia_wood.png", backface_culling = true}}, tiles = {{name = "doors_door_acacia_wood.png", backface_culling = true}},
description = "Pine Wood Door", description = "Acacia Wood Door",
inventory_image = "doors_item_acacia_wood.png", inventory_image = "doors_item_acacia_wood.png",
groups = {choppy = 2, oddly_breakable_by_hand = 2, flammable = 2}, groups = {choppy = 2, oddly_breakable_by_hand = 2, flammable = 2},
recipe = { recipe = {
@ -543,7 +543,7 @@ function doors.register_trapdoor(name, def)
local pn = placer:get_player_name() local pn = placer:get_player_name()
local meta = minetest.get_meta(pos) local meta = minetest.get_meta(pos)
meta:set_string("owner", pn) meta:set_string("owner", pn)
meta:set_string("infotext", "Owned by "..pn) meta:set_string("infotext", Sl("Owned by") .. " " .. pn)
return (creative and creative.is_enabled_for and creative.is_enabled_for(pn)) return (creative and creative.is_enabled_for and creative.is_enabled_for(pn))
end end
@ -607,7 +607,7 @@ function doors.register_trapdoor(name, def)
} }
def_closed.tiles = { def_closed.tiles = {
def.tile_front, def.tile_front,
def.tile_front .. '^[transformFY', def.tile_front .. "^[transformFY",
def.tile_side, def.tile_side,
def.tile_side, def.tile_side,
def.tile_side, def.tile_side,
@ -624,11 +624,11 @@ function doors.register_trapdoor(name, def)
} }
def_opened.tiles = { def_opened.tiles = {
def.tile_side, def.tile_side,
def.tile_side .. '^[transform2', def.tile_side .. "^[transform2",
def.tile_side .. '^[transform3', def.tile_side .. "^[transform3",
def.tile_side .. '^[transform1', def.tile_side .. "^[transform1",
def.tile_front .. '^[transform46', def.tile_front .. "^[transform46",
def.tile_front .. '^[transform6' def.tile_front .. "^[transform6"
} }
def_opened.drop = name_closed def_opened.drop = name_closed
@ -664,19 +664,18 @@ doors.register_trapdoor("doors:trapdoor_steel", {
}) })
minetest.register_craft({ minetest.register_craft({
output = 'doors:trapdoor 2', output = "doors:trapdoor 2",
recipe = { recipe = {
{'group:wood', 'group:wood', 'group:wood'}, {"group:wood", "group:wood", "group:wood"},
{'group:wood', 'group:wood', 'group:wood'}, {"group:wood", "group:wood", "group:wood"}
{'', '', ''},
} }
}) })
minetest.register_craft({ minetest.register_craft({
output = 'doors:trapdoor_steel', output = "doors:trapdoor_steel",
recipe = { recipe = {
{'default:steel_ingot', 'default:steel_ingot'}, {"default:steel_ingot", "default:steel_ingot"},
{'default:steel_ingot', 'default:steel_ingot'}, {"default:steel_ingot", "default:steel_ingot"},
} }
}) })
@ -752,7 +751,7 @@ function doors.register_fencegate(name, def)
{-6/16, 1/2-1/16, 1/16, -6/16, 1/2+8/16, 1/16}, -- Top block (cross) -x 1 side {-6/16, 1/2-1/16, 1/16, -6/16, 1/2+8/16, 1/16}, -- Top block (cross) -x 1 side
{-6/16, 1/2-1/16, -1/16, -6/16, 1/2+8/16, -1/16}, -- Top block (cross) -x 2 side {-6/16, 1/2-1/16, -1/16, -6/16, 1/2+8/16, -1/16}, -- Top block (cross) -x 2 side
{5/16, 1/2-1/16, 1/16, 5/16, 1/2+8/16, 1/16}, -- Top block (cross) x 1 side {5/16, 1/2-1/16, 1/16, 5/16, 1/2+8/16, 1/16}, -- Top block (cross) x 1 side
{5/16, 1/2-1/16, -1/16, 5/16, 1/2+8/16, -1/16}, -- Top block (cross) x 2 side {5/16, 1/2-1/16, -1/16, 5/16, 1/2+8/16, -1/16} -- Top block (cross) x 2 side
} }
} }
fence_closed.gate = name .. "_open" fence_closed.gate = name .. "_open"
@ -760,7 +759,7 @@ function doors.register_fencegate(name, def)
fence_closed.selection_box = { fence_closed.selection_box = {
type = "fixed", type = "fixed",
fixed = { fixed = {
{-1/2, -1/2+5/16, -1/16, 1/2, 1/2, 1/16}, -- Gate {-1/2, -1/2+5/16, -1/16, 1/2, 1/2, 1/16} -- Gate
} }
} }
local fence_open = table.copy(fence) local fence_open = table.copy(fence)
@ -774,7 +773,7 @@ function doors.register_fencegate(name, def)
{1/2-2/16, 1/2-4/16, 1/16, 1/2, 1/2-1/16, 1/2}, -- Top-right (transverse) x {1/2-2/16, 1/2-4/16, 1/16, 1/2, 1/2-1/16, 1/2}, -- Top-right (transverse) x
{1/2-2/16, -1/2+6/16, 1/16, 1/2, -1/2+9/16, 1/2}, -- Bottom-right (transverse) x {1/2-2/16, -1/2+6/16, 1/16, 1/2, -1/2+9/16, 1/2}, -- Bottom-right (transverse) x
{-1/2, -1/2+6/16, 6/16, -1/2+2/16, 1/2-1/16, 1/2}, -- Center Left {-1/2, -1/2+6/16, 6/16, -1/2+2/16, 1/2-1/16, 1/2}, -- Center Left
{1/2-2/16, 1/2-4/16, 1/2, 1/2, -1/2+9/16, 6/16}, -- Center Right {1/2-2/16, 1/2-4/16, 1/2, 1/2, -1/2+9/16, 6/16} -- Center Right
}, },
} }
fence_open.gate = name .. "_closed" fence_open.gate = name .. "_closed"
@ -784,7 +783,7 @@ function doors.register_fencegate(name, def)
type = "fixed", type = "fixed",
fixed = { fixed = {
{-1/2, -1/2+5/16, -1/16, -1/2+2/16, 1/2, 1/2}, -- Left {-1/2, -1/2+5/16, -1/16, -1/2+2/16, 1/2, 1/2}, -- Left
{1/2-2/16, -1/2+5/16, -1/16, 1/2, 1/2, 1/2}, -- Right {1/2-2/16, -1/2+5/16, -1/16, 1/2, 1/2, 1/2} -- Right
} }
} }

View File

@ -9,7 +9,7 @@ local function collect_items(player)
-- Detect -- Detect
local col_pos = vector.add(pos, {x = 0, y = 1.3, z = 0}) local col_pos = vector.add(pos, {x = 0, y = 1.3, z = 0})
local objects = minetest.get_objects_inside_radius(col_pos, radius) local objects = minetest.get_objects_inside_radius(col_pos, radius)
for _, object in ipairs(objects) do for _, object in pairs(objects) do
local entity = object:get_luaentity() local entity = object:get_luaentity()
if entity and not object:is_player() and if entity and not object:is_player() and
not entity.collectioner and not entity.collectioner and

View File

@ -10,7 +10,7 @@ dungeon_loot.registered_loot = {
{name = "default:stick", chance = 0.6, count = {3, 6}}, {name = "default:stick", chance = 0.6, count = {3, 6}},
{name = "default:flint", chance = 0.4, count = {1, 3}}, {name = "default:flint", chance = 0.4, count = {1, 3}},
{name = "vessels:glass_bottle", chance = 0.35, count = {1, 4}}, {name = "vessels:glass_bottle", chance = 0.35, count = {1, 4}},
-- {name = "carts:rail", chance = 0.35, count = {1, 6}}, {name = "carts:rail", chance = 0.35, count = {1, 6}},
-- farming / consumable -- farming / consumable
{name = "farming:string", chance = 0.5, count = {1, 8}}, {name = "farming:string", chance = 0.5, count = {1, 8}},
@ -55,7 +55,7 @@ dungeon_loot.registered_loot = {
{name = "default:sandstonesmooth", chance = 0.8, count = {4, 32}, y = {-64, 256}, types = {"sandstone"}}, {name = "default:sandstonesmooth", chance = 0.8, count = {4, 32}, y = {-64, 256}, types = {"sandstone"}},
{name = "default:mossycobble", chance = 0.8, count = {4, 32}, types = {"desert"}}, {name = "default:mossycobble", chance = 0.8, count = {4, 32}, types = {"desert"}},
{name = "default:dirt", chance = 0.6, count = {2, 16}, y = {-64, 256}}, {name = "default:dirt", chance = 0.6, count = {2, 16}, y = {-64, 256}},
{name = "default:obsidian", chance = 0.25, count = {1, 3}, y = {-64, -512}}, {name = "default:obsidian", chance = 0.25, count = {1, 3}, y = {-64, -512}}
} }
function dungeon_loot.register(t) function dungeon_loot.register(t)

View File

@ -71,7 +71,7 @@ end
local function populate_chest(pos, rand, dungeontype) local function populate_chest(pos, rand, dungeontype)
--minetest.chat_send_all("chest placed at " .. minetest.pos_to_string(pos) .. " [" .. dungeontype .. "]") --minetest.chat_send_all("chest placed at " .. minetest.pos_to_string(pos) .. " [" .. dungeontype .. "]")
--minetest.add_node(vector.add(pos, {x=0, y=1, z=0}), {name="default:torch", param2=1}) --minetest.add_node(vector.add(pos, {x=0, y=1, z=0}), {name="default:torch", param2 = 1})
local item_list = dungeon_loot._internal_get_loot(pos.y, dungeontype) local item_list = dungeon_loot._internal_get_loot(pos.y, dungeontype)
-- take random (partial) sample of all possible items -- take random (partial) sample of all possible items

View File

View File

@ -20,12 +20,12 @@ dye.dyes = {
{"red", S("Red"), S("Red2"), S("Red3")}, {"red", S("Red"), S("Red2"), S("Red3")},
{"violet", S("Violet"), S("Violet2"), S("Violet3")}, {"violet", S("Violet"), S("Violet2"), S("Violet3")},
{"white", S("White"), S("White2"), S("White3")}, {"white", S("White"), S("White2"), S("White3")},
{"yellow", S("Yellow"), S("Yellow2"), S("Yellow3")}, {"yellow", S("Yellow"), S("Yellow2"), S("Yellow3")}
} }
-- Define items -- Define items
for _, row in ipairs(dye.dyes) do for _, row in pairs(dye.dyes) do
local name = row[1] local name = row[1]
local description = row[2] local description = row[2]
local groups = {dye = 1} local groups = {dye = 1}
@ -41,7 +41,7 @@ for _, row in ipairs(dye.dyes) do
output = "dye:" .. name .. " 4", output = "dye:" .. name .. " 4",
recipe = { recipe = {
{"group:flower,color_" .. name} {"group:flower,color_" .. name}
}, }
}) })
end end

View File

@ -39,7 +39,6 @@ minetest.override_item("default:dirt_with_coniferous_litter", {
})]] })]]
minetest.register_node("farming:soil", { minetest.register_node("farming:soil", {
description = "Soil",
tiles = {"farming_soil.png", "default_dirt.png"}, tiles = {"farming_soil.png", "default_dirt.png"},
drop = "default:dirt", drop = "default:dirt",
groups = {crumbly = 3, not_in_creative_inventory = 1, soil = 2, grassland = 1, field = 1}, groups = {crumbly = 3, not_in_creative_inventory = 1, soil = 2, grassland = 1, field = 1},
@ -52,7 +51,6 @@ minetest.register_node("farming:soil", {
}) })
minetest.register_node("farming:soil_wet", { minetest.register_node("farming:soil_wet", {
description = "Wet Soil",
tiles = {"farming_soil_wet.png", "default_dirt.png"}, tiles = {"farming_soil_wet.png", "default_dirt.png"},
drop = "default:dirt", drop = "default:dirt",
groups = {crumbly = 3, not_in_creative_inventory = 1, soil = 3, wet = 1, grassland = 1, field = 1}, groups = {crumbly = 3, not_in_creative_inventory = 1, soil = 3, wet = 1, grassland = 1, field = 1},
@ -73,7 +71,6 @@ minetest.register_node("farming:soil_wet", {
} }
}) })
minetest.register_node("farming:desert_sand_soil", { minetest.register_node("farming:desert_sand_soil", {
description = "Desert Sand Soil",
drop = "default:desert_sand", drop = "default:desert_sand",
tiles = {"farming_desert_sand_soil.png", "default_red_sand.png"}, tiles = {"farming_desert_sand_soil.png", "default_red_sand.png"},
groups = {crumbly=3, not_in_creative_inventory = 1, falling_node=1, sand=1, soil = 2, desert = 1, field = 1}, groups = {crumbly=3, not_in_creative_inventory = 1, falling_node=1, sand=1, soil = 2, desert = 1, field = 1},
@ -86,7 +83,6 @@ minetest.register_node("farming:desert_sand_soil", {
}) })
minetest.register_node("farming:desert_sand_soil_wet", { minetest.register_node("farming:desert_sand_soil_wet", {
description = "Wet Desert Sand Soil",
drop = "default:desert_sand", drop = "default:desert_sand",
tiles = {"farming_desert_sand_soil_wet.png", "farming_desert_sand_soil_wet_side.png"}, tiles = {"farming_desert_sand_soil_wet.png", "farming_desert_sand_soil_wet_side.png"},
groups = {crumbly=3, falling_node=1, sand=1, not_in_creative_inventory=1, soil=3, wet = 1, desert = 1, field = 1}, groups = {crumbly=3, falling_node=1, sand=1, not_in_creative_inventory=1, soil=3, wet = 1, desert = 1, field = 1},

View File

@ -45,7 +45,7 @@ minetest.register_node("fire:basic_flame", {
sunlight_propagates = true, sunlight_propagates = true,
floodable = true, floodable = true,
damage_per_second = 4, damage_per_second = 4,
groups = {igniter = 2, dig_immediate = 3, not_in_creative_inventory = 1}, groups = {igniter = 2, dig_immediate = 3, fire = 1, not_in_creative_inventory = 1},
drop = "", drop = "",
on_timer = function(pos) on_timer = function(pos)
@ -70,7 +70,6 @@ minetest.register_node("fire:basic_flame", {
}) })
minetest.register_node("fire:permanent_flame", { minetest.register_node("fire:permanent_flame", {
description = "Permanent Flame",
drawtype = "firelike", drawtype = "firelike",
tiles = { tiles = {
{ {
@ -91,22 +90,21 @@ minetest.register_node("fire:permanent_flame", {
sunlight_propagates = true, sunlight_propagates = true,
floodable = true, floodable = true,
damage_per_second = 4, damage_per_second = 4,
groups = {igniter = 2, dig_immediate = 3, not_in_creative_inventory = 1}, groups = {igniter = 2, dig_immediate = 3, fire = 1, not_in_creative_inventory = 1},
drop = "", drop = "",
on_flood = flood_flame on_flood = flood_flame
}) })
-- Flint and Steel
-- Flint and steel minetest.register_tool("fire:flint_and_steel", {
if fire_enabled then
minetest.register_tool("fire:flint_and_steel", {
description = "Flint and Steel", description = "Flint and Steel",
inventory_image = "fire_flint_steel.png", inventory_image = "fire_flint_steel.png",
sound = {breaks = "default_tool_breaks"}, sound = {breaks = "default_tool_breaks"},
on_use = function(itemstack, user, pointed_thing) on_use = function(itemstack, user, pointed_thing)
if fire_enabled then
local sound_pos = pointed_thing.above or user:get_pos() local sound_pos = pointed_thing.above or user:get_pos()
minetest.sound_play("fire_flint_and_steel", minetest.sound_play("fire_flint_and_steel",
{pos = sound_pos, gain = 0.5, max_hear_distance = 8}) {pos = sound_pos, gain = 0.5, max_hear_distance = 8})
@ -140,15 +138,15 @@ if fire_enabled then
return itemstack return itemstack
end end
end end
}) end
})
minetest.register_craft({ minetest.register_craft({
output = "fire:flint_and_steel", output = "fire:flint_and_steel",
recipe = { recipe = {
{"default:flint", "default:steel_ingot"} {"default:flint", "default:steel_ingot"}
} }
}) })
end
-- Override coalblock to enable permanent flame above -- Override coalblock to enable permanent flame above
-- Coalblock is non-flammable to avoid unwanted basic_flame nodes -- Coalblock is non-flammable to avoid unwanted basic_flame nodes
@ -285,7 +283,6 @@ end
-- --
if fire_enabled then if fire_enabled then
-- Ignite neighboring nodes, add basic flames -- Ignite neighboring nodes, add basic flames
minetest.register_abm({ minetest.register_abm({
label = "Ignite flame", label = "Ignite flame",

View File

@ -95,4 +95,4 @@ mobs:spawn({
day_toggle = true, day_toggle = true,
}) })
mobs:register_egg("mobs_animal:bear", "Bear egg", "mobs_bear_egg.png", 1) mobs:register_egg("mobs_animal:bear", "Bear Egg", "mobs_bear_egg.png", 1)

View File

@ -104,4 +104,4 @@ mobs:spawn({
day_toggle = true, day_toggle = true,
}) })
mobs:register_egg("mobs_animal:bunny", "Bunny egg", "mobs_bunny_evil.png", 1) mobs:register_egg("mobs_animal:bunny", "Bunny Egg", "mobs_bunny_evil.png", 1)

View File

@ -81,7 +81,7 @@ mobs:spawn({
day_toggle = true, day_toggle = true,
}) })
mobs:register_egg("mobs_animal:chicken", "Chicken egg", "mobs_chicken_egg_inv.png", 1) mobs:register_egg("mobs_animal:chicken", "Chicken Egg", "mobs_chicken_egg_inv.png", 1)
-- egg throwing -- egg throwing

View File

@ -127,4 +127,4 @@ mobs:spawn({
day_toggle = true, day_toggle = true,
}) })
mobs:register_egg("mobs_animal:cow", "Cow", "mobs_cow_egg.png", 1) mobs:register_egg("mobs_animal:cow", "Cow Egg", "mobs_cow_egg.png", 1)

View File

@ -13,7 +13,6 @@ mobs:register_mob("mobs_animal:wolf", {
textures = { textures = {
{"mobs_wolf.png"}, {"mobs_wolf.png"},
}, },
jump = false,
walk_chance = 75, walk_chance = 75,
walk_velocity = 2, walk_velocity = 2,
run_velocity = 3, run_velocity = 3,
@ -56,7 +55,7 @@ mobs:spawn({
day_toggle = true, day_toggle = true,
}) })
mobs:register_egg("mobs_animal:wolf", "Wolf's egg", "wool_grey.png", 1) mobs:register_egg("mobs_animal:wolf", "Wolf's Egg", "wool_grey.png", 1)
-- Dog -- Dog
mobs:register_mob("mobs_animal:dog", { mobs:register_mob("mobs_animal:dog", {
@ -75,7 +74,6 @@ mobs:register_mob("mobs_animal:dog", {
{"mobs_dog.png"} {"mobs_dog.png"}
}, },
fear_height = 4, fear_height = 4,
jump = false,
walk_chance = 75, walk_chance = 75,
walk_velocity = 2, walk_velocity = 2,
run_velocity = 4, run_velocity = 4,

View File

@ -61,4 +61,4 @@ mobs:spawn({
day_toggle = true, day_toggle = true,
}) })
mobs:register_egg("mobs_animal:kitten", "Cat's egg", "mobs_kitten_egg.png", 1) mobs:register_egg("mobs_animal:kitten", "Cat's Egg", "mobs_kitten_egg.png", 1)

View File

@ -54,4 +54,4 @@ mobs:spawn({
day_toggle = true, day_toggle = true,
}) })
mobs:register_egg("mobs_animal:pig", "Pig egg", "mobs_pig_egg.png", 1) mobs:register_egg("mobs_animal:pig", "Pig Egg", "mobs_pig_egg.png", 1)

View File

@ -148,7 +148,7 @@ for i = 1, #dyes do
minetest.register_alias("mobs_animal:sheep_" .. name, "mobs_animal:sheep_white") minetest.register_alias("mobs_animal:sheep_" .. name, "mobs_animal:sheep_white")
end end
mobs:register_egg("mobs_animal:sheep_white", "White Sheep egg", "wool_white.png", 1) mobs:register_egg("mobs_animal:sheep_white", "Sheep Egg", "wool_white.png", 1)
mobs:spawn({ mobs:spawn({
name = "mobs_animal:sheep_white", name = "mobs_animal:sheep_white",

View File

@ -59,4 +59,4 @@ mobs:spawn({
min_height = -64, min_height = -64,
}) })
mobs:register_egg("mobs_monster:skeleton", "Skeleton egg", "mobs_chicken_egg.png^default_bone.png", 1) mobs:register_egg("mobs_monster:skeleton", "Skeleton Egg", "mobs_chicken_egg.png^default_bone.png", 1)

View File

@ -21,6 +21,10 @@ mobs:register_mob("mobs_monster:spider", {
}, },
run_velocity = 3, run_velocity = 3,
view_range = 15, view_range = 15,
replace_rate = 64,
replace_what = {
{"air", "mobs:cobweb"},
},
floats = 0, floats = 0,
drops = function(pos) drops = function(pos)
if rawget(_G, "experience") then if rawget(_G, "experience") then
@ -64,8 +68,8 @@ mobs:spawn({
min_height = -64, min_height = -64,
}) })
mobs:register_egg("mobs_monster:spider", "Spider egg", "mobs_chicken_egg.png^mobs_cobweb.png", 1) mobs:register_egg("mobs_monster:spider", "Spider Egg", "mobs_chicken_egg.png^mobs_cobweb.png", 1)
mobs:register_egg("mobs_monster:small_spider", "Small Spider egg", "mobs_chicken_egg.png^mobs_cobweb.png", 1) mobs:register_egg("mobs_monster:small_spider", "Small Spider Egg", "mobs_chicken_egg.png^mobs_cobweb.png", 1)
-- Small spider -- Small spider

View File

@ -11,11 +11,6 @@ mobs = {
-- Intllib -- Intllib
local S = intllib.make_gettext_pair() local S = intllib.make_gettext_pair()
-- creative check
function mobs.is_creative(name)
return creative or minetest.check_player_privs(name, {creative = true})
end
-- localize math functions -- localize math functions
local pi = math.pi local pi = math.pi
local square = math.sqrt local square = math.sqrt
@ -57,6 +52,11 @@ if not minetest.is_singleplayer() then
spawn_interval = 60 spawn_interval = 60
end end
-- creative check
function mobs.is_creative(name)
return creative or minetest.check_player_privs(name, {creative = true})
end
-- Peaceful mode message so players will know there are no monsters -- Peaceful mode message so players will know there are no monsters
if peaceful_only then if peaceful_only then
minetest.register_on_joinplayer(function(player) minetest.register_on_joinplayer(function(player)

View File

@ -122,8 +122,7 @@ local function mobs_shoot_egg(itemstack, thrower, pointed_thing)
gain = 0.7, gain = 0.7,
max_hear_distance = 10, max_hear_distance = 10,
}) })
if not (creative and creative.is_enabled_for if not mobs.is_creative(thrower) or
and creative.is_enabled_for(thrower)) or
not minetest.is_singleplayer() then not minetest.is_singleplayer() then
itemstack:take_item() itemstack:take_item()
end end

Binary file not shown.

Before

Width:  |  Height:  |  Size: 415 B

After

Width:  |  Height:  |  Size: 314 B

View File

@ -82,10 +82,10 @@ else
max_drop_level = 0, max_drop_level = 0,
groupcaps = { groupcaps = {
crumbly = {times = {[1]=5.0, [2]=3.0, [3]=0.7}, uses = 0, maxlevel = 1}, crumbly = {times = {[1]=5.0, [2]=3.0, [3]=0.7}, uses = 0, maxlevel = 1},
snappy = {times = {[3]=0.4}, uses = 0, maxlevel = 1}, snappy = {times = {[1]=0.5, [2]=0.5, [3]=0.5}, uses = 0, maxlevel = 1},
choppy = {times = {[1]=6.0, [2]=4.0, [3]=3.0}, uses = 0, maxlevel = 1}, choppy = {times = {[1]=6.0, [2]=4.0, [3]=3.0}, uses = 0, maxlevel = 1},
cracky = {times = {[1]=7.0, [2]=5.0, [3]=4.0}, uses = 0, maxlevel = 1}, cracky = {times = {[1]=7.0, [2]=5.0, [3]=4.0}, uses = 0, maxlevel = 1},
oddly_breakable_by_hand = {times = {[1]=3.5 ,[2]=2.0, [3]=0.7}, uses = 0} oddly_breakable_by_hand = {times = {[1]=3.5, [2]=2.0, [3]=0.7}, uses = 0}
}, },
damage_groups = {fleshy = 1}, damage_groups = {fleshy = 1},
} }
@ -126,13 +126,13 @@ minetest.register_on_joinplayer(function(player)
end) end)
-- Items for the new player -- Items for the new player
minetest.register_on_newplayer(function (player) if not creative_mode_cache and minetest.is_singleplayer() then
if not creative_mode_cache or not minetest.is_singleplayer() then minetest.register_on_newplayer(function (player)
player:get_inventory():add_item("main", "default:sword_steel") player:get_inventory():add_item("main", "default:sword_steel")
player:get_inventory():add_item("main", "default:torch 8") player:get_inventory():add_item("main", "default:torch 8")
player:get_inventory():add_item("main", "default:wood 64") player:get_inventory():add_item("main", "default:wood 64")
end end)
end) end
-- Drop items at death -- Drop items at death
minetest.register_on_dieplayer(function(player) minetest.register_on_dieplayer(function(player)

View File

@ -23,7 +23,7 @@ end
sethome.go = function(name) sethome.go = function(name)
local pos = sethome.get(name) local pos = sethome.get(name)
local player = minetest.get_player_by_name(name) local player = minetest.get_player_by_name(name)
if player and pos then if player and minetest.is_valid_pos(pos) then
player:set_pos(pos) player:set_pos(pos)
return true return true
end end

View File

@ -15,7 +15,7 @@ walls.register = function(wall_name, wall_desc, wall_texture_table, wall_mat, wa
connect_front = {{-3/16, -1/2, -1/2, 3/16, 3/8, -1/4}}, connect_front = {{-3/16, -1/2, -1/2, 3/16, 3/8, -1/4}},
connect_left = {{-1/2, -1/2, -3/16, -1/4, 3/8, 3/16}}, connect_left = {{-1/2, -1/2, -3/16, -1/4, 3/8, 3/16}},
connect_back = {{-3/16, -1/2, 1/4, 3/16, 3/8, 1/2}}, connect_back = {{-3/16, -1/2, 1/4, 3/16, 3/8, 1/2}},
connect_right = {{ 1/4, -1/2, -3/16, 1/2, 3/8, 3/16}}, connect_right = {{ 1/4, -1/2, -3/16, 1/2, 3/8, 3/16}}
}, },
connects_to = {"group:wall", "group:stone", "group:fence"}, connects_to = {"group:wall", "group:stone", "group:fence"},
paramtype = "light", paramtype = "light",
@ -23,16 +23,16 @@ walls.register = function(wall_name, wall_desc, wall_texture_table, wall_mat, wa
tiles = wall_texture_table, tiles = wall_texture_table,
walkable = true, walkable = true,
groups = {cracky = 3, wall = 1, stone = 2, not_in_creative_inventory = 1}, groups = {cracky = 3, wall = 1, stone = 2, not_in_creative_inventory = 1},
sounds = wall_sounds, sounds = wall_sounds
}) })
-- crafting recipe -- crafting recipe
minetest.register_craft({ minetest.register_craft({
output = wall_name .. " 6", output = wall_name .. " 6",
recipe = { recipe = {
{ '', '', '' }, { "", "", "" },
{ wall_mat, wall_mat, wall_mat},
{ wall_mat, wall_mat, wall_mat}, { wall_mat, wall_mat, wall_mat},
{ wall_mat, wall_mat, wall_mat}
} }
}) })

View File

@ -1,11 +1,10 @@
local update_time = 1
local show_time = 2 local show_time = 2
local has_armor = minetest.get_modpath("3d_armor") local has_armor = minetest.get_modpath("3d_armor")
local wield_tiles = {} local wield_tiles = {}
local wield_cubes = {} local wield_cubes = {}
local wield_items = {} local wield_items = {}
local wield_cycle = {} local item_cycle = {}
local function init_wield_items() local function init_wield_items()
for name, def in pairs(minetest.registered_items) do for name, def in pairs(minetest.registered_items) do
@ -41,13 +40,9 @@ local function update_statbar_text(player, stack, item)
local description = meta_desc ~= "" and meta_desc or local description = meta_desc ~= "" and meta_desc or
(def and (def.description:match("(.-)\n") or def.description) or "") (def and (def.description:match("(.-)\n") or def.description) or "")
hud.change_item(player, "itemname", {text = description}) hud.change_item(player, "itemname", {text = description})
minetest.after(show_time, function()
hud.change_item(player, "itemname", {text = ""})
end)
end end
local function update_player_visuals(player, item) local function update_player_visuals(player, item)
local name = player:get_player_name()
local animation = player_api.get_animation(player) or {} local animation = player_api.get_animation(player) or {}
local textures = animation.textures or {} local textures = animation.textures or {}
local skin = textures[1] and textures[1] or "character.png" local skin = textures[1] and textures[1] or "character.png"
@ -57,6 +52,7 @@ local function update_player_visuals(player, item)
end end
local wield_cube = wield_cubes[item] or "blank.png" local wield_cube = wield_cubes[item] or "blank.png"
if has_armor then if has_armor then
local name = player:get_player_name()
armor.textures[name].wielditem = wield_tile armor.textures[name].wielditem = wield_tile
armor.textures[name].cube = wield_cube armor.textures[name].cube = wield_cube
armor:update_player_visuals(player) armor:update_player_visuals(player)
@ -66,11 +62,7 @@ local function update_player_visuals(player, item)
end end
local function update_wielded_item(dtime, name) local function update_wielded_item(dtime, name)
wield_cycle[name] = wield_cycle[name] or 0 item_cycle[name] = item_cycle[name] and item_cycle[name] + dtime or 0
wield_cycle[name] = wield_cycle[name] + dtime
if wield_cycle[name] < update_time then
return
end
local player = minetest.get_player_by_name(name) local player = minetest.get_player_by_name(name)
if not player or not player:is_player() then if not player or not player:is_player() then
return return
@ -81,15 +73,19 @@ local function update_wielded_item(dtime, name)
return return
end end
if wield_items[name] and wield_items[name] == item then if wield_items[name] and wield_items[name] == item then
if item_cycle[name] > show_time then
hud.change_item(player, "itemname", {text = ""})
item_cycle[name] = 0
end
return return
else else
update_statbar_text(player, stack, item) update_statbar_text(player, stack, item)
item_cycle[name] = 0
if PLATFORM ~= "Android" or PLATFORM ~= "iOS" then if PLATFORM ~= "Android" or PLATFORM ~= "iOS" then
update_player_visuals(player, item) update_player_visuals(player, item)
end end
end end
wield_items[name] = item wield_items[name] = item
wield_cycle[name] = 0
end end
@ -97,14 +93,14 @@ minetest.register_on_joinplayer(function(player)
local name = player:get_player_name() local name = player:get_player_name()
if name then if name then
wield_items[name] = "" wield_items[name] = ""
wield_cycle[name] = 0 item_cycle[name] = 0
end end
end) end)
minetest.register_on_leaveplayer(function(player) minetest.register_on_leaveplayer(function(player)
local name = player:get_player_name() local name = player:get_player_name()
if name then if name then
wield_items[name] = "" wield_items[name] = ""
wield_cycle[name] = 0 item_cycle[name] = 0
end end
end) end)
minetest.register_playerstep(function(dtime, playernames) minetest.register_playerstep(function(dtime, playernames)

View File

@ -160,13 +160,13 @@ function workbench.fields(pos, _, fields, sender)
end end
inv = meta:get_inventory() inv = meta:get_inventory()
if inv then if inv then
for _, name in ipairs({"craft", "tool", "hammer"}) do for _, name in pairs({"craft", "tool", "hammer"}) do
local stack = inv:get_stack(name, 1) local stack = inv:get_stack(name, 1)
minetest.item_drop(stack, nil, pos) minetest.item_drop(stack, nil, pos)
stack:clear() stack:clear()
inv:set_stack(name, 1, stack) inv:set_stack(name, 1, stack)
end end
for i, stack in ipairs(inv:get_list("forms")) do for i, stack in pairs(inv:get_list("forms")) do
stack:clear() stack:clear()
inv:set_stack("forms", i, stack) inv:set_stack("forms", i, stack)
end end