Сохранение/взятие файла из директории игры

Версия Minecraft
1.10.2
31
1
1
Нужно сохранить файл в директорию игры, сохранить туда картинку, а потом по пути сохранять эту картинку, как ResourceLocation.
Как это пытался сделать я:
Создаю файл:
File file1 = new File(Minecraft.getMinecraft().mcDataDir, "TestyImages");

file1.mkdir();

File outputfile = new File(file1, this.pictureName.getText() + ".png");

ImageIO.write(bi, "png", (File) outputfile);
И как пытаюсь достать: this.picture = new ResourceLocation( "TestyImages/" + this.pictureName.getText() + ".png");

Проблема в том, что папка создается, картинка туда загружается, но вот когда пытаюсь достать ее, кидает ошибку:
Failed to load texture: minecraft:TestyImages/reformer.png
java.io.FileNotFoundException: minecraft:TestyImages/reformer.png

Кто знает, подскажите, как сделать правильно:)
 
Решение

tox1cozZ

aka Agravaine
8,456
598
2,893
 
31
1
1
Спасибо, помогло это:
Java:
    public static int loadTexture(BufferedImage image){

        int[] pixels = new int[image.getWidth() * image.getHeight()];
        image.getRGB(0, 0, image.getWidth(), image.getHeight(), pixels, 0, image.getWidth());

        ByteBuffer buffer = BufferUtils.createByteBuffer(image.getWidth() * image.getHeight() * BYTES_PER_PIXEL); //4 for RGBA, 3 for RGB

        for(int y = 0; y < image.getHeight(); y++){
            for(int x = 0; x < image.getWidth(); x++){
                int pixel = pixels[y * image.getWidth() + x];
                buffer.put((byte) ((pixel >> 16) & 0xFF));
                buffer.put((byte) ((pixel >> 8) & 0xFF));
                buffer.put((byte) (pixel & 0xFF));
                buffer.put((byte) ((pixel >> 24) & 0xFF));
            }
        }

        buffer.flip();

        int textureID = GL11.glGenTextures();
        GL11.glBindTexture(GL11.GL_TEXTURE_2D, textureID);

        GL11.glTexParameteri(GL11.GL_TEXTURE_2D, GL11.GL_TEXTURE_WRAP_S, GL12.GL_CLAMP_TO_EDGE);
        GL11.glTexParameteri(GL11.GL_TEXTURE_2D, GL11.GL_TEXTURE_WRAP_T, GL12.GL_CLAMP_TO_EDGE);

        GL11.glTexParameteri(GL11.GL_TEXTURE_2D, GL11.GL_TEXTURE_MIN_FILTER, GL11.GL_NEAREST);
        GL11.glTexParameteri(GL11.GL_TEXTURE_2D, GL11.GL_TEXTURE_MAG_FILTER, GL11.GL_NEAREST);

        GL11.glTexImage2D(GL11.GL_TEXTURE_2D, 0, GL11.GL_RGBA8, image.getWidth(), image.getHeight(), 0, GL11.GL_RGBA, GL11.GL_UNSIGNED_BYTE, buffer);

        return textureID;
    }
 
Сверху