From da7b4eeb519df8c7f8fc4f23819df1b1ce5a716e Mon Sep 17 00:00:00 2001 From: cora Date: Fri, 21 Oct 2022 14:02:18 +0200 Subject: [PATCH] Add puffer fish --- mods/ENTITIES/mobs_mc/init.lua | 1 + .../mobs_mc/models/mobs_mc_puffer_fish.b3d | Bin 0 -> 51719 bytes mods/ENTITIES/mobs_mc/puffer_fish.lua | 102 ++++++++++++++++++ .../mobs_mc/textures/mobs_mc_puffer_fish.png | Bin 0 -> 853 bytes 4 files changed, 103 insertions(+) create mode 100644 mods/ENTITIES/mobs_mc/models/mobs_mc_puffer_fish.b3d create mode 100644 mods/ENTITIES/mobs_mc/puffer_fish.lua create mode 100755 mods/ENTITIES/mobs_mc/textures/mobs_mc_puffer_fish.png diff --git a/mods/ENTITIES/mobs_mc/init.lua b/mods/ENTITIES/mobs_mc/init.lua index 37c2df167..5f0f7dcd5 100644 --- a/mods/ENTITIES/mobs_mc/init.lua +++ b/mods/ENTITIES/mobs_mc/init.lua @@ -165,3 +165,4 @@ dofile(path .. "/fox.lua") dofile(path .. "/phantom.lua") dofile(path .. "/drowned.lua") dofile(path .. "/panda.lua") +dofile(path .. "/puffer_fish.lua") diff --git a/mods/ENTITIES/mobs_mc/models/mobs_mc_puffer_fish.b3d b/mods/ENTITIES/mobs_mc/models/mobs_mc_puffer_fish.b3d new file mode 100644 index 0000000000000000000000000000000000000000..45a5af1f1595aed4665d59e560f628da4759fc27 GIT binary patch literal 51719 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 XO<~RZ@M_0di?u$O_u;>lI|BV5W>v`W literal 0 HcmV?d00001 diff --git a/mods/ENTITIES/mobs_mc/puffer_fish.lua b/mods/ENTITIES/mobs_mc/puffer_fish.lua new file mode 100644 index 000000000..1fcf02afa --- /dev/null +++ b/mods/ENTITIES/mobs_mc/puffer_fish.lua @@ -0,0 +1,102 @@ +-- PUFFER FISH +-- cora +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("mobs_mc") + +local pfish = { + type = "animal", + passive = false, + spawn_class = "passive", + skittish = false, + runaway = true, + hp_min = 10, + hp_max = 10, + xp_min = 1, + xp_max = 2, + armor = {fleshy = 90}, + attack_type = "dogfight", + damage = 2, + reach = 1.5, + jump = false, + makes_footstep_sound = true, + fly = true, + fly_in = {"mcl_core:water_source","mcl_core:water_flowing"}, + breath_max = -1, + walk_velocity = 1, + run_velocity = 2, + follow_velocity = 2, + follow = followitem, + pathfinding = 1, + fear_height = 4, + view_range = 16, + collisionbox = {-0.3, -0.01, -0.3, 0.3, 0.84, 0.3}, + visual = "mesh", + mesh = "mobs_mc_puffer_fish.b3d", + textures = { { + "mobs_mc_puffer_fish.png", + } }, + visual_size = {x=3, y=3}, + rotate = 0, + sounds = { + }, + 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, + }, +} + +mcl_mobs:register_mob("mobs_mc:puffer_fish", pfish) + +-- spawning +mcl_mobs:spawn_setup({ + name = "mobs_mc:puffer_fish", + biomes = { + "StoneBeach_ocean", + "MesaPlateauFM_sandlevel", + "MesaPlateauF_sandlevel", + "MesaBryce_sandlevel", + "Mesa_sandlevel", + "FlowerForest_beach", + "Forest_beach", + "StoneBeach", + "ColdTaiga_beach_water", + "Taiga_beach", + "Savanna_beach", + "Plains_beach", + "ExtremeHills_beach", + "ColdTaiga_beach", + "Swampland_shore", + "MushroomIslandShore", + "JungleM_shore", + "Jungle_shore", + "MangroveSwamp_shore", + }, + interval = 30, + chance = 6000, + min_height = 1, +}) + +-- spawn eggs +mcl_mobs:register_egg("mobs_mc:puffer_fish", S("Puffer Fish"), "#FFFF00", "#FFaa99", 0) diff --git a/mods/ENTITIES/mobs_mc/textures/mobs_mc_puffer_fish.png b/mods/ENTITIES/mobs_mc/textures/mobs_mc_puffer_fish.png new file mode 100755 index 0000000000000000000000000000000000000000..2e3cda64b90496453fd6bf40edc885dfd070c2b5 GIT binary patch literal 853 zcmV-b1FHOqP)004R= z004l4008;_004mL004C`008P>0026e000+nl3&F}00009a7bBm000XT000XT0n*)m z`~Uy|8FWQhbW?9;ba!ELWdLwtX>N2bZe?^JG%heMGBNQWX_Wu~0=7v+K~z{ry_T_x z6hRP%H#E>hj7~(Oi%fh2F%bkG!RPQIBYgrjx>WGMTu|>Y76U;LjLb}ZfK?dxYxW!d zsp;LpZ-1;`nzZ5W>!DWo(-G7)t{fI%~n1>y*|MAmj@G!e|`0EFV=bS?(^{E zqZs0hS=Va}S@YiU`@Vn=Zw>~jli-eNo)}j=*2WpD z^(x~LL!AV7tO%`fPf+U^0eM;3J(odWCQc6<_F&FNwJ|

mY#3pf3}r2iMwW!>3E# z6W9eJYQ0J~nAnJ>2ml2!=gxOoYTS8ncerxxDzuvE&l*-}k|MG>&}1Jpx^er^hBJS1 zlVvk3$M56T%ggz?K5Jy`+wljult3n(zzt7J#`qr~Hwg+?F ze?I?{_QMU4!RjA9zBOzZ{W@npV{Bc&k8ZF+!CeBDP|UW*C{{a3lIqj^yaJYJKOWsK zw#vJ6+<01V$c!)1e(H`{ykYd~{6*3Y(mVz1gG+-z$QO-|BBv6}*0-O!i^!$e}S`OIZAxV`Dc4O#ny10vl4q#^7-Y1yY1XU61YMm`4sMq