-
Автор темы
- #1
есть способ индикации предметов и сам неймтег, все в одном отрывку кода.
Индикация сферы отображается выше неймтега, хз как сделать так, чтоб
она была в одной строке с никнеймом и здоровьем игрока. Прошу помочь
Индикация сферы отображается выше неймтега, хз как сделать так, чтоб
она была в одной строке с никнеймом и здоровьем игрока. Прошу помочь
Код:
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();