Начинающий
-
Автор темы
- #1
Перед прочтением основного контента ниже, пожалуйста, обратите внимание на обновление внутри секции Майна на нашем форуме. У нас появились:
- бесплатные читы для Майнкрафт — любое использование на свой страх и риск;
- маркетплейс Майнкрафт — абсолютно любая коммерция, связанная с игрой, за исключением продажи читов (аккаунты, предоставления услуг, поиск кодеров читов и так далее);
- приватные читы для Minecraft — в этом разделе только платные хаки для игры, покупайте группу "Продавец" и выставляйте на продажу свой софт;
- обсуждения и гайды — всё тот же раздел с вопросами, но теперь модернизированный: поиск нужных хаков, пати с игроками-читерами и другая полезная информация.
Спасибо!
Кто может помогите сделать правильные рендер и оптимизировать
Код:
package a.impl.function.impl.render;
import a.impl.event.Event;
import a.impl.event.impl.JumpEvent;
import a.impl.event.impl.render.WorldRenderEvent;
import a.impl.function.Function;
import a.impl.function.FunctionInfo;
import a.impl.function.impl.EnumType;
import com.mojang.blaze3d.matrix.MatrixStack;
import com.mojang.blaze3d.platform.GlStateManager;
import com.mojang.blaze3d.systems.RenderSystem;
import lombok.AllArgsConstructor;
import net.minecraft.client.entity.player.ClientPlayerEntity;
import net.minecraft.client.renderer.BufferBuilder;
import net.minecraft.client.renderer.Tessellator;
import net.minecraft.client.renderer.vertex.DefaultVertexFormats;
import net.minecraft.util.ResourceLocation;
import net.minecraft.util.math.vector.Matrix4f;
import net.minecraft.util.math.vector.Quaternion;
import net.minecraft.util.math.vector.Vector3f;
import org.lwjgl.glfw.GLFW;
import org.lwjgl.opengl.GL30;
import java.awt.*;
import java.util.Collections;
import java.util.concurrent.CopyOnWriteArrayList;
@FunctionInfo(type = EnumType.RENDER, name = "JumpCircle")
public class JumpCircle extends Function {
public JumpCircle() {
setBind(GLFW.GLFW_KEY_G);
}
private CopyOnWriteArrayList<circle> circleList = new CopyOnWriteArrayList<>();
@Override
public void execute(Event event) {
assert mc.player != null;
if (event instanceof JumpEvent) {
ClientPlayerEntity player = mc.player;
circleList.add(new circle(new Vector3f((float) player.getPosX(), (float) player.getPosY(), (float) player.getPosZ()), 2));
}
if (event instanceof WorldRenderEvent) {
event.cancel();
if (circleList.size() == 1) circleList.remove(1);
circleList.forEach(circle -> render(((WorldRenderEvent) event).matrixStack, ((WorldRenderEvent) event).partialTicks));
}
}
public void render(MatrixStack matrixStack, float partialTicks) {
Collections.reverse(circleList);
for (circle circle : circleList) {
float x = circle.vector3f.getX(),
y = circle.vector3f.getY(),
z = circle.vector3f.getZ();
Tessellator tessellator = new Tessellator();
BufferBuilder buffer = tessellator.getBuffer();
matrixStack.push();
matrixStack.translate(x, y, z);
matrixStack.translate(
-mc.getRenderManager().info.getProjectedView().getX(),
-mc.getRenderManager().info.getProjectedView().getY(),
-mc.getRenderManager().info.getProjectedView().getX()
);
RenderSystem.depthMask(false);
RenderSystem.enableBlend();
RenderSystem.shadeModel(7425);
RenderSystem.disableAlphaTest();
GlStateManager.blendFuncSeparate(770, 1, 0, 1);
Color color = new Color(0xFF0000);
mc.getTextureManager().bindTexture(new ResourceLocation("textures/item/apple.png"));
buffer.begin(GL30.GL_QUADS, DefaultVertexFormats.POSITION_TEX_COLOR);
Matrix4f matrix4f = matrixStack.getLast().getMatrix();
buffer.pos(matrix4f, 0, 0, 0).tex(0, 0).color(
color.getRed() / 255F,
color.getGreen() / 255F,
color.getBlue() / 255F,
color.getAlpha() / 255F
).endVertex();
buffer.pos(matrix4f, 0, 0, 2).tex(0, 1).color(
color.getRed() / 255F,
color.getGreen() / 255F,
color.getBlue() / 255F,
color.getAlpha() / 255F
).endVertex();
buffer.pos(matrix4f, 2, 2, 2).tex(1, 1).color(
color.getRed() / 255F,
color.getGreen() / 255F,
color.getBlue() / 255F,
color.getAlpha() / 255F
).endVertex();
buffer.pos(matrix4f, 2, 0, 0).tex(1, 0).color(
color.getRed() / 255F,
color.getGreen() / 255F,
color.getBlue() / 255F,
color.getAlpha() / 255F
).endVertex();
tessellator.draw();
RenderSystem.enableAlphaTest();
RenderSystem.disableBlend();
RenderSystem.depthMask(true);
matrixStack.pop();
}
Collections.reverse(circleList);
}
@AllArgsConstructor
public static class circle {
public Vector3f vector3f;
public float factor = 0;
}
}