diff --git a/init.lua b/init.lua index 1a8c6732d795f96ca64a3ae7cd78b537d4fc067c..5a60105fe7e123b519d8638e39a2c2e0822e3f1a 100644 --- a/init.lua +++ b/init.lua @@ -8,11 +8,11 @@ dofile(minetest.get_modpath("dmobs").."/api.lua") -- Enable dragons (disable to remove tamed dragons and dragon bosses) dmobs.dragons = minetest.setting_getbool("dmobs.dragons") -if dmobs.dragons = nil then +if dmobs.dragons == nil then dmobs.dragons = true end dmobs.regulars = minetest.setting_getbool("dmobs.regulars") -if dmobs.regulars = nil then +if dmobs.regulars == nil then dmobs.regulars = true end diff --git a/mobs/butterfly.lua b/mobs/butterfly.lua index 921de526b87e4ef0530d9560c3fc3fd95baa2730..cbc152cddb1343eb475825d19d31c73a5ab6f6ff 100644 --- a/mobs/butterfly.lua +++ b/mobs/butterfly.lua @@ -6,25 +6,30 @@ minetest.register_abm({ interval = 10.0, chance = 10, action = function(pos, node, active_object_count, active_object_count_wider) - minetest.env:add_entity({x=pos.x,y=pos.y,z=pos.z}, "dmobs:butterfly") + minetest.env:add_entity({x=pos.x,y=pos.y+0.3,z=pos.z}, "dmobs:butterfly") end }) minetest.register_entity("dmobs:butterfly", { - visual = "sprite", + visual = "mesh", + mesh = "butterfly.b3d", physical = true, textures = {"dmobs_butterfly.png",}, - visual_size = {x=0.2, y=0.2}, + visual_size = {x=0.3, y=0.3}, on_activate = function(self) num = math.random(1,4) self.object:set_properties({textures = {"dmobs_butterfly"..num..".png",},}) - minetest.after(5, function() + self.object:set_animation({x=1, y=10}, 20, 0) + self.object:setyaw(math.pi+num) + minetest.after(10, function() self.object:remove() end) end, on_step = function(self) local pos = self.object:getpos() local vec = self.object:getvelocity() + local num = math.random(-math.pi, math.pi) + self.object:setyaw(math.pi+num) self.object:setvelocity({x=-math.sin(12*pos.y), y=math.cos(12*pos.x), z=-math.sin(12*pos.y)}) self.object:setacceleration({x=-math.sin(6*vec.y), y=math.cos(6*vec.x), z=-math.sin(6*vec.y)}) end, diff --git a/models/butterfly.b3d b/models/butterfly.b3d new file mode 100644 index 0000000000000000000000000000000000000000..fcd7c4557a6b54f971f4735df873c2ecc4abd022 Binary files /dev/null and b/models/butterfly.b3d differ diff --git a/textures/dmobs_butterfly1.png b/textures/dmobs_butterfly1.png index 3a5e432c36b754079602d8285f24568739c5ee54..fb037908515e8e880d5ec60c8f9cbbafb99b5a94 100644 Binary files a/textures/dmobs_butterfly1.png and b/textures/dmobs_butterfly1.png differ diff --git a/textures/dmobs_butterfly2.png b/textures/dmobs_butterfly2.png index ba475a2488f0ce67ff32c910e10934268775db66..feb88b8196e025650a7f2b0cd4ecb8f80caebda0 100644 Binary files a/textures/dmobs_butterfly2.png and b/textures/dmobs_butterfly2.png differ diff --git a/textures/dmobs_butterfly3.png b/textures/dmobs_butterfly3.png index 62c10bc0d43fdc80b5b1b16f1ccfef57aaaff97d..2d0db1850df9ba54eedcd535fafd4a35cf49c196 100644 Binary files a/textures/dmobs_butterfly3.png and b/textures/dmobs_butterfly3.png differ diff --git a/textures/dmobs_butterfly4.png b/textures/dmobs_butterfly4.png index 90dae3fc537be5427ee84e571d84246ba2bb02fb..48a62c25b4347d259438d6c4b3ebff50c0a36987 100644 Binary files a/textures/dmobs_butterfly4.png and b/textures/dmobs_butterfly4.png differ