Подписывайтесь на наш Telegram и не пропускайте важные новости! Перейти

Визуальная часть ЗАВОЗ емае Box3D как в нурике и вексайде exp 2.0

Обратите внимание, пользователь заблокирован на форуме. Не рекомендуется проводить сделки.
а с какого момента 1.8.9 box esp это завоз?
 
еблан? мне класс с френдами надо переписать
Не в твоем случаее оскать, тебя все обсирают, и ты пытаешься со своим дипсик кодом что то сказать
А меня как ебет твои фриенды? Только шяс осознал то что ты написал… если что не обязательно переписывать код фриендов, чтобы сделать проверку, и изменить цвет..
 
Не в твоем случаее оскать, тебя все обсирают, и ты пытаешься со своим дипсик кодом что то сказать
А меня как ебет твои фриенды? Только шяс осознал то что ты написал… если что не обязательно переписывать код фриендов, чтобы сделать проверку, и изменить цвет..
у меня просто бинд не получается реализовать ну точнее команду
Не в твоем случаее оскать, тебя все обсирают, и ты пытаешься со своим дипсик кодом что то сказать
А меня как ебет твои фриенды? Только шяс осознал то что ты написал… если что не обязательно переписывать код фриендов, чтобы сделать проверку, и изменить цвет..
ну новички точно спастили если 200 просмотров
 
блять функция прикольная тебе какая разница как она написана, этого не кто не делал я сделал. за что доеб?
так нахуй твоя тема нужна? если чел захочет себе гпт-говнокод он сам в нейронку забьет.
 
блять мне гпт подсказал как ошибки подфиксить
кто тебе верить будет? все переменные показывают, что код от нейро, дохуя коментариев, метод addQuad тоже показывает, что это нейро
 
блять мне гпт подсказал как ошибки подфиксить
AppleScript:
Expand Collapse Copy
    public void onEventModule(Event event) {}

    public void register(LiteralArgumentBuilder<CommandSource> then) {
    }

    public class RenderLevelStageEvent {
    }
Тоже сам писал? так поясняй нахуя это нужно
 
AppleScript:
Expand Collapse Copy
    public void onEventModule(Event event) {}

    public void register(LiteralArgumentBuilder<CommandSource> then) {
    }

    public class RenderLevelStageEvent {
    }
Тоже сам писал? так поясняй нахуя это нужно
чтоб хуй стоял и деньги были)
 
кто тебе верить будет? все переменные показывают, что код от нейро, дохуя коментариев, метод addQuad тоже показывает, что это нейро
самый умный? мне что посоветовал гпт то я и написал я думал что что-то не то и думал это поможет фиксу, и вообще зачем я перед вами оправдываюсь
 
Обратите внимание, пользователь заблокирован на форуме. Не рекомендуется проводить сделки.
Java:
Expand Collapse Copy
public class Box3D extends Function {

    private static final double WIDTH = 0.6;
    private static final double HEIGHT = 1.8;

    // 50% прозрачная белая заливка
    private static final float[] FILL_COLOR = {1.0f, 1.0f, 1.0f, 0.5f};

    // Полностью непрозрачный белый контур
    private static final float[] LINE_COLOR = {1.0f, 1.0f, 1.0f, 1.0f};

    @Override
    public void onRenderLevelStage(Box3D.RenderLevelStageEvent event) {
     
    }

    private void renderHitboxes(Minecraft mc, float partialTicks) {
        RenderSystem.disableCull(); // Важно для отображения со всех сторон
    }

    private void renderPlayerHitbox(PlayerEntity player, Vector3d view, float partialTicks) {
        // 1. Рисуем заливку со всех сторон

        // 2. Рисуем контур со всех сторон
    }

    private void renderBoxFill(AxisAlignedBB box) {
        // Все 6 граней куба (обе стороны)

        // Нижняя грань

        // Верхняя грань

        // Северная грань (Z-)

        // Южная грань (Z+)

        // Западная грань (X-)

        // Восточная грань (X+)
    }

    private void renderBoxOutline(AxisAlignedBB box) {

        // 12 линий куба (все ребра)

        // Нижние линии

        // Верхние линии

        // Вертикальные линии
    }

    public void onEventModule(Event event) {}

    public void register(LiteralArgumentBuilder<CommandSource> then) {
    }

    public class RenderLevelStageEvent {
    }
}
нэ ну это подписон
 
самый умный? мне что посоветовал гпт то я и написал я думал что что-то не то и думал это поможет фиксу, и вообще зачем я перед вами оправдываюсь
Агась, не оправдывайся, лучше дельни тему и не позорься
Ну а если дальше хочешь терпеть коменты по типу чатгптэволюшн, удачи)
 
