Начинающий
- Статус
- Оффлайн
- Регистрация
- 30 Май 2024
- Сообщения
- 195
- Реакции
- 2
Перед прочтением основного контента ниже, пожалуйста, обратите внимание на обновление внутри секции Майна на нашем форуме. У нас появились:
- бесплатные читы для Майнкрафт — любое использование на свой страх и риск;
- маркетплейс Майнкрафт — абсолютно любая коммерция, связанная с игрой, за исключением продажи читов (аккаунты, предоставления услуг, поиск кодеров читов и так далее);
- приватные читы для Minecraft — в этом разделе только платные хаки для игры, покупайте группу "Продавец" и выставляйте на продажу свой софт;
- обсуждения и гайды — всё тот же раздел с вопросами, но теперь модернизированный: поиск нужных хаков, пати с игроками-читерами и другая полезная информация.
Спасибо!
В чем проблема есп они работают только когда я вхожу в игрока и то криво рисуются, пробывал еспешки из других баз взять та же проблема
(noad)
Java:
@FeatureAnnotation(name = "Esp", category = Category.Render)
public class Esp extends Feature {
@Subscribe
public void onRender(EventRender2D e) {
if (mc.player == null || mc.world == null) return;
if (mc.getEntityRenderDispatcher().camera == null) return;
for (Entity ent : mc.world.getEntities()) {
if (ent instanceof PlayerEntity entity) {
renderEsp(e, entity);
}
if (ent instanceof ItemEntity entity) {
renderItem(e, entity);
}
}
}
private void renderEsp(EventRender2D event, PlayerEntity player) {
if (player == mc.player && mc.options.getPerspective().isFirstPerson()) return;
double x = MathUtil.interpolate(player.prevX, player.getX());
double y = MathUtil.interpolate(player.prevY, player.getY());
double z = MathUtil.interpolate(player.prevZ, player.getZ());
Vec3d projectedPos = MathUtil.projectCoordinates(new Vec3d(x, y + getPlayerHeight(player), z));
if (projectedPos.z <= 0 || projectedPos.z >= 1) return;
String textComponent = player.getName().getString() + " [" + Formatting.RED + getHealth(player) + Formatting.GRAY + "]";
float textWidth = mc.textRenderer.getWidth((textComponent) + 6);
float posX = (float) projectedPos.x - textWidth / 2;
float posY = ((float) projectedPos.y - getPlayerHeight(player));
Team playerTeam = player.getScoreboardTeam();
if (playerTeam != null) {
event.getContext().drawText(MinecraftClient.getInstance().textRenderer,
playerTeam.getPrefix(),
(int) (posX - MinecraftClient.getInstance().textRenderer.getWidth(playerTeam.getPrefix()) + 2),
(int) (posY - 15),
-1,
true);
}
Color color = new Color(0xCECDCD);
if (Core.getInstance().getFriendHandler().isFriend(player.getName().getString())) {
color = new Color(0x84FF00);
}
event.getContext().drawText(MinecraftClient.getInstance().textRenderer,
textComponent,
(int) (posX - 2),
(int) (posY - 15),
color.getRGB(),
true);
ArrayList<ItemStack> stacks = new ArrayList<>();
stacks.add(player.getInventory().armor.get(0));
stacks.add(player.getInventory().armor.get(1));
stacks.add(player.getInventory().armor.get(2));
stacks.add(player.getInventory().armor.get(3));
stacks.add(player.getOffHandStack());
stacks.add(player.getMainHandStack());
float xOffset = 0;
for (ItemStack itemStack : stacks) {
String sName = mc.player.networkHandler.getServerInfo() == null ? "none" : mc.player.networkHandler.getServerInfo().address;
if (sName.contains("holyworld")) {
if (itemStack.getCount() > itemStack.getMaxCount()) {
itemStack.setCount(itemStack.getMaxCount());
}
}
event.getContext().getMatrices().push();
event.getContext().getMatrices().translate(posX - 25 + xOffset, (float) (posY - 33f), 0);
DiffuseLighting.disableGuiDepthLighting();
event.getContext().drawItem(itemStack, 0, 0);
event.getContext().drawStackOverlay(mc.textRenderer, itemStack, 0, 0);
event.getContext().getMatrices().pop();
xOffset += 15;
}
}
private void renderItem(EventRender2D e, ItemEntity ent) {
Vec3d[] vectors = getPoints(ent);
Vector4d position = null;
for (Vec3d vector : vectors) {
vector = MathUtil.projectCoordinates(new Vec3d(vector.x, vector.y, vector.z));
if (vector.z > 0 && vector.z < 1) {
if (position == null)
position = new Vector4d(vector.x, vector.y, vector.z, 0);
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);
}
}
if (position != null) {
float posX = (float) position.x;
float posY = (float) position.y;
float endPosX = (float) position.z;
int count = ent.getStack().getCount();
String textComponent = "";
textComponent += (ent.getDisplayName().getString()) + " ";
textComponent += ent.getStack().getItem().getMaxCount() > 1 ? "x" + count : "";
float diff = (endPosX - posX) / 2f;
float textWidth = ent.getStack().getItem().getMaxCount() > 1 ? mc.textRenderer.getWidth(textComponent) : mc.textRenderer.getWidth(textComponent) - 2;
float tagX = (posX + diff - textWidth / 2f) * 1;
e.getContext().drawText(MinecraftClient.getInstance().textRenderer,
textComponent,
(int) (posX - 2),
(int) (posY - 15),
new Color(255, 255, 255).getRGB(),
true);
}
}
private float getPlayerHeight(PlayerEntity player) {
return player.getPose() == EntityPose.CROUCHING ? 1.5f : 2.0f;
}
public float getHealth(PlayerEntity ent) {
if ((mc.getNetworkHandler() != null && mc.getNetworkHandler().getServerInfo() != null && ServerUtil.isOnFT())) {
ScoreboardObjective scoreBoard;
String resolvedHp = "";
if ((ent.getScoreboard()).getObjectiveForSlot(ScoreboardDisplaySlot.BELOW_NAME) != null) {
scoreBoard = (ent.getScoreboard()).getObjectiveForSlot(ScoreboardDisplaySlot.BELOW_NAME);
if (scoreBoard != null) {
ReadableScoreboardScore readableScoreboardScore = ent.getScoreboard().getScore(ent, scoreBoard);
MutableText text2 = ReadableScoreboardScore.getFormattedScore(readableScoreboardScore, scoreBoard.getNumberFormatOr(StyledNumberFormat.EMPTY));
resolvedHp = text2.getString();
}
}
float numValue = 0;
try {
numValue = Float.parseFloat(resolvedHp);
} catch (NumberFormatException ignored) {
}
return numValue;
} else return ent.getHealth() + ent.getAbsorptionAmount();
}
@NotNull
private static Vec3d[] getPoints(Entity ent) {
double x = ent.prevX + (ent.getX() - ent.prevX) * MathUtil.getTickDelta();
double y = ent.prevY + (ent.getY() - ent.prevY) * MathUtil.getTickDelta();
double z = ent.prevZ + (ent.getZ() - ent.prevZ) * MathUtil.getTickDelta();
Box axisAlignedBB2 = ent.getBoundingBox();
Box axisAlignedBB = new Box(axisAlignedBB2.minX - ent.getX() + x - 0.05, axisAlignedBB2.minY - ent.getY() + y, axisAlignedBB2.minZ - ent.getZ() + z - 0.05, axisAlignedBB2.maxX - ent.getX() + x + 0.05, axisAlignedBB2.maxY - ent.getY() + y + 0.15, axisAlignedBB2.maxZ - ent.getZ() + z + 0.05);
return new Vec3d[]{new Vec3d(axisAlignedBB.minX, axisAlignedBB.minY, axisAlignedBB.minZ), new Vec3d(axisAlignedBB.minX, axisAlignedBB.maxY, axisAlignedBB.minZ), new Vec3d(axisAlignedBB.maxX, axisAlignedBB.minY, axisAlignedBB.minZ), new Vec3d(axisAlignedBB.maxX, axisAlignedBB.maxY, axisAlignedBB.minZ), new Vec3d(axisAlignedBB.minX, axisAlignedBB.minY, axisAlignedBB.maxZ), new Vec3d(axisAlignedBB.minX, axisAlignedBB.maxY, axisAlignedBB.maxZ), new Vec3d(axisAlignedBB.maxX, axisAlignedBB.minY, axisAlignedBB.maxZ), new Vec3d(axisAlignedBB.maxX, axisAlignedBB.maxY, axisAlignedBB.maxZ)};
}
}