Compare commits

...

2 Commits

Author SHA1 Message Date
Wuzzy 78fda0e7a6 Add mobs_mc_gameconfig to setup mobs_mc 2017-07-05 03:06:32 +02:00
Wuzzy 39a4532678 Update the brand new mobs_mc mod 2017-07-05 03:05:50 +02:00
142 changed files with 146 additions and 67188 deletions

1
mods/ENTITIES/mobs_mc Submodule

@ -0,0 +1 @@
Subproject commit cc0f5a09dc6fccf80447edf6820dddaf64c1c6f1

View File

@ -1,64 +0,0 @@
MC MOBS
WIP
assembled by maikerumine
compatable with Mobs Redo API
## LICENSING
Note: In the following file name lists, the asterisk (“`*`”) is a placeholder which stands for any sequence of characters.
Everything not explicitly mentioned or with no license mentioned falls under the license of the MineClone 2 project (see README.md in the top directory of MineClone 2).
### Code
MIT License
by PilzAdam and others
### Sound files
- `mobs_mc_squid_hurt.ogg`
- Author: daufinsyd
- `mobs_mc_chicken_lay_egg.ogg`
- WTFPL, by PilzAdam and Wuzzy
- `mobs_mc_cow.ogg`
- CC0, by Freesound.org user Zozzy
- Source: <https://www.freesound.org/people/Zozzy/sounds/59245/>
- `mobs_*.ogg` (except the files above)
- MIT License, from `mobs_animal` and `mobs_monster` by TenPlus1
- `blaze_breath.ogg`
- `blaze_died1.ogg`
- Author: daufinsyd
- `blaze_hurt1.ogg`
- CC0, by freesound.org user thefilmbakery
- Source: <https://freesound.org/people/thefilmbakery/sounds/137836/>
- `green_slime_death.ogg`
- CC BY 3.0 <http://creativecommons.org/licenses/by/3.0/>
- By freesound.org user DrMinky
- Source: <https://freesound.org/people/DrMinky/sounds/167074/>
- `green_slime_*.ogg`
- MIT License
- `mobs_sheep.ogg`
- [CC BY 3.0](https://creativecommons.org/licenses/by/3.0/), created by the Blender Foundation
### Textures
- `mobs_squid.png`
- `mobs_blaze.png`
- GPLv3 by 22i
- `mobs_bunny_*.png`
- MIT License, by ExeterDad
- `spawn_egg_squid.png`
- `spawn_egg_blaze.png`
- Author: daufinsyd
- `spawn_egg_rabbit.png`
- MIT License, by Wuzzy
- `mobs_skeleton2.png`
- MIT License, originally from Faithful texture pack
(see MineClone 2 main readme file), edited by kingoscargames
### Models
- `mobs_bunny.b3d`
- MIT License, by ExeterDad
Everything else:
Faithful 1.11
- MIT License, by Vattic, xMrVizzy and contributors

View File

@ -1,110 +0,0 @@
-- 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 = 1,
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",
-- MC Wiki: 1 damage every half second
water_damage = 2,
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, -1000)
-- 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)
mcl_hunger.exhaust(player:get_player_name(), mcl_hunger.EXHAUST_DAMAGE)
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:fire"})
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

