Вопрос DisplayUtils | TargetInfoRenderer | exp 3.1

Начинающий
Статус
Оффлайн
Регистрация
11 Июл 2023
Сообщения
75
Реакции[?]
0
Поинты[?]
0

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

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

Спасибо!

photo_2024-10-24_17-03-36.jpg

Что надо сделать чтоб имаге головы игрока стал закругленной, знаю что это связано с Radius
 
Начинающий
Статус
Оффлайн
Регистрация
22 Авг 2022
Сообщения
332
Реакции[?]
3
Поинты[?]
3K
Начинающий
Статус
Оффлайн
Регистрация
18 Авг 2023
Сообщения
341
Реакции[?]
2
Поинты[?]
0
Посмотреть вложение 288660

Что надо сделать чтоб имаге головы игрока стал закругленной, знаю что это связано с Radius
code:
    public static void drawRoundFace(MatrixStack stack, final float x, final float y, final int size, final float alpha, final float radius, final Entity target) {
        try {
            if (target instanceof AbstractClientPlayerEntity player) {
                final ResourceLocation skin = player.getLocationSkin();
                IMinecraft.mc.getTextureManager().bindTexture(skin);
                RenderSystem.pushMatrix();
                RenderSystem.enableBlend();
                RenderSystem.blendFunc(770, 771);
                roundedFace.init();
                roundedFace.setUniform("location", x * 2.0f, sr.getHeight() - size * 2.0f - y * 2.0f);
                roundedFace.setUniform("size", size * 2.0f, size * 2.0f);
                roundedFace.setUniform("texture", 0);
                roundedFace.setUniform("radius", radius * 2.0f);
                roundedFace.setUniform("alpha", alpha);
                roundedFace.setUniform("u", 0.125f);
                roundedFace.setUniform("v", 0.125f);
                roundedFace.setUniform("w", 0.125f);
                roundedFace.setUniform("h", 0.125f);
                quadsBegin(x, y, size, size, 7);
                roundedFace.unload();;
                RenderSystem.disableBlend();
                RenderSystem.popMatrix();
            } else {
                drawRoundedRect(stack, x, y, size, size, radius, ColorUtility.rgba(20, 20, 20, 60), false, size);
            }
        }
        catch (final Exception e) {
            e.printStackTrace();
        }
    }
code:
    public static void drawRoundFace(MatrixStack stack, final float x, final float y, final int size, final float alpha, final float radius, final Entity target) {
        try {
            if (target instanceof AbstractClientPlayerEntity player) {
                final ResourceLocation skin = player.getLocationSkin();
                IMinecraft.mc.getTextureManager().bindTexture(skin);
                RenderSystem.pushMatrix();
                RenderSystem.enableBlend();
                RenderSystem.blendFunc(770, 771);
                roundedFace.init();
                roundedFace.setUniform("location", x * 2.0f, sr.getHeight() - size * 2.0f - y * 2.0f);
                roundedFace.setUniform("size", size * 2.0f, size * 2.0f);
                roundedFace.setUniform("texture", 0);
                roundedFace.setUniform("radius", radius * 2.0f);
                roundedFace.setUniform("alpha", alpha);
                roundedFace.setUniform("u", 0.125f);
                roundedFace.setUniform("v", 0.125f);
                roundedFace.setUniform("w", 0.125f);
                roundedFace.setUniform("h", 0.125f);
                quadsBegin(x, y, size, size, 7);
                roundedFace.unload();;
                RenderSystem.disableBlend();
                RenderSystem.popMatrix();
            } else {
                drawRoundedRect(stack, x, y, size, size, radius, ColorUtility.rgba(20, 20, 20, 60), false, size);
            }
        }
        catch (final Exception e) {
            e.printStackTrace();
        }
    }
code:
    private String roundedFace = """
            #version 120
            
            uniform vec2 location, size;
            uniform sampler2D texture;
            uniform float radius, alpha;
            uniform float u, v, w, h;
            
            float calcLength(vec2 p, vec2 b, float r) {
                return length(max(abs(p) - b, 0)) - r;
            }
            
            void main() {
                vec2 halfSize = size * 0.5;
                vec2 st = gl_TexCoord[0].st;
                st.x = u + st.x * w;
                st.y = v + st.y * h;
                float distance = calcLength(halfSize - (gl_TexCoord[0].st * size), halfSize - radius - 1, radius);
                float smoothedAlpha = (1 - smoothstep(0, 2, distance)) * alpha;
                vec4 color = texture2D(texture, st);
                gl_FragColor = vec4(color.rgb, smoothedAlpha);
            }
            """;
 
Сверху Снизу