Compare commits
2 Commits
Author | SHA1 | Date |
---|---|---|
Wuzzy | 78fda0e7a6 | |
Wuzzy | 39a4532678 |
|
@ -0,0 +1 @@
|
|||
Subproject commit cc0f5a09dc6fccf80447edf6820dddaf64c1c6f1
|
|
@ -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
|
|
@ -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
|
|
@ -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
|
|
@ -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
|
|
@ -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
|
|
@ -1,8 +0,0 @@
|
|||
mcl_core
|
||||
mcl_tools
|
||||
mcl_hunger
|
||||
mcl_fire
|
||||
mobs
|
||||
mcl_tnt
|
||||
mcl_mobitems
|
||||
3d_armor?
|
|
@ -1 +0,0 @@
|
|||
Adds Minecraft-like monsters and animals.
|
|
@ -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
|
|
@ -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
|
|
@ -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")
|
|
@ -1 +0,0 @@
|
|||
name = mobs_mc
|
|
@ -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")
|
||||
|
|
@ -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
|
|
@ -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
|
||||
|
|
@ -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
|
|
@ -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
|
|
@ -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
|
|
@ -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
|
|
@ -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")
|
Before Width: | Height: | Size: 610 B |
Before Width: | Height: | Size: 217 B |
Before Width: | Height: | Size: 203 B |
Before Width: | Height: | Size: 422 B |
Before Width: | Height: | Size: 466 B |
Before Width: | Height: | Size: 476 B |
Before Width: | Height: | Size: 386 B |
Before Width: | Height: | Size: 217 B |
Before Width: | Height: | Size: 461 B |
Before Width: | Height: | Size: 528 B |
Before Width: | Height: | Size: 485 B |
Before Width: | Height: | Size: 485 B |
Before Width: | Height: | Size: 1.3 KiB |
Before Width: | Height: | Size: 267 B |
Before Width: | Height: | Size: 965 B |
Before Width: | Height: | Size: 1.2 KiB |
Before Width: | Height: | Size: 999 B |
Before Width: | Height: | Size: 1.2 KiB |
Before Width: | Height: | Size: 961 B |
Before Width: | Height: | Size: 1.2 KiB |
Before Width: | Height: | Size: 999 B |
Before Width: | Height: | Size: 3.5 KiB |
Before Width: | Height: | Size: 6.7 KiB |
Before Width: | Height: | Size: 13 KiB |
Before Width: | Height: | Size: 1.6 KiB |
Before Width: | Height: | Size: 6.1 KiB |
Before Width: | Height: | Size: 3.5 KiB |
Before Width: | Height: | Size: 6.7 KiB |
Before Width: | Height: | Size: 5.8 KiB |
Before Width: | Height: | Size: 13 KiB |
Before Width: | Height: | Size: 12 KiB |
Before Width: | Height: | Size: 12 KiB |
Before Width: | Height: | Size: 7.5 KiB |
Before Width: | Height: | Size: 3.9 KiB |
Before Width: | Height: | Size: 6.2 KiB |
Before Width: | Height: | Size: 5.0 KiB |
Before Width: | Height: | Size: 6.2 KiB |
Before Width: | Height: | Size: 5.1 KiB |
Before Width: | Height: | Size: 4.7 KiB |
Before Width: | Height: | Size: 6.5 KiB |
Before Width: | Height: | Size: 5.3 KiB |
Before Width: | Height: | Size: 6.9 KiB |
Before Width: | Height: | Size: 6.6 KiB |
Before Width: | Height: | Size: 6.8 KiB |
Before Width: | Height: | Size: 7.0 KiB |
Before Width: | Height: | Size: 6.2 KiB |