Organize mods into modpacks for better overview

This commit is contained in:
Wuzzy 2017-02-16 01:45:21 +01:00
parent f9db58bf50
commit 3696ee3761
1683 changed files with 0 additions and 0 deletions

View file

@ -0,0 +1,108 @@
-- daufinsyd
-- My work is under the LGPL terms
-- Model and mobs_blaze.png see https://github.com/22i/minecraft-voxel-blender-models
-- blaze.lua partial copy of mobs_mc/ghast.lua
--dofile(minetest.get_modpath("mobs").."/api.lua")
mobs:register_mob("mobs_mc:blaze", {
type = "monster",
hp_min = 20,
hp_max = 20,
collisionbox = {-0.4, 0.4, -0.4, 0.4, 1.9, 0.4},
textures = {
{"mobs_blaze.png"}
},
visual = "mesh",
mesh = "mobs_blaze.b3d",
makes_footstep_sound = true,
sounds = {
random = "blaze_breath",
death = "blaze_died",
damage = "blaze_hurt1",
attack = "default_punch3",
},
walk_velocity = .8,
run_velocity = 1.6,
damage = 2.5,
pathfinding = true,
group_attack = true,
armor = 80,
drops = {
{name = "mcl_mobitems:blaze_rod",
chance = 1,
min = 0,
max = 1,},
},
animation = {
stand_start = 1,
stand_end = 40,
walk_start = 1,
walk_end = 40,
run_start = 1,
run_end = 40,
shoot_start = 1,
shoot_end = 40,
},
drawtype = "front",
water_damage = 10,
lava_damage = 0,
fall_damage = 0,
light_damage = 0,
view_range = 16,
attack_type = "shoot",
arrow = "mobs_mc:blaze_fireball",
shoot_interval = 3.5,
passive = false,
jump = true,
jump_height = 4,
floats = 1,
fly = true,
jump_chance = 98,
fear_height = 120,
})
mobs:register_spawn("mobs_mc:blaze", {"mcl_core:lava_flowing", "mcl_nether:netherrack","air"}, 30, -1, 5000, 1, -2000)
-- Blaze fireball
mobs:register_arrow("mobs_mc:blaze_fireball", {
visual = "sprite",
visual_size = {x = 0.3, y = 0.3},
textures = {"mcl_fire_fire_charge.png"},
velocity = 12,
-- Direct hit, no fire... just plenty of pain
hit_player = function(self, player)
player:punch(self.object, 1.0, {
full_punch_interval = 1.0,
damage_groups = {fleshy = 5},
}, nil)
end,
hit_mob = function(self, player)
player:punch(self.object, 1.0, {
full_punch_interval = 1.0,
damage_groups = {fleshy = 5},
}, nil)
end,
-- Node hit, make fire
hit_node = function(self, pos, node)
local pos_above = {x=pos.x, y=pos.y+1, z=pos.z}
if minetest.registered_nodes[minetest.get_node(pos_above).name].buildable_to then
minetest.set_node(pos_above, {name="mcl_fire:basic_flame"})
end
end
})
-- spawn eggs
mobs:register_egg("mobs_mc:blaze", "Spawn Blaze", "spawn_egg_blaze.png")
if minetest.setting_get("log_mods") then
minetest.log("action", "MC Blaze loaded")
end

View file

@ -0,0 +1,134 @@
--MCmobs v0.2
--maikerumine
--made for MC like Survival game
--License for code WTFPL and otherwise stated in readmes
--dofile(minetest.get_modpath("mobs").."/api.lua")
mobs:register_mob("mobs_mc:chicken", {
type = "animal",
hp_min = 4,
hp_max = 4,
collisionbox = {-0.4, -0.01, -0.4, 0.4, 1, 0.4},
visual = "mesh",
mesh = "mobs_mc_chicken.x",
textures = {
{"mobs_mc_chicken.png"}
},
makes_footstep_sound = true,
walk_velocity = 1,
armor = 100,
drops = {
{name = "mcl_mobitems:chicken_raw",
chance = 1,
min = 1,
max = 1,},
{name = "mcl_mobitems:feather",
chance = 1,
min = 0,
max = 2,},
},
drawtype = "front",
water_damage = 1,
lava_damage = 5,
light_damage = 0,
sounds = {
random = "Chicken1",
death = "Chickenhurt1",
hurt = "Chickenhurt1",
},
animation = {
speed_normal = 24,
stand_start = 0,
stand_end = 23,
walk_start = 24,
walk_end = 49,
hurt_start = 118,
hurt_end = 154,
death_start = 154,
death_end = 179,
eat_start = 49,
eat_end = 78,
look_start = 78,
look_end = 108,
fly_start = 181,
fly_end = 187,
},
--[[
follow = "farming:seed_wheat",
view_range = 5,
on_rightclick = function(self, clicker)
if clicker:get_inventory() then
if minetest.registered_items[":mobs:egg"] then
clicker:get_inventory():add_item("main", ItemStack(":mobs:egg 1"))
end
end
end,
do_custom = function(self)
if self.child
or math.random(1, 5000) > 1 then
return
end
local pos = self.object:getpos()
minetest.add_item(pos, ":mobs:egg")
minetest.sound_play("default_place_node_hard", {
pos = pos,
gain = 1.0,
max_hear_distance = 5,
})
end,
]]
--from mobs_animals
follow = {"mcl_farming:wheat_seeds", "mcl_farming:beetroot_seeds", "mcl_farming:pumpkin_seeds", "mcl_farming:melon_seeds"},
view_range = 5,
on_rightclick = function(self, clicker)
if mobs:feed_tame(self, clicker, 8, true, true) then
return
end
mobs:capture_mob(self, clicker, 30, 50, 80, false, nil)
end,
do_custom = function(self)
if self.child
or math.random(1, 5000) > 1 then
return
end
local pos = self.object:getpos()
minetest.add_item(pos, "mcl_throwing:egg")
minetest.sound_play("default_place_node_hard", {
pos = pos,
gain = 1.0,
max_hear_distance = 5,
})
end,
})
mobs:register_spawn("mobs_mc:chicken", {"mcl_core:dirt_with_grass"}, 20, 8, 7000, 1, 31000)
-- compatibility
mobs:alias_mob("mobs:chicken", "mobs_mc:chicken")
-- spawn eggs
mobs:register_egg("mobs_mc:chicken", "Spawn Chicken", "spawn_egg_chicken.png")
if minetest.setting_get("log_mods") then
minetest.log("action", "MC chicken loaded")
end

View file

@ -0,0 +1,140 @@
--MCmobs v0.2
--maikerumine
--made for MC like Survival game
--License for code WTFPL and otherwise stated in readmes
--dofile(minetest.get_modpath("mobs").."/api.lua")
mobs:register_mob("mobs_mc:cow", {
type = "animal",
hp_min = 10,
hp_max = 10,
collisionbox = {-0.6, -0.01, -0.6, 0.6, 1.8, 0.6},
visual = "mesh",
mesh = "mobs_mc_cow.x",
textures = {
{"mobs_mc_cow.png"}
},
makes_footstep_sound = true,
walk_velocity = 1,
armor = 100,
drops = {
{name = "mcl_mobitems:beef_raw",
chance = 1,
min = 1,
max = 3,},
{name = "mcl_mobitems:leather",
chance = 1,
min = 0,
max = 2,},
},
drawtype = "front",
water_damage = 1,
lava_damage = 5,
light_damage = 0,
fear_height = 3,
sounds = {
random = "Cow1",
death = "Cowhurt1",
damage = "Cowhurt1",
},
animation = {
speed_normal = 24,
stand_start = 0,
stand_end = 23,
walk_start = 24,
walk_end = 49,
hurt_start = 118,
hurt_end = 154,
death_start = 154,
death_end = 179,
eat_start = 49,
eat_end = 78,
look_start = 78,
look_end = 108,
},
--[[
follow = "farming:wheat",
view_range = 5,
on_rightclick = function(self, clicker)
local item = clicker:get_wielded_item()
if item:get_name() == "bucket:bucket_empty" and clicker:get_inventory() then
local inv = clicker:get_inventory()
inv:remove_item("main", "bucket:bucket_empty")
-- if room add bucket of milk to inventory, otherwise drop as item
if inv:room_for_item("main", {name="mobs:bucket_milk"}) then
clicker:get_inventory():add_item("main", "mobs:bucket_milk")
else
local pos = self.object:getpos()
pos.y = pos.y + 0.5
minetest.add_item(pos, {name = "mobs:bucket_milk"})
end
end
end,
]]
--from mobs_animals
follow = "mcl_farming:wheat_item",
view_range = 7,
replace_rate = 10,
replace_what = {"mcl_core:tallgrass",},
replace_with = "air",
fear_height = 2,
on_rightclick = function(self, clicker)
-- feed or tame
if mobs:feed_tame(self, clicker, 8, true, true) then
return
end
local tool = clicker:get_wielded_item()
-- milk cow with empty bucket
if tool:get_name() == "bucket:bucket_empty" then
--if self.gotten == true
if self.child == true then
return
end
if self.gotten == true then
minetest.chat_send_player(clicker:get_player_name(),
"Cow already milked!")
return
end
local inv = clicker:get_inventory()
inv:remove_item("main", "bucket:bucket_empty")
if inv:room_for_item("main", {name = "mcl_mobitems:milk_bucket"}) then
clicker:get_inventory():add_item("main", "mcl_mobitems:milk_bucket")
else
local pos = self.object:getpos()
pos.y = pos.y + 0.5
minetest.add_item(pos, {name = "mcl_mobitems:milk_bucket"})
end
self.gotten = true -- milked
return
end
mobs:capture_mob(self, clicker, 0, 5, 60, false, nil)
end,
})
mobs:register_spawn("mobs_mc:cow", {"mcl_core:dirt_with_grass"}, 20, 8, 7000, 1, 31000)
-- compatibility
mobs:alias_mob("mobs:cow", "mobs_mc:cow")
-- spawn egg
mobs:register_egg("mobs_mc:cow", "Spawn Cow", "spawn_egg_cow.png")
if minetest.setting_get("log_mods") then
minetest.log("action", "MC Cow loaded")
end