@ -1,107 +0,0 @@
--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,
-- The x/z size is slightly bigger than in Minecraft (MC: 0.4×0.4; MCL2: 0.5×0.5)
collisionbox = {-0.25, -0.01, -0.25, 0.25, 0.69, 0.25},
visual = "mesh",
visual_size = {x=0.7, y=0.7},
mesh = "mobs_mc_chicken.x",
textures = {
{"mobs_mc_chicken.png"}
},
makes_footstep_sound = true,
walk_velocity = 1,
armor = 100,
drops = {
{name = "mcl_mobitems:chicken",
chance = 1,
min = 1,
max = 1,},
{name = "mcl_mobitems:feather",
chance = 1,
min = 0,
max = 2,},
},
drawtype = "front",
lava_damage = minetest.registered_nodes["mcl_core:lava_source"].damage_per_second,
light_damage = 0,
fall_damage = false,
fear_height = 4,
jump_height = 4.5,
sounds = {
random = "mobs_chicken",
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,
},
--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, 1, true, true) then
return
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, "mcl_throwing:egg")
minetest.sound_play("mobs_mc_chicken_lay_egg", {
pos = pos,
gain = 1.0,
max_hear_distance = 5,
})
end,
})
mobs:register_spawn("mobs_mc:chicken", {"mcl_core:dirt_with_grass"}, 20, 9, 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

@ -1,104 +0,0 @@
--MCmobs v0.2
--maikerumine
--made for MC like Survival game
--License for code WTFPL and otherwise stated in readmes
mobs:register_mob("mobs_mc:cow", {
type = "animal",
hp_min = 10,
hp_max = 10,
collisionbox = {-0.8, -0.01, -0.8, 0.8, 1.8, 0.8},
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",
chance = 1,
min = 1,
max = 3,},
{name = "mcl_mobitems:leather",
chance = 1,
min = 0,
max = 2,},
},
drawtype = "front",
lava_damage = minetest.registered_nodes["mcl_core:lava_source"].damage_per_second,
light_damage = 0,
fear_height = 3,
sounds = {
random = "mobs_mc_cow",
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,
},
--from mobs_animals
follow = "mcl_farming:wheat_item",
view_range = 10,
fear_height = 2,
jump_height = 1.25,
on_rightclick = function(self, clicker)
-- feed or tame
if mobs:feed_tame(self, clicker, 1, 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.child == true then
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
return
end
end,
})
mobs:register_spawn("mobs_mc:cow", {"mcl_core:dirt_with_grass"}, 20, 9, 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

@ -1,88 +0,0 @@
--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 = 1,
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 = "tnt_ignite",
death = "Creeperdeath",
damage = "Creeper4",
war_cry = "tnt_ignite",
explode = "tnt_explode",
},
walk_velocity = 1.5,
run_velocity = 3,
damage = 1,
explosion_radius = 3,
armor = 100,
maxdrops = 3,
drops = {
{name = "mcl_mobitems:gunpowder",
chance = 1,
min = 0,
max = 2,},
-- TODO: In Minecraft, record discs only drop when a creeper got killed by a skeleton's arrow
{name = "mcl_jukebox:record_6",
chance = 100,
min = 1,
max = 1,},
{name = "mcl_jukebox:record_7",
chance = 125,
min = 1,
max = 1,},
},
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",
lava_damage = minetest.registered_nodes["mcl_core:lava_source"].damage_per_second,
light_damage = 0,
view_range = 16,
attack_type = "explode",
})
mobs:register_spawn("mobs_mc:creeper", {"group:solid"}, 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

@ -1,8 +0,0 @@
mcl_core
mcl_tools
mcl_hunger
mcl_fire
mobs
mcl_tnt
mcl_mobitems
3d_armor?

View File

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

View File

@ -1,73 +0,0 @@
--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, -1.5, -0.4, 0.4, 1.5, 0.4},
pathfinding = 1,
visual = "mesh",
mesh = "mobs_sand_monster.b3d",
textures = {
{"mobs_endermen.png"}
},
visual_size = {x=1.5, y=1.6},
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 = minetest.registered_nodes["mcl_core:lava_source"].damage_per_second,
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_mushrooms:mushroom_red", "mcl_mushrooms: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", { "group:solid"}, 7, -1, 6000, 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

@ -1,122 +0,0 @@
--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 = 1,
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_mobitems: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",
lava_damage = 0,
light_damage = 0,
fall_damage = 0,
view_range = 100,
--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)
mcl_hunger.exhaust(player:get_player_name(), mcl_hunger.EXHAUST_DAMAGE)
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

