make silkworm -> cocoon more reliable

master
flux 2022-06-10 15:26:25 -07:00
parent 94c2ecc03b
commit cfa89a6ef7
3 changed files with 11 additions and 5 deletions

View File

@ -162,16 +162,18 @@ minetest.register_craft({
})
petz.init_convert_to_chrysalis = function(self)
minetest.after(math.random(1200, 1500), function()
minetest.after(math.random(petz.settings.silkworm_chrysalis_min_time, petz.settings.silkworm_chrysalis_max_time), function()
if not(kitz.is_alive(self)) then
return
end
local pos = self.object:get_pos()
if minetest.get_node(pos) and minetest.get_node(pos).name ~= "air" then
return
local air_pos = minetest.find_node_near(pos, 1, {"air"}, true)
if air_pos then
minetest.set_node(air_pos, {name= "petz:cocoon"})
kitz.remove_mob(self)
else
petz.init_convert_to_chrysalis(self)
end
minetest.set_node(pos, {name= "petz:cocoon"})
kitz.remove_mob(self)
end, self)
end

View File

@ -421,6 +421,8 @@ silkworm_spawn_chance = 1.0
silkworm_spawn_nodes = default:pine_needles
silkworm_spawn_biome = default
silkworm_lay_egg_on_node = group:leaves
silkworm_chrysalis_min_time = 1200
silkworm_chrysalis_max_time = 1500
#Chimp Specific
chimp_follow = default:blueberries

View File

@ -548,5 +548,7 @@ for i = 1, #petz.settings["petz_list"] do --load the settings
settings:get_bool(petz_type.."_create_dam", false)
elseif petz_type == "silkworm" then
petz.settings[petz_type.."_lay_egg_on_node"] = user:get(petz_type.."_lay_egg_on_node") or settings:get(petz_type.."_lay_egg_on_node") or ""
petz.settings[petz_type.."_chrysalis_min_time"] = tonumber(user:get(petz_type.."_chrysalis_min_time") or settings:get(petz_type.."_chrysalis_min_time")) or 1200
petz.settings[petz_type.."_chrysalis_max_time"] = tonumber(user:get(petz_type.."_chrysalis_max_time") or settings:get(petz_type.."_chrysalis_min_time")) or 1500
end
end