• Я зарабатываю 100 000 RUB / месяц на этом сайте!

    А знаешь как? Я всего-лишь публикую (создаю темы), а админ мне платит. Трачу деньги на мороженое, робуксы и сервера в Minecraft. А ещё на паль из Китая. 

    Хочешь так же? Пиши и узнавай условия: https://t.me/alex_redact
    Реклама: https://t.me/yougame_official

Часть функционала Elytra Helper Excellent Recode

Начинающий
Начинающий
Статус
Оффлайн
Регистрация
12 Июн 2025
Сообщения
73
Реакции
0
Выберите загрузчик игры
  1. Vanilla
Elytra Helper:
Expand Collapse Copy
package by.oblamovvv.client.managers.module.impl.player;

import by.oblamovvv.client.api.events.orbit.EventHandler;
import by.oblamovvv.client.managers.events.input.KeyboardPressEvent;
import by.oblamovvv.client.managers.events.input.MousePressEvent;
import by.oblamovvv.client.managers.events.player.UpdateEvent;
import by.oblamovvv.client.managers.module.Category;
import by.oblamovvv.client.managers.module.Module;
import by.oblamovvv.client.managers.module.ModuleInfo;
import by.oblamovvv.client.managers.module.settings.impl.BindSetting;
import by.oblamovvv.client.managers.module.settings.impl.BooleanSetting;
import by.oblamovvv.client.managers.module.settings.impl.SliderSetting;
import by.oblamovvv.client.utils.chat.ChatUtil;
import by.oblamovvv.client.utils.player.InvUtil;
import by.oblamovvv.common.impl.taskript.Script;
import by.oblamovvv.lib.util.time.StopWatch;
import lombok.AccessLevel;
import lombok.Getter;
import lombok.experimental.Accessors;
import lombok.experimental.FieldDefaults;
import net.minecraft.inventory.EquipmentSlotType;
import net.minecraft.inventory.container.Slot;
import net.minecraft.item.ItemStack;
import net.minecraft.item.Items;
import net.minecraft.network.play.client.CEntityActionPacket;
import net.minecraft.util.text.TextFormatting;

import java.util.HashMap;
import java.util.Map;

@Getter
@Accessors(fluent = true)
@FieldDefaults(level = AccessLevel.PRIVATE)
@ModuleInfo(name = "ElytraHelper", category = Category.PLAYER)
public class ElytraHelper extends Module {
    private final Map<String, BindSetting> keyBindings = new HashMap<>();
    private final SliderSetting swapDelay = new SliderSetting(this, "Задержка свапа", 2, 0, 10, 1);
    private final BooleanSetting autoFly = new BooleanSetting(this, "Авто взлёт", true);
    private final BooleanSetting autoJump = new BooleanSetting(this, "Авто прыжок", false);
    private final BooleanSetting autoFireWork = new BooleanSetting(this, "Авто фейер", false);
    private final SliderSetting autoFireWorkSpeed = new SliderSetting(this, "Задержка фейер", 650f, 300f, 2000f, 50f)
            .setVisible(() -> autoFireWork.getValue());
   
    private final Script script = new Script();
    private final StopWatch timerUtil = new StopWatch();
    private final StopWatch stopWatch = new StopWatch();
    private ItemStack oldStack = null;

    public ElytraHelper() {
        keyBindings.put("swap", new BindSetting(this, "Свап элитры"));
        keyBindings.put("firework", new BindSetting(this, "Фейерверк"));
    }

    @EventHandler
    public void onKeyboardPress(KeyboardPressEvent event) {
        if (event.getScreen() != null) return;

        keyBindings.forEach((key, bindSetting) -> {
            if (event.isKey(bindSetting.getValue())) {
                performAction(key);
            }
        });
    }

    @EventHandler
    public void onMousePress(MousePressEvent event) {
        if (event.getScreen() != null) return;

        keyBindings.forEach((key, bindSetting) -> {
            if (event.isKey(bindSetting.getValue())) {
                performAction(key);
            }
        });
    }

