Update mobs_mc
|
@ -11,9 +11,10 @@ local cow_def = {
|
|||
collisionbox = {-0.45, -0.01, -0.45, 0.45, 1.39, 0.45},
|
||||
visual = "mesh",
|
||||
mesh = "mobs_mc_cow.b3d",
|
||||
textures = {
|
||||
{"mobs_mc_cow.png"},
|
||||
},
|
||||
textures = { {
|
||||
"mobs_mc_cow.png",
|
||||
"blank.png",
|
||||
}, },
|
||||
visual_size = {x=2.8, y=2.8},
|
||||
makes_footstep_sound = true,
|
||||
walk_velocity = 1,
|
||||
|
@ -79,7 +80,7 @@ mobs:register_mob("mobs_mc:cow", cow_def)
|
|||
local mooshroom_def = table.copy(cow_def)
|
||||
|
||||
mooshroom_def.mesh = "mobs_mc_cow.b3d"
|
||||
mooshroom_def.textures = { {"mobs_mc_mooshroom.png^mobs_mc_mooshroom_mooshroom.png"}, }
|
||||
mooshroom_def.textures = { {"mobs_mc_mooshroom.png", "mobs_mc_mushroom_red.png"}, }
|
||||
mooshroom_def.on_rightclick = function(self, clicker)
|
||||
if mobs:feed_tame(self, clicker, 1, true, true) then return end
|
||||
if mobs:protect(self, clicker) then return end
|
||||
|
|
|
@ -15,8 +15,12 @@ local S, NS = dofile(MP.."/intllib.lua")
|
|||
--###################
|
||||
|
||||
local pr = PseudoRandom(os.time()*(-334))
|
||||
local take_frequency = 10
|
||||
local place_frequency = 10
|
||||
|
||||
-- How freqeuntly to take and place blocks, in seconds
|
||||
local take_frequency_min = 25
|
||||
local take_frequency_max = 90
|
||||
local place_frequency_min = 10
|
||||
local place_frequency_max = 30
|
||||
|
||||
-- Create the textures table for the enderman, depending on which kind of block
|
||||
-- the enderman holds (if any).
|
||||
|
@ -191,14 +195,16 @@ mobs:register_mob("mobs_mc:enderman", {
|
|||
_taken_node = "",
|
||||
do_custom = function(self, dtime)
|
||||
-- Take and put nodes
|
||||
if not self._take_place_timer then
|
||||
if not self._take_place_timer or not self._next_take_place_time then
|
||||
self._take_place_timer = 0
|
||||
self._next_take_place_time = math.random(take_frequency_min, take_frequency_max)
|
||||
return
|
||||
end
|
||||
self._take_place_timer = self._take_place_timer + dtime
|
||||
if (self._taken_node == nil or self._taken_node == "") and self._take_place_timer >= take_frequency then
|
||||
if (self._taken_node == nil or self._taken_node == "") and self._take_place_timer >= self._next_take_place_time then
|
||||
-- Take random node
|
||||
self._take_place_timer = 0
|
||||
self._next_take_place_time = math.random(place_frequency_min, place_frequency_max)
|
||||
local pos = self.object:getpos()
|
||||
local takable_nodes = minetest.find_nodes_in_area({x=pos.x-2, y=pos.y-1, z=pos.z-2}, {x=pos.x+2, y=pos.y+1, z=pos.z+2}, mobs_mc.enderman_takable)
|
||||
if #takable_nodes >= 1 then
|
||||
|
@ -242,9 +248,10 @@ mobs:register_mob("mobs_mc:enderman", {
|
|||
end
|
||||
end
|
||||
end
|
||||
elseif self._taken_node ~= nil and self._taken_node ~= "" and self._take_place_timer >= place_frequency then
|
||||
elseif self._taken_node ~= nil and self._taken_node ~= "" and self._take_place_timer >= self._next_take_place_time then
|
||||
-- Place taken node
|
||||
self._take_place_timer = 0
|
||||
self._next_take_place_time = math.random(take_frequency_min, take_frequency_max)
|
||||
local pos = self.object:getpos()
|
||||
local yaw = self.object:get_yaw()
|
||||
-- Place node at looking direction
|
||||
|
|
|
@ -23,7 +23,16 @@ mobs:register_mob("mobs_mc:llama", {
|
|||
collisionbox = {-0.45, -0.01, -0.45, 0.45, 1.86, 0.45},
|
||||
visual = "mesh",
|
||||
mesh = "mobs_mc_llama.b3d",
|
||||
textures = {{"mobs_mc_llama.png"},{"mobs_mc_llama_brown.png"},{"mobs_mc_llama_creamy.png"},{"mobs_mc_llama_white.png"},{"mobs_mc_llama_gray.png"}},
|
||||
textures = { -- 1: chest -- 2: decor -- 3: llama base texture
|
||||
{"blank.png", "blank.png", "mobs_mc_llama_brown.png"},
|
||||
{"blank.png", "blank.png", "mobs_mc_llama_creamy.png"},
|
||||
{"blank.png", "blank.png", "mobs_mc_llama_gray.png"},
|
||||
{"blank.png", "blank.png", "mobs_mc_llama_white.png"},
|
||||
{"blank.png", "blank.png", "mobs_mc_llama.png"},
|
||||
--{"mobs_mc_llama.png", "blank.png", "mobs_mc_llama.png"}, --lama with chest
|
||||
--{"blank.png", "mobs_mc_decor_green.png", "mobs_mc_llama.png"}, --lama with decor
|
||||
--{"mobs_mc_llama.png", "mobs_mc_decor_green.png", "mobs_mc_llama.png"}, --lama with everything
|
||||
},
|
||||
visual_size = {x=3, y=3},
|
||||
makes_footstep_sound = true,
|
||||
runaway = true,
|
||||
|
|
|
@ -83,7 +83,7 @@ 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", mobs_mc.spawn.end_city, {"air"}, 0, minetest.LIGHT_MAX+1, 30, 15000, 2, mobs_mc.spawn_height.end_min, mobs_mc.spawn_height.end_max)
|
||||
mobs:spawn_specific("mobs_mc:shulker", mobs_mc.spawn.end_city, {"air"}, 0, minetest.LIGHT_MAX+1, 30, 5000, 2, mobs_mc.spawn_height.end_min, mobs_mc.spawn_height.end_max)
|
||||
|
||||
if minetest.settings:get_bool("log_mods") then
|
||||
minetest.log("action", "MC Shulkers loaded")
|
||||
|
|
|
@ -54,10 +54,15 @@ local spider = {
|
|||
light_damage = 0,
|
||||
fear_height = 4,
|
||||
animation = {
|
||||
speed_normal = 25, speed_run = 50,
|
||||
stand_start = 40, stand_end = 80,
|
||||
walk_start = 0, walk_end = 40,
|
||||
run_start = 0, run_end = 40,
|
||||
stand_speed = 10,
|
||||
walk_speed = 25,
|
||||
run_speed = 50,
|
||||
stand_start = 20,
|
||||
stand_end = 40,
|
||||
walk_start = 0,
|
||||
walk_end = 20,
|
||||
run_start = 0,
|
||||
run_end = 20,
|
||||
},
|
||||
blood_amount = 0,
|
||||
}
|
||||
|
|
Before Width: | Height: | Size: 404 B After Width: | Height: | Size: 476 B |
Before Width: | Height: | Size: 865 B |
Before Width: | Height: | Size: 1.4 KiB After Width: | Height: | Size: 3.0 KiB |
Before Width: | Height: | Size: 396 B |
After Width: | Height: | Size: 360 B |
Before Width: | Height: | Size: 1.2 KiB After Width: | Height: | Size: 1.2 KiB |
Before Width: | Height: | Size: 4.1 KiB After Width: | Height: | Size: 5.3 KiB |
Before Width: | Height: | Size: 2.4 KiB After Width: | Height: | Size: 4.3 KiB |
Before Width: | Height: | Size: 263 B |
Before Width: | Height: | Size: 6.6 KiB After Width: | Height: | Size: 9.1 KiB |
Before Width: | Height: | Size: 11 KiB After Width: | Height: | Size: 14 KiB |
Before Width: | Height: | Size: 10 KiB After Width: | Height: | Size: 12 KiB |
Before Width: | Height: | Size: 775 B |
After Width: | Height: | Size: 433 B |
Before Width: | Height: | Size: 277 B After Width: | Height: | Size: 648 B |
Before Width: | Height: | Size: 306 B After Width: | Height: | Size: 439 B |
Before Width: | Height: | Size: 275 B After Width: | Height: | Size: 529 B |
Before Width: | Height: | Size: 321 B After Width: | Height: | Size: 759 B |
Before Width: | Height: | Size: 389 B After Width: | Height: | Size: 750 B |
Before Width: | Height: | Size: 638 B After Width: | Height: | Size: 1.0 KiB |
Before Width: | Height: | Size: 1.2 KiB After Width: | Height: | Size: 1.2 KiB |
Before Width: | Height: | Size: 490 B After Width: | Height: | Size: 866 B |
Before Width: | Height: | Size: 429 B After Width: | Height: | Size: 706 B |
Before Width: | Height: | Size: 489 B After Width: | Height: | Size: 444 B |
Before Width: | Height: | Size: 312 B After Width: | Height: | Size: 855 B |
Before Width: | Height: | Size: 716 B After Width: | Height: | Size: 1.5 KiB |
Before Width: | Height: | Size: 369 B After Width: | Height: | Size: 1.2 KiB |
Before Width: | Height: | Size: 358 B After Width: | Height: | Size: 692 B |
Before Width: | Height: | Size: 442 B After Width: | Height: | Size: 775 B |
Before Width: | Height: | Size: 409 B After Width: | Height: | Size: 629 B |
Before Width: | Height: | Size: 430 B After Width: | Height: | Size: 676 B |
Before Width: | Height: | Size: 433 B After Width: | Height: | Size: 751 B |
Before Width: | Height: | Size: 1.0 KiB |
Before Width: | Height: | Size: 950 B After Width: | Height: | Size: 2.4 KiB |
Before Width: | Height: | Size: 954 B After Width: | Height: | Size: 2.2 KiB |
|
@ -22,12 +22,30 @@ mobs:register_mob("mobs_mc:villager", {
|
|||
visual = "mesh",
|
||||
mesh = "mobs_mc_villager.b3d",
|
||||
textures = {
|
||||
{"mobs_mc_villager.png"},
|
||||
{"mobs_mc_villager_farmer.png"},
|
||||
{"mobs_mc_villager_priest.png"},
|
||||
{"mobs_mc_villager_librarian.png"},
|
||||
{"mobs_mc_villager_butcher.png"},
|
||||
{"mobs_mc_villager_smith.png"},
|
||||
{
|
||||
"mobs_mc_villager.png",
|
||||
"mobs_mc_villager.png", --hat
|
||||
},
|
||||
{
|
||||
"mobs_mc_villager_farmer.png",
|
||||
"mobs_mc_villager_farmer.png", --hat
|
||||
},
|
||||
{
|
||||
"mobs_mc_villager_priest.png",
|
||||
"mobs_mc_villager_priest.png", --hat
|
||||
},
|
||||
{
|
||||
"mobs_mc_villager_librarian.png",
|
||||
"mobs_mc_villager_librarian.png", --hat
|
||||
},
|
||||
{
|
||||
"mobs_mc_villager_butcher.png",
|
||||
"mobs_mc_villager_butcher.png", --hat
|
||||
},
|
||||
{
|
||||
"mobs_mc_villager_smith.png",
|
||||
"mobs_mc_villager_smith.png", --hat
|
||||
},
|
||||
},
|
||||
visual_size = {x=3, y=3},
|
||||
makes_footstep_sound = true,
|
||||
|
@ -42,7 +60,7 @@ mobs:register_mob("mobs_mc:villager", {
|
|||
},
|
||||
animation = {
|
||||
stand_speed = 25, walk_speed = 25, run_speed = 50,
|
||||
stand_start = 0, stand_end = 0,
|
||||
stand_start = 40, stand_end = 59,
|
||||
walk_start = 0, walk_end = 40,
|
||||
run_start = 0, run_end = 40,
|
||||
},
|
||||
|
|
|
@ -22,11 +22,12 @@ mobs:register_mob("mobs_mc:evoker", {
|
|||
hp_max = 24,
|
||||
collisionbox = {-0.4, -0.01, -0.4, 0.4, 1.95, 0.4},
|
||||
visual = "mesh",
|
||||
mesh = "mobs_mc_evoker.b3d",
|
||||
textures = {
|
||||
{"mobs_mc_evoker_base.png"},
|
||||
mesh = "mobs_mc_villager.b3d",
|
||||
textures = { {
|
||||
"mobs_mc_evoker_base.png",
|
||||
"blank.png", --no hat
|
||||
-- TODO: Attack glow
|
||||
},
|
||||
} },
|
||||
visual_size = {x=3, y=3},
|
||||
makes_footstep_sound = true,
|
||||
damage = 6,
|
||||
|
@ -75,11 +76,12 @@ mobs:register_mob("mobs_mc:evoker", {
|
|||
stand_speed = 5,
|
||||
walk_start = 0,
|
||||
walk_end = 40,
|
||||
shoot_start = 60,
|
||||
shoot_end = 80,
|
||||
shoot_start = 120,
|
||||
shoot_end = 140,
|
||||
-- TODO: Implement and fix death animation
|
||||
--die_start = 80,
|
||||
--die_end = 130,
|
||||
--die_start = 190,
|
||||
--die_end = 200,
|
||||
--die_speed = 15,
|
||||
--die_loop = false,
|
||||
},
|
||||
water_damage = 0,
|
||||
|
|
|
@ -18,9 +18,11 @@ mobs:register_mob("mobs_mc:illusioner", {
|
|||
collisionbox = {-0.3, -0.01, -0.3, 0.3, 1.94, 0.3},
|
||||
visual = "mesh",
|
||||
mesh = "mobs_mc_illusioner.b3d",
|
||||
textures = {
|
||||
{"mobs_mc_illusionist.png^mobs_mc_illusionist_bow.png"},
|
||||
},
|
||||
textures = { {
|
||||
"mobs_mc_illusionist.png",
|
||||
"mobs_mc_illusionist.png", --hat
|
||||
"mcl_throwing_bow.png",
|
||||
}, },
|
||||
visual_size = {x=3, y=3},
|
||||
walk_velocity = 0.6,
|
||||
run_velocity = 2,
|
||||
|
@ -32,13 +34,14 @@ mobs:register_mob("mobs_mc:illusioner", {
|
|||
stand_end = 59,
|
||||
walk_start = 0,
|
||||
walk_end = 40,
|
||||
shoot_start = 90,
|
||||
shoot_end = 110,
|
||||
shoot_start = 150,
|
||||
shoot_end = 170,
|
||||
-- TODO: Implement and fix death animation
|
||||
--die_start = 110,
|
||||
--die_end = 130,
|
||||
--die_start = 170,
|
||||
--die_end = 180,
|
||||
--die_speed = 15,
|
||||
--die_loop = false,
|
||||
-- 60-80 magic arm swinging, 80-90 transition between magic to bow shooting
|
||||
-- 120-140 magic arm swinging, 140-150 transition between magic to bow shooting
|
||||
},
|
||||
view_range = 16,
|
||||
fear_height = 4,
|
||||
|
|
|
@ -22,10 +22,14 @@ mobs:register_mob("mobs_mc:vindicator", {
|
|||
collisionbox = {-0.3, -0.01, -0.3, 0.3, 1.94, 0.3},
|
||||
visual = "mesh",
|
||||
mesh = "mobs_mc_vindicator.b3d",
|
||||
textures = {
|
||||
{"mobs_mc_vindicator_axe.png"},
|
||||
-- TODO: Glow when attacking (mobs_mc_vindicator.png)
|
||||
},
|
||||
textures = {
|
||||
{
|
||||
"mobs_mc_vindicator_base.png",
|
||||
"blank.png", --no hat
|
||||
"mobs_mc_iron_axe.png",
|
||||
-- TODO: Glow when attacking (mobs_mc_vindicator.png)
|
||||
},
|
||||
},
|
||||
visual_size = {x=3, y=3},
|
||||
makes_footstep_sound = true,
|
||||
damage = 13,
|
||||
|
@ -49,18 +53,19 @@ mobs:register_mob("mobs_mc:vindicator", {
|
|||
damage = "Villagerhurt1",
|
||||
},
|
||||
animation = {
|
||||
stand_speed = 25,
|
||||
walk_speed = 25,
|
||||
run_speed = 25,
|
||||
punch_speed = 25,
|
||||
stand_start = 40,
|
||||
stand_end = 59,
|
||||
stand_speed = 5,
|
||||
walk_start = 0,
|
||||
walk_end = 40,
|
||||
punch_start = 90,
|
||||
punch_end = 110,
|
||||
-- TODO: Implement and fix death animation
|
||||
--die_start = 110,
|
||||
--die_end = 130,
|
||||
--die_start = 170,
|
||||
--die_end = 180,
|
||||
--die_loop = false,
|
||||
},
|
||||
water_damage = 1,
|
||||
|
|
|
@ -21,7 +21,7 @@ mobs:register_mob("mobs_mc:villager_zombie", {
|
|||
armor = 90,
|
||||
collisionbox = {-0.3, -0.01, -0.3, 0.3, 1.94, 0.3},
|
||||
visual = "mesh",
|
||||
mesh = "mobs_mc_zvillager.b3d",
|
||||
mesh = "mobs_mc_villager_zombie.b3d",
|
||||
textures = {
|
||||
{"mobs_mc_zombie_butcher.png"},
|
||||
{"mobs_mc_zombie_farmer.png"},
|
||||
|
|