Исходник Снова подарок от меня (SXDpandora) ClassHand с гетом цвета предмета

Начинающий
Статус
Оффлайн
Регистрация
1 Дек 2020
Сообщения
62
Реакции[?]
1
Поинты[?]
1K

Перед прочтением основного контента ниже, пожалуйста, обратите внимание на обновление внутри секции Майна на нашем форуме. У нас появились:

  • бесплатные читы для Майнкрафт — любое использование на свой страх и риск;
  • маркетплейс Майнкрафт — абсолютно любая коммерция, связанная с игрой, за исключением продажи читов (аккаунты, предоставления услуг, поиск кодеров читов и так далее);
  • приватные читы для Minecraft — в этом разделе только платные хаки для игры, покупайте группу "Продавец" и выставляйте на продажу свой софт;
  • обсуждения и гайды — всё тот же раздел с вопросами, но теперь модернизированный: поиск нужных хаков, пати с игроками-читерами и другая полезная информация.

Спасибо!

Код:
package dF.Wirent.functions.impl.render;

import com.google.common.eventbus.Subscribe;
import com.mojang.blaze3d.platform.GlStateManager;
import dF.Wirent.events.EventDisplay;
import dF.Wirent.functions.api.Category;
import dF.Wirent.functions.api.Function;
import dF.Wirent.functions.api.FunctionRegister;
import dF.Wirent.functions.settings.impl.ModeSetting;
import dF.Wirent.utils.CustomFramebuffer;
import dF.Wirent.utils.render.ColorUtils;
import dF.Wirent.utils.render.KawaseBlur;
import net.minecraft.client.settings.PointOfView;
import net.minecraft.entity.player.PlayerEntity;
import org.lwjgl.opengl.GL11;

@FunctionRegister(name = "HandChams", type = Category.Render)
public class GlassHand extends Function {

    public CustomFramebuffer hands = new CustomFramebuffer(false).setLinear();
    public CustomFramebuffer mask = new CustomFramebuffer(false).setLinear();
    private final ModeSetting type = new ModeSetting("Тип", "Размытие", "Обводка", "Размытие"); // и зачем, я это блять писал вообщето....( привет YouGame и звезда?

    public GlassHand(){
        addSettings(type);
    }

    @Subscribe
    public void onRender(EventDisplay e) {
        if (e.getType() != EventDisplay.Type.HIGH) {
            return;
        }

        if (mc.gameSettings.getPointOfView() == PointOfView.FIRST_PERSON) {
            GlStateManager.pushMatrix();
            GlStateManager.enableBlend();
            GlStateManager.enableAlphaTest();

            if (type.get().equals("Размытие")) {
                KawaseBlur.blur.updateBlur(3, 4);
                ColorUtils.setColor(ColorUtils.getColor(0));
                KawaseBlur.blur.render(() -> {
                    hands.draw();
                });
            } else if (type.get().equals("Обводка")) {
                renderOutline();
                hands.draw();
            }

            GlStateManager.disableAlphaTest();
            GlStateManager.popMatrix();
        }
    }

    private void renderOutline() {
        GL11.glEnable(GL11.GL_STENCIL_TEST);
        GL11.glClear(GL11.GL_STENCIL_BUFFER_BIT);

        GL11.glStencilFunc(GL11.GL_ALWAYS, 1, 0xFF);
        GL11.glStencilOp(GL11.GL_KEEP, GL11.GL_KEEP, GL11.GL_REPLACE);

        GlStateManager.pushMatrix();
        ColorUtils.setColor(0xFFFFFFFF);
        hands.draw();
        GlStateManager.popMatrix();


        GL11.glStencilFunc(GL11.GL_NOTEQUAL, 1, 0xFF);
        GL11.glStencilOp(GL11.GL_KEEP, GL11.GL_KEEP, GL11.GL_KEEP);


        GlStateManager.enableBlend();
        GlStateManager.blendFunc(GL11.GL_SRC_ALPHA, GL11.GL_ONE);

        final float offset = 1.0f;
        for (float i = -2; i <= 2; i++) {
            for (float j = -2; j <= 2; j++) {
                GlStateManager.pushMatrix();
                GlStateManager.translatef(i * offset, j * offset, 0.0f);
                ColorUtils.setColor(0xFFFFFFFF);
                hands.draw();
                GlStateManager.popMatrix();
            }
        }

        GlStateManager.blendFunc(GL11.GL_SRC_ALPHA, GL11.GL_ONE_MINUS_SRC_ALPHA);
        GlStateManager.disableBlend();

        GL11.glDisable(GL11.GL_STENCIL_TEST);
    }

