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