added lanterns and fuel.

master
NathanSalapat 2015-05-11 18:33:28 -05:00
parent ef68007b14
commit 994ec6cd12
9 changed files with 302 additions and 4 deletions

View File

@ -2,4 +2,4 @@
--Change the following line if you want torches to burn infinitly.
--(true/false)
--when true torches will burn out after a day.
finite_torches = false
finite_torches = true

View File

@ -13,3 +13,8 @@ minetest.register_craftitem('more_fire:lighter', {
description = 'Flint and Steel',
inventory_image = 'more_fire_lighter.png',
})
minetest.register_craftitem('more_fire:oil', {
description = 'lantern oil',
inventory_image = 'more_fire_oil.png',
})

View File

@ -69,6 +69,24 @@ minetest.register_craft({
}
})
minetest.register_craft({
output = 'more_fire:oil_lamp_off 1',
recipe = {
{'default:glass'},
{'farming:cotton'},
{'default:iron_lump'},
}
})
minetest.register_craft({
output = 'more_fire:oil 1',
recipe = {
{'group:leaves', 'group:leaves', 'group:leaves'},
{'group:leaves', 'group:leaves', 'group:leaves'},
{'', 'vessels:glass_bottle', ''},
}
})
minetest.register_craft({
type = 'shapeless',
output = 'more_fire:lighter 1',
@ -98,5 +116,5 @@ minetest.register_craft({
minetest.register_craft({
type = 'fuel',
recipe = 'more_fire:torch_stub',
burntime = 3,
burntime = 2,
})

BIN
models/lamp.blend Normal file

Binary file not shown.

187
models/more_fire_lamp.obj Normal file
View File

@ -0,0 +1,187 @@
# Blender v2.74 (sub 5) OBJ File: 'lamp.blend'
# www.blender.org
o Cube.001
v 0.140000 -0.280515 0.022415
v 0.200000 0.319485 -0.037585
v 0.140000 -0.280515 0.302415
v 0.200000 0.319485 0.362415
v -0.140000 -0.280515 0.022415
v -0.200000 0.319485 -0.037585
v -0.140000 -0.280515 0.302415
v -0.200000 0.319485 0.362415
v 0.196000 -0.280515 -0.033585
v 0.196000 -0.280515 0.358415
v -0.196000 -0.280515 -0.033585
v -0.196000 -0.280515 0.358415
v 0.196000 -0.380348 -0.033585
v 0.196000 -0.380348 0.358415
v -0.196000 -0.380348 -0.033585
v -0.196000 -0.380348 0.358415
v -0.117783 -0.280515 0.437568
v 0.117783 -0.280515 0.437568
v -0.117783 -0.380348 0.437568
v 0.117783 -0.380348 0.437568
v -0.222778 -0.190702 0.499030
v 0.222778 -0.190702 0.499029
v -0.222778 -0.380348 0.499030
v 0.222778 -0.380348 0.499029
v 0.063585 -0.316167 0.226000
v 0.063585 -0.316167 0.098830
v -0.063585 -0.316167 0.226000
v -0.063585 -0.316167 0.098830
v 0.000000 -0.243687 0.094285
v 0.000000 -0.243687 0.230046
v 0.000000 -0.178187 0.132373
v 0.000000 -0.178187 0.191958
v 0.067880 -0.243687 0.094285
v 0.067880 -0.243687 0.230046
v 0.029792 -0.178187 0.132373
v 0.029792 -0.178187 0.191958
v -0.067880 -0.243687 0.094285
v -0.067880 -0.243687 0.230046
v -0.029792 -0.178187 0.132373
v -0.029792 -0.178187 0.191958
v 0.000000 0.022985 0.162166
v 0.000000 -0.296375 0.162166
v 0.029792 -0.178187 0.162166
v 0.067880 -0.243687 0.162166
v -0.067880 -0.243687 0.162166
v -0.029792 -0.178187 0.162166
vt 0.000184 0.100646
vt 0.245094 0.025548
vt 0.321566 0.406010
vt 0.150129 0.458578
vt 0.500000 0.000184
vt 0.500000 0.388255
vt 0.754906 0.025548
vt 0.678434 0.406010
vt 0.999816 0.100646
vt 0.849871 0.458578
vt 0.314421 0.800681
vt 0.318222 0.575143
vt 0.363809 0.525366
vt 0.362687 0.863618
vt 0.105089 0.564675
vt 0.089347 0.790322
vt 0.017624 0.857183
vt 0.018081 0.506752
vt 0.138376 0.596328
vt 0.130292 0.760686
vt 0.605426 0.689137
vt 0.886635 0.689137
vt 0.886635 0.970346
vt 0.605426 0.970346
vt 0.354343 0.937588
vt 0.465557 0.832974
vt 0.442159 0.934100
vt 0.361926 0.441181
vt 0.570612 0.907416
vt 0.489202 0.967153
vt 0.441846 0.565238
vt 0.426006 0.454242
vt 0.943417 0.745248
vt 0.943417 0.914235
vt 0.570612 0.498898
vt 0.485731 0.420788
vt 0.987508 0.669927
vt 0.987508 0.989556
vt 0.315130 0.800066
vt 0.132668 0.760847
vt 0.188257 0.717364
vt 0.266689 0.731056
vt 0.186969 0.642567
vt 0.267853 0.635424
vt 0.138529 0.595618
vt 0.318539 0.576008
vt 0.710670 0.483156
vt 0.731303 0.458009
vt 0.938416 0.548420
vt 0.722804 0.505829
vt 0.668840 0.608672
vt 0.623856 0.671057
vt 0.584008 0.546251
vt 0.665070 0.585205
vt 0.730212 0.636289
vt 0.709888 0.610891
vt 0.722299 0.588369
vt 0.669598 0.484873
vt 0.665541 0.508292
vt 0.625380 0.421942
vt 0.710294 0.566741
vt 0.676652 0.564725
vt 0.670759 0.546782
vt 0.721862 0.547095
vt 0.710535 0.527308
vt 0.676871 0.528913
vn 0.995000 -0.099500 -0.000000
vn 0.000000 -0.099500 0.995000
vn -0.995000 -0.099500 0.000000
vn -0.000000 -0.099500 -0.995000
vn 0.000000 1.000000 0.000000
vn -0.000000 0.000000 -1.000000
vn -0.000000 -1.000000 0.000000
vn 0.711300 -0.000000 0.702900
vn -1.000000 0.000000 0.000000
vn 1.000000 -0.000000 -0.000000
vn 0.505200 0.000000 -0.863000
vn -0.711300 0.000000 0.702900
vn -0.000000 0.564800 -0.825300
vn -0.505200 0.000000 -0.863000
vn 0.000000 0.906200 0.422800
vn 0.422800 0.906200 -0.000000
vn -0.422800 0.906200 0.000000
vn 0.000000 0.906200 -0.422800
vn 0.692100 0.205000 -0.692100
vn -0.340200 -0.876600 -0.340200
vn -0.692100 0.205000 -0.692100
vn 0.864500 0.502700 -0.000000
vn 0.340200 -0.876600 -0.340200
vn -0.864500 0.502700 0.000000
vn -0.000000 0.502700 -0.864500
vn 0.000000 0.502700 0.864500
vn 0.692100 0.205000 0.692100
vn -0.340200 -0.876600 0.340200
vn -0.692100 0.205000 0.692100
vn 0.340200 -0.876600 0.340200
s off
f 2/1/1 4/2/1 3/3/1 1/4/1
f 4/2/2 8/5/2 7/6/2 3/3/2
f 8/5/3 6/7/3 5/8/3 7/6/3
f 6/7/4 2/9/4 1/10/4 5/8/4
f 3/11/5 7/12/5 12/13/5 10/14/5
f 11/15/6 9/16/6 13/17/6 15/18/6
f 5/19/5 1/20/5 9/16/5 11/15/5
f 7/12/5 5/19/5 11/15/5 12/13/5
f 1/20/5 3/11/5 10/14/5 9/16/5
f 13/21/7 14/22/7 16/23/7 15/24/7
f 14/25/8 10/14/8 18/26/8 20/27/8
f 12/13/9 11/15/9 15/18/9 16/28/9
f 9/16/10 10/14/10 14/25/10 13/17/10
f 20/27/11 18/26/11 22/29/11 24/30/11
f 10/14/5 12/13/5 17/31/5 18/26/5
f 12/13/12 16/28/12 19/32/12 17/31/12
f 16/23/7 14/22/7 20/33/7 19/34/7
f 18/26/13 17/31/13 21/35/13 22/29/13
f 17/31/14 19/32/14 23/36/14 21/35/14
f 19/34/7 20/33/7 24/37/7 23/38/7
f 1/39/15 5/40/15 28/41/15 26/42/15
f 27/43/5 25/44/5 26/42/5 28/41/5
f 5/40/16 7/45/16 27/43/16 28/41/16
f 3/46/17 1/39/17 26/42/17 25/44/17
f 7/45/18 3/46/18 25/44/18 27/43/18
f 35/47/19 31/48/19 41/49/19 43/50/19
f 37/51/20 29/52/20 42/53/20 45/54/20
f 31/55/21 39/56/21 46/57/21 41/49/21
f 33/58/22 35/47/22 43/50/22 44/59/22
f 29/60/23 33/58/23 44/59/23 42/53/23
f 39/56/24 37/51/24 45/54/24 46/57/24
f 35/47/25 33/58/25 29/60/25 31/48/25
f 40/61/26 38/62/26 30/63/26 32/64/26
f 43/50/27 41/49/27 32/64/27 36/65/27
f 45/54/28 42/53/28 30/63/28 38/62/28
f 31/55/25 29/52/25 37/51/25 39/56/25
f 32/64/26 30/63/26 34/66/26 36/65/26
f 41/49/29 46/57/29 40/61/29 32/64/29
f 44/59/22 43/50/22 36/65/22 34/66/22
f 42/53/30 44/59/30 34/66/30 30/63/30
f 46/57/24 45/54/24 38/62/24 40/61/24

View File

@ -52,6 +52,8 @@ minetest.register_node(":default:torch", {
on_timer = function(pos, elapsed)
local timer = minetest.get_node_timer(pos)
local node = minetest.get_node(pos)
print (node.name)
print (node)
minetest.swap_node(pos, {name = 'more_fire:torch_stub', param2 = node.param2})
timer:stop()
end,
@ -84,7 +86,7 @@ minetest.register_node('more_fire:torch_stub', {
wall_bottom = {-0.1, -0.5 , -0.1, 0.1, -0.2, 0.1},
wall_side = {-0.35, -0.5 , -0.1, -0.5, -0.2, 0.1},
},
groups = {choppy = 2, dig_immediate = 3, flammable = 1, attached_node = 1},
groups = {choppy = 2, dig_immediate = 3, flammable = 1, attached_node = 1, not_in_creative_inventory =1},
sounds = default.node_sound_wood_defaults(),})
minetest.register_node('more_fire:charcoal_block', {
@ -128,6 +130,7 @@ minetest.register_node('more_fire:embers', {
is_ground_content = true,
groups = {dig_immediate=3, flammable=1,},
paramtype = 'light',
light_source = 5,
drop = 'more_fire:kindling',
selection_box = {
type = 'fixed',
@ -219,7 +222,6 @@ minetest.register_node('more_fire:kindling_contained', {
},
on_construct = function(pos)
local meta = minetest.env:get_meta(pos)
-- meta:set_string('formspec', more_fire.embers_formspec)
local inv = meta:get_inventory()
inv:set_size('fuel', 4)
end,
@ -234,6 +236,7 @@ minetest.register_node('more_fire:embers_contained', {
is_ground_content = true,
groups = {dig_immediate=3, flammable=1, not_in_creative_inventory=1},
paramtype = 'light',
light_source = 5,
drop = 'more_fire:kindling_contained',
inventory_image = 'more_fire_campfire_contained.png',
wield_image = 'more_fire_campfire_contained.png',
@ -310,3 +313,88 @@ minetest.register_node('more_fire:campfire_contained', {
get_staticdata = function(self)
end,
})
minetest.register_node('more_fire:oil_lamp_on', {
description = 'oil lamp',
drawtype = 'mesh',
mesh = 'more_fire_lamp.obj',
tiles = {'more_fire_lamp.png'},
groups = {choppy=2, dig_immediate=2, not_in_creative_inventory=1},
paramtype = 'light',
paramtype2 = 'facedir',
walkable = false,
light_source = LIGHT_MAX,
drop = 'more_fire:oil_lamp_off',
selection_box = {
type = 'fixed',
fixed = {-.2, -.4, -0.1, 0.2, .35, .5},
},
on_timer = function(pos, itemstack)
local node = minetest.get_node(pos)
local meta = minetest.env:get_meta(pos)
local inv = meta:get_inventory()
local timer = minetest.get_node_timer(pos)
if inv:contains_item('fuel', 'more_fire:oil') then
local fuelstack = inv:get_stack('fuel', 1)
print 'there is oil in the lantern.'
timer:start(12*60)
print 'taking oil from lamp.'
fuelstack:take_item()
inv:set_stack('fuel', 1, fuelstack)
if inv:is_empty('fuel') then
minetest.set_node(pos, {name = 'more_fire:oil_lamp_off', param2=node.param2})
end
timer:stop()
elseif inv:is_empty('fuel') then
print 'no fuel left.'
minetest.set_node(pos, {name = 'more_fire:oil_lamp_off', param2=node.param2})
timer:stop()
end
end,
})
minetest.register_node('more_fire:oil_lamp_off', {
description = 'oil lamp',
drawtype = 'mesh',
mesh = 'more_fire_lamp.obj',
tiles = {'more_fire_lamp.png'},
groups = {choppy=2, dig_immediate=2,},
paramtype = 'light',
paramtype2 = 'facedir',
walkable = false,
inventory_image = 'more_fire_lamp_inv.png',
wield_image = 'more_fire_lamp_inv.png',
light_source = 1,
selection_box = {
type = 'fixed',
fixed = {-.2, -.4, -0.1, 0.2, .35, .5},
},
on_construct = function(pos)
local meta = minetest.env:get_meta(pos)
local inv = meta:get_inventory()
inv:set_size("main", 8*4)
inv:set_size('fuel', 1)
meta:set_string("formspec",
"size[8,9]"..
"label[1,0;Add lantern oil for a brighter flame.]" ..
"list[current_name;fuel;1,1.5;1,1]"..
"list[current_player;main;0,5;8,4;]")
meta:set_string("infotext", "Oil Lantern")
end,
on_metadata_inventory_put = function(pos, listname, index, stack, player)
local meta = minetest.env:get_meta(pos)
local inv = meta:get_inventory()
local timer = minetest.get_node_timer(pos)
local node = minetest.get_node(pos)
if inv:contains_item('fuel', 'more_fire:oil') then
minetest.swap_node(pos, {name = 'more_fire:oil_lamp_on', param2=node.param2})
timer:start(12*60) --one oil unit will burn for 12 minutes
meta:set_string('infotext', 'Burning Oil Lamp')
meta:set_string("formspec",
"size[8,9]"..
"label[1,0;keep filled with lantern oil for a bright flame.]" ..
"list[current_name;fuel;1,1.5;1,1]"..
"list[current_player;main;0,5;8,4;]")
end
end,
})

BIN
textures/more_fire_lamp.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 24 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 828 B

BIN
textures/more_fire_oil.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 444 B