Часть функционала Predictions exp 3.1 ready

Начинающий
Начинающий
Статус
Оффлайн
Регистрация
11 Май 2024
Сообщения
270
Реакции
3

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

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

Спасибо!

Ладно покормлю югейм нормальными предикшенами как в нурике
SelfCode by karatel:
Expand Collapse Copy
package dev.Kainer.functions.impl.render;

import com.google.common.eventbus.Subscribe;
import dev.Kainer.functions.settings.impl.ColorSetting;
import dev.Kainer.utils.client.IMinecraft;
import net.minecraft.client.renderer.ItemModelMesher;
import net.minecraft.client.renderer.vertex.DefaultVertexFormats;
import net.minecraft.entity.Entity;
import net.minecraft.entity.item.EnderPearlEntity;
import net.minecraft.entity.player.PlayerEntity;
import net.minecraft.entity.projectile.ThrowableEntity;
import net.minecraft.item.Items;
import net.minecraft.util.ResourceLocation;
import net.minecraft.util.math.BlockRayTraceResult;
import net.minecraft.util.math.RayTraceContext;
import net.minecraft.util.math.RayTraceResult;
import net.minecraft.util.math.vector.Vector2f;
import net.minecraft.util.math.vector.Vector3d;
import dev.Kainer.events.EventDisplay;
import dev.Kainer.events.WorldEvent;
import dev.Kainer.functions.api.Category;
import dev.Kainer.functions.api.Function;
import dev.Kainer.functions.api.FunctionRegister;
import dev.Kainer.utils.math.Vector4i;
import dev.Kainer.utils.projections.ProjectionUtil;
import dev.Kainer.utils.render.ColorUtils;
import dev.Kainer.utils.render.DisplayUtils;
import dev.Kainer.utils.render.font.Fonts;
import net.minecraft.util.math.vector.Vector4f;

import java.util.ArrayList;
import java.util.List;

import static org.lwjgl.opengl.GL11.*;

@FunctionRegister(name = "Predictions", type = Category.Render)
public class Predictions extends Function {



public Predictions() {
addSettings();
}

record PearlPoint(Vector3d position, int ticks) {
}

final List<PearlPoint> pearlPoints = new ArrayList<>();

@Subscribe
public void aa(EventDisplay e) {
for (PearlPoint pearlPoint : pearlPoints) {
Vector3d pos = pearlPoint.position;
Vector2f projection = ProjectionUtil.project(pos.x, pos.y - 0.3F, pos.z);
int ticks = pearlPoint.ticks;


if (projection.equals(new Vector2f(Float.MAX_VALUE, Float.MAX_VALUE))) {
continue;
}

double time = ticks * 50 / 1000.0;
String text = String.format("%.1f" + " сек.", time);
float width = Fonts.montserrat.getWidth(text, 7);

float textWidth = width + 11 + 11;

float posX = projection.x - textWidth / 2;
float posX1 = projection.x / 2;
float posY = projection.y;

// DisplayUtils.drawRoundedRect(posX - 0.5f, posY + 2 - 0.5f, textWidth + 1, 16 + 1, new Vector4f(1,1,1,1), ColorUtils.rgba(24,24,24,10));

DisplayUtils.drawRoundedRect(posX + 3, posY + 2 - 3, textWidth - 4, 16 - 3, 0, ColorUtils.rgba(24, 24, 24, 80));
// DisplayUtils.drawRoundedRect(posX, posY + 2, textWidth, 16, new Vector4f(1,1,1,1), ColorUtils.rgba(162));

// mc.getItemRenderer().renderItemAndEffectIntoGUI(Items.ENDER_PEARL.getDefaultInstance(), (int) posX, (int) posY + 2);
DisplayUtils.drawImage(new ResourceLocation("textures/item/ender_pearl.png"), (int) posX + 5 , (int) posY + 2 + 2.4f - 4, 11 , 11, -1);
Fonts.montserrat.drawText(e.getMatrixStack(), text, (float) (posX + 18), (float) (posY + 6.5f - 4), -1, 7);
}
}

@Subscribe
public void onRender(WorldEvent event) {
glPushMatrix();

glDisable(GL_TEXTURE_2D);
glDisable(GL_DEPTH_TEST);

glEnable(GL_BLEND);
glEnable(GL_LINE_SMOOTH);

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

glTranslated(-renderOffset.x, -renderOffset.y, -renderOffset.z);

glLineWidth(3);

buffer.begin(1, DefaultVertexFormats.POSITION);

pearlPoints.clear();
for (Entity entity : mc.world.getAllEntities()) {
if (entity instanceof EnderPearlEntity throwable) {
Vector3d motion = throwable.getMotion();
Vector3d pos = throwable.getPositionVec();
Vector3d prevPos;
int ticks = 0;

for (int i = 0; i < 150; i++) {
prevPos = pos;
pos = pos.add(motion);
motion = getNextMotion(throwable, motion);
ColorUtils.setAlpha(ColorUtils.getColor(0),165);

buffer.pos(prevPos.x, prevPos.y, prevPos.z).endVertex();

RayTraceContext rayTraceContext = new RayTraceContext(
prevPos,
pos,
RayTraceContext.BlockMode.COLLIDER,
RayTraceContext.FluidMode.NONE,
throwable
);

BlockRayTraceResult blockHitResult = mc.world.rayTraceBlocks(rayTraceContext);

boolean isLast = blockHitResult.getType() == RayTraceResult.Type.BLOCK;

if (isLast) {
pos = blockHitResult.getHitVec();
}

buffer.pos(pos.x, pos.y, pos.z).endVertex();

if (blockHitResult.getType() == BlockRayTraceResult.Type.BLOCK || pos.y < -128) {
pearlPoints.add(new PearlPoint(pos, ticks));
break;
}
ticks++;
}
}
}

tessellator.draw();

glDisable(GL_BLEND);
glDisable(GL_LINE_SMOOTH);

glEnable(GL_TEXTURE_2D);
glEnable(GL_DEPTH_TEST);

glPopMatrix();
}

private Vector3d getNextMotion(ThrowableEntity throwable, Vector3d motion) {
if (throwable.isInWater()) {
motion = motion.scale(0.8);
} else {
motion = motion.scale(0.99);
}

if (!throwable.hasNoGravity()) {
motion.y -= throwable.getGravityVelocity();
}

return motion;
}
}
Надеюсь высокие личности не будут в этой теме выёбываться всем удачки!
 
