small updates and cleaning of code.

master
NathanSalapat 2020-06-04 22:04:36 -05:00
parent 25cf56720a
commit b86d78cc77
24 changed files with 1204 additions and 1031 deletions

View File

@ -1,19 +0,0 @@
Textures:
Flint image created by me with Blender.
Charcoal_Lump created from the default_coal_lump that ships with minetest.
campfire inventory image from Esteban on the minetest forum licensed CC by SA
Kindling inventory image created by modifying Esteban's campfire image.
Lighter image created by me with Blender.
Code:
3d torch code and nodebox's from Carbone, by Calinou CC0 1.0 Will be replaced with mesh torches once I figure that bit out.
Smokebomb and molotov cocktail coded by Napiophelios
Inspiration:
Napiophelios, from the forum, who gave me some really good ideas from the old campfire mod, which I didn't even know about.
Sound Effects:
Sparker sound from BroAsis on Freesound. https://www.freesound.org/people/BroAsis/sounds/106853/

View File

@ -1,3 +0,0 @@
This mod is licensed CC by SA, I'd do it at CC 0, but I've used some CC by SA items, so I have to use that. When I replace everything with my own materials I'll change it to CC 0.
Feel free to dissect and use portions of code or graphics for your own projects.

View File

@ -24,8 +24,6 @@ minetest.register_abm({ -- Controls non-contained fire
local srcstack = inv:get_stack("src", 1) local srcstack = inv:get_stack("src", 1)
srcstack:take_item() srcstack:take_item()
inv:set_stack("src", 1, srcstack) inv:set_stack("src", 1, srcstack)
else
print("Could not insert '"..cooked.item:to_string().."'")
end end
meta:set_string("src_time", 0) meta:set_string("src_time", 0)
end end

View File

@ -1,3 +1,6 @@
6-4-20:
Code updates and cleaning. No new features.
8-26-15: 8-26-15:
You can finally cook in the fires, there seems to be a little bug yet in the arrow showing the progress of the cooking, but mechanics all seem to work alright. You can finally cook in the fires, there seems to be a little bug yet in the arrow showing the progress of the cooking, but mechanics all seem to work alright.

View File

@ -1,4 +1,3 @@
-- check if charcoal already defined by mod ethereal -- check if charcoal already defined by mod ethereal
if minetest.get_modpath("ethereal") then if minetest.get_modpath("ethereal") then
minetest.override_item("ethereal:charcoal_lump",{groups={coal = 1}}) minetest.override_item("ethereal:charcoal_lump",{groups={coal = 1}})

View File

@ -5,7 +5,7 @@ minetest.register_craft({ --recycle old torches.
}) })
minetest.register_craft({ minetest.register_craft({
output = 'more_fire:charcoal_block 1', output = 'more_fire:charcoal_block',
recipe = { recipe = {
{'more_fire:charcoal', 'more_fire:charcoal', 'more_fire:charcoal'}, {'more_fire:charcoal', 'more_fire:charcoal', 'more_fire:charcoal'},
{'more_fire:charcoal', 'more_fire:charcoal', 'more_fire:charcoal'}, {'more_fire:charcoal', 'more_fire:charcoal', 'more_fire:charcoal'},
@ -21,7 +21,7 @@ minetest.register_craft({
}) })
minetest.register_craft({ minetest.register_craft({
output = 'more_fire:embers 1', output = 'more_fire:embers',
recipe = { recipe = {
{'more_fire:kindling'}, {'more_fire:kindling'},
{'default:torch'}, {'default:torch'},
@ -29,7 +29,7 @@ minetest.register_craft({
}) })
minetest.register_craft({ minetest.register_craft({
output = 'more_fire:embers 1', output = 'more_fire:embers',
recipe = { recipe = {
{'group:kindling', 'default:torch', 'group:kindling'}, {'group:kindling', 'default:torch', 'group:kindling'},
{'group:wood', 'group:wood', 'group:wood'}, {'group:wood', 'group:wood', 'group:wood'},
@ -37,7 +37,7 @@ minetest.register_craft({
}) })
minetest.register_craft({ minetest.register_craft({
output = 'more_fire:embers 1', output = 'more_fire:embers',
recipe = { recipe = {
{'group:flammable', 'default:torch', 'group:flammable'}, {'group:flammable', 'default:torch', 'group:flammable'},
{'group:wood', 'group:wood', 'group:wood'}, {'group:wood', 'group:wood', 'group:wood'},
@ -45,7 +45,7 @@ minetest.register_craft({
}) })
minetest.register_craft({ minetest.register_craft({
output = 'more_fire:embers_contained 1', output = 'more_fire:embers_contained',
recipe = { recipe = {
{'', 'more_fire:embers', ''}, {'', 'more_fire:embers', ''},
{'default:cobble', 'default:cobble', 'default:cobble'}, {'default:cobble', 'default:cobble', 'default:cobble'},
@ -53,7 +53,7 @@ minetest.register_craft({
}) })
minetest.register_craft({ minetest.register_craft({
output = 'more_fire:embers_contained 1', output = 'more_fire:embers_contained',
recipe = { recipe = {
{'more_fire:kindling_contained'}, {'more_fire:kindling_contained'},
{'default:torch'}, {'default:torch'},
@ -76,7 +76,7 @@ minetest.register_craft({
}) })
minetest.register_craft({ minetest.register_craft({
output = 'more_fire:kindling 1', output = 'more_fire:kindling',
recipe = { recipe = {
{'group:kindling', '', 'group:kindling'}, {'group:kindling', '', 'group:kindling'},
{'group:kindling', 'group:wood', 'group:kindling'}, {'group:kindling', 'group:wood', 'group:kindling'},
@ -84,7 +84,7 @@ minetest.register_craft({
}) })
minetest.register_craft({ minetest.register_craft({
output = 'more_fire:kindling_contained 1', output = 'more_fire:kindling_contained',
recipe = { recipe = {
{'','more_fire:kindling', ''}, {'','more_fire:kindling', ''},
{'default:cobble','default:cobble','default:cobble'}, {'default:cobble','default:cobble','default:cobble'},
@ -92,7 +92,7 @@ minetest.register_craft({
}) })
minetest.register_craft({ minetest.register_craft({
output = 'more_fire:oil_lamp_off 1', output = 'more_fire:oil_lamp_off',
recipe = { recipe = {
{'default:glass'}, {'default:glass'},
{'farming:cotton'}, {'farming:cotton'},
@ -101,7 +101,7 @@ minetest.register_craft({
}) })
minetest.register_craft({ minetest.register_craft({
output = 'more_fire:oil 1', output = 'more_fire:oil',
recipe = { recipe = {
{'group:leaves', 'group:leaves', 'group:leaves'}, {'group:leaves', 'group:leaves', 'group:leaves'},
{'group:leaves', 'group:leaves', 'group:leaves'}, {'group:leaves', 'group:leaves', 'group:leaves'},
@ -110,14 +110,14 @@ minetest.register_craft({
}) })
minetest.register_craft({ minetest.register_craft({
output = 'more_fire:oil_lamp_off 1', output = 'more_fire:oil_lamp_off',
recipe = { recipe = {
{'more_fire:oil_lamp_table_off'} {'more_fire:oil_lamp_table_off'}
} }
}) })
minetest.register_craft({ minetest.register_craft({
output = 'more_fire:oil_lamp_table_off 1', output = 'more_fire:oil_lamp_table_off',
recipe = { recipe = {
{'more_fire:oil_lamp_off'} {'more_fire:oil_lamp_off'}
} }

View File

@ -1,4 +0,0 @@
default
farming
fire
vessels

View File

@ -1 +0,0 @@
This is a Minetest mod that adds more/better fire related stuff.

View File

@ -26,19 +26,19 @@ function more_fire.fire_formspec(item_percent)
end end
more_fire.embers_formspec = more_fire.embers_formspec =
'size[8,6.75]'.. 'size[8,6.75]'..
default.gui_slots.. default.gui_slots..
'listcolors[#00000069;#5A5A5A;#141318;#30434C;#FFF]'.. 'listcolors[#00000069;#5A5A5A;#141318;#30434C;#FFF]'..
'background[8,6.75;0,0;more_fire_campfire_bg.png;true]'.. 'background[8,6.75;0,0;more_fire_campfire_bg.png;true]'..
'label[2,.75;< Add More Wood]'.. 'label[2,.75;< Add More Wood]'..
'label[1.25,2; Cook Something >]'.. 'label[1.25,2; Cook Something >]'..
'list[current_name;fuel;1,.5;1,1;]'.. 'list[current_name;fuel;1,.5;1,1;]'..
'list[current_name;src;4,1.75;1,1;]'.. 'list[current_name;src;4,1.75;1,1;]'..
'image[5,1.75;1,1;gui_furnace_arrow_bg.png^[transformR270]'.. 'image[5,1.75;1,1;gui_furnace_arrow_bg.png^[transformR270]'..
'list[current_name;dst;6,1.75;2,1;]'.. 'list[current_name;dst;6,1.75;2,1;]'..
'list[current_player;main;0,2.75;8,1;]'.. 'list[current_player;main;0,2.75;8,1;]'..
'list[current_player;main;0,4;8,3;8]'.. 'list[current_player;main;0,4;8,3;8]'..
default.get_hotbar_bg(0,2.75) default.get_hotbar_bg(0,2.75)
function smoke_particles(pos) function smoke_particles(pos)
minetest.add_particlespawner({ minetest.add_particlespawner({
@ -57,7 +57,6 @@ function smoke_particles(pos)
collisiondetection = false, -- do particles stop when they hit solid node collisiondetection = false, -- do particles stop when they hit solid node
texture = 'more_fire_smoke.png', -- image to use (e.g. 'bubble.png' ) texture = 'more_fire_smoke.png', -- image to use (e.g. 'bubble.png' )
vertical = false, -- upright/vertical image for rain vertical = false, -- upright/vertical image for rain
-- playername = 'singleplayer', -- particles only appear for this player
}) })
end end
@ -78,7 +77,6 @@ function ember_particles(pos)
collisiondetection = false, collisiondetection = false,
texture = 'more_fire_embers.png', texture = 'more_fire_embers.png',
vertical = false, vertical = false,
-- playername = 'singleplayer',
}) })
end end
@ -99,6 +97,5 @@ function lava_particles(pos)
collisiondetection = false, collisiondetection = false,
texture = 'more_fire_lava_blob.png', texture = 'more_fire_lava_blob.png',
vertical = false, vertical = false,
-- playername = 'singleplayer',
}) })
end end

View File

@ -12,7 +12,6 @@ dofile(minetest.get_modpath('more_fire')..'/abms.lua')
dofile(minetest.get_modpath('more_fire')..'/nodes.lua') dofile(minetest.get_modpath('more_fire')..'/nodes.lua')
dofile(minetest.get_modpath('more_fire')..'/craftitems.lua') dofile(minetest.get_modpath('more_fire')..'/craftitems.lua')
dofile(minetest.get_modpath('more_fire')..'/crafts.lua') dofile(minetest.get_modpath('more_fire')..'/crafts.lua')
dofile(minetest.get_modpath('more_fire')..'/tools.lua')
if minetest.settings:get_bool('more_fire.pyromania') then if minetest.settings:get_bool('more_fire.pyromania') then
dofile(minetest.get_modpath('more_fire')..'/molotov.lua') dofile(minetest.get_modpath('more_fire')..'/molotov.lua')
dofile(minetest.get_modpath('more_fire')..'/smokebomb.lua') dofile(minetest.get_modpath('more_fire')..'/smokebomb.lua')

12
license.txt Normal file
View File

@ -0,0 +1,12 @@
Code is licensed MIT
Smokebomb and Molotov cocktail by Napiophelios.
Everything else by Nathan Salapat
lib/Vec3_1-0.lua by prestidigitator licensed under WTFPL
Models and Textures licensed CC by SA Nathan Salapat
Spark sound licensed CC0 by BroAsis, https://freesound.org/people/BroAsis/sounds/106853/
Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions:
The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software.
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.

View File

@ -1,5 +1,6 @@
name = more_fire name = more_fire
depends=default,farming,fire,vessels title = More Fire
depends = default,farming,fire,vessels
description = This is a Minetest mod that adds more/better fire related stuff. description = This is a Minetest mod that adds more/better fire related stuff.
author = Nathan, Napiophelios author = Nathan, Napiophelios
optional_depends = ethereal optional_depends = ethereal

225
models/campfire.obj Normal file
View File

@ -0,0 +1,225 @@
# Blender v2.79 (sub 0) OBJ File: 'campfire.blend'
# www.blender.org
o Plane
v -0.240246 -0.438696 -0.141059
v 0.205043 -0.438696 0.192756
v -0.239959 0.135875 -0.141442
v 0.205331 0.135875 0.192373
v -0.216088 -0.438696 0.214432
v 0.181502 -0.438696 -0.162771
v -0.216417 0.135875 0.214085
v 0.181172 0.135875 -0.163119
vt 0.000000 0.875000
vt 1.000000 0.875000
vt 1.000000 1.000000
vt 0.000000 1.000000
vt 0.000000 0.875000
vt 1.000000 0.875000
vt 1.000000 1.000000
vt -0.000000 1.000000
vn -0.5998 0.0008 0.8001
vn 0.6883 0.0008 0.7255
g Plane_Plane_Material.001
s off
f 1/1/1 2/2/1 4/3/1 3/4/1
f 5/5/2 6/6/2 8/7/2 7/8/2
o nodebox3
v 0.250000 -0.500000 -0.500000
v 0.250000 -0.500000 0.500000
v 0.250000 -0.437500 0.500000
v 0.250000 -0.437500 -0.500000
v -0.250000 -0.500000 -0.500000
v -0.250000 -0.500000 0.500000
v -0.250000 -0.437500 0.500000
v -0.250000 -0.437500 -0.500000
v 0.243779 -0.499707 -0.497529
v 0.493779 -0.499707 -0.497421
v 0.493779 -0.249707 -0.497421
v 0.243779 -0.249707 -0.497529
v 0.243349 -0.499707 0.502471
v 0.493349 -0.499707 0.502579
v 0.493349 -0.249707 0.502578
v 0.243349 -0.249707 0.502471
v 0.493779 -0.499707 -0.497421
v 0.493779 -0.249707 -0.497421
v 0.493349 -0.499707 0.502579
v 0.493349 -0.249707 0.502578
v -0.500021 -0.499707 -0.497848
v -0.250021 -0.499707 -0.497741
v -0.250021 -0.249707 -0.497741
v -0.500021 -0.249707 -0.497848
v -0.500451 -0.499707 0.502152
v -0.250451 -0.499707 0.502259
v -0.250451 -0.249707 0.502259
v -0.500451 -0.249707 0.502152
v -0.250021 -0.499707 -0.497741
v -0.250021 -0.249707 -0.497741
v -0.250451 -0.499707 0.502259
v -0.250451 -0.249707 0.502259
v 0.500000 -0.312500 -0.493800
v 0.500000 -0.312500 -0.243800
v 0.500000 -0.062500 -0.243800
v 0.500000 -0.062500 -0.493800
v -0.500000 -0.312500 -0.493800
v -0.500000 -0.312500 -0.243800
v -0.500000 -0.062500 -0.243800
v -0.500000 -0.062500 -0.493800
v 0.500000 -0.312500 -0.243800
v 0.500000 -0.062500 -0.243800
v -0.500000 -0.312500 -0.243800
v -0.500000 -0.062500 -0.243800
v 0.500000 -0.312500 0.250000
v 0.500000 -0.312500 0.500000
v 0.500000 -0.062500 0.500000
v 0.500000 -0.062500 0.250000
v -0.500000 -0.312500 0.250000
v -0.500000 -0.312500 0.500000
v -0.500000 -0.062500 0.500000
v -0.500000 -0.062500 0.250000
v 0.500000 -0.312500 0.500000
v 0.500000 -0.062500 0.500000
v -0.500000 -0.312500 0.500000
v -0.500000 -0.062500 0.500000
vt 0.999982 0.000018
vt 0.999982 0.031267
vt 0.000018 0.031267
vt 0.000018 0.000018
vt 0.999982 0.000018
vt 0.999982 0.031267
vt 0.000018 0.031267
vt 0.000018 0.000018
vt 1.000000 0.109375
vt 0.000000 0.109375
vt 0.000071 0.000071
vt 0.999929 0.000071
vt 1.000000 0.125000
vt 0.000000 0.125000
vt 0.000071 0.000071
vt 0.000000 0.937500
vt 0.000000 0.875000
vt 0.250000 0.875000
vt 0.250000 0.937500
vt 0.000000 0.937500
vt 0.000000 0.875000
vt 0.250000 0.875000
vt 0.250000 0.937500
vt 1.000000 0.937500
vt 1.000000 1.000000
vt 0.000000 1.000000
vt 1.000000 1.000000
vt 0.000000 1.000000
vt 1.000000 0.937500
vt 1.000000 1.000000
vt 0.000000 1.000000
vt 0.000000 0.937500
vt 1.000000 0.937500
vt 1.000000 1.000000
vt 0.000000 1.000000
vt 0.000000 0.937500
vt 0.000000 0.937500
vt 0.000000 0.875000
vt 0.250000 0.875000
vt 0.250000 0.937500
vt 0.000000 0.937500
vt 0.000000 0.875000
vt 0.250000 0.875000
vt 0.250000 0.937500
vt 1.000000 0.937500
vt 1.000000 1.000000
vt 0.000000 1.000000
vt 1.000000 1.000000
vt 0.000000 1.000000
vt 1.000000 0.937500
vt 1.000000 1.000000
vt 0.000000 1.000000
vt 0.000000 0.937500
vt 1.000000 0.937500
vt 1.000000 1.000000
vt 0.000000 1.000000
vt 0.000000 0.937500
vt 0.000000 0.937500
vt 0.000000 0.875000
vt 0.250000 0.875000
vt 0.250000 0.937500
vt 0.000000 0.937500
vt 0.000000 0.875000
vt 0.250000 0.875000
vt 0.250000 0.937500
vt 1.000000 0.937500
vt 1.000000 1.000000
vt 0.000000 1.000000
vt 1.000000 1.000000
vt 0.000000 1.000000
vt 1.000000 0.937500
vt 1.000000 1.000000
vt 0.000000 1.000000
vt 0.000000 0.937500
vt 1.000000 0.937500
vt 1.000000 1.000000
vt 0.000000 1.000000
vt 0.000000 0.937500
vt 0.000000 0.937500
vt 0.000000 0.875000
vt 0.250000 0.875000
vt 0.250000 0.937500
vt 0.000000 0.937500
vt 0.000000 0.875000
vt 0.250000 0.875000
vt 0.250000 0.937500
vt 1.000000 0.937500
vt 1.000000 1.000000
vt 0.000000 1.000000
vt 1.000000 1.000000
vt 0.000000 1.000000
vt 1.000000 0.937500
vt 1.000000 1.000000
vt 0.000000 1.000000
vt 0.000000 0.937500
vt 1.000000 0.937500
vt 1.000000 1.000000
vt 0.000000 1.000000
vt 0.000000 0.937500
vt 0.000000 0.000000
vt 0.000000 0.000000
vt 0.000000 0.000000
vt 0.000000 0.000000
vt 0.000000 0.000000
vt 0.000000 0.000000
vn 0.0000 0.0000 1.0000
vn 0.0000 -1.0000 -0.0000
vn -0.0004 0.0000 1.0000
vn 1.0000 -0.0000 0.0004
vn -1.0000 0.0000 0.0000
g nodebox3_nodebox3_none
s off
f 9/9/3 12/10/3 16/11/3 13/12/3
f 10/13/3 11/14/3 15/15/3 14/16/3
f 9/9/4 10/17/4 14/18/4 13/19/4
f 12/20/4 11/21/4 15/22/4 16/23/4
f 17/24/5 18/25/5 19/26/5 20/27/5
f 21/28/5 22/29/5 23/30/5 24/31/5
f 17/32/6 20/33/6 24/34/6 21/28/6
f 17/32/4 18/35/4 22/36/4 21/28/4
f 20/37/4 19/38/4 23/39/4 24/40/4
f 25/41/6 26/42/6 28/43/6 27/44/6
f 29/45/5 30/46/5 31/47/5 32/48/5
f 33/49/5 34/50/5 35/51/5 36/52/5
f 29/53/6 32/54/6 36/55/6 33/49/6
f 29/53/4 30/56/4 34/57/4 33/49/4
f 32/58/4 31/59/4 35/60/4 36/61/4
f 37/62/6 38/63/6 40/64/6 39/65/6
f 41/66/7 42/67/7 43/68/7 44/69/7
f 45/70/7 46/71/7 47/72/7 48/73/7
f 41/74/3 44/75/3 48/76/3 45/70/3
f 41/74/4 42/77/4 46/78/4 45/70/4
f 44/79/4 43/80/4 47/81/4 48/82/4
f 49/83/3 50/84/3 52/85/3 51/86/3
f 53/87/7 54/88/7 55/89/7 56/90/7
f 57/91/7 58/92/7 59/93/7 60/94/7
f 53/95/3 56/96/3 60/97/3 57/91/3
f 53/95/4 54/98/4 58/99/4 57/91/4
f 56/100/4 55/101/4 59/102/4 60/103/4
f 61/104/3 62/105/3 64/106/3 63/107/3
g nodebox3_nodebox3_none_NONE
f 9/108/7 10/109/7 11/110/7 12/111/7
f 13/12/7 14/16/7 15/112/7 16/113/7

Binary file not shown.

View File

@ -1,14 +0,0 @@
# Blender v2.74 (sub 5) OBJ File: ''
# www.blender.org
o Plane
v -0.500000 -0.479483 0.500000
v 0.500000 -0.479483 0.500000
v -0.500000 -0.479483 -0.500000
v 0.500000 -0.479483 -0.500000
vt 0.000100 0.000100
vt 0.999900 0.000100
vt 0.999900 0.999900
vt 0.000100 0.999900
vn 0.000000 1.000000 0.000000
s off
f 1/1/1 2/2/1 4/3/1 3/4/1

Binary file not shown.

View File

@ -1,9 +1,9 @@
--Molotov Cocktail_[rev002] --Molotov Cocktail_[rev002]
--base code is from throwing enhanced and potions mods --base code is from throwing enhanced and potions mods
local MOD_NAME = minetest.get_current_modname() local MOD_NAME = minetest.get_current_modname()
local MOD_PATH = minetest.get_modpath(MOD_NAME) local MOD_PATH = minetest.get_modpath(MOD_NAME)
local Vec3 = dofile(MOD_PATH..'/lib/Vec3_1-0.lua') local Vec3 = dofile(MOD_PATH..'/lib/Vec3_1-0.lua')
minetest.register_craftitem('more_fire:molotov_cocktail', { minetest.register_craftitem('more_fire:molotov_cocktail', {
description = 'Molotov Cocktail', description = 'Molotov Cocktail',
@ -12,10 +12,10 @@ minetest.register_craftitem('more_fire:molotov_cocktail', {
itemstack:take_item() itemstack:take_item()
minetest.sound_play('more_fire_shatter', {gain = 1.0}) minetest.sound_play('more_fire_shatter', {gain = 1.0})
n = minetest.get_node(pointed_thing) n = minetest.get_node(pointed_thing)
if pointed_thing.type == 'node' then if pointed_thing.type == 'node' then
minetest.add_node(pointed_thing.above, {name='more_fire:napalm'}) minetest.add_node(pointed_thing.above, {name='more_fire:napalm'})
minetest.sound_play('more_fire_ignite', {pos,pos}) minetest.sound_play('more_fire_ignite', {pos,pos})
end end
--Shattered glass Particles --Shattered glass Particles
minetest.add_particlespawner({ minetest.add_particlespawner({
amount = 40, amount = 40,
@ -122,7 +122,7 @@ MORE_FIRE_MOLOTOV_ENTITY.on_step = function(self, dtime)
self.timer = self.timer + dtime self.timer = self.timer + dtime
local pos = self.object:getpos() local pos = self.object:getpos()
local node = minetest.get_node(pos) local node = minetest.get_node(pos)
minetest.add_particlespawner({ minetest.add_particlespawner({
amount = 10, amount = 10,
time = 0.5, time = 0.5,
minpos = pos, minpos = pos,
@ -214,7 +214,7 @@ minetest.add_particlespawner({
local n = minetest.get_node(pos).name local n = minetest.get_node(pos).name
if minetest.registered_nodes[n].groups.flammable or math.random(1, 100) <= 20 then if minetest.registered_nodes[n].groups.flammable or math.random(1, 100) <= 20 then
minetest.sound_play('more_fire_ignite', {pos = self.lastpos}) minetest.sound_play('more_fire_ignite', {pos = self.lastpos})
minetest.set_node(p, {name='more_fire:naplam'}) minetest.set_node(p, {name='more_fire:napalm'})
else else
minetest.sound_play('more_fire_ignite', {pos = self.lastpos}) minetest.sound_play('more_fire_ignite', {pos = self.lastpos})
minetest.set_node(p, {name='fire:basic_flame'}) minetest.set_node(p, {name='fire:basic_flame'})
@ -300,7 +300,7 @@ minetest.register_abm({
maxsize = 3, maxsize = 3,
collisiondetection = false, collisiondetection = false,
texture = 'more_fire_smoke.png'}) texture = 'more_fire_smoke.png'})
local r = 0-- Radius for destroying local r = 0-- Radius for destroying
for x = pos.x-r, pos.x+r, 1 do for x = pos.x-r, pos.x+r, 1 do
for y = pos.y-r, pos.y+r, 1 do for y = pos.y-r, pos.y+r, 1 do
for z = pos.z-r, pos.z+r, 1 do for z = pos.z-r, pos.z+r, 1 do
@ -325,10 +325,8 @@ minetest.register_abm({
interval = 1, interval = 1,
chance = 2, chance = 2,
action = function(pos, node) action = function(pos, node)
if if minetest.get_node({x=pos.x, y=pos.y+1.0, z=pos.z}).name == 'air' and
minetest.get_node({x=pos.x, y=pos.y+1.0, z=pos.z}).name == 'air' and minetest.get_node({x=pos.x, y=pos.y+2.0, z=pos.z}).name == 'air' then
minetest.get_node({x=pos.x, y=pos.y+2.0, z=pos.z}).name == 'air'
then
minetest.add_particlespawner({ minetest.add_particlespawner({
amount = 30, amount = 30,
time = 2, time = 2,
@ -364,13 +362,13 @@ minetest.register_abm({
}) })
--crafting recipes --crafting recipes
minetest.register_craft( { minetest.register_craft( {
output = 'more_fire:molotov_cocktail', output = 'more_fire:molotov_cocktail',
recipe = { recipe = {
{'farming:cotton'}, {'farming:cotton'},
{'more_fire:oil'}, {'more_fire:oil'},
{'vessels:glass_bottle'}, {'vessels:glass_bottle'},
} }
}) })
-- fuel recipes -- fuel recipes

View File

@ -223,8 +223,7 @@ minetest.register_node('more_fire:campfire', {
description = 'Burning Campfire', description = 'Burning Campfire',
drawtype = 'mesh', drawtype = 'mesh',
mesh = 'more_fire_campfire.obj', mesh = 'more_fire_campfire.obj',
tiles = { tiles = {{name='fire_basic_flame_animated.png', animation={type='vertical_frames', aspect_w=16, aspect_h=16, length=1}},{name='more_fire_campfire_logs.png'}},
{name='fire_basic_flame_animated.png', animation={type='vertical_frames', aspect_w=16, aspect_h=16, length=1}}, {name='more_fire_campfire_logs.png'}},
inventory_image = 'more_fire_campfire.png', inventory_image = 'more_fire_campfire.png',
wield_image = 'more_fire_campfire.png', wield_image = 'more_fire_campfire.png',
paramtype = 'light', paramtype = 'light',
@ -385,6 +384,7 @@ minetest.register_node('more_fire:oil_lamp_on', {
drawtype = 'mesh', drawtype = 'mesh',
mesh = 'more_fire_lamp_wall.obj', mesh = 'more_fire_lamp_wall.obj',
tiles = {'more_fire_lamp.png'}, tiles = {'more_fire_lamp.png'},
use_alpha_texture = true,
groups = {choppy=2, dig_immediate=2, not_in_creative_inventory=1}, groups = {choppy=2, dig_immediate=2, not_in_creative_inventory=1},
paramtype = 'light', paramtype = 'light',
paramtype2 = 'facedir', paramtype2 = 'facedir',

View File

@ -8,7 +8,7 @@
minetest.register_craftitem('more_fire:smokebomb', { minetest.register_craftitem('more_fire:smokebomb', {
description = 'Smoke Bomb', description = 'Smoke Bomb',
inventory_image = 'more_fire_smokebomb.png', inventory_image = 'more_fire_smokebomb.png',
on_place = function(itemstack, user, pointed_thing) on_place = function(itemstack, user, pointed_thing)
itemstack:take_item() itemstack:take_item()
minetest.sound_play('more_fire_shatter', {gain = 1.0}) minetest.sound_play('more_fire_shatter', {gain = 1.0})
--Shattered glass Particles --Shattered glass Particles
@ -83,7 +83,7 @@ on_place = function(itemstack, user, pointed_thing)
end, end,
}) })
local function throw_smokebomb(item, player) local function throw_smokebomb(item, player)
local playerpos = player:getpos() local playerpos = player:getpos()
local obj = minetest.add_entity({x=playerpos.x,y=playerpos.y+1.625,z=playerpos.z}, 'more_fire:smokebomb_entity') local obj = minetest.add_entity({x=playerpos.x,y=playerpos.y+1.625,z=playerpos.z}, 'more_fire:smokebomb_entity')
local dir = player:get_look_dir() local dir = player:get_look_dir()
@ -95,14 +95,12 @@ on_place = function(itemstack, user, pointed_thing)
return item return item
end end
local radius = 5 local function add_effects(pos)
local function add_effects(pos, radius)
minetest.add_particlespawner({ minetest.add_particlespawner({
amount = 200, amount = 200,
time = 0.1, time = 0.1,
minpos = vector.subtract(pos, radius / 3), minpos = vector.subtract(pos, 5 / 3),
maxpos = vector.add(pos, radius / 3), maxpos = vector.add(pos, 5 / 3),
minvel = {x=2, y=0.2, z=2}, minvel = {x=2, y=0.2, z=2},
maxvel = {x=-2, y=-0.5, z=-2}, maxvel = {x=-2, y=-0.5, z=-2},
minacc = {x=1, y=-6, z=1}, minacc = {x=1, y=-6, z=1},
@ -115,8 +113,8 @@ local function add_effects(pos, radius)
minetest.add_particlespawner({ minetest.add_particlespawner({
amount = 100, amount = 100,
time = 2, time = 2,
minpos = vector.subtract(pos, radius / 2), minpos = vector.subtract(pos, 5 / 2),
maxpos = vector.add(pos, radius / 2), maxpos = vector.add(pos, 5 / 2),
minvel = {x=0.2, y=0.2, z=0.2}, minvel = {x=0.2, y=0.2, z=0.2},
maxvel = {x=-0.2, y=0.5, z=-0.2}, maxvel = {x=-0.2, y=0.5, z=-0.2},
minacc = {x=10, y= 2, z=10}, minacc = {x=10, y= 2, z=10},
@ -131,7 +129,7 @@ end
local function plume(pos) local function plume(pos)
minetest.set_node(pos, {name='more_fire:plume'}) minetest.set_node(pos, {name='more_fire:plume'})
minetest.get_node_timer(pos):start(3.0) minetest.get_node_timer(pos):start(3.0)
add_effects(pos, radius) add_effects(pos)
end end
local MORE_FIRE_SMOKEBOMB_ENTITY = { local MORE_FIRE_SMOKEBOMB_ENTITY = {
@ -146,7 +144,7 @@ MORE_FIRE_SMOKEBOMB_ENTITY.on_step = function(self, dtime)
self.timer = self.timer + dtime self.timer = self.timer + dtime
local pos = self.object:getpos() local pos = self.object:getpos()
local node = minetest.get_node(pos) local node = minetest.get_node(pos)
minetest.add_particlespawner({ minetest.add_particlespawner({
amount = 10, amount = 10,
time = 0.5, time = 0.5,
minpos = pos, minpos = pos,
@ -198,7 +196,7 @@ minetest.add_particlespawner({
end end
end end
self.lastpos={x=pos.x, y=pos.y, z=pos.z} self.lastpos={x=pos.x, y=pos.y, z=pos.z}
end end
end end
minetest.register_entity('more_fire:smokebomb_entity', MORE_FIRE_SMOKEBOMB_ENTITY) minetest.register_entity('more_fire:smokebomb_entity', MORE_FIRE_SMOKEBOMB_ENTITY)
@ -218,10 +216,10 @@ description = 'Smoke Plume',
drop = '', drop = '',
walkable = false, walkable = false,
buildable_to = true, buildable_to = true,
damage_per_second = 1,
on_timer = function(pos, elapsed) on_timer = function(pos, elapsed)
minetest.remove_node(pos) minetest.remove_node(pos)
end, end,
damage_per_second = 1,
}) })
minetest.register_abm({ minetest.register_abm({
@ -230,10 +228,8 @@ minetest.register_abm({
interval = 1, interval = 1,
chance = 1, chance = 1,
action = function(pos, node) action = function(pos, node)
if if minetest.get_node({x=pos.x, y=pos.y+1.0, z=pos.z}).name == 'air' and
minetest.get_node({x=pos.x, y=pos.y+1.0, z=pos.z}).name == 'air' and minetest.get_node({x=pos.x, y=pos.y+2.0, z=pos.z}).name == 'air' then
minetest.get_node({x=pos.x, y=pos.y+2.0, z=pos.z}).name == 'air'
then
minetest.add_particlespawner({ minetest.add_particlespawner({
amount = 400, amount = 400,
time = 3, time = 3,
@ -267,8 +263,8 @@ minetest.register_abm({
minetest.add_particlespawner({ minetest.add_particlespawner({
amount = 400, amount = 400,
time = 2, time = 2,
minpos = vector.subtract(pos, radius / 2), minpos = vector.subtract(pos, 5 / 2),
maxpos = vector.add(pos, radius / 2), maxpos = vector.add(pos, 5 / 2),
minvel = {x=0.2, y=2, z=0.2}, minvel = {x=0.2, y=2, z=0.2},
maxvel = {x=-0.2, y=2, z=-0.2}, maxvel = {x=-0.2, y=2, z=-0.2},
minacc = {x=10, y= 2, z=10}, minacc = {x=10, y= 2, z=10},
@ -282,12 +278,11 @@ minetest.register_abm({
end end
}) })
--crafting recipes minetest.register_craft({
minetest.register_craft( { output = 'more_fire:smoke_bomb',
output = 'more_fire:smoke_bomb', recipe = {
recipe = { {'more_fire:flintstone'},
{'more_fire:flintstone'}, {'more_fire:charcoal'},
{'more_fire:charcoal'}, {'vessels:glass_bottle'},
{'vessels:glass_bottle'}, }
}
}) })

Binary file not shown.

Before

Width:  |  Height:  |  Size: 155 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 20 KiB

After

Width:  |  Height:  |  Size: 36 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 283 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 189 B

View File

@ -1,13 +0,0 @@
local USES = 20
minetest.register_tool('more_fire:marker', {
description = 'chard stick',
inventory_image = 'more_fire_chard_stick.png',
stack_max = 1,
on_use = function(itemstack, user, pointed_thing)
if pointed_thing.type == 'node' then
minetest.set_node(pointed_thing.above, {name = "more_fire:marking", param2=minetest.dir_to_facedir(user:get_look_dir())})
itemstack:add_wear(65535 / (USES - 1))
return itemstack
end
end,
})