-
Автор темы
- #1
Перед прочтением основного контента ниже, пожалуйста, обратите внимание на обновление внутри секции Майна на нашем форуме. У нас появились:
- бесплатные читы для Майнкрафт — любое использование на свой страх и риск;
- маркетплейс Майнкрафт — абсолютно любая коммерция, связанная с игрой, за исключением продажи читов (аккаунты, предоставления услуг, поиск кодеров читов и так далее);
- приватные читы для Minecraft — в этом разделе только платные хаки для игры, покупайте группу "Продавец" и выставляйте на продажу свой софт;
- обсуждения и гайды — всё тот же раздел с вопросами, но теперь модернизированный: поиск нужных хаков, пати с игроками-читерами и другая полезная информация.
Спасибо!
Java:
@FunctionRegister(name = "JumpCircle", type = Category.Render)
public class JumpCircle extends Function {
SliderSetting radius = new SliderSetting("Радиус круга", 1f, 0.2f, 4, 0.1f);
public JumpCircle(){
addSettings(radius);
}
private final CopyOnWriteArrayList<Circle> circles = new CopyOnWriteArrayList<>();
@Subscribe
private void onJump(JumpEvent e) {
circles.add(new Circle(mc.player.getPositon(mc.getRenderPartialTicks()).add(0,0.05, 0)));
}
private final ResourceLocation circle = new ResourceLocation("quantum/images/circle.png");
@Subscribe
private void onRender(WorldEvent e) {
double sin = Math.sin((double) System.currentTimeMillis() / 1000.0);
RenderSystem.pushMatrix();
RenderSystem.disableLighting();
RenderSystem.depthMask(false);
RenderSystem.enableBlend();
RenderSystem.shadeModel(7425);
RenderSystem.disableCull();
RenderSystem.disableAlphaTest();
RenderSystem.blendFuncSeparate(770, 1, 0, 1);
GlStateManager.translated(-mc.getRenderManager().info.getProjectedView().x, -mc.getRenderManager().info.getProjectedView().y,-mc.getRenderManager().info.getProjectedView().z);
// render
{
for (Circle c : circles) {
mc.getTextureManager().bindTexture(circle);
if (System.currentTimeMillis() - c.time > 3200) circles.remove(c);
long lifeTime = System.currentTimeMillis() - c.time;
c.animation.update();
float rad = (float) c.animation.getValue()/1.5f + radius.get();
Vector3d vector3d = c.vector3d;
vector3d = vector3d.add(-rad / 2f, 0 ,-rad / 2f);
buffer.begin(7, DefaultVertexFormats.POSITION_COLOR_TEX);
float fadeFactor = 1f - (lifeTime / 3200f);
int alpha = (int) (255 * fadeFactor);
buffer.pos(vector3d.x, vector3d.y, vector3d.z).color(ColorUtils.setAlpha(ColorUtils.getColor(5), alpha)).tex(0,0).endVertex();
buffer.pos(vector3d.x + rad, vector3d.y, vector3d.z).color(ColorUtils.setAlpha(ColorUtils.getColor(10), alpha)).tex(1,0).endVertex();
buffer.pos(vector3d.x + rad, vector3d.y, vector3d.z + rad).color(ColorUtils.setAlpha(ColorUtils.getColor(15), alpha)).tex(1,1).endVertex();
buffer.pos(vector3d.x, vector3d.y, vector3d.z + rad).color(ColorUtils.setAlpha(ColorUtils.getColor(20), alpha)).tex(0,1).endVertex();
buffer.pos(vector3d.x, vector3d.y, vector3d.z).color(ColorUtils.setAlpha(ColorUtils.getColor(5), alpha)).tex(0,0).endVertex();
buffer.pos(vector3d.x + rad, vector3d.y, vector3d.z).color(ColorUtils.setAlpha(ColorUtils.getColor(10), alpha)).tex(1,0).endVertex();
buffer.pos(vector3d.x + rad, vector3d.y, vector3d.z + rad).color(ColorUtils.setAlpha(ColorUtils.getColor(15), alpha)).tex(1,1).endVertex();
buffer.pos(vector3d.x, vector3d.y, vector3d.z + rad).color(ColorUtils.setAlpha(ColorUtils.getColor(20), alpha)).tex(0,1).endVertex();
tessellator.draw();
}
}
GlStateManager.disableBlend();
GlStateManager.shadeModel(7424);
GlStateManager.depthMask(true);
GlStateManager.enableAlphaTest();
GlStateManager.enableCull();
GlStateManager.popMatrix();
}
private class Circle {
private final Vector3d vector3d;
private final long time;
private final Animation animation = new Animation();
private boolean isBack;
public Circle(Vector3d vector3d) {
this.vector3d = vector3d;
time = System.currentTimeMillis();
animation.animate(10, 10, Easings.CIRC_OUT);
}
}
}
Пожалуйста, авторизуйтесь для просмотра ссылки.
Вложения
-
2.8 MB Просмотры: 60