1 minetest.register_node("fire:fire", {
2 description = "How did you even get this?",
8 type = "vertical_frames",
15 inventory_image = "fire.png",
16 groups = {dig_immediate = 1},
17 sounds = main.stoneSound(),
20 is_ground_content = false,
21 light_source = 11, --debugging
22 on_construct = function(pos)
23 local under = minetest.get_node(vector.new(pos.x,pos.y-1,pos.z)).name
24 --fire lasts forever on netherrack
25 if under == "nether:obsidian" then
26 minetest.remove_node(pos)
27 create_nether_portal(pos)
28 elseif under ~= "nether:netherrack" then
29 local timer = minetest.get_node_timer(pos)
30 timer:start(math.random(5,10))
33 on_timer = function(pos, elapsed)
34 minetest.remove_node(pos)
39 minetest.register_abm({
40 label = "Fire Spread",
41 nodenames = {"group:flammable"},
42 neighbors = {"fire:fire"},
46 action = function(pos)
47 minetest.set_node(pos,{name="fire:fire"})
52 minetest.register_tool("fire:flint_and_steel", {
53 description = "Flint and Steel",
54 inventory_image = "flint_and_steel.png",
55 on_place = function(itemstack, placer, pointed_thing)
56 if pointed_thing.type ~= "node" then
59 if minetest.get_node(pointed_thing.above).name ~= "air" then
60 minetest.sound_play("flint_failed", {pos=pointed_thing.above})
64 minetest.add_node(pointed_thing.above,{name="fire:fire"})
65 minetest.sound_play("flint_and_steel", {pos=pointed_thing.above})
66 itemstack:add_wear(100)
69 sound = {breaks = {name="tool_break",gain=0.4}},
72 minetest.register_craft({
74 output = "fire:flint_and_steel",
75 recipe = {"main:flint","main:iron"},