    public static void setSaturation(float saturation) {
        float[] saturationMatrix = {
                0.3086f * (1.0f - saturation) + saturation, 0.6094f * (1.0f - saturation), 0.0820f * (1.0f - saturation), 0, 0,
                0.3086f * (1.0f - saturation), 0.6094f * (1.0f - saturation) + saturation, 0.0820f * (1.0f - saturation), 0, 0,
                0.3086f * (1.0f - saturation), 0.6094f * (1.0f - saturation), 0.0820f * (1.0f - saturation) + saturation, 0, 0,
                0, 0, 0, 1, 0
        };
        GL11.glLoadMatrixf(saturationMatrix);
    }

    @Override
    protected float[] rotations(PlayerEntity var1) {
        return new float[0];
    }
}
 
Начинающий
Статус
Оффлайн
Регистрация
4 Май 2023
Сообщения
77
Реакции[?]
0
Поинты[?]
0
Код:
package dF.Wirent.functions.impl.render;

import com.google.common.eventbus.Subscribe;
import com.mojang.blaze3d.platform.GlStateManager;
import dF.Wirent.events.EventDisplay;
import dF.Wirent.functions.api.Category;
import dF.Wirent.functions.api.Function;
import dF.Wirent.functions.api.FunctionRegister;
import dF.Wirent.functions.settings.impl.ModeSetting;
import dF.Wirent.utils.CustomFramebuffer;
import dF.Wirent.utils.render.ColorUtils;
import dF.Wirent.utils.render.KawaseBlur;
import net.minecraft.client.settings.PointOfView;
import net.minecraft.entity.player.PlayerEntity;
import org.lwjgl.opengl.GL11;

@FunctionRegister(name = "HandChams", type = Category.Render)
public class GlassHand extends Function {

    public CustomFramebuffer hands = new CustomFramebuffer(false).setLinear();
    public CustomFramebuffer mask = new CustomFramebuffer(false).setLinear();
    private final ModeSetting type = new ModeSetting("Тип", "Размытие", "Обводка", "Размытие"); // и зачем, я это блять писал вообщето....( привет YouGame и звезда?

    public GlassHand(){
        addSettings(type);
    }

    @Subscribe
    public void onRender(EventDisplay e) {
        if (e.getType() != EventDisplay.Type.HIGH) {
            return;
        }

        if (mc.gameSettings.getPointOfView() == PointOfView.FIRST_PERSON) {
            GlStateManager.pushMatrix();
            GlStateManager.enableBlend();
            GlStateManager.enableAlphaTest();

            if (type.get().equals("Размытие")) {
                KawaseBlur.blur.updateBlur(3, 4);
                ColorUtils.setColor(ColorUtils.getColor(0));
                KawaseBlur.blur.render(() -> {
                    hands.draw();
                });
            } else if (type.get().equals("Обводка")) {
                renderOutline();
                hands.draw();
            }

            GlStateManager.disableAlphaTest();
            GlStateManager.popMatrix();
        }
    }