View file

@ -0,0 +1,80 @@
--MCmobs v0.2
--maikerumine
--made for MC like Survival game
--License for code WTFPL and otherwise stated in readmes
--dofile(minetest.get_modpath("mobs").."/api.lua")
mobs:register_mob("mobs_mc:creeper", {
type = "monster",
hp_min = 20,
hp_max = 20,
collisionbox = {-0.4, -0.01, -0.4, 0.4, 1.6, 0.4},
pathfinding = true,
group_attack = true,
visual = "mesh",
visual_size = {x=.75, y=.75, z=.75},
mesh = "mobs_creeper.x",
textures = {
{"mobs_creeper.png"}
},
makes_footstep_sound = false,
sounds = {
attack = "Fuse",
death = "Creeperdeath",
damage = "Creeper4",
war_cry = "Fuse",
explode = "explo",
},
walk_velocity = 1.5,
run_velocity = 3,
damage = 1,
explosion_radius = 3,
armor = 100,
maxdrops = 3,
drops = {
{name = "mcl_core:gunpowder",
chance = 1,
min = 0,
max = 2,},
},
animation = {
speed_normal = 24,
speed_run = 48,
stand_start = 0,
stand_end = 23,
walk_start = 24,
walk_end = 49,
run_start = 24,
run_end = 49,
hurt_start = 110,
hurt_end = 139,
death_start = 140,
death_end = 189,
look_start = 50,
look_end = 108,
},
drawtype = "front",
water_damage = 1,
lava_damage = 5,
light_damage = 0,
view_range = 16,
attack_type = "explode",
})
mobs:register_spawn("mobs_mc:creeper", {"group:crumbly", "group:cracky", "group:choppy", "group:snappy"}, 7, -1, 5000, 4, 31000)
-- compatibility
mobs:alias_mob("mobs:creeper", "mobs_mc:creeper")
-- spawn eggs
mobs:register_egg("mobs_mc:creeper", "Spawn Creeper", "spawn_egg_creeper.png")
if minetest.setting_get("log_mods") then
minetest.log("action", "MC Creeper loaded")
end

View file

@ -0,0 +1,5 @@
mcl_core
mcl_fire
mobs
mcl_tnt
mcl_mobitems

View file

@ -0,0 +1 @@
Adds Minecraft-like monsters and animals.

View file

@ -0,0 +1,73 @@
--MCmobs v0.2
--maikerumine
--made for MC like Survival game
--License for code WTFPL and otherwise stated in readmes
--dofile(minetest.get_modpath("mobs").."/api.lua")
mobs:register_mob("mobs_mc:enderman", {
type = "monster",
hp_min = 40,
hp_max = 40,
collisionbox = {-0.4, -2.4, -0.4, 0.4, 1.8, 0.4},
visual = "mesh",
mesh = "mobs_sand_monster.b3d",
textures = {
{"mobs_endermen.png"}
},
visual_size = {x=1.2, y=2.5},
makes_footstep_sound = true,
sounds = {
random = "mobs_sandmonster",
death = "green_slime_death",
damage = "Creeperdeath",
},
walk_velocity = 3.2,
run_velocity = 5.4,
damage = 1,
armor = 100,
drops = {
{name = "mcl_throwing:ender_pearl",
chance = 1,
min = 0,
max = 1,},
},
animation = {
speed_normal = 45,
speed_run = 15,
stand_start = 0,
stand_end = 39,
walk_start = 41,
walk_end = 72,
run_start = 74,
run_end = 105,
punch_start = 74,
punch_end = 105,
},
drawtype = "front",
water_damage = 1,
lava_damage = 5,
light_damage = 0,
view_range = 16,
attack_type = "dogfight",
replace_rate = 1,
replace_what = {"mcl_flowers:allium", "mcl_flowers:azure_bluet", "mcl_flowers:blue_orchid", "mcl_flowers:dandelion", "mcl_flowers:tulip_orange", "mcl_flowers:tulip_red", "mcl_flowers:tulip_pink", "mcl_flowers:tulip_white", "mcl_flowers:oxeye_daisy", "mcl_flowers:poppy", "mcl_core:cactus", "mcl_core:clay", "mcl_core:coarse_dirt", "mcl_core:dirt", "mcl_core:dirt_with_grass", "mcl_core:gravel", "mcl_farming:melon", "mcl_farming:pumpkin_face", "mcl_core:mycelium", "mcl_core:podzol", "mcl_farming:mushroom_red", "mcl_farming:mushroom_brown", "mcl_core:redsand", "mcl_core:sand", "mcl_tnt:tnt", "mcl_nether:netherrack"},
replace_with = "air",
replace_offset = -1,
})
mobs:register_spawn("mobs_mc:enderman", { "mcl_core:sand", "mcl_core:redsand"}, 5, -1, 5000, 4, 31000)
-- spawn eggs
mobs:register_egg("mobs_mc:enderman", "Spawn Enderman", "spawn_egg_enderman.png")
if minetest.setting_get("log_mods") then
minetest.log("action", "MC Enderman loaded")
end

View file

