minetest-mm/mods/mobs_sky/mobs_butterfly/init.lua

64 lines
2.2 KiB
Lua
Raw Normal View History

2020-10-26 17:38:53 +01:00
if minetest.get_modpath("mobs") and not mobs.mod and mobs.mod ~= "redo" then
minetest.log("error", "[mobs_butterfly] mobs redo API not found!")
return
end
-- local variables
local l_skins = {
{"bf1.png^bf2.png^bf3.png^bf4.png^bf5.png"},
{"(bf1.png^[colorize:orange)^(bf2.png^[colorize:violet)^(bf3.png^[colorize:yellow)^(bf4.png^[colorize:cyan)^(bf5.png^[colorize:black)"},
{"(bf1.png^[colorize:magenta)^(bf2.png^[colorize:green)^(bf3.png^[colorize:red)^(bf4.png^[colorize:blue)^(bf5.png^[colorize:white)"},
{"(bf1.png^[colorize:yellow)^(bf2.png^[colorize:cyan)^(bf3.png^[colorize:green)^(bf4.png^[colorize:violet)^(bf5.png^[colorize:darkgray)"},
{"(bf1.png^[colorize:pink)^(bf2.png^[colorize:white)^(bf3.png^[colorize:blue)^(bf4.png^[colorize:orange)^(bf5.png^[colorize:gray)"},
{"(bf1.png^[colorize:darkgreen)^(bf2.png^[colorize:brown)^(bf3.png^[colorize:black)^(bf4.png^[colorize:darkgray)^(bf5.png^[colorize:red)"}
}
local l_spawnnear = {"group:flower"}
local l_spawnchance = 20000
-- Butterfly
mobs:register_mob("mobs_butterfly:butterfly", {
type = "animal",
passive = true,
hp_min = 1,
hp_max = 2,
armor = 100,
collisionbox = {-1, -0.3, -1, 1, 0.3, 1},
visual = "mesh",
mesh = "mobf_butterfly.x",
textures = l_skins,
walk_velocity = 2,
fall_speed = 0,
stepheight = 3,
fly = true,
water_damage = 1,
lava_damage = 1,
light_damage = 0,
fall_damage = 0,
view_range = 10,
animation = {
speed_normal = 15, speed_run = 30,
stand_start = 0, stand_end = 90,
walk_start = 0, walk_end = 90,
},
after_activate = function(self, staticdata, def, dtime)
if minetest.get_modpath("butterflies") then
local pos = self.object:get_pos()
local butter = {"white", "red", "violet"}
local replace = "butterflies:butterfly_"
.. butter[math.random(1, #butter)]
minetest.set_node(pos, {name = replace})
self.object:remove()
end
end
-- on_rightclick = function(self, clicker)
-- mobs:capture_mob(self, clicker, 10, 80, 0, true, nil)
-- end
})
--name, nodes, neighbors, min_light, max_light, interval, chance, active_object_count, min_height, max_height
-- mobs:spawn_specific("mobs_butterfly:butterfly", {"air"}, l_spawnnear, 5, 20, 30, l_spawnchance, 1, 0, 31000)
-- mobs:register_egg("mobs_butterfly:butterfly", "Butterfly", "default_cloud.png", 1)