Визуальная часть HitCircle // 3.1 ready

Начинающий
Начинающий
Статус
Оффлайн
Регистрация
6 Янв 2025
Сообщения
148
Реакции
0
Выберите загрузчик игры
  1. Forge
  2. NeoForge

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

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

Спасибо!

кек это показ попадение трезубца,лука и арбалета как в целке можно сделать чтобы он был красным при наведении , в видео не фулл показ в коде добавил толщину и радиус , думаю годно и да омни пш спасти и мошна в кодери спектри или шипучки

Пожалуйста, авторизуйтесь для просмотра ссылки.


Zovchik лучший чит:
Expand Collapse Copy
package wtf.nucker.modules.impl.render;

import com.google.common.eventbus.Subscribe;
import net.minecraft.client.Minecraft;
import net.minecraft.entity.player.PlayerEntity;
import net.minecraft.inventory.container.WorkbenchContainer;
import net.minecraft.item.*;
import net.minecraft.util.Direction;
import net.minecraft.util.math.*;
import net.minecraft.util.math.vector.Vector3d;
import org.lwjgl.opengl.GL11;
import wtf.nucker.events.WorldEvent;
import wtf.nucker.modules.api.Category;
import wtf.nucker.modules.api.Module;
import wtf.nucker.modules.api.ModuleRegister;
import wtf.nucker.modules.settings.impl.SliderSetting;

@ModuleRegister(name = "HitCircle", category = Category.Render, desc = "Показывает, куда попадёт стрела/трезубец")
public class HitCircle extends Module {

    private final Minecraft mc = Minecraft.getInstance();

    private final SliderSetting circleRadius = new SliderSetting("Радиус круга", 0.3f, 0.1f, 1.0f, 0.01f);
    private final SliderSetting lineThickness = new SliderSetting("Толщина линии", 2.0f, 0.5f, 5.0f, 0.1f);

    public HitCircle() {
        this.addSettings(circleRadius, lineThickness);
    }

    @Subscribe
    public void onRenderWorld(WorldEvent event) {
        if (mc.player == null || mc.world == null) return;

        PlayerEntity player = mc.player;
        ItemStack held = player.getHeldItemMainhand();
        Item item = held.getItem();

        if (!(item instanceof BowItem || item instanceof CrossbowItem || item instanceof TridentItem)) return;

        Vector3d eyePos = player.getEyePosition(event.getPartialTicks());
        Vector3d lookVec = player.getLookVec();

        float power = 3f;
        if (item instanceof BowItem) {
            int useTicks = player.getItemInUseCount();
            float draw = useTicks / 20f;
            draw = (draw * draw + draw * 2f) / 3f;
            if (draw > 1f) draw = 1f;
            power = draw * 3f;
        } else if (item instanceof CrossbowItem) {
            power = 3.15f;
        } else if (item instanceof TridentItem) {
            power = 2.5f;
        }

        Vector3d motion = lookVec.scale(power);
        Vector3d pos = eyePos;

        for (int i = 0; i < 300; i++) {
            Vector3d next = pos.add(motion);
            RayTraceContext ctx = new RayTraceContext(pos, next, RayTraceContext.BlockMode.COLLIDER, RayTraceContext.FluidMode.NONE, player);
            RayTraceResult result = mc.world.rayTraceBlocks(ctx);

            if (result.getType() == RayTraceResult.Type.BLOCK) {
                BlockRayTraceResult hit = (BlockRayTraceResult) result;
                drawCircle(hit.getHitVec(), hit.getFace());
                break;
            }

            pos = next;
            motion = motion.scale(0.99).subtract(0, 0.05, 0);
        }
    }

    private void drawCircle(Vector3d hitVec, Direction face) {
        Vector3d cam = mc.getRenderManager().info.getProjectedView();

        double x = hitVec.x - cam.x;
        double y = hitVec.y - cam.y + 0.01;
        double z = hitVec.z - cam.z;

        int segments = 40;
        double radius = this.circleRadius.get();
        float thickness = this.lineThickness.get();

        GL11.glPushMatrix();
        GL11.glTranslated(x, y, z);
        alignToFace(face);
        GL11.glDisable(GL11.GL_TEXTURE_2D);
        GL11.glEnable(GL11.GL_BLEND);
        GL11.glLineWidth(thickness);
        GL11.glColor4f(0.2f, 1f, 0.2f, 0.8f);

        GL11.glBegin(GL11.GL_LINE_LOOP);
        for (int i = 0; i < segments; i++) {
            double angle = 2 * Math.PI * i / segments;
            double dx = Math.cos(angle) * radius;
            double dz = Math.sin(angle) * radius;
            GL11.glVertex3d(dx, 0, dz);
        }
        GL11.glEnd();

        GL11.glEnable(GL11.GL_TEXTURE_2D);
        GL11.glDisable(GL11.GL_BLEND);
        GL11.glPopMatrix();
    }