Агась, не оправдывайся, лучше дельни тему и не позорься
Ну а если дальше хочешь терпеть коменты по типу чатгптэволюшн, удачи)
у меня была ошибка что заливка не отображалась я закинул в deepseek он мне скинул с правильной отрисовкой
 
кароче боксы как в нурике и вексайде понимаю что код можно было сделать намного меньше и еще понимаю что функция не нужная, но для визуалов самое то
без дип сика не обошлось извиняюсь сразу помогал мне исправлять код ss -
Пожалуйста, авторизуйтесь для просмотра ссылки.

не бейте только плиз, если че все ошибки чинятся через шифт таб так что не надо говорить что у вас что то не работает

Java:
Expand Collapse Copy
package jiraf.cc.modules.impl.render;

import com.mojang.blaze3d.systems.RenderSystem;
import com.mojang.brigadier.builder.LiteralArgumentBuilder;
import jiraf.cc.events.Event;
import jiraf.cc.events.impl.render.EventRender;
import jiraf.cc.modules.Function;
import jiraf.cc.modules.FunctionAnnotation;
import jiraf.cc.modules.Type;
import jiraf.cc.util.IMinecraft;
import net.minecraft.client.Minecraft;
import net.minecraft.client.renderer.*;
import net.minecraft.client.renderer.vertex.DefaultVertexFormats;
import net.minecraft.command.CommandSource;
import net.minecraft.entity.player.PlayerEntity;
import net.minecraft.util.math.AxisAlignedBB;
import net.minecraft.util.math.vector.Vector3d;
import org.lwjgl.opengl.GL11;

@FunctionAnnotation(
        name = "Box 3D",
        type = Type.Render
)
public class Box3D extends Function {

    private static final double WIDTH = 0.6;
    private static final double HEIGHT = 1.8;

    // 50% прозрачная белая заливка
    private static final float[] FILL_COLOR = {1.0f, 1.0f, 1.0f, 0.5f};

    // Полностью непрозрачный белый контур
    private static final float[] LINE_COLOR = {1.0f, 1.0f, 1.0f, 1.0f};

    @Override
    public void onEvent(Event event) {
        if (!(event instanceof EventRender)) return;

        Minecraft mc = IMinecraft.mc;
        if (mc.world == null || mc.player == null || mc.getRenderManager() == null) return;

        try {
            if (mc.gameSettings.fov == 0) return;

            renderHitboxes(mc, ((EventRender)event).partialTicks);
        } catch (Exception e) {
            e.printStackTrace();
        }
    }

    @Override
    public void onRenderLevelStage(Box3D.RenderLevelStageEvent event) {
      
    }

    private void renderHitboxes(Minecraft mc, float partialTicks) {
        RenderSystem.pushMatrix();
        RenderSystem.enableBlend();
        RenderSystem.defaultBlendFunc();
        RenderSystem.disableTexture();
        RenderSystem.disableDepthTest();
        RenderSystem.disableCull(); // Важно для отображения со всех сторон

        Vector3d view = mc.getRenderManager().info.getProjectedView();

        for (PlayerEntity player : mc.world.getPlayers()) {
            if (player == mc.player) continue;

            renderPlayerHitbox(player, view, partialTicks);
        }

        RenderSystem.enableCull();
        RenderSystem.enableDepthTest();
        RenderSystem.enableTexture();
        RenderSystem.disableBlend();
        RenderSystem.popMatrix();
    }

    private void renderPlayerHitbox(PlayerEntity player, Vector3d view, float partialTicks) {
        double x = lerp(player.lastTickPosX, player.getPosX(), partialTicks) - view.x;
        double y = lerp(player.lastTickPosY, player.getPosY(), partialTicks) - view.y;
        double z = lerp(player.lastTickPosZ, player.getPosZ(), partialTicks) - view.z;

        AxisAlignedBB box = new AxisAlignedBB(
                x - WIDTH/2, y, z - WIDTH/2,
                x + WIDTH/2, y + HEIGHT, z + WIDTH/2
        );

        // 1. Рисуем заливку со всех сторон
        renderBoxFill(box);

        // 2. Рисуем контур со всех сторон
        renderBoxOutline(box);
    }