@ -1,33 +0,0 @@
--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 .. "/rabbit.lua") -- ExeterDad
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 .. "/squid.lua") -- Animation, sound and egg texture by daufinsyd
-- 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
dofile(path .. "/old_mobs.lua") -- Compability with old removed mobs. To be removed later
print ("[MOD] Mobs Redo 'MC' loaded")

View File

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

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

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

@ -1,18 +0,0 @@
-- Compatibility with deleted mobs
-- Magically turn horses into rabbits and cows. :D
mobs:alias_mob("mobs_mc:horse", "mobs_mc:rabbit")
mobs:alias_mob("mobs_mc:horse2", "mobs_mc:cow")
mobs:alias_mob("mobs_mc:horse3", "mobs_mc:cow")
minetest.register_alias("mobs_mc:horse", "mobs_mc:rabbit")
minetest.register_alias("mobs_mc:horse2", "mobs_mc:cow")
minetest.register_alias("mobs_mc:horse3", "mobs_mc:cow")
-- Magically turn wolves into sheep. (How ironic!)
mobs:alias_mob("mobs_mc:wolf", "mobs_mc:sheep")
mobs:alias_mob("mobs_mc:dog", "mobs_mc:sheep")
minetest.register_alias("mobs_mc:wolf", "mobs_mc:sheep")

View File

