Визуальная часть TargetHud | Tipo Catlavan theme |

Начинающий
Начинающий
Статус
Оффлайн
Регистрация
21 Авг 2024
Сообщения
8
Реакции
0
Выберите загрузчик игры
  1. Forge

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

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

Спасибо!

Catlavan:
Expand Collapse Copy
package ru.client.Grissec.ui.display.impl;

import com.mojang.blaze3d.platform.GlStateManager;
import ru.client.Grissec.Client;
import ru.client.Grissec.events.EventDisplay;
import ru.client.Grissec.ui.display.ElementRenderer;
import ru.client.Grissec.ui.styles.Style;
import ru.client.Grissec.utils.animations.Animation;
import ru.client.Grissec.utils.animations.Direction;
import ru.client.Grissec.utils.animations.impl.EaseBackIn;
import ru.client.Grissec.utils.client.ClientUtil;
import ru.client.Grissec.utils.drag.Dragging;
import ru.client.Grissec.utils.math.MathUtil;
import ru.client.Grissec.utils.math.StopWatch;
import ru.client.Grissec.utils.math.Vector4i;
import ru.client.Grissec.utils.render.ColorUtils;
import ru.client.Grissec.utils.render.DisplayUtils;
import ru.client.Grissec.utils.render.Scissor;
import ru.client.Grissec.utils.render.font.Fonts;
import lombok.AccessLevel;
import lombok.RequiredArgsConstructor;
import lombok.experimental.FieldDefaults;
import net.minecraft.client.gui.AbstractGui;
import net.minecraft.client.gui.screen.ChatScreen;
import net.minecraft.client.renderer.entity.EntityRenderer;
import net.minecraft.client.renderer.RenderHelper;
import net.minecraft.entity.LivingEntity;
import net.minecraft.entity.player.PlayerEntity;
import net.minecraft.item.ItemStack;
import net.minecraft.scoreboard.Score;
import net.minecraft.util.ResourceLocation;
import net.minecraft.util.math.MathHelper;
import net.minecraft.util.math.vector.Vector4f;
import org.lwjgl.opengl.GL11;

import java.util.ArrayList;
import java.util.List;

