Ok, first of all this is my first post here. I start this discussion because I need some help with a project i'm developing. I'm creating a simulation of urban sanitation, where trucks find trash and collect it. One of the requirements is I need to update the truck capacity (it starts in 1000kg and when it collects 74kg, the truck capacity should be 926) So I ask for the info to the class Punto (the class for the trash) but i can't get it updated. There could be hundreds of "puntos" with different values in cantidad but I still get the first one's value.  Ill show you the truck class: 
I've tried so many things so far. Like call the methodjust when it founds trash but it doesn't compile. Tells me that can't find punto.getCantidad symbol. I've also tried using and auxiliar "ambiente" variable (cause there's already one in the superclass Vehicle) But none of what i try works. Anny suggestions? Thanks in advance. If you don't understand any part of the code just ask.
  public class Recolector extends Auto
{
    int capacidad=1000; //capacity
    int cantidadbasura; //trashamount
     public Informacion informacion;
     public Infoparada infoparada;
     public Punto punto;
     private Ambiente ambienteaux;
    public void act() 
    {
       actuar();
        startUp();
        moverse();
        move(1);
        pasos++; //steps ++
        
       if(haybasura()) { // found trash, collects it. 
            recoger();
        }
    }    
public void actuar(){ //getting some info
       ambienteaux=(Ambiente)getWorld();
       informacion = ambienteaux.getInformacion();
       punto=ambienteaux.getPunto();
       infoparada=ambienteaux.getInfoparada();
       cantidadbasura=punto.getCantidad();
    }
public boolean haybasura() //s
    {
        Actor punto = getOneObjectAtOffset(0, 0, Punto.class);
        if(punto != null) {
            return true;
        }
        else {
            return false;
        }
    }
    
    /**
     *Collects trash
     */
    public void recoger()
    {
        Actor punto = getOneObjectAtOffset(0, 0, Punto.class);
        if(punto != null) {
           actuar();
           Greenfoot.delay(retraso);
           getWorld().removeObject(punto);
           capacidad =  capacidad - cantidadbasura; 
           informacion.contador(capacidad);
        }
    }   
    
}punto.getCantidad();
 
          
         
   

