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