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

Обратите внимание, пользователь заблокирован на форуме. Не рекомендуется проводить сделки.
Обратите внимание, пользователь заблокирован на форуме. Не рекомендуется проводить сделки.
сложно же наверное это сделать? хотя ты прав, пастеры сожрут
Братишь я выше скрин кидал что они у меня ещё с 28 сентября или октября так что то что ты сказал можно назвать неоправданным обвинением
братик код сравни
и еще щас скрин приложу что они у меня раньше появились
Посмотреть вложение 297741
Вот и скрин пацаны
 
Последнее редактирование:
/del no ss
и кому нахуй нужен предикт когда любой еблан напишет
 
/del no ss
и кому нахуй нужен предикт когда любой еблан напишет
Ты по любой хуйня будешь /del писать или чё я же написал как в Нурсултане и напишет их не любой еблан судя по этому форуму тем же новичкам будет полезно
Иди блять попкорна под комментарии ставь а не людям хуйню пиши
 
Последнее редактирование:
Ты по любой хуйня будешь /del писать или чё я же написал как в Нурсултане и напишет их не любой еблан судя по этому форуму тем же новичкам будет полезно

Иди блять попкорна под комментарии ставь а не людям хуйню пиши
xD moment каратель ты блять просто деф пастер 3.1 и ты хочешь что-то мне сказать
 
Привет мне кажется ты у меня спиздил :fearscream:
 
Привет мне кажется ты у меня спиздил :fearscream:
Даты чекни я скрин выше кидал
xD moment каратель ты блять просто деф пастер 3.1 и ты хочешь что-то мне сказать
Фанлес не тебе судить вот честно шел бы ты нахуй со своими /del пастерам зайдет а на таких высоких(нет) личностей как ты мне абсолютно плевать ты думаешь что если написал что то на фордже а не на экспе то все ты блять кодер от бога нахуй но это не так
Привет мне кажется ты у меня спиздил :fearscream:
И ещё мои предметы были сделаны 28 сентября прошлого года броу даже раньше
 
вот этот тип лучше всех релизовал
1738657325034.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;
}
}
Надеюсь высокие личности не будут в этой теме выёбываться всем удачки!
чел это не ты писал это спащено :roflanEbalo:
 
Ладно покормлю югейм нормальными предикшенами как в нурике
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;
}
}
Надеюсь высокие личности не будут в этой теме выёбываться всем удачки!
ХВХЫХЫХЫХЫ РЕНДЕР ПЕРЛА ПНГШКОЙ
 
Назад
Сверху Снизу