Начинающий
-
Автор темы
- #1
Перед прочтением основного контента ниже, пожалуйста, обратите внимание на обновление внутри секции Майна на нашем форуме. У нас появились:
- бесплатные читы для Майнкрафт — любое использование на свой страх и риск;
- маркетплейс Майнкрафт — абсолютно любая коммерция, связанная с игрой, за исключением продажи читов (аккаунты, предоставления услуг, поиск кодеров читов и так далее);
- приватные читы для Minecraft — в этом разделе только платные хаки для игры, покупайте группу "Продавец" и выставляйте на продажу свой софт;
- обсуждения и гайды — всё тот же раздел с вопросами, но теперь модернизированный: поиск нужных хаков, пати с игроками-читерами и другая полезная информация.
Спасибо!
SS -
NotificationManager:
package easylight.cc.notification;
import com.mojang.blaze3d.matrix.MatrixStack;
import easylight.cc.util.IMinecraft;
import easylight.cc.util.animations.Direction;
import easylight.cc.util.render.animation.AnimationMath;
import java.util.Iterator;
import java.util.concurrent.CopyOnWriteArrayList;
public class NotificationManager {
public final CopyOnWriteArrayList<Notification> notifications = new CopyOnWriteArrayList();
public NotificationManager() {
}
public void add(String var1, String var2, int var3) {
this.notifications.add(new Notification(this, var1, var2, var3));
}
public void draw(MatrixStack var1) {
int var2 = 0;
Iterator var3 = this.notifications.iterator();
while(var3.hasNext()) {
Notification var4 = (Notification)var3.next();
if (System.currentTimeMillis() - var4.getTime() > (long)var4.time2 * 500L - 300L) {
var4.animation.setDirection(Direction.BACKWARDS);
} else {
var4.animation.setDirection(Direction.FORWARDS);
}
var4.alpha = (float)var4.animation.getOutput();
if (System.currentTimeMillis() - var4.getTime() > (long)var4.time2 * 350L) {
var4.yAnimation.setDirection(Direction.BACKWARDS);
} else {
var4.yAnimation.setDirection(Direction.FORWARDS);
}
if (var4.yAnimation.finished(Direction.BACKWARDS)) {
this.notifications.remove(var4);
} else {
float var5 = (float)IMinecraft.mc.getMainWindow().scaledWidth() / 1.85F;
float var6 = (float)IMinecraft.mc.getMainWindow().scaledHeight() / 1.95F;
var4.yAnimation.setEndPoint((double)var2);
var4.yAnimation.setDuration(200);
var6 -= (float)((double)var4.draw(var1) * var4.yAnimation.getOutput());
var4.setX(var5);
var4.setY(AnimationMath.fast(var4.getY(), var6, 25.0F));
--var2;
}
}
}
}
Notification:
package easylight.cc.notification;
import com.mojang.blaze3d.matrix.MatrixStack;
import easylight.cc.util.IMinecraft;
import easylight.cc.util.animations.Animation;
import easylight.cc.util.animations.Direction;
import easylight.cc.util.animations.impl.DecelerateAnimation;
import easylight.cc.util.font.Fonts;
import easylight.cc.util.render.RenderUtil;
import easylight.cc.util.render.RenderUtil.Render2D;
import java.awt.Color;
public class Notification {
public float x;
public float y;
public String text;
public String content;
public long time;
public Animation animation;
public Animation yAnimation;
public float alpha;
public int time2;
public final NotificationManager this$0;
public Notification(NotificationManager var1, String var2, String var3, int var4) {
this.this$0 = var1;
this.y = (float)(IMinecraft.mc.getMainWindow().scaledHeight() + 25);
this.time = System.currentTimeMillis();
this.animation = new DecelerateAnimation(500, 1.0, Direction.FORWARDS);
this.yAnimation = new DecelerateAnimation(150, 1.0, Direction.FORWARDS);
this.time2 = 3;
this.text = var2;
this.content = var3;
this.time2 = var4;
}
public float draw(MatrixStack var1) {
float var2 = Fonts.msSemiBold[12].getWidth(this.text) + 28.0F;
float var3 = this.x - var2 / 2.0F;
Render2D.drawRoundedCorner(var3 - 53.0F, this.y + 15.0F, var2, 11.0F, 4.0F, (new Color(30, 30, 30, 210)).getRGB());
Render2D.drawRect(var3 - 36.1F, this.y + 18.0F, 0.5F, 5.5F, (new Color(200, 200, 200, 100)).getRGB());
Fonts.msSemiBold[12].drawString(var1, this.text, (double)(var3 - 31.0F), (double)(this.y + 19.0F), RenderUtil.reAlphaInt(-1, (int)(255.0F * this.alpha)));
if (this.text.contains("Включен")) {
Fonts.nursultan[16].drawString(var1, "K", (double)(var3 - 48.0F), (double)(this.y + 20.0F), -1);
} else {
Fonts.nursultan[16].drawString(var1, "J", (double)(var3 - 48.0F), (double)(this.y + 20.0F), -1);
}
if (this.text.contains("был забинжен на кнопку")) {
Fonts.nursultan[16].drawString(var1, "H", (double)(var3 - 48.0F), (double)(this.y + 20.0F), -1);
}
return 12.0F;
}
public float getX() {
return this.x;
}
public float getY() {
return this.y;
}
public void setX(float var1) {
this.x = var1;
}
public void setY(float var1) {
this.y = var1;
}
public String getText() {
return this.text;
}
public String getContent() {
return this.content;
}
public long getTime() {
return this.time;
}
}