Add mob descriptions

This commit is contained in:
Elias Fleckenstein 2021-04-25 17:30:15 +02:00
parent aeaec68c1b
commit b2407e407a
40 changed files with 264 additions and 211 deletions

@ -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