Read Only
- Статус
- Оффлайн
- Регистрация
- 23 Сен 2024
- Сообщения
- 255
- Реакции
- 0
- Выберите загрузчик игры
- Прочие моды
Перед прочтением основного контента ниже, пожалуйста, обратите внимание на обновление внутри секции Майна на нашем форуме. У нас появились:
- бесплатные читы для Майнкрафт — любое использование на свой страх и риск;
- маркетплейс Майнкрафт — абсолютно любая коммерция, связанная с игрой, за исключением продажи читов (аккаунты, предоставления услуг, поиск кодеров читов и так далее);
- приватные читы для Minecraft — в этом разделе только платные хаки для игры, покупайте группу "Продавец" и выставляйте на продажу свой софт;
- обсуждения и гайды — всё тот же раздел с вопросами, но теперь модернизированный: поиск нужных хаков, пати с игроками-читерами и другая полезная информация.
Спасибо!
если что данные есп работают ТОЛЬКО с ClientFonts если у вас их нету либо добавлять либо менять на Fonts
SS: Прикрепил ниже
-----------------------------------
Код EntityESP:
Вроде это самые адекватные EntityESP которые сливали да и ещё на EvaWare/3.1
Жду оценочек!
SS: Прикрепил ниже
-----------------------------------
Код EntityESP:
Код:
package vesence.recode.modules.impl.render;
import com.google.common.eventbus.Subscribe;
import com.mojang.blaze3d.matrix.MatrixStack;
import com.mojang.blaze3d.systems.RenderSystem;
import net.minecraft.client.gui.DisplayEffectsScreen;
import net.minecraft.client.renderer.texture.PotionSpriteUploader;
import net.minecraft.client.renderer.texture.TextureAtlasSprite;
import net.minecraft.entity.MobEntity;
import net.minecraft.entity.passive.AnimalEntity;
import net.minecraft.potion.Effect;
import vesence.recode.VesenceRecode;
import vesence.recode.commandstorage.FriendStorage;
import vesence.recode.events.EventDisplay;
import vesence.recode.modules.api.Category;
import vesence.recode.modules.api.Module;
import vesence.recode.modules.api.ModuleManager;
import vesence.recode.modules.api.ModuleRegister;
import vesence.recode.modules.impl.misc.NameProtect;
import vesence.recode.modules.settings.impl.BooleanSetting;
import vesence.recode.modules.settings.impl.ColorSetting;
import vesence.recode.modules.settings.impl.ModeListSetting;
import vesence.recode.utils.math.MathUtil;
import vesence.recode.utils.math.Vector4i;
import vesence.recode.utils.projections.ProjectionUtil;
import vesence.recode.utils.render.color.ColorUtils;
import vesence.recode.utils.render.rect.DisplayUtils;
import vesence.recode.utils.render.font.Fonts;
import net.minecraft.client.renderer.BufferBuilder;
import net.minecraft.client.renderer.Tessellator;
import net.minecraft.client.renderer.vertex.DefaultVertexFormats;
import net.minecraft.client.resources.I18n;
import net.minecraft.client.settings.PointOfView;
import net.minecraft.enchantment.Enchantment;
import net.minecraft.enchantment.EnchantmentHelper;
import net.minecraft.entity.Entity;
import net.minecraft.entity.LivingEntity;
import net.minecraft.entity.item.ItemEntity;
import net.minecraft.entity.player.PlayerEntity;
import net.minecraft.item.ItemStack;
import net.minecraft.item.Items;
import net.minecraft.nbt.CompoundNBT;
import net.minecraft.nbt.ListNBT;
import net.minecraft.potion.EffectInstance;
import net.minecraft.potion.EffectUtils;
import net.minecraft.scoreboard.Score;
import net.minecraft.util.math.AxisAlignedBB;
import net.minecraft.util.math.MathHelper;
import net.minecraft.util.math.vector.Vector2f;
import net.minecraft.util.math.vector.Vector3d;
import net.minecraft.util.math.vector.Vector4f;
import net.minecraft.util.text.*;
import vesence.recode.utils.text.font.ClientFonts;
import org.lwjgl.opengl.GL11;
import java.util.*;
import static net.minecraft.client.renderer.WorldRenderer.frustum;
import static org.lwjgl.opengl.GL11.glScalef;
import static org.lwjgl.opengl.GL11.glTranslatef;
@ModuleRegister(name = "EntityESP", category = Category.Visuals, description = "123")
public class NameTags extends Module {
public BooleanSetting tags = new BooleanSetting("NameTags", true);
public ModeListSetting remove = new ModeListSetting("Убрать", new BooleanSetting("Боксы", false), new BooleanSetting("Полоску хп", false), new BooleanSetting("Зачарования", false), new BooleanSetting("Список эффектов", false).setVisible(() -> tags.get()));
public ModeListSetting targets = new ModeListSetting("Отображать",
new BooleanSetting("Себя", true),
new BooleanSetting("Игроки", true),
new BooleanSetting("Предметы", false),
new BooleanSetting("Мобы", false)
).setVisible(() -> tags.get());
float healthAnimation = 0.0f;
public NameTags() {
addSettings(tags,targets, remove);
}
float length;
private final HashMap<Entity, Vector4f> positions = new HashMap<>();
public ColorSetting color = new ColorSetting("Color", -1);
@Subscribe
public void onDisplay(EventDisplay e) {
if (mc.world == null || e.getType() != EventDisplay.Type.PRE) {
return;
}
positions.clear();
Vector4i colors = new Vector4i(Theme.getColor(0), Theme.getColor(0),Theme.getColor(0), Theme.getColor(0));
Vector4i friendColors = new Vector4i(ColorUtils.rgb(144, 238, 144), ColorUtils.rgb(144, 238, 144),ColorUtils.rgb(144, 238, 144), ColorUtils.rgb(144, 238, 144));
for (Entity entity : mc.world.getAllEntities()) {
if (!isValid(entity)) continue;
if (!(entity instanceof PlayerEntity && entity != mc.player && targets.getValueByName("Игроки").get()
|| entity instanceof ItemEntity && targets.getValueByName("Предметы").get()
|| (entity instanceof AnimalEntity || entity instanceof MobEntity) && targets.getValueByName("Мобы").get()
|| entity == mc.player && targets.getValueByName("Себя").get() && !(mc.gameSettings.getPointOfView() == PointOfView.FIRST_PERSON) && !VesenceRecode.getInstance().getModuleManager().getWorldTweaks().child
)) continue;
double x = MathUtil.interpolate(entity.getPosX(), entity.lastTickPosX, e.getPartialTicks());
double y = MathUtil.interpolate(entity.getPosY(), entity.lastTickPosY, e.getPartialTicks());
double z = MathUtil.interpolate(entity.getPosZ(), entity.lastTickPosZ, e.getPartialTicks());
Vector3d size = new Vector3d(entity.getBoundingBox().maxX - entity.getBoundingBox().minX, entity.getBoundingBox().maxY - entity.getBoundingBox().minY, entity.getBoundingBox().maxZ - entity.getBoundingBox().minZ);
AxisAlignedBB aabb = new AxisAlignedBB(x - size.x / 2f, y, z - size.z / 2f, x + size.x / 2f, y + size.y, z + size.z / 2f);
Vector4f position = null;
for (int i = 0; i < 8; i++) {
Vector2f vector = ProjectionUtil.project(i % 2 == 0 ? aabb.minX : aabb.maxX, (i / 2) % 2 == 0 ? aabb.minY : aabb.maxY, (i / 4) % 2 == 0 ? aabb.minZ : aabb.maxZ);
if (position == null) {
position = new Vector4f(vector.x, vector.y, 1, 1.0f);
} else {
position.x = Math.min(vector.x, position.x);
position.y = Math.min(vector.y, position.y);
position.z = Math.max(vector.x, position.z);
position.w = Math.max(vector.y, position.w);
}
}
positions.put(entity, position);
}
RenderSystem.enableBlend();
RenderSystem.disableTexture();
RenderSystem.defaultBlendFunc();
RenderSystem.shadeModel(7425);
buffer.begin(7, DefaultVertexFormats.POSITION_COLOR);
for (Map.Entry<Entity, Vector4f> entry : positions.entrySet()) {
Vector4f position = entry.getValue();
if (entry.getKey() instanceof LivingEntity entity) {
if (!remove.getValueByName("Боксы").get()) {
DisplayUtils.drawBox(position.x - 0.5f, position.y - 0.5f, position.z + 0.5f, position.w + 0.5f, 2, ColorUtils.rgba(0, 0, 0, 128));
DisplayUtils.drawBoxTest(position.x, position.y, position.z, position.w, 1, FriendStorage.isFriend(entity.getName().getString()) ? friendColors : colors);
}
float hpOffset = 3f;
float out = 0.5f;
if (!remove.getValueByName("Полоску хп").get()) {
String header = mc.ingameGUI.getTabList().header == null ? " " : mc.ingameGUI.getTabList().header.getString().toLowerCase();
DisplayUtils.drawRectBuilding(position.x - hpOffset - out, position.y - out, position.x - hpOffset + 1 + out, position.w + out, ColorUtils.rgba(0, 0, 0, 128));
DisplayUtils.drawRectBuilding(position.x - hpOffset, position.y, position.x - hpOffset + 1, position.w, ColorUtils.rgba(0, 0, 0, 128));
float hp = entity.getHealth();
float maxHp = entity.getMaxHealth();
Score score = mc.world.getScoreboard().getOrCreateScore(entity.getScoreboardName(), mc.world.getScoreboard().getObjectiveInDisplaySlot(2));
if (entity instanceof PlayerEntity) {
if (score.getScorePoints() != 0){
hp = score.getScorePoints();
}
}
DisplayUtils.drawMCVerticalBuilding(position.x - hpOffset, position.y + (position.w - position.y) * (1 - MathHelper.clamp(hp / maxHp, 0, 1)), position.x - hpOffset + 1, position.w, FriendStorage.isFriend(entity.getName().getString()) ? friendColors.w : colors.w, FriendStorage.isFriend(entity.getName().getString()) ? friendColors.x : colors.x);
}
}
}
Tessellator.getInstance().draw();
RenderSystem.shadeModel(7424);
RenderSystem.enableTexture();
RenderSystem.disableBlend();
for (Map.Entry<Entity, Vector4f> entry : positions.entrySet()) {
Entity entity = entry.getKey();
if (entity instanceof LivingEntity living) {
float hp = living.getHealth();
float maxHp = living.getMaxHealth();
String header = mc.ingameGUI.getTabList().header == null ? " " : mc.ingameGUI.getTabList().header.getString().toLowerCase();
ModuleManager moduleManager = VesenceRecode.getInstance().getModuleManager();
Score score = mc.world.getScoreboard().getOrCreateScore(entity.getScoreboardName(), mc.world.getScoreboard().getObjectiveInDisplaySlot(2));
if (entity instanceof PlayerEntity) {
if (score.getScorePoints() != 0){
hp = score.getScorePoints();
}
}
Vector4f position = entry.getValue();
float width = position.z - position.x;
GL11.glPushMatrix();
String friendPrefix = FriendStorage.isFriend(entity.getName().getString()) ? TextFormatting.GREEN + "[F] " : "";
String creativePrefix = "";
if (entity instanceof PlayerEntity && ((PlayerEntity) entity).isCreative()) {
creativePrefix = TextFormatting.GRAY + " [" + TextFormatting.RED + "GM" + TextFormatting.GRAY + "]";
} else {
if (mc.getCurrentServerData() != null && mc.getCurrentServerData().serverIP.contains("funtime") && (header.contains("анархия") || header.contains("гриферский"))) {
creativePrefix = TextFormatting.GRAY + " [" + TextFormatting.RED + (int) hp + TextFormatting.GRAY + "]";
} else {
creativePrefix = TextFormatting.GRAY + " [" + TextFormatting.RED + ((int) hp + (int) living.getAbsorptionAmount()) + TextFormatting.GRAY + "]";
}
}
healthAnimation = MathUtil.fast(healthAnimation, MathHelper.clamp(hp / maxHp, 0, 1), 10);
NameProtect nameProtect = moduleManager.getNameProtect();
TextComponent name = (TextComponent) ITextComponent.getTextComponentOrEmpty(friendPrefix);
int colorRect = FriendStorage.isFriend(entity.getName().getString()) ? ColorUtils.rgba(66, 163, 60, 120) : ColorUtils.rgba(10, 10, 10, 120);
name.append(FriendStorage.isFriend(entity.getName().getString()) && nameProtect.isState() ? ITextComponent.getTextComponentOrEmpty(TextFormatting.RED + "protected") : entity.getDisplayName());
name.appendString(creativePrefix);
glCenteredScale(position.x + width / 2f - length / 2f - 4, position.y - 9, length + 8, 13, 0.5f);
length = ClientFonts.interRegular[24].getWidth(name.getString());
DisplayUtils.drawRoundedRect(position.x + width / 2f - length / 2f -12.5f, position.y - 16.3f, length + 16, 17, 2,ColorUtils.rgba(17,17,17,140));
Fonts.damage.drawText(e.getMatrixStack(),"C",position.x + width / 2f - length / 2f - 11,position.y - 12.5f,ColorUtils.red,10);
ClientFonts.interRegular[24].drawString(e.getMatrixStack(), name.getString(), position.x + width / 2f - length / 2f, position.y - 12.5f, -1);
if (entity instanceof PlayerEntity) {
PlayerEntity player = (PlayerEntity)entity;
ItemStack stack = player.getHeldItemOffhand();
String nameS = "";
String itemName = stack.getDisplayName().getString();
if (stack.getItem() == Items.PLAYER_HEAD) {
CompoundNBT tag = stack.getTag();
if (tag != null && tag.contains("display", 10)) {
CompoundNBT display = tag.getCompound("display");
if (display.contains("Lore", 9)) {
ListNBT lore = display.getList("Lore", 8);
if (!lore.isEmpty()) {
String firstLore = lore.getString(0);
int levelIndex = firstLore.indexOf("Уровень");
if (levelIndex != -1) {
String levelString = firstLore.substring(levelIndex + "Уровень".length()).trim();
if (levelString.contains("1/3")) {
nameS = "- 1/3]";
} else if (levelString.contains("2/3")) {
nameS = "- 2/3]";
} else if (levelString.contains("MAX")) {
nameS = "- MAX]";
} else {
nameS = "";
}
}
}
}
if (itemName.contains("Пандора")) {
itemName = "Пандора ";
} else if (itemName.contains("Аполлона")) {
itemName = "Апалона ";
} else if (itemName.contains("Титанка")) {
itemName = "Титана ";
} else if (itemName.contains("Осириса")) {
itemName = "Осириса ";
} else if (itemName.contains("Андромеды")) {
itemName = "Андромеда";
} else if (itemName.contains("Химеры")) {
itemName = "Химера ";
} else if (itemName.contains("Астрея")) {
itemName = "Астрея ";
}
ClientFonts.interRegular[24].drawCenteredString(e.getMatrixStack(), itemName + nameS, position.x + 23.0F, position.y - 60.0F, ColorUtils.rgb(255, 16, 16));
}
}
}
if (entity instanceof PlayerEntity) {
PlayerEntity player = (PlayerEntity)entity;
ItemStack stack = player.getHeldItemOffhand();
String nameS = "";
String itemName = stack.getDisplayName().getString();
if (stack.getItem() == Items.TOTEM_OF_UNDYING) {
CompoundNBT tag = stack.getTag();
if (tag != null && tag.contains("display", 10)) {
CompoundNBT display = tag.getCompound("display");
if (display.contains("Lore", 9)) {
ListNBT lore = display.getList("Lore", 8);
if (!lore.isEmpty()) {
String firstLore = lore.getString(0);
int levelIndex = firstLore.indexOf("Уровень");
if (levelIndex != -1) {
String levelString = firstLore.substring(levelIndex + "Уровень".length()).trim();
if (levelString.contains("1/3")) {
nameS = "- 1/3]";
} else if (levelString.contains("2/3")) {
nameS = "- 2/3]";
} else if (levelString.contains("MAX")) {
nameS = "- MAX]";
} else {
nameS = "";
}
}
}
}
}
if (itemName.contains("Талисман Ехидны")) {
itemName = "[EXIDNA ";
} else if (itemName.contains("Талисман Гармонии")) {
itemName = "[GARMONIYA ";
} else if (itemName.contains("Талисма Крушителя")) {
itemName = "[KRUSH ";
} else if (itemName.contains("Талисман Карателя")) {
itemName = "[KARATELYA ";
} else if (itemName.contains("Талисман Грани")) {
itemName = "[GRANI ";
} else if (itemName.contains("Талисман Тритона")) {
itemName = "[TRITONA ";
} else if (itemName.contains("Талисман Феникса")) {
itemName = "[FENIKSA ";
}
ClientFonts.interRegular[24].drawCenteredString(e.getMatrixStack(), itemName + nameS, position.x + 23.0F, position.y - 60.0F, ColorUtils.rgb(255, 16, 16));
}
}
GL11.glPopMatrix();
if (!remove.getValueByName("Список эффектов").get()) {
drawPotions(e.getMatrixStack(), living, position.z + 2, position.y);
}
drawItems(e.getMatrixStack(), living, (int) (position.x + width / 2f), (int) (position.y - 14.5f));
} else if (entity instanceof ItemEntity item) {
Vector4f position = entry.getValue();
float width = position.z - position.x;
float length = mc.fontRenderer.getStringPropertyWidth(entity.getDisplayName());
// float length = ClientFonts.msBold[24].getWidth(entity.getDisplayName().getString());
GL11.glPushMatrix();
glCenteredScale(position.x + width / 2f - length / 2f, position.y - 7, length, 10, 0.5f);
mc.fontRenderer.func_243246_a(e.getMatrixStack(), entity.getDisplayName(), position.x + width / 2f - length / 2f, position.y - 7, -1);
// ClientFonts.msBold[24].drawString(e.getMatrixStack(), entity.getDisplayName(), position.x + width / 2f - length / 2f, position.y - 7, -1);
GL11.glPopMatrix();
}
}
}
public boolean isInView(Entity ent) {
if (mc.getRenderViewEntity() == null) {
return false;
}
frustum.setCameraPosition(mc.getRenderManager().info.getProjectedView().x, mc.getRenderManager().info.getProjectedView().y, mc.getRenderManager().info.getProjectedView().z);
return frustum.isBoundingBoxInFrustum(ent.getBoundingBox()) || ent.ignoreFrustumCheck;
}
int index = 0;
private void drawPotions(MatrixStack matrixStack, LivingEntity entity, float posX, float posY) {
for (Iterator var8 = entity.getActivePotionEffects().iterator(); var8.hasNext(); ++index) {
EffectInstance effectInstance = (EffectInstance)var8.next();
int amp = effectInstance.getAmplifier() + 1;
String ampStr = "";
if (amp >= 1 && amp <= 9) {
ampStr = " " + I18n.format("enchantment.level." + (amp + 1));
}
String text = I18n.format(effectInstance.getEffectName(), new Object[0]) + ampStr + " - " + EffectUtils.getPotionDurationString(effectInstance, 1);
PotionSpriteUploader potionspriteuploader = mc.getPotionSpriteUploader();
Effect effect = effectInstance.getPotion();
int iconSize = 8;
TextureAtlasSprite textureatlassprite = potionspriteuploader.getSprite(effect);
mc.getTextureManager().bindTexture(textureatlassprite.getAtlasTexture().getTextureLocation());
DisplayEffectsScreen.blit(matrixStack, (int)posX, (int)posY - 1, iconSize, iconSize, iconSize, textureatlassprite);
Fonts.consolas.drawTextWithOutline(matrixStack, text, posX + iconSize, posY, -1, 6, 0.05f);
posY += Fonts.consolas.getHeight(6) + 4;
}
}
private void drawItems(MatrixStack matrixStack, LivingEntity entity, int posX, int posY) {
int size = 8;
int padding = 6;
float fontHeight = Fonts.consolas.getHeight(6);
List<ItemStack> items = new ArrayList<>();
ItemStack mainStack = entity.getHeldItemMainhand();
if (!mainStack.isEmpty()) {
items.add(mainStack);
}
for (ItemStack itemStack : entity.getArmorInventoryList()) {
if (itemStack.isEmpty()) continue;
items.add(itemStack);
}
ItemStack offStack = entity.getHeldItemOffhand();
if (!offStack.isEmpty()) {
items.add(offStack);
}
posX -= (items.size() * (size + padding)) / 2f;
for (ItemStack itemStack : items) {
if (itemStack.isEmpty()) continue;
GL11.glPushMatrix();
glCenteredScale(posX, posY - 5, size / 2f, size / 2f, 0.5f);
mc.getItemRenderer().renderItemAndEffectIntoGUI(itemStack, posX, posY - 5);
mc.getItemRenderer().renderItemOverlayIntoGUI(mc.fontRenderer, itemStack, posX, posY - 5, null);
GL11.glPopMatrix();
if (itemStack.isEnchanted() && !remove.getValueByName("Зачарования").get()) {
int ePosY = (int) (posY - fontHeight);
Map<Enchantment, Integer> enchantmentsMap = EnchantmentHelper.getEnchantments(itemStack);
for (Enchantment enchantment : enchantmentsMap.keySet()) {
int level = enchantmentsMap.get(enchantment);
if (level < 1 || !enchantment.canApply(itemStack)) continue;
IFormattableTextComponent iformattabletextcomponent = new TranslationTextComponent(enchantment.getName());
String enchText = iformattabletextcomponent.getString().substring(0, 2) + level;
Fonts.consolas.drawText(matrixStack, enchText, posX, ePosY - 5, -1, 6, 0.05f);
ePosY -= (int) fontHeight;
}
}
posX += size + padding;
}
}
public boolean isValid(Entity e) {
if (e instanceof PlayerEntity p) {
if (!e.getUniqueID().equals(PlayerEntity.getOfflineUUID(p.getGameProfile().getName()))) {
return false;
}
}
return isInView(e);
}
public static void drawMcRect(
double left,
double top,
double right,
double bottom,
int color) {
if (left < right) {
double i = left;
left = right;
right = i;
}
if (top < bottom) {
double j = top;
top = bottom;
bottom = j;
}
float f3 = (float) (color >> 24 & 255) / 255.0F;
float f = (float) (color >> 16 & 255) / 255.0F;
float f1 = (float) (color >> 8 & 255) / 255.0F;
float f2 = (float) (color & 255) / 255.0F;
BufferBuilder bufferbuilder = Tessellator.getInstance().getBuffer();
bufferbuilder.pos(left, bottom, 1.0F).color(f, f1, f2, f3).endVertex();
bufferbuilder.pos(right, bottom, 1.0F).color(f, f1, f2, f3).endVertex();
bufferbuilder.pos(right, top, 1.0F).color(f, f1, f2, f3).endVertex();
bufferbuilder.pos(left, top, 1.0F).color(f, f1, f2, f3).endVertex();
}
public void glCenteredScale(final float x, final float y, final float w, final float h, final float f) {
glTranslatef(x + w / 2, y + h / 2, 0);
glScalef(f, f, 1);
glTranslatef(-x - w / 2, -y - h / 2, 0);
}
}
Вроде это самые адекватные EntityESP которые сливали да и ещё на EvaWare/3.1
Жду оценочек!
