• Ну и что вы думаете? Мы взяли и создали свой собственный чат, с блекджеком и шлюхами, теперь все легенды в одном месте: даже те 1000 человек, которых мы забанили в старом чате 🫡 Будем публиковать там очень интересные подробности нового дизайна форума, oh yeah

    Вступай и становись легендой, пока это не стало поздно: жмякай на меня, ток не сильно(

Вопрос Помещение индикации сфер в линию с нейм тегом exp 3.1

Начинающий
Статус
Оффлайн
Регистрация
22 Сен 2024
Сообщения
130
Реакции[?]
0
Поинты[?]
0
есть способ индикации предметов и сам неймтег, все в одном отрывку кода.
Индикация сферы отображается выше неймтега, хз как сделать так, чтоб
она была в одной строке с никнеймом и здоровьем игрока. Прошу помочь
Код:
       String hptext1 =  (int) hp + "";
                ITextComponent text = entity.getDisplayName();
                TextComponent name = (TextComponent)text;

                name.append(new StringTextComponent(" [" + TextFormatting.RED + (int) hp + TextFormatting.WHITE + "]"));

                float length = mc.fontRenderer.getStringPropertyWidth(name);
                GL11.glPushMatrix();
                glCenteredScale(position.x + width / 2f - length / 2f, position.y - 7, length, 10, 0.5f);
                if(FriendStorage.isFriend(entity.getName().getString())) {
                    DisplayUtils.drawRoundedRect(position.x - 2 + width / 2.0F - length / 1.9f, position.y - 16, length + 8, 14, 2, ColorUtils.rgba(10, 92, 1, 150));
                }else {
                    DisplayUtils.drawRoundedRect(position.x - 2 + width / 2.0F - length / 1.9f , position.y - 16, length + 8, 14, 2, ColorUtils.rgba(10, 10, 10, 100));
                }
                mc.fontRenderer.func_243246_a(e.getMatrixStack(), name, position.x + width/2.0f - length / 2f , position.y - 13, -1);
                if(entity instanceof PlayerEntity player){
                    if(remove.getValueByName("Индикация предметов").get()) {
                        ItemStack stack = player.getHeldItemOffhand();
                        String nameS = "";

                        String itemName = stack.getDisplayName().getString();
                        if (stack.getItem() == Items.PLAYER_HEAD) {
                            CompoundNBT tag = stack.getTag();

                            if (tag != null && tag.contains("display", 10)) {
                                CompoundNBT display = tag.getCompound("display");

                                if (display.contains("Lore", 9)) {
                                    ListNBT lore = display.getList("Lore", 8);

                                    if (!lore.isEmpty()) {
                                        String firstLore = lore.getString(0);

                                        int levelIndex = firstLore.indexOf("Уровень");
                                        if (levelIndex != -1) {
                                            String levelString = firstLore.substring(levelIndex + "Уровень".length()).trim();
                                            String gat = levelString;
                                            if (gat.contains("1/3")) {
                                                nameS = "- 1/3]";
                                            } else if (gat.contains("2/3")) {
                                                nameS = "- 2/3]";
                                            } else if (gat.contains("MAX")) {
                                                nameS = "- MAX]";
                                            } else {
                                                nameS = "";
                                            }
                                        }
                                    }
                                }
                            }
                            if (itemName.contains("Пандо")) {
                                itemName = "[PANDORA ";
                            } else if (itemName.contains("Аполл")) {
                                itemName = "[APOLLON ";
                            } else if (itemName.contains("Тит")) {
                                itemName = "[TITANA ";
                            } else if (itemName.contains("Осир")) {
                                itemName = "[OSIRIS ";
                            } else if (itemName.contains("Андро")) {
                                itemName = "[ANDROMEDA";
                            } else if (itemName.contains("Хим")) {
                                itemName = "[XIMERA ";
                            } else if (itemName.contains("Астр")) {
                                itemName = "[ASTREYA ";
                            }


                            Fonts.consolas.drawText(e.getMatrixStack(), itemName + nameS, (float) position.x - 15, position.y - 55, ColorUtils.rgb(255, 0, 0), 10.5f, 0.0001f);
                        }
                    }
                }GL11.glPopMatrix();
 
Начинающий
Статус
Оффлайн
Регистрация
22 Сен 2024
Сообщения
130
Реакции[?]
0
Поинты[?]
0
есть способ индикации предметов и сам неймтег, все в одном отрывку кода.
Индикация сферы отображается выше неймтега, хз как сделать так, чтоб
она была в одной строке с никнеймом и здоровьем игрока. Прошу помочь
Код:
       String hptext1 =  (int) hp + "";
                ITextComponent text = entity.getDisplayName();
                TextComponent name = (TextComponent)text;

                name.append(new StringTextComponent(" [" + TextFormatting.RED + (int) hp + TextFormatting.WHITE + "]"));

                float length = mc.fontRenderer.getStringPropertyWidth(name);
                GL11.glPushMatrix();
                glCenteredScale(position.x + width / 2f - length / 2f, position.y - 7, length, 10, 0.5f);
                if(FriendStorage.isFriend(entity.getName().getString())) {
                    DisplayUtils.drawRoundedRect(position.x - 2 + width / 2.0F - length / 1.9f, position.y - 16, length + 8, 14, 2, ColorUtils.rgba(10, 92, 1, 150));
                }else {
                    DisplayUtils.drawRoundedRect(position.x - 2 + width / 2.0F - length / 1.9f , position.y - 16, length + 8, 14, 2, ColorUtils.rgba(10, 10, 10, 100));
                }
                mc.fontRenderer.func_243246_a(e.getMatrixStack(), name, position.x + width/2.0f - length / 2f , position.y - 13, -1);
                if(entity instanceof PlayerEntity player){
                    if(remove.getValueByName("Индикация предметов").get()) {
                        ItemStack stack = player.getHeldItemOffhand();
                        String nameS = "";

                        String itemName = stack.getDisplayName().getString();
                        if (stack.getItem() == Items.PLAYER_HEAD) {
                            CompoundNBT tag = stack.getTag();

                            if (tag != null && tag.contains("display", 10)) {
                                CompoundNBT display = tag.getCompound("display");

                                if (display.contains("Lore", 9)) {
                                    ListNBT lore = display.getList("Lore", 8);

                                    if (!lore.isEmpty()) {
                                        String firstLore = lore.getString(0);

                                        int levelIndex = firstLore.indexOf("Уровень");
                                        if (levelIndex != -1) {
                                            String levelString = firstLore.substring(levelIndex + "Уровень".length()).trim();
                                            String gat = levelString;
                                            if (gat.contains("1/3")) {
                                                nameS = "- 1/3]";
                                            } else if (gat.contains("2/3")) {
                                                nameS = "- 2/3]";
                                            } else if (gat.contains("MAX")) {
                                                nameS = "- MAX]";
                                            } else {
                                                nameS = "";
                                            }
                                        }
                                    }
                                }
                            }
                            if (itemName.contains("Пандо")) {
                                itemName = "[PANDORA ";
                            } else if (itemName.contains("Аполл")) {
                                itemName = "[APOLLON ";
                            } else if (itemName.contains("Тит")) {
                                itemName = "[TITANA ";
                            } else if (itemName.contains("Осир")) {
                                itemName = "[OSIRIS ";
                            } else if (itemName.contains("Андро")) {
                                itemName = "[ANDROMEDA";
                            } else if (itemName.contains("Хим")) {
                                itemName = "[XIMERA ";
                            } else if (itemName.contains("Астр")) {
                                itemName = "[ASTREYA ";
                            }


                            Fonts.consolas.drawText(e.getMatrixStack(), itemName + nameS, (float) position.x - 15, position.y - 55, ColorUtils.rgb(255, 0, 0), 10.5f, 0.0001f);
                        }
                    }
                }GL11.glPopMatrix();
До сих пор не решил
 
Начинающий
Статус
Оффлайн
Регистрация
27 Окт 2023
Сообщения
16
Реакции[?]
0
Поинты[?]
0
что ты имеешь ввиду, если перемещение то меняй корды рендера своей индекации
 
Сверху Снизу