Подписывайтесь на наш Telegram и не пропускайте важные новости! Перейти

ElytraSwap | Mcp 1.16.5

Начинающий
Начинающий
Статус
Оффлайн
Регистрация
12 Сен 2022
Сообщения
27
Реакции
0
ElytraSwap - Одевает элитры при включении модуля

Java:
Expand Collapse Copy
package wtf.chatgpt.client.modules.impl.player;

import net.minecraft.inventory.container.ClickType;
import net.minecraft.item.ItemStack;
import net.minecraft.item.Items;
import org.lwjgl.glfw.GLFW;
import wtf.chatgpt.client.event.Event;
import wtf.chatgpt.client.event.impl.player.EventUpdate;
import wtf.chatgpt.client.modules.Module;
import wtf.chatgpt.client.modules.ModuleAnnotation;
import wtf.chatgpt.client.modules.Type;
import wtf.chatgpt.client.util.ChatUtility;

@ModuleAnnotation(name = "ElytraSwap", type = Type.PLAYER)
public class ElytraSwap extends Module {
    private int item;
    public ElytraSwap() {
        this.bind = GLFW.GLFW_KEY_G;
    }

    @Override
    public void onEvent(Event event) {
        if (event instanceof EventUpdate) {
            if (!hasElytraEquipped()) {
                equipElytra();
            }
        }
    }

    @Override
    public boolean onEnable() {
        if (!hasElytraEquipped()) {
            equipElytra();
            if (!hasElytraEquipped()) {
                setState(false);
                return false;
            }
        }
        return super.onEnable();
    }

    @Override
    public void onDisable() {
        super.onDisable();
        unequipElytra();
    }

    private void equipElytra() {
        int elytra = getHotbarSlotOfItem();
        if (elytra != -1) {
            item = elytra;

            mc.playerController.windowClick(0, elytra, 1, ClickType.PICKUP, mc.player);
            mc.playerController.windowClick(0, 6, 1, ClickType.PICKUP, mc.player);
            mc.playerController.windowClick(0, item, 1, ClickType.PICKUP, mc.player);
        } else {
            sendMessage("Элитра не найдена!");
        }
    }

    private void unequipElytra() {
        int elytra = getHotbarSlotOfItem();
        if (elytra == -2) {
            mc.playerController.windowClick(0, 6, 1, ClickType.PICKUP, mc.player);
            mc.playerController.windowClick(0, this.item, 1, ClickType.PICKUP, mc.player);
            mc.playerController.windowClick(0, 6, 1, ClickType.PICKUP, mc.player);
        }
    }

    private boolean hasElytraEquipped() {
        for (ItemStack stack : mc.player.getArmorInventoryList()) {
            if (stack.getItem() == Items.ELYTRA) {
                return true;
            }
        }
        return false;
    }

    private static int getHotbarSlotOfItem() {
        for (ItemStack stack : mc.player.getArmorInventoryList()) {
            if (stack.getItem() == Items.ELYTRA) {
                return -2;
            }
        }
        int slot = -1;
        for (int i = 0; i < 36; i++) {
            ItemStack s = mc.player.inventory.getStackInSlot(i);
            if (s.getItem() == Items.ELYTRA) {
                slot = i;
                break;
            }
        }
        if (slot < 9 && slot != -1) {
            slot += 36;
        }
        return slot;
    }

    public void sendMessage(String message) {
        ChatUtility.addChatMessage(message);
    }
}
 
Обратите внимание, пользователь заблокирован на форуме. Не рекомендуется проводить сделки.
рикер не свинья?? он кодер!?!?!??!
 

Похожие темы

Ответы
15
Просмотры
817
Ответы
22
Просмотры
2K
Ответы
10
Просмотры
806
Назад
Сверху Снизу