forked from VoxeLibre/VoxeLibre
Add mob descriptions
This commit is contained in:
parent
aeaec68c1b
commit
b2407e407a
|
@ -3771,6 +3771,7 @@ minetest.register_entity(name, {
|
|||
use_texture_alpha = def.use_texture_alpha,
|
||||
stepheight = def.stepheight or 0.6,
|
||||
name = name,
|
||||
description = def.description,
|
||||
type = def.type,
|
||||
attack_type = def.attack_type,
|
||||
fly = def.fly,
|
||||
|
|
|
@ -3,6 +3,7 @@
|
|||
local S = minetest.get_translator("mobs_mc")
|
||||
|
||||
mobs:register_mob("mobs_mc:bat", {
|
||||
description = S("Bat"),
|
||||
type = "animal",
|
||||
spawn_class = "ambient",
|
||||
can_despawn = true,
|
||||
|
|
|
@ -11,6 +11,7 @@ local S = minetest.get_translator("mobs_mc")
|
|||
|
||||
|
||||
mobs:register_mob("mobs_mc:blaze", {
|
||||
description = S("Blaze"),
|
||||
type = "monster",
|
||||
spawn_class = "hostile",
|
||||
hp_min = 20,
|
||||
|
|
|
@ -9,6 +9,7 @@ local S = minetest.get_translator("mobs_mc")
|
|||
|
||||
|
||||
mobs:register_mob("mobs_mc:chicken", {
|
||||
description = S("Chicken"),
|
||||
type = "animal",
|
||||
spawn_class = "passive",
|
||||
|
||||
|
@ -95,14 +96,14 @@ mobs:register_mob("mobs_mc:chicken", {
|
|||
gain = 1.0,
|
||||
max_hear_distance = 16,
|
||||
}, true)
|
||||
end,
|
||||
|
||||
end,
|
||||
|
||||
})
|
||||
|
||||
--spawn
|
||||
mobs:spawn_specific(
|
||||
"mobs_mc:chicken",
|
||||
"overworld",
|
||||
"mobs_mc:chicken",
|
||||
"overworld",
|
||||
"ground",
|
||||
{
|
||||
"FlowerForest",
|
||||
|
@ -122,10 +123,10 @@ mobs:spawn_specific(
|
|||
"ExtremeHillsM",
|
||||
"BirchForestM",
|
||||
},
|
||||
9,
|
||||
minetest.LIGHT_MAX+1,
|
||||
30, 17000,
|
||||
3,
|
||||
9,
|
||||
minetest.LIGHT_MAX+1,
|
||||
30, 17000,
|
||||
3,
|
||||
mobs_mc.spawn_height.water,
|
||||
mobs_mc.spawn_height.overworld_max)
|
||||
|
||||
|
|
|
@ -3,6 +3,7 @@
|
|||
local S = minetest.get_translator("mobs_mc")
|
||||
|
||||
local cow_def = {
|
||||
description = S("Cow"),
|
||||
type = "animal",
|
||||
spawn_class = "passive",
|
||||
hp_min = 10,
|
||||
|
@ -43,7 +44,7 @@ local cow_def = {
|
|||
stand_speed = 25, walk_speed = 40,
|
||||
run_speed = 60, stand_start = 0,
|
||||
stand_end = 0, walk_start = 0,
|
||||
walk_end = 40, run_start = 0,
|
||||
walk_end = 40, run_start = 0,
|
||||
run_end = 40,
|
||||
},
|
||||
follow = mobs_mc.follow.cow,
|
||||
|
@ -81,7 +82,7 @@ mobs:register_mob("mobs_mc:cow", cow_def)
|
|||
|
||||
-- Mooshroom
|
||||
local mooshroom_def = table.copy(cow_def)
|
||||
|
||||
mooshroom_def.description = S("Mooshroom")
|
||||
mooshroom_def.mesh = "mobs_mc_cow.b3d"
|
||||
mooshroom_def.textures = { {"mobs_mc_mooshroom.png", "mobs_mc_mushroom_red.png"}, {"mobs_mc_mooshroom_brown.png", "mobs_mc_mushroom_brown.png" } }
|
||||
mooshroom_def.on_rightclick = function(self, clicker)
|
||||
|
@ -147,7 +148,7 @@ mobs:register_mob("mobs_mc:mooshroom", mooshroom_def)
|
|||
-- Spawning
|
||||
mobs:spawn_specific(
|
||||
"mobs_mc:cow",
|
||||
"overworld",
|
||||
"overworld",
|
||||
"ground",
|
||||
{
|
||||
"FlowerForest",
|
||||
|
@ -167,30 +168,30 @@ mobs:spawn_specific(
|
|||
"ExtremeHillsM",
|
||||
"BirchForestM",
|
||||
},
|
||||
9,
|
||||
minetest.LIGHT_MAX+1,
|
||||
30,
|
||||
17000,
|
||||
10,
|
||||
mobs_mc.spawn_height.water,
|
||||
9,
|
||||
minetest.LIGHT_MAX+1,
|
||||
30,
|
||||
17000,
|
||||
10,
|
||||
mobs_mc.spawn_height.water,
|
||||
mobs_mc.spawn_height.overworld_max)
|
||||
|
||||
|
||||
|
||||
mobs:spawn_specific(
|
||||
"mobs_mc:mooshroom",
|
||||
"overworld",
|
||||
"mobs_mc:mooshroom",
|
||||
"overworld",
|
||||
"ground",
|
||||
{
|
||||
"MushroomIslandShore",
|
||||
"MushroomIsland"
|
||||
},
|
||||
9,
|
||||
minetest.LIGHT_MAX+1,
|
||||
30,
|
||||
17000,
|
||||
5,
|
||||
mobs_mc.spawn_height.overworld_min,
|
||||
9,
|
||||
minetest.LIGHT_MAX+1,
|
||||
30,
|
||||
17000,
|
||||
5,
|
||||
mobs_mc.spawn_height.overworld_min,
|
||||
mobs_mc.spawn_height.overworld_max)
|
||||
|
||||
-- spawn egg
|
||||
|
|
|
@ -130,6 +130,7 @@ mobs:register_mob("mobs_mc:creeper", {
|
|||
})
|
||||
|
||||
mobs:register_mob("mobs_mc:creeper_charged", {
|
||||
description = S("Creeper"),
|
||||
type = "monster",
|
||||
spawn_class = "hostile",
|
||||
hp_min = 20,
|
||||
|
@ -142,7 +143,7 @@ mobs:register_mob("mobs_mc:creeper_charged", {
|
|||
mesh = "mobs_mc_creeper.b3d",
|
||||
|
||||
--BOOM
|
||||
|
||||
|
||||
textures = {
|
||||
{"mobs_mc_creeper.png",
|
||||
"mobs_mc_creeper_charge.png"},
|
||||
|
@ -254,8 +255,8 @@ mobs:register_mob("mobs_mc:creeper_charged", {
|
|||
})
|
||||
|
||||
mobs:spawn_specific(
|
||||
"mobs_mc:creeper",
|
||||
"overworld",
|
||||
"mobs_mc:creeper",
|
||||
"overworld",
|
||||
"ground",
|
||||
{
|
||||
"Mesa",
|
||||
|
@ -398,12 +399,12 @@ mobs:spawn_specific(
|
|||
"ExtremeHillsM_underground",
|
||||
"JungleEdgeM_underground",
|
||||
},
|
||||
0,
|
||||
7,
|
||||
20,
|
||||
16500,
|
||||
2,
|
||||
mobs_mc.spawn_height.overworld_min,
|
||||
0,
|
||||
7,
|
||||
20,
|
||||
16500,
|
||||
2,
|
||||
mobs_mc.spawn_height.overworld_min,
|
||||
mobs_mc.spawn_height.overworld_max)
|
||||
|
||||
-- spawn eggs
|
||||
|
|
|
@ -5,6 +5,7 @@
|
|||
local S = minetest.get_translator("mobs_mc")
|
||||
|
||||
mobs:register_mob("mobs_mc:enderdragon", {
|
||||
description = S("Ender Dragon"),
|
||||
type = "monster",
|
||||
spawn_class = "hostile",
|
||||
pathfinding = 1,
|
||||
|
|
|
@ -190,6 +190,7 @@ end
|
|||
local mobs_griefing = minetest.settings:get_bool("mobs_griefing") ~= false
|
||||
|
||||
mobs:register_mob("mobs_mc:enderman", {
|
||||
description = S("Enderman"),
|
||||
type = "monster",
|
||||
spawn_class = "passive",
|
||||
passive = true,
|
||||
|
@ -330,7 +331,7 @@ mobs:register_mob("mobs_mc:enderman", {
|
|||
end
|
||||
-- Check to see if people are near by enough to look at us.
|
||||
for _,obj in pairs(minetest.get_connected_players()) do
|
||||
|
||||
|
||||
--check if they are within radius
|
||||
local player_pos = obj:get_pos()
|
||||
if player_pos then -- prevent crashing in 1 in a million scenario
|
||||
|
@ -355,7 +356,7 @@ mobs:register_mob("mobs_mc:enderman", {
|
|||
local ender_eye_pos = vector.new(enderpos.x, enderpos.y + 2.75, enderpos.z)
|
||||
local eye_distance_from_player = vector.distance(ender_eye_pos, look_pos)
|
||||
look_pos = vector.add(look_pos, vector.multiply(look_dir, eye_distance_from_player))
|
||||
|
||||
|
||||
--if looking in general head position, turn hostile
|
||||
if minetest.line_of_sight(ender_eye_pos, look_pos_base) and vector.distance(look_pos, ender_eye_pos) <= 0.4 then
|
||||
self.provoked = "staring"
|
||||
|
@ -364,7 +365,7 @@ mobs:register_mob("mobs_mc:enderman", {
|
|||
else -- I'm not sure what this part does, but I don't want to break anything - jordan4ibanez
|
||||
if self.provoked == "staring" then
|
||||
self.provoked = "broke_contact"
|
||||
end
|
||||
end
|
||||
end
|
||||
|
||||
end
|
||||
|
@ -562,23 +563,23 @@ mobs:register_mob("mobs_mc:enderman", {
|
|||
|
||||
-- End spawn
|
||||
mobs:spawn_specific(
|
||||
"mobs_mc:enderman",
|
||||
"end",
|
||||
"mobs_mc:enderman",
|
||||
"end",
|
||||
"ground",
|
||||
{
|
||||
"End"
|
||||
},
|
||||
0,
|
||||
minetest.LIGHT_MAX+1,
|
||||
30,
|
||||
3000,
|
||||
12,
|
||||
mobs_mc.spawn_height.end_min,
|
||||
0,
|
||||
minetest.LIGHT_MAX+1,
|
||||
30,
|
||||
3000,
|
||||
12,
|
||||
mobs_mc.spawn_height.end_min,
|
||||
mobs_mc.spawn_height.end_max)
|
||||
-- Overworld spawn
|
||||
mobs:spawn_specific(
|
||||
"mobs_mc:enderman",
|
||||
"overworld",
|
||||
"mobs_mc:enderman",
|
||||
"overworld",
|
||||
"ground",
|
||||
{
|
||||
"Mesa",
|
||||
|
@ -721,28 +722,28 @@ mobs:spawn_specific(
|
|||
"ExtremeHillsM_underground",
|
||||
"JungleEdgeM_underground",
|
||||
},
|
||||
0,
|
||||
7,
|
||||
30,
|
||||
19000,
|
||||
2,
|
||||
mobs_mc.spawn_height.overworld_min,
|
||||
0,
|
||||
7,
|
||||
30,
|
||||
19000,
|
||||
2,
|
||||
mobs_mc.spawn_height.overworld_min,
|
||||
mobs_mc.spawn_height.overworld_max)
|
||||
|
||||
-- Nether spawn (rare)
|
||||
mobs:spawn_specific(
|
||||
"mobs_mc:enderman",
|
||||
"nether",
|
||||
"mobs_mc:enderman",
|
||||
"nether",
|
||||
"ground",
|
||||
{
|
||||
"Nether"
|
||||
},
|
||||
0,
|
||||
7,
|
||||
30,
|
||||
27500,
|
||||
4,
|
||||
mobs_mc.spawn_height.nether_min,
|
||||
0,
|
||||
7,
|
||||
30,
|
||||
27500,
|
||||
4,
|
||||
mobs_mc.spawn_height.nether_min,
|
||||
mobs_mc.spawn_height.nether_max)
|
||||
|
||||
-- spawn eggs
|
||||
|
|
|
@ -5,6 +5,7 @@
|
|||
local S = minetest.get_translator("mobs_mc")
|
||||
|
||||
mobs:register_mob("mobs_mc:endermite", {
|
||||
description = S("Endermite"),
|
||||
type = "monster",
|
||||
spawn_class = "hostile",
|
||||
passive = false,
|
||||
|
|
|
@ -11,6 +11,7 @@ local S = minetest.get_translator("mobs_mc")
|
|||
|
||||
|
||||
mobs:register_mob("mobs_mc:ghast", {
|
||||
description = S("Ghast"),
|
||||
type = "monster",
|
||||
spawn_class = "hostile",
|
||||
pathfinding = 1,
|
||||
|
|
|
@ -5,6 +5,7 @@
|
|||
local S = minetest.get_translator("mobs_mc")
|
||||
|
||||
mobs:register_mob("mobs_mc:guardian", {
|
||||
description = S("Guardian"),
|
||||
type = "monster",
|
||||
spawn_class = "hostile",
|
||||
hp_min = 30,
|
||||
|
|
|
@ -7,6 +7,7 @@
|
|||
local S = minetest.get_translator("mobs_mc")
|
||||
|
||||
mobs:register_mob("mobs_mc:guardian_elder", {
|
||||
description = S("Elder Guardian"),
|
||||
type = "monster",
|
||||
spawn_class = "hostile",
|
||||
hp_min = 80,
|
||||
|
|
|
@ -83,6 +83,7 @@ end
|
|||
|
||||
-- Horse
|
||||
local horse = {
|
||||
description = S("Horse"),
|
||||
type = "animal",
|
||||
spawn_class = "passive",
|
||||
visual = "mesh",
|
||||
|
@ -418,6 +419,7 @@ mobs:register_mob("mobs_mc:horse", horse)
|
|||
|
||||
-- Skeleton horse
|
||||
local skeleton_horse = table.copy(horse)
|
||||
skeleton_horse.description = S("Skeleton Horse")
|
||||
skeleton_horse.breath_max = -1
|
||||
skeleton_horse.armor = {undead = 100, fleshy = 100}
|
||||
skeleton_horse.textures = {{"blank.png", "mobs_mc_horse_skeleton.png", "blank.png"}}
|
||||
|
@ -440,6 +442,7 @@ mobs:register_mob("mobs_mc:skeleton_horse", skeleton_horse)
|
|||
|
||||
-- Zombie horse
|
||||
local zombie_horse = table.copy(horse)
|
||||
zombie_horse.description = S("Zombie Horse")
|
||||
zombie_horse.breath_max = -1
|
||||
zombie_horse.armor = {undead = 100, fleshy = 100}
|
||||
zombie_horse.textures = {{"blank.png", "mobs_mc_horse_zombie.png", "blank.png"}}
|
||||
|
@ -464,6 +467,7 @@ mobs:register_mob("mobs_mc:zombie_horse", zombie_horse)
|
|||
-- Donkey
|
||||
local d = 0.86 -- donkey scale
|
||||
local donkey = table.copy(horse)
|
||||
donkey.description = S("Donkey")
|
||||
donkey.textures = {{"blank.png", "mobs_mc_donkey.png", "blank.png"}}
|
||||
donkey.animation = {
|
||||
speed_normal = 25,
|
||||
|
@ -494,6 +498,7 @@ mobs:register_mob("mobs_mc:donkey", donkey)
|
|||
-- Mule
|
||||
local m = 0.94
|
||||
local mule = table.copy(donkey)
|
||||
mule.description = S("Mule")
|
||||
mule.textures = {{"blank.png", "mobs_mc_mule.png", "blank.png"}}
|
||||
mule.visual_size = { x=horse.visual_size.x*m, y=horse.visual_size.y*m }
|
||||
mule.sounds = table.copy(donkey.sounds)
|
||||
|
@ -532,18 +537,18 @@ mobs:spawn_specific(
|
|||
"ExtremeHillsM",
|
||||
"BirchForestM",
|
||||
},
|
||||
0,
|
||||
minetest.LIGHT_MAX+1,
|
||||
30,
|
||||
15000,
|
||||
4,
|
||||
mobs_mc.spawn_height.water+3,
|
||||
0,
|
||||
minetest.LIGHT_MAX+1,
|
||||
30,
|
||||
15000,
|
||||
4,
|
||||
mobs_mc.spawn_height.water+3,
|
||||
mobs_mc.spawn_height.overworld_max)
|
||||
|
||||
|
||||
mobs:spawn_specific(
|
||||
"mobs_mc:donkey",
|
||||
"overworld",
|
||||
"mobs_mc:donkey",
|
||||
"overworld",
|
||||
"ground",
|
||||
{
|
||||
"Mesa",
|
||||
|
@ -553,12 +558,12 @@ mobs:spawn_specific(
|
|||
"MesaPlateauF_grasstop",
|
||||
"MesaBryce",
|
||||
},
|
||||
0,
|
||||
minetest.LIGHT_MAX+1,
|
||||
30,
|
||||
15000,
|
||||
4,
|
||||
mobs_mc.spawn_height.water+3,
|
||||
0,
|
||||
minetest.LIGHT_MAX+1,
|
||||
30,
|
||||
15000,
|
||||
4,
|
||||
mobs_mc.spawn_height.water+3,
|
||||
mobs_mc.spawn_height.overworld_max)
|
||||
|
||||
-- spawn eggs
|
||||
|
|
|
@ -12,6 +12,7 @@ local S = minetest.get_translator("mobs_mc")
|
|||
|
||||
|
||||
mobs:register_mob("mobs_mc:iron_golem", {
|
||||
description = S("Iron Golem"),
|
||||
type = "npc",
|
||||
spawn_class = "passive",
|
||||
passive = true,
|
||||
|
|
|
@ -25,6 +25,7 @@ local carpets = {
|
|||
}
|
||||
|
||||
mobs:register_mob("mobs_mc:llama", {
|
||||
description = S("Llama"),
|
||||
type = "animal",
|
||||
spawn_class = "passive",
|
||||
hp_min = 15,
|
||||
|
@ -229,12 +230,12 @@ mobs:spawn_specific(
|
|||
"MesaPlateauF_grasstop",
|
||||
"MesaBryce",
|
||||
},
|
||||
0,
|
||||
minetest.LIGHT_MAX+1,
|
||||
30,
|
||||
15000,
|
||||
5,
|
||||
mobs_mc.spawn_height.water+15,
|
||||
0,
|
||||
minetest.LIGHT_MAX+1,
|
||||
30,
|
||||
15000,
|
||||
5,
|
||||
mobs_mc.spawn_height.water+15,
|
||||
mobs_mc.spawn_height.overworld_max)
|
||||
|
||||
-- spawn eggs
|
||||
|
|
|
@ -27,6 +27,7 @@ end
|
|||
|
||||
-- Ocelot
|
||||
local ocelot = {
|
||||
description = S("Ocelot"),
|
||||
type = "animal",
|
||||
spawn_class = "passive",
|
||||
can_despawn = true,
|
||||
|
@ -102,6 +103,7 @@ mobs:register_mob("mobs_mc:ocelot", ocelot)
|
|||
|
||||
-- Cat
|
||||
local cat = table.copy(ocelot)
|
||||
cat.description = S("Cat")
|
||||
cat.textures = {{"mobs_mc_cat_black.png"}, {"mobs_mc_cat_red.png"}, {"mobs_mc_cat_siamese.png"}}
|
||||
cat.can_despawn = false
|
||||
cat.owner = ""
|
||||
|
@ -154,8 +156,8 @@ local base_spawn_chance = 5000
|
|||
-- Spawn ocelot
|
||||
--they get the same as the llama because I'm trying to rework so much of this code right now -j4i
|
||||
mobs:spawn_specific(
|
||||
"mobs_mc:ocelot",
|
||||
"overworld",
|
||||
"mobs_mc:ocelot",
|
||||
"overworld",
|
||||
"ground",
|
||||
{
|
||||
"Jungle",
|
||||
|
@ -163,12 +165,12 @@ mobs:spawn_specific(
|
|||
"JungleM",
|
||||
"JungleEdge",
|
||||
},
|
||||
0,
|
||||
minetest.LIGHT_MAX+1,
|
||||
30,
|
||||
15000,
|
||||
5,
|
||||
mobs_mc.spawn_height.water+15,
|
||||
0,
|
||||
minetest.LIGHT_MAX+1,
|
||||
30,
|
||||
15000,
|
||||
5,
|
||||
mobs_mc.spawn_height.water+15,
|
||||
mobs_mc.spawn_height.overworld_max)
|
||||
--[[
|
||||
mobs:spawn({
|
||||
|
@ -183,7 +185,7 @@ mobs:spawn({
|
|||
max_height = mobs_mc.spawn_height.overworld_max,
|
||||
on_spawn = function(self, pos)
|
||||
Note: Minecraft has a 1/3 spawn failure rate.
|
||||
In this mod it is emulated by reducing the spawn rate accordingly (see above).
|
||||
In this mod it is emulated by reducing the spawn rate accordingly (see above).
|
||||
|
||||
-- 1/7 chance to spawn 2 ocelot kittens
|
||||
if pr:next(1,7) == 1 then
|
||||
|
|
|
@ -12,6 +12,7 @@ local S = minetest.get_translator("mobs_mc")
|
|||
|
||||
|
||||
mobs:register_mob("mobs_mc:parrot", {
|
||||
description = S("Parrot"),
|
||||
type = "npc",
|
||||
spawn_class = "passive",
|
||||
pathfinding = 1,
|
||||
|
@ -93,7 +94,7 @@ mobs:register_mob("mobs_mc:parrot", {
|
|||
-- Parrots spawn rarely in jungles. TODO: Also check for jungle *biome* <- I'll get to this eventually -j4i
|
||||
mobs:spawn_specific(
|
||||
"mobs_mc:parrot",
|
||||
"overworld",
|
||||
"overworld",
|
||||
"ground",
|
||||
{
|
||||
"Jungle",
|
||||
|
@ -101,12 +102,12 @@ mobs:spawn_specific(
|
|||
"JungleM",
|
||||
"JungleEdge",
|
||||
},
|
||||
0,
|
||||
minetest.LIGHT_MAX+1,
|
||||
7,
|
||||
30000,
|
||||
1,
|
||||
mobs_mc.spawn_height.water+7,
|
||||
0,
|
||||
minetest.LIGHT_MAX+1,
|
||||
7,
|
||||
30000,
|
||||
1,
|
||||
mobs_mc.spawn_height.water+7,
|
||||
mobs_mc.spawn_height.overworld_max)
|
||||
|
||||
-- spawn eggs
|
||||
|
|
|
@ -3,6 +3,7 @@
|
|||
local S = minetest.get_translator("mobs_mc")
|
||||
|
||||
mobs:register_mob("mobs_mc:pig", {
|
||||
description = S("Pig"),
|
||||
type = "animal",
|
||||
spawn_class = "passive",
|
||||
runaway = true,
|
||||
|
@ -183,8 +184,8 @@ mobs:register_mob("mobs_mc:pig", {
|
|||
})
|
||||
|
||||
mobs:spawn_specific(
|
||||
"mobs_mc:pig",
|
||||
"overworld",
|
||||
"mobs_mc:pig",
|
||||
"overworld",
|
||||
"ground",
|
||||
{
|
||||
"FlowerForest",
|
||||
|
@ -204,12 +205,12 @@ mobs:spawn_specific(
|
|||
"ExtremeHillsM",
|
||||
"BirchForestM",
|
||||
},
|
||||
9,
|
||||
minetest.LIGHT_MAX+1,
|
||||
30,
|
||||
15000,
|
||||
8,
|
||||
mobs_mc.spawn_height.overworld_min,
|
||||
9,
|
||||
minetest.LIGHT_MAX+1,
|
||||
30,
|
||||
15000,
|
||||
8,
|
||||
mobs_mc.spawn_height.overworld_min,
|
||||
mobs_mc.spawn_height.overworld_max)
|
||||
|
||||
-- spawn eggs
|
||||
|
|
|
@ -8,6 +8,7 @@ local S = minetest.get_translator("mobs_mc")
|
|||
|
||||
|
||||
mobs:register_mob("mobs_mc:polar_bear", {
|
||||
description = S("Polar Bear"),
|
||||
type = "animal",
|
||||
spawn_class = "passive",
|
||||
runaway = false,
|
||||
|
@ -37,7 +38,7 @@ mobs:register_mob("mobs_mc:polar_bear", {
|
|||
chance = 2,
|
||||
min = 0,
|
||||
max = 2,
|
||||
looting = "common",},
|
||||
looting = "common",},
|
||||
-- 1/4 to drop raw salmon
|
||||
{name = mobs_mc.items.salmon_raw,
|
||||
chance = 4,
|
||||
|
|
|
@ -3,6 +3,7 @@
|
|||
local S = minetest.get_translator("mobs_mc")
|
||||
|
||||
local rabbit = {
|
||||
description = S("Rabbit"),
|
||||
type = "animal",
|
||||
spawn_class = "passive",
|
||||
passive = true,
|
||||
|
@ -83,6 +84,7 @@ mobs:register_mob("mobs_mc:rabbit", rabbit)
|
|||
|
||||
-- The killer bunny (Only with spawn egg)
|
||||
local killer_bunny = table.copy(rabbit)
|
||||
killer_bunny.description = S("Killer Bunny")
|
||||
killer_bunny.type = "monster"
|
||||
killer_bunny.spawn_class = "hostile"
|
||||
killer_bunny.attack_type = "dogfight"
|
||||
|
@ -110,8 +112,8 @@ mobs:register_mob("mobs_mc:killer_bunny", killer_bunny)
|
|||
-- Different skins depending on spawn location <- we'll get to this when the spawning algorithm is fleshed out
|
||||
|
||||
mobs:spawn_specific(
|
||||
"mobs_mc:rabbit",
|
||||
"overworld",
|
||||
"mobs_mc:rabbit",
|
||||
"overworld",
|
||||
"ground",
|
||||
{
|
||||
"FlowerForest",
|
||||
|
@ -131,12 +133,12 @@ mobs:spawn_specific(
|
|||
"ExtremeHillsM",
|
||||
"BirchForestM",
|
||||
},
|
||||
9,
|
||||
minetest.LIGHT_MAX+1,
|
||||
30,
|
||||
15000,
|
||||
8,
|
||||
mobs_mc.spawn_height.overworld_min,
|
||||
9,
|
||||
minetest.LIGHT_MAX+1,
|
||||
30,
|
||||
15000,
|
||||
8,
|
||||
mobs_mc.spawn_height.overworld_min,
|
||||
mobs_mc.spawn_height.overworld_max)
|
||||
|
||||
--[[
|
||||
|
|
|
@ -56,6 +56,7 @@ local gotten_texture = { "blank.png", "mobs_mc_sheep.png" }
|
|||
|
||||
--mcsheep
|
||||
mobs:register_mob("mobs_mc:sheep", {
|
||||
description = S("Sheep"),
|
||||
type = "animal",
|
||||
spawn_class = "passive",
|
||||
hp_min = 8,
|
||||
|
@ -325,12 +326,12 @@ mobs:spawn_specific(
|
|||
"ExtremeHillsM",
|
||||
"BirchForestM",
|
||||
},
|
||||
0,
|
||||
minetest.LIGHT_MAX+1,
|
||||
30,
|
||||
15000,
|
||||
3,
|
||||
mobs_mc.spawn_height.overworld_min,
|
||||
0,
|
||||
minetest.LIGHT_MAX+1,
|
||||
30,
|
||||
15000,
|
||||
3,
|
||||
mobs_mc.spawn_height.overworld_min,
|
||||
mobs_mc.spawn_height.overworld_max)
|
||||
|
||||
-- spawn eggs
|
||||
|
|
|
@ -10,8 +10,9 @@ local S = minetest.get_translator("mobs_mc")
|
|||
--###################
|
||||
|
||||
-- animation 45-80 is transition between passive and attack stance
|
||||
|
||||
|
||||
mobs:register_mob("mobs_mc:shulker", {
|
||||
description = S("Shulker"),
|
||||
type = "monster",
|
||||
spawn_class = "hostile",
|
||||
attack_type = "shoot",
|
||||
|
@ -82,16 +83,16 @@ mobs:register_arrow("mobs_mc:shulkerbullet", {
|
|||
mobs:register_egg("mobs_mc:shulker", S("Shulker"), "mobs_mc_spawn_icon_shulker.png", 0)
|
||||
|
||||
mobs:spawn_specific(
|
||||
"mobs_mc:shulker",
|
||||
"end",
|
||||
"mobs_mc:shulker",
|
||||
"end",
|
||||
"ground",
|
||||
{
|
||||
"End"
|
||||
},
|
||||
0,
|
||||
minetest.LIGHT_MAX+1,
|
||||
30,
|
||||
5000,
|
||||
2,
|
||||
mobs_mc.spawn_height.end_min,
|
||||
0,
|
||||
minetest.LIGHT_MAX+1,
|
||||
30,
|
||||
5000,
|
||||
2,
|
||||
mobs_mc.spawn_height.end_min,
|
||||
mobs_mc.spawn_height.end_max)
|
||||
|
|
|
@ -5,6 +5,7 @@
|
|||
local S = minetest.get_translator("mobs_mc")
|
||||
|
||||
mobs:register_mob("mobs_mc:silverfish", {
|
||||
description = S("Silverfish"),
|
||||
type = "monster",
|
||||
spawn_class = "hostile",
|
||||
passive = false,
|
||||
|
|
|
@ -13,6 +13,7 @@ local mod_bows = minetest.get_modpath("mcl_bows") ~= nil
|
|||
|
||||
|
||||
local skeleton = {
|
||||
description = S("Skeleton"),
|
||||
type = "monster",
|
||||
spawn_class = "hostile",
|
||||
hp_min = 20,
|
||||
|
@ -109,6 +110,7 @@ mobs:register_mob("mobs_mc:skeleton", skeleton)
|
|||
--###################
|
||||
|
||||
local stray = table.copy(skeleton)
|
||||
stray.description = S("Stray")
|
||||
stray.mesh = "mobs_mc_skeleton.b3d"
|
||||
stray.textures = {
|
||||
{
|
||||
|
|
|
@ -10,6 +10,7 @@ local S = minetest.get_translator("mobs_mc")
|
|||
--###################
|
||||
|
||||
mobs:register_mob("mobs_mc:witherskeleton", {
|
||||
description = S("Wither Skeleton"),
|
||||
type = "monster",
|
||||
spawn_class = "hostile",
|
||||
hp_min = 20,
|
||||
|
|
|
@ -56,6 +56,7 @@ end
|
|||
|
||||
-- Slime
|
||||
local slime_big = {
|
||||
description = S("Slime"),
|
||||
type = "monster",
|
||||
spawn_class = "hostile",
|
||||
pathfinding = 1,
|
||||
|
@ -158,8 +159,8 @@ local smin = mobs_mc.spawn_height.overworld_min
|
|||
local smax = mobs_mc.spawn_height.water - 23
|
||||
|
||||
mobs:spawn_specific(
|
||||
"mobs_mc:slime_tiny",
|
||||
"overworld",
|
||||
"mobs_mc:slime_tiny",
|
||||
"overworld",
|
||||
"ground",
|
||||
{
|
||||
"FlowerForest_underground",
|
||||
|
@ -193,17 +194,17 @@ mobs:spawn_specific(
|
|||
"ExtremeHillsM_underground",
|
||||
"JungleEdgeM_underground",
|
||||
},
|
||||
0,
|
||||
minetest.LIGHT_MAX+1,
|
||||
30,
|
||||
12000,
|
||||
4,
|
||||
smin,
|
||||
0,
|
||||
minetest.LIGHT_MAX+1,
|
||||
30,
|
||||
12000,
|
||||
4,
|
||||
smin,
|
||||
smax)
|
||||
|
||||
mobs:spawn_specific(
|
||||
"mobs_mc:slime_small",
|
||||
"overworld",
|
||||
"mobs_mc:slime_small",
|
||||
"overworld",
|
||||
"ground",
|
||||
{
|
||||
"FlowerForest_underground",
|
||||
|
@ -236,19 +237,19 @@ mobs:spawn_specific(
|
|||
"JungleM_underground",
|
||||
"ExtremeHillsM_underground",
|
||||
"JungleEdgeM_underground",
|
||||
},
|
||||
0,
|
||||
minetest.LIGHT_MAX+1,
|
||||
30,
|
||||
8500,
|
||||
4,
|
||||
smin,
|
||||
},
|
||||
0,
|
||||
minetest.LIGHT_MAX+1,
|
||||
30,
|
||||
8500,
|
||||
4,
|
||||
smin,
|
||||
smax)
|
||||
|
||||
mobs:spawn_specific(
|
||||
"mobs_mc:slime_big",
|
||||
"overworld",
|
||||
"ground",
|
||||
"mobs_mc:slime_big",
|
||||
"overworld",
|
||||
"ground",
|
||||
{
|
||||
"FlowerForest_underground",
|
||||
"JungleEdge_underground",
|
||||
|
@ -281,16 +282,17 @@ mobs:spawn_specific(
|
|||
"ExtremeHillsM_underground",
|
||||
"JungleEdgeM_underground",
|
||||
},
|
||||
0,
|
||||
minetest.LIGHT_MAX+1,
|
||||
30,
|
||||
10000,
|
||||
4,
|
||||
smin,
|
||||
0,
|
||||
minetest.LIGHT_MAX+1,
|
||||
30,
|
||||
10000,
|
||||
4,
|
||||
smin,
|
||||
smax)
|
||||
|
||||
-- Magma cube
|
||||
local magma_cube_big = {
|
||||
description = S("Magma Cube"),
|
||||
type = "monster",
|
||||
spawn_class = "hostile",
|
||||
hp_min = 16,
|
||||
|
@ -401,49 +403,49 @@ local mmin = mobs_mc.spawn_height.nether_min
|
|||
local mmax = mobs_mc.spawn_height.nether_max
|
||||
|
||||
mobs:spawn_specific(
|
||||
"mobs_mc:magma_cube_tiny",
|
||||
"nether",
|
||||
"mobs_mc:magma_cube_tiny",
|
||||
"nether",
|
||||
"ground",
|
||||
{
|
||||
"Nether"
|
||||
},
|
||||
0,
|
||||
minetest.LIGHT_MAX+1,
|
||||
30,
|
||||
15000,
|
||||
4,
|
||||
mmin,
|
||||
0,
|
||||
minetest.LIGHT_MAX+1,
|
||||
30,
|
||||
15000,
|
||||
4,
|
||||
mmin,
|
||||
mmax)
|
||||
|
||||
|
||||
mobs:spawn_specific(
|
||||
"mobs_mc:magma_cube_small",
|
||||
"nether",
|
||||
"mobs_mc:magma_cube_small",
|
||||
"nether",
|
||||
"ground",
|
||||
{
|
||||
"Nether"
|
||||
},
|
||||
0,
|
||||
minetest.LIGHT_MAX+1,
|
||||
30,
|
||||
15500,
|
||||
4,
|
||||
mmin,
|
||||
0,
|
||||
minetest.LIGHT_MAX+1,
|
||||
30,
|
||||
15500,
|
||||
4,
|
||||
mmin,
|
||||
mmax)
|
||||
|
||||
mobs:spawn_specific(
|
||||
"mobs_mc:magma_cube_big",
|
||||
"nether",
|
||||
"mobs_mc:magma_cube_big",
|
||||
"nether",
|
||||
"ground",
|
||||
{
|
||||
"Nether"
|
||||
},
|
||||
0,
|
||||
minetest.LIGHT_MAX+1,
|
||||
30,
|
||||
16000,
|
||||
4,
|
||||
mmin,
|
||||
},
|
||||
0,
|
||||
minetest.LIGHT_MAX+1,
|
||||
30,
|
||||
16000,
|
||||
4,
|
||||
mmin,
|
||||
mmax)
|
||||
|
||||
--mobs:spawn_specific("mobs_mc:magma_cube_tiny", mobs_mc.spawn.nether_fortress, {"air"}, 0, minetest.LIGHT_MAX+1, 30, 11000, 4, mmin, mmax)
|
||||
|
|
|
@ -21,6 +21,7 @@ local gotten_texture = {
|
|||
}
|
||||
|
||||
mobs:register_mob("mobs_mc:snowman", {
|
||||
description = S("Snow Golem"),
|
||||
type = "npc",
|
||||
spawn_class = "passive",
|
||||
passive = true,
|
||||
|
|
|
@ -13,6 +13,7 @@ local S = minetest.get_translator("mobs_mc")
|
|||
-- Spider by AspireMint (fishyWET (CC-BY-SA 3.0 license for texture)
|
||||
|
||||
local spider = {
|
||||
description = S("Spider"),
|
||||
type = "monster",
|
||||
spawn_class = "hostile",
|
||||
passive = false,
|
||||
|
@ -72,6 +73,7 @@ mobs:register_mob("mobs_mc:spider", spider)
|
|||
|
||||
-- Cave spider
|
||||
local cave_spider = table.copy(spider)
|
||||
cave_spider.description = S("Cave Spider")
|
||||
cave_spider.textures = { {"mobs_mc_cave_spider.png^(mobs_mc_spider_eyes.png^[makealpha:0,0,0)"} }
|
||||
-- TODO: Poison damage
|
||||
-- TODO: Revert damage to 2
|
||||
|
@ -88,8 +90,8 @@ mobs:register_mob("mobs_mc:cave_spider", cave_spider)
|
|||
|
||||
|
||||
mobs:spawn_specific(
|
||||
"mobs_mc:spider",
|
||||
"overworld",
|
||||
"mobs_mc:spider",
|
||||
"overworld",
|
||||
"ground",
|
||||
{
|
||||
"Mesa",
|
||||
|
@ -232,12 +234,12 @@ mobs:spawn_specific(
|
|||
"ExtremeHillsM_underground",
|
||||
"JungleEdgeM_underground",
|
||||
},
|
||||
0,
|
||||
7,
|
||||
30,
|
||||
17000,
|
||||
2,
|
||||
mobs_mc.spawn_height.overworld_min,
|
||||
0,
|
||||
7,
|
||||
30,
|
||||
17000,
|
||||
2,
|
||||
mobs_mc.spawn_height.overworld_min,
|
||||
mobs_mc.spawn_height.overworld_max)
|
||||
|
||||
-- spawn eggs
|
||||
|
|
|
@ -7,6 +7,7 @@
|
|||
local S = minetest.get_translator("mobs_mc")
|
||||
|
||||
mobs:register_mob("mobs_mc:squid", {
|
||||
description = S("Squid"),
|
||||
type = "animal",
|
||||
spawn_class = "water",
|
||||
can_despawn = true,
|
||||
|
|
|
@ -10,6 +10,7 @@ local S = minetest.get_translator("mobs_mc")
|
|||
--###################
|
||||
|
||||
mobs:register_mob("mobs_mc:vex", {
|
||||
description = S("Vex"),
|
||||
type = "monster",
|
||||
spawn_class = "hostile",
|
||||
pathfinding = 1,
|
||||
|
|
|
@ -927,6 +927,7 @@ end)
|
|||
--[=======[ MOB REGISTRATION AND SPAWNING ]=======]
|
||||
|
||||
mobs:register_mob("mobs_mc:villager", {
|
||||
description = S("Villager"),
|
||||
type = "npc",
|
||||
spawn_class = "passive",
|
||||
hp_min = 20,
|
||||
|
|
|
@ -12,6 +12,7 @@ local S = minetest.get_translator("mobs_mc")
|
|||
local pr = PseudoRandom(os.time()*666)
|
||||
|
||||
mobs:register_mob("mobs_mc:evoker", {
|
||||
description = S("Evoker"),
|
||||
type = "monster",
|
||||
spawn_class = "hostile",
|
||||
physical = true,
|
||||
|
|
|
@ -7,6 +7,7 @@ local S = minetest.get_translator("mobs_mc")
|
|||
local mod_bows = minetest.get_modpath("mcl_bows") ~= nil
|
||||
|
||||
mobs:register_mob("mobs_mc:illusioner", {
|
||||
description = S("Illusioner"),
|
||||
type = "monster",
|
||||
spawn_class = "hostile",
|
||||
attack_type = "shoot",
|
||||
|
|
|
@ -11,6 +11,7 @@ local S = minetest.get_translator("mobs_mc")
|
|||
|
||||
|
||||
mobs:register_mob("mobs_mc:vindicator", {
|
||||
description = S("Vindicator"),
|
||||
type = "monster",
|
||||
spawn_class = "hostile",
|
||||
physical = false,
|
||||
|
|
|
@ -26,6 +26,7 @@ local professions = {
|
|||
}
|
||||
|
||||
mobs:register_mob("mobs_mc:villager_zombie", {
|
||||
description = S("Zombie Villager"),
|
||||
type = "monster",
|
||||
spawn_class = "hostile",
|
||||
hp_min = 20,
|
||||
|
|
|
@ -13,6 +13,7 @@ local S = minetest.get_translator("mobs_mc")
|
|||
|
||||
|
||||
mobs:register_mob("mobs_mc:witch", {
|
||||
description = S("Witch"),
|
||||
type = "monster",
|
||||
spawn_class = "hostile",
|
||||
hp_min = 26,
|
||||
|
|
|
@ -10,6 +10,7 @@ local S = minetest.get_translator("mobs_mc")
|
|||
--###################
|
||||
|
||||
mobs:register_mob("mobs_mc:wither", {
|
||||
description = S("Wither"),
|
||||
type = "monster",
|
||||
spawn_class = "hostile",
|
||||
hp_max = 300,
|
||||
|
|
|
@ -19,6 +19,7 @@ end
|
|||
|
||||
-- Wolf
|
||||
local wolf = {
|
||||
description = S("Wolf"),
|
||||
type = "animal",
|
||||
spawn_class = "passive",
|
||||
can_despawn = true,
|
||||
|
@ -138,7 +139,7 @@ dog.owner = ""
|
|||
-- TODO: Start sitting by default
|
||||
dog.order = "roam"
|
||||
dog.owner_loyal = true
|
||||
dog.follow_velocity = 3.2
|
||||
dog.follow_velocity = 3.2
|
||||
-- Automatically teleport dog to owner
|
||||
dog.do_custom = mobs_mc.make_owner_teleport_function(12)
|
||||
dog.follow = mobs_mc.follow.dog
|
||||
|
@ -254,12 +255,12 @@ mobs:spawn_specific(
|
|||
"ExtremeHillsM",
|
||||
"BirchForestM",
|
||||
},
|
||||
0,
|
||||
minetest.LIGHT_MAX+1,
|
||||
30,
|
||||
9000,
|
||||
7,
|
||||
mobs_mc.spawn_height.water+3,
|
||||
0,
|
||||
minetest.LIGHT_MAX+1,
|
||||
30,
|
||||
9000,
|
||||
7,
|
||||
mobs_mc.spawn_height.water+3,
|
||||
mobs_mc.spawn_height.overworld_max)
|
||||
|
||||
mobs:register_egg("mobs_mc:wolf", S("Wolf"), "mobs_mc_spawn_icon_wolf.png", 0)
|
||||
|
|
|
@ -46,6 +46,7 @@ table.insert(drops_zombie, {
|
|||
})
|
||||
|
||||
local zombie = {
|
||||
description = S("Zombie"),
|
||||
type = "monster",
|
||||
spawn_class = "hostile",
|
||||
hp_min = 20,
|
||||
|
@ -102,6 +103,7 @@ mobs:register_mob("mobs_mc:zombie", zombie)
|
|||
-- A smaller and more dangerous variant of the zombie
|
||||
|
||||
local baby_zombie = table.copy(zombie)
|
||||
baby_zombie.description = S("Baby Zombie")
|
||||
baby_zombie.collisionbox = {-0.25, -0.01, -0.25, 0.25, 0.94, 0.25}
|
||||
baby_zombie.xp_min = 12
|
||||
baby_zombie.xp_max = 12
|
||||
|
@ -115,6 +117,7 @@ mobs:register_mob("mobs_mc:baby_zombie", baby_zombie)
|
|||
-- Husk.
|
||||
-- Desert variant of the zombie
|
||||
local husk = table.copy(zombie)
|
||||
husk.description = S("Husk")
|
||||
husk.textures = {
|
||||
{
|
||||
"mobs_mc_empty.png", -- armor
|
||||
|
@ -132,6 +135,7 @@ mobs:register_mob("mobs_mc:husk", husk)
|
|||
-- Baby husk.
|
||||
-- A smaller and more dangerous variant of the husk
|
||||
local baby_husk = table.copy(husk)
|
||||
baby_husk.description = S("Baby Husk")
|
||||
baby_husk.collisionbox = {-0.25, -0.01, -0.25, 0.25, 0.94, 0.25}
|
||||
baby_husk.xp_min = 12
|
||||
baby_husk.xp_max = 12
|
||||
|
|
|
@ -11,6 +11,7 @@ local S = minetest.get_translator("mobs_mc")
|
|||
|
||||
|
||||
local pigman = {
|
||||
description = S("Zombie Pigman"),
|
||||
-- type="animal", passive=false: This combination is needed for a neutral mob which becomes hostile, if attacked
|
||||
type = "animal",
|
||||
passive = false,
|
||||
|
@ -94,6 +95,7 @@ mobs:register_mob("mobs_mc:pigman", pigman)
|
|||
-- A smaller and more dangerous variant of the pigman
|
||||
|
||||
local baby_pigman = table.copy(pigman)
|
||||
baby_pigman.description = S("Baby Zombie Pigman")
|
||||
baby_pigman.collisionbox = {-0.25, -0.01, -0.25, 0.25, 0.94, 0.25}
|
||||
baby_pigman.xp_min = 13
|
||||
baby_pigman.xp_max = 13
|
||||
|
@ -112,33 +114,33 @@ mobs:register_mob("mobs_mc:baby_pigman", baby_pigman)
|
|||
|
||||
-- Regular spawning in the Nether
|
||||
mobs:spawn_specific(
|
||||
"mobs_mc:pigman",
|
||||
"nether",
|
||||
"mobs_mc:pigman",
|
||||
"nether",
|
||||
"ground",
|
||||
{
|
||||
"Nether"
|
||||
},
|
||||
0,
|
||||
0,
|
||||
minetest.LIGHT_MAX+1,
|
||||
30,
|
||||
6000,
|
||||
3,
|
||||
mobs_mc.spawn_height.nether_min,
|
||||
30,
|
||||
6000,
|
||||
3,
|
||||
mobs_mc.spawn_height.nether_min,
|
||||
mobs_mc.spawn_height.nether_max)
|
||||
-- Baby zombie is 20 times less likely than regular zombies
|
||||
mobs:spawn_specific(
|
||||
"mobs_mc:baby_pigman",
|
||||
"nether",
|
||||
"mobs_mc:baby_pigman",
|
||||
"nether",
|
||||
"ground",
|
||||
{
|
||||
"Nether"
|
||||
},
|
||||
0,
|
||||
minetest.LIGHT_MAX+1,
|
||||
30,
|
||||
100000,
|
||||
4,
|
||||
mobs_mc.spawn_height.nether_min,
|
||||
},
|
||||
0,
|
||||
minetest.LIGHT_MAX+1,
|
||||
30,
|
||||
100000,
|
||||
4,
|
||||
mobs_mc.spawn_height.nether_min,
|
||||
mobs_mc.spawn_height.nether_max)
|
||||
|
||||
-- Spawning in Nether portals in the Overworld
|
||||
|
|
Loading…
Reference in New Issue