mirror of
https://github.com/sys4-fr/server-nalc.git
synced 2025-01-23 16:30:19 +01:00
Update the mobs mod
- Update to the 0.8 release of TenPlus1 mobs redo mod - Merge the TenPlus1 mobs redo mod changes - Add 2/3 new sounds for each monsters (from the Cyberpangolin mobs sounds) - Small up of the lava_flan mob health
This commit is contained in:
parent
c81fc9903e
commit
3fce25aeab
@ -25,10 +25,11 @@ This mod contains the following additions:
|
|||||||
|
|
||||||
Changelog:
|
Changelog:
|
||||||
|
|
||||||
0.7 - mob.protected switch added to api.lua, when set to 1 mobs no longer spawn in protected areas, also bug fixes
|
0.8 - Added sounds to monster mobs (thanks Cyberpangolin for the sfx) and also chicken sound
|
||||||
|
0.7 - mobs.protected switch added to api.lua, when set to 1 mobs no longer spawn in protected areas, also bug fixes
|
||||||
0.6 - Api now supports multi-textured mobs, e.g oerkki, dungeon master, rats and chickens have random skins when spawning (sheep fix TODO), also new Honey block
|
0.6 - Api now supports multi-textured mobs, e.g oerkki, dungeon master, rats and chickens have random skins when spawning (sheep fix TODO), also new Honey block
|
||||||
0.5 - Mobs now float in water, die from falling, and some code improvements
|
0.5 - Mobs now float in water, die from falling, and some code improvements
|
||||||
0.4 - Dungeon Masters and Mese Monsters have much better aim due to shoot_offset, also they can both shoot through nodes that aren't walkable (flowers, grass etc) plus new sheep sound :)
|
0.4 - Dungeon Masters and Mese Monsters have much better aim due to shoot_offset, also they can both shoot through nodes that aren't walkable (flowers, grass etc) plus new sheep sound :)
|
||||||
0.3 - Added LOTT's Spider mob, made Cobwebs, added KPavel's Bee with Honey and Beehives (made texture), Warthogs now have sound and can be tamed, taming of shaved sheep or milked cow with 8 wheat so it will not despawn, many bug fixes :)
|
0.3 - Added LOTT's Spider mob, made Cobwebs, added KPavel's Bee with Honey and Beehives (made texture), Warthogs now have sound and can be tamed, taming of shaved sheep or milked cow with 8 wheat so it will not despawn, many bug fixes :)
|
||||||
0.2 - Cooking bucket of milk into cheese now returns empty bucket
|
0.2 - Cooking bucket of milk into cheese now returns empty bucket
|
||||||
0.1 - Initial Release
|
0.1 - Initial Release
|
@ -174,7 +174,7 @@ function mobs:register_mob(name, def)
|
|||||||
end,
|
end,
|
||||||
|
|
||||||
on_step = function(self, dtime)
|
on_step = function(self, dtime)
|
||||||
|
local yaw = 0
|
||||||
if self.type == "monster" and minetest.setting_getbool("only_peaceful_mobs") then
|
if self.type == "monster" and minetest.setting_getbool("only_peaceful_mobs") then
|
||||||
self.object:remove()
|
self.object:remove()
|
||||||
end
|
end
|
||||||
@ -196,7 +196,7 @@ function mobs:register_mob(name, def)
|
|||||||
|
|
||||||
-- drop egg
|
-- drop egg
|
||||||
if self.animaltype == "clucky" then
|
if self.animaltype == "clucky" then
|
||||||
if math.random(1, 1500) < 2
|
if math.random(1, 3000) <= 1
|
||||||
and minetest.get_node(self.object:getpos()).name == "air"
|
and minetest.get_node(self.object:getpos()).name == "air"
|
||||||
and self.state == "stand" then
|
and self.state == "stand" then
|
||||||
minetest.set_node(self.object:getpos(), {name="mobs:egg"})
|
minetest.set_node(self.object:getpos(), {name="mobs:egg"})
|
||||||
@ -458,7 +458,7 @@ function mobs:register_mob(name, def)
|
|||||||
self.set_animation(self, "walk")
|
self.set_animation(self, "walk")
|
||||||
end
|
end
|
||||||
elseif self.state == "walk" then
|
elseif self.state == "walk" then
|
||||||
if math.random(1, 100) < 31 then
|
if math.random(1, 100) <= 30 then
|
||||||
self.object:setyaw(self.object:getyaw()+((math.random(0,360)-180)/180*math.pi))
|
self.object:setyaw(self.object:getyaw()+((math.random(0,360)-180)/180*math.pi))
|
||||||
end
|
end
|
||||||
if self.jump and self.get_velocity(self) <= 0.5 and self.object:getvelocity().y == 0 then
|
if self.jump and self.get_velocity(self) <= 0.5 and self.object:getvelocity().y == 0 then
|
||||||
@ -468,7 +468,7 @@ function mobs:register_mob(name, def)
|
|||||||
end
|
end
|
||||||
self:set_animation("walk")
|
self:set_animation("walk")
|
||||||
self.set_velocity(self, self.walk_velocity)
|
self.set_velocity(self, self.walk_velocity)
|
||||||
if math.random(1, 100) < 31 then
|
if math.random(1, 100) <= 30 then
|
||||||
self.set_velocity(self, 0)
|
self.set_velocity(self, 0)
|
||||||
self.state = "stand"
|
self.state = "stand"
|
||||||
self:set_animation("stand")
|
self:set_animation("stand")
|
||||||
@ -534,7 +534,7 @@ function mobs:register_mob(name, def)
|
|||||||
full_punch_interval=1.0,
|
full_punch_interval=1.0,
|
||||||
damage_groups = {fleshy=self.damage}
|
damage_groups = {fleshy=self.damage}
|
||||||
}, vec)
|
}, vec)
|
||||||
if self.attack.player:get_hp() < 1 then
|
if self.attack.player:get_hp() <= 0 then
|
||||||
self.state = "stand"
|
self.state = "stand"
|
||||||
self:set_animation("stand")
|
self:set_animation("stand")
|
||||||
end
|
end
|
||||||
@ -576,7 +576,7 @@ function mobs:register_mob(name, def)
|
|||||||
self.object:setyaw(yaw)
|
self.object:setyaw(yaw)
|
||||||
self.set_velocity(self, 0)
|
self.set_velocity(self, 0)
|
||||||
|
|
||||||
if self.timer > self.shoot_interval and math.random(1, 100) < 61 then
|
if self.timer > self.shoot_interval and math.random(1, 100) <= 60 then
|
||||||
self.timer = 0
|
self.timer = 0
|
||||||
|
|
||||||
self:set_animation("punch")
|
self:set_animation("punch")
|
||||||
@ -629,7 +629,7 @@ function mobs:register_mob(name, def)
|
|||||||
self.object:set_properties(tmp.textures)
|
self.object:set_properties(tmp.textures)
|
||||||
end]]
|
end]]
|
||||||
end
|
end
|
||||||
if self.lifetimer < 1 and not self.tamed and self.type ~= "npc" then
|
if self.lifetimer <= 0 and not self.tamed and self.type ~= "npc" then
|
||||||
self.object:remove()
|
self.object:remove()
|
||||||
end
|
end
|
||||||
end,
|
end,
|
||||||
@ -794,21 +794,22 @@ function mobs:register_spawn(name, nodes, max_light, min_light, chance, active_o
|
|||||||
if not mobs.spawning_mobs[name] then
|
if not mobs.spawning_mobs[name] then
|
||||||
return
|
return
|
||||||
end
|
end
|
||||||
|
|
||||||
-- Check if protected area using bogus name so mobs will not spawn
|
-- Check if protected area using bogus name so mobs will not spawn
|
||||||
if mobs.protected == 1 and minetest.is_protected(pos, "-") then
|
if mobs.protected == 1 and minetest.is_protected(pos, "-") then
|
||||||
return
|
return
|
||||||
end
|
end
|
||||||
|
|
||||||
pos.y = pos.y+1
|
pos.y = pos.y+1
|
||||||
|
if not minetest.get_node_light(pos) then
|
||||||
if not minetest.get_node_light(pos)
|
return
|
||||||
or minetest.get_node_light(pos) > max_light
|
end
|
||||||
or minetest.get_node_light(pos) < min_light then
|
if minetest.get_node_light(pos) > max_light then
|
||||||
--print ("LIGHT", name)
|
return
|
||||||
|
end
|
||||||
|
if minetest.get_node_light(pos) < min_light then
|
||||||
return
|
return
|
||||||
end
|
end
|
||||||
|
|
||||||
if pos.y > max_height then
|
if pos.y > max_height then
|
||||||
return
|
return
|
||||||
end
|
end
|
||||||
@ -867,7 +868,8 @@ function mobs:register_arrow(name, def)
|
|||||||
on_step = function(self, dtime)
|
on_step = function(self, dtime)
|
||||||
local pos = self.object:getpos()
|
local pos = self.object:getpos()
|
||||||
--if minetest.get_node(self.object:getpos()).name ~= "air" then
|
--if minetest.get_node(self.object:getpos()).name ~= "air" then
|
||||||
if minetest.registered_nodes[minetest.get_node(self.object:getpos()).name].walkable then
|
local node = minetest.get_node(self.object:getpos()).name
|
||||||
|
if minetest.registered_nodes[node].walkable then
|
||||||
self.hit_node(self, pos, node)
|
self.hit_node(self, pos, node)
|
||||||
self.object:remove()
|
self.object:remove()
|
||||||
return
|
return
|
||||||
|
@ -12,7 +12,7 @@ mobs:register_mob("mobs:bee", {
|
|||||||
available_textures = {
|
available_textures = {
|
||||||
total = 1,
|
total = 1,
|
||||||
texture_1 = {"mobs_bee.png"},
|
texture_1 = {"mobs_bee.png"},
|
||||||
},
|
},
|
||||||
makes_footstep_sound = false,
|
makes_footstep_sound = false,
|
||||||
walk_velocity = 1,
|
walk_velocity = 1,
|
||||||
armor = 200,
|
armor = 200,
|
||||||
@ -34,7 +34,9 @@ mobs:register_mob("mobs:bee", {
|
|||||||
walk_start = 35,
|
walk_start = 35,
|
||||||
walk_end = 65,
|
walk_end = 65,
|
||||||
},
|
},
|
||||||
|
sounds = {
|
||||||
|
random = "mobs_bee_random01",
|
||||||
|
},
|
||||||
on_rightclick = function(self, clicker)
|
on_rightclick = function(self, clicker)
|
||||||
if clicker:is_player() and clicker:get_inventory() then
|
if clicker:is_player() and clicker:get_inventory() then
|
||||||
clicker:get_inventory():add_item("main", "mobs:bee")
|
clicker:get_inventory():add_item("main", "mobs:bee")
|
||||||
@ -53,7 +55,7 @@ minetest.register_craftitem("mobs:bee", {
|
|||||||
|
|
||||||
on_place = function(itemstack, placer, pointed_thing)
|
on_place = function(itemstack, placer, pointed_thing)
|
||||||
if pointed_thing.above then
|
if pointed_thing.above then
|
||||||
minetest.add_entity(pointed_thing.above, "mobs:bee")
|
minetest.env:add_entity(pointed_thing.above, "mobs:bee")
|
||||||
itemstack:take_item()
|
itemstack:take_item()
|
||||||
end
|
end
|
||||||
return itemstack
|
return itemstack
|
||||||
@ -92,7 +94,7 @@ minetest.register_node("mobs:beehive", {
|
|||||||
after_place_node = function(pos, placer, itemstack)
|
after_place_node = function(pos, placer, itemstack)
|
||||||
if placer:is_player() then
|
if placer:is_player() then
|
||||||
minetest.set_node(pos, {name="mobs:beehive", param2=1})
|
minetest.set_node(pos, {name="mobs:beehive", param2=1})
|
||||||
minetest.add_entity(pos, "mobs:bee")
|
minetest.env:add_entity(pos, "mobs:bee")
|
||||||
end
|
end
|
||||||
end,
|
end,
|
||||||
|
|
||||||
@ -107,22 +109,24 @@ minetest.register_craft({
|
|||||||
|
|
||||||
-- Honey Block
|
-- Honey Block
|
||||||
minetest.register_node("mobs:honey_block", {
|
minetest.register_node("mobs:honey_block", {
|
||||||
description = "Honey Block",
|
description = "Honey Block",
|
||||||
tiles = {"mobs_honey_block.png"},
|
tiles = {"mobs_honey_block.png"},
|
||||||
groups = {snappy=3,flammable=2},
|
groups = {snappy=3,flammable=2},
|
||||||
sounds = default.node_sound_dirt_defaults(),
|
sounds = default.node_sound_dirt_defaults(),
|
||||||
})
|
})
|
||||||
|
|
||||||
minetest.register_craft({
|
minetest.register_craft({
|
||||||
output = "mobs:honey_block",
|
output = "mobs:honey_block",
|
||||||
recipe = {
|
recipe = {
|
||||||
{"mobs:honey", "mobs:honey", "mobs:honey"},
|
{"mobs:honey", "mobs:honey", "mobs:honey"},
|
||||||
{"mobs:honey", "mobs:honey", "mobs:honey"},
|
{"mobs:honey", "mobs:honey", "mobs:honey"},
|
||||||
{"mobs:honey", "mobs:honey", "mobs:honey"},
|
{"mobs:honey", "mobs:honey", "mobs:honey"},
|
||||||
}
|
}
|
||||||
})
|
})
|
||||||
|
|
||||||
minetest.register_craft({
|
minetest.register_craft({
|
||||||
output = "mobs:honey 9",
|
output = "mobs:honey 9",
|
||||||
recipe = {
|
recipe = {
|
||||||
{"mobs:honey_block"},
|
{"mobs:honey_block"},
|
||||||
}
|
}
|
||||||
})
|
})
|
||||||
|
@ -18,9 +18,9 @@ mobs:register_mob("mobs:chicken", {
|
|||||||
texture_2 = {"mobs_chicken_black.png", "mobs_chicken_black.png", "mobs_chicken_black.png",
|
texture_2 = {"mobs_chicken_black.png", "mobs_chicken_black.png", "mobs_chicken_black.png",
|
||||||
"mobs_chicken_black.png", "mobs_chicken_black.png", "mobs_chicken_black.png",
|
"mobs_chicken_black.png", "mobs_chicken_black.png", "mobs_chicken_black.png",
|
||||||
"mobs_chicken_black.png", "mobs_chicken_black.png", "mobs_chicken_black.png"},
|
"mobs_chicken_black.png", "mobs_chicken_black.png", "mobs_chicken_black.png"},
|
||||||
},
|
},
|
||||||
--textures = {"mobs_chicken.png", "mobs_chicken.png", "mobs_chicken.png", "mobs_chicken.png",
|
--textures = {"mobs_chicken.png", "mobs_chicken.png", "mobs_chicken.png", "mobs_chicken.png",
|
||||||
-- "mobs_chicken.png", "mobs_chicken.png", "mobs_chicken.png", "mobs_chicken.png", "mobs_chicken.png"},
|
-- "mobs_chicken.png", "mobs_chicken.png", "mobs_chicken.png", "mobs_chicken.png", "mobs_chicken.png"},
|
||||||
makes_footstep_sound = true,
|
makes_footstep_sound = true,
|
||||||
walk_velocity = 1,
|
walk_velocity = 1,
|
||||||
armor = 200,
|
armor = 200,
|
||||||
@ -46,22 +46,10 @@ mobs:register_mob("mobs:chicken", {
|
|||||||
clicker:get_inventory():add_item("main", "mobs:chicken")
|
clicker:get_inventory():add_item("main", "mobs:chicken")
|
||||||
self.object:remove()
|
self.object:remove()
|
||||||
end
|
end
|
||||||
-- A VOIR POUR RENDRE TAMED/APPRIVOISABLE
|
|
||||||
-- if item:get_name() == "farming:wheat" then
|
|
||||||
-- if not minetest.setting_getbool("creative_mode") then
|
|
||||||
-- item:take_item()
|
|
||||||
-- clicker:set_wielded_item(item)
|
|
||||||
-- end
|
|
||||||
-- self.food = (self.food or 0) + 1
|
|
||||||
-- if self.food >= 4 then
|
|
||||||
-- self.food = 0
|
|
||||||
-- self.tamed = true
|
|
||||||
-- end
|
|
||||||
-- end
|
|
||||||
-- return
|
|
||||||
-- end
|
|
||||||
|
|
||||||
end,
|
end,
|
||||||
|
sounds = {
|
||||||
|
random = "mobs_chicken",
|
||||||
|
},
|
||||||
jump = true,
|
jump = true,
|
||||||
step = 1,
|
step = 1,
|
||||||
blood_texture = "mobs_blood.png",
|
blood_texture = "mobs_blood.png",
|
||||||
@ -78,7 +66,7 @@ minetest.register_craftitem("mobs:chicken", {
|
|||||||
|
|
||||||
on_place = function(itemstack, placer, pointed_thing)
|
on_place = function(itemstack, placer, pointed_thing)
|
||||||
if pointed_thing.above then
|
if pointed_thing.above then
|
||||||
minetest.add_entity(pointed_thing.above, "mobs:chicken")
|
minetest.env:add_entity(pointed_thing.above, "mobs:chicken")
|
||||||
itemstack:take_item()
|
itemstack:take_item()
|
||||||
end
|
end
|
||||||
return itemstack
|
return itemstack
|
||||||
@ -127,7 +115,7 @@ minetest.register_craft({
|
|||||||
-- Chicken (raw and cooked)
|
-- Chicken (raw and cooked)
|
||||||
|
|
||||||
minetest.register_craftitem("mobs:chicken_raw", {
|
minetest.register_craftitem("mobs:chicken_raw", {
|
||||||
description = "Raw Chicken",
|
description = "Raw Chicken",
|
||||||
inventory_image = "mobs_chicken_raw.png",
|
inventory_image = "mobs_chicken_raw.png",
|
||||||
on_use = minetest.item_eat(2),
|
on_use = minetest.item_eat(2),
|
||||||
})
|
})
|
||||||
|
@ -47,6 +47,9 @@ mobs:register_mob("mobs:dirt_monster", {
|
|||||||
punch_start = 40,
|
punch_start = 40,
|
||||||
punch_end = 63,
|
punch_end = 63,
|
||||||
},
|
},
|
||||||
|
sounds = {
|
||||||
|
random = {"mobs_dirtmonster_random01", "mobs_dirtmonster_random02"},
|
||||||
|
},
|
||||||
jump = true,
|
jump = true,
|
||||||
step = 1,
|
step = 1,
|
||||||
blood_texture = "default_dirt.png",
|
blood_texture = "default_dirt.png",
|
||||||
|
@ -74,6 +74,9 @@ mobs:register_mob("mobs:dungeon_master", {
|
|||||||
speed_normal = 15,
|
speed_normal = 15,
|
||||||
speed_run = 15,
|
speed_run = 15,
|
||||||
},
|
},
|
||||||
|
sounds = {
|
||||||
|
random = {"mobs_dungeonmaster_random01", "mobs_dungeonmaster_random02.ogg", "mobs_dungeonmaster_random03.ogg"},
|
||||||
|
},
|
||||||
jump = true,
|
jump = true,
|
||||||
step = 0.5,
|
step = 0.5,
|
||||||
shoot_offset = 0,
|
shoot_offset = 0,
|
||||||
@ -106,11 +109,11 @@ mobs:register_arrow("mobs:fireball", {
|
|||||||
for dy=-1,1 do
|
for dy=-1,1 do
|
||||||
for dz=-1,1 do
|
for dz=-1,1 do
|
||||||
local p = {x=pos.x+dx, y=pos.y+dy, z=pos.z+dz}
|
local p = {x=pos.x+dx, y=pos.y+dy, z=pos.z+dz}
|
||||||
local n = minetest.get_node(p).name
|
local n = minetest.env:get_node(p).name
|
||||||
local excluding = minetest.registered_nodes[n].groups["unbreakable"] ~= nil
|
local excluding = minetest.registered_nodes[n].groups["unbreakable"] ~= nil
|
||||||
or n:split(":")[1] == "nether"
|
or n:split(":")[1] == "nether"
|
||||||
for _,i in ipairs(excluded) do
|
for _,i in ipairs(excluded) do
|
||||||
if i == n then excluding = true end
|
if i == n then including = true end
|
||||||
end
|
end
|
||||||
|
|
||||||
--if p.y < -19600 and including and n:split(":")[1] == "nether" then
|
--if p.y < -19600 and including and n:split(":")[1] == "nether" then
|
||||||
@ -119,9 +122,9 @@ mobs:register_arrow("mobs:fireball", {
|
|||||||
end
|
end
|
||||||
if n ~= "default:obsidian" and n ~= "ethereal:obsidian_brick" then
|
if n ~= "default:obsidian" and n ~= "ethereal:obsidian_brick" then
|
||||||
if minetest.registered_nodes[n].groups.flammable or math.random(1, 100) <= 30 then
|
if minetest.registered_nodes[n].groups.flammable or math.random(1, 100) <= 30 then
|
||||||
minetest.set_node(p, {name="fire:basic_flame"})
|
minetest.env:set_node(p, {name="fire:basic_flame"})
|
||||||
else
|
else
|
||||||
minetest.set_node(p, {name="air"})
|
minetest.env:set_node(p, {name="air"})
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
|
@ -12,8 +12,8 @@ minetest.register_alias("zmobs:lava_orb", "mobs:lava_orb")
|
|||||||
|
|
||||||
mobs:register_mob("mobs:lava_flan", {
|
mobs:register_mob("mobs:lava_flan", {
|
||||||
type = "monster",
|
type = "monster",
|
||||||
hp_min = 15,
|
hp_min = 20,
|
||||||
hp_max = 30,
|
hp_max = 35,
|
||||||
collisionbox = {-0.5, -0.5, -0.5, 0.5, 1.5, 0.5},
|
collisionbox = {-0.5, -0.5, -0.5, 0.5, 1.5, 0.5},
|
||||||
visual = "mesh",
|
visual = "mesh",
|
||||||
mesh = "zmobs_lava_flan.x",
|
mesh = "zmobs_lava_flan.x",
|
||||||
@ -53,6 +53,9 @@ mobs:register_mob("mobs:lava_flan", {
|
|||||||
punch_start = 20,
|
punch_start = 20,
|
||||||
punch_end = 28,
|
punch_end = 28,
|
||||||
},
|
},
|
||||||
|
sounds = {
|
||||||
|
random = {"mobs_lavaflan_random01", "mobs_lavaflan_random02"},
|
||||||
|
},
|
||||||
jump = true,
|
jump = true,
|
||||||
step = 2,
|
step = 2,
|
||||||
blood_texture = "fire_basic_flame.png",
|
blood_texture = "fire_basic_flame.png",
|
||||||
|
21
mods/mobs/license.txt
Normal file
21
mods/mobs/license.txt
Normal file
@ -0,0 +1,21 @@
|
|||||||
|
The MIT License (MIT)
|
||||||
|
|
||||||
|
Copyright (c) 2014 Krupnov Pavel
|
||||||
|
|
||||||
|
Permission is hereby granted, free of charge, to any person obtaining a copy
|
||||||
|
of this software and associated documentation files (the "Software"), to deal
|
||||||
|
in the Software without restriction, including without limitation the rights
|
||||||
|
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
|
||||||
|
copies of the Software, and to permit persons to whom the Software is
|
||||||
|
furnished to do so, subject to the following conditions:
|
||||||
|
|
||||||
|
The above copyright notice and this permission notice shall be included in
|
||||||
|
all copies or substantial portions of the Software.
|
||||||
|
|
||||||
|
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
||||||
|
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
||||||
|
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
|
||||||
|
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
||||||
|
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
|
||||||
|
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
|
||||||
|
THE SOFTWARE.
|
@ -65,6 +65,9 @@ mobs:register_mob("mobs:mese_monster", {
|
|||||||
punch_start = 15, -- 40
|
punch_start = 15, -- 40
|
||||||
punch_end = 38, -- 63
|
punch_end = 38, -- 63
|
||||||
},
|
},
|
||||||
|
sounds = {
|
||||||
|
random = {"mobs_mesemonster_random01", "mobs_mesemonster_random02"},
|
||||||
|
},
|
||||||
jump = true,
|
jump = true,
|
||||||
step = 1,
|
step = 1,
|
||||||
shoot_offset = 2,
|
shoot_offset = 2,
|
||||||
|
Binary file not shown.
Before Width: | Height: | Size: 2.3 KiB After Width: | Height: | Size: 1.8 KiB |
Binary file not shown.
Before Width: | Height: | Size: 5.1 KiB After Width: | Height: | Size: 1.7 KiB |
@ -49,6 +49,10 @@ mobs:register_mob("mobs:oerkki", {
|
|||||||
speed_normal = 15,
|
speed_normal = 15,
|
||||||
speed_run = 15,
|
speed_run = 15,
|
||||||
},
|
},
|
||||||
|
sounds = {
|
||||||
|
random = {"mobs_oerkki_random01", "mobs_oerkki_random02"},
|
||||||
|
attack = "mobs_oerkki_attack",
|
||||||
|
},
|
||||||
jump = true,
|
jump = true,
|
||||||
step = 1,
|
step = 1,
|
||||||
blood_texture = "mobs_blood.png",
|
blood_texture = "mobs_blood.png",
|
||||||
|
@ -25,6 +25,9 @@ mobs:register_mob("mobs:rat", {
|
|||||||
jump = true,
|
jump = true,
|
||||||
step = 1,
|
step = 1,
|
||||||
passive = true,
|
passive = true,
|
||||||
|
sounds = {
|
||||||
|
random = {"mobs_rat_random01", "mobs_rat_random02"},
|
||||||
|
},
|
||||||
|
|
||||||
on_rightclick = function(self, clicker)
|
on_rightclick = function(self, clicker)
|
||||||
if clicker:is_player() and clicker:get_inventory() then
|
if clicker:is_player() and clicker:get_inventory() then
|
||||||
@ -43,7 +46,7 @@ minetest.register_craftitem("mobs:rat", {
|
|||||||
|
|
||||||
on_place = function(itemstack, placer, pointed_thing)
|
on_place = function(itemstack, placer, pointed_thing)
|
||||||
if pointed_thing.above then
|
if pointed_thing.above then
|
||||||
minetest.add_entity(pointed_thing.above, "mobs:rat")
|
minetest.env:add_entity(pointed_thing.above, "mobs:rat")
|
||||||
itemstack:take_item()
|
itemstack:take_item()
|
||||||
end
|
end
|
||||||
return itemstack
|
return itemstack
|
||||||
|
@ -48,6 +48,9 @@ mobs:register_mob("mobs:sand_monster", {
|
|||||||
punch_start = 74,
|
punch_start = 74,
|
||||||
punch_end = 105,
|
punch_end = 105,
|
||||||
},
|
},
|
||||||
|
sounds = {
|
||||||
|
random = {"mobs_sandmonster_random01", "mobs_sandmonster_random02"},
|
||||||
|
},
|
||||||
jump = true,
|
jump = true,
|
||||||
step = 1,
|
step = 1,
|
||||||
blood_texture = "mobs_blood.png",
|
blood_texture = "mobs_blood.png",
|
||||||
|
BIN
mods/mobs/sounds/mobs_bee_random01.ogg
Normal file
BIN
mods/mobs/sounds/mobs_bee_random01.ogg
Normal file
Binary file not shown.
BIN
mods/mobs/sounds/mobs_chicken.ogg
Normal file
BIN
mods/mobs/sounds/mobs_chicken.ogg
Normal file
Binary file not shown.
BIN
mods/mobs/sounds/mobs_dirtmonster_random01.ogg
Normal file
BIN
mods/mobs/sounds/mobs_dirtmonster_random01.ogg
Normal file
Binary file not shown.
BIN
mods/mobs/sounds/mobs_dirtmonster_random02.ogg
Normal file
BIN
mods/mobs/sounds/mobs_dirtmonster_random02.ogg
Normal file
Binary file not shown.
BIN
mods/mobs/sounds/mobs_dungeonmaster_random01.ogg
Normal file
BIN
mods/mobs/sounds/mobs_dungeonmaster_random01.ogg
Normal file
Binary file not shown.
BIN
mods/mobs/sounds/mobs_dungeonmaster_random02.ogg
Normal file
BIN
mods/mobs/sounds/mobs_dungeonmaster_random02.ogg
Normal file
Binary file not shown.
BIN
mods/mobs/sounds/mobs_dungeonmaster_random03.ogg
Normal file
BIN
mods/mobs/sounds/mobs_dungeonmaster_random03.ogg
Normal file
Binary file not shown.
BIN
mods/mobs/sounds/mobs_lavaflan_random01.ogg
Normal file
BIN
mods/mobs/sounds/mobs_lavaflan_random01.ogg
Normal file
Binary file not shown.
BIN
mods/mobs/sounds/mobs_lavaflan_random02.ogg
Normal file
BIN
mods/mobs/sounds/mobs_lavaflan_random02.ogg
Normal file
Binary file not shown.
BIN
mods/mobs/sounds/mobs_mesemonster_random01.ogg
Normal file
BIN
mods/mobs/sounds/mobs_mesemonster_random01.ogg
Normal file
Binary file not shown.
BIN
mods/mobs/sounds/mobs_mesemonster_random02.ogg
Normal file
BIN
mods/mobs/sounds/mobs_mesemonster_random02.ogg
Normal file
Binary file not shown.
BIN
mods/mobs/sounds/mobs_oerkki_random01.ogg
Normal file
BIN
mods/mobs/sounds/mobs_oerkki_random01.ogg
Normal file
Binary file not shown.
BIN
mods/mobs/sounds/mobs_oerkki_random02.ogg
Normal file
BIN
mods/mobs/sounds/mobs_oerkki_random02.ogg
Normal file
Binary file not shown.
BIN
mods/mobs/sounds/mobs_rat_random01.ogg
Normal file
BIN
mods/mobs/sounds/mobs_rat_random01.ogg
Normal file
Binary file not shown.
BIN
mods/mobs/sounds/mobs_rat_random02.ogg
Normal file
BIN
mods/mobs/sounds/mobs_rat_random02.ogg
Normal file
Binary file not shown.
BIN
mods/mobs/sounds/mobs_sandmonster_random01.ogg
Normal file
BIN
mods/mobs/sounds/mobs_sandmonster_random01.ogg
Normal file
Binary file not shown.
BIN
mods/mobs/sounds/mobs_sandmonster_random02.ogg
Normal file
BIN
mods/mobs/sounds/mobs_sandmonster_random02.ogg
Normal file
Binary file not shown.
BIN
mods/mobs/sounds/mobs_spider_random01.ogg
Normal file
BIN
mods/mobs/sounds/mobs_spider_random01.ogg
Normal file
Binary file not shown.
BIN
mods/mobs/sounds/mobs_spider_random02.ogg
Normal file
BIN
mods/mobs/sounds/mobs_spider_random02.ogg
Normal file
Binary file not shown.
BIN
mods/mobs/sounds/mobs_stonemonster_random01.ogg
Normal file
BIN
mods/mobs/sounds/mobs_stonemonster_random01.ogg
Normal file
Binary file not shown.
BIN
mods/mobs/sounds/mobs_stonemonster_random02.ogg
Normal file
BIN
mods/mobs/sounds/mobs_stonemonster_random02.ogg
Normal file
Binary file not shown.
BIN
mods/mobs/sounds/mobs_treemonster_random01.ogg
Normal file
BIN
mods/mobs/sounds/mobs_treemonster_random01.ogg
Normal file
Binary file not shown.
BIN
mods/mobs/sounds/mobs_treemonster_random02.ogg
Normal file
BIN
mods/mobs/sounds/mobs_treemonster_random02.ogg
Normal file
Binary file not shown.
@ -57,20 +57,16 @@ mobs:register_mob("mobs:spider", {
|
|||||||
punch_start = 50,
|
punch_start = 50,
|
||||||
punch_end = 90,
|
punch_end = 90,
|
||||||
},
|
},
|
||||||
-- jump = true,
|
|
||||||
-- sounds = {},
|
|
||||||
-- step = 1,
|
|
||||||
--})
|
|
||||||
-- },
|
|
||||||
jump = true,
|
|
||||||
step = 1,
|
|
||||||
blood_texture = "mobs_blood.png",
|
|
||||||
sounds = {
|
sounds = {
|
||||||
|
random = {"mobs_spider_random01", "mobs_spider_random02"},
|
||||||
war_cry = "mobs_eerie",
|
war_cry = "mobs_eerie",
|
||||||
death = "mobs_howl",
|
death = "mobs_howl",
|
||||||
attack = "mobs_oerkki_attack",
|
attack = "mobs_oerkki_attack",
|
||||||
},
|
},
|
||||||
|
jump = true,
|
||||||
|
sounds = {},
|
||||||
|
step = 1,
|
||||||
|
blood_texture = "mobs_blood.png",
|
||||||
})
|
})
|
||||||
mobs:register_spawn("mobs:spider", {"default:junglegrass", "default:jungleleaves", "default:jungletree"}, 20, -10, 7000, 1, 31000)
|
mobs:register_spawn("mobs:spider", {"default:junglegrass", "default:jungleleaves", "default:jungletree"}, 20, -10, 7000, 1, 31000)
|
||||||
|
|
||||||
|
@ -56,6 +56,9 @@ mobs:register_mob("mobs:stone_monster", {
|
|||||||
punch_start = 40,
|
punch_start = 40,
|
||||||
punch_end = 63,
|
punch_end = 63,
|
||||||
},
|
},
|
||||||
|
sounds = {
|
||||||
|
random = "mobs_stonemonster_random01", "mobs_stonemonster_random02",
|
||||||
|
},
|
||||||
jump = true,
|
jump = true,
|
||||||
step = 1,
|
step = 1,
|
||||||
blood_texture = "mobs_blood.png",
|
blood_texture = "mobs_blood.png",
|
||||||
|
Binary file not shown.
Before Width: | Height: | Size: 344 B After Width: | Height: | Size: 513 B |
@ -57,6 +57,10 @@ mobs:register_mob("mobs:tree_monster", {
|
|||||||
punch_start = 48,
|
punch_start = 48,
|
||||||
punch_end = 62,
|
punch_end = 62,
|
||||||
},
|
},
|
||||||
|
sounds = {
|
||||||
|
random = {"mobs_treemonster_random01", "mobs_treemonster_random01"},
|
||||||
|
},
|
||||||
|
step = 0.5,
|
||||||
jump = true,
|
jump = true,
|
||||||
step = 1,
|
step = 1,
|
||||||
blood_texture = "default_wood.png",
|
blood_texture = "default_wood.png",
|
||||||
|
Loading…
Reference in New Issue
Block a user