    private void alignToFace(Direction face) {
        switch (face) {
            case UP: break;
            case DOWN: GL11.glRotated(180, 1, 0, 0); break;
            case EAST: GL11.glRotated(90, 0, 0, 1); break;
            case WEST: GL11.glRotated(-90, 0, 0, 1); break;
            case SOUTH: GL11.glRotated(-90, 1, 0, 0); break;
            case NORTH: GL11.glRotated(90, 1, 0, 0); break;
        }
    }
}

ХОТИТЕ ЕЩЕ ГОДНУЮ ВЕЩЬ СКИД НУРПУКАНА?
 
кек это показ попадение трезубца,лука и арбалета как в целке можно сделать чтобы он был красным при наведении , в видео не фулл показ в коде добавил толщину и радиус , думаю годно и да омни пш спасти и мошна в кодери спектри или шипучки

Пожалуйста, авторизуйтесь для просмотра ссылки.


Zovchik лучший чит:
Expand Collapse Copy
package wtf.nucker.modules.impl.render;

import com.google.common.eventbus.Subscribe;
import net.minecraft.client.Minecraft;
import net.minecraft.entity.player.PlayerEntity;
import net.minecraft.inventory.container.WorkbenchContainer;
import net.minecraft.item.*;
import net.minecraft.util.Direction;
import net.minecraft.util.math.*;
import net.minecraft.util.math.vector.Vector3d;
import org.lwjgl.opengl.GL11;
import wtf.nucker.events.WorldEvent;
import wtf.nucker.modules.api.Category;
import wtf.nucker.modules.api.Module;
import wtf.nucker.modules.api.ModuleRegister;
import wtf.nucker.modules.settings.impl.SliderSetting;

@ModuleRegister(name = "HitCircle", category = Category.Render, desc = "Показывает, куда попадёт стрела/трезубец")
public class HitCircle extends Module {

    private final Minecraft mc = Minecraft.getInstance();

    private final SliderSetting circleRadius = new SliderSetting("Радиус круга", 0.3f, 0.1f, 1.0f, 0.01f);
    private final SliderSetting lineThickness = new SliderSetting("Толщина линии", 2.0f, 0.5f, 5.0f, 0.1f);

    public HitCircle() {
        this.addSettings(circleRadius, lineThickness);
    }

    @Subscribe
    public void onRenderWorld(WorldEvent event) {
        if (mc.player == null || mc.world == null) return;

        PlayerEntity player = mc.player;
        ItemStack held = player.getHeldItemMainhand();
        Item item = held.getItem();

        if (!(item instanceof BowItem || item instanceof CrossbowItem || item instanceof TridentItem)) return;

        Vector3d eyePos = player.getEyePosition(event.getPartialTicks());
        Vector3d lookVec = player.getLookVec();

        float power = 3f;
        if (item instanceof BowItem) {
            int useTicks = player.getItemInUseCount();
            float draw = useTicks / 20f;
            draw = (draw * draw + draw * 2f) / 3f;
            if (draw > 1f) draw = 1f;
            power = draw * 3f;
        } else if (item instanceof CrossbowItem) {
            power = 3.15f;
        } else if (item instanceof TridentItem) {
            power = 2.5f;
        }

        Vector3d motion = lookVec.scale(power);
        Vector3d pos = eyePos;

        for (int i = 0; i < 300; i++) {
            Vector3d next = pos.add(motion);
            RayTraceContext ctx = new RayTraceContext(pos, next, RayTraceContext.BlockMode.COLLIDER, RayTraceContext.FluidMode.NONE, player);
            RayTraceResult result = mc.world.rayTraceBlocks(ctx);

            if (result.getType() == RayTraceResult.Type.BLOCK) {
                BlockRayTraceResult hit = (BlockRayTraceResult) result;
                drawCircle(hit.getHitVec(), hit.getFace());
                break;
            }

            pos = next;
            motion = motion.scale(0.99).subtract(0, 0.05, 0);
        }
    }

