1
0
mirror of https://codeberg.org/tenplus1/mobs_monster.git synced 2025-07-04 17:30:21 +02:00

tweak and tidy code

This commit is contained in:
tenplus1
2024-08-10 14:39:51 +01:00
parent ad470a4ad2
commit 5c956edfe3
13 changed files with 330 additions and 380 deletions

View File

@ -1,10 +1,8 @@
-- Translation support
local S = minetest.get_translator("mobs_monster")
-- check for default mod
local mod_def = minetest.get_modpath("default")
-- helper function
-- helper
local get_velocity = function(self)
local v = self.object:get_velocity()
@ -15,6 +13,7 @@ local get_velocity = function(self)
return (v.x * v.x + v.z * v.z) ^ 0.5
end
-- custom spider types
local spider_types = {
@ -55,7 +54,6 @@ local spider_types = {
}
}
-- Spider by AspireMint (CC-BY-SA 3.0 license)
mobs:register_mob("mobs_monster:spider", {
@ -98,16 +96,11 @@ mobs:register_mob("mobs_monster:spider", {
light_damage = 0,
node_damage = false, -- disable damage_per_second node damage
animation = {
speed_normal = 15,
speed_run = 20,
stand_start = 0,
stand_end = 0,
walk_start = 1,
walk_end = 21,
run_start = 1,
run_end = 21,
punch_start = 25,
punch_end = 45
speed_normal = 15, speed_run = 20,
stand_start = 0, stand_end = 0,
walk_start = 1, walk_end = 21,
run_start = 1, run_end = 21,
punch_start = 25, punch_end = 45
},
-- check surrounding nodes and spawn a specific spider
@ -126,9 +119,7 @@ mobs:register_mob("mobs_monster:spider", {
self.object:set_properties({textures = tmp.skins})
self.docile_by_day = tmp.docile
if tmp.drops then
self.drops = tmp.drops
end
if tmp.drops then self.drops = tmp.drops end
if tmp.shoot then
self.attack_type = "dogshoot"
@ -141,6 +132,7 @@ mobs:register_mob("mobs_monster:spider", {
end
if tmp.small then
self.object:set_properties({
collisionbox = {-0.2, -0.2, -0.2, 0.2, 0, 0.2},
visual_size = {x = 0.25, y = 0.25}
@ -159,9 +151,7 @@ mobs:register_mob("mobs_monster:spider", {
-- quarter second timer
self.spider_timer = (self.spider_timer or 0) + dtime
if self.spider_timer < 0.25 then
return
end
if self.spider_timer < 0.25 then return end
self.spider_timer = 0
-- need to be stopped to go onwards
@ -171,11 +161,7 @@ mobs:register_mob("mobs_monster:spider", {
end
local pos = self.object:get_pos()
local yaw = self.object:get_yaw()
-- sanity check
if not yaw then return end
local yaw = self.object:get_yaw() ; if not yaw then return end
local prop = self.object:get_properties()
pos.y = pos.y + prop.collisionbox[2] - 0.2
@ -231,6 +217,7 @@ mobs:register_mob("mobs_monster:spider", {
end
})
-- where to spawn
if not mobs.custom_spawn_monster then
@ -262,15 +249,17 @@ if not mobs.custom_spawn_monster then
})
end
-- spawn egg
mobs:register_egg("mobs_monster:spider", S("Spider"), "mobs_cobweb.png", 1)
-- compatibility with older mobs mod
mobs:alias_mob("mobs_monster:spider2", "mobs_monster:spider") -- compatibility
mobs:alias_mob("mobs_monster:spider2", "mobs_monster:spider")
mobs:alias_mob("mobs:spider", "mobs_monster:spider")
-- cobweb and recipe
-- cobweb
minetest.register_node(":mobs:cobweb", {
description = S("Cobweb"),
drawtype = "plantlike",
@ -289,7 +278,7 @@ minetest.register_node(":mobs:cobweb", {
groups = {snappy = 1, disable_jump = 1},
is_ground_content = false,
drop = "farming:string",
sounds = mod_def and default.node_sound_leaves_defaults()
sounds = mobs.node_sound_leaves_defaults()
})
minetest.register_craft({
@ -301,6 +290,7 @@ minetest.register_craft({
}
})
-- cobweb place function
local web_place = function(pos)
@ -313,6 +303,8 @@ local web_place = function(pos)
end
end
-- cobweb arrow
mobs:register_arrow("mobs_monster:cobweb", {
visual = "sprite",
visual_size = {x = 1, y = 1},