Ладно покормлю югейм нормальными предикшенами как в нурике
SelfCode by karatel:
Expand Collapse Copy
package dev.Kainer.functions.impl.render;

import com.google.common.eventbus.Subscribe;
import dev.Kainer.functions.settings.impl.ColorSetting;
import dev.Kainer.utils.client.IMinecraft;
import net.minecraft.client.renderer.ItemModelMesher;
import net.minecraft.client.renderer.vertex.DefaultVertexFormats;
import net.minecraft.entity.Entity;
import net.minecraft.entity.item.EnderPearlEntity;
import net.minecraft.entity.player.PlayerEntity;
import net.minecraft.entity.projectile.ThrowableEntity;
import net.minecraft.item.Items;
import net.minecraft.util.ResourceLocation;
import net.minecraft.util.math.BlockRayTraceResult;
import net.minecraft.util.math.RayTraceContext;
import net.minecraft.util.math.RayTraceResult;
import net.minecraft.util.math.vector.Vector2f;
import net.minecraft.util.math.vector.Vector3d;
import dev.Kainer.events.EventDisplay;
import dev.Kainer.events.WorldEvent;
import dev.Kainer.functions.api.Category;
import dev.Kainer.functions.api.Function;
import dev.Kainer.functions.api.FunctionRegister;
import dev.Kainer.utils.math.Vector4i;
import dev.Kainer.utils.projections.ProjectionUtil;
import dev.Kainer.utils.render.ColorUtils;
import dev.Kainer.utils.render.DisplayUtils;
import dev.Kainer.utils.render.font.Fonts;
import net.minecraft.util.math.vector.Vector4f;

import java.util.ArrayList;
import java.util.List;

import static org.lwjgl.opengl.GL11.*;