    private void drawCircle(Vector3d hitVec, Direction face) {
        Vector3d cam = mc.getRenderManager().info.getProjectedView();

        double x = hitVec.x - cam.x;
        double y = hitVec.y - cam.y + 0.01;
        double z = hitVec.z - cam.z;

        int segments = 40;
        double radius = this.circleRadius.get();
        float thickness = this.lineThickness.get();

        GL11.glPushMatrix();
        GL11.glTranslated(x, y, z);
        alignToFace(face);
        GL11.glDisable(GL11.GL_TEXTURE_2D);
        GL11.glEnable(GL11.GL_BLEND);
        GL11.glLineWidth(thickness);
        GL11.glColor4f(0.2f, 1f, 0.2f, 0.8f);

        GL11.glBegin(GL11.GL_LINE_LOOP);
        for (int i = 0; i < segments; i++) {
            double angle = 2 * Math.PI * i / segments;
            double dx = Math.cos(angle) * radius;
            double dz = Math.sin(angle) * radius;
            GL11.glVertex3d(dx, 0, dz);
        }
        GL11.glEnd();

        GL11.glEnable(GL11.GL_TEXTURE_2D);
        GL11.glDisable(GL11.GL_BLEND);
        GL11.glPopMatrix();
    }

    private void alignToFace(Direction face) {
        switch (face) {
            case UP: break;
            case DOWN: GL11.glRotated(180, 1, 0, 0); break;
            case EAST: GL11.glRotated(90, 0, 0, 1); break;
            case WEST: GL11.glRotated(-90, 0, 0, 1); break;
            case SOUTH: GL11.glRotated(-90, 1, 0, 0); break;
            case NORTH: GL11.glRotated(90, 1, 0, 0); break;
        }
    }
}

ХОТИТЕ ЕЩЕ ГОДНУЮ ВЕЩЬ СКИД НУРПУКАНА?
идея норм код хуета
 
ну и говно
 
брат, прежде чем писать типам которые что то умеют учись на 2 делить
кек это показ попадение трезубца,лука и арбалета как в целке можно сделать чтобы он был красным при наведении , в видео не фулл показ в коде добавил толщину и радиус , думаю годно и да омни пш спасти и мошна в кодери спектри или шипучки

Пожалуйста, авторизуйтесь для просмотра ссылки.


Zovchik лучший чит:
Expand Collapse Copy
package wtf.nucker.modules.impl.render;

import com.google.common.eventbus.Subscribe;
import net.minecraft.client.Minecraft;
import net.minecraft.entity.player.PlayerEntity;
import net.minecraft.inventory.container.WorkbenchContainer;
import net.minecraft.item.*;
import net.minecraft.util.Direction;
import net.minecraft.util.math.*;
import net.minecraft.util.math.vector.Vector3d;
import org.lwjgl.opengl.GL11;
import wtf.nucker.events.WorldEvent;
import wtf.nucker.modules.api.Category;
import wtf.nucker.modules.api.Module;
import wtf.nucker.modules.api.ModuleRegister;
import wtf.nucker.modules.settings.impl.SliderSetting;

@ModuleRegister(name = "HitCircle", category = Category.Render, desc = "Показывает, куда попадёт стрела/трезубец")
public class HitCircle extends Module {

    private final Minecraft mc = Minecraft.getInstance();

    private final SliderSetting circleRadius = new SliderSetting("Радиус круга", 0.3f, 0.1f, 1.0f, 0.01f);
    private final SliderSetting lineThickness = new SliderSetting("Толщина линии", 2.0f, 0.5f, 5.0f, 0.1f);

    public HitCircle() {
        this.addSettings(circleRadius, lineThickness);
    }

