Начинающий
- Статус
- Онлайн
- Регистрация
- 11 Янв 2026
- Сообщения
- 40
- Реакции
- 0
Код до
После обф
Без негатива только
Исходный код:
package Atheryx.client.module.impl.visual;
import Atheryx.client.event.EventHandler;
import Atheryx.client.event.list.render.Render3DEvent;
import Atheryx.client.module.Category;
import Atheryx.client.module.Module;
import Atheryx.client.module.ModuleInfo;
import Atheryx.client.module.setting.impl.*;
import Atheryx.client.util.render.main.Render3D;
import com.mojang.blaze3d.systems.RenderSystem;
import net.minecraft.client.render.*;
import net.minecraft.client.util.math.MatrixStack;
import net.minecraft.entity.Entity;
import net.minecraft.entity.TntEntity;
import net.minecraft.entity.decoration.EndCrystalEntity;
import net.minecraft.entity.projectile.thrown.PotionEntity;
import net.minecraft.util.Identifier;
import net.minecraft.util.hit.BlockHitResult;
import net.minecraft.util.hit.HitResult;
import net.minecraft.util.math.Vec3d;
import net.minecraft.world.RaycastContext;
import org.joml.Matrix4f;
import org.lwjgl.opengl.GL11;
import java.awt.*;
import java.util.ArrayList;
import java.util.List;
@ModuleInfo(name = "ItemRadius",
description = "Показывает радиус вещей в месте падения",
category = Category.VISUAL)
public class ItemRadius extends Module {
private static final MultiSetting MODE = new MultiSetting("Что показывать", "Зелья", "Кристаллы", "ТНТ");
private final ColorSetting tntColor = (ColorSetting) new ColorSetting("Цвет ТНТ", new Color(255, 50, 50, 121)).visibleWhen(MODE, "ТНТ");
private final ColorSetting crystalColor = (ColorSetting) new ColorSetting("Цвет Кристалла", new Color(200, 50, 255, 121)).visibleWhen(MODE, "Кристаллы");
private final ColorSetting potionColor = (ColorSetting) new ColorSetting("Цвет Зелья", new Color(147, 255, 121, 121)).visibleWhen(MODE, "Зелья");
public ItemRadius() {
addSetting(MODE,
tntColor, crystalColor, potionColor);
}
Render3D render3D = new Render3D();
private List<Vec3d> simulateTrajectory(Entity entity, double gravity, double drag, int maxTicks) {
List<Vec3d> points = new ArrayList<>();
Vec3d pos = entity.getPos();
double vx = entity.getVelocity().x;
double vy = entity.getVelocity().y;
double vz = entity.getVelocity().z;
points.add(pos);
for (int tick = 0; tick < maxTicks; tick++) {
vy -= gravity;
Vec3d nextPos = new Vec3d(pos.x + vx, pos.y + vy, pos.z + vz);
BlockHitResult hit = mc.world.raycast(new RaycastContext(
pos, nextPos,
RaycastContext.ShapeType.COLLIDER,
RaycastContext.FluidHandling.NONE,
entity
));
if (hit.getType() != HitResult.Type.MISS) {
points.add(hit.getPos());
return points;
}
pos = nextPos;
points.add(pos);
vx *= drag;
vy *= drag;
vz *= drag;
if (pos.y < mc.world.getBottomY() - 64) break;
}
return points;
}
@EventHandler
private void onRender(Render3DEvent event) {
if (mc.world == null || mc.player == null) return;
MatrixStack matrices = event.getMatrixStack();
if (MODE.isEnabled("ТНТ")) {
for (Entity entity : mc.world.getEntities()) {
if (entity instanceof TntEntity tntEntity) {
List<Vec3d> trajectory = simulateTrajectory(tntEntity, 0.04, 0.98, 500);
Vec3d landingPos = trajectory.get(trajectory.size() - 1).add(0, 0.1f, 0);
render3D.drawFilledCircle(matrices, landingPos, 4,
110, tntColor.getAwtColor());
render3D.drawCircle(matrices, landingPos, 4,
110, new Color(tntColor.getAwtColor().getRed(), tntColor.getAwtColor().getGreen(), tntColor.getAwtColor().getBlue(), 255), 0f);
}
}
}
if (MODE.isEnabled("Кристаллы")) {
for (Entity entity : mc.world.getEntities()) {
if (entity instanceof EndCrystalEntity crystalEntity) {
Vec3d pos = crystalEntity.getLerpedPos(event.getTickCounter()).add(0, 0.1f, 0);
render3D.drawFilledCircle(matrices, pos, 6,
110, crystalColor.getAwtColor());
render3D.drawCircle(matrices, pos, 6,
110, new Color(crystalColor.getAwtColor().getRed(), crystalColor.getAwtColor().getGreen(), crystalColor.getAwtColor().getBlue(), 255), 1f);
}
}
}
if (MODE.isEnabled("Зелья")) {
for (Entity entity : mc.world.getEntities()) {
if (entity instanceof PotionEntity potionEntity) {
List<Vec3d> trajectory = simulateTrajectory(potionEntity, 0.05, 0.99, 500);
Vec3d landingPos = trajectory.get(trajectory.size() - 1).add(0, 0.1f, 0);
render3D.drawFilledCircle(matrices, landingPos, 4,
110, potionColor.getAwtColor());
render3D.drawCircle(matrices, landingPos, 4,
110, new Color(potionColor.getAwtColor().getRed(), potionColor.getAwtColor().getGreen(), potionColor.getAwtColor().getBlue(), 255), 0f);
}
}
}
}
}
После обф
Без негатива только