@FunctionRegister(name = "Predictions", type = Category.Render)
public class Predictions extends Function {



public Predictions() {
addSettings();
}

record PearlPoint(Vector3d position, int ticks) {
}

final List<PearlPoint> pearlPoints = new ArrayList<>();

@Subscribe
public void aa(EventDisplay e) {
for (PearlPoint pearlPoint : pearlPoints) {
Vector3d pos = pearlPoint.position;
Vector2f projection = ProjectionUtil.project(pos.x, pos.y - 0.3F, pos.z);
int ticks = pearlPoint.ticks;


if (projection.equals(new Vector2f(Float.MAX_VALUE, Float.MAX_VALUE))) {
continue;
}

double time = ticks * 50 / 1000.0;
String text = String.format("%.1f" + " сек.", time);
float width = Fonts.montserrat.getWidth(text, 7);

float textWidth = width + 11 + 11;

float posX = projection.x - textWidth / 2;
float posX1 = projection.x / 2;
float posY = projection.y;

// DisplayUtils.drawRoundedRect(posX - 0.5f, posY + 2 - 0.5f, textWidth + 1, 16 + 1, new Vector4f(1,1,1,1), ColorUtils.rgba(24,24,24,10));

DisplayUtils.drawRoundedRect(posX + 3, posY + 2 - 3, textWidth - 4, 16 - 3, 0, ColorUtils.rgba(24, 24, 24, 80));
// DisplayUtils.drawRoundedRect(posX, posY + 2, textWidth, 16, new Vector4f(1,1,1,1), ColorUtils.rgba(162));

// mc.getItemRenderer().renderItemAndEffectIntoGUI(Items.ENDER_PEARL.getDefaultInstance(), (int) posX, (int) posY + 2);
DisplayUtils.drawImage(new ResourceLocation("textures/item/ender_pearl.png"), (int) posX + 5 , (int) posY + 2 + 2.4f - 4, 11 , 11, -1);
Fonts.montserrat.drawText(e.getMatrixStack(), text, (float) (posX + 18), (float) (posY + 6.5f - 4), -1, 7);
}
}

@Subscribe
public void onRender(WorldEvent event) {
glPushMatrix();

glDisable(GL_TEXTURE_2D);
glDisable(GL_DEPTH_TEST);

glEnable(GL_BLEND);
glEnable(GL_LINE_SMOOTH);

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

glTranslated(-renderOffset.x, -renderOffset.y, -renderOffset.z);

glLineWidth(3);

buffer.begin(1, DefaultVertexFormats.POSITION);

pearlPoints.clear();
for (Entity entity : mc.world.getAllEntities()) {
if (entity instanceof EnderPearlEntity throwable) {
Vector3d motion = throwable.getMotion();
Vector3d pos = throwable.getPositionVec();
Vector3d prevPos;
int ticks = 0;

for (int i = 0; i < 150; i++) {
prevPos = pos;
pos = pos.add(motion);
motion = getNextMotion(throwable, motion);
ColorUtils.setAlpha(ColorUtils.getColor(0),165);

buffer.pos(prevPos.x, prevPos.y, prevPos.z).endVertex();

RayTraceContext rayTraceContext = new RayTraceContext(
prevPos,
pos,
RayTraceContext.BlockMode.COLLIDER,
RayTraceContext.FluidMode.NONE,
throwable
);

BlockRayTraceResult blockHitResult = mc.world.rayTraceBlocks(rayTraceContext);

boolean isLast = blockHitResult.getType() == RayTraceResult.Type.BLOCK;

if (isLast) {
pos = blockHitResult.getHitVec();
}

buffer.pos(pos.x, pos.y, pos.z).endVertex();

if (blockHitResult.getType() == BlockRayTraceResult.Type.BLOCK || pos.y < -128) {
pearlPoints.add(new PearlPoint(pos, ticks));
break;
}
ticks++;
}
}
}

tessellator.draw();

glDisable(GL_BLEND);
glDisable(GL_LINE_SMOOTH);

glEnable(GL_TEXTURE_2D);
glEnable(GL_DEPTH_TEST);

glPopMatrix();
}

private Vector3d getNextMotion(ThrowableEntity throwable, Vector3d motion) {
if (throwable.isInWater()) {
motion = motion.scale(0.8);
} else {
motion = motion.scale(0.99);
}

if (!throwable.hasNoGravity()) {
motion.y -= throwable.getGravityVelocity();
}

return motion;
}
}
Надеюсь высокие личности не будут в этой теме выёбываться всем удачки!
аъАЪВЫХЪАЫВАВХЪЫЫВАЪХВЫАЪХЫВЪХА ЭТО СУКА С 4.0
 
аъАЪВЫХЪАЫВАВХЪЫЫВАЪХВЫАЪХЫВЪХА ЭТО СУКА С 4.0
Братик https://yougame.biz/threads/342135/
 

Братик https://yougame.biz/threads/342135/
братик код сравни
и еще щас скрин приложу что они у меня раньше появились
1738587400358.png
 
Ладно покормлю югейм нормальными предикшенами как в нурике
SelfCode by karatel:
Expand Collapse Copy
package dev.Kainer.functions.impl.render;

import com.google.common.eventbus.Subscribe;
import dev.Kainer.functions.settings.impl.ColorSetting;
import dev.Kainer.utils.client.IMinecraft;
import net.minecraft.client.renderer.ItemModelMesher;
import net.minecraft.client.renderer.vertex.DefaultVertexFormats;
import net.minecraft.entity.Entity;
import net.minecraft.entity.item.EnderPearlEntity;
import net.minecraft.entity.player.PlayerEntity;
import net.minecraft.entity.projectile.ThrowableEntity;
import net.minecraft.item.Items;
import net.minecraft.util.ResourceLocation;
import net.minecraft.util.math.BlockRayTraceResult;
import net.minecraft.util.math.RayTraceContext;
import net.minecraft.util.math.RayTraceResult;
import net.minecraft.util.math.vector.Vector2f;
import net.minecraft.util.math.vector.Vector3d;
import dev.Kainer.events.EventDisplay;
import dev.Kainer.events.WorldEvent;
import dev.Kainer.functions.api.Category;
import dev.Kainer.functions.api.Function;
import dev.Kainer.functions.api.FunctionRegister;
import dev.Kainer.utils.math.Vector4i;
import dev.Kainer.utils.projections.ProjectionUtil;
import dev.Kainer.utils.render.ColorUtils;
import dev.Kainer.utils.render.DisplayUtils;
import dev.Kainer.utils.render.font.Fonts;
import net.minecraft.util.math.vector.Vector4f;

