-
Автор темы
- #1
Перед прочтением основного контента ниже, пожалуйста, обратите внимание на обновление внутри секции Майна на нашем форуме. У нас появились:
- бесплатные читы для Майнкрафт — любое использование на свой страх и риск;
- маркетплейс Майнкрафт — абсолютно любая коммерция, связанная с игрой, за исключением продажи читов (аккаунты, предоставления услуг, поиск кодеров читов и так далее);
- приватные читы для Minecraft — в этом разделе только платные хаки для игры, покупайте группу "Продавец" и выставляйте на продажу свой софт;
- обсуждения и гайды — всё тот же раздел с вопросами, но теперь модернизированный: поиск нужных хаков, пати с игроками-читерами и другая полезная информация.
Спасибо!
Код:
private void onRenderTargetHUD(final MatrixStack stack) {
this.target = getTarget(this.target);
this.targetHudAnimation.setDuration(300);
this.scale = targetHudAnimation.getOutput();
if (scale == 0.0F) {
target = null;
}
if (target == null) {
return;
}
final String targetName = this.target.getName().getString();
String substring = targetName.substring(0, Math.min(targetName.length(), 10));
final float nameWidth = Fonts.gilroyBold[18].getWidth(substring);
final float xPosition = this.targetHUD.getX();
final float yPosition = this.targetHUD.getY();
final float maxWidth = Math.max(nameWidth + 50, 120);
final float maxHeight = 30;
// Обновление значения здоровья с анимацией
this.health = AnimationMath.fast(health, target.getHealth() / target.getMaxHealth(), 5);
this.health = MathHelper.clamp(this.health, 0, 1);
GlStateManager.pushMatrix();
AnimationMath.sizeAnimation(xPosition + (maxWidth / 2), yPosition + (maxHeight / 2), scale);
Vector2i colorVec = new Vector2i(ColorUtil.getColorStyle(0), ColorUtil.getColorStyle(90));
RenderUtil.Render2D.drawShadow(xPosition, yPosition, maxWidth, maxHeight, 10, colorVec.x, colorVec.y, ColorUtil.getColorStyle(180), ColorUtil.getColorStyle(270));
RenderUtil.Render2D.drawGradientRound(xPosition, yPosition, maxWidth, maxHeight, 3, colorVec.x, colorVec.y, ColorUtil.getColorStyle(180), ColorUtil.getColorStyle(270));
RenderUtil.Render2D.drawRoundedRect(xPosition, yPosition, maxWidth, maxHeight, 2.5f, rgba(21, 21, 21, 200));
// Отрисовка головы
drawFace(xPosition + 4, yPosition + 4, 8F, 8F, 8F, 8F, 22, 22, 64F, 64F, (AbstractClientPlayerEntity) target);
// Отрисовка кругового индикатора здоровья
drawCircle(
xPosition + maxWidth - 15,
yPosition + maxHeight / 2,
0,
360,
10,
4,
false,
ColorUtil.rgba(26, 26, 26, 255)
);
drawCircle(
xPosition + maxWidth - 15,
yPosition + maxHeight / 2,
0,
health * 360 + 1,
10,
4,
false,
Managment.STYLE_MANAGER.getCurrentStyle()
);
drawItemStack(xPosition + 32, yPosition + 22 - 5.5f, 10);
Fonts.gilroyBold[18].drawString(stack, substring, xPosition + 30, yPosition + 6, -1);
String healthValue = (int) MathUtil.round(this.health * 20 + target.getAbsorptionAmount(), 0.5f) + "";
Fonts.gilroyBold[16].drawCenteredString(stack, healthValue, xPosition + maxWidth - 15, yPosition + maxHeight / 2 - 2.2f, ColorUtil.rgba(255, 255, 255, 255));
GlStateManager.popMatrix();
this.targetHUD.setWidth(maxWidth);
this.targetHUD.setHeight(maxHeight);
}