diff --git a/mods/mobs/greenslimes.lua b/mods/mobs/greenslimes.lua new file mode 100644 index 00000000..5b2bb9aa --- /dev/null +++ b/mods/mobs/greenslimes.lua @@ -0,0 +1,124 @@ +-- Green Slimes by TomasJLuis & TenPlus1 + +-- sounds +local green_sounds = { + damage = "slimes_damage", + death = "slimes_death", + jump = "slimes_jump", + attack = "slimes_attack", +} + +-- green slime textures +local green_textures = {"green_slime_sides.png", "green_slime_sides.png", "green_slime_sides.png", "green_slime_sides.png", "green_slime_front.png", "green_slime_sides.png"} + +-- register small green slime +mobs:register_mob("slimes:greensmall", { + type = "monster", + hp_min = 1, hp_max = 2, + collisionbox = {-0.25, -0.25, -0.25, 0.25, 0.25, 0.25}, + visual = "cube", + visual_size = {x = 0.5, y = 0.5}, + textures = { green_textures }, + blood_texture = "green_slime_blood.png", + makes_footstep_sound = false, + sounds = green_sounds, + attack_type = "dogfight", + attacks_monsters = true, + damage = 1, + passive = false, + walk_velocity = 2, + run_velocity = 2, + walk_chance = 0, + jump_chance = 30, + jump_height = 6, + armor = 100, + view_range = 15, + drops = { + {name = "mesecons_materials:glue", chance = 4, min = 1, max = 2}, + }, + drawtype = "front", + water_damage = 0, + lava_damage = 10, + light_damage = 0, +}) +mobs:register_egg("slimes:greensmall", "Small Green Slime", "green_slime_egg.png", 1) + +-- register medium green slime +mobs:register_mob("slimes:greenmedium", { + type = "monster", + hp_min = 3, hp_max = 4, + collisionbox = {-0.5, -0.5, -0.5, 0.5, 0.5, 0.5}, + visual = "cube", + visual_size = {x = 1, y = 1}, + textures = { green_textures }, + blood_texture = "green_slime_blood.png", + makes_footstep_sound = false, + sounds = green_sounds, + attack_type = "dogfight", + attacks_monsters = true, + damage = 1, + passive = false, + walk_velocity = 2, + run_velocity = 2, + walk_chance = 0, + jump_chance = 30, + jump_height = 6, + armor = 100, + view_range = 15, + on_die = function(self, pos) + local num = math.random(2, 4) + for i=1,num do + minetest.add_entity({x=pos.x + math.random(-2, 2), y=pos.y + 1, z=pos.z + (math.random(-2, 2))}, "slimes:greensmall") + end + end, + drawtype = "front", + water_damage = 0, + lava_damage = 10, + light_damage = 0, +}) +mobs:register_egg("slimes:greenmedium", "Medium Green Slime", "green_slime_egg.png", 1) + +-- register big green slime +mobs:register_mob("slimes:greenbig", { + type = "monster", + hp_min = 5, hp_max = 6, + collisionbox = {-1, -1, -1, 1, 1, 1}, + visual = "cube", + visual_size = {x = 2, y = 2}, + textures = { green_textures }, + blood_texture = "green_slime_blood.png", + makes_footstep_sound = false, + sounds = green_sounds, + attack_type = "dogfight", + attacks_monsters = true, + damage = 2, + passive = false, + walk_velocity = 2, + run_velocity = 2, + walk_chance = 0, + jump_chance = 30, + jump_height = 6, + armor = 100, + view_range = 15, + on_die = function(self, pos) + local num = math.random(1, 2) + for i=1,num do + minetest.add_entity({x=pos.x + math.random(-2, 2), y=pos.y + 1, z=pos.z + (math.random(-2, 2))}, "slimes:greenmedium") + end + end, + drawtype = "front", + water_damage = 0, + lava_damage = 10, + light_damage = 0, +}) +mobs:register_egg("slimes:greenbig", "Big Green Slime", "green_slime_egg.png", 1) + +--mobs:spawn_specific(name, nodes, neighbors, min_light, max_light, interval, chance, active_object_count, min_height, max_height) +mobs:spawn_specific("slimes:greenbig", {"default:junglegrass"},{"air","default:junglegrass"}, 4, 20, 30, 5000, 8, 0, 32000) +mobs:spawn_specific("slimes:greenmedium", {"default:junglegrass"},{"air","default:junglegrass"}, 4, 20, 30, 10000, 8, 0, 32000) +mobs:spawn_specific("slimes:greensmall", {"default:junglegrass"},{"air","default:junglegrass"}, 4, 4, 30, 15000, 8, 0, 32000) + +--mobs:register_spawn(name, nodes, max_light, min_light, chance, active_object_count, max_height) +mobs:register_spawn("slimes:greenmedium", {"default:mossycobble"}, 20, 4, 10000, 8, 32000) +mobs:register_spawn("slimes:greensmall", {"default:mossycobble"}, 20, 4, 10000, 8, 32000) + diff --git a/mods/mobs/lavaslimes.lua b/mods/mobs/lavaslimes.lua new file mode 100644 index 00000000..763b0d62 --- /dev/null +++ b/mods/mobs/lavaslimes.lua @@ -0,0 +1,173 @@ + +-- Lava Slimes by TomasJLuis & TenPlus1 + +-- sounds +local lava_sounds = { + damage = "mobs_slimes_damage", + death = "mobs_slimes_death", + jump = "mobs_slimes_jump", + attack = "mobs_slimes_attack", +} + +-- lava slime textures +local lava_textures = {"mobs_lava_slime_sides.png", "mobs_lava_slime_sides.png", "mobs_lava_slime_sides.png", "mobs_lava_slime_sides.png", "mobs_lava_slime_front.png", "mobs_lava_slime_sides.png"} + +-- register small lava slime +mobs:register_mob("mobs:lavasmall", { + -- animal, monster, npc, barbarian + type = "monster", + -- aggressive, deals 2 damage to player when hit + passive = false, + damage = 2, + attack_type = "dogfight", + attacks_monsters = true, + -- health and armor + hp_min = 2, hp_max = 4, + armor = 100, + -- textures and model + collisionbox = {-0.25, -0.25, -0.25, 0.25, 0.25, 0.25}, + visual = "cube", + textures = { lava_textures }, + blood_texture = "mobs_lava_slime_blood.png", + visual_size = {x = 0.5, y = 0.5}, + -- sounds a bit here, but mainly define in the beginning + makes_footstep_sound = false, + sounds = lava_sounds, + -- speed and jump, sinks in water + walk_velocity = 2, + run_velocity = 2, + walk_chance = 0, + jump = true, + jump_chance = 30, + jump_height = 6, + replace_rate = 20, + footstep = "fire:basic_flame", + view_range = 16, + floats = 1, + -- chance of dropping coins + drops = { + {name = "maptools:copper_coin", + chance = 2, min = 1, max = 1,}, + }, + -- damaged by + water_damage = 10, + lava_damage = 0, + light_damage = 0, + -- model animation + -- no model animation +}) +mobs:register_egg("mobs:lavasmall", "Small Lava Slime", "mobs_lava_slime_egg.png", 1) + +-- register medium lava slime +mobs:register_mob("mobs:lavamedium", { + -- animal, monster, npc, barbarian + type = "monster", + -- aggressive, deals 4 damage to player when hit + passive = false, + damage = 4, + attack_type = "dogfight", + attacks_monsters = true, + -- health and armor + hp_min = 4, hp_max = 8, + armor = 90, + -- textures and model + collisionbox = {-0.5, -0.5, -0.5, 0.5, 0.5, 0.5}, + visual = "cube", + textures = { lava_textures }, + blood_texture = "mobs_lava_slime_blood.png", + visual_size = {x = 1, y = 1}, + -- sounds a bit here, but mainly define in the beginning + makes_footstep_sound = false, + sounds = lava_sounds, + -- speed and jump, sinks in water + walk_velocity = 2, + run_velocity = 2, + walk_chance = 0, + jump = true, + jump_chance = 30, + jump_height = 6, + replace_rate = 20, + footstep = "fire:basic_flame", + view_range = 16, + floats = 1, + -- chance of dropping coins + drops = { + {name = "maptools:copper_coin", + chance = 2, min = 1, max = 1,}, + }, + -- damaged by + water_damage = 10, + lava_damage = 0, + light_damage = 0, + -- model animation + -- no model animation + -- do things when die + on_die = function(self, pos) + local num = math.random(2, 4) + for i=1,num do + minetest.add_entity({x=pos.x + math.random(-2, 2), y=pos.y + 1, z=pos.z + (math.random(-2, 2))}, "mobs:lavasmall") + end + end, +}) +mobs:register_egg("mobs:lavamedium", "Medium Lava Slime", "mobs_lava_slime_egg.png", 1) + +-- register big lava slime +mobs:register_mob("mobs:lavabig", { + -- animal, monster, npc, barbarian + type = "monster", + -- aggressive, deals 6 damage to player when hit + passive = false, + damage = 6, + attack_type = "dogfight", + attacks_monsters = true, + -- health and armor + hp_min = 16, hp_max = 32, + armor = 90, + -- textures and model + collisionbox = {-1, -1, -1, 1, 1, 1}, + visual = "cube", + textures = { lava_textures }, + blood_texture = "mobs_lava_slime_blood.png", + visual_size = {x = 2, y = 2}, + -- sounds a bit here, but mainly define in the beginning + makes_footstep_sound = false, + sounds = lava_sounds, + -- speed and jump, sinks in water + walk_velocity = 2, + run_velocity = 2, + walk_chance = 0, + jump = true, + jump_chance = 30, + jump_height = 6, + replace_rate = 20, + replace_offset = -1, + footstep = "fire:basic_flame", + view_range = 16, + floats = 1, + -- chance of dropping coins + drops = { + {name = "mobs:lava_orb", + chance = 15, min = 1, max = 1,}, + {name = "maptools:silver_coin", + chance = 2, min = 1, max = 1,}, + }, + -- damaged by + water_damage = 10, + lava_damage = 0, + light_damage = 0, + -- model animation + -- no model animation + -- do things when die + on_die = function(self, pos) + local num = math.random(1, 2) + for i=1,num do + minetest.add_entity({x=pos.x + math.random(-2, 2), y=pos.y + 1, z=pos.z + (math.random(-2, 2))}, "mobs:lavamedium") + end + end, +}) +mobs:register_egg("mobs:lavabig", "Big Lava Slime", "mobs_lava_slime_egg.png", 1) + +--mobs:spawn_specific(name, nodes, neighbors, min_light, max_light, interval, chance, active_object_count, min_height, max_height) +mobs:spawn_specific("mobs:lavabig", {"default:lava_source"},{"default:lava_flowing"}, 20, -1, 30, 4000, 1, -32000, 32000) +mobs:spawn_specific("mobs:lavamedium", {"default:lava_source"},{"default:lava_flowing"}, 20, -1, 30, 4000, 2, -32000, 32000) +--mobs:spawn_specific("mobs:lavasmall", {"default:lava_source"},{"default:lava_flowing"}, 4, 20, 30, 15000, 8, -32000, -64) diff --git a/mods/mobs/sounds/mobs_slimes_attack.ogg b/mods/mobs/sounds/mobs_slimes_attack.ogg new file mode 100644 index 00000000..7afa4cbb Binary files /dev/null and b/mods/mobs/sounds/mobs_slimes_attack.ogg differ diff --git a/mods/mobs/sounds/mobs_slimes_damage.ogg b/mods/mobs/sounds/mobs_slimes_damage.ogg new file mode 100644 index 00000000..966ff77e Binary files /dev/null and b/mods/mobs/sounds/mobs_slimes_damage.ogg differ diff --git a/mods/mobs/sounds/mobs_slimes_death.ogg b/mods/mobs/sounds/mobs_slimes_death.ogg new file mode 100644 index 00000000..7eef1f4c Binary files /dev/null and b/mods/mobs/sounds/mobs_slimes_death.ogg differ diff --git a/mods/mobs/sounds/mobs_slimes_jump.ogg b/mods/mobs/sounds/mobs_slimes_jump.ogg new file mode 100644 index 00000000..2c836e41 Binary files /dev/null and b/mods/mobs/sounds/mobs_slimes_jump.ogg differ diff --git a/mods/mobs/stonemonster.lua b/mods/mobs/stonemonster.lua index 8a70288d..7f175ba6 100755 --- a/mods/mobs/stonemonster.lua +++ b/mods/mobs/stonemonster.lua @@ -46,7 +46,7 @@ mobs:register_mob("mobs:stone_monster", { }, -- damaged by water_damage = 0, - lava_damage = 0 + lava_damage = 0, light_damage = 0, -- model animation animation = { diff --git a/mods/mobs/textures/jeija_glue.png b/mods/mobs/textures/jeija_glue.png new file mode 100644 index 00000000..2f351d16 Binary files /dev/null and b/mods/mobs/textures/jeija_glue.png differ diff --git a/mods/mobs/textures/mobs_green_slime_blood.png b/mods/mobs/textures/mobs_green_slime_blood.png new file mode 100644 index 00000000..5086778a Binary files /dev/null and b/mods/mobs/textures/mobs_green_slime_blood.png differ diff --git a/mods/mobs/textures/mobs_green_slime_bottom.png b/mods/mobs/textures/mobs_green_slime_bottom.png new file mode 100644 index 00000000..54eaec39 Binary files /dev/null and b/mods/mobs/textures/mobs_green_slime_bottom.png differ diff --git a/mods/mobs/textures/mobs_green_slime_egg.png b/mods/mobs/textures/mobs_green_slime_egg.png new file mode 100644 index 00000000..bd227b1b Binary files /dev/null and b/mods/mobs/textures/mobs_green_slime_egg.png differ diff --git a/mods/mobs/textures/mobs_green_slime_front.png b/mods/mobs/textures/mobs_green_slime_front.png new file mode 100644 index 00000000..aecd7073 Binary files /dev/null and b/mods/mobs/textures/mobs_green_slime_front.png differ diff --git a/mods/mobs/textures/mobs_green_slime_sides.png b/mods/mobs/textures/mobs_green_slime_sides.png new file mode 100644 index 00000000..6261133b Binary files /dev/null and b/mods/mobs/textures/mobs_green_slime_sides.png differ diff --git a/mods/mobs/textures/mobs_green_slime_top.png b/mods/mobs/textures/mobs_green_slime_top.png new file mode 100644 index 00000000..6261133b Binary files /dev/null and b/mods/mobs/textures/mobs_green_slime_top.png differ diff --git a/mods/mobs/textures/mobs_lava_slime_blood.png b/mods/mobs/textures/mobs_lava_slime_blood.png new file mode 100644 index 00000000..ee01d8e3 Binary files /dev/null and b/mods/mobs/textures/mobs_lava_slime_blood.png differ diff --git a/mods/mobs/textures/mobs_lava_slime_bottom.png b/mods/mobs/textures/mobs_lava_slime_bottom.png new file mode 100644 index 00000000..c1c35222 Binary files /dev/null and b/mods/mobs/textures/mobs_lava_slime_bottom.png differ diff --git a/mods/mobs/textures/mobs_lava_slime_egg.png b/mods/mobs/textures/mobs_lava_slime_egg.png new file mode 100644 index 00000000..397e1b13 Binary files /dev/null and b/mods/mobs/textures/mobs_lava_slime_egg.png differ diff --git a/mods/mobs/textures/mobs_lava_slime_front.png b/mods/mobs/textures/mobs_lava_slime_front.png new file mode 100644 index 00000000..397e1b13 Binary files /dev/null and b/mods/mobs/textures/mobs_lava_slime_front.png differ diff --git a/mods/mobs/textures/mobs_lava_slime_sides.png b/mods/mobs/textures/mobs_lava_slime_sides.png new file mode 100644 index 00000000..aaf949ba Binary files /dev/null and b/mods/mobs/textures/mobs_lava_slime_sides.png differ diff --git a/mods/mobs/textures/mobs_lava_slime_top.png b/mods/mobs/textures/mobs_lava_slime_top.png new file mode 100644 index 00000000..aaf949ba Binary files /dev/null and b/mods/mobs/textures/mobs_lava_slime_top.png differ