From 5da8cc40396018ea1276161e7b1ca2a8975171d1 Mon Sep 17 00:00:00 2001 From: epCode Date: Wed, 24 Mar 2021 11:50:49 -0700 Subject: [PATCH] add foxes --- credits.txt | 2 + fox.lua | 116 ++++++++++++++++++++++++++++++++++++ init.lua | 1 + models/extra_mobs_fox.b3d | Bin 0 -> 60286 bytes textures/extra_mobs_fox.png | Bin 0 -> 1277 bytes 5 files changed, 119 insertions(+) create mode 100644 fox.lua create mode 100644 models/extra_mobs_fox.b3d create mode 100644 textures/extra_mobs_fox.png diff --git a/credits.txt b/credits.txt index 94fefba..1e82c74 100644 --- a/credits.txt +++ b/credits.txt @@ -1 +1,3 @@ Strider textures -- [NO11] +Fox textures -- [NO11] +fungus on a stick ability -- [TechDudie] diff --git a/fox.lua b/fox.lua new file mode 100644 index 0000000..d49bca7 --- /dev/null +++ b/fox.lua @@ -0,0 +1,116 @@ +--MCmobs v0.4 +--maikerumine +--made for MC like Survival game +--License for code WTFPL and otherwise stated in readmes +local pi = math.pi +local atann = math.atan +local atan = function(x) + if not x or x ~= x then + return 0 + else + return atann(x) + end +end + + +local S = minetest.get_translator("extra_mobs") + +--################### +--################### fox +--################### + +local dir_to_pitch = function(dir) + local dir2 = vector.normalize(dir) + local xz = math.abs(dir.x) + math.abs(dir.z) + return -math.atan2(-dir.y, xz) +end + +local fox = { + type = "monster", + passive = false, + spawn_class = "hostile", + hp_min = 10, + hp_max = 10, + xp_min = 1, + xp_max = 2, + armor = {fleshy = 90}, + attack_type = "dogfight", + damage = 2, + reach = 1.5, + collisionbox = {-.6, -0.01, -.6, .6, 1.4, .6}, + visual = "mesh", + mesh = "extra_mobs_fox.b3d", + textures = { { + "extra_mobs_fox.png", + } }, + visual_size = {x=3, y=3}, + sounds = { + }, + jump = true, + makes_footstep_sound = true, + walk_velocity = 3, + run_velocity = 6, + drops = { + }, + animation = { + stand_speed = 7, + walk_speed = 7, + run_speed = 15, + stand_start = 11, + stand_end = 11, + walk_start = 0, + walk_end = 10, + run_start = 0, + run_end = 10, + pounce_start = 11, + pounce_end = 31, + lay_start = 34, + lay_end = 34, + }, + runaway = true, + do_custom = function(self) + if self.state ~= "attack" and math.random(1, 5000) == 1 then + self.state = "lay" + self.object:set_animation({x= 12, y=16}) + minetest.after(math.random(10, 500), function() + if self.state == "lay" then + self.state = "stand" + end + end) + end + for _,object in pairs(minetest.get_objects_inside_radius(self.object:get_pos(), 8)) do + if object:is_player() and not object:get_player_control().sneak then + local lp = object:get_pos() + local s = self.object:get_pos() + local vec = { + x = lp.x - s.x, + y = lp.y - s.y, + z = lp.z - s.z + } + self.state = "runaway" + self.object:set_rotation({x=0,y=(atan(vec.z / vec.x) + 3 * pi / 2) - self.rotate,z=0}) + if self.reach > vector.distance(self.object:get_pos(), object:get_pos()) and self.timer > .9 then + self.timer = 0 + object:punch(self.object, 1.0, { + full_punch_interval = 1.0, + damage_groups = {fleshy = self.damage} + }, nil) + end + end + end + end, + do_punch = function(self) + self.state = "runaway" + end, + fear_height = 4, + view_range = 16, + specific_attack = { "mobs_mc:cow", "mobs_mc:sheep", "mobs_mc:chicken" }, +} + +mobs:register_mob("extra_mobs:fox", fox) + +-- Regular spawning in the Nether +mobs:spawn_specific("extra_mobs:fox", {"mcl_nether:netherrack"}, {"air"}, 0, minetest.LIGHT_MAX+1, 30, 6000, 3, mcl_vars.mg_nether_min, mcl_vars.mg_nether_max) + +-- spawn eggs +mobs:register_egg("extra_mobs:fox", S("Fox"), "extra_mobs_spawn_icon_fox.png", 0) diff --git a/init.lua b/init.lua index 5769db8..63aad3c 100644 --- a/init.lua +++ b/init.lua @@ -15,3 +15,4 @@ dofile(path .. "/hoglin+zoglin.lua") --Animals dofile(path .. "/strider.lua") +dofile(path .. "/fox.lua") diff --git a/models/extra_mobs_fox.b3d b/models/extra_mobs_fox.b3d new file mode 100644 index 0000000000000000000000000000000000000000..52c3b22512934bd3716f7b334e1a3e459849fa00 GIT binary patch literal 60286 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 V^jZ-!p=|^$$3fIzBOkav{C~%ek_Z3* literal 0 HcmV?d00001 diff --git a/textures/extra_mobs_fox.png b/textures/extra_mobs_fox.png new file mode 100644 index 0000000000000000000000000000000000000000..014a8112d6bbeee3973a22a8ca66af0029b4b3c4 GIT binary patch literal 1277 zcmVugs~GMqFc^B!H5J&~8E-5tPuBmXxo3`njZKl+D=TCs z0k+r5ELA%`)b4+m_-_4+kFmPdA~I(;I~ICYKas9z8mN}c*thvwkuhfwFw~6g!8#EC zqie~tW$E~OzPKPA#26t5GFJh#JPe~49296jEQG&KvrH0PFpX3k*M6EnQfZWt9GK_9 z8@W)JJINARnx4T5VV9K2P&8kaPoo-DpyuYl2!TR%u+c!;^lt+Ax457*U&TqU5$s91 z5OX~Y?KV8u0T{!4abYH{Woc8_R5UwQDoxi9ZvMTKUIV(O!nK>wHFcbYqUkG10~%F8 z2$9OWX%^yVuWq#nV~o|;E2up>M18%2+Que!f7{2^ci##A>vwNW@S*?Rod>wO{5f`a z9>fKhFD}5fo0$xSg{1i^T)QdIq*;f%0T&=Z*e?LPksLQm%W{>N2PS9!kAq1yy|!2u zf=$FF2V$#xf@9kO0Jz==3Lzj0L8*|Bb8+}nGIvv$4+Pjh?4nvK2uytWBLg7>j4{;L zE19^kcCG$vygaty42EJVW(@Ecj=ENAXL%YR0C4{XWnjS47o z=&Zn6KZBG%cq0tSCW5H~gx#jLu?cczWz6jJ$Ee@E6`j6Vnp^U7Vzpv#C!Xi`c5rR6 zoY?4XuO*MFsR9Vo(9*In_trK-gj*{!H)qYxaVkEkCMjA0xx!^QFaJce;8aF`hNraJ|uF39QaR_E3MpG=u|^ zh7LZUCjt4$_DEp4As- z(InUCS^Z!?Yp#t7SuL3`a(?I?d=D5Ep*=BjG