    @Subscribe
    public void onRenderWorld(WorldEvent event) {
        if (mc.player == null || mc.world == null) return;

        PlayerEntity player = mc.player;
        ItemStack held = player.getHeldItemMainhand();
        Item item = held.getItem();

        if (!(item instanceof BowItem || item instanceof CrossbowItem || item instanceof TridentItem)) return;

        Vector3d eyePos = player.getEyePosition(event.getPartialTicks());
        Vector3d lookVec = player.getLookVec();

        float power = 3f;
        if (item instanceof BowItem) {
            int useTicks = player.getItemInUseCount();
            float draw = useTicks / 20f;
            draw = (draw * draw + draw * 2f) / 3f;
            if (draw > 1f) draw = 1f;
            power = draw * 3f;
        } else if (item instanceof CrossbowItem) {
            power = 3.15f;
        } else if (item instanceof TridentItem) {
            power = 2.5f;
        }

        Vector3d motion = lookVec.scale(power);
        Vector3d pos = eyePos;

        for (int i = 0; i < 300; i++) {
            Vector3d next = pos.add(motion);
            RayTraceContext ctx = new RayTraceContext(pos, next, RayTraceContext.BlockMode.COLLIDER, RayTraceContext.FluidMode.NONE, player);
            RayTraceResult result = mc.world.rayTraceBlocks(ctx);

            if (result.getType() == RayTraceResult.Type.BLOCK) {
                BlockRayTraceResult hit = (BlockRayTraceResult) result;
                drawCircle(hit.getHitVec(), hit.getFace());
                break;
            }

            pos = next;
            motion = motion.scale(0.99).subtract(0, 0.05, 0);
        }
    }

    private void drawCircle(Vector3d hitVec, Direction face) {
        Vector3d cam = mc.getRenderManager().info.getProjectedView();

        double x = hitVec.x - cam.x;
        double y = hitVec.y - cam.y + 0.01;
        double z = hitVec.z - cam.z;

        int segments = 40;
        double radius = this.circleRadius.get();
        float thickness = this.lineThickness.get();

        GL11.glPushMatrix();
        GL11.glTranslated(x, y, z);
        alignToFace(face);
        GL11.glDisable(GL11.GL_TEXTURE_2D);
        GL11.glEnable(GL11.GL_BLEND);
        GL11.glLineWidth(thickness);
        GL11.glColor4f(0.2f, 1f, 0.2f, 0.8f);

        GL11.glBegin(GL11.GL_LINE_LOOP);
        for (int i = 0; i < segments; i++) {
            double angle = 2 * Math.PI * i / segments;
            double dx = Math.cos(angle) * radius;
            double dz = Math.sin(angle) * radius;
            GL11.glVertex3d(dx, 0, dz);
        }
        GL11.glEnd();

        GL11.glEnable(GL11.GL_TEXTURE_2D);
        GL11.glDisable(GL11.GL_BLEND);
        GL11.glPopMatrix();
    }

    private void alignToFace(Direction face) {
        switch (face) {
            case UP: break;
            case DOWN: GL11.glRotated(180, 1, 0, 0); break;
            case EAST: GL11.glRotated(90, 0, 0, 1); break;
            case WEST: GL11.glRotated(-90, 0, 0, 1); break;
            case SOUTH: GL11.glRotated(-90, 1, 0, 0); break;
            case NORTH: GL11.glRotated(90, 1, 0, 0); break;
        }
    }
}

ХОТИТЕ ЕЩЕ ГОДНУЮ ВЕЩЬ СКИД НУРПУКАНА?
правда это deepseek solutions code :catjam:
 
кек это показ попадение трезубца,лука и арбалета как в целке можно сделать чтобы он был красным при наведении , в видео не фулл показ в коде добавил толщину и радиус , думаю годно и да омни пш спасти и мошна в кодери спектри или шипучки

Пожалуйста, авторизуйтесь для просмотра ссылки.


Zovchik лучший чит:
Expand Collapse Copy
package wtf.nucker.modules.impl.render;

import com.google.common.eventbus.Subscribe;
import net.minecraft.client.Minecraft;
import net.minecraft.entity.player.PlayerEntity;
import net.minecraft.inventory.container.WorkbenchContainer;
import net.minecraft.item.*;
import net.minecraft.util.Direction;
import net.minecraft.util.math.*;
import net.minecraft.util.math.vector.Vector3d;
import org.lwjgl.opengl.GL11;
import wtf.nucker.events.WorldEvent;
import wtf.nucker.modules.api.Category;
import wtf.nucker.modules.api.Module;
import wtf.nucker.modules.api.ModuleRegister;
import wtf.nucker.modules.settings.impl.SliderSetting;

@ModuleRegister(name = "HitCircle", category = Category.Render, desc = "Показывает, куда попадёт стрела/трезубец")
public class HitCircle extends Module {

    private final Minecraft mc = Minecraft.getInstance();

