public void update(long sysTime) {
    // Every in game tick, the bullet gets updated here
    // Let's calculate how long the bullet has been alive here (We can later use this in calculations)
    long lifeTime = sysTime - birth;
    if(life > lifeTime) {
      // Here we calculate the x and y coordinates of the bullet by getting the angle and distance and doing magic.
      float oldPos[] = new float[2];
      for(int i = 0; i<2; i++) { oldPos[i] = position[i]; }
      position[0] = (float)(origin[0] + getDistance(lifeTime) * Math.cos(getAngle(lifeTime)+originO[0]));
      position[1] = (float)(origin[1] + getDistance(lifeTime) * Math.sin(getAngle(lifeTime)+originO[0]));
      if((oldPos[0] != position[0]) || (oldPos[1] != position[1])) {
        angle = (float)Math.atan2(-(position[0] - oldPos[0]), position[1] - oldPos[1]);
      }
      //System.out.println(angle);
    }
    // If we've exceeded the lifetime, then die.
    else { die(); }
    
    
    // This checks if it's offscreen and kills it if it is, but I don't know if that's a good idea.
    // for(int i = 0; i<2; i++) { if((position[i] < 0) || position[i] > 500) { die(); break; } }
  }