forked from luanti-org/minetest_game
		
	Add fireflies mod
This commit is contained in:
		
							
								
								
									
										22
									
								
								mods/fireflies/README.txt
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										22
									
								
								mods/fireflies/README.txt
									
									
									
									
									
										Normal file
									
								
							| @@ -0,0 +1,22 @@ | |||||||
|  | Minetest Game mod: fireflies | ||||||
|  | ============================ | ||||||
|  | Adds fireflies to the world on mapgen, which can then be caught in a net and placed in | ||||||
|  | bottles to provide light. | ||||||
|  |  | ||||||
|  | Authors of source code | ||||||
|  | ---------------------- | ||||||
|  | Shara RedCat (MIT) | ||||||
|  |  | ||||||
|  | Authors of media (textures) | ||||||
|  | --------------------------- | ||||||
|  | Shara RedCat (CC BY-SA 3.0): | ||||||
|  |   fireflies_firefly.png | ||||||
|  |   fireflies_firefly_animated.png | ||||||
|  |   fireflies_bugnet.png | ||||||
|  |   fireflies_bottle.png | ||||||
|  |   fireflies_bottle_animated.png | ||||||
|  |  | ||||||
|  | fireflies_bugnet.png is modified from a texture by tenplus1 (CC0) | ||||||
|  |  | ||||||
|  | fireflies_bottle.png and fireflies_bottle_animated.png are | ||||||
|  | modified from a texture by Vanessa Ezekowitz (CC BY-SA 3.0) | ||||||
							
								
								
									
										2
									
								
								mods/fireflies/depends.txt
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										2
									
								
								mods/fireflies/depends.txt
									
									
									
									
									
										Normal file
									
								
							| @@ -0,0 +1,2 @@ | |||||||
|  | default | ||||||
|  | vessels | ||||||
							
								
								
									
										172
									
								
								mods/fireflies/init.lua
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										172
									
								
								mods/fireflies/init.lua
									
									
									
									
									
										Normal file
									
								
							| @@ -0,0 +1,172 @@ | |||||||
