You're lucky I've read this, because I'm not really active here anymore (but on steam).
To answer your question: Your mod would have to override 'startServerDesignJob':
-- keep the original function to call inside your overwrite function
local mymod_startServerDesignJob = Shipyard.startServerDesignJob
function Shipyard.startServerDesignJob(founder, captain, scale, name, planToBuild)
mymod_startServerDesignJob(founder, captain, scale, name, planToBuild);
--simulate the scaling already done in the original function
local plan = planToBuild
plan:scale(vec3(scale, scale, scale))
-- Change as you desire
local requiredTime = math.floor(20.0 + plan.durability / 100.0)
if captain > 0 then
requiredTime = requiredTime + 300
end
-- Inject your new time into the already setup running job
runningJobs[#runningJobs].duration = requiredTime
end
The code is untested, but the principle should work