mirror of
				https://github.com/Splizard/minetest-mod-snow.git
				synced 2025-11-04 07:35:29 +01:00 
			
		
		
		
	move the furnace_burntime to node definitions and short nodes.lua
This commit is contained in:
		@@ -1,51 +1,17 @@
 | 
			
		||||
--[[
 | 
			
		||||
 | 
			
		||||
Crafting Sections (in order, top to bottom):
 | 
			
		||||
	1. Fuel
 | 
			
		||||
	2. Cooking
 | 
			
		||||
	3. Crafting and Recycling
 | 
			
		||||
	1. Cooking
 | 
			
		||||
	2. Crafting and Recycling
 | 
			
		||||
 | 
			
		||||
The crafting recipe for the sled is in the sled.lua file.
 | 
			
		||||
 | 
			
		||||
~ LazyJ
 | 
			
		||||
 | 
			
		||||
--]]
 | 
			
		||||
 | 
			
		||||
-- 1. Fuel
 | 
			
		||||
 | 
			
		||||
minetest.register_craft({
 | 
			
		||||
	type = "fuel",
 | 
			
		||||
	recipe = "snow:needles",
 | 
			
		||||
	burntime = 1,
 | 
			
		||||
})
 | 
			
		||||
]]
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
minetest.register_craft({
 | 
			
		||||
	type = "fuel",
 | 
			
		||||
	recipe = "snow:sapling_pine",
 | 
			
		||||
	burntime = 10,
 | 
			
		||||
})
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
minetest.register_craft({
 | 
			
		||||
	type = "fuel",
 | 
			
		||||
	recipe = "snow:needles_decorated",
 | 
			
		||||
	burntime = 1,
 | 
			
		||||
})
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
minetest.register_craft({
 | 
			
		||||
	type = "fuel",
 | 
			
		||||
	recipe = "snow:xmas_tree",
 | 
			
		||||
	burntime = 10,
 | 
			
		||||
})
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
-- 2. Cooking
 | 
			
		||||
-- 1. Cooking
 | 
			
		||||
 | 
			
		||||
--[[
 | 
			
		||||
"Cooks_into_ice" is a custom group I assigned to full-sized, snow-stuff nodes
 | 
			
		||||
@@ -53,7 +19,7 @@ minetest.register_craft({
 | 
			
		||||
recipe for each one.
 | 
			
		||||
 | 
			
		||||
~ LazyJ
 | 
			
		||||
--]]
 | 
			
		||||
]]
 | 
			
		||||
 | 
			
		||||
minetest.register_craft({
 | 
			
		||||
	type = "cooking",
 | 
			
		||||
@@ -67,17 +33,17 @@ minetest.register_craft({
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
-- 3. Crafting and Recycling
 | 
			
		||||
-- 2. Crafting and Recycling
 | 
			
		||||
 | 
			
		||||
-- Let's make moss craftable so players can more easily create mossycobble and
 | 
			
		||||
-- gives another useful purpose to pine needles. ~ LazyJ
 | 
			
		||||
 | 
			
		||||
minetest.register_craft({
 | 
			
		||||
    output = 'snow:moss',
 | 
			
		||||
    recipe = {
 | 
			
		||||
        {'snow:needles', 'snow:needles'},
 | 
			
		||||
        {'snow:needles', 'snow:needles'},
 | 
			
		||||
    },
 | 
			
		||||
	output = 'snow:moss',
 | 
			
		||||
	recipe = {
 | 
			
		||||
		{'snow:needles', 'snow:needles'},
 | 
			
		||||
		{'snow:needles', 'snow:needles'},
 | 
			
		||||
	},
 | 
			
		||||
})
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
@@ -99,7 +65,7 @@ minetest.register_craft({
 | 
			
		||||
	recipe = {
 | 
			
		||||
		'snow:snow_cobble',
 | 
			
		||||
		'snow:snow_cobble'
 | 
			
		||||
		}
 | 
			
		||||
	}
 | 
			
		||||
})
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
@@ -110,17 +76,17 @@ minetest.register_craft({
 | 
			
		||||
	recipe = {
 | 
			
		||||
		'default:snowblock',
 | 
			
		||||
		'default:snowblock'
 | 
			
		||||
		}
 | 
			
		||||
	}
 | 
			
		||||
})]]
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
minetest.register_craft({
 | 
			
		||||
    output = 'snow:snow_brick',
 | 
			
		||||
    recipe = {
 | 
			
		||||
        {'default:snowblock', 'default:snowblock'},
 | 
			
		||||
        {'default:snowblock', 'default:snowblock'}
 | 
			
		||||
    }
 | 
			
		||||
	output = 'snow:snow_brick',
 | 
			
		||||
	recipe = {
 | 
			
		||||
		{'default:snowblock', 'default:snowblock'},
 | 
			
		||||
		{'default:snowblock', 'default:snowblock'}
 | 
			
		||||
	}
 | 
			
		||||
})
 | 
			
		||||
 | 
			
		||||