    private void renderOutline() {
        GL11.glEnable(GL11.GL_STENCIL_TEST);
        GL11.glClear(GL11.GL_STENCIL_BUFFER_BIT);

        GL11.glStencilFunc(GL11.GL_ALWAYS, 1, 0xFF);
        GL11.glStencilOp(GL11.GL_KEEP, GL11.GL_KEEP, GL11.GL_REPLACE);

        GlStateManager.pushMatrix();
        ColorUtils.setColor(0xFFFFFFFF);
        hands.draw();
        GlStateManager.popMatrix();


        GL11.glStencilFunc(GL11.GL_NOTEQUAL, 1, 0xFF);
        GL11.glStencilOp(GL11.GL_KEEP, GL11.GL_KEEP, GL11.GL_KEEP);


        GlStateManager.enableBlend();
        GlStateManager.blendFunc(GL11.GL_SRC_ALPHA, GL11.GL_ONE);

        final float offset = 1.0f;
        for (float i = -2; i <= 2; i++) {
            for (float j = -2; j <= 2; j++) {
                GlStateManager.pushMatrix();
                GlStateManager.translatef(i * offset, j * offset, 0.0f);
                ColorUtils.setColor(0xFFFFFFFF);
                hands.draw();
                GlStateManager.popMatrix();
            }
        }

        GlStateManager.blendFunc(GL11.GL_SRC_ALPHA, GL11.GL_ONE_MINUS_SRC_ALPHA);
        GlStateManager.disableBlend();

        GL11.glDisable(GL11.GL_STENCIL_TEST);
    }

    public static void setSaturation(float saturation) {
        float[] saturationMatrix = {
                0.3086f * (1.0f - saturation) + saturation, 0.6094f * (1.0f - saturation), 0.0820f * (1.0f - saturation), 0, 0,
                0.3086f * (1.0f - saturation), 0.6094f * (1.0f - saturation) + saturation, 0.0820f * (1.0f - saturation), 0, 0,
                0.3086f * (1.0f - saturation), 0.6094f * (1.0f - saturation), 0.0820f * (1.0f - saturation) + saturation, 0, 0,
                0, 0, 0, 1, 0
        };
        GL11.glLoadMatrixf(saturationMatrix);
    }

    @Override
    protected float[] rotations(PlayerEntity var1) {
        return new float[0];
    }
}
где взял сурсы вирента?
 
Начинающий
Статус
Оффлайн
Регистрация
12 Дек 2022
Сообщения
114
Реакции[?]
0
Поинты[?]
0
Код:
package dF.Wirent.functions.impl.render;

import com.google.common.eventbus.Subscribe;
import com.mojang.blaze3d.platform.GlStateManager;
import dF.Wirent.events.EventDisplay;
import dF.Wirent.functions.api.Category;
import dF.Wirent.functions.api.Function;
import dF.Wirent.functions.api.FunctionRegister;
import dF.Wirent.functions.settings.impl.ModeSetting;
import dF.Wirent.utils.CustomFramebuffer;
import dF.Wirent.utils.render.ColorUtils;
import dF.Wirent.utils.render.KawaseBlur;
import net.minecraft.client.settings.PointOfView;
import net.minecraft.entity.player.PlayerEntity;
import org.lwjgl.opengl.GL11;

@FunctionRegister(name = "HandChams", type = Category.Render)
public class GlassHand extends Function {

    public CustomFramebuffer hands = new CustomFramebuffer(false).setLinear();
    public CustomFramebuffer mask = new CustomFramebuffer(false).setLinear();
    private final ModeSetting type = new ModeSetting("Тип", "Размытие", "Обводка", "Размытие"); // и зачем, я это блять писал вообщето....( привет YouGame и звезда?

    public GlassHand(){
        addSettings(type);
    }

    @Subscribe
    public void onRender(EventDisplay e) {
        if (e.getType() != EventDisplay.Type.HIGH) {
            return;
        }

        if (mc.gameSettings.getPointOfView() == PointOfView.FIRST_PERSON) {
            GlStateManager.pushMatrix();
            GlStateManager.enableBlend();
            GlStateManager.enableAlphaTest();

            if (type.get().equals("Размытие")) {
                KawaseBlur.blur.updateBlur(3, 4);
                ColorUtils.setColor(ColorUtils.getColor(0));
                KawaseBlur.blur.render(() -> {
                    hands.draw();
                });
            } else if (type.get().equals("Обводка")) {
                renderOutline();
                hands.draw();
            }

            GlStateManager.disableAlphaTest();
            GlStateManager.popMatrix();
        }
    }

