Compare commits
2 Commits
b2a9fb7b99
...
f3292b59e4
Author | SHA1 | Date | |
---|---|---|---|
f3292b59e4 | |||
cf7eba4891 |
@ -54,6 +54,8 @@ To download you can play this game with the following minetest engines:
|
||||
* 3d_armor and shields [mods/3d_armor](mods/3d_armor) https://codeberg.org/minenux/minetest-mod-3d_armor
|
||||
* player stuffs:
|
||||
* minenux bags as `backpacks` [mods/backpacks](mods/backpacks)
|
||||
* Shara RedCat ezhh
|
||||
* fireflies as `fireflies` [mods/fireflies](mods/fireflies) https://github.com/Ezhh/fireflies/blob/master/license.txt
|
||||
|
||||
## Licensing
|
||||
|
||||
|
69
mods/fireflies/README.md
Normal file
69
mods/fireflies/README.md
Normal file
@ -0,0 +1,69 @@
|
||||
minetest mod Fireflies
|
||||
======================
|
||||
|
||||
Adds fireflies which can be caught in a net and placed in bottles for lighting
|
||||
|
||||
Information
|
||||
-----------
|
||||
|
||||
This is a simple Minetest mod by Shara RedCat that adds fireflies to the world on mapgen, which can then be caught in a net and placed in bottles to provide light. Note that they only appear on newly generated map.
|
||||
|
||||
This mod was originally adapted from original but with featured ethereal more biomes, that was adapted from the Hidden Worlds subgame to work with Minetest Game, and has since been added to Minetest Game itself. This version (at https://github.com/Ezhh/fireflies) is now maintained independently from the main Minetest Game version for the purpose of possible expansions to the mod which may or may not also be added to Minetest Game at a later time.
|
||||
|
||||
Thanks to shivajiva for helping work through the original idea and for assisting with the code, and to all those who helped test this mod so far.
|
||||
|
||||
![](screenshot.png)
|
||||
|
||||
## Techinal info
|
||||
-------------
|
||||
|
||||
Please note that the current stable version of Minetest (0.4.16) is unable to position the fireflies above groundlevel. The mod is otherwise fully functional and can be used; but requires the current dev version of Minetest for optimal firefly placement.
|
||||
|
||||
#### nodes
|
||||
|
||||
| node name | Description | Aditional info |
|
||||
| ------------------------ | ------------------- | ---------------------------------------- |
|
||||
| fireflies:firefly | Firefly | is not a mob, really a node |
|
||||
| fireflies:bug_net | Bug net | tool type, to catch fireflies |
|
||||
| fireflies:firefly_bottle | Firefly in a Bottle | When you catch a firefly with the bottle |
|
||||
|
||||
#### Crafts
|
||||
|
||||
`fireflies:firefly_bottle`
|
||||
|
||||
```
|
||||
{"fireflies:firefly"},
|
||||
{"vessels:glass_bottle"}
|
||||
```
|
||||
|
||||
`fireflies:bug_net`
|
||||
|
||||
```
|
||||
{"farming:string", "farming:string"},
|
||||
{"farming:string", "farming:string"},
|
||||
```
|
||||
|
||||
## License
|
||||
-------
|
||||
|
||||
Code for this mod is released under MIT (https://opensource.org/licenses/MIT).
|
||||
|
||||
#### 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)
|
||||
|
||||
check [license.txt](license.txt)
|
3
mods/fireflies/depends.txt
Normal file
3
mods/fireflies/depends.txt
Normal file
@ -0,0 +1,3 @@
|
||||
default
|
||||
vessels
|
||||
ethereal?
|
1
mods/fireflies/description.txt
Normal file
1
mods/fireflies/description.txt
Normal file
@ -0,0 +1 @@
|
||||
Adds fireflies which can be caught in a net and placed in bottles for lighting.
|
232
mods/fireflies/init.lua
Normal file
232
mods/fireflies/init.lua
Normal file
@ -0,0 +1,232 @@
|
||||
-- firefly/init.lua
|
||||
|
||||
-- support to more biomes if ethereal is detected
|
||||
local m_eth = minetest.get_modpath("ethereal")
|
||||
-- detecting cretive engine over creative privilegies
|
||||
local m_cre = minetest.get_modpath("creative")
|
||||
|
||||
-- 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 m_cre then
|
||||
if creative.is_enabled_for(player:get_player_name())) then
|
||||
itemstack:add_wear(256)
|
||||
return itemstack
|
||||
end
|
||||
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 = {vessel = 1, dig_immediate = 3, snappy = 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", ""}
|
||||
}
|
||||
})
|
||||
|
||||
local biomes_allowed = {}
|
||||
local places_allowed = {}
|
||||
|
||||
if m_eth then
|
||||
biomes_allowed = {
|
||||
"deciduous_forest",
|
||||
"coniferous_forest",
|
||||
"rainforest",
|
||||
"rainforest_swamp",
|
||||
"grassland",
|
||||
"junglee",
|
||||
"junglee_ocean",
|
||||
"bamboo"
|
||||
}
|
||||
places_allowed = {
|
||||
"default:dirt_with_grass",
|
||||
"default:dirt_with_coniferous_litter",
|
||||
"default:dirt_with_rainforest_litter",
|
||||
"default:dirt",
|
||||
"default:dirt_with_grass",
|
||||
"ethereal:junglee_dirt",
|
||||
"default:sand",
|
||||
"ethereal:bamboo_dirt"
|
||||
}
|
||||
else
|
||||
biomes_allowed = {
|
||||
"deciduous_forest",
|
||||
"coniferous_forest",
|
||||
"rainforest",
|
||||
"rainforest_swamp"
|
||||
}
|
||||
places_allowed = {
|
||||
"default:dirt_with_grass",
|
||||
"default:dirt_with_coniferous_litter",
|
||||
"default:dirt_with_rainforest_litter",
|
||||
"default:dirt"
|
||||
}
|
||||
end
|
||||
|
||||
-- register fireflies as decorations
|
||||
|
||||
if minetest.get_mapgen_setting("mg_name") == "v6" then
|
||||
|
||||
minetest.register_decoration({
|
||||
name = "fireflies:firefly_low",
|
||||
deco_type = "simple",
|
||||
place_on = "default:dirt_with_grass",
|
||||
place_offset_y = 2,
|
||||
sidelen = 80,
|
||||
fill_ratio = 0.0002,
|
||||
y_max = 31000,
|
||||
y_min = 1,
|
||||
decoration = "fireflies:hidden_firefly",
|
||||
})
|
||||
|
||||
minetest.register_decoration({
|
||||
name = "fireflies:firefly_high",
|
||||
deco_type = "simple",
|
||||
place_on = "default:dirt_with_grass",
|
||||
place_offset_y = 3,
|
||||
sidelen = 80,
|
||||
fill_ratio = 0.0002,
|
||||
y_max = 31000,
|
||||
y_min = 1,
|
||||
decoration = "fireflies:hidden_firefly",
|
||||
})
|
||||
|
||||
else
|
||||
|
||||
minetest.register_decoration({
|
||||
name = "fireflies:firefly_low",
|
||||
deco_type = "simple",
|
||||
place_on = places_allowed,
|
||||
place_offset_y = 2,
|
||||
sidelen = 80,
|
||||
fill_ratio = 0.002,
|
||||
biomes = biomes_allowed,
|
||||
y_max = 31000,
|
||||
y_min = -1,
|
||||
decoration = "fireflies:firefly",
|
||||
})
|
||||
|
||||
minetest.register_decoration({
|
||||
name = "fireflies:firefly_high",
|
||||
deco_type = "simple",
|
||||
place_on = places_allowed,
|
||||
place_offset_y = 3,
|
||||
sidelen = 80,
|
||||
fill_ratio = 0.002,
|
||||
biomes = biomes_allowed,
|
||||
y_max = 31000,
|
||||
y_min = -1,
|
||||
decoration = "fireflies:firefly",
|
||||
})
|
||||
|
||||
end
|
45
mods/fireflies/license.txt
Normal file
45
mods/fireflies/license.txt
Normal file
@ -0,0 +1,45 @@
|
||||
|
||||
Code License: MIT (https://opensource.org/licenses/MIT)
|
||||
By Shara RedCat
|
||||
|
||||
---
|
||||
|
||||
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.
|
||||
|
||||
---
|
||||
|
||||
|
||||
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)
|
4
mods/fireflies/mod.conf
Normal file
4
mods/fireflies/mod.conf
Normal file
@ -0,0 +1,4 @@
|
||||
name = fireflies
|
||||
description = Adds fireflies which can be caught in a net and placed in bottles for lighting.
|
||||
depends = default, vessels
|
||||
optional_depends = ethereal
|
BIN
mods/fireflies/screenshot.png
Normal file
BIN
mods/fireflies/screenshot.png
Normal file
Binary file not shown.
After Width: | Height: | Size: 5.8 KiB |
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: 161 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: 185 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: 186 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: 114 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: 123 B |
2
mods/sfinv/mod.conf
Normal file
2
mods/sfinv/mod.conf
Normal file
@ -0,0 +1,2 @@
|
||||
name = sfinv
|
||||
depends = default
|
Loading…
x
Reference in New Issue
Block a user