import java.util.ArrayList;
import java.util.List;

import static org.lwjgl.opengl.GL11.*;

@FunctionRegister(name = "Predictions", type = Category.Render)
public class Predictions extends Function {



public Predictions() {
addSettings();
}

record PearlPoint(Vector3d position, int ticks) {
}

final List<PearlPoint> pearlPoints = new ArrayList<>();

@Subscribe
public void aa(EventDisplay e) {
for (PearlPoint pearlPoint : pearlPoints) {
Vector3d pos = pearlPoint.position;
Vector2f projection = ProjectionUtil.project(pos.x, pos.y - 0.3F, pos.z);
int ticks = pearlPoint.ticks;


if (projection.equals(new Vector2f(Float.MAX_VALUE, Float.MAX_VALUE))) {
continue;
}

double time = ticks * 50 / 1000.0;
String text = String.format("%.1f" + " сек.", time);
float width = Fonts.montserrat.getWidth(text, 7);

float textWidth = width + 11 + 11;

float posX = projection.x - textWidth / 2;
float posX1 = projection.x / 2;
float posY = projection.y;

// DisplayUtils.drawRoundedRect(posX - 0.5f, posY + 2 - 0.5f, textWidth + 1, 16 + 1, new Vector4f(1,1,1,1), ColorUtils.rgba(24,24,24,10));

DisplayUtils.drawRoundedRect(posX + 3, posY + 2 - 3, textWidth - 4, 16 - 3, 0, ColorUtils.rgba(24, 24, 24, 80));
// DisplayUtils.drawRoundedRect(posX, posY + 2, textWidth, 16, new Vector4f(1,1,1,1), ColorUtils.rgba(162));

// mc.getItemRenderer().renderItemAndEffectIntoGUI(Items.ENDER_PEARL.getDefaultInstance(), (int) posX, (int) posY + 2);
DisplayUtils.drawImage(new ResourceLocation("textures/item/ender_pearl.png"), (int) posX + 5 , (int) posY + 2 + 2.4f - 4, 11 , 11, -1);
Fonts.montserrat.drawText(e.getMatrixStack(), text, (float) (posX + 18), (float) (posY + 6.5f - 4), -1, 7);
}
}

@Subscribe
public void onRender(WorldEvent event) {
glPushMatrix();

glDisable(GL_TEXTURE_2D);
glDisable(GL_DEPTH_TEST);

glEnable(GL_BLEND);
glEnable(GL_LINE_SMOOTH);

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

glTranslated(-renderOffset.x, -renderOffset.y, -renderOffset.z);

glLineWidth(3);

buffer.begin(1, DefaultVertexFormats.POSITION);

pearlPoints.clear();
for (Entity entity : mc.world.getAllEntities()) {
if (entity instanceof EnderPearlEntity throwable) {
Vector3d motion = throwable.getMotion();
Vector3d pos = throwable.getPositionVec();
Vector3d prevPos;
int ticks = 0;

for (int i = 0; i < 150; i++) {
prevPos = pos;
pos = pos.add(motion);
motion = getNextMotion(throwable, motion);
ColorUtils.setAlpha(ColorUtils.getColor(0),165);

buffer.pos(prevPos.x, prevPos.y, prevPos.z).endVertex();

RayTraceContext rayTraceContext = new RayTraceContext(
prevPos,
pos,
RayTraceContext.BlockMode.COLLIDER,
RayTraceContext.FluidMode.NONE,
throwable
);

BlockRayTraceResult blockHitResult = mc.world.rayTraceBlocks(rayTraceContext);

boolean isLast = blockHitResult.getType() == RayTraceResult.Type.BLOCK;

if (isLast) {
pos = blockHitResult.getHitVec();
}

buffer.pos(pos.x, pos.y, pos.z).endVertex();

if (blockHitResult.getType() == BlockRayTraceResult.Type.BLOCK || pos.y < -128) {
pearlPoints.add(new PearlPoint(pos, ticks));
break;
}
ticks++;
}
}
}

tessellator.draw();

glDisable(GL_BLEND);
glDisable(GL_LINE_SMOOTH);

glEnable(GL_TEXTURE_2D);
glEnable(GL_DEPTH_TEST);

glPopMatrix();
}

private Vector3d getNextMotion(ThrowableEntity throwable, Vector3d motion) {
if (throwable.isInWater()) {
motion = motion.scale(0.8);
} else {
motion = motion.scale(0.99);
}

if (!throwable.hasNoGravity()) {
motion.y -= throwable.getGravityVelocity();
}

return motion;
}
}
Надеюсь высокие личности не будут в этой теме выёбываться всем удачки!
покормил мою пасту)
 
s
Ладно покормлю югейм нормальными предикшенами как в нурике
SelfCode by karatel:
Expand Collapse Copy
package dev.Kainer.functions.impl.render;

