Вопрос NameTags 3.1

  • Автор темы Автор темы zeonex_
  • Дата начала Дата начала
Начинающий
Начинающий
Статус
Оффлайн
Регистрация
9 Окт 2024
Сообщения
41
Реакции
0

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

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

Спасибо!

Помогите пожалуйста . Написал NameTags для exp 3.1 но включая NameTags , рендерятся не только они но и ванильный ник . Как исправить ?И можно ли как сделать чтобы рядом с ником не рендерились привилегии , и на некоторых вначале буквы A (тоесть a (Пробел) Ник ) или буквы С (тоесть с (Пробел) Ник ). Помогите пж
@ModuleRegister(name = "NameTags", category = Category.Render) public class NameTags extends Module { private static final Minecraft mc = Minecraft.getInstance(); @Subscribe public void onRender(EventDisplay event) { if (mc.world == null || event.getType() != EventDisplay.Type.PRE) { return; } for (Entity entity : mc.world.getAllEntities()) { if (!(entity instanceof PlayerEntity)) continue; if (entity == mc.player) continue; Vector3d interpolatedPos = new Vector3d( MathUtil.interpolate(entity.getPosX(), entity.lastTickPosX, event.getPartialTicks()), MathUtil.interpolate(entity.getPosY(), entity.lastTickPosY, event.getPartialTicks()), MathUtil.interpolate(entity.getPosZ(), entity.lastTickPosZ, event.getPartialTicks()) ); Vector2f screenPos = ProjectionUtil.project(interpolatedPos.x, interpolatedPos.y + entity.getHeight() + 0.5f, interpolatedPos.z); if (screenPos != null) { renderNametag(event.getMatrixStack(), entity, screenPos.x, screenPos.y); } } } private void renderNametag(MatrixStack matrixStack, Entity entity, float posX, float posY) { PlayerEntity player = (PlayerEntity) entity; StyledFont font = ClientFonts.msBold[20]; float length = font.getWidth(entity.getDisplayName().getString()); String healthText = TextFormatting.RED + "[" + TextFormatting.GOLD + Math.round(player.getHealth()) + TextFormatting.RED + "]"; float healthLength = font.getWidth(healthText); float totalLength = length + healthLength + 4; GL11.glPushMatrix(); glCenteredScale(posX - totalLength / 2f, posY - 7, totalLength, 10, 0.5f); float padding = 2.0f; DisplayUtils.drawRect( posX - totalLength / 2f - padding, posY - 7 - padding, posX + totalLength / 2f + padding, posY + 3 + padding, 0x90000000 ); String friendPrefix = FriendStorage.isFriend(entity.getName().getString()) ? TextFormatting.GREEN + "[F] " : ""; TextComponent name = (TextComponent) ITextComponent.getTextComponentOrEmpty(friendPrefix); name.append(entity.getDisplayName()); font.drawString(matrixStack, name, posX - totalLength / 2f, posY - 7, -1); font.drawString(matrixStack, healthText, posX - totalLength / 2f + length + 4, posY - 7, -1); GL11.glPopMatrix(); } private static void glCenteredScale(float x, float y, float w, float h, float scale) { GL11.glTranslatef(x + w / 2, y + h / 2, 0); GL11.glScalef(scale, scale, 1); GL11.glTranslatef(-x - w / 2, -y - h / 2, 0); } }
 
Обратите внимание, пользователь заблокирован на форуме. Не рекомендуется проводить сделки.
Помогите пожалуйста . Написал NameTags для exp 3.1 но включая NameTags , рендерятся не только они но и ванильный ник . Как исправить ?И можно ли как сделать чтобы рядом с ником не рендерились привилегии , и на некоторых вначале буквы A (тоесть a (Пробел) Ник ) или буквы С (тоесть с (Пробел) Ник ). Помогите пж
@ModuleRegister(name = "NameTags", category = Category.Render) public class NameTags extends Module { private static final Minecraft mc = Minecraft.getInstance(); @Subscribe public void onRender(EventDisplay event) { if (mc.world == null || event.getType() != EventDisplay.Type.PRE) { return; } for (Entity entity : mc.world.getAllEntities()) { if (!(entity instanceof PlayerEntity)) continue; if (entity == mc.player) continue; Vector3d interpolatedPos = new Vector3d( MathUtil.interpolate(entity.getPosX(), entity.lastTickPosX, event.getPartialTicks()), MathUtil.interpolate(entity.getPosY(), entity.lastTickPosY, event.getPartialTicks()), MathUtil.interpolate(entity.getPosZ(), entity.lastTickPosZ, event.getPartialTicks()) ); Vector2f screenPos = ProjectionUtil.project(interpolatedPos.x, interpolatedPos.y + entity.getHeight() + 0.5f, interpolatedPos.z); if (screenPos != null) { renderNametag(event.getMatrixStack(), entity, screenPos.x, screenPos.y); } } } private void renderNametag(MatrixStack matrixStack, Entity entity, float posX, float posY) { PlayerEntity player = (PlayerEntity) entity; StyledFont font = ClientFonts.msBold[20]; float length = font.getWidth(entity.getDisplayName().getString()); String healthText = TextFormatting.RED + "[" + TextFormatting.GOLD + Math.round(player.getHealth()) + TextFormatting.RED + "]"; float healthLength = font.getWidth(healthText); float totalLength = length + healthLength + 4; GL11.glPushMatrix(); glCenteredScale(posX - totalLength / 2f, posY - 7, totalLength, 10, 0.5f); float padding = 2.0f; DisplayUtils.drawRect( posX - totalLength / 2f - padding, posY - 7 - padding, posX + totalLength / 2f + padding, posY + 3 + padding, 0x90000000 ); String friendPrefix = FriendStorage.isFriend(entity.getName().getString()) ? TextFormatting.GREEN + "[F] " : ""; TextComponent name = (TextComponent) ITextComponent.getTextComponentOrEmpty(friendPrefix); name.append(entity.getDisplayName()); font.drawString(matrixStack, name, posX - totalLength / 2f, posY - 7, -1); font.drawString(matrixStack, healthText, posX - totalLength / 2f + length + 4, posY - 7, -1); GL11.glPopMatrix(); } private static void glCenteredScale(float x, float y, float w, float h, float scale) { GL11.glTranslatef(x + w / 2, y + h / 2, 0); GL11.glScalef(scale, scale, 1); GL11.glTranslatef(-x - w / 2, -y - h / 2, 0); } }
Точно сказать не могу, но можно вроде голограммы отключить через код
 
PlayerRenderer или как то так ( но вообщем должно быть в названии Player и класс наследуеться от EnityRenderer) там будет метод рендера nameTags пишешь if(твой модуль вкл) return
 
Обратите внимание, пользователь заблокирован на форуме. Не рекомендуется проводить сделки.
exp:
Expand Collapse Copy
@Subscribe
public void твой метод с рендером(RenderLivingEvent.Specials.Pre<PlayerEntity> event) {
    if (event.getEntity() instanceof PlayerEntity) {
        event.setCanceled(true);
    }
}
 
Назад
Сверху Снизу