    private void renderOutline() {
        GL11.glEnable(GL11.GL_STENCIL_TEST);
        GL11.glClear(GL11.GL_STENCIL_BUFFER_BIT);

        GL11.glStencilFunc(GL11.GL_ALWAYS, 1, 0xFF);
        GL11.glStencilOp(GL11.GL_KEEP, GL11.GL_KEEP, GL11.GL_REPLACE);

        GlStateManager.pushMatrix();
        ColorUtils.setColor(0xFFFFFFFF);
        hands.draw();
        GlStateManager.popMatrix();


        GL11.glStencilFunc(GL11.GL_NOTEQUAL, 1, 0xFF);
        GL11.glStencilOp(GL11.GL_KEEP, GL11.GL_KEEP, GL11.GL_KEEP);


        GlStateManager.enableBlend();
        GlStateManager.blendFunc(GL11.GL_SRC_ALPHA, GL11.GL_ONE);

        final float offset = 1.0f;
        for (float i = -2; i <= 2; i++) {
            for (float j = -2; j <= 2; j++) {
                GlStateManager.pushMatrix();
                GlStateManager.translatef(i * offset, j * offset, 0.0f);
                ColorUtils.setColor(0xFFFFFFFF);
                hands.draw();
                GlStateManager.popMatrix();
            }
        }

        GlStateManager.blendFunc(GL11.GL_SRC_ALPHA, GL11.GL_ONE_MINUS_SRC_ALPHA);
        GlStateManager.disableBlend();

        GL11.glDisable(GL11.GL_STENCIL_TEST);
    }

    public static void setSaturation(float saturation) {
        float[] saturationMatrix = {
                0.3086f * (1.0f - saturation) + saturation, 0.6094f * (1.0f - saturation), 0.0820f * (1.0f - saturation), 0, 0,
                0.3086f * (1.0f - saturation), 0.6094f * (1.0f - saturation) + saturation, 0.0820f * (1.0f - saturation), 0, 0,
                0.3086f * (1.0f - saturation), 0.6094f * (1.0f - saturation), 0.0820f * (1.0f - saturation) + saturation, 0, 0,
                0, 0, 0, 1, 0
        };
        GL11.glLoadMatrixf(saturationMatrix);
    }

    @Override
    protected float[] rotations(PlayerEntity var1) {
        return new float[0];
    }
}
ss?
 
Начинающий
Статус
Оффлайн
Регистрация
4 Май 2023
Сообщения
77
Реакции[?]
0
Поинты[?]
0
Код:
package dF.Wirent.functions.impl.render;

import com.google.common.eventbus.Subscribe;
import com.mojang.blaze3d.platform.GlStateManager;
import dF.Wirent.events.EventDisplay;
import dF.Wirent.functions.api.Category;
import dF.Wirent.functions.api.Function;
import dF.Wirent.functions.api.FunctionRegister;
import dF.Wirent.functions.settings.impl.ModeSetting;
import dF.Wirent.utils.CustomFramebuffer;
import dF.Wirent.utils.render.ColorUtils;
import dF.Wirent.utils.render.KawaseBlur;
import net.minecraft.client.settings.PointOfView;
import net.minecraft.entity.player.PlayerEntity;
import org.lwjgl.opengl.GL11;

@FunctionRegister(name = "HandChams", type = Category.Render)
public class GlassHand extends Function {

    public CustomFramebuffer hands = new CustomFramebuffer(false).setLinear();
    public CustomFramebuffer mask = new CustomFramebuffer(false).setLinear();
    private final ModeSetting type = new ModeSetting("Тип", "Размытие", "Обводка", "Размытие"); // и зачем, я это блять писал вообщето....( привет YouGame и звезда?

    public GlassHand(){
        addSettings(type);
    }

