Начинающий
- Статус
- Оффлайн
- Регистрация
- 20 Июл 2025
- Сообщения
- 31
- Реакции
- 0
Перед прочтением основного контента ниже, пожалуйста, обратите внимание на обновление внутри секции Майна на нашем форуме. У нас появились:
- бесплатные читы для Майнкрафт — любое использование на свой страх и риск;
- маркетплейс Майнкрафт — абсолютно любая коммерция, связанная с игрой, за исключением продажи читов (аккаунты, предоставления услуг, поиск кодеров читов и так далее);
- приватные читы для Minecraft — в этом разделе только платные хаки для игры, покупайте группу "Продавец" и выставляйте на продажу свой софт;
- обсуждения и гайды — всё тот же раздел с вопросами, но теперь модернизированный: поиск нужных хаков, пати с игроками-читерами и другая полезная информация.
Спасибо!
и снова сап км югейма, короче я как ебать пастерок хотел написать invokeresp (типо 6 душ вокруг игрока) с помощью любимого чата гпт, но все пошло по заднице. короче как фикс хз вот вам ss ошибок (
Пожалуйста, авторизуйтесь для просмотра ссылки.
) и сам код внизу
эбат какой таргет есп:
package im.expensive.modules.impl.render;
import im.expensive.functions.api.Category;
import im.expensive.functions.api.FunctionRegister;
import im.expensive.functions.impl.render.HUD;
import net.minecraft.client.Minecraft;
import net.minecraft.client.renderer.BufferBuilder;
import net.minecraft.client.renderer.Tessellator;
import net.minecraft.client.renderer.vertex.DefaultVertexFormats;
import net.minecraft.entity.player.PlayerEntity;
import net.minecraft.client.event.RenderWorldLastEvent;
import net.minecraft.eventbus.api.SubscribeEvent;
import org.lwjgl.opengl.GL11;
import java.awt.*;
@FunctionRegister(name = "InvokerESP", type = Category.Render)
public class InvokerESP {
private final Minecraft mc = Minecraft.getInstance();
private float animationTime = 0.0f;
private static final int SOUL_COUNT = 6;
private static final float RADIUS = 1.0f;
private static final float SOUL_SIZE = 0.2f;
private boolean isEnabled() {
return true;
}
@SubscribeEvent
public void onRenderWorldLast(RenderWorldLastEvent event) {
if (!isEnabled() || mc.player == null || mc.world == null) {
return;
}
PlayerEntity player = mc.player;
GL11.glPushMatrix();
GL11.glDisable(GL11.GL_TEXTURE_2D);
GL11.glDisable(GL11.GL_DEPTH_TEST);
GL11.glDisable(GL11.GL_LIGHTING);
GL11.glEnable(GL11.GL_BLEND);
GL11.glBlendFunc(GL11.GL_SRC_ALPHA, GL11.GL_ONE_MINUS_SRC_ALPHA);
animationTime = (animationTime + event.getPartialTicks() * 0.05f) % (2 * (float) Math.PI);
renderSoulsAroundPlayer(player, event.getPartialTicks());
GL11.glDisable(GL11.GL_BLEND);
GL11.glEnable(GL11.GL_LIGHTING);
GL11.glEnable(GL11.GL_DEPTH_TEST);
GL11.glEnable(GL11.GL_TEXTURE_2D);
GL11.glPopMatrix();
}
private void renderSoulsAroundPlayer(PlayerEntity player, float partialTicks) {
double interpX = player.prevPosX + (player.getPosX() - player.prevPosX) * partialTicks;
double interpY = player.prevPosY + (player.getPosY() - player.prevPosY) * partialTicks;
double interpZ = player.prevPosZ + (player.getPosZ() - player.prevPosZ) * partialTicks;
double camX = mc.getRenderManager().info.getProjectedView().x;
double camY = mc.getRenderManager().info.getProjectedView().y;
double camZ = mc.getRenderManager().info.getProjectedView().z;
double playerX = interpX - camX;
double playerY = interpY - camY + player.getEyeHeight();
double playerZ = interpZ - camZ;
GL11.glPushMatrix();
GL11.glTranslated(playerX, playerY, playerZ);
// применяем цвет из HUD
HUD.getColor(80);
for (int i = 0; i < SOUL_COUNT; i++) {
double angle = (2 * Math.PI * i / SOUL_COUNT) + animationTime;
double x = RADIUS * Math.sin(angle);
double z = RADIUS * Math.cos(angle);
double y = Math.sin(animationTime + i) * 0.2f;
GL11.glPushMatrix();
GL11.glTranslated(x, y, z);
drawSoulSphere(SOUL_SIZE);
GL11.glPopMatrix();
}
GL11.glPopMatrix();
}
private void drawSoulSphere(float size) {
Tessellator tessellator = Tessellator.getInstance();
BufferBuilder buffer = tessellator.getBuffer();
buffer.begin(GL11.GL_TRIANGLE_FAN, DefaultVertexFormats.POSITION);
for (int i = 0; i <= 16; i++) {
double angle = 2 * Math.PI * i / 16;
buffer.pos(size * Math.sin(angle), 0, size * Math.cos(angle)).endVertex();
}
tessellator.draw();
}
}