import com.google.common.eventbus.Subscribe;
import dev.Kainer.functions.settings.impl.ColorSetting;
import dev.Kainer.utils.client.IMinecraft;
import net.minecraft.client.renderer.ItemModelMesher;
import net.minecraft.client.renderer.vertex.DefaultVertexFormats;
import net.minecraft.entity.Entity;
import net.minecraft.entity.item.EnderPearlEntity;
import net.minecraft.entity.player.PlayerEntity;
import net.minecraft.entity.projectile.ThrowableEntity;
import net.minecraft.item.Items;
import net.minecraft.util.ResourceLocation;
import net.minecraft.util.math.BlockRayTraceResult;
import net.minecraft.util.math.RayTraceContext;
import net.minecraft.util.math.RayTraceResult;
import net.minecraft.util.math.vector.Vector2f;
import net.minecraft.util.math.vector.Vector3d;
import dev.Kainer.events.EventDisplay;
import dev.Kainer.events.WorldEvent;
import dev.Kainer.functions.api.Category;
import dev.Kainer.functions.api.Function;
import dev.Kainer.functions.api.FunctionRegister;
import dev.Kainer.utils.math.Vector4i;
import dev.Kainer.utils.projections.ProjectionUtil;
import dev.Kainer.utils.render.ColorUtils;
import dev.Kainer.utils.render.DisplayUtils;
import dev.Kainer.utils.render.font.Fonts;
import net.minecraft.util.math.vector.Vector4f;

import java.util.ArrayList;
import java.util.List;

import static org.lwjgl.opengl.GL11.*;

@FunctionRegister(name = "Predictions", type = Category.Render)
public class Predictions extends Function {



public Predictions() {
addSettings();
}

record PearlPoint(Vector3d position, int ticks) {
}

final List<PearlPoint> pearlPoints = new ArrayList<>();

@Subscribe
public void aa(EventDisplay e) {
for (PearlPoint pearlPoint : pearlPoints) {
Vector3d pos = pearlPoint.position;
Vector2f projection = ProjectionUtil.project(pos.x, pos.y - 0.3F, pos.z);
int ticks = pearlPoint.ticks;


if (projection.equals(new Vector2f(Float.MAX_VALUE, Float.MAX_VALUE))) {
continue;
}

double time = ticks * 50 / 1000.0;
String text = String.format("%.1f" + " сек.", time);
float width = Fonts.montserrat.getWidth(text, 7);

float textWidth = width + 11 + 11;

float posX = projection.x - textWidth / 2;
float posX1 = projection.x / 2;
float posY = projection.y;

// DisplayUtils.drawRoundedRect(posX - 0.5f, posY + 2 - 0.5f, textWidth + 1, 16 + 1, new Vector4f(1,1,1,1), ColorUtils.rgba(24,24,24,10));

DisplayUtils.drawRoundedRect(posX + 3, posY + 2 - 3, textWidth - 4, 16 - 3, 0, ColorUtils.rgba(24, 24, 24, 80));
// DisplayUtils.drawRoundedRect(posX, posY + 2, textWidth, 16, new Vector4f(1,1,1,1), ColorUtils.rgba(162));

// mc.getItemRenderer().renderItemAndEffectIntoGUI(Items.ENDER_PEARL.getDefaultInstance(), (int) posX, (int) posY + 2);
DisplayUtils.drawImage(new ResourceLocation("textures/item/ender_pearl.png"), (int) posX + 5 , (int) posY + 2 + 2.4f - 4, 11 , 11, -1);
Fonts.montserrat.drawText(e.getMatrixStack(), text, (float) (posX + 18), (float) (posY + 6.5f - 4), -1, 7);
}
}

@Subscribe
public void onRender(WorldEvent event) {
glPushMatrix();

glDisable(GL_TEXTURE_2D);
glDisable(GL_DEPTH_TEST);

glEnable(GL_BLEND);
glEnable(GL_LINE_SMOOTH);

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

glTranslated(-renderOffset.x, -renderOffset.y, -renderOffset.z);

glLineWidth(3);

buffer.begin(1, DefaultVertexFormats.POSITION);

pearlPoints.clear();
for (Entity entity : mc.world.getAllEntities()) {
if (entity instanceof EnderPearlEntity throwable) {
Vector3d motion = throwable.getMotion();
Vector3d pos = throwable.getPositionVec();
Vector3d prevPos;
int ticks = 0;

for (int i = 0; i < 150; i++) {
prevPos = pos;
pos = pos.add(motion);
motion = getNextMotion(throwable, motion);
ColorUtils.setAlpha(ColorUtils.getColor(0),165);

buffer.pos(prevPos.x, prevPos.y, prevPos.z).endVertex();

RayTraceContext rayTraceContext = new RayTraceContext(
prevPos,
pos,
RayTraceContext.BlockMode.COLLIDER,
RayTraceContext.FluidMode.NONE,
throwable
);

BlockRayTraceResult blockHitResult = mc.world.rayTraceBlocks(rayTraceContext);

boolean isLast = blockHitResult.getType() == RayTraceResult.Type.BLOCK;

if (isLast) {
pos = blockHitResult.getHitVec();
}

buffer.pos(pos.x, pos.y, pos.z).endVertex();

if (blockHitResult.getType() == BlockRayTraceResult.Type.BLOCK || pos.y < -128) {
pearlPoints.add(new PearlPoint(pos, ticks));
break;
}
ticks++;
}
}
}

tessellator.draw();

glDisable(GL_BLEND);
glDisable(GL_LINE_SMOOTH);

glEnable(GL_TEXTURE_2D);
glEnable(GL_DEPTH_TEST);

glPopMatrix();
}

private Vector3d getNextMotion(ThrowableEntity throwable, Vector3d motion) {
if (throwable.isInWater()) {
motion = motion.scale(0.8);
} else {
motion = motion.scale(0.99);
}

if (!throwable.hasNoGravity()) {
motion.y -= throwable.getGravityVelocity();
}

return motion;
}
}
Надеюсь высокие личности не будут в этой теме выёбываться всем удачки!
ss?
 
