forked from VoxeLibre/VoxeLibre
Compare commits
9 Commits
master
...
spawner-fi
Author | SHA1 | Date |
---|---|---|
GuyLiner | d53c910ae0 | |
GuyLiner | f502621ed7 | |
GuyLiner | a8aa3531c7 | |
GuyLiner | 9eac178e70 | |
GuyLiner | 1fcf7afb82 | |
GuyLiner | a408dd186c | |
GuyLiner | 28c8dc9c53 | |
GuyLiner | ad0326f752 | |
GuyLiner | bab19f10dd |
|
@ -260,6 +260,8 @@ function mcl_mobs.register_mob(name, def)
|
||||||
-- MCL2 extensions
|
-- MCL2 extensions
|
||||||
shooter_avoid_enemy = def.shooter_avoid_enemy,
|
shooter_avoid_enemy = def.shooter_avoid_enemy,
|
||||||
strafes = def.strafes,
|
strafes = def.strafes,
|
||||||
|
light_min = def.light_min,
|
||||||
|
light_max = def.light_max,
|
||||||
avoid_distance = def.avoid_distance or 9,
|
avoid_distance = def.avoid_distance or 9,
|
||||||
do_teleport = def.do_teleport,
|
do_teleport = def.do_teleport,
|
||||||
spawn_class = def.spawn_class,
|
spawn_class = def.spawn_class,
|
||||||
|
@ -503,6 +505,16 @@ function mcl_mobs.register_egg(mob, desc, background_color, overlay_color, addeg
|
||||||
|
|
||||||
local name = placer:get_player_name()
|
local name = placer:get_player_name()
|
||||||
local privs = minetest.get_player_privs(name)
|
local privs = minetest.get_player_privs(name)
|
||||||
|
local dim = mcl_worlds.pos_to_dimension(placer:get_pos())
|
||||||
|
|
||||||
|
-- the attribute in the light_levels table for mobs is "the_end" instead of "end"
|
||||||
|
if dim == "end" then
|
||||||
|
dim = "the_end"
|
||||||
|
end
|
||||||
|
local mob_light_level = {
|
||||||
|
light_max = mcl_mobs.registered_mobs[itemstack:get_name()].light_max,
|
||||||
|
light_min = mcl_mobs.registered_mobs[itemstack:get_name()].light_min
|
||||||
|
}
|
||||||
if under.name == "mcl_mobspawners:spawner" then
|
if under.name == "mcl_mobspawners:spawner" then
|
||||||
if minetest.is_protected(pointed_thing.under, name) then
|
if minetest.is_protected(pointed_thing.under, name) then
|
||||||
minetest.record_protection_violation(pointed_thing.under, name)
|
minetest.record_protection_violation(pointed_thing.under, name)
|
||||||
|
@ -512,7 +524,7 @@ function mcl_mobs.register_egg(mob, desc, background_color, overlay_color, addeg
|
||||||
minetest.chat_send_player(name, S("You need the “maphack” privilege to change the mob spawner."))
|
minetest.chat_send_player(name, S("You need the “maphack” privilege to change the mob spawner."))
|
||||||
return itemstack
|
return itemstack
|
||||||
end
|
end
|
||||||
mcl_mobspawners.setup_spawner(pointed_thing.under, itemstack:get_name())
|
mcl_mobspawners.setup_spawner(pointed_thing.under, itemstack:get_name(), mob_light_level.light_min[dim], mob_light_level.light_max[dim])
|
||||||
if not minetest.is_creative_enabled(name) then
|
if not minetest.is_creative_enabled(name) then
|
||||||
itemstack:take_item()
|
itemstack:take_item()
|
||||||
end
|
end
|
||||||
|
|
|
@ -532,10 +532,14 @@ local function spawn_check(pos,spawn_def,ignore_caps)
|
||||||
and not is_bedrock then
|
and not is_bedrock then
|
||||||
--only need to poll for node light if everything else worked
|
--only need to poll for node light if everything else worked
|
||||||
local gotten_light = get_node_light(pos)
|
local gotten_light = get_node_light(pos)
|
||||||
|
|
||||||
|
--gotten_light is a table sometimes, causing a crash. Don't know the cause.
|
||||||
|
if type(gotten_light) ~= "table" then
|
||||||
if gotten_light >= spawn_def.min_light and gotten_light <= spawn_def.max_light then
|
if gotten_light >= spawn_def.min_light and gotten_light <= spawn_def.max_light then
|
||||||
return true
|
return true
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
|
end
|
||||||
return false
|
return false
|
||||||
end
|
end
|
||||||
|
|
||||||
|
|
|
@ -9,7 +9,16 @@ local axolotl = {
|
||||||
hp_max = 14,
|
hp_max = 14,
|
||||||
xp_min = 1,
|
xp_min = 1,
|
||||||
xp_max = 7,
|
xp_max = 7,
|
||||||
|
light_min = {
|
||||||
|
overworld = 0,
|
||||||
|
nether = 0,
|
||||||
|
the_end = 0
|
||||||
|
},
|
||||||
|
light_max = {
|
||||||
|
overworld = minetest.LIGHT_MAX+1,
|
||||||
|
nether = minetest.LIGHT_MAX+1,
|
||||||
|
the_end = minetest.LIGHT_MAX+1
|
||||||
|
},
|
||||||
head_swivel = "head.control",
|
head_swivel = "head.control",
|
||||||
bone_eye_height = -1,
|
bone_eye_height = -1,
|
||||||
head_eye_height = -0.5,
|
head_eye_height = -0.5,
|
||||||
|
@ -169,8 +178,8 @@ mcl_mobs:spawn_specific(
|
||||||
"JungleEdgeM_underground",
|
"JungleEdgeM_underground",
|
||||||
"LushCaves",
|
"LushCaves",
|
||||||
},
|
},
|
||||||
0,
|
axolotl.light_min.overworld,
|
||||||
minetest.LIGHT_MAX+1,
|
axolotl.light_max.overworld,
|
||||||
30,
|
30,
|
||||||
4000,
|
4000,
|
||||||
3,
|
3,
|
||||||
|
|
|
@ -2,7 +2,19 @@
|
||||||
|
|
||||||
local S = minetest.get_translator("mobs_mc")
|
local S = minetest.get_translator("mobs_mc")
|
||||||
|
|
||||||
mcl_mobs.register_mob("mobs_mc:bat", {
|
-- Spawning
|
||||||
|
|
||||||
|
--[[ If the game has been launched between the 20th of October and the 3rd of November system time,
|
||||||
|
-- the maximum spawn light level is increased. ]]
|
||||||
|
local date = os.date("*t")
|
||||||
|
local maxlight
|
||||||
|
if (date.month == 10 and date.day >= 20) or (date.month == 11 and date.day <= 3) then
|
||||||
|
maxlight = 6
|
||||||
|
else
|
||||||
|
maxlight = 3
|
||||||
|
end
|
||||||
|
|
||||||
|
local bat = {
|
||||||
description = S("Bat"),
|
description = S("Bat"),
|
||||||
type = "animal",
|
type = "animal",
|
||||||
spawn_class = "ambient",
|
spawn_class = "ambient",
|
||||||
|
@ -11,6 +23,17 @@ mcl_mobs.register_mob("mobs_mc:bat", {
|
||||||
passive = true,
|
passive = true,
|
||||||
hp_min = 6,
|
hp_min = 6,
|
||||||
hp_max = 6,
|
hp_max = 6,
|
||||||
|
light_min = {
|
||||||
|
overworld = 0,
|
||||||
|
nether = 0,
|
||||||
|
the_end = 0
|
||||||
|
},
|
||||||
|
light_max = {
|
||||||
|
overworld = maxlight,
|
||||||
|
nether = maxlight,
|
||||||
|
the_end = maxlight
|
||||||
|
},
|
||||||
|
|
||||||
collisionbox = {-0.25, -0.01, -0.25, 0.25, 0.89, 0.25},
|
collisionbox = {-0.25, -0.01, -0.25, 0.25, 0.89, 0.25},
|
||||||
visual = "mesh",
|
visual = "mesh",
|
||||||
mesh = "mobs_mc_bat.b3d",
|
mesh = "mobs_mc_bat.b3d",
|
||||||
|
@ -50,20 +73,8 @@ mcl_mobs.register_mob("mobs_mc:bat", {
|
||||||
jump = false,
|
jump = false,
|
||||||
fly = true,
|
fly = true,
|
||||||
makes_footstep_sound = false,
|
makes_footstep_sound = false,
|
||||||
})
|
}
|
||||||
|
mcl_mobs.register_mob("mobs_mc:bat", bat)
|
||||||
|
|
||||||
-- Spawning
|
|
||||||
|
|
||||||
--[[ If the game has been launched between the 20th of October and the 3rd of November system time,
|
|
||||||
-- the maximum spawn light level is increased. ]]
|
|
||||||
local date = os.date("*t")
|
|
||||||
local maxlight
|
|
||||||
if (date.month == 10 and date.day >= 20) or (date.month == 11 and date.day <= 3) then
|
|
||||||
maxlight = 6
|
|
||||||
else
|
|
||||||
maxlight = 3
|
|
||||||
end
|
|
||||||
|
|
||||||
-- Spawn on solid blocks at or below Sea level and the selected light level
|
-- Spawn on solid blocks at or below Sea level and the selected light level
|
||||||
mcl_mobs:spawn_specific(
|
mcl_mobs:spawn_specific(
|
||||||
|
@ -134,8 +145,8 @@ mcl_mobs:spawn_specific(
|
||||||
"JungleEdge",
|
"JungleEdge",
|
||||||
"SavannaM",
|
"SavannaM",
|
||||||
},
|
},
|
||||||
0,
|
bat.light_min.overworld,
|
||||||
maxlight,
|
bat.light_max.overworld,
|
||||||
20,
|
20,
|
||||||
5000,
|
5000,
|
||||||
2,
|
2,
|
||||||
|
|
|
@ -11,8 +11,7 @@ local mod_target = minetest.get_modpath("mcl_target")
|
||||||
--################### BLAZE
|
--################### BLAZE
|
||||||
--###################
|
--###################
|
||||||
|
|
||||||
|
local blaze = {
|
||||||
mcl_mobs.register_mob("mobs_mc:blaze", {
|
|
||||||
description = S("Blaze"),
|
description = S("Blaze"),
|
||||||
type = "monster",
|
type = "monster",
|
||||||
spawn_class = "hostile",
|
spawn_class = "hostile",
|
||||||
|
@ -22,6 +21,16 @@ mcl_mobs.register_mob("mobs_mc:blaze", {
|
||||||
hp_max = 20,
|
hp_max = 20,
|
||||||
xp_min = 10,
|
xp_min = 10,
|
||||||
xp_max = 10,
|
xp_max = 10,
|
||||||
|
light_min = {
|
||||||
|
overworld = 0,
|
||||||
|
nether = 0,
|
||||||
|
the_end = 0
|
||||||
|
},
|
||||||
|
light_max = {
|
||||||
|
overworld = 11,
|
||||||
|
nether = 11,
|
||||||
|
the_end = 11
|
||||||
|
},
|
||||||
collisionbox = {-0.3, -0.01, -0.3, 0.3, 1.79, 0.3},
|
collisionbox = {-0.3, -0.01, -0.3, 0.3, 1.79, 0.3},
|
||||||
rotate = -180,
|
rotate = -180,
|
||||||
visual = "mesh",
|
visual = "mesh",
|
||||||
|
@ -137,15 +146,16 @@ mcl_mobs.register_mob("mobs_mc:blaze", {
|
||||||
},
|
},
|
||||||
})
|
})
|
||||||
end,
|
end,
|
||||||
})
|
}
|
||||||
|
mcl_mobs.register_mob("mobs_mc:blaze", blaze)
|
||||||
|
|
||||||
mcl_mobs:spawn_specific(
|
mcl_mobs:spawn_specific(
|
||||||
"mobs_mc:blaze",
|
"mobs_mc:blaze",
|
||||||
"nether",
|
"nether",
|
||||||
"ground",
|
"ground",
|
||||||
{"Nether"},
|
{"Nether"},
|
||||||
0,
|
blaze.light_min.nether,
|
||||||
minetest.LIGHT_MAX+1,
|
blaze.light_max.nether,
|
||||||
30,
|
30,
|
||||||
5000,
|
5000,
|
||||||
3,
|
3,
|
||||||
|
|
|
@ -6,9 +6,7 @@ local S = minetest.get_translator("mobs_mc")
|
||||||
--################### CHICKEN
|
--################### CHICKEN
|
||||||
--###################
|
--###################
|
||||||
|
|
||||||
|
local chicken = {
|
||||||
|
|
||||||
mcl_mobs.register_mob("mobs_mc:chicken", {
|
|
||||||
description = S("Chicken"),
|
description = S("Chicken"),
|
||||||
type = "animal",
|
type = "animal",
|
||||||
spawn_class = "passive",
|
spawn_class = "passive",
|
||||||
|
@ -18,6 +16,16 @@ mcl_mobs.register_mob("mobs_mc:chicken", {
|
||||||
hp_max = 4,
|
hp_max = 4,
|
||||||
xp_min = 1,
|
xp_min = 1,
|
||||||
xp_max = 3,
|
xp_max = 3,
|
||||||
|
light_min = {
|
||||||
|
overworld = 9,
|
||||||
|
nether = 9,
|
||||||
|
the_end = 9
|
||||||
|
},
|
||||||
|
light_max = {
|
||||||
|
overworld = minetest.LIGHT_MAX+1,
|
||||||
|
nether = minetest.LIGHT_MAX+1,
|
||||||
|
the_end = minetest.LIGHT_MAX+1
|
||||||
|
},
|
||||||
collisionbox = {-0.2, -0.01, -0.2, 0.2, 0.69, 0.2},
|
collisionbox = {-0.2, -0.01, -0.2, 0.2, 0.69, 0.2},
|
||||||
floats = 1,
|
floats = 1,
|
||||||
head_swivel = "head.control",
|
head_swivel = "head.control",
|
||||||
|
@ -111,8 +119,9 @@ mcl_mobs.register_mob("mobs_mc:chicken", {
|
||||||
max_hear_distance = 16,
|
max_hear_distance = 16,
|
||||||
}, true)
|
}, true)
|
||||||
end,
|
end,
|
||||||
|
}
|
||||||
|
|
||||||
})
|
mcl_mobs.register_mob("mobs_mc:chicken", chicken)
|
||||||
|
|
||||||
--spawn
|
--spawn
|
||||||
mcl_mobs:spawn_specific(
|
mcl_mobs:spawn_specific(
|
||||||
|
@ -155,8 +164,8 @@ mcl_mobs:spawn_specific(
|
||||||
"Swampland",
|
"Swampland",
|
||||||
"Swampland_shore"
|
"Swampland_shore"
|
||||||
},
|
},
|
||||||
9,
|
chicken.light_min.overworld,
|
||||||
minetest.LIGHT_MAX+1,
|
chicken.light_max.overworld,
|
||||||
30, 17000,
|
30, 17000,
|
||||||
3,
|
3,
|
||||||
mobs_mc.water_level,
|
mobs_mc.water_level,
|
||||||
|
|
|
@ -38,6 +38,16 @@ local cod = {
|
||||||
hp_max = 3,
|
hp_max = 3,
|
||||||
xp_min = 1,
|
xp_min = 1,
|
||||||
xp_max = 3,
|
xp_max = 3,
|
||||||
|
light_min = {
|
||||||
|
overworld = 0,
|
||||||
|
nether = 0,
|
||||||
|
the_end = 0
|
||||||
|
},
|
||||||
|
light_max = {
|
||||||
|
overworld = minetest.LIGHT_MAX+1,
|
||||||
|
nether = minetest.LIGHT_MAX+1,
|
||||||
|
the_end = minetest.LIGHT_MAX+1
|
||||||
|
},
|
||||||
armor = 100,
|
armor = 100,
|
||||||
rotate = 180,
|
rotate = 180,
|
||||||
spawn_in_group_min = 3,
|
spawn_in_group_min = 3,
|
||||||
|
@ -263,8 +273,8 @@ mcl_mobs:spawn_specific(
|
||||||
"ExtremeHillsM_underground",
|
"ExtremeHillsM_underground",
|
||||||
"JungleEdgeM_underground",
|
"JungleEdgeM_underground",
|
||||||
},
|
},
|
||||||
0,
|
cod.light_min.overworld,
|
||||||
minetest.LIGHT_MAX+1,
|
cod.light_max.overworld,
|
||||||
30,
|
30,
|
||||||
4000,
|
4000,
|
||||||
3,
|
3,
|
||||||
|
|
|
@ -12,6 +12,16 @@ local cow_def = {
|
||||||
hp_max = 10,
|
hp_max = 10,
|
||||||
xp_min = 1,
|
xp_min = 1,
|
||||||
xp_max = 3,
|
xp_max = 3,
|
||||||
|
light_min = {
|
||||||
|
overworld = 9,
|
||||||
|
nether = 9,
|
||||||
|
the_end = 9
|
||||||
|
},
|
||||||
|
light_max = {
|
||||||
|
overworld = minetest.LIGHT_MAX+1,
|
||||||
|
nether = minetest.LIGHT_MAX+1,
|
||||||
|
the_end = minetest.LIGHT_MAX+1
|
||||||
|
},
|
||||||
collisionbox = {-0.45, -0.01, -0.45, 0.45, 1.39, 0.45},
|
collisionbox = {-0.45, -0.01, -0.45, 0.45, 1.39, 0.45},
|
||||||
spawn_in_group = 4,
|
spawn_in_group = 4,
|
||||||
spawn_in_group_min = 3,
|
spawn_in_group_min = 3,
|
||||||
|
@ -204,8 +214,8 @@ mcl_mobs:spawn_specific(
|
||||||
"Swampland",
|
"Swampland",
|
||||||
"Swampland_shore"
|
"Swampland_shore"
|
||||||
},
|
},
|
||||||
9,
|
cow_def.light_min.overworld,
|
||||||
minetest.LIGHT_MAX+1,
|
cow_def.light_max.overworld,
|
||||||
30,
|
30,
|
||||||
17000,
|
17000,
|
||||||
10,
|
10,
|
||||||
|
@ -222,8 +232,8 @@ mcl_mobs:spawn_specific(
|
||||||
"MushroomIslandShore",
|
"MushroomIslandShore",
|
||||||
"MushroomIsland"
|
"MushroomIsland"
|
||||||
},
|
},
|
||||||
9,
|
cow_def.light_min,
|
||||||
minetest.LIGHT_MAX+1,
|
cow_def.light_max,
|
||||||
30,
|
30,
|
||||||
17000,
|
17000,
|
||||||
5,
|
5,
|
||||||
|
|
|
@ -7,9 +7,7 @@ local S = minetest.get_translator("mobs_mc")
|
||||||
--###################
|
--###################
|
||||||
|
|
||||||
|
|
||||||
|
local creeper = {
|
||||||
|
|
||||||
mcl_mobs.register_mob("mobs_mc:creeper", {
|
|
||||||
type = "monster",
|
type = "monster",
|
||||||
spawn_class = "hostile",
|
spawn_class = "hostile",
|
||||||
spawn_in_group = 1,
|
spawn_in_group = 1,
|
||||||
|
@ -17,6 +15,16 @@ mcl_mobs.register_mob("mobs_mc:creeper", {
|
||||||
hp_max = 20,
|
hp_max = 20,
|
||||||
xp_min = 5,
|
xp_min = 5,
|
||||||
xp_max = 5,
|
xp_max = 5,
|
||||||
|
light_min = {
|
||||||
|
overworld = 0,
|
||||||
|
nether = 0,
|
||||||
|
the_end = 0
|
||||||
|
},
|
||||||
|
light_max = {
|
||||||
|
overworld = 7,
|
||||||
|
nether = 7,
|
||||||
|
the_end = 7
|
||||||
|
},
|
||||||
collisionbox = {-0.3, -0.01, -0.3, 0.3, 1.69, 0.3},
|
collisionbox = {-0.3, -0.01, -0.3, 0.3, 1.69, 0.3},
|
||||||
pathfinding = 1,
|
pathfinding = 1,
|
||||||
visual = "mesh",
|
visual = "mesh",
|
||||||
|
@ -131,9 +139,11 @@ mcl_mobs.register_mob("mobs_mc:creeper", {
|
||||||
floats = 1,
|
floats = 1,
|
||||||
fear_height = 4,
|
fear_height = 4,
|
||||||
view_range = 16,
|
view_range = 16,
|
||||||
})
|
}
|
||||||
|
|
||||||
mcl_mobs.register_mob("mobs_mc:creeper_charged", {
|
mcl_mobs.register_mob("mobs_mc:creeper", creeper)
|
||||||
|
|
||||||
|
local creeper_charged = {
|
||||||
description = S("Creeper"),
|
description = S("Creeper"),
|
||||||
type = "monster",
|
type = "monster",
|
||||||
spawn_class = "hostile",
|
spawn_class = "hostile",
|
||||||
|
@ -260,7 +270,8 @@ mcl_mobs.register_mob("mobs_mc:creeper_charged", {
|
||||||
--Having trouble when fire is placed with lightning
|
--Having trouble when fire is placed with lightning
|
||||||
fire_resistant = true,
|
fire_resistant = true,
|
||||||
glow = 3,
|
glow = 3,
|
||||||
})
|
}
|
||||||
|
mcl_mobs.register_mob("mobs_mc:creeper_charged", creeper_charged)
|
||||||
|
|
||||||
mcl_mobs:spawn_specific(
|
mcl_mobs:spawn_specific(
|
||||||
"mobs_mc:creeper",
|
"mobs_mc:creeper",
|
||||||
|
@ -402,8 +413,8 @@ mcl_mobs:spawn_specific(
|
||||||
"ExtremeHillsM_underground",
|
"ExtremeHillsM_underground",
|
||||||
"JungleEdgeM_underground",
|
"JungleEdgeM_underground",
|
||||||
},
|
},
|
||||||
0,
|
creeper.light_min.overworld,
|
||||||
7,
|
creeper.light_max.overworld,
|
||||||
20,
|
20,
|
||||||
16500,
|
16500,
|
||||||
2,
|
2,
|
||||||
|
|
|
@ -38,6 +38,16 @@ local dolphin = {
|
||||||
hp_max = 10,
|
hp_max = 10,
|
||||||
xp_min = 1,
|
xp_min = 1,
|
||||||
xp_max = 3,
|
xp_max = 3,
|
||||||
|
light_min = {
|
||||||
|
overworld = 0,
|
||||||
|
nether = 0,
|
||||||
|
the_end = 0
|
||||||
|
},
|
||||||
|
light_max = {
|
||||||
|
overworld = minetest.LIGHT_MAX+1,
|
||||||
|
nether = minetest.LIGHT_MAX+1,
|
||||||
|
the_end = minetest.LIGHT_MAX+1
|
||||||
|
},
|
||||||
armor = 100,
|
armor = 100,
|
||||||
walk_chance = 100,
|
walk_chance = 100,
|
||||||
breath_max = 120,
|
breath_max = 120,
|
||||||
|
@ -241,8 +251,8 @@ mcl_mobs:spawn_specific(
|
||||||
"ExtremeHillsM_underground",
|
"ExtremeHillsM_underground",
|
||||||
"JungleEdgeM_underground",
|
"JungleEdgeM_underground",
|
||||||
},
|
},
|
||||||
0,
|
dolphin.light_min.overworld,
|
||||||
minetest.LIGHT_MAX+1,
|
dolphin.light_max.overworld,
|
||||||
30,
|
30,
|
||||||
4000,
|
4000,
|
||||||
3,
|
3,
|
||||||
|
|
|
@ -48,7 +48,7 @@ local function check_pos(self)
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
|
|
||||||
mcl_mobs.register_mob("mobs_mc:enderdragon", {
|
local enderdragon = {
|
||||||
description = S("Ender Dragon"),
|
description = S("Ender Dragon"),
|
||||||
type = "monster",
|
type = "monster",
|
||||||
spawn_class = "hostile",
|
spawn_class = "hostile",
|
||||||
|
@ -59,6 +59,16 @@ mcl_mobs.register_mob("mobs_mc:enderdragon", {
|
||||||
hp_min = 200,
|
hp_min = 200,
|
||||||
xp_min = 500,
|
xp_min = 500,
|
||||||
xp_max = 500,
|
xp_max = 500,
|
||||||
|
light_min = {
|
||||||
|
overworld = 0,
|
||||||
|
nether = 0,
|
||||||
|
the_end = 0
|
||||||
|
},
|
||||||
|
light_max = {
|
||||||
|
overworld = minetest.LIGHT_MAX+1,
|
||||||
|
nether = minetest.LIGHT_MAX+1,
|
||||||
|
the_end = minetest.LIGHT_MAX+1
|
||||||
|
},
|
||||||
collisionbox = {-2, 3, -2, 2, 5, 2},
|
collisionbox = {-2, 3, -2, 2, 5, 2},
|
||||||
physical = false,
|
physical = false,
|
||||||
visual = "mesh",
|
visual = "mesh",
|
||||||
|
@ -136,7 +146,8 @@ mcl_mobs.register_mob("mobs_mc:enderdragon", {
|
||||||
end
|
end
|
||||||
end,
|
end,
|
||||||
fire_resistant = true,
|
fire_resistant = true,
|
||||||
})
|
}
|
||||||
|
mcl_mobs.register_mob("mobs_mc:enderdragon", enderdragon)
|
||||||
|
|
||||||
|
|
||||||
local mobs_griefing = minetest.settings:get_bool("mobs_griefing") ~= false
|
local mobs_griefing = minetest.settings:get_bool("mobs_griefing") ~= false
|
||||||
|
|
|
@ -255,7 +255,7 @@ local psdefs = {{
|
||||||
texture = "mcl_portals_particle"..math.random(1, 5)..".png",
|
texture = "mcl_portals_particle"..math.random(1, 5)..".png",
|
||||||
}}
|
}}
|
||||||
|
|
||||||
mcl_mobs.register_mob("mobs_mc:enderman", {
|
local enderman = {
|
||||||
description = S("Enderman"),
|
description = S("Enderman"),
|
||||||
type = "monster",
|
type = "monster",
|
||||||
spawn_class = "passive",
|
spawn_class = "passive",
|
||||||
|
@ -266,6 +266,16 @@ mcl_mobs.register_mob("mobs_mc:enderman", {
|
||||||
hp_max = 40,
|
hp_max = 40,
|
||||||
xp_min = 5,
|
xp_min = 5,
|
||||||
xp_max = 5,
|
xp_max = 5,
|
||||||
|
light_min = {
|
||||||
|
overworld = 0,
|
||||||
|
nether = 0,
|
||||||
|
the_end = 0
|
||||||
|
},
|
||||||
|
light_max = {
|
||||||
|
overworld = 7,
|
||||||
|
nether = 11,
|
||||||
|
the_end = minetest.LIGHT_MAX+1,
|
||||||
|
},
|
||||||
collisionbox = {-0.3, -0.01, -0.3, 0.3, 2.89, 0.3},
|
collisionbox = {-0.3, -0.01, -0.3, 0.3, 2.89, 0.3},
|
||||||
visual = "mesh",
|
visual = "mesh",
|
||||||
mesh = "mobs_mc_enderman.b3d",
|
mesh = "mobs_mc_enderman.b3d",
|
||||||
|
@ -631,7 +641,8 @@ mcl_mobs.register_mob("mobs_mc:enderman", {
|
||||||
view_range = 64,
|
view_range = 64,
|
||||||
fear_height = 4,
|
fear_height = 4,
|
||||||
attack_type = "dogfight",
|
attack_type = "dogfight",
|
||||||
})
|
}
|
||||||
|
mcl_mobs.register_mob("mobs_mc:enderman", enderman)
|
||||||
|
|
||||||
-- End spawn
|
-- End spawn
|
||||||
mcl_mobs:spawn_specific(
|
mcl_mobs:spawn_specific(
|
||||||
|
@ -646,8 +657,8 @@ mcl_mobs:spawn_specific(
|
||||||
"EndBorder",
|
"EndBorder",
|
||||||
"EndSmallIslands"
|
"EndSmallIslands"
|
||||||
},
|
},
|
||||||
0,
|
enderman.light_min.the_end,
|
||||||
minetest.LIGHT_MAX+1,
|
enderman.light_max.the_end,
|
||||||
30,
|
30,
|
||||||
3000,
|
3000,
|
||||||
12,
|
12,
|
||||||
|
@ -794,8 +805,8 @@ mcl_mobs:spawn_specific(
|
||||||
"ExtremeHillsM_underground",
|
"ExtremeHillsM_underground",
|
||||||
"JungleEdgeM_underground",
|
"JungleEdgeM_underground",
|
||||||
},
|
},
|
||||||
0,
|
enderman.light_min.overworld,
|
||||||
7,
|
enderman.light_max.overworld,
|
||||||
30,
|
30,
|
||||||
19000,
|
19000,
|
||||||
2,
|
2,
|
||||||
|
@ -811,8 +822,8 @@ mcl_mobs:spawn_specific(
|
||||||
"Nether",
|
"Nether",
|
||||||
"SoulsandValley",
|
"SoulsandValley",
|
||||||
},
|
},
|
||||||
0,
|
enderman.light_min.nether,
|
||||||
11,
|
enderman.light_max.nether,
|
||||||
30,
|
30,
|
||||||
27500,
|
27500,
|
||||||
4,
|
4,
|
||||||
|
@ -827,8 +838,8 @@ mcl_mobs:spawn_specific(
|
||||||
{
|
{
|
||||||
"WarpedForest"
|
"WarpedForest"
|
||||||
},
|
},
|
||||||
0,
|
enderman.light_min.nether,
|
||||||
11,
|
enderman.light_max.nether,
|
||||||
30,
|
30,
|
||||||
5000,
|
5000,
|
||||||
4,
|
4,
|
||||||
|
|
|
@ -3,8 +3,7 @@
|
||||||
--###################
|
--###################
|
||||||
|
|
||||||
local S = minetest.get_translator("mobs_mc")
|
local S = minetest.get_translator("mobs_mc")
|
||||||
|
local endermite = {
|
||||||
mcl_mobs.register_mob("mobs_mc:endermite", {
|
|
||||||
description = S("Endermite"),
|
description = S("Endermite"),
|
||||||
type = "monster",
|
type = "monster",
|
||||||
spawn_class = "hostile",
|
spawn_class = "hostile",
|
||||||
|
@ -13,6 +12,16 @@ mcl_mobs.register_mob("mobs_mc:endermite", {
|
||||||
hp_max = 8,
|
hp_max = 8,
|
||||||
xp_min = 3,
|
xp_min = 3,
|
||||||
xp_max = 3,
|
xp_max = 3,
|
||||||
|
light_min = {
|
||||||
|
overworld = 0,
|
||||||
|
nether = 0,
|
||||||
|
the_end = 0
|
||||||
|
},
|
||||||
|
light_max = {
|
||||||
|
overworld = 7,
|
||||||
|
nether = 7,
|
||||||
|
the_end = 7
|
||||||
|
},
|
||||||
armor = {fleshy = 100, arthropod = 100},
|
armor = {fleshy = 100, arthropod = 100},
|
||||||
group_attack = true,
|
group_attack = true,
|
||||||
collisionbox = {-0.2, -0.01, -0.2, 0.2, 0.29, 0.2},
|
collisionbox = {-0.2, -0.01, -0.2, 0.2, 0.29, 0.2},
|
||||||
|
@ -36,6 +45,8 @@ mcl_mobs.register_mob("mobs_mc:endermite", {
|
||||||
view_range = 16,
|
view_range = 16,
|
||||||
damage = 2,
|
damage = 2,
|
||||||
reach = 1,
|
reach = 1,
|
||||||
})
|
}
|
||||||
|
|
||||||
|
mcl_mobs.register_mob("mobs_mc:endermite", endermite)
|
||||||
|
|
||||||
mcl_mobs.register_egg("mobs_mc:endermite", S("Endermite"), "#161616", "#6d6d6d", 0)
|
mcl_mobs.register_egg("mobs_mc:endermite", S("Endermite"), "#161616", "#6d6d6d", 0)
|
||||||
|
|
|
@ -9,8 +9,7 @@ local S = minetest.get_translator("mobs_mc")
|
||||||
--################### GHAST
|
--################### GHAST
|
||||||
--###################
|
--###################
|
||||||
|
|
||||||
|
local ghast = {
|
||||||
mcl_mobs.register_mob("mobs_mc:ghast", {
|
|
||||||
description = S("Ghast"),
|
description = S("Ghast"),
|
||||||
type = "monster",
|
type = "monster",
|
||||||
spawn_class = "hostile",
|
spawn_class = "hostile",
|
||||||
|
@ -20,6 +19,16 @@ mcl_mobs.register_mob("mobs_mc:ghast", {
|
||||||
hp_max = 10,
|
hp_max = 10,
|
||||||
xp_min = 5,
|
xp_min = 5,
|
||||||
xp_max = 5,
|
xp_max = 5,
|
||||||
|
light_min = {
|
||||||
|
overworld = 0,
|
||||||
|
nether = 0,
|
||||||
|
the_end = 0
|
||||||
|
},
|
||||||
|
light_max = {
|
||||||
|
overworld = 7,
|
||||||
|
nether = 7,
|
||||||
|
the_end = 7
|
||||||
|
},
|
||||||
collisionbox = {-2, 5, -2, 2, 9, 2},
|
collisionbox = {-2, 5, -2, 2, 9, 2},
|
||||||
visual = "mesh",
|
visual = "mesh",
|
||||||
mesh = "mobs_mc_ghast.b3d",
|
mesh = "mobs_mc_ghast.b3d",
|
||||||
|
@ -82,7 +91,8 @@ mcl_mobs.register_mob("mobs_mc:ghast", {
|
||||||
self.object:set_properties({textures=self.base_texture})
|
self.object:set_properties({textures=self.base_texture})
|
||||||
end
|
end
|
||||||
end,
|
end,
|
||||||
})
|
}
|
||||||
|
mcl_mobs.register_mob("mobs_mc:ghast", ghast)
|
||||||
|
|
||||||
|
|
||||||
mcl_mobs:spawn_specific(
|
mcl_mobs:spawn_specific(
|
||||||
|
@ -94,8 +104,8 @@ mcl_mobs:spawn_specific(
|
||||||
"SoulsandValley",
|
"SoulsandValley",
|
||||||
"BasaltDelta",
|
"BasaltDelta",
|
||||||
},
|
},
|
||||||
0,
|
ghast.light_min.nether,
|
||||||
7,
|
ghast.light_max.nether,
|
||||||
30,
|
30,
|
||||||
72000,
|
72000,
|
||||||
2,
|
2,
|
||||||
|
|
|
@ -29,7 +29,7 @@ for i=1,4 do
|
||||||
table.insert(psdefs,p)
|
table.insert(psdefs,p)
|
||||||
end
|
end
|
||||||
|
|
||||||
mcl_mobs.register_mob("mobs_mc:glow_squid", {
|
local glow_squid = {
|
||||||
type = "animal",
|
type = "animal",
|
||||||
spawn_class = "water",
|
spawn_class = "water",
|
||||||
can_despawn = true,
|
can_despawn = true,
|
||||||
|
@ -38,6 +38,16 @@ mcl_mobs.register_mob("mobs_mc:glow_squid", {
|
||||||
hp_max = 10,
|
hp_max = 10,
|
||||||
xp_min = 1,
|
xp_min = 1,
|
||||||
xp_max = 3,
|
xp_max = 3,
|
||||||
|
light_min = {
|
||||||
|
overworld = 0,
|
||||||
|
nether = 0,
|
||||||
|
the_end = 0
|
||||||
|
},
|
||||||
|
light_max = {
|
||||||
|
overworld = minetest.LIGHT_MAX + 1,
|
||||||
|
nether = minetest.LIGHT_MAX + 1,
|
||||||
|
the_end = minetest.LIGHT_MAX + 1
|
||||||
|
},
|
||||||
armor = 100,
|
armor = 100,
|
||||||
rotate = 0,
|
rotate = 0,
|
||||||
-- tilt_swim breaks the animations.
|
-- tilt_swim breaks the animations.
|
||||||
|
@ -84,7 +94,8 @@ mcl_mobs.register_mob("mobs_mc:glow_squid", {
|
||||||
|
|
||||||
glow = minetest.LIGHT_MAX,
|
glow = minetest.LIGHT_MAX,
|
||||||
particlespawners = psdefs,
|
particlespawners = psdefs,
|
||||||
})
|
}
|
||||||
|
mcl_mobs.register_mob("mobs_mc:glow_squid", glow_squid)
|
||||||
|
|
||||||
-- spawning
|
-- spawning
|
||||||
local water = mobs_mc.water_level - 1
|
local water = mobs_mc.water_level - 1
|
||||||
|
@ -234,8 +245,8 @@ mcl_mobs:spawn_specific(
|
||||||
"ExtremeHillsM_underground",
|
"ExtremeHillsM_underground",
|
||||||
"JungleEdgeM_underground",
|
"JungleEdgeM_underground",
|
||||||
},
|
},
|
||||||
0,
|
glow_squid.light_min.overworld,
|
||||||
minetest.LIGHT_MAX + 1,
|
glow_squid.light_max.overworld,
|
||||||
30,
|
30,
|
||||||
10000,
|
10000,
|
||||||
3,
|
3,
|
||||||
|
|
|
@ -3,8 +3,7 @@
|
||||||
--###################
|
--###################
|
||||||
|
|
||||||
local S = minetest.get_translator("mobs_mc")
|
local S = minetest.get_translator("mobs_mc")
|
||||||
|
local guardian = {
|
||||||
mcl_mobs.register_mob("mobs_mc:guardian", {
|
|
||||||
description = S("Guardian"),
|
description = S("Guardian"),
|
||||||
type = "monster",
|
type = "monster",
|
||||||
spawn_class = "hostile",
|
spawn_class = "hostile",
|
||||||
|
@ -14,6 +13,16 @@ mcl_mobs.register_mob("mobs_mc:guardian", {
|
||||||
hp_max = 30,
|
hp_max = 30,
|
||||||
xp_min = 10,
|
xp_min = 10,
|
||||||
xp_max = 10,
|
xp_max = 10,
|
||||||
|
light_min = {
|
||||||
|
overworld = 0,
|
||||||
|
nether = 0,
|
||||||
|
the_end = 0
|
||||||
|
},
|
||||||
|
light_max = {
|
||||||
|
overworld = 7,
|
||||||
|
nether = minetest.LIGHT_MAX+1,
|
||||||
|
the_end = 7,
|
||||||
|
},
|
||||||
breath_max = -1,
|
breath_max = -1,
|
||||||
passive = false,
|
passive = false,
|
||||||
attack_type = "dogfight",
|
attack_type = "dogfight",
|
||||||
|
@ -97,7 +106,8 @@ mcl_mobs.register_mob("mobs_mc:guardian", {
|
||||||
fly_in = { "mcl_core:water_source", "mclx_core:river_water_source" },
|
fly_in = { "mcl_core:water_source", "mclx_core:river_water_source" },
|
||||||
jump = false,
|
jump = false,
|
||||||
view_range = 16,
|
view_range = 16,
|
||||||
})
|
}
|
||||||
|
mcl_mobs.register_mob("mobs_mc:guardian", guardian)
|
||||||
|
|
||||||
-- Spawning disabled due to size issues
|
-- Spawning disabled due to size issues
|
||||||
-- TODO: Re-enable spawning
|
-- TODO: Re-enable spawning
|
||||||
|
|
|
@ -6,7 +6,7 @@
|
||||||
|
|
||||||
local S = minetest.get_translator("mobs_mc")
|
local S = minetest.get_translator("mobs_mc")
|
||||||
|
|
||||||
mcl_mobs.register_mob("mobs_mc:guardian_elder", {
|
local guardian_elder = {
|
||||||
description = S("Elder Guardian"),
|
description = S("Elder Guardian"),
|
||||||
type = "monster",
|
type = "monster",
|
||||||
spawn_class = "hostile",
|
spawn_class = "hostile",
|
||||||
|
@ -14,6 +14,16 @@ mcl_mobs.register_mob("mobs_mc:guardian_elder", {
|
||||||
hp_max = 80,
|
hp_max = 80,
|
||||||
xp_min = 10,
|
xp_min = 10,
|
||||||
xp_max = 10,
|
xp_max = 10,
|
||||||
|
light_min = {
|
||||||
|
overworld = 0,
|
||||||
|
nether = 0,
|
||||||
|
the_end = 0
|
||||||
|
},
|
||||||
|
light_max = {
|
||||||
|
overworld = 7,
|
||||||
|
nether = minetest.LIGHT_MAX+1,
|
||||||
|
the_end = 7,
|
||||||
|
},
|
||||||
breath_max = -1,
|
breath_max = -1,
|
||||||
passive = false,
|
passive = false,
|
||||||
attack_type = "dogfight",
|
attack_type = "dogfight",
|
||||||
|
@ -105,7 +115,8 @@ mcl_mobs.register_mob("mobs_mc:guardian_elder", {
|
||||||
fly_in = { "mcl_core:water_source", "mclx_core:river_water_source" },
|
fly_in = { "mcl_core:water_source", "mclx_core:river_water_source" },
|
||||||
jump = false,
|
jump = false,
|
||||||
view_range = 16,
|
view_range = 16,
|
||||||
})
|
}
|
||||||
|
mcl_mobs.register_mob("mobs_mc:guardian_elder", guardian_elder)
|
||||||
|
|
||||||
-- Spawning disabled due to size issues <- what do you mean? -j4i
|
-- Spawning disabled due to size issues <- what do you mean? -j4i
|
||||||
-- TODO: Re-enable spawning
|
-- TODO: Re-enable spawning
|
||||||
|
|
|
@ -17,6 +17,16 @@ local hoglin = {
|
||||||
hp_max = 40,
|
hp_max = 40,
|
||||||
xp_min = 9,
|
xp_min = 9,
|
||||||
xp_max = 9,
|
xp_max = 9,
|
||||||
|
light_min = {
|
||||||
|
overworld = 0,
|
||||||
|
nether = 0,
|
||||||
|
the_end = 0
|
||||||
|
},
|
||||||
|
light_max = {
|
||||||
|
overworld = minetest.LIGHT_MAX+1,
|
||||||
|
nether = minetest.LIGHT_MAX+1,
|
||||||
|
the_end = minetest.LIGHT_MAX+1
|
||||||
|
},
|
||||||
armor = {fleshy = 90},
|
armor = {fleshy = 90},
|
||||||
attack_type = "dogfight",
|
attack_type = "dogfight",
|
||||||
damage = 4,
|
damage = 4,
|
||||||
|
@ -123,8 +133,8 @@ mcl_mobs:spawn_specific(
|
||||||
"Nether",
|
"Nether",
|
||||||
"CrimsonForest"
|
"CrimsonForest"
|
||||||
},
|
},
|
||||||
0,
|
hoglin.light_min.nether,
|
||||||
minetest.LIGHT_MAX+1,
|
hoglin.light_max.nether,
|
||||||
30,
|
30,
|
||||||
6000,
|
6000,
|
||||||
3,
|
3,
|
||||||
|
|
|
@ -167,6 +167,16 @@ local horse = {
|
||||||
hp_max = 30,
|
hp_max = 30,
|
||||||
xp_min = 1,
|
xp_min = 1,
|
||||||
xp_max = 3,
|
xp_max = 3,
|
||||||
|
light_min = {
|
||||||
|
overworld = 0,
|
||||||
|
nether = 0,
|
||||||
|
the_end = 0
|
||||||
|
},
|
||||||
|
light_max = {
|
||||||
|
overworld = minetest.LIGHT_MAX+1,
|
||||||
|
nether = minetest.LIGHT_MAX+1,
|
||||||
|
the_end = minetest.LIGHT_MAX+1
|
||||||
|
},
|
||||||
floats = 1,
|
floats = 1,
|
||||||
makes_footstep_sound = true,
|
makes_footstep_sound = true,
|
||||||
jump = true,
|
jump = true,
|
||||||
|
@ -609,8 +619,8 @@ mcl_mobs:spawn_specific(
|
||||||
"Savanna_beach",
|
"Savanna_beach",
|
||||||
"Plains_beach",
|
"Plains_beach",
|
||||||
},
|
},
|
||||||
0,
|
horse.light_min.overworld,
|
||||||
minetest.LIGHT_MAX+1,
|
horse.light_max.overworld,
|
||||||
30,
|
30,
|
||||||
15000,
|
15000,
|
||||||
4,
|
4,
|
||||||
|
@ -632,8 +642,8 @@ mcl_mobs:spawn_specific(
|
||||||
"Savanna_beach",
|
"Savanna_beach",
|
||||||
"Plains_beach",
|
"Plains_beach",
|
||||||
},
|
},
|
||||||
9,
|
donkey.light_min.overworld,
|
||||||
minetest.LIGHT_MAX+1,
|
donkey.light_max.overworld,
|
||||||
30,
|
30,
|
||||||
15000,
|
15000,
|
||||||
4,
|
4,
|
||||||
|
|
|
@ -10,14 +10,23 @@ local S = minetest.get_translator("mobs_mc")
|
||||||
--###################
|
--###################
|
||||||
|
|
||||||
local etime = 0
|
local etime = 0
|
||||||
|
local iron_golem = {
|
||||||
mcl_mobs.register_mob("mobs_mc:iron_golem", {
|
|
||||||
description = S("Iron Golem"),
|
description = S("Iron Golem"),
|
||||||
type = "npc",
|
type = "npc",
|
||||||
spawn_class = "passive",
|
spawn_class = "passive",
|
||||||
passive = false,
|
passive = false,
|
||||||
hp_min = 100,
|
hp_min = 100,
|
||||||
hp_max = 100,
|
hp_max = 100,
|
||||||
|
light_min = {
|
||||||
|
overworld = 0,
|
||||||
|
nether = 0,
|
||||||
|
the_end = 0
|
||||||
|
},
|
||||||
|
light_max = {
|
||||||
|
overworld = minetest.LIGHT_MAX+1,
|
||||||
|
nether = minetest.LIGHT_MAX+1,
|
||||||
|
the_end = minetest.LIGHT_MAX+1
|
||||||
|
},
|
||||||
breath_max = -1,
|
breath_max = -1,
|
||||||
collisionbox = {-0.7, -0.01, -0.7, 0.7, 2.69, 0.7},
|
collisionbox = {-0.7, -0.01, -0.7, 0.7, 2.69, 0.7},
|
||||||
visual = "mesh",
|
visual = "mesh",
|
||||||
|
@ -93,7 +102,8 @@ mcl_mobs.register_mob("mobs_mc:iron_golem", {
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
end,
|
end,
|
||||||
})
|
}
|
||||||
|
mcl_mobs.register_mob("mobs_mc:iron_golem", iron_golem)
|
||||||
|
|
||||||
|
|
||||||
-- spawn eggs
|
-- spawn eggs
|
||||||
|
|
|
@ -46,8 +46,7 @@ local function get_drops(self)
|
||||||
max = 1,})
|
max = 1,})
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
|
local llama = {
|
||||||
mcl_mobs.register_mob("mobs_mc:llama", {
|
|
||||||
description = S("Llama"),
|
description = S("Llama"),
|
||||||
type = "animal",
|
type = "animal",
|
||||||
spawn_class = "passive",
|
spawn_class = "passive",
|
||||||
|
@ -70,6 +69,16 @@ mcl_mobs.register_mob("mobs_mc:llama", {
|
||||||
hp_max = 30,
|
hp_max = 30,
|
||||||
xp_min = 1,
|
xp_min = 1,
|
||||||
xp_max = 3,
|
xp_max = 3,
|
||||||
|
light_min = {
|
||||||
|
overworld = 0,
|
||||||
|
nether = 0,
|
||||||
|
the_end = 0
|
||||||
|
},
|
||||||
|
light_max = {
|
||||||
|
overworld = minetest.LIGHT_MAX+1,
|
||||||
|
nether = minetest.LIGHT_MAX+1,
|
||||||
|
the_end = minetest.LIGHT_MAX+1
|
||||||
|
},
|
||||||
collisionbox = {-0.45, -0.01, -0.45, 0.45, 1.86, 0.45},
|
collisionbox = {-0.45, -0.01, -0.45, 0.45, 1.86, 0.45},
|
||||||
visual = "mesh",
|
visual = "mesh",
|
||||||
mesh = "mobs_mc_llama.b3d",
|
mesh = "mobs_mc_llama.b3d",
|
||||||
|
@ -249,7 +258,8 @@ mcl_mobs.register_mob("mobs_mc:llama", {
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
end,
|
end,
|
||||||
})
|
}
|
||||||
|
mcl_mobs.register_mob("mobs_mc:llama", llama)
|
||||||
|
|
||||||
mcl_entity_invs.register_inv("mobs_mc:llama","Llama",nil,true)
|
mcl_entity_invs.register_inv("mobs_mc:llama","Llama",nil,true)
|
||||||
|
|
||||||
|
@ -288,8 +298,8 @@ mcl_mobs:spawn_specific(
|
||||||
"ExtremeHills_beach",
|
"ExtremeHills_beach",
|
||||||
"ExtremeHillsM",
|
"ExtremeHillsM",
|
||||||
}, --FIXME: Needs Windswept Forest when that is added.
|
}, --FIXME: Needs Windswept Forest when that is added.
|
||||||
0,
|
llama.light_min.overworld,
|
||||||
minetest.LIGHT_MAX+1,
|
llama.light_max.overworld,
|
||||||
30,
|
30,
|
||||||
15000,
|
15000,
|
||||||
5,
|
5,
|
||||||
|
|
|
@ -36,6 +36,16 @@ local ocelot = {
|
||||||
hp_max = 10,
|
hp_max = 10,
|
||||||
xp_min = 1,
|
xp_min = 1,
|
||||||
xp_max = 3,
|
xp_max = 3,
|
||||||
|
light_min = {
|
||||||
|
overworld = 0,
|
||||||
|
nether = 0,
|
||||||
|
the_end = 0
|
||||||
|
},
|
||||||
|
light_max = {
|
||||||
|
overworld = minetest.LIGHT_MAX+1,
|
||||||
|
nether = minetest.LIGHT_MAX+1,
|
||||||
|
the_end = minetest.LIGHT_MAX+1
|
||||||
|
},
|
||||||
head_swivel = "head.control",
|
head_swivel = "head.control",
|
||||||
bone_eye_height = 6.2,
|
bone_eye_height = 6.2,
|
||||||
head_eye_height = 0.4,
|
head_eye_height = 0.4,
|
||||||
|
@ -183,8 +193,8 @@ mcl_mobs:spawn_specific(
|
||||||
"JungleM",
|
"JungleM",
|
||||||
"JungleEdge",
|
"JungleEdge",
|
||||||
},
|
},
|
||||||
0,
|
ocelot.light_min.overworld,
|
||||||
minetest.LIGHT_MAX+1,
|
ocelot.light_max.overworld,
|
||||||
30,
|
30,
|
||||||
15000,
|
15000,
|
||||||
5,
|
5,
|
||||||
|
|
|
@ -124,8 +124,7 @@ local function check_perch(self,dtime)
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
|
local parrot = {
|
||||||
mcl_mobs.register_mob("mobs_mc:parrot", {
|
|
||||||
description = S("Parrot"),
|
description = S("Parrot"),
|
||||||
type = "animal",
|
type = "animal",
|
||||||
spawn_class = "passive",
|
spawn_class = "passive",
|
||||||
|
@ -135,6 +134,16 @@ mcl_mobs.register_mob("mobs_mc:parrot", {
|
||||||
hp_max = 6,
|
hp_max = 6,
|
||||||
xp_min = 1,
|
xp_min = 1,
|
||||||
xp_max = 3,
|
xp_max = 3,
|
||||||
|
light_min = {
|
||||||
|
overworld = 0,
|
||||||
|
nether = 0,
|
||||||
|
the_end = 0
|
||||||
|
},
|
||||||
|
light_max = {
|
||||||
|
overworld = minetest.LIGHT_MAX+1,
|
||||||
|
nether = minetest.LIGHT_MAX+1,
|
||||||
|
the_end = minetest.LIGHT_MAX+1
|
||||||
|
},
|
||||||
head_swivel = "head.control",
|
head_swivel = "head.control",
|
||||||
bone_eye_height = 1.1,
|
bone_eye_height = 1.1,
|
||||||
horrizonatal_head_height=0,
|
horrizonatal_head_height=0,
|
||||||
|
@ -219,7 +228,9 @@ mcl_mobs.register_mob("mobs_mc:parrot", {
|
||||||
return false --return false explicitly here. mcl_mobs checks for that
|
return false --return false explicitly here. mcl_mobs checks for that
|
||||||
end
|
end
|
||||||
end,
|
end,
|
||||||
})
|
}
|
||||||
|
|
||||||
|
mcl_mobs.register_mob("mobs_mc:parrot", parrot)
|
||||||
|
|
||||||
-- Parrots spawn rarely in jungles. TODO: Also check for jungle *biome* <- I'll get to this eventually -j4i
|
-- Parrots spawn rarely in jungles. TODO: Also check for jungle *biome* <- I'll get to this eventually -j4i
|
||||||
mcl_mobs:spawn_specific(
|
mcl_mobs:spawn_specific(
|
||||||
|
@ -232,8 +243,8 @@ mcl_mobs:spawn_specific(
|
||||||
"JungleM",
|
"JungleM",
|
||||||
"JungleEdge",
|
"JungleEdge",
|
||||||
},
|
},
|
||||||
0,
|
parrot.light_min.overworld,
|
||||||
minetest.LIGHT_MAX+1,
|
parrot.light_max.overworld,
|
||||||
7,
|
7,
|
||||||
30000,
|
30000,
|
||||||
1,
|
1,
|
||||||
|
|
|
@ -1,8 +1,7 @@
|
||||||
--License for code WTFPL and otherwise stated in readmes
|
--License for code WTFPL and otherwise stated in readmes
|
||||||
|
|
||||||
local S = minetest.get_translator("mobs_mc")
|
local S = minetest.get_translator("mobs_mc")
|
||||||
|
local pig = {
|
||||||
mcl_mobs.register_mob("mobs_mc:pig", {
|
|
||||||
description = S("Pig"),
|
description = S("Pig"),
|
||||||
type = "animal",
|
type = "animal",
|
||||||
spawn_class = "passive",
|
spawn_class = "passive",
|
||||||
|
@ -12,6 +11,16 @@ mcl_mobs.register_mob("mobs_mc:pig", {
|
||||||
hp_max = 10,
|
hp_max = 10,
|
||||||
xp_min = 1,
|
xp_min = 1,
|
||||||
xp_max = 3,
|
xp_max = 3,
|
||||||
|
light_min = {
|
||||||
|
overworld = 0,
|
||||||
|
nether = 0,
|
||||||
|
the_end = 0
|
||||||
|
},
|
||||||
|
light_max = {
|
||||||
|
overworld = minetest.LIGHT_MAX+1,
|
||||||
|
nether = minetest.LIGHT_MAX+1,
|
||||||
|
the_end = minetest.LIGHT_MAX+1
|
||||||
|
},
|
||||||
collisionbox = {-0.45, -0.01, -0.45, 0.45, 0.865, 0.45},
|
collisionbox = {-0.45, -0.01, -0.45, 0.45, 0.865, 0.45},
|
||||||
visual = "mesh",
|
visual = "mesh",
|
||||||
mesh = "mobs_mc_pig.b3d",
|
mesh = "mobs_mc_pig.b3d",
|
||||||
|
@ -195,7 +204,8 @@ mcl_mobs.register_mob("mobs_mc:pig", {
|
||||||
return false
|
return false
|
||||||
end
|
end
|
||||||
end,
|
end,
|
||||||
})
|
}
|
||||||
|
mcl_mobs.register_mob("mobs_mc:pig", pig)
|
||||||
|
|
||||||
mcl_mobs:spawn_specific(
|
mcl_mobs:spawn_specific(
|
||||||
"mobs_mc:pig",
|
"mobs_mc:pig",
|
||||||
|
@ -234,8 +244,8 @@ mcl_mobs:spawn_specific(
|
||||||
"Swampland",
|
"Swampland",
|
||||||
"Swampland_shore"
|
"Swampland_shore"
|
||||||
},
|
},
|
||||||
9,
|
pig.light_min.overworld,
|
||||||
minetest.LIGHT_MAX+1,
|
pig.light_max.overworld,
|
||||||
30,
|
30,
|
||||||
15000,
|
15000,
|
||||||
8,
|
8,
|
||||||
|
|
|
@ -42,6 +42,16 @@ local piglin = {
|
||||||
hp_max = 16,
|
hp_max = 16,
|
||||||
xp_min = 9,
|
xp_min = 9,
|
||||||
xp_max = 9,
|
xp_max = 9,
|
||||||
|
light_min = {
|
||||||
|
overworld = 0,
|
||||||
|
nether = 0,
|
||||||
|
the_end = 0
|
||||||
|
},
|
||||||
|
light_max = {
|
||||||
|
overworld = 7,
|
||||||
|
nether = minetest.LIGHT_MAX+1,
|
||||||
|
the_end = 7
|
||||||
|
},
|
||||||
armor = {fleshy = 90},
|
armor = {fleshy = 90},
|
||||||
damage = 4,
|
damage = 4,
|
||||||
reach = 3,
|
reach = 3,
|
||||||
|
@ -292,8 +302,8 @@ mcl_mobs:spawn_specific(
|
||||||
"Nether",
|
"Nether",
|
||||||
"CrimsonForest"
|
"CrimsonForest"
|
||||||
},
|
},
|
||||||
0,
|
piglin.light_min.nether,
|
||||||
minetest.LIGHT_MAX+1,
|
piglin.light_max.nether,
|
||||||
30,
|
30,
|
||||||
6000,
|
6000,
|
||||||
3,
|
3,
|
||||||
|
@ -308,8 +318,8 @@ mcl_mobs:spawn_specific(
|
||||||
"Nether",
|
"Nether",
|
||||||
"CrimsonForest"
|
"CrimsonForest"
|
||||||
},
|
},
|
||||||
0,
|
sword_piglin.light_min.nether,
|
||||||
minetest.LIGHT_MAX+1,
|
sword_piglin.light_max.nether,
|
||||||
30,
|
30,
|
||||||
6000,
|
6000,
|
||||||
3,
|
3,
|
||||||
|
|
|
@ -23,6 +23,16 @@ pillager = {
|
||||||
hp_max = 24,
|
hp_max = 24,
|
||||||
xp_min = 6,
|
xp_min = 6,
|
||||||
xp_max = 6,
|
xp_max = 6,
|
||||||
|
light_min = {
|
||||||
|
overworld = 0,
|
||||||
|
nether = 0,
|
||||||
|
the_end = 0
|
||||||
|
},
|
||||||
|
light_max = {
|
||||||
|
overworld = 7,
|
||||||
|
nether = 7,
|
||||||
|
the_end = 7,
|
||||||
|
},
|
||||||
breath_max = -1,
|
breath_max = -1,
|
||||||
eye_height = 1.5,
|
eye_height = 1.5,
|
||||||
shoot_interval = 3,
|
shoot_interval = 3,
|
||||||
|
|
|
@ -6,8 +6,7 @@ local S = minetest.get_translator("mobs_mc")
|
||||||
--################### POLARBEAR
|
--################### POLARBEAR
|
||||||
--###################
|
--###################
|
||||||
|
|
||||||
|
local polar_bear = {
|
||||||
mcl_mobs.register_mob("mobs_mc:polar_bear", {
|
|
||||||
description = S("Polar Bear"),
|
description = S("Polar Bear"),
|
||||||
type = "animal",
|
type = "animal",
|
||||||
spawn_class = "passive",
|
spawn_class = "passive",
|
||||||
|
@ -17,6 +16,16 @@ mcl_mobs.register_mob("mobs_mc:polar_bear", {
|
||||||
hp_max = 30,
|
hp_max = 30,
|
||||||
xp_min = 1,
|
xp_min = 1,
|
||||||
xp_max = 3,
|
xp_max = 3,
|
||||||
|
light_min = {
|
||||||
|
overworld = 0,
|
||||||
|
nether = 0,
|
||||||
|
the_end = 0
|
||||||
|
},
|
||||||
|
light_max = {
|
||||||
|
overworld = minetest.LIGHT_MAX+1,
|
||||||
|
nether = minetest.LIGHT_MAX+1,
|
||||||
|
the_end = minetest.LIGHT_MAX+1
|
||||||
|
},
|
||||||
breath_max = -1,
|
breath_max = -1,
|
||||||
collisionbox = {-0.7, -0.01, -0.7, 0.7, 1.39, 0.7},
|
collisionbox = {-0.7, -0.01, -0.7, 0.7, 1.39, 0.7},
|
||||||
visual = "mesh",
|
visual = "mesh",
|
||||||
|
@ -71,7 +80,8 @@ mcl_mobs.register_mob("mobs_mc:polar_bear", {
|
||||||
},
|
},
|
||||||
|
|
||||||
view_range = 16,
|
view_range = 16,
|
||||||
})
|
}
|
||||||
|
mcl_mobs.register_mob("mobs_mc:polar_bear", polar_bear)
|
||||||
|
|
||||||
|
|
||||||
mcl_mobs:spawn_specific(
|
mcl_mobs:spawn_specific(
|
||||||
|
@ -83,8 +93,8 @@ mcl_mobs:spawn_specific(
|
||||||
"IcePlainsSpikes",
|
"IcePlainsSpikes",
|
||||||
"IcePlains",
|
"IcePlains",
|
||||||
},
|
},
|
||||||
0,
|
polar_bear.light_min.overworld,
|
||||||
minetest.LIGHT_MAX+1,
|
polar_bear.light_max.overworld,
|
||||||
30,
|
30,
|
||||||
7000,
|
7000,
|
||||||
3,
|
3,
|
||||||
|
|
|
@ -14,6 +14,16 @@ local rabbit = {
|
||||||
hp_max = 3,
|
hp_max = 3,
|
||||||
xp_min = 1,
|
xp_min = 1,
|
||||||
xp_max = 3,
|
xp_max = 3,
|
||||||
|
light_min = {
|
||||||
|
overworld = 9,
|
||||||
|
nether = 9,
|
||||||
|
the_end = 9
|
||||||
|
},
|
||||||
|
light_max = {
|
||||||
|
overworld = minetest.LIGHT_MAX+1,
|
||||||
|
nether = minetest.LIGHT_MAX+1,
|
||||||
|
the_end = minetest.LIGHT_MAX+1
|
||||||
|
},
|
||||||
collisionbox = {-0.2, -0.01, -0.2, 0.2, 0.49, 0.2},
|
collisionbox = {-0.2, -0.01, -0.2, 0.2, 0.49, 0.2},
|
||||||
head_swivel = "head.control",
|
head_swivel = "head.control",
|
||||||
bone_eye_height = 2,
|
bone_eye_height = 2,
|
||||||
|
@ -145,8 +155,8 @@ mcl_mobs:spawn_specific(
|
||||||
"MegaTaiga",
|
"MegaTaiga",
|
||||||
"ColdTaiga",
|
"ColdTaiga",
|
||||||
},
|
},
|
||||||
9,
|
rabbit.light_min.overworld,
|
||||||
minetest.LIGHT_MAX+1,
|
rabbit.light_max.overworld,
|
||||||
30,
|
30,
|
||||||
15000,
|
15000,
|
||||||
8,
|
8,
|
||||||
|
|
|
@ -18,6 +18,16 @@ local salmon = {
|
||||||
hp_max = 3,
|
hp_max = 3,
|
||||||
xp_min = 1,
|
xp_min = 1,
|
||||||
xp_max = 3,
|
xp_max = 3,
|
||||||
|
light_min = {
|
||||||
|
overworld = 0,
|
||||||
|
nether = 0,
|
||||||
|
the_end = 0
|
||||||
|
},
|
||||||
|
light_max = {
|
||||||
|
overworld = minetest.LIGHT_MAX+1,
|
||||||
|
nether = minetest.LIGHT_MAX+1,
|
||||||
|
the_end = minetest.LIGHT_MAX+1,
|
||||||
|
},
|
||||||
armor = 100,
|
armor = 100,
|
||||||
spawn_in_group = 5,
|
spawn_in_group = 5,
|
||||||
tilt_swim = true,
|
tilt_swim = true,
|
||||||
|
@ -217,8 +227,8 @@ mcl_mobs:spawn_specific(
|
||||||
"ExtremeHillsM_underground",
|
"ExtremeHillsM_underground",
|
||||||
"JungleEdgeM_underground",
|
"JungleEdgeM_underground",
|
||||||
},
|
},
|
||||||
0,
|
salmon.light_min.overworld,
|
||||||
minetest.LIGHT_MAX+1,
|
salmon.light_max.overworld,
|
||||||
30,
|
30,
|
||||||
4000,
|
4000,
|
||||||
3,
|
3,
|
||||||
|
|
|
@ -51,8 +51,7 @@ end
|
||||||
|
|
||||||
local gotten_texture = { "blank.png", "mobs_mc_sheep.png" }
|
local gotten_texture = { "blank.png", "mobs_mc_sheep.png" }
|
||||||
|
|
||||||
--mcsheep
|
local sheep = {
|
||||||
mcl_mobs.register_mob("mobs_mc:sheep", {
|
|
||||||
description = S("Sheep"),
|
description = S("Sheep"),
|
||||||
type = "animal",
|
type = "animal",
|
||||||
spawn_class = "passive",
|
spawn_class = "passive",
|
||||||
|
@ -61,6 +60,16 @@ mcl_mobs.register_mob("mobs_mc:sheep", {
|
||||||
hp_max = 8,
|
hp_max = 8,
|
||||||
xp_min = 1,
|
xp_min = 1,
|
||||||
xp_max = 3,
|
xp_max = 3,
|
||||||
|
light_min = {
|
||||||
|
overworld = 9,
|
||||||
|
nether = 9,
|
||||||
|
the_end = 9
|
||||||
|
},
|
||||||
|
light_max = {
|
||||||
|
overworld = minetest.LIGHT_MAX+1,
|
||||||
|
nether = minetest.LIGHT_MAX+1,
|
||||||
|
the_end = minetest.LIGHT_MAX+1,
|
||||||
|
},
|
||||||
collisionbox = {-0.45, -0.01, -0.45, 0.45, 1.29, 0.45},
|
collisionbox = {-0.45, -0.01, -0.45, 0.45, 1.29, 0.45},
|
||||||
head_swivel = "head.control",
|
head_swivel = "head.control",
|
||||||
bone_eye_height = 3.3,
|
bone_eye_height = 3.3,
|
||||||
|
@ -314,7 +323,9 @@ mcl_mobs.register_mob("mobs_mc:sheep", {
|
||||||
return false
|
return false
|
||||||
end
|
end
|
||||||
end,
|
end,
|
||||||
})
|
}
|
||||||
|
--mcsheep
|
||||||
|
mcl_mobs.register_mob("mobs_mc:sheep", sheep)
|
||||||
mcl_mobs:spawn_specific(
|
mcl_mobs:spawn_specific(
|
||||||
"mobs_mc:sheep",
|
"mobs_mc:sheep",
|
||||||
"overworld",
|
"overworld",
|
||||||
|
@ -357,8 +368,8 @@ mcl_mobs:spawn_specific(
|
||||||
"Swampland",
|
"Swampland",
|
||||||
"Swampland_shore"
|
"Swampland_shore"
|
||||||
},
|
},
|
||||||
9,
|
sheep.light_min.overworld,
|
||||||
minetest.LIGHT_MAX+1,
|
sheep.light_max.overworld,
|
||||||
30,
|
30,
|
||||||
15000,
|
15000,
|
||||||
3,
|
3,
|
||||||
|
|
|
@ -29,8 +29,7 @@ local function check_spot(pos)
|
||||||
return false
|
return false
|
||||||
end
|
end
|
||||||
local pr = PseudoRandom(os.time()*(-334))
|
local pr = PseudoRandom(os.time()*(-334))
|
||||||
-- animation 45-80 is transition between passive and attack stance
|
local shulker = {
|
||||||
mcl_mobs.register_mob("mobs_mc:shulker", {
|
|
||||||
description = S("Shulker"),
|
description = S("Shulker"),
|
||||||
type = "monster",
|
type = "monster",
|
||||||
spawn_class = "hostile",
|
spawn_class = "hostile",
|
||||||
|
@ -43,6 +42,16 @@ mcl_mobs.register_mob("mobs_mc:shulker", {
|
||||||
hp_max = 30,
|
hp_max = 30,
|
||||||
xp_min = 5,
|
xp_min = 5,
|
||||||
xp_max = 5,
|
xp_max = 5,
|
||||||
|
light_min = {
|
||||||
|
overworld = 0,
|
||||||
|
nether = 0,
|
||||||
|
the_end = 0
|
||||||
|
},
|
||||||
|
light_max = {
|
||||||
|
overworld = minetest.LIGHT_MAX+1,
|
||||||
|
nether = minetest.LIGHT_MAX+1,
|
||||||
|
the_end = minetest.LIGHT_MAX+1,
|
||||||
|
},
|
||||||
armor = 150,
|
armor = 150,
|
||||||
collisionbox = {-0.5, -0.01, -0.5, 0.5, 0.99, 0.5},
|
collisionbox = {-0.5, -0.01, -0.5, 0.5, 0.99, 0.5},
|
||||||
visual = "mesh",
|
visual = "mesh",
|
||||||
|
@ -149,7 +158,9 @@ mcl_mobs.register_mob("mobs_mc:shulker", {
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
end,
|
end,
|
||||||
})
|
}
|
||||||
|
-- animation 45-80 is transition between passive and attack stance
|
||||||
|
mcl_mobs.register_mob("mobs_mc:shulker", shulker)
|
||||||
|
|
||||||
-- bullet arrow (weapon)
|
-- bullet arrow (weapon)
|
||||||
mcl_mobs.register_arrow("mobs_mc:shulkerbullet", {
|
mcl_mobs.register_arrow("mobs_mc:shulkerbullet", {
|
||||||
|
|
|
@ -15,6 +15,16 @@ mcl_mobs.register_mob("mobs_mc:silverfish", {
|
||||||
hp_max = 8,
|
hp_max = 8,
|
||||||
xp_min = 5,
|
xp_min = 5,
|
||||||
xp_max = 5,
|
xp_max = 5,
|
||||||
|
light_min = {
|
||||||
|
overworld = 0,
|
||||||
|
nether = 0,
|
||||||
|
the_end = 0
|
||||||
|
},
|
||||||
|
light_max = {
|
||||||
|
overworld = 11,
|
||||||
|
nether = 11,
|
||||||
|
the_end = 11,
|
||||||
|
},
|
||||||
armor = {fleshy = 100, arthropod = 100},
|
armor = {fleshy = 100, arthropod = 100},
|
||||||
collisionbox = {-0.4, -0.01, -0.4, 0.4, 0.44, 0.4},
|
collisionbox = {-0.4, -0.01, -0.4, 0.4, 0.44, 0.4},
|
||||||
visual = "mesh",
|
visual = "mesh",
|
||||||
|
|
|
@ -20,6 +20,16 @@ local skeleton = {
|
||||||
hp_max = 20,
|
hp_max = 20,
|
||||||
xp_min = 6,
|
xp_min = 6,
|
||||||
xp_max = 6,
|
xp_max = 6,
|
||||||
|
light_min = {
|
||||||
|
overworld = 0,
|
||||||
|
nether = 0,
|
||||||
|
the_end = 0
|
||||||
|
},
|
||||||
|
light_max = {
|
||||||
|
overworld = 7,
|
||||||
|
nether = minetest.LIGHT_MAX+1,
|
||||||
|
the_end = 7,
|
||||||
|
},
|
||||||
breath_max = -1,
|
breath_max = -1,
|
||||||
armor = {undead = 100, fleshy = 100},
|
armor = {undead = 100, fleshy = 100},
|
||||||
collisionbox = {-0.3, -0.01, -0.3, 0.3, 1.98, 0.3},
|
collisionbox = {-0.3, -0.01, -0.3, 0.3, 1.98, 0.3},
|
||||||
|
@ -309,8 +319,8 @@ mcl_mobs:spawn_specific(
|
||||||
"ExtremeHillsM_underground",
|
"ExtremeHillsM_underground",
|
||||||
"JungleEdgeM_underground",
|
"JungleEdgeM_underground",
|
||||||
},
|
},
|
||||||
0,
|
skeleton.light_min.overworld,
|
||||||
7,
|
skeleton.light_max.overworld,
|
||||||
20,
|
20,
|
||||||
17000,
|
17000,
|
||||||
2,
|
2,
|
||||||
|
@ -326,8 +336,8 @@ mcl_mobs:spawn_specific(
|
||||||
{
|
{
|
||||||
"SoulsandValley",
|
"SoulsandValley",
|
||||||
},
|
},
|
||||||
0,
|
skeleton.light_min.nether,
|
||||||
minetest.LIGHT_MAX+1,
|
skeleton.light_max.nether,
|
||||||
30,
|
30,
|
||||||
10000,
|
10000,
|
||||||
3,
|
3,
|
||||||
|
@ -346,8 +356,8 @@ mcl_mobs:spawn_specific(
|
||||||
"IcePlains",
|
"IcePlains",
|
||||||
"ExtremeHills+_snowtop",
|
"ExtremeHills+_snowtop",
|
||||||
},
|
},
|
||||||
0,
|
stray.light_min.overworld,
|
||||||
7,
|
stray.light_max.overworld,
|
||||||
20,
|
20,
|
||||||
19000,
|
19000,
|
||||||
2,
|
2,
|
||||||
|
|
|
@ -9,7 +9,7 @@ local S = minetest.get_translator("mobs_mc")
|
||||||
--################### WITHER SKELETON
|
--################### WITHER SKELETON
|
||||||
--###################
|
--###################
|
||||||
|
|
||||||
mcl_mobs.register_mob("mobs_mc:witherskeleton", {
|
local witherskeleton = {
|
||||||
description = S("Wither Skeleton"),
|
description = S("Wither Skeleton"),
|
||||||
type = "monster",
|
type = "monster",
|
||||||
spawn_class = "hostile",
|
spawn_class = "hostile",
|
||||||
|
@ -17,6 +17,16 @@ mcl_mobs.register_mob("mobs_mc:witherskeleton", {
|
||||||
hp_max = 20,
|
hp_max = 20,
|
||||||
xp_min = 6,
|
xp_min = 6,
|
||||||
xp_max = 6,
|
xp_max = 6,
|
||||||
|
light_min = {
|
||||||
|
overworld = 0,
|
||||||
|
nether = 0,
|
||||||
|
the_end = 0
|
||||||
|
},
|
||||||
|
light_max = {
|
||||||
|
overworld = 7,
|
||||||
|
nether = 7,
|
||||||
|
the_end = 7,
|
||||||
|
},
|
||||||
breath_max = -1,
|
breath_max = -1,
|
||||||
armor = {undead = 100, fleshy = 100},
|
armor = {undead = 100, fleshy = 100},
|
||||||
pathfinding = 1,
|
pathfinding = 1,
|
||||||
|
@ -96,7 +106,8 @@ mcl_mobs.register_mob("mobs_mc:witherskeleton", {
|
||||||
fear_height = 4,
|
fear_height = 4,
|
||||||
harmed_by_heal = true,
|
harmed_by_heal = true,
|
||||||
fire_resistant = true,
|
fire_resistant = true,
|
||||||
})
|
}
|
||||||
|
mcl_mobs.register_mob("mobs_mc:witherskeleton", witherskeleton)
|
||||||
|
|
||||||
--spawn
|
--spawn
|
||||||
--[[]
|
--[[]
|
||||||
|
|
|
@ -70,6 +70,17 @@ local slime_big = {
|
||||||
hp_max = 16,
|
hp_max = 16,
|
||||||
xp_min = 4,
|
xp_min = 4,
|
||||||
xp_max = 4,
|
xp_max = 4,
|
||||||
|
swamp_light_max = 7,
|
||||||
|
light_min = {
|
||||||
|
overworld = 0,
|
||||||
|
nether = 0,
|
||||||
|
the_end = 0
|
||||||
|
},
|
||||||
|
light_max = {
|
||||||
|
overworld = minetest.LIGHT_MAX+1,
|
||||||
|
nether = minetest.LIGHT_MAX+1,
|
||||||
|
the_end = minetest.LIGHT_MAX+1
|
||||||
|
},
|
||||||
collisionbox = {-1.02, -0.01, -1.02, 1.02, 2.03, 1.02},
|
collisionbox = {-1.02, -0.01, -1.02, 1.02, 2.03, 1.02},
|
||||||
visual_size = {x=12.5, y=12.5},
|
visual_size = {x=12.5, y=12.5},
|
||||||
textures = {{"mobs_mc_slime.png", "mobs_mc_slime.png"}},
|
textures = {{"mobs_mc_slime.png", "mobs_mc_slime.png"}},
|
||||||
|
@ -197,7 +208,7 @@ local cave_min = mcl_vars.mg_overworld_min
|
||||||
local cave_max = water_level - 23
|
local cave_max = water_level - 23
|
||||||
|
|
||||||
local swampy_biomes = {"Swampland", "MangroveSwamp"}
|
local swampy_biomes = {"Swampland", "MangroveSwamp"}
|
||||||
local swamp_light_max = 7
|
|
||||||
local swamp_min = water_level
|
local swamp_min = water_level
|
||||||
local swamp_max = water_level + 27
|
local swamp_max = water_level + 27
|
||||||
|
|
||||||
|
@ -206,8 +217,8 @@ mcl_mobs:spawn_specific(
|
||||||
"overworld",
|
"overworld",
|
||||||
"ground",
|
"ground",
|
||||||
cave_biomes,
|
cave_biomes,
|
||||||
0,
|
slime_tiny.light_min.overworld,
|
||||||
minetest.LIGHT_MAX+1,
|
slime_tiny.light_max.overworld,
|
||||||
30,
|
30,
|
||||||
12000,
|
12000,
|
||||||
4,
|
4,
|
||||||
|
@ -220,7 +231,7 @@ mcl_mobs:spawn_specific(
|
||||||
"ground",
|
"ground",
|
||||||
swampy_biomes,
|
swampy_biomes,
|
||||||
0,
|
0,
|
||||||
swamp_light_max,
|
slime_tiny.swamp_light_max,
|
||||||
30,
|
30,
|
||||||
12000,
|
12000,
|
||||||
4,
|
4,
|
||||||
|
@ -232,8 +243,8 @@ mcl_mobs:spawn_specific(
|
||||||
"overworld",
|
"overworld",
|
||||||
"ground",
|
"ground",
|
||||||
cave_biomes,
|
cave_biomes,
|
||||||
0,
|
slime_small.light_min.overworld,
|
||||||
minetest.LIGHT_MAX+1,
|
slime_small.light_max.overworld,
|
||||||
30,
|
30,
|
||||||
8500,
|
8500,
|
||||||
4,
|
4,
|
||||||
|
@ -246,7 +257,7 @@ mcl_mobs:spawn_specific(
|
||||||
"ground",
|
"ground",
|
||||||
swampy_biomes,
|
swampy_biomes,
|
||||||
0,
|
0,
|
||||||
swamp_light_max,
|
slime_small.swamp_light_max,
|
||||||
30,
|
30,
|
||||||
8500,
|
8500,
|
||||||
4,
|
4,
|
||||||
|
@ -258,8 +269,8 @@ mcl_mobs:spawn_specific(
|
||||||
"overworld",
|
"overworld",
|
||||||
"ground",
|
"ground",
|
||||||
cave_biomes,
|
cave_biomes,
|
||||||
0,
|
slime_big.light_min.overworld,
|
||||||
minetest.LIGHT_MAX+1,
|
slime_big.light_max.overworld,
|
||||||
30,
|
30,
|
||||||
10000,
|
10000,
|
||||||
4,
|
4,
|
||||||
|
@ -272,7 +283,7 @@ mcl_mobs:spawn_specific(
|
||||||
"ground",
|
"ground",
|
||||||
swampy_biomes,
|
swampy_biomes,
|
||||||
0,
|
0,
|
||||||
swamp_light_max,
|
slime_big.swamp_light_max,
|
||||||
30,
|
30,
|
||||||
10000,
|
10000,
|
||||||
4,
|
4,
|
||||||
|
@ -288,6 +299,16 @@ local magma_cube_big = {
|
||||||
hp_max = 16,
|
hp_max = 16,
|
||||||
xp_min = 4,
|
xp_min = 4,
|
||||||
xp_max = 4,
|
xp_max = 4,
|
||||||
|
light_min = {
|
||||||
|
overworld = 0,
|
||||||
|
nether = 0,
|
||||||
|
the_end = 0
|
||||||
|
},
|
||||||
|
light_max = {
|
||||||
|
overworld = minetest.LIGHT_MAX+1,
|
||||||
|
nether = minetest.LIGHT_MAX+1,
|
||||||
|
the_end = minetest.LIGHT_MAX+1
|
||||||
|
},
|
||||||
collisionbox = {-1.02, -0.01, -1.02, 1.02, 2.03, 1.02},
|
collisionbox = {-1.02, -0.01, -1.02, 1.02, 2.03, 1.02},
|
||||||
visual_size = {x=12.5, y=12.5},
|
visual_size = {x=12.5, y=12.5},
|
||||||
textures = {{ "mobs_mc_magmacube.png", "mobs_mc_magmacube.png" }},
|
textures = {{ "mobs_mc_magmacube.png", "mobs_mc_magmacube.png" }},
|
||||||
|
@ -394,8 +415,8 @@ mcl_mobs:spawn_specific(
|
||||||
"nether",
|
"nether",
|
||||||
"ground",
|
"ground",
|
||||||
magma_cube_biomes,
|
magma_cube_biomes,
|
||||||
0,
|
magma_cube_tiny.light_min.nether,
|
||||||
minetest.LIGHT_MAX+1,
|
magma_cube_tiny.light_max.nether,
|
||||||
30,
|
30,
|
||||||
15000,
|
15000,
|
||||||
4,
|
4,
|
||||||
|
@ -407,8 +428,8 @@ mcl_mobs:spawn_specific(
|
||||||
"nether",
|
"nether",
|
||||||
"ground",
|
"ground",
|
||||||
magma_cube_biomes,
|
magma_cube_biomes,
|
||||||
0,
|
magma_cube_small.light_min.nether,
|
||||||
minetest.LIGHT_MAX+1,
|
magma_cube_small.light_max.nether,
|
||||||
30,
|
30,
|
||||||
15500,
|
15500,
|
||||||
4,
|
4,
|
||||||
|
@ -419,8 +440,8 @@ mcl_mobs:spawn_specific(
|
||||||
"mobs_mc:magma_cube_big",
|
"mobs_mc:magma_cube_big",
|
||||||
"nether",
|
"nether",
|
||||||
"ground",
|
"ground",
|
||||||
magma_cube_biomes,
|
magma_cube_big.light_min.nether,
|
||||||
0,
|
magma_cube_big.light_max.nether,
|
||||||
minetest.LIGHT_MAX+1,
|
minetest.LIGHT_MAX+1,
|
||||||
30,
|
30,
|
||||||
16000,
|
16000,
|
||||||
|
|
|
@ -20,7 +20,7 @@ local gotten_texture = {
|
||||||
"blank.png",
|
"blank.png",
|
||||||
}
|
}
|
||||||
|
|
||||||
mcl_mobs.register_mob("mobs_mc:snowman", {
|
local snowman = {
|
||||||
description = S("Snow Golem"),
|
description = S("Snow Golem"),
|
||||||
type = "npc",
|
type = "npc",
|
||||||
spawn_class = "passive",
|
spawn_class = "passive",
|
||||||
|
@ -135,7 +135,9 @@ mcl_mobs.register_mob("mobs_mc:snowman", {
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
end,
|
end,
|
||||||
})
|
}
|
||||||
|
|
||||||
|
mcl_mobs.register_mob("mobs_mc:snowman", snowman)
|
||||||
|
|
||||||
local summon_particles = function(obj)
|
local summon_particles = function(obj)
|
||||||
local lua = obj:get_luaentity()
|
local lua = obj:get_luaentity()
|
||||||
|
|
|
@ -43,6 +43,16 @@ local spider = {
|
||||||
hp_max = 16,
|
hp_max = 16,
|
||||||
xp_min = 5,
|
xp_min = 5,
|
||||||
xp_max = 5,
|
xp_max = 5,
|
||||||
|
light_min = {
|
||||||
|
overworld = 0,
|
||||||
|
nether = 0,
|
||||||
|
the_end = 0
|
||||||
|
},
|
||||||
|
light_max = {
|
||||||
|
overworld = 7,
|
||||||
|
nether = 7,
|
||||||
|
the_end = 7,
|
||||||
|
},
|
||||||
armor = {fleshy = 100, arthropod = 100},
|
armor = {fleshy = 100, arthropod = 100},
|
||||||
on_spawn = function(self)
|
on_spawn = function(self)
|
||||||
self.object:set_properties({visual_size={x=1,y=1}})
|
self.object:set_properties({visual_size={x=1,y=1}})
|
||||||
|
@ -284,8 +294,8 @@ mcl_mobs:spawn_specific(
|
||||||
"ExtremeHillsM_underground",
|
"ExtremeHillsM_underground",
|
||||||
"JungleEdgeM_underground",
|
"JungleEdgeM_underground",
|
||||||
},
|
},
|
||||||
0,
|
spider.light_min.overworld,
|
||||||
7,
|
spider.light_max.overworld,
|
||||||
30,
|
30,
|
||||||
17000,
|
17000,
|
||||||
2,
|
2,
|
||||||
|
|
|
@ -6,7 +6,7 @@
|
||||||
|
|
||||||
local S = minetest.get_translator("mobs_mc")
|
local S = minetest.get_translator("mobs_mc")
|
||||||
|
|
||||||
mcl_mobs.register_mob("mobs_mc:squid", {
|
local squid = {
|
||||||
description = S("Squid"),
|
description = S("Squid"),
|
||||||
type = "animal",
|
type = "animal",
|
||||||
spawn_class = "water",
|
spawn_class = "water",
|
||||||
|
@ -16,6 +16,16 @@ mcl_mobs.register_mob("mobs_mc:squid", {
|
||||||
hp_max = 10,
|
hp_max = 10,
|
||||||
xp_min = 1,
|
xp_min = 1,
|
||||||
xp_max = 3,
|
xp_max = 3,
|
||||||
|
light_min = {
|
||||||
|
overworld = 0,
|
||||||
|
nether = 0,
|
||||||
|
the_end = 0
|
||||||
|
},
|
||||||
|
light_max = {
|
||||||
|
overworld = minetest.LIGHT_MAX+1,
|
||||||
|
nether = minetest.LIGHT_MAX+1,
|
||||||
|
the_end = minetest.LIGHT_MAX+1,
|
||||||
|
},
|
||||||
armor = 100,
|
armor = 100,
|
||||||
-- FIXME: If the squid is near the floor, it turns black
|
-- FIXME: If the squid is near the floor, it turns black
|
||||||
collisionbox = {-0.4, 0.0, -0.4, 0.4, 0.9, 0.4},
|
collisionbox = {-0.4, 0.0, -0.4, 0.4, 0.9, 0.4},
|
||||||
|
@ -55,7 +65,9 @@ mcl_mobs.register_mob("mobs_mc:squid", {
|
||||||
view_range = 16,
|
view_range = 16,
|
||||||
runaway = true,
|
runaway = true,
|
||||||
fear_height = 4,
|
fear_height = 4,
|
||||||
})
|
}
|
||||||
|
|
||||||
|
mcl_mobs.register_mob("mobs_mc:squid", squid)
|
||||||
|
|
||||||
-- TODO: Behaviour: squirt
|
-- TODO: Behaviour: squirt
|
||||||
|
|
||||||
|
@ -208,8 +220,8 @@ mcl_mobs:spawn_specific(
|
||||||
"ExtremeHillsM_underground",
|
"ExtremeHillsM_underground",
|
||||||
"JungleEdgeM_underground",
|
"JungleEdgeM_underground",
|
||||||
},
|
},
|
||||||
0,
|
squid.light_min.overworld,
|
||||||
minetest.LIGHT_MAX+1,
|
squid.light_max.overworld,
|
||||||
30,
|
30,
|
||||||
5500,
|
5500,
|
||||||
3,
|
3,
|
||||||
|
|
|
@ -18,6 +18,16 @@ local strider = {
|
||||||
hp_max = 20,
|
hp_max = 20,
|
||||||
xp_min = 9,
|
xp_min = 9,
|
||||||
xp_max = 9,
|
xp_max = 9,
|
||||||
|
light_min = {
|
||||||
|
overworld = 0,
|
||||||
|
nether = 0,
|
||||||
|
the_end = 0
|
||||||
|
},
|
||||||
|
light_max = {
|
||||||
|
overworld = minetest.LIGHT_MAX+1,
|
||||||
|
nether = minetest.LIGHT_MAX+1,
|
||||||
|
the_end = minetest.LIGHT_MAX+1,
|
||||||
|
},
|
||||||
armor = {fleshy = 90},
|
armor = {fleshy = 90},
|
||||||
attack_type = "dogfight",
|
attack_type = "dogfight",
|
||||||
damage = 2,
|
damage = 2,
|
||||||
|
|
|
@ -66,6 +66,16 @@ local tropical_fish = {
|
||||||
hp_max = 3,
|
hp_max = 3,
|
||||||
xp_min = 1,
|
xp_min = 1,
|
||||||
xp_max = 3,
|
xp_max = 3,
|
||||||
|
light_min = {
|
||||||
|
overworld = 0,
|
||||||
|
nether = 0,
|
||||||
|
the_end = 0
|
||||||
|
},
|
||||||
|
light_max = {
|
||||||
|
overworld = minetest.LIGHT_MAX+1,
|
||||||
|
nether = minetest.LIGHT_MAX+1,
|
||||||
|
the_end = minetest.LIGHT_MAX+1,
|
||||||
|
},
|
||||||
armor = 100,
|
armor = 100,
|
||||||
spawn_in_group = 9,
|
spawn_in_group = 9,
|
||||||
tilt_swim = true,
|
tilt_swim = true,
|
||||||
|
@ -180,8 +190,8 @@ mcl_mobs:spawn_specific(
|
||||||
"JungleM_underground",
|
"JungleM_underground",
|
||||||
"JungleEdgeM_underground",
|
"JungleEdgeM_underground",
|
||||||
},
|
},
|
||||||
0,
|
tropical_fish.light_min.overworld,
|
||||||
minetest.LIGHT_MAX+1,
|
tropical_fish.light_max.overworld,
|
||||||
30,
|
30,
|
||||||
4000,
|
4000,
|
||||||
3,
|
3,
|
||||||
|
|
|
@ -8,8 +8,7 @@ local S = minetest.get_translator("mobs_mc")
|
||||||
--###################
|
--###################
|
||||||
--################### VEX
|
--################### VEX
|
||||||
--###################
|
--###################
|
||||||
|
local vex = {
|
||||||
mcl_mobs.register_mob("mobs_mc:vex", {
|
|
||||||
description = S("Vex"),
|
description = S("Vex"),
|
||||||
type = "monster",
|
type = "monster",
|
||||||
spawn_class = "hostile",
|
spawn_class = "hostile",
|
||||||
|
@ -90,7 +89,8 @@ mcl_mobs.register_mob("mobs_mc:vex", {
|
||||||
end,
|
end,
|
||||||
fly = true,
|
fly = true,
|
||||||
makes_footstep_sound = false,
|
makes_footstep_sound = false,
|
||||||
})
|
}
|
||||||
|
mcl_mobs.register_mob("mobs_mc:vex", vex)
|
||||||
|
|
||||||
|
|
||||||
-- spawn eggs
|
-- spawn eggs
|
||||||
|
|
|
@ -1931,13 +1931,23 @@ end)
|
||||||
|
|
||||||
--[=======[ MOB REGISTRATION AND SPAWNING ]=======]
|
--[=======[ MOB REGISTRATION AND SPAWNING ]=======]
|
||||||
|
|
||||||
mcl_mobs.register_mob("mobs_mc:villager", {
|
local villager = {
|
||||||
description = S("Villager"),
|
description = S("Villager"),
|
||||||
type = "npc",
|
type = "npc",
|
||||||
spawn_class = "passive",
|
spawn_class = "passive",
|
||||||
passive = true,
|
passive = true,
|
||||||
hp_min = 20,
|
hp_min = 20,
|
||||||
hp_max = 20,
|
hp_max = 20,
|
||||||
|
light_min = {
|
||||||
|
overworld = 0,
|
||||||
|
nether = 0,
|
||||||
|
the_end = 0
|
||||||
|
},
|
||||||
|
light_max = {
|
||||||
|
overworld = minetest.LIGHT_MAX+1,
|
||||||
|
nether = minetest.LIGHT_MAX+1,
|
||||||
|
the_end = minetest.LIGHT_MAX+1,
|
||||||
|
},
|
||||||
head_swivel = "head.control",
|
head_swivel = "head.control",
|
||||||
bone_eye_height = 6.3,
|
bone_eye_height = 6.3,
|
||||||
head_eye_height = 2.2,
|
head_eye_height = 2.2,
|
||||||
|
@ -2155,7 +2165,9 @@ mcl_mobs.register_mob("mobs_mc:villager", {
|
||||||
mcl_util.replace_mob(self.object, "mobs_mc:witch")
|
mcl_util.replace_mob(self.object, "mobs_mc:witch")
|
||||||
return true
|
return true
|
||||||
end,
|
end,
|
||||||
})
|
}
|
||||||
|
|
||||||
|
mcl_mobs.register_mob("mobs_mc:villager", villager)
|
||||||
|
|
||||||
|
|
||||||
--[[
|
--[[
|
||||||
|
|
|
@ -13,7 +13,7 @@ local pr = PseudoRandom(os.time()*666)
|
||||||
|
|
||||||
local spawned_vexes = {} --this is stored locally so the mobs engine doesn't try to store it in staticdata
|
local spawned_vexes = {} --this is stored locally so the mobs engine doesn't try to store it in staticdata
|
||||||
|
|
||||||
mcl_mobs.register_mob("mobs_mc:evoker", {
|
local evoker = {
|
||||||
description = S("Evoker"),
|
description = S("Evoker"),
|
||||||
type = "monster",
|
type = "monster",
|
||||||
spawn_class = "hostile",
|
spawn_class = "hostile",
|
||||||
|
@ -24,6 +24,16 @@ mcl_mobs.register_mob("mobs_mc:evoker", {
|
||||||
hp_max = 24,
|
hp_max = 24,
|
||||||
xp_min = 10,
|
xp_min = 10,
|
||||||
xp_max = 10,
|
xp_max = 10,
|
||||||
|
light_min = {
|
||||||
|
overworld = 0,
|
||||||
|
nether = 0,
|
||||||
|
the_end = 0
|
||||||
|
},
|
||||||
|
light_max = {
|
||||||
|
overworld = 7,
|
||||||
|
nether = 7,
|
||||||
|
the_end = 7,
|
||||||
|
},
|
||||||
head_swivel = "head.control",
|
head_swivel = "head.control",
|
||||||
bone_eye_height = 6.3,
|
bone_eye_height = 6.3,
|
||||||
head_eye_height = 2.2,
|
head_eye_height = 2.2,
|
||||||
|
@ -86,7 +96,8 @@ mcl_mobs.register_mob("mobs_mc:evoker", {
|
||||||
},
|
},
|
||||||
view_range = 16,
|
view_range = 16,
|
||||||
fear_height = 4,
|
fear_height = 4,
|
||||||
})
|
}
|
||||||
|
mcl_mobs.register_mob("mobs_mc:evoker", evoker)
|
||||||
|
|
||||||
-- spawn eggs
|
-- spawn eggs
|
||||||
mcl_mobs.register_egg("mobs_mc:evoker", S("Evoker"), "#959b9b", "#1e1c1a", 0)
|
mcl_mobs.register_egg("mobs_mc:evoker", S("Evoker"), "#959b9b", "#1e1c1a", 0)
|
||||||
|
|
|
@ -6,7 +6,7 @@
|
||||||
local S = minetest.get_translator("mobs_mc")
|
local S = minetest.get_translator("mobs_mc")
|
||||||
local mod_bows = minetest.get_modpath("mcl_bows") ~= nil
|
local mod_bows = minetest.get_modpath("mcl_bows") ~= nil
|
||||||
|
|
||||||
mcl_mobs.register_mob("mobs_mc:illusioner", {
|
local illusioner = {
|
||||||
description = S("Illusioner"),
|
description = S("Illusioner"),
|
||||||
type = "monster",
|
type = "monster",
|
||||||
spawn_class = "hostile",
|
spawn_class = "hostile",
|
||||||
|
@ -25,6 +25,16 @@ mcl_mobs.register_mob("mobs_mc:illusioner", {
|
||||||
hp_max = 32,
|
hp_max = 32,
|
||||||
xp_min = 6,
|
xp_min = 6,
|
||||||
xp_max = 6,
|
xp_max = 6,
|
||||||
|
light_min = {
|
||||||
|
overworld = 0,
|
||||||
|
nether = 0,
|
||||||
|
the_end = 0
|
||||||
|
},
|
||||||
|
light_max = {
|
||||||
|
overworld = 7,
|
||||||
|
nether = 7,
|
||||||
|
the_end = 7,
|
||||||
|
},
|
||||||
collisionbox = {-0.3, -0.01, -0.3, 0.3, 1.94, 0.3},
|
collisionbox = {-0.3, -0.01, -0.3, 0.3, 1.94, 0.3},
|
||||||
visual = "mesh",
|
visual = "mesh",
|
||||||
mesh = "mobs_mc_illusioner.b3d",
|
mesh = "mobs_mc_illusioner.b3d",
|
||||||
|
@ -63,6 +73,7 @@ mcl_mobs.register_mob("mobs_mc:illusioner", {
|
||||||
},
|
},
|
||||||
view_range = 16,
|
view_range = 16,
|
||||||
fear_height = 4,
|
fear_height = 4,
|
||||||
})
|
}
|
||||||
|
mcl_mobs.register_mob("mobs_mc:illusioner", illusioner)
|
||||||
|
|
||||||
mcl_mobs.register_egg("mobs_mc:illusioner", S("Illusioner"), "#3f5cbb", "#8a8686", 0)
|
mcl_mobs.register_egg("mobs_mc:illusioner", S("Illusioner"), "#3f5cbb", "#8a8686", 0)
|
||||||
|
|
|
@ -9,8 +9,7 @@ local S = minetest.get_translator("mobs_mc")
|
||||||
--################### VINDICATOR
|
--################### VINDICATOR
|
||||||
--###################
|
--###################
|
||||||
|
|
||||||
|
local vindicator = {
|
||||||
mcl_mobs.register_mob("mobs_mc:vindicator", {
|
|
||||||
description = S("Vindicator"),
|
description = S("Vindicator"),
|
||||||
type = "monster",
|
type = "monster",
|
||||||
spawn_class = "hostile",
|
spawn_class = "hostile",
|
||||||
|
@ -20,6 +19,16 @@ mcl_mobs.register_mob("mobs_mc:vindicator", {
|
||||||
hp_max = 24,
|
hp_max = 24,
|
||||||
xp_min = 6,
|
xp_min = 6,
|
||||||
xp_max = 6,
|
xp_max = 6,
|
||||||
|
light_min = {
|
||||||
|
overworld = 0,
|
||||||
|
nether = 0,
|
||||||
|
the_end = 0
|
||||||
|
},
|
||||||
|
light_max = {
|
||||||
|
overworld = 7,
|
||||||
|
nether = 7,
|
||||||
|
the_end = 7,
|
||||||
|
},
|
||||||
collisionbox = {-0.3, -0.01, -0.3, 0.3, 1.94, 0.3},
|
collisionbox = {-0.3, -0.01, -0.3, 0.3, 1.94, 0.3},
|
||||||
visual = "mesh",
|
visual = "mesh",
|
||||||
mesh = "mobs_mc_vindicator.b3d",
|
mesh = "mobs_mc_vindicator.b3d",
|
||||||
|
@ -74,7 +83,9 @@ mcl_mobs.register_mob("mobs_mc:vindicator", {
|
||||||
},
|
},
|
||||||
view_range = 16,
|
view_range = 16,
|
||||||
fear_height = 4,
|
fear_height = 4,
|
||||||
})
|
}
|
||||||
|
|
||||||
|
mcl_mobs.register_mob("mobs_mc:vindicator", vindicator)
|
||||||
|
|
||||||
-- spawn eggs
|
-- spawn eggs
|
||||||
mcl_mobs.register_egg("mobs_mc:vindicator", S("Vindicator"), "#959b9b", "#275e61", 0)
|
mcl_mobs.register_egg("mobs_mc:vindicator", S("Vindicator"), "#959b9b", "#275e61", 0)
|
||||||
|
|
|
@ -25,7 +25,7 @@ local professions = {
|
||||||
nitwit = "mobs_mc_villager.png",
|
nitwit = "mobs_mc_villager.png",
|
||||||
}
|
}
|
||||||
|
|
||||||
mcl_mobs.register_mob("mobs_mc:villager_zombie", {
|
local villager_zombie = {
|
||||||
description = S("Zombie Villager"),
|
description = S("Zombie Villager"),
|
||||||
type = "monster",
|
type = "monster",
|
||||||
spawn_class = "hostile",
|
spawn_class = "hostile",
|
||||||
|
@ -34,6 +34,16 @@ mcl_mobs.register_mob("mobs_mc:villager_zombie", {
|
||||||
hp_max = 20,
|
hp_max = 20,
|
||||||
xp_min = 5,
|
xp_min = 5,
|
||||||
xp_max = 5,
|
xp_max = 5,
|
||||||
|
light_min = {
|
||||||
|
overworld = 0,
|
||||||
|
nether = 0,
|
||||||
|
the_end = 0
|
||||||
|
},
|
||||||
|
light_max = {
|
||||||
|
overworld = 7,
|
||||||
|
nether = 7,
|
||||||
|
the_end = 7,
|
||||||
|
},
|
||||||
breath_max = -1,
|
breath_max = -1,
|
||||||
armor = {undead = 90, fleshy = 90},
|
armor = {undead = 90, fleshy = 90},
|
||||||
collisionbox = {-0.3, -0.01, -0.3, 0.3, 1.94, 0.3},
|
collisionbox = {-0.3, -0.01, -0.3, 0.3, 1.94, 0.3},
|
||||||
|
@ -138,7 +148,8 @@ mcl_mobs.register_mob("mobs_mc:villager_zombie", {
|
||||||
fear_height = 4,
|
fear_height = 4,
|
||||||
harmed_by_heal = true,
|
harmed_by_heal = true,
|
||||||
attack_npcs = true,
|
attack_npcs = true,
|
||||||
})
|
}
|
||||||
|
mcl_mobs.register_mob("mobs_mc:villager_zombie", villager_zombie)
|
||||||
|
|
||||||
mcl_mobs:spawn_specific(
|
mcl_mobs:spawn_specific(
|
||||||
"mobs_mc:villager_zombie",
|
"mobs_mc:villager_zombie",
|
||||||
|
@ -222,8 +233,8 @@ mcl_mobs:spawn_specific(
|
||||||
"MesaBryce_sandlevel",
|
"MesaBryce_sandlevel",
|
||||||
"Mesa_sandlevel",
|
"Mesa_sandlevel",
|
||||||
},
|
},
|
||||||
0,
|
villager_zombie.light_min.overworld,
|
||||||
7,
|
villager_zombie.light_max.overworld,
|
||||||
30,
|
30,
|
||||||
4090,
|
4090,
|
||||||
4,
|
4,
|
||||||
|
|
|
@ -21,6 +21,16 @@ mcl_mobs.register_mob("mobs_mc:witch", {
|
||||||
hp_max = 26,
|
hp_max = 26,
|
||||||
xp_min = 5,
|
xp_min = 5,
|
||||||
xp_max = 5,
|
xp_max = 5,
|
||||||
|
light_min = {
|
||||||
|
overworld = 0,
|
||||||
|
nether = 0,
|
||||||
|
the_end = 0
|
||||||
|
},
|
||||||
|
light_max = {
|
||||||
|
overworld = 7,
|
||||||
|
nether = 7,
|
||||||
|
the_end = 7,
|
||||||
|
},
|
||||||
collisionbox = {-0.3, -0.01, -0.3, 0.3, 1.94, 0.3},
|
collisionbox = {-0.3, -0.01, -0.3, 0.3, 1.94, 0.3},
|
||||||
visual = "mesh",
|
visual = "mesh",
|
||||||
mesh = "mobs_mc_witch.b3d",
|
mesh = "mobs_mc_witch.b3d",
|
||||||
|
|
|
@ -17,6 +17,16 @@ mcl_mobs.register_mob("mobs_mc:wither", {
|
||||||
hp_min = 300,
|
hp_min = 300,
|
||||||
xp_min = 50,
|
xp_min = 50,
|
||||||
xp_max = 50,
|
xp_max = 50,
|
||||||
|
light_min = {
|
||||||
|
overworld = 0,
|
||||||
|
nether = 0,
|
||||||
|
the_end = 0
|
||||||
|
},
|
||||||
|
light_max = {
|
||||||
|
overworld = 7,
|
||||||
|
nether = 7,
|
||||||
|
the_end = 7
|
||||||
|
},
|
||||||
armor = {undead = 80, fleshy = 100},
|
armor = {undead = 80, fleshy = 100},
|
||||||
-- This deviates from MC Wiki's size, which makes no sense
|
-- This deviates from MC Wiki's size, which makes no sense
|
||||||
collisionbox = {-0.9, 0.4, -0.9, 0.9, 2.45, 0.9},
|
collisionbox = {-0.9, 0.4, -0.9, 0.9, 2.45, 0.9},
|
||||||
|
|
|
@ -16,6 +16,16 @@ local wolf = {
|
||||||
hp_max = 8,
|
hp_max = 8,
|
||||||
xp_min = 1,
|
xp_min = 1,
|
||||||
xp_max = 3,
|
xp_max = 3,
|
||||||
|
light_min = {
|
||||||
|
overworld = 0,
|
||||||
|
nether = 0,
|
||||||
|
the_end = 0
|
||||||
|
},
|
||||||
|
light_max = {
|
||||||
|
overworld = minetest.LIGHT_MAX+1,
|
||||||
|
nether = minetest.LIGHT_MAX+1,
|
||||||
|
the_end = minetest.LIGHT_MAX+1,
|
||||||
|
},
|
||||||
passive = false,
|
passive = false,
|
||||||
group_attack = true,
|
group_attack = true,
|
||||||
spawn_in_group = 8,
|
spawn_in_group = 8,
|
||||||
|
@ -226,8 +236,8 @@ mcl_mobs:spawn_specific(
|
||||||
minetest.LIGHT_MAX+1,
|
minetest.LIGHT_MAX+1,
|
||||||
30,
|
30,
|
||||||
9000,
|
9000,
|
||||||
7,
|
wolf.light_min.overworld,
|
||||||
mobs_mc.water_level+3,
|
wolf.light_max.overworld,
|
||||||
mcl_vars.mg_overworld_max)
|
mcl_vars.mg_overworld_max)
|
||||||
|
|
||||||
mcl_mobs.register_egg("mobs_mc:wolf", S("Wolf"), "#d7d3d3", "#ceaf96", 0)
|
mcl_mobs.register_egg("mobs_mc:wolf", S("Wolf"), "#d7d3d3", "#ceaf96", 0)
|
||||||
|
|
|
@ -53,6 +53,16 @@ local zombie = {
|
||||||
hp_max = 20,
|
hp_max = 20,
|
||||||
xp_min = 5,
|
xp_min = 5,
|
||||||
xp_max = 5,
|
xp_max = 5,
|
||||||
|
light_min = {
|
||||||
|
overworld = 0,
|
||||||
|
nether = 0,
|
||||||
|
the_end = 0
|
||||||
|
},
|
||||||
|
light_max = {
|
||||||
|
overworld = 7,
|
||||||
|
nether = 7,
|
||||||
|
the_end = 7
|
||||||
|
},
|
||||||
head_swivel = "head.control",
|
head_swivel = "head.control",
|
||||||
bone_eye_height = 6.3,
|
bone_eye_height = 6.3,
|
||||||
head_eye_height = 2.2,
|
head_eye_height = 2.2,
|
||||||
|
@ -240,8 +250,8 @@ mcl_mobs:spawn_specific(
|
||||||
"MesaBryce_sandlevel",
|
"MesaBryce_sandlevel",
|
||||||
"Mesa_sandlevel",
|
"Mesa_sandlevel",
|
||||||
},
|
},
|
||||||
0,
|
zombie.light_min.overworld,
|
||||||
7,
|
zombie.light_max.overworld,
|
||||||
30,
|
30,
|
||||||
6000,
|
6000,
|
||||||
4,
|
4,
|
||||||
|
@ -329,8 +339,8 @@ mcl_mobs:spawn_specific(
|
||||||
"MesaBryce_sandlevel",
|
"MesaBryce_sandlevel",
|
||||||
"Mesa_sandlevel",
|
"Mesa_sandlevel",
|
||||||
},
|
},
|
||||||
0,
|
baby_zombie.light_min.overworld,
|
||||||
7,
|
baby_zombie.light_max.overworld,
|
||||||
30,
|
30,
|
||||||
60000,
|
60000,
|
||||||
4,
|
4,
|
||||||
|
@ -345,8 +355,8 @@ mcl_mobs:spawn_specific(
|
||||||
{
|
{
|
||||||
"Desert",
|
"Desert",
|
||||||
},
|
},
|
||||||
0,
|
husk.light_min.overworld,
|
||||||
7,
|
husk.light_max.overworld,
|
||||||
30,
|
30,
|
||||||
6500,
|
6500,
|
||||||
4,
|
4,
|
||||||
|
@ -359,8 +369,8 @@ mcl_mobs:spawn_specific(
|
||||||
{
|
{
|
||||||
"Desert",
|
"Desert",
|
||||||
},
|
},
|
||||||
0,
|
baby_husk.light_min.overworld,
|
||||||
7,
|
baby_husk.light_max.overworld,
|
||||||
30,
|
30,
|
||||||
65000,
|
65000,
|
||||||
4,
|
4,
|
||||||
|
|
|
@ -20,6 +20,16 @@ local pigman = {
|
||||||
hp_max = 20,
|
hp_max = 20,
|
||||||
xp_min = 6,
|
xp_min = 6,
|
||||||
xp_max = 6,
|
xp_max = 6,
|
||||||
|
light_min = {
|
||||||
|
overworld = 0,
|
||||||
|
nether = 0,
|
||||||
|
the_end = 0
|
||||||
|
},
|
||||||
|
light_max = {
|
||||||
|
overworld = 7,
|
||||||
|
nether = minetest.LIGHT_MAX+1,
|
||||||
|
the_end = 7
|
||||||
|
},
|
||||||
armor = {undead = 90, fleshy = 90},
|
armor = {undead = 90, fleshy = 90},
|
||||||
attack_type = "dogfight",
|
attack_type = "dogfight",
|
||||||
group_attack = { "mobs_mc:pigman", "mobs_mc:baby_pigman" },
|
group_attack = { "mobs_mc:pigman", "mobs_mc:baby_pigman" },
|
||||||
|
|
|
@ -317,7 +317,11 @@ minetest.register_node("mcl_mobspawners:spawner", {
|
||||||
if obj then
|
if obj then
|
||||||
obj:remove()
|
obj:remove()
|
||||||
end
|
end
|
||||||
|
--Make sure the player is not in creative mode before
|
||||||
|
--giving them xp
|
||||||
|
if not minetest.is_creative_enabled(name) then
|
||||||
mcl_experience.throw_xp(pos, math.random(15, 43))
|
mcl_experience.throw_xp(pos, math.random(15, 43))
|
||||||
|
end
|
||||||
end,
|
end,
|
||||||
|
|
||||||
on_punch = function(pos)
|
on_punch = function(pos)
|
||||||
|
|
Loading…
Reference in New Issue