Вопрос Что-то странное с неймтагами | Баг с позицеей неймтагов

Начинающий
Статус
Оффлайн
Регистрация
7 Янв 2024
Сообщения
12
Реакции[?]
0
Поинты[?]
0

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

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

Спасибо!

Помогите пж фиксануть данный приколюмбр <3


Нейматегес:
            for (Entity entity : mc.world.getAllEntities()) {
                if (!(entity instanceof PlayerEntity)) continue;
                if (entity == mc.player && (mc.gameSettings.getPointOfView() == PointOfView.FIRST_PERSON)) continue;

                Vector2f pos = ProjectionUtil.project(MathUtil.interpolateEntityNametag(entity, Fonts.msMedium[20]));

                if (pos != null) {
                    RenderSystem.pushMatrix();
                    RenderSystem.translatef(pos.x, pos.y, 0);
                    RenderSystem.scalef(scaleSlider.getValue(), scaleSlider.getValue(), scaleSlider.getValue());

                    TextComponent name = (TextComponent) entity.getDisplayName();
                    if (hpRender.getValue()) name.append(new StringTextComponent(TextFormatting.DARK_GRAY + " [" + TextFormatting.RED + (int) ((PlayerEntity) entity).getHealth() + TextFormatting.DARK_GRAY + "]"));

                    float width = (customFont.getValue() ? Fonts.msSemiBold[20].getWidth(name.getString()) : mc.fontRenderer.getStringPropertyWidth(name));

                    if (donumInstance.getFriendManager().isFriend(entity.getName().getString())) { // TODO
                        int c1 = ColorUtil.getColorGradient(new Color(145, 255, 152, 200).getRGB(), new Color(113, 243, 6, 100).getRGB(), 0, 25);
                        int c2 = ColorUtil.getColorGradient(new Color(145, 255, 152, 200).getRGB(), new Color(113, 243, 6, 100).getRGB(), 1000, 25);
                        c1 = ColorUtil.setAlpha(c1, 120);
                        c2 = ColorUtil.setAlpha(c2, 120);
                        RenderUtil.Render2D.drawRoundedRect(-width / 2f - 5, -5, width + 10, 18, new Vector4f(4, 4, 4, 4), //new Color(113, 243, 6, 100).getRGB(), new Color(0, 255, 60, 200).getRGB()
                                new Vector4i(c1, c1, c2, c2));
                    } else if (mc.player.getName().equals(entity.getName())) {
                        int c1 = ColorUtil.getColorGradient(ThemeUtil.getCurrentTheme().getFirstColor(), ThemeUtil.getCurrentTheme().getSecondColor(), 1, 15);
                        int c2 = ColorUtil.getColorGradient(ThemeUtil.getCurrentTheme().getFirstColor(), ThemeUtil.getCurrentTheme().getSecondColor(), 1000, 15);
                        c1 = ColorUtil.setAlpha(c1, 120);
                        c2 = ColorUtil.setAlpha(c2, 120);
                        RenderUtil.Render2D.drawRoundedRect(-width / 2f - 5, -5, width + 10, 18, new Vector4f(4, 4, 4, 4), //new Color(113, 243, 6, 100).getRGB(), new Color(0, 255, 60, 200).getRGB()
                                new Vector4i(c1, c1, c2, c2));
                    } else {
                        RenderUtil.Render2D.drawRoundedRect(-width / 2f - 5, -5, width + 10, 18, new Vector4f(4, 4, 4, 4), //new Color(113, 243, 6, 100).getRGB(), new Color(0, 255, 60, 200).getRGB()
                                new Vector4i(ColorUtil.rgba(20, 20, 20, 140), ColorUtil.rgba(20, 20, 20, 140), ColorUtil.rgba(20, 20, 20, 140), ColorUtil.rgba(20, 20, 20, 140)));
                    }


                    Fonts.msMedium[20].drawCenteredStringWithOutline(e.getMatrixStack(), name.getString(), 0, 0, -1);


                    RenderSystem.popMatrix();
                }
            }
        }
ПрожектионУтилс:
@UtilityClass
public class ProjectionUtil implements ClientInstances {
    public Vector2f project(double x, double y, double z) {
        Vector3d camPos = mc.getRenderManager().info.getProjectedView();
        Quaternion camRot = mc.getRenderManager().getCameraOrientation();
        camRot.conjugate();

        Vector3f rel = new Vector3f((float) (camPos.x - x), (float) (camPos.y - y), (float) (camPos.z - z));
        rel.transform(camRot);

        float fov = (float) mc.gameRenderer.getFOVModifier(mc.gameRenderer.getActiveRenderInfo(), mc.getRenderPartialTicks(), true);
        float halfFov = fov/2;

        float screenHeight = sr.getScaledHeight();
        float halfHeight = screenHeight/2;

        float scale = (float) (halfHeight / (rel.z * Math.tan(Math.toRadians(halfFov))));

        if (rel.z < 0.0f) {
            return new Vector2f(sr.getScaledWidth()/2 - scale * rel.x, sr.getScaledHeight()/2 - scale * rel.y);
        }

        return null;
    }[ATTACH type="full" width="574px"]280541[/ATTACH][ATTACH type="full" width="467px"]280537[/ATTACH]

    public Vector2f project(Vector3d vec) {
        return project(vec.x, vec.y, vec.z);
    }
}
 

Вложения

Сверху Снизу