    @EventHandler
    public void onUpdate(UpdateEvent e) {
        script.update();
       
        if (mc.player.isElytraFlying() && autoFireWork.getValue() && timerUtil.finished(autoFireWorkSpeed.getValue().longValue())) {
            if (mc.player.isHandActive()) return;
            useFirework();
            timerUtil.reset();
        }
       
        if (autoJump.getValue() && mc.player.getItemStackFromSlot(EquipmentSlotType.CHEST).getItem() == Items.ELYTRA) {
            if (mc.player.isOnGround() && !mc.gameSettings.keyBindJump.isKeyDown()) {
                mc.player.jump();
                return;
            }
        }
       
        if (autoFly.getValue() && mc.player.getItemStackFromSlot(EquipmentSlotType.CHEST).getItem() == Items.ELYTRA) {
            if (mc.player.fallDistance != 0.0F && !mc.player.isElytraFlying()) {
                mc.player.startFallFlying();
                mc.player.connection.sendPacket(new CEntityActionPacket(mc.player, CEntityActionPacket.Action.START_FALL_FLYING));
            }
        }
    }

    private void performAction(String action) {
        switch (action) {
            case "swap":
                if (stopWatch.finished(swapDelay.getValue().intValue() * 225)) {
                    swapElytra();
                    stopWatch.reset();
                }
                break;
            case "firework":
                ItemStack chestItem = mc.player.getItemStackFromSlot(EquipmentSlotType.CHEST);
                if (chestItem.getItem() == Items.ELYTRA) {
                    useFirework();
                }
                break;
        }
    }

    private void swapElytra() {
        ItemStack chestItem = mc.player.getItemStackFromSlot(EquipmentSlotType.CHEST);
     
        Slot elytraSlot = InvUtil.getSlot(Items.ELYTRA);
        if (elytraSlot == null) {
            ChatUtil.addTextWithError("У вас отсутствуют " + TextFormatting.RED + "элитры");
            return;
        }
       
        if (reasonToEquipElytra(chestItem)) {
            ItemStack currentChest = mc.player.getItemStackFromSlot(EquipmentSlotType.CHEST);
            this.oldStack = currentChest.copy();
           
            InvUtil.moveItem(elytraSlot.slotNumber, 6);
        } else if (this.oldStack != null) {
            Slot oldStackSlot = InvUtil.getSlot(this.oldStack.getItem());
            if (oldStackSlot != null) {
                InvUtil.moveItem(oldStackSlot.slotNumber, 6);
            }
        }
    }

    private void useFirework() {
        Slot fireworkSlot = InvUtil.getSlot(Items.FIREWORK_ROCKET);
        if (fireworkSlot == null) {
            ChatUtil.addTextWithError("У вас отсутствуют " + TextFormatting.RED + "фейерверки");
        } else {
            InvUtil.findItemAndThrow(Items.FIREWORK_ROCKET, mc.player.rotationYaw, mc.player.rotationPitch);
        }
    }

    private boolean reasonToEquipElytra(ItemStack stack) {
        return stack.getItem() != Items.ELYTRA;
    }
   
    private int findFreeSlot() {
        for (int i = 9; i < 36; i++) {
            if (mc.player.inventory.getStackInSlot(i).isEmpty()) {
                return i;
            }
        }
        return -1;
    }
}
Элитра хелпер все хорошо свапает все работает, этот будет лучше чем деф с экслента
 
Последнее редактирование:
Обратите внимание, пользователь заблокирован на форуме. Не рекомендуется проводить сделки.
так ты не сделал сеттинг что бы можно было выбрать в какой слот будет браться феерверк
 
по импорту by.oblamovvv. уже сразу можно понять что это пиздец через чат гпт
 
по импорту by.oblamovvv. уже сразу можно понять что это пиздец через чат гпт
1753757313192.png
1753757399580.png

по импорту by.oblamovvv. уже сразу можно понять что это пиздец через чат гпт
понял тебя родной)),рекод на 3.1
так ты не сделал сеттинг что бы можно было выбрать в какой слот будет браться феерверк
а надо? если че могу сделать
 
Назад
Сверху Снизу