From 22308b4c94009652649f4407f85a0fb96076e49c Mon Sep 17 00:00:00 2001 From: tenplus1 Date: Mon, 1 Mar 2021 12:27:12 +0000 Subject: [PATCH] add different dirt and stone type monsters --- dirt_monster.lua | 45 ++++++++++++++++++++++++++----- stone_monster.lua | 40 ++++++++++++++++++++++++++- textures/mobs_dirt_monster2.png | Bin 0 -> 594 bytes textures/mobs_dirt_monster3.png | Bin 0 -> 610 bytes textures/mobs_stone_monster2.png | Bin 3682 -> 757 bytes textures/mobs_stone_monster3.png | Bin 0 -> 3682 bytes 6 files changed, 77 insertions(+), 8 deletions(-) create mode 100644 textures/mobs_dirt_monster2.png create mode 100644 textures/mobs_dirt_monster3.png create mode 100644 textures/mobs_stone_monster3.png diff --git a/dirt_monster.lua b/dirt_monster.lua index 518116a..31e515a 100644 --- a/dirt_monster.lua +++ b/dirt_monster.lua @@ -1,6 +1,16 @@ local S = mobs.intllib +local dirt_types = { + + { nodes = {"ethereal:dry_dirt"}, + skins = {"mobs_dirt_monster3.png"}, + drops = { + {name = "ethereal:dry_dirt", chance = 1, min = 0, max = 2} + } + } +} + -- Dirt Monster by PilzAdam @@ -19,6 +29,7 @@ mobs:register_mob("mobs_monster:dirt_monster", { mesh = "mobs_stone_monster.b3d", textures = { {"mobs_dirt_monster.png"}, + {"mobs_dirt_monster2.png"}, }, blood_texture = "default_dirt.png", makes_footstep_sound = true, @@ -48,19 +59,39 @@ mobs:register_mob("mobs_monster:dirt_monster", { punch_start = 40, punch_end = 63, }, + + -- check surrounding nodes and spawn a specific spider + on_spawn = function(self) + + local pos = self.object:get_pos() ; pos.y = pos.y - 1 + local tmp + + for n = 1, #dirt_types do + + tmp = dirt_types[n] + + if minetest.find_node_near(pos, 1, tmp.nodes) then + + self.base_texture = tmp.skins + self.object:set_properties({textures = tmp.skins}) + + if tmp.drops then + self.drops = tmp.drops + end + + return true + end + end + + return true -- run only once, false/nil runs every activation + end }) -local spawn_on = "default:dirt_with_grass" - -if minetest.get_modpath("ethereal") then - spawn_on = "ethereal:gray_dirt" -end - if not mobs.custom_spawn_monster then mobs:spawn({ name = "mobs_monster:dirt_monster", - nodes = {spawn_on}, + nodes = {"default:dirt_with_grass", "ethereal:gray_dirt", "ethereal:dry_dirt"}, min_light = 0, max_light = 7, chance = 6000, diff --git a/stone_monster.lua b/stone_monster.lua index 34197d7..eb8d650 100644 --- a/stone_monster.lua +++ b/stone_monster.lua @@ -1,6 +1,18 @@ local S = mobs.intllib +local stone_types = { + + { nodes = {"default:desert_stone"}, + skins = {"mobs_stone_monster3.png"}, + drops = { + {name = "default:desert_cobble", chance = 1, min = 0, max = 2}, + {name = "default:iron_lump", chance = 5, min = 0, max = 2}, + {name = "default:gold_lump", chance = 5, min = 0, max = 2} + } + } +} + -- Stone Monster by PilzAdam @@ -34,7 +46,7 @@ mobs:register_mob("mobs_monster:stone_monster", { drops = { {name = "default:cobble", chance = 1, min = 0, max = 2}, {name = "default:coal_lump", chance = 3, min = 0, max = 2}, - {name = "default:iron_lump", chance = 5, min = 0, max = 2}, + {name = "default:iron_lump", chance = 5, min = 0, max = 2} }, water_damage = 0, lava_damage = 1, @@ -59,6 +71,32 @@ mobs:register_mob("mobs_monster:stone_monster", { {"default:pick_mese", 6}, {"default:pick_diamond", 7}, }, + + -- check surrounding nodes and spawn a specific spider + on_spawn = function(self) + + local pos = self.object:get_pos() ; pos.y = pos.y - 1 + local tmp + + for n = 1, #stone_types do + + tmp = stone_types[n] + + if minetest.find_node_near(pos, 1, tmp.nodes) then + + self.base_texture = tmp.skins + self.object:set_properties({textures = tmp.skins}) + + if tmp.drops then + self.drops = tmp.drops + end + + return true + end + end + + return true -- run only once, false/nil runs every activation + end }) diff --git a/textures/mobs_dirt_monster2.png b/textures/mobs_dirt_monster2.png new file mode 100644 index 0000000000000000000000000000000000000000..964698c91eaf2f258abbf9bbb3961144f6e1f23e GIT binary patch literal 594 zcmV-Y0%7648g0H*)~RwD*qDGBue0BJH2ayk=zLmiD!C7oU`ux>bQAbvgo z0004WQchCQ?|6_|G#z%$`Pq|9erTPI7SlE z{0IZ26ibl;m^4O6s*)2j1Bu5!>qAu)OU^_LqL4%dm_;N3Q1;jnR1rpiTnJGLqKZ;B zMpR5f9yAqg*@vE-|`fgOQJRX|!jGs>^H*u)L&2ux(AXdamcGii9ngon6XkO;om5n#$W z+BJVYD@P#gu>~tejB(#Kv0j1+uw$>DX{{04qB*D>+a}f%6xEn%^~{u@HaX^Qz+>CQ zIs!F&D5cdiV~Eif0OO})+r)YTJ%x88zPQJad6^Y2;U+9QJ{Xr-aRhf^+3~@+%!((N zCSfw7*<2xT~#!yTqqHm~(a}amV{DJoLfuNtCX4y5eoyqP|F?b`PdL zh<`pCzfR)R2ixDzhVPSj_CW|+h&M@uC5doJ;@Jlwq_oNFBu;%0Ov3vlPWKW%cOECT#uwAEHk=wwzc{#Q*>R07*qoM6N<$f-XJxJOBUy literal 0 HcmV?d00001 diff --git a/textures/mobs_dirt_monster3.png b/textures/mobs_dirt_monster3.png new file mode 100644 index 0000000000000000000000000000000000000000..f11faee487913cff4e109716df40ad0ddced5f97 GIT binary patch literal 610 zcmV-o0-gPdP)P)t-skpKYu z004baHk@ETuWL!Ga80;&Q^0ym!+>4Gfmh6gR?UfF-<4?Nm0|0kaqgjP^`U6}u6g{n zfd9C7|HO*_%#Z)pm;d3O{_3HGbK#-@0004WQchCco z5NqY)B3mq+1^fSBdVoqx*>)U#V93Zs60^C4pl7X>bL0SIQc6pTWC8LE3>;s^2On`; zR%;!42ubS@!|Vd(;{b>pGlK0ecr)uv06@-|L=n+CYopPG95aG>^?ntPyMaw7{}y9H z$cSS`V0E}5QSy?&`L`G{pW+&31lkCR$&H>lnm@%g%x?e>G%Jptd0IZjHOvSoY*B+7 zJ@ZH}ajJ-Gm=QR;ET~lWDD<9rgk9XSntZhvW&|J+718Kf;VOi7vl7(4En*o#J`0p^ z^ek=<0eO*W5s~(75z9SrF-nW0XITlvyxb|@-0s`OB9C%DOHQidk?#VL8KlgM)-lQ3 zzAa)I!MCtH@iTs5u!ei^B`i<8GY+%D2)>2oiFd|fR`?A%;azwtF7FTf;9FQ4t{*t+ zgE|RASQ@T>>8KCtBn)9`xJo$cgAxukgr(s+tw()OCt(On!?iDt`e3N7kCCh%9reNQ zB!)V=hkfuniBvu4e(^L-DxFATsvdNGpsv?xJ)Oj^52j22r<2(Afe@2Wr<3^Z10j@} w=yVdhJ`h>L`6PCIPzcQFBzAouf|cwB|2)S@R;;#3W&i*H07*qoM6N<$g05r|UH||9 literal 0 HcmV?d00001 diff --git a/textures/mobs_stone_monster2.png b/textures/mobs_stone_monster2.png index 70bfc6ecee2aa2c7597cb8dfdb732595db35ad96..9c76b833e1a97bca48f937229202d8d63d74ce39 100644 GIT binary patch delta 744 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 A`~Uy| diff --git a/textures/mobs_stone_monster3.png b/textures/mobs_stone_monster3.png new file mode 100644 index 0000000000000000000000000000000000000000..70bfc6ecee2aa2c7597cb8dfdb732595db35ad96 GIT binary patch literal 3682 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 A`~Uy| literal 0 HcmV?d00001