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

Визуальная часть PenisESP 1.16.5

Вы дождались этой легендарной функции..
я ее делал типо 3 месяца парни пж лайки моей любимой зайке.

ss -

PastaESP:
Expand Collapse Copy
package aurora.feature.impl.combat;

import aurora.events.WorldEvent;
import aurora.feature.helper.feature.Category;
import aurora.feature.helper.impl.CheckBoxSetting;
import aurora.feature.helper.impl.ColorSetting;
import aurora.feature.helper.impl.SliderSetting;
import aurora.feature.helper.main.Feature;
import aurora.feature.helper.main.FeatureAdd;
import aurora.util.visual.main.color.ColorUtils;
import com.google.common.eventbus.Subscribe;
import com.mojang.blaze3d.matrix.MatrixStack;
import net.minecraft.client.renderer.entity.EntityRendererManager;
import net.minecraft.entity.Entity;
import net.minecraft.entity.player.PlayerEntity;
import net.minecraft.util.math.vector.Vector3d;
import org.lwjgl.opengl.GL11;

/**
make by me 12.10.2025
 */
@FeatureAdd(name = "PenisESP", type = Category.Render)
public class PenisESP extends Feature {

private final CheckBoxSetting onlyOwn = new CheckBoxSetting("Только свой", false);

private final SliderSetting penisLength = new SliderSetting("Длина", 1.5f, 0.1f, 3.0f, 0.1f);
private final SliderSetting penisThickness = new SliderSetting("Толщина", 0.07f, 0.01f, 0.3f, 0.01f);
private final SliderSetting ballSize = new SliderSetting("Размер яиц", 0.15f, 0.05f, 0.5f, 0.01f);
private final SliderSetting gradation = new SliderSetting("Градация (сглаженность)", 30f, 10f, 100f, 1f);

private final ColorSetting penisColor = new ColorSetting("Цвет", -1);
private final ColorSetting headColor = new ColorSetting("Цвет головки", -1);

public PenisESP() {
addSettings(onlyOwn, penisLength, penisThickness, ballSize, gradation, penisColor, headColor);
    }

@Subscribe
    public void onRenderWorldLast(WorldEvent e) {
        MatrixStack matrix = e.getMatrix();

for (PlayerEntity player : mc.world.getPlayers()) {
if (onlyOwn.get() && player != mc.player) continue;
            drawPenisESP(player);
        }
    }

private Vector3d interpolate(Entity entity) {
double x = entity.prevPosX + (entity.getPosX() - entity.prevPosX) * mc.getRenderPartialTicks();
double y = entity.prevPosY + (entity.getPosY() - entity.prevPosY) * mc.getRenderPartialTicks();
double z = entity.prevPosZ + (entity.getPosZ() - entity.prevPosZ) * mc.getRenderPartialTicks();
return new Vector3d(x, y, z);
    }

private void drawPenisESP(PlayerEntity player) {
EntityRendererManager rm = mc.getRenderManager();
Vector3d base = interpolate(player).subtract(rm.info.getProjectedView());

double yaw = Math.toRadians(-player.rotationYaw);
double penisLen = penisLength.get();
double penisWidth = penisThickness.get();
double balls = ballSize.get();
Vector3d basePos = base.add(0, player.getHeight() / 2.4, 0);
Vector3d forward = new Vector3d(Math.sin(yaw), 0, Math.cos(yaw));
Vector3d left = basePos.add(Math.sin(yaw - Math.PI / 2) * balls * 0.9, -balls * 0.1, Math.cos(yaw - Math.PI / 2) * balls * 0.9);
Vector3d right = basePos.add(Math.sin(yaw + Math.PI / 2) * balls * 0.9, -balls * 0.1, Math.cos(yaw + Math.PI / 2) * balls * 0.9);
double offset = 0.1 + (balls * 0.5);
if (offset > 0.25) offset = 0.25;
if (offset < 0.1) offset = 0.1;
Vector3d start = basePos.add(forward.scale(offset)).add(0, balls * 0.15, 0);
        Vector3d tip = start.add(forward.scale(penisLen));
drawSphere(left, balls, gradation.get().intValue(), penisColor.get(), 0);
drawSphere(right, balls, gradation.get().intValue(), penisColor.get(), 0);
drawCylinder(start, tip, penisWidth, penisColor.get());
drawSphere(tip, balls * 0.8, gradation.get().intValue(), headColor.get(), 2);
    }


private void drawSphere(Vector3d pos, double radius, int grad, int color, int stage) {
GL11.glPushMatrix();
GL11.glDisable(GL11.GL_TEXTURE_2D);
GL11.glEnable(GL11.GL_BLEND);
GL11.glDisable(GL11.GL_DEPTH_TEST);
GL11.glBlendFunc(GL11.GL_SRC_ALPHA, GL11.GL_ONE_MINUS_SRC_ALPHA);
        setColor(color);

for (float alpha = 0; alpha < Math.PI; alpha += Math.PI / grad) {
for (float beta = 0; beta < 2.0 * Math.PI; beta += Math.PI / grad) {
double x1 = pos.x + (radius * Math.cos(beta) * Math.sin(alpha));
double y1 = pos.y + (radius * Math.sin(beta) * Math.sin(alpha));
double z1 = pos.z + (radius * Math.cos(alpha));

double sin = Math.sin(alpha + Math.PI / grad);
double x2 = pos.x + (radius * Math.cos(beta) * sin);
double y2 = pos.y + (radius * Math.sin(beta) * sin);
double z2 = pos.z + (radius * Math.cos(alpha + Math.PI / grad));

GL11.glBegin(GL11.GL_LINES);
GL11.glVertex3d(x1, y1, z1);
GL11.glVertex3d(x2, y2, z2);
GL11.glEnd();
            }
        }

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

private void drawCylinder(Vector3d start, Vector3d end, double radius, int color) {
GL11.glPushMatrix();
GL11.glDisable(GL11.GL_TEXTURE_2D);
GL11.glEnable(GL11.GL_BLEND);
GL11.glDisable(GL11.GL_DEPTH_TEST);
GL11.glBlendFunc(GL11.GL_SRC_ALPHA, GL11.GL_ONE_MINUS_SRC_ALPHA);
        setColor(color);

int slices = 20;
for (int i = 0; i < 360; i += 360 / slices) {
double a1 = Math.toRadians(i);
double a2 = Math.toRadians(i + 360 / slices);

double x1s = start.x + radius * Math.cos(a1);
double z1s = start.z + radius * Math.sin(a1);
double x2s = start.x + radius * Math.cos(a2);
double z2s = start.z + radius * Math.sin(a2);

double x1e = end.x + radius * Math.cos(a1);
double z1e = end.z + radius * Math.sin(a1);
double x2e = end.x + radius * Math.cos(a2);
double z2e = end.z + radius * Math.sin(a2);

GL11.glBegin(GL11.GL_LINES);
GL11.glVertex3d(x1s, start.y, z1s);
GL11.glVertex3d(x1e, end.y, z1e);
GL11.glVertex3d(x1s, start.y, z1s);
GL11.glVertex3d(x2s, start.y, z2s);
GL11.glVertex3d(x1e, end.y, z1e);
GL11.glVertex3d(x2e, end.y, z2e);
GL11.glEnd();
        }

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

private void setColor(int color) {
float a = (ColorUtils.getAlpha(color) / 255f);
float r = (ColorUtils.getRed(color) / 255f);
float g = (ColorUtils.getGreen(color) / 255f);
float b = (ColorUtils.getBlue(color) / 255f);
GL11.glColor4f(r, g, b, a);
    }
}

пастерки мне стало скучно и я все таки решил перенести эту функцию на экспу 3.1


PastaLand:
Expand Collapse Copy
package im.expensive.functions.impl.combat;

import im.expensive.events.WorldEvent;
import im.expensive.functions.api.Function;
import im.expensive.functions.api.FunctionRegister;
import im.expensive.functions.api.Category;
import im.expensive.functions.settings.impl.BooleanSetting;
import im.expensive.functions.settings.impl.ColorSetting;
import im.expensive.functions.settings.impl.SliderSetting;
import com.google.common.eventbus.Subscribe;
import net.minecraft.client.renderer.entity.EntityRendererManager;
import net.minecraft.entity.Entity;
import net.minecraft.entity.player.PlayerEntity;
import net.minecraft.util.math.vector.Vector3d;
import org.lwjgl.opengl.GL11;

/**
 * make by me 12.10.2025
 * transfer to expensive 3.1 from the userok1337 (BloxikPaster) 13.10.2025
 */
@FunctionRegister(name = "PenisESP", type = Category.Render)
public class PenisESP extends Function {
    private final BooleanSetting onlyOwn = new BooleanSetting("Только свой", true);
    private final SliderSetting penisLength = new SliderSetting("Длина", 1.5f, 0.1f, 3.0f, 0.1f);
    private final SliderSetting penisThickness = new SliderSetting("Толщина", 0.07f, 0.01f, 0.3f, 0.01f);
    private final SliderSetting ballSize = new SliderSetting("Размер яиц", 0.15f, 0.05f, 0.5f, 0.01f);
    private final SliderSetting gradation = new SliderSetting("Градация (сглаженность)", 30f, 10f, 100f, 1f);
    private final ColorSetting penisColor = new ColorSetting("Цвет", -1);
    private final ColorSetting headColor = new ColorSetting("Цвет головки", -1);

    public PenisESP() {
        addSettings(onlyOwn, penisLength, penisThickness, ballSize, gradation, penisColor, headColor);
    }

    @Subscribe
    public void onRenderWorldLast(WorldEvent e) {
        for (PlayerEntity player : mc.world.getPlayers()) {
            if (onlyOwn.get() && player != mc.player) continue;
            drawPenisESP(player);
        }
    }

    private Vector3d interpolate(Entity entity) {
        double x = entity.prevPosX + (entity.getPosX() - entity.prevPosX) * mc.getRenderPartialTicks();
        double y = entity.prevPosY + (entity.getPosY() - entity.prevPosY) * mc.getRenderPartialTicks();
        double z = entity.prevPosZ + (entity.getPosZ() - entity.prevPosZ) * mc.getRenderPartialTicks();
        return new Vector3d(x, y, z);
    }

    private void drawPenisESP(PlayerEntity player) {
        EntityRendererManager rm = mc.getRenderManager();
        Vector3d base = interpolate(player).subtract(rm.info.getProjectedView());
        double yaw = Math.toRadians(-player.rotationYaw);
        double penisLen = penisLength.get();
        double penisWidth = penisThickness.get();
        double balls = ballSize.get();
        Vector3d basePos = base.add(0, player.getHeight() / 2.4, 0);
        Vector3d forward = new Vector3d(Math.sin(yaw), 0, Math.cos(yaw));
        Vector3d left = basePos.add(Math.sin(yaw - Math.PI / 2) * balls * 0.9, -balls * 0.1, Math.cos(yaw - Math.PI / 2) * balls * 0.9);
        Vector3d right = basePos.add(Math.sin(yaw + Math.PI / 2) * balls * 0.9, -balls * 0.1, Math.cos(yaw + Math.PI / 2) * balls * 0.9);
        double offset = 0.1 + (balls * 0.5);
        if (offset > 0.25) offset = 0.25;
        if (offset < 0.1) offset = 0.1;
        Vector3d start = basePos.add(forward.scale(offset)).add(0, balls * 0.15, 0);
        Vector3d tip = start.add(forward.scale(penisLen));
        drawSphere(left, balls, 30, penisColor.get(), 0);
        drawSphere(right, balls, 30, penisColor.get(), 0);
        drawCylinder(start, tip, penisWidth, penisColor.get());
        drawSphere(tip, balls * 0.8, 30, headColor.get(), 2);
    }

    private void drawSphere(Vector3d pos, double radius, int grad, int color, int stage) {
        GL11.glPushMatrix();
        GL11.glDisable(GL11.GL_TEXTURE_2D);
        GL11.glEnable(GL11.GL_BLEND);
        GL11.glDisable(GL11.GL_DEPTH_TEST);
        GL11.glBlendFunc(GL11.GL_SRC_ALPHA, GL11.GL_ONE_MINUS_SRC_ALPHA);
        setColor(color);
        for (float alpha = 0; alpha < Math.PI; alpha += Math.PI / grad) {
            for (float beta = 0; beta < 2.0 * Math.PI; beta += Math.PI / grad) {
                double x1 = pos.x + (radius * Math.cos(beta) * Math.sin(alpha));
                double y1 = pos.y + (radius * Math.sin(beta) * Math.sin(alpha));
                double z1 = pos.z + (radius * Math.cos(alpha));
                double sin = Math.sin(alpha + Math.PI / grad);
                double x2 = pos.x + (radius * Math.cos(beta) * sin);
                double y2 = pos.y + (radius * Math.sin(beta) * sin);
                double z2 = pos.z + (radius * Math.cos(alpha + Math.PI / grad));
                GL11.glBegin(GL11.GL_LINES);
                GL11.glVertex3d(x1, y1, z1);
                GL11.glVertex3d(x2, y2, z2);
                GL11.glEnd();
            }
        }
        GL11.glEnable(GL11.GL_TEXTURE_2D);
        GL11.glEnable(GL11.GL_DEPTH_TEST);
        GL11.glDisable(GL11.GL_BLEND);
        GL11.glPopMatrix();
    }

    private void drawCylinder(Vector3d start, Vector3d end, double radius, int color) {
        GL11.glPushMatrix();
        GL11.glDisable(GL11.GL_TEXTURE_2D);
        GL11.glEnable(GL11.GL_BLEND);
        GL11.glDisable(GL11.GL_DEPTH_TEST);
        GL11.glBlendFunc(GL11.GL_SRC_ALPHA, GL11.GL_ONE_MINUS_SRC_ALPHA);
        setColor(color);
        int slices = 20;
        for (int i = 0; i < 360; i += 360 / slices) {
            double a1 = Math.toRadians(i);
            double a2 = Math.toRadians(i + 360 / slices);
            double x1s = start.x + radius * Math.cos(a1);
            double z1s = start.z + radius * Math.sin(a1);
            double x2s = start.x + radius * Math.cos(a2);
            double z2s = start.z + radius * Math.sin(a2);
            double x1e = end.x + radius * Math.cos(a1);
            double z1e = end.z + radius * Math.sin(a1);
            double x2e = end.x + radius * Math.cos(a2);
            double z2e = end.z + radius * Math.sin(a2);
            GL11.glBegin(GL11.GL_LINES);
            GL11.glVertex3d(x1s, start.y, z1s);
            GL11.glVertex3d(x1e, end.y, z1e);
            GL11.glVertex3d(x1s, start.y, z1s);
            GL11.glVertex3d(x2s, start.y, z2s);
            GL11.glVertex3d(x1e, end.y, z1e);
            GL11.glVertex3d(x2e, end.y, z2e);
            GL11.glEnd();
        }
        GL11.glEnable(GL11.GL_TEXTURE_2D);
        GL11.glEnable(GL11.GL_DEPTH_TEST);
        GL11.glDisable(GL11.GL_BLEND);
        GL11.glPopMatrix();
    }

    private void setColor(int color) {
        // Прямые битовые операции (без ColorUtils)
        float a = ((color >> 24) & 0xFF) / 255f;
        float r = ((color >> 16) & 0xFF) / 255f;
        float g = ((color >> 8) & 0xFF) / 255f;
        float b = (color & 0xFF) / 255f;
        GL11.glColor4f(r, g, b, a);
    }
}

:summyrose:
 
пастерки мне стало скучно и я все таки решил перенести эту функцию на экспу 3.1


PastaLand:
Expand Collapse Copy
package im.expensive.functions.impl.combat;

import im.expensive.events.WorldEvent;
import im.expensive.functions.api.Function;
import im.expensive.functions.api.FunctionRegister;
import im.expensive.functions.api.Category;
import im.expensive.functions.settings.impl.BooleanSetting;
import im.expensive.functions.settings.impl.ColorSetting;
import im.expensive.functions.settings.impl.SliderSetting;
import com.google.common.eventbus.Subscribe;
import net.minecraft.client.renderer.entity.EntityRendererManager;
import net.minecraft.entity.Entity;
import net.minecraft.entity.player.PlayerEntity;
import net.minecraft.util.math.vector.Vector3d;
import org.lwjgl.opengl.GL11;

/**
 * make by me 12.10.2025
 * transfer to expensive 3.1 from the userok1337 (BloxikPaster) 13.10.2025
 */
@FunctionRegister(name = "PenisESP", type = Category.Render)
public class PenisESP extends Function {
    private final BooleanSetting onlyOwn = new BooleanSetting("Только свой", true);
    private final SliderSetting penisLength = new SliderSetting("Длина", 1.5f, 0.1f, 3.0f, 0.1f);
    private final SliderSetting penisThickness = new SliderSetting("Толщина", 0.07f, 0.01f, 0.3f, 0.01f);
    private final SliderSetting ballSize = new SliderSetting("Размер яиц", 0.15f, 0.05f, 0.5f, 0.01f);
    private final SliderSetting gradation = new SliderSetting("Градация (сглаженность)", 30f, 10f, 100f, 1f);
    private final ColorSetting penisColor = new ColorSetting("Цвет", -1);
    private final ColorSetting headColor = new ColorSetting("Цвет головки", -1);

    public PenisESP() {
        addSettings(onlyOwn, penisLength, penisThickness, ballSize, gradation, penisColor, headColor);
    }

    @Subscribe
    public void onRenderWorldLast(WorldEvent e) {
        for (PlayerEntity player : mc.world.getPlayers()) {
            if (onlyOwn.get() && player != mc.player) continue;
            drawPenisESP(player);
        }
    }

    private Vector3d interpolate(Entity entity) {
        double x = entity.prevPosX + (entity.getPosX() - entity.prevPosX) * mc.getRenderPartialTicks();
        double y = entity.prevPosY + (entity.getPosY() - entity.prevPosY) * mc.getRenderPartialTicks();
        double z = entity.prevPosZ + (entity.getPosZ() - entity.prevPosZ) * mc.getRenderPartialTicks();
        return new Vector3d(x, y, z);
    }

    private void drawPenisESP(PlayerEntity player) {
        EntityRendererManager rm = mc.getRenderManager();
        Vector3d base = interpolate(player).subtract(rm.info.getProjectedView());
        double yaw = Math.toRadians(-player.rotationYaw);
        double penisLen = penisLength.get();
        double penisWidth = penisThickness.get();
        double balls = ballSize.get();
        Vector3d basePos = base.add(0, player.getHeight() / 2.4, 0);
        Vector3d forward = new Vector3d(Math.sin(yaw), 0, Math.cos(yaw));
        Vector3d left = basePos.add(Math.sin(yaw - Math.PI / 2) * balls * 0.9, -balls * 0.1, Math.cos(yaw - Math.PI / 2) * balls * 0.9);
        Vector3d right = basePos.add(Math.sin(yaw + Math.PI / 2) * balls * 0.9, -balls * 0.1, Math.cos(yaw + Math.PI / 2) * balls * 0.9);
        double offset = 0.1 + (balls * 0.5);
        if (offset > 0.25) offset = 0.25;
        if (offset < 0.1) offset = 0.1;
        Vector3d start = basePos.add(forward.scale(offset)).add(0, balls * 0.15, 0);
        Vector3d tip = start.add(forward.scale(penisLen));
        drawSphere(left, balls, 30, penisColor.get(), 0);
        drawSphere(right, balls, 30, penisColor.get(), 0);
        drawCylinder(start, tip, penisWidth, penisColor.get());
        drawSphere(tip, balls * 0.8, 30, headColor.get(), 2);
    }

    private void drawSphere(Vector3d pos, double radius, int grad, int color, int stage) {
        GL11.glPushMatrix();
        GL11.glDisable(GL11.GL_TEXTURE_2D);
        GL11.glEnable(GL11.GL_BLEND);
        GL11.glDisable(GL11.GL_DEPTH_TEST);
        GL11.glBlendFunc(GL11.GL_SRC_ALPHA, GL11.GL_ONE_MINUS_SRC_ALPHA);
        setColor(color);
        for (float alpha = 0; alpha < Math.PI; alpha += Math.PI / grad) {
            for (float beta = 0; beta < 2.0 * Math.PI; beta += Math.PI / grad) {
                double x1 = pos.x + (radius * Math.cos(beta) * Math.sin(alpha));
                double y1 = pos.y + (radius * Math.sin(beta) * Math.sin(alpha));
                double z1 = pos.z + (radius * Math.cos(alpha));
                double sin = Math.sin(alpha + Math.PI / grad);
                double x2 = pos.x + (radius * Math.cos(beta) * sin);
                double y2 = pos.y + (radius * Math.sin(beta) * sin);
                double z2 = pos.z + (radius * Math.cos(alpha + Math.PI / grad));
                GL11.glBegin(GL11.GL_LINES);
                GL11.glVertex3d(x1, y1, z1);
                GL11.glVertex3d(x2, y2, z2);
                GL11.glEnd();
            }
        }
        GL11.glEnable(GL11.GL_TEXTURE_2D);
        GL11.glEnable(GL11.GL_DEPTH_TEST);
        GL11.glDisable(GL11.GL_BLEND);
        GL11.glPopMatrix();
    }

    private void drawCylinder(Vector3d start, Vector3d end, double radius, int color) {
        GL11.glPushMatrix();
        GL11.glDisable(GL11.GL_TEXTURE_2D);
        GL11.glEnable(GL11.GL_BLEND);
        GL11.glDisable(GL11.GL_DEPTH_TEST);
        GL11.glBlendFunc(GL11.GL_SRC_ALPHA, GL11.GL_ONE_MINUS_SRC_ALPHA);
        setColor(color);
        int slices = 20;
        for (int i = 0; i < 360; i += 360 / slices) {
            double a1 = Math.toRadians(i);
            double a2 = Math.toRadians(i + 360 / slices);
            double x1s = start.x + radius * Math.cos(a1);
            double z1s = start.z + radius * Math.sin(a1);
            double x2s = start.x + radius * Math.cos(a2);
            double z2s = start.z + radius * Math.sin(a2);
            double x1e = end.x + radius * Math.cos(a1);
            double z1e = end.z + radius * Math.sin(a1);
            double x2e = end.x + radius * Math.cos(a2);
            double z2e = end.z + radius * Math.sin(a2);
            GL11.glBegin(GL11.GL_LINES);
            GL11.glVertex3d(x1s, start.y, z1s);
            GL11.glVertex3d(x1e, end.y, z1e);
            GL11.glVertex3d(x1s, start.y, z1s);
            GL11.glVertex3d(x2s, start.y, z2s);
            GL11.glVertex3d(x1e, end.y, z1e);
            GL11.glVertex3d(x2e, end.y, z2e);
            GL11.glEnd();
        }
        GL11.glEnable(GL11.GL_TEXTURE_2D);
        GL11.glEnable(GL11.GL_DEPTH_TEST);
        GL11.glDisable(GL11.GL_BLEND);
        GL11.glPopMatrix();
    }

    private void setColor(int color) {
        // Прямые битовые операции (без ColorUtils)
        float a = ((color >> 24) & 0xFF) / 255f;
        float r = ((color >> 16) & 0xFF) / 255f;
        float g = ((color >> 8) & 0xFF) / 255f;
        float b = (color & 0xFF) / 255f;
        GL11.glColor4f(r, g, b, a);
    }
}

:summyrose:
так это и было под экспу
 
пастерки мне стало скучно и я все таки решил перенести эту функцию на экспу 3.1


PastaLand:
Expand Collapse Copy
package im.expensive.functions.impl.combat;

import im.expensive.events.WorldEvent;
import im.expensive.functions.api.Function;
import im.expensive.functions.api.FunctionRegister;
import im.expensive.functions.api.Category;
import im.expensive.functions.settings.impl.BooleanSetting;
import im.expensive.functions.settings.impl.ColorSetting;
import im.expensive.functions.settings.impl.SliderSetting;
import com.google.common.eventbus.Subscribe;
import net.minecraft.client.renderer.entity.EntityRendererManager;
import net.minecraft.entity.Entity;
import net.minecraft.entity.player.PlayerEntity;
import net.minecraft.util.math.vector.Vector3d;
import org.lwjgl.opengl.GL11;

/**
 * make by me 12.10.2025
 * transfer to expensive 3.1 from the userok1337 (BloxikPaster) 13.10.2025
 */
@FunctionRegister(name = "PenisESP", type = Category.Render)
public class PenisESP extends Function {
    private final BooleanSetting onlyOwn = new BooleanSetting("Только свой", true);
    private final SliderSetting penisLength = new SliderSetting("Длина", 1.5f, 0.1f, 3.0f, 0.1f);
    private final SliderSetting penisThickness = new SliderSetting("Толщина", 0.07f, 0.01f, 0.3f, 0.01f);
    private final SliderSetting ballSize = new SliderSetting("Размер яиц", 0.15f, 0.05f, 0.5f, 0.01f);
    private final SliderSetting gradation = new SliderSetting("Градация (сглаженность)", 30f, 10f, 100f, 1f);
    private final ColorSetting penisColor = new ColorSetting("Цвет", -1);
    private final ColorSetting headColor = new ColorSetting("Цвет головки", -1);

    public PenisESP() {
        addSettings(onlyOwn, penisLength, penisThickness, ballSize, gradation, penisColor, headColor);
    }

    @Subscribe
    public void onRenderWorldLast(WorldEvent e) {
        for (PlayerEntity player : mc.world.getPlayers()) {
            if (onlyOwn.get() && player != mc.player) continue;
            drawPenisESP(player);
        }
    }

    private Vector3d interpolate(Entity entity) {
        double x = entity.prevPosX + (entity.getPosX() - entity.prevPosX) * mc.getRenderPartialTicks();
        double y = entity.prevPosY + (entity.getPosY() - entity.prevPosY) * mc.getRenderPartialTicks();
        double z = entity.prevPosZ + (entity.getPosZ() - entity.prevPosZ) * mc.getRenderPartialTicks();
        return new Vector3d(x, y, z);
    }

    private void drawPenisESP(PlayerEntity player) {
        EntityRendererManager rm = mc.getRenderManager();
        Vector3d base = interpolate(player).subtract(rm.info.getProjectedView());
        double yaw = Math.toRadians(-player.rotationYaw);
        double penisLen = penisLength.get();
        double penisWidth = penisThickness.get();
        double balls = ballSize.get();
        Vector3d basePos = base.add(0, player.getHeight() / 2.4, 0);
        Vector3d forward = new Vector3d(Math.sin(yaw), 0, Math.cos(yaw));
        Vector3d left = basePos.add(Math.sin(yaw - Math.PI / 2) * balls * 0.9, -balls * 0.1, Math.cos(yaw - Math.PI / 2) * balls * 0.9);
        Vector3d right = basePos.add(Math.sin(yaw + Math.PI / 2) * balls * 0.9, -balls * 0.1, Math.cos(yaw + Math.PI / 2) * balls * 0.9);
        double offset = 0.1 + (balls * 0.5);
        if (offset > 0.25) offset = 0.25;
        if (offset < 0.1) offset = 0.1;
        Vector3d start = basePos.add(forward.scale(offset)).add(0, balls * 0.15, 0);
        Vector3d tip = start.add(forward.scale(penisLen));
        drawSphere(left, balls, 30, penisColor.get(), 0);
        drawSphere(right, balls, 30, penisColor.get(), 0);
        drawCylinder(start, tip, penisWidth, penisColor.get());
        drawSphere(tip, balls * 0.8, 30, headColor.get(), 2);
    }

    private void drawSphere(Vector3d pos, double radius, int grad, int color, int stage) {
        GL11.glPushMatrix();
        GL11.glDisable(GL11.GL_TEXTURE_2D);
        GL11.glEnable(GL11.GL_BLEND);
        GL11.glDisable(GL11.GL_DEPTH_TEST);
        GL11.glBlendFunc(GL11.GL_SRC_ALPHA, GL11.GL_ONE_MINUS_SRC_ALPHA);
        setColor(color);
        for (float alpha = 0; alpha < Math.PI; alpha += Math.PI / grad) {
            for (float beta = 0; beta < 2.0 * Math.PI; beta += Math.PI / grad) {
                double x1 = pos.x + (radius * Math.cos(beta) * Math.sin(alpha));
                double y1 = pos.y + (radius * Math.sin(beta) * Math.sin(alpha));
                double z1 = pos.z + (radius * Math.cos(alpha));
                double sin = Math.sin(alpha + Math.PI / grad);
                double x2 = pos.x + (radius * Math.cos(beta) * sin);
                double y2 = pos.y + (radius * Math.sin(beta) * sin);
                double z2 = pos.z + (radius * Math.cos(alpha + Math.PI / grad));
                GL11.glBegin(GL11.GL_LINES);
                GL11.glVertex3d(x1, y1, z1);
                GL11.glVertex3d(x2, y2, z2);
                GL11.glEnd();
            }
        }
        GL11.glEnable(GL11.GL_TEXTURE_2D);
        GL11.glEnable(GL11.GL_DEPTH_TEST);
        GL11.glDisable(GL11.GL_BLEND);
        GL11.glPopMatrix();
    }

    private void drawCylinder(Vector3d start, Vector3d end, double radius, int color) {
        GL11.glPushMatrix();
        GL11.glDisable(GL11.GL_TEXTURE_2D);
        GL11.glEnable(GL11.GL_BLEND);
        GL11.glDisable(GL11.GL_DEPTH_TEST);
        GL11.glBlendFunc(GL11.GL_SRC_ALPHA, GL11.GL_ONE_MINUS_SRC_ALPHA);
        setColor(color);
        int slices = 20;
        for (int i = 0; i < 360; i += 360 / slices) {
            double a1 = Math.toRadians(i);
            double a2 = Math.toRadians(i + 360 / slices);
            double x1s = start.x + radius * Math.cos(a1);
            double z1s = start.z + radius * Math.sin(a1);
            double x2s = start.x + radius * Math.cos(a2);
            double z2s = start.z + radius * Math.sin(a2);
            double x1e = end.x + radius * Math.cos(a1);
            double z1e = end.z + radius * Math.sin(a1);
            double x2e = end.x + radius * Math.cos(a2);
            double z2e = end.z + radius * Math.sin(a2);
            GL11.glBegin(GL11.GL_LINES);
            GL11.glVertex3d(x1s, start.y, z1s);
            GL11.glVertex3d(x1e, end.y, z1e);
            GL11.glVertex3d(x1s, start.y, z1s);
            GL11.glVertex3d(x2s, start.y, z2s);
            GL11.glVertex3d(x1e, end.y, z1e);
            GL11.glVertex3d(x2e, end.y, z2e);
            GL11.glEnd();
        }
        GL11.glEnable(GL11.GL_TEXTURE_2D);
        GL11.glEnable(GL11.GL_DEPTH_TEST);
        GL11.glDisable(GL11.GL_BLEND);
        GL11.glPopMatrix();
    }

    private void setColor(int color) {
        // Прямые битовые операции (без ColorUtils)
        float a = ((color >> 24) & 0xFF) / 255f;
        float r = ((color >> 16) & 0xFF) / 255f;
        float g = ((color >> 8) & 0xFF) / 255f;
        float b = (color & 0xFF) / 255f;
        GL11.glColor4f(r, g, b, a);
    }
}

:summyrose:
// Прямые битовые операции (без ColorUtils)
 
Обратите внимание, пользователь заблокирован на форуме. Не рекомендуется проводить сделки.
круто 3 месяца говоришь делал а че там 3 месяца делать да и через нейронку?) это если че за 2 минуты делается в том же самом тандер хаке лежит он какой же ты пиздабол
 
Обратите внимание, пользователь заблокирован на форуме. Не рекомендуется проводить сделки.
круто 3 месяца говоришь делал а че там 3 месяца делать да и через нейронку?) это если че за 2 минуты делается в том же самом тандер хаке лежит он какой же ты пиздабол
ОЧЕВИДНЫЙ РОФЛ НЕ ВЫКУПИЛ...
 
