1
Пользователь
-
Автор темы
- #1
Перед прочтением основного контента ниже, пожалуйста, обратите внимание на обновление внутри секции Майна на нашем форуме. У нас появились:
- бесплатные читы для Майнкрафт — любое использование на свой страх и риск;
- маркетплейс Майнкрафт — абсолютно любая коммерция, связанная с игрой, за исключением продажи читов (аккаунты, предоставления услуг, поиск кодеров читов и так далее);
- приватные читы для Minecraft — в этом разделе только платные хаки для игры, покупайте группу "Продавец" и выставляйте на продажу свой софт;
- обсуждения и гайды — всё тот же раздел с вопросами, но теперь модернизированный: поиск нужных хаков, пати с игроками-читерами и другая полезная информация.
Спасибо!
NotificationRender.java:
package dev.etc.client.ui.notification;
import dev.etc.client.Baks;
import dev.etc.client.feature.impl.hud.Notifications;
import dev.etc.client.ui.clickgui.ClickGuiScreen;
import dev.etc.client.ui.clickgui.ClickGuiScreen;
import dev.etc.client.utils.Helper;
import dev.etc.client.utils.render.RenderUtils;
import dev.etc.client.utils.render.RoundedUtil;
import net.minecraft.client.Minecraft;
import net.minecraft.client.gui.ScaledResolution;
import net.minecraft.client.renderer.GlStateManager;
import net.minecraft.client.renderer.RenderHelper;
import net.minecraft.util.math.MathHelper;
import java.awt.*;
import java.util.List;
import java.util.concurrent.CopyOnWriteArrayList;
public final class NotificationRenderer
implements Helper {
private static final List<Notification> NOTIFICATIONS;
public static void queue(String title, String content, int second, NotificationMode type) {
NOTIFICATIONS.add(new Notification(title, content, type, second * 1000, Minecraft.getMinecraft().neverlose500_18));
}
public static void publish(ScaledResolution sr) {
if (Baks.instance.featureManager.getFeature(Notifications.class).isEnabled() && Notifications.notifMode.currentMode.equalsIgnoreCase("Rect") && !NotificationRenderer.mc.gameSettings.showDebugInfo && NotificationRenderer.mc.world != null && !(NotificationRenderer.mc.currentScreen instanceof ClickGuiScreen) && !NOTIFICATIONS.isEmpty()) {
int y = sr.getScaledHeight() - 40;
for (Notification notification : NOTIFICATIONS) {
double better = Minecraft.getMinecraft().neverlose500_18.getStringWidth(notification.getTitle() + " " + notification.getContent());
notification.notificationTimeBarWidth = !notification.getTimer().hasReached(notification.getTime() / 2) ? 360.0 : (double)MathHelper.EaseOutBack((float)notification.notificationTimeBarWidth, 0.0f, (float)(4.0 * Baks.deltaTime()));
if (!notification.getTimer().hasReached(notification.getTime())) {
notification.x = MathHelper.EaseOutBack((float)notification.x, (float)((double)notification.sr.getScaledWidth() - better), (float)(5.0 * Baks.deltaTime()));
notification.y = MathHelper.EaseOutBack((float)notification.y, y, (float)(5.0 * Baks.deltaTime()));
} else {
notification.x = MathHelper.EaseOutBack((float)notification.x, notification.sr.getScaledWidth() + 40, (float)(5.0 * Baks.deltaTime()));
notification.y = MathHelper.EaseOutBack((float)notification.y, y, (float)(5.0 * Baks.deltaTime()));
if (notification.x > (double)(notification.sr.getScaledWidth() + 24) && NotificationRenderer.mc.player != null && NotificationRenderer.mc.world != null && !NotificationRenderer.mc.gameSettings.showDebugInfo) {
NOTIFICATIONS.remove(notification);
}
}
GlStateManager.pushMatrix();
GlStateManager.disableBlend();
RenderUtils.drawrect(notification.x - 28.0, notification.y - 13.0, notification.sr.getScaledWidth(), notification.y + 12.0, new Color(20, 20, 20, 107).getRGB());
Minecraft.getMinecraft().notification.drawString(notification.getType().getIconString(), (float)(notification.x - 20.0), (float)(notification.y - 8.0), -1);
Minecraft.getMinecraft().neverlose900_16.drawString(notification.getContent(), (float)(notification.x + 10.0), (float)(notification.y - 2.0), -1);
GlStateManager.popMatrix();
y -= 30;
}
}
}
static {
NOTIFICATIONS = new CopyOnWriteArrayList<Notification>();
}
}