-
Автор темы
- #1
Перед прочтением основного контента ниже, пожалуйста, обратите внимание на обновление внутри секции Майна на нашем форуме. У нас появились:
- бесплатные читы для Майнкрафт — любое использование на свой страх и риск;
- маркетплейс Майнкрафт — абсолютно любая коммерция, связанная с игрой, за исключением продажи читов (аккаунты, предоставления услуг, поиск кодеров читов и так далее);
- приватные читы для Minecraft — в этом разделе только платные хаки для игры, покупайте группу "Продавец" и выставляйте на продажу свой софт;
- обсуждения и гайды — всё тот же раздел с вопросами, но теперь модернизированный: поиск нужных хаков, пати с игроками-читерами и другая полезная информация.
Спасибо!
Простой ArrayList для вашего клиента 1.16.5 Mcp
Пожалуйста, авторизуйтесь для просмотра ссылки.
Java:
package wtf.chatgpt.client.modules.impl.render;
import com.google.common.collect.Lists;
import net.minecraft.client.Minecraft;
import net.minecraft.client.entity.player.ClientPlayerEntity;
import org.lwjgl.glfw.GLFW;
import wtf.chatgpt.client.Main;
import wtf.chatgpt.client.event.Event;
import wtf.chatgpt.client.event.impl.render.EventDraw;
import wtf.chatgpt.client.font.FontUtils;
import wtf.chatgpt.client.font.Fonts;
import wtf.chatgpt.client.modules.Module;
import wtf.chatgpt.client.modules.ModuleAnnotation;
import wtf.chatgpt.client.modules.Type;
import wtf.chatgpt.client.modules.settings.imp.BooleanSetting;
import java.awt.*;
import java.util.Comparator;
import java.util.List;
import java.util.Locale;
import static wtf.chatgpt.client.util.RenderUtil.drawGlow;
import static wtf.chatgpt.client.util.RenderUtil.drawRoundedRect;
@ModuleAnnotation(name = "ArrayList", type = Type.RENDER)
public class ArrayList extends Module {
private final BooleanSetting hideRender = new BooleanSetting("Hide Render", false);
public ArrayList() {
add(hideRender);
bind = GLFW.GLFW_KEY_I;
}
@Override
public void onEvent(Event event) {
if (event instanceof EventDraw) {
drawArrayList((EventDraw) event);
}
}
private void drawArrayList(EventDraw eventDraw) {
List<Module> activeModules = getSortedActiveModules();
float offsetY = 0;
boolean hasActiveEffects = hasActiveEffects();
for (Module module : activeModules) {
if (!module.isState() || shouldHideModuleRender(module)) continue;
String moduleName = module.getName().toLowerCase();
float moduleWidth = FontUtils.getFontRenderer(Fonts.OPEN_SANS, 17).getStringWidth(moduleName) + 16;
offsetY = renderModule(eventDraw, moduleName, moduleWidth, offsetY, hasActiveEffects);
}
}
private float renderModule(EventDraw eventDraw, String moduleName, float moduleWidth, float offsetY, boolean hasActiveEffects) {
float moduleHeight = 16;
float moduleBgX = eventDraw.scaledResolution.getScaledWidth() - moduleWidth + 2.5F;
float moduleBgY = hasActiveEffects ? offsetY + 30 : offsetY + 5;
float moduleBgWidth = moduleWidth - 8;
float moduleBgHeight = moduleHeight - 2;
drawGlow(moduleBgX - 15, moduleBgY - 20, moduleBgWidth, 50, 15, new Color(0, 0, 0, 54));
drawRoundedRect(moduleBgX, moduleBgY, moduleBgWidth, moduleBgHeight, 1, new Color(25, 25, 25));
FontUtils.getFontRenderer(Fonts.OPEN_SANS, 17).drawString(eventDraw.matrixStack, moduleName, moduleBgX + 3, moduleBgY + 3, -1);
return offsetY + 12;
}
private List<Module> getSortedActiveModules() {
List<Module> activeModules = Lists.newArrayList(Main.Manager.getActivatedModules());
activeModules.sort(Comparator.comparing(module -> -FontUtils.getFontRenderer(Fonts.OPEN_SANS, 17).getStringWidth(module.getName().toLowerCase(Locale.ROOT))));
return activeModules;
}
private boolean shouldHideModuleRender(Module module) {
ModuleAnnotation moduleAnnotation = module.getClass().getAnnotation(ModuleAnnotation.class);
return moduleAnnotation != null && hideRender.get() && moduleAnnotation.type() == Type.RENDER;
}
private boolean hasActiveEffects() {
ClientPlayerEntity player = Minecraft.getInstance().player;
return player != null && !player.getActivePotionEffects().isEmpty();
}
}
Последнее редактирование: