mirror of
https://codeberg.org/tenplus1/mobs_monster.git
synced 2024-12-22 17:00:26 +01:00
add different dirt and stone type monsters
This commit is contained in:
parent
05ccc87150
commit
22308b4c94
@ -1,6 +1,16 @@
|
|||||||
|
|
||||||
local S = mobs.intllib
|
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
|
-- Dirt Monster by PilzAdam
|
||||||
|
|
||||||
@ -19,6 +29,7 @@ mobs:register_mob("mobs_monster:dirt_monster", {
|
|||||||
mesh = "mobs_stone_monster.b3d",
|
mesh = "mobs_stone_monster.b3d",
|
||||||
textures = {
|
textures = {
|
||||||
{"mobs_dirt_monster.png"},
|
{"mobs_dirt_monster.png"},
|
||||||
|
{"mobs_dirt_monster2.png"},
|
||||||
},
|
},
|
||||||
blood_texture = "default_dirt.png",
|
blood_texture = "default_dirt.png",
|
||||||
makes_footstep_sound = true,
|
makes_footstep_sound = true,
|
||||||
@ -48,19 +59,39 @@ mobs:register_mob("mobs_monster:dirt_monster", {
|
|||||||
punch_start = 40,
|
punch_start = 40,
|
||||||
punch_end = 63,
|
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
|
if not mobs.custom_spawn_monster then
|
||||||
mobs:spawn({
|
mobs:spawn({
|
||||||
name = "mobs_monster:dirt_monster",
|
name = "mobs_monster:dirt_monster",
|
||||||
nodes = {spawn_on},
|
nodes = {"default:dirt_with_grass", "ethereal:gray_dirt", "ethereal:dry_dirt"},
|
||||||
min_light = 0,
|
min_light = 0,
|
||||||
max_light = 7,
|
max_light = 7,
|
||||||
chance = 6000,
|
chance = 6000,
|
||||||
|
@ -1,6 +1,18 @@
|
|||||||
|
|
||||||
local S = mobs.intllib
|
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
|
-- Stone Monster by PilzAdam
|
||||||
|
|
||||||
@ -34,7 +46,7 @@ mobs:register_mob("mobs_monster:stone_monster", {
|
|||||||
drops = {
|
drops = {
|
||||||
{name = "default:cobble", chance = 1, min = 0, max = 2},
|
{name = "default:cobble", chance = 1, min = 0, max = 2},
|
||||||
{name = "default:coal_lump", chance = 3, 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,
|
water_damage = 0,
|
||||||
lava_damage = 1,
|
lava_damage = 1,
|
||||||
@ -59,6 +71,32 @@ mobs:register_mob("mobs_monster:stone_monster", {
|
|||||||
{"default:pick_mese", 6},
|
{"default:pick_mese", 6},
|
||||||
{"default:pick_diamond", 7},
|
{"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
|
||||||
})
|
})
|
||||||
|
|
||||||
|
|
||||||
|
BIN
textures/mobs_dirt_monster2.png
Normal file
BIN
textures/mobs_dirt_monster2.png
Normal file
Binary file not shown.
After Width: | Height: | Size: 594 B |
BIN
textures/mobs_dirt_monster3.png
Normal file
BIN
textures/mobs_dirt_monster3.png
Normal file
Binary file not shown.
After Width: | Height: | Size: 610 B |
Binary file not shown.
Before Width: | Height: | Size: 3.6 KiB After Width: | Height: | Size: 757 B |
BIN
textures/mobs_stone_monster3.png
Normal file
BIN
textures/mobs_stone_monster3.png
Normal file
Binary file not shown.
After Width: | Height: | Size: 3.6 KiB |
Loading…
Reference in New Issue
Block a user