Как в нурике на перку

как в нурике на перку
нет, это не так, я спастил и выглядит точно также :roflanEbalo:
Как в нурике на перку

как в нурике на перку
в нурике партиклы летят за пёркой а тут просто линия как в деф экспе 3.1
 
Ладно покормлю югейм нормальными предикшенами как в нурике
SelfCode by karatel:
Expand Collapse Copy
package dev.Kainer.functions.impl.render;

import com.google.common.eventbus.Subscribe;
import dev.Kainer.functions.settings.impl.ColorSetting;
import dev.Kainer.utils.client.IMinecraft;
import net.minecraft.client.renderer.ItemModelMesher;
import net.minecraft.client.renderer.vertex.DefaultVertexFormats;
import net.minecraft.entity.Entity;
import net.minecraft.entity.item.EnderPearlEntity;
import net.minecraft.entity.player.PlayerEntity;
import net.minecraft.entity.projectile.ThrowableEntity;
import net.minecraft.item.Items;
import net.minecraft.util.ResourceLocation;
import net.minecraft.util.math.BlockRayTraceResult;
import net.minecraft.util.math.RayTraceContext;
import net.minecraft.util.math.RayTraceResult;
import net.minecraft.util.math.vector.Vector2f;
import net.minecraft.util.math.vector.Vector3d;
import dev.Kainer.events.EventDisplay;
import dev.Kainer.events.WorldEvent;
import dev.Kainer.functions.api.Category;
import dev.Kainer.functions.api.Function;
import dev.Kainer.functions.api.FunctionRegister;
import dev.Kainer.utils.math.Vector4i;
import dev.Kainer.utils.projections.ProjectionUtil;
import dev.Kainer.utils.render.ColorUtils;
import dev.Kainer.utils.render.DisplayUtils;
import dev.Kainer.utils.render.font.Fonts;
import net.minecraft.util.math.vector.Vector4f;

import java.util.ArrayList;
import java.util.List;

import static org.lwjgl.opengl.GL11.*;

