diff --git a/init.lua b/init.lua index 55f4748..2164984 100644 --- a/init.lua +++ b/init.lua @@ -27,6 +27,7 @@ dofile(path .. "/tree_monster.lua") dofile(path .. "/lava_flan.lua") -- Zeg9 dofile(path .. "/mese_monster.lua") dofile(path .. "/spider.lua") -- AspireMint +dofile(path .. "/spider2.lua") dofile(path .. "/lucky_block.lua") diff --git a/models/mobs_spider2.b3d b/models/mobs_spider2.b3d new file mode 100644 index 0000000..e1b1662 Binary files /dev/null and b/models/mobs_spider2.b3d differ diff --git a/readme.md b/readme.md index eb79726..7fe2870 100644 --- a/readme.md +++ b/readme.md @@ -29,6 +29,10 @@ Spider - Found in dark holes inside desertstone (crystal biomes in ethereal), spiders wait for prey to amble past and strike. They are mostly docile during the day though unless hit. Will drop string when killed. +New Spiders + +- Snowy spiders are found on higher cold areas, Tarantula's in higher jungle, Cave spider below -20 and Mese spider near areas containing the ore. + Stone Monster - Found underground in dark caves these mobs seem to be zombie-like in fashion with a tendency to rush a player in the area. can drop torch, iron or coal when killed. diff --git a/spider2.lua b/spider2.lua new file mode 100644 index 0000000..fd60b4f --- /dev/null +++ b/spider2.lua @@ -0,0 +1,113 @@ + +local S = mobs.intllib + + +-- Spider by AspireMint (CC-BY-SA 3.0 license) + +mobs:register_mob("mobs_monster:spider2", { + --docile_by_day = true, + group_attack = true, + type = "monster", + passive = false, + attack_type = "dogfight", + reach = 2, + damage = 3, + hp_min = 10, + hp_max = 30, + armor = 200, + collisionbox = {-0.8, -0.5, -0.8, 0.8, 0, 0.8}, + visual_size = {x = 1, y = 1}, + visual = "mesh", + mesh = "mobs_spider2.b3d", + textures = { + {"mobs_spider_mese.png"}, + {"mobs_spider_orange.png"}, + {"mobs_spider_snowy.png"}, + {"mobs_spider_grey.png"}, + }, + makes_footstep_sound = false, + sounds = { + random = "mobs_spider", + attack = "mobs_spider", + }, + walk_velocity = 1, + run_velocity = 3, + jump = true, + view_range = 15, + floats = 0, + drops = { + {name = "farming:string", chance = 1, min = 1, max = 3}, + }, + water_damage = 5, + lava_damage = 5, + light_damage = 0, + animation = { + speed_normal = 15, + speed_run = 20,--15, + stand_start = 0, + stand_end = 0, + walk_start = 1, + walk_end = 21, + run_start = 1, + run_end = 21, + punch_start = 25, + punch_end = 45, + }, + -- what kind of spider are we spawning? + on_spawn = function(self) + + local pos = self.object:get_pos() ; pos.y = pos.y - 1 + + -- snowy spider + if minetest.find_node_near(pos, 1, + {"default:snow", "default:snowblock", "default:dirt_with_snow"}) then + self.base_texture = {"mobs_spider_snowy.png"} + self.object:set_properties({textures = self.base_texture}) + -- tarantula + elseif minetest.find_node_near(pos, 1, + {"default:dirt_with_rainforest_litter", "default:jungletree"}) then + self.base_texture = {"mobs_spider_orange.png"} + self.object:set_properties({textures = self.base_texture}) + -- grey spider + elseif minetest.find_node_near(pos, 1, + {"default:stone", "default:gravel"}) then + self.base_texture = {"mobs_spider_grey.png"} + self.object:set_properties({textures = self.base_texture}) + -- mese spider + elseif minetest.find_node_near(pos, 1, + {"default:mese", "default:stone_with_mese"}) then + self.base_texture = {"mobs_spider_mese.png"} + self.object:set_properties({textures = self.base_texture}) + end + + return true -- run only once, false/nil runs every activation + end, +}) + + +-- above ground spawn +mobs:spawn({ + name = "mobs_monster:spider2", + nodes = {"default:dirt_with_rainforest_litter", "default:snowblock", "default:snow"}, + min_light = 0, + max_light = 8, + chance = 7000, + active_object_count = 1, + min_height = 25, + max_height = 31000, +}) + +-- below ground spawn +mobs:spawn({ + name = "mobs_monster:spider2", + nodes = {"default:stone_with_mese", "default:mese", "default:stone"}, + min_light = 0, + max_light = 7, + chance = 7000, + active_object_count = 1, + min_height = -31000, + max_height = -40, +}) + + +mobs:register_egg("mobs_monster:spider2", S("Spider2"), "mobs_cobweb.png", 1) diff --git a/textures/mobs_spider_grey.png b/textures/mobs_spider_grey.png new file mode 100644 index 0000000..906acb8 Binary files /dev/null and b/textures/mobs_spider_grey.png differ diff --git a/textures/mobs_spider_mese.png b/textures/mobs_spider_mese.png new file mode 100644 index 0000000..5cda614 Binary files /dev/null and b/textures/mobs_spider_mese.png differ diff --git a/textures/mobs_spider_orange.png b/textures/mobs_spider_orange.png new file mode 100644 index 0000000..4b4f5ea Binary files /dev/null and b/textures/mobs_spider_orange.png differ diff --git a/textures/mobs_spider_snowy.png b/textures/mobs_spider_snowy.png new file mode 100644 index 0000000..3c66c94 Binary files /dev/null and b/textures/mobs_spider_snowy.png differ diff --git a/textures/spider2.b3d b/textures/spider2.b3d new file mode 100644 index 0000000..e1b1662 Binary files /dev/null and b/textures/spider2.b3d differ