-
Автор темы
- #1
Перед прочтением основного контента ниже, пожалуйста, обратите внимание на обновление внутри секции Майна на нашем форуме. У нас появились:
- бесплатные читы для Майнкрафт — любое использование на свой страх и риск;
- маркетплейс Майнкрафт — абсолютно любая коммерция, связанная с игрой, за исключением продажи читов (аккаунты, предоставления услуг, поиск кодеров читов и так далее);
- приватные читы для Minecraft — в этом разделе только платные хаки для игры, покупайте группу "Продавец" и выставляйте на продажу свой софт;
- обсуждения и гайды — всё тот же раздел с вопросами, но теперь модернизированный: поиск нужных хаков, пати с игроками-читерами и другая полезная информация.
Спасибо!
HUD.java:
package im.expensive.functions.impl.render;
import com.google.common.eventbus.Subscribe;
import im.expensive.Expensive;
import im.expensive.events.EventDisplay;
import im.expensive.events.EventUpdate;
import im.expensive.functions.api.Category;
import im.expensive.functions.api.Function;
import im.expensive.functions.api.FunctionRegister;
import im.expensive.functions.settings.impl.BooleanSetting;
import im.expensive.functions.settings.impl.ModeListSetting;
import im.expensive.functions.settings.impl.ModeSetting;
import im.expensive.ui.display.impl.*;
import im.expensive.ui.styles.StyleManager;
import im.expensive.utils.drag.Dragging;
import im.expensive.utils.render.ColorUtils;
import lombok.AccessLevel;
import lombok.experimental.FieldDefaults;
@FieldDefaults(level = AccessLevel.PRIVATE)
@FunctionRegister(name = "HUD", type = Category.Render)
public class HUD extends Function {
private final ModeListSetting elements = new ModeListSetting("Элементы",
new BooleanSetting("Ватермарка", true),
new BooleanSetting("Список модулей", true),
new BooleanSetting("Координаты", true),
new BooleanSetting("Эффекты", true),
new BooleanSetting("Список модерации", true),
new BooleanSetting("Активные бинды", true),
new BooleanSetting("Активный таргет", true),
new BooleanSetting("Броня", true),
new BooleanSetting("Нажатие клавиш", true),
new BooleanSetting("Трекер мыши", true),
new BooleanSetting("Нотификации", true),
new BooleanSetting("Инвентарь", true)
);
private final ModeSetting thudMode = new ModeSetting("Режим таргет худа", "Обычный", "Обычный", "Новый");
private final ModeSetting arraylistmode = new ModeSetting("Режим списка функций", "Обычный", "Обычный", "Новый");
private final BooleanSetting viewOnlyHave = new BooleanSetting("Показывать если есть", false);
final WatermarkRenderer watermarkRenderer;
final ArrayListRenderer arrayListRenderer;
final CoordsRenderer coordsRenderer;
final PotionRenderer potionRenderer;
final KeyBindRenderer keyBindRenderer;
final TargetInfoRenderer targetInfoRenderer;
final ArmorRenderer armorRenderer;
final StaffListRenderer staffListRenderer;
final KeyStrokesRenderer keyStrokesRenderer;
final MouseTrackerRenderer mouseTrackerRenderer;
final NotificationsRenderer notificationsRenderer;
final SeeInventoryRenderer seeInventoryRenderer;
final TargetInfoRenderer2 targetInfoRenderer2;
@Subscribe
private void onUpdate(EventUpdate e) {
if (mc.gameSettings.showDebugInfo) {
return;
}
if (elements.getValueByName("Список модерации").get()) staffListRenderer.update(e);
if (elements.getValueByName("Список модулей").get()) arrayListRenderer.update(e);
}
@Subscribe
private void onDisplay(EventDisplay e) {
if (mc.gameSettings.showDebugInfo || e.getType() != EventDisplay.Type.POST) {
return;
}
if (elements.getValueByName("Координаты").get()) coordsRenderer.render(e);
if (elements.getValueByName("Эффекты").get()) {
if (!viewOnlyHave.get() || !potionRenderer.isEmpty()) {
potionRenderer.render(e);
}
}
if (elements.getValueByName("Ватермарка").get()) watermarkRenderer.render(e);
if (!viewOnlyHave.get() || !arrayListRenderer.isEmpty()) arrayListRenderer.render(e);
if (elements.getValueByName("Список модулей").get()) arrayListRenderer.render(e);
if (!viewOnlyHave.get() || !keyBindRenderer.isEmpty()) {
if (elements.getValueByName("Активные бинды").get()) keyBindRenderer.render(e);
}
if (!viewOnlyHave.get() || !staffListRenderer.isEmpty()) {
if (elements.getValueByName("Список модерации").get()) staffListRenderer.render(e);
}
if (elements.getValueByName("Трекер мыши").get()) mouseTrackerRenderer.render(e);
if (elements.getValueByName("Нажатие клавиш").get()) keyStrokesRenderer.render(e);
if (elements.getValueByName("Активный таргет").get()) {
if (thudMode.is("Обычный")) {
targetInfoRenderer.render(e);
} else if (thudMode.is("Новый")) {
targetInfoRenderer2.render(e);
}
}
if (!viewOnlyHave.get() || !armorRenderer.isEmpty()) {
armorRenderer.render(e);
}
if (elements.getValueByName("Инвентарь").get()) seeInventoryRenderer.render(e);
}
public HUD() {
watermarkRenderer = new WatermarkRenderer();
arrayListRenderer = new ArrayListRenderer();
coordsRenderer = new CoordsRenderer();
notificationsRenderer = new NotificationsRenderer();
Dragging potions = Expensive.getInstance().createDrag(this, "Зелья", 278, 5);
armorRenderer = new ArmorRenderer();
Dragging keyBinds = Expensive.getInstance().createDrag(this, "Кейбинды", 185, 5);
Dragging dragging = Expensive.getInstance().createDrag(this, "TargetHUD", 74, 128);
Dragging staffList = Expensive.getInstance().createDrag(this, "Список администрации", 96, 5);
Dragging keystrokes = Expensive.getInstance().createDrag(this, "Кейстрокс", 132, 5);
Dragging mousedrag = Expensive.getInstance().createDrag(this, "Трекер мыши", 145, 5);
Dragging dragseeinv = Expensive.getInstance().createDrag(this, "Инвентарь", 163, 5);
potionRenderer = new PotionRenderer(potions);
keyBindRenderer = new KeyBindRenderer(keyBinds);
staffListRenderer = new StaffListRenderer(staffList);
targetInfoRenderer = new TargetInfoRenderer(dragging);
targetInfoRenderer2 = new TargetInfoRenderer2(dragging);
keyStrokesRenderer = new KeyStrokesRenderer(keystrokes);
mouseTrackerRenderer = new MouseTrackerRenderer(mousedrag);
seeInventoryRenderer = new SeeInventoryRenderer(dragseeinv);
addSettings(elements, viewOnlyHave, thudMode);
}
public static int getColor(int index) {
StyleManager styleManager = Expensive.getInstance().getStyleManager();
return ColorUtils.gradient(styleManager.getCurrentStyle().getFirstColor().getRGB(), styleManager.getCurrentStyle().getSecondColor().getRGB(), index * 16, 10);
}
public static int getColor(int index, float mult) {
StyleManager styleManager = Expensive.getInstance().getStyleManager();
return ColorUtils.gradient(styleManager.getCurrentStyle().getFirstColor().getRGB(), styleManager.getCurrentStyle().getSecondColor().getRGB(), (int) (index * mult), 10);
}
public static int getColor(int firstColor, int secondColor, int index, float mult) {
return ColorUtils.gradient(firstColor, secondColor, (int) (index * mult), 10);
}
}