@FunctionRegister(name = "Predictions", type = Category.Render)
public class Predictions extends Function {



public Predictions() {
addSettings();
}

record PearlPoint(Vector3d position, int ticks) {
}

final List<PearlPoint> pearlPoints = new ArrayList<>();

@Subscribe
public void aa(EventDisplay e) {
for (PearlPoint pearlPoint : pearlPoints) {
Vector3d pos = pearlPoint.position;
Vector2f projection = ProjectionUtil.project(pos.x, pos.y - 0.3F, pos.z);
int ticks = pearlPoint.ticks;


if (projection.equals(new Vector2f(Float.MAX_VALUE, Float.MAX_VALUE))) {
continue;
}

double time = ticks * 50 / 1000.0;
String text = String.format("%.1f" + " сек.", time);
float width = Fonts.montserrat.getWidth(text, 7);

float textWidth = width + 11 + 11;

float posX = projection.x - textWidth / 2;
float posX1 = projection.x / 2;
float posY = projection.y;

// DisplayUtils.drawRoundedRect(posX - 0.5f, posY + 2 - 0.5f, textWidth + 1, 16 + 1, new Vector4f(1,1,1,1), ColorUtils.rgba(24,24,24,10));

DisplayUtils.drawRoundedRect(posX + 3, posY + 2 - 3, textWidth - 4, 16 - 3, 0, ColorUtils.rgba(24, 24, 24, 80));
// DisplayUtils.drawRoundedRect(posX, posY + 2, textWidth, 16, new Vector4f(1,1,1,1), ColorUtils.rgba(162));

// mc.getItemRenderer().renderItemAndEffectIntoGUI(Items.ENDER_PEARL.getDefaultInstance(), (int) posX, (int) posY + 2);
DisplayUtils.drawImage(new ResourceLocation("textures/item/ender_pearl.png"), (int) posX + 5 , (int) posY + 2 + 2.4f - 4, 11 , 11, -1);
Fonts.montserrat.drawText(e.getMatrixStack(), text, (float) (posX + 18), (float) (posY + 6.5f - 4), -1, 7);
}
}

@Subscribe
public void onRender(WorldEvent event) {
glPushMatrix();

glDisable(GL_TEXTURE_2D);
glDisable(GL_DEPTH_TEST);

glEnable(GL_BLEND);
glEnable(GL_LINE_SMOOTH);

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

glTranslated(-renderOffset.x, -renderOffset.y, -renderOffset.z);

glLineWidth(3);

buffer.begin(1, DefaultVertexFormats.POSITION);

pearlPoints.clear();
for (Entity entity : mc.world.getAllEntities()) {
if (entity instanceof EnderPearlEntity throwable) {
Vector3d motion = throwable.getMotion();
Vector3d pos = throwable.getPositionVec();
Vector3d prevPos;
int ticks = 0;

for (int i = 0; i < 150; i++) {
prevPos = pos;
pos = pos.add(motion);
motion = getNextMotion(throwable, motion);
ColorUtils.setAlpha(ColorUtils.getColor(0),165);

buffer.pos(prevPos.x, prevPos.y, prevPos.z).endVertex();

RayTraceContext rayTraceContext = new RayTraceContext(
prevPos,
pos,
RayTraceContext.BlockMode.COLLIDER,
RayTraceContext.FluidMode.NONE,
throwable
);

BlockRayTraceResult blockHitResult = mc.world.rayTraceBlocks(rayTraceContext);

boolean isLast = blockHitResult.getType() == RayTraceResult.Type.BLOCK;

if (isLast) {
pos = blockHitResult.getHitVec();
}

buffer.pos(pos.x, pos.y, pos.z).endVertex();

if (blockHitResult.getType() == BlockRayTraceResult.Type.BLOCK || pos.y < -128) {
pearlPoints.add(new PearlPoint(pos, ticks));
break;
}
ticks++;
}
}
}

tessellator.draw();

glDisable(GL_BLEND);
glDisable(GL_LINE_SMOOTH);

glEnable(GL_TEXTURE_2D);
glEnable(GL_DEPTH_TEST);

glPopMatrix();
}

private Vector3d getNextMotion(ThrowableEntity throwable, Vector3d motion) {
if (throwable.isInWater()) {
motion = motion.scale(0.8);
} else {
motion = motion.scale(0.99);
}

if (!throwable.hasNoGravity()) {
motion.y -= throwable.getGravityVelocity();
}

return motion;
}
}
Надеюсь высокие личности не будут в этой теме выёбываться всем удачки!
код спащеный, так еще это можно было сделать проще, /del
Как в нурике на перку

как в нурике на перку
ты уж точно уже не входишь в адекватных людей
 
давай братишь откуда пастил?
exp 4.0
Ладно покормлю югейм нормальными предикшенами как в нурике
SelfCode by karatel:
Expand Collapse Copy
package dev.Kainer.functions.impl.render;

import com.google.common.eventbus.Subscribe;
import dev.Kainer.functions.settings.impl.ColorSetting;
import dev.Kainer.utils.client.IMinecraft;
import net.minecraft.client.renderer.ItemModelMesher;
import net.minecraft.client.renderer.vertex.DefaultVertexFormats;
import net.minecraft.entity.Entity;
import net.minecraft.entity.item.EnderPearlEntity;
import net.minecraft.entity.player.PlayerEntity;
import net.minecraft.entity.projectile.ThrowableEntity;
import net.minecraft.item.Items;
import net.minecraft.util.ResourceLocation;
import net.minecraft.util.math.BlockRayTraceResult;
import net.minecraft.util.math.RayTraceContext;
import net.minecraft.util.math.RayTraceResult;
import net.minecraft.util.math.vector.Vector2f;
import net.minecraft.util.math.vector.Vector3d;
import dev.Kainer.events.EventDisplay;
import dev.Kainer.events.WorldEvent;
import dev.Kainer.functions.api.Category;
import dev.Kainer.functions.api.Function;
import dev.Kainer.functions.api.FunctionRegister;
import dev.Kainer.utils.math.Vector4i;
import dev.Kainer.utils.projections.ProjectionUtil;
import dev.Kainer.utils.render.ColorUtils;
import dev.Kainer.utils.render.DisplayUtils;
import dev.Kainer.utils.render.font.Fonts;
import net.minecraft.util.math.vector.Vector4f;

import java.util.ArrayList;
import java.util.List;

import static org.lwjgl.opengl.GL11.*;

