Отрисовка эффекта портала

Версия Minecraft
1.6.4
API
Forge
77
2
2
Доброго времени суток, пытаюсь реализовать анимацию на заднем фоне при открытии/закрытии GUI
Код отрисовки взял с эффекта при телепортации в ад

Проблема №1 - при открытии TAB анимация как будто перемножается
Проблема №2 - при участии сторонних модов в отрисовке экрана так-же усиливается

Не могу разобраться в чем проблема, так-как в GL11 я нубас

Демонстрация - Jdk1.8.0_241 2023.08.09 - 03.12.37.05.mp4
Метод отрисовки анимации:
    public static void drawAnimatedBackground(float started, int x, int y) {
        GL11.glPushMatrix();
        GL11.glDisable(3008);
        GL11.glDisable(2929);
        GL11.glDepthMask(false);
        GL11.glBlendFunc(770, 771);
        GL11.glColor4f(1.0F, 1.0F, 1.0F, started);
        Icon icon = MoreItems.animatedPortal.getBlockTextureFromSide(1);

        Minecraft.getMinecraft().getTextureManager().bindTexture(TextureMap.locationBlocksTexture);
        float f1 = icon.getMinU();
        float f2 = icon.getMinV();
        float f3 = icon.getMaxU();
        float f4 = icon.getMaxV();
        Tessellator tessellator = Tessellator.instance;
        tessellator.startDrawingQuads();
        tessellator.addVertexWithUV(0.0D, y, -90.0D, f1, f4);
        tessellator.addVertexWithUV(x, y, -90.0D, f3, f4);
        tessellator.addVertexWithUV(x, 0.0D, -90.0D, f3, f2);
        tessellator.addVertexWithUV(0.0D, 0.0D, -90.0D, f1, f2);
        tessellator.draw();
        GL11.glDepthMask(true);
        GL11.glEnable(2929);
        GL11.glEnable(3008);
        GL11.glColor4f(1.0F, 1.0F, 1.0F, 1.0F);
        GL11.glPopMatrix();
    }
RenderScreenListener:
    @ForgeSubscribe(priority = EventPriority.HIGHEST)
    public void renderAnimation(RenderGameOverlayEvent.Post event) {
        Minecraft mc = Minecraft.getMinecraft();
        if(mc == null) {
            return;
        }

        if (event.type != RenderGameOverlayEvent.ElementType.ALL) {
            return;
        }

        if(UniqueConstants.CLOSING_ANIMATION) {
            if(System.currentTimeMillis() % 10 == 0L) {
                if(UniqueConstants.ANIMATION_TIME <= 0.00F) {
                    UniqueConstants.CLOSING_ANIMATION = false;
                }

                UniqueConstants.ANIMATION_TIME -= 0.01F;
            }

            DrawingHelper.drawAnimatedBackground(UniqueConstants.ANIMATION_TIME, event.resolution.getScaledWidth(), event.resolution.getScaledHeight());
        }
    }
 
Решение
Проблема устранена, спасибо @jopi
Java:
    public static void drawAnimatedBackground(float started, int x, int y) {
        GL11.glPushMatrix();
        GL11.glDisable(3008);
        GL11.glDisable(2929);
        GL11.glDepthMask(false);
        GL11.glBlendFunc(770, 771);
        GL11.glEnable(GL11.GL_BLEND);
        GL11.glColor4f(1.0F, 1.0F, 1.0F, started);
        Icon icon = MoreItems.animatedPortal.getBlockTextureFromSide(1);

        Minecraft.getMinecraft().getTextureManager().bindTexture(TextureMap.locationBlocksTexture);
        float f1 = icon.getMinU();
        float f2 = icon.getMinV();
        float f3 = icon.getMaxU();
        float f4 = icon.getMaxV();
        Tessellator tessellator = Tessellator.instance...
77
2
2
Проблема устранена, спасибо @jopi
Java:
    public static void drawAnimatedBackground(float started, int x, int y) {
        GL11.glPushMatrix();
        GL11.glDisable(3008);
        GL11.glDisable(2929);
        GL11.glDepthMask(false);
        GL11.glBlendFunc(770, 771);
        GL11.glEnable(GL11.GL_BLEND);
        GL11.glColor4f(1.0F, 1.0F, 1.0F, started);
        Icon icon = MoreItems.animatedPortal.getBlockTextureFromSide(1);

        Minecraft.getMinecraft().getTextureManager().bindTexture(TextureMap.locationBlocksTexture);
        float f1 = icon.getMinU();
        float f2 = icon.getMinV();
        float f3 = icon.getMaxU();
        float f4 = icon.getMaxV();
        Tessellator tessellator = Tessellator.instance;
        tessellator.startDrawingQuads();
        tessellator.addVertexWithUV(0.0D, y, -90.0D, f1, f4);
        tessellator.addVertexWithUV(x, y, -90.0D, f3, f4);
        tessellator.addVertexWithUV(x, 0.0D, -90.0D, f3, f2);
        tessellator.addVertexWithUV(0.0D, 0.0D, -90.0D, f1, f2);
        tessellator.draw();
        GL11.glDisable(GL11.GL_BLEND);
        GL11.glDepthMask(true);
        GL11.glEnable(2929);
        GL11.glEnable(3008);
        GL11.glColor4f(1.0F, 1.0F, 1.0F, 1.0F);
        GL11.glPopMatrix();
    }
 
Сверху