@ -0,0 +1,122 @@
--MCmobs v0.2
--maikerumine
--made for MC like Survival game
--License for code WTFPL and otherwise stated in readmes
--dofile(minetest.get_modpath("mobs").."/api.lua")
mobs:register_mob("mobs_mc:ghast", {
type = "monster",
pathfinding = true,
group_attack = true,
hp_min = 10,
hp_max = 10,
collisionbox = {-1.45, -1.45, -1.45 ,1.45, 1.45, 1.45},
visual_size = {x=3.0, y=3.0},
textures = {
{"ghast_white.png", "ghast_white.png", "ghast_front.png", "ghast_white.png", "ghast_white.png", "ghast_white.png"}
},
visual = "cube",
blood_texture ="mobs_blood.png",
rotate = 270,
makes_footstep_sound = true,
sounds = {
shoot = "mobs_fireball",
death = "zombiedeath",
damage = "ghast_damage",
attack = "mobs_fireball",
random = "mobs_eerie",
},
walk_velocity = .8,
run_velocity = 2.6,
damage = 1,
armor = 100,
drops = {
{name = "mcl_mobitems:ghast_tear",
chance = 1,
min = 0,
max = 1,},
{name = "mcl_core:gunpowder",
chance = 1,
min = 0,
max = 2,},
},
animation = {
speed_normal = 24,
speed_run = 48,
stand_start = 0,
stand_end = 23,
walk_start = 24,
walk_end = 47,
run_start = 48,
run_end = 62,
hurt_start = 64,
hurt_end = 86,
death_start = 88,
death_end = 118,
},
drawtype = "front",
water_damage = 10,
lava_damage = 0,
light_damage = 0,
fall_damage = 0,
view_range = 16,
--attack_type = "dogshoot",
attack_type = "dogshoot",
arrow = "mobs_mc:ghast_fireball",
shoot_interval = 3.5,
shoot_offset = 1,
--'dogshoot_switch' allows switching between shoot and dogfight modes inside dogshoot using timer (1 = shoot, 2 = dogfight)
--'dogshoot_count_max' number of seconds before switching above modes.
dogshoot_switch = 1,
dogshoot_count_max =1,
passive = false,
jump = true,
jump_height = 4,
floats=1,
fly = true,
jump_chance = 98,
fear_height = 120,
})
mobs:register_spawn("mobs_mc:ghast", {"mcl_core:lava_flowing", "mcl_nether:netherrack", "air"}, 17, -1, 5000, 1, -2000)
-- Ghast fireball
mobs:register_arrow("mobs_mc:ghast_fireball", {
visual = "sprite",
visual_size = {x = 0.8, y = 0.8},
textures = {"mcl_fire_fire_charge.png"},
velocity = 6,
-- direct hit, no fire... just plenty of pain
hit_player = function(self, player)
player:punch(self.object, 1.0, {
full_punch_interval = 1.0,
damage_groups = {fleshy = 6},
}, nil)
end,
hit_mob = function(self, player)
player:punch(self.object, 1.0, {
full_punch_interval = 1.0,
damage_groups = {fleshy = 6},
}, nil)
end,
-- node hit, bursts into flame
hit_node = function(self, pos, node)
mobs:explosion(pos, 1, 1, 0)
end
})
-- spawn eggs
mobs:register_egg("mobs_mc:ghast", "Spawn Ghast", "spawn_egg_ghast.png")
if minetest.setting_get("log_mods") then
minetest.log("action", "MC Ghast loaded")
end

View file

@ -0,0 +1,339 @@
--MCmobs v0.2
--maikerumine
--made for MC like Survival game
--License for code WTFPL and otherwise stated in readmes
--dofile(minetest.get_modpath("mobs").."/api.lua")
-------------------------
--KPGMOBS HORSE
-------------------------
--By: KrupnovPavel
--Tweaked by: maikerumine
local function is_ground(pos)
local nn = minetest.get_node(pos).name
return minetest.get_item_group(nn, "crumbly") ~= 0 or
minetest.get_item_group(nn, "choppy") ~= 0 or
minetest.get_item_group(nn, "cracky") ~= 0 or
minetest.get_item_group(nn, "snappy") ~= 0 or
minetest.get_item_group(nn, "unbreakable") ~= 0 or
minetest.get_item_group(nn, "immortal") ~= 0
end
local function get_sign(i)
if i == 0 then
return 0
else
return i/math.abs(i)
end
end
local function get_velocity(v, yaw, y)
local x = math.cos(yaw)*v
local z = math.sin(yaw)*v
return {x=x, y=y, z=z}
end
local function get_v(v)
return math.sqrt(v.x^2+v.z^2)
end
local function merge(a, b)
if type(a) == 'table' and type(b) == 'table' then
for k,v in pairs(b) do if type(v)=='table' and type(a[k] or false)=='table' then merge(a[k],v) else a[k]=v end end
end
return a
end
-- HORSE go go goooo :)
local horse = {
physical = true,
collisionbox = {-0.4, -0.01, -0.4, 0.4, 1, 0.4},
visual = "mesh",
stepheight = 1.1,
visual_size = {x=1,y=1},
mesh = "mobs_horseh1.x",
driver = nil,
v = 0,
on_rightclick = function(self, clicker)
if not clicker or not clicker:is_player() then
return
end
if self.driver and clicker == self.driver then
self.driver = nil
clicker:set_detach()
elseif not self.driver then
self.driver = clicker
clicker:set_attach(self.object, "", {x=0,y=11,z=0}, {x=0,y=0,z=0})
self.object:setyaw(clicker:get_look_yaw())
end
end,
on_activate = function(self, staticdata, dtime_s)
self.object:set_armor_groups({immortal=1})
print (self.texture, self.jmp)
end,
on_punch = function(self, puncher, time_from_last_punch, tool_capabilities, direction)
if puncher and puncher:is_player() then
puncher:get_inventory():add_item("main", self.name)
self.object:remove()
end
end,
on_step = function(self, dtime)
self.v = get_v(self.object:getvelocity())*get_sign(self.v)
if self.driver then
local ctrl = self.driver:get_player_control()
if ctrl.up then
self.v = self.v + self.jmp
end
if ctrl.down then
self.v = self.v-0.1
end
if ctrl.left then
self.object:setyaw(self.object:getyaw()+math.pi/120+dtime*math.pi/120)
end
if ctrl.right then
self.object:setyaw(self.object:getyaw()-math.pi/120-dtime*math.pi/120)
end
if ctrl.jump then
local p = self.object:getpos()
p.y = p.y-0.5
if is_ground(p) then
local pos = self.object:getpos()
pos.y = math.floor(pos.y)+4
self.object:setpos(pos)
self.object:setvelocity(get_velocity(self.v, self.object:getyaw(), 0))
end
end
end
local s = get_sign(self.v)
self.v = self.v - 0.02*s
if s ~= get_sign(self.v) then
self.object:setvelocity({x=0, y=0, z=0})
self.v = 0
return
end
if math.abs(self.v) > 4.5 then
self.v = 4.5*get_sign(self.v)
end
local p = self.object:getpos()
p.y = p.y-0.5
if not is_ground(p) then
if minetest.registered_nodes[minetest.get_node(p).name].walkable then
self.v = 0
end
self.object:setacceleration({x=0, y=-10, z=0})
self.object:setvelocity(get_velocity(self.v, self.object:getyaw(), self.object:getvelocity().y))
else
p.y = p.y+1
if is_ground(p) then
self.object:setacceleration({x=0, y=3, z=0})
local y = self.object:getvelocity().y
if y > 2 then
y = 2
end
if y < 0 then
self.object:setacceleration({x=0, y=10, z=0})
end
self.object:setvelocity(get_velocity(self.v, self.object:getyaw(), y))
else
self.object:setacceleration({x=0, y=0, z=0})
if math.abs(self.object:getvelocity().y) < 1 then
local pos = self.object:getpos()
pos.y = math.floor(pos.y)+0.5
self.object:setpos(pos)
self.object:setvelocity(get_velocity(self.v, self.object:getyaw(), 0))
else
self.object:setvelocity(get_velocity(self.v, self.object:getyaw(), self.object:getvelocity().y))
end
end
end
end,
}
--END HORSE
-- backup table
local hbak = horse
-- Brown Horse
local hrs = {
textures = {"mobs_horseh1.png"},
jmp = 2,
}
minetest.register_entity("mobs_mc:horseh1", merge(hrs, horse))
-- White Horse
horse = hbak
local peg = {
textures = {"mobs_horsepegh1.png"},
jmp = 2,
}
minetest.register_entity("mobs_mc:horsepegh1", merge(peg, horse))
-- Black Horse
horse = hbak
local ara = {
textures = {"mobs_horsearah1.png"},
jmp = 3,
}
minetest.register_entity("mobs_mc:horsearah1", merge(ara, horse))
mobs:register_mob("mobs_mc:horse", {
type = "animal",
hp_min = 5,
hp_max = 10,
collisionbox = {-0.4, -0.01, -0.4, 0.4, 1, 0.4},
textures = {
{"mobs_horseh.png"},
},
visual = "mesh",
mesh = "mobs_horse.x",
makes_footstep_sound = true,
walk_velocity = 1,
armor = 200,
drops = {
{name = "mcl_mobitems:leather",
chance = 1,
min = 0,
max = 2,},
},
drawtype = "front",
water_damage = 1,
lava_damage = 5,
light_damage = 0,
fear_height = 6,
animation = {
speed_normal = 15,
stand_start = 25, stand_end = 75,
walk_start = 75, walk_end = 100,
},
follow = "mcl_farming:wheat_item",
view_range = 5,
on_rightclick = function(self, clicker)
local tool = clicker:get_wielded_item()
if tool:get_name() == "mcl_mobitems:saddle" then
clicker:get_inventory():remove_item("main", "mcl_mobitems:saddle")
local pos = self.object:getpos()
self.object:remove()
minetest.add_entity(pos, "mobs_mc:horseh1")
end
end,
})
mobs:register_mob("mobs_mc:horse2", {
type = "animal",
hp_min = 15,
hp_max = 30,
collisionbox = {-0.4, -0.01, -0.4, 0.4, 1, 0.4},
textures = {
{"mobs_horsepegh.png"},
},
visual = "mesh",
mesh = "mobs_horse.x",
makes_footstep_sound = true,
walk_velocity = 1,
armor = 200,
drops = {
{name = "mcl_mobitems:leather",
chance = 1,
min = 0,
max = 2,},
},
drawtype = "front",
water_damage = 1,
lava_damage = 5,
light_damage = 0,
fear_height = 6,
animation = {
speed_normal = 15,
stand_start = 25, stand_end = 75,
walk_start = 75, walk_end = 100,
},
follow = "mcl_farming:wheat_item",
view_range = 5,
on_rightclick = function(self, clicker)
local tool = clicker:get_wielded_item()
if tool:get_name() == "mcl_mobitems:saddle" then
clicker:get_inventory():remove_item("main", "mcl_mobitems:saddle")
local pos = self.object:getpos()
self.object:remove()
minetest.add_entity(pos, "mobs_mc:horsepegh1")
end
end,
})
mobs:register_mob("mobs_mc:horse3", {
type = "animal",
hp_min = 15,
hp_max = 30,
collisionbox = {-0.4, -0.01, -0.4, 0.4, 1, 0.4},
textures = {
{"mobs_horsearah.png"},
},
visual = "mesh",
mesh = "mobs_horse.x",
makes_footstep_sound = true,
walk_velocity = 1,
armor = 100,
drops = {
{name = "mcl_mobitems:leather",
chance = 1,
min = 0,
max = 2,},
},
drawtype = "front",
water_damage = 1,
lava_damage = 5,
light_damage = 0,
fear_height = 6,
animation = {
speed_normal = 15,
stand_start = 25, stand_end = 75,
walk_start = 75, walk_end = 100,
},
follow = "mcl_farming:wheat_item",
view_range = 5,
on_rightclick = function(self, clicker)
local tool = clicker:get_wielded_item()
if tool:get_name() == "mcl_mobitems:saddle" then
clicker:get_inventory():remove_item("main", "mcl_mobitems:saddle")
local pos = self.object:getpos()
self.object:remove()
minetest.add_entity(pos, "mobs_mc:horsearah1")
end
end,
})
mobs:register_spawn("mobs_mc:horse", {"mcl_core:dirt_with_grass", "mcl_core:dirt"}, 20, 12, 21000, 1, 12)
mobs:register_spawn("mobs_mc:horse2", {"mcl_core:dirt_with_grass", "mcl_core:dirt"}, 20, 12, 23000, 1, 31000)
mobs:register_spawn("mobs_mc:horse3", {"mcl_core:sand", "mcl_core:redsand"}, 20, 8, 17000, 1, 5)
-- compatibility
mobs:alias_mob("mobs:horse", "mobs_mc:horse")
mobs:alias_mob("mobs:horse2", "mobs_mc:horse2")
mobs:alias_mob("mobs:horse3", "mobs_mc:horse3")
-- spawn eggs
-- KPV wild horse spawn eggs
mobs:register_egg("mobs_mc:horse", "Spawn Brown Horse", "spawn_egg_horse.png", 0)
mobs:register_egg("mobs_mc:horse2", "Spawn White Horse", "spawn_egg_horse.png", 0)
mobs:register_egg("mobs_mc:horse3", "Spawn Arabic Horse", "spawn_egg_horse.png", 0)
if minetest.setting_get("log_mods") then
minetest.log("action", "MC Horse loaded")
end

