-
Автор темы
- #1
Перед прочтением основного контента ниже, пожалуйста, обратите внимание на обновление внутри секции Майна на нашем форуме. У нас появились:
- бесплатные читы для Майнкрафт — любое использование на свой страх и риск;
- маркетплейс Майнкрафт — абсолютно любая коммерция, связанная с игрой, за исключением продажи читов (аккаунты, предоставления услуг, поиск кодеров читов и так далее);
- приватные читы для Minecraft — в этом разделе только платные хаки для игры, покупайте группу "Продавец" и выставляйте на продажу свой софт;
- обсуждения и гайды — всё тот же раздел с вопросами, но теперь модернизированный: поиск нужных хаков, пати с игроками-читерами и другая полезная информация.
Спасибо!
Сливчик JumpCircle с анимацией появления и прочим
все кайф но нету анимации исчезновения!
из плюсов - не требует каких-то дополнительный утилит в проекте кроме базы модуля так-что спастить подобное изи.
Код:
все кайф но нету анимации исчезновения!
из плюсов - не требует каких-то дополнительный утилит в проекте кроме базы модуля так-что спастить подобное изи.
Пожалуйста, авторизуйтесь для просмотра ссылки.
Код:
Java:
package com.xiksam.nullclient.Hacks;
import com.mojang.blaze3d.matrix.MatrixStack;
import com.mojang.blaze3d.systems.RenderSystem;
import com.xiksam.nullclient.MCModule.MCModule;
import net.minecraft.client.entity.player.ClientPlayerEntity;
import net.minecraft.client.renderer.BufferBuilder;
import net.minecraft.client.renderer.Tessellator;
import net.minecraft.util.ResourceLocation;
import net.minecraft.util.math.vector.Quaternion;
import net.minecraft.util.math.vector.Vector3d;
import net.minecraft.util.math.vector.Vector3f;
import net.minecraftforge.client.event.RenderWorldLastEvent;
import net.minecraftforge.event.entity.living.LivingEvent;
import net.minecraftforge.eventbus.api.SubscribeEvent;
import org.lwjgl.opengl.GL11;
import java.awt.*;
import java.util.ArrayList;
import java.util.Collections;
import java.util.List;
import static com.xiksam.nullclient.Utils.ColorUtils3.lerp;
import static com.xiksam.nullclient.Utils.ColorUtils3.rgba;
import static net.minecraft.client.renderer.vertex.DefaultVertexFormats.POSITION_TEX_COLOR;
import static org.lwjgl.opengl.GL11.GL_QUADS;
public class Jumpcircle extends MCModule {
public Jumpcircle() {
super("JumpCircle", 0, Category.RENDER);
}
//Слив джамп кружка на 1.16.5 фордж не MCP
//из минусов нету анимации пропадения
private List<Circle> circleList = new ArrayList<>();
public ResourceLocation textureCircle = new ResourceLocation("minecraft", "textures/glow.png");// замените на свой путь к текстуре
public Color circleColor = new Color(0xA8FF0000, true); //замените на фалс если цвет непрозрачный
public int lifeTime = 2500;
public float speedRotation = 260f;
public float circleSize = 1.2f;
@Override
public void onDisable() {
circleList.clear();
super.onDisable();
}
@SubscribeEvent
public void onJump(LivingEvent.LivingJumpEvent event) {
if (event.getEntityLiving() instanceof ClientPlayerEntity) {
ClientPlayerEntity clientPlayer = (ClientPlayerEntity) event.getEntityLiving();
if (clientPlayer.isOnGround()) {
circleList.add(new Circle(new Vector3d(clientPlayer.getX(), clientPlayer.getY(), clientPlayer.getZ()), 0f, System.currentTimeMillis(), true));
}
}
}
@SubscribeEvent
public void worldRender(RenderWorldLastEvent event) {
MatrixStack matrixStack = event.getMatrixStack();
double ix = -mc.gameRenderer.getMainCamera().getPosition().x();
double iy = -mc.gameRenderer.getMainCamera().getPosition().y();
double iz = -mc.gameRenderer.getMainCamera().getPosition().z();
long currentTime = System.currentTimeMillis();
Collections.reverse(circleList);
for (Circle circle : circleList) {
double x = circle.vector3d.x();
double y = circle.vector3d.y();
double z = circle.vector3d.z();
long age = currentTime - circle.getCreationTime();
float size;
if (circle.isGrowing()) {
size = lerp(0, circleSize, Math.min(age / 1000f, 1));
} else {
size = lerp(circleSize, 0, Math.min((age - 3000) / 1000f, 1));
}
if (age < lifeTime) {
Tessellator tessellator = Tessellator.getInstance();
BufferBuilder buffer = tessellator.getBuilder();
matrixStack.pushPose();
matrixStack.translate(ix, iy, iz);
matrixStack.translate(x, y + 0.1F, z);
float rotation = (age / 2000f) * speedRotation;
matrixStack.mulPose(new Quaternion(new Vector3f(0, 1, 0), rotation, true));
RenderSystem.enableBlend();
RenderSystem.disableAlphaTest();
RenderSystem.depthMask(false);
GL11.glAlphaFunc(GL11.GL_GREATER, .02F);
GL11.glDisable(GL11.GL_POINT_SMOOTH);
int[] c = rgba(circleColor.getRGB());
float alpha = 1.0f;
RenderSystem.blendFuncSeparate(GL11.GL_SRC_ALPHA, GL11.GL_ONE_MINUS_SRC_ALPHA, GL11.GL_ONE, GL11.GL_ZERO);
RenderSystem.enableDepthTest();
buffer.begin(GL_QUADS, POSITION_TEX_COLOR);
mc.getTextureManager().bind(textureCircle);
buffer.vertex(matrixStack.last().pose(), -size / 2, 0, -size / 2).uv(0, 0).color(c[0], c[1], c[2], (int) (c[3] * alpha)).endVertex();
buffer.vertex(matrixStack.last().pose(), -size / 2, 0, size / 2).uv(0, 1).color(c[0], c[1], c[2], (int) (c[3] * alpha)).endVertex();
buffer.vertex(matrixStack.last().pose(), size / 2, 0, size / 2).uv(1, 1).color(c[0], c[1], c[2], (int) (c[3] * alpha)).endVertex();
buffer.vertex(matrixStack.last().pose(), size / 2, 0, -size / 2).uv(1, 0).color(c[0], c[1], c[2], (int) (c[3] * alpha)).endVertex();
tessellator.end();
RenderSystem.enableBlend();
RenderSystem.disableBlend();
RenderSystem.depthMask(true);
matrixStack.popPose();
}
}
Collections.reverse(circleList);
}
public static class Circle {
private Vector3d vector3d;
private float factor;
private long creationTime;
private boolean growing;
public Circle(Vector3d vector3d, float factor, long creationTime, boolean growing) {
this.vector3d = vector3d;
this.factor = factor;
this.creationTime = creationTime;
this.growing = growing;
}
public Vector3d getVector3d() {
return vector3d;
}
public float getFactor() {
return factor;
}
public void setFactor(float factor) {
this.factor = factor;
}
public long getCreationTime() {
return creationTime;
}
public boolean isGrowing() {
return growing;
}
}
}
Последнее редактирование: