-
Автор темы
- #1
Перед прочтением основного контента ниже, пожалуйста, обратите внимание на обновление внутри секции Майна на нашем форуме. У нас появились:
- бесплатные читы для Майнкрафт — любое использование на свой страх и риск;
- маркетплейс Майнкрафт — абсолютно любая коммерция, связанная с игрой, за исключением продажи читов (аккаунты, предоставления услуг, поиск кодеров читов и так далее);
- приватные читы для Minecraft — в этом разделе только платные хаки для игры, покупайте группу "Продавец" и выставляйте на продажу свой софт;
- обсуждения и гайды — всё тот же раздел с вопросами, но теперь модернизированный: поиск нужных хаков, пати с игроками-читерами и другая полезная информация.
Спасибо!
Код:
private ResourceLocation texture;
private static final int MAX_POINTS = 180;
private void Nursultan(final Event event) {
if (target != null && mc.player != null) {
if (event instanceof EventRender e && e.isRender3D()) {
try {
if (texture == null) {
IMinecraft.mc.getTextureManager().bindTexture(new ResourceLocation("expensive/images/bloom.png"));
}
mc.getTextureManager().bindTexture(texture);
EntityRendererManager rm = mc.getRenderManager();
double x = interpolate(target.lastTickPosX, target.getPosX(), e.partialTicks) - rm.info.getProjectedView().getX();
double y = interpolate(target.lastTickPosY, target.getPosY(), e.partialTicks) - rm.info.getProjectedView().getY();
double z = interpolate(target.lastTickPosZ, target.getPosZ(), e.partialTicks) - rm.info.getProjectedView().getZ();
float height = target.getHeight();
float rotationAngle = (System.currentTimeMillis() % 100000000) / 4;
setupRenderState();
float y23 = 0;
buffer.begin(GL_POINTS, DefaultVertexFormats.POSITION_TEX_COLOR);
double[] cosAngles = new double[MAX_POINTS + 1];
double[] sinAngles = new double[MAX_POINTS + 1];
float[] colors = new float[3];
for (int j = 0; j <= MAX_POINTS; j++) {
double angle = Math.toRadians(j);
cosAngles[j] = Math.cos(angle) * 1.2F;
sinAngles[j] = Math.sin(angle) * 1.2F;
}
for (int j = 0; j <= MAX_POINTS; j++) {
colors = RenderUtil.IntColor.rgb(Managment.STYLE_MANAGER.getCurrentStyle().getColor(j));
double rotatedX = rotateX(cosAngles[j], sinAngles[j], rotationAngle);
double rotatedZ = rotateZ(cosAngles[j], sinAngles[j], rotationAngle);
float u = (float) (j % 16) / 16.0F;
float v = (float) (j / 16) / 16.0F;
buffer.pos(x - rotatedX * 0.5, y - 1.5f + height - MathHelper.clamp(y23, -15, 1), z + rotatedZ * 0.5)
.tex(u, v)
.color(colors[0], colors[1], colors[2], 0.1F).endVertex();
buffer.pos(x + rotatedX * 0.5, y - 0.5 + height - MathHelper.clamp(y23, -15, 1), z + rotatedZ * 0.5)
.tex(u, v)
.color(colors[0], colors[1], colors[2], 0.1F).endVertex();
y23 -= 0.003F;
}
tessellator.draw();
restoreRenderState();
} catch (Exception ex) {
ex.printStackTrace();
}
}
}
}
private double interpolate(double start, double end, float partialTicks) {
return start + (end - start) * partialTicks;
}
private double rotateX(double cosAngle, double sinAngle, float rotationAngle) {
double angleRad = Math.toRadians(rotationAngle);
return cosAngle * Math.cos(angleRad) - sinAngle * Math.sin(angleRad);
}
private double rotateZ(double cosAngle, double sinAngle, float rotationAngle) {
double angleRad = Math.toRadians(rotationAngle);
return cosAngle * Math.sin(angleRad) + sinAngle * Math.cos(angleRad);
}
private void setupRenderState() {
RenderSystem.pushMatrix();
GL11.glDepthMask(false);
GL11.glEnable(GL11.GL_POINT_SMOOTH);
GL11.glPointSize(50);
RenderSystem.enableTexture();
RenderSystem.enableBlend();
RenderSystem.disableAlphaTest();
RenderSystem.shadeModel(GL11.GL_SMOOTH);
RenderSystem.disableCull();
}
private void restoreRenderState() {
RenderSystem.enableCull();
RenderSystem.disableBlend();
RenderSystem.disableTexture();
RenderSystem.enableAlphaTest();
GL11.glDepthMask(true);
GL11.glDisable(GL11.GL_POINT_SMOOTH);
RenderSystem.shadeModel(GL11.GL_FLAT);
RenderSystem.popMatrix();
}