Tentando carregar a imagem usando ImageIO.read (class.getResource (URL)), mas getResource está retornando null

Eu venho fazendo um jogo 2D com meu amigo e tenho aprendido muito sobre alguns conceitos básicos de desenvolvimento de jogos através de alguns tutoriais do Youtube. Uma das coisas que eu estava aprendendo são sprites (para aqueles que não sabem, imagens 2D para renderizar na tela) e como usá-las no meu jogo. Eu tenho usadoImageIO.read(this.class.getResource(pathToMySprite)) mas parece quegetResource() está retornandonull por algum motivo.

Eu tenho andado com o caminho um pouco, adicionando "/" na frente dele, removendo "/", colocando a propriedade user.dir para ver se ele precisava do caminho inteiro, e ainda estou recebendo o mesmo erro .

TILE_TEXTURES(System.getProperty("user.dir") + "/textures/tile.png");
//ENTITY_TEXTURES("/textures/entity.png");
private BufferedImage img;

private SpriteSheet(String path) {

System.out.println(System.getProperty("user.dir"));
try {
   //TODO: Fix this error, don't know what's wrong.
     img = ImageIO.read(SpriteSheet.class.getResource(path)); // error here!!!
    } catch (IOException e) {
      e.printStackTrace();
    }
 }

public BufferedImage getImage() {
        return img;
}

Toda e qualquer ajuda é apreciada. Eu não tenho comentado o código (eu costumo fazer isso quando eu chego onde eu posso sentar e ser feliz com o que eu terminei) mas é uma classe bem pequena, então eu acho que vocês serão capazes de entender o que é indo muito bem.

A pasta que contém a imagemÉ no caminho de classe do meu projeto. Eu também incluí o erro:

Exception in thread "Thread-2" java.lang.ExceptionInInitializerError
    at com.brickbattle.client.src.gui.Sprite.<clinit>(Sprite.java:7)
    at com.brickbattle.client.src.objs.Tile.<init>(Tile.java:67)
    at com.brickbattle.client.src.objs.Player.initPlayerNum(Player.java:19)
    at com.brickbattle.client.src.util.BrickBattle.init(BrickBattle.java:114)
    at com.brickbattle.client.src.util.BrickBattle.run(BrickBattle.java:85)
    at java.lang.Thread.run(Unknown Source)
Caused by: java.lang.IllegalArgumentException: input == null! //HERE IS ERROR
    at javax.imageio.ImageIO.read(Unknown Source)
    at com.brickbattle.client.src.gui.SpriteSheet.<init>(SpriteSheet.java:17)
at com.brickbattle.client.src.gui.SpriteSheet.<clinit>(SpriteSheet.java:8)

Obrigado novamente!

questionAnswers(1)

yourAnswerToTheQuestion