|  | -- firefly | ||||||
|  | minetest.register_node("fireflies:firefly", { | ||||||
|  | 	description = "Firefly", | ||||||
|  | 	drawtype = "plantlike", | ||||||
|  | 	tiles = {{ | ||||||
|  | 		name = "fireflies_firefly_animated.png", | ||||||
|  | 		animation = { | ||||||
|  | 			type = "vertical_frames", | ||||||
|  | 			aspect_w = 16, | ||||||
|  | 			aspect_h = 16, | ||||||
|  | 			length = 1.5 | ||||||
|  | 		}, | ||||||
|  | 	}}, | ||||||
|  | 	inventory_image = "fireflies_firefly.png", | ||||||
|  | 	wield_image =  "fireflies_firefly.png", | ||||||
|  | 	waving = 1, | ||||||
|  | 	paramtype = "light", | ||||||
|  | 	sunlight_propagates = true, | ||||||
|  | 	buildable_to = true, | ||||||
|  | 	walkable = false, | ||||||
|  | 	groups = {catchable = 1}, | ||||||
|  | 	selection_box = { | ||||||
|  | 		type = "fixed", | ||||||
|  | 		fixed = {-0.1, -0.1, -0.1, 0.1, 0.1, 0.1}, | ||||||
|  | 	}, | ||||||
|  | 	light_source = 6, | ||||||
|  | 	floodable = true, | ||||||
|  | 	on_flood = function(pos, oldnode, newnode) | ||||||
|  | 		minetest.add_item(pos, "fireflies:firefly 1") | ||||||
|  | 	end | ||||||
|  | }) | ||||||
|  |  | ||||||
|  |  | ||||||
|  | -- bug net | ||||||
|  | minetest.register_tool("fireflies:bug_net", { | ||||||
|  | 	description = "Bug Net", | ||||||
|  | 	inventory_image = "fireflies_bugnet.png", | ||||||
|  | 	on_use = function(itemstack, player, pointed_thing) | ||||||
|  | 		if not pointed_thing or pointed_thing.type ~= "node" or | ||||||
|  | 				minetest.is_protected(pointed_thing.under, player:get_player_name()) then | ||||||
|  | 			return | ||||||
|  | 		end | ||||||
|  | 		local node_name = minetest.get_node(pointed_thing.under).name | ||||||
|  | 		local inv = player:get_inventory() | ||||||
|  | 		if minetest.get_item_group(node_name, "catchable") == 1 then | ||||||
|  | 			minetest.set_node(pointed_thing.under, {name = "air"}) | ||||||
|  | 			local stack = ItemStack(node_name.." 1") | ||||||
|  | 			local leftover = inv:add_item("main", stack) | ||||||
|  | 			if leftover:get_count() > 0 then | ||||||
|  | 				minetest.add_item(pointed_thing.under, node_name.." 1") | ||||||
|  | 			end | ||||||
|  | 		end | ||||||
|  | 		if not minetest.setting_getbool("creative_mode") then | ||||||
|  | 			itemstack:add_wear(256) | ||||||
|  | 			return itemstack | ||||||
|  | 		end | ||||||
|  | 	end | ||||||
|  | }) | ||||||
|  |  | ||||||
|  | minetest.register_craft( { | ||||||
|  | 	output = "fireflies:bug_net", | ||||||
|  | 	recipe = { | ||||||
|  | 		{"farming:string", "farming:string", ""}, | ||||||
|  | 		{"farming:string", "farming:string", ""}, | ||||||
|  | 		{"default:stick", "", ""} | ||||||
|  | 	} | ||||||
|  | }) | ||||||
|  |  | ||||||
|  |  | ||||||
|  | -- firefly in a bottle | ||||||
|  | minetest.register_node("fireflies:firefly_bottle", { | ||||||
|  | 	description = "Firefly in a Bottle", | ||||||
|  | 	inventory_image = "fireflies_bottle.png", | ||||||
|  | 	wield_image = "fireflies_bottle.png", | ||||||
|  | 	tiles = {{ | ||||||
|  | 		name = "fireflies_bottle_animated.png", | ||||||
|  | 		animation = { | ||||||
|  | 			type = "vertical_frames", | ||||||
|  | 			aspect_w = 16, | ||||||
|  | 			aspect_h = 16, | ||||||
|  | 			length = 1.5 | ||||||
|  | 		}, | ||||||
|  | 	}}, | ||||||
|  | 	drawtype = "plantlike", | ||||||
|  | 	paramtype = "light", | ||||||
|  | 	sunlight_propagates = true, | ||||||
|  | 	light_source = 9, | ||||||
|  | 	walkable = false, | ||||||
|  | 	groups = {dig_immediate = 3, attached_node = 1}, | ||||||
|  | 	selection_box = { | ||||||
|  | 		type = "fixed", | ||||||
|  | 		fixed = {-0.25, -0.5, -0.25, 0.25, 0.3, 0.25} | ||||||
|  | 	}, | ||||||
|  | 	sounds = default.node_sound_glass_defaults(), | ||||||
|  | 	on_rightclick = function(pos, node, player, itemstack, pointed_thing) | ||||||
|  | 		local lower_pos = {x = pos.x, y = pos.y + 1, z = pos.z} | ||||||
|  | 		if minetest.is_protected(pos, player:get_player_name()) or | ||||||
|  | 				minetest.get_node(lower_pos).name ~= "air" then | ||||||
|  | 			return | ||||||
|  | 		end | ||||||
|  |  | ||||||
|  | 		local upper_pos = {x = pos.x, y = pos.y + 2, z = pos.z} | ||||||
|  | 		local firefly_pos | ||||||
|  |  | ||||||
|  | 		if not minetest.is_protected(upper_pos, player:get_player_name()) and | ||||||
|  | 				minetest.get_node(upper_pos).name == "air" then | ||||||
|  | 			firefly_pos = upper_pos | ||||||
|  | 		elseif not minetest.is_protected(lower_pos, player:get_player_name()) then | ||||||
|  | 			firefly_pos = lower_pos | ||||||
|  | 		end | ||||||
|  |  | ||||||
|  | 		if firefly_pos then | ||||||
|  | 			minetest.set_node(pos, {name = "vessels:glass_bottle"}) | ||||||
|  | 			minetest.set_node(firefly_pos, {name = "fireflies:firefly"}) | ||||||
|  | 		end | ||||||
|  | 	end | ||||||
|  | }) | ||||||
|  |  | ||||||
|  | minetest.register_craft( { | ||||||
|  | 	output = "fireflies:firefly_bottle", | ||||||
|  | 	recipe = { | ||||||
|  | 		{"", "", ""}, | ||||||
|  | 		{"", "fireflies:firefly", ""}, | ||||||
|  | 		{"", "vessels:glass_bottle", ""} | ||||||
|  | 	} | ||||||
|  | }) | ||||||
|  |  | ||||||
|  |  | ||||||
|  | -- register fireflies as decorations | ||||||
|  | minetest.register_decoration({ | ||||||
|  | 	deco_type = "simple", | ||||||
|  | 	place_on = { | ||||||
|  | 		"default:dirt_with_grass", | ||||||
|  | 		"default:dirt_with_coniferous_litter", | ||||||
|  | 		"default:dirt_with_rainforest_litter", | ||||||
|  | 		"default:dirt" | ||||||
|  | 	}, | ||||||
|  | 	place_offset_y = 2, | ||||||
|  | 	sidelen = 80, | ||||||
|  | 	fill_ratio = 0.002, | ||||||
|  | 	biomes = { | ||||||
|  | 		"deciduous_forest", | ||||||
|  | 		"coniferous_forest", | ||||||
|  | 		"rainforest", | ||||||
|  | 		"rainforest_swamp" | ||||||
|  | 	}, | ||||||
|  | 	y_min = -1, | ||||||
|  | 	y_max = 31000, | ||||||
|  | 	decoration = "fireflies:firefly", | ||||||
|  | }) | ||||||
|  |  | ||||||
|  | minetest.register_decoration({ | ||||||
|  | 	deco_type = "simple", | ||||||
|  | 	place_on = { | ||||||
|  | 		"default:dirt_with_grass", | ||||||
|  | 		"default:dirt_with_coniferous_litter", | ||||||
|  | 		"default:dirt_with_rainforest_litter", | ||||||
|  | 		"default:dirt" | ||||||
|  | 	}, | ||||||
|  | 	place_offset_y = 3, | ||||||
|  | 	sidelen = 80, | ||||||
|  | 	fill_ratio = 0.002, | ||||||
|  | 	biomes = { | ||||||
|  | 		"deciduous_forest", | ||||||
|  | 		"coniferous_forest", | ||||||
|  | 		"rainforest", | ||||||
|  | 		"rainforest_swamp" | ||||||
|  | 	}, | ||||||
|  | 	y_min = -1, | ||||||
|  | 	y_max = 31000, | ||||||
|  | 	decoration = "fireflies:firefly", | ||||||
|  | }) | ||||||
							
								
								
									
										58
									
								
								mods/fireflies/license.txt
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										58
									
								
								mods/fireflies/license.txt
									
									
									
									
									
										Normal file
									
								
							| @@ -0,0 +1,58 @@ | |||||||