@FieldDefaults(level = AccessLevel.PRIVATE)
@RequiredArgsConstructor
public class TargetInfoRenderer implements ElementRenderer {
final StopWatch stopWatch = new StopWatch();
final Dragging drag;
LivingEntity entity = null;
boolean allow;
final Animation animation = new EaseBackIn(400, 1, 1);
float healthAnimation = 0.0f;
float absorptionAnimation = 0.0f;

@Override
    public void render(EventDisplay eventDisplay) {
entity = getTarget(entity);

float rounding = 1;
boolean out = !allow || stopWatch.isReached(1000);
animation.setDuration(out ? 400 : 300);
animation.setDirection(out ? Direction.BACKWARDS : Direction.FORWARDS);

if (animation.getOutput() == 0.0f) {
entity = null;
        }

if (entity != null) {
String name = entity.getName().getString();

float posX = drag.getX();
float posY = drag.getY();

float headSize = 28;
float spacing = 5;

float width = 172 / 1.5f;
float height = 59 / 1.5f;
 drag.setWidth(width);
 drag.setHeight(height);

Score score = mc.world.getScoreboard().getOrCreateScore(entity.getScoreboardName(), mc.world.getScoreboard().getObjectiveInDisplaySlot(2));

float hp = entity.getHealth();
float maxHp = entity.getMaxHealth();
String header = mc.ingameGUI.getTabList().header == null ? " " : mc.ingameGUI.getTabList().header.getString().toLowerCase();

if (mc.getCurrentServerData() != null && mc.getCurrentServerData().serverIP.contains("funtime")
&& (header.contains("анархия") || header.contains("гриферский")) && entity instanceof PlayerEntity) {
                hp = score.getScorePoints();
maxHp = 20;
            }

healthAnimation = MathUtil.fast(healthAnimation, MathHelper.clamp(hp / maxHp, 0, 1), 10);
absorptionAnimation = MathUtil.fast(absorptionAnimation, MathHelper.clamp(entity.getAbsorptionAmount() / maxHp, 0, 1), 10);

float animationValue = (float) animation.getOutput();

float halfAnimationValueRest = (1 - animationValue) / 2f;

 float testX = posX + (width * halfAnimationValueRest);
 float testY = posY + (height * halfAnimationValueRest);
 float testW = width * animationValue;
 float testH = height * animationValue;

GlStateManager.pushMatrix();
Style style = Client.getInstance().getStyleManager().getCurrentStyle();

sizeAnimation(posX + (width / 2), posY + (height / 2), animation.getOutput());
drawStyledRect(posX, posY, width, height, rounding, 255);
drawTargetHead(entity, posX + spacing, posY + spacing + 1, headSize, headSize);
Scissor.push();
Scissor.setFromComponentCoordinates(testX, testY, testW - 6, testH);
Fonts.sfui.drawText(eventDisplay.getMatrixStack(), name, posX + headSize + spacing * 2, posY + spacing + 1, -1, 8);
Fonts.sfMedium.drawText(eventDisplay.getMatrixStack(), "ХП: " + ((int) hp + (int) mc.player.getAbsorptionAmount()), posX + headSize + spacing * 2,
posY + spacing + 1 + spacing + spacing, ColorUtils.rgb(200, 200, 200), 7);
Scissor.unset();
Scissor.pop();

Vector4i vector4i = new Vector4i(style.getFirstColor().getRGB(), style.getFirstColor().getRGB(), style.getSecondColor().getRGB(), style.getSecondColor().getRGB());
DisplayUtils.drawRoundedRect(posX + headSize + spacing * 2, posY + height - spacing * 2 - 3, (width - 42), 7, new Vector4f(1, 1, 1, 1), ColorUtils.rgb(32, 32, 32));
DisplayUtils.drawRoundedRect(posX + headSize + spacing * 2, posY + height - spacing * 2 - 3, (width - 42) * healthAnimation, 7, new Vector4f(1, 1, 1, 1), vector4i);
            
if (entity instanceof PlayerEntity) {
PlayerEntity player = (PlayerEntity) entity;
List<ItemStack> items = new ArrayList<>();

                ItemStack mainHand = player.getHeldItemMainhand();
 if (!mainHand.isEmpty()) items.add(mainHand);

for (int i = 3; i >= 0; i--) {
ItemStack armor = player.inventory.armorInventory.get(i);
 if (!armor.isEmpty()) items.add(armor);
                }

                ItemStack offHand = player.getHeldItemOffhand();
 if (!offHand.isEmpty()) items.add(offHand);

float itemSize = 16;
float spacingItems = 4;
 float totalWidth = items.size() * (itemSize + spacingItems) - spacingItems;
float startX = posX + (width - totalWidth) / 2;
float itemY = posY - itemSize - 4;

RenderHelper.enableStandardItemLighting();
 for (ItemStack stack : items) {
mc.getItemRenderer().renderItemAndEffectIntoGUI(stack, (int) startX, (int) itemY);
                    startX += itemSize + spacingItems;
                }
RenderHelper.disableStandardItemLighting();
            }

GlStateManager.popMatrix();
        }
    }

private LivingEntity getTarget(LivingEntity nullTarget) {
LivingEntity auraTarget = Client.getInstance().getFunctionRegistry().getKillAura().getTarget();
        LivingEntity target = nullTarget;
if (auraTarget != null) {
 stopWatch.reset();
allow = true;
            target = auraTarget;
} else if (mc.currentScreen instanceof ChatScreen) {
 stopWatch.reset();
allow = true;
target = mc.player;
} else {
allow = false;
        }
 return target;
    }

public void drawTargetHead(LivingEntity entity, float x, float y, float width, float height) {
if (entity != null) {
EntityRenderer<? super LivingEntity> rendererManager = mc.getRenderManager().getRenderer(entity);
drawFace(rendererManager.getEntityTexture(entity), x, y, 8F, 8F, 8F, 8F, width, height, 64F, 64F, entity);
        }
    }

public static void sizeAnimation(double width, double height, double scale) {
GlStateManager.translated(width, height, 0);
GlStateManager.scaled(scale, scale, scale);
GlStateManager.translated(-width, -height, 0);
    }

public void drawFace(ResourceLocation res, float d,
 float y,
 float u,
 float v,
 float uWidth,
 float vHeight,
 float width,
 float height,
 float tileWidth,
 float tileHeight,
                         LivingEntity target) {
GL11.glPushMatrix();
GL11.glEnable(GL11.GL_BLEND);
 mc.getTextureManager().bindTexture(res);
float hurtPercent = (target.hurtTime - (target.hurtTime != 0 ? mc.timer.renderPartialTicks : 0.0f)) / 10.0f;
GL11.glColor4f(1, 1 - hurtPercent, 1 - hurtPercent, 1);
AbstractGui.drawScaledCustomSizeModalRect(d, y, u, v, uWidth, vHeight, width, height, tileWidth, tileHeight);
GL11.glColor4f(1, 1, 1, 1);
GL11.glPopMatrix();
    }

private void drawStyledRect(float x,
 float y,
 float width,
 float height,
float radius, int alpha) {
Style style = Client.getInstance().getStyleManager().getCurrentStyle();
DisplayUtils.drawRoundedRect(x - 0.5f, y - 0.5f, width + 1, height + 1, radius + 0.5f, ColorUtils.setAlpha(ColorUtils.getColor(0), alpha));
DisplayUtils.drawRoundedRect(x, y, width, height, radius, ColorUtils.rgba(21, 21, 21, alpha));
    }
}