    @Subscribe
    public void onRender(EventDisplay e) {
        if (e.getType() != EventDisplay.Type.HIGH) {
            return;
        }

        if (mc.gameSettings.getPointOfView() == PointOfView.FIRST_PERSON) {
            GlStateManager.pushMatrix();
            GlStateManager.enableBlend();
            GlStateManager.enableAlphaTest();

            if (type.get().equals("Размытие")) {
                KawaseBlur.blur.updateBlur(3, 4);
                ColorUtils.setColor(ColorUtils.getColor(0));
                KawaseBlur.blur.render(() -> {
                    hands.draw();
                });
            } else if (type.get().equals("Обводка")) {
                renderOutline();
                hands.draw();
            }

            GlStateManager.disableAlphaTest();
            GlStateManager.popMatrix();
        }
    }

    private void renderOutline() {
        GL11.glEnable(GL11.GL_STENCIL_TEST);
        GL11.glClear(GL11.GL_STENCIL_BUFFER_BIT);

        GL11.glStencilFunc(GL11.GL_ALWAYS, 1, 0xFF);
        GL11.glStencilOp(GL11.GL_KEEP, GL11.GL_KEEP, GL11.GL_REPLACE);

        GlStateManager.pushMatrix();
        ColorUtils.setColor(0xFFFFFFFF);
        hands.draw();
        GlStateManager.popMatrix();


        GL11.glStencilFunc(GL11.GL_NOTEQUAL, 1, 0xFF);
        GL11.glStencilOp(GL11.GL_KEEP, GL11.GL_KEEP, GL11.GL_KEEP);


        GlStateManager.enableBlend();
        GlStateManager.blendFunc(GL11.GL_SRC_ALPHA, GL11.GL_ONE);

        final float offset = 1.0f;
        for (float i = -2; i <= 2; i++) {
            for (float j = -2; j <= 2; j++) {
                GlStateManager.pushMatrix();
                GlStateManager.translatef(i * offset, j * offset, 0.0f);
                ColorUtils.setColor(0xFFFFFFFF);
                hands.draw();
                GlStateManager.popMatrix();
            }
        }

        GlStateManager.blendFunc(GL11.GL_SRC_ALPHA, GL11.GL_ONE_MINUS_SRC_ALPHA);
        GlStateManager.disableBlend();

        GL11.glDisable(GL11.GL_STENCIL_TEST);
    }

    public static void setSaturation(float saturation) {
        float[] saturationMatrix = {
                0.3086f * (1.0f - saturation) + saturation, 0.6094f * (1.0f - saturation), 0.0820f * (1.0f - saturation), 0, 0,
                0.3086f * (1.0f - saturation), 0.6094f * (1.0f - saturation) + saturation, 0.0820f * (1.0f - saturation), 0, 0,
                0.3086f * (1.0f - saturation), 0.6094f * (1.0f - saturation), 0.0820f * (1.0f - saturation) + saturation, 0, 0,
                0, 0, 0, 1, 0
        };
        GL11.glLoadMatrixf(saturationMatrix);
    }

    @Override
    protected float[] rotations(PlayerEntity var1) {
        return new float[0];
    }
}
1725716153667.png
Функция должна называться InvalidChams. Где мои руки? Мод размытие если что
 
Начинающий
Статус
Оффлайн
Регистрация
1 Дек 2020
Сообщения
62
Реакции[?]
1
Поинты[?]
1K
Начинающий
Статус
Оффлайн
Регистрация
3 Май 2024
Сообщения
182
Реакции[?]
0
Поинты[?]
0
Код:
package dF.Wirent.functions.impl.render;

import com.google.common.eventbus.Subscribe;
import com.mojang.blaze3d.platform.GlStateManager;
import dF.Wirent.events.EventDisplay;
import dF.Wirent.functions.api.Category;
import dF.Wirent.functions.api.Function;
import dF.Wirent.functions.api.FunctionRegister;
import dF.Wirent.functions.settings.impl.ModeSetting;
import dF.Wirent.utils.CustomFramebuffer;
import dF.Wirent.utils.render.ColorUtils;
import dF.Wirent.utils.render.KawaseBlur;
import net.minecraft.client.settings.PointOfView;
import net.minecraft.entity.player.PlayerEntity;
import org.lwjgl.opengl.GL11;

@FunctionRegister(name = "HandChams", type = Category.Render)
public class GlassHand extends Function {