|  | License of source code | ||||||
|  | ---------------------- | ||||||
|  |  | ||||||
|  | The MIT License (MIT) | ||||||
|  | Copyright (c) 2018 Shara RedCat | ||||||
|  |  | ||||||
|  | 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. | ||||||
|  |  | ||||||
|  | For more details: | ||||||
|  | https://opensource.org/licenses/MIT | ||||||
|  |  | ||||||
|  | Licenses of media (textures) | ||||||
|  | ---------------------------- | ||||||
|  |  | ||||||
|  | Attribution-ShareAlike 3.0 Unported (CC BY-SA 3.0) | ||||||
|  | Copyright (C) 2018 Shara RedCat | ||||||
|  |  | ||||||
|  | You are free to: | ||||||
|  | Share — copy and redistribute the material in any medium or format. | ||||||
|  | Adapt — remix, transform, and build upon the material for any purpose, even commercially. | ||||||
|  | The licensor cannot revoke these freedoms as long as you follow the license terms. | ||||||
|  |  | ||||||
|  | Under the following terms: | ||||||
|  |  | ||||||
|  | Attribution — You must give appropriate credit, provide a link to the license, and | ||||||
|  | indicate if changes were made. You may do so in any reasonable manner, but not in any way | ||||||
|  | that suggests the licensor endorses you or your use. | ||||||
|  |  | ||||||
|  | ShareAlike — If you remix, transform, or build upon the material, you must distribute | ||||||
|  | your contributions under the same license as the original. | ||||||
|  |  | ||||||
|  | No additional restrictions — You may not apply legal terms or technological measures that | ||||||
|  | legally restrict others from doing anything the license permits. | ||||||
|  |  | ||||||
|  | Notices: | ||||||
|  |  | ||||||
|  | You do not have to comply with the license for elements of the material in the public | ||||||
|  | domain or where your use is permitted by an applicable exception or limitation. | ||||||
|  | No warranties are given. The license may not give you all of the permissions necessary | ||||||
|  | for your intended use. For example, other rights such as publicity, privacy, or moral | ||||||
|  | rights may limit how you use the material. | ||||||
|  |  | ||||||
|  | For more details: | ||||||
|  | http://creativecommons.org/licenses/by-sa/3.0/ | ||||||
							
								
								
									
										
											BIN
										
									
								
								mods/fireflies/textures/fireflies_bottle.png
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										
											BIN
										
									
								
								mods/fireflies/textures/fireflies_bottle.png
									
									
									
									
									
										Normal file
									
								
							
										
											Binary file not shown.
										
									
								
							| After Width: | Height: | Size: 172 B | 
							
								
								
									
										
											BIN
										
									
								
								mods/fireflies/textures/fireflies_bottle_animated.png
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										
											BIN
										
									
								
								mods/fireflies/textures/fireflies_bottle_animated.png
									
									
									
									
									
										Normal file
									
								
							
										
											Binary file not shown.
										
									
								
							| After Width: | Height: | Size: 205 B | 
							
								
								
									
										
											BIN
										
									
								
								mods/fireflies/textures/fireflies_bugnet.png
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										
											BIN
										
									
								
								mods/fireflies/textures/fireflies_bugnet.png
									
									
									
									
									
										Normal file
									
								
							
										
											Binary file not shown.
										
									
								
							| After Width: | Height: | Size: 192 B | 
							
								
								
									
										
											BIN
										
									
								
								mods/fireflies/textures/fireflies_firefly.png
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										
											BIN
										
									
								
								mods/fireflies/textures/fireflies_firefly.png
									
									
									
									
									
										Normal file
									
								
							
										
											Binary file not shown.
										
									
								
							| After Width: | Height: | Size: 113 B | 
							
								
								
									
										
											BIN
										
									
								
								mods/fireflies/textures/fireflies_firefly_animated.png
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										
											BIN
										
									
								
								mods/fireflies/textures/fireflies_firefly_animated.png
									
									
									
									
									
										Normal file
									
								
							
										
											Binary file not shown.
										
									
								
							| After Width: | Height: | Size: 121 B | 
		Reference in New Issue
	
	Block a user