Исходник AutoPotion / AutoBuff [ 1.20.2 MCP ]

Начинающий
Статус
Оффлайн
Регистрация
13 Сен 2023
Сообщения
145
Реакции[?]
1
Поинты[?]
1K

Перед прочтением основного контента ниже, пожалуйста, обратите внимание на обновление внутри секции Майна на нашем форуме. У нас появились:

  • бесплатные читы для Майнкрафт — любое использование на свой страх и риск;
  • маркетплейс Майнкрафт — абсолютно любая коммерция, связанная с игрой, за исключением продажи читов (аккаунты, предоставления услуг, поиск кодеров читов и так далее);
  • приватные читы для Minecraft — в этом разделе только платные хаки для игры, покупайте группу "Продавец" и выставляйте на продажу свой софт;
  • обсуждения и гайды — всё тот же раздел с вопросами, но теперь модернизированный: поиск нужных хаков, пати с игроками-читерами и другая полезная информация.

Спасибо!

Java:
@ModuleTarget(Name = "AutoBuff", Category = Module.Category.COMBAT)
public class AutoBuff extends Module {

    private final TimerUtil timer = new TimerUtil();
    private final BooleanSetting strength = new BooleanSetting("Strength", true);
    private final BooleanSetting speed = new BooleanSetting("Speed", true);
    private final BooleanSetting fireResistance = new BooleanSetting("FireResistance", true);

    public AutoBuff() {
        add(strength);
        add(speed);
        add(fireResistance);
    }

    @EventTarget
    public void onUpdate(PlayerUpdateEvent event) {
        if (mc.player == null || !timer.isDelayComplete(0)) return;

        for (int i = 0; i < 9; i++) {
            ItemStack stack = mc.player.getInventory().getItem(i);
            if (stack.getItem() instanceof SplashPotionItem) {
                if (strength.get() && shouldThrowPotion(stack, MobEffects.DAMAGE_BOOST)) {
                    mc.player.setXRot(90);
                    throwPotion(i);
                }
                if (speed.get() && shouldThrowPotion(stack, MobEffects.MOVEMENT_SPEED)) {
                    mc.player.setXRot(90);
                    throwPotion(i);
                }
                if (fireResistance.get() && shouldThrowPotion(stack, MobEffects.FIRE_RESISTANCE)) {
                    mc.player.setXRot(90);
                    throwPotion(i);
                }
            }
        }
    }

    private boolean shouldThrowPotion(ItemStack stack, MobEffect effect) {
        return !mc.player.hasEffect(effect) && hasPotionEffect(stack, effect);
    }

    private boolean hasPotionEffect(ItemStack stack, MobEffect effect) {
        if (stack.getItem() instanceof SplashPotionItem) {
            for (MobEffectInstance potionEffect : PotionUtils.getMobEffects(stack)) {
                if (potionEffect.getEffect() == effect) return true;
            }
        }
        return false;
    }

    private void throwPotion(int slot) {
        InventoryUtil.use(slot, -1);
        timer.reset();
    }
}
use():

Java:
    public static void use(int hotbarSlot, int inventorySlot) {
        if (hotbarSlot != -1) {
            int currentSlot = mc.player.getInventory().selected;
            mc.player.connection.send(new ServerboundSetCarriedItemPacket(hotbarSlot));
            mc.player.connection.send(new ServerboundUseItemPacket(InteractionHand.MAIN_HAND, 0));
            mc.player.connection.send(new ServerboundSetCarriedItemPacket(mc.player.getInventory().selected));
            mc.player.connection.send(new ServerboundSetCarriedItemPacket(currentSlot));
        } else if (inventorySlot != -1) {
            int currentSlot = mc.player.getInventory().selected;
            swapItems(inventorySlot, currentSlot);
            mc.player.connection.send(new ServerboundUseItemPacket(InteractionHand.MAIN_HAND, 0));
            swapItems(inventorySlot, currentSlot);
        }
    }
(можно использовать event.setPitch(90))
 