    public CustomFramebuffer hands = new CustomFramebuffer(false).setLinear();
    public CustomFramebuffer mask = new CustomFramebuffer(false).setLinear();
    private final ModeSetting type = new ModeSetting("Тип", "Размытие", "Обводка", "Размытие"); // и зачем, я это блять писал вообщето....( привет YouGame и звезда?

    public GlassHand(){
        addSettings(type);
    }

    @Subscribe
    public void onRender(EventDisplay e) {
        if (e.getType() != EventDisplay.Type.HIGH) {
            return;
        }

        if (mc.gameSettings.getPointOfView() == PointOfView.FIRST_PERSON) {
            GlStateManager.pushMatrix();
            GlStateManager.enableBlend();
            GlStateManager.enableAlphaTest();

            if (type.get().equals("Размытие")) {
                KawaseBlur.blur.updateBlur(3, 4);
                ColorUtils.setColor(ColorUtils.getColor(0));
                KawaseBlur.blur.render(() -> {
                    hands.draw();
                });
            } else if (type.get().equals("Обводка")) {
                renderOutline();
                hands.draw();
            }

            GlStateManager.disableAlphaTest();
            GlStateManager.popMatrix();
        }
    }

    private void renderOutline() {
        GL11.glEnable(GL11.GL_STENCIL_TEST);
        GL11.glClear(GL11.GL_STENCIL_BUFFER_BIT);

        GL11.glStencilFunc(GL11.GL_ALWAYS, 1, 0xFF);
        GL11.glStencilOp(GL11.GL_KEEP, GL11.GL_KEEP, GL11.GL_REPLACE);

        GlStateManager.pushMatrix();
        ColorUtils.setColor(0xFFFFFFFF);
        hands.draw();
        GlStateManager.popMatrix();


        GL11.glStencilFunc(GL11.GL_NOTEQUAL, 1, 0xFF);
        GL11.glStencilOp(GL11.GL_KEEP, GL11.GL_KEEP, GL11.GL_KEEP);


        GlStateManager.enableBlend();
        GlStateManager.blendFunc(GL11.GL_SRC_ALPHA, GL11.GL_ONE);

        final float offset = 1.0f;
        for (float i = -2; i <= 2; i++) {
            for (float j = -2; j <= 2; j++) {
                GlStateManager.pushMatrix();
                GlStateManager.translatef(i * offset, j * offset, 0.0f);
                ColorUtils.setColor(0xFFFFFFFF);
                hands.draw();
                GlStateManager.popMatrix();
            }
        }

        GlStateManager.blendFunc(GL11.GL_SRC_ALPHA, GL11.GL_ONE_MINUS_SRC_ALPHA);
        GlStateManager.disableBlend();

        GL11.glDisable(GL11.GL_STENCIL_TEST);
    }

    public static void setSaturation(float saturation) {
        float[] saturationMatrix = {
                0.3086f * (1.0f - saturation) + saturation, 0.6094f * (1.0f - saturation), 0.0820f * (1.0f - saturation), 0, 0,
                0.3086f * (1.0f - saturation), 0.6094f * (1.0f - saturation) + saturation, 0.0820f * (1.0f - saturation), 0, 0,
                0.3086f * (1.0f - saturation), 0.6094f * (1.0f - saturation), 0.0820f * (1.0f - saturation) + saturation, 0, 0,
                0, 0, 0, 1, 0
        };
        GL11.glLoadMatrixf(saturationMatrix);
    }

    @Override
    protected float[] rotations(PlayerEntity var1) {
        return new float[0];
    }
}
не ворк, если есть фикс скиньте кто-то
 
Начинающий
Статус
Оффлайн
Регистрация
27 Июн 2024
Сообщения
129
Реакции[?]
0
Поинты[?]
0
Код:
package dF.Wirent.functions.impl.render;