View file

@ -0,0 +1,33 @@
--MCmobs v0.2
--maikerumine
--made for MC like Survival game
--License for code WTFPL and otherwise stated in readmes
local path = minetest.get_modpath("mobs_mc")
-- Animals
dofile(path .. "/chicken.lua") -- Mesh and animation by Pavel_S
dofile(path .. "/cow.lua") -- Mesh by Morn76 Animation by Pavel_S
dofile(path .. "/sheep.lua") -- Mesh and animation by Pavel_S
dofile(path .. "/pig.lua") -- Mesh and animation by Pavel_S
dofile(path .. "/horse.lua") -- KrupnoPavel
dofile(path .. "/wolf.lua") -- KrupnoPavel
dofile(path .. "/horse.lua") -- KrupnoPavel
-- NPC
dofile(path .. "/villager.lua") -- KrupnoPavel
--Monsters
dofile(path .. "/creeper.lua") -- Mesh by Morn76 Animation by Pavel_S
dofile(path .. "/skeleton.lua") -- Mesh by Morn76 Animation by Pavel_S
dofile(path .. "/zombie.lua") -- Mesh by Morn76 Animation by Pavel_S
dofile(path .. "/zombiepig.lua") -- Mesh by Morn76 Animation by Pavel_S
dofile(path .. "/slimes.lua") -- Tomas J. Luis
dofile(path .. "/spider.lua") -- Spider by AspireMint (fishyWET (CC-BY-SA 3.0 license for texture)
dofile(path .. "/enderman.lua") -- maikerumine
dofile(path .. "/ghast.lua") -- maikerumine
dofile(path .. "/blaze.lua") -- Animation by daufinsyd
print ("[MOD] Mobs Redo 'MC' loaded")

View file

@ -0,0 +1,269 @@
--MCmobs v0.2
--maikerumine
--made for MC like Survival game
--License for code WTFPL and otherwise stated in readmes such as this one.
Notes
-----
cows: right-click with empty bucket gets milk
sheep: right-click gets wool
chicken: right-click to get an egg
Milk and eggs need a food mod to be installed.
Textures are from Faithful 32x32 pack (http://www.minecraftforum.net/topic/72747-faithful-32x32-pack-updateocelot-two-cats-new-saplings-ctm-17/)
Sounds are from the Minecraft Wiki (Freesound license)
=====Pig=====(at layer 1)
=====Cow=====(at layer 2)
=====Sheep=====(at layer 3)
Ver.0.3
Mesh by Morn76
Animation by Pavel_S
===Chicken===
Mesh and animation by Pavel_S
Meshes : Pig, Cow, Sheep
Armatures : Pig_Rig, Cow_Rig, Sheep_Rig
==Animation==
Optimized for 24fps.
(the last frame equal to first in each animation)
The first frame of each animation is default pose.
=List of animations :
standing (head bobbing slightly up and down) : 1-24
walking : 24-50
eating (head goes to the ground) : 50-79
eating cycle : 58-73
look around
right : 79-99
looking left pose : 89
left : 99-119
looking right pose : 109
hurt (quick half jump with legs slightly crossed) : 119-155
death (falls on left side) : 155-180
There is no delays for looking around and repeats for eating!
==Rig==
See Pig_Rig.png
==ChangeLog==
0.3
Added Cow, Sheep
Added Cow and Sheep animations
Fixed UVunwraps
Extended hurt and death animation
0.2
Added Pig animation
Fixed UVunwrap
=====Creeper=====
Ver.0.3
Mesh by Morn76
Animation by Pavel_S
Meshes : Creeper
Armatures : Creeper_Rig
==Animation==
Optimized for 24fps.
(the last frame equal to first in each animation)
The first frame of each animation is default pose.
=List of animations :
standing : 1-25
walking : 25-50
look around
right : 50-80
looking left pose : 65
left : 80-110
looking right pose : 95
hurt : 110-140
death : 140-190
=====Skeleton=====
Ver.0.3
Mesh by Morn76
Animation by Pavel_S
Meshes : Skeleton
Armatures : Skeleton_Rig
==Animation==
Optimized for 30fps.
(the last frame equal to first in each animation)
The first frame of each animation is default pose.
=List of animations :
standing (head bobbing slightly up and down) : 1-25
walking : 25-50
hurt (quick half jump with legs slightly crossed) : 85-117
death (falls on left side) : 117-146
=====Zombie=====
Mesh by Morn76
Animation by Pavel_S
1 - 24 - standing
24 - 48 - walking
48 - 64 - running
64 - 88 - hurm
88 - 120 - death
*******************************************************************************
Original "Slimes Redone" README follows
"Slimes Redone" - Mod for Minetest (http://www.minetest.net/)
Introduction
==========================================================================================================================
This mod adds two type of mobs in the world of Minetest: green slimes and lava slimes. They are hostile and will attack the
players as soon as they see them. If they are defeated, the slimes maybe will reward the player with useful resources.
Green slimes live in the tall grass of the jungles and in the ancient ruins of lost temples. And lava slimes live deep
underground near the lava pools.
I've made this mod inspired by this other: https://forum.minetest.net/viewtopic.php?f=11&t=2979&hilit=slimes which adds friendly
slimes. Thank you Jeija!
Details
==========================================================================================================================
- Adds two new hostile mobs: green slimes and lava slimes.
- They attack players and hurt them on touch. (i'm not sure if the amount of damage is enough or too much...:/)
- The biger ones split in a random amout of smaller versions when defeated: big > medium > small.
- They can get different enviromental damage: water, lava, sunlight and falling.
- They use custom textures and sounds. (more work needs to be done here ;P)
- Cartoonish animation (they deform a bit when landing and stretch out when jumping).
- Effects (blood, smoke, bubbles, footprints,..).
- API to add new slimes.
Green slimes:
> spawn in jungle grass or in temples mossy cobble (default:mossycobble).
> on die, they drop a randomish amount of slimeballs
> Lava hurts them.
Lava slimes:
> spawn in lava pools deep under ground.
> on die, they drop a randomish amount of gunpowder (from default tnt mod).
> water hurts them.
> when they jump they leave behind a footprint of fire. ^^
Install
==========================================================================================================================
Unzip the archive an place it in minetest-base-directory/mods/minetest/
If you have a windows client or a linux run-in-place client.
If you have a linux system-wide instalation place it in ~/.minetest/mods/minetest/.
If you want to install this mod only in one world create the folder worldmods/ in your world directory.
For further information or help see: http://wiki.minetest.com/wiki/Installing_Mods
How to use the mod:
==========================================================================================================================
Just install it an everything should work.
Mod Information
==========================================================================================================================
Version: 0.1
Required Minetest Version: >=0.4.12
Dependencies: default, default:tnt, mesecon (https://forum.minetest.net/viewtopic.php?f=11&t=628&hilit=mesecon)
Soft Dependencies: (none)
Highly Recommended: (none)
Craft Recipies: (none)
Git Repo: https://github.com/TomasJLuis/mt-slimes-redone
Modders/Developers
=========================================================================================================================
If you are a modder, you should know that I've never used LUA before. this is my first mod for Mintetest, and I've used
this mod to learn how to mod on Minetest. So may be you will find a code full of mistakes and bad practices... ;P
If you spot someting that can/must be improved/changed/removed and want to help me to improve this mode and my knowledge,
please tell me here: https://forum.minetest.net/viewtopic.php?f=9&t=11743&p=175186#p175186
Thank you!
Version history
==========================================================================================================================
0.1 - Initial release
Copyright and Licensing
==========================================================================================================================
- Author: Tomas J. Luis
- Original sound for slime damage by RandomationPictures under licence CC0 1.0.
http://www.freesound.org/people/RandomationPictures/sounds/138481/
- Original sounds for slime jump, land and death by Dr. Minky under licence CC BY 3.0.
http://www.freesound.org/people/DrMinky/sounds/
- Source code and images by Tomas J. Luis under WTFPL.
DO WHAT THE FUCK YOU WANT TO PUBLIC LICENSE
Version 2, December 2004
Everyone is permitted to copy and distribute verbatim or modified
copies of this license document, and changing it is allowed as long
as the name is changed.
DO WHAT THE FUCK YOU WANT TO PUBLIC LICENSE
TERMS AND CONDITIONS FOR COPYING, DISTRIBUTION AND MODIFICATION
*******************************************************************************
Original "simple mobs" README follows
=== MOBS-MOD for MINETEST-C55 ===
by PilzAdam
Inroduction:
This mod adds some basic hostile and friendly mobs to the game.
How to install:
Unzip the archive an place it in minetest-base-directory/mods/minetest/
if you have a windows client or a linux run-in-place client. If you have
a linux system-wide instalation place it in ~/.minetest/mods/minetest/.
If you want to install this mod only in one world create the folder
worldmods/ in your worlddirectory.
For further information or help see:
http://wiki.minetest.com/wiki/Installing_Mods
How to use the mod:
See https://github.com/PilzAdam/mobs/wiki
For developers:
The API documentation is moved to https://github.com/PilzAdam/mobs/wiki/API
License:
Sourcecode: WTFPL (see below)
Grahpics: WTFPL (see below)
Models: WTFPL (by Pavel_S, see below)
See also:
http://minetest.net/
DO WHAT THE FUCK YOU WANT TO PUBLIC LICENSE
Version 2, December 2004
Copyright (C) 2004 Sam Hocevar <sam@hocevar.net>
Everyone is permitted to copy and distribute verbatim or modified
copies of this license document, and changing it is allowed as long
as the name is changed.
DO WHAT THE FUCK YOU WANT TO PUBLIC LICENSE
TERMS AND CONDITIONS FOR COPYING, DISTRIBUTION AND MODIFICATION
0. You just DO WHAT THE FUCK YOU WANT TO.

View file

@ -0,0 +1 @@
name = mobs_mc

Binary file not shown.

Binary file not shown.

File diff suppressed because it is too large Load diff

File diff suppressed because it is too large Load diff

File diff suppressed because it is too large Load diff

File diff suppressed because it is too large Load diff

File diff suppressed because it is too large Load diff

File diff suppressed because it is too large Load diff

File diff suppressed because it is too large Load diff

File diff suppressed because it is too large Load diff

Binary file not shown.

File diff suppressed because it is too large Load diff

File diff suppressed because it is too large Load diff

File diff suppressed because it is too large Load diff

File diff suppressed because it is too large Load diff

File diff suppressed because it is too large Load diff

File diff suppressed because it is too large Load diff

View file

@ -0,0 +1,182 @@
--MCmobs v0.2
--maikerumine
--made for MC like Survival game
--License for code WTFPL and otherwise stated in readmes
--dofile(minetest.get_modpath("mobs").."/api.lua")
mobs:register_mob("mobs_mc:pig", {
type = "animal",
hp_min = 10,
hp_max = 10,
collisionbox = {-0.4, -0.01, -0.4, 0.4, 1, 0.4},
visual = "mesh",
mesh = "mobs_pig.x",
textures = {
{"mobs_pig.png"}
},
makes_footstep_sound = true,
walk_velocity = 1,
armor = 100,
drops = {
{name = "mcl_mobitems:porkchop",
chance = 1,
min = 1,
max = 3,},
},
drawtype = "front",
water_damage = 1,
lava_damage = 5,
light_damage = 0,
fear_height = 3,
sounds = {
random = "Pig2",
death = "Pigdeath",
damage = "Pig2",
},
animation = {
speed_normal = 24,
stand_start = 0,
stand_end = 23,
walk_start = 24,
walk_end = 49,
hurt_start = 118,
hurt_end = 154,
death_start = 154,
death_end = 179,
eat_start = 49,
eat_end = 78,
look_start = 78,
look_end = 108,
},
follow = {"mcl_core:apple", "mcl_farming:beetroot_item", "mcl_farming:carrot_item", "mcl_mobitems:carrot_on_a_stick"},
view_range = 5,
on_rightclick = function(self, clicker)
if not clicker or not clicker:is_player() then
return
end
local item = clicker:get_wielded_item()
if item:get_name() == "mcl_mobitems:saddle" and self.saddle ~= "yes" then
self.object:set_properties({
textures = {"mobs_pig_with_saddle.png"},
})
self.saddle = "yes"
self.tamed = true
self.drops = {
{name = "mcl_mobitems:porkchop",
chance = 1,
min = 1,
max = 3,},
{name = "mcl_mobitems:saddle",
chance = 1,
min = 1,
max = 1,},
}
if not minetest.setting_getbool("creative_mode") then
local inv = clicker:get_inventory()
local stack = inv:get_stack("main", clicker:get_wield_index())
stack:take_item()
inv:set_stack("main", clicker:get_wield_index(), stack)
end
return
end
-- from boats mod
local name = clicker:get_player_name()
if self.driver and clicker == self.driver then
self.driver = nil
clicker:set_detach()
mcl_player.player_attached[name] = false
mcl_player.player_set_animation(clicker, "stand" , 30)
elseif not self.driver and self.saddle == "yes" then
self.driver = clicker
clicker:set_attach(self.object, "", {x = 0, y = 19, z = 0}, {x = 0, y = 0, z = 0})
mcl_player.player_attached[name] = true
minetest.after(0.2, function()
mcl_player.player_set_animation(clicker, "sit" , 30)
end)
----[[
-- ridable pigs
if self.name == "mobs_mc:pig" and self.saddle == "yes" and self.driver then
local item = clicker:get_wielded_item()
if item:get_name() == "mcl_mobitems:carrot_on_a_stick" then
local yaw = self.driver:get_look_yaw() - math.pi / 2
local velo = self.object:getvelocity()
local v = 1.5
if math.abs(velo.x) + math.abs(velo.z) < .6 then velo.y = 5 end
self.state = "walk"
self.object:setyaw(yaw)
self.object:setvelocity({x = -math.sin(yaw) * v, y = velo.y, z = math.cos(yaw) * v})
local inv = self.driver:get_inventory()
-- 26 uses
if item:get_wear() > 63000 then
item = {name = "mcl_fishing:fishing_rod", count = 1}
else
item:add_wear(2521)
end
inv:set_stack("main", self.driver:get_wield_index(), item)
return
end
end
--]]
--self.object:setyaw(clicker:get_look_yaw() - math.pi / 2)
end
--from mobs_animals
if mobs:feed_tame(self, clicker, 8, true, true) then
return
end
mobs:capture_mob(self, clicker, 0, 5, 50, false, nil)
end,
})
mobs:register_spawn("mobs_mc:pig", {"mcl_core:dirt_with_grass"}, 20, 12, 5000, 1, 31000)
--api code to fix
--[[
on_step = function(self, dtime)
-- ridable pigs
if self.name == "mobs:pig" and self.saddle == "yes" and self.driver then
local item = self.driver:get_wielded_item()
if item:get_name() == "mobs:carrotstick" then
local yaw = self.driver:get_look_yaw() - math.pi / 2
local velo = self.object:getvelocity()
local v = 1.5
if math.abs(velo.x) + math.abs(velo.z) < .6 then velo.y = 5 end
self.state = "walk"
self.object:setyaw(yaw)
self.object:setvelocity({x = -math.sin(yaw) * v, y = velo.y, z = math.cos(yaw) * v})
local inv = self.driver:get_inventory()
local stack = inv:get_stack("main", self.driver:get_wield_index())
stack:add_wear(100)
if stack:get_wear() > 65400 then
stack = {name = "fishing:pole", count = 1}
end
inv:set_stack("main", self.driver:get_wield_index(), stack)
return
end
end
end,
]]
-- compatibility
mobs:alias_mob("mobs:pig", "mobs_mc:pig")
-- spawn eggs
mobs:register_egg("mobs_mc:pig", "Spawn Pig", "spawn_egg_pig.png")
if minetest.setting_get("log_mods") then
minetest.log("action", "MC Pig loaded")
end

View file

@ -0,0 +1,21 @@
MC MOBS
WIP
assembled by maikerumine
compatable with mobs redo api
Chicken
- Found in green areas (bamboo biome in ethereal) and lays eggs on flat ground, Can be picked up and placed in inventory and gives 1-2 raw chicken when killed. Feed 8x wheat seed to breed.
Cow
- Wanders around eating grass/wheat and can be right-clicked with empty bucket to get milk. Cows will defend themselves when hit and can be right-clicked with 8x wheat to tame and breed.
Sheep
- Green grass and wheat munchers that can be clipped using shears to give 1-3 wool. Feed sheep 8x wheat to regrow wool, tame and breed. Will drop 1-3 meat when killed.
Note: After breeding animals need to rest for 4 minutes, baby animals take 4 minutes to grow up and feeding them helps them grow quicker...

View file

@ -0,0 +1,139 @@
--MCmobs v0.2
--maikerumine
--made for MC like Survival game
--License for code WTFPL and otherwise stated in readmes
--dofile(minetest.get_modpath("mobs").."/api.lua")
--mcsheep
mobs:register_mob("mobs_mc:sheep", {
type = "animal",
hp_min = 8,
hp_max = 8,
collisionbox = {-0.5, -0.01, -0.5, 0.5, 1.5, 0.5},
visual = "mesh",
mesh = "mobs_sheep.x",
textures = {
{"mobs_sheep.png"}
},
makes_footstep_sound = true,
walk_velocity = 1,
armor = 100,
drops = {
{name = "mcl_mobs:mutton_raw",
chance = 1,
min = 1,
max = 2,},
{name = "mcl_wool:white",
chance = 1,
min = 1,
max = 1,},
},
drawtype = "front",
water_damage = 1,
lava_damage = 5,
light_damage = 0,
fear_height = 3,
sounds = {
random = "Sheep3",
death = "Sheep3",
damage = "Sheep3",
},
animation = {
speed_normal = 24,
stand_start = 0,
stand_end = 23,
walk_start = 24,
walk_end = 49,
hurt_start = 118,
hurt_end = 154,
death_start = 154,
death_end = 179,
eat_start = 49,
eat_end = 78,
look_start = 78,
look_end = 108,
},
follow = "mcl_farming:wheat_item",
view_range = 5,
on_rightclick = function(self, clicker)
local item = clicker:get_wielded_item()
if item:get_name() == "mcl_farming:wheat_item" then
if not self.tamed then
if not minetest.setting_getbool("creative_mode") then
item:take_item()
clicker:set_wielded_item(item)
end
self.tamed = true
elseif self.naked then
if not minetest.setting_getbool("creative_mode") then
item:take_item()
clicker:set_wielded_item(item)
end
self.food = (self.food or 0) + 1
if self.food >= 4 then
self.food = 0
self.naked = false
self.object:set_properties({
textures = {"sheep.png"},
})
end
end
return
end
if item:get_name() == "mcl_core:shears" and not self.naked then
self.naked = true
local pos = self.object:getpos()
minetest.sound_play("shears", {pos = pos})
pos.y = pos.y + 0.5
if not self.color then
minetest.add_item(pos, ItemStack("mcl_wool:white "..math.random(1,3)))
else
minetest.add_item(pos, ItemStack("mcl_wool:"..self.color.." "..math.random(1,3)))
end
self.object:set_properties({
textures = {"sheep_sheared.png"},
})
if not minetest.setting_getbool("creative_mode") then
item:add_wear(300)
clicker:get_inventory():set_stack("main", clicker:get_wield_index(), item)
end
end
if minetest.get_item_group(item:get_name(), "dye") == 1 and not self.naked then
print(item:get_name(), minetest.get_item_group(item:get_name(), "dye"))
local name = item:get_name()
local pname = name:split(":")[2]
self.object:set_properties({
textures = {"mobs_sheep_"..pname..".png"},
})
self.color = pname
self.drops = {
{name = "mcl_mobs:mutton_raw",
chance = 1,
min = 1,
max = 2,},
{name = "mcl_wool:"..self.color,
chance = 1,
min = 1,
max = 1,},
}
end
end,
})
mobs:register_spawn("mobs_mc:sheep", {"mcl_core:dirt_with_grass"}, 20, 12, 5000, 2, 31000)
-- compatibility
mobs:alias_mob("mobs:sheep", "mobs_mc:sheep")
-- spawn eggs
mobs:register_egg("mobs_mc:sheep", "Spawn Sheep", "spawn_egg_sheep.png")
if minetest.setting_get("log_mods") then
minetest.log("action", "MC Sheep loaded")
end

View file

@ -0,0 +1,156 @@
--MCmobs v0.2
--maikerumine
--made for MC like Survival game
--License for code WTFPL and otherwise stated in readmes
--dofile(minetest.get_modpath("mobs").."/api.lua")
mobs:register_mob("mobs_mc:skeleton", {
type = "monster",
hp_min = 30,
hp_max = 30,
collisionbox = {-0.4, -0.01, -0.4, 0.4, 1.9, 0.4},
pathfinding = true,
group_attack = true,
visual = "mesh",
mesh = "mobs_skeleton.x",
textures = {
{"mobs_skeleton.png"}
},
makes_footstep_sound = true,
sounds = {
random = "skeleton1",
death = "skeletondeath",
damage = "skeletonhurt1",
},
walk_velocity = 1.2,
run_velocity = 2.4,
damage = 1,
armor = 200,
drops = {
{name = "mcl_throwing:arrow",
chance = 1,
min = 0,
max = 2,},
{name = "mcl_mobitems:bone",
chance = 1,
min = 0,
max = 2,},
},
animation = {
speed_normal = 30,
speed_run = 60,
stand_start = 0,
stand_end = 23,
walk_start = 24,
walk_end = 49,
run_start = 24,
run_end = 49,
hurt_start = 85,
hurt_end = 115,
death_start = 117,
death_end = 145,
shoot_start = 50,
shoot_end = 82,
},
drawtype = "front",
water_damage = 1,
lava_damage = 5,
light_damage = 1,
view_range = 16,
attack_type = "dogshoot",
arrow = "mcl_throwing:arrow_entity",
shoot_interval = 2.5,
shoot_offset = 1,
--'dogshoot_switch' allows switching between shoot and dogfight modes inside dogshoot using timer (1 = shoot, 2 = dogfight)
--'dogshoot_count_max' number of seconds before switching above modes.
dogshoot_switch = 1,
dogshoot_count_max =3,
})
mobs:register_spawn("mobs_mc:skeleton", {"group:crumbly", "group:cracky", "group:choppy", "group:snappy"}, 7, -1, 5000, 4, 31000)
mobs:register_mob("mobs_mc:skeleton2", {
type = "monster",
hp_max = 60,
collisionbox = {-0.4, -0.01, -0.4, 0.4, 1.9, 0.4},
pathfinding = true,
group_attack = true,
visual = "mesh",
mesh = "mobs_skeleton.x",
textures = {
{"mobs_skeleton2.png"}
},
makes_footstep_sound = true,
sounds = {
random = "skeleton1",
death = "skeletondeath",
damage = "skeletonhurt1",
},
walk_velocity = 1.2,
run_velocity = 2.4,
damage = 3,
armor = 200,
drops = {
{name = "mcl_core:coal_lump",
chance = 1,
min = 0,
max = 1,},
{name = "mcl_mobitems:bone",
chance = 1,
min = 0,
max = 2,},
{name = "mcl_heads:wither_skeleton",
chance = 40,
min = 1,
max = 1,},
},
animation = {
speed_normal = 30,
speed_run = 60,
stand_start = 0,
stand_end = 23,
walk_start = 24,
walk_end = 49,
run_start = 24,
run_end = 49,
hurt_start = 85,
hurt_end = 115,
death_start = 117,
death_end = 145,
shoot_start = 50,
shoot_end = 82,
},
drawtype = "front",
water_damage = 1,
lava_damage = 0,
light_damage = 0,
view_range = 16,
attack_type = "dogshoot",
arrow = "mcl_throwing:arrow_entity",
shoot_interval = 0.5,
shoot_offset = 1,
--'dogshoot_switch' allows switching between shoot and dogfight modes inside dogshoot using timer (1 = shoot, 2 = dogfight)
--'dogshoot_count_max' number of seconds before switching above modes.
dogshoot_switch = 1,
dogshoot_count_max =6,
})
mobs:register_spawn("mobs_mc:skeleton2", {"group:crumbly", "group:cracky", "group:choppy", "group:snappy"}, 7, -1, 5000, 4, -3000)
local arrows = {
{"mcl_throwing:arrow", "mcl_throwing:arrow_entity" },
}
-- compatibility
mobs:alias_mob("mobs:skeleton", "mobs_mc:skeleton")
-- spawn eggs
mobs:register_egg("mobs_mc:skeleton", "Spawn Skeleton", "spawn_egg_skeleton.png")
mobs:register_egg("mobs_mc:skeleton2", "Spawn Wither Skeleton", "spawn_egg_wither_skeleton.png")
if minetest.setting_get("log_mods") then
minetest.log("action", "MC Skeleton loaded")
end

View file

@ -0,0 +1,334 @@
--MCmobs v0.2
--maikerumine
--made for MC like Survival game
--License for code WTFPL and otherwise stated in readmes
--dofile(minetest.get_modpath("mobs").."/api.lua")
mobs:register_mob("mobs_mc:greensmall", {
type = "monster",
pathfinding = true,
group_attack = true,
hp_min = 1,
hp_max = 1,
collisionbox = {-0.2, -0.4, -0.2, 0.2, 0.2, 0.2},
visual_size = {x=0.5, y=0.5},
textures = {
{"green_slime_top.png", "green_slime_bottom.png", "green_slime_front.png", "green_slime_sides.png", "green_slime_sides.png", "green_slime_sides.png"}
},
visual = "cube",
blood_texture ="green_slime_blood.png",
rotate = 270,
makes_footstep_sound = true,
sounds = {
jump = "green_slime_jump",
death = "green_slime_death",
damage = "green_slime_damage",
attack = "green_slime_attack",
},
walk_velocity = .8,
run_velocity = 2.6,
damage = 0,
armor = 100,
drops = {
{name = "mcl_mobitems:slimeball",
chance = 1,
min = 0,
max = 2,},
},
animation = {
speed_normal = 24,
speed_run = 48,
stand_start = 0,
stand_end = 23,
walk_start = 24,
walk_end = 47,
run_start = 48,
run_end = 62,
hurt_start = 64,
hurt_end = 86,
death_start = 88,
death_end = 118,
},
drawtype = "front",
water_damage = 0,
lava_damage = 10,
light_damage = 0,
fall_damage = 0,
view_range = 16,
attack_type = "dogfight",
passive = false,
jump = true,
jump_height = 4,
jump_chance = 98,
fear_height = 12,
})
mobs:register_mob("mobs_mc:greenmedium", {
type = "monster",
pathfinding = true,
group_attack = true,
hp_min = 4,
hp_max = 4,
collisionbox = {-0.55, -0.55, -0.55, 0.55, 0.55, 0.55},
visual_size = {x=1.0, y=1.0},
textures = {
{"green_slime_top.png", "green_slime_bottom.png", "green_slime_front.png", "green_slime_sides.png", "green_slime_sides.png", "green_slime_sides.png"}
},
visual = "cube",
blood_texture ="green_slime_blood.png",
rotate = 270,
makes_footstep_sound = true,
sounds = {
jump = "green_slime_jump",
death = "green_slime_death",
damage = "green_slime_damage",
attack = "green_slime_attack",
},
walk_velocity = .8,
run_velocity = 2.0,
damage = 2,
armor = 100,
drops = {},
animation = {
speed_normal = 24,
speed_run = 48,
stand_start = 0,
stand_end = 23,
walk_start = 24,
walk_end = 47,
run_start = 48,
run_end = 62,
hurt_start = 64,
hurt_end = 86,
death_start = 88,
death_end = 118,
},
drawtype = "front",
water_damage = 0,
lava_damage = 10,
light_damage = 0,
fall_damage = 0,
view_range = 16,
attack_type = "dogfight",
passive = false,
jump = true,
jump_height = 8,
jump_chance = 100,
fear_height = 60,
on_die =function(self, pos)
for i=1,4 do
minetest.add_entity(self.object:getpos(), "mobs_mc:greensmall")
end
end
})
mobs:register_mob("mobs_mc:greenbig", {
type = "monster",
pathfinding = true,
group_attack = true,
hp_min = 16,
hp_max = 16,
collisionbox = {-0.75, -0.75, -0.75, 0.75, 0.75, 0.75},
visual_size = {x=1.5, y=1.5},
textures = {
{"green_slime_top.png", "green_slime_bottom.png", "green_slime_front.png", "green_slime_sides.png", "green_slime_sides.png", "green_slime_sides.png"}
},
visual = "cube",
blood_texture ="green_slime_blood.png",
rotate = 270,
makes_footstep_sound = true,
sounds = {
jump = "green_slime_jump",
death = "green_slime_death",
damage = "green_slime_damage",
attack = "green_slime_attack",
},
walk_velocity = .8,
run_velocity = 1.6,
damage = 4,
armor = 100,
drops = {},
animation = {
speed_normal = 24,
speed_run = 48,
stand_start = 0,
stand_end = 23,
walk_start = 24,
walk_end = 47,
run_start = 48,
run_end = 62,
hurt_start = 64,
hurt_end = 86,
death_start = 88,
death_end = 118,
},
drawtype = "front",
water_damage = 0,
lava_damage = 10,
light_damage = 0,
fall_damage = 0,
view_range = 16,
attack_type = "dogfight",
passive = false,
jump = true,
jump_height = 8,
jump_chance = 100,
fear_height = 60,
on_die = function(self, pos)
for i=1,2 do
minetest.add_entity(self.object:getpos(), "mobs_mc:greenmedium")
end
end,
})
mobs:register_spawn("mobs_mc:greensmall", {"mcl_core:water_flowing", "mcl_core:mossycobble"}, 7, -1, 5000, 4, 31000)
mobs:register_spawn("mobs_mc:greenmedium", {"mcl_core:water_flowing", "mcl_core:mossycobble"}, 7, -1, 5000, 4, 31000)
mobs:register_spawn("mobs_mc:greenbig", {"mcl_core:water_flowing", "mcl_core:mossycobble"}, 7, -1, 5000, 4, 31000)
mobs:register_mob("mobs_mc:lavasmall", {
type = "monster",
pathfinding = true,
group_attack = true,
hp_min = 4,
hp_max = 4,
collisionbox = {-0.2, -0.4, -0.2, 0.2, 0.2, 0.2},
visual_size = {x=0.5, y=0.5},
textures = {
{"lava_slime_top.png", "lava_slime_bottom.png", "lava_slime_front.png", "lava_slime_sides.png", "lava_slime_sides.png", "lava_slime_sides.png"}
},
visual = "cube",
blood_texture ="lava_slime_blood.png",
rotate = 270,
makes_footstep_sound = true,
sounds = {
jump = "green_slime_jump",
death = "green_slime_death",
damage = "green_slime_damage",
attack = "green_slime_attack",
},
walk_velocity = .8,
run_velocity = 2.6,
damage = 1,
armor = 100,
drops = {},
animation = {
speed_normal = 24,
speed_run = 48,
stand_start = 0,
stand_end = 23,
walk_start = 24,
walk_end = 47,
run_start = 48,
run_end = 62,
hurt_start = 64,
hurt_end = 86,
death_start = 88,
death_end = 118,
},
drawtype = "front",
water_damage = 10,
lava_damage = 0,
light_damage = 0,
fall_damage = 0,
view_range = 16,
attack_type = "dogfight",
passive = false,
jump = true,
jump_height = 4,
jump_chance = 98,
fear_height = 12,
})
mobs:register_mob("mobs_mc:lavabig", {
type = "monster",
pathfinding = true,
group_attack = true,
hp_min = 16,
hp_max = 16,
collisionbox = {-0.75, -0.75, -0.75, 0.75, 0.75, 0.75},
visual_size = {x=1.5, y=1.5},
textures = {
{"lava_slime_top.png", "lava_slime_bottom.png", "lava_slime_front.png", "lava_slime_sides.png", "lava_slime_sides.png", "lava_slime_sides.png"}
},
visual = "cube",
blood_texture ="lava_slime_blood.png",
rotate = 270,
makes_footstep_sound = true,
sounds = {
jump = "green_slime_jump",
death = "green_slime_death",
damage = "green_slime_damage",
attack = "green_slime_attack",
},
walk_velocity = .8,
run_velocity = 1.6,
damage = 2,
armor = 100,
drops = {
{name = "mcl_mobitems:magma_cream",
chance = 1,
min = 0,
max = 1,},
},
animation = {
speed_normal = 24,
speed_run = 48,
stand_start = 0,
stand_end = 23,
walk_start = 24,
walk_end = 47,
run_start = 48,
run_end = 62,
hurt_start = 64,
hurt_end = 86,
death_start = 88,
death_end = 118,
},
drawtype = "front",
water_damage = 10,
lava_damage = 0,
light_damage = 0,
fall_damage = 0,
view_range = 16,
attack_type = "dogfight",
passive = false,
jump = true,
jump_height = 8,
jump_chance = 100,
fear_height = 60,
on_die = function(self, pos)
for i=1,4 do
minetest.add_entity(self.object:getpos(), "mobs_mc:lavasmall")
end
end
})
mobs:register_spawn("mobs_mc:lavasmall", {"nether:rack", "mcl_core:lava"}, 7, -1, 5000, 4, 31000)
mobs:register_spawn("mobs_mc:lavabig", {"nether:rack", "mcl_core:lava"}, 7, -1, 5000, 4, 31000)
-- compatibility
mobs:alias_mob("mobs:lavasmall", "mobs_mc:lavasmall")
mobs:alias_mob("mobs:lavabig", "mobs_mc:lavabig")
mobs:alias_mob("mobs:greensmall", "mobs_mc:greensmall")
mobs:alias_mob("mobs:greenmediuml", "mobs_mc:greenmedium")
mobs:alias_mob("mobs:greenbig", "mobs_mc:greenbig")
mobs:alias_mob("slimes:lavasmall", "mobs_mc:lavasmall")
mobs:alias_mob("slimes:lavabig", "mobs_mc:lavabig")
mobs:alias_mob("slimes:greensmall", "mobs_mc:greensmall")
mobs:alias_mob("slimes:greenmediuml", "mobs_mc:greenmedium")
mobs:alias_mob("slimes:greenbig", "mobs_mc:greenbig")
-- spawn eggs
mobs:register_egg("mobs_mc:lavabig", "Spawn Magma Cube", "spawn_egg_magma_cube.png")
mobs:register_egg("mobs_mc:greenbig", "Spawn Green Slime", "spawn_egg_slime.png")
if minetest.setting_get("log_mods") then
minetest.log("action", "MC Slimes loaded")
end

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

View file

@ -0,0 +1,73 @@
--MCmobs v0.2
--maikerumine
--made for MC like Survival game
--License for code WTFPL and otherwise stated in readmes
--dofile(minetest.get_modpath("mobs").."/api.lua")
-- Spider by AspireMint (fishyWET (CC-BY-SA 3.0 license for texture)
mobs:register_mob("mobs_mc:spider", {
type = "monster",
passive = false,
attack_type = "dogfight",
pathfinding = true,
damage = 2,
hp_min = 16,
hp_max = 16,
armor = 100,
collisionbox = {-0.9, -0.01, -0.7, 0.7, 0.6, 0.7},
visual = "mesh",
mesh = "mobs_spider.x",
textures = {
{"mobs_spider.png"}
},
visual_size = {x=5,y=5},
makes_footstep_sound = false,
sounds = {
random = "mobs_spider",
attack = "mobs_spider",
},
walk_velocity = 1.7,
run_velocity = 3.3,
jump = true,
view_range = 15,
floats = 0,
group_attack = true,
replace_rate = 5,
replace_what = {"mcl_torches:torch"},
replace_with = "air",
replace_offset = -1,
peaceful = false,
drops = {
{name = "mcl_mobitems:string",
chance = 1, min = 0, max = 2,},
{name = "mcl_mobitems:spider_eye",
chance = 3, min = 1, max = 1,},
},
water_damage = 5,
lava_damage = 50,
light_damage = 0,
fear_height = 14,
animation = {
speed_normal = 15, speed_run = 15,
stand_start = 1, stand_end = 1,
walk_start = 20, walk_end = 40,
run_start = 20, run_end = 40,
punch_start = 50, punch_end = 90,
},
})
mobs:register_spawn("mobs_mc:spider", {"mcl_core:stone" ,"mcl_core:gravel","mcl_core:cobble","group:crumbly", "group:cracky", "group:choppy", "group:snappy"}, 4, -1, 17000, 2, 3000)
-- compatibility
mobs:alias_mob("mobs:spider", "mobs_mc:spider")
mobs:alias_mob("esmobs:spider", "mobs_mc:spider")
-- spawn eggs
mobs:register_egg("mobs_mc:spider", "Spawn Spider", "mobs_cobweb.png", 1)
if minetest.setting_get("log_mods") then
minetest.log("action", "MC Spiders loaded")
end

Binary file not shown.

After

Width:  |  Height:  |  Size: 3.6 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 366 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 610 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 217 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 203 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 422 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 466 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 476 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 386 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 217 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 461 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 528 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 485 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 485 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.3 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 267 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 312 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 3.5 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 235 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 166 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 191 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 144 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 6.7 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 13 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 3.6 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 3.5 KiB

Some files were not shown because too many files have changed in this diff Show more