Gazebo how can i change model weigth during runtime?

I want to decrease model weigth in runtime. I am currently working on a plugin but it doesn’t seem to work. I am using iris model with pixhawk 4 sitl. My purpose is to simulate a liquid spraying drone like firefighter. To do that I have to decrease the weigth of the drone in time. Thank you. Here is the code that I have:

      #include <functional>
      #include <gazebo/gazebo.hh>
      #include <gazebo/physics/physics.hh>
      #include <gazebo/common/common.hh>

      namespace gazebo
        class joint_c : public ModelPlugin
        public: void Load(physics::ModelPtr _parent, sdf::ElementPtr /*_sdf*/)

          this->model = _parent;
          this->world= this->model->GetWorld();
          this->base_link = this->iris->GetLink("base_link");

      base_link->GetInertial()->SetMass(800000);    // Changing the mass

      this->updateConnection = event::Events::ConnectWorldUpdateBegin(boost::bind(&joint_c::OnUpdate, this, _1));

      public: void OnUpdate(const common::UpdateInfo &_info)



            physics::ModelPtr model;
            physics::ModelPtr iris;
            physics::WorldPtr world;
            event::ConnectionPtr updateConnection;   
            physics::LinkPtr  base_link;


        // Register this plugin with the simulator