119 lines
4.1 KiB
Lua
119 lines
4.1 KiB
Lua
function default.get_hotbar_bg(x,y)
|
|
local out = ''
|
|
for i=0,7,1 do
|
|
out = out ..'image['..x+i..','..y..';1,1;gui_hb_bg.png]'
|
|
end
|
|
return out
|
|
end
|
|
|
|
function more_fire.fire_formspec(item_percent)
|
|
local formspec =
|
|
'size[8,6.75]'..
|
|
default.gui_slots..
|
|
'listcolors[#00000069;#5A5A5A;#141318;#30434C;#FFF]'..
|
|
'background[8,6.75;0,0;more_fire_campfire_bg.png;true]'..
|
|
'label[2,.75;< Add More Wood]'..
|
|
'label[1.25,2; Cook Something >]'..
|
|
'list[current_name;fuel;1,.5;1,1;]'..
|
|
'list[current_name;src;4,1.75;1,1;]'..
|
|
'image[5,1.75;1,1;gui_furnace_arrow_bg.png^[lowpart:'..
|
|
(item_percent)..':gui_furnace_arrow_fg.png^[transformR270]'..
|
|
'list[current_name;dst;6,1.75;2,1;]'..
|
|
'list[current_player;main;0,2.75;8,1;]'..
|
|
'list[current_player;main;0,4;8,3;8]'..
|
|
default.get_hotbar_bg(0,2.75)
|
|
return formspec
|
|
end
|
|
|
|
more_fire.embers_formspec =
|
|
'size[8,6.75]'..
|
|
default.gui_slots..
|
|
'listcolors[#00000069;#5A5A5A;#141318;#30434C;#FFF]'..
|
|
'background[8,6.75;0,0;more_fire_campfire_bg.png;true]'..
|
|
'label[2,.75;< Add More Wood]'..
|
|
'label[1.25,2; Cook Something >]'..
|
|
'list[current_name;fuel;1,.5;1,1;]'..
|
|
'list[current_name;src;4,1.75;1,1;]'..
|
|
'image[5,1.75;1,1;gui_furnace_arrow_bg.png^[transformR270]'..
|
|
'list[current_name;dst;6,1.75;2,1;]'..
|
|
'list[current_player;main;0,2.75;8,1;]'..
|
|
'list[current_player;main;0,4;8,3;8]'..
|
|
default.get_hotbar_bg(0,2.75)
|
|
|
|
function burn(pointed_thing) --kindling doesn't always start from the first spark
|
|
local ignite_chance = math.random(5)
|
|
if ignite_chance == 1
|
|
and string.find(minetest.get_node(pointed_thing.under).name, 'more_fire:kindling_contained')
|
|
then
|
|
minetest.set_node(pointed_thing.under, {name = 'more_fire:embers_contained'})
|
|
elseif ignite_chance == 1
|
|
and string.find(minetest.get_node(pointed_thing.under).name, 'more_fire:kindling')
|
|
then
|
|
minetest.set_node(pointed_thing.under, {name = 'more_fire:embers'})
|
|
else --Do nothing
|
|
end
|
|
end
|
|
|
|
function smoke_particles(pos)
|
|
minetest.add_particlespawner({
|
|
amount = 1, -- how many particles do you want
|
|
time = 2, -- spawner stops after this time (use 0 for infinite)
|
|
minpos = {x=pos.x, y=pos.y, z=pos.z}, -- minimum offset
|
|
maxpos = {x=pos.x, y=pos.y, z=pos.z}, -- maximum offset
|
|
minvel = {x=-.1, y=0, z=-.1}, -- minimum velocity
|
|
maxvel = {x=.1, y=.4, z=.1}, -- maximum velocity
|
|
minacc = {x=-.05, y=.02, z=-.05}, -- minimum acceleration
|
|
maxacc = {x=.1, y=.1, z=.1}, -- maximim acceleration
|
|
minexptime = 3, -- minimum expiration time
|
|
maxexptime = 6, -- maximum expiration time
|
|
minsize = 3, -- minimum size (0.5 = half size)
|
|
maxsize = 8, -- maximum size (1=full resolution)
|
|
collisiondetection = false, -- do particles stop when they hit solid node
|
|
texture = 'more_fire_smoke.png', -- image to use (e.g. 'bubble.png' )
|
|
vertical = false, -- upright/vertical image for rain
|
|
-- playername = 'singleplayer', -- particles only appear for this player
|
|
})
|
|
end
|
|
|
|
function ember_particles(pos)
|
|
minetest.add_particlespawner({
|
|
amount = 1,
|
|
time = 2,
|
|
minpos = {x=pos.x, y=pos.y, z=pos.z},
|
|
maxpos = {x=pos.x, y=pos.y, z=pos.z},
|
|
minvel = {x=-.15, y=.3, z=-.15},
|
|
maxvel = {x=.1, y=.6, z=.1},
|
|
minacc = {x=-.05, y=.02, z=-.05},
|
|
maxacc = {x=.1, y=.3, z=.1},
|
|
minexptime = 1,
|
|
maxexptime = 3,
|
|
minsize = 1,
|
|
maxsize = 2,
|
|
collisiondetection = false,
|
|
texture = 'more_fire_embers.png',
|
|
vertical = false,
|
|
-- playername = 'singleplayer',
|
|
})
|
|
end
|
|
|
|
function lava_particles(pos)
|
|
minetest.add_particlespawner({
|
|
amount = 2,
|
|
time = 1,
|
|
minpos = {x=pos.x, y=pos.y-.5, z=pos.z},
|
|
maxpos = {x=pos.x, y=pos.y, z=pos.z},
|
|
minvel = {x=-.4, y=1, z=-.4},
|
|
maxvel = {x=.4, y=1.5, z=.4},
|
|
minacc = {x=-.4, y=1, z=-.4},
|
|
maxacc = {x=.4, y=1.5, z=.4},
|
|
minexptime = 1,
|
|
maxexptime = 1.5,
|
|
minsize = .6,
|
|
maxsize = 2,
|
|
collisiondetection = false,
|
|
texture = 'more_fire_lava_blob.png',
|
|
vertical = false,
|
|
-- playername = 'singleplayer',
|
|
})
|
|
end
|