    private void renderBoxFill(AxisAlignedBB box) {
        BufferBuilder buffer = Tessellator.getInstance().getBuffer();
        buffer.begin(GL11.GL_QUADS, DefaultVertexFormats.POSITION_COLOR);

        // Все 6 граней куба (обе стороны)

        // Нижняя грань
        addQuad(buffer, box.minX, box.minY, box.minZ, box.maxX, box.minY, box.minZ, box.maxX, box.minY, box.maxZ, box.minX, box.minY, box.maxZ);

        // Верхняя грань
        addQuad(buffer, box.minX, box.maxY, box.minZ, box.minX, box.maxY, box.maxZ, box.maxX, box.maxY, box.maxZ, box.maxX, box.maxY, box.minZ);

        // Северная грань (Z-)
        addQuad(buffer, box.minX, box.minY, box.minZ, box.minX, box.maxY, box.minZ, box.maxX, box.maxY, box.minZ, box.maxX, box.minY, box.minZ);

        // Южная грань (Z+)
        addQuad(buffer, box.minX, box.minY, box.maxZ, box.maxX, box.minY, box.maxZ, box.maxX, box.maxY, box.maxZ, box.minX, box.maxY, box.maxZ);

        // Западная грань (X-)
        addQuad(buffer, box.minX, box.minY, box.minZ, box.minX, box.minY, box.maxZ, box.minX, box.maxY, box.maxZ, box.minX, box.maxY, box.minZ);

        // Восточная грань (X+)
        addQuad(buffer, box.maxX, box.minY, box.minZ, box.maxX, box.maxY, box.minZ, box.maxX, box.maxY, box.maxZ, box.maxX, box.minY, box.maxZ);

        Tessellator.getInstance().draw();
    }

    private void renderBoxOutline(AxisAlignedBB box) {
        BufferBuilder buffer = Tessellator.getInstance().getBuffer();
        buffer.begin(GL11.GL_LINES, DefaultVertexFormats.POSITION_COLOR);

        // 12 линий куба (все ребра)

        // Нижние линии
        addLine(buffer, box.minX, box.minY, box.minZ, box.maxX, box.minY, box.minZ);
        addLine(buffer, box.maxX, box.minY, box.minZ, box.maxX, box.minY, box.maxZ);
        addLine(buffer, box.maxX, box.minY, box.maxZ, box.minX, box.minY, box.maxZ);
        addLine(buffer, box.minX, box.minY, box.maxZ, box.minX, box.minY, box.minZ);

        // Верхние линии
        addLine(buffer, box.minX, box.maxY, box.minZ, box.maxX, box.maxY, box.minZ);
        addLine(buffer, box.maxX, box.maxY, box.minZ, box.maxX, box.maxY, box.maxZ);
        addLine(buffer, box.maxX, box.maxY, box.maxZ, box.minX, box.maxY, box.maxZ);
        addLine(buffer, box.minX, box.maxY, box.maxZ, box.minX, box.maxY, box.minZ);

        // Вертикальные линии
        addLine(buffer, box.minX, box.minY, box.minZ, box.minX, box.maxY, box.minZ);
        addLine(buffer, box.maxX, box.minY, box.minZ, box.maxX, box.maxY, box.minZ);
        addLine(buffer, box.maxX, box.minY, box.maxZ, box.maxX, box.maxY, box.maxZ);
        addLine(buffer, box.minX, box.minY, box.maxZ, box.minX, box.maxY, box.maxZ);

        Tessellator.getInstance().draw();
    }

    private void addQuad(BufferBuilder buffer,
                         double x1, double y1, double z1,
                         double x2, double y2, double z2,
                         double x3, double y3, double z3,
                         double x4, double y4, double z4) {
        buffer.pos(x1, y1, z1).color(FILL_COLOR[0], FILL_COLOR[1], FILL_COLOR[2], FILL_COLOR[3]).endVertex();
        buffer.pos(x2, y2, z2).color(FILL_COLOR[0], FILL_COLOR[1], FILL_COLOR[2], FILL_COLOR[3]).endVertex();
        buffer.pos(x3, y3, z3).color(FILL_COLOR[0], FILL_COLOR[1], FILL_COLOR[2], FILL_COLOR[3]).endVertex();
        buffer.pos(x4, y4, z4).color(FILL_COLOR[0], FILL_COLOR[1], FILL_COLOR[2], FILL_COLOR[3]).endVertex();
    }

    private void addLine(BufferBuilder buffer,
                         double x1, double y1, double z1,
                         double x2, double y2, double z2) {
        buffer.pos(x1, y1, z1).color(LINE_COLOR[0], LINE_COLOR[1], LINE_COLOR[2], LINE_COLOR[3]).endVertex();
        buffer.pos(x2, y2, z2).color(LINE_COLOR[0], LINE_COLOR[1], LINE_COLOR[2], LINE_COLOR[3]).endVertex();
    }

    private double lerp(double start, double end, float progress) {
        return start + (end - start) * progress;
    }

    public void onEventModule(Event event) {}

    public void register(LiteralArgumentBuilder<CommandSource> then) {
    }

    public class RenderLevelStageEvent {
    }
}
Честно если ты делаешь впервые то очень хорошо,а так +- фиксить нужно
 
Назад
Сверху Снизу