@ -1,182 +0,0 @@
--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.5, -0.01, -0.5, 0.5, 0.874, 0.5},
visual = "mesh",
visual_size = {x=0.875, y=0.875},
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",
lava_damage = minetest.registered_nodes["mcl_core:lava_source"].damage_per_second,
light_damage = 0,
fear_height = 4,
jump_height = 4.5,
sounds = {
random = "mobs_pig",
death = "mobs_pig_angry",
damage = "mobs_pig",
},
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:beetroot_item", "mcl_farming:carrot_item", "mcl_mobitems:carrot_on_a_stick", "mcl_farming:potato_item"},
view_range = 5,
on_rightclick = function(self, clicker)
if not clicker or not clicker:is_player() then
return
end
local wielditem = clicker:get_wielded_item()
-- Feed pig
if wielditem:get_name() ~= "mcl_mobitems:carrot_on_a_stick" then
if mobs:feed_tame(self, clicker, 1, true, true) then
return
end
end
-- Put saddle on pig
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
-- Ride pig if it has a saddle and player uses a carrot on a stick
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)
if self.name == "mobs_mc:pig" and self.saddle == "yes" and self.driver then
if wielditem: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 wielditem:get_wear() > 63000 then
wielditem = {name = "mcl_fishing:fishing_rod", count = 1}
else
wielditem:add_wear(2521)
end
inv:set_stack("main", self.driver:get_wield_index(), wielditem)
return
end
end
end
end,
})
mobs:register_spawn("mobs_mc:pig", {"mcl_core:dirt_with_grass"}, 20, 9, 5000, 1, 31000)
--[[
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

@ -1,82 +0,0 @@
local S = mobs.intllib
-- Rabbit by ExeterDad
mobs:register_mob("mobs_mc:rabbit", {
type = "animal",
passive = true,
reach = 1,
hp_min = 3,
hp_max = 3,
armor = 100,
collisionbox = {-0.268, -0.5, -0.268, 0.268, 0.167, 0.268},
visual = "mesh",
mesh = "mobs_bunny.b3d",
drawtype = "front",
textures = {
{"mobs_bunny_black.png"},
{"mobs_bunny_brown.png"},
{"mobs_bunny_salt.png"},
{"mobs_bunny_white.png"},
{"mobs_bunny_gold.png"},
},
sounds = {},
makes_footstep_sound = false,
walk_velocity = 1,
run_velocity = 2,
runaway = true,
jump = true,
drops = {
{name = "mcl_mobitems:rabbit", chance = 1, min = 0, max = 1},
{name = "mcl_mobitems:rabbit_hide", chance = 1, min = 0, max = 1},
{name = "mcl_mobitems:rabbit_foot", chance = 10, min = 1, max = 1},
},
lava_damage = minetest.registered_nodes["mcl_core:lava_source"].damage_per_second,
light_damage = 0,
fear_height = 3,
animation = {
speed_normal = 15,
stand_start = 1,
stand_end = 15,
walk_start = 16,
walk_end = 24,
punch_start = 16,
punch_end = 24,
},
follow = {"mcl_farming:carrot_item", "mcl_farming:carrot_item_gold", "mcl_flowers:dandelion"},
view_range = 8,
replace_rate = 10,
replace_what = {"mcl_farming:carrot_3", "mcl_farming:carrot_2", "mcl_farming:carrot_1"},
replace_with = "air",
on_rightclick = function(self, clicker)
-- feed or tame
if mobs:feed_tame(self, clicker, 1, true, true) then
return
end
end,
})
local spawn_on = {
"mcl_core::dirt_with_grass", "mcl_core:sand", "mcl_core:snow", "mcl_core:snowblock", "mcl_core:podzol", "mcl_core:ice"
}
mobs:spawn({
name = "mobs_mc:rabbit",
nodes = spawn_on,
min_light = 10,
chance = 15000,
min_height = 0,
day_toggle = true,
})
mobs:register_egg("mobs_mc:rabbit", "Spawn Rabbit", "spawn_egg_rabbit.png", 0)
mobs:alias_mob("mobs:bunny", "mobs_mc:bunny") -- compatibility

View File

@ -1,197 +0,0 @@
--MCmobs v0.2
--maikerumine
--made for MC like Survival game
--License for code WTFPL and otherwise stated in readmes
local colors = {
-- dyecolor = { woolcolor, textures }
white = { "white", { "mobs_sheep.png" } },
brown = { "brown", { "mobs_sheep_brown.png" } },
grey = { "silver", { "mobs_sheep_grey.png" } },
dark_grey = { "grey", { "mobs_sheep_dark_grey.png" } },
blue = { "blue", { "mobs_sheep_blue.png" } },
lightblue = { "light_blue", { "mobs_sheep_lightblue.png" } },
dark_green = { "green", { "mobs_sheep_dark_green.png" } },
green = { "lime", { "mobs_sheep_green.png" } },
violet = { "purple", { "mobs_sheep_violet.png" } },
pink = { "pink", { "mobs_sheep_pink.png" } },
yellow = { "yellow", { "mobs_sheep_yellow.png" } },
orange = { "orange", { "mobs_sheep_orange.png" } },
red = { "red", { "mobs_sheep_red.png" } },
cyan = { "cyan", { "mobs_sheep_cyan.png" } },
magenta = { "magenta", { "mobs_sheep_magenta.png" } },
black = { "black", { "mobs_sheep_black.png" } },
}
-- Sheep
mobs:register_mob("mobs_mc:sheep", {
type = "animal",
hp_min = 8,
hp_max = 8,
-- FIXME: Should be 1.3 blocks high
collisionbox = {-0.45, -0.01, -0.45, 0.45, 1.09, 0.45},
visual = "mesh",
visual_size = {x=0.6, y=0.6},
mesh = "mobs_sheep.x",
textures = {{"mobs_sheep.png"}},
makes_footstep_sound = true,
walk_velocity = 1,
armor = 100,
drops = {
{name = "mcl_mobitems:mutton",
chance = 1,
min = 1,
max = 2,},
{name = "mcl_wool:white",
chance = 1,
min = 1,
max = 1,},
},
drawtype = "front",
lava_damage = minetest.registered_nodes["mcl_core:lava_source"].damage_per_second,
light_damage = 0,
fear_height = 4,
jump_height = 4.5,
sounds = {
random = "mobs_sheep",
death = "mobs_sheep",
damage = "mobs_sheep",
},
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,
replace_rate = 10,
replace_what = {"mcl_core:dirt_with_grass", "mcl_flowers:tallgrass"},
replace_with = "air",
do_custom = function(self)
if not self.initial_color_set then
local r = math.random(0,100000)
local textures
if r <= 81836 then
-- 81.836%
self.color = colors["white"][1]
textures = colors["white"][2]
self.base_texture = colors["white"][2]
elseif r <= 81836 + 5000 then
-- 5%
self.color = colors["grey"][1]
textures = colors["grey"][2]
self.base_texture = colors["grey"][2]
elseif r <= 81836 + 5000 + 5000 then
-- 5%
self.color = colors["dark_grey"][1]
textures = colors["dark_grey"][2]
self.base_texture = colors["dark_grey"][2]
elseif r <= 81836 + 5000 + 5000 + 5000 then
-- 5%
self.color = colors["black"][1]
textures = colors["black"][2]
self.base_texture = colors["black"][2]
elseif r <= 81836 + 5000 + 5000 + 5000 + 3000 then
-- 3%
self.color = colors["brown"][1]
textures = colors["brown"][2]
self.base_texture = colors["brown"][2]
else
-- 0.164%
self.color = colors["pink"][1]
textures = colors["pink"][2]
self.base_texture = colors["pink"][2]
end
self.textures = { textures },
self.object:set_properties({ textures = textures })
self.drops = {
{name = "mcl_mobitems:mutton",
chance = 1,
min = 1,
max = 2,},
{name = "mcl_wool:"..self.color,
chance = 1,
min = 1,
max = 1,},
}
self.initial_color_set = true
end
end,
on_rightclick = function(self, clicker)
if mobs:feed_tame(self, clicker, 1, true, true) then
return
end
local item = clicker:get_wielded_item()
if item:get_name() == "mcl_tools:shears" and not self.gotten and not self.child then
self.gotten = 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 = {"mobs_sheep_sheared.png"},
})
if not minetest.setting_getbool("creative_mode") then
item:add_wear(65535/238)
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.gotten 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 = colors[pname][2],
})
self.base_texture = colors[pname][2]
self.color = colors[pname][1]
self.drops = {
{name = "mcl_mobitems:mutton",
chance = 1,
min = 1,
max = 2,},
{name = "mcl_wool:"..self.color,
chance = 1,
min = 1,
max = 1,},
}
if not minetest.setting_getbool("creative_mode") then
item:take_item()
clicker:get_inventory():set_stack("main", clicker:get_wield_index(), item)
end
end
end,
})
mobs:register_spawn("mobs_mc:sheep", {"mcl_core:dirt_with_grass"}, 20, 9, 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

@ -1,144 +0,0 @@
--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 = 20,
hp_max = 20,
collisionbox = {-0.4, -0.01, -0.4, 0.4, 1.9, 0.4},
pathfinding = 1,
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 = 100,
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",
lava_damage = minetest.registered_nodes["mcl_core:lava_source"].damage_per_second,
-- TODO: Mob should burn only in direct sunlight
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:solid"}, 7, -1, 5000, 4, 31000)
mobs:register_mob("mobs_mc:skeleton2", {
type = "monster",
hp_min = 20,
hp_max = 20,
collisionbox = {-0.3, -1.0, -0.3, 0.3, 0.8, 0.3},
pathfinding = 1,
group_attack = false,
visual = "mesh",
mesh = "3d_armor_character.b3d",
textures = {
{"mobs_skeleton2.png",
"3d_armor_trans.png",
minetest.registered_items["mcl_tools:sword_stone"].inventory_image,
},
},
makes_footstep_sound = true,
sounds = {
random = "skeleton1",
death = "skeletondeath",
damage = "skeletonhurt1",
},
walk_velocity = 1.2,
run_velocity = 2.4,
damage = 7,
armor = 100,
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 = 30,
stand_start = 0, stand_end = 79,
walk_start = 168, walk_end = 187,
run_start = 168, run_end = 187,
punch_start = 200, punch_end = 219,
},
drawtype = "front",
water_damage = 1,
lava_damage = 0,
light_damage = 0,
view_range = 16,
attack_type = "dogfight",
})
mobs:register_spawn("mobs_mc:skeleton2", {"group:solid"}, 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

@ -1,446 +0,0 @@
--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 = 1,
group_attack = true,
hp_min = 1,
hp_max = 1,
collisionbox = {-0.3, -0.3, -0.3, 0.3, 0.3, 0.3},
visual_size = {x=0.6, y=0.6},
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",
},
-- FIXME: The tiny slimes deal damage although this number is set to 0. Strange.
damage = 0,
reach = 2.5,
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 = minetest.registered_nodes["mcl_core:lava_source"].damage_per_second,
light_damage = 0,
fall_damage = 0,
view_range = 16,
attack_type = "dogfight",
passive = false,
jump = true,
walk_velocity = 0.7,
run_velocity = 0.7,
walk_chance = 0,
jump_height = 3,
jump_chance = 98,
fear_height = 12,
})
mobs:register_mob("mobs_mc:greenmedium", {
type = "monster",
pathfinding = 1,
group_attack = true,
hp_min = 4,
hp_max = 4,
collisionbox = {-0.6, -0.6, -0.6, 0.6, 0.6, 0.6},
visual_size = {x=1.2, y=1.2},
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",
},
damage = 2,
reach = 2.75,
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 = minetest.registered_nodes["mcl_core:lava_source"].damage_per_second,
light_damage = 0,
fall_damage = 0,
view_range = 16,
attack_type = "dogfight",
passive = false,
jump = true,
walk_chance = 0,
walk_velocity = 1.3,
run_velocity = 1.3,
jump_height = 4.3,
jump_chance = 100,
fear_height = 60,
on_die = function(self, pos)
local angle, posadd, dir
angle = math.random(0, math.pi*2)
for i=1,4 do
dir = {x=math.cos(angle),y=0,z=math.sin(angle)}
posadd = vector.multiply(vector.normalize(dir), 0.6)
local slime = minetest.add_entity(vector.add(pos, posadd), "mobs_mc:greensmall")
slime:setvelocity(dir)
slime:setyaw(angle)
angle = angle + math.pi/2
end
end
})
mobs:register_mob("mobs_mc:greenbig", {
type = "monster",
pathfinding = 1,
group_attack = true,
hp_min = 16,
hp_max = 16,
collisionbox = {-1.2, -1.2, -1.2, 1.2, 1.2, 1.2},
visual_size = {x=2.4, y=2.4},
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",
},
damage = 4,
reach = 3,
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 = minetest.registered_nodes["mcl_core:lava_source"].damage_per_second,
light_damage = 0,
fall_damage = 0,
view_range = 16,
attack_type = "dogfight",
passive = false,
jump = true,
walk_velocity = 2.5,
run_velocity = 2.5,
walk_chance = 0,
jump_height = 5.2,
jump_chance = 100,
fear_height = 60,
on_die = function(self, pos)
local angle, posadd
angle = math.random(0, math.pi*2)
for i=1,4 do
posadd = {x=math.cos(angle),y=0,z=math.sin(angle)}
posadd = vector.normalize(posadd)
local slime = minetest.add_entity(vector.add(pos, posadd), "mobs_mc:greenmedium")
slime:setvelocity(vector.multiply(posadd, 1.5))
slime:setyaw(angle)
angle = angle + math.pi/2
end
end,
})
mobs:register_spawn("mobs_mc:greensmall", {"mcl_core:water_flowing", "group:solid"}, 15, 0, 5000, 4, -12)
mobs:register_spawn("mobs_mc:greenmedium", {"mcl_core:water_flowing", "group:solid"}, 15, 0, 5000, 4, -12)
mobs:register_spawn("mobs_mc:greenbig", {"mcl_core:water_flowing", "group:solid"}, 15, 0, 5000, 4, -12)
mobs:register_mob("mobs_mc:lavasmall", {
type = "monster",
pathfinding = 1,
group_attack = true,
hp_min = 1,
hp_max = 1,
collisionbox = {-0.2505, -0.2505, -0.2505, 0.2505, 0.2505, 0.2505},
visual_size = {x=0.51, y=0.51},
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 = 1.02,
run_velocity = 1.02,
damage = 3,
reach = 2.5,
armor = 85,
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 = 0,
light_damage = 0,
fall_damage = 0,
view_range = 16,
attack_type = "dogfight",
passive = false,
jump = true,
jump_height = 4,
walk_chance = 0,
jump_chance = 80,
fear_height = 100000,
})
mobs:register_mob("mobs_mc:lavamedium", {
type = "monster",
pathfinding = 1,
group_attack = true,
hp_min = 4,
hp_max = 4,
collisionbox = {-0.51, -0.51, -0.51, 0.51, 0.51, 0.51},
visual_size = {x=1.01, y=1.01},
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 = 4,
reach = 2.75,
armor = 70,
drops = {
{name = "mcl_mobitems:magma_cream",
chance = 4,
min = 1,
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 = 0,
lava_damage = 0,
light_damage = 0,
fall_damage = 0,
view_range = 16,
attack_type = "dogfight",
passive = false,
jump = true,
jump_height = 4,
walk_chance = 0,
jump_chance = 98,
fear_height = 100000,
on_die = function(self, pos)
local angle, posadd, dir
angle = math.random(0, math.pi*2)
for i=1,4 do
dir = vector.normalize({x=math.cos(angle),y=0,z=math.sin(angle)})
posadd = vector.multiply(dir, 0.6)
local mob = minetest.add_entity(vector.add(pos, posadd), "mobs_mc:lavasmall")
mob:setvelocity(dir)
mob:setyaw(angle)
angle = angle + math.pi/2
end
end
})
mobs:register_mob("mobs_mc:lavabig", {
type = "monster",
pathfinding = 1,
group_attack = true,
hp_min = 16,
hp_max = 16,
collisionbox = {-1.02, -1.02, -1.02, 1.02, 1.02, 1.02},
visual_size = {x=2.04, y=2.04},
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 = 4,
run_velocity = 4,
damage = 6,
reach = 3,
armor = 40,
drops = {
{name = "mcl_mobitems:magma_cream",
chance = 4,
min = 1,
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 = 0,
lava_damage = 0,
light_damage = 0,
fall_damage = 0,
view_range = 16,
attack_type = "dogfight",
passive = false,
jump = true,
jump_height = 8,
walk_chance = 0,
jump_chance = 100,
fear_height = 100000,
on_die = function(self, pos)
local angle, posadd
angle = math.random(0, math.pi*2)
for i=1,3 do
posadd = {x=math.cos(angle),y=0,z=math.sin(angle)}
posadd = vector.normalize(posadd)
local mob = minetest.add_entity(vector.add(pos, posadd), "mobs_mc:lavamedium")
mob:setvelocity(vector.multiply(posadd, 1.5))
mob:setyaw(angle)
angle = angle + (math.pi*2) / 3
end
end
})
mobs:register_spawn("mobs_mc:lavasmall", {"group:solid"}, 15, 0, 5000, 4, -1000)
mobs:register_spawn("mobs_mc:lavamedium", {"group:solid"}, 15, 0, 5500, 4, -1000)
mobs:register_spawn("mobs_mc:lavabig", {"group:solid"}, 15, 0, 6000, 4, -1000)
mobs:register_spawn("mobs_mc:lavasmall", {"mcl_nether:nether_brick"}, 15, 0, 1000, 4, -1000)
mobs:register_spawn("mobs_mc:lavamedium", {"mcl_nether:nether_brick"}, 15, 0, 1100, 4, -1000)
mobs:register_spawn("mobs_mc:lavabig", {"mcl_nether:nether_brick"}, 15, 0, 1200, 4, -1000)
-- 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 Slime", "spawn_egg_slime.png")
if minetest.setting_get("log_mods") then
minetest.log("action", "MC Slimes loaded")
end

View File

@ -1,74 +0,0 @@
--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 = 1,
damage = 2,
docile_by_day = true,
hp_min = 16,
hp_max = 16,
armor = 100,
--[[ MC: 1.5×1×1.5, MCL2: 1.5×0.5×1.5
The MC model is surprisingly high because the MC body is
high above the ground while in MCL2 the body touches the
ground. ]]
collisionbox = {-0.75, -0.01, -0.75, 0.75, 0.49, 0.75},
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,
jump_height = 5,
view_range = 15,
floats = 1,
group_attack = true,
peaceful = false,
drops = {
{name = "mcl_mobitems:string",
chance = 1, min = 0, max = 2,},
{name = "mcl_mobitems:spider_eye",
chance = 3, min = 1, max = 1,},
},
lava_damage = minetest.registered_nodes["mcl_core:lava_source"].damage_per_second,
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", {"group:solid"}, 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", "spawn_egg_spider.png", 0)
if minetest.setting_get("log_mods") then
minetest.log("action", "MC Spiders loaded")
end

View File

@ -1,63 +0,0 @@
-- v1.1
local l_spawn_in = {"mcl_core:water_flowing","mcl_core:water_source"}
local l_spawn_near = {"mcl_core:water_flowing","mcl_core:water_source"}
local l_spawn_chance = 500
local l_min_light = -1
local l_max_light = 30
local l_max_height = -1 -- water_level - 1
mobs:register_mob("mobs_mc:squid", {
type = "animal",
passive = true,
hp_min = 10,
hp_max = 10,
armor = 100,
-- Note: This collision box is pretty generous because they can't be rotated yet, but at least it not confusing for the player.
-- TODO: Make the hitbox smaller when Minetest supports rotation of collision boxes
collisionbox = {-1.5, 1.3, -1.5, 1.5, 2.3, 1.5},
visual = "mesh",
mesh = "mobs_squid.b3d",
textures = {
{"mobs_squid.png"}
},
sounds = {
damage = "mobs_mc_squid_hurt",
},
animation = {
stand_start = 1,
stand_end = 60,
walk_start = 1,
walk_end = 60,
run_start = 1,
run_end = 60,
},
drops = {
{name = "mcl_dye:black",
chance = 1,
min = 1,
max = 3,},
},
rotate = 180,
visual_size = {x=4.5, y=4.5},
makes_footstep_sound = false,
stepheight = 0.1,
fly = true,
fly_in = "mcl_core:water_source",
fall_speed = -3,
view_range = 8,
fall_damage = 1,
water_damage = 0,
lava_damage = minetest.registered_nodes["mcl_core:lava_source"].damage_per_second,
light_damage = 0,
})
--name, nodes, neighbours, minlight, maxlight, interval, chance, active_object_count, min_height, max_height
mobs:spawn_specific("mobs_mc:squid", l_spawn_in, l_spawn_near, l_min_light, l_max_light, 30, 5000, 2, -31000, l_max_height )
-- compatibility
mobs:alias_mob("mobs:squid", "mobs_mc:squid")
-- spawn eggs
mobs:register_egg("mobs_mc:squid", "Spawn Squid", "spawn_egg_squid.png")

Binary file not shown.

Before

Width:  |  Height:  |  Size: 610 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 217 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 203 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 422 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 466 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 476 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 386 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 217 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 461 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 528 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 485 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 485 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 1.3 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 267 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 965 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 1.2 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 999 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 1.2 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 961 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 1.2 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 999 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 3.5 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 6.7 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 13 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 1.6 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 6.1 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 3.5 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 6.7 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 5.8 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 13 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 12 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 12 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 7.5 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 3.9 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 6.2 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 5.0 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 6.2 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 5.1 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 4.7 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 6.5 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 5.3 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 6.9 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 6.6 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 6.8 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 7.0 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 6.2 KiB

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