Desenhar vários pixels / retângulos

Eu estou tentando fazer um jogo de areia java e não posso passar um pouco. Eu fiz o meu método que desenha um retângulo no mouseX e mouseY, e eu configurei para que ele atualize cada quadro para que ele siga constantemente o mouse.

O que eu suponho é que eu usaria uma matriz para criar cada retângulo, e de lá usaria um algoritmo pré-definido para flutuar até o chão, eu estou bem com isso, eu só não entendo como "ligar meu método 'até um array.

Este é o método que estou usando para desenhar o retângulo (em sua própria classe chamada Métodos)

import org.newdawn.slick.Graphics;

public class Methods {

public Graphics g = new Graphics();

public int sizeX = 4;
public int sizeY = 4;

public void drawParticle(float x, float y){
    g.drawRect(x, y, sizeX, sizeY);
}
}

E esta é minha turma principal

import org.newdawn.slick.GameContainer;
import org.newdawn.slick.Graphics;
import org.newdawn.slick.SlickException;
import org.newdawn.slick.state.BasicGameState;
import org.newdawn.slick.state.StateBasedGame;

public class Control extends BasicGameState {
public static final int ID = 1;

public Methods m = new Methods();

int mouseX;
int mouseY;

public void init(GameContainer container, StateBasedGame game) throws SlickException{
}

public void render(GameContainer container, StateBasedGame game, Graphics g) throws SlickException {
    m.drawParticle(mouseX, mouseY);
}

public void update(GameContainer container, StateBasedGame game, int delta) {
}

public void mouseReleased(int button, int x, int y){
    mouseX = 0;
    mouseY = 0;
}

public void mouseDragged(int oldx, int oldy, int newx, int newy) {
    mouseX = newx;
    mouseY = newy;
}

public int getID() {
    return ID;
}

}

mas quando clico, apenas um retângulo segue o mouse, em vez de muitos serem criados no mouse: L

questionAnswers(1)

yourAnswerToTheQuestion