@FunctionRegister(name = "Predictions", type = Category.Render)
public class Predictions extends Function {



public Predictions() {
addSettings();
}

record PearlPoint(Vector3d position, int ticks) {
}

final List<PearlPoint> pearlPoints = new ArrayList<>();

@Subscribe
public void aa(EventDisplay e) {
for (PearlPoint pearlPoint : pearlPoints) {
Vector3d pos = pearlPoint.position;
Vector2f projection = ProjectionUtil.project(pos.x, pos.y - 0.3F, pos.z);
int ticks = pearlPoint.ticks;


if (projection.equals(new Vector2f(Float.MAX_VALUE, Float.MAX_VALUE))) {
continue;
}

double time = ticks * 50 / 1000.0;
String text = String.format("%.1f" + " сек.", time);
float width = Fonts.montserrat.getWidth(text, 7);

float textWidth = width + 11 + 11;

float posX = projection.x - textWidth / 2;
float posX1 = projection.x / 2;
float posY = projection.y;

// DisplayUtils.drawRoundedRect(posX - 0.5f, posY + 2 - 0.5f, textWidth + 1, 16 + 1, new Vector4f(1,1,1,1), ColorUtils.rgba(24,24,24,10));

DisplayUtils.drawRoundedRect(posX + 3, posY + 2 - 3, textWidth - 4, 16 - 3, 0, ColorUtils.rgba(24, 24, 24, 80));
// DisplayUtils.drawRoundedRect(posX, posY + 2, textWidth, 16, new Vector4f(1,1,1,1), ColorUtils.rgba(162));

// mc.getItemRenderer().renderItemAndEffectIntoGUI(Items.ENDER_PEARL.getDefaultInstance(), (int) posX, (int) posY + 2);
DisplayUtils.drawImage(new ResourceLocation("textures/item/ender_pearl.png"), (int) posX + 5 , (int) posY + 2 + 2.4f - 4, 11 , 11, -1);
Fonts.montserrat.drawText(e.getMatrixStack(), text, (float) (posX + 18), (float) (posY + 6.5f - 4), -1, 7);
}
}

@Subscribe
public void onRender(WorldEvent event) {
glPushMatrix();

glDisable(GL_TEXTURE_2D);
glDisable(GL_DEPTH_TEST);

glEnable(GL_BLEND);
glEnable(GL_LINE_SMOOTH);

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

glTranslated(-renderOffset.x, -renderOffset.y, -renderOffset.z);

glLineWidth(3);

buffer.begin(1, DefaultVertexFormats.POSITION);

pearlPoints.clear();
for (Entity entity : mc.world.getAllEntities()) {
if (entity instanceof EnderPearlEntity throwable) {
Vector3d motion = throwable.getMotion();
Vector3d pos = throwable.getPositionVec();
Vector3d prevPos;
int ticks = 0;

for (int i = 0; i < 150; i++) {
prevPos = pos;
pos = pos.add(motion);
motion = getNextMotion(throwable, motion);
ColorUtils.setAlpha(ColorUtils.getColor(0),165);

buffer.pos(prevPos.x, prevPos.y, prevPos.z).endVertex();

RayTraceContext rayTraceContext = new RayTraceContext(
prevPos,
pos,
RayTraceContext.BlockMode.COLLIDER,
RayTraceContext.FluidMode.NONE,
throwable
);

BlockRayTraceResult blockHitResult = mc.world.rayTraceBlocks(rayTraceContext);

boolean isLast = blockHitResult.getType() == RayTraceResult.Type.BLOCK;

if (isLast) {
pos = blockHitResult.getHitVec();
}

buffer.pos(pos.x, pos.y, pos.z).endVertex();

if (blockHitResult.getType() == BlockRayTraceResult.Type.BLOCK || pos.y < -128) {
pearlPoints.add(new PearlPoint(pos, ticks));
break;
}
ticks++;
}
}
}

tessellator.draw();

glDisable(GL_BLEND);
glDisable(GL_LINE_SMOOTH);

glEnable(GL_TEXTURE_2D);
glEnable(GL_DEPTH_TEST);

glPopMatrix();
}

private Vector3d getNextMotion(ThrowableEntity throwable, Vector3d motion) {
if (throwable.isInWater()) {
motion = motion.scale(0.8);
} else {
motion = motion.scale(0.99);
}

if (!throwable.hasNoGravity()) {
motion.y -= throwable.getGravityVelocity();
}

return motion;
}
}
Надеюсь высокие личности не будут в этой теме выёбываться всем удачки!
это полный пиздец
Predictions как в нурике (почти) eva ready | Сайт читов, скриптов и кодов для онлайн игр - YouGame.Biz
сравните код
 
блять что ты сделал нахуй
1738604324238.png
 
Обратите внимание, пользователь заблокирован на форуме. Не рекомендуется проводить сделки.
Ну хоть что то годное слили
 
Обратите внимание, пользователь заблокирован на форуме. Не рекомендуется проводить сделки.
Назад
Сверху Снизу