Последнее редактирование:
Начинающий
Статус
Оффлайн
Регистрация
3 Авг 2024
Сообщения
62
Реакции[?]
0
Поинты[?]
0
Java:
@ModuleTarget(Name = "AutoBuff", Category = Module.Category.COMBAT)
public class AutoBuff extends Module {

    private final TimerUtil timer = new TimerUtil();
    private final BooleanSetting strength = new BooleanSetting("Strength", true);
    private final BooleanSetting speed = new BooleanSetting("Speed", true);
    private final BooleanSetting fireResistance = new BooleanSetting("FireResistance", true);

    public AutoBuff() {
        add(strength);
        add(speed);
        add(fireResistance);
    }

    @EventTarget
    public void onUpdate(PlayerUpdateEvent event) {
        if (mc.player == null || !timer.isDelayComplete(0)) return;

        for (int i = 0; i < 9; i++) {
            ItemStack stack = mc.player.getInventory().getItem(i);
            if (stack.getItem() instanceof SplashPotionItem) {
                if (strength.get() && shouldThrowPotion(stack, MobEffects.DAMAGE_BOOST)) {
                    mc.player.setXRot(90);
                    throwPotion(i);
                }
                if (speed.get() && shouldThrowPotion(stack, MobEffects.MOVEMENT_SPEED)) {
                    mc.player.setXRot(90);
                    throwPotion(i);
                }
                if (fireResistance.get() && shouldThrowPotion(stack, MobEffects.FIRE_RESISTANCE)) {
                    mc.player.setXRot(90);
                    throwPotion(i);
                }
            }
        }
    }

    private boolean shouldThrowPotion(ItemStack stack, MobEffect effect) {
        return !mc.player.hasEffect(effect) && hasPotionEffect(stack, effect);
    }

    private boolean hasPotionEffect(ItemStack stack, MobEffect effect) {
        if (stack.getItem() instanceof SplashPotionItem) {
            for (MobEffectInstance potionEffect : PotionUtils.getMobEffects(stack)) {
                if (potionEffect.getEffect() == effect) return true;
            }
        }
        return false;
    }

    private void throwPotion(int slot) {
        InventoryUtil.use(slot, -1);
        timer.reset();
    }
}
use():

Java:
    public static void use(int hotbarSlot, int inventorySlot) {
        if (hotbarSlot != -1) {
            int currentSlot = mc.player.getInventory().selected;
            mc.player.connection.send(new ServerboundSetCarriedItemPacket(hotbarSlot));
            mc.player.connection.send(new ServerboundUseItemPacket(InteractionHand.MAIN_HAND, 0));
            mc.player.connection.send(new ServerboundSetCarriedItemPacket(mc.player.getInventory().selected));
            mc.player.connection.send(new ServerboundSetCarriedItemPacket(currentSlot));
        } else if (inventorySlot != -1) {
            int currentSlot = mc.player.getInventory().selected;
            swapItems(inventorySlot, currentSlot);
            mc.player.connection.send(new ServerboundUseItemPacket(InteractionHand.MAIN_HAND, 0));
            swapItems(inventorySlot, currentSlot);
        }
    }
(можно использовать event.setPitch(90))
годно очень годно спасибо большое спастил в свой thunderhack upgrade
 
Начинающий
Статус
Оффлайн
Регистрация
13 Сен 2023
Сообщения
145
Реакции[?]
1
Поинты[?]
1K
Начинающий
Статус
Оффлайн
Регистрация
3 Авг 2024
Сообщения
62
Реакции[?]
0
Поинты[?]
0
давай! Ждём новый тандер хак опен сурс на гитхабе. А то старый закрылся :roflanPominki:
да вопщем там уше хв фт ратация с югема там щяс вылажу все можете свои пасты закрывать так что поняли да ха-ха!
 
Начинающий
Статус
Оффлайн
Регистрация
13 Сен 2023
Сообщения
145
Реакции[?]
1
Поинты[?]
1K
да вопщем там уше хв фт ратация с югема там щяс вылажу все можете свои пасты закрывать так что поняли да ха-ха!
бегу удалять эти вонючие сурсы и качать твой божественный клиент!
 
Сверху Снизу