import com.google.common.eventbus.Subscribe;
import com.mojang.blaze3d.platform.GlStateManager;
import dF.Wirent.events.EventDisplay;
import dF.Wirent.functions.api.Category;
import dF.Wirent.functions.api.Function;
import dF.Wirent.functions.api.FunctionRegister;
import dF.Wirent.functions.settings.impl.ModeSetting;
import dF.Wirent.utils.CustomFramebuffer;
import dF.Wirent.utils.render.ColorUtils;
import dF.Wirent.utils.render.KawaseBlur;
import net.minecraft.client.settings.PointOfView;
import net.minecraft.entity.player.PlayerEntity;
import org.lwjgl.opengl.GL11;

@FunctionRegister(name = "HandChams", type = Category.Render)
public class GlassHand extends Function {

    public CustomFramebuffer hands = new CustomFramebuffer(false).setLinear();
    public CustomFramebuffer mask = new CustomFramebuffer(false).setLinear();
    private final ModeSetting type = new ModeSetting("Тип", "Размытие", "Обводка", "Размытие"); // и зачем, я это блять писал вообщето....( привет YouGame и звезда?

    public GlassHand(){
        addSettings(type);
    }

    @Subscribe
    public void onRender(EventDisplay e) {
        if (e.getType() != EventDisplay.Type.HIGH) {
            return;
        }

        if (mc.gameSettings.getPointOfView() == PointOfView.FIRST_PERSON) {
            GlStateManager.pushMatrix();
            GlStateManager.enableBlend();
            GlStateManager.enableAlphaTest();

            if (type.get().equals("Размытие")) {
                KawaseBlur.blur.updateBlur(3, 4);
                ColorUtils.setColor(ColorUtils.getColor(0));
                KawaseBlur.blur.render(() -> {
                    hands.draw();
                });
            } else if (type.get().equals("Обводка")) {
                renderOutline();
                hands.draw();
            }

            GlStateManager.disableAlphaTest();
            GlStateManager.popMatrix();
        }
    }

    private void renderOutline() {
        GL11.glEnable(GL11.GL_STENCIL_TEST);
        GL11.glClear(GL11.GL_STENCIL_BUFFER_BIT);

        GL11.glStencilFunc(GL11.GL_ALWAYS, 1, 0xFF);
        GL11.glStencilOp(GL11.GL_KEEP, GL11.GL_KEEP, GL11.GL_REPLACE);

        GlStateManager.pushMatrix();
        ColorUtils.setColor(0xFFFFFFFF);
        hands.draw();
        GlStateManager.popMatrix();


        GL11.glStencilFunc(GL11.GL_NOTEQUAL, 1, 0xFF);
        GL11.glStencilOp(GL11.GL_KEEP, GL11.GL_KEEP, GL11.GL_KEEP);


        GlStateManager.enableBlend();
        GlStateManager.blendFunc(GL11.GL_SRC_ALPHA, GL11.GL_ONE);

        final float offset = 1.0f;
        for (float i = -2; i <= 2; i++) {
            for (float j = -2; j <= 2; j++) {
                GlStateManager.pushMatrix();
                GlStateManager.translatef(i * offset, j * offset, 0.0f);
                ColorUtils.setColor(0xFFFFFFFF);
                hands.draw();
                GlStateManager.popMatrix();
            }
        }

        GlStateManager.blendFunc(GL11.GL_SRC_ALPHA, GL11.GL_ONE_MINUS_SRC_ALPHA);
        GlStateManager.disableBlend();

        GL11.glDisable(GL11.GL_STENCIL_TEST);
    }

    public static void setSaturation(float saturation) {
        float[] saturationMatrix = {
                0.3086f * (1.0f - saturation) + saturation, 0.6094f * (1.0f - saturation), 0.0820f * (1.0f - saturation), 0, 0,
                0.3086f * (1.0f - saturation), 0.6094f * (1.0f - saturation) + saturation, 0.0820f * (1.0f - saturation), 0, 0,
                0.3086f * (1.0f - saturation), 0.6094f * (1.0f - saturation), 0.0820f * (1.0f - saturation) + saturation, 0, 0,
                0, 0, 0, 1, 0
        };
        GL11.glLoadMatrixf(saturationMatrix);
    }

    @Override
    protected float[] rotations(PlayerEntity var1) {
        return new float[0];
    }
}
Когда слив вирент?
 
Сверху Снизу