    private final SliderSetting circleRadius = new SliderSetting("Радиус круга", 0.3f, 0.1f, 1.0f, 0.01f);
    private final SliderSetting lineThickness = new SliderSetting("Толщина линии", 2.0f, 0.5f, 5.0f, 0.1f);

    public HitCircle() {
        this.addSettings(circleRadius, lineThickness);
    }

    @Subscribe
    public void onRenderWorld(WorldEvent event) {
        if (mc.player == null || mc.world == null) return;

        PlayerEntity player = mc.player;
        ItemStack held = player.getHeldItemMainhand();
        Item item = held.getItem();

        if (!(item instanceof BowItem || item instanceof CrossbowItem || item instanceof TridentItem)) return;

        Vector3d eyePos = player.getEyePosition(event.getPartialTicks());
        Vector3d lookVec = player.getLookVec();

        float power = 3f;
        if (item instanceof BowItem) {
            int useTicks = player.getItemInUseCount();
            float draw = useTicks / 20f;
            draw = (draw * draw + draw * 2f) / 3f;
            if (draw > 1f) draw = 1f;
            power = draw * 3f;
        } else if (item instanceof CrossbowItem) {
            power = 3.15f;
        } else if (item instanceof TridentItem) {
            power = 2.5f;
        }

        Vector3d motion = lookVec.scale(power);
        Vector3d pos = eyePos;

        for (int i = 0; i < 300; i++) {
            Vector3d next = pos.add(motion);
            RayTraceContext ctx = new RayTraceContext(pos, next, RayTraceContext.BlockMode.COLLIDER, RayTraceContext.FluidMode.NONE, player);
            RayTraceResult result = mc.world.rayTraceBlocks(ctx);

            if (result.getType() == RayTraceResult.Type.BLOCK) {
                BlockRayTraceResult hit = (BlockRayTraceResult) result;
                drawCircle(hit.getHitVec(), hit.getFace());
                break;
            }

            pos = next;
            motion = motion.scale(0.99).subtract(0, 0.05, 0);
        }
    }

    private void drawCircle(Vector3d hitVec, Direction face) {
        Vector3d cam = mc.getRenderManager().info.getProjectedView();

        double x = hitVec.x - cam.x;
        double y = hitVec.y - cam.y + 0.01;
        double z = hitVec.z - cam.z;

        int segments = 40;
        double radius = this.circleRadius.get();
        float thickness = this.lineThickness.get();

        GL11.glPushMatrix();
        GL11.glTranslated(x, y, z);
        alignToFace(face);
        GL11.glDisable(GL11.GL_TEXTURE_2D);
        GL11.glEnable(GL11.GL_BLEND);
        GL11.glLineWidth(thickness);
        GL11.glColor4f(0.2f, 1f, 0.2f, 0.8f);

        GL11.glBegin(GL11.GL_LINE_LOOP);
        for (int i = 0; i < segments; i++) {
            double angle = 2 * Math.PI * i / segments;
            double dx = Math.cos(angle) * radius;
            double dz = Math.sin(angle) * radius;
            GL11.glVertex3d(dx, 0, dz);
        }
        GL11.glEnd();

        GL11.glEnable(GL11.GL_TEXTURE_2D);
        GL11.glDisable(GL11.GL_BLEND);
        GL11.glPopMatrix();
    }

    private void alignToFace(Direction face) {
        switch (face) {
            case UP: break;
            case DOWN: GL11.glRotated(180, 1, 0, 0); break;
            case EAST: GL11.glRotated(90, 0, 0, 1); break;
            case WEST: GL11.glRotated(-90, 0, 0, 1); break;
            case SOUTH: GL11.glRotated(-90, 1, 0, 0); break;
            case NORTH: GL11.glRotated(90, 1, 0, 0); break;
        }
    }
}

ХОТИТЕ ЕЩЕ ГОДНУЮ ВЕЩЬ СКИД НУРПУКАНА?
красиво продолжай в томже духе пастеркам сливать годноту
 
красиво продолжай в томже духе пастеркам сливать годноту
Сяб
красиво продолжай в томже духе пастеркам сливать годноту
спэс
красиво продолжай в томже духе пастеркам сливать годноту
спэс
 
Типичный OpenGL :(
Скорее типичный ты я бы сказал, кек
Я думаю средствами майнкрафта вполне возможно рендерить через VAO/VBO, но ты выбрал легаси говно в виде glVertex
 
Назад
Сверху Снизу