--Craft icy snow.
 | 
			
		||||
@@ -137,7 +103,7 @@ minetest.register_craft({
 | 
			
		||||
		'default:ice',
 | 
			
		||||
		'default:ice',
 | 
			
		||||
		'default:ice'
 | 
			
		||||
		}
 | 
			
		||||
	}
 | 
			
		||||
})
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
@@ -151,7 +117,7 @@ minetest.register_craft({
 | 
			
		||||
		'default:snow',
 | 
			
		||||
		'default:ice',
 | 
			
		||||
		'default:ice'
 | 
			
		||||
		}
 | 
			
		||||
	}
 | 
			
		||||
})
 | 
			
		||||
 | 
			
		||||
minetest.register_craft({
 | 
			
		||||
@@ -161,7 +127,7 @@ minetest.register_craft({
 | 
			
		||||
		'default:snow',
 | 
			
		||||
		'default:snow',
 | 
			
		||||
		'default:ice'
 | 
			
		||||
		}
 | 
			
		||||
	}
 | 
			
		||||
})
 | 
			
		||||
 | 
			
		||||
minetest.register_craft({
 | 
			
		||||
@@ -170,16 +136,16 @@ minetest.register_craft({
 | 
			
		||||
	recipe = {
 | 
			
		||||
		'default:snow',
 | 
			
		||||
		'default:ice'
 | 
			
		||||
		}
 | 
			
		||||
	}
 | 
			
		||||
})
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
-- Why not recycle snow_bricks back into snowblocks? ~ LazyJ
 | 
			
		||||
minetest.register_craft({
 | 
			
		||||
    output = 'default:snowblock 4',
 | 
			
		||||
    recipe = {
 | 
			
		||||
        {'snow:snow_brick'}
 | 
			
		||||
    }
 | 
			
		||||
	output = 'default:snowblock 4',
 | 
			
		||||
	recipe = {
 | 
			
		||||
		{'snow:snow_brick'}
 | 
			
		||||
	}
 | 
			
		||||
})
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
 
 | 
			
		||||
							
								
								
									
										212
									
								
								src/nodes.lua
									
									
									
									
									
								
							
							
						
						
									
										212
									
								
								src/nodes.lua
									
									
									
									
									
								
							@@ -1,7 +1,7 @@
 | 
			
		||||
-- NODES
 | 
			
		||||
 | 
			
		||||
-- Pine Needles
 | 
			
		||||
minetest.register_node("snow:needles",{
 | 
			
		||||
local nodedef = {
 | 
			
		||||
	description = "Pine Needles",
 | 
			
		||||
	drawtype = "allfaces_optional",
 | 
			
		||||
	visual_scale = 1.3,
 | 
			
		||||
@@ -9,6 +9,7 @@ minetest.register_node("snow:needles",{
 | 
			
		||||
	waving = 1,
 | 
			
		||||
	paramtype = "light",
 | 
			
		||||
	groups = {snappy=3, leafdecay=5},
 | 
			
		||||
	furnace_burntime = 1,
 | 
			
		||||
	drop = {
 | 
			
		||||
		max_items = 1,
 | 
			
		||||
		items = {
 | 
			
		||||
@@ -18,14 +19,12 @@ minetest.register_node("snow:needles",{
 | 
			
		||||
				rarity = 20,
 | 
			
		||||
			},
 | 
			
		||||
			{
 | 
			
		||||
				-- player will get leaves only if he get no saplings,
 | 
			
		||||
				-- this is because max_items is 1
 | 
			
		||||
				items = {'snow:needles'},
 | 
			
		||||
			}
 | 
			
		||||
		}
 | 
			
		||||
	},
 | 
			
		||||
	sounds = default.node_sound_leaves_defaults(),
 | 
			
		||||
})
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
--[[
 | 
			
		||||
If christmas_content is enabled, then this next part will override the pine needles' drop code
 | 
			
		||||
@@ -33,36 +32,20 @@ If christmas_content is enabled, then this next part will override the pine need
 | 
			
		||||
The Xmas tree needles are registred and defined a farther down in this nodes.lua file.
 | 
			
		||||
 | 
			
		||||
~ LazyJ
 | 
			
		||||
 | 
			
		||||
--]]
 | 
			
		||||
 | 
			
		||||
]]
 | 
			
		||||
if snow.christmas_content then
 | 
			
		||||
	--Christmas trees
 | 
			
		||||
 | 
			
		||||
	minetest.override_item("snow:needles", {
 | 
			
		||||
		drop = {
 | 
			
		||||
			max_items = 1,
 | 
			
		||||
			items = {
 | 
			
		||||
				{
 | 
			
		||||
					-- player will get xmas tree with 1/120 chance
 | 
			
		||||
					items = {'snow:xmas_tree'},
 | 
			
		||||
					rarity = 120,
 | 
			
		||||
				},
 | 
			
		||||
				{
 | 
			
		||||
					-- player will get sapling with 1/20 chance
 | 
			
		||||
					items = {'snow:sapling_pine'},
 | 
			
		||||
					rarity = 20,
 | 
			
		||||
				},
 | 
			
		||||
				{
 | 
			
		||||
					-- player will get leaves only if he get no saplings,
 | 
			
		||||
					-- this is because max_items is 1
 | 
			
		||||
					items = {'snow:needles'},
 | 
			
		||||
				}
 | 
			
		||||
			}
 | 
			
		||||
		}
 | 
			
		||||
	table.insert(nodedef.drop.items, 1, {
 | 
			
		||||
		-- player will get xmas tree with 1/120 chance
 | 
			
		||||
		items = {'snow:xmas_tree'},
 | 
			
		||||
		rarity = 120,
 | 
			
		||||
	})
 | 
			
		||||
end
 | 
			
		||||
 | 
			
		||||
minetest.register_node("snow:needles", table.copy(nodedef))
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
	--Christmas easter egg
 | 
			
		||||
	minetest.register_on_mapgen_init( function()
 | 
			
		||||
@@ -73,102 +56,28 @@ end
 | 
			
		||||
	)
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
--[[
 | 
			
		||||
Original, static Xmas lights. Keep so people can "turn off" the
 | 
			
		||||
animation if it is too much for them. ~ LazyJ
 | 
			
		||||
 | 
			
		||||
--Decorated Pine leaves
 | 
			
		||||
minetest.register_node("snow:needles_decorated", {
 | 
			
		||||
	description = "Decorated Pine Needles",
 | 
			
		||||
	drawtype = "allfaces_optional",
 | 
			
		||||
	tiles = {"snow_needles_decorated.png"},
 | 
			
		||||
	paramtype = "light",
 | 
			
		||||
	groups = {snappy=3, leafdecay=3},
 | 
			
		||||
		drop = {
 | 
			
		||||
		max_items = 1,
 | 
			
		||||
		items = {
 | 
			
		||||
			{
 | 
			
		||||
				-- player will get xmas tree with 1/20 chance
 | 
			
		||||
				items = {'snow:xmas_tree'},
 | 
			
		||||
				rarity = 50,
 | 
			
		||||
			},
 | 
			
		||||
			{
 | 
			
		||||
				-- player will get sapling with 1/20 chance
 | 
			
		||||
				items = {'snow:sapling_pine'},
 | 
			
		||||
				rarity = 20,
 | 
			
		||||
			},
 | 
			
		||||
			{
 | 
			
		||||
				-- player will get leaves only if he get no saplings,
 | 
			
		||||
				-- this is because max_items is 1
 | 
			
		||||
				items = {'snow:needles_decorated'},
 | 
			
		||||
			}
 | 
			
		||||
		}
 | 
			
		||||
	},
 | 
			
		||||
	sounds = default.node_sound_leaves_defaults(),
 | 
			
		||||
})
 | 
			
		||||
--]]
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
-- Animated, "blinking lights" version. ~ LazyJ
 | 
			
		||||
 | 
			
		||||
-- Decorated Pine Leaves
 | 
			
		||||
minetest.register_node("snow:needles_decorated", {
 | 
			
		||||
	description = "Decorated Pine Needles",
 | 
			
		||||
	drawtype = "allfaces_optional",
 | 
			
		||||
	light_source = 5,
 | 
			
		||||
	inventory_image = minetest.inventorycube("snow_needles_decorated.png"),
 | 
			
		||||
	--tiles = {"snow_needles_decorated.png"},
 | 
			
		||||
	tiles = {
 | 
			
		||||
 | 
			
		||||
nodedef.description ="Decorated "..nodedef.description
 | 
			
		||||
nodedef.light_source = 5
 | 
			
		||||
nodedef.waving = nil
 | 
			
		||||
if snow.disable_deco_needle_ani then
 | 
			
		||||
	nodedef.tiles = {"snow_needles_decorated.png"}
 | 
			
		||||
else
 | 
			
		||||
	-- Animated, "blinking lights" version. ~ LazyJ
 | 
			
		||||
	nodedef.inventory_image = minetest.inventorycube("snow_needles_decorated.png")
 | 
			
		||||
	nodedef.tiles = {
 | 
			
		||||
		{name="snow_needles_decorated_animated.png", animation={type="vertical_frames", aspect_w=16, aspect_h=16, length=20.0}}
 | 
			
		||||
	},
 | 
			
		||||
	paramtype = "light",
 | 
			
		||||
	groups = {snappy=3, leafdecay=5},
 | 
			
		||||
		drop = {
 | 
			
		||||
		max_items = 1,
 | 
			
		||||
		items = {
 | 
			
		||||
			{
 | 
			
		||||
				-- player will get xmas tree with 1/120 chance
 | 
			
		||||
				items = {'snow:xmas_tree'},
 | 
			
		||||
				rarity = 120,
 | 
			
		||||
			},
 | 
			
		||||
			{
 | 
			
		||||
				-- player will get sapling with 1/20 chance
 | 
			
		||||
				items = {'snow:sapling_pine'},
 | 
			
		||||
				rarity = 20,
 | 
			
		||||
			},
 | 
			
		||||
			{
 | 
			
		||||
				-- player will get leaves only if he get no saplings,
 | 
			
		||||
				-- this is because max_items is 1
 | 
			
		||||
				items = {'snow:needles_decorated'},
 | 
			
		||||
			}
 | 
			
		||||
		}
 | 
			
		||||
	},
 | 
			
		||||
	sounds = default.node_sound_leaves_defaults(),
 | 
			
		||||
})
 | 
			
		||||
	}
 | 
			
		||||
end
 | 
			
		||||
nodedef.drop.items[#nodedef.drop.items] = {items = {'snow:needles_decorated'}}
 | 
			
		||||
 | 
			
		||||
minetest.register_node("snow:needles_decorated", nodedef)
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
-- Saplings
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
-- Xmas Tree Sapling
 | 
			
		||||
minetest.register_node("snow:xmas_tree", {
 | 
			
		||||
	description = "Christmas Tree",
 | 
			
		||||
	drawtype = "plantlike",
 | 
			
		||||
	visual_scale = 1.0,
 | 
			
		||||
	tiles = {"snow_xmas_tree.png"},
 | 
			
		||||
	inventory_image = "snow_xmas_tree.png",
 | 
			
		||||
	wield_image = "snow_xmas_tree.png",
 | 
			
		||||
	paramtype = "light",
 | 
			
		||||
	walkable = false,
 | 
			
		||||
	groups = {snappy=2,dig_immediate=3},
 | 
			
		||||
	sounds = default.node_sound_defaults(),
 | 
			
		||||
})
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
-- Pine Sapling
 | 
			
		||||
minetest.register_node("snow:sapling_pine", {
 | 
			
		||||
nodedef = {
 | 
			
		||||
	description = "Pine Sapling",
 | 
			
		||||
	drawtype = "plantlike",
 | 
			
		||||
	visual_scale = 1.0,
 | 
			
		||||
@@ -178,52 +87,57 @@ minetest.register_node("snow:sapling_pine", {
 | 
			
		||||
	paramtype = "light",
 | 
			
		||||
	walkable = false,
 | 
			
		||||
	groups = {snappy=2,dig_immediate=3},
 | 
			
		||||
	furnace_burntime = 10,
 | 
			
		||||
	sounds = default.node_sound_defaults(),
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
})
 | 
			
		||||
-- Pine Sapling
 | 
			
		||||
minetest.register_node("snow:sapling_pine", table.copy(nodedef))
 | 
			
		||||
 | 
			
		||||
-- Xmas Tree Sapling
 | 
			
		||||
nodedef.description = "Christmas Tree"
 | 
			
		||||
nodedef.tiles = {"snow_xmas_tree.png"}
 | 
			
		||||
nodedef.inventory_image = "snow_xmas_tree.png"
 | 
			
		||||
nodedef.wield_image = "snow_xmas_tree.png"
 | 
			
		||||
 | 
			
		||||
minetest.register_node("snow:xmas_tree", nodedef)
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
-- Star on Xmas Trees
 | 
			
		||||
minetest.register_node("snow:star", {
 | 
			
		||||
nodedef = {
 | 
			
		||||
	description = "Star",
 | 
			
		||||
	--drawtype = "torchlike",
 | 
			
		||||
	drawtype = "plantlike", -- Stars disappeared when viewed at the right angle. "Plantlike" solved the visual problem. ~ LazyJ
 | 
			
		||||
	drawtype = "plantlike",
 | 
			
		||||
	tiles = {"snow_star.png"},
 | 
			
		||||
	inventory_image = "snow_star.png",
 | 
			
		||||
	wield_image = "snow_star.png",
 | 
			
		||||
	paramtype = "light",
 | 
			
		||||
	walkable = false,
 | 
			
		||||
	--groups = {snappy=2,dig_immediate=3},
 | 
			
		||||
	groups = {cracky=1, crumbly=1, choppy=1, oddly_breakable_by_hand=1}, -- Don't want the ornament breaking too easily because you have to punch it to turn it on and off. ~ LazyJ
 | 
			
		||||
	sounds = default.node_sound_glass_defaults({dig = {name="default_glass_footstep", gain=0.2}}), -- Breaking "glass" sound makes it sound like a real, broken, Xmas tree ornament (Sorry, Mom!).  ;)-  ~ LazyJ
 | 
			
		||||
	-- Don't want the ornament breaking too easily because you have to punch it to turn it on and off. ~ LazyJ
 | 
			
		||||
	groups = {cracky=1, crumbly=1, choppy=1, oddly_breakable_by_hand=1},
 | 
			
		||||
	-- Breaking "glass" sound makes it sound like a real, broken, Xmas tree ornament (Sorry, Mom!).  ;)-  ~ LazyJ
 | 
			
		||||
	sounds = default.node_sound_glass_defaults({dig = {name="default_glass_footstep", gain=0.2}}),
 | 
			
		||||
	on_punch = function(pos, node) -- Added a "lit" star that can be punched on or off depending on your preference. ~ LazyJ
 | 
			
		||||
		node.name = "snow:star_lit"
 | 
			
		||||
		minetest.set_node(pos, node)
 | 
			
		||||
		nodeupdate(pos)
 | 
			
		||||
	end,
 | 
			
		||||
})
 | 
			
		||||
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
-- Star on Xmas Trees
 | 
			
		||||
minetest.register_node("snow:star", table.copy(nodedef))
 | 
			
		||||
 | 
			
		||||
-- Star (Lit Version) on Xmas Trees
 | 
			
		||||
minetest.register_node("snow:star_lit", {
 | 
			
		||||
	description = "Star Lighted",
 | 
			
		||||
	drawtype = "plantlike",
 | 
			
		||||
	light_source = LIGHT_MAX,
 | 
			
		||||
	tiles = {"snow_star_lit.png"},
 | 
			
		||||
	wield_image = "snow_star.png",
 | 
			
		||||
	paramtype = "light",
 | 
			
		||||
	walkable = false,
 | 
			
		||||
	drop = "snow:star",
 | 
			
		||||
	groups = {cracky=1, crumbly=1, choppy=1, oddly_breakable_by_hand=1, not_in_creative_inventory=1},
 | 
			
		||||
	sounds = default.node_sound_glass_defaults({dig = {name="default_glass_footstep", gain=0.2}}),
 | 
			
		||||
	on_punch = function(pos, node)
 | 
			
		||||
		node.name = "snow:star"
 | 
			
		||||
		minetest.set_node(pos, node)
 | 
			
		||||
		nodeupdate(pos)
 | 
			
		||||
	end,
 | 
			
		||||
})
 | 
			
		||||
nodedef.description = nodedef.description.." Lighted"
 | 
			
		||||
nodedef.light_source = LIGHT_MAX
 | 
			
		||||
nodedef.tiles = {"snow_star_lit.png"}
 | 
			
		||||
nodedef.drop = "snow:star"
 | 
			
		||||
nodedef.groups.not_in_creative_inventory = 1
 | 
			
		||||
nodedef.on_punch = function(pos, node)
 | 
			
		||||
	node.name = "snow:star"
 | 
			
		||||
	minetest.set_node(pos, node)
 | 
			
		||||
	nodeupdate(pos)
 | 
			
		||||
end
 | 
			
		||||
 | 
			
		||||
minetest.register_node("snow:star_lit", nodedef)
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
 
 | 
			
		||||
		Reference in New Issue
	
	Block a user