ниже ss:
Пожалуйста, авторизуйтесь для просмотра ссылки.
 
/del залупа
 
Обратите внимание, пользователь заблокирован на форуме. Не рекомендуется проводить сделки.
ебаный пиздец :forsenGun:
 
Catlavan:
Expand Collapse Copy
package ru.client.Grissec.ui.display.impl;

import com.mojang.blaze3d.platform.GlStateManager;
import ru.client.Grissec.Client;
import ru.client.Grissec.events.EventDisplay;
import ru.client.Grissec.ui.display.ElementRenderer;
import ru.client.Grissec.ui.styles.Style;
import ru.client.Grissec.utils.animations.Animation;
import ru.client.Grissec.utils.animations.Direction;
import ru.client.Grissec.utils.animations.impl.EaseBackIn;
import ru.client.Grissec.utils.client.ClientUtil;
import ru.client.Grissec.utils.drag.Dragging;
import ru.client.Grissec.utils.math.MathUtil;
import ru.client.Grissec.utils.math.StopWatch;
import ru.client.Grissec.utils.math.Vector4i;
import ru.client.Grissec.utils.render.ColorUtils;
import ru.client.Grissec.utils.render.DisplayUtils;
import ru.client.Grissec.utils.render.Scissor;
import ru.client.Grissec.utils.render.font.Fonts;
import lombok.AccessLevel;
import lombok.RequiredArgsConstructor;
import lombok.experimental.FieldDefaults;
import net.minecraft.client.gui.AbstractGui;
import net.minecraft.client.gui.screen.ChatScreen;
import net.minecraft.client.renderer.entity.EntityRenderer;
import net.minecraft.client.renderer.RenderHelper;
import net.minecraft.entity.LivingEntity;
import net.minecraft.entity.player.PlayerEntity;
import net.minecraft.item.ItemStack;
import net.minecraft.scoreboard.Score;
import net.minecraft.util.ResourceLocation;
import net.minecraft.util.math.MathHelper;
import net.minecraft.util.math.vector.Vector4f;
import org.lwjgl.opengl.GL11;

import java.util.ArrayList;
import java.util.List;