Обратите внимание, пользователь заблокирован на форуме. Не рекомендуется проводить сделки.
Обратите внимание, пользователь заблокирован на форуме. Не рекомендуется проводить сделки.
Вы дождались этой легендарной функции..
я ее делал типо 3 месяца парни пж лайки моей любимой зайке.

ss -

PastaESP:
Expand Collapse Copy
package aurora.feature.impl.combat;

import aurora.events.WorldEvent;
import aurora.feature.helper.feature.Category;
import aurora.feature.helper.impl.CheckBoxSetting;
import aurora.feature.helper.impl.ColorSetting;
import aurora.feature.helper.impl.SliderSetting;
import aurora.feature.helper.main.Feature;
import aurora.feature.helper.main.FeatureAdd;
import aurora.util.visual.main.color.ColorUtils;
import com.google.common.eventbus.Subscribe;
import com.mojang.blaze3d.matrix.MatrixStack;
import net.minecraft.client.renderer.entity.EntityRendererManager;
import net.minecraft.entity.Entity;
import net.minecraft.entity.player.PlayerEntity;
import net.minecraft.util.math.vector.Vector3d;
import org.lwjgl.opengl.GL11;

/**
make by me 12.10.2025
 */
@FeatureAdd(name = "PenisESP", type = Category.Render)
public class PenisESP extends Feature {

private final CheckBoxSetting onlyOwn = new CheckBoxSetting("Только свой", false);

private final SliderSetting penisLength = new SliderSetting("Длина", 1.5f, 0.1f, 3.0f, 0.1f);
private final SliderSetting penisThickness = new SliderSetting("Толщина", 0.07f, 0.01f, 0.3f, 0.01f);
private final SliderSetting ballSize = new SliderSetting("Размер яиц", 0.15f, 0.05f, 0.5f, 0.01f);
private final SliderSetting gradation = new SliderSetting("Градация (сглаженность)", 30f, 10f, 100f, 1f);

private final ColorSetting penisColor = new ColorSetting("Цвет", -1);
private final ColorSetting headColor = new ColorSetting("Цвет головки", -1);

public PenisESP() {
addSettings(onlyOwn, penisLength, penisThickness, ballSize, gradation, penisColor, headColor);
    }

@Subscribe
    public void onRenderWorldLast(WorldEvent e) {
        MatrixStack matrix = e.getMatrix();

for (PlayerEntity player : mc.world.getPlayers()) {
if (onlyOwn.get() && player != mc.player) continue;
            drawPenisESP(player);
        }
    }

private Vector3d interpolate(Entity entity) {
double x = entity.prevPosX + (entity.getPosX() - entity.prevPosX) * mc.getRenderPartialTicks();
double y = entity.prevPosY + (entity.getPosY() - entity.prevPosY) * mc.getRenderPartialTicks();
double z = entity.prevPosZ + (entity.getPosZ() - entity.prevPosZ) * mc.getRenderPartialTicks();
return new Vector3d(x, y, z);
    }

private void drawPenisESP(PlayerEntity player) {
EntityRendererManager rm = mc.getRenderManager();
Vector3d base = interpolate(player).subtract(rm.info.getProjectedView());

double yaw = Math.toRadians(-player.rotationYaw);
double penisLen = penisLength.get();
double penisWidth = penisThickness.get();
double balls = ballSize.get();
Vector3d basePos = base.add(0, player.getHeight() / 2.4, 0);
Vector3d forward = new Vector3d(Math.sin(yaw), 0, Math.cos(yaw));
Vector3d left = basePos.add(Math.sin(yaw - Math.PI / 2) * balls * 0.9, -balls * 0.1, Math.cos(yaw - Math.PI / 2) * balls * 0.9);
Vector3d right = basePos.add(Math.sin(yaw + Math.PI / 2) * balls * 0.9, -balls * 0.1, Math.cos(yaw + Math.PI / 2) * balls * 0.9);
double offset = 0.1 + (balls * 0.5);
if (offset > 0.25) offset = 0.25;
if (offset < 0.1) offset = 0.1;
Vector3d start = basePos.add(forward.scale(offset)).add(0, balls * 0.15, 0);
        Vector3d tip = start.add(forward.scale(penisLen));
drawSphere(left, balls, gradation.get().intValue(), penisColor.get(), 0);
drawSphere(right, balls, gradation.get().intValue(), penisColor.get(), 0);
drawCylinder(start, tip, penisWidth, penisColor.get());
drawSphere(tip, balls * 0.8, gradation.get().intValue(), headColor.get(), 2);
    }


private void drawSphere(Vector3d pos, double radius, int grad, int color, int stage) {
GL11.glPushMatrix();
GL11.glDisable(GL11.GL_TEXTURE_2D);
GL11.glEnable(GL11.GL_BLEND);
GL11.glDisable(GL11.GL_DEPTH_TEST);
GL11.glBlendFunc(GL11.GL_SRC_ALPHA, GL11.GL_ONE_MINUS_SRC_ALPHA);
        setColor(color);

for (float alpha = 0; alpha < Math.PI; alpha += Math.PI / grad) {
for (float beta = 0; beta < 2.0 * Math.PI; beta += Math.PI / grad) {
double x1 = pos.x + (radius * Math.cos(beta) * Math.sin(alpha));
double y1 = pos.y + (radius * Math.sin(beta) * Math.sin(alpha));
double z1 = pos.z + (radius * Math.cos(alpha));

double sin = Math.sin(alpha + Math.PI / grad);
double x2 = pos.x + (radius * Math.cos(beta) * sin);
double y2 = pos.y + (radius * Math.sin(beta) * sin);
double z2 = pos.z + (radius * Math.cos(alpha + Math.PI / grad));

GL11.glBegin(GL11.GL_LINES);
GL11.glVertex3d(x1, y1, z1);
GL11.glVertex3d(x2, y2, z2);
GL11.glEnd();
            }
        }

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

private void drawCylinder(Vector3d start, Vector3d end, double radius, int color) {
GL11.glPushMatrix();
GL11.glDisable(GL11.GL_TEXTURE_2D);
GL11.glEnable(GL11.GL_BLEND);
GL11.glDisable(GL11.GL_DEPTH_TEST);
GL11.glBlendFunc(GL11.GL_SRC_ALPHA, GL11.GL_ONE_MINUS_SRC_ALPHA);
        setColor(color);

int slices = 20;
for (int i = 0; i < 360; i += 360 / slices) {
double a1 = Math.toRadians(i);
double a2 = Math.toRadians(i + 360 / slices);

double x1s = start.x + radius * Math.cos(a1);
double z1s = start.z + radius * Math.sin(a1);
double x2s = start.x + radius * Math.cos(a2);
double z2s = start.z + radius * Math.sin(a2);

double x1e = end.x + radius * Math.cos(a1);
double z1e = end.z + radius * Math.sin(a1);
double x2e = end.x + radius * Math.cos(a2);
double z2e = end.z + radius * Math.sin(a2);

GL11.glBegin(GL11.GL_LINES);
GL11.glVertex3d(x1s, start.y, z1s);
GL11.glVertex3d(x1e, end.y, z1e);
GL11.glVertex3d(x1s, start.y, z1s);
GL11.glVertex3d(x2s, start.y, z2s);
GL11.glVertex3d(x1e, end.y, z1e);
GL11.glVertex3d(x2e, end.y, z2e);
GL11.glEnd();
        }

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

private void setColor(int color) {
float a = (ColorUtils.getAlpha(color) / 255f);
float r = (ColorUtils.getRed(color) / 255f);
float g = (ColorUtils.getGreen(color) / 255f);
float b = (ColorUtils.getBlue(color) / 255f);
GL11.glColor4f(r, g, b, a);
    }
}
бля что за хуйню ты делаешь продолжай мне нравится
 

Похожие темы

Назад
Сверху Снизу