-
Автор темы
- #1
- Выберите загрузчик игры
- Прочие моды
Перед прочтением основного контента ниже, пожалуйста, обратите внимание на обновление внутри секции Майна на нашем форуме. У нас появились:
- бесплатные читы для Майнкрафт — любое использование на свой страх и риск;
- маркетплейс Майнкрафт — абсолютно любая коммерция, связанная с игрой, за исключением продажи читов (аккаунты, предоставления услуг, поиск кодеров читов и так далее);
- приватные читы для Minecraft — в этом разделе только платные хаки для игры, покупайте группу "Продавец" и выставляйте на продажу свой софт;
- обсуждения и гайды — всё тот же раздел с вопросами, но теперь модернизированный: поиск нужных хаков, пати с игроками-читерами и другая полезная информация.
Спасибо!
Пожалуйста, авторизуйтесь для просмотра ссылки.
Trails:
//
// Source code recreated from a .class file by IntelliJ IDEA
// (powered by FernFlower decompiler)
//
package nig.neverclose.functions.impl.render;
import com.google.common.eventbus.Subscribe;
import com.mojang.blaze3d.systems.RenderSystem;
import java.util.List;
import net.minecraft.client.entity.player.ClientPlayerEntity;
import net.minecraft.client.settings.PointOfView;
import net.minecraft.entity.Entity;
import net.minecraft.entity.player.PlayerEntity;
import net.minecraft.util.math.vector.Vector3d;
import org.lwjgl.opengl.GL11;
import nig.neverclose.events.WorldEvent;
import nig.neverclose.functions.api.Category;
import nig.neverclose.functions.api.Function;
import nig.neverclose.functions.api.FunctionRegister;
import nig.neverclose.functions.settings.Setting;
import nig.neverclose.functions.settings.impl.BooleanSetting;
import nig.neverclose.functions.settings.impl.ModeSetting;
import nig.neverclose.functions.settings.impl.SliderSetting;
import nig.neverclose.utils.math.MathUtil;
import nig.neverclose.utils.math.StopWatch;
import nig.neverclose.utils.render.ColorUtils;
@FunctionRegister(
name = "Trails",
type = Category.Render
)
public class Trails extends Function {
private final BooleanSetting hider = new BooleanSetting("Скрывать в 1 лице", true);
public ModeSetting mod = new ModeSetting("Мод", "Обычный", new String[]{"Обычный", "Линия", "Хвост"});
public SliderSetting pointsTime = new SliderSetting("Длина", 500.0F, 165.0F, 2200.0F, 0.5F);
public SliderSetting tolshina = new SliderSetting("Размер поинтов", 30.0F, 10.0F, 55.0F, 0.5F);
private Vector3d lastPoint = null;
public Trails() {
this.addSettings(new Setting[]{this.hider, this.pointsTime, this.mod, this.tolshina});
}
[USER=1474073]@Subscribe[/USER]
public void onRender(WorldEvent event) {
float pointsi = (Float)this.pointsTime.get();
for(PlayerEntity entity : mc.world.getPlayers()) {
entity.points.removeIf((p) -> p.time.isReached((long)pointsi));
if (entity instanceof ClientPlayerEntity && (!(Boolean)this.hider.get() || entity != mc.player || mc.gameSettings.getPointOfView() != PointOfView.FIRST_PERSON)) {
Vector3d player = new Vector3d(MathUtil.interpolate(entity.getPosX(), entity.lastTickPosX, (double)event.getPartialTicks()), MathUtil.interpolate(entity.getPosY(), entity.lastTickPosY, (double)event.getPartialTicks()), MathUtil.interpolate(entity.getPosZ(), entity.lastTickPosZ, (double)event.getPartialTicks()));
if (this.lastPoint == null || this.lastPoint.distanceTo(player) > 1.0E-8) {
entity.points.add(new Point(player));
this.lastPoint = player;
}
}
}
RenderSystem.pushMatrix();
Vector3d projection = mc.getRenderManager().info.getProjectedView();
RenderSystem.translated(-projection.x, -projection.y, -projection.z);
RenderSystem.enableBlend();
RenderSystem.disableCull();
RenderSystem.disableTexture();
RenderSystem.blendFunc(770, 771);
RenderSystem.shadeModel(7425);
RenderSystem.disableAlphaTest();
RenderSystem.depthMask(false);
RenderSystem.lineWidth(3.0F);
GL11.glEnable(2848);
GL11.glHint(3154, 4354);
for(Entity entity1 : mc.world.getAllEntities()) {
if (this.mod.is("Обычный")) {
GL11.glBegin(8);
} else if (this.mod.is("Линия")) {
GL11.glBegin(3);
} else if (this.mod.is("Хвост")) {
GL11.glEnable(2832);
GL11.glHint(3153, 4354);
float tolshinaa = (Float)this.tolshina.get();
GL11.glPointSize(tolshinaa);
GL11.glBegin(0);
}
List<Point> points = entity1.points;
for(Point point : points) {
float index = (float)points.indexOf(point);
float alpha = index / (float)points.size();
ColorUtils.setAlphaColor(HUD.getColor(points.indexOf(point), 2.0F), alpha * 0.5F);
if (this.mod.is("Хвост")) {
double offsetY = (double)0.8F;
GL11.glVertex3d(point.getPosition().x, point.getPosition().y + offsetY, point.getPosition().z);
} else {
GL11.glVertex3d(point.getPosition().x, point.getPosition().y, point.getPosition().z);
}
if (this.mod.is("Обычный")) {
GL11.glVertex3d(point.getPosition().x, point.getPosition().y + (double)entity1.getHeight(), point.getPosition().z);
}
}
GL11.glEnd();
}
GL11.glHint(3154, 4352);
GL11.glDisable(2848);
RenderSystem.enableTexture();
RenderSystem.disableBlend();
RenderSystem.enableAlphaTest();
RenderSystem.enableCull();
RenderSystem.shadeModel(7424);
RenderSystem.depthMask(true);
RenderSystem.popMatrix();
}
public class Point {
private final Vector3d position;
private final StopWatch time = new StopWatch();
public Point(Vector3d position) {
this.position = position;
}
public Vector3d getPosition() {
return this.position;
}
public StopWatch getTime() {
return this.time;
}
}
}