Смотрите видео ниже, чтобы узнать, как установить наш сайт в качестве веб-приложения на домашнем экране.
Примечание: Эта возможность может быть недоступна в некоторых браузерах.
Заебись, давайСливать ли вам такой прикольненький таргетхуд?!
Посмотреть вложение 302780
че рил заебато?Заебись, давай
Усе ждем когда одобрят модеры там и анимации как в нурпукане все имбо на высотеЗаебись, давай
Ну вроде даче рил заебато?
Пожалуйста, зарегистрируйтесь или авторизуйтесь, чтобы увидеть содержимое.
Это чуть чуть не хайв...Скрытое содержимое
package divine.top.ui.clienthud.impl;
import com.mojang.blaze3d.systems.RenderSystem;
import com.mojang.blaze3d.matrix.MatrixStack;
import com.mojang.blaze3d.platform.GlStateManager;
import divine.top.Divine;
import divine.top.events.AttackEvent;
import divine.top.events.EventRender2D;
import divine.top.ui.clienthud.updater.ElementRenderer;
import divine.top.manager.Theme;
import divine.top.utils.animations.AnimationUtility;
import divine.top.utils.animations.Direction;
import divine.top.utils.animations.impl.DecelerateAnimation;
import divine.top.utils.animations.impl.EaseBackIn;
import divine.top.manager.drag.Dragging;
import divine.top.utils.client.ClientUtility;
import divine.top.utils.client.IMinecraft;
import divine.top.utils.math.MathUtility;
import divine.top.utils.math.TimerUtility;
import divine.top.utils.math.Vector4i;
import divine.top.utils.render.color.ColorUtility;
import divine.top.utils.render.font.Fonts;
import divine.top.utils.render.other.Scissor;
import divine.top.utils.render.engine2d.RenderUtility;
import divine.top.utils.render.engine2d.RectUtility;
import divine.top.utils.render.shader.ShaderUtility;
import divine.top.utils.text.font.ClientFonts;
import lombok.AccessLevel;
import lombok.Getter;
import lombok.RequiredArgsConstructor;
import lombok.experimental.FieldDefaults;
import net.minecraft.client.Minecraft;
import net.minecraft.client.entity.player.AbstractClientPlayerEntity;
import net.minecraft.client.gui.AbstractGui;
import net.minecraft.client.gui.screen.ChatScreen;
import net.minecraft.entity.Entity;
import net.minecraft.entity.LivingEntity;
import net.minecraft.item.ItemStack;
import net.minecraft.scoreboard.Score;
import net.minecraft.scoreboard.ScoreObjective;
import net.minecraft.util.ResourceLocation;
import net.minecraft.util.math.MathHelper;
import net.minecraft.util.math.vector.Vector3d;
import org.lwjgl.opengl.GL11;
import java.util.ArrayList;
import java.util.Arrays;
import java.util.Collection;
import java.util.Map;
import java.util.concurrent.ThreadLocalRandom;
import java.util.concurrent.atomic.AtomicReference;
import java.util.stream.Stream;
@FieldDefaults(level = AccessLevel.PRIVATE)
@RequiredArgsConstructor
public class TargetHud implements ElementRenderer {
final TimerUtility timerUtility = new TimerUtility();
@Getter
final Dragging drag;
@Getter
LivingEntity entity = null;
float health = 0;
boolean allow;
private final AnimationUtility animation = new EaseBackIn(400, 1.0F, 1.0F);
private final AnimationUtility animationAlpha = new DecelerateAnimation(400, 1.0F);
float absorptionAnimation = 0.0f;
float width = 168 / 1.5f;
float height = 55 / 1.5f;
int headSize = 25;
float spacing = 5;
public void onAttack(AttackEvent e) {
if (e.entity == mc.player) {
return;
}
if (entity == null) {
return;
}
if (e.entity instanceof LivingEntity) {
for (int i = 0; i < 7; ++i) {
Divine.getInst().getModuleManager().getHud().getParticles().add(new TargetHud.HeadParticle(new Vector3d(drag.getX() + spacing + headSize / 2f, drag.getY() + spacing + headSize / 2f, 0.0)));
}
}
}
@override
public void render(EventRender2D eventRender2D) {
MatrixStack ms = eventRender2D.getMatrixStack();
entity = getTarget(entity);
float size;
boolean nigggerBotIsState = Divine.getInst().getModuleManager().getTriggerbot().isEnabled();
boolean hitAuraIsState = Divine.getInst().getModuleManager().getAttackAura().isEnabled();
boolean out = nigggerBotIsState && !hitAuraIsState ? timerUtility.isReached(500) : !allow;
Stream.of(this.animation, this.animationAlpha).forEach((a) -> a.setDuration(out ? 200 : 150));
Stream.of(this.animation, this.animationAlpha).forEach((a) -> a.setDirection(out ? Direction.BACKWARDS : Direction.FORWARDS));
if (animationAlpha.getOutput() == 0.0f) {
entity = null;
}
if (entity != null) {
String name = entity.getName().getString();
float posX = drag.getX();
float posY = drag.getY();
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();
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;
boolean isInvisible = entity instanceof LivingEntity && entity.isInvisible();
if (ClientUtility.isConnectedToServer("reallyworld") || ClientUtility.isConnectedToServer("funtime") || ClientUtility.isConnectedToServer("legendsgrief")) {
for (Map.Entry<ScoreObjective, Score> entry : IMinecraft.mc.world.getScoreboard().getObjectivesForEntity(entity.getName().getString()).entrySet()) {
Score score = entry.getValue();
int newHealth = score.getScorePoints();
entity.setHealth(Math.max(newHealth, 1));
}
}
GlStateManager.pushMatrix();
this.health = MathUtility.fast(this.health, MathHelper.clamp(hp / maxHp , 0.0F, 1.0F), 5.0F);
this.absorptionAnimation = MathUtility.fast(this.absorptionAnimation, MathHelper.clamp(mc.player.getAbsorptionAmount() / maxHp, 0.0F, 1.0F), 5.0F);
//height = 46 / 1.5f;
//width = 150 / 1.5f;
//headSize = 15;
this.height = 36.666668F;
this.width = 112.0F;
this.headSize = 25;
RenderUtility.drawStyledRect1(ms, posX + 0.5f, posY + 1.5f, this.width - 10, this.height - 3, 4, ColorUtility.rgba(30, 30, 30, (int) ((double) 255.0F * this.animationAlpha.getOutput())));
if (Divine.getInst().getModuleManager().getHud().particlesOnTarget.getValue()) {
for (HeadParticle p : Divine.getInst().getModuleManager().getHud().getParticles()) {
if (System.currentTimeMillis() - p.time > 2000L) {
Divine.getInst().getModuleManager().getHud().getParticles().remove(p);
}
p.update();
size = 1.0f - (float)(System.currentTimeMillis() - p.time) / 2010.0f;
RenderUtility.drawCircle((float)p.pos.x, (float)p.pos.y, 5f, ColorUtility.setAlpha(Theme.rectColor, (int)(255.0f * animationAlpha.getOutput() * size)));
RenderUtility.drawShadowCircle((float)p.pos.x, (float)p.pos.y, 6f, ColorUtility.setAlpha(Theme.rectColor, (int)(255.0f * animationAlpha.getOutput() * size)));
}
}
//drawRoundFace(eventRender2D.getMatrixStack(), posX + this.spacing, posY + this.spacing, this.headSize, (float) this.animationAlpha.getOutput(), (float) this.headSize / 2F, this.entity);
drawRoundFace(eventRender2D.getMatrixStack(), posX + this.spacing, posY + 1 + this.spacing, this.headSize, (float) this.animationAlpha.getOutput(), 4, this.entity);
Scissor.push();
Scissor.setFromComponentCoordinates(testX, testY, (double) testW - 17, testH);
Scissor.setFromComponentCoordinates(testX, testY, testW, testH);
//Fonts.montserrat.drawText(eventRender2D.getMatrixStack(), name, posX - 0.5f + headSize + spacing * 1.5f, posY + spacing, ColorUtility.rgba(228, 228, 228, (int) ((double) 255.0F * this.animationAlpha.getOutput())), 7, .07f);
Fonts.montserrat.drawText(eventRender2D.getMatrixStack(), name, posX - 0.5F + (float)this.headSize + this.spacing + this.spacing, posY + 0.5F + this.spacing, ColorUtility.rgba(228, 228, 228, (int)((double)255.0F * this.animationAlpha.getOutput())), 7.0F, 0.07F);
Scissor.unset();
Scissor.pop();
/*
int rectColor = ColorUtility.setAlpha(Theme.rectColor, (int) ((double) 255.0F * this.animationAlpha.getOutput()));
int mRectColor = ColorUtility.setAlpha(Theme.mainRectColor, (int) ((double) 255.0F * this.animationAlpha.getOutput()));
Vector4i vector4i = new Vector4i(rectColor, rectColor, mRectColor, mRectColor);
RenderUtility.drawShadow(posX + spacing, posY + height - spacing * 1.5f, (width - 0.1f - spacing * 1.5f), 9, 4, ColorUtility.rgba(37, 37, 37, (int) ((double) 255.0F * this.animationAlpha.getOutput())));
RenderUtility.drawRoundedRect(posX + spacing, posY + height - spacing * 1.5f, (width - 0.1f - spacing * 2), 9, 0, ColorUtility.rgba(37, 37, 37, (int) ((double) 255.0F * this.animationAlpha.getOutput())));
RenderUtility.drawRoundedRect(posX + spacing, posY + height - spacing * 1.5f, (width - 0.1f - spacing * 2), 9, 0, ColorUtility.rgba(40, 40, 40, (int) ((double) 255.0F * this.animationAlpha.getOutput())));
RenderUtility.drawRoundedRect(posX + spacing, posY + height - spacing * 1.5f, (width - spacing * 2) * health, 9, 0, vector4i);
RenderUtility.drawShadow(posX + spacing, posY + height - spacing * 1.5f, (width - spacing * 2 + 1.5f) * health, 9, 4, ColorUtility.setAlpha(Theme.rectColor, (int) ((double) 255 * this.animationAlpha.getOutput())), ColorUtility.setAlpha(Theme.mainRectColor, (int) ((double) 255 * this.animationAlpha.getOutput())));
Fonts.montserrat.drawCenteredText(eventRender2D.getMatrixStack(), "" + (ру), posX + 27 + headSize + spacing * 1.5f, posY + 12f + spacing * 2.5f, ColorUtility.rgb(228, 228, 228), 6.5f, .07f);
*/
int i = ColorUtility.interpolateColor(ColorUtility.rgb(42, 181, 42), ColorUtility.rgb(189, 40, 40), health + absorptionAnimation);
int i1 = ColorUtility.interpolateColor(ColorUtility.rgb(139, 150, 0), ColorUtility.rgb(236, 255, 0), health + absorptionAnimation);
int healthColor = ColorUtility.setAlpha(i, (int)((double)255.0F * this.animationAlpha.getOutput()));
int healthColor2 = ColorUtility.setAlpha(i1, (int)((double)255.0F * this.animationAlpha.getOutput()));
Vector4i vector4i = new Vector4i(ColorUtility.multDark(healthColor, 0.3F), ColorUtility.multDark(healthColor, 0.3F), healthColor, healthColor);
int healthColor1 = ColorUtility.setAlpha(i, (int)((double)70.0F * this.animationAlpha.getOutput()));
Vector4i vector4i1 = new Vector4i(ColorUtility.multDark(healthColor1, 0.3F), ColorUtility.multDark(healthColor1, 0.3F), healthColor1, healthColor1);
Vector4i vector4i2 = new Vector4i(ColorUtility.multDark(healthColor2, 0.3F), ColorUtility.multDark(healthColor2, 0.3F), healthColor2, healthColor2);
RenderUtility.drawRoundedRect(posX + 4.5F + (float)this.headSize + this.spacing, posY - 3F + this.height - this.spacing * 2.0F, (this.width - 48.0F), 8.0F, 2.5F, vector4i1);
RenderUtility.drawRoundedRect(posX + 4.5F + (float)this.headSize + this.spacing, posY - 3F + this.height - this.spacing * 2.0F, (this.width - 48.0F) * health, 8.0F, 2.5F, vector4i);
RenderUtility.drawRoundedRect(posX + 4.5F + (float)this.headSize + this.spacing, posY - 3F + this.height - this.spacing * 2.0F, (this.width - 48.0F) * absorptionAnimation, 8.0F, 2.5F, vector4i2);
String healthValue = (float) MathUtility.round(health * 20.0f + absorptionAnimation * 20, 0.1f) + "";
//String absorValue = (int) MathUtility.round(absorptionAnimation * 20.0f, 0.1f) + "";
if (isInvisible && ClientUtility.isConnectedToServer("funtime")) {
Fonts.montserrat.drawText(eventRender2D.getMatrixStack(), "Неизвестно", posX + 2.5f + headSize + spacing * 1.5f, posY + 2.5f + spacing * 2.5f, ColorUtility.rgba(228, 228, 228, (int) ((double) 255.0F * this.animationAlpha.getOutput())), 6, .06f);
} else {
Fonts.montserrat.drawText(eventRender2D.getMatrixStack(), "HP: " + (healthValue), posX + 2.5f + headSize + spacing * 1.5f, posY + 2.5f + spacing * 2.5f, ColorUtility.rgba(228, 228, 228, (int) ((double) 255.0F * this.animationAlpha.getOutput())), 6, .06f);
//Fonts.montserrat.drawText(eventRender2D.getMatrixStack(), "+ " + (absorValue), posX + 52.5f + headSize + spacing * 1.5f, posY + 2.5f + spacing * 2.5f, ColorUtility.rgba(255, 247, 0, (int) ((double) 255.0F * this.animationAlpha.getOutput())), 6, .06f);
}
/*RenderUtility.sizeAnimation(posX + 20, posY + 20, animation.getOutput());
drawItemStack(posX + 35f, posY + 14f, 8f, 0.5f);
*/
GlStateManager.popMatrix();
}
}
public static void drawRoundFace(MatrixStack matrix, float x, float y, int size, float alpha, float radius, Entity target) {
try {
if (target instanceof AbstractClientPlayerEntity player) {
float hurtPercent = ((float)player.hurtTime - (player.hurtTime != 0 ? mc.timer.renderPartialTicks : 0.0F)) / 10.0F;
ResourceLocation skin = player.getLocationSkin();
RenderSystem.enableBlend();
RenderSystem.blendFunc(770, 771);
RenderSystem.alphaFunc(516, 0.0F);
RenderSystem.enableTexture();
RenderUtility.scaleStart(x + (float)size / 2.0F, y + (float)size / 2.0F, 1.1F);
mc.getTextureManager().bindTexture(skin);
RenderSystem.color4f(1.0F, 1.0F - hurtPercent, 1.0F - hurtPercent, 1.0F);
ShaderUtility.roundedFace.attach();
ShaderUtility.roundedFace.setUniform("location", x * 2.0F, (float) Minecraft.getInstance().getMainWindow().getHeight() - (float)size * 2.0F - y * 2.0F);
ShaderUtility.roundedFace.setUniform("size", (float)size * 2.0F, (float)size * 2.0F);
ShaderUtility.roundedFace.setUniform("texture", 0);
ShaderUtility.roundedFace.setUniform("radius", radius * 2.0F);
ShaderUtility.roundedFace.setUniform("alpha", alpha);
ShaderUtility.roundedFace.setUniform("u", 0.125F);
ShaderUtility.roundedFace.setUniform("v", 0.125F);
ShaderUtility.roundedFace.setUniform("w", 0.125F);
ShaderUtility.roundedFace.setUniform("h", 0.125F);
RenderUtility.drawQuads(x, y, (float)size, (float)size, 7);
ShaderUtility.roundedFace.detach();
RenderUtility.scaleEnd();
RenderSystem.disableBlend();
} else {
RenderUtility.drawRoundedRect(x, y, (float)size, (float)size, radius, ColorUtility.rgba(20, 20, 20, (int)(60.0F * alpha)));
ClientFonts.interRegular[size * 2].drawCenteredString(matrix, "?", x + (float)size / 2.0F, y + 3.0F + (float)size / 2.0F - ClientFonts.interRegular[size * 2].getFontHeight() / 2.0F, ColorUtility.setAlpha(-1, (int)(255.0F * alpha)));
}
} catch (Exception e) {
e.printStackTrace();
}
}
private LivingEntity getTarget(LivingEntity nullTarget) {
boolean hitAuraIsState = Divine.getInst().getModuleManager().getAttackAura().isEnabled();
LivingEntity niggerBotTarget = Divine.getInst().getModuleManager().getTriggerbot().getTarget();
LivingEntity finalTarget = hitAuraIsState ? Divine.getInst().getModuleManager().getAttackAura().getTarget() : niggerBotTarget;
LivingEntity target = nullTarget;
if (finalTarget != null) {
timerUtility.reset();
allow = true;
target = finalTarget;
} else if (mc.currentScreen instanceof ChatScreen) {
timerUtility.reset();
allow = true;
target = mc.player;
} else {
allow = false;
}
return target;
}
private void drawHead(MatrixStack matrix, final Entity entity, final double x, final double y, final int size) {
if (entity instanceof AbstractClientPlayerEntity player) {
RenderSystem.enableBlend();
RenderSystem.blendFunc(GL11.GL_SRC_ALPHA, GL11.GL_ONE_MINUS_SRC_ALPHA);
RenderSystem.alphaFunc(GL11.GL_GREATER, 0);
RenderSystem.enableTexture();
mc.getTextureManager().bindTexture(player.getLocationSkin());
float hurtPercent = (player.hurtTime - (player.hurtTime != 0 ? mc.timer.renderPartialTicks : 0.0f)) / 10.0f;
RenderSystem.color4f(1, 1 - hurtPercent, 1 - hurtPercent, 1);
AbstractGui.blit(matrix, (float) x, (float) y, size, size, 4F, 4F, 4F, 4F, 32F, 32F);
RenderUtility.scaleStart((float) (x + size / 2F), (float) (y + size / 2F), 1.1F);
AbstractGui.blit(matrix, (float) x, (float) y, size, size, 20, 4, 4, 4, 32, 32);
RenderUtility.scaleEnd();
RenderSystem.disableBlend();
} else {
int color = ColorUtility.getColor(20, 128);
RectUtility.getInstance().drawRoundedRectShadowed(matrix, (float) x, (float) y, (float) (x + size), (float) (y + size), 2F, 1, color, color, color, color, false, false, true, true);
ClientFonts.interRegular[size * 2].drawCenteredString(matrix, "?", x + (size / 2F), y + 3 + (size / 2F) - (ClientFonts.interRegular[size * 2].getFontHeight() / 2F), -1);
}
}
private void drawItemStack(float x, float y, float offset, float scale) {
ArrayList<ItemStack> stackList = new ArrayList(Arrays.asList(this.entity.getHeldItemMainhand(), this.entity.getHeldItemOffhand()));
stackList.addAll((Collection)this.entity.getArmorInventoryList());
AtomicReference<Float> posX = new AtomicReference(x);
stackList.stream().filter((stack) -> {
return !stack.isEmpty();
}).forEach((stack) -> {
drawItemStack(stack, (Float)posX.getAndAccumulate(offset, Float::sum), y, true, true, scale);
});
}
public void drawItemStack(ItemStack stack, float x, float y, boolean withoutOverlay, boolean scale, float scaleValue) {
RenderSystem renderSystem = new RenderSystem();
renderSystem.pushMatrix();
renderSystem.translatef(x, y, 0.0F);
if (scale) {
GL11.glScaled(scaleValue, scaleValue, scaleValue);
}
mc.getItemRenderer().renderItemAndEffectIntoGUI(stack, 0, 0);
if (withoutOverlay) {
mc.getItemRenderer().renderItemOverlays(mc.fontRenderer, stack, 0, 0);
}
renderSystem.popMatrix();
}
/*public static boolean is(String name) {
return Divine.getInst().getModuleManager().getHud().tHudMode.is(name);
}
*/
public class FloatFormatter {
public float format(float value) {
float multiplier = (float) Math.pow(10, 1);
return Math.round(value * multiplier) / multiplier;
}
}
public static class HeadParticle {
private Vector3d pos;
private final Vector3d end;
private final long time;
private float alpha;
public HeadParticle(Vector3d pos) {
this.pos = pos;
this.end = pos.add((double)(-ThreadLocalRandom.current().nextFloat(-50.0F, 50.0F)), (double)(-ThreadLocalRandom.current().nextFloat(-70.0F, 50.0F)), (double)(-ThreadLocalRandom.current().nextFloat(-40.0F, 50.0F)));
this.time = System.currentTimeMillis();
}
public void update() {
this.alpha = MathUtility.lerp(this.alpha, 1.0F, 10.0F);
this.pos = MathUtility.fast(this.pos, this.end, 0.5F);
}
}
}
на бро!!!
Это чуть чуть
выахывахвыхаывхаЭто чуть чуть не хайв...
да посрать пускай пастят мне не жалкоЭто чуть чуть не хайв...
шрифт говно да и вообще все говноСливать ли вам такой прикольненький таргетхуд?!
Посмотреть вложение 302780
ты и подобное не осилишь сделатьшрифт говно да и вообще все говно
Ахахахах покажи свой таргетхуд самый умный нашелсяшрифт говно да и вообще все говно
я базу на фабрике на 1.21.4 с нуля делаю а ты пастерюга все еще на 1.16.5 сидишьты и подобное не осилишь сделать
я его еще не реализовал так как сейчас делаю гуи пон вот когда сделаю тогда покажуАхахахах покажи свой таргетхуд умный
хахахахахха налетел хейт от 1.16.5 пастеровты и подобное не осилишь сделать
LutayaPasta] так в чем критика простой минималистичный их с приятным закруглением башки написал(а):302783[/ATTACH]
так в чем критика простой минималистичный их с приятным закруглением башки, и не оправдывался тем что я делал это на 1.16.5
пон ладноЯ не разбираюсь что да как на этом форуме мне не особо здесь удобно что то да написать
представь себе! я сижу не на прошловековой 1.16.5, а на новенькой 1.21.1! а ты продолжай поливать хуями труд новичков и хвастаться своей полутандехрюк базойя базу на фабрике на 1.21.4 с нуля делаю а ты пастерюга все еще на 1.16.5 сидишь
я его еще не реализовал так как сейчас делаю гуи пон вот когда сделаю тогда покажу
хахахахахха налетел хейт от 1.16.5 пастеров
Ну докажешь почему это говно а не тхпон ладно
Вот именно я сделал этот тх т.к на форуме выкладывают одно говнище и хоть как то это говнище разбавить я выкладываю егопредставь себе! я сижу не на прошловековой 1.16.5, а на новенькой 1.21.1! а ты продолжай поливать хуями труд новичков и хвастаться своей полутандехрюк базой
так на тх вообще лицензия стоит)) я ее попросту за базу боюсь брать чтобы панчур потом меня не просил сурсы слитьпредставь себе! я сижу не на прошловековой 1.16.5, а на новенькой 1.21.1! а ты продолжай поливать хуями труд новичков и хвастаться своей полутандехрюк базой
вероятнее всего ты на мцпшке сидишь на которой даже виавершен не сделаешь, в то время как на фабрике все удобно и простопредставь себе! я сижу не на прошловековой 1.16.5, а на новенькой 1.21.1! а ты продолжай поливать хуями труд новичков и хвастаться своей полутандехрюк базой
однотипный тх, отличаются только цветаНу докажешь почему это говно а не тх
представь себе ещё раз, я на фабрике сижу а не на мсп! а вот про тх не правда, за базу взять её может и нельзя, но спастить те же рендер системы никто не запрещает)так на тх вообще лицензия стоит)) я ее попросту за базу боюсь брать чтобы панчур потом меня не просил сурсы слить
вероятнее всего ты на мцпшке сидишь на которой даже виавершен не сделаешь, в то время как на фабрике все удобно и просто
Проект предоставляет различный материал, относящийся к сфере киберспорта, программирования, ПО для игр, а также позволяет его участникам общаться на многие другие темы. Почта для жалоб: admin@yougame.biz