@FieldDefaults(level = AccessLevel.PRIVATE)
@RequiredArgsConstructor
public class TargetInfoRenderer implements ElementRenderer {
final StopWatch stopWatch = new StopWatch();
final Dragging drag;
LivingEntity entity = null;
boolean allow;
final Animation animation = new EaseBackIn(400, 1, 1);
float healthAnimation = 0.0f;
float absorptionAnimation = 0.0f;

@Override
    public void render(EventDisplay eventDisplay) {
entity = getTarget(entity);

float rounding = 1;
boolean out = !allow || stopWatch.isReached(1000);
animation.setDuration(out ? 400 : 300);
animation.setDirection(out ? Direction.BACKWARDS : Direction.FORWARDS);

if (animation.getOutput() == 0.0f) {
entity = null;
        }

if (entity != null) {
String name = entity.getName().getString();

float posX = drag.getX();
float posY = drag.getY();

float headSize = 28;
float spacing = 5;

float width = 172 / 1.5f;
float height = 59 / 1.5f;
 drag.setWidth(width);
 drag.setHeight(height);

Score score = mc.world.getScoreboard().getOrCreateScore(entity.getScoreboardName(), mc.world.getScoreboard().getObjectiveInDisplaySlot(2));

float hp = entity.getHealth();
float maxHp = entity.getMaxHealth();
String header = mc.ingameGUI.getTabList().header == null ? " " : mc.ingameGUI.getTabList().header.getString().toLowerCase();

if (mc.getCurrentServerData() != null && mc.getCurrentServerData().serverIP.contains("funtime")
&& (header.contains("анархия") || header.contains("гриферский")) && entity instanceof PlayerEntity) {
                hp = score.getScorePoints();
maxHp = 20;
            }

healthAnimation = MathUtil.fast(healthAnimation, MathHelper.clamp(hp / maxHp, 0, 1), 10);
absorptionAnimation = MathUtil.fast(absorptionAnimation, MathHelper.clamp(entity.getAbsorptionAmount() / maxHp, 0, 1), 10);

float animationValue = (float) animation.getOutput();

float halfAnimationValueRest = (1 - animationValue) / 2f;

 float testX = posX + (width * halfAnimationValueRest);
 float testY = posY + (height * halfAnimationValueRest);
 float testW = width * animationValue;
 float testH = height * animationValue;

GlStateManager.pushMatrix();
Style style = Client.getInstance().getStyleManager().getCurrentStyle();

sizeAnimation(posX + (width / 2), posY + (height / 2), animation.getOutput());
drawStyledRect(posX, posY, width, height, rounding, 255);
drawTargetHead(entity, posX + spacing, posY + spacing + 1, headSize, headSize);
Scissor.push();
Scissor.setFromComponentCoordinates(testX, testY, testW - 6, testH);
Fonts.sfui.drawText(eventDisplay.getMatrixStack(), name, posX + headSize + spacing * 2, posY + spacing + 1, -1, 8);
Fonts.sfMedium.drawText(eventDisplay.getMatrixStack(), "ХП: " + ((int) hp + (int) mc.player.getAbsorptionAmount()), posX + headSize + spacing * 2,
posY + spacing + 1 + spacing + spacing, ColorUtils.rgb(200, 200, 200), 7);
Scissor.unset();
Scissor.pop();

Vector4i vector4i = new Vector4i(style.getFirstColor().getRGB(), style.getFirstColor().getRGB(), style.getSecondColor().getRGB(), style.getSecondColor().getRGB());
DisplayUtils.drawRoundedRect(posX + headSize + spacing * 2, posY + height - spacing * 2 - 3, (width - 42), 7, new Vector4f(1, 1, 1, 1), ColorUtils.rgb(32, 32, 32));
DisplayUtils.drawRoundedRect(posX + headSize + spacing * 2, posY + height - spacing * 2 - 3, (width - 42) * healthAnimation, 7, new Vector4f(1, 1, 1, 1), vector4i);
           
if (entity instanceof PlayerEntity) {
PlayerEntity player = (PlayerEntity) entity;
List<ItemStack> items = new ArrayList<>();

                ItemStack mainHand = player.getHeldItemMainhand();
 if (!mainHand.isEmpty()) items.add(mainHand);

for (int i = 3; i >= 0; i--) {
ItemStack armor = player.inventory.armorInventory.get(i);
 if (!armor.isEmpty()) items.add(armor);
                }

                ItemStack offHand = player.getHeldItemOffhand();
 if (!offHand.isEmpty()) items.add(offHand);

float itemSize = 16;
float spacingItems = 4;
 float totalWidth = items.size() * (itemSize + spacingItems) - spacingItems;
float startX = posX + (width - totalWidth) / 2;
float itemY = posY - itemSize - 4;

RenderHelper.enableStandardItemLighting();
 for (ItemStack stack : items) {
mc.getItemRenderer().renderItemAndEffectIntoGUI(stack, (int) startX, (int) itemY);
                    startX += itemSize + spacingItems;
                }
RenderHelper.disableStandardItemLighting();
            }

GlStateManager.popMatrix();
        }
    }

private LivingEntity getTarget(LivingEntity nullTarget) {
LivingEntity auraTarget = Client.getInstance().getFunctionRegistry().getKillAura().getTarget();
        LivingEntity target = nullTarget;
if (auraTarget != null) {
 stopWatch.reset();
allow = true;
            target = auraTarget;
} else if (mc.currentScreen instanceof ChatScreen) {
 stopWatch.reset();
allow = true;
target = mc.player;
} else {
allow = false;
        }
 return target;
    }

public void drawTargetHead(LivingEntity entity, float x, float y, float width, float height) {
if (entity != null) {
EntityRenderer<? super LivingEntity> rendererManager = mc.getRenderManager().getRenderer(entity);
drawFace(rendererManager.getEntityTexture(entity), x, y, 8F, 8F, 8F, 8F, width, height, 64F, 64F, entity);
        }
    }

public static void sizeAnimation(double width, double height, double scale) {
GlStateManager.translated(width, height, 0);
GlStateManager.scaled(scale, scale, scale);
GlStateManager.translated(-width, -height, 0);
    }

public void drawFace(ResourceLocation res, float d,
 float y,
 float u,
 float v,
 float uWidth,
 float vHeight,
 float width,
 float height,
 float tileWidth,
 float tileHeight,
                         LivingEntity target) {
GL11.glPushMatrix();
GL11.glEnable(GL11.GL_BLEND);
 mc.getTextureManager().bindTexture(res);
float hurtPercent = (target.hurtTime - (target.hurtTime != 0 ? mc.timer.renderPartialTicks : 0.0f)) / 10.0f;
GL11.glColor4f(1, 1 - hurtPercent, 1 - hurtPercent, 1);
AbstractGui.drawScaledCustomSizeModalRect(d, y, u, v, uWidth, vHeight, width, height, tileWidth, tileHeight);
GL11.glColor4f(1, 1, 1, 1);
GL11.glPopMatrix();
    }

private void drawStyledRect(float x,
 float y,
 float width,
 float height,
float radius, int alpha) {
Style style = Client.getInstance().getStyleManager().getCurrentStyle();
DisplayUtils.drawRoundedRect(x - 0.5f, y - 0.5f, width + 1, height + 1, radius + 0.5f, ColorUtils.setAlpha(ColorUtils.getColor(0), alpha));
DisplayUtils.drawRoundedRect(x, y, width, height, radius, ColorUtils.rgba(21, 21, 21, alpha));
    }
}

ниже ss:
Пожалуйста, авторизуйтесь для просмотра ссылки.
ФУ ПИЗДА ХУЙНЯ
 
вам платит этот форум за то что вы хуйню заливаете подобную или че
 
на какой базе
 
1755448684721.png

даже не знаю блять👍
 
Назад
Сверху Снизу